MrShi
2026-05-22 eb7a808aaf7dd0a6dd2ff70f9ef3f8ce0b1e31d1
app/pages/driver-certification/driver-certification.vue
@@ -95,7 +95,9 @@
               <view class="driver-cert-card__upload-list">
                  <view class="driver-cert-card__upload-item" @click="handleUpload('idcardImg', 1)" style="height: 196rpx;">
                     <template v-if="previewImages.idcardImg">
                        <image class="driver-cert-card__upload-img" :src="previewImages.idcardImg" mode="widthFix"></image>
                        <view class="driver-cert-card__upload-img">
                           <image style="height: 100%;" :src="previewImages.idcardImg" mode="heightFix"></image>
                        </view>
                        <view class="driver-cert-card__upload-remove" @click.stop="removeImage('idcardImg')">删除</view>
                     </template>
                     <template v-else>
@@ -105,7 +107,9 @@
                  </view>
                  <view class="driver-cert-card__upload-item" @click="handleUpload('idcardImgBack', 1)" style="height: 196rpx;">
                     <template v-if="previewImages.idcardImgBack">
                        <image class="driver-cert-card__upload-img" :src="previewImages.idcardImgBack" mode="widthFix"></image>
                        <view class="driver-cert-card__upload-img">
                           <image style="height: 100%;" :src="previewImages.idcardImgBack" mode="heightFix"></image>
                        </view>
                        <view class="driver-cert-card__upload-remove" @click.stop="removeImage('idcardImgBack')">删除</view>
                     </template>
                     <template v-else>
@@ -184,7 +188,7 @@
               </view>
            </view>
            <view class="driver-cert-card__upload-block driver-cert-card__upload-block--stacked">
            <view v-if="needLicense" class="driver-cert-card__upload-block driver-cert-card__upload-block--stacked">
               <view class="driver-cert-card__upload-title-row">
                  <text class="driver-cert-card__label">驾驶证照片</text>
                  <text class="driver-cert-card__required">*</text>
@@ -223,7 +227,12 @@
      <view class="driver-cert-page__bottom-bar">
         <view v-if="currentStep === 2" class="driver-cert-page__agreement" @click="isAgreed = !isAgreed">
            <image class="driver-cert-page__agreement-icon" :src="isAgreed ? '/static/image/ic_accept_sel@2x.png' : '/static/image/ic_accept@2x.png'" mode="widthFix"></image>
            <text class="driver-cert-page__agreement-text">我已阅读并同意《风险声明》、《行李寄存员须知》及《服务协议》</text>
            <text class="driver-cert-page__agreement-text">我已阅读并同意</text>
            <text class="driver-cert-page__agreement-link" @click.stop="openAgreement('errandRiskCommitment')">《风险承诺》</text>
            <text class="driver-cert-page__agreement-text">、</text>
            <text class="driver-cert-page__agreement-link" @click.stop="openAgreement('errandLuggageStorageNotice')">《行李寄存须知》</text>
            <text class="driver-cert-page__agreement-text">及</text>
            <text class="driver-cert-page__agreement-link" @click.stop="openAgreement('errandServiceAgreement')">《服务协议》</text>
         </view>
         <view class="driver-cert-page__actions" :class="{ 'driver-cert-page__actions--dual': currentStep === 2 }">
@@ -313,6 +322,7 @@
               color: '',
               carType: ''
            },
            needLicense: false,
            showCarTypePicker: false,
            carTypeList: [],
            carTypeColumns: [],
@@ -371,6 +381,10 @@
                     this.vehicleForm.plateNumber = res.data.carCode || ''
                     this.vehicleForm.carType = res.data.carType || ''
                     this.vehicleForm.color = res.data.carColor || ''
                     if (this.carTypeList.length > 0) {
                        const selectedCarType = this.carTypeList.find(item => item.id === res.data.carType)
                        this.needLicense = selectedCarType && selectedCarType.otherField === 1
                     }
                     this.previewImages.idcardImg = res.data.idcardImg ? res.data.imgPrefix + res.data.idcardImg : ''
                     this.previewImages.idcardImgBack = res.data.idcardImgBack ? res.data.imgPrefix + res.data.idcardImgBack : ''
                     this.form.carImgUrls = (res.data.carImgList || []).map(item => item.fileurl)
@@ -485,6 +499,10 @@
                        text: item.name
                     }
                  })]
                  if (this.vehicleForm.carType) {
                     const selectedCarType = this.carTypeList.find(item => item.id === this.vehicleForm.carType)
                     this.needLicense = selectedCarType && selectedCarType.otherField === 1
                  }
               }
            })
         },
@@ -496,6 +514,9 @@
         confirmCarType(e) {
            const { id, text } = e.value[0]
            this.vehicleForm.carType = id
            const selectedCarType = this.carTypeList.find(item => item.id === id)
            console.log(selectedCarType)
            this.needLicense = selectedCarType && selectedCarType.otherField === '1'
            this.showCarTypePicker = false
         },
         openDatePicker(mode) {
@@ -652,7 +673,7 @@
               uni.showToast({ title: '请上传车辆照片', icon: 'none' })
               return false
            }
            if (this.form.licenseImgUrls.length === 0) {
            if (this.needLicense && this.form.licenseImgUrls.length === 0) {
               uni.showToast({ title: '请上传驾驶证照片', icon: 'none' })
               return false
            }
@@ -689,6 +710,11 @@
            uni.pageScrollTo({
               scrollTop: 0,
               duration: 0
            })
         },
         openAgreement(type) {
            uni.navigateTo({
               url: '/pages/agreement/agreement?type=' + type
            })
         }
      }
@@ -864,6 +890,12 @@
         line-height: 1.6;
         color: #98a0ad;
      }
      &__agreement-link {
         font-size: 22rpx;
         line-height: 1.6;
         color: #106EFA;
      }
   }
   .driver-cert-card {
@@ -1003,7 +1035,12 @@
      &__upload-img {
         width: 100%;
         height: 100%;
         border-radius: 8rpx;
         display: flex;
         align-items: center;
         justify-content: center;
         overflow: hidden;
      }
      &__upload-remove {