diff --git a/package.json b/package.json index 48d16a277..8da172206 100644 --- a/package.json +++ b/package.json @@ -47,7 +47,7 @@ "driver.js": "^1.3.1", "echarts": "^5.5.0", "echarts-wordcloud": "^2.1.0", - "element-plus": "2.7.0", + "element-plus": "2.8.0", "fast-xml-parser": "^4.3.2", "highlight.js": "^11.9.0", "jsencrypt": "^3.3.2", diff --git a/src/api/pay/app/index.ts b/src/api/pay/app/index.ts index 4bb06b363..b1a2d0dd3 100644 --- a/src/api/pay/app/index.ts +++ b/src/api/pay/app/index.ts @@ -2,6 +2,7 @@ import request from '@/config/axios' export interface AppVO { id: number + appKey: string name: string status: number remark: string diff --git a/src/components/DiyEditor/components/mobile/PromotionCombination/index.vue b/src/components/DiyEditor/components/mobile/PromotionCombination/index.vue index 7bb7176ae..41f1f9d73 100644 --- a/src/components/DiyEditor/components/mobile/PromotionCombination/index.vue +++ b/src/components/DiyEditor/components/mobile/PromotionCombination/index.vue @@ -66,9 +66,9 @@ import { PromotionCombinationProperty } from './config' import * as ProductSpuApi from '@/api/mall/product/spu' import * as CombinationActivityApi from '@/api/mall/promotion/combination/combinationActivity' -import {Spu} from "@/api/mall/product/spu"; -import {CombinationProductVO} from "@/api/mall/promotion/combination/combinationActivity"; -import {fenToYuan} from "@/utils"; +import { Spu } from '@/api/mall/product/spu' +import { CombinationProductVO } from '@/api/mall/promotion/combination/combinationActivity' +import { fenToYuan } from '@/utils' /** 拼团 */ defineOptions({ name: 'PromotionCombination' }) @@ -87,9 +87,9 @@ watch( activity.products.forEach((product: CombinationProductVO) => { spuList.value.forEach((spu: Spu) => { // 商品原售价和拼团价,哪个便宜就赋值哪个 - spu.combinationPrice = Math.min(spu.combinationPrice || Infinity, product.combinationPrice); // 设置 SPU 的最低价格 + spu.combinationPrice = Math.min(spu.combinationPrice || Infinity, product.combinationPrice) // 设置 SPU 的最低价格 }) - }); + }) }, { immediate: true, diff --git a/src/components/DiyEditor/components/mobile/PromotionSeckill/index.vue b/src/components/DiyEditor/components/mobile/PromotionSeckill/index.vue index 63bee8eb7..6360a0448 100644 --- a/src/components/DiyEditor/components/mobile/PromotionSeckill/index.vue +++ b/src/components/DiyEditor/components/mobile/PromotionSeckill/index.vue @@ -66,9 +66,9 @@ import { PromotionSeckillProperty } from './config' import * as ProductSpuApi from '@/api/mall/product/spu' import * as SeckillActivityApi from '@/api/mall/promotion/seckill/seckillActivity' -import {Spu} from "@/api/mall/product/spu"; -import {SeckillProductVO} from "@/api/mall/promotion/seckill/seckillActivity"; -import {fenToYuan} from "@/utils"; +import { Spu } from '@/api/mall/product/spu' +import { SeckillProductVO } from '@/api/mall/promotion/seckill/seckillActivity' +import { fenToYuan } from '@/utils' /** 秒杀 */ defineOptions({ name: 'PromotionSeckill' }) @@ -87,9 +87,9 @@ watch( // 循环活动信息,赋值秒杀最低价格 activity.products.forEach((product: SeckillProductVO) => { spuList.value.forEach((spu: Spu) => { - spu.seckillPrice = Math.min(spu.seckillPrice || Infinity, product.seckillPrice); // 设置 SPU 的最低价格 + spu.seckillPrice = Math.min(spu.seckillPrice || Infinity, product.seckillPrice) // 设置 SPU 的最低价格 }) - }); + }) }, { immediate: true, diff --git a/src/layout/components/Setting/src/Setting.vue b/src/layout/components/Setting/src/Setting.vue index e1908b633..717472ac5 100644 --- a/src/layout/components/Setting/src/Setting.vue +++ b/src/layout/components/Setting/src/Setting.vue @@ -126,6 +126,8 @@ const copyConfig = async () => { message: ${appStore.getMessage}, // 标签页 tagsView: ${appStore.getTagsView}, + // 标签页 + tagsViewImmerse: ${appStore.getTagsViewImmerse}, // 标签页图标 getTagsViewIcon: ${appStore.getTagsViewIcon}, // logo diff --git a/src/layout/components/Setting/src/components/InterfaceDisplay.vue b/src/layout/components/Setting/src/components/InterfaceDisplay.vue index ebbbf4bc5..3ba5c6b07 100644 --- a/src/layout/components/Setting/src/components/InterfaceDisplay.vue +++ b/src/layout/components/Setting/src/components/InterfaceDisplay.vue @@ -73,6 +73,13 @@ const tagsViewChange = (show: boolean) => { appStore.setTagsView(show) } +// 标签页沉浸 +const tagsViewImmerse = ref(appStore.getTagsViewImmerse) + +const tagsViewImmerseChange = (immerse: boolean) => { + appStore.setTagsViewImmerse(immerse) +} + // 标签页图标 const tagsViewIcon = ref(appStore.getTagsViewIcon) @@ -181,6 +188,11 @@ watch( +
+ {{ t('setting.tagsViewImmerse') }} + +
+
{{ t('setting.tagsViewIcon') }} diff --git a/src/layout/components/TagsView/src/TagsView.vue b/src/layout/components/TagsView/src/TagsView.vue index 016109688..cdd7494d5 100644 --- a/src/layout/components/TagsView/src/TagsView.vue +++ b/src/layout/components/TagsView/src/TagsView.vue @@ -33,6 +33,8 @@ const affixTagArr = ref([]) const appStore = useAppStore() +const tagsViewImmerse = computed(() => appStore.getTagsViewImmerse) + const tagsViewIcon = computed(() => appStore.getTagsViewIcon) const isDark = computed(() => appStore.getIsDark) @@ -266,7 +268,7 @@ watch( class="relative w-full flex bg-[#fff] dark:bg-[var(--el-bg-color)]" > @@ -343,6 +345,9 @@ watch( :tag-item="item" :class="[ `${prefixCls}__item`, + tagsViewImmerse ? `${prefixCls}__item--immerse` : '', + tagsViewIcon ? `${prefixCls}__item--icon` : '', + tagsViewImmerse && tagsViewIcon ? `${prefixCls}__item--immerse--icon` : '', item?.meta?.affix ? `${prefixCls}__item--affix` : '', { 'is-active': isActive(item) @@ -354,7 +359,7 @@ watch(
@@ -395,7 +400,7 @@ watch( /> @@ -460,7 +465,7 @@ watch( ]" > { const code = route?.query?.code as string const state = route?.query?.state as string + const loginDataLoginForm = { ...loginData.loginForm } const res = await LoginApi.login({ // 账号密码登录 - username: loginData.loginForm.username, - password: loginData.loginForm.password, + username: loginDataLoginForm.username, + password: loginDataLoginForm.password, captchaVerification: params.captchaVerification, // 社交登录 socialCode: code, @@ -294,8 +295,8 @@ const handleLogin = async (params) => { text: '正在加载系统中...', background: 'rgba(0, 0, 0, 0.7)' }) - if (loginData.loginForm.rememberMe) { - authUtil.setLoginForm(loginData.loginForm) + if (loginDataLoginForm.rememberMe) { + authUtil.setLoginForm(loginDataLoginForm) } else { authUtil.removeLoginForm() } diff --git a/src/views/Login/components/LoginForm.vue b/src/views/Login/components/LoginForm.vue index 3dbaff3fc..0bdf55c50 100644 --- a/src/views/Login/components/LoginForm.vue +++ b/src/views/Login/components/LoginForm.vue @@ -249,8 +249,9 @@ const handleLogin = async (params) => { if (!data) { return } - loginData.loginForm.captchaVerification = params.captchaVerification - const res = await LoginApi.login(loginData.loginForm) + const loginDataLoginForm = { ...loginData.loginForm } + loginDataLoginForm.captchaVerification = params.captchaVerification + const res = await LoginApi.login(loginDataLoginForm) if (!res) { return } @@ -259,8 +260,8 @@ const handleLogin = async (params) => { text: '正在加载系统中...', background: 'rgba(0, 0, 0, 0.7)' }) - if (loginData.loginForm.rememberMe) { - authUtil.setLoginForm(loginData.loginForm) + if (loginDataLoginForm.rememberMe) { + authUtil.setLoginForm(loginDataLoginForm) } else { authUtil.removeLoginForm() } diff --git a/src/views/mall/product/spu/form/ProductAttributes.vue b/src/views/mall/product/spu/form/ProductAttributes.vue index 30b177479..d62002f97 100644 --- a/src/views/mall/product/spu/form/ProductAttributes.vue +++ b/src/views/mall/product/spu/form/ProductAttributes.vue @@ -74,7 +74,7 @@ const inputRef = ref([]) //标签输入框Ref const setInputRef = (el: any) => { if (el === null || typeof el === 'undefined') return // 如果不存在 id 相同的元素才添加 - if (!inputRef.value.some((item) => item.input?.attributes.id === el.input?.attributes.id)) { + if (!inputRef.value.some((item) => item.inputRef?.attributes.id === el.inputRef?.attributes.id)) { inputRef.value.push(el) } } diff --git a/src/views/mall/trade/afterSale/index.vue b/src/views/mall/trade/afterSale/index.vue index 52051c35b..c34d89493 100644 --- a/src/views/mall/trade/afterSale/index.vue +++ b/src/views/mall/trade/afterSale/index.vue @@ -135,7 +135,7 @@
- + @@ -206,6 +206,7 @@ const queryParams = reactive({ way: null, type: null }) + /** 查询列表 */ const getList = async () => { loading.value = true @@ -216,23 +217,26 @@ const getList = async () => { delete data.status } // 执行查询 - const res = (await AfterSaleApi.getAfterSalePage(data)) as AfterSaleApi.TradeAfterSaleVO[] - list.value = res.list + const res = await AfterSaleApi.getAfterSalePage(data) + list.value = res.list as AfterSaleApi.TradeAfterSaleVO[] total.value = res.total } finally { loading.value = false } } + /** 搜索按钮操作 */ const handleQuery = async () => { queryParams.pageNo = 1 await getList() } + /** 重置按钮操作 */ const resetQuery = () => { queryFormRef.value?.resetFields() handleQuery() } + /** tab 切换 */ const tabClick = async (tab: TabsPaneContext) => { queryParams.status = tab.paneName diff --git a/src/views/member/user/detail/UserAccountInfo.vue b/src/views/member/user/detail/UserAccountInfo.vue index 56a6ab63a..7b7d66224 100644 --- a/src/views/member/user/detail/UserAccountInfo.vue +++ b/src/views/member/user/detail/UserAccountInfo.vue @@ -50,31 +50,7 @@ import * as UserApi from '@/api/member/user' import * as WalletApi from '@/api/pay/wallet/balance' import { UserTypeEnum } from '@/utils/constants' import { fenToYuan } from '@/utils' - -const props = defineProps<{ user: UserApi.UserVO }>() // 用户信息 -const WALLET_INIT_DATA = { - balance: 0, - totalExpense: 0, - totalRecharge: 0 -} as WalletApi.WalletVO // 钱包初始化数据 -const wallet = ref(WALLET_INIT_DATA) // 钱包信息 - -/** 查询用户钱包信息 */ -const getUserWallet = async () => { - if (!props.user.id) { - wallet.value = WALLET_INIT_DATA - return - } - const params = { userId: props.user.id } - wallet.value = (await WalletApi.getWallet(params)) || WALLET_INIT_DATA -} - -/** 监听用户编号变化 */ -watch( - () => props.user.id, - () => getUserWallet(), - { immediate: true } -) +const props = defineProps<{ user: UserApi.UserVO; wallet: WalletApi.WalletVO }>() // 用户信息 diff --git a/src/views/member/user/detail/index.vue b/src/views/member/user/detail/index.vue index 6237cca62..c87c1253f 100644 --- a/src/views/member/user/detail/index.vue +++ b/src/views/member/user/detail/index.vue @@ -20,7 +20,7 @@ - + @@ -40,14 +40,18 @@ - 余额(WIP) + + + - 售后管理(WIP) + + + @@ -66,6 +70,7 @@