From c489a8d6fd4d30da8b0ac6715a8cfff427b0df08 Mon Sep 17 00:00:00 2001 From: v6ole Date: Sun, 12 Jul 2026 18:04:45 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=90=9C=E7=B4=A2=E6=97=A0=E7=BB=93?= =?UTF-8?q?=E6=9E=9C=E6=97=B6=E6=96=B0=E5=BB=BA=E6=8C=89=E9=92=AE=E6=94=B9?= =?UTF-8?q?=E4=B8=BAel-select=E7=9A=84empty=E6=8F=92=E6=A7=BD=EF=BC=8C?= =?UTF-8?q?=E9=81=BF=E5=85=8D=E8=A2=AB=E9=81=AE=E6=8C=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将「新建客户」按钮从 el-select 下方的独立 div 移入 #empty 插槽 - 搜索无匹配时,下拉面板直接显示「未找到xxx」+ 新建按钮 - 不再被原生「无数据」空状态遮挡 - 移动端+桌面端五个页面统一修复 Co-Authored-By: Claude --- frontend/src/views/desktop/KeyVisits.vue | 10 ++++++--- .../src/views/desktop/ManagerWorkspace.vue | 10 ++++++--- frontend/src/views/desktop/MiniBusiness.vue | 10 ++++++--- frontend/src/views/desktop/WorkPlans.vue | 10 ++++++--- frontend/src/views/mobile/VisitForm.vue | 22 +++++++++++-------- 5 files changed, 41 insertions(+), 21 deletions(-) diff --git a/frontend/src/views/desktop/KeyVisits.vue b/frontend/src/views/desktop/KeyVisits.vue index 23490a7..98ade7f 100644 --- a/frontend/src/views/desktop/KeyVisits.vue +++ b/frontend/src/views/desktop/KeyVisits.vue @@ -296,10 +296,13 @@ async function quickStatusChange(row: any, newStatus: string) { + -
- -
@@ -358,4 +361,5 @@ async function quickStatusChange(row: any, newStatus: string) { .filter-count { font-size: 12px; color: var(--c-text-muted); font-family: var(--font-mono); margin-left: auto; } .quick-create-btn { display: inline-flex; align-items: center; gap: 4px; background: none; border: 1px dashed var(--gold); padding: 6px 12px; color: var(--gold-dark); font-family: var(--font-body); font-size: 12px; cursor: pointer; transition: all 0.2s; } .quick-create-btn:hover { border-color: var(--vermilion); color: var(--vermilion); background: rgba(184,71,46,0.03); } +.select-empty-create { padding: 8px 12px; text-align: center; } diff --git a/frontend/src/views/desktop/ManagerWorkspace.vue b/frontend/src/views/desktop/ManagerWorkspace.vue index abe08ab..e51b4e3 100644 --- a/frontend/src/views/desktop/ManagerWorkspace.vue +++ b/frontend/src/views/desktop/ManagerWorkspace.vue @@ -472,10 +472,13 @@ const notesByDate = computed(() => { + -
- -
@@ -571,4 +574,5 @@ const notesByDate = computed(() => { .empty { text-align: center; color: var(--c-text-muted); padding: 40px 0; font-family: var(--font-body); } .quick-create-btn { display: inline-flex; align-items: center; gap: 4px; background: none; border: 1px dashed var(--gold); padding: 6px 12px; color: var(--gold-dark); font-family: var(--font-body); font-size: 12px; cursor: pointer; transition: all 0.2s; } .quick-create-btn:hover { border-color: var(--vermilion); color: var(--vermilion); background: rgba(184,71,46,0.03); } +.select-empty-create { padding: 8px 12px; text-align: center; } diff --git a/frontend/src/views/desktop/MiniBusiness.vue b/frontend/src/views/desktop/MiniBusiness.vue index 2418741..1dd849c 100644 --- a/frontend/src/views/desktop/MiniBusiness.vue +++ b/frontend/src/views/desktop/MiniBusiness.vue @@ -263,10 +263,13 @@ async function quickStatusChange(row: any, newStatus: string) { + -
- -
@@ -313,4 +316,5 @@ async function quickStatusChange(row: any, newStatus: string) { .filter-count { font-size: 12px; color: var(--c-text-muted); font-family: var(--font-mono); margin-left: auto; } .quick-create-btn { display: inline-flex; align-items: center; gap: 4px; background: none; border: 1px dashed var(--gold); padding: 6px 12px; color: var(--gold-dark); font-family: var(--font-body); font-size: 12px; cursor: pointer; transition: all 0.2s; } .quick-create-btn:hover { border-color: var(--vermilion); color: var(--vermilion); background: rgba(184,71,46,0.03); } +.select-empty-create { padding: 8px 12px; text-align: center; } diff --git a/frontend/src/views/desktop/WorkPlans.vue b/frontend/src/views/desktop/WorkPlans.vue index 1a6bc13..0e326ae 100644 --- a/frontend/src/views/desktop/WorkPlans.vue +++ b/frontend/src/views/desktop/WorkPlans.vue @@ -262,10 +262,13 @@ async function quickStatusChange(row: any, newStatus: string) { + -
- -
@@ -314,4 +317,5 @@ async function quickStatusChange(row: any, newStatus: string) { .filter-count { font-size: 12px; color: var(--c-text-muted); font-family: var(--font-mono); margin-left: auto; } .quick-create-btn { display: inline-flex; align-items: center; gap: 4px; background: none; border: 1px dashed var(--gold); padding: 6px 12px; color: var(--gold-dark); font-family: var(--font-body); font-size: 12px; cursor: pointer; transition: all 0.2s; } .quick-create-btn:hover { border-color: var(--vermilion); color: var(--vermilion); background: rgba(184,71,46,0.03); } +.select-empty-create { padding: 8px 12px; text-align: center; } diff --git a/frontend/src/views/mobile/VisitForm.vue b/frontend/src/views/mobile/VisitForm.vue index d93f0b6..d8f025e 100644 --- a/frontend/src/views/mobile/VisitForm.vue +++ b/frontend/src/views/mobile/VisitForm.vue @@ -235,16 +235,19 @@ async function handleDelete() { style="width:100%" > + -
- -
@@ -494,6 +497,7 @@ async function handleDelete() { color: var(--vermilion); background: rgba(184,71,46,0.03); } +.select-empty-create { padding: 8px 12px; text-align: center; } /* ═══ Photo Area ═══ */ .photo-area {