hookehuyr

fix(PaymentAgreementModal): 修改签约提示语以区分首次和后续签约

refactor(collectionSettings): 优化代码格式和组件属性换行
...@@ -310,11 +310,13 @@ const handleBindJeePay = async () => { ...@@ -310,11 +310,13 @@ const handleBindJeePay = async () => {
310 auth_sign_url: auth_sign_url || '' 310 auth_sign_url: auth_sign_url || ''
311 } 311 }
312 312
313 + // TODO: 第一次签约会发短信, 但是以后再进来就不会发短信了, 如果后端知道短信了, 应该给个标识区别, 写的提示语应该不一样.
314 +
313 // 1. 如果返回 auth_complement_url 非空时,提示用户接收短信 315 // 1. 如果返回 auth_complement_url 非空时,提示用户接收短信
314 if (auth_complement_url) { 316 if (auth_complement_url) {
315 Taro.showModal({ 317 Taro.showModal({
316 title: '提示', 318 title: '提示',
317 - content: '请注意接收【嘉联支付】的短信,并打开短信里的链接,完成收款协议与实名认证', 319 + content: '您尚未完成签约,请注意接收【嘉联支付】的短信,并打开短信里的链接,完成收款协议与实名认证',
318 showCancel: false, 320 showCancel: false,
319 confirmText: '关闭' 321 confirmText: '关闭'
320 }) 322 })
...@@ -324,7 +326,7 @@ const handleBindJeePay = async () => { ...@@ -324,7 +326,7 @@ const handleBindJeePay = async () => {
324 if (auth_sign_url) { 326 if (auth_sign_url) {
325 Taro.showModal({ 327 Taro.showModal({
326 title: '提示', 328 title: '提示',
327 - content: '请注意接收【嘉联支付】的短信,并打开短信里的链接,完成收款协议与实名认证', 329 + content: '您尚未完成签约,请注意接收【嘉联支付】的短信,并打开短信里的链接,完成收款协议与实名认证',
328 showCancel: false, 330 showCancel: false,
329 confirmText: '关闭' 331 confirmText: '关闭'
330 }) 332 })
......
...@@ -16,7 +16,8 @@ ...@@ -16,7 +16,8 @@
16 <text class="setting-label">收款账号</text> 16 <text class="setting-label">收款账号</text>
17 </view> 17 </view>
18 <view class="setting-right"> 18 <view class="setting-right">
19 - <text class="setting-status" :class="{ 'status-set': accountInfo.bankName && accountInfo.bankAccount && accountInfo.bankImg }"> 19 + <text class="setting-status"
20 + :class="{ 'status-set': accountInfo.bankName && accountInfo.bankAccount && accountInfo.bankImg }">
20 {{ accountInfo.bankName && accountInfo.bankAccount && accountInfo.bankImg ? '已设置' : '未设置' }} 21 {{ accountInfo.bankName && accountInfo.bankAccount && accountInfo.bankImg ? '已设置' : '未设置' }}
21 </text> 22 </text>
22 <!-- <text class="arrow">></text> --> 23 <!-- <text class="arrow">></text> -->
...@@ -30,8 +31,11 @@ ...@@ -30,8 +31,11 @@
30 <text class="setting-label">身份信息</text> 31 <text class="setting-label">身份信息</text>
31 </view> 32 </view>
32 <view class="setting-right"> 33 <view class="setting-right">
33 - <text class="setting-status" :class="{ 'status-set': identityInfo.userName && identityInfo.idCard && identityInfo.idcard_1_img && identityInfo.idcard_2_img && identityInfo.idcard_effect_begin && identityInfo.idcard_effect_end && identityInfo.idcard_address }"> 34 + <text class="setting-status"
34 - {{ identityInfo.userName && identityInfo.idCard && identityInfo.idcard_1_img && identityInfo.idcard_2_img && identityInfo.idcard_effect_begin && identityInfo.idcard_effect_end && identityInfo.idcard_address ? '已设置' : '未设置' }} 35 + :class="{ 'status-set': identityInfo.userName && identityInfo.idCard && identityInfo.idcard_1_img && identityInfo.idcard_2_img && identityInfo.idcard_effect_begin && identityInfo.idcard_effect_end && identityInfo.idcard_address }">
36 + {{ identityInfo.userName && identityInfo.idCard && identityInfo.idcard_1_img && identityInfo.idcard_2_img &&
37 + identityInfo.idcard_effect_begin && identityInfo.idcard_effect_end && identityInfo.idcard_address ? '已设置' :
38 + '未设置' }}
35 </text> 39 </text>
36 <!-- <text class="arrow">></text> --> 40 <!-- <text class="arrow">></text> -->
37 <RectRight color="#999" size="10" /> 41 <RectRight color="#999" size="10" />
...@@ -40,15 +44,8 @@ ...@@ -40,15 +44,8 @@
40 </view> 44 </view>
41 45
42 <!-- 收款账号弹窗 --> 46 <!-- 收款账号弹窗 -->
43 - <nut-popup 47 + <nut-popup v-model:visible="showAccountModal" position="bottom" :style="{ width: '100%', height: '85%' }"
44 - v-model:visible="showAccountModal" 48 + :close-on-click-overlay="false" closeable close-icon-position="top-right" @close="closeAccountModal">
45 - position="bottom"
46 - :style="{ width: '100%', height: '85%' }"
47 - :close-on-click-overlay="false"
48 - closeable
49 - close-icon-position="top-right"
50 - @close="closeAccountModal"
51 - >
52 <view class="modal-content"> 49 <view class="modal-content">
53 <view class="modal-header"> 50 <view class="modal-header">
54 <text class="modal-title">收款账号设置</text> 51 <text class="modal-title">收款账号设置</text>
...@@ -68,13 +65,8 @@ ...@@ -68,13 +65,8 @@
68 65
69 <view class="form-item"> 66 <view class="form-item">
70 <text class="form-label"><text class="required-mark">*</text>银行账号</text> 67 <text class="form-label"><text class="required-mark">*</text>银行账号</text>
71 - <input 68 + <input v-model="tempAccountInfo.bankAccount" placeholder="请输入银行账号"
72 - v-model="tempAccountInfo.bankAccount" 69 + class="form-input custom-input native-input" :cursor-spacing="50" @blur="validateBankAccount" />
73 - placeholder="请输入银行账号"
74 - class="form-input custom-input native-input"
75 - :cursor-spacing="50"
76 - @blur="validateBankAccount"
77 - />
78 <text v-if="bankAccountError" class="error-text">{{ bankAccountError }}</text> 70 <text v-if="bankAccountError" class="error-text">{{ bankAccountError }}</text>
79 </view> 71 </view>
80 72
...@@ -83,12 +75,7 @@ ...@@ -83,12 +75,7 @@
83 <text class="form-label"><text class="required-mark">*</text>银行卡正面照</text> 75 <text class="form-label"><text class="required-mark">*</text>银行卡正面照</text>
84 <view class="bank-img-container"> 76 <view class="bank-img-container">
85 <view v-if="tempAccountInfo.bankImg" class="bank-img-preview"> 77 <view v-if="tempAccountInfo.bankImg" class="bank-img-preview">
86 - <image 78 + <image :src="tempAccountInfo.bankImg" class="bank-img-image" mode="aspectFill" @tap="previewBankImg" />
87 - :src="tempAccountInfo.bankImg"
88 - class="bank-img-image"
89 - mode="aspectFill"
90 - @tap="previewBankImg"
91 - />
92 <view class="bank-img-actions"> 79 <view class="bank-img-actions">
93 <text class="change-img-btn" @tap="changeBankImg">重新上传</text> 80 <text class="change-img-btn" @tap="changeBankImg">重新上传</text>
94 <text class="delete-img-btn" @tap="deleteBankImg">删除</text> 81 <text class="delete-img-btn" @tap="deleteBankImg">删除</text>
...@@ -103,20 +90,12 @@ ...@@ -103,20 +90,12 @@
103 </view> 90 </view>
104 91
105 <view class="modal-footer"> 92 <view class="modal-footer">
106 - <nut-button 93 + <nut-button type="default" @click="closeAccountModal" class="footer-btn footer-btn-cancel">
107 - type="default"
108 - @click="closeAccountModal"
109 - class="footer-btn footer-btn-cancel"
110 - >
111 关闭 94 关闭
112 </nut-button> 95 </nut-button>
113 - <nut-button 96 + <nut-button type="primary" @click="saveAccountInfo" color="#ffa500"
114 - type="primary"
115 - @click="saveAccountInfo"
116 - color="#ffa500"
117 :disabled="!tempAccountInfo.bankName || !tempAccountInfo.bankAccount || !tempAccountInfo.bankImg" 97 :disabled="!tempAccountInfo.bankName || !tempAccountInfo.bankAccount || !tempAccountInfo.bankImg"
118 - class="footer-btn footer-btn-save" 98 + class="footer-btn footer-btn-save">
119 - >
120 保存 99 保存
121 </nut-button> 100 </nut-button>
122 </view> 101 </view>
...@@ -124,29 +103,14 @@ ...@@ -124,29 +103,14 @@
124 </nut-popup> 103 </nut-popup>
125 104
126 <!-- 银行选择器弹窗 --> 105 <!-- 银行选择器弹窗 -->
127 - <nut-popup 106 + <nut-popup v-model:visible="showBankModal" position="bottom">
128 - v-model:visible="showBankModal" 107 + <nut-picker v-model="bankPickerValue" :columns="bankOptions" title="选择银行" @confirm="onBankConfirm"
129 - position="bottom" 108 + @cancel="showBankModal = false"></nut-picker>
130 - >
131 - <nut-picker
132 - v-model="bankPickerValue"
133 - :columns="bankOptions"
134 - title="选择银行"
135 - @confirm="onBankConfirm"
136 - @cancel="showBankModal = false"
137 - ></nut-picker>
138 </nut-popup> 109 </nut-popup>
139 110
140 <!-- 身份信息弹窗 --> 111 <!-- 身份信息弹窗 -->
141 - <nut-popup 112 + <nut-popup v-model:visible="showIdentityModal" position="bottom" :style="{ width: '100%', height: '85%' }"
142 - v-model:visible="showIdentityModal" 113 + :close-on-click-overlay="false" closeable close-icon-position="top-right" @close="closeIdentityModal">
143 - position="bottom"
144 - :style="{ width: '100%', height: '85%' }"
145 - :close-on-click-overlay="false"
146 - closeable
147 - close-icon-position="top-right"
148 - @close="closeIdentityModal"
149 - >
150 <view class="modal-content"> 114 <view class="modal-content">
151 <view class="modal-header"> 115 <view class="modal-header">
152 <text class="modal-title">身份信息设置</text> 116 <text class="modal-title">身份信息设置</text>
...@@ -155,23 +119,13 @@ ...@@ -155,23 +119,13 @@
155 <view class="form-content"> 119 <view class="form-content">
156 <view class="form-item"> 120 <view class="form-item">
157 <text class="form-label"><text class="required-mark">*</text>用户名称</text> 121 <text class="form-label"><text class="required-mark">*</text>用户名称</text>
158 - <input 122 + <input v-model="tempIdentityInfo.userName" placeholder="请输入真实姓名" class="form-input native-input" />
159 - v-model="tempIdentityInfo.userName"
160 - placeholder="请输入真实姓名"
161 - class="form-input native-input"
162 - />
163 </view> 123 </view>
164 124
165 <view class="form-item"> 125 <view class="form-item">
166 <text class="form-label"><text class="required-mark">*</text>身份证号码</text> 126 <text class="form-label"><text class="required-mark">*</text>身份证号码</text>
167 - <input 127 + <input v-model="tempIdentityInfo.idCard" placeholder="请输入身份证号码" class="form-input native-input"
168 - v-model="tempIdentityInfo.idCard" 128 + maxlength="18" @blur="handleIdCardBlur" :cursor-spacing="50" />
169 - placeholder="请输入身份证号码"
170 - class="form-input native-input"
171 - maxlength="18"
172 - @blur="handleIdCardBlur"
173 - :cursor-spacing="50"
174 - />
175 <text v-if="idCardError" class="error-text">{{ idCardError }}</text> 129 <text v-if="idCardError" class="error-text">{{ idCardError }}</text>
176 </view> 130 </view>
177 131
...@@ -180,12 +134,8 @@ ...@@ -180,12 +134,8 @@
180 <text class="form-label"><text class="required-mark">*</text>身份证人像面</text> 134 <text class="form-label"><text class="required-mark">*</text>身份证人像面</text>
181 <view class="idcard-img-container"> 135 <view class="idcard-img-container">
182 <view v-if="tempIdentityInfo.idcard_1_img" class="idcard-img-preview"> 136 <view v-if="tempIdentityInfo.idcard_1_img" class="idcard-img-preview">
183 - <image 137 + <image :src="tempIdentityInfo.idcard_1_img" class="idcard-img-image" mode="aspectFill"
184 - :src="tempIdentityInfo.idcard_1_img" 138 + @tap="previewIdcard1Img" />
185 - class="idcard-img-image"
186 - mode="aspectFill"
187 - @tap="previewIdcard1Img"
188 - />
189 <view class="idcard-img-actions"> 139 <view class="idcard-img-actions">
190 <text class="change-img-btn" @tap="changeIdcard1Img">重新上传</text> 140 <text class="change-img-btn" @tap="changeIdcard1Img">重新上传</text>
191 <text class="delete-img-btn" @tap="deleteIdcard1Img">删除</text> 141 <text class="delete-img-btn" @tap="deleteIdcard1Img">删除</text>
...@@ -203,12 +153,8 @@ ...@@ -203,12 +153,8 @@
203 <text class="form-label"><text class="required-mark">*</text>身份证国徽面</text> 153 <text class="form-label"><text class="required-mark">*</text>身份证国徽面</text>
204 <view class="idcard-img-container"> 154 <view class="idcard-img-container">
205 <view v-if="tempIdentityInfo.idcard_2_img" class="idcard-img-preview"> 155 <view v-if="tempIdentityInfo.idcard_2_img" class="idcard-img-preview">
206 - <image 156 + <image :src="tempIdentityInfo.idcard_2_img" class="idcard-img-image" mode="aspectFill"
207 - :src="tempIdentityInfo.idcard_2_img" 157 + @tap="previewIdcard2Img" />
208 - class="idcard-img-image"
209 - mode="aspectFill"
210 - @tap="previewIdcard2Img"
211 - />
212 <view class="idcard-img-actions"> 158 <view class="idcard-img-actions">
213 <text class="change-img-btn" @tap="changeIdcard2Img">重新上传</text> 159 <text class="change-img-btn" @tap="changeIdcard2Img">重新上传</text>
214 <text class="delete-img-btn" @tap="deleteIdcard2Img">删除</text> 160 <text class="delete-img-btn" @tap="deleteIdcard2Img">删除</text>
...@@ -248,30 +194,18 @@ ...@@ -248,30 +194,18 @@
248 <!-- 身份证地址 --> 194 <!-- 身份证地址 -->
249 <view class="form-item"> 195 <view class="form-item">
250 <text class="form-label"><text class="required-mark">*</text>身份证地址</text> 196 <text class="form-label"><text class="required-mark">*</text>身份证地址</text>
251 - <textarea 197 + <textarea v-model="tempIdentityInfo.idcard_address" placeholder="请输入身份证地址" class="form-input native-input"
252 - v-model="tempIdentityInfo.idcard_address" 198 + :cursor-spacing="50" />
253 - placeholder="请输入身份证地址"
254 - class="form-input native-input"
255 - :cursor-spacing="50"
256 - />
257 </view> 199 </view>
258 </view> 200 </view>
259 201
260 <view class="modal-footer"> 202 <view class="modal-footer">
261 - <nut-button 203 + <nut-button type="default" @click="closeIdentityModal" class="footer-btn footer-btn-cancel">
262 - type="default"
263 - @click="closeIdentityModal"
264 - class="footer-btn footer-btn-cancel"
265 - >
266 关闭 204 关闭
267 </nut-button> 205 </nut-button>
268 - <nut-button 206 + <nut-button type="primary" @click="saveIdentityInfo" color="#ffa500"
269 - type="primary"
270 - @click="saveIdentityInfo"
271 - color="#ffa500"
272 :disabled="!tempIdentityInfo.userName || !tempIdentityInfo.idCard || !tempIdentityInfo.idcard_1_img || !tempIdentityInfo.idcard_2_img || !tempIdentityInfo.idcard_effect_begin || !tempIdentityInfo.idcard_effect_end || !tempIdentityInfo.idcard_address || !!idCardError" 207 :disabled="!tempIdentityInfo.userName || !tempIdentityInfo.idCard || !tempIdentityInfo.idcard_1_img || !tempIdentityInfo.idcard_2_img || !tempIdentityInfo.idcard_effect_begin || !tempIdentityInfo.idcard_effect_end || !tempIdentityInfo.idcard_address || !!idCardError"
273 - class="footer-btn footer-btn-save" 208 + class="footer-btn footer-btn-save">
274 - >
275 保存 209 保存
276 </nut-button> 210 </nut-button>
277 </view> 211 </view>
...@@ -279,51 +213,21 @@ ...@@ -279,51 +213,21 @@
279 </nut-popup> 213 </nut-popup>
280 214
281 <!-- 身份证有效期开始日期选择器 --> 215 <!-- 身份证有效期开始日期选择器 -->
282 - <nut-popup 216 + <nut-popup v-model:visible="showIdcardBeginDate" position="bottom" :style="{ height: '50%' }">
283 - v-model:visible="showIdcardBeginDate" 217 + <nut-date-picker v-model="idcardBeginDate" type="date" title="选择证件有效期开始日期" :max-date="maxYearDate"
284 - position="bottom" 218 + :min-date="minYearDate" @confirm="onIdcardBeginDateConfirm" @cancel="showIdcardBeginDate = false" />
285 - :style="{ height: '50%' }"
286 - >
287 - <nut-date-picker
288 - v-model="idcardBeginDate"
289 - type="date"
290 - title="选择证件有效期开始日期"
291 - :max-date="maxYearDate"
292 - :min-date="minYearDate"
293 - @confirm="onIdcardBeginDateConfirm"
294 - @cancel="showIdcardBeginDate = false"
295 - />
296 </nut-popup> 219 </nut-popup>
297 220
298 <!-- 证件有效期结束类型选择器弹窗 --> 221 <!-- 证件有效期结束类型选择器弹窗 -->
299 - <nut-popup 222 + <nut-popup v-model:visible="showEndDateTypeModal" position="bottom">
300 - v-model:visible="showEndDateTypeModal" 223 + <nut-picker v-model="endDateTypePickerValue" :columns="endDateTypeOptions" title="选择证件有效期类型"
301 - position="bottom" 224 + @confirm="onEndDateTypeConfirm" @cancel="showEndDateTypeModal = false"></nut-picker>
302 - >
303 - <nut-picker
304 - v-model="endDateTypePickerValue"
305 - :columns="endDateTypeOptions"
306 - title="选择证件有效期类型"
307 - @confirm="onEndDateTypeConfirm"
308 - @cancel="showEndDateTypeModal = false"
309 - ></nut-picker>
310 </nut-popup> 225 </nut-popup>
311 226
312 <!-- 身份证有效期结束日期选择器 --> 227 <!-- 身份证有效期结束日期选择器 -->
313 - <nut-popup 228 + <nut-popup v-model:visible="showIdcardEndDate" position="bottom" :style="{ height: '50%' }">
314 - v-model:visible="showIdcardEndDate" 229 + <nut-date-picker v-model="idcardEndDate" type="date" title="选择证件有效期结束日期" :max-date="maxYearDate"
315 - position="bottom" 230 + :min-date="minYearDate" @confirm="onIdcardEndDateConfirm" @cancel="showIdcardEndDate = false" />
316 - :style="{ height: '50%' }"
317 - >
318 - <nut-date-picker
319 - v-model="idcardEndDate"
320 - type="date"
321 - title="选择证件有效期结束日期"
322 - :max-date="maxYearDate"
323 - :min-date="minYearDate"
324 - @confirm="onIdcardEndDateConfirm"
325 - @cancel="showIdcardEndDate = false"
326 - />
327 </nut-popup> 231 </nut-popup>
328 232
329 <!-- 固定返回按钮 - 只有当参数target=sell时才显示 --> 233 <!-- 固定返回按钮 - 只有当参数target=sell时才显示 -->
...@@ -602,15 +506,15 @@ const validateBankAccountNumber = (bankAccount) => { ...@@ -602,15 +506,15 @@ const validateBankAccountNumber = (bankAccount) => {
602 /** 506 /**
603 * 处理银行账号失焦事件 507 * 处理银行账号失焦事件
604 */ 508 */
605 - const validateBankAccount = () => { 509 +const validateBankAccount = () => {
606 - const bankAccount = tempAccountInfo.value.bankAccount; 510 + const bankAccount = tempAccountInfo.value.bankAccount;
607 - if (bankAccount) { 511 + if (bankAccount) {
608 - const result = validateBankAccountNumber(String(bankAccount)); 512 + const result = validateBankAccountNumber(String(bankAccount));
609 - bankAccountError.value = result.error; 513 + bankAccountError.value = result.error;
610 - } else { 514 + } else {
611 - bankAccountError.value = ''; 515 + bankAccountError.value = '';
612 - } 516 + }
613 - }; 517 +};
614 518
615 /** 519 /**
616 * 根据银行ID获取银行名称 520 * 根据银行ID获取银行名称
......