From 618791d4d3e888a544489a0bdd7e211795ee382b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Fri, 11 Jul 2025 11:15:37 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=9A=E6=96=87=E7=AB=A0?= =?UTF-8?q?=E7=BC=96=E8=BE=91=EF=BC=8C=E5=85=BC=E5=AE=B9Image=E5=B0=81?= =?UTF-8?q?=E9=9D=A2=E5=9B=BEif=20if(data.image=20&&=20!data.files){...}?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SELECT_FILE_DRAG_DEMO.md | 266 ++ src/api/cms/cmsWebsiteSetting/model/index.ts | 2 + src/api/shop/shopGoods/model/index.ts | 1 + src/api/system/setting/index.ts | 27 + src/config/setting.ts | 2 +- src/i18n/lang/en/route.ts | 113 - src/i18n/lang/zh_CN/route.ts | 119 - src/layout/components/header-tools.vue | 48 +- src/layout/components/page-footer.vue | 18 +- src/layout/components/setting-drawer.vue | 742 ++--- src/store/modules/setting.ts | 8 +- src/store/modules/theme.ts | 9 - src/views/cms/cmsAd/index.vue | 4 +- .../cms/cmsArticle/components/articleEdit.vue | 14 +- src/views/cms/cmsArticle/index.vue | 4 +- src/views/cms/cmsLink/index.vue | 2 +- src/views/cms/cmsNavigation/index.vue | 19 +- src/views/cms/cmsSetting/index.vue | 8 + .../components/cmsWebsiteSettingEdit.vue | 24 +- src/views/cms/cmsWebsiteSetting/index.vue | 2 +- src/views/cms/help/index.vue | 4 +- src/views/shop/shopGoods/components/extra.vue | 2 +- .../shop/shopGoods/components/search.vue | 56 +- .../shopGoods/components/shopGoodsEdit.vue | 2577 ++++++++++------- src/views/shop/shopGoods/index.vue | 432 +-- .../system/setting/components/privacy.vue | 102 + .../system/setting/components/website.vue | 187 ++ src/views/system/setting/index.vue | 93 +- 28 files changed, 2801 insertions(+), 2084 deletions(-) create mode 100644 SELECT_FILE_DRAG_DEMO.md create mode 100644 src/views/system/setting/components/privacy.vue create mode 100644 src/views/system/setting/components/website.vue diff --git a/SELECT_FILE_DRAG_DEMO.md b/SELECT_FILE_DRAG_DEMO.md new file mode 100644 index 0000000..95c2c65 --- /dev/null +++ b/SELECT_FILE_DRAG_DEMO.md @@ -0,0 +1,266 @@ +# 🔄 SelectFile组件拖拽调整顺序功能演示 + +## 🎯 功能概述 + +我已经成功为SelectFile组件添加了拖拽调整顺序的功能,让用户可以通过拖拽来重新排列文件的顺序。 + +### ✨ 核心功能 + +1. **🔄 拖拽排序** + - 支持鼠标拖拽调整文件顺序 + - 实时视觉反馈和拖拽指示器 + - 顺序指示器显示当前位置 + +2. **🎯 智能交互** + - 拖拽时显示拖拽指示器 + - 悬停时显示拖拽提示 + - 拖拽完成后自动更新数据 + +3. **📍 视觉反馈** + - 顺序指示器显示文件位置 + - 拖拽时的视觉效果 + - 悬停时的交互提示 + +### 🔧 技术实现 + +#### 1. 组件模板更新 + +```vue + +``` + +#### 2. 拖拽逻辑实现 + +```typescript +// 🔄 拖拽相关状态 +const dragIndex = ref(null); +const dragOverIndex = ref(null); + +// 📝 本地数据副本,用于拖拽操作 +const localData = ref([]); + +// 🔄 监听props.data变化,同步到localData +watch( + () => props.data, + (newData) => { + if (newData) { + localData.value = [...newData]; + } + }, + { immediate: true, deep: true } +); + +// 🔄 拖拽开始 +const onDragStart = (index: number, event: DragEvent) => { + dragIndex.value = index; + if (event.dataTransfer) { + event.dataTransfer.effectAllowed = 'move'; + event.dataTransfer.setData('text/html', index.toString()); + } +}; + +// 🔄 拖拽结束 +const onDragEnd = () => { + dragIndex.value = null; + dragOverIndex.value = null; +}; + +// 🔄 拖拽进入 +const onDragEnter = (index: number) => { + dragOverIndex.value = index; +}; + +// 🔄 拖拽放置 +const onDrop = (event: DragEvent) => { + event.preventDefault(); + + if (dragIndex.value !== null && dragOverIndex.value !== null && dragIndex.value !== dragOverIndex.value) { + const newData = [...localData.value]; + const draggedItem = newData[dragIndex.value]; + + // 移除拖拽的项目 + newData.splice(dragIndex.value, 1); + + // 在新位置插入项目 + const insertIndex = dragIndex.value < dragOverIndex.value ? dragOverIndex.value - 1 : dragOverIndex.value; + newData.splice(insertIndex, 0, draggedItem); + + // 更新本地数据 + localData.value = newData; + + // 触发重新排序事件 + emit('reorder', newData); + } + + dragIndex.value = null; + dragOverIndex.value = null; +}; +``` + +#### 3. 事件定义更新 + +```typescript +const emit = defineEmits<{ + (e: 'done', data: FileRecord): void; + (e: 'del', index: number): void; + (e: 'clear'): void; + (e: 'reorder', data: any[]): void; // 新增重新排序事件 +}>(); +``` + +#### 4. 样式设计 + +```less +// 🔄 可拖拽项目样式 +.draggable-item { + position: relative; + cursor: move; + transition: all 0.3s ease; + border-radius: 8px; + + &:hover { + transform: translateY(-2px); + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); + + .drag-indicator { + opacity: 1; + } + } + + &.dragging { + opacity: 0.5; + transform: rotate(5deg) scale(0.95); + z-index: 1000; + } +} + +// 🎯 拖拽指示器 +.drag-indicator { + position: absolute; + top: -8px; + left: 50%; + transform: translateX(-50%); + background: rgba(0, 0, 0, 0.8); + color: white; + padding: 2px 6px; + border-radius: 4px; + font-size: 12px; + opacity: 0; + transition: opacity 0.2s ease; + z-index: 10; + pointer-events: none; +} + +// 📍 顺序指示器 +.order-indicator { + position: absolute; + top: -6px; + right: -6px; + background: #1890ff; + color: white; + width: 20px; + height: 20px; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + font-size: 12px; + font-weight: bold; + z-index: 5; + border: 2px solid white; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); +} +``` + +### 🔗 父组件集成 + +在articleEdit.vue中添加对reorder事件的处理: + +```vue + +``` + +```typescript +// 🔄 处理文件重新排序 +const onReorderFiles = (newData: any[]) => { + files.value = newData; + form.files = JSON.stringify(files.value.map((d) => d.url)); + message.success('文件顺序已更新'); +}; +``` + +### 🎨 用户体验 + +1. **直观操作**:用户可以直接拖拽文件来调整顺序 +2. **视觉反馈**:拖拽时有清晰的视觉指示 +3. **顺序显示**:每个文件都有序号显示当前位置 +4. **即时更新**:拖拽完成后立即更新数据和UI + +### 📊 功能特点 + +| 特性 | 描述 | 状态 | +|------|------|------| +| 拖拽排序 | 支持鼠标拖拽调整顺序 | ✅ | +| 视觉反馈 | 拖拽时的动画和指示器 | ✅ | +| 顺序指示 | 显示文件的当前位置 | ✅ | +| 数据同步 | 拖拽后自动更新数据 | ✅ | +| 事件通知 | 触发reorder事件通知父组件 | ✅ | +| 响应式设计 | 适配不同屏幕尺寸 | ✅ | + +### 🚀 使用场景 + +1. **文章封面图排序**:调整封面图的显示顺序,第一张作为主封面 +2. **图片轮播排序**:调整轮播图片的播放顺序 +3. **文件优先级**:根据重要性调整文件的排列顺序 +4. **展示顺序**:调整图片在前端的展示顺序 + +### 💡 技术亮点 + +- **原生HTML5拖拽API**:使用标准的拖拽事件 +- **Vue3响应式**:利用Vue3的响应式系统 +- **数据双向绑定**:保持组件内外数据同步 +- **优雅的动画效果**:提供流畅的用户体验 +- **类型安全**:完整的TypeScript类型定义 + +这个功能让用户可以更直观地管理文件顺序,特别是在处理多个封面图时,可以轻松调整哪张图片作为主封面显示!🎉 diff --git a/src/api/cms/cmsWebsiteSetting/model/index.ts b/src/api/cms/cmsWebsiteSetting/model/index.ts index 9a5b3e0..71241f8 100644 --- a/src/api/cms/cmsWebsiteSetting/model/index.ts +++ b/src/api/cms/cmsWebsiteSetting/model/index.ts @@ -28,6 +28,8 @@ export interface CmsWebsiteSetting { loginBtn?: string; // 显示悬浮客服工具 floatTool?: boolean; + // 显示版权信息 + showCopyright?: boolean; // 显示版权链接 copyrightLink?: string; // 导航栏最多显示数量 diff --git a/src/api/shop/shopGoods/model/index.ts b/src/api/shop/shopGoods/model/index.ts index ecc1057..493295d 100644 --- a/src/api/shop/shopGoods/model/index.ts +++ b/src/api/shop/shopGoods/model/index.ts @@ -140,6 +140,7 @@ export interface ShopGoodsParam extends PageParam { parentId?: number; categoryId?: number; goodsId?: number; + status?: number; goodsName?: string; isShow?: number; stock?: number; diff --git a/src/api/system/setting/index.ts b/src/api/system/setting/index.ts index e743223..e7ca3c0 100644 --- a/src/api/system/setting/index.ts +++ b/src/api/system/setting/index.ts @@ -48,6 +48,19 @@ export async function getSetting(id: number) { return Promise.reject(new Error(res.data.message)); } +/** + * 根据key查询 + */ +export async function getSettingByKey(key: string) { + const res = await request.get>( + SERVER_API_URL + '/system/setting/getByKey/' + key + ); + if (res.data.code === 0 && res.data.data) { + return res.data.data; + } + return Promise.reject(new Error(res.data.message)); +} + /** * 添加设置 */ @@ -76,6 +89,20 @@ export async function updateSetting(data: Setting) { return Promise.reject(new Error(res.data.message)); } +/** + * 根据Key修改设置 + */ +export async function updateSettingByKey(data: Setting) { + const res = await request.put>( + SERVER_API_URL + '/system/setting/updateByKey', + data + ); + if (res.data.code === 0) { + return res.data.message; + } + return Promise.reject(new Error(res.data.message)); +} + /** * 删除设置 */ diff --git a/src/config/setting.ts b/src/config/setting.ts index 4179809..b8c4c9f 100644 --- a/src/config/setting.ts +++ b/src/config/setting.ts @@ -65,7 +65,7 @@ export const TOKEN_HEADER_NAME = 'Authorization'; // token 存储的名称 export const TOKEN_STORE_NAME = 'access_token'; // 主题配置存储的名称 -export const THEME_STORE_NAME = 'theme:'; +export const THEME_STORE_NAME = 'theme'; // i18n 缓存的名称 export const I18N_CACHE_NAME = 'i18n-lang'; // 是否开启国际化功能 diff --git a/src/i18n/lang/en/route.ts b/src/i18n/lang/en/route.ts index 4432a1f..557559e 100644 --- a/src/i18n/lang/en/route.ts +++ b/src/i18n/lang/en/route.ts @@ -8,48 +8,6 @@ export default { analysis: { _name: 'Analysis' }, monitor: { _name: 'Monitor' } }, - system: { - _name: 'System', - user: { - _name: 'User', - details: { _name: '' } - }, - role: { _name: 'Role' }, - menu: { _name: 'Menu' }, - dictionary: { _name: 'Dictionary' }, - dict: { _name: 'Dictionary' }, - organization: { _name: 'Organization' }, - loginRecord: { _name: 'LoginRecord' }, - operationRecord: { _name: 'OperationRecord' }, - file: { _name: 'File' }, - userInfo: { _name: '' }, - admin: {_name: 'Admin'}, - setting: {_name: 'Setting'} - }, - form: { - _name: 'Form', - basic: { _name: 'Basic Form' }, - advanced: { _name: 'Advanced Form' }, - step: { _name: 'Step Form' } - }, - list: { - _name: 'List', - basic: { - _name: 'Basic List', - add: { _name: 'UserAdd' }, - edit: { _name: 'UserEdit' }, - details: { - ':id': { _name: '' } - } - }, - advanced: { _name: 'Advanced List' }, - card: { - _name: 'Card List', - project: { _name: 'Project' }, - application: { _name: 'Application' }, - article: { _name: 'Article' } - } - }, result: { _name: 'Result', success: { _name: 'Success' }, @@ -60,76 +18,5 @@ export default { '403': { _name: '403' }, '404': { _name: '404' }, '500': { _name: '500' } - }, - user: { - _name: 'User', - profile: { _name: 'Profile' }, - message: { _name: 'Message' } - }, - extension: { - _name: 'Extension', - tag: { _name: 'Tags' }, - dialog: { _name: 'DragDialog' }, - file: { _name: 'FileList' }, - upload: { _name: 'ImageUpload' }, - dragsort: { _name: 'DragSort' }, - colorPicker: { _name: 'ColorPicker' }, - regions: { _name: 'CitySelect' }, - printer: { _name: 'Printer' }, - excel: { _name: 'Excel' }, - countUp: { _name: 'CountUp' }, - tableSelect: { _name: 'TableSelect' }, - player: { _name: 'Player' }, - map: { _name: 'Map' }, - qrCode: { _name: 'QRCode' }, - barCode: { _name: 'BarCode' }, - editor: { _name: 'Editor' }, - markdown: { _name: 'Markdown' } - }, - example: { - _name: 'Example', - table: { _name: 'ProTable' }, - menuBadge: { _name: 'MenuBadge' }, - eleadmin: { _name: 'IFrame' }, - eleadminDoc: { _name: 'IFrame2' }, - document: { _name: 'Document' }, - choose: { _name: 'Choose' } - }, - 'https://eleadminCom/goods/9': { _name: 'Authorization' }, - website: { - _name: 'Content', - index: { - _name: 'Home' - }, - navigation: { - _name: 'Category' - }, - article: { - _name: 'Article' - }, - link: { - _name: 'Link' - }, - order: { - _name: 'Order' - }, - photo: { - _name: 'Photo' - }, - ad: { - _name: 'Ad' - }, - form: { - _name: 'Form' - }, - dict: { - _name: 'Source' - }, - field: { - _name: 'Configuration' - }, - template: { - _name: 'Template' - } } }; diff --git a/src/i18n/lang/zh_CN/route.ts b/src/i18n/lang/zh_CN/route.ts index 522e1c1..92944ee 100644 --- a/src/i18n/lang/zh_CN/route.ts +++ b/src/i18n/lang/zh_CN/route.ts @@ -2,54 +2,6 @@ export default { login: { _name: '登录' }, forget: { _name: '忘记密码' }, - system: { - _name: '系统管理', - user: { - _name: '用户管理', - add: { _name: '添加用户' }, - edit: { _name: '修改用户' }, - details: { _name: '' } - }, - role: { _name: '角色管理' }, - menu: { _name: '菜单管理' }, - dictionary: { _name: '公共字典' }, - dict: { _name: '字典管理' }, - loginRecord: { _name: '登录日志' }, - operationRecord: { _name: '操作日志' }, - file: { _name: '文件管理' }, - admin: {_name: '员工管理'}, - setting: {_name: '系统设置'} - }, - link: { - _name: '网址导航', - add: { _name: '添加网址' }, - edit: { _name: '修改网址' }, - details: { _name: '' } - }, - form: { - _name: '表单页面', - basic: { _name: '基础表单' }, - advanced: { _name: '复杂表单' }, - step: { _name: '分步表单' } - }, - list: { - _name: '列表页面', - basic: { - _name: '基础列表', - add: { _name: '添加用户' }, - edit: { _name: '修改用户' }, - details: { - ':id': { _name: '' } - } - }, - advanced: { _name: '复杂列表' }, - card: { - _name: '卡片列表', - project: { _name: '项目列表' }, - application: { _name: '应用列表' }, - article: { _name: '文章列表' } - } - }, result: { _name: '结果页面', success: { _name: '成功页' }, @@ -60,76 +12,5 @@ export default { '403': { _name: '403' }, '404': { _name: '404' }, '500': { _name: '500' } - }, - user: { - _name: '用户管理', - profile: { _name: '账号中心' }, - message: { _name: '我的消息' } - }, - extension: { - _name: '扩展组件', - tag: { _name: '标签组件' }, - dialog: { _name: '拖拽弹窗' }, - file: { _name: '文件列表' }, - upload: { _name: '图片上传' }, - dragsort: { _name: '拖拽排序' }, - colorPicker: { _name: '颜色选择' }, - regions: { _name: '城市选择' }, - printer: { _name: '打印插件' }, - excel: { _name: 'excel插件' }, - countUp: { _name: '滚动数字' }, - tableSelect: { _name: '表格下拉' }, - player: { _name: '视频播放' }, - map: { _name: '地图组件' }, - qrCode: { _name: '二维码' }, - barCode: { _name: '条形码' }, - editor: { _name: '富文本框' }, - markdown: { _name: 'markdown' } - }, - example: { - _name: '常用实例', - table: { _name: '表格实例' }, - menuBadge: { _name: '菜单徽章' }, - eleadmin: { _name: '内嵌页面' }, - eleadminDoc: { _name: '内嵌文档' }, - document: { _name: '案卷调整' }, - choose: { _name: '批量选择' } - }, - 'https://eleadminCom/goods/9': { _name: '获取授权' }, - website: { - _name: '内容管理', - index: { - _name: '网站设置' - }, - navigation: { - _name: '栏目导航' - }, - article: { - _name: '文章管理' - }, - link: { - _name: '友情链接' - }, - order: { - _name: '订单管理' - }, - photo: { - _name: '素材管理' - }, - ad: { - _name: '广告管理' - }, - form: { - _name: '表单管理' - }, - dict: { - _name: '文章来源' - }, - field: { - _name: '扩展程序' - }, - template: { - _name: '网站模板' - } } }; diff --git a/src/layout/components/header-tools.vue b/src/layout/components/header-tools.vue index e92676f..4c6a87b 100644 --- a/src/layout/components/header-tools.vue +++ b/src/layout/components/header-tools.vue @@ -3,7 +3,7 @@
- +
@@ -95,12 +95,12 @@
diff --git a/src/store/modules/setting.ts b/src/store/modules/setting.ts index 8c10572..0b654a8 100644 --- a/src/store/modules/setting.ts +++ b/src/store/modules/setting.ts @@ -2,10 +2,9 @@ * 网站设置 store */ import { defineStore } from 'pinia'; -import { CmsWebsiteSetting } from '@/api/cms/cmsWebsiteSetting/model'; export interface ParamsState { - setting: CmsWebsiteSetting | null; + setting: any | null; } export const useWebsiteSettingStore = defineStore({ @@ -16,8 +15,11 @@ export const useWebsiteSettingStore = defineStore({ }), getters: {}, actions: { - setSetting(value: CmsWebsiteSetting) { + setSetting(value: any) { this.setting = value; }, + getSetting(value: any){ + return value; + } }, }); diff --git a/src/store/modules/theme.ts b/src/store/modules/theme.ts index 04f5877..ebee743 100644 --- a/src/store/modules/theme.ts +++ b/src/store/modules/theme.ts @@ -100,17 +100,8 @@ let disableTransitionTimer: number, updateContentSizeTimer: number; function getCacheSetting(): any { try { const value = localStorage.getItem(THEME_STORE_NAME); - // 加载redis缓存 - // getCache('theme').then((data) => { - // if (typeof data === 'object') { - // // 写入本地缓存 - // localStorage.setItem(THEME_STORE_NAME, JSON.stringify(data)); - // return data; - // } - // }); if (value) { const cache = JSON.parse(value); - // 加载本地缓存 if (typeof cache === 'object') { return cache; } diff --git a/src/views/cms/cmsAd/index.vue b/src/views/cms/cmsAd/index.vue index 33873b5..d4a7ea2 100644 --- a/src/views/cms/cmsAd/index.vue +++ b/src/views/cms/cmsAd/index.vue @@ -246,9 +246,7 @@ const query = () => { loading.value = true; // 加载栏目数据 if (!navigationList.value) { - listCmsNavigation({ - lang: localStorage.getItem('i18n-lang') || undefined - }).then((res) => { + listCmsNavigation({}).then((res) => { navigationList.value = toTreeData({ data: res?.map((d) => { d.value = d.navigationId; diff --git a/src/views/cms/cmsArticle/components/articleEdit.vue b/src/views/cms/cmsArticle/components/articleEdit.vue index 7e17ff5..7588192 100644 --- a/src/views/cms/cmsArticle/components/articleEdit.vue +++ b/src/views/cms/cmsArticle/components/articleEdit.vue @@ -1261,13 +1261,6 @@ watch( if (data.content) { content.value = data.content; } - if (data.image) { - images.value.push({ - uid: uuid(), - url: data.image, - status: 'done' - }); - } if (!data.source) { form.source = undefined; } @@ -1289,6 +1282,13 @@ watch( }); }); } + if (data.image && !data.files) { + files.value.push({ + uid: uuid(), + url: data.image, + status: 'done' + }); + } loading.value = false; isUpdate.value = true; } else { diff --git a/src/views/cms/cmsArticle/index.vue b/src/views/cms/cmsArticle/index.vue index 59ff1c4..465b7e2 100644 --- a/src/views/cms/cmsArticle/index.vue +++ b/src/views/cms/cmsArticle/index.vue @@ -397,9 +397,7 @@ const customRow = (record: CmsArticle) => { // 加载栏目数据 if (!navigationList.value) { - listCmsNavigation({ - lang: localStorage.getItem('i18n-lang') || undefined - }).then((res) => { + listCmsNavigation({}).then((res) => { navigationList.value = toTreeData({ data: res?.map((d) => { d.value = d.navigationId; diff --git a/src/views/cms/cmsLink/index.vue b/src/views/cms/cmsLink/index.vue index bb55223..492bee5 100644 --- a/src/views/cms/cmsLink/index.vue +++ b/src/views/cms/cmsLink/index.vue @@ -232,7 +232,7 @@ const query = () => { loading.value = true; // 加载栏目数据 if (!navigationList.value) { - listCmsNavigation({lang: getLang()}).then((res) => { + listCmsNavigation({}).then((res) => { navigationList.value = toTreeData({ data: res?.map((d) => { d.value = d.navigationId; diff --git a/src/views/cms/cmsNavigation/index.vue b/src/views/cms/cmsNavigation/index.vue index 7a9506b..985dc5f 100644 --- a/src/views/cms/cmsNavigation/index.vue +++ b/src/views/cms/cmsNavigation/index.vue @@ -160,14 +160,15 @@ - - - - - - - - + 修改 + + + 删除 + @@ -542,7 +543,7 @@ const customRow = (record: CmsNavigation) => { }, // 行双击事件 onDblclick: () => { - if(record.model !== 'index'){ + if (record.model !== 'index') { openEdit(record); } } diff --git a/src/views/cms/cmsSetting/index.vue b/src/views/cms/cmsSetting/index.vue index 6303913..adbc88a 100644 --- a/src/views/cms/cmsSetting/index.vue +++ b/src/views/cms/cmsSetting/index.vue @@ -21,6 +21,9 @@ + + + @@ -61,7 +64,10 @@ import router from "@/router"; import {CmsWebsiteSetting} from "@/api/cms/cmsWebsiteSetting/model"; import {getCmsWebsiteSetting, updateCmsWebsiteSetting} from "@/api/cms/cmsWebsiteSetting"; + import {useWebsiteSettingStore} from "@/store/modules/setting"; + // 网站设置信息 + const setting = useWebsiteSettingStore(); const useForm = Form.useForm; // 是否开启响应式布局 const themeStore = useThemeStore(); @@ -87,6 +93,7 @@ searchBtn: undefined, loginBtn: undefined, floatTool: undefined, + showCopyright: undefined, copyrightLink: undefined, maxMenuNum: undefined, deleted: undefined, @@ -137,6 +144,7 @@ const formData = { ...form }; + setting.setSetting(formData); updateCmsWebsiteSetting(formData) .then((msg) => { loading.value = false; diff --git a/src/views/cms/cmsWebsiteSetting/components/cmsWebsiteSettingEdit.vue b/src/views/cms/cmsWebsiteSetting/components/cmsWebsiteSettingEdit.vue index 536b30d..ca7b8d8 100644 --- a/src/views/cms/cmsWebsiteSetting/components/cmsWebsiteSettingEdit.vue +++ b/src/views/cms/cmsWebsiteSetting/components/cmsWebsiteSettingEdit.vue @@ -133,14 +133,13 @@ diff --git a/src/views/shop/shopGoods/index.vue b/src/views/shop/shopGoods/index.vue index 3973646..6f9fbec 100644 --- a/src/views/shop/shopGoods/index.vue +++ b/src/views/shop/shopGoods/index.vue @@ -1,7 +1,7 @@