@maketribe/ms-app 3.2.44 → 3.2.46

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.
Files changed (43) hide show
  1. package/dist/cjs/components/basic/lexical-editor/assets/doc-editor.css.js +1 -1
  2. package/dist/cjs/components/basic/lexical-editor/assets/doc-editor.css.js.map +1 -1
  3. package/dist/cjs/components/basic/lexical-editor/nodes/ModuleDecoratorNode.js +1 -1
  4. package/dist/cjs/components/basic/lexical-editor/nodes/ModuleDecoratorNode.js.map +1 -1
  5. package/dist/cjs/components/basic/lexical-editor/utils/html.js +1 -19
  6. package/dist/cjs/components/basic/lexical-editor/utils/html.js.map +1 -1
  7. package/dist/cjs/components/basic/lexical-editor/utils/module.js.map +1 -1
  8. package/dist/cjs/modules/cms/cms-settings.js +5 -1
  9. package/dist/cjs/modules/cms/cms-settings.js.map +1 -1
  10. package/dist/cjs/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js +40 -324
  11. package/dist/cjs/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js.map +1 -1
  12. package/dist/cjs/modules/cms/pages/cms-contents/components/part-banner.vue.js +362 -0
  13. package/dist/cjs/modules/cms/pages/cms-contents/components/part-banner.vue.js.map +1 -0
  14. package/dist/cjs/modules/cms/pages/cms-contents/components/part-banner.vue2.js +4 -0
  15. package/dist/cjs/modules/cms/pages/cms-contents/components/part-banner.vue2.js.map +1 -0
  16. package/dist/cjs/modules/cms/pages/cms-settigns/index.vue2.js +38 -15
  17. package/dist/cjs/modules/cms/pages/cms-settigns/index.vue2.js.map +1 -1
  18. package/dist/esm/components/basic/lexical-editor/assets/doc-editor.css.js +1 -1
  19. package/dist/esm/components/basic/lexical-editor/assets/doc-editor.css.js.map +1 -1
  20. package/dist/esm/components/basic/lexical-editor/nodes/ModuleDecoratorNode.js +1 -1
  21. package/dist/esm/components/basic/lexical-editor/nodes/ModuleDecoratorNode.js.map +1 -1
  22. package/dist/esm/components/basic/lexical-editor/utils/html.js +2 -20
  23. package/dist/esm/components/basic/lexical-editor/utils/html.js.map +1 -1
  24. package/dist/esm/components/basic/lexical-editor/utils/module.js.map +1 -1
  25. package/dist/esm/modules/cms/cms-settings.js +5 -1
  26. package/dist/esm/modules/cms/cms-settings.js.map +1 -1
  27. package/dist/esm/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js +41 -325
  28. package/dist/esm/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js.map +1 -1
  29. package/dist/esm/modules/cms/pages/cms-contents/components/part-banner.vue.js +363 -0
  30. package/dist/esm/modules/cms/pages/cms-contents/components/part-banner.vue.js.map +1 -0
  31. package/dist/esm/modules/cms/pages/cms-contents/components/part-banner.vue2.js +5 -0
  32. package/dist/esm/modules/cms/pages/cms-contents/components/part-banner.vue2.js.map +1 -0
  33. package/dist/esm/modules/cms/pages/cms-settigns/index.vue2.js +38 -15
  34. package/dist/esm/modules/cms/pages/cms-settigns/index.vue2.js.map +1 -1
  35. package/dist/style/index.css +1 -1
  36. package/dist/style/modules/cms/index.css +1 -1
  37. package/dist/style/modules/cms/pages/cms-contents/components/mk-cms-part-banner.css +1 -1
  38. package/dist/style/modules/cms/pages/cms-contents/index.css +1 -1
  39. package/dist/style/src/modules/cms/pages/cms-contents/components/mk-cms-part-banner.scss +1 -0
  40. package/dist/types/components/basic/lexical-editor/nodes/ModuleDecoratorNode.d.ts +1 -3
  41. package/dist/types/modules/cms/cms-settings.d.ts +5 -1
  42. package/dist/types/modules/cms/pages/cms-contents/components/part-banner.vue.d.ts +32 -0
  43. package/package.json +3 -3
@@ -0,0 +1,362 @@
1
+ "use strict";
2
+ const vue = require("vue");
3
+ const cmsSettings = require("../../../cms-settings.js");
4
+ const request = require("@maketribe/request");
5
+ const dm = require("@maketribe/dm");
6
+ const CmsAdContentsForm = require("../../../dataviews/cms-ad-contents/CmsAdContentsForm.js");
7
+ const CmsAdDefinesForm = require("../../../dataviews/cms-ad-defines/CmsAdDefinesForm.js");
8
+ require("element-plus");
9
+ require("@maketribe/utils");
10
+ require("../../../../../core/DataModelDefines.js");
11
+ require("vue-router");
12
+ require("@maketribe/locale");
13
+ require("../../../../ms/dataviews/ms-config/MsConfigTable.js");
14
+ require("lodash-es");
15
+ require("../../../../../components/basic/svg-icon/index.js");
16
+ require("../../../../../components/data-model/data-form/index.js");
17
+ require("../../../../../components/data-model/data-table/index.js");
18
+ require("../../../../../components/data-model/data-table-pagination/index.js");
19
+ require("../../../../../components/abstract/abstract-select/abstract-select.js");
20
+ require("../../../../../components/abstract/abstract-select/abstract-select-options.js");
21
+ require("../../../../../components/basic/button/button-options.js");
22
+ require("../../../../../components/basic/config-provider/index.js");
23
+ require("../../../../../components/basic/data-table-select/index.js");
24
+ require("../../../../../components/basic/data-select/index.js");
25
+ require("../../../../../components/basic/pagination/index.js");
26
+ require("../../../../../components/basic/system-provider/index.js");
27
+ require("../../../../../components/basic/code-editor/index.js");
28
+ require("../../../../../components/basic/json-editor/index.js");
29
+ require("../../../../../components/basic/page-container/index.js");
30
+ require("../../../../../components/basic/date-picker/index.js");
31
+ require("../../../../../components/basic/icon-select/index.js");
32
+ require("../../../../../components/basic/upload-file/upload-file.js");
33
+ require("../../../../../components/basic/upload-file/context/web-file-upload-context.js");
34
+ require("../../../../../components/basic/upload-file/context/web-file-upload-context-options.js");
35
+ require("../../../../../components/basic/upload-file/ui/upload-image/index.js");
36
+ require("../../../../../components/basic/upload-file/ui/upload-file/index.js");
37
+ require("../../../../../components/basic/upload-file/ui/upload-video/index.js");
38
+ require("../../../../../components/basic/upload-file/upload-file-options.js");
39
+ require("../../../../../components/basic/doc-editor/index.js");
40
+ require("../../../../../components/basic/copy-container/index.js");
41
+ require("../../../../../components/basic/image-cropper/index.js");
42
+ require("../../../../../components/basic/visual-page-editor/index.js");
43
+ require("../../../../../components/basic/lexical-editor/assets/iconfont.js");
44
+ require("@lexical/overflow");
45
+ require("@lexical/text");
46
+ require("@lexical/utils");
47
+ require("lexical");
48
+ require("@lexical/selection");
49
+ require("@lexical/link");
50
+ require("@lexical/rich-text");
51
+ require("../../../../../components/basic/lexical-editor/utils/html.js");
52
+ require("../../../../../components/basic/lexical-editor/utils/image.js");
53
+ const elIcons = require("@element-plus/icons-vue");
54
+ require("../../../../../components/basic/lexical-editor/composables/useElementBlockSelection.js");
55
+ require("@lexical/history");
56
+ ;/* empty css */
57
+ require("../../../../../components/basic/lexical-editor/nodes/ModuleDecoratorNode.js");
58
+ require("../../../../../components/basic/lexical-editor/nodes/ImageNode.js");
59
+ require("../../../../../components/basic/lexical-editor/nodes/ImageTextWarpNode.js");
60
+ require("../../../../../components/basic/lexical-editor/nodes/Template.js");
61
+ ;/* empty css */
62
+ ;/* empty css */
63
+ ;/* empty css */
64
+ require("../../../../../components/basic/lexical-editor/plugins/RichTextEditorPlugin.js");
65
+ require("../../../../../components/basic/lexical-editor/plugins/HashtagPlugin.js");
66
+ require("../../../../../components/basic/lexical-editor/plugins/ListPlugin.js");
67
+ require("../../../../../components/basic/lexical-editor/plugins/CheckListPlugin.js");
68
+ require("../../../../../components/basic/lexical-editor/plugins/TablePlugin.js");
69
+ ;/* empty css */
70
+ require("@lexical/dragon");
71
+ require("@lexical/plain-text");
72
+ require("../../../../../components/basic/lexical-editor/stage/DecoratedTeleports.js");
73
+ ;/* empty css */
74
+ require("../../../../../components/business/verify-dialog/verify-dialog-option.js");
75
+ require("../../../../../components/business/resource-list/index.js");
76
+ require("../../../../../components/business/resource-manager/index.js");
77
+ require("../../../../ms/dataviews/department/DepartmentForm.js");
78
+ require("../../../../ms/dataviews/department/DepartmentTable.js");
79
+ require("../../../../ms/dataviews/department/DepartmentTree.js");
80
+ require("../../../../ms/dataviews/log/operate-log/OperateLogTable.js");
81
+ require("../../../../ms/dataviews/log/login-log/LoginLogTable.js");
82
+ require("../../../../ms/dataviews/log/request-log/RequestLogTable.js");
83
+ require("../../../../ms/dataviews/log/local-log/LocalLogTree.js");
84
+ require("../../../../ms/components/material-list/index.js");
85
+ require("../../../../ms/components/markdown-editor/index.js");
86
+ require("../../../../ms/components/rich-text-editor/index.js");
87
+ require("../../../../ms/material-upload-context/material-upload-context-options.js");
88
+ require("../../../../ms/material-upload-context/material-upload-context.js");
89
+ require("@codemirror/lang-html");
90
+ const _hoisted_1 = { class: "mk-cms-part-banner__list_item" };
91
+ const _hoisted_2 = { class: "mk-cms-part-banner__list_content" };
92
+ const _hoisted_3 = /* @__PURE__ */ vue.createElementVNode("div", {
93
+ slot: "placeholder",
94
+ class: "image-slot"
95
+ }, [
96
+ /* @__PURE__ */ vue.createTextVNode(" 加载中"),
97
+ /* @__PURE__ */ vue.createElementVNode("span", { class: "dot" }, "...")
98
+ ], -1);
99
+ const _hoisted_4 = ["src"];
100
+ const _hoisted_5 = { class: "mk-cms-part-banner__list_bottom" };
101
+ const _hoisted_6 = { class: "mk-cms-part-banner__list_title" };
102
+ const _hoisted_7 = { class: "mk-cms-part-banner__list_action-mask" };
103
+ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
104
+ __name: "part-banner",
105
+ props: { adkey: { type: String }, title: { type: String }, deviceValue: { type: String, default: "" }, viewWidth: { type: Number } },
106
+ setup(__props) {
107
+ const props = __props;
108
+ const adRequest = new request.DataViewRequest({ name: "ad-define", moduleName: "cms" });
109
+ const adContentRequest = new request.DataViewRequest({ name: "ad-content", moduleName: "cms" });
110
+ const cmsSettings$1 = cmsSettings.useCmsSettings();
111
+ const partAdBanner = vue.ref(null);
112
+ const loading = vue.ref(true);
113
+ const adContentForm = vue.reactive(new CmsAdContentsForm.CmsAdContentsForm({ cutSise: cmsSettings$1.part.bannerImageSize }));
114
+ const adDefineForm = vue.reactive(new CmsAdDefinesForm.CmsAdDefinesForm());
115
+ vue.ref(null);
116
+ const partAdBannerHeight = vue.computed(() => {
117
+ var _a, _b;
118
+ const sizes = cmsSettings$1.part.bannerImageSize.split("*");
119
+ let widthHeightRatio = 0;
120
+ if (!!((_a = partAdBanner.value) == null ? void 0 : _a.width) && !!((_b = partAdBanner.value) == null ? void 0 : _b.height)) {
121
+ widthHeightRatio = partAdBanner.value.width / partAdBanner.value.height;
122
+ } else if (sizes.length && sizes[0] && sizes[1]) {
123
+ widthHeightRatio = sizes[0] / sizes[1];
124
+ }
125
+ if (widthHeightRatio && props.viewWidth) {
126
+ return props.viewWidth / widthHeightRatio + "px";
127
+ }
128
+ return "240px";
129
+ });
130
+ adContentForm.beforeSubmitEvent.on(async ({ data }) => {
131
+ if (partAdBanner.value) {
132
+ data.adDefineId = partAdBanner.value.id;
133
+ } else {
134
+ try {
135
+ const widthAndHeight = cmsSettings$1.part.bannerImageSize.split("*");
136
+ const result = await adRequest.add({ key: props.adkey, desc: `${props.title}的Banner`, width: widthAndHeight[0], height: widthAndHeight[1] });
137
+ if (result.data.code == 200) {
138
+ partAdBanner.value = { id: result.data.data };
139
+ data.adDefineId = result.data.data;
140
+ }
141
+ } catch (error) {
142
+ dm.Messager.error({ message: "添加失败!" });
143
+ }
144
+ }
145
+ });
146
+ adDefineForm.formatSubmitData = (data) => {
147
+ if (partAdBanner.value) {
148
+ data.id = partAdBanner.value.id;
149
+ } else {
150
+ data.key = props.adkey;
151
+ data.desc = `${props.title}的Banner`;
152
+ }
153
+ return data;
154
+ };
155
+ adContentForm.submittedEvent.on(() => loadPartAdDefineData());
156
+ adDefineForm.submittedEvent.on(() => loadPartAdDefineData());
157
+ const loadPartAdDefineData = async () => {
158
+ var _a, _b;
159
+ try {
160
+ loading.value = true;
161
+ const where = new request.Where();
162
+ where.addCondition("key", "=", props.adkey);
163
+ partAdBanner.value = (await adRequest.query({
164
+ data: {
165
+ pn: 1,
166
+ pc: 1e6,
167
+ condition: where
168
+ }
169
+ })).data.data[0];
170
+ if (((_a = partAdBanner.value) == null ? void 0 : _a.width) && ((_b = partAdBanner.value) == null ? void 0 : _b.width)) {
171
+ adContentForm.changeCutSise(`${partAdBanner.value.width}*${partAdBanner.value.height}`);
172
+ }
173
+ } catch (e) {
174
+ console.error(e);
175
+ } finally {
176
+ loading.value = false;
177
+ }
178
+ };
179
+ const showAdContentHandle = async (id) => {
180
+ await dm.Dialoger.dataFormDialog({
181
+ dataForm: adContentForm,
182
+ recId: id
183
+ });
184
+ };
185
+ const showAdDefineHandle = async () => {
186
+ var _a;
187
+ await dm.Dialoger.dataFormDialog({
188
+ title: "设置素材显示尺寸",
189
+ dataForm: adDefineForm,
190
+ recId: (_a = partAdBanner.value) == null ? void 0 : _a.id
191
+ });
192
+ adDefineForm.getColumn("contents").visible = false;
193
+ adDefineForm.getColumn("key").visible = false;
194
+ adDefineForm.getColumn("desc").visible = false;
195
+ };
196
+ const deleteAdContentHandle = async (id) => {
197
+ try {
198
+ const isConfirm = await dm.Dialoger.confirm({ title: "确定删除?", message: "确定删除当前轮播吗?", type: "warning" });
199
+ if (!isConfirm) return;
200
+ const result = await adContentRequest.delete(id);
201
+ if (result.data.code != 200) {
202
+ dm.Messager.error({ message: result.data.msg || "删除失败!" });
203
+ return;
204
+ }
205
+ ;
206
+ loadPartAdDefineData();
207
+ } catch (error) {
208
+ dm.Messager.error({ message: "删除失败!" });
209
+ }
210
+ };
211
+ vue.onMounted(() => {
212
+ vue.watch(() => props.adkey, () => loadPartAdDefineData(), { immediate: true });
213
+ });
214
+ return (_ctx, _cache) => {
215
+ var _a;
216
+ const _component_el_image = vue.resolveComponent("el-image");
217
+ const _component_el_button = vue.resolveComponent("el-button");
218
+ const _component_el_carousel_item = vue.resolveComponent("el-carousel-item");
219
+ const _component_el_carousel = vue.resolveComponent("el-carousel");
220
+ const _component_el_text = vue.resolveComponent("el-text");
221
+ const _component_el_empty = vue.resolveComponent("el-empty");
222
+ const _directive_loading = vue.resolveDirective("loading");
223
+ return vue.withDirectives((vue.openBlock(), vue.createElementBlock("div", null, [
224
+ partAdBanner.value && ((_a = partAdBanner.value.contents) == null ? void 0 : _a.length) ? (vue.openBlock(), vue.createBlock(_component_el_carousel, {
225
+ key: 0,
226
+ autoplay: false,
227
+ height: partAdBannerHeight.value,
228
+ arrow: "always",
229
+ ref: "carouselRef"
230
+ }, {
231
+ default: vue.withCtx(() => [
232
+ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(partAdBanner.value.contents, (item) => {
233
+ return vue.openBlock(), vue.createBlock(_component_el_carousel_item, {
234
+ key: item.id
235
+ }, {
236
+ default: vue.withCtx(() => [
237
+ vue.createElementVNode("div", _hoisted_1, [
238
+ vue.createElementVNode("div", _hoisted_2, [
239
+ item.type == 1 ? (vue.openBlock(), vue.createBlock(_component_el_image, {
240
+ key: 0,
241
+ class: "mk-cms-part-banner__list_content_img",
242
+ src: item.path,
243
+ fit: "cover",
244
+ tyle: "width: 100%;height: 100%;"
245
+ }, {
246
+ default: vue.withCtx(() => [
247
+ _hoisted_3
248
+ ]),
249
+ _: 2
250
+ }, 1032, ["src"])) : vue.createCommentVNode("", true),
251
+ item.type == 2 ? (vue.openBlock(), vue.createElementBlock("video", {
252
+ key: 1,
253
+ class: "video",
254
+ src: item.path,
255
+ style: { "width": "100%", "height": "100%" },
256
+ controls: ""
257
+ }, null, 8, _hoisted_4)) : vue.createCommentVNode("", true)
258
+ ]),
259
+ vue.createElementVNode("div", _hoisted_5, [
260
+ vue.createElementVNode("div", _hoisted_6, vue.toDisplayString(item.title), 1),
261
+ vue.createElementVNode("div", null, vue.toDisplayString(item.desc), 1)
262
+ ]),
263
+ vue.createElementVNode("div", _hoisted_7, [
264
+ vue.createVNode(_component_el_button, {
265
+ type: "primary",
266
+ style: { "margin-left": "10px" },
267
+ icon: vue.unref(elIcons.EditPen),
268
+ onClick: ($event) => showAdContentHandle(item.id)
269
+ }, {
270
+ default: vue.withCtx(() => [
271
+ vue.createTextVNode(" 编辑当前轮播素材 ")
272
+ ]),
273
+ _: 2
274
+ }, 1032, ["icon", "onClick"]),
275
+ vue.createVNode(_component_el_button, {
276
+ type: "primary",
277
+ style: { "margin-left": "10px" },
278
+ icon: vue.unref(elIcons.Plus),
279
+ onClick: _cache[0] || (_cache[0] = ($event) => showAdContentHandle(null))
280
+ }, {
281
+ default: vue.withCtx(() => [
282
+ vue.createTextVNode(" 添加新轮播素材 ")
283
+ ]),
284
+ _: 1
285
+ }, 8, ["icon"]),
286
+ vue.createVNode(_component_el_button, {
287
+ type: "primary",
288
+ style: { "margin-left": "10px" },
289
+ icon: vue.unref(elIcons.EditPen),
290
+ onClick: _cache[1] || (_cache[1] = ($event) => showAdDefineHandle())
291
+ }, {
292
+ default: vue.withCtx(() => [
293
+ vue.createTextVNode(" 设置素材显示尺寸 ")
294
+ ]),
295
+ _: 1
296
+ }, 8, ["icon"]),
297
+ vue.createVNode(_component_el_button, {
298
+ type: "danger",
299
+ style: { "margin-left": "10px" },
300
+ icon: vue.unref(elIcons.Delete),
301
+ onClick: ($event) => deleteAdContentHandle(item.id)
302
+ }, {
303
+ default: vue.withCtx(() => [
304
+ vue.createTextVNode(" 删除当前素材 ")
305
+ ]),
306
+ _: 2
307
+ }, 1032, ["icon", "onClick"])
308
+ ])
309
+ ])
310
+ ]),
311
+ _: 2
312
+ }, 1024);
313
+ }), 128))
314
+ ]),
315
+ _: 1
316
+ }, 8, ["height"])) : (vue.openBlock(), vue.createBlock(_component_el_empty, {
317
+ key: 1,
318
+ "image-size": 80,
319
+ style: vue.normalizeStyle({ height: partAdBannerHeight.value })
320
+ }, {
321
+ description: vue.withCtx(() => [
322
+ vue.createVNode(_component_el_text, null, {
323
+ default: vue.withCtx(() => [
324
+ vue.createTextVNode("暂无" + vue.toDisplayString(__props.title) + "轮播素材数据", 1)
325
+ ]),
326
+ _: 1
327
+ }),
328
+ vue.createVNode(_component_el_button, {
329
+ type: "primary",
330
+ text: "",
331
+ style: { "margin-left": "10px" },
332
+ icon: vue.unref(elIcons.Plus),
333
+ onClick: _cache[2] || (_cache[2] = ($event) => showAdDefineHandle())
334
+ }, {
335
+ default: vue.withCtx(() => [
336
+ vue.createTextVNode(" 设置素材显示尺寸 ")
337
+ ]),
338
+ _: 1
339
+ }, 8, ["icon"]),
340
+ vue.createVNode(_component_el_button, {
341
+ type: "primary",
342
+ text: "",
343
+ style: { "margin-left": "10px" },
344
+ icon: vue.unref(elIcons.Plus),
345
+ onClick: _cache[3] || (_cache[3] = ($event) => showAdContentHandle(null))
346
+ }, {
347
+ default: vue.withCtx(() => [
348
+ vue.createTextVNode(" 添加 ")
349
+ ]),
350
+ _: 1
351
+ }, 8, ["icon"])
352
+ ]),
353
+ _: 1
354
+ }, 8, ["style"]))
355
+ ])), [
356
+ [_directive_loading, loading.value]
357
+ ]);
358
+ };
359
+ }
360
+ });
361
+ module.exports = _sfc_main;
362
+ //# sourceMappingURL=part-banner.vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"part-banner.vue.js","sources":["../../../../../../../src/modules/cms/pages/cms-contents/components/part-banner.vue"],"sourcesContent":["<template>\r\n <div v-loading=\"loading\">\r\n <el-carousel v-if=\"partAdBanner && partAdBanner.contents?.length\" :autoplay=\"false\" :height=\"partAdBannerHeight\"\r\n arrow=\"always\" ref=\"carouselRef\">\r\n <el-carousel-item v-for=\"item in partAdBanner.contents\" :key=\"item.id\">\r\n <div class=\"mk-cms-part-banner__list_item\">\r\n <div class=\"mk-cms-part-banner__list_content\">\r\n <el-image class=\"mk-cms-part-banner__list_content_img\" v-if=\"item.type == 1\" :src=\"item.path\" fit=\"cover\"\r\n tyle=\"width: 100%;height: 100%;\">\r\n <div slot=\"placeholder\" class=\"image-slot\">\r\n 加载中<span class=\"dot\">...</span>\r\n </div>\r\n </el-image>\r\n <video class=\"video\" v-if=\"item.type == 2\" :src=\"item.path\" style=\"width: 100%;height: 100%;\"\r\n controls></video>\r\n </div>\r\n <div class=\"mk-cms-part-banner__list_bottom\">\r\n <div class=\"mk-cms-part-banner__list_title\">{{ item.title }}</div>\r\n <div>{{ item.desc }}</div>\r\n </div>\r\n <div class=\"mk-cms-part-banner__list_action-mask\">\r\n <el-button type=\"primary\" style=\"margin-left: 10px;\" :icon=\"EditPen\" @click=\"showAdContentHandle(item.id)\">\r\n 编辑当前轮播素材\r\n </el-button>\r\n <el-button type=\"primary\" style=\"margin-left: 10px;\" :icon=\"Plus\" @click=\"showAdContentHandle(null)\">\r\n 添加新轮播素材\r\n </el-button>\r\n <el-button type=\"primary\" style=\"margin-left: 10px;\" :icon=\"EditPen\" @click=\"showAdDefineHandle()\">\r\n 设置素材显示尺寸\r\n </el-button>\r\n <el-button type=\"danger\" style=\"margin-left: 10px;\" :icon=\"Delete\" @click=\"deleteAdContentHandle(item.id)\">\r\n 删除当前素材\r\n </el-button>\r\n </div>\r\n </div>\r\n </el-carousel-item>\r\n </el-carousel>\r\n <el-empty v-else :image-size=\"80\" :style=\"{ height: partAdBannerHeight }\">\r\n <template #description>\r\n <el-text>暂无{{ title }}轮播素材数据</el-text>\r\n <el-button type=\"primary\" text style=\"margin-left: 10px;\" :icon=\"Plus\" @click=\"showAdDefineHandle()\">\r\n 设置素材显示尺寸\r\n </el-button>\r\n <el-button type=\"primary\" text style=\"margin-left: 10px;\" :icon=\"Plus\" @click=\"showAdContentHandle(null)\">\r\n 添加\r\n </el-button>\r\n </template>\r\n </el-empty>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { useCmsSettings } from \"../../../cms-settings\"\r\nimport { onMounted, reactive, ref, watch, defineProps, computed } from \"vue\";\r\nimport { DataViewRequest, DVQueryable, Where } from \"@maketribe/request\";\r\nimport { Dialoger, Messager } from \"@maketribe/dm\";\r\nimport { CmsAdContentsForm, CmsAdDefinesForm } from \"../../../dataviews\";\r\nimport { EditPen, Plus, Delete } from \"@element-plus/icons-vue\"\r\n\r\nconst props = defineProps({ adkey: { type: String }, title: { type: String }, deviceValue: { type: String, default: \"\" }, viewWidth: { type: Number } })\r\n\r\n// 广告定义数据表\r\nconst adRequest = new DataViewRequest({ name: \"ad-define\", moduleName: \"cms\" });\r\nconst adContentRequest = new DataViewRequest({ name: \"ad-content\", moduleName: \"cms\" });\r\n// cms 配置\r\nconst cmsSettings = useCmsSettings();\r\n// 栏目广告\r\nconst partAdBanner = ref<any | null>(null);\r\nconst loading = ref(true);\r\nconst adContentForm = reactive<CmsAdContentsForm>(new CmsAdContentsForm({ cutSise: cmsSettings.part.bannerImageSize }))\r\nconst adDefineForm = reactive<CmsAdDefinesForm>(new CmsAdDefinesForm())\r\nconst warpRef = ref<any | null>(null);\r\n// 计算广告的高度\r\nconst partAdBannerHeight = computed(() => {\r\n\r\n // 全局Banner尺寸信息\r\n const sizes = cmsSettings.part.bannerImageSize.split(\"*\") as Array<any>;\r\n\r\n // 宽高比\r\n let widthHeightRatio = 0;\r\n\r\n //设定的比例\r\n if (!!partAdBanner.value?.width && !!partAdBanner.value?.height) {\r\n widthHeightRatio = partAdBanner.value.width / partAdBanner.value.height;\r\n }\r\n else if (sizes.length && sizes[0] && sizes[1]) {\r\n widthHeightRatio = sizes[0] / sizes[1]\r\n }\r\n\r\n if (widthHeightRatio && props.viewWidth) { return (props.viewWidth / widthHeightRatio) + \"px\" }\r\n\r\n return \"240px\"\r\n\r\n})\r\n\r\n// 内容添加之前监测广告是否存在不存在先添加广告\r\nadContentForm.beforeSubmitEvent.on(async ({ data }) => {\r\n\r\n if (partAdBanner.value) {\r\n data.adDefineId = partAdBanner.value.id as any;\r\n }\r\n else {\r\n try {\r\n\r\n const widthAndHeight = cmsSettings.part.bannerImageSize.split(\"*\");\r\n // 添加广告\r\n const result = await adRequest.add({ key: props.adkey, desc: `${props.title}的Banner`, width: widthAndHeight[0], height: widthAndHeight[1] })\r\n\r\n if (result.data.code == 200) {\r\n partAdBanner.value = { id: result.data.data as string }\r\n data.adDefineId = result.data.data;\r\n }\r\n\r\n } catch (error) {\r\n Messager.error({ message: \"添加失败!\" });\r\n }\r\n }\r\n\r\n})\r\n\r\n//提交判断是否存在,判断更新还是添加\r\nadDefineForm.formatSubmitData = ((data) => {\r\n if (partAdBanner.value) {\r\n data.id = partAdBanner.value.id as any;\r\n } else {\r\n data.key = props.adkey\r\n data.desc = `${props.title}的Banner`\r\n }\r\n return data\r\n})\r\n\r\n// 添加完成则刷新\r\nadContentForm.submittedEvent.on(() => loadPartAdDefineData())\r\n// 添加完成则刷新\r\nadDefineForm.submittedEvent.on(() => loadPartAdDefineData())\r\n\r\n//加载栏目广告\r\nconst loadPartAdDefineData = async () => {\r\n\r\n try {\r\n\r\n loading.value = true;\r\n const where = new Where()\r\n where.addCondition(\"key\", \"=\", props.adkey);\r\n // 加载广告定义\r\n partAdBanner.value = (await adRequest.query({\r\n data: {\r\n pn: 1,\r\n pc: 1000000,\r\n condition: where\r\n }\r\n })).data.data[0];\r\n\r\n if (partAdBanner.value?.width && partAdBanner.value?.width) {\r\n adContentForm.changeCutSise(`${partAdBanner.value.width}*${partAdBanner.value.height}`)\r\n }\r\n\r\n } catch (e) {\r\n console.error(e)\r\n } finally {\r\n loading.value = false;\r\n }\r\n}\r\n\r\n//显示栏目广告的编辑弹窗\r\nconst showAdContentHandle = async (id: any) => {\r\n await Dialoger.dataFormDialog({\r\n dataForm: adContentForm as CmsAdContentsForm,\r\n recId: id\r\n })\r\n}\r\n\r\n//显示栏目广告定义的编辑弹窗\r\nconst showAdDefineHandle = async () => {\r\n await Dialoger.dataFormDialog({\r\n title: \"设置素材显示尺寸\",\r\n dataForm: adDefineForm as CmsAdDefinesForm,\r\n recId: partAdBanner.value?.id\r\n })\r\n adDefineForm.getColumn(\"contents\")!.visible = false;\r\n adDefineForm.getColumn(\"key\")!.visible = false;\r\n adDefineForm.getColumn(\"desc\")!.visible = false;\r\n}\r\n\r\nconst deleteAdContentHandle = async (id: any) => {\r\n try {\r\n const isConfirm = await Dialoger.confirm({ title: \"确定删除?\", message: \"确定删除当前轮播吗?\", type: \"warning\" })\r\n if (!isConfirm) return;\r\n const result = await adContentRequest.delete(id)\r\n if (result.data.code != 200) {\r\n Messager.error({ message: result.data.msg || \"删除失败!\" })\r\n return\r\n };\r\n loadPartAdDefineData()\r\n } catch (error) {\r\n Messager.error({ message: \"删除失败!\" })\r\n }\r\n}\r\n\r\n// 组件挂载的时候\r\nonMounted(() => {\r\n watch(() => props.adkey, () => loadPartAdDefineData(), { immediate: true })\r\n})\r\n\r\n</script>\r\n<style lang='scss'></style>\r\n"],"names":["DataViewRequest","cmsSettings","useCmsSettings","ref","reactive","CmsAdContentsForm","CmsAdDefinesForm","computed","Messager","Where","Dialoger","onMounted","watch"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ const partBanner_vue_vue_type_script_setup_true_lang = require("./part-banner.vue.js");
3
+ module.exports = partBanner_vue_vue_type_script_setup_true_lang;
4
+ //# sourceMappingURL=part-banner.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"part-banner.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
@@ -53,6 +53,8 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
53
53
  const _component_el_radio = vue.resolveComponent("el-radio");
54
54
  const _component_el_radio_group = vue.resolveComponent("el-radio-group");
55
55
  const _component_el_form_item = vue.resolveComponent("el-form-item");
56
+ const _component_el_checkbox = vue.resolveComponent("el-checkbox");
57
+ const _component_el_checkbox_group = vue.resolveComponent("el-checkbox-group");
56
58
  const _component_el_form = vue.resolveComponent("el-form");
57
59
  const _component_el_tab_pane = vue.resolveComponent("el-tab-pane");
58
60
  const _component_el_divider = vue.resolveComponent("el-divider");
@@ -101,7 +103,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
101
103
  vue.createElementVNode("div", _hoisted_3, [
102
104
  vue.createVNode(_component_el_tabs, {
103
105
  modelValue: activeTabName.value,
104
- "onUpdate:modelValue": _cache[15] || (_cache[15] = ($event) => activeTabName.value = $event),
106
+ "onUpdate:modelValue": _cache[16] || (_cache[16] = ($event) => activeTabName.value = $event),
105
107
  class: "mk-cms-contents__body__right"
106
108
  }, {
107
109
  default: vue.withCtx(() => [
@@ -139,6 +141,27 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
139
141
  }, 8, ["modelValue"])
140
142
  ]),
141
143
  _: 1
144
+ }),
145
+ vue.createVNode(_component_el_form_item, { label: "兼容设备 : " }, {
146
+ default: vue.withCtx(() => [
147
+ vue.createVNode(_component_el_checkbox_group, {
148
+ modelValue: vue.unref(CmsSettings).devices,
149
+ "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(CmsSettings).devices = $event)
150
+ }, {
151
+ default: vue.withCtx(() => [
152
+ vue.createVNode(_component_el_checkbox, {
153
+ label: "PC端",
154
+ value: "pc"
155
+ }),
156
+ vue.createVNode(_component_el_checkbox, {
157
+ label: "移动端",
158
+ value: "mobile"
159
+ })
160
+ ]),
161
+ _: 1
162
+ }, 8, ["modelValue"])
163
+ ]),
164
+ _: 1
142
165
  })
143
166
  ]),
144
167
  _: 1
@@ -166,7 +189,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
166
189
  default: vue.withCtx(() => [
167
190
  vue.createVNode(_component_el_switch, {
168
191
  modelValue: vue.unref(CmsSettings).part.openBanner,
169
- "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(CmsSettings).part.openBanner = $event)
192
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(CmsSettings).part.openBanner = $event)
170
193
  }, null, 8, ["modelValue"])
171
194
  ]),
172
195
  _: 1
@@ -178,7 +201,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
178
201
  default: vue.withCtx(() => [
179
202
  vue.createVNode(_component_el_input, {
180
203
  modelValue: vue.unref(CmsSettings).part.bannerImageSize,
181
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(CmsSettings).part.bannerImageSize = $event),
204
+ "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(CmsSettings).part.bannerImageSize = $event),
182
205
  placeholder: "",
183
206
  style: { "max-width": "200px" }
184
207
  }, null, 8, ["modelValue"])
@@ -198,7 +221,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
198
221
  default: vue.withCtx(() => [
199
222
  vue.createVNode(_component_el_input, {
200
223
  modelValue: vue.unref(CmsSettings).part.doc.css,
201
- "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(CmsSettings).part.doc.css = $event),
224
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(CmsSettings).part.doc.css = $event),
202
225
  autosize: { minRows: 2, maxRows: 4 },
203
226
  type: "textarea",
204
227
  placeholder: "多个css url , 号分割,逗号必须是英文逗号"
@@ -210,7 +233,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
210
233
  default: vue.withCtx(() => [
211
234
  vue.createVNode(_component_el_input, {
212
235
  modelValue: vue.unref(CmsSettings).part.doc.js,
213
- "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(CmsSettings).part.doc.js = $event),
236
+ "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(CmsSettings).part.doc.js = $event),
214
237
  autosize: { minRows: 2, maxRows: 4 },
215
238
  type: "textarea",
216
239
  placeholder: "多个 js url , 号分割,逗号必须是英文逗号"
@@ -238,7 +261,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
238
261
  default: vue.withCtx(() => [
239
262
  vue.createVNode(_component_el_switch, {
240
263
  modelValue: vue.unref(CmsSettings).content.useTop,
241
- "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => vue.unref(CmsSettings).content.useTop = $event)
264
+ "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.unref(CmsSettings).content.useTop = $event)
242
265
  }, null, 8, ["modelValue"])
243
266
  ]),
244
267
  _: 1
@@ -247,7 +270,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
247
270
  default: vue.withCtx(() => [
248
271
  vue.createVNode(_component_el_switch, {
249
272
  modelValue: vue.unref(CmsSettings).content.useNew,
250
- "onUpdate:modelValue": _cache[6] || (_cache[6] = ($event) => vue.unref(CmsSettings).content.useNew = $event)
273
+ "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.unref(CmsSettings).content.useNew = $event)
251
274
  }, null, 8, ["modelValue"])
252
275
  ]),
253
276
  _: 1
@@ -256,7 +279,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
256
279
  default: vue.withCtx(() => [
257
280
  vue.createVNode(_component_el_switch, {
258
281
  modelValue: vue.unref(CmsSettings).content.useHotRecommend,
259
- "onUpdate:modelValue": _cache[7] || (_cache[7] = ($event) => vue.unref(CmsSettings).content.useHotRecommend = $event)
282
+ "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.unref(CmsSettings).content.useHotRecommend = $event)
260
283
  }, null, 8, ["modelValue"])
261
284
  ]),
262
285
  _: 1
@@ -265,7 +288,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
265
288
  default: vue.withCtx(() => [
266
289
  vue.createVNode(_component_el_switch, {
267
290
  modelValue: vue.unref(CmsSettings).content.usePartRecommend,
268
- "onUpdate:modelValue": _cache[8] || (_cache[8] = ($event) => vue.unref(CmsSettings).content.usePartRecommend = $event)
291
+ "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => vue.unref(CmsSettings).content.usePartRecommend = $event)
269
292
  }, null, 8, ["modelValue"])
270
293
  ]),
271
294
  _: 1
@@ -274,7 +297,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
274
297
  default: vue.withCtx(() => [
275
298
  vue.createVNode(_component_el_switch, {
276
299
  modelValue: vue.unref(CmsSettings).content.useTags,
277
- "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => vue.unref(CmsSettings).content.useTags = $event)
300
+ "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => vue.unref(CmsSettings).content.useTags = $event)
278
301
  }, null, 8, ["modelValue"])
279
302
  ]),
280
303
  _: 1
@@ -283,7 +306,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
283
306
  default: vue.withCtx(() => [
284
307
  vue.createVNode(_component_el_switch, {
285
308
  modelValue: vue.unref(CmsSettings).content.useAtlas,
286
- "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => vue.unref(CmsSettings).content.useAtlas = $event)
309
+ "onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => vue.unref(CmsSettings).content.useAtlas = $event)
287
310
  }, null, 8, ["modelValue"])
288
311
  ]),
289
312
  _: 1
@@ -292,7 +315,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
292
315
  default: vue.withCtx(() => [
293
316
  vue.createVNode(_component_el_input, {
294
317
  modelValue: vue.unref(CmsSettings).content.coverImageSize,
295
- "onUpdate:modelValue": _cache[11] || (_cache[11] = ($event) => vue.unref(CmsSettings).content.coverImageSize = $event),
318
+ "onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => vue.unref(CmsSettings).content.coverImageSize = $event),
296
319
  placeholder: "",
297
320
  style: { "max-width": "200px" }
298
321
  }, null, 8, ["modelValue"])
@@ -303,7 +326,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
303
326
  default: vue.withCtx(() => [
304
327
  vue.createVNode(_component_el_input, {
305
328
  modelValue: vue.unref(CmsSettings).content.bannerImageSize,
306
- "onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => vue.unref(CmsSettings).content.bannerImageSize = $event),
329
+ "onUpdate:modelValue": _cache[13] || (_cache[13] = ($event) => vue.unref(CmsSettings).content.bannerImageSize = $event),
307
330
  placeholder: "",
308
331
  style: { "max-width": "200px" }
309
332
  }, null, 8, ["modelValue"])
@@ -329,7 +352,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
329
352
  default: vue.withCtx(() => [
330
353
  vue.createVNode(_component_el_input, {
331
354
  modelValue: vue.unref(CmsSettings).content.doc.css,
332
- "onUpdate:modelValue": _cache[13] || (_cache[13] = ($event) => vue.unref(CmsSettings).content.doc.css = $event),
355
+ "onUpdate:modelValue": _cache[14] || (_cache[14] = ($event) => vue.unref(CmsSettings).content.doc.css = $event),
333
356
  autosize: { minRows: 2, maxRows: 4 },
334
357
  type: "textarea",
335
358
  placeholder: "多个css url , 号分割,逗号必须是英文逗号"
@@ -341,7 +364,7 @@ const _sfc_main = /* @__PURE__ */ vue.defineComponent({
341
364
  default: vue.withCtx(() => [
342
365
  vue.createVNode(_component_el_input, {
343
366
  modelValue: vue.unref(CmsSettings).content.doc.js,
344
- "onUpdate:modelValue": _cache[14] || (_cache[14] = ($event) => vue.unref(CmsSettings).content.doc.js = $event),
367
+ "onUpdate:modelValue": _cache[15] || (_cache[15] = ($event) => vue.unref(CmsSettings).content.doc.js = $event),
345
368
  autosize: { minRows: 2, maxRows: 4 },
346
369
  type: "textarea",
347
370
  placeholder: "多个 js url , 号分割,逗号必须是英文逗号"
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-settigns/index.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-appsettings__warp\" v-loading=\"loading\" style=\"\r\n height: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n\">\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=\"Operation\" style=\"margin-right: 5px\" />\r\n CMS应用设置\r\n </h3>\r\n </template>\r\n <template #extra>\r\n <div>\r\n <el-button-group>\r\n <el-button type=\"primary\" size=\"large\" text :disabled=\"!changed\" @click=\"saveHandle\">\r\n <MKSvgIcon iconClass=\"save\" />\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-appsettings__form_warp\" style=\"\r\n background: #fff;\r\n flex: 1;\r\n height: 100%;\r\n padding: 10px;\r\n margin: 10px;\r\n overflow: auto;\r\n \">\r\n <el-tabs v-model=\"activeTabName\" class=\"mk-cms-contents__body__right\">\r\n <el-tab-pane label=\"发布设置\" name=\"publish\">\r\n <el-form :model=\"CmsSettings\" label-width=\"auto\">\r\n <el-form-item label=\"发布模式 : \">\r\n <el-radio-group v-model=\"CmsSettings.publish.mode\">\r\n <el-radio value=\"static\">静态发布</el-radio>\r\n <el-radio value=\"dynamic\">动态发布</el-radio>\r\n </el-radio-group>\r\n </el-form-item>\r\n </el-form>\r\n <!-- <el-form :model=\"CmsSettings\" label-width=\"auto\" label-position=\"top\">\r\n <el-form-item label=\"文档模块 : \">\r\n <DocModuleEditForm :modules=\"CmsSettings.docModules\"></DocModuleEditForm>\r\n </el-form-item>\r\n </el-form> -->\r\n </el-tab-pane>\r\n <el-tab-pane label=\"栏目设置\" name=\"part\">\r\n <el-divider content-position=\"left\">栏目内容文档编辑器扩展设置</el-divider>\r\n <el-form :model=\"CmsSettings\" label-width=\"auto\">\r\n <el-form-item label=\"开启栏目轮播图 : \">\r\n <el-switch v-model=\"CmsSettings.part.openBanner\" />\r\n </el-form-item>\r\n\r\n <el-form-item v-if=\"CmsSettings.part.openBanner\" label=\"轮播图尺寸 : \">\r\n <el-input v-model=\"CmsSettings.part.bannerImageSize\" placeholder=\"\" style=\"max-width: 200px;\" />\r\n </el-form-item>\r\n </el-form>\r\n <el-form :model=\"CmsSettings\" label-width=\"auto\" label-position=\"top\">\r\n \r\n <el-form-item label=\"引入的Css : \">\r\n <el-input v-model=\"CmsSettings.part.doc.css\"\r\n :autosize=\"{ minRows: 2, maxRows: 4 }\"\r\n type=\"textarea\"\r\n placeholder=\"多个css url , 号分割,逗号必须是英文逗号\"\r\n />\r\n </el-form-item>\r\n \r\n <el-form-item label=\"引入的Js : \">\r\n <el-input v-model=\"CmsSettings.part.doc.js\"\r\n :autosize=\"{ minRows: 2, maxRows: 4 }\"\r\n type=\"textarea\"\r\n placeholder=\"多个 js url , 号分割,逗号必须是英文逗号\"\r\n />\r\n </el-form-item>\r\n </el-form>\r\n </el-tab-pane>\r\n <el-tab-pane label=\"内容设置\" name=\"content\">\r\n <el-form :model=\"CmsSettings\" label-width=\"auto\">\r\n <el-form-item label=\"启用内容置顶 : \">\r\n <el-switch v-model=\"CmsSettings.content.useTop\" />\r\n </el-form-item>\r\n <el-form-item label=\"启用最新内容 : \">\r\n <el-switch v-model=\"CmsSettings.content.useNew\" />\r\n </el-form-item>\r\n <el-form-item label=\"启用热门推荐 : \">\r\n <el-switch v-model=\"CmsSettings.content.useHotRecommend\" />\r\n </el-form-item>\r\n <el-form-item label=\"启用栏目推荐 : \">\r\n <el-switch v-model=\"CmsSettings.content.usePartRecommend\" />\r\n </el-form-item>\r\n <el-form-item label=\"启用内容标签 : \">\r\n <el-switch v-model=\"CmsSettings.content.useTags\" />\r\n </el-form-item>\r\n <el-form-item label=\"启用内容资源库 : \">\r\n <el-switch v-model=\"CmsSettings.content.useAtlas\" />\r\n </el-form-item>\r\n <el-form-item label=\"内容封面图尺寸 : \">\r\n <el-input v-model=\"CmsSettings.content.coverImageSize\" placeholder=\"\" style=\"max-width: 200px;\" />\r\n </el-form-item>\r\n <el-form-item label=\"内容Banner图尺寸 : \">\r\n <el-input v-model=\"CmsSettings.content.bannerImageSize\" placeholder=\"\" style=\"max-width: 200px;\" />\r\n </el-form-item>\r\n </el-form>\r\n \r\n <el-divider content-position=\"left\">内容文档编辑器扩展设置</el-divider>\r\n <el-form :model=\"CmsSettings\" label-width=\"auto\" label-position=\"top\">\r\n <el-form-item label=\"引入的Css : \">\r\n <el-input v-model=\"CmsSettings.content.doc.css\"\r\n :autosize=\"{ minRows: 2, maxRows: 4 }\"\r\n type=\"textarea\"\r\n placeholder=\"多个css url , 号分割,逗号必须是英文逗号\"\r\n />\r\n </el-form-item>\r\n \r\n <el-form-item label=\"引入的Js : \">\r\n <el-input v-model=\"CmsSettings.content.doc.js\"\r\n :autosize=\"{ minRows: 2, maxRows: 4 }\"\r\n type=\"textarea\"\r\n placeholder=\"多个 js url , 号分割,逗号必须是英文逗号\"\r\n />\r\n </el-form-item>\r\n </el-form>\r\n </el-tab-pane>\r\n </el-tabs>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ref,onMounted,watch, } from \"vue\";\r\nimport { useCmsSettings,CmsSettingsKEY,type CmsSettingsType } from \"../../cms-settings\"\r\nimport { MsConfigTable } from \"../../../ms/dataviews/ms-config/\"\r\nimport DocModuleEditForm from \"./DocModuleEditForm.vue\"\r\n\r\n// cms 配置\r\nconst CmsSettings = useCmsSettings(true); \r\n\r\n// 激活的tab\r\nconst activeTabName = ref(\"publish\");\r\n// 激活的tab\r\nconst loading = ref(false);\r\nconst changed = ref(false);\r\n\r\n\r\nconst saveHandle = async ()=>{\r\n\r\n if(changed.value){\r\n loading.value = true;\r\n await MsConfigTable.setConfigValue(CmsSettingsKEY,JSON.stringify(CmsSettings))\r\n loading.value = false;\r\n changed.value = false;\r\n }\r\n\r\n}\r\n\r\nonMounted(async ()=>{\r\n\r\n // 初始化\r\n const data = await MsConfigTable.getConfigValue<CmsSettingsType>(CmsSettingsKEY);\r\n if(data){ Object.assign(CmsSettings,data) }\r\n setTimeout(() => {\r\n loading.value = false;\r\n }, 500);\r\n // 数据改变\r\n watch(CmsSettings,()=>{\r\n changed.value = true;\r\n },{ deep:true })\r\n})\r\n</script>\r\n"],"names":["useCmsSettings","ref","MsConfigTable","CmsSettingsKEY","onMounted","watch"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAyIM,UAAA,cAAcA,2BAAe,IAAI;AAGjC,UAAA,gBAAgBC,QAAI,SAAS;AAE7B,UAAA,UAAUA,QAAI,KAAK;AACnB,UAAA,UAAUA,QAAI,KAAK;AAGzB,UAAM,aAAa,YAAU;AAE3B,UAAG,QAAQ,OAAM;AACf,gBAAQ,QAAQ;AAChB,cAAMC,cAAAA,cAAc,eAAeC,YAAA,gBAAe,KAAK,UAAU,WAAW,CAAC;AAC7E,gBAAQ,QAAQ;AAChB,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IAAA;AAIFC,QAAAA,UAAU,YAAU;AAGlB,YAAM,OAAQ,MAAMF,cAAAA,cAAc,eAAgCC,YAAc,cAAA;AAChF,UAAG,MAAK;AAAS,eAAA,OAAO,aAAY,IAAI;AAAA,MAAE;AAC1C,iBAAW,MAAM;AACf,gBAAQ,QAAQ;AAAA,SACf,GAAG;AAENE,UAAA,MAAM,aAAY,MAAI;AACpB,gBAAQ,QAAQ;AAAA,MAAA,GAChB,EAAE,MAAK,KAAA,CAAM;AAAA,IAAA,CAChB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-settigns/index.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-appsettings__warp\" v-loading=\"loading\" style=\"\r\n height: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n\">\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=\"Operation\" style=\"margin-right: 5px\" />\r\n CMS应用设置\r\n </h3>\r\n </template>\r\n <template #extra>\r\n <div>\r\n <el-button-group>\r\n <el-button type=\"primary\" size=\"large\" text :disabled=\"!changed\" @click=\"saveHandle\">\r\n <MKSvgIcon iconClass=\"save\" />\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-appsettings__form_warp\" style=\"\r\n background: #fff;\r\n flex: 1;\r\n height: 100%;\r\n padding: 10px;\r\n margin: 10px;\r\n overflow: auto;\r\n \">\r\n <el-tabs v-model=\"activeTabName\" class=\"mk-cms-contents__body__right\">\r\n <el-tab-pane label=\"发布设置\" name=\"publish\">\r\n <el-form :model=\"CmsSettings\" label-width=\"auto\">\r\n <el-form-item label=\"发布模式 : \">\r\n <el-radio-group v-model=\"CmsSettings.publish.mode\">\r\n <el-radio value=\"static\">静态发布</el-radio>\r\n <el-radio value=\"dynamic\">动态发布</el-radio>\r\n </el-radio-group>\r\n </el-form-item>\r\n <el-form-item label=\"兼容设备 : \">\r\n <el-checkbox-group v-model=\"CmsSettings.devices\">\r\n <el-checkbox label=\"PC端\" value=\"pc\" />\r\n <el-checkbox label=\"移动端\" value=\"mobile\" />\r\n </el-checkbox-group>\r\n </el-form-item>\r\n </el-form>\r\n <!-- <el-form :model=\"CmsSettings\" label-width=\"auto\" label-position=\"top\">\r\n <el-form-item label=\"文档模块 : \">\r\n <DocModuleEditForm :modules=\"CmsSettings.docModules\"></DocModuleEditForm>\r\n </el-form-item>\r\n </el-form> -->\r\n </el-tab-pane>\r\n <el-tab-pane label=\"栏目设置\" name=\"part\">\r\n <el-divider content-position=\"left\">栏目内容文档编辑器扩展设置</el-divider>\r\n <el-form :model=\"CmsSettings\" label-width=\"auto\">\r\n <el-form-item label=\"开启栏目轮播图 : \">\r\n <el-switch v-model=\"CmsSettings.part.openBanner\" />\r\n </el-form-item>\r\n\r\n <el-form-item v-if=\"CmsSettings.part.openBanner\" label=\"轮播图尺寸 : \">\r\n <el-input v-model=\"CmsSettings.part.bannerImageSize\" placeholder=\"\" style=\"max-width: 200px;\" />\r\n </el-form-item>\r\n </el-form>\r\n <el-form :model=\"CmsSettings\" label-width=\"auto\" label-position=\"top\">\r\n \r\n <el-form-item label=\"引入的Css : \">\r\n <el-input v-model=\"CmsSettings.part.doc.css\"\r\n :autosize=\"{ minRows: 2, maxRows: 4 }\"\r\n type=\"textarea\"\r\n placeholder=\"多个css url , 号分割,逗号必须是英文逗号\"\r\n />\r\n </el-form-item>\r\n \r\n <el-form-item label=\"引入的Js : \">\r\n <el-input v-model=\"CmsSettings.part.doc.js\"\r\n :autosize=\"{ minRows: 2, maxRows: 4 }\"\r\n type=\"textarea\"\r\n placeholder=\"多个 js url , 号分割,逗号必须是英文逗号\"\r\n />\r\n </el-form-item>\r\n </el-form>\r\n </el-tab-pane>\r\n <el-tab-pane label=\"内容设置\" name=\"content\">\r\n <el-form :model=\"CmsSettings\" label-width=\"auto\">\r\n <el-form-item label=\"启用内容置顶 : \">\r\n <el-switch v-model=\"CmsSettings.content.useTop\" />\r\n </el-form-item>\r\n <el-form-item label=\"启用最新内容 : \">\r\n <el-switch v-model=\"CmsSettings.content.useNew\" />\r\n </el-form-item>\r\n <el-form-item label=\"启用热门推荐 : \">\r\n <el-switch v-model=\"CmsSettings.content.useHotRecommend\" />\r\n </el-form-item>\r\n <el-form-item label=\"启用栏目推荐 : \">\r\n <el-switch v-model=\"CmsSettings.content.usePartRecommend\" />\r\n </el-form-item>\r\n <el-form-item label=\"启用内容标签 : \">\r\n <el-switch v-model=\"CmsSettings.content.useTags\" />\r\n </el-form-item>\r\n <el-form-item label=\"启用内容资源库 : \">\r\n <el-switch v-model=\"CmsSettings.content.useAtlas\" />\r\n </el-form-item>\r\n <el-form-item label=\"内容封面图尺寸 : \">\r\n <el-input v-model=\"CmsSettings.content.coverImageSize\" placeholder=\"\" style=\"max-width: 200px;\" />\r\n </el-form-item>\r\n <el-form-item label=\"内容Banner图尺寸 : \">\r\n <el-input v-model=\"CmsSettings.content.bannerImageSize\" placeholder=\"\" style=\"max-width: 200px;\" />\r\n </el-form-item>\r\n </el-form>\r\n \r\n <el-divider content-position=\"left\">内容文档编辑器扩展设置</el-divider>\r\n <el-form :model=\"CmsSettings\" label-width=\"auto\" label-position=\"top\">\r\n <el-form-item label=\"引入的Css : \">\r\n <el-input v-model=\"CmsSettings.content.doc.css\"\r\n :autosize=\"{ minRows: 2, maxRows: 4 }\"\r\n type=\"textarea\"\r\n placeholder=\"多个css url , 号分割,逗号必须是英文逗号\"\r\n />\r\n </el-form-item>\r\n \r\n <el-form-item label=\"引入的Js : \">\r\n <el-input v-model=\"CmsSettings.content.doc.js\"\r\n :autosize=\"{ minRows: 2, maxRows: 4 }\"\r\n type=\"textarea\"\r\n placeholder=\"多个 js url , 号分割,逗号必须是英文逗号\"\r\n />\r\n </el-form-item>\r\n </el-form>\r\n </el-tab-pane>\r\n </el-tabs>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { ref,onMounted,watch, } from \"vue\";\r\nimport { useCmsSettings,CmsSettingsKEY,type CmsSettingsType } from \"../../cms-settings\"\r\nimport { MsConfigTable } from \"../../../ms/dataviews/ms-config/\"\r\nimport DocModuleEditForm from \"./DocModuleEditForm.vue\"\r\n\r\n// cms 配置\r\nconst CmsSettings = useCmsSettings(true); \r\n\r\n// 激活的tab\r\nconst activeTabName = ref(\"publish\");\r\n// 激活的tab\r\nconst loading = ref(false);\r\nconst changed = ref(false);\r\n\r\n\r\nconst saveHandle = async ()=>{\r\n\r\n if(changed.value){\r\n loading.value = true;\r\n await MsConfigTable.setConfigValue(CmsSettingsKEY,JSON.stringify(CmsSettings))\r\n loading.value = false;\r\n changed.value = false;\r\n }\r\n\r\n}\r\n\r\nonMounted(async ()=>{\r\n\r\n // 初始化\r\n const data = await MsConfigTable.getConfigValue<CmsSettingsType>(CmsSettingsKEY);\r\n if(data){ Object.assign(CmsSettings,data) }\r\n setTimeout(() => {\r\n loading.value = false;\r\n }, 500);\r\n // 数据改变\r\n watch(CmsSettings,()=>{\r\n changed.value = true;\r\n },{ deep:true })\r\n})\r\n</script>\r\n"],"names":["useCmsSettings","ref","MsConfigTable","CmsSettingsKEY","onMounted","watch"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AA+IM,UAAA,cAAcA,2BAAe,IAAI;AAGjC,UAAA,gBAAgBC,QAAI,SAAS;AAE7B,UAAA,UAAUA,QAAI,KAAK;AACnB,UAAA,UAAUA,QAAI,KAAK;AAGzB,UAAM,aAAa,YAAU;AAE3B,UAAG,QAAQ,OAAM;AACf,gBAAQ,QAAQ;AAChB,cAAMC,cAAAA,cAAc,eAAeC,YAAA,gBAAe,KAAK,UAAU,WAAW,CAAC;AAC7E,gBAAQ,QAAQ;AAChB,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IAAA;AAIFC,QAAAA,UAAU,YAAU;AAGlB,YAAM,OAAQ,MAAMF,cAAAA,cAAc,eAAgCC,YAAc,cAAA;AAChF,UAAG,MAAK;AAAS,eAAA,OAAO,aAAY,IAAI;AAAA,MAAE;AAC1C,iBAAW,MAAM;AACf,gBAAQ,QAAQ;AAAA,SACf,GAAG;AAENE,UAAA,MAAM,aAAY,MAAI;AACpB,gBAAQ,QAAQ;AAAA,MAAA,GAChB,EAAE,MAAK,KAAA,CAAM;AAAA,IAAA,CAChB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}