@maketribe/ms-app 3.2.26 → 3.2.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/basic/doc-editor/core/element-block.js +18 -13
- package/dist/cjs/components/basic/doc-editor/core/element-block.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/core/utils.js +20 -13
- package/dist/cjs/components/basic/doc-editor/core/utils.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/editor.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/GridNode.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js +32 -1
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js +13 -0
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js +11 -0
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/index.vue.js +87 -13
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/utils.js +114 -7
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/utils.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js +51 -37
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js +3 -5
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/utils.js +32 -54
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/utils.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/composables.js +14 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/composables.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js +40 -3
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/nodes/RichTextNode.js +16 -16
- package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/nodes/RichTextNode.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js +8 -7
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/plugins/nodes.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/themes/doc-editor-edit.css.js +1 -1
- package/dist/cjs/components/basic/doc-editor/themes/doc-editor-edit.css.js.map +1 -1
- package/dist/cjs/components/basic/dynamic-form-panel/DynamicFormPanel.js +40 -18
- package/dist/cjs/components/basic/dynamic-form-panel/DynamicFormPanel.js.map +1 -1
- package/dist/cjs/components/basic/dynamic-form-panel/dialog.js +2 -2
- package/dist/cjs/components/basic/dynamic-form-panel/dialog.js.map +1 -1
- package/dist/cjs/components/basic/image-cropper/image-cropper-api.js.map +1 -1
- package/dist/cjs/components/basic/visual-page-editor/content-editable.vue.js +13 -9
- package/dist/cjs/components/basic/visual-page-editor/content-editable.vue.js.map +1 -1
- package/dist/cjs/components/basic/visual-page-editor/core/BlockRender.js +38 -0
- package/dist/cjs/components/basic/visual-page-editor/core/BlockRender.js.map +1 -0
- package/dist/cjs/components/basic/visual-page-editor/core/Dialog.js +76 -0
- package/dist/cjs/components/basic/visual-page-editor/core/Dialog.js.map +1 -0
- package/dist/cjs/components/basic/visual-page-editor/core/VisvalPageEditor.js +72 -1
- package/dist/cjs/components/basic/visual-page-editor/core/VisvalPageEditor.js.map +1 -1
- package/dist/cjs/components/basic/visual-page-editor/core/index.js +21 -13
- package/dist/cjs/components/basic/visual-page-editor/core/index.js.map +1 -1
- package/dist/cjs/components/basic/visual-page-editor/editor.vue.js +2 -29
- package/dist/cjs/components/basic/visual-page-editor/editor.vue.js.map +1 -1
- package/dist/cjs/components/basic/visual-page-editor/index.js +1 -1
- package/dist/cjs/components/basic/visual-page-editor/index.js.map +1 -1
- package/dist/cjs/components/basic/visual-page-editor/modules/BaseImageModule.js +10 -0
- package/dist/cjs/components/basic/visual-page-editor/modules/BaseImageModule.js.map +1 -0
- package/dist/cjs/components/basic/visual-page-editor/toolbar.vue.js +1 -1
- package/dist/cjs/components/basic/visual-page-editor/toolbar.vue.js.map +1 -1
- package/dist/cjs/modules/cms/cms-settings.js +4 -0
- package/dist/cjs/modules/cms/cms-settings.js.map +1 -1
- package/dist/cjs/modules/cms/composables/part-extensions.js +6 -6
- package/dist/cjs/modules/cms/composables/part-extensions.js.map +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +20 -2
- package/dist/cjs/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-ad/index.vue2.js +0 -1
- package/dist/cjs/modules/cms/pages/cms-ad/index.vue2.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +3 -1
- 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/part-banner-edit.vue.js +32 -9
- package/dist/cjs/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js +47 -43
- package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-settigns/DocModuleEditForm.vue.js +312 -0
- package/dist/cjs/modules/cms/pages/cms-settigns/DocModuleEditForm.vue.js.map +1 -0
- package/dist/cjs/modules/cms/pages/cms-settigns/DocModuleEditForm.vue2.js +4 -0
- package/dist/cjs/modules/cms/pages/cms-settigns/DocModuleEditForm.vue2.js.map +1 -0
- package/dist/cjs/modules/cms/pages/cms-settigns/index.vue2.js +18 -0
- package/dist/cjs/modules/cms/pages/cms-settigns/index.vue2.js.map +1 -1
- package/dist/cjs/modules/ms/components/image-select/image-select-api.js +14 -2
- package/dist/cjs/modules/ms/components/image-select/image-select-api.js.map +1 -1
- package/dist/cjs/modules/ms/image-upload-context/index.js +1 -1
- package/dist/cjs/modules/ms/image-upload-context/index.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/core/element-block.js +18 -13
- package/dist/esm/components/basic/doc-editor/core/element-block.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/core/utils.js +20 -13
- package/dist/esm/components/basic/doc-editor/core/utils.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/editor.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/GridNode.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js +32 -1
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js +13 -0
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js +11 -0
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/index.vue.js +87 -13
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/index.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/utils.js +114 -7
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/utils.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js +52 -38
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js +3 -5
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/utils.js +33 -55
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/utils.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/composables.js +14 -1
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/composables.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js +40 -3
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/index.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/nodes/RichTextNode.js +16 -16
- package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/nodes/RichTextNode.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js +11 -10
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/plugins/nodes.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/themes/doc-editor-edit.css.js +1 -1
- package/dist/esm/components/basic/doc-editor/themes/doc-editor-edit.css.js.map +1 -1
- package/dist/esm/components/basic/dynamic-form-panel/DynamicFormPanel.js +40 -18
- package/dist/esm/components/basic/dynamic-form-panel/DynamicFormPanel.js.map +1 -1
- package/dist/esm/components/basic/dynamic-form-panel/dialog.js +2 -2
- package/dist/esm/components/basic/dynamic-form-panel/dialog.js.map +1 -1
- package/dist/esm/components/basic/image-cropper/image-cropper-api.js.map +1 -1
- package/dist/esm/components/basic/visual-page-editor/content-editable.vue.js +14 -10
- package/dist/esm/components/basic/visual-page-editor/content-editable.vue.js.map +1 -1
- package/dist/esm/components/basic/visual-page-editor/core/BlockRender.js +39 -0
- package/dist/esm/components/basic/visual-page-editor/core/BlockRender.js.map +1 -0
- package/dist/esm/components/basic/visual-page-editor/core/Dialog.js +76 -0
- package/dist/esm/components/basic/visual-page-editor/core/Dialog.js.map +1 -0
- package/dist/esm/components/basic/visual-page-editor/core/VisvalPageEditor.js +73 -2
- package/dist/esm/components/basic/visual-page-editor/core/VisvalPageEditor.js.map +1 -1
- package/dist/esm/components/basic/visual-page-editor/core/index.js +21 -13
- package/dist/esm/components/basic/visual-page-editor/core/index.js.map +1 -1
- package/dist/esm/components/basic/visual-page-editor/editor.vue.js +4 -31
- package/dist/esm/components/basic/visual-page-editor/editor.vue.js.map +1 -1
- package/dist/esm/components/basic/visual-page-editor/index.js +1 -1
- package/dist/esm/components/basic/visual-page-editor/index.js.map +1 -1
- package/dist/esm/components/basic/visual-page-editor/modules/BaseImageModule.js +9 -0
- package/dist/esm/components/basic/visual-page-editor/modules/BaseImageModule.js.map +1 -0
- package/dist/esm/components/basic/visual-page-editor/toolbar.vue.js +2 -2
- package/dist/esm/components/basic/visual-page-editor/toolbar.vue.js.map +1 -1
- package/dist/esm/modules/cms/cms-settings.js +4 -0
- package/dist/esm/modules/cms/cms-settings.js.map +1 -1
- package/dist/esm/modules/cms/composables/part-extensions.js +6 -6
- package/dist/esm/modules/cms/composables/part-extensions.js.map +1 -1
- package/dist/esm/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +20 -2
- package/dist/esm/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-ad/index.vue2.js +0 -1
- package/dist/esm/modules/cms/pages/cms-ad/index.vue2.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +3 -1
- 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/part-banner-edit.vue.js +32 -9
- package/dist/esm/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js +49 -45
- package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-settigns/DocModuleEditForm.vue.js +313 -0
- package/dist/esm/modules/cms/pages/cms-settigns/DocModuleEditForm.vue.js.map +1 -0
- package/dist/esm/modules/cms/pages/cms-settigns/DocModuleEditForm.vue2.js +5 -0
- package/dist/esm/modules/cms/pages/cms-settigns/DocModuleEditForm.vue2.js.map +1 -0
- package/dist/esm/modules/cms/pages/cms-settigns/index.vue2.js +18 -0
- package/dist/esm/modules/cms/pages/cms-settigns/index.vue2.js.map +1 -1
- package/dist/esm/modules/ms/components/image-select/image-select-api.js +14 -2
- package/dist/esm/modules/ms/components/image-select/image-select-api.js.map +1 -1
- package/dist/esm/modules/ms/image-upload-context/index.js +1 -1
- package/dist/esm/modules/ms/image-upload-context/index.js.map +1 -1
- package/dist/style/components/basic/visual-page-editor/index.css +1 -1
- package/dist/style/components/index.css +1 -1
- package/dist/style/index.css +1 -1
- package/dist/style/src/components/basic/visual-page-editor/index.scss +4 -2
- package/dist/types/components/basic/doc-editor/core/element-block.d.ts +1 -0
- package/dist/types/components/basic/doc-editor/core/utils.d.ts +2 -2
- package/dist/types/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.d.ts +1 -1
- package/dist/types/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.d.ts +16 -2
- package/dist/types/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.d.ts +7 -1
- package/dist/types/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.d.ts +25 -12
- package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/composables.d.ts +5 -0
- package/dist/types/components/basic/doc-editor/utils/getSelectedNode.d.ts +1 -1
- package/dist/types/components/basic/dynamic-form-panel/type.d.ts +1 -0
- package/dist/types/components/basic/visual-page-editor/core/Dialog.d.ts +15 -0
- package/dist/types/components/basic/visual-page-editor/core/ModuleDefine.d.ts +12 -0
- package/dist/types/components/basic/visual-page-editor/core/VisvalPageEditor.d.ts +45 -1
- package/dist/types/components/basic/visual-page-editor/core/index.d.ts +2 -10
- package/dist/types/components/basic/visual-page-editor/editor.vue.d.ts +1 -0
- package/dist/types/components/basic/visual-page-editor/index.d.ts +2 -1
- package/dist/types/components/basic/visual-page-editor/modules/index.d.ts +1 -0
- package/dist/types/modules/cms/cms-settings.d.ts +4 -28
- package/dist/types/modules/cms/composables/part-extensions.d.ts +7 -3
- package/dist/types/modules/cms/pages/cms-settigns/DocModuleEditForm.vue.d.ts +45 -0
- package/dist/types/modules/ms/components/image-select/image-select-api.d.ts +1 -1
- package/dist/types/modules/ms/image-upload-context/index.d.ts +1 -1
- package/package.json +9 -8
- package/dist/cjs/components/basic/visual-page-editor/components/BlockRender.js +0 -31
- package/dist/cjs/components/basic/visual-page-editor/components/BlockRender.js.map +0 -1
- package/dist/cjs/components/basic/visual-page-editor/utils/Dialog.js +0 -111
- package/dist/cjs/components/basic/visual-page-editor/utils/Dialog.js.map +0 -1
- package/dist/cjs/components/basic/visual-page-editor/visual-components/ImageRenderComponent.js +0 -29
- package/dist/cjs/components/basic/visual-page-editor/visual-components/ImageRenderComponent.js.map +0 -1
- package/dist/esm/components/basic/visual-page-editor/components/BlockRender.js +0 -32
- package/dist/esm/components/basic/visual-page-editor/components/BlockRender.js.map +0 -1
- package/dist/esm/components/basic/visual-page-editor/utils/Dialog.js +0 -111
- package/dist/esm/components/basic/visual-page-editor/utils/Dialog.js.map +0 -1
- package/dist/esm/components/basic/visual-page-editor/visual-components/ImageRenderComponent.js +0 -28
- package/dist/esm/components/basic/visual-page-editor/visual-components/ImageRenderComponent.js.map +0 -1
- package/dist/types/components/basic/visual-page-editor/core/RenderComponent.d.ts +0 -16
- package/dist/types/components/basic/visual-page-editor/utils/Dialog.d.ts +0 -15
- package/dist/types/components/basic/visual-page-editor/visual-components/index.d.ts +0 -1
- /package/dist/types/components/basic/visual-page-editor/{components → core}/BlockRender.d.ts +0 -0
- /package/dist/types/components/basic/visual-page-editor/{visual-components/ImageRenderComponent.d.ts → modules/BaseImageModule.d.ts} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { defineComponent, ref, watch, reactive, watchEffect, resolveComponent, resolveDirective, withDirectives, openBlock, createElementBlock, createVNode, withCtx, createElementVNode, createTextVNode, unref, createBlock, createCommentVNode, Fragment, resolveDynamicComponent } from "vue";
|
|
1
|
+
import { defineComponent, ref, watch, reactive, watchEffect, resolveComponent, resolveDirective, withDirectives, openBlock, createElementBlock, createVNode, withCtx, createElementVNode, createTextVNode, unref, createBlock, createCommentVNode, Fragment, renderList, toDisplayString, resolveDynamicComponent } 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";
|
|
@@ -44,7 +44,7 @@ import "../../../../components/business/resource-manager/index.js";
|
|
|
44
44
|
import { CmsPartForm } from "../../dataviews/cms-parts/CmsPartForm.js";
|
|
45
45
|
import { CmsContentManPartForm } from "../../dataviews/cms-parts/CmsContentManPartForm.js";
|
|
46
46
|
import { CmsPartMiniForm } from "../../dataviews/cms-parts/CmsPartMiniForm.js";
|
|
47
|
-
import {
|
|
47
|
+
import { usePartExtensionList } from "../../composables/part-extensions.js";
|
|
48
48
|
import { useCmsSettings } from "../../cms-settings.js";
|
|
49
49
|
const _hoisted_1 = { class: "mk-cms-contents__warp" };
|
|
50
50
|
const _hoisted_2 = { style: { "color": "var(--el-text-color-regular)", "margin-left": "10px" } };
|
|
@@ -82,7 +82,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
82
82
|
const activeTabName = ref("article-list");
|
|
83
83
|
const curSelectPartItem = ref(null);
|
|
84
84
|
const partTreeRef = ref(null);
|
|
85
|
-
const
|
|
85
|
+
const partExList = ref([]);
|
|
86
86
|
const partDataForm = reactive(new CmsContentManPartForm());
|
|
87
87
|
partDataForm.init();
|
|
88
88
|
let beforeInitFormPart = null;
|
|
@@ -105,7 +105,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
105
105
|
activeTabName.value = "article-list";
|
|
106
106
|
}
|
|
107
107
|
router.replace({ name: "cms/contents", query: { pid: curSelectPartItem.value.id } });
|
|
108
|
-
|
|
108
|
+
partExList.value = usePartExtensionList(curSelectPartItem.value.id).concat(usePartExtensionList(curSelectPartItem.value.name));
|
|
109
109
|
}
|
|
110
110
|
};
|
|
111
111
|
const deletePartHandle = (item) => {
|
|
@@ -246,33 +246,36 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
246
246
|
curSelectPartItem.value ? (openBlock(), createBlock(_component_el_tabs, {
|
|
247
247
|
key: 0,
|
|
248
248
|
modelValue: activeTabName.value,
|
|
249
|
-
"onUpdate:modelValue": _cache[
|
|
249
|
+
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => activeTabName.value = $event),
|
|
250
250
|
class: "mk-cms-contents__body__right"
|
|
251
251
|
}, {
|
|
252
252
|
default: withCtx(() => [
|
|
253
253
|
createElementVNode("div", _hoisted_5, [
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
254
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(partExList.value, (ext, i) => {
|
|
255
|
+
return openBlock(), createElementBlock(Fragment, null, [
|
|
256
|
+
activeTabName.value == `part-ext${i}` && ext.save ? (openBlock(), createBlock(_component_el_button, {
|
|
257
|
+
key: 0,
|
|
258
|
+
type: "primary",
|
|
259
|
+
text: "",
|
|
260
|
+
onClick: ($event) => ext.save()
|
|
261
|
+
}, {
|
|
262
|
+
default: withCtx(() => [
|
|
263
|
+
createVNode(_component_MKSvgIcon, {
|
|
264
|
+
iconClass: "save",
|
|
265
|
+
style: { "margin-right": "5px" }
|
|
266
|
+
}),
|
|
267
|
+
createTextVNode(" 保存" + toDisplayString(ext.title), 1)
|
|
268
|
+
]),
|
|
269
|
+
_: 2
|
|
270
|
+
}, 1032, ["onClick"])) : createCommentVNode("", true)
|
|
271
|
+
], 64);
|
|
272
|
+
}), 256)),
|
|
273
|
+
createElementVNode("template", null, [
|
|
271
274
|
activeTabName.value != "article-list" ? (openBlock(), createBlock(_component_el_button, {
|
|
272
275
|
key: 0,
|
|
273
276
|
type: "primary",
|
|
274
277
|
text: "",
|
|
275
|
-
onClick: _cache[
|
|
278
|
+
onClick: _cache[0] || (_cache[0] = ($event) => savePartHandle()),
|
|
276
279
|
disabled: !(partDataForm == null ? void 0 : partDataForm.isChanged)
|
|
277
280
|
}, {
|
|
278
281
|
default: withCtx(() => [
|
|
@@ -284,14 +287,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
284
287
|
]),
|
|
285
288
|
_: 1
|
|
286
289
|
}, 8, ["disabled"])) : createCommentVNode("", true)
|
|
287
|
-
]
|
|
288
|
-
unref(CmsSettings).publish.mode == "static" && curSelectPartItem.value.coverTemplate || curSelectPartItem.value.listTemplate || curSelectPartItem.value.contentTemplate ? (openBlock(), createBlock(_component_el_dropdown, { key:
|
|
290
|
+
]),
|
|
291
|
+
unref(CmsSettings).publish.mode == "static" && curSelectPartItem.value.coverTemplate || curSelectPartItem.value.listTemplate || curSelectPartItem.value.contentTemplate ? (openBlock(), createBlock(_component_el_dropdown, { key: 0 }, {
|
|
289
292
|
dropdown: withCtx(() => [
|
|
290
293
|
createVNode(_component_el_dropdown_menu, null, {
|
|
291
294
|
default: withCtx(() => [
|
|
292
295
|
unref(CmsSettings).publish.mode == "static" && curSelectPartItem.value.coverTemplate ? (openBlock(), createBlock(_component_el_dropdown_item, {
|
|
293
296
|
key: 0,
|
|
294
|
-
onClick: _cache[
|
|
297
|
+
onClick: _cache[1] || (_cache[1] = ($event) => unref(CmsPartForm).openPreview(curSelectPartItem.value.id))
|
|
295
298
|
}, {
|
|
296
299
|
default: withCtx(() => [
|
|
297
300
|
createVNode(_component_MKSvgIcon, {
|
|
@@ -304,7 +307,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
304
307
|
})) : createCommentVNode("", true),
|
|
305
308
|
curSelectPartItem.value.listTemplate ? (openBlock(), createBlock(_component_el_dropdown_item, {
|
|
306
309
|
key: 1,
|
|
307
|
-
onClick: _cache[
|
|
310
|
+
onClick: _cache[2] || (_cache[2] = ($event) => unref(CmsPartForm).openPreview(curSelectPartItem.value.id, "1"))
|
|
308
311
|
}, {
|
|
309
312
|
default: withCtx(() => [
|
|
310
313
|
createVNode(_component_MKSvgIcon, {
|
|
@@ -316,7 +319,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
316
319
|
_: 1
|
|
317
320
|
})) : createCommentVNode("", true),
|
|
318
321
|
createVNode(_component_el_dropdown_item, {
|
|
319
|
-
onClick: _cache[
|
|
322
|
+
onClick: _cache[3] || (_cache[3] = ($event) => showPublish.value = true)
|
|
320
323
|
}, {
|
|
321
324
|
default: withCtx(() => [
|
|
322
325
|
createVNode(_component_MKSvgIcon, {
|
|
@@ -411,16 +414,17 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
411
414
|
})), [
|
|
412
415
|
[_directive_loading, partDataForm.loading]
|
|
413
416
|
]) : createCommentVNode("", true),
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
417
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(partExList.value, (ext, i) => {
|
|
418
|
+
return openBlock(), createBlock(_component_el_tab_pane, {
|
|
419
|
+
label: ext.title || `页面扩展设置 ${i == 0 ? "" : i}`,
|
|
420
|
+
name: `part-ext${i}`
|
|
421
|
+
}, {
|
|
422
|
+
default: withCtx(() => [
|
|
423
|
+
(openBlock(), createBlock(resolveDynamicComponent(ext.component)))
|
|
424
|
+
]),
|
|
425
|
+
_: 2
|
|
426
|
+
}, 1032, ["label", "name"]);
|
|
427
|
+
}), 256))
|
|
424
428
|
]),
|
|
425
429
|
_: 1
|
|
426
430
|
}, 8, ["modelValue"])) : (openBlock(), createBlock(_component_el_empty, {
|
|
@@ -431,14 +435,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
431
435
|
]),
|
|
432
436
|
createVNode(_component_el_dialog, {
|
|
433
437
|
modelValue: showPublish.value,
|
|
434
|
-
"onUpdate:modelValue": _cache[
|
|
438
|
+
"onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => showPublish.value = $event),
|
|
435
439
|
title: "栏目发布",
|
|
436
440
|
width: "475px",
|
|
437
441
|
"append-to-body": false
|
|
438
442
|
}, {
|
|
439
443
|
footer: withCtx(() => [
|
|
440
444
|
createVNode(_component_el_button, {
|
|
441
|
-
onClick: _cache[
|
|
445
|
+
onClick: _cache[10] || (_cache[10] = ($event) => showPublish.value = false)
|
|
442
446
|
}, {
|
|
443
447
|
default: withCtx(() => [
|
|
444
448
|
createTextVNode("取消")
|
|
@@ -463,7 +467,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
463
467
|
createTextVNode(),
|
|
464
468
|
createVNode(unref(ElSwitch), {
|
|
465
469
|
modelValue: optionData.value.isPublishList,
|
|
466
|
-
"onUpdate:modelValue": _cache[
|
|
470
|
+
"onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => optionData.value.isPublishList = $event),
|
|
467
471
|
disabled: !curSelectPartItem.value.listTemplate
|
|
468
472
|
}, null, 8, ["modelValue", "disabled"])
|
|
469
473
|
]),
|
|
@@ -472,7 +476,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
472
476
|
createTextVNode(),
|
|
473
477
|
createVNode(unref(ElSwitch), {
|
|
474
478
|
modelValue: optionData.value.isPublishCover,
|
|
475
|
-
"onUpdate:modelValue": _cache[
|
|
479
|
+
"onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => optionData.value.isPublishCover = $event),
|
|
476
480
|
disabled: !curSelectPartItem.value.coverTemplate
|
|
477
481
|
}, null, 8, ["modelValue", "disabled"])
|
|
478
482
|
]),
|
|
@@ -481,7 +485,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
481
485
|
createTextVNode(),
|
|
482
486
|
createVNode(unref(ElSwitch), {
|
|
483
487
|
modelValue: optionData.value.isPublishContent,
|
|
484
|
-
"onUpdate:modelValue": _cache[
|
|
488
|
+
"onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => optionData.value.isPublishContent = $event),
|
|
485
489
|
disabled: !curSelectPartItem.value.contentTemplate
|
|
486
490
|
}, null, 8, ["modelValue", "disabled"])
|
|
487
491
|
]),
|
|
@@ -490,7 +494,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
490
494
|
createTextVNode(),
|
|
491
495
|
createVNode(unref(ElSwitch), {
|
|
492
496
|
modelValue: optionData.value.isPublishAssets,
|
|
493
|
-
"onUpdate:modelValue": _cache[
|
|
497
|
+
"onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => optionData.value.isPublishAssets = $event)
|
|
494
498
|
}, null, 8, ["modelValue"])
|
|
495
499
|
]),
|
|
496
500
|
createElementVNode("div", null, [
|
|
@@ -498,7 +502,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
498
502
|
createTextVNode(),
|
|
499
503
|
createVNode(unref(ElSwitch), {
|
|
500
504
|
modelValue: optionData.value.isCompulsion,
|
|
501
|
-
"onUpdate:modelValue": _cache[
|
|
505
|
+
"onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => optionData.value.isCompulsion = $event)
|
|
502
506
|
}, null, 8, ["modelValue"])
|
|
503
507
|
])
|
|
504
508
|
])
|
|
@@ -1 +1 @@
|
|
|
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 v-if=\"CmsSettings.publish.mode == 'static'\" @click=\"publishAllPartHandle\">\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\"\r\n :curSelectId=\"curSelectPartId\" />\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\r\n <template v-if=\"partExt && activeTabName == 'part-ext'\">\r\n <el-button type=\"primary\" v-if=\"partExt.save\" text @click=\"partExt.save()\">\r\n <MKSvgIcon iconClass=\"save\" style=\"margin-right: 5px\" />\r\n 保存\r\n </el-button>\r\n </template>\r\n <template v-else>\r\n <el-button type=\"primary\" text @click=\"savePartHandle()\" :disabled=\"!partDataForm?.isChanged\"\r\n v-if=\"activeTabName != 'article-list'\">\r\n <MKSvgIcon iconClass=\"save\" style=\"margin-right: 5px\" />\r\n 保存\r\n </el-button>\r\n </template>\r\n <el-dropdown v-if=\"CmsSettings.publish.mode == 'static' && curSelectPartItem.coverTemplate || curSelectPartItem.listTemplate || curSelectPartItem.contentTemplate\">\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>\r\n <el-dropdown-item @click=\"CmsPartForm.openPreview(curSelectPartItem.id)\" v-if=\"CmsSettings.publish.mode == 'static' && curSelectPartItem.coverTemplate\">\r\n <MKSvgIcon iconClass=\"View\" style=\"margin-left: 10px;\" />\r\n 预览封面\r\n </el-dropdown-item>\r\n <el-dropdown-item @click=\"CmsPartForm.openPreview(curSelectPartItem.id,'1')\" 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 </div>\r\n <el-tab-pane label=\"文章列表\" name=\"article-list\" v-if=\"curSelectPartItem.contentTemplate\">\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'\" :css=\"CmsSettings.part.doc.css\" :js=\"CmsSettings.part.doc.js\" :content=\"partDataForm.data?.content\"\r\n placeholder=\"从这里开始写正文...\" @change=\"EditorChangeHandle\">\r\n <template #before-extentions>\r\n <PartBannerEdit v-if=\"partDataForm.data?.id\" :partId=\"partDataForm.data?.id\" :title=\"partDataForm.data?.title\" />\r\n </template>\r\n </MKDocEditor>\r\n </el-tab-pane>\r\n <el-tab-pane v-if=\"partExt\" label=\"页面扩展设置\" name=\"part-ext\">\r\n <component :is=\"partExt.component\" />\r\n </el-tab-pane>\r\n \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\"\r\n :disabled=\"!curSelectPartItem.listTemplate\" /></div>\r\n <div><span>是否发布封面:</span> <el-switch v-model=\"optionData.isPublishCover\"\r\n :disabled=\"!curSelectPartItem.coverTemplate\" /></div>\r\n <div><span>是否发布内容:</span> <el-switch v-model=\"optionData.isPublishContent\"\r\n :disabled=\"!curSelectPartItem.contentTemplate\" /></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=\"publishLoading\">确定</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 PartBannerEdit from \"./components/part-banner-edit.vue\";\r\nimport { MKDocEditor } from \"../../../../components\";\r\nimport { reactive, ref, watch,watchEffect } from \"vue\";\r\nimport { Dialoger } from \"@maketribe/dm\";\r\nimport { CmsContentManPartForm,CmsPartForm, CmsPartMiniForm } from \"../../dataviews/cms-parts\";\r\nimport { useRoute, useRouter } from \"vue-router\";\r\nimport { usePartExtension, type PartExtension } from \"../../composables/part-extensions\"\r\nimport { ElSwitch } from \"element-plus\";\r\nimport { useCmsSettings } from \"../../cms-settings\"\r\n//路由 \r\nconst route = useRoute();\r\nconst router = useRouter();\r\n\r\n// 当前选中的栏目id\r\nconst curSelectPartId = ref<string>(route.query.pid as string)\r\nwatch(()=>route.query.pid,(v:any)=>{\r\n curSelectPartId.value = v \r\n},{ immediate:true });\r\n\r\n//栏目Mini表单\r\nconst partMiniForm = reactive<CmsPartMiniForm>(new CmsPartMiniForm());\r\n\r\n// cms 配置\r\nconst CmsSettings = useCmsSettings(true);\r\n\r\n//发布栏目时的配置\r\nconst showPublish = ref(false)\r\n\r\n//发布配置项\r\nconst optionData = ref({\r\n isPublishList: false,\r\n isPublishCover: false,\r\n isPublishContent: false,\r\n isPublishAssets: false,\r\n isCompulsion: true\r\n});\r\n\r\n//发布加载状态\r\nconst publishLoading = ref(false);\r\n\r\n// 数据加载状态\r\nconst loading = 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 partExt = ref<PartExtension>();\r\n\r\n//栏目数据\r\nconst partDataForm = reactive(new CmsContentManPartForm()) as CmsContentManPartForm;\r\n\r\n// 初始化表单\r\npartDataForm.init();\r\n\r\n// 切换tab 加载栏目表单数据\r\nlet beforeInitFormPart:any = null;\r\nwatchEffect(async ()=>{\r\n if((activeTabName.value == \"part\" || activeTabName.value == \"part-content\") && curSelectPartItem.value != beforeInitFormPart){\r\n try {\r\n beforeInitFormPart = curSelectPartItem.value;\r\n await partDataForm.editRecord(curSelectPartItem.value.id);\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n});\r\n\r\n// 选择栏目\r\nconst selectPartHandle = async (item: any) => {\r\n\r\n if (curSelectPartItem.value != item) {\r\n\r\n curSelectPartItem.value = item;\r\n\r\n if (!curSelectPartItem.value.contentTemplate) {\r\n activeTabName.value = \"part\";\r\n }\r\n else{\r\n activeTabName.value = \"article-list\";\r\n }\r\n router.replace({ name: 'cms/contents', query: { pid: curSelectPartItem.value.id } } as any)\r\n partExt.value = usePartExtension(curSelectPartItem.value.id);\r\n }\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\n//编辑栏目\r\nconst editPartHandle = (item: any) => {\r\n curSelectPartItem.value = item;\r\n activeTabName.value = \"part\";\r\n};\r\n\r\n/**\r\n * 显示添加栏目表单\r\n */\r\nconst showPartFormHandle = async (item?: any) => {\r\n await Dialoger.dataFormDialog({\r\n dataForm: partMiniForm as CmsContentManPartForm,\r\n });\r\n\r\n if (item.id) {\r\n partMiniForm.addRecord({ parentId: item.id });\r\n }\r\n\r\n};\r\n\r\nwatch(showPublish, async (v) => {\r\n if(v){\r\n optionData.value.isPublishList = !!curSelectPartItem.value.listTemplate\r\n optionData.value.isPublishCover = !!curSelectPartItem.value.coverTemplate\r\n optionData.value.isPublishContent = !!curSelectPartItem.value.contentTemplate\r\n }\r\n})\r\n \r\n//监听表单完成事件\r\npartMiniForm.submittedEvent.on(({ response }:any) => {\r\n if(response.data.data){\r\n // 重置选中\r\n curSelectPartId.value = response.data.data;\r\n // 刷新完成直接选中\r\n (partTreeRef.value! as any).dataTree?.load();\r\n }\r\n \r\n});\r\n\r\n//栏目发布\r\nconst publishAllPartHandle = async () => {\r\n\r\n try {\r\n\r\n loading.value = true;\r\n \r\n await CmsPartForm.publishAll()\r\n } \r\n finally {\r\n loading.value = false;\r\n }\r\n\r\n}\r\nconst publishPartHandle = async () => {\r\n \r\n try {\r\n\r\n publishLoading.value = true\r\n\r\n await CmsPartForm.publish(curSelectPartItem.value.id,optionData.value);\r\n\r\n showPublish.value = false;\r\n\r\n } finally {\r\n publishLoading.value = false\r\n }\r\n}\r\n\r\n/**\r\n * 保存栏目信息\r\n */\r\nconst savePartHandle = async () => {\r\n curSelectPartItem.value = partDataForm.data;\r\n await partDataForm.submit();\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
|
+
{"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 v-if=\"CmsSettings.publish.mode == 'static'\" @click=\"publishAllPartHandle\">\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\"\r\n :curSelectId=\"curSelectPartId\" />\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\r\n <template v-for=\"(ext,i) in partExList\" :label=\"ext.title || `页面扩展设置 ${i+1}`\" :name=\"\">\r\n <el-button type=\"primary\" text @click=\"ext.save()\" v-if=\"activeTabName == `part-ext${i}` && ext.save\">\r\n <MKSvgIcon iconClass=\"save\" style=\"margin-right: 5px\" />\r\n 保存{{ext.title}}\r\n </el-button>\r\n </template>\r\n <template>\r\n <el-button type=\"primary\" text @click=\"savePartHandle()\" :disabled=\"!partDataForm?.isChanged\"\r\n v-if=\"activeTabName != 'article-list'\">\r\n <MKSvgIcon iconClass=\"save\" style=\"margin-right: 5px\" />\r\n 保存\r\n </el-button>\r\n </template>\r\n <el-dropdown v-if=\"CmsSettings.publish.mode == 'static' && curSelectPartItem.coverTemplate || curSelectPartItem.listTemplate || curSelectPartItem.contentTemplate\">\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>\r\n <el-dropdown-item @click=\"CmsPartForm.openPreview(curSelectPartItem.id)\" v-if=\"CmsSettings.publish.mode == 'static' && curSelectPartItem.coverTemplate\">\r\n <MKSvgIcon iconClass=\"View\" style=\"margin-left: 10px;\" />\r\n 预览封面\r\n </el-dropdown-item>\r\n <el-dropdown-item @click=\"CmsPartForm.openPreview(curSelectPartItem.id,'1')\" 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 </div>\r\n <el-tab-pane label=\"文章列表\" name=\"article-list\" v-if=\"curSelectPartItem.contentTemplate\">\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'\" :css=\"CmsSettings.part.doc.css\" :js=\"CmsSettings.part.doc.js\" :content=\"partDataForm.data?.content\"\r\n placeholder=\"从这里开始写正文...\" @change=\"EditorChangeHandle\">\r\n <template #before-extentions>\r\n <PartBannerEdit v-if=\"partDataForm.data?.id\" :partId=\"partDataForm.data?.id\" :title=\"partDataForm.data?.title\" />\r\n </template>\r\n </MKDocEditor>\r\n </el-tab-pane>\r\n <el-tab-pane v-for=\"(ext,i) in partExList\" :label=\"ext.title || `页面扩展设置 ${i==0 ?'':i}`\" :name=\"`part-ext${i}`\">\r\n <component :is=\"ext.component\" />\r\n </el-tab-pane>\r\n \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\"\r\n :disabled=\"!curSelectPartItem.listTemplate\" /></div>\r\n <div><span>是否发布封面:</span> <el-switch v-model=\"optionData.isPublishCover\"\r\n :disabled=\"!curSelectPartItem.coverTemplate\" /></div>\r\n <div><span>是否发布内容:</span> <el-switch v-model=\"optionData.isPublishContent\"\r\n :disabled=\"!curSelectPartItem.contentTemplate\" /></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=\"publishLoading\">确定</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 PartBannerEdit from \"./components/part-banner-edit.vue\";\r\nimport { MKDocEditor } from \"../../../../components\";\r\nimport { reactive, ref, watch,watchEffect } from \"vue\";\r\nimport { Dialoger } from \"@maketribe/dm\";\r\nimport { CmsContentManPartForm,CmsPartForm, CmsPartMiniForm } from \"../../dataviews/cms-parts\";\r\nimport { useRoute, useRouter } from \"vue-router\";\r\nimport { usePartExtensionList, type PartExtension } from \"../../composables/part-extensions\"\r\nimport { ElSwitch } from \"element-plus\";\r\nimport { useCmsSettings } from \"../../cms-settings\"\r\n//路由 \r\nconst route = useRoute();\r\nconst router = useRouter();\r\n\r\n// 当前选中的栏目id\r\nconst curSelectPartId = ref<string>(route.query.pid as string)\r\nwatch(()=>route.query.pid,(v:any)=>{\r\n curSelectPartId.value = v \r\n},{ immediate:true });\r\n\r\n//栏目Mini表单\r\nconst partMiniForm = reactive<CmsPartMiniForm>(new CmsPartMiniForm());\r\n\r\n// cms 配置\r\nconst CmsSettings = useCmsSettings(true);\r\n\r\n//发布栏目时的配置\r\nconst showPublish = ref(false)\r\n\r\n//发布配置项\r\nconst optionData = ref({\r\n isPublishList: false,\r\n isPublishCover: false,\r\n isPublishContent: false,\r\n isPublishAssets: false,\r\n isCompulsion: true\r\n});\r\n\r\n//发布加载状态\r\nconst publishLoading = ref(false);\r\n\r\n// 数据加载状态\r\nconst loading = 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 partExList = ref<Array<PartExtension>>([]);\r\n\r\n//栏目数据\r\nconst partDataForm = reactive(new CmsContentManPartForm()) as CmsContentManPartForm;\r\n\r\n// 初始化表单\r\npartDataForm.init();\r\n\r\n// 切换tab 加载栏目表单数据\r\nlet beforeInitFormPart:any = null;\r\nwatchEffect(async ()=>{\r\n if((activeTabName.value == \"part\" || activeTabName.value == \"part-content\") && curSelectPartItem.value != beforeInitFormPart){\r\n try {\r\n beforeInitFormPart = curSelectPartItem.value;\r\n await partDataForm.editRecord(curSelectPartItem.value.id);\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n});\r\n\r\n// 选择栏目\r\nconst selectPartHandle = async (item: any) => {\r\n\r\n if (curSelectPartItem.value != item) {\r\n\r\n curSelectPartItem.value = item;\r\n\r\n if (!curSelectPartItem.value.contentTemplate) {\r\n activeTabName.value = \"part\";\r\n }\r\n else{\r\n activeTabName.value = \"article-list\";\r\n }\r\n router.replace({ name: 'cms/contents', query: { pid: curSelectPartItem.value.id } } as any)\r\n partExList.value = usePartExtensionList(curSelectPartItem.value.id).concat(usePartExtensionList(curSelectPartItem.value.name));\r\n }\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\n//编辑栏目\r\nconst editPartHandle = (item: any) => {\r\n curSelectPartItem.value = item;\r\n activeTabName.value = \"part\";\r\n};\r\n\r\n/**\r\n * 显示添加栏目表单\r\n */\r\nconst showPartFormHandle = async (item?: any) => {\r\n await Dialoger.dataFormDialog({\r\n dataForm: partMiniForm as CmsContentManPartForm,\r\n });\r\n\r\n if (item.id) {\r\n partMiniForm.addRecord({ parentId: item.id });\r\n }\r\n\r\n};\r\n\r\nwatch(showPublish, async (v) => {\r\n if(v){\r\n optionData.value.isPublishList = !!curSelectPartItem.value.listTemplate\r\n optionData.value.isPublishCover = !!curSelectPartItem.value.coverTemplate\r\n optionData.value.isPublishContent = !!curSelectPartItem.value.contentTemplate\r\n }\r\n})\r\n \r\n//监听表单完成事件\r\npartMiniForm.submittedEvent.on(({ response }:any) => {\r\n if(response.data.data){\r\n // 重置选中\r\n curSelectPartId.value = response.data.data;\r\n // 刷新完成直接选中\r\n (partTreeRef.value! as any).dataTree?.load();\r\n }\r\n \r\n});\r\n\r\n//栏目发布\r\nconst publishAllPartHandle = async () => {\r\n\r\n try {\r\n\r\n loading.value = true;\r\n \r\n await CmsPartForm.publishAll()\r\n } \r\n finally {\r\n loading.value = false;\r\n }\r\n\r\n}\r\nconst publishPartHandle = async () => {\r\n \r\n try {\r\n\r\n publishLoading.value = true\r\n\r\n await CmsPartForm.publish(curSelectPartItem.value.id,optionData.value);\r\n\r\n showPublish.value = false;\r\n\r\n } finally {\r\n publishLoading.value = false\r\n }\r\n}\r\n\r\n/**\r\n * 保存栏目信息\r\n */\r\nconst savePartHandle = async () => {\r\n curSelectPartItem.value = partDataForm.data;\r\n await partDataForm.submit();\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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2HA,UAAM,QAAQ;AACd,UAAM,SAAS;AAGf,UAAM,kBAAkB,IAAY,MAAM,MAAM,GAAa;AAC7D,UAAM,MAAI,MAAM,MAAM,KAAI,CAAC,MAAQ;AACjC,sBAAgB,QAAQ;AAAA,IAAA,GACxB,EAAE,WAAU,KAAA,CAAM;AAGpB,UAAM,eAAe,SAA0B,IAAI,gBAAiB,CAAA;AAG9D,UAAA,cAAc,eAAe,IAAI;AAGjC,UAAA,cAAc,IAAI,KAAK;AAG7B,UAAM,aAAa,IAAI;AAAA,MACrB,eAAe;AAAA,MACf,gBAAgB;AAAA,MAChB,kBAAkB;AAAA,MAClB,iBAAiB;AAAA,MACjB,cAAc;AAAA,IAAA,CACf;AAGK,UAAA,iBAAiB,IAAI,KAAK;AAG1B,UAAA,UAAU,IAAI,KAAK;AAGnB,UAAA,gBAAgB,IAAI,cAAc;AAGlC,UAAA,oBAAoB,IAAI,IAAW;AAGnC,UAAA,cAAc,IAAI,IAAI;AAGtB,UAAA,aAAa,IAA0B,CAAA,CAAE;AAG/C,UAAM,eAAe,SAAS,IAAI,sBAAuB,CAAA;AAGzD,iBAAa,KAAK;AAGlB,QAAI,qBAAyB;AAC7B,gBAAY,YAAU;AAChB,WAAA,cAAc,SAAS,UAAU,cAAc,SAAS,mBAAmB,kBAAkB,SAAS,oBAAmB;AACvH,YAAA;AACF,+BAAqB,kBAAkB;AACvC,gBAAM,aAAa,WAAW,kBAAkB,MAAM,EAAE;AAAA,iBACjD,OAAO;AACd,kBAAQ,IAAI,KAAK;AAAA,QACnB;AAAA,MACF;AAAA,IAAA,CACD;AAGK,UAAA,mBAAmB,OAAO,SAAc;AAExC,UAAA,kBAAkB,SAAS,MAAM;AAEnC,0BAAkB,QAAQ;AAEtB,YAAA,CAAC,kBAAkB,MAAM,iBAAiB;AAC5C,wBAAc,QAAQ;AAAA,QAAA,OAEpB;AACF,wBAAc,QAAQ;AAAA,QACxB;AACO,eAAA,QAAQ,EAAE,MAAM,gBAAgB,OAAO,EAAE,KAAK,kBAAkB,MAAM,GAAG,EAAU,CAAA;AAC/E,mBAAA,QAAQ,qBAAqB,kBAAkB,MAAM,EAAE,EAAE,OAAO,qBAAqB,kBAAkB,MAAM,IAAI,CAAC;AAAA,MAC/H;AAAA,IAAA;AAII,UAAA,mBAAmB,CAAC,SAAc;AACtC,UAAI,KAAK,MAAM,kBAAkB,MAAM,IAAI;AACzC,0BAAkB,QAAQ;AAAA,MAC5B;AAAA,IAAA;AAII,UAAA,iBAAiB,CAAC,SAAc;AACpC,wBAAkB,QAAQ;AAC1B,oBAAc,QAAQ;AAAA,IAAA;AAMlB,UAAA,qBAAqB,OAAO,SAAe;AAC/C,YAAM,SAAS,eAAe;AAAA,QAC5B,UAAU;AAAA,MAAA,CACX;AAED,UAAI,KAAK,IAAI;AACX,qBAAa,UAAU,EAAE,UAAU,KAAK,GAAI,CAAA;AAAA,MAC9C;AAAA,IAAA;AAII,UAAA,aAAa,OAAO,MAAM;AAC9B,UAAG,GAAE;AACH,mBAAW,MAAM,gBAAgB,CAAC,CAAC,kBAAkB,MAAM;AAC3D,mBAAW,MAAM,iBAAiB,CAAC,CAAC,kBAAkB,MAAM;AAC5D,mBAAW,MAAM,mBAAmB,CAAC,CAAC,kBAAkB,MAAM;AAAA,MAChE;AAAA,IAAA,CACD;AAGD,iBAAa,eAAe,GAAG,CAAC,EAAE,eAAmB;;AAChD,UAAA,SAAS,KAAK,MAAK;AAEJ,wBAAA,QAAQ,SAAS,KAAK;AAErC,0BAAY,MAAe,aAA3B,mBAAqC;AAAA,MACxC;AAAA,IAAA,CAED;AAGD,UAAM,uBAAuB,YAAY;AAEnC,UAAA;AAEF,gBAAQ,QAAQ;AAEhB,cAAM,YAAY;MAAW,UAE/B;AACE,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IAAA;AAGF,UAAM,oBAAoB,YAAY;AAEhC,UAAA;AAEF,uBAAe,QAAQ;AAEvB,cAAM,YAAY,QAAQ,kBAAkB,MAAM,IAAG,WAAW,KAAK;AAErE,oBAAY,QAAQ;AAAA,MAAA,UAEpB;AACA,uBAAe,QAAQ;AAAA,MACzB;AAAA,IAAA;AAMF,UAAM,iBAAiB,YAAY;AACjC,wBAAkB,QAAQ,aAAa;AACvC,YAAM,aAAa;IAAO;AAOtB,UAAA,qBAAqB,CAAC,MAAW;AACrC,mBAAa,KAAK,UAAU;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
import { defineComponent, ref, resolveComponent, openBlock, createElementBlock, Fragment, renderList, createBlock, withCtx, createElementVNode, toDisplayString, createVNode, createTextVNode, unref, createCommentVNode } from "vue";
|
|
2
|
+
import "@maketribe/dm";
|
|
3
|
+
import { ElMessageBox, ElMessage } from "element-plus";
|
|
4
|
+
import "@maketribe/utils";
|
|
5
|
+
import "../../../../core/DataModelDefines.js";
|
|
6
|
+
import "vue-router";
|
|
7
|
+
import "@maketribe/request";
|
|
8
|
+
import "@maketribe/locale";
|
|
9
|
+
import "../../../ms/dataviews/ms-config/MsConfigTable.js";
|
|
10
|
+
import "lodash-es";
|
|
11
|
+
import "../../../../components/basic/svg-icon/index.js";
|
|
12
|
+
import "../../../../components/data-model/data-form/index.js";
|
|
13
|
+
import "../../../../components/data-model/data-table/index.js";
|
|
14
|
+
import "../../../../components/data-model/data-table-pagination/index.js";
|
|
15
|
+
import "../../../../components/abstract/abstract-select/abstract-select.js";
|
|
16
|
+
import "../../../../components/abstract/abstract-select/abstract-select-options.js";
|
|
17
|
+
import "../../../../components/basic/button/button-options.js";
|
|
18
|
+
import "../../../../components/basic/config-provider/index.js";
|
|
19
|
+
import "../../../../components/basic/data-table-select/index.js";
|
|
20
|
+
import "../../../../components/basic/data-select/index.js";
|
|
21
|
+
import "../../../../components/basic/pagination/index.js";
|
|
22
|
+
import "../../../../components/basic/system-provider/index.js";
|
|
23
|
+
import { MKCodeEditor } from "../../../../components/basic/code-editor/index.js";
|
|
24
|
+
import "../../../../components/basic/json-editor/index.js";
|
|
25
|
+
import "../../../../components/basic/page-container/index.js";
|
|
26
|
+
import "../../../../components/basic/date-picker/index.js";
|
|
27
|
+
import "../../../../components/basic/icon-select/index.js";
|
|
28
|
+
import "../../../../components/basic/upload-file/upload-file.js";
|
|
29
|
+
import "../../../../components/basic/upload-file/context/web-file-upload-context.js";
|
|
30
|
+
import "../../../../components/basic/upload-file/context/web-file-upload-context-options.js";
|
|
31
|
+
import "../../../../components/basic/upload-file/ui/upload-image/index.js";
|
|
32
|
+
import "../../../../components/basic/upload-file/ui/upload-file/index.js";
|
|
33
|
+
import "../../../../components/basic/upload-file/ui/upload-video/index.js";
|
|
34
|
+
import "../../../../components/basic/upload-file/upload-file-options.js";
|
|
35
|
+
import "../../../../components/basic/doc-editor/index.js";
|
|
36
|
+
import "../../../../components/basic/copy-container/index.js";
|
|
37
|
+
import "../../../../components/basic/image-cropper/index.js";
|
|
38
|
+
import "../../../../components/basic/visual-page-editor/index.js";
|
|
39
|
+
import "../../../../components/business/verify-dialog/verify-dialog-option.js";
|
|
40
|
+
import "../../../../components/business/resource-list/index.js";
|
|
41
|
+
import "../../../../components/business/resource-manager/index.js";
|
|
42
|
+
import "../../../ms/dataviews/department/DepartmentForm.js";
|
|
43
|
+
import "../../../ms/dataviews/department/DepartmentTable.js";
|
|
44
|
+
import "../../../ms/dataviews/department/DepartmentTree.js";
|
|
45
|
+
import "../../../ms/dataviews/log/operate-log/OperateLogTable.js";
|
|
46
|
+
import "../../../ms/dataviews/log/login-log/LoginLogTable.js";
|
|
47
|
+
import "../../../ms/dataviews/log/request-log/RequestLogTable.js";
|
|
48
|
+
import "../../../ms/dataviews/log/local-log/LocalLogTree.js";
|
|
49
|
+
import "../../../ms/components/material-list/index.js";
|
|
50
|
+
import "../../../ms/components/markdown-editor/index.js";
|
|
51
|
+
import "../../../ms/components/rich-text-editor/index.js";
|
|
52
|
+
import "@element-plus/icons-vue";
|
|
53
|
+
import "../../../ms/material-upload-context/material-upload-context-options.js";
|
|
54
|
+
import "../../../ms/material-upload-context/material-upload-context.js";
|
|
55
|
+
import { ImageUploadContext } from "../../../ms/image-upload-context/index.js";
|
|
56
|
+
import { json } from "@codemirror/lang-json";
|
|
57
|
+
import { html } from "@codemirror/lang-html";
|
|
58
|
+
import { css } from "@codemirror/lang-css";
|
|
59
|
+
const _hoisted_1 = { style: { "width": "500px", "max-height": "700px", "overflow": "auto" } };
|
|
60
|
+
const _hoisted_2 = { style: { "display": "flex", "justify-content": "space-between" } };
|
|
61
|
+
const _hoisted_3 = { class: "dialog-footer" };
|
|
62
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
63
|
+
__name: "DocModuleEditForm",
|
|
64
|
+
props: { modules: { type: Array, default() {
|
|
65
|
+
return [];
|
|
66
|
+
} } },
|
|
67
|
+
setup(__props) {
|
|
68
|
+
const props = __props;
|
|
69
|
+
const dialogVisible = ref(false);
|
|
70
|
+
const dialogTitle = ref("添加模块");
|
|
71
|
+
const curEditModule = ref(null);
|
|
72
|
+
const disabledName = ref(false);
|
|
73
|
+
const addModuleHandle = () => {
|
|
74
|
+
dialogTitle.value = "添加模块";
|
|
75
|
+
curEditModule.value = {
|
|
76
|
+
name: "",
|
|
77
|
+
title: "新增模块",
|
|
78
|
+
cover: "",
|
|
79
|
+
template: "",
|
|
80
|
+
editorCss: "",
|
|
81
|
+
options: ""
|
|
82
|
+
};
|
|
83
|
+
dialogVisible.value = true;
|
|
84
|
+
disabledName.value = false;
|
|
85
|
+
};
|
|
86
|
+
const editModuleHandle = (data) => {
|
|
87
|
+
dialogTitle.value = `编辑模块【${data.name}】`;
|
|
88
|
+
curEditModule.value = Object.assign({}, data, {
|
|
89
|
+
options: JSON.stringify(data.options, null, 4)
|
|
90
|
+
});
|
|
91
|
+
dialogVisible.value = true;
|
|
92
|
+
disabledName.value = true;
|
|
93
|
+
};
|
|
94
|
+
const deleteModuleHandle = (data) => {
|
|
95
|
+
ElMessageBox.confirm(`确认删除模块【${data.name}】?`).then(() => {
|
|
96
|
+
let modules = props.modules;
|
|
97
|
+
for (let i = 0; i < modules.length; i++) {
|
|
98
|
+
if (modules[i].name == data.name) {
|
|
99
|
+
modules.splice(i, 1);
|
|
100
|
+
console.log(modules);
|
|
101
|
+
break;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
dialogVisible.value = false;
|
|
105
|
+
}).catch((e) => {
|
|
106
|
+
console.log(e);
|
|
107
|
+
ElMessage.error({ message: "删除失败!" });
|
|
108
|
+
});
|
|
109
|
+
};
|
|
110
|
+
const saveModuleHandle = () => {
|
|
111
|
+
var _a, _b;
|
|
112
|
+
try {
|
|
113
|
+
if (curEditModule.value) {
|
|
114
|
+
const oldModule = (_a = props.modules) == null ? void 0 : _a.find((item) => curEditModule.value.name == item.name);
|
|
115
|
+
if (oldModule != null) {
|
|
116
|
+
Object.assign(oldModule, curEditModule.value, {
|
|
117
|
+
options: JSON.parse(curEditModule.value.options)
|
|
118
|
+
});
|
|
119
|
+
} else {
|
|
120
|
+
(_b = props.modules) == null ? void 0 : _b.push(Object.assign({}, curEditModule.value, {
|
|
121
|
+
options: JSON.parse(curEditModule.value.options)
|
|
122
|
+
}));
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
curEditModule.value = null;
|
|
126
|
+
dialogVisible.value = false;
|
|
127
|
+
} catch (error) {
|
|
128
|
+
console.log(error);
|
|
129
|
+
ElMessage.error({ message: "配置有误,保存失败!" });
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
return (_ctx, _cache) => {
|
|
133
|
+
const _component_el_button = resolveComponent("el-button");
|
|
134
|
+
const _component_el_card = resolveComponent("el-card");
|
|
135
|
+
const _component_el_input = resolveComponent("el-input");
|
|
136
|
+
const _component_el_form_item = resolveComponent("el-form-item");
|
|
137
|
+
const _component_MKUploadImage = resolveComponent("MKUploadImage");
|
|
138
|
+
const _component_el_form = resolveComponent("el-form");
|
|
139
|
+
const _component_el_dialog = resolveComponent("el-dialog");
|
|
140
|
+
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
141
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.modules, (mod) => {
|
|
142
|
+
return openBlock(), createBlock(_component_el_card, {
|
|
143
|
+
style: { "width": "100%", "margin-top": "10px", "box-sizing": "border-box" },
|
|
144
|
+
shadow: "hover"
|
|
145
|
+
}, {
|
|
146
|
+
default: withCtx(() => [
|
|
147
|
+
createElementVNode("div", _hoisted_2, [
|
|
148
|
+
createElementVNode("div", null, toDisplayString(mod.title) + " [" + toDisplayString(mod.name) + "]", 1),
|
|
149
|
+
createElementVNode("div", null, [
|
|
150
|
+
createVNode(_component_el_button, {
|
|
151
|
+
type: "primary",
|
|
152
|
+
text: "",
|
|
153
|
+
onClick: ($event) => editModuleHandle(mod)
|
|
154
|
+
}, {
|
|
155
|
+
default: withCtx(() => [
|
|
156
|
+
createTextVNode("编辑")
|
|
157
|
+
]),
|
|
158
|
+
_: 2
|
|
159
|
+
}, 1032, ["onClick"]),
|
|
160
|
+
createVNode(_component_el_button, {
|
|
161
|
+
type: "danger",
|
|
162
|
+
text: "",
|
|
163
|
+
onClick: ($event) => deleteModuleHandle(mod)
|
|
164
|
+
}, {
|
|
165
|
+
default: withCtx(() => [
|
|
166
|
+
createTextVNode("删除")
|
|
167
|
+
]),
|
|
168
|
+
_: 2
|
|
169
|
+
}, 1032, ["onClick"])
|
|
170
|
+
])
|
|
171
|
+
])
|
|
172
|
+
]),
|
|
173
|
+
_: 2
|
|
174
|
+
}, 1024);
|
|
175
|
+
}), 256)),
|
|
176
|
+
createVNode(_component_el_button, {
|
|
177
|
+
type: "primary",
|
|
178
|
+
onClick: addModuleHandle,
|
|
179
|
+
style: { "width": "100%", "margin-top": "10px", "box-sizing": "border-box" }
|
|
180
|
+
}, {
|
|
181
|
+
default: withCtx(() => [
|
|
182
|
+
createTextVNode("添加模块")
|
|
183
|
+
]),
|
|
184
|
+
_: 1
|
|
185
|
+
}),
|
|
186
|
+
createVNode(_component_el_dialog, {
|
|
187
|
+
modelValue: dialogVisible.value,
|
|
188
|
+
"onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => dialogVisible.value = $event),
|
|
189
|
+
title: dialogTitle.value,
|
|
190
|
+
width: 800
|
|
191
|
+
}, {
|
|
192
|
+
footer: withCtx(() => [
|
|
193
|
+
createElementVNode("div", _hoisted_3, [
|
|
194
|
+
createVNode(_component_el_button, {
|
|
195
|
+
onClick: _cache[6] || (_cache[6] = ($event) => dialogVisible.value = false)
|
|
196
|
+
}, {
|
|
197
|
+
default: withCtx(() => [
|
|
198
|
+
createTextVNode("取消")
|
|
199
|
+
]),
|
|
200
|
+
_: 1
|
|
201
|
+
}),
|
|
202
|
+
createVNode(_component_el_button, {
|
|
203
|
+
type: "primary",
|
|
204
|
+
onClick: saveModuleHandle
|
|
205
|
+
}, {
|
|
206
|
+
default: withCtx(() => [
|
|
207
|
+
createTextVNode(" 保存 ")
|
|
208
|
+
]),
|
|
209
|
+
_: 1
|
|
210
|
+
})
|
|
211
|
+
])
|
|
212
|
+
]),
|
|
213
|
+
default: withCtx(() => [
|
|
214
|
+
curEditModule.value ? (openBlock(), createBlock(_component_el_form, {
|
|
215
|
+
key: 0,
|
|
216
|
+
model: curEditModule.value,
|
|
217
|
+
"label-width": "auto",
|
|
218
|
+
"label-position": "top",
|
|
219
|
+
style: { "max-height": "500px", "overflow": "auto", "padding": "20px" }
|
|
220
|
+
}, {
|
|
221
|
+
default: withCtx(() => [
|
|
222
|
+
createVNode(_component_el_form_item, { label: "模块名称 : " }, {
|
|
223
|
+
default: withCtx(() => [
|
|
224
|
+
createVNode(_component_el_input, {
|
|
225
|
+
modelValue: curEditModule.value.name,
|
|
226
|
+
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => curEditModule.value.name = $event),
|
|
227
|
+
disabled: disabledName.value,
|
|
228
|
+
clearable: ""
|
|
229
|
+
}, null, 8, ["modelValue", "disabled"])
|
|
230
|
+
]),
|
|
231
|
+
_: 1
|
|
232
|
+
}),
|
|
233
|
+
createVNode(_component_el_form_item, {
|
|
234
|
+
label: "模块描述 : ",
|
|
235
|
+
style: { "margin-bottom": "20px" }
|
|
236
|
+
}, {
|
|
237
|
+
default: withCtx(() => [
|
|
238
|
+
createVNode(_component_el_input, {
|
|
239
|
+
modelValue: curEditModule.value.title,
|
|
240
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => curEditModule.value.title = $event),
|
|
241
|
+
clearable: ""
|
|
242
|
+
}, null, 8, ["modelValue"])
|
|
243
|
+
]),
|
|
244
|
+
_: 1
|
|
245
|
+
}),
|
|
246
|
+
createVNode(_component_el_form_item, {
|
|
247
|
+
label: "模块封面图 : ",
|
|
248
|
+
style: { "margin-bottom": "20px" }
|
|
249
|
+
}, {
|
|
250
|
+
default: withCtx(() => [
|
|
251
|
+
createVNode(_component_MKUploadImage, {
|
|
252
|
+
modelValue: curEditModule.value.cover,
|
|
253
|
+
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => curEditModule.value.cover = $event),
|
|
254
|
+
width: "700px",
|
|
255
|
+
height: "300px",
|
|
256
|
+
uploadContext: new (unref(ImageUploadContext))("")
|
|
257
|
+
}, null, 8, ["modelValue", "uploadContext"])
|
|
258
|
+
]),
|
|
259
|
+
_: 1
|
|
260
|
+
}),
|
|
261
|
+
createVNode(_component_el_form_item, {
|
|
262
|
+
label: "模块HTML模版 : ",
|
|
263
|
+
style: { "margin-bottom": "20px" }
|
|
264
|
+
}, {
|
|
265
|
+
default: withCtx(() => [
|
|
266
|
+
createVNode(unref(MKCodeEditor), {
|
|
267
|
+
modelValue: curEditModule.value.template,
|
|
268
|
+
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => curEditModule.value.template = $event),
|
|
269
|
+
extensions: [unref(html)()],
|
|
270
|
+
style: { "border": "1px solid #ccc" }
|
|
271
|
+
}, null, 8, ["modelValue", "extensions"])
|
|
272
|
+
]),
|
|
273
|
+
_: 1
|
|
274
|
+
}),
|
|
275
|
+
createVNode(_component_el_form_item, {
|
|
276
|
+
label: "模块配置面板 : ",
|
|
277
|
+
style: { "margin-bottom": "20px" }
|
|
278
|
+
}, {
|
|
279
|
+
default: withCtx(() => [
|
|
280
|
+
createVNode(unref(MKCodeEditor), {
|
|
281
|
+
modelValue: curEditModule.value.options,
|
|
282
|
+
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => curEditModule.value.options = $event),
|
|
283
|
+
extensions: [unref(json)()],
|
|
284
|
+
style: { "border": "1px solid #ccc" }
|
|
285
|
+
}, null, 8, ["modelValue", "extensions"])
|
|
286
|
+
]),
|
|
287
|
+
_: 1
|
|
288
|
+
}),
|
|
289
|
+
createVNode(_component_el_form_item, { label: "模块编辑样式 : " }, {
|
|
290
|
+
default: withCtx(() => [
|
|
291
|
+
createVNode(unref(MKCodeEditor), {
|
|
292
|
+
modelValue: curEditModule.value.editorCss,
|
|
293
|
+
"onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => curEditModule.value.editorCss = $event),
|
|
294
|
+
extensions: [unref(css)()],
|
|
295
|
+
style: { "border": "1px solid #ccc" }
|
|
296
|
+
}, null, 8, ["modelValue", "extensions"])
|
|
297
|
+
]),
|
|
298
|
+
_: 1
|
|
299
|
+
})
|
|
300
|
+
]),
|
|
301
|
+
_: 1
|
|
302
|
+
}, 8, ["model"])) : createCommentVNode("", true)
|
|
303
|
+
]),
|
|
304
|
+
_: 1
|
|
305
|
+
}, 8, ["modelValue", "title"])
|
|
306
|
+
]);
|
|
307
|
+
};
|
|
308
|
+
}
|
|
309
|
+
});
|
|
310
|
+
export {
|
|
311
|
+
_sfc_main as default
|
|
312
|
+
};
|
|
313
|
+
//# sourceMappingURL=DocModuleEditForm.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DocModuleEditForm.vue.js","sources":["../../../../../../src/modules/cms/pages/cms-settigns/DocModuleEditForm.vue"],"sourcesContent":["<template>\r\n <div style=\" width: 500px;max-height: 700px;overflow: auto;\">\r\n <el-card v-for=\"mod in modules\" style=\"width: 100%;margin-top: 10px;box-sizing: border-box;\" shadow=\"hover\">\r\n <div style=\"display: flex; justify-content: space-between;\">\r\n <div>{{mod.title}} [{{mod.name}}]</div>\r\n <div>\r\n <el-button type=\"primary\" text @click=\"editModuleHandle(mod)\">编辑</el-button>\r\n <el-button type=\"danger\" text @click=\"deleteModuleHandle(mod)\">删除</el-button>\r\n </div>\r\n </div>\r\n </el-card>\r\n <el-button type=\"primary\" @click=\"addModuleHandle\" style=\"width: 100%;margin-top: 10px;box-sizing: border-box;\">添加模块</el-button>\r\n <el-dialog v-model=\"dialogVisible\" :title=\"dialogTitle\" :width=\"800\">\r\n <el-form v-if=\"curEditModule\" :model=\"curEditModule\" label-width=\"auto\" label-position=\"top\" style=\"max-height: 500px;overflow: auto;padding: 20px;\">\r\n <el-form-item label=\"模块名称 : \">\r\n <el-input v-model=\"curEditModule.name\" :disabled=\"disabledName\" clearable />\r\n </el-form-item>\r\n <el-form-item label=\"模块描述 : \" style=\"margin-bottom: 20px;\">\r\n <el-input v-model=\"curEditModule.title\" clearable />\r\n </el-form-item>\r\n <el-form-item label=\"模块封面图 : \" style=\"margin-bottom: 20px;\">\r\n <MKUploadImage v-model=\"curEditModule.cover\" width=\"700px\" height=\"300px\" :uploadContext=\"new ImageUploadContext('')\">\r\n\r\n </MKUploadImage>\r\n </el-form-item>\r\n <el-form-item label=\"模块HTML模版 : \" style=\"margin-bottom: 20px;\">\r\n <MKCodeEditor v-model=\"curEditModule.template\" :extensions=\"[html()]\" style=\"border: 1px solid #ccc;\">\r\n\r\n </MKCodeEditor>\r\n </el-form-item>\r\n <el-form-item label=\"模块配置面板 : \" style=\"margin-bottom: 20px;\">\r\n <MKCodeEditor v-model=\"curEditModule.options\" :extensions=\"[json()]\" style=\"border: 1px solid #ccc;\">\r\n\r\n </MKCodeEditor>\r\n </el-form-item>\r\n <el-form-item label=\"模块编辑样式 : \">\r\n <MKCodeEditor v-model=\"curEditModule.editorCss\" :extensions=\"[css()]\" style=\"border: 1px solid #ccc;\">\r\n\r\n </MKCodeEditor>\r\n </el-form-item>\r\n </el-form>\r\n <template #footer>\r\n <div class=\"dialog-footer\">\r\n <el-button @click=\"dialogVisible = false\">取消</el-button>\r\n <el-button type=\"primary\" @click=\"saveModuleHandle\"> 保存 </el-button>\r\n </div>\r\n </template>\r\n </el-dialog>\r\n </div>\r\n</template>\r\n \r\n<script setup lang=\"ts\">\r\nimport { defineProps,watch,ref } from \"vue\"\r\nimport { ImageUploadContext } from \"../../../ms\";\r\nimport { ModuleType } from \"../../../../components/basic/doc-editor/plugins/ModulePlugin/composables\"\r\nimport { MKCodeEditor } from \"../../../../components/basic/code-editor\";\r\nimport { ElMessageBox,ElMessage } from 'element-plus'\r\nimport { json } from \"@codemirror/lang-json\";\r\nimport { html } from \"@codemirror/lang-html\";\r\nimport { css } from \"@codemirror/lang-css\";\r\n\r\nconst props = defineProps({ modules:{ type:Array<ModuleType>,default(){ return [] } } })\r\nconst dialogVisible = ref<boolean>(false)\r\nconst dialogTitle = ref<string>(\"添加模块\")\r\nconst curEditModule = ref<any>(null)\r\nconst disabledName = ref<boolean>(false)\r\n \r\n// 添加模块\r\nconst addModuleHandle = ()=>{\r\n dialogTitle.value = \"添加模块\";\r\n curEditModule.value = {\r\n name:\"\",\r\n title:\"新增模块\",\r\n cover:\"\",\r\n template:\"\",\r\n editorCss:\"\",\r\n options:\"\"\r\n };\r\n dialogVisible.value = true;\r\n disabledName.value = false;\r\n}\r\n\r\n// 编辑模块\r\nconst editModuleHandle = (data:any)=>{\r\n dialogTitle.value = `编辑模块【${data.name}】`;\r\n curEditModule.value = Object.assign({},data,{\r\n options:JSON.stringify(data.options,null,4)\r\n });\r\n dialogVisible.value = true;\r\n disabledName.value = true;\r\n}\r\n\r\n// 删除模块\r\nconst deleteModuleHandle = (data:any)=>{\r\n\r\n ElMessageBox.confirm(`确认删除模块【${data.name}】?`).then(() => {\r\n\r\n let modules = props.modules;\r\n\r\n for(let i = 0;i < modules.length; i++){\r\n if(modules[i].name == data.name){\r\n modules.splice(i,1);\r\n console.log(modules);\r\n break;\r\n }\r\n }\r\n\r\n dialogVisible.value = false;\r\n })\r\n .catch(e => {\r\n // catch error\r\n console.log(e);\r\n ElMessage.error({ message:\"删除失败!\"});\r\n })\r\n}\r\n\r\n// 保存模块\r\nconst saveModuleHandle = ()=>{\r\n \r\n try {\r\n if(curEditModule.value){\r\n\r\n const oldModule = props.modules?.find(item=>curEditModule.value.name == item.name)\r\n\r\n if(oldModule != null){\r\n Object.assign(oldModule,curEditModule.value,{\r\n options:JSON.parse(curEditModule.value.options)\r\n })\r\n }\r\n else{\r\n props.modules?.push(Object.assign({},curEditModule.value,{\r\n options:JSON.parse(curEditModule.value.options)\r\n }))\r\n }\r\n }\r\n\r\n curEditModule.value = null;\r\n dialogVisible.value = false;\r\n } catch (error) {\r\n console.log(error)\r\n ElMessage.error({ message:\"配置有误,保存失败!\"});\r\n }\r\n}\r\n\r\n </script>\r\n "],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6DA,UAAM,QAAQ;AACR,UAAA,gBAAgB,IAAa,KAAK;AAClC,UAAA,cAAc,IAAY,MAAM;AAChC,UAAA,gBAAgB,IAAS,IAAI;AAC7B,UAAA,eAAe,IAAa,KAAK;AAGvC,UAAM,kBAAkB,MAAI;AAC1B,kBAAY,QAAQ;AACpB,oBAAc,QAAQ;AAAA,QACpB,MAAK;AAAA,QACL,OAAM;AAAA,QACN,OAAM;AAAA,QACN,UAAS;AAAA,QACT,WAAU;AAAA,QACV,SAAQ;AAAA,MAAA;AAEV,oBAAc,QAAQ;AACtB,mBAAa,QAAQ;AAAA,IAAA;AAIjB,UAAA,mBAAmB,CAAC,SAAW;AACvB,kBAAA,QAAQ,QAAQ,KAAK,IAAI;AACrC,oBAAc,QAAQ,OAAO,OAAO,CAAA,GAAG,MAAK;AAAA,QACtC,SAAQ,KAAK,UAAU,KAAK,SAAQ,MAAK,CAAC;AAAA,MAAA,CAC3C;AACL,oBAAc,QAAQ;AACtB,mBAAa,QAAQ;AAAA,IAAA;AAIjB,UAAA,qBAAqB,CAAC,SAAW;AAErC,mBAAa,QAAQ,UAAU,KAAK,IAAI,IAAI,EAAE,KAAK,MAAM;AAEvD,YAAI,UAAU,MAAM;AAEpB,iBAAQ,IAAI,GAAE,IAAI,QAAQ,QAAQ,KAAI;AACpC,cAAG,QAAQ,CAAC,EAAE,QAAQ,KAAK,MAAK;AACtB,oBAAA,OAAO,GAAE,CAAC;AAClB,oBAAQ,IAAI,OAAO;AACnB;AAAA,UACF;AAAA,QACF;AAEA,sBAAc,QAAQ;AAAA,MAAA,CACvB,EACA,MAAM,CAAK,MAAA;AAEV,gBAAQ,IAAI,CAAC;AACb,kBAAU,MAAM,EAAE,SAAQ,QAAQ,CAAA;AAAA,MAAA,CACnC;AAAA,IAAA;AAIH,UAAM,mBAAmB,MAAI;;AAEvB,UAAA;AACF,YAAG,cAAc,OAAM;AAEf,gBAAA,aAAY,WAAM,YAAN,mBAAe,KAAK,UAAM,cAAc,MAAM,QAAQ,KAAK;AAE7E,cAAG,aAAa,MAAK;AACZ,mBAAA,OAAO,WAAU,cAAc,OAAM;AAAA,cAC1C,SAAQ,KAAK,MAAM,cAAc,MAAM,OAAO;AAAA,YAAA,CAC/C;AAAA,UAAA,OAEC;AACF,wBAAM,YAAN,mBAAe,KAAK,OAAO,OAAO,CAAC,GAAE,cAAc,OAAM;AAAA,cACvD,SAAQ,KAAK,MAAM,cAAc,MAAM,OAAO;AAAA,YAC/C,CAAA;AAAA,UACH;AAAA,QACF;AAEA,sBAAc,QAAQ;AACtB,sBAAc,QAAQ;AAAA,eACf,OAAO;AACd,gBAAQ,IAAI,KAAK;AACjB,kBAAU,MAAM,EAAE,SAAQ,aAAa,CAAA;AAAA,MACzC;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DocModuleEditForm.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|