From a59ff44b2eaa7020f0529632d9ec064c4dc38e27 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期二, 28 四月 2026 22:08:46 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/gtzxinglijicun
---
small-program/pages/store-apply/store-apply.vue | 108 +++++++++++++++++++++++++++++++++++-------------------
1 files changed, 70 insertions(+), 38 deletions(-)
diff --git a/small-program/pages/store-apply/store-apply.vue b/small-program/pages/store-apply/store-apply.vue
index aa0aec8..0e07eb8 100644
--- a/small-program/pages/store-apply/store-apply.vue
+++ b/small-program/pages/store-apply/store-apply.vue
@@ -4,12 +4,18 @@
<view class="process-wrap">
<view class="process-step" :class="{ active: currentStep === 1 }" @tap="currentStep = 1">
- <view class="step-dot"></view>
+ <view class="step-dot" :class="{ 'step-dot--done': currentStep > 1 }">
+ <view v-if="currentStep === 1" class="step-dot__inner"></view>
+ <u-icon v-else name="checkmark" color="#ffffff" size="14"></u-icon>
+ </view>
<text>闂ㄥ簵淇℃伅</text>
</view>
<view class="process-line"></view>
<view class="process-step" :class="{ active: currentStep === 2 }" @tap="currentStep = 2">
- <view class="step-dot step-index">2</view>
+ <view class="step-dot" :class="{ 'step-dot--inactive': currentStep !== 2 }">
+ <view v-if="currentStep === 2" class="step-dot__inner"></view>
+ <text v-else class="step-dot__index">2</text>
+ </view>
<text>涓讳綋璧勮川</text>
</view>
</view>
@@ -91,7 +97,7 @@
<view class="upload-section">
<view class="upload-title-row between-row">
- <view class="label-row"><text class="label">闂ㄥ簵鍐呴儴鎷涚墝</text><text class="required">*</text></view>
+ <view class="label-row"><text class="label">闂ㄥ簵鍐呴儴鐓х墖</text><text class="required">*</text></view>
<text class="upload-tip">鏈�澶氫笂浼�3寮犵収鐗�</text>
</view>
<view class="upload-grid">
@@ -232,14 +238,14 @@
</view>
<view class="upload-grid double-upload-grid">
<view class="upload-box id-upload-box" @click="chooseLegalPersonCardFront">
- <image v-if="!form.legalPersonCardFront" class="camera-icon" src="/static/icon/ic_camera@2x.png" mode="widthFix"></image>
- <image v-else class="preview-image" :src=" legalPersonCardFrontUrl" mode="aspectFill"></image>
- <text v-if="!form.legalPersonCardFront" class="upload-text">涓婁紶浜哄儚闈�</text>
+ <image v-if="!form.idcardImg" class="camera-icon" src="/static/icon/ic_camera@2x.png" mode="widthFix"></image>
+ <image v-else class="preview-image" :src="idcardImgUrl" mode="aspectFill"></image>
+ <text v-if="!form.idcardImg" class="upload-text">涓婁紶浜哄儚闈�</text>
</view>
<view class="upload-box id-upload-box" @click="chooseLegalPersonCardBack">
- <image v-if="!form.legalPersonCardBack" class="camera-icon" src="/static/icon/ic_camera@2x.png" mode="widthFix"></image>
- <image v-else class="preview-image" :src="legalPersonCardBackUrl" mode="aspectFill"></image>
- <text v-if="!form.legalPersonCardBack" class="upload-text">涓婁紶鍥藉窘闈�</text>
+ <image v-if="!form.idcardImgBack" class="camera-icon" src="/static/icon/ic_camera@2x.png" mode="widthFix"></image>
+ <image v-else class="preview-image" :src="idcardImgBackUrl" mode="aspectFill"></image>
+ <text v-if="!form.idcardImgBack" class="upload-text">涓婁紶鍥藉窘闈�</text>
</view>
</view>
</view>
@@ -317,8 +323,6 @@
laborContractImgs: [],
socialSecurityImgs: [],
legalPersonCard: '',
- legalPersonCardFront: '',
- legalPersonCardBack: '',
legalPersonName: '',
legalPersonPhone: '',
aliAccount: '',
@@ -328,8 +332,6 @@
businessImgUrl:'',
idcardImgUrl: '',
idcardImgBackUrl: '',
- legalPersonCardFrontUrl: '',
- legalPersonCardBackUrl: '',
previewMode: 'filled',
imgPrefix: '',
currentStep: 1,
@@ -376,8 +378,17 @@
uni.showToast({ title: '璇疯緭鍏ヨ仈绯讳汉鐢佃瘽', icon: 'none' })
return
}
+ const mobileRegex = /^1\d{10}$/
+ if (!mobileRegex.test(this.form.linkPhone)) {
+ uni.showToast({ title: '璇疯緭鍏ユ纭殑鎵嬫満鍙�', icon: 'none' })
+ return
+ }
if (!this.form.idcard) {
uni.showToast({ title: '璇疯緭鍏ヨ仈绯讳汉韬唤璇佸彿', icon: 'none' })
+ return
+ }
+ if (!/^\d{18}$/.test(this.form.idcard)) {
+ uni.showToast({ title: '璇疯緭鍏�18浣嶈韩浠借瘉鍙�', icon: 'none' })
return
}
if (!this.form.storeFrontImgs || this.form.storeFrontImgs.length === 0) {
@@ -385,7 +396,7 @@
return
}
if (!this.form.storeInteriorImgs || this.form.storeInteriorImgs.length === 0) {
- uni.showToast({ title: '璇蜂笂浼犻棬搴楀唴閮ㄦ嫑鐗�', icon: 'none' })
+ uni.showToast({ title: '璇蜂笂浼犻棬搴楀唴閮ㄧ収鐗�', icon: 'none' })
return
}
this.currentStep = 2
@@ -430,6 +441,12 @@
uni.showToast({ title: '璇疯緭鍏ユ硶浜烘墜鏈哄彿', icon: 'none' })
return
}
+ const mobileRegex = /^1\d{10}$/
+ const landlineRegex = /^\d{3,4}-?\d{7,8}$/
+ if (!mobileRegex.test(this.form.legalPersonPhone) && !landlineRegex.test(this.form.legalPersonPhone)) {
+ uni.showToast({ title: '璇疯緭鍏ユ纭殑鎵嬫満鍙锋垨鍥哄畾鐢佃瘽', icon: 'none' })
+ return
+ }
if (!this.form.aliAccount) {
uni.showToast({ title: '璇疯緭鍏ヤ紒涓氭敮浠樺疂璐﹀彿', icon: 'none' })
return
@@ -442,11 +459,15 @@
uni.showToast({ title: '璇疯緭鍏ユ硶浜鸿韩浠借瘉鍙�', icon: 'none' })
return
}
- if (!this.form.legalPersonCardFront) {
+ if (!/^\d{18}$/.test(this.form.legalPersonCard)) {
+ uni.showToast({ title: '璇疯緭鍏�18浣嶈韩浠借瘉鍙�', icon: 'none' })
+ return
+ }
+ if (!this.form.idcardImg) {
uni.showToast({ title: '璇蜂笂浼犳硶浜鸿韩浠借瘉浜哄儚闈�', icon: 'none' })
return
}
- if (!this.form.legalPersonCardBack) {
+ if (!this.form.idcardImgBack) {
uni.showToast({ title: '璇蜂笂浼犳硶浜鸿韩浠借瘉鍥藉窘闈�', icon: 'none' })
return
}
@@ -454,8 +475,6 @@
uni.showToast({ title: '璇蜂笂浼犺惀涓氭墽鐓�', icon: 'none' })
return
}
- this.form.idcardImgBack = this.form.legalPersonCardBack
- this.form.idcardImg = this.form.legalPersonCardFront
}
if (!this.agreed) {
uni.showToast({ title: '璇峰厛闃呰骞跺悓鎰忓崗璁�', icon: 'none' })
@@ -505,9 +524,7 @@
this.businessImgUrl=data.businessImgUrl||''
this.idcardImgUrl=data.idcardImgUrl||''
this.idcardImgBackUrl=data.idcardImgBackUrl||''
- this.legalPersonCardFrontUrl=data.idcardImgUrl||''
- this.legalPersonCardBackUrl=data.idcardImgBackUrl||''
- this.qualificationType = data.companyType === 0 ? 'personal' : 'company'
+ this.qualificationType = data.companyType === 'personal' ? 'personal' : 'company'
if (data.storeFrontImgs) {
this.storeFrontImages = data.storeFrontImgUrls
this.uploadedImagesStoreFront = data.storeFrontImgUrls.map(url => ({ url }))
@@ -536,7 +553,6 @@
this.form.socialSecurityImgs = data.socialSecurityImgs
}
this.form.legalPersonCard = data.legalPersonCard || ''
- this.form.legalPersonCardBack = data.legalPersonCardBack || ''
this.form.businessImg = data.businessImg || ''
}
} catch (error) {
@@ -704,7 +720,7 @@
this.form.storeInteriorImgs = this.idCardImages.map(url => this.getShortPath(url))
},
async chooseIdCardImage() {
- const maxCount = 2
+ const maxCount = 3
const currentCount = this.idCardImages.length
const remainingCount = maxCount - currentCount
if (remainingCount <= 0) {
@@ -866,8 +882,8 @@
uni.showLoading({ title: '涓婁紶涓�...', mask: true })
try {
const uploadResults = await this.uploadFiles(tempFilePaths, 1)
- this.form.legalPersonCardFront = uploadResults[0].imgaddr || uploadResults[0].path || uploadResults[0]
- this.legalPersonCardFrontUrl = uploadResults[0].url || uploadResults[0].path || uploadResults[0]
+ this.form.idcardImg = uploadResults[0].imgaddr || uploadResults[0].path || uploadResults[0]
+ this.idcardImgUrl = uploadResults[0].url || uploadResults[0].path || uploadResults[0]
uni.hideLoading()
uni.showToast({ title: '涓婁紶鎴愬姛', icon: 'success' })
} catch (error) {
@@ -886,8 +902,8 @@
uni.showLoading({ title: '涓婁紶涓�...', mask: true })
try {
const uploadResults = await this.uploadFiles(tempFilePaths, 1)
- this.form.legalPersonCardBack = uploadResults[0].imgaddr || uploadResults[0].path || uploadResults[0]
- this.legalPersonCardBackUrl = uploadResults[0].url || uploadResults[0].path || uploadResults[0]
+ this.form.idcardImgBack = uploadResults[0].imgaddr || uploadResults[0].path || uploadResults[0]
+ this.idcardImgBackUrl = uploadResults[0].url || uploadResults[0].path || uploadResults[0]
uni.hideLoading()
uni.showToast({ title: '涓婁紶鎴愬姛', icon: 'success' })
} catch (error) {
@@ -1027,21 +1043,38 @@
}
.step-dot {
- width: 26rpx;
- height: 26rpx;
+ width: 50rpx;
+ height: 50rpx;
border-radius: 50%;
- background: #16b0fa;
+ background: #afe4fe;
margin-bottom: 14rpx;
- border: 5rpx solid #a2e2ff;
- }
-
- .step-index {
- background: #b9bdc6;
- font-size: 18rpx;
- color: #ffffff;
display: flex;
align-items: center;
justify-content: center;
+ box-sizing: border-box;
+
+ &__inner {
+ width: 26rpx;
+ height: 26rpx;
+ border-radius: 50%;
+ background: #13b2fc;
+ box-sizing: border-box;
+ }
+
+ &__index {
+ font-size: 30rpx;
+ font-weight: 400;
+ color: #ffffff;
+ line-height: 1;
+ }
+
+ &--inactive {
+ background: #8C939F;
+ }
+
+ &--done {
+ background: #10B2FA;
+ }
}
.process-line {
@@ -1129,7 +1162,6 @@
.text-input,
.select-row {
- height: 54rpx;
margin-top: 14rpx;
font-weight: 400;
font-size: 30rpx;
--
Gitblit v1.9.3