From 514b4a467ecc3dd90281669aeef044fce3bdb59e Mon Sep 17 00:00:00 2001 From: maqian Date: Fri, 7 Aug 2026 16:52:32 +0800 Subject: [PATCH] [TBID:ECX-9664] chore: merge master changes for release --- public/index.html | 2 +- src/api/selfhelpform.js | 8 + src/components/sp-form-plus/form-field.js | 4 +- src/components/sp-icon/lucide-registry.js | 8 +- .../sp-picker/pickers/picker-zitilist.vue | 3 + src/i18n/locales/ar.json | 3 + src/i18n/locales/en.json | 3 + src/i18n/locales/zh-CN.json | 3 + src/i18n/locales/zh-TW.json | 3 + src/layout/basic/components/license-logo.vue | 7 +- src/layout/basic/layout-sidebar.vue | 7 +- src/router/index.js | 2 + src/router/routes/modules/sellers.js | 2 +- src/router/routes/shopadmin/setting.js | 2 +- src/router/src/route-setting.js | 2 +- src/router/src/route-shopadmin-shopsetting.js | 2 +- src/utils/fetch.js | 11 +- src/utils/index.js | 1 + src/utils/publicPath.js | 30 + src/view/auth/login.vue | 4 +- src/view/base/account/roles.vue | 263 ------- src/view/base/account/storeroles.vue | 278 -------- src/view/base/shuyunLogin/index.vue | 4 +- src/view/goods/mainCategory.vue | 83 ++- src/view/mall/goods/audit/list.vue | 154 +++-- .../mall/marketing/distributionOrders.vue | 143 ++-- .../marketing/distributor_editor/index.vue | 3 +- src/view/mall/trade/normalorders/list.vue | 467 +++++++------ src/view/mall/trade/shipping/templates.vue | 11 + .../selfservice/registrationactivity.vue | 149 ++-- src/view/merchant/components/DaoDianZiti.vue | 5 +- src/view/shoplist.vue | 4 +- src/view/wxapp/category/list.vue | 28 +- src/views/core/authentication/login.vue | 13 +- .../core/authentication/merchant-login.vue | 9 +- src/views/core/authentication/shop-login.vue | 9 +- .../core/authentication/shuyun-login.vue | 4 +- .../core/authentication/supplier-login.vue | 9 +- src/views/settings/role-store.vue | 650 ++++++++++++++++++ src/views/settings/systemConfig/payment.vue | 27 +- src/views/store/shop-list.vue | 3 +- 41 files changed, 1408 insertions(+), 1015 deletions(-) create mode 100644 src/utils/publicPath.js delete mode 100755 src/view/base/account/roles.vue delete mode 100755 src/view/base/account/storeroles.vue create mode 100755 src/views/settings/role-store.vue diff --git a/public/index.html b/public/index.html index 27779c4..a4ede0f 100755 --- a/public/index.html +++ b/public/index.html @@ -11,7 +11,7 @@ diff --git a/src/api/selfhelpform.js b/src/api/selfhelpform.js index d877f36..3ddc60e 100755 --- a/src/api/selfhelpform.js +++ b/src/api/selfhelpform.js @@ -175,6 +175,14 @@ export function regActivityUpdate(query) { }) } +export function regActivitySetIsShow(query) { + return fetch({ + url: '/selfhelp/registrationActivity/setIsShow', + method: 'put', + params: query + }) +} + // 活动 export function regActivityInvalid(query) { return fetch({ diff --git a/src/components/sp-form-plus/form-field.js b/src/components/sp-form-plus/form-field.js index b77e75f..366203f 100755 --- a/src/components/sp-form-plus/form-field.js +++ b/src/components/sp-form-plus/form-field.js @@ -252,7 +252,7 @@ export default { size={this.size || 'small'} type='date' value={this.modelValue} - prefix-icon={false} + prefix-icon="" {...props} on-input={this.handleInput} /> @@ -279,7 +279,7 @@ export default { text: this.$t(s.text) })) }} - prefix-icon={false} + prefix-icon="" onInput={this.handleInput} /> diff --git a/src/components/sp-icon/lucide-registry.js b/src/components/sp-icon/lucide-registry.js index b426493..c176d1a 100644 --- a/src/components/sp-icon/lucide-registry.js +++ b/src/components/sp-icon/lucide-registry.js @@ -61,11 +61,17 @@ export const LUCIDE_ICONS = { Trash2 } +/** 与 HTML/内置名冲突时,全局注册用别名;LUCIDE_ICONS 键名不变,SpIcon 仍可用 name="image" */ +const GLOBAL_NAME_ALIASES = { + Image: 'ImageIcon' +} + /** * @param {import('vue').default} Vue */ export function installLucideGlobal(Vue) { Object.keys(LUCIDE_ICONS).forEach((name) => { - Vue.component(name, LUCIDE_ICONS[name]) + const globalName = GLOBAL_NAME_ALIASES[name] || name + Vue.component(globalName, LUCIDE_ICONS[name]) }) } diff --git a/src/components/sp-picker/pickers/picker-zitilist.vue b/src/components/sp-picker/pickers/picker-zitilist.vue index 35ed76d..91fda17 100755 --- a/src/components/sp-picker/pickers/picker-zitilist.vue +++ b/src/components/sp-picker/pickers/picker-zitilist.vue @@ -88,6 +88,9 @@ export default { ...params, name: this.formData.keywords } + if (this.value.rel_distributor_id) { + params.rel_distributor_id = this.value.rel_distributor_id + } return params }, afterSearch(response) { diff --git a/src/i18n/locales/ar.json b/src/i18n/locales/ar.json index c861d3b..91c3c2e 100644 --- a/src/i18n/locales/ar.json +++ b/src/i18n/locales/ar.json @@ -11422,6 +11422,7 @@ "15ecc99b.047fab": "منتهي", "15ecc99b.01be42": "سيتم إنهاء هذا النشاط نهائياً. متابعة؟", "15ecc99b.b69694": "تم تحديث حالة النشاط بنجاح", + "15ecc99b.69be67": "تم التعديل بنجاح", "3aa73191.6ea1fe": "المعلومات الأساسية", "3aa73191.39834b": "اسم النشاط", "3aa73191.7528b3": "أدخل اسم النشاط", @@ -14969,6 +14970,7 @@ "0bd6d248.e26c17": "حذف هذا التصنيف سيحذف جميع التصنيفات الفرعية. تأكيد؟", "0bd6d248.3b1083": "تم الحفظ بنجاح", "c7eb6efa.7b3c0e": "ربط تصنيف المبيعات", + "c7eb6efa.a1a244": "ربط تصنيف الإدارة", "c7eb6efa.c6aa35": "تحرير القالب", "c7eb6efa.6fef15": "إضافة قالب", "c7eb6efa.d9df76": "معرف الصفحة", @@ -16643,6 +16645,7 @@ "2dc17300.38cf16": "تأكيد", "2dc17300.625fb2": "إلغاء", "2dc17300.1fe03c": "تم حذف التصنيف بنجاح", + "2dc17300.6891b4": "عرض في الواجهة", "7de71dd3.8d3bf9": "نطاق التاريخ:", "7de71dd3.b44c0f": "تاريخ البداية", "7de71dd3.1d468b": "تاريخ النهاية", diff --git a/src/i18n/locales/en.json b/src/i18n/locales/en.json index 3968406..7e84d14 100644 --- a/src/i18n/locales/en.json +++ b/src/i18n/locales/en.json @@ -11422,6 +11422,7 @@ "15ecc99b.047fab": "Ended", "15ecc99b.01be42": "This will permanently terminate this activity. Continue?", "15ecc99b.b69694": "Activity status updated successfully", + "15ecc99b.69be67": "Modification successful", "3aa73191.6ea1fe": "Basic info", "3aa73191.39834b": "Activity name", "3aa73191.7528b3": "Enter activity name", @@ -14969,6 +14970,7 @@ "0bd6d248.e26c17": "Deleting this category will remove all its subcategories. Confirm?", "0bd6d248.3b1083": "Saved successfully", "c7eb6efa.7b3c0e": "Link sales category", + "c7eb6efa.a1a244": "Link management category", "c7eb6efa.c6aa35": "Edit template", "c7eb6efa.6fef15": "Add template", "c7eb6efa.d9df76": "Page ID", @@ -16644,6 +16646,7 @@ "2dc17300.38cf16": "OK", "2dc17300.625fb2": "Cancel", "2dc17300.1fe03c": "Category deleted successfully", + "2dc17300.6891b4": "Show on frontend", "7de71dd3.8d3bf9": "Date range:", "7de71dd3.b44c0f": "Start date", "7de71dd3.1d468b": "End date", diff --git a/src/i18n/locales/zh-CN.json b/src/i18n/locales/zh-CN.json index ae3d074..140a65e 100644 --- a/src/i18n/locales/zh-CN.json +++ b/src/i18n/locales/zh-CN.json @@ -11422,6 +11422,7 @@ "15ecc99b.047fab": "已结束", "15ecc99b.01be42": "此操作将永久终止该活动, 是否继续?", "15ecc99b.b69694": "修改活动状态成功", + "15ecc99b.69be67": "修改成功", "3aa73191.6ea1fe": "基础信息", "3aa73191.39834b": "活动名称", "3aa73191.7528b3": "请输入活动名称", @@ -14969,6 +14970,7 @@ "0bd6d248.e26c17": "删该分类将会删除其所有子级,确认删除吗?", "0bd6d248.3b1083": "保存成功", "c7eb6efa.7b3c0e": "关联销售分类", + "c7eb6efa.a1a244": "关联管理分类", "c7eb6efa.c6aa35": "编辑模板", "c7eb6efa.6fef15": "添加模板", "c7eb6efa.d9df76": "页面ID", @@ -16644,6 +16646,7 @@ "2dc17300.38cf16": "确定", "2dc17300.625fb2": "取消", "2dc17300.1fe03c": "删除分类成功", + "2dc17300.6891b4": "前台是否显示", "7de71dd3.8d3bf9": "日期范围:", "7de71dd3.b44c0f": "开始日期", "7de71dd3.1d468b": "结束日期", diff --git a/src/i18n/locales/zh-TW.json b/src/i18n/locales/zh-TW.json index 4904c81..ef74497 100644 --- a/src/i18n/locales/zh-TW.json +++ b/src/i18n/locales/zh-TW.json @@ -11422,6 +11422,7 @@ "15ecc99b.047fab": "已結束", "15ecc99b.01be42": "此操作將永久終止該活動, 是否繼續?", "15ecc99b.b69694": "修改活動狀態成功", + "15ecc99b.69be67": "修改成功", "3aa73191.6ea1fe": "基礎信息", "3aa73191.39834b": "活動名稱", "3aa73191.7528b3": "請輸入活動名稱", @@ -14954,6 +14955,7 @@ "0bd6d248.e26c17": "刪該分類將會刪除其所有子級,確認刪除嗎?", "0bd6d248.3b1083": "保存成功", "c7eb6efa.7b3c0e": "關聯銷售分類", + "c7eb6efa.a1a244": "關聯管理分類", "c7eb6efa.c6aa35": "編輯模板", "c7eb6efa.6fef15": "添加模板", "c7eb6efa.d9df76": "頁面ID", @@ -16629,6 +16631,7 @@ "2dc17300.38cf16": "確定", "2dc17300.625fb2": "取消", "2dc17300.1fe03c": "刪除分類成功", + "2dc17300.6891b4": "前臺是否顯示", "7de71dd3.8d3bf9": "日期範圍:", "7de71dd3.b44c0f": "開始日期", "7de71dd3.1d468b": "結束日期", diff --git a/src/layout/basic/components/license-logo.vue b/src/layout/basic/components/license-logo.vue index eecf552..787d80c 100644 --- a/src/layout/basic/components/license-logo.vue +++ b/src/layout/basic/components/license-logo.vue @@ -8,7 +8,7 @@
Powered by
- diff --git a/src/view/base/account/storeroles.vue b/src/view/base/account/storeroles.vue deleted file mode 100755 index 7cb23bf..0000000 --- a/src/view/base/account/storeroles.vue +++ /dev/null @@ -1,278 +0,0 @@ - - - - - diff --git a/src/view/base/shuyunLogin/index.vue b/src/view/base/shuyunLogin/index.vue index 3dc437b..cbbb4b2 100755 --- a/src/view/base/shuyunLogin/index.vue +++ b/src/view/base/shuyunLogin/index.vue @@ -11,7 +11,7 @@ diff --git a/src/views/settings/systemConfig/payment.vue b/src/views/settings/systemConfig/payment.vue index 7f6b04d..59b8570 100644 --- a/src/views/settings/systemConfig/payment.vue +++ b/src/views/settings/systemConfig/payment.vue @@ -102,7 +102,7 @@ const [BatchStatusForm, BatchStatusFormApi] = useForm({ showDefaultActions: false }) -// 创建收款账户表单配置 +// 创建收款账户表单配置(勿在 formItems 写死 value,否则 SpFormPlus 会覆盖弹框传入的回显数据) const [AccountForm, AccountFormApi] = useForm({ formType: 'normalForm', labelWidth: '120px', @@ -113,7 +113,6 @@ const [AccountForm, AccountFormApi] = useForm({ label: '收款人户名', component: 'input', formItemClass: 'w-2/4', - value: '', componentProps: { placeholder: '请输入收款人户名' }, @@ -124,7 +123,6 @@ const [AccountForm, AccountFormApi] = useForm({ label: '银行账号', component: 'input', formItemClass: 'w-2/4', - value: '', componentProps: { placeholder: '请输入银行账号' }, @@ -135,7 +133,6 @@ const [AccountForm, AccountFormApi] = useForm({ label: '开户银行', component: 'input', formItemClass: 'w-2/4', - value: '', componentProps: { placeholder: '请输入开户银行' }, @@ -146,7 +143,6 @@ const [AccountForm, AccountFormApi] = useForm({ label: '银联号', component: 'input', formItemClass: 'w-2/4', - value: '', componentProps: { placeholder: '请输入银联号' }, @@ -156,7 +152,6 @@ const [AccountForm, AccountFormApi] = useForm({ fieldName: 'pic', label: '银行LOGO', component: 'imagepicker', - value: '', componentProps: { multiple: false, limit: 1, @@ -171,7 +166,6 @@ const [AccountForm, AccountFormApi] = useForm({ label: '备注', component: 'input', formItemClass: 'w-2/4', - value: '', componentProps: { type: 'textarea', rows: 3, @@ -182,7 +176,6 @@ const [AccountForm, AccountFormApi] = useForm({ fieldName: 'is_default', label: '是否默认', component: 'radio', - value: 'false', componentProps: { options: [ { label: '是', value: 'true' }, @@ -1344,7 +1337,7 @@ export default { is_default: 'false' } } - await this.$dialog.open({ + const dialogPromise = this.$dialog.open({ title: type == 'edit' ? this.$t('10d92d52.27e12d') : this.$t('10d92d52.89beb5'), size: 'medium', content: , @@ -1356,6 +1349,22 @@ export default { } } }) + // 弹框挂载后再回填,避免 SpFormPlus 初始化用空值覆盖 + await this.$nextTick() + if (AccountFormApi.setFieldsValue) { + const form = this.accountsForm || {} + AccountFormApi.setFieldsValue({ + bank_account_name: form.bank_account_name || '', + bank_account_no: form.bank_account_no || '', + bank_name: form.bank_name || '', + china_ums_no: form.china_ums_no || '', + pic: form.pic || '', + remark: form.remark || '', + is_default: + form.is_default === true || form.is_default === 'true' ? 'true' : 'false' + }) + } + await dialogPromise const formData = await AccountFormApi.getFieldsValue() // 使用深拷贝避免引用问题 let params = JSON.parse(JSON.stringify(formData)) diff --git a/src/views/store/shop-list.vue b/src/views/store/shop-list.vue index 3c2d961..c378744 100755 --- a/src/views/store/shop-list.vue +++ b/src/views/store/shop-list.vue @@ -22,6 +22,7 @@ import moment from 'moment' import { createSetting } from '@shopex-ui/finder' import { LayoutHeader } from '@/layout/basic' import DEFAULT_CONFIG from '@/config' +import { resolveAppPath } from '@/utils' export default { components: { @@ -74,7 +75,7 @@ export default { }) if (res.status) { this.$store.commit('user/setShopId', { shopId: row.distributor_id }) - window.location.href = '/shopadmin' + window.location.href = resolveAppPath('/shopadmin') } else { this.$message.error(this.$t('16bb187d.4a3301')) }