@maketribe/ms-app 3.0.1 → 3.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/DataModelDefines.d.ts +23 -0
- package/dist/cjs/DataModelDefines.js +28 -0
- package/dist/cjs/DataModelDefines.js.map +1 -0
- package/dist/cjs/MSAppClient.d.ts +15 -8
- package/dist/cjs/MSAppClient.js +20 -91
- package/dist/cjs/MSAppClient.js.map +1 -1
- package/dist/cjs/MSDataFormComponents.js +1 -1
- package/dist/cjs/MSDataFormComponents.js.map +1 -1
- package/dist/cjs/PageManager.d.ts +16 -0
- package/dist/cjs/PageManager.js +121 -0
- package/dist/cjs/PageManager.js.map +1 -0
- package/dist/cjs/Router.js +4 -4
- package/dist/cjs/Router.js.map +1 -1
- package/dist/cjs/UserSession.d.ts +10 -1
- package/dist/cjs/UserSession.js +37 -8
- package/dist/cjs/UserSession.js.map +1 -1
- package/dist/cjs/components/image-select/image-select.js +2 -2
- package/dist/cjs/components/image-select/image-select.js.map +1 -1
- package/dist/cjs/components/material-list/material-group.vue2.js +5 -5
- package/dist/cjs/components/material-list/material-group.vue2.js.map +1 -1
- package/dist/cjs/components/verify-dialog/index.d.ts +8 -2
- package/dist/cjs/components/verify-dialog/verify-dialog-option.d.ts +1 -1
- package/dist/cjs/components/verify-dialog/verify-dialog-option.js.map +1 -1
- package/dist/cjs/components/verify-dialog/verify-dialog.d.ts +8 -2
- package/dist/cjs/components/verify-dialog/verify-dialog.js +1 -1
- package/dist/cjs/components/verify-dialog/verify-dialog.js.map +1 -1
- package/dist/cjs/constants/index.d.ts +1 -0
- package/dist/cjs/constants/index.js +2 -0
- package/dist/cjs/constants/index.js.map +1 -1
- package/dist/cjs/constants/menu.d.ts +4 -0
- package/dist/cjs/constants/menu.js +10 -0
- package/dist/cjs/constants/menu.js.map +1 -0
- package/dist/cjs/dataview/config/ConfigForm.js +9 -9
- package/dist/cjs/dataview/config/ConfigForm.js.map +1 -1
- package/dist/cjs/dataview/config/ConfigTable.js +2 -1
- package/dist/cjs/dataview/config/ConfigTable.js.map +1 -1
- package/dist/cjs/dataview/department/DepartmentForm.js +2 -1
- package/dist/cjs/dataview/department/DepartmentForm.js.map +1 -1
- package/dist/cjs/dataview/department/DepartmentTable.js +2 -1
- package/dist/cjs/dataview/department/DepartmentTable.js.map +1 -1
- package/dist/cjs/dataview/material/MaterialForm.js +2 -1
- package/dist/cjs/dataview/material/MaterialForm.js.map +1 -1
- package/dist/cjs/dataview/material/MaterialMan.js +1 -0
- package/dist/cjs/dataview/material/MaterialMan.js.map +1 -1
- package/dist/cjs/dataview/material/MaterialTable.js +2 -1
- package/dist/cjs/dataview/material/MaterialTable.js.map +1 -1
- package/dist/cjs/dataview/material/material-group/MaterialGroupForm.js.map +1 -1
- package/dist/cjs/dataview/material/material-group/MaterialGroupTable.js.map +1 -1
- package/dist/cjs/dataview/member/MemberForm.js +2 -1
- package/dist/cjs/dataview/member/MemberForm.js.map +1 -1
- package/dist/cjs/dataview/member/MemberTable.js +4 -3
- package/dist/cjs/dataview/member/MemberTable.js.map +1 -1
- package/dist/cjs/dataview/menu/MenuForm.d.ts +2 -0
- package/dist/cjs/dataview/menu/MenuForm.js +52 -10
- package/dist/cjs/dataview/menu/MenuForm.js.map +1 -1
- package/dist/cjs/dataview/menu/MenuTable.d.ts +1 -1
- package/dist/cjs/dataview/menu/MenuTable.js +2 -1
- package/dist/cjs/dataview/menu/MenuTable.js.map +1 -1
- package/dist/cjs/dataview/role/RoleForm.js +2 -1
- package/dist/cjs/dataview/role/RoleForm.js.map +1 -1
- package/dist/cjs/dataview/role/RoleTable.js +2 -1
- package/dist/cjs/dataview/role/RoleTable.js.map +1 -1
- package/dist/cjs/dataview/route/RouteForm.js +10 -6
- package/dist/cjs/dataview/route/RouteForm.js.map +1 -1
- package/dist/cjs/dataview/route/RouteTable.js +2 -1
- package/dist/cjs/dataview/route/RouteTable.js.map +1 -1
- package/dist/cjs/define-data-form.d.ts +2 -0
- package/dist/cjs/define-data-form.js +14 -0
- package/dist/cjs/define-data-form.js.map +1 -0
- package/dist/cjs/define-data-table.d.ts +2 -0
- package/dist/cjs/define-data-table.js +14 -0
- package/dist/cjs/define-data-table.js.map +1 -0
- package/dist/cjs/index.d.ts +3 -0
- package/dist/cjs/index.js +26 -16
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/init-application.js +16 -21
- package/dist/cjs/init-application.js.map +1 -1
- package/dist/cjs/layouts/common/lock/index.d.ts +2 -0
- package/dist/cjs/layouts/common/lock/index.js +11 -0
- package/dist/cjs/layouts/common/lock/index.js.map +1 -0
- package/dist/cjs/layouts/common/lock/lock.d.ts +2 -0
- package/dist/cjs/layouts/common/lock/lock.js +100 -0
- package/dist/cjs/layouts/common/lock/lock.js.map +1 -0
- package/dist/cjs/layouts/default/components/bar/index.d.ts +10 -0
- package/dist/cjs/layouts/default/components/bar/index.js +73 -0
- package/dist/cjs/layouts/default/components/bar/index.js.map +1 -0
- package/dist/cjs/layouts/default/components/index.d.ts +2 -0
- package/dist/cjs/layouts/default/components/index.js +10 -0
- package/dist/cjs/layouts/default/components/index.js.map +1 -0
- package/dist/cjs/layouts/default/components/menu/index.d.ts +10 -0
- package/dist/cjs/layouts/default/components/menu/index.js +62 -0
- package/dist/cjs/layouts/default/components/menu/index.js.map +1 -0
- package/dist/cjs/layouts/default/components/menu/menu-item.d.ts +13 -0
- package/dist/cjs/layouts/default/components/menu/menu-item.js +51 -0
- package/dist/cjs/layouts/default/components/menu/menu-item.js.map +1 -0
- package/dist/cjs/layouts/default/index.d.ts +1 -0
- package/dist/cjs/layouts/default/index.js +80 -0
- package/dist/cjs/layouts/default/index.js.map +1 -0
- package/dist/cjs/layouts/index.d.ts +1 -0
- package/dist/cjs/layouts/index.js +2 -0
- package/dist/cjs/layouts/index.js.map +1 -1
- package/dist/cjs/layouts/manager-system/components/header/nav/nav.js +8 -16
- package/dist/cjs/layouts/manager-system/components/header/nav/nav.js.map +1 -1
- package/dist/cjs/layouts/manager-system/components/menu/index.d.ts +2 -0
- package/dist/cjs/layouts/manager-system/components/menu/index.js +11 -0
- package/dist/cjs/layouts/manager-system/components/menu/index.js.map +1 -0
- package/dist/cjs/layouts/manager-system/components/menu/logo.d.ts +2 -0
- package/dist/cjs/layouts/manager-system/components/menu/logo.js +31 -0
- package/dist/cjs/layouts/manager-system/components/menu/logo.js.map +1 -0
- package/dist/cjs/layouts/manager-system/components/menu/menu.d.ts +2 -0
- package/dist/cjs/layouts/manager-system/components/menu/menu.js +107 -0
- package/dist/cjs/layouts/manager-system/components/menu/menu.js.map +1 -0
- package/dist/cjs/layouts/manager-system/manager-system.js +55 -5
- package/dist/cjs/layouts/manager-system/manager-system.js.map +1 -1
- package/dist/cjs/menu/Menu.d.ts +1 -0
- package/dist/cjs/menu/Menu.js +1 -1
- package/dist/cjs/menu/Menu.js.map +1 -1
- package/dist/cjs/page/index/404.vue.d.ts +2 -0
- package/dist/cjs/page/index/404.vue.js +13 -0
- package/dist/cjs/page/index/404.vue.js.map +1 -0
- package/dist/cjs/page/index/dv/default/add.vue2.js +2 -2
- package/dist/cjs/page/index/dv/default/add.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/default/edit.vue2.js +2 -2
- package/dist/cjs/page/index/dv/default/edit.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/default/index.vue2.js +13 -15
- package/dist/cjs/page/index/dv/default/index.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/default/tree.vue2.js +3 -3
- package/dist/cjs/page/index/dv/default/tree.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/ms-member/index.vue2.js +2 -2
- package/dist/cjs/page/index/dv/ms-member/index.vue2.js.map +1 -1
- package/dist/cjs/page/index/material/index.vue2.js.map +1 -1
- package/dist/cjs/page/index.vue.d.ts +2 -0
- package/dist/cjs/page/index.vue.js +9 -0
- package/dist/cjs/page/index.vue.js.map +1 -0
- package/dist/cjs/page/index.vue2.js +30 -0
- package/dist/cjs/page/index.vue2.js.map +1 -0
- package/dist/cjs/router-middleware/auth.js +1 -5
- package/dist/cjs/router-middleware/auth.js.map +1 -1
- package/dist/cjs/utils.d.ts +6 -0
- package/dist/cjs/utils.js +151 -0
- package/dist/cjs/utils.js.map +1 -0
- package/dist/esm/DataModelDefines.d.ts +23 -0
- package/dist/esm/DataModelDefines.js +26 -0
- package/dist/esm/DataModelDefines.js.map +1 -0
- package/dist/esm/MSAppClient.d.ts +15 -8
- package/dist/esm/MSAppClient.js +21 -90
- package/dist/esm/MSAppClient.js.map +1 -1
- package/dist/esm/MSDataFormComponents.js +1 -1
- package/dist/esm/MSDataFormComponents.js.map +1 -1
- package/dist/esm/PageManager.d.ts +16 -0
- package/dist/esm/PageManager.js +117 -0
- package/dist/esm/PageManager.js.map +1 -0
- package/dist/esm/Router.js +4 -4
- package/dist/esm/Router.js.map +1 -1
- package/dist/esm/UserSession.d.ts +10 -1
- package/dist/esm/UserSession.js +38 -9
- package/dist/esm/UserSession.js.map +1 -1
- package/dist/esm/components/image-select/image-select.js +1 -1
- package/dist/esm/components/image-select/image-select.js.map +1 -1
- package/dist/esm/components/material-list/material-group.vue2.js +1 -1
- package/dist/esm/components/material-list/material-group.vue2.js.map +1 -1
- package/dist/esm/components/verify-dialog/index.d.ts +8 -2
- package/dist/esm/components/verify-dialog/verify-dialog-option.d.ts +1 -1
- package/dist/esm/components/verify-dialog/verify-dialog-option.js.map +1 -1
- package/dist/esm/components/verify-dialog/verify-dialog.d.ts +8 -2
- package/dist/esm/components/verify-dialog/verify-dialog.js +1 -1
- package/dist/esm/components/verify-dialog/verify-dialog.js.map +1 -1
- package/dist/esm/constants/index.d.ts +1 -0
- package/dist/esm/constants/index.js +1 -0
- package/dist/esm/constants/index.js.map +1 -1
- package/dist/esm/constants/menu.d.ts +4 -0
- package/dist/esm/constants/menu.js +8 -0
- package/dist/esm/constants/menu.js.map +1 -0
- package/dist/esm/dataview/config/ConfigForm.js +9 -9
- package/dist/esm/dataview/config/ConfigForm.js.map +1 -1
- package/dist/esm/dataview/config/ConfigTable.js +2 -1
- package/dist/esm/dataview/config/ConfigTable.js.map +1 -1
- package/dist/esm/dataview/department/DepartmentForm.js +2 -1
- package/dist/esm/dataview/department/DepartmentForm.js.map +1 -1
- package/dist/esm/dataview/department/DepartmentTable.js +2 -1
- package/dist/esm/dataview/department/DepartmentTable.js.map +1 -1
- package/dist/esm/dataview/material/MaterialForm.js +2 -1
- package/dist/esm/dataview/material/MaterialForm.js.map +1 -1
- package/dist/esm/dataview/material/MaterialMan.js +2 -1
- package/dist/esm/dataview/material/MaterialMan.js.map +1 -1
- package/dist/esm/dataview/material/MaterialTable.js +2 -1
- package/dist/esm/dataview/material/MaterialTable.js.map +1 -1
- package/dist/esm/dataview/material/material-group/MaterialGroupForm.js.map +1 -1
- package/dist/esm/dataview/material/material-group/MaterialGroupTable.js.map +1 -1
- package/dist/esm/dataview/member/MemberForm.js +2 -1
- package/dist/esm/dataview/member/MemberForm.js.map +1 -1
- package/dist/esm/dataview/member/MemberTable.js +4 -3
- package/dist/esm/dataview/member/MemberTable.js.map +1 -1
- package/dist/esm/dataview/menu/MenuForm.d.ts +2 -0
- package/dist/esm/dataview/menu/MenuForm.js +52 -10
- package/dist/esm/dataview/menu/MenuForm.js.map +1 -1
- package/dist/esm/dataview/menu/MenuTable.d.ts +1 -1
- package/dist/esm/dataview/menu/MenuTable.js +2 -1
- package/dist/esm/dataview/menu/MenuTable.js.map +1 -1
- package/dist/esm/dataview/role/RoleForm.js +2 -1
- package/dist/esm/dataview/role/RoleForm.js.map +1 -1
- package/dist/esm/dataview/role/RoleTable.js +2 -1
- package/dist/esm/dataview/role/RoleTable.js.map +1 -1
- package/dist/esm/dataview/route/RouteForm.js +10 -6
- package/dist/esm/dataview/route/RouteForm.js.map +1 -1
- package/dist/esm/dataview/route/RouteTable.js +2 -1
- package/dist/esm/dataview/route/RouteTable.js.map +1 -1
- package/dist/esm/define-data-form.d.ts +2 -0
- package/dist/esm/define-data-form.js +12 -0
- package/dist/esm/define-data-form.js.map +1 -0
- package/dist/esm/define-data-table.d.ts +2 -0
- package/dist/esm/define-data-table.js +12 -0
- package/dist/esm/define-data-table.js.map +1 -0
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.js +5 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/init-application.js +16 -21
- package/dist/esm/init-application.js.map +1 -1
- package/dist/esm/layouts/common/lock/index.d.ts +2 -0
- package/dist/esm/layouts/common/lock/index.js +6 -0
- package/dist/esm/layouts/common/lock/index.js.map +1 -0
- package/dist/esm/layouts/common/lock/lock.d.ts +2 -0
- package/dist/esm/layouts/common/lock/lock.js +98 -0
- package/dist/esm/layouts/common/lock/lock.js.map +1 -0
- package/dist/esm/layouts/default/components/bar/index.d.ts +10 -0
- package/dist/esm/layouts/default/components/bar/index.js +71 -0
- package/dist/esm/layouts/default/components/bar/index.js.map +1 -0
- package/dist/esm/layouts/default/components/index.d.ts +2 -0
- package/dist/esm/layouts/default/components/index.js +3 -0
- package/dist/esm/layouts/default/components/index.js.map +1 -0
- package/dist/esm/layouts/default/components/menu/index.d.ts +10 -0
- package/dist/esm/layouts/default/components/menu/index.js +60 -0
- package/dist/esm/layouts/default/components/menu/index.js.map +1 -0
- package/dist/esm/layouts/default/components/menu/menu-item.d.ts +13 -0
- package/dist/esm/layouts/default/components/menu/menu-item.js +49 -0
- package/dist/esm/layouts/default/components/menu/menu-item.js.map +1 -0
- package/dist/esm/layouts/default/index.d.ts +1 -0
- package/dist/esm/layouts/default/index.js +78 -0
- package/dist/esm/layouts/default/index.js.map +1 -0
- package/dist/esm/layouts/index.d.ts +1 -0
- package/dist/esm/layouts/index.js +1 -0
- package/dist/esm/layouts/index.js.map +1 -1
- package/dist/esm/layouts/manager-system/components/header/nav/nav.js +8 -16
- package/dist/esm/layouts/manager-system/components/header/nav/nav.js.map +1 -1
- package/dist/esm/layouts/manager-system/components/menu/index.d.ts +2 -0
- package/dist/esm/layouts/manager-system/components/menu/index.js +6 -0
- package/dist/esm/layouts/manager-system/components/menu/index.js.map +1 -0
- package/dist/esm/layouts/manager-system/components/menu/logo.d.ts +2 -0
- package/dist/esm/layouts/manager-system/components/menu/logo.js +29 -0
- package/dist/esm/layouts/manager-system/components/menu/logo.js.map +1 -0
- package/dist/esm/layouts/manager-system/components/menu/menu.d.ts +2 -0
- package/dist/esm/layouts/manager-system/components/menu/menu.js +105 -0
- package/dist/esm/layouts/manager-system/components/menu/menu.js.map +1 -0
- package/dist/esm/layouts/manager-system/manager-system.js +56 -6
- package/dist/esm/layouts/manager-system/manager-system.js.map +1 -1
- package/dist/esm/menu/Menu.d.ts +1 -0
- package/dist/esm/menu/Menu.js +1 -1
- package/dist/esm/menu/Menu.js.map +1 -1
- package/dist/esm/page/index/404.vue.d.ts +2 -0
- package/dist/esm/page/index/404.vue.js +11 -0
- package/dist/esm/page/index/404.vue.js.map +1 -0
- package/dist/esm/page/index/dv/default/add.vue2.js +2 -2
- package/dist/esm/page/index/dv/default/add.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/default/edit.vue2.js +2 -2
- package/dist/esm/page/index/dv/default/edit.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/default/index.vue2.js +15 -17
- package/dist/esm/page/index/dv/default/index.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/default/tree.vue2.js +3 -3
- package/dist/esm/page/index/dv/default/tree.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/ms-member/index.vue2.js +2 -2
- package/dist/esm/page/index/dv/ms-member/index.vue2.js.map +1 -1
- package/dist/esm/page/index/material/index.vue2.js.map +1 -1
- package/dist/esm/page/index.vue.d.ts +2 -0
- package/dist/esm/page/index.vue.js +7 -0
- package/dist/esm/page/index.vue.js.map +1 -0
- package/dist/esm/page/index.vue2.js +28 -0
- package/dist/esm/page/index.vue2.js.map +1 -0
- package/dist/esm/router-middleware/auth.js +1 -5
- package/dist/esm/router-middleware/auth.js.map +1 -1
- package/dist/esm/utils.d.ts +6 -0
- package/dist/esm/utils.js +149 -0
- package/dist/esm/utils.js.map +1 -0
- package/dist/style/index.css +2 -2
- package/dist/style/layouts/common/index.css +1 -0
- package/dist/style/layouts/common/lock.css +1 -0
- package/dist/style/layouts/default/bar.css +1 -0
- package/dist/style/layouts/default/index.css +1 -0
- package/dist/style/layouts/default/menu.css +1 -0
- package/dist/style/layouts/index.css +1 -1
- package/dist/style/layouts/manager-system/aside.css +1 -1
- package/dist/style/layouts/manager-system/header.css +1 -1
- package/dist/style/layouts/manager-system/index.css +1 -1
- package/dist/style/layouts/manager-system/logo.css +1 -0
- package/dist/style/layouts/manager-system/manager-system.css +1 -1
- package/dist/style/layouts/manager-system/menu.css +1 -1
- package/dist/style/src/layouts/common/index.scss +1 -0
- package/dist/style/src/layouts/common/lock.scss +27 -0
- package/dist/style/src/layouts/default/bar.scss +83 -0
- package/dist/style/src/layouts/default/index.scss +37 -0
- package/dist/style/src/layouts/default/menu.scss +17 -0
- package/dist/style/src/layouts/index.scss +3 -1
- package/dist/style/src/layouts/manager-system/aside.scss +48 -0
- package/dist/style/src/layouts/manager-system/header.scss +13 -7
- package/dist/style/src/layouts/manager-system/index.scss +2 -1
- package/dist/style/src/layouts/manager-system/logo.scss +26 -0
- package/dist/style/src/layouts/manager-system/manager-system.scss +45 -1
- package/dist/style/src/layouts/manager-system/menu.scss +208 -26
- package/package.json +8 -7
- package/src/ConfigComponents.ts +20 -0
- package/src/DataModelDefines.ts +53 -0
- package/src/MSAppClient.ts +246 -0
- package/src/MSDataFilterComponents.ts +6 -0
- package/src/MSDataFormComponents.ts +12 -0
- package/src/MSDataTableComponents.ts +6 -0
- package/src/MaterialComponents.ts +26 -0
- package/src/PageManager.ts +145 -0
- package/src/PermissionPointManager.ts +26 -0
- package/src/Router.ts +133 -0
- package/src/UserInfo.ts +66 -0
- package/src/UserSession.ts +233 -0
- package/src/components/image-select/image-select-option.ts +11 -0
- package/src/components/image-select/image-select.tsx +40 -0
- package/src/components/image-select/index.ts +6 -0
- package/src/components/index.ts +8 -0
- package/src/components/material-list/index.ts +7 -0
- package/src/components/material-list/material-group-form-popover.vue +66 -0
- package/src/components/material-list/material-group.vue +138 -0
- package/src/components/material-list/material-item.vue +26 -0
- package/src/components/material-list/material-list-options.ts +23 -0
- package/src/components/material-list/material-list.vue +151 -0
- package/src/components/material-select/index.ts +15 -0
- package/src/components/material-select/material-select-api.ts +48 -0
- package/src/components/material-select/material-select-options.ts +18 -0
- package/src/components/material-select/material-select-type.ts +11 -0
- package/src/components/material-select/material-select.tsx +95 -0
- package/src/components/member-table/index.ts +6 -0
- package/src/components/member-table/member-table.vue +220 -0
- package/src/components/menu-permission-table/index.ts +6 -0
- package/src/components/menu-permission-table/menu-permission-table.vue +143 -0
- package/src/components/role-permission-config/index.ts +7 -0
- package/src/components/role-permission-config/role-permission-config-options.ts +20 -0
- package/src/components/role-permission-config/role-permission-config.tsx +280 -0
- package/src/components/system-provider/index.ts +5 -0
- package/src/components/system-provider/system-provider.tsx +93 -0
- package/src/components/verify-dialog/index.ts +5 -0
- package/src/components/verify-dialog/verify-dialog-option.ts +23 -0
- package/src/components/verify-dialog/verify-dialog.tsx +113 -0
- package/src/composables/index.ts +13 -0
- package/src/composables/on-tab-before-close.ts +8 -0
- package/src/composables/on-tab-before-switch.ts +8 -0
- package/src/composables/on-tab-refresh.ts +8 -0
- package/src/composables/use-current-tab.ts +5 -0
- package/src/composables/use-http-request.ts +5 -0
- package/src/composables/use-ms-app-client.ts +10 -0
- package/src/composables/use-user-info.ts +4 -0
- package/src/constants/index.ts +3 -0
- package/src/constants/menu.ts +4 -0
- package/src/constants/route.ts +4 -0
- package/src/constants/token.ts +5 -0
- package/src/dataview/config/ConfigForm.ts +113 -0
- package/src/dataview/config/ConfigTable.ts +68 -0
- package/src/dataview/config/index.ts +2 -0
- package/src/dataview/department/DepartmentForm.ts +39 -0
- package/src/dataview/department/DepartmentTable.ts +63 -0
- package/src/dataview/department/index.ts +2 -0
- package/src/dataview/index.ts +7 -0
- package/src/dataview/material/MaterialForm.ts +47 -0
- package/src/dataview/material/MaterialMan.ts +180 -0
- package/src/dataview/material/MaterialTable.ts +123 -0
- package/src/dataview/material/index.ts +4 -0
- package/src/dataview/material/material-group/MaterialGroupForm.ts +25 -0
- package/src/dataview/material/material-group/MaterialGroupTable.ts +55 -0
- package/src/dataview/material/material-group/index.ts +2 -0
- package/src/dataview/member/MemberForm.ts +118 -0
- package/src/dataview/member/MemberTable.tsx +242 -0
- package/src/dataview/member/index.ts +2 -0
- package/src/dataview/member/member-role/MemberRoleTable.ts +21 -0
- package/src/dataview/menu/MenuForm.ts +164 -0
- package/src/dataview/menu/MenuTable.ts +37 -0
- package/src/dataview/menu/MenuTree.ts +143 -0
- package/src/dataview/menu/index.ts +4 -0
- package/src/dataview/menu/permission-point/PermissionPointDefineForm.ts +28 -0
- package/src/dataview/menu/permission-point/PermissionPointDefineTable.ts +30 -0
- package/src/dataview/menu/permission-point/index.ts +2 -0
- package/src/dataview/role/RoleForm.ts +32 -0
- package/src/dataview/role/RolePermissionConfigTable.ts +471 -0
- package/src/dataview/role/RoleTable.ts +69 -0
- package/src/dataview/role/index.ts +5 -0
- package/src/dataview/role/role-permission-point/RolePermissionPointTable.ts +27 -0
- package/src/dataview/role/role-permission-point/index.ts +1 -0
- package/src/dataview/role/role-route/RoleRouteTable.ts +28 -0
- package/src/dataview/role/role-route/index.ts +1 -0
- package/src/dataview/route/RouteForm.ts +93 -0
- package/src/dataview/route/RouteTable.ts +71 -0
- package/src/dataview/route/index.ts +2 -0
- package/src/define-data-form.ts +12 -0
- package/src/define-data-table.ts +12 -0
- package/src/index.ts +3 -1
- package/src/init-application.ts +82 -0
- package/src/installer.ts +26 -0
- package/src/layouts/common/lock/index.ts +5 -0
- package/src/layouts/common/lock/lock.tsx +92 -0
- package/src/layouts/default/components/bar/index.tsx +76 -0
- package/src/layouts/default/components/index.ts +2 -0
- package/src/layouts/default/components/menu/index.tsx +57 -0
- package/src/layouts/default/components/menu/menu-item.tsx +63 -0
- package/src/layouts/default/index.tsx +72 -0
- package/src/layouts/index.ts +2 -0
- package/src/layouts/manager-system/components/aside/aside.tsx +45 -0
- package/src/layouts/manager-system/components/aside/bar/bar.tsx +79 -0
- package/src/layouts/manager-system/components/aside/bar/index.ts +5 -0
- package/src/layouts/manager-system/components/aside/index.ts +5 -0
- package/src/layouts/manager-system/components/aside/menu/index.ts +5 -0
- package/src/layouts/manager-system/components/aside/menu/menu-item.tsx +63 -0
- package/src/layouts/manager-system/components/aside/menu/menu.tsx +51 -0
- package/src/layouts/manager-system/components/aside/panel/index.ts +5 -0
- package/src/layouts/manager-system/components/aside/panel/panel.tsx +57 -0
- package/src/layouts/manager-system/components/header/breadcrumb/breadcrumb.tsx +47 -0
- package/src/layouts/manager-system/components/header/breadcrumb/index.ts +5 -0
- package/src/layouts/manager-system/components/header/header.tsx +17 -0
- package/src/layouts/manager-system/components/header/index.ts +5 -0
- package/src/layouts/manager-system/components/header/nav/index.ts +5 -0
- package/src/layouts/manager-system/components/header/nav/nav.tsx +91 -0
- package/src/layouts/manager-system/components/header/tabs/index.ts +5 -0
- package/src/layouts/manager-system/components/header/tabs/tabs.tsx +72 -0
- package/src/layouts/manager-system/components/header/tools/index.ts +5 -0
- package/src/layouts/manager-system/components/header/tools/tools.tsx +15 -0
- package/src/layouts/manager-system/components/menu/index.ts +5 -0
- package/src/layouts/manager-system/components/menu/logo.tsx +29 -0
- package/src/layouts/manager-system/components/menu/menu.tsx +112 -0
- package/src/layouts/manager-system/index.ts +6 -0
- package/src/layouts/manager-system/manager-system.tsx +101 -0
- package/src/menu/Menu.ts +142 -0
- package/src/menu/MenuNode.ts +49 -0
- package/src/menu/index.ts +2 -0
- package/src/page/index/404.vue +3 -0
- package/src/page/index/dv/default/add.vue +50 -0
- package/src/page/index/dv/default/edit.vue +56 -0
- package/src/page/index/dv/default/index.vue +51 -0
- package/src/page/index/dv/default/tree.vue +32 -0
- package/src/page/index/dv/ms-member/index.vue +38 -0
- package/src/page/index/dv/ms-role/index.vue +28 -0
- package/src/page/index/material/index.vue +13 -0
- package/src/page/index.vue +16 -0
- package/src/page/login/index.vue +191 -0
- package/src/page/signup/index.vue +157 -0
- package/src/resolver/ITypeResolver.ts +5 -0
- package/src/router-middleware/auth.ts +67 -0
- package/src/router-middleware/index.ts +1 -0
- package/src/tabs/Tab.ts +59 -0
- package/src/tabs/Tabs.ts +176 -0
- package/src/tabs/index.ts +2 -0
- package/src/tokens/index.ts +1 -0
- package/src/tokens/ms-app-client.ts +10 -0
- package/src/utils.ts +233 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { DataForm, DataFormOptions, FormColumn } from "@maketribe/dm";
|
|
2
|
+
import { defineDataForm } from "../../define-data-form";
|
|
3
|
+
import { RouteType } from "../../constants";
|
|
4
|
+
import { MenuTable } from "../menu/MenuTable";
|
|
5
|
+
|
|
6
|
+
export type RouteResult = {
|
|
7
|
+
id: string;
|
|
8
|
+
name: string;
|
|
9
|
+
title: string;
|
|
10
|
+
type: number;
|
|
11
|
+
menuId: string;
|
|
12
|
+
iconName: string;
|
|
13
|
+
path?: string;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export type Route = {
|
|
17
|
+
id: string;
|
|
18
|
+
name: string;
|
|
19
|
+
title: string;
|
|
20
|
+
type: RouteType;
|
|
21
|
+
menuId: string;
|
|
22
|
+
iconName: string;
|
|
23
|
+
path: string;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export class RouteForm extends DataForm<RouteResult, Route> {
|
|
27
|
+
constructor(options: DataFormOptions = {}) {
|
|
28
|
+
super({ name: "ms-route", ...options });
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
protected async initialize() {
|
|
32
|
+
(window as any).a = this;
|
|
33
|
+
this.setColumns([
|
|
34
|
+
new FormColumn({ name: "id", label: "编号" }),
|
|
35
|
+
new FormColumn({ name: "name", label: "路由名", required: true }),
|
|
36
|
+
new FormColumn({ name: "title", label: "路由描述", required: true }),
|
|
37
|
+
new FormColumn({
|
|
38
|
+
name: "menuId",
|
|
39
|
+
label: "所属菜单",
|
|
40
|
+
componentInfo: "MKFormDataTableSelect",
|
|
41
|
+
required: true,
|
|
42
|
+
componentProps: {
|
|
43
|
+
labelFieldName: "title",
|
|
44
|
+
dataTable: new MenuTable({ pageSize: 10 }),
|
|
45
|
+
},
|
|
46
|
+
}),
|
|
47
|
+
new FormColumn({
|
|
48
|
+
name: "iconName",
|
|
49
|
+
label: "图标",
|
|
50
|
+
componentInfo: "MKFormIconSelect",
|
|
51
|
+
}),
|
|
52
|
+
new FormColumn({ name: "path", label: "路径" }),
|
|
53
|
+
new FormColumn({
|
|
54
|
+
name: "type",
|
|
55
|
+
label: "路由类型",
|
|
56
|
+
defaultValue: RouteType.ROUTE,
|
|
57
|
+
componentInfo: "MKFormDataSelect",
|
|
58
|
+
required: true,
|
|
59
|
+
componentProps: {
|
|
60
|
+
options: [
|
|
61
|
+
{ value: RouteType.ROUTE, label: "站内路由" },
|
|
62
|
+
{ value: RouteType.LINK, label: "站外链接" },
|
|
63
|
+
],
|
|
64
|
+
},
|
|
65
|
+
}),
|
|
66
|
+
]);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
formatSubmitData(data: any) {
|
|
70
|
+
const type = Number.parseInt(data.type);
|
|
71
|
+
|
|
72
|
+
return {
|
|
73
|
+
...data,
|
|
74
|
+
iconName: data.iconName || null,
|
|
75
|
+
type: Number.isNaN(type) ? RouteType.ROUTE : type,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
formatItem(item: RouteResult): Route {
|
|
80
|
+
return {
|
|
81
|
+
id: item.id,
|
|
82
|
+
name: item.name || "",
|
|
83
|
+
title: item.title || "",
|
|
84
|
+
type:
|
|
85
|
+
`${item.type}` === RouteType.ROUTE ? RouteType.ROUTE : RouteType.LINK,
|
|
86
|
+
menuId: item.menuId,
|
|
87
|
+
iconName: item.iconName || "",
|
|
88
|
+
path: item.path || "",
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
defineDataForm(RouteForm);
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DataTable,
|
|
3
|
+
DataTableOptions,
|
|
4
|
+
TableColumn,
|
|
5
|
+
FilterColumn,
|
|
6
|
+
TableActionColumn,
|
|
7
|
+
} from "@maketribe/dm";
|
|
8
|
+
import { defineDataTable } from "../../define-data-table";
|
|
9
|
+
import { Route, RouteResult } from "./RouteForm";
|
|
10
|
+
import { RouteType } from "../../constants";
|
|
11
|
+
|
|
12
|
+
export class RouteTable extends DataTable<RouteResult, Route> {
|
|
13
|
+
constructor(options: DataTableOptions = {}) {
|
|
14
|
+
super({ name: "ms-route", ...options });
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
protected async initialize() {
|
|
18
|
+
this.dataFilter.setColumns([
|
|
19
|
+
new FilterColumn({
|
|
20
|
+
name: "name",
|
|
21
|
+
label: "路由名",
|
|
22
|
+
componentInfo: "MKConditionInput",
|
|
23
|
+
}),
|
|
24
|
+
new FilterColumn({
|
|
25
|
+
name: "title",
|
|
26
|
+
label: "路由描述",
|
|
27
|
+
componentInfo: "MKConditionInput",
|
|
28
|
+
}),
|
|
29
|
+
new FilterColumn({
|
|
30
|
+
name: "type",
|
|
31
|
+
label: "路由类型",
|
|
32
|
+
componentInfo: "MKConditionSelect",
|
|
33
|
+
componentProps: {
|
|
34
|
+
options: [
|
|
35
|
+
{ value: 0, label: "站内路由" },
|
|
36
|
+
{ value: 1, label: "站外链接" },
|
|
37
|
+
],
|
|
38
|
+
},
|
|
39
|
+
}),
|
|
40
|
+
]);
|
|
41
|
+
|
|
42
|
+
this.setColumns([
|
|
43
|
+
new TableColumn({ name: "id", label: "编号", visible: false }),
|
|
44
|
+
new TableColumn({ name: "name", label: "路由名" }),
|
|
45
|
+
new TableColumn({ name: "title", label: "路由描述" }),
|
|
46
|
+
new TableColumn({
|
|
47
|
+
name: "type",
|
|
48
|
+
label: "路由类型",
|
|
49
|
+
componentInfo: "MKColumnObjectMappingText",
|
|
50
|
+
componentProps: {
|
|
51
|
+
mapping: { 0: "站内路由", 1: "站外链接" },
|
|
52
|
+
},
|
|
53
|
+
}),
|
|
54
|
+
new TableActionColumn(),
|
|
55
|
+
]);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
formatItem(item: RouteResult): Route {
|
|
59
|
+
return {
|
|
60
|
+
id: item.id,
|
|
61
|
+
name: item.name || "",
|
|
62
|
+
title: item.title || "",
|
|
63
|
+
type: item.type === 0 ? RouteType.ROUTE : RouteType.LINK,
|
|
64
|
+
menuId: item.menuId,
|
|
65
|
+
iconName: item.iconName || "",
|
|
66
|
+
path: item.path || "",
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
defineDataTable(RouteTable);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { DataFormClass, DataModelDefines } from "./DataModelDefines";
|
|
2
|
+
|
|
3
|
+
export const defineDataForm = <T extends DataFormClass>(
|
|
4
|
+
DataFormClass: T
|
|
5
|
+
): T => {
|
|
6
|
+
DataModelDefines.instance.registerDataFormDefine(
|
|
7
|
+
new DataFormClass({}).name,
|
|
8
|
+
DataFormClass
|
|
9
|
+
);
|
|
10
|
+
|
|
11
|
+
return DataFormClass;
|
|
12
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { DataModelDefines, DataTableClass } from "./DataModelDefines";
|
|
2
|
+
|
|
3
|
+
export const defineDataTable = <T extends DataTableClass>(
|
|
4
|
+
DataTableClass: T
|
|
5
|
+
): T => {
|
|
6
|
+
DataModelDefines.instance.registerDataTableDefine(
|
|
7
|
+
new DataTableClass({}).name,
|
|
8
|
+
DataTableClass
|
|
9
|
+
);
|
|
10
|
+
|
|
11
|
+
return DataTableClass;
|
|
12
|
+
};
|
package/src/index.ts
CHANGED
|
@@ -24,4 +24,6 @@ export const install = installer.install;
|
|
|
24
24
|
export const version = installer.version;
|
|
25
25
|
|
|
26
26
|
export * from "./init-application";
|
|
27
|
-
|
|
27
|
+
export * from "./DataModelDefines";
|
|
28
|
+
export * from "./define-data-table";
|
|
29
|
+
export * from "./define-data-form";
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { App, reactive } from "vue";
|
|
2
|
+
import {
|
|
3
|
+
createRouter,
|
|
4
|
+
createWebHashHistory,
|
|
5
|
+
Router as VueRouter,
|
|
6
|
+
} from "vue-router";
|
|
7
|
+
import { MSAppClient } from "./MSAppClient";
|
|
8
|
+
import { HttpRequest, WebHttpRequest } from "@maketribe/request";
|
|
9
|
+
import { MSAPPCLIENT_CONTEXT_KEY } from "./tokens";
|
|
10
|
+
import { Router } from "vue-router";
|
|
11
|
+
import { MSDataTableComponents } from "./MSDataTableComponents";
|
|
12
|
+
import { MSDataFormComponents } from "./MSDataFormComponents";
|
|
13
|
+
import { MSDataFilterComponents } from "./MSDataFilterComponents";
|
|
14
|
+
import { generateRoutesFromFiles } from "./utils";
|
|
15
|
+
|
|
16
|
+
export type InitMsApplicationOptions = {
|
|
17
|
+
routes: any;
|
|
18
|
+
vueRouter?: VueRouter;
|
|
19
|
+
app: App;
|
|
20
|
+
router?: Router;
|
|
21
|
+
appID: string;
|
|
22
|
+
logo?: string;
|
|
23
|
+
projectName: string;
|
|
24
|
+
locale?: string;
|
|
25
|
+
httpRequest?: HttpRequest;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export const initApplication = async (options: InitMsApplicationOptions) => {
|
|
29
|
+
const app = options.app;
|
|
30
|
+
|
|
31
|
+
const vueRouter =
|
|
32
|
+
options.router ??
|
|
33
|
+
createRouter({
|
|
34
|
+
history: createWebHashHistory(),
|
|
35
|
+
routes: [],
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
const msAppClient = reactive(
|
|
39
|
+
new MSAppClient({
|
|
40
|
+
appID: options!.appID,
|
|
41
|
+
logo: options!.logo ?? "",
|
|
42
|
+
projectName: options!.projectName,
|
|
43
|
+
httpRequest: options.httpRequest ?? new WebHttpRequest(),
|
|
44
|
+
origin: location.origin,
|
|
45
|
+
locale: options!.locale,
|
|
46
|
+
vueRouter,
|
|
47
|
+
dataTableComponents: new MSDataTableComponents(),
|
|
48
|
+
dataFormComponents: new MSDataFormComponents(),
|
|
49
|
+
dataFilterComponents: new MSDataFilterComponents(),
|
|
50
|
+
whereFilterComponents: new MSDataFilterComponents(),
|
|
51
|
+
})
|
|
52
|
+
) as unknown as MSAppClient;
|
|
53
|
+
|
|
54
|
+
app.provide(MSAPPCLIENT_CONTEXT_KEY, { msAppClient });
|
|
55
|
+
|
|
56
|
+
MSAppClient.instance = msAppClient;
|
|
57
|
+
|
|
58
|
+
(window as any).msAppClient = msAppClient;
|
|
59
|
+
|
|
60
|
+
const routes = generateRoutesFromFiles(
|
|
61
|
+
Object.keys(options.routes).map((key) => {
|
|
62
|
+
return {
|
|
63
|
+
path: key.replace(/^\.\/pages\/(.+)\.vue$/, (_, g) => g),
|
|
64
|
+
module: options.routes[key]?.default || options.routes[key],
|
|
65
|
+
};
|
|
66
|
+
})
|
|
67
|
+
);
|
|
68
|
+
|
|
69
|
+
for (const route of routes) {
|
|
70
|
+
if (route.key.startsWith("index-")) {
|
|
71
|
+
msAppClient.pageManager.addExtendsPage(route);
|
|
72
|
+
} else {
|
|
73
|
+
msAppClient.pageManager.addNormalPage(route);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
await msAppClient.init();
|
|
78
|
+
|
|
79
|
+
app.use(msAppClient.vueRouter);
|
|
80
|
+
|
|
81
|
+
return msAppClient;
|
|
82
|
+
};
|
package/src/installer.ts
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Plugin, reactive } from "vue";
|
|
2
|
+
import { makeInstaller } from "@maketribe/utils";
|
|
3
|
+
import { ConfigProviderContext } from "@maketribe/dm-ui";
|
|
4
|
+
|
|
5
|
+
import {
|
|
6
|
+
MKMaterialList,
|
|
7
|
+
MKMaterialSelect,
|
|
8
|
+
MKSystemProvider,
|
|
9
|
+
MKRolePermissionConfig,
|
|
10
|
+
MKImageSelect,
|
|
11
|
+
MKVerifyDialog,
|
|
12
|
+
} from "./components";
|
|
13
|
+
|
|
14
|
+
const components: Plugin[] = [
|
|
15
|
+
MKSystemProvider,
|
|
16
|
+
MKMaterialList,
|
|
17
|
+
MKMaterialSelect,
|
|
18
|
+
MKRolePermissionConfig,
|
|
19
|
+
MKImageSelect,
|
|
20
|
+
MKVerifyDialog,
|
|
21
|
+
];
|
|
22
|
+
|
|
23
|
+
export const installer = makeInstaller<ConfigProviderContext>(
|
|
24
|
+
components,
|
|
25
|
+
"1.0.0-dev"
|
|
26
|
+
);
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { defineComponent, ref, unref } from "vue";
|
|
2
|
+
import { useRouter } from "vue-router";
|
|
3
|
+
import { ElButton, ElInput } from "element-plus";
|
|
4
|
+
import { Messager } from "@maketribe/dm";
|
|
5
|
+
import { MSAppClient } from "../../../MSAppClient";
|
|
6
|
+
import { MKVerifyDialog } from "../../../components";
|
|
7
|
+
|
|
8
|
+
export default defineComponent({
|
|
9
|
+
name: "MKLock",
|
|
10
|
+
setup() {
|
|
11
|
+
const msAppClient = MSAppClient.instance!;
|
|
12
|
+
|
|
13
|
+
const vueRouter = useRouter();
|
|
14
|
+
|
|
15
|
+
const locking = ref(msAppClient.userSession!.locking ?? false);
|
|
16
|
+
|
|
17
|
+
const password = ref("");
|
|
18
|
+
const isVisibleVerify = ref(false);
|
|
19
|
+
|
|
20
|
+
const handleToLogin = () => {
|
|
21
|
+
vueRouter.push({ name: "login" });
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
const handleUnlock = () => {
|
|
25
|
+
isVisibleVerify.value = true;
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
const handleVerifySuccess = async (code: string) => {
|
|
29
|
+
const userSession = msAppClient.userSession!;
|
|
30
|
+
|
|
31
|
+
try {
|
|
32
|
+
const response = await userSession.unlock(unref(password), code);
|
|
33
|
+
|
|
34
|
+
if (response.data.code !== 200) {
|
|
35
|
+
Messager.instance.error({ message: response.data.msg });
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
} catch (e) {
|
|
39
|
+
console.error(e);
|
|
40
|
+
|
|
41
|
+
Messager.instance.error({ message: "网络异常" });
|
|
42
|
+
} finally {
|
|
43
|
+
isVisibleVerify.value = false;
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
msAppClient.userSession!.lockingChangeEvent.on(({ locking: isLocking }) => {
|
|
48
|
+
locking.value = isLocking;
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
return () => {
|
|
52
|
+
if (!unref(locking)) {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const verifyDialogVNode = unref(isVisibleVerify) ? (
|
|
57
|
+
<MKVerifyDialog
|
|
58
|
+
scene="Login"
|
|
59
|
+
visible={unref(isVisibleVerify)}
|
|
60
|
+
onUpdate:visible={(v) => (isVisibleVerify.value = v as boolean)}
|
|
61
|
+
onVerifySuccessful={handleVerifySuccess}
|
|
62
|
+
/>
|
|
63
|
+
) : null;
|
|
64
|
+
|
|
65
|
+
return (
|
|
66
|
+
<div class="mk-lock">
|
|
67
|
+
<div class="mk-lock__overlay mk-overlay"></div>
|
|
68
|
+
|
|
69
|
+
<div class="mk-lock-entry">
|
|
70
|
+
<div class="mk-lock-entry__user-info"></div>
|
|
71
|
+
<ElInput
|
|
72
|
+
type="password"
|
|
73
|
+
placeholder="请输入用户密码"
|
|
74
|
+
modelValue={unref(password)}
|
|
75
|
+
onUpdate:modelValue={(v: string) => (password.value = v)}
|
|
76
|
+
/>
|
|
77
|
+
<div class="mk-lock-entry__footer">
|
|
78
|
+
<ElButton type="primary" link onClick={handleToLogin}>
|
|
79
|
+
返回登陆
|
|
80
|
+
</ElButton>
|
|
81
|
+
<ElButton type="primary" link onClick={handleUnlock}>
|
|
82
|
+
进入系统
|
|
83
|
+
</ElButton>
|
|
84
|
+
</div>
|
|
85
|
+
</div>
|
|
86
|
+
|
|
87
|
+
{verifyDialogVNode}
|
|
88
|
+
</div>
|
|
89
|
+
);
|
|
90
|
+
};
|
|
91
|
+
},
|
|
92
|
+
});
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { computed, defineComponent, unref } from "vue";
|
|
2
|
+
import { ElTooltip } from "element-plus";
|
|
3
|
+
import { MKSvgIcon } from "@maketribe/dm-ui";
|
|
4
|
+
import { MSAppClient } from "../../../../MSAppClient";
|
|
5
|
+
import { MenuNode } from "../../../../menu";
|
|
6
|
+
|
|
7
|
+
export const MKBar = defineComponent({
|
|
8
|
+
name: "MKBar",
|
|
9
|
+
props: {
|
|
10
|
+
barItem: {
|
|
11
|
+
type: MenuNode,
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
setup(props) {
|
|
15
|
+
const msAppClient = MSAppClient.instance!;
|
|
16
|
+
const userSession = msAppClient.userSession!;
|
|
17
|
+
const menu = userSession.menu;
|
|
18
|
+
const router = userSession.router;
|
|
19
|
+
|
|
20
|
+
const currentBarItem = computed(() => props.barItem);
|
|
21
|
+
|
|
22
|
+
const handleBarItemClick = (barItem: MenuNode) => {
|
|
23
|
+
let target: MenuNode | null = barItem;
|
|
24
|
+
|
|
25
|
+
if (barItem.children.length) {
|
|
26
|
+
target = menu.getFirstLeafMenuNode(barItem.children);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
if (!target) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if (target?.route) {
|
|
34
|
+
router.changeRoute({ name: target.route.name });
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
return () => {
|
|
39
|
+
const barItems = menu.rootMenus.map((rootMenu) => (
|
|
40
|
+
<div
|
|
41
|
+
class={[
|
|
42
|
+
"mk-bar__item",
|
|
43
|
+
rootMenu.children.length ? "has-children" : "",
|
|
44
|
+
unref(currentBarItem)?.id === rootMenu.id ? "is-active" : "",
|
|
45
|
+
]}
|
|
46
|
+
>
|
|
47
|
+
<ElTooltip content={rootMenu.title} placement="right">
|
|
48
|
+
<div
|
|
49
|
+
class="mk-bar__item-button"
|
|
50
|
+
onClick={() => handleBarItemClick(rootMenu)}
|
|
51
|
+
>
|
|
52
|
+
<MKSvgIcon iconClass={rootMenu.iconName} />
|
|
53
|
+
</div>
|
|
54
|
+
</ElTooltip>
|
|
55
|
+
</div>
|
|
56
|
+
));
|
|
57
|
+
|
|
58
|
+
return (
|
|
59
|
+
<div class="mk-bar">
|
|
60
|
+
<div class="mk-bar__logo">
|
|
61
|
+
<div
|
|
62
|
+
class="mk-logo"
|
|
63
|
+
style={{ backgroundImage: `url(${msAppClient.logo})` }}
|
|
64
|
+
/>
|
|
65
|
+
</div>
|
|
66
|
+
|
|
67
|
+
<div class="mk-bar__items">{barItems}</div>
|
|
68
|
+
|
|
69
|
+
<div class="mk-bar__footer">
|
|
70
|
+
<MKSvgIcon class="mk-bar__setting" iconClass="Setting" />
|
|
71
|
+
</div>
|
|
72
|
+
</div>
|
|
73
|
+
);
|
|
74
|
+
};
|
|
75
|
+
},
|
|
76
|
+
});
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { computed, defineComponent, ref, unref } from "vue";
|
|
2
|
+
import { ElMenu } from "element-plus";
|
|
3
|
+
import { MenuNode } from "../../../../menu";
|
|
4
|
+
import { MSAppClient } from "../../../../MSAppClient";
|
|
5
|
+
import MKAsideMenuItem from "./menu-item";
|
|
6
|
+
|
|
7
|
+
export const MKMenu = defineComponent({
|
|
8
|
+
name: "MKMenu",
|
|
9
|
+
props: {
|
|
10
|
+
barItem: {
|
|
11
|
+
type: MenuNode,
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
setup(props) {
|
|
15
|
+
const msAppClient = MSAppClient.instance!;
|
|
16
|
+
const userSession = msAppClient.userSession!;
|
|
17
|
+
const menu = userSession.menu;
|
|
18
|
+
const router = userSession.router;
|
|
19
|
+
|
|
20
|
+
const currentMenuNode = ref(menu.getCurrentMenuNode());
|
|
21
|
+
|
|
22
|
+
const barItem = computed(() => props.barItem);
|
|
23
|
+
|
|
24
|
+
const handleSelect = async (id: string) => {
|
|
25
|
+
const item = menu.findMenuNodeByID(id);
|
|
26
|
+
|
|
27
|
+
if (item?.route) {
|
|
28
|
+
router.changeRoute({ name: item.route.name });
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
menu.currentMenuChangeEvent.on(({ currentMenu }) => {
|
|
33
|
+
currentMenuNode.value = currentMenu;
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
return () => {
|
|
37
|
+
if (!unref(barItem)?.children.length) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
const menuItems = unref(barItem)!.children.map((menu) => (
|
|
42
|
+
<MKAsideMenuItem class="mk-menu-item" node={menu} key={menu.id} />
|
|
43
|
+
));
|
|
44
|
+
|
|
45
|
+
return (
|
|
46
|
+
<div class="mk-menu">
|
|
47
|
+
<ElMenu
|
|
48
|
+
defaultActive={unref(currentMenuNode)?.id ?? ""}
|
|
49
|
+
onSelect={handleSelect}
|
|
50
|
+
>
|
|
51
|
+
{menuItems}
|
|
52
|
+
</ElMenu>
|
|
53
|
+
</div>
|
|
54
|
+
);
|
|
55
|
+
};
|
|
56
|
+
},
|
|
57
|
+
});
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { Fragment, computed, defineComponent } from "vue";
|
|
2
|
+
import { ElMenuItem, ElSubMenu } from "element-plus";
|
|
3
|
+
import { MKSvgIcon } from "@maketribe/dm-ui";
|
|
4
|
+
import { MenuNode } from "../../../../menu";
|
|
5
|
+
|
|
6
|
+
const MKAsideMenuItem = defineComponent({
|
|
7
|
+
name: "MKMenuItem",
|
|
8
|
+
props: {
|
|
9
|
+
node: {
|
|
10
|
+
type: MenuNode,
|
|
11
|
+
required: true,
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
setup(props) {
|
|
15
|
+
return () => {
|
|
16
|
+
if (!props.node.children.length) {
|
|
17
|
+
const icon = props.node.iconName ? (
|
|
18
|
+
<MKSvgIcon
|
|
19
|
+
class="mk-menu-item__icon"
|
|
20
|
+
iconClass={props.node.iconName}
|
|
21
|
+
/>
|
|
22
|
+
) : null;
|
|
23
|
+
|
|
24
|
+
return (
|
|
25
|
+
<ElMenuItem index={props.node.id}>
|
|
26
|
+
{icon}
|
|
27
|
+
{props.node.title}
|
|
28
|
+
</ElMenuItem>
|
|
29
|
+
);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const items = props.node.children.map((node) => (
|
|
33
|
+
<MKAsideMenuItem node={node} key={node.id} />
|
|
34
|
+
));
|
|
35
|
+
|
|
36
|
+
return (
|
|
37
|
+
<ElSubMenu
|
|
38
|
+
index={props.node.id}
|
|
39
|
+
v-slots={{
|
|
40
|
+
title: () => {
|
|
41
|
+
const icon = props.node.iconName ? (
|
|
42
|
+
<MKSvgIcon
|
|
43
|
+
class="mk-menu-item__icon"
|
|
44
|
+
iconClass={props.node.iconName}
|
|
45
|
+
/>
|
|
46
|
+
) : null;
|
|
47
|
+
return (
|
|
48
|
+
<Fragment>
|
|
49
|
+
{icon}
|
|
50
|
+
{props.node.title}
|
|
51
|
+
</Fragment>
|
|
52
|
+
);
|
|
53
|
+
},
|
|
54
|
+
}}
|
|
55
|
+
>
|
|
56
|
+
{items}
|
|
57
|
+
</ElSubMenu>
|
|
58
|
+
);
|
|
59
|
+
};
|
|
60
|
+
},
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
export default MKAsideMenuItem;
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Ref, defineComponent, ref, unref } from "vue";
|
|
2
|
+
import { RouterView } from "vue-router";
|
|
3
|
+
import { ElAside, ElContainer, ElHeader, ElMain } from "element-plus";
|
|
4
|
+
import { MKSystemProvider } from "../../components";
|
|
5
|
+
import { MKBar, MKMenu } from "./components";
|
|
6
|
+
import { MenuNode } from "../../menu";
|
|
7
|
+
import { MSAppClient } from "../../MSAppClient";
|
|
8
|
+
|
|
9
|
+
function includeMenuNode(rootMenuNode: MenuNode, menuNode: MenuNode) {
|
|
10
|
+
let list = [rootMenuNode];
|
|
11
|
+
|
|
12
|
+
for (let i = 0; i < list.length; i++) {
|
|
13
|
+
const item = list[i];
|
|
14
|
+
|
|
15
|
+
if (item.id === menuNode.id) {
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
list = list.concat(item.children);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export const MKLayoutDefault = defineComponent({
|
|
26
|
+
name: "MKLayoutDefault",
|
|
27
|
+
setup() {
|
|
28
|
+
const msAppClient = MSAppClient.instance!;
|
|
29
|
+
const userSession = msAppClient.userSession!;
|
|
30
|
+
const menu = userSession.menu;
|
|
31
|
+
|
|
32
|
+
const currentBarItem: Ref<MenuNode | null> = ref(null);
|
|
33
|
+
|
|
34
|
+
handleCurrentMenuChange();
|
|
35
|
+
menu.currentMenuChangeEvent.on(handleCurrentMenuChange);
|
|
36
|
+
|
|
37
|
+
function handleCurrentMenuChange() {
|
|
38
|
+
currentBarItem.value = menu.getCurrentMenuNode()
|
|
39
|
+
? menu.rootMenus.find((item) =>
|
|
40
|
+
includeMenuNode(item, menu.getCurrentMenuNode()!)
|
|
41
|
+
) ?? null
|
|
42
|
+
: null;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return () => {
|
|
46
|
+
return (
|
|
47
|
+
<MKSystemProvider>
|
|
48
|
+
<ElContainer class="mk-layout-default">
|
|
49
|
+
<ElAside>
|
|
50
|
+
<MKBar barItem={unref(currentBarItem) as MenuNode} />
|
|
51
|
+
</ElAside>
|
|
52
|
+
<ElMain>
|
|
53
|
+
<ElContainer class="mk-layout-default__body">
|
|
54
|
+
<ElHeader class="mk-layout-default__header"></ElHeader>
|
|
55
|
+
<ElMain>
|
|
56
|
+
<ElContainer class="mk-layout-default__main">
|
|
57
|
+
<ElAside class="mk-layout-default__menu">
|
|
58
|
+
<MKMenu barItem={unref(currentBarItem) as MenuNode} />
|
|
59
|
+
</ElAside>
|
|
60
|
+
<ElMain>
|
|
61
|
+
<RouterView />
|
|
62
|
+
</ElMain>
|
|
63
|
+
</ElContainer>
|
|
64
|
+
</ElMain>
|
|
65
|
+
</ElContainer>
|
|
66
|
+
</ElMain>
|
|
67
|
+
</ElContainer>
|
|
68
|
+
</MKSystemProvider>
|
|
69
|
+
);
|
|
70
|
+
};
|
|
71
|
+
},
|
|
72
|
+
});
|