Files
tiantian-system/.workbuddy/memory/2026-04-09.md
赵忠林 a9da04fbb8 fix(oa): 修复多处 Duplicate attribute 错误问题
- 修改 app/components/oa/TaskForm.vue 中 a-input 类型冲突为 a-input-number
- 合并 admin/supply/warehouse.vue 和 production/equipment.vue 中多个 :class 绑定,避免重复属性
- 统一改为数组方式绑定静态和动态 class,防止 Vue 编译器 Duplicate attribute 警告
- 清理缓存并验证构建通过,确保无重复属性错误
- 通过扫描确认 app/ 目录下 Vue 文件不再存在重复属性问题
- 添加 OaTaskForm 组件类型声明及懒加载声明
- 将 ERP 演示独立 HTML 页面整合至 /app/pages,统一布局与导航
- 升级制造业管理后台页面风格,采用玻璃态和渐变设计
- 修订规划文档相关内容,更新 DEMO 系统名称及功能模块描述
- 修改 ecosystem.config.cjs 中运行端口为 10591
2026-04-09 12:08:55 +08:00

61 lines
3.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 2026-04-09 工作日志
## 修复 "Duplicate attribute" 错误(多处)
- **第1处**`app/components/oa/TaskForm.vue``<a-input type="number">` 与组件内部 `type` 属性冲突 → 替换为 `<a-input-number>`
- **第2处**`app/pages/admin/supply/warehouse.vue:183``<span :class=... class=... :class=...>` 三重绑定 → 合并为 `:class="['static', dynamic1, dynamic2]"`
- **第3处**`app/pages/admin/production/equipment.vue:183``equipment.vue:256` 同样的 `:class` 重复问题 → 同样合并
- 根本原因:同一元素上同时出现静态 `class` 和两个动态 `:class` 绑定Vue 编译器报 Duplicate attribute
- 修复模式:将 `class="static" :class="a" :class="b"` 统一改为 `:class="['static', a, b]"`
- 构建验证:`npx nuxi build` 通过,无 Duplicate attribute 错误
- 后续补丁:用 Vue 编译器 API 全量扫描 app/ 下所有 .vue 文件,确认 0 个文件存在真实重复属性
- 已清除 .nuxt 和 node_modules/.cache/nuxt 缓存,防止旧缓存继续报错
- ⚠️ 教训:清除 .nuxt 会导致 tsconfig.json 的 extends 断裂,需执行 `npx nuxi prepare` 重新生成
## 制造业数字化管理后台 /admin 重构
将 /admin 从之前的通用SaaS后端改造为制造业数字化标准体系包含4大模块
### 菜单结构 (admin-nav.ts)
- 首页总览 `/admin`
- 产品生命周期数字化:产品设计 `/admin/product/design`、营销管理 `/admin/product/marketing`、售后服务 `/admin/product/service`
- 生产执行数字化:计划排程 `/admin/production/schedule`、生产管控 `/admin/production/control`、质量管理 `/admin/production/quality`、设备管理 `/admin/production/equipment`、安全生产 `/admin/production/safety`、能耗管理 `/admin/production/energy`
- 供应链数字化:采购管理 `/admin/supply/purchase`、仓储物流 `/admin/supply/warehouse`
- 管理决策数字化:财务管理 `/admin/management/finance`、人力资源 `/admin/management/hr`、协同办公 `/admin/management/office`、决策支持 `/admin/management/decision`
- 系统设置 `/admin/settings`(已有,保持不变)
### 技术说明
- 所有页面使用 Ant Design Vue
- 布局复用 admin.vue左侧固定菜单栏支持折叠/展开)
- 每个页面通过 useNav().activeTab 设置当前菜单高亮
- 图标全部使用 @ant-design/icons-vue 有效图标
## ERP演示站点 - 独立HTML风格页面整合到 /app/pages
将根目录下3个HTML原型文件整合为 Nuxt/Vue 页面,全部放入 /app/pages/
- index.vue - 工作台首页(已有,更新导航链接)
- procurement.vue - 采购管理
- hr.vue - 人力资源管理
- device.vue - 设备管理(新建)
- warehouse.vue - 仓储物流(新建)
- finance.vue - 财务管理(新建)
- office.vue - 协同办公(新建)
所有页面使用 layout: blank自带左侧导航所有菜单项均为 NuxtLink 可跳转。
设计风格:紫蓝渐变侧边栏 + 玻璃态卡片 + 渐变统计卡 + Ant Design Vue 组件。
## 页面风格升级 - 玻璃态+渐变
所有制造业管理后台页面已升级为现代风格:
- 玻璃态效果 (glass): rgba背景 + backdrop-filter模糊
- 渐变色图标背景
- 悬停卡片动画 (card-hover)
- 紫蓝橙绿现代配色
涉及页面:
- /admin/production/equipment.vue - 设备管理
- /admin/supply/purchase.vue - 采购管理
- /admin/supply/warehouse.vue - 仓储物流
- /admin/management/finance.vue - 财务管理
- /admin/management/hr.vue - 人力资源
- /admin/management/office.vue - 协同办公