yyb
9 天以前 16a42ed86cf9eaa19b749577e22ccfbf700d81b9
pages/wareHouse/nuclearScale/index.vue
@@ -130,7 +130,7 @@
            @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 +170,7 @@
                  <view class="_label-name">盘重:</view>
                </view>
                <view class="_content">
                  {{ item.trayWeight }}
                  {{ item.tareWeight }}
                </view>
              </view>
              <view class="row-list">
@@ -186,7 +186,7 @@
        </u-cell-group>
      </scroll-view>
    </view>
    <!-- 导体 -->
    <!-- 铜杆 -->
    <u-modal
      v-model="showModal"
      title=""
@@ -204,6 +204,7 @@
              </view>
              <view class="packing-registration-param-item-right">
                <u-input
                type="number"
                  class="item-one item-two"
                  v-model="modalList.verificationWeight"
                />
@@ -215,8 +216,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 +226,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 +240,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 +260,9 @@
      modalList: {},
      showModal: false,
      productTypeMap: {
        1: "导体",
        2: "铜杆",
        3: "导体2.6",
        DTO1: "导体",
        TG01: "铜杆",
        DT02: "导体2.6",
      },
      ScanCodeRecord: [],
      background: {
@@ -269,19 +272,7 @@
        backgroundRepeat: "no-repeat",
      },
      show: false,
      form: {
        value0: "",
        verificationNo: "",
        productType: "",
        licensePlate: "",
        shippingNoticeNo1: "",
        customerName1: "",
        weighingOperator: "",
        forkliftOperator: "",
        value8: "",
        shippingNoticeNo2: "",
        customerName2: "",
      },
      form: {},
      rules: {
        verificationNo: [
          {
@@ -313,47 +304,73 @@
      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 (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.unshift(ScanCodeRecordList);
                  }
                } else {
                  uni.showToast({
                    icon: "none",
                    title: "请勿重复扫码!",
                    duration: 2 * 1000,
                  });
                }
              },
            });
          } else {
            if (that.form.productType == "TG01") {
              that.$refs.saveForm.open(ScanCodeRecordList);
            } else {
              that.ScanCodeRecord.unshift(ScanCodeRecordList);
            }
          }
        } else {
          if (that.form.productType == "TG01") {
            that.$refs.saveForm.open(ScanCodeRecordList);
          } else {
            that.ScanCodeRecord.push(ScanCodeRecordList);
            that.ScanCodeRecord.unshift(ScanCodeRecordList);
          }
        }
      }
@@ -379,47 +396,69 @@
    },
    // 导体提交
    confirmDt() {
      // 计算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.form.verificationWeight) -
        Number(this.form.voltage) -
        Number(this.form.reelWeight);
      console.log("保存", this.form.verificationNo);
        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 "导体":
          if (magnetic > 0 && magnetic < 3) {
        case "DT01":
          if (magnetic >= 0 && magnetic <= 3) {
            this.allSubmit();
            // this.ScanCodeRecord.push(this.form);
          } else {
            this.$u.toast("生产核查");
            this.$u.toast("磅差:" + magnetic + ",请车间核查");
          }
          break;
        case "导体2.6":
          if (magnetic > -0.5 && magnetic < 0.5) {
        case "DT02":
          if (magnetic >= -0.5 && magnetic <= 0.5) {
            // this.ScanCodeRecord.push(this.form);
            this.allSubmit();
          } else {
            this.$u.toast("生产核查");
            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) => {
          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 +467,31 @@
      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.unshift(Obj);
          this.$refs.saveForm.cancel();
        })
        .catch(() => {
          uni.hideLoading();
          this.$refs.saveForm.cancel();
          this.$u.toast("网络异常,请重试");
        });
    },
    // 提交按钮
    submit() {
      if (that.form.productType != "TG01") {
      if (this.form.productType != "TG01") {
        this.showModal = true;
      } else {
        this.allSubmit();
@@ -442,6 +501,7 @@
    confirm() {
      console.log("保存", this.form.verificationNo);
      // 请求接口,根据工单号查询其他信息并赋值
      // this.allSubmit();
    },
    // 选择订单号
    openList() {
@@ -451,7 +511,7 @@
    },
    //核磅记录
    openNuclearScaleRecord() {
      if (this.form.verificationNo == "") {
      if (!this.form.verificationNo) {
        uni.showToast({
          icon: "none",
          title: "请先选择核磅单号!",
@@ -460,12 +520,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) {