diff --git a/src/components/Manufacture/WorkOrderPackTableTreeNew/index.js b/src/components/Manufacture/WorkOrderPackTableTreeNew/index.js index 0cdd44f..a4cb22e 100644 --- a/src/components/Manufacture/WorkOrderPackTableTreeNew/index.js +++ b/src/components/Manufacture/WorkOrderPackTableTreeNew/index.js @@ -19,6 +19,7 @@ import CommonViewDragable from "@/components/Common/CommonViewDragable"; import AntdDraggableModal from "@/components/Common/AntdDraggableModal"; import styles from "./index.less"; import CommonExamInfo from "../../Common/CommonExamInfo"; +import { Space } from "antd"; const { Panel } = Collapse; @@ -302,7 +303,7 @@ const WorkOrderPackTableTreeNewEvent = props => { sVerArray.push(sVerStr); } }); - console.log('copyTo', copyTo, sVerArray); + const sProductIds = sProductIdArray.toString(); const sProductTechnologyVer =sVerArray.toString(); const sRowData = copyTo?.slaveData || []; @@ -4457,6 +4458,146 @@ const OtherComponent = props => { }; const [activeKey, setActiveKey] = useState(["process", "material", "color", "vision", ...materialsChildInfoList]); + + // 删除材料方法 + const handleDelAllMaterials = (filterData, bPartDel) => { + console.log("handleDelAllMaterials", filterData, bPartDel); + console.log('sss', props); + const { materials0SelectedRowKeys = [], materials0Data = [] } = props; + + // 如果是撤销操作 (bPartDel === 7) + if (bPartDel === 7) { + const undo = async () => { + try { + const { masterData, sModelsId, token, slaveData, controlData = [], controlSelectedRowKeys = [], + slaveSelectedRowKeys = [], + processData = [], + materialsConfig + } = props; + const controlRow = commonUtils.isNotEmptyArr(controlSelectedRowKeys) ? + controlData.find(item => controlSelectedRowKeys.includes(item.sId)) : controlData[0]; + const sCombineMemoObj = commonUtils.isNotEmptyObject(controlRow?.sCombinedMemo) && commonUtils.isJSON(controlRow.sCombinedMemo) ? + JSON.parse(controlRow.sCombinedMemo) : [] ; + console.log(sCombineMemoObj, controlRow, 's'); + let slaveObj = slaveData.find(item => + sCombineMemoObj?.some(obj => obj.sProductNo === item.sProductNo) + ); + if(commonUtils.isNotEmptyObject(slaveObj)){ + if(commonUtils.isNotEmptyArr(slaveSelectedRowKeys)){ + slaveObj = slaveData.find(item => slaveSelectedRowKeys.includes(item.sId)) + } else{ + slaveObj = slaveData[0]; + } + } + + const btnRoveObj = materialsConfig?.gdsconfigformslave.find(item => item.sControlName?.includes('BtnRevoke')); + const materialsAssignField = btnRoveObj?.materialsAssignField; + const dataUrl = `${commonConfig.server_host}salesorder/getMaterialsCardDataByCustomIdProductId/?sModelsId=${sModelsId}`; + const sRowData = commonUtils.isNotEmptyObject(slaveObj) ? [slaveObj] : []; + const condition = { sRowData }; + const dataReturn = (await commonServices.postValueService(token, condition, dataUrl)).data; + if (dataReturn.code === 1) { + message.success("撤销成功!"); + const returnData = dataReturn.dataset.rows[0]; + const materialsReturnData = returnData?.materialsData || []; + const newCopyTo = { control: controlRow } + if (commonUtils.isNotEmptyArr(materialsReturnData)) { + materialsReturnData.filter(item => item.sType !== '2').forEach((materialsItem) => { + const newSid = commonUtils.createSid(); + let materialsRow = commonFunc.getDefaultData(materialsConfig, newCopyTo, { newSid }); // 取默认值 + if(materialsAssignField) { + materialsRow = { ...materialsRow, ...commonFunc.getAssignFieldValue(materialsAssignField, materialsItem, newCopyTo) }; + } + // materialsRow = {...materialsItem}; + materialsRow.handleType = 'add'; + materialsRow.sId = newSid; + materialsRow.sParentId = masterData.sId; + materialsRow.sControlId = controlRow.sId; + materialsRow.sPartsName = controlRow.sPartsName; + materialsRow.sSlaveId = slaveObj?.sId; + materialsRow.sOriginalId = materialsItem.sId; + materialsRow.sZmldlt = materialsItem.sZmldlt; + materialsRow.sProcessId = materialsItem.sProcessId; + materialsRow.sInkFatherMaterialsTbId = materialsItem.sInkFatherMaterialsTbId; + // 材料对应工序的ID要变化 + if (commonUtils.isNotEmptyArr(processData)) { + const iProcessIndex = processData.findIndex(prow => prow.sControlId === controlRow.sId + && materialsRow.sProcessId === prow.sProcessId + ); + if (iProcessIndex > -1) { + materialsRow.sProcessTbId = processData[iProcessIndex].sId; + } + } + materials0Data.push(materialsRow); + }); + } + + // 这里可以根据返回的数据更新界面 + console.log("撤销返回数据:", materialsReturnData); + console.log("汇总:", materials0Data); + props.onSaveState({materials0Data}) + } else { + message.error(dataReturn.msg || "撤销失败!"); + } + } catch (error) { + message.error(error + "撤销操作失败!"); + } + }; + + Modal.confirm({ + title: "确认要撤销操作吗?", + onOk() { + undo(); + }, + okText: '确定', + cancelText: '取消' + }); + return; + } + + // 原有的删除逻辑 + const partFilterData = filterData.filter(item => item.bMark); + console.log('ffff', partFilterData); + if (bPartDel) { + if (!partFilterData.length) { + message.info("请先选择要删除的数据!"); + return; + } + } + + const delAll = () => { + const sIds = filterData.map(item => item.sId); + // 尝试调用删除方法 - 参数需要匹配 CommonBase 的 handleTableDel 方法签名 + if (props.onDataRowDel && typeof props.onDataRowDel === 'function') { + console.log('删除全部材料sId集合', sIds); + props.onDataRowDel("materials0", false, sIds, undefined); + } else { + console.error("onDataRowDel 方法不存在或不是函数"); + message.error("删除错误"); + } + } + + const delPart = () => { + const sIds = partFilterData.map(item => item.sId); + // 尝试调用删除方法 - 参数需要匹配 CommonBase 的 handleTableDel 方法签名 + if (props.onDataRowDel && typeof props.onDataRowDel === 'function') { + props.onDataRowDel("materials0", false, sIds, undefined); + } else { + console.error("onDataRowDel 方法不存在或不是函数"); + message.error("删除功能不可用"); + } + } + + Modal.confirm({ + title: `确认要删除${bPartDel ? "选中" : "全部"}吗?`, + onOk() { + bPartDel ? delPart() : delAll(); + }, + okText: '确定', + cancelText: '取消' + }); + }; + const getHeaderIcon = tablename => ( { - + { materialsTabValue === 22 && } {materialsChildInfoListFilter.map(tablename => { @@ -4750,37 +4891,50 @@ const MaterialsComponent = props => { } // 限制编辑-劲嘉定制 - if (index === 0 || index === 3) { - materialsOtherPropsType.otherlimitDisabled = params => { - const { record, sName } = params; - let { enabledNew } = params; - if (!["101251240115016082594412050"].includes(props.sModelsId)) return enabledNew; - if (enabledNew && ["dAuxiThousheetQty"].includes(sName) && record.dPackageQty > 0) { - enabledNew = false; - } - return enabledNew; - }; - } + // if (index === 0 || index === 3) { + // materialsOtherPropsType.otherlimitDisabled = params => { + // const { record, sName } = params; + // let { enabledNew } = params; + // if (!["101251240115016082594412050"].includes(props.sModelsId)) return enabledNew; + // if (enabledNew && ["dAuxiThousheetQty"].includes(sName) && record.dPackageQty > 0) { + // enabledNew = false; + // } + // return enabledNew; + // }; + // } return ( materialsTabValue === num && (
- {/* {index === 0 && ( + {true && (
- + + + + +
- )} */} + )}
{materialsChildTableProps ? (