code review:会员详情
This commit is contained in:
parent
30f0c1b351
commit
0e2ea39591
@ -20,23 +20,3 @@ export const getExperienceRecordPage = async (params) => {
|
||||
export const getExperienceRecord = async (id: number) => {
|
||||
return await request.get({ url: `/member/experience-record/get?id=` + id })
|
||||
}
|
||||
|
||||
// 新增会员经验记录
|
||||
export const createExperienceRecord = async (data: ExperienceRecordVO) => {
|
||||
return await request.post({ url: `/member/experience-record/create`, data })
|
||||
}
|
||||
|
||||
// 修改会员经验记录
|
||||
export const updateExperienceRecord = async (data: ExperienceRecordVO) => {
|
||||
return await request.put({ url: `/member/experience-record/update`, data })
|
||||
}
|
||||
|
||||
// 删除会员经验记录
|
||||
export const deleteExperienceRecord = async (id: number) => {
|
||||
return await request.delete({ url: `/member/experience-record/delete?id=` + id })
|
||||
}
|
||||
|
||||
// 导出会员经验记录 Excel
|
||||
export const exportExperienceRecord = async (params) => {
|
||||
return await request.download({ url: `/member/experience-record/export-excel`, params })
|
||||
}
|
||||
|
@ -138,7 +138,7 @@ export enum DICT_TYPE {
|
||||
BPM_OA_LEAVE_TYPE = 'bpm_oa_leave_type',
|
||||
|
||||
// ========== PAY 模块 ==========
|
||||
PAY_CHANNEL_CODE = 'pay_channel_code_type', // 支付渠道编码类型
|
||||
PAY_CHANNEL_CODE = 'pay_channel_code', // 支付渠道编码类型
|
||||
PAY_ORDER_STATUS = 'pay_order_status', // 商户支付订单状态
|
||||
PAY_REFUND_STATUS = 'pay_refund_status', // 退款订单状态
|
||||
PAY_NOTIFY_STATUS = 'pay_notify_status', // 商户支付回调状态
|
||||
|
@ -267,7 +267,7 @@
|
||||
<template #default>
|
||||
<!-- TODO 权限后续补齐 -->
|
||||
<div class="flex justify-center items-center">
|
||||
<el-button link type="primary" @click="openForm(scope.row.id)">
|
||||
<el-button link type="primary" @click="openDetail(scope.row.id)">
|
||||
<Icon icon="ep:notification" />
|
||||
详情
|
||||
</el-button>
|
||||
@ -445,7 +445,7 @@ const imagePreview = (imgUrl: string) => {
|
||||
}
|
||||
|
||||
/** 查看订单详情 */
|
||||
const openForm = (id: number) => {
|
||||
const openDetail = (id: number) => {
|
||||
push({ name: 'TradeOrderDetail', params: { orderId: id } })
|
||||
}
|
||||
|
||||
|
@ -54,19 +54,12 @@
|
||||
<ContentWrap>
|
||||
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
|
||||
<el-table-column label="编号" align="center" prop="id" width="150px" />
|
||||
<el-table-column label="业务编号" align="center" prop="bizId" width="150px">
|
||||
<!-- TODO 芋艿:此处应创建对应的字典 -->
|
||||
<template #default="scope">
|
||||
<dict-tag :type="DICT_TYPE.MEMBER_EXPERIENCE_BIZ_ID" :value="scope.row.bizId" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="业务类型" align="center" prop="bizType" width="150px">
|
||||
<template #default="scope">
|
||||
<dict-tag :type="DICT_TYPE.MEMBER_EXPERIENCE_BIZ_TYPE" :value="scope.row.bizType" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="标题" align="center" prop="title" width="150px" />
|
||||
<el-table-column label="描述" align="center" prop="description" />
|
||||
<el-table-column
|
||||
label="获得时间"
|
||||
align="center"
|
||||
prop="createTime"
|
||||
:formatter="dateFormatter"
|
||||
/>
|
||||
<el-table-column label="经验" align="center" prop="experience" width="150px">
|
||||
<template #default="scope">
|
||||
<el-tag v-if="scope.row.experience > 0" class="ml-2" type="success" effect="dark">
|
||||
@ -77,19 +70,22 @@
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="变更后的经验" align="center" prop="totalExperience" width="150px">
|
||||
<el-table-column label="总经验" align="center" prop="totalExperience" width="150px">
|
||||
<template #default="scope">
|
||||
<el-tag class="ml-2" effect="dark">
|
||||
{{ scope.row.totalExperience }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="创建时间"
|
||||
align="center"
|
||||
prop="createTime"
|
||||
:formatter="dateFormatter"
|
||||
/>
|
||||
<el-table-column label="标题" align="center" prop="title" width="150px" />
|
||||
<el-table-column label="描述" align="center" prop="description" />
|
||||
<el-table-column label="业务编号" align="center" prop="bizId" width="150px" />
|
||||
<el-table-column label="业务类型" align="center" prop="bizType" width="150px">
|
||||
<!-- TODO 芋艿:此处应创建对应的字典 -->
|
||||
<template #default="scope">
|
||||
<dict-tag :type="DICT_TYPE.MEMBER_EXPERIENCE_BIZ_TYPE" :value="scope.row.bizType" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!-- 分页 -->
|
||||
<Pagination
|
||||
@ -106,7 +102,7 @@ import { dateFormatter } from '@/utils/formatTime'
|
||||
import * as ExperienceRecordApi from '@/api/member/experience-record/index'
|
||||
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
|
||||
|
||||
defineOptions({ name: 'UserExperienceRecord' })
|
||||
defineOptions({ name: 'UserExperienceRecordList' })
|
||||
|
||||
const loading = ref(true) // 列表的加载中
|
||||
const total = ref(0) // 列表的总页数
|
@ -139,7 +139,7 @@
|
||||
<el-table v-loading="loading" :data="list">
|
||||
<el-table-column class-name="order-table-col">
|
||||
<template #header>
|
||||
<!-- TODO @phui999:小屏幕下,会有偏移,后续看看 -->
|
||||
<!-- TODO @puhui999:小屏幕下,会有偏移,后续看看 -->
|
||||
<div class="flex items-center" style="width: 100%">
|
||||
<div class="ml-100px mr-200px">商品信息</div>
|
||||
<div class="mr-60px">单价(元)/数量</div>
|
||||
@ -263,6 +263,14 @@
|
||||
<dict-tag :type="DICT_TYPE.TRADE_ORDER_STATUS" :value="scope.row.status" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column align="center" fixed="right" label="操作" width="160">
|
||||
<template #default>
|
||||
<el-button link type="primary" @click="openDetail(scope.row.id)">
|
||||
<Icon icon="ep:notification" />
|
||||
详情
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@ -287,6 +295,8 @@ import { createImageViewer } from '@/components/ImageViewer'
|
||||
import * as TradeOrderApi from '@/api/mall/trade/order'
|
||||
import { FormInstance, TableColumnCtx } from 'element-plus'
|
||||
|
||||
const { push } = useRouter() // 路由跳转
|
||||
|
||||
const { userId }: { userId: number } = defineProps({
|
||||
userId: {
|
||||
type: Number,
|
||||
@ -376,6 +386,12 @@ const spanMethod = ({ row, rowIndex, columnIndex }: SpanMethodProps) => {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** 查看订单详情 */
|
||||
const openDetail = (id: number) => {
|
||||
push({ name: 'TradeOrderDetail', params: { orderId: id } })
|
||||
}
|
||||
|
||||
/** 初始化 **/
|
||||
onMounted(async () => {
|
||||
queryParams.userId = userId
|
@ -37,14 +37,14 @@
|
||||
<UserSignList :user-id="id" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="成长值" name="experience" lazy>
|
||||
<UserExperienceRecord :user-id="id"
|
||||
<UserExperienceRecordList :user-id="id"
|
||||
/></el-tab-pane>
|
||||
<el-tab-pane label="余额" name="fourth">余额(WIP)</el-tab-pane>
|
||||
<el-tab-pane label="收货地址" name="address" lazy>
|
||||
<UserAddressList :user-id="id" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="订单管理" name="order" lazy>
|
||||
<UserOrder :user-id="id" />
|
||||
<UserOrderList :user-id="id" />
|
||||
</el-tab-pane>
|
||||
<el-tab-pane label="售后管理" name="fourth">售后管理(WIP)</el-tab-pane>
|
||||
<el-tab-pane label="收藏记录" name="fourth">收藏记录(WIP)</el-tab-pane>
|
||||
@ -66,9 +66,9 @@ import UserAccountInfo from './UserAccountInfo.vue'
|
||||
import UserAddressList from './UserAddressList.vue'
|
||||
import UserPointList from './UserPointList.vue'
|
||||
import UserSignList from './UserSignList.vue'
|
||||
import UserExperienceRecord from './UserExperienceRecord.vue'
|
||||
import UserExperienceRecordList from './UserExperienceRecordList.vue'
|
||||
import { CardTitle } from '@/components/Card/index'
|
||||
import UserOrder from '@/views/member/user/detail/UserOrder.vue'
|
||||
import UserOrderList from '@/views/member/user/detail/UserOrderList.vue'
|
||||
|
||||
defineOptions({ name: 'MemberDetail' })
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user