From 1c631b345aae30bb6aa7e9dc8d856a0f40d5f1e3 Mon Sep 17 00:00:00 2001
From: liulijun <liulijun@hnkhzn.com>
Date: 星期五, 20 三月 2026 10:49:08 +0800
Subject: [PATCH] 修复货位平面图锁定状态的显示
---
项目代码/WMS/WMSClient/src/extension/stock/ProStockView.js | 123 ++++++++++++++++++++++++++++++++++++++++
1 files changed, 121 insertions(+), 2 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/extension/stock/ProStockView.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/extension/stock/ProStockView.js"
index 92ad623..7fecdb4 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/extension/stock/ProStockView.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WMSClient/src/extension/stock/ProStockView.js"
@@ -19,6 +19,13 @@
methods: {
//涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
onInit() {
+ // 鍒濆鍖栫┖鎵樻鏌ュ畾鏃跺櫒
+ // 璁剧疆瀹氭椂鍣紝姣�60绉掓鏌ヤ竴娆�
+ this.checkEmptyPalletTimer = setInterval(() => {
+ this.checkEmptyPalletWarning();
+ }, 10000); // 姣�10绉掓鏌ヤ竴娆�
+
+ // 鍘熸湁浠g爜...
// let InOrder = this.buttons.find(x => x.value == 'StockOutbound');
// if (InOrder) {
// InOrder.onClick = function () {
@@ -73,7 +80,14 @@
const daysSinceClosest = Math.ceil(Math.abs((today - closestDate) / (1000 * 60 * 60 * 24)));
return '<span style="color: #F56C6C">' + daysSinceClosest + "澶�" + '</span>';
} else {
- return '<span style="color: #F56C6C">' + "鏃犱繚璐ㄦ湡" + '</span>';
+ // 绌烘墭璁板綍浼氳繘鍏ヨ繖涓垎鏀紝杩斿洖"1涓�"鎴�"10涓�"杩欐牱鐨勫瓧绗︿覆
+ // 鍦ㄨ繖閲岃褰曠┖鎵樻暟閲�
+ const emptyPalletCount = 1; // 姣忔潯绌烘墭璁板綍浠h〃1涓┖鎵�
+
+ // 淇濆瓨鍒皉ow瀵硅薄锛屾柟渚垮悗缁璫heckEmptyPalletWarning鏂规硶浣跨敤
+ row.emptyPalletCount = emptyPalletCount;
+
+ return '<span style="color: #F56C6C">' + emptyPalletCount + "涓�" + '</span>';
}
}
@@ -88,7 +102,14 @@
})
return '<span style="color: #F56C6C">' + sum + row.details[0].unit + '</span>';
} else {
- return '<span style="color: #F56C6C">' + "1涓�" + '</span>';
+ // 绌烘墭璁板綍浼氳繘鍏ヨ繖涓垎鏀紝杩斿洖"1涓�"鎴�"10涓�"杩欐牱鐨勫瓧绗︿覆
+ // 鍦ㄨ繖閲岃褰曠┖鎵樻暟閲�
+ const emptyPalletCount = 1; // 姣忔潯绌烘墭璁板綍浠h〃1涓┖鎵�
+
+ // 淇濆瓨鍒皉ow瀵硅薄锛屾柟渚垮悗缁璫heckEmptyPalletWarning鏂规硶浣跨敤
+ row.emptyPalletCount = emptyPalletCount;
+
+ return '<span style="color: #F56C6C">' + emptyPalletCount + "涓�" + '</span>';
}
}
@@ -128,6 +149,104 @@
//(3)this.editFormFields.瀛楁='xxx';
//濡傛灉闇�瑕佺粰涓嬫媺妗嗚缃粯璁ゅ�硷紝璇烽亶鍘唗his.editFormOptions鎵惧埌瀛楁閰嶇疆瀵瑰簲data灞炴�х殑key鍊�
//鐪嬩笉鎳傚氨鎶婅緭鍑虹湅锛歝onsole.log(this.editFormOptions)
+ },
+
+ // 妫�鏌ョ┖鎵樻暟閲�
+ checkEmptyPalletWarning() {
+ // 鑾峰彇鍏ㄥ眬瀵硅薄鍜宻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 === 'pallet_warning' && msg.type === 'warning'
+ );
+
+ if (hasExistingWarning) return;
+
+ // 鑾峰彇褰撳墠鎵�鏈夊簱瀛樻暟鎹�
+ const stockData = this.$refs.table?.rowData || this.$refs.table?.tableData || [];
+
+ // 璁$畻绌烘墭鎬绘暟閲忥細鍙绠梡roStockAttribute涓�5鐨勮褰�
+ let totalEmptyPalletCount = 0;
+
+ // 閬嶅巻鎵�鏈夊簱瀛樿褰曪紝绱姞绌烘墭鏁伴噺
+ stockData.forEach(stock => {
+ const proStockAttribute = stock.proStockAttribute || stock.ProStockAttribute || 0;
+ if (proStockAttribute === 5) {
+ // 瑙f瀽sumStock鐨勫�硷紝鎻愬彇鏁板瓧閮ㄥ垎
+ const sumStocks = stock.sumStocks || stock.sumStock || 0;
+ const stockQuantity = typeof sumStocks === 'string'
+ ? parseInt(sumStocks.match(/\d+/)?.[0] || 0)
+ : parseInt(sumStocks || 0);
+ totalEmptyPalletCount += stockQuantity;
+ }
+ });
+
+ // 绌烘墭棰勮闃堝�间负50涓�
+ const warningThreshold = 50;
+
+ // 濡傛灉绌烘墭鎬绘暟閲忓皬浜庨槇鍊硷紝鍙戦�佽鍛婃秷鎭�
+ if (totalEmptyPalletCount < warningThreshold) {
+ this.sendPalletWarningMessage(totalEmptyPalletCount, warningThreshold);
+ }
+ },
+
+ // 鍙戦�佺┖鎵樿鍛婃秷鎭�
+ sendPalletWarningMessage(emptyPalletCount, warningThreshold) {
+ // 鍒涘缓璀﹀憡娑堟伅
+ const warningMessage = {
+ id: Date.now(),
+ title: '绌烘墭鏁伴噺棰勮',
+ message: `鎴愬搧搴撶┖鎵樻暟閲忎笉瓒筹紝褰撳墠鎬绘暟閲忥細${emptyPalletCount}锛屼綆浜庨璀﹂槇鍊硷細${warningThreshold}锛屽缓璁強鏃惰ˉ鍏咃紒`,
+ type: 'warning',
+ businessType: 'pallet_warning',
+ createTime: new Date().toLocaleString(),
+ relatedData: {
+ EmptyPalletCount: emptyPalletCount,
+ Threshold: warningThreshold
+ }
+ };
+
+ // 鑾峰彇鍏ㄥ眬瀵硅薄鍜宻tore
+ const globalObj = this.$global || window.$global || {};
+ const store = this.$store || window.$store;
+
+ // 娣诲姞娑堟伅鍒皊tore
+ if (store) {
+ store.commit('addMessage', warningMessage);
+ }
+
+ // 娣诲姞娑堟伅鍒板叏灞�娑堟伅鍒楄〃锛岀‘淇濆垪琛ㄥ瓨鍦�
+ if (!globalObj.messageList) {
+ globalObj.messageList = [];
+ }
+ globalObj.messageList.push(warningMessage);
+
+ // 鏄剧ず鎻愮ず妗�
+ // const $alert = this.$alert;
+ // const $message = this.$message;
+
+ // if ($alert) {
+ // $alert(warningMessage.message, warningMessage.title, {
+ // confirmButtonText: '纭畾',
+ // type: warningMessage.type,
+ // closeOnClickModal: false,
+ // closeOnPressEscape: false,
+ // showCancelButton: false
+ // });
+ // } else if ($message) {
+ // $message.warning(warningMessage.message);
+ // } else {
+ // alert(`${warningMessage.title}: ${warningMessage.message}`);
+ // }
+ },
+
+ // 鍦ㄦ煡璇㈠悗澶勭悊鏁版嵁
+ searchAfter(result) {
+ return true;
}
}
};
--
Gitblit v1.9.3