mirror of
https://gitee.com/ShopeX/ECShopX_admin-frontend
synced 2026-08-04 20:16:22 +08:00
chore: batch admin updates (i18n, tables, wx config, docs cleanup)
- Remove tracked .cursor commit-summary notes and resolve last-summary conflict - Invoice tax copy: management-category wording in zh/en/ar - Employee marketing list: Activity ID column + locale key bea3f44a.7a9e2d - Account staff list: related store tags column - Coupon list: creator store & shop scope columns; minor template spacing - Refund address: shop picker sends show_distributor_self=1 - Transfer review: bank row value stringified for select binding - External wx app page: drop data/computed duplicates; table minWidth; format template - Order navigation widget: default labels via i18n.t - package.json / lockfile: EOF newline Made-with: Cursor
This commit is contained in:
@@ -1,44 +0,0 @@
|
||||
# ECX-8097 阿拉伯语 RTL 样式与数据展示修复
|
||||
|
||||
## 问题描述
|
||||
- 管理端在阿拉伯语下,商品销售分类列表、编辑/添加分类弹窗存在样式与展示异常
|
||||
- 表单标签与输入左对齐、数字框按钮在右侧、弹窗底部按钮顺序不符合 RTL 习惯
|
||||
- 表格操作列按钮与箭头方向不符合从右到左阅读习惯
|
||||
- 切换语言后弹窗内表单文案未随当前语言更新
|
||||
|
||||
## 修改内容
|
||||
|
||||
### 1. `src/styles/lang-ar.scss`(阿拉伯语 RTL 全局样式)
|
||||
|
||||
**弹窗 (el-dialog)**
|
||||
- 关闭按钮置于右侧(`right: 20px; left: auto`)
|
||||
- 底部按钮区 `direction: rtl`、`text-align: right`,确定在右、取消在左
|
||||
- 底部按钮间距:`margin-right: 10px; margin-left: 0`
|
||||
|
||||
**弹窗内表单 (sp-dialog)**
|
||||
- RTL 下表单使用 `margin-left: 100px`、`margin-right: 0`,避免整体偏左
|
||||
- `el-form--label-right` 下表单项使用 flex + gap,保证标签与输入在 RTL 下对齐
|
||||
|
||||
**输入与数字框**
|
||||
- `.el-input__inner`、`.el-textarea__inner` 增加 `text-align: right`
|
||||
- `.el-input-number` 设置 `direction: rtl`,内部输入右对齐
|
||||
- `.el-input-number__decrease` / `__increase` 通过 `left: 1px; right: auto` 置于左侧
|
||||
|
||||
**表格**
|
||||
- `.el-table__body-wrapper td .cell` 增加 `direction: rtl`,操作列按钮从右到左排列
|
||||
|
||||
**消息框 (el-message-box)**
|
||||
- 关闭按钮置于右侧,与弹窗一致
|
||||
|
||||
(其余为既有 RTL 规则:设置路径/分类选择器、cascader、菜单、抽屉等)
|
||||
|
||||
### 2. `src/view/goods/saleCategory.vue`(销售分类页)
|
||||
|
||||
- 将 **categoryFormList** 从 `data` 改为 **computed**,使「分类名称」「排序」「上级分类」「分类图片」等标签与 placeholder 随当前语言(含阿拉伯语)响应式更新,切换语言后弹窗内文案正确。
|
||||
|
||||
## 影响范围
|
||||
- 仅当 `html[lang='ar-SA']` 或 `html[dir='rtl']` 时生效,其他语言无影响
|
||||
- 销售分类添加/编辑弹窗、所有使用 sp-dialog + el-form 的弹窗、表格操作列均受益于 RTL 样式
|
||||
|
||||
## 备注
|
||||
- 父分类名称(如「运动户外」)若仍显示为中文,需后端按语言返回分类名或前端做多语言映射,属数据/多语言方案,未在本单内实现。
|
||||
@@ -1,12 +0,0 @@
|
||||
## 本次变更总结
|
||||
|
||||
**时间**: 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)
|
||||
@@ -1,11 +0,0 @@
|
||||
## 本次变更总结
|
||||
|
||||
**时间**: 2026-03-06
|
||||
|
||||
**涉及文件**:
|
||||
- src/view/decorate/wgts/wgt_fullSlider/sliderDialog.vue (修改)
|
||||
|
||||
**主要改动**:
|
||||
- **全屏轮播挂件弹窗**:与 wgt_slider 一致,表单项统一增加 `flex: true`(媒体类型、视频/图片地址、自动播放、离场视频交互、蒙层及蒙层宽高与位置、更多链接等),使用 flex 布局展示。
|
||||
|
||||
**一句话概括**: feat: 全屏轮播挂件弹窗表单项改用 flex 布局
|
||||
@@ -1,14 +0,0 @@
|
||||
## 本次变更总结
|
||||
|
||||
**时间**: 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) 已移除。
|
||||
- i18n:config.title 由硬编码「选择优惠券」改为 i18n key 7039e9c5.45bcee,与 created() 中 $t 一致。
|
||||
|
||||
**一句话概括**: feat: 优惠券选择器增加创建店铺/适用店铺列并做 i18n (ECX-8039)
|
||||
@@ -1,16 +0,0 @@
|
||||
## 本次变更总结
|
||||
|
||||
**时间**: 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)
|
||||
@@ -1,18 +0,0 @@
|
||||
## 本次变更总结
|
||||
|
||||
**时间**: 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)
|
||||
@@ -1,14 +0,0 @@
|
||||
## 本次变更总结
|
||||
|
||||
**时间**: 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)
|
||||
@@ -1,16 +0,0 @@
|
||||
## 本次变更总结
|
||||
|
||||
**时间**: 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 绑定);表单项支持按项设置 labelWidth(item.labelWidth 或组件 labelWidth)。
|
||||
- 装修轮播/全屏轮播:两个 sliderDialog 的 SpForm 增加 label-position="left";表单配置中移除或清空各表单项的 flex: true,改为依赖 label 左对齐布局。
|
||||
|
||||
**一句话概括**: refactor: 表单移除 flex 布局,装修轮播弹窗改为 label 左对齐 (ECX-8070)
|
||||
@@ -1,18 +0,0 @@
|
||||
## 本次变更总结
|
||||
|
||||
**时间**: 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)
|
||||
@@ -1,13 +0,0 @@
|
||||
## 本次变更总结
|
||||
|
||||
**时间**: 2026-03-09
|
||||
**TB**: ECX-8086
|
||||
|
||||
**涉及文件**:
|
||||
- src/view/decorate/index.vue (修改)
|
||||
|
||||
**主要改动**:
|
||||
- 装修:店铺装修(scene=1003) 也展示「页面设置」挂件。
|
||||
- 将 headerVisible 从仅 1001 展示改为 1001、1003 均展示页面设置,1007 分类模版等仍不展示。
|
||||
|
||||
**一句话概括**: feat(decorate): 店铺装修 scene=1003 支持页面设置 (ECX-8086)
|
||||
@@ -1,20 +0,0 @@
|
||||
## 本次变更总结
|
||||
|
||||
**时间**: 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),并做 i18n(key ffeca7a9.1181a5)。
|
||||
- 弹窗标题改为通过 config 的 key 在 created 中解析,去掉硬编码中文。
|
||||
- 模板名称列注释隐藏;beforeSearch 中 is_valid 参数注释掉。
|
||||
- i18n:zh-CN/en/ar 新增「活动状态」文案(ffeca7a9.1181a5)。
|
||||
|
||||
**一句话概括**: feat(picker): 活动报名挂件改 list 接口、加状态列并 i18n (ECX-8088)
|
||||
@@ -1,15 +0,0 @@
|
||||
## 本次变更总结
|
||||
|
||||
**时间**: 2026-03-09
|
||||
**TB**: ECX-8089
|
||||
|
||||
**涉及文件**:
|
||||
- src/i18n/locales/zh-CN.json (修改)
|
||||
- src/i18n/locales/en.json (修改)
|
||||
- src/i18n/locales/ar.json (修改)
|
||||
|
||||
**主要改动**:
|
||||
- i18n:模版装修「设置路径」弹窗中,将「秒杀」改为「限时特惠」。
|
||||
- 文案 key:d81d8932.55c758。zh-CN 改为「限时特惠」,en 改为「Limited-time offer」,ar 改为「عرض محدود الوقت」。仅展示文案调整,逻辑与接口未改。
|
||||
|
||||
**一句话概括**: i18n: 设置路径弹窗「秒杀」改为「限时特惠」(ECX-8089)
|
||||
@@ -1,25 +0,0 @@
|
||||
## 本次变更总结
|
||||
|
||||
**时间**: 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。
|
||||
- 涉及 wgt:contentPartition、locationModule、classify、coupon、goods、group、hotranking、hotzone、ranking、speedkill、store-alphabet、shop。
|
||||
|
||||
**一句话概括**: feat(decorate): 装修挂件 transformIn/transformOut 统一透传 id
|
||||
@@ -1,13 +0,0 @@
|
||||
## 本次变更总结
|
||||
|
||||
**时间**: 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 报错
|
||||
@@ -1,13 +0,0 @@
|
||||
## 本次变更总结
|
||||
|
||||
**时间**: 2026-03-09
|
||||
|
||||
**涉及范围**:
|
||||
- ESLint --fix 自动修复(约 421 个 .vue/.js 文件)
|
||||
- 会员标签页及子组件 i18n(tags.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 改为 computed;CompAddTag.vue 弹窗标题、表单项、校验文案、按钮改为 $t();CompTagList.vue 占位符与「+ 添加」改为 $t()。zh-CN/en/ar 新增 ec391ebb.*、a2bf2d04.*、45a63912.* 等 key。
|
||||
|
||||
**一句话概括**: chore: ESLint --fix 批量修复 + 会员标签页及 CompAddTag/CompTagList i18n
|
||||
@@ -1,16 +0,0 @@
|
||||
## 本次变更总结
|
||||
|
||||
**时间**: 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: 商品视频可删除 + 店铺白名单勾选列与导出逻辑优化
|
||||
@@ -1,20 +0,0 @@
|
||||
## 本次变更总结
|
||||
|
||||
**时间**: 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 展示文案
|
||||
@@ -1,11 +0,0 @@
|
||||
## 本次变更总结
|
||||
|
||||
**时间**: 2026-04-02
|
||||
|
||||
**涉及文件**:
|
||||
- `src/view/mall/trade/order/detail/index.vue`(修改)
|
||||
|
||||
**主要改动**:
|
||||
- 订单详情页某卡片区块(含表头 `3cdfcea1.954493` 与下方 `card-panel`)去掉 **`v-if="!IS_SUPPLIER()"`**,供应商端登录时也会展示该区块(此前仅非供应商可见)。
|
||||
|
||||
**一句话概括**: 订单详情:供应商端展示原隐藏的卡片区块
|
||||
@@ -1,13 +0,0 @@
|
||||
## 本次变更总结
|
||||
|
||||
**时间**: 2026-04-02
|
||||
|
||||
**涉及文件**:
|
||||
- `src/view/goods/saleCategory.vue` (修改)
|
||||
|
||||
**主要改动**:
|
||||
- 销售分类页:在 **PLATFORM 版本**(`VERSION_PLATFORM()` 为真)下隐藏「前端是否展示」总开关、表格「前台是否显示」列,以及弹窗内对应表单项。
|
||||
- `mounted` 中仅在非 PLATFORM 时调用 `fetchSaleableFilter()`,避免多余接口请求。
|
||||
- 去掉未使用的 `@/utils` 导入(展示控制仍使用原型上的 `VERSION_PLATFORM()` 等)。
|
||||
|
||||
**一句话概括**: 销售分类:PLATFORM 版本隐藏前端展示相关开关与列
|
||||
@@ -1,24 +0,0 @@
|
||||
# Commit 约定(可选)
|
||||
|
||||
本文件可选。若存在,生成 commit message 时会参考以下约定。
|
||||
|
||||
## 前缀
|
||||
|
||||
- `feat:` 新功能
|
||||
- `fix:` 修复
|
||||
- `refactor:` 重构(不改变行为)
|
||||
- `i18n:` 国际化/文案
|
||||
- `style:` 样式、格式(非逻辑)
|
||||
- `chore:` 构建、配置、杂项
|
||||
- `docs:` 文档
|
||||
|
||||
## 格式
|
||||
|
||||
- 标题首行 ≤ 50 字,使用祈使句(如「添加 xxx」而非「添加了 xxx」)。
|
||||
- 需要时在 body 中列出主要改动点。
|
||||
|
||||
## 示例
|
||||
|
||||
```
|
||||
feat: 装修挂件 wgtName 改为 i18n.t() 并补全导入
|
||||
```
|
||||
@@ -1,7 +0,0 @@
|
||||
## 最近一次变更
|
||||
|
||||
**时间**: 2026-04-02
|
||||
|
||||
**文件**: `src/view/mall/trade/order/detail/index.vue`
|
||||
|
||||
**简述**: 移除订单详情中某 el-card 表头与面板的 `!IS_SUPPLIER()` 条件,供应商账号也可看到该区块。
|
||||
2
package-lock.json
generated
2
package-lock.json
generated
@@ -49267,4 +49267,4 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -139,4 +139,4 @@
|
||||
"jugglingdb-nano": "0.0.1",
|
||||
"global": "2.0.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -17468,7 +17468,7 @@
|
||||
"7350de2d.ca2be5": "الرقم الضريبي للبائع",
|
||||
"7350de2d.eff7dc": "هاتف البائع",
|
||||
"7350de2d.b3ed9f": "التصنيف",
|
||||
"7350de2d.1a7503": "جميع التصنيفات",
|
||||
"7350de2d.1a7503": "جميع التصنيفات الإدارية",
|
||||
"7350de2d.2a79a7": "نسبة الضريبة",
|
||||
"7350de2d.68346c": "المُصدِر",
|
||||
"7350de2d.ba2c38": "المستلم",
|
||||
@@ -17478,7 +17478,7 @@
|
||||
"7350de2d.ce7c10": "اختر معلومات فاتورة البائع من القائمة",
|
||||
"7350de2d.2fc8ee": "تصنيف نسبة الضريبة",
|
||||
"7350de2d.4dbf37": "التصنيف المحدد لا يمكن أن يكون فارغاً",
|
||||
"7350de2d.9f7160": "التصنيف المحدد",
|
||||
"7350de2d.9f7160": "تصنيف إداري محدد",
|
||||
"7350de2d.708c9d": "يرجى الاختيار",
|
||||
"7350de2d.a731f8": "نسبة ضريبة الفاتورة",
|
||||
"20da51cd.023809": "اسم المواصفات",
|
||||
@@ -17835,6 +17835,7 @@
|
||||
"bea3f44a.687c58": "تأكيد الإيقاف؟",
|
||||
"bea3f44a.12f1d7": "إنهاء",
|
||||
"bea3f44a.263e04": "تأكيد الإنهاء؟",
|
||||
"bea3f44a.7a9e2d": "معرف النشاط",
|
||||
"bea3f44a.39834b": "اسم النشاط",
|
||||
"bea3f44a.ed13b6": "حصة الموظف (يوان)",
|
||||
"bea3f44a.085938": "حصة الأقارب (يوان)",
|
||||
|
||||
@@ -17470,7 +17470,7 @@
|
||||
"7350de2d.ca2be5": "Seller tax no.",
|
||||
"7350de2d.eff7dc": "Seller phone",
|
||||
"7350de2d.b3ed9f": "Category",
|
||||
"7350de2d.1a7503": "All categories",
|
||||
"7350de2d.1a7503": "All management categories",
|
||||
"7350de2d.2a79a7": "Tax rate",
|
||||
"7350de2d.68346c": "Drawer",
|
||||
"7350de2d.ba2c38": "Payee",
|
||||
@@ -17480,7 +17480,7 @@
|
||||
"7350de2d.ce7c10": "Select seller invoice info from dropdown",
|
||||
"7350de2d.2fc8ee": "Tax rate category",
|
||||
"7350de2d.4dbf37": "Specified category cannot be empty",
|
||||
"7350de2d.9f7160": "Specified category",
|
||||
"7350de2d.9f7160": "Specified management categories",
|
||||
"7350de2d.708c9d": "Please select",
|
||||
"7350de2d.a731f8": "Invoice tax rate",
|
||||
"20da51cd.023809": "Spec name",
|
||||
@@ -17837,6 +17837,7 @@
|
||||
"bea3f44a.687c58": "Confirm pause?",
|
||||
"bea3f44a.12f1d7": "End",
|
||||
"bea3f44a.263e04": "Confirm end?",
|
||||
"bea3f44a.7a9e2d": "Activity ID",
|
||||
"bea3f44a.39834b": "Activity name",
|
||||
"bea3f44a.ed13b6": "Employee quota (CNY)",
|
||||
"bea3f44a.085938": "Relatives quota (CNY)",
|
||||
|
||||
@@ -17589,7 +17589,7 @@
|
||||
"7350de2d.ca2be5": "开票方税号",
|
||||
"7350de2d.eff7dc": "开票方电话",
|
||||
"7350de2d.b3ed9f": "管理分类",
|
||||
"7350de2d.1a7503": "全部分类",
|
||||
"7350de2d.1a7503": "全部管理分类",
|
||||
"7350de2d.2a79a7": "税率",
|
||||
"7350de2d.68346c": "开票人",
|
||||
"7350de2d.ba2c38": "收款人",
|
||||
@@ -17599,7 +17599,7 @@
|
||||
"7350de2d.ce7c10": "下拉选择配置销方开票信息",
|
||||
"7350de2d.2fc8ee": "配置税率分类",
|
||||
"7350de2d.4dbf37": "指定分类不能为空",
|
||||
"7350de2d.9f7160": "指定分类",
|
||||
"7350de2d.9f7160": "指定管理分类",
|
||||
"7350de2d.708c9d": "请选择",
|
||||
"7350de2d.a731f8": "发票税率",
|
||||
"20da51cd.023809": "规格名称",
|
||||
@@ -18039,6 +18039,7 @@
|
||||
"bea3f44a.687c58": "确认暂停?",
|
||||
"bea3f44a.12f1d7": "结束",
|
||||
"bea3f44a.263e04": "确认结束?",
|
||||
"bea3f44a.7a9e2d": "活动ID",
|
||||
"bea3f44a.39834b": "活动名称",
|
||||
"bea3f44a.ed13b6": "员工额度(元)",
|
||||
"bea3f44a.085938": "亲友额度(元)",
|
||||
|
||||
@@ -40,6 +40,21 @@
|
||||
<el-table-column prop="login_name" :label="$t('81d2acb6.bb2cdf')" />
|
||||
<el-table-column prop="mobile" :label="$t('81d2acb6.8098e2')" />
|
||||
<el-table-column prop="username" :label="$t('81d2acb6.60d045')" />
|
||||
<el-table-column :label="$t('f3a67ede.5c16c5')" min-width="180">
|
||||
<template slot-scope="scope">
|
||||
<template v-if="scope.row.distributor_ids && scope.row.distributor_ids.length">
|
||||
<el-tag
|
||||
v-for="item in scope.row.distributor_ids"
|
||||
:key="item.distributor_id"
|
||||
size="mini"
|
||||
class="rel-distributor-tag"
|
||||
>
|
||||
{{ item.name }}
|
||||
</el-tag>
|
||||
</template>
|
||||
<span v-else>—</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="roles" :label="$t('81d2acb6.464f3d')">
|
||||
<template slot-scope="scope">
|
||||
<el-tag
|
||||
@@ -468,6 +483,9 @@ export default {
|
||||
.el-tag + .el-tag {
|
||||
margin-left: 5px;
|
||||
}
|
||||
.rel-distributor-tag + .rel-distributor-tag {
|
||||
margin-left: 5px;
|
||||
}
|
||||
.new-tag {
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
|
||||
<script>
|
||||
import Vue from 'vue'
|
||||
import { i18n } from '@/i18n'
|
||||
import CompPickerLink from '../../comps/comp-pickerLink'
|
||||
import CompTodoList from '../../comps/comp-todoList'
|
||||
import CompButton from '../../comps/comp-button'
|
||||
@@ -33,7 +34,7 @@ export default {
|
||||
methods: {
|
||||
handleClickAdd() {
|
||||
this.value.push({
|
||||
content: 'c1030e12.8585af',
|
||||
content: i18n.t('c1030e12.8585af'),
|
||||
imgUrl: ''
|
||||
})
|
||||
},
|
||||
|
||||
@@ -39,19 +39,19 @@ const config = {
|
||||
},
|
||||
value: [
|
||||
{
|
||||
content: 'cff31093.818d78',
|
||||
content: i18n.t('cff31093.818d78'),
|
||||
imgUrl: ''
|
||||
},
|
||||
{
|
||||
content: 'cff31093.4933ca',
|
||||
content: i18n.t('cff31093.4933ca'),
|
||||
imgUrl: ''
|
||||
},
|
||||
{
|
||||
content: 'cff31093.a48b28',
|
||||
content: i18n.t('cff31093.a48b28'),
|
||||
imgUrl: ''
|
||||
},
|
||||
{
|
||||
content: 'cff31093.59bd68',
|
||||
content: i18n.t('cff31093.59bd68'),
|
||||
imgUrl: ''
|
||||
}
|
||||
]
|
||||
|
||||
@@ -300,7 +300,10 @@ export default {
|
||||
async addStoreAction() {
|
||||
const distributor_ids = this.addressForm.distributors.map((item) => item.distributor_id)
|
||||
const { data } = await this.$picker.shop({
|
||||
data: distributor_ids
|
||||
data: distributor_ids,
|
||||
queryParams: {
|
||||
show_distributor_self: 1
|
||||
}
|
||||
})
|
||||
this.addressForm.distributors = JSON.parse(JSON.stringify(data))
|
||||
},
|
||||
|
||||
@@ -505,7 +505,7 @@ export default {
|
||||
//搜索银行选项label,bank_name
|
||||
label: `${item.bank_name}:${item.bank_account_no}`,
|
||||
//弹框下拉选项value,title
|
||||
value: item.id,
|
||||
value: item.id.toString(),
|
||||
title: item.bank_account_name
|
||||
}))
|
||||
this.bankList = _list
|
||||
|
||||
@@ -292,6 +292,7 @@ export default {
|
||||
}
|
||||
],
|
||||
columns: [
|
||||
{ name: this.$t('bea3f44a.7a9e2d'), key: 'id', width: 120 },
|
||||
{ name: this.$t('bea3f44a.39834b'), key: 'name', width: 180 },
|
||||
{
|
||||
name: this.$t('bea3f44a.ed13b6'),
|
||||
|
||||
@@ -208,12 +208,31 @@
|
||||
</el-table-column>
|
||||
<el-table-column width="80" prop="get_num" :label="$t('9cc0c982.5d5aac')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{scope.row.get_num || 0}}</span>
|
||||
<span>{{ scope.row.get_num || 0 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column width="80" prop="use_num" :label="$t('9cc0c982.ce2ed8')">
|
||||
<template slot-scope="scope">
|
||||
<span>{{scope.row.use_num || 0}}</span>
|
||||
<span>{{ scope.row.use_num || 0 }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column width="120" :label="$t('9cc0c982.fea789')">
|
||||
<template slot-scope="scope">
|
||||
{{
|
||||
0 >= parseInt(scope.row.source_id, 10) ||
|
||||
!(scope.row.source_name || scope.row.store_name || scope.row.shop_name)
|
||||
? $t('9cc0c982.498128')
|
||||
: scope.row.source_name || scope.row.store_name || scope.row.shop_name
|
||||
}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column width="120" :label="$t('9cc0c982.eb4307')">
|
||||
<template slot-scope="scope">
|
||||
{{
|
||||
scope.row.use_all_shops == 1
|
||||
? $t('9cc0c982.77678b')
|
||||
: $t('9cc0c982.fcf7d8')
|
||||
}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
@@ -6,47 +6,22 @@
|
||||
<template>
|
||||
<SpPage>
|
||||
<SpRouterView>
|
||||
<SpFormPlus
|
||||
v-model="formData"
|
||||
form-type="searchForm"
|
||||
:form-items="formItems"
|
||||
@submit="onSearch"
|
||||
@reset="onSearch"
|
||||
:inline="true"
|
||||
/>
|
||||
<SpFormPlus v-model="formData" form-type="searchForm" :form-items="formItems" @submit="onSearch" @reset="onSearch"
|
||||
:inline="true" />
|
||||
|
||||
<div class="action-container mt-5">
|
||||
<el-button type="primary" icon="plus" @click="showEditModal('')">
|
||||
{{
|
||||
$t('f06fa37c.66ab5e')
|
||||
}}
|
||||
</el-button>
|
||||
{{
|
||||
$t('f06fa37c.66ab5e')
|
||||
}}
|
||||
</el-button>
|
||||
</div>
|
||||
|
||||
<SpFinder
|
||||
ref="finder"
|
||||
url="/wxexternalconfig/list"
|
||||
no-selection
|
||||
:setting="setting"
|
||||
:hooks="{ beforeSearch: beforeSearch }"
|
||||
border
|
||||
/>
|
||||
<SpFinder ref="finder" url="/wxexternalconfig/list" no-selection :setting="setting"
|
||||
:hooks="{ beforeSearch: beforeSearch }" border />
|
||||
|
||||
<el-dialog
|
||||
class="modal"
|
||||
width="30%"
|
||||
:title="modalTitle"
|
||||
:visible="showModal"
|
||||
@close="closeModal"
|
||||
>
|
||||
<el-form
|
||||
ref="editForm"
|
||||
label-suffix=":"
|
||||
label-width="120px"
|
||||
class="form"
|
||||
:rules="rules"
|
||||
:model="editInfo"
|
||||
>
|
||||
<el-dialog class="modal" width="30%" :title="modalTitle" :visible="showModal" @close="closeModal">
|
||||
<el-form ref="editForm" label-suffix=":" label-width="120px" class="form" :rules="rules" :model="editInfo">
|
||||
<el-form-item :label="$t('f06fa37c.d34f1f')" prop="app_name">
|
||||
<el-input v-model="editInfo.app_name" />
|
||||
</el-form-item>
|
||||
@@ -54,15 +29,8 @@
|
||||
<el-input v-model="editInfo.app_id" />
|
||||
</el-form-item>
|
||||
<el-form-item :label="$t('f06fa37c.3bdd08')">
|
||||
<el-input
|
||||
v-model="editInfo.app_desc"
|
||||
type="textarea"
|
||||
:placeholder="$t('f06fa37c.d51187')"
|
||||
resize="none"
|
||||
maxlength="30"
|
||||
show-word-limit
|
||||
:rows="3"
|
||||
/>
|
||||
<el-input v-model="editInfo.app_desc" type="textarea" :placeholder="$t('f06fa37c.d51187')" resize="none"
|
||||
maxlength="30" show-word-limit :rows="3" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div class="btns">
|
||||
@@ -88,9 +56,6 @@ export default {
|
||||
formData: {
|
||||
app_name: ''
|
||||
},
|
||||
formItems: [],
|
||||
// 规则
|
||||
rules: {},
|
||||
// modal title
|
||||
modalTitle: '',
|
||||
// 是否显示modal
|
||||
@@ -102,9 +67,7 @@ export default {
|
||||
app_id: '',
|
||||
app_name: '',
|
||||
app_desc: ''
|
||||
},
|
||||
//SpFinder的配置
|
||||
setting: {}
|
||||
}
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -149,22 +112,22 @@ export default {
|
||||
{
|
||||
name: this.$t('f06fa37c.d70fe9'),
|
||||
key: 'app_id',
|
||||
width: 250
|
||||
minWidth: 250
|
||||
},
|
||||
{
|
||||
name: this.$t('f06fa37c.d34f1f'),
|
||||
key: 'app_name',
|
||||
width: 272
|
||||
minWidth: 272
|
||||
},
|
||||
{
|
||||
name: this.$t('f06fa37c.3bdd08'),
|
||||
key: 'app_desc',
|
||||
width: 300
|
||||
minWidth: 300
|
||||
},
|
||||
{
|
||||
name: this.$t('f06fa37c.2b6bc0'),
|
||||
key: 'actions',
|
||||
width: 230,
|
||||
minWidth: 230,
|
||||
render: (h, { row }) => {
|
||||
return h('div', [
|
||||
h(
|
||||
|
||||
Reference in New Issue
Block a user