From 74ead6f7bb66fe8d3f8db11b1cbadd92b57e28d1 Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期二, 04 十一月 2025 10:23:19 +0800
Subject: [PATCH] 解决铜杆报工的数据覆盖问题

---
 pages/product/report/index.vue |  663 ++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 467 insertions(+), 196 deletions(-)

diff --git a/pages/product/report/index.vue b/pages/product/report/index.vue
index 9cc7a83..34b249c 100644
--- a/pages/product/report/index.vue
+++ b/pages/product/report/index.vue
@@ -8,13 +8,27 @@
       :rules="rules"
       :error-type="['toast']"
     >
-      <u-form-item label="杞﹂棿" :border-bottom="false" prop="work" style="font-size:small">
+      <u-form-item
+        label="杞﹂棿"
+        :border-bottom="false"
+        prop="work"
+        style="font-size: small"
+      >
         <u-radio-group v-model="form.work" :disabled="subdisabled">
-          <u-radio name="dt"><span style="font-size:small">瀵间綋</span></u-radio>
-          <u-radio name="tg"><span style="fongt-size:small">閾滄潌</span></u-radio>
+          <u-radio name="dt"
+            ><span style="font-size: small">瀵间綋</span></u-radio
+          >
+          <u-radio name="tg"
+            ><span style="fongt-size: small">閾滄潌</span></u-radio
+          >
         </u-radio-group>
       </u-form-item>
-      <u-form-item label="鎶ュ伐鍗曞彿" :border-bottom="false" prop="taskNo" style="font-size:small">
+      <u-form-item
+        label="鎶ュ伐鍗曞彿"
+        :border-bottom="false"
+        prop="taskNo"
+        style="font-size: small"
+      >
         <u-input
           v-model="form.taskNo"
           type="select"
@@ -22,14 +36,24 @@
           @click="open"
         />
       </u-form-item>
-      <u-form-item label="宸ュ簭" :border-bottom="false" prop="name" style="font-size:small">
+      <u-form-item
+        label="宸ュ簭"
+        :border-bottom="false"
+        prop="name"
+        style="font-size: small"
+      >
         <u-input
           v-model="form.name"
           type="select"
           placeholder="璇锋壂鎻忔姤宸ュ崟鍙�"
         />
       </u-form-item>
-      <u-form-item label="璁㈠崟鍙�" :border-bottom="false" prop="moOn" style="font-size:small">
+      <u-form-item
+        label="璁㈠崟鍙�"
+        :border-bottom="false"
+        prop="moOn"
+        style="font-size: small"
+      >
         <u-input
           v-model="form.moOn"
           type="select"
@@ -37,61 +61,135 @@
           @click="openList"
         />
       </u-form-item>
-      <u-form-item label="闆朵欢鍙�" :border-bottom="false" prop="partNo" style="font-size:small">
+      <u-form-item
+        label="闆朵欢鍙�"
+        :border-bottom="false"
+        prop="partNo"
+        style="font-size: small"
+      >
         <u-input v-model="form.partNo" placeholder="" disabled />
       </u-form-item>
-      <u-form-item label="闆朵欢鎻忚堪" :border-bottom="false" prop="partName" style="font-size:small">
+      <u-form-item
+        label="闆朵欢鎻忚堪"
+        :border-bottom="false"
+        prop="partName"
+        style="font-size: small"
+      >
         <u-input v-model="form.partName" placeholder="" disabled />
       </u-form-item>
-      <u-form-item label="鎵归噺澶у皬" :border-bottom="false" prop="qtyRequired" style="font-size:small">
-        <u-input v-model="form.qtyRequired" placeholder="" disabled />
+      <!-- <u-form-item label="鎵归噺澶у皬" :border-bottom="false" prop="qtyRequired" style="font-size:small">
+				<u-input v-model="form.qtyRequired" placeholder="" disabled />
+			</u-form-item>
+			<u-form-item label="鍓╀綑鏁伴噺" :border-bottom="false" prop="Jianqtyfinished" style="font-size:small">
+				<u-input v-model="form.Jianqtyfinished" placeholder="" disabled />
+			</u-form-item> -->
+      <u-form-item
+        label="鎶曟枡浜ч噺"
+        :border-bottom="false"
+        prop="FeedInputProductionVolume"
+        style="font-size: small"
+      >
+        <u-input
+          v-model="form.FeedInputProductionVolume"
+          type="select"
+          placeholder="璇峰~鍐欐姇鏂欎骇閲�"
+          @click="FeedInputProductionVolumeCLick"
+        />
       </u-form-item>
       <u-form-item
-        label="鍓╀綑鏁伴噺"
+        label="姹囨姤浜ч噺"
         :border-bottom="false"
-        prop="Jianqtyfinished"
-        style="font-size:small"
+        prop="reportProductionVolume"
+        style="font-size: small"
       >
-        <u-input v-model="form.Jianqtyfinished" placeholder="" disabled />
+        <u-input
+          v-model="form.reportProductionVolume"
+          type="select"
+          placeholder="璇峰~鍐欐眹鎶ヤ骇閲�"
+          @click="reportProductionVolumeCLick"
+        />
       </u-form-item>
-      <u-form-item label="搴撲綅" :border-bottom="false" prop="proposedLocation" style="font-size:small">
+      <u-form-item
+        label="搴撲綅"
+        :border-bottom="false"
+        prop="proposedLocation"
+        style="font-size: small"
+      >
         <u-input v-model="form.proposedLocation" placeholder="" disabled />
       </u-form-item>
-      <u-form-item label="鎶ュ伐绫诲瀷" label-width="90px" prop="productType" style="font-size:small">
-        <u-radio-group v-model="form.productType" :disabled="subdisabled">
-          <u-radio name="dep"><span style="font-size:small">涓嬫満鎶ュ伐</span></u-radio>
-          <u-radio name="ndep"><span style="font-size:small">鏈笅鏈烘姤宸�</span></u-radio>
-        </u-radio-group>
-      </u-form-item>
-      <u-form-item label="鎺ユ敹闆朵欢" label-width="90px" prop="receive" style="font-size:small">
-        <u-radio-group v-model="form.receive" :disabled="subdisabled">
-          <u-radio name="mo"><span style="font-size:small">杞﹂棿璁㈠崟</span></u-radio>
-          <u-radio name="part"><span style="font-size:small">鏇夸唬闆朵欢</span></u-radio>
-        </u-radio-group>
-      </u-form-item>
-      <u-form-item label="鐗╂枡" label-width="90px" prop="materialCost" style="font-size:small">
+      <!-- <u-form-item label="鎶ュ伐绫诲瀷" label-width="90px" prop="productType" style="font-size:small">
+				<u-radio-group v-model="form.productType" :disabled="subdisabled">
+					<u-radio name="dep"><span style="font-size:small">涓嬫満鎶ュ伐</span></u-radio>
+					<u-radio name="ndep"><span style="font-size:small">鏈笅鏈烘姤宸�</span></u-radio>
+				</u-radio-group>
+			</u-form-item> -->
+      <!-- <u-form-item label="鎺ユ敹闆朵欢" label-width="90px" prop="receive" style="font-size:small">
+				<u-radio-group v-model="form.receive" :disabled="subdisabled">
+					<u-radio name="mo"><span style="font-size:small">杞﹂棿璁㈠崟</span></u-radio>
+					<u-radio name="part"><span style="font-size:small">鏇夸唬闆朵欢</span></u-radio>
+				</u-radio-group>
+			</u-form-item> -->
+      <u-form-item
+        label="鐗╂枡"
+        label-width="90px"
+        prop="materialCost"
+        style="font-size: small"
+      >
         <u-radio-group v-model="form.materialCost" :disabled="true">
-          <u-radio name="鍊掑啿"><span style="font-size:small">鍊掑啿</span></u-radio>
-          <u-radio name="鎶曟枡"><span style="font-size:small">鎶曟枡</span></u-radio>
+          <u-radio name="鍊掑啿"
+            ><span style="font-size: small">鍊掑啿</span></u-radio
+          >
+          <u-radio name="鎶曟枡"
+            ><span style="font-size: small">鎶曟枡</span></u-radio
+          >
         </u-radio-group>
       </u-form-item>
-	  <u-form-item label="绠�鍖栫墿鏂欐鏌�" label-width="90px" prop="simplifyMaterials" style="font-size:small">
-	    <u-radio-group v-model="form.simplifyMaterials" :disabled="subdisabled || simplifyDisabled" @change="radioChange">
-	      <u-radio name="true"><span style="font-size:small">鏄�</span></u-radio>
-	      <u-radio name="false"><span style="font-size:small">鍚�</span></u-radio>
-	    </u-radio-group>
-	  </u-form-item>
-      <u-form-item label="鎶ュ伐鏂瑰紡" label-width="90px" prop="status"  style="font-size:small">
-        <u-radio-group v-model="form.status" :disabled="subdisabled" @change="handleReportTypeChange">
-          <u-radio name="false"><span style="font-size:small">鎸夌彮缁勬姤宸�</span></u-radio>
-          <u-radio name="true"><span style="font-size:small">鎸変汉鍛樻姤宸�</span></u-radio>
+      <!-- <u-form-item label="绠�鍖栫墿鏂欐鏌�" label-width="90px" prop="simplifyMaterials" style="font-size:small">
+				<u-radio-group v-model="form.simplifyMaterials" :disabled="subdisabled || simplifyDisabled"
+					@change="radioChange">
+					<u-radio name="true"><span style="font-size:small">鏄�</span></u-radio>
+					<u-radio name="false"><span style="font-size:small">鍚�</span></u-radio>
+				</u-radio-group>
+			</u-form-item> -->
+      <u-form-item
+        label="鎶ュ伐鏂瑰紡"
+        label-width="90px"
+        prop="status"
+        style="font-size: small"
+      >
+        <u-radio-group
+          v-model="form.status"
+          :disabled="subdisabled"
+          @change="handleReportTypeChange"
+        >
+          <u-radio name="false"
+            ><span style="font-size: small">鎸夌彮缁勬姤宸�</span></u-radio
+          >
+          <u-radio name="true"
+            ><span style="font-size: small">鎸変汉鍛樻姤宸�</span></u-radio
+          >
         </u-radio-group>
       </u-form-item>
-      <u-form-item label="浜哄憳鍚嶇О" label-width="90px" :border-bottom="false" prop="Persons"  style="font-size:small">
-				<u-input v-model="form.Persons" type="select" placeholder="璇烽�夋嫨"
-					@click="openselectedPersons" :disabled="!canSelectPerson || subdisabled"/>
-			</u-form-item>
-      <u-form-item label="浜у嚭鍒楄〃" :border-bottom="false"  style="font-size:small"></u-form-item>
+      <u-form-item
+        label="浜哄憳鍚嶇О"
+        label-width="90px"
+        :border-bottom="false"
+        prop="Persons"
+        style="font-size: small"
+      >
+        <u-input
+          v-model="form.Persons"
+          type="select"
+          placeholder="璇烽�夋嫨"
+          @click="openselectedPersons"
+          :disabled="!canSelectPerson || subdisabled"
+        />
+      </u-form-item>
+      <u-form-item
+        label="浜у嚭鍒楄〃"
+        :border-bottom="false"
+        style="font-size: small"
+      ></u-form-item>
     </u-form>
     <view class="wrap">
       <scroll-view class="packing-registration-scroll-list" scroll-y="true">
@@ -104,10 +202,12 @@
             v-for="(item, index) in InventoryReceiptList"
             :key="index"
             :index="index"
-            @click="cancelReport(item)"
+            @click="cancelReport(item, index)"
           >
             <view class="content-header">
-              <view class="content-header-title" style="font-size:small">{{ index + 1 }}</view>
+              <view class="content-header-title" style="font-size: small">{{
+                index + 1
+              }}</view>
             </view>
             <view class="content-body">
               <view class="row-list">
@@ -146,7 +246,7 @@
         label="鎶ュ伐鍗曞彿"
         placeholder="璇疯緭鍏�"
         :border-bottom="false"
-        style="font-size:small"
+        style="font-size: small"
       >
       </u-field>
     </modalBg>
@@ -204,21 +304,39 @@
         </view>
       </view>
     </u-modal>
-    <u-modal v-model="personShowModal" title="" :show-cancel-button="true" :show-confirm-button="true"
-			@confirm="confirmSelection" @cancel="cancelSelection">
-			<view class="popup-content">
-      <scroll-view scroll-y="true" style="height: 100%; transform: translateZ(0); -webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;">
-				<view class="popup-header">
-					<checkbox-group @change="checkboxChange">
-						<label class="checkbox-item" v-for="(item, index) in selectedPersons" :key="index">
-							<checkbox :value="item.staffId" :checked="item.checked" />
-							<text class="label">{{ item.staffName }}</text>
-						</label>
-					</checkbox-group>
-				</view>
-      </scroll-view>
-			</view>
-		</u-modal>
+    <u-modal
+      v-model="personShowModal"
+      title=""
+      :show-cancel-button="true"
+      :show-confirm-button="true"
+      @confirm="confirmSelection"
+      @cancel="cancelSelection"
+    >
+      <view class="popup-content">
+        <scroll-view
+          scroll-y="true"
+          style="
+            height: 100%;
+            transform: translateZ(0);
+            -webkit-font-smoothing: antialiased;
+            -moz-osx-font-smoothing: grayscale;
+          "
+        >
+          <view class="popup-header">
+            <checkbox-group @change="checkboxChange">
+              <label
+                class="checkbox-item"
+                v-for="(item, index) in selectedPersons"
+                :key="index"
+              >
+                <checkbox :value="item.staffId" :checked="item.checked" />
+                <text class="label">{{ item.staffName }}</text>
+              </label>
+            </checkbox-group>
+          </view>
+        </scroll-view>
+      </view>
+    </u-modal>
     <scan></scan>
   </div>
 </template>
@@ -235,7 +353,7 @@
   },
   data() {
     return {
-		simplifyDisabled:false,
+      simplifyDisabled: false,
       // checkboxList: [
       //   {
       //     name: "宸ュ簭鐨勮嚜鍔ㄦ姤鍛�",
@@ -249,7 +367,7 @@
       //   },
       // ],
       InventoryReceiptList: [],
-        selectedPersons: [],
+      selectedPersons: [],
       form: {
         workstationId: "",
         work: "",
@@ -258,19 +376,23 @@
         moOn: "",
         partNo: "",
         partName: "",
-        qtyRequired: "",
-        Jianqtyfinished: "",
+        // qtyRequired: "",
+        // Jianqtyfinished: "",
+        FeedInputProductionVolume: null, //鎶曟枡浜ч噺
+        reportProductionVolume: null, //姹囨姤浜ч噺
         proposedLocation: "",
         productType: "dep",
         receive: "mo",
         materialCost: "",
         // autoReport: false,
-        simplifyMaterials: 'false',
-        status: 'false',
-        Persons: '',
+        simplifyMaterials: "false",
+        status: "false",
+        Persons: "",
         productStaffIds: [],
-        productStaffs:[]
+        productStaffs: [],
       },
+      reportProductionVolumelist: {},
+      FeedInputProductionVolumeList: [], //鎶曟枡浜ч噺
       personList: [],
       canSelectPerson: false,
       rules: {
@@ -330,6 +452,18 @@
             trigger: ["change"],
           },
         ],
+        reportProductionVolume: [
+          {
+            required: true,
+            message: "璇疯緭鍏ユ眹鎶ヤ骇閲�",
+            trigger: ["change"],
+          },
+        ],
+        // FeedInputProductionVolume: [{
+        // 	required: true,
+        // 	message: "璇疯緭鍏ユ姇鏂欎骇閲�",
+        // 	trigger: ["change"],
+        // }, ],
       },
       showSave: false,
       operationTaskId: "",
@@ -338,7 +472,8 @@
       detailedList: {},
       showModal: false,
       personShowModal: false,
-			checkboxList: [],
+      checkboxList: [],
+      index: 0,
     };
   },
   // 鐐瑰嚮鎻愪氦鎸夐挳鐨勪簨浠跺鐞嗗嚱鏁�
@@ -349,16 +484,37 @@
           mask: true,
           title: "鍔犺浇涓�",
         });
-        // 澶勭悊鎻愪氦閫昏緫
+        this.form.operationTaskId = this.form.id;
+        this.reportProductionVolumelist.operationTaskId = this.form.id;
+        this.reportProductionVolumelist.status = this.form.status;
+        this.reportProductionVolumelist.Persons = this.form.Persons;
+        this.reportProductionVolumelist.productStaffIds =
+          this.form.productStaffIds;
+        this.reportProductionVolumelist.productStaffs = this.form.productStaffs;
+        this.reportProductionVolumelist.productInputList =
+          Object.keys(this.FeedInputProductionVolumeList).length === 0
+            ? null
+            : this.FeedInputProductionVolumeList;
+        this.reportProductionVolumelist.dutyRecordId = this.dutyId;
+        this.form.productOutputList = []; // 鍒涘缓涓�涓┖鏁扮粍
+        this.form.productOutputList.push(this.reportProductionVolumelist); // 鍚戞暟缁勪腑娣诲姞鍏冪礌
+        console.log("this.form", this.form);
         this.$u.api.workReporting
-          .operationTask({
-            id: this.form.id,
-          })
+          .submitPDA(this.form)
           .then((res) => {
-            res.data.name = this.form.name;
-            this.$refs.saveForm.open(res);
-            uni.hideLoading();
-          });
+            this.subdisabled = true;
+            this.$u.toast("鎻愪氦鎴愬姛");
+            this.InventoryReceiptList.unshift(this.form.productOutputList[0]);
+            (this.reportProductionVolumelist = {}),
+              (this.FeedInputProductionVolumeList = []), //鎶曟枡浜ч噺
+              (this.form.FeedInputProductionVolume = null), //鎶曟枡浜ч噺
+              (this.form.reportProductionVolume = null), //姹囨姤浜ч噺
+              console.log(
+                "this.InventoryReceiptList",
+                this.InventoryReceiptList
+              );
+          })
+          .finally(() => {});
       } else {
         // 鍙互鑾峰彇鍏蜂綋鐨勯敊璇俊鎭�
         const errors = this.$refs.uForm.getError();
@@ -376,15 +532,19 @@
       if (data.code) {
         let codeInfo = JSON.parse(data.code);
         if (codeInfo.moOn) {
-           that.codeInfoId = codeInfo.id;
+          that.codeInfoId = codeInfo.id;
           // 鎵弿鎶ュ伐鍗曚簩缁寸爜
           that.saveForm(codeInfo);
-          that.getHandelList();
+          // that.getHandelList();
         }
-        if (codeInfo.BN) {
+        if (codeInfo.WC) {
           // 鎵弿鎶ュ伐鍗曚簩缁寸爜
           that.CopperReportingWork(codeInfo);
         }
+        // if (codeInfo.BN) {
+        // 	// 鎵弿鎶ュ伐鍗曚簩缁寸爜
+        // 	that.$refs.saveForm.saveForm(codeInfo);
+        // }
       }
     });
   },
@@ -392,94 +552,188 @@
     "form.taskNo": function (newVal, oldVal) {
       this.subdisabled = false;
     },
-    'form.status'(newVal) {
-      this.selectedPersons = this.selectedPersons.map(item => ({
+    "form.status"(newVal) {
+      this.selectedPersons = this.selectedPersons.map((item) => ({
         ...item,
-        checked: newVal === 'false'
+        checked: newVal === "false",
       }));
-    }
+    },
   },
   methods: {
+    // 鎶曟枡浜ч噺
+    FeedInputProductionVolumeCLick() {
+      if (this.form.taskNo === "") {
+        uni.showToast({
+          title: "璇峰厛鎵爜",
+          icon: "none",
+        });
+        return;
+      }
+      if (this.simplifyDisabled) {
+        uni.showToast({
+          title: "鍊掑啿鏃犻渶鎶曟枡",
+          icon: "none",
+        });
+        return;
+      }
+      uni.navigateTo({
+        url:
+          "/pages/product/report/seachPersonnelNo?moOn=" +
+          this.form.moOn +
+          "&workstationId=" +
+          this.form.workstationId,
+      });
+    },
+    // 姹囨姤浜ч噺
+    reportProductionVolumeCLick() {
+      if (this.form.taskNo === "") {
+        uni.showToast({
+          title: "璇峰厛鎵爜",
+          icon: "none",
+        });
+        return;
+      }
+      if (this.form.work === "tg") {
+        uni.showToast({
+          title: "閾滄潌鎶ュ伐鏃犻渶濉啓姹囨姤浜ч噺锛岃鎵爜",
+          icon: "none",
+          duration: 2000,
+		});
+		return
+      }
+      // 澶勭悊鎻愪氦閫昏緫
+      this.$u.api.workReporting
+        .operationTask({
+          id: this.form.id,
+        })
+        .then((res) => {
+          res.data.name = this.form.name;
+          this.$refs.saveForm.open(res);
+          uni.hideLoading();
+        });
+    },
     // 澶勭悊鎶ュ伐鏂瑰紡鍙樻洿
     handleReportTypeChange() {
       // 鍒囨崲鎶ュ伐鏂瑰紡鏃舵竻绌轰汉鍛樺悕绉�
-      this.form.Persons = '';
+      this.form.Persons = "";
       this.form.productStaffs = [];
       this.form.productStaffIds = [];
     },
     // 浜哄憳鍚嶇О
-    			openselectedPersons() {
-				this.personShowModal = true;
+    openselectedPersons() {
+      this.personShowModal = true;
     },
-      			// 澶嶉�夋鍙樺寲浜嬩欢
+    // 澶嶉�夋鍙樺寲浜嬩欢
     checkboxChange(e) {
-      console.log('e',e)
-				const values = e.target.value || [];
-				if (this.form.status === 'true') {
-					// 鍗曢�夋ā寮忥紝鍙厑璁搁�夋嫨涓�涓汉
-					const previouslySelected = this.selectedPersons.find(item => item.checked);
-					const newlySelected = values.length > 0 ? values[values.length - 1] : null;					 
-					if (previouslySelected && newlySelected && previouslySelected.staffId !== newlySelected) {
-						// 宸叉湁閫変腑椤逛笖閫夋嫨浜嗘柊鐨勯」锛屾彁绀哄彧鑳介�夋嫨涓�涓汉
-						this.$u.toast('鎸変汉鍛樻姤宸ユ椂鍙兘閫夋嫨涓�浣嶄汉鍛�');
-						// 淇濇寔鍘熼�夋嫨
-						this.selectedPersons = this.selectedPersons.map(item => ({
-							...item,
-							checked: item.staffId === previouslySelected.staffId
-            }));
-            
-					} else {
-						// 棣栨閫夋嫨鎴栧彇娑堥�夋嫨
-						this.selectedPersons = this.selectedPersons.map(item => ({
-							...item,
-							checked: newlySelected ? item.staffId === newlySelected : false
-            }));
-            
-					}
-				} else {
-					// 澶氶�夋ā寮�
-					this.selectedPersons = this.selectedPersons.map(item => ({
-						...item,
-						checked: values.includes(item.staffId)
-					}));
-				}
+      console.log("e", e);
+      const values = e.target.value || [];
+      if (this.form.status === "true") {
+        // 鍗曢�夋ā寮忥紝鍙厑璁搁�夋嫨涓�涓汉
+        const previouslySelected = this.selectedPersons.find(
+          (item) => item.checked
+        );
+        const newlySelected =
+          values.length > 0 ? values[values.length - 1] : null;
+        if (
+          previouslySelected &&
+          newlySelected &&
+          previouslySelected.staffId !== newlySelected
+        ) {
+          // 宸叉湁閫変腑椤逛笖閫夋嫨浜嗘柊鐨勯」锛屾彁绀哄彧鑳介�夋嫨涓�涓汉
+          this.$u.toast("鎸変汉鍛樻姤宸ユ椂鍙兘閫夋嫨涓�浣嶄汉鍛�");
+          // 淇濇寔鍘熼�夋嫨
+          this.selectedPersons = this.selectedPersons.map((item) => ({
+            ...item,
+            checked: item.staffId === previouslySelected.staffId,
+          }));
+        } else {
+          // 棣栨閫夋嫨鎴栧彇娑堥�夋嫨
+          this.selectedPersons = this.selectedPersons.map((item) => ({
+            ...item,
+            checked: newlySelected ? item.staffId === newlySelected : false,
+          }));
+        }
+      } else {
+        // 澶氶�夋ā寮�
+        this.selectedPersons = this.selectedPersons.map((item) => ({
+          ...item,
+          checked: values.includes(item.staffId),
+        }));
+      }
     },
-      			// 纭閫夋嫨
-			confirmSelection() {
-        const selected = this.selectedPersons.filter(item => item.checked);
-				// 鏍规嵁鎶ュ伐鏂瑰紡璁剧疆浜哄憳鍚嶇О
-				if (this.form.status === 'true' && selected.length > 0) {
-					this.form.Persons = selected[0].staffName;
-				} else {
-					this.form.Persons = selected.map(item => item.staffName).join(',');
-				}
-				this.form.productStaffs = selected.map(item => item.staffNo);
-				this.form.productStaffIds = selected.map(item => item.staffId);
+    // 纭閫夋嫨
+    confirmSelection() {
+      const selected = this.selectedPersons.filter((item) => item.checked);
+      // 鏍规嵁鎶ュ伐鏂瑰紡璁剧疆浜哄憳鍚嶇О
+      if (this.form.status === "true" && selected.length > 0) {
+        this.form.Persons = selected[0].staffName;
+      } else {
+        this.form.Persons = selected.map((item) => item.staffName).join(",");
+      }
+      this.form.productStaffs = selected.map((item) => item.staffNo);
+      this.form.productStaffIds = selected.map((item) => item.staffId);
     },
-      cancelSelection(){},
+    cancelSelection() {},
     // 閾滄潌鎶ュ伐
     CopperReportingWork(val) {
-      const copperList = {};
-      copperList.outBatchNo = val.BN
-      copperList.partNo = val.PN
-      copperList.weighingClerk = val.WC
-      copperList.executiveStandard = val.ES
-      copperList.netWeight = val.NW
-      copperList.specificationType = val.ST
-      copperList.grossWeight = val.TR
-      copperList.operationTaskId = this.form.id
-      copperList.status = this.form.status;
-      copperList.Persons = this.form.Persons;
-      copperList.productStaffIds = this.form.productStaffIds;
-      copperList.productStaffs = this.form.productStaffs;
-      this.form.productOutputList = [];
-      this.form.operationTaskId = this.form.id;
-      this.form.productOutputList.push(copperList);
-      console.log('this.form',this.form)
-      this.$u.api.workReporting.submitPDA(this.form).then((res) => {
-        this.subdisabled = true;
-        this.getHandelList();
-        this.$u.toast("鎶ュ伐鎴愬姛");
+      if (this.form.work === "dt") {
+        uni.showToast({
+          title: "閾滄潌浜岀淮鐮佹姤宸ヨ溅闂撮渶閫夋嫨閾滄潌",
+          icon: "none",
+        });
+        return;
+      }
+      // 淇濆瓨鍘熷鐨剅eportProductionVolume楠岃瘉瑙勫垯
+      const originalReportProductionVolumeRule =
+        this.rules.reportProductionVolume;
+
+      // 涓存椂绉婚櫎reportProductionVolume鐨勯獙璇佽鍒�
+      delete this.rules.reportProductionVolume;
+
+      // 杩涜琛ㄥ崟楠岃瘉
+      this.$refs.uForm.validate((valid) => {
+        // 鏃犺楠岃瘉鎴愬姛涓庡惁锛岄兘鎭㈠鍘熷瑙勫垯
+        this.rules.reportProductionVolume = originalReportProductionVolumeRule;
+
+        if (valid) {
+          const copperList = {};
+          copperList.outBatchNo = val.BN;
+          copperList.partNo = val.PN;
+          copperList.weighingClerk = val.WC;
+          copperList.executiveStandard = val.ES;
+          copperList.netWeight = val.NW;
+          copperList.specificationType = val.ST;
+          copperList.reelWeight= val.TR;
+          copperList.grossWeight = val.TW;
+          copperList.operationTaskId = this.form.id;
+          copperList.status = this.form.status;
+          copperList.Persons = this.form.Persons;
+          copperList.productStaffIds = this.form.productStaffIds;
+          copperList.productStaffs = this.form.productStaffs;
+          copperList.dutyRecordId = this.dutyId;
+          copperList.proposedLocation = this.form.proposedLocation;
+          this.form.productOutputList = [];
+          this.form.operationTaskId = this.form.id;
+          this.form.dutyRecordId = this.dutyId;
+          this.form.productOutputList.push(copperList);
+          console.log("this.form", this.form);
+          this.$u.api.workReporting.submitPDA(this.form).then((res) => {
+            this.subdisabled = true;
+            console.log("val", val);
+            // this.form.outBatchNo = val.BN;
+            // this.form.netWeight = val.NW;
+            console.log("this.form", this.form);
+             
+            this.InventoryReceiptList.unshift(this.form.productOutputList[0]);
+            console.log("this.InventoryReceiptList", this.InventoryReceiptList);
+
+            // this.getHandelList();
+            this.$u.toast("鎶ュ伐鎴愬姛");
+          });
+        } else {
+          // 鍙互鑾峰彇鍏蜂綋鐨勯敊璇俊鎭�
+          const errors = this.$refs.uForm.getError();
+        }
       });
     },
     // 鐐瑰嚮纭鍚庤幏鍙栧彇娑堟姤宸ヨ褰�
@@ -488,36 +742,39 @@
     },
     // 鑾峰彇浜哄憳鍒楄〃
     getPersonList(dutyId) {
-      console.log('111111')
+      console.log("111111", dutyId);
       try {
-        this.$u.api.workReporting.getPersonByDutyRecordId({ id: dutyId }).then((res) => {
-        this.selectedPersons = res.data.map(item => ({
-          ...item,
-          checked: this.form.status === 'false'
-        }));
-      })
-      .catch(err => {
-        console.log(err)
-      })
+        this.$u.api.workReporting
+          .getPersonByDutyRecordId({
+            id: dutyId,
+          })
+          .then((res) => {
+            this.selectedPersons = res.data.map((item) => ({
+              ...item,
+              checked: this.form.status === "false",
+            }));
+          })
+          .catch((err) => {
+            console.log(err);
+          });
       } catch (err) {
-        console.log(err)
-        
+        console.log(err);
       }
-
     },
 
     confirmModle() {
-      console.log("鐐瑰嚮纭鍚庤幏鍙栧彇娑堟姤宸ヨ褰�");
+      console.log("鐐瑰嚮纭鍚庤幏鍙栧彇娑堟姤宸ヨ褰�", this.detailedList);
       // 澶勭悊纭閫昏緫
       this.$u.api.cancelReporting
         .cancelDTAOfWorkApplication({
           outBatchNo: this.detailedList.outBatchNo,
-          outputId: this.detailedList.id
+          outputId: this.detailedList.id,
         })
         .then((res) => {
           console.log("res", res);
+          this.InventoryReceiptList.splice(this.index, 1);
           this.showModal = false;
-          this.getHandelList();
+          // this.getHandelList();
           this.$u.toast("鍙栨秷鎶ュ伐鎴愬姛");
         });
     },
@@ -525,8 +782,9 @@
       this.showModal = false; // 鍏抽棴寮圭獥
     },
     // 鍙栨秷鎶ュ伐
-    cancelReport(item) {
+    cancelReport(item, index) {
       let that = this;
+      that.index = index;
       uni.showModal({
         title: "鎻愮ず",
         content: "鏄惁纭鍙栨秷鎵规" + item.outBatchNo + "鐨勬姤宸�",
@@ -540,29 +798,32 @@
         },
       });
     },
-    getHandelList() {
-      this.$u.api.workReporting
-        .getProductMainV1({
-          current: 1,
-          size: -1,
-          id: this.codeInfoId,
-        })
-        .then((res) => {
-          this.InventoryReceiptList = res.data.productOutputList;
-        });
-    },
+    // getHandelList() {
+    // 	this.$u.api.workReporting
+    // 		.getProductMainV1({
+    // 			current: 1,
+    // 			size: -1,
+    // 			id: this.codeInfoId,
+    // 		})
+    // 		.then((res) => {
+    // 			this.InventoryReceiptList = res.data.productOutputList;
+    // 		});
+    // },
     // 澶氶�夊鐞�
     // changeCheckbox(val) {
-      // if (val.name === "宸ュ簭鐨勮嚜鍔ㄦ姤鍛�") {
-      //   this.form.autoReport = val.value;
-      // }
-      // if (val.name === "绠�鍖栫墿鏂欐鏌�") {
-      //   this.form.simplifyMaterials = val.value;
-      // }
+    // if (val.name === "宸ュ簭鐨勮嚜鍔ㄦ姤鍛�") {
+    //   this.form.autoReport = val.value;
+    // }
+    // if (val.name === "绠�鍖栫墿鏂欐鏌�") {
+    //   this.form.simplifyMaterials = val.value;
+    // }
     // },
-    handleUpdate() {
-      this.subdisabled = true;
-      this.getHandelList();
+    handleUpdate(val) {
+      this.reportProductionVolumelist = val;
+      this.form.reportProductionVolume = val.outBatchNo;
+      // this.subdisabled = true;
+      // this.getHandelList();
+      // this.InventoryReceiptList.unshift(val);
     },
     // 鎵撳紑寮规--鍚庨潰杩橀渶瑕佺洃鍚壂鐮佹灙鎵爜缁撴灉锛岃祴鍊肩粰鎶ュ伐鍗曞彿瀛楁锛岀劧鍚庢墦寮�寮规閫夋嫨璁㈠崟鍙风瓑鎿嶄綔
     open() {
@@ -587,6 +848,16 @@
     setNo(val) {
       this.form.moOn = val.moNo;
     },
+    setFeedInputProductionVolume(val) {
+      console.log("val", val);
+      this.FeedInputProductionVolumeList = val;
+      const values = this.FeedInputProductionVolumeList.map(
+        (item) => item.ifsBatchNo
+      );
+      console.log("values", values);
+
+      this.form.FeedInputProductionVolume = values.join("锛�");
+    },
     // 鍥炴樉鎵爜鐨勪俊鎭�-鎶ュ伐鍗�
     saveForm(val) {
       this.form = {
@@ -598,16 +869,16 @@
         moOn: val.moOn,
         partNo: val.partNo,
         partName: val.partName,
-        qtyRequired: val.qtyRequired,
-        Jianqtyfinished: val.qtyRequired - val.qtyFinished,
+        // qtyRequired: val.qtyRequired,
+        // Jianqtyfinished: val.qtyRequired - val.qtyFinished,
         proposedLocation: val.proposedLocation,
         productType: "dep",
         receive: "mo",
         materialCost: val.materialCost,
         // autoReport: false,
-        simplifyMaterials: 'false',
-        status: 'false',
-        Persons:'',
+        simplifyMaterials: "false",
+        status: "false",
+        Persons: "",
       };
       if (this.form.materialCost == "鍊掑啿") {
         this.simplifyDisabled = true;

--
Gitblit v1.9.3