zhangjie 3 lat temu
rodzic
commit
96b136295c

+ 2 - 1
src/assets/styles/home.scss

@@ -131,7 +131,7 @@
       font-size: 12px;
       line-height: 16px;
       top: 12px;
-      right: 0;
+      right: 40px;
       background-color: $--color-warning;
       color: #fff;
       text-align: center;
@@ -157,6 +157,7 @@
   .el-submenu .el-menu-item {
     height: 40px;
     line-height: 40px;
+    padding: 0 40px;
   }
   .el-submenu .el-menu-item.is-active {
     font-weight: 600;

+ 4165 - 0
src/constants/menus-data.js

@@ -0,0 +1,4165 @@
+export default [
+  {
+    id: "1",
+    name: "基础配置",
+    url: "base",
+    type: "MENU",
+    parentId: "-1",
+    schoolId: "2",
+    sequence: 1,
+    enable: true,
+    children: [
+      {
+        id: "2",
+        name: "用户管理",
+        url: "user",
+        type: "MENU",
+        parentId: "1",
+        schoolId: "2",
+        sequence: 1,
+        enable: true,
+        children: [
+          {
+            id: "4",
+            name: "组织架构",
+            url: "OrganizationManage",
+            type: "MENU",
+            parentId: "2",
+            schoolId: "2",
+            sequence: 1,
+            enable: true,
+            urls: [
+              {
+                id: "92",
+                name: "组织机构-查询",
+                url: "/api/admin/sys/org/list",
+                type: "URL",
+                parentId: "4",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "93",
+                name: "组织机构-新增/修改",
+                url: "/api/admin/sys/org/save",
+                type: "URL",
+                parentId: "4",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "94",
+                name: "组织机构-删除",
+                url: "/api/admin/sys/org/remove",
+                type: "URL",
+                parentId: "4",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              },
+              {
+                id: "371",
+                name: "根据类型查询机构",
+                url: "/api/admin/sys/org/find_by_type",
+                type: "URL",
+                parentId: "4",
+                schoolId: "2",
+                sequence: 5,
+                enable: true
+              }
+            ],
+            buttons: [
+              {
+                id: "224",
+                name: "组织架构-添加",
+                url: "Add",
+                type: "BUTTON",
+                parentId: "4",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            links: [
+              {
+                id: "225",
+                name: "组织架构-+子部门",
+                url: "Add",
+                type: "LINK",
+                parentId: "4",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "226",
+                name: "组织架构-编辑",
+                url: "Edit",
+                type: "LINK",
+                parentId: "4",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "227",
+                name: "组织架构-删除",
+                url: "Delete",
+                type: "LINK",
+                parentId: "4",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              }
+            ],
+            lists: [
+              {
+                id: "228",
+                name: "组织架构-树形列表",
+                url: "List",
+                type: "LIST",
+                parentId: "4",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            conditions: [
+              {
+                id: "234",
+                name: "组织架构-查询条件",
+                url: "Condition",
+                type: "CONDITION",
+                parentId: "4",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ]
+          },
+          {
+            id: "5",
+            name: "用户管理",
+            url: "UserManage",
+            type: "MENU",
+            parentId: "2",
+            schoolId: "2",
+            sequence: 2,
+            enable: true,
+            urls: [
+              {
+                id: "77",
+                name: "用户管理-查询",
+                url: "/api/admin/sys/user/list",
+                type: "URL",
+                parentId: "5",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "78",
+                name: "用户管理-新增/修改",
+                url: "/api/admin/sys/user/save",
+                type: "URL",
+                parentId: "5",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "79",
+                name: "用户管理-启用/禁用",
+                url: "/api/admin/sys/user/enable",
+                type: "URL",
+                parentId: "5",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              },
+              {
+                id: "80",
+                name: "用户管理-重置密码",
+                url: "/api/admin/sys/user/reset_password",
+                type: "URL",
+                parentId: "5",
+                schoolId: "2",
+                sequence: 4,
+                enable: true
+              },
+              {
+                id: "81",
+                name: "用户管理-导入",
+                url: "/api/admin/sys/user/import",
+                type: "URL",
+                parentId: "5",
+                schoolId: "2",
+                sequence: 5,
+                enable: true
+              },
+              {
+                id: "87",
+                name: "用户管理-用户已绑定角色列表",
+                url: "/api/admin/sys/role/get_user_roles",
+                type: "URL",
+                parentId: "5",
+                schoolId: "2",
+                sequence: 5,
+                enable: true
+              },
+              {
+                id: "184",
+                name: "用户管理-查询用户可绑定角色",
+                url: "/api/admin/sys/role/list_to_user",
+                type: "URL",
+                parentId: "5",
+                schoolId: "2",
+                sequence: 7,
+                enable: true
+              }
+            ],
+            buttons: [
+              {
+                id: "217",
+                name: "用户管理-查询",
+                url: "Select",
+                type: "BUTTON",
+                parentId: "5",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "218",
+                name: "用户管理-添加用户",
+                url: "Add",
+                type: "BUTTON",
+                parentId: "5",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "243",
+                name: "用户管理-批量导入",
+                url: "Export",
+                type: "BUTTON",
+                parentId: "5",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              }
+            ],
+            links: [
+              {
+                id: "219",
+                name: "用户管理-编辑",
+                url: "Edit",
+                type: "LINK",
+                parentId: "5",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "220",
+                name: "用户管理-启用&禁用",
+                url: "Enable",
+                type: "LINK",
+                parentId: "5",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "223",
+                name: "用户管理-重置密码",
+                url: "Reset",
+                type: "LINK",
+                parentId: "5",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              }
+            ],
+            lists: [
+              {
+                id: "221",
+                name: "用户管理-列表",
+                url: "List",
+                type: "LIST",
+                parentId: "5",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            conditions: [
+              {
+                id: "222",
+                name: "用户管理-查询条件",
+                url: "Condition",
+                type: "CONDITION",
+                parentId: "5",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ]
+          },
+          {
+            id: "6",
+            name: "角色管理",
+            url: "RoleManage",
+            type: "MENU",
+            parentId: "2",
+            schoolId: "2",
+            sequence: 3,
+            enable: true,
+            urls: [
+              {
+                id: "83",
+                name: "角色管理-查询",
+                url: "/api/admin/sys/role/list",
+                type: "URL",
+                parentId: "6",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "84",
+                name: "角色管理-删除",
+                url: "/api/admin/sys/role/remove",
+                type: "URL",
+                parentId: "6",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "85",
+                name: "角色管理-新增/修改",
+                url: "/api/admin/sys/role/save",
+                type: "URL",
+                parentId: "6",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              },
+              {
+                id: "91",
+                name: "角色管理-角色已绑定权限列表",
+                url: "/api/admin/sys/privilege/get_role_privileges",
+                type: "URL",
+                parentId: "6",
+                schoolId: "2",
+                sequence: 4,
+                enable: true
+              }
+            ],
+            buttons: [
+              {
+                id: "229",
+                name: "角色管理-查询",
+                url: "Select",
+                type: "BUTTON",
+                parentId: "6",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "230",
+                name: "角色管理-添加角色",
+                url: "Add",
+                type: "BUTTON",
+                parentId: "6",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              }
+            ],
+            links: [
+              {
+                id: "231",
+                name: "角色管理-编辑",
+                url: "Edit",
+                type: "LINK",
+                parentId: "6",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "232",
+                name: "角色管理-删除",
+                url: "Delete",
+                type: "LINK",
+                parentId: "6",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              }
+            ],
+            lists: [
+              {
+                id: "233",
+                name: "角色管理-列表",
+                url: "List",
+                type: "LIST",
+                parentId: "6",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            conditions: [
+              {
+                id: "235",
+                name: "角色管理-查询条件",
+                url: "Condition",
+                type: "CONDITION",
+                parentId: "6",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ]
+          }
+        ]
+      },
+      {
+        id: "3",
+        name: "配置管理",
+        url: "rule",
+        type: "MENU",
+        parentId: "1",
+        schoolId: "2",
+        sequence: 2,
+        enable: true,
+        children: [
+          {
+            id: "8",
+            name: "通用规则",
+            url: "CommonRule",
+            type: "MENU",
+            parentId: "3",
+            schoolId: "2",
+            sequence: 1,
+            enable: true,
+            urls: [
+              {
+                id: "99",
+                name: "考务规则-查询",
+                url: "/api/admin/basic/exam_rule/list",
+                type: "URL",
+                parentId: "8",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "100",
+                name: "考务规则-新增/修改",
+                url: "/api/admin/basic/exam_rule/save",
+                type: "URL",
+                parentId: "8",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              }
+            ],
+            buttons: [
+              {
+                id: "236",
+                name: "考务规则-考务规则配置",
+                url: "Add",
+                type: "BUTTON",
+                parentId: "8",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ]
+          },
+          {
+            id: "9",
+            name: "题卡规则管理",
+            url: "CardRuleManage",
+            type: "MENU",
+            parentId: "3",
+            schoolId: "2",
+            sequence: 2,
+            enable: true,
+            urls: [
+              {
+                id: "101",
+                name: "题卡规则-查询",
+                url: "/api/admin/basic/card_rule/list",
+                type: "URL",
+                parentId: "9",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "102",
+                name: "题卡规则-查询单个",
+                url: "/api/admin/basic/card_rule/get_one",
+                type: "URL",
+                parentId: "9",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "103",
+                name: "题卡规则-新增/修改",
+                url: "/api/admin/basic/card_rule/save",
+                type: "URL",
+                parentId: "9",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              },
+              {
+                id: "104",
+                name: "题卡规则-启用/禁用",
+                url: "/api/admin/basic/card_rule/enable",
+                type: "URL",
+                parentId: "9",
+                schoolId: "2",
+                sequence: 4,
+                enable: true
+              }
+            ],
+            buttons: [
+              {
+                id: "237",
+                name: "题卡规则-查询",
+                url: "Select",
+                type: "BUTTON",
+                parentId: "9",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "238",
+                name: "题卡规则-添加",
+                url: "Add",
+                type: "BUTTON",
+                parentId: "9",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              }
+            ],
+            links: [
+              {
+                id: "342",
+                name: "题卡规则-预览",
+                url: "Preview",
+                type: "LINK",
+                parentId: "9",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "343",
+                name: "题卡规则-编辑",
+                url: "Edit",
+                type: "LINK",
+                parentId: "9",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "345",
+                name: "题卡规则-启用&禁用",
+                url: "Enable",
+                type: "LINK",
+                parentId: "9",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              }
+            ],
+            lists: [
+              {
+                id: "240",
+                name: "题卡规则-列表",
+                url: "List",
+                type: "LIST",
+                parentId: "9",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            conditions: [
+              {
+                id: "239",
+                name: "题卡规则-查询条件",
+                url: "Condition",
+                type: "CONDITION",
+                parentId: "9",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ]
+          },
+          {
+            id: "10",
+            name: "通卡模板",
+            url: "CommonCardTemplate",
+            type: "MENU",
+            parentId: "3",
+            schoolId: "2",
+            sequence: 3,
+            enable: true,
+            urls: [
+              {
+                id: "105",
+                name: "通用模板-查询",
+                url: "/api/admin/basic/template/list",
+                type: "URL",
+                parentId: "10",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "106",
+                name: "通用模板-新增/修改",
+                url: "/api/admin/basic/template/save",
+                type: "URL",
+                parentId: "10",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "107",
+                name: "通用模板-启用/禁用",
+                url: "/api/admin/basic/template/enable",
+                type: "URL",
+                parentId: "10",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              },
+              {
+                id: "192",
+                name: "读取模板内容",
+                url: "/api/admin/basic/template/read_content",
+                type: "URL",
+                parentId: "10",
+                schoolId: "2",
+                sequence: 4,
+                enable: true
+              }
+            ],
+            buttons: [
+              {
+                id: "241",
+                name: "通卡模版-查询",
+                url: "Select",
+                type: "BUTTON",
+                parentId: "10",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "242",
+                name: "通卡模版-添加模版",
+                url: "Add",
+                type: "BUTTON",
+                parentId: "10",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              }
+            ],
+            links: [
+              {
+                id: "244",
+                name: "通卡模版-预览",
+                url: "Preview",
+                type: "LINK",
+                parentId: "10",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "245",
+                name: "通卡模版-编辑",
+                url: "Edit",
+                type: "LINK",
+                parentId: "10",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "246",
+                name: "通卡模版-启用&禁用",
+                url: "Enable",
+                type: "LINK",
+                parentId: "10",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              }
+            ],
+            lists: [
+              {
+                id: "248",
+                name: "通卡模版-列表",
+                url: "List",
+                type: "LIST",
+                parentId: "10",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            conditions: [
+              {
+                id: "247",
+                name: "通卡模版-查询条件",
+                url: "Condition",
+                type: "CONDITION",
+                parentId: "10",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ]
+          },
+          {
+            id: "11",
+            name: "变量印品模板",
+            url: "ParamPrintTemplate",
+            type: "MENU",
+            parentId: "3",
+            schoolId: "2",
+            sequence: 4,
+            enable: true,
+            urls: [
+              {
+                id: "123",
+                name: "变量印品模板-查询",
+                url: "/api/admin/basic/template/list",
+                type: "URL",
+                parentId: "11",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "124",
+                name: "变量印品模板-新增/修改",
+                url: "/api/admin/basic/template/save",
+                type: "URL",
+                parentId: "11",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "125",
+                name: "变量印品模板-启用/禁用",
+                url: "/api/admin/basic/template/enable",
+                type: "URL",
+                parentId: "11",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              }
+            ],
+            buttons: [
+              {
+                id: "249",
+                name: "变量印品模版-查询",
+                url: "Select",
+                type: "BUTTON",
+                parentId: "11",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "250",
+                name: "变量印品模版-添加模版",
+                url: "Add",
+                type: "BUTTON",
+                parentId: "11",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              }
+            ],
+            links: [
+              {
+                id: "251",
+                name: "变量印品模版-预览",
+                url: "Preview",
+                type: "LINK",
+                parentId: "11",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "252",
+                name: "变量印品模版-编辑",
+                url: "Edit",
+                type: "LINK",
+                parentId: "11",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "253",
+                name: "变量印品模版-启用&禁用",
+                url: "Enable",
+                type: "LINK",
+                parentId: "11",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              }
+            ],
+            lists: [
+              {
+                id: "255",
+                name: "变量印品模版-列表",
+                url: "List",
+                type: "LIST",
+                parentId: "11",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            conditions: [
+              {
+                id: "254",
+                name: "变量印品模版-查询条件",
+                url: "Condition",
+                type: "CONDITION",
+                parentId: "11",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ]
+          },
+          {
+            id: "12",
+            name: "普通印品模板",
+            url: "CommonPrintTemplate",
+            type: "MENU",
+            parentId: "3",
+            schoolId: "2",
+            sequence: 5,
+            enable: true,
+            urls: [
+              {
+                id: "126",
+                name: "普通印品模板-查询",
+                url: "/api/admin/basic/template/list",
+                type: "URL",
+                parentId: "12",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "127",
+                name: "普通印品模板-新增/修改",
+                url: "/api/admin/basic/template/save",
+                type: "URL",
+                parentId: "12",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "128",
+                name: "普通印品模板-启用/禁用",
+                url: "/api/admin/basic/template/enable",
+                type: "URL",
+                parentId: "12",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              }
+            ],
+            buttons: [
+              {
+                id: "256",
+                name: "普通印品模版-查询",
+                url: "Select",
+                type: "BUTTON",
+                parentId: "12",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "257",
+                name: "普通印品模版-添加模版",
+                url: "Add",
+                type: "BUTTON",
+                parentId: "12",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              }
+            ],
+            links: [
+              {
+                id: "258",
+                name: "普通印品模版-预览",
+                url: "Preview",
+                type: "LINK",
+                parentId: "12",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "259",
+                name: "普通印品模版-编辑",
+                url: "Edit",
+                type: "LINK",
+                parentId: "12",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "260",
+                name: "普通印品模版-启用&禁用",
+                url: "Enable",
+                type: "LINK",
+                parentId: "12",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              }
+            ],
+            lists: [
+              {
+                id: "262",
+                name: "普通印品模版-列表",
+                url: "List",
+                type: "LIST",
+                parentId: "12",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            conditions: [
+              {
+                id: "261",
+                name: "普通印品模版-查询条件",
+                url: "Condition",
+                type: "CONDITION",
+                parentId: "12",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ]
+          },
+          {
+            id: "392",
+            name: "印刷计划合并管理",
+            url: "PrintPlanPushManage",
+            type: "MENU",
+            parentId: "3",
+            schoolId: "2",
+            sequence: 6,
+            enable: true,
+            urls: [
+              {
+                id: "431",
+                name: "印刷计划合并管理-计划查询",
+                url: "/api/admin/exam/print_sync/list_sync",
+                type: "URL",
+                parentId: "392",
+                schoolId: "2",
+                sequence: 6,
+                enable: true
+              },
+              {
+                id: "432",
+                name: "印刷计划合并管理-合并推送-云阅卷考试ID列表",
+                url: "/api/admin/exam/print_sync/list_relate_ids",
+                type: "URL",
+                parentId: "392",
+                schoolId: "2",
+                sequence: 6,
+                enable: true
+              },
+              {
+                id: "433",
+                name: "印刷计划合并管理-合并推送-多计划合并同步",
+                url: "/api/admin/exam/print_sync/sync_data_merge",
+                type: "URL",
+                parentId: "392",
+                schoolId: "2",
+                sequence: 6,
+                enable: true
+              },
+              {
+                id: "434",
+                name: "印刷计划合并管理-批量同步",
+                url: "/api/admin/exam/print_sync/sync_data_cloud_batch",
+                type: "URL",
+                parentId: "392",
+                schoolId: "2",
+                sequence: 6,
+                enable: true
+              },
+              {
+                id: "435",
+                name: "印刷计划合并管理-同步失败-单个手动同步",
+                url: "/api/admin/exam/print_sync/sync_data_cloud",
+                type: "URL",
+                parentId: "392",
+                schoolId: "2",
+                sequence: 6,
+                enable: true
+              }
+            ],
+            buttons: [
+              {
+                id: "393",
+                name: "印刷计划合并管理-查询",
+                url: "Select",
+                type: "BUTTON",
+                parentId: "392",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "394",
+                name: "印刷计划合并管理-批量推送",
+                url: "BatchSend",
+                type: "BUTTON",
+                parentId: "392",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "395",
+                name: "印刷计划合并管理-合并推送印刷计划",
+                url: "MergeSend",
+                type: "BUTTON",
+                parentId: "392",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              }
+            ],
+            links: [
+              {
+                id: "396",
+                name: "印刷计划合并管理-预览",
+                url: "Preview",
+                type: "LINK",
+                parentId: "392",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "397",
+                name: "印刷计划合并管理-推送",
+                url: "Send",
+                type: "LINK",
+                parentId: "392",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              }
+            ],
+            lists: [
+              {
+                id: "399",
+                name: "印刷计划合并管理-列表",
+                url: "List",
+                type: "LIST",
+                parentId: "392",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            conditions: [
+              {
+                id: "398",
+                name: "印刷计划合并管理-查询条件",
+                url: "Condition",
+                type: "CONDITION",
+                parentId: "392",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ]
+          },
+          {
+            id: "402",
+            name: "流程管理",
+            url: "FlowManage",
+            type: "MENU",
+            parentId: "3",
+            schoolId: "2",
+            sequence: 7,
+            enable: true,
+            urls: [
+              {
+                id: "414",
+                name: "流程管理-注册流程",
+                url: "/api/admin/flow/register",
+                type: "URL",
+                parentId: "402",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "415",
+                name: "流程管理-流程逻辑删除",
+                url: "/api/admin/flow/enable",
+                type: "URL",
+                parentId: "402",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "416",
+                name: "流程管理-流程列表",
+                url: "/api/admin/flow/list",
+                type: "URL",
+                parentId: "402",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              },
+              {
+                id: "418",
+                name: "流程管理-流程审批记录列表",
+                url: "/api/admin/flow/approve/list",
+                type: "URL",
+                parentId: "402",
+                schoolId: "2",
+                sequence: 5,
+                enable: true
+              },
+              {
+                id: "419",
+                name: "流程管理-流程审批记录逻辑删除",
+                url: "/api/admin/flow/approve/enable",
+                type: "URL",
+                parentId: "402",
+                schoolId: "2",
+                sequence: 6,
+                enable: true
+              },
+              {
+                id: "421",
+                name: "流程管理-获取所有流程节点",
+                url: "/api/admin/flow/task/all",
+                type: "URL",
+                parentId: "402",
+                schoolId: "2",
+                sequence: 8,
+                enable: true
+              },
+              {
+                id: "441",
+                name: "流程管理-获取所有流程节点待审批人",
+                url: "/api/admin/flow/task/approver/people_all",
+                type: "URL",
+                parentId: "402",
+                schoolId: "2",
+                sequence: 9,
+                enable: true
+              },
+              {
+                id: "442",
+                name: "流程管理-流程节点转他人审批",
+                url: "/api/admin/flow/task/approver/exchange",
+                type: "URL",
+                parentId: "402",
+                schoolId: "2",
+                sequence: 10,
+                enable: true
+              },
+              {
+                id: "445",
+                name: "流程管理-获取转他人审批人",
+                url: "/api/admin/flow/task/approver/exchange/people",
+                type: "URL",
+                parentId: "402",
+                schoolId: "2",
+                sequence: 11,
+                enable: true
+              }
+            ],
+            buttons: [
+              {
+                id: "407",
+                name: "流程管理-查询",
+                url: "Select",
+                type: "BUTTON",
+                parentId: "402",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "408",
+                name: "流程管理-注册",
+                url: "Register",
+                type: "BUTTON",
+                parentId: "402",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              }
+            ],
+            links: [
+              {
+                id: "409",
+                name: "流程管理-删除",
+                url: "Delete",
+                type: "LINK",
+                parentId: "402",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            lists: [
+              {
+                id: "411",
+                name: "流程管理-列表",
+                url: "List",
+                type: "LIST",
+                parentId: "402",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            conditions: [
+              {
+                id: "410",
+                name: "流程管理-查询条件",
+                url: "Condition",
+                type: "CONDITION",
+                parentId: "402",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ]
+          },
+          {
+            id: "403",
+            name: "流程审批记录管理",
+            url: "ApproveRecordManage",
+            type: "MENU",
+            parentId: "3",
+            schoolId: "2",
+            sequence: 8,
+            enable: true,
+            buttons: [
+              {
+                id: "404",
+                name: "流程审批记录管理-查询",
+                url: "Select",
+                type: "BUTTON",
+                parentId: "403",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            links: [
+              {
+                id: "422",
+                name: "流程审批记录管理-删除",
+                url: "Delete",
+                type: "LINK",
+                parentId: "403",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            lists: [
+              {
+                id: "406",
+                name: "流程审批记录管理-列表",
+                url: "List",
+                type: "LIST",
+                parentId: "403",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            conditions: [
+              {
+                id: "405",
+                name: "流程审批记录管理-查询条件",
+                url: "Condition",
+                type: "CONDITION",
+                parentId: "403",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ]
+          }
+        ]
+      },
+      {
+        id: "356",
+        name: "字典管理",
+        url: "dictionary",
+        type: "MENU",
+        parentId: "1",
+        schoolId: "2",
+        sequence: 1,
+        enable: true,
+        children: [
+          {
+            id: "13",
+            name: "课程管理",
+            url: "CourseManage",
+            type: "MENU",
+            parentId: "356",
+            schoolId: "2",
+            sequence: 3,
+            enable: true,
+            urls: [
+              {
+                id: "96",
+                name: "课程管理-查询",
+                url: "/api/admin/basic/course/list",
+                type: "URL",
+                parentId: "13",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "97",
+                name: "课程管理-新增/修改",
+                url: "/api/admin/basic/course/save",
+                type: "URL",
+                parentId: "13",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "367",
+                name: "课程管理-新增/编辑",
+                url: "/api/admin/basic/course/save",
+                type: "URL",
+                parentId: "13",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "368",
+                name: "课程管理-批量启用&禁用",
+                url: "/api/admin/basic/course/enable",
+                type: "URL",
+                parentId: "13",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              },
+              {
+                id: "369",
+                name: "课程基本信息管理-批量导入(异步)",
+                url: "/api/admin/basic/course/data_import",
+                type: "URL",
+                parentId: "13",
+                schoolId: "2",
+                sequence: 4,
+                enable: true
+              }
+            ],
+            buttons: [
+              {
+                id: "263",
+                name: "课程管理-查询",
+                url: "Select",
+                type: "BUTTON",
+                parentId: "13",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "265",
+                name: "课程管理-模版下载",
+                url: "TempleteDownload",
+                type: "BUTTON",
+                parentId: "13",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              },
+              {
+                id: "385",
+                name: "课程管理-新增",
+                url: "Add",
+                type: "BUTTON",
+                parentId: "13",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "388",
+                name: "课程管理-批量导入",
+                url: "Import",
+                type: "BUTTON",
+                parentId: "13",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              }
+            ],
+            links: [
+              {
+                id: "268",
+                name: "课程管理-编辑",
+                url: "Edit",
+                type: "LINK",
+                parentId: "13",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "269",
+                name: "课程管理-批量启用&禁用",
+                url: "Enable",
+                type: "LINK",
+                parentId: "13",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              }
+            ],
+            lists: [
+              {
+                id: "271",
+                name: "课程管理-列表",
+                url: "List",
+                type: "LIST",
+                parentId: "13",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "389",
+                name: "课程管理-机构列表",
+                url: "List",
+                type: "LIST",
+                parentId: "13",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            conditions: [
+              {
+                id: "270",
+                name: "课程管理-查询条件",
+                url: "Condition",
+                type: "CONDITION",
+                parentId: "13",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              }
+            ]
+          },
+          {
+            id: "357",
+            name: "校区管理",
+            url: "CampusManage",
+            type: "MENU",
+            parentId: "356",
+            schoolId: "2",
+            sequence: 1,
+            enable: true,
+            urls: [
+              {
+                id: "359",
+                name: "校区管理-查询",
+                url: "/api/admin/basic/campus/query",
+                type: "URL",
+                parentId: "357",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "360",
+                name: "校区管理-新增/编辑",
+                url: "/api/admin/basic/campus/save",
+                type: "URL",
+                parentId: "357",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "361",
+                name: "校区管理-删除(逻辑)",
+                url: "/api/admin/basic/campus/delete",
+                type: "URL",
+                parentId: "357",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              }
+            ],
+            buttons: [
+              {
+                id: "372",
+                name: "校区管理-查询",
+                url: "Select",
+                type: "BUTTON",
+                parentId: "357",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "374",
+                name: "校区管理-新增",
+                url: "Add",
+                type: "BUTTON",
+                parentId: "357",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            links: [
+              {
+                id: "375",
+                name: "校区管理-编辑",
+                url: "Edit",
+                type: "LINK",
+                parentId: "357",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "376",
+                name: "校区管理-删除",
+                url: "Delete",
+                type: "LINK",
+                parentId: "357",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            lists: [
+              {
+                id: "373",
+                name: "校区管理-列表",
+                url: "List",
+                type: "LIST",
+                parentId: "357",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ]
+          },
+          {
+            id: "358",
+            name: "学生管理",
+            url: "StudentManage",
+            type: "MENU",
+            parentId: "356",
+            schoolId: "2",
+            sequence: 2,
+            enable: true,
+            urls: [
+              {
+                id: "362",
+                name: "学生基本信息管理-查询",
+                url: "/api/admin/basic/student/query",
+                type: "URL",
+                parentId: "358",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "363",
+                name: "学生基本信息管理-新增/编辑",
+                url: "/api/admin/basic/student/save",
+                type: "URL",
+                parentId: "358",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "364",
+                name: "学生基本信息管理-批量删除(逻辑)",
+                url: "/api/admin/basic/student/delete_batch",
+                type: "URL",
+                parentId: "358",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              },
+              {
+                id: "365",
+                name: "学生基本信息管理-批量导入(异步)",
+                url: "/api/admin/basic/student/data_import",
+                type: "URL",
+                parentId: "358",
+                schoolId: "2",
+                sequence: 4,
+                enable: true
+              }
+            ],
+            buttons: [
+              {
+                id: "377",
+                name: "学生管理-查询",
+                url: "Select",
+                type: "BUTTON",
+                parentId: "358",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "379",
+                name: "学生管理-新增",
+                url: "Add",
+                type: "BUTTON",
+                parentId: "358",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "382",
+                name: "学生管理-批量导入",
+                url: "Import",
+                type: "BUTTON",
+                parentId: "358",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              }
+            ],
+            links: [
+              {
+                id: "380",
+                name: "学生管理-编辑",
+                url: "Edit",
+                type: "LINK",
+                parentId: "358",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "381",
+                name: "学生管理-删除",
+                url: "Delete",
+                type: "LINK",
+                parentId: "358",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            lists: [
+              {
+                id: "378",
+                name: "学生管理-列表",
+                url: "List",
+                type: "LIST",
+                parentId: "358",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            conditions: [
+              {
+                id: "400",
+                name: "学生管理-查询条件",
+                url: "Condition",
+                type: "CONDITION",
+                parentId: "358",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ]
+          },
+          {
+            id: "450",
+            name: "班级管理",
+            url: "ClazzManage",
+            type: "MENU",
+            parentId: "356",
+            schoolId: "2",
+            sequence: 1,
+            enable: true,
+            urls: [
+              {
+                id: "451",
+                name: "班级基本信息管理-查询",
+                url: "/api/admin/basic/clazz/query",
+                type: "URL",
+                parentId: "450",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "452",
+                name: "班级基本信息管理-新增/编辑",
+                url: "/api/admin/basic/clazz/save",
+                type: "URL",
+                parentId: "450",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "453",
+                name: "班级基本信息管理-批量删除(逻辑)",
+                url: "/api/admin/basic/clazz/delete_batch",
+                type: "URL",
+                parentId: "450",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              },
+              {
+                id: "454",
+                name: "班级基本信息管理-批量导入(异步)",
+                url: "/api/admin/basic/clazz/data_import",
+                type: "URL",
+                parentId: "450",
+                schoolId: "2",
+                sequence: 4,
+                enable: true
+              },
+              {
+                id: "462",
+                name: "班级数据源查询",
+                url: "/api/admin/basic/clazz/datasource",
+                type: "URL",
+                parentId: "450",
+                schoolId: "2",
+                sequence: 5,
+                enable: true
+              }
+            ],
+            buttons: [
+              {
+                id: "455",
+                name: "班级管理-查询",
+                url: "Select",
+                type: "BUTTON",
+                parentId: "450",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "457",
+                name: "班级管理-新增",
+                url: "Add",
+                type: "BUTTON",
+                parentId: "450",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "460",
+                name: "班级管理-批量导入",
+                url: "Import",
+                type: "BUTTON",
+                parentId: "450",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              }
+            ],
+            links: [
+              {
+                id: "458",
+                name: "班级管理-编辑",
+                url: "Edit",
+                type: "LINK",
+                parentId: "450",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "459",
+                name: "班级管理-删除",
+                url: "Delete",
+                type: "LINK",
+                parentId: "450",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            lists: [
+              {
+                id: "456",
+                name: "班级管理-列表",
+                url: "List",
+                type: "LIST",
+                parentId: "450",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            conditions: [
+              {
+                id: "461",
+                name: "班级管理-查询条件",
+                url: "Condition",
+                type: "CONDITION",
+                parentId: "450",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ]
+          },
+          {
+            name: "学期管理",
+            url: "SemesterManage",
+            type: "MENU",
+            urls: [
+              {
+                name: "查询",
+                url: "/api/admin/basic/course/list",
+                type: "URL"
+              },
+              {
+                name: "新增/修改",
+                url: "/api/admin/basic/course/save",
+                type: "URL"
+              },
+              {
+                name: "新增/编辑",
+                url: "/api/admin/basic/course/save",
+                type: "URL"
+              },
+              {
+                name: "批量启用&禁用",
+                url: "/api/admin/basic/course/enable",
+                type: "URL"
+              },
+              {
+                name: "批量导入(异步)",
+                url: "/api/admin/basic/course/data_import",
+                type: "URL"
+              }
+            ],
+            buttons: [
+              {
+                name: "查询",
+                url: "Select",
+                type: "BUTTON"
+              },
+              {
+                name: "新增",
+                url: "Add",
+                type: "BUTTON"
+              },
+              {
+                name: "批量导入",
+                url: "Import",
+                type: "BUTTON"
+              }
+            ],
+            links: [
+              {
+                name: "编辑",
+                url: "Edit",
+                type: "LINK"
+              },
+              {
+                name: "批量启用&禁用",
+                url: "Enable",
+                type: "LINK"
+              }
+            ],
+            lists: [
+              {
+                name: "列表",
+                url: "List",
+                type: "LIST"
+              },
+              {
+                name: "机构列表",
+                url: "List",
+                type: "LIST"
+              }
+            ],
+            conditions: [
+              {
+                name: "查询条件",
+                url: "Condition",
+                type: "CONDITION"
+              }
+            ]
+          },
+          {
+            name: "专业管理",
+            url: "MajorManage",
+            type: "MENU",
+            urls: [
+              {
+                name: "查询",
+                url: "/api/admin/basic/course/list",
+                type: "URL"
+              },
+              {
+                name: "新增/修改",
+                url: "/api/admin/basic/course/save",
+                type: "URL"
+              },
+              {
+                name: "新增/编辑",
+                url: "/api/admin/basic/course/save",
+                type: "URL"
+              },
+              {
+                name: "批量启用&禁用",
+                url: "/api/admin/basic/course/enable",
+                type: "URL"
+              },
+              {
+                name: "批量导入(异步)",
+                url: "/api/admin/basic/course/data_import",
+                type: "URL"
+              }
+            ],
+            buttons: [
+              {
+                name: "查询",
+                url: "Select",
+                type: "BUTTON"
+              },
+              {
+                name: "新增",
+                url: "Add",
+                type: "BUTTON"
+              },
+              {
+                name: "批量导入",
+                url: "Import",
+                type: "BUTTON"
+              }
+            ],
+            links: [
+              {
+                name: "编辑",
+                url: "Edit",
+                type: "LINK"
+              },
+              {
+                name: "批量启用&禁用",
+                url: "Enable",
+                type: "LINK"
+              }
+            ],
+            lists: [
+              {
+                name: "列表",
+                url: "List",
+                type: "LIST"
+              },
+              {
+                name: "机构列表",
+                url: "List",
+                type: "LIST"
+              }
+            ],
+            conditions: [
+              {
+                name: "查询条件",
+                url: "Condition",
+                type: "CONDITION"
+              }
+            ]
+          }
+        ]
+      },
+      {
+        name: "云阅卷管理",
+        url: "stmms",
+        type: "MENU",
+        children: [
+          {
+            name: "阅卷管理",
+            url: "MarkTaskManage",
+            type: "MENU",
+            urls: [
+              {
+                name: "查询",
+                url: "/api/admin/basic/course/list",
+                type: "URL"
+              },
+              {
+                name: "新增/修改",
+                url: "/api/admin/basic/course/save",
+                type: "URL"
+              },
+              {
+                name: "新增/编辑",
+                url: "/api/admin/basic/course/save",
+                type: "URL"
+              },
+              {
+                name: "批量启用&禁用",
+                url: "/api/admin/basic/course/enable",
+                type: "URL"
+              },
+              {
+                name: "批量导入(异步)",
+                url: "/api/admin/basic/course/data_import",
+                type: "URL"
+              }
+            ],
+            buttons: [
+              {
+                name: "查询",
+                url: "Select",
+                type: "BUTTON"
+              },
+              {
+                name: "新增",
+                url: "Add",
+                type: "BUTTON"
+              },
+              {
+                name: "批量导入",
+                url: "Import",
+                type: "BUTTON"
+              }
+            ],
+            links: [
+              {
+                name: "编辑",
+                url: "Edit",
+                type: "LINK"
+              },
+              {
+                name: "批量启用&禁用",
+                url: "Enable",
+                type: "LINK"
+              }
+            ],
+            lists: [
+              {
+                name: "列表",
+                url: "List",
+                type: "LIST"
+              },
+              {
+                name: "机构列表",
+                url: "List",
+                type: "LIST"
+              }
+            ],
+            conditions: [
+              {
+                name: "查询条件",
+                url: "Condition",
+                type: "CONDITION"
+              }
+            ]
+          },
+          {
+            name: "试卷结构/标答上传",
+            url: "UploadStructure",
+            type: "MENU",
+            urls: [
+              {
+                name: "查询",
+                url: "/api/admin/basic/course/list",
+                type: "URL"
+              },
+              {
+                name: "新增/修改",
+                url: "/api/admin/basic/course/save",
+                type: "URL"
+              },
+              {
+                name: "新增/编辑",
+                url: "/api/admin/basic/course/save",
+                type: "URL"
+              },
+              {
+                name: "批量启用&禁用",
+                url: "/api/admin/basic/course/enable",
+                type: "URL"
+              },
+              {
+                name: "批量导入(异步)",
+                url: "/api/admin/basic/course/data_import",
+                type: "URL"
+              }
+            ],
+            buttons: [
+              {
+                name: "查询",
+                url: "Select",
+                type: "BUTTON"
+              },
+              {
+                name: "新增",
+                url: "Add",
+                type: "BUTTON"
+              },
+              {
+                name: "批量导入",
+                url: "Import",
+                type: "BUTTON"
+              }
+            ],
+            links: [
+              {
+                name: "编辑",
+                url: "Edit",
+                type: "LINK"
+              },
+              {
+                name: "批量启用&禁用",
+                url: "Enable",
+                type: "LINK"
+              }
+            ],
+            lists: [
+              {
+                name: "列表",
+                url: "List",
+                type: "LIST"
+              },
+              {
+                name: "机构列表",
+                url: "List",
+                type: "LIST"
+              }
+            ],
+            conditions: [
+              {
+                name: "查询条件",
+                url: "Condition",
+                type: "CONDITION"
+              }
+            ]
+          },
+          {
+            name: "成绩归档",
+            url: "ScoreArchive",
+            type: "MENU",
+            urls: [
+              {
+                name: "查询",
+                url: "/api/admin/basic/course/list",
+                type: "URL"
+              },
+              {
+                name: "新增/修改",
+                url: "/api/admin/basic/course/save",
+                type: "URL"
+              },
+              {
+                name: "新增/编辑",
+                url: "/api/admin/basic/course/save",
+                type: "URL"
+              },
+              {
+                name: "批量启用&禁用",
+                url: "/api/admin/basic/course/enable",
+                type: "URL"
+              },
+              {
+                name: "批量导入(异步)",
+                url: "/api/admin/basic/course/data_import",
+                type: "URL"
+              }
+            ],
+            buttons: [
+              {
+                name: "查询",
+                url: "Select",
+                type: "BUTTON"
+              },
+              {
+                name: "新增",
+                url: "Add",
+                type: "BUTTON"
+              },
+              {
+                name: "批量导入",
+                url: "Import",
+                type: "BUTTON"
+              }
+            ],
+            links: [
+              {
+                name: "编辑",
+                url: "Edit",
+                type: "LINK"
+              },
+              {
+                name: "批量启用&禁用",
+                url: "Enable",
+                type: "LINK"
+              }
+            ],
+            lists: [
+              {
+                name: "列表",
+                url: "List",
+                type: "LIST"
+              },
+              {
+                name: "机构列表",
+                url: "List",
+                type: "LIST"
+              }
+            ],
+            conditions: [
+              {
+                name: "查询条件",
+                url: "Condition",
+                type: "CONDITION"
+              }
+            ]
+          },
+          {
+            name: "同步管理",
+            url: "SyncManage",
+            type: "MENU",
+            urls: [
+              {
+                name: "查询",
+                url: "/api/admin/basic/course/list",
+                type: "URL"
+              },
+              {
+                name: "新增/修改",
+                url: "/api/admin/basic/course/save",
+                type: "URL"
+              },
+              {
+                name: "新增/编辑",
+                url: "/api/admin/basic/course/save",
+                type: "URL"
+              },
+              {
+                name: "批量启用&禁用",
+                url: "/api/admin/basic/course/enable",
+                type: "URL"
+              },
+              {
+                name: "批量导入(异步)",
+                url: "/api/admin/basic/course/data_import",
+                type: "URL"
+              }
+            ],
+            buttons: [
+              {
+                name: "查询",
+                url: "Select",
+                type: "BUTTON"
+              },
+              {
+                name: "新增",
+                url: "Add",
+                type: "BUTTON"
+              },
+              {
+                name: "批量导入",
+                url: "Import",
+                type: "BUTTON"
+              }
+            ],
+            links: [
+              {
+                name: "编辑",
+                url: "Edit",
+                type: "LINK"
+              },
+              {
+                name: "批量启用&禁用",
+                url: "Enable",
+                type: "LINK"
+              }
+            ],
+            lists: [
+              {
+                name: "列表",
+                url: "List",
+                type: "LIST"
+              },
+              {
+                name: "机构列表",
+                url: "List",
+                type: "LIST"
+              }
+            ],
+            conditions: [
+              {
+                name: "查询条件",
+                url: "Condition",
+                type: "CONDITION"
+              }
+            ]
+          }
+        ]
+      }
+    ]
+  },
+  {
+    id: "14",
+    name: "考试中心",
+    url: "exam",
+    type: "MENU",
+    parentId: "-1",
+    schoolId: "2",
+    sequence: 2,
+    enable: true,
+    children: [
+      {
+        id: "15",
+        name: "我的工作台",
+        url: "work",
+        type: "MENU",
+        parentId: "14",
+        schoolId: "2",
+        sequence: 1,
+        enable: true,
+        children: [
+          {
+            id: "16",
+            name: "待办任务",
+            url: "WaitTask",
+            type: "MENU",
+            parentId: "15",
+            schoolId: "2",
+            sequence: 1,
+            enable: true
+          }
+        ]
+      },
+      {
+        id: "37",
+        name: "命题管理",
+        url: "paper",
+        type: "MENU",
+        parentId: "14",
+        schoolId: "2",
+        sequence: 2,
+        enable: true,
+        children: [
+          {
+            id: "39",
+            name: "命题任务管理",
+            url: "ExamTaskManage",
+            type: "MENU",
+            parentId: "37",
+            schoolId: "2",
+            sequence: 1,
+            enable: true,
+            urls: [
+              {
+                id: "63",
+                name: "命题任务管理-查询",
+                url: "/api/admin/exam/task/list",
+                type: "URL",
+                parentId: "39",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "64",
+                name: "命题任务管理-更改/指派命题老师",
+                url: "/api/admin/exam/task/assign_user",
+                type: "URL",
+                parentId: "39",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "65",
+                name: "命题任务管理-启用/禁用",
+                url: "/api/admin/exam/task/enable",
+                type: "URL",
+                parentId: "39",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              },
+              {
+                id: "66",
+                name: "命题任务管理-新建",
+                url: "/api/admin/exam/task/save",
+                type: "URL",
+                parentId: "39",
+                schoolId: "2",
+                sequence: 4,
+                enable: true
+              },
+              {
+                id: "67",
+                name: "命题任务管理-批量新建-文件导入",
+                url: "/api/admin/exam/task/import",
+                type: "URL",
+                parentId: "39",
+                schoolId: "2",
+                sequence: 5,
+                enable: true
+              },
+              {
+                id: "68",
+                name: "命题任务管理-批量新建",
+                url: "/api/admin/exam/task/save_batch",
+                type: "URL",
+                parentId: "39",
+                schoolId: "2",
+                sequence: 6,
+                enable: true
+              },
+              {
+                id: "169",
+                name: "命题任务管理-根据课程查询命题老师",
+                url: "/api/admin/sys/user/user_list",
+                type: "URL",
+                parentId: "39",
+                schoolId: "2",
+                sequence: 7,
+                enable: true
+              },
+              {
+                id: "465",
+                name: "新建命题申请-班级列表",
+                url: "/api/admin/exam/task/list_task_apply_class",
+                type: "URL",
+                parentId: "39",
+                schoolId: "2",
+                sequence: 9,
+                enable: true
+              },
+              {
+                id: "466",
+                name: "命题任务-审批-获取试卷审批表数据",
+                url: "/api/admin/exam/task/find_approve_form_json",
+                type: "URL",
+                parentId: "39",
+                schoolId: "2",
+                sequence: 10,
+                enable: true
+              },
+              {
+                id: "467",
+                name: "命题任务-审批-获取试卷审批表pdf",
+                url: "/api/admin/exam/task/find_approve_form_pdf",
+                type: "URL",
+                parentId: "39",
+                schoolId: "2",
+                sequence: 11,
+                enable: true
+              },
+              {
+                id: "477",
+                name: "命题任务-考试对象查询",
+                url: "/api/admin/exam/task/find_exam_object",
+                type: "URL",
+                parentId: "39",
+                schoolId: "2",
+                sequence: 12,
+                enable: true
+              }
+            ],
+            buttons: [
+              {
+                id: "272",
+                name: "命题任务管理-查询",
+                url: "Select",
+                type: "BUTTON",
+                parentId: "39",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "273",
+                name: "命题任务管理-批量新建命题任务",
+                url: "BatchAdd",
+                type: "BUTTON",
+                parentId: "39",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "274",
+                name: "命题任务管理-新建命题任务",
+                url: "Add",
+                type: "BUTTON",
+                parentId: "39",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              }
+            ],
+            links: [
+              {
+                id: "275",
+                name: "命题任务管理-预览",
+                url: "Preview",
+                type: "LINK",
+                parentId: "39",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "276",
+                name: "命题任务管理-编辑",
+                url: "Edit",
+                type: "LINK",
+                parentId: "39",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "277",
+                name: "命题任务管理-取消任务",
+                url: "Cancel",
+                type: "LINK",
+                parentId: "39",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              },
+              {
+                id: "448",
+                name: "命题任务管理-更改/指派命题老师",
+                url: "ASSIGN",
+                type: "LINK",
+                parentId: "39",
+                schoolId: "2",
+                sequence: 4,
+                enable: true
+              }
+            ],
+            lists: [
+              {
+                id: "279",
+                name: "命题任务管理-列表",
+                url: "List",
+                type: "LIST",
+                parentId: "39",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            conditions: [
+              {
+                id: "278",
+                name: "命题任务管理-查询条件",
+                url: "Condition",
+                type: "CONDITION",
+                parentId: "39",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ]
+          },
+          {
+            id: "40",
+            name: "入库申请",
+            url: "TaskApplyManage",
+            type: "MENU",
+            parentId: "37",
+            schoolId: "2",
+            sequence: 2,
+            enable: true,
+            urls: [
+              {
+                id: "70",
+                name: "入库申请-查询",
+                url: "/api/admin/exam/task/apply_list",
+                type: "URL",
+                parentId: "40",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "71",
+                name: "入库申请-提交/暂存",
+                url: "/api/admin/exam/task/apply_save",
+                type: "URL",
+                parentId: "40",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "72",
+                name: "入库申请-撤回/重新申请",
+                url: "/api/admin/exam/task/apply_status",
+                type: "URL",
+                parentId: "40",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              },
+              {
+                id: "167",
+                name: "入库申请-查询可选择题卡",
+                url: "/api/admin/exam/card/select_card_list",
+                type: "URL",
+                parentId: "40",
+                schoolId: "2",
+                sequence: 4,
+                enable: true
+              },
+              {
+                id: "168",
+                name: "入库申请-查询申请详情",
+                url: "/api/admin/exam/task/apply_get_one",
+                type: "URL",
+                parentId: "40",
+                schoolId: "2",
+                sequence: 5,
+                enable: true
+              },
+              {
+                id: "174",
+                name: "入库申请-申请客服制卡",
+                url: "/api/admin/exam/card/cust_save",
+                type: "URL",
+                parentId: "40",
+                schoolId: "2",
+                sequence: 6,
+                enable: true
+              },
+              {
+                id: "423",
+                name: "入库申请-新建命题任务",
+                url: "/api/admin/exam/task/save_task_apply",
+                type: "URL",
+                parentId: "40",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "424",
+                name: "入库申请-新建命题任务-切换题卡",
+                url: "/api/admin/exam/task/switch_card",
+                type: "URL",
+                parentId: "40",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "436",
+                name: "入库申请-新建命题任务-取消/删除",
+                url: "/api/admin/exam/task/remove_task_apply",
+                type: "URL",
+                parentId: "40",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              },
+              {
+                id: "439",
+                name: "题卡标题查询",
+                url: "/api/admin/exam/task/find_card_title",
+                type: "URL",
+                parentId: "40",
+                schoolId: "2",
+                sequence: 7,
+                enable: true
+              },
+              {
+                id: "464",
+                name: "新建命题申请",
+                url: "/api/admin/exam/task/submit_task_apply",
+                type: "URL",
+                parentId: "40",
+                schoolId: "2",
+                sequence: 8,
+                enable: true
+              }
+            ],
+            buttons: [
+              {
+                id: "280",
+                name: "入库申请-查询",
+                url: "Select",
+                type: "BUTTON",
+                parentId: "40",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "307",
+                name: "入库申请-新建命题申请",
+                url: "AddTask",
+                type: "BUTTON",
+                parentId: "40",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "463",
+                name: "新建命题申请",
+                url: "ExamTaskApplyManage",
+                type: "BUTTON",
+                parentId: "40",
+                schoolId: "2",
+                sequence: 8,
+                enable: true
+              }
+            ],
+            links: [
+              {
+                id: "281",
+                name: "入库申请-预览",
+                url: "Preview",
+                type: "LINK",
+                parentId: "40",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "282",
+                name: "入库申请-撤销申请",
+                url: "End",
+                type: "LINK",
+                parentId: "40",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "283",
+                name: "入库申请-编辑",
+                url: "Edit",
+                type: "LINK",
+                parentId: "40",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              },
+              {
+                id: "468",
+                name: "命题任务-获取试卷审批表",
+                url: "SelectForm",
+                type: "LINK",
+                parentId: "40",
+                schoolId: "2",
+                sequence: 5,
+                enable: true
+              }
+            ],
+            lists: [
+              {
+                id: "285",
+                name: "入库申请-列表",
+                url: "List",
+                type: "LIST",
+                parentId: "40",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "440",
+                name: "题卡标题查询",
+                url: "List",
+                type: "LIST",
+                parentId: "40",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            conditions: [
+              {
+                id: "284",
+                name: "入库申请-查询条件",
+                url: "Condition",
+                type: "CONDITION",
+                parentId: "40",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ]
+          },
+          {
+            id: "41",
+            name: "入库审核",
+            url: "TaskReviewManage",
+            type: "MENU",
+            parentId: "37",
+            schoolId: "2",
+            sequence: 3,
+            enable: true,
+            urls: [
+              {
+                id: "73",
+                name: "入库审核-查询未审核",
+                url: "/api/admin/exam/task/review_list_unaudited",
+                type: "URL",
+                parentId: "41",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "74",
+                name: "入库审核-审核",
+                url: "/api/admin/exam/task/review_save",
+                type: "URL",
+                parentId: "41",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "75",
+                name: "入库审核-批量审核",
+                url: "/api/admin/exam/task/review_save_batch",
+                type: "URL",
+                parentId: "41",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              },
+              {
+                id: "163",
+                name: "入库审核-导出审核样本",
+                url: "/api/admin/exam/task/review_export",
+                type: "URL",
+                parentId: "41",
+                schoolId: "2",
+                sequence: 4,
+                enable: true
+              },
+              {
+                id: "166",
+                name: "入库审核-查询已审核",
+                url: "/api/admin/exam/task/review_list_audited",
+                type: "URL",
+                parentId: "41",
+                schoolId: "2",
+                sequence: 5,
+                enable: true
+              }
+            ],
+            buttons: [
+              {
+                id: "288",
+                name: "入库审核-未审核查询",
+                url: "NotReviewSelect",
+                type: "BUTTON",
+                parentId: "41",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "289",
+                name: "入库审核-未审核导出审核样本",
+                url: "NotReviewExport",
+                type: "BUTTON",
+                parentId: "41",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "290",
+                name: "入库审核-未审核批量不通过",
+                url: "NotReviewBatchNotPass",
+                type: "BUTTON",
+                parentId: "41",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              },
+              {
+                id: "291",
+                name: "入库审核-未审核批量通过",
+                url: "NotReviewBatchPass",
+                type: "BUTTON",
+                parentId: "41",
+                schoolId: "2",
+                sequence: 4,
+                enable: true
+              },
+              {
+                id: "295",
+                name: "入库审核-已审核查询",
+                url: "ReviewSelect",
+                type: "BUTTON",
+                parentId: "41",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            links: [
+              {
+                id: "292",
+                name: "入库审核-未审核编辑",
+                url: "NotReviewEdit",
+                type: "LINK",
+                parentId: "41",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "296",
+                name: "入库审核-已审核预览",
+                url: "ReviewPreview",
+                type: "LINK",
+                parentId: "41",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            lists: [
+              {
+                id: "294",
+                name: "入库审核-未审核列表",
+                url: "NotReviewList",
+                type: "LIST",
+                parentId: "41",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "298",
+                name: "入库审核-已审核列表",
+                url: "ReviewList",
+                type: "LIST",
+                parentId: "41",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            conditions: [
+              {
+                id: "293",
+                name: "入库审核-未审核查询条件",
+                url: "NotReviewCondition",
+                type: "CONDITION",
+                parentId: "41",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "297",
+                name: "入库审核-已审核查询条件",
+                url: "ReviewCondition",
+                type: "CONDITION",
+                parentId: "41",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ]
+          },
+          {
+            id: "42",
+            name: "卷库查询",
+            url: "TaskPaperManage",
+            type: "MENU",
+            parentId: "37",
+            schoolId: "2",
+            sequence: 4,
+            enable: true,
+            urls: [
+              {
+                id: "76",
+                name: "卷库查询-查询",
+                url: "/api/admin/exam/task/paper_list",
+                type: "URL",
+                parentId: "42",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "164",
+                name: "卷库查询-下载试卷",
+                url: "/api/admin/exam/task/paper_download",
+                type: "URL",
+                parentId: "42",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "165",
+                name: "卷库查询-试卷启用/禁用",
+                url: "/api/admin/exam/task/paper_enable",
+                type: "URL",
+                parentId: "42",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              },
+              {
+                id: "189",
+                name: "卷库查询-修改",
+                url: "/api/admin/exam/task/paper_update",
+                type: "URL",
+                parentId: "42",
+                schoolId: "2",
+                sequence: 4,
+                enable: true
+              },
+              {
+                id: "191",
+                name: "卷库查询-批量下载试卷PDF、题卡",
+                url: "/api/admin/exam/task/paper_card_download_pdf",
+                type: "URL",
+                parentId: "42",
+                schoolId: "2",
+                sequence: 5,
+                enable: true
+              },
+              {
+                id: "425",
+                name: "卷库查询-发布印刷任务-查看列表",
+                url: "/api/admin/exam/task/list_task_print",
+                type: "URL",
+                parentId: "42",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "426",
+                name: "卷库查询-发布印刷任务-班级列表",
+                url: "/api/admin/exam/task/list_task_print_class",
+                type: "URL",
+                parentId: "42",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "427",
+                name: "卷库查询-发布印刷任务-印刷室列表",
+                url: "/api/admin/exam/task/list_task_print_house",
+                type: "URL",
+                parentId: "42",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              },
+              {
+                id: "428",
+                name: "卷库查询-发布印刷任务",
+                url: "/api/admin/exam/task/save_task_print",
+                type: "URL",
+                parentId: "42",
+                schoolId: "2",
+                sequence: 4,
+                enable: true
+              },
+              {
+                id: "429",
+                name: "卷库查询-发布印刷任务-查看考生",
+                url: "/api/admin/exam/task/list_task_print_student",
+                type: "URL",
+                parentId: "42",
+                schoolId: "2",
+                sequence: 5,
+                enable: true
+              },
+              {
+                id: "430",
+                name: "卷库查询-发布印刷任务-删除",
+                url: "/api/admin/exam/task/remove_task_print",
+                type: "URL",
+                parentId: "42",
+                schoolId: "2",
+                sequence: 6,
+                enable: true
+              },
+              {
+                id: "449",
+                name: "卷库查询-发布印刷任务-提交任务",
+                url: "/api/admin/exam/task/submit_task_print",
+                type: "URL",
+                parentId: "42",
+                schoolId: "2",
+                sequence: 7,
+                enable: true
+              }
+            ],
+            buttons: [
+              {
+                id: "299",
+                name: "卷库查询-查询",
+                url: "Select",
+                type: "BUTTON",
+                parentId: "42",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "300",
+                name: "卷库查询-批量下载试卷题卡",
+                url: "BatchDownload",
+                type: "BUTTON",
+                parentId: "42",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              }
+            ],
+            links: [
+              {
+                id: "301",
+                name: "卷库查询-预览",
+                url: "Preview",
+                type: "LINK",
+                parentId: "42",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "302",
+                name: "卷库查询-启用&禁用",
+                url: "Enable",
+                type: "LINK",
+                parentId: "42",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "303",
+                name: "卷库查询-下载",
+                url: "Download",
+                type: "LINK",
+                parentId: "42",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              },
+              {
+                id: "306",
+                name: "卷库查询-发布印刷任务",
+                url: "Publish",
+                type: "LINK",
+                parentId: "42",
+                schoolId: "2",
+                sequence: 4,
+                enable: true
+              },
+              {
+                id: "308",
+                name: "卷库查询-编辑",
+                url: "Edit",
+                type: "LINK",
+                parentId: "42",
+                schoolId: "2",
+                sequence: 4,
+                enable: true
+              }
+            ],
+            lists: [
+              {
+                id: "305",
+                name: "卷库查询-列表",
+                url: "List",
+                type: "LIST",
+                parentId: "42",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            conditions: [
+              {
+                id: "304",
+                name: "卷库查询-查询条件",
+                url: "Condition",
+                type: "CONDITION",
+                parentId: "42",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ]
+          }
+        ]
+      },
+      {
+        id: "38",
+        name: "印刷管理",
+        url: "print",
+        type: "MENU",
+        parentId: "14",
+        schoolId: "2",
+        sequence: 3,
+        enable: true,
+        children: [
+          {
+            id: "43",
+            name: "印刷计划管理",
+            url: "PrintPlanManage",
+            type: "MENU",
+            parentId: "38",
+            schoolId: "2",
+            sequence: 1,
+            enable: true,
+            urls: [
+              {
+                id: "48",
+                name: "印刷计划管理-查询",
+                url: "/api/admin/exam/print/list",
+                type: "URL",
+                parentId: "43",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "49",
+                name: "印刷计划管理-按类型查询模板",
+                url: "/api/admin/exam/print/get_template",
+                type: "URL",
+                parentId: "43",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "50",
+                name: "印刷计划管理-新增/修改",
+                url: "/api/admin/exam/print/save",
+                type: "URL",
+                parentId: "43",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              },
+              {
+                id: "51",
+                name: "印刷计划管理-删除",
+                url: "/api/admin/exam/print/remove",
+                type: "URL",
+                parentId: "43",
+                schoolId: "2",
+                sequence: 4,
+                enable: true
+              }
+            ],
+            buttons: [
+              {
+                id: "309",
+                name: "印刷计划管理-查询",
+                url: "Select",
+                type: "BUTTON",
+                parentId: "43",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "310",
+                name: "印刷计划管理-新建印刷计划",
+                url: "Add",
+                type: "BUTTON",
+                parentId: "43",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "412",
+                name: "印刷计划管理-提交印刷",
+                url: "Submit",
+                type: "BUTTON",
+                parentId: "43",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              }
+            ],
+            links: [
+              {
+                id: "311",
+                name: "印刷计划管理-预览",
+                url: "Preview",
+                type: "LINK",
+                parentId: "43",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "312",
+                name: "印刷计划管理-编辑",
+                url: "Edit",
+                type: "LINK",
+                parentId: "43",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "313",
+                name: "印刷计划管理-删除",
+                url: "Delete",
+                type: "LINK",
+                parentId: "43",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              }
+            ],
+            lists: [
+              {
+                id: "315",
+                name: "印刷计划管理-列表",
+                url: "List",
+                type: "LIST",
+                parentId: "43",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "437",
+                name: "印刷计划管理-查询模板",
+                url: "List",
+                type: "LIST",
+                parentId: "43",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            conditions: [
+              {
+                id: "314",
+                name: "印刷计划管理-查询条件",
+                url: "Condition",
+                type: "CONDITION",
+                parentId: "43",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ]
+          },
+          {
+            id: "44",
+            name: "考务数据导入",
+            url: "BusinessDataExport",
+            type: "MENU",
+            parentId: "38",
+            schoolId: "2",
+            sequence: 2,
+            enable: true,
+            urls: [
+              {
+                id: "52",
+                name: "考务数据导入-查询",
+                url: "/api/admin/exam/print/data_list",
+                type: "URL",
+                parentId: "44",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "53",
+                name: "考务数据导入-汇总数据查询",
+                url: "/api/admin/exam/print/data_total",
+                type: "URL",
+                parentId: "44",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "54",
+                name: "考务数据导入-导入",
+                url: "/api/admin/exam/print/data_import",
+                type: "URL",
+                parentId: "44",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              },
+              {
+                id: "55",
+                name: "考务数据导入-查看明细",
+                url: "/api/admin/exam/print/data_detail_list",
+                type: "URL",
+                parentId: "44",
+                schoolId: "2",
+                sequence: 4,
+                enable: true
+              },
+              {
+                id: "157",
+                name: "考务数据导入-模板下载",
+                url: "/api/admin/exam/print/template_download",
+                type: "URL",
+                parentId: "44",
+                schoolId: "2",
+                sequence: 5,
+                enable: true
+              },
+              {
+                id: "158",
+                name: "考务数据导入-结果导出",
+                url: "/api/admin/exam/print/data_export",
+                type: "URL",
+                parentId: "44",
+                schoolId: "2",
+                sequence: 6,
+                enable: true
+              }
+            ],
+            buttons: [
+              {
+                id: "316",
+                name: "考务数据导入-查询",
+                url: "Select",
+                type: "BUTTON",
+                parentId: "44",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "317",
+                name: "考务数据导入-考务数据模版下载",
+                url: "TempleteDownload",
+                type: "BUTTON",
+                parentId: "44",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "318",
+                name: "考务数据导入-导出查询结果",
+                url: "Export",
+                type: "BUTTON",
+                parentId: "44",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              },
+              {
+                id: "319",
+                name: "考务数据导入-导入",
+                url: "Import",
+                type: "BUTTON",
+                parentId: "44",
+                schoolId: "2",
+                sequence: 4,
+                enable: true
+              }
+            ],
+            links: [
+              {
+                id: "320",
+                name: "考务数据导入-预览",
+                url: "Preview",
+                type: "LINK",
+                parentId: "44",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            lists: [
+              {
+                id: "322",
+                name: "考务数据导入-列表",
+                url: "List",
+                type: "LIST",
+                parentId: "44",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "438",
+                name: "考务数据导入-汇总数据查询",
+                url: "List",
+                type: "LIST",
+                parentId: "44",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              }
+            ],
+            conditions: [
+              {
+                id: "321",
+                name: "考务数据导入-查询条件",
+                url: "Condition",
+                type: "CONDITION",
+                parentId: "44",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ]
+          },
+          {
+            id: "45",
+            name: "考务明细查询",
+            url: "BusinessDataDetail",
+            type: "MENU",
+            parentId: "38",
+            schoolId: "2",
+            sequence: 3,
+            enable: true,
+            urls: [
+              {
+                id: "159",
+                name: "考务明细查询-查询",
+                url: "/api/admin/exam/print/data_detail",
+                type: "URL",
+                parentId: "45",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "188",
+                name: "考务明细查询-学生明细",
+                url: "/api/admin/exam/print/get_student_detail",
+                type: "URL",
+                parentId: "45",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              }
+            ],
+            buttons: [
+              {
+                id: "323",
+                name: "考务明细查询-查询",
+                url: "Select",
+                type: "BUTTON",
+                parentId: "45",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            links: [
+              {
+                id: "324",
+                name: "考务明细查询-预览",
+                url: "Preview",
+                type: "LINK",
+                parentId: "45",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            lists: [
+              {
+                id: "326",
+                name: "考务明细查询-列表",
+                url: "List",
+                type: "LIST",
+                parentId: "45",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            conditions: [
+              {
+                id: "325",
+                name: "考务明细查询-查询条件",
+                url: "Condition",
+                type: "CONDITION",
+                parentId: "45",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ]
+          },
+          {
+            id: "46",
+            name: "关联试卷管理",
+            url: "PlanLinkPaper",
+            type: "MENU",
+            parentId: "38",
+            schoolId: "2",
+            sequence: 4,
+            enable: true,
+            urls: [
+              {
+                id: "56",
+                name: "关联试卷管理-查询",
+                url: "/api/admin/exam/print/relate_list",
+                type: "URL",
+                parentId: "46",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "57",
+                name: "关联试卷管理-关联/更换试卷",
+                url: "/api/admin/exam/print/relate_update",
+                type: "URL",
+                parentId: "46",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "58",
+                name: "关联试卷管理-查询所有试卷编号/关联卷型",
+                url: "/api/admin/exam/print/relate_get_paper_numbers",
+                type: "URL",
+                parentId: "46",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              }
+            ],
+            buttons: [
+              {
+                id: "327",
+                name: "关联试卷管理-查询",
+                url: "Select",
+                type: "BUTTON",
+                parentId: "46",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            links: [
+              {
+                id: "328",
+                name: "关联试卷管理-编辑",
+                url: "Edit",
+                type: "LINK",
+                parentId: "46",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            lists: [
+              {
+                id: "330",
+                name: "关联试卷管理-列表",
+                url: "List",
+                type: "LIST",
+                parentId: "46",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            conditions: [
+              {
+                id: "329",
+                name: "关联试卷管理-查询条件",
+                url: "Condition",
+                type: "CONDITION",
+                parentId: "46",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ]
+          },
+          {
+            id: "47",
+            name: "印刷任务管理",
+            url: "PrintTaskManage",
+            type: "MENU",
+            parentId: "38",
+            schoolId: "2",
+            sequence: 5,
+            enable: true,
+            urls: [
+              {
+                id: "59",
+                name: "印刷任务管理-查询",
+                url: "/api/admin/exam/print/task_list",
+                type: "URL",
+                parentId: "47",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "61",
+                name: "印刷任务管理-撤回提交",
+                url: "/api/admin/exam/print/task_cancel",
+                type: "URL",
+                parentId: "47",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              },
+              {
+                id: "62",
+                name: "印刷任务管理-汇总数据查询",
+                url: "/api/admin/exam/print/task_total_data",
+                type: "URL",
+                parentId: "47",
+                schoolId: "2",
+                sequence: 4,
+                enable: true
+              },
+              {
+                id: "161",
+                name: "印刷任务管理-查看PDF",
+                url: "/api/admin/exam/print/task_view_pdf",
+                type: "URL",
+                parentId: "47",
+                schoolId: "2",
+                sequence: 6,
+                enable: true
+              },
+              {
+                id: "162",
+                name: "印刷任务管理-批量下载PDF",
+                url: "/api/admin/exam/print/task_download_pdf",
+                type: "URL",
+                parentId: "47",
+                schoolId: "2",
+                sequence: 7,
+                enable: true
+              },
+              {
+                id: "446",
+                name: "印刷任务管理-做废/恢复",
+                url: "/api/admin/exam/print/task_normal",
+                type: "URL",
+                parentId: "47",
+                schoolId: "2",
+                sequence: 4,
+                enable: true
+              }
+            ],
+            buttons: [
+              {
+                id: "331",
+                name: "印刷任务管理-查询",
+                url: "Select",
+                type: "BUTTON",
+                parentId: "47",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "336",
+                name: "印刷任务管理-批量下载PDF",
+                url: "BatchDownload",
+                type: "BUTTON",
+                parentId: "47",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              }
+            ],
+            links: [
+              {
+                id: "332",
+                name: "印刷任务管理-下载",
+                url: "Download",
+                type: "LINK",
+                parentId: "47",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "335",
+                name: "印刷任务管理-撤回",
+                url: "End",
+                type: "LINK",
+                parentId: "47",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "447",
+                name: "印刷任务管理-做废/恢复",
+                url: "Normal",
+                type: "LINK",
+                parentId: "47",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              }
+            ],
+            lists: [
+              {
+                id: "334",
+                name: "印刷任务管理-列表",
+                url: "List",
+                type: "LIST",
+                parentId: "47",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            conditions: [
+              {
+                id: "333",
+                name: "印刷任务管理-查询条件",
+                url: "Condition",
+                type: "CONDITION",
+                parentId: "47",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ]
+          }
+        ]
+      },
+      {
+        id: "112",
+        name: "数据管理",
+        url: "data",
+        type: "MENU",
+        parentId: "14",
+        schoolId: "2",
+        sequence: 4,
+        enable: true,
+        children: [
+          {
+            id: "113",
+            name: "任务管理",
+            url: "DataTaskManage",
+            type: "MENU",
+            parentId: "112",
+            schoolId: "2",
+            sequence: 1,
+            enable: true,
+            urls: [
+              {
+                id: "114",
+                name: "任务管理-查询",
+                url: "/api/admin/data/task/query",
+                type: "URL",
+                parentId: "113",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "190",
+                name: "任务管理-重新生成pdf",
+                url: "/api/admin/data/task/reset_create_pdf",
+                type: "URL",
+                parentId: "113",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              }
+            ],
+            buttons: [
+              {
+                id: "337",
+                name: "任务管理-查询",
+                url: "Select",
+                type: "BUTTON",
+                parentId: "113",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            links: [
+              {
+                id: "338",
+                name: "任务管理-导出日志",
+                url: "Export",
+                type: "LINK",
+                parentId: "113",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "339",
+                name: "任务管理-下载文件",
+                url: "Download",
+                type: "LINK",
+                parentId: "113",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "413",
+                name: "任务管理-重新生成pdf",
+                url: "CreatePdf",
+                type: "LINK",
+                parentId: "113",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              }
+            ],
+            lists: [
+              {
+                id: "341",
+                name: "任务管理-列表",
+                url: "List",
+                type: "LIST",
+                parentId: "113",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ],
+            conditions: [
+              {
+                id: "340",
+                name: "任务管理-查询条件",
+                url: "Condition",
+                type: "CONDITION",
+                parentId: "113",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ]
+          }
+        ]
+      },
+      {
+        id: "469",
+        name: "命题计划统计",
+        url: "Statistics",
+        type: "MENU",
+        parentId: "14",
+        schoolId: "2",
+        sequence: 5,
+        enable: true,
+        children: [
+          {
+            id: "470",
+            name: "命题计划统计表",
+            url: "StatisticsManage",
+            type: "MENU",
+            parentId: "469",
+            schoolId: "2",
+            sequence: 1,
+            enable: true,
+            urls: [
+              {
+                id: "475",
+                name: "命题计划统计-导入",
+                url: "/api/admin/statistics/import",
+                type: "URL",
+                parentId: "470",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "476",
+                name: "命题计划统计-列表",
+                url: "/api/admin/statistics/list",
+                type: "URL",
+                parentId: "470",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "480",
+                name: "命题计划统计-刷新数据",
+                url: "/api/admin/statistics/freshen",
+                type: "URL",
+                parentId: "470",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              },
+              {
+                id: "481",
+                name: "命题计划统计-删除数据",
+                url: "/api/admin/statistics/delete",
+                type: "URL",
+                parentId: "470",
+                schoolId: "2",
+                sequence: 4,
+                enable: true
+              }
+            ],
+            buttons: [
+              {
+                id: "471",
+                name: "命题计划统计表-查询",
+                url: "Select",
+                type: "BUTTON",
+                parentId: "470",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              },
+              {
+                id: "472",
+                name: "命题计划统计表-模板下载",
+                url: "Download",
+                type: "BUTTON",
+                parentId: "470",
+                schoolId: "2",
+                sequence: 2,
+                enable: true
+              },
+              {
+                id: "473",
+                name: "命题计划统计表-导入",
+                url: "Import",
+                type: "BUTTON",
+                parentId: "470",
+                schoolId: "2",
+                sequence: 3,
+                enable: true
+              },
+              {
+                id: "478",
+                name: "命题计划统计-刷新数据",
+                url: "Freshen",
+                type: "BUTTON",
+                parentId: "470",
+                schoolId: "2",
+                sequence: 4,
+                enable: true
+              },
+              {
+                id: "479",
+                name: "命题计划统计-删除数据",
+                url: "Delete",
+                type: "BUTTON",
+                parentId: "470",
+                schoolId: "2",
+                sequence: 5,
+                enable: true
+              }
+            ],
+            lists: [
+              {
+                id: "474",
+                name: "命题计划统计表-列表",
+                url: "List",
+                type: "LIST",
+                parentId: "470",
+                schoolId: "2",
+                sequence: 1,
+                enable: true
+              }
+            ]
+          }
+        ]
+      }
+    ]
+  }
+];

+ 50 - 0
src/constants/menus.js

@@ -0,0 +1,50 @@
+import navs from "./menus-data";
+
+let dataList = [];
+const idFunc = () => {
+  let id = 1;
+  return function() {
+    return "" + id++;
+  };
+};
+const getId = idFunc();
+const extraFields = ["urls", "buttons", "links", "lists", "conditions"];
+const checkField = obj => {
+  return extraFields.some(field => obj[field] && obj[field].length);
+};
+
+const treeToList = (tree, parentId = "-1") => {
+  tree.forEach(menu => {
+    let id = getId();
+    let nmenu = {
+      id,
+      parentId,
+      name: menu.name,
+      url: menu.url
+    };
+
+    if (checkField(menu)) {
+      extraFields.forEach(field => {
+        nmenu[field] = [];
+        if (menu[field]) {
+          nmenu[field] = menu[field].map(item => {
+            return {
+              name: item.name,
+              type: item.type,
+              parentId: id,
+              url: item.url
+            };
+          });
+        }
+      });
+    }
+    dataList.push(nmenu);
+
+    if (menu.children && menu.children.length) treeToList(menu.children, id);
+  });
+};
+treeToList(navs);
+
+// console.log(JSON.stringify(dataList));
+
+export default dataList;

+ 0 - 254
src/constants/navs.js

@@ -1,254 +0,0 @@
-const navs = [
-  {
-    name: "考试中心",
-    url: "exam",
-    icon: "icon icon-exam",
-    children: [
-      {
-        name: "我的工作台",
-        url: "work",
-        icon: "el-icon-s-cooperation",
-        children: [
-          {
-            name: "待办任务",
-            url: "WaitTask",
-            isRouter: true
-          }
-          // {
-          //   name: "已办任务",
-          //   url: "DoneTask",isRouter: true
-          // }
-        ]
-      },
-      {
-        name: "命题管理",
-        url: "paper",
-        icon: "el-icon-s-order",
-        children: [
-          {
-            name: "命题任务管理",
-            url: "ExamTaskManage",
-            isRouter: true
-          },
-          {
-            name: "入库申请",
-            url: "TaskApplyManage",
-            isRouter: true
-          },
-          {
-            name: "入库审核",
-            url: "TaskReviewManage",
-            isRouter: true
-          },
-          {
-            name: "卷库查询",
-            url: "TaskPaperManage",
-            isRouter: true
-          }
-        ]
-      },
-      {
-        name: "印刷管理",
-        url: "print",
-        icon: "el-icon-s-check",
-        children: [
-          {
-            name: "印刷计划管理",
-            url: "PrintPlanManage",
-            isRouter: true
-          },
-          {
-            name: "考务数据导入",
-            url: "BusinessDataExport",
-            isRouter: true
-          },
-          {
-            name: "考务明细查询",
-            url: "BusinessDataDetail",
-            isRouter: true
-          },
-          {
-            name: "关联试卷管理",
-            url: "PlanLinkPaper",
-            isRouter: true
-          },
-          {
-            name: "印刷任务管理",
-            url: "PrintTaskManage",
-            isRouter: true
-          }
-        ]
-      },
-      {
-        name: "数据管理",
-        url: "data",
-        icon: "el-icon-set-up",
-        children: [
-          {
-            name: "任务管理",
-            url: "DataTaskManage",
-            isRouter: true
-          }
-        ]
-      },
-      {
-        name: "命题计划统计",
-        url: "Statistics",
-        icon: "el-icon-set-up",
-        children: [
-          {
-            name: "命题计划统计表",
-            url: "StatisticsManage",
-            isRouter: true
-          }
-        ]
-      },
-      {
-        name: "阅卷管理",
-        url: "stmms",
-        icon: "el-icon-set-up",
-        children: [
-          {
-            name: "阅卷任务",
-            url: "MarkTaskManage",
-            isRouter: true
-          },
-          {
-            name: "成绩归档",
-            url: "ScoreArchive",
-            isRouter: true
-          }
-        ]
-      }
-    ]
-  },
-  {
-    name: "基础配置",
-    url: "base",
-    icon: "icon icon-base",
-    children: [
-      {
-        name: "用户管理",
-        url: "user",
-        icon: "el-icon-user-solid",
-        children: [
-          {
-            name: "组织架构",
-            url: "OrganizationManage",
-            isRouter: true
-          },
-          {
-            name: "用户管理",
-            url: "UserManage",
-            isRouter: true
-          },
-          {
-            name: "角色管理",
-            url: "RoleManage",
-            isRouter: true
-          }
-        ]
-      },
-      {
-        name: "配置管理",
-        url: "rule",
-        icon: "el-icon-s-tools",
-        children: [
-          {
-            name: "通用规则",
-            url: "CommonRule",
-            isRouter: true
-          },
-          {
-            name: "题卡规则管理",
-            url: "CardRuleManage",
-            isRouter: true
-          },
-          {
-            name: "通卡模板",
-            url: "CommonCardTemplate",
-            isRouter: true
-          },
-          {
-            name: "变量印品模板",
-            url: "ParamPrintTemplate",
-            isRouter: true
-          },
-          {
-            name: "普通印品模板",
-            url: "CommonPrintTemplate",
-            isRouter: true
-          },
-          {
-            name: "审批记录管理",
-            url: "ApproveRecord",
-            isRouter: true
-          },
-          {
-            name: "印刷计划合并管理",
-            url: "PrintPlanPushManage",
-            isRouter: true
-          },
-          {
-            name: "流程管理",
-            url: "FlowManage",
-            isRouter: true
-          },
-          {
-            name: "审批记录管理",
-            url: "ApproveRecordManage",
-            isRouter: true
-          }
-        ]
-      },
-      {
-        name: "字典管理",
-        url: "dictionary",
-        icon: "el-icon-s-tools",
-        children: [
-          {
-            name: "校区管理",
-            url: "CampusManage",
-            isRouter: true
-          },
-          {
-            name: "班级管理",
-            url: "ClazzManage",
-            isRouter: true
-          },
-          {
-            name: "学生基本信息管理",
-            url: "StudentManage",
-            isRouter: true
-          },
-          {
-            name: "课程管理",
-            url: "CourseManage",
-            isRouter: true
-          }
-        ]
-      }
-    ]
-  },
-  {
-    name: "客服制卡",
-    url: "customer",
-    icon: "icon icon-customer",
-    children: [
-      {
-        name: "客服制卡",
-        url: "customer",
-        icon: "el-icon-s-custom",
-        children: [
-          {
-            name: "题卡审核",
-            url: "CustomerCard",
-            isRouter: true
-          }
-        ]
-      }
-    ]
-  }
-];
-
-export default navs;

+ 9 - 7
src/modules/base/views/MajorManage.vue

@@ -2,13 +2,15 @@
   <div class="major-manage">
     <div class="part-box part-box-filter part-box-flex">
       <el-form ref="FilterForm" label-position="left" label-width="90px" inline>
-        <el-form-item label="专业名称:">
-          <el-input
-            v-model.trim="filter.queryParams"
-            placeholder="专业名称"
-            clearable
-          ></el-input>
-        </el-form-item>
+        <template v-if="checkPrivilege('condition', 'condition')">
+          <el-form-item label="专业名称:">
+            <el-input
+              v-model.trim="filter.queryParams"
+              placeholder="专业名称"
+              clearable
+            ></el-input>
+          </el-form-item>
+        </template>
         <el-form-item>
           <el-button
             v-if="checkPrivilege('button', 'select')"

+ 133 - 0
src/modules/exam/components/WaitTaskFlow.vue

@@ -0,0 +1,133 @@
+<template>
+  <div class="wait-task-flow">
+    <div class="part-box part-box-pad">
+      <el-table ref="TableList" :data="dataList">
+        <el-table-column
+          type="index"
+          label="序号"
+          width="50"
+          :index="indexMethod"
+        ></el-table-column>
+        <el-table-column prop="paperNumber" label="试卷编号"></el-table-column>
+        <el-table-column prop="type" label="课程(代码)">
+          <template slot-scope="scope">
+            {{ scope.row.courseName }}({{ scope.row.courseCode }})
+          </template>
+        </el-table-column>
+        <el-table-column prop="cardRuleName" label="题卡规则"></el-table-column>
+        <el-table-column prop="taskName" label="流程节点">
+          <span slot-scope="scope">
+            {{ scope.row.taskName | flowTaskNameFilter }}
+          </span>
+        </el-table-column>
+        <el-table-column prop="createTime" label="创建时间" width="180">
+          <span slot-scope="scope">{{
+            scope.row.createTime | timestampFilter
+          }}</span>
+        </el-table-column>
+        <el-table-column class-name="action-column" label="操作" width="100px">
+          <template slot-scope="scope">
+            <el-button class="btn-primary" type="text" @click="toDo(scope.row)"
+              >立即处理</el-button
+            >
+          </template>
+        </el-table-column>
+      </el-table>
+      <div class="part-page">
+        <el-pagination
+          background
+          layout="total,prev, pager, next"
+          :current-page="current"
+          :total="total"
+          :page-size="size"
+          @current-change="toPage"
+        >
+        </el-pagination>
+      </div>
+    </div>
+
+    <!-- ModifyTaskApply -->
+    <modify-task-apply
+      ref="ModifyTaskApply"
+      :instance="curTask"
+      @modified="taskModified"
+    ></modify-task-apply>
+  </div>
+</template>
+
+<script>
+import { mapActions } from "vuex";
+import { waitExamTaskListPage } from "../api";
+import ModifyTaskApply from "./ModifyTaskApply";
+
+export default {
+  name: "wait-task-flow",
+  components: { ModifyTaskApply },
+  data() {
+    return {
+      current: 1,
+      size: this.GLOBAL.pageSize,
+      total: 0,
+      dataList: [],
+      curTask: {}
+    };
+  },
+  mounted() {
+    this.initData();
+  },
+  methods: {
+    ...mapActions("exam", ["updateWaitTaskCount"]),
+    async initData() {
+      const cachePageInfo = this.$ls.get("cachePageInfo");
+      if (cachePageInfo) {
+        this.current = cachePageInfo.page;
+        await this.getList();
+
+        this.$nextTick(() => {
+          const curRow = this.dataList.find(
+            item => item.id === cachePageInfo.curRowId
+          );
+          if (!curRow) return;
+          this.toDo(curRow);
+        });
+      } else {
+        this.toPage(1);
+      }
+      this.$ls.remove("cachePageInfo");
+    },
+    async getList() {
+      const datas = {
+        pageNumber: this.current,
+        pageSize: this.size
+      };
+      const data = await waitExamTaskListPage(datas);
+      this.dataList = data.records;
+      this.total = data.total;
+    },
+    toPage(page) {
+      this.current = page;
+      this.getList();
+    },
+    toDo(task) {
+      this.curTask = { ...task, source: "REVIEW" };
+      this.$refs.ModifyTaskApply.open();
+    },
+    taskModified() {
+      this.getList();
+      this.updateWaitTaskCount();
+    }
+  },
+  beforeRouteLeave(to, from, next) {
+    console.log(to);
+    if (to.name === "CardDesign") {
+      this.$ls.set("cachePageInfo", {
+        page: this.current,
+        curRowId: this.curTask.id
+      });
+    } else {
+      this.$ls.remove("cachePageInfo");
+    }
+    next();
+  }
+};
+</script>

+ 88 - 0
src/modules/exam/components/WaitTaskStmms.vue

@@ -0,0 +1,88 @@
+<template>
+  <div class="wait-task-stmms">
+    <div class="part-box part-box-pad">
+      <el-table ref="TableList" :data="dataList">
+        <el-table-column prop="examId" label="考试ID"></el-table-column>
+        <el-table-column prop="paperNumber" label="试卷ID"></el-table-column>
+        <el-table-column prop="paperType" label="试卷类型"></el-table-column>
+        <el-table-column prop="status" label="状态" width="100">
+          <template slot-scope="scope">
+            {{ scope.row.status | markTaskSyncStatusFilter }}
+          </template>
+        </el-table-column>
+        <el-table-column class-name="action-column" label="操作" width="220px">
+          <template slot-scope="scope">
+            <el-button class="btn-primary" type="text" @click="toDo(scope.row)"
+              >立即处理</el-button
+            >
+          </template>
+        </el-table-column>
+      </el-table>
+      <div class="part-page">
+        <el-pagination
+          background
+          layout="total,prev, pager, next"
+          :current-page="current"
+          :total="total"
+          :page-size="size"
+          @current-change="toPage"
+        >
+        </el-pagination>
+      </div>
+    </div>
+
+    <!-- UploadPaperAnswerDialog -->
+    <UploadPaperAnswerDialog
+      ref="UploadPaperAnswerDialog"
+      :instance="curTask"
+      @modified="taskModified"
+    />
+  </div>
+</template>
+
+<script>
+import { mapActions } from "vuex";
+import { markerTaskListPage } from "../api";
+import UploadPaperAnswerDialog from "../../stmms/components/UploadPaperAnswerDialog";
+
+export default {
+  name: "wait-task-stmms",
+  components: { UploadPaperAnswerDialog },
+  data() {
+    return {
+      current: 1,
+      size: this.GLOBAL.pageSize,
+      total: 0,
+      dataList: [],
+      curTask: {}
+    };
+  },
+  mounted() {
+    this.getList();
+  },
+  methods: {
+    ...mapActions("exam", ["updateWaitTaskCount"]),
+    async getList() {
+      const datas = {
+        pageNumber: this.current,
+        pageSize: this.size
+      };
+      const data = await markerTaskListPage(datas);
+      this.dataList = data.records;
+      this.total = data.total;
+    },
+    toPage(page) {
+      this.current = page;
+      this.getList();
+    },
+    toDo(row) {
+      this.curTask = row;
+      this.$refs.UploadPaperAnswerDialog.open();
+    },
+    taskModified() {
+      this.getList();
+      this.updateWaitTaskCount();
+    }
+  }
+};
+</script>

+ 6 - 2
src/modules/exam/store.js

@@ -1,4 +1,5 @@
-import { waitExamTaskCount } from "./api";
+import { waitExamTaskCount, markerTaskCount } from "./api";
+import { calcSum } from "@/plugins/utils";
 
 const state = {
   waitTaskCount: 0
@@ -12,7 +13,10 @@ const mutations = {
 
 const actions = {
   async updateWaitTaskCount({ commit }) {
-    const count = await waitExamTaskCount().catch(() => {});
+    let countAll = [waitExamTaskCount(), markerTaskCount()];
+    const counts = await Promise.all(countAll).catch(() => {});
+
+    const count = calcSum(counts || [0]);
     commit("setNotDoneTaskCount", count || 0);
   }
 };

+ 35 - 107
src/modules/exam/views/WaitTask.vue

@@ -1,132 +1,60 @@
 <template>
   <div class="wait-task">
-    <div class="part-box part-box-pad">
-      <el-table ref="TableList" :data="dataList">
-        <el-table-column
-          type="index"
-          label="序号"
-          width="50"
-          :index="indexMethod"
-        ></el-table-column>
-        <el-table-column prop="paperNumber" label="试卷编号"></el-table-column>
-        <el-table-column prop="type" label="课程(代码)">
-          <template slot-scope="scope">
-            {{ scope.row.courseName }}({{ scope.row.courseCode }})
-          </template>
-        </el-table-column>
-        <el-table-column prop="cardRuleName" label="题卡规则"></el-table-column>
-        <el-table-column prop="taskName" label="流程节点">
-          <span slot-scope="scope">
-            {{ scope.row.taskName | flowTaskNameFilter }}
-          </span>
-        </el-table-column>
-        <el-table-column prop="createTime" label="创建时间" width="180">
-          <span slot-scope="scope">{{
-            scope.row.createTime | timestampFilter
-          }}</span>
-        </el-table-column>
-        <el-table-column class-name="action-column" label="操作" width="100px">
-          <template slot-scope="scope">
-            <el-button class="btn-primary" type="text" @click="toDo(scope.row)"
-              >立即处理</el-button
-            >
-          </template>
-        </el-table-column>
-      </el-table>
-      <div class="part-page">
-        <el-pagination
-          background
-          layout="total,prev, pager, next"
-          :current-page="current"
-          :total="total"
-          :page-size="size"
-          @current-change="toPage"
-        >
-        </el-pagination>
-      </div>
+    <div class="mb-4 tab-btns">
+      <el-button
+        v-for="tab in tabs"
+        :key="tab.val"
+        size="medium"
+        :type="curTab == tab.val ? 'primary' : 'default'"
+        @click="selectMenu(tab.val)"
+        >{{ tab.name }}</el-button
+      >
     </div>
 
-    <!-- ModifyTaskApply -->
-    <modify-task-apply
-      ref="ModifyTaskApply"
-      :instance="curTask"
-      @modified="taskModified"
-    ></modify-task-apply>
+    <component :is="compName"></component>
   </div>
 </template>
 
 <script>
-import { mapActions } from "vuex";
-import { waitExamTaskListPage } from "../api";
-import ModifyTaskApply from "../components/ModifyTaskApply";
+import WaitTaskFlow from "../components/WaitTaskFlow";
+import WaitTaskStmms from "../components/WaitTaskStmms";
 
 export default {
   name: "wait-task",
-  components: { ModifyTaskApply },
+  components: { WaitTaskFlow, WaitTaskStmms },
   data() {
     return {
-      current: 1,
-      size: this.GLOBAL.pageSize,
-      total: 0,
-      dataList: [],
-      curTask: {}
+      curTab: "flow",
+      tabs: [
+        {
+          name: "流程待办",
+          val: "flow"
+        },
+        {
+          name: "任务待办",
+          val: "stmms"
+        }
+      ]
     };
   },
-  mounted() {
-    this.initData();
+  computed: {
+    compName() {
+      return `wait-task-${this.curTab}`;
+    }
   },
   methods: {
-    ...mapActions("exam", ["updateWaitTaskCount"]),
-    async initData() {
-      const cachePageInfo = this.$ls.get("cachePageInfo");
-      if (cachePageInfo) {
-        this.current = cachePageInfo.page;
-        await this.getList();
-
-        this.$nextTick(() => {
-          const curRow = this.dataList.find(
-            item => item.id === cachePageInfo.curRowId
-          );
-          if (!curRow) return;
-          this.toDo(curRow);
-        });
-      } else {
-        this.toPage(1);
-      }
-      this.$ls.remove("cachePageInfo");
-    },
-    async getList() {
-      const datas = {
-        pageNumber: this.current,
-        pageSize: this.size
-      };
-      const data = await waitExamTaskListPage(datas);
-      this.dataList = data.records;
-      this.total = data.total;
-    },
-    toPage(page) {
-      this.current = page;
-      this.getList();
-    },
-    toDo(task) {
-      this.curTask = { ...task, source: "REVIEW" };
-      this.$refs.ModifyTaskApply.open();
-    },
-    taskModified() {
-      this.getList();
-      this.updateWaitTaskCount();
+    selectMenu(tab) {
+      this.curTab = tab;
     }
   },
-  beforeRouteLeave(to, from, next) {
-    if (to.name === "CardDesign") {
-      this.$ls.set("cachePageInfo", {
-        page: this.current,
-        curRowId: this.curTask.id
+  beforeRouteEnter(to, from, next) {
+    if (from.name === "CardDesign") {
+      next(vm => {
+        vm.tab = "flow";
       });
     } else {
-      this.$ls.remove("cachePageInfo");
+      next();
     }
-    next();
   }
 };
 </script>

+ 12 - 1
src/modules/stmms/router.js

@@ -1,6 +1,7 @@
-// print
 import MarkTaskManage from "./views/MarkTaskManage.vue";
 import ScoreArchive from "./views/ScoreArchive.vue";
+import UploadStructure from "./views/UploadStructure.vue";
+import SyncManage from "./views/SyncManage.vue";
 
 export default [
   {
@@ -12,5 +13,15 @@ export default [
     path: "/stmms/score-archive",
     name: "ScoreArchive",
     component: ScoreArchive
+  },
+  {
+    path: "/stmms/upload-structure",
+    name: "UploadStructure",
+    component: UploadStructure
+  },
+  {
+    path: "/stmms/sync-manage",
+    name: "SyncManage",
+    component: SyncManage
   }
 ];

+ 3 - 4
src/modules/stmms/views/MarkTaskManage.vue

@@ -4,7 +4,7 @@
       <div></div>
       <div class="part-box-action">
         <el-button
-          v-if="!checkPrivilege('button', 'select')"
+          v-if="checkPrivilege('button', 'select')"
           type="primary"
           @click="toPage(1)"
           >查询</el-button
@@ -64,11 +64,11 @@ export default {
     };
   },
   mounted() {
-    // this.toPage(1);
+    this.toPage(1);
   },
   methods: {
     async getList() {
-      // if (!this.checkPrivilege("list", "list")) return;
+      if (!this.checkPrivilege("list", "list")) return;
       const datas = {
         ...this.filter,
         pageNumber: this.current,
@@ -88,7 +88,6 @@ export default {
     },
     async toAuth() {
       const data = await yptAuth({});
-      console.log(data);
       const url = data.redirectUrl;
       const params = { ...data, returnUrl: window.location.href };
       delete params.redirectUrl;

+ 6 - 6
src/modules/stmms/views/ScoreArchive.vue

@@ -2,7 +2,7 @@
   <div class="score-archive">
     <div class="part-box part-box-filter part-box-flex">
       <el-form ref="FilterForm" label-position="left" inline>
-        <template v-if="!checkPrivilege('condition', 'condition')">
+        <template v-if="checkPrivilege('condition', 'condition')">
           <el-form-item label="考试时间:">
             <el-select
               v-model="filter.semester"
@@ -81,7 +81,7 @@
         </template>
         <el-form-item label-width="0px">
           <el-button
-            v-if="!checkPrivilege('button', 'select')"
+            v-if="checkPrivilege('button', 'select')"
             type="primary"
             @click="toPage(1)"
             >查询</el-button
@@ -90,7 +90,7 @@
       </el-form>
       <div class="part-box-action">
         <el-button
-          v-if="!checkPrivilege('button', 'downloadAll')"
+          v-if="checkPrivilege('button', 'BatchDownload')"
           type="primary"
           icon="el-icon-refresh"
           :loading="loading"
@@ -98,7 +98,7 @@
           >一键下载</el-button
         >
         <el-button
-          v-if="!checkPrivilege('button', 'export')"
+          v-if="checkPrivilege('button', 'export')"
           type="primary"
           icon="el-icon-circle-plus-outline"
           @click="toExport"
@@ -130,14 +130,14 @@
         <el-table-column class-name="action-column" label="操作" width="160px">
           <template slot-scope="scope">
             <el-button
-              v-if="!checkPrivilege('link', 'view')"
+              v-if="checkPrivilege('link', 'Preview')"
               class="btn-primary"
               type="text"
               @click="toViewPaper(scope.row)"
               >查看原卷</el-button
             >
             <el-button
-              v-if="!checkPrivilege('link', 'download')"
+              v-if="checkPrivilege('link', 'download')"
               class="btn-danger"
               type="text"
               :loading="downloading"

+ 37 - 28
src/modules/stmms/views/SyncManage.vue

@@ -2,34 +2,40 @@
   <div class="sync-manage">
     <div class="part-box part-box-filter part-box-flex">
       <el-form ref="FilterForm" label-position="left" inline>
-        <el-form-item label="同步类型:">
-          <el-select v-model="filter.type" placeholder="同步类型" clearable>
-            <el-option
-              v-for="(val, key) in STMMS_SYNC_TYPE"
-              :key="key"
-              :value="key"
-              :label="val"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-        <el-form-item label="数据结果:">
-          <el-select
-            v-model="filter.result"
-            placeholder="数据结果"
-            clearable
-            style="width: 120px;"
-          >
-            <el-option
-              v-for="(val, key) in DATA_TASK_RESULT"
-              :key="key"
-              :value="key"
-              :label="val"
-            ></el-option>
-          </el-select>
-        </el-form-item>
-
+        <template v-if="checkPrivilege('condition', 'condition')">
+          <el-form-item label="同步类型:">
+            <el-select v-model="filter.type" placeholder="同步类型" clearable>
+              <el-option
+                v-for="(val, key) in STMMS_SYNC_TYPE"
+                :key="key"
+                :value="key"
+                :label="val"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <el-form-item label="数据结果:">
+            <el-select
+              v-model="filter.result"
+              placeholder="数据结果"
+              clearable
+              style="width: 120px;"
+            >
+              <el-option
+                v-for="(val, key) in DATA_TASK_RESULT"
+                :key="key"
+                :value="key"
+                :label="val"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+        </template>
         <el-form-item label-width="0px">
-          <el-button type="primary" @click="toPage(1)">查询</el-button>
+          <el-button
+            v-if="checkPrivilege('button', 'select')"
+            type="primary"
+            @click="toPage(1)"
+            >查询</el-button
+          >
         </el-form-item>
       </el-form>
     </div>
@@ -49,8 +55,9 @@
         <el-table-column class-name="action-column" label="操作" width="120px">
           <template slot-scope="scope">
             <el-button
+              v-if="checkPrivilege('button', 'export')"
+              type="primary"
               class="btn-primary"
-              type="text"
               :disabled="loading"
               @click="toDonwloadLog(scope.row)"
               >导出日志</el-button
@@ -100,6 +107,8 @@ export default {
   },
   methods: {
     async getList() {
+      if (!this.checkPrivilege("list", "list")) return;
+
       const datas = {
         ...this.filter,
         pageNumber: this.current,

+ 17 - 22
src/modules/stmms/views/PaperAnswerUpload.vue → src/modules/stmms/views/UploadStructure.vue

@@ -1,10 +1,10 @@
 <template>
-  <div class="paper-answer-upload">
+  <div class="upload-structure">
     <div class="part-box part-box-filter part-box-flex">
       <div></div>
       <div class="part-box-action">
         <el-button
-          v-if="!checkPrivilege('button', 'select')"
+          v-if="checkPrivilege('button', 'select')"
           type="primary"
           @click="toPage(1)"
           >查询</el-button
@@ -12,9 +12,13 @@
       </div>
     </div>
     <div class="part-box part-box-pad">
-      <el-table ref="TableList" :data="taskList">
-        <el-table-column prop="examId" label="考试ID"></el-table-column>
-        <el-table-column prop="paperNumber" label="试卷ID"></el-table-column>
+      <el-table ref="TableList" :data="dataList">
+        <el-table-column prop="thirdRelateId" label="考试ID"></el-table-column>
+        <el-table-column
+          prop="thirdRelateName"
+          label="考试名称"
+        ></el-table-column>
+        <el-table-column prop="paperNumber" label="试卷编号"></el-table-column>
         <el-table-column prop="paperType" label="试卷类型"></el-table-column>
         <el-table-column prop="status" label="状态" width="100">
           <template slot-scope="scope">
@@ -24,21 +28,21 @@
         <el-table-column class-name="action-column" label="操作" width="220px">
           <template slot-scope="scope">
             <el-button
-              v-if="checkPrivilege('link', 'UploadStructure')"
+              v-if="checkPrivilege('link', 'Upload')"
               class="btn-primary"
               type="text"
               @click="toUpload(scope.row)"
               >上传试卷结构/标答</el-button
             >
             <el-button
-              v-if="checkPrivilege('link', 'viewPaper')"
+              v-if="checkPrivilege('link', 'Preview')"
               class="btn-primary"
               type="text"
               @click="toViewPaper(scope.row)"
               >查看试卷结构</el-button
             >
             <el-button
-              v-if="checkPrivilege('link', 'viewAnswer')"
+              v-if="checkPrivilege('link', 'Preview')"
               class="btn-primary"
               type="text"
               @click="toViewAnswer(scope.row)"
@@ -73,7 +77,7 @@ import { markTaskListPage } from "../api";
 import UploadPaperAnswerDialog from "../components/UploadPaperAnswerDialog";
 
 export default {
-  name: "paper-answer-upload",
+  name: "upload-structure",
   components: { UploadPaperAnswerDialog },
   data() {
     return {
@@ -81,31 +85,23 @@ export default {
       current: 1,
       size: this.GLOBAL.pageSize,
       total: 0,
-      taskList: [
-        {
-          id: "111",
-          examId: "111",
-          paperNumber: "232323",
-          paperType: "A,B",
-          enable: false
-        }
-      ],
+      dataList: [],
       curTask: {}
     };
   },
   mounted() {
-    // this.toPage(1);
+    this.toPage(1);
   },
   methods: {
     async getList() {
-      // if (!this.checkPrivilege("list", "list")) return;
+      if (!this.checkPrivilege("list", "list")) return;
       const datas = {
         ...this.filter,
         pageNumber: this.current,
         pageSize: this.size
       };
       const data = await markTaskListPage(datas);
-      this.taskList = data.records;
+      this.dataList = data.records;
       this.total = data.total;
     },
     toPage(page) {
@@ -113,7 +109,6 @@ export default {
       this.getList();
     },
     toUpload(row) {
-      console.log(row);
       this.curTask = row;
       this.$refs.UploadPaperAnswerDialog.open();
     },

+ 13 - 1
src/router.js

@@ -2,6 +2,7 @@ import Vue from "vue";
 import Router from "vue-router";
 
 import Home from "./views/Home.vue";
+import Overview from "./views/Overview.vue";
 import NotFound from "./views/404.vue";
 
 import login from "./modules/login/router";
@@ -42,7 +43,18 @@ let router = new Router({
       path: "/home/:nextRouter?",
       name: "Home",
       component: Home,
-      children: [...base, ...exam, ...print, ...customer, ...stmms]
+      children: [
+        {
+          path: "/overview",
+          name: "Overview",
+          component: Overview
+        },
+        ...base,
+        ...exam,
+        ...print,
+        ...customer,
+        ...stmms
+      ]
     },
     { ...login },
     { ...admin },

+ 43 - 18
src/views/Home.vue

@@ -12,7 +12,14 @@
             ]"
             @click="toMenu(menu)"
           >
-            <i :class="['icon', `icon-${MENU_ICONS[menu.url]}`]"></i>
+            <i
+              :class="[
+                'icon',
+                MENU_ICONS[menu.url]
+                  ? `icon-${MENU_ICONS[menu.url]}`
+                  : 'icon-workspace'
+              ]"
+            ></i>
             <span>{{ menu.name }}</span>
           </li>
         </ul>
@@ -43,9 +50,10 @@
       </div>
 
       <el-menu
+        v-if="curMenu.children && curMenu.children.length"
         class="el-menu-home"
-        active-text-color="#705eff"
-        text-color="#383b4a"
+        active-text-color="#3a5ae5"
+        text-color="#434656"
         router
         :default-active="curRouteName"
         :default-openeds="curSubMenuNames"
@@ -108,7 +116,7 @@
 
 <script>
 import { mapState, mapActions } from "vuex";
-import localNavs from "@/constants/navs";
+import localMenus from "@/constants/menus";
 import { sysMenu, logout } from "../modules/login/api";
 import ResetPwd from "../modules/base/components/ResetPwd";
 import { SYS_ADMIN_NAME } from "@/constants/enumerate";
@@ -161,21 +169,33 @@ export default {
   },
   methods: {
     ...mapActions("exam", ["updateWaitTaskCount"]),
-    getMenus1() {
-      this.menus = localNavs;
+    initData1() {
+      // 开发阶段专用
+      this.privileges = localMenus;
+      this.menus = this.getMenu();
+      this.initPrivilegeMap(this.privileges);
+
       if (this.$route.name === "Home") {
+        const firstRouteName = this.getFirstRouter();
+        this.$router.replace({
+          name: firstRouteName
+        });
+        return;
+      }
+
+      if (!this.validRoutes.includes(this.$route.name)) {
         this.$router.replace({
-          name: "CampusManage"
+          name: "404"
         });
-      } else {
-        this.actCurNav();
+        return;
       }
+
+      this.actCurNav();
     },
     async initData() {
       const data = await sysMenu();
       this.privileges = data.privileges;
       this.menus = this.getMenu();
-      this.toMenu(this.menus[0]);
       this.initPrivilegeMap(data.privileges);
 
       if (this.$route.name === "Home") {
@@ -184,13 +204,13 @@ export default {
           name: firstRouteName
         });
         return;
-      } else {
-        if (!this.validRoutes.includes(this.$route.name)) {
-          this.$router.replace({
-            name: "404"
-          });
-          return;
-        }
+      }
+
+      if (!this.validRoutes.includes(this.$route.name)) {
+        this.$router.replace({
+          name: "404"
+        });
+        return;
       }
 
       this.actCurNav();
@@ -214,6 +234,7 @@ export default {
       toTree(menus);
 
       this.validRoutes = validRoutes;
+      // console.log(JSON.stringify(menus));
       return menus;
     },
     getFirstRouter() {
@@ -263,7 +284,7 @@ export default {
         .filter(item => item.parentId === menu.id)
         .map(item => item.url);
     },
-    actCurNav() {
+    updateBreadcrumbs() {
       this.curRouteName = this.$route.name;
       let breadcrumbs = [];
       let curBreadcrumb = this.privileges.find(
@@ -279,6 +300,10 @@ export default {
       }
 
       this.breadcrumbs = breadcrumbs;
+    },
+    actCurNav() {
+      this.updateBreadcrumbs();
+      this.toMenu(this.breadcrumbs[0]);
 
       if (
         this.validRoutes.includes("WaitTask") &&

+ 62 - 0
src/views/Overview.vue

@@ -0,0 +1,62 @@
+<template>
+  <div class="overview">
+    <el-row :gutter="20">
+      <el-col span="10">
+        <div class="part-box part-box-pad">
+          <div class="mb-4 tab-btns">
+            <el-button
+              v-for="tab in tabs"
+              :key="tab.val"
+              size="medium"
+              :type="curTab == tab.val ? 'primary' : 'default'"
+              @click="selectMenu(tab.val)"
+              >{{ tab.name }}</el-button
+            >
+          </div>
+        </div>
+        <div class="task-body">
+          <overview-flow v-show="curTab === 'flow'"></overview-flow>
+          <overview-stmms v-show="curTab === 'stmms'"></overview-stmms>
+        </div>
+      </el-col>
+      <el-col span="14">
+        <div class="part-box part-box-pad mb-4">
+          <h3>快捷入口</h3>
+        </div>
+        <div class="part-box part-box-pad">
+          <h3>任务统计</h3>
+        </div>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import OverviewFlow from "./comps/OverviewFlow";
+import OverviewStmms from "./comps/OverviewStmms";
+
+export default {
+  name: "overview",
+  components: { OverviewStmms, OverviewFlow },
+  data() {
+    return {
+      curTab: "flow",
+      tabs: [
+        {
+          name: "流程待办",
+          val: "flow"
+        },
+        {
+          name: "任务待办",
+          val: "stmms"
+        }
+      ]
+    };
+  },
+  methods: {
+    selectMenu(tab) {
+      this.curTab = tab;
+    }
+  }
+};
+</script>

+ 59 - 0
src/views/comps/OverviewFlow.vue

@@ -0,0 +1,59 @@
+<template>
+  <div class="overview-flow">
+    <el-table ref="TableList" :data="dataList" :show-header="false">
+      <el-table-column label="标题">
+        <div slot-scope="scope">
+          {{ scope.row.name }}
+        </div>
+      </el-table-column>
+      <el-table-column label="时间" width="100"></el-table-column>
+    </el-table>
+    <div v-if="hasMore" class="overview-more" @click="toMore">查看更多</div>
+  </div>
+</template>
+
+<script>
+import { waitExamTaskListPage } from "@/modules/exam/api";
+
+export default {
+  name: "overview-flow",
+  data() {
+    return {
+      current: 1,
+      size: this.GLOBAL.pageSize,
+      totalPage: 99,
+      dataList: []
+    };
+  },
+  computed: {
+    hasMore() {
+      return this.current < this.totalPage;
+    }
+  },
+  mounted() {
+    this.initData();
+  },
+  methods: {
+    async getList() {
+      const datas = {
+        pageNumber: this.current,
+        pageSize: this.size
+      };
+      const data = await waitExamTaskListPage(datas);
+      this.dataList = [...this.dataList, ...data.records];
+      this.totalPage = data.totalPage;
+    },
+    toMore() {
+      if (!this.hasMore) return;
+      this.current++;
+      this.getList();
+    },
+    initData() {
+      this.dataList = [];
+      this.totalPage = 99;
+      this.current = 1;
+      this.getList();
+    }
+  }
+};
+</script>

+ 59 - 0
src/views/comps/OverviewStmms.vue

@@ -0,0 +1,59 @@
+<template>
+  <div class="overview-stmms">
+    <el-table ref="TableList" :data="dataList" :show-header="false">
+      <el-table-column label="标题">
+        <div slot-scope="scope">
+          {{ scope.row.name }}
+        </div>
+      </el-table-column>
+      <el-table-column label="时间" width="100"></el-table-column>
+    </el-table>
+    <div v-if="hasMore" class="overview-more" @click="toMore">查看更多</div>
+  </div>
+</template>
+
+<script>
+import { markerTaskListPage } from "@/modules/exam/api";
+
+export default {
+  name: "overview-stmms",
+  data() {
+    return {
+      current: 1,
+      size: this.GLOBAL.pageSize,
+      totalPage: 99,
+      dataList: []
+    };
+  },
+  computed: {
+    hasMore() {
+      return this.current < this.totalPage;
+    }
+  },
+  mounted() {
+    this.initData();
+  },
+  methods: {
+    async getList() {
+      const datas = {
+        pageNumber: this.current,
+        pageSize: this.size
+      };
+      const data = await markerTaskListPage(datas);
+      this.dataList = [...this.dataList, ...data.records];
+      this.totalPage = data.totalPage;
+    },
+    toMore() {
+      if (!this.hasMore) return;
+      this.current++;
+      this.getList();
+    },
+    initData() {
+      this.dataList = [];
+      this.totalPage = 99;
+      this.current = 1;
+      this.getList();
+    }
+  }
+};
+</script>