wk
2024-11-13 0f35dd714311f0b39e0bf2e2dccb66761e52835f
pages/driver-page/drvier-my/drvier-my.vue
@@ -1,12 +1,12 @@
<template>
   <view class="driver-my">
      <view class=""
         style="height: 446rpx;width: 100%;">
         style="height: 540rpx;width: 100%;">
         <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/driverava.png')no-repeat;background-size: cover;">
                  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"
@@ -16,14 +16,25 @@
            </view>
         </view>
      </view>
      <view class="process-state">
      <view class="process-state"
         v-if="userInfo.isRegister!==2">
         <view class="state-text">
            审核状态
         </view>
         <u--text :type="userInfo.isRegister===0?'primary':userInfo.isRegister===1?'error':'success'"
            :text="userInfo.isRegister===0?'待审核':userInfo.isRegister===1?'未通过':'已审核'"
         <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">
@@ -31,17 +42,17 @@
                  <view class="information-line"
                     @click="">
                     <view class="line-label">
                        <image src="https://mx.jzeg.cn:9095/appimg/image/banner/personalicon.png"
                        <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 || '' }}
                        {{ idCard || '' }}
                     </view>
                  </view>
                  <view class="information-line">
                     <view class="line-label">
                        <image src="https://mx.jzeg.cn:9095/appimg/image/banner/phonenum.png"
                        <image src="https://wrzs.czjlchem.com:9090/appimg/image/banner/phonenum.png"
                           mode="widthFix"></image>
                        <view class="label-text">手机号</view>
                     </view>
@@ -51,7 +62,7 @@
                  </view>
                  <view class="information-line">
                     <view class="line-label">
                        <image src="https://mx.jzeg.cn:9095/appimg/image/banner/carnum.png"
                        <image src="https://wrzs.czjlchem.com:9090/appimg/image/banner/carnum.png"
                           mode="widthFix"></image>
                        <view class="label-text">车牌号</view>
                     </view>
@@ -61,7 +72,7 @@
                  </view>
                  <view class="information-line">
                     <view class="line-label">
                        <image src="https://mx.jzeg.cn:9095/appimg/image/banner/axisnum.png"
                        <image src="https://wrzs.czjlchem.com:9090/appimg/image/banner/axisnum.png"
                           mode="widthFix"></image>
                        <view class="label-text">车轴数</view>
                     </view>
@@ -69,14 +80,87 @@
                        {{ 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"
                        <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 || '' }}
                     </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>
@@ -88,7 +172,7 @@
            <view class="information-body">
               <view class="car-img">
                  <view class="label-title">
                     <image src="https://mx.jzeg.cn:9095/appimg/image/banner/carimg.png"
                     <image src="https://wrzs.czjlchem.com:9090/appimg/image/banner/carimg.png"
                        mode="widthFix"></image>
                     <view class="label-text">车辆照片</view>
                  </view>
@@ -105,7 +189,7 @@
               </view>
               <view class="car-img">
                  <view class="label-title">
                     <image src="https://mx.jzeg.cn:9095/appimg/image/banner/cardimg.png"
                     <image src="https://wrzs.czjlchem.com:9090/appimg/image/banner/cardimg.png"
                        mode="widthFix"></image>
                     <view class="label-text">行驶证照片</view>
                  </view>
@@ -120,40 +204,40 @@
                     </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>
            </view>
         </view>
      </view>
      <view class="loginout">
         <view class="loginout-main"><u-button text="重置密码"
               type="primary"
               @click="initPwd"
               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="noob-tour"
         style="margin-top: 80rpx;">
         <combined-title title="操作指引"></combined-title>
         <u-cell-group>
            <u-cell title="新手指引"
               name='1'
               :clickable="true"
               @click="noobTour">
               <u-badge type="primary"
                  value="01"
                  slot='icon'></u-badge>
               <u-icon slot="value"
                  name="arrow-right"
                  size="30"
                  color="#b8b8b8"></u-icon>
            </u-cell>
         </u-cell-group>
      </view>
      <noob-tour isPersonCenter></noob-tour>
      <!-- 图片预览弹出框 -->
      <view class="previewImage-container">
         <u-popup :show="previewImageShow"
@@ -164,12 +248,6 @@
               width="400px"
               height="400px"></u--image>
         </u-popup>
      </view>
      <!-- 引导图片弹出 -->
      <view class="previewImage-container">
         <previewImage ref="previewImage"
            :imgs="driverTourImgList"
            :saveBtn='false'></previewImage>
      </view>
      <!-- 修改弹出框 -->
      <view class="editDriverPopup-container">
@@ -183,8 +261,8 @@
            <view class="editDriverPopup-container-box">
               <u--form labelPosition="left"
                  :model="editUserInfo"
                  ref="editRef">
                  <u-form-item labelWidth="20%"
                  ref="editUserInfo">
                  <u-form-item labelWidth="35%"
                     label="姓名"
                     prop="name"
                     required>
@@ -192,31 +270,32 @@
                        border="none"
                        inputAlign="left"></u--input>
                  </u-form-item>
                  <u-form-item labelWidth="20%"
                  <!-- <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="20%"
                  </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="20%"
                  </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="20%"
                  <!-- <u-form-item labelWidth="35%"
                     label="车牌号"
                     prop="carNo"
                     required>
@@ -224,45 +303,148 @@
                        border="none"
                        inputAlign="left"></u--input>
                  </u-form-item> -->
                  <u-form-item labelWidth="20%"
                  <u-form-item labelWidth="35%"
                     label="体重"
                     prop="weight"
                     required>
                     >
                     <u--input v-model="editUserInfo.weight"
                        border="none"
                        inputAlign="left"
                        placeholder="体重以kg作为单位"></u--input>
                  </u-form-item>
                  <u-form-item labelWidth="20%"
                  <u-form-item labelWidth="35%"
                     label="车轴数"
                     prop="axleNum"
                     required>
                     >
                     <u--input v-model="editUserInfo.axleNum"
                        border="none"
                        inputAlign="left"></u--input>
                  </u-form-item>
                  <u-form-item labelWidth="25%"
                     label="车辆照片"
                     @click="beforeRead"
                     prop="carImg"
                  <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>
                     <u-upload :fileList="fileList1"
                     <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>
            </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="1"
                        name="6"
                        multiple
                        :maxCount="1"
                        width="250"
                        height="150"
                        :previewFullImage="true"></u-upload>
                        :previewFullImage="true">
                     </u-upload>
                  </u-form-item>
                  <u-form-item labelWidth="25%"
                     label="行驶证照片"
                     ref="item1"
                     @click="beforeRead"
                     prop="drivingImg"
                     required>
                  <u-form-item prop="drivingImg"
                     label="行驶证车头"
                     labelWidth="35%"
                     borderBottom
                     required
                     @click="beforeRead">
                     <u-upload :fileList="fileList2"
                        deletable
                        @afterRead="afterRead"
                        @delete="deletePic"
                        name="2"
@@ -270,12 +452,148 @@
                        :maxCount="1"
                        width="250"
                        height="150"
                        :previewFullImage="true"></u-upload>
                        :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>
               <u-button text="提交"
                  @click="updateUser"
                  type="primary"></u-button>
               <view class="person-utils">
                  <u-button text="提交证件修改"
                     @click="updateDoc"
                     type="primary"></u-button>
               </view>
            </view>
         </u-popup>
      </view>
@@ -287,14 +605,9 @@
            @confirm="logoutConfirm"
            @cancel="logoutCancel"></u-modal>
      </view>
      <view class="initPwdModal">
         <u-modal :show="initPwdShow"
            title="重置密码"
            showCancelButton
            content="初始密码将变更为123456,是否确认重置"
            @confirm="initPwdConfirm"
            @cancel="initPwdCancel"></u-modal>
      </view>
      <!-- <printerStyle ref="printerStyleRef"
         v-if="printerVisible"
         @selectedPrintStyle='selectedPrintStyleHandle' /> -->
   </view>
</template>
@@ -302,19 +615,21 @@
   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 },
      computed: {
         ...mapState(['driverTourImgList']),
         roleType() {
            return uni.getStorageSync('roleType');
         },
      },
      components: { previewImage, noobTour,qianTree },
      data() {
         return {
            tablist:[],
            minDate: this.getToday(),
            customerName:"",
            printerVisible:false,
            // 获取的司机详情
            userInfo: {},
            productName:"",
            // 修改司机详情
            editUserInfo: {
               phone: '',
@@ -329,15 +644,54 @@
               weight: '',
               userId: '',
               password: "",
               isRegister: ''
               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: {
               name: [{
                  type: 'string',
                  required: true,
                  message: '请填写姓名',
                  trigger: ['blur', 'change']
               },
               {
                  pattern: /^[\u4e00-\u9fa5\s]+$/,
                  message: '姓名只能是中文',
                  trigger: ['blur', 'change']
               }],
               idCard: [{
                     type: 'string',
                     required: true,
@@ -407,10 +761,11 @@
                     return Number(value);
                  },
                  validator: (rule, value, callback) => {
                     return value <= 10;
                     return value <= 10 && value > 0;
                  },
                  message: '请输入正确的车轴数',
                  trigger: ['change', 'blur']
                  trigger: ['change', 'blur'],
                  required: true,
               }],
               carImg: {
                  type: 'string',
@@ -423,13 +778,40 @@
                  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: '',
@@ -438,20 +820,110 @@
            logoutTitle: '提示',
            logoutContent: '是否确认退出',
            BaseUrl,
            initPwdShow: false
            selectedPrintStyle: null,
            phoneList:[]
         };
      },
      computed: {
         currentSelectedPrintStyle() {
            return this.selectedPrintStyle ? this.selectedPrintStyle : uni.getStorageSync('selectedPrintStyle')
         },
         idCard() {
            return this.userInfo.idCard.slice(0, 6) + '********' + this.userInfo.idCard.slice(-4)
         }
      },
        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.editRef.setRules(this.rules);
        // 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 => {
                  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({
@@ -460,23 +932,89 @@
            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);
               if (this.fileList1.length == 0) {
               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) {
               if (this.fileList2.length == 0 && this.userInfo.drivingImg) {
                  this.fileList2.push({
                     url: `${BaseUrl}${this.userInfo.drivingImg}`
                  });
               }
               Object.keys(this.editUserInfo).map(item => {
                  if (res.data[item]) {
                     this.editUserInfo[item] = res.data[item];
               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 = ''
            });
         },
@@ -484,13 +1022,27 @@
         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) {
            // 通过index切换图片
            console.log('切换图片', index);
            if (index == 1) {
               this.previewImageSrc = this.userInfo.carImg;
            } else {
            } else if (index == 2) {
               this.previewImageSrc = this.userInfo.drivingImg;
            } else {
               this.previewImageSrc = this.userInfo.driverImg;
            }
            this.$nextTick(() => {
               this.previewImageShow = true;
@@ -543,13 +1095,56 @@
                  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}`);
                     }
                  }
               });
            });
@@ -560,33 +1155,134 @@
         previewImageClose() {
            this.previewImageShow = false;
         },
         previewImageOpen() {
            console.log('preview open');
         },
         previewImageOpen() {},
         /**
          * @editPopup 修改弹出框事件
          */
         editDriverPopupClose() {
            this.editDriverPopupShow = false;
         },
         editDriverPopupOpen() {
            console.log('打开了');
         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,
               ...this.editUserInfo,
               carImg: uni.getStorageSync('carImg'),
               drivingImg: uni.getStorageSync('drivingImg'),
               isRegister: 0
               tradeQualificationImg: uni.getStorageSync('tradeQualificationImg')
            };
            this.$refs.editRef
               .validate()
               .then(res => {
                  this.$reqPost('updateUser', this.editUserInfo, 'json').then(res => {
                     console.log('更新数据', res);
                     this.editDriverPopupShow = false;
                     if (res.code == 0) {
            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 {
@@ -594,42 +1290,11 @@
                           title: res.msg,
                           icon: 'none',
                           duration: 2000
                        });
                        });
                     }
                  });
               })
               .catch(err => {
                  this.$u.toast('修改失败');
               });
         },
         initPwd() {
            this.initPwdShow = true
         },
         initPwdConfirm() {
            this.initPwdShow = false
            uni.showLoading({
               title: '加载中...'
            });
            this.editUserInfo.password = '123456';
            this.editUserInfo.carImg = uni.getStorageSync('carImg');
            this.editUserInfo.drivingImg = uni.getStorageSync('drivingImg')
            this.$reqPost('updateUser', this.editUserInfo, 'json').then(res => {
               uni.hideLoading()
               if (res.code == 0) {
                  uni.showToast({
                     title: '重置成功',
                     duration: 2000,
                     icon: 'success'
                  })
               } else {
                  this.$u.toast(res.msg ? res.msg : '修改失败');
               }
            }).catch(err => {
               this.$u.toast('修改失败');
            });
         },
         initPwdCancel() {
            this.initPwdShow = false
         },
         logout() {
            this.logoutShow = true;
@@ -642,15 +1307,59 @@
         logoutCancel() {
            this.logoutShow = false;
         },
         // 跳转发运统计页面
         statistics() {
         //修改磅单打印样式
         modifyPrint() {
            this.printerVisible = true;
            console.log(printerStyle,'123')
            this.$nextTick(() => {
               this.$refs.printerStyleRef.init()
            })
         },
         // 积分详情
         scoreDetail() {
            uni.navigateTo({
               url: '/pages/customer-page/customer-my/faYunstatistics/faYunstatistics'
               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;
         },
         noobTour() {
            this.$refs.previewImage.open('https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj1.png')
         // 打开产品表
         treeOpen() {
            this.$refs.tkitree._show();
         },
         treeClose() {
            this.$refs.tkitree._hide();
         },
      }
   };
</script>
@@ -736,6 +1445,41 @@
            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%;
@@ -749,7 +1493,7 @@
            &-block {
               width: 690rpx;
               height: 478rpx;
               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;
@@ -763,25 +1507,28 @@
               }
               .information-line {
                  @include flex width: 636rpx;
                  @include flex;
                  width: 636rpx;
                  height: vww(45);
                  border-bottom: 1rpx solid #f0f1f6;
                  .line-label {
                     width: 188rpx;
                     width: 50%;
                     height: 90rpx;
                     @include flex;
                     @include flex image {
                     image {
                        width: 50rpx;
                        height: 50rpx;
                     }
                     .label-text {
                        width: 120rpx;
                        flex: 0.8;
                        font-size: 30rpx;
                        font-weight: 400;
                        color: #000000;
                        line-height: 85rpx;
                        line-height: 32rpx;
                        text-align: left;
                     }
                  }
@@ -797,19 +1544,49 @@
               .last {
                  border-bottom: 0;
                  .information-value {
                     justify-content: space-between;
                  }
               }
            }
         }
      }
      .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;
               .certificate {
                  display: flex;
                  justify-content: space-between;
                  align-items: center;
                  width: 636rpx;
                  height: 90rpx;
                  border-bottom: 1rpx solid #f0f1f6;
                  .certificate-left{
                     margin-left: 20rpx;
                  }
                  .certificate-right{
                     margin-right: 20rpx;
                  }
               }
            }
         }
         .information-main {
            width: 690rpx;
            height: 552rpx;
            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;
@@ -818,7 +1595,6 @@
               width: 636rpx;
               margin: vww(15) vww(14);
               @include flex flex-direction: column;
               .car-img {
                  height: 246rpx;
                  width: 100%;
@@ -828,7 +1604,7 @@
                  .label-title {
                     @include flex;
                     width: 220rpx;
                     width: 300rpx;
                     height: 100rpx;
                     .label-text {
@@ -848,9 +1624,9 @@
      .loginout {
         width: 100%;
         height: 200rpx;
         height: 240rpx;
         @include flex;
         justify-content: space-around;
         justify-content: space-evenly;
         flex-direction: column;
         align-items: center;
         position: relative;
@@ -858,6 +1634,18 @@
         .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);
         }
      }
@@ -892,7 +1680,7 @@
                  .editDriverPopup-container-box {
                     width: 90%;
                     margin: 0 auto;
                     margin: vww(10) auto;
                  }
                  //closeIcon
@@ -909,5 +1697,15 @@
            }
         }
      }
      .superList{
         margin: 10rpx;
         padding: 10rpx;
         border: 1px solid  #f0f1f6;
      }
      .adddelete{
         display: flex;
         justify-content: space-around;
         margin: 10rpx;
      }
   }
</style>