From ba662b26de611a5ae6997f899f6dea5aec2e3e94 Mon Sep 17 00:00:00 2001 From: qb <1191961160@qq.com> Date: Thu, 25 Jul 2024 18:16:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=BD=A6=E8=BE=86=E9=85=8D?= =?UTF-8?q?=E8=BD=BD=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../distribution/artery/AddVehicleStowage.vue | 271 +++++++++++------- .../arteryDistrilbutionBillLadingList.vue | 2 +- src/views/waybill/TemporaryStorageList.vue | 2 + 3 files changed, 172 insertions(+), 103 deletions(-) diff --git a/src/views/distribution/artery/AddVehicleStowage.vue b/src/views/distribution/artery/AddVehicleStowage.vue index 119bed33..16223ea9 100644 --- a/src/views/distribution/artery/AddVehicleStowage.vue +++ b/src/views/distribution/artery/AddVehicleStowage.vue @@ -587,7 +587,13 @@ - + 处理待挂载数据 @@ -638,11 +644,9 @@ @selection="list => (details.problemInfo.selectionList = list)" > @@ -725,6 +729,7 @@ import { deepClone, debounce, handleClearTableQuery, + getObjType, } from '@/utils/util'; import { columnList, @@ -848,7 +853,7 @@ const details = reactive({ /** 修改计划数量 */ editPlanNumberVisited: false, /** 未挂载目的仓的数据 */ - problemDataVisited: true, + problemDataVisited: false, }, /** 列表Dom节点 */ listNode: '', @@ -1802,7 +1807,7 @@ const handleSubmitEdit = async () => { }; /** 显示未挂载目的仓的数据 */ -const handleShowProblemData = () => { +const handleShowProblemData = async () => { details.nodeList = []; for (let i = 0; i < details.nodeInfoData.length; i++) { const item = details.nodeInfoData[i]; @@ -1820,6 +1825,9 @@ const handleShowProblemData = () => { if (details.nodeList.length === 0) return ElMessage.warning('没有后续节点,请添加节点'); details.popUpShow.problemDataVisited = true; + + await nextTick(); + setTabelHeight(); }; /** 提交挂载 */ @@ -1845,9 +1853,9 @@ const handleSubmitProblemData = () => { for (let i = 0; i < details.problemInfo.selectionList.length; i++) { const item = details.problemInfo.selectionList[i]; - item.totalNum = item.totalNum || 20; - item.planNum = item.stockNum; - item.loadingNum = 0; + // item.totalNum = item.totalNum || 20; + // item.planNum = item.stockNum; + // item.loadingNum = 0; _orderMap.push(item.orderCode + ',' + item.waybillNo); _node.lineCarsOrderList.push(item); @@ -1968,16 +1976,22 @@ const editSubmit = async () => { const _warehouseIds = []; const _warehouseNames = []; + const _nodeRemoveOrderObj = {}; + + let _flag = false; + // 判定有节点是否有空未选 - const _flag = details.nodeInfoData.every((value, index) => { + for (let i = 0; i < details.nodeInfoData.length; i++) { + const value = details.nodeInfoData[i]; _warehouseNames.push(value.nodeName); - if (index === 0) return true; _warehouseIds.push(value.nodeId); + if (i === 0) continue; + if (value.nodeName && value.nodeId) continue; + _flag = true; + break; + } - return value.nodeName && value.nodeId; - }); - - if (!_flag) { + if (_flag) { return ElMessage({ type: 'warning', message: '节点信息有误', @@ -2008,6 +2022,7 @@ const editSubmit = async () => { // 循环节点数据 for (let i = 0; i < submitData.addCarsLoadLineList.length; i++) { const val = submitData.addCarsLoadLineList[i]; + val.addList || (val.addList = []); console.log('val :>> ', val); @@ -2033,117 +2048,169 @@ const editSubmit = async () => { const _addArr = []; // 未找到数据,则该节点为新增节点 - if (Object.keys(_item).length === 0) { - val.updateType = 2; + if (Object.keys(_item).length === 0) val.updateType = 2; + + // for (let index = 0; index < val.lineCarsOrderList.length; index++) { + // const element = val.lineCarsOrderList[index]; + + // _addArr.push({ + // ...element, + // nodeId: submitData.startWarehouseId, + // nodeName: submitData.startWarehouseName, + // finalNodeId: val.nodeId, + // }); + // } + + // val.MappingData = []; + // } else { + // 浅拷贝数据 + let _MappingData = _item.MappingData || []; + + // 循环查询订单是否为新增或删除 + for (let index = 0; index < val.lineCarsOrderList.length; index++) { + const element = val.lineCarsOrderList[index]; + + if (element.carsOrderId) { + for (let j = 0; j < _MappingData.length; j++) { + const item = _MappingData[j]; + + if (element.carsOrderId !== item.carsOrderId) continue; + // 根据计划节点删除订单 + _MappingData.splice(j, 1); + break; + } - for (let index = 0; index < val.lineCarsOrderList.length; index++) { - const element = val.lineCarsOrderList[index]; + // 检测该订单的目的节点是不是该节点 + if (element.finalNodeId === val.nodeId) continue; + // 目的节点改变, 则在该始发节点添加addList + for (const iterator of submitData.addCarsLoadLineList) { + if (iterator.nodeId !== element.nodeId) continue; + iterator.addList || (iterator.addList = []); + iterator.addList.push({ + ...element, + nodeId: iterator.nodeId, + nodeName: iterator.nodeName, + finalNodeId: val.nodeId, + finalNodeName: val.nodeName, + }); + console.log('iterator :>> ', iterator); + iterator.updateType = 1; + break; + } + } + + // 检测该运单是否与配载任务挂载 + if (!element.carsOrderId) _addArr.push({ ...element, nodeId: submitData.startWarehouseId, nodeName: submitData.startWarehouseName, finalNodeId: val.nodeId, + finalNodeName: val.nodeName, }); - } - - val.MappingData = []; - } else { - // 浅拷贝数据 - let _MappingData = _item.MappingData; - - // 循环查询订单是否为新增或删除 - for (let index = 0; index < val.lineCarsOrderList.length; index++) { - const element = val.lineCarsOrderList[index]; - - if (element.carsOrderId) - for (let j = 0; j < _MappingData.length; j++) { - const item = _MappingData[j]; - - if (!element.carsOrderId === item.carsOrderId) continue; - _MappingData.splice(j, 1); - break; - } - - // 检测该运单是否与配载任务挂载 - if (!element.carsOrderId) - _addArr.push({ - ...element, - nodeId: submitData.startWarehouseId, - nodeName: submitData.startWarehouseName, - finalNodeId: val.nodeId, - }); - } + } - _removeList = [..._removeList, ..._MappingData]; + _removeList = [..._removeList, ..._MappingData]; - // 节点是否更新节点费用 - let isUpDateNodeCost = false; + // 节点是否更新节点费用 + let isUpDateNodeCost = false; - for (let index = 0; index < nodeInfokeys.length; index++) { - const value = nodeInfokeys[index]; + for (let index = 0; index < nodeInfokeys.length; index++) { + const value = nodeInfokeys[index]; - console.log('_item[value] === val[value] :>> ', _item[value] === val[value]); + console.log('_item[value] === val[value] :>> ', _item[value] === val[value]); - if (_item[value] === val[value]) continue; - isUpDateNodeCost = true; - break; - } + if (_item[value] === val[value]) continue; + isUpDateNodeCost = true; + break; + } - if ( - Number(submitData.addCarsLoadLineList[details.active].updateType) !== 1 && - // 存在移除订单数据 - (_MappingData.length > 0 || - // 存在新增订单数据 - _addArr.length > 0) - ) { - submitData.addCarsLoadLineList[details.active].updateType = 1; - } + if ( + Number(submitData.addCarsLoadLineList[details.active].updateType) !== 1 && + // 存在移除订单数据 + (_MappingData.length > 0 || + // 存在新增订单数据 + _addArr.length > 0) + ) { + submitData.addCarsLoadLineList[details.active].updateType = 1; + } - // 删除无用数据 - delete val.blackList; - delete val.query; - delete val.selectionList; - delete val.loading; - delete val.data; - delete val.renderData; - delete val.newColumnList; - delete val.itemInputsc; - delete val.selectionChange; - delete val.lineCarsOrderList; - delete val.timeQuery; - - if (details.active === i) continue; - - if ( - // 更新节点费用 - isUpDateNodeCost || - // 节点位置更新 - val.sort + '' !== _item.sort + '' - ) { - // 节点存在更新数据 - val.updateType = 1; - } else { - // 节点未更新 - val.updateType = 0; - } + // 删除无用数据 + delete val.blackList; + delete val.query; + delete val.selectionList; + delete val.loading; + delete val.data; + delete val.renderData; + delete val.newColumnList; + delete val.itemInputsc; + delete val.selectionChange; + delete val.lineCarsOrderList; + delete val.timeQuery; + delete val.itemClearQuery; + delete val.itemFilterData; + delete val.itemTimesc; + + if (details.active === i && val.updateType) continue; + + if ( + // 更新节点费用 + isUpDateNodeCost || + // 节点位置更新 + val.sort + '' !== _item.sort + '' + ) { + // 节点存在更新数据 + val.updateType = 1; + } else { + // 节点未更新 + val.updateType = 0; } + // } // 新增的订单 _lineCarsOrderList = [..._lineCarsOrderList, ..._addArr]; } submitData.removeCarsLoadLineList = _cloneNodeList.map(val => { - _removeList = [...removeList, ...val.MappingData]; - return { id: val.id }; - }); + _removeList = [..._removeList, ...val.MappingData]; - submitData.addCarsLoadLineList[details.active].addList = _lineCarsOrderList; + const _obj = { id: val.id, removeList: [] }; - submitData.addCarsLoadLineList[details.active].removeList = _removeList.map(val => { - return { id: val.carsOrderId }; + return _obj; }); + submitData.addCarsLoadLineList[details.active].addList.push(..._lineCarsOrderList); + + // 分类移除的数据 + for (let i = 0; i < _removeList.length; i++) { + const value = _removeList[i]; + + let _item = {}; + + for (let j = 0; j < submitData.addCarsLoadLineList.length; j++) { + const item = submitData.addCarsLoadLineList[j]; + + if (value.nodeId !== item.nodeId) continue; + _item = item; + break; + } + + if (!_item.nodeId) { + for (let j = 0; j < submitData.removeCarsLoadLineList.length; j++) { + const item = submitData.removeCarsLoadLineList[j]; + + if (value.nodeId !== item.nodeId) continue; + _item = item; + break; + } + } + + getObjType(_item.removeList) === 'array' || (_item.removeList = []); + _item.removeList.push({ id: value.carsOrderId, ...value }); + value.updateType = 1; + } + console.log('submitData :>> ', submitData); const res = await postUpdateCarsLoadBasicData(submitData); diff --git a/src/views/distribution/inventory/arteryDistrilbutionBillLadingList.vue b/src/views/distribution/inventory/arteryDistrilbutionBillLadingList.vue index 53b437d4..e41f1ac2 100644 --- a/src/views/distribution/inventory/arteryDistrilbutionBillLadingList.vue +++ b/src/views/distribution/inventory/arteryDistrilbutionBillLadingList.vue @@ -970,7 +970,7 @@ export default { } if (_item.totalCount - _item.billladingNum <= 0) { - this.$message.warning('该运单已全部入库!!!'); + this.$message.warning('该运单已提货完成!!!'); this.form = {}; return; } diff --git a/src/views/waybill/TemporaryStorageList.vue b/src/views/waybill/TemporaryStorageList.vue index 8aa7670d..eb484e16 100644 --- a/src/views/waybill/TemporaryStorageList.vue +++ b/src/views/waybill/TemporaryStorageList.vue @@ -1354,6 +1354,8 @@ const handleDownLoadFile = () => { const name = details.ouPaiChooseType === 1 ? '包条导入模版(货无忧-生成包条).xlsx' + : details.orderStatus === 'notHaveData' + ? '无包条导入模版(货无忧-不生成包条).xlsx' : '无包条导入模版(货无忧-生成包条).xlsx'; downloadFileBase64(url, name);