/* eslint-disable */ /* eslint-disable prefer-destructuring */ import React, { Component } from 'react'; import { UploadOutlined } from '@ant-design/icons'; import { Form } from '@ant-design/compatible'; // import '@ant-design/compatible/assets/index.css'; import { Row, Col, Checkbox, Layout, Spin, Tabs, Avatar, Button, Table, Input, Upload } from 'antd-v4'; import { message } from '@/utils/common/message'; import * as commonFunc from '@/components/Common/commonFunc';/* 通用单据方法 */ /* 通用单据方法 */ import Toolbar from '@/components/Common/ToolBar/ToolBarNew'; import StaticEditTable from '@/components/Common/CommonTable';/* 可编辑表格 */ import styles from '@/index.less'; import CommonView from '@/components/Common/CommonView'; import CommonViewTable from '@/components/Common/CommonViewTable'; import CommonBase from '@/components/Common/CommonBase';/* 获取配置及数据 */ import * as commonBusiness from '@/components/Common/commonBusiness';/* 单据业务功能 */ import commonConfig from '@/utils/config'; import * as commonUtils from '@/utils/utils';/* 通用方法 */ import * as commonServices from '@/services/services';/* 服务类 */ import AddIcon from '@/assets/add.svg'; import DisableAddIcon from '@/assets/disableadd.svg'; import CopyIcon from '@/assets/copy.svg'; import CopyAllIcon from '@/assets/copyall.svg'; import DisableCopyIcon from '@/assets/disablecopy.svg'; import DisableCopyAllIcon from '@/assets/disablecopyall.svg'; import DelIcon from '@/assets/delete.svg'; import DisableDelIcon from '@/assets/disabledelete.svg';/* 获取配置及数据 */ import MaterialRemarkIcon from '@/assets/materialremark.svg'; import DisMaRemarklIcon from '@/assets/disablematerialremark.svg'; import ProcessIcon from '@/assets/process.svg'; import DisableProcessIcon from '@/assets/disableprocess.svg'; import MateriallIcon from '@/assets/material.svg'; import DisableMateriallIcon from '@/assets/disablematerial.svg'; import AntdDraggableModal from '@/components/Common/AntdDraggableModal'; import CommonListSelect from '@/components/Common/CommonListSelect'; import CommonListSelectTree from '@/components/Common/CommonListSelectTree'; import StaticEditTree from '@/components/Common/Tree/StaticTree'; import AddChildIcon from '@/assets/addChild.svg'; import DisableAddChildIcon from '@/assets/disableaddChild.svg'; import ContextMenuModal from '@/components/Common/ContextMenuModal'; import CommonSubSales from '@/components/Common/CommonSubBillEvent'; import CommonExamInfo from '@/components/Common/CommonExamInfo'; /* 继承销售模块业务功能 */ const width = '18px'; const height = '18px'; const setAdd = { title: '增加', width: { width }, height: { height }, img: 添加, disableimg: 删除, }; const setAddChild = { title: '增加', width: { width }, height: { height }, img: 添加, disableimg: 添加, }; const setCopy = { title: '复制', width: { width }, height: { height }, img: 复制, disableimg: 复制, }; const setCopyAll = { title: '复制部件', width: { width }, height: { height }, img: 复制部件, disableimg: 复制部件, }; const setDelete = { title: '删除', width: { width }, height: { height }, img: 删除, disableimg: 删除, }; const setProcess = { title: '工序', width: { width }, height: { height }, img: 选择工序, disableimg: 删除, }; const setMaterial = { title: '材料', width: { width }, height: { height }, img: 选择材料, disableimg: 选择材料, }; const { Header, Content, Sider } = Layout; const { TabPane } = Tabs; // const { confirm } = Modal; /* 嵌套子表单据 */ class CommonSubBill extends Component { constructor(props) { super(props); this.state = { slaveChildHeight: 0, }; } componentDidUpdate() { let topTableHeight = (document.querySelector('.tabHeight')?.getBoundingClientRect?.()?.height) || 0; const CommonViewClassHeight = (document.querySelector('.CommonViewClass')?.getBoundingClientRect?.()?.height) || 0; const height = (window.innerHeight - topTableHeight - CommonViewClassHeight - 200); if (height !== this.state.slaveChildHeight) { this.setState({ slaveChildHeight: height }); } } /** 行选择 */ onRowClick = (name, record) => { if (name === 'control') { this.props.onTableSelectRowChange(name, [record.sId]); } }; onChange = (checkedValues) => { this.props.onSaveState({ dataPersonArray: checkedValues, }); }; getMenuStatus = (menu) => { if (menu.sControlName === 'BtnImport') { return !this.props.enabled; } }; /** 上传后执行函数 */ handleUploadChangeFile = async (info) => { const { file } = info; const { masterData, sModelsId, app, token, sModelsType, masterConfig, } = this.props; if (file.response) { if (file.response.code === 1) { /* 数据查询成功 */ const errorInfo = file.response.dataset.rows[0].nocanbeInsert; if (commonUtils.isNotEmptyObject(errorInfo)) { message.error(errorInfo[0].sReason); return; } const name = masterConfig.gdsconfigformslave.find(item => item.sControlName.includes('ImportData') && item.bVisible)?.sControlName; const temp = name?.split('_')[1] || 'slave'; /** * 按照slave处理 */ const { [`${temp}Data`]: tempData, [`${temp}Config`]: tempConfig, [`${temp}DelData`]: tempDelDataOld } = this.props; /* 把之前存放的数据删除 */ const tempDelData = commonUtils.isNotEmptyArr(tempDelDataOld) ? tempDelDataOld : []; if (commonUtils.isNotEmptyArr(tempData)) { tempData.forEach((item) => { if (commonUtils.isEmptyObject(item.handleType)) { item.handleType = 'del'; tempDelData.push(item); } }); } const returnData = file.response.dataset.rows[0].canbeInsert; let iCount = 0; let productIdDropDown; if (productIdDropDown === undefined && commonUtils.isNotEmptyArr(returnData)) { /* 无论导入多少条数据 都只调用1次接口,获取产品下拉数据集 */ const iIndex = tempConfig?.gdsconfigformslave.findIndex(item => item.sName === 'sProductName'); if (iIndex > -1) { const sqlDropDownData = await this.props.getSqlDropDownData(sModelsId, temp, tempConfig.gdsconfigformslave[iIndex], returnData[0]); productIdDropDown = sqlDropDownData.dropDownData; } } for (let tableDataRow of returnData ) { tableDataRow.handleType = 'add'; tableDataRow.sId = commonUtils.createSid(); tableDataRow.sParentId = masterData.sId; tableDataRow.key = tableDataRow.sId; /* 若导入模板没有序号,则序号从1自增 */ if (commonUtils.isEmptyObject(tableDataRow.iOrder)) { iCount += 1; tableDataRow.iOrder = iCount; } for (const child of Object.keys(tableDataRow)) { const index = child.indexOf('_sRealValue_'); if (index > -1) { const property = child.substring(0, child.length - 12); tableDataRow[property] = tableDataRow[child]; } } if (productIdDropDown !== undefined) { const iProductIdIndex = productIdDropDown.findIndex(item => (item.sId === tableDataRow.sProductId || item.sNId === tableDataRow.sProductId) && item.sProductStyle === tableDataRow.sProductStyle); if (iProductIdIndex === -1 && commonUtils.isNotEmptyObject(sModelsType) && sModelsType.includes('sales/salesOrder')) { /* 只有销售模块生成新产品 盘点 ,期间 不生成新的产品 */ tableDataRow.sProductId = tableDataRow.sProductName; tableDataRow.sProductInfo = JSON.stringify({ sProductId: tableDataRow.sProductName, sProductName: tableDataRow.sProductName, sProductStyle: tableDataRow.sProductStyle, sProductUnit: tableDataRow.sProductUnit, sProductNo: tableDataRow.sProductNo, sCustomerProductNo: tableDataRow.sCustomerProductNo, sProductClassifyId: tableDataRow.sProductClassifyId, sProductClassifyName: tableDataRow.sProductClassifyName, }); } } // if (!tableDataRow.dNProductPrice) { // tableDataRow.dNProductPrice = tableDataRow.dProductForeignPrice; // } // const models = sModelsType.includes('sales/') || sModelsType.includes('manufacture/') || sModelsType.includes('quotation/') || sModelsType.includes('productStock/') ? 'Product' : 'Materials'; // if (sModelsType.includes('purchase/') || sModelsType.includes('quotation/') || sModelsType.includes('manufacture/') || sModelsType.includes('materialsStock/') || sModelsType.includes('outside/')) { // tableDataRow = await this.props.onMaterialsChange(tableDataRow, sModelsId, masterData, {}, 'dAuxiliaryQty', app, token, models); // tableDataRow = commonBusiness.getCalculateAllMoney(app, models, 'dAuxiliaryQty', masterData, tableDataRow); // } else { // tableDataRow = commonBusiness.getCalculateAllMoney(app, models, 'dProductQty', masterData, tableDataRow); // } }; this.props.onSaveState({ [`${temp}Data`]: returnData, [`${temp}DelData`]: tempDelData }); } else { /* 失败s */ this.props.getServiceError(file.response); } } }; handleUploadPropsSales = () => { const { masterData, sModelsType } = this.props; if (commonUtils.isNotEmptyObject(masterData)) { const sCustomerId = commonUtils.isEmptyStr(masterData.sCustomerId) ? undefined : masterData.sCustomerId; let existCustomerId = false; if (sModelsType.includes('sales/') && commonUtils.isNotEmptyStr(sCustomerId)) { existCustomerId = true; } else if (!sModelsType.includes('sales/')) { existCustomerId = true; } return { disabled: !this.props.enabled || !existCustomerId, /* 是否可用 */ style: { display: commonUtils.convertBooleanToDisplayBlock(true) }, /* 是否显示 */ }; } }; /** 上传后执行函数 */ handleBeforeUpload = () => { // const isLt10M = file.size / 1024 / 1024 < 10; // if (!isLt10M) { // message.error(commonFunc.showMessage(this.props.app.commonConst, 'picMax'));/* 图片大小需小于10MB! */ // } }; /** 图片上传后执行函数 */ handleUploadChange = (info, name) => { const { file } = info; if (file.response && file.response.code === 1) { const sPicturePath = file.response.dataset.rows[0].savePathStr; const spicture = sPicturePath; const uploadInfo = { sPicturePath, sFileName: file.name, }; const { [`${name}Column`]: tableColumn, masterData, [`${name}Data`]: tableData } = this.props; if (commonUtils.isNotEmptyArr(tableData) && commonUtils.isEmpty(tableData[tableData.length - 1].sPicturePath)) { tableData[tableData.length - 1].sPicturePath = uploadInfo.sPicturePath; tableData[tableData.length - 1].spicture = spicture; tableData[tableData.length - 1] = { ...tableData[tableData.length - 1], sPicturePath: uploadInfo.sPicturePath, sFileName: uploadInfo.sFileName, spicture, handleType: commonUtils.isEmpty(tableData[tableData.length - 1].handleType) ? 'update' : tableData[tableData.length - 1].handleType, }; } else { const tableDataRow = this.props.onDataRowAdd(name, true); tableColumn.forEach((slaveChild) => { const ckey = slaveChild.dataIndex; if (ckey === 'sProductNo' || ckey === 'sProductName') { tableDataRow[ckey] = masterData[ckey] !== undefined ? masterData[ckey] : ''; } else if (ckey === 'iOrder') { tableDataRow[ckey] = ''; } else if (file.response && file.response.code === 1) { if (uploadInfo[ckey] !== undefined) { tableDataRow[ckey] = uploadInfo[ckey]; } } }); tableData.push(tableDataRow); } this.props.onSaveState({ [`${name}Data`]: tableData, enabled: true }); } else if (file.response && file.response.code === -1) { message.error(file.response.msg); } }; handleOk = async (flag, tmpCheck, isWait) => { const { sModelsId, masterData, app, checkConditions, sCheckModelId, checkPersonData, currentId, masterConfig, slaveConfig, checkConfig, sCheckRemark, } = this.props; const { currentPane } = app; const bCkxTmpCheck = app.systemData.filter(item => item.sName === 'CkxTmpCheck')[0].sValue; if (bCkxTmpCheck === '1') { const returnData = await this.props.onDataAudit(flag, tmpCheck, isWait); if (returnData.code === 1) { if (returnData.dataset.rows[0].dataSet.outData[0].sCode === 1) { this.props.onGetData(masterConfig, slaveConfig, checkConfig); message.success(returnData.msg); } else { message.error(returnData.dataset.rows[0].dataSet.outData[0].sReturn); } } else { /* 失败 */ this.props.getServiceError(returnData); } } else { const dataPersonArray = commonUtils.isEmptyObject(this.props.dataPersonArray) ? [] : this.props.dataPersonArray; if (commonUtils.isEmptyObject(dataPersonArray)) { checkPersonData.forEach((item) => { dataPersonArray.push(item.sUserId); }); } const dataPersonString = dataPersonArray.join(','); const url = `${commonConfig.server_host}business/getProData?sModelsId=${sModelsId}`; const value = { sProName: 'Sp_System_AutoSendCheckMsg', paramsMap: { sFormGuid: sModelsId, sBillKey: currentPane.sProcName, sTbName: masterConfig.sTbName, sGuid: masterData.sId, sBillNo: masterData.sBillNo, sCheckCondition: checkConditions, sMemo: sCheckRemark, sCheckModelGuid: sCheckModelId, sCheckPerson: dataPersonString, }, }; const returnData = (await commonServices.postValueService(app.token, value, url)).data; if (returnData.code === 1) { const noCheckMsg = commonFunc.showMessage(app.commonConst, 'NoCheckMsg'); /* 您有消息待审核 */ if (returnData.dataset.rows[0].dataSet.outData[0].sCode === 1) { this.props.handleSendSocketMessage('examine', 'showImg', currentId, dataPersonString, noCheckMsg, null); const urlCanCheckBill = `${commonConfig.server_host}checkModel/getCanCheckBill?sModelsId=${sModelsId}`; const valueCanCheckBill = { sCheckModelId, checkPersonData, sBillId: masterData.sId }; const returnCanCheckBill = (await commonServices.postValueService(app.token, valueCanCheckBill, urlCanCheckBill)).data; if (returnCanCheckBill.code === 1) { if (returnCanCheckBill.dataset.rows[0].iCount === 1) { this.props.onDataAudit(1, 1); this.props.onSaveState({ visible: false, }); return; } } else { /* 失败 */ this.props.getServiceError(returnCanCheckBill); } this.props.handleSendSocketMessage('reflush', 'showImg', currentId, dataPersonString, noCheckMsg, null); message.success(returnData.msg); } else { message.error(returnData.dataset.rows[0].dataSet.outData[0].sReturn); } } else { /* 失败 */ this.props.getServiceError(returnData); } } this.props.onSaveState({ visible: false, }); }; handleCancel = () => { this.props.onSaveState({ visible: false, }); }; handleTableModal = async () => { const { sModelsId, controlData, masterData, slaveData, controlConfig, slaveSelectedRowKeys, enabled, slaveConfig, sModelsType, } = this.props; const addState = {}; let treeState = {}; if (this.props.sModelsType.includes('sales/salesOrder')) { const iSlaveIndex = slaveData.findIndex(item => item.sId === slaveSelectedRowKeys[0]); const iIndex = controlData.findIndex(item => item.sSlaveId === slaveSelectedRowKeys[0]); if (iIndex === -1 && iSlaveIndex > -1 && enabled) { const allTableData = {}; allTableData.master = masterData; allTableData.slaveData = slaveData; let dropdownProductClassifyId; const iIndex = slaveConfig.gdsconfigformslave.findIndex(item => item.sName === 'sProductClassifyId'); if (iIndex > -1) { const sqlDropDownData = await this.props.getSqlDropDownData(sModelsId, 'slave', slaveConfig.gdsconfigformslave[iIndex]); dropdownProductClassifyId = sqlDropDownData.dropDownData; } if (commonUtils.isEmptyArr(dropdownProductClassifyId)) { const iIndex = slaveConfig.gdsconfigformslave.findIndex(item => item.sName === 'sProductClassifyName'); if (iIndex > -1) { const sqlDropDownData = await this.props.getSqlDropDownData(sModelsId, 'slave', slaveConfig.gdsconfigformslave[iIndex]); dropdownProductClassifyId = sqlDropDownData.dropDownData; } } if (commonUtils.isNotEmptyArr(dropdownProductClassifyId)) { const iProductClassifyIdIndex = dropdownProductClassifyId.findIndex(item => item.sId === slaveData[iSlaveIndex].sProductClassifyId); if (commonUtils.isNotEmptyObject(dropdownProductClassifyId[iProductClassifyIdIndex])) { const sAllPartsName = dropdownProductClassifyId[iProductClassifyIdIndex].sAllPartsName; if (commonUtils.isNotEmptyStr(sAllPartsName)) { const sAssignFieldObj = sAllPartsName.split(','); for (const child of sAssignFieldObj) { const tableDataRowAdd = commonFunc.getDefaultData(controlConfig, allTableData); tableDataRowAdd.handleType = 'add'; tableDataRowAdd.sId = commonUtils.createSid(); tableDataRowAdd.sParentId = masterData && masterData.sId ? masterData.sId : null; tableDataRowAdd.sSlaveId = slaveSelectedRowKeys[0]; tableDataRowAdd.key = tableDataRowAdd.sId; tableDataRowAdd.bDefault = false; tableDataRowAdd.iOrder = 0; tableDataRowAdd.sPartsName = child; tableDataRowAdd.dPartsQty = commonUtils.isNull(slaveData[iSlaveIndex].dProductQty, 0) + commonUtils.isNull(slaveData[iSlaveIndex].dGiveQty, 0) + commonUtils.isNull(slaveData[iSlaveIndex].dStockupQty, 0); tableDataRowAdd.sAllId = tableDataRowAdd.sId; tableDataRowAdd.sControlParentId = ''; controlData.push(tableDataRowAdd); } } } } addState.controlData = controlData; } if (controlData !== undefined) { const iControlIndex = controlData.findIndex(item => item.sSlaveId === slaveSelectedRowKeys[0]); if (iControlIndex > -1) { addState.controlSelectedRowKeys = [controlData[iControlIndex].sId]; } } if (sModelsType === 'sales/salesOrderPack') { const sSlaveId = slaveSelectedRowKeys[0]; if (commonUtils.isNotEmptyObject(sSlaveId)) { treeState = this.props.onGetControlTreeData(controlData, true, sSlaveId); } } } this.props.onSaveState({ visibleModal: true, ...addState, ...treeState, }); }; handleTableChooseProcess = () => { const { processConfig } = this.props; const iIndex = processConfig.gdsconfigformslave.findIndex(item => item.sControlName === 'BtnChooseProcess'); if (iIndex > -1) { this.props.onBtnChoose('process', 'BtnChooseProcess', processConfig.gdsconfigformslave[iIndex]); } }; handleCancelModal = (modelVisible) => { this.props.onSaveState({ [modelVisible]: false, }); }; handleOkModal = async () => { const { controlData, materialsData, processData, slaveData, slaveSelectedRowKeys, } = this.props; const ctData = controlData.filter(item => item.handleType !== 'del' && item.sSlaveId === slaveSelectedRowKeys[0]); const mtData = materialsData.filter(item => item.handleType !== 'del' && item.sSlaveId === slaveSelectedRowKeys[0]); const pData = processData.filter(item => item.handleType !== 'del' && item.sSlaveId === slaveSelectedRowKeys[0] && item.sType !== '3'); const p3Data = processData.filter(item => item.handleType !== 'del' && item.sSlaveId === slaveSelectedRowKeys[0] && item.sType === '3'); /* 成品工序 */ if (commonUtils.isNotEmptyArr(ctData)) { let mDetail = ''; let pDetail = ''; const slaveIndex = slaveData.findIndex(item => item.sId === slaveSelectedRowKeys[0]); await ctData.forEach((controlItem, n) => { if (commonUtils.isNotEmptyObject(controlItem.sPartsName)) { const qz = n === 0 ? '' : ' '; if (commonUtils.isNotEmptyObject(controlItem.sPartsName)) { const yDetail = `${mDetail}${qz}#${controlItem.sPartsName}:`; const gDetail = `${pDetail}${qz}#${controlItem.sPartsName}:`; let imDetail = ''; let ipDetail = ''; const materials = mtData.filter(materialsItem => (materialsItem.sControlId === controlItem.sId)); // let materialsIdDropDown; // const materialsIndex = materialsConfig.gdsconfigformslave.findIndex(item => item.sName === 'sMaterialsName'); // if (materialsIndex > -1) { // const sqlDropDownData = await this.props.getSqlDropDownData(sModelsId, 'materials', materialsConfig.gdsconfigformslave[materialsIndex]); // materialsIdDropDown = sqlDropDownData.dropDownData; // } materials.forEach((mItem, i) => { const fh = i === 0 ? '' : ','; imDetail = `${imDetail}${fh} ${mItem.sMaterialsName}`; }); // processPropsType const process = pData.filter(processItem => (processItem.sControlId === controlItem.sId)); // let processIdDropDown; // const processIndex = processConfig.gdsconfigformslave.findIndex(item => item.sName === 'sProcessName'); // if (processIndex > -1) { // const sqlDropDownData = await this.props.getSqlDropDownData(sModelsId, 'process', processConfig.gdsconfigformslave[processIndex]); // processIdDropDown = sqlDropDownData.dropDownData; // } // const processIdDropDown = commonUtils.getStoreDropDownData(sModelsId, 'process', 'sProcessName'); process.forEach((pItem, i) => { const fh = i === 0 ? '' : ','; ipDetail = `${ipDetail}${fh} ${pItem.sProcessName}`; }); if (commonUtils.isNotEmptyObject(imDetail)) { mDetail = `${yDetail}${imDetail}`; } if (commonUtils.isNotEmptyObject(ipDetail)) { pDetail = `${gDetail}${ipDetail}`; } } } }); /* 成品工序 */ let ip3Detail = ''; if (commonUtils.isNotEmptyArr(p3Data)) { p3Data.forEach((pItem, i) => { const fh = i === 0 ? '' : ','; ip3Detail = `${ip3Detail}${fh} ${pItem.sProcessName}`; }); } if (commonUtils.isNotEmptyObject(ip3Detail)) { if (commonUtils.isNotEmptyObject(pDetail)) { pDetail = `${pDetail},${ip3Detail}`; } else { pDetail = ip3Detail; } } slaveData[slaveIndex].sMaterialsMemo = mDetail; slaveData[slaveIndex].sProcessMemo = pDetail; slaveData[slaveIndex].handleType = commonUtils.isEmpty(slaveData[slaveIndex].handleType) ? 'update' : slaveData[slaveIndex].handleType; } else if (commonUtils.isNotEmptyArr(controlData) && commonUtils.isEmptyArr(ctData)) { const sSlaveId = controlData[0].sSlaveId; const slaveIndex = slaveData.findIndex(item => item.sId === sSlaveId); slaveData[slaveIndex].sMaterialsMemo = ''; slaveData[slaveIndex].sProcessMemo = ''; slaveData[slaveIndex].handleType = commonUtils.isEmpty(slaveData[slaveIndex].handleType) ? 'update' : slaveData[slaveIndex].handleType; } this.props.onSaveState({ visibleModal: false, controlData, materialsData, processData, slaveData, }); }; /** 控制选择控制表时,显示部件工序与成品工序 */ handleFilterSlaveData = (name, dataIndex, value, record) => { return (commonUtils.isNotEmptyStr(record.sSlaveId) && record.sSlaveId.toString().toLowerCase().includes(value.toLowerCase())); }; /** 控制选择控制表时,显示部件工序与成品工序 */ handleFilterData = (name, dataIndex, value, record) => { const { sModelsId } = this.props; let { slaveData, slaveSelectedRowKeys } = this.props; if(sModelsId ==='12710101117043772382700' && name ==='slave0Child0') { slaveSelectedRowKeys = this.props?.slave0SelectedRowKeys; slaveData = this.props?.slave0Data; } if (name === 'process') { return (commonUtils.isNotEmptyStr(record.sType) && record.sType === '3' && commonUtils.isNotEmptyStr(record.sSlaveId) && record.sSlaveId.toString().toLowerCase().includes(slaveSelectedRowKeys.toString().toLowerCase())) || (commonUtils.isNotEmptyStr(record.sControlId) && record.sControlId.toString().toLowerCase().includes(value.toLowerCase()) && commonUtils.isNotEmptyStr(record.sSlaveId) && record.sSlaveId.toString().toLowerCase().includes(slaveSelectedRowKeys.toString().toLowerCase())); } else if ((name === 'slaveChild' || name.includes('slaveChild') || name.includes('Child')) && commonUtils.isNotEmptyArr(slaveData)) { /* 找到从表的sSqlConditionId */ let iIndex = slaveData.findIndex(item => slaveSelectedRowKeys.includes(item.sSlaveId)); if (iIndex === -1) { iIndex = slaveData.findIndex(item => slaveSelectedRowKeys.includes(item.sId)); } let sSqlConditionId = ''; if (iIndex > -1) { sSqlConditionId = slaveData[iIndex].sSqlConditionId; if (commonUtils.isEmpty(sSqlConditionId)) { sSqlConditionId = ''; } } return commonUtils.isNotEmptyStr(record.sSqlConditionId) && record.sSqlConditionId.toString().toLowerCase() === sSqlConditionId.toString().toLowerCase(); } else { return (commonUtils.isNotEmptyStr(record.sType) && record.sType === '2' && commonUtils.isNotEmptyStr(record.sSlaveId) && record.sSlaveId.toString().toLowerCase().includes(slaveSelectedRowKeys.toString().toLowerCase())) || (commonUtils.isNotEmptyStr(record.sControlId) && record.sControlId.toString().toLowerCase().includes(value.toLowerCase()) && commonUtils.isNotEmptyStr(record.sSlaveId) && record.sSlaveId.toString().toLowerCase().includes(slaveSelectedRowKeys.toString().toLowerCase())); } // (commonUtils.isNotEmptyStr(record.sControlId) && record.sControlId.toString().toLowerCase().includes(value.toLowerCase())); }; /* 控制表过滤材料表 工序表数据 */ handleGetFilterData = (name) => { const { [`${name}Data`]: data, slaveData, controlSelectedRowKeys, slaveSelectedRowKeys, } = this.props; if (data !== undefined) { const newArr = data.filter((item) => { if (name === 'control') { return (commonUtils.isNotEmptyStr(item.sSlaveId) && item.sSlaveId.toString().toLowerCase().includes(slaveSelectedRowKeys.toString())); } else if ((name === 'slaveChild' || name.includes('slaveChild')) && commonUtils.isNotEmptyArr(slaveData)) { /* 找到从表的sSqlConditionId */ let iIndex = slaveData.findIndex(item => slaveSelectedRowKeys.includes(item.sSlaveId)); if (iIndex === -1) { iIndex = slaveData.findIndex(item => slaveSelectedRowKeys.includes(item.sId)); } let sSqlConditionId = ''; if (iIndex > -1) { sSqlConditionId = slaveData[iIndex].sSqlConditionId; } return commonUtils.isNotEmptyStr(item.sSqlConditionId) && commonUtils.isNotEmptyStr(sSqlConditionId) && item.sSqlConditionId.toString().toLowerCase().includes(sSqlConditionId.toString().toLowerCase()); } else { return (commonUtils.isNotEmptyStr(item.sControlId) && item.sControlId.toString().toLowerCase().includes(controlSelectedRowKeys.toString()) && commonUtils.isNotEmptyStr(item.sSlaveId) && item.sSlaveId.toString().toLowerCase().includes(slaveSelectedRowKeys.toString())); } }); return newArr.length; } }; /* 包装工单过滤行 */ /** 控制选择控制表时,显示部件工序与成品工序 */ handleFilterDataPack = (name, dataIndex, value, record) => { if (name === 'process') { return (commonUtils.isNotEmptyStr(record.sType) && record.sType === '3') || (commonUtils.isNotEmptyStr(record.sControlId) && record.sControlId.toString().toLowerCase().includes(value.toLowerCase())); } else { return (commonUtils.isNotEmptyStr(record.sType) && record.sType === '2') || (commonUtils.isNotEmptyStr(record.sControlId) && record.sControlId.toString().toLowerCase().includes(value.toLowerCase())); } }; /* 控制表过滤材料表 工序表数据 */ handleGetFilterDataPack = (name) => { const { [`${name}Data`]: data, controlSelectedRowKeys } = this.props; if (data !== undefined && commonUtils.isNotEmptyArr(controlSelectedRowKeys)) { const newArr = data.filter((item) => { return (commonUtils.isNotEmptyStr(item.sControlId) && item.sControlId.toString().toLowerCase().includes(controlSelectedRowKeys.toString())); }); return newArr.length; } }; /** 添加表格空行 */ handleTableAdd = async (name, flag, bchild) => { /* 外置处理业务 */ const { sModelsId, sModelsType, gdsformconst, slaveData, controlData, controlSelectedRowKeys, [`${name}Data`]: tableData, slaveSelectedRowKeys, slaveConfig, } = this.props; let tableDataRow = {}; if (name === 'control') { const { [`${name}SelectedRowKeys`]: treeSelectedKeys, } = this.props; if ((bchild === 'childNode' || bchild === 'sameNode') && (commonUtils.isEmptyArr(treeSelectedKeys) || commonUtils.isEmptyArr(controlSelectedRowKeys))) { message.warn('请选择部件!'); // 请选择部件 return; } tableDataRow = this.props.onDataRowAdd(name, true); if (commonUtils.isEmptyObject(tableDataRow)) { return; } let dPartsQty = 0; if (commonUtils.isNotEmptyArr(slaveData)) { slaveData.forEach((item) => { dPartsQty += commonUtils.isNull(item.dProductQty, 0) + commonUtils.isNull(item.dGiveQty, 0) + commonUtils.isNull(item.dStockupQty, 0); }); let productIdDropDown; const slaveIndex = slaveConfig.gdsconfigformslave.findIndex(item => item.sName === 'sProductName'); if (slaveIndex > -1) { const sqlDropDownData = await this.props.getSqlDropDownData(sModelsId, 'slave', slaveConfig.gdsconfigformslave[slaveIndex]); productIdDropDown = sqlDropDownData.dropDownData; } if (productIdDropDown) { const iProductIdIndex = productIdDropDown.findIndex(item => item.sId === slaveData[0].sProductId); if (iProductIdIndex > -1) { tableDataRow.sPartsName = productIdDropDown[iProductIdIndex].sProductName; } } } const iSlaveIndex = slaveData.findIndex(item => item.sId === slaveSelectedRowKeys[0]); if (iSlaveIndex > -1) { if (sModelsType.includes('sales/salesOrder')) { if (!commonUtils.isEmpty(slaveData[iSlaveIndex].dProductQty)) { tableDataRow.dPartsQty = commonUtils.isNull(slaveData[iSlaveIndex].dProductQty, 0) + commonUtils.isNull(slaveData[iSlaveIndex].dGiveQty, 0); } } else { tableDataRow.dPartsQty = dPartsQty; } tableDataRow.sSlaveId = slaveData[iSlaveIndex].sId; } /* 树形部件节点增加同级部件、增加子级部件 */ if (sModelsType === 'sales/salesOrderPack') { if (bchild === 'sameNode') { /* 添加同级 */ const iIndex = controlData.findIndex(item => item.sId === treeSelectedKeys[0]); /* 找到同级子元素的sControlParentId */ if (iIndex > -1) { tableDataRow.sControlParentId = controlData[iIndex].sControlParentId; /* 找到同级父级sAllId */ const pId = controlData[iIndex].sControlParentId; const sControlParentId = controlData.findIndex(item => item.sId === pId); if (sControlParentId > -1) { const sAllId = controlData[sControlParentId].sAllId; if (commonUtils.isEmptyObject(sAllId)) { message.warn('部件数据生成错误![sAllId为空]'); return; } tableDataRow.sAllId = `${controlData[sControlParentId].sAllId},${tableDataRow.sId}`; } else { tableDataRow.sAllId = tableDataRow.sId; } } } if (bchild === 'childNode') { /* 添加子级 */ tableDataRow.sControlParentId = treeSelectedKeys[0]; const iIndex = controlData.findIndex(item => item.sId === treeSelectedKeys[0]); if (iIndex > -1) { const sAllId = controlData[iIndex].sAllId; if (commonUtils.isEmptyObject(sAllId)) { message.warn('子部件数据生成错误![sAllId为空]'); // 获取父节点的sAllId return; } tableDataRow.sAllId = `${controlData[iIndex].sAllId},${tableDataRow.sId}`; } } } tableData.push(tableDataRow); let treeState = []; if (sModelsType === 'sales/salesOrderPack') { treeState = this.props.onGetControlTreeData(tableData, true, tableDataRow.sSlaveId); } this.props.onSaveState({ [`${name}Data`]: tableData, [`${name}SelectedRowKeys`]: [tableDataRow.sId], ...treeState }); } else if (name === 'materials' || name === 'process') { tableDataRow = this.props.onDataRowAdd(name, true); if (commonUtils.isEmptyArr(controlSelectedRowKeys)) { const msg = commonFunc.showMessage(gdsformconst, 'pleaseChooseParts'); message.warn(msg === '' ? '请选择部件' : msg); // 请选择部件 return; } const iIndex = controlData.findIndex(item => item.sId === controlSelectedRowKeys[0]); const iSlaveIndex = slaveData.findIndex(item => item.sId === slaveSelectedRowKeys[0]); if (iIndex > -1 && iSlaveIndex > -1) { if (commonUtils.isEmpty(controlData[iIndex].sPartsName) === '') { message.warn(commonFunc.showMessage(gdsformconst, 'partsNameNotNull')); // 部件名称不能为空 return; } tableDataRow.sSlaveId = slaveData[iSlaveIndex].sId; tableDataRow.sControlId = controlData[iIndex].sId; tableDataRow.sPartsName = controlData[iIndex].sPartsName; } tableData.push(tableDataRow); this.props.onSaveState({ [`${name}Data`]: tableData, [`${name}SelectedRowKeys`]: [tableDataRow.sId] }); } else { this.props.onDataRowAdd(name, flag); } }; /** 删除表格数据 */ otherTableDel = (name, tableSelectedRowKeys) => { const tableData = this.props[`${name}Data`]; let tableDelData = this.props[`${name}DelData`]; tableDelData = commonUtils.isEmptyArr(tableDelData) ? [] : tableDelData; for (const sId of tableSelectedRowKeys) { /* 看看删除集合和从表中是否都存在该条数据 */ let tableDataIndex = tableData.findIndex(item => item.sControlId === sId); while (tableDataIndex > -1) { /* 删除从表中的数据并存入删除集合中 */ const slaveDataFilter = tableData[tableDataIndex]; tableData.splice(tableDataIndex, 1); slaveDataFilter.handleType = 'del'; tableDelData.push(slaveDataFilter); tableDataIndex = tableData.findIndex(item => item.sControlId === sId); } } return { [`${name}Data`]: tableData, [`${name}DelData`]: tableDelData, [`${name}SelectedRowKeys`]: [] }; }; otherDeliverTableDel = (name, tableSelectedRowKeys, slaveData) => { const tableData = this.props[`${name}Data`]; let tableDelData = this.props[`${name}DelData`]; tableDelData = commonUtils.isEmptyArr(tableDelData) ? [] : tableDelData; if (commonUtils.isNotEmptyArr(tableData)) { for (const sId of tableSelectedRowKeys) { /* 看看删除集合和从表中是否都存在该条数据 */ /* 找到从表的sSqlConditionId */ let iIndex = slaveData.findIndex(item => tableSelectedRowKeys.includes(item.sSlaveId)); if (iIndex === -1) { iIndex = slaveData.findIndex(item => tableSelectedRowKeys.includes(item.sId)); } let sSqlConditionId = ''; if (iIndex > -1) { sSqlConditionId = slaveData[iIndex].sSqlConditionId; } let tableDataIndex = tableData.findIndex(item => item.sSqlConditionId === sSqlConditionId); while (tableDataIndex > -1) { /* 删除从表中的数据并存入删除集合中 */ const slaveDataFilter = tableData[tableDataIndex]; tableData.splice(tableDataIndex, 1); slaveDataFilter.handleType = 'del'; tableDelData.push(slaveDataFilter); tableDataIndex = tableData.findIndex(item => item.sSqlConditionId === sId); } } return { [`${name}Data`]: tableData, [`${name}DelData`]: tableDelData, [`${name}SelectedRowKeys`]: [] }; } else { return {}; } }; /** 删除表格数据 */ handleTableDel = (name, isWait, tableSelectedRowKeys, isTree) => { const { sModelsType, slaveSelectedRowKeys, slaveData, formRoute, slaveChildConfig, } = this.props; if (name === 'control') { // const tableSelectedRowKeys = this.props[`${name}SelectedRowKeys`]; /* 删除时,选中行取删除参数传过来的 */ const { controlData, treeSelectedKeys, [`${name}SelectedRowKeys`]: tableSelectedRowKeys, } = this.props; if (isTree) { /* 删除该节点及所有子节点 */ const controlChildData = controlData.filter(item => commonUtils.isNotEmptyObject(item.sAllId) && item.sAllId.indexOf(treeSelectedKeys[0]) > -1 && item.sId !== treeSelectedKeys[0]); if (commonUtils.isNotEmptyArr(controlData)) { controlChildData.forEach((itemNew) => { tableSelectedRowKeys.push(itemNew.sId); }); } } if (commonUtils.isNotEmptyArr(tableSelectedRowKeys)) { const materialsReturnData = this.otherTableDel('materials', tableSelectedRowKeys); const processReturnData = this.otherTableDel('process', tableSelectedRowKeys); const controlReturnData = this.props.onDataRowDel(name, isWait, tableSelectedRowKeys); let treeState = []; if (sModelsType === 'sales/salesOrderPack') { const iSlaveIndex = slaveData.findIndex(item => item.sId === slaveSelectedRowKeys[0]); if (iSlaveIndex > -1) { const sSlaveId = slaveData[iSlaveIndex].sId; treeState = this.props.onGetControlTreeData(controlReturnData.controlData, true, sSlaveId); } } this.props.onSaveState({ ...materialsReturnData, ...processReturnData, ...controlReturnData, ...treeState, }); return true; } else { message.warn('请选择要删除的部件!'); return false; } } else if (name === 'slave' && commonUtils.isNotEmptyObject(formRoute) && formRoute.includes('commonSubBill')) { if (commonUtils.isNotEmptyArr(slaveSelectedRowKeys)) { let slaveChildReturnData = {}; if (commonUtils.isNotEmptyObject(slaveChildConfig)) { slaveChildReturnData = this.otherDeliverTableDel('slaveChild', slaveSelectedRowKeys, slaveData); } const slaveReturnData = this.props.onDataRowDel(name, true, slaveSelectedRowKeys); this.props.onSaveState({ ...slaveChildReturnData, ...slaveReturnData, }); return true; } } else { return this.props.onDataRowDel(name, isWait, tableSelectedRowKeys); } }; /** 销售订单删除从表数据时也删除控制材料工序表数据 */ handleSlaveTableDel = (name, isWait, tableSelectedRowKeys) => { const { sModelsType, controlData, processData, materialsData, } = this.props; if (sModelsType === 'sales/salesOrder' && name === 'slave') { const controlDataDel = controlData.filter(item => item.sSlaveId === tableSelectedRowKeys[0]); const controlDataSelectedRowKeys = []; if (!commonUtils.isEmpty(controlDataDel)) { for (const item of controlDataDel) { const materialsDataSelectedRowKey = item.sId; controlDataSelectedRowKeys.push(materialsDataSelectedRowKey); } if (commonUtils.isNotEmptyArr(controlDataSelectedRowKeys)) { this.props.onDataRowDel('control', isWait, controlDataSelectedRowKeys, true); } const materialsDataDel = materialsData.filter(item => item.sSlaveId === tableSelectedRowKeys[0]); const materialsDataSelectedRowKeys = []; if (!commonUtils.isEmpty(materialsDataDel)) { for (const item of materialsDataDel) { const materialsDataSelectedRowKey = item.sId; materialsDataSelectedRowKeys.push(materialsDataSelectedRowKey); } } if (commonUtils.isNotEmptyArr(materialsDataSelectedRowKeys)) { this.props.onDataRowDel('materials', isWait, materialsDataSelectedRowKeys, true); } const processDataDel = processData.filter(item => item.sSlaveId === tableSelectedRowKeys[0]); const processDataSelectedRowKeys = []; if (!commonUtils.isEmpty(processDataDel)) { for (const item of processDataDel) { const processDataSelectedRowKey = item.sId; processDataSelectedRowKeys.push(processDataSelectedRowKey); } } if (commonUtils.isNotEmptyArr(processDataSelectedRowKeys)) { this.props.onDataRowDel('process', isWait, processDataSelectedRowKeys, true); } } } return this.props.onDataRowDel(name, isWait, tableSelectedRowKeys); }; handleSelect = async (name, selectConfig, selectData) => { const { [`${name}Data`]: tableData, [`${name}Config`]: tableConfig, masterData, masterConfig, controlSelectedRowKeys, sModelsId, token, app, tableName, sModelsType, } = this.props; const tableSelectedRowKeys = []; if(selectConfig?.sControlName && selectConfig?.sControlName.includes('TmpInfoBySql')){ const copyConfig = selectConfig; const sConfigformId = commonUtils.isEmpty(copyConfig) ? '' : copyConfig.sParentId; const sControlName = commonUtils.isNotEmptyObject(copyConfig) && copyConfig.sControlName ? copyConfig.sControlName : 'TmpInfoBySql'; const dataUrl = `${commonConfig.server_host}salesorder/getTmpInfoBySql/?sModelsId=${sModelsId}`; const addState = {}; const sRowData = selectData; const condition = { sConfigformId, sControlName, sRowData }; const dataReturn = (await commonServices.postValueService(token, condition, dataUrl)).data; if (dataReturn.code === 1) { const returnData = dataReturn.dataset.rows[0]; for (const key in returnData) { let arr = JSON.parse(JSON.stringify(returnData[key])); arr.forEach((item, idx) => { const newCopyTo = {}; newCopyTo.master = masterData; let config = masterConfig.gdsconfigformslave.filter(item => item.sControlName.split('.').length === 3 && item.sControlName.includes(selectConfig.sControlName + '.' + key))[0]; const sAssignField = config ? config.sAssignField : copyConfig.sAssignField; const newSid = commonUtils.createSid(); let mixData = commonFunc.getDefaultData(this.props[`${key}Config`] || {}, newCopyTo, { newSid }); // 取默认值 mixData = { ...mixData, ...commonFunc.getAssignFieldValue(sAssignField, item, newCopyTo) }; // 取赋值字段 mixData.handleType = 'add'; mixData.sId = newSid; mixData.sParentId = key === 'mater' || key ==='TmpInfoBySql' ? mixData.sParentId : masterData.sId; if (key === 'master' || key === 'TmpInfoBySql') { mixData.sFormId = masterData.sFormId; mixData.sId = masterData.sId; mixData.maxBillNo = 'sBillNo'; mixData.handleType = commonUtils.isEmpty( masterData.handleType) ? 'update' : masterData.handleType; arr[idx] = mixData; } else { mixData.sParentId = masterData.sId; mixData.sOriginalId = item.sId; mixData.sOriginalSqlConditionId = item.sSqlConditionId; if (key === 'slave') { mixData.sSqlConditionId = newSid; } if (key === 'slaveChild') { if (commonUtils.isNotEmptyArr(addState[`slaveData`])) { const iIndex = addState[`slaveData`].findIndex(itemSlave => itemSlave.sOriginalId === item.sSqlConditionId); if (iIndex > -1) { mixData.sSqlConditionId = addState[`slaveData`][iIndex].sSqlConditionId; } } mixData.sOriginalId = item.sId; } arr[idx] = mixData; } }); const tableName = key === 'mater' || key === 'TmpInfoBySql' ? 'master' : key; if (addState[`${tableName}Data`] === undefined) { addState[`${tableName}Data`] = []; } addState[`${tableName}Data`] = addState[`${tableName}Data`].concat(arr); if (commonUtils.isNotEmptyArr(addState[`${tableName}Data`])) { addState[`${tableName}SelectedRowKeys`] = [addState[`${tableName}Data`][0].sId]; } console.log('结果集', addState); if (commonUtils.isNotEmptyArr(addState.masterData) && Array.isArray(addState.masterData)) { addState.masterData = addState.masterData[0]; } addState[`${name}ChooseVisible`]= false; if (Object.keys(addState).length) { this.props.onSaveState({...addState}); } } } else { this.props.getServiceError(dataReturn); } } else if (name === 'productProcessInfo') { if (commonUtils.isNotEmptyArr(selectData)) { let slaveData = []; let controlData = []; let materialsData = []; let processData = []; let sConfigMasterIdSlave = ''; let sConfigMasterIdControl = ''; let sConfigMasterIdMaterials = ''; let sConfigMasterIdProcess = ''; const selectRowData = selectData[0]; const sConfigIdString = masterConfig.gdsconfigformslave.filter(item => item.sName === 'sConfigId')[0].showDropDown; if (commonUtils.isNotEmptyStr(sConfigIdString)) { const sConfigId = JSON.parse(sConfigIdString); sConfigMasterIdSlave = sConfigId.sConfigMasterIdSlave; sConfigMasterIdControl = sConfigId.sConfigMasterIdControl; sConfigMasterIdMaterials = sConfigId.sConfigMasterIdMaterials; sConfigMasterIdProcess = sConfigId.sConfigMasterIdProcess; } if (commonUtils.isEmptyStr(sConfigMasterIdSlave)) { message.warning(commonFunc.showMessage(app.commonConst, 'slaveParameterErro')); } if (commonUtils.isEmptyStr(sConfigMasterIdControl)) { message.warning(commonFunc.showMessage(app.commonConst, 'controlParameterErro')); } if (commonUtils.isEmptyStr(sConfigMasterIdMaterials)) { message.warning(commonFunc.showMessage(app.commonConst, 'materialsParameterErro')); } if (commonUtils.isEmptyStr(sConfigMasterIdProcess)) { message.warning(commonFunc.showMessage(app.commonConst, 'processParameterErro')); } const slaveUrl = `${commonConfig.server_host}business/getBusinessDataByFormcustomId/${sConfigMasterIdSlave}?sModelsId=${sModelsId}`; const value = { sSqlCondition: { sParentId: selectRowData.sId } }; const slaveReturnData = (await commonServices.postValueService(token, value, slaveUrl)).data; if (slaveReturnData.code === 1) { slaveData = slaveReturnData.dataset.rows[0].dataSet; slaveData.forEach((item) => { item.handleType = 'add'; item.sId = commonUtils.createSid(); item.sParentId = masterData.sId; }); } else { this.props.getServiceError(slaveReturnData); } const controlUrl = `${commonConfig.server_host}business/getBusinessDataByFormcustomId/${sConfigMasterIdControl}?sModelsId=${sModelsId}`; const controlReturnData = (await commonServices.postValueService(token, value, controlUrl)).data; if (controlReturnData.code === 1) { controlData = controlReturnData.dataset.rows[0].dataSet; controlData.forEach((item) => { item.handleType = 'add'; item.sId = commonUtils.createSid(); item.sParentId = masterData.sId; }); } else { this.props.getServiceError(controlReturnData); } const materialsUrl = `${commonConfig.server_host}business/getBusinessDataByFormcustomId/${sConfigMasterIdMaterials}?sModelsId=${sModelsId}`; const materialsReturnData = (await commonServices.postValueService(token, value, materialsUrl)).data; if (materialsReturnData.code === 1) { materialsData = materialsReturnData.dataset.rows[0].dataSet; materialsData.forEach((item) => { item.handleType = 'add'; item.sId = commonUtils.createSid(); item.sParentId = masterData.sId; }); } else { this.props.getServiceError(materialsReturnData); } const processUrl = `${commonConfig.server_host}business/getBusinessDataByFormcustomId/${sConfigMasterIdProcess}?sModelsId=${sModelsId}`; const processReturnData = (await commonServices.postValueService(token, value, processUrl)).data; if (processReturnData.code === 1) { processData = processReturnData.dataset.rows[0].dataSet; processData.forEach((item) => { item.handleType = 'add'; item.sId = commonUtils.createSid(); item.sParentId = masterData.sId; }); } else { this.props.getServiceError(processReturnData); } this.props.onSaveState({ processData, materialsData, controlData, slaveData, [`${name}ChooseVisible`]: false, [`${name}SelectedRowKeys`]: tableSelectedRowKeys, }); } } else if (tableName === 'slave' && selectConfig.sControlName === 'BtnChooseMaterials') { this.props.onSelect('slave', selectConfig, selectData); } else if (sModelsType.includes('cashier/') && selectConfig.sControlName === 'BtnImportFormData') { const { slaveData } = this.props; let tableDataNew = []; if (commonUtils.isNotEmptyArr(slaveData)) { tableDataNew = slaveData; tableDataNew.forEach((item, index) => { const handleType = item.handleType; if (commonUtils.isEmptyObject(handleType) || handleType === 'update') { tableDataNew[index] = { ...item, handleType: 'del' }; } }); } if (commonUtils.isNotEmptyArr(selectData)) { selectData.forEach((item) => { let tableDataRow = {}; // 取默认值 tableDataRow = { ...tableDataRow, ...commonFunc.getAssignFieldValue(selectConfig.sAssignField, item) }; // 取赋值字段 tableDataRow.handleType = 'add'; tableDataRow.sId = commonUtils.createSid(); tableDataRow.sParentId = masterData.sId; tableDataNew.push(tableDataRow); }); this.props.onSaveState({ slaveData: tableDataNew, importFormDataVisible: false }); } } else { const { controlData, slaveData, slaveSelectedRowKeys } = this.props; const iIndex = commonUtils.isNotEmptyArr(controlSelectedRowKeys) ? controlData.findIndex(item => item.sId === controlSelectedRowKeys[0]) : -1; if (commonUtils.isNotEmptyArr(selectData)) { selectData.forEach((item) => { const newCopyTo = {}; newCopyTo.master = masterData; if (iIndex > -1) { newCopyTo.control = controlData[iIndex]; } let tableDataRow = commonFunc.getDefaultData(tableConfig, newCopyTo); // 取默认值 tableDataRow = { ...tableDataRow, ...commonFunc.getAssignFieldValue(selectConfig.sAssignField, item, newCopyTo) }; // 取赋值字段 tableDataRow.handleType = 'add'; tableDataRow.sId = commonUtils.createSid(); tableDataRow.sParentId = masterData.sId; if (this.props.sModelsType.includes('sales/salesOrder')) { const iSlaveIndex = commonUtils.isNotEmptyArr(slaveSelectedRowKeys) ? slaveData.findIndex(item => item.sId === slaveSelectedRowKeys[0]) : -1; if (iSlaveIndex > -1) { tableDataRow.sSlaveId = slaveData[iSlaveIndex].sId; } } if (iIndex > -1 && tableDataRow.sType !== '3') { tableDataRow.sControlId = controlData[iIndex].sId; tableDataRow.sPartsName = controlData[iIndex].sPartsName; tableData.push(tableDataRow); } else if (tableDataRow.sType === '3') { tableData.push(tableDataRow); } tableSelectedRowKeys.push(tableDataRow.sId); }); } const tableDataNew = this.sortData(controlData, tableData); this.props.onSaveState({ [`${name}Data`]: tableDataNew, [`${name}ChooseVisible`]: false, [`${name}SelectedRowKeys`]: tableSelectedRowKeys }); } }; /** 树节点选中 */ handleTreeSelect = (name, checkedKeys, e) => { let { controlSelectedRowKeys } = this.props; controlSelectedRowKeys = checkedKeys; /* 把树形选中节点赋值给表格部件选中节点 */ this.props.onTreeSelect(name, checkedKeys, e); this.props.onSaveState({ controlSelectedRowKeys, }); }; sortData = (tableData, processData) => { processData.sort((g1, g2) => { const iIndex1 = tableData.findIndex(item => item.sId === g1.sControlId) === -1 ? 999 : tableData.findIndex(item => item.sId === g1.sControlId); let sPartOrder1 = `0000${iIndex1}`; sPartOrder1 = sPartOrder1.substring(sPartOrder1.length - 3); let sOrder1 = `000${g1.iOrder}`; sOrder1 = sOrder1.substring(sOrder1.length - 3); const iIndex2 = tableData.findIndex(item => item.sId === g2.sControlId) === -1 ? 999 : tableData.findIndex(item => item.sId === g2.sControlId); let sPartOrder2 = `0000${iIndex2}`; sPartOrder2 = sPartOrder2.substring(sPartOrder2.length - 3); let sOrder2 = `000${g2.iOrder}`; sOrder2 = sOrder2.substring(sOrder2.length - 3); return parseInt(sPartOrder1 + g1.sType + sOrder1, 10) - parseInt(sPartOrder2 + g2.sType + sOrder2, 10); }); return processData; }; handleGetDataOk = () => { this.props.onDataImport('zero'); } handleGetDataCancel = () => { this.props.onDataImport('all'); } colseGetDataVisible = () => { this.props.onSaveState({ isGetDataVisible: false }); } /* 审核备注文本框改变事件 */ textChange= (e, record) => { const sCheckRemark = commonUtils.isNotEmptyObject(record) && commonUtils.isNotEmptyObject(e.target.value) ? e.target.value : ''; this.props.onSaveState({ sCheckRemark });/* 审核备注 */ } // ----------------------------数据修改回带end ---------------------------- // render() { const { pageLoading, masterConfig, visible, checkConditions, checkPersonData, visibleModal, processChooseVisible, materialsChooseVisible, app, sTabId, sModelsType, enabled, slaveSelectedRowKeys, } = this.props; const checkCondition = commonFunc.showMessage(app.commonConst, 'checkCondition');/* 审核条件 */ const checkSmemo = commonFunc.showMessage(app.commonConst, 'checkSmemo');/* 备注 */ const columns = [{ title: checkCondition, dataIndex: 'condition', key: 'condition', }, { title: checkSmemo, dataIndex: 'sMemo', key: 'sMemo', render: (text, record) => { return (
{ this.textChange(e, record); }} />
); }, }]; let chooseProcessConfig; let onChooseProcessIndex; /* 获取toolbar 选择工序 */ if (commonUtils.isNotEmptyObject(masterConfig)) { onChooseProcessIndex = masterConfig.gdsconfigformslave.findIndex(item => item.sControlName === 'BtnChooseProcess'); if (onChooseProcessIndex > -1) { chooseProcessConfig = this.props.masterConfig.gdsconfigformslave[onChooseProcessIndex]; } } /* 获取toolbar 选择材料 */ let chooseMaterialsConfig; const modalWidth = '1132'; const fixedAutoHeight = sModelsType === 'sales/salesOrderPack' ? 120 : 66; if (commonUtils.isNotEmptyObject(masterConfig)) { const iIndex = masterConfig.gdsconfigformslave.findIndex(item => item.sControlName === 'BtnChooseMaterials'); if (iIndex > -1) { chooseMaterialsConfig = masterConfig.gdsconfigformslave[iIndex]; } } /* 若销售订单从表选中行被工单或其他调用 则材料与工艺只能查看不能操作 */ let bUsed = enabled; if (sModelsType.includes('sales/salesOrder') && enabled && commonUtils.isNotEmptyArr(slaveSelectedRowKeys)) { const { slaveData } = this.props; const iSlaveDataIndex = slaveData.findIndex(item => slaveSelectedRowKeys.includes(item.sId)); if (iSlaveDataIndex > -1) { const sWorkOrderUsed = slaveData[iSlaveDataIndex].sWorkOrderUsed; if (commonUtils.isNotEmptyObject(sWorkOrderUsed)) { bUsed = false; } } } const controlPropsType = { ...commonBusiness.getTableTypes('control', this.props), tableProps: { CalLastWidth: modalWidth, AutoTableHeight: fixedAutoHeight, setCopyAll, setProcess, setMaterial, chooseProcessConfigRow: chooseProcessConfig, chooseMaterialsConfigRow: chooseMaterialsConfig, onRow: (record) => { return { onClick: () => { this.onRowClick('control', record); } }; }, }, filteredValue: this.props.slaveSelectedRowKeys, onFilterData: this.handleFilterSlaveData, OnGetFilterData: this.handleGetFilterData, onAddRow: this.handleTableAdd, onKeyDown: this.props.onKeyDown, onDelRow: this.handleTableDel, enabled: bUsed, }; const name = 'controlTree'; const treeProps = { ...commonBusiness.getTreeTypes('tree', this.props), isSearch: false, checkable: false, disabled: false, checkedAll: false, unChecked: false, [`${name}Column`]: this.props[`${name}Column`], [`${name}Config`]: this.props[`${name}Config`], [`${name}Data`]: this.props[`${name}Data`], getFloatNum: this.props.getFloatNum, getSqlDropDownData: this.props.getSqlDropDownData, getSqlCondition: this.props.getSqlCondition, handleSqlDropDownNewRecord: this.props.handleSqlDropDownNewRecord, getDateFormat: this.props.getDateFormat, onDoubleClick: this.props.onDoubleClick, onSelect: this.handleTreeSelect, expandedKeys: this.props.expandedKeys, showLine: true, }; const materialsPropsType = { ...commonBusiness.getTableTypes('materials', this.props), tableProps: { CalLastWidth: modalWidth, AutoTableHeight: fixedAutoHeight }, filteredValue: this.props.controlSelectedRowKeys, onFilterData: this.handleFilterData, OnGetFilterData: this.handleGetFilterData, onAddRow: this.handleTableAdd, onKeyDown: this.props.onKeyDown, enabled: bUsed, }; const processPropsType = { ...commonBusiness.getTableTypes('process', this.props), tableProps: { CalLastWidth: modalWidth, AutoTableHeight: 132 }, filteredValue: this.props.controlSelectedRowKeys, onFilterData: this.handleFilterData, OnGetFilterData: this.handleGetFilterData, onAddRow: this.handleTableAdd, onChooseProcessRow: this.handleTableChooseProcess, onKeyDown: this.props.onKeyDown, enabled: bUsed, }; let searchProcessType = {}; // let chooseProcessConfig = {}; if (commonUtils.isNotEmptyObject(this.props.processChooseData)) { // const iIndex = this.props.processConfig.gdsconfigformslave.findIndex(item => item.sControlName === 'BtnChooseProcess'); // if (iIndex > -1) { // chooseProcessConfig = this.props.processConfig.gdsconfigformslave[iIndex]; // } searchProcessType = { app: { ...this.props.app, currentPane: { name: 'process', config: chooseProcessConfig, conditonValues: this.props.getSqlCondition(chooseProcessConfig), title: this.props.processChooseData.sMenuName, route: this.props.processChooseData.sName, formId: this.props.processChooseData.sId, key: this.props.sModelsId + this.props.processChooseData.sId, sModelsType: this.props.processChooseData.sModelType, select: this.handleSelect, selectCancel: this.props.onSelectCancel, }, }, dispatch: this.props.dispatch, content: this.props.content, id: new Date().getTime().toString(), realizeHeight: this.props.realizeHeight, /* 拖动偏移高度 */ }; } let searchMaterialsType = {}; // let chooseMaterialsConfig = {}; if (commonUtils.isNotEmptyObject(this.props.materialsChooseData) && this.props.tableName !== 'slave') { // const iIndex = this.props.materialsConfig.gdsconfigformslave.findIndex(item => item.sControlName === 'BtnChooseMaterials'); // if (iIndex > -1) { // chooseMaterialsConfig = this.props.materialsConfig.gdsconfigformslave[iIndex]; // } searchMaterialsType = { app: { ...this.props.app, currentPane: { name: 'materials', config: chooseMaterialsConfig, conditonValues: this.props.getSqlCondition(chooseMaterialsConfig), title: this.props.materialsChooseData.sMenuName, route: this.props.materialsChooseData.sName, formId: this.props.materialsChooseData.sId, key: this.props.sModelsId + this.props.materialsChooseData.sId, sModelsType: this.props.materialsChooseData.sModelsType, select: this.handleSelect, selectCancel: this.props.onSelectCancel, }, }, dispatch: this.props.dispatch, content: this.props.content, id: new Date().getTime().toString(), realizeHeight: this.props.realizeHeight, }; } const pane = app.panes.filter(paneTmp => paneTmp.key === sTabId)[0]; const setMaterailRemark = commonFunc.showMessage(app.commonConst, 'setMaterailRemark');/* 选择材料与工艺 */ const setProcessTitle = commonFunc.showMessage(app.commonConst, 'setProcess');/* 选择工序标题 */ const setMaterialTitle = commonFunc.showMessage(app.commonConst, 'setMaterial');/* 选择材料标题 */ const btnSure = commonFunc.showMessage(app.commonConst, 'btnSure');/* 确认 */ const check = commonFunc.showMessage(app.commonConst, 'check');/* 审核 */ const BtnClose = commonFunc.showMessage(app.commonConst, 'BtnClose');/* 关闭 */ const checkPerson = commonFunc.showMessage(app.commonConst, 'checkPerson');/* 审核人 */ // eslint-disable-next-line jsx-a11y/anchor-is-valid const operateAdd = {this.props.enabled ? setAdd.img : setAdd.disableimg} ; // eslint-disable-next-line jsx-a11y/anchor-is-valid const operateAddChild = {this.props.enabled ? setAddChild.img : setAddChild.disableimg }; // eslint-disable-next-line jsx-a11y/anchor-is-valid const operateCopy = {this.props.enabled ? setCopy.img : setCopy.disableimg}; // eslint-disable-next-line jsx-a11y/anchor-is-valid const operateUpdate = {this.props.enabled ? setCopyAll.img : setCopyAll.disableimg }; // eslint-disable-next-line jsx-a11y/anchor-is-valid const operateDel = {this.props.enabled ? setDelete.img : setDelete.disableimg}; return (
{ visible ? {BtnClose}, , ]} >
{checkPerson}
{ commonUtils.isNotEmptyObject(checkPersonData) ? checkPersonData.map((item) => { return (
{item.sUserName} ); }) : '' } : '' } { visibleModal ? {BtnClose}, , ]} > { (pane.notCurrentPane ? false : processChooseVisible) ? : '' } { (pane.notCurrentPane ? false : materialsChooseVisible) ? : '' }
{ sModelsType === 'sales/salesOrderPack' ?
{operateAdd} {operateAddChild} {operateCopy} {operateUpdate} {operateDel}
:
}
: ''}
); } } const CommonSubBillComponent = Form.create({ mapPropsToFields(props) { const { masterData, masterConfig } = props; const obj = commonFunc.mapPropsToFields(masterData, Form, masterConfig); return obj; }, })((props) => { const { form, onReturnForm, slaveData, slavePagination, slavePageSize, slaveChildPagination, slaveChildPageSize, onlyMaster, AutoTableHeight, sModelsId, app, onlyMasterAndSlave, masterConfig, slaveConfig, slaveChildConfig, isSmall, isGetDataVisible, onGetDataCancel, onGetDataOk, colseGetDataVisible, sModelsType, masterData = {}, checkConfig, } = props; /* 回带表单 */ onReturnForm(form); const pagination = { pageSize: commonUtils.isNotEmptyNumber(slavePageSize) && slavePageSize !== 0 ? slavePageSize : commonConfig.pageSize, total: commonUtils.isEmptyArr(slaveData) ? 0 : slaveData.length, current: commonUtils.isEmptyObject(slavePagination) ? 1 : slavePagination.current, ...slavePagination, // size: 'large', // showQuickJumper: true, hideOnSinglePage: false, size: isSmall ? 'small' : 'large', pageSizeOptions: commonConfig.pageSizeOptions, showSizeChanger: !isSmall, showQuickJumper: !isSmall, }; const paginationChild = { pageSize: commonUtils.isNotEmptyNumber(slaveChildPageSize) && slaveChildPageSize !== 0 ? slaveChildPageSize : commonConfig.pageSize, total: commonUtils.isEmptyArr(slaveData) ? 0 : slaveData.length, current: commonUtils.isEmptyObject(slaveChildPagination) ? 1 : slaveChildPagination.current, ...slaveChildPagination, // size: 'large', // showQuickJumper: true, hideOnSinglePage: true, size: isSmall ? 'small' : 'large', pageSizeOptions: commonConfig.pageSizeOptions, showSizeChanger: !isSmall, showQuickJumper: !isSmall, }; const templateProps = props.formData.filter(item => item.sGrd === 'importTemplate')[0]; let setMaterialRemark = { title: '材料与工艺', width: { width }, height: { height }, img: 材料与工艺, disableimg: 材料与工艺不可用, }; /* 获取toolbar 选择材料 */ let searchMaterialsType = {}; let chooseMaterialsConfig = {}; if (commonUtils.isNotEmptyObject(slaveConfig)) { const iIndex = slaveConfig.gdsconfigformslave.findIndex(item => item.sControlName === 'BtnChooseMaterials'); if (iIndex > -1) { chooseMaterialsConfig = slaveConfig.gdsconfigformslave[iIndex]; } } if (commonUtils.isNotEmptyObject(props.materialsChooseData)) { searchMaterialsType = { app: { ...props.app, currentPane: { name: 'materials', config: chooseMaterialsConfig, conditonValues: props.getSqlCondition(chooseMaterialsConfig), title: props.materialsChooseData.sMenuName, route: props.materialsChooseData.sName, formId: props.materialsChooseData.sId, key: sModelsId + props.materialsChooseData.sId, sModelsType: props.materialsChooseData.sModelType, select: props.onSelect, selectCancel: props.onSelectCancel, }, }, dispatch: props.dispatch, content: props.content, id: new Date().getTime().toString(), realizeHeight: props.realizeHeight, /* 拖动偏移高度 */ }; } let productProcessInfoType = {}; let productProcessInfoConfig = {}; let processCardSearchResult = commonFunc.showMessage(app.commonConst, 'processCardSearchResult');/* 复制从工艺卡查询结果 */ if (commonUtils.isNotEmptyObject(props.productProcessInfoChooseData)) { const productProcessInfoCopyFromKey = props.productProcessInfoCopyFromKey; const iIndex = masterConfig.gdsconfigformslave.findIndex(item => item.sControlName === productProcessInfoCopyFromKey); if (iIndex > -1) { productProcessInfoConfig = masterConfig.gdsconfigformslave[iIndex]; processCardSearchResult = commonUtils.isNotEmptyObject(productProcessInfoConfig) && commonUtils.isNotEmptyObject(productProcessInfoConfig.sActiveName) ? productProcessInfoConfig.sActiveName : processCardSearchResult; } productProcessInfoType = { app: { ...props.app, currentPane: { name: 'productProcessInfo', config: productProcessInfoConfig, conditonValues: props.getSqlCondition(productProcessInfoConfig), title: props.productProcessInfoChooseData.sMenuName, route: props.productProcessInfoChooseData.sName, formId: props.productProcessInfoChooseData.sId, key: props.sModelsId + props.productProcessInfoChooseData.sId, sModelsType: props.productProcessInfoChooseData.sModelType, select: props.onSelect, selectCancel: props.onSelectCancel, }, }, dispatch: props.dispatch, content: props.content, id: new Date().getTime().toString(), }; } /* 导入收付款未清数据 */ let importPopupProps = {}; let importPopupTitle = '导入未清数据'; if (commonUtils.isNotEmptyObject(props)) { let importPopupConfig = {}; const { masterConfig, sModelsId, } = props; if (commonUtils.isNotEmptyObject(masterConfig)) { const iIndex = masterConfig.gdsconfigformslave.findIndex(item => item.sControlName === 'BtnImportFormData' && item.bVisible); if (iIndex > -1) { importPopupConfig = masterConfig.gdsconfigformslave[iIndex]; importPopupTitle = commonUtils.isNotEmptyObject(importPopupConfig) && commonUtils.isNotEmptyObject(importPopupConfig.sActiveName) ? importPopupConfig.sActiveName : importPopupTitle; importPopupProps = { app: { ...props.app, currentPane: { name: 'commonPopup', config: importPopupConfig, conditonValues: {}, title: importPopupTitle, route: '/indexPage/commonList', formRoute: '/indexPage/commonList', formId: importPopupConfig.sActiveId, key: sModelsId + importPopupConfig.sId, sModelsType: 'search/importFormData', select: props.onSelect, selectCancel: props.handleCancelModal.bind(this, 'importFormDataVisible'), bFilterProName: props.bFilterProName, /* 存储过程查询ID */ bFilterProValue: props.bFilterProValue, /* 存储过程查询VALUE */ }, }, dispatch: props.dispatch, content: props.content, id: new Date().getTime().toString(), realizeHeight: props.realizeHeight, /* 拖动偏移高度 */ }; } } } // const saleOrder = commonFunc.showMessage(app.commonConst, 'saleOrder');/* 销售订单 */ setMaterialRemark = props.sModelsType !== undefined && props.sModelsType.includes('sales/salesOrder') ? setMaterialRemark : null; const bHasSlaveChild = commonUtils.isNotEmptyArr(props.slaveChildInfoList) && props.slaveChildInfoList.some(item => item.split('Child')[0] === 'slave'); const slaveTableProps = { ...commonBusiness.getTableTypes('slave', props), tableProps: { setAdd, setCopy, setCopyAll, setDelete, setMaterialRemark, setMaterial, chooseMaterialsConfigRow: chooseMaterialsConfig, pagination, onChange: props.onTitleChange.bind(this, 'slave'), AutoTableHeight: commonUtils.isNotEmptyObject(slaveChildConfig) || bHasSlaveChild ? 150 : 375, }, templateProps, /* 修改日期:2021-03-18 修改人:吕杰 区域:以下一行 说明:添加keyDown事件透传 */ onKeyDown: props.onKeyDown, onContextMenu: props.onContextMenu, masterData: props.masterData, // 为通用弹窗提供主表数据(孟总需求:产品新增需要带上客户信息) onDelRow: props.onDelRow, }; // 自定义列 const { customConfig: customConfigStr } = masterData; const customConfig = commonUtils.convertStrToObj(customConfigStr, []); if (customConfig.length) { const customConfigNew = customConfig.sort( (a, b) => a.iOrder - b.iOrder ); const tempConfig = { ...slaveTableProps.config, gdsconfigformslave: customConfigNew }; slaveTableProps.config = tempConfig; slaveTableProps.headerColumn = commonFunc.getHeaderConfig(tempConfig); } let bOpterationColumn = true; if (commonUtils.isNotEmptyObject(slaveChildConfig) && commonUtils.isNotEmptyObject(slaveChildConfig.sTbName) && slaveChildConfig.sTbName.includes('noTable')) { bOpterationColumn = false; } const dataFilter = (tableProps, type) => { const { slaveSelectedRowKeys } = props; let oriData = commonUtils.isNotEmptyArr(tableProps.data) ? tableProps.data : []; let res = []; if (type === 'slaveChild' && commonUtils.isNotEmptyArr(slaveData) ) { /* 找到从表的sSqlConditionId */ let iIndex = -1; if(commonUtils.isEmptyArr(slaveSelectedRowKeys)) { iIndex = 0; }else { iIndex = slaveData.findIndex(item => slaveSelectedRowKeys.includes(item.sSlaveId)); if (iIndex === -1) { iIndex = slaveData.findIndex(item => slaveSelectedRowKeys.includes(item.sId)); } } let sSqlConditionId = ''; if (iIndex > -1) { sSqlConditionId = slaveData[iIndex].sSqlConditionId; if (commonUtils.isEmpty(sSqlConditionId)) { sSqlConditionId = ''; } } res = oriData.filter(item => item.sSqlConditionId === sSqlConditionId); } return res; } const slaveChildTableProps = { ...commonBusiness.getTableTypes('slaveChild', props), filteredValue: props.slaveSelectedRowKeys, onFilterData: props.onFilterData, OnGetFilterData: props.onGetFilterData, tableProps: { setAdd, setCopy, setDelete, paginationChild, onChange: props.onTitleChange.bind(this, 'slaveChild'), AutoTableHeight: props.slaveChildHeight, }, templateProps, bRowClick: true, enabled: bOpterationColumn ? props.enabled : false, /* 修改日期:2021-03-18 修改人:吕杰 区域:以下一行 说明:添加keyDown事件透传 */ onKeyDown: props.onKeyDown, onContextMenu: props.onContextMenu, masterData: props.masterData, // 为通用弹窗提供主表数据(孟总需求:产品新增需要带上客户信息) }; if(sModelsId === '12710101117012583364790') { /* 询价单单据特殊处理 */ slaveChildTableProps.data = dataFilter(commonBusiness.getTableTypes('slaveChild', props), 'slaveChild'); } const slaveTablePropsList = {}; if (commonUtils.isNotEmptyArr(props.slaveInfoList)) { props.slaveInfoList.forEach((item, index) => { // const slaveTablePagination = { // pageSize: commonUtils.isNotEmptyNumber(props.iPageSize) && props.iPageSize !== 0 ? props.iPageSize : commonConfig.pageSize, // ...slavePagination, // size: isSmall ? 'small' : 'large', // pageSizeOptions: commonConfig.pageSizeOptions, // showSizeChanger: !isSmall, // showQuickJumper: !isSmall, // hideOnSinglePage: true, // }; const bHasSlaveChild = commonUtils.isNotEmptyArr(props.slaveChildInfoList) && props.slaveChildInfoList.some(item => item.split('Child')[0] === `slave${index}`); slaveTablePropsList[`slaveTable${index}Props`] = { ...commonBusiness.getTableTypes(`slave${index}`, props), // tableBelone: 'list', tableProps: { // pagination: slaveTablePagination, onChange: props.onTitleChange1.bind(this, `slave${index}`), AutoTableHeight: commonUtils.isNotEmptyObject(slaveChildConfig) || bHasSlaveChild ? 150 : 375, }, }; }); } let gdsconfigformmasterId = ''; if (templateProps !== undefined) { gdsconfigformmasterId = templateProps.sId; } const sNotEmpty = 'sParentId,sProductId'; let uploadUrl = `${commonConfig.server_host}import/checkExcel?sModelsId=${sModelsId}&gdsconfigformmasterId=${gdsconfigformmasterId}&sNotEmpty=${sNotEmpty}&token=${app.token}`; /* 送货单需要传客户id */ if (commonUtils.isNotEmptyObject(sModelsType) && sModelsType === 'sales/salesSgoods' && commonUtils.isNotEmptyObject(masterData)) { const sCustomerId = masterData.sCustomerId; if (commonUtils.isNotEmptyObject(sCustomerId)) { uploadUrl = `${commonConfig.server_host}import/checkExcel?sModelsId=${sModelsId}&gdsconfigformmasterId=${gdsconfigformmasterId}&sNotEmpty=${sNotEmpty}&sCustomerId=${sCustomerId}&token=${app.token}`; } } const outProps = { action: uploadUrl, onChange: props.onUploadChangeFile, /* 文件上传 */ accept: 'xls/*', showUploadList: false, beforeUpload: () => { /* 查看时不可上传 */ if (!props.enabled) return false; }, }; const uploadPropsSales = props.onUploadPropsSales(); // let MainContent = commonFunc.showMessage(app.commonConst, 'MainContent');/* 主体内容 */ const isGetData = commonFunc.showMessage(app.commonConst, 'isGetData');/* 确认获取库存为零的数据吗 */ const isFilterGetDataZero = commonFunc.showMessage(app.commonConst, 'isFilterGetDataZero'); const isAllGetData = commonFunc.showMessage(app.commonConst, 'isAllGetData'); const CheckInfo = commonFunc.showMessage(app.commonConst, 'CheckInfo');/* 审批信息 */ const BtnimportData = commonFunc.showMessage(app.commonConst, 'importData');/* 导入数据 */ const ImportData = commonUtils.isNotEmptyObject(masterConfig) ? masterConfig.gdsconfigformslave.filter(item => item.sControlName.includes('ImportData') && item.bVisible) : '';/* 后台是否配置导入 */ const MainContent = masterConfig && commonUtils.isNotEmptyArr(masterConfig.gdsconfigformslave) && commonUtils.isNotEmptyArr(masterConfig.gdsconfigformslave.filter(item => item.sControlName === 'MainContent')) ? masterConfig.gdsconfigformslave.filter(item => item.sControlName === 'MainContent')[0].showName : commonFunc.showMessage(app.commonConst, 'MainContent'); /* 子表 */ const slaveInfo0 = masterConfig && commonUtils.isNotEmptyArr(masterConfig.gdsconfigformslave) && commonUtils.isNotEmptyArr(masterConfig.gdsconfigformslave.filter(item => item.sControlName === 'zSlaveInfo0')) ? masterConfig.gdsconfigformslave.filter(item => item.sControlName === 'zSlaveInfo0')[0].showName : commonFunc.showMessage(app.commonConst, 'zSlaveInfo0'); /* 表三 */ const slaveInfo1 = masterConfig && commonUtils.isNotEmptyArr(masterConfig.gdsconfigformslave) && commonUtils.isNotEmptyArr(masterConfig.gdsconfigformslave.filter(item => item.sControlName === 'zSlaveInfo1')) ? masterConfig.gdsconfigformslave.filter(item => item.sControlName === 'zSlaveInfo1')[0].showName : commonFunc.showMessage(app.commonConst, 'zSlaveInfo1'); /* 表四 */ const slaveInfo2 = masterConfig && commonUtils.isNotEmptyArr(masterConfig.gdsconfigformslave) && commonUtils.isNotEmptyArr(masterConfig.gdsconfigformslave.filter(item => item.sControlName === 'zSlaveInfo2')) ? masterConfig.gdsconfigformslave.filter(item => item.sControlName === 'zSlaveInfo2')[0].showName : commonFunc.showMessage(app.commonConst, 'zSlaveInfo2'); /* 表五 */ const slaveInfo3 = masterConfig && commonUtils.isNotEmptyArr(masterConfig.gdsconfigformslave) && commonUtils.isNotEmptyArr(masterConfig.gdsconfigformslave.filter(item => item.sControlName === 'zSlaveInfo3')) ? masterConfig.gdsconfigformslave.filter(item => item.sControlName === 'zSlaveInfo3')[0].showName : commonFunc.showMessage(app.commonConst, 'zSlaveInfo3'); /* 表六 */ const slaveInfo4 = masterConfig && commonUtils.isNotEmptyArr(masterConfig.gdsconfigformslave) && commonUtils.isNotEmptyArr(masterConfig.gdsconfigformslave.filter(item => item.sControlName === 'zSlaveInfo4')) ? masterConfig.gdsconfigformslave.filter(item => item.sControlName === 'zSlaveInfo4')[0].showName : commonFunc.showMessage(app.commonConst, 'zSlaveInfo4'); /* 表七 */ const slaveInfo5 = masterConfig && commonUtils.isNotEmptyArr(masterConfig.gdsconfigformslave) && commonUtils.isNotEmptyArr(masterConfig.gdsconfigformslave.filter(item => item.sControlName === 'zSlaveInfo5')) ? masterConfig.gdsconfigformslave.filter(item => item.sControlName === 'zSlaveInfo5')[0].showName : commonFunc.showMessage(app.commonConst, 'zSlaveInfo5'); /* 表八 */ const slaveInfo6 = masterConfig && commonUtils.isNotEmptyArr(masterConfig.gdsconfigformslave) && commonUtils.isNotEmptyArr(masterConfig.gdsconfigformslave.filter(item => item.sControlName === 'zSlaveInfo6')) ? masterConfig.gdsconfigformslave.filter(item => item.sControlName === 'zSlaveInfo6')[0].showName : commonFunc.showMessage(app.commonConst, 'zSlaveInfo6'); /* 表九 */ const slaveInfo7 = masterConfig && commonUtils.isNotEmptyArr(masterConfig.gdsconfigformslave) && commonUtils.isNotEmptyArr(masterConfig.gdsconfigformslave.filter(item => item.sControlName === 'zSlaveInfo7')) ? masterConfig.gdsconfigformslave.filter(item => item.sControlName === 'zSlaveInfo7')[0].showName : commonFunc.showMessage(app.commonConst, 'zSlaveInfo7'); /* 表十 */ const slaveInfo8 = masterConfig && commonUtils.isNotEmptyArr(masterConfig.gdsconfigformslave) && commonUtils.isNotEmptyArr(masterConfig.gdsconfigformslave.filter(item => item.sControlName === 'zSlaveInfo8')) ? masterConfig.gdsconfigformslave.filter(item => item.sControlName === 'zSlaveInfo8')[0].showName : commonFunc.showMessage(app.commonConst, 'zSlaveInfo8'); /* 表十一 */ const zSlaveChild = masterConfig && commonUtils.isNotEmptyArr(masterConfig.gdsconfigformslave) && commonUtils.isNotEmptyArr(masterConfig.gdsconfigformslave.filter(item => item.sControlName === 'zSlaveChild')) ? masterConfig.gdsconfigformslave.filter(item => item.sControlName === 'zSlaveChild')[0].showName : commonFunc.showMessage(app.commonConst, 'zSlaveChild'); /* 子表 */ const slaveInfoArr = [ slaveInfo0, slaveInfo1, slaveInfo2, slaveInfo3, slaveInfo4, slaveInfo5, slaveInfo6, slaveInfo7, slaveInfo8 ]; /* if (props.sModelsType === 'sales/salesOrder') { const btnUpload = ( ); slaveTableProps.tableProps.newButton = btnUpload; } */ const baseTabChange = () => { const resize = new Event('resize'); window.dispatchEvent(resize); } const { currentPane } = app; const bFlow = currentPane?.bFlow; /* 是否需要展示审批流程信息 */ const flexContentStyle = bFlow ? { width:'75%'} : {}; return (
{ commonUtils.isNotEmptyArr(ImportData) ?
{BtnimportData}
: ''}
{ onlyMaster ?
:
{ props.slaveInfoList?.map((item, index) => { const slaveTableProps = slaveTablePropsList[`slaveTable${index}Props`]; const tabTitle = slaveInfoArr[index]; return ( ); }) } { commonUtils.isNotEmptyObject(checkConfig) ?
: '' }
} { onlyMasterAndSlave ?
: '' } {commonUtils.isNotEmptyObject(slaveChildConfig) ? : '' }
{ bFlow ?
: '' }
{ isGetDataVisible ? {isAllGetData} , , ]} >

{isGetData}

: '' } { props.materialsChooseVisible && !props.visibleModal ? : '' } { props.productProcessInfoChooseVisible ? : '' } { props.importFormDataVisible ? : '' } { props.contextMenuModalVisible ? : '' } ); }); const SlaveChildTabComponent = (props) => { const { slaveName, slaveChildInfoList = [], app, isSmall, sModelsId } = props; const slaveChildList = slaveChildInfoList.filter(item => item.split('Child')[0] === slaveName); if (slaveChildList.length === 0) { return ''; } const bCjrb = app?.currentPane?.title?.includes("车间日报"); return ( {slaveChildList.map(childName => { const {[`${childName}PageSize`]: slaveChildPageSize, [`${childName}Pagination`]: slaveChildPagination, [`${slaveName}SelectedRowKeys`]: tableSelectedRowKeys, [`${childName}Data`]: slaveChildData} = props; const paginationSlaveChild = { pageSize: commonUtils.isNotEmptyNumber(slaveChildPageSize) && slaveChildPageSize !== 0 ? slaveChildPageSize : commonConfig.pageSize, total: commonUtils.isEmptyArr(slaveChildData) ? 0 : slaveChildData.length, current: commonUtils.isEmptyObject(slaveChildPagination) ? 1 : slaveChildPagination.current, ...slaveChildPagination, // size: 'large', // showQuickJumper: true, hideOnSinglePage: true, size: isSmall ? 'small' : 'large', pageSizeOptions: commonConfig.pageSizeOptions, showSizeChanger: !isSmall, showQuickJumper: !isSmall, }; const tableProps = { ...commonBusiness.getTableTypes(childName, props), tableProps: { AutoTableHeight: bCjrb ? 250 : 150, pagination:paginationSlaveChild, onChange: props.onTitleChange.bind(this, childName), }, filteredValue: props.slaveSelectedRowKeys, // onFilterData: props.onFilterData, OnGetFilterData: props.onGetFilterData, }; if(sModelsId === '12710101117043772382700'){ /* 特殊处理车间版材报废考核 */ tableProps.filteredValue= tableSelectedRowKeys; if(childName ==='slaveChild1' || childName ==='slave0Child0') { tableProps.onFilterData = props.onFilterData; } } else { tableProps.onFilterData = props.onFilterData; } return ( ); })} ); } export default CommonBase(CommonSubSales(CommonSubBill));