@maketribe/ms-app 3.2.24 → 3.2.25
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/basic/doc-editor/core/index.js +7 -0
- package/dist/cjs/components/basic/doc-editor/core/index.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/editor.vue.js +7 -0
- package/dist/cjs/components/basic/doc-editor/editor.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/index.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js +0 -3
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js +2 -3
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/utils.js +66 -39
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/utils.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js +2 -2
- package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js +21 -18
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/ModuleContainerNode.js +15 -0
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/ModuleContainerNode.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/composables.js +2 -2
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/composables.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js +2 -3
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/utils.js +3 -2
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/utils.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue.js +10 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js +49 -34
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js +2 -3
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/themes/doc-editor-edit.css.js +1 -1
- package/dist/cjs/components/basic/doc-editor/themes/doc-editor-edit.css.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/themes/doc-theme.css.js +7 -10
- package/dist/cjs/components/basic/doc-editor/themes/doc-theme.css.js.map +1 -1
- package/dist/cjs/components/basic/upload-file/context/UploadContext.js.map +1 -1
- package/dist/cjs/components/basic/upload-file/index.js +13 -3
- package/dist/cjs/components/basic/upload-file/index.js.map +1 -1
- package/dist/cjs/components/basic/upload-file/ui/upload-file/index.js +11 -0
- package/dist/cjs/components/basic/upload-file/ui/upload-file/index.js.map +1 -0
- package/dist/cjs/components/basic/upload-file/ui/upload-file/upload-file-options.js +38 -0
- package/dist/cjs/components/basic/upload-file/ui/upload-file/upload-file-options.js.map +1 -0
- package/dist/cjs/components/basic/upload-file/ui/upload-file/upload-file.js +224 -0
- package/dist/cjs/components/basic/upload-file/ui/upload-file/upload-file.js.map +1 -0
- package/dist/cjs/components/basic/upload-file/ui/upload-image/upload-image.js +4 -2
- package/dist/cjs/components/basic/upload-file/ui/upload-image/upload-image.js.map +1 -1
- package/dist/cjs/components/basic/upload-file/ui/upload-video/index.js +11 -0
- package/dist/cjs/components/basic/upload-file/ui/upload-video/index.js.map +1 -0
- package/dist/cjs/components/basic/upload-file/ui/upload-video/upload-video-options.js +38 -0
- package/dist/cjs/components/basic/upload-file/ui/upload-video/upload-video-options.js.map +1 -0
- package/dist/cjs/components/basic/upload-file/ui/upload-video/upload-video.js +222 -0
- package/dist/cjs/components/basic/upload-file/ui/upload-video/upload-video.js.map +1 -0
- package/dist/cjs/components/basic/upload-file/upload-file-options.js +2 -1
- package/dist/cjs/components/basic/upload-file/upload-file-options.js.map +1 -1
- package/dist/cjs/components/basic/upload-file/upload-file.js +1 -0
- package/dist/cjs/components/basic/upload-file/upload-file.js.map +1 -1
- package/dist/cjs/components/business/resource-list/components/resource-item/index.vue.js +2 -0
- package/dist/cjs/components/business/resource-list/components/resource-item/index.vue.js.map +1 -1
- package/dist/cjs/components/business/resource-manager/resource-manager.vue.js +2 -0
- package/dist/cjs/components/business/resource-manager/resource-manager.vue.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-sort/column-sort.js +2 -0
- 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/header-components/batch-opt/batch-opt.js +2 -0
- 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/table-filter/table-filter.js +2 -0
- package/dist/cjs/components/data-model/data-table/components/header-components/table-filter/table-filter.js.map +1 -1
- package/dist/cjs/core/component/DataFormComponents.js +14 -0
- package/dist/cjs/core/component/DataFormComponents.js.map +1 -1
- package/dist/cjs/index.js +73 -61
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/installer.js +17 -14
- package/dist/cjs/installer.js.map +1 -1
- package/dist/cjs/layouts/components/bar/index.js +2 -0
- package/dist/cjs/layouts/components/bar/index.js.map +1 -1
- package/dist/cjs/layouts/components/header/tools.js +2 -0
- package/dist/cjs/layouts/components/header/tools.js.map +1 -1
- package/dist/cjs/layouts/components/menu/menu-item.js +2 -0
- package/dist/cjs/layouts/components/menu/menu-item.js.map +1 -1
- package/dist/cjs/layouts/container/default.js +2 -0
- package/dist/cjs/layouts/container/default.js.map +1 -1
- package/dist/cjs/message-impl/DialogerImpl.js +2 -0
- package/dist/cjs/message-impl/DialogerImpl.js.map +1 -1
- package/dist/cjs/modules/cms/components/part-tree/index.vue.js +2 -0
- package/dist/cjs/modules/cms/components/part-tree/index.vue.js.map +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +11 -7
- package/dist/cjs/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js.map +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-articles/CmsArticlesForm.js +3 -1
- 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 +3 -1
- package/dist/cjs/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-ad/index.vue2.js +3 -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 +2 -0
- 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-atlas.vue.js +2 -0
- package/dist/cjs/modules/cms/pages/cms-contents/components/article-atlas.vue.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js +3 -1
- package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js +8 -6
- package/dist/cjs/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/components/part-info.vue.js +2 -0
- package/dist/cjs/modules/cms/pages/cms-contents/components/part-info.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 +2 -0
- package/dist/cjs/modules/cms/pages/cms-resource/index.vue2.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-list/material-list-options.js +2 -0
- 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 +2 -0
- package/dist/cjs/modules/ms/components/material-list/material-list.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-select/material-select-api.js +2 -0
- package/dist/cjs/modules/ms/components/material-select/material-select-api.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-member/MsMemberTable.js +2 -0
- package/dist/cjs/modules/ms/dataviews/ms-member/MsMemberTable.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js +2 -0
- package/dist/cjs/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js.map +1 -1
- package/dist/cjs/modules/ms/image-upload-context/index.js +2 -0
- package/dist/cjs/modules/ms/image-upload-context/index.js.map +1 -1
- package/dist/cjs/modules/ms/index.js +4 -2
- package/dist/cjs/modules/ms/index.js.map +1 -1
- package/dist/cjs/modules/ms/material-upload-context/MaterialUploadContext.js +17 -3
- package/dist/cjs/modules/ms/material-upload-context/MaterialUploadContext.js.map +1 -1
- package/dist/cjs/modules/ms/material-upload-context/material-upload-context.js +2 -0
- 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 +2 -0
- package/dist/cjs/modules/ms/pages/icons/index.vue2.js.map +1 -1
- package/dist/cjs/modules/ms/pages/local-log/index.vue2.js +2 -0
- 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 +3 -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 +2 -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 +2 -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 +2 -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/index.vue2.js +2 -0
- package/dist/cjs/modules/ms/pages/ms-role/index.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/default/edit.vue2.js +2 -0
- 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 +2 -0
- 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 +2 -0
- 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 +2 -0
- 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 +2 -0
- 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 +2 -0
- 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 +2 -0
- package/dist/cjs/page/index/dv/default/table.vue2.js.map +1 -1
- package/dist/cjs/page/login/index.vue2.js +2 -0
- package/dist/cjs/page/login/index.vue2.js.map +1 -1
- package/dist/cjs/page/signup/index.vue2.js +2 -0
- package/dist/cjs/page/signup/index.vue2.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/core/index.js +9 -2
- package/dist/esm/components/basic/doc-editor/core/index.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/editor.vue.js +8 -1
- package/dist/esm/components/basic/doc-editor/editor.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/index.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js +0 -3
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js +1 -2
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/utils.js +66 -39
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/utils.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js +21 -18
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/ModuleContainerNode.js +15 -0
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/ModuleContainerNode.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/composables.js +2 -2
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/composables.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js +1 -2
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/utils.js +3 -2
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/utils.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue.js +10 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js +50 -35
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js +1 -2
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/themes/doc-editor-edit.css.js +1 -1
- package/dist/esm/components/basic/doc-editor/themes/doc-editor-edit.css.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/themes/doc-theme.css.js +7 -10
- package/dist/esm/components/basic/doc-editor/themes/doc-theme.css.js.map +1 -1
- package/dist/esm/components/basic/upload-file/context/UploadContext.js.map +1 -1
- package/dist/esm/components/basic/upload-file/index.js +10 -0
- package/dist/esm/components/basic/upload-file/index.js.map +1 -1
- package/dist/esm/components/basic/upload-file/ui/upload-file/index.js +11 -0
- package/dist/esm/components/basic/upload-file/ui/upload-file/index.js.map +1 -0
- package/dist/esm/components/basic/upload-file/ui/upload-file/upload-file-options.js +38 -0
- package/dist/esm/components/basic/upload-file/ui/upload-file/upload-file-options.js.map +1 -0
- package/dist/esm/components/basic/upload-file/ui/upload-file/upload-file.js +225 -0
- package/dist/esm/components/basic/upload-file/ui/upload-file/upload-file.js.map +1 -0
- package/dist/esm/components/basic/upload-file/ui/upload-image/upload-image.js +4 -2
- package/dist/esm/components/basic/upload-file/ui/upload-image/upload-image.js.map +1 -1
- package/dist/esm/components/basic/upload-file/ui/upload-video/index.js +11 -0
- package/dist/esm/components/basic/upload-file/ui/upload-video/index.js.map +1 -0
- package/dist/esm/components/basic/upload-file/ui/upload-video/upload-video-options.js +38 -0
- package/dist/esm/components/basic/upload-file/ui/upload-video/upload-video-options.js.map +1 -0
- package/dist/esm/components/basic/upload-file/ui/upload-video/upload-video.js +223 -0
- package/dist/esm/components/basic/upload-file/ui/upload-video/upload-video.js.map +1 -0
- package/dist/esm/components/basic/upload-file/upload-file-options.js +2 -1
- package/dist/esm/components/basic/upload-file/upload-file-options.js.map +1 -1
- package/dist/esm/components/basic/upload-file/upload-file.js +1 -0
- package/dist/esm/components/basic/upload-file/upload-file.js.map +1 -1
- package/dist/esm/components/business/resource-list/components/resource-item/index.vue.js +2 -0
- package/dist/esm/components/business/resource-list/components/resource-item/index.vue.js.map +1 -1
- package/dist/esm/components/business/resource-manager/resource-manager.vue.js +2 -0
- package/dist/esm/components/business/resource-manager/resource-manager.vue.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-sort/column-sort.js +2 -0
- 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/header-components/batch-opt/batch-opt.js +2 -0
- 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/table-filter/table-filter.js +2 -0
- package/dist/esm/components/data-model/data-table/components/header-components/table-filter/table-filter.js.map +1 -1
- package/dist/esm/core/component/DataFormComponents.js +14 -0
- package/dist/esm/core/component/DataFormComponents.js.map +1 -1
- package/dist/esm/index.js +14 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/installer.js +3 -0
- package/dist/esm/installer.js.map +1 -1
- package/dist/esm/layouts/components/bar/index.js +2 -0
- package/dist/esm/layouts/components/bar/index.js.map +1 -1
- package/dist/esm/layouts/components/header/tools.js +2 -0
- package/dist/esm/layouts/components/header/tools.js.map +1 -1
- package/dist/esm/layouts/components/menu/menu-item.js +2 -0
- package/dist/esm/layouts/components/menu/menu-item.js.map +1 -1
- package/dist/esm/layouts/container/default.js +2 -0
- package/dist/esm/layouts/container/default.js.map +1 -1
- package/dist/esm/message-impl/DialogerImpl.js +2 -0
- package/dist/esm/message-impl/DialogerImpl.js.map +1 -1
- package/dist/esm/modules/cms/components/part-tree/index.vue.js +2 -0
- package/dist/esm/modules/cms/components/part-tree/index.vue.js.map +1 -1
- package/dist/esm/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +11 -7
- package/dist/esm/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js.map +1 -1
- package/dist/esm/modules/cms/dataviews/cms-articles/CmsArticlesForm.js +3 -1
- 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 +3 -1
- package/dist/esm/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-ad/index.vue2.js +3 -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 +2 -0
- 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-atlas.vue.js +2 -0
- package/dist/esm/modules/cms/pages/cms-contents/components/article-atlas.vue.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js +3 -1
- package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js +8 -6
- package/dist/esm/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/components/part-info.vue.js +2 -0
- package/dist/esm/modules/cms/pages/cms-contents/components/part-info.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 +2 -0
- package/dist/esm/modules/cms/pages/cms-resource/index.vue2.js.map +1 -1
- package/dist/esm/modules/ms/components/material-list/material-list-options.js +2 -0
- 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 +2 -0
- package/dist/esm/modules/ms/components/material-list/material-list.js.map +1 -1
- package/dist/esm/modules/ms/components/material-select/material-select-api.js +2 -0
- package/dist/esm/modules/ms/components/material-select/material-select-api.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-member/MsMemberTable.js +2 -0
- package/dist/esm/modules/ms/dataviews/ms-member/MsMemberTable.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js +2 -0
- package/dist/esm/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js.map +1 -1
- package/dist/esm/modules/ms/image-upload-context/index.js +2 -0
- package/dist/esm/modules/ms/image-upload-context/index.js.map +1 -1
- package/dist/esm/modules/ms/index.js +4 -2
- package/dist/esm/modules/ms/index.js.map +1 -1
- package/dist/esm/modules/ms/material-upload-context/MaterialUploadContext.js +17 -3
- package/dist/esm/modules/ms/material-upload-context/MaterialUploadContext.js.map +1 -1
- package/dist/esm/modules/ms/material-upload-context/material-upload-context.js +2 -0
- 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 +2 -0
- package/dist/esm/modules/ms/pages/icons/index.vue2.js.map +1 -1
- package/dist/esm/modules/ms/pages/local-log/index.vue2.js +2 -0
- 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 +3 -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 +2 -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 +2 -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 +2 -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/index.vue2.js +2 -0
- package/dist/esm/modules/ms/pages/ms-role/index.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/default/edit.vue2.js +2 -0
- 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 +2 -0
- 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 +2 -0
- 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 +2 -0
- 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 +2 -0
- 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 +2 -0
- 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 +2 -0
- package/dist/esm/page/index/dv/default/table.vue2.js.map +1 -1
- package/dist/esm/page/login/index.vue2.js +2 -0
- package/dist/esm/page/login/index.vue2.js.map +1 -1
- package/dist/esm/page/signup/index.vue2.js +2 -0
- package/dist/esm/page/signup/index.vue2.js.map +1 -1
- package/dist/style/components/basic/doc-editor/index.css +1 -1
- package/dist/style/components/index.css +2 -2
- package/dist/style/components/upload-file-ui.css +1 -0
- package/dist/style/components/upload-image.css +1 -1
- package/dist/style/components/upload-video-ui.css +1 -0
- package/dist/style/index.css +3 -3
- package/dist/style/src/components/basic/doc-editor/index.scss +5 -3
- package/dist/style/src/components/index.scss +2 -0
- package/dist/style/src/components/upload-file-ui.scss +89 -0
- package/dist/style/src/components/upload-image.scss +3 -2
- package/dist/style/src/components/upload-video-ui.scss +139 -0
- package/dist/style/src/index.scss +4 -0
- package/dist/types/components/basic/doc-editor/core/index.d.ts +15 -0
- package/dist/types/components/basic/doc-editor/index.d.ts +2 -2
- package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.d.ts +7 -1
- package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/ModuleContainerNode.d.ts +8 -0
- package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/composables.d.ts +2 -1
- package/dist/types/components/basic/upload-file/context/UploadContext.d.ts +1 -0
- package/dist/types/components/basic/upload-file/ui/index.d.ts +2 -0
- package/dist/types/components/basic/upload-file/ui/upload-file/index.d.ts +67 -0
- package/dist/types/components/basic/upload-file/ui/upload-file/upload-file-options.d.ts +35 -0
- package/dist/types/components/basic/upload-file/ui/upload-file/upload-file.d.ts +67 -0
- package/dist/types/components/basic/upload-file/ui/upload-video/index.d.ts +67 -0
- package/dist/types/components/basic/upload-file/ui/upload-video/upload-video-options.d.ts +35 -0
- package/dist/types/components/basic/upload-file/ui/upload-video/upload-video.d.ts +67 -0
- package/dist/types/components/basic/upload-file/upload-file-options.d.ts +1 -0
- package/dist/types/components/basic/upload-file/upload-file.d.ts +2 -0
- package/dist/types/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.d.ts +4 -1
- package/dist/types/modules/ms/components/index.d.ts +1 -0
- package/package.json +2 -2
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/defines.js +0 -11
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/defines.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/defines.js +0 -11
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/defines.js.map +0 -1
- package/dist/types/components/basic/doc-editor/plugins/ToolbarPlugin/defines.d.ts +0 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DialogerImpl.js","sources":["../../../src/message-impl/DialogerImpl.tsx"],"sourcesContent":["import {\r\n DataForm,\r\n DataFormDialogOptions,\r\n DataTable,\r\n DataTableSelectDialogResult,\r\n DialogInstance,\r\n IDialogMessage,\r\n IDialogRenderOptions,\r\n Messager,\r\n SkeletonDialoger,\r\n TableActionColumn,\r\n} from \"@maketribe/dm\";\r\nimport { Event } from \"@maketribe/utils\";\r\nimport { ElButton, ElDrawer, ElMessageBox, ElScrollbar } from \"element-plus\";\r\nimport { isFunction } from \"lodash-es\";\r\nimport { MKDataForm, MKDataTable, MKForm } from \"../components\";\r\nimport { Fragment, reactive } from \"vue\";\r\nimport { I18n } from \"@maketribe/locale\";\r\n\r\nlet uid = 0;\r\n\r\nexport class DialogerImpl extends SkeletonDialoger {\r\n dialogInstanceCreateEvent: Event<DialogInstance> = new Event();\r\n\r\n async prompt(options: IDialogMessage): Promise<string> {\r\n const promptResult = await ElMessageBox.prompt(\r\n options.message,\r\n options.title,\r\n options\r\n );\r\n\r\n return promptResult.value;\r\n }\r\n\r\n async confirm(options: IDialogMessage): Promise<boolean> {\r\n try {\r\n await ElMessageBox.confirm(options.message, options.title, options);\r\n return true;\r\n } catch (e) {\r\n return false;\r\n }\r\n }\r\n\r\n async alert(options: IDialogMessage): Promise<void> {\r\n await ElMessageBox.alert(options.message, options.title, options);\r\n }\r\n\r\n customRender(options: IDialogRenderOptions): DialogInstance {\r\n let visible = true;\r\n\r\n const dialogInstance: DialogInstance = {\r\n class: \"\",\r\n ...options,\r\n id: uid++,\r\n get visible() {\r\n return visible;\r\n },\r\n set visible(v) {\r\n visible = v;\r\n dialogInstance.visibleChangeEvent.emit(visible);\r\n },\r\n visibleChangeEvent: new Event(),\r\n destroyEvent: new Event(),\r\n destroy: () => {\r\n dialogInstance.visible = false;\r\n dialogInstance.destroyEvent.emit();\r\n },\r\n };\r\n this.dialogInstanceCreateEvent.emit(dialogInstance);\r\n\r\n return dialogInstance;\r\n }\r\n\r\n async custom(options: IDialogRenderOptions): Promise<boolean> {\r\n return new Promise<boolean>((resolve) => {\r\n const dialogInstance = this.customRender({\r\n ...options,\r\n onConfirm: async () => {\r\n if (\r\n isFunction(options.onConfirm)\r\n ? (await options.onConfirm()) === false\r\n : false\r\n ) {\r\n return false;\r\n }\r\n\r\n dialogInstance.destroy();\r\n\r\n resolve(true);\r\n },\r\n onCancel: async () => {\r\n if (\r\n isFunction(options.onCancel)\r\n ? (await options.onCancel()) === false\r\n : false\r\n ) {\r\n return false;\r\n }\r\n\r\n dialogInstance.destroy();\r\n\r\n resolve(false);\r\n },\r\n });\r\n });\r\n }\r\n\r\n async dataTableSelectDialog(\r\n dataTable: DataTable\r\n ): Promise<DataTableSelectDialogResult> {\r\n dataTable = reactive(dataTable) as DataTable;\r\n\r\n dataTable.afterInitdEvent.once(() => {\r\n // 过滤掉操作列\r\n const columns = dataTable\r\n .getColumns()\r\n .filter((column) => column.name !== TableActionColumn.actionColumnName);\r\n dataTable.setColumns(columns);\r\n });\r\n\r\n return new Promise((resolve) => {\r\n const handleConfirm = () => {\r\n resolve({ isConfirm: true, selections: dataTable.getSelection() });\r\n\r\n dataTable.setList([]);\r\n dataTable.setSelection([]);\r\n\r\n dialogInstance.destroy();\r\n };\r\n\r\n const handleCancel = () => {\r\n resolve({ isConfirm: false, selections: [] });\r\n\r\n dialogInstance.destroy();\r\n };\r\n\r\n const dialogInstance = this.customRender({\r\n class: \"mk-data-table-select-dialog\",\r\n width: \"80%\",\r\n body: () => {\r\n return (\r\n <div class=\"mk-data-table-select-dialog__main\">\r\n <MKDataTable dataTable={dataTable} selection />\r\n </div>\r\n );\r\n },\r\n footer: () => {\r\n return (\r\n <Fragment>\r\n <ElButton\r\n type=\"primary\"\r\n onClick={handleConfirm}\r\n disabled={dataTable.getSelection().length === 0}\r\n >\r\n 确定\r\n </ElButton>\r\n <ElButton onClick={handleCancel}>取消</ElButton>\r\n </Fragment>\r\n );\r\n },\r\n });\r\n });\r\n }\r\n\r\n async dataFormDialog(\r\n dataFormOptions: DataFormDialogOptions\r\n ): Promise<DialogInstance> {\r\n return new Promise((resolve) => {\r\n const dataForm = reactive(dataFormOptions.dataForm) as DataForm;\r\n\r\n let title = \"\";\r\n\r\n if (dataFormOptions.customDataFormStatus !== true) {\r\n if (dataFormOptions.recId) {\r\n dataForm.editRecord(dataFormOptions.recId);\r\n } else {\r\n dataForm.addRecord();\r\n }\r\n\r\n title = dataFormOptions.recId ? \"编辑\" : \"新增\";\r\n }\r\n\r\n const dialogInstance = this.customRender({\r\n title: dataFormOptions.title ?? title,\r\n onClose: () => {\r\n dataForm.cancel();\r\n\r\n dialogInstance.destroy();\r\n },\r\n body: () => {\r\n return (\r\n <ElScrollbar max-height=\"600px\">\r\n <MKDataForm dataForm={dataForm}>\r\n <MKForm dataForm={dataForm} />\r\n </MKDataForm>\r\n </ElScrollbar>\r\n );\r\n },\r\n\r\n footer: () => {\r\n return (\r\n <Fragment>\r\n <ElButton\r\n type=\"primary\"\r\n disabled={!dataForm.isChanged}\r\n loading={!dataForm.allowSubmit}\r\n onClick={async () => {\r\n if (!(await dataForm.validate())) {\r\n return;\r\n }\r\n\r\n if (await dataForm.simpleSubmit()) {\r\n dialogInstance.destroy();\r\n }\r\n }}\r\n >\r\n {I18n.instance.translate(\"mk.dataForm.saveButton\")}\r\n </ElButton>\r\n <ElButton\r\n onClick={() => {\r\n dataForm.cancel();\r\n\r\n dialogInstance.destroy();\r\n }}\r\n >\r\n {I18n.instance.translate(\"mk.dataForm.cancelButton\")}\r\n </ElButton>\r\n </Fragment>\r\n );\r\n },\r\n });\r\n\r\n resolve(dialogInstance);\r\n });\r\n }\r\n}\r\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","uid","DialogerImpl","SkeletonDialoger","dialogInstanceCreateEvent","Event","prompt","options","promptResult","ElMessageBox","message","title","value","confirm","e","alert","customRender","visible","dialogInstance","class","id","v","visibleChangeEvent","emit","destroyEvent","destroy","custom","Promise","resolve","onConfirm","isFunction","onCancel","dataTableSelectDialog","dataTable","reactive","afterInitdEvent","once","columns","getColumns","filter","column","name","TableActionColumn","actionColumnName","setColumns","handleConfirm","isConfirm","selections","getSelection","setList","setSelection","handleCancel","width","body","_createVNode","MKDataTable","footer","_Fragment","ElButton","length","default","_createTextVNode","dataFormDialog","dataFormOptions","dataForm","customDataFormStatus","recId","editRecord","addRecord","onClose","cancel","ElScrollbar","MKDataForm","MKForm","_slot","_slot2","isChanged","allowSubmit","validate","simpleSubmit","I18n","instance","translate","onClick"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DialogerImpl.js","sources":["../../../src/message-impl/DialogerImpl.tsx"],"sourcesContent":["import {\r\n DataForm,\r\n DataFormDialogOptions,\r\n DataTable,\r\n DataTableSelectDialogResult,\r\n DialogInstance,\r\n IDialogMessage,\r\n IDialogRenderOptions,\r\n Messager,\r\n SkeletonDialoger,\r\n TableActionColumn,\r\n} from \"@maketribe/dm\";\r\nimport { Event } from \"@maketribe/utils\";\r\nimport { ElButton, ElDrawer, ElMessageBox, ElScrollbar } from \"element-plus\";\r\nimport { isFunction } from \"lodash-es\";\r\nimport { MKDataForm, MKDataTable, MKForm } from \"../components\";\r\nimport { Fragment, reactive } from \"vue\";\r\nimport { I18n } from \"@maketribe/locale\";\r\n\r\nlet uid = 0;\r\n\r\nexport class DialogerImpl extends SkeletonDialoger {\r\n dialogInstanceCreateEvent: Event<DialogInstance> = new Event();\r\n\r\n async prompt(options: IDialogMessage): Promise<string> {\r\n const promptResult = await ElMessageBox.prompt(\r\n options.message,\r\n options.title,\r\n options\r\n );\r\n\r\n return promptResult.value;\r\n }\r\n\r\n async confirm(options: IDialogMessage): Promise<boolean> {\r\n try {\r\n await ElMessageBox.confirm(options.message, options.title, options);\r\n return true;\r\n } catch (e) {\r\n return false;\r\n }\r\n }\r\n\r\n async alert(options: IDialogMessage): Promise<void> {\r\n await ElMessageBox.alert(options.message, options.title, options);\r\n }\r\n\r\n customRender(options: IDialogRenderOptions): DialogInstance {\r\n let visible = true;\r\n\r\n const dialogInstance: DialogInstance = {\r\n class: \"\",\r\n ...options,\r\n id: uid++,\r\n get visible() {\r\n return visible;\r\n },\r\n set visible(v) {\r\n visible = v;\r\n dialogInstance.visibleChangeEvent.emit(visible);\r\n },\r\n visibleChangeEvent: new Event(),\r\n destroyEvent: new Event(),\r\n destroy: () => {\r\n dialogInstance.visible = false;\r\n dialogInstance.destroyEvent.emit();\r\n },\r\n };\r\n this.dialogInstanceCreateEvent.emit(dialogInstance);\r\n\r\n return dialogInstance;\r\n }\r\n\r\n async custom(options: IDialogRenderOptions): Promise<boolean> {\r\n return new Promise<boolean>((resolve) => {\r\n const dialogInstance = this.customRender({\r\n ...options,\r\n onConfirm: async () => {\r\n if (\r\n isFunction(options.onConfirm)\r\n ? (await options.onConfirm()) === false\r\n : false\r\n ) {\r\n return false;\r\n }\r\n\r\n dialogInstance.destroy();\r\n\r\n resolve(true);\r\n },\r\n onCancel: async () => {\r\n if (\r\n isFunction(options.onCancel)\r\n ? (await options.onCancel()) === false\r\n : false\r\n ) {\r\n return false;\r\n }\r\n\r\n dialogInstance.destroy();\r\n\r\n resolve(false);\r\n },\r\n });\r\n });\r\n }\r\n\r\n async dataTableSelectDialog(\r\n dataTable: DataTable\r\n ): Promise<DataTableSelectDialogResult> {\r\n dataTable = reactive(dataTable) as DataTable;\r\n\r\n dataTable.afterInitdEvent.once(() => {\r\n // 过滤掉操作列\r\n const columns = dataTable\r\n .getColumns()\r\n .filter((column) => column.name !== TableActionColumn.actionColumnName);\r\n dataTable.setColumns(columns);\r\n });\r\n\r\n return new Promise((resolve) => {\r\n const handleConfirm = () => {\r\n resolve({ isConfirm: true, selections: dataTable.getSelection() });\r\n\r\n dataTable.setList([]);\r\n dataTable.setSelection([]);\r\n\r\n dialogInstance.destroy();\r\n };\r\n\r\n const handleCancel = () => {\r\n resolve({ isConfirm: false, selections: [] });\r\n\r\n dialogInstance.destroy();\r\n };\r\n\r\n const dialogInstance = this.customRender({\r\n class: \"mk-data-table-select-dialog\",\r\n width: \"80%\",\r\n body: () => {\r\n return (\r\n <div class=\"mk-data-table-select-dialog__main\">\r\n <MKDataTable dataTable={dataTable} selection />\r\n </div>\r\n );\r\n },\r\n footer: () => {\r\n return (\r\n <Fragment>\r\n <ElButton\r\n type=\"primary\"\r\n onClick={handleConfirm}\r\n disabled={dataTable.getSelection().length === 0}\r\n >\r\n 确定\r\n </ElButton>\r\n <ElButton onClick={handleCancel}>取消</ElButton>\r\n </Fragment>\r\n );\r\n },\r\n });\r\n });\r\n }\r\n\r\n async dataFormDialog(\r\n dataFormOptions: DataFormDialogOptions\r\n ): Promise<DialogInstance> {\r\n return new Promise((resolve) => {\r\n const dataForm = reactive(dataFormOptions.dataForm) as DataForm;\r\n\r\n let title = \"\";\r\n\r\n if (dataFormOptions.customDataFormStatus !== true) {\r\n if (dataFormOptions.recId) {\r\n dataForm.editRecord(dataFormOptions.recId);\r\n } else {\r\n dataForm.addRecord();\r\n }\r\n\r\n title = dataFormOptions.recId ? \"编辑\" : \"新增\";\r\n }\r\n\r\n const dialogInstance = this.customRender({\r\n title: dataFormOptions.title ?? title,\r\n onClose: () => {\r\n dataForm.cancel();\r\n\r\n dialogInstance.destroy();\r\n },\r\n body: () => {\r\n return (\r\n <ElScrollbar max-height=\"600px\">\r\n <MKDataForm dataForm={dataForm}>\r\n <MKForm dataForm={dataForm} />\r\n </MKDataForm>\r\n </ElScrollbar>\r\n );\r\n },\r\n\r\n footer: () => {\r\n return (\r\n <Fragment>\r\n <ElButton\r\n type=\"primary\"\r\n disabled={!dataForm.isChanged}\r\n loading={!dataForm.allowSubmit}\r\n onClick={async () => {\r\n if (!(await dataForm.validate())) {\r\n return;\r\n }\r\n\r\n if (await dataForm.simpleSubmit()) {\r\n dialogInstance.destroy();\r\n }\r\n }}\r\n >\r\n {I18n.instance.translate(\"mk.dataForm.saveButton\")}\r\n </ElButton>\r\n <ElButton\r\n onClick={() => {\r\n dataForm.cancel();\r\n\r\n dialogInstance.destroy();\r\n }}\r\n >\r\n {I18n.instance.translate(\"mk.dataForm.cancelButton\")}\r\n </ElButton>\r\n </Fragment>\r\n );\r\n },\r\n });\r\n\r\n resolve(dialogInstance);\r\n });\r\n }\r\n}\r\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","uid","DialogerImpl","SkeletonDialoger","dialogInstanceCreateEvent","Event","prompt","options","promptResult","ElMessageBox","message","title","value","confirm","e","alert","customRender","visible","dialogInstance","class","id","v","visibleChangeEvent","emit","destroyEvent","destroy","custom","Promise","resolve","onConfirm","isFunction","onCancel","dataTableSelectDialog","dataTable","reactive","afterInitdEvent","once","columns","getColumns","filter","column","name","TableActionColumn","actionColumnName","setColumns","handleConfirm","isConfirm","selections","getSelection","setList","setSelection","handleCancel","width","body","_createVNode","MKDataTable","footer","_Fragment","ElButton","length","default","_createTextVNode","dataFormDialog","dataFormOptions","dataForm","customDataFormStatus","recId","editRecord","addRecord","onClose","cancel","ElScrollbar","MKDataForm","MKForm","_slot","_slot2","isChanged","allowSubmit","validate","simpleSubmit","I18n","instance","translate","onClick"],"mappings":"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"}
|
|
@@ -31,6 +31,8 @@ require("../../../../components/basic/upload-file/upload-file.js");
|
|
|
31
31
|
require("../../../../components/basic/upload-file/context/web-file-upload-context.js");
|
|
32
32
|
require("../../../../components/basic/upload-file/context/web-file-upload-context-options.js");
|
|
33
33
|
require("../../../../components/basic/upload-file/ui/upload-image/index.js");
|
|
34
|
+
require("../../../../components/basic/upload-file/ui/upload-file/index.js");
|
|
35
|
+
require("../../../../components/basic/upload-file/ui/upload-video/index.js");
|
|
34
36
|
require("../../../../components/basic/upload-file/upload-file-options.js");
|
|
35
37
|
require("../../../../components/basic/doc-editor/index.js");
|
|
36
38
|
require("../../../../components/basic/copy-container/index.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue.js","sources":["../../../../../../src/modules/cms/components/part-tree/index.vue"],"sourcesContent":["<template>\r\n <div class=\"cms-part-tree\">\r\n <div class=\"cms-part-tree__header\">\r\n <div>\r\n <MKSvgIcon iconClass=\"Notebook\" />\r\n 栏目\r\n </div>\r\n </div>\r\n <div class=\"cms-part-tree__body\">\r\n <ElScrollbar style=\"height: 100%;\">\r\n <MKDataTable :auto-load=\"true\" :data-table=\"dataTree\" highlight-current>\r\n <MKTree :data-tree=\"dataTree\" @nodeClick=\"selectPart\" defaultExpandAll draggable ref=\"treeRef\" :currentNodeKey=\"selectNodeId\">\r\n <template #node-main=\"{ data }\">\r\n {{ data.data.title }}\r\n </template>\r\n <template #node-tools=\"{ data }\">\r\n <el-dropdown>\r\n <ElIcon>\r\n <MoreFilled />\r\n </ElIcon>\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item :icon=\"Edit\" @click=\"handleEditClick(data.data)\">编辑</el-dropdown-item>\r\n <el-dropdown-item :icon=\"Delete\" @click=\"handleDeleteClick(data.data)\">删除</el-dropdown-item>\r\n <el-dropdown-item v-if=\"data.data.cmsPartTypeId != 1\" :icon=\"Plus\"\r\n @click=\"handleAddClick(data.data)\">添加子菜单</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </template>\r\n </MKTree>\r\n </MKDataTable>\r\n </ElScrollbar>\r\n </div>\r\n </div>\r\n</template>\r\n<script setup lang='ts'>\r\nimport { ElMessageBox, ElScrollbar } from \"element-plus\"\r\nimport { Plus, Edit, Delete, MoreFilled } from \"@element-plus/icons-vue\";\r\nimport { reactive, defineProps, watch, defineEmits, ref } from \"vue\";\r\nimport { MKDataTable, MKTree } from \"../../../../components/data-model/data-table\"\r\nimport { CmsPartTree } from \"../../dataviews\";\r\nimport { useI18n } from \"../../../../composables\";\r\nimport { DataTreeNode } from \"@maketribe/dm\";\r\n\r\ndefineOptions({ name: \"MKPartTree\" });\r\nconst treeRef = ref(null);\r\n// 配置选项\r\nconst optionSettings = defineProps<{\r\n curSelectId?:string|undefined\r\n}>();\r\n\r\n// 事件定义\r\nconst emit = defineEmits([\"edit\", \"add\", \"deleteSuccessfully\", \"select\"]);\r\n\r\nconst i18n = useI18n()!;\r\nconst dataTree = reactive(new CmsPartTree()) as CmsPartTree;\r\nconst selectNodeId = ref(optionSettings.curSelectId);\r\n\r\nwatch(()=>optionSettings.curSelectId,()=>{\r\n selectNodeId.value = optionSettings.curSelectId\r\n})\r\n\r\n// 监听数据变化\r\ndataTree.listChangeEvent.on(() => {\r\n\r\n const list = dataTree.getList();\r\n\r\n if (list.length > 0) {\r\n //默认选择第一条\r\n if(!selectNodeId.value){ selectNodeId.value = list[0].id; }\r\n\r\n for(let i=0;i<list.length;i++){\r\n\r\n let item = list[i]\r\n \r\n if(item.id == selectNodeId.value){\r\n emit(\"select\", item);\r\n break;\r\n }\r\n item.children?.forEach((child:any)=>list.push(child))\r\n\r\n }\r\n }\r\n})\r\n\r\n/**\r\n * 点击添加栏目按钮\r\n * @param item \r\n */\r\nconst handleAddClick = (item: any) => {\r\n emit(\"add\", item);\r\n}\r\n\r\n/**\r\n * 编辑栏目\r\n * @param item \r\n */\r\nconst handleEditClick = (item: any) => {\r\n emit(\"edit\", item);\r\n}\r\n/**\r\n * 删除栏目\r\n * @param item \r\n */\r\nconst handleDeleteClick = async (item: any) => {\r\n // 删除提示\r\n const isConfirm = await ElMessageBox.confirm(\r\n i18n.translate(\"mk.dataTablePage.deleteMessage\"),\r\n i18n.translate(\"mk.dataTablePage.deleteTitle\"),\r\n { type: \"warning\" }\r\n )\r\n\r\n if (!isConfirm) {\r\n return;\r\n }\r\n const result = await dataTree.deleteAfterRefresh(item.id);\r\n if (result.data.code == 200) {\r\n emit('deleteSuccessfully', item)\r\n }\r\n}\r\n\r\n/**\r\n * 选择栏目\r\n * @param data \r\n */\r\nconst selectPart = (data: DataTreeNode) => {\r\n emit(\"select\", data.data);\r\n}\r\n\r\ndefineExpose({ dataTree });\r\n\r\n\r\n</script>\r\n"],"names":["ref","useI18n","reactive","CmsPartTree","watch","ElMessageBox"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.vue.js","sources":["../../../../../../src/modules/cms/components/part-tree/index.vue"],"sourcesContent":["<template>\r\n <div class=\"cms-part-tree\">\r\n <div class=\"cms-part-tree__header\">\r\n <div>\r\n <MKSvgIcon iconClass=\"Notebook\" />\r\n 栏目\r\n </div>\r\n </div>\r\n <div class=\"cms-part-tree__body\">\r\n <ElScrollbar style=\"height: 100%;\">\r\n <MKDataTable :auto-load=\"true\" :data-table=\"dataTree\" highlight-current>\r\n <MKTree :data-tree=\"dataTree\" @nodeClick=\"selectPart\" defaultExpandAll draggable ref=\"treeRef\" :currentNodeKey=\"selectNodeId\">\r\n <template #node-main=\"{ data }\">\r\n {{ data.data.title }}\r\n </template>\r\n <template #node-tools=\"{ data }\">\r\n <el-dropdown>\r\n <ElIcon>\r\n <MoreFilled />\r\n </ElIcon>\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item :icon=\"Edit\" @click=\"handleEditClick(data.data)\">编辑</el-dropdown-item>\r\n <el-dropdown-item :icon=\"Delete\" @click=\"handleDeleteClick(data.data)\">删除</el-dropdown-item>\r\n <el-dropdown-item v-if=\"data.data.cmsPartTypeId != 1\" :icon=\"Plus\"\r\n @click=\"handleAddClick(data.data)\">添加子菜单</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </template>\r\n </MKTree>\r\n </MKDataTable>\r\n </ElScrollbar>\r\n </div>\r\n </div>\r\n</template>\r\n<script setup lang='ts'>\r\nimport { ElMessageBox, ElScrollbar } from \"element-plus\"\r\nimport { Plus, Edit, Delete, MoreFilled } from \"@element-plus/icons-vue\";\r\nimport { reactive, defineProps, watch, defineEmits, ref } from \"vue\";\r\nimport { MKDataTable, MKTree } from \"../../../../components/data-model/data-table\"\r\nimport { CmsPartTree } from \"../../dataviews\";\r\nimport { useI18n } from \"../../../../composables\";\r\nimport { DataTreeNode } from \"@maketribe/dm\";\r\n\r\ndefineOptions({ name: \"MKPartTree\" });\r\nconst treeRef = ref(null);\r\n// 配置选项\r\nconst optionSettings = defineProps<{\r\n curSelectId?:string|undefined\r\n}>();\r\n\r\n// 事件定义\r\nconst emit = defineEmits([\"edit\", \"add\", \"deleteSuccessfully\", \"select\"]);\r\n\r\nconst i18n = useI18n()!;\r\nconst dataTree = reactive(new CmsPartTree()) as CmsPartTree;\r\nconst selectNodeId = ref(optionSettings.curSelectId);\r\n\r\nwatch(()=>optionSettings.curSelectId,()=>{\r\n selectNodeId.value = optionSettings.curSelectId\r\n})\r\n\r\n// 监听数据变化\r\ndataTree.listChangeEvent.on(() => {\r\n\r\n const list = dataTree.getList();\r\n\r\n if (list.length > 0) {\r\n //默认选择第一条\r\n if(!selectNodeId.value){ selectNodeId.value = list[0].id; }\r\n\r\n for(let i=0;i<list.length;i++){\r\n\r\n let item = list[i]\r\n \r\n if(item.id == selectNodeId.value){\r\n emit(\"select\", item);\r\n break;\r\n }\r\n item.children?.forEach((child:any)=>list.push(child))\r\n\r\n }\r\n }\r\n})\r\n\r\n/**\r\n * 点击添加栏目按钮\r\n * @param item \r\n */\r\nconst handleAddClick = (item: any) => {\r\n emit(\"add\", item);\r\n}\r\n\r\n/**\r\n * 编辑栏目\r\n * @param item \r\n */\r\nconst handleEditClick = (item: any) => {\r\n emit(\"edit\", item);\r\n}\r\n/**\r\n * 删除栏目\r\n * @param item \r\n */\r\nconst handleDeleteClick = async (item: any) => {\r\n // 删除提示\r\n const isConfirm = await ElMessageBox.confirm(\r\n i18n.translate(\"mk.dataTablePage.deleteMessage\"),\r\n i18n.translate(\"mk.dataTablePage.deleteTitle\"),\r\n { type: \"warning\" }\r\n )\r\n\r\n if (!isConfirm) {\r\n return;\r\n }\r\n const result = await dataTree.deleteAfterRefresh(item.id);\r\n if (result.data.code == 200) {\r\n emit('deleteSuccessfully', item)\r\n }\r\n}\r\n\r\n/**\r\n * 选择栏目\r\n * @param data \r\n */\r\nconst selectPart = (data: DataTreeNode) => {\r\n emit(\"select\", data.data);\r\n}\r\n\r\ndefineExpose({ dataTree });\r\n\r\n\r\n</script>\r\n"],"names":["ref","useI18n","reactive","CmsPartTree","watch","ElMessageBox"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8CM,UAAA,UAAUA,QAAI,IAAI;AAExB,UAAM,iBAAiB;AAKvB,UAAM,OAAO;AAEb,UAAM,OAAOC,QAAAA;AACb,UAAM,WAAWC,IAAAA,SAAS,IAAIC,YAAAA,YAAa,CAAA;AACrC,UAAA,eAAeH,IAAAA,IAAI,eAAe,WAAW;AAE7CI,cAAA,MAAI,eAAe,aAAY,MAAI;AACvC,mBAAa,QAAQ,eAAe;AAAA,IAAA,CACrC;AAGQ,aAAA,gBAAgB,GAAG,MAAM;;AAE1B,YAAA,OAAO,SAAS;AAElB,UAAA,KAAK,SAAS,GAAG;AAEhB,YAAA,CAAC,aAAa,OAAM;AAAe,uBAAA,QAAQ,KAAK,CAAC,EAAE;AAAA,QAAI;AAE1D,iBAAQ,IAAE,GAAE,IAAE,KAAK,QAAO,KAAI;AAExB,cAAA,OAAO,KAAK,CAAC;AAEd,cAAA,KAAK,MAAM,aAAa,OAAM;AAC/B,iBAAK,UAAU,IAAI;AACnB;AAAA,UACF;AACA,qBAAK,aAAL,mBAAe,QAAQ,CAAC,UAAY,KAAK,KAAK,KAAK;AAAA,QAErD;AAAA,MACF;AAAA,IAAA,CACD;AAMK,UAAA,iBAAiB,CAAC,SAAc;AACpC,WAAK,OAAO,IAAI;AAAA,IAAA;AAOZ,UAAA,kBAAkB,CAAC,SAAc;AACrC,WAAK,QAAQ,IAAI;AAAA,IAAA;AAMb,UAAA,oBAAoB,OAAO,SAAc;AAEvC,YAAA,YAAY,MAAMC,YAAAA,aAAa;AAAA,QACnC,KAAK,UAAU,gCAAgC;AAAA,QAC/C,KAAK,UAAU,8BAA8B;AAAA,QAC7C,EAAE,MAAM,UAAU;AAAA,MAAA;AAGpB,UAAI,CAAC,WAAW;AACd;AAAA,MACF;AACA,YAAM,SAAS,MAAM,SAAS,mBAAmB,KAAK,EAAE;AACpD,UAAA,OAAO,KAAK,QAAQ,KAAK;AAC3B,aAAK,sBAAsB,IAAI;AAAA,MACjC;AAAA,IAAA;AAOI,UAAA,aAAa,CAAC,SAAuB;AACpC,WAAA,UAAU,KAAK,IAAI;AAAA,IAAA;AAGb,aAAA,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -36,6 +36,8 @@ require("../../../../components/basic/upload-file/upload-file.js");
|
|
|
36
36
|
require("../../../../components/basic/upload-file/context/web-file-upload-context.js");
|
|
37
37
|
require("../../../../components/basic/upload-file/context/web-file-upload-context-options.js");
|
|
38
38
|
require("../../../../components/basic/upload-file/ui/upload-image/index.js");
|
|
39
|
+
require("../../../../components/basic/upload-file/ui/upload-file/index.js");
|
|
40
|
+
require("../../../../components/basic/upload-file/ui/upload-video/index.js");
|
|
39
41
|
require("../../../../components/basic/upload-file/upload-file-options.js");
|
|
40
42
|
require("../../../../components/basic/doc-editor/index.js");
|
|
41
43
|
require("../../../../components/basic/copy-container/index.js");
|
|
@@ -54,10 +56,11 @@ require("../../../ms/dataviews/log/local-log/LocalLogTree.js");
|
|
|
54
56
|
require("../../../ms/components/material-list/index.js");
|
|
55
57
|
require("../../../ms/components/markdown-editor/index.js");
|
|
56
58
|
require("../../../ms/components/rich-text-editor/index.js");
|
|
59
|
+
require("@element-plus/icons-vue");
|
|
57
60
|
const MaterialUploadContext = require("../../../ms/material-upload-context/MaterialUploadContext.js");
|
|
58
61
|
require("../../../ms/material-upload-context/material-upload-context-options.js");
|
|
59
62
|
require("../../../ms/material-upload-context/material-upload-context.js");
|
|
60
|
-
require("
|
|
63
|
+
const index$1 = require("../../../ms/image-upload-context/index.js");
|
|
61
64
|
const index = require("../../constants/index.js");
|
|
62
65
|
const _CmsAdContentsForm = class _CmsAdContentsForm extends (_b = dm.DataForm, _a = dataModel.DATA_MODEL_NAME, _b) {
|
|
63
66
|
constructor(options = {}) {
|
|
@@ -66,6 +69,9 @@ const _CmsAdContentsForm = class _CmsAdContentsForm extends (_b = dm.DataForm, _
|
|
|
66
69
|
moduleName: index.MODULE_NAME,
|
|
67
70
|
...options
|
|
68
71
|
});
|
|
72
|
+
__publicField(this, "cutSise", "");
|
|
73
|
+
console.log(options.cutSise);
|
|
74
|
+
this.cutSise = options.cutSise;
|
|
69
75
|
}
|
|
70
76
|
async initialize() {
|
|
71
77
|
await super.initialize();
|
|
@@ -91,9 +97,7 @@ const _CmsAdContentsForm = class _CmsAdContentsForm extends (_b = dm.DataForm, _
|
|
|
91
97
|
required: true,
|
|
92
98
|
componentInfo: "MKFormImageUpload",
|
|
93
99
|
componentProps: {
|
|
94
|
-
uploadContext: new
|
|
95
|
-
allowMaterialTypeValues: [1]
|
|
96
|
-
})
|
|
100
|
+
uploadContext: new index$1.ImageUploadContext(this.cutSise)
|
|
97
101
|
}
|
|
98
102
|
}),
|
|
99
103
|
new dm.FormColumn({ name: "link", label: "跳转链接" })
|
|
@@ -101,10 +105,10 @@ const _CmsAdContentsForm = class _CmsAdContentsForm extends (_b = dm.DataForm, _
|
|
|
101
105
|
this.formItemValueChangeEvent.on((column) => {
|
|
102
106
|
if (column.formItem.name == "type") {
|
|
103
107
|
if (column.data.value == 1) {
|
|
104
|
-
this.getColumn("path").
|
|
105
|
-
|
|
106
|
-
});
|
|
108
|
+
this.getColumn("path").componentInfo = "MKFormImageUpload";
|
|
109
|
+
this.getColumn("path").componentProps.uploadContext = new index$1.ImageUploadContext(this.cutSise);
|
|
107
110
|
} else {
|
|
111
|
+
this.getColumn("path").componentInfo = "MKFormVideoUpload";
|
|
108
112
|
this.getColumn("path").componentProps.uploadContext = new MaterialUploadContext.MaterialUploadContext({
|
|
109
113
|
allowMaterialTypeValues: [2]
|
|
110
114
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CmsAdContentsForm.js","sources":["../../../../../../src/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.ts"],"sourcesContent":["import { DataForm, DataFormOptions, FormColumn } from \"@maketribe/dm\";\r\nimport { MaterialUploadContext } from \"../../../ms\";\r\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\r\nimport { MODULE_NAME } from \"../../constants\";\r\n\r\nexport class CmsAdContentsForm extends DataForm {\r\n\tstatic [DATA_MODEL_NAME]: string = \"ad-content\";\r\n\tconstructor(options: DataFormOptions = {}) {\r\n\t\tsuper({\r\n\t\t\tname: CmsAdContentsForm[DATA_MODEL_NAME],\r\n\t\t\tmoduleName: MODULE_NAME,\r\n\t\t\t...options,\r\n\t\t});\r\n\t}\r\n\r\n\tprotected async initialize() {\r\n\t\tawait super.initialize();\r\n\t\tthis.setColumns([\r\n\t\t\tnew FormColumn({ name: \"title\", label: \"标题\", required: true }),\r\n\t\t\tnew FormColumn({ name: \"desc\", label: \"描述\", required: true }),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"type\",\r\n\t\t\t\tlabel: \"素材类型\",\r\n\t\t\t\trequired: true,\r\n\t\t\t\tdefaultValue: 1,\r\n\t\t\t\tcomponentInfo: \"MKFormDataSelect\",\r\n\t\t\t\tcomponentProps: {\r\n\t\t\t\t\toptions: [\r\n\t\t\t\t\t\t{ value: 1, label: \"图片\" },\r\n\t\t\t\t\t\t{ value: 2, label: \"视频\" },\r\n\t\t\t\t\t],\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"path\",\r\n\t\t\t\tlabel: \"素材路径\",\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcomponentInfo: \"MKFormImageUpload\",\r\n\t\t\t\tcomponentProps: {\r\n\t\t\t\t\tuploadContext: new
|
|
1
|
+
{"version":3,"file":"CmsAdContentsForm.js","sources":["../../../../../../src/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.ts"],"sourcesContent":["import { DataForm, DataFormOptions, FormColumn } from \"@maketribe/dm\";\r\nimport { ImageUploadContext, MaterialUploadContext } from \"../../../ms\";\r\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\r\nimport { MODULE_NAME } from \"../../constants\";\r\n\r\nexport class CmsAdContentsForm extends DataForm {\r\n\tstatic [DATA_MODEL_NAME]: string = \"ad-content\";\r\n\tcutSise: string = \"\";\r\n\tconstructor(options: DataFormOptions & { cutSise?: string } = {}) {\r\n\t\tsuper({\r\n\t\t\tname: CmsAdContentsForm[DATA_MODEL_NAME],\r\n\t\t\tmoduleName: MODULE_NAME,\r\n\t\t\t...options,\r\n\t\t});\r\n\t\tconsole.log(options.cutSise)\r\n\t\tthis.cutSise = options.cutSise as string\r\n\t}\r\n\r\n\tprotected async initialize() {\r\n\t\tawait super.initialize();\r\n\t\tthis.setColumns([\r\n\t\t\tnew FormColumn({ name: \"title\", label: \"标题\", required: true }),\r\n\t\t\tnew FormColumn({ name: \"desc\", label: \"描述\", required: true }),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"type\",\r\n\t\t\t\tlabel: \"素材类型\",\r\n\t\t\t\trequired: true,\r\n\t\t\t\tdefaultValue: 1,\r\n\t\t\t\tcomponentInfo: \"MKFormDataSelect\",\r\n\t\t\t\tcomponentProps: {\r\n\t\t\t\t\toptions: [\r\n\t\t\t\t\t\t{ value: 1, label: \"图片\" },\r\n\t\t\t\t\t\t{ value: 2, label: \"视频\" },\r\n\t\t\t\t\t],\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"path\",\r\n\t\t\t\tlabel: \"素材路径\",\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcomponentInfo: \"MKFormImageUpload\",\r\n\t\t\t\tcomponentProps: {\r\n\t\t\t\t\tuploadContext: new ImageUploadContext(this.cutSise),\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({ name: \"link\", label: \"跳转链接\" }),\r\n\t\t]);\r\n\r\n\t\tthis.formItemValueChangeEvent.on((column) => {\r\n\t\t\tif (column.formItem.name == \"type\") {\r\n\t\t\t\tif (column.data.value == 1) {\r\n\t\t\t\t\tthis.getColumn(\"path\")!.componentInfo = \"MKFormImageUpload\"\r\n\t\t\t\t\tthis.getColumn(\"path\")!.componentProps.uploadContext =\r\n\t\t\t\t\t\tnew ImageUploadContext(this.cutSise);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.getColumn(\"path\")!.componentInfo = \"MKFormVideoUpload\"\r\n\t\t\t\t\tthis.getColumn(\"path\")!.componentProps.uploadContext =\r\n\t\t\t\t\t\tnew MaterialUploadContext({\r\n\t\t\t\t\t\t\tallowMaterialTypeValues: [2],\r\n\t\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\n"],"names":["DataForm","DATA_MODEL_NAME","MODULE_NAME","FormColumn","ImageUploadContext","MaterialUploadContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKO,MAAM,qBAAN,MAAM,4BAA0BA,QAAAA,UAC9BC,eAAAA,iBAD8BD,IAAS;AAAA,EAG/C,YAAY,UAAkD,IAAI;AAC3D,UAAA;AAAA,MACL,MAAM,mBAAkBC,yBAAe;AAAA,MACvC,YAAYC,MAAA;AAAA,MACZ,GAAG;AAAA,IAAA,CACH;AANF,mCAAkB;AAOT,YAAA,IAAI,QAAQ,OAAO;AAC3B,SAAK,UAAU,QAAQ;AAAA,EACxB;AAAA,EAEA,MAAgB,aAAa;AAC5B,UAAM,MAAM;AACZ,SAAK,WAAW;AAAA,MACf,IAAIC,cAAW,EAAE,MAAM,SAAS,OAAO,MAAM,UAAU,MAAM;AAAA,MAC7D,IAAIA,cAAW,EAAE,MAAM,QAAQ,OAAO,MAAM,UAAU,MAAM;AAAA,MAC5D,IAAIA,cAAW;AAAA,QACd,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,cAAc;AAAA,QACd,eAAe;AAAA,QACf,gBAAgB;AAAA,UACf,SAAS;AAAA,YACR,EAAE,OAAO,GAAG,OAAO,KAAK;AAAA,YACxB,EAAE,OAAO,GAAG,OAAO,KAAK;AAAA,UACzB;AAAA,QACD;AAAA,MAAA,CACA;AAAA,MACD,IAAIA,cAAW;AAAA,QACd,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,eAAe;AAAA,QACf,gBAAgB;AAAA,UACf,eAAe,IAAIC,QAAAA,mBAAmB,KAAK,OAAO;AAAA,QACnD;AAAA,MAAA,CACA;AAAA,MACD,IAAID,GAAAA,WAAW,EAAE,MAAM,QAAQ,OAAO,QAAQ;AAAA,IAAA,CAC9C;AAEI,SAAA,yBAAyB,GAAG,CAAC,WAAW;AACxC,UAAA,OAAO,SAAS,QAAQ,QAAQ;AAC/B,YAAA,OAAO,KAAK,SAAS,GAAG;AACtB,eAAA,UAAU,MAAM,EAAG,gBAAgB;AACnC,eAAA,UAAU,MAAM,EAAG,eAAe,gBACtC,IAAIC,QAAA,mBAAmB,KAAK,OAAO;AAAA,QAAA,OAC9B;AACD,eAAA,UAAU,MAAM,EAAG,gBAAgB;AACxC,eAAK,UAAU,MAAM,EAAG,eAAe,gBACtC,IAAIC,4CAAsB;AAAA,YACzB,yBAAyB,CAAC,CAAC;AAAA,UAAA,CAC3B;AAAA,QACH;AAAA,MACD;AAAA,IAAA,CACA;AAAA,EACF;AACD;AA1DC,cADY,oBACJJ,IAA2B;AAD7B,IAAM,oBAAN;;"}
|
|
@@ -41,6 +41,8 @@ require("../../../../components/basic/upload-file/upload-file.js");
|
|
|
41
41
|
require("../../../../components/basic/upload-file/context/web-file-upload-context.js");
|
|
42
42
|
require("../../../../components/basic/upload-file/context/web-file-upload-context-options.js");
|
|
43
43
|
require("../../../../components/basic/upload-file/ui/upload-image/index.js");
|
|
44
|
+
require("../../../../components/basic/upload-file/ui/upload-file/index.js");
|
|
45
|
+
require("../../../../components/basic/upload-file/ui/upload-video/index.js");
|
|
44
46
|
require("../../../../components/basic/upload-file/upload-file-options.js");
|
|
45
47
|
require("../../../../components/basic/doc-editor/index.js");
|
|
46
48
|
require("../../../../components/basic/copy-container/index.js");
|
|
@@ -59,10 +61,10 @@ require("../../../ms/dataviews/log/local-log/LocalLogTree.js");
|
|
|
59
61
|
require("../../../ms/components/material-list/index.js");
|
|
60
62
|
require("../../../ms/components/markdown-editor/index.js");
|
|
61
63
|
require("../../../ms/components/rich-text-editor/index.js");
|
|
64
|
+
require("@element-plus/icons-vue");
|
|
62
65
|
const MaterialUploadContext = require("../../../ms/material-upload-context/MaterialUploadContext.js");
|
|
63
66
|
require("../../../ms/material-upload-context/material-upload-context-options.js");
|
|
64
67
|
require("../../../ms/material-upload-context/material-upload-context.js");
|
|
65
|
-
require("@element-plus/icons-vue");
|
|
66
68
|
const langHtml = require("@codemirror/lang-html");
|
|
67
69
|
const _CmsArticlesForm = class _CmsArticlesForm extends (_b = dm.DataForm, _a = dataModel.DATA_MODEL_NAME, _b) {
|
|
68
70
|
constructor(options = {}) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CmsArticlesForm.js","sources":["../../../../../../src/modules/cms/dataviews/cms-articles/CmsArticlesForm.ts"],"sourcesContent":["import { DataForm, DataFormOptions, FormColumn, FormDetailColumn } from \"@maketribe/dm\";\r\nimport { CmsPartTree } from \"../cms-parts/CmsPartTree\";\r\nimport { CmsTagsForm, CmsTagsTable } from \"../cms-tags\";\r\nimport { CmsArticleAtlasForm, CmsArticleAtlasTable } from \"./cms-article-atlas\";\r\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\r\nimport { MODULE_NAME } from \"../../constants\";\r\nimport { MaterialUploadContext } from \"../../../ms\";\r\nimport { html } from \"@codemirror/lang-html\";\r\nimport { ResponseConfig, R } from \"@maketribe/request\";\r\nimport { MSAppClient } from \"../../../../core\";\r\n\r\nexport class CmsArticlesForm extends DataForm {\r\n\tstatic [DATA_MODEL_NAME]: string = \"article\";\r\n\r\n\tconstructor(options: DataFormOptions = {}) {\r\n\t\tsuper({\r\n\t\t\tname: CmsArticlesForm[DATA_MODEL_NAME],\r\n\t\t\tmoduleName: MODULE_NAME,\r\n\t\t\t...options,\r\n\t\t});\r\n\t}\r\n\tprotected loadRequest(paramsOrID: Record<string, any>): Promise<ResponseConfig<R<any>, any>> {\r\n\t\treturn super.loadDetailRequest(paramsOrID);\r\n\t}\r\n\tprotected async initialize() {\r\n\t\tawait super.initialize();\r\n\t\tthis.setColumns([\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"cmsPartId\",\r\n\t\t\t\tlabel: \"所属栏目\",\r\n\t\t\t\t// componentInfo: \"MKFormDataTableSelect\",\r\n\t\t\t\tcomponentInfo: \"MKDataTreeSelect\",\r\n\t\t\t\tcomponentProps: {\r\n\t\t\t\t\tlabelFieldName: \"name\",\r\n\t\t\t\t\tdataTree: this.register(new CmsPartTree()),\r\n\t\t\t\t},\r\n\t\t\t\trequired: true,\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"title\",\r\n\t\t\t\tlabel: \"标题\",\r\n\t\t\t\trequired: true,\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"subTitle\",\r\n\t\t\t\tlabel: \"子标题\",\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"cover\",\r\n\t\t\t\tlabel: \"封面图\",\r\n\t\t\t\tcomponentInfo: \"MKFormImageUpload\",\r\n\t\t\t\tcomponentProps: {\r\n\t\t\t\t\tuploadContext: new MaterialUploadContext({\r\n\t\t\t\t\t\tallowMaterialTypeValues: [1],\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"banner\",\r\n\t\t\t\tlabel: \"文字banner\",\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"desc\",\r\n\t\t\t\tlabel: \"文章描述\",\r\n\t\t\t\tcomponentInfo:\"MKFormInput\",\r\n\t\t\t\tcomponentProps:{\r\n\t\t\t\t\ttype:\"textarea\",\r\n\t\t\t\t\trow:3\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"seoKeywords\",\r\n\t\t\t\tlabel: \"SEO 关键词\",\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"seoDesc\",\r\n\t\t\t\tlabel: \"SEO 页面描述\",\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"releaseDate\",\r\n\t\t\t\tlabel: \"发布日期\",\r\n\t\t\t\tcomponentInfo: \"MKFormDatePicker\",\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"author\",\r\n\t\t\t\tlabel: \"作者\",\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"locationDesc\",\r\n\t\t\t\tlabel: \"地址描述\",\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"tags\",\r\n\t\t\t\tlabel: \"标签\",\r\n\t\t\t\tcomponentInfo: \"MKFormDataTableSelect\",\r\n\t\t\t\tdefaultValue: [],\r\n\t\t\t\tcomponentProps: {\r\n\t\t\t\t\tobjectValue: true,\r\n\t\t\t\t\tdataTable: this.register(new CmsTagsTable()),\r\n\t\t\t\t\tdataForm: this.register(new CmsTagsForm()),\r\n\t\t\t\t\tlabelFieldName: \"tag\",\r\n\t\t\t\t\tmultiple: true,\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"sortNo\",\r\n\t\t\t\tlabel: \"排序序号\",\r\n\t\t\t\tdefaultValue: 0,\r\n\t\t\t\trequired: true,\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"isNew\",\r\n\t\t\t\tlabel: \"最新\",\r\n\t\t\t\tdefaultValue: 0,\r\n\t\t\t\tcomponentInfo: \"MKFormRadioBox\",\r\n\t\t\t\tcomponentProps: {\r\n\t\t\t\t\toptions: [\r\n\t\t\t\t\t\t{ label: \"是\", value: 1 },\r\n\t\t\t\t\t\t{ label: \"否\", value: 0 },\r\n\t\t\t\t\t],\r\n\t\t\t\t},\r\n\t\t\t\trequired: true,\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"isTop\",\r\n\t\t\t\tlabel: \"置顶\",\r\n\t\t\t\tdefaultValue: 0,\r\n\t\t\t\tcomponentInfo: \"MKFormRadioBox\",\r\n\t\t\t\tcomponentProps: {\r\n\t\t\t\t\toptions: [\r\n\t\t\t\t\t\t{ label: \"是\", value: 1 },\r\n\t\t\t\t\t\t{ label: \"否\", value: 0 },\r\n\t\t\t\t\t],\r\n\t\t\t\t},\r\n\t\t\t\trequired: true,\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"isHotRecommend\",\r\n\t\t\t\tlabel: \"热点推荐\",\r\n\t\t\t\tdefaultValue: 0,\r\n\t\t\t\tcomponentInfo: \"MKFormRadioBox\",\r\n\t\t\t\tcomponentProps: {\r\n\t\t\t\t\toptions: [\r\n\t\t\t\t\t\t{ label: \"是\", value: 1 },\r\n\t\t\t\t\t\t{ label: \"否\", value: 0 },\r\n\t\t\t\t\t],\r\n\t\t\t\t},\r\n\t\t\t\trequired: true,\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"isPartRecommend\",\r\n\t\t\t\tlabel: \"栏目推荐\",\r\n\t\t\t\tdefaultValue: 0,\r\n\t\t\t\tcomponentInfo: \"MKFormRadioBox\",\r\n\t\t\t\tcomponentProps: {\r\n\t\t\t\t\toptions: [\r\n\t\t\t\t\t\t{ label: \"是\", value: 1 },\r\n\t\t\t\t\t\t{ label: \"否\", value: 0 },\r\n\t\t\t\t\t],\r\n\t\t\t\t},\r\n\t\t\t\trequired: true,\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"isDraft\",\r\n\t\t\t\tlabel: \"草稿\",\r\n\t\t\t\tdefaultValue: 0,\r\n\t\t\t\tcomponentInfo: \"MKFormRadioBox\",\r\n\t\t\t\tcomponentProps: {\r\n\t\t\t\t\toptions: [\r\n\t\t\t\t\t\t{ label: \"是\", value: 1 },\r\n\t\t\t\t\t\t{ label: \"否\", value: 0 },\r\n\t\t\t\t\t],\r\n\t\t\t\t},\r\n\t\t\t\trequired: true,\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"isShowList\",\r\n\t\t\t\tlabel: \"列表显示\",\r\n\t\t\t\tdefaultValue: 0,\r\n\t\t\t\tcomponentInfo: \"MKFormRadioBox\",\r\n\t\t\t\tcomponentProps: {\r\n\t\t\t\t\toptions: [\r\n\t\t\t\t\t\t{ label: \"是\", value: 1 },\r\n\t\t\t\t\t\t{ label: \"否\", value: 0 },\r\n\t\t\t\t\t],\r\n\t\t\t\t},\r\n\t\t\t\trequired: true,\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"downloadPath\",\r\n\t\t\t\tlabel: \"附件链接\",\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"content\",\r\n\t\t\t\tlabel: \"内容\",\r\n\t\t\t\t// componentInfo: \"MKFormRichTextEditor\",\r\n\t\t\t\tcomponentInfo: \"MKCodeEditor\",\r\n\t\t\t\tcomponentProps: {\r\n\t\t\t\t\textensions: [html()],\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\r\n\t\t\tnew FormDetailColumn({\r\n\t\t\t\tname: \"atlas\",\r\n\t\t\t\tlabel: \"文章图集\",\r\n\t\t\t\tassociationFieldName: \"cmsArticleId\",\r\n\t\t\t\tdefaultValue: [],\r\n\t\t\t\tdetailForm: this.register(new CmsArticleAtlasForm()),\r\n\t\t\t\tdetailTable: this.register(new CmsArticleAtlasTable()),\r\n\t\t\t}),\r\n\t\t]);\r\n\t}\r\n\r\n\tformatSubmitData(data: any) {\r\n\t\tObject.keys(data).forEach((key) => {\r\n\t\t\tif (data[key] === \"\") {\r\n\t\t\t\tdata[key] = null;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tdata.sortNo -= 0;\r\n\r\n\t\treturn data;\r\n\t}\r\n\tsetData(data: any): void {\r\n\t\tsuper.setData(data);\r\n\t}\r\n\r\n /**\r\n * 发布\r\n */\r\n static async publish(mode:string,partId:string,id:string){\r\n \r\n if(mode == \"dynamic\"){\r\n // 调用发布接口\r\n return await MSAppClient!.instance?.httpRequest.post(`${MODULE_NAME}/content/publish/content-dynamic`, {\r\n partId: partId, contentIds: [ id ]\r\n });\r\n }\r\n else{\r\n // 调用发布接口\r\n return await MSAppClient!.instance?.httpRequest.post(`${MODULE_NAME}/content/publish/content`, {\r\n partId: partId, contentIds: [ id ]\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * 保存并发布发布\r\n */\r\n async saveAndPublish(mode:string){\r\n\r\n const partId = this.data.cmsPartId;\r\n const id = this.data.id;\r\n\r\n let result:any = await this.submit()\r\n\r\n if(result.data.code == 200){\r\n result = await CmsArticlesForm.publish(mode,partId,id)\r\n }\r\n \r\n return result\r\n }\r\n}\r\n"],"names":["DataForm","DATA_MODEL_NAME","MODULE_NAME","FormColumn","CmsPartTree","MaterialUploadContext","CmsTagsTable","CmsTagsForm","html","FormDetailColumn","CmsArticleAtlasForm","CmsArticleAtlasTable","MSAppClient"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CmsArticlesForm.js","sources":["../../../../../../src/modules/cms/dataviews/cms-articles/CmsArticlesForm.ts"],"sourcesContent":["import { DataForm, DataFormOptions, FormColumn, FormDetailColumn } from \"@maketribe/dm\";\r\nimport { CmsPartTree } from \"../cms-parts/CmsPartTree\";\r\nimport { CmsTagsForm, CmsTagsTable } from \"../cms-tags\";\r\nimport { CmsArticleAtlasForm, CmsArticleAtlasTable } from \"./cms-article-atlas\";\r\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\r\nimport { MODULE_NAME } from \"../../constants\";\r\nimport { MaterialUploadContext } from \"../../../ms\";\r\nimport { html } from \"@codemirror/lang-html\";\r\nimport { ResponseConfig, R } from \"@maketribe/request\";\r\nimport { MSAppClient } from \"../../../../core\";\r\n\r\nexport class CmsArticlesForm extends DataForm {\r\n\tstatic [DATA_MODEL_NAME]: string = \"article\";\r\n\r\n\tconstructor(options: DataFormOptions = {}) {\r\n\t\tsuper({\r\n\t\t\tname: CmsArticlesForm[DATA_MODEL_NAME],\r\n\t\t\tmoduleName: MODULE_NAME,\r\n\t\t\t...options,\r\n\t\t});\r\n\t}\r\n\tprotected loadRequest(paramsOrID: Record<string, any>): Promise<ResponseConfig<R<any>, any>> {\r\n\t\treturn super.loadDetailRequest(paramsOrID);\r\n\t}\r\n\tprotected async initialize() {\r\n\t\tawait super.initialize();\r\n\t\tthis.setColumns([\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"cmsPartId\",\r\n\t\t\t\tlabel: \"所属栏目\",\r\n\t\t\t\t// componentInfo: \"MKFormDataTableSelect\",\r\n\t\t\t\tcomponentInfo: \"MKDataTreeSelect\",\r\n\t\t\t\tcomponentProps: {\r\n\t\t\t\t\tlabelFieldName: \"name\",\r\n\t\t\t\t\tdataTree: this.register(new CmsPartTree()),\r\n\t\t\t\t},\r\n\t\t\t\trequired: true,\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"title\",\r\n\t\t\t\tlabel: \"标题\",\r\n\t\t\t\trequired: true,\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"subTitle\",\r\n\t\t\t\tlabel: \"子标题\",\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"cover\",\r\n\t\t\t\tlabel: \"封面图\",\r\n\t\t\t\tcomponentInfo: \"MKFormImageUpload\",\r\n\t\t\t\tcomponentProps: {\r\n\t\t\t\t\tuploadContext: new MaterialUploadContext({\r\n\t\t\t\t\t\tallowMaterialTypeValues: [1],\r\n\t\t\t\t\t}),\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"banner\",\r\n\t\t\t\tlabel: \"文字banner\",\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"desc\",\r\n\t\t\t\tlabel: \"文章描述\",\r\n\t\t\t\tcomponentInfo:\"MKFormInput\",\r\n\t\t\t\tcomponentProps:{\r\n\t\t\t\t\ttype:\"textarea\",\r\n\t\t\t\t\trow:3\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"seoKeywords\",\r\n\t\t\t\tlabel: \"SEO 关键词\",\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"seoDesc\",\r\n\t\t\t\tlabel: \"SEO 页面描述\",\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"releaseDate\",\r\n\t\t\t\tlabel: \"发布日期\",\r\n\t\t\t\tcomponentInfo: \"MKFormDatePicker\",\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"author\",\r\n\t\t\t\tlabel: \"作者\",\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"locationDesc\",\r\n\t\t\t\tlabel: \"地址描述\",\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"tags\",\r\n\t\t\t\tlabel: \"标签\",\r\n\t\t\t\tcomponentInfo: \"MKFormDataTableSelect\",\r\n\t\t\t\tdefaultValue: [],\r\n\t\t\t\tcomponentProps: {\r\n\t\t\t\t\tobjectValue: true,\r\n\t\t\t\t\tdataTable: this.register(new CmsTagsTable()),\r\n\t\t\t\t\tdataForm: this.register(new CmsTagsForm()),\r\n\t\t\t\t\tlabelFieldName: \"tag\",\r\n\t\t\t\t\tmultiple: true,\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"sortNo\",\r\n\t\t\t\tlabel: \"排序序号\",\r\n\t\t\t\tdefaultValue: 0,\r\n\t\t\t\trequired: true,\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"isNew\",\r\n\t\t\t\tlabel: \"最新\",\r\n\t\t\t\tdefaultValue: 0,\r\n\t\t\t\tcomponentInfo: \"MKFormRadioBox\",\r\n\t\t\t\tcomponentProps: {\r\n\t\t\t\t\toptions: [\r\n\t\t\t\t\t\t{ label: \"是\", value: 1 },\r\n\t\t\t\t\t\t{ label: \"否\", value: 0 },\r\n\t\t\t\t\t],\r\n\t\t\t\t},\r\n\t\t\t\trequired: true,\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"isTop\",\r\n\t\t\t\tlabel: \"置顶\",\r\n\t\t\t\tdefaultValue: 0,\r\n\t\t\t\tcomponentInfo: \"MKFormRadioBox\",\r\n\t\t\t\tcomponentProps: {\r\n\t\t\t\t\toptions: [\r\n\t\t\t\t\t\t{ label: \"是\", value: 1 },\r\n\t\t\t\t\t\t{ label: \"否\", value: 0 },\r\n\t\t\t\t\t],\r\n\t\t\t\t},\r\n\t\t\t\trequired: true,\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"isHotRecommend\",\r\n\t\t\t\tlabel: \"热点推荐\",\r\n\t\t\t\tdefaultValue: 0,\r\n\t\t\t\tcomponentInfo: \"MKFormRadioBox\",\r\n\t\t\t\tcomponentProps: {\r\n\t\t\t\t\toptions: [\r\n\t\t\t\t\t\t{ label: \"是\", value: 1 },\r\n\t\t\t\t\t\t{ label: \"否\", value: 0 },\r\n\t\t\t\t\t],\r\n\t\t\t\t},\r\n\t\t\t\trequired: true,\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"isPartRecommend\",\r\n\t\t\t\tlabel: \"栏目推荐\",\r\n\t\t\t\tdefaultValue: 0,\r\n\t\t\t\tcomponentInfo: \"MKFormRadioBox\",\r\n\t\t\t\tcomponentProps: {\r\n\t\t\t\t\toptions: [\r\n\t\t\t\t\t\t{ label: \"是\", value: 1 },\r\n\t\t\t\t\t\t{ label: \"否\", value: 0 },\r\n\t\t\t\t\t],\r\n\t\t\t\t},\r\n\t\t\t\trequired: true,\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"isDraft\",\r\n\t\t\t\tlabel: \"草稿\",\r\n\t\t\t\tdefaultValue: 0,\r\n\t\t\t\tcomponentInfo: \"MKFormRadioBox\",\r\n\t\t\t\tcomponentProps: {\r\n\t\t\t\t\toptions: [\r\n\t\t\t\t\t\t{ label: \"是\", value: 1 },\r\n\t\t\t\t\t\t{ label: \"否\", value: 0 },\r\n\t\t\t\t\t],\r\n\t\t\t\t},\r\n\t\t\t\trequired: true,\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"isShowList\",\r\n\t\t\t\tlabel: \"列表显示\",\r\n\t\t\t\tdefaultValue: 0,\r\n\t\t\t\tcomponentInfo: \"MKFormRadioBox\",\r\n\t\t\t\tcomponentProps: {\r\n\t\t\t\t\toptions: [\r\n\t\t\t\t\t\t{ label: \"是\", value: 1 },\r\n\t\t\t\t\t\t{ label: \"否\", value: 0 },\r\n\t\t\t\t\t],\r\n\t\t\t\t},\r\n\t\t\t\trequired: true,\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"downloadPath\",\r\n\t\t\t\tlabel: \"附件链接\",\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"content\",\r\n\t\t\t\tlabel: \"内容\",\r\n\t\t\t\t// componentInfo: \"MKFormRichTextEditor\",\r\n\t\t\t\tcomponentInfo: \"MKCodeEditor\",\r\n\t\t\t\tcomponentProps: {\r\n\t\t\t\t\textensions: [html()],\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\r\n\t\t\tnew FormDetailColumn({\r\n\t\t\t\tname: \"atlas\",\r\n\t\t\t\tlabel: \"文章图集\",\r\n\t\t\t\tassociationFieldName: \"cmsArticleId\",\r\n\t\t\t\tdefaultValue: [],\r\n\t\t\t\tdetailForm: this.register(new CmsArticleAtlasForm()),\r\n\t\t\t\tdetailTable: this.register(new CmsArticleAtlasTable()),\r\n\t\t\t}),\r\n\t\t]);\r\n\t}\r\n\r\n\tformatSubmitData(data: any) {\r\n\t\tObject.keys(data).forEach((key) => {\r\n\t\t\tif (data[key] === \"\") {\r\n\t\t\t\tdata[key] = null;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tdata.sortNo -= 0;\r\n\r\n\t\treturn data;\r\n\t}\r\n\tsetData(data: any): void {\r\n\t\tsuper.setData(data);\r\n\t}\r\n\r\n /**\r\n * 发布\r\n */\r\n static async publish(mode:string,partId:string,id:string){\r\n \r\n if(mode == \"dynamic\"){\r\n // 调用发布接口\r\n return await MSAppClient!.instance?.httpRequest.post(`${MODULE_NAME}/content/publish/content-dynamic`, {\r\n partId: partId, contentIds: [ id ]\r\n });\r\n }\r\n else{\r\n // 调用发布接口\r\n return await MSAppClient!.instance?.httpRequest.post(`${MODULE_NAME}/content/publish/content`, {\r\n partId: partId, contentIds: [ id ]\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * 保存并发布发布\r\n */\r\n async saveAndPublish(mode:string){\r\n\r\n const partId = this.data.cmsPartId;\r\n const id = this.data.id;\r\n\r\n let result:any = await this.submit()\r\n\r\n if(result.data.code == 200){\r\n result = await CmsArticlesForm.publish(mode,partId,id)\r\n }\r\n \r\n return result\r\n }\r\n}\r\n"],"names":["DataForm","DATA_MODEL_NAME","MODULE_NAME","FormColumn","CmsPartTree","MaterialUploadContext","CmsTagsTable","CmsTagsForm","html","FormDetailColumn","CmsArticleAtlasForm","CmsArticleAtlasTable","MSAppClient"],"mappings":"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"}
|
package/dist/cjs/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js
CHANGED
|
@@ -36,6 +36,8 @@ require("../../../../../components/basic/upload-file/upload-file.js");
|
|
|
36
36
|
require("../../../../../components/basic/upload-file/context/web-file-upload-context.js");
|
|
37
37
|
require("../../../../../components/basic/upload-file/context/web-file-upload-context-options.js");
|
|
38
38
|
require("../../../../../components/basic/upload-file/ui/upload-image/index.js");
|
|
39
|
+
require("../../../../../components/basic/upload-file/ui/upload-file/index.js");
|
|
40
|
+
require("../../../../../components/basic/upload-file/ui/upload-video/index.js");
|
|
39
41
|
require("../../../../../components/basic/upload-file/upload-file-options.js");
|
|
40
42
|
require("../../../../../components/basic/doc-editor/index.js");
|
|
41
43
|
require("../../../../../components/basic/copy-container/index.js");
|
|
@@ -54,10 +56,10 @@ require("../../../../ms/dataviews/log/local-log/LocalLogTree.js");
|
|
|
54
56
|
require("../../../../ms/components/material-list/index.js");
|
|
55
57
|
require("../../../../ms/components/markdown-editor/index.js");
|
|
56
58
|
require("../../../../ms/components/rich-text-editor/index.js");
|
|
59
|
+
require("@element-plus/icons-vue");
|
|
57
60
|
const MaterialUploadContext = require("../../../../ms/material-upload-context/MaterialUploadContext.js");
|
|
58
61
|
require("../../../../ms/material-upload-context/material-upload-context-options.js");
|
|
59
62
|
require("../../../../ms/material-upload-context/material-upload-context.js");
|
|
60
|
-
require("@element-plus/icons-vue");
|
|
61
63
|
const index = require("../../../constants/index.js");
|
|
62
64
|
const _CmsArticleAtlasForm = class _CmsArticleAtlasForm extends (_b = dm.DataForm, _a = dataModel.DATA_MODEL_NAME, _b) {
|
|
63
65
|
constructor(options = {}) {
|
package/dist/cjs/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CmsArticleAtlasForm.js","sources":["../../../../../../../src/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.ts"],"sourcesContent":["import { DataForm, DataFormOptions, FormColumn } from \"@maketribe/dm\";\r\nimport { MaterialUploadContext } from \"../../../../ms\";\r\nimport { DATA_MODEL_NAME } from \"../../../../../constants\";\r\nimport { MODULE_NAME } from \"../../../constants\";\r\n\r\nexport class CmsArticleAtlasForm extends DataForm {\r\n static [DATA_MODEL_NAME]: string = \"article-atlas\";\r\n\r\n constructor(options: DataFormOptions = {}) {\r\n super({\r\n name: CmsArticleAtlasForm[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 this.setColumns([\r\n new FormColumn({ name: \"key\", label: \"图集标识\" }),\r\n new FormColumn({ name: \"title\", label: \"标题\", required: true }),\r\n new FormColumn({\r\n name: \"path\",\r\n label: \"图片路径\",\r\n required: true,\r\n componentInfo: \"MKFormImageUpload\",\r\n componentProps: {\r\n uploadContext: new MaterialUploadContext({\r\n allowMaterialTypeValues: [1,2],\r\n }),\r\n },\r\n }),\r\n new FormColumn({ name: \"sortNo\", label: \"排序序号\", defaultValue: 0 }),\r\n ]);\r\n }\r\n}\r\n"],"names":["DataForm","DATA_MODEL_NAME","MODULE_NAME","FormColumn","MaterialUploadContext"],"mappings":"
|
|
1
|
+
{"version":3,"file":"CmsArticleAtlasForm.js","sources":["../../../../../../../src/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.ts"],"sourcesContent":["import { DataForm, DataFormOptions, FormColumn } from \"@maketribe/dm\";\r\nimport { MaterialUploadContext } from \"../../../../ms\";\r\nimport { DATA_MODEL_NAME } from \"../../../../../constants\";\r\nimport { MODULE_NAME } from \"../../../constants\";\r\n\r\nexport class CmsArticleAtlasForm extends DataForm {\r\n static [DATA_MODEL_NAME]: string = \"article-atlas\";\r\n\r\n constructor(options: DataFormOptions = {}) {\r\n super({\r\n name: CmsArticleAtlasForm[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 this.setColumns([\r\n new FormColumn({ name: \"key\", label: \"图集标识\" }),\r\n new FormColumn({ name: \"title\", label: \"标题\", required: true }),\r\n new FormColumn({\r\n name: \"path\",\r\n label: \"图片路径\",\r\n required: true,\r\n componentInfo: \"MKFormImageUpload\",\r\n componentProps: {\r\n uploadContext: new MaterialUploadContext({\r\n allowMaterialTypeValues: [1,2],\r\n }),\r\n },\r\n }),\r\n new FormColumn({ name: \"sortNo\", label: \"排序序号\", defaultValue: 0 }),\r\n ]);\r\n }\r\n}\r\n"],"names":["DataForm","DATA_MODEL_NAME","MODULE_NAME","FormColumn","MaterialUploadContext"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKO,MAAM,uBAAN,MAAM,8BAA4BA,QAAAA,UAC/BC,eAAAA,iBAD+BD,IAAS;AAAA,EAGhD,YAAY,UAA2B,IAAI;AACnC,UAAA;AAAA,MACJ,MAAM,qBAAoBC,yBAAe;AAAA,MACzC,YAAYC,MAAA;AAAA,MACZ,GAAG;AAAA,IAAA,CACJ;AAAA,EACH;AAAA,EAEA,MAAgB,aAAa;AAC3B,UAAM,MAAM;AACZ,SAAK,WAAW;AAAA,MACd,IAAIC,GAAAA,WAAW,EAAE,MAAM,OAAO,OAAO,QAAQ;AAAA,MAC7C,IAAIA,cAAW,EAAE,MAAM,SAAS,OAAO,MAAM,UAAU,MAAM;AAAA,MAC7D,IAAIA,cAAW;AAAA,QACb,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,eAAe;AAAA,QACf,gBAAgB;AAAA,UACd,eAAe,IAAIC,sBAAAA,sBAAsB;AAAA,YACvC,yBAAyB,CAAC,GAAE,CAAC;AAAA,UAAA,CAC9B;AAAA,QACH;AAAA,MAAA,CACD;AAAA,MACD,IAAID,cAAW,EAAE,MAAM,UAAU,OAAO,QAAQ,cAAc,GAAG;AAAA,IAAA,CAClE;AAAA,EACH;AACF;AA7BE,cADW,sBACHF,IAA2B;AAD9B,IAAM,sBAAN;;"}
|
|
@@ -32,6 +32,8 @@ require("../../../../components/basic/upload-file/upload-file.js");
|
|
|
32
32
|
require("../../../../components/basic/upload-file/context/web-file-upload-context.js");
|
|
33
33
|
require("../../../../components/basic/upload-file/context/web-file-upload-context-options.js");
|
|
34
34
|
require("../../../../components/basic/upload-file/ui/upload-image/index.js");
|
|
35
|
+
require("../../../../components/basic/upload-file/ui/upload-file/index.js");
|
|
36
|
+
require("../../../../components/basic/upload-file/ui/upload-video/index.js");
|
|
35
37
|
require("../../../../components/basic/upload-file/upload-file-options.js");
|
|
36
38
|
require("../../../../components/basic/doc-editor/index.js");
|
|
37
39
|
require("../../../../components/basic/copy-container/index.js");
|
|
@@ -50,9 +52,9 @@ require("../../../ms/dataviews/log/local-log/LocalLogTree.js");
|
|
|
50
52
|
require("../../../ms/components/material-list/index.js");
|
|
51
53
|
require("../../../ms/components/markdown-editor/index.js");
|
|
52
54
|
require("../../../ms/components/rich-text-editor/index.js");
|
|
55
|
+
const elIcons = require("@element-plus/icons-vue");
|
|
53
56
|
require("../../../ms/material-upload-context/material-upload-context-options.js");
|
|
54
57
|
require("../../../ms/material-upload-context/material-upload-context.js");
|
|
55
|
-
const elIcons = require("@element-plus/icons-vue");
|
|
56
58
|
require("@codemirror/lang-html");
|
|
57
59
|
const _hoisted_1 = { class: "mk-cms-ad__warp" };
|
|
58
60
|
const _hoisted_2 = { style: { "color": "var(--el-text-color-regular)", "margin-left": "10px" } };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-ad/index.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-ad__warp\">\r\n <el-page-header style=\"background-color: #fff;padding: 10px;\" :icon=\"null\">\r\n <template #title>\r\n <h3 style=\"color: var(--el-text-color-regular);margin-left: 10px;\">\r\n <MKSvgIcon iconClass=\"Guide\" style=\"margin-right: 5px;\" />\r\n 广告位管理\r\n </h3>\r\n </template>\r\n <template #content>\r\n <el-input style=\"width: 240px\" placeholder=\"请输入广告位描述\" v-model=\"adSearchWord\">\r\n <template #prefix>\r\n <MKSvgIcon iconClass=\"Search\" />\r\n </template>\r\n </el-input>\r\n </template>\r\n <template #extra>\r\n <div class=\"flex items-center\">\r\n <el-button type=\"primary\" size=\"large\" text @click=\"showAdDefineHandle\">\r\n 添加广告位\r\n <MKSvgIcon iconClass=\"Plus\" style=\"margin-left: 10px;\" />\r\n </el-button>\r\n </div>\r\n </template>\r\n </el-page-header>\r\n <div class=\"mk-cms-ad__body\" v-loading=\"loading\">\r\n <el-scrollbar class=\"mk-cms-ad__body__scrollbar\">\r\n <el-card v-for=\"item in adDefineList\" :key=\"item.id\" class=\"mk-cms-ad__card\">\r\n <template #header>\r\n <div class=\"mk-cms-ad__card__header clearfix\">\r\n <span>\r\n <MKSvgIcon iconClass=\"Guide\" style=\"margin-right: 5px;\" />\r\n {{ item.desc }}\r\n </span>\r\n <div class=\"btn-box\">\r\n <MKSvgIcon class=\"btn\" iconClass=\"Plus\" style=\"color: #409EFF;\"\r\n @click=\"showAdContentHandler(item, false)\" />\r\n <MKSvgIcon class=\"btn\" iconClass=\"EditPen\" style=\"color: #409EFF;\" @click=\"showAdDefineHandle(item)\" />\r\n <MKSvgIcon class=\"btn\" iconClass=\"Delete\" style=\"color: #F56C6C;\"\r\n @click=\"deleteHandler(adRequest, 'desc', item)\" v-if=\"item.contents.length == 0\" />\r\n </div>\r\n </div>\r\n </template>\r\n <el-empty v-if=\"item.contents.length <= 0\" description=\"暂无内容\" />\r\n <div class=\"mk-cms-ad__card__body\">\r\n <el-scrollbar class=\"mk-cms-ad__card__body__scrollbar\">\r\n <el-card class=\"mk-cms-ad__card__body__item\" v-for=\"adContent in item.contents\" :key=\"adContent.id\">\r\n <el-image class=\"images\" v-if=\"adContent.type == 1\" :src=\"adContent.path\"\r\n :preview-src-list=\"[adContent.path]\" fit=\"contain\">\r\n <div slot=\"placeholder\" class=\"image-slot\">\r\n 加载中<span class=\"dot\">...</span>\r\n </div>\r\n </el-image>\r\n <video class=\"video\" v-if=\"adContent.type == 2\" :src=\"adContent.path\" style=\"width: 100%;height: 200px;\"\r\n controls></video>\r\n <div class=\"item-desc\">\r\n <div class=\"item-desc-left\">\r\n <div class=\"title ellipsis\">\r\n <MKSvgIcon class=\"icon\" v-if=\"adContent.type == 1\" iconClass=\"Picture\"></MKSvgIcon>\r\n <MKSvgIcon class=\"icon\" v-if=\"adContent.type == 2\" iconClass=\"VideoCamera\"></MKSvgIcon>\r\n <span :title=\"adContent.title + '(' + adContent.desc + ')'\">{{ adContent.title }}<span\r\n class=\"desc\">{{\r\n adContent.desc ? `(${adContent.desc})` : \"\" }}</span></span>\r\n </div>\r\n <div class=\"external-links ellipsis\">\r\n <MKSvgIcon class=\"icon\" v-if=\"adContent.link\" iconClass=\"Link\"></MKSvgIcon>\r\n <a :href=\"adContent.link\" target=\"_blank\" :title=\"adContent.link\">{{ adContent.link }}</a>\r\n </div>\r\n </div>\r\n <div class=\"item-desc-right\">\r\n <el-dropdown trigger=\"click\" :teleported=\"false\" class=\"item-desc-right__more\">\r\n <span class=\"el-dropdown-link\">\r\n 更多<el-icon class=\"el-icon--right\"><arrow-down /></el-icon>\r\n </span>\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item class=\"edit-button\" :icon=\"EditPen\"\r\n @click=\"showAdContentHandler(adContent, true)\">编辑</el-dropdown-item>\r\n <el-dropdown-item class=\"delete-button\" :icon=\"Delete\"\r\n @click=\"deleteHandler(adContentRequest, 'title', adContent)\">删除</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </div>\r\n </div>\r\n </el-card>\r\n </el-scrollbar>\r\n </div>\r\n </el-card>\r\n </el-scrollbar>\r\n\r\n <el-empty v-if=\"adDefineList?.length <= 0\" description=“暂无内容” />\r\n </div>\r\n </div>\r\n\r\n</template>\r\n<script setup lang='ts'>\r\nimport { onMounted, reactive, ref, watch } from \"vue\";\r\nimport { DataViewRequest, Group } from \"@maketribe/request\";\r\nimport { DataForm, Dialoger, FormColumn, Messager } from \"@maketribe/dm\";\r\nimport { CmsAdContentsForm, CmsAdDefinesForm } from \"../../dataviews\";\r\nimport { EditPen, ArrowDown, Delete } from \"@element-plus/icons-vue\"\r\n\r\n// 广告定义数据表\r\nconst adRequest = new DataViewRequest({ name: \"ad-define\", moduleName: \"cms\" });\r\nconst adContentRequest = new DataViewRequest({ name: \"ad-content\", moduleName: \"cms\" });\r\n//广告位搜索词\r\nconst adSearchWord = ref(\"\")\r\n// 广告定义列表\r\nconst adDefineList = ref([] as any[]);\r\nconst loading = ref(true);\r\n\r\n//更新列表数据\r\nconst setAdDefineList = async (condition?: Group) => {\r\n try {\r\n loading.value = true;\r\n\r\n if(!condition){ condition = new Group(); }\r\n\r\n // 栏目的广告不查\r\n condition?.addCondition(\"key\",\"nolike\",\"part_\")\r\n\r\n console.log(condition);\r\n\r\n adDefineList.value = (await adRequest.allList({\r\n data: {\r\n condition: condition\r\n }\r\n })).data.data;\r\n\r\n } catch (e) {\r\n console.error(e)\r\n } finally {\r\n loading.value = false;\r\n }\r\n}\r\n// 广告内容表单\r\nconst adContentForm = reactive(new CmsAdContentsForm())\r\n//监听广告内容表单保存事件\r\nadContentForm.submittedEvent.on(() => {\r\n setAdDefineList()\r\n})\r\n// 添加广告内容\r\nconst showAdContentHandler = async (item: any, isEdit: boolean) => {\r\n await Dialoger.dataFormDialog({\r\n dataForm: adContentForm as DataForm,\r\n recId: isEdit ? item.id : undefined\r\n })\r\n if (!isEdit) {\r\n adContentForm.addRecord({ adDefineId: item.id })\r\n }\r\n}\r\n\r\n//广告定义表单\r\nconst adDefineForm = reactive(new (class extends CmsAdDefinesForm {\r\n //去掉广告内容\r\n protected async initialize() {\r\n await super.initialize();\r\n this.setColumns([\r\n new FormColumn({ name: \"key\", label: \"广告位KEY\", required: true }),\r\n new FormColumn({ name: \"desc\", label: \"广告位描述\", required: true }),\r\n ]);\r\n }\r\n}))\r\n//监听广告保存完成进行刷新\r\nadDefineForm.submittedEvent.on(() => {\r\n setAdDefineList()\r\n})\r\n//增加广告位\r\nconst showAdDefineHandle = (item: any) => {\r\n Dialoger.dataFormDialog({\r\n dataForm: adDefineForm as DataForm,\r\n recId: item?.id\r\n })\r\n}\r\n\r\n//删除\r\nconst deleteHandler = async (request: DataViewRequest, field: string, item: any) => {\r\n const isConfirm = await Dialoger.confirm({\r\n title: \"是否删除?\",\r\n message: `确定删除【${item[field]}】广告位?`,\r\n type: \"warning\"\r\n });\r\n if (!isConfirm) {\r\n return;\r\n }\r\n try {\r\n loading.value = true\r\n const result = await request.delete(item.id)\r\n if (result.data.code != 200) {\r\n Messager.error({ message: result.data.msg || \"删除失败\" })\r\n return;\r\n }\r\n await setAdDefineList()\r\n } catch (e: any) {\r\n Messager.error({ message: e })\r\n } finally {\r\n loading.value = false\r\n\r\n }\r\n}\r\n\r\n// 加载广告定义\r\nonMounted(async () => {\r\n await setAdDefineList();\r\n})\r\n\r\n//timer\r\nlet timer: any = null\r\n\r\n//监听adSearchWord变化进行搜索\r\nwatch(adSearchWord, async () => {\r\n\r\n if (!!timer) {\r\n clearTimeout(timer)\r\n }\r\n\r\n timer = setTimeout(async () => {\r\n const condition = new Group()\r\n condition.addCondition(\"desc\", \"like\", `%${adSearchWord.value}%`)\r\n await setAdDefineList(condition);\r\n }, 500)\r\n\r\n\r\n})\r\n\r\n</script>\r\n"],"names":["DataViewRequest","ref","Group","reactive","CmsAdContentsForm","Dialoger","CmsAdDefinesForm","FormColumn","request","Messager","onMounted","watch"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-ad/index.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-ad__warp\">\r\n <el-page-header style=\"background-color: #fff;padding: 10px;\" :icon=\"null\">\r\n <template #title>\r\n <h3 style=\"color: var(--el-text-color-regular);margin-left: 10px;\">\r\n <MKSvgIcon iconClass=\"Guide\" style=\"margin-right: 5px;\" />\r\n 广告位管理\r\n </h3>\r\n </template>\r\n <template #content>\r\n <el-input style=\"width: 240px\" placeholder=\"请输入广告位描述\" v-model=\"adSearchWord\">\r\n <template #prefix>\r\n <MKSvgIcon iconClass=\"Search\" />\r\n </template>\r\n </el-input>\r\n </template>\r\n <template #extra>\r\n <div class=\"flex items-center\">\r\n <el-button type=\"primary\" size=\"large\" text @click=\"showAdDefineHandle\">\r\n 添加广告位\r\n <MKSvgIcon iconClass=\"Plus\" style=\"margin-left: 10px;\" />\r\n </el-button>\r\n </div>\r\n </template>\r\n </el-page-header>\r\n <div class=\"mk-cms-ad__body\" v-loading=\"loading\">\r\n <el-scrollbar class=\"mk-cms-ad__body__scrollbar\">\r\n <el-card v-for=\"item in adDefineList\" :key=\"item.id\" class=\"mk-cms-ad__card\">\r\n <template #header>\r\n <div class=\"mk-cms-ad__card__header clearfix\">\r\n <span>\r\n <MKSvgIcon iconClass=\"Guide\" style=\"margin-right: 5px;\" />\r\n {{ item.desc }}\r\n </span>\r\n <div class=\"btn-box\">\r\n <MKSvgIcon class=\"btn\" iconClass=\"Plus\" style=\"color: #409EFF;\"\r\n @click=\"showAdContentHandler(item, false)\" />\r\n <MKSvgIcon class=\"btn\" iconClass=\"EditPen\" style=\"color: #409EFF;\" @click=\"showAdDefineHandle(item)\" />\r\n <MKSvgIcon class=\"btn\" iconClass=\"Delete\" style=\"color: #F56C6C;\"\r\n @click=\"deleteHandler(adRequest, 'desc', item)\" v-if=\"item.contents.length == 0\" />\r\n </div>\r\n </div>\r\n </template>\r\n <el-empty v-if=\"item.contents.length <= 0\" description=\"暂无内容\" />\r\n <div class=\"mk-cms-ad__card__body\">\r\n <el-scrollbar class=\"mk-cms-ad__card__body__scrollbar\">\r\n <el-card class=\"mk-cms-ad__card__body__item\" v-for=\"adContent in item.contents\" :key=\"adContent.id\">\r\n <el-image class=\"images\" v-if=\"adContent.type == 1\" :src=\"adContent.path\"\r\n :preview-src-list=\"[adContent.path]\" fit=\"contain\">\r\n <div slot=\"placeholder\" class=\"image-slot\">\r\n 加载中<span class=\"dot\">...</span>\r\n </div>\r\n </el-image>\r\n <video class=\"video\" v-if=\"adContent.type == 2\" :src=\"adContent.path\" style=\"width: 100%;height: 200px;\"\r\n controls></video>\r\n <div class=\"item-desc\">\r\n <div class=\"item-desc-left\">\r\n <div class=\"title ellipsis\">\r\n <MKSvgIcon class=\"icon\" v-if=\"adContent.type == 1\" iconClass=\"Picture\"></MKSvgIcon>\r\n <MKSvgIcon class=\"icon\" v-if=\"adContent.type == 2\" iconClass=\"VideoCamera\"></MKSvgIcon>\r\n <span :title=\"adContent.title + '(' + adContent.desc + ')'\">{{ adContent.title }}<span\r\n class=\"desc\">{{\r\n adContent.desc ? `(${adContent.desc})` : \"\" }}</span></span>\r\n </div>\r\n <div class=\"external-links ellipsis\">\r\n <MKSvgIcon class=\"icon\" v-if=\"adContent.link\" iconClass=\"Link\"></MKSvgIcon>\r\n <a :href=\"adContent.link\" target=\"_blank\" :title=\"adContent.link\">{{ adContent.link }}</a>\r\n </div>\r\n </div>\r\n <div class=\"item-desc-right\">\r\n <el-dropdown trigger=\"click\" :teleported=\"false\" class=\"item-desc-right__more\">\r\n <span class=\"el-dropdown-link\">\r\n 更多<el-icon class=\"el-icon--right\"><arrow-down /></el-icon>\r\n </span>\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item class=\"edit-button\" :icon=\"EditPen\"\r\n @click=\"showAdContentHandler(adContent, true)\">编辑</el-dropdown-item>\r\n <el-dropdown-item class=\"delete-button\" :icon=\"Delete\"\r\n @click=\"deleteHandler(adContentRequest, 'title', adContent)\">删除</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </div>\r\n </div>\r\n </el-card>\r\n </el-scrollbar>\r\n </div>\r\n </el-card>\r\n </el-scrollbar>\r\n\r\n <el-empty v-if=\"adDefineList?.length <= 0\" description=“暂无内容” />\r\n </div>\r\n </div>\r\n\r\n</template>\r\n<script setup lang='ts'>\r\nimport { onMounted, reactive, ref, watch } from \"vue\";\r\nimport { DataViewRequest, Group } from \"@maketribe/request\";\r\nimport { DataForm, Dialoger, FormColumn, Messager } from \"@maketribe/dm\";\r\nimport { CmsAdContentsForm, CmsAdDefinesForm } from \"../../dataviews\";\r\nimport { EditPen, ArrowDown, Delete } from \"@element-plus/icons-vue\"\r\n\r\n// 广告定义数据表\r\nconst adRequest = new DataViewRequest({ name: \"ad-define\", moduleName: \"cms\" });\r\nconst adContentRequest = new DataViewRequest({ name: \"ad-content\", moduleName: \"cms\" });\r\n//广告位搜索词\r\nconst adSearchWord = ref(\"\")\r\n// 广告定义列表\r\nconst adDefineList = ref([] as any[]);\r\nconst loading = ref(true);\r\n\r\n//更新列表数据\r\nconst setAdDefineList = async (condition?: Group) => {\r\n try {\r\n loading.value = true;\r\n\r\n if(!condition){ condition = new Group(); }\r\n\r\n // 栏目的广告不查\r\n condition?.addCondition(\"key\",\"nolike\",\"part_\")\r\n\r\n console.log(condition);\r\n\r\n adDefineList.value = (await adRequest.allList({\r\n data: {\r\n condition: condition\r\n }\r\n })).data.data;\r\n\r\n } catch (e) {\r\n console.error(e)\r\n } finally {\r\n loading.value = false;\r\n }\r\n}\r\n// 广告内容表单\r\nconst adContentForm = reactive(new CmsAdContentsForm())\r\n//监听广告内容表单保存事件\r\nadContentForm.submittedEvent.on(() => {\r\n setAdDefineList()\r\n})\r\n// 添加广告内容\r\nconst showAdContentHandler = async (item: any, isEdit: boolean) => {\r\n await Dialoger.dataFormDialog({\r\n dataForm: adContentForm as CmsAdContentsForm,\r\n recId: isEdit ? item.id : undefined\r\n })\r\n if (!isEdit) {\r\n adContentForm.addRecord({ adDefineId: item.id })\r\n }\r\n}\r\n\r\n//广告定义表单\r\nconst adDefineForm = reactive(new (class extends CmsAdDefinesForm {\r\n //去掉广告内容\r\n protected async initialize() {\r\n await super.initialize();\r\n this.setColumns([\r\n new FormColumn({ name: \"key\", label: \"广告位KEY\", required: true }),\r\n new FormColumn({ name: \"desc\", label: \"广告位描述\", required: true }),\r\n ]);\r\n }\r\n}))\r\n//监听广告保存完成进行刷新\r\nadDefineForm.submittedEvent.on(() => {\r\n setAdDefineList()\r\n})\r\n//增加广告位\r\nconst showAdDefineHandle = (item: any) => {\r\n Dialoger.dataFormDialog({\r\n dataForm: adDefineForm as DataForm,\r\n recId: item?.id\r\n })\r\n}\r\n\r\n//删除\r\nconst deleteHandler = async (request: DataViewRequest, field: string, item: any) => {\r\n const isConfirm = await Dialoger.confirm({\r\n title: \"是否删除?\",\r\n message: `确定删除【${item[field]}】广告位?`,\r\n type: \"warning\"\r\n });\r\n if (!isConfirm) {\r\n return;\r\n }\r\n try {\r\n loading.value = true\r\n const result = await request.delete(item.id)\r\n if (result.data.code != 200) {\r\n Messager.error({ message: result.data.msg || \"删除失败\" })\r\n return;\r\n }\r\n await setAdDefineList()\r\n } catch (e: any) {\r\n Messager.error({ message: e })\r\n } finally {\r\n loading.value = false\r\n\r\n }\r\n}\r\n\r\n// 加载广告定义\r\nonMounted(async () => {\r\n await setAdDefineList();\r\n})\r\n\r\n//timer\r\nlet timer: any = null\r\n\r\n//监听adSearchWord变化进行搜索\r\nwatch(adSearchWord, async () => {\r\n\r\n if (!!timer) {\r\n clearTimeout(timer)\r\n }\r\n\r\n timer = setTimeout(async () => {\r\n const condition = new Group()\r\n condition.addCondition(\"desc\", \"like\", `%${adSearchWord.value}%`)\r\n await setAdDefineList(condition);\r\n }, 500)\r\n\r\n\r\n})\r\n\r\n</script>\r\n"],"names":["DataViewRequest","ref","Group","reactive","CmsAdContentsForm","Dialoger","CmsAdDefinesForm","FormColumn","request","Messager","onMounted","watch"],"mappings":"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"}
|
|
@@ -22,6 +22,8 @@ require("@maketribe/utils");
|
|
|
22
22
|
require("../../../../components/basic/upload-file/context/web-file-upload-context.js");
|
|
23
23
|
require("../../../../components/basic/upload-file/context/web-file-upload-context-options.js");
|
|
24
24
|
const index$5 = require("../../../../components/basic/upload-file/ui/upload-image/index.js");
|
|
25
|
+
require("../../../../components/basic/upload-file/ui/upload-file/index.js");
|
|
26
|
+
require("../../../../components/basic/upload-file/ui/upload-video/index.js");
|
|
25
27
|
require("../../../../components/basic/upload-file/upload-file-options.js");
|
|
26
28
|
const index$1 = require("../../../../components/basic/doc-editor/index.js");
|
|
27
29
|
require("../../../../components/basic/copy-container/index.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"article-edit-add-page.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-contents/article-edit-add-page.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-article-eidtadd__warp\">\r\n <el-page-header style=\"background-color: #fff;padding: 10px;\" :icon=\"ArrowLeftBold\" title=\"返回\"\r\n @back=\"() => router.push({ name: 'cms/contents', query: { pid: articleForm?.data?.cmsPartId } })\">\r\n <template #content>\r\n <template v-if=\"!articleForm.loading\">\r\n <el-text v-if=\"!articleForm.data?.modifier\">{{ !!route.query.id ? \"编辑文章\" : \"创建文章\" }}</el-text>\r\n <el-text v-else>{{ articleForm.data?.modifierName }} 于 {{ articleForm.data?.updatedAt }} 更新</el-text>\r\n </template>\r\n </template>\r\n <template #extra>\r\n <div class=\"mk-cms-article-eidtadd__header_tools\">\r\n\r\n <template v-if=\"!articleForm.loading\">\r\n <el-tag v-if=\"!articleForm.data?.publishTime\" effect=\"dark\" round>未发布</el-tag>\r\n <el-text v-else>发布时间:{{ articleForm.data?.publishTime }}</el-text>\r\n </template>\r\n\r\n <el-dropdown split-button type=\"primary\" style=\"margin-left: 10px;\" @click=\"saveHandle\">\r\n <MKSvgIcon iconClass=\"save\" style=\"margin-right: 10px;\" />\r\n 保存\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item v-if=\"CmsSettings.publish.mode == 'static'\" @click=\"saveAndViewHandle\">\r\n <MKSvgIcon iconClass=\"View\" style=\"margin-right: 5px;\" />\r\n 保存并预览\r\n </el-dropdown-item>\r\n <el-dropdown-item @click=\"saveAndPublishHandle\">\r\n <MKSvgIcon iconClass=\"Share\" style=\"margin-right: 5px;\" />\r\n 保存并发布\r\n </el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </div>\r\n </template>\r\n </el-page-header>\r\n <div class=\"mk-cms-article-eidtadd__body\" v-loading=\"articleForm.loading\">\r\n\r\n <MKDocEditor v-if=\"articleForm.data\" :content=\"content\" @change=\"EditorChangeHandle\">\r\n <template #header>\r\n <div class=\"mk-cms-article-eidtadd__body__header\">\r\n <el-row>\r\n <el-input class=\"title\" type=\"textarea\" :autosize=\"{ minRows: 1, maxRows: 4 }\" maxlength=\"150\"\r\n show-word-limit placeholder=\"请输入标题\" v-model=\"title\" />\r\n </el-row>\r\n <el-row>\r\n <el-input class=\"sub-title\" type=\"textarea\" :autosize=\"{ minRows: 1, maxRows: 4 }\" maxlength=\"150\"\r\n show-word-limit placeholder=\"[选填] 请输入子标题\" v-model=\"subTitle\" />\r\n </el-row>\r\n </div>\r\n </template>\r\n <template #after-extentions>\r\n <div class=\"mk-cms-article-eidtadd__body__extentions\" :class=\"{ hide: closeExtentions! }\" ref=\"extentionsRef\">\r\n <MKSvgIcon icon-class=\"ArrowLeft\" class=\"open\" @click=\"closeExtentionsHandle\" v-if=\"closeExtentions\">\r\n </MKSvgIcon>\r\n <MKSvgIcon v-else icon-class=\"ArrowRight\" class=\"close\" @click=\"hideExtentionsHandle\">\r\n </MKSvgIcon>\r\n <el-divider content-position=\"left\">文章设置</el-divider>\r\n <MKDataForm :dataForm=\"articleForm\">\r\n <MKForm :dataForm=\"articleForm\" style=\"width:225px\" label-width=\"110px\">\r\n <el-row v-if=\"CmsSettings.content.useTop\">\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isTop\"></MKDataFormItem>\r\n </el-row>\r\n <el-row v-if=\"CmsSettings.content.useNew\">\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isNew\"></MKDataFormItem>\r\n </el-row>\r\n <el-row v-if=\"CmsSettings.content.useHotRecommend\">\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isHotRecommend\"></MKDataFormItem>\r\n </el-row>\r\n <el-row v-if=\"CmsSettings.content.usePartRecommend\">\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isPartRecommend\"></MKDataFormItem>\r\n </el-row>\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isShowList\"></MKDataFormItem>\r\n </el-row>\r\n <!-- <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isDraft\"></MKDataFormItem>\r\n </el-row> -->\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"sortNo\"></MKDataFormItem>\r\n </el-row>\r\n </MKForm>\r\n </MKDataForm>\r\n </div>\r\n </template>\r\n <template #footer>\r\n <div class=\"mk-cms-article-eidtadd__body__footer\">\r\n <el-tabs v-model=\"articleOptionsActive\">\r\n <el-tab-pane label=\"基础内容\" name=\"content\">\r\n <div class=\"content\">\r\n <el-row :gutter=\"20\">\r\n <el-col :span=\"6\">\r\n <el-input placeholder=\"[选填] 作者\" v-model=\"articleForm.data.author\" clearable>\r\n <template #prefix>\r\n <MKSvgIcon iconClass=\"UserFilled\" />\r\n </template>\r\n </el-input>\r\n </el-col>\r\n <el-col :span=\"6\">\r\n <el-date-picker v-model=\"releaseDate\" type=\"datetime\" placeholder=\"发布时间\"\r\n :default-time=\"new Date()\" />\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-input placeholder=\"[选填] 发布地址\" v-model=\"articleForm.data.locationDesc\" clearable>\r\n <template #prefix>\r\n <MKSvgIcon iconClass=\"Location\" />\r\n </template>\r\n </el-input>\r\n </el-col>\r\n </el-row>\r\n <el-row v-if=\"CmsSettings.content.useTags\">\r\n <el-select v-model=\"tags\" multiple filterable allow-create default-first-option\r\n :reserve-keyword=\"false\" placeholder=\"[可选] 选择文章标签\" style=\"width: 100%\">\r\n <template #prefix>\r\n <MKSvgIcon iconClass=\"CollectionTag\" />\r\n </template>\r\n </el-select>\r\n </el-row>\r\n <el-divider content-position=\"left\">\r\n 文章封面/简介\r\n <el-switch v-model=\"descAutoCreate\" style=\"margin-left: 10px;\" inline-prompt active-text=\"自动生成\"\r\n inactive-text=\"手动撰写\" />\r\n </el-divider>\r\n <el-row class=\"cover-desc\">\r\n <MKUploadImage style=\"margin-right: 10px;\" v-model=\"articleForm.data.cover\" width=\"115px\" height=\"115px\" \r\n :uploadContext=\"new ImageUploadContext(CmsSettings.content.coverImageSize)\">\r\n\r\n </MKUploadImage>\r\n <el-input class=\"desc\" type=\"textarea\" :autosize=\"{ minRows: 5, maxRows: 30 }\" maxlength=\"1000\"\r\n show-word-limit placeholder=\"[选填] 文章简介\" v-model=\"desc\" />\r\n </el-row>\r\n <el-divider content-position=\"left\">文章Banner图</el-divider>\r\n <el-row>\r\n <MKUploadImage v-model=\"articleForm.data.banner\" width=\"100%\" height=\"300px\" :uploadContext=\"new ImageUploadContext(CmsSettings.content.bannerImageSize)\">\r\n\r\n </MKUploadImage>\r\n </el-row>\r\n </div>\r\n </el-tab-pane>\r\n <el-tab-pane label=\"文章资源库\" name=\"atlas\" v-if=\"CmsSettings.content.useAtlas\">\r\n <ArticleAtlas v-model=\"atlas\" :articleId=\"parseInt(articleForm.data?.id)\" />\r\n </el-tab-pane>\r\n <el-tab-pane label=\"页面设置\" name=\"settings\" v-if=\"CmsSettings.publish.mode == 'static'\">\r\n <MKDataForm :dataForm=\"articleForm\" label-width=\"120px\">\r\n <MKForm :dataForm=\"articleForm\">\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"seoKeywords\"></MKDataFormItem>\r\n </el-row>\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"seoDesc\"></MKDataFormItem>\r\n </el-row>\r\n </MKForm>\r\n </MKDataForm>\r\n </el-tab-pane>\r\n </el-tabs>\r\n </div>\r\n </template>\r\n </MKDocEditor>\r\n </div>\r\n </div>\r\n</template>\r\n<script setup lang='ts'>\r\nimport { onMounted, reactive, ref, computed } from \"vue\";\r\nimport { ArrowLeftBold } from \"@element-plus/icons-vue\"\r\nimport { MKDocEditor, MKSvgIcon, MKUploadImage } from '../../../../components'\r\nimport { MKDataForm, MKForm, MKDataFormItem } from \"../../../../components\";\r\nimport ArticleAtlas from \"./components/article-atlas.vue\";\r\nimport { CmsArticlesForm } from \"../../dataviews\";\r\nimport { useRoute, useRouter } from \"vue-router\";\r\nimport { ImageUploadContext } from \"../../../ms\";\r\nimport { useCmsSettings } from \"../../cms-settings\"\r\n// cms 配置\r\nconst CmsSettings = useCmsSettings(true);\r\n\r\nconst route = useRoute()\r\nconst router = useRouter();\r\n\r\n\r\n// 文章请求\r\nconst articleForm = reactive(new CmsArticlesForm()) as CmsArticlesForm;\r\nconst articleOptionsActive = ref(\"content\");\r\n\r\n\r\n// 标题\r\nconst title = computed({\r\n get() { return articleForm.data?.title || \"\"; },\r\n set(val) { articleForm.data.title = val; }\r\n});\r\n// 子标题\r\nconst subTitle = computed({\r\n get() { return articleForm.data?.subTitle || \"\"; },\r\n set(val) { articleForm.data.subTitle = val; }\r\n});\r\n// 获取默认简介\r\nconst getDefaultDescContent = () => {\r\n if (!descAutoCreate.value) {\r\n return \"\";\r\n }\r\n let val: any = \"\";\r\n const div = document.createElement(\"div\");\r\n div.innerHTML = content.value;\r\n val = div.textContent?.substring(0, 700);\r\n if (div.textContent!.length > 700) {\r\n val += \"...\";\r\n }\r\n return val;\r\n}\r\nconst descAutoCreate = ref(true)\r\n// 简介\r\nconst desc = computed({\r\n get() {\r\n return articleForm.data?.desc || getDefaultDescContent();\r\n },\r\n set(val) {\r\n articleForm.data.desc = val;\r\n }\r\n});\r\n// 发布时间\r\nconst releaseDate = computed({\r\n get() { return articleForm.data?.releaseDate || articleForm.data?.publishTime; },\r\n set(val) { articleForm.data.releaseDate = val; }\r\n});\r\n// 标签\r\nconst tags = ref([]);\r\n// computed({ \r\n// get() { return articleForm.data?.tags || [] }, \r\n// set(val) { articleForm.data.tags = val; } \r\n// });\r\n// 内容\r\nconst content = computed({\r\n get() { return articleForm.data?.content || \"\"; },\r\n set(val) { articleForm.data.content = val; }\r\n});\r\n\r\n// 图集\r\nconst atlas = computed({\r\n get() {\r\n return articleForm.data?.atlas\r\n },\r\n set(val) { articleForm.data.atlas = val; }\r\n});\r\n\r\n// 表单初始化\r\nconst formInitDataInfo = ()=>{\r\n // 初始化数据加载\r\n if (route.query.id) {\r\n articleForm.editRecord(route.query.id);\r\n }\r\n else if (route.query.partId) {\r\n articleForm.addRecord({ cmsPartId: route.query.partId,isDraft:1 });\r\n }\r\n else {\r\n articleForm.addRecord({ isDraft:1 });\r\n }\r\n}\r\n\r\nonMounted(() => {\r\n formInitDataInfo();\r\n articleForm.init();\r\n\r\n})\r\n\r\n// 保存\r\nconst saveHandle = async () => {\r\n\r\n // 简介不存在的时候使用自动生成的\r\n if (!articleForm.data?.desc) {\r\n desc.value = getDefaultDescContent();\r\n }\r\n\r\n let result = await articleForm.submit();\r\n\r\n router.back();\r\n\r\n return result;\r\n}\r\n\r\n// 保存并预览\r\nconst saveAndViewHandle = async ()=>{\r\n const partId = articleForm.data.cmsPartId;\r\n const data = await saveHandle();\r\n if(data.data.code == 200 && data.data.data){\r\n window.open('/api/cms/content/preview/content/' + partId + '/' + data.data.data)\r\n }\r\n}\r\n\r\n// 保存并发布\r\nconst saveAndPublishHandle = async ()=>{\r\n const result:any = await articleForm.saveAndPublish(CmsSettings.publish.mode);\r\n if(result.data.code == 200){\r\n router.back();\r\n }\r\n}\r\n\r\n// 隐藏扩展\r\nconst closeExtentions = ref(true);\r\nconst extentionsRef = ref();\r\nconst hideExtentionsHandle = () => {\r\n closeExtentions.value = true;\r\n}\r\n//展示扩展\r\nconst closeExtentionsHandle = () => {\r\n closeExtentions.value = false;\r\n}\r\n\r\nconst EditorChangeHandle = (v: any) => {\r\n articleForm.data.content = v;\r\n}\r\n\r\n</script>\r\n"],"names":["useCmsSettings","useRoute","useRouter","reactive","CmsArticlesForm","ref","computed","onMounted"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"article-edit-add-page.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-contents/article-edit-add-page.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-article-eidtadd__warp\">\r\n <el-page-header style=\"background-color: #fff;padding: 10px;\" :icon=\"ArrowLeftBold\" title=\"返回\"\r\n @back=\"() => router.push({ name: 'cms/contents', query: { pid: articleForm?.data?.cmsPartId } })\">\r\n <template #content>\r\n <template v-if=\"!articleForm.loading\">\r\n <el-text v-if=\"!articleForm.data?.modifier\">{{ !!route.query.id ? \"编辑文章\" : \"创建文章\" }}</el-text>\r\n <el-text v-else>{{ articleForm.data?.modifierName }} 于 {{ articleForm.data?.updatedAt }} 更新</el-text>\r\n </template>\r\n </template>\r\n <template #extra>\r\n <div class=\"mk-cms-article-eidtadd__header_tools\">\r\n\r\n <template v-if=\"!articleForm.loading\">\r\n <el-tag v-if=\"!articleForm.data?.publishTime\" effect=\"dark\" round>未发布</el-tag>\r\n <el-text v-else>发布时间:{{ articleForm.data?.publishTime }}</el-text>\r\n </template>\r\n\r\n <el-dropdown split-button type=\"primary\" style=\"margin-left: 10px;\" @click=\"saveHandle\">\r\n <MKSvgIcon iconClass=\"save\" style=\"margin-right: 10px;\" />\r\n 保存\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item v-if=\"CmsSettings.publish.mode == 'static'\" @click=\"saveAndViewHandle\">\r\n <MKSvgIcon iconClass=\"View\" style=\"margin-right: 5px;\" />\r\n 保存并预览\r\n </el-dropdown-item>\r\n <el-dropdown-item @click=\"saveAndPublishHandle\">\r\n <MKSvgIcon iconClass=\"Share\" style=\"margin-right: 5px;\" />\r\n 保存并发布\r\n </el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </div>\r\n </template>\r\n </el-page-header>\r\n <div class=\"mk-cms-article-eidtadd__body\" v-loading=\"articleForm.loading\">\r\n\r\n <MKDocEditor v-if=\"articleForm.data\" :content=\"content\" @change=\"EditorChangeHandle\">\r\n <template #header>\r\n <div class=\"mk-cms-article-eidtadd__body__header\">\r\n <el-row>\r\n <el-input class=\"title\" type=\"textarea\" :autosize=\"{ minRows: 1, maxRows: 4 }\" maxlength=\"150\"\r\n show-word-limit placeholder=\"请输入标题\" v-model=\"title\" />\r\n </el-row>\r\n <el-row>\r\n <el-input class=\"sub-title\" type=\"textarea\" :autosize=\"{ minRows: 1, maxRows: 4 }\" maxlength=\"150\"\r\n show-word-limit placeholder=\"[选填] 请输入子标题\" v-model=\"subTitle\" />\r\n </el-row>\r\n </div>\r\n </template>\r\n <template #after-extentions>\r\n <div class=\"mk-cms-article-eidtadd__body__extentions\" :class=\"{ hide: closeExtentions! }\" ref=\"extentionsRef\">\r\n <MKSvgIcon icon-class=\"ArrowLeft\" class=\"open\" @click=\"closeExtentionsHandle\" v-if=\"closeExtentions\">\r\n </MKSvgIcon>\r\n <MKSvgIcon v-else icon-class=\"ArrowRight\" class=\"close\" @click=\"hideExtentionsHandle\">\r\n </MKSvgIcon>\r\n <el-divider content-position=\"left\">文章设置</el-divider>\r\n <MKDataForm :dataForm=\"articleForm\">\r\n <MKForm :dataForm=\"articleForm\" style=\"width:225px\" label-width=\"110px\">\r\n <el-row v-if=\"CmsSettings.content.useTop\">\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isTop\"></MKDataFormItem>\r\n </el-row>\r\n <el-row v-if=\"CmsSettings.content.useNew\">\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isNew\"></MKDataFormItem>\r\n </el-row>\r\n <el-row v-if=\"CmsSettings.content.useHotRecommend\">\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isHotRecommend\"></MKDataFormItem>\r\n </el-row>\r\n <el-row v-if=\"CmsSettings.content.usePartRecommend\">\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isPartRecommend\"></MKDataFormItem>\r\n </el-row>\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isShowList\"></MKDataFormItem>\r\n </el-row>\r\n <!-- <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isDraft\"></MKDataFormItem>\r\n </el-row> -->\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"sortNo\"></MKDataFormItem>\r\n </el-row>\r\n </MKForm>\r\n </MKDataForm>\r\n </div>\r\n </template>\r\n <template #footer>\r\n <div class=\"mk-cms-article-eidtadd__body__footer\">\r\n <el-tabs v-model=\"articleOptionsActive\">\r\n <el-tab-pane label=\"基础内容\" name=\"content\">\r\n <div class=\"content\">\r\n <el-row :gutter=\"20\">\r\n <el-col :span=\"6\">\r\n <el-input placeholder=\"[选填] 作者\" v-model=\"articleForm.data.author\" clearable>\r\n <template #prefix>\r\n <MKSvgIcon iconClass=\"UserFilled\" />\r\n </template>\r\n </el-input>\r\n </el-col>\r\n <el-col :span=\"6\">\r\n <el-date-picker v-model=\"releaseDate\" type=\"datetime\" placeholder=\"发布时间\"\r\n :default-time=\"new Date()\" />\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-input placeholder=\"[选填] 发布地址\" v-model=\"articleForm.data.locationDesc\" clearable>\r\n <template #prefix>\r\n <MKSvgIcon iconClass=\"Location\" />\r\n </template>\r\n </el-input>\r\n </el-col>\r\n </el-row>\r\n <el-row v-if=\"CmsSettings.content.useTags\">\r\n <el-select v-model=\"tags\" multiple filterable allow-create default-first-option\r\n :reserve-keyword=\"false\" placeholder=\"[可选] 选择文章标签\" style=\"width: 100%\">\r\n <template #prefix>\r\n <MKSvgIcon iconClass=\"CollectionTag\" />\r\n </template>\r\n </el-select>\r\n </el-row>\r\n <el-divider content-position=\"left\">\r\n 文章封面/简介\r\n <el-switch v-model=\"descAutoCreate\" style=\"margin-left: 10px;\" inline-prompt active-text=\"自动生成\"\r\n inactive-text=\"手动撰写\" />\r\n </el-divider>\r\n <el-row class=\"cover-desc\">\r\n <MKUploadImage style=\"margin-right: 10px;\" v-model=\"articleForm.data.cover\" width=\"115px\" height=\"115px\" \r\n :uploadContext=\"new ImageUploadContext(CmsSettings.content.coverImageSize)\">\r\n\r\n </MKUploadImage>\r\n <el-input class=\"desc\" type=\"textarea\" :autosize=\"{ minRows: 5, maxRows: 30 }\" maxlength=\"1000\"\r\n show-word-limit placeholder=\"[选填] 文章简介\" v-model=\"desc\" />\r\n </el-row>\r\n <el-divider content-position=\"left\">文章Banner图</el-divider>\r\n <el-row>\r\n <MKUploadImage v-model=\"articleForm.data.banner\" width=\"100%\" height=\"300px\" :uploadContext=\"new ImageUploadContext(CmsSettings.content.bannerImageSize)\">\r\n\r\n </MKUploadImage>\r\n </el-row>\r\n </div>\r\n </el-tab-pane>\r\n <el-tab-pane label=\"文章资源库\" name=\"atlas\" v-if=\"CmsSettings.content.useAtlas\">\r\n <ArticleAtlas v-model=\"atlas\" :articleId=\"parseInt(articleForm.data?.id)\" />\r\n </el-tab-pane>\r\n <el-tab-pane label=\"页面设置\" name=\"settings\" v-if=\"CmsSettings.publish.mode == 'static'\">\r\n <MKDataForm :dataForm=\"articleForm\" label-width=\"120px\">\r\n <MKForm :dataForm=\"articleForm\">\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"seoKeywords\"></MKDataFormItem>\r\n </el-row>\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"seoDesc\"></MKDataFormItem>\r\n </el-row>\r\n </MKForm>\r\n </MKDataForm>\r\n </el-tab-pane>\r\n </el-tabs>\r\n </div>\r\n </template>\r\n </MKDocEditor>\r\n </div>\r\n </div>\r\n</template>\r\n<script setup lang='ts'>\r\nimport { onMounted, reactive, ref, computed } from \"vue\";\r\nimport { ArrowLeftBold } from \"@element-plus/icons-vue\"\r\nimport { MKDocEditor, MKSvgIcon, MKUploadImage } from '../../../../components'\r\nimport { MKDataForm, MKForm, MKDataFormItem } from \"../../../../components\";\r\nimport ArticleAtlas from \"./components/article-atlas.vue\";\r\nimport { CmsArticlesForm } from \"../../dataviews\";\r\nimport { useRoute, useRouter } from \"vue-router\";\r\nimport { ImageUploadContext } from \"../../../ms\";\r\nimport { useCmsSettings } from \"../../cms-settings\"\r\n// cms 配置\r\nconst CmsSettings = useCmsSettings(true);\r\n\r\nconst route = useRoute()\r\nconst router = useRouter();\r\n\r\n\r\n// 文章请求\r\nconst articleForm = reactive(new CmsArticlesForm()) as CmsArticlesForm;\r\nconst articleOptionsActive = ref(\"content\");\r\n\r\n\r\n// 标题\r\nconst title = computed({\r\n get() { return articleForm.data?.title || \"\"; },\r\n set(val) { articleForm.data.title = val; }\r\n});\r\n// 子标题\r\nconst subTitle = computed({\r\n get() { return articleForm.data?.subTitle || \"\"; },\r\n set(val) { articleForm.data.subTitle = val; }\r\n});\r\n// 获取默认简介\r\nconst getDefaultDescContent = () => {\r\n if (!descAutoCreate.value) {\r\n return \"\";\r\n }\r\n let val: any = \"\";\r\n const div = document.createElement(\"div\");\r\n div.innerHTML = content.value;\r\n val = div.textContent?.substring(0, 700);\r\n if (div.textContent!.length > 700) {\r\n val += \"...\";\r\n }\r\n return val;\r\n}\r\nconst descAutoCreate = ref(true)\r\n// 简介\r\nconst desc = computed({\r\n get() {\r\n return articleForm.data?.desc || getDefaultDescContent();\r\n },\r\n set(val) {\r\n articleForm.data.desc = val;\r\n }\r\n});\r\n// 发布时间\r\nconst releaseDate = computed({\r\n get() { return articleForm.data?.releaseDate || articleForm.data?.publishTime; },\r\n set(val) { articleForm.data.releaseDate = val; }\r\n});\r\n// 标签\r\nconst tags = ref([]);\r\n// computed({ \r\n// get() { return articleForm.data?.tags || [] }, \r\n// set(val) { articleForm.data.tags = val; } \r\n// });\r\n// 内容\r\nconst content = computed({\r\n get() { return articleForm.data?.content || \"\"; },\r\n set(val) { articleForm.data.content = val; }\r\n});\r\n\r\n// 图集\r\nconst atlas = computed({\r\n get() {\r\n return articleForm.data?.atlas\r\n },\r\n set(val) { articleForm.data.atlas = val; }\r\n});\r\n\r\n// 表单初始化\r\nconst formInitDataInfo = ()=>{\r\n // 初始化数据加载\r\n if (route.query.id) {\r\n articleForm.editRecord(route.query.id);\r\n }\r\n else if (route.query.partId) {\r\n articleForm.addRecord({ cmsPartId: route.query.partId,isDraft:1 });\r\n }\r\n else {\r\n articleForm.addRecord({ isDraft:1 });\r\n }\r\n}\r\n\r\nonMounted(() => {\r\n formInitDataInfo();\r\n articleForm.init();\r\n\r\n})\r\n\r\n// 保存\r\nconst saveHandle = async () => {\r\n\r\n // 简介不存在的时候使用自动生成的\r\n if (!articleForm.data?.desc) {\r\n desc.value = getDefaultDescContent();\r\n }\r\n\r\n let result = await articleForm.submit();\r\n\r\n router.back();\r\n\r\n return result;\r\n}\r\n\r\n// 保存并预览\r\nconst saveAndViewHandle = async ()=>{\r\n const partId = articleForm.data.cmsPartId;\r\n const data = await saveHandle();\r\n if(data.data.code == 200 && data.data.data){\r\n window.open('/api/cms/content/preview/content/' + partId + '/' + data.data.data)\r\n }\r\n}\r\n\r\n// 保存并发布\r\nconst saveAndPublishHandle = async ()=>{\r\n const result:any = await articleForm.saveAndPublish(CmsSettings.publish.mode);\r\n if(result.data.code == 200){\r\n router.back();\r\n }\r\n}\r\n\r\n// 隐藏扩展\r\nconst closeExtentions = ref(true);\r\nconst extentionsRef = ref();\r\nconst hideExtentionsHandle = () => {\r\n closeExtentions.value = true;\r\n}\r\n//展示扩展\r\nconst closeExtentionsHandle = () => {\r\n closeExtentions.value = false;\r\n}\r\n\r\nconst EditorChangeHandle = (v: any) => {\r\n articleForm.data.content = v;\r\n}\r\n\r\n</script>\r\n"],"names":["useCmsSettings","useRoute","useRouter","reactive","CmsArticlesForm","ref","computed","onMounted"],"mappings":"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"}
|
|
@@ -24,6 +24,8 @@ require("@maketribe/utils");
|
|
|
24
24
|
require("../../../../../components/basic/upload-file/context/web-file-upload-context.js");
|
|
25
25
|
require("../../../../../components/basic/upload-file/context/web-file-upload-context-options.js");
|
|
26
26
|
require("../../../../../components/basic/upload-file/ui/upload-image/index.js");
|
|
27
|
+
require("../../../../../components/basic/upload-file/ui/upload-file/index.js");
|
|
28
|
+
require("../../../../../components/basic/upload-file/ui/upload-video/index.js");
|
|
27
29
|
require("../../../../../components/basic/upload-file/upload-file-options.js");
|
|
28
30
|
require("../../../../../components/basic/doc-editor/index.js");
|
|
29
31
|
require("../../../../../components/basic/copy-container/index.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"article-atlas.vue.js","sources":["../../../../../../../src/modules/cms/pages/cms-contents/components/article-atlas.vue"],"sourcesContent":["<template>\r\n <el-card class=\"cms-article-atlas\">\r\n <template #header>\r\n <div @click=\"showAtlasFormHandle()\" class=\"cms-article-atlas__header\">\r\n <span>\r\n <MKSvgIcon iconClass=\"Picture\" style=\"margin-right: 5px;\" />\r\n 文章媒体库\r\n </span>\r\n <MKSvgIcon class=\"cms-article-atlas__header__btn\" iconClass=\"Plus\" style=\"color: #409EFF;\" />\r\n </div>\r\n </template>\r\n <el-empty v-if=\"atlas.length <= 0\" description=\"暂无内容\" />\r\n <el-scrollbar class=\"cms-article-atlas__list\" v-else>\r\n <el-card class=\"cms-article-atlas__list__item\" v-for=\"(item, index) in atlas\" :key=\"item.id\">\r\n <el-image class=\"images\" :src=\"item.path\" v-if=\"item.type == 1\" fit=\"contain\">\r\n <div slot=\"placeholder\" class=\"image-slot\">\r\n 加载中<span class=\"dot\">...</span>\r\n </div>\r\n </el-image>\r\n <video class=\"video\" v-if=\"item.type == 2\" :src=\"item.path\" controls></video>\r\n <div class=\"cms-article-atlas__list__item__desc\">\r\n <div class=\"item-desc-left\">\r\n <div class=\"title ellipsis\">\r\n <MKSvgIcon class=\"icon\" v-if=\"item.type == 1\" iconClass=\"Picture\"></MKSvgIcon>\r\n <MKSvgIcon class=\"icon\" v-if=\"item.type == 2\" iconClass=\"VideoCamera\"></MKSvgIcon>\r\n <span :title=\"item.title\">{{ item.title }}</span>\r\n </div>\r\n <div class=\"external-links ellipsis\">\r\n <MKSvgIcon class=\"icon\" v-if=\"item.link\" iconClass=\"Link\"></MKSvgIcon>\r\n <a :href=\"item.link\" target=\"_blank\" :title=\"item.path\">{{ item.link }}</a>\r\n </div>\r\n </div>\r\n <el-dropdown trigger=\"click\" :teleported=\"false\" class=\"item-desc-right\">\r\n <span class=\"el-dropdown-link\">\r\n 更多<el-icon class=\"el-icon--right\"><arrow-down /></el-icon>\r\n </span>\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item class=\"edit-button\" :icon=\"EditPen\" @click=\"editHandle(item)\">编辑</el-dropdown-item>\r\n <el-dropdown-item class=\"delete-button\" :icon=\"Delete\"\r\n @click=\"deleteHandle(index)\">删除</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </div>\r\n </el-card>\r\n <el-dialog v-model=\"formVisible\" append-to-body>\r\n <MKDataForm :dataForm=\"atlasDv\">\r\n <MKForm></MKForm>\r\n </MKDataForm>\r\n <template #footer>\r\n <el-button type=\"primary\" @click=\"saveAlatsHandle\">保存</el-button>\r\n <el-button @click=\"formVisible = false\"> 取消 </el-button>\r\n </template>\r\n </el-dialog>\r\n\r\n </el-scrollbar>\r\n </el-card>\r\n</template>\r\n<script setup lang='ts'>\r\nimport { onMounted, computed, ref, defineProps, watch, reactive } from \"vue\";\r\nimport { EditPen, ArrowDown, Delete } from \"@element-plus/icons-vue\"\r\nimport { CmsArticleAtlasForm } from \"../../../dataviews/cms-articles/cms-article-atlas\";\r\nimport { MKDataForm, MKForm } from \"../../../../../components\";\r\n\r\n// 参数\r\nconst props = defineProps({\r\n articleId: { type: Number, default: \"\" },\r\n modelValue: { type: Array<any>, default: () => [] },\r\n})\r\nconst emit = defineEmits([\"update:modelValue\"])\r\n//atlas表单\r\nconst atlasDv = reactive(new CmsArticleAtlasForm()) as CmsArticleAtlasForm;\r\nconst formVisible = ref(false);\r\n\r\nconst imgExtension = [\".jpg\", \".png\", \".gif\", \".jpeg\", \".bmp\", \".webp\", \".svg\", \".tiff\", \".tif\", \".ico\", \".jfif\", \".jpe\"]\r\nconst videoExtension = [\".mp4\", \".avi\", \".rmvb\", \".flv\", \".mkv\", \".wmv\", \".mov\", \".webm\", \".m4v\", \".mpg\", \".mpeg\", \".mts\", \".m2ts\", \".m2v\", \".mpe\", \".mpv\", \".vob\", \".ogv\", \".3gp\", \".3g2\", \".3gpp\", \".3gpp2\", \".3gp2\"]\r\n\r\n\r\n//图集数据\r\nconst atlas = computed(\r\n () => {\r\n const _arr = props.modelValue.map((item, index) => {\r\n const extension = item.path.slice(item.path.lastIndexOf(\".\"))\r\n let type = 0;\r\n if (imgExtension.includes(extension)) {\r\n type = 1\r\n } else if (videoExtension.includes(extension)) {\r\n type = 2\r\n }\r\n return { ...item, type, uid: item.title + index }\r\n })\r\n return _arr\r\n },\r\n);\r\n\r\n\r\n(window as any).atlasDv = atlasDv;\r\n(window as any).atlas = atlas;\r\n(window as any).modelValue = props.modelValue;\r\n/***\r\n * 展示atlas表单\r\n */\r\nconst showAtlasFormHandle = () => {\r\n formVisible.value = true;\r\n atlasDv.addRecord({\r\n cmsArticlesId: props.articleId\r\n })\r\n}\r\n\r\n//重置atlas表单\r\nwatch(formVisible, (v) => {\r\n atlasDv.reset();\r\n})\r\n\r\n/**\r\n * 保存\r\n */\r\nconst saveAlatsHandle = async () => {\r\n if (atlasDv.data.uid) {\r\n const index = atlas.value.findIndex(item => item.uid == atlasDv.data.uid)\r\n atlas.value[index] = { ...atlas.value[index], ...atlasDv.data }\r\n } else {\r\n atlas.value.push(atlasDv.data)\r\n }\r\n\r\n emit(\"update:modelValue\", atlas.value)\r\n formVisible.value = false;\r\n}\r\n/**\r\n * 删除\r\n */\r\nconst deleteHandle = (index: number) => {\r\n atlas.value.splice(index, 1)\r\n emit(\"update:modelValue\", atlas.value)\r\n}\r\n\r\nconst editHandle = (item: any) => {\r\n atlasDv.addRecord(item)\r\n formVisible.value = true;\r\n}\r\n// 挂在完成之后\r\nonMounted(async () => {\r\n await atlasDv.init();\r\n})\r\n\r\n</script>\r\n"],"names":["reactive","CmsArticleAtlasForm","ref","computed","index","watch","onMounted"],"mappings":"
|
|
1
|
+
{"version":3,"file":"article-atlas.vue.js","sources":["../../../../../../../src/modules/cms/pages/cms-contents/components/article-atlas.vue"],"sourcesContent":["<template>\r\n <el-card class=\"cms-article-atlas\">\r\n <template #header>\r\n <div @click=\"showAtlasFormHandle()\" class=\"cms-article-atlas__header\">\r\n <span>\r\n <MKSvgIcon iconClass=\"Picture\" style=\"margin-right: 5px;\" />\r\n 文章媒体库\r\n </span>\r\n <MKSvgIcon class=\"cms-article-atlas__header__btn\" iconClass=\"Plus\" style=\"color: #409EFF;\" />\r\n </div>\r\n </template>\r\n <el-empty v-if=\"atlas.length <= 0\" description=\"暂无内容\" />\r\n <el-scrollbar class=\"cms-article-atlas__list\" v-else>\r\n <el-card class=\"cms-article-atlas__list__item\" v-for=\"(item, index) in atlas\" :key=\"item.id\">\r\n <el-image class=\"images\" :src=\"item.path\" v-if=\"item.type == 1\" fit=\"contain\">\r\n <div slot=\"placeholder\" class=\"image-slot\">\r\n 加载中<span class=\"dot\">...</span>\r\n </div>\r\n </el-image>\r\n <video class=\"video\" v-if=\"item.type == 2\" :src=\"item.path\" controls></video>\r\n <div class=\"cms-article-atlas__list__item__desc\">\r\n <div class=\"item-desc-left\">\r\n <div class=\"title ellipsis\">\r\n <MKSvgIcon class=\"icon\" v-if=\"item.type == 1\" iconClass=\"Picture\"></MKSvgIcon>\r\n <MKSvgIcon class=\"icon\" v-if=\"item.type == 2\" iconClass=\"VideoCamera\"></MKSvgIcon>\r\n <span :title=\"item.title\">{{ item.title }}</span>\r\n </div>\r\n <div class=\"external-links ellipsis\">\r\n <MKSvgIcon class=\"icon\" v-if=\"item.link\" iconClass=\"Link\"></MKSvgIcon>\r\n <a :href=\"item.link\" target=\"_blank\" :title=\"item.path\">{{ item.link }}</a>\r\n </div>\r\n </div>\r\n <el-dropdown trigger=\"click\" :teleported=\"false\" class=\"item-desc-right\">\r\n <span class=\"el-dropdown-link\">\r\n 更多<el-icon class=\"el-icon--right\"><arrow-down /></el-icon>\r\n </span>\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item class=\"edit-button\" :icon=\"EditPen\" @click=\"editHandle(item)\">编辑</el-dropdown-item>\r\n <el-dropdown-item class=\"delete-button\" :icon=\"Delete\"\r\n @click=\"deleteHandle(index)\">删除</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </div>\r\n </el-card>\r\n <el-dialog v-model=\"formVisible\" append-to-body>\r\n <MKDataForm :dataForm=\"atlasDv\">\r\n <MKForm></MKForm>\r\n </MKDataForm>\r\n <template #footer>\r\n <el-button type=\"primary\" @click=\"saveAlatsHandle\">保存</el-button>\r\n <el-button @click=\"formVisible = false\"> 取消 </el-button>\r\n </template>\r\n </el-dialog>\r\n\r\n </el-scrollbar>\r\n </el-card>\r\n</template>\r\n<script setup lang='ts'>\r\nimport { onMounted, computed, ref, defineProps, watch, reactive } from \"vue\";\r\nimport { EditPen, ArrowDown, Delete } from \"@element-plus/icons-vue\"\r\nimport { CmsArticleAtlasForm } from \"../../../dataviews/cms-articles/cms-article-atlas\";\r\nimport { MKDataForm, MKForm } from \"../../../../../components\";\r\n\r\n// 参数\r\nconst props = defineProps({\r\n articleId: { type: Number, default: \"\" },\r\n modelValue: { type: Array<any>, default: () => [] },\r\n})\r\nconst emit = defineEmits([\"update:modelValue\"])\r\n//atlas表单\r\nconst atlasDv = reactive(new CmsArticleAtlasForm()) as CmsArticleAtlasForm;\r\nconst formVisible = ref(false);\r\n\r\nconst imgExtension = [\".jpg\", \".png\", \".gif\", \".jpeg\", \".bmp\", \".webp\", \".svg\", \".tiff\", \".tif\", \".ico\", \".jfif\", \".jpe\"]\r\nconst videoExtension = [\".mp4\", \".avi\", \".rmvb\", \".flv\", \".mkv\", \".wmv\", \".mov\", \".webm\", \".m4v\", \".mpg\", \".mpeg\", \".mts\", \".m2ts\", \".m2v\", \".mpe\", \".mpv\", \".vob\", \".ogv\", \".3gp\", \".3g2\", \".3gpp\", \".3gpp2\", \".3gp2\"]\r\n\r\n\r\n//图集数据\r\nconst atlas = computed(\r\n () => {\r\n const _arr = props.modelValue.map((item, index) => {\r\n const extension = item.path.slice(item.path.lastIndexOf(\".\"))\r\n let type = 0;\r\n if (imgExtension.includes(extension)) {\r\n type = 1\r\n } else if (videoExtension.includes(extension)) {\r\n type = 2\r\n }\r\n return { ...item, type, uid: item.title + index }\r\n })\r\n return _arr\r\n },\r\n);\r\n\r\n\r\n(window as any).atlasDv = atlasDv;\r\n(window as any).atlas = atlas;\r\n(window as any).modelValue = props.modelValue;\r\n/***\r\n * 展示atlas表单\r\n */\r\nconst showAtlasFormHandle = () => {\r\n formVisible.value = true;\r\n atlasDv.addRecord({\r\n cmsArticlesId: props.articleId\r\n })\r\n}\r\n\r\n//重置atlas表单\r\nwatch(formVisible, (v) => {\r\n atlasDv.reset();\r\n})\r\n\r\n/**\r\n * 保存\r\n */\r\nconst saveAlatsHandle = async () => {\r\n if (atlasDv.data.uid) {\r\n const index = atlas.value.findIndex(item => item.uid == atlasDv.data.uid)\r\n atlas.value[index] = { ...atlas.value[index], ...atlasDv.data }\r\n } else {\r\n atlas.value.push(atlasDv.data)\r\n }\r\n\r\n emit(\"update:modelValue\", atlas.value)\r\n formVisible.value = false;\r\n}\r\n/**\r\n * 删除\r\n */\r\nconst deleteHandle = (index: number) => {\r\n atlas.value.splice(index, 1)\r\n emit(\"update:modelValue\", atlas.value)\r\n}\r\n\r\nconst editHandle = (item: any) => {\r\n atlasDv.addRecord(item)\r\n formVisible.value = true;\r\n}\r\n// 挂在完成之后\r\nonMounted(async () => {\r\n await atlasDv.init();\r\n})\r\n\r\n</script>\r\n"],"names":["reactive","CmsArticleAtlasForm","ref","computed","index","watch","onMounted"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkEA,UAAM,QAAQ;AAId,UAAM,OAAO;AAEb,UAAM,UAAUA,IAAAA,SAAS,IAAIC,oBAAAA,oBAAqB,CAAA;AAC5C,UAAA,cAAcC,QAAI,KAAK;AAE7B,UAAM,eAAe,CAAC,QAAQ,QAAQ,QAAQ,SAAS,QAAQ,SAAS,QAAQ,SAAS,QAAQ,QAAQ,SAAS,MAAM;AAClH,UAAA,iBAAiB,CAAC,QAAQ,QAAQ,SAAS,QAAQ,QAAQ,QAAQ,QAAQ,SAAS,QAAQ,QAAQ,SAAS,QAAQ,SAAS,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,SAAS,UAAU,OAAO;AAItN,UAAM,QAAQC,IAAA;AAAA,MACZ,MAAM;AACJ,cAAM,OAAO,MAAM,WAAW,IAAI,CAAC,MAAMC,WAAU;AAC3C,gBAAA,YAAY,KAAK,KAAK,MAAM,KAAK,KAAK,YAAY,GAAG,CAAC;AAC5D,cAAI,OAAO;AACP,cAAA,aAAa,SAAS,SAAS,GAAG;AAC7B,mBAAA;AAAA,UACE,WAAA,eAAe,SAAS,SAAS,GAAG;AACtC,mBAAA;AAAA,UACT;AACA,iBAAO,EAAE,GAAG,MAAM,MAAM,KAAK,KAAK,QAAQA;QAAM,CACjD;AACM,eAAA;AAAA,MACT;AAAA,IAAA;AAID,WAAe,UAAU;AACzB,WAAe,QAAQ;AACvB,WAAe,aAAa,MAAM;AAInC,UAAM,sBAAsB,MAAM;AAChC,kBAAY,QAAQ;AACpB,cAAQ,UAAU;AAAA,QAChB,eAAe,MAAM;AAAA,MAAA,CACtB;AAAA,IAAA;AAIGC,cAAA,aAAa,CAAC,MAAM;AACxB,cAAQ,MAAM;AAAA,IAAA,CACf;AAKD,UAAM,kBAAkB,YAAY;AAC9B,UAAA,QAAQ,KAAK,KAAK;AACd,cAAAD,SAAQ,MAAM,MAAM,UAAU,UAAQ,KAAK,OAAO,QAAQ,KAAK,GAAG;AAClE,cAAA,MAAMA,MAAK,IAAI,EAAE,GAAG,MAAM,MAAMA,MAAK,GAAG,GAAG,QAAQ,KAAK;AAAA,MAAA,OACzD;AACC,cAAA,MAAM,KAAK,QAAQ,IAAI;AAAA,MAC/B;AAEK,WAAA,qBAAqB,MAAM,KAAK;AACrC,kBAAY,QAAQ;AAAA,IAAA;AAKhB,UAAA,eAAe,CAACA,WAAkB;AAChC,YAAA,MAAM,OAAOA,QAAO,CAAC;AACtB,WAAA,qBAAqB,MAAM,KAAK;AAAA,IAAA;AAGjC,UAAA,aAAa,CAAC,SAAc;AAChC,cAAQ,UAAU,IAAI;AACtB,kBAAY,QAAQ;AAAA,IAAA;AAGtBE,QAAAA,UAAU,YAAY;AACpB,YAAM,QAAQ;IAAK,CACpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|