feat: 移动端工作中心新增历史拜访+历史纪要
- 工作中心新增两个卡片入口:历史拜访 / 历史纪要 - VisitsList.vue: 拜访历史记录列表,点击进入编辑 - NotesList.vue: 纪要历史记录列表,点击进入编辑 - 复用已有编辑表单(VisitForm/DailyNoteForm edit mode) - 网格改为3列布局容纳6个卡片 Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -4,16 +4,20 @@ import { useRouter } from 'vue-router'
|
||||
import api from '@/api/index'
|
||||
|
||||
const router = useRouter()
|
||||
const counts = ref({ plans: 0, miniBiz: 0, keyVisits: 0, leaves: 0 })
|
||||
const counts = ref({ visits: 0, notes: 0, plans: 0, miniBiz: 0, keyVisits: 0, leaves: 0 })
|
||||
|
||||
onMounted(async () => {
|
||||
try {
|
||||
const [plans, mini, key, leaves] = await Promise.all([
|
||||
const [visits, notes, plans, mini, key, leaves] = await Promise.all([
|
||||
api.get('/visits/', { params: { page_size: 1 } }),
|
||||
api.get('/daily-notes/', { params: { page_size: 1 } }),
|
||||
api.get('/work-plans/'),
|
||||
api.get('/mini-business/'),
|
||||
api.get('/key-visits/'),
|
||||
api.get('/leaves/', { params: { page_size: 1 } }),
|
||||
])
|
||||
counts.value.visits = Array.isArray(visits.data) ? visits.data.length : (visits.data.total || (visits.data.items || []).length)
|
||||
counts.value.notes = Array.isArray(notes.data) ? notes.data.length : (notes.data.total || (notes.data.items || []).length)
|
||||
counts.value.plans = Array.isArray(plans.data) ? plans.data.length : (plans.data.items || []).length
|
||||
counts.value.miniBiz = Array.isArray(mini.data) ? mini.data.length : (mini.data.items || []).length
|
||||
counts.value.keyVisits = Array.isArray(key.data) ? key.data.length : (key.data.items || []).length
|
||||
@@ -22,6 +26,8 @@ onMounted(async () => {
|
||||
})
|
||||
|
||||
const modules = [
|
||||
{ path: '/m/visits', label: '历史拜访', icon: '📋', count: () => counts.value.visits, color: '#4A6741' },
|
||||
{ path: '/m/notes', label: '历史纪要', icon: '📝', count: () => counts.value.notes, color: '#1C3738' },
|
||||
{ path: '/m/plans', label: '工作计划', icon: '📅', count: () => counts.value.plans, color: '#4A6741' },
|
||||
{ path: '/m/mini-biz', label: '商机跟单', icon: '💰', count: () => counts.value.miniBiz, color: '#C4934A' },
|
||||
{ path: '/m/key-visits', label: '要客拜访', icon: '⭐', count: () => counts.value.keyVisits, color: '#5B7FA5' },
|
||||
@@ -64,7 +70,7 @@ const modules = [
|
||||
.form-rule { width: 100%; height: 2px; background: var(--warm-border); margin-top: 6px; position: relative; }
|
||||
.form-rule::after { content: ''; position: absolute; left: 0; top: 0; width: 32px; height: 2px; background: var(--gold); }
|
||||
|
||||
.module-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
|
||||
.module-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; }
|
||||
.module-card {
|
||||
background: var(--surface); border: 1px solid var(--warm-border);
|
||||
padding: 20px 16px; display: flex; flex-direction: column; align-items: center; gap: 6px;
|
||||
|
||||
Reference in New Issue
Block a user