diff --git a/src/api/member/address/index.ts b/src/api/member/address/index.ts
new file mode 100644
index 00000000..cc16980d
--- /dev/null
+++ b/src/api/member/address/index.ts
@@ -0,0 +1,40 @@
+import request from '@/config/axios'
+
+export interface AddressVO {
+ id: number
+ name: string
+ mobile: string
+ areaId: number
+ detailAddress: string
+ defaultStatus: boolean
+}
+
+// 查询用户收件地址列表
+export const getAddressPage = async (params) => {
+ return await request.get({ url: `/member/address/page`, params })
+}
+
+// 查询用户收件地址详情
+export const getAddress = async (id: number) => {
+ return await request.get({ url: `/member/address/get?id=` + id })
+}
+
+// 新增用户收件地址
+export const createAddress = async (data: AddressVO) => {
+ return await request.post({ url: `/member/address/create`, data })
+}
+
+// 修改用户收件地址
+export const updateAddress = async (data: AddressVO) => {
+ return await request.put({ url: `/member/address/update`, data })
+}
+
+// 删除用户收件地址
+export const deleteAddress = async (id: number) => {
+ return await request.delete({ url: `/member/address/delete?id=` + id })
+}
+
+// 导出用户收件地址 Excel
+export const exportAddress = async (params) => {
+ return await request.download({ url: `/member/address/export-excel`, params })
+}
diff --git a/src/api/member/user/index.ts b/src/api/member/user/index.ts
index 3a789e9f..dd417f68 100644
--- a/src/api/member/user/index.ts
+++ b/src/api/member/user/index.ts
@@ -1,21 +1,21 @@
import request from '@/config/axios'
export interface UserVO {
+ areaId: number | undefined
+ areaName: string | undefined
+ avatar: string | undefined
+ birthday: number | undefined
+ createTime: number | undefined
id: number
- mobile: string
- password: string
- status: number
- registerIp: string
+ loginDate: number | undefined
loginIp: string
- loginDate: Date
- nickname: string
- avatar: string
- name: string
- sex: number
- areaId: number
- birthday: Date
mark: string
- createTime: Date
+ mobile: string
+ name: string | undefined
+ nickname: string | undefined
+ registerIp: string
+ sex: number
+ status: number
}
// TODO @梦:和 UserVO 搞成一个把。
@@ -32,6 +32,7 @@ export interface UserBaseInfoVO {
name: string | null | undefined
sex: number
areaId: number | null | undefined
+ areaName: string | null | undefined
birthday: Date | null | undefined
mark: string | null | undefined
createTime: Date | null | undefined
diff --git a/src/router/modules/remaining.ts b/src/router/modules/remaining.ts
index 2d8e2b44..8bd56119 100644
--- a/src/router/modules/remaining.ts
+++ b/src/router/modules/remaining.ts
@@ -434,7 +434,7 @@ const remainingRouter: AppRouteRecordRaw[] = [
meta: { hidden: true },
children: [
{
- path: 'user/detail',
+ path: 'user/detail/:userId',
name: 'MemberUserDetail',
meta: {
title: '会员详情',
diff --git a/src/utils/formatTime.ts b/src/utils/formatTime.ts
index 5e5c854d..87409260 100644
--- a/src/utils/formatTime.ts
+++ b/src/utils/formatTime.ts
@@ -11,7 +11,7 @@ import dayjs from 'dayjs'
* @description format 季度 + 星期 + 几周:"YYYY-mm-dd HH:MM:SS WWW QQQQ ZZZ"
* @returns 返回拼接后的时间字符串
*/
-export function formatDate(date: Date, format?: string): string {
+export function formatDate(date: Date | number, format?: string): string {
// 日期不存在,则返回空
if (!date) {
return ''
diff --git a/src/views/member/user/components/account-info.vue b/src/views/member/user/components/AccountInfo.vue
similarity index 100%
rename from src/views/member/user/components/account-info.vue
rename to src/views/member/user/components/AccountInfo.vue
diff --git a/src/views/member/user/components/AddressList.vue b/src/views/member/user/components/AddressList.vue
new file mode 100644
index 00000000..af6ef83d
--- /dev/null
+++ b/src/views/member/user/components/AddressList.vue
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/member/user/components/card-title.vue b/src/views/member/user/components/CardTitle.vue
similarity index 100%
rename from src/views/member/user/components/card-title.vue
rename to src/views/member/user/components/CardTitle.vue
diff --git a/src/views/member/user/components/point-list.vue b/src/views/member/user/components/PointList.vue
similarity index 96%
rename from src/views/member/user/components/point-list.vue
rename to src/views/member/user/components/PointList.vue
index 2b2b98e4..a98a622f 100644
--- a/src/views/member/user/components/point-list.vue
+++ b/src/views/member/user/components/PointList.vue
@@ -17,7 +17,7 @@
>
@@ -112,7 +112,7 @@ const queryParams = reactive({
bizType: undefined,
title: null,
createDate: [],
- userId: null
+ userId: NaN
})
const queryFormRef = ref() // 搜索的表单
@@ -140,9 +140,8 @@ const resetQuery = () => {
handleQuery()
}
-// TODO @梦:改成 userId 哈
-const { memberId } = defineProps({
- memberId: {
+const { userId } = defineProps({
+ userId: {
type: Number,
required: true
}
@@ -150,7 +149,7 @@ const { memberId } = defineProps({
/** 初始化 **/
onMounted(() => {
- queryParams.userId = memberId
+ queryParams.userId = userId
getList()
})
diff --git a/src/views/member/user/components/sign-list.vue b/src/views/member/user/components/SignList.vue
similarity index 97%
rename from src/views/member/user/components/sign-list.vue
rename to src/views/member/user/components/SignList.vue
index 479e18a7..47fbd155 100644
--- a/src/views/member/user/components/sign-list.vue
+++ b/src/views/member/user/components/SignList.vue
@@ -92,6 +92,7 @@ const list = ref([]) // 列表的数据
const queryParams = reactive({
pageNo: 1,
pageSize: 10,
+ userId: NaN,
nickname: null,
day: null,
createTime: []
@@ -122,9 +123,8 @@ const resetQuery = () => {
handleQuery()
}
-// TODO @梦:改成 userId 哈
-const { memberId } = defineProps({
- memberId: {
+const { userId } = defineProps({
+ userId: {
type: Number,
required: true
}
@@ -132,7 +132,7 @@ const { memberId } = defineProps({
/** 初始化 **/
onMounted(() => {
- queryParams.userId = memberId
+ queryParams.userId = userId
getList()
})
diff --git a/src/views/member/user/components/UserBasicInfo.vue b/src/views/member/user/components/UserBasicInfo.vue
new file mode 100644
index 00000000..50d16413
--- /dev/null
+++ b/src/views/member/user/components/UserBasicInfo.vue
@@ -0,0 +1,90 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ user.name || '空' }}
+
+
+
+
+
+ {{ user.nickname }}
+
+
+
+
+
+ {{ user.mobile }}
+
+
+
+
+
+
+
+
+
+
+
+ {{ user.areaName }}
+
+
+
+
+
+ {{ user.registerIp }}
+
+
+
+
+
+ {{ user.birthday ? formatDate(user.birthday) : '空' }}
+
+
+
+
+
+ {{ user.createTime ? formatDate(user.createTime) : '空' }}
+
+
+
+
+
+ {{ user.loginDate ? formatDate(user.loginDate) : '空' }}
+
+
+
+
+
+
+
+
diff --git a/src/views/member/user/components/address-list.vue b/src/views/member/user/components/address-list.vue
deleted file mode 100644
index 6d47bda5..00000000
--- a/src/views/member/user/components/address-list.vue
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
- 收货地址列表
-
-
-
diff --git a/src/views/member/user/components/descriptions/DescriptionsItemLabel.vue b/src/views/member/user/components/descriptions/DescriptionsItemLabel.vue
new file mode 100644
index 00000000..35783351
--- /dev/null
+++ b/src/views/member/user/components/descriptions/DescriptionsItemLabel.vue
@@ -0,0 +1,28 @@
+
+
+
+
+
+ {{ label }}
+
+
+
+
diff --git a/src/views/member/user/detail/index.vue b/src/views/member/user/detail/index.vue
index c77934d1..967a4110 100644
--- a/src/views/member/user/detail/index.vue
+++ b/src/views/member/user/detail/index.vue
@@ -1,12 +1,11 @@
-
+
-
+
-
-
-
-
-
-
-
-
-
-
- 用户名
-
-
- {{ user.name || '空' }}
-
-
-
-
-
- 昵称
-
-
- {{ user.nickname }}
-
-
-
-
-
- 手机号
-
-
- {{ user.mobile }}
-
-
-
-
-
- 性别
-
-
-
-
-
-
-
-
- 所在地
-
-
-
- {{ user.areaId }}
-
-
-
-
-
- 注册 IP
-
-
- {{ user.registerIp }}
-
-
-
-
-
- 生日
-
-
- {{ user.birthday ? formatDate(user.birthday) : '空' }}
-
-
-
-
-
- 注册时间
-
-
- {{ user.createTime ? formatDate(user.createTime) : '空' }}
-
-
-
-
-
- 最后登录时间
-
-
- {{ user.loginDate ? formatDate(user.loginDate) : '空' }}
-
-
-
-
-
+
-
@@ -122,7 +29,6 @@
-
@@ -131,78 +37,77 @@
-
+
-
+
成长值(WIP)
余额(WIP)
+
+
+
+ 订单管理(WIP)
+ 售后管理(WIP)
+ 收藏记录(WIP)
+ 优惠劵(WIP)
-
-
+