From 13862edbc722e99f15a2661b72e09a528c7f485a Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期一, 07 七月 2025 17:14:38 +0800
Subject: [PATCH] 车间订单下发确认下发接口逻辑修改

---
 pages/product/WorkshopOrderIssued/index.vue |  297 ++++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 244 insertions(+), 53 deletions(-)

diff --git a/pages/product/WorkshopOrderIssued/index.vue b/pages/product/WorkshopOrderIssued/index.vue
index 5f57b50..d9f2b5b 100644
--- a/pages/product/WorkshopOrderIssued/index.vue
+++ b/pages/product/WorkshopOrderIssued/index.vue
@@ -31,18 +31,69 @@
         </view>
         <view class="packing-registration-param-item param-extra">
           <view class="packing-registration-param-item-left">
+            <text class="item-one">宸ュ崟</text>
+          </view>
+          <view class="packing-registration-param-item-right">
+            <text class="item-one item-two" @click="seachWork()">{{
+              registerInfo.optaskNo == "" ? "鐐瑰嚮閫夋嫨" : registerInfo.optaskNo
+            }}</text>
+            <u-icon
+              name="arrow-right"
+              color="#687792"
+              size="28"
+              @click="seachWork()"
+              v-show="registerInfo.optaskNo == ''"
+            ></u-icon>
+          </view>
+        </view>
+        <view class="packing-registration-param-item param-extra">
+          <view class="packing-registration-param-item-left">
+            <text class="item-one">鏈哄彴</text>
+          </view>
+          <view class="packing-registration-param-item-right">
+            <picker
+              class="item-one item-two"
+              style="width: 100%; text-align: right"
+              @change="machineChange($event, machineList)"
+              :value="machineIndex"
+              :range="machineList"
+              range-key="label"
+            >
+              <view>
+                <text
+                  :style="{
+                    color: machineIndex == null ? '#a5abb4' : '#a5abb4',
+                  }"
+                  >{{
+                    machineIndex == null
+                      ? "鐐瑰嚮閫夋嫨"
+                      : machineList[machineIndex].label
+                  }}</text
+                >
+              </view>
+            </picker>
+            <u-icon
+              v-if="machineIndex == null"
+              name="arrow-right"
+              color="#687792"
+              size="28"
+            ></u-icon>
+          </view>
+        </view>
+        <view class="packing-registration-param-item param-extra">
+          <view class="packing-registration-param-item-left">
             <text class="item-one">瀛愪欢</text>
           </view>
           <view class="packing-registration-param-item-right">
             <text class="item-one item-two" @click="seachComp()">{{
-              registerInfo.value2 == "" ? "鐐瑰嚮閫夋嫨" : registerInfo.value2
+              registerInfo.partNo == "" ? "鐐瑰嚮閫夋嫨" : registerInfo.partNo
             }}</text>
             <u-icon
               name="arrow-right"
               color="#687792"
               size="28"
               @click="seachComp()"
-              v-show="registerInfo.value2 == ''"
+              v-show="registerInfo.partNo == ''"
             ></u-icon>
           </view>
         </view>
@@ -51,7 +102,7 @@
             <text class="item-one">闆朵欢鎻忚堪</text>
           </view>
           <view class="packing-registration-param-item-right">
-            <text class="item-one item-two">{{ registerInfo.value3 }}</text>
+            <text class="item-one item-two">{{ registerInfo.partName }}</text>
           </view>
         </view>
         <view class="packing-registration-param-item param-extra">
@@ -83,7 +134,7 @@
                   <view class="_label-name">鎵瑰彿锛�</view>
                 </view>
                 <view class="_content">
-                  {{ item.value0 }}
+                  {{ item.outBatchNo }}
                 </view>
               </view>
               <view class="row-list">
@@ -91,7 +142,7 @@
                   <view class="_label-name">涓嬪彂鏁伴噺锛�</view>
                 </view>
                 <view class="_content">
-                  {{ item.value1 }}
+                  {{ item.suppliedQuantity }}
                 </view>
               </view>
             </view>
@@ -116,7 +167,19 @@
                 <text class="item-one">鎵瑰彿</text>
               </view>
               <view class="packing-registration-param-item-right">
-                <text class="item-one item-two">{{ modalList.moNO }}</text>
+                <text class="item-one item-two">{{
+                  modalList.outBatchNo
+                }}</text>
+              </view>
+            </view>
+            <view class="packing-registration-param-item param-extra">
+              <view class="packing-registration-param-item-left">
+                <text class="item-one">搴撲綅</text>
+              </view>
+              <view class="packing-registration-param-item-right">
+                <text class="item-one item-two">{{
+                  modalList.locationNo
+                }}</text>
               </view>
             </view>
             <view class="packing-registration-param-item param-extra">
@@ -124,7 +187,10 @@
                 <text class="item-one">涓嬪彂鏁伴噺</text>
               </view>
               <view class="packing-registration-param-item-right">
-                <u-input class="item-one item-two" v-model="modalList.value1" />
+                <u-input
+                  class="item-one item-two"
+                  v-model="modalList.suppliedQuantity"
+                />
               </view>
             </view>
           </view>
@@ -154,84 +220,172 @@
         whiteSpace: "nowrap",
       },
       // 寮圭獥鍒楄〃
-      modalList: {
-        partNo: "",
-        moNo: "",
-      },
+      modalList: {},
       //   涓婚〉闈㈠垪琛�
       registerInfo: {
+        operationTaskId: "",
+        id: "",
         moNo: "",
-        value2: "",
-        value3: "",
+        partNo: "",
+        partName: "",
+        optaskNo: "",
+        workstationId: "",
       },
       //   涓嬪彂璁板綍鍒楄〃
       hasScanSnList: [],
       codeInfoId: "",
+      showModal: false,
+      machineIndex: null,
+      machineList: [],
     };
   },
   onShow() {
     let that = this;
     uni.$off("scan"); // 姣忔杩涙潵鍏� 绉婚櫎鍏ㄥ眬鑷畾涔変簨浠剁洃鍚櫒
-    if (registerInfo.moNO == null) {
-      uni.showToast({
-        icon: "none",
-        title: "璇峰厛閫夋嫨瀛愪欢锛�",
-        duration: 2 * 1000,
-      });
-      return;
-    }
     uni.$on("scan", function (data) {
       console.log("onscan");
+      if (that.registerInfo.partNo == "") {
+        uni.showToast({
+          icon: "none",
+          title: "璇峰厛閫夋嫨瀛愪欢锛�",
+          duration: 2 * 1000,
+        });
+        return;
+      }
+      if (that.registerInfo.workstationId == "") {
+        uni.showToast({
+          icon: "none",
+          title: "璇峰厛閫夋嫨鏈哄彴锛�",
+          duration: 2 * 1000,
+        });
+        return;
+      }
       if (data.code) {
+        //鎵爜鎴愬姛鍚庣殑鍥炶皟锛屼綘鍙互鍐欒嚜宸辩殑閫昏緫浠g爜鍦ㄨ繖閲�
+        console.log("鎵爜缁撴灉锛�", data.code);
         let codeInfo = JSON.parse(data.code);
-        this.codeInfoId = codeInfo.id;
-        if (codeInfo.moOn) {
+        that.codeInfoId = codeInfo.id;
+        if (codeInfo.partNo) {
+          if (that.registerInfo.partNo != codeInfo.partNo) {
+            this.$u.toast("褰撳墠瀛愪欢鍜屾壂鐮佸瓙浠朵笉涓�鑷达紒");
+            return;
+          }
           // 鎵弿鎶ュ伐鍗曚簩缁寸爜
-          that.scanHandle(data.code);
+          that.scanHandle(codeInfo);
           that.$forceUpdate();
-          that.getHandelList();
+          // that.getHandelList();
         }
       }
-      //鎵爜鎴愬姛鍚庣殑鍥炶皟锛屼綘鍙互鍐欒嚜宸辩殑閫昏緫浠g爜鍦ㄨ繖閲�
-      console.log("鎵爜缁撴灉锛�", data.code);
     });
   },
   methods: {
-    getHandelList() {
-      this.$u.api.workReporting
-        .getProductMainV1({
-          current: 1,
-          size: -1,
-          id: this.codeInfoId,
-        })
-        .then((res) => {
-          this.hasScanSnList = res.data.productOutputList;
-        });
+    //鏈哄彴
+    machineChange(e, storage, code) {
+      this.hasScanSnList = [];
+      if (storage.length <= 0) {
+        this.machineIndex = null;
+        return;
+      }
+      this.machineIndex = e.target.value;
+      this.registerInfo.workstationId = storage[this.machineIndex].value;
     },
+    // getHandelList() {
+    //   this.$u.api.workReporting
+    //     .getProductMainV1({
+    //       current: 1,
+    //       size: -1,
+    //       id: this.codeInfoId,
+    //     })
+    //     .then((res) => {
+    //       this.hasScanSnList = res.data.productOutputList;
+    //     });
+    // },
     // 鐐瑰嚮纭鍚庤幏鍙栦笅鍙戣褰�
     confirm() {
+      if (!this.modalList.outBatchNo) {
+        this.$u.toast("鎵瑰彿涓虹┖涓嶈兘鎻愪氦");
+        this.$refs.uModal.clearLoading(); // 娓呴櫎鍔犺浇鐘舵��
+        return;
+      }
+      if (!this.modalList.locationNo) {
+        this.$u.toast("搴撲綅涓虹┖涓嶈兘鎻愪氦");
+        this.$refs.uModal.clearLoading(); // 娓呴櫎鍔犺浇鐘舵��
+        return;
+      }
+      if (!this.modalList.suppliedQuantity) {
+        this.$u.toast("璇疯緭鍏ュ彇娑堜笅鍙戞暟閲�");
+        this.$refs.uModal.clearLoading(); // 娓呴櫎鍔犺浇鐘舵��
+        return;
+      }
       // 澶勭悊纭閫昏緫
-      this.$u.api.workReporting._(this.modalList).then((res) => {
-		  console.log("res", res);
-      this.showModal = false;
-	
-             this.getHandelList();
+      this.$u.api.WorkshopOrderIssued.feeding({
+        feedingFrom: "stocker",
+        operationTaskId: this.registerInfo.operationTaskId,
+        feeds: [
+          {
+            ...this.modalList,
+          },
+        ],
+      }).then((res) => {
+        console.log("res", res);
+        if (res.code === 0) {
+          this.$u.toast("鎻愪氦鎴愬姛");
+          this.showModal = false;
+          const obj = {
+            suppliedQuantity: this.modalList.suppliedQuantity,
+            outBatchNo: this.modalList.outBatchNo,
+          };
+          this.hasScanSnList.push(obj);
+        }
       });
     },
     // 妯℃�佹鍙栨秷
     cancel() {
       this.showModal = false; // 鍏抽棴寮圭獥
     },
+    // 宸ュ崟鍥炴樉
+    workNo(val) {
+      this.machineList = [];
+      this.machineIndex = null;
+      this.registerInfo.workstationId = "";
+      this.registerInfo.partName = "";
+      this.registerInfo.partNo = "";
+      this.$u.api.WorkshopOrderIssued.selWorkStation(val).then((res) => {
+        console.log("111", res);
+        if (res.code === 0 && res.data.length > 0) {
+          res.data.forEach((i) => {
+            const obj = Object.assign({
+              label: i.name,
+              value: i.id,
+            });
+            this.machineList.push(obj);
+          });
+        }
+      });
+      this.registerInfo.optaskNo = val.optaskNo;
+      this.registerInfo.operationTaskId = val.id;
+      this.hasScanSnList = [];
+    },
     // 瀛愪欢鍥炴樉
     compNo(val) {
-      this.registerInfo.value2 = val.value2;
-      this.registerInfo.value3 = val.value2;
+      this.registerInfo.partNo = val.partNo;
+      this.registerInfo.partName = val.partName;
     },
     // 璁㈠崟鍙峰洖鏄�
     setNo(val) {
       console.log("11111", val);
-      this.registerInfo.moNo = val.moNo;
-      this.registerInfo.value2 = val.value2;
+      (this.registerInfo = {
+        operationTaskId: "",
+        id: val.id,
+        moNo: val.moNo,
+        partNo: "",
+        partName: "",
+        optaskNo: "",
+        workstationId: "",
+      }),
+        (this.machineList = []);
+      this.machineIndex = null;
+      this.hasScanSnList = [];
     },
     //璁㈠崟鍙�
     seachPersonnelNo() {
@@ -242,25 +396,62 @@
     },
     //瀛愪欢
     seachComp() {
-      if (this.registerInfo.moNO == null) {
+      if (this.registerInfo.optaskNo == "") {
+        this.$u.toast("璇烽�夋嫨宸ュ崟鍙�");
+        return;
+      }
+      console.log("瀛愪欢");
+      // 浣跨敤uni.navigateTo鏂规硶璺宠浆锛屽苟閫氳繃queryParams浼犻�掑弬鏁�
+      uni.navigateTo({
+        url:
+          "/pages/product/WorkshopOrderIssued/comp?operationTaskId=" +
+          encodeURIComponent(JSON.stringify(this.registerInfo.operationTaskId)),
+      });
+    },
+    //宸ュ崟
+    seachWork() {
+      if (this.registerInfo.moNo == "") {
         this.$u.toast("璇烽�夋嫨璁㈠崟鍙�");
         return;
       }
       console.log("瀛愪欢");
+      // 浣跨敤uni.navigateTo鏂规硶璺宠浆锛屽苟閫氳繃queryParams浼犻�掑弬鏁�
       uni.navigateTo({
-        url: "/pages/product/WorkshopOrderIssued/comp",
+        url:
+          "/pages/product/WorkshopOrderIssued/WorkOrderList?id=" +
+          encodeURIComponent(JSON.stringify(this.registerInfo.id)),
       });
     },
     // 鎵爜鍚庢暟鎹洖鏄�
     scanHandle(val) {
-      let { moNo } = val;
-      this.modalList.moNo = moNo;
-      this.showModal = true;
+      const { outBatchNo } = val;
+      const { workstationId, operationTaskId } = this.registerInfo;
+      const obj = {
+        outBatchNo: outBatchNo,
+        workstationId: workstationId,
+        operationTaskId: operationTaskId,
+      };
+      this.$u.api.WorkshopOrderIssued.checkRawPartPDA(obj).then((res) => {
+        console.log("res", res);
+        if (res.code === 0) {
+          (res.data.workstationId = workstationId), (this.modalList = res.data);
+          this.showModal = true;
+        }
+      });
     },
   },
 };
 </script>
 <style lang="scss" scoped>
+.popup-content {
+  width: 600rpx;
+  height: 350rpx;
+  background-color: #fff;
+  border-radius: 8px;
+  z-index: 10;
+  /* 纭繚鍐呭鍦ㄨ挋鐗堜箣涓� */
+}
+
 .packing-registration-bg {
   background-color: #f6f9ff;
   background-image: url("~@/static/custom/packing/backBg.png");
@@ -293,7 +484,7 @@
   }
 
   .packing-registration-param-view {
-    height: 345rpx;
+    height: 550rpx;
     background-color: #fff;
     border-radius: 10rpx;
     padding: 0rpx 23rpx;
@@ -320,7 +511,7 @@
 
         .item-one {
           font-size: 30rpx;
-          color: #333333;
+          color: #060505;
           margin-right: 6rpx;
         }
 

--
Gitblit v1.9.3