4eb1ea9e by lttnew

个人会员+订单对公转账点击

1 parent 0b892d13
...@@ -235,11 +235,12 @@ function login() { ...@@ -235,11 +235,12 @@ function login() {
235 pcLogin(form.value).then(() => { 235 pcLogin(form.value).then(() => {
236 app.globalData.isLogin = true 236 app.globalData.isLogin = true
237 goHomeAfterLogin() 237 goHomeAfterLogin()
238 }).catch((err) => { 238 }).catch((err) => {
239 console.error('登录失败:', err) 239 console.error('登录失败:', err)
240 uni.showToast({title: '登录失败', icon: 'none'}) 240 refreshCodeWhenNotServerError(err)
241 }).finally(() => { 241 uni.showToast({title: '登录失败', icon: 'none'})
242 loading.value = false 242 }).finally(() => {
243 loading.value = false
243 }) 244 })
244 } else if (isActive.value == 1) { 245 } else if (isActive.value == 1) {
245 if (!form2.value.telNo) { 246 if (!form2.value.telNo) {
...@@ -257,13 +258,16 @@ function login() { ...@@ -257,13 +258,16 @@ function login() {
257 } 258 }
258 if (loading.value) return; 259 if (loading.value) return;
259 loading.value = true 260 loading.value = true
260 loginByPhone(form2.value.telNo, form2.value.code) 261 loginByPhone(form2.value.telNo, form2.value.code)
261 .then(() => { 262 .then(() => {
262 app.globalData.isLogin = true 263 app.globalData.isLogin = true
263 goHomeAfterLogin() 264 goHomeAfterLogin()
264 }).finally(() => { 265 }).catch((err) => {
265 loading.value = false 266 console.error('短信登录失败:', err)
266 }) 267 refreshCodeWhenNotServerError(err)
268 }).finally(() => {
269 loading.value = false
270 })
267 } 271 }
268 } 272 }
269 273
...@@ -284,16 +288,29 @@ function confirmRegister() { ...@@ -284,16 +288,29 @@ function confirmRegister() {
284 uni.navigateTo({url: '/login/register'}) 288 uni.navigateTo({url: '/login/register'})
285 } 289 }
286 290
287 function getCode() { 291 function getCode() {
288 uni.hideLoading() 292 uni.hideLoading()
289 getCodeImg().then((res) => { 293 getCodeImg().then((res) => {
290 codeUrl.value = 'data:image/gif;base64,' + res.data.img 294 codeUrl.value = 'data:image/gif;base64,' + res.data.img
291 form.value.uuid = res.data.uuid 295 form.value.uuid = res.data.uuid
292 form2.value.uuid = res.data.uuid 296 form2.value.uuid = res.data.uuid
293 }) 297 })
294 } 298 }
295 299
296 function getCaptchaSms() { 300 function isServer500(err) {
301 const message = String(err?.message || err?.errMsg || '')
302 return err?.statusCode === 500 ||
303 err?.code === 500 ||
304 err?.data?.code === 500 ||
305 message.includes('HTTP 500')
306 }
307
308 function refreshCodeWhenNotServerError(err) {
309 if (isServer500(err)) return
310 getCode()
311 }
312
313 function getCaptchaSms() {
297 if (!form2.value.telNo) { 314 if (!form2.value.telNo) {
298 uni.showToast({title: '手机号不能为空', icon: 'none'}) 315 uni.showToast({title: '手机号不能为空', icon: 'none'})
299 return 316 return
......
...@@ -53,7 +53,13 @@ ...@@ -53,7 +53,13 @@
53 <view class="data-header"> 53 <view class="data-header">
54 <text class="member-label">{{ getOrderLabel(item) }} ·</text> 54 <text class="member-label">{{ getOrderLabel(item) }} ·</text>
55 <text class="value ml10">{{ item.wfCode || '——' }} ·</text> 55 <text class="value ml10">{{ item.wfCode || '——' }} ·</text>
56 <text class="pay-type ml10">{{ String(item.payType) === '3' ? '对公转账' : '民生付' }}</text> 56 <text
57 v-if="String(item.payType) === '3'"
58 :class="{ 'pay-type-link': canClickTransferPay(item) }"
59 class="pay-type ml10"
60 @click.stop="handleTransferPay(item)"
61 >对公转账</text>
62 <text v-else class="pay-type ml10">民生付</text>
57 </view> 63 </view>
58 <text :class="{ 64 <text :class="{
59 'status-wait': item.payStatus == 3, 65 'status-wait': item.payStatus == 3,
...@@ -361,6 +367,17 @@ const isRefundDisabled = (item) => String(item?.payStatus) !== '1' || hasInvoice ...@@ -361,6 +367,17 @@ const isRefundDisabled = (item) => String(item?.payStatus) !== '1' || hasInvoice
361 367
362 const canShowRefund = (item) => !isRefundDisabled(item) 368 const canShowRefund = (item) => !isRefundDisabled(item)
363 369
370 const canClickTransferPay = (item) => {
371 return String(item?.payType) === '3' && String(item?.payStatus) !== '2'
372 }
373
374 const handleTransferPay = (item) => {
375 if (!canClickTransferPay(item)) return
376 uni.navigateTo({
377 url: `/myCenter/transferPay?orderId=${item.id}`
378 })
379 }
380
364 381
365 // 数据请求核心方法 382 // 数据请求核心方法
366 const initData = async () => { 383 const initData = async () => {
...@@ -1257,6 +1274,10 @@ const confirmRefund = async (item) => { ...@@ -1257,6 +1274,10 @@ const confirmRefund = async (item) => {
1257 font-weight: normal; 1274 font-weight: normal;
1258 flex-shrink: 0; 1275 flex-shrink: 0;
1259 } 1276 }
1277
1278 .pay-type.pay-type-link {
1279 color: #1677ff;
1280 }
1260 1281
1261 .date-text { 1282 .date-text {
1262 color: #666; 1283 color: #666;
......
...@@ -27,33 +27,34 @@ ...@@ -27,33 +27,34 @@
27 <view class="bank-row"> 27 <view class="bank-row">
28 <text class="bank-label">收款人姓名</text> 28 <text class="bank-label">收款人姓名</text>
29 <text class="bank-value">中国跆拳道协会</text> 29 <text class="bank-value">中国跆拳道协会</text>
30 <!-- <view class="copy-btn" @tap.stop="handleCopy('秦琦五洋赫公司')">复制</view> --> 30 <view class="copy-btn" @tap.stop="handleCopy('中国跆拳道协会')">复制</view>
31 </view> 31 </view>
32 <view class="bank-row"> 32 <view class="bank-row">
33 <text class="bank-label">收款银行</text> 33 <text class="bank-label">收款银行</text>
34 <text class="bank-value">中国民生银行</text> 34 <text class="bank-value">中国民生银行</text>
35 <!-- <view class="copy-btn" @tap.stop="handleCopy('中国民生银行')">复制</view> --> 35 <view class="copy-btn" @tap.stop="handleCopy('中国民生银行')">复制</view>
36 </view> 36 </view>
37 <view class="bank-row"> 37 <view class="bank-row">
38 <text class="bank-label">收款卡号</text> 38 <text class="bank-label">收款卡号</text>
39 <text class="bank-value card-number">{{ form.ziZhangBu || '-' }}</text> 39 <text class="bank-value card-number">{{ form.ziZhangBu || '-' }}</text>
40 <!-- <view class="copy-btn" @tap.stop="handleCopy(form.ziZhangBu)">复制</view> --> 40 <view class="copy-btn" @tap.stop="handleCopy(form.ziZhangBu)">复制</view>
41 </view> 41 </view>
42 <view class="bank-row"> 42 <view class="bank-row">
43 <text class="bank-label">收款金额</text> 43 <text class="bank-label">收款金额</text>
44 <text class="bank-value highlight">{{ form.price || '0.00' }}</text> 44 <text class="bank-value highlight">{{ form.price || '0.00' }}</text>
45 <!-- <view class="copy-btn" @tap.stop="handleCopy(form.price)">复制</view> --> 45 <view class="copy-btn" @tap.stop="handleCopy(form.price)">复制</view>
46 </view> 46 </view>
47 </view> 47 </view>
48 48
49 <!-- 金额说明 --> 49 <!-- 金额说明 -->
50 <view class="card notice-card"> 50 <view class="card notice-card">
51 <view class="danger-title"> 51 <!-- <view class="danger-title">
52 <text>请使用认证机构下的账号进行对公转账。</text> 52 <text>请使用认证机构下的账号进行对公转账。</text>
53 </view> 53 </view> -->
54 <view class="notice-line">1. 本订单将为您保留7天,请您及时支付;逾期未支付,订单将自动取消。</view> 54 <view class="notice-line">1. 请使用注册机构账号对公转账。</view>
55 <view class="notice-line">2. 请通过网上银行(网银)或银行柜台或手机银行向以下账号划转款项。</view> 55 <view class="notice-line">2. 本订单将为您保留7天,请您及时支付;逾期未支付,订单将自动取消。</view>
56 <view class="notice-line">3. 转账金额与订单金额必须保持一致,不得多转、少转。</view> 56 <view class="notice-line">3. 请通过网上银行(网银)或银行柜台或手机银行向以下账号划转款项。</view>
57 <view class="notice-line">4. 转账金额与订单金额必须保持一致,不得多转、少转。</view>
57 </view> 58 </view>
58 59
59 <!-- 温馨提示 --> 60 <!-- 温馨提示 -->
......
...@@ -86,7 +86,13 @@ ...@@ -86,7 +86,13 @@
86 <view class="data-header"> 86 <view class="data-header">
87 <text class="member-label">{{ getOrderLabel(item) }} ·</text> 87 <text class="member-label">{{ getOrderLabel(item) }} ·</text>
88 <text class="value ml10">{{ item.wfCode || '——' }} ·</text> 88 <text class="value ml10">{{ item.wfCode || '——' }} ·</text>
89 <text class="pay-type ml10"> {{ String(item.payType) === '3' ? '对公转账' : '民生付' }}</text> 89 <text
90 v-if="String(item.payType) === '3'"
91 :class="{ 'pay-type-link': canClickTransferPay(item) }"
92 class="pay-type ml10"
93 @click.stop="handleTransferPay(item)"
94 >对公转账</text>
95 <text v-else class="pay-type ml10">民生付</text>
90 </view> 96 </view>
91 <text :class="{ 97 <text :class="{
92 'status-wait': item.payStatus == 3, 98 'status-wait': item.payStatus == 3,
...@@ -437,6 +443,17 @@ const isRefundDisabled = (item) => String(item?.payStatus) !== '1' || String(ite ...@@ -437,6 +443,17 @@ const isRefundDisabled = (item) => String(item?.payStatus) !== '1' || String(ite
437 443
438 const canShowRefund = (item) => !isRefundDisabled(item) 444 const canShowRefund = (item) => !isRefundDisabled(item)
439 445
446 const canClickTransferPay = (item) => {
447 return String(item?.payType) === '3' && String(item?.payStatus) !== '2'
448 }
449
450 const handleTransferPay = (item) => {
451 if (!canClickTransferPay(item)) return
452 uni.navigateTo({
453 url: `/myCenter/transferPay?orderId=${item.id}`
454 })
455 }
456
440 const encodeQueryValue = (value) => encodeURIComponent(value || '') 457 const encodeQueryValue = (value) => encodeURIComponent(value || '')
441 458
442 const getPayName = (item) => { 459 const getPayName = (item) => {
...@@ -1511,6 +1528,10 @@ const onTabSwitch = (index, url) => { ...@@ -1511,6 +1528,10 @@ const onTabSwitch = (index, url) => {
1511 flex-shrink: 0; 1528 flex-shrink: 0;
1512 } 1529 }
1513 1530
1531 .pay-type.pay-type-link {
1532 color: #1677ff;
1533 }
1534
1514 .date-text { 1535 .date-text {
1515 color: #666; 1536 color: #666;
1516 } 1537 }
......
...@@ -363,12 +363,12 @@ async function goAuthPayV2() { ...@@ -363,12 +363,12 @@ async function goAuthPayV2() {
363 showAuthPayDialog('当前账号状态暂无法办理缴费业务') 363 showAuthPayDialog('当前账号状态暂无法办理缴费业务')
364 return 364 return
365 } 365 }
366 if (authPayDisabled.value) {
367 showAuthPayDialog('您已成功提交审核,请耐心等待。')
368 return
369 }
366 const canGoPay = await handelGetMyRecent() 370 const canGoPay = await handelGetMyRecent()
367 if (!canGoPay) return 371 if (!canGoPay) return
368 // if (authPayDisabled.value) {
369 // showAuthPayDialog('您有一笔缴费正在审核中,请勿重复缴费。您可前往【认证详情】查看审核进度。')
370 // return
371 // }
372 goPath('/myCenter/perfect') 372 goPath('/myCenter/perfect')
373 } 373 }
374 374
......
...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
93 maxlength="20" 93 maxlength="20"
94 placeholder="请输入纳税人识别号" 94 placeholder="请输入纳税人识别号"
95 /> 95 />
96 <text class="hint">企业税务登记证上的号码,一般为 15、18 或 20 </text> 96 <text class="hint">企业税务登记证上的号码,一般为15~20</text>
97 </view> 97 </view>
98 98
99 <!-- 接收方式 --> 99 <!-- 接收方式 -->
...@@ -216,7 +216,7 @@ const validateForm = () => { ...@@ -216,7 +216,7 @@ const validateForm = () => {
216 216
217 // 纳税人识别号格式校验 217 // 纳税人识别号格式校验
218 if (form.type === '1') { 218 if (form.type === '1') {
219 const taxReg = /^[A-Z0-9]{15}$|^[A-Z0-9]{18}$|^[A-Z0-9]{20}$/; 219 const taxReg = /^[A-Z0-9]{0,20}$/;
220 if (!taxReg.test(form.taxno)) { 220 if (!taxReg.test(form.taxno)) {
221 uni.showToast({title: '纳税人识别号格式不正确', icon: 'none'}); 221 uni.showToast({title: '纳税人识别号格式不正确', icon: 'none'});
222 return false; 222 return false;
......
...@@ -74,7 +74,7 @@ ...@@ -74,7 +74,7 @@
74 placeholder="请输入纳税人识别号" 74 placeholder="请输入纳税人识别号"
75 :disabled="!showIndividualType" 75 :disabled="!showIndividualType"
76 /> 76 />
77 <text class="hint">企业税务登记证上的号码,一般为 15、18 或 20 </text> 77 <text class="hint">企业税务登记证上的号码,一般为15~20</text>
78 </view> 78 </view>
79 79
80 <!-- 开票金额(只读) --> 80 <!-- 开票金额(只读) -->
...@@ -171,7 +171,7 @@ const validateForm = () => { ...@@ -171,7 +171,7 @@ const validateForm = () => {
171 171
172 // 纳税人识别号格式校验 172 // 纳税人识别号格式校验
173 if (form.type === '0' ) { 173 if (form.type === '0' ) {
174 const taxReg = /^[A-Z0-9]{15}$|^[A-Z0-9]{18}$|^[A-Z0-9]{20}$/; 174 const taxReg = /^[A-Z0-9]{0,20}$/;
175 if (!taxReg.test(form.taxno)) { 175 if (!taxReg.test(form.taxno)) {
176 uni.showToast({title: '纳税人识别号格式不正确', icon: 'none'}); 176 uni.showToast({title: '纳税人识别号格式不正确', icon: 'none'});
177 return false; 177 return false;
......
...@@ -51,14 +51,13 @@ ...@@ -51,14 +51,13 @@
51 <uni-easyinput v-model="baseFormData.phone" :placeholderStyle="placeholderStyle" 51 <uni-easyinput v-model="baseFormData.phone" :placeholderStyle="placeholderStyle"
52 :styles="inputstyle" placeholder="请输入联系方式"/> 52 :styles="inputstyle" placeholder="请输入联系方式"/>
53 </uni-forms-item> 53 </uni-forms-item>
54 <uni-forms-item label="会员编号" name="perCode"> 54 <uni-forms-item label="会员编号" name="perCode" v-if="baseFormData.perCode">
55 <uni-easyinput v-model="baseFormData.perCode" :placeholderStyle="placeholderStyle" :styles="inputstyle" 55 {{baseFormData.perCode}}
56 placeholder="会员编号"/> 56 </uni-forms-item>
57 </uni-forms-item> 57 <uni-forms-item label="会员有效期" name="validityDate" v-if="baseFormData.validityDate">
58 <uni-forms-item label="会员有效期" name="validityDate"> 58 {{baseFormData.validityDate?.slice(0,10)}}
59 <uni-easyinput v-model="baseFormData.validityDate" :placeholderStyle="placeholderStyle" 59 </uni-forms-item>
60 :styles="inputstyle" placeholder="会员有效期"/> 60
61 </uni-forms-item>
62 61
63 62
64 <!-- <uni-forms-item label="所在地区"> 63 <!-- <uni-forms-item label="所在地区">
...@@ -204,8 +203,8 @@ const validityDateText = ref('') ...@@ -204,8 +203,8 @@ const validityDateText = ref('')
204 203
205 onLoad(async (option) => { 204 onLoad(async (option) => {
206 if (option.name && option.idcCode) { 205 if (option.name && option.idcCode) {
207 baseFormData.value.name = option.name 206 baseFormData.value.name = decodeURIComponent(option.name)
208 baseFormData.value.idcCode = option.idcCode 207 baseFormData.value.idcCode = decodeURIComponent(option.idcCode)
209 giveBirthDay() 208 giveBirthDay()
210 } 209 }
211 210
......
...@@ -221,11 +221,11 @@ const perInfo = computed(() => userStore.perInfo ?? {}) ...@@ -221,11 +221,11 @@ const perInfo = computed(() => userStore.perInfo ?? {})
221 console.log(222, userInfo.value) 221 console.log(222, userInfo.value)
222 console.log(333, perInfo.value) 222 console.log(333, perInfo.value)
223 223
224 // 是否已绑定学员(根据会员卡号判断) 224 // 是否已绑定学员:绑定非会员时只有姓名,没有会员卡号,也应视为已绑定,避免反复弹绑定框。
225 const isBound = computed(() => { 225 const isBound = computed(() => {
226 const perName = perInfo.value?.perName 226 const perName = perInfo.value?.perName
227 return perName !== undefined && perName !== null && perName !== '' 227 return perName !== undefined && perName !== null && perName !== ''
228 }) 228 })
229 229
230 const bindPopup = ref(null) 230 const bindPopup = ref(null)
231 const bindForm = ref({ 231 const bindForm = ref({
...@@ -236,11 +236,8 @@ const showConfirm = ref(false) ...@@ -236,11 +236,8 @@ const showConfirm = ref(false)
236 // 标记是否已经弹出过绑定框(避免重复弹出) 236 // 标记是否已经弹出过绑定框(避免重复弹出)
237 let hasOpenedBindPopup = false 237 let hasOpenedBindPopup = false
238 238
239 onShow(() => { 239 onShow(() => {
240 // 重置绑定弹框标志,确保每次进入页面都能正确弹出 240 let webUserName = uni.getStorageSync('webUserName')
241 hasOpenedBindPopup = false
242
243 let webUserName = uni.getStorageSync('webUserName')
244 if (!webUserName) { 241 if (!webUserName) {
245 // 登录后需要等待数据加载完成 242 // 登录后需要等待数据加载完成
246 wxLogin().then(res => { 243 wxLogin().then(res => {
...@@ -262,13 +259,14 @@ onShow(() => { ...@@ -262,13 +259,14 @@ onShow(() => {
262 }) 259 })
263 260
264 // 检查是否需要弹出绑定框 261 // 检查是否需要弹出绑定框
265 const checkAndOpenBindPopup = () => { 262 const checkAndOpenBindPopup = () => {
266 // 确保 userStore 数据已更新 263 // 确保 userStore 数据已更新
267 const currentPerInfo = userStore.perInfo 264 const currentPerInfo = userStore.perInfo
268 if (currentPerInfo && !currentPerInfo.perCode && !hasOpenedBindPopup) { 265 const hasBoundName = currentPerInfo?.perName
269 hasOpenedBindPopup = true 266 if (currentPerInfo && !hasBoundName && !hasOpenedBindPopup) {
270 nextTick(() => { 267 hasOpenedBindPopup = true
271 openBindPopup() 268 nextTick(() => {
269 openBindPopup()
272 }) 270 })
273 } 271 }
274 } 272 }
...@@ -479,13 +477,15 @@ const goToOrder = () => { ...@@ -479,13 +477,15 @@ const goToOrder = () => {
479 }); 477 });
480 }; 478 };
481 479
482 // 导航到缴费 480 // 导航到缴费
483 const goToPay = () => { 481 const goToPay = () => {
484 const perId = userInfo.value.perId ?? '' 482 const perId = userInfo.value.perId ?? ''
485 uni.navigateTo({ 483 const name = perInfo.value?.perName ? encodeURIComponent(perInfo.value.perName) : ''
486 url: `/personal/addVip_per?perId=${perId}` 484 const idcCode = perInfo.value?.perIdcCode ? encodeURIComponent(perInfo.value.perIdcCode) : ''
487 }); 485 uni.navigateTo({
488 }; 486 url: `/personal/addVip_per?perId=${perId}&name=${name}&idcCode=${idcCode}`
487 });
488 };
489 489
490 // 下载电子会员证 490 // 下载电子会员证
491 const downCert = async () => { 491 const downCert = async () => {
......
...@@ -174,9 +174,13 @@ ...@@ -174,9 +174,13 @@
174 perId.value = userInfo.perId; 174 perId.value = userInfo.perId;
175 getLevelRecords(); 175 getLevelRecords();
176 } else { 176 } else {
177 const userId = userInfo?.id;
178 if (!userId) {
179 return;
180 }
177 // 如果userInfo中没有perId,尝试通过getAssoPers获取 181 // 如果userInfo中没有perId,尝试通过getAssoPers获取
178 try { 182 try {
179 const res = await getAssoPers(userInfo?.id || ''); 183 const res = await getAssoPers(userId);
180 perId.value = res.data[10] || ''; 184 perId.value = res.data[10] || '';
181 if (perId.value) { 185 if (perId.value) {
182 getLevelRecords(); 186 getLevelRecords();
...@@ -347,4 +351,4 @@ ...@@ -347,4 +351,4 @@
347 color: #666; 351 color: #666;
348 font-weight: 500; 352 font-weight: 500;
349 } 353 }
350 </style>
...\ No newline at end of file ...\ No newline at end of file
354 </style>
......
...@@ -137,9 +137,13 @@ ...@@ -137,9 +137,13 @@
137 perId.value = userInfo.perId; 137 perId.value = userInfo.perId;
138 getMemberInfo(); 138 getMemberInfo();
139 } else { 139 } else {
140 const userId = userInfo?.id;
141 if (!userId) {
142 return;
143 }
140 // 如果userInfo中没有perId,尝试通过getAssoPers获取 144 // 如果userInfo中没有perId,尝试通过getAssoPers获取
141 try { 145 try {
142 const res = await getAssoPers(userInfo?.id || ''); 146 const res = await getAssoPers(userId);
143 perId.value = res.data[10] || ''; 147 perId.value = res.data[10] || '';
144 if (perId.value) { 148 if (perId.value) {
145 getMemberInfo(); 149 getMemberInfo();
...@@ -282,4 +286,4 @@ ...@@ -282,4 +286,4 @@
282 padding: 24rpx 20rpx; 286 padding: 24rpx 20rpx;
283 } 287 }
284 } 288 }
285 </style>
...\ No newline at end of file ...\ No newline at end of file
289 </style>
......
...@@ -51,13 +51,11 @@ ...@@ -51,13 +51,11 @@
51 <uni-easyinput :styles="inputstyle" :placeholderStyle="placeholderStyle" 51 <uni-easyinput :styles="inputstyle" :placeholderStyle="placeholderStyle"
52 v-model="baseFormData.phone" placeholder="请输入联系方式" /> 52 v-model="baseFormData.phone" placeholder="请输入联系方式" />
53 </uni-forms-item> 53 </uni-forms-item>
54 <uni-forms-item label="会员编号" name="perCode" v-if="baseFormData.perCode"> 54 <uni-forms-item label="会员编号" name="perCode" v-if="baseFormData.perCode">
55 <uni-easyinput :styles="inputstyle" :placeholderStyle="placeholderStyle" 55 {{baseFormData.perCode}}
56 v-model="baseFormData.perCode" placeholder="请输入会员编号" />
57 </uni-forms-item> 56 </uni-forms-item>
58 <uni-forms-item label="会员有效期" name="validityDate" v-if="baseFormData.validityDate"> 57 <uni-forms-item label="会员有效期" name="validityDate" v-if="baseFormData.validityDate">
59 <uni-easyinput :styles="inputstyle" :placeholderStyle="placeholderStyle" 58 {{baseFormData.validityDate?.slice(0,10)}}
60 v-model="baseFormData.validityDate" placeholder="请输入会员有效期" />
61 </uni-forms-item> 59 </uni-forms-item>
62 60
63 61
......
...@@ -37,7 +37,13 @@ ...@@ -37,7 +37,13 @@
37 <view class="data-header"> 37 <view class="data-header">
38 <text class="member-label">{{ getOrderLabel(item) }} ·</text> 38 <text class="member-label">{{ getOrderLabel(item) }} ·</text>
39 <text class="value ml10">{{ item.wfCode || '——' }} · </text> 39 <text class="value ml10">{{ item.wfCode || '——' }} · </text>
40 <text class="pay-type">{{ getPayTypeText(item) }}</text> 40 <text
41 v-if="String(item.payType) === '3'"
42 :class="{ 'pay-type-link': canClickTransferPay(item) }"
43 class="pay-type"
44 @click.stop="handleTransferPay(item)"
45 >对公转账</text>
46 <text v-else class="pay-type">民生付</text>
41 </view> 47 </view>
42 <text :class="{ 48 <text :class="{
43 'status-wait': item.payStatus == 4, 49 'status-wait': item.payStatus == 4,
...@@ -238,11 +244,17 @@ const loadMore = () => { ...@@ -238,11 +244,17 @@ const loadMore = () => {
238 pageNum.value++; 244 pageNum.value++;
239 initData(); 245 initData();
240 }; 246 };
241 const getPayWay = (item) => { 247 const canClickTransferPay = (item) => {
242 uni.redirectTo({ 248 return String(item?.payType) === '3' && String(item?.payStatus) !== '2'
243 url: `/myCenter/transferPay?orderId=${item.id}`
244 });
245 } 249 }
250
251 const handleTransferPay = (item) => {
252 if (!canClickTransferPay(item)) return
253 uni.navigateTo({
254 url: `/myCenter/transferPay?orderId=${item.id}`
255 })
256 }
257
246 // 切换标签 258 // 切换标签
247 const switchTab = (index) => { 259 const switchTab = (index) => {
248 currentTab.value = index; 260 currentTab.value = index;
...@@ -888,6 +900,10 @@ const goToDetail = (item) => { ...@@ -888,6 +900,10 @@ const goToDetail = (item) => {
888 margin-left: 10rpx; 900 margin-left: 10rpx;
889 } 901 }
890 902
903 .pay-type.pay-type-link {
904 color: #1677ff;
905 }
906
891 .status-tag { 907 .status-tag {
892 font-size: 24rpx; 908 font-size: 24rpx;
893 color: #999; 909 color: #999;
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!