yyb
4 天以前 d3cff99cd833fedf7714cbe42e052f1402136a84
pages/wareHouse/moveWareHouse/index.vue
@@ -10,17 +10,69 @@
                  <text class="item-one">库位</text>
               </view>
               <view class="packing-registration-param-item-right">
                  <text class="item-one item-two">{{registerInfo.storageLocation}}</text>
                  <text class="item-one item-two">{{
              registerInfo.proposedLocation == ""
                ? "请扫描库位"
                : registerInfo.proposedLocation
            }}</text>
               </view>
            </view>
            <view class="packing-registration-param-item param-extra">
               <view class="packing-registration-param-item-left">
                  <text class="item-one">{{`移库记录(${registerInfo.num}条):`}}</text>
                  <text class="item-one">{{
              `移库记录(${hasScanSnList.length + 1}条):`
            }}</text>
               </view>
            </view>
         </view>
      </view>
      <view class="popup-container" v-if="show">
      <view class="wrap">
         <scroll-view class="packing-registration-scroll-list" scroll-y="true">
            <u-cell-group class="packing-registration-scroll-list-group" :border="false">
               <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.partNo }}
                        </view>
                     </view>
                     <view class="row-list">
                        <view class="_label">
                           <view class="_label-name">批次号:</view>
                        </view>
                        <view class="_content">
                           {{ item.moNo }}
                        </view>
                     </view>
                     <view class="row-list">
                        <view class="_label">
                           <view class="_label-name">库位号:</view>
                        </view>
                        <view class="_content">
                           {{ item.proposedLocation }}
                        </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>
      </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">
@@ -29,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">
@@ -37,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">
@@ -45,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">
@@ -61,19 +115,16 @@
                        <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>
               <view class="person-btn-view">
                  <u-button type="primary" shape="square" text="取消" style="height: 80rpx; line-height: 80rpx"
                     size="medium" @click="closePopup()">取消</u-button>
                  <u-button type="primary" shape="square" text="确定" style="height: 80rpx; line-height: 80rpx"
                     size="medium" @click="confirmPopup()">确定</u-button>
               </view>
            </view>
         </view>
      </view>
      </u-modal>
      <scan></scan>
   </view>
</template>
<script>
@@ -93,40 +144,84 @@
               backgroundRepeat: "no-repeat",
            },
            registerInfo: {
               storageLocation: "LG001",
               storageLocation: "",
               num: 0,
            },
            show: true, // 控制弹窗显示隐藏的变量
            showModal: false, // 控制弹窗显示隐藏的变量
            hasScanSnList: [],
            detailedList: {
               moNo: "",
               partNo: "",
               proposedLocation: "",
               WDR: "",
            },
            codeInfoId: '',
         };
      },
      onLoad() {},
      onShow() {
         let that = this;
         uni.$off("scan"); // 每次进来先 移除全局自定义事件监听器
         uni.$on("scan", function(data) {
            console.log("onscan");
            //扫码成功后的回调,你可以写自己的逻辑代码在这里
            console.log("扫码结果:", data.code);
         });
      },
      onNavigationBarButtonTap(e) {
         uni.scanCode({
            success: (res) => {
               try {
                  const result = JSON.parse(res.result);
               } catch (e) {}
            },
            console.log("页面扫码结果:", data.code);
            if (data.code) {
               let codeInfo = JSON.parse(data.code);
               // 扫描报工单二维码
               // 判断扫描的是库位码还是流转码
               if (codeInfo.LN) {
                  that.saveForm(codeInfo)
               } else {
                  that.codeInfoId = codeInfo.id
                  that.saveModalForm(codeInfo)
                  that.getHandelList();
               }
            }
         });
      },
      methods: {
         confirmPopup() {
         getHandelList() {
            this.$u.api.workReporting
               .getProductMainV1({
                  current: 1,
                  size: -1,
                  id: this.codeInfoId,
               })
               .then((res) => {
                  this.hasScanSnList = res.data.productOutputList;
               });
         },
         confirm() {
            // 处理确认逻辑
            // 点击确认移库
            if (true) {
               uni.showToast({
                  icon: "none",
                  title: "你无法将零件移到相同位置",
                  duration: 2 * 1000,
               });
               return
            }
            this.getHandelList()
            this.show = false;
         },
         closePopup() {
         cancel() {
            this.show = false; // 关闭弹窗
         },
         // 回显扫码的信息
         saveForm(val) {
            this.registerInfo.proposedLocation = val.LN
         },
         saveModalForm(val) {
            this.detailedList = {
                  moNo: val.moNo,
                  partNo: val.partNo,
                  proposedLocation: val.proposedLocation,
                  WDR: val.WDR,
               },
               this.show = true;
         }
      },
   };
</script>
@@ -137,20 +232,9 @@
      margin-top: 300rpx;
   }
   .popup-container {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      display: flex;
      justify-content: center;
      align-items: center;
   }
   .popup-content {
      width: 600rpx;
      height: 600rpx;
      height: 500rpx;
      background-color: #fff;
      border-radius: 8px;
      z-index: 10;
@@ -240,4 +324,90 @@
         }
      }
   }
   .wrap .packing-registration-scroll-list {
      height: calc(100vh - var(--window-top) - var(--window-bottom) - 360rpx);
      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;
      }
      .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-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-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 ._label {
               display: flex;
               flex: 0.8;
               color: #909399;
               align-items: center;
               ._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 .s1 {
               color: #d35651;
            }
         }
      }
   }
</style>