yangan
15 小时以前 a28d0135ee42809b2c5863609da37155d3ecba5b
pages/doorkeeper-page/doorkeeper-index/doorkeeper-index.vue
@@ -1,42 +1,199 @@
<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>
         <uni-table border
            stripe
            emptyText="暂无更多数据">
            <uni-tr>
               <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-tr>
            <uni-tr v-for="(item, index) in driverBillOfLoadingData"
               :key="item.id">
               <uni-td align="center">{{ item.driver  }}</uni-td>
               <uni-td align="center">{{ item.productName || '' }}</uni-td>
               <uni-td align="center">{{ item.carNo || '' }}</uni-td>
               <uni-td align="center">{{ item.phone || '' }}</uni-td>
               <uni-td align="center">{{ item.startTime || '' }}-{{item.endTime || ""}}</uni-td>
               <uni-td>
                  <view class="buttons">
                     <u-button text="查看运输证"
                        type="primary"
                        class="buttonitem"
                        v-if="item.roadTransportId"
                        @click="lookRoad(item)"></u-button>
                     <u-button text="检查"
                        type="primary"
                        class="buttonitem"
                        @click="yuYueBtnClick(item)"></u-button>
         <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"
               iconSize="1000"
               text="暂无车辆"
               v-if="driverBillOfLoadingData.length == 0"></u-empty>
         </view>
         <view class="collection-form">
            <view class="collection-form-item"
               v-for="(item, index) in driverBillOfLoadingData"
               :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>
               </uni-td>
            </uni-tr>
         </uni-table>
                  <view class="point-number">
                     <text class="order-type">{{ item.productNames?limitString(item.productNames,20,'...'):'' || '' }}</text>
                  </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>
               </view>
               <view class="second-line">
                     <text>{{ item.orderType || '' }}</text>
               </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.sendDate }} {{ item.startTime || '' }}-{{item.endTime || ""}}</view>
               </view>
               <view class="fourth-line">
                  <view class="receive"
                  v-if="item.roadTransportId"
                     @click.stop="lookRoad(item)">
                     <view class="button-image">剧毒通行证</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.driver ||'' }}</view>
                     <view class="black-bar"></view>
                     <text>{{ item.phone || '' }}</text>
                  </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.sendDate }} {{ item.startTime || '' }}-{{item.endTime || ""}}</view>
               </view>
               <view class="first-line">
                  <view class="dispatch-receive">
                     <view class="dispatch-dept">{{ item.coalName || ''  }}</view>
                     <view class="black-bar"></view>
                     <view class="dispatch">{{ item.customerName ||'' }}</view>
                  </view>
                  <view class="second-line">
                     <text>{{ item.orderType || '' }}</text>
               </view>
                  <view class="point-number">
                     <text class="order-type">{{ item.productNames?limitString(item.productNames,20,'...'):'' || '' }}</text>
                  </view>
               </view>
               <view class="fourth-line">
                  <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">
                  <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>
               </view>
               <view class="second-line">
                        <view class="dispatch-dept">{{ item.orderType || ''  }}</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.inInspectedTime?item.inInspectedTime.slice(10,19):null }} </view>
               </view>
               <view class="fourth-line">
                  <view class="receive"
                  v-if="item.roadTransportId"
                     @click.stop="lookRoad(item)">
                     <view class="button-image">剧毒通行证</view>
                  </view>
               </view>
            </view>
         </view>
         </u-collapse-item>
         </u-collapse>
         <u-popup :show="imgshow"
            @close="closeimg"
            @open="openimg"
@@ -45,12 +202,19 @@
            <view class="imgrPopup">
                  <u--image :showLoading="true"
                     :src="certificateImg != null ? BaseUrl + certificateImg : ''"
                     width="500rpx"
                     width="100%"
                     height="400rpx"
                     @click="imageClick(certificateImg)">
                     <view slot="error"
                        style="font-size: 24rpx;">加载失败</view>
                  </u--image>
                  <view class="driveruser">
                     <view>司机:{{ysData.driverName}}</view>
                  </view>
                  <view class="driveruser">
                     <view>押运员:{{ysData.supercargoInfo?ysData.supercargoInfo.split("|")[0]:null}}</view>
                     <view>手机号:{{ysData.supercargoInfo?ysData.supercargoInfo.split("|")[2]:null}}</view>
                  </view>
            </view>
         </u-popup>
         <view class="previewImage-container">
@@ -59,10 +223,37 @@
               @close="previewImageClose"
               @open="previewImageOpen">
               <u--image :src="previewImageSrc != null ? BaseUrl + previewImageSrc : ''"
                  width="400px"
                  height="400px"></u--image>
               width="750rpx"
               height="800rpx"></u--image>
            </u-popup>
         </view>
         <u-popup :show="doorshow"
            @close="doorclose"
            @open="dooropen"
            mode="center"
            :closeOnClickOverlay='false'
            round="10">
            <view class="doorPopup">
               <view class="doorRadio">
                  <u-radio-group v-model="door"
                     placement="row"
                     size="30"
                     shape="circle"
                     iconSize="20">
                     <u-radio labelSize="14px"
                        size="20px"
                        v-for="(item, index) in doorList"
                        :key="index"
                        :label="item.label"
                        :name="item.name"></u-radio>
                  </u-radio-group>
               </view>
               <view class="doorPopup__btn"><u-button text="确定"
                     type="primary"
                     @click="doorClick"
                     ></u-button></view>
            </view>
         </u-popup>
         <u-popup :show="show"
            @close="close"
            @open="open"
@@ -89,18 +280,65 @@
                     :loading="ClickLoading"></u-button></view>
            </view>
         </u-popup>
         <view class="logoutModel">
            <u-modal :show="logoutShow"
               :title="logoutTitle"
               showCancelButton
               :content="logoutContent"
               @confirm="logoutConfirm"
               @cancel="logoutCancel"></u-modal>
         </view>
         <view class="falseModel">
            <u-modal :show="falseShow"
               :title="logoutTitle"
               showCancelButton
               :content="logoutContent"
               @confirm="falseConfirm"
               @cancel="falseCancel"></u-modal>
         </view>
         <view class="falseModel">
            <u-modal :show="TemporaryEntryShow"
               :title="logoutTitle"
               showCancelButton
               :content="logoutContent"
               @confirm="TemporaryEntryConfirm"
               @cancel="TemporaryEntryCancel"></u-modal>
         </view>
      </view>
</template>
<script>
   import { BaseUrl } from '@/api/publicInterface.js';
   import combinedTitle from '@/components/combined-title/combined-title.vue';
   import previewImage from '@/components/kxj-previewImage/kxj-previewImage.vue';
   export default {
      components: {
         previewImage,
      },
      data() {
         return {
            doorList: [{
                  name: 2,
                  label: '2号门',
               },
               {
                  name: 3,
                  label: '3号门',
               }
            ],
            door:2,
            doorshow:true,
            temporaryPlanId:"",
            show: false, // 弹出全部领取提示
            driverBillOfLoadingData:[],
            driverBillOfLoadingData:[
               {
                  carNo:'冀A99999',
                  orderType:'外购'
               }
            ],
            driverBillOfLoadingDatas:[],
            driverTemporaryEntry:[],
            inspectData:[],
            isAllSelected:false,
            form:{},            
@@ -110,18 +348,113 @@
            imgshow:false,
            ClickLoading:false,
            certificateImg:"",
            previewImageSrc:""
            logoutShow: false,
            falseShow:false,
            TemporaryEntryShow:false,
            logoutTitle: '提示',
            logoutContent: '是否检查完毕',
            previewImageSrc:"",
            ysData:{}
         }
      },
      onShow() {
         this.init();
      },
      methods: {
         imageClick(data) {
            this.previewImageSrc = data;
            this.$nextTick(() => {
               this.previewImageShow = true;
         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;
         },
         falseConfirm(){
            this.inspectData=[]
            uni.showLoading({ title: '加载中...' });
            this.$reqPost('addCheckLog',{
                        carNo:this.form.carNo,
                        taskId:this.form.id,
                        taskcode:this.form.code,
                     }, 'json').then(res => {
               if (res.code === 0) {
                  uni.$u.toast('检查成功')
                  this.form={}
                  this.ClickLoading = false;
                  this.show = false;
                  this.TaskCoalList()
                  this.falseShow = false;
               } else {
                  uni.$u.toast(res.msg ? res.msg : '检查失败')
                  this.falseShow = false;
               }
            })
         },
         TemporaryEntryConfirm(){
            this.$reqPost('temporaryEntryConfirmation',{
                        temporaryPlanId:this.temporaryPlanId,
                     }, 'json').then(res => {
               if (res.code === 0) {
                  this.form={}
                  this.ClickLoading = false;
                  this.show = false;
                  uni.$u.toast('检查成功')
                  this.TaskCoalList()
                  this.TemporaryEntryShow = false;
               } else {
                  uni.$u.toast(res.msg ? res.msg : '检查失败')
                  this.TemporaryEntryShow = false;
               }
            })
         },
         logoutConfirm() {
            if(this.isAllSelected==true){
               this.ClickLoading = true;
               this.inspectData=this.inspectData.map(item=>{
                  return {
                     ...item,
                     valve:"通过"
                  }
               })
               uni.showLoading({ title: '加载中...' });
               this.$reqPost('addCheckLog',{
                           carNo:this.form.carNo,
                           taskId:this.form.id,
                           taskcode:this.form.code,
                           inspectedResult:JSON.stringify(this.inspectData)
                        }, 'json').then(res => {
                  if (res.code === 0) {
                     this.$u.toast('检查成功')
                     this.form={}
                     this.ClickLoading = false;
                     this.inspectData=[]
                     this.show = false;
                     this.logoutShow = false;
                     this.TaskCoalList()
                  } else {
                     this.ClickLoading = false;
                     this.show = false;
                     this.logoutShow = false;
                     this.$u.toast(res.msg || '检查失败')
                  }
               })
            }else{
               this.$u.toast('必须全部检测')
            }
         },
         logoutCancel() {
            this.logoutShow = false;
         },
         falseCancel() {
            this.falseShow = false;
         },
         TemporaryEntryCancel() {
            this.TemporaryEntryShow = false;
         },
         previewImageClose() {
            this.previewImageShow = false;
@@ -136,11 +469,16 @@
         lookRoad(item){
            this.$reqGetId('getById', item.roadTransportId).then(res => {
               this.certificateImg=res.data.certificateImg
               this.ysData=res.data
               this.imgshow=true
            });
         },
         yuYueLiShBtnClick(item){
            this.temporaryPlanId=item.id
            this.TemporaryEntryShow = true;
         },
         yuYueBtnClick(item){
            let char = "运输证";
            let char = "通行证";
            if (item.inspectedResult.includes(char)) {
               if(item.roadTransportId){
                  if(item.inspectedResult){
@@ -168,7 +506,7 @@
                     })
                  }
               }else{
                  uni.$u.toast('该司机未上传运输证!')
                  uni.$u.toast('该司机未上传通行证!')
               }
            } else {
               if(item.inspectedResult){
@@ -176,24 +514,8 @@
                  this.form=item
                  this.show = true;
               }else{
                  this.inspectData=[]
               this.falseShow = true;
                  this.form=item
                  uni.showLoading({ title: '加载中...' });
                  this.$reqPost('addCheckLog',{
                              carNo:this.form.carNo,
                              taskId:this.form.id,
                              taskcode:this.form.code,
                           }, 'json').then(res => {
                     if (res.code === 0) {
                        uni.$u.toast('检查成功')
                        this.form={}
                        this.ClickLoading = false;
                        this.show = false;
                        this.TaskCoalList()
                     } else {
                        uni.$u.toast(res.msg ? res.msg : '检查失败')
                     }
                  })
               }
            }
            
@@ -204,41 +526,24 @@
         },
         init() {
            this.isAllSelected=false
            this.TaskCoalList();
            this.form={}
            this.inspectData=[]
            this.certificateImg=""
            if(uni.getStorageSync('door', this.door)){
               this.TaskCoalList();
            }
         },
         popClick() {
               if(this.isAllSelected==true){
                  this.ClickLoading = true;
                  this.inspectData=this.inspectData.map(item=>{
                     return {
                        ...item,
                        valve:"通过"
                     }
                  })
                  uni.showLoading({ title: '加载中...' });
                  this.$reqPost('addCheckLog',{
                              carNo:this.form.carNo,
                              taskId:this.form.id,
                              taskcode:this.form.code,
                              inspectedResult:JSON.stringify(this.inspectData)
                           }, 'json').then(res => {
                     if (res.code === 0) {
                        uni.$u.toast('检查成功')
                        this.form={}
                        this.ClickLoading = false;
                        this.inspectData=[]
                        this.show = false;
                        this.TaskCoalList()
                     } else {
                        uni.$u.toast(res.msg ? res.msg : '检查失败')
                     }
                  })
               }else{
                  uni.$u.toast('必须全部检测')
               }
            this.logoutShow = true;
         },
         doorClick(){
            this.TaskCoalList();
            this.doorshow = false;
            uni.setStorageSync('door', this.door);
         },
         dooropen() {},
         doorclose() {
            this.doorshow = false;
         },
         open() {},
         close() {
@@ -253,33 +558,58 @@
            uni.showLoading({
               title: '加载中...'
            });
            if(!this.carNo){
               this.$reqGet('getCheckTaskCoal',{flag:0}).then(res => {
               this.$reqGet('getCheckTaskCoal',{flag:0,door:this.door}).then(res => {
                  uni.hideLoading();
                  this.driverBillOfLoadingData = res.data;
                  uni.stopPullDownRefresh();
                  this.handleOpenChange();
               });
               this.$reqGet('getTemporaryEntryInspectionList',{}).then(res => {
                  uni.hideLoading();
                  this.driverTemporaryEntry = res.data;
                  uni.stopPullDownRefresh();
                  this.handleOpenChange();
               });
            }else{
               this.$reqGet('getCheckTaskCoal',{flag:0,carNo:this.carNo}).then(res => {
               this.$reqGet('getCheckTaskCoal',{flag:0,carNo:this.carNo,door:this.door}).then(res => {
                  uni.hideLoading();
                  this.driverBillOfLoadingData = res.data;
                  uni.stopPullDownRefresh();
                  this.handleOpenChange();
               });
               this.$reqGet('getTemporaryEntryInspectionList',{carNo:this.carNo}).then(res => {
                  uni.hideLoading();
                  this.driverTemporaryEntry = res.data;
                  uni.stopPullDownRefresh();
                  this.handleOpenChange();
               });
            }
            if(!this.carNo){
               this.$reqGet('getAlreadyCheckTaskCoal',{flag:0,door:this.door}).then(res => {
                  uni.hideLoading();
                  this.driverBillOfLoadingDatas = res.data;
                  uni.stopPullDownRefresh();
                  this.handleOpenChange();
               });
            }else{
               this.$reqGet('getAlreadyCheckTaskCoal',{flag:0,carNo:this.carNo,door:this.door}).then(res => {
                  uni.hideLoading();
                  this.driverBillOfLoadingDatas = res.data;
                  uni.stopPullDownRefresh();
                  this.handleOpenChange();
               });
            }
         },
         change(res) {
            console.log(res)
         },
         search(res) {
            console.log(res)
            this.TaskCoalList()
         },
         clear(res) {
            this.carNo=""
         },
         custom(res) {
            console.log(res)
         }
      }
   };
@@ -288,20 +618,46 @@
<style lang="scss" scoped>
   .searchview{
      margin: 20rpx 0;
      height: 200rpx;
      height: 100rpx;
      u-search{
         width: 100rpx;
      }
   }
   .imgrPopup{
      width: 500rpx;
      height: 400rpx;
      width: 80vw;
      background-color: #ffffff;
      .driveruser{
         display: flex;
         justify-content: space-between
      }
   }
   .doorPopup{
      height: vww(123);
      width: 60vw;
      display: flex;
      flex-direction: column;
      justify-content: space-evenly;
      align-items:center;
      .doorPopup__btn {
         font-size: 1.4vw;
         margin: vww(10) auto 0;
         width: 80%;
         text-align: center;
         margin: vww(10) auto;
         width: 50%;
         .u-button {
            height: vww(20);
         }
      }
   }
   .receiverPopup {
      height: vww(110);
      width: 300rpx;
      height: vww(153);
      width: 60vw;
      
      .receiverPopup__title {
         font-size: 1.4vw;
         margin: vww(10) auto 0;
         width: 80%;
         text-align: center;
@@ -317,7 +673,21 @@
         }
      }
   }
   /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);
   }
   ::v-deep.appointment {
      margin-bottom:  vww(100);
      .appointment-description {
         margin: vww(8) 0;
         color: #fd1446;
@@ -329,32 +699,7 @@
            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;
      }
      // 表格
      .uni-table-scroll {
         width: 100%;
@@ -362,25 +707,29 @@
         .uni-table {
            min-width: 0 !important;
            .checkbox {
               background: #ffffff;
            }
            .uni-table-tr {
               padding: 0;
               font-size: vww(10);
               .uni-table-th {
                  height: vww(32);
                  line-height: vww(20);
                  padding: vww(5) vww(10);
                  color: #111111;
                  font-size: 2vw;
                  font-weight: 550;
                  background: #f5f5f5;
                  background: #ffffff;
               }
               .uni-table-td {
                  height: vww(32);
                  line-height: vww(20);
                  padding: vww(5) vww(5);
                  font-size: 1.5vw;
                  color: #111111;
                  background: #ffffff;
                  .u-button {
                     height: vww(23);
                  }
@@ -394,11 +743,186 @@
      position: relative;
      top: vww(-120);
   }
   .buttons{
   @mixin flex {
      display: flex;
      justify-content: space-between;
      .buttonitem{
         width: 30%;
      }
      align-items: center;
   }
   .collection-form-item {
         margin: 0 vww(15);
         width: 95%;
         height: 370rpx;
         background: #ffffff;
         box-shadow: 4rpx 6rpx 25rpx 0rpx rgba(73, 120, 240, 0.15);
         border-radius: 20rpx;
         overflow: hidden;
         @include flex;
         flex-direction: column;
         position: relative;
         align-items: flex-start;
         margin-top: vww(10);
         .first-line {
            width: 94%;
            height: vww(30);
            margin: vww(10) vww(16) 0 vww(16);
            display: flex;
            justify-content: space-between;
            .dispatch-receive {
               width: 70%;
               display: flex;
               justify-content: flex-start;
               align-items: center;
               .dispatch-dept {
                  display: flex;
                  align-items: center;
               }
               .black-bar {
                  width: 2rpx;
                  height: 30rpx;
                  background: #515151;
                  margin-left: vww(12);
               }
               .dispatch {
                  margin-left: vww(12);
                  min-width: vww(50);
               }
            }
            .point-number {
               width: 33%;
               .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;
               // }
            }
         }
         .second-line {
            width: 100%;
            height: vww(30);
            margin-left: vww(16);
            display: flex;
            align-items: center;
            justify-content: flex-start;
            .coal-name {
               flex-grow: 1;
               height: 30rpx;
               font-size: 30rpx;
               font-weight: 300;
               color: #515151;
               position: relative;
               display: flex;
               align-items: center;
               .black-bar {
                  width: 2rpx;
                  height: 30rpx;
                  background: #515151;
                  margin: 0 vww(12) ;
               }
               .coal-type {
                  margin-left: vww(12);
                  min-width: vww(50);
                  height: 30rpx;
                  line-height: 30rpx;
                  font-size: 30rpx;
                  font-weight: 300;
                  color: #515151;
               }
            }
         }
         .third-line {
            height: vww(30);
            margin-left: vww(15);
            display: flex;
            justify-content: flex-start;
            align-items: center;
            .send-date {
               margin-left: vww(14);
               height: 24rpx;
               line-height: 24rpx;
               font-size: 28rpx;
               font-weight: 300;
               color: #515151;
            }
         }
         .fourth-line {
            width: 100%;
            height: vww(30);
            @include flex;
            justify-content: flex-start;
            position: relative;
            bottom: vww(10);
            left: 30%;
            .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>