From 1378fc4cd7abc24ed3a982e09437c2c8a74e9f2f Mon Sep 17 00:00:00 2001
From: 647556386 <647556386@qq.com>
Date: 星期二, 27 一月 2026 19:06:32 +0800
Subject: [PATCH] 代码优化

---
 项目代码/WIDESEA_WMSClient/src/extension/inbound/inboundOrder.js |  274 +++++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 187 insertions(+), 87 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/inbound/inboundOrder.js" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/inbound/inboundOrder.js"
index edf53dd..9176f78 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/inbound/inboundOrder.js"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/inbound/inboundOrder.js"
@@ -1,91 +1,191 @@
-
 //姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜
-import http from '@/api/http.js'
-import { defineAsyncComponent } from "vue";
-import { ElMessage } from 'element-plus'; // 寮曞叆ElMessage锛岃В鍐虫彁绀烘棤鍙嶅簲
-
+import gridHeader from "./extend/EmptyTrayInbound.vue";
+import gridBody from "./extend/Pallet.vue";
+import gridFooter from "./extend/UndoPalletGroup.vue";
 let extension = {
-    components: {
-      //鏌ヨ鐣岄潰鎵╁睍缁勪欢
-      gridHeader: '',
-      gridBody: '',
-      gridFooter: '',
-      //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢
-      modelHeader: '',
-      modelBody: '',
-      modelFooter: ''
-    },
-    tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓)
-    buttons: { view: [
-       {
-        name: '缁勭洏',
-        type: 'primary',
-        value: '缁勭洏',
-        onClick: function () { // 淇1锛氱Щ闄ゆ棤鐢╮ow鍙傛暟锛屽姞鏃ュ織璋冭瘯
-          console.log('缁勭洏鎸夐挳琚偣鍑伙紝寮�濮嬫牎楠�');
-          const selectedRows = this.$refs.table.getSelected();
-
-          // 鏍¢獙1锛氭槸鍚﹂�変腑琛�
-          if (selectedRows.length === 0) {
-            console.log('鏍¢獙涓嶉�氳繃锛氭湭閫変腑浠讳綍鍗曟嵁');
-            ElMessage.warning('璇烽�夋嫨涓�鏉″崟鎹�');
-            return;
-          }
-          // 鏍¢獙2锛氭槸鍚﹂�変腑鍗曡
-          if (selectedRows.length > 1) {
-            console.log('鏍¢獙涓嶉�氳繃锛氶�変腑澶氳鍗曟嵁');
-            ElMessage.warning('鍙兘閫夋嫨涓�鏉″崟鎹�');
-            return;
-          }
-
-          const targetRow = selectedRows[0];
-     
-   
-
+  components: {
+    //鏌ヨ鐣岄潰鎵╁睍缁勪欢
+    gridHeader: gridHeader,
+    gridBody: gridBody,
+    gridFooter: gridFooter,
+    //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢
+    modelHeader: "",
+    modelBody: "",
+    modelFooter: "",
+  },
+  tableAction: "", //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓)
+  buttons: {
+    view: [
       
-          this.$emit('openPalletDialog', targetRow.inboundOrderNo);
-        }
-      },
-    ], box: [], detail: [] }, //鎵╁睍鐨勬寜閽�
-    methods: {
-       //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
-      onInit() {  
-      },
-      onInited() {
-        //妗嗘灦鍒濆鍖栭厤缃悗
-        //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔
-        //this.detailOptions.columns.forEach(column=>{ });
-      },
-      searchBefore(param) {
-        //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟
-        //杩斿洖false锛屽垯涓嶄細鎵ц鏌ヨ
-        return true;
-      },
-      searchAfter(result) {
-        //鏌ヨ鍚庯紝result杩斿洖鐨勬煡璇㈡暟鎹�,鍙互鍦ㄦ樉绀哄埌琛ㄦ牸鍓嶅鐞嗚〃鏍肩殑鍊�
-        return true;
-      },
-      addBefore(formData) {
-        //鏂板缓淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛紝鍙互缁欑粰琛ㄥ崟璁剧疆鍊硷紝鑷繁杈撳嚭鐪媐ormData鐨勫��
-        return true;
-      },
-      updateBefore(formData) {
-        //缂栬緫淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛ㄣ�佸垹闄よ鐨処d
-        return true;
-      },
-      rowClick({ row, column, event }) {
-        //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
-        this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
-      },
-      modelOpenAfter(row) {
-        //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
-        //(1)鍒ゆ柇鏄紪杈戣繕鏄柊寤烘搷浣滐細 this.currentAction=='Add';
-        //(2)缁欏脊鍑烘璁剧疆榛樿鍊�
-        //(3)this.editFormFields.瀛楁='xxx';
-        //濡傛灉闇�瑕佺粰涓嬫媺妗嗚缃粯璁ゅ�硷紝璇烽亶鍘唗his.editFormOptions鎵惧埌瀛楁閰嶇疆瀵瑰簲data灞炴�х殑key鍊�
-        //鐪嬩笉鎳傚氨鎶婅緭鍑虹湅锛歝onsole.log(this.editFormOptions)
+    ],
+    box: [],
+    detail: [],
+  },
+  methods: {
+    //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
+    onInit() {
+      var EmptyTrayInboundBtn = this.buttons.find(
+        (x) => x.value == "EmptyTrayInbound"
+      );
+      if (EmptyTrayInboundBtn != null) {
+        EmptyTrayInboundBtn.onClick = () => {
+          this.$refs.gridHeader.open();
+        };
       }
-    }
-  };
-  export default extension;
-  
\ No newline at end of file
+      var UndoPalletGroupBtn = this.buttons.find(
+        (x) => x.value == "UndoPalletGroup"
+      );
+      if (UndoPalletGroupBtn != null) {
+        UndoPalletGroupBtn.onClick = () => {
+          this.$refs.gridFooter.open();
+        };
+      }
+      var BatchInOrderFeedbackToMesBtn = this.buttons.find(
+        (x) => x.value == "BatchInOrderFeedbackToMes"
+      );
+      if (BatchInOrderFeedbackToMesBtn != null) {
+        BatchInOrderFeedbackToMesBtn.onClick = () => {
+          var rows = this.$refs.table.getSelected();
+          // 鏍¢獙鏄惁鏈夐�変腑鏁版嵁
+          if (!rows || rows.length === 0) {
+            return this.$Message.error("璇峰厛閫夋嫨闇�瑕佸鐞嗙殑鍗曟嵁");
+          }
+          if (rows.length > 1) {
+            return this.$Message.error("璇烽�夋嫨涓�鏉℃暟鎹�");
+          }
+          this.http.post(`api/Inbound/BatchInOrderFeedbackToMes?id=${rows[0].id}`, {}, "鏁版嵁澶勭悊涓�...")
+            .then((x) => {
+              if (x.status) {
+                this.$Message.success(x.message);
+                this.refresh();
+              } else {
+                return this.$Message.error(x.message);
+              }
+            })
+            .catch((error) => {
+              // 澧炲姞寮傚父鎹曡幏锛屽鐞嗙綉缁滈敊璇瓑鎯呭喌
+              //_this.$Message.error('璇锋眰澶辫触锛�' + (error.message || '鏈煡閿欒'));
+            });
+        };
+      }
+
+      var CloseOrderBtn = this.buttons.find(
+        (x) => x.value == "CloseOrder"
+      );
+      if (CloseOrderBtn != null) {
+        CloseOrderBtn.onClick = () => {
+          var rows = this.$refs.table.getSelected();
+          // 鏍¢獙鏄惁鏈夐�変腑鏁版嵁
+          if (!rows || rows.length === 0) {
+            return this.$Message.error("璇峰厛閫夋嫨闇�瑕佸叧闂殑鍗曟嵁");
+          }
+          if (rows.length > 1) {
+            return this.$Message.error("璇烽�夋嫨涓�鏉″崟鎹�");
+          }
+          this.http.post(`api/InboundOrder/HandCloseOrder?orderIds=${rows[0].inboundOrderNo}`, {}, "鏁版嵁澶勭悊涓�...")
+            .then((x) => {
+              if (x.status) {
+                this.$Message.success(x.message);
+                this.refresh();
+              } else {
+                return this.$Message.error(x.message);
+              }
+            })
+            .catch((error) => {
+              // 澧炲姞寮傚父鎹曡幏锛屽鐞嗙綉缁滈敊璇瓑鎯呭喌
+              //_this.$Message.error('璇锋眰澶辫触锛�' + (error.message || '鏈煡閿欒'));
+            });
+        };
+      }
+      var GroupPalletBtn = this.buttons.find((x) => x.value == "GroupPallet");
+      if (GroupPalletBtn != null) {
+        GroupPalletBtn.onClick = () => {
+          // console.log(this.$refs)
+          this.$refs.gridBody.open();
+        };
+      }
+
+      this.columns.forEach((column) => {
+        if (column.field === "orderStatistics") {
+          column.formatter = (row) => {
+            // 鏍¢獙details鏄惁瀛樺湪涓旀湁鏁版嵁
+            if (row.details && row.details.length > 0) {
+              // 鎸塵aterielCode鍒嗙粍锛屽悓鏃朵繚瀛樺搴旂殑materielName鍜岀粺璁rderQuantity鎬诲拰
+              const materielSumMap = row.details.reduce((acc, item) => {
+                const materielName = item.materielName || "鏈煡鍚嶇О";
+                const materielCode = item.materielCode || "鏈煡鐗╂枡";
+                const quantity = Number(item.orderQuantity) || 0;
+
+                // 鏍稿績淇敼锛氫笉鍐嶅彧瀛樻暟閲忥紝鑰屾槸瀛樺寘鍚悕绉板拰鏁伴噺鐨勫璞�
+                if (!acc[materielCode]) {
+                  acc[materielCode] = {
+                    name: materielName, // 瀛樺偍鐗╂枡鍚嶇О
+                    total: 0 // 瀛樺偍鏁伴噺鎬诲拰
+                  };
+                }
+                acc[materielCode].total += quantity;
+                return acc;
+              }, {});
+
+              // 姣忎釜鐗╂枡椤圭敓鎴愮嫭绔媎iv锛屾樉绀虹紪鐮�+鍚嶇О+鏁伴噺
+              const displayItems = Object.entries(materielSumMap).map(
+                ([code, data]) => {
+                  // 鏄剧ず鏍煎紡锛氱墿鏂欑紪鐮侊紙鐗╂枡鍚嶇О锛夛細鏁伴噺涓�
+                  return `<div style="line-height: 1.5; white-space: normal;">${code}锛�${data.name}锛夛細${data.total}涓�</div>`;
+                }
+              );
+              const displayContent = displayItems.join("");
+              return `<div style="color: #F56C6C; white-space: normal; word-break: break-all;">${displayContent}</div>`;
+            } else {
+              return '<span style="color: #F56C6C">鏃犲叆搴撴槑缁�</span>';
+            }
+          };
+        }
+      });
+    },
+    onInited() {
+      //妗嗘灦鍒濆鍖栭厤缃悗
+      //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔
+      //this.detailOptions.columns.forEach(column=>{ });
+    },
+    searchBefore(param) {
+      //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟
+      //杩斿洖false锛屽垯涓嶄細鎵ц鏌ヨ
+      // this.searchFormFields.orderType=[0]
+      let wheres = [
+        {
+          name: "orderType",
+          value: "0",
+          displayType: "text",
+        },
+      ];
+
+      param.wheres.push(...wheres);
+      return true;
+    },
+    searchAfter(result) {
+      return true;
+    },
+    addBefore(formData) {
+      //鏂板缓淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛紝鍙互缁欑粰琛ㄥ崟璁剧疆鍊硷紝鑷繁杈撳嚭鐪媐ormData鐨勫��
+      return true;
+    },
+    updateBefore(formData) {
+      //缂栬緫淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛ㄣ�佸垹闄よ鐨処d
+      return true;
+    },
+    rowClick({ row, column, event }) {
+      //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
+      this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+    },
+    modelOpenAfter(row) {
+      //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
+      //(1)鍒ゆ柇鏄紪杈戣繕鏄柊寤烘搷浣滐細 this.currentAction=='Add';
+      //(2)缁欏脊鍑烘璁剧疆榛樿鍊�
+      //(3)this.editFormFields.瀛楁='xxx';
+      //濡傛灉闇�瑕佺粰涓嬫媺妗嗚缃粯璁ゅ�硷紝璇烽亶鍘唗his.editFormOptions鎵惧埌瀛楁閰嶇疆瀵瑰簲data灞炴�х殑key鍊�
+      //鐪嬩笉鎳傚氨鎶婅緭鍑虹湅锛歝onsole.log(this.editFormOptions)
+    },
+  },
+};
+export default extension;

--
Gitblit v1.9.3