hookehuyr

fix(collectionSettings): 修复已绑定账号时的表单禁用逻辑和地址选择处理

添加对已绑定收款账号的禁用逻辑,防止修改用户信息
地址选择器点击时增加已绑定账号的提示
移除保存按钮的条件显示,始终显示保存按钮
<!--
* @Date: 2022-09-19 14:11:06
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2025-08-16 14:16:46
* @LastEditTime: 2025-08-18 09:55:02
* @FilePath: /jgdl/src/pages/collectionSettings/index.vue
* @Description: 收款设置
-->
......@@ -69,8 +69,6 @@
class="form-input custom-input native-input" :cursor-spacing="50" @blur="validateBankAccount" />
<text v-if="bankAccountError" class="error-text">{{ bankAccountError }}</text>
</view>
</view>
<!-- 操作按钮 -->
......@@ -78,8 +76,8 @@
<nut-button type="default" @click="closeAccountModal" class="footer-btn footer-btn-cancel">
关闭
</nut-button>
<!-- 保存按钮 - 只有在未绑定收款账户时才显示 -->
<nut-button v-if="!jeePayReceiverId" type="primary" @click="saveAccountInfo" color="#ffa500"
<!-- 保存按钮 -->
<nut-button type="primary" @click="saveAccountInfo" color="#ffa500"
:disabled="!tempAccountInfo.bankName || !tempAccountInfo.bankAccount"
class="footer-btn footer-btn-save">
保存
......@@ -105,13 +103,13 @@
<view class="form-content">
<view class="form-item">
<text class="form-label"><text class="required-mark">*</text>用户名称</text>
<input v-model="tempIdentityInfo.userName" placeholder="请输入真实姓名" class="form-input native-input" />
<input v-model="tempIdentityInfo.userName" placeholder="请输入真实姓名" class="form-input native-input" :disabled="jeePayReceiverId" />
</view>
<view class="form-item">
<text class="form-label"><text class="required-mark">*</text>身份证号码</text>
<input v-model="tempIdentityInfo.idCard" placeholder="请输入身份证号码" class="form-input native-input"
maxlength="18" @blur="handleIdCardBlur" :cursor-spacing="50" />
maxlength="18" @blur="handleIdCardBlur" :cursor-spacing="50" :disabled="jeePayReceiverId" />
<text v-if="idCardError" class="error-text">{{ idCardError }}</text>
</view>
......@@ -122,7 +120,7 @@
<view v-if="tempIdentityInfo.idcard_1_img" class="idcard-img-preview">
<image :src="tempIdentityInfo.idcard_1_img" class="idcard-img-image" mode="aspectFill"
@tap="previewIdcard1Img" />
<view class="idcard-img-actions">
<view class="idcard-img-actions" v-if="!jeePayReceiverId">
<text class="change-img-btn" @tap="changeIdcard1Img">重新上传</text>
<text class="delete-img-btn" @tap="deleteIdcard1Img">删除</text>
</view>
......@@ -141,7 +139,7 @@
<view v-if="tempIdentityInfo.idcard_2_img" class="idcard-img-preview">
<image :src="tempIdentityInfo.idcard_2_img" class="idcard-img-image" mode="aspectFill"
@tap="previewIdcard2Img" />
<view class="idcard-img-actions">
<view class="idcard-img-actions" v-if="!jeePayReceiverId">
<text class="change-img-btn" @tap="changeIdcard2Img">重新上传</text>
<text class="delete-img-btn" @tap="deleteIdcard2Img">删除</text>
</view>
......@@ -153,17 +151,13 @@
</view>
</view>
<!-- 身份证地址 -->
<view class="form-item">
<text class="form-label"><text class="required-mark">*</text>身份证地址</text>
<!-- 地址选择器触发器 -->
<view
class="address-selector"
@click="showAddressSelector = true"
@click="handleAddressClick"
>
<text class="address-text" :class="{ 'address-selected': addressData.full_address && addressData.full_address !== 'NaN' }">
{{ (addressData.full_address && addressData.full_address !== 'NaN' && addressData.full_address.trim()) || '请选择省市县并填写详细地址' }}
......@@ -188,8 +182,6 @@
</view>
</nut-popup>
<!-- 固定返回按钮 - 只有当参数target=sell时才显示 -->
<view v-if="showBackButton" class="fixed-back-btn" @click="goBack">
<text class="back-text">返回</text>
......@@ -973,9 +965,6 @@ const transformAreaData = (areaList) => {
})
}
// 转换后的地区数据
const areaData = ref(transformAreaData(areaList))
// findNodeByCode 函数已移除,现在直接从 @vant/area-data 的扁平化数据中获取地区名称
/**
......@@ -1022,6 +1011,17 @@ const onAddressChange = (address) => {
idcard_address: address.detail_address
})
}
const handleAddressClick = () => {
if (jeePayReceiverId) {
Taro.showToast({
title: '已绑定收款账号,不能修改地址, 如需修改请联系客服',
icon: 'none'
})
return
}
showAddressSelector = true
}
</script>
<script>
......