From 125b4b5681286e10334a0dc66b22b25fa97be4e3 Mon Sep 17 00:00:00 2001
From: zhangrenyuan <18990852002@163.com>
Date: Fri, 23 Jan 2026 10:10:23 +0800
Subject: [PATCH] =?UTF-8?q?fix(=E6=94=B6=E6=AC=BE=E6=98=8E=E7=BB=86):=20?=
=?UTF-8?q?=E4=BC=98=E5=8C=96=E7=B2=BE=E7=BD=91=E5=8F=B7=E8=BE=93=E5=85=A5?=
=?UTF-8?q?=E9=AA=8C=E8=AF=81=E4=B8=8E=E6=9F=A5=E8=AF=A2=E9=80=BB=E8=BE=91?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
- 将 jwcode 输入框的 @blur 事件拆分为 @focus、@blur 和 @keyup.enter 事件,避免重复查询
- 增加输入值的去空格、非空校验、纯数字校验和长度校验
- 优化后端返回数据处理,增加对返回码 0 和特定区域提示的处理
- 统一使用清理后的 jwcode 变量进行 API 请求
---
.../moneyManage/receiveDetail/receiveService.vue | 44 ++++++++++++++++++++--
1 file changed, 41 insertions(+), 3 deletions(-)
diff --git a/src/views/moneyManage/receiveDetail/receiveService.vue b/src/views/moneyManage/receiveDetail/receiveService.vue
index 7e212a5..5de7449 100644
--- a/src/views/moneyManage/receiveDetail/receiveService.vue
+++ b/src/views/moneyManage/receiveDetail/receiveService.vue
@@ -208,7 +208,7 @@
label-position="left">
+ @focus="handleJwcodeFocus" @blur="handleJwcodeBlur" @keyup.enter="handleJwcodeEnter" />
{
isGroup.value = false
}
}
+//失焦和回车查询仅选一个
+const jwcodeQueriedInFocus = ref(false)
+const handleJwcodeFocus = () => {
+ jwcodeQueriedInFocus.value = false
+}
+const handleJwcodeEnter = () => {
+ jwcodeQueriedInFocus.value = true
+ jwcodeSeachMarket()
+}
+const handleJwcodeBlur = () => {
+ if (jwcodeQueriedInFocus.value) return
+ jwcodeQueriedInFocus.value = true
+ jwcodeSeachMarket()
+}
// 精网号失焦:查询客户姓名和地区
const jwcodeSeachMarket = async () => {
try {
+ const jwcode = String(addFormData.value.jwcode ?? '').replace(/\s/g, '')
+ addFormData.value.jwcode = jwcode
+ if (!jwcode) {
+ ElMessage.warning(t('elmessage.noEmptyJwcode'))
+ return
+ }
+ if (!/^[1-9]\d*$/.test(jwcode)) {
+ ElMessage.error(t('elmessage.checkJwcodeFormat'))
+ return
+ }
+ if (jwcode.length > 8) {
+ ElMessage.error(t('elmessage.limitJwcodeLength'))
+ return
+ }
const result = await request({
url: '/cashCollection/getNameAndMarket',
- data: addFormData.value.jwcode
+ data: jwcode
})
- if (result.code == 200) {
+ if (result.code == 200 && result.data && Object.keys(result.data).length > 0) {
ElMessage.success(t('elmessage.customerSuccess'))
addFormData.value.market = result.data.market
addFormData.value.marketName = result.data.marketName
addFormData.value.name = result.data.name
+ } else if (result.code == 0) {
+ const region = result.data && result.data.market
+ if (region) {
+ ElMessage.info({
+ message: t('elmessage.userRegionHint', { region }),
+ customClass: 'custom-blue-message'
+ })
+ return
+ }
+ ElMessage.error(t('elmessage.customerNotExist'))
} else {
ElMessage.error(t('elmessage.customerNotExist'))
}