import React, { Component } from 'react'; import { Form } from '@ant-design/compatible'; import '@ant-design/compatible/assets/index.css'; import { Layout, Spin, Button, message } from 'antd'; import CommonListEvent from '@/components/Common/CommonListEvent';/* 继承销售模块业务功能 */ import * as commonFunc from '@/components/Common/commonFunc';/* 通用单据方法 */ /* 通用单据方法 */ import StaticEditTable from '@/components/Common/CommonTable';/* 可编辑表格 */ import CommonBase from '@/components/Common/CommonBase';/* 获取配置及数据 */ import * as commonBusiness from '@/components/Common/commonBusiness';/* 单据业务功能 */ import SearchComponent from '@/components/Common/SearchComponent';/* 搜索组件 */ import * as config from '@/utils/config'; import * as commonUtils from '@/utils/utils'; import Eject from '@/assets/eject.svg'; import StaticEditTree from '@/components/Common/Tree/StaticTree'; import Close from '@/assets/close.svg'; import styles from "./index.less"; const { Content } = Layout; /** 此组件是选择材料通用窗体 */ class CommonList extends Component { constructor(props) { super(props); this.state = { btnList: [], openFlag: false, }; this.pathname = location.pathname; } componentWillReceiveProps(nextProps) { const { masterConfig, gdsjurisdiction, } = nextProps; if (masterConfig) { // 过滤存储需要展示的按钮 let btnList = masterConfig.gdsconfigformslave.filter(item => item.bVisible && !item.sName && item.showName && item.sControlName); btnList = btnList.filter(item => gdsjurisdiction.findIndex(child => item.sControlName === child.sAction) < 0 && (item.sControlName.includes('BtnAdd') || item.sControlName.includes('BtnCopyTo'))); // 过滤权限 this.setState({ btnList }); } if (this.state.openFlag && this.pathname === location.pathname) { let dom = {}; if (commonUtils.isNotEmptyArr(document.getElementsByClassName('modalMaterials')) && document.getElementsByClassName('modalMaterials').length > 0) { // eslint-disable-next-line prefer-destructuring dom = document.getElementsByClassName('modalMaterials')[0]; dom.parentElement.parentElement.style.display = 'block'; this.setState({ openFlag: false }); } else { this.setState({ openFlag: false }, () => { this.props.onButtonClick('BtnRefresh'); }); } } } // onOpenNewTab = () => { // this.setState({ openFlag: true }); // this.props.onOpenNewTab(); // } onOpenNewTab = () => { let dom = {}; if (commonUtils.isNotEmptyArr(document.getElementsByClassName('modalMaterials')) && document.getElementsByClassName('modalMaterials').length > 0) { // eslint-disable-next-line prefer-destructuring dom = document.getElementsByClassName('modalMaterials')[0]; dom.parentElement.parentElement.style.display = 'none'; this.setState({ openFlag: true }); } else { /* BtnPopup自定义按钮弹窗 */ this.setState({ openFlag: true }); this.props.onOpenNewTab(); } } // ----------------------------数据修改回带end ---------------------------- // handleEject = (e) => { const filterTree = e.currentTarget.parentNode;/* 获取当前页签下的树组件 */ if (filterTree.attributes.class.value.indexOf('xly-eject') > -1) { // eslint-disable-next-line no-unused-expressions filterTree.nextSibling.style.display = 'block'; } else if (filterTree.attributes.class.value.indexOf('xly-tree-close') > -1) { // eslint-disable-next-line no-unused-expressions filterTree.parentNode.style.display = 'none'; } }; /** 树节点选中 */ handleTreeSelect = (name, checkedKeys, e) => { this.props.onSelect(name, checkedKeys, e); /* 调用CommonListEvent通用处理 */ }; /** 确认下单 */ handleSelect = () => { const { slaveSelectedData, app, slaveSelectedRowKeys, slaveData, } = this.props; let newSlaveSelectedData = []; if (commonUtils.isNotEmptyArr(slaveSelectedData)) { newSlaveSelectedData = slaveSelectedData; } else if (commonUtils.isNotEmptyArr(slaveData) && commonUtils.isNotEmptyArr(slaveSelectedRowKeys)) { newSlaveSelectedData = slaveData.filter(item => slaveSelectedRowKeys.includes(item.sSlaveId)); } this.props.app.currentPane.select(app.currentPane.name, app.currentPane.config, newSlaveSelectedData); this.props.app.currentPane.selectCancel(app.currentPane.name); }; handleDoubleClickSelect = () => { const { slaveConfig } = this.props; if (commonUtils.isNotEmptyObject(slaveConfig) && !slaveConfig.bMutiSelect) { this.handleSelect(); } } /** 关闭 */ handleCancelModal = () => { const { app } = this.props; this.props.app.currentPane.selectCancel(app.currentPane.name); }; // ----------------------------数据修改回带end ---------------------------- // copyTo = (sActiveId) => { const { dispatch, masterConfig, masterData, contactData, addressData, slavePagination, sisproductclassifyProcessClassifyData, machineData, assortData, outsideData, processstyleData, processApsRuleData, eleemployeeData, elemachineData, eleknifemouldproductData, eleknifemouldfileData, eleteststandarditemData, slaveSelectedData, } = this.props; const copyTo = {}; copyTo.name = 'BtnCopyTo'; const copyToConfig = masterConfig.gdsconfigformslave.filter(item => item.sControlName.includes(copyTo.name)); copyTo.config = copyToConfig; copyTo.masterData = slaveSelectedData[0] || masterData; copyTo.slaveData = slaveSelectedData; copyTo.supplyData = []; copyTo.stockData = []; copyTo.contactData = contactData; copyTo.addressData = addressData; copyTo.picFileData = []; copyTo.customerInfoData = []; copyTo.sisproductclassifyProcessClassifyData = sisproductclassifyProcessClassifyData; copyTo.machineData = machineData; copyTo.assortData = assortData; copyTo.outsideData = outsideData; copyTo.processstyleData = processstyleData; copyTo.processApsRuleData = processApsRuleData; copyTo.eleemployeeData = eleemployeeData; copyTo.elemachineData = elemachineData; copyTo.eleknifemouldproductData = eleknifemouldproductData; copyTo.eleknifemouldfileData = eleknifemouldfileData; copyTo.eleteststandarditemData = eleteststandarditemData; dispatch({ type: 'content/onRouter', payload: { url: `${config.server_host}gdsmodule/getGdsmoduleById/${sActiveId}?sModelsId=${sActiveId}`, /* 接口地址 */ copyTo, pages: slavePagination, newRecordFlag: `NewRecord_${sActiveId}`, }, }); } render() { const { pageLoading } = this.props; return (