Kaynağa Gözat

bug修复+改造角色视角

林倩 3 yıl önce
ebeveyn
işleme
02ba3426a3

+ 3 - 1
src/api/role-auth-info.js

@@ -30,13 +30,15 @@ export const roleViewApplication = `/authsvr/v2/applicationinfo/appQutoList/all`
 // 角色视图 --  根据appId查询角色列表
 export const getRoleListByAppid = `${base}/roleRoleList/_search`;
 
+export const userTableUrl = `${base}/roleStaffList/_search`
+
 // 角色视图 -- 人员列表
 export function persionListByOrgRole({page, size, searchCondition}) {
     
   return request({
     url: `${base}/roleStaffList/_search`,
     method: 'POST',
-    data: handleSearchCondition({ searchCondition })
+    data: handleSearchCondition({ page, size, searchCondition })
   });
 }
 // 角色视图 --  勾选人员

+ 0 - 1
src/components/new-table/index.vue

@@ -9,7 +9,6 @@
     <dg-table
       border
       ref="baseTable"
-      :auto-page="(h) => h * 0.6"
       :url="tableUrl"
       :condition="condition"
       :data="data"

+ 1 - 1
src/pages/admin-manage/DataConfig.js

@@ -47,7 +47,7 @@ const tableHeader = [
   { label: '身份证号码', prop: 'idcard' },
   { label: '单位名称', prop: 'orgName' },
   { label: '警种', prop: 'policeCategory', code: 'T_MD_POLICE_TYPE' },
-  { label: '用户类型', prop: 'userType', enum: 'UserTypeEnum' }
+  // { label: '用户类型', prop: 'userType', enum: 'UserTypeEnum' }
 ];
 
 export { conditionForm, tableHeader }

+ 2 - 1
src/pages/admin-manage/add.vue

@@ -39,9 +39,10 @@ export default {
     orgId: String
   },
   data() {
+    const vm = this;
     return {
       tableUrl: Api.tableUnAdminPolices,
-      conditionForm,
+      conditionForm: vm.$lodash.cloneDeep(conditionForm),
       tableHeader,
       tableOptList: ['管理范围'],
       orgSave: false,

+ 2 - 4
src/pages/admin-manage/index.vue

@@ -21,11 +21,8 @@
 
 <script>
 import newTable from '@/components/new-table';
-// import Import from "@/components/import";
 import Add from './add';
 import Editor from './noBindEditor';
-import PoliceDetail from '@/pages/user-manage/police-manage/detail';
-import AuxiliaryDetail from '@/pages/user-manage/auxiliary-police-manage/detail';
 import * as api from '@/api/admin-manage';
 import { downloadBlob } from '@/utils/download';
 import searchBar from '@/components/search-bar';
@@ -37,9 +34,10 @@ export default {
   components: { newTable, searchBar, operateBar },
   mixins: [searchOpt],
   data() {
+    const vm = this;
     return {
       tableUrl: api.table,
-      conditionForm,
+      conditionForm: vm.$lodash.cloneDeep(conditionForm),
       tableHeader,
       pageOptList: ['新增'],
       tableOptList: ['修改', '删除']

+ 2 - 32
src/pages/admin-manage/noBindEditor.vue

@@ -14,12 +14,6 @@
           @check="checkClick"
         />
       </el-tab-pane>
-      <!--<el-tab-pane label="菜单管理范围" name="menu" lazy>-->
-      <!--<div style="text-align: right;">-->
-      <!--<dg-button @click="handleSaveMenu">保存</dg-button>-->
-      <!--</div>-->
-      <!--<dg-tree node-key="value" ref="menuTree" :data="allMenu" show-checkbox :props="menuProps"></dg-tree>-->
-      <!--</el-tab-pane>-->
     </el-tabs>
     <div v-footer>
       <dg-button @click="handleCancel">取消</dg-button>
@@ -354,37 +348,13 @@ export default {
         that.success();
         // that.$emit("success", true); // 不必刷新表格
         that.$emit('oneSaveOrg', true);
-      });
-    },
-    handleSaveMenu() {
-      const that = this;
-      const checks = this.$refs.menuTree.getCheckedKeys();
-      const halfChecks = this.$refs.menuTree.getHalfCheckedKeys();
-      let params = {};
-      if (!halfChecks.length && !checks.length) {
-        this.$message('未选择菜单范围', 'warning');
-        return;
-      }
-      if (!halfChecks.length) {
-        params['menuIds'] = checks.toString();
-      } else {
-        params['menuIds'] = halfChecks.toString() + ',' + checks.toString();
-      }
-      params['type'] = this.type == 'create' ? 'TEMP' : '';
-      params['userId'] = this.id;
-      adminApi.saveMenuRange(params).then((res) => {
-        that.success();
-        // that.$emit("success");
-        that.$emit('oneSaveMenu', true);
+      }).catch(error => {
+         that.$message.warning(error);
       });
     },
     success(message = '操作成功!') {
       const that = this;
       that.$message.success(message);
-    },
-    fail(message = '操作失败', error) {
-      const that = this;
-      that.$message.error(message);
     }
   },
   computed: {

+ 2 - 3
src/pages/appfun-auth-manage/role-auth-manage/persionView.vue

@@ -257,10 +257,9 @@ export default {
           operatorRow: row
         },
         on: {
-          success: function (newRow) {
+          success: function (res) {
             layer.closeAll(layer.dialogIndex);
-            row.activeTime = newRow;
-            // that.handleSearchRoleList();
+            row.activeTime = res.activeTime;
           }
         }
       });

+ 122 - 104
src/pages/appfun-auth-manage/role-auth-manage/roleView.vue

@@ -36,14 +36,17 @@
         <operate-bar :pageOptList="userOptList" @submitPageOpt="receviceOpt"></operate-bar>
         <!-- 角色列表 -->
         <dg-table
-          ref="userConditionTable"
-          :data="persionListData"
+          ref="userTable"
+          :condition="userCondition"
+          :url="userTableUrl"
           row-key="id"
-          :pagination-total="total"
+          border
           @selection-change="handleSelectChange"
+          :before-quest="handleBeforeQuest"
+          lazyLoad
         >
-          <dg-table-column type="selection" width="50"></dg-table-column>
-          <dg-table-column type="index" label="序号" width="70"></dg-table-column>
+          <dg-table-column type="selection" reserve-selection width="50"></dg-table-column>
+          <!-- <dg-table-column type="index" label="序号" width="70"></dg-table-column> -->
           <dg-table-column prop="name" align="center" width="120" label="姓名"></dg-table-column>
           <dg-table-column prop="idcard" align="center" label="身份证号码"></dg-table-column>
           <dg-table-column prop="orgName" align="center" label="单位名称"></dg-table-column>
@@ -152,7 +155,8 @@ export default {
           op: 'like'
         }
       },
-      checkedPersionData: [],
+      userTableUrl: roleAuthApi.userTableUrl,
+      checkUserList: [],
       deleteIds: [],
 
       // 点击动作object
@@ -167,7 +171,8 @@ export default {
       },
       page: 0,
       size: 10,
-      total: 0
+      total: 0,
+      updateUsers: []
     };
   },
   // 计算属性
@@ -194,135 +199,143 @@ export default {
       }
       this.saveRoleAuthParams.orgId = this.userCondition.orgId.value;
     },
+    loadUserTable() {
+      this.selectUserList = [];
+      this.$refs.userTable.searchForm();
+      
+    },
     receiveUserSearch(val) {
       for (const key in val) {
         this.userCondition[key].value = val[key].value;
       }
       this.saveRoleAuthParams.orgId = this.userCondition.orgId.value;
-      this.handleUserSearch();
+      if (!this.handleValid()) return;
+      this.loadUserTable();
+
     },
-    handleRoleRowClick({ id, appId }) {
+    async handleRoleRowClick({ id, appId }) {
       this.saveRoleAuthParams.roleId = this.userCondition.roleId.value = id;
       this.saveRoleAuthParams.appId = appId;
-      // 如果选择机构
-      if (this.saveRoleAuthParams.orgId) {
-        this.handleUserSearch(); // 人员列表查询
-      }
+      await this.getUserChecked();
+      this.loadUserTable();
+    },
+
+    getUserChecked() {
+      return new Promise((resolve) => {
+        const { orgId, roleId, appId } = this.saveRoleAuthParams;
+        // 获取人员列表选中记录
+        const queryCheckedParams = {
+          orgId,
+          roleId,
+          appId,
+          type: 'role'
+        };
+        roleAuthApi.getChecked(queryCheckedParams).then((res) => {
+          this.checkUserList = res;
+          resolve(res);
+        });
+      });
     },
     handleValid() {
-      if (!this.saveRoleAuthParams.appId) {
-        this.$message.warning('请先选择应用系统名称');
-        return false;
-      }
       if (!this.saveRoleAuthParams.roleId) {
-        this.$message.warning('请选择角色名称');
+        this.$message.warning('请选择角色!');
         return false;
       }
       if (!this.saveRoleAuthParams.orgId) {
-        this.$message.warning('请选择单位名称');
+        this.$message.warning('请选择单位名称!');
         return false;
       }
       return true;
     },
+    // 用户列表数据渲染前整合数据
+    handleBeforeQuest(res) {
+      const { content, totalElements } = res.data;
+      let _content = content.map((item) => {
+        return {
+          ...item,
+          activeTime: '长期'
+        };
+      });
+      this.currentPageContent = _content;
+      if (this.checkUserList.length > 0) {
+        let rowKeys = [];
+        for (let j = 0; j < _content.length; j++) {
+          const cItem = _content[j];
+          const index = this.checkUserList.findIndex((item) => item.id == cItem.id);
+          if (index > -1) {
+            _content[j].activeTime = this.checkUserList[index].activeTime;
+            rowKeys.push(this.checkUserList[index].id);
+          }
+        }
+        setTimeout(() => {
+          this.$refs.userTable.setCheck(rowKeys);
+        }, 500);
+      }
+      this.Usertotal = totalElements;
 
-    // 人员列表查询
-    handleUserSearch() {
-      if (!this.handleValid()) return;
-      const that = this;
-      const { orgId, roleId, appId } = this.saveRoleAuthParams;
-      // 获取人员列表选中记录
-      const queryCheckedParams = {
-        orgId,
-        roleId,
-        appId,
-        type: 'role'
-      };
-      const userParams = {
-        page: this.page,
-        size: this.size,
-        searchCondition: this.userCondition
-      };
-
-      that.persionListData = [];
-      that.checkedPersionData = [];
-      that.deleteIds = [];
-      // 人员列表和选中人员
-      Promise.all([roleAuthApi.persionListByOrgRole(userParams), roleAuthApi.getChecked(queryCheckedParams)]).then(
-        (res) => {
-          // console.log(res);
-          const { content, totalElements } = res[0].data;
-          that.persionListData = content;
-          that.total = totalElements;
-          that.persionListData.map((item) => {
-            that.$set(item, 'activeTime', '长期');
-            // item["activeTime"] = "长期"; //列表一开始写死
-          });
-          let checkeds = res[1];
-          that.$nextTick(() => {
-            for (let k = 0; k < checkeds.length; k++) {
-              for (let m = 0; m < that.persionListData.length; m++) {
-                if (that.persionListData[m].id == checkeds[k].staffId) {
-                  that.$refs.userConditionTable.toggleRowSelection(that.persionListData[m], true);
-                  that.persionListData[m].activeTime = checkeds[k].activeTime;
-                  break;
-                }
-              }
-            }
-          });
+      const result = {
+        data: {
+          content: _content,
+          totalElements
         }
-      );
+      };
+      return result;
     },
     handleSelectChange(selection) {
-      this.checkedPersionData = selection;
-      this.deleteIds = [];
+      this.selectUserList = this.$lodash.cloneDeep(selection);
     },
     handleSave() {
       if (!this.handleValid()) return;
-      const that = this;
-      let saveParams = {
-        ...that.saveRoleAuthParams
-      };
-      saveParams.staffJson = JSON.stringify(that.checkedPersionData); // 已勾选
-      that.checkedPersionData.forEach((cc) => {
-        saveParams.staffList += cc.id + ',';
-      });
-      saveParams.staffList = saveParams.staffList.substr(0, saveParams.staffList.length - 1); // 已勾选id
+      if (this.Usertotal == 0) {
+        this.$message.warning("没有可保存的数据!");
+        return; 
+      }
+      const { roleId, orgId } = this.saveRoleAuthParams;
 
-      // 未勾选
-      if (this.checkedPersionData.length == 0) {
-        this.persionListData.forEach((dd) => {
-          this.deleteIds.push({
-            id: dd.id,
-            orgId: dd.orgId
-          });
-        });
-      } else {
-        for (let i = 0; i < this.persionListData.length; i++) {
-          let flag = true;
-          for (let j = 0; j < this.checkedPersionData.length; j++) {
-            if (this.persionListData[i].id == this.checkedPersionData[j].id) {
-              flag = false;
-              break;
+      const delUserIds = this.checkUserList
+        .filter((item) => !this.selectUserList.map((sItem) => sItem.id).includes(item.id))
+        .map((item) => item.id);
+
+      const addUserIds = this.selectUserList
+        .filter((item) => !this.checkUserList.map((cItem) => cItem.id).includes(item.id))
+        .map((item) => item.id);
+
+      // 剔除掉被删除的再过滤出修改过的,与check接口比较
+      const updateUserIncludeDel = this.updateUsers.filter((item) => !delUserIds.includes(item.id));
+
+      const updateUsers = updateUserIncludeDel
+        .filter((item) => {
+          const index = this.selectUserList.findIndex((sItem) => sItem.id == item.id);
+          if (index > -1) {
+            if (item.activeTime !== this.selectUserList[index].activeTime) {
+              return item;
             }
           }
-          if (flag) {
-            this.deleteIds.push({
-              id: this.persionListData[i].id,
-              orgId: this.persionListData[i].orgId
-            });
-          }
-        }
-      }
-      saveParams.delStaffJson = JSON.stringify(this.deleteIds);
+        })
+        .map((item) => {
+          return {
+            id: item.id,
+            activeTime: item.activeTime
+          };
+        });
+
+      const saveParams = {
+        roleId,
+        orgId,
+        addUserIds,
+        delUserIds,
+        updateUsers: updateUsers
+      };
+
 
       // 保存
       roleAuthApi
         .savePersion(saveParams)
         .then(() => {
-          that.$message.success('保存成功');
+          this.$message.success('保存成功');
         })
         .catch((err) => {
-          that.$message.error(err);
+          this.$message.error(err);
         });
     },
     // 有效期选择
@@ -337,10 +350,15 @@ export default {
           operatorRow: row
         },
         on: {
-          success: function (newRow) {
+          success: function (res) {
             layer.closeAll(layer.dialogIndex);
-            row.activeTime = newRow;
-            // that.handleUserSearch();
+            row.activeTime = res.activeTime;
+            const index = that.updateUsers.findIndex((item) => item.id == res.id);
+            if (index > -1) {
+              that.updateUsers[index] = res;
+            } else {
+              that.updateUsers.push(res);
+            }
           }
         }
       });

+ 20 - 19
src/pages/appfun-auth-manage/role-auth-manage/term-validity.vue

@@ -4,18 +4,18 @@
     @Date:  2020-08-03
 -->
 <template>
-  <el-form ref="termValidForm" :model="termValidForm" inline>
+  <el-form ref="termValidForm" :model="form" inline>
     <el-form-item>
-      <dg-radio v-model="termValidForm.radio.value" label="1" call-off>长期</dg-radio>
-      <dg-radio v-model="termValidForm.radio.value" label="2" call-off>自选</dg-radio>
+      <dg-radio v-model="form.type" label="1" call-off>长期</dg-radio>
+      <dg-radio v-model="form.type"  label="2" call-off>自选</dg-radio>
       <dg-date-picker
-        v-model="termValidForm.activeTime.value"
+        v-model="form.activeTime"
         type="date"
         placeholder="选择日期"
         value-format="yyyy-MM-dd"
         style="display: inline-block; width: 180px"
         :picker-options="pickerOptions1"
-        :disabled="!termValidForm.radio.value || termValidForm.radio.value == '1'"
+        :disabled="!form.type || form.type == '1'"
       >
       </dg-date-picker>
     </el-form-item>
@@ -41,9 +41,9 @@ export default {
   // 页面数据绑定
   data() {
     return {
-      termValidForm: {
-        radio: { value: '', op: '=' },
-        activeTime: { value: '', op: 'le' }
+      form: {
+          type: "",
+          activeTime: ""
       },
       // 有效期只能选择当前日期 及往后日期
       pickerOptions1: {
@@ -62,26 +62,27 @@ export default {
     },
     handlSave() {
       const that = this;
-      const { activeTime, radio } = this.termValidForm;
-      if (radio.value && radio.value == '2') {
-        if (!activeTime.value) {
+      const { activeTime, type } = this.form;
+      let time = "长期"
+      if (type && type == '2') {
+        if (!activeTime) {
           that.$message({ type: 'warning', message: '请选择失效日期!' });
           return;
         }
-        that.$emit('success', activeTime.value);
-      } else {
-        that.$emit('success', '长期');
-      }
+        time = activeTime;
+      } 
+        that.$emit('success', {...this.operatorRow, activeTime: time});
+
     }
   },
   // 创建组件时调用
   created() {
     if (this.operatorRow.activeTime == '长期') {
-      this.termValidForm.radio.value = '1';
-      this.termValidForm.activeTime.value = '';
+      this.form.type = '1';
+      this.form.activeTime= '';
     } else {
-      this.termValidForm.radio.value = '2';
-      this.$set(this.termValidForm.activeTime, 'value', this.operatorRow.activeTime);
+      this.form.type = '2';
+      this.form.activeTime = this.operatorRow.activeTime;
     }
   }
 };

+ 1 - 1
src/pages/data-auth-manage/components/set-auth-tree.vue

@@ -166,7 +166,7 @@ export default {
     created() {
         this.selectkeys = this.treeData.selectNodes ? this.treeData.selectNodes.map((item) => item.dataId) : [];
         this.selectNodesNum = this.selectkeys.length;
-        this.defaultExpandKeys = [this.treeData.nodes[0].id];
+        this.defaultExpandKeys = this.treeData.nodes[0] ? [this.treeData.nodes[0].id] : [];
     },
     mounted() {}
 };

+ 1 - 1
src/pages/layout/components/app-main.vue

@@ -28,7 +28,7 @@
                     </dg-card>
                 </transition>
             </el-row>
-            <el-row class="copyright">Copyright ©2019 厦门市巨龙信息科技有限公司 UI体验策划部出品</el-row>
+            <el-row class="copyright">Copyright ©2021 厦门市巨龙信息科技有限公司 UI体验策划部出品</el-row>
         </el-scrollbar>
     </section>
 </template>

+ 1 - 1
src/pages/layout/components/tags-view.vue

@@ -42,7 +42,7 @@
                   @click.middle.native="closeSelectedTag(tag)"
                 >
                   <span class="l-main-tags__name">{{ generateTitle(tag.title) }}</span>
-                  <span class="el-icon-close" @click.prevent.stop="closeSelectedTag(tag)" />
+                  <span class="el-icon-close" v-if="tag.title !== '我的主页'" @click.prevent.stop="closeSelectedTag(tag)" />
                 </router-link>
               </div>
             </el-scrollbar>

+ 8 - 8
src/pages/log-report/scope-author-audit/index.vue

@@ -9,12 +9,12 @@
     <search-bar :conditionForm="conditionForm" @submitSearch="receiveSearch"></search-bar>
     <new-table
       ref="table"
+      rowKey="createTime"
       :tableUrl="tableUrl"
-      :tableHeader="titleData"
+      :tableHeader="tableHeader"
       :condition="condition"
       :tableOptList="tableOptList"
       @submitTableOpt="receviceOpt"
-      :lazyLoad="true"
     >
     </new-table>
   </dg-row>
@@ -39,15 +39,15 @@ export default {
   data() {
     return {
       tableUrl: logAuditApi.scopeTableUrl,
-      titleData: [
-        { label: '机构管理员', prop: 'name' },
-        { label: '警号/编号', prop: 'policeNumber' },
+      tableHeader: [
+        { label: '姓名', prop: 'name' },
+        { label: '单位名称', prop: 'orgName' },
+        { label: '警号', prop: 'policeNumber' },
         { label: '用户类型', prop: 'userType', enum: 'UserTypeEnum' },
         { label: '人员类型', prop: 'manType', code: 'DM_MAN_TYPE' },
         { label: '职级', prop: 'title', code: 'DM_CERT_DUTY_LEVEL' },
-        { label: '创建人姓名', prop: 'createUser' },
-        // { label: "创建时间", prop: "createTime", format: "YYYY-MM-DD", dataType: "date" }
-        { label: '创建时间', prop: 'createTimeString' }
+        { label: '创建人姓名', prop: 'createUserName' },
+        { label: '创建时间', prop: 'createTime', dateFormat: "YYYY-MM-DD HH:mm:ss" }
       ],
       conditionForm: [
         {

+ 5 - 1
src/pages/statistics-manage/role-auth/index.vue

@@ -5,7 +5,7 @@
     <!-- 搜索栏 -->
     <search-bar :conditionForm="conditionForm" @submitSearch="receiveSearch"></search-bar>
     <!-- 统计条 -->
-    <p class="statis-bar">
+    <p class="statis-bar" v-if="condition.appId">
       当前应用拥有角色【<span>{{ statisNums.roleNums }}</span
       >】个,应用分配总名额 【<span>{{ statisNums.initNums }}</span
       >】名
@@ -64,6 +64,10 @@ export default {
   // 方法
   methods: {
     receiveSearch(value) {
+         if (!value.appId.value) {
+         this.$message.warning("请选择应用系统名称!");
+         return;
+      }
       this.condition = value;
       this.getRoleQuotasInfo();
       this.handleSearch();

+ 4 - 4
src/router/index.js

@@ -126,17 +126,17 @@ export const asyncRouterMap = [
       }
     ]
   },
-  // // 权限综合查询
+  // 权限综合查询
   {
-    path: '/permission-to-search',
+    path: '/permission-to-searchS',
     component: Layout,
-    meta: { title: '权限综合查询', icon: 'icon-othersearch', noCache: true },
+    meta: { title: '权限综合查询', icon: 'icon-othersearch', noCache: true, permission: ['QXGL_SQCX'] },
     children: [
       {
         path: 'data-auth-search',
         component: () => import('@/pages/permission-to-search/data-auth-search.vue'),
         name: 'data-auth-search',
-        meta: { title: '数据权限查询', noCache: true, layout: 'page' }
+        meta: { title: '数据权限查询', noCache: true, layout: 'page',  permission: ['QXGL_SQCX_SJSQCX'] }
       }
     ]
   },

+ 4 - 4
src/router/modules/admin-manage.js

@@ -7,17 +7,17 @@
 import Layout from '@/pages/layout/layout';
 
 const componentsRouter = {
-  path: '/police-manage',
+  path: '/admin-manage',
   component: Layout,
-  redirect: '/police-manage',
+  redirect: '/admin-manage',
   // alwaysShow: true,
   meta: { title: '管理员管理', icon: 'icon-yhgl', noCache: true, permission: ['YHGLPT_GLYGL'] },
   children: [
     {
-      path: 'admin-manage',
+      path: 'init',
       component: () => import('@/pages/admin-manage'),
       name: 'admin-manage',
-      meta: { title: '管理员管理', noCache: true, permission: ['YHGLPT_YHGL_GLYGL'] }
+      meta: { title: '管理员管理', noCache: true, permission: ['YHGLPT_GLYGL'] }
     }
   ]
 };

+ 36 - 33
src/router/modules/auth-object-manage.js

@@ -1,40 +1,43 @@
 /**
- * 授权体管理路由模块
+ * 授权体管理路由模块
  * @Author: linqian
  * @Date:   2021-09-07 14:20
  */
 import Layout from '@/pages/layout/layout';
-const componentsRouter = 
+const componentsRouter = {
+  path: '/auth-object-manage',
+  component: Layout,
+  redirect: '/auth-object-manage',
+  meta: { title: '授权客体管理', icon: 'icon-audit', noCache: true, permission: ['QXGL_SQGL_KTGL'] },
+  children: [
     {
-      path: '/auth-subject-manage',
-      component: Layout,
-      redirect: '/auth-subject-manage',
-      meta: { title: '授权主体管理', icon: 'icon-boxopen', noCache: true, permission: ['QXGL_SQGL_ZTGL'] },
-      children: [
-        {
-          path: 'user-prop-manage',
-          component: () => import('@/pages/auth-subject-manage/user-prop-manage'),
-          name: 'user-prop-manage',
-          meta: { title: '用户管理', noCache: true, permission: ['QXGL_SQGL_ZTGL_YHSXGL'] }
-        },
-        {
-          path: 'org-prop-manage',
-          component: () => import('@/pages/auth-subject-manage/org-prop-manage'),
-          name: 'org-prop-manage',
-          meta: { title: '机构管理', noCache: true, permission: ['QXGL_SQGL_ZTGL_JGSXGL'], layout: "page" }
-        },
-        {
-          path: 'app-prop-manage',
-          component: () => import('@/pages/auth-subject-manage/app-prop-manage'),
-          name: 'app-prop-manage',
-          meta: { title: '应用管理', noCache: true, permission: ['QXGL_SQGL_ZTGL_YYSXGL'] }
-        },
-        {
-          path: 'subject-prop-manage',
-          component: () => import('@/pages/auth-subject-manage/subject-prop-manage'),
-          name: 'subject-prop-manage',
-          meta: { title: '主体属性管理', noCache: true, permission: ['QXGL_SQGL_ZTGL_ZTSXLGL'],layout: 'page' }
-        }
-      ]
+      path: 'appfun-resource-manage',
+      component: () => import('@/pages/auth-object-manage/appfun-resource-manage'),
+      name: 'appfun-resource-manage',
+      meta: {
+        title: '应用功能资源管理',
+        noCache: true,
+        permission: ['QXGL_SQGL_KTGL_YYGNGL']
+      }
+    },
+    {
+      path: 'service-resource-manage',
+      component: () => import('@/pages/auth-object-manage/service-resource-manage'),
+      name: 'service-resource-manage',
+      meta: { title: '服务资源管理', noCache: true, permission: ['QXGL_SQGL_KTGL_FWZYGL'] }
+    },
+    {
+      path: 'sort-code-manage',
+      component: () => import('@/pages/auth-object-manage/sort-code-manage'),
+      name: 'sort-code-manage',
+      meta: { title: '数据分级分类管理', noCache: true, permission: ['QXGL_SQGL_KTGL_SJFJFLBM'] }
+    },
+    {
+      path: 'object-prop-manage',
+      component: () => import('@/pages/auth-object-manage/object-prop-manage'),
+      name: 'object-prop-manage',
+      meta: { title: '客体属性管理', noCache: true, permission: ['QXGL_SQGL_ZTGL_KTSXLGL'], layout: 'page' }
     }
-export default componentsRouter;
+  ]
+};
+export default componentsRouter;

+ 33 - 36
src/router/modules/auth-subject-manage.js

@@ -1,43 +1,40 @@
 /**
- * 授权体管理路由模块
+ * 授权体管理路由模块
  * @Author: linqian
  * @Date:   2021-09-07 14:20
  */
 import Layout from '@/pages/layout/layout';
-const componentsRouter = {
-  path: '/auth-object-manage',
-  component: Layout,
-  redirect: '/auth-object-manage',
-  meta: { title: '授权客体管理', icon: 'icon-audit', noCache: true, permission: ['QXGL_SQGL_KTGL'] },
-  children: [
+const componentsRouter = 
     {
-      path: 'appfun-resource-manage',
-      component: () => import('@/pages/auth-object-manage/appfun-resource-manage'),
-      name: 'appfun-resource-manage',
-      meta: {
-        title: '应用功能资源管理',
-        noCache: true,
-        permission: ['QXGL_SQGL_KTGL_YYGNGL']
-      }
-    },
-    {
-      path: 'service-resource-manage',
-      component: () => import('@/pages/auth-object-manage/service-resource-manage'),
-      name: 'service-resource-manage',
-      meta: { title: '服务资源管理', noCache: true, permission: ['QXGL_SQGL_KTGL_FWZYGL'] }
-    },
-    {
-      path: 'sort-code-manage',
-      component: () => import('@/pages/auth-object-manage/sort-code-manage'),
-      name: 'sort-code-manage',
-      meta: { title: '数据分级分类管理', noCache: true, permission: ['QXGL_SQGL_KTGL_SJFJFLBM'] }
-    },
-    {
-      path: 'object-prop-manage',
-      component: () => import('@/pages/auth-object-manage/object-prop-manage'),
-      name: 'object-prop-manage',
-      meta: { title: '客体属性管理', noCache: true, permission: ['QXGL_SQGL_ZTGL_KTSXLGL'], layout: 'page' }
+      path: '/auth-subject-manage',
+      component: Layout,
+      redirect: '/auth-subject-manage',
+      meta: { title: '授权主体管理', icon: 'icon-boxopen', noCache: true, permission: ['QXGL_SQGL_ZTGL'] },
+      children: [
+        {
+          path: 'user-prop-manage',
+          component: () => import('@/pages/auth-subject-manage/user-prop-manage'),
+          name: 'user-prop-manage',
+          meta: { title: '用户管理', noCache: true, permission: ['QXGL_SQGL_ZTGL_YHSXGL'] }
+        },
+        {
+          path: 'org-prop-manage',
+          component: () => import('@/pages/auth-subject-manage/org-prop-manage'),
+          name: 'org-prop-manage',
+          meta: { title: '机构管理', noCache: true, permission: ['QXGL_SQGL_ZTGL_JGSXGL'], layout: "page" }
+        },
+        {
+          path: 'app-prop-manage',
+          component: () => import('@/pages/auth-subject-manage/app-prop-manage'),
+          name: 'app-prop-manage',
+          meta: { title: '应用管理', noCache: true, permission: ['QXGL_SQGL_ZTGL_YYSXGL'] }
+        },
+        {
+          path: 'subject-prop-manage',
+          component: () => import('@/pages/auth-subject-manage/subject-prop-manage'),
+          name: 'subject-prop-manage',
+          meta: { title: '主体属性管理', noCache: true, permission: ['QXGL_SQGL_ZTGL_ZTSXLGL'],layout: 'page' }
+        }
+      ]
     }
-  ]
-};
-export default componentsRouter;
+export default componentsRouter;

+ 3 - 3
src/router/modules/data-auth-manage.js

@@ -15,19 +15,19 @@ const componentsRouter =
         component: () =>
           import('@/pages/data-auth-manage/business-tag-auth.vue'),
         name: 'business-tag-auth',
-        meta: { title: '属性授权', noCache: true, permission: ['QXGL_SQGL_SJSQGL_BQSQ'], layout: 'page' }
+        meta: { title: '属性授权管理', noCache: true, permission: ['QXGL_SQGL_SJSQGL_BQSQ'], layout: 'page' }
       },
       {
         path: 'person-auth',
         component: () => import('@/pages/data-auth-manage/person-auth.vue'),
         name: 'person-auth',
-        meta: { title: '人员授权', noCache: true, permission: ['QXGL_SQGL_SJSQGL_RYSQ'], layout: 'page' }
+        meta: { title: '人员授权管理', noCache: true, permission: ['QXGL_SQGL_SJSQGL_RYSQ'], layout: 'page' }
       },
       {
         path: 'org-auth',
         component: () => import('@/pages/data-auth-manage/org-auth.vue'),
         name: 'org-auth',
-        meta: { title: '机构授权', noCache: true, permission: ['QXGL_SQGL_SJSQGL_JGSQ'], layout: 'page' }
+        meta: { title: '机构授权管理', noCache: true, permission: ['QXGL_SQGL_SJSQGL_JGSQ'], layout: 'page' }
       }
     ]
   }