yangan
15 小时以前 a28d0135ee42809b2c5863609da37155d3ecba5b
pages/doorkeeper-page/doorkeeper-index/exit-index.vue
@@ -1,10 +1,19 @@
<template>
      <view class="appointment">
         <view class="searchview">
            <u-search @change="change" :searchIconSize="40" placeholder="请输入车牌号" height="80" clearabled v-model="carNo" @search="search" @custom="custom" @clear="clear" >
            <u-search @change="change" :searchIconSize="40" placeholder="请输入车牌号" height="60" clearabled v-model="carNo" @search="search" @custom="custom" @clear="clear" >
            </u-search >
         </view>
         <view style="position: relative;top: -120px;">
         <u-collapse
               ref="myCollapse"
               :value='["1"]'
               >
                <u-collapse-item
                ref="collapseHeight"
                name='1'
               class="collItem"
               :title="'待检查车辆'">
         <view style="position: relative;top: -40px;">
            <u-empty mode="data"
               icon="http://cdn.uviewui.com/uview/empty/data.png"
               textSize="30"
@@ -18,36 +27,196 @@
               :key="index">
               <view class="first-line">
                  <view class="dispatch-receive">
                     <view class="dispatch-dept">{{ item.code || ''  }}</view>
                     <view class="black-bar"></view>
                     <view class="dispatch">{{ item.customerName ||'' }}</view>
                  </view>
                  <view class="point-number">
                     <text class="order-type">{{ item.productNames?limitString(item.productNames,20,'...'):'' || '' }}</text>
                  </view>
               </view>
               <view class="second-line" v-if="item.splicingOrderId">
                  <text style="color:red">此单包含拼单!</text>
               </view>
               <view class="second-line">
                  <view class="coal-name">
                     <view class="dispatch-dept">{{ item.carNo || ''  }}</view>
                     <view class="black-bar"></view>
                     <view class="dispatch">{{ item.driver ||'' }}</view>
                  </view>
                  <view class="point-number">
                     <text class="residue">{{ item.productNames || '' }}</text>
                     <view class="black-bar"></view>
                     <text>{{ item.phone || '' }}</text>
                        <view class="black-bar"></view>
                     <view class="dispatch-dept">{{ item.orderType || ''  }}</view>
                  </view>
               </view>
               <view class="second-line">
                  <view class="coal-name">
                     <text>{{ item.phone || '' }}</text>
                     <view>净重:{{item.clean || 0}}</view>
                     <view class="black-bar"></view>
                     <view>数量:{{item.productQuantity || 0}}</view>
                  </view>
               </view>
               <view class="third-line">
                  <view class="send-date">{{ item.isEmptyCar?item.isEmptyCar=='0'?'非空车出场':'空车出场':'非空车出场' }}</view>
               </view>
               <view class="fourth-line">
                  <view
                     v-if="item.splicingOrderId"
                     @click.stop="checkDetail(item)">
                     <view class="button-image">
                        <u-button   type='primary'>查看拼单</u-button>
                     </view>
                  </view>
                  <view class="forward"
                     @click.stop="yuYueBtnClick(item)">
                     <view class="button-image">检查</view>
                  </view>
               </view>
            </view>
         </view>
         </u-collapse-item>
         </u-collapse>
         <u-collapse
               ref="myCollapse"
               >
                <u-collapse-item
                ref="collapseHeights"
                name='3'
               class="collItem"
               :title="'临时出场车辆'">
         <view style="position: relative;top: -40px;">
            <u-empty mode="data"
               icon="http://cdn.uviewui.com/uview/empty/data.png"
               textSize="30"
               iconSize="1000"
               text="暂无车辆"
               v-if="driverTemporaryEntry.length == 0"></u-empty>
         </view>
         <view class="collection-form">
            <view class="collection-form-item"
               v-for="(item, index) in driverTemporaryEntry"
               :key="index">
               <view class="second-line">
                  <view class="coal-name">
                     <view class="dispatch-dept">{{ item.carNo || ''  }}</view>
                     <view class="black-bar"></view>
                     <view class="dispatch">{{ item.tempEntrancePlan.driver ||'' }}</view>
                     <view class="black-bar"></view>
                     <text>{{ item.tempEntrancePlan.phone || '' }}</text>
                           <view class="black-bar"></view>
                        <view class="dispatch-dept">{{ item.orderType || ''  }}</view>
                  </view>
               </view>
               <view class="third-line">
                  <view class="time-icon">
                     <view
                        style="width: 24rpx;height: 24rpx;li ne-height: 24rpx;background: url('https://mx.jzeg.cn:9096/appimg/image/banner/clock.png') no-repeat;background-size: cover">
                        style="width: 24rpx;height: 24rpx;line-height: 24rpx;background: url('https://wrzs.czjlchem.com:9090/appimg/image/banner/clock.png') no-repeat;background-size: cover">
                     </view>
                  </view>
                  <view class="send-date">{{ item.sendDate }} {{ item.startTime || '' }}-{{item.endTime || ""}}</view>
                  <view class="send-date">{{ item.tempEntrancePlan.sendDate }} {{ item.tempEntrancePlan.startTime || '' }}-{{item.tempEntrancePlan.endTime || ""}}</view>
               </view>
               <view class="first-line">
                  <view class="dispatch-receive">
                     <view class="dispatch-dept">{{ item.tempEntrancePlan.coalName || ''  }}</view>
                     <view class="black-bar"></view>
                     <view class="dispatch">{{ item.tempEntrancePlan.customerName ||'' }}</view>
                  </view>
                  <view class="point-number">
                     <text class="order-type">{{ item.tempEntrancePlan.productNames?limitString(item.tempEntrancePlan.productNames,20,'...'):'' || '' }}</text>
                  </view>
               </view>
               <view class="fourth-line">
                  <view class="buttons">
                     <u-button text="检查"
                        type="primary"
                        @click="yuYueBtnClick(item)"></u-button>
                  <view class="forward"
                     @click.stop="yuYueLiShBtnClick(item)">
                     <view class="button-image">检查</view>
                  </view>
               </view>
            </view>
         </view>
         </u-collapse-item>
         </u-collapse>
         <u-collapse
               ref="myCollapse"
               >
                <u-collapse-item
                name='2'
               class="collItem"
               :title="'已检查车辆'">
         <view style="position: relative;top: -40px;">
            <u-empty mode="data"
               icon="http://cdn.uviewui.com/uview/empty/data.png"
               textSize="30"
               iconSize="1000"
               text="暂无车辆"
               v-if="driverBillOfLoadingDatas.length == 0"></u-empty>
         </view>
         <view class="collection-form" style="margin-bottom: 60px;">
            <view class="collection-form-item"
               v-for="(item, index) in driverBillOfLoadingDatas"
               :key="index">
               <view class="first-line">
                  <view class="dispatch-receive">
                     <view class="dispatch-dept">{{ item.code || ''  }}</view>
                     <view class="black-bar"></view>
                     <view class="dispatch">{{ item.customerName ||'' }}</view>
                  </view>
                  <view class="point-number">
                     <text class="order-type">{{ item.productNames?limitString(item.productNames,20,'...'):'' || '' }}</text>
                  </view>
               </view>
               <view class="second-line" v-if="item.splicingOrderId">
                  <text style="color:red">此单包含拼单!</text>
               </view>
               <view class="second-line">
                  <view class="coal-name">
                     <view>净重:{{item.clean|| 0}}</view>
                     <view class="black-bar"></view>
                     <view>数量:{{item.productQuantity|| 0}}</view>
                  </view>
               </view>
               <view class="second-line">
                  <view class="coal-name">
                     <view class="dispatch-dept">{{ item.carNo || ''  }}</view>
                     <view class="black-bar"></view>
                     <view class="dispatch">{{ item.driver ||'' }}</view>
                     <view class="black-bar"></view>
                     <text>{{ item.phone || '' }}</text>
                        <view class="black-bar"></view>
                        <view class="dispatch-dept">{{ item.orderType || ''  }}</view>
                  </view>
               </view>
               <view class="second-line">
                  <view class="coal-name">
                     <view>净重:{{item.clean|| 0}}</view>
                     <view class="black-bar"></view>
                     <view>数量:{{item.productQuantity|| 0}}</view>
                  </view>
               </view>
               <view class="third-line">
                  <view class="time-icon">
                     <view
                        style="width: 24rpx;height: 24rpx;line-height: 24rpx;background: url('https://wrzs.czjlchem.com:9090/appimg/image/banner/clock.png') no-repeat;background-size: cover">
                     </view>
                  </view>
                  <view class="send-date">{{ item.outTime?item.outTime.slice(10,19):null }} </view>
               </view>
               <view class="third-line">
                  <view class="send-date">{{ item.isEmptyCar?item.isEmptyCar=='0'?'非空车出场':'空车出场':'非空车出场' }}</view>
               </view>
               <view class="fourth-line">
                  <view
                     v-if="item.splicingOrderId"
                     @click.stop="checkDetail(item)">
                     <view class="button-image">
                        <u-button   type='primary'>查看拼单</u-button>
                     </view>
                  </view>
               </view>
            </view>
         </view>
         </u-collapse-item>
         </u-collapse>
         <u-popup :show="show"
            @close="close"
            @open="open"
@@ -83,6 +252,44 @@
               @confirm="logoutConfirm"
               @cancel="logoutCancel"></u-modal>
         </view>
         <view class="falseModel">
            <u-modal :show="TemporaryEntryShow"
               :title="logoutTitle"
               showCancelButton
               :content="logoutContent"
               @confirm="TemporaryEntryConfirm"
               @cancel="TemporaryEntryCancel"></u-modal>
         </view>
         <u-modal :width='750' :show="showModal" :title="title" @confirm='confrim'>
            <view class="collection-form-item">
               <view class="first-line">
                  <view class="dispatch-receive">
                     <view class="dispatch-dept">{{ activeObj.code || ''  }}</view>
                     <view class="black-bar"></view>
                     <view class="dispatch">{{ activeObj.customerName ||'' }}</view>
                  </view>
                  <view class="point-number">
                     <text class="order-type">{{ activeObj.productNames?limitString(activeObj.productNames,20,'...'):'' || '' }}</text>
                  </view>
               </view>
               <view class="second-line" v-if="activeObj.splicingOrderId">
                  <text style="color:red">拼单</text>
               </view>
               <view class="second-line">
                  <view class="coal-name">
                     <view class="dispatch-dept">{{ activeObj.carNo || ''  }}</view>
                     <view class="black-bar"></view>
                     <view class="dispatch">{{ activeObj.driver ||'' }}</view>
                     <view class="black-bar"></view>
                     <text>{{ activeObj.phone || '' }}</text>
                  </view>
               </view>
               <view class="third-line">
                  <view class="send-date">{{ activeObj.isEmptyCar?activeObj.isEmptyCar=='0'?'非空车出场':'空车出场':'非空车出场' }}</view>
               </view>
            </view>
         </u-modal>
      </view>
</template>
@@ -92,25 +299,45 @@
      },
      data() {
         return {
            door:'',
            temporaryPlanId:"",
            show: false, // 弹出全部领取提示
            showModal:false,
            title:'拼单',
            driverBillOfLoadingData:[],
            driverBillOfLoadingDatas:[],
            driverTemporaryEntry:[],
            inspectData:[],
            isAllSelected:false,
            form:{},
            carNo:'',
            logoutShow: false,
            TemporaryEntryShow:false,
            logoutTitle: '提示',
            logoutContent: '是否检查完毕',
            previewImageSrc:"",
            ClickLoading:false
            ClickLoading:false,
            activeObj:{},
         }
      },
      onShow() {
         this.door=uni.getStorageSync('door', this.door)
         this.init();
      },
      methods: {
         handleOpenChange() {
            this.$nextTick(() => {
               this.$refs.collapseHeight.init()
            });
            this.$nextTick(() => {
               this.$refs.collapseHeights.init()
            });
         },
         limitString(str, limit, suffix = '...') {
                     if (str.length <= limit) return str;
                     return str.slice(0, limit) + suffix;
                  },
         logoutConfirm() {
            uni.showLoading({ title: '加载中...' });
            this.$reqPost('addCheckLog',{
                        carNo:this.form.carNo,
@@ -129,6 +356,23 @@
               }
            })
         },
         TemporaryEntryConfirm(){
            this.$reqPut('temporaryentryinspection',{
                        id:this.temporaryPlanId,
                     }, 'json').then(res => {
               if (res.code === 0) {
                  uni.$u.toast('检查成功')
                  this.form={}
                  this.ClickLoading = false;
                  this.show = false;
                  this.TaskCoalList()
                  this.TemporaryEntryShow = false;
               } else {
                  uni.$u.toast(res.msg ? res.msg : '检查失败')
                  this.TemporaryEntryShow = false;
               }
            })
         },
         logoutCancel() {
            this.logoutShow = false;
         },
@@ -136,6 +380,9 @@
            this.logoutShow = true;
            this.inspectData=[]
            this.form=item
         },
         TemporaryEntryCancel() {
            this.TemporaryEntryShow = false;
         },
         selectionChange(items){
           const allIds = this.inspectData.map(item => item);
@@ -146,6 +393,10 @@
            this.TaskCoalList();
            this.form={}
            this.inspectData=[]
         },
         yuYueLiShBtnClick(item){
            this.temporaryPlanId=item.id
            this.TemporaryEntryShow = true;
         },
         popClick() {
               if(this.isAllSelected==true){
@@ -189,16 +440,45 @@
            });
            
            if(!this.carNo){
               this.$reqGet('getCheckTaskCoal',{flag:1}).then(res => {
               this.$reqGet('getCheckTaskCoal',{flag:1,door:this.door}).then(res => {
                  uni.hideLoading();
                  this.driverBillOfLoadingData = res.data;
                  uni.stopPullDownRefresh();
                  this.handleOpenChange();
               })
               this.$reqGet('getTemporaryEntryOutInspectionList',{}).then(res => {
                  uni.hideLoading();
                  this.driverTemporaryEntry = res.data;
                  uni.stopPullDownRefresh();
                  this.handleOpenChange();
               });
            }else{
               this.$reqGet('getCheckTaskCoal',{flag:1,carNo:this.carNo}).then(res => {
               this.$reqGet('getCheckTaskCoal',{flag:1,carNo:this.carNo,door:this.door}).then(res => {
                  uni.hideLoading();
                  this.driverBillOfLoadingData = res.data;
                  uni.stopPullDownRefresh();
                  this.handleOpenChange();
               });
               this.$reqGet('getTemporaryEntryOutInspectionList',{carNo:this.carNo}).then(res => {
                  uni.hideLoading();
                  this.driverTemporaryEntry = res.data;
                  uni.stopPullDownRefresh();
                  this.handleOpenChange();
               });
            }
            if(!this.carNo){
               this.$reqGet('getAlreadyCheckTaskCoal',{flag:1,door:this.door}).then(res => {
                  uni.hideLoading();
                  this.driverBillOfLoadingDatas = res.data;
                  uni.stopPullDownRefresh();
                  this.handleOpenChange();
               });
            }else{
               this.$reqGet('getAlreadyCheckTaskCoal',{flag:1,carNo:this.carNo,door:this.door}).then(res => {
                  uni.hideLoading();
                  this.driverBillOfLoadingDatas = res.data;
                  uni.stopPullDownRefresh();
                  this.handleOpenChange();
               });
            }
         },
@@ -217,6 +497,15 @@
         },
         custom(res) {
            console.log(res)
         },
         //查看拼单
         checkDetail(item){
            this.activeObj = item.splicingOrders ? item.splicingOrders : {};
            this.showModal = true;
         },
         confrim(){
            this.showModal = false;
         }
      }
   };
@@ -225,7 +514,7 @@
<style lang="scss" scoped>
   .searchview{
      margin: 20rpx 0;
      height: 200rpx;
      height: 100rpx;
      u-search{
         width: 100rpx;
      }
@@ -251,6 +540,7 @@
      }
   }
   ::v-deep.appointment {
      margin-bottom:  vww(100);
      .appointment-description {
         margin: vww(8) 0;
         color: #fd1446;
@@ -261,31 +551,6 @@
            margin-left: vww(5);
            color: #252525;
         }
      }
      @mixin fourthLine {
         width: 64%;
         height: vww(68);
         display: flex;
         align-items: center;
         position: relative;
         left: vww(102);
         bottom: vww(3);
         .button-img {
            width: vww(122);
            height: vww(41);
            background: url('https://mx.jzeg.cn:9096/appimg/image/banner/button.png') no-repeat;
            background-size: cover;
            font-size: 28rpx;
            font-weight: 300;
            color: #ffffff;
            text-align: center;
            line-height: vww(40);
         }
      }
      .fourth-line {
         @include fourthLine;
      }
      // 表格
@@ -334,7 +599,7 @@
   }
   .collection-form-item {
         margin: 0 vww(15);
         width: 690rpx;
         width: 95%;
         height: 370rpx;
         background: #ffffff;
         box-shadow: 4rpx 6rpx 25rpx 0rpx rgba(73, 120, 240, 0.15);
@@ -380,19 +645,24 @@
            }
   
            .point-number {
               width: 15%;
               width: 33%;
   
               text {
                  font-size: 24rpx;
                  font-weight: 400;
                  color: #c78a64;
               .order-type {
                  color: #035cfb;
                  border-radius: 4rpx;
                  text-align: center;
               }
               // text {
               //    font-size: 24rpx;
               //    font-weight: 400;
               //    color: #c78a64;
               // }
   
               .residue {
                  font-size: 40rpx;
                  font-weight: 400;
                  color: #f81414;
               }
               // .residue {
               //    font-size: 40rpx;
               //    font-weight: 400;
               //    color: #f81414;
               // }
            }
         }
   
@@ -418,7 +688,7 @@
                  width: 2rpx;
                  height: 30rpx;
                  background: #515151;
                  margin-left: vww(12);
                  margin: 0 vww(12) ;
               }
   
               .coal-type {
@@ -447,5 +717,58 @@
               color: #515151;
            }
         }
         .fourth-line {
            width: 100%;
            height: vww(30);
            @include flex;
            justify-content: flex-start;
            position: relative;
            bottom: vww(10);
            left: 25%;
            .receive,
            .forward {
               width: vww(123);
               height: vww(48);
               @include flex;
               justify-content: center;
               color: #ffffff;
               font-size: 28rpx;
               position: absolute;
               .button-image {
                  width: 100%;
                  height: 100%;
                  background: url('../../../static/image/banner/button.png') no-repeat;
                  background-size: cover;
                  font-size: 28rpx;
                  font-weight: 300;
                  color: #ffffff;
                  text-align: center;
                  line-height: vww(45);
               }
            }
            .receive {
               left: vww(20);
            }
            .forward {
               width: vww(106);
               left: vww(140);
               .button-image {
                  width: 100%;
                  height: 100%;
                  background: url('../../../static/image/banner/transpartent.png') no-repeat;
                  background-size: cover;
                  font-size: 28rpx;
                  font-weight: 300;
                  color: #3b56eb;
                  text-align: center;
                  line-height: vww(45);
               }
            }
         }
      }
</style>