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
ca480512
authored
Aug 22, 2025
by
孙美琪
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
用户信息管理-等级、分组、用户标签隐藏(包括列和筛选条件)
parent
564439de
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
57 additions
and
57 deletions
+57
-57
src/views/member/user/UserForm.vue
+14
-14
src/views/member/user/index.vue
+43
-43
No files found.
src/views/member/user/UserForm.vue
View file @
ca480512
...
@@ -57,12 +57,12 @@
...
@@ -57,12 +57,12 @@
:render-after-expand=
"true"
:render-after-expand=
"true"
/>
/>
</el-form-item>
</el-form-item>
<
el-form-item
label=
"用户标签"
prop=
"tagIds"
>
<
!--
<el-form-item
label=
"用户标签"
prop=
"tagIds"
>
--
>
<MemberTagSelect
v-model=
"formData.tagIds"
show-add
/
>
<!--
<MemberTagSelect
v-model=
"formData.tagIds"
show-add
/>
--
>
<
/el-form-item
>
<
!--
</el-form-item>
--
>
<
el-form-item
label=
"用户分组"
prop=
"groupId"
>
<
!--
<el-form-item
label=
"用户分组"
prop=
"groupId"
>
--
>
<MemberGroupSelect
v-model=
"formData.groupId"
/
>
<!--
<MemberGroupSelect
v-model=
"formData.groupId"
/>
--
>
<
/el-form-item
>
<
!--
</el-form-item>
--
>
<el-form-item
label=
"会员备注"
prop=
"mark"
>
<el-form-item
label=
"会员备注"
prop=
"mark"
>
<el-input
type=
"textarea"
v-model=
"formData.mark"
placeholder=
"请输入会员备注"
/>
<el-input
type=
"textarea"
v-model=
"formData.mark"
placeholder=
"请输入会员备注"
/>
</el-form-item>
</el-form-item>
...
@@ -78,8 +78,8 @@ import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
...
@@ -78,8 +78,8 @@ import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
import
*
as
UserApi
from
'@/api/member/user'
import
*
as
UserApi
from
'@/api/member/user'
import
*
as
AreaApi
from
'@/api/system/area'
import
*
as
AreaApi
from
'@/api/system/area'
import
{
defaultProps
}
from
'@/utils/tree'
import
{
defaultProps
}
from
'@/utils/tree'
import
MemberTagSelect
from
'@/views/member/tag/components/MemberTagSelect.vue'
//
import MemberTagSelect from '@/views/member/tag/components/MemberTagSelect.vue'
import
MemberGroupSelect
from
'@/views/member/group/components/MemberGroupSelect.vue'
//
import MemberGroupSelect from '@/views/member/group/components/MemberGroupSelect.vue'
const
{
t
}
=
useI18n
()
// 国际化
const
{
t
}
=
useI18n
()
// 国际化
const
message
=
useMessage
()
// 消息弹窗
const
message
=
useMessage
()
// 消息弹窗
...
@@ -99,9 +99,9 @@ const formData = ref({
...
@@ -99,9 +99,9 @@ const formData = ref({
sex
:
undefined
,
sex
:
undefined
,
areaId
:
undefined
,
areaId
:
undefined
,
birthday
:
undefined
,
birthday
:
undefined
,
mark
:
undefined
,
mark
:
undefined
tagIds
:
[],
//
tagIds: [],
groupId
:
undefined
//
groupId: undefined
})
})
const
formRules
=
reactive
({
const
formRules
=
reactive
({
mobile
:
[{
required
:
true
,
message
:
'手机号不能为空'
,
trigger
:
'blur'
}],
mobile
:
[{
required
:
true
,
message
:
'手机号不能为空'
,
trigger
:
'blur'
}],
...
@@ -170,9 +170,9 @@ const resetForm = () => {
...
@@ -170,9 +170,9 @@ const resetForm = () => {
sex
:
undefined
,
sex
:
undefined
,
areaId
:
undefined
,
areaId
:
undefined
,
birthday
:
undefined
,
birthday
:
undefined
,
mark
:
undefined
,
mark
:
undefined
tagIds
:
[],
//
tagIds: [],
groupId
:
undefined
//
groupId: undefined
}
}
formRef
.
value
?.
resetFields
()
formRef
.
value
?.
resetFields
()
}
}
...
...
src/views/member/user/index.vue
View file @
ca480512
...
@@ -50,15 +50,15 @@
...
@@ -50,15 +50,15 @@
value-format=
"YYYY-MM-DD HH:mm:ss"
value-format=
"YYYY-MM-DD HH:mm:ss"
/>
/>
</el-form-item>
</el-form-item>
<
el-form-item
label=
"用户标签"
prop=
"tagIds"
>
<
!--
<el-form-item
label=
"用户标签"
prop=
"tagIds"
>
--
>
<MemberTagSelect
v-model=
"queryParams.tagIds"
/
>
<!--
<MemberTagSelect
v-model=
"queryParams.tagIds"
/>
--
>
<
/el-form-item
>
<
!--
</el-form-item>
--
>
<
el-form-item
label=
"用户等级"
prop=
"levelId"
>
<
!--
<el-form-item
label=
"用户等级"
prop=
"levelId"
>
--
>
<MemberLevelSelect
v-model=
"queryParams.levelId"
/
>
<!--
<MemberLevelSelect
v-model=
"queryParams.levelId"
/>
--
>
<
/el-form-item
>
<
!--
</el-form-item>
--
>
<
el-form-item
label=
"用户分组"
prop=
"groupId"
>
<
!--
<el-form-item
label=
"用户分组"
prop=
"groupId"
>
--
>
<MemberGroupSelect
v-model=
"queryParams.groupId"
/
>
<!--
<MemberGroupSelect
v-model=
"queryParams.groupId"
/>
--
>
<
/el-form-item
>
<
!--
</el-form-item>
--
>
<el-form-item>
<el-form-item>
<el-button
type=
"primary"
@
click=
"handleQuery"
>
<el-button
type=
"primary"
@
click=
"handleQuery"
>
<Icon
class=
"mr-5px"
icon=
"ep:search"
/>
<Icon
class=
"mr-5px"
icon=
"ep:search"
/>
...
@@ -83,30 +83,30 @@
...
@@ -83,30 +83,30 @@
@
selection-change=
"handleSelectionChange"
@
selection-change=
"handleSelectionChange"
>
>
<el-table-column
type=
"selection"
width=
"55"
/>
<el-table-column
type=
"selection"
width=
"55"
/>
<el-table-column
align=
"center"
label=
"用户编号"
prop=
"id"
width=
"120px"
/>
<el-table-column
align=
"center"
label=
"用户编号"
prop=
"id"
/>
<el-table-column
align=
"center"
label=
"头像"
prop=
"avatar"
width=
"80px"
>
<el-table-column
align=
"center"
label=
"头像"
prop=
"avatar"
>
<template
#
default=
"scope"
>
<template
#
default=
"scope"
>
<img
:src=
"scope.row.avatar"
style=
"width: 40px"
/>
<img
:src=
"scope.row.avatar"
style=
"width: 40px"
alt=
"头像"
/>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
align=
"center"
label=
"手机号"
prop=
"mobile"
width=
"120px"
/>
<el-table-column
align=
"center"
label=
"手机号"
prop=
"mobile"
/>
<el-table-column
align=
"center"
label=
"昵称"
prop=
"nickname"
width=
"80px"
/>
<el-table-column
align=
"center"
label=
"昵称"
prop=
"nickname"
/>
<
el-table-column
align=
"center"
label=
"等级"
prop=
"levelName"
width=
"100px"
/
>
<
!-- <el-table-column align="center" label="等级" prop="levelName" width="100px" />--
>
<
el-table-column
align=
"center"
label=
"分组"
prop=
"groupName"
width=
"100px"
/
>
<
!-- <el-table-column align="center" label="分组" prop="groupName" width="100px" />--
>
<
el-table-column
<
!-- <el-table-column-->
:show-overflow-tooltip=
"false"
<!-- :show-overflow-tooltip="false"-->
align=
"center"
<!-- align="center"-->
label=
"用户标签"
<!-- label="用户标签"-->
prop=
"tagNames"
<!-- prop="tagNames"-->
>
<!-- >--
>
<
template
#
default=
"scope"
>
<!-- <template #default="scope">--
>
<el-tag
v-for=
"(tagName, index) in scope.row.tagNames"
:key=
"index"
class=
"mr-5px"
>
<!-- <el-tag v-for="(tagName, index) in scope.row.tagNames" :key="index" class="mr-5px">--
>
{{
tagName
}}
<!-- {{ tagName }}-->
</el-tag
>
<!-- </el-tag>--
>
</
template
>
<!-- </template>--
>
<
/el-table-column
>
<
!-- </el-table-column>--
>
<el-table-column
align=
"center"
label=
"积分"
prop=
"point"
width=
"100px"
/>
<el-table-column
align=
"center"
label=
"积分"
prop=
"point"
/>
<el-table-column
align=
"center"
label=
"状态"
prop=
"status"
width=
"100px"
>
<el-table-column
align=
"center"
label=
"状态"
prop=
"status"
>
<
template
#
default=
"scope"
>
<
template
#
default=
"scope"
>
<dict-tag
:type=
"DICT_TYPE.COMMON_STATUS"
:value=
"scope.row.status"
/>
<dict-tag
:type=
"DICT_TYPE.COMMON_STATUS"
:value=
"scope.row.status"
/>
</
template
>
</
template
>
...
@@ -156,12 +156,12 @@
...
@@ -156,12 +156,12 @@
>
>
编辑
编辑
</el-dropdown-item>
</el-dropdown-item>
<
el-dropdown-item
<
!--
<el-dropdown-item-->
v-if=
"checkPermi(['member:user:update-level'])"
<!-- v-if="checkPermi(['member:user:update-level'])"-->
command=
"handleUpdateLevel"
<!-- command="handleUpdateLevel"-->
>
<!-- >--
>
修改等级
<!-- 修改等级-->
<
/el-dropdown-item
>
<
!--
</el-dropdown-item>
--
>
<el-dropdown-item
<el-dropdown-item
v-if=
"checkPermi(['member:user:update-point'])"
v-if=
"checkPermi(['member:user:update-point'])"
command=
"handleUpdatePoint"
command=
"handleUpdatePoint"
...
@@ -206,9 +206,9 @@ import { dateFormatter } from '@/utils/formatTime'
...
@@ -206,9 +206,9 @@ import { dateFormatter } from '@/utils/formatTime'
import
*
as
UserApi
from
'@/api/member/user'
import
*
as
UserApi
from
'@/api/member/user'
import
{
DICT_TYPE
}
from
'@/utils/dict'
import
{
DICT_TYPE
}
from
'@/utils/dict'
import
UserForm
from
'./UserForm.vue'
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
UserLevelUpdateForm
from
'./components/UserLevelUpdateForm.vue'
import
UserLevelUpdateForm
from
'./components/UserLevelUpdateForm.vue'
import
UserPointUpdateForm
from
'./components/UserPointUpdateForm.vue'
import
UserPointUpdateForm
from
'./components/UserPointUpdateForm.vue'
import
UserBalanceUpdateForm
from
'./components/UserBalanceUpdateForm.vue'
import
UserBalanceUpdateForm
from
'./components/UserBalanceUpdateForm.vue'
...
@@ -228,10 +228,10 @@ const queryParams = reactive({
...
@@ -228,10 +228,10 @@ const queryParams = reactive({
nickname
:
null
,
nickname
:
null
,
mobile
:
null
,
mobile
:
null
,
loginDate
:
[],
loginDate
:
[],
createTime
:
[]
,
createTime
:
[]
tagIds
:
[],
// tagIds: []
levelId
:
null
,
//
levelId: null,
groupId
:
null
//
groupId: null
})
})
const
queryFormRef
=
ref
()
// 搜索的表单
const
queryFormRef
=
ref
()
// 搜索的表单
const
updateLevelFormRef
=
ref
()
// 修改会员等级表单
const
updateLevelFormRef
=
ref
()
// 修改会员等级表单
...
...
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