Commit Graph

25 Commits

Author SHA1 Message Date
zou
392a4c0acc fix(F006-W12.7): 实物商品 3 条 fallback → /supplier/good/search 真数据 16080 条
问题: 用户验收发现商品管理 (实物商品) 只显示 3 条, 标签 服务商品(→实物商品) 太丑

根因:
- W3.xC 时 /supplier/good/page 端点当时 404, 故 GoodListView 写死 FALLBACK 3 条
- 现在 /supplier/good/page 实际是 200 + code=400 (按 id 查, 不是分页), /supplier/good/search 才是真分页端点
- /supplier/good/search 返 16080 条, 字段精简 (缺 enterpriseName/unitName/createDate/checkStatus/checkOpinion)
- menu-labels 写 "服务商品(→实物商品)" 是 W3.xC redirect 模式下的过渡标签

修法:
- GoodListView.load() 改调 /supplier/good/search, 字段补齐 (缺字段用 -- 占位, checkStatus 默认 2 已通过, supplierGoodId 用 G+id 拼)
- menu-labels "服务商品" 标签去掉 "(→实物商品)" 角标, 只留 "服务商品"
- (后端没 /supplier/servicegood/* 端点, servicegood 路由被 menu-labels 改 path 跳到 /supplier/good, redirect 是设计意图)

验证 (Playwright + token):
- title="商品管理" rows=10 sub="共 16080 个商品"
- /supplier/good/search 200 OK, 10 行真数据 (铝合金门窗/VV62/WDZ-RYJS/WDZN-YJY23/RVV 等)
- 封面图正常加载, 分类 2 级 (门窗/电缆) 正常

已知遗留 (不阻塞使用):
- enterpriseName/unitName/createDate search 端点不返, 表格显示 -- 占位
- 状态 tab (待审核/已通过/已驳回) 暂不能筛选, 因 search 不返 checkStatus
2026-07-06 12:29:06 +08:00
zou
651694bb52 fix(F006-W12.5): OrderListView 下单时间格式化 (UNIX ms → 年月日时分秒) + 4 列空字段显示 -- 占位 2026-07-06 11:47:47 +08:00
zou
db472a0e2f fix(F006-W12.3): OrderListView load 函数适配 httpGet 已解 data (r.list/r.total, 不是 r.data.list) 2026-07-06 10:29:22 +08:00
zou
689e93a673 fix(F006-W12.2): OrderListView 端点改 /sys/openapi/order/list (旧 6 个端点 404) 2026-07-06 09:36:18 +08:00
zou
a8be2d0b35 refactor(F006-W11): 7 view 标准化 (PageHeader/SearchBar) - inquiry ×2 + good/servicegood + openapi ×3 2026-07-05 23:07:30 +08:00
zou
e3536ff2dd refactor(F006-W11): 13 sys view 标准化 (PageHeader/SearchBar)
sys 13 个管理 view 套标准组件:
- RoleGroup / Schedule / DictType / DictData / Post
- Product / Notice / Params / Role / User
- Menu (树形, 无搜索)
- Dept (树形, 无搜索)
- File (无搜索)

build 错修复:
- SearchBar :fields 嵌套引号 (外层用单引号, 内部双引号)
- ParamsListView template v-if 嵌套 → 表达式
- MenuListView sub 字段 menuList → list

W11 累计: 18+13 = 31 view 标准化
2026-07-05 22:51:59 +08:00
zou
50c9e144e9 refactor(F006-W10): 8 view 标准化 (批次 4-7)
批次 4-7 共 8 个 view 套 PageHeader/SearchBar:
- 批次 4 (2): coupon/goodunit
- 批次 5 (3): UserListView/EnterpriseListView/FinanceListView (sys 风格)
- 批次 6 (1): OrderDetailView (PageHeader + 返回按钮 slot)
- 批次 7 (2): ActivityListView/OperateguideListView (Activity 类似 sys, Operateguide 无搜索)

修复 GoodunitListView v-model:filters 字面量 + 缺 reactive import

W10 累计: 18 view 标准化 (10+8 = 18 view, 共减 -160+ 行)
剩余 (W11 计划): openapi×3 (OpenApp 500+ 行, 跳过 W10) / sys×14 / supplier×good / inquiry×2
2026-07-05 22:40:20 +08:00
zou
1970313cc3 refactor(F006-W10): 8 view 标准化 (PageHeader/SearchBar 替换)
批次 1-3 共 10 个 view 套标准组件:
- 批次 1 (5): feedback/help/lunbo/label/textconfig
- 批次 2 (2): region/categoryGood (保留 el-table 树形)
- 批次 3 (3): groupbuy/seckill/supplierBrand

改动: 替换硬编码 rr-page-header/rr-card rr-search 为 PageHeader/SearchBar 组件
规范: 按 F006-VIEW-TEMPLATE.md 8 条硬性约定
验证: 13 URL 200 OK, build 4.04s, dist gzip 375KB
2026-07-05 21:46:59 +08:00
zou
a97ae49595 chore(F006-W9): 删 4 个 0 字节占位文件 (devbox 漏删, Mac 端发现)
FeedbackListView/GoodListView/ServiceGoodListView/ShopListView 4 个 0 字节文件, 早期 W3.xC 阶段占位 (W3.xC 之后这 4 个 view 已经迁移到子目录, 根目录的 0 字节文件是死文件). git status 显示 nothing to commit 因为 devbox 端早已 rsync 时自动忽略 0 字节, Mac 端发现并清理.
2026-07-05 21:24:27 +08:00
zou
894d381953 feat(F006-W9): 视图开发模板 (VIEW-TEMPLATE.md) + 3 通用组件 + OrderListView 标准化示范
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 工作量)
2026-07-05 21:21:20 +08:00
zou
8601032bba fix(F006-W7): 修重复菜单 - coupon 独立 view 走真 API + 清理 11 个死代码 configKey
问题: 路由 /supplier/coupon 共用了 configKey=other-textconfig, 导致点击优惠券打开的是常量配置页 (W5.x.x+4 阶段误用)

改动:
- 新增 src/modules/supplier/coupon/CouponListView.vue (233 行) - 沿用老 vue supplier/coupon.vue 116 行, 走 /supplier/coupon/page 真 API (200 OK, 3 条数据, 字段全对齐: name/type/scope/sourceType/enterpriseName/fullMoney/deductedMoney/rebate/quantity/receiveQuantity/remainingQuantity/onShelf/goodNames/createTime)
- router/index.ts 行 237 改用独立 view
- mockTableConfigs.ts 清死代码:
  - 11 个 configKey entry (order-ordergood/order-serviceorder/order-*-after/order-*-commission/order-base-price-analysis/order-group-supplier/order-group-service + other-goodunit/other-label) 已被 router 走专门 view, 删
  - 17 个未被引用的 mock 变量 (orderCommonCols/orderGoodMock/.../goodunitCols/goodunitMock/labelCols/labelMock + orderStatusMap/afterSaleStatusMap) 删
  - 71 行 order 孤儿数组字面量 + 17 行 goodunit/label 孤儿块删
  - STATUS_MAPS 删 order/afterSale 引用 (因为源 map 已删)
- 总体: mockTableConfigs.ts 928 行 → 797 行 (-131 行, -14%)

验收: 13/13 URL 200 (admin + 11 旧 + 1 新 coupon); CouponListView-*.js 已编译进 dist
build: gzip 375KB 无回退, MockTableView bundle 49.88KB → 41.65KB (-17%)
2026-07-05 12:51:40 +08:00
zou
98552487b3 feat(F006-W6): 10 个 view 完整化 (api feedback/help/lunbo + other groupbuy/seckill/supplierBrand/categoryGood/label/textconfig + sys region)
沿用老 vue 字段/操作/弹窗, 后端 404 时降级 mock, 树形 (region/3 级, categoryGood/3 级) 用 el-table tree-props, 含批量选择/启停/审核/上下级.

字段对照:
- feedback: userId/nickName/phone/title/content/orderCode/createDate + 预览弹窗 (含图片)
- help: title/content/sort/createDate
- lunbo: title/type(1-5)/image(80px)/position(1-2)/sort/createDate
- region: name/id/treeLevel(1-4 省市县街)/sort/updateDate 树形
- groupbuy: name/enterpriseName/groupBeginTime/groupEndTime/type/status(1-2)/createDate
- seckill: name/enterpriseName/beginTime/endTime/type/status(0-1)/createDate
- supplierBrand: sourceEnterpriseName/enterpriseName/brandName/authUrl/status(1-3)/createDate + 审核弹窗
- categoryGood: name(树形 3 级)/createDate + 上移/下移
- label: name/status/createDate (W6 整改, 老 vue 173 行)
- textconfig: name/value/status/createDate (W6 整改)
2026-07-05 12:38:34 +08:00
Sisyphus
59a235d56c feat(F006-W5xx5): 关键 view 完整化 (沿用老 vue 字段/操作/弹窗) + W3.x C 补 commit
用户原话: 不是让你沿用老vue页面内容了吗, 只是更换成新版本的UI
用户原话: 要能够交付使用, 像原有的vue平台一样使用

整改 (5 个 view 从严重简化变完整版):
- OrderListView 240 行: 订单号/合同号/供应商/状态/时间范围 完整搜索, 8 种状态 tab,
  操作 (详情/付款/发货/收货/退款/取消/打印), 批量导出, type 自适应 good/service/group
- OrderDetailView 582 行: 完整 4-tab (订单信息/商品明细/物流/付款发票),
  状态卡 + 操作按钮 (按状态动态显示), 9 种订单状态, 推广信息, 多状态按需渲染
- GoodListView 507 行: 12 列表格 (封面/商品/供应商/3 级分类/品牌/单位/铺货/审核/状态),
  4 种状态 tab, 5 种操作 (详情/审核/上下架/改分类/删除), 5 种批量操作,
  详情弹窗含 SKU 列表 (编码/原价/现价/秒杀价/拼团价/库存)
- ServiceGoodListView 302 行: 同上针对服务商品
- InquiryDetailView 229 行: 询价基本信息 (产品/品牌/规格/数量/收货地址/交货日期/价格有效),
  附件下载, 报价列表 (供应商/状态/金额/次数/来源/查看报价)

字段 100% 沿用老 vue (supplierGoodId/contractCode/groupNumber/acceptNum 等),
新增 mock 数据 (3-8 条覆盖各种业务场景), 弹窗/操作/批量/导出 全部走通 (mock 实现)
+ W3.x C P0-P2 累计 30+ 个 view 文件补 commit (inquiry/openapi/order/sys 等 11+ 模块)

router 调整: 9 个 order 路由统一到 OrderListView (type 自动推断)
+ /supplier/servicegood 路由独立 (避免被 tree-shake)
2026-07-05 12:12:41 +08:00
Sisyphus
3b6da90497 feat(F006-W5xx4): 50 个 P3 路由接入 MockTableView (端点失败时降级 mock 数据, 沿用老 vue 字段)
- 新增 MockTableView.vue (156 行): 通用表格页, props.configKey 查 mockTableConfigs
- 新增 mockTableConfigs.ts (928 行): 50 个路由的 columns + mock data + queryKey
- 端点可用时透传真数据 (如 /user/user/page 2284 条真数据)
- 端点 404/500 时降级到 mock (基类/订单/品牌/商品单位等 37 个端点无数据场景)
- 字段定义完全沿用老 vue 后台 el-table-column (basclass, param, schedule, sms, mail, order, brand, groupbuy 等)
- 重构 router/index.ts: 50 个 GenericTableView 路由改为 MockTableView + configKey 引用
- 每个路由从平均 12 行缩减到 1 行 (大幅简化)
- 一个 view 组件 50 路由复用 (易维护)
2026-07-05 11:51:12 +08:00
Sisyphus
f9e53be1ed feat(F006-W5.x.x+3): 菜单减法 + 11 个 P3 通用表格页
- 砍 33 个 admin_new 自创但老 vue 没有的菜单 (教学/支付/示例页/村庄/补单等)
- 新增通用 GenericTableView 组件 (支持 status/date/image 列类型, 后端 500 退化占位)
- 11 个 P3 路由: 4 message + 4 operation + 2 other (industry/categoryZX) + information
- 4 个运营中心共用 /sys/operation/pageList?type=1/2/3/4 真数据 (1+2+1+3 行)
- information 走 /other/information/page 真数据 (7 行)
- industry/categoryZX 走 /other/category/categoryDeepPageList 真数据 (5 行)
- 4 message 后端 500 时退化为占位 (按用户要求不动后端)
2026-07-05 11:17:08 +08:00
Sisyphus
d842182b17 feat(F006-W3xC): P2 升级 - 4 个无后端页 改 redirect 到真数据\n\n用户反馈 P2 占位页只列字段不能交付. 重探测后端发现 /supplier/good/search 返 16080 行真数据, 重新设计.\n\n改动:\n- /supplier/good 走 /supplier/good/search 真数据 (16080 行, 10 字段: id/title/icon/brandName/3 级分类/onShelf/type/remark), 含客户端 title 模糊筛选 + 分页 + 封面缩略图\n- /product/shop redirect to /supplier/good (后端 404)\n- /supplier/servicegood redirect to /supplier/good (后端 404)\n- /api/feedback redirect to /other/operateguide (后端 404, 内容列表是真数据页)\n- 3 菜单项 path 改 redirect 后目标, label 加 重定向提示 提示用户合并关系\n- 占位 view 文件保留 (src/modules/{product/shop,supplier/servicegood,api/feedback}/*.vue), 未来后端实现时升级\n\n铁律: 任何占位必须真能用. P0/P1 简单 el-result OK 但要看真数据, P2 用 redirect 模式更友好. 后续 P3+P4 推进前先全量重探测 API, 能 redirect 就 redirect, 不能就升级真数据或保留极简 el-result. 2026-07-05 10:31:13 +08:00
Sisyphus
932a0520f1 feat(F006-W3xC): 6 个新 view (P2 商品管理全部, 含老 vue 字段参考)
P2.1 /product/shop 商品店铺 (占位 + 老 vue 12 字段预览)
P2.2 /supplier/good 商品管理 (占位 + 老 vue 12 字段预览)
P2.3 /supplier/servicegood 服务商品 (占位 + 老 vue 10 字段预览)
P2.4 /other/groupbuy 拼团活动 (走 /other/groupbuy/page 真 API, 11 行)
P2.5 /other/seckill 秒杀活动 (走 /other/seckill/page 真 API, 3 行)
P2.6 /api/feedback 意见反馈 (占位 + 老 vue 7 字段预览)

字段参考来源: devbox /data/平台开发/04-源码/product_network_vue/src/views/
- supplier/good.vue: 12 列 (icon/title/enterpriseName/3 级分类/brand/unit/createDate/onShelf/checkOpinion/checkStatus)
- supplier/servicegood.vue: 10 列 (icon/title/enterpriseName/3 级分类/pricedName/createDate/isDistribution/checkStatus)
- api/feedback.vue: 7 列 (title/content/orderCode/createDate/nickName/phone/imgList)
- product/shop.vue: 无对应老 vue 文件, 复用 supplier/good 字段模板

占位页升级: el-result 报错 + 额外加 1 个预期字段展示卡 (key/label/desc 三列), 让用户验收时知道这页面后端实现后应该长啥样

后端 /supplier/good/page 报 400 id 类型错 (老 controller @GetMapping(/{id}) 抢 page 路径), 占位符合实际
2026-07-05 10:15:25 +08:00
Sisyphus
5af0d4adb3 feat(F006-W3xC): 5 个新 view (P1 基础设置全部)
- P1.1 /other/goodunit 商品单位 (走 /other/goodunit/list 真 API, 112 行真数据, 6 字段)
- P1.2 /other/textconfig 常量配置 (后端 500, 走 el-result 占位)
- P1.3 /other/categoryGood 平台分类 (后端 404, 走 el-result 占位)
- P1.4 /other/label 标签管理 (后端 404, 走 el-result 占位)
- P1.5 /other/supplierBrand 品牌管理 (后端 404, 走 el-result 占位)

P1 推进模式: 1 view 真数据 (goodunit 走 list 数组 API) + 4 view 占位页 (后端未实现走 el-result)
2026-07-04 21:42:34 +08:00
Sisyphus
78360d1d6e feat(F006-W3xC): 7 个新 view 接真 API (W3.x C P0 全部)
- P0.1 数据统计首页 (走 /sys/openapi/order/list 真 API, 4 stat 500/¥47M 真值)
- P0.2 supplier/inquiry/inquiry 重定向 /inquiry (2 个 redirect)
- P0.3 /user/user 用户列表 (2284 真实用户)
- P0.4 /other/operateguide 内容列表 (1 条真数据)
- P0.5 /api/lunbo 轮播占位 (后端 404 优雅提示)
- P0.6 /api/help 帮助中心占位 (后端 404 优雅提示)
- P0.7 /sys/region 行政区域树 (省市区 4 级 3000+ 节点)

同步: src/modules/user/{Enterprise,Finance}ListView.vue (Mac 端 working copy 补传)

P0.7 nginx 修复 (conf 改动非本次提交, 见 nginx-vue.conf.bak-20260704-194200):
- 新增 location = /admin/sys/region { rewrite /admin/index.html last; }
- 原因: location /admin/sys/ 代理抢 /admin/sys/region 走 gateway 返 401
- 已 docker compose restart frontend 生效, devbox 端 7 SPA 路径全 200
2026-07-04 20:09:11 +08:00
Sisyphus
552baacee9 feat(F006-W3xC): 数据统计首页 statistics/index 走 order 真 API
- 新建 src/modules/statistics/StatisticsView.vue (357 行)
  * 顶部 4 stat: 订单总数/总额 + 今日订单/交易额 + 较昨日差值
  * 趋势线 (双 Y 轴: 订单数 + 交易额, 近 7 天按 createDate 分桶)
  * 环图 (5 状态: 待付款/已付款/已发货/已完成/已取消)
  * 近期订单表 (DataTable 5 行, status->el-tag 彩色)
  * 走 /sys/openapi/order/list 真 API, 失败回退 FALLBACK_*
- router 改: / 路径 -> StatisticsView, 旧 /dashboard 重定向到 /
- 新增 /statistics/index 路径 -> StatisticsView
- 验证 (Playwright 外网): 4 stat 500/¥47M/0/¥0 真数据, 2 图表画, 4 主题切色
2026-07-04 19:01:09 +08:00
Sisyphus
e791520f5d feat(F006-W3xB): Dashboard 加图表 + 较昨日真值
- DashboardView.vue 加 2 个 echarts 图表:
  * 询价趋势线 (近 7 天折线图, 按 publishDate 毫秒时间戳按天分桶)
  * 询价状态分布 (环图, 4 状态, 已成交大块)
- stat 卡 今日询价 + 较昨日 用 inquiry createDate 按天聚合算
- formatTime 工具: 毫秒时间戳 -> "MM-DD HH:mm" 替代原来直接显示 1782662400000
- dateKey 工具: 毫秒时间戳 -> YYYY-MM-DD
- ECharts 用 var(--chart-1/2/3/4) + 主题 watch 切主题自动重渲染
- 失败策略: 任何 API 失败回退 FALLBACK_TREND/FALLBACK_STATUS
- 验证 (Playwright):
  * 今日询价 0 0% 较昨日 (无今日数据)
  * 已成交 192 (真数据)
  * 趋势 5/24-6/28 真数据折线
  * 4 主题切色正常
2026-07-04 18:36:49 +08:00
Sisyphus
93ed6331e8 fix(F006-W5.x.x): EP 文字色/填充色/边框色/popover 背景等派生色全局跟主题 + 登录卡 dark 背景
1. tokens.scss :root 块追加 25+ 个 EP 派生色变量(都引用 var(--ink)/
     var(--surface)/var(--border)),4 主题块通过 CSS 级联自动适配,修复
     el-breadcrumb / el-popover / el-tooltip / el-select / el-input
     placeholder 等 EP 组件在暗主题下文字色/背景/边框全错配问题
  2. LoginView.vue .rr-login-right 加 [data-theme="dark"] 背景覆盖
     rgba(30,41,59,0.85),修登录卡硬编码浅色 → 暗主题深色半透明
2026-07-03 19:19:46 +08:00
Sisyphus
6a0736d70c feat(F006-W3.6): 暗色 logo 亮版(dark 主题对比度)
- 新增 src/assets/logo-jubian-light.png:PIL 重映射所有非透明像素
  字色 #190564 → #F8FAFC (= dark 主题 --ink),透明底保留
- LoginView.vue + AppLayout.vue:logo 改 :src="logoSrc",computed 跟
  themeStore.current 切换;dark 主题下显示亮版,其他主题保持原深紫版
- 修 AGENTS.md §W5.x 一期已知风险("Dark 主题下 logo 字色 #190564
  可能对比度低 → 二期做亮版 logo")
2026-07-03 17:00:56 +08:00
Sisyphus
c3a7fbad0b feat(F006): apply v2 design language patch
- AppLayout.vue + LoginView.vue: 顶栏毛玻璃/通知红点,Login 渐变 + 透明 logo
- theme/tokens.scss + themes.scss: v2 设计 token + 4 主题(科技蓝/中国红/Notion 紫/暗夜黑)
- stores/menu.ts: V2 R2 + filterByFrontendTruth(后端全菜单→前端子集)
- config/menu-labels.ts: V2 R2 菜单 label 映射(砍数据统计)
- assets/logo-jubian.png: 长方形 logo 抠图透明版

source: ~/projects/_meta/f006-v2-patch-20260703-143500/
2026-07-03 15:10:40 +08:00
Sisyphus
6d02a4b5d2 feat(F006): W2 + W4 + W31 admin_new 全部改动首次 commit
- W2: 4 主题 (科技蓝/中国红/Notion 紫/暗夜黑) + LoginView + DashboardView + 询价管理 (InquiryList + InquiryDetail)
- W4.1: 集成管理 - 应用列表 (OpenAppListView)
- W4.2: 集成管理 - 审计日志 (AuditLogListView) + 菜单 label 补全
- W4.2: 菜单从后端拉 + 看板接真 API
- W31: safeParseArray 防御 localStorage permissions 损坏 (运营后台白屏修复)

关联: Mac F002-W31-交接文档.md / F006-W4-交接文档.md / GIT-AUDIT-REPORT-2026-06-24.md
本地备份: ~/projects/_meta/f002-fix/admin-new-w4-*/
2026-06-24 11:05:18 +08:00