feat(i18n): sidebar menu locale, invoice keys, and related fixes

Sidebar/header: add utils/menuI18n.js (getMenuDisplayName) so menu labels use route meta.title via $t when available; update layout-sidebar and layout DOM matching.

Invoice: constants use i18nKey; list.vue computed invoiceStatusTabItems/invoiceSourceOptions; listSchema options; pointmall orderList uses $t(i18nKey) and invoiceStatusText.

Other: saleCategory PLATFORM-only switches; order detail show section for suppliers; store-shop, goods, decorate, wxapp, merchant, mallList, sp-picker, sellers route, datacube order, params; locale JSON updates.

Repo: stop ignoring .cursor (track skills/commit-summary/agents); minor package.json/lock and i18n lang index.
Made-with: Cursor
This commit is contained in:
zhangjing1
2026-04-03 14:46:06 +08:00
parent 35eac6ba75
commit 8d82817dd3
97 changed files with 4504 additions and 110 deletions

View File

@@ -0,0 +1,12 @@
## 本次变更总结
**时间**: 2026-03-06
**TB**: ECX-8057
**涉及文件**:
- src/components/sp-form/index.vue (修改)
**主要改动**:
- **sp-form**`.flex` 样式类微调,`align-items``center` 改为 `flex-start`,并增加 `gap: 10px`,表单项纵向对齐与间距更适配弹窗表单。
**一句话概括**: style: 表单项 flex 布局对齐与间距微调 (ECX-8057)

View File

@@ -0,0 +1,11 @@
## 本次变更总结
**时间**: 2026-03-06
**涉及文件**:
- src/view/decorate/wgts/wgt_fullSlider/sliderDialog.vue (修改)
**主要改动**:
- **全屏轮播挂件弹窗**:与 wgt_slider 一致,表单项统一增加 `flex: true`(媒体类型、视频/图片地址、自动播放、离场视频交互、蒙层及蒙层宽高与位置、更多链接等),使用 flex 布局展示。
**一句话概括**: feat: 全屏轮播挂件弹窗表单项改用 flex 布局

View File

@@ -0,0 +1,14 @@
## 本次变更总结
**时间**: 2026-03-09
**需求单号**: ECX-8039
**涉及文件**:
- src/components/sp-picker/pickers/picker-coupon.vue (修改)
**主要改动**:
- 优惠券选择器与列表页一致:增加「创建店铺」「适用店铺」两列,展示逻辑与 coupon.vue 一致创建店铺source_id≤0 或无名称显示平台,否则显示 source_name/store_name/shop_name适用店铺use_all_shops==1 显示全部店铺,否则显示指定店铺);原单列「店铺」(source_name) 已移除。
- i18nconfig.title 由硬编码「选择优惠券」改为 i18n key 7039e9c5.45bcee,与 created() 中 $t 一致。
**一句话概括**: feat: 优惠券选择器增加创建店铺/适用店铺列并做 i18n (ECX-8039)

View File

@@ -0,0 +1,16 @@
## 本次变更总结
**时间**: 2026-03-09
**TB**: ECX-8064
**涉及文件**:
- src/i18n/locales/zh-CN.json (修改)
- src/i18n/locales/en.json (修改)
- src/i18n/locales/ar.json (修改)
**主要改动**:
- i18n补全普通订单列表导出成功提示的翻译 key。
- 在 zh-CN、en、ar 中新增 `c95ea121.3e1ddd`,对应「已加入执行队列,请在设置-导出列表中下载」及英/阿译文。
- 用于 `src/view/mall/trade/normalorders/list.vue` 中导出成功提示,修复该 key 未翻译的问题。
**一句话概括**: i18n: 补全 c95ea121.3e1ddd 翻译 (ECX-8064)

View File

@@ -0,0 +1,18 @@
## 本次变更总结
**时间**: 2026-03-09
**需求单号**: ECX-8068
**涉及文件**:
- src/view/member/members/tags.vue (修改)
- src/view/member/members/comps/CompAddTag.vue (新增)
- src/view/member/members/comps/CompTagList.vue (新增)
**主要改动**:
- 会员标签页由「单标签」管理改为「标签组」管理:列表改为调用 `/member/tag-group` 接口,使用 SpFinder 展示标签组列表,搜索区改为 SpFormPlus + keyword 关键词。
- 抽离新建/编辑弹窗为子组件 CompAddTag支持标签组名称、多标签名称/背景色/字体色、校验组名必填且≤15 字、至少一个标签、编辑时删除标签deleteids通过 submit/close 与父页联动。
- 新增 CompTagList标签列表展示与可选「添加」输入、可选选中态供列表列或其它场景复用。
- tags.vue 精简:移除原 el-table/分页及内联添加编辑弹窗,删除大量注释代码,主流程为搜索 → 新建标签组 → Finder 列表展示与操作。
**一句话概括**: feat: 会员标签页改为标签组管理,抽离 CompAddTag/CompTagList (ECX-8068)

View File

@@ -0,0 +1,14 @@
## 本次变更总结
**时间**: 2026-03-09
**需求单号**: ECX-8069
**涉及文件**:
- src/layout/basic/layout-sidebar.vue (修改)
**主要改动**:
- 三级菜单-多开保持:路由切换时不再调用会关闭其他二级菜单的 `openSubMenu`,改为新增 `ensureSubMenuOpen(menuToOpen)`,仅确保当前路由所在父级二级菜单展开,不折叠其他已展开的二级菜单;`updateMenuState()` 改为调用 `ensureSubMenuOpen`,解决「展开两个二级菜单后点击任意三级菜单会导致另一个二级被收起」的问题。
- 当前路由父级不收起:二级菜单 title 插槽内增加 `@click="handleSubmenuTitleClick(...)"`,当前路由所在父级且已展开时 `preventDefault`/`stopPropagation`,避免点击标题收起;`handleMenuClose` 中若被关闭项为当前路由父级则直接 return不将其从 `openedMenus` 移除。
**一句话概括**: fix: 三级菜单支持多开且当前路由父级不自动收起 (ECX-8069)

View File

@@ -0,0 +1,16 @@
## 本次变更总结
**时间**: 2026-03-09
**需求单号**: ECX-8070
**涉及文件**:
- src/components/sp-form/index.vue (修改)
- src/view/decorate/wgts/wgt_fullSlider/sliderDialog.vue (修改)
- src/view/decorate/wgts/wgt_slider/sliderDialog.vue (修改)
**主要改动**:
- sp-form移除表单项的 flex 布局支持(删除 .flex 样式及 form-item 的 flex class 绑定);表单项支持按项设置 labelWidthitem.labelWidth 或组件 labelWidth
- 装修轮播/全屏轮播:两个 sliderDialog 的 SpForm 增加 label-position="left";表单配置中移除或清空各表单项的 flex: true改为依赖 label 左对齐布局。
**一句话概括**: refactor: 表单移除 flex 布局,装修轮播弹窗改为 label 左对齐 (ECX-8070)

View File

@@ -0,0 +1,18 @@
## 本次变更总结
**时间**: 2026-03-09
**需求单号**: ECX-8079
**涉及文件**:
- src/i18n/locales/zh-CN.json (修改)
- src/i18n/locales/en.json (修改)
- src/i18n/locales/ar.json (修改)
- src/view/mall/pointsmalltrade/shipping/add.vue (修改)
**主要改动**:
- i18n 重复 key 修复zh-CN.json 中 `d41d8cd9.e5f6g7` 曾出现两次,分别对应「已加入执行队列,请在设置-导出列表中下载」与「卖家承担运费」,后者覆盖前者导致自营商品导出成功时误提示「卖家承担运费」。
- 为「卖家承担运费」新增独立 key `d41d8cd9.f8g9h0`,在 zh-CN / en / ar 三语中均增加该 key`d41d8cd9.e5f6g7` 仅保留导出队列提示文案及对应英/阿翻译。
- 积分商城运费模板页 pointsmalltrade/shipping/add.vue两处「卖家承担运费」由 `$t('d41d8cd9.e5f6g7')` 改为 `$t('d41d8cd9.f8g9h0')`
**一句话概括**: fix: 修复 d41d8cd9.e5f6g7 重复 key导出成功提示与卖家承担运费分离 (ECX-8079)

View File

@@ -0,0 +1,13 @@
## 本次变更总结
**时间**: 2026-03-09
**TB**: ECX-8086
**涉及文件**:
- src/view/decorate/index.vue (修改)
**主要改动**:
- 装修:店铺装修(scene=1003) 也展示「页面设置」挂件。
- 将 headerVisible 从仅 1001 展示改为 1001、1003 均展示页面设置1007 分类模版等仍不展示。
**一句话概括**: feat(decorate): 店铺装修 scene=1003 支持页面设置 (ECX-8086)

View File

@@ -0,0 +1,20 @@
## 本次变更总结
**时间**: 2026-03-09
**TB**: ECX-8088
**涉及文件**:
- src/components/sp-picker/pickers/picker-regactivity.vue (修改)
- src/i18n/locales/zh-CN.json (修改)
- src/i18n/locales/en.json (修改)
- src/i18n/locales/ar.json (修改)
**主要改动**:
- 活动报名挂件picker-regactivity
- 接口由 `easylist` 改为 `list`/selfhelp/registrationActivity/list
- 列表新增「活动状态」列status_name并做 i18nkey ffeca7a9.1181a5)。
- 弹窗标题改为通过 config 的 key 在 created 中解析,去掉硬编码中文。
- 模板名称列注释隐藏beforeSearch 中 is_valid 参数注释掉。
- i18nzh-CN/en/ar 新增「活动状态」文案ffeca7a9.1181a5)。
**一句话概括**: feat(picker): 活动报名挂件改 list 接口、加状态列并 i18n (ECX-8088)

View File

@@ -0,0 +1,15 @@
## 本次变更总结
**时间**: 2026-03-09
**TB**: ECX-8089
**涉及文件**:
- src/i18n/locales/zh-CN.json (修改)
- src/i18n/locales/en.json (修改)
- src/i18n/locales/ar.json (修改)
**主要改动**:
- i18n模版装修「设置路径」弹窗中将「秒杀」改为「限时特惠」。
- 文案 keyd81d8932.55c758。zh-CN 改为「限时特惠」en 改为「Limited-time offer」ar 改为「عرض محدود الوقت」。仅展示文案调整,逻辑与接口未改。
**一句话概括**: i18n: 设置路径弹窗「秒杀」改为「限时特惠」(ECX-8089)

View File

@@ -0,0 +1,25 @@
## 本次变更总结
**时间**: 2026-03-09
**涉及文件**:
- src/view/decorate/wgts/wgt_classify/config.js (修改)
- src/view/decorate/wgts/wgt_contentPartition/config.js (修改)
- src/view/decorate/wgts/wgt_coupon/config.js (修改)
- src/view/decorate/wgts/wgt_goods/config.js (修改)
- src/view/decorate/wgts/wgt_group/config.js (修改)
- src/view/decorate/wgts/wgt_hotranking/config.js (修改)
- src/view/decorate/wgts/wgt_hotzone/config.js (修改)
- src/view/decorate/wgts/wgt_locationModule/config.js (修改)
- src/view/decorate/wgts/wgt_ranking/config.js (修改)
- src/view/decorate/wgts/wgt_shop/config.js (修改)
- src/view/decorate/wgts/wgt_speedkill/config.js (修改)
- src/view/decorate/wgts/wgt_store-alphabet/config.js (修改)
**主要改动**:
- 装修挂件decorate/wgts在 12 个 wgt 的 config.js 中,为 transformIn 与 transformOut 统一补全 id 透传。
- transformIn在返回对象中增加 `id: v?.id`,保证入参 id 带入组件内部。
- transformOut在 pickBy 映射中增加 `id: 'id'`,保证保存/上报数据带 id。
- 涉及 wgtcontentPartition、locationModule、classify、coupon、goods、group、hotranking、hotzone、ranking、speedkill、store-alphabet、shop。
**一句话概括**: feat(decorate): 装修挂件 transformIn/transformOut 统一透传 id

View File

@@ -0,0 +1,13 @@
## 本次变更总结
**时间**: 2026-03-09
**涉及文件**:
- src/components/sp-rich-text/index.vue (修改)
**主要改动**:
- 富文本SpRichText图片上传修复点击上传按钮报错 `Cannot read properties of undefined (reading 'abstract')`
- 原因uploader 模块内使用 `Vue.prototype.$picker.image()`getter 的 this 为 Vue.prototype导致 picker 弹窗的 parent 非有效组件实例Vue initLifecycle 读 parent.$options.abstract 时报错。
- 修改:改为使用 `this.$root.$picker.image()`,从当前组件树的根实例取 $picker保证 parent 为合法 Vue 实例。
**一句话概括**: fix: 富文本图片上传改用 $root.$picker 修复 initLifecycle 报错

View File

@@ -0,0 +1,13 @@
## 本次变更总结
**时间**: 2026-03-09
**涉及范围**:
- ESLint --fix 自动修复(约 421 个 .vue/.js 文件)
- 会员标签页及子组件 i18ntags.vue、CompAddTag.vue、CompTagList.vue + zh-CN/en/ar
**主要改动**:
- **ESLint 自动修复**:对 src 执行 `eslint --ext .js,.jsx,.vue --fix`,批量修复 vue/html-self-closing 等可自动修复规则(如 void 元素 `<img/>``<img>`、非 void 元素自闭合等),涉及 components、view、views、layout 等大量文件。
- **会员标签 i18n**tags.vue 搜索/按钮/列名/确认与消息文案改为 $t()searchFormItems 改为 computedCompAddTag.vue 弹窗标题、表单项、校验文案、按钮改为 $t()CompTagList.vue 占位符与「+ 添加」改为 $t()。zh-CN/en/ar 新增 ec391ebb.*、a2bf2d04.*、45a63912.* 等 key。
**一句话概括**: chore: ESLint --fix 批量修复 + 会员标签页及 CompAddTag/CompTagList i18n

View File

@@ -0,0 +1,16 @@
## 本次变更总结
**时间**: 2026-03-09
**涉及文件**:
- src/components/sp-video-picker/index.vue (修改)
- src/view/mall/marketing/storewhitelist.vue (修改)
**主要改动**:
- **富文本/商品视频**SpVideoPicker 上传视频后支持删除。
- 删除图标改为 el-icon-circle-close补充样式与 hover并 stopPropagation 避免误触;移除 render 中的 console.log。
- **店铺白名单**:导出与列表勾选。
- 选择列移至表格第一列并设宽保证勾选框可见tableList 初始为 []selectMobile 初始为 []。
- 导出逻辑:有勾选时传 search_mobile 导出选中项,无勾选时按当前筛选条件导出全部,不再提示「请选择数据」;去掉导出处的 console.log。
**一句话概括**: fix: 商品视频可删除 + 店铺白名单勾选列与导出逻辑优化

View File

@@ -0,0 +1,20 @@
## 本次变更总结
**时间**: 2026-04-02
**涉及文件**:
- `src/view/financial/invoice/constants.js`(修改)
- `src/view/financial/invoice/list.vue`(修改)
- `src/view/financial/invoice/listSchema.js`(修改)
- `src/view/financial/invoice/invoiceTax.vue`(修改)
- `src/view/financial/invoice/information.vue`(修改)
- `src/view/applications/pointmall/orderList.vue`(修改)
**主要改动**:
- 发票 `constants`:列表项由 `label`/`title` 存 i18n key 改为统一字段 **`i18nKey`**,并补充注释说明须通过 `$t` 展示。
- 发票列表页:用计算属性 **`invoiceStatusTabItems`**、**`invoiceSourceOptions`** 生成已翻译的 `label``typeList` 统一为 `label` 字段。
- 发票 `listSchema` 弹窗选项改为 `vm.$t(item.i18nKey)`,移除未使用的 `invoice_source_arr` 导入。
- `invoiceTax.vue` / `information.vue`:删除未使用的 `status` 引用。
- 积分商城 `orderList.vue`:开票状态下拉 `:label="$t(item.i18nKey)"`;表格列用 **`invoiceStatusText`** 经 `$t` 展示状态文案(修复此前直接输出 key 的问题)。
**一句话概括**: 发票开票状态枚举改为 i18nKey列表/弹窗/积分订单列表统一用 $t 展示文案

View File

@@ -0,0 +1,11 @@
## 本次变更总结
**时间**: 2026-04-02
**涉及文件**:
- `src/view/mall/trade/order/detail/index.vue`(修改)
**主要改动**:
- 订单详情页某卡片区块(含表头 `3cdfcea1.954493` 与下方 `card-panel`)去掉 **`v-if="!IS_SUPPLIER()"`**,供应商端登录时也会展示该区块(此前仅非供应商可见)。
**一句话概括**: 订单详情:供应商端展示原隐藏的卡片区块

View File

@@ -0,0 +1,13 @@
## 本次变更总结
**时间**: 2026-04-02
**涉及文件**:
- `src/view/goods/saleCategory.vue` (修改)
**主要改动**:
- 销售分类页:在 **PLATFORM 版本**`VERSION_PLATFORM()` 为真)下隐藏「前端是否展示」总开关、表格「前台是否显示」列,以及弹窗内对应表单项。
- `mounted` 中仅在非 PLATFORM 时调用 `fetchSaleableFilter()`,避免多余接口请求。
- 去掉未使用的 `@/utils` 导入(展示控制仍使用原型上的 `VERSION_PLATFORM()` 等)。
**一句话概括**: 销售分类PLATFORM 版本隐藏前端展示相关开关与列

View File

@@ -0,0 +1,24 @@
# Commit 约定(可选)
本文件可选。若存在,生成 commit message 时会参考以下约定。
## 前缀
- `feat:` 新功能
- `fix:` 修复
- `refactor:` 重构(不改变行为)
- `i18n:` 国际化/文案
- `style:` 样式、格式(非逻辑)
- `chore:` 构建、配置、杂项
- `docs:` 文档
## 格式
- 标题首行 ≤ 50 字,使用祈使句(如「添加 xxx」而非「添加了 xxx」
- 需要时在 body 中列出主要改动点。
## 示例
```
feat: 装修挂件 wgtName 改为 i18n.t() 并补全导入
```

View File

@@ -0,0 +1,7 @@
## 最近一次变更
**时间**: 2026-04-02
**文件**: `src/view/mall/trade/order/detail/index.vue`
**简述**: 移除订单详情中某 el-card 表头与面板的 `!IS_SUPPLIER()` 条件,供应商账号也可看到该区块。