mirror of
https://github.com/Teamlinker/Teamlinker.git
synced 2025-06-03 03:00:17 +00:00
团队更新
This commit is contained in:
parent
3bd019eaa4
commit
95cdab1b83
@ -4,7 +4,7 @@
|
||||
* @Author: gqwu
|
||||
* @Date: 2021-10-09 11:08:42
|
||||
* @LastEditors: gqwu
|
||||
* @LastEditTime: 2021-12-01 16:20:59
|
||||
* @LastEditTime: 2021-12-01 19:43:24
|
||||
*/
|
||||
import request from '@/utils/request'
|
||||
|
||||
@ -50,3 +50,37 @@ export function teamMembers(params) {
|
||||
})
|
||||
}
|
||||
|
||||
//创建团队成员
|
||||
export function createMemberTemp(data) {
|
||||
return request({
|
||||
url: '/api/team/add_member',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 修改团队成员权限
|
||||
export function updateMemberTemp(data) {
|
||||
return request({
|
||||
url: '/api/team/role',
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 团队成员权限列表
|
||||
|
||||
export function teamRoles(params) {
|
||||
return request({
|
||||
url: '/api/team/roles',
|
||||
method: 'get',
|
||||
params
|
||||
})
|
||||
}
|
||||
// 删除团队成员
|
||||
|
||||
export function removeMemberTemp(params) {
|
||||
return request({
|
||||
url: '/api/team/remove_member',
|
||||
method: 'delete',
|
||||
params
|
||||
})
|
||||
}
|
@ -4,7 +4,7 @@
|
||||
* @Author: gqwu
|
||||
* @Date: 2021-10-09 12:19:05
|
||||
* @LastEditors: gqwu
|
||||
* @LastEditTime: 2021-11-21 21:59:02
|
||||
* @LastEditTime: 2021-12-01 18:27:16
|
||||
*/
|
||||
import axios from 'axios'
|
||||
import { MessageBox, Message } from 'element-ui'
|
||||
@ -64,17 +64,17 @@ service.interceptors.response.use(
|
||||
})
|
||||
|
||||
// 50008: Illegal token; 50012: Other clients logged in; 50014: Token expired;
|
||||
if (res.code === 50008 || res.code === 50012 || res.code === 50014) {
|
||||
if (res.code === 1002) {
|
||||
// to re-login
|
||||
MessageBox.confirm('You have been logged out, you can cancel to stay on this page, or log in again', 'Confirm logout', {
|
||||
confirmButtonText: 'Re-Login',
|
||||
cancelButtonText: 'Cancel',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
store.dispatch('user/resetToken').then(() => {
|
||||
location.reload()
|
||||
})
|
||||
})
|
||||
// MessageBox.confirm('需要重新登录', '确认退出', {
|
||||
// confirmButtonText: 'Re-Login',
|
||||
// cancelButtonText: 'Cancel',
|
||||
// type: 'warning'
|
||||
// }).then(() => {
|
||||
// store.dispatch('user/resetToken').then(() => {
|
||||
// location.reload()
|
||||
// })
|
||||
// })
|
||||
}
|
||||
return Promise.reject(new Error(res.msg || 'Error'))
|
||||
} else {
|
||||
|
@ -4,7 +4,7 @@
|
||||
* @Author: gqwu
|
||||
* @Date: 2021-10-09 12:19:05
|
||||
* @LastEditors: gqwu
|
||||
* @LastEditTime: 2021-12-01 16:22:43
|
||||
* @LastEditTime: 2021-12-01 19:47:42
|
||||
-->
|
||||
<template>
|
||||
<div class="app-container">
|
||||
@ -109,7 +109,102 @@
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog background title="团队成员" :visible.sync="dialogMemberVisible">
|
||||
团队成员
|
||||
<el-row style="padding-bottom: 10px">
|
||||
<el-button type="primary" size="small" @click="handleMemberCreate"
|
||||
>新增成员</el-button
|
||||
>
|
||||
</el-row>
|
||||
|
||||
<el-table
|
||||
:data="memberList"
|
||||
element-loading-text="Loading"
|
||||
border
|
||||
fit
|
||||
highlight-current-row
|
||||
>
|
||||
<el-table-column align="center" label="序号" width="95">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.$index + 1 }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="姓名">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.name }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="photo">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.photo }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="权限">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.role.name }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="操作"
|
||||
align="center"
|
||||
width="150"
|
||||
fixed="right"
|
||||
class-name="small-padding fixed-width"
|
||||
>
|
||||
<template slot-scope="{ row, $index }">
|
||||
<el-button type="text" size="mini" @click="handleMmberUpdate(row)">
|
||||
修改权限
|
||||
</el-button>
|
||||
<el-button type="text" size="mini" @click="handleMemberRemove(row)">
|
||||
删除
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-dialog>
|
||||
|
||||
<el-dialog :title="memberTitle" :visible.sync="dialogMemberFormVisible">
|
||||
<el-form
|
||||
ref="dataMemberForm"
|
||||
:rules="memberrules"
|
||||
label-position="left"
|
||||
label-width="70px"
|
||||
style="width: 400px; margin-left: 50px"
|
||||
>
|
||||
<el-form-item label="用户">
|
||||
<el-select
|
||||
v-model="tempMember.userId"
|
||||
placeholder="请选择"
|
||||
:disabled="userDisabled"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in usersOptions"
|
||||
:key="item.id"
|
||||
:label="item.username"
|
||||
:value="item.id"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="角色">
|
||||
<el-select v-model="tempMember.roleId" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in rolesOptions"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.id"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="dialogMemberFormVisible = false"> 取消 </el-button>
|
||||
<el-button
|
||||
type="primary"
|
||||
@click="userDisabled ? updateMemberData() : createMemberData()"
|
||||
>
|
||||
确定
|
||||
</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
@ -121,12 +216,20 @@ import {
|
||||
editTemp,
|
||||
removeTemp,
|
||||
teamMembers,
|
||||
teamRoles,
|
||||
removeMemberTemp,
|
||||
createMemberTemp,
|
||||
updateMemberTemp,
|
||||
} from "@/api/team";
|
||||
import { getList as getMemberList } from "@/api/user";
|
||||
import { fromTime } from "@/utils/utils";
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
list: null,
|
||||
memberList: null,
|
||||
rolesOptions: null,
|
||||
usersOptions: null,
|
||||
listLoading: true,
|
||||
textMap: {
|
||||
update: "编辑",
|
||||
@ -137,6 +240,7 @@ export default {
|
||||
rules: {
|
||||
name: [{ required: true, message: "名称必填", trigger: "blur" }],
|
||||
},
|
||||
memberrules: {},
|
||||
temp: {
|
||||
teamId: undefined,
|
||||
name: "",
|
||||
@ -148,6 +252,10 @@ export default {
|
||||
pageSize: 10,
|
||||
pageCount: 0,
|
||||
},
|
||||
dialogMemberFormVisible: false,
|
||||
tempMember: { userId: "", roleId: "" },
|
||||
memberTitle: "",
|
||||
userDisabled: true,
|
||||
};
|
||||
},
|
||||
created() {
|
||||
@ -239,14 +347,113 @@ export default {
|
||||
this.dialogVisible = false;
|
||||
});
|
||||
},
|
||||
fetchMemberData() {
|
||||
teamMembers({
|
||||
teamId: this.temp.teamId,
|
||||
}).then((res) => {
|
||||
this.memberList = res.data;
|
||||
});
|
||||
},
|
||||
handleTeamInfo(row) {
|
||||
this.dialogMemberVisible = true;
|
||||
teamMembers({ teamId: "" }).then((res) => {});
|
||||
this.temp.teamId = row.id;
|
||||
this.fetchMemberData();
|
||||
},
|
||||
pageCurChange(page) {
|
||||
this.page.pageIndex = page - 1;
|
||||
this.fetchData();
|
||||
},
|
||||
getRoles() {
|
||||
teamRoles({ teamId: this.temp.teamId }).then((res) => {
|
||||
this.rolesOptions = res.data;
|
||||
});
|
||||
},
|
||||
getUsers() {
|
||||
getMemberList({
|
||||
keyword: "",
|
||||
page: 0,
|
||||
size: 1000,
|
||||
}).then((res) => {
|
||||
this.usersOptions = res.data.data;
|
||||
});
|
||||
},
|
||||
handleMemberCreate() {
|
||||
this.tempMember.userId = "";
|
||||
this.tempMember.roleId = "";
|
||||
this.memberTitle = "新增成员";
|
||||
this.userDisabled = false;
|
||||
this.dialogMemberFormVisible = true;
|
||||
this.getRoles();
|
||||
this.getUsers();
|
||||
},
|
||||
createMemberData() {
|
||||
createMemberTemp({
|
||||
teamId: this.temp.teamId,
|
||||
userId: this.tempMember.userId,
|
||||
roleId: this.tempMember.roleId,
|
||||
}).then((res) => {
|
||||
this.$notify({
|
||||
title: "Success",
|
||||
message: "添加成功",
|
||||
type: "success",
|
||||
duration: 2000,
|
||||
});
|
||||
this.dialogMemberFormVisible = false;
|
||||
this.fetchMemberData();
|
||||
});
|
||||
},
|
||||
handleMemberRemove(row) {
|
||||
this.$confirm("确定, 是否继续?", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
})
|
||||
.then(() => {
|
||||
this.removeMemberData(row);
|
||||
})
|
||||
.catch(() => {
|
||||
this.$message({
|
||||
type: "info",
|
||||
message: "已取消删除",
|
||||
});
|
||||
});
|
||||
},
|
||||
removeMemberData(row) {
|
||||
removeMemberTemp({ teamId: this.temp.teamId, userId: row.id }).then(
|
||||
(res) => {
|
||||
this.fetchMemberData();
|
||||
this.$message({
|
||||
type: "success",
|
||||
message: "删除成功!",
|
||||
});
|
||||
}
|
||||
);
|
||||
},
|
||||
handleMmberUpdate(row) {
|
||||
this.memberTitle = "修改权限";
|
||||
this.userDisabled = true;
|
||||
this.dialogMemberFormVisible = true;
|
||||
this.getUsers();
|
||||
this.getRoles();
|
||||
this.tempMember.userId = row.id;
|
||||
this.tempMember.roleId = "";
|
||||
},
|
||||
updateMemberData() {
|
||||
updateMemberTemp({
|
||||
teamId: this.temp.teamId,
|
||||
userId: this.tempMember.userId,
|
||||
roleId: this.tempMember.roleId,
|
||||
}).then((res) => {
|
||||
this.$notify({
|
||||
title: "Success",
|
||||
message: "修改成功",
|
||||
type: "success",
|
||||
duration: 2000,
|
||||
});
|
||||
this.dialogMemberFormVisible = false;
|
||||
this.fetchMemberData();
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
Loading…
Reference in New Issue
Block a user