From ecced75681242ea0ff23f0c4805a20fbdc87cf14 Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期四, 12 六月 2025 17:11:20 +0800
Subject: [PATCH] 报工页面联调

---
 pages/product/report/components/saveForm.vue |   91 ------
 pages/product/report/index.vue               |  667 ++++++++++++++++++++++++++++----------------------
 common/http.api.js                           |    2 
 3 files changed, 383 insertions(+), 377 deletions(-)

diff --git a/common/http.api.js b/common/http.api.js
index 16311cf..205c8ee 100644
--- a/common/http.api.js
+++ b/common/http.api.js
@@ -494,7 +494,7 @@
 			// 鑾峰彇杞﹂棿璁㈠崟鍒楄〃
 			getWorkshopOrder: (params = {}) => vm.$u.get('/mes/plan/manufacturingOrder/page', params),
 			// 鑾峰彇浜у嚭鍒楄〃
-			getProductMainV1: (params = {}) => vm.$u.get('/mes/product/getProductMainV1', params),
+			getProductMainV1: (params = {}) => vm.$u.get('/mes/operationTask/getxxMainList'+ params.id),
 			// 鎶ュ伐鎻愪氦鑾峰彇璇︾粏淇℃伅
 			operationTask: (params = {}) => vm.$u.get('/mes/operationTask/'+ params.id),
 			// 鎻愪氦
diff --git a/pages/product/report/components/saveForm.vue b/pages/product/report/components/saveForm.vue
index 364259c..5780ac4 100644
--- a/pages/product/report/components/saveForm.vue
+++ b/pages/product/report/components/saveForm.vue
@@ -11,24 +11,12 @@
     <view class="packing-registration-param">
       <scroll-view scroll-y="true" style="height: 100%">
         <view class="packing-registration-param-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">
-              <u-input
-                class="item-one item-two"
-                v-model="form.value0"
-                disabled
-              />
-            </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">
-              <u-input class="item-one item-two" v-model="form.value1" />
+              <u-input class="item-one item-two" v-model="form.overallLength" />
             </view>
           </view>
           <view class="packing-registration-param-item param-extra">
@@ -38,7 +26,7 @@
             <view class="packing-registration-param-item-right">
               <u-input
                 class="item-one item-two"
-                v-model="form.value1"
+                v-model="form.proposedLocation"
                 disabled
               />
             </view>
@@ -64,7 +52,7 @@
               <text class="item-one">鍑�閲�</text>
             </view>
             <view class="packing-registration-param-item-right">
-              <u-input class="item-one item-two" v-model="form.value1" />
+              <u-input class="item-one item-two" v-model="form.theoryWeight" />
             </view>
           </view>
           <view class="packing-registration-param-item param-extra">
@@ -72,7 +60,7 @@
               <text class="item-one">宸ュ簭</text>
             </view>
             <view class="packing-registration-param-item-right">
-              <u-input class="item-one item-two" v-model="form.value1" />
+              <u-input class="item-one item-two" v-model="form.name" />
             </view>
           </view>
           <view class="packing-registration-param-item param-extra">
@@ -125,7 +113,7 @@
 export default {
   props: {
     operationTaskId: {
-      type: String,
+      type: Object,
       required: true,
       default: () => ({}),
     },
@@ -133,68 +121,8 @@
   data() {
     return {
       show: false,
-      form: {
-        outerDiameter: null,
-        voltage: null,
-        speed: null,
-        pressure: null,
-        productionSpeed: null,
-        grossWeight: null,
-        reelNumber: null,
-        value7: null,
-        value8: null,
-        value9: null,
-        value10: null,
-        value11: null,
-      },
-      // rules: {
-      //   value1: [
-      //     { required: true, message: '璇疯緭鍏ラ暱搴�', trigger: ['blur', 'change'] },
-      //   ],
-      //   value3: [
-      //     { required: true, message: '璇疯緭鍏ョ洏鍙�', trigger: ['blur', 'change'] },
-      //   ],
-      //   value4: [
-      //     { required: true, message: '璇疯緭鍏ユ瘺閲�', trigger: ['blur', 'change'] },
-      //   ],
-      //   value5: [
-      //     { required: true, message: '璇疯緭鍏ュ噣閲�', trigger: ['blur', 'change'] },
-      //   ],
-      //   value7: [
-      //     { required: true, message: '璇疯緭鍏ユ垚鍝佸寰勬祴閲忓��', trigger: ['blur', 'change'] },
-      //   ],
-      //   value8: [
-      //     { required: true, message: '璇疯緭鍏ラ��鐏數鍘�', trigger: ['blur', 'change'] },
-      //   ],
-      //   value9: [
-      //     { required: true, message: '璇疯緭鍏ヨ浆閫�', trigger: ['blur', 'change'] },
-      //   ],
-      //   value10: [
-      //     { required: true, message: '璇疯緭鍏ュ閮ㄦ皵鍘�', trigger: ['blur', 'change'] }
-      //   ],
-      //   value11: [
-      //     { required: true, message: '璇疯緭鍏ョ敓浜ч�熷害', trigger: ['blur', 'change'] }
-      //   ]
-      // },
+      form: {},
     };
-  },
-  watch: {
-    show(val) {
-      if (val) {
-        this.$nextTick(() => {
-          // this.$refs.uFormSave.setRules(this.rules);
-          console.log("1222222");
-          this.$u.api.workReporting
-            .operationTask({
-              id: this.operationTaskId,
-            })
-            .then((res) => {
-              console.log("res", res);
-              this.form = res.data.records;
-            });
-        });
-      }
-    },
   },
   methods: {
     confirm() {
@@ -224,9 +152,10 @@
         return;
       }
       this.$u.api.workReporting
-        .submitPDA({ ...this.form, operationTaskId: this.operationTaskId })
+        .submitPDA({ ...this.form, operationTaskId: this.operationTaskId.id })
         .then((res) => {
           console.log("res", res);
+          this.$emit('update')
           this.$refs.uModal.cancel();
         });
     },
@@ -234,8 +163,10 @@
       this.show = false;
       this.form = {};
     },
-    open() {
+    open(val) {
+      console.log('11daidecanshuskk',val)
       this.show = true;
+       this.form = val;
     },
   },
 };
diff --git a/pages/product/report/index.vue b/pages/product/report/index.vue
index a30fe52..4ade1cb 100644
--- a/pages/product/report/index.vue
+++ b/pages/product/report/index.vue
@@ -1,303 +1,378 @@
 <template>
-	<!-- 鎶ュ伐 -->
-	<div class="page">
-		<u-form :model="form" ref="uForm" :label-width="200" :rules="rules" :error-type="['toast']">
-			<u-form-item label="杞﹂棿" :border-bottom="false" prop="value0">
-				<u-radio-group v-model="form.value0">
-					<u-radio name="瀵间綋">瀵间綋</u-radio>
-					<u-radio name="閾滄潌">閾滄潌</u-radio>
-				</u-radio-group>
-			</u-form-item>
-			<u-form-item label="鎶ュ伐鍗曞彿" :border-bottom="false" prop="taskNo">
-				<u-input v-model="form.taskNo" type="select" placeholder="璇锋壂鎻忔姤宸ュ崟鍙�" @click="open" />
-			</u-form-item>
-			<u-form-item label="宸ュ簭" :border-bottom="false" prop="name">
-				<u-input v-model="form.name" type="select" placeholder="璇锋壂鎻忔姤宸ュ崟鍙�" />
-			</u-form-item>
-			<u-form-item label="璁㈠崟鍙�" :border-bottom="false" prop="moOn">
-				<u-input v-model="form.moOn" type="select" placeholder="鐐瑰嚮閫夋嫨" @click="openList" />
-			</u-form-item>
-			<u-form-item label="闆朵欢鍙�" :border-bottom="false" prop="partNo">
-				<u-input v-model="form.partNo" placeholder="" disabled />
-			</u-form-item>
-			<u-form-item label="闆朵欢鎻忚堪" :border-bottom="false" prop="partName">
-				<u-input v-model="form.partName" placeholder="" disabled />
-			</u-form-item>
-			<u-form-item label="鎵归噺澶у皬" :border-bottom="false" prop="value6">
-				<u-input v-model="form.value6" placeholder="" disabled />
-			</u-form-item>
-			<u-form-item label="鍓╀綑鏁伴噺" :border-bottom="false" prop="value7">
-				<u-input v-model="form.value7" placeholder="" disabled />
-			</u-form-item>
-			<u-form-item label="搴撲綅" :border-bottom="false" prop="value8">
-				<u-input v-model="form.value8" placeholder="" disabled />
-			</u-form-item>
-			<u-form-item label="鎶ュ伐绫诲瀷" prop="value9">
-				<u-radio-group v-model="form.value9">
-					<u-radio name="1">涓嬫満鎶ュ伐</u-radio>
-					<u-radio name="2">鏈笅鏈烘姤宸�</u-radio>
-				</u-radio-group>
-			</u-form-item>
-			<u-form-item label="鎺ユ敹闆朵欢" prop="value10">
-				<u-radio-group v-model="form.value10">
-					<u-radio name="1">杞﹂棿璁㈠崟</u-radio>
-					<u-radio name="2">鏇夸唬闆朵欢</u-radio>
-				</u-radio-group>
-			</u-form-item>
-			<u-form-item label="鐗╂枡" prop="value12">
-				<u-radio-group v-model="form.value12" :disabled="true">
-					<u-radio name="1">鍊掑啿</u-radio>
-					<u-radio name="2">鎶曟枡</u-radio>
-				</u-radio-group>
-			</u-form-item>
-			<u-form-item label="宸ュ簭" prop="value11">
-				<u-checkbox-group>
-					<u-checkbox :name="item.name" v-for="(item, index) in checkboxList" :key="index"
-						v-model="item.value11" @change="changeCheckbox" :disabled="item.disabled">
-						{{ item.name }}
-					</u-checkbox>
-				</u-checkbox-group>
-			</u-form-item>
-			<u-form-item label="浜у嚭鍒楄〃" :border-bottom="false"></u-form-item>
-		</u-form>
-		<view class="wrap">
-			<scroll-view class="packing-registration-scroll-list" scroll-y="true">
-				<u-cell-group class="packing-registration-scroll-list-group" :border="false">
-					<view class="content" v-for="(item, index) in InventoryReceiptList" :key="index" :index="index">
-						<view class="content-header">
-							<view class="content-header-title">{{ index + 1 }}</view>
-						</view>
-						<view class="content-body">
-							<view class="row-list">
-								<view class="_label">
-									<view class="_label-name">鎵瑰彿锛�</view>
-								</view>
-								<view class="_content">
-									{{ item.value0 }}
-								</view>
-							</view>
-							<view class="row-list">
-								<view class="_label">
-									<view class="_label-name">鏁伴噺锛�</view>
-								</view>
-								<view class="_content">
-									{{ item.value1 }}
-								</view>
-							</view>
-							<view class="row-list">
-								<view class="_label">
-									<view class="_label-name">搴撲綅锛�</view>
-								</view>
-								<view class="_content">
-									{{ item.value0 }}
-								</view>
-							</view>
-						</view>
-					</view>
-				</u-cell-group>
-			</scroll-view>
-		</view>
-		<!-- 濉啓鎶ュ伐鍗� -->
-		<modalBg ref="modalBg" :confirm="confirm">
-			<u-field v-model="form.value1" label="鎶ュ伐鍗曞彿" placeholder="璇疯緭鍏�" :border-bottom="false">
-			</u-field>
-		</modalBg>
-		<saveForm ref="saveForm" :operationTaskId="this.operationTaskId" />
-		<scan></scan>
-	</div>
+  <!-- 鎶ュ伐 -->
+  <div class="page">
+    <u-form
+      :model="form"
+      ref="uForm"
+      :label-width="200"
+      :rules="rules"
+      :error-type="['toast']"
+    >
+      <u-form-item label="杞﹂棿" :border-bottom="false" prop="work">
+        <u-radio-group v-model="form.work" :disabled="subdisabled">
+          <u-radio name="dt">瀵间綋</u-radio>
+          <u-radio name="tg">閾滄潌</u-radio>
+        </u-radio-group>
+      </u-form-item>
+      <u-form-item label="鎶ュ伐鍗曞彿" :border-bottom="false" prop="taskNo">
+        <u-input
+          v-model="form.taskNo"
+          type="select"
+          placeholder="璇锋壂鎻忔姤宸ュ崟鍙�"
+          @click="open"
+        />
+      </u-form-item>
+      <u-form-item label="宸ュ簭" :border-bottom="false" prop="name">
+        <u-input
+          v-model="form.name"
+          type="select"
+          placeholder="璇锋壂鎻忔姤宸ュ崟鍙�"
+        />
+      </u-form-item>
+      <u-form-item label="璁㈠崟鍙�" :border-bottom="false" prop="moOn">
+        <u-input
+          v-model="form.moOn"
+          type="select"
+          placeholder="鐐瑰嚮閫夋嫨"
+          @click="openList"
+        />
+      </u-form-item>
+      <u-form-item label="闆朵欢鍙�" :border-bottom="false" prop="partNo">
+        <u-input v-model="form.partNo" placeholder="" disabled />
+      </u-form-item>
+      <u-form-item label="闆朵欢鎻忚堪" :border-bottom="false" prop="partName">
+        <u-input v-model="form.partName" placeholder="" disabled />
+      </u-form-item>
+      <u-form-item label="鎵归噺澶у皬" :border-bottom="false" prop="qtyrequired">
+        <u-input v-model="form.qtyrequired" placeholder="" disabled />
+      </u-form-item>
+      <u-form-item
+        label="鍓╀綑鏁伴噺"
+        :border-bottom="false"
+        prop="Jianqtyfinished"
+      >
+        <u-input v-model="form.Jianqtyfinished" placeholder="" disabled />
+      </u-form-item>
+      <u-form-item label="搴撲綅" :border-bottom="false" prop="proposedLocation">
+        <u-input v-model="form.proposedLocation" placeholder="" disabled />
+      </u-form-item>
+      <u-form-item label="鎶ュ伐绫诲瀷" prop="productType">
+        <u-radio-group v-model="form.productType">
+          <u-radio name="dep">涓嬫満鎶ュ伐</u-radio>
+          <u-radio name="ndep">鏈笅鏈烘姤宸�</u-radio>
+        </u-radio-group>
+      </u-form-item>
+      <u-form-item label="鎺ユ敹闆朵欢" prop="receive">
+        <u-radio-group v-model="form.receive">
+          <u-radio name="mo">杞﹂棿璁㈠崟</u-radio>
+          <u-radio name="part">鏇夸唬闆朵欢</u-radio>
+        </u-radio-group>
+      </u-form-item>
+      <u-form-item label="鐗╂枡" prop="materialcost">
+        <u-radio-group v-model="form.materialcost" :disabled="true">
+          <u-radio name="鍊掑啿">鍊掑啿</u-radio>
+          <u-radio name="鎶曟枡">鎶曟枡</u-radio>
+        </u-radio-group>
+      </u-form-item>
+      <u-form-item label="宸ュ簭" prop="value11">
+        <u-checkbox-group>
+          <u-checkbox
+            :name="item.name"
+            v-for="(item, index) in checkboxList"
+            :key="index"
+            v-model="item.value11"
+            @change="changeCheckbox"
+            :disabled="subdisabled || item.disabled"
+          >
+            {{ item.name }}
+          </u-checkbox>
+        </u-checkbox-group>
+      </u-form-item>
+      <u-form-item label="浜у嚭鍒楄〃" :border-bottom="false"></u-form-item>
+    </u-form>
+    <view class="wrap">
+      <scroll-view class="packing-registration-scroll-list" scroll-y="true">
+        <u-cell-group
+          class="packing-registration-scroll-list-group"
+          :border="false"
+        >
+          <view
+            class="content"
+            v-for="(item, index) in InventoryReceiptList"
+            :key="index"
+            :index="index"
+          >
+            <view class="content-header">
+              <view class="content-header-title">{{ index + 1 }}</view>
+            </view>
+            <view class="content-body">
+              <view class="row-list">
+                <view class="_label">
+                  <view class="_label-name">鎵瑰彿锛�</view>
+                </view>
+                <view class="_content">
+                  {{ item.productNo }}
+                </view>
+              </view>
+              <view class="row-list">
+                <view class="_label">
+                  <view class="_label-name">鏁伴噺锛�</view>
+                </view>
+                <view class="_content">
+                  {{ item.value1 }}
+                </view>
+              </view>
+              <view class="row-list">
+                <view class="_label">
+                  <view class="_label-name">搴撲綅锛�</view>
+                </view>
+                <view class="_content">
+                  {{ item.proposedLocation }}
+                </view>
+              </view>
+            </view>
+          </view>
+        </u-cell-group>
+      </scroll-view>
+    </view>
+    <!-- 濉啓鎶ュ伐鍗� -->
+    <modalBg ref="modalBg" :confirm="confirm">
+      <u-field
+        v-model="form.taskNo"
+        label="鎶ュ伐鍗曞彿"
+        placeholder="璇疯緭鍏�"
+        :border-bottom="false"
+      >
+      </u-field>
+    </modalBg>
+    <saveForm
+      ref="saveForm"
+      :operationTaskId="this.form"
+      @update="handleUpdate"
+    />
+    <scan></scan>
+  </div>
 </template>
 
 <script>
-	import modalBg from "@/components/modal/modal-bg.vue";
-	import saveForm from "./components/saveForm.vue";
-	import scan from "@/components/scan/scan.vue";
-	export default {
-		components: {
-			modalBg,
-			saveForm,
-			scan
-		},
-		data() {
-			return {
-				checkboxList: [{
-						name: "宸ュ簭鐨勮嚜鍔ㄦ姤鍛�",
-						value: false,
-						disabled: false,
-					},
-					{
-						name: "绠�鍖栫墿鏂欐鏌�",
-						value: false,
-						disabled: false,
-					},
-				],
-				InventoryReceiptList: [],
-				form: {
-					taskNo: "",
-					name: "",
-					moOn: "",
-					partNo: "",
-					partName: "",
-					value6: "",
-					value7: "",
-					value8: "",
-					value9: "1",
-					value10: "1",
-					value11: [], // 澶嶉�夋缁勭殑鍊�
-					value12: "1",
-				},
-				rules: {
-					value0: [{
-						required: true,
-						message: "璇烽�夋嫨杞﹂棿",
-						trigger: ["change"],
-					}, ],
-					value1: [{
-						required: true,
-						message: "璇烽�夋嫨鎶ュ伐鍗曞彿",
-						trigger: ["change", "blur"],
-					}, ],
-					value2: [{
-						required: true,
-						message: "璇烽�夋嫨宸ュ簭",
-						trigger: ["change", "blur"],
-					}, ],
-					value3: [{
-						required: true,
-						message: "璇烽�夋嫨璁㈠崟鍙�",
-						trigger: ["change", "blur"],
-					}, ],
-					value9: [{
-						required: true,
-						message: "璇烽�夋嫨鎶ュ伐绫诲瀷",
-						trigger: ["change"],
-					}, ],
-					value10: [{
-						required: true,
-						message: "璇烽�夋嫨鎺ユ敹闆朵欢绫诲瀷",
-						trigger: ["change"],
-					}, ],
-					value11: [{
-						type: "array",
-						required: true,
-						message: "璇疯嚦灏戦�夋嫨涓�涓墿鏂欏拰宸ュ簭閫夐」",
-						trigger: ["change"],
-					}, ],
-				},
-				showSave: false,
-				operationTaskId: "",
-			};
-		},
-		// 鐐瑰嚮鎻愪氦鎸夐挳鐨勪簨浠跺鐞嗗嚱鏁�
-		onNavigationBarButtonTap() {
-			this.$refs.saveForm.open();
-			this.form.value11 = this.checkboxList
-				.filter((item) => item.value)
-				.map((item) => item.name);
-			this.$refs.uForm.validate((valid) => {
-				if (valid) {
-					console.log("楠岃瘉閫氳繃");
-					// 澶勭悊鎻愪氦閫昏緫
-					// this.$refs.saveForm.open();
-				} else {
-					console.log("楠岃瘉澶辫触");
-					// 鍙互鑾峰彇鍏蜂綋鐨勯敊璇俊鎭�
-					const errors = this.$refs.uForm.getError();
-					console.log("閿欒淇℃伅:", errors);
-				}
-			});
-		},
-		onReady() {
-			this.$refs.uForm.setRules(this.rules);
-		},
-		onShow() {
-			let that = this;
-			console.log("1111111111111");
-			uni.$off("scan"); // 姣忔杩涙潵鍏� 绉婚櫎鍏ㄥ眬鑷畾涔変簨浠剁洃鍚櫒
-			uni.$on("scan", function(data) {
-				console.log("onscan");
-				//鎵爜鎴愬姛鍚庣殑鍥炶皟锛屼綘鍙互鍐欒嚜宸辩殑閫昏緫浠g爜鍦ㄨ繖閲�
-				console.log("椤甸潰鎵爜缁撴灉锛�", data.code);
-				if (data.code) {
-					let codeInfo = JSON.parse(data.code);
-					this.operationTaskId = codeInfo.id;
-					if (codeInfo.moOn) {
-						// 鎵弿鎶ュ伐鍗曚簩缁寸爜
-						that.saveForm(codeInfo);
-						this.$u.api.workReporting
-							.getProductMainV1({
-								current: 1,
-								size: -1,
-								operationTaskId: this.operationTaskId,
-							})
-							.then((res) => {
-								console.log("res", res);
-								this.InventoryReceiptList = res.data.records;
-							});
-					}
-				}
-			});
-		},
-		methods: {
-			// // 澶氶�夊鐞�
-			// changeCheckbox(val) {
-			// 	if (val.name === "鍊掑啿") {
-			// 		this.checkboxList[2].value = false;
-			// 	}
-			// 	if (val.name === "绠�鍖栫墿鏂欐鏌�") {
-			// 		this.checkboxList[0].value = false;
-			// 	}
-			// },
-			// 鎵撳紑寮规--鍚庨潰杩橀渶瑕佺洃鍚壂鐮佹灙鎵爜缁撴灉锛岃祴鍊肩粰鎶ュ伐鍗曞彿瀛楁锛岀劧鍚庢墦寮�寮规閫夋嫨璁㈠崟鍙风瓑鎿嶄綔
-			open() {
-				this.$refs.modalBg.open();
-			},
-			// 寮规淇濆瓨
-			confirm() {
-				console.log("淇濆瓨", this.form.value1);
-				// 璇锋眰鎺ュ彛锛屾牴鎹伐鍗曞彿鏌ヨ鍏朵粬淇℃伅骞惰祴鍊�
-			},
-			// 閫夋嫨璁㈠崟鍙�
-			openList() {
-				if (this.form.taskNo === "") {
-					uni.showToast({
-						title: "璇峰厛鎵弿鎴栬緭鍏ユ姤宸ュ崟鍙�",
-						icon: "none",
-					});
-					return;
-				}
-				uni.navigateTo({
-					url: "/pages/product/report/orderList",
-				});
-			},
-			// 瀛樿鍗曞彿
-			setNo(val) {
-				this.form.value3 = val;
-			},
-			// 鍥炴樉鎵爜鐨勪俊鎭�-鎶ュ伐鍗�
-			saveForm(val) {
-				console.log("鍥炴樉鐨勬暟鎹�", val);
-				let {
-					moOn,
-					name,
-					ORDER_NO,
-					taskNo,
-					partName,
-					partNo
-				} = val;
-				this.form.moOn = moOn;
-				this.form.name = name;
-				this.form.taskNo = taskNo;
-				this.form.partName = partName;
-				this.form.partNo = partNo;
-				// this.form.value3 = ORDER_NO
-				if (this.form.value12 == "1") {
-					this.checkboxList[1].disabled = true;
-				}
-			},
-		},
-	};
+import modalBg from "@/components/modal/modal-bg.vue";
+import saveForm from "./components/saveForm.vue";
+import scan from "@/components/scan/scan.vue";
+export default {
+  components: {
+    modalBg,
+    saveForm,
+    scan,
+  },
+  data() {
+    return {
+      checkboxList: [
+        {
+          name: "宸ュ簭鐨勮嚜鍔ㄦ姤鍛�",
+          value: false,
+          disabled: false,
+        },
+        {
+          name: "绠�鍖栫墿鏂欐鏌�",
+          value: false,
+          disabled: false,
+        },
+      ],
+      InventoryReceiptList: [],
+      form: {
+        work: "",
+        taskNo: "",
+        name: "",
+        moOn: "",
+        partNo: "",
+        partName: "",
+        qtyrequired: "",
+        Jianqtyfinished: "",
+        proposedLocation: "",
+        productType: "dep",
+        receive: "mo", // 澶嶉�夋缁勭殑鍊�
+        materialcost: "",
+        autoReport: false,
+        simplifyMaterials: false,
+      },
+      rules: {
+        work: [
+          {
+            required: true,
+            message: "璇烽�夋嫨杞﹂棿",
+            trigger: ["change"],
+          },
+        ],
+        taskNo: [
+          {
+            required: true,
+            message: "璇烽�夋嫨鎶ュ伐鍗曞彿",
+            trigger: ["change", "blur"],
+          },
+        ],
+        name: [
+          {
+            required: true,
+            message: "璇烽�夋嫨宸ュ簭",
+            trigger: ["change", "blur"],
+          },
+        ],
+        moOn: [
+          {
+            required: true,
+            message: "璇烽�夋嫨璁㈠崟鍙�",
+            trigger: ["change", "blur"],
+          },
+        ],
+        productType: [
+          {
+            required: true,
+            message: "璇烽�夋嫨鎶ュ伐绫诲瀷",
+            trigger: ["change"],
+          },
+        ],
+        receive: [
+          {
+            required: true,
+            message: "璇烽�夋嫨鎺ユ敹闆朵欢绫诲瀷",
+            trigger: ["change"],
+          },
+        ],
+      },
+      showSave: false,
+      operationTaskId: "",
+      subdisabled: false,
+    };
+  },
+  // 鐐瑰嚮鎻愪氦鎸夐挳鐨勪簨浠跺鐞嗗嚱鏁�
+  onNavigationBarButtonTap() {
+    this.$refs.uForm.validate((valid) => {
+      if (valid) {
+        console.log("楠岃瘉閫氳繃");
+        // 澶勭悊鎻愪氦閫昏緫
+        this.$u.api.workReporting
+          .operationTask({
+            id: this.form.id,
+          })
+          .then((res) => {
+            console.log("res", res);
+            this.$refs.saveForm.open(res);
+          });
+      } else {
+        console.log("楠岃瘉澶辫触");
+        // 鍙互鑾峰彇鍏蜂綋鐨勯敊璇俊鎭�
+        const errors = this.$refs.uForm.getError();
+        console.log("閿欒淇℃伅:", errors);
+      }
+    });
+  },
+  onReady() {
+    this.$refs.uForm.setRules(this.rules);
+  },
+  onShow() {
+    let that = this;
+    console.log("1111111111111");
+    uni.$off("scan"); // 姣忔杩涙潵鍏� 绉婚櫎鍏ㄥ眬鑷畾涔変簨浠剁洃鍚櫒
+    uni.$on("scan", function (data) {
+      console.log("onscan");
+      //鎵爜鎴愬姛鍚庣殑鍥炶皟锛屼綘鍙互鍐欒嚜宸辩殑閫昏緫浠g爜鍦ㄨ繖閲�
+      console.log("椤甸潰鎵爜缁撴灉锛�", data.code);
+      if (data.code) {
+        let codeInfo = JSON.parse(data.code);
+        if (codeInfo.moOn) {
+          // 鎵弿鎶ュ伐鍗曚簩缁寸爜
+          that.saveForm(codeInfo);
+          that.$u.api.workReporting
+            .getProductMainV1({
+              current: 1,
+              size: -1,
+              operationTaskId: codeInfo.id,
+            })
+            .then((res) => {
+              console.log("res", res);
+              let InventoryReceiptList = JSON.parse(res.data.records);
+              that.saveInventory(InventoryReceiptList);
+            });
+          console.log("this.InventoryReceiptList", that.InventoryReceiptList);
+        }
+      }
+    });
+  },
+  watch: {
+    "form.taskNo": function (newVal, oldVal) {
+      console.log("taskNo changed:", newVal, oldVal);
+      this.subdisabled = false;
+    },
+  },
+  methods: {
+    saveInventory(val) {
+      this.InventoryReceiptList = val;
+    },
+    // 澶氶�夊鐞�
+    changeCheckbox(val) {
+      if (val.name === "宸ュ簭鐨勮嚜鍔ㄦ姤鍛�") {
+        this.form.autoReport = val.value;
+      }
+      if (val.name === "绠�鍖栫墿鏂欐鏌�") {
+        this.form.simplifyMaterials = val.value;
+      }
+    },
+    handleUpdate() {
+      this.subdisabled = true;
+    },
+    // 鎵撳紑寮规--鍚庨潰杩橀渶瑕佺洃鍚壂鐮佹灙鎵爜缁撴灉锛岃祴鍊肩粰鎶ュ伐鍗曞彿瀛楁锛岀劧鍚庢墦寮�寮规閫夋嫨璁㈠崟鍙风瓑鎿嶄綔
+    open() {
+      this.$refs.modalBg.open();
+    },
+    // 寮规淇濆瓨
+    confirm() {
+      console.log("淇濆瓨", this.form.taskNo);
+    },
+    // 閫夋嫨璁㈠崟鍙�
+    openList() {
+      if (this.form.taskNo === "") {
+        uni.showToast({
+          title: "璇峰厛鎵弿鎴栬緭鍏ユ姤宸ュ崟鍙�",
+          icon: "none",
+        });
+        return;
+      }
+      uni.navigateTo({
+        url: "/pages/product/report/orderList",
+      });
+    },
+    // 瀛樿鍗曞彿
+    setNo(val) {
+      this.form.moOn = val.moNo;
+    },
+    // 鍥炴樉鎵爜鐨勪俊鎭�-鎶ュ伐鍗�
+    saveForm(val) {
+      console.log("鍥炴樉鐨勬暟鎹�", val);
+      this.form = {
+        id: val.id,
+        work: val.work,
+        taskNo: val.taskNo,
+        name: val.name,
+        moOn: val.moOn,
+        partNo: val.partNo,
+        partName: val.partName,
+        qtyrequired: val.qtyrequired,
+        Jianqtyfinished: val.qtyrequired - val.qtyfinished,
+        proposedLocation: val.proposedLocation,
+        productType: "dep",
+        receive: "mo", // 澶嶉�夋缁勭殑鍊�
+        materialcost: val.materialcost,
+        autoReport: false,
+        simplifyMaterials: false,
+      };
+      if (this.form.materialcost == "鍊掑啿") {
+        this.checkboxList[1].disabled = true;
+      }
+    },
+  },
+};
 </script>
 
 <style lang="scss">
-	@import "index.scss";
-  </style>
\ No newline at end of file
+@import "index.scss";
+</style>
\ No newline at end of file

--
Gitblit v1.9.3