#
whycq
2024-03-18 6c9cbdf482ce1330704dc635c510ec51a1115a9f
pages/basics/orderSelect.vue
@@ -1,22 +1,408 @@
<template>
   <view>
   </view>
      <scroll-view scroll-y >
         <view class="search-box">
            <view class="search-area">
               <view class="search-icon"><uni-icons type="search" size="25" color="#a5a5a5"></uni-icons></view>
               <input type="text" v-model="condition" placeholder="请输入商品编码 / 名称"/>
               <view class="close-icon" @click="reset()"><uni-icons type="closeempty" size="25" color="#a5a5a5"></uni-icons></view>
            </view>
            <view class="search-btn"><button @click="search(condition)" class="cu-btn bg-blue">搜索</button></view>
         </view>
         <checkbox-group @change="checkbox">
            <label v-for="(item,index) in tag" :key="index" class="demo-list bg-false"
               @click="showTag(item.orderNo)">
               <view class="demo-list-right">
                  <view class="tag">
                     <view class="cu-tag bg-blue ">订单</view>
                  </view>
                  <view class="order-ditel"><text class="orderNo">{{item.orderNo}}</text></view>
                  <view class="order-ditel"><text class="orderNo">{{item.combMats[0].supp}}</text></view>
               </view>
            </label>
         </checkbox-group>
         <checkbox-group>
            <label v-for="(item,index) in data" :key="index" class="demo-list bg-false"
               @click="findBySelect(item)">
               <view class="demo-list-right">
                  <view class="tag">
                     <view class="cu-tag bg-cyan ">订单明细</view>
                  </view>
                  <view class="matnr" style="font-size: 16px;"><text style="min-width: 500rpx;font-size: 12px;">{{item.color}}</text></view>
                  <view class="matnr" style="font-size: 16px;"><text style="min-width: 500rpx;font-size: 12px;">{{item.maktx}}</text></view>
                  <view class="matnr" style="font-size: 16px;"><text style="min-width: 500rpx;font-size: 12px;">{{item.specs}}</text></view>
                  <view class="matnr" style="font-size: 16px;"><text style="min-width: 500rpx;font-size: 12px;">{{item.xh}}</text></view>
               </view>
            </label>
         </checkbox-group>
      </scroll-view>
      </view>
</template>
<script>
   export default {
      data() {
         return {
            commonUrl:null,
            condition:null,
            tag: [],
            data: [],
            orderNo: ''
         }
      },
      methods: {
      onLoad() {
         let that = this
         // const eventChannel = this.$scope.eventChannel; // 兼容APP-NVUE
         const eventChannel = this.getOpenerEventChannel();
         
         // 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据
         eventChannel.on('commonUrl', function(data) {
            that.commonUrl = data.commonUrl
            that.showTag1(1)
         })
      },
      methods: {
         checkbox() {
         },
         reset() {
            this.condition = null
            uni.vibrateShort();
         },
         search(condition) {
            let that = this
            that.tag = null
            that.data = null
            uni.vibrateShort();
            uni.showLoading({
                title: '搜索中...'
            });
            uni.request({
               // url: "http://localhost:8081/jkwms/tag/list/pda/auth",
                url: that.commonUrl + '/order/head/page/auth',
                data: {
                  condition: condition
                },
               method:"GET",
                header: {
                  'token':uni.getStorageSync('token'),
                },
               success(result) {
                  uni.hideLoading();
                  var res = result.data
                  if (res.code === 200 ) {
                     that.data = res.data
                  } else if (res.code == 403) {
                     uni.showToast({title: res.msg, icon: "none", position: 'top'})
                     setTimeout(() => {
                        uni.reLaunch({
                           url: '../login/login'
                        });
                     }, 1000);
                  } else {
                     uni.showToast({title: res.msg, icon: "none",position: 'top'})
                  }
               }
            });
         },
         showTag1(parentId) {
            let that = this
            uni.showLoading();
            uni.request({
                url: that.commonUrl + '/mobile/order/search/orderNo/auth',
               header: {
                  'token':uni.getStorageSync('token'),
                  'content-type': 'application/x-www-form-urlencoded',
               },
               data: {
                  orderNo: ''
               },
               method: 'POST',
               success(result) {
                  console.log(result)
                  that.tag = null
                  that.data = null
                  var res = result.data
                  if (res.code === 200) {
                     if (res.data != null && res.data.length > 0) {
                        that.tag = res.data
                     } else {
                        that.showMat(parentId)
                     }
                  } else if (res.code === 403 ) {
                     uni.showToast({title: res.msg, icon: "none", position: 'top'})
                     setTimeout(() => {
                        uni.reLaunch({
                           url: '../login/login'
                        });
                     }, 1000);
                  } else {
                     uni.showToast({title: res.msg, icon: "none",position: 'top'})
                  }
                  uni.hideLoading();
               }
            });
         },
         showTag(parentId) {
            let that = this
            uni.showLoading();
            uni.request({
                url: that.commonUrl + '/mobile/order/search/orderNo/auth',
                header: {
                   'token':uni.getStorageSync('token'),
                   'content-type': 'application/x-www-form-urlencoded',
                },
                data: {
                   orderNo: parentId
                },
                method: 'POST',
               success(result) {
                  console.log(result)
                  that.tag = null
                  that.data = null
                  var res = result.data
                  if (res.code === 200) {
                     if (res.data != null && res.data[0].combMats.length > 0) {
                        that.data = res.data[0].combMats
                        that.orderNo = res.data[0].orderNo
                     } else {
                        that.showMat(parentId)
                     }
                  } else if (res.code === 403 ) {
                     uni.showToast({title: res.msg, icon: "none", position: 'top'})
                     setTimeout(() => {
                        uni.reLaunch({
                           url: '../login/login'
                        });
                     }, 1000);
                  } else {
                     uni.showToast({title: res.msg, icon: "none",position: 'top'})
                  }
                  uni.hideLoading();
               }
            });
         },
         showMat(tagId) {
            uni.vibrateShort();
            return
            let that = this
            if (tagId == null || tagId == '' || tagId == undefined) {
               return;
            }
            uni.request({
                url: that.commonUrl + '/order/head/page/auth',
                data: {
                  curr: 1,
                  limit: 100000,
                },
               method:"GET",
                header: {
                  'token':uni.getStorageSync('token'),
                },
               success(result) {
                  console.log(result)
                  that.tag = null
                  var res = result.data
                  if (res.code === 200) {
                     if (res.data != null && res.data.length > 0) {
                        uni.showLoading();
                        that.data = res.data.records
                        uni.hideLoading();
                     } else {
                        // that.tagId = parentId
                     }
                  } else if (res.code === 403 ) {
                     uni.showToast({title: res.msg, icon: "none", position: 'top'})
                     setTimeout(() => {
                        uni.reLaunch({
                           url: '../login/login'
                        });
                     }, 1000);
                  } else {
                     uni.showToast({title: res.msg, icon: "none",position: 'top'})
                  }
               }
            });
         },
         findBySelect(item) {
            console.log(item);
            let newItem = {
               orderNo: this.orderNo,
               item: item
            }
            this.getOpenerEventChannel().emit('acceptDataFromOpenedPage', {data: newItem});
            uni.vibrateShort();
            uni.navigateBack({
            })
         }
      }
   }
</script>
<style>
   .matnr {
      margin-left: 60rpx;
   }
   .matnr:last-child {
      margin-top: 0rpx;
   }
   .tag {
      padding-left: 50rpx;
      padding-top: 10rpx;
      width: 100%;
      border-bottom: 1px solid #ebebeb;
   }
   .search-box {
      position: fixed;
      left: 0;
      top: 0;
      width: 100%;
      height: 100rpx;
      background-color: #FFF;
      border-bottom: 1px solid #d8d8d8;
      border-radius: 0 0 20rpx 20rpx;
      z-index: 1;
   }
   /*#ifdef H5 */
   .search-box {
      position: fixed;
      left: 0;
      top: 89rpx;
      width: 100%;
      height: 100rpx;
      background-color: #ffffff;
      border-bottom: 1px solid #d8d8d8;
      border-radius: 0 0 20rpx 20rpx;
      z-index: 1;
   }
   /* #endif */
   .search-area {
      display: inline-block;
      background-color: #F1F1F1;
      width: 75%;
      height: 70%;
      margin: 15rpx;
      border-radius: 15rpx;
   }
   .search-area input {
      display: inline-block;
      height: 70rpx;
      width: 70%;
      line-height: 70rpx;
      font-size: 25rpx;
      font-weight: 400;
   }
   .search-btn {
      display: inline-block;
      float: right;
      margin-right: 30rpx;
      margin-top: 15rpx;
   }
   .search-icon {
      display: inline-block;
      float: left;
      width: 70rpx;
      height: 70rpx;
      text-align: center;
      line-height: 70rpx;
   }
   .close-icon {
      display: inline-block;
      float: right;
      width: 70rpx;
      height: 70rpx;
      text-align: center;
      line-height: 70rpx;
   }
   .bg-false {
      background-color: #FFFFFF;
   }
   .bg-true {
      background-color: #ebebeb;
   }
   .demo-list {
      border-bottom: 1px solid #d8d8d8;
      height: 240rpx;
      margin: 15rpx;
      border-radius: 20rpx;
   }
   .demo-list:first-child {
      margin-top: 120rpx;
   }
   .demo-list:last-child {
      margin-bottom: 120rpx;
   }
   label {
      display: block;
   }
   .demo-list-left {
      display: inline-block;
      float: left;
      text-align: center;
      width: 100rpx;
      height: 220rpx;
      line-height: 220rpx;
   }
   .demo-list-right {
      float: left;
      width: 100%;
      height: 220rpx;
      color: #828282;
      /* background-color: #3b3b3b; */
   }
   .order-ditel {
      padding: 10rpx;
      height: 60rpx;
      width: 600rpx;
      line-height: 60rpx;
   }
   .demo-list-right .index {
      width: 120rpx;
      height: 25rpx;
      line-height: 25rpx;
      font-size: 40rpx;
      border-right: 4rpx solid #6f6f6f;
      padding-left: 0px;
      padding-right: 10rpx;
      color: #3b3b3b;
      /* background-color: #007AFF; */
   }
   .demo-list-right .orderNo {
      padding-left: 30rpx;
      font-size: 35rpx;
      width: 400rpx;
      color: #3b3b3b;
      /* background-color: #0A98D5; */
   }
   .demo-list-right .vertical-bar { // 竖杠
      /* background-color: #6739B6; */
      width: 50rpx;
      font-size: 30rpx;
      text-align: center;
   }
   .demo-list-right text {
      display: inline-block;
      width: 250rpx;
      font-size: 25rpx;
   }
   .color-red {
      width: auto;
      font-weight: 700;
      color: #e74f4f;
   }
   .label-btn {
      width: 150rpx;
   }
   checkbox {
      /* transform:scale(0.7) */
   }
</style>