feat: 客户查重前端集成
- 新建客户时输入名称失焦后自动调用 /customers/check-duplicate - 若有同名客户显示黄色警告条(含客户名+经理) - 编辑模式不触发查重 Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -96,7 +96,21 @@ function resetForm() {
|
||||
existingContacts.value = []
|
||||
}
|
||||
|
||||
function openCreate() { dialogTitle.value = '新建客户'; editId.value = ''; resetForm(); dialogVisible.value = true }
|
||||
const duplicateHint = ref('')
|
||||
async function checkName() {
|
||||
if (!form.value.name || editId.value) { duplicateHint.value = ''; return }
|
||||
try {
|
||||
const res = await customersApi.checkDuplicate(form.value.name)
|
||||
if (res.data?.exists) {
|
||||
const dup = res.data.customers || []
|
||||
duplicateHint.value = `⚠ 已存在同名客户:${dup.map((c: any) => c.name + (c.primary_manager_name ? ` (${c.primary_manager_name})` : '')).join('、')}`
|
||||
} else {
|
||||
duplicateHint.value = ''
|
||||
}
|
||||
} catch (_) { duplicateHint.value = '' }
|
||||
}
|
||||
|
||||
function openCreate() { dialogTitle.value = '新建客户'; editId.value = ''; resetForm(); duplicateHint.value = ''; dialogVisible.value = true }
|
||||
|
||||
async function openEdit(customer: any) {
|
||||
dialogTitle.value = '编辑客户'; editId.value = customer.id
|
||||
@@ -305,7 +319,7 @@ async function handleImport() {
|
||||
<!-- Create/Edit Dialog -->
|
||||
<el-dialog v-model="dialogVisible" :title="dialogTitle" width="520px">
|
||||
<el-form label-position="top">
|
||||
<el-form-item label="单位名称" required><el-input v-model="form.name" placeholder="请输入单位名称" /></el-form-item>
|
||||
<el-form-item label="单位名称" required><el-input v-model="form.name" placeholder="请输入单位名称" @blur="checkName" /><el-alert v-if="duplicateHint" :title="duplicateHint" type="warning" :closable="false" style="margin-top:6px" /></el-form-item>
|
||||
<el-form-item label="所属行业"><el-input v-model="form.industry" placeholder="如: 教育、医疗、政府..." /></el-form-item>
|
||||
<el-form-item label="单位地址"><el-input v-model="form.address" /></el-form-item>
|
||||
<el-form-item label="在用业务"><el-input v-model="form.in_use_services" placeholder="如: 云桌面、专线、视频会议" /></el-form-item>
|
||||
|
||||
Reference in New Issue
Block a user