@maketribe/ms-app 3.2.5 → 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/LexicalAutoLinkPlugin/index.vue.js +2 -37
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue2.js +37 -2
- package/dist/cjs/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue2.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/AutoLinkPlugin.vue.js +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/ImageEditPanel.js +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.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.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/tree/tree.js +14 -2
- package/dist/cjs/components/data-model/data-table/views/tree/tree.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 +47 -6
- 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/LexicalAutoLinkPlugin/index.vue.js +1 -36
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue2.js +36 -1
- package/dist/esm/components/basic/doc-editor/lexical-vue/components/LexicalAutoLinkPlugin/index.vue2.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/AutoLinkPlugin.vue.js +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/ImageEditPanel.js +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageEditPanel.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.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/tree/tree.js +15 -3
- package/dist/esm/components/data-model/data-table/views/tree/tree.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 +48 -7
- 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 -64
- 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/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 +2 -2
- 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 -130
- 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 -130
- 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
|
@@ -52,6 +52,7 @@ require("../../../ms/material-upload-context/material-upload-context.js");
|
|
|
52
52
|
require("@codemirror/lang-html");
|
|
53
53
|
const CmsPartTypesTable = require("../../dataviews/cms-part-types/CmsPartTypesTable.js");
|
|
54
54
|
const CmsPartForm = require("../../dataviews/cms-parts/CmsPartForm.js");
|
|
55
|
+
const CmsContentManPartForm = require("../../dataviews/cms-parts/CmsContentManPartForm.js");
|
|
55
56
|
const vueRouter = require("vue-router");
|
|
56
57
|
const _hoisted_1 = { class: "mk-cms-contents__warp" };
|
|
57
58
|
const _hoisted_2 = { style: { "color": "var(--el-text-color-regular)", "margin-left": "10px" } };
|
|
@@ -69,6 +70,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
69
70
|
__name: "index",
|
|
70
71
|
setup(__props) {
|
|
71
72
|
const route = vueRouter.useRoute();
|
|
73
|
+
const router = vueRouter.useRouter();
|
|
72
74
|
const previewHandle = (isList = false) => {
|
|
73
75
|
if (isList) {
|
|
74
76
|
window.open(`/api/cms/content/preview/part/${curSelectPartItem.value.id}?pageNo=1`);
|
|
@@ -88,10 +90,16 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
88
90
|
const activeTabName = vue.ref("article-list");
|
|
89
91
|
const curSelectPartItem = vue.ref(null);
|
|
90
92
|
const partTreeRef = vue.ref(null);
|
|
91
|
-
const partDataForm = vue.reactive(new
|
|
93
|
+
const partDataForm = vue.reactive(new CmsContentManPartForm.CmsContentManPartForm());
|
|
94
|
+
vue.onMounted(() => {
|
|
95
|
+
partDataForm.init();
|
|
96
|
+
});
|
|
92
97
|
const selectPartHandle = (item) => {
|
|
93
|
-
curSelectPartItem.value
|
|
94
|
-
|
|
98
|
+
if (curSelectPartItem.value != item) {
|
|
99
|
+
curSelectPartItem.value = item;
|
|
100
|
+
partDataForm.editRecord(curSelectPartItem.value.id);
|
|
101
|
+
router.replace({ name: "cms/contents", query: { pid: curSelectPartItem.value.id } });
|
|
102
|
+
}
|
|
95
103
|
};
|
|
96
104
|
const deletePartHandle = (item) => {
|
|
97
105
|
if (item.id == curSelectPartItem.value.id) {
|
|
@@ -102,9 +110,6 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
102
110
|
curSelectPartItem.value = item;
|
|
103
111
|
activeTabName.value = "part";
|
|
104
112
|
};
|
|
105
|
-
if (!!route.query.partId) {
|
|
106
|
-
curSelectPartItem.value = { id: route.query.partId };
|
|
107
|
-
}
|
|
108
113
|
const partForm = vue.reactive(
|
|
109
114
|
new class extends CmsPartForm.CmsPartForm {
|
|
110
115
|
async initialize() {
|
|
@@ -141,9 +146,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
141
146
|
dataForm: partForm
|
|
142
147
|
});
|
|
143
148
|
if (item.id) {
|
|
144
|
-
partForm.addRecord({
|
|
145
|
-
parentId: item.id
|
|
146
|
-
});
|
|
149
|
+
partForm.addRecord({ parentId: item.id });
|
|
147
150
|
}
|
|
148
151
|
};
|
|
149
152
|
partForm.submittedEvent.on(() => {
|
|
@@ -155,7 +158,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
155
158
|
var _a;
|
|
156
159
|
const httpRequest = (_a = MSAppClient.MSAppClient.instance) == null ? void 0 : _a.httpRequest;
|
|
157
160
|
try {
|
|
158
|
-
const isConfirm = await dm.Dialoger.confirm({ title: "全量发布", message: "
|
|
161
|
+
const isConfirm = await dm.Dialoger.confirm({ title: "全量发布", message: "是否整站全量发布?", type: "warning" });
|
|
159
162
|
if (!isConfirm) {
|
|
160
163
|
return;
|
|
161
164
|
}
|
|
@@ -207,6 +210,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
207
210
|
return (_ctx, _cache) => {
|
|
208
211
|
const _component_MKSvgIcon = vue.resolveComponent("MKSvgIcon");
|
|
209
212
|
const _component_el_button = vue.resolveComponent("el-button");
|
|
213
|
+
const _component_el_button_group = vue.resolveComponent("el-button-group");
|
|
210
214
|
const _component_el_page_header = vue.resolveComponent("el-page-header");
|
|
211
215
|
const _component_el_dropdown_item = vue.resolveComponent("el-dropdown-item");
|
|
212
216
|
const _component_el_dropdown_menu = vue.resolveComponent("el-dropdown-menu");
|
|
@@ -224,7 +228,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
224
228
|
title: vue.withCtx(() => [
|
|
225
229
|
vue.createElementVNode("h3", _hoisted_2, [
|
|
226
230
|
vue.createVNode(_component_MKSvgIcon, {
|
|
227
|
-
iconClass: "
|
|
231
|
+
iconClass: "richtext-outline",
|
|
228
232
|
style: { "margin-right": "5px" }
|
|
229
233
|
}),
|
|
230
234
|
vue.createTextVNode(" 内容管理 ")
|
|
@@ -232,32 +236,37 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
232
236
|
]),
|
|
233
237
|
extra: vue.withCtx(() => [
|
|
234
238
|
vue.createElementVNode("div", _hoisted_3, [
|
|
235
|
-
vue.createVNode(
|
|
236
|
-
type: "primary",
|
|
237
|
-
size: "large",
|
|
238
|
-
text: "",
|
|
239
|
-
onClick: publishAllHandle
|
|
240
|
-
}, {
|
|
239
|
+
vue.createVNode(_component_el_button_group, null, {
|
|
241
240
|
default: vue.withCtx(() => [
|
|
242
|
-
vue.
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
vue.
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
241
|
+
vue.createVNode(_component_el_button, {
|
|
242
|
+
type: "primary",
|
|
243
|
+
size: "large",
|
|
244
|
+
text: "",
|
|
245
|
+
onClick: publishAllHandle
|
|
246
|
+
}, {
|
|
247
|
+
default: vue.withCtx(() => [
|
|
248
|
+
vue.createVNode(_component_MKSvgIcon, {
|
|
249
|
+
iconClass: "Promotion",
|
|
250
|
+
style: { "margin-right": "10px" }
|
|
251
|
+
}),
|
|
252
|
+
vue.createTextVNode(" 整站发布 ")
|
|
253
|
+
]),
|
|
254
|
+
_: 1
|
|
255
|
+
}),
|
|
256
|
+
vue.createVNode(_component_el_button, {
|
|
257
|
+
type: "primary",
|
|
258
|
+
size: "large",
|
|
259
|
+
text: "",
|
|
260
|
+
onClick: showPartFormHandle
|
|
261
|
+
}, {
|
|
262
|
+
default: vue.withCtx(() => [
|
|
263
|
+
vue.createVNode(_component_MKSvgIcon, {
|
|
264
|
+
iconClass: "Plus",
|
|
265
|
+
style: { "margin-right": "10px" }
|
|
266
|
+
}),
|
|
267
|
+
vue.createTextVNode(" 新增栏目 ")
|
|
268
|
+
]),
|
|
269
|
+
_: 1
|
|
261
270
|
})
|
|
262
271
|
]),
|
|
263
272
|
_: 1
|
|
@@ -274,8 +283,9 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
274
283
|
onAdd: showPartFormHandle,
|
|
275
284
|
onDeleteSuccessfully: deletePartHandle,
|
|
276
285
|
ref_key: "partTreeRef",
|
|
277
|
-
ref: partTreeRef
|
|
278
|
-
|
|
286
|
+
ref: partTreeRef,
|
|
287
|
+
curSelectId: vue.unref(route).query.pid
|
|
288
|
+
}, null, 8, ["curSelectId"]),
|
|
279
289
|
curSelectPartItem.value ? (vue.openBlock(), vue.createBlock(_component_el_tabs, {
|
|
280
290
|
key: 0,
|
|
281
291
|
modelValue: activeTabName.value,
|
|
@@ -284,84 +294,82 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
284
294
|
}, {
|
|
285
295
|
default: vue.withCtx(() => [
|
|
286
296
|
vue.createElementVNode("div", _hoisted_5, [
|
|
297
|
+
activeTabName.value != "article-list" ? (vue.openBlock(), vue.createBlock(_component_el_button, {
|
|
298
|
+
key: 0,
|
|
299
|
+
type: "primary",
|
|
300
|
+
text: "",
|
|
301
|
+
onClick: _cache[0] || (_cache[0] = ($event) => savePartHandle()),
|
|
302
|
+
disabled: !(partDataForm == null ? void 0 : partDataForm.isChanged)
|
|
303
|
+
}, {
|
|
304
|
+
default: vue.withCtx(() => [
|
|
305
|
+
vue.createVNode(_component_MKSvgIcon, {
|
|
306
|
+
iconClass: "save",
|
|
307
|
+
style: { "margin-right": "5px" }
|
|
308
|
+
}),
|
|
309
|
+
vue.createTextVNode(" 栏目保存 ")
|
|
310
|
+
]),
|
|
311
|
+
_: 1
|
|
312
|
+
}, 8, ["disabled"])) : vue.createCommentVNode("", true),
|
|
287
313
|
vue.createVNode(_component_el_dropdown, null, {
|
|
288
314
|
dropdown: vue.withCtx(() => [
|
|
289
315
|
curSelectPartItem.value.coverTemplate ? (vue.openBlock(), vue.createBlock(_component_el_dropdown_menu, { key: 0 }, {
|
|
290
316
|
default: vue.withCtx(() => [
|
|
291
317
|
vue.createVNode(_component_el_dropdown_item, {
|
|
292
|
-
onClick: _cache[
|
|
318
|
+
onClick: _cache[1] || (_cache[1] = ($event) => previewHandle())
|
|
293
319
|
}, {
|
|
294
320
|
default: vue.withCtx(() => [
|
|
321
|
+
vue.createVNode(_component_MKSvgIcon, {
|
|
322
|
+
iconClass: "View",
|
|
323
|
+
style: { "margin-left": "10px" }
|
|
324
|
+
}),
|
|
295
325
|
vue.createTextVNode(" 预览封面 ")
|
|
296
326
|
]),
|
|
297
327
|
_: 1
|
|
298
328
|
}),
|
|
299
329
|
curSelectPartItem.value.listTemplate ? (vue.openBlock(), vue.createBlock(_component_el_dropdown_item, {
|
|
300
330
|
key: 0,
|
|
301
|
-
onClick: _cache[
|
|
331
|
+
onClick: _cache[2] || (_cache[2] = ($event) => previewHandle(true))
|
|
302
332
|
}, {
|
|
303
333
|
default: vue.withCtx(() => [
|
|
334
|
+
vue.createVNode(_component_MKSvgIcon, {
|
|
335
|
+
iconClass: "View",
|
|
336
|
+
style: { "margin-left": "10px" }
|
|
337
|
+
}),
|
|
304
338
|
vue.createTextVNode(" 预览列表 ")
|
|
305
339
|
]),
|
|
306
340
|
_: 1
|
|
307
|
-
})) : vue.createCommentVNode("", true)
|
|
341
|
+
})) : vue.createCommentVNode("", true),
|
|
342
|
+
vue.createVNode(_component_el_dropdown_item, {
|
|
343
|
+
onClick: _cache[3] || (_cache[3] = ($event) => showPublish.value = true)
|
|
344
|
+
}, {
|
|
345
|
+
default: vue.withCtx(() => [
|
|
346
|
+
vue.createVNode(_component_MKSvgIcon, {
|
|
347
|
+
iconClass: "Promotion",
|
|
348
|
+
style: { "margin-left": "10px" }
|
|
349
|
+
}),
|
|
350
|
+
vue.createTextVNode(" 发布当前栏目 ")
|
|
351
|
+
]),
|
|
352
|
+
_: 1
|
|
353
|
+
})
|
|
308
354
|
]),
|
|
309
355
|
_: 1
|
|
310
356
|
})) : vue.createCommentVNode("", true)
|
|
311
357
|
]),
|
|
312
358
|
default: vue.withCtx(() => [
|
|
313
359
|
vue.createElementVNode("span", _hoisted_6, [
|
|
314
|
-
|
|
315
|
-
key: 0,
|
|
360
|
+
vue.createVNode(_component_el_button, {
|
|
316
361
|
type: "primary",
|
|
317
|
-
size: "large",
|
|
318
362
|
text: ""
|
|
319
363
|
}, {
|
|
320
364
|
default: vue.withCtx(() => [
|
|
321
|
-
vue.
|
|
322
|
-
vue.createVNode(_component_MKSvgIcon, {
|
|
323
|
-
iconClass: "View",
|
|
324
|
-
style: { "margin-left": "10px" }
|
|
325
|
-
})
|
|
365
|
+
vue.createVNode(_component_MKSvgIcon, { iconClass: "MoreFilled" })
|
|
326
366
|
]),
|
|
327
367
|
_: 1
|
|
328
|
-
})
|
|
368
|
+
})
|
|
329
369
|
])
|
|
330
370
|
]),
|
|
331
371
|
_: 1
|
|
332
|
-
})
|
|
333
|
-
vue.createVNode(_component_el_button, {
|
|
334
|
-
type: "primary",
|
|
335
|
-
size: "large",
|
|
336
|
-
text: "",
|
|
337
|
-
onClick: _cache[2] || (_cache[2] = ($event) => showPublish.value = true)
|
|
338
|
-
}, {
|
|
339
|
-
default: vue.withCtx(() => [
|
|
340
|
-
vue.createTextVNode(" 栏目发布 "),
|
|
341
|
-
vue.createVNode(_component_MKSvgIcon, {
|
|
342
|
-
iconClass: "Promotion",
|
|
343
|
-
style: { "margin-left": "10px" }
|
|
344
|
-
})
|
|
345
|
-
]),
|
|
346
|
-
_: 1
|
|
347
|
-
}),
|
|
348
|
-
activeTabName.value != "article-list" ? (vue.openBlock(), vue.createBlock(_component_el_button, {
|
|
349
|
-
key: 0,
|
|
350
|
-
type: "primary",
|
|
351
|
-
size: "large",
|
|
352
|
-
text: "",
|
|
353
|
-
onClick: _cache[3] || (_cache[3] = ($event) => savePartHandle()),
|
|
354
|
-
disabled: !(partDataForm == null ? void 0 : partDataForm.isChanged)
|
|
355
|
-
}, {
|
|
356
|
-
default: vue.withCtx(() => [
|
|
357
|
-
vue.createTextVNode(" 栏目保存 "),
|
|
358
|
-
vue.createVNode(_component_MKSvgIcon, {
|
|
359
|
-
iconClass: "save",
|
|
360
|
-
style: { "margin-left": "10px" }
|
|
361
|
-
})
|
|
362
|
-
]),
|
|
363
|
-
_: 1
|
|
364
|
-
}, 8, ["disabled"])) : vue.createCommentVNode("", true)
|
|
372
|
+
})
|
|
365
373
|
]),
|
|
366
374
|
vue.createVNode(_component_el_tab_pane, {
|
|
367
375
|
label: "文章列表",
|
|
@@ -375,7 +383,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
375
383
|
]),
|
|
376
384
|
_: 1
|
|
377
385
|
}),
|
|
378
|
-
vue.
|
|
386
|
+
vue.withDirectives((vue.openBlock(), vue.createBlock(_component_el_tab_pane, {
|
|
379
387
|
label: "栏目信息",
|
|
380
388
|
name: "part"
|
|
381
389
|
}, {
|
|
@@ -388,8 +396,10 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
388
396
|
}, null, 8, ["part", "partDataForm"])) : vue.createCommentVNode("", true)
|
|
389
397
|
]),
|
|
390
398
|
_: 1
|
|
391
|
-
}),
|
|
392
|
-
|
|
399
|
+
})), [
|
|
400
|
+
[_directive_loading, partDataForm.loading]
|
|
401
|
+
]),
|
|
402
|
+
curSelectPartItem.value.cmsPartTypeId != 1 ? vue.withDirectives((vue.openBlock(), vue.createBlock(_component_el_tab_pane, {
|
|
393
403
|
key: 0,
|
|
394
404
|
label: "栏目内容",
|
|
395
405
|
name: "part-content",
|
|
@@ -407,7 +417,9 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
407
417
|
];
|
|
408
418
|
}),
|
|
409
419
|
_: 1
|
|
410
|
-
}))
|
|
420
|
+
})), [
|
|
421
|
+
[_directive_loading, partDataForm.loading]
|
|
422
|
+
]) : vue.createCommentVNode("", true)
|
|
411
423
|
]),
|
|
412
424
|
_: 1
|
|
413
425
|
}, 8, ["modelValue"])) : (vue.openBlock(), vue.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":["useRoute","ref","reactive","CmsPartForm","FormColumn","CmsPartTypesTable","Dialoger","MSAppClient","Messager"],"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":["useRoute","useRouter","ref","reactive","CmsContentManPartForm","onMounted","CmsPartForm","FormColumn","CmsPartTypesTable","Dialoger","MSAppClient","Messager"],"mappings":"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"}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const vue = require("vue");
|
|
3
|
+
const dm = require("@maketribe/dm");
|
|
4
|
+
require("element-plus");
|
|
5
|
+
require("@maketribe/utils");
|
|
6
|
+
require("../../../../core/DataModelDefines.js");
|
|
7
|
+
const MSAppClient = require("../../../../core/MSAppClient.js");
|
|
8
|
+
require("@maketribe/request");
|
|
3
9
|
require("../../../../components/abstract/abstract-select/abstract-select.js");
|
|
4
10
|
require("../../../../components/abstract/abstract-select/abstract-select-options.js");
|
|
5
|
-
require("element-plus");
|
|
6
11
|
require("../../../../components/basic/svg-icon/index.js");
|
|
7
12
|
require("../../../../components/basic/button/button-options.js");
|
|
8
13
|
require("../../../../components/basic/config-provider/index.js");
|
|
@@ -16,8 +21,6 @@ const index = require("../../../../components/basic/page-container/index.js");
|
|
|
16
21
|
require("../../../../components/basic/date-picker/index.js");
|
|
17
22
|
require("../../../../components/basic/icon-select/index.js");
|
|
18
23
|
require("../../../../components/basic/upload-file/upload-file.js");
|
|
19
|
-
require("@maketribe/request");
|
|
20
|
-
require("@maketribe/utils");
|
|
21
24
|
require("../../../../components/basic/upload-file/context/web-file-upload-context.js");
|
|
22
25
|
require("../../../../components/basic/upload-file/context/web-file-upload-context-options.js");
|
|
23
26
|
require("../../../../components/basic/upload-file/ui/upload-image/index.js");
|
|
@@ -31,7 +34,6 @@ require("../../../../components/data-model/data-table-pagination/index.js");
|
|
|
31
34
|
require("../../../../components/business/verify-dialog/index.js");
|
|
32
35
|
require("../../../../components/business/resource-list/index.js");
|
|
33
36
|
const index$1 = require("../../../../components/business/resource-manager/index.js");
|
|
34
|
-
require("@maketribe/dm");
|
|
35
37
|
const ResourceManager = require("../../../../components/business/resource-list/ResourceManager.js");
|
|
36
38
|
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
37
39
|
__name: "index",
|
|
@@ -39,10 +41,48 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
|
|
|
39
41
|
const resourceManager = vue.reactive(
|
|
40
42
|
new ResourceManager.ResourceManager({ baseURL: "/cms" })
|
|
41
43
|
);
|
|
44
|
+
const publishAssetsHandle = async () => {
|
|
45
|
+
const httpRequest = MSAppClient.MSAppClient.instance.httpRequest;
|
|
46
|
+
try {
|
|
47
|
+
const isConfirm = await dm.Dialoger.confirm({
|
|
48
|
+
title: "发布资源",
|
|
49
|
+
message: "是否发布资源?",
|
|
50
|
+
type: "warning"
|
|
51
|
+
});
|
|
52
|
+
if (!isConfirm) {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
resourceManager.loadingManager.startLoading();
|
|
56
|
+
const response = await httpRequest.post(
|
|
57
|
+
`${resourceManager.baseURL}/content/publish/assets`
|
|
58
|
+
);
|
|
59
|
+
if (response.data.code !== 200) {
|
|
60
|
+
dm.Messager.error({ message: response.data.msg });
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
dm.Messager.success({ message: "发布成功" });
|
|
64
|
+
} finally {
|
|
65
|
+
resourceManager.loadingManager.completeLoading();
|
|
66
|
+
}
|
|
67
|
+
};
|
|
42
68
|
return (_ctx, _cache) => {
|
|
69
|
+
const _component_ElButton = vue.resolveComponent("ElButton");
|
|
43
70
|
return vue.openBlock(), vue.createBlock(vue.unref(index.MKPageContainer), null, {
|
|
44
71
|
default: vue.withCtx(() => [
|
|
45
|
-
vue.createVNode(vue.unref(index$1.MKResourceManager), { resourceManager },
|
|
72
|
+
vue.createVNode(vue.unref(index$1.MKResourceManager), { resourceManager }, {
|
|
73
|
+
tools: vue.withCtx(() => [
|
|
74
|
+
vue.createVNode(_component_ElButton, {
|
|
75
|
+
type: "primary",
|
|
76
|
+
onClick: publishAssetsHandle
|
|
77
|
+
}, {
|
|
78
|
+
default: vue.withCtx(() => [
|
|
79
|
+
vue.createTextVNode("发布资产")
|
|
80
|
+
]),
|
|
81
|
+
_: 1
|
|
82
|
+
})
|
|
83
|
+
]),
|
|
84
|
+
_: 1
|
|
85
|
+
}, 8, ["resourceManager"])
|
|
46
86
|
]),
|
|
47
87
|
_: 1
|
|
48
88
|
});
|
|
@@ -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":["reactive","ResourceManager","MSAppClient","Dialoger","Messager"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA,UAAM,kBAAkBA,IAAA;AAAA,MACtB,IAAIC,gCAAgB,EAAE,SAAS,QAAQ;AAAA,IAAA;AAIzC,UAAM,sBAAuB,YAAY;AACjC,YAAA,cAAcC,YAAAA,YAAY,SAAU;AAEtC,UAAA;AACI,cAAA,YAAY,MAAMC,GAAA,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;AAC9BC,aAAA,SAAS,MAAM,EAAE,SAAS,SAAS,KAAK,KAAK;AAC7C;AAAA,QACF;AAEAA,WAAAA,SAAS,QAAQ,EAAE,SAAS,OAAQ,CAAA;AAAA,MAAA,UACpC;AACA,wBAAgB,eAAe;MACjC;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
const vue = require("vue");
|
|
3
3
|
require("@maketribe/dm");
|
|
4
4
|
const MsMaterialTable = require("../../dataviews/ms-material/MsMaterialTable.js");
|
|
5
|
-
require("@maketribe/request");
|
|
6
5
|
const _hoisted_1 = { class: "mk-material-item__tools" };
|
|
7
6
|
const _hoisted_2 = { class: "mk-material-item__tools-item" };
|
|
8
7
|
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":["computed","toRaw"],"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":["computed","toRaw"],"mappings":";;;;;;;;;;;;;;;;AA0CA,UAAM,QAAQ;AAKd,UAAM,OAAO;AAEb,UAAM,aAAaA,IAAA;AAAA,MAAS,MAC1B,MAAM,cAAc,aAAA,EAAe,SAAS,MAAM,SAAS,EAAE;AAAA,IAAA;AAG/D,UAAM,2BAA2BA,IAAA;AAAA,MAC/B,MAAA;;AAAM,4BAAM,cAAc,wBAApB,mBAAyC,UAAS;AAAA;AAAA,IAAA;AAGpD,UAAA,oBAAoBA,IAAAA,SAAS,MAAM;AACjC,YAAA,YACJ,MAAM,cAAc;AAAA,QAClB,MAAM;AAAA,MACH,KAAA,MAAM,cAAc,mBAAmB,iBAAiB,YAAY;AAEpE,aAAAC,IAAA,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -3,11 +3,11 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
3
3
|
const utils = require("@maketribe/utils");
|
|
4
4
|
require("@maketribe/dm");
|
|
5
5
|
const MsMaterialTable = require("../../dataviews/ms-material/MsMaterialTable.js");
|
|
6
|
-
require("@maketribe/request");
|
|
7
6
|
require("vue");
|
|
8
7
|
require("element-plus");
|
|
9
8
|
require("../../../../core/DataModelDefines.js");
|
|
10
9
|
require("vue-router");
|
|
10
|
+
require("@maketribe/request");
|
|
11
11
|
require("@maketribe/locale");
|
|
12
12
|
require("../../../../components/basic/svg-icon/index.js");
|
|
13
13
|
require("../../../../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":["buildProps","MsMaterialTable"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIO,MAAM,oBAAoBA,MAAAA,WAAW;AAAA,EAC1C,eAAe;AAAA,IACb,MAAMC,gBAAA;AAAA,EACR;AAAA,EACA,YAAY;AAAA,IACV,MAAM;AAAA,IACN,SAAS;AAAA,EACX;AAAA,EACA,cAAc;AAAA,IACZ,MAAM;AAAA,EACR;AACF,CAAU;;"}
|
|
@@ -3,11 +3,11 @@ const vue = require("vue");
|
|
|
3
3
|
const dm = require("@maketribe/dm");
|
|
4
4
|
const index = require("../material-list/index.js");
|
|
5
5
|
const MsMaterialTable = require("../../dataviews/ms-material/MsMaterialTable.js");
|
|
6
|
-
require("@maketribe/request");
|
|
7
6
|
require("@maketribe/utils");
|
|
8
7
|
const elementPlus = require("element-plus");
|
|
9
8
|
require("../../../../core/DataModelDefines.js");
|
|
10
9
|
require("vue-router");
|
|
10
|
+
require("@maketribe/request");
|
|
11
11
|
require("@maketribe/locale");
|
|
12
12
|
require("../../../../components/basic/svg-icon/index.js");
|
|
13
13
|
require("../../../../components/data-model/data-form/index.js");
|
|
@@ -8,6 +8,7 @@ const dm = require("@maketribe/dm");
|
|
|
8
8
|
const dataModel = require("../../../../constants/data-model.js");
|
|
9
9
|
const menu = require("../../../../constants/menu.js");
|
|
10
10
|
const index = require("../../constants/index.js");
|
|
11
|
+
const MSAppClient = require("../../../../core/MSAppClient.js");
|
|
11
12
|
const _MsMenuTree = class _MsMenuTree extends (_b = dm.DataTree, _a = dataModel.DATA_MODEL_NAME, _b) {
|
|
12
13
|
constructor(options = {}) {
|
|
13
14
|
super({
|
|
@@ -40,6 +41,23 @@ const _MsMenuTree = class _MsMenuTree extends (_b = dm.DataTree, _a = dataModel.
|
|
|
40
41
|
formatItem(item) {
|
|
41
42
|
item.type += "";
|
|
42
43
|
item.children = item.children || [];
|
|
44
|
+
item.targetUrl = "";
|
|
45
|
+
if (!item.targetUrl) {
|
|
46
|
+
const route = item.routes.find((route2) => route2.id === item.routeId);
|
|
47
|
+
item.targetUrl = (route == null ? void 0 : route.route) || "";
|
|
48
|
+
if (!item.targetUrl && route) {
|
|
49
|
+
const pageRoute = MSAppClient.MSAppClient.instance.pageManager.extendsPages.find(
|
|
50
|
+
(item2) => item2.name === route.name
|
|
51
|
+
);
|
|
52
|
+
item.targetUrl = (pageRoute == null ? void 0 : pageRoute.path) ?? "";
|
|
53
|
+
}
|
|
54
|
+
if (!item.targetUrl && route) {
|
|
55
|
+
const match = route.name.match(/^dv\/([^/]+)\/(edit|.+)$/i);
|
|
56
|
+
if (match) {
|
|
57
|
+
item.targetUrl = match[2] === "edit" ? `/dv/${match[1]}/edit` : `/dv/${match[1]}`;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
43
61
|
return item;
|
|
44
62
|
}
|
|
45
63
|
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 & {\n children: MsMenuItemNode[];\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
|
|
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":["DataTree","DATA_MODEL_NAME","MODULE_NAME","TableColumn","MenuType","TableActionColumn","route","MSAppClient","item","_a"],"mappings":";;;;;;;;;;;AAiBO,MAAM,cAAN,MAAM,qBAAmBA,QAAAA,UACtBC,eAAAA,iBADsBD,IAAyB;AAAA,EAGvD,YAAY,UAA0C,IAAI;AAClD,UAAA;AAAA,MACJ,MAAM,YAAWC,yBAAe;AAAA,MAChC,YAAYC,MAAA;AAAA,MACZ,eAAe;AAAA,MACf,GAAG;AAAA,IAAA,CACJ;AAAA,EACH;AAAA,EAEA,MAAgB,aAAa;AAC3B,UAAM,MAAM;AAEZ,SAAK,WAAW;AAAA,MACd,IAAIC,eAAY,EAAE,MAAM,cAAc,OAAO,QAAQ,OAAO,QAAQ;AAAA,MACpE,IAAIA,eAAY;AAAA,QACd,MAAM;AAAA,QACN,OAAO;AAAA,QACP,OAAO;AAAA,QACP,eAAe;AAAA,QACf,gBAAgB;AAAA,UACd,SAAS;AAAA,YACP,CAACC,KAAAA,SAAS,SAAS,GAAG;AAAA,YACtB,CAACA,KAAAA,SAAS,IAAI,GAAG;AAAA,YACjB,CAACA,KAAAA,SAAS,cAAc,GAAG;AAAA,UAC7B;AAAA,QACF;AAAA,MAAA,CACD;AAAA,MACD,IAAIC,qBAAkB;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,CAACC,WAAUA,OAAM,OAAO,KAAK,OAAO;AAC9D,WAAA,aAAY,+BAAO,UAAS;AAE7B,UAAA,CAAC,KAAK,aAAa,OAAO;AAC5B,cAAM,YAAYC,YAAA,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,CAACJ,KAAAA,SAAS,WAAWA,KAAAA,SAAS,cAAc,EAAe;AAAA,OACjEK,MAAA,KAAK,SAAL,gBAAAA,IAAW;AAAA,IAAA;AAAA,EAEf;AAAA,EAEA,MAAM,KAAK,QAA8B;AAChC,WAAA,MAAM,QAAQ,MAAM;AAAA,EAC7B;AACF;AAzEE,cADW,aACHR,IAA2B;AAD9B,IAAM,aAAN;;"}
|
|
@@ -8,9 +8,12 @@ require("@maketribe/dm");
|
|
|
8
8
|
const MsMenuTable = require("../ms-menu/MsMenuTable.js");
|
|
9
9
|
const MsRouteTable = require("../ms-menu/ms-route/MsRouteTable.js");
|
|
10
10
|
const MsPermissionPointDefineTable = require("../ms-menu/ms-permission-point/MsPermissionPointDefineTable.js");
|
|
11
|
+
require("vue-router");
|
|
12
|
+
require("@maketribe/locale");
|
|
13
|
+
const utils = require("@maketribe/utils");
|
|
14
|
+
require("../../../../core/DataModelDefines.js");
|
|
11
15
|
const MsRoleRouteTable = require("./ms-role-route/MsRoleRouteTable.js");
|
|
12
16
|
const MsRolePermissionPointTable = require("./ms-role-permission-point/MsRolePermissionPointTable.js");
|
|
13
|
-
const utils = require("@maketribe/utils");
|
|
14
17
|
class RolePermissionConfigTable extends MsMenuTable.MsMenuTable {
|
|
15
18
|
constructor(options = {}) {
|
|
16
19
|
super({ ...options });
|