2 类

严重：假数据 / 假操作

10 项

结构性缺陷

3 批

P0 / P1 / P2 修复计划

~2.5 天

预估总工作量

## 一、严重：整块假数据演示会露馅

P0
1

调度端发布任务是假的

项目/车辆下拉写死数组，"提交"只 toast 不调 createTask，照片未上传

pages-dispatch/publishTask.vue:173-223

2

排班日历失效 + 新增排班未实现

日期字段用错（scheduleDate vs 后端 workDate），日历圆点全空；新增仅 toast"开发中"

pages-dispatch/schedule.vue:143-226

3

数据看板图表写死

饼图/趋势图为固定数组，与上方真实统计数字互相矛盾

pages-dispatch/visualization.vue:145-160

4

车辆 / 人员 / 应急待命全走 mock

vehicle / personnel store 直接展开 mock 数组，loading 用 setTimeout 假装；真实接口在 api/staff.ts 已存在但没接

stores/vehicle.ts stores/personnel.ts vehicleList / availableVehicles / emergencyStandby / onDutyStaff.vue

5

通知详情点进去必显示"公告不存在"

写死假公告，id 字符串 'n1' 与列表传入的数字不匹配；且与 pages-common 版重复

pages-dispatch/noticeDetail.vue pages-construction/noticeDetail.vue

6

任务处理记录时间线是假数据

固定 3 条（销售-李明/调度-王调度/施工-张师傅），未调任务日志接口

pages-common/taskDetail.vue:109-131

7

首页统计数字写死

三个 Home 的 notificationCount、tomorrowCount 为固定值；统计卡未接 dashboard 接口

SalesHome / DispatchHome / ConstructionHome.vue stores/task.ts:31

8

销售端 6 个子页面全是写死数组

知识库 / 消息 / 任务提醒均为硬编码数据，确认/拒绝按钮只 toast 不调接口

pages-sales/*（6 个文件）

## 二、严重：假操作点了以为成功实际没生效

P0
1

修改密码完全没调接口

仅本地校验后 toast 成功；api/auth.ts 也无 changePassword 接口（需后端补）

pages-common/changePassword.vue:85

2

应急任务列表大概率是空的

筛选字段 t.type==='emergency' 与任务实际字段（taskType/urgencyLevel）不符

pages-dispatch/emergencyTeam.vue:83

3

施工端问题反馈只 toast 不上报

onReject 误用 updateTask 改状态，应使用已有的 cancelTask 接口

pages-construction/taskDetail.vue:591-636

4

车辆检查只写本地 storage

出车前检查未提交后端，刷新/换设备即丢失

pages-construction/dailyTask.vue:194-221

5

多处"标记已读 / 删除"只改本地数组

noticeList、messageList 的滑动操作未调后端接口

noticeList.vue:110 messageList.vue

## 三、结构性缺陷

P1 / P2

storage 传参反模式

knowledge / message / notice 详情页用 setStorageSync 传整对象，无 id 入参兜底，刷新/分享即空白

列表无分页加载更多

任务/客户/合同/通知只拉首屏 10 条；搜索筛选为前端内存过滤，数据多了就漏

tab 索引错位

task.vue dispatch 端 setSelected(2)、schedule.vue setSelected(1)，与 pages.json 实际索引相反，高亮错位

返回不刷新

contract.vue / customer.vue 用 onMounted 而非 onShow，编辑后返回列表数据陈旧

mock 残留会崩

mock/index.ts 仍被 5 个 store 引用；mockProjects 用旧字段 type:'包年'（后端为 cooperationType:'annual'），切真实后端会崩

request.ts 缺陷

错误 toast 无静默开关（权限 toast bug 根源）；401 不清 roleInfo；无 token 刷新；BASE_URL 硬编码 localhost

死代码

dispatch/construction 下重复的 notification/noticeList/noticeDetail；stores/schedule.ts 未使用

占位页面

paymentRecord / followUpList 整页空态；合同付款记录、客户关联项目为占位文案

一次性拉 1000 条

contractForm.vue:268 拉 1000 条客户、addProject.vue:600 拉 1000 条合同，客户多时会卡

其他零散

taskNo 前端用 Date.now() 生成（应后端生成）；地理位置占位仅 toast；checklist 3 项与点检 12 项不一致

## 四、解决方案（按优先级分批）

P0 演示前必修 — 消灭假数据 / 假操作 约 1 ~ 1.5 天 · 前端为主 + 后端 3~4 个小接口

1. 1. 调度端发布任务接真实接口：项目/车辆下拉 + createTask + 照片上传
2. 2. 排班页字段修正为 workDate；新增排班接 createSchedule
3. 3. 删除 noticeDetail 死代码文件（列表本就跳 pages-common 版）；统一 id 数字传参
4. 4. 车辆/人员/应急页面 store 接 api/vehicle.ts、api/staff.ts（接口已存在，纯前端）
5. 5. 后端补缺口接口：修改密码、任务反馈、消息已读、付款/跟进记录——或演示版先隐藏入口
6. 6. visualization 图表接 dashboard 接口

P1 交互正确性 约半天

7. 7. tab 索引修正（task/schedule 互换）；列表页统一 onShow 刷新 + 触底加载 + 搜索传后端
8. 8. 详情页统一改为 onLoad(options.id) + 接口拉取，废弃 storage 传参
9. 9. request.ts 加 silent 选项；401 清全 store；BASE_URL 走环境变量

P2 清理与规范化 约半天

10. 10. 删除 mock 引用（5 个 store）、重复子包页面、未用 store；统一类型定义（SimpleOption 重复、API 返回值无类型）

建议顺序：先做 P0 的 1-4（纯前端、风险低、演示收益最大），后端缺口接口并行补；P1/P2 随后跟进。

青道夫管道疏通管理平台 · 移动端审查报告 ｜ 外围架构已固定，本报告聚焦内部完善项