Prechádzať zdrojové kódy

完成权限管理接口调用

lm 1 mesiac pred
rodič
commit
6ab0bc73ac

+ 70 - 105
src/views/userPrivilegeManagement/permissionManage/index.vue

@@ -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()

+ 2 - 5
src/views/userPrivilegeManagement/permissionManage/table.ts

@@ -1,7 +1,6 @@
 import { ref } from "vue";
 
 
-
 export const userTableColumns = ref([
     {
         name:'account',
@@ -23,8 +22,6 @@ export const userTableColumns = ref([
     },
 ])
 
-
-// 动态变更项 ————
 // 组长配置项列表
 export const groupTableColumns = ref([
     {
@@ -52,10 +49,10 @@ export const groupTableColumns = ref([
 // 管理员配置项列表
 export const managerConfigTableColumns = ref([
     {
-        name: 'role', // 对应“项目组”列,通常作为行头
+        name: 'role', 
         label: '角色',
         width: '80',
-        fixed: 'left', // 建议固定首列,防止横向滚动时看不清区域
+        fixed: 'left', 
         align: 'center',
         minWidth: '',
         custom: false,