xuxueyang
2024-09-26 05bd41aab8c9dba2cf7afcd78493415761f11d9d
sub_pages/partner/partner-info/partner-info.vue
@@ -1,6 +1,16 @@
<template>
   <view class="container-page">
      <view>
   <view class="container-page" style="padding: 0rpx;">
      <view v-if="source==='step'" style="padding: 20rpx 0rpx;color: red;;background-color: #e6e6e6;">
         <view style="padding: 20rpx;text-align: center;background-color: #fff;">仅限花满芫合伙人入驻</view>
      </view>
      <view v-if="source==='step'" class="m-t-20">
         <u-steps current="0">
            <u-steps-item title="信息填写" class="u-steps-item" style="font-size: 28rpx;">
            </u-steps-item>
            <u-steps-item title="提交申请" class="u-steps-item"></u-steps-item>
         </u-steps>
      </view>
      <view class="p20">
         <view class="form-item before-line">
            <view class="label required">联系人姓名</view>
            <view class="m-l-a m-r-0 flex">
@@ -17,17 +27,17 @@
            </view>
         </view>
         <view class="form-item before-line">
            <view class="label required">集货站</view>
            <view class="m-l-a m-r-0 flex " :class="[!dto.stationId?'desc-gray':'']" @click="()=>{
               if(!id){
                  show_select_station=true
               }
            }">
               <view>{{dto.stationName || '请选择'}}</view>
               <u-icon class="m-l-a" name="arrow-right"></u-icon>
            <view class="label required">城市仓名称</view>
            <view class="m-l-a m-r-0 flex">
               <input v-model="dto.cityWarehouse" placeholder="请输入城市仓名称"
                  style="margin-top: 16px;text-align: right;"></input>
            </view>
         </view>
         <view class="form-item before-line">
            <view class="label required">地区</view>
@@ -55,12 +65,13 @@
         <view class="form-item before-line m-t-20" @click="uploadIcon('idCards')">
            <view class="label required">上传身份证正反面</view>
            <view class="m-l-a m-r-0 flex">
               <view class="component-button-upload" @click="uploadIcon('idCards')">
               <view class="component-button-upload">
               </view>
            </view>
         </view>
         <view class="flex p20" style="padding-top: 0rpx;padding-bottom: 10rpx"
            v-if="dto.idCards&&dto.idCards.length>0">
@@ -71,12 +82,26 @@
               <view class="t-red text-center" @click.stop="deleteImg('idCards',index)">删除</view>
            </view>
         </view>
         <view class="form-item m-t-20" v-if="dto.status&&dto.status=='R' ">
            <view class="label required" >不通过原因</view>
         </view>
         <view class="form-item m-t-20"  v-if="dto.status&&dto.status=='R' ">
            <view class="reject-reason">
               {{dto.rejectReason}}
            </view>
         </view>
         <view class="button-green-1 m-t-20 button-fixed-bottom before-line " @click="submit">
         <view class="button-green-1 m-t-20 button-fixed-bottom before-line " @click="submit" v-if="dto.status&&dto.status!='P' || source==='step' " >
            {{source==='step'?'下一步':'提交审核'}}
         </view>
         <view class="button-green-1 m-t-20 button-fixed-bottom before-line " style="font-size: 22rpx;"  v-if="dto.status&&dto.status=='P' " >
            审核已通过
         </view>
      </view>
@@ -109,8 +134,8 @@
               idCards: [],
               address: '',
               id: '',
               stationId: '',
               stationName: '',
               // stationId: '',
               // stationName: '',
               userId: '',
               name: '',
               contactTel: '',
@@ -129,8 +154,8 @@
                  key: 'contactTel'
               },
               {
                  name: '集货站',
                  key: 'stationId'
                  name: '城市仓名称',
                  key: 'cityWarehouse'
               },
               {
                  name: '地区',
@@ -142,24 +167,24 @@
               },
            ],
            regionDataPlus: [],
            show_select_station:false,
            columns_station:[],
            show_select_station: false,
            columns_station: [],
         }
      },
      onLoad(options) {
         this.source = options.source || ''
         this.$http.request('get', '/api/station/list', {
            params: {}
         }).then(res => {
            var data = res.data
            this.columns_station = [data || []]
         })
         // this.$http.request('get', '/api/station/list', {
         //    params: {}
         // }).then(res => {
         //    var data = res.data
         //    this.columns_station = [data || []]
         // })
         if (options.id) {
            this.id = options.id
            this.getDetail()
         } else {
            //判断是不是来自登录步骤,是等话需要从缓存里面拿信息
            if (this.source == 'step') {
            if (this.source === 'step') {
               var tjson = this.$storage.getItem('cache_partner_info')
               if (tjson) {
                  this.dto = {
@@ -173,7 +198,7 @@
            this.init_area()
         }
      },
@@ -189,7 +214,14 @@
               this.dto.province = ''
               this.dto.city = ''
               this.dto.region = ''
               if (e.detail.value.length <= 3) {
               if (e.detail.value.length == 2) {
                  if (!!e.detail.value[0])
                     this.dto.province = e.detail.value[0].value
                  if (!!e.detail.value[0])
                     this.dto.city = e.detail.value[0].value
                  if (!!e.detail.value[1])
                     this.dto.region = e.detail.value[1].value
               } else if (e.detail.value.length <= 3) {
                  if (!!e.detail.value[0])
                     this.dto.province = e.detail.value[0].value
                  if (!!e.detail.value[1])
@@ -224,10 +256,17 @@
            }
         },
         async init_area() {
            const res = await this.$http.request('get', '/api/pub/china/area/json')
            // console.log('area', JSON.parse(res.data))
            this.regionDataPlus = res.data && JSON.parse(res.data.replaceAll('code', 'value').replaceAll('name',
               'text')) || []
            var a = this.$storage.getItem('cache_area')
            if (a) {
               this.regionDataPlus = JSON.parse(a) || []
            } else {
               const res = await this.$http.request('get', '/api/pub/china/area/json')
               // console.log('area', JSON.parse(res.data))
               this.regionDataPlus = res.data && JSON.parse(res.data.replaceAll('code', 'value').replaceAll(
                  'name',
                  'text')) || []
               this.$storage.setItem('cache_area', JSON.stringify(this.regionDataPlus))
            }
@@ -287,8 +326,21 @@
                  return
               }
            }
            if (this.dto.contactTel.length !== 11 && !this.dto.contactTel.startsWith('1')) {
               this.$message.showToast(`联系方式需要为11位,且开头为1`)
               return
            }
            if(isNaN(parseInt(this.dto.contactTel))){
               this.$message.showToast(`联系方式需要为11位手机号,格式错误`)
               return
            }
            if (this.dto.idCards.length == 0) {
               this.$message.showToast(`身份证信息未填写`)
               return
            }
            if (this.dto.idCards.length < 2) {
               this.$message.showToast(`身份证信息需要上传至少2张图片(正反面)`)
               return
            }
            await this.$message.confirm(`是否确定提交/修改信息`)
@@ -299,7 +351,7 @@
                  ...this.dto
               }))
               uni.redirectTo({
               uni.navigateTo({
                  url: '/pages/login/supplier-reg?source=step'
               })
@@ -470,4 +522,10 @@
      color: #F56c6c;
      background-color: rgb(254, 243, 243);
   }
   .reject-reason{
      word-wrap: break-word; /* 遇到长单词时强制换行 */
      word-break: break-all; /* 长单词会在任意位置换行 */
      white-space: normal;   /* 允许换行 */
   }
</style>