parent
23c4bde627
commit
a83db39abf
@ -17,6 +17,6 @@ export interface WalletVO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/** 查询用户钱包详情 */
|
/** 查询用户钱包详情 */
|
||||||
export const getUserWallet = async (params: PayWalletUserReqVO) => {
|
export const getWallet = async (params: PayWalletUserReqVO) => {
|
||||||
return await request.get<WalletVO>({ url: `/pay/wallet/user-wallet`, params })
|
return await request.get<WalletVO>({ url: `/pay/wallet/get`, params })
|
||||||
}
|
}
|
||||||
|
@ -392,23 +392,23 @@ const remainingRouter: AppRouteRecordRaw[] = [
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/trade', // 交易中心
|
path: '/mall/trade', // 交易中心
|
||||||
component: Layout,
|
component: Layout,
|
||||||
meta: {
|
meta: {
|
||||||
hidden: true
|
hidden: true
|
||||||
},
|
},
|
||||||
children: [
|
children: [
|
||||||
{
|
{
|
||||||
path: 'order/detail/:orderId(\\d+)',
|
path: 'order/detail/:id(\\d+)',
|
||||||
component: () => import('@/views/mall/trade/order/detail/index.vue'),
|
component: () => import('@/views/mall/trade/order/detail/index.vue'),
|
||||||
name: 'TradeOrderDetail',
|
name: 'TradeOrderDetail',
|
||||||
meta: { title: '订单详情', icon: '', activeMenu: '/trade/trade/order' }
|
meta: { title: '订单详情', icon: 'ep:view', activeMenu: '/mall/trade/order' }
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: 'after-sale/detail/:orderId(\\d+)',
|
path: 'after-sale/detail/:orderId(\\d+)',
|
||||||
component: () => import('@/views/mall/trade/afterSale/detail/index.vue'),
|
component: () => import('@/views/mall/trade/afterSale/detail/index.vue'),
|
||||||
name: 'TradeAfterSaleDetail',
|
name: 'TradeAfterSaleDetail',
|
||||||
meta: { title: '退款详情', icon: '', activeMenu: '/trade/trade/after-sale' }
|
meta: { title: '退款详情', icon: 'ep:view', activeMenu: '/mall/trade/after-sale' }
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -75,11 +75,11 @@
|
|||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="商品原价" prop="price" width="150">
|
<el-table-column label="商品原价" prop="price" width="150">
|
||||||
<template #default="{ row }">{{ floatToFixed2(row.price) }}元</template>
|
<template #default="{ row }">{{ fenToYuan(row.price) }}元</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="数量" prop="count" width="100" />
|
<el-table-column label="数量" prop="count" width="100" />
|
||||||
<el-table-column label="合计" prop="payPrice" width="150">
|
<el-table-column label="合计" prop="payPrice" width="150">
|
||||||
<template #default="{ row }">{{ floatToFixed2(row.payPrice) }}元</template>
|
<template #default="{ row }">{{ fenToYuan(row.payPrice) }}元</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="售后状态" prop="afterSaleStatus" width="120">
|
<el-table-column label="售后状态" prop="afterSaleStatus" width="120">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
@ -97,32 +97,32 @@
|
|||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
<el-descriptions :column="6">
|
<el-descriptions :column="6">
|
||||||
<el-descriptions-item label="商品总额: ">
|
<el-descriptions-item label="商品总额: ">
|
||||||
{{ floatToFixed2(formData.totalPrice!) }}元
|
{{ fenToYuan(formData.totalPrice!) }}元
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="运费金额: ">
|
<el-descriptions-item label="运费金额: ">
|
||||||
{{ floatToFixed2(formData.deliveryPrice!) }}元
|
{{ fenToYuan(formData.deliveryPrice!) }}元
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="订单调价: ">
|
<el-descriptions-item label="订单调价: ">
|
||||||
{{ floatToFixed2(formData.adjustPrice!) }}元
|
{{ fenToYuan(formData.adjustPrice!) }}元
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
|
|
||||||
<el-descriptions-item>
|
<el-descriptions-item>
|
||||||
<template #label><span style="color: red">商品优惠: </span></template>
|
<template #label><span style="color: red">商品优惠: </span></template>
|
||||||
{{ floatToFixed2(formData.couponPrice!) }}元
|
{{ fenToYuan(formData.couponPrice!) }}元
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item>
|
<el-descriptions-item>
|
||||||
<template #label><span style="color: red">订单优惠: </span></template>
|
<template #label><span style="color: red">订单优惠: </span></template>
|
||||||
{{ floatToFixed2(formData.discountPrice!) }}元
|
{{ fenToYuan(formData.discountPrice!) }}元
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item>
|
<el-descriptions-item>
|
||||||
<template #label><span style="color: red">积分抵扣: </span></template>
|
<template #label><span style="color: red">积分抵扣: </span></template>
|
||||||
{{ floatToFixed2(formData.pointPrice!) }}元
|
{{ fenToYuan(formData.pointPrice!) }}元
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
|
|
||||||
<el-descriptions-item v-for="item in 5" :key="item" label-class-name="no-colon" />
|
<el-descriptions-item v-for="item in 5" :key="item" label-class-name="no-colon" />
|
||||||
<!-- 占位 -->
|
<!-- 占位 -->
|
||||||
<el-descriptions-item label="应付金额: ">
|
<el-descriptions-item label="应付金额: ">
|
||||||
{{ floatToFixed2(formData.payPrice!) }}元
|
{{ fenToYuan(formData.payPrice!) }}元
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
|
|
||||||
@ -187,7 +187,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import * as TradeOrderApi from '@/api/mall/trade/order'
|
import * as TradeOrderApi from '@/api/mall/trade/order'
|
||||||
import { floatToFixed2 } from '@/utils'
|
import { fenToYuan } from '@/utils'
|
||||||
import { formatDate } from '@/utils/formatTime'
|
import { formatDate } from '@/utils/formatTime'
|
||||||
import { DICT_TYPE, getDictLabel, getDictObj } from '@/utils/dict'
|
import { DICT_TYPE, getDictLabel, getDictObj } from '@/utils/dict'
|
||||||
import OrderUpdateRemarkForm from '@/views/mall/trade/order/form/OrderUpdateRemarkForm.vue'
|
import OrderUpdateRemarkForm from '@/views/mall/trade/order/form/OrderUpdateRemarkForm.vue'
|
||||||
@ -243,11 +243,11 @@ const updatePrice = () => {
|
|||||||
/** 获得详情 */
|
/** 获得详情 */
|
||||||
const { params } = useRoute() // 查询参数
|
const { params } = useRoute() // 查询参数
|
||||||
const getDetail = async () => {
|
const getDetail = async () => {
|
||||||
const id = params.orderId as unknown as number
|
const id = params.id as unknown as number
|
||||||
if (id) {
|
if (id) {
|
||||||
const res = (await TradeOrderApi.getOrder(id)) as TradeOrderApi.OrderVO
|
const res = (await TradeOrderApi.getOrder(id)) as TradeOrderApi.OrderVO
|
||||||
// 没有表单信息则关闭页面返回
|
// 没有表单信息则关闭页面返回
|
||||||
if (res === null) {
|
if (!res) {
|
||||||
message.error('交易订单不存在')
|
message.error('交易订单不存在')
|
||||||
close()
|
close()
|
||||||
}
|
}
|
||||||
|
@ -466,7 +466,7 @@ const imagePreview = (imgUrl: string) => {
|
|||||||
|
|
||||||
/** 查看订单详情 */
|
/** 查看订单详情 */
|
||||||
const openDetail = (id: number) => {
|
const openDetail = (id: number) => {
|
||||||
push({ name: 'TradeOrderDetail', params: { orderId: id } })
|
push({ name: 'TradeOrderDetail', params: { id } })
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 操作分发 */
|
/** 操作分发 */
|
||||||
|
@ -28,19 +28,19 @@
|
|||||||
<template #label>
|
<template #label>
|
||||||
<descriptions-item-label label=" 当前余额 " icon="svg-icon:member_balance" />
|
<descriptions-item-label label=" 当前余额 " icon="svg-icon:member_balance" />
|
||||||
</template>
|
</template>
|
||||||
{{ wallet.balance || 0 }}
|
{{ fenToYuan(wallet.balance || 0) }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item>
|
<el-descriptions-item>
|
||||||
<template #label>
|
<template #label>
|
||||||
<descriptions-item-label label=" 支出金额 " icon="svg-icon:member_expenditure_balance" />
|
<descriptions-item-label label=" 支出金额 " icon="svg-icon:member_expenditure_balance" />
|
||||||
</template>
|
</template>
|
||||||
{{ wallet.totalExpense || 0 }}
|
{{ fenToYuan(wallet.totalExpense || 0) }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item>
|
<el-descriptions-item>
|
||||||
<template #label>
|
<template #label>
|
||||||
<descriptions-item-label label=" 充值金额 " icon="svg-icon:member_recharge_balance" />
|
<descriptions-item-label label=" 充值金额 " icon="svg-icon:member_recharge_balance" />
|
||||||
</template>
|
</template>
|
||||||
{{ wallet.totalRecharge || 0 }}
|
{{ fenToYuan(wallet.totalRecharge || 0) }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
</template>
|
</template>
|
||||||
@ -49,6 +49,7 @@ import { DescriptionsItemLabel } from '@/components/Descriptions'
|
|||||||
import * as UserApi from '@/api/member/user'
|
import * as UserApi from '@/api/member/user'
|
||||||
import * as WalletApi from '@/api/pay/wallet'
|
import * as WalletApi from '@/api/pay/wallet'
|
||||||
import { UserTypeEnum } from '@/utils/constants'
|
import { UserTypeEnum } from '@/utils/constants'
|
||||||
|
import { fenToYuan } from '@/utils'
|
||||||
|
|
||||||
const props = defineProps<{ user: UserApi.UserVO }>() // 用户信息
|
const props = defineProps<{ user: UserApi.UserVO }>() // 用户信息
|
||||||
const WALLET_INIT_DATA = {
|
const WALLET_INIT_DATA = {
|
||||||
@ -65,7 +66,7 @@ const getUserWallet = async () => {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
const params = { userId: props.user.id, userType: UserTypeEnum.MEMBER }
|
const params = { userId: props.user.id, userType: UserTypeEnum.MEMBER }
|
||||||
wallet.value = (await WalletApi.getUserWallet(params)) || WALLET_INIT_DATA
|
wallet.value = (await WalletApi.getWallet(params)) || WALLET_INIT_DATA
|
||||||
}
|
}
|
||||||
|
|
||||||
/** 监听用户编号变化 */
|
/** 监听用户编号变化 */
|
||||||
|
@ -182,9 +182,9 @@
|
|||||||
<!-- 表单弹窗:添加/修改 -->
|
<!-- 表单弹窗:添加/修改 -->
|
||||||
<UserForm ref="formRef" @success="getList" />
|
<UserForm ref="formRef" @success="getList" />
|
||||||
<!-- 修改用户等级弹窗 -->
|
<!-- 修改用户等级弹窗 -->
|
||||||
<UpdateLevelForm ref="updateLevelFormRef" @success="getList" />
|
<UserLevelUpdateForm ref="updateLevelFormRef" @success="getList" />
|
||||||
<!-- 修改用户积分弹窗 -->
|
<!-- 修改用户积分弹窗 -->
|
||||||
<UpdatePointForm ref="updatePointFormRef" @success="getList" />
|
<UserPointUpdateForm ref="updatePointFormRef" @success="getList" />
|
||||||
<!-- 发送优惠券弹窗 -->
|
<!-- 发送优惠券弹窗 -->
|
||||||
<CouponSendForm ref="couponSendFormRef" />
|
<CouponSendForm ref="couponSendFormRef" />
|
||||||
</template>
|
</template>
|
||||||
@ -196,8 +196,8 @@ import UserForm from './UserForm.vue'
|
|||||||
import MemberTagSelect from '@/views/member/tag/components/MemberTagSelect.vue'
|
import MemberTagSelect from '@/views/member/tag/components/MemberTagSelect.vue'
|
||||||
import MemberLevelSelect from '@/views/member/level/components/MemberLevelSelect.vue'
|
import MemberLevelSelect from '@/views/member/level/components/MemberLevelSelect.vue'
|
||||||
import MemberGroupSelect from '@/views/member/group/components/MemberGroupSelect.vue'
|
import MemberGroupSelect from '@/views/member/group/components/MemberGroupSelect.vue'
|
||||||
import UpdateLevelForm from './UpdateLevelForm.vue'
|
import UserLevelUpdateForm from './UserLevelUpdateForm.vue'
|
||||||
import UpdatePointForm from './UpdatePointForm.vue'
|
import UserPointUpdateForm from './UserPointUpdateForm.vue'
|
||||||
import CouponSendForm from '@/views/mall/promotion/coupon/components/CouponSendForm.vue'
|
import CouponSendForm from '@/views/mall/promotion/coupon/components/CouponSendForm.vue'
|
||||||
import { checkPermi } from '@/utils/permission'
|
import { checkPermi } from '@/utils/permission'
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user