yyb
2 天以前 76486524892abdfd3039eedc28d83cbbfb56d042
取消报工/车间订单下发/车间订单取消下发/功能点逻辑编写
已修改7个文件
1703 ■■■■ 文件已修改
pages/product/WorkshopOrderCancellationIssued/index.vue 738 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/product/WorkshopOrderIssued/comp.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/product/WorkshopOrderIssued/index.vue 746 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/product/cancelReport/index.vue 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/product/report/components/saveForm.vue 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/product/report/index.vue 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/wareHouse/moveWareHouse/index.vue 119 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/product/WorkshopOrderCancellationIssued/index.vue
@@ -1,381 +1,423 @@
//车间订单取消下发
<template>
    <view 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" />
        <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">
                        <text class="item-one item-two" @click="seachPersonnelNo()">{{
              registerInfo.value1 == "" ? "点击选择" : registerInfo.value1
  <view 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"
    />
    <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">
            <text class="item-one item-two" @click="seachPersonnelNo()">{{
              registerInfo.moNo == "" ? "点击选择" : registerInfo.moNo
            }}</text>
                        <u-icon name="arrow-right" color="#687792" size="28" @click="seachPersonnelNo()"
                            v-show="registerInfo.value1 == ''"></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>
            </view>
        </view>
        <view class="wrap">
            <scroll-view class="packing-registration-scroll-list" scroll-y="true">
                <u-cell-group class="packing-registration-scroll-list-group" :border="false">
                    <!-- <div class="tip" style="text-align: center;" v-if="hasScanSnList.length==0">-请扫码-</div> -->
                    <view class="content" v-for="(item, index) in hasScanSnList" :key="index" :index="index">
                        <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.value0 }}
                                </view>
                            </view>
                            <view class="row-list">
                                <view class="_label">
                                    <view class="_label-name">零件号:</view>
                                </view>
                                <view class="_content">
                                    {{ item.value1 }}
                                </view>
                            </view>
                            <view class="row-list">
                                <view class="_label">
                                    <view class="_label-name">零件描述:</view>
                                </view>
                                <view class="_content">
                                    {{ item.value2 }}
                                </view>
                            </view>
                            <view class="row-list">
                                <view class="_label">
                                    <view class="_label-name">取消下发数量</view>
                                </view>
                                <view class="_content">
                                    {{ item.value3 }}
                                </view>
                            </view>
                        </view>
                    </view>
                </u-cell-group>
            </scroll-view>
            <scan></scan>
        </view>
        <u-modal v-model="showModal" title="" :show-cancel-button="true" :show-confirm-button="true" @confirm="confirm"
            @cancel="cancel">
            <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">
                                <text class="item-one item-two">{{ modalList.value }}</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.value1 }}</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.value2 }}</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">
                                <u-input class="item-one item-two" v-model="modalList.value3" />
                            </view>
                        </view>
                    </view>
                </view>
            </view>
        </u-modal>
    </view>
            <u-icon
              name="arrow-right"
              color="#687792"
              size="28"
              @click="seachPersonnelNo()"
              v-show="registerInfo.moNo == ''"
            ></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>
      </view>
    </view>
    <view class="wrap">
      <scroll-view class="packing-registration-scroll-list" scroll-y="true">
        <u-cell-group
          class="packing-registration-scroll-list-group"
          :border="false"
        >
          <!-- <div class="tip" style="text-align: center;" v-if="hasScanSnList.length==0">-请扫码-</div> -->
          <view
            class="content"
            v-for="(item, index) in hasScanSnList"
            :key="index"
            :index="index"
          >
            <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.moOn }}
                </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.partName }}
                </view>
              </view>
              <view class="row-list">
                <view class="_label">
                  <view class="_label-name">取消下发数量</view>
                </view>
                <view class="_content">
                  {{ item.value3 }}
                </view>
              </view>
            </view>
          </view>
        </u-cell-group>
      </scroll-view>
      <scan></scan>
    </view>
    <u-modal
      v-model="showModal"
      title=""
      :show-cancel-button="true"
      :show-confirm-button="true"
      @confirm="confirm"
      @cancel="cancel"
    >
      <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">
                <text class="item-one item-two">{{ modalList.moOn }}</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.partNo }}</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.partName }}</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">
                <u-input class="item-one item-two" v-model="modalList.value3" />
              </view>
            </view>
          </view>
        </view>
      </view>
    </u-modal>
  </view>
</template>
<script>
    import scan from "@/components/scan/scan.vue";
    import content_bg from "@/static/custom/packing/backBg.png";
    export default {
        components: {
            scan,
        },
        data() {
            return {
                showModal:false,
                background: {
                    backgroundImage: `url(${content_bg})`,
                    backgroundAttachment: "fixed",
                    backgroundSize: "100% auto",
                    backgroundRepeat: "no-repeat",
                },
                labelStyle: {
                    fontSize: "32rpx",
                    whiteSpace: "nowrap",
                },
                //弹窗列表
                modalList: {
                    value: "",
                    value1: "",
                    value2: "",
                    value3: "",
                },
                registerInfo: {
                    value1: "",
                },
                hasScanSnList: [{
                        value0: "11111111111111111111111",
                        value1: "111",
                        value2: "111",
                        value3: "111",
                    },
                    {
                        value0: "111",
                        value1: "111",
                        value2: "111",
                        value3: "111",
                    },
                    {
                        value0: "111",
                        value1: "111",
                        value2: "111",
                        value3: "111",
                    },
                ],
            };
        },
        onShow() {
            let that = this;
import scan from "@/components/scan/scan.vue";
import content_bg from "@/static/custom/packing/backBg.png";
export default {
  components: {
    scan,
  },
  data() {
    return {
      showModal: false,
      background: {
        backgroundImage: `url(${content_bg})`,
        backgroundAttachment: "fixed",
        backgroundSize: "100% auto",
        backgroundRepeat: "no-repeat",
      },
      labelStyle: {
        fontSize: "32rpx",
        whiteSpace: "nowrap",
      },
      //弹窗列表
      modalList: {
        partName: "",
        partNo: "",
        moNo: "",
        num: "",
      },
      registerInfo: {
        moNo: "",
      },
      hasScanSnList: [],
      codeInfoId: "",
    };
  },
  onShow() {
    let that = this;
            uni.$off("scan"); // 每次进来先 移除全局自定义事件监听器
            uni.$on("scan", function(data) {
                console.log("onscan");
                //扫码成功后的回调,你可以写自己的逻辑代码在这里
                console.log("扫码结果:", data.code);
                that.scanHandle(data.code);
                this.showModal = true;
                that.$forceUpdate();
            });
        },
        methods: {
            // 点击确认后获取下发记录
            confirm() {
                // 处理确认逻辑
                this.showModal = false;
                this.$u.api.workReporting
                ._({}).then((res) => {
                    console.log("res", res);
                    this.hasScanSnList = res.data.records;
                });
            },
            // 模态框取消
            cancel() {
                this.showModal = false; // 关闭弹窗
            },
            setNo(val) {
                console.log("11111", val);
                this.registerInfo.value1 = val.value1;
            },
            //订单号
            seachPersonnelNo() {
                console.log("车间订单号");
                uni.navigateTo({
                    url: "/pages/product/report/orderList",
                });
            },
    uni.$off("scan"); // 每次进来先 移除全局自定义事件监听器
    if (registerInfo.moNO == null) {
      uni.showToast({
        icon: "none",
        title: "请先选择订单号!",
        duration: 2 * 1000,
      });
      return;
    }
    uni.$on("scan", function (data) {
      console.log("onscan");
      //扫码成功后的回调,你可以写自己的逻辑代码在这里
      console.log("扫码结果:", data.code);
      if (data.code) {
        let codeInfo = JSON.parse(data.code);
        this.codeInfoId = codeInfo.id;
        if (codeInfo.moOn) {
          // 扫描报工单二维码
          that.scanHandle(data.code);
          that.$forceUpdate();
          that.getHandelList();
        }
      }
    });
  },
  methods: {
    getHandelList() {
      this.$u.api.workReporting
        .getProductMainV1({
          current: 1,
          size: -1,
          id: this.codeInfoId,
        })
        .then((res) => {
          this.hasScanSnList = res.data.productOutputList;
        });
    },
    // 扫码后数据回显
    scanHandle(val) {
      let { moNo, partNo, partName } = val;
      this.modalList.moNo = moNo;
      this.modalList.partNo = partNo;
      this.modalList.partName = partName;
        },
    };
      this.showModal = true;
    },
    // 点击确认后获取下发记录
    confirm() {
      // 处理确认逻辑
      this.$u.api.workReporting._(this.modalList).then((res) => {
        console.log("res", res);
        this.showModal = false;
        this.getHandelList();
      });
    },
    // 模态框取消
    cancel() {
      this.showModal = false; // 关闭弹窗
    },
    setNo(val) {
      console.log("11111", val);
      this.registerInfo.moNo = val.moNo;
    },
    //订单号
    seachPersonnelNo() {
      console.log("车间订单号");
      uni.navigateTo({
        url: "/pages/product/report/orderList",
      });
    },
  },
};
</script>
<style lang="scss" scoped>
    .packing-registration-bg {
        background-color: #f6f9ff;
        background-image: url("~@/static/custom/packing/backBg.png");
        padding: 0 20rpx;
        background-attachment: fixed;
        background-size: 100% auto;
        background-repeat: no-repeat;
        position: fixed;
        top: 0;
        bottom: 0;
        width: 100%;
        z-index: -1;
    }
.packing-registration-bg {
  background-color: #f6f9ff;
  background-image: url("~@/static/custom/packing/backBg.png");
  padding: 0 20rpx;
  background-attachment: fixed;
  background-size: 100% auto;
  background-repeat: no-repeat;
  position: fixed;
  top: 0;
  bottom: 0;
  width: 100%;
  z-index: -1;
}
    .packing-registration-param {
        padding: 40rpx 30rpx 10rpx 30rpx;
.packing-registration-param {
  padding: 40rpx 30rpx 10rpx 30rpx;
        .packing-registration-param-title {
            display: flex;
            flex-direction: row;
            align-items: center;
            margin-bottom: 30rpx;
  .packing-registration-param-title {
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-bottom: 30rpx;
            .title-label {
                margin-left: 14rpx;
                font-size: 34rpx;
                font-weight: bold;
                color: #283e65;
            }
        }
    .title-label {
      margin-left: 14rpx;
      font-size: 34rpx;
      font-weight: bold;
      color: #283e65;
    }
  }
        .packing-registration-param-view {
            height: 180rpx;
            background-color: #fff;
            border-radius: 10rpx;
            padding: 0rpx 23rpx;
            margin-bottom: 30rpx;
  .packing-registration-param-view {
    height: 180rpx;
    background-color: #fff;
    border-radius: 10rpx;
    padding: 0rpx 23rpx;
    margin-bottom: 30rpx;
            .packing-registration-param-item {
                height: 90rpx;
                border: 1px solid #adc8e4;
                line-height: 90rpx;
                display: flex;
                justify-content: space-between;
                border: none;
    .packing-registration-param-item {
      height: 90rpx;
      border: 1px solid #adc8e4;
      line-height: 90rpx;
      display: flex;
      justify-content: space-between;
      border: none;
                .packing-registration-param-item-left {
                    .item-one {
                        font-size: 30rpx;
                        color: #666666;
                    }
                }
      .packing-registration-param-item-left {
        .item-one {
          font-size: 30rpx;
          color: #666666;
        }
      }
                .packing-registration-param-item-right {
                    display: flex;
                    justify-content: space-between;
      .packing-registration-param-item-right {
        display: flex;
        justify-content: space-between;
                    .item-one {
                        font-size: 30rpx;
                        color: #333333;
                        margin-right: 6rpx;
                    }
        .item-one {
          font-size: 30rpx;
          color: #333333;
          margin-right: 6rpx;
        }
                    .item-two {
                        font-size: 30rpx;
                        color: #a6b4cc;
                        margin-right: 6rpx;
                    }
        .item-two {
          font-size: 30rpx;
          color: #a6b4cc;
          margin-right: 6rpx;
        }
                    .item-three {
                        font-size: 30rpx;
                        color: #214ded;
                        margin-right: 6rpx;
                    }
                }
            }
        .item-three {
          font-size: 30rpx;
          color: #214ded;
          margin-right: 6rpx;
        }
      }
    }
            .param-extra {
                border-bottom: 1px solid #ededed;
            }
        }
    }
    .param-extra {
      border-bottom: 1px solid #ededed;
    }
  }
}
    .wrap .packing-registration-scroll-list {
        height: calc(100vh - var(--window-top) - var(--window-bottom) - 400rpx);
        width: 100%;
    }
.wrap .packing-registration-scroll-list {
  height: calc(100vh - var(--window-top) - var(--window-bottom) - 400rpx);
  width: 100%;
}
    .packing-registration-scroll-list-group {
        ::v-deep .u-cell-item-box {
            background-color: rgba(250, 252, 255, 0.36) !important;
            padding: 0rpx 30rpx;
        }
.packing-registration-scroll-list-group {
  ::v-deep .u-cell-item-box {
    background-color: rgba(250, 252, 255, 0.36) !important;
    padding: 0rpx 30rpx;
  }
        .content {
            font-size: 12px;
            background-color: #ffffff;
            box-sizing: border-box;
            border-radius: 10rpx;
            margin: 0rpx 0rpx 16rpx;
            padding: 20rpx 8rpx;
            box-shadow: none;
            display: flex;
            align-items: center;
  .content {
    font-size: 12px;
    background-color: #ffffff;
    box-sizing: border-box;
    border-radius: 10rpx;
    margin: 0rpx 0rpx 16rpx;
    padding: 20rpx 8rpx;
    box-shadow: none;
    display: flex;
    align-items: center;
            .content-header {
                width: 40rpx;
                height: 90rpx;
                display: flex;
                align-items: center;
    .content-header {
      width: 40rpx;
      height: 90rpx;
      display: flex;
      align-items: center;
                .content-header-icon {
                    background-image: url("~@/static/custom/moveWareHouse/header_icon.png");
                    background-size: 100% auto;
                    background-repeat: no-repeat;
                    height: 28rpx;
                    width: 28rpx;
                }
      .content-header-icon {
        background-image: url("~@/static/custom/moveWareHouse/header_icon.png");
        background-size: 100% auto;
        background-repeat: no-repeat;
        height: 28rpx;
        width: 28rpx;
      }
                .content-header-title {
                    margin-left: 11rpx;
                    font-size: 26rpx;
                    font-weight: bold;
                    color: #626369;
                }
            }
      .content-header-title {
        margin-left: 11rpx;
        font-size: 26rpx;
        font-weight: bold;
        color: #626369;
      }
    }
            .content-body {
                flex: 1;
                background-color: #ffffff;
                border-radius: 10rpx;
                padding: 0rpx 23rpx;
    .content-body {
      flex: 1;
      background-color: #ffffff;
      border-radius: 10rpx;
      padding: 0rpx 23rpx;
                .row-list {
                    height: 60rpx;
                    display: flex;
                    flex-direction: row;
                    padding: 0px;
                    align-items: center;
                }
      .row-list {
        height: 60rpx;
        display: flex;
        flex-direction: row;
        padding: 0px;
        align-items: center;
      }
                .row-list ._label {
                    display: flex;
                    flex: 0.8;
                    color: #909399;
                    align-items: center;
      .row-list ._label {
        display: flex;
        flex: 0.8;
        color: #909399;
        align-items: center;
                    ._label-name {
                        margin-left: 11rpx;
                        font-size: 26rpx;
                        font-weight: 500;
                        color: #666666;
                    }
                }
        ._label-name {
          margin-left: 11rpx;
          font-size: 26rpx;
          font-weight: 500;
          color: #666666;
        }
      }
                .row-list ._content {
                    flex: 1.5;
                    text-align: right;
                    color: #909399;
                    font-size: 24rpx;
                }
      .row-list ._content {
        flex: 1.5;
        text-align: right;
        color: #909399;
        font-size: 24rpx;
      }
                .row-list .s1 {
                    color: #d35651;
                }
            }
        }
    }
      .row-list .s1 {
        color: #d35651;
      }
    }
  }
}
</style>
pages/product/WorkshopOrderIssued/comp.vue
@@ -12,7 +12,7 @@
            <scroll-view class="finishProductIn-locno-scroll-list" scroll-y="true" @scrolltolower="getmoreList()">
                <u-cell-group class="finishProductIn-locno-scroll-list-group" :border="false">
                    <view class="content" v-for="(item, index) in list" :key="item.locNo" :index="index"
                        @click="selectNo(item.index)">
                        @click="selectNo(item)">
                        <view class="content-header">
                            <view class="content-header-title">{{ item.index }}</view>
                        </view>
pages/product/WorkshopOrderIssued/index.vue
@@ -1,384 +1,432 @@
// 车间订单下发
<template>
    <view 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" />
        <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">
                        <text class="item-one item-two" @click="seachPersonnelNo()">{{
  <view 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"
    />
    <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">
            <text class="item-one item-two" @click="seachPersonnelNo()">{{
              registerInfo.moNo == "" ? "点击选择" : registerInfo.moNo
            }}</text>
                        <u-icon name="arrow-right" color="#687792" size="28" @click="seachPersonnelNo()"
                            v-show="registerInfo.moNo == ''"></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">
                        <text class="item-one item-two" @click="seachComp()">{{
            <u-icon
              name="arrow-right"
              color="#687792"
              size="28"
              @click="seachPersonnelNo()"
              v-show="registerInfo.moNo == ''"
            ></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">
            <text class="item-one item-two" @click="seachComp()">{{
              registerInfo.value2 == "" ? "点击选择" : registerInfo.value2
            }}</text>
                        <u-icon name="arrow-right" color="#687792" size="28" @click="seachComp()"
                            v-show="registerInfo.value2 == ''"></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">
                        <text class="item-one item-two">{{ registerInfo.value3 }}</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>
            </view>
        </view>
        <view class="wrap">
            <scroll-view class="packing-registration-scroll-list" scroll-y="true">
                <u-cell-group class="packing-registration-scroll-list-group" :border="false">
                    <!-- <div class="tip" style="text-align: center;" v-if="hasScanSnList.length==0">-请扫码-</div> -->
                    <view class="content" v-for="(item, index) in hasScanSnList" :key="index" :index="index">
                        <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.value0 }}
                                </view>
                            </view>
                            <view class="row-list">
                                <view class="_label">
                                    <view class="_label-name">下发数量:</view>
                                </view>
                                <view class="_content">
                                    {{ item.value1 }}
                                </view>
                            </view>
                        </view>
                    </view>
                </u-cell-group>
            </scroll-view>
            <scan></scan>
        </view>
        <u-modal v-model="showModal" title="" :show-cancel-button="true" :show-confirm-button="true" @confirm="confirm"
            @cancel="cancel">
            <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">
                                <text class="item-one item-two">{{ modalList.value }}</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">
                                <u-input class="item-one item-two" v-model="modalList.value1" />
                            </view>
                        </view>
                    </view>
                </view>
            </view>
        </u-modal>
    </view>
            <u-icon
              name="arrow-right"
              color="#687792"
              size="28"
              @click="seachComp()"
              v-show="registerInfo.value2 == ''"
            ></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">
            <text class="item-one item-two">{{ registerInfo.value3 }}</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>
      </view>
    </view>
    <view class="wrap">
      <scroll-view class="packing-registration-scroll-list" scroll-y="true">
        <u-cell-group
          class="packing-registration-scroll-list-group"
          :border="false"
        >
          <!-- <div class="tip" style="text-align: center;" v-if="hasScanSnList.length==0">-请扫码-</div> -->
          <view
            class="content"
            v-for="(item, index) in hasScanSnList"
            :key="index"
            :index="index"
          >
            <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.value0 }}
                </view>
              </view>
              <view class="row-list">
                <view class="_label">
                  <view class="_label-name">下发数量:</view>
                </view>
                <view class="_content">
                  {{ item.value1 }}
                </view>
              </view>
            </view>
          </view>
        </u-cell-group>
      </scroll-view>
      <scan></scan>
    </view>
    <u-modal
      v-model="showModal"
      title=""
      :show-cancel-button="true"
      :show-confirm-button="true"
      @confirm="confirm"
      @cancel="cancel"
    >
      <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">
                <text class="item-one item-two">{{ modalList.moNO }}</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">
                <u-input class="item-one item-two" v-model="modalList.value1" />
              </view>
            </view>
          </view>
        </view>
      </view>
    </u-modal>
  </view>
</template>
<script>
    import scan from "@/components/scan/scan.vue";
    import content_bg from "@/static/custom/packing/backBg.png";
    export default {
        components: {
            scan,
        },
import scan from "@/components/scan/scan.vue";
import content_bg from "@/static/custom/packing/backBg.png";
export default {
  components: {
    scan,
  },
        data() {
            return {
                background: {
                    backgroundImage: `url(${content_bg})`,
                    backgroundAttachment: "fixed",
                    backgroundSize: "100% auto",
                    backgroundRepeat: "no-repeat",
                },
                labelStyle: {
                    fontSize: "32rpx",
                    whiteSpace: "nowrap",
                },
                // 弹窗列表
                modalList: {
                    value: "",
                    value1: "",
                },
                //   主页面列表
                registerInfo: {
                    moNo: "",
                    value2: "",
                    value3: "",
                },
                //   下发记录列表
                hasScanSnList: [],
            };
        },
        onShow() {
            let that = this;
            uni.$off("scan"); // 每次进来先 移除全局自定义事件监听器
            if ((registerInfo.moNO = null)) {
                uni.showToast({
                    icon: "none",
                    title: "请先选择子件!",
                    duration: 2 * 1000,
                });
                return;
            }
            uni.$on("scan", function(data) {
                console.log("onscan");
                //扫码成功后的回调,你可以写自己的逻辑代码在这里
                console.log("扫码结果:", data.code);
                that.scanHandle(data.code);
                that.$forceUpdate();
            });
        },
        methods: {
            // 点击确认后获取下发记录
            confirm() {
                // 处理确认逻辑
                this.showModal = false;
                this.$u.api.workReporting
                ._({}).then((res) => {
                    console.log("res", res);
                    this.hasScanSnList = res.data.records;
                });
            },
            // 模态框取消
            cancel() {
                this.showModal = false; // 关闭弹窗
            },
            // 子件回显
            compNo(val) {
                this.registerInfo.value2 = val.value2;
                this.registerInfo.value3 = val.value2;
            },
            // 订单号回显
            setNo(val) {
                console.log("11111", val);
                this.registerInfo.moNo = val.moNo;
                this.registerInfo.value2 = val.value2;
            },
            //订单号
            seachPersonnelNo() {
                console.log("车间订单号");
                uni.navigateTo({
                    url: "/pages/product/report/orderList",
                });
            },
            //子件
            seachComp() {
                if (this.registerInfo.value1 == null || this.registerInfo.value1 == "") {
                    this.$u.toast("请选择订单号");
                    return;
                }
                console.log("子件");
                uni.navigateTo({
                    url: "/pages/product/WorkshopOrderIssued/comp",
                });
            },
            // 扫码后数据回显
            scanHandle(scanresult) {
                this.$u.api.workReporting
                ._({}).then((res) => {
                    this.modalList = res.data.records;
                    this.showModal = true;
                });
            },
        },
    };
  data() {
    return {
      background: {
        backgroundImage: `url(${content_bg})`,
        backgroundAttachment: "fixed",
        backgroundSize: "100% auto",
        backgroundRepeat: "no-repeat",
      },
      labelStyle: {
        fontSize: "32rpx",
        whiteSpace: "nowrap",
      },
      // 弹窗列表
      modalList: {
        partNo: "",
        moNo: "",
      },
      //   主页面列表
      registerInfo: {
        moNo: "",
        value2: "",
        value3: "",
      },
      //   下发记录列表
      hasScanSnList: [],
      codeInfoId: "",
    };
  },
  onShow() {
    let that = this;
    uni.$off("scan"); // 每次进来先 移除全局自定义事件监听器
    if (registerInfo.moNO == null) {
      uni.showToast({
        icon: "none",
        title: "请先选择子件!",
        duration: 2 * 1000,
      });
      return;
    }
    uni.$on("scan", function (data) {
      console.log("onscan");
      if (data.code) {
        let codeInfo = JSON.parse(data.code);
        this.codeInfoId = codeInfo.id;
        if (codeInfo.moOn) {
          // 扫描报工单二维码
          that.scanHandle(data.code);
          that.$forceUpdate();
          that.getHandelList();
        }
      }
      //扫码成功后的回调,你可以写自己的逻辑代码在这里
      console.log("扫码结果:", data.code);
    });
  },
  methods: {
    getHandelList() {
      this.$u.api.workReporting
        .getProductMainV1({
          current: 1,
          size: -1,
          id: this.codeInfoId,
        })
        .then((res) => {
          this.hasScanSnList = res.data.productOutputList;
        });
    },
    // 点击确认后获取下发记录
    confirm() {
      // 处理确认逻辑
      this.$u.api.workReporting._(this.modalList).then((res) => {
          console.log("res", res);
      this.showModal = false;
             this.getHandelList();
      });
    },
    // 模态框取消
    cancel() {
      this.showModal = false; // 关闭弹窗
    },
    // 子件回显
    compNo(val) {
      this.registerInfo.value2 = val.value2;
      this.registerInfo.value3 = val.value2;
    },
    // 订单号回显
    setNo(val) {
      console.log("11111", val);
      this.registerInfo.moNo = val.moNo;
      this.registerInfo.value2 = val.value2;
    },
    //订单号
    seachPersonnelNo() {
      console.log("车间订单号");
      uni.navigateTo({
        url: "/pages/product/report/orderList",
      });
    },
    //子件
    seachComp() {
      if (this.registerInfo.moNO == null) {
        this.$u.toast("请选择订单号");
        return;
      }
      console.log("子件");
      uni.navigateTo({
        url: "/pages/product/WorkshopOrderIssued/comp",
      });
    },
    // 扫码后数据回显
    scanHandle(val) {
      let { moNo } = val;
      this.modalList.moNo = moNo;
      this.showModal = true;
    },
  },
};
</script>
<style lang="scss" scoped>
    .packing-registration-bg {
        background-color: #f6f9ff;
        background-image: url("~@/static/custom/packing/backBg.png");
        padding: 0 20rpx;
        background-attachment: fixed;
        background-size: 100% auto;
        background-repeat: no-repeat;
        position: fixed;
        top: 0;
        bottom: 0;
        width: 100%;
        z-index: -1;
    }
.packing-registration-bg {
  background-color: #f6f9ff;
  background-image: url("~@/static/custom/packing/backBg.png");
  padding: 0 20rpx;
  background-attachment: fixed;
  background-size: 100% auto;
  background-repeat: no-repeat;
  position: fixed;
  top: 0;
  bottom: 0;
  width: 100%;
  z-index: -1;
}
    .packing-registration-param {
        padding: 40rpx 30rpx 10rpx 30rpx;
.packing-registration-param {
  padding: 40rpx 30rpx 10rpx 30rpx;
        .packing-registration-param-title {
            display: flex;
            flex-direction: row;
            align-items: center;
            margin-bottom: 30rpx;
  .packing-registration-param-title {
    display: flex;
    flex-direction: row;
    align-items: center;
    margin-bottom: 30rpx;
            .title-label {
                margin-left: 14rpx;
                font-size: 34rpx;
                font-weight: bold;
                color: #283e65;
            }
        }
    .title-label {
      margin-left: 14rpx;
      font-size: 34rpx;
      font-weight: bold;
      color: #283e65;
    }
  }
        .packing-registration-param-view {
            height: 345rpx;
            background-color: #fff;
            border-radius: 10rpx;
            padding: 0rpx 23rpx;
            margin-bottom: 30rpx;
  .packing-registration-param-view {
    height: 345rpx;
    background-color: #fff;
    border-radius: 10rpx;
    padding: 0rpx 23rpx;
    margin-bottom: 30rpx;
            .packing-registration-param-item {
                height: 90rpx;
                border: 1px solid #adc8e4;
                line-height: 90rpx;
                display: flex;
                justify-content: space-between;
                border: none;
    .packing-registration-param-item {
      height: 90rpx;
      border: 1px solid #adc8e4;
      line-height: 90rpx;
      display: flex;
      justify-content: space-between;
      border: none;
                .packing-registration-param-item-left {
                    .item-one {
                        font-size: 30rpx;
                        color: #666666;
                    }
                }
      .packing-registration-param-item-left {
        .item-one {
          font-size: 30rpx;
          color: #666666;
        }
      }
                .packing-registration-param-item-right {
                    display: flex;
                    justify-content: space-between;
      .packing-registration-param-item-right {
        display: flex;
        justify-content: space-between;
                    .item-one {
                        font-size: 30rpx;
                        color: #333333;
                        margin-right: 6rpx;
                    }
        .item-one {
          font-size: 30rpx;
          color: #333333;
          margin-right: 6rpx;
        }
                    .item-two {
                        font-size: 30rpx;
                        color: #a6b4cc;
                        margin-right: 6rpx;
                    }
        .item-two {
          font-size: 30rpx;
          color: #a6b4cc;
          margin-right: 6rpx;
        }
                    .item-three {
                        font-size: 30rpx;
                        color: #214ded;
                        margin-right: 6rpx;
                    }
                }
            }
        .item-three {
          font-size: 30rpx;
          color: #214ded;
          margin-right: 6rpx;
        }
      }
    }
            .param-extra {
                border-bottom: 1px solid #ededed;
            }
        }
    }
    .param-extra {
      border-bottom: 1px solid #ededed;
    }
  }
}
    .wrap .packing-registration-scroll-list {
        height: calc(100vh - var(--window-top) - var(--window-bottom) - 550rpx);
        width: 100%;
    }
.wrap .packing-registration-scroll-list {
  height: calc(100vh - var(--window-top) - var(--window-bottom) - 550rpx);
  width: 100%;
}
    .packing-registration-scroll-list-group {
        ::v-deep .u-cell-item-box {
            background-color: rgba(250, 252, 255, 0.36) !important;
            padding: 0rpx 30rpx;
        }
.packing-registration-scroll-list-group {
  ::v-deep .u-cell-item-box {
    background-color: rgba(250, 252, 255, 0.36) !important;
    padding: 0rpx 30rpx;
  }
        .content {
            font-size: 12px;
            background-color: #ffffff;
            box-sizing: border-box;
            border-radius: 10rpx;
            margin: 0rpx 0rpx 16rpx;
            padding: 20rpx 8rpx;
            box-shadow: none;
            display: flex;
            align-items: center;
  .content {
    font-size: 12px;
    background-color: #ffffff;
    box-sizing: border-box;
    border-radius: 10rpx;
    margin: 0rpx 0rpx 16rpx;
    padding: 20rpx 8rpx;
    box-shadow: none;
    display: flex;
    align-items: center;
            .content-header {
                width: 40rpx;
                height: 90rpx;
                display: flex;
                align-items: center;
    .content-header {
      width: 40rpx;
      height: 90rpx;
      display: flex;
      align-items: center;
                .content-header-icon {
                    background-image: url("~@/static/custom/moveWareHouse/header_icon.png");
                    background-size: 100% auto;
                    background-repeat: no-repeat;
                    height: 28rpx;
                    width: 28rpx;
                }
      .content-header-icon {
        background-image: url("~@/static/custom/moveWareHouse/header_icon.png");
        background-size: 100% auto;
        background-repeat: no-repeat;
        height: 28rpx;
        width: 28rpx;
      }
                .content-header-title {
                    margin-left: 11rpx;
                    font-size: 26rpx;
                    font-weight: bold;
                    color: #626369;
                }
            }
      .content-header-title {
        margin-left: 11rpx;
        font-size: 26rpx;
        font-weight: bold;
        color: #626369;
      }
    }
            .content-body {
                flex: 1;
                background-color: #ffffff;
                border-radius: 10rpx;
                padding: 0rpx 23rpx;
    .content-body {
      flex: 1;
      background-color: #ffffff;
      border-radius: 10rpx;
      padding: 0rpx 23rpx;
                .row-list {
                    height: 60rpx;
                    display: flex;
                    flex-direction: row;
                    padding: 0px;
                    align-items: center;
                }
      .row-list {
        height: 60rpx;
        display: flex;
        flex-direction: row;
        padding: 0px;
        align-items: center;
      }
                .row-list ._label {
                    display: flex;
                    flex: 0.8;
                    color: #909399;
                    align-items: center;
      .row-list ._label {
        display: flex;
        flex: 0.8;
        color: #909399;
        align-items: center;
                    ._label-name {
                        margin-left: 11rpx;
                        font-size: 26rpx;
                        font-weight: 500;
                        color: #666666;
                    }
                }
        ._label-name {
          margin-left: 11rpx;
          font-size: 26rpx;
          font-weight: 500;
          color: #666666;
        }
      }
                .row-list ._content {
                    flex: 1.5;
                    text-align: right;
                    color: #909399;
                    font-size: 24rpx;
                }
      .row-list ._content {
        flex: 1.5;
        text-align: right;
        color: #909399;
        font-size: 24rpx;
      }
                .row-list .s1 {
                    color: #d35651;
                }
            }
        }
    }
      .row-list .s1 {
        color: #d35651;
      }
    }
  }
}
</style>
pages/product/cancelReport/index.vue
@@ -101,7 +101,7 @@
                <text class="item-one">批号</text>
              </view>
              <view class="packing-registration-param-item-right">
                <text class="item-one item-two">{{ detailedList.value1 }}</text>
                <text class="item-one item-two">{{ detailedList.moNo }}</text>
              </view>
            </view>
            <view class="packing-registration-param-item param-extra">
@@ -109,7 +109,7 @@
                <text class="item-one">零件号</text>
              </view>
              <view class="packing-registration-param-item-right">
                <text class="item-one item-two">{{ detailedList.value2 }}</text>
                <text class="item-one item-two">{{ detailedList.partNo }}</text>
              </view>
            </view>
            <view class="packing-registration-param-item param-extra">
@@ -117,7 +117,9 @@
                <text class="item-one">零件描述</text>
              </view>
              <view class="packing-registration-param-item-right">
                <text class="item-one item-two">{{ detailedList.value3 }}</text>
                <text class="item-one item-two">{{
                  detailedList.partName
                }}</text>
              </view>
            </view>
            <view class="packing-registration-param-item param-extra">
@@ -127,7 +129,7 @@
              <view class="packing-registration-param-item-right">
                <u-input
                  class="item-one item-two"
                  v-model="detailedList.value4"
                  v-model="detailedList.qtyRequired"
                />
              </view>
            </view>
@@ -159,10 +161,10 @@
        moNo: "",
      },
      detailedList: {
        value1: "",
        value2: "",
        value3: "",
        value4: "",
        moNo: "",
        partNo: "",
        partName: "",
        qtyRequired: "",
      },
      list: [
        {
@@ -182,18 +184,10 @@
  onShow() {
    let that = this;
    uni.$off("scan"); // 每次进来先 移除全局自定义事件监听器
    if ((that.form.moNO = null)) {
    if ((that.form.moNO == null)) {
      uni.showToast({
        icon: "none",
        title: "请先选择订单号!",
        duration: 2 * 1000,
      });
      return;
    }
    if ((that.form.moNO = null)) {
      uni.showToast({
        icon: "none",
        title: "扫描的二维码与该订单不一致",
        duration: 2 * 1000,
      });
      return;
@@ -204,8 +198,15 @@
      console.log("页面扫码结果:", data.code);
      if (data.code) {
        let codeInfo = JSON.parse(data.code);
        if (codeInfo.WorkNo) {
          (this.detailedList = {}),
        if (codeInfo.moNO) {
        if ((that.form.moNO != codeInfo.moNO)) {
          uni.showToast({
            icon: "none",
            title: "扫描的二维码与该订单不一致",
            duration: 2 * 1000,
          });
          return;
        }
            // 扫描报工单二维码
            that.saveForm(codeInfo);
        }
@@ -235,10 +236,10 @@
    },
    // 回显扫码的信息-报工单
    saveForm(val) {
      let { WorkNo, ProcessName, ORDER_NO } = val;
      this.detailedList.value1 = WorkNo;
      this.detailedList.value2 = ProcessName;
      this.detailedList.value3 = ORDER_NO;
      let { moNo, partNo, partName } = val;
      this.detailedList.moNo = moNo;
      this.detailedList.partNo = partNo;
      this.detailedList.partName = partName;
      this.showModal = true;
    },
  },
pages/product/report/components/saveForm.vue
@@ -100,7 +100,10 @@
              <text class="item-one item-two">生产速度</text>
            </view>
            <view class="packing-registration-param-item-right">
              <u-input class="item-one item-two" v-model="form.productionSpeed" />
              <u-input
                class="item-one item-two"
                v-model="form.productionSpeed"
              />
            </view>
          </view>
        </view>
@@ -151,15 +154,15 @@
        this.$refs.uModal.clearLoading(); // 清除加载状态
        return;
      }
      this.operationTaskList.operationTaskId = this.operationTaskList.id
      this.form.operationTaskId = this.operationTaskList.id
      this.operationTaskList.productOutputList = []; // 创建一个空数组
      this.operationTaskList.productOutputList.push(this.form); // 向数组中添加元素
      console.log('this.operationTaskList',this.operationTaskList)
      this.operationTaskList.operationTaskId = this.operationTaskList.id;
      this.form.operationTaskId = this.operationTaskList.id;
      this.operationTaskList.productOutputList = []; // 创建一个空数组
      this.operationTaskList.productOutputList.push(this.form); // 向数组中添加元素
      console.log("this.operationTaskList", this.operationTaskList);
      this.$u.api.workReporting
        .submitPDA(this.operationTaskList)
        .then((res) => {
          this.$emit('update')
          this.$emit("update");
          this.$refs.uModal.cancel();
        });
    },
@@ -169,7 +172,7 @@
    },
    open(val) {
      this.show = true;
       this.form = val.data;
      this.form = val.data;
    },
  },
};
pages/product/report/index.vue
@@ -74,13 +74,13 @@
          <u-radio name="投料">投料</u-radio>
        </u-radio-group>
      </u-form-item>
      <u-form-item label="工序" prop="value1">
      <u-form-item label="工序">
        <u-checkbox-group>
          <u-checkbox
            :name="item.name"
            v-for="(item, index) in checkboxList"
            :key="index"
            v-model="item.value1"
            v-model="item.value"
            @change="changeCheckbox"
            :disabled="subdisabled || item.disabled"
          >
@@ -243,6 +243,7 @@
      showSave: false,
      operationTaskId: "",
      subdisabled: false,
      codeInfoId: "",
    };
  },
  // 点击提交按钮的事件处理函数
@@ -278,18 +279,11 @@
      //扫码成功后的回调,你可以写自己的逻辑代码在这里
      if (data.code) {
        let codeInfo = JSON.parse(data.code);
        that.codeInfoId = codeInfo.id;
        if (codeInfo.moOn) {
          // 扫描报工单二维码
          that.saveForm(codeInfo);
          that.$u.api.workReporting
            .getProductMainV1({
              current: 1,
              size: -1,
              id: codeInfo.id,
            })
            .then((res) => {
              that.InventoryReceiptList = res.data.productOutputList;
            });
          that.getHandelList();
        }
      }
    });
@@ -297,9 +291,22 @@
  watch: {
    "form.taskNo": function (newVal, oldVal) {
      this.subdisabled = false;
      this.checkboxList[1].value = false;
      this.checkboxList[0].value = false;
    },
  },
  methods: {
    getHandelList() {
      this.$u.api.workReporting
        .getProductMainV1({
          current: 1,
          size: -1,
          id: this.codeInfoId,
        })
        .then((res) => {
          this.InventoryReceiptList = res.data.productOutputList;
        });
    },
    // 多选处理
    changeCheckbox(val) {
      if (val.name === "工序的自动报告") {
@@ -311,6 +318,7 @@
    },
    handleUpdate() {
      this.subdisabled = true;
      this.getHandelList();
    },
    // 打开弹框--后面还需要监听扫码枪扫码结果,赋值给报工单号字段,然后打开弹框选择订单号等操作
    open() {
@@ -355,6 +363,8 @@
        autoReport: false,
        simplifyMaterials: false,
      };
      this.checkboxList[1].value = false;
      this.checkboxList[0].value = false;
      if (this.form.materialcost == "倒冲") {
        this.checkboxList[1].disabled = true;
      }
pages/wareHouse/moveWareHouse/index.vue
@@ -10,8 +10,11 @@
                        <text class="item-one">库位</text>
                    </view>
                    <view class="packing-registration-param-item-right">
                        <text
                            class="item-one item-two">{{ registerInfo.storageLocation == '' ? "请扫描库位" : registerInfo.storageLocation }}</text>
                        <text class="item-one item-two">{{
              registerInfo.proposedLocation == ""
                ? "请扫描库位"
                : registerInfo.proposedLocation
            }}</text>
                    </view>
                </view>
                <view class="packing-registration-param-item param-extra">
@@ -26,7 +29,6 @@
        <view class="wrap">
            <scroll-view class="packing-registration-scroll-list" scroll-y="true">
                <u-cell-group class="packing-registration-scroll-list-group" :border="false">
                    <!-- <div class="tip" style="text-align: center;" v-if="hasScanSnList.length==0">-请扫码-</div> -->
                    <view class="content" v-for="(item, index) in hasScanSnList" :key="index" :index="index">
                        <view class="content-header">
                            <view class="content-header-title">{{ index + 1 }}</view>
@@ -37,7 +39,7 @@
                                    <view class="_label-name">零件号:</view>
                                </view>
                                <view class="_content">
                                    {{ item.value0 }}
                                    {{ item.partNo }}
                                </view>
                            </view>
                            <view class="row-list">
@@ -45,7 +47,7 @@
                                    <view class="_label-name">批次号:</view>
                                </view>
                                <view class="_content">
                                    {{ item.value1 }}
                                    {{ item.moNo }}
                                </view>
                            </view>
                            <view class="row-list">
@@ -53,7 +55,7 @@
                                    <view class="_label-name">库位号:</view>
                                </view>
                                <view class="_content">
                                    {{ item.value0 }}
                                    {{ item.proposedLocation }}
                                </view>
                            </view>
                            <view class="row-list">
@@ -79,7 +81,7 @@
                                <text class="item-one">批号</text>
                            </view>
                            <view class="packing-registration-param-item-right">
                                <text class="item-one item-two">{{ 111 }}</text>
                                <text class="item-one item-two">{{ detailedList.moNo }}</text>
                            </view>
                        </view>
                        <view class="packing-registration-param-item param-extra">
@@ -87,7 +89,9 @@
                                <text class="item-one">零件描述</text>
                            </view>
                            <view class="packing-registration-param-item-right">
                                <text class="item-one item-two">{{ 111 }}</text>
                                <text class="item-one item-two">{{
                  detailedList.partName
                }}</text>
                            </view>
                        </view>
                        <view class="packing-registration-param-item param-extra">
@@ -95,7 +99,7 @@
                                <text class="item-one">WDR</text>
                            </view>
                            <view class="packing-registration-param-item-right">
                                <text class="item-one item-two">{{ 111 }}</text>
                                <text class="item-one item-two">{{ detailedList.WDR }}</text>
                            </view>
                        </view>
                        <view class="packing-registration-param-item param-extra">
@@ -111,7 +115,9 @@
                                <text class="item-one">当前库位</text>
                            </view>
                            <view class="packing-registration-param-item-right">
                                <text class="item-one item-two">{{ 111 }}</text>
                                <text class="item-one item-two">{{
                  detailedList.proposedLocation
                }}</text>
                            </view>
                        </view>
                    </view>
@@ -141,38 +147,15 @@
                    storageLocation: "",
                    num: 0,
                },
                showModal: true, // 控制弹窗显示隐藏的变量
                hasScanSnList: [{
                        value0: "11111111111111111111111",
                        value1: "111",
                        value2: "111",
                        value3: "111",
                    },
                    {
                        value0: "111",
                        value1: "111",
                        value2: "111",
                        value3: "111",
                    },
                    {
                        value0: "111",
                        value1: "111",
                        value2: "111",
                        value3: "111",
                    },
                    {
                        value0: "111",
                        value1: "111",
                        value2: "111",
                        value3: "111",
                    },
                    {
                        value0: "111",
                        value1: "111",
                        value2: "111",
                        value3: "111",
                    },
                ],
                showModal: false, // 控制弹窗显示隐藏的变量
                hasScanSnList: [],
                detailedList: {
                    moNo: "",
                    partNo: "",
                    proposedLocation: "",
                    WDR: "",
                },
                codeInfoId: '',
            };
        },
        onLoad() {},
@@ -186,19 +169,33 @@
                if (data.code) {
                    let codeInfo = JSON.parse(data.code);
                    // 扫描报工单二维码
                    that.saveForm(codeInfo);
                    // 判断扫描的是库位码还是流转码
                    if (codeInfo.LN) {
                        that.saveForm(codeInfo)
                    } else {
                        that.codeInfoId = codeInfo.id
                        that.saveModalForm(codeInfo)
                        that.getHandelList();
                    }
                }
            });
        },
        methods: {
            getHandelList() {
                this.$u.api.workReporting
                    .getProductMainV1({
                        current: 1,
                        size: -1,
                        id: this.codeInfoId,
                    })
                    .then((res) => {
                        this.hasScanSnList = res.data.productOutputList;
                    });
            },
            confirm() {
                // 处理确认逻辑
                this.show = false;
            },
            cancel() {
                this.show = false; // 关闭弹窗
                // 点击确认移库
                if (_) {
                if (true) {
                    uni.showToast({
                        icon: "none",
                        title: "你无法将零件移到相同位置",
@@ -206,20 +203,24 @@
                    });
                    return
                }
                this.$u.api.workReporting._({}).then((res) => {
                    console.log("res", res);
                    this.hasScanSnList = res.data.records;
                });
                this.getHandelList()
                this.show = false;
            },
            // 回显扫码的信息-报工单
            cancel() {
                this.show = false; // 关闭弹窗
            },
            // 回显扫码的信息
            saveForm(val) {
                // 判断扫描的是库位码还是流转码
                if (_) {
                    this.registerInfo.storageLocation = val.storageLocation
                }
                if (_) {
                this.registerInfo.proposedLocation = val.LN
            }
            saveModalForm(val) {
                this.detailedList: {
                        moNo: val.moNo,
                        partNo: val.partNo,
                        proposedLocation: val.proposedLocation,
                        WDR: val.WDR,
                    },
                    this.show = true;
                }
            }
        },
    };