From 387731cab892804912e68cb91e6fb804411c4756 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期一, 27 十月 2025 23:32:16 +0800
Subject: [PATCH] 优化与ERP出库单逻辑,增加打印程序

---
 项目代码/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStock.jsx |  238 ++++++++++++++++++++++++++++++++++-------------------------
 1 files changed, 136 insertions(+), 102 deletions(-)

diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStock.jsx" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStock.jsx"
index 870425f..26c485c 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStock.jsx"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStock.jsx"
@@ -8,12 +8,12 @@
 //姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜
 
 // import gridHeader from "./demo_Product/Dt_BillGroupStockDetail.vue";
-import gridHeader from './extend/printView.vue'
-// import gridBody from "./extend/SupplementationData.vue"
+// import gridHeader from './extend/printView.vue'
+// import gridBody from './extend/OtherOutBound.vue'
 let extension = {
   components: {
     //鏌ヨ鐣岄潰鎵╁睍缁勪欢
-    gridHeader: gridHeader,
+    gridHeader: '',
     gridBody: '',
     gridFooter: '',
     //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢
@@ -27,91 +27,82 @@
     //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
     onInit() {
 
-      this.columns.push({
-        title: "鎿嶄綔",
-        field: "鎿嶄綔",
-        width: 150,
-        align: "left", // 'center',
-        render: (h, { row, column, index }) => {
-          return (
-            <div>
-              <el-button
-                onClick={($e) => {
-                  // this.$refs.table.load();
-                  // console.log(this.$refs.table);
-                  this.$refs.gridHeader.open(row);
-                }}
-                type="primary"
-                plain
-                style="height:26px; padding: 10px !important;"
-              >
-                鎵撳嵃
-              </el-button> 
-            </div>
-          );
-        },
+      this.detailOptions.buttons.unshift({
+        name: '鍏朵粬鍑哄簱', //鎸夐挳鍚嶇О
+        icon: '', //鎸夐挳鍥炬爣vue2鐗堟湰瑙乮view鏂囨。icon锛寁ue3鐗堟湰瑙乪lement ui鏂囨。icon(娉ㄦ剰涓嶆槸element puls鏂囨。)
+        type: 'primary', //鎸夐挳鏍峰紡vue2鐗堟湰瑙乮view鏂囨。button锛寁ue3鐗堟湰瑙乪lement ui鏂囨。button
+        // onClick: function () {
+        //   // this.$Message.success('鐐瑰嚮浜嗘寜閽�');
+        //   let row = this.$refs.table.getSelected() //鑾峰彇閫変腑鐨勮
+        //   if (row <= 0) {
+        //     //濡傛灉娌℃湁閫変腑琛�
+        //     this.$Message.error('璇烽�夋嫨涓�琛屾暟鎹�')
+        //     return
+        //   }
+        //   let taskNum = row[0].taskNum
+        //   this.http.get(`/api/Task/CompleteTaskAsync?taskNum=${taskNum}`, {}, "姝e湪瀹屾垚浠诲姟").then((res) => {
+        //     //绀轰緥锛氳皟鐢ㄥ悗鍙版帴鍙�
+        //     if (res.status) {
+        //       this.$Message.success('浠诲姟瀹屾垚')
+        //     } else {
+        //       this.$Message.error(res.message) //閿欒鎻愮ず
+        //     }
+        //   })
+        // }
+        onClick: () => {
+          let row = this.$refs.table.getSelected()
+          console.log(row);
+        }
       });
-
-
-
-
-
-
-
-
-
-
-      //妗嗘灦鍒濆鍖栭厤缃墠锛�
-      let OutBoundBtn = this.buttons.find((x) => x.value == 'OutBound')
-      if (OutBoundBtn) {
-        OutBoundBtn.onClick = function () {
-          // this.$Message.success('鐐瑰嚮浜嗘寜閽�')
+      this.detailOptions.buttons.unshift({
+        name: '鐩樼偣鍑哄簱', //鎸夐挳鍚嶇О
+        icon: '', //鎸夐挳鍥炬爣vue2鐗堟湰瑙乮view鏂囨。icon锛寁ue3鐗堟湰瑙乪lement ui鏂囨。icon(娉ㄦ剰涓嶆槸element puls鏂囨。)
+        type: 'primary', //鎸夐挳鏍峰紡vue2鐗堟湰瑙乮view鏂囨。button锛寁ue3鐗堟湰瑙乪lement ui鏂囨。button
+        onClick: function (e) {
+          // this.$Message.success('鐐瑰嚮浜嗘寜閽�');
+          console.log(e);
           let row = this.$refs.table.getSelected() //鑾峰彇閫変腑鐨勮
           if (row <= 0) {
             //濡傛灉娌℃湁閫変腑琛�
             this.$Message.error('璇烽�夋嫨涓�琛屾暟鎹�')
             return
           }
-          let locationCode = row[0].locationCode
-          let palletCode = row[0].palletCode
-          this.http
-            .get(
-              `/api/Task/CreateAndSendOutboundTask?locationCode=${locationCode}&palletCode=${palletCode}`,
-              {},
-              '姝e湪鍒涘缓浠诲姟'
-            )
-            .then((res) => {
-              //绀轰緥锛氳皟鐢ㄥ悗鍙版帴鍙�
-              if (res.status) {
-                this.$Message.success('鍒涘缓浠诲姟鎴愬姛')
-                console.log(res)
-                this.refresh() //鍒锋柊琛ㄦ牸
-              } else {
-                this.$Message.error(res.message) //閿欒鎻愮ず
-              }
-            })
+          let taskNum = row[0].taskNum
+          this.http.get(`/api/Task/CompleteTaskAsync?taskNum=${taskNum}`, {}, "姝e湪瀹屾垚浠诲姟").then((res) => {
+            //绀轰緥锛氳皟鐢ㄥ悗鍙版帴鍙�
+            if (res.status) {
+              this.$Message.success('浠诲姟瀹屾垚')
+            } else {
+              this.$Message.error(res.message) //閿欒鎻愮ず
+            }
+          })
         }
-      } 
-     
-
-      var btnSupplementationData = this.buttons.find(x => x.value == "SupplementationData");
-            if (btnSupplementationData != null) {
-                btnSupplementationData.onClick = () => {
-                    let rows = this.$refs.table.getSelected();
-                        if (rows.length == 0) {
-                            return this.$error("璇烽�夋嫨鏁版嵁!");
-                        } else if (rows.length > 1) {
-                            return this.$error("鍙兘閫夋嫨鍗曟潯鏁版嵁");
-                        }
-                        this.$refs.gridBody.open(rows[0].palletCode);
-                        this.refresh();
-                    }
-                
-                }
-           
-      //绀轰緥锛氳缃慨鏀规柊寤恒�佺紪杈戝脊鍑烘瀛楁鏍囩鐨勯暱搴�
-      this.boxOptions.labelWidth = 150
-
+      });
+      this.columns.push({
+        field: '鎿嶄綔',
+        title: '鎿嶄綔',
+        width: 90,
+        fixed: 'right',
+        align: 'center',
+        formatter: (row) => {
+          return (
+            '<i style="cursor: pointer;color: #2d8cf0;"class="el-icon-view">鐩樼偣鍑哄簱</i>'
+          );
+        },
+        click: (row) => {
+          console.log(row);
+          this.http.post(`/api/Task/OutBoundTaskAsync?palletCode=${row.palletCode}`, {}, "姝e湪鐢熸垚浠诲姟").then((res) => {
+            //绀轰緥锛氳皟鐢ㄥ悗鍙版帴鍙�
+            if (res.status) {
+              this.$Message.success(row[0].palletCode + "鍑哄簱鎴愬姛");
+              this.refresh();
+            } else {
+              this.$Message.error(res.message) //閿欒鎻愮ず
+              this.refresh();
+            }
+          })
+        }
+      });
       // this.columns.push({
       //   title: "鎿嶄綔",
       //   field: "鎿嶄綔",
@@ -122,58 +113,71 @@
       //       <div>
       //         <el-button
       //           onClick={($e) => {
-      //             this.$refs.gridHeader.openModel1(row);
+      //             // this.$refs.table.load();
+      //             // console.log(this.$refs.table);
+      //             this.$refs.gridHeader.open(row);
       //           }}
       //           type="primary"
       //           plain
       //           style="height:26px; padding: 10px !important;"
       //         >
-      //           鏌ョ湅搴撳瓨鏄庣粏
-      //         </el-button>
+      //           鎵撳嵃
+      //         </el-button> 
       //       </div>
       //     );
       //   },
       // });
 
+      //绀轰緥锛氳缃慨鏀规柊寤恒�佺紪杈戝脊鍑烘瀛楁鏍囩鐨勯暱搴�
+      this.boxOptions.labelWidth = 150
+
+
       this.columns.forEach((column) => {
-        //淇敼棰滆壊
-        if (column.field == 'roadwayNo') {
+
+        if (column.field == 'floor') {
+
+          const floorMap = {
+            '1F': '涓�妤�',
+            '2F': '浜屾ゼ',
+          };
           column.formatter = (row) => {
-            // return '<span style="color: #2d8cf0;">' + row?.locationInfo?.roadwayNo + '</span>'
-            return  row?.locationInfo?.roadwayNo 
+            return floorMap[row?.locationInfo?.floor] || ''
           }
         }
-        if (column.field == 'materielCode') {
+        if (column.field == 'areaId') {
+
+          const floorMap = {
+            '1': '涓�妤煎爢鍨涙満鍖哄煙',
+            '2': '涓�妤糀GV鍑哄簱缂撳瓨鍖�',
+            '3': '涓�妤糀GV绔嬪簱缂撳瓨鍖�',
+            '4': '涓�妤糀GV鍏ュ簱缂撳瓨鍖�',
+            '5': '浜屾ゼB4-G4缂撳瓨鍖�',
+            '6': '浜屾ゼB5-G5缂撳瓨鍖�',
+          };
           column.formatter = (row) => {
-            // return '<span style="color: #2d8cf0;">' + row?.locationInfo?.roadwayNo + '</span>'
-            return  row?.stockInfoDetails[0]?.materielCode 
+            return floorMap[row?.locationInfo?.areaId] || ''
           }
         }
-        //鏍煎紡鍖栨棩鏈�
-        // 妫�鏌ュ綋鍓嶅垪鐨勫瓧娈垫槸鍚︿负 'locationStatus'
         if (column.field == 'locationStatus') {
-          // 浣跨敤瀵硅薄瀛楅潰閲忔潵鏄犲皠 'locationStatus' 鐨勫�煎拰瀵瑰簲鐨勬枃鏈�
           const statusMap = {
-            '-1': '鍏ㄩ儴',
             '0': '绌洪棽',
             '1': '閿佸畾',
             '2': '鏈夎揣',
             '3': '鏈夎揣绂佺敤',
             '4': '鏃犺揣绂佺敤'
           };
-          // 瀹氫箟涓�涓牸寮忓寲鍑芥暟锛屾牴鎹� 'locationStatus' 鐨勫�艰繑鍥炵浉搴旂殑鏂囨湰
           column.formatter = (row) => {
-            // 浣跨敤 statusMap 瀵硅薄鏉ヨ幏鍙栧搴旂殑鏂囨湰锛屽鏋滄病鏈夊尮閰嶅垯杩斿洖 '鏈煡鐘舵��'
-            return statusMap[row?.locationInfo?.locationStatus] || '鏈煡鐘舵��';
+            return statusMap[row?.locationInfo?.locationStatus] || '';
           }
         }
+
       })
     },
     onInited() {
       //妗嗘灦鍒濆鍖栭厤缃悗
       //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔
-      this.detailOptions.columns.forEach(column=>{ 
-        console.log(column)
+      this.detailOptions.columns.forEach(column => {
+
       });
     },
     searchBefore(param) {
@@ -182,7 +186,6 @@
       return true
     },
     searchAfter(result) {
-     console.log(result)
       return true
     },
     addBefore(formData) {
@@ -195,10 +198,41 @@
     },
     rowClick({ row, column, event }) {
       //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
-      // this.$refs.table.$refs.table.toggleRowSelection(row) //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+      this.$refs.table.$refs.table.toggleRowSelection(row) //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
     },
     modelOpenAfter(row) {
-   
+      const isAdd = this.currentAction == 'Add';//鍒ゆ柇鏄惁涓烘柊寤烘搷浣�
+      //闅愯棌鏄庣粏琛ㄦ寜閽�
+      this.detailOptions.buttons.forEach((btn) => {
+        if (btn.name == '娣诲姞琛�') {
+          btn.hidden = true;
+          //鎴栬�呰缃彧璇�
+          //btn.readonly=true;
+        }
+      });
+      const isDel = this.currentAction == 'Add';//鍒ゆ柇鏄惁涓烘柊寤烘搷浣�
+      //闅愯棌鏄庣粏琛ㄦ寜閽�
+      this.detailOptions.buttons.forEach((btn) => {
+        if (btn.name == '鍒犻櫎琛�') {
+          btn.hidden = true;
+          //鎴栬�呰缃彧璇�
+          //btn.readonly=true;
+        }
+      });
+      this.detailOptions.buttons.forEach((btn) => {
+        if (btn.name == '瀵煎叆') {
+          btn.hidden = true;
+          //鎴栬�呰缃彧璇�
+          //btn.readonly=true;
+        }
+      });
+      this.detailOptions.buttons.forEach((btn) => {
+        if (btn.name == '瀵煎嚭') {
+          btn.hidden = true;
+          //鎴栬�呰缃彧璇�
+          //btn.readonly=true;
+        }
+      });
       //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
       //(1)鍒ゆ柇鏄紪杈戣繕鏄柊寤烘搷浣滐細 this.currentAction=='Add';
       //(2)缁欏脊鍑烘璁剧疆榛樿鍊�

--
Gitblit v1.9.3