From b07472f884708a6bfdf63d999004bbf0bb5f00a8 Mon Sep 17 00:00:00 2001
From: huangxiaoqiang <huangxiaoqiang@hnkhzn.com>
Date: 星期一, 17 十一月 2025 17:12:57 +0800
Subject: [PATCH] 新增分单功能、二维码打印及物料供应商管理页面

---
 项目代码/WMS/WIDESEA_WMSClient/src/extension/widesea_wms/stock/Dt_BillGroupStock.jsx |  354 ++++++++++++++++++++++++++++++----------------------------
 1 files changed, 185 insertions(+), 169 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 6d6b34f..0bb9578 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"
@@ -9,12 +9,12 @@
 
 // import gridHeader from "./demo_Product/Dt_BillGroupStockDetail.vue";
 // import gridHeader from './extend/printView.vue'
-// import gridBody from './extend/OtherOutBound.vue'
+import gridBody from './extend/Remark.vue'
 let extension = {
   components: {
     //鏌ヨ鐣岄潰鎵╁睍缁勪欢
     gridHeader: '',
-    gridBody: '',
+    gridBody: gridBody,
     gridFooter: '',
     //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢
     modelHeader: '',
@@ -26,200 +26,214 @@
   methods: {
     //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
     onInit() {
-      this.detailOptions.buttons.unshift({
-        name: '鍏朵粬鍑哄簱', //鎸夐挳鍚嶇О
-        icon: 'el-icon-document', //鎸夐挳鍥炬爣vue2鐗堟湰瑙乮view鏂囨。icon锛寁ue3鐗堟湰瑙乪lement ui鏂囨。icon(娉ㄦ剰涓嶆槸element puls鏂囨。)
-        type: 'primary',
-        onClick: function () {
-          this.$confirm('鏄惁鍏朵粬鍑哄簱', "璀﹀憡浣犳鍦ㄤ娇鐢ㄥ叾浠栧嚭搴�", {
-            confirmButtonText: '纭畾',
-            cancelButtonText: '鍙栨秷',
-            type: 'warning',
-            center: true
-          }).then(() => {
-            this.http.post(`/api/Task/OtherOutBoundTaskAsync`, row, "姝e湪瀹屾垚浠诲姟").then((res) => {
-              //绀轰緥锛氳皟鐢ㄥ悗鍙版帴鍙�
-              if (res.status) {
-                this.$Message.success('浠诲姟瀹屾垚')
-              } else {
-                this.$Message.error(res.message) //閿欒鎻愮ず
-              }
-            })
-          })
-        }
-      });
-      this.boxButtons.push({
-        name: '鍏朵粬鍑哄簱', //鎸夐挳鍚嶇О
-        icon: 'el-icon-document', //鎸夐挳鍥炬爣:缁勪欢绀轰緥->鍥炬爣
-        //primary銆乻uccess銆亀arning銆乪rror銆乮nfo銆乼ext銆乨anger
-        type: 'primary',
-        plain: true,
-        onClick: function () {
-          this.$confirm('鏄惁鍏朵粬鍑哄簱', "璀﹀憡浣犳鍦ㄤ娇鐢ㄥ叾浠栧嚭搴�", {
-            confirmButtonText: '纭畾',
-            cancelButtonText: '鍙栨秷',
-            type: 'warning',
-            center: true
-          }).then(() => {
-            this.http.post(`/api/Task/OtherOutBoundTaskAsync`, this.$refs.detail.rowData, "姝e湪瀹屾垚浠诲姟").then((res) => {
-              if (res.status) {
-                this.$Message.success(res.message)
-              } else {
-                this.$Message.error(res.message) //閿欒鎻愮ず
-              }
-            })
-          })
-        }
-      })
-      this.boxButtons.push({
-        name: '璋冩嫧鍑哄簱', //鎸夐挳鍚嶇О
-        icon: 'el-icon-document', //鎸夐挳鍥炬爣:缁勪欢绀轰緥->鍥炬爣
-        //primary銆乻uccess銆亀arning銆乪rror銆乮nfo銆乼ext銆乨anger
-        type: 'danger',
-        plain: true,
-        onClick: function () {
-          this.$confirm('鏄惁璋冩嫧鍑哄簱', "璀﹀憡浣犳鍦ㄤ娇鐢ㄨ皟鎷ㄥ嚭搴�", {
-            confirmButtonText: '纭畾',
-            cancelButtonText: '鍙栨秷',
-            type: 'warning',
-            center: true
-          }).then(() => {
-            this.http.post(`/api/Task/OtherOutBoundTaskAsync`, this.$refs.detail.rowData, "姝e湪瀹屾垚浠诲姟").then((res) => {
-              if (res.status) {
-                this.$Message.success(res.message)
-              } else {
-                this.$Message.error(res.message) //閿欒鎻愮ず
-              }
-            })
-          })
-        }
-      })
       // this.detailOptions.buttons.unshift({
-      //   name: '璋冩嫧鍑哄簱',
-      //   icon: '',
+      //   name: '鍏朵粬鍑哄簱', //鎸夐挳鍚嶇О
+      //   icon: 'el-icon-document', //鎸夐挳鍥炬爣vue2鐗堟湰瑙乮view鏂囨。icon锛寁ue3鐗堟湰瑙乪lement ui鏂囨。icon(娉ㄦ剰涓嶆槸element puls鏂囨。)
       //   type: 'primary',
-      //   onClick: function (e) {
-      //     let row = this.$refs.table.getSelected() //鑾峰彇閫変腑鐨勮
-      //     if (row <= 0) {
-      //       //濡傛灉娌℃湁閫変腑琛�
-      //       this.$Message.error('璇烽�夋嫨涓�琛屾暟鎹�')
-      //       return
-      //     }
-      //     let taskNum = row[0].taskNum
-      //     this.http.post(`/api/Task/CompleteTaskAsync?taskNum=${taskNum}`, {}, "姝e湪瀹屾垚浠诲姟").then((res) => {
-      //       //绀轰緥锛氳皟鐢ㄥ悗鍙版帴鍙�
-      //       if (res.status) {
-      //         this.$Message.success(res.message)
-      //       } else {
-      //         this.$Message.error(res.message) //閿欒鎻愮ず
-      //       }
+      //   onClick: function () {
+      //     this.$confirm('鏄惁鍏朵粬鍑哄簱', "璀﹀憡浣犳鍦ㄤ娇鐢ㄥ叾浠栧嚭搴�", {
+      //       confirmButtonText: '纭畾',
+      //       cancelButtonText: '鍙栨秷',
+      //       type: 'warning',
+      //       center: true
+      //     }).then(() => {
+      //       this.http.post(`/api/Task/OtherOutBoundTaskAsync`, row, "姝e湪瀹屾垚浠诲姟").then((res) => {
+      //         //绀轰緥锛氳皟鐢ㄥ悗鍙版帴鍙�
+      //         if (res.status) {
+      //           this.$Message.success('浠诲姟瀹屾垚')
+      //         } else {
+      //           this.$Message.error(res.message) //閿欒鎻愮ず
+      //         }
+      //       })
       //     })
       //   }
       // });
-      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) => {
-          this.http.post(`/api/Task/OutBoundTaskAsync?palletCode=${row.palletCode}`, {}, "姝e湪鐢熸垚浠诲姟").then((res) => {
-            //绀轰緥锛氳皟鐢ㄥ悗鍙版帴鍙�
-            if (res.status) {
-              this.$Message.success(row.palletCode + "鍑哄簱鎴愬姛");
-              this.refresh();
-            } else {
-              this.$Message.error(res.message) //閿欒鎻愮ず
-              this.refresh();
-            }
+      this.boxButtons.push({
+        name: '纭畾鍑哄簱', //鎸夐挳鍚嶇О
+        type: 'danger',
+        icon: 'el-icon-check',
+        disabled: false,
+        plain: true,
+        onClick: function () {
+          if (this.editFormFields.remark == '鍏朵粬鍑哄簱') {
+            this.$confirm('鏄惁鍏朵粬鍑哄簱', '璀﹀憡', {
+              confirmButtonText: '纭畾',
+              cancelButtonText: '鍙栨秷',
+              type: 'warning',
+              center: true,
+              customClass: 'large-text-confirm'
+            }).then(() => {
+              this.http
+                .post(
+                  `/api/Task/OtherOutBoundTaskAsync`,
+                  this.$refs.detail.rowData,
+                  '姝e湪鐢熸垚鍑哄簱浠诲姟'
+                )
+                .then((res) => {
+                  if (res.status) {
+                    this.$Message.success(res.message)
+                    this.boxModel = false
+                    this.refresh()
+                  } else {
+                    this.$Message.error(res.message) //閿欒鎻愮ず
+                  }
+                })
+            })
+          } else {
+            this.$confirm('鏄惁璋冩嫧鍑哄簱', '璀﹀憡', {
+              confirmButtonText: '纭畾',
+              cancelButtonText: '鍙栨秷',
+              type: 'warning',
+              center: true,
+              customClass: 'large-text-confirm'
+            }).then(() => {
+              this.http
+                .post(
+                  `/api/Task/HandAllocateOutBoundTaskAsync`,
+                  this.$refs.detail.rowData,
+                  '姝e湪鐢熸垚鍑哄簱浠诲姟'
+                )
+                .then((res) => {
+                  if (res.status) {
+                    this.$Message.success(res.message)
+                    this.boxModel = false
+                    this.refresh()
+                  } else {
+                    this.$Message.error(res.message) //閿欒鎻愮ず
+                  }
+                })
+            })
+          }
+        }
+      })
+      this.boxButtons.push({
+        name: '鎵撳嵃浜岀淮鐮�', //鎸夐挳鍚嶇О
+        type: 'primary',
+        icon: 'el-icon-check',
+        disabled: false,
+        plain: true,
+        onClick: function () {
+          let rows = this.$refs.detail.getSelected()
+          if (rows.length == 0) return this.$error("璇烽�夋嫨鏁版嵁!");
+          let orderNos  = rows.map(x => {
+            return x.orderNo
+        })
+          this.$confirm('鏄惁鎵撳嵃鍗曟嵁', '璀﹀憡', {
+            confirmButtonText: '纭畾',
+            cancelButtonText: '鍙栨秷',
+            type: 'warning',
+            center: true,
+            customClass: 'large-text-confirm'
+          }).then(() => {
+            this.http
+              .post(
+                `/api/StockInfo/PrintOrder`,
+                orderNos,
+                '姝e湪鎵撳嵃'
+              )
+              .then((res) => {
+                if (res.status) {
+                  this.$Message.success(res.message)
+                  this.boxModel = false
+                  this.refresh()
+                } else {
+                  this.$Message.error(res.message) //閿欒鎻愮ず
+                }
+              })
           })
         }
-      });
-      // 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.columns.push({
+        title: '鎿嶄綔',
+        field: '鎿嶄綔',
+        width: 250,
+        align: 'center', // 'center',
+        render: (h, { row, column, index }) => {
+          return (
+            <div>
+              <el-button
+                onClick={($e) => {
+                  ;(row.remark = '鍏朵粬鍑哄簱'), this.linkDataNew(row, '鍏朵粬鍑哄簱')
+                }}
+                type="primary"
+              >
+                鍏朵粬鍑哄簱
+              </el-button>
 
+              <el-button
+                onClick={($e) => {
+                  ;(row.remark = '璋冩嫧鍑哄簱'), this.linkDataNew(row, '璋冩嫧鍑哄簱')
+                }}
+                type="success"
+              >
+                璋冩嫧鍑哄簱
+              </el-button>
+
+              <el-button
+                onClick={($e) => {
+                  this.$refs.gridBody.open(row.palletCode)
+                }}
+                type="warning"
+              >
+                鐩樼偣鍑哄簱
+              </el-button>
+            </div>
+          )
+        }
+      })
       //绀轰緥锛氳缃慨鏀规柊寤恒�佺紪杈戝脊鍑烘瀛楁鏍囩鐨勯暱搴�
       this.boxOptions.labelWidth = 150
       this.buttons.forEach((btn) => {
         if (btn.name == '缂栬緫') {
-          btn.hidden = true;
+          btn.hidden = true
         }
-      });
-
+      })
+      this.boxButtons.forEach((btn) => {
+        if (btn.name == '淇� 瀛�') {
+          btn.hidden = true
+        }
+      })
       this.columns.forEach((column) => {
-
         if (column.field == 'floor') {
-
           const floorMap = {
             '1F': '涓�妤�',
-            '2F': '浜屾ゼ',
-          };
+            '2F': '浜屾ゼ'
+          }
           column.formatter = (row) => {
             return floorMap[row?.locationInfo?.floor] || ''
           }
         }
         if (column.field == 'areaId') {
-
           const floorMap = {
-            '1': '涓�妤煎爢鍨涙満鍖哄煙',
-            '2': '涓�妤糀GV鍑哄簱缂撳瓨鍖�',
-            '3': '涓�妤糀GV绔嬪簱缂撳瓨鍖�',
-            '4': '涓�妤糀GV鍏ュ簱缂撳瓨鍖�',
-            '5': '浜屾ゼB4-G4缂撳瓨鍖�',
-            '6': '浜屾ゼB5-G5缂撳瓨鍖�',
-          };
+            1: '涓�妤煎爢鍨涙満鍖哄煙',
+            2: '涓�妤糀GV鍑哄簱缂撳瓨鍖�',
+            3: '涓�妤糀GV绔嬪簱缂撳瓨鍖�',
+            4: '涓�妤糀GV鍏ュ簱缂撳瓨鍖�',
+            5: '浜屾ゼB4-G4缂撳瓨鍖�',
+            6: '浜屾ゼB5-G5缂撳瓨鍖�'
+          }
           column.formatter = (row) => {
             return floorMap[row?.locationInfo?.areaId] || ''
           }
         }
         if (column.field == 'locationStatus') {
           const statusMap = {
-            '0': '绌洪棽',
-            '1': '閿佸畾',
-            '2': '鏈夎揣',
-            '3': '鏈夎揣绂佺敤',
-            '4': '鏃犺揣绂佺敤'
-          };
+            0: '绌洪棽',
+            1: '閿佸畾',
+            2: '鏈夎揣',
+            3: '鏈夎揣绂佺敤',
+            4: '鏃犺揣绂佺敤'
+          }
           column.formatter = (row) => {
-            return statusMap[row?.locationInfo?.locationStatus] || '';
+            return statusMap[row?.locationInfo?.locationStatus] || ''
           }
         }
-
       })
     },
     onInited() {
       //妗嗘灦鍒濆鍖栭厤缃悗
       //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔
-      this.detailOptions.columns.forEach(column => {
-
-      });
+      this.detailOptions.columns.forEach((column) => {})
     },
     searchBefore(param) {
       //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟
@@ -242,38 +256,40 @@
       //this.$refs.table.$refs.table.toggleRowSelection(row) //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
     },
     modelOpenAfter(row) {
-      const isAdd = this.currentAction == 'Add';//鍒ゆ柇鏄惁涓烘柊寤烘搷浣�
+      const isAdd = this.currentAction == 'Add' //鍒ゆ柇鏄惁涓烘柊寤烘搷浣�
       //闅愯棌鏄庣粏琛ㄦ寜閽�
+      // boxButtons
       this.detailOptions.buttons.forEach((btn) => {
         if (btn.name == '娣诲姞琛�') {
-          btn.hidden = true;
+          btn.hidden = true
           //鎴栬�呰缃彧璇�
           //btn.readonly=true;
         }
-      });
-      const isDel = this.currentAction == 'Add';//鍒ゆ柇鏄惁涓烘柊寤烘搷浣�
+      })
+
+      const isDel = this.currentAction == 'Add' //鍒ゆ柇鏄惁涓烘柊寤烘搷浣�
       //闅愯棌鏄庣粏琛ㄦ寜閽�
       this.detailOptions.buttons.forEach((btn) => {
         if (btn.name == '鍒犻櫎琛�') {
-          btn.hidden = true;
+          btn.hidden = true
           //鎴栬�呰缃彧璇�
           //btn.readonly=true;
         }
-      });
+      })
       this.detailOptions.buttons.forEach((btn) => {
         if (btn.name == '瀵煎叆') {
-          btn.hidden = true;
+          btn.hidden = true
           //鎴栬�呰缃彧璇�
           //btn.readonly=true;
         }
-      });
+      })
       this.detailOptions.buttons.forEach((btn) => {
         if (btn.name == '瀵煎嚭') {
-          btn.hidden = true;
+          btn.hidden = true
           //鎴栬�呰缃彧璇�
           //btn.readonly=true;
         }
-      });
+      })
       //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
       //(1)鍒ゆ柇鏄紪杈戣繕鏄柊寤烘搷浣滐細 this.currentAction=='Add';
       //(2)缁欏脊鍑烘璁剧疆榛樿鍊�

--
Gitblit v1.9.3