提交 55680f4f authored 作者: 王鹏飞's avatar 王鹏飞

chore: 组织成员增加审核功能

上级 195c0b86
......@@ -14,5 +14,6 @@
min-height: 100vh;
margin: 0 auto;
background-color: #fff;
overflow: hidden;
}
</style>
......@@ -203,6 +203,11 @@ export function leaveGroup(id) {
return httpRequest.post(`/api/alumni/v1/organization/cancel/${id}`)
}
// 审核组织成员
export function updateGruopMemberStatus(id, data) {
return httpRequest.post(`/api/alumni/v1/organization/join/check/${id}`, data)
}
// 获取组织内的活动
export function getActivitesByGroup(groupId, params) {
return httpRequest.get(`/api/alumni/v1/activities2/inorg/${groupId}`, {
......
......@@ -227,14 +227,9 @@ body {
clear: both;
}
.list {
overflow: hidden;
}
.red {
color: #f00;
}
.status-default {
color: #ffad3e !important;
}
......
......@@ -3,12 +3,12 @@
<div class="member-item-pic">
<img :src="data.avatar | avatar" />
</div>
<slot name="member-before"></slot>
<slot name="member-before" :user="data"></slot>
<div class="member-item-content">
<h4>{{ data.personal_name }}</h4>
<p>{{ data.class_name }}</p>
</div>
<slot name="member-after"></slot>
<slot name="member-after" :user="data"></slot>
</div>
</template>
......@@ -37,6 +37,7 @@ export default {
}
}
.member-item-content {
flex: 1;
margin-left: 10px;
h4 {
font-size: 14px;
......
......@@ -25,7 +25,10 @@
</div>
<div class="my-group-item-ft">
<ul>
<li><div class="button default-button">详情</div></li>
<li v-if="data.is_mine">
<div class="button default-button">编辑</div>
</li>
<li v-else><div class="button default-button">详情</div></li>
<li>
<div
class="button default-button"
......
......@@ -49,6 +49,11 @@ export default {
this.loading = false
this.finished = true
})
.finally(() => {
if (this.finished) {
this.$emit('finished', this.list)
}
})
},
onLoad() {
this.page.offset = this.page.offset + this.page.limit
......
......@@ -8,7 +8,14 @@
v-for="item in memberApplicationList"
:data="item"
:key="item.id"
></member-item>
>
<template #member-after="{ user }">
<ul class="tools">
<li class="tools-default" @click="onRefuse(user)">拒绝</li>
<li class="tools-primary" @click="onAgree(user)">同意</li>
</ul>
</template>
</member-item>
</div>
</div>
<div class="member-card" v-if="memberManagementList.length">
......@@ -19,9 +26,9 @@
:data="item"
:key="item.id"
>
<template #member-before
><span class="member-creater">创建者</span></template
>
<template #member-before>
<span class="member-creater"></span>
</template>
</member-item>
</div>
</div>
......@@ -32,6 +39,7 @@
:params="{ org_id: pid }"
:request-callback="requestCallback"
@request-success="requestSuccess"
ref="list"
></member-list>
</div>
</div>
......@@ -43,6 +51,7 @@
import Card from '@/components/Card'
import MemberList from '@/components/MemberList'
import MemberItem from '@/components/MemberItem'
import * as api from '@/api'
export default {
name: 'GroupMember',
components: { Card, MemberList, MemberItem },
......@@ -76,6 +85,20 @@ export default {
// 请求成功
requestSuccess(list) {
this.list = list
},
// 拒绝
onRefuse(user) {
this.checkGroupMember(user.check_id, { pass: 0, remark: '' })
},
// 同意
onAgree(user) {
this.checkGroupMember(user.check_id, { pass: 1, remark: '' })
},
// 审核
checkGroupMember(id, params) {
api.updateGruopMemberStatus(id, params).then(() => {
this.$refs.list.refresh()
})
}
},
beforeMount() {}
......@@ -103,16 +126,21 @@ export default {
}
.member-creater {
margin-left: 10px;
padding: 0 5px;
height: 14px;
font-size: 10px;
line-height: 14px;
color: #fff;
background: linear-gradient(
180deg,
rgba(255, 201, 44, 1) 0%,
rgba(255, 116, 42, 1) 100%
);
border-radius: 3px;
width: 31px;
height: 13px;
background: url('~@/assets/img/member_creater_icon.png') no-repeat;
background-size: contain;
}
.tools {
display: flex;
li {
margin-left: 20px;
}
}
.tools-default {
color: #999;
}
.tools-primary {
color: #1989fa;
}
</style>
<template>
<div class="main">
<card title="我的组织">
<my-group-list></my-group-list>
<my-group-list @finished="onFinished"></my-group-list>
<template v-if="finished">
<div
class="create-button"
v-if="list.length < 6"
@click="$router.push({ name: 'createGroup' })"
>
<i class="icon"></i>
<span>创建新组织</span>
</div>
<p class="tips">
没有更多啦,<router-link :to="{ name: 'group' }"
>去逛逛排行榜吧~</router-link
>
</p>
</template>
</card>
</div>
</template>
......@@ -12,7 +27,49 @@ import MyGroupList from '@/components/MyGroupList'
export default {
components: { Card, MyGroupList },
data() {
return {}
return {
list: [],
finished: false
}
},
methods: {
// 数据加载完成
onFinished(list) {
this.finished = true
this.list = list
}
}
}
</script>
<style lang="scss" scoped>
.create-button {
display: flex;
align-items: center;
justify-content: center;
height: 90px;
font-size: 14px;
font-weight: 600;
color: #222;
background-color: #eee;
border-radius: 6px;
.icon {
width: 25px;
height: 25px;
margin-right: 20px;
background: url('~@/assets/img/icon_plus2.png') no-repeat;
background-size: contain;
}
}
.tips {
padding: 20px 0;
font-size: 12px;
text-align: center;
color: #999;
a {
color: #1989fa;
white-space: nowrap;
}
}
</style>
......@@ -41,7 +41,7 @@
v-if="tabActive === '1'"
>
<template #empty>
<div class="search-empty">暂时没有内容哦,去别处看看吧~</div>
<div class="search-empty">暂时没有内容哦,换个搜索词试试吧~</div>
</template>
</member-list>
</van-tab>
......@@ -52,7 +52,7 @@
v-if="tabActive === '2'"
>
<template #empty>
<div class="search-empty">暂时没有内容哦,去别处看看吧~</div>
<div class="search-empty">暂时没有内容哦,换个搜索词试试吧~</div>
</template>
</activity-list>
</van-tab>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论