yangan
2025-02-14 6bc8b8d7f685801b219e398c36801d3477dcd99f
pages/driver-page/drvier-my/drvier-my.vue
@@ -6,24 +6,34 @@
            <view class="navgation">我的</view>
            <view class="avatar">
               <view class="avatar-imgage"
                  style="background: url('https://mx.jzeg.cn:9096/appimg/image/banner/driverava.png')no-repeat;background-size: cover;">
                  style="background: url('https://mr1.res.jzeg.cn:9096/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 class="yunShu-button"><u-button type="primary"
                     @click="shezhiYunshu"
                     shape="circle"
                     plain>设置所属运输单位</u-button></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">
         <text>{{userInfo.countryNumberCar===1?'国五车辆':'国六车辆'}}</text>
      </view>
      <view class="information-block">
         <view class="personal-information">
            <view class="personal-information-block">
@@ -31,17 +41,17 @@
                  <view class="information-line"
                     @click="">
                     <view class="line-label">
                        <image src="https://mx.jzeg.cn:9096/appimg/image/banner/personalicon.png"
                        <image src="https://mr1.res.jzeg.cn:9096/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:9096/appimg/image/banner/phonenum.png"
                        <image src="https://mr1.res.jzeg.cn:9096/appimg/image/banner/phonenum.png"
                           mode="widthFix"></image>
                        <view class="label-text">手机号</view>
                     </view>
@@ -51,7 +61,7 @@
                  </view>
                  <view class="information-line">
                     <view class="line-label">
                        <image src="https://mx.jzeg.cn:9096/appimg/image/banner/carnum.png"
                        <image src="https://mr1.res.jzeg.cn:9096/appimg/image/banner/carnum.png"
                           mode="widthFix"></image>
                        <view class="label-text">车牌号</view>
                     </view>
@@ -61,7 +71,7 @@
                  </view>
                  <view class="information-line">
                     <view class="line-label">
                        <image src="https://mx.jzeg.cn:9096/appimg/image/banner/axisnum.png"
                        <image src="https://mr1.res.jzeg.cn:9096/appimg/image/banner/axisnum.png"
                           mode="widthFix"></image>
                        <view class="label-text">车轴数</view>
                     </view>
@@ -71,7 +81,7 @@
                  </view>
                  <view class="information-line">
                     <view class="line-label">
                        <image src="https://mx.jzeg.cn:9096/appimg/image/banner/weighnum.png"
                        <image src="https://mr1.res.jzeg.cn:9096/appimg/image/banner/weighnum.png"
                           mode="widthFix"></image>
                        <view class="label-text">体重</view>
                     </view>
@@ -85,7 +95,7 @@
                       icon 下载格式为18x18-->
                     <view class="line-label"
                        style="margin-left: 1.5%;">
                        <image src="https://mx.jzeg.cn:9096/appimg/image/banner/printer.png"
                        <image src="https://mr1.res.jzeg.cn:9096/appimg/image/banner/printer.png"
                           mode="widthFix"
                           style="width: 18px;"></image>
                        <view class="label-text">磅单样式</view>
@@ -102,7 +112,7 @@
                     @click="addressManageHandle">
                     <view class="line-label"
                        style="margin-left: 1.5%;">
                        <image src="https://mx.jzeg.cn:9096/appimg/image/banner/address.png"
                        <image src="https://mr1.res.jzeg.cn:9096/appimg/image/banner/address.png"
                           mode="widthFix"
                           style="width: 18px;"></image>
                        <view class="label-text"
@@ -117,7 +127,7 @@
                     @click="scoreDetail">
                     <view class="line-label"
                        style="margin-left: 1.5%;">
                        <image src="https://mx.jzeg.cn:9096/appimg/image/banner/score.png"
                        <image src="https://mr1.res.jzeg.cn:9096/appimg/image/banner/score.png"
                           mode="widthFix"
                           style="width: 36rpx;position: relative;left: 8rpx;"></image>
                        <view class="label-text">我的积分</view>
@@ -142,7 +152,7 @@
            <view class="information-body">
               <view class="car-img">
                  <view class="label-title">
                     <image src="https://mx.jzeg.cn:9096/appimg/image/banner/carimg.png"
                     <image src="https://mr1.res.jzeg.cn:9096/appimg/image/banner/carimg.png"
                        mode="widthFix"></image>
                     <view class="label-text">车辆照片</view>
                  </view>
@@ -159,7 +169,7 @@
               </view>
               <view class="car-img">
                  <view class="label-title">
                     <image src="https://mx.jzeg.cn:9096/appimg/image/banner/cardimg.png"
                     <image src="https://mr1.res.jzeg.cn:9096/appimg/image/banner/cardimg.png"
                        mode="widthFix"></image>
                     <view class="label-text">行驶证照片</view>
                  </view>
@@ -169,6 +179,23 @@
                        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://mr1.res.jzeg.cn:9096/appimg/image/banner/cardimg.png"
                        mode="widthFix"></image>
                     <view class="label-text">车辆类型照片</view>
                  </view>
                  <view class="img-container">
                     <u--image :showLoading="true"
                        :src="userInfo.inventoryImg != null ? BaseUrl + userInfo.drivingImg : ''"
                        width="80px"
                        height="80px"
                        @click="imageClick(3)">
                        <view slot="error"
                           style="font-size: 24rpx;">加载失败</view>
                     </u--image>
@@ -226,14 +253,14 @@
                        border="none"
                        inputAlign="left"></u--input>
                  </u-form-item> -->
                  <u-form-item labelWidth="20%"
                  <!-- <u-form-item labelWidth="20%"
                     label="身份证号"
                     prop="idCard"
                     required>
                     <u--input v-model="editUserInfo.idCard"
                        border="none"
                        inputAlign="left"></u--input>
                  </u-form-item>
                  </u-form-item> -->
                  <u-form-item labelWidth="20%"
                     label="手机号"
                     prop="phone"
@@ -264,6 +291,48 @@
                     prop="axleNum"
                     required>
                     <u--input v-model="editUserInfo.axleNum"
                        border="none"
                        inputAlign="left"></u--input>
                  </u-form-item>
                  <u-form-item labelWidth="20%"
                     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="20%"
                     label="车长"
                     prop="truckLength"
                     required>
                     <u--input v-model="editUserInfo.truckLength"
                        border="none"
                        inputAlign="left"></u--input>
                  </u-form-item>
                  <u-form-item labelWidth="20%"
                     label="车宽"
                     prop="truckWidth"
                     required>
                     <u--input v-model="editUserInfo.truckWidth"
                        border="none"
                        inputAlign="left"></u--input>
                  </u-form-item>
                  <u-form-item labelWidth="20%"
                     label="车高"
                     prop="truckHeight"
                     required>
                     <u--input v-model="editUserInfo.truckHeight"
                        border="none"
                        inputAlign="left"></u--input>
                  </u-form-item>
@@ -330,6 +399,23 @@
                        height="150"
                        :previewFullImage="true"></u-upload>
                  </u-form-item>
                  <u-form-item prop="inventoryImg"
                     label="环保清单"
                     labelWidth="24%"
                     borderBottom
                     @click="beforeRead">
                     <u-upload :fileList="fileList5"
                        deletable
                        @afterRead="afterRead"
                        @delete="deletePic"
                        name="5"
                        multiple
                        :maxCount="3"
                        width="250"
                        height="150"
                        :previewFullImage="true">
                     </u-upload>
                  </u-form-item>
               </u--form>
               <view class="person-utils">
                  <u-button text="修改密码"
@@ -342,6 +428,66 @@
            </view>
         </u-popup>
      </view>
      <!-- 点击设置运输单位 -->
      <u-popup :show="shezhishow" @close="shezhiclose" @open="shezhiopen">
         <combined-title title="设置运输单位"
               style="margin-left:20rpx"></combined-title>
            <view style="padding: 10rpx;">
            <u--form
            labelPosition="top"
            :model="editUserInfo"
            :rules="rules"
            :labelWidth="300"
            ref="uForm"
      >
         <u-form-item
               label="所属运输单位名称"
               prop="editUserInfo.freightCompany"
               borderBottom
               ref="item1"
         >
            <u--input
                   placeholder="请输入所属运输单位名称"
                  v-model="editUserInfo.freightCompany"
                  border="none"
            ></u--input>
         </u-form-item>
         <u-form-item
               label="从业资格证号"
               prop="editUserInfo.certification"
               borderBottom
               @click="showSex = true; hideKeyboard()"
               ref="item1"
         >
            <u--input
                  v-model="editUserInfo.certification"
                  placeholder="请输入从业资格证号"
                  border="none"
            ></u--input>
         </u-form-item>
            <u-form-item
               label="道路运输证号"
               prop="editUserInfo.freightLicense"
               borderBottom
               @click="showSex = true; hideKeyboard()"
               ref="item1"
         >
            <u--input
                  v-model="editUserInfo.freightLicense"
                  placeholder="请输入道路运输证号"
                  border="none"
            ></u--input>
         </u-form-item>
         <view class="person-utils">
                  <u-button text="提交"
                     @click="submitYUnshu"
                     type="primary"></u-button>
               </view>
      </u--form>
            </view>
      </u-popup>
      <view class="logoutModel">
         <u-modal :show="logoutShow"
            :title="logoutTitle"
@@ -368,24 +514,47 @@
         return {
            // 获取的司机详情
            userInfo: {},
            model1:{
               name:"",
                sex:'',
            },
            shezhishow:false,
            // 修改司机详情
            editUserInfo: {
               phone: '',
               name: '',
               username: '',
               freightLicense:'',
               type: 3,
               idCard: '',
               carNo: '',
               carImg: '',
               drivingImg: '',
               axleNum: '',
               truckLength:"",
               truckWidth:"",
               truckHeight:"",
               weight: '',
               userId: '',
               password: "",
               isRegister: 0,
               tradeQualificationImg: '',
               roadTransportImg: ''
               roadTransportImg: '',
               inventoryImg: '',
               countryNumberCar: 0,
               certification:'',
               freightCompany:"",
            },
            countryNumberCarList: [{
                  name: 1,
                  label: '国五',
               },
               {
                  name: 2,
                  label: '国六',
               }
            ],
            rules: {
               name: {
                  type: 'string',
@@ -462,11 +631,30 @@
                     return Number(value);
                  },
                  validator: (rule, value, callback) => {
                     return value <= 10;
                     return value <= 10 && value > 0;
                  },
                  message: '请输入正确的车轴数',
                  trigger: ['change', 'blur']
                  trigger: ['change', 'blur'],
                  required: true,
               }],
               truckLength:{
                  type: 'string',
                  required: true,
                  message: '请输入车长',
                  trigger: ['blur', 'change']
               },
               truckWidth:{
                  type: 'string',
                  required: true,
                  message: '请输入车宽',
                  trigger: ['blur', 'change']
               },
               truckHeight:{
                  type: 'string',
                  required: true,
                  message: '请输入车高',
                  trigger: ['blur', 'change']
               },
               carImg: {
                  type: 'string',
                  required: true,
@@ -478,6 +666,30 @@
                  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']
               },
               freightLicense:{
                  type: 'string',
                  required: true,
                  message: '请上传道路运输证号',
                  trigger: ['blur', 'change']
               }
            },
            src: '',
@@ -485,6 +697,7 @@
            fileList2: [],
            fileList3: [],
            fileList4: [],
            fileList5: [],
            // 修改信息弹出框
            editDriverPopupShow: false,
            // previewImage
@@ -501,6 +714,9 @@
      computed: {
         currentSelectedPrintStyle() {
            return this.selectedPrintStyle ? this.selectedPrintStyle : uni.getStorageSync('selectedPrintStyle')
         },
         idCard() {
            return this.userInfo.idCard.slice(0, 6) + '********' + this.userInfo.idCard.slice(-4)
         }
      },
      onShow() {
@@ -521,40 +737,39 @@
            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)
               // 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) {
               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}`
                  });
               }
               if (this.fileList3.length == 0) {
               if (this.fileList3.length == 0 && this.userInfo.roadTransportImg) {
                  this.fileList3.push({
                     url: `${BaseUrl}${this.userInfo.roadTransportImg}`
                  });
               }
               if (this.fileList4.length == 0) {
               if (this.fileList4.length == 0 && this.userInfo.tradeQualificationImg) {
                  this.fileList4.push({
                     url: `${BaseUrl}${this.userInfo.tradeQualificationImg}`
                  });
               }
               Object.keys(this.editUserInfo).map(item => {
                  if (res.data[item]) {
                     this.editUserInfo[item] = res.data[item];
                     this.editUserInfo.idCard = this.userInfo.idCard.slice(0, 6) + '********' + this
                        .editUserInfo.idCard
                        .slice(-4)
                  }
               });
               if (this.fileList5.length == 0 && this.userInfo.inventoryImg) {
                  this.fileList5.push({
                     url: `${BaseUrl}${this.userInfo.inventoryImg}`
                  });
               }
               Object.assign(this.editUserInfo, res.data)
               console.log(this.editUserInfo);
               this.editUserInfo.password = ''
            });
         },
@@ -563,12 +778,12 @@
            this.editDriverPopupShow = true;
         },
         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.inventoryImg;
            }
            this.$nextTick(() => {
               this.previewImageShow = true;
@@ -637,6 +852,10 @@
                        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}`);
                     }
                  }
               });
@@ -660,7 +879,7 @@
            this.$store.commit('changeisLogin', false)
            this.$store.dispatch('websocketOnClose')
            uni.reLaunch({
               url: '/pages/login/forgetPassword/forgetPassword'
               url: `/pages/login/resetPassword/resetPassword?phone=${this.userInfo.phone}&idcard=${this.userInfo.idcard}`
            })
         },
         // 修改用户信息
@@ -669,7 +888,8 @@
               ...this.editUserInfo,
               carImg: uni.getStorageSync('carImg'),
               drivingImg: uni.getStorageSync('drivingImg'),
               isRegister: '0'
               isRegister: '0',
            };
            this.$refs.editRef
               .validate()
@@ -690,6 +910,7 @@
                  });
               })
               .catch(err => {
                  console.log(err,'err')
                  this.$u.toast('修改失败');
               });
         },
@@ -723,6 +944,42 @@
         },
         selectedPrintStyleHandle(val) {
            this.selectedPrintStyle = val
         },
         shezhiYunshu(){
            console.log('设置设置');
            this.shezhishow = true;
         },
         shezhiclose(){
            this.shezhishow = false;
         },
         shezhiopen(){
         },
         submitYUnshu(){
            this.editUserInfo = {
               ...this.editUserInfo,
               carImg: uni.getStorageSync('carImg'),
               drivingImg: uni.getStorageSync('drivingImg'),
               isRegister: '0',
            };
            this.$reqPost('updateUser', this.editUserInfo, 'json').then(res => {
                     console.log('更新数据', res);
                     this.editDriverPopupShow = false;
                     if (res.code == 0) {
                        this.$u.toast('修改成功');
                        this.init();
                        this.shezhishow  = false;
                     } else {
                        uni.showToast({
                           title: res.msg,
                           icon: 'none',
                           duration: 2000
                        });
                     }
                  });
         }
      }
   };
@@ -793,6 +1050,12 @@
               top: vww(4);
            }
         }
         .yunShu-button{
            width: 300rpx;
            position: relative;
               left: 56%;
               top: vww(4);
         }
      }
      .process-state {
@@ -810,6 +1073,17 @@
         }
      }
      .car-type {
         position: fixed;
         top: 374rpx;
         right: 70rpx;
         width: 100%;
         height: 50rpx;
         display: flex;
         align-items: center;
         justify-content: flex-end;
      }
      .information-block {
         width: 100%;
@@ -818,7 +1092,7 @@
            display: flex;
            justify-content: center;
            position: relative;
            top: vww(-30);
            top: vww(-10);
            &-block {
               width: 690rpx;
@@ -889,7 +1163,7 @@
         .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;
@@ -908,7 +1182,7 @@
                  .label-title {
                     @include flex;
                     width: 220rpx;
                     width: 300rpx;
                     height: 100rpx;
                     .label-text {
@@ -1002,4 +1276,4 @@
         }
      }
   }
</style>
</style>