|
|
@@ -1,7 +1,9 @@
|
|
|
<template>
|
|
|
<div class="end_item container">
|
|
|
+
|
|
|
+ <!-- 用户展示列表 -->
|
|
|
<div class="container_left end_item">
|
|
|
- <FormSearchGroup :searchList="accountFormSearhList" />
|
|
|
+ <FormSearchGroup :searchList="accountFormSearhList" @searchChange="HandleUserSearchChange"/>
|
|
|
<div class="page_jg_20"/>
|
|
|
<Table
|
|
|
:hidePagination="true"
|
|
|
@@ -12,6 +14,8 @@
|
|
|
@rowClick="HandleSelectUser"
|
|
|
></Table>
|
|
|
</div>
|
|
|
+
|
|
|
+ <!-- 配置列表 -->
|
|
|
<div class="container_right end_item">
|
|
|
<div class="page_search">
|
|
|
<div class="search_content">
|
|
|
@@ -33,15 +37,14 @@
|
|
|
<div class="page_jg_20" />
|
|
|
|
|
|
<!-- 组长配置列表 -->
|
|
|
- <Table v-if="defaultRole === '2'"
|
|
|
+ <Table
|
|
|
+ v-if="defaultRole === '2'"
|
|
|
:tableColumns="groupTableColumns"
|
|
|
:tableData="groupPeopleTableData"
|
|
|
:hidePagination="true">
|
|
|
-
|
|
|
<template #region="{row}">
|
|
|
{{ row.region.name }}
|
|
|
</template>
|
|
|
-
|
|
|
<template #groupLeader="{row}">
|
|
|
<div class="cell_container" @click="HandleAddUser(row, 'groupLeader')">
|
|
|
<template v-if="row?.groupLeader && row?.groupLeader?.length > 0">
|
|
|
@@ -70,11 +73,11 @@
|
|
|
</Table>
|
|
|
|
|
|
<!-- 管理员配置列表 -->
|
|
|
- <Table v-if="defaultRole === '1'"
|
|
|
+ <Table
|
|
|
+ v-if="defaultRole === '1'"
|
|
|
:tableColumns="managerConfigTableColumns"
|
|
|
:tableData="managerConfigTableData"
|
|
|
:hidePagination="true">
|
|
|
-
|
|
|
<template #people="{row}">
|
|
|
<div class="cell_container" @click="HandleAddUser(row, 'people')">
|
|
|
<template v-if="row?.people && row?.people?.length > 0">
|
|
|
@@ -108,6 +111,7 @@
|
|
|
|
|
|
|
|
|
<script setup lang="ts">
|
|
|
+import { ElMessage } from 'element-plus';
|
|
|
import { computed, onMounted, ref } from 'vue';
|
|
|
import FormSearchGroup from '@/baseComponents/FormSearchGroup.vue';
|
|
|
import {accountFormSearhList} from './formSearch'
|
|
|
@@ -119,57 +123,36 @@ import {groupTableColumns,userTableColumns,
|
|
|
import {
|
|
|
getAllRoleUserApi,
|
|
|
getUserRoleConfigApi,
|
|
|
-
|
|
|
addUserRoleConfigApi,
|
|
|
deleteUserRoleConfigApi,
|
|
|
} from '@/api/userPrivilegeManagement'
|
|
|
|
|
|
-import { getCityGroupPeopleListApi,deleteCityGroupPeopleApi,
|
|
|
- getGroupDataApi,getGroupListApi,
|
|
|
- } from '@/api/groupManage';
|
|
|
|
|
|
|
|
|
-// 员工账号信息
|
|
|
-const userAccountData = ref([])
|
|
|
-// 分组信息
|
|
|
const isConfigMode = ref(false)
|
|
|
-const defaultRole = ref('')
|
|
|
-
|
|
|
-// 所有角色下的分组人员配置
|
|
|
-const allRoleGroupPeopleData = ref([])
|
|
|
-
|
|
|
-// 当前角色下的 分组人员配置
|
|
|
-const groupPeopleTableData = ref([
|
|
|
- {
|
|
|
- id:'1',
|
|
|
- region:'xxx',
|
|
|
- project1:[{id:'1',name:'xxx'}],
|
|
|
- },
|
|
|
- {
|
|
|
- id:'2',
|
|
|
- region:'xxx',
|
|
|
- project1:[],
|
|
|
- },
|
|
|
-])
|
|
|
-// 管理员配置列表
|
|
|
-const managerConfigTableData = ref([
|
|
|
-
|
|
|
-])
|
|
|
|
|
|
|
|
|
-const roleList = computed(()=>{
|
|
|
- let roleTabOpt = allRoleGroupPeopleData.value.map(item=>{
|
|
|
- return {
|
|
|
- label:item.roleName,
|
|
|
- key:item.roleId,
|
|
|
- }
|
|
|
- }) || []
|
|
|
- defaultRole.value = roleTabOpt?.[0]?.key
|
|
|
- return roleTabOpt
|
|
|
-})
|
|
|
-
|
|
|
-const selectedUser = ref()
|
|
|
+/** 用户列表有关操作 */
|
|
|
+// 员工账号信息
|
|
|
+const userAccountData = ref([])
|
|
|
+const queryStr = ref('') // 用户查询参数
|
|
|
+const selectedUser = ref() //当前选中的用户
|
|
|
|
|
|
+// 获取所有员工列表
|
|
|
+const GetAllUserList = async ()=>{
|
|
|
+ let params = {
|
|
|
+ username:queryStr.value
|
|
|
+ }
|
|
|
+ let res = await getAllRoleUserApi(params)
|
|
|
+ if(res?.code == 200){
|
|
|
+ userAccountData.value = res.data
|
|
|
+ }
|
|
|
+}
|
|
|
+// 员工模糊查询
|
|
|
+const HandleUserSearchChange = async (params,key)=>{
|
|
|
+ queryStr.value = params.queryStr
|
|
|
+ await GetAllUserList()
|
|
|
+}
|
|
|
// 设置表行选中 样式
|
|
|
const tableRowClassName = ({row,rowIndex})=>{
|
|
|
if(row.id == selectedUser.value?.id){
|
|
|
@@ -185,24 +168,43 @@ const HandleSelectUser = (user) => {
|
|
|
};
|
|
|
};
|
|
|
|
|
|
+
|
|
|
+/** 角色配置有关操作 */
|
|
|
+const defaultRole = ref('') //默认展示的角色
|
|
|
+const allRoleGroupPeopleData = ref([]) // 所有角色下的分组人员配置
|
|
|
+const groupPeopleTableData = ref([]) // 组长 分组人员配置
|
|
|
+const managerConfigTableData = ref([]) // 管理员 配置列表
|
|
|
+
|
|
|
+// 处理角色切换
|
|
|
+const HandleRoleTabChange = (val)=>{
|
|
|
+ defaultRole.value = val
|
|
|
+}
|
|
|
+
|
|
|
+const roleList = computed(()=>{
|
|
|
+ let roleTabOpt = allRoleGroupPeopleData.value.map(item=>{
|
|
|
+ return {
|
|
|
+ label:item.roleName,
|
|
|
+ key:item.roleId,
|
|
|
+ }
|
|
|
+ }) || []
|
|
|
+ defaultRole.value = roleTabOpt?.[0]?.key
|
|
|
+ return roleTabOpt
|
|
|
+})
|
|
|
+
|
|
|
// 添加员工
|
|
|
const HandleAddUser = async (row, cell) => {
|
|
|
if (!isConfigMode.value) return;
|
|
|
if (!selectedUser.value) return;
|
|
|
-
|
|
|
- // 管理员 和组长的传参区分
|
|
|
-
|
|
|
let params = {
|
|
|
roleId: defaultRole.value,
|
|
|
userId: selectedUser.value.id,
|
|
|
- groupId: row.region.id
|
|
|
+ groupId:defaultRole.value === '2' ? row.region.id : null
|
|
|
}
|
|
|
let res = await addUserRoleConfigApi(params)
|
|
|
if(res?.code == 200){
|
|
|
-
|
|
|
- // 返回结果待完善————
|
|
|
+ ElMessage.success(res?.msg)
|
|
|
let teacherMsg = {
|
|
|
- id: selectedUser.value?.id,
|
|
|
+ id: res.data,
|
|
|
userName: selectedUser.value?.name,
|
|
|
account:selectedUser.value?.account
|
|
|
}
|
|
|
@@ -211,61 +213,25 @@ const HandleAddUser = async (row, cell) => {
|
|
|
}
|
|
|
console.log('row.cell',row[cell])
|
|
|
row[cell].push(teacherMsg)
|
|
|
-
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- // let res = await saveTeachingRelationshipApi({
|
|
|
- // ...teacherMsg,
|
|
|
- // evaluationId:route.query.id,
|
|
|
- // evaluationGradeId:searchParmams.value.gradeId,
|
|
|
- // evaluationSubjectId:cell,
|
|
|
- // evaluationClassId:row.className.evaluationClassId,
|
|
|
- // classType:searchParmams.value.classType == 'teach' ? 1 : 0 //班级类型,0-行政班,1-教学班
|
|
|
- // })
|
|
|
- // if(res?.code == 200){
|
|
|
- // ElMessage.success(res?.msg)
|
|
|
- // row[cell].push({...teacherMsg,id:res?.data});
|
|
|
- // }
|
|
|
};
|
|
|
|
|
|
-
|
|
|
// 移除员工
|
|
|
const HandleRemoveUser = async (row, cell, index) => {
|
|
|
if (!isConfigMode.value) return;
|
|
|
- let id = null
|
|
|
let res = undefined
|
|
|
-
|
|
|
- row[cell].splice(index,1)
|
|
|
-
|
|
|
-
|
|
|
- // id = row[cell][index].id
|
|
|
- // res = await deleteTeachingRelationshipApi(id)
|
|
|
- // if(res?.code == 200){
|
|
|
- // ElMessage.success(res?.msg)
|
|
|
- // row[cell].splice(index, 1);
|
|
|
- // }
|
|
|
-};
|
|
|
-
|
|
|
-// 获取所有员工列表
|
|
|
-const GetAllUserList = async ()=>{
|
|
|
- let params = {
|
|
|
- username:''
|
|
|
- }
|
|
|
- let res = await getAllRoleUserApi(params)
|
|
|
+ res = await deleteUserRoleConfigApi(row[cell][index].id)
|
|
|
if(res?.code == 200){
|
|
|
- userAccountData.value = res.data
|
|
|
+ ElMessage.success(res?.msg)
|
|
|
+ row[cell].splice(index, 1);
|
|
|
}
|
|
|
-}
|
|
|
+};
|
|
|
|
|
|
// 获取员工的权限配置列表
|
|
|
const GetUserRoleConfigApi = async ()=>{
|
|
|
let res = await getUserRoleConfigApi()
|
|
|
if(res?.code ==200){
|
|
|
allRoleGroupPeopleData.value = res?.data || []
|
|
|
-
|
|
|
res?.data.map(item=>{
|
|
|
// 管理员
|
|
|
if(item.roleId === '1'){
|
|
|
@@ -283,18 +249,23 @@ const GetUserRoleConfigApi = async ()=>{
|
|
|
|
|
|
// 组长
|
|
|
}else if(item.roleId === '2'){
|
|
|
-
|
|
|
// 所有的人员配置列表
|
|
|
- // item.userData
|
|
|
- // 待完善
|
|
|
- // 人物赋值
|
|
|
+ let userData = item.userData || []
|
|
|
groupPeopleTableData.value = item.groupData.map(item=>{
|
|
|
return {
|
|
|
region:{
|
|
|
id:item.id,
|
|
|
name:item.title
|
|
|
},
|
|
|
- groupLeader:[]
|
|
|
+ groupLeader:userData.filter(user=>{
|
|
|
+ return user.groupId == item.id
|
|
|
+ }).map(itm=>{
|
|
|
+ return {
|
|
|
+ id:itm.id,
|
|
|
+ userName:itm.userName,
|
|
|
+ account:itm.account,
|
|
|
+ }
|
|
|
+ })
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
@@ -303,12 +274,6 @@ const GetUserRoleConfigApi = async ()=>{
|
|
|
}
|
|
|
|
|
|
|
|
|
-// 处理角色切换
|
|
|
-const HandleRoleTabChange = (val)=>{
|
|
|
- console.log('当前选中的值',val)
|
|
|
- defaultRole.value = val
|
|
|
-}
|
|
|
-
|
|
|
onMounted(async()=>{
|
|
|
await GetAllUserList()
|
|
|
await GetUserRoleConfigApi()
|