diff --git a/src/components/Common/CommonBillEvent.js b/src/components/Common/CommonBillEvent.js
index 52e8be0..4844729 100644
--- a/src/components/Common/CommonBillEvent.js
+++ b/src/components/Common/CommonBillEvent.js
@@ -9834,6 +9834,237 @@ export default (ChildComponent) => {
addState[`${type}Data`] = newData;
return addState;
}
+
+ /* 选择成品工序 点确定 */
+ handleSelectFinalProcessNew = async (name, selectConfig, selectData, slaveFinalSelectedData) => {
+ const targetname = 'process';
+ const {
+ [`${targetname}Data`]: tableData, [`${targetname}Config`]: tableConfig, controlSelectedRowKeys, sModelsId, token,
+ materialsConfig, processConfig,masterConfig,
+ } = this.props;
+ const { masterData } = this.props;
+ if (name === 'chooseProductProcess') {
+ const { controlData } = this.props;
+ const iControlIndex = commonUtils.isNotEmptyArr(controlSelectedRowKeys) ? controlData.findIndex(item => item.sId === controlSelectedRowKeys[0]) : -1;
+ /* 取选择工序从表配置 */
+ const slavesControlName = commonUtils.isNotEmptyObject(selectConfig.sControlName) ? `${selectConfig.sControlName}.slave` : '';
+ let slaveSelectConfig = {};
+ let slaveIndex = -1;
+ if (commonUtils.isNotEmptyObject(masterConfig)) {
+ slaveIndex = masterConfig.gdsconfigformslave.findIndex(item => item.sControlName === slavesControlName);
+ if (slaveIndex > -1) {
+ slaveSelectConfig = masterConfig.gdsconfigformslave[slaveIndex];
+ }
+ }
+ /* 通过slaveFinalSelectedRowKeys找到slaveData数据 */
+ if (commonUtils.isNotEmptyArr(slaveFinalSelectedData)) {
+ for (const slaveObj of slaveFinalSelectedData) {
+ if (commonUtils.isNotEmptyArr(selectData)) {
+ for (const item of selectData) {
+ const newCopyTo = {};
+ newCopyTo.master = masterData;
+ if (iControlIndex > -1) {
+ newCopyTo.control = controlData[iControlIndex];
+ }
+ let tableDataRow = commonFunc.getDefaultData(tableConfig, newCopyTo); // 取默认值
+ tableDataRow = { ...tableDataRow, ...commonFunc.getAssignFieldValue(selectConfig.sAssignField, item, newCopyTo) }; // 取赋值字段
+ if (commonUtils.isNotEmptyObject(slaveSelectConfig)) {
+ tableDataRow = { ...tableDataRow, ...commonFunc.getAssignFieldValue(slaveSelectConfig.sAssignField, slaveObj, newCopyTo) }; // 取从表赋值字段
+ }
+ tableDataRow.handleType = 'add';
+ tableDataRow.sId = commonUtils.createSid();
+ tableDataRow.sParentId = masterData.sId;
+
+ tableDataRow.sCombinePartsName = slaveObj.sId; /* 成品工序sCombinePartsName 为从表id */
+ tableDataRow.sCombinePartsNameNew = slaveObj.sProductName; /* 成品工序sCombinePartsName 为从表产品名称 */
+ // tableDataRow.sSlaveProductId = slaveObj.sId;
+
+ tableDataRow.sType = '3';
+ if (commonUtils.isNotEmptyObject(tableDataRow.sWorkOrderParam)) {
+ tableDataRow = { ...tableDataRow, ...commonUtils.convertStrToObj(tableDataRow.sWorkOrderParam) };
+ }
+ if (targetname === 'process') {
+ const value = { sSqlCondition: { sParentId: item.sId } };
+ const configDataId = '11811781131121915166093023980';
+ const dataUrl = `${commonConfig.server_host}business/getBusinessDataByFormcustomId/${configDataId}?sModelsId=${sModelsId}`;
+ const returnData = (await commonServices.postValueService(token, value, dataUrl)).data;
+ if (returnData.code === 1) {
+ const eleprocessmachineData = returnData.dataset.rows[0].dataSet;
+ const newData = eleprocessmachineData.filter(item => item.bDefault);
+ if (commonUtils.isNotEmptyArr(newData)) {
+ tableDataRow.sMachineId = newData[0].sMachineId;
+ }
+ }
+ const bProcessAssort = false;
+ let returnProcessAssort = [];
+ let processAssignAssort = '';
+ let dropDownDataProcessName;
+ if (bProcessAssort) {
+ const dataUrl = `${commonConfig.server_host}salesorder/getProcessAssort?sModelsId=${sModelsId}`;
+ const dataProcessAssort = (await commonServices.postValueService(token, {}, dataUrl)).data;
+ if (dataProcessAssort.code === 1) {
+ returnProcessAssort = dataProcessAssort.dataset.rows[0].processassort;
+ const iIndex = processConfig.gdsconfigformslave.findIndex(item => item.sName === 'sProcessName');
+ if (iIndex > -1) {
+ const sqlDropDownData = await this.props.getSqlDropDownData(sModelsId, 'slave', processConfig.gdsconfigformslave[iIndex]);
+ dropDownDataProcessName = sqlDropDownData.dropDownData;
+ processAssignAssort = processConfig.gdsconfigformslave[iIndex].sAssignField;
+ }
+ }
+ }
+ // 配套工序
+ if (bProcessAssort) {
+ returnProcessAssort.filter(item => item.sParentId === tableDataRow.sProcessId).forEach(((itemProcessAssort) => {
+ const iIndex = dropDownDataProcessName.findIndex(item => item.sId === itemProcessAssort.sProcessId);
+ if (iIndex > -1) {
+ const iProcessIndex = selectData.findIndex(item => item.sId === itemProcessAssort.sProcessId);
+ const iNewProcessIndex = tableDataRow.sType === '3' ?
+ tableData.findIndex(item => item.sProcessId === itemProcessAssort.sProcessId) :
+ tableData.findIndex(item => item.sProcessId === itemProcessAssort.sProcessId && item.sControlId === controlData[iControlIndex].sId);
+ if (iProcessIndex < 0 && iNewProcessIndex < 0) {
+ let processRow = commonFunc.getDefaultData(processConfig, newCopyTo); // 取默认值
+ processRow = { ...processRow, ...commonFunc.getAssignFieldValue(processAssignAssort, dropDownDataProcessName[iIndex], newCopyTo) }; // 取赋值字段
+ processRow.handleType = 'add';
+ processRow.sId = commonUtils.createSid();
+ processRow.sParentId = masterData.sId;
+ processRow.sType = dropDownDataProcessName[iIndex].sType;
+
+ // 成品工序的配套工序带入产品名称-开始
+ processRow.sCombinePartsName = slaveObj.sId; /* 成品工序sCombinePartsName 为从表id */
+ processRow.sCombinePartsNameNew = slaveObj.sProductName; /* 成品工序sCombinePartsName 为从表产品名称 */
+ processRow.sCombineProductNameNew = slaveObj.sProductName; /* 成品工序sCombinePartsName 为从表产品名称 */
+ // processRow.sParentProcessId = item.sId;
+ // 成品工序的配套工序带入产品名称-结束
+
+ if (iControlIndex > -1 && processRow.sType !== '3') {
+ processRow.sControlId = controlData[iControlIndex].sId;
+ processRow.sPartsName = controlData[iControlIndex].sPartsName;
+ }
+ tableData.push(processRow);
+
+ if (itemProcessAssort.sType === 'all') {
+ controlData.filter(item => item.sId !== controlData[iControlIndex].sId).forEach((controlTableRow) => {
+ const iNewProcessIndex = dropDownDataProcessName[iIndex].sType === '3' ?
+ tableData.findIndex(item => item.sProcessId === itemProcessAssort.sProcessId) :
+ tableData.findIndex(item => item.sProcessId === itemProcessAssort.sProcessId && item.sControlId === controlTableRow.sId);
+ if (iNewProcessIndex < 0) {
+ let processRow = commonFunc.getDefaultData(processConfig, newCopyTo); // 取默认值
+ processRow = { ...processRow, ...commonFunc.getAssignFieldValue(processAssignAssort, dropDownDataProcessName[iIndex], newCopyTo) }; // 取赋值字段
+ processRow.handleType = 'add';
+ processRow.sId = commonUtils.createSid();
+ processRow.sParentId = masterData.sId;
+ processRow.sType = dropDownDataProcessName[iIndex].sType;
+
+ // 成品工序的配套工序带入产品名称-开始
+ processRow.sCombinePartsName = slaveObj.sId; /* 成品工序sCombinePartsName 为从表id */
+ processRow.sCombinePartsNameNew = slaveObj.sProductName; /* 成品工序sCombinePartsName 为从表产品名称 */
+ processRow.sCombineProductNameNew = slaveObj.sProductName; /* 成品工序sCombinePartsName 为从表产品名称 */
+ // processRow.sParentProcessId = item.sId;
+ // 成品工序的配套工序带入产品名称-结束
+
+ if (iControlIndex > -1 && processRow.sType !== '3') {
+ processRow.sControlId = controlTableRow.sId;
+ processRow.sPartsName = controlTableRow.sPartsName;
+ }
+ tableData.push(processRow);
+ }
+ });
+ }
+ }
+ }
+ }));
+ }
+ }
+ // const processLen = commonBusiness.getTableTypes('process', this.props).data.filter(item => this.state.currentTab.process.split('-').indexOf(item.sType) !== -1).length;
+ // tableDataRow.iOrder = processLen;
+ if (iControlIndex > -1 && tableDataRow.sType !== '3') {
+ tableDataRow.sControlId = controlData[iControlIndex].sId;
+ tableDataRow.sPartsName = controlData[iControlIndex].sPartsName;
+ const processLen = tableData.filter(item => item.sType !== '3').length + 1; /* 工序序号自增 */
+ tableDataRow.iOrder = processLen;
+ tableData.push(tableDataRow);
+ } else if (tableDataRow.sType === '3') {
+ const processLen = tableData.filter(item => item.sType === '3').length + 1; /* 工序序号自增 */
+ tableDataRow.iOrder = processLen;
+ tableData.push(tableDataRow);
+ }
+ }
+ }
+ }
+ } else {
+ message.error('请选择产品!');
+ return;
+ }
+ const tableDataNew = this.sortData(controlData, tableData);
+ this.props.onSaveState({
+ [`${targetname}Data`]: tableDataNew, [`${name}ChooseVisible`]: false, materialsConfig, materialsSelectedRowKeys: [],
+ });
+ }
+ }
+
+ /* 选择成品材料 点确定 */
+ handleSelectFinalMaterialsNew = async (name, selectConfig, selectData, slaveFinalSelectedData) => {
+ // 选择成品材料,将sType改为2
+ if (name === 'productMaterials') {
+ selectData = selectData.map(val => ({ ...val, sType: '2' }));
+ name = 'materials0';
+ }
+ const {
+ [`${name}Data`]: tableData = [], [`${name}Config`]: tableConfig, controlSelectedRowKeys, materialsConfig,masterConfig,
+ } = this.props;
+ const { masterData } = this.props;
+ const { controlData } = this.props;
+ const iControlIndex = commonUtils.isNotEmptyArr(controlSelectedRowKeys) ? controlData.findIndex(item => item.sId === controlSelectedRowKeys[0]) : -1;
+ /* 取选择工序从表配置 */
+ const slavesControlName = commonUtils.isNotEmptyObject(selectConfig.sControlName) ? `${selectConfig.sControlName}.slave` : '';
+ let slaveSelectConfig = {};
+ let slaveIndex = -1;
+ if (commonUtils.isNotEmptyObject(masterConfig)) {
+ slaveIndex = masterConfig.gdsconfigformslave.findIndex(item => item.sControlName === slavesControlName);
+ if (slaveIndex > -1) {
+ slaveSelectConfig = masterConfig.gdsconfigformslave[slaveIndex];
+ }
+ }
+ if (commonUtils.isNotEmptyArr(slaveFinalSelectedData)) {
+ for (const slaveObj of slaveFinalSelectedData) {
+ if (commonUtils.isNotEmptyArr(selectData)) {
+ for (const item of selectData) {
+ const newCopyTo = {};
+ newCopyTo.master = masterData;
+ if (iControlIndex > -1) {
+ newCopyTo.control = controlData[iControlIndex];
+ }
+ let tableDataRow = commonFunc.getDefaultData(tableConfig, newCopyTo); // 取默认值
+ tableDataRow = { ...tableDataRow, ...commonFunc.getAssignFieldValue(selectConfig.sAssignField, item, newCopyTo) }; // 取赋值字段
+ if (commonUtils.isNotEmptyObject(slaveSelectConfig)) {
+ tableDataRow = { ...tableDataRow, ...commonFunc.getAssignFieldValue(slaveSelectConfig.sAssignField, slaveObj, newCopyTo) }; // 取从表赋值字段
+ }
+ tableDataRow.handleType = 'add';
+ tableDataRow.sId = commonUtils.createSid();
+
+ tableDataRow.sParentId = masterData.sId;
+ tableDataRow.sCombinePartsName = slaveObj.sId; /* 成品材料sCombinePartsName 为从表id */
+ tableDataRow.sCombinePartsNameNew = slaveObj.sProductName;
+ // tableDataRow.sSlaveProductId = slaveObj.sId;
+
+ if (iControlIndex > -1 && tableDataRow.sType !== '2') {
+ tableDataRow.sControlId = controlData[iControlIndex].sId;
+ tableDataRow.sPartsName = controlData[iControlIndex].sPartsName;
+ tableData.push(tableDataRow);
+ } else if (tableDataRow.sType === '2') {
+ tableData.push(tableDataRow);
+ }
+ }
+ }
+ }
+ } else {
+ message.error('请选择产品!');
+ return;
+ }
+ this.props.onSaveState({
+ [`${name}Data`]: tableData, [`${name}ChooseVisible`]: false, materialsConfig, materialsSelectedRowKeys: [],
+ });
+ }
handleOnExpand = async (expanded, record) => {
const { expKeys } = this.props;
/* 添加移除展开的sId */
@@ -10147,6 +10378,8 @@ export default (ChildComponent) => {
isSColorSerialMemo={this.isSColorSerialMemo}
onBtnParamPage ={this.handleBtnParamPage}
onFilterData ={this.handleFilterData}
+ onSelectProductProcessNew={this.handleSelectFinalProcessNew}
+ onSelectProductMaterialsNew={this.handleSelectFinalMaterialsNew}
/>
);
}
diff --git a/src/components/Manufacture/CommonPackEvent.js b/src/components/Manufacture/CommonPackEvent.js
index 1f98f88..f5939c2 100644
--- a/src/components/Manufacture/CommonPackEvent.js
+++ b/src/components/Manufacture/CommonPackEvent.js
@@ -14,6 +14,7 @@ import CommonPartsInfo from "@/components/Common/CommonPartsInfo";
import CommonListSelect from "@/components/Common/CommonListSelect";
import CommonListSelectMulti from "@/components/Common/CommonListSelectMulti";
import CommonListSelectFlex from "@/components/Common/CommonListSelectFlex";
+import CommonListSelectProductProcess from '@/components/Common/CommonListSelectAssignment';
import ContextMenuModal from "@/components/Common/ContextMenuModal";
import WorkFlow from "@/components/Common/Flows/CommonFlow";
import SvgIcon from "@/components/SvgIcon";
@@ -859,6 +860,83 @@ const CommonPackEvent = props => {
};
returnProps.materialsFilterNew = materialsFilterNew;
+
+ // 公共方法-过滤工序数据
+ const processFilteNew = (props, data, type, bFinal) => {
+ // materials : 0-1部件材料 : 2成品材料;
+ // process : 0-1-2 部品工序 : 3成品工序;
+ // bfinal: 是否成品
+ const { slaveSelectedRowKeys, controlSelectedRowKeys } = props;
+ const oriData = data.data || [];
+ if (data.data) {
+ let res = [];
+ switch (type) {
+ case 'materials':
+ if (bFinal) {
+ if (bFinal) { /* 成品材料 */
+ if (slaveSelectedRowKeys && slaveSelectedRowKeys.length) {
+ res = oriData.filter((val) => {
+ return val.sType === '2' && (val.sCombinePartsName === slaveSelectedRowKeys[0] || !val.sCombinePartsName);
+ });
+ } else {
+ res = oriData.filter((val) => {
+ return val.sType === '2';
+ });
+ }
+ } else { /* 部件材料 */
+ res = oriData.filter((val) => {
+ return val.sType !== '2';
+ });
+ }
+ } else {
+ res = oriData;
+ }
+ break;
+ case 'process':
+ if (bFinal) {
+ if (bFinal) { /* 成品工序 */
+ if (slaveSelectedRowKeys && slaveSelectedRowKeys.length) {
+ res = oriData.filter((val) => {
+ return val.sType === '3' && (val.sCombinePartsName === slaveSelectedRowKeys[0] || !val.sCombinePartsName);
+ });
+ } else {
+ res = oriData.filter((val) => {
+ return val.sType === '3';
+ });
+ }
+ } else { /* 部件工序 */
+ if (controlSelectedRowKeys && controlSelectedRowKeys.length) {
+ res = oriData.filter((val) => {
+ return val.sType !== '3' && (controlSelectedRowKeys.includes(val.sControlId) || !val.sControlId);
+ });
+ } else {
+ res = oriData.filter((val) => {
+ return val.sType !== '3';
+ });
+ }
+
+ }
+ } else {
+ // 成品工序放最下面
+ const processData = oriData.filter(item => item.sControlId !== props.controlSelectedRowKeys[0])
+ const idsToRemove = processData.map(item => item.sControlId);
+ const allData = oriData.filter(item => !idsToRemove.includes(item.sControlId))
+ res = allData.concat(processData);
+ const res3 = res.filter(item => item.sType === '3');
+ const resOther = res.filter(item => item.sType !== '3');
+ res = [...resOther, ...res3];
+ }
+ break;
+ default:
+ res = oriData;
+ }
+ return res;
+ } else {
+ return oriData || [];
+ }
+ }
+ returnProps.processFilteNew = processFilteNew;
+
// 公共方法-递归数据
const handleGetSlaveSelectedRowChildren = (allData, sId) => {
let result = [];
@@ -1146,6 +1224,10 @@ const CommonModal = props => {
/** 选择工序弹窗组件 */
+ /** 选择成品工序弹窗组件 */
+
+ /** 选择成品材料弹窗组件 */
+
/** 选择材料弹窗组件 */
/** 选择工艺参数弹窗(旧) */
@@ -1279,6 +1361,175 @@ const ProcessChooseModal = props => {
);
};
+// 选择成品工序弹窗
+const ProductProcessChooseModal = props => {
+ const { productProcessChooseVisible } = props;
+ if (!productProcessChooseVisible) return "";
+
+ const { app, sModelsId, sModelsType, sTabId, content, productProcessChooseData, masterConfig, processData, controlSelectedRowKeys } = props;
+ const pane = app.panes.filter(paneTmp => paneTmp.key === sTabId)[0];
+ const { notCurrentPane } = pane;
+
+ let setProcessTitle = commonFunc.showMessage(app.commonConst, "setProcess"); //选择工序标题
+
+ let chooseProdutProcessType = {};
+ let chooseProdutProcessConfig = {};
+ if (commonUtils.isNotEmptyObject(productProcessChooseData)) {
+ chooseProdutProcessConfig = masterConfig.gdsconfigformslave.find(item => item.sControlName === "BtnChooseProductProcess") || {};
+ setProcessTitle = chooseProdutProcessConfig.showName || setProcessTitle;
+ const { sMenuName, sName, sId, sModelType } = productProcessChooseData;
+
+ let slaveFinalData = [];
+ let slaveFinalSelectedRowKeys =[];
+ if (commonUtils.isNotEmptyArr(props.slaveData)) {
+ slaveFinalData = JSON.parse(JSON.stringify(props.slaveData));
+ if (commonUtils.isNotEmptyArr(slaveFinalData) && slaveFinalData.length > 0) {
+ slaveFinalData.forEach((item) => {
+ item.sSlaveId = commonUtils.createSid(); /* 添加成品工序从表 */
+ });
+ }
+ /* 选择成品工序 只有一条从表 则默认选中 */
+ if(slaveFinalData.length ===1){
+ slaveFinalSelectedRowKeys.push(slaveFinalData[0].sSlaveId);
+ }
+
+ }
+
+ let slaveFinalConfig = {};
+ if (commonUtils.isNotEmptyObject(props.slaveConfig)) {
+ slaveFinalConfig = JSON.parse(JSON.stringify(props.slaveConfig));
+ slaveFinalConfig.bMutiSelect = true;
+ }
+
+ chooseProdutProcessType = {
+ app: {
+ ...props.app,
+ currentPane: {
+ name: 'chooseProductProcess',
+ config: chooseProdutProcessConfig,
+ conditonValues: props.getSqlCondition(chooseProdutProcessConfig),
+ title: sMenuName,
+ route: sName,
+ formId: sId,
+ key: sModelsId + sId,
+ sModelsType: 'search/finalProcess',
+ select: props.onSelectProductProcessNew, /* 选择成品工序 */
+ selectCancel: props.onCancelModal.bind(this, 'productProcessChooseVisible'),
+ },
+ },
+ slaveFinalConfig,
+ slaveFinalColumn: props.slaveColumn,
+ slaveFinalData,
+ slaveFinalSelectedRowKeys,
+ dispatch: props.dispatch,
+ fatherModelsType: props.sModelsType,
+ content: props.content,
+ id: new Date().getTime().toString(),
+ };
+ }
+
+ const onCancel = () => {
+ props.onSaveState({ productProcessChooseVisible: false });
+ };
+
+ return (
+
+
+
+ );
+};
+
+
+// 选择成品工序弹窗
+const ProductMaterialsChooseModal = props => {
+ const { productMaterialsChooseVisible } = props;
+ if (!productMaterialsChooseVisible) return "";
+
+ const { app, sModelsId, sModelsType, sTabId, content, productMaterialsChooseData, masterConfig, processData, controlSelectedRowKeys } = props;
+ const pane = app.panes.filter(paneTmp => paneTmp.key === sTabId)[0];
+ const { notCurrentPane } = pane;
+
+ let setMaterialsTitle = ''; //选择工序标题
+
+ let chooseProductMaterialsType = {};
+ let chooseProductMaterialsConfig = {};
+ if (commonUtils.isNotEmptyObject(productMaterialsChooseData)) {
+ chooseProductMaterialsConfig = masterConfig.gdsconfigformslave.find(item => item.sControlName === "BtnChooseProductMaterials") || {};
+ setMaterialsTitle = chooseProductMaterialsConfig.showName || setMaterialsTitle;
+ const { sMenuName, sName, sId, sModelType } = productMaterialsChooseData;
+
+ let slaveFinalData = [];
+ let slaveFinalSelectedRowKeys =[];
+ if (commonUtils.isNotEmptyArr(props.slaveData)) {
+ slaveFinalData = JSON.parse(JSON.stringify(props.slaveData));
+ if (commonUtils.isNotEmptyArr(slaveFinalData) && slaveFinalData.length > 0) {
+ slaveFinalData.forEach((item) => {
+ item.sSlaveId = commonUtils.createSid(); /* 添加成品工序从表 */
+ });
+ }
+ /* 选择成品工序 只有一条从表 则默认选中 */
+ if(slaveFinalData.length ===1){
+ slaveFinalSelectedRowKeys.push(slaveFinalData[0].sSlaveId);
+ }
+
+ }
+
+ let slaveFinalConfig = {};
+ if (commonUtils.isNotEmptyObject(props.slaveConfig)) {
+ slaveFinalConfig = JSON.parse(JSON.stringify(props.slaveConfig));
+ slaveFinalConfig.bMutiSelect = true;
+ }
+
+ chooseProductMaterialsType = {
+ app: {
+ ...props.app,
+ currentPane: {
+ name: 'productMaterials',
+ config: chooseProductMaterialsConfig,
+ conditonValues: props.getSqlCondition(chooseProductMaterialsConfig),
+ title: sMenuName,
+ route: sName,
+ formId: sId,
+ key: sModelsId + sId,
+ sModelsType: 'search/finalMaterials',
+ select: props.onSelectProductMaterialsNew, /* 选择成品工序 */
+ selectCancel: props.onCancelModal.bind(this, 'productMaterialsChooseVisible'),
+ },
+ },
+ slaveFinalConfig,
+ slaveFinalColumn: props.slaveColumn,
+ slaveFinalData,
+ slaveFinalSelectedRowKeys,
+ dispatch: props.dispatch,
+ fatherModelsType: props.sModelsType,
+ content: props.content,
+ id: new Date().getTime().toString(),
+ };
+ }
+
+ const onCancel = () => {
+ props.onSaveState({ productMaterialsChooseVisible: false });
+ };
+
+ return (
+
+
+
+ );
+};
+
// 选择材料弹窗
const MaterialsChooseModal = props => {
const { materialsChooseVisible } = props;
diff --git a/src/components/Manufacture/WorkOrderPackTableTreeNew/index.js b/src/components/Manufacture/WorkOrderPackTableTreeNew/index.js
index 158f9f6..c885755 100644
--- a/src/components/Manufacture/WorkOrderPackTableTreeNew/index.js
+++ b/src/components/Manufacture/WorkOrderPackTableTreeNew/index.js
@@ -54,6 +54,23 @@ const WorkOrderPackTableTreeNewEvent = props => {
const processColumn = commonFunc.getHeaderConfig(processConfig);
tableList.push(["process", processConfig, processColumn]);
+ // 成品工序表配置
+ const finishedProcessConfig = commonUtils.isNotEmptyArr(formData.filter(item => item.sGrd?.includes('productProcess'))) ?
+ formData.filter(item => item.sGrd?.includes('productProcess'))[0] : {};
+ const finishedProcessColumn = commonUtils.isNotEmptyObject(finishedProcessConfig) ? commonFunc.getHeaderConfig(finishedProcessConfig) : false;
+ if(commonUtils.isNotEmptyObject(finishedProcessConfig)) {
+ tableList.push(["finishedProcess", finishedProcessConfig, finishedProcessColumn]);
+ }
+
+ // 成品材料表配置
+ let finishedMaterialsConfig = commonUtils.isNotEmptyArr(formData.filter(item => item.sGrd?.includes('productMaterials'))) ?
+ formData.filter(item => item.sGrd?.includes('productMaterials'))[0] : '';
+ const finishedMaterialsColumn = finishedMaterialsConfig ? commonFunc.getHeaderConfig(finishedMaterialsConfig) : false;
+ if(commonUtils.isNotEmptyObject(finishedProcessConfig)) {
+ tableList.push(["finishedMaterials", finishedMaterialsConfig, finishedMaterialsColumn]);
+ }
+
+
// 材料表配置
const materialsConfig = formData.filter(item => item.sTbName.toUpperCase() === "MftWorkOrderMaterials".toUpperCase())[0];
const materialsColumn = commonFunc.getHeaderConfig(materialsConfig);
@@ -1396,7 +1413,7 @@ const WorkOrderPackTableTreeNewEvent = props => {
controlData,
controlDelData,
materialsConfig,
- materials0Data: materialsData,
+ materials0Data : materialsData,
materialsDelData,
processConfig,
processData,
@@ -3491,6 +3508,7 @@ const controlProps = props => {
const processProps = props => {
const returnProps = {};
returnProps.onDataRowAdd = ({ name, bFinished, bModalAdd }) => {
+ bModalAdd = bFinished;
const { masterConfig } = props;
if (bModalAdd === true) {
let iIndex = -1;
@@ -3870,7 +3888,9 @@ const processProps = props => {
const materialsProps = props => {
const returnProps = {};
returnProps.onDataRowAdd = params => {
- const { bFinished, bModalAdd } = params;
+ const { bFinished } = params;
+ let { bModalAdd } = params;
+ bModalAdd = bFinished
const { masterConfig } = props;
if (bModalAdd === true) {
let iIndex = -1;
@@ -4304,12 +4324,29 @@ const ControlComponent = props => {
// 其他表布局
const OtherComponent = props => {
- const { app, materialsChildInfoList, colorConfig } = props;
+ const { app, materialsChildInfoList, colorConfig , masterConfig } = props;
if (materialsChildInfoList === undefined) return "";
const { commonConst } = app;
+ let bSplitProcess = false; /* 拆分工序 */
+ if (commonUtils.isNotEmptyObject(masterConfig)) {
+ const iIndex = masterConfig.gdsconfigformslave.findIndex(item => item.sControlName === 'bSplitProcess');
+ if (iIndex > -1) {
+ bSplitProcess = masterConfig.gdsconfigformslave[iIndex].bVisible;
+ }
+ }
+
+
+ let bSplitMaterials = false; /* 拆分材料 */
+ if (commonUtils.isNotEmptyObject(masterConfig)) {
+ const iIndex = masterConfig.gdsconfigformslave.findIndex(item => item.sControlName === 'bSplitMaterials');
+ if (iIndex > -1) {
+ bSplitMaterials = masterConfig.gdsconfigformslave[iIndex].bVisible;
+ }
+ }
+
const [processTabValue, setProcessTabValue] = useState("processInfo");
const processInfo = commonFunc.showMessage(commonConst, "processInfo"); // 工序信息
const dailyInfo = commonFunc.showMessage(commonConst, "dailyInfo"); // 日志信息
@@ -4322,6 +4359,9 @@ const OtherComponent = props => {
commonUtils.isNotEmptyObject(commonFunc.showMessage(commonConst, "colorInfo")) ?
commonFunc.showMessage(commonConst, "colorInfo") : '工艺颜色'; // "工艺颜色";
+ const productMaterialsInfo = commonFunc.showMessage(app.commonConst, 'productMaterialsInfo');/* 成品材料 */
+ const productProcessInfo = commonFunc.showMessage(app.commonConst, 'productProcessInfo');/* 成品工序 */
+
const [materialsTabValue, setMaterialsTabValue] = useState(12);
const panelExtra = (type, { selfName, selfId } = {}) => {
@@ -4342,6 +4382,7 @@ const OtherComponent = props => {
const radioValue = index + 2 + 10;
return {radioTitle};
})}
+ {bSplitMaterials ? {productMaterialsInfo} : ""}
);
@@ -4355,7 +4396,7 @@ const OtherComponent = props => {
}}
>
{processInfo}
- {/* {bSplitProcess ? {productProcessInfo} : ""} */}
+ {bSplitProcess ? {productProcessInfo} : ""}
);
@@ -4413,19 +4454,21 @@ const OtherComponent = props => {
{processTabValue === "processInfo" && }
+ { processTabValue === "productProcessInfo" && }
+ { materialsTabValue === 22 && }
{materialsChildInfoListFilter.map(tablename => {
- const { showName } = props[`${tablename}Config`];
+ const { sChinese } = props[`${tablename}Config`];
return (
@@ -4532,6 +4575,86 @@ const ProcessComponent = props => {
}
};
+// 成品工序表
+const ProductProcessComponent = props => {
+ const { finishedProcessConfig, controlSelectedRowKeys } = props;
+ if (!finishedProcessConfig) return "";
+
+ const productProcessTableId = useRef(`productProcessTableId_${commonUtils.createSid()}`);
+ const { setAdd, setCopy, setDelete } = props.handleGetIcon();
+
+ const bProcessSort = finishedProcessConfig.gdsconfigformslave.find(item => item.sControlName === "handleSort")?.bVisible || false;
+
+ const baseData = commonBusiness.getTableTypes("process", props);
+ const finishedProcessPropsType = {
+ ...baseData,
+ configName: 'finishedProcess',
+ config: finishedProcessConfig,
+ data: props.processFilteNew(props, baseData, 'process', true),
+ filteredValue: controlSelectedRowKeys,
+ onFilterData: props.onFilterData,
+ OnGetFilterData: props.OnGetFilterData,
+ onKeyDown: props.onKeyDown,
+ tableProps: {
+ rowSelection: null,
+ setAdd,
+ setCopy,
+ setDelete,
+ AutoTableHeight: "100%",
+ sticky: true,
+ // sticky: layoutChange ? { offsetHeader: stickyHeight } : true
+ },
+ onDrag: props.onDrag,
+ isDragAndDrop: false,
+ setOpterationColumn: "Y",
+ bModalAdd: true,
+ dragHandle: bProcessSort && props.enabled,
+ selfTableHeight: 330,
+ noVlist: true,
+ tableId: productProcessTableId.current,
+ };
+
+ const getProductProcessTable = () => ;
+
+ const showLeftConfig = finishedProcessConfig.gdsconfigformslave.find(item => item.sControlName === "bShowLeft");
+
+ if (showLeftConfig) {
+ const { iColValue, sChinese: processShowTitle } = showLeftConfig;
+
+ const processTitleWidth = finishedProcessConfig.gdsconfigformslave.find(item => item.sControlName === "titleWidth")?.sDefault;
+ const commonViewDragableProps = {
+ ...props,
+ hideTabsNav: true,
+ processTitleWidth,
+ comparedTableId: productProcessTableId.current,
+ sParamData: [
+ {
+ sParamType: "sWorkOrder",
+ sParamName: "工单参数",
+ },
+ ],
+ tableName: "process",
+ };
+ return (
+
+
+ {getProductProcessTable()}
+
+
+ {processShowTitle && (
+
+ {processShowTitle}
+
+ )}
+
+
+
+ );
+ } else {
+ return getProductProcessTable();
+ }
+};
+
// 材料表
const MaterialsComponent = props => {
const { materialsInfoList = [], materialsChildInfoList = [], materialsTabValue } = props;
@@ -4658,6 +4781,48 @@ const MaterialsComponent = props => {
});
};
+// 成品材料表
+const ProductMaterialsComponent = props => {
+ const { finishedMaterialsConfig, controlSelectedRowKeys } = props;
+ if (!finishedMaterialsConfig) return "";
+
+ const productMaterialsTableId = useRef(`productMaterialsTableId_${commonUtils.createSid()}`);
+ const { setAdd, setCopy, setDelete } = props.handleGetIcon();
+
+
+ const baseData = commonBusiness.getTableTypes("materials0", props);
+ const finishedMaterialsPropsType = {
+ ...baseData,
+ configName: 'finishedMaterials',
+ config: finishedMaterialsConfig,
+ data: props.materialsFilterNew(props, baseData, 'finishedMaterials', true),
+ filteredValue: controlSelectedRowKeys,
+ onFilterData: props.onFilterData,
+ OnGetFilterData: props.OnGetFilterData,
+ onKeyDown: props.onKeyDown,
+ tableProps: {
+ rowSelection: null,
+ setAdd,
+ setCopy,
+ setDelete,
+ AutoTableHeight: "100%",
+ sticky: true,
+ // sticky: layoutChange ? { offsetHeader: stickyHeight } : true
+ },
+ onDrag: props.onDrag,
+ isDragAndDrop: false,
+ setOpterationColumn: "Y",
+ bModalAdd: true,
+ selfTableHeight: 330,
+ noVlist: true,
+ tableId: productMaterialsTableId.current,
+ };
+
+ const getProductMaterialsTable = () => ;
+
+ return getProductMaterialsTable();
+};
+
// 子材料表
const MaterialsChildComponent = props => {
const { materialsChildName } = props;