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')) }