Kaynağa Gözat

部门获取,层级获取,用户部门信息获取

shenqilong 1 yıl önce
ebeveyn
işleme
3a3492fba7

+ 38 - 33
src/store/getters.js

@@ -1,41 +1,46 @@
 export default {
-  // ===========  用户相关
-  userId: state => state.ibps.user.info && state.ibps.user.info.user ? state.ibps.user.info.user.id : '', // 用户ID
-  name: state => state.ibps.user.info && state.ibps.user.info.employee ? state.ibps.user.info.employee.name : '', // 姓名
-  status: state => state.ibps.user.info && state.ibps.user.info.employee ? state.ibps.user.info.employee.status : '', // 用户状态
-  org: state => state.ibps.user.info ? state.ibps.user.info.org : {}, // 用户部门信息
-  isSuper: state => state.ibps.user.info && state.ibps.user.info.user ? state.ibps.user.info.user.isSuper === 'Y' : false, // 是否超级管理员
-  account: state => state.ibps.user.info && state.ibps.user.info.user ? state.ibps.user.info.user.account : '', // 用户名
-  regOpen: state => state.ibps.user.regOpen, // 注册状态
+    // ===========  用户相关
+    userId: state => state.ibps.user.info && state.ibps.user.info.user ? state.ibps.user.info.user.id : '', // 用户ID
+    name: state => state.ibps.user.info && state.ibps.user.info.employee ? state.ibps.user.info.employee.name : '', // 姓名
+    status: state => state.ibps.user.info && state.ibps.user.info.employee ? state.ibps.user.info.employee.status : '', // 用户状态
+    org: state => state.ibps.user.info ? state.ibps.user.info.org : {}, // 用户部门信息
+    position: state => state.ibps.user.info ? state.ibps.user.info.org : {}, // 用户部门信息
+    isSuper: state => state.ibps.user.info && state.ibps.user.info.user ? state.ibps.user.info.user.isSuper === 'Y' : false, // 是否超级管理员
+    account: state => state.ibps.user.info && state.ibps.user.info.user ? state.ibps.user.info.user.account : '', // 用户名
+    regOpen: state => state.ibps.user.regOpen, // 注册状态
 
-  userInfo: state => state.ibps.user.info, // 用户信息
+    userInfo: state => state.ibps.user.info, // 用户信息
 
-  // =========== 租户
-  tenant: state => state.ibps.user.info && state.ibps.user.info.mainTenant ? state.ibps.user.info.mainTenant || {} : {}, // 当前租户
-  tenants: state => state.ibps.user.info && state.ibps.user.info.tenants ? state.ibps.user.info.tenants || [] : [], // 当前拥有的租户
-  tenantid: state => state.ibps.user.info && state.ibps.user.info.tenantId ? state.ibps.user.info.tenantId || '' : '', // 租户id
-  isTenantAdmin: state => state.ibps.user.info && state.ibps.user.info.isTenantAdmin ? state.ibps.user.info.isTenantAdmin || false : false, // 是否租户管理员
+    // =========== 租户
+    tenant: state => state.ibps.user.info && state.ibps.user.info.mainTenant ? state.ibps.user.info.mainTenant || {} : {}, // 当前租户
+    tenants: state => state.ibps.user.info && state.ibps.user.info.tenants ? state.ibps.user.info.tenants || [] : [], // 当前拥有的租户
+    tenantid: state => state.ibps.user.info && state.ibps.user.info.tenantId ? state.ibps.user.info.tenantId || '' : '', // 租户id
+    isTenantAdmin: state => state.ibps.user.info && state.ibps.user.info.isTenantAdmin ? state.ibps.user.info.isTenantAdmin || false : false, // 是否租户管理员
 
-  single: state => state.ibps.api.single, // 单体应用
-  baseApi: state => state.ibps.api.base, // baseAPI地址
-  websocket: state => state.ibps.api.websocket, // websocket地址
+    single: state => state.ibps.api.single, // 单体应用
+    baseApi: state => state.ibps.api.base, // baseAPI地址
+    websocket: state => state.ibps.api.websocket, // websocket地址
 
-  isTenantOpen: state => state.ibps.sass ? state.ibps.sass.tenantOpen : false, // 是否租户模式
+    isTenantOpen: state => state.ibps.sass ? state.ibps.sass.tenantOpen : false, // 是否租户模式
 
-  designTenantid: state => state.ibps.user && state.ibps.user.designTenantid ? state.ibps.user.designTenantid || '' : '',
-  // =========== 菜单
-  menus: state => state.ibps.menu.menus, // 菜单
-  routers: state => state.ibps.menu.routers, // 新增的路由表
-  // =========== 子系统
-  system: state => state.ibps.system.system, // 子系统
-  systemid: state => state.ibps.system.system ? state.ibps.system.system.id : '', // 子系统id
+    designTenantid: state => state.ibps.user && state.ibps.user.designTenantid ? state.ibps.user.designTenantid || '' : '',
+    // =========== 菜单
+    menus: state => state.ibps.menu.menus, // 菜单
+    routers: state => state.ibps.menu.routers, // 新增的路由表
+    // =========== 子系统
+    system: state => state.ibps.system.system, // 子系统
+    systemid: state => state.ibps.system.system ? state.ibps.system.system.id : '', // 子系统id
 
-  permissions: state => state.ibps.menu.permissions, //  拥有的权限
-  jianCeDuiXiangId: state => state.ibps.jianCeDuiXiangId ? state.ibps.jianCeDuiXiangId : '',
-  myform: state => state.ibps.myform ? state.ibps.myform : '',
-  jianCeCanShuId: state => state.ibps.jianCeCanShuId ? state.ibps.jianCeCanShuId : '',
-  // 所有检测项目名称及流程key数组
-  testingList: state => state.ibps.param && state.ibps.param.testingList ? state.ibps.param.testingList : [],
-  // 获取所有用户信息
-  userList: state => state.ibps.param && state.ibps.param.userList ? state.ibps.param.userList : []
+    permissions: state => state.ibps.menu.permissions, //  拥有的权限
+    jianCeDuiXiangId: state => state.ibps.jianCeDuiXiangId ? state.ibps.jianCeDuiXiangId : '',
+    myform: state => state.ibps.myform ? state.ibps.myform : '',
+    jianCeCanShuId: state => state.ibps.jianCeCanShuId ? state.ibps.jianCeCanShuId : '',
+    // 所有检测项目名称及流程key数组
+    testingList: state => state.ibps.param && state.ibps.param.testingList ? state.ibps.param.testingList : [],
+    // 获取所有用户信息
+    userList: state => state.ibps.param && state.ibps.param.userList ? state.ibps.param.userList : [],
+    // 获取所有部门信息
+    deptList: state => state.ibps.param && state.ibps.param.deptList ? state.ibps.param.deptList : [],
+    // 获取用户最高层级
+    level: state => state.ibps.param && state.ibps.param.level ? state.ibps.param.level : []
 }

+ 27 - 8
src/store/modules/ibps/modules/param.js

@@ -8,31 +8,50 @@ export default {
         // 所有检测项目名称及流程key数组
         testingList: [],
         // 所有用户信息
-        userList: []
+        userList: [],
+        // 所有部门信息
+        deptList: [],
+        level: {
+            first: '',
+            second: ''
+        }
     },
     mutations: {
-        jianCeDuiXiangIdSet(state, jianCeDuiXiang) {
+        jianCeDuiXiangIdSet (state, jianCeDuiXiang) {
             state.jianCeDuiXiangId = jianCeDuiXiang.jianCeDuiXiangId || ''
         },
-        myformSet(state, myform) {
+        myformSet (state, myform) {
             state.myform = myform.myform || ''
         },
-        jianCeCanShuIdSet(state, jianCeCanShu) {
+        jianCeCanShuIdSet (state, jianCeCanShu) {
             state.jianCeCanShuId = jianCeCanShu.jianCeCanShuId || ''
         },
-        testingList(state, data) {
+        testingList (state, data) {
             state.testingList = data.length ? data : []
         },
-        userList(state, data) {
+        userList (state, data) {
             state.userList = data.length ? data : []
+        },
+        deptList (state, data) {
+            state.deptList = data.length ? data : []
+        },
+        level (state, data) {
+            state.level = data || { first: '', second: '' }
         }
     },
     actions: {
-        setTestingList({ commit }, data){
+        setTestingList ({ commit }, data) {
             commit('testingList', data)
         },
-        setUserList({ commit }, data){
+        setUserList ({ commit }, data) {
             commit('userList', data)
+        },
+        setDeptList ({ commit }, data) {
+            commit('deptList', data)
+        },
+        setLevel ({ commit }, data) {
+            console.log(data)
+            commit('level', data)
         }
     }
 }

+ 39 - 0
src/store/modules/ibps/modules/user.js

@@ -83,6 +83,24 @@ export default {
                         })
                         // 获取所有用户信息
                         await dispatch('getUserList')
+                        // 获取所有部门信息
+                        let levelID = ''
+                        if (info.org && info.org.levelID) {
+                            levelID = info.org.levelID
+
+                            level = {
+                                first: info.org.id,
+                                second: info.org.levelID
+                            }
+                            await dispatch('ibps/param/setLevel', level, {
+                                root: true
+                            })
+                        }
+                        console.log(info)
+
+                        let level = {}
+
+                        await dispatch('getDeptList', levelID)
                         // 获取当前子系统
                         await dispatch('ibps/system/loadSystem', null, {
                             root: true
@@ -169,6 +187,27 @@ export default {
                 alert('获取所有用户信息失败!')
             })
         },
+        /**
+         * 获取所有系统部门信息
+         */
+        /**
+         * 获取所有系统部门信息
+         */
+        getDeptList ({ state, dispatch }, levelID) {
+            const sql = `select ID_ as positionId,NAME_ as positionName FROM ibps_party_org WHERE LEVEL_ID_='${levelID}'`
+            console.log(sql)
+            request('sql', sql).then(res => {
+                const { data = [] } = res.variables || {}
+                console.log(data)
+
+                dispatch('ibps/param/setDeptList', data, {
+                    root: true
+                })
+            }).catch(error => {
+                console.log(error)
+                alert('获取所有部门信息失败!')
+            })
+        },
         /**
          * 获取切换用户账号
          * @param {*} param0