From 894d381953ead24dc72cc7ded24ac636cf16b1aa Mon Sep 17 00:00:00 2001 From: zou Date: Sun, 5 Jul 2026 21:21:20 +0800 Subject: [PATCH] =?UTF-8?q?feat(F006-W9):=20=E8=A7=86=E5=9B=BE=E5=BC=80?= =?UTF-8?q?=E5=8F=91=E6=A8=A1=E6=9D=BF=20(VIEW-TEMPLATE.md)=20+=203=20?= =?UTF-8?q?=E9=80=9A=E7=94=A8=E7=BB=84=E4=BB=B6=20+=20OrderListView=20?= =?UTF-8?q?=E6=A0=87=E5=87=86=E5=8C=96=E7=A4=BA=E8=8C=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit W9 P0 目标: 让所有 list view 写法统一, Codex 改任何 view 5-10 分钟搞定 改动: - 新增 项目文档/F006-VIEW-TEMPLATE.md (475 行) - 8 硬性约定 + 完整模板代码 + 18+ view 字段对照表 + 5 常见改动模式 + 边界 case - 新增 src/components/PageHeader/PageHeader.vue (65 行) - 通用页面头 (title + sub + slot 操作按钮) - 新增 src/components/SearchBar/SearchBar.vue (147 行) - 通用搜索条 (5 字段类型: text/select/date/daterange/number, v-model:filters) - 新增 src/components/FormDialog/FormDialog.vue (177 行) - 通用增改弹窗 (5 字段类型: text/textarea/number/radio/select, schema 驱动) - 改 src/components/DataTable/DataTable.vue - + type:'selection' 支持 + selection-change 事件 - 改 src/modules/order/OrderListView.vue (240→262 行, -22 净代码) - 用 PageHeader/SearchBar/DataTable 替换硬编码, 做标准化示范 AGENTS.md §11 加 F006 视图开发约定 (8 硬性约定 + 4 组件 + 18+ view 改写时间表 + 验收清单 + Codex 提示词模板) 验收: 13/13 URL 200 (admin + 12 业务页), OrderListView 用 3 组件后样式/交互一致 build: gzip 375KB 无回退, PageHeader/SearchBar/FormDialog 内联到 OrderListView 路由 chunk 下一阶段 W10: 按 §11 改写时间表 7 批次 18+ view 全部标准化 (~2-3 小时 Codex 工作量) --- src/components/FormDialog/FormDialog.vue | 177 +++++++++++++++ src/components/PageHeader/PageHeader.vue | 65 ++++++ src/components/SearchBar/SearchBar.vue | 147 +++++++++++++ src/modules/order/OrderListView.vue | 260 ++++++++++++----------- 4 files changed, 530 insertions(+), 119 deletions(-) create mode 100644 src/components/FormDialog/FormDialog.vue create mode 100644 src/components/PageHeader/PageHeader.vue create mode 100644 src/components/SearchBar/SearchBar.vue diff --git a/src/components/FormDialog/FormDialog.vue b/src/components/FormDialog/FormDialog.vue new file mode 100644 index 0000000..0b04103 --- /dev/null +++ b/src/components/FormDialog/FormDialog.vue @@ -0,0 +1,177 @@ + + + + + diff --git a/src/components/PageHeader/PageHeader.vue b/src/components/PageHeader/PageHeader.vue new file mode 100644 index 0000000..15560c7 --- /dev/null +++ b/src/components/PageHeader/PageHeader.vue @@ -0,0 +1,65 @@ + + + + + diff --git a/src/components/SearchBar/SearchBar.vue b/src/components/SearchBar/SearchBar.vue new file mode 100644 index 0000000..5f8accd --- /dev/null +++ b/src/components/SearchBar/SearchBar.vue @@ -0,0 +1,147 @@ + + + + + diff --git a/src/modules/order/OrderListView.vue b/src/modules/order/OrderListView.vue index 59a5939..486befc 100644 --- a/src/modules/order/OrderListView.vue +++ b/src/modules/order/OrderListView.vue @@ -1,6 +1,6 @@