Files
aiot-uniapp/PLAN.md
2026-02-28 14:31:46 +08:00

8.8 KiB
Raw Permalink Blame History

AIView UI 改造实施计划

概述

将 aiot-uniapp 从通用管理系统 UI 改造为 AIView 物业管理风格。基于已确认需求:

  • Tab 栏5 → 3工作台/扫码巡检FAB/我的),消息入口移至工作台右上角
  • 主题色全局统一橙色amber-400 → orange-500
  • 新增 Splash 启动页、扫码巡检模块、工单池模块、员工管理模块
  • 改造登录页、工作台、"我的"页面 UI
  • 现有 pages-system/pages-infra/pages-bpm 保留不动,后续参考用
  • 新模块先用 mock 数据,后续对接接口

阶段 1基础框架改造

Step 1.1 — 全局主题色替换

目标: 将 #1890ff 蓝色主题替换为 #f97316orange-500橙色主题

修改文件:

文件 改动
uno.config.ts:89 primary 颜色值从 #0957DE 改为 #f97316
uno.config.ts:74 safelist 新增扫码巡检 Tab 图标 i-carbon-scan
src/style/index.scss 取消注释 CSS 变量,设置 --wot-color-theme: #f97316
src/uni.scss $uni-color-primary#007aff 改为 #f97316
src/store/theme.ts themeVars 默认值设置 colorTheme: '#f97316'

约束:

  • 不改动 pages-system/pages-infra/pages-bpm 中硬编码的颜色(保留不动)
  • wot-design-uni 通过 CSS 变量 --wot-color-theme 全局生效

Step 1.2 — Tab 栏重构5 → 3

目标: 工作台 / 扫码巡检(居中 FAB / 我的

修改文件:

文件 改动
src/tabbar/config.ts customTabbarList 改为 3 项:工作台(i-carbon-home)、扫码巡检(bulge/FAB)、我的(i-carbon-user)
src/tabbar/store.ts BULGE_ENABLE 改为 true(启用中间鼓包)
src/tabbar/index.vue 鼓包样式改为 AIView 的橙色圆形凸起扫码按钮(橙色背景+白色 Scan 图标+阴影)
src/tabbar/index.vue:73 activeColor#1890ff 改为 #f97316
pages.config.ts:7 navigationBarTitleText 改为 AIView

新增 Tab 页:

  • src/pages/scan/index.vue — 扫码巡检 Tab 页(空壳,阶段 3 实现内容)

处理旧 Tab 页:

  • src/pages/bpm/index.vue — 保留文件,仅从 tabbar 移除(仍可通过工作台菜单进入)
  • src/pages/contact/index.vue — 同上
  • src/pages/message/index.vue — 同上,消息入口移至工作台右上角

关键约束:

  • tabbar 使用 CUSTOM_TABBAR_WITH_CACHE 策略不变
  • 扫码巡检为中间 bulge 项,isBulge: true
  • 修改后需重启开发服务器

阶段 2核心页面改造

Step 2.1 — Splash 启动页

新增文件: src/pages-core/splash/index.vue

功能:

  • 全屏橙色渐变背景(from-amber-400 via-orange-400 to-orange-500
  • 中间:毛玻璃圆角方块 + ShieldCheck 图标(用 wd-icon 或 UnoCSS icon
  • 品牌文字AIView + 副标题 "AIoT驱动的物业新服务"
  • 底部加载动画3个脉冲圆点
  • 2 秒后自动跳转登录页

修改文件:

文件 改动
src/router/interceptor.ts 添加 splash 页面到白名单
src/router/config.ts 新增 SPLASH_PAGE 常量

启动流程: App 启动 → Splash → 检查 Token → 有则进工作台 / 无则进登录

Step 2.2 — 登录页 UI 改造

修改文件: src/pages-core/auth/login.vue + styles/auth.scss + components/header.vue

UI 变更(保留全部业务逻辑不变):

  • 顶部区域:橙色渐变背景 + AIView Logo + 品牌文字
  • 底部白色圆角卡片(rounded-t-[44px])内包含表单
  • 输入框:浅灰背景 + 橙色图标 + 大圆角
  • 租户选择器:保留,样式适配橙色主题
  • 登录按钮:橙色渐变(from-amber-400 to-orange-500+ 圆角 + 阴影
  • 验证码登录/忘记密码链接:橙色文字
  • 第三方登录区域:保留,图标颜色不变
  • 创建账号链接:保留,橙色主题色

不改动的逻辑:

  • formDatahandleLoginverifySuccess 等全部保留
  • TenantPickerVerify 组件保留
  • 路由跳转逻辑保留

Step 2.3 — 工作台全面替换

修改文件: src/pages/index/index.vue + 子组件

重写子组件:

组件 改动
components/user-header.vue 重写为 AIView 风格:橙色渐变头部 + 用户头像/姓名/角色 + 右上角消息铃铛(原消息 Tab 入口)
components/banner.vue 替换为实时统计区域:客流统计 + 工单统计 + 迷你图表mock 数据)
components/menu-section.vue 改为 AIView 风格2×3 宫格白色卡片 + 橙色图标,保留现有菜单数据结构和权限过滤逻辑
新增 components/area-warning.vue 区域预警状态列表mock 数据:区域名/进度条/人员/风险等级)

index.vue 布局:

橙色渐变头部(用户信息 + 消息铃铛 + 统计数据 + 迷你图表)
  ↓ 圆角过渡
常用应用6宫格工单池/数据看板/员工管理/考勤打卡/报修管理/培训学习)
  ↓
区域预警状态列表

菜单入口映射:

  • 工单池 → /pages/scan/work-order/index(阶段 3 新建)
  • 员工管理 → /pages/scan/staff/index(阶段 3 新建)
  • 数据看板/考勤打卡/报修管理/培训学习 → 暂用 toast 提示"开发中"

Step 2.4 — "我的"页面 UI 改造

修改文件: src/pages/user/index.vue

UI 变更(保留全部业务逻辑不变):

  • 头部:橙色渐变背景 + 大圆角底部 + 头像/姓名/工号/角色标签
  • 统计卡片:白色浮动卡片(负 margin 覆盖头部底部3 列统计(本月工单/合格率/平均响应mock
  • 菜单列表:保留现有 6 项(个人资料/账号安全/常见问题/意见反馈/联系客服/应用设置),改为 AIView 圆角白卡片样式 + 橙色图标背景
  • 退出按钮:红色底色圆角按钮
  • 底部版本号文字

保留不变: getUserProfilehandleLogout、所有跳转函数


阶段 3新增业务模块

Step 3.1 — 扫码巡检模块

新增文件:

src/pages/scan/
  index.vue                      # Tab 页:扫码器界面
  inspection/index.vue           # 巡检录入表单(从扫码跳转)
  work-order/index.vue           # 工单池列表
  work-order/create.vue          # 创建工单
  staff/index.vue                # 员工管理列表

scan/index.vueTab 页):

  • 全屏扫码器界面(uni.scanCode API
  • 扫码框 UI四角橙色边框 + 扫描线动画 + 提示文字
  • 扫码成功 → 跳转巡检录入页
  • 手动输入按钮 → 跳转巡检录入页(可选区域)

inspection/index.vue巡检录入:

  • 顶部:当前巡检区域(橙色背景卡片 + 切换区域按钮)
  • 检查清单4 项勾选(地面洁净度/垃圾负荷/物资状态/环境空气)+ 全部合格按钮
  • 问题描述:文本域 + 拍照/相册按钮
  • 提交按钮:橙色渐变

Step 3.2 — 工单池模块

work-order/index.vue:

  • 顶部导航栏 + 右侧新增按钮
  • Tab 筛选栏:全部/待派发/进行中
  • 工单卡片列表:优先级标签(P0/P1/P2) + 标题 + 位置 + 时间 + 操作按钮/承接人
  • mock 4 条工单数据

work-order/create.vue:

  • 巡检区域选择(底部弹窗列表)
  • 工单详情(文本域 + 拍照)
  • 优先级选择P0/P1/P2 三选一)
  • 确认派单按钮

Step 3.3 — 员工管理模块

staff/index.vue:

  • 顶部导航栏 + 搜索框
  • 统计概览:在岗人数/活跃率
  • 员工卡片列表:头像 + 在线状态指示灯 + 姓名/工号 + 位置 + 任务数
  • mock 4 条员工数据

阶段 4收尾与验证

Step 4.1 — 导航流整合

验证流程:

  1. 启动 → Splash2s→ 登录页
  2. 登录成功 → 工作台
  3. Tab 切换:工作台 ↔ 扫码巡检 ↔ 我的
  4. 工作台 → 工单池 / 员工管理
  5. 扫码 → 巡检录入
  6. 我的 → 个人资料/安全/设置等(现有功能)

Step 4.2 — 样式一致性检查

  • 所有新页面使用统一背景色 #FFFDF5AIView 暖白)
  • 卡片统一 rounded-2xl + border border-orange-50 + shadow-sm
  • 文字层级:标题 font-bold text-gray-800、副标题 text-gray-400、标签 text-[10px] uppercase tracking-widest

文件变更汇总

类型 文件数 说明
修改 ~12 tabbar 配置/组件/store、主题文件、登录页、工作台、我的页面、路由配置
新增 ~7 scan/index.vue、inspection、work-order(2)、staff、area-warning 组件、splash
不动 150+ pages-system、pages-infra、pages-bpm 全部保留

执行顺序

Step 1.1 主题色 → Step 1.2 Tab栏
  → Step 2.1 Splash → Step 2.2 登录页 → Step 2.3 工作台 → Step 2.4 我的
    → Step 3.1 扫码巡检 → Step 3.2 工单池 → Step 3.3 员工管理
      → Step 4.1 导航验证 → Step 4.2 样式检查