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 @@
-
+
{{ fenToYuan(scope.row.refundPrice) }} 元
@@ -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 @@