whycq
2023-09-06 0732d75ccd82baffb35238949b11dbfb3614d790
pages/order/orderDetil.vue
New file
@@ -0,0 +1,137 @@
<template>
   <view >
      <scroll-view>
         <view class="detil-list" v-for="(item,i) in dataList" :key="i">
            <view class="detil-list-checkbox">
               <label>
                  <checkbox :value="check" :checked="item.checked" @click="set(i)"/>
               </label>
            </view>
            <view class="detil-list-context">
               <view class="flex-align-center">
                  <view>单号:</view><view>{{item.orderNo}}</view>
               </view>
               <view class="flex-align-center">
                  <view>料号:</view><view>{{item.matnr}}</view>
               </view>
               <view class="flex-align-center">
                  <view>名称:</view><view>{{item.maktx}}</view>
               </view>
               <view class="flex-align-center">
                  <view>规格:</view><view>{{item.specs}}</view>
               </view>
               <view class="flex-align-center">
                  <view>批号:</view><view>{{item.batch}}</view>
               </view>
               <view class="flex-align-center">
                  <view>重量:</view><view>{{item.weight}}</view>
               </view>
               <view class="flex-align-center">
                  <view>数量:</view><view>{{item.anfme}}</view>
               </view>
            </view>
         </view>
      </scroll-view>
      <!-- 底部操作按钮 -->
      <view class="buttom">
         <button size="mini" type="primary" @click="back()">提取</button>
      </view>
   </view>
</template>
<script>
   export default {
      data() {
         return {
            dataList: [],
            check: '',
            baseUrl: '',
            token: '',
            orderNo: ''
         }
      },
      onShow() {
         let that = this
         // #ifdef APP-NVUE
         const eventChannel = this.$scope.eventChannel; // 兼容APP-NVUE
         // #endif
         // #ifndef APP-NVUE
         const eventChannel = this.getOpenerEventChannel();
         // #endif
         // 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据
         eventChannel.on('orderNo', function(data) {
            that.orderNo = data.orderNo
            console.log(data);
         })
         this.baseUrl = uni.getStorageSync('baseUrl');
         this.token = uni.getStorageSync('token');
         this.getOrderDetl();
      },
      methods: {
         set(e) {
            var ck = this.dataList[e].checked
            this.dataList[e].checked = ck ? false:true
         },
         back() {
            let that = this
            let k;
            let confirmList = [];
            for(k in that.dataList) {
               if(that.dataList[k].checked) {
                  confirmList.push(that.dataList[k])
               }
            }
            this.getOpenerEventChannel().emit('orderList', {data: confirmList});
            uni.navigateBack({
            })
         },
         getOrderDetl() {
            console.log(this.orderNo);
            let that = this
            uni.request({
               url: that.baseUrl + '/order/list/orderNo',
               data: {orderNo: that.orderNo} ,
               method: 'GET',
               success(res) {
                  res = res.data;
                  if (res.code === 200) {
                     that.dataList = res.data
                     for (var i = 0; i < that.dataList.length; i++) {
                        that.$set(that.dataList[i],'checked',false)
                     }
                  }
               }
            })
         }
      }
   }
</script>
<style>
   @import url('../../static/css/wms.css/wms.css');
   .detil-list {
      background-color: #FFF;
      border-radius: 10rpx;
      margin: 10px;
      display: flex;
      align-items: center;
      box-shadow: 0 0 5px 1px #e7e7e7;
   }
   .detil-list-checkbox {
      width: 15%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
   }
   .detil-list-context {
      height: 100%;
      width: 85%;
   }
   .flex-align-center {
      display: flex;
      align-items: center;
   }
</style>