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 |  249 ++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 204 insertions(+), 45 deletions(-)

diff --git a/pages/product/WorkshopOrderIssued/index.vue b/pages/product/WorkshopOrderIssued/index.vue
index bfed593..d9f2b5b 100644
--- a/pages/product/WorkshopOrderIssued/index.vue
+++ b/pages/product/WorkshopOrderIssued/index.vue
@@ -31,6 +31,57 @@
         </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">
@@ -91,7 +142,7 @@
                   <view class="_label-name">涓嬪彂鏁伴噺锛�</view>
                 </view>
                 <view class="_content">
-                  {{ item.qpa }}
+                  {{ item.suppliedQuantity }}
                 </view>
               </view>
             </view>
@@ -118,6 +169,16 @@
               <view class="packing-registration-param-item-right">
                 <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>
@@ -159,22 +220,23 @@
         whiteSpace: "nowrap",
       },
       // 寮圭獥鍒楄〃
-      modalList: {
-        operationTaskId: "",
-        partNo: "",
-        moNo: "",
-      },
+      modalList: {},
       //   涓婚〉闈㈠垪琛�
       registerInfo: {
+        operationTaskId: "",
         id: "",
         moNo: "",
         partNo: "",
         partName: "",
+        optaskNo: "",
+        workstationId: "",
       },
       //   涓嬪彂璁板綍鍒楄〃
       hasScanSnList: [],
       codeInfoId: "",
       showModal: false,
+      machineIndex: null,
+      machineList: [],
     };
   },
   onShow() {
@@ -190,58 +252,119 @@
         });
         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);
         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();
         }
       }
     });
   },
   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.WorkshopOrderIssued.checkRawPart(this.modalList).then(
-        (res) => {
-          console.log("res", res);
-          if (res.data.code === 0) {
-          this.confirmList();
-          }
+      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);
         }
-      );
-    },
-    // 璁㈠崟涓嬪彂
-    confirmList() {
-      this.$u.api.WorkshopOrderIssued.checkRawPart(this.modalList).then(
-        (res) => {
-          console.log("res", res);
-          if (res.data.code === 0) {
-            this.showModal = false;
-          }
-        }
-      );
+      });
     },
     // 妯℃�佹鍙栨秷
     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) {
@@ -251,9 +374,18 @@
     // 璁㈠崟鍙峰洖鏄�
     setNo(val) {
       console.log("11111", val);
-      this.registerInfo.moNo = val.moNo;
-      // this.registerInfo.value2 = val.value2;
-      this.registerInfo.id = val.id;
+      (this.registerInfo = {
+        operationTaskId: "",
+        id: val.id,
+        moNo: val.moNo,
+        partNo: "",
+        partName: "",
+        optaskNo: "",
+        workstationId: "",
+      }),
+        (this.machineList = []);
+      this.machineIndex = null;
+      this.hasScanSnList = [];
     },
     //璁㈠崟鍙�
     seachPersonnelNo() {
@@ -264,6 +396,20 @@
     },
     //瀛愪欢
     seachComp() {
+      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;
@@ -272,14 +418,26 @@
       // 浣跨敤uni.navigateTo鏂规硶璺宠浆锛屽苟閫氳繃queryParams浼犻�掑弬鏁�
       uni.navigateTo({
         url:
-          "/pages/product/WorkshopOrderIssued/comp?id=" +
+          "/pages/product/WorkshopOrderIssued/WorkOrderList?id=" +
           encodeURIComponent(JSON.stringify(this.registerInfo.id)),
       });
     },
     // 鎵爜鍚庢暟鎹洖鏄�
     scanHandle(val) {
-      this.modalList = val;
-      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;
+        }
+      });
     },
   },
 };
@@ -287,12 +445,13 @@
 <style lang="scss" scoped>
 .popup-content {
   width: 600rpx;
-  height: 250rpx;
+  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");
@@ -325,7 +484,7 @@
   }
 
   .packing-registration-param-view {
-    height: 345rpx;
+    height: 550rpx;
     background-color: #fff;
     border-radius: 10rpx;
     padding: 0rpx 23rpx;
@@ -352,7 +511,7 @@
 
         .item-one {
           font-size: 30rpx;
-          color: #333333;
+          color: #060505;
           margin-right: 6rpx;
         }
 

--
Gitblit v1.9.3