From fa4c7baec36d58b4bdca66159ece743b5a45a9c8 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期四, 11 六月 2026 10:15:45 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 small-program/pages/store-apply/store-apply.vue |   60 ++++++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 44 insertions(+), 16 deletions(-)

diff --git a/small-program/pages/store-apply/store-apply.vue b/small-program/pages/store-apply/store-apply.vue
index 0c9a942..25ea130 100644
--- a/small-program/pages/store-apply/store-apply.vue
+++ b/small-program/pages/store-apply/store-apply.vue
@@ -3,7 +3,7 @@
 		<view class="top-gradient"></view>
 
 		<view class="process-wrap">
-			<view class="process-step" :class="{ active: currentStep === 1 }" @tap="currentStep = 1">
+			<view class="process-step" :class="{ active: currentStep === 1, done: currentStep > 1 }" @tap="currentStep = 1">
 				<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>
@@ -11,7 +11,7 @@
 				<text>闂ㄥ簵淇℃伅</text>
 			</view>
 			<view class="process-line"></view>
-			<view class="process-step" :class="{ active: currentStep === 2 }" @tap="currentStep = 2">
+			<view class="process-step" :class="{ active: currentStep === 2, done: currentStep > 2 }" @tap="currentStep = 2">
 				<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>
@@ -32,7 +32,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">
+				<view class="select-row" :class="{ disabled: isShopRejected }" @click="!isShopRejected && (showAreaPicker = true)">
 					<text class="select-text" :class="{ placeholder: !fullAreaName }">{{ fullAreaName || '璇烽�夋嫨鐪佸競鍖�' }}</text>
 					<u-icon name="arrow-right" size="18" color="#9FA6B2"></u-icon>
 				</view>
@@ -67,15 +67,14 @@
 			<view class="form-group phone-group">
 				<view class="label-row"><text class="label">鑱旂郴浜虹數璇�</text><text class="required">*</text></view>
 				<view class="input-with-icon">
-					<input class="text-input" type="number" maxlength="11" v-model="form.linkPhone" placeholder="璇疯緭鍏ヨ仈绯讳汉鐢佃瘽" placeholder-style="color: #c1c7d0;" />
-					<view class="clear-icon"></view>
+					<input class="text-input" type="number" :value="form.linkPhone" @input="handleLinkPhoneInput" placeholder="璇疯緭鍏ヨ仈绯讳汉鐢佃瘽" placeholder-style="color: #c1c7d0;" />
 				</view>
 			</view>
 			<view class="divider"></view>
 
 			<view class="form-group">
 				<view class="label-row"><text class="label">鑱旂郴浜鸿韩浠借瘉鍙�</text><text class="required">*</text></view>
-				<input class="text-input" type="idcard" maxlength="18" v-model="form.idcard" placeholder="璇疯緭鍏ヨ仈绯讳汉韬唤璇佸彿" placeholder-style="color: #c1c7d0;" />
+				<input class="text-input" type="idcard" :value="form.idcard" @input="handleIdcardInput" placeholder="璇疯緭鍏ヨ仈绯讳汉韬唤璇佸彿" placeholder-style="color: #c1c7d0;" />
 			</view>
 			<view class="divider"></view>
 
@@ -133,9 +132,9 @@
 
 			<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: form.companyType ===0 }" @tap="form.companyType =0">涓汉</view>
-					<view class="switch-pill" :class="{ active: form.companyType ===1}" @tap="form.companyType =1">浼佷笟</view>
+				<view class="switch-row type-switch-row" :class="{ disabled: isShopRejected }">
+					<view class="switch-pill" :class="{ active: form.companyType ===0 }" @tap="!isShopRejected && (form.companyType =0)">涓汉</view>
+					<view class="switch-pill" :class="{ active: form.companyType ===1}" @tap="!isShopRejected && (form.companyType =1)">浼佷笟</view>
 				</view>
 			</view>
 
@@ -296,6 +295,9 @@
 			fullAreaName() {
 				const arr = [this.form.provinceName, this.form.cityName, this.form.areaName].filter(Boolean)
 				return arr.join('/')
+			},
+			isShopRejected() {
+				return this.userInfo && this.userInfo.shopAuditStatus === 5
 			}
 		},
 		data() {
@@ -348,7 +350,9 @@
 				idCardImages: [],
 				permitImages: [],
 				laborContractImages: [],
-				socialSecurityImages: []
+				socialSecurityImages: [],
+				linkPhoneTimer: null,
+				idcardTimer: null
 			}
 		},
 		onLoad() {
@@ -357,6 +361,18 @@
 			this.getMyShopData()
 		},
 		methods: {
+			handleLinkPhoneInput(e) {
+				if (this.linkPhoneTimer) clearTimeout(this.linkPhoneTimer)
+				this.linkPhoneTimer = setTimeout(() => {
+					this.form.linkPhone = e.detail.value
+				}, 100)
+			},
+			handleIdcardInput(e) {
+				if (this.idcardTimer) clearTimeout(this.idcardTimer)
+				this.idcardTimer = setTimeout(() => {
+					this.form.idcard = e.detail.value
+				}, 100)
+			},
 			goToStep2() {
 				if (!this.form.name) {
 					uni.showToast({ title: '璇疯緭鍏ラ棬搴楀悕绉�', icon: 'none' })
@@ -387,7 +403,7 @@
 					uni.showToast({ title: '璇疯緭鍏ヨ仈绯讳汉韬唤璇佸彿', icon: 'none' })
 					return
 				}
-				if (!/^\d{18}$/.test(this.form.idcard)) {
+				if (this.form.idcard.length !== 18) {
 					uni.showToast({ title: '璇疯緭鍏�18浣嶈韩浠借瘉鍙�', icon: 'none' })
 					return
 				}
@@ -442,9 +458,8 @@
 						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' })
+					if (!mobileRegex.test(this.form.legalPersonPhone)) {
+						uni.showToast({ title: '璇疯緭鍏�1寮�澶寸殑11浣嶆硶浜烘墜鏈哄彿', icon: 'none' })
 						return
 					}
 					if (!this.form.aliAccount) {
@@ -490,7 +505,7 @@
 							uni.navigateBack()
 						}, 1500)
 					}else {
-						uni.showToast({ title: res.msg || '鎻愪氦澶辫触', icon: 'none' })
+						uni.showToast({ title: res.message || '鎻愪氦澶辫触', icon: 'none' })
 					}
 				} catch (error) {
 					uni.hideLoading()
@@ -589,7 +604,9 @@
 			},
 			confirmArea(e) {
 				this.form.areaId = e.value[e.value.length - 1].id
-				this.form.areaName = e.value[0].text + '/' + e.value[1].text + '/' + e.value[2].text
+				this.form.provinceName = e.value[0].text
+				this.form.cityName = e.value[1].text
+				this.form.areaName = e.value[2].text
 				this.showAreaPicker = false
 			},
 			chooseAddress() {
@@ -1040,6 +1057,11 @@
 
 	.process-step.active {
 		color: #222222;
+		font-weight: 600;
+	}
+
+	.process-step.done {
+		color: #10B2FA;
 	}
 
 	.step-dot {
@@ -1247,6 +1269,12 @@
 	.type-switch-row {
 		margin-top: 32rpx;
 	}
+	
+	.type-switch-row.disabled,
+	.select-row.disabled {
+		opacity: 0.5;
+		pointer-events: none;
+	}
 
 	.switch-pill {
 		width: 208rpx;

--
Gitblit v1.9.3