@maketribe/ms-app 3.2.10 → 3.2.11
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/components/abstract/abstract-select/abstract-select-options.js.map +1 -1
- package/dist/cjs/components/abstract/abstract-select/abstract-select.js.map +1 -1
- package/dist/cjs/components/abstract/abstract-select/index.js.map +1 -1
- package/dist/cjs/components/basic/button/button-options.js.map +1 -1
- package/dist/cjs/components/basic/code-editor/code-editor-options.js.map +1 -1
- package/dist/cjs/components/basic/code-editor/code-editor.js.map +1 -1
- package/dist/cjs/components/basic/code-editor/index.js.map +1 -1
- package/dist/cjs/components/basic/config-provider/config-provider-options.js.map +1 -1
- package/dist/cjs/components/basic/data-select/data-select-options.js.map +1 -1
- package/dist/cjs/components/basic/data-select/data-select.js.map +1 -1
- package/dist/cjs/components/basic/data-table-select/data-table-select-options.js.map +1 -1
- package/dist/cjs/components/basic/data-table-select/data-table-select.js.map +1 -1
- package/dist/cjs/components/basic/data-table-select/index.js.map +1 -1
- package/dist/cjs/components/basic/data-tree-select/index.js.map +1 -1
- package/dist/cjs/components/basic/date-picker/date-picker-options.js.map +1 -1
- package/dist/cjs/components/basic/date-picker/date-picker.js.map +1 -1
- package/dist/cjs/components/basic/date-picker/index.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/editor.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/icon-select/icon-select-options.js.map +1 -1
- package/dist/cjs/components/basic/icon-select/icon-select.js.map +1 -1
- package/dist/cjs/components/basic/icon-select/index.js.map +1 -1
- package/dist/cjs/components/basic/image-cropper/image-cropper-api.js +3 -1
- package/dist/cjs/components/basic/image-cropper/image-cropper-api.js.map +1 -1
- package/dist/cjs/components/basic/image-cropper/image-cropper-content-options.js +2 -0
- package/dist/cjs/components/basic/image-cropper/image-cropper-content-options.js.map +1 -1
- package/dist/cjs/components/basic/image-cropper/image-cropper-content.js +24 -23
- package/dist/cjs/components/basic/image-cropper/image-cropper-content.js.map +1 -1
- package/dist/cjs/components/basic/image-cropper/index.js.map +1 -1
- package/dist/cjs/components/basic/json-editor/json-editor-options.js.map +1 -1
- package/dist/cjs/components/basic/json-editor/json-editor.js.map +1 -1
- package/dist/cjs/components/basic/page-container/index.js.map +1 -1
- package/dist/cjs/components/basic/page-container/page-container.js.map +1 -1
- package/dist/cjs/components/basic/radio/index.js.map +1 -1
- package/dist/cjs/components/basic/radio/radio-options.js.map +1 -1
- package/dist/cjs/components/basic/radio/radio.js.map +1 -1
- package/dist/cjs/components/basic/system-provider/system-provider.js.map +1 -1
- package/dist/cjs/components/basic/upload-file/context/WebFileUploadContext.js.map +1 -1
- package/dist/cjs/components/basic/upload-file/ui/upload-image/upload-image.js +2 -0
- package/dist/cjs/components/basic/upload-file/ui/upload-image/upload-image.js.map +1 -1
- package/dist/cjs/components/business/resource-list/ResourceManager.js.map +1 -1
- package/dist/cjs/components/business/resource-list/index.js.map +1 -1
- package/dist/cjs/components/business/resource-manager/index.js.map +1 -1
- package/dist/cjs/components/business/resource-select/index.js.map +1 -1
- package/dist/cjs/components/business/resource-select/resource-select-api.js.map +1 -1
- package/dist/cjs/components/business/verify-dialog/verify-dialog.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-drawer/data-filter-drawer-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-drawer/data-filter-drawer.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-drawer/index.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-form/components/condition-date/condition-date-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-form/components/condition-date/condition-date.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-form/components/condition-input/condition-input-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-form/components/condition-input/condition-input.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-form/components/condition-number/condition-number-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-form/components/condition-number/condition-number.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-form/components/condition-select/condition-select-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-form/components/condition-select/condition-select.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-form/composables/use-condition.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-form/data-filter-form-item/data-filter-form-item.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-form/data-filter-form-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-form/data-filter-form.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-form/index.js.map +1 -1
- package/dist/cjs/components/data-model/data-filter-form/token.js.map +1 -1
- package/dist/cjs/components/data-model/data-form/components/form-detail/form-detail-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-form/components/form-detail/form-detail.js.map +1 -1
- package/dist/cjs/components/data-model/data-form/composables/use-form-item.js.map +1 -1
- package/dist/cjs/components/data-model/data-form/data-form-item/data-form-item.js.map +1 -1
- package/dist/cjs/components/data-model/data-form/data-form.js.map +1 -1
- package/dist/cjs/components/data-model/data-form/index.js.map +1 -1
- package/dist/cjs/components/data-model/data-form/token.js.map +1 -1
- package/dist/cjs/components/data-model/data-form/views/form/form-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-form/views/form/form.js.map +1 -1
- package/dist/cjs/components/data-model/data-form/views/form-view/form-view.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-action/column-action-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-action/column-action.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-date/column-date.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-icon/column-icon.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-image/column-image-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-json/column-json-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-json/column-json.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-link/column-link-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-object-mapping-text/column-object-mapping-text-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-select/column-select-header.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-select/column-select-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-select/column-select.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-sort/column-sort-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-sort/column-sort.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-sort/index.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-switch/column-switch-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-switch/column-switch.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-tag/column-tag-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-tag/column-tag.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-text/column-text-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-text/column-text.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/header-components/batch-opt/batch-opt.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/header-components/batch-opt/index.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/header-components/table-filter/index.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/header-components/table-filter/table-filter.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/composables/use-query-params.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/data-table-column/data-table-column-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/data-table-column/data-table-column.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/data-table-column/index.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/data-table-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/data-table.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/index.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/token.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/table/table-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/table/table.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/table-tree/table-tree-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/table-tree/table-tree.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/table-view/classify-search/classify-search.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/table-view/header/header.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/table-view/table-view-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/table-view/table-view.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/tree/index.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/tree/tree-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/tree/tree.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/tree-view/tree-view-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/tree-view/tree-view.js.map +1 -1
- package/dist/cjs/components/data-model/data-table-pagination/data-table-pagination-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table-pagination/data-table-pagination.js.map +1 -1
- package/dist/cjs/composables/use-column-component.js.map +1 -1
- package/dist/cjs/composables/use-i18n.js.map +1 -1
- package/dist/cjs/composables/use-single-view.js.map +1 -1
- package/dist/cjs/constants/data-model.js.map +1 -1
- package/dist/cjs/constants/menu.js.map +1 -1
- package/dist/cjs/constants/route.js.map +1 -1
- package/dist/cjs/core/MSAppClient.js.map +1 -1
- package/dist/cjs/core/MkModule.js.map +1 -1
- package/dist/cjs/core/PageManager.js.map +1 -1
- package/dist/cjs/core/Router.js.map +1 -1
- package/dist/cjs/core/UserInfo.js.map +1 -1
- package/dist/cjs/core/UserSession.js.map +1 -1
- package/dist/cjs/core/component/ConfigComponents.js.map +1 -1
- package/dist/cjs/core/component/DataFilterComponents.js.map +1 -1
- package/dist/cjs/core/component/DataTableComponents.js.map +1 -1
- package/dist/cjs/core/component/DataTableHeaderComponents.js.map +1 -1
- package/dist/cjs/core/menu/Menu.js.map +1 -1
- package/dist/cjs/core/menu/MenuNode.js.map +1 -1
- package/dist/cjs/core/tabs/Tab.js.map +1 -1
- package/dist/cjs/define-data-form.js.map +1 -1
- package/dist/cjs/define-data-table.js.map +1 -1
- package/dist/cjs/define-data-tree.js.map +1 -1
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/init-application.js.map +1 -1
- package/dist/cjs/installer.js.map +1 -1
- package/dist/cjs/layouts/components/dialogs/dialogs.js.map +1 -1
- package/dist/cjs/layouts/components/header/index.js.map +1 -1
- package/dist/cjs/message-impl/DialogerImpl.js.map +1 -1
- package/dist/cjs/modules/cms/components/part-tree/index.vue.js +1 -0
- package/dist/cjs/modules/cms/components/part-tree/index.vue.js.map +1 -1
- package/dist/cjs/modules/cms/constants/index.js.map +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +2 -0
- package/dist/cjs/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js.map +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-ad-contents/CmsAdContentsTable.js.map +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-articles/CmsArticlesForm.js +2 -0
- package/dist/cjs/modules/cms/dataviews/cms-articles/CmsArticlesForm.js.map +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js +2 -0
- package/dist/cjs/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js.map +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasTable.js.map +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-parts/CmsPartTree.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-ad/index.vue2.js +2 -1
- package/dist/cjs/modules/cms/pages/cms-ad/index.vue2.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +4 -7
- package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js +2 -0
- package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js +2 -0
- package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-resource/index.vue2.js.map +1 -1
- package/dist/cjs/modules/ms/components/image-select/image-select-api.js +76 -0
- package/dist/cjs/modules/ms/components/image-select/image-select-api.js.map +1 -0
- package/dist/cjs/modules/ms/components/image-select/image-select-panel.js +111 -0
- package/dist/cjs/modules/ms/components/image-select/image-select-panel.js.map +1 -0
- package/dist/cjs/modules/ms/components/image-select/index.js +7 -0
- package/dist/cjs/modules/ms/components/image-select/index.js.map +1 -0
- package/dist/cjs/modules/ms/components/markdown-editor/markdown-editor.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-list/components/file-view/file-view.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-list/components/image-view/image-view.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-list/index.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-list/material-group-form-popover.js +1 -0
- package/dist/cjs/modules/ms/components/material-list/material-group-form-popover.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-list/material-group.js +1 -0
- package/dist/cjs/modules/ms/components/material-list/material-group.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-list/material-item.vue.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-list/material-list-options.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-list/material-list.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-select/index.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-select/material-select-api.js.map +1 -1
- package/dist/cjs/modules/ms/components/rich-text-editor/index.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/log/local-log/LocalLogTree.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-config/MsConfigForm.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-config/MsConfigTable.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-deny-ip-access-list/MsDenyIPAccessListTable.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-ip-white-list/MsIPWhitelistTable.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-material/MsMaterialTable.js +12 -2
- package/dist/cjs/modules/ms/dataviews/ms-material/MsMaterialTable.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-material/ms-material-group/MsMaterialGroupTree.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-member/MsMemberForm.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-member/MsMemberTable.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-member/components/MemberNickNameColumn.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-member-role/MsMemberRoleForm.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-member-role/MsMemberRoleTable.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-menu/MsMenuTable.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-menu/MsMenuTree.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-menu/ms-permission-point/MsPermissionPointDefineForm.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-menu/ms-route/MsRouteForm.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-menu/ms-route/MsRouteTable.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-role/MsRoleForm.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-role/MsRoleTable.js.map +1 -1
- package/dist/cjs/modules/ms/image-upload-context/index.js +55 -0
- package/dist/cjs/modules/ms/image-upload-context/index.js.map +1 -0
- package/dist/cjs/modules/ms/index.js +2 -0
- package/dist/cjs/modules/ms/index.js.map +1 -1
- package/dist/cjs/modules/ms/material-upload-context/MaterialUploadContext.js.map +1 -1
- package/dist/cjs/modules/ms/material-upload-context/material-upload-context-options.js.map +1 -1
- package/dist/cjs/modules/ms/material-upload-context/material-upload-context.js.map +1 -1
- package/dist/cjs/modules/ms/pages/icons/index.vue2.js.map +1 -1
- package/dist/cjs/modules/ms/pages/local-log/index.vue2.js.map +1 -1
- package/dist/cjs/modules/ms/pages/ms-material/index.vue2.js +1 -0
- package/dist/cjs/modules/ms/pages/ms-material/index.vue2.js.map +1 -1
- package/dist/cjs/modules/ms/pages/ms-menu/index.vue2.js +1 -0
- package/dist/cjs/modules/ms/pages/ms-menu/index.vue2.js.map +1 -1
- package/dist/cjs/modules/ms/pages/ms-role/components/aside.vue.js +1 -0
- package/dist/cjs/modules/ms/pages/ms-role/components/aside.vue.js.map +1 -1
- package/dist/cjs/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config-options.js +1 -0
- package/dist/cjs/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config-options.js.map +1 -1
- package/dist/cjs/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config.js.map +1 -1
- package/dist/cjs/modules/ms/pages/ms-role/index.vue2.js +1 -0
- package/dist/cjs/modules/ms/pages/ms-role/index.vue2.js.map +1 -1
- package/dist/cjs/page/index/404.vue.js.map +1 -1
- package/dist/cjs/page/index/dv/default/edit.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/default/single/list/dialog.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/default/single/list/normal.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/default/single/table-tree/dialog.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/default/single/table-tree/normal.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/default/single/tree/dialog.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/default/table.vue2.js.map +1 -1
- package/dist/cjs/page/login/index.vue2.js.map +1 -1
- package/dist/cjs/page/signup/index.vue2.js.map +1 -1
- package/dist/cjs/router-middleware/auth.js.map +1 -1
- package/dist/esm/components/abstract/abstract-select/abstract-select-options.js.map +1 -1
- package/dist/esm/components/abstract/abstract-select/abstract-select.js.map +1 -1
- package/dist/esm/components/abstract/abstract-select/index.js.map +1 -1
- package/dist/esm/components/basic/button/button-options.js.map +1 -1
- package/dist/esm/components/basic/code-editor/code-editor-options.js.map +1 -1
- package/dist/esm/components/basic/code-editor/code-editor.js.map +1 -1
- package/dist/esm/components/basic/code-editor/index.js.map +1 -1
- package/dist/esm/components/basic/config-provider/config-provider-options.js.map +1 -1
- package/dist/esm/components/basic/data-select/data-select-options.js.map +1 -1
- package/dist/esm/components/basic/data-select/data-select.js.map +1 -1
- package/dist/esm/components/basic/data-table-select/data-table-select-options.js.map +1 -1
- package/dist/esm/components/basic/data-table-select/data-table-select.js.map +1 -1
- package/dist/esm/components/basic/data-table-select/index.js.map +1 -1
- package/dist/esm/components/basic/data-tree-select/index.js.map +1 -1
- package/dist/esm/components/basic/date-picker/date-picker-options.js.map +1 -1
- package/dist/esm/components/basic/date-picker/date-picker.js.map +1 -1
- package/dist/esm/components/basic/date-picker/index.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/editor.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js.map +1 -1
- package/dist/esm/components/basic/icon-select/icon-select-options.js.map +1 -1
- package/dist/esm/components/basic/icon-select/icon-select.js.map +1 -1
- package/dist/esm/components/basic/icon-select/index.js.map +1 -1
- package/dist/esm/components/basic/image-cropper/image-cropper-api.js +3 -1
- package/dist/esm/components/basic/image-cropper/image-cropper-api.js.map +1 -1
- package/dist/esm/components/basic/image-cropper/image-cropper-content-options.js +2 -0
- package/dist/esm/components/basic/image-cropper/image-cropper-content-options.js.map +1 -1
- package/dist/esm/components/basic/image-cropper/image-cropper-content.js +25 -24
- package/dist/esm/components/basic/image-cropper/image-cropper-content.js.map +1 -1
- package/dist/esm/components/basic/image-cropper/index.js.map +1 -1
- package/dist/esm/components/basic/json-editor/json-editor-options.js.map +1 -1
- package/dist/esm/components/basic/json-editor/json-editor.js.map +1 -1
- package/dist/esm/components/basic/page-container/index.js.map +1 -1
- package/dist/esm/components/basic/page-container/page-container.js.map +1 -1
- package/dist/esm/components/basic/radio/index.js.map +1 -1
- package/dist/esm/components/basic/radio/radio-options.js.map +1 -1
- package/dist/esm/components/basic/radio/radio.js.map +1 -1
- package/dist/esm/components/basic/system-provider/system-provider.js.map +1 -1
- package/dist/esm/components/basic/upload-file/context/WebFileUploadContext.js.map +1 -1
- package/dist/esm/components/basic/upload-file/ui/upload-image/upload-image.js +2 -0
- package/dist/esm/components/basic/upload-file/ui/upload-image/upload-image.js.map +1 -1
- package/dist/esm/components/business/resource-list/ResourceManager.js.map +1 -1
- package/dist/esm/components/business/resource-list/index.js.map +1 -1
- package/dist/esm/components/business/resource-manager/index.js.map +1 -1
- package/dist/esm/components/business/resource-select/index.js.map +1 -1
- package/dist/esm/components/business/resource-select/resource-select-api.js.map +1 -1
- package/dist/esm/components/business/verify-dialog/verify-dialog.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-drawer/data-filter-drawer-options.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-drawer/data-filter-drawer.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-drawer/index.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-form/components/condition-date/condition-date-options.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-form/components/condition-date/condition-date.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-form/components/condition-input/condition-input-options.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-form/components/condition-input/condition-input.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-form/components/condition-number/condition-number-options.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-form/components/condition-number/condition-number.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-form/components/condition-select/condition-select-options.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-form/components/condition-select/condition-select.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-form/composables/use-condition.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-form/data-filter-form-item/data-filter-form-item.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-form/data-filter-form-options.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-form/data-filter-form.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-form/index.js.map +1 -1
- package/dist/esm/components/data-model/data-filter-form/token.js.map +1 -1
- package/dist/esm/components/data-model/data-form/components/form-detail/form-detail-options.js.map +1 -1
- package/dist/esm/components/data-model/data-form/components/form-detail/form-detail.js.map +1 -1
- package/dist/esm/components/data-model/data-form/composables/use-form-item.js.map +1 -1
- package/dist/esm/components/data-model/data-form/data-form-item/data-form-item.js.map +1 -1
- package/dist/esm/components/data-model/data-form/data-form.js.map +1 -1
- package/dist/esm/components/data-model/data-form/index.js.map +1 -1
- package/dist/esm/components/data-model/data-form/token.js.map +1 -1
- package/dist/esm/components/data-model/data-form/views/form/form-options.js.map +1 -1
- package/dist/esm/components/data-model/data-form/views/form/form.js.map +1 -1
- package/dist/esm/components/data-model/data-form/views/form-view/form-view.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-action/column-action-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-action/column-action.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-date/column-date.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-icon/column-icon.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-image/column-image-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-json/column-json-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-json/column-json.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-link/column-link-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-object-mapping-text/column-object-mapping-text-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-select/column-select-header.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-select/column-select-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-select/column-select.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-sort/column-sort-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-sort/column-sort.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-sort/index.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-switch/column-switch-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-switch/column-switch.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-tag/column-tag-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-tag/column-tag.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-text/column-text-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-text/column-text.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/header-components/batch-opt/batch-opt.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/header-components/batch-opt/index.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/header-components/table-filter/index.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/header-components/table-filter/table-filter.js.map +1 -1
- package/dist/esm/components/data-model/data-table/composables/use-query-params.js.map +1 -1
- package/dist/esm/components/data-model/data-table/data-table-column/data-table-column-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table/data-table-column/data-table-column.js.map +1 -1
- package/dist/esm/components/data-model/data-table/data-table-column/index.js.map +1 -1
- package/dist/esm/components/data-model/data-table/data-table-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table/data-table.js.map +1 -1
- package/dist/esm/components/data-model/data-table/index.js.map +1 -1
- package/dist/esm/components/data-model/data-table/token.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/table/table-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/table/table.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/table-tree/table-tree-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/table-tree/table-tree.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/table-view/classify-search/classify-search.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/table-view/header/header.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/table-view/table-view-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/table-view/table-view.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/tree/index.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/tree/tree-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/tree/tree.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/tree-view/tree-view-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/tree-view/tree-view.js.map +1 -1
- package/dist/esm/components/data-model/data-table-pagination/data-table-pagination-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table-pagination/data-table-pagination.js.map +1 -1
- package/dist/esm/composables/use-column-component.js.map +1 -1
- package/dist/esm/composables/use-i18n.js.map +1 -1
- package/dist/esm/composables/use-single-view.js.map +1 -1
- package/dist/esm/constants/data-model.js.map +1 -1
- package/dist/esm/constants/menu.js.map +1 -1
- package/dist/esm/constants/route.js.map +1 -1
- package/dist/esm/core/MSAppClient.js.map +1 -1
- package/dist/esm/core/MkModule.js.map +1 -1
- package/dist/esm/core/PageManager.js.map +1 -1
- package/dist/esm/core/Router.js.map +1 -1
- package/dist/esm/core/UserInfo.js.map +1 -1
- package/dist/esm/core/UserSession.js.map +1 -1
- package/dist/esm/core/component/ConfigComponents.js.map +1 -1
- package/dist/esm/core/component/DataFilterComponents.js.map +1 -1
- package/dist/esm/core/component/DataTableComponents.js.map +1 -1
- package/dist/esm/core/component/DataTableHeaderComponents.js.map +1 -1
- package/dist/esm/core/menu/Menu.js.map +1 -1
- package/dist/esm/core/menu/MenuNode.js.map +1 -1
- package/dist/esm/core/tabs/Tab.js.map +1 -1
- package/dist/esm/define-data-form.js.map +1 -1
- package/dist/esm/define-data-table.js.map +1 -1
- package/dist/esm/define-data-tree.js.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/init-application.js.map +1 -1
- package/dist/esm/installer.js.map +1 -1
- package/dist/esm/layouts/components/dialogs/dialogs.js.map +1 -1
- package/dist/esm/layouts/components/header/index.js.map +1 -1
- package/dist/esm/message-impl/DialogerImpl.js.map +1 -1
- package/dist/esm/modules/cms/components/part-tree/index.vue.js +1 -0
- package/dist/esm/modules/cms/components/part-tree/index.vue.js.map +1 -1
- package/dist/esm/modules/cms/constants/index.js.map +1 -1
- package/dist/esm/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +2 -0
- package/dist/esm/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js.map +1 -1
- package/dist/esm/modules/cms/dataviews/cms-ad-contents/CmsAdContentsTable.js.map +1 -1
- package/dist/esm/modules/cms/dataviews/cms-articles/CmsArticlesForm.js +2 -0
- package/dist/esm/modules/cms/dataviews/cms-articles/CmsArticlesForm.js.map +1 -1
- package/dist/esm/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js +2 -0
- package/dist/esm/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js.map +1 -1
- package/dist/esm/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasTable.js.map +1 -1
- package/dist/esm/modules/cms/dataviews/cms-parts/CmsPartTree.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-ad/index.vue2.js +2 -1
- package/dist/esm/modules/cms/pages/cms-ad/index.vue2.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +4 -7
- package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js +2 -0
- package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js +2 -0
- package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-resource/index.vue2.js.map +1 -1
- package/dist/esm/modules/ms/components/image-select/image-select-api.js +77 -0
- package/dist/esm/modules/ms/components/image-select/image-select-api.js.map +1 -0
- package/dist/esm/modules/ms/components/image-select/image-select-panel.js +112 -0
- package/dist/esm/modules/ms/components/image-select/image-select-panel.js.map +1 -0
- package/dist/esm/modules/ms/components/image-select/index.js +7 -0
- package/dist/esm/modules/ms/components/image-select/index.js.map +1 -0
- package/dist/esm/modules/ms/components/markdown-editor/markdown-editor.js.map +1 -1
- package/dist/esm/modules/ms/components/material-list/components/file-view/file-view.js.map +1 -1
- package/dist/esm/modules/ms/components/material-list/components/image-view/image-view.js.map +1 -1
- package/dist/esm/modules/ms/components/material-list/index.js.map +1 -1
- package/dist/esm/modules/ms/components/material-list/material-group-form-popover.js +1 -0
- package/dist/esm/modules/ms/components/material-list/material-group-form-popover.js.map +1 -1
- package/dist/esm/modules/ms/components/material-list/material-group.js +1 -0
- package/dist/esm/modules/ms/components/material-list/material-group.js.map +1 -1
- package/dist/esm/modules/ms/components/material-list/material-item.vue.js.map +1 -1
- package/dist/esm/modules/ms/components/material-list/material-list-options.js.map +1 -1
- package/dist/esm/modules/ms/components/material-list/material-list.js.map +1 -1
- package/dist/esm/modules/ms/components/material-select/index.js.map +1 -1
- package/dist/esm/modules/ms/components/material-select/material-select-api.js.map +1 -1
- package/dist/esm/modules/ms/components/rich-text-editor/index.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/log/local-log/LocalLogTree.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-config/MsConfigForm.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-config/MsConfigTable.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-deny-ip-access-list/MsDenyIPAccessListTable.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-ip-white-list/MsIPWhitelistTable.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-material/MsMaterialTable.js +12 -2
- package/dist/esm/modules/ms/dataviews/ms-material/MsMaterialTable.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-material/ms-material-group/MsMaterialGroupTree.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-member/MsMemberForm.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-member/MsMemberTable.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-member/components/MemberNickNameColumn.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-member-role/MsMemberRoleForm.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-member-role/MsMemberRoleTable.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-menu/MsMenuTable.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-menu/MsMenuTree.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-menu/ms-permission-point/MsPermissionPointDefineForm.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-menu/ms-route/MsRouteForm.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-menu/ms-route/MsRouteTable.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-role/MsRoleForm.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-role/MsRoleTable.js.map +1 -1
- package/dist/esm/modules/ms/image-upload-context/index.js +55 -0
- package/dist/esm/modules/ms/image-upload-context/index.js.map +1 -0
- package/dist/esm/modules/ms/index.js +2 -0
- package/dist/esm/modules/ms/index.js.map +1 -1
- package/dist/esm/modules/ms/material-upload-context/MaterialUploadContext.js.map +1 -1
- package/dist/esm/modules/ms/material-upload-context/material-upload-context-options.js.map +1 -1
- package/dist/esm/modules/ms/material-upload-context/material-upload-context.js.map +1 -1
- package/dist/esm/modules/ms/pages/icons/index.vue2.js.map +1 -1
- package/dist/esm/modules/ms/pages/local-log/index.vue2.js.map +1 -1
- package/dist/esm/modules/ms/pages/ms-material/index.vue2.js +1 -0
- package/dist/esm/modules/ms/pages/ms-material/index.vue2.js.map +1 -1
- package/dist/esm/modules/ms/pages/ms-menu/index.vue2.js +1 -0
- package/dist/esm/modules/ms/pages/ms-menu/index.vue2.js.map +1 -1
- package/dist/esm/modules/ms/pages/ms-role/components/aside.vue.js +1 -0
- package/dist/esm/modules/ms/pages/ms-role/components/aside.vue.js.map +1 -1
- package/dist/esm/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config-options.js +1 -0
- package/dist/esm/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config-options.js.map +1 -1
- package/dist/esm/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config.js.map +1 -1
- package/dist/esm/modules/ms/pages/ms-role/index.vue2.js +1 -0
- package/dist/esm/modules/ms/pages/ms-role/index.vue2.js.map +1 -1
- package/dist/esm/page/index/404.vue.js.map +1 -1
- package/dist/esm/page/index/dv/default/edit.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/default/single/list/dialog.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/default/single/list/normal.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/default/single/table-tree/dialog.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/default/single/table-tree/normal.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/default/single/tree/dialog.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/default/table.vue2.js.map +1 -1
- package/dist/esm/page/login/index.vue2.js.map +1 -1
- package/dist/esm/page/signup/index.vue2.js.map +1 -1
- package/dist/esm/router-middleware/auth.js.map +1 -1
- package/dist/style/index.css +2 -2
- package/dist/style/src/components/basic/data-tree-select/data-tree-select.scss +11 -11
- package/dist/style/src/components/classify-search.scss +31 -31
- package/dist/style/src/components/code-editor.scss +7 -7
- package/dist/style/src/components/data-filter-drawer.scss +5 -5
- package/dist/style/src/components/data-table-select-dialog.scss +30 -30
- package/dist/style/src/components/form/form-detail.scss +28 -28
- package/dist/style/src/components/form/form-icon-select.scss +35 -35
- package/dist/style/src/components/image-cropper.scss +34 -34
- package/dist/style/src/components/index.scss +60 -60
- package/dist/style/src/components/material-list.scss +83 -83
- package/dist/style/src/components/page-container.scss +20 -20
- package/dist/style/src/components/pagination.scss +21 -21
- package/dist/style/src/components/table/column-sort.scss +17 -17
- package/dist/style/src/components/table/index.scss +6 -6
- package/dist/style/src/components/table/table-filter.scss +12 -12
- package/dist/style/src/components/table-view.scss +78 -78
- package/dist/style/src/index.scss +28 -28
- package/dist/style/src/modules/ms/pages/icon.scss +50 -50
- package/dist/style/src/modules/ms/pages/index.scss +3 -3
- package/dist/style/src/page/dv/index.scss +3 -3
- package/dist/style/src/page/dv/ms-menu.scss +9 -9
- package/dist/style/src/theme/theme.scss +324 -324
- package/dist/style/theme/theme.css +1 -1
- package/dist/types/components/basic/image-cropper/image-cropper-api.d.ts +2 -0
- package/dist/types/components/basic/image-cropper/image-cropper-content-options.d.ts +2 -0
- package/dist/types/components/basic/image-cropper/image-cropper-content.d.ts +6 -0
- package/dist/types/components/basic/image-cropper/index.d.ts +6 -0
- package/dist/types/modules/ms/components/image-select/image-select-api.d.ts +5 -0
- package/dist/types/modules/ms/components/image-select/image-select-panel.d.ts +8 -0
- package/dist/types/modules/ms/components/image-select/index.d.ts +3 -0
- package/dist/types/modules/ms/dataviews/ms-material/MsMaterialTable.d.ts +1 -1
- package/dist/types/modules/ms/image-upload-context/index.d.ts +13 -0
- package/dist/types/modules/ms/index.d.ts +1 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MsRoleForm.js","sources":["../../../../../../src/modules/ms/dataviews/ms-role/MsRoleForm.ts"],"sourcesContent":["import {\n DataForm,\n DataFormOptions,\n DataFormType,\n FormColumn,\n} from \"@maketribe/dm\";\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\nimport { MODULE_NAME } from \"../../constants\";\nimport { Role } from \"../../../../core\";\n\nexport type MsRole = Role & { memo: string };\n\nexport class MsRoleForm extends DataForm<MsRole> {\n static [DATA_MODEL_NAME]: string = \"ms-role\";\n\n constructor(options: DataFormOptions = {}) {\n super({\n name: MsRoleForm[DATA_MODEL_NAME],\n moduleName: MODULE_NAME,\n ...options,\n });\n }\n\n protected async initialize() {\n await super.initialize();\n\n this.setColumns([\n new FormColumn({ name: \"id\", label: \"编号\" }),\n new FormColumn({ name: \"name\", label: \"角色名\", required: true }),\n new FormColumn({ name: \"desc\", label: \"角色描述\", required: true }),\n new FormColumn({\n name: \"memo\",\n label: \"备注\",\n defaultValue: \"\",\n componentInfo: \"MKFormInput\",\n componentProps: { type: \"textarea\", rows: 4 },\n }),\n ]);\n\n this.dataFormTypeChangeEvent.on(({ dataFormType }) => {\n this.getColumn(\"name\")!.disabled = dataFormType == DataFormType.UPDATE;\n });\n }\n\n formatItem(item: MsRole): MsRole {\n return {\n id: item.id,\n name: item.name || \"\",\n desc: item.desc || \"\",\n memo: item.memo || \"\",\n };\n }\n}\n"],"names":["DataForm","DATA_MODEL_NAME","MODULE_NAME","FormColumn","DataFormType"],"mappings":";;;;;;;;;AAYO,MAAM,cAAN,MAAM,qBAAmBA,QAAAA,UACtBC,eAAAA,iBADsBD,IAAiB;AAAA,EAG/C,YAAY,UAA2B,IAAI;AACnC,UAAA;AAAA,MACJ,MAAM,YAAWC,yBAAe;AAAA,MAChC,YAAYC,MAAA;AAAA,MACZ,GAAG;AAAA,IAAA,CACJ;AAAA,EACH;AAAA,EAEA,MAAgB,aAAa;AAC3B,UAAM,MAAM;AAEZ,SAAK,WAAW;AAAA,MACd,IAAIC,GAAAA,WAAW,EAAE,MAAM,MAAM,OAAO,MAAM;AAAA,MAC1C,IAAIA,cAAW,EAAE,MAAM,QAAQ,OAAO,OAAO,UAAU,MAAM;AAAA,MAC7D,IAAIA,cAAW,EAAE,MAAM,QAAQ,OAAO,QAAQ,UAAU,MAAM;AAAA,MAC9D,IAAIA,cAAW;AAAA,QACb,MAAM;AAAA,QACN,OAAO;AAAA,QACP,cAAc;AAAA,QACd,eAAe;AAAA,QACf,gBAAgB,EAAE,MAAM,YAAY,MAAM,EAAE;AAAA,MAAA,CAC7C;AAAA,IAAA,CACF;AAED,SAAK,wBAAwB,GAAG,CAAC,EAAE,mBAAmB;AACpD,WAAK,UAAU,MAAM,EAAG,WAAW,gBAAgBC,GAAa,aAAA;AAAA,IAAA,CACjE;AAAA,EACH;AAAA,EAEA,WAAW,MAAsB;AACxB,WAAA;AAAA,MACL,IAAI,KAAK;AAAA,MACT,MAAM,KAAK,QAAQ;AAAA,MACnB,MAAM,KAAK,QAAQ;AAAA,MACnB,MAAM,KAAK,QAAQ;AAAA,IAAA;AAAA,EAEvB;AACF;AAvCE,cADW,aACHH,IAA2B;AAD9B,IAAM,aAAN;;"}
|
|
1
|
+
{"version":3,"file":"MsRoleForm.js","sources":["../../../../../../src/modules/ms/dataviews/ms-role/MsRoleForm.ts"],"sourcesContent":["import {\r\n DataForm,\r\n DataFormOptions,\r\n DataFormType,\r\n FormColumn,\r\n} from \"@maketribe/dm\";\r\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\r\nimport { MODULE_NAME } from \"../../constants\";\r\nimport { Role } from \"../../../../core\";\r\n\r\nexport type MsRole = Role & { memo: string };\r\n\r\nexport class MsRoleForm extends DataForm<MsRole> {\r\n static [DATA_MODEL_NAME]: string = \"ms-role\";\r\n\r\n constructor(options: DataFormOptions = {}) {\r\n super({\r\n name: MsRoleForm[DATA_MODEL_NAME],\r\n moduleName: MODULE_NAME,\r\n ...options,\r\n });\r\n }\r\n\r\n protected async initialize() {\r\n await super.initialize();\r\n\r\n this.setColumns([\r\n new FormColumn({ name: \"id\", label: \"编号\" }),\r\n new FormColumn({ name: \"name\", label: \"角色名\", required: true }),\r\n new FormColumn({ name: \"desc\", label: \"角色描述\", required: true }),\r\n new FormColumn({\r\n name: \"memo\",\r\n label: \"备注\",\r\n defaultValue: \"\",\r\n componentInfo: \"MKFormInput\",\r\n componentProps: { type: \"textarea\", rows: 4 },\r\n }),\r\n ]);\r\n\r\n this.dataFormTypeChangeEvent.on(({ dataFormType }) => {\r\n this.getColumn(\"name\")!.disabled = dataFormType == DataFormType.UPDATE;\r\n });\r\n }\r\n\r\n formatItem(item: MsRole): MsRole {\r\n return {\r\n id: item.id,\r\n name: item.name || \"\",\r\n desc: item.desc || \"\",\r\n memo: item.memo || \"\",\r\n };\r\n }\r\n}\r\n"],"names":["DataForm","DATA_MODEL_NAME","MODULE_NAME","FormColumn","DataFormType"],"mappings":";;;;;;;;;AAYO,MAAM,cAAN,MAAM,qBAAmBA,QAAAA,UACtBC,eAAAA,iBADsBD,IAAiB;AAAA,EAG/C,YAAY,UAA2B,IAAI;AACnC,UAAA;AAAA,MACJ,MAAM,YAAWC,yBAAe;AAAA,MAChC,YAAYC,MAAA;AAAA,MACZ,GAAG;AAAA,IAAA,CACJ;AAAA,EACH;AAAA,EAEA,MAAgB,aAAa;AAC3B,UAAM,MAAM;AAEZ,SAAK,WAAW;AAAA,MACd,IAAIC,GAAAA,WAAW,EAAE,MAAM,MAAM,OAAO,MAAM;AAAA,MAC1C,IAAIA,cAAW,EAAE,MAAM,QAAQ,OAAO,OAAO,UAAU,MAAM;AAAA,MAC7D,IAAIA,cAAW,EAAE,MAAM,QAAQ,OAAO,QAAQ,UAAU,MAAM;AAAA,MAC9D,IAAIA,cAAW;AAAA,QACb,MAAM;AAAA,QACN,OAAO;AAAA,QACP,cAAc;AAAA,QACd,eAAe;AAAA,QACf,gBAAgB,EAAE,MAAM,YAAY,MAAM,EAAE;AAAA,MAAA,CAC7C;AAAA,IAAA,CACF;AAED,SAAK,wBAAwB,GAAG,CAAC,EAAE,mBAAmB;AACpD,WAAK,UAAU,MAAM,EAAG,WAAW,gBAAgBC,GAAa,aAAA;AAAA,IAAA,CACjE;AAAA,EACH;AAAA,EAEA,WAAW,MAAsB;AACxB,WAAA;AAAA,MACL,IAAI,KAAK;AAAA,MACT,MAAM,KAAK,QAAQ;AAAA,MACnB,MAAM,KAAK,QAAQ;AAAA,MACnB,MAAM,KAAK,QAAQ;AAAA,IAAA;AAAA,EAEvB;AACF;AAvCE,cADW,aACHH,IAA2B;AAD9B,IAAM,aAAN;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MsRolePermissionConfigTable.js","sources":["../../../../../../src/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.ts"],"sourcesContent":["import { Group, R, ResponseConfig } from \"@maketribe/request\";\nimport { DataTableOptions, WhereFilter } from \"@maketribe/dm\";\nimport {\n MsMenuItem,\n MsMenuResult,\n MsMenuTable,\n MsPermissionPointDefine,\n MsPermissionPointDefineTable,\n MsRoute,\n MsRouteTable,\n} from \"../ms-menu\";\nimport { MsRole } from \"./MsRoleForm\";\nimport { MsRoleRouteTable } from \"./ms-role-route\";\nimport { MsRolePermissionPointTable } from \"./ms-role-permission-point\";\nimport { postTraverse } from \"@maketribe/utils\";\n\nexport type MsRolePermissionPointDefine = MsPermissionPointDefine & {\n originalSelected: boolean;\n selected: boolean;\n};\n\nexport type MsRoleMenuNode = {\n permissionPoints: MsRolePermissionPointDefine[];\n routes: MsRoute[];\n originalSelected: boolean;\n selected: boolean;\n indeterminate: boolean;\n children: MsRoleMenuNode[];\n} & MsMenuItem;\n\nexport class RolePermissionConfigTable extends MsMenuTable<MsRoleMenuNode> {\n roleRouteTable: MsRoleRouteTable;\n roleRouteConditionGroup: Group;\n\n rolePermissionPointTable: MsRolePermissionPointTable;\n rolePermissionPointConditionGroup: Group;\n\n permissionPointDefineTable: MsPermissionPointDefineTable<MsRolePermissionPointDefine>;\n routeDefineTable: MsRouteTable;\n\n initd: boolean = false;\n initing: boolean = false;\n\n rootRoleMenuNodes: MsRoleMenuNode[] = [];\n currentRole: MsRole | undefined;\n currentRoleId: MsRole[\"id\"] = \"\";\n currentRoleDesc: MsRole[\"desc\"] = \"\";\n\n constructor(options: Omit<DataTableOptions, \"name\"> = {}) {\n super({ ...options });\n\n this.roleRouteTable = new MsRoleRouteTable();\n\n this.rolePermissionPointTable = new MsRolePermissionPointTable();\n\n this.roleRouteConditionGroup = new Group();\n this.rolePermissionPointConditionGroup = new Group();\n\n this.roleRouteTable.useCondition((defaultGroup) => {\n defaultGroup.addGroup(this.roleRouteConditionGroup);\n });\n\n this.rolePermissionPointTable.useCondition((defaultGroup) => {\n defaultGroup.addGroup(this.rolePermissionPointConditionGroup);\n });\n\n const permissionPointDefineTable =\n new (class extends MsPermissionPointDefineTable<MsRolePermissionPointDefine> {\n formatItem(item: MsPermissionPointDefine): MsRolePermissionPointDefine {\n return {\n ...super.formatItem(item),\n originalSelected: false,\n selected: false,\n };\n }\n })({\n interfaceURL: { list: \"/ms/dv/ms-permission-point-def/allList\" },\n });\n this.permissionPointDefineTable = permissionPointDefineTable;\n\n const routeDefineTable = new MsRouteTable({\n interfaceURL: { list: \"/ms/dv/ms-route/allList\" },\n });\n this.routeDefineTable = routeDefineTable;\n }\n\n protected async initialize() {\n await super.initialize();\n\n [\n this.roleRouteTable.getLoadingManager(),\n this.rolePermissionPointTable.getLoadingManager(),\n this.permissionPointDefineTable.getLoadingManager(),\n this.routeDefineTable.getLoadingManager(),\n ].forEach((loadingManager) => {\n this.getLoadingManager().addLoadingManager(loadingManager);\n });\n\n await this.roleRouteTable.init();\n await this.rolePermissionPointTable.init();\n\n await this.permissionPointDefineTable.init();\n await this.routeDefineTable.init();\n\n this.dataFilter.afterReadyEvent.on(() => {\n this.roleRouteTable.dataFilter.setReady();\n this.rolePermissionPointTable.dataFilter.setReady();\n this.permissionPointDefineTable.dataFilter.setReady();\n this.routeDefineTable.dataFilter.setReady();\n });\n\n this.dataFilter.setReady();\n }\n\n formatItem(item: MsMenuResult): MsRoleMenuNode {\n const permissionPointDefines = this.permissionPointDefineTable.getList();\n\n const routeDefines = this.routeDefineTable.getList();\n\n return {\n ...super.formatItem(item),\n routes: routeDefines.filter(\n (routeDefine) => routeDefine.menuId === item.id\n ) as MsRoleMenuNode[\"routes\"],\n permissionPoints: permissionPointDefines.filter(\n (permissionPointDefine) => permissionPointDefine.menuId === item.id\n ),\n originalSelected: false,\n selected: false,\n indeterminate: false,\n children: [],\n };\n }\n\n setList(list: MsRoleMenuNode[]): void {\n super.setList(list);\n\n const rootRoleMenuNodes = [];\n\n for (const roleMenuNode of list) {\n if (!roleMenuNode.pid) {\n rootRoleMenuNodes.push(roleMenuNode);\n }\n\n for (const item of list) {\n if (item.pid === roleMenuNode.id) {\n roleMenuNode.children.push(item);\n }\n }\n }\n\n this.rootRoleMenuNodes = this.calculateNotEmptyNode(rootRoleMenuNodes);\n }\n\n calculateNotEmptyNode(list: MsRoleMenuNode[]) {\n const result = list.filter(\n (item) => item.routes.length || item.children.length\n );\n\n let nodes = [...result];\n\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i];\n\n node.children = node.children.filter(\n (item) => item.routes.length || item.children.length\n );\n\n nodes = nodes.concat(node.children);\n }\n\n return result;\n }\n\n getRootRoleMenuNodes() {\n return this.rootRoleMenuNodes;\n }\n\n async load(params?: Record<string, any>) {\n await Promise.all([\n this.permissionPointDefineTable.load(),\n this.routeDefineTable.load(),\n ]);\n\n const loadResult = await super.load(params);\n\n if (loadResult.data.code === 200) {\n this.restoreDefaultSelect();\n }\n\n return loadResult;\n }\n\n protected loadRequest(\n params: Record<string, any>\n ): Promise<ResponseConfig<R<MsMenuResult[]> & { totalRecCount: string }>> {\n return this.loadAllRequest(params);\n }\n\n async selectRolePermission(role: MsRole | undefined) {\n this.currentRole = role;\n this.currentRoleId = role?.id || \"\";\n this.currentRoleDesc = role?.desc || \"\";\n\n this.roleRouteConditionGroup.clear();\n this.rolePermissionPointConditionGroup.clear();\n\n this.roleRouteConditionGroup.addCondition(\n \"roleId\",\n \"=\",\n this.currentRoleId\n );\n this.rolePermissionPointConditionGroup.addCondition(\n \"roleId\",\n \"=\",\n this.currentRoleId\n );\n\n const [roleRouteTableResult, rolePermissionPointTableResult] =\n await Promise.all([\n this.roleRouteTable.load(),\n this.rolePermissionPointTable.load(),\n ]);\n\n if (roleRouteTableResult.data.code !== 200) {\n return;\n }\n\n if (rolePermissionPointTableResult.data.code !== 200) {\n return;\n }\n\n this.restoreDefaultSelect();\n }\n\n clearSelected() {\n for (const roleMenu of this.getList()) {\n roleMenu.indeterminate = roleMenu.selected = false;\n }\n\n for (const rolePermissionPoint of this.permissionPointDefineTable.getList()) {\n rolePermissionPoint.selected = false;\n }\n }\n\n protected calcSelect() {\n postTraverse<MsRoleMenuNode>(this.getRootRoleMenuNodes(), (roleMenu) => {\n // 如果自叶级菜单\n if (roleMenu.children.length === 0) {\n // 选中的权限点\n const selectedPermissionPoints = roleMenu.permissionPoints.filter(\n (permissionPointDefine) => permissionPointDefine.selected\n );\n\n // 如果有权限点选择就赋予路由权限\n roleMenu.selected =\n roleMenu.permissionPoints.length === 0\n ? roleMenu.selected\n : !!selectedPermissionPoints.length || roleMenu.selected;\n // 如果不是所有权限点都激活就标识是部分选择\n roleMenu.indeterminate =\n roleMenu.permissionPoints.length === 0 ||\n selectedPermissionPoints.length === 0\n ? false\n : selectedPermissionPoints.length <\n roleMenu.permissionPoints.length;\n\n return;\n }\n\n // 选中的子菜单\n const selectedChildren = roleMenu.children.filter(\n (item) => item.selected\n );\n // 如果有子菜单选中就路由权限\n roleMenu.selected = !!selectedChildren.length;\n // 如果不是所有子菜单都激活就标识是部分选择\n roleMenu.indeterminate =\n selectedChildren.length === 0\n ? false\n : selectedChildren.length < roleMenu.children.length;\n });\n }\n\n restoreDefaultSelect() {\n this.clearSelected();\n\n const permissionPointDefineList = this.permissionPointDefineTable.getList();\n const rolePermissionList = this.rolePermissionPointTable.getList();\n\n for (const permissionPointDefine of permissionPointDefineList) {\n permissionPointDefine.originalSelected = permissionPointDefine.selected =\n false;\n }\n\n if (permissionPointDefineList.length) {\n for (const rolePermission of rolePermissionList) {\n const permissionPointDefine = permissionPointDefineList.find(\n (permissionPointDefine) =>\n permissionPointDefine.id === rolePermission.permissionPointDefId\n );\n\n if (permissionPointDefine) {\n permissionPointDefine.originalSelected =\n permissionPointDefine.selected = true;\n }\n }\n }\n\n const menuList = this.getList();\n const roleRouteList = this.roleRouteTable.getList();\n\n for (const menu of menuList) {\n menu.originalSelected = menu.selected = false;\n }\n\n if (menuList.length) {\n for (const roleRoute of roleRouteList) {\n const menu = menuList.find((menu) =>\n menu.routes.find(\n (routeDefine) => routeDefine.id === roleRoute.routeId\n )\n );\n\n if (menu) {\n menu.originalSelected = menu.selected = true;\n }\n }\n }\n\n this.calcSelect();\n }\n\n toggleRoleMenu(\n roleMenu: MsRoleMenuNode,\n selected: boolean = !roleMenu.selected\n ) {\n postTraverse<MsRoleMenuNode>([roleMenu], (roleMenu) => {\n // 如果自叶级菜单\n if (roleMenu.children.length === 0) {\n for (const permissionPointDefine of roleMenu.permissionPoints) {\n permissionPointDefine.selected = selected;\n }\n\n roleMenu.selected = selected;\n return;\n }\n\n roleMenu.selected = selected;\n });\n\n this.calcSelect();\n }\n\n toggleRolePermissionPoint(\n permissionPointDefine: MsRolePermissionPointDefine,\n selected: boolean = !permissionPointDefine.selected\n ) {\n permissionPointDefine.selected = selected;\n\n this.calcSelect();\n }\n\n async submitPermission() {\n const permissionPointDefines = this.permissionPointDefineTable.getList();\n const removePermissionPointDefines = permissionPointDefines.filter(\n (permissionPointDefine) =>\n permissionPointDefine.originalSelected &&\n !permissionPointDefine.selected\n );\n\n const addPermissionPointDefine = permissionPointDefines.filter(\n (permissionPointDefine) =>\n !permissionPointDefine.originalSelected &&\n permissionPointDefine.selected\n );\n\n const menus = this.getList();\n const removeRoutes = menus\n .filter((menu) => menu.originalSelected && !menu.selected)\n .flatMap((menu) => menu.routes);\n const addRoutes = menus\n .filter((menu) => !menu.originalSelected && menu.selected)\n .flatMap((menu) => menu.routes);\n\n if (removePermissionPointDefines.length) {\n const rolePermissionPoints = this.rolePermissionPointTable.getList();\n const deleteRolePermissionPointResult =\n await this.rolePermissionPointTable.batchDelete(\n removePermissionPointDefines\n .map(\n (permissionPointDefine) =>\n rolePermissionPoints.find(\n (rolePermissionPoint) =>\n rolePermissionPoint.permissionPointDefId ===\n permissionPointDefine.id\n )!\n )\n .filter(Boolean)\n );\n\n if (deleteRolePermissionPointResult.data.code !== 200) {\n return deleteRolePermissionPointResult;\n }\n }\n\n if (removeRoutes.length) {\n const roleRoutes = this.roleRouteTable.getList();\n const deleteRoleRouteResult = await this.roleRouteTable.batchDelete(\n removeRoutes\n .map(\n (route) =>\n roleRoutes.find((roleRoute) => roleRoute.routeId === route.id)!\n )\n .filter(Boolean)\n );\n\n if (deleteRoleRouteResult.data.code !== 200) {\n return deleteRoleRouteResult;\n }\n }\n\n if (addPermissionPointDefine.length) {\n const addRolePermissionPointResult =\n await this.rolePermissionPointTable.batchAdd(\n addPermissionPointDefine.map((item) => ({\n id: \"\",\n roleId: this.currentRoleId,\n permissionPointDefId: item.id,\n }))\n );\n\n if (addRolePermissionPointResult.data.code !== 200) {\n return addRolePermissionPointResult;\n }\n }\n\n if (addRoutes.length) {\n const addRoleRouteResult = await this.roleRouteTable.batchAdd(\n addRoutes.map((item) => ({\n id: \"\",\n roleId: this.currentRoleId,\n routeId: item.id,\n }))\n );\n\n if (addRoleRouteResult.data.code !== 200) {\n return addRoleRouteResult;\n }\n }\n\n await this.selectRolePermission(this.currentRole);\n }\n\n /**\n * 是否发生变更\n */\n hasChange() {\n const permissionPointDefines = this.permissionPointDefineTable.getList();\n const removePermissionPointDefines = permissionPointDefines.filter(\n (permissionPointDefine) =>\n permissionPointDefine.originalSelected &&\n !permissionPointDefine.selected\n );\n\n const addPermissionPointDefine = permissionPointDefines.filter(\n (permissionPointDefine) =>\n !permissionPointDefine.originalSelected &&\n permissionPointDefine.selected\n );\n\n const menus = this.getList();\n const removeRoutes = menus\n .filter((menu) => menu.originalSelected && !menu.selected)\n .flatMap((menu) => menu.routes);\n const addRoutes = menus\n .filter((menu) => !menu.originalSelected && menu.selected)\n .flatMap((menu) => menu.routes);\n return !!(\n removePermissionPointDefines.length ||\n removeRoutes.length ||\n addPermissionPointDefine.length ||\n addRoutes.length\n );\n }\n}\n"],"names":["MsMenuTable","MsRoleRouteTable","MsRolePermissionPointTable","Group","MsPermissionPointDefineTable","MsRouteTable","postTraverse","permissionPointDefine","menu","roleMenu"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MsRolePermissionConfigTable.js","sources":["../../../../../../src/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.ts"],"sourcesContent":["import { Group, R, ResponseConfig } from \"@maketribe/request\";\r\nimport { DataTableOptions, WhereFilter } from \"@maketribe/dm\";\r\nimport {\r\n MsMenuItem,\r\n MsMenuResult,\r\n MsMenuTable,\r\n MsPermissionPointDefine,\r\n MsPermissionPointDefineTable,\r\n MsRoute,\r\n MsRouteTable,\r\n} from \"../ms-menu\";\r\nimport { MsRole } from \"./MsRoleForm\";\r\nimport { MsRoleRouteTable } from \"./ms-role-route\";\r\nimport { MsRolePermissionPointTable } from \"./ms-role-permission-point\";\r\nimport { postTraverse } from \"@maketribe/utils\";\r\n\r\nexport type MsRolePermissionPointDefine = MsPermissionPointDefine & {\r\n originalSelected: boolean;\r\n selected: boolean;\r\n};\r\n\r\nexport type MsRoleMenuNode = {\r\n permissionPoints: MsRolePermissionPointDefine[];\r\n routes: MsRoute[];\r\n originalSelected: boolean;\r\n selected: boolean;\r\n indeterminate: boolean;\r\n children: MsRoleMenuNode[];\r\n} & MsMenuItem;\r\n\r\nexport class RolePermissionConfigTable extends MsMenuTable<MsRoleMenuNode> {\r\n roleRouteTable: MsRoleRouteTable;\r\n roleRouteConditionGroup: Group;\r\n\r\n rolePermissionPointTable: MsRolePermissionPointTable;\r\n rolePermissionPointConditionGroup: Group;\r\n\r\n permissionPointDefineTable: MsPermissionPointDefineTable<MsRolePermissionPointDefine>;\r\n routeDefineTable: MsRouteTable;\r\n\r\n initd: boolean = false;\r\n initing: boolean = false;\r\n\r\n rootRoleMenuNodes: MsRoleMenuNode[] = [];\r\n currentRole: MsRole | undefined;\r\n currentRoleId: MsRole[\"id\"] = \"\";\r\n currentRoleDesc: MsRole[\"desc\"] = \"\";\r\n\r\n constructor(options: Omit<DataTableOptions, \"name\"> = {}) {\r\n super({ ...options });\r\n\r\n this.roleRouteTable = new MsRoleRouteTable();\r\n\r\n this.rolePermissionPointTable = new MsRolePermissionPointTable();\r\n\r\n this.roleRouteConditionGroup = new Group();\r\n this.rolePermissionPointConditionGroup = new Group();\r\n\r\n this.roleRouteTable.useCondition((defaultGroup) => {\r\n defaultGroup.addGroup(this.roleRouteConditionGroup);\r\n });\r\n\r\n this.rolePermissionPointTable.useCondition((defaultGroup) => {\r\n defaultGroup.addGroup(this.rolePermissionPointConditionGroup);\r\n });\r\n\r\n const permissionPointDefineTable =\r\n new (class extends MsPermissionPointDefineTable<MsRolePermissionPointDefine> {\r\n formatItem(item: MsPermissionPointDefine): MsRolePermissionPointDefine {\r\n return {\r\n ...super.formatItem(item),\r\n originalSelected: false,\r\n selected: false,\r\n };\r\n }\r\n })({\r\n interfaceURL: { list: \"/ms/dv/ms-permission-point-def/allList\" },\r\n });\r\n this.permissionPointDefineTable = permissionPointDefineTable;\r\n\r\n const routeDefineTable = new MsRouteTable({\r\n interfaceURL: { list: \"/ms/dv/ms-route/allList\" },\r\n });\r\n this.routeDefineTable = routeDefineTable;\r\n }\r\n\r\n protected async initialize() {\r\n await super.initialize();\r\n\r\n [\r\n this.roleRouteTable.getLoadingManager(),\r\n this.rolePermissionPointTable.getLoadingManager(),\r\n this.permissionPointDefineTable.getLoadingManager(),\r\n this.routeDefineTable.getLoadingManager(),\r\n ].forEach((loadingManager) => {\r\n this.getLoadingManager().addLoadingManager(loadingManager);\r\n });\r\n\r\n await this.roleRouteTable.init();\r\n await this.rolePermissionPointTable.init();\r\n\r\n await this.permissionPointDefineTable.init();\r\n await this.routeDefineTable.init();\r\n\r\n this.dataFilter.afterReadyEvent.on(() => {\r\n this.roleRouteTable.dataFilter.setReady();\r\n this.rolePermissionPointTable.dataFilter.setReady();\r\n this.permissionPointDefineTable.dataFilter.setReady();\r\n this.routeDefineTable.dataFilter.setReady();\r\n });\r\n\r\n this.dataFilter.setReady();\r\n }\r\n\r\n formatItem(item: MsMenuResult): MsRoleMenuNode {\r\n const permissionPointDefines = this.permissionPointDefineTable.getList();\r\n\r\n const routeDefines = this.routeDefineTable.getList();\r\n\r\n return {\r\n ...super.formatItem(item),\r\n routes: routeDefines.filter(\r\n (routeDefine) => routeDefine.menuId === item.id\r\n ) as MsRoleMenuNode[\"routes\"],\r\n permissionPoints: permissionPointDefines.filter(\r\n (permissionPointDefine) => permissionPointDefine.menuId === item.id\r\n ),\r\n originalSelected: false,\r\n selected: false,\r\n indeterminate: false,\r\n children: [],\r\n };\r\n }\r\n\r\n setList(list: MsRoleMenuNode[]): void {\r\n super.setList(list);\r\n\r\n const rootRoleMenuNodes = [];\r\n\r\n for (const roleMenuNode of list) {\r\n if (!roleMenuNode.pid) {\r\n rootRoleMenuNodes.push(roleMenuNode);\r\n }\r\n\r\n for (const item of list) {\r\n if (item.pid === roleMenuNode.id) {\r\n roleMenuNode.children.push(item);\r\n }\r\n }\r\n }\r\n\r\n this.rootRoleMenuNodes = this.calculateNotEmptyNode(rootRoleMenuNodes);\r\n }\r\n\r\n calculateNotEmptyNode(list: MsRoleMenuNode[]) {\r\n const result = list.filter(\r\n (item) => item.routes.length || item.children.length\r\n );\r\n\r\n let nodes = [...result];\r\n\r\n for (let i = 0; i < nodes.length; i++) {\r\n const node = nodes[i];\r\n\r\n node.children = node.children.filter(\r\n (item) => item.routes.length || item.children.length\r\n );\r\n\r\n nodes = nodes.concat(node.children);\r\n }\r\n\r\n return result;\r\n }\r\n\r\n getRootRoleMenuNodes() {\r\n return this.rootRoleMenuNodes;\r\n }\r\n\r\n async load(params?: Record<string, any>) {\r\n await Promise.all([\r\n this.permissionPointDefineTable.load(),\r\n this.routeDefineTable.load(),\r\n ]);\r\n\r\n const loadResult = await super.load(params);\r\n\r\n if (loadResult.data.code === 200) {\r\n this.restoreDefaultSelect();\r\n }\r\n\r\n return loadResult;\r\n }\r\n\r\n protected loadRequest(\r\n params: Record<string, any>\r\n ): Promise<ResponseConfig<R<MsMenuResult[]> & { totalRecCount: string }>> {\r\n return this.loadAllRequest(params);\r\n }\r\n\r\n async selectRolePermission(role: MsRole | undefined) {\r\n this.currentRole = role;\r\n this.currentRoleId = role?.id || \"\";\r\n this.currentRoleDesc = role?.desc || \"\";\r\n\r\n this.roleRouteConditionGroup.clear();\r\n this.rolePermissionPointConditionGroup.clear();\r\n\r\n this.roleRouteConditionGroup.addCondition(\r\n \"roleId\",\r\n \"=\",\r\n this.currentRoleId\r\n );\r\n this.rolePermissionPointConditionGroup.addCondition(\r\n \"roleId\",\r\n \"=\",\r\n this.currentRoleId\r\n );\r\n\r\n const [roleRouteTableResult, rolePermissionPointTableResult] =\r\n await Promise.all([\r\n this.roleRouteTable.load(),\r\n this.rolePermissionPointTable.load(),\r\n ]);\r\n\r\n if (roleRouteTableResult.data.code !== 200) {\r\n return;\r\n }\r\n\r\n if (rolePermissionPointTableResult.data.code !== 200) {\r\n return;\r\n }\r\n\r\n this.restoreDefaultSelect();\r\n }\r\n\r\n clearSelected() {\r\n for (const roleMenu of this.getList()) {\r\n roleMenu.indeterminate = roleMenu.selected = false;\r\n }\r\n\r\n for (const rolePermissionPoint of this.permissionPointDefineTable.getList()) {\r\n rolePermissionPoint.selected = false;\r\n }\r\n }\r\n\r\n protected calcSelect() {\r\n postTraverse<MsRoleMenuNode>(this.getRootRoleMenuNodes(), (roleMenu) => {\r\n // 如果自叶级菜单\r\n if (roleMenu.children.length === 0) {\r\n // 选中的权限点\r\n const selectedPermissionPoints = roleMenu.permissionPoints.filter(\r\n (permissionPointDefine) => permissionPointDefine.selected\r\n );\r\n\r\n // 如果有权限点选择就赋予路由权限\r\n roleMenu.selected =\r\n roleMenu.permissionPoints.length === 0\r\n ? roleMenu.selected\r\n : !!selectedPermissionPoints.length || roleMenu.selected;\r\n // 如果不是所有权限点都激活就标识是部分选择\r\n roleMenu.indeterminate =\r\n roleMenu.permissionPoints.length === 0 ||\r\n selectedPermissionPoints.length === 0\r\n ? false\r\n : selectedPermissionPoints.length <\r\n roleMenu.permissionPoints.length;\r\n\r\n return;\r\n }\r\n\r\n // 选中的子菜单\r\n const selectedChildren = roleMenu.children.filter(\r\n (item) => item.selected\r\n );\r\n // 如果有子菜单选中就路由权限\r\n roleMenu.selected = !!selectedChildren.length;\r\n // 如果不是所有子菜单都激活就标识是部分选择\r\n roleMenu.indeterminate =\r\n selectedChildren.length === 0\r\n ? false\r\n : selectedChildren.length < roleMenu.children.length;\r\n });\r\n }\r\n\r\n restoreDefaultSelect() {\r\n this.clearSelected();\r\n\r\n const permissionPointDefineList = this.permissionPointDefineTable.getList();\r\n const rolePermissionList = this.rolePermissionPointTable.getList();\r\n\r\n for (const permissionPointDefine of permissionPointDefineList) {\r\n permissionPointDefine.originalSelected = permissionPointDefine.selected =\r\n false;\r\n }\r\n\r\n if (permissionPointDefineList.length) {\r\n for (const rolePermission of rolePermissionList) {\r\n const permissionPointDefine = permissionPointDefineList.find(\r\n (permissionPointDefine) =>\r\n permissionPointDefine.id === rolePermission.permissionPointDefId\r\n );\r\n\r\n if (permissionPointDefine) {\r\n permissionPointDefine.originalSelected =\r\n permissionPointDefine.selected = true;\r\n }\r\n }\r\n }\r\n\r\n const menuList = this.getList();\r\n const roleRouteList = this.roleRouteTable.getList();\r\n\r\n for (const menu of menuList) {\r\n menu.originalSelected = menu.selected = false;\r\n }\r\n\r\n if (menuList.length) {\r\n for (const roleRoute of roleRouteList) {\r\n const menu = menuList.find((menu) =>\r\n menu.routes.find(\r\n (routeDefine) => routeDefine.id === roleRoute.routeId\r\n )\r\n );\r\n\r\n if (menu) {\r\n menu.originalSelected = menu.selected = true;\r\n }\r\n }\r\n }\r\n\r\n this.calcSelect();\r\n }\r\n\r\n toggleRoleMenu(\r\n roleMenu: MsRoleMenuNode,\r\n selected: boolean = !roleMenu.selected\r\n ) {\r\n postTraverse<MsRoleMenuNode>([roleMenu], (roleMenu) => {\r\n // 如果自叶级菜单\r\n if (roleMenu.children.length === 0) {\r\n for (const permissionPointDefine of roleMenu.permissionPoints) {\r\n permissionPointDefine.selected = selected;\r\n }\r\n\r\n roleMenu.selected = selected;\r\n return;\r\n }\r\n\r\n roleMenu.selected = selected;\r\n });\r\n\r\n this.calcSelect();\r\n }\r\n\r\n toggleRolePermissionPoint(\r\n permissionPointDefine: MsRolePermissionPointDefine,\r\n selected: boolean = !permissionPointDefine.selected\r\n ) {\r\n permissionPointDefine.selected = selected;\r\n\r\n this.calcSelect();\r\n }\r\n\r\n async submitPermission() {\r\n const permissionPointDefines = this.permissionPointDefineTable.getList();\r\n const removePermissionPointDefines = permissionPointDefines.filter(\r\n (permissionPointDefine) =>\r\n permissionPointDefine.originalSelected &&\r\n !permissionPointDefine.selected\r\n );\r\n\r\n const addPermissionPointDefine = permissionPointDefines.filter(\r\n (permissionPointDefine) =>\r\n !permissionPointDefine.originalSelected &&\r\n permissionPointDefine.selected\r\n );\r\n\r\n const menus = this.getList();\r\n const removeRoutes = menus\r\n .filter((menu) => menu.originalSelected && !menu.selected)\r\n .flatMap((menu) => menu.routes);\r\n const addRoutes = menus\r\n .filter((menu) => !menu.originalSelected && menu.selected)\r\n .flatMap((menu) => menu.routes);\r\n\r\n if (removePermissionPointDefines.length) {\r\n const rolePermissionPoints = this.rolePermissionPointTable.getList();\r\n const deleteRolePermissionPointResult =\r\n await this.rolePermissionPointTable.batchDelete(\r\n removePermissionPointDefines\r\n .map(\r\n (permissionPointDefine) =>\r\n rolePermissionPoints.find(\r\n (rolePermissionPoint) =>\r\n rolePermissionPoint.permissionPointDefId ===\r\n permissionPointDefine.id\r\n )!\r\n )\r\n .filter(Boolean)\r\n );\r\n\r\n if (deleteRolePermissionPointResult.data.code !== 200) {\r\n return deleteRolePermissionPointResult;\r\n }\r\n }\r\n\r\n if (removeRoutes.length) {\r\n const roleRoutes = this.roleRouteTable.getList();\r\n const deleteRoleRouteResult = await this.roleRouteTable.batchDelete(\r\n removeRoutes\r\n .map(\r\n (route) =>\r\n roleRoutes.find((roleRoute) => roleRoute.routeId === route.id)!\r\n )\r\n .filter(Boolean)\r\n );\r\n\r\n if (deleteRoleRouteResult.data.code !== 200) {\r\n return deleteRoleRouteResult;\r\n }\r\n }\r\n\r\n if (addPermissionPointDefine.length) {\r\n const addRolePermissionPointResult =\r\n await this.rolePermissionPointTable.batchAdd(\r\n addPermissionPointDefine.map((item) => ({\r\n id: \"\",\r\n roleId: this.currentRoleId,\r\n permissionPointDefId: item.id,\r\n }))\r\n );\r\n\r\n if (addRolePermissionPointResult.data.code !== 200) {\r\n return addRolePermissionPointResult;\r\n }\r\n }\r\n\r\n if (addRoutes.length) {\r\n const addRoleRouteResult = await this.roleRouteTable.batchAdd(\r\n addRoutes.map((item) => ({\r\n id: \"\",\r\n roleId: this.currentRoleId,\r\n routeId: item.id,\r\n }))\r\n );\r\n\r\n if (addRoleRouteResult.data.code !== 200) {\r\n return addRoleRouteResult;\r\n }\r\n }\r\n\r\n await this.selectRolePermission(this.currentRole);\r\n }\r\n\r\n /**\r\n * 是否发生变更\r\n */\r\n hasChange() {\r\n const permissionPointDefines = this.permissionPointDefineTable.getList();\r\n const removePermissionPointDefines = permissionPointDefines.filter(\r\n (permissionPointDefine) =>\r\n permissionPointDefine.originalSelected &&\r\n !permissionPointDefine.selected\r\n );\r\n\r\n const addPermissionPointDefine = permissionPointDefines.filter(\r\n (permissionPointDefine) =>\r\n !permissionPointDefine.originalSelected &&\r\n permissionPointDefine.selected\r\n );\r\n\r\n const menus = this.getList();\r\n const removeRoutes = menus\r\n .filter((menu) => menu.originalSelected && !menu.selected)\r\n .flatMap((menu) => menu.routes);\r\n const addRoutes = menus\r\n .filter((menu) => !menu.originalSelected && menu.selected)\r\n .flatMap((menu) => menu.routes);\r\n return !!(\r\n removePermissionPointDefines.length ||\r\n removeRoutes.length ||\r\n addPermissionPointDefine.length ||\r\n addRoutes.length\r\n );\r\n }\r\n}\r\n"],"names":["MsMenuTable","MsRoleRouteTable","MsRolePermissionPointTable","Group","MsPermissionPointDefineTable","MsRouteTable","postTraverse","permissionPointDefine","menu","roleMenu"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MsRoleTable.js","sources":["../../../../../../src/modules/ms/dataviews/ms-role/MsRoleTable.ts"],"sourcesContent":["import {\n DataTable,\n DataTableOptions,\n TableColumn,\n FilterColumn,\n TableActionColumn,\n ActionButton,\n EditButton,\n DeleteButton,\n TableHeaderItem,\n RefreshButton,\n AddButton,\n} from \"@maketribe/dm\";\nimport { MsRole } from \"./MsRoleForm\";\nimport { Event } from \"@maketribe/utils\";\nimport { MSAppClient } from \"../../../../core\";\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\nimport { MODULE_NAME } from \"../../constants\";\n\nexport class MsRoleTable<\n F extends MsRole = MsRole,\n T extends MsRole = MsRole\n> extends DataTable<T, F> {\n static [DATA_MODEL_NAME]: string = \"ms-role\";\n\n configRolePermissionEvent: Event<{ item: MsRole }> = this.register(\n new Event()\n );\n\n constructor(options: DataTableOptions = {}) {\n super({\n name: MsRoleTable[DATA_MODEL_NAME],\n moduleName: MODULE_NAME,\n ...options,\n });\n }\n\n protected async initialize() {\n await super.initialize();\n\n this.header.rightArea = [\n new RefreshButton(),\n new AddButton(),\n new TableHeaderItem({\n componentInfo: \"MKBatchOpt\",\n predicate: () =>\n MSAppClient.instance?.userSession?.userInfo?.isSuper ?? false,\n }),\n ];\n\n this.dataFilter.setColumns([\n new FilterColumn({\n name: \"name\",\n label: \"角色名\",\n componentInfo: \"MKConditionInput\",\n }),\n new FilterColumn({\n name: \"desc\",\n label: \"角色描述\",\n componentInfo: \"MKConditionInput\",\n }),\n ]);\n\n this.setColumns([\n new TableColumn({ name: \"id\", label: \"编号\", visible: false }),\n new TableColumn({ name: \"name\", label: \"角色名\" }),\n new TableColumn({ name: \"desc\", label: \"角色描述\" }),\n new TableActionColumn({\n width: \"160px\",\n buttons: [\n new ActionButton({\n label: \"权限\",\n handler: (row: MsRole) => {\n this.configRolePermissionEvent.emit({ item: row });\n },\n }),\n new EditButton(),\n new DeleteButton(),\n ],\n }),\n ]);\n }\n\n formatItem(item: T): F {\n return {\n id: item.id,\n name: item.name || \"\",\n desc: item.desc || \"\",\n } as F;\n }\n}\n"],"names":["DataTable","DATA_MODEL_NAME","MODULE_NAME","Event","RefreshButton","AddButton","TableHeaderItem","MSAppClient","FilterColumn","TableColumn","TableActionColumn","ActionButton","EditButton","DeleteButton"],"mappings":";;;;;;;;;;;;;;;AAmBO,MAAM,eAAN,MAAM,sBAGHA,QAAAA,WACAC,eAAAA,iBADAD,IAAgB;AAAA,EAOxB,YAAY,UAA4B,IAAI;AACpC,UAAA;AAAA,MACJ,MAAM,aAAYC,yBAAe;AAAA,MACjC,YAAYC,MAAA;AAAA,MACZ,GAAG;AAAA,IAAA,CACJ;AATH,qDAAqD,KAAK;AAAA,MACxD,IAAIC,YAAM;AAAA,IAAA;AAAA,EASZ;AAAA,EAEA,MAAgB,aAAa;AAC3B,UAAM,MAAM;AAEZ,SAAK,OAAO,YAAY;AAAA,MACtB,IAAIC,iBAAc;AAAA,MAClB,IAAIC,aAAU;AAAA,MACd,IAAIC,mBAAgB;AAAA,QAClB,eAAe;AAAA,QACf,WAAW,MACTC;;AAAAA,yBAAAA,OAAAA,MAAAA,YAAAA,YAAY,aAAZA,gBAAAA,IAAsB,gBAAtBA,gBAAAA,IAAmC,aAAnCA,mBAA6C,YAAW;AAAA;AAAA,MAAA,CAC3D;AAAA,IAAA;AAGH,SAAK,WAAW,WAAW;AAAA,MACzB,IAAIC,gBAAa;AAAA,QACf,MAAM;AAAA,QACN,OAAO;AAAA,QACP,eAAe;AAAA,MAAA,CAChB;AAAA,MACD,IAAIA,gBAAa;AAAA,QACf,MAAM;AAAA,QACN,OAAO;AAAA,QACP,eAAe;AAAA,MAAA,CAChB;AAAA,IAAA,CACF;AAED,SAAK,WAAW;AAAA,MACd,IAAIC,eAAY,EAAE,MAAM,MAAM,OAAO,MAAM,SAAS,OAAO;AAAA,MAC3D,IAAIA,GAAAA,YAAY,EAAE,MAAM,QAAQ,OAAO,OAAO;AAAA,MAC9C,IAAIA,GAAAA,YAAY,EAAE,MAAM,QAAQ,OAAO,QAAQ;AAAA,MAC/C,IAAIC,qBAAkB;AAAA,QACpB,OAAO;AAAA,QACP,SAAS;AAAA,UACP,IAAIC,gBAAa;AAAA,YACf,OAAO;AAAA,YACP,SAAS,CAAC,QAAgB;AACxB,mBAAK,0BAA0B,KAAK,EAAE,MAAM,IAAK,CAAA;AAAA,YACnD;AAAA,UAAA,CACD;AAAA,UACD,IAAIC,cAAW;AAAA,UACf,IAAIC,gBAAa;AAAA,QACnB;AAAA,MAAA,CACD;AAAA,IAAA,CACF;AAAA,EACH;AAAA,EAEA,WAAW,MAAY;AACd,WAAA;AAAA,MACL,IAAI,KAAK;AAAA,MACT,MAAM,KAAK,QAAQ;AAAA,MACnB,MAAM,KAAK,QAAQ;AAAA,IAAA;AAAA,EAEvB;AACF;AAnEE,cAJW,cAIHZ,IAA2B;AAJ9B,IAAM,cAAN;;"}
|
|
1
|
+
{"version":3,"file":"MsRoleTable.js","sources":["../../../../../../src/modules/ms/dataviews/ms-role/MsRoleTable.ts"],"sourcesContent":["import {\r\n DataTable,\r\n DataTableOptions,\r\n TableColumn,\r\n FilterColumn,\r\n TableActionColumn,\r\n ActionButton,\r\n EditButton,\r\n DeleteButton,\r\n TableHeaderItem,\r\n RefreshButton,\r\n AddButton,\r\n} from \"@maketribe/dm\";\r\nimport { MsRole } from \"./MsRoleForm\";\r\nimport { Event } from \"@maketribe/utils\";\r\nimport { MSAppClient } from \"../../../../core\";\r\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\r\nimport { MODULE_NAME } from \"../../constants\";\r\n\r\nexport class MsRoleTable<\r\n F extends MsRole = MsRole,\r\n T extends MsRole = MsRole\r\n> extends DataTable<T, F> {\r\n static [DATA_MODEL_NAME]: string = \"ms-role\";\r\n\r\n configRolePermissionEvent: Event<{ item: MsRole }> = this.register(\r\n new Event()\r\n );\r\n\r\n constructor(options: DataTableOptions = {}) {\r\n super({\r\n name: MsRoleTable[DATA_MODEL_NAME],\r\n moduleName: MODULE_NAME,\r\n ...options,\r\n });\r\n }\r\n\r\n protected async initialize() {\r\n await super.initialize();\r\n\r\n this.header.rightArea = [\r\n new RefreshButton(),\r\n new AddButton(),\r\n new TableHeaderItem({\r\n componentInfo: \"MKBatchOpt\",\r\n predicate: () =>\r\n MSAppClient.instance?.userSession?.userInfo?.isSuper ?? false,\r\n }),\r\n ];\r\n\r\n this.dataFilter.setColumns([\r\n new FilterColumn({\r\n name: \"name\",\r\n label: \"角色名\",\r\n componentInfo: \"MKConditionInput\",\r\n }),\r\n new FilterColumn({\r\n name: \"desc\",\r\n label: \"角色描述\",\r\n componentInfo: \"MKConditionInput\",\r\n }),\r\n ]);\r\n\r\n this.setColumns([\r\n new TableColumn({ name: \"id\", label: \"编号\", visible: false }),\r\n new TableColumn({ name: \"name\", label: \"角色名\" }),\r\n new TableColumn({ name: \"desc\", label: \"角色描述\" }),\r\n new TableActionColumn({\r\n width: \"160px\",\r\n buttons: [\r\n new ActionButton({\r\n label: \"权限\",\r\n handler: (row: MsRole) => {\r\n this.configRolePermissionEvent.emit({ item: row });\r\n },\r\n }),\r\n new EditButton(),\r\n new DeleteButton(),\r\n ],\r\n }),\r\n ]);\r\n }\r\n\r\n formatItem(item: T): F {\r\n return {\r\n id: item.id,\r\n name: item.name || \"\",\r\n desc: item.desc || \"\",\r\n } as F;\r\n }\r\n}\r\n"],"names":["DataTable","DATA_MODEL_NAME","MODULE_NAME","Event","RefreshButton","AddButton","TableHeaderItem","MSAppClient","FilterColumn","TableColumn","TableActionColumn","ActionButton","EditButton","DeleteButton"],"mappings":";;;;;;;;;;;;;;;AAmBO,MAAM,eAAN,MAAM,sBAGHA,QAAAA,WACAC,eAAAA,iBADAD,IAAgB;AAAA,EAOxB,YAAY,UAA4B,IAAI;AACpC,UAAA;AAAA,MACJ,MAAM,aAAYC,yBAAe;AAAA,MACjC,YAAYC,MAAA;AAAA,MACZ,GAAG;AAAA,IAAA,CACJ;AATH,qDAAqD,KAAK;AAAA,MACxD,IAAIC,YAAM;AAAA,IAAA;AAAA,EASZ;AAAA,EAEA,MAAgB,aAAa;AAC3B,UAAM,MAAM;AAEZ,SAAK,OAAO,YAAY;AAAA,MACtB,IAAIC,iBAAc;AAAA,MAClB,IAAIC,aAAU;AAAA,MACd,IAAIC,mBAAgB;AAAA,QAClB,eAAe;AAAA,QACf,WAAW,MACTC;;AAAAA,yBAAAA,OAAAA,MAAAA,YAAAA,YAAY,aAAZA,gBAAAA,IAAsB,gBAAtBA,gBAAAA,IAAmC,aAAnCA,mBAA6C,YAAW;AAAA;AAAA,MAAA,CAC3D;AAAA,IAAA;AAGH,SAAK,WAAW,WAAW;AAAA,MACzB,IAAIC,gBAAa;AAAA,QACf,MAAM;AAAA,QACN,OAAO;AAAA,QACP,eAAe;AAAA,MAAA,CAChB;AAAA,MACD,IAAIA,gBAAa;AAAA,QACf,MAAM;AAAA,QACN,OAAO;AAAA,QACP,eAAe;AAAA,MAAA,CAChB;AAAA,IAAA,CACF;AAED,SAAK,WAAW;AAAA,MACd,IAAIC,eAAY,EAAE,MAAM,MAAM,OAAO,MAAM,SAAS,OAAO;AAAA,MAC3D,IAAIA,GAAAA,YAAY,EAAE,MAAM,QAAQ,OAAO,OAAO;AAAA,MAC9C,IAAIA,GAAAA,YAAY,EAAE,MAAM,QAAQ,OAAO,QAAQ;AAAA,MAC/C,IAAIC,qBAAkB;AAAA,QACpB,OAAO;AAAA,QACP,SAAS;AAAA,UACP,IAAIC,gBAAa;AAAA,YACf,OAAO;AAAA,YACP,SAAS,CAAC,QAAgB;AACxB,mBAAK,0BAA0B,KAAK,EAAE,MAAM,IAAK,CAAA;AAAA,YACnD;AAAA,UAAA,CACD;AAAA,UACD,IAAIC,cAAW;AAAA,UACf,IAAIC,gBAAa;AAAA,QACnB;AAAA,MAAA,CACD;AAAA,IAAA,CACF;AAAA,EACH;AAAA,EAEA,WAAW,MAAY;AACd,WAAA;AAAA,MACL,IAAI,KAAK;AAAA,MACT,MAAM,KAAK,QAAQ;AAAA,MACnB,MAAM,KAAK,QAAQ;AAAA,IAAA;AAAA,EAEvB;AACF;AAnEE,cAJW,cAIHZ,IAA2B;AAJ9B,IAAM,cAAN;;"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
4
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
6
|
+
const index = require("../components/image-select/index.js");
|
|
7
|
+
require("../../../components/basic/upload-file/upload-file.js");
|
|
8
|
+
const UploadContext = require("../../../components/basic/upload-file/context/UploadContext.js");
|
|
9
|
+
const request = require("@maketribe/request");
|
|
10
|
+
const utils = require("@maketribe/utils");
|
|
11
|
+
require("../../../components/basic/upload-file/context/web-file-upload-context.js");
|
|
12
|
+
require("../../../components/basic/upload-file/context/web-file-upload-context-options.js");
|
|
13
|
+
require("../../../components/basic/upload-file/ui/upload-image/index.js");
|
|
14
|
+
require("../../../components/basic/upload-file/upload-file-options.js");
|
|
15
|
+
class ImageUploadContext extends UploadContext.UploadContext {
|
|
16
|
+
/**
|
|
17
|
+
*
|
|
18
|
+
* @param cutSise 裁切尺寸
|
|
19
|
+
*/
|
|
20
|
+
constructor(cutSise) {
|
|
21
|
+
super();
|
|
22
|
+
__publicField(this, "cutSise");
|
|
23
|
+
this.cutSise = cutSise;
|
|
24
|
+
}
|
|
25
|
+
async selectFile() {
|
|
26
|
+
let cutWidth = 0;
|
|
27
|
+
let cutHeight = 0;
|
|
28
|
+
if (this.cutSise) {
|
|
29
|
+
let cutInfo = this.cutSise.split("*");
|
|
30
|
+
cutWidth = parseInt(cutInfo[0]) || 0;
|
|
31
|
+
cutHeight = parseInt(cutInfo[1]) || cutWidth;
|
|
32
|
+
}
|
|
33
|
+
const result = await index.MKImageSelect(cutWidth, cutHeight);
|
|
34
|
+
let path = result.path;
|
|
35
|
+
if (path && path.indexOf("data:image/") == 0) {
|
|
36
|
+
const webFileUpload = new request.WebFileUpload();
|
|
37
|
+
const blob = utils.base64ToBlob(path);
|
|
38
|
+
const uploadResult = await webFileUpload.upload(
|
|
39
|
+
new File([blob], `${utils.md5(Math.random().toString())}.${blob.type.toString().replace("image/", "") || "png"}`, { type: blob.type })
|
|
40
|
+
);
|
|
41
|
+
if (uploadResult.data.code !== 200) {
|
|
42
|
+
return {
|
|
43
|
+
success: false,
|
|
44
|
+
path: "",
|
|
45
|
+
msg: uploadResult.data.msg
|
|
46
|
+
};
|
|
47
|
+
} else {
|
|
48
|
+
path = uploadResult.data.data.path;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return { success: true, path, msg: "" };
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
exports.ImageUploadContext = ImageUploadContext;
|
|
55
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/modules/ms/image-upload-context/index.ts"],"sourcesContent":["import { MKImageSelect } from \"../components/image-select\";\r\nimport { UploadContext, UploadResult } from \"../../../components/basic/upload-file\";\r\nimport { base64ToBlob,md5 } from \"@maketribe/utils\";\r\nimport { WebFileUpload } from \"@maketribe/request\";\r\n\r\n\r\n/**\r\n * 图片上传上下文\r\n */\r\nexport class ImageUploadContext extends UploadContext {\r\n cutSise?:string;\r\n\r\n /**\r\n * \r\n * @param cutSise 裁切尺寸 \r\n */\r\n\tconstructor(cutSise?:string) {\r\n\t\tsuper();\r\n this.cutSise = cutSise;\r\n\t}\r\n\r\n\tasync selectFile(): Promise<UploadResult> {\r\n\r\n let cutWidth = 0;\r\n let cutHeight = 0;\r\n\r\n if(this.cutSise){\r\n let cutInfo = this.cutSise.split(\"*\");\r\n cutWidth = parseInt(cutInfo[0]) || 0;\r\n cutHeight = parseInt(cutInfo[1]) || cutWidth;\r\n }\r\n\r\n\r\n\t\tconst result = await MKImageSelect(cutWidth,cutHeight);\r\n\r\n let path:any = result.path;\r\n\r\n // base 64 则上传\r\n if(path && path.indexOf(\"data:image/\") == 0){\r\n\r\n const webFileUpload = new WebFileUpload();\r\n // 开始上传\r\n const blob = base64ToBlob(path); \r\n\r\n // 上传\r\n const uploadResult = await webFileUpload.upload(\r\n new File([blob], `${md5(Math.random().toString())}.${blob.type.toString().replace(\"image/\",\"\") || \"png\"}`, { type: blob.type })\r\n );\r\n\r\n if (uploadResult.data.code !== 200) {\r\n \r\n return {\r\n success: false, path: \"\", msg: uploadResult.data.msg,\r\n };\r\n }\r\n else{\r\n path = uploadResult.data.data.path;\r\n }\r\n }\r\n\r\n\t\treturn { success: true, path: path, msg: \"\", };\r\n\t}\r\n}\r\n"],"names":["UploadContext","MKImageSelect","WebFileUpload","base64ToBlob","md5"],"mappings":";;;;;;;;;;;;;;AASO,MAAM,2BAA2BA,cAAAA,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA,EAOrD,YAAY,SAAiB;AACtB;AAPN;AAQE,SAAK,UAAU;AAAA,EAClB;AAAA,EAEA,MAAM,aAAoC;AAEvC,QAAI,WAAW;AACf,QAAI,YAAY;AAEhB,QAAG,KAAK,SAAQ;AACd,UAAI,UAAU,KAAK,QAAQ,MAAM,GAAG;AACpC,iBAAW,SAAS,QAAQ,CAAC,CAAC,KAAK;AACnC,kBAAY,SAAS,QAAQ,CAAC,CAAC,KAAK;AAAA,IACtC;AAGF,UAAM,SAAS,MAAMC,MAAAA,cAAc,UAAS,SAAS;AAEnD,QAAI,OAAW,OAAO;AAGtB,QAAG,QAAQ,KAAK,QAAQ,aAAa,KAAK,GAAE;AAEpC,YAAA,gBAAgB,IAAIC,QAAAA;AAEpB,YAAA,OAAOC,mBAAa,IAAI;AAGxB,YAAA,eAAe,MAAM,cAAc;AAAA,QACvC,IAAI,KAAK,CAAC,IAAI,GAAG,GAAGC,MAAAA,IAAI,KAAK,OAAO,EAAE,SAAU,CAAA,CAAC,IAAI,KAAK,KAAK,SAAS,EAAE,QAAQ,UAAS,EAAE,KAAK,KAAK,IAAI,EAAE,MAAM,KAAK,KAAA,CAAM;AAAA,MAAA;AAG5H,UAAA,aAAa,KAAK,SAAS,KAAK;AAE3B,eAAA;AAAA,UACL,SAAS;AAAA,UAAO,MAAM;AAAA,UAAK,KAAM,aAAa,KAAK;AAAA,QAAA;AAAA,MACrD,OAEE;AACK,eAAA,aAAa,KAAK,KAAK;AAAA,MAChC;AAAA,IACF;AAEF,WAAO,EAAE,SAAS,MAAM,MAAY,KAAK,GAAI;AAAA,EAC9C;AACD;;"}
|
|
@@ -47,6 +47,8 @@ require("../../components/basic/upload-file/ui/upload-image/index.js");
|
|
|
47
47
|
require("../../components/basic/upload-file/upload-file-options.js");
|
|
48
48
|
const materialUploadContextOptions = require("./material-upload-context/material-upload-context-options.js");
|
|
49
49
|
const materialUploadContext = require("./material-upload-context/material-upload-context.js");
|
|
50
|
+
require("@element-plus/icons-vue");
|
|
51
|
+
require("../../components/basic/image-cropper/index.js");
|
|
50
52
|
const _interopNamespaceDefaultOnly = (e) => Object.freeze(Object.defineProperty({ __proto__: null, default: e }, Symbol.toStringTag, { value: "Module" }));
|
|
51
53
|
const msModule = (module2) => {
|
|
52
54
|
module2.registerDataTable(MsConfigTable.MsConfigTable);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/modules/ms/index.ts"],"sourcesContent":["import { defineAsyncComponent } from \"vue\";\nimport { InternalMkModule, MkModule } from \"../../core\";\nimport {\n MsConfigTable,\n MsConfigForm,\n MsDenyIPAccessListForm,\n MsDenyIPAccessListTable,\n MsIPWhitelistTable,\n MsIPWhitelistForm,\n MsMaterialTable,\n MsMaterialForm,\n MsMaterialGroupTree,\n MsMaterialGroupForm,\n MsMemberTable,\n MsMemberForm,\n MsMenuTree,\n MsMenuForm,\n MsPermissionPointDefineTable,\n MsPermissionPointDefineForm,\n MsRouteTable,\n MsRouteForm,\n MsRegionTable,\n MsRegionForm,\n MsRoleTable,\n MsRoleForm,\n} from \"./dataviews\";\nimport { MKMaterialSelect } from \"./components\";\n\nexport * from \"./dataviews\";\n\nexport * from \"./components\";\n\nexport * from \"./material-upload-context\";\n\nconst msModule: MkModule = (module: InternalMkModule) => {\n // module.app.use(MKMaterialSelect);\n\n // 注册配置相关DataModel\n module.registerDataTable(MsConfigTable);\n module.registerDataForm(MsConfigForm);\n\n // 注册黑名单相关DataModel\n module.registerDataTable(MsDenyIPAccessListTable);\n module.registerDataForm(MsDenyIPAccessListForm);\n\n // 注册白名单相关DataModel\n module.registerDataTable(MsIPWhitelistTable);\n module.registerDataForm(MsIPWhitelistForm);\n\n // 注册素材相关DataModel\n module.registerDataTable(MsMaterialTable);\n module.registerDataForm(MsMaterialForm);\n module.registerDataTree(MsMaterialGroupTree);\n module.registerDataForm(MsMaterialGroupForm);\n\n // 注册成员相关DataModel\n module.registerDataTable(MsMemberTable);\n module.registerDataForm(MsMemberForm);\n\n // 注册菜单相关DataModel\n module.registerDataTree(MsMenuTree);\n module.registerDataForm(MsMenuForm);\n module.registerDataTable(MsPermissionPointDefineTable);\n module.registerDataForm(MsPermissionPointDefineForm);\n module.registerDataTable(MsRouteTable);\n module.registerDataForm(MsRouteForm);\n\n // 注册省市区相关DataModel\n module.registerDataTable(MsRegionTable);\n module.registerDataForm(MsRegionForm);\n\n // 注册角色相关DataModel\n module.registerDataTable(MsRoleTable);\n module.registerDataForm(MsRoleForm);\n\n module.dataFormComponents.registerComponent({\n name: \"MKFormRichTextEditor\",\n title: \"富文本\",\n component: defineAsyncComponent(\n () => import(\"./components/rich-text-editor\")\n ),\n });\n\n module.registerExtendsPage({\n name: \"dv/ms-material/list\",\n path: \"/sys/materials\",\n component: () => import(\"./pages/ms-material/index.vue\"),\n meta: { name: \"ms-material\" },\n });\n\n module.registerExtendsPage({\n name: \"dv/ms-role/single/list/dialog\",\n path: \"/sys/roles\",\n component: () => import(\"./pages/ms-role/index.vue\"),\n meta: { name: \"ms-role\" },\n });\n\n module.registerExtendsPage({\n name: \"dv/local-log/single/tree/dialog\",\n path: \"/log/local\",\n component: () => import(\"./pages/local-log/index.vue\"),\n meta: { name: \"local-log\" },\n });\n\n module.registerExtendsPage({\n name: \"dv/ms-menu/list\",\n path: \"/sys/menus\",\n component: () => import(\"./pages/ms-menu/index.vue\"),\n meta: { name: \"ms-menu\" },\n });\n\n module.registerExtendsPage({\n name: \"icons/list\",\n path: \"/sys/icons\",\n component: () => import(\"./pages/icons/index.vue\"),\n });\n};\n\nexport default msModule;\n"],"names":["module","MsConfigTable","MsConfigForm","MsDenyIPAccessListTable","MsDenyIPAccessListForm","MsIPWhitelistTable","MsIPWhitelistForm","MsMaterialTable","MsMaterialForm","MsMaterialGroupTree","MsMaterialGroupForm","MsMemberTable","MsMemberForm","MsMenuTree","MsMenuForm","MsPermissionPointDefineTable","MsPermissionPointDefineForm","MsRouteTable","MsRouteForm","MsRegionTable","MsRegionForm","MsRoleTable","MsRoleForm","defineAsyncComponent"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/modules/ms/index.ts"],"sourcesContent":["import { defineAsyncComponent } from \"vue\";\r\nimport { InternalMkModule, MkModule } from \"../../core\";\r\nimport {\r\n MsConfigTable,\r\n MsConfigForm,\r\n MsDenyIPAccessListForm,\r\n MsDenyIPAccessListTable,\r\n MsIPWhitelistTable,\r\n MsIPWhitelistForm,\r\n MsMaterialTable,\r\n MsMaterialForm,\r\n MsMaterialGroupTree,\r\n MsMaterialGroupForm,\r\n MsMemberTable,\r\n MsMemberForm,\r\n MsMenuTree,\r\n MsMenuForm,\r\n MsPermissionPointDefineTable,\r\n MsPermissionPointDefineForm,\r\n MsRouteTable,\r\n MsRouteForm,\r\n MsRegionTable,\r\n MsRegionForm,\r\n MsRoleTable,\r\n MsRoleForm,\r\n} from \"./dataviews\";\r\nimport { MKMaterialSelect } from \"./components\";\r\n\r\nexport * from \"./dataviews\";\r\n\r\nexport * from \"./components\";\r\n\r\nexport * from \"./material-upload-context\";\r\n\r\nexport * from \"./image-upload-context\";\r\n\r\nconst msModule: MkModule = (module: InternalMkModule) => {\r\n // module.app.use(MKMaterialSelect);\r\n\r\n // 注册配置相关DataModel\r\n module.registerDataTable(MsConfigTable);\r\n module.registerDataForm(MsConfigForm);\r\n\r\n // 注册黑名单相关DataModel\r\n module.registerDataTable(MsDenyIPAccessListTable);\r\n module.registerDataForm(MsDenyIPAccessListForm);\r\n\r\n // 注册白名单相关DataModel\r\n module.registerDataTable(MsIPWhitelistTable);\r\n module.registerDataForm(MsIPWhitelistForm);\r\n\r\n // 注册素材相关DataModel\r\n module.registerDataTable(MsMaterialTable);\r\n module.registerDataForm(MsMaterialForm);\r\n module.registerDataTree(MsMaterialGroupTree);\r\n module.registerDataForm(MsMaterialGroupForm);\r\n\r\n // 注册成员相关DataModel\r\n module.registerDataTable(MsMemberTable);\r\n module.registerDataForm(MsMemberForm);\r\n\r\n // 注册菜单相关DataModel\r\n module.registerDataTree(MsMenuTree);\r\n module.registerDataForm(MsMenuForm);\r\n module.registerDataTable(MsPermissionPointDefineTable);\r\n module.registerDataForm(MsPermissionPointDefineForm);\r\n module.registerDataTable(MsRouteTable);\r\n module.registerDataForm(MsRouteForm);\r\n\r\n // 注册省市区相关DataModel\r\n module.registerDataTable(MsRegionTable);\r\n module.registerDataForm(MsRegionForm);\r\n\r\n // 注册角色相关DataModel\r\n module.registerDataTable(MsRoleTable);\r\n module.registerDataForm(MsRoleForm);\r\n\r\n module.dataFormComponents.registerComponent({\r\n name: \"MKFormRichTextEditor\",\r\n title: \"富文本\",\r\n component: defineAsyncComponent(\r\n () => import(\"./components/rich-text-editor\")\r\n ),\r\n });\r\n\r\n module.registerExtendsPage({\r\n name: \"dv/ms-material/list\",\r\n path: \"/sys/materials\",\r\n component: () => import(\"./pages/ms-material/index.vue\"),\r\n meta: { name: \"ms-material\" },\r\n });\r\n\r\n module.registerExtendsPage({\r\n name: \"dv/ms-role/single/list/dialog\",\r\n path: \"/sys/roles\",\r\n component: () => import(\"./pages/ms-role/index.vue\"),\r\n meta: { name: \"ms-role\" },\r\n });\r\n\r\n module.registerExtendsPage({\r\n name: \"dv/local-log/single/tree/dialog\",\r\n path: \"/log/local\",\r\n component: () => import(\"./pages/local-log/index.vue\"),\r\n meta: { name: \"local-log\" },\r\n });\r\n\r\n module.registerExtendsPage({\r\n name: \"dv/ms-menu/list\",\r\n path: \"/sys/menus\",\r\n component: () => import(\"./pages/ms-menu/index.vue\"),\r\n meta: { name: \"ms-menu\" },\r\n });\r\n\r\n module.registerExtendsPage({\r\n name: \"icons/list\",\r\n path: \"/sys/icons\",\r\n component: () => import(\"./pages/icons/index.vue\"),\r\n });\r\n};\r\n\r\nexport default msModule;\r\n"],"names":["module","MsConfigTable","MsConfigForm","MsDenyIPAccessListTable","MsDenyIPAccessListForm","MsIPWhitelistTable","MsIPWhitelistForm","MsMaterialTable","MsMaterialForm","MsMaterialGroupTree","MsMaterialGroupForm","MsMemberTable","MsMemberForm","MsMenuTree","MsMenuForm","MsPermissionPointDefineTable","MsPermissionPointDefineForm","MsRouteTable","MsRouteForm","MsRegionTable","MsRegionForm","MsRoleTable","MsRoleForm","defineAsyncComponent"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCM,MAAA,WAAqB,CAACA,YAA6B;AAIvD,EAAAA,QAAO,kBAAkBC,cAAAA,aAAa;AACtC,EAAAD,QAAO,iBAAiBE,aAAAA,YAAY;AAGpC,EAAAF,QAAO,kBAAkBG,wBAAAA,uBAAuB;AAChD,EAAAH,QAAO,iBAAiBI,uBAAAA,sBAAsB;AAG9C,EAAAJ,QAAO,kBAAkBK,mBAAAA,kBAAkB;AAC3C,EAAAL,QAAO,iBAAiBM,kBAAAA,iBAAiB;AAGzC,EAAAN,QAAO,kBAAkBO,gBAAAA,eAAe;AACxC,EAAAP,QAAO,iBAAiBQ,eAAAA,cAAc;AACtC,EAAAR,QAAO,iBAAiBS,oBAAAA,mBAAmB;AAC3C,EAAAT,QAAO,iBAAiBU,oBAAAA,mBAAmB;AAG3C,EAAAV,QAAO,kBAAkBW,cAAAA,aAAa;AACtC,EAAAX,QAAO,iBAAiBY,aAAAA,YAAY;AAGpC,EAAAZ,QAAO,iBAAiBa,WAAAA,UAAU;AAClC,EAAAb,QAAO,iBAAiBc,WAAAA,UAAU;AAClC,EAAAd,QAAO,kBAAkBe,6BAAAA,4BAA4B;AACrD,EAAAf,QAAO,iBAAiBgB,4BAAAA,2BAA2B;AACnD,EAAAhB,QAAO,kBAAkBiB,aAAAA,YAAY;AACrC,EAAAjB,QAAO,iBAAiBkB,YAAAA,WAAW;AAGnC,EAAAlB,QAAO,kBAAkBmB,cAAAA,aAAa;AACtC,EAAAnB,QAAO,iBAAiBoB,aAAAA,YAAY;AAGpC,EAAApB,QAAO,kBAAkBqB,YAAAA,WAAW;AACpC,EAAArB,QAAO,iBAAiBsB,WAAAA,UAAU;AAElC,EAAAtB,QAAO,mBAAmB,kBAAkB;AAAA,IAC1C,MAAM;AAAA,IACN,OAAO;AAAA,IACP,WAAWuB,IAAA;AAAA,MACT,MAAM,QAAO,QAAA,EAAA,KAAA,MAAA,QAAA,wCAA+B,CAAA;AAAA,IAC9C;AAAA,EAAA,CACD;AAED,EAAAvB,QAAO,oBAAoB;AAAA,IACzB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,QAAA,QAAA,EAAA,KAAA,MAAA,6CAAA,QAAO,kCAA+B,CAAA,CAAA;AAAA,IACvD,MAAM,EAAE,MAAM,cAAc;AAAA,EAAA,CAC7B;AAED,EAAAA,QAAO,oBAAoB;AAAA,IACzB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,QAAA,QAAA,EAAA,KAAA,MAAA,6CAAA,QAAO,8BAA2B,CAAA,CAAA;AAAA,IACnD,MAAM,EAAE,MAAM,UAAU;AAAA,EAAA,CACzB;AAED,EAAAA,QAAO,oBAAoB;AAAA,IACzB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,QAAA,QAAA,EAAA,KAAA,MAAA,6CAAA,QAAO,gCAA6B,CAAA,CAAA;AAAA,IACrD,MAAM,EAAE,MAAM,YAAY;AAAA,EAAA,CAC3B;AAED,EAAAA,QAAO,oBAAoB;AAAA,IACzB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,QAAA,QAAA,EAAA,KAAA,MAAA,6CAAA,QAAO,8BAA2B,CAAA,CAAA;AAAA,IACnD,MAAM,EAAE,MAAM,UAAU;AAAA,EAAA,CACzB;AAED,EAAAA,QAAO,oBAAoB;AAAA,IACzB,MAAM;AAAA,IACN,MAAM;AAAA,IACN,WAAW,MAAM,QAAA,QAAA,EAAA,KAAA,MAAA,6CAAA,QAAO,4BAAyB,CAAA,CAAA;AAAA,EAAA,CAClD;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MaterialUploadContext.js","sources":["../../../../../src/modules/ms/material-upload-context/MaterialUploadContext.ts"],"sourcesContent":["import { MKMaterialSelect } from \"../components\";\nimport { MsMaterialType } from \"../dataviews\";\nimport {\n UploadContext,\n UploadResult,\n} from \"../../../components/basic/upload-file\";\n\nexport type MaterialUploadContextOptions = {\n allowMaterialTypeValues?: MsMaterialType[\"value\"][];\n};\n\nexport class MaterialUploadContext extends UploadContext {\n allowMaterialTypeValues: MsMaterialType[\"value\"][];\n\n\tconstructor(options: MaterialUploadContextOptions = {}) {\n\t\tsuper();\n\n\t\tthis.allowMaterialTypeValues = options.allowMaterialTypeValues || [];\n\t}\n\n setAllowMaterialTypeValues(\n allowMaterialTypeValues: MsMaterialType[\"value\"][]\n ) {\n this.allowMaterialTypeValues = allowMaterialTypeValues;\n }\n\n\tasync selectFile(): Promise<UploadResult> {\n\t\tconst materialSelectResult = await MKMaterialSelect({\n\t\t\tallowMaterialTypeValues: this.allowMaterialTypeValues,\n\t\t});\n\n\t\treturn {\n\t\t\tsuccess: true,\n\t\t\tpath: materialSelectResult.path,\n\t\t\tmsg: \"\",\n\t\t};\n\t}\n}\n"],"names":["UploadContext","MKMaterialSelect"],"mappings":";;;;;;;;;;;;;;;;;AAWO,MAAM,8BAA8BA,cAAAA,cAAc;AAAA,EAGxD,YAAY,UAAwC,IAAI;AACjD;AAHN;AAKK,SAAA,0BAA0B,QAAQ,2BAA2B,CAAA;AAAA,EACnE;AAAA,EAEC,2BACE,yBACA;AACA,SAAK,0BAA0B;AAAA,EACjC;AAAA,EAED,MAAM,aAAoC;AACnC,UAAA,uBAAuB,MAAMC,uBAAiB;AAAA,MACnD,yBAAyB,KAAK;AAAA,IAAA,CAC9B;AAEM,WAAA;AAAA,MACN,SAAS;AAAA,MACT,MAAM,qBAAqB;AAAA,MAC3B,KAAK;AAAA,IAAA;AAAA,EAEP;AACD;;"}
|
|
1
|
+
{"version":3,"file":"MaterialUploadContext.js","sources":["../../../../../src/modules/ms/material-upload-context/MaterialUploadContext.ts"],"sourcesContent":["import { MKMaterialSelect } from \"../components\";\r\nimport { MsMaterialType } from \"../dataviews\";\r\nimport {\r\n UploadContext,\r\n UploadResult,\r\n} from \"../../../components/basic/upload-file\";\r\n\r\nexport type MaterialUploadContextOptions = {\r\n allowMaterialTypeValues?: MsMaterialType[\"value\"][];\r\n};\r\n\r\nexport class MaterialUploadContext extends UploadContext {\r\n allowMaterialTypeValues: MsMaterialType[\"value\"][];\r\n\r\n\tconstructor(options: MaterialUploadContextOptions = {}) {\r\n\t\tsuper();\r\n\r\n\t\tthis.allowMaterialTypeValues = options.allowMaterialTypeValues || [];\r\n\t}\r\n\r\n setAllowMaterialTypeValues(\r\n allowMaterialTypeValues: MsMaterialType[\"value\"][]\r\n ) {\r\n this.allowMaterialTypeValues = allowMaterialTypeValues;\r\n }\r\n\r\n\tasync selectFile(): Promise<UploadResult> {\r\n\t\tconst materialSelectResult = await MKMaterialSelect({\r\n\t\t\tallowMaterialTypeValues: this.allowMaterialTypeValues,\r\n\t\t});\r\n\r\n\t\treturn {\r\n\t\t\tsuccess: true,\r\n\t\t\tpath: materialSelectResult.path,\r\n\t\t\tmsg: \"\",\r\n\t\t};\r\n\t}\r\n}\r\n"],"names":["UploadContext","MKMaterialSelect"],"mappings":";;;;;;;;;;;;;;;;;AAWO,MAAM,8BAA8BA,cAAAA,cAAc;AAAA,EAGxD,YAAY,UAAwC,IAAI;AACjD;AAHN;AAKK,SAAA,0BAA0B,QAAQ,2BAA2B,CAAA;AAAA,EACnE;AAAA,EAEC,2BACE,yBACA;AACA,SAAK,0BAA0B;AAAA,EACjC;AAAA,EAED,MAAM,aAAoC;AACnC,UAAA,uBAAuB,MAAMC,uBAAiB;AAAA,MACnD,yBAAyB,KAAK;AAAA,IAAA,CAC9B;AAEM,WAAA;AAAA,MACN,SAAS;AAAA,MACT,MAAM,qBAAqB;AAAA,MAC3B,KAAK;AAAA,IAAA;AAAA,EAEP;AACD;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material-upload-context-options.js","sources":["../../../../../src/modules/ms/material-upload-context/material-upload-context-options.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\nimport { buildProps } from \"@maketribe/utils\";\nimport { MsMaterialType } from \"../dataviews\";\n\nexport const materialUploadContextProps = buildProps({\n allowMaterialTypeValues: {\n type: Array<MsMaterialType[\"value\"]>,\n },\n} as const);\n\nexport type MaterialUploadContextProps = ExtractPropTypes<\n typeof materialUploadContextProps\n>;\n"],"names":["buildProps"],"mappings":";;;AAIO,MAAM,6BAA6BA,MAAAA,WAAW;AAAA,EACnD,yBAAyB;AAAA,IACvB,MAAM;AAAA,EACR;AACF,CAAU;;"}
|
|
1
|
+
{"version":3,"file":"material-upload-context-options.js","sources":["../../../../../src/modules/ms/material-upload-context/material-upload-context-options.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\r\nimport { buildProps } from \"@maketribe/utils\";\r\nimport { MsMaterialType } from \"../dataviews\";\r\n\r\nexport const materialUploadContextProps = buildProps({\r\n allowMaterialTypeValues: {\r\n type: Array<MsMaterialType[\"value\"]>,\r\n },\r\n} as const);\r\n\r\nexport type MaterialUploadContextProps = ExtractPropTypes<\r\n typeof materialUploadContextProps\r\n>;\r\n"],"names":["buildProps"],"mappings":";;;AAIO,MAAM,6BAA6BA,MAAAA,WAAW;AAAA,EACnD,yBAAyB;AAAA,IACvB,MAAM;AAAA,EACR;AACF,CAAU;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material-upload-context.js","sources":["../../../../../src/modules/ms/material-upload-context/material-upload-context.tsx"],"sourcesContent":["import { computed, defineComponent, inject, unref, watch } from \"vue\";\nimport { materialUploadContextProps } from \"./material-upload-context-options\";\nimport { MaterialUploadContext } from \"./MaterialUploadContext\";\nimport { UploadContextCtxKey } from \"../../../components/basic/upload-file\";\nimport { withInstall } from \"@maketribe/utils\";\n\nconst _MaterialUploadContext = defineComponent({\n name: \"MKMaterialUploadContext\",\n props: materialUploadContextProps,\n inheritAttrs: false,\n setup(props, { slots }) {\n const allowMaterialTypeValues = computed(\n () => props.allowMaterialTypeValues\n );\n\n const materialUploadContext = new MaterialUploadContext({\n allowMaterialTypeValues: unref(allowMaterialTypeValues) ?? [],\n });\n\n watch(allowMaterialTypeValues, (allowMaterialTypeValues) => {\n materialUploadContext.setAllowMaterialTypeValues(\n allowMaterialTypeValues ?? []\n );\n });\n\n inject(UploadContextCtxKey, { uploadContext: materialUploadContext });\n\n return () => {\n return slots.default?.();\n };\n },\n});\n\nexport const MKMaterialUploadContext = withInstall(_MaterialUploadContext);\n"],"names":["_MaterialUploadContext","defineComponent","name","props","materialUploadContextProps","inheritAttrs","setup","slots","allowMaterialTypeValues","computed","materialUploadContext","MaterialUploadContext","unref","watch","setAllowMaterialTypeValues","inject","UploadContextCtxKey","uploadContext","default","MKMaterialUploadContext","withInstall"],"mappings":";;;;;;;;;;;;;AAMA,MAAMA,yBAAyBC,oBAAAA,gBAAgB;AAAA,EAC7CC,MAAM;AAAA,EACNC,OAAOC,6BAA0B;AAAA,EACjCC,cAAc;AAAA,EACdC,MAAMH,OAAO;AAAA,IAAEI;AAAAA,EAAM,GAAG;AACtB,UAAMC,0BAA0BC,IAAQ,SACtC,MAAMN,MAAMK,uBACd;AAEA,UAAME,wBAAwB,IAAIC,4CAAsB;AAAA,MACtDH,yBAAyBI,IAAAA,MAAMJ,uBAAuB,KAAK,CAAA;AAAA,IAC7D,CAAC;AAEDK,QAAK,MAACL,yBAA0BA,CAAAA,6BAA4B;AAC1DE,4BAAsBI,2BACpBN,4BAA2B,CAAA,CAC7B;AAAA,IACF,CAAC;AAEDO,QAAAA,OAAOC,cAAAA,qBAAqB;AAAA,MAAEC,eAAeP;AAAAA,IAAsB,CAAC;AAEpE,WAAO,MAAM;;AACX,cAAOH,WAAMW,YAANX;AAAAA;EAEX;AACF,CAAC;MAEYY,0BAA0BC,MAAW,YAACpB,sBAAsB;;"}
|
|
1
|
+
{"version":3,"file":"material-upload-context.js","sources":["../../../../../src/modules/ms/material-upload-context/material-upload-context.tsx"],"sourcesContent":["import { computed, defineComponent, inject, unref, watch } from \"vue\";\r\nimport { materialUploadContextProps } from \"./material-upload-context-options\";\r\nimport { MaterialUploadContext } from \"./MaterialUploadContext\";\r\nimport { UploadContextCtxKey } from \"../../../components/basic/upload-file\";\r\nimport { withInstall } from \"@maketribe/utils\";\r\n\r\nconst _MaterialUploadContext = defineComponent({\r\n name: \"MKMaterialUploadContext\",\r\n props: materialUploadContextProps,\r\n inheritAttrs: false,\r\n setup(props, { slots }) {\r\n const allowMaterialTypeValues = computed(\r\n () => props.allowMaterialTypeValues\r\n );\r\n\r\n const materialUploadContext = new MaterialUploadContext({\r\n allowMaterialTypeValues: unref(allowMaterialTypeValues) ?? [],\r\n });\r\n\r\n watch(allowMaterialTypeValues, (allowMaterialTypeValues) => {\r\n materialUploadContext.setAllowMaterialTypeValues(\r\n allowMaterialTypeValues ?? []\r\n );\r\n });\r\n\r\n inject(UploadContextCtxKey, { uploadContext: materialUploadContext });\r\n\r\n return () => {\r\n return slots.default?.();\r\n };\r\n },\r\n});\r\n\r\nexport const MKMaterialUploadContext = withInstall(_MaterialUploadContext);\r\n"],"names":["_MaterialUploadContext","defineComponent","name","props","materialUploadContextProps","inheritAttrs","setup","slots","allowMaterialTypeValues","computed","materialUploadContext","MaterialUploadContext","unref","watch","setAllowMaterialTypeValues","inject","UploadContextCtxKey","uploadContext","default","MKMaterialUploadContext","withInstall"],"mappings":";;;;;;;;;;;;;AAMA,MAAMA,yBAAyBC,oBAAAA,gBAAgB;AAAA,EAC7CC,MAAM;AAAA,EACNC,OAAOC,6BAA0B;AAAA,EACjCC,cAAc;AAAA,EACdC,MAAMH,OAAO;AAAA,IAAEI;AAAAA,EAAM,GAAG;AACtB,UAAMC,0BAA0BC,IAAQ,SACtC,MAAMN,MAAMK,uBACd;AAEA,UAAME,wBAAwB,IAAIC,4CAAsB;AAAA,MACtDH,yBAAyBI,IAAAA,MAAMJ,uBAAuB,KAAK,CAAA;AAAA,IAC7D,CAAC;AAEDK,QAAK,MAACL,yBAA0BA,CAAAA,6BAA4B;AAC1DE,4BAAsBI,2BACpBN,4BAA2B,CAAA,CAC7B;AAAA,IACF,CAAC;AAEDO,QAAAA,OAAOC,cAAAA,qBAAqB;AAAA,MAAEC,eAAeP;AAAAA,IAAsB,CAAC;AAEpE,WAAO,MAAM;;AACX,cAAOH,WAAMW,YAANX;AAAAA;EAEX;AACF,CAAC;MAEYY,0BAA0BC,MAAW,YAACpB,sBAAsB;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/ms/pages/icons/index.vue"],"sourcesContent":["<template>\n <MKPageContainer>\n <ElCard>\n <ElScrollbar height=\"100%\">\n <ElInput\n v-model=\"search\"\n placeholder=\"搜索图标\"\n :suffix-icon=\"elIcons.Search\"\n />\n\n <ul class=\"mk-icon-list\">\n <li class=\"mk-icon-list__item\" v-for=\"icon in filteredIcons\">\n <div class=\"mk-icon-item\" @click=\"handleClick(icon)\">\n <div class=\"mk-icon-item__icon\">\n <MKSvgIcon :iconClass=\"icon\" />\n </div>\n\n <div class=\"mk-icon-item__name\">\n {{ icon }}\n </div>\n </div>\n </li>\n </ul>\n </ElScrollbar>\n </ElCard>\n </MKPageContainer>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, onMounted, ref, Ref, unref } from \"vue\";\nimport { ElMessage } from \"element-plus\";\nimport * as elIcons from \"@element-plus/icons-vue\";\nimport { MKPageContainer } from \"../../../../components\";\n\nconst icons: Ref<string[]> = ref([]);\n\nconst search = ref(\"\");\n\nconst filteredIcons = computed(() => {\n const _search = unref(search).toLowerCase();\n\n return unref(icons).filter((icon) => icon.toLowerCase().includes(_search));\n});\n\nonMounted(() => {\n const svgList: NodeListOf<SVGElement> = document.querySelectorAll(\n 'body > svg[aria-hidden=\"true\"]'\n );\n\n let iconList: string[] = [];\n\n for (const svg of Array.from(svgList)) {\n const symbols = svg.querySelectorAll(\"symbol\");\n\n iconList = iconList.concat(\n Array.from(symbols).map((symbol) => symbol.id.replace(/^icon-/, \"\"))\n );\n }\n\n icons.value = Array.from(new Set([...Object.keys(elIcons), ...iconList]));\n});\n\nconst handleClick = (icon: string) => {\n const content = `<MKSvgIcon iconClass=\"${icon}\"/>`;\n\n if (navigator.clipboard === undefined) {\n //通过input标签进行复制\n const input = document.createElement(\"input\");\n input.value = content;\n document.body.appendChild(input);\n input.select();\n document.execCommand(\"Copy\");\n document.body.removeChild(input);\n } else {\n navigator.clipboard.writeText(content);\n }\n\n ElMessage.success(\"复制成功\");\n};\n</script>\n"],"names":["ref","computed","unref","onMounted","elIcons","ElMessage"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCM,UAAA,QAAuBA,QAAI,CAAA,CAAE;AAE7B,UAAA,SAASA,QAAI,EAAE;AAEf,UAAA,gBAAgBC,IAAAA,SAAS,MAAM;AACnC,YAAM,UAAUC,IAAA,MAAM,MAAM,EAAE,YAAY;AAEnC,aAAAA,UAAM,KAAK,EAAE,OAAO,CAAC,SAAS,KAAK,YAAY,EAAE,SAAS,OAAO,CAAC;AAAA,IAAA,CAC1E;AAEDC,QAAAA,UAAU,MAAM;AACd,YAAM,UAAkC,SAAS;AAAA,QAC/C;AAAA,MAAA;AAGF,UAAI,WAAqB,CAAA;AAEzB,iBAAW,OAAO,MAAM,KAAK,OAAO,GAAG;AAC/B,cAAA,UAAU,IAAI,iBAAiB,QAAQ;AAE7C,mBAAW,SAAS;AAAA,UAClB,MAAM,KAAK,OAAO,EAAE,IAAI,CAAC,WAAW,OAAO,GAAG,QAAQ,UAAU,EAAE,CAAC;AAAA,QAAA;AAAA,MAEvE;AAEA,YAAM,QAAQ,MAAM,KAAK,oBAAI,IAAI,CAAC,GAAG,OAAO,KAAKC,kBAAO,GAAG,GAAG,QAAQ,CAAC,CAAC;AAAA,IAAA,CACzE;AAEK,UAAA,cAAc,CAAC,SAAiB;AAC9B,YAAA,UAAU,yBAAyB,IAAI;AAEzC,UAAA,UAAU,cAAc,QAAW;AAE/B,cAAA,QAAQ,SAAS,cAAc,OAAO;AAC5C,cAAM,QAAQ;AACL,iBAAA,KAAK,YAAY,KAAK;AAC/B,cAAM,OAAO;AACb,iBAAS,YAAY,MAAM;AAClB,iBAAA,KAAK,YAAY,KAAK;AAAA,MAAA,OAC1B;AACK,kBAAA,UAAU,UAAU,OAAO;AAAA,MACvC;AAEAC,4BAAU,QAAQ,MAAM;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/ms/pages/icons/index.vue"],"sourcesContent":["<template>\r\n <MKPageContainer>\r\n <ElCard>\r\n <ElScrollbar height=\"100%\">\r\n <ElInput\r\n v-model=\"search\"\r\n placeholder=\"搜索图标\"\r\n :suffix-icon=\"elIcons.Search\"\r\n />\r\n\r\n <ul class=\"mk-icon-list\">\r\n <li class=\"mk-icon-list__item\" v-for=\"icon in filteredIcons\">\r\n <div class=\"mk-icon-item\" @click=\"handleClick(icon)\">\r\n <div class=\"mk-icon-item__icon\">\r\n <MKSvgIcon :iconClass=\"icon\" />\r\n </div>\r\n\r\n <div class=\"mk-icon-item__name\">\r\n {{ icon }}\r\n </div>\r\n </div>\r\n </li>\r\n </ul>\r\n </ElScrollbar>\r\n </ElCard>\r\n </MKPageContainer>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { computed, onMounted, ref, Ref, unref } from \"vue\";\r\nimport { ElMessage } from \"element-plus\";\r\nimport * as elIcons from \"@element-plus/icons-vue\";\r\nimport { MKPageContainer } from \"../../../../components\";\r\n\r\nconst icons: Ref<string[]> = ref([]);\r\n\r\nconst search = ref(\"\");\r\n\r\nconst filteredIcons = computed(() => {\r\n const _search = unref(search).toLowerCase();\r\n\r\n return unref(icons).filter((icon) => icon.toLowerCase().includes(_search));\r\n});\r\n\r\nonMounted(() => {\r\n const svgList: NodeListOf<SVGElement> = document.querySelectorAll(\r\n 'body > svg[aria-hidden=\"true\"]'\r\n );\r\n\r\n let iconList: string[] = [];\r\n\r\n for (const svg of Array.from(svgList)) {\r\n const symbols = svg.querySelectorAll(\"symbol\");\r\n\r\n iconList = iconList.concat(\r\n Array.from(symbols).map((symbol) => symbol.id.replace(/^icon-/, \"\"))\r\n );\r\n }\r\n\r\n icons.value = Array.from(new Set([...Object.keys(elIcons), ...iconList]));\r\n});\r\n\r\nconst handleClick = (icon: string) => {\r\n const content = `<MKSvgIcon iconClass=\"${icon}\"/>`;\r\n\r\n if (navigator.clipboard === undefined) {\r\n //通过input标签进行复制\r\n const input = document.createElement(\"input\");\r\n input.value = content;\r\n document.body.appendChild(input);\r\n input.select();\r\n document.execCommand(\"Copy\");\r\n document.body.removeChild(input);\r\n } else {\r\n navigator.clipboard.writeText(content);\r\n }\r\n\r\n ElMessage.success(\"复制成功\");\r\n};\r\n</script>\r\n"],"names":["ref","computed","unref","onMounted","elIcons","ElMessage"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCM,UAAA,QAAuBA,QAAI,CAAA,CAAE;AAE7B,UAAA,SAASA,QAAI,EAAE;AAEf,UAAA,gBAAgBC,IAAAA,SAAS,MAAM;AACnC,YAAM,UAAUC,IAAA,MAAM,MAAM,EAAE,YAAY;AAEnC,aAAAA,UAAM,KAAK,EAAE,OAAO,CAAC,SAAS,KAAK,YAAY,EAAE,SAAS,OAAO,CAAC;AAAA,IAAA,CAC1E;AAEDC,QAAAA,UAAU,MAAM;AACd,YAAM,UAAkC,SAAS;AAAA,QAC/C;AAAA,MAAA;AAGF,UAAI,WAAqB,CAAA;AAEzB,iBAAW,OAAO,MAAM,KAAK,OAAO,GAAG;AAC/B,cAAA,UAAU,IAAI,iBAAiB,QAAQ;AAE7C,mBAAW,SAAS;AAAA,UAClB,MAAM,KAAK,OAAO,EAAE,IAAI,CAAC,WAAW,OAAO,GAAG,QAAQ,UAAU,EAAE,CAAC;AAAA,QAAA;AAAA,MAEvE;AAEA,YAAM,QAAQ,MAAM,KAAK,oBAAI,IAAI,CAAC,GAAG,OAAO,KAAKC,kBAAO,GAAG,GAAG,QAAQ,CAAC,CAAC;AAAA,IAAA,CACzE;AAEK,UAAA,cAAc,CAAC,SAAiB;AAC9B,YAAA,UAAU,yBAAyB,IAAI;AAEzC,UAAA,UAAU,cAAc,QAAW;AAE/B,cAAA,QAAQ,SAAS,cAAc,OAAO;AAC5C,cAAM,QAAQ;AACL,iBAAA,KAAK,YAAY,KAAK;AAC/B,cAAM,OAAO;AACb,iBAAS,YAAY,MAAM;AAClB,iBAAA,KAAK,YAAY,KAAK;AAAA,MAAA,OAC1B;AACK,kBAAA,UAAU,UAAU,OAAO;AAAA,MACvC;AAEAC,4BAAU,QAAQ,MAAM;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/ms/pages/local-log/index.vue"],"sourcesContent":["<template>\n <MKDataTablePage\n v-if=\"localLogTree\"\n :auto-load=\"false\"\n :data-table=\"localLogTree\"\n >\n <div class=\"mk-local-log__main\">\n <ElCard>\n <ElScrollbar height=\"100%\">\n <MKTree\n v-loading=\"localLogTree.loading\"\n lazy\n :data-tree=\"localLogTree\"\n :defaultExpandAll=\"false\"\n ref=\"treeRef\"\n >\n <template #node-tools=\"{ node, data }\">\n <ElButton\n v-if=\"!data.data.isDirectory\"\n type=\"primary\"\n link\n @click=\"handleViewLogClick(data)\"\n >\n 下载\n </ElButton>\n <ElButton\n v-else-if=\"node.expanded\"\n type=\"primary\"\n link\n @click=\"handleRefresh(node, data)\"\n >\n 刷新\n </ElButton>\n </template>\n </MKTree>\n </ElScrollbar>\n </ElCard>\n </div>\n </MKDataTablePage>\n</template>\n\n<script setup lang=\"ts\">\nimport { reactive, onMounted, ref, unref, Ref } from \"vue\";\nimport { ElScrollbar, ElCard, ElMessage } from \"element-plus\";\nimport { DataModelDefines } from \"../../../../core\";\nimport { LocalLogTree } from \"../../dataviews\";\nimport { MKTree } from \"../../../../components\";\n\nconst treeRef: Ref<InstanceType<typeof MKTree> | null> = ref(null);\n\nconst localLogTree = reactive(\n DataModelDefines.instance.getDataTree(\"local-log\")!\n) as LocalLogTree;\n\nconst handleRefresh = (node: any, dataTreeNode: any) => {\n for (let i = node.childNodes.length - 1; i >= 0; i--) {\n node.childNodes[i].remove();\n }\n\n dataTreeNode.load();\n};\n\nconst handleViewLogClick = async (node: any) => {\n try {\n const response = await localLogTree.httpRequest.get<Blob>(\n \"/ms/ms/system/view-local-log-file\",\n {\n params: { filename: node.data!.path },\n responseType: \"blob\",\n }\n );\n const url = URL.createObjectURL(response.data);\n\n const a = document.createElement(\"a\");\n a.target = \"_blank\";\n a.download = node.data.name;\n a.href = url;\n\n a.click();\n } catch (e) {\n console.error(e);\n\n ElMessage.error(\"网络异常\");\n }\n};\n\nonMounted(() => {\n localLogTree.afterInitdEvent.once(async () => {\n setTimeout(() => {\n const node = unref(treeRef)?.treeRef?.getNode(localLogTree.rootNode!.id);\n\n if (node) {\n node.expand();\n }\n });\n });\n});\n</script>\n"],"names":["ref","reactive","DataModelDefines","ElMessage","onMounted","unref"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDM,UAAA,UAAmDA,QAAI,IAAI;AAEjE,UAAM,eAAeC,IAAA;AAAA,MACnBC,kCAAiB,SAAS,YAAY,WAAW;AAAA,IAAA;AAG7C,UAAA,gBAAgB,CAAC,MAAW,iBAAsB;AACtD,eAAS,IAAI,KAAK,WAAW,SAAS,GAAG,KAAK,GAAG,KAAK;AAC/C,aAAA,WAAW,CAAC,EAAE,OAAO;AAAA,MAC5B;AAEA,mBAAa,KAAK;AAAA,IAAA;AAGd,UAAA,qBAAqB,OAAO,SAAc;AAC1C,UAAA;AACI,cAAA,WAAW,MAAM,aAAa,YAAY;AAAA,UAC9C;AAAA,UACA;AAAA,YACE,QAAQ,EAAE,UAAU,KAAK,KAAM,KAAK;AAAA,YACpC,cAAc;AAAA,UAChB;AAAA,QAAA;AAEF,cAAM,MAAM,IAAI,gBAAgB,SAAS,IAAI;AAEvC,cAAA,IAAI,SAAS,cAAc,GAAG;AACpC,UAAE,SAAS;AACT,UAAA,WAAW,KAAK,KAAK;AACvB,UAAE,OAAO;AAET,UAAE,MAAM;AAAA,eACD,GAAG;AACV,gBAAQ,MAAM,CAAC;AAEfC,8BAAU,MAAM,MAAM;AAAA,MACxB;AAAA,IAAA;AAGFC,QAAAA,UAAU,MAAM;AACD,mBAAA,gBAAgB,KAAK,YAAY;AAC5C,mBAAW,MAAM;;AACT,gBAAA,QAAOC,qBAAM,OAAO,MAAbA,mBAAgB,YAAhBA,mBAAyB,QAAQ,aAAa,SAAU;AAErE,cAAI,MAAM;AACR,iBAAK,OAAO;AAAA,UACd;AAAA,QAAA,CACD;AAAA,MAAA,CACF;AAAA,IAAA,CACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/ms/pages/local-log/index.vue"],"sourcesContent":["<template>\r\n <MKDataTablePage\r\n v-if=\"localLogTree\"\r\n :auto-load=\"false\"\r\n :data-table=\"localLogTree\"\r\n >\r\n <div class=\"mk-local-log__main\">\r\n <ElCard>\r\n <ElScrollbar height=\"100%\">\r\n <MKTree\r\n v-loading=\"localLogTree.loading\"\r\n lazy\r\n :data-tree=\"localLogTree\"\r\n :defaultExpandAll=\"false\"\r\n ref=\"treeRef\"\r\n >\r\n <template #node-tools=\"{ node, data }\">\r\n <ElButton\r\n v-if=\"!data.data.isDirectory\"\r\n type=\"primary\"\r\n link\r\n @click=\"handleViewLogClick(data)\"\r\n >\r\n 下载\r\n </ElButton>\r\n <ElButton\r\n v-else-if=\"node.expanded\"\r\n type=\"primary\"\r\n link\r\n @click=\"handleRefresh(node, data)\"\r\n >\r\n 刷新\r\n </ElButton>\r\n </template>\r\n </MKTree>\r\n </ElScrollbar>\r\n </ElCard>\r\n </div>\r\n </MKDataTablePage>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { reactive, onMounted, ref, unref, Ref } from \"vue\";\r\nimport { ElScrollbar, ElCard, ElMessage } from \"element-plus\";\r\nimport { DataModelDefines } from \"../../../../core\";\r\nimport { LocalLogTree } from \"../../dataviews\";\r\nimport { MKTree } from \"../../../../components\";\r\n\r\nconst treeRef: Ref<InstanceType<typeof MKTree> | null> = ref(null);\r\n\r\nconst localLogTree = reactive(\r\n DataModelDefines.instance.getDataTree(\"local-log\")!\r\n) as LocalLogTree;\r\n\r\nconst handleRefresh = (node: any, dataTreeNode: any) => {\r\n for (let i = node.childNodes.length - 1; i >= 0; i--) {\r\n node.childNodes[i].remove();\r\n }\r\n\r\n dataTreeNode.load();\r\n};\r\n\r\nconst handleViewLogClick = async (node: any) => {\r\n try {\r\n const response = await localLogTree.httpRequest.get<Blob>(\r\n \"/ms/ms/system/view-local-log-file\",\r\n {\r\n params: { filename: node.data!.path },\r\n responseType: \"blob\",\r\n }\r\n );\r\n const url = URL.createObjectURL(response.data);\r\n\r\n const a = document.createElement(\"a\");\r\n a.target = \"_blank\";\r\n a.download = node.data.name;\r\n a.href = url;\r\n\r\n a.click();\r\n } catch (e) {\r\n console.error(e);\r\n\r\n ElMessage.error(\"网络异常\");\r\n }\r\n};\r\n\r\nonMounted(() => {\r\n localLogTree.afterInitdEvent.once(async () => {\r\n setTimeout(() => {\r\n const node = unref(treeRef)?.treeRef?.getNode(localLogTree.rootNode!.id);\r\n\r\n if (node) {\r\n node.expand();\r\n }\r\n });\r\n });\r\n});\r\n</script>\r\n"],"names":["ref","reactive","DataModelDefines","ElMessage","onMounted","unref"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDM,UAAA,UAAmDA,QAAI,IAAI;AAEjE,UAAM,eAAeC,IAAA;AAAA,MACnBC,kCAAiB,SAAS,YAAY,WAAW;AAAA,IAAA;AAG7C,UAAA,gBAAgB,CAAC,MAAW,iBAAsB;AACtD,eAAS,IAAI,KAAK,WAAW,SAAS,GAAG,KAAK,GAAG,KAAK;AAC/C,aAAA,WAAW,CAAC,EAAE,OAAO;AAAA,MAC5B;AAEA,mBAAa,KAAK;AAAA,IAAA;AAGd,UAAA,qBAAqB,OAAO,SAAc;AAC1C,UAAA;AACI,cAAA,WAAW,MAAM,aAAa,YAAY;AAAA,UAC9C;AAAA,UACA;AAAA,YACE,QAAQ,EAAE,UAAU,KAAK,KAAM,KAAK;AAAA,YACpC,cAAc;AAAA,UAChB;AAAA,QAAA;AAEF,cAAM,MAAM,IAAI,gBAAgB,SAAS,IAAI;AAEvC,cAAA,IAAI,SAAS,cAAc,GAAG;AACpC,UAAE,SAAS;AACT,UAAA,WAAW,KAAK,KAAK;AACvB,UAAE,OAAO;AAET,UAAE,MAAM;AAAA,eACD,GAAG;AACV,gBAAQ,MAAM,CAAC;AAEfC,8BAAU,MAAM,MAAM;AAAA,MACxB;AAAA,IAAA;AAGFC,QAAAA,UAAU,MAAM;AACD,mBAAA,gBAAgB,KAAK,YAAY;AAC5C,mBAAW,MAAM;;AACT,gBAAA,QAAOC,qBAAM,OAAO,MAAbA,mBAAgB,YAAhBA,mBAAyB,QAAQ,aAAa,SAAU;AAErE,cAAI,MAAM;AACR,iBAAK,OAAO;AAAA,UACd;AAAA,QAAA,CACD;AAAA,MAAA,CACF;AAAA,IAAA,CACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -37,6 +37,7 @@ require("../../../../core/DataModelDefines.js");
|
|
|
37
37
|
require("vue-router");
|
|
38
38
|
require("@maketribe/locale");
|
|
39
39
|
require("../../dataviews/ms-config/MsConfigTable.js");
|
|
40
|
+
require("lodash-es");
|
|
40
41
|
require("../../dataviews/department/DepartmentForm.js");
|
|
41
42
|
require("../../dataviews/department/DepartmentTable.js");
|
|
42
43
|
require("../../dataviews/department/DepartmentTree.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -38,6 +38,7 @@ require("../../../../components/business/resource-list/index.js");
|
|
|
38
38
|
require("../../../../components/business/resource-manager/index.js");
|
|
39
39
|
const useSingleView = require("../../../../composables/use-single-view.js");
|
|
40
40
|
require("../../dataviews/ms-config/MsConfigTable.js");
|
|
41
|
+
require("lodash-es");
|
|
41
42
|
const MsRouteTable = require("../../dataviews/ms-menu/ms-route/MsRouteTable.js");
|
|
42
43
|
require("../../dataviews/department/DepartmentForm.js");
|
|
43
44
|
require("../../dataviews/department/DepartmentTable.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/ms/pages/ms-menu/index.vue"],"sourcesContent":["<template>\n <MKPageContainer v-if=\"dataTree\">\n <MKDataTable :data-table=\"dataTree\" enableQueryParams>\n <MKTableView>\n <MKTableTree defaultExpandAll>\n <template #col-data.title-content=\"{ row }\">\n <MKSvgIcon :iconClass=\"row.data.iconName\" />\n <span class=\"ms-menu__title\">{{ row.data.title }}</span>\n <ElButton\n v-if=\"row.data.type === MenuType.Menu\"\n link\n type=\"primary\"\n class=\"ms-menu__url\"\n @click=\"handleUrlClick(row.data)\"\n >\n {{ row.data.targetUrl || \"空\" }}\n </ElButton>\n </template>\n </MKTableTree>\n </MKTableView>\n </MKDataTable>\n </MKPageContainer>\n</template>\n<script setup lang=\"ts\">\nimport {\n unref,\n computed,\n watch,\n ref,\n Ref,\n reactive,\n onBeforeUnmount,\n} from \"vue\";\nimport { useRouter } from \"vue-router\";\nimport { DataForm, DataTree, Dialoger } from \"@maketribe/dm\";\nimport { DvOpt } from \"@maketribe/request\";\nimport { ElMessage } from \"element-plus\";\nimport { DataModelDefines } from \"../../../../core\";\nimport {\n MKPageContainer,\n MKDataTable,\n MKTableView,\n MKTableTree,\n} from \"../../../../components\";\nimport { useSingleViewWithDialog } from \"../../../../composables\";\nimport { MenuType } from \"../../../../constants\";\nimport { MsRouteTable, MsMenuItemNode } from \"../../dataviews\";\n\nconst router = useRouter();\n\nconst dataTree: Ref<DataTree | null> = ref(null);\nconst dataForm: Ref<DataForm | null> = ref(null);\n\nconst routeTable = reactive(new MsRouteTable()) as MsRouteTable;\n\nwatch(\n computed(() => unref(router.currentRoute).meta.name as string),\n (name) => {\n dataTree.value = DataModelDefines.instance.getDataTree(name);\n\n dataForm.value = DataModelDefines.instance.getDataForm(name);\n },\n { immediate: true }\n);\n\nconst handleUrlClick = async (item: MsMenuItemNode) => {\n routeTable.useCondition((defaultGroup) => {\n defaultGroup.clear();\n defaultGroup.addCondition(\"menuId\", \"=\", item.id);\n });\n\n const result = await Dialoger.dataTableSelectDialog(routeTable);\n\n if (!result.isConfirm) {\n return;\n }\n\n try {\n unref(dataTree)?.getLoadingManager().startLoading();\n\n const response = await DvOpt.createInstance({ name: \"ms-menu\" }).save({\n id: item.id,\n routeId: result.selections[0],\n });\n\n if (response.code !== 200) {\n ElMessage.error(response.msg);\n return;\n }\n\n unref(dataTree)?.load();\n\n ElMessage.success(\"更新成功\");\n } catch {\n ElMessage.error(\"网络异常\");\n } finally {\n unref(dataTree)?.getLoadingManager().completeLoading();\n }\n};\n\nuseSingleViewWithDialog({ dataTable: dataTree, dataForm });\n\nonBeforeUnmount(() => {\n routeTable.dispose();\n});\n</script>\n"],"names":["useRouter","ref","reactive","MsRouteTable","watch","computed","unref","DataModelDefines","Dialoger","DvOpt","ElMessage","useSingleViewWithDialog","onBeforeUnmount"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/ms/pages/ms-menu/index.vue"],"sourcesContent":["<template>\r\n <MKPageContainer v-if=\"dataTree\">\r\n <MKDataTable :data-table=\"dataTree\" enableQueryParams>\r\n <MKTableView>\r\n <MKTableTree defaultExpandAll>\r\n <template #col-data.title-content=\"{ row }\">\r\n <MKSvgIcon :iconClass=\"row.data.iconName\" />\r\n <span class=\"ms-menu__title\">{{ row.data.title }}</span>\r\n <ElButton\r\n v-if=\"row.data.type === MenuType.Menu\"\r\n link\r\n type=\"primary\"\r\n class=\"ms-menu__url\"\r\n @click=\"handleUrlClick(row.data)\"\r\n >\r\n {{ row.data.targetUrl || \"空\" }}\r\n </ElButton>\r\n </template>\r\n </MKTableTree>\r\n </MKTableView>\r\n </MKDataTable>\r\n </MKPageContainer>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport {\r\n unref,\r\n computed,\r\n watch,\r\n ref,\r\n Ref,\r\n reactive,\r\n onBeforeUnmount,\r\n} from \"vue\";\r\nimport { useRouter } from \"vue-router\";\r\nimport { DataForm, DataTree, Dialoger } from \"@maketribe/dm\";\r\nimport { DvOpt } from \"@maketribe/request\";\r\nimport { ElMessage } from \"element-plus\";\r\nimport { DataModelDefines } from \"../../../../core\";\r\nimport {\r\n MKPageContainer,\r\n MKDataTable,\r\n MKTableView,\r\n MKTableTree,\r\n} from \"../../../../components\";\r\nimport { useSingleViewWithDialog } from \"../../../../composables\";\r\nimport { MenuType } from \"../../../../constants\";\r\nimport { MsRouteTable, MsMenuItemNode } from \"../../dataviews\";\r\n\r\nconst router = useRouter();\r\n\r\nconst dataTree: Ref<DataTree | null> = ref(null);\r\nconst dataForm: Ref<DataForm | null> = ref(null);\r\n\r\nconst routeTable = reactive(new MsRouteTable()) as MsRouteTable;\r\n\r\nwatch(\r\n computed(() => unref(router.currentRoute).meta.name as string),\r\n (name) => {\r\n dataTree.value = DataModelDefines.instance.getDataTree(name);\r\n\r\n dataForm.value = DataModelDefines.instance.getDataForm(name);\r\n },\r\n { immediate: true }\r\n);\r\n\r\nconst handleUrlClick = async (item: MsMenuItemNode) => {\r\n routeTable.useCondition((defaultGroup) => {\r\n defaultGroup.clear();\r\n defaultGroup.addCondition(\"menuId\", \"=\", item.id);\r\n });\r\n\r\n const result = await Dialoger.dataTableSelectDialog(routeTable);\r\n\r\n if (!result.isConfirm) {\r\n return;\r\n }\r\n\r\n try {\r\n unref(dataTree)?.getLoadingManager().startLoading();\r\n\r\n const response = await DvOpt.createInstance({ name: \"ms-menu\" }).save({\r\n id: item.id,\r\n routeId: result.selections[0],\r\n });\r\n\r\n if (response.code !== 200) {\r\n ElMessage.error(response.msg);\r\n return;\r\n }\r\n\r\n unref(dataTree)?.load();\r\n\r\n ElMessage.success(\"更新成功\");\r\n } catch {\r\n ElMessage.error(\"网络异常\");\r\n } finally {\r\n unref(dataTree)?.getLoadingManager().completeLoading();\r\n }\r\n};\r\n\r\nuseSingleViewWithDialog({ dataTable: dataTree, dataForm });\r\n\r\nonBeforeUnmount(() => {\r\n routeTable.dispose();\r\n});\r\n</script>\r\n"],"names":["useRouter","ref","reactive","MsRouteTable","watch","computed","unref","DataModelDefines","Dialoger","DvOpt","ElMessage","useSingleViewWithDialog","onBeforeUnmount"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDA,UAAM,SAASA,UAAAA;AAET,UAAA,WAAiCC,QAAI,IAAI;AACzC,UAAA,WAAiCA,QAAI,IAAI;AAE/C,UAAM,aAAaC,IAAAA,SAAS,IAAIC,aAAAA,aAAc,CAAA;AAE9CC,QAAA;AAAA,MACEC,aAAS,MAAMC,IAAAA,MAAM,OAAO,YAAY,EAAE,KAAK,IAAc;AAAA,MAC7D,CAAC,SAAS;AACR,iBAAS,QAAQC,iBAAA,iBAAiB,SAAS,YAAY,IAAI;AAE3D,iBAAS,QAAQA,iBAAA,iBAAiB,SAAS,YAAY,IAAI;AAAA,MAC7D;AAAA,MACA,EAAE,WAAW,KAAK;AAAA,IAAA;AAGd,UAAA,iBAAiB,OAAO,SAAyB;;AAC1C,iBAAA,aAAa,CAAC,iBAAiB;AACxC,qBAAa,MAAM;AACnB,qBAAa,aAAa,UAAU,KAAK,KAAK,EAAE;AAAA,MAAA,CACjD;AAED,YAAM,SAAS,MAAMC,GAAAA,SAAS,sBAAsB,UAAU;AAE1D,UAAA,CAAC,OAAO,WAAW;AACrB;AAAA,MACF;AAEI,UAAA;AACFF,kBAAAA,MAAM,QAAQ,MAAdA,mBAAiB,oBAAoB;AAE/B,cAAA,WAAW,MAAMG,QAAAA,MAAM,eAAe,EAAE,MAAM,UAAA,CAAW,EAAE,KAAK;AAAA,UACpE,IAAI,KAAK;AAAA,UACT,SAAS,OAAO,WAAW,CAAC;AAAA,QAAA,CAC7B;AAEG,YAAA,SAAS,SAAS,KAAK;AACfC,sBAAAA,UAAA,MAAM,SAAS,GAAG;AAC5B;AAAA,QACF;AAEMJ,wBAAA,QAAQ,MAARA,mBAAW;AAEjBI,8BAAU,QAAQ,MAAM;AAAA,MAAA,QAClB;AACNA,8BAAU,MAAM,MAAM;AAAA,MAAA,UACtB;AACAJ,kBAAAA,MAAM,QAAQ,MAAdA,mBAAiB,oBAAoB;AAAA,MACvC;AAAA,IAAA;AAGFK,kBAAAA,wBAAwB,EAAE,WAAW,UAAU,SAAU,CAAA;AAEzDC,QAAAA,gBAAgB,MAAM;AACpB,iBAAW,QAAQ;AAAA,IAAA,CACpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -37,6 +37,7 @@ require("../../../../../core/DataModelDefines.js");
|
|
|
37
37
|
require("vue-router");
|
|
38
38
|
require("@maketribe/locale");
|
|
39
39
|
require("../../../dataviews/ms-config/MsConfigTable.js");
|
|
40
|
+
require("lodash-es");
|
|
40
41
|
const MsRoleForm = require("../../../dataviews/ms-role/MsRoleForm.js");
|
|
41
42
|
require("../../../dataviews/department/DepartmentForm.js");
|
|
42
43
|
require("../../../dataviews/department/DepartmentTable.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aside.vue.js","sources":["../../../../../../../src/modules/ms/pages/ms-role/components/aside.vue"],"sourcesContent":["<template>\r\n <div class=\"ms-role-aside\">\r\n <div class=\"ms-role-aside__main\" v-loading=\"loading\">\r\n <ElScrollbar height=\"100%\">\r\n <div class=\"ms-role-aside__role-list\">\r\n <div\r\n v-for=\"role in roles\"\r\n :class=\"[\r\n 'ms-role-aside__role-item',\r\n 'flex-box',\r\n role.id === currentRole?.id ? 'is-active' : '',\r\n ]\"\r\n :key=\"role.id\"\r\n @click=\"handleRoleClick(role)\"\r\n >\r\n <div class=\"flex-box-main\">\r\n <MKSvgIcon class=\"ms-role-aside__role-icon\" iconClass=\"User\" />\r\n <span class=\"ms-role-aside__role-desc\">{{ role.desc }}</span>\r\n </div>\r\n <div @click.prevent class=\"flex-box-tools\">\r\n <ElDropdown>\r\n <span class=\"ms-role-aside__icon\">\r\n <MKSvgIcon iconClass=\"MoreFilled\" />\r\n </span>\r\n\r\n <template #dropdown>\r\n <ElDropdownMenu>\r\n <ElDropdownItem :icon=\"Edit\" @click=\"handleMemberRoleEdit(role)\">\r\n 编辑\r\n </ElDropdownItem>\r\n <ElDropdownItem :icon=\"Delete\" @click=\"handleDelete(role)\">\r\n 删除\r\n </ElDropdownItem>\r\n </ElDropdownMenu>\r\n </template>\r\n </ElDropdown>\r\n </div>\r\n </div>\r\n </div>\r\n </ElScrollbar>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { onMounted, ref, Ref, watch, computed, unref } from \"vue\";\r\nimport { DvOpt } from \"@maketribe/request\";\r\nimport { Dialoger } from \"@maketribe/dm\";\r\nimport { Edit, Delete } from \"@element-plus/icons-vue\";\r\nimport { ElButton, ElMessage, ElScrollbar, ElMessageBox } from \"element-plus\";\r\nimport { MKSvgIcon } from \"../../../../../components\";\r\nimport { MsRole, MsRoleForm } from \"../../../dataviews\";\r\n\r\nconst props = defineProps({\r\n roleForm: {\r\n type: MsRoleForm,\r\n required: true,\r\n },\r\n});\r\n\r\nconst emit = defineEmits([\"role-select\"]);\r\n\r\nconst dvOpt = DvOpt.createInstance({ name: \"ms-role\" });\r\n\r\nconst roles: Ref<MsRole[]> = ref([]);\r\n\r\nconst currentRole: Ref<MsRole | null> = ref(null);\r\n\r\nconst loading = ref(false);\r\n\r\nonMounted(() => {\r\n loadRoleList();\r\n});\r\n \r\nwatch(currentRole, () => {\r\n emit(\"role-select\", currentRole.value);\r\n}); \r\n \r\n//asdasda\r\nwatch(\r\n computed(() => props.roleForm),\r\n (roleForm, _, onCleanup) => {\r\n const disposable = roleForm.submittedEvent.on(() => {\r\n loadRoleList();\r\n });\r\n\r\n onCleanup(() => {\r\n disposable.dispose();\r\n });\r\n },\r\n { immediate: true }\r\n);\r\n\r\nconst loadRoleList = async () => {\r\n try {\r\n loading.value = true;\r\n\r\n roles.value = await dvOpt.query().list<MsRole>();\r\n\r\n // 加载完成之后默认选中第一个\r\n if(roles.value.length){\r\n handleRoleClick(roles.value[0])\r\n }\r\n\r\n } finally {\r\n loading.value = false;\r\n }\r\n};\r\n\r\nconst handleMemberRoleEdit = (role: MsRole) => {\r\n Dialoger.dataFormDialog({\r\n dataForm: props.roleForm,\r\n recId: role.id,\r\n });\r\n};\r\n\r\nconst handleRoleClick = (role: MsRole) => {\r\n currentRole.value = role;\r\n};\r\n\r\n\r\nconst handleDelete = async (role: MsRole) => {\r\n const isConfirm = await ElMessageBox.confirm(\"是否确认删除\", {\r\n type: \"warning\",\r\n }).then(\r\n () => true,\r\n () => false\r\n );\r\n\r\n if (!isConfirm) {\r\n return;\r\n }\r\n\r\n try {\r\n const result = await dvOpt.delete(role.id);\r\n\r\n if (result.code !== 200) {\r\n ElMessage.error({ message: result.msg });\r\n return;\r\n }\r\n\r\n ElMessage.success({ message: \"删除成功\" });\r\n\r\n if (unref(currentRole)?.id === role.id) {\r\n currentRole.value = null;\r\n }\r\n\r\n loadRoleList();\r\n } catch (e) {\r\n console.error(e);\r\n ElMessage.error({ message: \"网络异常\" });\r\n }\r\n};\r\n</script>\r\n"],"names":["DvOpt","ref","onMounted","watch","computed","Dialoger","ElMessageBox","ElMessage","unref"],"mappings":"
|
|
1
|
+
{"version":3,"file":"aside.vue.js","sources":["../../../../../../../src/modules/ms/pages/ms-role/components/aside.vue"],"sourcesContent":["<template>\r\n <div class=\"ms-role-aside\">\r\n <div class=\"ms-role-aside__main\" v-loading=\"loading\">\r\n <ElScrollbar height=\"100%\">\r\n <div class=\"ms-role-aside__role-list\">\r\n <div\r\n v-for=\"role in roles\"\r\n :class=\"[\r\n 'ms-role-aside__role-item',\r\n 'flex-box',\r\n role.id === currentRole?.id ? 'is-active' : '',\r\n ]\"\r\n :key=\"role.id\"\r\n @click=\"handleRoleClick(role)\"\r\n >\r\n <div class=\"flex-box-main\">\r\n <MKSvgIcon class=\"ms-role-aside__role-icon\" iconClass=\"User\" />\r\n <span class=\"ms-role-aside__role-desc\">{{ role.desc }}</span>\r\n </div>\r\n <div @click.prevent class=\"flex-box-tools\">\r\n <ElDropdown>\r\n <span class=\"ms-role-aside__icon\">\r\n <MKSvgIcon iconClass=\"MoreFilled\" />\r\n </span>\r\n\r\n <template #dropdown>\r\n <ElDropdownMenu>\r\n <ElDropdownItem :icon=\"Edit\" @click=\"handleMemberRoleEdit(role)\">\r\n 编辑\r\n </ElDropdownItem>\r\n <ElDropdownItem :icon=\"Delete\" @click=\"handleDelete(role)\">\r\n 删除\r\n </ElDropdownItem>\r\n </ElDropdownMenu>\r\n </template>\r\n </ElDropdown>\r\n </div>\r\n </div>\r\n </div>\r\n </ElScrollbar>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { onMounted, ref, Ref, watch, computed, unref } from \"vue\";\r\nimport { DvOpt } from \"@maketribe/request\";\r\nimport { Dialoger } from \"@maketribe/dm\";\r\nimport { Edit, Delete } from \"@element-plus/icons-vue\";\r\nimport { ElButton, ElMessage, ElScrollbar, ElMessageBox } from \"element-plus\";\r\nimport { MKSvgIcon } from \"../../../../../components\";\r\nimport { MsRole, MsRoleForm } from \"../../../dataviews\";\r\n\r\nconst props = defineProps({\r\n roleForm: {\r\n type: MsRoleForm,\r\n required: true,\r\n },\r\n});\r\n\r\nconst emit = defineEmits([\"role-select\"]);\r\n\r\nconst dvOpt = DvOpt.createInstance({ name: \"ms-role\" });\r\n\r\nconst roles: Ref<MsRole[]> = ref([]);\r\n\r\nconst currentRole: Ref<MsRole | null> = ref(null);\r\n\r\nconst loading = ref(false);\r\n\r\nonMounted(() => {\r\n loadRoleList();\r\n});\r\n \r\nwatch(currentRole, () => {\r\n emit(\"role-select\", currentRole.value);\r\n}); \r\n \r\n//asdasda\r\nwatch(\r\n computed(() => props.roleForm),\r\n (roleForm, _, onCleanup) => {\r\n const disposable = roleForm.submittedEvent.on(() => {\r\n loadRoleList();\r\n });\r\n\r\n onCleanup(() => {\r\n disposable.dispose();\r\n });\r\n },\r\n { immediate: true }\r\n);\r\n\r\nconst loadRoleList = async () => {\r\n try {\r\n loading.value = true;\r\n\r\n roles.value = await dvOpt.query().list<MsRole>();\r\n\r\n // 加载完成之后默认选中第一个\r\n if(roles.value.length){\r\n handleRoleClick(roles.value[0])\r\n }\r\n\r\n } finally {\r\n loading.value = false;\r\n }\r\n};\r\n\r\nconst handleMemberRoleEdit = (role: MsRole) => {\r\n Dialoger.dataFormDialog({\r\n dataForm: props.roleForm,\r\n recId: role.id,\r\n });\r\n};\r\n\r\nconst handleRoleClick = (role: MsRole) => {\r\n currentRole.value = role;\r\n};\r\n\r\n\r\nconst handleDelete = async (role: MsRole) => {\r\n const isConfirm = await ElMessageBox.confirm(\"是否确认删除\", {\r\n type: \"warning\",\r\n }).then(\r\n () => true,\r\n () => false\r\n );\r\n\r\n if (!isConfirm) {\r\n return;\r\n }\r\n\r\n try {\r\n const result = await dvOpt.delete(role.id);\r\n\r\n if (result.code !== 200) {\r\n ElMessage.error({ message: result.msg });\r\n return;\r\n }\r\n\r\n ElMessage.success({ message: \"删除成功\" });\r\n\r\n if (unref(currentRole)?.id === role.id) {\r\n currentRole.value = null;\r\n }\r\n\r\n loadRoleList();\r\n } catch (e) {\r\n console.error(e);\r\n ElMessage.error({ message: \"网络异常\" });\r\n }\r\n};\r\n</script>\r\n"],"names":["DvOpt","ref","onMounted","watch","computed","Dialoger","ElMessageBox","ElMessage","unref"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqDA,UAAM,QAAQ;AAOd,UAAM,OAAO;AAEb,UAAM,QAAQA,QAAAA,MAAM,eAAe,EAAE,MAAM,WAAW;AAEhD,UAAA,QAAuBC,QAAI,CAAA,CAAE;AAE7B,UAAA,cAAkCA,QAAI,IAAI;AAE1C,UAAA,UAAUA,QAAI,KAAK;AAEzBC,QAAAA,UAAU,MAAM;AACD;IAAA,CACd;AAEDC,QAAA,MAAM,aAAa,MAAM;AAClB,WAAA,eAAe,YAAY,KAAK;AAAA,IAAA,CACtC;AAGDA,QAAA;AAAA,MACEC,aAAS,MAAM,MAAM,QAAQ;AAAA,MAC7B,CAAC,UAAU,GAAG,cAAc;AAC1B,cAAM,aAAa,SAAS,eAAe,GAAG,MAAM;AACrC;QAAA,CACd;AAED,kBAAU,MAAM;AACd,qBAAW,QAAQ;AAAA,QAAA,CACpB;AAAA,MACH;AAAA,MACA,EAAE,WAAW,KAAK;AAAA,IAAA;AAGpB,UAAM,eAAe,YAAY;AAC3B,UAAA;AACF,gBAAQ,QAAQ;AAEhB,cAAM,QAAQ,MAAM,MAAM,QAAQ,KAAa;AAG5C,YAAA,MAAM,MAAM,QAAO;AACJ,0BAAA,MAAM,MAAM,CAAC,CAAC;AAAA,QAChC;AAAA,MAAA,UAEA;AACA,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IAAA;AAGI,UAAA,uBAAuB,CAAC,SAAiB;AAC7CC,SAAAA,SAAS,eAAe;AAAA,QACtB,UAAU,MAAM;AAAA,QAChB,OAAO,KAAK;AAAA,MAAA,CACb;AAAA,IAAA;AAGG,UAAA,kBAAkB,CAAC,SAAiB;AACxC,kBAAY,QAAQ;AAAA,IAAA;AAIhB,UAAA,eAAe,OAAO,SAAiB;;AAC3C,YAAM,YAAY,MAAMC,yBAAa,QAAQ,UAAU;AAAA,QACrD,MAAM;AAAA,MACP,CAAA,EAAE;AAAA,QACD,MAAM;AAAA,QACN,MAAM;AAAA,MAAA;AAGR,UAAI,CAAC,WAAW;AACd;AAAA,MACF;AAEI,UAAA;AACF,cAAM,SAAS,MAAM,MAAM,OAAO,KAAK,EAAE;AAErC,YAAA,OAAO,SAAS,KAAK;AACvBC,sBAAA,UAAU,MAAM,EAAE,SAAS,OAAO,IAAK,CAAA;AACvC;AAAA,QACF;AAEAA,oBAAAA,UAAU,QAAQ,EAAE,SAAS,OAAQ,CAAA;AAErC,cAAIC,SAAM,MAAA,WAAW,MAAjBA,mBAAoB,QAAO,KAAK,IAAI;AACtC,sBAAY,QAAQ;AAAA,QACtB;AAEa;eACN,GAAG;AACV,gBAAQ,MAAM,CAAC;AACfD,oBAAAA,UAAU,MAAM,EAAE,SAAS,OAAQ,CAAA;AAAA,MACrC;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -9,6 +9,7 @@ require("vue-router");
|
|
|
9
9
|
require("@maketribe/request");
|
|
10
10
|
require("@maketribe/locale");
|
|
11
11
|
require("../../../../dataviews/ms-config/MsConfigTable.js");
|
|
12
|
+
require("lodash-es");
|
|
12
13
|
const MsRolePermissionConfigTable = require("../../../../dataviews/ms-role/MsRolePermissionConfigTable.js");
|
|
13
14
|
require("../../../../../../components/basic/svg-icon/index.js");
|
|
14
15
|
require("../../../../../../components/data-model/data-form/index.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"role-permission-config-options.js","sources":["../../../../../../../../src/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config-options.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\nimport { RolePermissionConfigTable } from \"../../../../dataviews\";\nimport { buildProps } from \"@maketribe/utils\";\n\nexport const rolePermissionConfigProps = buildProps({\n rolePermissionConfigTable: {\n type: RolePermissionConfigTable,\n required: true,\n },\n} as const);\n\nexport type RolePermissionConfigProps = ExtractPropTypes<\n typeof rolePermissionConfigProps\n>;\n\nexport const rolePermissionConfigEmits = {\n roleChange: (id: any) => true,\n};\n\nexport type RolePermissionConfigEmits = typeof rolePermissionConfigEmits;\n"],"names":["buildProps","RolePermissionConfigTable"],"mappings":"
|
|
1
|
+
{"version":3,"file":"role-permission-config-options.js","sources":["../../../../../../../../src/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config-options.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\r\nimport { RolePermissionConfigTable } from \"../../../../dataviews\";\r\nimport { buildProps } from \"@maketribe/utils\";\r\n\r\nexport const rolePermissionConfigProps = buildProps({\r\n rolePermissionConfigTable: {\r\n type: RolePermissionConfigTable,\r\n required: true,\r\n },\r\n} as const);\r\n\r\nexport type RolePermissionConfigProps = ExtractPropTypes<\r\n typeof rolePermissionConfigProps\r\n>;\r\n\r\nexport const rolePermissionConfigEmits = {\r\n roleChange: (id: any) => true,\r\n};\r\n\r\nexport type RolePermissionConfigEmits = typeof rolePermissionConfigEmits;\r\n"],"names":["buildProps","RolePermissionConfigTable"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIO,MAAM,4BAA4BA,MAAAA,WAAW;AAAA,EAClD,2BAA2B;AAAA,IACzB,MAAMC,4BAAA;AAAA,IACN,UAAU;AAAA,EACZ;AACF,CAAU;AAMH,MAAM,4BAA4B;AAAA,EACvC,YAAY,CAAC,OAAY;AAC3B;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"role-permission-config.js","sources":["../../../../../../../../src/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config.tsx"],"sourcesContent":["import {\n Fragment,\n computed,\n defineComponent,\n reactive,\n unref,\n watch,\n} from \"vue\";\nimport {\n ElTable,\n ElTableColumn,\n ElCheckbox,\n ElTooltip,\n ElCard,\n ElButton,\n ElAlert,\n} from \"element-plus\";\nimport { postTraverse } from \"@maketribe/utils\";\nimport { MsRoleMenuNode, MsRolePermissionPointDefine } from \"../../../../dataviews\";\nimport { useI18n } from \"../../../../../../composables\";\nimport {\n rolePermissionConfigEmits,\n rolePermissionConfigProps,\n} from \"./role-permission-config-options\";\n\ntype RowInfo = {\n roleMenus: MsRoleMenuNode[];\n permissionPoints: MsRolePermissionPointDefine[];\n};\n\ntype CellInfo = { row: RowInfo; rowIndex: number; columnIndex: number };\n\nexport default defineComponent({\n name: \"MKRolePermissionConfig\",\n props: rolePermissionConfigProps,\n emits: rolePermissionConfigEmits,\n setup(props, { emit }) {\n const i18n = useI18n()!;\n\n const rolePermissionConfigTable = computed(\n () => props.rolePermissionConfigTable\n );\n\n const loading = computed(() => unref(rolePermissionConfigTable).loading);\n\n const rootRoleMenuNodes = computed(() =>\n unref(rolePermissionConfigTable).getRootRoleMenuNodes()\n );\n\n const list = computed(() => {\n const _rootRoleMenuNodes = unref(rootRoleMenuNodes);\n\n const list: RowInfo[] = [];\n\n postTraverse<MsRoleMenuNode>(\n _rootRoleMenuNodes,\n (roleMenu, ancestors) => {\n if (!roleMenu.children.length) {\n list.push({\n roleMenus: [...ancestors],\n permissionPoints: roleMenu.permissionPoints,\n });\n }\n }\n );\n\n return list;\n });\n\n const maxMenuColumns = computed(() => {\n const _list = unref(list);\n\n return Math.max(..._list.map((item) => item.roleMenus.length), 0);\n });\n\n const handleSpanMethod = ({\n row,\n rowIndex,\n columnIndex,\n }: CellInfo): [number, number] => {\n const _maxMenuColumns = unref(maxMenuColumns);\n\n let columnSpan = 1;\n\n if (row.roleMenus.length < _maxMenuColumns) {\n if (row.roleMenus.length - 1 === columnIndex) {\n columnSpan = _maxMenuColumns - columnIndex;\n } else if (\n columnIndex < _maxMenuColumns &&\n columnIndex >= row.roleMenus.length\n ) {\n columnSpan = 0;\n }\n }\n\n let rowSpan = 1;\n\n const _list = unref(list);\n\n if (columnIndex < _maxMenuColumns) {\n const bothExisting: boolean = !!(\n _list[rowIndex]?.roleMenus?.[columnIndex] &&\n _list[rowIndex - 1]?.roleMenus?.[columnIndex]\n );\n\n if (\n // 第一行\n rowIndex === 0 ||\n // 两条记录都存在,且前一条和当前记录不一致\n (bothExisting &&\n _list[rowIndex].roleMenus[columnIndex].id !==\n _list[rowIndex - 1].roleMenus[columnIndex].id)\n ) {\n let count = 1;\n\n for (let i = rowIndex + 1; i < _list.length; i++) {\n if (\n _list[rowIndex].roleMenus[columnIndex]?.id !==\n _list[i].roleMenus[columnIndex]?.id\n ) {\n break;\n }\n count++;\n }\n\n rowSpan = count;\n } else if (bothExisting) {\n // 两条记录都存在切记录一致\n rowSpan = 0;\n }\n }\n\n return [rowSpan, columnSpan];\n };\n\n const saveRolePermission = async () => {\n props.rolePermissionConfigTable.submitPermission();\n };\n\n watch(\n computed(() => props.rolePermissionConfigTable),\n async (rolePermissionConfigTable) => {\n await rolePermissionConfigTable.init();\n await rolePermissionConfigTable.load();\n },\n { immediate: true }\n );\n\n return () => {\n const menuColumnVnodes = new Array(unref(maxMenuColumns))\n .fill(0)\n .map((_, i) => {\n return (\n <ElTableColumn\n label={i18n.translate(\"mk.rolePermissionConfig.tableMenuHeader\", {\n level: i + 1,\n })}\n v-slots={{\n default: ({ row }: { row: RowInfo }) => {\n const roleMenu = row.roleMenus[i];\n\n if (!roleMenu) {\n return null;\n }\n\n return (\n <ElTooltip content={roleMenu.title} placement=\"top\">\n <ElCheckbox\n class=\"role-permission-config__menu\"\n modelValue={roleMenu.selected}\n indeterminate={roleMenu.indeterminate}\n onUpdate:modelValue={() =>\n unref(rolePermissionConfigTable).toggleRoleMenu(\n roleMenu\n )\n }\n >\n {roleMenu.title}\n </ElCheckbox>\n </ElTooltip>\n );\n },\n }}\n />\n );\n });\n\n return (\n <ElCard\n v-slots={{\n header: () => {\n return (\n <div class=\"header-box\">\n <div class=\"header-box-main\">\n <ElAlert\n title={\n props.rolePermissionConfigTable.hasChange()\n ? `当前【 ${rolePermissionConfigTable.value.currentRoleDesc} 】权限已发生改变,保存后生效!`\n : `当前【 ${rolePermissionConfigTable.value.currentRoleDesc} 】权限无任何改变!`\n }\n showIcon\n type={\n props.rolePermissionConfigTable.hasChange()\n ? \"warning\"\n : \"info\"\n }\n closable={false}\n />\n </div>\n <div class=\"header-box-tools\">\n <ElButton\n onClick={saveRolePermission}\n type=\"primary\"\n disabled={!props.rolePermissionConfigTable.hasChange()}\n >\n {i18n.translate(\"mk.dataForm.saveButton\")}\n </ElButton>\n </div>\n </div>\n );\n },\n }}\n >\n <ElTable\n class=\"role-permission-config\"\n data={unref(list)}\n border\n spanMethod={handleSpanMethod}\n v-loading={unref(loading)}\n >\n {menuColumnVnodes}\n\n <ElTableColumn\n label={i18n.translate(\n \"mk.rolePermissionConfig.tablePermissionPointHeader\"\n )}\n minWidth=\"300px\"\n v-slots={{\n default: ({ row }: { row: RowInfo }) => {\n const permissionPointVnodes = row.permissionPoints.map(\n (permissionPoint) => {\n return (\n <ElTooltip\n content={permissionPoint.name}\n placement=\"top\"\n >\n <ElCheckbox\n class=\"role-permission-config__permission-point\"\n modelValue={permissionPoint.selected}\n onUpdate:modelValue={() => {\n unref(\n rolePermissionConfigTable\n ).toggleRolePermissionPoint(permissionPoint);\n }}\n >\n {permissionPoint.name}\n </ElCheckbox>\n </ElTooltip>\n );\n }\n );\n\n return <Fragment>{permissionPointVnodes}</Fragment>;\n },\n }}\n />\n </ElTable>\n </ElCard>\n );\n };\n },\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","defineComponent","name","props","rolePermissionConfigProps","emits","rolePermissionConfigEmits","setup","emit","i18n","useI18n","rolePermissionConfigTable","computed","loading","unref","rootRoleMenuNodes","getRootRoleMenuNodes","list","_rootRoleMenuNodes","postTraverse","roleMenu","ancestors","children","length","push","roleMenus","permissionPoints","maxMenuColumns","_list","Math","max","map","item","handleSpanMethod","row","rowIndex","columnIndex","_maxMenuColumns","columnSpan","rowSpan","bothExisting","id","count","i","saveRolePermission","submitPermission","watch","init","load","immediate","menuColumnVnodes","Array","fill","_","_createVNode","ElTableColumn","translate","level","default","ElTooltip","title","ElCheckbox","selected","indeterminate","onUpdate:modelValue","toggleRoleMenu","ElCard","_withDirectives","ElTable","permissionPointVnodes","permissionPoint","toggleRolePermissionPoint","_Fragment","_resolveDirective","header","_slot","ElAlert","hasChange","value","currentRoleDesc","ElButton"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"role-permission-config.js","sources":["../../../../../../../../src/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config.tsx"],"sourcesContent":["import {\r\n Fragment,\r\n computed,\r\n defineComponent,\r\n reactive,\r\n unref,\r\n watch,\r\n} from \"vue\";\r\nimport {\r\n ElTable,\r\n ElTableColumn,\r\n ElCheckbox,\r\n ElTooltip,\r\n ElCard,\r\n ElButton,\r\n ElAlert,\r\n} from \"element-plus\";\r\nimport { postTraverse } from \"@maketribe/utils\";\r\nimport { MsRoleMenuNode, MsRolePermissionPointDefine } from \"../../../../dataviews\";\r\nimport { useI18n } from \"../../../../../../composables\";\r\nimport {\r\n rolePermissionConfigEmits,\r\n rolePermissionConfigProps,\r\n} from \"./role-permission-config-options\";\r\n\r\ntype RowInfo = {\r\n roleMenus: MsRoleMenuNode[];\r\n permissionPoints: MsRolePermissionPointDefine[];\r\n};\r\n\r\ntype CellInfo = { row: RowInfo; rowIndex: number; columnIndex: number };\r\n\r\nexport default defineComponent({\r\n name: \"MKRolePermissionConfig\",\r\n props: rolePermissionConfigProps,\r\n emits: rolePermissionConfigEmits,\r\n setup(props, { emit }) {\r\n const i18n = useI18n()!;\r\n\r\n const rolePermissionConfigTable = computed(\r\n () => props.rolePermissionConfigTable\r\n );\r\n\r\n const loading = computed(() => unref(rolePermissionConfigTable).loading);\r\n\r\n const rootRoleMenuNodes = computed(() =>\r\n unref(rolePermissionConfigTable).getRootRoleMenuNodes()\r\n );\r\n\r\n const list = computed(() => {\r\n const _rootRoleMenuNodes = unref(rootRoleMenuNodes);\r\n\r\n const list: RowInfo[] = [];\r\n\r\n postTraverse<MsRoleMenuNode>(\r\n _rootRoleMenuNodes,\r\n (roleMenu, ancestors) => {\r\n if (!roleMenu.children.length) {\r\n list.push({\r\n roleMenus: [...ancestors],\r\n permissionPoints: roleMenu.permissionPoints,\r\n });\r\n }\r\n }\r\n );\r\n\r\n return list;\r\n });\r\n\r\n const maxMenuColumns = computed(() => {\r\n const _list = unref(list);\r\n\r\n return Math.max(..._list.map((item) => item.roleMenus.length), 0);\r\n });\r\n\r\n const handleSpanMethod = ({\r\n row,\r\n rowIndex,\r\n columnIndex,\r\n }: CellInfo): [number, number] => {\r\n const _maxMenuColumns = unref(maxMenuColumns);\r\n\r\n let columnSpan = 1;\r\n\r\n if (row.roleMenus.length < _maxMenuColumns) {\r\n if (row.roleMenus.length - 1 === columnIndex) {\r\n columnSpan = _maxMenuColumns - columnIndex;\r\n } else if (\r\n columnIndex < _maxMenuColumns &&\r\n columnIndex >= row.roleMenus.length\r\n ) {\r\n columnSpan = 0;\r\n }\r\n }\r\n\r\n let rowSpan = 1;\r\n\r\n const _list = unref(list);\r\n\r\n if (columnIndex < _maxMenuColumns) {\r\n const bothExisting: boolean = !!(\r\n _list[rowIndex]?.roleMenus?.[columnIndex] &&\r\n _list[rowIndex - 1]?.roleMenus?.[columnIndex]\r\n );\r\n\r\n if (\r\n // 第一行\r\n rowIndex === 0 ||\r\n // 两条记录都存在,且前一条和当前记录不一致\r\n (bothExisting &&\r\n _list[rowIndex].roleMenus[columnIndex].id !==\r\n _list[rowIndex - 1].roleMenus[columnIndex].id)\r\n ) {\r\n let count = 1;\r\n\r\n for (let i = rowIndex + 1; i < _list.length; i++) {\r\n if (\r\n _list[rowIndex].roleMenus[columnIndex]?.id !==\r\n _list[i].roleMenus[columnIndex]?.id\r\n ) {\r\n break;\r\n }\r\n count++;\r\n }\r\n\r\n rowSpan = count;\r\n } else if (bothExisting) {\r\n // 两条记录都存在切记录一致\r\n rowSpan = 0;\r\n }\r\n }\r\n\r\n return [rowSpan, columnSpan];\r\n };\r\n\r\n const saveRolePermission = async () => {\r\n props.rolePermissionConfigTable.submitPermission();\r\n };\r\n\r\n watch(\r\n computed(() => props.rolePermissionConfigTable),\r\n async (rolePermissionConfigTable) => {\r\n await rolePermissionConfigTable.init();\r\n await rolePermissionConfigTable.load();\r\n },\r\n { immediate: true }\r\n );\r\n\r\n return () => {\r\n const menuColumnVnodes = new Array(unref(maxMenuColumns))\r\n .fill(0)\r\n .map((_, i) => {\r\n return (\r\n <ElTableColumn\r\n label={i18n.translate(\"mk.rolePermissionConfig.tableMenuHeader\", {\r\n level: i + 1,\r\n })}\r\n v-slots={{\r\n default: ({ row }: { row: RowInfo }) => {\r\n const roleMenu = row.roleMenus[i];\r\n\r\n if (!roleMenu) {\r\n return null;\r\n }\r\n\r\n return (\r\n <ElTooltip content={roleMenu.title} placement=\"top\">\r\n <ElCheckbox\r\n class=\"role-permission-config__menu\"\r\n modelValue={roleMenu.selected}\r\n indeterminate={roleMenu.indeterminate}\r\n onUpdate:modelValue={() =>\r\n unref(rolePermissionConfigTable).toggleRoleMenu(\r\n roleMenu\r\n )\r\n }\r\n >\r\n {roleMenu.title}\r\n </ElCheckbox>\r\n </ElTooltip>\r\n );\r\n },\r\n }}\r\n />\r\n );\r\n });\r\n\r\n return (\r\n <ElCard\r\n v-slots={{\r\n header: () => {\r\n return (\r\n <div class=\"header-box\">\r\n <div class=\"header-box-main\">\r\n <ElAlert\r\n title={\r\n props.rolePermissionConfigTable.hasChange()\r\n ? `当前【 ${rolePermissionConfigTable.value.currentRoleDesc} 】权限已发生改变,保存后生效!`\r\n : `当前【 ${rolePermissionConfigTable.value.currentRoleDesc} 】权限无任何改变!`\r\n }\r\n showIcon\r\n type={\r\n props.rolePermissionConfigTable.hasChange()\r\n ? \"warning\"\r\n : \"info\"\r\n }\r\n closable={false}\r\n />\r\n </div>\r\n <div class=\"header-box-tools\">\r\n <ElButton\r\n onClick={saveRolePermission}\r\n type=\"primary\"\r\n disabled={!props.rolePermissionConfigTable.hasChange()}\r\n >\r\n {i18n.translate(\"mk.dataForm.saveButton\")}\r\n </ElButton>\r\n </div>\r\n </div>\r\n );\r\n },\r\n }}\r\n >\r\n <ElTable\r\n class=\"role-permission-config\"\r\n data={unref(list)}\r\n border\r\n spanMethod={handleSpanMethod}\r\n v-loading={unref(loading)}\r\n >\r\n {menuColumnVnodes}\r\n\r\n <ElTableColumn\r\n label={i18n.translate(\r\n \"mk.rolePermissionConfig.tablePermissionPointHeader\"\r\n )}\r\n minWidth=\"300px\"\r\n v-slots={{\r\n default: ({ row }: { row: RowInfo }) => {\r\n const permissionPointVnodes = row.permissionPoints.map(\r\n (permissionPoint) => {\r\n return (\r\n <ElTooltip\r\n content={permissionPoint.name}\r\n placement=\"top\"\r\n >\r\n <ElCheckbox\r\n class=\"role-permission-config__permission-point\"\r\n modelValue={permissionPoint.selected}\r\n onUpdate:modelValue={() => {\r\n unref(\r\n rolePermissionConfigTable\r\n ).toggleRolePermissionPoint(permissionPoint);\r\n }}\r\n >\r\n {permissionPoint.name}\r\n </ElCheckbox>\r\n </ElTooltip>\r\n );\r\n }\r\n );\r\n\r\n return <Fragment>{permissionPointVnodes}</Fragment>;\r\n },\r\n }}\r\n />\r\n </ElTable>\r\n </ElCard>\r\n );\r\n };\r\n },\r\n});\r\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","defineComponent","name","props","rolePermissionConfigProps","emits","rolePermissionConfigEmits","setup","emit","i18n","useI18n","rolePermissionConfigTable","computed","loading","unref","rootRoleMenuNodes","getRootRoleMenuNodes","list","_rootRoleMenuNodes","postTraverse","roleMenu","ancestors","children","length","push","roleMenus","permissionPoints","maxMenuColumns","_list","Math","max","map","item","handleSpanMethod","row","rowIndex","columnIndex","_maxMenuColumns","columnSpan","rowSpan","bothExisting","id","count","i","saveRolePermission","submitPermission","watch","init","load","immediate","menuColumnVnodes","Array","fill","_","_createVNode","ElTableColumn","translate","level","default","ElTooltip","title","ElCheckbox","selected","indeterminate","onUpdate:modelValue","toggleRoleMenu","ElCard","_withDirectives","ElTable","permissionPointVnodes","permissionPoint","toggleRolePermissionPoint","_Fragment","_resolveDirective","header","_slot","ElAlert","hasChange","value","currentRoleDesc","ElButton"],"mappings":"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"}
|
|
@@ -36,6 +36,7 @@ require("../../../../core/DataModelDefines.js");
|
|
|
36
36
|
require("vue-router");
|
|
37
37
|
require("@maketribe/locale");
|
|
38
38
|
require("../../dataviews/ms-config/MsConfigTable.js");
|
|
39
|
+
require("lodash-es");
|
|
39
40
|
const MsRoleForm = require("../../dataviews/ms-role/MsRoleForm.js");
|
|
40
41
|
const MsRolePermissionConfigTable = require("../../dataviews/ms-role/MsRolePermissionConfigTable.js");
|
|
41
42
|
const MsMemberRoleTable = require("../../dataviews/ms-member-role/MsMemberRoleTable.js");
|