wk
2024-11-13 0f35dd714311f0b39e0bf2e2dccb66761e52835f
pages/driver-page/drvier-my/drvier-my.vue
@@ -1,63 +1,166 @@
<template>
   <view class="driver-my">
      <view class="driver-banner">
         <view class="navgation">我的</view>
         <view class="avatar">
            <view class="avatar-imgage" style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/avatar.png')no-repeat;background-size: cover;"></view>
            <view class="avatar-name">{{ userInfo.name || '' }}</view>
            <view class="edit-button"><u-button type="primary" @click="editBtnClick" shape="circle" plain>编辑个人资料</u-button></view>
      <view class=""
         style="height: 540rpx;width: 100%;">
         <view class="driver-banner">
            <view class="navgation">我的</view>
            <view class="avatar">
               <view class="avatar-imgage"
                  style="background: url('https://wrzs.czjlchem.com:9090/appimg/image/banner/driverava.png')no-repeat;background-size: cover;">
               </view>
               <view class="avatar-name">{{ userInfo.name || '' }}</view>
               <view class="edit-button"><u-button type="primary"
                     @click="editBtnClick"
                     shape="circle"
                     plain>编辑个人资料</u-button></view>
            </view>
         </view>
      </view>
      <view class="process-state"
         v-if="userInfo.isRegister!==2">
         <view class="state-text">
            审核状态
         </view>
         <u--text :type="userInfo.isRegister===0?'primary':'error'"
            :text="userInfo.isRegister===0?'待审核':'未通过'"
            size="32"></u--text>
      </view>
      <view class="car-type">
         <view ><u-button type="primary"
               @click="editDocClick"
               shape="circle"
               plain>编辑证件信息</u-button></view>
      </view>
      <view class="process-tran"
         >
      </view>
      <view class="information-block">
         <view class="personal-information">
            <view class="personal-information-block">
               <view class="block-main">
                  <view class="information-line" @click="">
                  <view class="information-line"
                     @click="">
                     <view class="line-label">
                        <image src="https://mx.jzeg.cn:9095/appimg/image/banner/personalicon.png" mode="widthFix"></image>
                        <image src="https://wrzs.czjlchem.com:9090/appimg/image/banner/personalicon.png"
                           mode="widthFix"></image>
                        <view class="label-text">身份证号</view>
                     </view>
                     <view class="information-value">
                        {{ userInfo.idCard }}
                        <u-icon name="arrow-right" color="#999999" size="30" v-if="userInfo.idCard"></u-icon>
                        {{ idCard || '' }}
                     </view>
                  </view>
                  <view class="information-line">
                     <view class="line-label">
                        <image src="https://mx.jzeg.cn:9095/appimg/image/banner/phonenum.png" mode="widthFix"></image>
                        <image src="https://wrzs.czjlchem.com:9090/appimg/image/banner/phonenum.png"
                           mode="widthFix"></image>
                        <view class="label-text">手机号</view>
                     </view>
                     <view class="information-value">
                        {{ userInfo.phone }}
                        <u-icon name="arrow-right" color="#999999" size="30" v-if="userInfo.phone"></u-icon>
                        {{ userInfo.phone || '' }}
                     </view>
                  </view>
                  <view class="information-line">
                     <view class="line-label">
                        <image src="https://mx.jzeg.cn:9095/appimg/image/banner/carnum.png" mode="widthFix"></image>
                        <image src="https://wrzs.czjlchem.com:9090/appimg/image/banner/carnum.png"
                           mode="widthFix"></image>
                        <view class="label-text">车牌号</view>
                     </view>
                     <view class="information-value">
                        {{ userInfo.carNo }}
                        <u-icon name="arrow-right" color="#999999" size="30" v-if="userInfo.carNo"></u-icon>
                        {{ userInfo.carNo || '' }}
                     </view>
                  </view>
                  <view class="information-line">
                     <view class="line-label">
                        <image src="https://mx.jzeg.cn:9095/appimg/image/banner/axisnum.png" mode="widthFix"></image>
                        <image src="https://wrzs.czjlchem.com:9090/appimg/image/banner/axisnum.png"
                           mode="widthFix"></image>
                        <view class="label-text">车轴数</view>
                     </view>
                     <view class="information-value">
                        {{ userInfo.axleNum }}
                        <u-icon name="arrow-right" color="#999999" size="30" v-if="userInfo.axleNum"></u-icon>
                        {{ userInfo.axleNum || '' }}
                     </view>
                  </view>
                  <view class="information-line last">
                  <view class="information-line">
                     <view class="line-label">
                        <image src="https://mx.jzeg.cn:9095/appimg/image/banner/weighnum.png" mode="widthFix"></image>
                        <image src="https://wrzs.czjlchem.com:9090/appimg/image/banner/weighnum.png"
                           mode="widthFix"></image>
                        <view class="label-text">体重</view>
                     </view>
                     <view class="information-value">
                        {{ userInfo.weight }}
                        <u-icon name="arrow-right" color="#999999" size="30" v-if="userInfo.weight"></u-icon>
                        {{ userInfo.weight || '' }}
                     </view>
                  </view>
                     <!-- 由于是自定义icon  非设计图icon 所以要加上这个style="margin-left: 1.5%;"
                       icon 下载格式为18x18-->
                  <!-- <view class="information-line"
                     @click="modifyPrint">
                     <view class="line-label"
                        style="margin-left: 1.5%;">
                        <image src="https://wrzs.czjlchem.com:9090/appimg/image/banner/printer.png"
                           mode="widthFix"
                           style="width: 18px;"></image>
                        <view class="label-text">磅单样式</view>
                     </view>
                     <view class="information-value">
                        <view class="">
                           {{ currentSelectedPrintStyle===1?'一页两联':'一页四联'}}
                        </view>
                        <u-icon name="arrow-right"
                           size="36"></u-icon>
                     </view>
                  </view> -->
                  <!-- <view class="information-line"
                     @click="addressManageHandle">
                     <view class="line-label"
                        style="margin-left: 1.5%;">
                        <image src="https://wrzs.czjlchem.com:9090/appimg/image/banner/address.png"
                           mode="widthFix"
                           style="width: 18px;"></image>
                        <view class="label-text"
                           style="width:220rpx ;">送货客户管理</view>
                     </view>
                     <view class="">
                        <u-icon name="arrow-right"
                           size="36"></u-icon>
                     </view>
                  </view> -->
                  <view class="information-line"
                     @click="scoreDetail">
                     <view class="line-label"
                        style="margin-left: 1.5%;">
                        <image src="https://wrzs.czjlchem.com:9090/appimg/image/banner/score.png"
                           mode="widthFix"
                           style="width: 36rpx;position: relative;left: 8rpx;"></image>
                        <view class="label-text">我的积分</view>
                     </view>
                     <view class="information-value">
                        <view class="">
                           {{ userInfo.integral || '' }}
                        </view>
                        <view class="">
                           <u-icon name="arrow-right"
                              size="36"></u-icon>
                        </view>
                     </view>
                  </view>
                  <view class="information-line last"
                     @click="scoreCert">
                     <view class="line-label"
                        style="margin-left: 1.5%;">
                        <image src="https://wrzs.czjlchem.com:9090/appimg/image/banner/score.png"
                           mode="widthFix"
                           style="width: 36rpx;position: relative;left: 8rpx;"></image>
                        <view class="label-text">剧毒化学品道路运输通行证</view>
                     </view>
                     <view class="information-value">
                        <view class="">
                           {{ '' }}
                        </view>
                        <view class="">
                           <u-icon name="arrow-right"
                              size="36"></u-icon>
                        </view>
                     </view>
                  </view>
               </view>
@@ -69,23 +172,52 @@
            <view class="information-body">
               <view class="car-img">
                  <view class="label-title">
                     <image src="https://mx.jzeg.cn:9095/appimg/image/banner/carimg.png" mode="widthFix"></image>
                     <image src="https://wrzs.czjlchem.com:9090/appimg/image/banner/carimg.png"
                        mode="widthFix"></image>
                     <view class="label-text">车辆照片</view>
                  </view>
                  <view class="img-container">
                     <u--image :showLoading="true" :src="userInfo.carImg != null ? BaseUrl + userInfo.carImg : ''" width="80px" height="80px" @click="imageClick(1)">
                        <view slot="error" style="font-size: 24rpx;">加载失败</view>
                     <u--image :showLoading="true"
                        :src="userInfo.carImg != null ? BaseUrl + userInfo.carImg : ''"
                        width="80px"
                        height="80px"
                        @click="imageClick(1)">
                        <view slot="error"
                           style="font-size: 24rpx;">加载失败</view>
                     </u--image>
                  </view>
               </view>
               <view class="car-img">
                  <view class="label-title">
                     <image src="https://mx.jzeg.cn:9095/appimg/image/banner/cardimg.png" mode="widthFix"></image>
                     <image src="https://wrzs.czjlchem.com:9090/appimg/image/banner/cardimg.png"
                        mode="widthFix"></image>
                     <view class="label-text">行驶证照片</view>
                  </view>
                  <view class="img-container">
                     <u--image :showLoading="true" :src="userInfo.drivingImg != null ? BaseUrl + userInfo.drivingImg : ''" width="80px" height="80px" @click="imageClick(2)">
                        <view slot="error" style="font-size: 24rpx;">加载失败</view>
                     <u--image :showLoading="true"
                        :src="userInfo.drivingImg != null ? BaseUrl + userInfo.drivingImg : ''"
                        width="80px"
                        height="80px"
                        @click="imageClick(2)">
                        <view slot="error"
                           style="font-size: 24rpx;">加载失败</view>
                     </u--image>
                  </view>
               </view>
               <view class="car-img">
                  <view class="label-title">
                     <image src="https://wrzs.czjlchem.com:9090/appimg/image/banner/cardimg.png"
                        mode="widthFix"></image>
                     <view class="label-text">驾驶证</view>
                  </view>
                  <view class="img-container">
                     <u--image :showLoading="true"
                        :src="userInfo.driverImg != null ? BaseUrl + userInfo.drivingImg : ''"
                        width="80px"
                        height="80px"
                        @click="imageClick(3)">
                        <view slot="error"
                           style="font-size: 24rpx;">加载失败</view>
                     </u--image>
                  </view>
               </view>
@@ -93,464 +225,1487 @@
         </view>
      </view>
      <view class="loginout">
         <view class="loginout-main"><u-button text="退出登录" type="primary" @click="logout" shape="circle" plain></u-button></view>
         <view class="loginout-main"><u-button text="退出登录"
               type="primary"
               @click="logout"
               shape="circle"
               plain></u-button></view>
         <view class="loginout-main"><u-button text="联系我们"
               type="primary"
               @click="contactUs"
               shape="circle"
               plain></u-button></view>
      </view>
      <!-- <view class="personal-information-form">
         <u--form labelPosition="left" :model="userInfo" ref="form1">
            <u-form-item labelWidth="20%" label="姓名" ref="item1">
               <u--input v-model="userInfo.name" border="none" inputAlign="right" disabled disabledColor="#fff"></u--input>
            </u-form-item>
            <u-form-item labelWidth="20%" label="身份证号" ref="item1">
               <u--input v-model="userInfo.idCard" border="none" inputAlign="right" disabled disabledColor="#fff"></u--input>
            </u-form-item>
            <u-form-item labelWidth="20%" label="手机号" ref="item1">
               <u--input v-model="userInfo.phone" border="none" inputAlign="right" disabled disabledColor="#fff"></u--input>
            </u-form-item>
            <u-form-item labelWidth="20%" label="车牌号" ref="item1">
               <u--input v-model="userInfo.carNo" border="none" inputAlign="right" disabled disabledColor="#fff"></u--input>
            </u-form-item>
            <u-form-item labelWidth="20%" label="体重" ref="item1">
               <u--input v-model="userInfo.weight" border="none" inputAlign="right" disabled disabledColor="#fff"></u--input>
            </u-form-item>
            <u-form-item v-model="userInfo.axleNum" labelWidth="20%" label="车轴数" ref="item1">
               <u--input border="none" inputAlign="right" disabled disabledColor="#fff"></u--input>
            </u-form-item>
            <u-form-item labelWidth="20%" label="车辆照片" ref="item1">
               <u--image :showLoading="true" :src="userInfo.carImg != null ? BaseUrl + userInfo.carImg : ''" width="80px" height="80px" @click="imageClick(1)">
                  <view slot="error" style="font-size: 24rpx;">加载失败</view>
               </u--image>
            </u-form-item>
            <u-form-item labelWidth="25%" label="行驶证照片" ref="item1">
               <u--image :showLoading="true" :src="userInfo.drivingImg != null ? BaseUrl + userInfo.drivingImg : ''" width="80px" height="80px" @click="imageClick(2)">
                  <view slot="error" style="font-size: 24rpx;">加载失败</view>
               </u--image>
            </u-form-item>
         </u--form>
         <view class="push-information-button">
            <u-button text="修改个人资料" type="primary" @click="editBtnClick"></u-button>
            <u-button text="退出登录" type="primary" @click="logout"></u-button>
         </view> -->
      <!-- <view class="statistics"><u-button text="发运统计" type="primary" @click="statistics"></u-button></view> -->
      <!-- </view> -->
      <!-- 引导页 -->
      <noob-tour isPersonCenter></noob-tour>
      <!-- 图片预览弹出框 -->
      <view class="previewImage-container">
         <u-popup :show="previewImageShow" mode="center" @close="previewImageClose" @open="previewImageOpen">
            <u--image :src="previewImageSrc != null ? BaseUrl + previewImageSrc : ''" width="400px" height="400px"></u--image>
         <u-popup :show="previewImageShow"
            mode="center"
            @close="previewImageClose"
            @open="previewImageOpen">
            <u--image :src="previewImageSrc != null ? BaseUrl + previewImageSrc : ''"
               width="400px"
               height="400px"></u--image>
         </u-popup>
      </view>
      <!-- 修改弹出框 -->
      <view class="editDriverPopup-container">
         <u-popup :show="editDriverPopupShow" mode="bottom" @close="editDriverPopupClose" @open="editDriverPopupOpen" :closeable="true">
            <combined-title title="修改个人信息" style="margin-left:20rpx"></combined-title>
         <u-popup :show="editDriverPopupShow"
            mode="bottom"
            @close="editDriverPopupClose"
            @open="editDriverPopupOpen"
            :closeable="true">
            <combined-title title="修改个人信息"
               style="margin-left:20rpx"></combined-title>
            <view class="editDriverPopup-container-box">
               <u--form labelPosition="left" :model="editUserInfo" ref="form1">
                  <u-form-item labelWidth="20%" label="姓名" ref="item1"><u--input v-model="editUserInfo.name" border="none" inputAlign="left"></u--input></u-form-item>
                  <u-form-item labelWidth="20%" label="身份证号" ref="item1"><u--input v-model="editUserInfo.idCard" border="none" inputAlign="left"></u--input></u-form-item>
                  <u-form-item labelWidth="20%" label="手机号" ref="item1"><u--input v-model="editUserInfo.phone" border="none" inputAlign="left"></u--input></u-form-item>
                  <u-form-item labelWidth="20%" label="车牌号" ref="item1"><u--input v-model="editUserInfo.carNo" border="none" inputAlign="left"></u--input></u-form-item>
                  <u-form-item labelWidth="20%" label="体重" ref="item1"><u--input v-model="editUserInfo.weight" border="none" inputAlign="left"></u--input></u-form-item>
                  <u-form-item labelWidth="20%" label="车轴数" ref="item1"><u--input v-model="editUserInfo.axleNum" border="none" inputAlign="left"></u--input></u-form-item>
                  <u-form-item labelWidth="25%" label="车辆照片" ref="item1">
                     <u-upload :fileList="fileList1" @afterRead="afterRead" @delete="deletePic" name="1" multiple :maxCount="1" width="250" height="150"></u-upload>
               <u--form labelPosition="left"
                  :model="editUserInfo"
                  ref="editUserInfo">
                  <u-form-item labelWidth="35%"
                     label="姓名"
                     prop="name"
                     required>
                     <u--input v-model="editUserInfo.name"
                        border="none"
                        inputAlign="left"></u--input>
                  </u-form-item>
                  <u-form-item labelWidth="25%" label="行驶证照片" ref="item1">
                     <u-upload :fileList="fileList2" @afterRead="afterRead" @delete="deletePic" name="2" multiple :maxCount="1" width="250" height="150"></u-upload>
                  <!-- <u-form-item labelWidth="35%"
                     label="密码"
                     prop="password"
                     required>
                     <u--input v-model="editUserInfo.password"
                        border="none"
                        inputAlign="left"></u--input>
                  </u-form-item> -->
                  <!-- <u-form-item labelWidth="35%"
                     label="身份证号"
                     prop="idCard"
                     required>
                     <u--input v-model="editUserInfo.idCard"
                        border="none"
                        inputAlign="left"></u--input>
                  </u-form-item> -->
                  <u-form-item labelWidth="35%"
                     label="手机号"
                     prop="phone"
                     required>
                     <u--input v-model="editUserInfo.phone"
                        border="none"
                        disabled
                        inputAlign="left"></u--input>
                  </u-form-item>
                  <!-- <u-form-item labelWidth="35%"
                     label="车牌号"
                     prop="carNo"
                     required>
                     <u--input v-model="editUserInfo.carNo"
                        border="none"
                        inputAlign="left"></u--input>
                  </u-form-item> -->
                  <u-form-item labelWidth="35%"
                     label="体重"
                     prop="weight"
                     >
                     <u--input v-model="editUserInfo.weight"
                        border="none"
                        inputAlign="left"
                        placeholder="体重以kg作为单位"></u--input>
                  </u-form-item>
                  <u-form-item labelWidth="35%"
                     label="车轴数"
                     prop="axleNum"
                     >
                     <u--input v-model="editUserInfo.axleNum"
                        border="none"
                        inputAlign="left"></u--input>
                  </u-form-item>
                  <u-form-item labelWidth="35%"
                     label="环保标准"
                     borderBottom
                     required
                     prop="countryNumberCar">
                     <u-radio-group v-model="editUserInfo.countryNumberCar"
                        placement="row"
                        size="30"
                        shape="circle"
                        iconSize="20">
                        <u-radio labelSize="14px"
                           size="20px"
                           v-for="(item, index) in countryNumberCarList"
                           :key="index"
                           :label="item.label"
                           :name="item.name"></u-radio>
                     </u-radio-group>
                  </u-form-item>
                  <u-form-item labelWidth="35%"
                     label="车辆类型"
                     borderBottom
                     ref="roleRef"
                     required>
                     <niceui-data-select-input v-model="editUserInfo.carType"
                        :localdata="radiolist2"
                        label="车辆类型选择"
                        placeholder="请选择车辆类型"
                        @change="productcarTypeChange"
                        ></niceui-data-select-input>
                  </u-form-item>
                  <u-form-item prop="idCard"
                     label="身份证"
                     labelWidth="35%"
                     borderBottom
                     required
                     >
                     <u--input v-model="editUserInfo.idCard"
                        placeholder="请输入内容"
                        disabled
                        clearable></u--input>
                  </u-form-item>
                     <view style="margin:5vh 30vw" >
                        <u-button text="增加"
                              type="primary"
                              @click="addData"
                        ></u-button>
                     </view>
                     <uni-table
                      border
                        id="table-box"
                        emptyText="暂无更多数据"
                        >
                        <uni-tr>
                           <uni-th align="center" >身份证号</uni-th>
                           <uni-th align="center">操作</uni-th>
                        </uni-tr>
                        <uni-tr v-for="(subItem, index) in tablist" :key="index">
                           <uni-td align="center">
                              <u--input
                                 placeholder="请输入身份证号"
                                 v-model="subItem.idCard"
                                 ></u--input>
                              </uni-td>
                        <uni-td align="right">
                        <view>
                           <u-button text="删除"
                                 type="primary"
                                 @click="delData(index)"></u-button>
                        </view></uni-td>
                     </uni-tr>
                     </uni-table>
                  <u-form-item>
                     <view class="person-utils">
                  <u-button text="修改密码"
                     @click="modifyPassword"
                     type="primary"></u-button>
                  <u-button text="提交"
                     @click="updateUser"
                     type="primary"></u-button>
               </view>
                  </u-form-item>
               </u--form>
               <u-button text="提交" @click="updateUser" type="primary"></u-button>
            </view>
         </u-popup>
      </view>
      <!-- 修改证件弹出 -->
      <view class="editDriverPopup-container">
         <u-popup :show="editDocShow"
            mode="bottom"
            @close="editDocClose"
            @open="editDocOpen"
            :closeable="true">
            <combined-title title="修改证件信息"
               style="margin-left:20rpx"></combined-title>
            <view class="editDriverPopup-container-box">
               <u--form labelPosition="left"
                  :model="registerFormModel"
                  >
                  <u-form-item prop="carImg"
                     label="车辆照片"
                     labelWidth="35%"
                     borderBottom
                     required
                     @click="beforeRead">
                     <u-upload :fileList="fileList6"
                        deletable
                        @afterRead="afterRead"
                        @delete="deletePic"
                        name="6"
                        multiple
                        :maxCount="1"
                        width="250"
                        height="150"
                        :previewFullImage="true">
                     </u-upload>
                  </u-form-item>
                  <u-form-item prop="drivingImg"
                     label="行驶证车头"
                     labelWidth="35%"
                     borderBottom
                     required
                     @click="beforeRead">
                     <u-upload :fileList="fileList2"
                        deletable
                        @afterRead="afterRead"
                        @delete="deletePic"
                        name="2"
                        multiple
                        :maxCount="1"
                        width="250"
                        height="150"
                        :previewFullImage="true">
                     </u-upload>
                  </u-form-item>
                  <u-form-item prop="driverImgCw"
                     label="行驶证车尾"
                     labelWidth="35%"
                     borderBottom
                     required
                     @click="beforeRead">
                     <u-upload :fileList="fileList9"
                        deletable
                        @afterRead="afterRead"
                        @delete="deletePic"
                        name="9"
                        multiple
                        :maxCount="1"
                        width="250"
                        height="150"
                        :previewFullImage="true">
                     </u-upload>
                  </u-form-item>
                  <u-form-item prop="expirationTimeDriving"
                     label="行驶证过期时间"
                     labelWidth="35%"
                     borderBottom>
                     <uni-datetime-picker v-model="registerFormModel.expirationTimeDriving" type="datetime" :start="minDate" />
                  </u-form-item>
                  <u-form-item prop="driverImg"
                     label="驾驶证"
                     labelWidth="35%"
                     borderBottom
                     required
                     @click="beforeRead">
                     <u-upload :fileList="fileList8"
                        deletable
                        @afterRead="afterRead"
                        @delete="deletePic"
                        name="8"
                        multiple
                        :maxCount="1"
                        width="250"
                        height="150"
                        :previewFullImage="true">
                     </u-upload>
                  </u-form-item>
                  <u-form-item prop="expirationTimeDriver"
                     label="驾驶证过期时间"
                     labelWidth="35%"
                     borderBottom>
                     <uni-datetime-picker v-model="registerFormModel.expirationTimeDriver" type="datetime"  :start="minDate" />
                  </u-form-item>
                  <u-form-item prop="roadTransportImg"
                     label="道路运输证车头"
                     labelWidth="35%"
                     borderBottom
                     required
                     @click="beforeRead">
                     <u-upload :fileList="fileList7"
                        deletable
                        @afterRead="afterRead"
                        @delete="deletePic"
                        name="7"
                        multiple
                        :maxCount="1"
                        width="250"
                        height="150"
                        :previewFullImage="true">
                     </u-upload>
                  </u-form-item>
                  <u-form-item prop="roadTransportImgCw"
                     label="道路运输证车尾"
                     labelWidth="35%"
                     borderBottom
                     required
                     @click="beforeRead">
                     <u-upload :fileList="fileList10"
                        deletable
                        @afterRead="afterRead"
                        @delete="deletePic"
                        name="10"
                        multiple
                        :maxCount="1"
                        width="250"
                        height="150"
                        :previewFullImage="true">
                     </u-upload>
                  </u-form-item>
                  <u-form-item prop="expirationTimeRoadtransport"
                     label="证件过期时间"
                     labelWidth="35%"
                     borderBottom
                     >
                     <uni-datetime-picker v-model="registerFormModel.expirationTimeRoadtransport" type="datetime"  :start="minDate" />
                  </u-form-item>
                  <u-form-item prop="tradeQualificationImg"
                     label="从业资格证"
                     labelWidth="35%"
                     borderBottom
                     required
                     @click="beforeRead">
                     <u-upload :fileList="fileList4"
                        deletable
                        @afterRead="afterRead"
                        @delete="deletePic"
                        name="4"
                        multiple
                        :maxCount="1"
                        width="250"
                        height="150"
                        :previewFullImage="true">
                     </u-upload>
                  </u-form-item>
                  <u-form-item prop="tradeQualificationImgYyy"
                     label="从业资格证押运员"
                     labelWidth="35%"
                     borderBottom
                     @click="beforeRead">
                     <u-upload :fileList="fileList11"
                        deletable
                        @afterRead="afterRead"
                        @delete="deletePic"
                        name="11"
                        multiple
                        :maxCount="1"
                        width="250"
                        height="150"
                        :previewFullImage="true">
                     </u-upload>
                  </u-form-item>
                  <u-form-item prop="expirationTimeTradequalification"
                     label="从业资格过期时间"
                     labelWidth="35%"
                     borderBottom
                     >
                     <uni-datetime-picker v-model="registerFormModel.expirationTimeTradequalification" type="datetime"  :start="minDate" />
                  </u-form-item>
               </u--form>
               <view class="person-utils">
                  <u-button text="提交证件修改"
                     @click="updateDoc"
                     type="primary"></u-button>
               </view>
            </view>
         </u-popup>
      </view>
      <view class="logoutModel">
         <u-modal :show="logoutShow" :title="logoutTitle" showCancelButton :content="logoutContent" @confirm="logoutConfirm" @cancel="logoutCancel"></u-modal>
         <u-modal :show="logoutShow"
            :title="logoutTitle"
            showCancelButton
            :content="logoutContent"
            @confirm="logoutConfirm"
            @cancel="logoutCancel"></u-modal>
      </view>
      <!-- <printerStyle ref="printerStyleRef"
         v-if="printerVisible"
         @selectedPrintStyle='selectedPrintStyleHandle' /> -->
   </view>
</template>
<script>
import { customerId, userInfo, redirectLogin } from '@/utils/status';
import { BaseUrl } from '@/api/publicInterface.js';
export default {
   data() {
      return {
         // 获取的司机详情
         userInfo: {},
         // 修改司机详情
         editUserInfo: {
            phone: '',
            name: '',
            username: '',
            type: 3,
            idCard: '',
            carNo: '',
            carImg: '',
            drivingImg: '',
            axleNum: '',
            weight: '',
            userId: ''
         },
         src: '',
         fileList1: [],
         fileList2: [],
         // 修改信息弹出框
         editDriverPopupShow: false,
         // previewImage
         previewImageShow: false,
         previewImageSrc: '',
         // 退出模态框
         logoutShow: false,
         logoutTitle: '提示',
         logoutContent: '是否确认退出',
         BaseUrl
      };
   },
   onShow() {
      // this.init();
   },
   methods: {
      init() {
         this.getUserEntity();
      },
      getUserEntity() {
         uni.showLoading({
            title: '加载中...'
         });
         this.$reqGet('getUserEntity').then(res => {
            uni.hideLoading();
            this.userInfo = res.data;
            Object.keys(this.editUserInfo).map(item => {
               if (res.data[item]) {
                  this.editUserInfo[item] = res.data[item];
   import { redirectLogin } from '@/utils/status';
   import { BaseUrl } from '@/api/publicInterface.js';
   import previewImage from '@/components/kxj-previewImage/kxj-previewImage.vue';
   import noobTour from '@/components/noobTour/noobTour.vue'
   // import printerStyle from '@/subPages/bill-of-lading-details/printerStyle/printerStyle.vue'
   import { mapMutations, mapState } from 'vuex';
   import qianTree from '@/components/qian-tree/qian-tree.vue';
   export default {
      components: { previewImage, noobTour,qianTree },
      data() {
         return {
            tablist:[],
            minDate: this.getToday(),
            customerName:"",
            printerVisible:false,
            // 获取的司机详情
            userInfo: {},
            productName:"",
            // 修改司机详情
            editUserInfo: {
               phone: '',
               name: '',
               username: '',
               type: 3,
               idCard: '',
               carNo: '',
               carImg: '',
               drivingImg: '',
               axleNum: '',
               weight: '',
               userId: '',
               password: "",
               isRegister: 0,
               tradeQualificationImg: '',
               roadTransportImg: '',
               inventoryImg: '',
               countryNumberCar: 0,
               driverImgCw:'',
               roadTransportImgCw:"",
               tradeQualificationImgYyy:"",
            },
            registerFormModel:{},
            radiolist2: [{
                  text: '普通运输车',
                  value:1
               },
               {
                  text: '集装箱平板车',
                  value:2
               },
               {
                  text: '槽车',
                  value:3
               }
            });
         });
            ],
            countryNumberCarList: [{
                  name: 1,
                  label: '国五',
               },
               {
                  name: 2,
                  label: '国六',
               },
               {
                  name: 3,
                  label: '新能源',
               }
            ],
            rules: {
               name: [{
                  type: 'string',
                  required: true,
                  message: '请填写姓名',
                  trigger: ['blur', 'change']
               },
               {
                  pattern: /^[\u4e00-\u9fa5\s]+$/,
                  message: '姓名只能是中文',
                  trigger: ['blur', 'change']
               }],
               idCard: [{
                     type: 'string',
                     required: true,
                     message: '请输入身份证号',
                     trigger: ['blur', 'change']
                  },
                  {
                     pattern: /^([1-6][1-9]|50)\d{4}(18|19|20)\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
                     message: '身份证号格式不正确'
                  }
               ],
               phone: [{
                     required: true,
                     message: '此项为必填项',
                     // blur和change事件触发检验
                     trigger: ['blur', 'change']
                  },
                  {
                     min: 11,
                     max: 11,
                     message: '请输入合法手机号'
                  },
                  {
                     validator: (rule, value, callback) => {
                        return uni.$u.test.mobile(value);
                     },
                     message: '手机号码格式不正确',
                     trigger: ['change', 'blur']
                  }
               ],
               weight: {
                  type: 'number',
                  required: true,
                  trigger: ['blur', 'change'],
                  transform(value) {
                     return Number(value);
                  },
                  validator: (rule, value, callback) => {
                     if (!value) {
                        callback(new Error('请填写体重'))
                     } else if (value > 200) {
                        callback(new Error('请填写合理体重'))
                     } else {
                        callback()
                     }
                  }
               },
               carNo: [{
                     type: 'string',
                     required: true,
                     message: '请输入车牌号',
                     trigger: ['blur', 'change']
                  },
                  {
                     transform(value) {
                        return String(value);
                     },
                     validator: (rule, value, callback) => {
                        return uni.$u.test.carNo(value);
                     },
                     message: '请输入正确的车牌号',
                     trigger: ['change', 'blur']
                  }
               ],
               axleNum: [{
                  transform(value) {
                     return Number(value);
                  },
                  validator: (rule, value, callback) => {
                     return value <= 10 && value > 0;
                  },
                  message: '请输入正确的车轴数',
                  trigger: ['change', 'blur'],
                  required: true,
               }],
               carImg: {
                  type: 'string',
                  required: true,
                  message: '请上传车辆图片',
                  trigger: ['blur', 'change']
               },
               drivingImg: {
                  type: 'string',
                  required: true,
                  message: '请上传行驶证照片',
                  trigger: ['blur', 'change']
               },
               countryNumberCar: {
                  type: 'number',
                  required: true,
                  message: '请选择环保标准',
                  trigger: ['blur', 'change']
               },
               roadTransportImg: {
                  type: 'string',
                  required: true,
                  message: '请上传剧毒通行证照片',
                  trigger: ['blur', 'change']
               },
               tradeQualificationImg: {
                  type: 'string',
                  required: true,
                  message: '请上传从业资格证照片',
                  trigger: ['blur', 'change']
               },
            },
            src: '',
            fileList1: [],
            fileList2: [],
            fileList3: [],
            fileList4: [],
            fileList6: [],
            fileList7: [],
            fileList8: [],
            fileList9: [],
            fileList10: [],
            fileList11: [],
            // 修改信息弹出框
            editDriverPopupShow: false,
            editDocShow:false,
            // previewImage
            previewImageShow: false,
            previewImageSrc: '',
            // 退出模态框
            logoutShow: false,
            logoutTitle: '提示',
            logoutContent: '是否确认退出',
            BaseUrl,
            selectedPrintStyle: null,
            phoneList:[]
         };
      },
      // 修改按钮点击
      editBtnClick() {
         this.editDriverPopupShow = true;
      },
      imageClick(index) {
         // 通过index切换图片
         console.log('切换图片', index);
         if (index == 1) {
            this.previewImageSrc = this.userInfo.carImg;
         } else {
            this.previewImageSrc = this.userInfo.drivingImg;
         }
         this.$nextTick(() => {
            this.previewImageShow = true;
         });
      },
      // 删除
      deletePic(event) {
         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: '上传中'
            });
         });
         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++;
      computed: {
         currentSelectedPrintStyle() {
            return this.selectedPrintStyle ? this.selectedPrintStyle : uni.getStorageSync('selectedPrintStyle')
         },
         idCard() {
            return this.userInfo.idCard.slice(0, 6) + '********' + this.userInfo.idCard.slice(-4)
         }
      },
      uploadFilePromise(url, num) {
         return new Promise((resolve, reject) => {
            let a = uni.uploadFile({
               url: BaseUrl + '/admin/sys-file/uploadUnToken',
               filePath: url,
               name: 'file',
               // formData: {
               //    user: 'test'
               // },
        watch: {
         editDriverPopupShow(newVal) {
           console.log(newVal,'newval')
          let reg=RegExp(/,/)
          if(this.editUserInfo.otherIdCard){
             this.tablist= this.editUserInfo.otherIdCard.split(",").map(item=>{
                return {idCard:item}
             })
          }
         if(newVal)
            this.$nextTick(() => {
             // if(this.$refs.editUserInfo) this.$refs['editUserInfo'].setRules(this.rules);
            });
         }
      },
      onShow() {
         // this.init();
      },
      onReady() {
        // this.$refs.editUserInfo.setRules(this.rules);
      },
      methods: {
         productcarTypeChange(e){
            this.registerFormModel.carType = this.radiolist2.find(v => v.value === e).value
         },
         ...mapMutations(['changeisUploadimg']),
         getToday() {
           let now = new Date();
           let year = now.getFullYear();
           let month = this.padStart(now.getMonth() + 1); // 月份是从0开始的
           let day = this.padStart(now.getDate());
           let hour = this.padStart(now.getHours());
           let minute = this.padStart(now.getMinutes());
           let second = this.padStart(now.getSeconds());
           return `${year}-${month}-${day} ${hour}:${minute}:${second}`;
         },
         padStart(value) {
           return value.toString().padStart(2, '0');
         },
         init() {
            this.getUserEntity();
            uni.request({
               url:  `${BaseUrl}/admin/dict/page`,
               method: 'GET',
               data: {
                  dictType:'Setings'
               },
               header: {
                  Authorization: 'Bearer' + ' ' + uni.getStorageSync('token'),
                  clientToc: 'Y',
                  'CLIENT_TOC': 'Y',
               },
               success: res => {
                  resolve(JSON.parse(res.data).data.url);
                  if (num == 1) {
                     this.editUserInfo.carImg = JSON.parse(res.data).data.url;
                  } else if (num == 2) {
                     this.editUserInfo.drivingImg = JSON.parse(res.data).data.url;
                  let dictId=res.data.data?.records[0].id
                  uni.request({
                     url:  `${BaseUrl}/admin/dict/item/page`,
                     method: 'GET',
                     data: {
                        dictId:dictId
                     },
                     header: {
                        Authorization: 'Bearer' + ' ' + uni.getStorageSync('token'),
                        clientToc: 'Y',
                        'CLIENT_TOC': 'Y',
                     },
                     success: res => {
                        res.data.data.records.forEach(item=>{
                           if(item.description.includes('联系')){
                              this.phoneList=item.value.split(',');
                           }
                        })
                     },
                     fail: err => {
                     }
                  })
               },
               fail: err => {
               }
               })
         },
         contactUs(){
            uni.showActionSheet({
               itemList: this.phoneList,
               success: (res) => {
               uni.makePhoneCall({
                  phoneNumber:this.phoneList[res.tapIndex].split(":")[1]
               })
            },
            fail: (err) => {
               console.log('弹窗取消');
            }
            });
         },
         getUserEntity() {
            uni.showLoading({
               title: '加载中...'
            });
            this.$reqGet('getUserEntity').then(res => {
               uni.hideLoading();
               this.userInfo = res.data;
               // this.userInfo.idCard = this.userInfo.idCard.slice(0, 6) + '********' + this.userInfo.idCard
               //    .slice(-4)
               uni.setStorageSync('carImg', this.userInfo.carImg);
               uni.setStorageSync('drivingImg', this.userInfo.drivingImg);
               uni.setStorageSync('roadTransportImg', this.userInfo.roadTransportImg);
               uni.setStorageSync('tradeQualificationImg', this.userInfo.tradeQualificationImg);
               if (this.fileList1.length == 0 && this.userInfo.carImg) {
                  this.fileList1.push({
                     url: `${BaseUrl}${this.userInfo.carImg}`
                  });
               }
               if (this.fileList2.length == 0 && this.userInfo.drivingImg) {
                  this.fileList2.push({
                     url: `${BaseUrl}${this.userInfo.drivingImg}`
                  });
               }
               if (this.fileList3.length == 0 && this.userInfo.roadTransportImg) {
                  this.fileList3.push({
                     url: `${BaseUrl}${this.userInfo.roadTransportImg}`
                  });
               }
               if (this.fileList4.length == 0 && this.userInfo.tradeQualificationImg) {
                  this.fileList4.push({
                     url: `${BaseUrl}${this.userInfo.tradeQualificationImg}`
                  });
               }
               Object.assign(this.editUserInfo, res.data)
               this.registerFormModel={
                  customerid:res.data.userId,
                  carImg:res.data.carImg,
                  drivingImg:res.data.drivingImg,
                  expirationTimeDriving:res.data.expirationTimeDriving,
                  driverImg:res.data.driverImg,
                  expirationTimeDriver:res.data.expirationTimeDriver,
                  tradeQualificationImg:res.data.tradeQualificationImg,
                  roadTransportImg:res.data.roadTransportImg,
                  expirationTimeRoadtransport:res.data.expirationTimeRoadtransport,
                  expirationTimeTradequalification:res.data.expirationTimeTradequalification,
                  type:res.data.carType,
                  driverImgCw:res.data.driverImgCw,
                  roadTransportImgCw:res.data.roadTransportImgCw,
                  tradeQualificationImgYyy:res.data.tradeQualificationImgYyy,
               }
               if(this.registerFormModel.carImg){
                  if (this.fileList6.length == 0 && this.registerFormModel.carImg.split(",")[0]) {
                     this.fileList6.push({
                        url: `${BaseUrl}${this.registerFormModel.carImg}`
                     });
                  }
                  if (this.fileList8.length == 0 && this.userInfo.driverImg) {
                     this.fileList8.push({
                        url: `${BaseUrl}${this.userInfo.driverImg}`
                     });
                  }
                 }
                  if(this.registerFormModel.roadTransportImg){
                     if (this.fileList7.length == 0 && this.userInfo.roadTransportImg) {
                     this.fileList7.push({
                        url: `${BaseUrl}${this.userInfo.roadTransportImg}`
                     });
                  }
               }
               if(this.registerFormModel.driverImgCw){
                     if (this.fileList9.length == 0 && this.userInfo.driverImgCw) {
                     this.fileList9.push({
                        url: `${BaseUrl}${this.userInfo.driverImgCw}`
                     });
                  }
               }
               if(this.registerFormModel.roadTransportImgCw){
                     if (this.fileList10.length == 0 && this.userInfo.roadTransportImgCw) {
                     this.fileList10.push({
                        url: `${BaseUrl}${this.userInfo.roadTransportImgCw}`
                     });
                  }
               }
               if(this.registerFormModel.tradeQualificationImgYyy){
                     if (this.fileList11.length == 0 && this.userInfo.tradeQualificationImgYyy) {
                     this.fileList11.push({
                        url: `${BaseUrl}${this.userInfo.tradeQualificationImgYyy}`
                     });
                  }
               }
               this.editUserInfo.password = ''
            });
         });
      },
      /**
       * @preview 预览图片
       */
      previewImageClose() {
         this.previewImageShow = false;
      },
      previewImageOpen() {
         console.log('preview open');
      },
      /**
       * @editPopup 修改弹出框事件
       */
      editDriverPopupClose() {
         this.editDriverPopupShow = false;
      },
      editDriverPopupOpen() {
         console.log('打开了');
      },
      // 修改用户信息
      updateUser() {
         this.$reqPost('updateUser', this.editUserInfo, 'json').then(res => {
            console.log('更新数据', res);
            this.editDriverPopupShow = false;
            if (res.code == 0) {
               this.$u.toast('修改成功');
               this.init();
         },
         // 修改按钮点击
         editBtnClick() {
            this.editDriverPopupShow = true;
         },
         editDocClick(){
            this.editDocShow = true;
            this.fileList1=[]
            this.fileList2=[]
            this.fileList3=[]
            this.fileList4=[]
            this.fileList6=[]
            this.fileList7=[]
            this.fileList8=[]
            this.fileList9=[]
            this.fileList10=[]
            this.fileList11=[]
            this.getUserEntity()
         },
         imageClick(index) {
            if (index == 1) {
               this.previewImageSrc = this.userInfo.carImg;
            } else if (index == 2) {
               this.previewImageSrc = this.userInfo.drivingImg;
            } else {
               uni.showToast({
                  title: res.msg,
                  icon: 'none',
                  duration: 2000
               });
               this.previewImageSrc = this.userInfo.driverImg;
            }
         });
      },
      logout() {
         this.logoutShow = true;
      },
      logoutConfirm() {
         redirectLogin();
      },
      logoutCancel() {
         this.logoutShow = false;
      },
      // 跳转发运统计页面
      statistics() {
         uni.navigateTo({
            url: '/pages/customer-page/customer-my/faYunstatistics/faYunstatistics'
         });
            this.$nextTick(() => {
               this.previewImageShow = true;
            });
         },
         beforeRead() {
            this.changeisUploadimg(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: '上传中'
               });
            });
            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++;
            }
         },
         uploadFilePromise(url, num) {
            return new Promise((resolve, reject) => {
               let a = uni.uploadFile({
                  url: BaseUrl + '/admin/sys-file/uploadUnToken',
                  filePath: url,
                  name: 'file',
                  // formData: {
                  //    user: 'test'
                  // },
                  success: res => {
                     if (num == 1) {
                        this.editUserInfo.carImg = JSON.parse(res.data).data.url;
                        this.registerFormModel.carImg = JSON.parse(res.data).data.url;
                        uni.setStorageSync('carImg', JSON.parse(res.data).data.url);
                        resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`);
                     } else if (num == 2) {
                        this.registerFormModel.drivingImg = JSON.parse(res.data).data.url;
                        this.editUserInfo.drivingImg = JSON.parse(res.data).data.url;
                        uni.setStorageSync('drivingImg', JSON.parse(res.data).data.url);
                        resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`);
                     } else if (num == 3) {
                        this.editUserInfo.roadTransportImg = JSON.parse(res.data).data.url;
                        uni.setStorageSync('roadTransportImg', JSON.parse(res.data).data.url);
                        resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`);
                     } else if (num == 4) {
                        this.editUserInfo.tradeQualificationImg = JSON.parse(res.data).data
                           .url;
                        this.registerFormModel.tradeQualificationImg = JSON.parse(res.data).data
                           .url;
                        uni.setStorageSync('tradeQualificationImg', JSON.parse(res.data).data
                           .url);
                        resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`);
                     } else if (num == 5) {
                        this.editUserInfo.inventoryImg = JSON.parse(res.data).data
                           .url;
                        resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`);
                     }else if(num==6){
                        this.registerFormModel.carImg = JSON.parse(res.data)
                           .data.url;
                        resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`);
                     }else if(num==7){
                        this.registerFormModel.roadTransportImg = JSON.parse(res.data)
                           .data.url;
                        resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`);
                     }else if(num==8){
                        this.registerFormModel.driverImg = JSON.parse(res.data)
                           .data.url;
                        resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`);
                     }else if(num==9){
                        this.registerFormModel.driverImgCw = JSON.parse(res.data)
                           .data.url;
                        resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`);
                     }else if(num==10){
                        this.registerFormModel.roadTransportImgCw = JSON.parse(res.data)
                           .data.url;
                        resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`);
                     }else if(num==11){
                        this.registerFormModel.tradeQualificationImgYyy = JSON.parse(res.data)
                           .data.url;
                        resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`);
                     }
                  }
               });
            });
         },
         /**
          * @preview 预览图片
          */
         previewImageClose() {
            this.previewImageShow = false;
         },
         previewImageOpen() {},
         /**
          * @editPopup 修改弹出框事件
          */
         editDriverPopupClose() {
            this.editDriverPopupShow = false;
         },
         editDocClose(){
            this.editDocShow = false;
         },
         editDriverPopupOpen() {},
         editDocOpen(){},
         modifyPassword() {
            this.$store.commit('changeisLogin', false)
            this.$store.dispatch('websocketOnClose')
            uni.reLaunch({
               url: '/pages/login/forgetPassword/forgetPassword'
            })
         },
         // 修改证件信息
         updateDoc(){
               this.$reqPost('saveDriverDocs', {
                  userId:this.registerFormModel.customerid,
                  carImg:this.registerFormModel.carImg,
                  drivingImg:this.registerFormModel.drivingImg,
                  expirationTimeDriving:this.registerFormModel.expirationTimeDriving.slice(0,16),
                  driverImg:this.registerFormModel.driverImg,
                  expirationTimeDriver:this.registerFormModel.expirationTimeDriver.slice(0,16),
                  tradeQualificationImg:this.registerFormModel.tradeQualificationImg,
                  roadTransportImg:this.registerFormModel.roadTransportImg,
                  expirationTimeRoadtransport:this.registerFormModel.expirationTimeRoadtransport.slice(0,16),
                  expirationTimeTradequalification:this.registerFormModel.expirationTimeTradequalification.slice(0,16),
                  driverImgCw:this.registerFormModel.driverImgCw,
                  roadTransportImgCw:this.registerFormModel.roadTransportImgCw,
                  tradeQualificationImgYyy:this.registerFormModel.tradeQualificationImgYyy,
               }, 'json').then(res => {
                  if (res.code == 0) {
                     this.$u.toast('修改成功');
                     this.init();
                     this.editDocShow = false;
                  } else {
                     uni.showToast({
                        title: res.msg,
                        icon: 'none',
                        duration: 2000
                     });
                  }
               })
         },
         addData(){
            this.tablist.push({idCard:""})
         },
         delData(e){
            this.tablist.splice(e,1)
         },
         // 修改用户信息
         updateUser() {
            this.editUserInfo = {
               ...this.editUserInfo,
               carImg: uni.getStorageSync('carImg'),
               drivingImg: uni.getStorageSync('drivingImg'),
               tradeQualificationImg: uni.getStorageSync('tradeQualificationImg')
            };
            this.editUserInfo.otherIdCard=''
            let errorList = ['name','phone','countryNumberCar','carType']
            for(let item in this.editUserInfo){
               if(item ==='bunkerList'){
                  console.log(item);
                  if(!this.editUserInfo[item]){
                     this.editUserInfo[item] = [];
                  }
               }
               if(errorList.includes(item)){
                  if(!this.editUserInfo[item]){
                     this.$u.tos('请检查输入!!')
                     return
                  }
               }
            }
            if(this.tablist.length>0){
               let idcardtext=/^([1-6][1-9]|50)\d{4}(18|19|20)\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
               this.tablist.map(item=>{
                  if(!item.idCard){
                     uni.showToast({
                        title: `请填写身份证!`,
                        icon: 'error',
                        duration: 2000
                     });
                     submit=false
                  }else if(!idcardtext.test(item.idCard)){
                     uni.showToast({
                        title: `请检验身份证!`,
                        icon: 'error',
                        duration: 2000
                     });
                     submit=false
                  }
               })
               const uniqueSampleTypeIds = new Set(this.tablist.map(item => item.idCard));
               const hasDuplicateSampleTypeId = this.tablist.length !== uniqueSampleTypeIds.size;
               if(hasDuplicateSampleTypeId){
                  uni.showToast({
                     title: `身份证不能重复!`,
                     icon: 'error',
                     duration: 2000
                  });
                  submit=false
               }
               this.editUserInfo.otherIdCard=this.tablist.map(item=>{
                  return item.idCard
               }).join(',')
            }
            let data={
               name:this.editUserInfo.name,
               phone:this.editUserInfo.phone,
               countryNumberCar:this.editUserInfo.countryNumberCar,
               carType:this.editUserInfo.carType,
               weight:this.editUserInfo.weight,
               axleNum:this.editUserInfo.axleNum,
               idCard:this.editUserInfo.idCard,
               userId:this.editUserInfo.userId,
               type:this.editUserInfo.type,
               username:this.editUserInfo.username,
               otherIdCard:this.editUserInfo.otherIdCard,
            }
            this.$reqPost('updateUser', data, 'json').then(res => {
               this.editDriverPopupShow = false;
               if (res.code == 0) {
                        this.$u.toast('修改成功');
                        this.init();
                     } else {
                        uni.showToast({
                           title: res.msg,
                           icon: 'none',
                           duration: 2000
                        });
                     }
                  });
         },
         logout() {
            this.logoutShow = true;
         },
         logoutConfirm() {
            redirectLogin();
            this.$store.commit('changeisLogin', false)
            this.$store.dispatch('websocketOnClose')
         },
         logoutCancel() {
            this.logoutShow = false;
         },
         //修改磅单打印样式
         modifyPrint() {
            this.printerVisible = true;
            console.log(printerStyle,'123')
            this.$nextTick(() => {
               this.$refs.printerStyleRef.init()
            })
         },
         // 积分详情
         scoreDetail() {
            uni.navigateTo({
               url: '/pages/driver-page/drvier-my/scoreDetail/scoreDetail'
            })
         },
         scoreCert(){
            uni.navigateTo({
               url: '/pages/driver-page/drvier-my/certifiCate/certifiCate'
            })
         },
         addressManageHandle() {
            uni.navigateTo({
               url: '/pages/driver-page/drvier-my/addressMange/addressMange'
            })
         },
         selectedPrintStyleHandle(val) {
            this.selectedPrintStyle = val
         },
         findNameById(tree, idArr) {
            let result = [];
            function traverse(node, idArr) {
               if (!node) return;
               if (idArr.includes(node.id)) {
                  result.push({name:node.productName,id:node.id});
               }
               if (node.children && node.children.length > 0) {
                  node.children.forEach(child => {
                     traverse(child, idArr);
                  });
               }
            }
            tree.forEach(node => {
               traverse(node, idArr);
            });
            return result;
         },
         // 打开产品表
         treeOpen() {
            this.$refs.tkitree._show();
         },
         treeClose() {
            this.$refs.tkitree._hide();
         },
      }
   }
};
   };
</script>
<style lang="scss" scoped>
@mixin flex {
   display: flex;
   justify-content: space-between;
   align-items: center;
}
.statistics {
   margin-top: vww(10);
   margin-bottom: vww(10);
}
::v-deep.driver-my {
   width: 100%;
   margin: 0 auto;
   padding-bottom: vww(60);
   .driver-banner {
<style lang="scss"
   scoped>
   @mixin flex {
      display: flex;
      justify-content: space-between;
      align-items: center;
   }
   ::v-deep.driver-my {
      width: 100%;
      height: 430rpx;
      background: linear-gradient(0deg, #ffffff 0%, #0055fe 100%);
      background-size: contain;
      position: fixed;
      top: 0;
      .navgation {
         width: 80rpx;
         height: 37rpx;
         font-size: 40rpx;
         font-weight: normal;
         color: #ffffff;
         line-height: 69rpx;
         margin: vww(60) auto;
      }
      .avatar {
      margin: 0 auto;
      padding-bottom: vww(100);
      .driver-banner {
         width: 100%;
         height: 430rpx;
         display: flex;
         align-items: center;
         background: linear-gradient(0deg, #ffffff 0%, #0055fe 100%);
         background-size: contain;
         position: fixed;
         top: 0;
         .avatar-imgage {
            width: 98rpx;
            height: 98rpx;
            margin-left: vww(18);
            @include flex;
            justify-content: center;
         }
         .avatar-name {
            width: 136rpx;
            height: 32rpx;
            font-size: 34rpx;
            font-weight: bold;
         .navgation {
            width: 80rpx;
            height: 37rpx;
            font-size: 40rpx;
            font-weight: normal;
            color: #ffffff;
            margin-left: vww(17);
            line-height: 69rpx;
            margin: vww(60) auto;
         }
         .edit-button {
            position: relative;
            left: vww(94);
            top: vww(4);
         }
      }
      .personal-information {
         width: 100%;
         display: flex;
         justify-content: center;
         position: relative;
         top: vww(20);
         &-block {
            width: 690rpx;
            height: 478rpx;
            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;
         .avatar {
            width: 100%;
            height: 430rpx;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            .block-main {
               width: 636rpx;
               margin: vww(10) vww(14);
            align-items: center;
            position: fixed;
            top: 0;
            .avatar-imgage {
               width: 98rpx;
               height: 98rpx;
               margin-left: vww(18);
               @include flex;
               justify-content: center;
            }
            .information-line {
               @include flex width: 636rpx;
               height: vww(45);
               border-bottom: 1rpx solid #f0f1f6;
               .line-label {
                  width: 188rpx;
                  height: 90rpx;
                  @include flex image {
                     width: 50rpx;
                     height: 50rpx;
            .avatar-name {
               width: 200rpx;
               display: flex;
               flex-wrap: wrap;
               height: 32rpx;
               font-size: 34rpx;
               font-weight: bold;
               color: #ffffff;
               margin-left: vww(17);
            }
            .edit-button {
               position: relative;
               left: vww(73);
               top: vww(4);
            }
         }
      }
      .process-state {
         width: 300rpx;
         height: 50rpx;
         margin: 0 auto;
         position: fixed;
         top: 284rpx;
         left: 37rpx;
         display: flex;
         align-items: center;
         .state-text {
            margin-right: vww(6);
         }
      }
      .process-tran{
         width: 300rpx;
         height: 50rpx;
         margin: 0 auto;
         position: fixed;
         top: 390rpx;
         left: 37rpx;
         display: flex;
         align-items: center;
         .state-text {
            margin-right: vww(6);
         }
      }
      .car-type {
         position: fixed;
         top: 284rpx;
         right: 20rpx;
         width: 100%;
         height: 50rpx;
         display: flex;
         align-items: center;
         justify-content: flex-end;
      }
      .tran-type{
         position: fixed;
         top: 390rpx;
         right: 20rpx;
         width: 100%;
         height: 50rpx;
         display: flex;
         align-items: center;
         justify-content: flex-end;
      }
      .information-block {
         width: 100%;
         .personal-information {
            width: 100%;
            display: flex;
            justify-content: center;
            position: relative;
            top: vww(-30);
            &-block {
               width: 690rpx;
               height: 700rpx;
               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;
               display: flex;
               flex-direction: column;
               justify-content: space-between;
               .block-main {
                  width: 636rpx;
                  margin: vww(10) vww(14);
               }
               .information-line {
                  @include flex;
                  width: 636rpx;
                  height: vww(45);
                  border-bottom: 1rpx solid #f0f1f6;
                  .line-label {
                     width: 50%;
                     height: 90rpx;
                     @include flex;
                     image {
                        width: 50rpx;
                        height: 50rpx;
                     }
                     .label-text {
                        flex: 0.8;
                        font-size: 30rpx;
                        font-weight: 400;
                        color: #000000;
                        line-height: 32rpx;
                        text-align: left;
                     }
                  }
                  .label-text {
                     width: 120rpx;
                  .information-value {
                     min-width: vww(125);
                     @include flex;
                     font-size: 30rpx;
                     font-weight: 400;
                     color: #000000;
                     line-height: 85rpx;
                  }
               }
               .information-value {
                  min-width: vww(125);
                  @include flex;
                  font-size: 30rpx;
                  font-weight: 400;
                  color: #000000;
                  line-height: 85rpx;
               .last {
                  border-bottom: 0;
                  .information-value {
                     justify-content: space-between;
                  }
               }
            }
            .last {
               border-bottom: 0;
            }
         }
      }
   }
   .car-information {
      width: 100%;
      position: relative;
      top: vww(410);
      @include flex justify-content: center;
      .information-main {
         width: 690rpx;
         height: 552rpx;
         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;
         .information-body {
            width: 636rpx;
            margin: vww(15) vww(14);
            @include flex flex-direction: column;
            .car-img {
               height: 246rpx;
               width: 100%;
      .car-information {
         margin-top: 30rpx;
         width: 100%;
         position: relative;
         @include flex justify-content: center;
         .roadTransportCertificate{
            width: 690rpx;
            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;
            .information-body {
               width: 636rpx;
               margin: vww(15) vww(14);
               @include flex flex-direction: column;
               align-items: flex-start;
               .label-title {
                  @include flex width: 200rpx;
                  height: 100rpx;
                  .label-text {
                     width: 200rpx;
                     height: 50rpx;
               .certificate {
                  display: flex;
                  justify-content: space-between;
                  align-items: center;
                  width: 636rpx;
                  height: 90rpx;
                  border-bottom: 1rpx solid #f0f1f6;
                  .certificate-left{
                     margin-left: 20rpx;
                  }
                  image {
                     width: 50rpx;
                     height: 50rpx;
                  .certificate-right{
                     margin-right: 20rpx;
                  }
               }
            }
         }
      }
   }
   .loginout {
      width: 100%;
      height: 74rpx;
      @include flex;
      justify-content: center;
      position: relative;
      bottom: vww(-430);
      .loginout-main {
         width: 84%;
      }
   }
   // 表单
   .personal-information-form {
      margin-top: vww(200);
      .push-information-button {
         display: flex;
         margin: vww(20) auto 0;
         width: 80%;
         .u-button {
            &:nth-of-type(2) {
               margin-left: vww(10);
            }
         }
      }
   }
         .information-main {
            width: 690rpx;
            height: 800rpx;
            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;
   // 预览图片
   .previewImage-container {
   }
            .information-body {
               width: 636rpx;
               margin: vww(15) vww(14);
               @include flex flex-direction: column;
               .car-img {
                  height: 246rpx;
                  width: 100%;
                  @include flex;
                  flex-direction: column;
                  align-items: flex-start;
   // 修改弹出框
   .editDriverPopup-container {
      .u-popup {
         .u-transition {
            height: 95%;
            .u-popup__content {
               overflow: scroll !important;
               .editDriverPopup-container-box {
                  width: 90%;
                  margin: 0 auto;
               }
                  .label-title {
                     @include flex;
                     width: 300rpx;
                     height: 100rpx;
               //closeIcon
               .u-popup__content__close--top-right {
                  top: vww(20) !important;
                  .u-icon {
                     .u-icon__icon {
                        font-size: vww(20) !important;
                     .label-text {
                        width: 100%;
                        height: 50rpx;
                     }
                     image {
                        width: 50rpx;
                        height: 50rpx;
                     }
                  }
               }
            }
         }
      }
      .loginout {
         width: 100%;
         height: 240rpx;
         @include flex;
         justify-content: space-evenly;
         flex-direction: column;
         align-items: center;
         position: relative;
         top: vww(20);
         .loginout-main {
            width: 84%;
         }
      }
      .person-utils {
         width: 98%;
         margin: vww(10) auto;
         display: flex;
         justify-content: space-between;
         .u-button {
            width: 45%;
            letter-spacing: vww(4);
         }
      }
      // 表单
      .personal-information-form {
         margin-top: vww(200);
         .push-information-button {
            display: flex;
            margin: vww(20) auto 0;
            width: 80%;
            .u-button {
               &:nth-of-type(2) {
                  margin-left: vww(10);
               }
            }
         }
      }
      // 预览图片
      .previewImage-container {}
      // 修改弹出框
      .editDriverPopup-container {
         .u-popup {
            .u-transition {
               height: 75%;
               .u-popup__content {
                  overflow: scroll !important;
                  .editDriverPopup-container-box {
                     width: 90%;
                     margin: vww(10) auto;
                  }
                  //closeIcon
                  .u-popup__content__close--top-right {
                     top: vww(20) !important;
                     .u-icon {
                        .u-icon__icon {
                           font-size: vww(20) !important;
                        }
                     }
                  }
               }
            }
         }
      }
      .superList{
         margin: 10rpx;
         padding: 10rpx;
         border: 1px solid  #f0f1f6;
      }
      .adddelete{
         display: flex;
         justify-content: space-around;
         margin: 10rpx;
      }
   }
}
</style>
</style>