2025-10-25 10:29:50 +08:00
|
|
|
|
<template>
|
|
|
|
|
|
<view class="content">
|
2025-11-01 07:56:04 +08:00
|
|
|
|
<view v-if="!userinfo.id_card_number">
|
|
|
|
|
|
<view class="moduleWrap">
|
|
|
|
|
|
<view class="moduleBox" style="padding-bottom: 40rpx;">
|
|
|
|
|
|
<view class="monthBox">
|
|
|
|
|
|
<view class="text1">身份证信息</view>
|
|
|
|
|
|
<text class="text2">上传本人身份证照片,保持图片清晰完整</text>
|
2025-10-25 10:29:50 +08:00
|
|
|
|
</view>
|
2025-11-01 07:56:04 +08:00
|
|
|
|
<view class="flex-between" style="margin-top: 20rpx;">
|
|
|
|
|
|
<view>
|
|
|
|
|
|
<img-upload @imgList="imgListz" style="width: 300rpx;height: 190rpx;">
|
|
|
|
|
|
<template v-slot:upLoadImg>
|
|
|
|
|
|
<image :src="path+'/assets/img/icon/IDbgz.png'" mode="widthFix" style="width: 300rpx;height: 190rpx;">
|
|
|
|
|
|
</image>
|
|
|
|
|
|
</template>
|
|
|
|
|
|
</img-upload>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view>
|
|
|
|
|
|
<img-upload @imgList="imgListf" style="width: 300rpx;height: 190rpx;">
|
|
|
|
|
|
<template v-slot:upLoadImg>
|
|
|
|
|
|
<image :src="path+'/assets/img/icon/IDbgf.png'" mode="widthFix" style="width: 300rpx;height: 190rpx;">
|
|
|
|
|
|
</image>
|
|
|
|
|
|
</template>
|
|
|
|
|
|
</img-upload>
|
|
|
|
|
|
</view>
|
2025-10-25 10:29:50 +08:00
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
2025-11-01 07:56:04 +08:00
|
|
|
|
<view class="moduleWrap">
|
|
|
|
|
|
<view class="moduleBox">
|
|
|
|
|
|
<view class="text4">真实姓名</view>
|
|
|
|
|
|
<view class="inputBox">
|
|
|
|
|
|
<input v-model="realname" class="input1" type="text" placeholder="输入和身份证姓名一致" />
|
|
|
|
|
|
</view>
|
2025-10-25 10:29:50 +08:00
|
|
|
|
</view>
|
2025-11-01 07:56:04 +08:00
|
|
|
|
<view class="moduleBox">
|
|
|
|
|
|
<view class="text4">身份证号</view>
|
|
|
|
|
|
<view class="inputBox">
|
|
|
|
|
|
<input v-model="id_card_number" class="input1" type="text" placeholder="输入18位身份证号" />
|
|
|
|
|
|
</view>
|
2025-10-25 10:29:50 +08:00
|
|
|
|
</view>
|
2025-11-01 07:56:04 +08:00
|
|
|
|
<view class="moduleBox">
|
|
|
|
|
|
<view class="text4">有效日期</view>
|
|
|
|
|
|
<view class="inputBox inputTwoBox">
|
|
|
|
|
|
<text class="input1" @click="showStartDate=true">{{id_card_start_date||'开始时间'}}</text>
|
|
|
|
|
|
<!-- <input class="input1" type="text" placeholder="开始日期" /> -->
|
|
|
|
|
|
<text class="centerIcon">至</text>
|
|
|
|
|
|
<text class="input2" @click="showEndDate=true">{{id_card_end_date||'结束时间'}}</text>
|
|
|
|
|
|
<!-- <input class="input2" type="text" placeholder="开始日期" /> -->
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<u-datetime-picker
|
|
|
|
|
|
:show="showStartDate"
|
|
|
|
|
|
v-model="dateStart"
|
|
|
|
|
|
mode="date"
|
|
|
|
|
|
@confirm="confirmStartDate"
|
|
|
|
|
|
></u-datetime-picker>
|
|
|
|
|
|
<u-datetime-picker
|
|
|
|
|
|
:show="showEndDate"
|
|
|
|
|
|
v-model="dateEnd"
|
|
|
|
|
|
mode="date"
|
|
|
|
|
|
@confirm="confirmEndDate"
|
|
|
|
|
|
></u-datetime-picker>
|
2025-10-25 19:46:23 +08:00
|
|
|
|
</view>
|
2025-11-01 07:56:04 +08:00
|
|
|
|
<view class="moduleBox">
|
|
|
|
|
|
<view class="text4">证件地址</view>
|
|
|
|
|
|
<view class="inputBox">
|
|
|
|
|
|
<input v-model="id_card_address" class="input1" type="text" placeholder="与身份证住址保持一致" />
|
|
|
|
|
|
</view>
|
2025-10-25 19:46:23 +08:00
|
|
|
|
</view>
|
2025-11-01 07:56:04 +08:00
|
|
|
|
<view class="moduleBox">
|
|
|
|
|
|
<view class="text4">联系电话</view>
|
|
|
|
|
|
<view class="inputBox">
|
|
|
|
|
|
<input v-model="mobile" class="input1" type="text" placeholder="输入您的联系方式" />
|
|
|
|
|
|
</view>
|
2025-10-25 19:46:23 +08:00
|
|
|
|
</view>
|
2025-11-01 07:56:04 +08:00
|
|
|
|
<view class="moduleBox" style="padding-bottom: 60rpx;">
|
|
|
|
|
|
<view class="text4">代理区域</view>
|
|
|
|
|
|
<view class="inputBox inputTwoBox2">
|
|
|
|
|
|
<!-- <input class="input1" type="text" placeholder="请选择省份" /> -->
|
|
|
|
|
|
<view class="input1" @click="showProvince = true">{{provinceName||'请选择省份'}}</view>
|
|
|
|
|
|
<text class="centerIcon">-</text>
|
|
|
|
|
|
<view @click="showCity = true" class="input2">{{cityName||'请选择城市'}}</view>
|
|
|
|
|
|
<!-- <input class="input2" type="text" placeholder="请选择城市" /> -->
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<u-picker :show="showProvince" :columns="[provinceList]" keyName="label" @confirm="confirmProvince"></u-picker>
|
|
|
|
|
|
<u-picker :show="showCity" :columns="[cityList]" keyName="label" @confirm="confirmCity"></u-picker>
|
|
|
|
|
|
<view class="tipBox">
|
|
|
|
|
|
Tips:我们会在3个工作日内审核并与您联系,请注意接听电话。
|
2025-10-25 19:46:23 +08:00
|
|
|
|
</view>
|
2025-11-01 07:56:04 +08:00
|
|
|
|
<view style="height: 130rpx;"></view>
|
|
|
|
|
|
<view class="btnBox">
|
|
|
|
|
|
<view class="btnEle flex-center" @click="apply">
|
|
|
|
|
|
提交申请
|
2025-10-25 19:46:23 +08:00
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
2025-11-01 07:56:04 +08:00
|
|
|
|
<view v-else class="userBox">
|
|
|
|
|
|
<view class="userTitle">已经申请加盟</view>
|
|
|
|
|
|
<view class="userContent">
|
|
|
|
|
|
<view class="userName flex-between">
|
|
|
|
|
|
<view>姓名</view>
|
|
|
|
|
|
<view>{{userinfo.realname}}</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="userID flex-between">
|
|
|
|
|
|
<view>身份证号</view>
|
|
|
|
|
|
<view>{{userinfo.id_card_number}}</view>
|
|
|
|
|
|
</view>
|
2025-10-25 19:46:23 +08:00
|
|
|
|
</view>
|
2025-10-25 10:29:50 +08:00
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<script>
|
2025-10-26 16:36:59 +08:00
|
|
|
|
import imgUpload from '@/components/imgUpload.vue'
|
|
|
|
|
|
import util from '../../common/util.js'
|
2025-10-25 10:29:50 +08:00
|
|
|
|
export default {
|
|
|
|
|
|
data() {
|
|
|
|
|
|
return {
|
2025-11-01 07:56:04 +08:00
|
|
|
|
userinfo: {},
|
2025-10-26 16:36:59 +08:00
|
|
|
|
showStartDate: false,
|
|
|
|
|
|
showEndDate: false,
|
|
|
|
|
|
dateStart: Number(new Date()),
|
|
|
|
|
|
dateEnd: Number(new Date()),
|
|
|
|
|
|
realname: '',
|
|
|
|
|
|
id_card_number: '',
|
|
|
|
|
|
id_card_front: '',
|
|
|
|
|
|
id_card_back: '',
|
|
|
|
|
|
id_card_start_date: '',
|
|
|
|
|
|
id_card_end_date: '',
|
|
|
|
|
|
id_card_address: '',
|
2025-10-29 15:50:14 +08:00
|
|
|
|
mobile: '',
|
|
|
|
|
|
showProvince: false,
|
|
|
|
|
|
showCity: false,
|
|
|
|
|
|
provinceList: [],
|
|
|
|
|
|
cityList: [],
|
|
|
|
|
|
provinceName: '',
|
|
|
|
|
|
cityName: ''
|
2025-10-25 10:29:50 +08:00
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
components:{
|
2025-10-26 16:36:59 +08:00
|
|
|
|
imgUpload
|
2025-10-25 10:29:50 +08:00
|
|
|
|
},
|
|
|
|
|
|
onLoad() {
|
2025-11-01 07:56:04 +08:00
|
|
|
|
this.getauth()
|
2025-10-29 15:50:14 +08:00
|
|
|
|
this.allarealist()
|
2025-10-25 10:29:50 +08:00
|
|
|
|
},
|
|
|
|
|
|
onShow() {
|
|
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
methods: {
|
2025-11-01 07:56:04 +08:00
|
|
|
|
getauth(){
|
|
|
|
|
|
var _this = this;
|
|
|
|
|
|
|
|
|
|
|
|
let obj = uni.getStorageSync('personInfo');
|
|
|
|
|
|
obj.realname = this.maskName(obj.realname)
|
|
|
|
|
|
obj.id_card_number = this.maskName(obj.id_card_number);
|
|
|
|
|
|
_this.userinfo = obj;
|
|
|
|
|
|
// _this.$api.userInfo({},res=>{
|
|
|
|
|
|
// if(res.code == '1'){
|
|
|
|
|
|
// _this.userinfo = res.data.person
|
|
|
|
|
|
// }else{
|
|
|
|
|
|
// }
|
|
|
|
|
|
// })
|
|
|
|
|
|
},
|
|
|
|
|
|
maskName(name) {
|
|
|
|
|
|
if (name.length > 1) {
|
|
|
|
|
|
return name.slice(0, 1) + '*'.repeat(name.length - 1);
|
|
|
|
|
|
} else {
|
|
|
|
|
|
return name; // 如果名字只有一个字,则不替换
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
maskIdCard(idCard) {
|
|
|
|
|
|
if (idCard.length <= 2) return idCard; // 如果身份证号长度小于等于2,直接返回
|
|
|
|
|
|
return idCard.slice(0, 1) + '*'.repeat(idCard.length - 2) + idCard.slice(-1);
|
|
|
|
|
|
},
|
2025-10-29 15:50:14 +08:00
|
|
|
|
confirmProvince(val){
|
2025-10-30 21:04:29 +08:00
|
|
|
|
console.log(val,val.value[0],val.value[0].children)
|
|
|
|
|
|
this.cityList = val.value[0].children
|
2025-10-29 15:50:14 +08:00
|
|
|
|
this.provinceName = val.value[0].label
|
|
|
|
|
|
this.showProvince = false
|
|
|
|
|
|
},
|
|
|
|
|
|
confirmCity(val){
|
|
|
|
|
|
this.showCity = false
|
|
|
|
|
|
this.cityName = val.value[0].label
|
|
|
|
|
|
},
|
|
|
|
|
|
allarealist(){
|
|
|
|
|
|
this.$api.allarealist({},res=>{
|
|
|
|
|
|
if(res.code == '1'){
|
|
|
|
|
|
console.log(res.data,'ggggggg')
|
|
|
|
|
|
this.provinceList = res.data;
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
},
|
2025-10-26 16:36:59 +08:00
|
|
|
|
apply(){
|
|
|
|
|
|
let data = {
|
|
|
|
|
|
realname: this.realname,
|
|
|
|
|
|
id_card_number: this.id_card_number,
|
|
|
|
|
|
id_card_front: this.id_card_front,
|
|
|
|
|
|
id_card_back: this.id_card_back,
|
|
|
|
|
|
id_card_start_date: this.id_card_start_date,
|
|
|
|
|
|
id_card_end_date: this.id_card_end_date,
|
|
|
|
|
|
id_card_address: this.id_card_address,
|
|
|
|
|
|
mobile: this.mobile
|
|
|
|
|
|
}
|
|
|
|
|
|
this.$api.applyCertification(data,res=>{
|
|
|
|
|
|
if(res.code == '1'){
|
|
|
|
|
|
uni.showToast({ title: res.msg , icon: 'success' })
|
|
|
|
|
|
setTimeout(()=>{
|
|
|
|
|
|
uni.navigateBack({
|
|
|
|
|
|
delta: 1
|
|
|
|
|
|
})
|
|
|
|
|
|
}, 2000)
|
|
|
|
|
|
}else{
|
|
|
|
|
|
uni.showToast({ title: res.msg , icon: 'none' })
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
},
|
|
|
|
|
|
imgListz(val){
|
|
|
|
|
|
this.id_card_front = val
|
|
|
|
|
|
},
|
|
|
|
|
|
imgListf(val){
|
|
|
|
|
|
this.id_card_back = val
|
|
|
|
|
|
},
|
|
|
|
|
|
confirmStartDate(val){
|
|
|
|
|
|
this.showStartDate = false
|
|
|
|
|
|
this.id_card_start_date = util.formatDate(val.value,'YYYY-MM-DD')
|
|
|
|
|
|
},
|
|
|
|
|
|
confirmEndDate(val){
|
|
|
|
|
|
this.showEndDate = false
|
|
|
|
|
|
this.id_card_end_date = util.formatDate(val.value,'YYYY-MM-DD')
|
|
|
|
|
|
}
|
2025-10-25 10:29:50 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
<style lang="scss">
|
|
|
|
|
|
page{
|
|
|
|
|
|
height: 100%;
|
|
|
|
|
|
}
|
|
|
|
|
|
.content{
|
|
|
|
|
|
padding: 20rpx 35rpx;
|
|
|
|
|
|
background: #F5F5FA;
|
|
|
|
|
|
height: 100%;
|
2025-10-25 19:46:23 +08:00
|
|
|
|
overflow: auto;
|
2025-10-25 10:29:50 +08:00
|
|
|
|
}
|
|
|
|
|
|
.monthBox{
|
|
|
|
|
|
display: flex;
|
2025-10-25 10:55:02 +08:00
|
|
|
|
flex-direction: column;
|
2025-10-25 10:29:50 +08:00
|
|
|
|
.text1{
|
2025-10-25 10:55:02 +08:00
|
|
|
|
font-weight: bold;
|
|
|
|
|
|
font-size: 32rpx;
|
2025-10-25 10:29:50 +08:00
|
|
|
|
color: #333333;
|
|
|
|
|
|
}
|
|
|
|
|
|
.text2{
|
2025-10-25 10:55:02 +08:00
|
|
|
|
font-weight: 400;
|
|
|
|
|
|
font-size: 24rpx;
|
|
|
|
|
|
color: #999999;
|
|
|
|
|
|
margin-top: 10rpx;
|
2025-10-25 10:29:50 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
.moduleBox{
|
|
|
|
|
|
background: #fff;
|
2025-10-25 19:46:23 +08:00
|
|
|
|
padding: 34rpx 30rpx 28rpx;
|
|
|
|
|
|
// border-bottom: 1rpx solid #DEDEDE;
|
2025-10-25 10:29:50 +08:00
|
|
|
|
.text4{
|
2025-10-25 19:46:23 +08:00
|
|
|
|
font-weight: bold;
|
|
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
|
color: #333333;
|
2025-10-25 10:29:50 +08:00
|
|
|
|
}
|
2025-10-25 19:46:23 +08:00
|
|
|
|
.input1{
|
|
|
|
|
|
margin-top: 40rpx;
|
|
|
|
|
|
font-size: 28rpx;
|
2025-10-25 10:29:50 +08:00
|
|
|
|
}
|
2025-10-25 19:46:23 +08:00
|
|
|
|
.input2{
|
|
|
|
|
|
margin-top: 40rpx;
|
|
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
|
text-align: right;
|
|
|
|
|
|
}
|
|
|
|
|
|
.centerIcon{
|
|
|
|
|
|
font-weight: 400;
|
|
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
|
color: #333333;
|
|
|
|
|
|
}
|
|
|
|
|
|
.inputBox{
|
|
|
|
|
|
border-bottom: 1rpx solid #DEDEDE;
|
|
|
|
|
|
padding-bottom: 22rpx;
|
2025-10-25 10:29:50 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
.moduleBox:last-child{
|
|
|
|
|
|
border-bottom: none;
|
|
|
|
|
|
}
|
|
|
|
|
|
.moduleWrap{
|
|
|
|
|
|
|
|
|
|
|
|
margin-bottom: 20rpx;
|
|
|
|
|
|
border-radius: 30rpx;
|
2025-10-25 10:55:02 +08:00
|
|
|
|
overflow: hidden;
|
2025-10-25 10:29:50 +08:00
|
|
|
|
}
|
2025-10-25 19:46:23 +08:00
|
|
|
|
.inputTwoBox{
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-direction: row;
|
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
|
align-items: flex-end;
|
2025-10-25 10:29:50 +08:00
|
|
|
|
}
|
2025-10-25 19:46:23 +08:00
|
|
|
|
.inputTwoBox2{
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-direction: row;
|
|
|
|
|
|
justify-content: flex-start;
|
|
|
|
|
|
align-items: flex-end;
|
|
|
|
|
|
.input1{
|
|
|
|
|
|
margin-top: 40rpx;
|
|
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
|
width: 200rpx;
|
2025-10-25 10:29:50 +08:00
|
|
|
|
}
|
2025-10-25 19:46:23 +08:00
|
|
|
|
.input2{
|
|
|
|
|
|
margin-top: 40rpx;
|
|
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
|
width: 200rpx;
|
2025-10-25 10:29:50 +08:00
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-10-25 19:46:23 +08:00
|
|
|
|
.tipBox{
|
|
|
|
|
|
width: 680rpx;
|
|
|
|
|
|
height: 110rpx;
|
|
|
|
|
|
background: #FFF4ED;
|
|
|
|
|
|
border-radius: 20rpx;
|
2025-10-25 10:29:50 +08:00
|
|
|
|
font-weight: 400;
|
2025-10-25 19:46:23 +08:00
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
|
color: #FF9348;
|
|
|
|
|
|
line-height: 36rpx;
|
|
|
|
|
|
padding: 0 30rpx;
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-direction: row;
|
|
|
|
|
|
justify-content: flex-start;
|
|
|
|
|
|
align-items: center;
|
2025-10-25 10:29:50 +08:00
|
|
|
|
}
|
2025-10-25 19:46:23 +08:00
|
|
|
|
|
|
|
|
|
|
.btnBox{
|
|
|
|
|
|
padding: 10rpx 35rpx;
|
|
|
|
|
|
position: fixed;
|
|
|
|
|
|
left: 0;
|
|
|
|
|
|
bottom: 0;
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
background: #fff;
|
|
|
|
|
|
.btnEle{
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
height: 90rpx;
|
|
|
|
|
|
background: linear-gradient(90deg, #FFAD38 0%, #FF884E 100%);
|
|
|
|
|
|
border-radius: 10rpx;
|
|
|
|
|
|
font-weight: 500;
|
|
|
|
|
|
font-size: 30rpx;
|
|
|
|
|
|
color: #FFFFFF;
|
|
|
|
|
|
line-height: 36rpx;
|
|
|
|
|
|
}
|
2025-10-25 10:29:50 +08:00
|
|
|
|
}
|
2025-11-01 07:56:04 +08:00
|
|
|
|
|
|
|
|
|
|
.userBox{
|
|
|
|
|
|
padding-top: 100rpx;
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
|
justify-content: center;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
.userTitle{
|
|
|
|
|
|
font-size: 36rpx;
|
|
|
|
|
|
font-weight: bold;
|
|
|
|
|
|
}
|
|
|
|
|
|
.userContent{
|
|
|
|
|
|
background: #fff;
|
|
|
|
|
|
width: 700rpx;
|
|
|
|
|
|
margin-top: 100rpx;
|
|
|
|
|
|
padding: 30rpx;
|
|
|
|
|
|
border-radius: 20rpx;
|
|
|
|
|
|
.userName{
|
|
|
|
|
|
border-bottom: 1rpx solid #F5F5FA;
|
|
|
|
|
|
padding-bottom: 30rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
.userID{
|
|
|
|
|
|
margin-top: 30rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-10-25 10:29:50 +08:00
|
|
|
|
</style>
|