From 59b1f0e9967902aa10f5e017d5a0bdfd1b60c9ea Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期三, 29 四月 2026 09:42:45 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 small-program/pages/store-apply/store-apply.vue |  331 ++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 217 insertions(+), 114 deletions(-)

diff --git a/small-program/pages/store-apply/store-apply.vue b/small-program/pages/store-apply/store-apply.vue
index 698109b..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>
@@ -27,7 +33,7 @@
 			<view class="form-group select-group">
 				<view class="label-row"><text class="label">鎵�鍦ㄥ煄甯�</text><text class="required">*</text></view>
 				<view class="select-row" @click="showAreaPicker = true">
-					<text class="select-text" :class="{ placeholder: !form.areaName }">{{ form.areaName || '璇烽�夋嫨鐪佸競鍖�' }}</text>
+					<text class="select-text" :class="{ placeholder: !fullAreaName }">{{ fullAreaName || '璇烽�夋嫨鐪佸競鍖�' }}</text>
 					<u-icon name="arrow-right" size="18" color="#9FA6B2"></u-icon>
 				</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">
@@ -128,15 +134,21 @@
 			<view class="form-group subject-first-group">
 				<view class="label-row"><text class="label">闂ㄥ簵绫诲瀷</text><text class="required">*</text></view>
 				<view class="switch-row type-switch-row">
-					<view class="switch-pill" :class="{ active: qualificationType === 'personal' }" @tap="switchQualification('personal')">涓汉</view>
-					<view class="switch-pill" :class="{ active: qualificationType === 'company' }" @tap="switchQualification('company')">浼佷笟</view>
+					<view class="switch-pill" :class="{ active: form.companyType ===0 }" @tap="form.companyType =0">涓汉</view>
+					<view class="switch-pill" :class="{ active: form.companyType ===1}" @tap="form.companyType =1">浼佷笟</view>
 				</view>
 			</view>
 
-			<template v-if="qualificationType === 'personal'">
+			<template v-if="form.companyType ===0">
 				<view class="form-group compact-group">
 					<view class="label-row"><text class="label">鏀粯瀹濊处鍙�</text><text class="required">*</text></view>
 					<input class="text-input" v-model="form.aliAccount" placeholder="璇疯緭鍏ヤ釜浜烘敮浠樺疂璐﹀彿" placeholder-class="placeholder" />
+				</view>
+				<view class="divider"></view>
+
+				<view class="form-group compact-group">
+					<view class="label-row"><text class="label">鏀粯瀹濆鍚�</text><text class="required">*</text></view>
+					<input class="text-input" v-model="form.aliName" placeholder="璇疯緭鍏ユ敮浠樺疂濮撳悕" placeholder-class="placeholder" />
 				</view>
 				<view class="divider"></view>
 
@@ -147,12 +159,12 @@
 					<view class="upload-grid double-upload-grid">
 						<view class="upload-box id-upload-box" @click="chooseIdCardFront">
 							<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="getFullPath(form.idcardImg)" mode="aspectFill"></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="chooseIdCardBack">
 							<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="getFullPath(form.idcardImgBack)" mode="aspectFill"></image>
+							<image v-else class="preview-image" :src="idcardImgBackUrl" mode="aspectFill"></image>
 							<text v-if="!form.idcardImgBack" class="upload-text">涓婁紶鍥藉窘闈�</text>
 						</view>
 					</view>
@@ -197,10 +209,20 @@
 					<input class="text-input" v-model="form.legalPersonName" placeholder="璇疯緭鍏ユ硶浜哄鍚�" placeholder-style="color: #c1c7d0;" />
 				</view>
 				<view class="divider"></view>
-
+				<view class="form-group compact-group">
+					<view class="label-row"><text class="label">娉曚汉鎵嬫満鍙�</text><text class="required">*</text></view>
+					<input class="text-input" v-model="form.legalPersonPhone" placeholder="璇疯緭鍏ユ硶浜哄鍚�" placeholder-style="color: #c1c7d0;" />
+				</view>
+				<view class="divider"></view>
 				<view class="form-group compact-group">
 					<view class="label-row"><text class="label">浼佷笟鏀粯瀹濊处鍙�</text><text class="required">*</text></view>
 					<input class="text-input" v-model="form.aliAccount" placeholder="璇疯緭鍏ヤ紒涓氭敮浠樺疂璐﹀彿" placeholder-style="color: #c1c7d0;" />
+				</view>
+				<view class="divider"></view>
+
+				<view class="form-group compact-group">
+					<view class="label-row"><text class="label">鏀粯瀹濆鍚�</text><text class="required">*</text></view>
+					<input class="text-input" v-model="form.aliName" placeholder="璇疯緭鍏ユ敮浠樺疂濮撳悕" placeholder-style="color: #c1c7d0;" />
 				</view>
 				<view class="divider"></view>
 
@@ -216,14 +238,14 @@
 					</view>
 					<view class="upload-grid double-upload-grid">
 						<view class="upload-box id-upload-box" @click="chooseLegalPersonCardFront">
-							<image v-if="!form.legalPersonCard" class="camera-icon" src="/static/icon/ic_camera@2x.png" mode="widthFix"></image>
-							<image v-else class="preview-image" :src="getFullPath(form.legalPersonCard)" mode="aspectFill"></image>
-							<text v-if="!form.legalPersonCard" 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="getFullPath(form.legalPersonCardBack)" 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>
@@ -235,12 +257,23 @@
 					<view class="upload-grid">
 						<view class="upload-box license-upload-box" @click="chooseBusinessImage">
 							<image v-if="!form.businessImg" class="camera-icon" src="/static/icon/ic_camera@2x.png" mode="widthFix"></image>
-							<image v-else class="preview-image" :src="getFullPath(form.businessImg)" mode="aspectFill"></image>
+							<image v-else class="preview-image" :src="businessImgUrl" mode="aspectFill"></image>
 							<text v-if="!form.businessImg" class="upload-text">鐐瑰嚮涓婁紶</text>
 						</view>
 					</view>
 				</view>
 			</template>
+			<view class="agreement-row">
+				<image class="agree-icon" :src="agreed ? '/static/icon/ic_accept_sel@2x.png' : '/static/icon/ic_accept@2x.png'" mode="aspectFit" @tap="agreed = !agreed"></image>
+				<view class="agreement-text-wrap">
+					<text class="agreement-text">鎴戝凡闃呰骞跺悓鎰�</text>
+					<text class="agreement-link" @click="goToService(5)">銆婇闄╂壙璇恒��</text>
+					<text class="agreement-text">銆�</text>
+					<text class="agreement-link" @click="goToService(6)">銆婅鏉庡瘎瀛橀』鐭ャ��</text>
+					<text class="agreement-text">鍙�</text>
+					<text class="agreement-link" @click="goToService(7)">銆婁唬鐞嗙偣鍚堜綔鍗忚銆�</text>
+				</view>
+			</view>
 		</view>
 
 		<view class="bottom-btn-wrap">
@@ -259,14 +292,22 @@
 	import { mapState } from 'vuex'
 	export default {
 		computed: {
-			...mapState(['userInfo'])
+			...mapState(['userInfo']),
+			fullAreaName() {
+				const arr = [this.form.provinceName, this.form.cityName, this.form.areaName].filter(Boolean)
+				return arr.join('/')
+			}
 		},
 		data() {
 			return {
+				agreed:false,
 				form: {
 					telephone: '',
 					companyType: 0,
 					name: '',
+					provinceName: '',
+					cityName: '',
+					areaName: '',
 					areaId: '',
 					longitude: '',
 					latitude: '',
@@ -282,16 +323,18 @@
 					laborContractImgs: [],
 					socialSecurityImgs: [],
 					legalPersonCard: '',
-					legalPersonCardBack: '',
 					legalPersonName: '',
 					legalPersonPhone: '',
 					aliAccount: '',
+					aliName: '',
 					businessImg: ''
 				},
-
+				businessImgUrl:'',
+				idcardImgUrl: '',
+				idcardImgBackUrl: '',
 				previewMode: 'filled',
+				imgPrefix: '',
 				currentStep: 1,
-				qualificationType: 'company',
 				showAreaPicker: false,
 				areaList: [],
 				areaColumns: [],
@@ -303,7 +346,6 @@
 				uploadedSocialSecurityImages: [],
 				storeFrontImages: [],
 				idCardImages: [],
-				businessImages: [],
 				permitImages: [],
 				laborContractImages: [],
 				socialSecurityImages: []
@@ -336,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) {
@@ -345,15 +396,16 @@
 					return
 				}
 				if (!this.form.storeInteriorImgs || this.form.storeInteriorImgs.length === 0) {
-					uni.showToast({ title: '璇蜂笂浼犻棬搴楀唴閮ㄦ嫑鐗�', icon: 'none' })
+					uni.showToast({ title: '璇蜂笂浼犻棬搴楀唴閮ㄧ収鐗�', icon: 'none' })
 					return
 				}
 				this.currentStep = 2
 			},
-			switchQualification(type) {
-				this.qualificationType = type
-				this.form.companyType = type === 'personal' ? 0 : 1
-			},
+			goToService(type) {
+				uni.navigateTo({
+					url: '/pages/rich-text/rich-text?type='+type
+				})
+			},  
 			async submitApply() {
 				if (this.form.companyType === 0) {
 					if (!this.form.idcardImg) {
@@ -362,6 +414,14 @@
 					}
 					if (!this.form.idcardImgBack) {
 						uni.showToast({ title: '璇蜂笂浼犺韩浠借瘉鍥藉窘闈�', icon: 'none' })
+						return
+					}
+					if (!this.form.aliAccount) {
+						uni.showToast({ title: '璇疯緭鍏ヤ釜浜烘敮浠樺疂璐﹀彿', icon: 'none' })
+						return
+					}
+					if (!this.form.aliName) {
+						uni.showToast({ title: '璇疯緭鍏ユ敮浠樺疂濮撳悕', icon: 'none' })
 						return
 					}
 					if (!this.form.laborContractImgs || this.form.laborContractImgs.length === 0) {
@@ -377,15 +437,37 @@
 						uni.showToast({ title: '璇疯緭鍏ユ硶浜哄鍚�', icon: 'none' })
 						return
 					}
+					if (!this.form.legalPersonPhone) {
+						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
 					}
+					if (!this.form.aliName) {
+						uni.showToast({ title: '璇疯緭鍏ユ敮浠樺疂濮撳悕', icon: 'none' })
+						return
+					}
 					if (!this.form.legalPersonCard) {
+						uni.showToast({ title: '璇疯緭鍏ユ硶浜鸿韩浠借瘉鍙�', icon: 'none' })
+						return
+					}
+					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
 					}
@@ -393,6 +475,10 @@
 						uni.showToast({ title: '璇蜂笂浼犺惀涓氭墽鐓�', icon: 'none' })
 						return
 					}
+				}
+				if (!this.agreed) {
+					uni.showToast({ title: '璇峰厛闃呰骞跺悓鎰忓崗璁�', icon: 'none' })
+					return
 				}
 				uni.showLoading({ title: '鎻愪氦涓�...', mask: true })
 				try {
@@ -403,7 +489,7 @@
 						setTimeout(() => {
 							uni.navigateBack()
 						}, 1500)
-					} else {
+					}else {
 						uni.showToast({ title: res.msg || '鎻愪氦澶辫触', icon: 'none' })
 					}
 				} catch (error) {
@@ -417,9 +503,12 @@
 					if (res.code === 200 && res.data) {
 						const data = res.data
 						const imgPrefix = data.imgPrefix || ''
+						this.imgPrefix = data.imgPrefix || ''
 						this.form.name = data.name || ''
-						this.form.areaId = data.areaId || ''
+						this.form.provinceName = data.provinceName || ''
+						this.form.cityName = data.cityName || ''
 						this.form.areaName = data.areaName || ''
+						this.form.areaId = data.areaId || ''
 						this.form.address = data.address || ''
 						this.form.longitude = data.longitude || ''
 						this.form.latitude = data.latitude || ''
@@ -427,64 +516,44 @@
 						this.form.linkPhone = data.linkPhone || ''
 						this.form.idcard = data.idcard || ''
 						this.form.aliAccount = data.aliAccount || ''
+						this.form.aliName = data.aliName || ''
 						this.form.companyType = data.companyType || 0
 						this.form.telephone = data.telephone || this.userInfo.telephone || ''
 						this.form.legalPersonName = data.legalPersonName || ''
 						this.form.legalPersonPhone = data.legalPersonPhone || ''
-						this.qualificationType = data.companyType === 0 ? 'personal' : 'company'
+						this.businessImgUrl=data.businessImgUrl||''
+						this.idcardImgUrl=data.idcardImgUrl||''
+						this.idcardImgBackUrl=data.idcardImgBackUrl||''
+						this.qualificationType = data.companyType === 'personal' ? 'personal' : 'company'
 						if (data.storeFrontImgs) {
-							let storeFrontImgs = data.storeFrontImgs
-							if (typeof storeFrontImgs === 'string') {
-								storeFrontImgs = storeFrontImgs.split(',')
-							}
-							this.storeFrontImages = storeFrontImgs
-							this.uploadedImagesStoreFront = storeFrontImgs.map(url => ({ url: imgPrefix + url }))
-							this.form.storeFrontImgs = storeFrontImgs
+							this.storeFrontImages = data.storeFrontImgUrls
+							this.uploadedImagesStoreFront = data.storeFrontImgUrls.map(url => ({ url }))
+							this.form.storeFrontImgs = data.storeFrontImgs
 						}
 						if (data.storeInteriorImgs) {
-							let storeInteriorImgs = data.storeInteriorImgs
-							if (typeof storeInteriorImgs === 'string') {
-								storeInteriorImgs = storeInteriorImgs.split(',')
-							}
-							this.idCardImages = storeInteriorImgs
-							this.uploadedImagesIdCard = storeInteriorImgs.map(url => ({ url: imgPrefix + url }))
-							this.form.storeInteriorImgs = storeInteriorImgs
+							this.idCardImages = data.storeInteriorImgUrls
+							this.uploadedImagesIdCard = data.storeInteriorImgUrls.map(url => ({ url }))
+							this.form.storeInteriorImgs = data.storeInteriorImgs
 						}
 						if (data.otherMaterialImgs) {
-							let otherMaterialImgs = data.otherMaterialImgs
-							if (typeof otherMaterialImgs === 'string') {
-								otherMaterialImgs = otherMaterialImgs.split(',')
-							}
-							this.permitImages = otherMaterialImgs
-							this.uploadedImagesPermit = otherMaterialImgs.map(url => ({ url: imgPrefix + url }))
-							this.form.otherMaterialImgs = otherMaterialImgs
+							this.permitImages = data.otherMaterialImgUrls
+							this.uploadedImagesPermit = data.otherMaterialImgUrls.map(url => ({ url }))
+							this.form.otherMaterialImgs = data.otherMaterialImgs
 						}
-						this.form.idcardImg = data.idcardImg ? imgPrefix + data.idcardImg : ''
-						this.form.idcardImgBack = data.idcardImgBack ? imgPrefix + data.idcardImgBack : ''
+						this.form.idcardImg = data.idcardImg || ''
+						this.form.idcardImgBack = data.idcardImgBack || ''
 						if (data.laborContractImgs) {
-							let laborContractImgs = data.laborContractImgs
-							if (typeof laborContractImgs === 'string') {
-								laborContractImgs = laborContractImgs.split(',')
-							}
-							this.laborContractImages = laborContractImgs
-							this.uploadedLaborContractImages = laborContractImgs.map(url => ({ url: imgPrefix + url }))
-							this.form.laborContractImgs = laborContractImgs
+							this.laborContractImages = data.laborContractImgUrls
+							this.uploadedLaborContractImages = data.laborContractImgUrls.map(url => ({ url }))
+							this.form.laborContractImgs = data.laborContractImgs
 						}
 						if (data.socialSecurityImgs) {
-							let socialSecurityImgs = data.socialSecurityImgs
-							if (typeof socialSecurityImgs === 'string') {
-								socialSecurityImgs = socialSecurityImgs.split(',')
-							}
-							this.socialSecurityImages = socialSecurityImgs
-							this.uploadedSocialSecurityImages = socialSecurityImgs.map(url => ({ url: imgPrefix + url }))
-							this.form.socialSecurityImgs = socialSecurityImgs
+							this.socialSecurityImages = data.socialSecurityImgUrls
+							this.uploadedSocialSecurityImages = data.socialSecurityImgUrls.map(url => ({ url }))
+							this.form.socialSecurityImgs = data.socialSecurityImgs
 						}
-						this.form.legalPersonCard = data.legalPersonCard ? imgPrefix + data.legalPersonCard : ''
-						this.form.legalPersonCardBack = data.legalPersonCardBack ? imgPrefix + data.legalPersonCardBack : ''
-						this.form.businessImg = data.businessImg ? imgPrefix + data.businessImg : ''
-						if (data.businessImg) {
-							this.businessImages = [data.businessImg]
-						}
+						this.form.legalPersonCard = data.legalPersonCard || ''
+						this.form.businessImg = data.businessImg || ''
 					}
 				} catch (error) {
 					console.log('鑾峰彇搴楅摵淇℃伅澶辫触', error)
@@ -633,7 +702,7 @@
 							const fullPaths = uploadResults.map(item => item.url || item.path || item)
 							this.uploadedImagesStoreFront = [...this.uploadedImagesStoreFront, ...fullPaths.map(url => ({ url }))]
 							this.storeFrontImages = [...this.storeFrontImages, ...fullPaths]
-							this.form.storeFrontImgs = this.storeFrontImages.map(url => this.getShortPath(url))
+							this.form.storeFrontImgs= [...this.form.storeFrontImgs, ...uploadResults.map(item => item.imgaddr)] 
 							uni.hideLoading()
 							uni.showToast({
 								title: '涓婁紶鎴愬姛',
@@ -651,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) {
@@ -676,7 +745,7 @@
 							const fullPaths = uploadResults.map(item => item.url || item.path || item)
 							this.uploadedImagesIdCard = [...this.uploadedImagesIdCard, ...fullPaths.map(url => ({ url }))]
 							this.idCardImages = [...this.idCardImages, ...fullPaths]
-							this.form.storeInteriorImgs = this.idCardImages.map(url => this.getShortPath(url))
+							this.form.storeInteriorImgs= [...this.form.storeInteriorImgs, ...uploadResults.map(item => item.imgaddr)] 
 							uni.hideLoading()
 							uni.showToast({
 								title: '涓婁紶鎴愬姛',
@@ -694,18 +763,8 @@
 				this.form.businessImg = this.businessImages.map(url => this.getShortPath(url)).join(',')
 			},
 			async chooseBusinessImage() {
-				const maxCount = 3
-				const currentCount = this.businessImages.length
-				const remainingCount = maxCount - currentCount
-				if (remainingCount <= 0) {
-					uni.showToast({
-						title: `鏈�澶氫笂浼�${maxCount}寮犲浘鐗嘸,
-						icon: 'none'
-					})
-					return
-				}
 				uni.chooseImage({
-					count: remainingCount,
+					count: 1,
 					sizeType: ['compressed'],
 					sourceType: ['album', 'camera'],
 					success: async (res) => {
@@ -715,11 +774,10 @@
 							mask: true
 						})
 						try {
-							const uploadResults = await this.uploadFiles(tempFilePaths, maxCount)
-							const fullPaths = uploadResults.map(item => item.url || item.path || item)
-							this.uploadedImagesBusiness = [...this.uploadedImagesBusiness, ...fullPaths.map(url => ({ url }))]
-							this.businessImages = [...this.businessImages, ...fullPaths]
-							this.form.businessImg = this.businessImages.map(url => this.getShortPath(url)).join(',')
+							const uploadResults = await this.uploadFiles(tempFilePaths, 1)
+							this.form.businessImg = uploadResults[0].imgaddr  
+							this.businessImgUrl = uploadResults[0].url  
+							console.log("=======================",this.businessImgUrl)
 							uni.hideLoading()
 							uni.showToast({
 								title: '涓婁紶鎴愬姛',
@@ -762,7 +820,7 @@
 							const fullPaths = uploadResults.map(item => item.url || item.path || item)
 							this.uploadedImagesPermit = [...this.uploadedImagesPermit, ...fullPaths.map(url => ({ url }))]
 							this.permitImages = [...this.permitImages, ...fullPaths]
-							this.form.otherMaterialImgs = this.permitImages.map(url => this.getShortPath(url))
+							this.form.otherMaterialImgs= [...this.form.otherMaterialImgs, ...uploadResults.map(item => item.imgaddr)] 
 							uni.hideLoading()
 							uni.showToast({
 								title: '涓婁紶鎴愬姛',
@@ -784,7 +842,8 @@
 						uni.showLoading({ title: '涓婁紶涓�...', mask: true })
 						try {
 							const uploadResults = await this.uploadFiles(tempFilePaths, 1)
-							this.form.idcardImg = this.getShortPath(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) {
@@ -803,7 +862,8 @@
 						uni.showLoading({ title: '涓婁紶涓�...', mask: true })
 						try {
 							const uploadResults = await this.uploadFiles(tempFilePaths, 1)
-							this.form.idcardImgBack = this.getShortPath(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) {
@@ -822,7 +882,8 @@
 						uni.showLoading({ title: '涓婁紶涓�...', mask: true })
 						try {
 							const uploadResults = await this.uploadFiles(tempFilePaths, 1)
-							this.form.legalPersonCard = this.getShortPath(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) {
@@ -841,7 +902,8 @@
 						uni.showLoading({ title: '涓婁紶涓�...', mask: true })
 						try {
 							const uploadResults = await this.uploadFiles(tempFilePaths, 1)
-							this.form.legalPersonCardBack = this.getShortPath(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) {
@@ -875,7 +937,7 @@
 							const fullPaths = uploadResults.map(item => item.url || item.path || item)
 							this.uploadedLaborContractImages = [...this.uploadedLaborContractImages, ...fullPaths.map(url => ({ url }))]
 							this.laborContractImages = [...this.laborContractImages, ...fullPaths]
-							this.form.laborContractImgs = this.laborContractImages.map(url => this.getShortPath(url))
+							this.form.laborContractImgs= [...this.form.laborContractImgs, ...uploadResults.map(item => item.imgaddr)] 
 							uni.hideLoading()
 							uni.showToast({ title: '涓婁紶鎴愬姛', icon: 'success' })
 						} catch (error) {
@@ -891,11 +953,10 @@
 			},
 			getShortPath(url) {
 				if (!url) return ''
-				const baseUrl = this.$baseUrl || ''
 				if (url.startsWith('http')) {
-					return url
+					return url.replace(this.imgPrefix, '')
 				}
-				return url.replace(baseUrl, '')
+				return url
 			},
 			getFullPath(url) {
 				if (!url) return ''
@@ -924,7 +985,7 @@
 							const fullPaths = uploadResults.map(item => item.url || item.path || item)
 							this.uploadedSocialSecurityImages = [...this.uploadedSocialSecurityImages, ...fullPaths.map(url => ({ url }))]
 							this.socialSecurityImages = [...this.socialSecurityImages, ...fullPaths]
-							this.form.socialSecurityImgs = this.socialSecurityImages.map(url => this.getShortPath(url))
+							this.form.socialSecurityImgs= [...this.form.socialSecurityImgs, ...uploadResults.map(item => item.imgaddr)] 
 							uni.hideLoading()
 							uni.showToast({ title: '涓婁紶鎴愬姛', icon: 'success' })
 						} catch (error) {
@@ -982,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 {
@@ -1084,7 +1162,6 @@
 
 	.text-input,
 	.select-row {
-		height: 54rpx;
 		margin-top: 14rpx;
 		font-weight: 400;
 		font-size: 30rpx;
@@ -1269,7 +1346,33 @@
 		color: #666666;
 		margin-top: 12rpx;
 	}
+.agreement-row {
+		margin-top: 60rpx;
+		display: flex;
+		align-items: flex-start;
+	}
 
+	.agree-icon {
+		width: 34rpx;
+		height: 34rpx;
+		margin-top: 4rpx;
+		flex-shrink: 0;
+	}
+
+	.agreement-text-wrap {
+		margin-left: 14rpx;
+		flex: 1;
+		font-size: 24rpx;
+		line-height: 1.8;
+	}
+
+	.agreement-text {
+		color: #555555;
+	}
+
+	.agreement-link {
+		color: #2E68C4;
+	}
 	.preview-image {
 		width: 100%;
 		height: 100%;

--
Gitblit v1.9.3