From 2403e0b0a127278d40e2fc780311d93262bef52c Mon Sep 17 00:00:00 2001
From: liulijun <liulijun@hnkhzn.com>
Date: 星期三, 25 三月 2026 16:47:03 +0800
Subject: [PATCH] 修复库位平面图三四五巷道部分货位没有按列显示的问题
---
项目代码/WMS/WMSClient/src/extension/taskinfo/task.js | 204 +-------------------------------------------------
1 files changed, 6 insertions(+), 198 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/extension/taskinfo/task.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/extension/taskinfo/task.js"
index 8a6c791..a14069a 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/extension/taskinfo/task.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/extension/taskinfo/task.js"
@@ -95,186 +95,7 @@
}
}
- // 鍒濆鍖栦换鍔$姸鎬佹鏌ュ畾鏃跺櫒
- this.taskStatusMap = {}; // 瀛樺偍浠诲姟鐘舵�佸紑濮嬫椂闂�
- this.taskTimeoutMinutes = 10; // 浠诲姟瓒呮椂鏃堕棿锛屽崟浣嶄负鍒嗛挓
- this.checkTaskStatusTimer = setInterval(() => {
- this.checkTaskStatus();
- }, 1000); // 姣�1绉掓鏌ヤ竴娆★紝鎻愰珮妫�鏌ョ簿搴︼紝鍑忓皯寤惰繜
- },
-
- // 妫�鏌ヤ换鍔$姸鎬�
- checkTaskStatus() {
- // 鑾峰彇褰撳墠鎵�鏈変换鍔℃暟鎹�
- const taskData = this.$refs.table?.rowData || this.$refs.table?.tableData || [];
- const now = new Date();
-
- // 鑾峰彇鍏ㄥ眬瀵硅薄鍜宻tore
- const globalObj = this.$global || window.$global || {};
- const store = this.$store || window.$store;
-
- // 澶勭悊娑堟伅鍒犻櫎閫昏緫锛岄噸缃搴斾换鍔$殑瀹氭椂鍣�
- const deletedMessages = globalObj.messageDeleted || [];
-
- if (deletedMessages.length > 0) {
- const storeMessageList = store?.state?.messageList || [];
-
- // 閬嶅巻琚垹闄ょ殑娑堟伅ID锛岄噸缃搴斾换鍔$殑瀹氭椂鍣�
- deletedMessages.forEach(deletedId => {
- const deletedMessage = storeMessageList.find(msg => msg.id === deletedId);
- if (deletedMessage?.businessType === 'task_timeout' && deletedMessage.taskNum && this.taskStatusMap[deletedMessage.taskNum]) {
- this.taskStatusMap[deletedMessage.taskNum] = now;
- }
- });
-
- // 娓呯┖宸插鐞嗙殑鍒犻櫎娑堟伅鍒楄〃
- globalObj.messageDeleted = [];
- }
-
- // 鑾峰彇褰撳墠鎵�鏈変换鍔″彿鍜岀姸鎬�
- const currentTaskStatuses = {};
- taskData.forEach(task => {
- currentTaskStatuses[task.taskNum] = task.taskStatus;
- });
-
- // 妫�鏌ヤ换鍔$姸鎬�
- taskData.forEach(task => {
- if (task.taskStatus === 210) {
- // 鍫嗗灈鏈烘墽琛屼腑鐘舵��
- if (!this.taskStatusMap[task.taskNum]) {
- this.taskStatusMap[task.taskNum] = now;
- } else {
- // 璁$畻鎸佺画鏃堕棿锛堝垎閽燂級
- const duration = (now - this.taskStatusMap[task.taskNum]) / 60000;
- if (duration >= this.taskTimeoutMinutes) {
- this.sendTaskWarningMessage(task, duration);
- delete this.taskStatusMap[task.taskNum];
- }
- }
- } else {
- // 浠诲姟鐘舵�佸凡鏀瑰彉锛屾竻闄よ褰�
- delete this.taskStatusMap[task.taskNum];
- }
- });
-
- // 娓呴櫎宸茶В鍐崇殑浠诲姟瓒呮椂娑堟伅
- this.clearResolvedTaskMessages(currentTaskStatuses);
- },
-
- // 娓呴櫎宸茶В鍐崇殑浠诲姟瓒呮椂娑堟伅
- clearResolvedTaskMessages(currentTaskStatuses) {
- // 鑾峰彇鍏ㄥ眬瀵硅薄鍜宻tore
- const globalObj = this.$global || window.$global || {};
- const store = this.$store || window.$store;
-
- // 鑾峰彇鎵�鏈夋秷鎭垪琛�
- const globalMessageList = globalObj.messageList || [];
- const storeMessageList = store?.state?.messageList || [];
-
- // 鍚堝苟鎵�鏈夋秷鎭紝鎵惧嚭闇�瑕佹竻闄ょ殑浠诲姟瓒呮椂娑堟伅
- const allMessages = [...globalMessageList, ...storeMessageList];
- const taskTimeoutMessages = allMessages.filter(msg => msg.businessType === 'task_timeout');
-
- // 閬嶅巻鎵�鏈変换鍔¤秴鏃舵秷鎭�
- taskTimeoutMessages.forEach(msg => {
- const taskNum = msg.taskNum;
- // 妫�鏌ユ潯浠讹細
- // 1. 浠诲姟涓嶅湪褰撳墠浠诲姟鍒楄〃涓紙宸插畬鎴愭垨琚Щ闄わ級
- // 2. 浠诲姟鍦ㄥ綋鍓嶄换鍔″垪琛ㄤ腑锛屼絾鐘舵�佸凡涓嶅啀鏄爢鍨涙満鎵ц涓�
- if (!currentTaskStatuses[taskNum] || currentTaskStatuses[taskNum] !== 210) {
- // 浠诲姟宸插畬鎴愭垨鐘舵�佸凡鏀瑰彉锛屾竻闄よ娑堟伅
- this.handleDeleteTaskMessage(msg);
- }
- });
- },
-
- // 澶勭悊鍒犻櫎鍗曚釜浠诲姟娑堟伅
- handleDeleteTaskMessage(message) {
- // 鑾峰彇鍏ㄥ眬瀵硅薄鍜宻tore
- const globalObj = this.$global || window.$global || {};
- const store = this.$store || window.$store;
-
- // 浠庡叏灞�娑堟伅鍒楄〃涓垹闄よ娑堟伅
- if (globalObj.messageList) {
- const index = globalObj.messageList.findIndex(msg => msg.id === message.id);
- if (index !== -1) {
- globalObj.messageList.splice(index, 1);
- }
- }
-
- // 浠巗tore涓垹闄よ娑堟伅
- if (store) {
- store.commit('removeMessage', message.id);
- }
- },
-
- // 鍙戦�佷换鍔¤鍛婃秷鎭�
- sendTaskWarningMessage(task, duration) {
- // 鍒涘缓璀﹀憡娑堟伅
- const warningMessage = {
- id: Date.now(),
- title: '浠诲姟寮傚父璀﹀憡',
- message: `浠诲姟鍙� ${task.taskNum} 宸插湪鍫嗗灈鏈烘墽琛屼腑鐘舵�佽秴杩�${Math.round(duration)}鍒嗛挓锛岃鍙婃椂澶勭悊锛乣,
- type: 'warning',
- businessType: 'task_timeout',
- taskNum: task.taskNum,
- createTime: new Date().toLocaleString()
- };
-
- // 鑾峰彇鍏ㄥ眬瀵硅薄鍜宻tore锛屾鏌ユ槸鍚﹀瓨鍦ㄧ浉鍚岀殑璀﹀憡娑堟伅
- const globalObj = this.$global || window.$global || {};
- const store = this.$store || window.$store;
- const globalMessageList = globalObj.messageList || [];
- const storeMessageList = store?.state?.messageList || [];
-
- // 妫�鏌ユ槸鍚﹀凡缁忓瓨鍦ㄧ浉鍚岀殑浠诲姟瓒呮椂璀﹀憡
- const hasExistingWarning = [...globalMessageList, ...storeMessageList].some(msg =>
- msg.businessType === 'task_timeout' && msg.taskNum === task.taskNum
- );
-
- if (hasExistingWarning) return;
-
- // 鍙戦�佹秷鎭埌娑堟伅鍒楄〃
- try {
- // 娣诲姞娑堟伅鍒皊tore
- const $store = this.$store || window.$store;
- if ($store) {
- $store.commit('addMessage', warningMessage);
- }
-
- // 娣诲姞娑堟伅鍒板叏灞�娑堟伅鍒楄〃
- if (globalObj.messageList) {
- globalObj.messageList.push(warningMessage);
- }
-
- // 鏄剧ず璀﹀憡瀵硅瘽妗嗭紝浼樺厛浣跨敤$alert
- // const $global = this.$global || window.$global;
- // const alertOptions = {
- // confirmButtonText: '纭畾',
- // type: warningMessage.type,
- // closeOnClickModal: false,
- // closeOnPressEscape: false,
- // showCancelButton: false
- // };
-
- // if (this.$alert || window.$alert) {
- // const $alert = this.$alert || window.$alert;
- // $alert(warningMessage.message, warningMessage.title, alertOptions);
- // } else if (this.$confirm || window.$confirm) {
- // const $confirm = this.$confirm || window.$confirm;
- // $confirm(warningMessage.message, warningMessage.title, alertOptions);
- // } else {
- // // 浣跨敤娴忚鍣ㄥ師鐢焌lert浣滀负澶囬��
- // alert(`${warningMessage.title}: ${warningMessage.message}`);
- // }
- } catch (error) {
- // 鍑洪敊鏃朵娇鐢ㄦ祻瑙堝櫒鍘熺敓alert浣滀负鏈�缁堝閫�
- try {
- alert(`浠诲姟寮傚父璀﹀憡: 浠诲姟鍙� ${task.taskNum} 宸插湪鍫嗗灈鏈烘墽琛屼腑鐘舵�佽秴杩�${Math.round(duration)}鍒嗛挓锛岃鍙婃椂澶勭悊锛乣);
- } catch (e) {
- // 蹇界暐鎵�鏈夐敊璇�
- }
- }
+ // 涓嶅啀闇�瑕佹敞鍐屼换鍔℃暟鎹簮锛屽叏灞�浠诲姟瓒呮椂鏈嶅姟宸叉敼涓虹洿鎺ヤ粠API鑾峰彇鏁版嵁
},
onInited() {
//妗嗘灦鍒濆鍖栭厤缃悗
@@ -288,24 +109,6 @@
},
searchAfter(result) {
// 鏌ヨ鍚庯紝result杩斿洖鐨勬煡璇㈡暟鎹�,鍙互鍦ㄦ樉绀哄埌琛ㄦ牸鍓嶅鐞嗚〃鏍肩殑鍊�
-
- // 澶勭悊浠诲姟鍒楄〃鍒锋柊鍚庣殑浠诲姟瓒呮椂娑堟伅娓呯悊
- // 鎻愬彇褰撳墠浠诲姟鐘舵��
- const currentTaskStatuses = {};
- if (result && Array.isArray(result)) {
- result.forEach(task => {
- currentTaskStatuses[task.taskNum] = task.taskStatus;
- });
- } else if (result && result.result && Array.isArray(result.result)) {
- // 澶勭悊鍒嗛〉杩斿洖鐨勬暟鎹牸寮�
- result.result.forEach(task => {
- currentTaskStatuses[task.taskNum] = task.taskStatus;
- });
- }
-
- // 娓呴櫎宸茶В鍐崇殑浠诲姟瓒呮椂娑堟伅
- this.clearResolvedTaskMessages(currentTaskStatuses);
-
return true;
},
addBefore(formData) {
@@ -327,6 +130,11 @@
//(3)this.editFormFields.瀛楁='xxx';
//濡傛灉闇�瑕佺粰涓嬫媺妗嗚缃粯璁ゅ�硷紝璇烽亶鍘唗his.editFormOptions鎵惧埌瀛楁閰嶇疆瀵瑰簲data灞炴�х殑key鍊�
//鐪嬩笉鎳傚氨鎶婅緭鍑虹湅锛歝onsole.log(this.editFormOptions)
+ },
+
+ // 缁勪欢閿�姣佹椂娓呯悊璧勬簮
+ onDestroyed() {
+ // 涓嶅啀闇�瑕佹竻鐞嗕换鍔℃暟鎹簮锛屽叏灞�浠诲姟瓒呮椂鏈嶅姟宸叉敼涓虹洿鎺ヤ粠API鑾峰彇鏁版嵁
}
}
};
--
Gitblit v1.9.3