@maketribe/ms-app 3.0.1 → 3.0.4
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 +31 -0
- package/dist/cjs/page/index.vue2.js.map +1 -0
- package/dist/cjs/router-middleware/auth.js +2 -6
- 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 +29 -0
- package/dist/esm/page/index.vue2.js.map +1 -0
- package/dist/esm/router-middleware/auth.js +2 -6
- 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 +1 -3
- 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/index.scss +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 +68 -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 +17 -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,66 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<ElPopover
|
|
3
|
+
v-model:visible="visible"
|
|
4
|
+
title="添加素材分组"
|
|
5
|
+
effect="light"
|
|
6
|
+
placement="right"
|
|
7
|
+
trigger="click"
|
|
8
|
+
width="320"
|
|
9
|
+
>
|
|
10
|
+
<template #reference>
|
|
11
|
+
<slot></slot>
|
|
12
|
+
</template>
|
|
13
|
+
|
|
14
|
+
<div>
|
|
15
|
+
<MKDataForm :data-form="materialGroupForm" v-loading="loading" />
|
|
16
|
+
<div style=" display: flex; align-items: center; justify-content: space-between;">
|
|
17
|
+
<ElButton type="primary" :loading="!allowSubmit" @click="handleSaveClick" >
|
|
18
|
+
保存
|
|
19
|
+
</ElButton>
|
|
20
|
+
<ElButton @click="handleCancelClick">取消</ElButton>
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
23
|
+
</ElPopover>
|
|
24
|
+
</template>
|
|
25
|
+
|
|
26
|
+
<script setup lang="ts">
|
|
27
|
+
import { Ref, computed, ref, unref } from "vue";
|
|
28
|
+
import { ElMessage } from "element-plus";
|
|
29
|
+
import { MKDataForm } from "@maketribe/dm-ui";
|
|
30
|
+
import { MaterialGroupForm, MaterialMan } from "../../dataview";
|
|
31
|
+
|
|
32
|
+
const props = defineProps({
|
|
33
|
+
materialMan: {
|
|
34
|
+
type: MaterialMan,
|
|
35
|
+
required: true,
|
|
36
|
+
},
|
|
37
|
+
materialGroupForm: {
|
|
38
|
+
type: MaterialGroupForm,
|
|
39
|
+
required: true,
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
const visible: Ref<boolean> = ref(false);
|
|
44
|
+
|
|
45
|
+
const loading = computed(() => props.materialGroupForm.loading);
|
|
46
|
+
const allowSubmit = computed(
|
|
47
|
+
() => !!(unref(loading) || !props.materialGroupForm.allowSubmit)
|
|
48
|
+
);
|
|
49
|
+
|
|
50
|
+
const handleSaveClick = async () => {
|
|
51
|
+
const result = await props.materialGroupForm.submit();
|
|
52
|
+
|
|
53
|
+
if (result.data.code !== 200) {
|
|
54
|
+
ElMessage.error(result.data.msg);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
props.materialMan.materialGroupTable.load();
|
|
59
|
+
|
|
60
|
+
visible.value = false;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
const handleCancelClick = () => {
|
|
64
|
+
visible.value = false;
|
|
65
|
+
};
|
|
66
|
+
</script>
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="mk-material-group" v-loading="loading">
|
|
3
|
+
<div class="mk-material-group__header">
|
|
4
|
+
<div class="mk-material-group__header-title">素材分组</div>
|
|
5
|
+
<MaterialGroupFromPopper
|
|
6
|
+
:material-man="materialMan"
|
|
7
|
+
:material-group-form="materialGroupForm"
|
|
8
|
+
>
|
|
9
|
+
<ElButton
|
|
10
|
+
@click="handleAddClick"
|
|
11
|
+
:icon="Plus"
|
|
12
|
+
size="small"
|
|
13
|
+
type="primary"
|
|
14
|
+
>
|
|
15
|
+
</ElButton>
|
|
16
|
+
</MaterialGroupFromPopper>
|
|
17
|
+
</div>
|
|
18
|
+
<div class="mk-material-group__main">
|
|
19
|
+
<ElScrollbar height="100%">
|
|
20
|
+
<MKDataTree
|
|
21
|
+
:auto-load="false"
|
|
22
|
+
:data-table="materialGroupTable"
|
|
23
|
+
:props="{ label: 'desc', children: 'children' }"
|
|
24
|
+
highlight-current
|
|
25
|
+
@nodeClick="handleNodeClick"
|
|
26
|
+
>
|
|
27
|
+
<template #node-tools="{ data }">
|
|
28
|
+
<div class="mk-material-group__tools" @click.stop>
|
|
29
|
+
<ElTooltip content="添加">
|
|
30
|
+
<span class="mk-material-group__tools-item">
|
|
31
|
+
<MaterialGroupFromPopper
|
|
32
|
+
:material-man="materialMan"
|
|
33
|
+
:material-group-form="materialGroupForm"
|
|
34
|
+
>
|
|
35
|
+
<ElIcon @click="handleAddClick(data)"><Plus /></ElIcon>
|
|
36
|
+
</MaterialGroupFromPopper>
|
|
37
|
+
</span>
|
|
38
|
+
</ElTooltip>
|
|
39
|
+
<ElTooltip content="编辑">
|
|
40
|
+
<span class="mk-material-group__tools-item">
|
|
41
|
+
<MaterialGroupFromPopper
|
|
42
|
+
:material-man="materialMan"
|
|
43
|
+
:material-group-form="materialGroupForm"
|
|
44
|
+
>
|
|
45
|
+
<ElIcon @click="handleEditClick(data)"><Edit /></ElIcon>
|
|
46
|
+
</MaterialGroupFromPopper>
|
|
47
|
+
</span>
|
|
48
|
+
</ElTooltip>
|
|
49
|
+
<ElTooltip content="删除">
|
|
50
|
+
<span class="mk-material-group__tools-item">
|
|
51
|
+
<ElIcon @click="handleDeleteClick(data)"><Delete /></ElIcon>
|
|
52
|
+
</span>
|
|
53
|
+
</ElTooltip>
|
|
54
|
+
</div>
|
|
55
|
+
</template>
|
|
56
|
+
</MKDataTree>
|
|
57
|
+
</ElScrollbar>
|
|
58
|
+
</div>
|
|
59
|
+
<div class="mk-material-group__footer"></div>
|
|
60
|
+
</div>
|
|
61
|
+
</template>
|
|
62
|
+
|
|
63
|
+
<script setup lang="ts">
|
|
64
|
+
import { computed, nextTick, reactive } from "vue";
|
|
65
|
+
import { ElMessage, ElMessageBox } from "element-plus";
|
|
66
|
+
import { Plus, Edit, Delete } from "@element-plus/icons-vue";
|
|
67
|
+
import {
|
|
68
|
+
MaterialMan,
|
|
69
|
+
MaterialGroupNode,
|
|
70
|
+
MaterialGroupForm,
|
|
71
|
+
Material,
|
|
72
|
+
} from "../../dataview";
|
|
73
|
+
import { MKDataTree, useI18n } from "@maketribe/dm-ui";
|
|
74
|
+
import MaterialGroupFromPopper from "./material-group-form-popover.vue";
|
|
75
|
+
|
|
76
|
+
const props = defineProps({
|
|
77
|
+
materialMan: {
|
|
78
|
+
type: MaterialMan,
|
|
79
|
+
required: true,
|
|
80
|
+
},
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
const i18n = useI18n()!;
|
|
84
|
+
|
|
85
|
+
const materialGroupForm = reactive(
|
|
86
|
+
new MaterialGroupForm()
|
|
87
|
+
) as MaterialGroupForm;
|
|
88
|
+
|
|
89
|
+
(window as any).materialGroupForm = materialGroupForm;
|
|
90
|
+
|
|
91
|
+
const materialGroupTable = computed(() => props.materialMan.materialGroupTable);
|
|
92
|
+
|
|
93
|
+
const loading = computed(() => props.materialMan.materialGroupTable.loading);
|
|
94
|
+
|
|
95
|
+
const handleNodeClick = (item: MaterialGroupNode) => {
|
|
96
|
+
if (!item.children.length) {
|
|
97
|
+
props.materialMan.setCurrentMaterialGroupId(item.id);
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
const handleAddClick = async (parent?: MaterialGroupNode) => {
|
|
102
|
+
materialGroupForm.addRecord();
|
|
103
|
+
|
|
104
|
+
await nextTick();
|
|
105
|
+
|
|
106
|
+
materialGroupForm.setData({
|
|
107
|
+
...materialGroupForm.data,
|
|
108
|
+
parentGroupId: parent?.id || null,
|
|
109
|
+
} as MaterialGroupNode);
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
const handleEditClick = (item: MaterialGroupNode) => {
|
|
113
|
+
materialGroupForm.editRecord(item);
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
const handleDeleteClick = async (item: MaterialGroupNode) => {
|
|
117
|
+
const isConfirm = await ElMessageBox.confirm(
|
|
118
|
+
i18n.translate("mk.dataTablePage.deleteMessage"),
|
|
119
|
+
i18n.translate("mk.dataTablePage.deleteTitle"),
|
|
120
|
+
{ type: "warning" }
|
|
121
|
+
).then(
|
|
122
|
+
() => true,
|
|
123
|
+
() => false
|
|
124
|
+
);
|
|
125
|
+
|
|
126
|
+
if (!isConfirm) {
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
const result =
|
|
131
|
+
await props.materialMan.materialGroupTable.deleteRecordAfterRefresh(item);
|
|
132
|
+
|
|
133
|
+
if (result.data.code !== 200) {
|
|
134
|
+
ElMessage.error(result.data.msg);
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
</script>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<ElCard class="mk-material-item" shadow="never">
|
|
3
|
+
<div class="mk-material-item__preview">
|
|
4
|
+
<MaterialComponent :src="material.path" />
|
|
5
|
+
</div>
|
|
6
|
+
<div class="mk-material-item__title">{{ material.desc }}</div>
|
|
7
|
+
</ElCard>
|
|
8
|
+
</template>
|
|
9
|
+
|
|
10
|
+
<script setup lang="ts">
|
|
11
|
+
import { Material, MaterialTable } from "../../dataview";
|
|
12
|
+
import { computed, toRaw } from "vue";
|
|
13
|
+
|
|
14
|
+
const props = defineProps({
|
|
15
|
+
materialTable: { type: MaterialTable, required: true },
|
|
16
|
+
material: { type: Object, required: true },
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
const MaterialComponent = computed(() => {
|
|
20
|
+
const component =
|
|
21
|
+
props.materialTable.resolveMaterialComponent(props.material as Material) ||
|
|
22
|
+
props.materialTable.materialComponents.resolveComponent("MKFileView")!;
|
|
23
|
+
|
|
24
|
+
return toRaw(component.component);
|
|
25
|
+
});
|
|
26
|
+
</script>
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ExtractPropTypes } from "vue";
|
|
2
|
+
import { buildProps } from "@maketribe/utils";
|
|
3
|
+
import { MaterialMan } from "../../dataview";
|
|
4
|
+
|
|
5
|
+
export const materialListProps = buildProps({
|
|
6
|
+
materialMan: {
|
|
7
|
+
type: MaterialMan,
|
|
8
|
+
required: true,
|
|
9
|
+
},
|
|
10
|
+
selectable: {
|
|
11
|
+
type: Boolean,
|
|
12
|
+
default: false,
|
|
13
|
+
},
|
|
14
|
+
selectedPath: {
|
|
15
|
+
type: String,
|
|
16
|
+
},
|
|
17
|
+
} as const);
|
|
18
|
+
|
|
19
|
+
export type MaterialListProps = ExtractPropTypes<typeof materialListProps>;
|
|
20
|
+
|
|
21
|
+
export const materialListEmits = {
|
|
22
|
+
"update:selected-path": (path: any) => typeof path === "string",
|
|
23
|
+
};
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="mk-material-list">
|
|
3
|
+
<MaterialGroup :material-man="materialMan" />
|
|
4
|
+
<div class="mk-material-list__main" v-loading="loading">
|
|
5
|
+
<div class="mk-material-list__header">
|
|
6
|
+
<div class="mk-material-list__header-left">
|
|
7
|
+
<div class="mk-material-list__types">
|
|
8
|
+
<div
|
|
9
|
+
v-for="item of materialTypes"
|
|
10
|
+
:key="item.value"
|
|
11
|
+
:class="[
|
|
12
|
+
'mk-material-list__type',
|
|
13
|
+
currentMaterialTypeId === item.value ? 'is-active' : '',
|
|
14
|
+
]"
|
|
15
|
+
@click="handleMaterialTypeClick(item)"
|
|
16
|
+
>
|
|
17
|
+
{{ item.label }}
|
|
18
|
+
</div>
|
|
19
|
+
</div>
|
|
20
|
+
</div>
|
|
21
|
+
<div class="mk-material-list__header-right">
|
|
22
|
+
<template v-if="currentMaterialType">
|
|
23
|
+
{{ currentMaterialType.label }}大小不超过
|
|
24
|
+
{{ currentMaterialType.limit }} M
|
|
25
|
+
<MKUploadFile
|
|
26
|
+
:upload="materialMan.upload"
|
|
27
|
+
:accept="currentMaterialType.accept"
|
|
28
|
+
>
|
|
29
|
+
<ElButton type="primary">
|
|
30
|
+
选择{{ currentMaterialType.label }}
|
|
31
|
+
</ElButton>
|
|
32
|
+
</MKUploadFile>
|
|
33
|
+
</template>
|
|
34
|
+
</div>
|
|
35
|
+
</div>
|
|
36
|
+
|
|
37
|
+
<div class="mk-material-list__body">
|
|
38
|
+
<ElScrollbar height="100%">
|
|
39
|
+
<div class="mk-material-list__wrapper">
|
|
40
|
+
<MaterialItem
|
|
41
|
+
v-for="material of materialList"
|
|
42
|
+
:key="material.id"
|
|
43
|
+
:class="[
|
|
44
|
+
'mk-material-list__item',
|
|
45
|
+
value === material.path ? 'is-current' : '',
|
|
46
|
+
]"
|
|
47
|
+
:material-table="materialTable"
|
|
48
|
+
:material="material"
|
|
49
|
+
@click.capture="handleMaterialItemClick($event, material)"
|
|
50
|
+
/>
|
|
51
|
+
</div>
|
|
52
|
+
</ElScrollbar>
|
|
53
|
+
<div class="mk-material-list__footer">
|
|
54
|
+
<ElPagination
|
|
55
|
+
class="mk-data-table-pagination"
|
|
56
|
+
:background="true"
|
|
57
|
+
:pageSizes="unref(pageSizes)"
|
|
58
|
+
:currentPage="unref(currentPage)"
|
|
59
|
+
:pageSize="unref(pageSize)"
|
|
60
|
+
:total="unref(totalRecCount)"
|
|
61
|
+
layout="prev, pager, next"
|
|
62
|
+
@current-change="changeCurrentPage"
|
|
63
|
+
@size-change="changePageSize"
|
|
64
|
+
/>
|
|
65
|
+
</div>
|
|
66
|
+
</div>
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
69
|
+
</template>
|
|
70
|
+
|
|
71
|
+
<script setup lang="ts">
|
|
72
|
+
import { computed, unref, watch } from "vue";
|
|
73
|
+
import { ElPagination } from "element-plus";
|
|
74
|
+
import { MKUploadFile } from "@maketribe/dm-ui";
|
|
75
|
+
import { MaterialType, Material } from "../../dataview";
|
|
76
|
+
import MaterialGroup from "./material-group.vue";
|
|
77
|
+
import MaterialItem from "./material-item.vue";
|
|
78
|
+
import { materialListProps, materialListEmits } from "./material-list-options";
|
|
79
|
+
|
|
80
|
+
defineOptions({ name: "MKMaterialList" });
|
|
81
|
+
|
|
82
|
+
const props = defineProps(materialListProps);
|
|
83
|
+
|
|
84
|
+
const emit = defineEmits(materialListEmits);
|
|
85
|
+
|
|
86
|
+
props.materialMan.init();
|
|
87
|
+
|
|
88
|
+
const loading = computed(() => props.materialMan.materialTable.loading);
|
|
89
|
+
|
|
90
|
+
const value = computed({
|
|
91
|
+
get: () => {
|
|
92
|
+
return props.selectable ? props.selectedPath ?? null : null;
|
|
93
|
+
},
|
|
94
|
+
set: (v) => {
|
|
95
|
+
emit("update:selected-path", v);
|
|
96
|
+
},
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
const materialTable = computed(() => props.materialMan.materialTable);
|
|
100
|
+
const pageSizes = computed(() => unref(materialTable).pageSizes);
|
|
101
|
+
const currentPage = computed({
|
|
102
|
+
get: () => unref(materialTable).currentPage,
|
|
103
|
+
set: (v) => {
|
|
104
|
+
unref(materialTable).pageTo(v);
|
|
105
|
+
},
|
|
106
|
+
});
|
|
107
|
+
const pageSize = computed({
|
|
108
|
+
get: () => unref(materialTable).pageSize,
|
|
109
|
+
set: (v) => {
|
|
110
|
+
unref(materialTable).setPageSize(v);
|
|
111
|
+
},
|
|
112
|
+
});
|
|
113
|
+
const totalRecCount = computed(() => unref(materialTable).totalRecCount);
|
|
114
|
+
const changeCurrentPage = (v: number) => {
|
|
115
|
+
currentPage.value = v;
|
|
116
|
+
};
|
|
117
|
+
const changePageSize = (v: number) => {
|
|
118
|
+
pageSize.value = v;
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
const materialList = computed(() => unref(materialTable).getList());
|
|
124
|
+
const materialTypes = computed(() => props.materialMan.materialTypes);
|
|
125
|
+
const currentMaterialTypeId = computed(
|
|
126
|
+
() => props.materialMan.currentMaterialTypeId
|
|
127
|
+
);
|
|
128
|
+
|
|
129
|
+
const currentMaterialType = computed(
|
|
130
|
+
() => props.materialMan.currentMaterialType
|
|
131
|
+
);
|
|
132
|
+
|
|
133
|
+
const handleMaterialTypeClick = (materialType: MaterialType) => {
|
|
134
|
+
if (materialType.value === unref(currentMaterialTypeId)) {
|
|
135
|
+
return;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
props.materialMan.setCurrentMaterialTypeId(materialType.value);
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
const handleMaterialItemClick = (event: MouseEvent, material: Material) => {
|
|
142
|
+
if (!props.selectable) {
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
event.preventDefault();
|
|
147
|
+
event.stopPropagation();
|
|
148
|
+
|
|
149
|
+
value.value = material.path;
|
|
150
|
+
};
|
|
151
|
+
</script>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { App } from "vue";
|
|
2
|
+
import { SFCWithInstall } from "@maketribe/utils";
|
|
3
|
+
import MaterialSelect from "./material-select-api";
|
|
4
|
+
|
|
5
|
+
const _MaterialSelect = MaterialSelect as SFCWithInstall<typeof MaterialSelect>;
|
|
6
|
+
|
|
7
|
+
_MaterialSelect.install = (app: App) => {
|
|
8
|
+
_MaterialSelect._context = app._context;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export default _MaterialSelect;
|
|
12
|
+
export const MKMaterialSelect = _MaterialSelect;
|
|
13
|
+
|
|
14
|
+
export * from "./material-select-type";
|
|
15
|
+
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { AppContext, createVNode, render } from "vue";
|
|
2
|
+
import MaterialSelectConstructor from "./material-select";
|
|
3
|
+
import type {
|
|
4
|
+
IMKMaterialSelect,
|
|
5
|
+
MKMaterialSelectOptions,
|
|
6
|
+
} from "./material-select-type";
|
|
7
|
+
|
|
8
|
+
const initInstance = (
|
|
9
|
+
props: any,
|
|
10
|
+
container: HTMLElement,
|
|
11
|
+
appContext: AppContext | null = null
|
|
12
|
+
) => {
|
|
13
|
+
const vnode = createVNode(MaterialSelectConstructor, props);
|
|
14
|
+
|
|
15
|
+
vnode.appContext = appContext;
|
|
16
|
+
|
|
17
|
+
render(vnode, container);
|
|
18
|
+
|
|
19
|
+
return vnode.component;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
const showDialog = (options: any, appContext?: AppContext | null) => {
|
|
23
|
+
const container = document.createElement("div");
|
|
24
|
+
|
|
25
|
+
const instance = initInstance(options, container, appContext)!;
|
|
26
|
+
|
|
27
|
+
return instance.proxy;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
async function MaterialSelect(
|
|
31
|
+
options?: MKMaterialSelectOptions,
|
|
32
|
+
appContext?: AppContext
|
|
33
|
+
) {
|
|
34
|
+
return new Promise((resolve, reject) => {
|
|
35
|
+
showDialog(
|
|
36
|
+
{
|
|
37
|
+
...options,
|
|
38
|
+
onSelect: resolve,
|
|
39
|
+
cancel: reject,
|
|
40
|
+
},
|
|
41
|
+
appContext ?? (MaterialSelect as unknown as IMKMaterialSelect)._context
|
|
42
|
+
);
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
(MaterialSelect as unknown as IMKMaterialSelect)._context = null;
|
|
47
|
+
|
|
48
|
+
export default MaterialSelect as unknown as IMKMaterialSelect;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ExtractPropTypes } from "vue";
|
|
2
|
+
import { MaterialMan } from "../../dataview";
|
|
3
|
+
import { buildProps } from "@maketribe/utils";
|
|
4
|
+
|
|
5
|
+
export const materialSelectProps = buildProps({
|
|
6
|
+
materialMan: { type: MaterialMan },
|
|
7
|
+
modelValue: { type: String },
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
export type MaterialSelectProps = ExtractPropTypes<typeof materialSelectProps>;
|
|
11
|
+
|
|
12
|
+
export const materialSelectEmits = {
|
|
13
|
+
"update:model-value": (path: any) => typeof path === "string",
|
|
14
|
+
select: (path: any) => typeof path === "string",
|
|
15
|
+
cancel: () => true,
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export const MaterialSelectEmits = typeof materialSelectEmits;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { MaterialMan } from "../../dataview";
|
|
2
|
+
import type { AppContext } from "vue";
|
|
3
|
+
|
|
4
|
+
export interface MKMaterialSelectOptions {
|
|
5
|
+
materialMan?: MaterialMan;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export interface IMKMaterialSelect {
|
|
9
|
+
(options?: MKMaterialSelectOptions, appContext?: AppContext): Promise<string>;
|
|
10
|
+
_context: AppContext | null;
|
|
11
|
+
}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Ref,
|
|
3
|
+
computed,
|
|
4
|
+
defineComponent,
|
|
5
|
+
reactive,
|
|
6
|
+
ref,
|
|
7
|
+
unref,
|
|
8
|
+
watch,
|
|
9
|
+
} from "vue";
|
|
10
|
+
import { ElDialog, ElButton } from "element-plus";
|
|
11
|
+
import MaterialList from "../material-list/material-list.vue";
|
|
12
|
+
import {
|
|
13
|
+
materialSelectEmits,
|
|
14
|
+
materialSelectProps,
|
|
15
|
+
} from "./material-select-options";
|
|
16
|
+
import { MaterialComponents } from "../../MaterialComponents";
|
|
17
|
+
import { MaterialMan } from "../../dataview";
|
|
18
|
+
import { useHttpRequest } from "../../composables/use-http-request";
|
|
19
|
+
|
|
20
|
+
export default defineComponent({
|
|
21
|
+
name: "MKMaterialSelect",
|
|
22
|
+
props: materialSelectProps,
|
|
23
|
+
emits: materialSelectEmits,
|
|
24
|
+
setup(props, { emit }) {
|
|
25
|
+
|
|
26
|
+
const materialMan =
|
|
27
|
+
props.materialMan ??
|
|
28
|
+
(reactive(
|
|
29
|
+
new MaterialMan({
|
|
30
|
+
components: new MaterialComponents(),
|
|
31
|
+
httpRequest: useHttpRequest() || undefined,
|
|
32
|
+
})
|
|
33
|
+
) as MaterialMan);
|
|
34
|
+
|
|
35
|
+
const selectedPath = ref("");
|
|
36
|
+
const visible: Ref<boolean> = ref(true);
|
|
37
|
+
|
|
38
|
+
watch(
|
|
39
|
+
computed(() => props.modelValue),
|
|
40
|
+
(modelValue) => {
|
|
41
|
+
selectedPath.value = modelValue || "";
|
|
42
|
+
},
|
|
43
|
+
{ immediate: true }
|
|
44
|
+
);
|
|
45
|
+
|
|
46
|
+
const handleConfirmClick = () => {
|
|
47
|
+
visible.value = false;
|
|
48
|
+
emit("update:model-value", unref(selectedPath));
|
|
49
|
+
emit("select", unref(selectedPath));
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
const handleCancelClick = () => {
|
|
53
|
+
visible.value = false;
|
|
54
|
+
emit("cancel");
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
return () => {
|
|
58
|
+
return (
|
|
59
|
+
<ElDialog
|
|
60
|
+
width="70%"
|
|
61
|
+
modelValue={unref(visible)}
|
|
62
|
+
onUpdate:modelValue={(v: boolean) => {
|
|
63
|
+
visible.value = v;
|
|
64
|
+
}}
|
|
65
|
+
destroyOnClose
|
|
66
|
+
appendToBody
|
|
67
|
+
showClose={false}
|
|
68
|
+
modal-class="mk-material-select"
|
|
69
|
+
v-slots={{
|
|
70
|
+
footer: () => {
|
|
71
|
+
return (
|
|
72
|
+
<span class="mk-material-select__footer">
|
|
73
|
+
<ElButton type="primary" onClick={handleConfirmClick}>
|
|
74
|
+
确定
|
|
75
|
+
</ElButton>
|
|
76
|
+
<ElButton onClick={handleCancelClick}>取消</ElButton>
|
|
77
|
+
</span>
|
|
78
|
+
);
|
|
79
|
+
},
|
|
80
|
+
}}
|
|
81
|
+
>
|
|
82
|
+
<MaterialList
|
|
83
|
+
selectedPath={unref(selectedPath)}
|
|
84
|
+
onUpdate:selected-path={(v: string) => {
|
|
85
|
+
selectedPath.value = v;
|
|
86
|
+
}}
|
|
87
|
+
class="mk-material-select__list"
|
|
88
|
+
materialMan={materialMan}
|
|
89
|
+
selectable={true}
|
|
90
|
+
/>
|
|
91
|
+
</ElDialog>
|
|
92
|
+
);
|
|
93
|
+
};
|
|
94
|
+
},
|
|
95
|
+
});
|