From c31428bb0d2b193489f4b90415c7b1f230752d3e Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期一, 20 十月 2025 08:46:59 +0800
Subject: [PATCH] 提交后都清空核磅重量,又车盘重量:铜杆跟导体 2.6 保留上一次的数量导体不保留)

---
 pages/wareHouse/nuclearScale/index.vue |  558 ++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 481 insertions(+), 77 deletions(-)

diff --git a/pages/wareHouse/nuclearScale/index.vue b/pages/wareHouse/nuclearScale/index.vue
index d59bc52..01b5619 100644
--- a/pages/wareHouse/nuclearScale/index.vue
+++ b/pages/wareHouse/nuclearScale/index.vue
@@ -2,144 +2,548 @@
   <!-- 鏍哥褰曞叆 -->
   <div class="page">
     <view class="packing-registration-bg" />
-    <u-navbar title="鏍哥褰曞叆" :background="background" :border-bottom="false" :title-bold="true" title-color="#000"
-      back-icon-color="#000" />
-    <u-form :model="form" ref="uForm" :label-width="200" :rules="rules" :error-type="['toast']" class="uForm">
-      <u-form-item label="鏍哥鍗曞彿" :border-bottom="false" prop="value1">
-        <u-input v-model="form.value1" type="select" placeholder="璇烽�夋嫨鏍哥鍗曞彿" @click="openList" />
+    <u-navbar
+      title="鏍哥褰曞叆"
+      :background="background"
+      :border-bottom="false"
+      :title-bold="true"
+      title-color="#000"
+      back-icon-color="#000"
+    />
+    <u-form
+      :model="form"
+      ref="uForm"
+      :label-width="200"
+      :rules="rules"
+      :error-type="['toast']"
+      class="uForm"
+    >
+      <u-form-item
+        label="鏍哥鍗曞彿"
+        :border-bottom="false"
+        prop="verificationNo"
+        style="font-size: small"
+      >
+        <u-input
+          v-model="form.verificationNo"
+          type="select"
+          placeholder="璇烽�夋嫨鏍哥鍗曞彿"
+          @click="openList"
+        />
       </u-form-item>
-      <u-form-item label="浜у搧绫诲瀷" :border-bottom="false" prop="value2">
-        <u-input v-model="form.value2" placeholder="" disabled />
+      <u-form-item
+        label="浜у搧绫诲瀷"
+        :border-bottom="false"
+        prop="productType"
+        style="font-size: small"
+      >
+        <u-input
+          v-model="productTypeMap[form.productType] || form.productType"
+          placeholder=""
+          disabled
+        />
       </u-form-item>
-      <u-form-item label="杞︾墝鍙�" :border-bottom="false" prop="value3">
-        <u-input v-model="form.value3" placeholder="" disabled />
+      <u-form-item
+        label="杞︾墝鍙�"
+        :border-bottom="false"
+        prop="licensePlate"
+        style="font-size: small"
+      >
+        <u-input v-model="form.licensePlate" placeholder="" disabled />
       </u-form-item>
-      <u-form-item label="鍙戣揣閫氱煡鍗�1" :border-bottom="false" prop="value4">
-        <u-input v-model="form.value4" placeholder="" disabled />
+      <u-form-item
+        label="鍙戣揣閫氱煡鍗�1"
+        :border-bottom="false"
+        prop="shippingNoticeNo1"
+        style="font-size: small"
+      >
+        <u-input v-model="form.shippingNoticeNo1" placeholder="" disabled />
       </u-form-item>
-      <u-form-item label="瀹㈡埛鍚嶇О1" :border-bottom="false" prop="value5">
-        <u-input v-model="form.value5" placeholder="" disabled />
+      <u-form-item
+        label="瀹㈡埛鍚嶇О1"
+        :border-bottom="false"
+        prop="customerName1"
+        style="font-size: small"
+      >
+        <u-input v-model="form.customerName1" placeholder="" disabled />
       </u-form-item>
-      <u-form-item label="鍙戣揣閫氱煡鍗�2" :border-bottom="false" prop="value4">
-        <u-input v-model="form.value9" placeholder="" disabled />
+      <u-form-item
+        label="鍙戣揣閫氱煡鍗�2"
+        :border-bottom="false"
+        prop="shippingNoticeNo2"
+        style="font-size: small"
+      >
+        <u-input v-model="form.shippingNoticeNo2" placeholder="" disabled />
       </u-form-item>
-      <u-form-item label="瀹㈡埛鍚嶇О2" :border-bottom="false" prop="value5">
-        <u-input v-model="form.value10" placeholder="" disabled />
+      <u-form-item
+        label="瀹㈡埛鍚嶇О2"
+        :border-bottom="false"
+        prop="customerName2"
+        style="font-size: small"
+      >
+        <u-input v-model="form.customerName2" 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
+        label="鍙哥鍛�"
+        :border-bottom="false"
+        prop="weighingOperator"
+        style="font-size: small"
+      >
+        <u-input v-model="form.weighingOperator" 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
+        label="鍙夎溅鍙告満"
+        :border-bottom="false"
+        prop="forkliftOperator"
+        style="font-size: small"
+      >
+        <u-input v-model="form.forkliftOperator" placeholder="" disabled />
       </u-form-item>
-      <u-form-item label="鏍哥璁板綍" :border-bottom="false" prop="value8">
-        <u-input v-model="form.value8" type="select" placeholder="" @click="openNuclearScaleRecord" />
+      <u-form-item
+        label="鏍哥璁板綍"
+        :border-bottom="false"
+        prop="value8"
+        style="font-size: small"
+      >
+        <u-input type="select" placeholder="" @click="openNuclearScaleRecord" />
       </u-form-item>
-      <u-form-item :label="`鎵爜璁板綍(${num}鏉�)锛歚" :border-bottom="false" prop="value4" :label-width="260">
-        <!-- <u-input v-model="form.value4" placeholder="" disabled /> -->
+      <u-form-item
+        :label="`鎵爜璁板綍(${ScanCodeRecord.length}鏉�)锛歚"
+        :border-bottom="false"
+        prop="shippingNoticeNo1"
+        :label-width="260"
+        style="font-size: small"
+      >
       </u-form-item>
     </u-form>
-    <u-button type="primary" class="bottom-button" @click="submit">鎻愪氦</u-button>
-		<u-modal v-model="show" @confirm="confirm" content="鏄惁纭鎻愪氦" show-cancel-button></u-modal>
+    <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 ScanCodeRecord"
+            :key="index"
+            :index="index"
+            @click="cancelReport(item)"
+          >
+            <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.outBatchNo }}
+                </view>
+              </view>
+              <view class="row-list">
+                <view class="_label">
+                  <view class="_label-name">闆朵欢鎻忚堪锛�</view>
+                </view>
+                <view class="_content">
+                  {{ item.partName }}
+                </view>
+              </view>
+              <view class="row-list">
+                <view class="_label">
+                  <view class="_label-name">闆朵欢鍙凤細</view>
+                </view>
+                <view class="_content">
+                  {{ item.partNo }}
+                </view>
+              </view>
+              <view class="row-list">
+                <view class="_label">
+                  <view class="_label-name">姣涢噸锛�</view>
+                </view>
+                <view class="_content">
+                  {{ item.grossWeight }}
+                </view>
+              </view>
+              <view class="row-list">
+                <view class="_label">
+                  <view class="_label-name">鐩橀噸锛�</view>
+                </view>
+                <view class="_content">
+                  {{ item.tareWeight }}
+                </view>
+              </view>
+              <view class="row-list">
+                <view class="_label">
+                  <view class="_label-name">鍑�閲嶏細</view>
+                </view>
+                <view class="_content">
+                  {{ item.netWeight }}
+                </view>
+              </view>
+            </view>
+          </view>
+        </u-cell-group>
+      </scroll-view>
+    </view>
+    <!-- 閾滄潌 -->
+    <u-modal
+      v-model="showModal"
+      title=""
+      :show-cancel-button="true"
+      :show-confirm-button="true"
+      @confirm="confirmDt"
+      @cancel="cancelDt"
+    >
+      <view class="popup-content">
+        <view class="packing-registration-param">
+          <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="modalList.verificationWeight"
+                />
+              </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="modalList.forkliftWeight"
+                />
+              </view>
+            </view>
+          </view>
+        </view>
+      </view>
+    </u-modal>
+    <u-button
+      type="primary"
+      class="bottom-button"
+      @click="submit"
+      :disabled="ScanCodeRecord.length == 0"
+      v-show="form.productType != 'TG01'"
+      >鎻愪氦</u-button
+    >
+    <u-modal
+      v-model="show"
+      @confirm="confirm"
+      content="鏄惁纭鎻愪氦"
+      show-cancel-button
+    ></u-modal>
+    <saveForm ref="saveForm" :operationTaskList="form" @update="handleUpdate" />
     <scan></scan>
   </div>
 </template>
 
 <script>
 import scan from "@/components/scan/scan.vue";
-import content_bg from '@/static/custom/packing/backBg.png'
+import content_bg from "@/static/custom/packing/backBg.png";
+import saveForm from "./saveForm.vue";
 export default {
-  components: { scan },
+  components: {
+    scan,
+    saveForm,
+  },
   data() {
     return {
+      commitList: [],
+      modalList: {},
+      showModal: false,
+      productTypeMap: {
+        DTO1: "瀵间綋",
+        TG01: "閾滄潌",
+        DT02: "瀵间綋2.6",
+      },
+      ScanCodeRecord: [],
       background: {
         backgroundImage: `url(${content_bg})`,
-        backgroundAttachment: 'fixed',
-        backgroundSize: '100% auto',
-        backgroundRepeat: 'no-repeat',
+        backgroundAttachment: "fixed",
+        backgroundSize: "100% auto",
+        backgroundRepeat: "no-repeat",
       },
-      show:false,
-      num:1,
-      form: {
-        value0: '',
-        value1: '',
-        value2: '',
-        value3: '',
-        value4: '',
-        value5: '',
-        value6: '',
-        value7: '',
-        value8: '',
-        value9: '',
-        value10:'',
-      },
+      show: false,
+      form: {},
       rules: {
-        value1: [
+        verificationNo: [
           {
             required: true,
-            message: '璇烽�夋嫨鏍哥鍗曞彿',
-            trigger: ['change', 'blur'],
+            message: "璇烽�夋嫨鏍哥鍗曞彿",
+            trigger: ["change", "blur"],
           },
         ],
       },
-    }
+    };
   },
   onReady() {
     this.$refs.uForm.setRules(this.rules);
   },
   onShow() {
-    let that = this
-    uni.$off('scan') // 姣忔杩涙潵鍏� 绉婚櫎鍏ㄥ眬鑷畾涔変簨浠剁洃鍚櫒
-    uni.$on('scan', function (data) {
-      console.log('onscan');
+    let that = this;
+    uni.$off("scan"); // 姣忔杩涙潵鍏� 绉婚櫎鍏ㄥ眬鑷畾涔変簨浠剁洃鍚櫒
+    uni.$on("scan", function (data) {
+      console.log("onscan");
+      if (that.form.verificationNo == "") {
+        uni.showToast({
+          icon: "none",
+          title: "璇峰厛閫夋嫨鏍哥鍗曞彿锛�",
+          duration: 2 * 1000,
+        });
+        return;
+      }
       //鎵爜鎴愬姛鍚庣殑鍥炶皟锛屼綘鍙互鍐欒嚜宸辩殑閫昏緫浠g爜鍦ㄨ繖閲�
-      console.log('椤甸潰鎵爜缁撴灉锛�', data.code);
+      console.log("椤甸潰鎵爜缁撴灉锛�", data.code);
       if (data.code) {
-        let codeInfo = JSON.parse(data.code)
-        if (codeInfo.WorkNo) {
-          // 鎵弿鎶ュ伐鍗曚簩缁寸爜
-          that.saveForm(codeInfo);
+        let codeInfo = JSON.parse(data.code);
+
+        // 娣诲姞閲嶅鎵爜妫�鏌�
+        const batchNo = codeInfo.BN;
+        const isDuplicate = that.ScanCodeRecord.some(
+          (item) => item.outBatchNo === batchNo
+        );
+
+        if (isDuplicate) {
+          uni.showToast({
+            icon: "none",
+            title: "璇峰嬁閲嶅鎵爜锛�",
+            duration: 2 * 1000,
+          });
+          return;
+        }
+
+        let ScanCodeRecordList = {
+          outBatchNo: codeInfo.BN,
+          netWeight: codeInfo.NW,
+          tareWeight: codeInfo.TR, // 鐨噸
+          partNo: codeInfo.PN,
+          grossWeight: codeInfo.TW,
+          partName: codeInfo.ST,
+          originalLength: codeInfo.LN, // 闀垮害
+          palletNo: codeInfo.PNO, // 鐩樺彿
+          waivDevRejNo: codeInfo.WDR ? codeInfo.WDR : "*", // wdr鍙�
+          productType: that.form.productType,
+        };
+        if (codeInfo.CN != "") {
+          if (codeInfo.CN != that.form.customerName1) {
+            // 鎵弿鎶ュ伐鍗曚簩缁寸爜
+            uni.showModal({
+              title: "鎻愮ず",
+              content:
+                "瀹㈡埛涓嶄竴鑷达細" + codeInfo.CN + "||" + that.form.customerName1,
+              showCancel: true,
+              success: function (res) {
+                const isDuplicate = that.ScanCodeRecord.some(
+                  (item) => item.outBatchNo === codeInfo.BN
+                );
+                if (!isDuplicate) {
+                  if (that.form.productType == "TG01") {
+                    that.$refs.saveForm.open(ScanCodeRecordList);
+                  } else {
+                    that.ScanCodeRecord.push(ScanCodeRecordList);
+                  }
+                } else {
+                  uni.showToast({
+                    icon: "none",
+                    title: "璇峰嬁閲嶅鎵爜锛�",
+                    duration: 2 * 1000,
+                  });
+                }
+              },
+            });
+          } else {
+            if (that.form.productType == "TG01") {
+              that.$refs.saveForm.open(ScanCodeRecordList);
+            } else {
+              that.ScanCodeRecord.push(ScanCodeRecordList);
+            }
+          }
+        } else {
+          if (that.form.productType == "TG01") {
+            that.$refs.saveForm.open(ScanCodeRecordList);
+          } else {
+            that.ScanCodeRecord.push(ScanCodeRecordList);
+          }
         }
       }
-    })
+    });
   },
   methods: {
+    // 鍙栨秷鎵爜璁板綍
+    cancelReport(item) {
+      let that = this;
+      uni.showModal({
+        title: "鎻愮ず",
+        content: "鏄惁纭鍙栨秷閫変腑椤�",
+        success: function (res) {
+          if (res.confirm) {
+            that.ScanCodeRecord = that.ScanCodeRecord.filter(
+              (a) => a.outBatchNo !== item.outBatchNo
+            );
+          } else if (res.cancel) {
+            return;
+          }
+        },
+      });
+    },
+    // 瀵间綋鎻愪氦
+    confirmDt() {
+      // 璁$畻grossWeight鎬诲拰
+      let grossWeightSum = 0;
+      // 纭繚ScanCodeRecord鏄暟缁�
+      if (Array.isArray(this.ScanCodeRecord)) {
+        this.ScanCodeRecord.forEach((item) => {
+          grossWeightSum += Number(item.grossWeight) || 0;
+        });
+      }
+      // 浣跨敤姝g‘鐨勫瓧娈靛悕suppliedQuantity锛岃�屼笉鏄痸oltage
+      const magnetic =
+        Number(this.modalList.verificationWeight) -
+        Number(this.modalList.forkliftWeight) -
+        grossWeightSum;
+      this.form.verificationWeight = this.modalList.verificationWeight;
+      this.form.forkliftWeight = this.modalList.forkliftWeight;
+      switch (this.form.productType) {
+        case "DT01":
+          if (magnetic >= 0 && magnetic <= 3) {
+            this.allSubmit();
+          } else {
+            this.$u.toast("纾呭樊:" + magnetic + "锛岃杞﹂棿鏍告煡");
+          }
+          break;
+        case "DT02":
+          if (magnetic >= -0.5 && magnetic <= 0.5) {
+            // this.ScanCodeRecord.push(this.form);
+            this.allSubmit();
+          } else {
+            this.$u.toast("纾呭樊:" + magnetic + "锛岃杞﹂棿鏍告煡");
+          }
+          break;
+      }
+    },
+    allSubmit() {
+      this.ScanCodeRecord.forEach((item) => {
+        item.batchNo = item.outBatchNo;
+      });
+      this.form = {
+        ...this.form,
+        weighingVerificationList: this.ScanCodeRecord,
+        verificationWeight: this.modalList.verificationWeight,
+        forkliftWeight: this.modalList.forkliftWeight,
+      };
+      console.log("11111111111", this.form);
+      // 澶勭悊鎻愪氦閫昏緫
+      this.$u.api.NuclearScaleEntry.createDetail(this.form)
+        .then((res) => {
+          this.$u.toast("鎻愪氦鎴愬姛");
+          this.ScanCodeRecord = [];
+          if (this.form.productTypeMap == "DT01") {
+            this.modalList = {
+              verificationWeight: "",
+              forkliftWeight: "",
+            };
+          }
+        })
+        .catch((err) => {
+          uni.hideLoading();
+          uni.showModal({
+            title: "鎻愮ず",
+            content: err.message || "缃戠粶寮傚父锛岃閲嶈瘯",
+            showCancel: true,
+            success: function (res) {},
+          });
+        });
+    },
+
+    // 鍙栨秷
+    cancelDt() {
+      this.showModal = false;
+    },
+    handleUpdate(Obj) {
+      console.log("1111111111111111閾滄潌", Obj);
+      Obj.batchNo = Obj.outBatchNo;
+      this.form = {
+        ...this.form,
+        weighingVerificationList: [Obj],
+        verificationWeight: Obj.verificationWeight,
+        forkliftWeight: Obj.forkliftWeight,
+      };
+      console.log("11111111111", this.form);
+      // 澶勭悊鎻愪氦閫昏緫
+      this.$u.api.NuclearScaleEntry.createDetail(this.form)
+        .then((res) => {
+          this.$u.toast("鎻愪氦鎴愬姛");
+          this.ScanCodeRecord.push(Obj);
+          this.$refs.saveForm.cancel();
+        })
+        .catch(() => {
+          uni.hideLoading();
+          this.$refs.saveForm.cancel();
+          this.$u.toast("缃戠粶寮傚父锛岃閲嶈瘯");
+        });
+    },
     // 鎻愪氦鎸夐挳
     submit() {
-      this.show = true
+      if (this.form.productType != "TG01") {
+        this.showModal = true;
+      } else {
+        this.allSubmit();
+      }
     },
     // 寮规淇濆瓨
     confirm() {
-      console.log('淇濆瓨', this.form.value1);
+      console.log("淇濆瓨", this.form.verificationNo);
       // 璇锋眰鎺ュ彛锛屾牴鎹伐鍗曞彿鏌ヨ鍏朵粬淇℃伅骞惰祴鍊�
+      // this.allSubmit();
     },
     // 閫夋嫨璁㈠崟鍙�
     openList() {
       uni.navigateTo({
-        url: '/pages/wareHouse/nuclearScale/nuclearScaleList'
-      })
+        url: "/pages/wareHouse/nuclearScale/nuclearScaleList",
+      });
     },
     //鏍哥璁板綍
     openNuclearScaleRecord() {
+      if (!this.form.verificationNo) {
+        uni.showToast({
+          icon: "none",
+          title: "璇峰厛閫夋嫨鏍哥鍗曞彿锛�",
+          duration: 2 * 1000,
+        });
+        return;
+      }
       uni.navigateTo({
-        url: '/pages/wareHouse/nuclearScale/nuclearscalerecord'
-      })
+        url:
+          "/pages/wareHouse/nuclearScale/nuclearscalerecord?verificationNo=" +
+          encodeURIComponent(JSON.stringify(this.form.verificationNo)),
+      });
     },
     // 瀛樿鍗曞彿
     setNo(val) {
-      this.form.value3 = val
+      this.form = val;
+      this.ScanCodeRecord = [];
     },
     // 鍥炴樉鎵爜鐨勪俊鎭�-鎶ュ伐鍗�
-    saveForm(val) {
-      let { WorkNo, ProcessName, ORDER_NO } = val
-      this.form.value1 = WorkNo
-      this.form.value2 = ProcessName
-      this.form.value3 = ORDER_NO
-    }
-  }
-}
+    // saveForm(val) {
+    // 	let {
+    // 		WorkNo,
+    // 		ProcessName,
+    // 		ORDER_NO
+    // 	} = val;
+    // 	this.form.verificationNo = WorkNo;
+    // 	this.form.productType = ProcessName;
+    // 	this.form.licensePlate = ORDER_NO;
+    // },
+  },
+};
 </script>
 
 <style lang="scss">
-@import 'index.scss';
+@import "index.scss";
 </style>
\ No newline at end of file

--
Gitblit v1.9.3