yangan
2024-06-21 7f02619d92353f989cccf29fd58321d4f13500bb
pages/loadUnload-page/selectTarget/selectTarget.vue
@@ -2,11 +2,26 @@
   <view class="main">
      <!-- 当前选择仓库 -->
      <view class="top-tag">
         <text>点击切换/选择仓库</text>
         <u-tag 
         size='large'
         icon='map'
         :text="dataForm.firstClass ? dataForm.firstClass : '请选择仓库'"
         @click="firstClassSelect"
         ></u-tag>
      </view>
      <!-- 点击查看原盐钙镁 -->
         <view class="self-deliver">
               <view class="self-deliver_text">
                  查看原盐钙镁结果
               </view>
               <view class="self-deliver_btn">
                  <u-button text="查看"
                     type="primary"
                     shape="cirle"
                     @click="todoDetail"></u-button>
               </view>
            </view>
      <!-- <u--form labelPosition="top"
         labelWidth="20%"
         :borderBottom="false"
@@ -42,37 +57,29 @@
                     iconSize="1000"
                     v-if="detailData.length===0"></u-empty>
         <!-- 渲染区域 -->
         <zh-collapse @change='change' accordion     v-for="item,i in detailData"
               <view class="history-information"    v-for="item,i in detailData"
         :key="i">
            <zh-collapse-item
         class="collItem">
                <view class="" slot='title'>
               <view class="history-information">
                     <view class="first">
                        <view class="">{{ item.deptName || '' }}</view>
                        <view class=""><u-icon name="arrow-right"
                              color="#999999"
                              size="40"></u-icon></view>
                        <view class="">{{ item.carNo || '' }}</view>
                        <view class=""></view>
                     </view>
                     <view class="second">
                        <view class="coal-name">{{ item.coalName || '' }}</view>
                        <view class="coal-name">{{ item.productName || '' }}</view>
                        <view class="order-type">{{ item.orderType || '' }}</view>
                     </view>
                     <view class="third">
                        <view class="third-line">
                           <view class="third-line_text">领取数:</view>
                           <view class="third-line_num">{{ item.cars2 }}</view>
                           <view class="third-line_text">客户名称:</view>
                           <view>{{ item.customerName }}</view>
                        </view>
                        <view class="third-line">
                           <view class="third-line_text">剩余数:</view>
                           <!-- <view class="third-line_num"
                              v-if="roleType == 1">{{ item.carNumSurplus1 }}</view>
                           <view class="third-line_num"
                              v-else-if="roleType == 2">{{ item.carNumSurplus }}</view> -->
                           <view class="third-line_text">仓库:</view>
                           <view >{{ item.bunkerName }}</view>
                        </view>
                        <view class="third-line">
                           <view class="third-line_text">提煤单个数:</view>
                           <view class="third-line_num">{{ item.tmCount }}</view>
                           <view class="third-line_text">质检状态:</view>
                           <view> <u-tag :text="checkStatusList[item.checkStatus]" plain > </u-tag></view>
                        </view>
                     </view>
                     <view class="fourth">
@@ -91,34 +98,32 @@
                        </view>
                        <view class="senddate">{{ item.orderCode }}</view>
                     </view>
               </view>
            </view>
                <view class="" slot='cont'>
                      <view class="table">
                                     <view class="table">
         <uni-table border stripe 
         emptyText="暂无更多数据">
               <uni-tr>
                  <uni-th width='200'
                  <uni-th width='140'
                  align="center">操作</uni-th>
                   <uni-th align="center" width='100'>产品</uni-th>
                   <uni-th align="center" width='120'>产品</uni-th>
                  <uni-th align="center">车牌号</uni-th>
                  <uni-th align="center" width='100'>类型</uni-th>
                  <uni-th align="center" width='100'>皮重</uni-th>
                  <uni-th align="center" width='100'>毛重</uni-th>
                  <uni-th align="center">类型</uni-th>
                  <uni-th align="center">皮重</uni-th>
                  <uni-th align="center">毛重</uni-th>
                  <uni-th align="center">净重</uni-th>
                  <uni-th align="center">数量</uni-th>
                   <!-- <uni-th align="center">仓库</uni-th> -->
                  <uni-th align="center" width='100'>状态</uni-th>
                  <!-- <uni-th align="center">状态</uni-th> -->
                  
               </uni-tr>
               <uni-tr v-for="(subItem, index) in item.tmTaskCoalList" :key="index">
                   <uni-td  align="center">
               <view class="btnBox"> 
                  <!-- v-if="subItem.flag"  -->
                  <text  @click="viewDetail(subItem)">查看</text>
                  <text @click="enterOk(subItem)">确认装卸</text>
                  <!--   -->
                  <u-button   text='查看'  @click="viewDetail(subItem)"></u-button>
                  <u-button type='primary' text='确认装卸'  v-if="subItem.flag" @click="enterOk(subItem)"></u-button>
                  </view></uni-td>
                  <uni-td align="center">
                     <view class="name">{{ subItem.productName }}</view></uni-td>
                     <view>{{ subItem.productName }}</view></uni-td>
                     <uni-td align="center">
                     <view style="width:150rpx">{{ subItem.carNo }}</view></uni-td>
               <uni-td>
@@ -130,18 +135,23 @@
               <uni-td>
                  <view class="name">{{ subItem.hair }}</view>
               </uni-td>
                  <uni-td>
                  <view class="name">{{ subItem.clean }}</view>
               </uni-td>
               <uni-td>
                  <view class="name">{{ subItem.productQuantity }}</view>
               </uni-td>
<!--                
                <uni-td align="center">
               <view>{{ subItem.bunkerName }}</view></uni-td> -->
                 <uni-td align="center">
               <view  class="name">{{ subItem.statusView }}</view></uni-td>
                 <!-- <uni-td align="center">
               <view  class="name">{{ subItem.statusView }}</view></uni-td> -->
                
            </uni-tr>
            </uni-table>
       </view>
            </view>
            </zh-collapse-item>
        </zh-collapse>
               </view>
      </view>
      <u-action-sheet :actions="firstClassActionsList"
@@ -161,13 +171,23 @@
               是否确认装卸?
               <view v-if="isNumOk || isClean">
                  <text>产品名称:{{activeObj.productName}}</text>
                  <view>
                  <view class="queren">
                     <text>请输入</text>:
                       <u--input
                        :placeholder="isNumOk ?  '请输入数量' : isClean ? '请输入折吨' : '请输入'"
                        border="surround"
                          border="bottom"
                         :disabled="activeObj.productName === 'PVC' && activeObj.packingType === 5"
                        :placeholder="isNumOk ?  '数量' :'折吨'"
                        v-model="checkNum"
                     ></u--input>
                     >
                     </u--input>
                     <text> {{isNumOk ? '件' : '吨' }}</text>
                     </view>
                     <!-- pvc 并且是大包 -->
                     <view class="pvcBig" v-if="activeObj.productName === 'PVC' && activeObj.packingType === 5">
                     </view>
                     <view v-if="isNumOk && activeObj.productQuantity">当前数量:{{activeObj.productQuantity}}件</view>
                     <view v-if="activeObj.containerNumber"><span>集装箱号:</span>{{activeObj.containerNumber}}</view>
               </view>
@@ -192,6 +212,22 @@
<script>
   export default {
      props: {
         loadUnloadData: {
            type: Object,
            default: {}
         }
      },
      watch: {
         loadUnloadData: {
            handler(v) {
               console.log(v,'vvvvvv')
               this.loadUnloadData = v;
            },
            deep: true,
            immediate: true
         }
      },
      data() {
         return {
            dataForm: {
@@ -200,6 +236,9 @@
               orderType: '',
               bunkerId:""
            },
            checkStatusList:[
               '待取样','已取样','合格','不合格'
            ],
            index: '',
            enterZx:false,
            typeText:'', // 确认装卸三种类型
@@ -257,10 +296,11 @@
               uni.hideLoading()
               if (res.code === 0) {
                  this.firstClassActionsList = res.data;
                  if(res.data.length === 1){
                  if(res.data.length){
                     this.dataForm.bunkerId = res.data[0].id;
                        uni.setStorageSync('bunkerId',res.data[0].id)
                     this.dataForm.firstClass = res.data[0].name;
                     this.getDetailData();
               
                  }
               } else {
@@ -323,10 +363,21 @@
            this.activeObj = item;
            if(item.productQuantity){
               this.isNumOk = true;
               this.isClean = false;
            }else if(item.isWeight === 1){
               this.isClean = true;
               this.isNumOk = false;
            }else{
               this.isNumOk = false;
               this.isClean = false;
            }
            this.enterZx = true;
            //pvc大包自动计算折吨
            if(item.productName === 'PVC' && item.packingType === 5){
               this.checkNum =  (Number(item.productQuantity) * 60)
            }
         this.enterZx = true;
         },
         closeModal(){
            this.enterZx = false;
@@ -338,8 +389,6 @@
         },
         confirmModal(){
            this.enterZx = false;
            this.isClean = false;
            this.isNumOk = false;
            this.$reqPost('confirmLoadAndUnload',{ 
               id: this.activeObj.id,
               productQuantity:this.isNumOk ? this.checkNum :this.activeObj.skin,
@@ -347,15 +396,34 @@
               isPretendDischar:this.activeObj.isPretendDischar
             },'json').then(res=>{
               console.log(res,'rez')
               this.checkNum = '';
               if(res.code === 1){
                  console.log('触发')
                   this.$u.toast(res.msg || '失败');
               }else{
                 this.$u.toast('操作成功');
                    this.getDetailData();
               }
               
            
            }).catch((err) => {
                this.$u.toast(err.msg || '失败');
            }).finally(() => {
                   this.getDetailData();
            })
         },
         //判断是否是 三种特殊类型对应弹窗
         judgeTypeFun(name){
         
         },
         //查看最近一次的原盐钙镁
         todoDetail(){
            console.log()
            uni.navigateTo({
                  url: `/pages/loadUnload-page/checkTestDetails/index`
               })
         }
@@ -388,13 +456,57 @@
<style lang="scss"
   scoped>
   .table{
   width: 100%;
  /deep/ .uni-table{
   min-width: 0!important;
   margin-left: 20rpx;
  }
}
      // 自主配送
         .self-deliver {
         position: relative;
            top: vww(10);
            width: 95%;
            height: vww(40);
            margin: vww(8) 10rpx;
            padding: 0 vww(8);
            background: #ffffff;
            box-shadow: 0rpx 0rpx 14rpx 0rpx rgba(73, 120, 240, 0.14), 0rpx 7rpx 45rpx 0rpx rgba(73, 120, 240, 0.12);
            border-radius: 20rpx;
            @include flex;
            align-items: center;
            justify-content: space-between;
            /deep/.u-button {
               width: 100%;
               height: 28px !important;
               line-height: 40px;
               padding: 0 12px;
               font-size: 28rpx;
               font-weight: 300;
               color: #ffffff;
               background: #497bfb !important;
               letter-spacing: 4rpx;
               border-radius: 37rpx 37rpx 37rpx 37rpx !important;
               box-shadow: 2rpx 3rpx 13rpx 0rpx rgba(43, 98, 239, 0.5), 0rpx 0rpx 9rpx 0rpx rgba(247, 250, 253, 0.29);
            }
         }
   .queren{
      display: flex;
      justify-content: space-between;
      /deep/ .u-input {
         border-bottom:  1px solid #ccc;
      }
   }
   .name{
      width: 100rpx;
      width: 50rpx;
   }
   .table{
      width: 94%;
      margin-left: 20rpx;
      position: relative;
      margin-top: 30rpx;
        overflow-x: auto;
      /deep/   .uni-table-th{
         font-size: 12px;
@@ -403,7 +515,7 @@
         font-size: 12px;
        }
   /deep/ .uni-table{
         min-width: 340rpx!important;
         min-width: 0rpx!important;
         // position: sticky !important;;
      }
   /deep/    .uni-table-body-wrapper {
@@ -420,9 +532,9 @@
   }
   .btnBox{
      min-width: 150rpx;
      min-width: 130rpx;
      display: flex;
      justify-content: space-between;
      justify-content: space-around;
       text{
         color: #035cfb;
      }
@@ -434,17 +546,21 @@
      position: relative;
      top: vww(-160);
      .top-tag{
             width: 25%;
             width: 33%;
            height: 100rpx;
            margin-left: 70%;
            margin-left: 65%;
            display: flex;
            /* margin-top: 40rpx; */
            color: #fff;
            align-items: center;
            justify-content: space-between;
               }
               .div-box{
                  width: 100%;
                  display: flex;
                   margin-left: 10rpx;
                  flex-direction: column;
                  /deep/ .u-collapse{
                     background: #fff;
                  }
@@ -485,7 +601,8 @@
               }
            }
            .history-information {
         margin-bottom:50rpx;
         margin-top: 10rpx;
         background: #ffffff;
         border-radius: 20rpx;
         @include flex flex-direction: column;
@@ -533,15 +650,17 @@
         .third {
            width: 96%;
            height: 31rpx;
            height:  120rpx;
            font-size: 30rpx;
            font-weight: 300;
            color: #515151;
            margin: vww(10) vww(10) 0;
            @include flex;
            flex-direction: column;
            .third-line {
               @include flex;
               align-items: center;;
               &_text {
                  color: #919090;