Sisyphus
|
d4cda618b8
|
fix(F006-W17.8.1): 表格撑满容器 (1920 视口)
用户反馈: 集成管理-应用列表 (openapi/app) 在 1920 视口下右侧大面积留空,
操作列按钮显示不全。参考用户列表 (图二) 已撑满做统一标准。
根因 (W17 早期遗留):
- .rr-openapi-app { max-width: 1400px } 锁死容器宽度
- 适合 1440 视口, 但 1920 视口暴露问题
- 用户列表用 .rr-page { max-width: 100% } 早已不受限
修法 (统一标准):
- openapi/app .rr-openapi-app { max-width: 1400px } → 100%
- DataTable 组件增强: 加 tableRef + lastColMinWidth 状态
* mounted/resize/data 变化时测量: 容器宽 vs 列总宽
* 差额自动加到最后一列 minWidth (统一标准: 视口撑满)
* 即使其他页面 max-width 仍写 1400px, 也能通过 JS 撑满
W17.8 列宽调整 (W17.8 已 commit, 现 +W17.8.1):
- 应用名称 minWidth 180 → 220
- AppID minWidth 220 → 240
- 新增最后调用列 (lastUsedAt, width 170)
- 操作列 width 140 → 160 + align: center + fixed: right
Playwright 1920 视口实测:
- 用户列表 (参考): 1632px 表格 / 28px 右边距 ✅
- 应用列表 (修后): 1630px 表格 / 29px 右边距 ✅ (与参考页一致)
操作列按钮完整性:
- 行 0/2/3 (status=0/1): [详情, 重发二维码] + ⋯ ✅
- 行 1 (status=2): [详情, 删除] (无⋯, 符合规则) ✅
|
2026-07-09 15:33:42 +08:00 |
|
Sisyphus
|
87e278749b
|
style(F006-W17.7): list 页表头统一居中显示
- DataTable 组件 header-cell-style textAlign: left → center (覆盖大多数 list 页)
- 3 个裸 el-table list 页补 header-cell-style (categoryGood/region/coupon)
- 单元格内容对齐不变 (仍 left), 只动表头
|
2026-07-09 14:56:31 +08:00 |
|
Sisyphus
|
63b32e999f
|
fix(F006-W17.6.1): TableActions 收紧间距 + 理顺布局逻辑
用户反馈: 按钮没显示全 + 间距太大不美观
间距收紧:
- el-button text padding 0 8px → 0 4px (默认太松散)
- .rr-table-actions gap 4px → 0 (按钮紧贴)
- ⋯ 触发器 26px → 22px (更小巧)
- 实测: 按钮间距 0px, 按钮到⋯ 间距 2px
布局逻辑理顺:
- 多个 computed (visibleActions/isCollapsing/primaryActions/moreActions)
→ 合并为单一 layout computed ({primary, more})
- 减少中间依赖, 更可靠
Playwright 验证通过 (订单页):
- status=1 行: [详情,付款] + ⋯ (4按钮前2显)
- status=4 行: [详情,退款,打印] (3按钮全显无⋯)
- status≥5 行: [详情,打印] (2按钮无⋯)
|
2026-07-09 14:31:53 +08:00 |
|
Sisyphus
|
2f7ec67903
|
refactor(F006-W17.6.1): TableActions 按数量自动收纳 (≤3 全显示, >3 前2+⋯)
用户反馈: 操作列只显示一个文字按钮+⋯ 不方便, 期望按按钮数量智能显示
- 过滤 when 后 ≤3 个: 全部显示文字按钮, 不显示 ⋯
- 过滤 when 后 ≥4 个: 前 2 个常驻文字按钮 + ⋯ (收纳剩余)
- 默认 visibleCount=2 (可配置)
TableActions API 调整 (W17.6 → W17.6.1):
- 原来: :primary=[A] + :more=[B,C,D] (人为主次划分)
- 现在: :actions=[A,B,C,D] (按数组顺序自动前 2 显 + ⋯)
16 文件改动 (1 组件 + 15 view 调用方式):
- 15 view 合并 :primary/:more → :actions
- 3 按钮页 (10 个): 现在全部显示文字按钮无 ⋯, 体验更直接
- 4/5 按钮页 (5 个): 前 2 显 + ⋯, 比之前详情+⋯更直观
|
2026-07-09 13:55:34 +08:00 |
|
Sisyphus
|
cb2790d318
|
refactor(F006-W17.6): 操作列主次分离 (15 个 list 页 + TableActions 组件)
- 新建 TableActions 通用组件 (src/components/TableActions/, ~120 行)
* primary 常驻主操作 (el-button text)
* more 次操作收进 ⋯ el-dropdown (MoreFilled 触发)
* label/type 支持 string 或函数 (覆盖动态: 上架/下架, 禁用/启用)
* when 条件渲染 (替代散落各处的 v-if)
* danger 项自动 divided + 红字
* 复用 global-popper.scss 已铺好的 el-dropdown 主题
- 15 个按钮≥3 的 list 页改造 (按钮≤2 的 27 页不动):
5 按钮: GoodListView/ServiceGoodListView/CouponListView
4 按钮: OrderListView/OpenAppListView
3 按钮: user/UserListView/CompanyAccountListView/LabelListView/
ScheduleListView/sys/UserListView/EnterpriselevelListView/
OrderCommentListView/PromoterListView/CategoryGoodListView/
RegionListView
- 列宽统一 240/280/220/200/320 → 140 (固定窄列)
- 清理 4 个 rr-actions 页不再使用的 .rr-actions/.rr-actions__sep 样式
- 业务逻辑全保留 (onClick 函数/二次确认/条件渲染逻辑)
- OrderListView 退款条件修正: [1,2,3,4].includes → ===4 (原 v-else-if 链语义)
|
2026-07-09 12:08:48 +08:00 |
|
Sisyphus
|
6d6ff30624
|
fix(F006-W17.4.2): DataTable 表头全局强制不换行 + 单位列加宽到 90
用户反馈: 单位列"单/位"两字被挤压换行, 强调"以后标题行的规范不能换行"
根因:
1. DataTable header-cell-style 虽设 whiteSpace:"nowrap", 但 el-table 在列宽挤压下
内部 .cell 容器仍会被 word-break 强制换行 (element-plus 历史 bug)
2. 单位列 width 80 不够, 标题"单位"两字被压
修法:
1. DataTable 加全局 :deep CSS 兜底
:deep(.el-table__header-wrapper .cell) { white-space: nowrap !important; overflow: visible !important }
:deep(.el-table th .cell) { word-break: keep-all }
→ 所有 list 页表头统一不换行
2. 单位列 width 80 → 90, minWidth 80 → 90 (保底宽度足够显示"单位"两字)
效果:
- 全局所有用 DataTable 的页面 (User/Order/Inquiry/Finance/Good/Service 等 33 个)
表头都不换行, 符合规范"标题行不换行"
- 单位列文字"单位"完整在一行
|
2026-07-07 18:38:19 +08:00 |
|
Sisyphus
|
08cf2067db
|
fix(F006-W17.3.6): pager 字号跟内容行统一 13px + DataTable 默认 limit=10
|
2026-07-07 16:13:47 +08:00 |
|
Sisyphus
|
f97a0fb049
|
feat(components): 设计细节优化 (表格圆角/按钮尺寸统一/扁平阴影) W17.2.2
|
2026-07-07 13:07:22 +08:00 |
|
Sisyphus
|
fe07612f29
|
feat(components): 按 ui-preview-v2.html 模板 v2 整改 (PageHeader扁平/SearchBar无label/ListTabs pill/Table uppercase左对齐) W17.2.1
|
2026-07-07 13:02:07 +08:00 |
|
Sisyphus
|
7724b4a3b1
|
feat(components): 通用组件设计规范整改 (ListTabs/PageHeader白卡/SearchBar chip/DataTable var/Content bg) W17.2
|
2026-07-07 12:56:11 +08:00 |
|
Sisyphus
|
675d27dd2f
|
fix(F006-W17): nginx proxy_hide_header WWW-Authenticate 去除浏览器原生认证弹窗
根因: Spring Security /auth/oauth/token 401 响应带 WWW-Authenticate: Basic realm="oauth2/client"
浏览器拦截该响应头后弹出原生 HTTP Basic Auth 对话框("身份验证"),
在 axios/JS 处理响应之前就触发,前端代码无法拦截.
修法: nginx-vue.conf /auth/ location 加 proxy_hide_header WWW-Authenticate;
同时 PlaceholderView/AppLayout fetch 调用加 credentials: omit 兜底.
验证: curl 测试 401 响应已无 WWW-Authenticate 头,登录流程不再触发浏览器弹窗.
|
2026-07-07 11:03:15 +08:00 |
|
Sisyphus
|
04d3992c52
|
feat(F006-W15): 订单售后/退款/支付回调 3 view 接前端 max-effort mock + 同步 DataTable selection
|
2026-07-07 09:58:21 +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 |
|
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
|
5b86842f65
|
fix(F006-W5xx+1): 暗主题弹窗仍糊根因 - :deep scoped 不匹配 + 缺 --el-popper-bg-color-light
- ThemePicker.vue 改 :deep() → :global() 写无 scoped 全局规则
(根因: EP el-popper 容器没有 [data-v-xxx] 属性,scoped 规则匹配不到)
- tokens.scss 补 --el-popper-bg-color-light / --el-border-color-light /
--el-fill-color-blank / --el-bg-color-overlay(EP 弹窗实际读这些)
- 实测验证: 弹窗 bg rgb(255,255,255)→rgb(30,41,59) #1E293B dark ✅
文字 rgb(51,65,85)→rgb(248,250,252) #F8FAFC dark ✅
|
2026-07-04 17:29:07 +08:00 |
|
Sisyphus
|
e1cd69c7e5
|
fix(F006-W5.x.x+1 v2): ThemePicker 弹窗内文字 !important + [data-theme=dark] 兜底 (弹窗红框 2 仍糊)
- .rr-theme-picker-title/name/hint/active 加 !important 强制穿透
- [data-theme=dark] :deep() 二次兜底 (即使浏览器 cache 旧版, 弹窗也清晰)
- dist 已重建 (industry-frontend:latest 24f9c2204173)
|
2026-07-04 16:51:50 +08:00 |
|
Sisyphus
|
01bd82deb3
|
fix(F006-W5.x.x+1): 补 EP popper 系列变量 + :deep() 强制修暗主题下面包屑/主题弹窗文字糊
W5.x.x 验收发现 2 处仍糊:
- 红框 1: 顶栏面包屑 工作台 > 数据看板(暗主题)
- 红框 2: 主题切换弹窗 切换主题/科技蓝/.../自动持久化(暗主题)
根因:
1. W5.x.x 覆盖 EP 派生色时漏了 --el-popper-bg-color(EP 2.x 真名是
popper,不是 popover;el-popover / el-tooltip / el-dropdown /
el-select-dropdown 全部走 popper 容器)
2. el-breadcrumb 内部选择器优先级高,scoped :root 重定向的
--el-text-color-* 被它打回
3. ThemePicker 弹窗被 teleport 出去,scoped 选择器穿透不了
popper 容器
修法:
1. tokens.scss 增 6 个 --el-popper-* 系列变量
2. AppLayout.vue 末尾增 :deep(.el-breadcrumb__inner) +
:deep(.el-breadcrumb__separator) + !important
3. ThemePicker.vue 末尾增 :deep(.el-popper.is-light) + 内部
el-popper__arrow / el-popper__title + !important
验证: 切到 暗夜黑 主题,4 项验收清单全过;切回 科技蓝/中国红/
深空紫 无回归
|
2026-07-03 22:45:28 +08:00 |
|
Sisyphus
|
0f8a08888f
|
fix(F006-W5.x.x+1): 补 EP popper 系列变量 + :deep() 强制修暗主题下面包屑/主题弹窗文字糊
W5.x.x 验收发现 2 处仍糊:
- 红框 1: 顶栏面包屑 工作台 > 数据看板(暗主题)
- 红框 2: 主题切换弹窗 切换主题/科技蓝/.../自动持久化(暗主题)
根因:
1. W5.x.x 覆盖 EP 派生色时漏了 --el-popper-bg-color(EP 2.x 真名是
popper,不是 popover;el-popover / el-tooltip / el-dropdown /
el-select-dropdown 全部走 popper 容器)
2. el-breadcrumb 内部选择器优先级高,scoped :root 重定向的
--el-text-color-* 被它打回
3. ThemePicker 弹窗被 teleport 出去,scoped 选择器穿透不了
popper 容器
修法:
1. tokens.scss 增 6 个 --el-popper-* 系列变量
2. AppLayout.vue 末尾增 :deep(.el-breadcrumb__inner) +
:deep(.el-breadcrumb__separator) + !important
3. ThemePicker.vue 末尾增 :deep(.el-popper.is-light) + 内部
el-popper__arrow / el-popper__title + !important
验证: 切到 暗夜黑 主题,4 项验收清单全过;切回 科技蓝/中国红/
深空紫 无回归
|
2026-07-03 21:04:29 +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 |
|