@maketribe/ms-app 3.2.4 → 3.2.6
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/assets/iconfonts/iconfont.js +1 -1
- package/dist/cjs/assets/iconfonts/iconfont.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js +4 -0
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js +108 -0
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js +4 -0
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue.js +24 -18
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js +93 -0
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js +128 -0
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js +51 -0
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue2.js +4 -0
- package/dist/cjs/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue2.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/DocImageComponent.js +26 -46
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/DocImageComponent.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js +14 -5
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.js +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js +2 -0
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.js +7 -0
- package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/{HtmlCodeTool.vue.js → PreviewToolbar.vue.js} +56 -43
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue2.js +4 -0
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue2.js.map +1 -0
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js +2 -2
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/index.vue.js +3 -1
- package/dist/cjs/components/basic/doc-editor/plugins/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/nodes.js +3 -1
- package/dist/cjs/components/basic/doc-editor/plugins/nodes.js.map +1 -1
- package/dist/cjs/components/business/resource-list/ResourceManager.js +0 -24
- package/dist/cjs/components/business/resource-list/ResourceManager.js.map +1 -1
- package/dist/cjs/components/business/resource-list/resource-list.vue.js +38 -15
- package/dist/cjs/components/business/resource-list/resource-list.vue.js.map +1 -1
- package/dist/cjs/components/business/resource-manager/resource-manager.vue.js +1 -12
- package/dist/cjs/components/business/resource-manager/resource-manager.vue.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/table/table.js +0 -1
- package/dist/cjs/components/data-model/data-table/views/table/table.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/table-view/header/header.js +12 -9
- package/dist/cjs/components/data-model/data-table/views/table-view/header/header.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/tree/tree-options.js +1 -0
- package/dist/cjs/components/data-model/data-table/views/tree/tree-options.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/tree/tree.js +14 -2
- package/dist/cjs/components/data-model/data-table/views/tree/tree.js.map +1 -1
- package/dist/cjs/composables/use-single-view.js +2 -0
- package/dist/cjs/composables/use-single-view.js.map +1 -1
- package/dist/cjs/core/MSAppClient.js +8 -6
- package/dist/cjs/core/MSAppClient.js.map +1 -1
- package/dist/cjs/core/PageManager.js.map +1 -1
- package/dist/cjs/index.js +2 -2
- package/dist/cjs/modules/cms/components/part-tree/index.vue.js +24 -9
- package/dist/cjs/modules/cms/components/part-tree/index.vue.js.map +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-parts/CmsContentManPartForm.js +26 -0
- package/dist/cjs/modules/cms/dataviews/cms-parts/CmsContentManPartForm.js.map +1 -0
- package/dist/cjs/modules/cms/index.js +2 -1
- package/dist/cjs/modules/cms/index.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +44 -22
- package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js +2 -2
- package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js +99 -87
- 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 +45 -5
- package/dist/cjs/modules/cms/pages/cms-resource/index.vue2.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-list/material-item.vue.js +0 -1
- package/dist/cjs/modules/ms/components/material-list/material-item.vue.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-list/material-list-options.js +1 -1
- package/dist/cjs/modules/ms/components/material-list/material-list-options.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-select/material-select-api.js +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-menu/MsMenuTree.js +18 -0
- package/dist/cjs/modules/ms/dataviews/ms-menu/MsMenuTree.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js +4 -1
- package/dist/cjs/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js.map +1 -1
- package/dist/cjs/modules/ms/index.js +2 -2
- package/dist/cjs/modules/ms/pages/ms-material/index.vue2.js +13 -16
- 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 +49 -7
- package/dist/cjs/modules/ms/pages/ms-menu/index.vue2.js.map +1 -1
- package/dist/esm/assets/iconfonts/iconfont.js +1 -1
- package/dist/esm/assets/iconfonts/iconfont.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js +5 -0
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js +109 -0
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalBlockWithAlignableContents.vue2.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js +4 -0
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalDecoratorBlockNode.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue.js +25 -19
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalRichTextPlugin.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js +94 -0
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js +128 -0
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js +52 -0
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue2.js +5 -0
- package/dist/esm/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.vue2.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/DocImageComponent.js +27 -47
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/DocImageComponent.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js +14 -5
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.js +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js +2 -0
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.js +7 -0
- package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.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/ToolbarPlugin/PreviewToolbar.vue.js +117 -0
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue2.js +5 -0
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue2.js.map +1 -0
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/index.vue.js +3 -1
- package/dist/esm/components/basic/doc-editor/plugins/index.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/nodes.js +3 -1
- package/dist/esm/components/basic/doc-editor/plugins/nodes.js.map +1 -1
- package/dist/esm/components/business/resource-list/ResourceManager.js +1 -25
- package/dist/esm/components/business/resource-list/ResourceManager.js.map +1 -1
- package/dist/esm/components/business/resource-list/resource-list.vue.js +39 -16
- package/dist/esm/components/business/resource-list/resource-list.vue.js.map +1 -1
- package/dist/esm/components/business/resource-manager/resource-manager.vue.js +2 -13
- package/dist/esm/components/business/resource-manager/resource-manager.vue.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/table/table.js +0 -1
- package/dist/esm/components/data-model/data-table/views/table/table.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/table-view/header/header.js +12 -9
- package/dist/esm/components/data-model/data-table/views/table-view/header/header.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/tree/tree-options.js +1 -0
- package/dist/esm/components/data-model/data-table/views/tree/tree-options.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/tree/tree.js +15 -3
- package/dist/esm/components/data-model/data-table/views/tree/tree.js.map +1 -1
- package/dist/esm/composables/use-single-view.js +2 -0
- package/dist/esm/composables/use-single-view.js.map +1 -1
- package/dist/esm/core/MSAppClient.js +8 -6
- package/dist/esm/core/MSAppClient.js.map +1 -1
- package/dist/esm/core/PageManager.js.map +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/modules/cms/components/part-tree/index.vue.js +25 -10
- package/dist/esm/modules/cms/components/part-tree/index.vue.js.map +1 -1
- package/dist/esm/modules/cms/dataviews/cms-parts/CmsContentManPartForm.js +26 -0
- package/dist/esm/modules/cms/dataviews/cms-parts/CmsContentManPartForm.js.map +1 -0
- package/dist/esm/modules/cms/index.js +2 -1
- package/dist/esm/modules/cms/index.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +46 -24
- package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js +2 -2
- package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js +101 -89
- 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 +46 -6
- package/dist/esm/modules/cms/pages/cms-resource/index.vue2.js.map +1 -1
- package/dist/esm/modules/ms/components/material-list/material-item.vue.js +0 -1
- package/dist/esm/modules/ms/components/material-list/material-item.vue.js.map +1 -1
- package/dist/esm/modules/ms/components/material-list/material-list-options.js +1 -1
- package/dist/esm/modules/ms/components/material-list/material-list-options.js.map +1 -1
- package/dist/esm/modules/ms/components/material-select/material-select-api.js +1 -1
- package/dist/esm/modules/ms/dataviews/ms-menu/MsMenuTree.js +18 -0
- package/dist/esm/modules/ms/dataviews/ms-menu/MsMenuTree.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js +4 -1
- package/dist/esm/modules/ms/dataviews/ms-role/MsRolePermissionConfigTable.js.map +1 -1
- package/dist/esm/modules/ms/index.js +2 -2
- package/dist/esm/modules/ms/pages/ms-material/index.vue2.js +14 -17
- 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 +50 -8
- package/dist/esm/modules/ms/pages/ms-menu/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/material-item.css +1 -1
- package/dist/style/index.css +2 -2
- package/dist/style/modules/cms/index.css +1 -1
- package/dist/style/modules/cms/pages/cms-contents/index.css +1 -1
- package/dist/style/modules/cms/resource-manager.css +1 -1
- package/dist/style/src/components/basic/doc-editor/index.scss +22 -2
- package/dist/style/src/components/material-item.scss +66 -63
- package/dist/style/src/modules/cms/pages/cms-contents/index.scss +1 -2
- package/dist/style/src/modules/cms/resource-manager.scss +63 -0
- package/dist/style/src/theme/theme.scss +310 -303
- package/dist/style/theme/theme.css +1 -1
- package/dist/types/components/basic/doc-editor/plugins/HtmlBlockPlugin/DocHtmlBlockComponent.d.ts +20 -0
- package/dist/types/components/basic/doc-editor/plugins/HtmlBlockPlugin/index.d.ts +57 -0
- package/dist/types/components/basic/doc-editor/plugins/ImageTextPlugin/index.d.ts +1 -0
- package/dist/types/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.d.ts +2 -0
- package/dist/types/components/business/resource-list/ResourceManager.d.ts +0 -1
- package/dist/types/components/business/resource-manager/index.d.ts +32 -6
- package/dist/types/components/business/resource-manager/resource-manager.vue.d.ts +10 -1
- package/dist/types/components/data-model/data-table/views/table/index.d.ts +1 -1
- package/dist/types/components/data-model/data-table/views/table/table.d.ts +1 -1
- package/dist/types/components/data-model/data-table/views/tree/index.d.ts +3 -0
- package/dist/types/components/data-model/data-table/views/tree/tree-options.d.ts +1 -0
- package/dist/types/components/data-model/data-table/views/tree/tree.d.ts +3 -0
- package/dist/types/modules/cms/components/part-tree/index.d.ts +5 -9
- package/dist/types/modules/cms/components/part-tree/index.vue.d.ts +16 -15
- package/dist/types/modules/cms/dataviews/cms-parts/CmsContentManPartForm.d.ts +8 -0
- package/dist/types/modules/cms/dataviews/cms-parts/index.d.ts +1 -0
- package/dist/types/modules/ms/dataviews/ms-material/index.d.ts +0 -1
- package/dist/types/modules/ms/dataviews/ms-menu/MsMenuTree.d.ts +1 -0
- package/package.json +5 -5
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue2.js +0 -4
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue2.js.map +0 -1
- package/dist/cjs/modules/ms/dataviews/ms-material/MsMaterialMan.js +0 -131
- package/dist/cjs/modules/ms/dataviews/ms-material/MsMaterialMan.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue.js +0 -104
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue2.js +0 -5
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/HtmlCodeTool.vue2.js.map +0 -1
- package/dist/esm/modules/ms/dataviews/ms-material/MsMaterialMan.js +0 -131
- package/dist/esm/modules/ms/dataviews/ms-material/MsMaterialMan.js.map +0 -1
- package/dist/style/modules/cms/pages/cms-contents/part-edit-add-page.css +0 -1
- package/dist/style/src/modules/cms/pages/cms-contents/part-edit-add-page.scss +0 -127
- package/dist/types/modules/ms/dataviews/ms-material/MsMaterialMan.d.ts +0 -31
- /package/dist/types/components/basic/doc-editor/plugins/{ToolbarPlugin/HtmlCodeTool.vue.d.ts → HtmlBlockPlugin/index.vue.d.ts} +0 -0
- /package/dist/types/{modules/cms/pages/cms-contents/part-edit-add-page.vue.d.ts → components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolba-back.vue.d.ts} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, ref, reactive, resolveComponent, resolveDirective, withDirectives, openBlock, createElementBlock, createVNode, withCtx, createElementVNode, createTextVNode, unref, createBlock, createCommentVNode } from "vue";
|
|
1
|
+
import { defineComponent, ref, reactive, onMounted, resolveComponent, resolveDirective, withDirectives, openBlock, createElementBlock, createVNode, withCtx, createElementVNode, createTextVNode, unref, createBlock, createCommentVNode } from "vue";
|
|
2
2
|
import { MKPartTree } from "../../components/part-tree/index.js";
|
|
3
3
|
import _sfc_main$1 from "./components/article-list.vue.js";
|
|
4
4
|
import _sfc_main$2 from "./components/part-info.vue.js";
|
|
@@ -51,7 +51,8 @@ import "../../../ms/material-upload-context/material-upload-context.js";
|
|
|
51
51
|
import "@codemirror/lang-html";
|
|
52
52
|
import { CmsPartTypesTable } from "../../dataviews/cms-part-types/CmsPartTypesTable.js";
|
|
53
53
|
import { CmsPartForm } from "../../dataviews/cms-parts/CmsPartForm.js";
|
|
54
|
-
import {
|
|
54
|
+
import { CmsContentManPartForm } from "../../dataviews/cms-parts/CmsContentManPartForm.js";
|
|
55
|
+
import { useRoute, useRouter } from "vue-router";
|
|
55
56
|
const _hoisted_1 = { class: "mk-cms-contents__warp" };
|
|
56
57
|
const _hoisted_2 = { style: { "color": "var(--el-text-color-regular)", "margin-left": "10px" } };
|
|
57
58
|
const _hoisted_3 = { class: "flex items-center" };
|
|
@@ -68,6 +69,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
68
69
|
__name: "index",
|
|
69
70
|
setup(__props) {
|
|
70
71
|
const route = useRoute();
|
|
72
|
+
const router = useRouter();
|
|
71
73
|
const previewHandle = (isList = false) => {
|
|
72
74
|
if (isList) {
|
|
73
75
|
window.open(`/api/cms/content/preview/part/${curSelectPartItem.value.id}?pageNo=1`);
|
|
@@ -87,10 +89,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
87
89
|
const activeTabName = ref("article-list");
|
|
88
90
|
const curSelectPartItem = ref(null);
|
|
89
91
|
const partTreeRef = ref(null);
|
|
90
|
-
const partDataForm = reactive(new
|
|
92
|
+
const partDataForm = reactive(new CmsContentManPartForm());
|
|
93
|
+
onMounted(() => {
|
|
94
|
+
partDataForm.init();
|
|
95
|
+
});
|
|
91
96
|
const selectPartHandle = (item) => {
|
|
92
|
-
curSelectPartItem.value
|
|
93
|
-
|
|
97
|
+
if (curSelectPartItem.value != item) {
|
|
98
|
+
curSelectPartItem.value = item;
|
|
99
|
+
partDataForm.editRecord(curSelectPartItem.value.id);
|
|
100
|
+
router.replace({ name: "cms/contents", query: { pid: curSelectPartItem.value.id } });
|
|
101
|
+
}
|
|
94
102
|
};
|
|
95
103
|
const deletePartHandle = (item) => {
|
|
96
104
|
if (item.id == curSelectPartItem.value.id) {
|
|
@@ -101,9 +109,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
101
109
|
curSelectPartItem.value = item;
|
|
102
110
|
activeTabName.value = "part";
|
|
103
111
|
};
|
|
104
|
-
if (!!route.query.partId) {
|
|
105
|
-
curSelectPartItem.value = { id: route.query.partId };
|
|
106
|
-
}
|
|
107
112
|
const partForm = reactive(
|
|
108
113
|
new class extends CmsPartForm {
|
|
109
114
|
async initialize() {
|
|
@@ -140,9 +145,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
140
145
|
dataForm: partForm
|
|
141
146
|
});
|
|
142
147
|
if (item.id) {
|
|
143
|
-
partForm.addRecord({
|
|
144
|
-
parentId: item.id
|
|
145
|
-
});
|
|
148
|
+
partForm.addRecord({ parentId: item.id });
|
|
146
149
|
}
|
|
147
150
|
};
|
|
148
151
|
partForm.submittedEvent.on(() => {
|
|
@@ -154,7 +157,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
154
157
|
var _a;
|
|
155
158
|
const httpRequest = (_a = MSAppClient.instance) == null ? void 0 : _a.httpRequest;
|
|
156
159
|
try {
|
|
157
|
-
const isConfirm = await Dialoger.confirm({ title: "全量发布", message: "
|
|
160
|
+
const isConfirm = await Dialoger.confirm({ title: "全量发布", message: "是否整站全量发布?", type: "warning" });
|
|
158
161
|
if (!isConfirm) {
|
|
159
162
|
return;
|
|
160
163
|
}
|
|
@@ -206,6 +209,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
206
209
|
return (_ctx, _cache) => {
|
|
207
210
|
const _component_MKSvgIcon = resolveComponent("MKSvgIcon");
|
|
208
211
|
const _component_el_button = resolveComponent("el-button");
|
|
212
|
+
const _component_el_button_group = resolveComponent("el-button-group");
|
|
209
213
|
const _component_el_page_header = resolveComponent("el-page-header");
|
|
210
214
|
const _component_el_dropdown_item = resolveComponent("el-dropdown-item");
|
|
211
215
|
const _component_el_dropdown_menu = resolveComponent("el-dropdown-menu");
|
|
@@ -223,7 +227,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
223
227
|
title: withCtx(() => [
|
|
224
228
|
createElementVNode("h3", _hoisted_2, [
|
|
225
229
|
createVNode(_component_MKSvgIcon, {
|
|
226
|
-
iconClass: "
|
|
230
|
+
iconClass: "richtext-outline",
|
|
227
231
|
style: { "margin-right": "5px" }
|
|
228
232
|
}),
|
|
229
233
|
createTextVNode(" 内容管理 ")
|
|
@@ -231,32 +235,37 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
231
235
|
]),
|
|
232
236
|
extra: withCtx(() => [
|
|
233
237
|
createElementVNode("div", _hoisted_3, [
|
|
234
|
-
createVNode(
|
|
235
|
-
type: "primary",
|
|
236
|
-
size: "large",
|
|
237
|
-
text: "",
|
|
238
|
-
onClick: publishAllHandle
|
|
239
|
-
}, {
|
|
238
|
+
createVNode(_component_el_button_group, null, {
|
|
240
239
|
default: withCtx(() => [
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
240
|
+
createVNode(_component_el_button, {
|
|
241
|
+
type: "primary",
|
|
242
|
+
size: "large",
|
|
243
|
+
text: "",
|
|
244
|
+
onClick: publishAllHandle
|
|
245
|
+
}, {
|
|
246
|
+
default: withCtx(() => [
|
|
247
|
+
createVNode(_component_MKSvgIcon, {
|
|
248
|
+
iconClass: "Promotion",
|
|
249
|
+
style: { "margin-right": "10px" }
|
|
250
|
+
}),
|
|
251
|
+
createTextVNode(" 整站发布 ")
|
|
252
|
+
]),
|
|
253
|
+
_: 1
|
|
254
|
+
}),
|
|
255
|
+
createVNode(_component_el_button, {
|
|
256
|
+
type: "primary",
|
|
257
|
+
size: "large",
|
|
258
|
+
text: "",
|
|
259
|
+
onClick: showPartFormHandle
|
|
260
|
+
}, {
|
|
261
|
+
default: withCtx(() => [
|
|
262
|
+
createVNode(_component_MKSvgIcon, {
|
|
263
|
+
iconClass: "Plus",
|
|
264
|
+
style: { "margin-right": "10px" }
|
|
265
|
+
}),
|
|
266
|
+
createTextVNode(" 新增栏目 ")
|
|
267
|
+
]),
|
|
268
|
+
_: 1
|
|
260
269
|
})
|
|
261
270
|
]),
|
|
262
271
|
_: 1
|
|
@@ -273,8 +282,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
273
282
|
onAdd: showPartFormHandle,
|
|
274
283
|
onDeleteSuccessfully: deletePartHandle,
|
|
275
284
|
ref_key: "partTreeRef",
|
|
276
|
-
ref: partTreeRef
|
|
277
|
-
|
|
285
|
+
ref: partTreeRef,
|
|
286
|
+
curSelectId: unref(route).query.pid
|
|
287
|
+
}, null, 8, ["curSelectId"]),
|
|
278
288
|
curSelectPartItem.value ? (openBlock(), createBlock(_component_el_tabs, {
|
|
279
289
|
key: 0,
|
|
280
290
|
modelValue: activeTabName.value,
|
|
@@ -283,84 +293,82 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
283
293
|
}, {
|
|
284
294
|
default: withCtx(() => [
|
|
285
295
|
createElementVNode("div", _hoisted_5, [
|
|
296
|
+
activeTabName.value != "article-list" ? (openBlock(), createBlock(_component_el_button, {
|
|
297
|
+
key: 0,
|
|
298
|
+
type: "primary",
|
|
299
|
+
text: "",
|
|
300
|
+
onClick: _cache[0] || (_cache[0] = ($event) => savePartHandle()),
|
|
301
|
+
disabled: !(partDataForm == null ? void 0 : partDataForm.isChanged)
|
|
302
|
+
}, {
|
|
303
|
+
default: withCtx(() => [
|
|
304
|
+
createVNode(_component_MKSvgIcon, {
|
|
305
|
+
iconClass: "save",
|
|
306
|
+
style: { "margin-right": "5px" }
|
|
307
|
+
}),
|
|
308
|
+
createTextVNode(" 栏目保存 ")
|
|
309
|
+
]),
|
|
310
|
+
_: 1
|
|
311
|
+
}, 8, ["disabled"])) : createCommentVNode("", true),
|
|
286
312
|
createVNode(_component_el_dropdown, null, {
|
|
287
313
|
dropdown: withCtx(() => [
|
|
288
314
|
curSelectPartItem.value.coverTemplate ? (openBlock(), createBlock(_component_el_dropdown_menu, { key: 0 }, {
|
|
289
315
|
default: withCtx(() => [
|
|
290
316
|
createVNode(_component_el_dropdown_item, {
|
|
291
|
-
onClick: _cache[
|
|
317
|
+
onClick: _cache[1] || (_cache[1] = ($event) => previewHandle())
|
|
292
318
|
}, {
|
|
293
319
|
default: withCtx(() => [
|
|
320
|
+
createVNode(_component_MKSvgIcon, {
|
|
321
|
+
iconClass: "View",
|
|
322
|
+
style: { "margin-left": "10px" }
|
|
323
|
+
}),
|
|
294
324
|
createTextVNode(" 预览封面 ")
|
|
295
325
|
]),
|
|
296
326
|
_: 1
|
|
297
327
|
}),
|
|
298
328
|
curSelectPartItem.value.listTemplate ? (openBlock(), createBlock(_component_el_dropdown_item, {
|
|
299
329
|
key: 0,
|
|
300
|
-
onClick: _cache[
|
|
330
|
+
onClick: _cache[2] || (_cache[2] = ($event) => previewHandle(true))
|
|
301
331
|
}, {
|
|
302
332
|
default: withCtx(() => [
|
|
333
|
+
createVNode(_component_MKSvgIcon, {
|
|
334
|
+
iconClass: "View",
|
|
335
|
+
style: { "margin-left": "10px" }
|
|
336
|
+
}),
|
|
303
337
|
createTextVNode(" 预览列表 ")
|
|
304
338
|
]),
|
|
305
339
|
_: 1
|
|
306
|
-
})) : createCommentVNode("", true)
|
|
340
|
+
})) : createCommentVNode("", true),
|
|
341
|
+
createVNode(_component_el_dropdown_item, {
|
|
342
|
+
onClick: _cache[3] || (_cache[3] = ($event) => showPublish.value = true)
|
|
343
|
+
}, {
|
|
344
|
+
default: withCtx(() => [
|
|
345
|
+
createVNode(_component_MKSvgIcon, {
|
|
346
|
+
iconClass: "Promotion",
|
|
347
|
+
style: { "margin-left": "10px" }
|
|
348
|
+
}),
|
|
349
|
+
createTextVNode(" 发布当前栏目 ")
|
|
350
|
+
]),
|
|
351
|
+
_: 1
|
|
352
|
+
})
|
|
307
353
|
]),
|
|
308
354
|
_: 1
|
|
309
355
|
})) : createCommentVNode("", true)
|
|
310
356
|
]),
|
|
311
357
|
default: withCtx(() => [
|
|
312
358
|
createElementVNode("span", _hoisted_6, [
|
|
313
|
-
|
|
314
|
-
key: 0,
|
|
359
|
+
createVNode(_component_el_button, {
|
|
315
360
|
type: "primary",
|
|
316
|
-
size: "large",
|
|
317
361
|
text: ""
|
|
318
362
|
}, {
|
|
319
363
|
default: withCtx(() => [
|
|
320
|
-
|
|
321
|
-
createVNode(_component_MKSvgIcon, {
|
|
322
|
-
iconClass: "View",
|
|
323
|
-
style: { "margin-left": "10px" }
|
|
324
|
-
})
|
|
364
|
+
createVNode(_component_MKSvgIcon, { iconClass: "MoreFilled" })
|
|
325
365
|
]),
|
|
326
366
|
_: 1
|
|
327
|
-
})
|
|
367
|
+
})
|
|
328
368
|
])
|
|
329
369
|
]),
|
|
330
370
|
_: 1
|
|
331
|
-
})
|
|
332
|
-
createVNode(_component_el_button, {
|
|
333
|
-
type: "primary",
|
|
334
|
-
size: "large",
|
|
335
|
-
text: "",
|
|
336
|
-
onClick: _cache[2] || (_cache[2] = ($event) => showPublish.value = true)
|
|
337
|
-
}, {
|
|
338
|
-
default: withCtx(() => [
|
|
339
|
-
createTextVNode(" 栏目发布 "),
|
|
340
|
-
createVNode(_component_MKSvgIcon, {
|
|
341
|
-
iconClass: "Promotion",
|
|
342
|
-
style: { "margin-left": "10px" }
|
|
343
|
-
})
|
|
344
|
-
]),
|
|
345
|
-
_: 1
|
|
346
|
-
}),
|
|
347
|
-
activeTabName.value != "article-list" ? (openBlock(), createBlock(_component_el_button, {
|
|
348
|
-
key: 0,
|
|
349
|
-
type: "primary",
|
|
350
|
-
size: "large",
|
|
351
|
-
text: "",
|
|
352
|
-
onClick: _cache[3] || (_cache[3] = ($event) => savePartHandle()),
|
|
353
|
-
disabled: !(partDataForm == null ? void 0 : partDataForm.isChanged)
|
|
354
|
-
}, {
|
|
355
|
-
default: withCtx(() => [
|
|
356
|
-
createTextVNode(" 栏目保存 "),
|
|
357
|
-
createVNode(_component_MKSvgIcon, {
|
|
358
|
-
iconClass: "save",
|
|
359
|
-
style: { "margin-left": "10px" }
|
|
360
|
-
})
|
|
361
|
-
]),
|
|
362
|
-
_: 1
|
|
363
|
-
}, 8, ["disabled"])) : createCommentVNode("", true)
|
|
371
|
+
})
|
|
364
372
|
]),
|
|
365
373
|
createVNode(_component_el_tab_pane, {
|
|
366
374
|
label: "文章列表",
|
|
@@ -374,7 +382,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
374
382
|
]),
|
|
375
383
|
_: 1
|
|
376
384
|
}),
|
|
377
|
-
|
|
385
|
+
withDirectives((openBlock(), createBlock(_component_el_tab_pane, {
|
|
378
386
|
label: "栏目信息",
|
|
379
387
|
name: "part"
|
|
380
388
|
}, {
|
|
@@ -387,8 +395,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
387
395
|
}, null, 8, ["part", "partDataForm"])) : createCommentVNode("", true)
|
|
388
396
|
]),
|
|
389
397
|
_: 1
|
|
390
|
-
}),
|
|
391
|
-
|
|
398
|
+
})), [
|
|
399
|
+
[_directive_loading, partDataForm.loading]
|
|
400
|
+
]),
|
|
401
|
+
curSelectPartItem.value.cmsPartTypeId != 1 ? withDirectives((openBlock(), createBlock(_component_el_tab_pane, {
|
|
392
402
|
key: 0,
|
|
393
403
|
label: "栏目内容",
|
|
394
404
|
name: "part-content",
|
|
@@ -406,7 +416,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
406
416
|
];
|
|
407
417
|
}),
|
|
408
418
|
_: 1
|
|
409
|
-
}))
|
|
419
|
+
})), [
|
|
420
|
+
[_directive_loading, partDataForm.loading]
|
|
421
|
+
]) : createCommentVNode("", true)
|
|
410
422
|
]),
|
|
411
423
|
_: 1
|
|
412
424
|
}, 8, ["modelValue"])) : (openBlock(), createBlock(_component_el_empty, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-contents/index.vue"],"sourcesContent":["<template>\n <div class=\"mk-cms-contents__warp\" v-loading=\"loading\">\n <el-page-header style=\"background-color: #fff; padding: 10px\" :icon=\"null\">\n <template #title>\n <h3 style=\"color: var(--el-text-color-regular); margin-left: 10px\">\n <MKSvgIcon iconClass=\"Memo\" style=\"margin-right: 5px\" />\n 内容管理\n </h3>\n </template>\n <template #extra>\n <div class=\"flex items-center\">\n <el-button type=\"primary\" size=\"large\" text @click=\"publishAllHandle\">\n 全量发布\n <MKSvgIcon iconClass=\"Promotion\" style=\"margin-left: 10px\" />\n </el-button>\n <el-button type=\"primary\" size=\"large\" text @click=\"showPartFormHandle\">\n 添加栏目\n <MKSvgIcon iconClass=\"Plus\" style=\"margin-left: 10px\" />\n </el-button>\n </div>\n </template>\n </el-page-header>\n <div class=\"mk-cms-contents__body\">\n <MKPartTree class=\"mk-cms-contents__body__left\" @select=\"selectPartHandle\" @edit=\"editPartHandle\"\n @add=\"showPartFormHandle\" @deleteSuccessfully=\"deletePartHandle\" ref=\"partTreeRef\" />\n <el-tabs v-if=\"curSelectPartItem\" v-model=\"activeTabName\" class=\"mk-cms-contents__body__right\">\n <div class=\"mk-cms-contents__body__right__action\">\n <el-dropdown>\n <span class=\"el-dropdown-link\">\n <el-button type=\"primary\" size=\"large\" text\n v-if=\"curSelectPartItem.listTemplate || curSelectPartItem.coverTemplate\">\n 预览\n <MKSvgIcon iconClass=\"View\" style=\"margin-left: 10px;\" />\n </el-button>\n </span>\n <template #dropdown>\n <el-dropdown-menu v-if=\"curSelectPartItem.coverTemplate\">\n <el-dropdown-item @click=\"previewHandle()\">\n 预览封面\n </el-dropdown-item>\n <el-dropdown-item @click=\"previewHandle(true)\" v-if=\"curSelectPartItem.listTemplate\">\n 预览列表\n </el-dropdown-item>\n </el-dropdown-menu>\n </template>\n </el-dropdown>\n <el-button type=\"primary\" size=\"large\" text @click=\"showPublish = true\">\n 栏目发布\n <MKSvgIcon iconClass=\"Promotion\" style=\"margin-left: 10px\" />\n </el-button>\n <el-button type=\"primary\" size=\"large\" text @click=\"savePartHandle()\" :disabled=\"!partDataForm?.isChanged\"\n v-if=\"activeTabName != 'article-list'\">\n 栏目保存\n <MKSvgIcon iconClass=\"save\" style=\"margin-left: 10px\" />\n </el-button>\n </div>\n <el-tab-pane label=\"文章列表\" name=\"article-list\">\n <ArticleList v-if=\"activeTabName == 'article-list'\" :part=\"curSelectPartItem\" />\n </el-tab-pane>\n <el-tab-pane label=\"栏目信息\" name=\"part\">\n <PartInfo v-if=\"activeTabName == 'part'\" :part=\"curSelectPartItem\" ref=\"partInfoRef\"\n :partDataForm=\"partDataForm\" />\n </el-tab-pane>\n <el-tab-pane label=\"栏目内容\" name=\"part-content\" style=\"background-color: #f4f4f4\"\n v-if=\"curSelectPartItem.cmsPartTypeId != 1\">\n <MKDocEditor v-if=\"activeTabName == 'part-content'\" :content=\"partDataForm.data?.content\"\n placeholder=\"从这里开始写正文...\" @change=\"EditorChangeHandle\" />\n </el-tab-pane>\n </el-tabs>\n <el-empty v-else description=\"请选择栏目\" style=\"width: 100%\" />\n </div>\n <el-dialog v-model=\"showPublish\" title=\"栏目发布\" width=\"475px\" :append-to-body=\"false\">\n <div class=\"mk-cms-contents__publish\">\n <div><span>是否发布列表:</span> <el-switch v-model=\"optionData.isPublishList\" /></div>\n <div><span>是否发布封面:</span> <el-switch v-model=\"optionData.isPublishCover\" /></div>\n <div><span>是否发布内容:</span> <el-switch v-model=\"optionData.isPublishContent\" /></div>\n <div><span>是否发布资源:</span> <el-switch v-model=\"optionData.isPublishAssets\" /></div>\n <div><span>是否强制发布:</span> <el-switch v-model=\"optionData.isCompulsion\" /></div>\n </div>\n <template #footer>\n <el-button @click=\"showPublish = false\">取消</el-button>\n <el-button type=\"primary\" @click=\"publishPartHandle\" :loading=\"btnLoading\">确定</el-button>\n </template>\n </el-dialog>\n </div>\n</template>\n<script setup lang=\"ts\">\nimport { MKPartTree } from \"../../components\";\nimport ArticleList from \"./components/article-list.vue\";\nimport PartInfo from \"./components/part-info.vue\";\nimport { MKCopyContainer, MKDocEditor } from \"../../../../components\";\nimport { h, onMounted, reactive, ref } from \"vue\";\nimport { DataForm, Dialoger, FormColumn, isWhereFilter, Messager } from \"@maketribe/dm\";\nimport { CmsPartForm, CmsPartTypesTable } from \"../../dataviews\";\nimport { useRoute } from \"vue-router\";\nimport { MSAppClient } from \"../../../../core\";\nimport { ElSwitch } from \"element-plus\";\n//路由\nconst route = useRoute();\n//c\nconst previewHandle = (isList = false) => {\n if (isList) {\n window.open(`/api/cms/content/preview/part/${curSelectPartItem.value.id}?pageNo=1`)\n } else {\n window.open(`/api/cms/content/preview/part/${curSelectPartItem.value.id}`)\n }\n}\n\n//发布栏目时的配置\nconst showPublish = ref(false)\n//发布配置项\nconst optionData = ref({\n isPublishList: true,\n isPublishCover: true,\n isPublishContent: true,\n isPublishAssets: true,\n isCompulsion: false\n});\n//发布弹窗的按钮\nconst btnLoading = ref(false);\n\n// 激活的tab\nconst activeTabName = ref(\"article-list\");\n\n// 当前选中的菜单\nconst curSelectPartItem = ref(null as any);\n// 栏目树ref\nconst partTreeRef = ref(null);\n//栏目数据\nconst partDataForm = reactive(new CmsPartForm()) as CmsPartForm;\n\n// 选择栏目\nconst selectPartHandle = (item: any) => {\n curSelectPartItem.value = item;\n partDataForm.editRecord(curSelectPartItem.value.id)\n};\n//删除栏目\nconst deletePartHandle = (item: any) => {\n if (item.id == curSelectPartItem.value.id) {\n curSelectPartItem.value = null;\n }\n};\n//编辑栏目\nconst editPartHandle = (item: any) => {\n curSelectPartItem.value = item;\n activeTabName.value = \"part\";\n};\n\nif (!!route.query.partId) {\n curSelectPartItem.value = { id: route.query.partId };\n}\n\n//栏目表单\nconst partForm = reactive(\n new (class extends CmsPartForm {\n protected async initialize() {\n await super.initialize();\n this.setColumns([\n new FormColumn({\n name: \"cmsPartTypeId\",\n label: \"栏目类型\",\n componentInfo: \"MKFormDataSelect\",\n defaultValue: \"2\",\n componentProps: {\n dataTable: this.register(\n new CmsPartTypesTable()\n ) as CmsPartTypesTable,\n },\n required: true,\n }),\n new FormColumn({\n name: \"name\",\n label: \"栏目名称\",\n required: true,\n }),\n new FormColumn({\n name: \"title\",\n label: \"栏目标题\",\n required: true,\n }),\n ]);\n }\n })()\n);\n/**\n * 显示添加栏目表单\n */\nconst showPartFormHandle = async (item?: any) => {\n await Dialoger.dataFormDialog({\n dataForm: partForm as CmsPartForm,\n });\n\n if (item.id) {\n partForm.addRecord({\n parentId: item.id,\n });\n }\n};\n//\npartForm.submittedEvent.on(() => {\n (partTreeRef.value! as any).dataTree?.load();\n});\n\nconst loading = ref(false)\n\nconst publishAllHandle = async () => {\n const httpRequest = MSAppClient.instance?.httpRequest!;\n try {\n const isConfirm = await Dialoger.confirm({ title: \"全量发布\", message: \"是否全量发布?\", type: \"warning\" })\n\n if (!isConfirm) {\n return;\n }\n loading.value = true\n\n const response = await httpRequest.post(\n `/cms/content/publish/all`\n );\n\n if (response.data.code !== 200) {\n Messager.error({ message: response.data.msg });\n return;\n }\n\n Messager.success({ message: \"发布成功\" });\n\n } finally {\n loading.value = false\n }\n}\n\nconst publishPartHandle = async () => {\n const httpRequest = MSAppClient.instance?.httpRequest!;\n try {\n btnLoading.value = true\n\n const response = await httpRequest.post(\n `/cms/content/publish/part`, {\n partIds: [\n curSelectPartItem.value.id\n ],\n ...optionData.value\n }\n );\n\n if (response.data.code !== 200) {\n Messager.error({ message: response.data.msg });\n return;\n }\n showPublish.value = false;\n Messager.success({ message: \"发布成功\" });\n\n } finally {\n btnLoading.value = false\n }\n}\n\n/**\n * 保存栏目信息\n */\nconst savePartHandle = async () => {\n await partDataForm.submit();\n await (partTreeRef.value! as any).dataTree?.load();\n}\n\n/**\n * 更新编辑器内容\n * @param v 内容\n */\nconst EditorChangeHandle = (v: any) => {\n partDataForm.data.content = v\n}\n</script>\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-contents/index.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-contents__warp\" v-loading=\"loading\">\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=\"richtext-outline\" style=\"margin-right: 5px\" />\r\n 内容管理\r\n </h3>\r\n </template>\r\n <template #extra>\r\n <div class=\"flex items-center\">\r\n <el-button-group>\r\n <el-button type=\"primary\" size=\"large\" text @click=\"publishAllHandle\">\r\n <MKSvgIcon iconClass=\"Promotion\" style=\"margin-right: 10px\" />\r\n 整站发布\r\n </el-button>\r\n <el-button type=\"primary\" size=\"large\" text @click=\"showPartFormHandle\">\r\n <MKSvgIcon iconClass=\"Plus\" style=\"margin-right: 10px\" />\r\n 新增栏目\r\n </el-button>\r\n </el-button-group>\r\n </div>\r\n </template>\r\n </el-page-header>\r\n <div class=\"mk-cms-contents__body\">\r\n <MKPartTree class=\"mk-cms-contents__body__left\" @select=\"selectPartHandle\" @edit=\"editPartHandle\"\r\n @add=\"showPartFormHandle\" @deleteSuccessfully=\"deletePartHandle\" ref=\"partTreeRef\" :curSelectId=\"(route.query.pid as string)\" />\r\n <el-tabs v-if=\"curSelectPartItem\" v-model=\"activeTabName\" class=\"mk-cms-contents__body__right\">\r\n <div class=\"mk-cms-contents__body__right__action\">\r\n <el-button type=\"primary\" text @click=\"savePartHandle()\" :disabled=\"!partDataForm?.isChanged\" v-if=\"activeTabName != 'article-list'\">\r\n <MKSvgIcon iconClass=\"save\" style=\"margin-right: 5px\" />\r\n 栏目保存\r\n </el-button>\r\n <el-dropdown>\r\n <span class=\"el-dropdown-link\">\r\n <el-button type=\"primary\" text>\r\n <MKSvgIcon iconClass=\"MoreFilled\"/>\r\n </el-button>\r\n </span>\r\n <template #dropdown>\r\n <el-dropdown-menu v-if=\"curSelectPartItem.coverTemplate\">\r\n <el-dropdown-item @click=\"previewHandle()\">\r\n <MKSvgIcon iconClass=\"View\" style=\"margin-left: 10px;\" />\r\n 预览封面\r\n </el-dropdown-item>\r\n <el-dropdown-item @click=\"previewHandle(true)\" v-if=\"curSelectPartItem.listTemplate\">\r\n <MKSvgIcon iconClass=\"View\" style=\"margin-left: 10px;\" />\r\n 预览列表\r\n </el-dropdown-item>\r\n <el-dropdown-item @click=\"showPublish = true\">\r\n <MKSvgIcon iconClass=\"Promotion\" style=\"margin-left: 10px;\" />\r\n 发布当前栏目\r\n </el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n <!-- <el-button type=\"primary\" size=\"large\" text @click=\"showPublish = true\">\r\n 栏目发布\r\n <MKSvgIcon iconClass=\"Promotion\" style=\"margin-left: 10px\" />\r\n </el-button> -->\r\n \r\n </div>\r\n <el-tab-pane label=\"文章列表\" name=\"article-list\">\r\n <ArticleList v-if=\"activeTabName == 'article-list'\" :part=\"curSelectPartItem\" />\r\n </el-tab-pane>\r\n <el-tab-pane label=\"栏目信息\" name=\"part\" v-loading=\"partDataForm.loading\">\r\n <PartInfo v-if=\"activeTabName == 'part'\" :part=\"curSelectPartItem\" ref=\"partInfoRef\"\r\n :partDataForm=\"partDataForm\" />\r\n </el-tab-pane>\r\n <el-tab-pane label=\"栏目内容\" name=\"part-content\" style=\"background-color: #f4f4f4\"\r\n v-if=\"curSelectPartItem.cmsPartTypeId != 1\" v-loading=\"partDataForm.loading\">\r\n <MKDocEditor v-if=\"activeTabName == 'part-content'\" :content=\"partDataForm.data?.content\"\r\n placeholder=\"从这里开始写正文...\" @change=\"EditorChangeHandle\" />\r\n </el-tab-pane>\r\n </el-tabs>\r\n <el-empty v-else description=\"请选择栏目\" style=\"width: 100%\" />\r\n </div>\r\n <el-dialog v-model=\"showPublish\" title=\"栏目发布\" width=\"475px\" :append-to-body=\"false\">\r\n <div class=\"mk-cms-contents__publish\">\r\n <div><span>是否发布列表:</span> <el-switch v-model=\"optionData.isPublishList\" /></div>\r\n <div><span>是否发布封面:</span> <el-switch v-model=\"optionData.isPublishCover\" /></div>\r\n <div><span>是否发布内容:</span> <el-switch v-model=\"optionData.isPublishContent\" /></div>\r\n <div><span>是否发布资源:</span> <el-switch v-model=\"optionData.isPublishAssets\" /></div>\r\n <div><span>是否强制发布:</span> <el-switch v-model=\"optionData.isCompulsion\" /></div>\r\n </div>\r\n <template #footer>\r\n <el-button @click=\"showPublish = false\">取消</el-button>\r\n <el-button type=\"primary\" @click=\"publishPartHandle\" :loading=\"btnLoading\">确定</el-button>\r\n </template>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { MKPartTree } from \"../../components\";\r\nimport ArticleList from \"./components/article-list.vue\";\r\nimport PartInfo from \"./components/part-info.vue\";\r\nimport { MKDocEditor } from \"../../../../components\";\r\nimport { reactive, ref,onMounted } from \"vue\";\r\nimport { Dialoger, FormColumn, Messager } from \"@maketribe/dm\";\r\nimport { CmsContentManPartForm,CmsPartForm, CmsPartTypesTable } from \"../../dataviews\";\r\nimport { useRoute,useRouter } from \"vue-router\";\r\nimport { MSAppClient } from \"../../../../core\";\r\nimport { ElSwitch } from \"element-plus\";\r\n//路由\r\nconst route = useRoute();\r\nconst router = useRouter();\r\n//预览\r\nconst previewHandle = (isList = false) => {\r\n if (isList) {\r\n window.open(`/api/cms/content/preview/part/${curSelectPartItem.value.id}?pageNo=1`)\r\n } else {\r\n window.open(`/api/cms/content/preview/part/${curSelectPartItem.value.id}`)\r\n }\r\n}\r\n\r\n//发布栏目时的配置\r\nconst showPublish = ref(false)\r\n\r\n//发布配置项\r\nconst optionData = ref({\r\n isPublishList: true,\r\n isPublishCover: true,\r\n isPublishContent: true,\r\n isPublishAssets: true,\r\n isCompulsion: false\r\n});\r\n//发布弹窗的按钮\r\nconst btnLoading = ref(false);\r\n\r\n// 激活的tab\r\nconst activeTabName = ref(\"article-list\");\r\n\r\n// 当前选中的菜单\r\nconst curSelectPartItem = ref(null as any);\r\n\r\n// 栏目树ref\r\nconst partTreeRef = ref(null);\r\n\r\n//栏目数据\r\nconst partDataForm = reactive(new CmsContentManPartForm()) as CmsContentManPartForm;\r\n\r\n// 挂载的时候初始化下\r\nonMounted(()=>{\r\n // 需要走一下初始化\r\n partDataForm.init();\r\n})\r\n\r\n// 选择栏目\r\nconst selectPartHandle = (item: any) => {\r\n if(curSelectPartItem.value != item){\r\n curSelectPartItem.value = item;\r\n partDataForm.editRecord(curSelectPartItem.value.id)\r\n router.replace({name:'cms/contents',query:{pid:curSelectPartItem.value.id} } as any)\r\n }\r\n};\r\n//删除栏目\r\nconst deletePartHandle = (item: any) => {\r\n if (item.id == curSelectPartItem.value.id) {\r\n curSelectPartItem.value = null;\r\n }\r\n};\r\n//编辑栏目\r\nconst editPartHandle = (item: any) => {\r\n curSelectPartItem.value = item;\r\n activeTabName.value = \"part\";\r\n};\r\n\r\n//栏目表单\r\nconst partForm = reactive(\r\n new (class extends CmsPartForm {\r\n protected async initialize() {\r\n await super.initialize();\r\n this.setColumns([\r\n new FormColumn({\r\n name: \"cmsPartTypeId\",\r\n label: \"栏目类型\",\r\n componentInfo: \"MKFormDataSelect\",\r\n defaultValue: \"2\",\r\n componentProps: {\r\n dataTable: this.register(\r\n new CmsPartTypesTable()\r\n ) as CmsPartTypesTable,\r\n },\r\n required: true,\r\n }),\r\n new FormColumn({\r\n name: \"name\",\r\n label: \"栏目名称\",\r\n required: true,\r\n }),\r\n new FormColumn({\r\n name: \"title\",\r\n label: \"栏目标题\",\r\n required: true,\r\n }),\r\n ]);\r\n }\r\n })()\r\n);\r\n/**\r\n * 显示添加栏目表单\r\n */\r\nconst showPartFormHandle = async (item?: any) => {\r\n await Dialoger.dataFormDialog({\r\n dataForm: partForm as CmsContentManPartForm,\r\n });\r\n\r\n if (item.id) {\r\n partForm.addRecord({ parentId: item.id });\r\n }\r\n};\r\n\r\n//\r\npartForm.submittedEvent.on(() => {\r\n (partTreeRef.value! as any).dataTree?.load();\r\n});\r\n\r\nconst loading = ref(false)\r\n\r\n// 整站发布\r\nconst publishAllHandle = async () => {\r\n\r\n const httpRequest = MSAppClient.instance?.httpRequest!;\r\n\r\n try {\r\n const isConfirm = await Dialoger.confirm({ title: \"全量发布\", message: \"是否整站全量发布?\", type: \"warning\" })\r\n\r\n if (!isConfirm) {\r\n return;\r\n }\r\n loading.value = true\r\n\r\n const response = await httpRequest.post(\r\n `/cms/content/publish/all`\r\n );\r\n\r\n if (response.data.code !== 200) {\r\n Messager.error({ message: response.data.msg });\r\n return;\r\n }\r\n\r\n Messager.success({ message: \"发布成功\" });\r\n\r\n } finally {\r\n loading.value = false\r\n }\r\n}\r\n\r\nconst publishPartHandle = async () => {\r\n const httpRequest = MSAppClient.instance?.httpRequest!;\r\n try {\r\n btnLoading.value = true\r\n\r\n const response = await httpRequest.post(\r\n `/cms/content/publish/part`, {\r\n partIds: [\r\n curSelectPartItem.value.id\r\n ],\r\n ...optionData.value\r\n }\r\n );\r\n\r\n if (response.data.code !== 200) {\r\n Messager.error({ message: response.data.msg });\r\n return;\r\n }\r\n showPublish.value = false;\r\n Messager.success({ message: \"发布成功\" });\r\n\r\n } finally {\r\n btnLoading.value = false\r\n }\r\n}\r\n\r\n/**\r\n * 保存栏目信息\r\n */\r\nconst savePartHandle = async () => {\r\n await partDataForm.submit();\r\n await (partTreeRef.value! as any).dataTree?.load();\r\n}\r\n\r\n/**\r\n * 更新编辑器内容\r\n * @param v 内容\r\n */\r\nconst EditorChangeHandle = (v: any) => {\r\n partDataForm.data.content = v\r\n}\r\n</script>\r\n"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
-
import { defineComponent, reactive, openBlock, createBlock, unref, withCtx, createVNode } from "vue";
|
|
1
|
+
import { defineComponent, reactive, resolveComponent, openBlock, createBlock, unref, withCtx, createVNode, createTextVNode } from "vue";
|
|
2
|
+
import { Dialoger, Messager } from "@maketribe/dm";
|
|
3
|
+
import "element-plus";
|
|
4
|
+
import "@maketribe/utils";
|
|
5
|
+
import "../../../../core/DataModelDefines.js";
|
|
6
|
+
import { MSAppClient } from "../../../../core/MSAppClient.js";
|
|
7
|
+
import "@maketribe/request";
|
|
2
8
|
import "../../../../components/abstract/abstract-select/abstract-select.js";
|
|
3
9
|
import "../../../../components/abstract/abstract-select/abstract-select-options.js";
|
|
4
|
-
import "element-plus";
|
|
5
10
|
import "../../../../components/basic/svg-icon/index.js";
|
|
6
11
|
import "../../../../components/basic/button/button-options.js";
|
|
7
12
|
import "../../../../components/basic/config-provider/index.js";
|
|
@@ -15,8 +20,6 @@ import { MKPageContainer } from "../../../../components/basic/page-container/ind
|
|
|
15
20
|
import "../../../../components/basic/date-picker/index.js";
|
|
16
21
|
import "../../../../components/basic/icon-select/index.js";
|
|
17
22
|
import "../../../../components/basic/upload-file/upload-file.js";
|
|
18
|
-
import "@maketribe/request";
|
|
19
|
-
import "@maketribe/utils";
|
|
20
23
|
import "../../../../components/basic/upload-file/context/web-file-upload-context.js";
|
|
21
24
|
import "../../../../components/basic/upload-file/context/web-file-upload-context-options.js";
|
|
22
25
|
import "../../../../components/basic/upload-file/ui/upload-image/index.js";
|
|
@@ -30,7 +33,6 @@ import "../../../../components/data-model/data-table-pagination/index.js";
|
|
|
30
33
|
import "../../../../components/business/verify-dialog/index.js";
|
|
31
34
|
import "../../../../components/business/resource-list/index.js";
|
|
32
35
|
import { MKResourceManager } from "../../../../components/business/resource-manager/index.js";
|
|
33
|
-
import "@maketribe/dm";
|
|
34
36
|
import { ResourceManager } from "../../../../components/business/resource-list/ResourceManager.js";
|
|
35
37
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
36
38
|
__name: "index",
|
|
@@ -38,10 +40,48 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
38
40
|
const resourceManager = reactive(
|
|
39
41
|
new ResourceManager({ baseURL: "/cms" })
|
|
40
42
|
);
|
|
43
|
+
const publishAssetsHandle = async () => {
|
|
44
|
+
const httpRequest = MSAppClient.instance.httpRequest;
|
|
45
|
+
try {
|
|
46
|
+
const isConfirm = await Dialoger.confirm({
|
|
47
|
+
title: "发布资源",
|
|
48
|
+
message: "是否发布资源?",
|
|
49
|
+
type: "warning"
|
|
50
|
+
});
|
|
51
|
+
if (!isConfirm) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
resourceManager.loadingManager.startLoading();
|
|
55
|
+
const response = await httpRequest.post(
|
|
56
|
+
`${resourceManager.baseURL}/content/publish/assets`
|
|
57
|
+
);
|
|
58
|
+
if (response.data.code !== 200) {
|
|
59
|
+
Messager.error({ message: response.data.msg });
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
Messager.success({ message: "发布成功" });
|
|
63
|
+
} finally {
|
|
64
|
+
resourceManager.loadingManager.completeLoading();
|
|
65
|
+
}
|
|
66
|
+
};
|
|
41
67
|
return (_ctx, _cache) => {
|
|
68
|
+
const _component_ElButton = resolveComponent("ElButton");
|
|
42
69
|
return openBlock(), createBlock(unref(MKPageContainer), null, {
|
|
43
70
|
default: withCtx(() => [
|
|
44
|
-
createVNode(unref(MKResourceManager), { resourceManager },
|
|
71
|
+
createVNode(unref(MKResourceManager), { resourceManager }, {
|
|
72
|
+
tools: withCtx(() => [
|
|
73
|
+
createVNode(_component_ElButton, {
|
|
74
|
+
type: "primary",
|
|
75
|
+
onClick: publishAssetsHandle
|
|
76
|
+
}, {
|
|
77
|
+
default: withCtx(() => [
|
|
78
|
+
createTextVNode("发布资产")
|
|
79
|
+
]),
|
|
80
|
+
_: 1
|
|
81
|
+
})
|
|
82
|
+
]),
|
|
83
|
+
_: 1
|
|
84
|
+
}, 8, ["resourceManager"])
|
|
45
85
|
]),
|
|
46
86
|
_: 1
|
|
47
87
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-resource/index.vue"],"sourcesContent":["<template>\n <MKPageContainer>\n <MKResourceManager :resourceManager=\"resourceManager\"
|
|
1
|
+
{"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-resource/index.vue"],"sourcesContent":["<template>\r\n <MKPageContainer>\r\n <MKResourceManager :resourceManager=\"resourceManager\">\r\n <template #tools>\r\n <ElButton type=\"primary\" @click=\"publishAssetsHandle\">发布资产</ElButton>\r\n </template>\r\n </MKResourceManager>\r\n </MKPageContainer>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { reactive } from \"vue\";\r\nimport { MSAppClient } from \"../../../../core\";\r\nimport { MKPageContainer } from \"../../../../components\";\r\nimport { MKResourceManager, ResourceManager } from \"../../../../components\";\r\nimport { Dialoger, Messager } from \"@maketribe/dm\";\r\n\r\nconst resourceManager = reactive(\r\n new ResourceManager({ baseURL: \"/cms\" })\r\n) as ResourceManager;\r\n\r\n// 资源发布\r\nconst publishAssetsHandle = async () => {\r\n const httpRequest = MSAppClient.instance!.httpRequest;\r\n\r\n try {\r\n const isConfirm = await Dialoger.confirm({\r\n title: \"发布资源\",\r\n message: \"是否发布资源?\",\r\n type: \"warning\",\r\n });\r\n\r\n if (!isConfirm) {\r\n return;\r\n }\r\n\r\n resourceManager.loadingManager.startLoading();\r\n\r\n const response = await httpRequest.post(\r\n `${resourceManager.baseURL}/content/publish/assets`\r\n );\r\n\r\n if (response.data.code !== 200) {\r\n Messager.error({ message: response.data.msg });\r\n return;\r\n }\r\n\r\n Messager.success({ message: \"发布成功\" });\r\n } finally {\r\n resourceManager.loadingManager.completeLoading();\r\n }\r\n}\r\n\r\n</script>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,UAAM,kBAAkB;AAAA,MACtB,IAAI,gBAAgB,EAAE,SAAS,QAAQ;AAAA,IAAA;AAIzC,UAAM,sBAAuB,YAAY;AACjC,YAAA,cAAc,YAAY,SAAU;AAEtC,UAAA;AACI,cAAA,YAAY,MAAM,SAAS,QAAQ;AAAA,UACvC,OAAO;AAAA,UACP,SAAS;AAAA,UACT,MAAM;AAAA,QAAA,CACP;AAED,YAAI,CAAC,WAAW;AACd;AAAA,QACF;AAEA,wBAAgB,eAAe;AAEzB,cAAA,WAAW,MAAM,YAAY;AAAA,UACjC,GAAG,gBAAgB,OAAO;AAAA,QAAA;AAGxB,YAAA,SAAS,KAAK,SAAS,KAAK;AAC9B,mBAAS,MAAM,EAAE,SAAS,SAAS,KAAK,KAAK;AAC7C;AAAA,QACF;AAEA,iBAAS,QAAQ,EAAE,SAAS,OAAQ,CAAA;AAAA,MAAA,UACpC;AACA,wBAAgB,eAAe;MACjC;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { defineComponent, computed, toRaw, resolveComponent, openBlock, createBlock, normalizeClass, withCtx, createElementVNode, createVNode, createTextVNode, createCommentVNode, unref, toDisplayString } from "vue";
|
|
2
2
|
import "@maketribe/dm";
|
|
3
3
|
import { MsMaterialTable } from "../../dataviews/ms-material/MsMaterialTable.js";
|
|
4
|
-
import "@maketribe/request";
|
|
5
4
|
const _hoisted_1 = { class: "mk-material-item__tools" };
|
|
6
5
|
const _hoisted_2 = { class: "mk-material-item__tools-item" };
|
|
7
6
|
const _hoisted_3 = { class: "mk-material-item__preview" };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material-item.vue.js","sources":["../../../../../../src/modules/ms/components/material-list/material-item.vue"],"sourcesContent":["<template>\n <ElCard\n :class=\"['mk-material-item', isSelected ? 'is-selected' : '']\"\n shadow=\"never\"\n @click.capture=\"handleClick\"\n >\n <div class=\"mk-material-item__tools\">\n <div class=\"mk-material-item__tools-item\">\n <ElDropdown>\n <MKSvgIcon iconClass=\"More\" />\n\n <template #dropdown>\n <ElDropdownItem\n v-if=\"currentMaterialTypeValue === 1\"\n @click=\"handleCutClick\"\n >\n 裁切\n </ElDropdownItem>\n <ElDropdownItem\n v-if=\"currentMaterialTypeValue === 2\"\n @click=\"handleDownloadClick\"\n >\n 下载\n </ElDropdownItem>\n <ElDropdownItem @click=\"handleMoveClick\">移动分组</ElDropdownItem>\n <ElDropdownItem @click=\"handleDeleteClick\">删除</ElDropdownItem>\n </template>\n </ElDropdown>\n </div>\n </div>\n\n <div class=\"mk-material-item__preview\">\n <MaterialComponent :src=\"material.path\" />\n </div>\n <div class=\"mk-material-item__title\">{{ material.desc }}</div>\n </ElCard>\n</template>\n\n<script setup lang=\"ts\">\nimport { MsMaterial, MsMaterialTable } from \"../../dataviews/ms-material\";\nimport { computed, toRaw } from \"vue\";\n\nconst props = defineProps({\n materialTable: { type: MsMaterialTable, required: true },\n material: { type: Object, required: true },\n});\n\nconst emit = defineEmits([\"click\", \"move\", \"cut\", \"download\"]);\n\nconst isSelected = computed(() =>\n props.materialTable.getSelection().includes(props.material.id)\n);\n\nconst currentMaterialTypeValue = computed(\n () => props.materialTable.currentMaterialType?.value ?? null\n);\n\nconst MaterialComponent = computed(() => {\n const component =\n props.materialTable.resolveMaterialComponent(\n props.material as MsMaterial\n ) || props.materialTable.materialComponents.resolveComponent(\"MKFileView\")!;\n\n return toRaw(component.component);\n});\n\nconst handleClick = (event: MouseEvent) => {\n emit(\"click\", event);\n};\n\nconst handleDeleteClick = () => {\n props.materialTable.deleteRecord(props.material);\n};\n\nconst handleMoveClick = () => {\n emit(\"move\", props.material);\n};\n\nconst handleCutClick = () => {\n emit(\"cut\", props.material);\n};\n\nconst handleDownloadClick = () => {\n emit(\"download\", props.material);\n};\n</script>\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"material-item.vue.js","sources":["../../../../../../src/modules/ms/components/material-list/material-item.vue"],"sourcesContent":["<template>\n <ElCard\n :class=\"['mk-material-item', isSelected ? 'is-selected' : '']\"\n shadow=\"never\"\n @click.capture=\"handleClick\"\n >\n <div class=\"mk-material-item__tools\">\n <div class=\"mk-material-item__tools-item\">\n <ElDropdown>\n <MKSvgIcon iconClass=\"More\" />\n\n <template #dropdown>\n <ElDropdownItem\n v-if=\"currentMaterialTypeValue === 1\"\n @click=\"handleCutClick\"\n >\n 裁切\n </ElDropdownItem>\n <ElDropdownItem\n v-if=\"currentMaterialTypeValue === 2\"\n @click=\"handleDownloadClick\"\n >\n 下载\n </ElDropdownItem>\n <ElDropdownItem @click=\"handleMoveClick\">移动分组</ElDropdownItem>\n <ElDropdownItem @click=\"handleDeleteClick\">删除</ElDropdownItem>\n </template>\n </ElDropdown>\n </div>\n </div>\n\n <div class=\"mk-material-item__preview\">\n <MaterialComponent :src=\"material.path\" />\n </div>\n <div class=\"mk-material-item__title\">{{ material.desc }}</div>\n </ElCard>\n</template>\n\n<script setup lang=\"ts\">\nimport { MsMaterial, MsMaterialTable } from \"../../dataviews/ms-material\";\nimport { computed, toRaw } from \"vue\";\n\nconst props = defineProps({\n materialTable: { type: MsMaterialTable, required: true },\n material: { type: Object, required: true },\n});\n\nconst emit = defineEmits([\"click\", \"move\", \"cut\", \"download\"]);\n\nconst isSelected = computed(() =>\n props.materialTable.getSelection().includes(props.material.id)\n);\n\nconst currentMaterialTypeValue = computed(\n () => props.materialTable.currentMaterialType?.value ?? null\n);\n\nconst MaterialComponent = computed(() => {\n const component =\n props.materialTable.resolveMaterialComponent(\n props.material as MsMaterial\n ) || props.materialTable.materialComponents.resolveComponent(\"MKFileView\")!;\n\n return toRaw(component.component);\n});\n\nconst handleClick = (event: MouseEvent) => {\n emit(\"click\", event);\n};\n\nconst handleDeleteClick = () => {\n props.materialTable.deleteRecord(props.material);\n};\n\nconst handleMoveClick = () => {\n emit(\"move\", props.material);\n};\n\nconst handleCutClick = () => {\n emit(\"cut\", props.material);\n};\n\nconst handleDownloadClick = () => {\n emit(\"download\", props.material);\n};\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AA0CA,UAAM,QAAQ;AAKd,UAAM,OAAO;AAEb,UAAM,aAAa;AAAA,MAAS,MAC1B,MAAM,cAAc,aAAA,EAAe,SAAS,MAAM,SAAS,EAAE;AAAA,IAAA;AAG/D,UAAM,2BAA2B;AAAA,MAC/B,MAAA;;AAAM,4BAAM,cAAc,wBAApB,mBAAyC,UAAS;AAAA;AAAA,IAAA;AAGpD,UAAA,oBAAoB,SAAS,MAAM;AACjC,YAAA,YACJ,MAAM,cAAc;AAAA,QAClB,MAAM;AAAA,MACH,KAAA,MAAM,cAAc,mBAAmB,iBAAiB,YAAY;AAEpE,aAAA,MAAM,UAAU,SAAS;AAAA,IAAA,CACjC;AAEK,UAAA,cAAc,CAAC,UAAsB;AACzC,WAAK,SAAS,KAAK;AAAA,IAAA;AAGrB,UAAM,oBAAoB,MAAM;AACxB,YAAA,cAAc,aAAa,MAAM,QAAQ;AAAA,IAAA;AAGjD,UAAM,kBAAkB,MAAM;AACvB,WAAA,QAAQ,MAAM,QAAQ;AAAA,IAAA;AAG7B,UAAM,iBAAiB,MAAM;AACtB,WAAA,OAAO,MAAM,QAAQ;AAAA,IAAA;AAG5B,UAAM,sBAAsB,MAAM;AAC3B,WAAA,YAAY,MAAM,QAAQ;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { buildProps } from "@maketribe/utils";
|
|
2
2
|
import "@maketribe/dm";
|
|
3
3
|
import { MsMaterialTable } from "../../dataviews/ms-material/MsMaterialTable.js";
|
|
4
|
-
import "@maketribe/request";
|
|
5
4
|
import "vue";
|
|
6
5
|
import "element-plus";
|
|
7
6
|
import "../../../../core/DataModelDefines.js";
|
|
8
7
|
import "vue-router";
|
|
8
|
+
import "@maketribe/request";
|
|
9
9
|
import "@maketribe/locale";
|
|
10
10
|
import "../../../../components/basic/svg-icon/index.js";
|
|
11
11
|
import "../../../../components/data-model/data-form/index.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material-list-options.js","sources":["../../../../../../src/modules/ms/components/material-list/material-list-options.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\nimport { buildProps } from \"@maketribe/utils\";\nimport { MsMaterial,
|
|
1
|
+
{"version":3,"file":"material-list-options.js","sources":["../../../../../../src/modules/ms/components/material-list/material-list-options.ts"],"sourcesContent":["import { ExtractPropTypes } from \"vue\";\nimport { buildProps } from \"@maketribe/utils\";\nimport { MsMaterial, MsMaterialTable } from \"../../dataviews\";\n\nexport const materialListProps = buildProps({\n materialTable: {\n type: MsMaterialTable,\n },\n selectable: {\n type: Boolean,\n default: false,\n },\n selectedPath: {\n type: String,\n },\n} as const);\n\nexport type MaterialListProps = ExtractPropTypes<typeof materialListProps>;\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIO,MAAM,oBAAoB,WAAW;AAAA,EAC1C,eAAe;AAAA,IACb,MAAM;AAAA,EACR;AAAA,EACA,YAAY;AAAA,IACV,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA,cAAc;AAAA,IACZ,MAAM;AAAA,EACR;AACF,CAAU;"}
|
|
@@ -2,11 +2,11 @@ import { reactive, createVNode, Fragment, createTextVNode } from "vue";
|
|
|
2
2
|
import { Dialoger } from "@maketribe/dm";
|
|
3
3
|
import { MKMaterialList } from "../material-list/index.js";
|
|
4
4
|
import { MsMaterialTable } from "../../dataviews/ms-material/MsMaterialTable.js";
|
|
5
|
-
import "@maketribe/request";
|
|
6
5
|
import "@maketribe/utils";
|
|
7
6
|
import { ElButton } from "element-plus";
|
|
8
7
|
import "../../../../core/DataModelDefines.js";
|
|
9
8
|
import "vue-router";
|
|
9
|
+
import "@maketribe/request";
|
|
10
10
|
import "@maketribe/locale";
|
|
11
11
|
import "../../../../components/basic/svg-icon/index.js";
|
|
12
12
|
import "../../../../components/data-model/data-form/index.js";
|
|
@@ -6,6 +6,7 @@ import { DataTree, TableColumn, TableActionColumn } from "@maketribe/dm";
|
|
|
6
6
|
import { DATA_MODEL_NAME } from "../../../../constants/data-model.js";
|
|
7
7
|
import { MenuType } from "../../../../constants/menu.js";
|
|
8
8
|
import { MODULE_NAME } from "../../constants/index.js";
|
|
9
|
+
import { MSAppClient } from "../../../../core/MSAppClient.js";
|
|
9
10
|
const _MsMenuTree = class _MsMenuTree extends (_b = DataTree, _a = DATA_MODEL_NAME, _b) {
|
|
10
11
|
constructor(options = {}) {
|
|
11
12
|
super({
|
|
@@ -38,6 +39,23 @@ const _MsMenuTree = class _MsMenuTree extends (_b = DataTree, _a = DATA_MODEL_NA
|
|
|
38
39
|
formatItem(item) {
|
|
39
40
|
item.type += "";
|
|
40
41
|
item.children = item.children || [];
|
|
42
|
+
item.targetUrl = "";
|
|
43
|
+
if (!item.targetUrl) {
|
|
44
|
+
const route = item.routes.find((route2) => route2.id === item.routeId);
|
|
45
|
+
item.targetUrl = (route == null ? void 0 : route.route) || "";
|
|
46
|
+
if (!item.targetUrl && route) {
|
|
47
|
+
const pageRoute = MSAppClient.instance.pageManager.extendsPages.find(
|
|
48
|
+
(item2) => item2.name === route.name
|
|
49
|
+
);
|
|
50
|
+
item.targetUrl = (pageRoute == null ? void 0 : pageRoute.path) ?? "";
|
|
51
|
+
}
|
|
52
|
+
if (!item.targetUrl && route) {
|
|
53
|
+
const match = route.name.match(/^dv\/([^/]+)\/(edit|.+)$/i);
|
|
54
|
+
if (match) {
|
|
55
|
+
item.targetUrl = match[2] === "edit" ? `/dv/${match[1]}/edit` : `/dv/${match[1]}`;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
41
59
|
return item;
|
|
42
60
|
}
|
|
43
61
|
nodeHasChildren(node) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MsMenuTree.js","sources":["../../../../../../src/modules/ms/dataviews/ms-menu/MsMenuTree.ts"],"sourcesContent":["import {\n DataTableOptions,\n DataTree,\n DataTreeNode,\n TableActionColumn,\n TableColumn,\n} from \"@maketribe/dm\";\nimport type { MsMenuItem } from \"./MsMenuForm\";\nimport { DATA_MODEL_NAME, MenuType } from \"../../../../constants\";\nimport { MODULE_NAME } from \"../../constants\";\n\nexport type MsMenuItemNode = MsMenuItem & {
|
|
1
|
+
{"version":3,"file":"MsMenuTree.js","sources":["../../../../../../src/modules/ms/dataviews/ms-menu/MsMenuTree.ts"],"sourcesContent":["import {\n DataTableOptions,\n DataTree,\n DataTreeNode,\n TableActionColumn,\n TableColumn,\n} from \"@maketribe/dm\";\nimport type { MsMenuItem } from \"./MsMenuForm\";\nimport { DATA_MODEL_NAME, MenuType } from \"../../../../constants\";\nimport { MODULE_NAME } from \"../../constants\";\nimport { MSAppClient } from \"../../../../core/MSAppClient\";\n\nexport type MsMenuItemNode = MsMenuItem & {\n children: MsMenuItemNode[];\n targetUrl: string;\n};\n\nexport class MsMenuTree extends DataTree<MsMenuItemNode> {\n static [DATA_MODEL_NAME]: string = \"ms-menu\";\n\n constructor(options: Omit<DataTableOptions, \"name\"> = {}) {\n super({\n name: MsMenuTree[DATA_MODEL_NAME],\n moduleName: MODULE_NAME,\n sortFieldName: \"sort\",\n ...options,\n });\n }\n\n protected async initialize() {\n await super.initialize();\n\n this.setColumns([\n new TableColumn({ name: \"data.title\", label: \"菜单描述\", align: \"left\" }),\n new TableColumn({\n name: \"data.type\",\n width: \"100px\",\n label: \"菜单类型\",\n componentInfo: \"MKColumnObjectMappingText\",\n componentProps: {\n mapping: {\n [MenuType.Container]: \"菜单组\",\n [MenuType.Menu]: \"菜单\",\n [MenuType.SystemSettings]: \"系统设置\",\n },\n },\n }),\n new TableActionColumn(),\n ]);\n }\n\n formatItem(item: MsMenuItemNode): MsMenuItemNode {\n item.type += \"\";\n item.children = item.children || [];\n\n item.targetUrl = \"\";\n\n if (!item.targetUrl) {\n const route = item.routes.find((route) => route.id === item.routeId);\n item.targetUrl = route?.route || \"\";\n\n if (!item.targetUrl && route) {\n const pageRoute = MSAppClient.instance!.pageManager.extendsPages.find(\n (item) => item.name === route.name\n );\n\n item.targetUrl = pageRoute?.path ?? \"\";\n }\n\n if (!item.targetUrl && route) {\n const match = route.name.match(/^dv\\/([^/]+)\\/(edit|.+)$/i);\n\n if (match) {\n item.targetUrl =\n match[2] === \"edit\" ? `/dv/${match[1]}/edit` : `/dv/${match[1]}`;\n }\n }\n }\n\n return item;\n }\n\n public nodeHasChildren(node: DataTreeNode<MsMenuItemNode>): boolean {\n return ([MenuType.Container, MenuType.SystemSettings] as string[]).includes(\n node.data?.type as string\n );\n }\n\n async load(params?: Record<string, any>) {\n return super.loadAll(params);\n }\n}\n"],"names":["route","item","_a"],"mappings":";;;;;;;;;AAiBO,MAAM,cAAN,MAAM,qBAAmB,eACtB,sBADsB,IAAyB;AAAA,EAGvD,YAAY,UAA0C,IAAI;AAClD,UAAA;AAAA,MACJ,MAAM,YAAW,eAAe;AAAA,MAChC,YAAY;AAAA,MACZ,eAAe;AAAA,MACf,GAAG;AAAA,IAAA,CACJ;AAAA,EACH;AAAA,EAEA,MAAgB,aAAa;AAC3B,UAAM,MAAM;AAEZ,SAAK,WAAW;AAAA,MACd,IAAI,YAAY,EAAE,MAAM,cAAc,OAAO,QAAQ,OAAO,QAAQ;AAAA,MACpE,IAAI,YAAY;AAAA,QACd,MAAM;AAAA,QACN,OAAO;AAAA,QACP,OAAO;AAAA,QACP,eAAe;AAAA,QACf,gBAAgB;AAAA,UACd,SAAS;AAAA,YACP,CAAC,SAAS,SAAS,GAAG;AAAA,YACtB,CAAC,SAAS,IAAI,GAAG;AAAA,YACjB,CAAC,SAAS,cAAc,GAAG;AAAA,UAC7B;AAAA,QACF;AAAA,MAAA,CACD;AAAA,MACD,IAAI,kBAAkB;AAAA,IAAA,CACvB;AAAA,EACH;AAAA,EAEA,WAAW,MAAsC;AAC/C,SAAK,QAAQ;AACR,SAAA,WAAW,KAAK,YAAY,CAAA;AAEjC,SAAK,YAAY;AAEb,QAAA,CAAC,KAAK,WAAW;AACb,YAAA,QAAQ,KAAK,OAAO,KAAK,CAACA,WAAUA,OAAM,OAAO,KAAK,OAAO;AAC9D,WAAA,aAAY,+BAAO,UAAS;AAE7B,UAAA,CAAC,KAAK,aAAa,OAAO;AAC5B,cAAM,YAAY,YAAY,SAAU,YAAY,aAAa;AAAA,UAC/D,CAACC,UAASA,MAAK,SAAS,MAAM;AAAA,QAAA;AAG3B,aAAA,aAAY,uCAAW,SAAQ;AAAA,MACtC;AAEI,UAAA,CAAC,KAAK,aAAa,OAAO;AAC5B,cAAM,QAAQ,MAAM,KAAK,MAAM,2BAA2B;AAE1D,YAAI,OAAO;AACT,eAAK,YACH,MAAM,CAAC,MAAM,SAAS,OAAO,MAAM,CAAC,CAAC,UAAU,OAAO,MAAM,CAAC,CAAC;AAAA,QAClE;AAAA,MACF;AAAA,IACF;AAEO,WAAA;AAAA,EACT;AAAA,EAEO,gBAAgB,MAA6C;;AAClE,WAAQ,CAAC,SAAS,WAAW,SAAS,cAAc,EAAe;AAAA,OACjEC,MAAA,KAAK,SAAL,gBAAAA,IAAW;AAAA,IAAA;AAAA,EAEf;AAAA,EAEA,MAAM,KAAK,QAA8B;AAChC,WAAA,MAAM,QAAQ,MAAM;AAAA,EAC7B;AACF;AAzEE,cADW,aACH,IAA2B;AAD9B,IAAM,aAAN;"}
|
|
@@ -6,9 +6,12 @@ import "@maketribe/dm";
|
|
|
6
6
|
import { MsMenuTable } from "../ms-menu/MsMenuTable.js";
|
|
7
7
|
import { MsRouteTable } from "../ms-menu/ms-route/MsRouteTable.js";
|
|
8
8
|
import { MsPermissionPointDefineTable } from "../ms-menu/ms-permission-point/MsPermissionPointDefineTable.js";
|
|
9
|
+
import "vue-router";
|
|
10
|
+
import "@maketribe/locale";
|
|
11
|
+
import { postTraverse } from "@maketribe/utils";
|
|
12
|
+
import "../../../../core/DataModelDefines.js";
|
|
9
13
|
import { MsRoleRouteTable } from "./ms-role-route/MsRoleRouteTable.js";
|
|
10
14
|
import { MsRolePermissionPointTable } from "./ms-role-permission-point/MsRolePermissionPointTable.js";
|
|
11
|
-
import { postTraverse } from "@maketribe/utils";
|
|
12
15
|
class RolePermissionConfigTable extends MsMenuTable {
|
|
13
16
|
constructor(options = {}) {
|
|
14
17
|
super({ ...options });
|