yyb
2 天以前 7834dfe8a172d488febe576bb5ff66655becef81
取消领料和领料菜单页面逻辑编写
已修改3个文件
1322 ■■■■ 文件已修改
pages/storeManagement/CancelMaterialRequisition/index.vue 646 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/storeManagement/MaterialRequisition/index.vue 646 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/sys/home/index.vue 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
pages/storeManagement/CancelMaterialRequisition/index.vue
@@ -1,349 +1,355 @@
// 取消领料
<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="textST">
                        <text >取消领料记录:</text>
                    </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">WDR:</view>
                                </view>
                                <view class="_content">
                                    {{ item.value4 }}
                                </view>
                            </view>
                            <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>
    </view>
  <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="textST">
      <text>取消领料记录:</text>
    </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.BN }}
                </view>
              </view>
              <view class="row-list">
                <view class="_label">
                  <view class="_label-name">品牌:</view>
                </view>
                <view class="_content">
                  {{ item.BR }}
                </view>
              </view>
              <view class="row-list">
                <view class="_label">
                  <view class="_label-name">净重:</view>
                </view>
                <view class="_content">
                  {{ item.NW }}
                </view>
              </view>
            </view>
          </view>
        </u-cell-group>
      </scroll-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">{{
                    detailedList.BN
                  }}</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">{{
                    detailedList.BR
                  }}</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">{{
                    detailedList.NW
                  }}</text>
                </view>
              </view>
            </view>
          </view>
        </view>
      </u-modal>
      <scan></scan>
    </view>
  </view>
</template>
<script>
import scan from "@/components/scan/scan.vue";
import content_bg from '@/static/custom/packing/backBg.png'
import content_bg from "@/static/custom/packing/backBg.png";
export default {
    components: {
        scan,
    },
    data() {
        return {
            background: {
                backgroundImage: `url(${content_bg})`,
                backgroundAttachment: 'fixed',
                backgroundSize: '100% auto',
                backgroundRepeat: 'no-repeat',
            },
            labelStyle: {
                fontSize: '32rpx',
                whiteSpace: 'nowrap'
            },
            hasScanSnList: [{
                value0: '11111111111111111111111',
                value1: '111',
                value2: '111',
                value3: '111',
                value4: '111',
            },
            {
                value0: '111',
                value1: '111',
                value2: '111',
                value3: '111',
                value4: '111',
            },
            {
                value0: '111',
                value1: '111',
                value2: '111',
                value3: '111',
                value4: '111',
            },
            {
                value0: '111',
                value1: '111',
                value2: '111',
                value3: '111',
                value4: '111',
            },
            ],
            delContent: null,
            staffList: [],
        };
    },
    onLoad(option) { },
    onShow() {
        let that = this
        uni.$off('scan') // 每次进来先 移除全局自定义事件监听器
        uni.$on('scan', function (data) {
            console.log('onscan');
            //扫码成功后的回调,你可以写自己的逻辑代码在这里
            console.log('扫码结果:', data.code);
            that.scanHandle(data.code)
            that.$forceUpdate();
        })
    },
    onNavigationBarButtonTap() {
        this.goScan()
    },
    onReady() { },
    methods: {
        setNo(val) {
            console.log('11111', val)
            this.registerInfo.value1 = val.value1
            this.registerInfo.value2 = val.value2
        },
        //盘点报告号
        seachPersonnelNo() {
            console.log('11111')
            uni.navigateTo({
                url: '/pages/wareHouse/inventory/orderList'
            })
        },
        goScan() {
            uni.scanCode({
                scanType: ['qrCode'],
                success: res => {
                    try {
                        console.log('扫码结果:', res);
                        this.scanHandle(res.result)
                    } catch (e) { }
                }
            });
        },
        scanHandle(scanresult) {
            scanresult = scanresult.replace(/[\r\n]/g, "")
            if (scanresult.indexOf('{') > -1) {
                //二维码
                const result = JSON.parse(scanresult)
                //增加SN校验
                if (result.sn_no && result.sn_no != null && result.sn_no != '') {
                    if (this.hasScanSnList.length > 0) {
                        let hasScanSnIndex = this.hasScanSnList.indexOf(result.sn_no)
                        if (hasScanSnIndex < 0) {
                            this.hasScanSnList.push(result.sn_no)
                        } else {
                            this.$u.toast('请勿重复扫描')
                        }
                    } else {
                        this.hasScanSnList.push(result.sn_no)
                    }
                }
            } else {
                //增加SN校验
                if (this.hasScanSnList.length > 0) {
                    let hasScanSnIndex = this.hasScanSnList.indexOf(scanresult)
                    if (hasScanSnIndex < 0) {
                        this.hasScanSnList.push(scanresult)
                    } else {
                        this.$u.toast('请勿重复扫描')
                    }
                } else {
                    this.hasScanSnList.push(scanresult)
                }
            }
        },
        goSubmit() {
            // if (this.registerInfo.shiftId == null || this.registerInfo.shiftId == '') {
            //     this.$u.toast('请选择班次')
            //     return
            // }
            // if (this.registerInfo.value3 == null || this.registerInfo.value3 == '') {
            //     this.$u.toast('请选择日期')
            //     return
            // }
            // if (this.registerInfo.locNo == null || this.registerInfo.locNo == '') {
            //     this.$u.toast('请选择包装库位')
            //     return
            // }
            // if (this.hasScanSnList.length == 0) {
            //     this.$u.toast('无待提交的SN号明细')
            //     return
            // }
            // let registrList = []
            // this.staffList = []
            // this.staffNameList.forEach((item) => {
            //     this.staffList.push({
            //         staffId: item.id
            //     })
            // })
            // this.hasScanSnList.forEach((item) => {
            //     registrList.push({
            //         shiftId: this.registerInfo.shiftId,
            //         value3: this.registerInfo.value3,
            //         locNo: this.registerInfo.locNo,
            //         partBatchNo: item,
            //         staffList: this.staffList
            //     })
            // })
            // this.$u.api.pigxPacking.addPackageRegister(registrList).then(res => {
            //     let resData = res.data
            //     this.hasScanSnList = []
            //     this.$u.toast('提交成功')
            // }).catch((e) => {
            // })
        },
    }
  components: {
    scan,
  },
  data() {
    return {
      background: {
        backgroundImage: `url(${content_bg})`,
        backgroundAttachment: "fixed",
        backgroundSize: "100% auto",
        backgroundRepeat: "no-repeat",
      },
      labelStyle: {
        fontSize: "32rpx",
        whiteSpace: "nowrap",
      },
      hasScanSnList: [],
        showModal: false, // 控制弹窗显示隐藏的变量
      detailedList: {},
    };
  },
  onLoad(option) {},
  onShow() {
    let that = this;
    uni.$off("scan"); // 每次进来先 移除全局自定义事件监听器
      uni.$on("scan", function (data) {
        this.detailedList = {},
      console.log("onscan");
      //扫码成功后的回调,你可以写自己的逻辑代码在这里
      console.log("页面扫码结果:", data.code);
      if (data.code) {
        let codeInfo = JSON.parse(data.code);
        // 扫描报工单二维码
        if (codeInfo) {
          that.saveForm(codeInfo);
        }
      }
    });
  },
  methods: {
        // 回显扫码的信息
    saveForm(val) {
        this.detailedList = val;
        this.showModal = true;
      },
    confirm() {
    //   // 处理确认逻辑
    //   this.$u.api.shiftingParking
    //     .hasScanSn({
    //       ...this.detailedList,
    //     })
    //     .then((res) => {
    //       this.hasScanSnList.push(this.detailedList);
    //       console.log("记录", this.hasScanSnList);
    //       this.$u.toast("取消领料成功");
        //     });
          this.hasScanSnList.push(this.detailedList);
    },
  },
};
</script>
<style lang="scss" scoped>
.textST {
    font-size: 14px;
    margin:0 0 13px 13px;
.packing-registration-param {
  padding: 40rpx 30rpx 10rpx 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;
    }
  }
  .packing-registration-param-view {
    height: 177rpx;
    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-left {
        .item-one {
          font-size: 30rpx;
          color: #666666;
        }
      }
      .packing-registration-param-item-right {
        display: flex;
        justify-content: space-between;
        .item-one {
          font-size: 30rpx;
          color: #333333;
          margin-right: 6rpx;
        }
        .item-two {
          font-size: 30rpx;
          color: #a6b4cc;
          margin-right: 6rpx;
        }
        .item-three {
          font-size: 30rpx;
          color: #214ded;
          margin-right: 6rpx;
        }
      }
    }
    .param-extra {
      border-bottom: 1px solid #ededed;
    }
  }
}
.popup-content {
  width: 600rpx;
  height: 305rpx;
  background-color: #fff;
  border-radius: 8px;
  z-index: 10;
  /* 确保内容在蒙版之上 */
}
.textST {
  font-size: 14px;
  margin: 0 0 13px 13px;
}
.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;
  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;
}
.wrap .packing-registration-scroll-list {
    height: calc(100vh - var(--window-top) - var(--window-bottom) - 250rpx);
    width: 100%;
  height: calc(100vh - var(--window-top) - var(--window-bottom) - 250rpx);
  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;
    }
  ::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/storeManagement/MaterialRequisition/index.vue
@@ -1,349 +1,355 @@
// 领料
<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="textST">
                        <text >领料记录:</text>
                    </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">WDR:</view>
                                </view>
                                <view class="_content">
                                    {{ item.value4 }}
                                </view>
                            </view>
                            <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>
    </view>
  <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="textST">
      <text>领料记录:</text>
    </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.BN }}
                </view>
              </view>
              <view class="row-list">
                <view class="_label">
                  <view class="_label-name">品牌:</view>
                </view>
                <view class="_content">
                  {{ item.BR }}
                </view>
              </view>
              <view class="row-list">
                <view class="_label">
                  <view class="_label-name">净重:</view>
                </view>
                <view class="_content">
                  {{ item.NW }}
                </view>
              </view>
            </view>
          </view>
        </u-cell-group>
      </scroll-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">{{
                    detailedList.BN
                  }}</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">{{
                    detailedList.BR
                  }}</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">{{
                    detailedList.NW
                  }}</text>
                </view>
              </view>
            </view>
          </view>
        </view>
      </u-modal>
      <scan></scan>
    </view>
  </view>
</template>
<script>
import scan from "@/components/scan/scan.vue";
import content_bg from '@/static/custom/packing/backBg.png'
import content_bg from "@/static/custom/packing/backBg.png";
export default {
    components: {
        scan,
    },
    data() {
        return {
            background: {
                backgroundImage: `url(${content_bg})`,
                backgroundAttachment: 'fixed',
                backgroundSize: '100% auto',
                backgroundRepeat: 'no-repeat',
            },
            labelStyle: {
                fontSize: '32rpx',
                whiteSpace: 'nowrap'
            },
            hasScanSnList: [{
                value0: '11111111111111111111111',
                value1: '111',
                value2: '111',
                value3: '111',
                value4: '111',
            },
            {
                value0: '111',
                value1: '111',
                value2: '111',
                value3: '111',
                value4: '111',
            },
            {
                value0: '111',
                value1: '111',
                value2: '111',
                value3: '111',
                value4: '111',
            },
            {
                value0: '111',
                value1: '111',
                value2: '111',
                value3: '111',
                value4: '111',
            },
            ],
            delContent: null,
            staffList: [],
        };
    },
    onLoad(option) { },
    onShow() {
        let that = this
        uni.$off('scan') // 每次进来先 移除全局自定义事件监听器
        uni.$on('scan', function (data) {
            console.log('onscan');
            //扫码成功后的回调,你可以写自己的逻辑代码在这里
            console.log('扫码结果:', data.code);
            that.scanHandle(data.code)
            that.$forceUpdate();
        })
    },
    onNavigationBarButtonTap() {
        this.goScan()
    },
    onReady() { },
    methods: {
        setNo(val) {
            console.log('11111', val)
            this.registerInfo.value1 = val.value1
            this.registerInfo.value2 = val.value2
        },
        //盘点报告号
        seachPersonnelNo() {
            console.log('11111')
            uni.navigateTo({
                url: '/pages/wareHouse/inventory/orderList'
            })
        },
        goScan() {
            uni.scanCode({
                scanType: ['qrCode'],
                success: res => {
                    try {
                        console.log('扫码结果:', res);
                        this.scanHandle(res.result)
                    } catch (e) { }
                }
            });
        },
        scanHandle(scanresult) {
            scanresult = scanresult.replace(/[\r\n]/g, "")
            if (scanresult.indexOf('{') > -1) {
                //二维码
                const result = JSON.parse(scanresult)
                //增加SN校验
                if (result.sn_no && result.sn_no != null && result.sn_no != '') {
                    if (this.hasScanSnList.length > 0) {
                        let hasScanSnIndex = this.hasScanSnList.indexOf(result.sn_no)
                        if (hasScanSnIndex < 0) {
                            this.hasScanSnList.push(result.sn_no)
                        } else {
                            this.$u.toast('请勿重复扫描')
                        }
                    } else {
                        this.hasScanSnList.push(result.sn_no)
                    }
                }
            } else {
                //增加SN校验
                if (this.hasScanSnList.length > 0) {
                    let hasScanSnIndex = this.hasScanSnList.indexOf(scanresult)
                    if (hasScanSnIndex < 0) {
                        this.hasScanSnList.push(scanresult)
                    } else {
                        this.$u.toast('请勿重复扫描')
                    }
                } else {
                    this.hasScanSnList.push(scanresult)
                }
            }
        },
        goSubmit() {
            // if (this.registerInfo.shiftId == null || this.registerInfo.shiftId == '') {
            //     this.$u.toast('请选择班次')
            //     return
            // }
            // if (this.registerInfo.value3 == null || this.registerInfo.value3 == '') {
            //     this.$u.toast('请选择日期')
            //     return
            // }
            // if (this.registerInfo.locNo == null || this.registerInfo.locNo == '') {
            //     this.$u.toast('请选择包装库位')
            //     return
            // }
            // if (this.hasScanSnList.length == 0) {
            //     this.$u.toast('无待提交的SN号明细')
            //     return
            // }
            // let registrList = []
            // this.staffList = []
            // this.staffNameList.forEach((item) => {
            //     this.staffList.push({
            //         staffId: item.id
            //     })
            // })
            // this.hasScanSnList.forEach((item) => {
            //     registrList.push({
            //         shiftId: this.registerInfo.shiftId,
            //         value3: this.registerInfo.value3,
            //         locNo: this.registerInfo.locNo,
            //         partBatchNo: item,
            //         staffList: this.staffList
            //     })
            // })
            // this.$u.api.pigxPacking.addPackageRegister(registrList).then(res => {
            //     let resData = res.data
            //     this.hasScanSnList = []
            //     this.$u.toast('提交成功')
            // }).catch((e) => {
            // })
        },
    }
  components: {
    scan,
  },
  data() {
    return {
      background: {
        backgroundImage: `url(${content_bg})`,
        backgroundAttachment: "fixed",
        backgroundSize: "100% auto",
        backgroundRepeat: "no-repeat",
      },
      labelStyle: {
        fontSize: "32rpx",
        whiteSpace: "nowrap",
      },
      hasScanSnList: [],
        showModal: false, // 控制弹窗显示隐藏的变量
      detailedList: {},
    };
  },
  onLoad(option) {},
  onShow() {
    let that = this;
    uni.$off("scan"); // 每次进来先 移除全局自定义事件监听器
      uni.$on("scan", function (data) {
        this.detailedList = {},
      console.log("onscan");
      //扫码成功后的回调,你可以写自己的逻辑代码在这里
      console.log("页面扫码结果:", data.code);
      if (data.code) {
        let codeInfo = JSON.parse(data.code);
        // 扫描报工单二维码
        if (codeInfo) {
          that.saveForm(codeInfo);
        }
      }
    });
  },
  methods: {
        // 回显扫码的信息
    saveForm(val) {
        this.detailedList = val;
        this.showModal = true;
      },
    confirm() {
    //   // 处理确认逻辑
    //   this.$u.api.shiftingParking
    //     .hasScanSn({
    //       ...this.detailedList,
    //     })
    //     .then((res) => {
    //       this.hasScanSnList.push(this.detailedList);
    //       console.log("记录", this.hasScanSnList);
    //       this.$u.toast("领料成功");
        //     });
          this.hasScanSnList.push(this.detailedList);
    },
  },
};
</script>
<style lang="scss" scoped>
.textST {
    font-size: 14px;
    margin:0 0 13px 13px;
.packing-registration-param {
  padding: 40rpx 30rpx 10rpx 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;
    }
  }
  .packing-registration-param-view {
    height: 177rpx;
    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-left {
        .item-one {
          font-size: 30rpx;
          color: #666666;
        }
      }
      .packing-registration-param-item-right {
        display: flex;
        justify-content: space-between;
        .item-one {
          font-size: 30rpx;
          color: #333333;
          margin-right: 6rpx;
        }
        .item-two {
          font-size: 30rpx;
          color: #a6b4cc;
          margin-right: 6rpx;
        }
        .item-three {
          font-size: 30rpx;
          color: #214ded;
          margin-right: 6rpx;
        }
      }
    }
    .param-extra {
      border-bottom: 1px solid #ededed;
    }
  }
}
.popup-content {
  width: 600rpx;
  height: 305rpx;
  background-color: #fff;
  border-radius: 8px;
  z-index: 10;
  /* 确保内容在蒙版之上 */
}
.textST {
  font-size: 14px;
  margin: 0 0 13px 13px;
}
.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;
  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;
}
.wrap .packing-registration-scroll-list {
    height: calc(100vh - var(--window-top) - var(--window-bottom) - 250rpx);
    width: 100%;
  height: calc(100vh - var(--window-top) - var(--window-bottom) - 250rpx);
  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;
    }
  ::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/sys/home/index.vue
@@ -84,21 +84,21 @@
                        // },
                    ]
                },
                // {
                //     title: '仓库管理',
                //     list: [
                //         {
                //             name: '领料',
                //             url: '/pages/storeManagement/MaterialRequisition/index',
                //             icon: 'eleven'
                //         },
                //         {
                //             name: '取消领料',
                //             url: '/pages/storeManagement/CancelMaterialRequisition/index',
                //             icon: 'twelve'
                //         },
                //     ]
                // }
                {
                    title: '仓库管理',
                    list: [
                        {
                            name: '领料',
                            url: '/pages/storeManagement/MaterialRequisition/index',
                            icon: 'eleven'
                        },
                        {
                            name: '取消领料',
                            url: '/pages/storeManagement/CancelMaterialRequisition/index',
                            icon: 'twelve'
                        },
                    ]
                }
            ]
        };
    },