From 66a4579ac674f0f3958f2f365718c34e3bac49da Mon Sep 17 00:00:00 2001
From: yyb <995253665@qq.com>
Date: 星期二, 12 八月 2025 08:32:52 +0800
Subject: [PATCH] 核磅录入

---
 pages/wareHouse/nuclearScale/index.vue |  487 +++++++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 425 insertions(+), 62 deletions(-)

diff --git a/pages/wareHouse/nuclearScale/index.vue b/pages/wareHouse/nuclearScale/index.vue
index 1091bdd..cedb44e 100644
--- a/pages/wareHouse/nuclearScale/index.vue
+++ b/pages/wareHouse/nuclearScale/index.vue
@@ -2,123 +2,486 @@
   <!-- 鏍哥褰曞叆 -->
   <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="鍙戣揣閫氱煡鍗�" :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="瀹㈡埛鍚嶇О" :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="鍙哥鍛�" :border-bottom="false" prop="value6">
-        <u-input v-model="form.value6" 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="鍙夎溅鍙告満" :border-bottom="false" prop="value7">
-        <u-input v-model="form.value7" 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="value8">
-        <u-input v-model="form.value8" type="select" placeholder="" @click="open" />
+      <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="鎵爜璁板綍锛�0鏉★級:" :border-bottom="false" prop="value4" :label-width="260">
-        <!-- <u-input v-model="form.value4" 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"
+        style="font-size: small"
+      >
+        <u-input type="select" placeholder="" @click="openNuclearScaleRecord" />
+      </u-form-item>
+      <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">鎻愪氦</u-button>
+    <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.trayWeight }}
+                </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.suppliedQuantity"
+                />
+              </view>
+            </view>
+          </view>
+        </view>
+      </view>
+    </u-modal>
+    <u-button type="primary" class="bottom-button" @click="submit"
+      >鎻愪氦</u-button
+    >
+    <u-modal
+      v-model="show"
+      @confirm="confirm"
+      content="鏄惁纭鎻愪氦"
+      show-cancel-button
+    ></u-modal>
+    <saveForm
+      ref="saveForm"
+      :operationTaskList="this.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: {
+        1: "瀵间綋",
+        2: "閾滄潌",
+        3: "瀵间綋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,
       form: {
-        value0: '',
-        value1: '',
-        value2: '',
-        value3: '',
-        value4: '',
-        value5: '',
-        value6: '',
-        value7: '',
-        value8: ''
+        value0: "",
+        verificationNo: "",
+        productType: "",
+        licensePlate: "",
+        shippingNoticeNo1: "",
+        customerName1: "",
+        weighingOperator: "",
+        forkliftOperator: "",
+        value8: "",
+        shippingNoticeNo2: "",
+        customerName2: "",
       },
       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) {
+        let codeInfo = JSON.parse(data.code);
+        // try {
+        // } catch (e) {
+        // 	uni.showToast({
+        // 		icon: "none",
+        // 		title: "鎵爜鏁版嵁瑙f瀽澶辫触锛岃閲嶈瘯锛�",
+        // 		duration: 2 * 1000,
+        // 	});
+        // 	return;
+        // }
+        let ScanCodeRecordList = {
+          outBatchNo: codeInfo.BN,
+          netWeight: codeInfo.NW,
+          tareWeight: codeInfo.TR, // 鐨噸
+          partNo: codeInfo.PN,
+          grossWeight: codeInfo.TW,
+          partNo: codeInfo.partNo,
+          partName: codeInfo.ST,
+          originalLength: codeInfo.LN, // 闀垮害
+          palletNo: codeInfo.PNO, // 鐩樺彿
+          waivDevRejNo: codeInfo.WDR ? codeInfo.WDR : "*", // wdr鍙�
+        };
+        if (codeInfo.CN != that.form.customerName1) {
           // 鎵弿鎶ュ伐鍗曚簩缁寸爜
-          that.saveForm(codeInfo);
+          uni.showModal({
+            title: "鎻愮ず",
+            content:
+              "瀹㈡埛涓嶄竴鑷达細" + codeInfo.CN + "||" + that.form.customerName1,
+            showCancel: true,
+            success: function () {
+              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() {
+      const magnetic =
+        Number(this.form.verificationWeight) -
+        Number(this.form.voltage) -
+        Number(this.form.reelWeight);
+      console.log("淇濆瓨", this.form.verificationNo);
+      switch (this.form.productType) {
+        case "瀵间綋":
+          if (magnetic > 0 && magnetic < 3) {
+            this.allSubmit();
+            // this.ScanCodeRecord.push(this.form);
+          } else {
+            this.$u.toast("鐢熶骇鏍告煡");
+          }
+          break;
+        case "瀵间綋2.6":
+          if (magnetic > -0.5 && magnetic < 0.5) {
+            // this.ScanCodeRecord.push(this.form);
+            this.allSubmit();
+          } else {
+            this.$u.toast("鐢熶骇鏍告煡");
+          }
+          break;
+      }
+    },
+    allSubmit() {
+      this.form = {
+        ...this.form,
+        weighingVerificationList: this.ScanCodeRecord,
+      };
+      // 澶勭悊鎻愪氦閫昏緫
+      this.$u.api.NuclearScaleEntry.createDetail(this.form)
+        .then((res) => {
+          if (res.success) {
+            this.$u.toast("鎻愪氦鎴愬姛");
+          } else {
+            this.$u.toast(res.message || "鎻愪氦澶辫触");
+          }
+        })
+        .catch(() => {
+          uni.hideLoading();
+          this.$u.toast("缃戠粶寮傚父锛岃閲嶈瘯");
+        });
+    },
+
+    // 鍙栨秷
+    cancelDt() {
+      this.showModal = false;
+    },
+    handleUpdate(Obj) {
+      this.ScanCodeRecord.push(Obj);
+    },
+    // 鎻愪氦鎸夐挳
+    submit() {
+      if (that.form.productType != "TG01") {
+        this.showModal = true;
+      } else {
+        this.allSubmit();
+      }
+    },
     // 寮规淇濆瓨
     confirm() {
-      console.log('淇濆瓨', this.form.value1);
+      console.log("淇濆瓨", this.form.verificationNo);
       // 璇锋眰鎺ュ彛锛屾牴鎹伐鍗曞彿鏌ヨ鍏朵粬淇℃伅骞惰祴鍊�
     },
     // 閫夋嫨璁㈠崟鍙�
     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",
+      });
     },
     // 瀛樿鍗曞彿
     setNo(val) {
-      this.form.value3 = val
+      this.form = val;
     },
     // 鍥炴樉鎵爜鐨勪俊鎭�-鎶ュ伐鍗�
-    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