qingyiay
2023-10-08 cbfc1953c7e7333dbcb1e43fff15433ed24fc543
pages/driver-page/driver-index/bill-of-lading-details/bill-of-lading-details.vue
@@ -1,383 +1,1254 @@
<template>
   <view class="bill-of-lading-details">
      <view class="bangDanMessage">
         <view class="">
            <text>客户:{{ coalDetailsData.customerName || '' }}</text>
            <text>矿场:{{ coalDetailsData.deptName || '' }}</text>
      <view class="top-banner"
         style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/loadingbanner.png') no-repeat;background-size: cover;">
         <u-notice-bar :text="originInfoNotice"
            v-if="originInfoVisible"
            fontSize='36'></u-notice-bar>
         <view class="top-information">
            <view class="cutomer-name"
               v-if="orderType == '转入' || orderType == '转出'">煤场:{{ coalDetailsData.toFiledName || '' }}</view>
            <view class="cutomer-name"
               v-else>客户:{{ coalDetailsData.customerName || '' }}</view>
            <view class="fild-name">
               <view class="">矿场:{{ coalDetailsData.deptName || '暂无' }}</view>
               <view class=""
                  v-if="orderType == '转入' || orderType == '转出'">煤场:{{ coalDetailsData.filedName || '' }}</view>
               <view class=""
                  v-else>煤场:{{ coalDetailsData.filedName || '暂无' }}</view>
            </view>
         </view>
         <view class="">
            <text>皮重:{{ coalDetailsData.skin || '' }}</text>
            <text>毛重:{{ coalDetailsData.hair || '' }}</text>
            <text>净重:{{ coalDetailsData.clean || '' }}</text>
         </view>
         <view class="">
            <text>磅单类型:{{ coalDetailsData.orderType || '' }}</text>
            <text>状态:{{ coalStatus[coalDetailsData.status] }}</text>
         </view>
         <view class="">
            <text>煤场:{{ coalDetailsData.filedName || '' }}</text>
            <text>发运时间:{{ coalDetailsData.sendDate || '' }}</text>
            <text>提煤单编号:{{ coalDetailsData.code || '' }}</text>
            <text>订单编号:{{ coalDetailsData.orderCode || '' }}</text>
         <view class="block-information">
            <view class="block-main">
               <view class="basic">
                  <view class="coalName">{{ coalDetailsData.coalName }}</view>
                  <view class="status-button"
                     style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/statusbutton.png') no-repeat;
                              background-size: cover;">
                     {{coalStatus[correctStatus]||''}}
                  </view>
               </view>
               <view class="time">
                  <view class="time-icon"><u-icon name="clock"
                        color="#515151"
                        size="40"></u-icon></view>
                  <view class="send-date">{{ coalDetailsData.sendDate }}</view>
               </view>
               <view class="coal-code">提煤单编号:&nbsp;&nbsp;{{ coalDetailsData.code || '' }}</view>
               <view class="order-code">
                  订单编号:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{ coalDetailsData.orderCode || '' }}</view>
               <view class="weigh-item">
                  <view class="item">
                     <view class="concrete"
                        style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/skin.png') no-repeat;background-size: cover;">
                        皮</view>
                     <view class="num">{{ coalDetailsData.skin||"" }}</view>
                  </view>
                  <view class="item">
                     <view class="concrete"
                        style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/hair.png') no-repeat;background-size: cover;">
                        毛</view>
                     <view class="num">{{ coalDetailsData.hair||""  }}</view>
                  </view>
                  <view class="item">
                     <view class="concrete"
                        style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/clean.png') no-repeat;background-size: cover;">
                        净</view>
                     <view class="num">{{ coalDetailsData.clean||""  }}</view>
                  </view>
               </view>
            </view>
         </view>
      </view>
      <view class="timeLine" style="font-size: 16rpx;">
         <u--text type="primary" size="30" plain v-for="(item, index) in dayRZ" :key="index" :text="item.taskStatusDes"></u--text>
      <view class="origin-info"
         v-if="originInfoVisible">
         <view class="origin-info_wrapper">
            <view class="origin-info_content">
               <view class="first-line"><combined-title title="原发信息"></combined-title></view>
               <u-form :model="originInfoForm"
                  :rules="rules"
                  label-position="top"
                  label-width="160"
                  :label-style="{'marginLeft':'9px'}"
                  ref="originInfoRef">
                  <u-form-item prop="coalContactSkin">
                     <view class="second-line">
                        <view class="label-text"
                           :class="{ focusClass: isfocus1 }"><text style="color: #f56c6c;">*</text>皮重</view>
                        <view class="input-container"
                           :class="{ inputClass: isfocus1, disabledClass: isModifyoriginInfo }">
                           <u--input placeholder="请输入皮重"
                              border="surround"
                              v-model="originInfoForm.coalContactSkin"
                              @focus="inputFocus(1)"
                              @blur="inputBlur"
                              @change="inputChange"
                              :disabled="isModifyoriginInfo"></u--input>
                        </view>
                        <view class="unit"
                           :class="{ focusClass: isfocus1 }">吨</view>
                     </view>
                  </u-form-item>
                  <u-form-item prop="coalContactHair">
                     <view class="second-line">
                        <view class="label-text"
                           :class="{ focusClass: isfocus2 }"><text style="color: #f56c6c;">*</text>毛重</view>
                        <view class="input-container"
                           :class="{ inputClass: isfocus2, disabledClass: isModifyoriginInfo }">
                           <u--input placeholder="请输入毛重"
                              border="surround"
                              v-model="originInfoForm.coalContactHair"
                              @focus="inputFocus(2)"
                              @blur="inputBlur"
                              @change="inputChange"
                              :disabled="isModifyoriginInfo"></u--input>
                        </view>
                        <view class="unit"
                           :class="{ focusClass: isfocus2 }">吨</view>
                     </view>
                  </u-form-item>
                  <u-form-item>
                     <view class="second-line">
                        <view class="label-text"><text style="color: #f56c6c;">*</text>净重</view>
                        <view class="input-container"
                           :class="{ disabledClass: isModifyoriginInfo }">
                           <u--input placeholder="净重"
                              border="surround"
                              v-model="coalContactClean"
                              :disabled="isModifyoriginInfo"></u--input>
                        </view>
                        <view class="unit">吨</view>
                     </view>
                  </u-form-item>
                  <u-form-item prop='contactPicture'>
                     <view class="label-text">
                        <text style="color: #f56c6c;">*</text>原发磅单
                     </view>
                     <u-upload :fileList="fileList1"
                        @afterRead="afterRead"
                        @delete="deletePic"
                        name="1"
                        multiple
                        :maxCount="2"
                        width="250"
                        height="150"
                        :previewFullImage="true"
                        :disabled="isModifyoriginInfo"
                        :deletable="!deletable"></u-upload>
                  </u-form-item>
               </u-form>
               <view class="submit-button">
                  <u-button text="提交"
                     type="primary"
                     @click.stop="submitOriginInfo"
                     :disabled="isModifyoriginInfo"></u-button>
               </view>
            </view>
         </view>
      </view>
      <view class="timeLine">
         <u-steps :current="dayRZ.length - 1"
            direction="column"
            dot>
            <u-steps-item :title="item.taskStatusDes"
               v-for="(item, index) in dayRZ"
               :key="index"></u-steps-item>
         </u-steps>
      </view>
      <view class="white-block">
      </view>
      <view class="utilsBox">
         <view class="utils_chil utils_chilTop">
            <u-button text="签到" type="primary" plain @click="arriveClick"></u-button>
            <u-button text="入场申请" type="primary" plain @click="rcsqClick"></u-button>
            <u-button text="放空" type="primary" plain @click="evacuation" throttleTime="500"></u-button>
            <u-button text="呼叫客服" type="primary" plain @click="callCustomerService"></u-button>
            <view class="top-button">
               <u-button text="签到"
                  type="primary"
                  plain
                  @click="arriveClick"
                  shape="circle"
                  :disabled="coalDetailsData.status >= 2"></u-button>
               <u-button text="入场申请"
                  type="primary"
                  plain
                  @click="rcsqClick"
                  shape="circle"
                  :disabled="correctStatus>= 3"></u-button>
            </view>
            <view class="bottom-button">
               <u-button text="放空"
                  type="primary"
                  plain
                  @click="evacuation"
                  throttleTime="500"
                  shape="circle"
                  :disabled="isEvacuation || isapproach"></u-button>
               <u-button text="呼叫客服"
                  type="primary"
                  plain
                  @click="callCustomerService"
                  shape="circle"></u-button>
            </view>
         </view>
         <view class="utils_chil"><u-button text="展示提煤单" @click="showCaolPickUpBill" type="primary"></u-button></view>
         <view class="utils_chil"><u-button text="上磅计量" @click="cengZhongClick" type="primary"></u-button></view>
      </view>
      <view class="weigh-ability">
         <view class="weigh-button"
            v-show='ablePrintInduction'>
            <u-button text="打印入门证"
               @click="printEntryCertificate"
               type="primary"
               shape="circle"
               :loading="enterLoading"
               loadingText="打印中,请稍候"></u-button>
         </view>
         <view class="weigh-button"
            v-show="ablePrintOut">
            <u-button text="打印出门证"
               @click="printExitPermit"
               type="primary"
               shape="circle"
               :loading="outLoading"
               loadingText="打印中,请稍候"></u-button>
         </view>
         <view class="weigh-button"><u-button text="展示提煤单"
               @click="showCaolPickUpBill"
               type="primary"
               shape="circle"></u-button></view>
         <view class="weigh-button"><u-button text="上磅计量"
               @click="cengZhongClick"
               type="primary"
               shape="circle"
               :disabled="haveInputOrigin"></u-button></view>
      </view>
      <view class="evacuationModal">
         <u-modal
            :show="evacuationModalShow"
         <u-modal :show="evacuationModalShow"
            :title="evacuationTitle"
            :content="evacuationContent"
            :showCancelButton="true"
            @confirm="evacuationConfirm"
            @cancel="evacuationCancel"
         ></u-modal>
            @cancel="evacuationCancel"></u-modal>
      </view>
      <view class="completeOutSale">
         <u-modal :show="completeOutSaleShow"
            title="确认"
            content="是否完成外销提煤单"
            :showCancelButton="true"
            @confirm="completeOutSaleConfirm"
            @cancel="completeOutSaleCancel"></u-modal>
      </view>
      <view class="serviece-customer">
         <u-action-sheet :actions="list"
            @select="selectClick"
            @close='serviceClose'
            title="呼叫方式"
            :show="servieceShow"
            cancelText="取消"></u-action-sheet>
      </view>
      <!-- 磅房忙碌提示弹窗 -->
      <view class="">
         <u-modal :show="wsgShow"
            title="提示"
            :content="wsgContent"
            @confirm="wsgContentConfirm"></u-modal>
      </view>
   </view>
</template>
<script>
import { webSocketUrl } from '@/api/request.js';
import { mapState, mapMutations } from 'vuex';
export default {
   onLoad(value) {
      if (value.orderPlanId && value.yyId) {
   import { webSocketUrl } from '@/api/request.js';
   import { BaseUrl } from '@/api/publicInterface.js';
   import { mapState, mapMutations } from 'vuex';
   import combinedTitle from '@/components/combined-title/combined-title.vue';
   import BigNumber from "bignumber.js"
   const dayjs = require('dayjs')
   export default {
      components: {
         combinedTitle
      },
      onPullDownRefresh() {
         this.getTakeCoal(); //获取提煤单详情
         uni.stopPullDownRefresh();
      },
      onLoad(value) {
         this.orderPlanId = value.orderPlanId;
         this.yyId = value.yyId;
      }
      // wx.startRecord();
   },
   data() {
      return {
         orderPlanId: null,
         yyId: null,
         dayRZ: [],
         coalDetailsData: {}, // 提煤单详情
         currentPageCoalStatus: 0, // 当前页面提煤单状态
         // 获取所在磅房参数
         getWeightHouseObj: {
            deptId: '',
            filedId: '',
            tmId: '',
            tmCode: '',
            carNo: ''
         },
         // 获取入场申请的列表页面参数
         getYuYueDataParams: {
            deptId: '',
            filedId: '',
            sendDate: ''
         },
         // 获取客服openid参数
         getServiceOpenid: {
            deptId: '',
            filedId: ''
         },
         // 客服信息
         serviceInfoObj: {
            openId: null,
            openName: ''
         },
         coalStatus: ['领取', '预约', '签到', '入场', '称皮', '称毛', '离场', '入磅房', '出磅房', '入煤场', '出煤仓', '放空'], // 状态
         weighHouseCode: '',
         // 放空弹窗控制变量
         evacuationModalShow: false,
         evacuationTitle: '放空确认',
         evacuationContent: '是否确认放空',
         // 第一次放空参数
         weighData: {
            sceneId: '',
            gateCameraId: '',
            equipmentCode: '',
            weigh: 0
         },
         // 原发信息
         primarySkin: null,
         primaryHair: null,
         primaryClean: null
      };
   },
   onShow() {
      this.init();
   },
   computed: {
      ...mapState(['globalweigh', 'globalinfraredStatus']),
      name() {
         return uni.getStorageSync('name');
      },
      openid() {
         return uni.getStorageSync('openid');
      }
   },
   methods: {
      init() {
         this.coalDayPage(); //获取日志
         this.getTakeCoal(); //获取提煤单详情
         this.originInfoVisible = value.orderType === '外购'
         if (value.overTmWaixiao) {
            this.overTmWaixiao = value.overTmWaixiao
            this.getWeightHouseObj.overTmWaixiao = value.overTmWaixiao
         }
         this.fileList1 = []
         this.changeglobalIsFirstWeighing(1)
         if (this.globalIsFirstWeighing === 1) {
            console.log('获取详情 onload');
            this.getTakeCoal(); //获取提煤单详情
         }
         this.init(); //获取日志
         this.getgetService(); //获取客服
      },
      // 获取客服openid
      getgetService() {
         this.$reqGet('getCallOutList', this.getServiceOpenid).then(res => {
            console.log(res, '客服openid');
            if (res.code != 0) {
               this.$u.toast('获取客服信息失败');
            } else {
               if (res.data.length > 0) {
                  this.serviceInfoObj.openId = res.data[0].openId;
                  this.serviceInfoObj.openName = res.data[0].openName;
                  uni.setStorageSync('customeropenId', this.serviceInfoObj.openId);
                  uni.setStorageSync('customerName', this.serviceInfoObj.openName);
               }
      onShow() {
         this.coalDayPage(); //获取日志 定时任务
         if (this.globalIsFirstWeighing === 2) {
            console.log('获取详情 onShow');
            this.getTakeCoal(); //获取提煤单详情
         }
      },
      onHide() {
         clearInterval(this.interval);
      },
      onReady() {
         if (this.originInfoVisible) {
            this.$refs.originInfoRef.setRules(this.rules);
         }
      },
      beforeDestroy() {
         clearInterval(this.interval);
      },
      data() {
         return {
            orderPlanId: null,
            yyId: null,
            dayRZ: [],
            coalDetailsData: {}, // 提煤单详情
            currentPageCoalStatus: 0, // 当前页面提煤单状态
            // 获取所在磅房参数
            getWeightHouseObj: {
               deptId: '',
               filedId: '',
               tmId: '',
               tmCode: '',
               carNo: ''
            },
            // 获取入场申请的列表页面参数
            getYuYueDataParams: {
               deptId: '',
               filedId: '',
               sendDate: ''
            },
            // 获取客服openid参数
            getServiceOpenid: {
               deptId: '',
               filedId: ''
            },
            // 客服信息
            serviceInfoObj: {
               openId: null,
               openName: '',
               serviecePhone: ''
            },
            coalStatus: ['领取', '预约', '签到', '入场', '称皮', '称毛', '离场', '入磅房', '出磅房', '入煤仓', '出煤仓', '放空', '作废', '入场申请',
               '进入场院', '异常审核中', '返回加减吨', '超时', '打印中', '打印中'
            ], // 状态
            weighHouseCode: '',
            // 放空弹窗控制变量
            evacuationModalShow: false,
            evacuationTitle: '放空确认',
            evacuationContent: '是否确认放空',
            // 第一次放空参数
            weighData: {
               sceneId: '',
               gateCameraId: '',
               equipmentCode: '',
               weigh: 0,
               sceneInOut: ''
            },
            // 原发信息
            primarySkin: null,
            primaryHair: null,
            primaryClean: null,
            scrollTop: 0,
            // 磅单类型
            orderType: '',
            interval: '',
            // 完成外销订单
            completeOutSale: {
               deptId: "",
               filedId: "",
               orderType: "",
               clean: ""
            },
            completeOutSaleShow: false,
            overTmWaixiao: null,
            list: [{ name: '手机号', subname: '1213456', id: 1 }, { name: '微信语音', id: 2 }], //呼叫客服选项
            servieceShow: false,
            ablePrintInduction: false, //入门证是否显示
            ablePrintOut: false, //出门证是否显示
            enterLoading: false, //入门按钮loading
            outLoading: false, //出门按钮loading
            // 是否填写原发信息
            isInputOrigin: false,
            haveInputOrigin: false,
            isModifyoriginInfo: false,
            // 聚焦时改变样式
            isfocus1: false,
            isfocus2: false,
            // 输入的原发信息
            originInfoForm: {
               coalContactSkin: '',
               coalContactHair: '',
               coalContactClean: 0,
               contactPicture: ''
            },
            originInfoVisible: false,
            fileList1: [], //图片列表
            deletable: true,
            rules: {},
            timeout: '0',
            wsgShow: false,
            timeLineStatus: null,
            originInfoNotice: '填写原发信息后可上磅计量'
         };
      },
      watch: {
         '$store.state.wsgVisiable': {
            deep: true,
            handler: function(val) {
               this.wsgShow = val
            }
         });
         }
      },
      // 获取提煤单详情
      getTakeCoal() {
         this.$reqGet('getTakeCoal', { takeCoalId: this.orderPlanId }).then(res => {
            if (res.code == 0) {
               console.log(res, '提煤单详情');
               this.coalDetailsData = res.data;
               // 获取所在磅房参数赋值
               this.getWeightHouseObj.deptId = this.coalDetailsData.deptId;
               this.getWeightHouseObj.filedId = this.coalDetailsData.filedId;
               this.getWeightHouseObj.tmId = this.coalDetailsData.id;
               this.getWeightHouseObj.tmCode = this.coalDetailsData.code;
               this.getWeightHouseObj.carNo = this.coalDetailsData.carNo;
               // 获取入场申请操作后的预约列表的参数
               this.getYuYueDataParams.deptId = this.coalDetailsData.deptId;
               this.getYuYueDataParams.filedId = this.coalDetailsData.filedId;
               this.getYuYueDataParams.sendDate = this.coalDetailsData.sendDate;
               // 获取客服openId参数赋值
               this.getServiceOpenid.deptId = this.coalDetailsData.deptId;
               this.getServiceOpenid.filedId = this.coalDetailsData.filedId;
               // 获取提煤单状态
               this.currentPageCoalStatus = this.coalDetailsData.status;
               // 获取原发信息
               this.primarySkin = this.coalDetailsData.skinTwo;
               this.primaryHair = this.coalDetailsData.hairTwo;
               this.primaryClean = this.coalDetailsData.cleanTwo;
            }
         });
      computed: {
         ...mapState(['globalweigh', 'globalinfraredStatus', 'wsgVisiable', 'wsgContent', 'globalIsFirstWeighing']),
         name() {
            return uni.getStorageSync('name');
         },
         openid() {
            return uni.getStorageSync('openid');
         },
         // 获取今天日期
         currentDate() {
            let time = new Date();
            let year = time.getFullYear();
            let month = time.getMonth() + 1;
            month = month < 10 ? '0' + month : month;
            let date = time.getDate();
            date = date < 10 ? '0' + date : date;
            return `${year}-${month}-${date}`;
         },
         //
         isEvacuation() {
            return this.coalDetailsData.hair !== 0 || this.coalDetailsData.skin !== 0;
         },
         isapproach() {
            return this.correctStatus !== 3
         },
         coalContactClean() {
            let xx = BigNumber(this.originInfoForm.coalContactHair ? this.originInfoForm.coalContactHair : 0)
            let yy = BigNumber(this.originInfoForm.coalContactSkin ? this.originInfoForm.coalContactSkin : 0)
            return xx.minus(yy).toNumber().toFixed(2) || ''
         },
         currentTime() {
            let currentDate = new Date();
            let year = currentDate.getFullYear();
            let month = ("0" + (currentDate.getMonth() + 1)).slice(-2);
            let date = ("0" + currentDate.getDate()).slice(-2);
            let hours = ("0" + currentDate.getHours()).slice(-2);
            let minutes = ("0" + currentDate.getMinutes()).slice(-2);
            let formattedDate = year + "-" + month + "-" + date + " " + hours + ":" + minutes;
            return formattedDate
         },
         correctStatus() {
            return this.currentPageCoalStatus === this.timeLineStatus ? this.currentPageCoalStatus : this
               .timeLineStatus
         }
      },
      // 日志查询
      coalDayPage() {
         this.$reqGet('coalDayPage', { id: this.orderPlanId }).then(res => {
            if (res.code == 0) {
               this.dayRZ = res.data;
            }
         });
      },
      // 展示提煤单详情
      showCaolPickUpBill() {
         uni.navigateTo({
            url: `/pages/driver-page/driver-index/bill-of-lading-details/coal-pick-up-bill/coal-pick-up-bill?orderPlanId=${this.orderPlanId}`
         });
      },
      // 签到
      arriveClick() {
         uni.navigateTo({
            url: `/pages/driver-page/driver-index/bill-of-lading-details/punchTheClock/punchTheClock?orderPlanId=${this.orderPlanId}&coalStatus=${
               this.currentPageCoalStatus
            }&tmId=${this.getWeightHouseObj.tmId}`
         });
      },
      // 入场申请
      rcsqClick() {
         uni.navigateTo({
            url: `/pages/driver-page/appointment/appointment?type=入场申请&takeCoalId=${this.orderPlanId}&yyId=${this.yyId}&filedId=${this.getYuYueDataParams.filedId}&deptId=${
               this.getYuYueDataParams.deptId
            }&sendDate=${this.getYuYueDataParams.sendDate}`
         });
      },
      // 呼叫客服
      callCustomerService() {
         // if (!this.serviceInfoObj.openId) {
         // this.$u.toast('无客服信息');
         // }
         wx.getSetting({
            success(res) {
               console.log('授权success', res);
               if (!res.authSetting['scope.camera'] || !res.authSetting['scope.record']) {
                  if (!res.authSetting['scope.camera']) {
                     uni.showToast({
                        title: '无相机权限'
                     });
                  } else if (!res.authSetting['scope.record']) {
                     uni.showToast({
                        title: '无麦克风权限'
                     });
                  }
               } else {
                  wx.join1v1Chat({
                     caller: { nickname: uni.getStorageSync('name'), openid: uni.getStorageSync('openid') },
                     listener: { nickname: uni.getStorageSync('customerName'), openid: uni.getStorageSync('customeropenId') }, // 这里的openid是fyy的,充当固定的客服openid
                     backgroundType: 2,
                     roomType: 'voice',
                     success() {
                        console.log('一对一成功');
                     },
                     fail(err) {
                        console.log('一对一失败', err);
      methods: {
         ...mapMutations(['changewsgVisiable', 'changeisUploadimg', 'changeglobalIsFirstWeighing']),
         init() {
            this.$reqGet('coalDayPage', { id: this.orderPlanId, timeout: this.timeout }).then(res => {
               if (res.code == 0) {
                  this.timeLineStatus = res.data[0].taskStatus
                  this.dayRZ = res.data.map(v => {
                     let slicedate = v.taskStatusDes.slice(0, 10);
                     if (slicedate == this.currentDate) {
                        return {
                           ...v,
                           taskStatusDes: v.taskStatusDes.slice(10)
                        };
                     } else {
                        return { ...v }
                     }
                  });
               }
            },
            fail() {
               console.log('获取失败');
            });
         },
         // 获取客服openid
         getgetService() {
            this.$reqGet('getCallOutList', this.getServiceOpenid).then(res => {
               console.log(res, '客服openid');
               if (res.code != 0) {
                  this.$u.toast(res.msg ? res.msg : '获取客服信息失败');
               } else {
                  this.serviceInfoObj.openId = res.data.openId;
                  this.serviceInfoObj.openName = res.data.openName;
                  this.serviceInfoObj.serviecePhone = res.data.serviecePhone
                  this.$set(this.list[0], 'subname', this.serviceInfoObj.serviecePhone)
                  uni.setStorageSync('customeropenId', this.serviceInfoObj.openId);
                  uni.setStorageSync('customerName', this.serviceInfoObj.openName);
               }
            })
         },
         // 获取提煤单详情
         getTakeCoal() {
            uni.showLoading({
               title: '加载中'
            });
            this.$reqGet('getTakeCoal', { takeCoalId: this.orderPlanId }).then(res => {
               if (res.code == 0) {
                  uni.hideLoading();
                  console.log(res, '提煤单详情');
                  this.coalDetailsData = res.data;
                  this.orderType = this.coalDetailsData.orderType;
                  // 判断是否完成外销订单
                  this.completeOutSale.orderType = this.coalDetailsData.orderType;
                  this.completeOutSale.deptId = this.coalDetailsData.deptId;
                  this.completeOutSale.filedId = this.coalDetailsData.filedId;
                  this.completeOutSale.clean = this.coalDetailsData.clean;
                  // 获取所在磅房参数赋值
                  this.getWeightHouseObj.deptId = this.coalDetailsData.deptId;
                  this.getWeightHouseObj.filedId = this.coalDetailsData.filedId;
                  this.getWeightHouseObj.tmId = this.coalDetailsData.id;
                  this.getWeightHouseObj.tmCode = this.coalDetailsData.code;
                  this.getWeightHouseObj.carNo = this.coalDetailsData.carNo;
                  // 获取入场申请操作后的预约列表的参数
                  this.getYuYueDataParams.deptId = this.coalDetailsData.deptId;
                  this.getYuYueDataParams.filedId = this.coalDetailsData.filedId;
                  this.getYuYueDataParams.sendDate = this.coalDetailsData.sendDate;
                  // 获取客服openId参数赋值
                  this.getServiceOpenid.deptId = this.coalDetailsData.deptId;
                  this.getServiceOpenid.filedId = this.coalDetailsData.filedId;
                  // 获取提煤单状态
                  this.currentPageCoalStatus = this.coalDetailsData.status;
                  // 获取原发信息
                  this.primarySkin = this.coalDetailsData.skinTwo;
                  this.primaryHair = this.coalDetailsData.hairTwo;
                  this.primaryClean = this.coalDetailsData.cleanTwo;
                  // 入门证 和 出门证 是否显示
                  this.ablePrintInduction = this.coalDetailsData.hair || this.coalDetailsData.skin
                  this.ablePrintOut = this.coalDetailsData.hair && this.coalDetailsData.skin || this
                     .coalDetailsData.status === 6
                  // 原发信息回显以及控制是否可修改
                  this.haveInputOrigin = !this.coalDetailsData.skinTwo && this.coalDetailsData.orderType ===
                     '外购'
                  this.deletable = this.coalDetailsData.status > 3
                  this.originInfoForm.coalContactSkin = this.coalDetailsData.skinTwo;
                  this.originInfoForm.coalContactHair = this.coalDetailsData.hairTwo;
                  this.originInfoForm.contactPicture = this.coalDetailsData.contactPicture
                  if (this.coalDetailsData.contactPicture) {
                     this.fileList1 = this.coalDetailsData.contactPicture.split(',').map(v => {
                        return {
                           url: BaseUrl + v
                        }
                     })
                  } else {
                     this.fileList1 = []
                  }
               } else {
                  this.$u.toast('加载失败');
               }
            }).then(() => {
               if (this.completeOutSale.orderType == "内购" || this.completeOutSale.orderType == "转入") {
                  if (this.completeOutSale.clean !== 0 && this.currentPageCoalStatus !== 6 && this
                     .currentPageCoalStatus !== 11 && this.currentPageCoalStatus !== 12) {
                     this.$reqGet('getTmTaskCoalOrderType', {
                        deptId: this.completeOutSale.deptId,
                        filedId: this.completeOutSale.filedId,
                        orderType: '外销'
                     }).then(res => {
                        if (res.data && res.data?.length !== 0) {
                           this.completeOutSaleShow = true
                           console.log(res, '完成外销订单');
                        }
                     })
                  }
               }
            }).then(() => {
               // 判断当前时间是否超出预约时间
               setTimeout(() => {
                  let endTime = this.coalDetailsData.yuYueSection.slice(0, 10) + ' ' + this
                     .coalDetailsData
                     .yuYueSection.slice(-5);
                  if (dayjs(this.currentTime).isAfter(endTime) && this.coalDetailsData.status <= 1) {
                     this.$u.toast('已超出预约时间,可点击入场申请重新入场')
                     this.timeout = '1'
                  }
               }, 1000)
            })
         },
         // 日志查询
         coalDayPage() {
            this.interval = setInterval(() => {
               this.$reqGet('coalDayPage', { id: this.orderPlanId, timeout: this.timeout }).then(res => {
                  if (res.code == 0) {
                     this.timeLineStatus = res.data[0].taskStatus
                     this.dayRZ = res.data.map(v => {
                        let slicedate = v.taskStatusDes.slice(0, 10);
                        if (slicedate == this.currentDate) {
                           return {
                              ...v,
                              taskStatusDes: v.taskStatusDes.slice(10)
                           };
                        } else {
                           return { ...v }
                        }
                     });
                  }
               });
            }, 5000);
         },
         // 展示提煤单详情
         showCaolPickUpBill() {
            uni.navigateTo({
               url: `/pages/driver-page/driver-index/bill-of-lading-details/coal-pick-up-bill/coal-pick-up-bill?orderPlanId=${this.orderPlanId}`
            });
         },
         // 签到
         arriveClick() {
            uni.navigateTo({
               url: `/pages/driver-page/driver-index/bill-of-lading-details/punchTheClock/punchTheClock?orderPlanId=${this.orderPlanId}&coalStatus=${
               this.currentPageCoalStatus
            }&tmId=${this.getWeightHouseObj.tmId}`
            });
         },
         // 入场申请
         rcsqClick() {
            uni.navigateTo({
               url: `/pages/driver-page/appointment/appointment?type=入场申请&takeCoalId=${this.orderPlanId}&yyId=${this.yyId}&filedId=${this.getYuYueDataParams.filedId}&deptId=${
               this.getYuYueDataParams.deptId
            }&sendDate=${this.getYuYueDataParams.sendDate}`
            });
         },
         callCustomerService() {
            this.servieceShow = true
         },
         serviceClose() {
            this.servieceShow = false
         },
         selectClick(v) {
            if (v.id === 2) {
               this.callCustomerServiceImpl()
            } else if (v.id === 1) {
               wx.makePhoneCall({
                  phoneNumber: this.serviceInfoObj.serviecePhone
               })
            }
         });
      },
      calling() {
         // wx.join1v1Chat({
         //    caller: { nickname: this.name, openid: this.openid }, //oZjXk5RRmbroAfl1m5aZ6hRNvqh4
         //    listener: { nickname: this.serviceInfoObj.openName, openid: 'orutI5YT0yEvARVngdsTmBpisWmw' }, // 这里的openid是fyy的,充当固定的客服openid
         //    backgroundType: 2,
         //    roomType: 'voice'
         // });
      },
      // 称重
      cengZhongClick() {
         this.$reqGet('getWeighHouse', this.getWeightHouseObj).then(res => {
            console.log(res, '获取磅房');
            if (res.code == 0) {
               this.weighData.sceneId = res.data.id;
               this.weighData.gateCameraId = res.data.lastEquipmentId;
               this.weighData.equipmentCode = res.data.lastEquipmentCode;
               this.weighHouseCode = res.data.code;
               uni.navigateTo({
                  url: `/pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice?takeCoalId=${this.orderPlanId}&sceneId=${
         },
         // 呼叫客服
         callCustomerServiceImpl() {
            // if (!this.serviceInfoObj.openId) {
            // this.$u.toast('无客服信息');
            // }
            wx.getSetting({
               success(res) {
                  console.log('授权success', res);
                  if (!res.authSetting['scope.camera'] || !res.authSetting['scope.record']) {
                     if (!res.authSetting['scope.camera']) {
                        uni.showToast({
                           title: '无相机权限'
                        });
                     } else if (!res.authSetting['scope.record']) {
                        uni.showToast({
                           title: '无麦克风权限'
                        });
                     }
                  } else {
                     wx.join1v1Chat({
                        caller: {
                           nickname: uni.getStorageSync('username'),
                           openid: uni.getStorageSync(
                              'openid')
                        },
                        listener: {
                           nickname: uni.getStorageSync('customerName'),
                           openid: uni.getStorageSync(
                              'customeropenId')
                        },
                        backgroundType: 2,
                        roomType: 'voice',
                        success() {
                           console.log('一对一成功');
                        },
                        fail(err) {
                           console.log('一对一失败', err);
                        }
                     });
                  }
               },
               fail() {
                  console.log('获取失败');
               }
            });
         },
         // 称重
         cengZhongClick() {
            this.changeglobalIsFirstWeighing(2)
            this.$reqGet('getWeighHouse', this.getWeightHouseObj).then(res => {
               console.log(res, '获取磅房');
               if (res.code == 0) {
                  this.weighData.sceneId = res.data.id;
                  this.weighData.gateCameraId = res.data.lastEquipmentId;
                  this.weighData.equipmentCode = res.data.lastEquipmentCode;
                  this.weighData.sceneInOut = res.data.sceneInOut;
                  let form = {
                     sceneId: this.weighData.sceneId,
                     gateCameraId: this.weighData.gateCameraId,
                     equipmentCode: this.weighData.equipmentCode,
                     sceneInOut: this.weighData.sceneInOut,
                  }
                  uni.setStorageSync('WeighHouseForm', JSON.stringify(form))
                  this.weighHouseCode = res.data.code;
                  uni.navigateTo({
                     url: `/pages/driver-page/driver-index/bill-of-lading-details/weighingDevice/weighingDevice?takeCoalId=${this.orderPlanId}&sceneId=${
                     res.data.id
                  }&gateCameraId=${res.data.lastEquipmentId}&gateCameraCode=${res.data.lastEquipmentCode}&weighHouseCode=${res.data.code}&primarySkin=${
                     this.primarySkin
                  }&primaryHair=${this.primaryHair}&primaryClean=${this.primaryClean}`
                  }&primaryHair=${this.primaryHair}&primaryClean=${this.primaryClean}&sceneInOut=${res.data.sceneInOut}&overTmWaixiao=${this.overTmWaixiao}`
                  });
               } else {
                  this.$u.toast(res.msg ? res.msg : '未在磅房,请前往磅房后再试!!');
               }
            });
         },
         // 放空
         evacuation() {
            this.evacuationModalShow = true;
         },
         // 放空弹窗确认
         evacuationConfirm() {
            this.weighData = {
               ...this.weighData,
               weigh: this.globalweigh
            };
            let mix = Object.assign(this.weighData, this.getWeightHouseObj);
            this.$reqPost('getOneEvacuation', mix, 'json').then(res => {
               console.log(res, '第一次放空');
               if (res.code == 0) {
                  this.$u.toast('操作成功');
                  this.evacuationModalShow = false;
               } else {
                  this.$u.toast('操作失败,请稍后重试');
                  this.evacuationModalShow = false;
               }
            });
         },
         // 放空弹窗取消
         evacuationCancel() {
            this.evacuationModalShow = false;
         },
         // 完成外销确定
         completeOutSaleConfirm() {
            this.completeOutSaleShow = false
            uni.navigateTo({
               url: `/pages/driver-page/driver-index/bill-of-lading-details/completeOutSale/completeOutSale?deptId=${this.completeOutSale.deptId}&filedId=${this.completeOutSale.filedId}`
            })
         },
         // 完成外销取消
         completeOutSaleCancel() {
            this.completeOutSaleShow = false
         },
         // 打印入门证
         printEntryCertificate() {
            uni.showLoading({
               title: '正在打印中,请稍后'
            })
            this.enterLoading = true
            let form = {
               deptId: this.getWeightHouseObj.deptId,
               tmId: this.getWeightHouseObj.tmId,
               carNo: uni.getStorageSync('carNo'),
               type: 2,
               weighingNumber: 1
            }
            this.$reqPost('printer', Object.assign(form, JSON.parse(uni.getStorageSync('WeighHouseForm'))),
               'json').then(
               res => {
                  uni.hideLoading()
                  this.enterLoading = false
                  console.log(res);
                  if (res.code === 0) {
                     this.$u.toast('打印成功')
                  } else {
                     this.$u.toast(res.msg ? res.msg : '打印失败')
                  }
               })
         },
         // 打印出门证
         printExitPermit() {
            uni.showLoading({
               title: '正在打印中,请稍后'
            })
            let form = {
               deptId: this.getWeightHouseObj.deptId,
               tmId: this.getWeightHouseObj.tmId,
               carNo: uni.getStorageSync('carNo'),
               type: 3,
               weighingNumber: 2
            }
            this.outLoading = true
            this.$reqPost('printer', Object.assign(form, JSON.parse(uni.getStorageSync('WeighHouseForm'))),
               'json').then(res => {
               uni.hideLoading()
               this.outLoading = false
               if (res.code === 0) {
                  this.$u.toast('打印成功')
               } else {
                  this.$u.toast(res.msg ? res.msg : '打印失败')
               }
            })
         },
         wsgContentConfirm() {
            this.changewsgVisiable(false)
         },
         // input聚焦
         inputFocus(v) {
            if (v == 1) {
               this.isfocus1 = true;
            } else {
               this.isfocus2 = true;
            }
         },
         // input失焦
         inputBlur() {
            this.isfocus1 = false;
            this.isfocus2 = false;
         },
         inputChange() {
            if (Number(this.originInfoForm.coalContactHair) > 0 && Number(this.originInfoForm.coalContactSkin >
                  0)) {
               this.isInputOrigin = true;
            }
         },
         deletePic(event) {
            this.changeisUploadimg(true);
            this[`fileList${event.name}`].splice(event.index, 1);
         },
         async afterRead(event) {
            // 当设置 mutiple 为 true 时, file 为数组格式,否则为对象格式
            let lists = [].concat(event.file);
            let fileListLen = this[`fileList${event.name}`].length;
            lists.map(item => {
               this[`fileList${event.name}`].push({
                  ...item,
                  status: 'uploading',
                  message: '上传中'
               });
            } else {
               this.$u.toast('未在磅房,请前往磅房后再试!!');
            });
            for (let i = 0; i < lists.length; i++) {
               const result = await this.uploadFilePromise(lists[i].url, event.name);
               let item = this[`fileList${event.name}`][fileListLen];
               this[`fileList${event.name}`].splice(
                  fileListLen,
                  1,
                  Object.assign(item, {
                     status: 'success',
                     message: '上传成功',
                     url: result
                  })
               );
               fileListLen++;
            }
         });
      },
      // 放空
      evacuation() {
         this.evacuationModalShow = true;
      },
      // 放空弹窗确认
      evacuationConfirm() {
         this.weighData = {
            ...this.weighData,
            weigh: this.globalweigh
         };
         let mix = Object.assign(this.weighData, this.getWeightHouseObj);
         this.$reqPost('getOneEvacuation', mix, 'json').then(res => {
            console.log(res, '第一次放空');
            if (res.code == 0) {
               this.$u.toast('操作成功');
               this.evacuationModalShow = false;
            } else {
               this.$u.toast('操作失败,请稍后重试');
               this.evacuationModalShow = false;
         },
         uploadFilePromise(url, num) {
            return new Promise((resolve, reject) => {
               let a = uni.uploadFile({
                  url: BaseUrl + '/admin/sys-file/uploadUnToken',
                  filePath: url,
                  name: 'file',
                  success: res => {
                     if (num == 1) {
                        this.originInfoForm.contactPicture = JSON.parse(res.data)
                           .data.url;
                        resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`);
                     }
                  }
               });
            });
         },
         submitOriginInfo() {
            let form = {
               skin: Number(this.originInfoForm.coalContactSkin),
               hair: Number(this.originInfoForm.coalContactHair),
               clean: Number(this.coalContactClean),
               tmId: this.getWeightHouseObj.tmId,
               contactPicture: this.originInfoForm.contactPicture,
               deptId: this.coalDetailsData.deptId,
               filedId: this.coalDetailsData.filedId,
               coalName: this.coalDetailsData.coalName,
               taskCoalCode: this.coalDetailsData.code,
               carNo: this.coalDetailsData.carNo,
            }
         });
      },
      // 放空弹窗取消
      evacuationCancel() {
         this.evacuationModalShow = false;
            if (this.originInfoForm.coalContactSkin && this.originInfoForm.coalContactHair && this
               .originInfoForm
               .contactPicture) {
               this.$reqPost('appSaveContact', form, 'json').then(res => {
                  if (res.code === 0) {
                     this.$u.toast('提交成功')
                  } else {
                     this.isModifyoriginInfo = true
                     this.$u.toast(res.msg ? res.msg : '提交失败')
                  }
               }).then(() => {
                  setTimeout(() => {
                     this.getTakeCoal()
                  }, 1000)
               })
            } else {
               uni.$u.toast('请填写完整原发信息')
            }
         }
      }
   }
};
   };
</script>
<style lang="scss" scoped>
::v-deep.bill-of-lading-details {
   width: 100%;
   height: 100vh;
   margin: 0 auto;
   display: flex;
   flex-direction: column;
   .bangDanMessage {
      padding: vww(10);
      border: vww(2) solid #dddddd;
      border-radius: vww(20);
      margin: vww(20);
      margin-bottom: vww(10);
      height: 40%;
      font-size: vww(18);
      font-weight: 600;
      view {
         margin-bottom: vww(10);
      }
      view:nth-of-type(1) {
         display: flex;
         text {
            width: 50%;
            text-align: center;
         }
      }
      view:nth-of-type(2) {
         display: flex;
         text {
            width: 33%;
            text-align: center;
         }
      }
      view:nth-of-type(3) {
         display: flex;
         text {
            width: 50%;
            text-align: center;
         }
      }
      view:nth-of-type(4) {
         display: flex;
         flex-direction: column;
         text {
            margin-bottom: vww(10);
            text-align: center;
         }
      }
   }
   .timeLine {
      height: 25%;
      margin: vww(20);
      margin-top: vww(10);
      margin-bottom: vww(10);
      border: vww(2) solid #dddddd;
      border-radius: vww(20);
      padding: vww(20);
      box-sizing: border-box;
      overflow-y: overlay; //行为与 auto 相同,但是滚动条绘制在内容之上,而不是占据空间。
      .u-text {
         margin-bottom: vww(5) !important;
      }
   }
   .utilsBox {
      padding: vww(10) vww(20);
      flex: 1;
      display: flex;
      flex-direction: column;
      .utils_chil {
         flex: 1;
         display: flex;
         align-items: center;
      }
      .utils_chilTop {
         .u-button {
            margin-right: vww(4);
            &:nth-child(4) {
               margin-right: 0;
<style lang="scss"
   scoped>
   /deep/.u-steps {
      .u-steps-item {
         .u-steps-item__content {
            .u-text {
               .u-text__value {
                  font-size: 31rpx !important;
                  font-weight: 300;
                  color: #303030;
               }
            }
         }
      }
   }
}
</style>
   @mixin flex {
      display: flex;
      justify-content: space-between;
      align-items: center;
   }
   ::v-deep.bill-of-lading-details {
      width: 100%;
      height: 100%;
      margin: 0 auto;
      display: flex;
      flex-direction: column;
      .top-banner {
         width: 100%;
         height: 346rpx;
         .top-information {
            width: 94%;
            margin: 0 auto;
            height: vww(52);
            @include flex position: relative;
            flex-direction: column;
            justify-content: space-between;
            align-items: flex-start;
            top: vww(25);
            color: #ffffff;
            font-size: 31rpx;
            font-weight: 300;
            .cutomer-name {
               width: 100%;
               white-space: nowrap;
               overflow: hidden;
               text-overflow: ellipsis;
            }
            .fild-name {
               @include flex;
               justify-content: space-between;
               width: 100%;
               view {
                  min-width: 296rpx;
                  white-space: nowrap;
                  overflow: hidden;
                  text-overflow: ellipsis;
               }
            }
         }
         .block-information {
            width: 690rpx;
            height: 396rpx;
            margin: vww(40) auto;
            background: #ffffff;
            box-shadow: 4rpx 6rpx 51rpx 0rpx rgba(73, 120, 240, 0.11);
            border-radius: 20rpx;
            position: relative;
            font-size: 30rpx;
            font-weight: 300;
            color: #303030;
            overflow: hidden;
            .block-main {
               @include flex width: 94%;
               height: 336rpx;
               margin: vww(18) vww(7) vww(11) vww(17);
               flex-direction: column;
               justify-content: space-between;
               align-items: flex-start;
            }
            .status-button {
               width: vww(71);
               height: vww(36);
               text-align: center;
               line-height: vww(33);
               font-size: 28rpx;
               font-weight: 300;
               position: absolute;
               right: vww(10);
               color: #fff;
            }
            .basic {
               width: 100%;
               height: vww(15);
               @include flex;
               justify-content: flex-start;
               .coalName,
               .order-type {
                  width: 45%;
                  height: 30rpx;
                  font-size: 30rpx;
                  font-weight: 300;
                  color: #515151;
                  position: relative;
               }
               .black-block {
                  width: 2rpx;
                  height: 30rpx;
                  background: #515151;
                  position: relative;
                  top: vww(2);
               }
            }
            .time {
               width: 35%;
               height: vww(12);
               display: flex;
               justify-content: flex-start;
               .send-date {
                  width: 148rpx;
                  height: 24rpx;
                  margin-left: vww(14);
                  font-size: 28rpx;
                  font-weight: 300;
                  color: #515151;
               }
            }
            .coal-code,
            .order-code {
               width: 100%;
               height: 24rpx;
               font-size: 28rpx;
               font-weight: 300;
               color: #7d7d7d;
            }
            .weigh-item {
               width: 100%;
               height: vww(36);
               @include flex;
               justify-content: space-around;
               .item {
                  min-width: vww(50);
                  height: vww(45);
                  font-size: 21rpx;
                  font-weight: 400;
                  color: #ffffff;
                  text-align: center;
                  line-height: vww(30);
                  @include flex;
                  .concrete {
                     width: vww(36);
                     height: vww(36);
                  }
                  .num {
                     font-size: 40rpx;
                     font-weight: 300;
                     color: #303030;
                  }
               }
            }
         }
      }
      .origin-info {
         width: 690rpx;
         height: 600rpx;
         margin: vww(20) vww(15) vww(13);
         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;
         justify-content: center;
         overflow: hidden;
         position: relative;
         top: vww(120);
         &_wrapper {
            width: 650rpx;
            height: 600rpx;
            @include flex;
            flex-direction: column;
            margin-bottom: vww(20);
            position: relative;
            .origin-info_content {
               width: 100%;
               height: 100%;
               overflow-y: scroll;
               .first-line,
               .second-line {
                  width: 90%;
                  height: vww(44);
                  .focusClass {
                     color: #5b95fd;
                  }
                  .inputClass {
                     border: 1px solid rgba(73, 95, 252, 0.6) !important;
                     box-shadow: 0rpx 5rpx 13rpx 0rpx rgba(73, 95, 252, 0.6) !important;
                     border-radius: 12rpx !important;
                  }
                  .isInputOrigin {
                     background-color: #f4f4fc;
                  }
                  .input-container {
                     border: 2px solid #c5c5c5;
                     box-shadow: 0rpx 5rpx 13rpx 0rpx #c5c5c5;
                     border-radius: 12rpx;
                  }
               }
               .first-line {
                  @include flex;
                  position: relative;
                  top: vww(8);
               }
               .second-line {
                  @include flex;
               }
               .submit-button {
                  width: 180rpx;
                  margin: vww(8) auto;
                  .u-button {
                     font-size: 28rpx;
                     font-weight: 300;
                     color: #ffffff;
                     background: #497bfb;
                     letter-spacing: 4rpx;
                     border-radius: 37rpx 37rpx 37rpx 37rpx;
                     box-shadow: 2rpx 3rpx 13rpx 0rpx rgba(43, 98, 239, 0.5), 0rpx 0rpx 9rpx 0rpx rgba(247, 250, 253, 0.29);
                  }
               }
            }
         }
      }
      .timeLine {
         height: 300rpx;
         margin: vww(20);
         position: relative;
         top: vww(120);
         overflow-y: overlay;
         padding: vww(20);
         .u-steps {
            .u-steps-item {
               padding-bottom: vww(35);
               .u-steps-item__wrapper {
                  .u-steps-item__wrapper__dot {
                     background: linear-gradient(-29deg, #426cff 0%, #7991ff 100%);
                     box-shadow: 2rpx 7rpx 10rpx 0rpx rgba(172, 172, 172, 0.64);
                  }
               }
               .u-steps-item__line {
                  height: vww(52) !important;
                  background: #e9e6ea !important;
               }
            }
         }
      }
      .white-block {
         width: 100%;
         height: vww(20);
         background-color: #fff;
      }
      .utilsBox {
         width: 94%;
         margin: 0 auto;
         position: relative;
         top: vww(80);
         .utils_chil {
            width: 100%;
            margin: 0 auto;
            .top-button,
            .bottom-button {
               width: 100%;
               height: vww(47);
               @include flex;
               .u-button {
                  width: 40%;
                  height: 60rpx;
                  font-size: 28rpx;
                  font-weight: 300;
                  color: #497bfb;
                  border: 2px solid #3b56eb;
               }
            }
         }
      }
      .weigh-ability {
         width: 631rpx;
         height: vww(200);
         margin: vww(80) auto;
         margin-top: vww(100);
         margin-bottom: vww(20);
         @include flex;
         flex-direction: column;
         justify-content: flex-start;
         .weigh-button {
            width: 631rpx;
            height: vww(40);
            margin: vww(10);
            .u-button {
               font-size: 28rpx;
               font-weight: 300;
               color: #ffffff;
               background: #497bfb;
               letter-spacing: 4rpx;
               border-radius: 37rpx 37rpx 37rpx 37rpx;
               box-shadow: 2rpx 3rpx 13rpx 0rpx rgba(43, 98, 239, 0.5), 0rpx 0rpx 9rpx 0rpx rgba(247, 250, 253, 0.29);
            }
         }
      }
   }
</style>