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