yyb
10 小时以前 13862edbc722e99f15a2661b72e09a528c7f485a
pages/product/WorkshopOrderIssued/index.vue
@@ -31,6 +31,57 @@
        </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">
            <text class="item-one item-two" @click="seachWork()">{{
              registerInfo.optaskNo == "" ? "点击选择" : registerInfo.optaskNo
            }}</text>
            <u-icon
              name="arrow-right"
              color="#687792"
              size="28"
              @click="seachWork()"
              v-show="registerInfo.optaskNo == ''"
            ></u-icon>
          </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">
            <picker
              class="item-one item-two"
              style="width: 100%; text-align: right"
              @change="machineChange($event, machineList)"
              :value="machineIndex"
              :range="machineList"
              range-key="label"
            >
              <view>
                <text
                  :style="{
                    color: machineIndex == null ? '#a5abb4' : '#a5abb4',
                  }"
                  >{{
                    machineIndex == null
                      ? "点击选择"
                      : machineList[machineIndex].label
                  }}</text
                >
              </view>
            </picker>
            <u-icon
              v-if="machineIndex == null"
              name="arrow-right"
              color="#687792"
              size="28"
            ></u-icon>
          </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">
@@ -91,7 +142,7 @@
                  <view class="_label-name">下发数量:</view>
                </view>
                <view class="_content">
                  {{ item.qpa }}
                  {{ item.suppliedQuantity }}
                </view>
              </view>
            </view>
@@ -118,6 +169,16 @@
              <view class="packing-registration-param-item-right">
                <text class="item-one item-two">{{
                  modalList.outBatchNo
                }}</text>
              </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">
                <text class="item-one item-two">{{
                  modalList.locationNo
                }}</text>
              </view>
            </view>
@@ -159,22 +220,23 @@
        whiteSpace: "nowrap",
      },
      // 弹窗列表
      modalList: {
        operationTaskId: "",
        partNo: "",
        moNo: "",
      },
      modalList: {},
      //   主页面列表
      registerInfo: {
        operationTaskId: "",
        id: "",
        moNo: "",
        partNo: "",
        partName: "",
        optaskNo: "",
        workstationId: "",
      },
      //   下发记录列表
      hasScanSnList: [],
      codeInfoId: "",
      showModal: false,
      machineIndex: null,
      machineList: [],
    };
  },
  onShow() {
@@ -190,58 +252,119 @@
        });
        return;
      }
      if (that.registerInfo.workstationId == "") {
        uni.showToast({
          icon: "none",
          title: "请先选择机台!",
          duration: 2 * 1000,
        });
        return;
      }
      if (data.code) {
        //扫码成功后的回调,你可以写自己的逻辑代码在这里
        console.log("扫码结果:", data.code);
        let codeInfo = JSON.parse(data.code);
        that.codeInfoId = codeInfo.id;
        if (codeInfo.partNo) {
          if (that.registerInfo.partNo != codeInfo.partNo) {
            this.$u.toast("当前子件和扫码子件不一致!");
            return;
          }
          // 扫描报工单二维码
          that.scanHandle(data.code);
          that.scanHandle(codeInfo);
          that.$forceUpdate();
          that.getHandelList();
          // that.getHandelList();
        }
      }
    });
  },
  methods: {
    getHandelList() {
      this.$u.api.workReporting
        .getProductMainV1({
          current: 1,
          size: -1,
          id: this.codeInfoId,
        })
        .then((res) => {
          this.hasScanSnList = res.data.productOutputList;
        });
    //机台
    machineChange(e, storage, code) {
      this.hasScanSnList = [];
      if (storage.length <= 0) {
        this.machineIndex = null;
        return;
      }
      this.machineIndex = e.target.value;
      this.registerInfo.workstationId = storage[this.machineIndex].value;
    },
    // getHandelList() {
    //   this.$u.api.workReporting
    //     .getProductMainV1({
    //       current: 1,
    //       size: -1,
    //       id: this.codeInfoId,
    //     })
    //     .then((res) => {
    //       this.hasScanSnList = res.data.productOutputList;
    //     });
    // },
    // 点击确认后获取下发记录
    confirm() {
      if (!this.modalList.outBatchNo) {
        this.$u.toast("批号为空不能提交");
        this.$refs.uModal.clearLoading(); // 清除加载状态
        return;
      }
      if (!this.modalList.locationNo) {
        this.$u.toast("库位为空不能提交");
        this.$refs.uModal.clearLoading(); // 清除加载状态
        return;
      }
      if (!this.modalList.suppliedQuantity) {
        this.$u.toast("请输入取消下发数量");
        this.$refs.uModal.clearLoading(); // 清除加载状态
        return;
      }
      // 处理确认逻辑
      this.$u.api.WorkshopOrderIssued.checkRawPart(this.modalList).then(
        (res) => {
          console.log("res", res);
          if (res.data.code === 0) {
          this.confirmList();
          }
      this.$u.api.WorkshopOrderIssued.feeding({
        feedingFrom: "stocker",
        operationTaskId: this.registerInfo.operationTaskId,
        feeds: [
          {
            ...this.modalList,
          },
        ],
      }).then((res) => {
        console.log("res", res);
        if (res.code === 0) {
          this.$u.toast("提交成功");
          this.showModal = false;
          const obj = {
            suppliedQuantity: this.modalList.suppliedQuantity,
            outBatchNo: this.modalList.outBatchNo,
          };
          this.hasScanSnList.push(obj);
        }
      );
    },
    // 订单下发
    confirmList() {
      this.$u.api.WorkshopOrderIssued.checkRawPart(this.modalList).then(
        (res) => {
          console.log("res", res);
          if (res.data.code === 0) {
            this.showModal = false;
          }
        }
      );
      });
    },
    // 模态框取消
    cancel() {
      this.showModal = false; // 关闭弹窗
    },
    // 工单回显
    workNo(val) {
      this.machineList = [];
      this.machineIndex = null;
      this.registerInfo.workstationId = "";
      this.registerInfo.partName = "";
      this.registerInfo.partNo = "";
      this.$u.api.WorkshopOrderIssued.selWorkStation(val).then((res) => {
        console.log("111", res);
        if (res.code === 0 && res.data.length > 0) {
          res.data.forEach((i) => {
            const obj = Object.assign({
              label: i.name,
              value: i.id,
            });
            this.machineList.push(obj);
          });
        }
      });
      this.registerInfo.optaskNo = val.optaskNo;
      this.registerInfo.operationTaskId = val.id;
      this.hasScanSnList = [];
    },
    // 子件回显
    compNo(val) {
@@ -251,9 +374,18 @@
    // 订单号回显
    setNo(val) {
      console.log("11111", val);
      this.registerInfo.moNo = val.moNo;
      // this.registerInfo.value2 = val.value2;
      this.registerInfo.id = val.id;
      (this.registerInfo = {
        operationTaskId: "",
        id: val.id,
        moNo: val.moNo,
        partNo: "",
        partName: "",
        optaskNo: "",
        workstationId: "",
      }),
        (this.machineList = []);
      this.machineIndex = null;
      this.hasScanSnList = [];
    },
    //订单号
    seachPersonnelNo() {
@@ -264,6 +396,20 @@
    },
    //子件
    seachComp() {
      if (this.registerInfo.optaskNo == "") {
        this.$u.toast("请选择工单号");
        return;
      }
      console.log("子件");
      // 使用uni.navigateTo方法跳转,并通过queryParams传递参数
      uni.navigateTo({
        url:
          "/pages/product/WorkshopOrderIssued/comp?operationTaskId=" +
          encodeURIComponent(JSON.stringify(this.registerInfo.operationTaskId)),
      });
    },
    //工单
    seachWork() {
      if (this.registerInfo.moNo == "") {
        this.$u.toast("请选择订单号");
        return;
@@ -272,14 +418,26 @@
      // 使用uni.navigateTo方法跳转,并通过queryParams传递参数
      uni.navigateTo({
        url:
          "/pages/product/WorkshopOrderIssued/comp?id=" +
          "/pages/product/WorkshopOrderIssued/WorkOrderList?id=" +
          encodeURIComponent(JSON.stringify(this.registerInfo.id)),
      });
    },
    // 扫码后数据回显
    scanHandle(val) {
      this.modalList = val;
      this.showModal = true;
      const { outBatchNo } = val;
      const { workstationId, operationTaskId } = this.registerInfo;
      const obj = {
        outBatchNo: outBatchNo,
        workstationId: workstationId,
        operationTaskId: operationTaskId,
      };
      this.$u.api.WorkshopOrderIssued.checkRawPartPDA(obj).then((res) => {
        console.log("res", res);
        if (res.code === 0) {
          (res.data.workstationId = workstationId), (this.modalList = res.data);
          this.showModal = true;
        }
      });
    },
  },
};
@@ -287,12 +445,13 @@
<style lang="scss" scoped>
.popup-content {
  width: 600rpx;
  height: 250rpx;
  height: 350rpx;
  background-color: #fff;
  border-radius: 8px;
  z-index: 10;
  /* 确保内容在蒙版之上 */
}
.packing-registration-bg {
  background-color: #f6f9ff;
  background-image: url("~@/static/custom/packing/backBg.png");
@@ -325,7 +484,7 @@
  }
  .packing-registration-param-view {
    height: 345rpx;
    height: 550rpx;
    background-color: #fff;
    border-radius: 10rpx;
    padding: 0rpx 23rpx;
@@ -352,7 +511,7 @@
        .item-one {
          font-size: 30rpx;
          color: #333333;
          color: #060505;
          margin-right: 6rpx;
        }