Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
C
center-psp
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
center-psp
Commits
99aa9f01
提交
99aa9f01
authored
6月 08, 2022
作者:
王鹏飞
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
chore: 新增团队成员审核和成员删除
上级
e8892b3f
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
57 行增加
和
11 行删除
+57
-11
api.ts
src/modules/team/api.ts
+10
-0
MemberList.vue
src/modules/team/components/MemberList.vue
+45
-2
List.vue
src/modules/team/views/List.vue
+2
-9
没有找到文件。
src/modules/team/api.ts
浏览文件 @
99aa9f01
...
...
@@ -27,3 +27,13 @@ export function getTeam(params: {
export
function
deleteFileOrQuestion
(
data
:
{
id
:
string
;
type
:
'question'
|
'file'
})
{
return
httpRequest
.
post
(
'/api/psp/backend/team/file-or-question-delete'
,
data
)
}
// 团队管理-成员审核
export
function
submitMemberAudit
(
data
:
{
team_id
:
string
;
user_id
:
string
;
status
:
'1'
|
'4'
})
{
return
httpRequest
.
post
(
'/api/psp/backend/team/member-audit'
,
data
)
}
// 团队管理-成员删除
export
function
deleteMember
(
data
:
{
team_id
:
string
;
user_id
:
string
})
{
return
httpRequest
.
post
(
'/api/psp/backend/team/member-delete'
,
data
)
}
src/modules/team/components/MemberList.vue
浏览文件 @
99aa9f01
<
script
setup
lang=
"ts"
>
import
{
getTeam
}
from
'../api'
import
{
ArrowDown
}
from
'@element-plus/icons-vue'
import
{
ElMessage
,
ElMessageBox
}
from
'element-plus'
import
{
getTeam
,
submitMemberAudit
,
deleteMember
}
from
'../api'
const
props
=
defineProps
<
{
id
:
string
}
>
()
const
appList
=
ref
()
...
...
@@ -20,9 +22,34 @@ const listOptions = {
columns
:
[
{
label
:
'头像'
,
prop
:
'user_info.avatar'
,
slots
:
'table-logo'
,
width
:
74
},
{
label
:
'姓名'
,
prop
:
'user_info.name'
},
{
label
:
'手机号'
,
prop
:
'user_info.mobile'
}
{
label
:
'手机号'
,
prop
:
'user_info.mobile'
},
{
label
:
'操作'
,
slots
:
'table-operate'
,
width
:
180
,
align
:
'right'
}
]
}
// 审核
const
onAudit
=
(
row
:
any
,
status
:
'1'
|
'4'
)
=>
{
submitMemberAudit
({
team_id
:
props
.
id
,
user_id
:
row
.
user_id
,
status
}).
then
(()
=>
{
ElMessage
({
type
:
'success'
,
message
:
'审核完成'
})
appList
.
value
?.
refetch
()
})
}
// 审核拒绝
const
onAuditReject
=
(
row
:
any
,
status
:
'1'
|
'4'
)
=>
{
// ElMessageBox.prompt('请输入拒绝原因', '提示').then(({ value }) => {
// onAudit(row, status, value)
// })
onAudit
(
row
,
status
)
}
// 删除
const
onRemove
=
(
row
:
any
)
=>
{
ElMessageBox
.
confirm
(
'确定要删除吗?'
,
'提示'
).
then
(()
=>
{
deleteMember
({
team_id
:
props
.
id
,
user_id
:
row
.
user_id
}).
then
(()
=>
{
ElMessage
({
type
:
'success'
,
message
:
'删除成功'
})
appList
.
value
?.
refetch
(
true
)
})
})
}
</
script
>
<
template
>
...
...
@@ -30,5 +57,21 @@ const listOptions = {
<template
#
table-logo=
"
{ row }">
<el-avatar
:size=
"50"
:src=
"row.user_info.avatar + '?x-oss-process=image/resize,m_fill,h_100,w_200'"
/>
</
template
>
<
template
#
table-operate=
"{ row }"
>
<el-space>
<el-dropdown
v-if=
"row.status === '3'"
>
<el-button
type=
"primary"
>
审核
<el-icon
class=
"el-icon--right"
><arrow-down
/></el-icon>
</el-button>
<template
#
dropdown
>
<el-dropdown-menu>
<el-dropdown-item
@
click=
"onAudit(row, '1')"
>
通过
</el-dropdown-item>
<el-dropdown-item
@
click=
"onAuditReject(row, '4')"
>
拒绝
</el-dropdown-item>
</el-dropdown-menu>
</
template
>
</el-dropdown>
<el-button
plain
type=
"danger"
@
click=
"onRemove(row)"
v-if=
"row.status === '1'"
>
删除
</el-button>
</el-space>
</template>
</AppList>
</template>
src/modules/team/views/List.vue
浏览文件 @
99aa9f01
...
...
@@ -28,7 +28,7 @@ const listOptions = {
{
label
:
'Logo'
,
prop
:
'logo'
,
slots
:
'table-logo'
,
width
:
224
},
{
label
:
'团队名称'
,
prop
:
'name'
},
{
label
:
'团队口号'
,
prop
:
'slogan'
},
{
label
:
'团队简介'
,
prop
:
'brief'
},
//
{ label: '团队简介', prop: 'brief' },
{
label
:
'成员数量'
,
prop
:
'members_count'
},
{
label
:
'积分'
,
prop
:
'star'
},
{
label
:
'资料数量'
,
prop
:
'files_count'
},
...
...
@@ -50,14 +50,7 @@ const onAudit = (row: any, status: 0 | 1) => {
<AppCard>
<AppList
v-bind=
"listOptions"
ref=
"appList"
>
<template
#
table-logo=
"
{ row }">
<el-image
:src=
"row.logo + '?x-oss-process=image/resize,m_fill,h_100,w_200'"
:preview-src-list=
"[row.logo]"
preview-teleported
lazy
fit=
"cover"
style=
"width: 200px; height: 100px"
/>
<el-image
:src=
"row.logo + '?x-oss-process=image/resize,m_fill,h_100,w_200'"
:preview-src-list=
"[row.logo]"
preview-teleported
lazy
fit=
"cover"
style=
"width: 200px; height: 100px"
/>
</
template
>
<
template
#
table-operate=
"{ row }"
>
<el-space>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论