Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
phsl
/
admin
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
0e2ea395
authored
Sep 09, 2023
by
YunaiV
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
code review:会员详情
parent
30f0c1b3
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
41 additions
and
49 deletions
+41
-49
src/api/member/experience-record/index.ts
+0
-20
src/utils/dict.ts
+1
-1
src/views/mall/trade/order/index.vue
+2
-2
src/views/member/user/detail/UserExperienceRecordList.vue
+17
-21
src/views/member/user/detail/UserOrderList.vue
+17
-1
src/views/member/user/detail/index.vue
+4
-4
No files found.
src/api/member/experience-record/index.ts
View file @
0e2ea395
...
...
@@ -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
})
}
src/utils/dict.ts
View file @
0e2ea395
...
...
@@ -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'
,
// 商户支付回调状态
...
...
src/views/mall/trade/order/index.vue
View file @
0e2ea395
...
...
@@ -267,7 +267,7 @@
<
template
#
default
>
<!-- TODO 权限后续补齐 -->
<div
class=
"flex justify-center items-center"
>
<el-button
link
type=
"primary"
@
click=
"open
Form
(scope.row.id)"
>
<el-button
link
type=
"primary"
@
click=
"open
Detail
(scope.row.id)"
>
<Icon
icon=
"ep:notification"
/>
详情
</el-button>
...
...
@@ -445,7 +445,7 @@ const imagePreview = (imgUrl: string) => {
}
/** 查看订单详情 */
const
open
Form
=
(
id
:
number
)
=>
{
const
open
Detail
=
(
id
:
number
)
=>
{
push
({
name
:
'TradeOrderDetail'
,
params
:
{
orderId
:
id
}
})
}
...
...
src/views/member/user/detail/UserExperienceRecord.vue
→
src/views/member/user/detail/UserExperienceRecord
List
.vue
View file @
0e2ea395
...
...
@@ -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
:
'UserExperienceRecord
List
'
})
const
loading
=
ref
(
true
)
// 列表的加载中
const
total
=
ref
(
0
)
// 列表的总页数
...
...
src/views/member/user/detail/UserOrder.vue
→
src/views/member/user/detail/UserOrder
List
.vue
View file @
0e2ea395
...
...
@@ -139,7 +139,7 @@
<el-table
v-loading=
"loading"
:data=
"list"
>
<el-table-column
class-name=
"order-table-col"
>
<
template
#
header
>
<!-- TODO @phui999:小屏幕下,会有偏移,后续看看 -->
<!-- TODO @p
u
hui999:小屏幕下,会有偏移,后续看看 -->
<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
...
...
src/views/member/user/detail/index.vue
View file @
0e2ea395
...
...
@@ -37,14 +37,14 @@
<UserSignList
:user-id=
"id"
/>
</el-tab-pane>
<el-tab-pane
label=
"成长值"
name=
"experience"
lazy
>
<UserExperienceRecord
:user-id=
"id"
<UserExperienceRecord
List
: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"
/>
<UserOrder
List
: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
UserExperienceRecord
List
from
'./UserExperienceRecordList
.vue'
import
{
CardTitle
}
from
'@/components/Card/index'
import
UserOrder
from
'@/views/member/user/detail/UserOrder
.vue'
import
UserOrder
List
from
'@/views/member/user/detail/UserOrderList
.vue'
defineOptions
({
name
:
'MemberDetail'
})
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment