yyb
13 小时以前 5f2221fbba40d0218e33f73489b3cdf61fa567de
pages/wareHouse/nuclearScale/index.vue
@@ -130,7 +130,9 @@
            @click="cancelReport(item)"
          >
            <view class="content-header">
              <view class="content-header-title">{{ index + 1 }}</view>
              <view class="content-header-title">{{
                ScanCodeRecord.length - index
              }}</view>
            </view>
            <view class="content-body">
              <view class="row-list">
@@ -170,7 +172,7 @@
                  <view class="_label-name">盘重:</view>
                </view>
                <view class="_content">
                  {{ item.trayWeight }}
                  {{ item.tareWeight }}
                </view>
              </view>
              <view class="row-list">
@@ -186,7 +188,7 @@
        </u-cell-group>
      </scroll-view>
    </view>
    <!-- 导体 -->
    <!-- 铜杆 -->
    <u-modal
      v-model="showModal"
      title=""
@@ -204,6 +206,7 @@
              </view>
              <view class="packing-registration-param-item-right">
                <u-input
                  type="number"
                  class="item-one item-two"
                  v-model="modalList.verificationWeight"
                />
@@ -215,8 +218,9 @@
              </view>
              <view class="packing-registration-param-item-right">
                <u-input
                  type="number"
                  class="item-one item-two"
                  v-model="modalList.suppliedQuantity"
                  v-model="modalList.forkliftWeight"
                />
              </view>
            </view>
@@ -224,7 +228,12 @@
        </view>
      </view>
    </u-modal>
    <u-button type="primary" class="bottom-button" @click="submit"
    <u-button
      type="primary"
      class="bottom-button"
      @click="submit"
      :disabled="ScanCodeRecord.length == 0"
      v-show="form.productType != 'TG01'"
      >提交</u-button
    >
    <u-modal
@@ -233,11 +242,7 @@
      content="是否确认提交"
      show-cancel-button
    ></u-modal>
    <saveForm
      ref="saveForm"
      :operationTaskList="this.form"
      @update="handleUpdate"
    />
    <saveForm ref="saveForm" :operationTaskList="form" @update="handleUpdate" />
    <scan></scan>
  </div>
</template>
@@ -257,9 +262,9 @@
      modalList: {},
      showModal: false,
      productTypeMap: {
        1: "导体",
        2: "铜杆",
        3: "导体2.6",
        DTO1: "导体",
        TG01: "铜杆",
        DT02: "导体2.6",
      },
      ScanCodeRecord: [],
      background: {
@@ -269,19 +274,7 @@
        backgroundRepeat: "no-repeat",
      },
      show: false,
      form: {
        value0: "",
        verificationNo: "",
        productType: "",
        licensePlate: "",
        shippingNoticeNo1: "",
        customerName1: "",
        weighingOperator: "",
        forkliftOperator: "",
        value8: "",
        shippingNoticeNo2: "",
        customerName2: "",
      },
      form: {},
      rules: {
        verificationNo: [
          {
@@ -313,53 +306,70 @@
      console.log("页面扫码结果:", data.code);
      if (data.code) {
        let codeInfo = JSON.parse(data.code);
        // try {
        // } catch (e) {
        //    uni.showToast({
        //       icon: "none",
        //       title: "扫码数据解析失败,请重试!",
        //       duration: 2 * 1000,
        //    });
        //    return;
        // }
        // 添加重复扫码检查
        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,
          partNo: codeInfo.partNo,
          partName: codeInfo.ST,
          originalLength: codeInfo.LN, // 长度
          palletNo: codeInfo.PNO, // 盘号
          waivDevRejNo: codeInfo.WDR ? codeInfo.WDR : "*", // wdr号
          productType: that.form.productType,
        };
        if (codeInfo.CN != that.form.customerName1) {
          // 扫描报工单二维码
          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);
              }
            },
          });
        if (that.form.productType == "TG01") {
          that.$refs.saveForm.open(ScanCodeRecordList);
        } else {
          if (that.form.productType == "TG01") {
            that.$refs.saveForm.open(ScanCodeRecordList);
          } else {
            that.ScanCodeRecord.push(ScanCodeRecordList);
          }
          that.queryCustomName(codeInfo, ScanCodeRecordList);
        }
      }
    });
  },
  methods: {
    queryCustomName(codeInfo, ScanCodeRecordList) {
      // 查询客户名称
      this.$u.api.NuclearScaleEntry.queryCustomName({
        BN: codeInfo.BN,
      }).then((res) => {
        console.log("客户名称:", res);
        if (res.data != this.form.customerName1) {
          let that = this;
          // 扫描报工单二维码
          uni.showModal({
            title: "提示",
            content:
              "客户不一致:" + res.data + " || " + that.form.customerName1,
            showCancel: true,
            success: function (res) {
              if (res.confirm) {
                that.ScanCodeRecord.unshift(ScanCodeRecordList);
              } else if (res.cancel) {
                return;
              }
            },
          });
        } else {
          this.ScanCodeRecord.unshift(ScanCodeRecordList);
        }
      });
    },
    // 取消扫码记录
    cancelReport(item) {
      let that = this;
@@ -379,47 +389,82 @@
    },
    // 导体提交
    confirmDt() {
      const magnetic =
        Number(this.form.verificationWeight) -
        Number(this.form.voltage) -
        Number(this.form.reelWeight);
      console.log("保存", this.form.verificationNo);
      // 计算grossWeight总和
      let grossWeightSum = 0;
      // 确保ScanCodeRecord是数组
      if (Array.isArray(this.ScanCodeRecord)) {
        this.ScanCodeRecord.forEach((item) => {
          grossWeightSum += Number(item.grossWeight) || 0;
        });
      }
      // 使用正确的字段名suppliedQuantity,而不是voltage
      const magnetic = (
        Number(this.modalList.verificationWeight) -
        Number(this.modalList.forkliftWeight) -
        grossWeightSum
      ).toFixed(1);
      this.form.verificationWeight = this.modalList.verificationWeight;
      this.form.forkliftWeight = this.modalList.forkliftWeight;
      switch (this.form.productType) {
        case "导体":
          if (magnetic > 0 && magnetic < 3) {
            this.allSubmit();
            // this.ScanCodeRecord.push(this.form);
        case "DT01":
          if (Number(magnetic) >= -3 && Number(magnetic) <= 3) {
            let that = this;
            uni.showModal({
              title: "提示",
              content: "磅差:" + magnetic + ",是否确认提交?",
              success: function (res) {
                if (res.confirm) {
                  that.allSubmit();
                } else if (res.cancel) {
                  return;
                }
              },
            });
          } else {
            this.$u.toast("生产核查");
            this.$u.toast("磅差:" + magnetic + ",请车间核查");
          }
          break;
        case "导体2.6":
          if (magnetic > -0.5 && magnetic < 0.5) {
        case "DT02":
          if (Number(magnetic) >= -0.5 && Number(magnetic) <= 0.5) {
            // this.ScanCodeRecord.push(this.form);
            this.allSubmit();
          } else {
            this.$u.toast("生产核查");
            this.$u.toast("磅差:" + magnetic + ",请车间核查");
          }
          break;
      }
    },
    allSubmit() {
      console.log("进来了", this.ScanCodeRecord);
      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) => {
          if (res.success) {
            this.$u.toast("提交成功");
          } else {
            this.$u.toast(res.message || "提交失败");
          }
          this.$u.toast("提交成功");
          this.ScanCodeRecord = [];
          // if (this.form.productTypeMap == "DT01") {
          this.modalList = {
            verificationWeight: "",
            // };
          };
        })
        .catch(() => {
        .catch((err) => {
          uni.hideLoading();
          this.$u.toast("网络异常,请重试");
          uni.showModal({
            title: "提示",
            content: err.message || "网络异常,请重试",
            showCancel: true,
            success: function (res) {},
          });
        });
    },
@@ -428,11 +473,37 @@
      this.showModal = false;
    },
    handleUpdate(Obj) {
      this.ScanCodeRecord.push(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 = [];
          // this.ScanCodeRecord.unshift(Obj);
          this.$refs.saveForm.cancel();
        })
        .catch(() => {
          uni.hideLoading();
          this.$refs.saveForm.cancel();
          uni.showModal({
            title: "提示",
            content: err.message || "网络异常,请重试",
            showCancel: true,
            success: function (res) {},
          });
        });
    },
    // 提交按钮
    submit() {
      if (that.form.productType != "TG01") {
      if (this.form.productType != "TG01") {
        this.showModal = true;
      } else {
        this.allSubmit();
@@ -442,6 +513,7 @@
    confirm() {
      console.log("保存", this.form.verificationNo);
      // 请求接口,根据工单号查询其他信息并赋值
      // this.allSubmit();
    },
    // 选择订单号
    openList() {
@@ -451,7 +523,7 @@
    },
    //核磅记录
    openNuclearScaleRecord() {
      if (this.form.verificationNo == "") {
      if (!this.form.verificationNo) {
        uni.showToast({
          icon: "none",
          title: "请先选择核磅单号!",
@@ -460,12 +532,15 @@
        return;
      }
      uni.navigateTo({
        url: "/pages/wareHouse/nuclearScale/nuclearscalerecord",
        url:
          "/pages/wareHouse/nuclearScale/nuclearscalerecord?verificationNo=" +
          encodeURIComponent(JSON.stringify(this.form.verificationNo)),
      });
    },
    // 存订单号
    setNo(val) {
      this.form = val;
      this.ScanCodeRecord = [];
    },
    // 回显扫码的信息-报工单
    // saveForm(val) {