From bfc11f87e2b64420c9917c0b9881b3e327d6f796 Mon Sep 17 00:00:00 2001
From: yanjinhui <3306209981@qq.com>
Date: 星期二, 04 十一月 2025 22:19:59 +0800
Subject: [PATCH] 优化调拨出入库

---
 新建文件夹/WMS/src/extension/outbound/outboundOrder.js |  209 +++++++++++++++++++++++++++++++++++-----------------
 1 files changed, 141 insertions(+), 68 deletions(-)

diff --git "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WMS/src/extension/outbound/outboundOrder.js" "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WMS/src/extension/outbound/outboundOrder.js"
index 122b98c..06741ff 100644
--- "a/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WMS/src/extension/outbound/outboundOrder.js"
+++ "b/\346\226\260\345\273\272\346\226\207\344\273\266\345\244\271/WMS/src/extension/outbound/outboundOrder.js"
@@ -1,74 +1,147 @@
 
 //姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜
 import gridBody from './extend/outOrderDetail.vue'
+import http from '../../api/http';
+import { el, fa, sw } from 'element-plus/es/locales.mjs';
 let extension = {
-    components: {
-      //鏌ヨ鐣岄潰鎵╁睍缁勪欢
-      gridHeader: '',
-      gridBody: gridBody,
-      gridFooter: '',
-      //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢
-      modelHeader: '',
-      modelBody: '',
-      modelFooter: ''
-    },
-    tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓)
-    buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽�
-    methods: {
-       //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
-      onInit() {  
-        //鎵╁睍椤甸潰鍒濆鍖栨搷浣�
-        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.$refs.gridBody.open(row);
-          }
-      });
-      },
-      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)
+  components: {
+    //鏌ヨ鐣岄潰鎵╁睍缁勪欢
+    gridHeader: '',
+    gridBody: gridBody,
+    gridFooter: '',
+    //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢
+    modelHeader: '',
+    modelBody: '',
+    modelFooter: ''
+  },
+  tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓)
+  buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽�
+  methods: {
+    //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
+    onInit() {
+      //鎵╁睍椤甸潰鍒濆鍖栨搷浣�
+      let Bt = this.buttons.find(x => x.value == "Complete")
+      if (Bt) {
+        Bt.onClick = function () {
+          let rows = this.$refs.table.getSelected();
+          if (rows.length == 0) return this.$error("璇烽�夋嫨鏁版嵁!");
+          if (rows.length > 1) return this.$error("鍙兘閫夋嫨涓�鏉℃暟鎹�")
+          const id = rows[0].id;
+          //const allIds = rows.map(item => item.id);
+
+          // 杩欓噷娣诲姞浣犵殑涓氬姟閫昏緫
+          this.http.post(`/api/DeliveryOrder/FinishOutOrder?key=${id}`).then((x) => {
+            if (x.status) {
+              this.$Message.success('鎿嶄綔鎴愬姛');
+              this.refresh();
+            } else {
+              return this.$error(x.message);
+            }
+          });
+        }
       }
+      // this.detailOptions.buttons.unshift({//杩欓噷鍙互浣跨敤push娣诲姞鏈�鍚庝竴涓綅缃�
+      //   name: '鑷畾涔夋寜閽�', //鎸夐挳鍚嶇О
+      //   icon: 'el-icon-document', //鎸夐挳鍥炬爣:缁勪欢绀轰緥->鍥炬爣
+      //   //primary銆乻uccess銆亀arning銆乪rror銆乮nfo銆乼ext銆乨anger
+      //   type: 'primary',
+      //   plain: true,
+      //   onClick: () => { }
+      // })
+    },
+    onInited() {
+      //妗嗘灦鍒濆鍖栭厤缃悗
+      //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔
+      //this.detailOptions.columns.forEach(column=>{ });
+      this.buttons.forEach(x => {//name鏀逛负瑕侀殣钘忕殑鎸夐挳鍚嶅瓧
+        if (x.name == '缂� 杈�') {
+          x.hidden = true;
+        }
+      })
+    },
+    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)
+      this.editFormOptions.forEach((editForm) => {
+        editForm.forEach((x) => {
+          x.readonly = true
+        })
+      })
+      this.detailOptions.buttons.forEach((btn) => {
+        if (row.out_type == "20" && row.warehouse_no != "001") {
+          btn.hidden = btn.name != '娣诲姞琛�' && btn.name != '鑷畾涔夋寜閽�'
+        } else {
+          btn.hidden = true
+        }
+        // if (row.out_type != "20") {
+        //   btn.hidden = true
+        // } else {
+        //   btn.hidden = btn.name != '娣诲姞琛�'
+        // }
+        // if (btn.name != '娣诲姞琛�') {
+        //   btn.hidden = btn.name != '娣诲姞琛�';
+        //   //鎴栬�呰缃彧璇�
+        //   //btn.readonly=true;
+        // }
+      });
+      this.detail.columns.forEach((x) => {
+        switch (x.field) {
+          case "creater":
+            x.hidden = (row.out_type != "20" && row.out_type != "215");
+            break;
+          case "locationCode":
+            if (row.warehouse_no != "001" && row.out_type == "20") {
+              x.hidden = false
+            } else {
+              x.hidden = true
+            }
+          case "exp_date":
+            x.hidden = row.out_type == "215" || row.out_type == "20" && row.warehouse_no === "001";
+            // x.title = (row.out_type == "20") ? "璐т綅鍙�" : "鏁堟湡";
+            x.edit = row.out_type == "20"
+            break;
+          case "order_qty":
+            x.title = row.out_type == "20" ? "搴撳瓨鏁伴噺" : "璁㈠崟鏁伴噺";
+            x.readonly = row.out_type != "20";
+            break;
+          case "order_Outqty":
+            x.title = row.out_type == "20" ? "鐩樼偣鏁伴噺" : "瀹屾垚鏁伴噺";
+            x.readonly = row.out_type != "20";
+            break;
+          case "goods_no":
+            x.readonly = row.out_type != "20";
+            break;
+          case "batch_num":
+            x.readonly = row.out_type != "20";
+            break;
+        }
+      })
     }
-  };
-  export default extension;
-  
\ No newline at end of file
+  }
+};
+export default extension;

--
Gitblit v1.9.3