@maketribe/ms-app 3.2.25 → 3.2.26

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 (189) hide show
  1. package/dist/cjs/assets/iconfonts/iconfont.js +1 -1
  2. package/dist/cjs/assets/iconfonts/iconfont.js.map +1 -1
  3. package/dist/cjs/components/basic/doc-editor/core/{element-module.js → element-block.js} +31 -12
  4. package/dist/cjs/components/basic/doc-editor/core/element-block.js.map +1 -0
  5. package/dist/cjs/components/basic/doc-editor/core/index.js +5 -6
  6. package/dist/cjs/components/basic/doc-editor/core/index.js.map +1 -1
  7. package/dist/cjs/components/basic/doc-editor/core/utils.js.map +1 -1
  8. package/dist/cjs/components/basic/doc-editor/editor.vue.js +4 -4
  9. package/dist/cjs/components/basic/doc-editor/editor.vue.js.map +1 -1
  10. package/dist/cjs/components/basic/doc-editor/plugins/{DecoratorModuleToolbarPlugin → ElementBlockSelectionPlugin}/index.vue.js +8 -8
  11. package/dist/cjs/components/basic/doc-editor/plugins/ElementBlockSelectionPlugin/index.vue.js.map +1 -0
  12. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/GridNode.js +164 -0
  13. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/GridNode.js.map +1 -0
  14. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js +89 -0
  15. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js.map +1 -0
  16. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js +89 -0
  17. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js.map +1 -0
  18. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js +115 -0
  19. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js.map +1 -0
  20. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js +83 -0
  21. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js.map +1 -0
  22. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/index.vue.js +143 -0
  23. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/index.vue.js.map +1 -0
  24. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/utils.js +33 -0
  25. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/utils.js.map +1 -0
  26. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js +18 -21
  27. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js.map +1 -1
  28. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js +16 -11
  29. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js.map +1 -1
  30. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/utils.js +6 -6
  31. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/utils.js.map +1 -1
  32. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js +25 -13
  33. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js.map +1 -1
  34. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js +46 -108
  35. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js.map +1 -1
  36. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/utils.js +0 -12
  37. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/utils.js.map +1 -1
  38. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js +26 -0
  39. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js.map +1 -1
  40. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js +0 -1
  41. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js.map +1 -1
  42. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js +41 -5
  43. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js.map +1 -1
  44. package/dist/cjs/components/basic/doc-editor/plugins/nodes.js +10 -4
  45. package/dist/cjs/components/basic/doc-editor/plugins/nodes.js.map +1 -1
  46. package/dist/cjs/components/basic/doc-editor/themes/doc-editor-edit.css.js +1 -1
  47. package/dist/cjs/components/basic/doc-editor/themes/doc-editor-edit.css.js.map +1 -1
  48. package/dist/cjs/components/basic/doc-editor/themes/doc-theme.css.js +3 -5
  49. package/dist/cjs/components/basic/doc-editor/themes/doc-theme.css.js.map +1 -1
  50. package/dist/cjs/components/basic/upload-file/ui/upload-image/upload-image.js +0 -2
  51. package/dist/cjs/components/basic/upload-file/ui/upload-image/upload-image.js.map +1 -1
  52. package/dist/cjs/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +4 -0
  53. package/dist/cjs/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js.map +1 -1
  54. package/dist/cjs/modules/cms/dataviews/cms-ad-defines/CmsAdDefinesForm.js +2 -0
  55. package/dist/cjs/modules/cms/dataviews/cms-ad-defines/CmsAdDefinesForm.js.map +1 -1
  56. package/dist/cjs/modules/cms/pages/cms-ad/index.vue2.js +8 -5
  57. package/dist/cjs/modules/cms/pages/cms-ad/index.vue2.js.map +1 -1
  58. package/dist/cjs/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js +35 -6
  59. package/dist/cjs/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js.map +1 -1
  60. package/dist/cjs/modules/ms/components/image-select/image-select-panel.js +7 -1
  61. package/dist/cjs/modules/ms/components/image-select/image-select-panel.js.map +1 -1
  62. package/dist/esm/assets/iconfonts/iconfont.js +1 -1
  63. package/dist/esm/assets/iconfonts/iconfont.js.map +1 -1
  64. package/dist/esm/components/basic/doc-editor/core/{element-module.js → element-block.js} +32 -13
  65. package/dist/esm/components/basic/doc-editor/core/element-block.js.map +1 -0
  66. package/dist/esm/components/basic/doc-editor/core/index.js +6 -7
  67. package/dist/esm/components/basic/doc-editor/core/index.js.map +1 -1
  68. package/dist/esm/components/basic/doc-editor/core/utils.js.map +1 -1
  69. package/dist/esm/components/basic/doc-editor/editor.vue.js +4 -4
  70. package/dist/esm/components/basic/doc-editor/editor.vue.js.map +1 -1
  71. package/dist/esm/components/basic/doc-editor/plugins/{DecoratorModuleToolbarPlugin → ElementBlockSelectionPlugin}/index.vue.js +8 -8
  72. package/dist/esm/components/basic/doc-editor/plugins/ElementBlockSelectionPlugin/index.vue.js.map +1 -0
  73. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/GridNode.js +164 -0
  74. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/GridNode.js.map +1 -0
  75. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js +89 -0
  76. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js.map +1 -0
  77. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js +89 -0
  78. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js.map +1 -0
  79. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js +115 -0
  80. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js.map +1 -0
  81. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js +83 -0
  82. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js.map +1 -0
  83. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/index.vue.js +144 -0
  84. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/index.vue.js.map +1 -0
  85. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/utils.js +33 -0
  86. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/utils.js.map +1 -0
  87. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js +18 -21
  88. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js.map +1 -1
  89. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js +17 -12
  90. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js.map +1 -1
  91. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/utils.js +6 -6
  92. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/utils.js.map +1 -1
  93. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js +25 -13
  94. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js.map +1 -1
  95. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js +50 -112
  96. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js.map +1 -1
  97. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/utils.js +0 -12
  98. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/utils.js.map +1 -1
  99. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js +26 -0
  100. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js.map +1 -1
  101. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js +0 -1
  102. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js.map +1 -1
  103. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js +43 -7
  104. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js.map +1 -1
  105. package/dist/esm/components/basic/doc-editor/plugins/nodes.js +10 -4
  106. package/dist/esm/components/basic/doc-editor/plugins/nodes.js.map +1 -1
  107. package/dist/esm/components/basic/doc-editor/themes/doc-editor-edit.css.js +1 -1
  108. package/dist/esm/components/basic/doc-editor/themes/doc-editor-edit.css.js.map +1 -1
  109. package/dist/esm/components/basic/doc-editor/themes/doc-theme.css.js +3 -5
  110. package/dist/esm/components/basic/doc-editor/themes/doc-theme.css.js.map +1 -1
  111. package/dist/esm/components/basic/upload-file/ui/upload-image/upload-image.js +0 -2
  112. package/dist/esm/components/basic/upload-file/ui/upload-image/upload-image.js.map +1 -1
  113. package/dist/esm/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +4 -0
  114. package/dist/esm/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js.map +1 -1
  115. package/dist/esm/modules/cms/dataviews/cms-ad-defines/CmsAdDefinesForm.js +2 -0
  116. package/dist/esm/modules/cms/dataviews/cms-ad-defines/CmsAdDefinesForm.js.map +1 -1
  117. package/dist/esm/modules/cms/pages/cms-ad/index.vue2.js +9 -6
  118. package/dist/esm/modules/cms/pages/cms-ad/index.vue2.js.map +1 -1
  119. package/dist/esm/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js +35 -6
  120. package/dist/esm/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js.map +1 -1
  121. package/dist/esm/modules/ms/components/image-select/image-select-panel.js +9 -3
  122. package/dist/esm/modules/ms/components/image-select/image-select-panel.js.map +1 -1
  123. package/dist/style/components/basic/doc-editor/index.css +1 -1
  124. package/dist/style/components/index.css +1 -1
  125. package/dist/style/index.css +2 -2
  126. package/dist/style/src/components/basic/doc-editor/index.scss +2 -0
  127. package/dist/types/components/basic/doc-editor/core/element-block.d.ts +44 -0
  128. package/dist/types/components/basic/doc-editor/core/index.d.ts +8 -4
  129. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/GridNode.d.ts +88 -0
  130. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.d.ts +50 -0
  131. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.d.ts +58 -0
  132. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.d.ts +58 -0
  133. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.d.ts +51 -0
  134. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/index.d.ts +5 -0
  135. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/utils.d.ts +3 -0
  136. package/dist/types/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.d.ts +4 -13
  137. package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.d.ts +18 -10
  138. package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/index.d.ts +0 -1
  139. package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/utils.d.ts +0 -6
  140. package/dist/types/components/basic/doc-editor/plugins/index.d.ts +3 -3
  141. package/dist/types/components/basic/dynamic-form-panel/type.d.ts +2 -2
  142. package/dist/types/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.d.ts +1 -0
  143. package/package.json +5 -5
  144. package/dist/cjs/components/basic/doc-editor/core/decorator-module.js +0 -13
  145. package/dist/cjs/components/basic/doc-editor/core/decorator-module.js.map +0 -1
  146. package/dist/cjs/components/basic/doc-editor/core/element-module.js.map +0 -1
  147. package/dist/cjs/components/basic/doc-editor/plugins/DecoratorModuleToolbarPlugin/index.vue.js.map +0 -1
  148. package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/ImageTextNode.js +0 -106
  149. package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/ImageTextNode.js.map +0 -1
  150. package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js +0 -45
  151. package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js.map +0 -1
  152. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/ModuleContainerNode.js +0 -143
  153. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/ModuleContainerNode.js.map +0 -1
  154. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockCantainerNode.js +0 -123
  155. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockCantainerNode.js.map +0 -1
  156. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockNode.js +0 -84
  157. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockNode.js.map +0 -1
  158. package/dist/esm/components/basic/doc-editor/core/decorator-module.js +0 -13
  159. package/dist/esm/components/basic/doc-editor/core/decorator-module.js.map +0 -1
  160. package/dist/esm/components/basic/doc-editor/core/element-module.js.map +0 -1
  161. package/dist/esm/components/basic/doc-editor/plugins/DecoratorModuleToolbarPlugin/index.vue.js.map +0 -1
  162. package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/ImageTextNode.js +0 -106
  163. package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/ImageTextNode.js.map +0 -1
  164. package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js +0 -46
  165. package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js.map +0 -1
  166. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/ModuleContainerNode.js +0 -143
  167. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/ModuleContainerNode.js.map +0 -1
  168. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockCantainerNode.js +0 -123
  169. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockCantainerNode.js.map +0 -1
  170. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockNode.js +0 -84
  171. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockNode.js.map +0 -1
  172. package/dist/types/components/basic/doc-editor/core/decorator-module.d.ts +0 -60
  173. package/dist/types/components/basic/doc-editor/core/element-module.d.ts +0 -15
  174. package/dist/types/components/basic/doc-editor/plugins/ImageTextPlugin/ImageTextNode.d.ts +0 -63
  175. package/dist/types/components/basic/doc-editor/plugins/ImageTextPlugin/index.d.ts +0 -1
  176. package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/ModuleContainerNode.d.ts +0 -86
  177. package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/ModuleRenderComponent.d.ts +0 -23
  178. package/dist/types/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockCantainerNode.d.ts +0 -63
  179. package/dist/types/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockNode.d.ts +0 -58
  180. /package/dist/cjs/components/basic/doc-editor/plugins/{DecoratorModuleToolbarPlugin → ElementBlockSelectionPlugin}/index.vue2.js +0 -0
  181. /package/dist/cjs/components/basic/doc-editor/plugins/{DecoratorModuleToolbarPlugin → ElementBlockSelectionPlugin}/index.vue2.js.map +0 -0
  182. /package/dist/cjs/components/basic/doc-editor/plugins/{ImageTextPlugin → GridPlugin}/index.vue2.js +0 -0
  183. /package/dist/cjs/components/basic/doc-editor/plugins/{ImageTextPlugin → GridPlugin}/index.vue2.js.map +0 -0
  184. /package/dist/esm/components/basic/doc-editor/plugins/{DecoratorModuleToolbarPlugin → ElementBlockSelectionPlugin}/index.vue2.js +0 -0
  185. /package/dist/esm/components/basic/doc-editor/plugins/{DecoratorModuleToolbarPlugin → ElementBlockSelectionPlugin}/index.vue2.js.map +0 -0
  186. /package/dist/esm/components/basic/doc-editor/plugins/{ImageTextPlugin → GridPlugin}/index.vue2.js +0 -0
  187. /package/dist/esm/components/basic/doc-editor/plugins/{ImageTextPlugin → GridPlugin}/index.vue2.js.map +0 -0
  188. /package/dist/types/components/basic/doc-editor/plugins/{DecoratorModuleToolbarPlugin → ElementBlockSelectionPlugin}/index.vue.d.ts +0 -0
  189. /package/dist/types/components/basic/doc-editor/plugins/{ImageTextPlugin → GridPlugin}/index.vue.d.ts +0 -0
@@ -44,7 +44,6 @@ const MKUploadImageItem = /* @__PURE__ */ defineComponent({
44
44
  emit("update:modelValue", v);
45
45
  }
46
46
  });
47
- console.log(props.uploadContext);
48
47
  const handleUpdateModelValue = (v) => {
49
48
  modelValue.value = v;
50
49
  };
@@ -161,7 +160,6 @@ const UploadImage = /* @__PURE__ */ defineComponent({
161
160
  };
162
161
  return () => {
163
162
  const _multiple = unref(multiple);
164
- console.log(_multiple);
165
163
  let content;
166
164
  if (!_multiple) {
167
165
  content = createVNode(MKUploadImageItem, {
@@ -1 +1 @@
1
- {"version":3,"file":"upload-image.js","sources":["../../../../../../../src/components/basic/upload-file/ui/upload-image/upload-image.tsx"],"sourcesContent":["import {\r\n Fragment,\r\n Ref,\r\n VNode,\r\n computed,\r\n defineComponent,\r\n ref,\r\n unref,\r\n watch,\r\n} from \"vue\";\r\nimport { ElImage, ElTooltip, ElImageViewer } from \"element-plus\";\r\nimport { MKSvgIcon } from \"../../../svg-icon\";\r\nimport { MKUploadFile } from \"../../upload-file\";\r\nimport { uploadImageEmits, uploadImageProps } from \"./upload-image-options\";\r\nimport { UploadContext } from \"../../context\";\r\n\r\nconst MKUploadImageItem = defineComponent({\r\n name: \"MKUploadImageItem\",\r\n props: {\r\n modelValue: {\r\n type: String,\r\n default: \"\",\r\n },\r\n uploadContext: {\r\n type: UploadContext,\r\n required: true,\r\n },\r\n width: {\r\n type: String,\r\n default: \"180px\",\r\n },\r\n height: {\r\n type: String,\r\n default: \"180px\",\r\n },\r\n icon: {\r\n type: String,\r\n default: \"Plus\",\r\n }\r\n },\r\n emits: [\"update:modelValue\", \"view\", \"delete\"],\r\n setup(props, { emit }) {\r\n const uploadFileInstance: Ref<InstanceType<typeof MKUploadFile> | null> =\r\n ref(null);\r\n\r\n const imageInstance: Ref<InstanceType<typeof ElImage> | null> = ref(null);\r\n\r\n const modelValue = computed({\r\n get: () => props.modelValue as string,\r\n set: (v: string) => {\r\n emit(\"update:modelValue\", v);\r\n },\r\n });\r\n console.log(props.uploadContext)\r\n const handleUpdateModelValue = (v: string) => {\r\n modelValue.value = v;\r\n };\r\n\r\n const handleClick = (event: MouseEvent) => {\r\n event.stopPropagation();\r\n\r\n if (unref(modelValue)) {\r\n return;\r\n }\r\n\r\n unref(uploadFileInstance)?.handleUpload();\r\n };\r\n\r\n const handleView = (event: MouseEvent) => {\r\n event.stopPropagation();\r\n\r\n emit(\"view\", unref(modelValue));\r\n };\r\n\r\n const handleDelete = (event: MouseEvent) => {\r\n event.stopPropagation();\r\n\r\n // modelValue.value = \"\";\r\n emit(\"delete\", unref(modelValue));\r\n };\r\n\r\n return () => {\r\n let content;\r\n\r\n if (unref(modelValue)) {\r\n content = (\r\n <Fragment>\r\n <ElImage ref={\r\n ((el: InstanceType<typeof ElImage>) =>\r\n (imageInstance.value = el)) as any\r\n }\r\n src={unref(modelValue)}\r\n class=\"mk-upload-image-item__image\"\r\n fit=\"contain\"\r\n />\r\n\r\n <div class=\"mk-upload-image-item__mask\">\r\n <ElTooltip content=\"查看\">\r\n <MKSvgIcon iconClass=\"View\" onClick={handleView} />\r\n </ElTooltip>\r\n <ElTooltip content=\"删除\">\r\n <MKSvgIcon iconClass=\"Delete\" onClick={handleDelete} />\r\n </ElTooltip>\r\n </div>\r\n </Fragment>\r\n );\r\n } else {\r\n content = <MKSvgIcon iconClass={props.icon} />;\r\n }\r\n\r\n return (\r\n <div class=\"mk-upload-image-item\" style={{ width: props.width, height: props.height }}>\r\n <MKUploadFile\r\n modelValue={props.modelValue}\r\n onUpdate:modelValue={handleUpdateModelValue}\r\n uploadContext={props.uploadContext}\r\n ref={\r\n ((el: InstanceType<typeof MKUploadFile>) =>\r\n (uploadFileInstance.value = el)) as any\r\n }\r\n >\r\n <div class=\"mk-upload-image-item__wrapper\" onClick={handleClick}>\r\n {content}\r\n </div>\r\n </MKUploadFile>\r\n </div>\r\n );\r\n };\r\n },\r\n});\r\n\r\nexport default defineComponent({\r\n name: \"MKUploadImage\",\r\n props: uploadImageProps,\r\n emits: uploadImageEmits,\r\n setup(props, { emit }) {\r\n const modelValue = computed({\r\n get: () => props.modelValue as string[] | string,\r\n set: (v: string[] | string) => emit(\"update:modelValue\", v),\r\n });\r\n\r\n const currentImageSrc: Ref<string> = ref(\"\");\r\n\r\n const multiple = computed(() => props.multiple);\r\n\r\n const isShowImageViewer: Ref<boolean> = ref(false);\r\n\r\n watch(\r\n computed(() => [unref(modelValue), unref(multiple)]),\r\n ([value, multiple]) => {\r\n if (multiple && !Array.isArray(value)) {\r\n modelValue.value = [];\r\n }\r\n },\r\n { immediate: true }\r\n );\r\n\r\n const handleDelete = (src: string) => {\r\n if (!unref(multiple)) {\r\n modelValue.value = \"\";\r\n return;\r\n }\r\n\r\n const index = unref(modelValue).indexOf(src);\r\n\r\n if (index === -1) {\r\n return;\r\n }\r\n\r\n (modelValue.value as string[]).splice(index, 1);\r\n };\r\n\r\n const handleShowImageViewer = (src: string) => {\r\n isShowImageViewer.value = true;\r\n currentImageSrc.value = src;\r\n };\r\n\r\n const handleCloseImageViewer = () => {\r\n isShowImageViewer.value = false;\r\n };\r\n\r\n const handleAppendImage = (src: string) => {\r\n const _value = unref(modelValue);\r\n\r\n if (Array.isArray(_value)) {\r\n _value.push(src);\r\n }\r\n };\r\n\r\n return () => {\r\n const _multiple = unref(multiple);\r\n console.log(_multiple)\r\n let content;\r\n\r\n if (!_multiple) {\r\n content = (\r\n <MKUploadImageItem\r\n onView={handleShowImageViewer}\r\n onDelete={handleDelete}\r\n modelValue={unref(modelValue) as string}\r\n onUpdate:modelValue={(value) => (modelValue.value = value)}\r\n uploadContext={props.uploadContext}\r\n width={props.width}\r\n height={props.height}\r\n icon={props.icon}\r\n />\r\n );\r\n } else {\r\n let images: VNode[] | null = null;\r\n\r\n if (Array.isArray(unref(modelValue))) {\r\n images = (unref(modelValue) as string[]).map((src) => (\r\n <MKUploadImageItem\r\n onView={handleShowImageViewer}\r\n onDelete={handleDelete}\r\n modelValue={src}\r\n uploadContext={props.uploadContext}\r\n width={props.width}\r\n height={props.height}\r\n icon={props.icon}\r\n />\r\n ));\r\n }\r\n\r\n content = (\r\n <Fragment>\r\n {images}\r\n <MKUploadImageItem\r\n onUpdate:modelValue={handleAppendImage}\r\n uploadContext={props.uploadContext}\r\n width={props.width}\r\n height={props.height}\r\n icon={props.icon}\r\n />\r\n </Fragment>\r\n );\r\n }\r\n\r\n const imageViewer = unref(isShowImageViewer) ? (\r\n <ElImageViewer teleported zIndex={99}\r\n onClose={handleCloseImageViewer}\r\n urlList={[unref(currentImageSrc)]}\r\n />\r\n ) : null;\r\n\r\n return (\r\n <div class=\"mk-upload-image\" style={{ width: !_multiple ? \"\" : props.width }}>\r\n {content}\r\n {imageViewer}\r\n </div>\r\n );\r\n };\r\n },\r\n});\r\n"],"names":["MKUploadImageItem","defineComponent","name","props","modelValue","type","String","default","uploadContext","UploadContext","required","width","height","icon","emits","setup","emit","uploadFileInstance","ref","imageInstance","computed","get","set","v","console","log","handleUpdateModelValue","value","handleClick","event","stopPropagation","unref","handleUpload","handleView","handleDelete","content","_createVNode","_Fragment","ElImage","el","ElTooltip","MKSvgIcon","MKUploadFile","uploadImageProps","uploadImageEmits","currentImageSrc","multiple","isShowImageViewer","watch","Array","isArray","immediate","src","index","indexOf","splice","handleShowImageViewer","handleCloseImageViewer","handleAppendImage","_value","push","_multiple","images","map","imageViewer","ElImageViewer"],"mappings":"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"}
1
+ {"version":3,"file":"upload-image.js","sources":["../../../../../../../src/components/basic/upload-file/ui/upload-image/upload-image.tsx"],"sourcesContent":["import {\r\n Fragment,\r\n Ref,\r\n VNode,\r\n computed,\r\n defineComponent,\r\n ref,\r\n unref,\r\n watch,\r\n} from \"vue\";\r\nimport { ElImage, ElTooltip, ElImageViewer } from \"element-plus\";\r\nimport { MKSvgIcon } from \"../../../svg-icon\";\r\nimport { MKUploadFile } from \"../../upload-file\";\r\nimport { uploadImageEmits, uploadImageProps } from \"./upload-image-options\";\r\nimport { UploadContext } from \"../../context\";\r\n\r\nconst MKUploadImageItem = defineComponent({\r\n name: \"MKUploadImageItem\",\r\n props: {\r\n modelValue: {\r\n type: String,\r\n default: \"\",\r\n },\r\n uploadContext: {\r\n type: UploadContext,\r\n required: true,\r\n },\r\n width: {\r\n type: String,\r\n default: \"180px\",\r\n },\r\n height: {\r\n type: String,\r\n default: \"180px\",\r\n },\r\n icon: {\r\n type: String,\r\n default: \"Plus\",\r\n }\r\n },\r\n emits: [\"update:modelValue\", \"view\", \"delete\"],\r\n setup(props, { emit }) {\r\n const uploadFileInstance: Ref<InstanceType<typeof MKUploadFile> | null> =\r\n ref(null);\r\n\r\n const imageInstance: Ref<InstanceType<typeof ElImage> | null> = ref(null);\r\n\r\n const modelValue = computed({\r\n get: () => props.modelValue as string,\r\n set: (v: string) => {\r\n emit(\"update:modelValue\", v);\r\n },\r\n });\r\n const handleUpdateModelValue = (v: string) => {\r\n modelValue.value = v;\r\n };\r\n\r\n const handleClick = (event: MouseEvent) => {\r\n event.stopPropagation();\r\n\r\n if (unref(modelValue)) {\r\n return;\r\n }\r\n\r\n unref(uploadFileInstance)?.handleUpload();\r\n };\r\n\r\n const handleView = (event: MouseEvent) => {\r\n event.stopPropagation();\r\n\r\n emit(\"view\", unref(modelValue));\r\n };\r\n\r\n const handleDelete = (event: MouseEvent) => {\r\n event.stopPropagation();\r\n\r\n // modelValue.value = \"\";\r\n emit(\"delete\", unref(modelValue));\r\n };\r\n\r\n return () => {\r\n let content;\r\n\r\n if (unref(modelValue)) {\r\n content = (\r\n <Fragment>\r\n <ElImage ref={\r\n ((el: InstanceType<typeof ElImage>) =>\r\n (imageInstance.value = el)) as any\r\n }\r\n src={unref(modelValue)}\r\n class=\"mk-upload-image-item__image\"\r\n fit=\"contain\"\r\n />\r\n\r\n <div class=\"mk-upload-image-item__mask\">\r\n <ElTooltip content=\"查看\">\r\n <MKSvgIcon iconClass=\"View\" onClick={handleView} />\r\n </ElTooltip>\r\n <ElTooltip content=\"删除\">\r\n <MKSvgIcon iconClass=\"Delete\" onClick={handleDelete} />\r\n </ElTooltip>\r\n </div>\r\n </Fragment>\r\n );\r\n } else {\r\n content = <MKSvgIcon iconClass={props.icon} />;\r\n }\r\n\r\n return (\r\n <div class=\"mk-upload-image-item\" style={{ width: props.width, height: props.height }}>\r\n <MKUploadFile\r\n modelValue={props.modelValue}\r\n onUpdate:modelValue={handleUpdateModelValue}\r\n uploadContext={props.uploadContext}\r\n ref={\r\n ((el: InstanceType<typeof MKUploadFile>) =>\r\n (uploadFileInstance.value = el)) as any\r\n }\r\n >\r\n <div class=\"mk-upload-image-item__wrapper\" onClick={handleClick}>\r\n {content}\r\n </div>\r\n </MKUploadFile>\r\n </div>\r\n );\r\n };\r\n },\r\n});\r\n\r\nexport default defineComponent({\r\n name: \"MKUploadImage\",\r\n props: uploadImageProps,\r\n emits: uploadImageEmits,\r\n setup(props, { emit }) {\r\n const modelValue = computed({\r\n get: () => props.modelValue as string[] | string,\r\n set: (v: string[] | string) => emit(\"update:modelValue\", v),\r\n });\r\n\r\n const currentImageSrc: Ref<string> = ref(\"\");\r\n\r\n const multiple = computed(() => props.multiple);\r\n\r\n const isShowImageViewer: Ref<boolean> = ref(false);\r\n\r\n watch(\r\n computed(() => [unref(modelValue), unref(multiple)]),\r\n ([value, multiple]) => {\r\n if (multiple && !Array.isArray(value)) {\r\n modelValue.value = [];\r\n }\r\n },\r\n { immediate: true }\r\n );\r\n\r\n const handleDelete = (src: string) => {\r\n if (!unref(multiple)) {\r\n modelValue.value = \"\";\r\n return;\r\n }\r\n\r\n const index = unref(modelValue).indexOf(src);\r\n\r\n if (index === -1) {\r\n return;\r\n }\r\n\r\n (modelValue.value as string[]).splice(index, 1);\r\n };\r\n\r\n const handleShowImageViewer = (src: string) => {\r\n isShowImageViewer.value = true;\r\n currentImageSrc.value = src;\r\n };\r\n\r\n const handleCloseImageViewer = () => {\r\n isShowImageViewer.value = false;\r\n };\r\n\r\n const handleAppendImage = (src: string) => {\r\n const _value = unref(modelValue);\r\n\r\n if (Array.isArray(_value)) {\r\n _value.push(src);\r\n }\r\n };\r\n\r\n return () => {\r\n const _multiple = unref(multiple);\r\n let content;\r\n\r\n if (!_multiple) {\r\n content = (\r\n <MKUploadImageItem\r\n onView={handleShowImageViewer}\r\n onDelete={handleDelete}\r\n modelValue={unref(modelValue) as string}\r\n onUpdate:modelValue={(value) => (modelValue.value = value)}\r\n uploadContext={props.uploadContext}\r\n width={props.width}\r\n height={props.height}\r\n icon={props.icon}\r\n />\r\n );\r\n } else {\r\n let images: VNode[] | null = null;\r\n\r\n if (Array.isArray(unref(modelValue))) {\r\n images = (unref(modelValue) as string[]).map((src) => (\r\n <MKUploadImageItem\r\n onView={handleShowImageViewer}\r\n onDelete={handleDelete}\r\n modelValue={src}\r\n uploadContext={props.uploadContext}\r\n width={props.width}\r\n height={props.height}\r\n icon={props.icon}\r\n />\r\n ));\r\n }\r\n\r\n content = (\r\n <Fragment>\r\n {images}\r\n <MKUploadImageItem\r\n onUpdate:modelValue={handleAppendImage}\r\n uploadContext={props.uploadContext}\r\n width={props.width}\r\n height={props.height}\r\n icon={props.icon}\r\n />\r\n </Fragment>\r\n );\r\n }\r\n\r\n const imageViewer = unref(isShowImageViewer) ? (\r\n <ElImageViewer teleported zIndex={99}\r\n onClose={handleCloseImageViewer}\r\n urlList={[unref(currentImageSrc)]}\r\n />\r\n ) : null;\r\n\r\n return (\r\n <div class=\"mk-upload-image\" style={{ width: !_multiple ? \"\" : props.width }}>\r\n {content}\r\n {imageViewer}\r\n </div>\r\n );\r\n };\r\n },\r\n});\r\n"],"names":["MKUploadImageItem","defineComponent","name","props","modelValue","type","String","default","uploadContext","UploadContext","required","width","height","icon","emits","setup","emit","uploadFileInstance","ref","imageInstance","computed","get","set","v","handleUpdateModelValue","value","handleClick","event","stopPropagation","unref","handleUpload","handleView","handleDelete","content","_createVNode","_Fragment","ElImage","el","ElTooltip","MKSvgIcon","MKUploadFile","uploadImageProps","uploadImageEmits","currentImageSrc","multiple","isShowImageViewer","watch","Array","isArray","immediate","src","index","indexOf","splice","handleShowImageViewer","handleCloseImageViewer","handleAppendImage","_value","push","_multiple","images","map","imageViewer","ElImageViewer"],"mappings":"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"}
@@ -71,9 +71,13 @@ const _CmsAdContentsForm = class _CmsAdContentsForm extends (_b = DataForm, _a =
71
71
  console.log(options.cutSise);
72
72
  this.cutSise = options.cutSise;
73
73
  }
74
+ changeCutSise(cutSise) {
75
+ this.cutSise = cutSise;
76
+ }
74
77
  async initialize() {
75
78
  await super.initialize();
76
79
  this.setColumns([
80
+ // new FormColumn({ name: "adDefineId", label: "广告定义", required: true, visible: true }),
77
81
  new FormColumn({ name: "title", label: "标题", required: true }),
78
82
  new FormColumn({ name: "desc", label: "描述", required: true }),
79
83
  new FormColumn({
@@ -1 +1 @@
1
- {"version":3,"file":"CmsAdContentsForm.js","sources":["../../../../../../src/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.ts"],"sourcesContent":["import { DataForm, DataFormOptions, FormColumn } from \"@maketribe/dm\";\r\nimport { ImageUploadContext, MaterialUploadContext } from \"../../../ms\";\r\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\r\nimport { MODULE_NAME } from \"../../constants\";\r\n\r\nexport class CmsAdContentsForm extends DataForm {\r\n\tstatic [DATA_MODEL_NAME]: string = \"ad-content\";\r\n\tcutSise: string = \"\";\r\n\tconstructor(options: DataFormOptions & { cutSise?: string } = {}) {\r\n\t\tsuper({\r\n\t\t\tname: CmsAdContentsForm[DATA_MODEL_NAME],\r\n\t\t\tmoduleName: MODULE_NAME,\r\n\t\t\t...options,\r\n\t\t});\r\n\t\tconsole.log(options.cutSise)\r\n\t\tthis.cutSise = options.cutSise as string\r\n\t}\r\n\r\n\tprotected async initialize() {\r\n\t\tawait super.initialize();\r\n\t\tthis.setColumns([\r\n\t\t\tnew FormColumn({ name: \"title\", label: \"标题\", required: true }),\r\n\t\t\tnew FormColumn({ name: \"desc\", label: \"描述\", required: true }),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"type\",\r\n\t\t\t\tlabel: \"素材类型\",\r\n\t\t\t\trequired: true,\r\n\t\t\t\tdefaultValue: 1,\r\n\t\t\t\tcomponentInfo: \"MKFormDataSelect\",\r\n\t\t\t\tcomponentProps: {\r\n\t\t\t\t\toptions: [\r\n\t\t\t\t\t\t{ value: 1, label: \"图片\" },\r\n\t\t\t\t\t\t{ value: 2, label: \"视频\" },\r\n\t\t\t\t\t],\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"path\",\r\n\t\t\t\tlabel: \"素材路径\",\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcomponentInfo: \"MKFormImageUpload\",\r\n\t\t\t\tcomponentProps: {\r\n\t\t\t\t\tuploadContext: new ImageUploadContext(this.cutSise),\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({ name: \"link\", label: \"跳转链接\" }),\r\n\t\t]);\r\n\r\n\t\tthis.formItemValueChangeEvent.on((column) => {\r\n\t\t\tif (column.formItem.name == \"type\") {\r\n\t\t\t\tif (column.data.value == 1) {\r\n\t\t\t\t\tthis.getColumn(\"path\")!.componentInfo = \"MKFormImageUpload\"\r\n\t\t\t\t\tthis.getColumn(\"path\")!.componentProps.uploadContext =\r\n\t\t\t\t\t\tnew ImageUploadContext(this.cutSise);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.getColumn(\"path\")!.componentInfo = \"MKFormVideoUpload\"\r\n\t\t\t\t\tthis.getColumn(\"path\")!.componentProps.uploadContext =\r\n\t\t\t\t\t\tnew MaterialUploadContext({\r\n\t\t\t\t\t\t\tallowMaterialTypeValues: [2],\r\n\t\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKO,MAAM,qBAAN,MAAM,4BAA0B,eAC9B,sBAD8B,IAAS;AAAA,EAG/C,YAAY,UAAkD,IAAI;AAC3D,UAAA;AAAA,MACL,MAAM,mBAAkB,eAAe;AAAA,MACvC,YAAY;AAAA,MACZ,GAAG;AAAA,IAAA,CACH;AANF,mCAAkB;AAOT,YAAA,IAAI,QAAQ,OAAO;AAC3B,SAAK,UAAU,QAAQ;AAAA,EACxB;AAAA,EAEA,MAAgB,aAAa;AAC5B,UAAM,MAAM;AACZ,SAAK,WAAW;AAAA,MACf,IAAI,WAAW,EAAE,MAAM,SAAS,OAAO,MAAM,UAAU,MAAM;AAAA,MAC7D,IAAI,WAAW,EAAE,MAAM,QAAQ,OAAO,MAAM,UAAU,MAAM;AAAA,MAC5D,IAAI,WAAW;AAAA,QACd,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,cAAc;AAAA,QACd,eAAe;AAAA,QACf,gBAAgB;AAAA,UACf,SAAS;AAAA,YACR,EAAE,OAAO,GAAG,OAAO,KAAK;AAAA,YACxB,EAAE,OAAO,GAAG,OAAO,KAAK;AAAA,UACzB;AAAA,QACD;AAAA,MAAA,CACA;AAAA,MACD,IAAI,WAAW;AAAA,QACd,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,eAAe;AAAA,QACf,gBAAgB;AAAA,UACf,eAAe,IAAI,mBAAmB,KAAK,OAAO;AAAA,QACnD;AAAA,MAAA,CACA;AAAA,MACD,IAAI,WAAW,EAAE,MAAM,QAAQ,OAAO,QAAQ;AAAA,IAAA,CAC9C;AAEI,SAAA,yBAAyB,GAAG,CAAC,WAAW;AACxC,UAAA,OAAO,SAAS,QAAQ,QAAQ;AAC/B,YAAA,OAAO,KAAK,SAAS,GAAG;AACtB,eAAA,UAAU,MAAM,EAAG,gBAAgB;AACnC,eAAA,UAAU,MAAM,EAAG,eAAe,gBACtC,IAAI,mBAAmB,KAAK,OAAO;AAAA,QAAA,OAC9B;AACD,eAAA,UAAU,MAAM,EAAG,gBAAgB;AACxC,eAAK,UAAU,MAAM,EAAG,eAAe,gBACtC,IAAI,sBAAsB;AAAA,YACzB,yBAAyB,CAAC,CAAC;AAAA,UAAA,CAC3B;AAAA,QACH;AAAA,MACD;AAAA,IAAA,CACA;AAAA,EACF;AACD;AA1DC,cADY,oBACJ,IAA2B;AAD7B,IAAM,oBAAN;"}
1
+ {"version":3,"file":"CmsAdContentsForm.js","sources":["../../../../../../src/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.ts"],"sourcesContent":["import { DataForm, DataFormOptions, FormColumn } from \"@maketribe/dm\";\r\nimport { ImageUploadContext, MaterialUploadContext } from \"../../../ms\";\r\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\r\nimport { MODULE_NAME } from \"../../constants\";\r\n\r\nexport class CmsAdContentsForm extends DataForm {\r\n\tstatic [DATA_MODEL_NAME]: string = \"ad-content\";\r\n\tcutSise: string = \"\";\r\n\tconstructor(options: DataFormOptions & { cutSise?: string } = {}) {\r\n\t\tsuper({\r\n\t\t\tname: CmsAdContentsForm[DATA_MODEL_NAME],\r\n\t\t\tmoduleName: MODULE_NAME,\r\n\t\t\t...options,\r\n\t\t});\r\n\t\tconsole.log(options.cutSise)\r\n\t\tthis.cutSise = options.cutSise as string\r\n\t}\r\n\r\n\tchangeCutSise(cutSise: string) {\r\n\t\tthis.cutSise = cutSise\r\n\t}\r\n\r\n\tprotected async initialize() {\r\n\t\tawait super.initialize();\r\n\t\tthis.setColumns([\r\n\t\t\t// new FormColumn({ name: \"adDefineId\", label: \"广告定义\", required: true, visible: true }),\r\n\t\t\tnew FormColumn({ name: \"title\", label: \"标题\", required: true }),\r\n\t\t\tnew FormColumn({ name: \"desc\", label: \"描述\", required: true }),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"type\",\r\n\t\t\t\tlabel: \"素材类型\",\r\n\t\t\t\trequired: true,\r\n\t\t\t\tdefaultValue: 1,\r\n\t\t\t\tcomponentInfo: \"MKFormDataSelect\",\r\n\t\t\t\tcomponentProps: {\r\n\t\t\t\t\toptions: [\r\n\t\t\t\t\t\t{ value: 1, label: \"图片\" },\r\n\t\t\t\t\t\t{ value: 2, label: \"视频\" },\r\n\t\t\t\t\t],\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"path\",\r\n\t\t\t\tlabel: \"素材路径\",\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcomponentInfo: \"MKFormImageUpload\",\r\n\t\t\t\tcomponentProps: {\r\n\t\t\t\t\tuploadContext: new ImageUploadContext(this.cutSise),\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({ name: \"link\", label: \"跳转链接\" }),\r\n\t\t]);\r\n\r\n\t\tthis.formItemValueChangeEvent.on((column) => {\r\n\t\t\tif (column.formItem.name == \"type\") {\r\n\t\t\t\tif (column.data.value == 1) {\r\n\t\t\t\t\tthis.getColumn(\"path\")!.componentInfo = \"MKFormImageUpload\"\r\n\t\t\t\t\tthis.getColumn(\"path\")!.componentProps.uploadContext =\r\n\t\t\t\t\t\tnew ImageUploadContext(this.cutSise);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.getColumn(\"path\")!.componentInfo = \"MKFormVideoUpload\"\r\n\t\t\t\t\tthis.getColumn(\"path\")!.componentProps.uploadContext =\r\n\t\t\t\t\t\tnew MaterialUploadContext({\r\n\t\t\t\t\t\t\tallowMaterialTypeValues: [2],\r\n\t\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKO,MAAM,qBAAN,MAAM,4BAA0B,eAC9B,sBAD8B,IAAS;AAAA,EAG/C,YAAY,UAAkD,IAAI;AAC3D,UAAA;AAAA,MACL,MAAM,mBAAkB,eAAe;AAAA,MACvC,YAAY;AAAA,MACZ,GAAG;AAAA,IAAA,CACH;AANF,mCAAkB;AAOT,YAAA,IAAI,QAAQ,OAAO;AAC3B,SAAK,UAAU,QAAQ;AAAA,EACxB;AAAA,EAEA,cAAc,SAAiB;AAC9B,SAAK,UAAU;AAAA,EAChB;AAAA,EAEA,MAAgB,aAAa;AAC5B,UAAM,MAAM;AACZ,SAAK,WAAW;AAAA;AAAA,MAEf,IAAI,WAAW,EAAE,MAAM,SAAS,OAAO,MAAM,UAAU,MAAM;AAAA,MAC7D,IAAI,WAAW,EAAE,MAAM,QAAQ,OAAO,MAAM,UAAU,MAAM;AAAA,MAC5D,IAAI,WAAW;AAAA,QACd,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,cAAc;AAAA,QACd,eAAe;AAAA,QACf,gBAAgB;AAAA,UACf,SAAS;AAAA,YACR,EAAE,OAAO,GAAG,OAAO,KAAK;AAAA,YACxB,EAAE,OAAO,GAAG,OAAO,KAAK;AAAA,UACzB;AAAA,QACD;AAAA,MAAA,CACA;AAAA,MACD,IAAI,WAAW;AAAA,QACd,MAAM;AAAA,QACN,OAAO;AAAA,QACP,UAAU;AAAA,QACV,eAAe;AAAA,QACf,gBAAgB;AAAA,UACf,eAAe,IAAI,mBAAmB,KAAK,OAAO;AAAA,QACnD;AAAA,MAAA,CACA;AAAA,MACD,IAAI,WAAW,EAAE,MAAM,QAAQ,OAAO,QAAQ;AAAA,IAAA,CAC9C;AAEI,SAAA,yBAAyB,GAAG,CAAC,WAAW;AACxC,UAAA,OAAO,SAAS,QAAQ,QAAQ;AAC/B,YAAA,OAAO,KAAK,SAAS,GAAG;AACtB,eAAA,UAAU,MAAM,EAAG,gBAAgB;AACnC,eAAA,UAAU,MAAM,EAAG,eAAe,gBACtC,IAAI,mBAAmB,KAAK,OAAO;AAAA,QAAA,OAC9B;AACD,eAAA,UAAU,MAAM,EAAG,gBAAgB;AACxC,eAAK,UAAU,MAAM,EAAG,eAAe,gBACtC,IAAI,sBAAsB;AAAA,YACzB,yBAAyB,CAAC,CAAC;AAAA,UAAA,CAC3B;AAAA,QACH;AAAA,MACD;AAAA,IAAA,CACA;AAAA,EACF;AACD;AA/DC,cADY,oBACJ,IAA2B;AAD7B,IAAM,oBAAN;"}
@@ -20,6 +20,8 @@ const _CmsAdDefinesForm = class _CmsAdDefinesForm extends (_b = DataForm, _a = D
20
20
  this.setColumns([
21
21
  new FormColumn({ name: "key", label: "广告位KEY", required: true }),
22
22
  new FormColumn({ name: "desc", label: "广告位描述", required: true }),
23
+ new FormColumn({ name: "width", label: "宽度" }),
24
+ new FormColumn({ name: "height", label: "高度" }),
23
25
  new FormDetailColumn({
24
26
  name: "contents",
25
27
  label: "内容",
@@ -1 +1 @@
1
- {"version":3,"file":"CmsAdDefinesForm.js","sources":["../../../../../../src/modules/cms/dataviews/cms-ad-defines/CmsAdDefinesForm.ts"],"sourcesContent":["import {\r\n DataForm,\r\n DataFormOptions,\r\n FormColumn,\r\n FormDetailColumn,\r\n} from \"@maketribe/dm\";\r\nimport { CmsAdContentsTable, CmsAdContentsForm } from \"../cms-ad-contents\";\r\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\r\nimport { MODULE_NAME } from \"../../constants\";\r\n\r\nexport class CmsAdDefinesForm extends DataForm {\r\n static [DATA_MODEL_NAME]: string = \"ad-define\";\r\n\r\n constructor(options: DataFormOptions = {}) {\r\n super({\r\n name: CmsAdDefinesForm[DATA_MODEL_NAME],\r\n moduleName: MODULE_NAME,\r\n ...options,\r\n });\r\n }\r\n\r\n protected async initialize() {\r\n await super.initialize();\r\n\r\n this.setColumns([\r\n\t\t\tnew FormColumn({ name: \"key\", label: \"广告位KEY\", required: true }),\r\n\t\t\tnew FormColumn({ name: \"desc\", label: \"广告位描述\", required: true }),\r\n\t\t\tnew FormDetailColumn({\r\n\t\t\t\tname: \"contents\",\r\n\t\t\t\tlabel: \"内容\",\r\n\t\t\t\tassociationFieldName: \"adDefineId\",\r\n\t\t\t\tdetailForm: this.register(new CmsAdContentsForm()),\r\n\t\t\t\tdetailTable: this.register(new CmsAdContentsTable()),\r\n\t\t\t}),\r\n\t\t]);\r\n }\r\n}\r\n"],"names":[],"mappings":";;;;;;;;;AAUO,MAAM,oBAAN,MAAM,2BAAyB,eAC5B,sBAD4B,IAAS;AAAA,EAG7C,YAAY,UAA2B,IAAI;AACnC,UAAA;AAAA,MACJ,MAAM,kBAAiB,eAAe;AAAA,MACtC,YAAY;AAAA,MACZ,GAAG;AAAA,IAAA,CACJ;AAAA,EACH;AAAA,EAEA,MAAgB,aAAa;AAC3B,UAAM,MAAM;AAEZ,SAAK,WAAW;AAAA,MACjB,IAAI,WAAW,EAAE,MAAM,OAAO,OAAO,UAAU,UAAU,MAAM;AAAA,MAC/D,IAAI,WAAW,EAAE,MAAM,QAAQ,OAAO,SAAS,UAAU,MAAM;AAAA,MAC/D,IAAI,iBAAiB;AAAA,QACpB,MAAM;AAAA,QACN,OAAO;AAAA,QACP,sBAAsB;AAAA,QACtB,YAAY,KAAK,SAAS,IAAI,mBAAmB;AAAA,QACjD,aAAa,KAAK,SAAS,IAAI,oBAAoB;AAAA,MAAA,CACnD;AAAA,IAAA,CACD;AAAA,EACD;AACF;AAzBE,cADW,mBACH,IAA2B;AAD9B,IAAM,mBAAN;"}
1
+ {"version":3,"file":"CmsAdDefinesForm.js","sources":["../../../../../../src/modules/cms/dataviews/cms-ad-defines/CmsAdDefinesForm.ts"],"sourcesContent":["import {\r\n DataForm,\r\n DataFormOptions,\r\n FormColumn,\r\n FormDetailColumn,\r\n} from \"@maketribe/dm\";\r\nimport { CmsAdContentsTable, CmsAdContentsForm } from \"../cms-ad-contents\";\r\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\r\nimport { MODULE_NAME } from \"../../constants\";\r\n\r\nexport class CmsAdDefinesForm extends DataForm {\r\n static [DATA_MODEL_NAME]: string = \"ad-define\";\r\n\r\n constructor(options: DataFormOptions = {}) {\r\n super({\r\n name: CmsAdDefinesForm[DATA_MODEL_NAME],\r\n moduleName: MODULE_NAME,\r\n ...options,\r\n });\r\n }\r\n\r\n protected async initialize() {\r\n await super.initialize();\r\n\r\n this.setColumns([\r\n new FormColumn({ name: \"key\", label: \"广告位KEY\", required: true }),\r\n new FormColumn({ name: \"desc\", label: \"广告位描述\", required: true }),\r\n new FormColumn({ name: \"width\", label: \"宽度\" }),\r\n new FormColumn({ name: \"height\", label: \"高度\" }),\r\n new FormDetailColumn({\r\n name: \"contents\",\r\n label: \"内容\",\r\n associationFieldName: \"adDefineId\",\r\n detailForm: this.register(new CmsAdContentsForm()),\r\n detailTable: this.register(new CmsAdContentsTable()),\r\n }),\r\n ]);\r\n }\r\n}\r\n"],"names":[],"mappings":";;;;;;;;;AAUO,MAAM,oBAAN,MAAM,2BAAyB,eAC5B,sBAD4B,IAAS;AAAA,EAG7C,YAAY,UAA2B,IAAI;AACnC,UAAA;AAAA,MACJ,MAAM,kBAAiB,eAAe;AAAA,MACtC,YAAY;AAAA,MACZ,GAAG;AAAA,IAAA,CACJ;AAAA,EACH;AAAA,EAEA,MAAgB,aAAa;AAC3B,UAAM,MAAM;AAEZ,SAAK,WAAW;AAAA,MACd,IAAI,WAAW,EAAE,MAAM,OAAO,OAAO,UAAU,UAAU,MAAM;AAAA,MAC/D,IAAI,WAAW,EAAE,MAAM,QAAQ,OAAO,SAAS,UAAU,MAAM;AAAA,MAC/D,IAAI,WAAW,EAAE,MAAM,SAAS,OAAO,MAAM;AAAA,MAC7C,IAAI,WAAW,EAAE,MAAM,UAAU,OAAO,MAAM;AAAA,MAC9C,IAAI,iBAAiB;AAAA,QACnB,MAAM;AAAA,QACN,OAAO;AAAA,QACP,sBAAsB;AAAA,QACtB,YAAY,KAAK,SAAS,IAAI,mBAAmB;AAAA,QACjD,aAAa,KAAK,SAAS,IAAI,oBAAoB;AAAA,MAAA,CACpD;AAAA,IAAA,CACF;AAAA,EACH;AACF;AA3BE,cADW,mBACH,IAA2B;AAD9B,IAAM,mBAAN;"}
@@ -1,4 +1,4 @@
1
- import { defineComponent, ref, reactive, onMounted, watch, resolveComponent, resolveDirective, openBlock, createElementBlock, createVNode, withCtx, createElementVNode, createTextVNode, withDirectives, Fragment, renderList, createBlock, toDisplayString, unref, createCommentVNode } from "vue";
1
+ import { defineComponent, ref, reactive, onMounted, watch, resolveComponent, resolveDirective, openBlock, createElementBlock, createVNode, withCtx, createElementVNode, createTextVNode, withDirectives, createBlock, Fragment, renderList, toDisplayString, unref, createCommentVNode } from "vue";
2
2
  import { DataViewRequest, Group } from "@maketribe/request";
3
3
  import { FormColumn, Dialoger, Messager } from "@maketribe/dm";
4
4
  import { CmsAdContentsForm } from "../../dataviews/cms-ad-contents/CmsAdContentsForm.js";
@@ -176,7 +176,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
176
176
  }, 500);
177
177
  });
178
178
  return (_ctx, _cache) => {
179
- var _a;
179
+ var _a, _b;
180
180
  const _component_MKSvgIcon = resolveComponent("MKSvgIcon");
181
181
  const _component_el_input = resolveComponent("el-input");
182
182
  const _component_el_button = resolveComponent("el-button");
@@ -239,7 +239,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
239
239
  _: 1
240
240
  }),
241
241
  withDirectives((openBlock(), createElementBlock("div", _hoisted_4, [
242
- createVNode(_component_el_scrollbar, { class: "mk-cms-ad__body__scrollbar" }, {
242
+ ((_a = adDefineList.value) == null ? void 0 : _a.length) ? (openBlock(), createBlock(_component_el_scrollbar, {
243
+ key: 0,
244
+ class: "mk-cms-ad__body__scrollbar"
245
+ }, {
243
246
  default: withCtx(() => [
244
247
  (openBlock(true), createElementBlock(Fragment, null, renderList(adDefineList.value, (item) => {
245
248
  return openBlock(), createBlock(_component_el_card, {
@@ -406,9 +409,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
406
409
  }), 128))
407
410
  ]),
408
411
  _: 1
409
- }),
410
- ((_a = adDefineList.value) == null ? void 0 : _a.length) <= 0 ? (openBlock(), createBlock(_component_el_empty, {
411
- key: 0,
412
+ })) : createCommentVNode("", true),
413
+ ((_b = adDefineList.value) == null ? void 0 : _b.length) <= 0 ? (openBlock(), createBlock(_component_el_empty, {
414
+ key: 1,
412
415
  description: "“暂无内容”"
413
416
  })) : createCommentVNode("", true)
414
417
  ])), [
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-ad/index.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-ad__warp\">\r\n <el-page-header style=\"background-color: #fff;padding: 10px;\" :icon=\"null\">\r\n <template #title>\r\n <h3 style=\"color: var(--el-text-color-regular);margin-left: 10px;\">\r\n <MKSvgIcon iconClass=\"Guide\" style=\"margin-right: 5px;\" />\r\n 广告位管理\r\n </h3>\r\n </template>\r\n <template #content>\r\n <el-input style=\"width: 240px\" placeholder=\"请输入广告位描述\" v-model=\"adSearchWord\">\r\n <template #prefix>\r\n <MKSvgIcon iconClass=\"Search\" />\r\n </template>\r\n </el-input>\r\n </template>\r\n <template #extra>\r\n <div class=\"flex items-center\">\r\n <el-button type=\"primary\" size=\"large\" text @click=\"showAdDefineHandle\">\r\n 添加广告位\r\n <MKSvgIcon iconClass=\"Plus\" style=\"margin-left: 10px;\" />\r\n </el-button>\r\n </div>\r\n </template>\r\n </el-page-header>\r\n <div class=\"mk-cms-ad__body\" v-loading=\"loading\">\r\n <el-scrollbar class=\"mk-cms-ad__body__scrollbar\">\r\n <el-card v-for=\"item in adDefineList\" :key=\"item.id\" class=\"mk-cms-ad__card\">\r\n <template #header>\r\n <div class=\"mk-cms-ad__card__header clearfix\">\r\n <span>\r\n <MKSvgIcon iconClass=\"Guide\" style=\"margin-right: 5px;\" />\r\n {{ item.desc }}\r\n </span>\r\n <div class=\"btn-box\">\r\n <MKSvgIcon class=\"btn\" iconClass=\"Plus\" style=\"color: #409EFF;\"\r\n @click=\"showAdContentHandler(item, false)\" />\r\n <MKSvgIcon class=\"btn\" iconClass=\"EditPen\" style=\"color: #409EFF;\" @click=\"showAdDefineHandle(item)\" />\r\n <MKSvgIcon class=\"btn\" iconClass=\"Delete\" style=\"color: #F56C6C;\"\r\n @click=\"deleteHandler(adRequest, 'desc', item)\" v-if=\"item.contents.length == 0\" />\r\n </div>\r\n </div>\r\n </template>\r\n <el-empty v-if=\"item.contents.length <= 0\" description=\"暂无内容\" />\r\n <div class=\"mk-cms-ad__card__body\">\r\n <el-scrollbar class=\"mk-cms-ad__card__body__scrollbar\">\r\n <el-card class=\"mk-cms-ad__card__body__item\" v-for=\"adContent in item.contents\" :key=\"adContent.id\">\r\n <el-image class=\"images\" v-if=\"adContent.type == 1\" :src=\"adContent.path\"\r\n :preview-src-list=\"[adContent.path]\" fit=\"contain\">\r\n <div slot=\"placeholder\" class=\"image-slot\">\r\n 加载中<span class=\"dot\">...</span>\r\n </div>\r\n </el-image>\r\n <video class=\"video\" v-if=\"adContent.type == 2\" :src=\"adContent.path\" style=\"width: 100%;height: 200px;\"\r\n controls></video>\r\n <div class=\"item-desc\">\r\n <div class=\"item-desc-left\">\r\n <div class=\"title ellipsis\">\r\n <MKSvgIcon class=\"icon\" v-if=\"adContent.type == 1\" iconClass=\"Picture\"></MKSvgIcon>\r\n <MKSvgIcon class=\"icon\" v-if=\"adContent.type == 2\" iconClass=\"VideoCamera\"></MKSvgIcon>\r\n <span :title=\"adContent.title + '(' + adContent.desc + ')'\">{{ adContent.title }}<span\r\n class=\"desc\">{{\r\n adContent.desc ? `(${adContent.desc})` : \"\" }}</span></span>\r\n </div>\r\n <div class=\"external-links ellipsis\">\r\n <MKSvgIcon class=\"icon\" v-if=\"adContent.link\" iconClass=\"Link\"></MKSvgIcon>\r\n <a :href=\"adContent.link\" target=\"_blank\" :title=\"adContent.link\">{{ adContent.link }}</a>\r\n </div>\r\n </div>\r\n <div class=\"item-desc-right\">\r\n <el-dropdown trigger=\"click\" :teleported=\"false\" class=\"item-desc-right__more\">\r\n <span class=\"el-dropdown-link\">\r\n 更多<el-icon class=\"el-icon--right\"><arrow-down /></el-icon>\r\n </span>\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item class=\"edit-button\" :icon=\"EditPen\"\r\n @click=\"showAdContentHandler(adContent, true)\">编辑</el-dropdown-item>\r\n <el-dropdown-item class=\"delete-button\" :icon=\"Delete\"\r\n @click=\"deleteHandler(adContentRequest, 'title', adContent)\">删除</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </div>\r\n </div>\r\n </el-card>\r\n </el-scrollbar>\r\n </div>\r\n </el-card>\r\n </el-scrollbar>\r\n\r\n <el-empty v-if=\"adDefineList?.length <= 0\" description=“暂无内容” />\r\n </div>\r\n </div>\r\n\r\n</template>\r\n<script setup lang='ts'>\r\nimport { onMounted, reactive, ref, watch } from \"vue\";\r\nimport { DataViewRequest, Group } from \"@maketribe/request\";\r\nimport { DataForm, Dialoger, FormColumn, Messager } from \"@maketribe/dm\";\r\nimport { CmsAdContentsForm, CmsAdDefinesForm } from \"../../dataviews\";\r\nimport { EditPen, ArrowDown, Delete } from \"@element-plus/icons-vue\"\r\n\r\n// 广告定义数据表\r\nconst adRequest = new DataViewRequest({ name: \"ad-define\", moduleName: \"cms\" });\r\nconst adContentRequest = new DataViewRequest({ name: \"ad-content\", moduleName: \"cms\" });\r\n//广告位搜索词\r\nconst adSearchWord = ref(\"\")\r\n// 广告定义列表\r\nconst adDefineList = ref([] as any[]);\r\nconst loading = ref(true);\r\n\r\n//更新列表数据\r\nconst setAdDefineList = async (condition?: Group) => {\r\n try {\r\n loading.value = true;\r\n\r\n if(!condition){ condition = new Group(); }\r\n\r\n // 栏目的广告不查\r\n condition?.addCondition(\"key\",\"nolike\",\"part_\")\r\n\r\n console.log(condition);\r\n\r\n adDefineList.value = (await adRequest.allList({\r\n data: {\r\n condition: condition\r\n }\r\n })).data.data;\r\n\r\n } catch (e) {\r\n console.error(e)\r\n } finally {\r\n loading.value = false;\r\n }\r\n}\r\n// 广告内容表单\r\nconst adContentForm = reactive(new CmsAdContentsForm())\r\n//监听广告内容表单保存事件\r\nadContentForm.submittedEvent.on(() => {\r\n setAdDefineList()\r\n})\r\n// 添加广告内容\r\nconst showAdContentHandler = async (item: any, isEdit: boolean) => {\r\n await Dialoger.dataFormDialog({\r\n dataForm: adContentForm as CmsAdContentsForm,\r\n recId: isEdit ? item.id : undefined\r\n })\r\n if (!isEdit) {\r\n adContentForm.addRecord({ adDefineId: item.id })\r\n }\r\n}\r\n\r\n//广告定义表单\r\nconst adDefineForm = reactive(new (class extends CmsAdDefinesForm {\r\n //去掉广告内容\r\n protected async initialize() {\r\n await super.initialize();\r\n this.setColumns([\r\n new FormColumn({ name: \"key\", label: \"广告位KEY\", required: true }),\r\n new FormColumn({ name: \"desc\", label: \"广告位描述\", required: true }),\r\n ]);\r\n }\r\n}))\r\n//监听广告保存完成进行刷新\r\nadDefineForm.submittedEvent.on(() => {\r\n setAdDefineList()\r\n})\r\n//增加广告位\r\nconst showAdDefineHandle = (item: any) => {\r\n Dialoger.dataFormDialog({\r\n dataForm: adDefineForm as DataForm,\r\n recId: item?.id\r\n })\r\n}\r\n\r\n//删除\r\nconst deleteHandler = async (request: DataViewRequest, field: string, item: any) => {\r\n const isConfirm = await Dialoger.confirm({\r\n title: \"是否删除?\",\r\n message: `确定删除【${item[field]}】广告位?`,\r\n type: \"warning\"\r\n });\r\n if (!isConfirm) {\r\n return;\r\n }\r\n try {\r\n loading.value = true\r\n const result = await request.delete(item.id)\r\n if (result.data.code != 200) {\r\n Messager.error({ message: result.data.msg || \"删除失败\" })\r\n return;\r\n }\r\n await setAdDefineList()\r\n } catch (e: any) {\r\n Messager.error({ message: e })\r\n } finally {\r\n loading.value = false\r\n\r\n }\r\n}\r\n\r\n// 加载广告定义\r\nonMounted(async () => {\r\n await setAdDefineList();\r\n})\r\n\r\n//timer\r\nlet timer: any = null\r\n\r\n//监听adSearchWord变化进行搜索\r\nwatch(adSearchWord, async () => {\r\n\r\n if (!!timer) {\r\n clearTimeout(timer)\r\n }\r\n\r\n timer = setTimeout(async () => {\r\n const condition = new Group()\r\n condition.addCondition(\"desc\", \"like\", `%${adSearchWord.value}%`)\r\n await setAdDefineList(condition);\r\n }, 500)\r\n\r\n\r\n})\r\n\r\n</script>\r\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-ad/index.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-ad__warp\">\r\n <el-page-header style=\"background-color: #fff;padding: 10px;\" :icon=\"null\">\r\n <template #title>\r\n <h3 style=\"color: var(--el-text-color-regular);margin-left: 10px;\">\r\n <MKSvgIcon iconClass=\"Guide\" style=\"margin-right: 5px;\" />\r\n 广告位管理\r\n </h3>\r\n </template>\r\n <template #content>\r\n <el-input style=\"width: 240px\" placeholder=\"请输入广告位描述\" v-model=\"adSearchWord\">\r\n <template #prefix>\r\n <MKSvgIcon iconClass=\"Search\" />\r\n </template>\r\n </el-input>\r\n </template>\r\n <template #extra>\r\n <div class=\"flex items-center\">\r\n <el-button type=\"primary\" size=\"large\" text @click=\"showAdDefineHandle\">\r\n 添加广告位\r\n <MKSvgIcon iconClass=\"Plus\" style=\"margin-left: 10px;\" />\r\n </el-button>\r\n </div>\r\n </template>\r\n </el-page-header>\r\n <div class=\"mk-cms-ad__body\" v-loading=\"loading\">\r\n <el-scrollbar class=\"mk-cms-ad__body__scrollbar\" v-if=\"adDefineList?.length\">\r\n <el-card v-for=\"item in adDefineList\" :key=\"item.id\" class=\"mk-cms-ad__card\">\r\n <template #header>\r\n <div class=\"mk-cms-ad__card__header clearfix\">\r\n <span>\r\n <MKSvgIcon iconClass=\"Guide\" style=\"margin-right: 5px;\" />\r\n {{ item.desc }}\r\n </span>\r\n <div class=\"btn-box\">\r\n <MKSvgIcon class=\"btn\" iconClass=\"Plus\" style=\"color: #409EFF;\"\r\n @click=\"showAdContentHandler(item, false)\" />\r\n <MKSvgIcon class=\"btn\" iconClass=\"EditPen\" style=\"color: #409EFF;\" @click=\"showAdDefineHandle(item)\" />\r\n <MKSvgIcon class=\"btn\" iconClass=\"Delete\" style=\"color: #F56C6C;\"\r\n @click=\"deleteHandler(adRequest, 'desc', item)\" v-if=\"item.contents.length == 0\" />\r\n </div>\r\n </div>\r\n </template>\r\n <el-empty v-if=\"item.contents.length <= 0\" description=\"暂无内容\" />\r\n <div class=\"mk-cms-ad__card__body\">\r\n <el-scrollbar class=\"mk-cms-ad__card__body__scrollbar\">\r\n <el-card class=\"mk-cms-ad__card__body__item\" v-for=\"adContent in item.contents\" :key=\"adContent.id\">\r\n <el-image class=\"images\" v-if=\"adContent.type == 1\" :src=\"adContent.path\"\r\n :preview-src-list=\"[adContent.path]\" fit=\"contain\">\r\n <div slot=\"placeholder\" class=\"image-slot\">\r\n 加载中<span class=\"dot\">...</span>\r\n </div>\r\n </el-image>\r\n <video class=\"video\" v-if=\"adContent.type == 2\" :src=\"adContent.path\" style=\"width: 100%;height: 200px;\"\r\n controls></video>\r\n <div class=\"item-desc\">\r\n <div class=\"item-desc-left\">\r\n <div class=\"title ellipsis\">\r\n <MKSvgIcon class=\"icon\" v-if=\"adContent.type == 1\" iconClass=\"Picture\"></MKSvgIcon>\r\n <MKSvgIcon class=\"icon\" v-if=\"adContent.type == 2\" iconClass=\"VideoCamera\"></MKSvgIcon>\r\n <span :title=\"adContent.title + '(' + adContent.desc + ')'\">{{ adContent.title }}<span\r\n class=\"desc\">{{\r\n adContent.desc ? `(${adContent.desc})` : \"\" }}</span></span>\r\n </div>\r\n <div class=\"external-links ellipsis\">\r\n <MKSvgIcon class=\"icon\" v-if=\"adContent.link\" iconClass=\"Link\"></MKSvgIcon>\r\n <a :href=\"adContent.link\" target=\"_blank\" :title=\"adContent.link\">{{ adContent.link }}</a>\r\n </div>\r\n </div>\r\n <div class=\"item-desc-right\">\r\n <el-dropdown trigger=\"click\" :teleported=\"false\" class=\"item-desc-right__more\">\r\n <span class=\"el-dropdown-link\">\r\n 更多<el-icon class=\"el-icon--right\"><arrow-down /></el-icon>\r\n </span>\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item class=\"edit-button\" :icon=\"EditPen\"\r\n @click=\"showAdContentHandler(adContent, true)\">编辑</el-dropdown-item>\r\n <el-dropdown-item class=\"delete-button\" :icon=\"Delete\"\r\n @click=\"deleteHandler(adContentRequest, 'title', adContent)\">删除</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </div>\r\n </div>\r\n </el-card>\r\n </el-scrollbar>\r\n </div>\r\n </el-card>\r\n </el-scrollbar>\r\n\r\n <el-empty v-if=\"adDefineList?.length <= 0\" description=“暂无内容” />\r\n </div>\r\n </div>\r\n\r\n</template>\r\n<script setup lang='ts'>\r\nimport { onMounted, reactive, ref, watch } from \"vue\";\r\nimport { DataViewRequest, Group } from \"@maketribe/request\";\r\nimport { DataForm, Dialoger, FormColumn, Messager } from \"@maketribe/dm\";\r\nimport { CmsAdContentsForm, CmsAdDefinesForm } from \"../../dataviews\";\r\nimport { EditPen, ArrowDown, Delete } from \"@element-plus/icons-vue\"\r\n\r\n// 广告定义数据表\r\nconst adRequest = new DataViewRequest({ name: \"ad-define\", moduleName: \"cms\" });\r\nconst adContentRequest = new DataViewRequest({ name: \"ad-content\", moduleName: \"cms\" });\r\n//广告位搜索词\r\nconst adSearchWord = ref(\"\")\r\n// 广告定义列表\r\nconst adDefineList = ref([] as any[]);\r\nconst loading = ref(true);\r\n\r\n//更新列表数据\r\nconst setAdDefineList = async (condition?: Group) => {\r\n try {\r\n loading.value = true;\r\n\r\n if(!condition){ condition = new Group(); }\r\n\r\n // 栏目的广告不查\r\n condition?.addCondition(\"key\",\"nolike\",\"part_\")\r\n\r\n console.log(condition);\r\n\r\n adDefineList.value = (await adRequest.allList({\r\n data: {\r\n condition: condition\r\n }\r\n })).data.data;\r\n\r\n } catch (e) {\r\n console.error(e)\r\n } finally {\r\n loading.value = false;\r\n }\r\n}\r\n// 广告内容表单\r\nconst adContentForm = reactive(new CmsAdContentsForm())\r\n//监听广告内容表单保存事件\r\nadContentForm.submittedEvent.on(() => {\r\n setAdDefineList()\r\n})\r\n// 添加广告内容\r\nconst showAdContentHandler = async (item: any, isEdit: boolean) => {\r\n await Dialoger.dataFormDialog({\r\n dataForm: adContentForm as CmsAdContentsForm,\r\n recId: isEdit ? item.id : undefined\r\n })\r\n if (!isEdit) {\r\n adContentForm.addRecord({ adDefineId: item.id })\r\n }\r\n}\r\n\r\n//广告定义表单\r\nconst adDefineForm = reactive(new (class extends CmsAdDefinesForm {\r\n //去掉广告内容\r\n protected async initialize() {\r\n await super.initialize();\r\n this.setColumns([\r\n new FormColumn({ name: \"key\", label: \"广告位KEY\", required: true }),\r\n new FormColumn({ name: \"desc\", label: \"广告位描述\", required: true }),\r\n ]);\r\n }\r\n}))\r\n//监听广告保存完成进行刷新\r\nadDefineForm.submittedEvent.on(() => {\r\n setAdDefineList()\r\n})\r\n//增加广告位\r\nconst showAdDefineHandle = (item: any) => {\r\n Dialoger.dataFormDialog({\r\n dataForm: adDefineForm as DataForm,\r\n recId: item?.id\r\n })\r\n}\r\n\r\n//删除\r\nconst deleteHandler = async (request: DataViewRequest, field: string, item: any) => {\r\n const isConfirm = await Dialoger.confirm({\r\n title: \"是否删除?\",\r\n message: `确定删除【${item[field]}】广告位?`,\r\n type: \"warning\"\r\n });\r\n if (!isConfirm) {\r\n return;\r\n }\r\n try {\r\n loading.value = true\r\n const result = await request.delete(item.id)\r\n if (result.data.code != 200) {\r\n Messager.error({ message: result.data.msg || \"删除失败\" })\r\n return;\r\n }\r\n await setAdDefineList()\r\n } catch (e: any) {\r\n Messager.error({ message: e })\r\n } finally {\r\n loading.value = false\r\n\r\n }\r\n}\r\n\r\n// 加载广告定义\r\nonMounted(async () => {\r\n await setAdDefineList();\r\n})\r\n\r\n//timer\r\nlet timer: any = null\r\n\r\n//监听adSearchWord变化进行搜索\r\nwatch(adSearchWord, async () => {\r\n\r\n if (!!timer) {\r\n clearTimeout(timer)\r\n }\r\n\r\n timer = setTimeout(async () => {\r\n const condition = new Group()\r\n condition.addCondition(\"desc\", \"like\", `%${adSearchWord.value}%`)\r\n await setAdDefineList(condition);\r\n }, 500)\r\n\r\n\r\n})\r\n\r\n</script>\r\n"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { useCmsSettings } from "../../../cms-settings.js";
3
3
  import { DataViewRequest, Where } from "@maketribe/request";
4
4
  import { Messager, Dialoger } from "@maketribe/dm";
5
5
  import { CmsAdContentsForm } from "../../../dataviews/cms-ad-contents/CmsAdContentsForm.js";
6
+ import { CmsAdDefinesForm } from "../../../dataviews/cms-ad-defines/CmsAdDefinesForm.js";
6
7
  import "element-plus";
7
8
  import "@maketribe/utils";
8
9
  import "../../../../../core/DataModelDefines.js";
@@ -82,12 +83,14 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
82
83
  const partAdBanner = ref(null);
83
84
  const loading = ref(true);
84
85
  const adContentForm = reactive(new CmsAdContentsForm({ cutSise: cmsSettings.part.bannerImageSize }));
86
+ const adDefineForm = reactive(new CmsAdDefinesForm());
85
87
  adContentForm.beforeSubmitEvent.on(async ({ data }) => {
86
88
  if (partAdBanner.value) {
87
89
  data.adDefineId = partAdBanner.value.id;
88
90
  } else {
89
91
  try {
90
- const result = await adRequest.add({ key: `part_${props.partId}`, desc: `${props.title}的Banner` });
92
+ const widthAndHeight = cmsSettings.part.bannerImageSize.split("*");
93
+ const result = await adRequest.add({ key: `part_${props.partId}`, desc: `${props.title}的Banner`, width: widthAndHeight[0], height: widthAndHeight[1] });
91
94
  if (result.data.code == 200) {
92
95
  partAdBanner.value = { id: result.data.data };
93
96
  data.adDefineId = result.data.data;
@@ -100,6 +103,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
100
103
  adContentForm.submittedEvent.on(() => {
101
104
  loadPartAdDefineData(props.partId);
102
105
  });
106
+ adDefineForm.submittedEvent.on(() => {
107
+ loadPartAdDefineData(props.partId);
108
+ });
103
109
  const loadPartAdDefineData = async (partId) => {
104
110
  try {
105
111
  loading.value = true;
@@ -112,18 +118,30 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
112
118
  condition: where
113
119
  }
114
120
  })).data.data[0];
121
+ if (partAdBanner.value.width && partAdBanner.value.width) {
122
+ adContentForm.changeCutSise(`${partAdBanner.value.width}*${partAdBanner.value.height}`);
123
+ }
115
124
  } catch (e) {
116
125
  console.error(e);
117
126
  } finally {
118
127
  loading.value = false;
119
128
  }
120
129
  };
121
- const showAdDefineHandle = (id) => {
122
- Dialoger.dataFormDialog({
130
+ const showAdContentHandle = async (id) => {
131
+ await Dialoger.dataFormDialog({
123
132
  dataForm: adContentForm,
124
133
  recId: id
125
134
  });
126
135
  };
136
+ const showAdDefineHandle = async (id) => {
137
+ await Dialoger.dataFormDialog({
138
+ dataForm: adDefineForm,
139
+ recId: partAdBanner.value.id
140
+ });
141
+ adDefineForm.getColumn("contents").visible = false;
142
+ adDefineForm.getColumn("key").visible = false;
143
+ adDefineForm.getColumn("desc").visible = false;
144
+ };
127
145
  onMounted(() => {
128
146
  watch(() => props.partId, (id) => {
129
147
  loadPartAdDefineData(id);
@@ -182,7 +200,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
182
200
  type: "primary",
183
201
  style: { "margin-left": "10px" },
184
202
  icon: unref(EditPen),
185
- onClick: ($event) => showAdDefineHandle(item.id)
203
+ onClick: ($event) => showAdContentHandle(item.id)
186
204
  }, {
187
205
  default: withCtx(() => [
188
206
  createTextVNode(" 编辑当前轮播项 ")
@@ -193,12 +211,23 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
193
211
  type: "primary",
194
212
  style: { "margin-left": "10px" },
195
213
  icon: unref(Plus),
196
- onClick: _cache[0] || (_cache[0] = ($event) => showAdDefineHandle(null))
214
+ onClick: _cache[0] || (_cache[0] = ($event) => showAdContentHandle(null))
197
215
  }, {
198
216
  default: withCtx(() => [
199
217
  createTextVNode(" 添加新轮播项 ")
200
218
  ]),
201
219
  _: 1
220
+ }, 8, ["icon"]),
221
+ createVNode(_component_el_button, {
222
+ type: "primary",
223
+ style: { "margin-left": "10px" },
224
+ icon: unref(EditPen),
225
+ onClick: _cache[1] || (_cache[1] = ($event) => showAdDefineHandle())
226
+ }, {
227
+ default: withCtx(() => [
228
+ createTextVNode(" 编辑banner比例 ")
229
+ ]),
230
+ _: 1
202
231
  }, 8, ["icon"])
203
232
  ])
204
233
  ])
@@ -226,7 +255,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
226
255
  text: "",
227
256
  style: { "margin-left": "10px" },
228
257
  icon: unref(Plus),
229
- onClick: _cache[1] || (_cache[1] = ($event) => showAdDefineHandle(null))
258
+ onClick: _cache[2] || (_cache[2] = ($event) => showAdContentHandle(null))
230
259
  }, {
231
260
  default: withCtx(() => [
232
261
  createTextVNode(" 添加 ")
@@ -1 +1 @@
1
- {"version":3,"file":"part-banner-edit.vue.js","sources":["../../../../../../../src/modules/cms/pages/cms-contents/components/part-banner-edit.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-part-banner__warp\" v-loading=\"loading\" v-if=\"cmsSettings.part.openBanner\">\r\n <el-carousel v-if=\"partAdBanner && partAdBanner.contents?.length\" :autoplay=\"false\" height=\"240px\" arrow=\"always\">\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=\"showAdDefineHandle(item.id)\">\r\n 编辑当前轮播项\r\n </el-button>\r\n <el-button type=\"primary\" style=\"margin-left: 10px;\" :icon=\"Plus\" @click=\"showAdDefineHandle(null)\">\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 description=\"暂无轮播数据\" :image-size=\"80\" style=\"height: 240px;\">\r\n <template #description>\r\n <el-text>暂无轮播数据</el-text>\r\n <el-button type=\"primary\" text style=\"margin-left: 10px;\" :icon=\"Plus\" @click=\"showAdDefineHandle(null)\">\r\n 添加\r\n </el-button>\r\n </template>\r\n </el-empty>\r\n\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { useCmsSettings } from \"../../../cms-settings\"\r\nimport { onMounted, reactive, computed, ref, watch, defineProps } from \"vue\";\r\nimport { DataViewRequest, Where } from \"@maketribe/request\";\r\nimport { DataForm, Dialoger, FormColumn, Messager } from \"@maketribe/dm\";\r\nimport { CmsAdDefinesTable, CmsAdContentsForm, CmsAdDefinesForm } from \"../../../dataviews\";\r\nimport { EditPen, ArrowDown, Delete, Plus } from \"@element-plus/icons-vue\"\r\nimport { debounce } from \"lodash-es\"\r\n// 广告定义数据表\r\nconst adRequest = new DataViewRequest({ name: \"ad-define\", moduleName: \"cms\" });\r\n// cms 配置\r\nconst cmsSettings = useCmsSettings();\r\nconst props = defineProps({ partId: { type: String }, title: { type: String } })\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\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 // 添加广告\r\n const result = await adRequest.add({ key: `part_${props.partId}`, desc: `${props.title}的Banner` })\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\nadContentForm.submittedEvent.on(() => {\r\n loadPartAdDefineData(props.partId)\r\n})\r\n\r\n//加载栏目广告\r\nconst loadPartAdDefineData = async (partId: any) => {\r\n\r\n try {\r\n\r\n loading.value = true;\r\n const where = new Where()\r\n where.addCondition(\"key\", \"=\", `part_${partId}`);\r\n\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 } 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 showAdDefineHandle = (id: any) => {\r\n Dialoger.dataFormDialog({\r\n dataForm: adContentForm as CmsAdContentsForm,\r\n recId: id\r\n })\r\n}\r\n\r\n// 组件挂载的时候\r\nonMounted(() => {\r\n watch(() => props.partId, id => {\r\n loadPartAdDefineData(id)\r\n }, { immediate: true })\r\n})\r\n\r\n</script>\r\n<style lang='scss'></style>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkDM,UAAA,YAAY,IAAI,gBAAgB,EAAE,MAAM,aAAa,YAAY,OAAO;AAE9E,UAAM,cAAc;AACpB,UAAM,QAAQ;AAER,UAAA,eAAe,IAAgB,IAAI;AACnC,UAAA,UAAU,IAAI,IAAI;AAClB,UAAA,gBAAgB,SAA4B,IAAI,kBAAkB,EAAC,SAAQ,YAAY,KAAK,gBAAgB,CAAA,CAAC;AAEnH,kBAAc,kBAAkB,GAAG,OAAO,EAAE,WAAW;AAErD,UAAI,aAAa,OAAO;AACjB,aAAA,aAAa,aAAa,MAAM;AAAA,MAAA,OAElC;AACC,YAAA;AAGF,gBAAM,SAAS,MAAM,UAAU,IAAI,EAAE,KAAK,QAAQ,MAAM,MAAM,IAAI,MAAM,GAAG,MAAM,KAAK,WAAW;AAE7F,cAAA,OAAO,KAAK,QAAQ,KAAK;AAC3B,yBAAa,QAAQ,EAAE,IAAI,OAAO,KAAK;AAClC,iBAAA,aAAa,OAAO,KAAK;AAAA,UAChC;AAAA,iBAEO,OAAO;AACd,mBAAS,MAAM,EAAE,SAAS,QAAS,CAAA;AAAA,QACrC;AAAA,MACF;AAAA,IAAA,CAED;AAGa,kBAAA,eAAe,GAAG,MAAM;AACpC,2BAAqB,MAAM,MAAM;AAAA,IAAA,CAClC;AAGK,UAAA,uBAAuB,OAAO,WAAgB;AAE9C,UAAA;AAEF,gBAAQ,QAAQ;AACV,cAAA,QAAQ,IAAI;AAClB,cAAM,aAAa,OAAO,KAAK,QAAQ,MAAM,EAAE;AAGlC,qBAAA,SAAS,MAAM,UAAU,MAAM;AAAA,UAC1C,MAAM;AAAA,YACJ,IAAI;AAAA,YACJ,IAAI;AAAA,YACJ,WAAW;AAAA,UACb;AAAA,QACD,CAAA,GAAG,KAAK,KAAK,CAAC;AAAA,eACR,GAAG;AACV,gBAAQ,MAAM,CAAC;AAAA,MAAA,UACf;AACA,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IAAA;AAII,UAAA,qBAAqB,CAAC,OAAY;AACtC,eAAS,eAAe;AAAA,QACtB,UAAU;AAAA,QACV,OAAO;AAAA,MAAA,CACR;AAAA,IAAA;AAIH,cAAU,MAAM;AACR,YAAA,MAAM,MAAM,QAAQ,CAAM,OAAA;AAC9B,6BAAqB,EAAE;AAAA,MAAA,GACtB,EAAE,WAAW,KAAA,CAAM;AAAA,IAAA,CACvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"part-banner-edit.vue.js","sources":["../../../../../../../src/modules/cms/pages/cms-contents/components/part-banner-edit.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-part-banner__warp\" v-loading=\"loading\" v-if=\"cmsSettings.part.openBanner\">\r\n <el-carousel v-if=\"partAdBanner && partAdBanner.contents?.length\" :autoplay=\"false\" height=\"240px\" arrow=\"always\">\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(null)\">\r\n 编辑banner比例\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 description=\"暂无轮播数据\" :image-size=\"80\" style=\"height: 240px;\">\r\n <template #description>\r\n <el-text>暂无轮播数据</el-text>\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\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { useCmsSettings } from \"../../../cms-settings\"\r\nimport { onMounted, reactive, computed, ref, watch, defineProps } from \"vue\";\r\nimport { DataViewRequest, Where } from \"@maketribe/request\";\r\nimport { DataForm, Dialoger, FormColumn, Messager } from \"@maketribe/dm\";\r\nimport { CmsAdDefinesTable, CmsAdContentsForm, CmsAdDefinesForm } from \"../../../dataviews\";\r\nimport { EditPen, ArrowDown, Delete, Plus } from \"@element-plus/icons-vue\"\r\nimport { debounce } from \"lodash-es\"\r\n// 广告定义数据表\r\nconst adRequest = new DataViewRequest({ name: \"ad-define\", moduleName: \"cms\" });\r\n// cms 配置\r\nconst cmsSettings = useCmsSettings();\r\nconst props = defineProps({ partId: { type: String }, title: { type: String } })\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\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: `part_${props.partId}`, 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\nadContentForm.submittedEvent.on(() => {\r\n loadPartAdDefineData(props.partId)\r\n})\r\n//加完成则刷新\r\nadDefineForm.submittedEvent.on(() => {\r\n loadPartAdDefineData(props.partId)\r\n})\r\n\r\n\r\n//加载栏目广告\r\nconst loadPartAdDefineData = async (partId: any) => {\r\n\r\n try {\r\n\r\n loading.value = true;\r\n const where = new Where()\r\n where.addCondition(\"key\", \"=\", `part_${partId}`);\r\n\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 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\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\nconst showAdDefineHandle = async (id: any) => {\r\n await Dialoger.dataFormDialog({\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\n// 组件挂载的时候\r\nonMounted(() => {\r\n watch(() => props.partId, id => {\r\n loadPartAdDefineData(id)\r\n }, { immediate: true })\r\n})\r\n\r\n</script>\r\n<style lang='scss'></style>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqDM,UAAA,YAAY,IAAI,gBAAgB,EAAE,MAAM,aAAa,YAAY,OAAO;AAE9E,UAAM,cAAc;AACpB,UAAM,QAAQ;AAER,UAAA,eAAe,IAAgB,IAAI;AACnC,UAAA,UAAU,IAAI,IAAI;AAClB,UAAA,gBAAgB,SAA4B,IAAI,kBAAkB,EAAE,SAAS,YAAY,KAAK,gBAAiB,CAAA,CAAC;AACtH,UAAM,eAAe,SAA2B,IAAI,iBAAkB,CAAA;AAGtE,kBAAc,kBAAkB,GAAG,OAAO,EAAE,WAAW;AAErD,UAAI,aAAa,OAAO;AACjB,aAAA,aAAa,aAAa,MAAM;AAAA,MAAA,OAElC;AACC,YAAA;AAEF,gBAAM,iBAAiB,YAAY,KAAK,gBAAgB,MAAM,GAAG;AAE3D,gBAAA,SAAS,MAAM,UAAU,IAAI,EAAE,KAAK,QAAQ,MAAM,MAAM,IAAI,MAAM,GAAG,MAAM,KAAK,WAAW,OAAO,eAAe,CAAC,GAAG,QAAQ,eAAe,CAAC,EAAG,CAAA;AAElJ,cAAA,OAAO,KAAK,QAAQ,KAAK;AAC3B,yBAAa,QAAQ,EAAE,IAAI,OAAO,KAAK;AAClC,iBAAA,aAAa,OAAO,KAAK;AAAA,UAChC;AAAA,iBAEO,OAAO;AACd,mBAAS,MAAM,EAAE,SAAS,QAAS,CAAA;AAAA,QACrC;AAAA,MACF;AAAA,IAAA,CAED;AAGa,kBAAA,eAAe,GAAG,MAAM;AACpC,2BAAqB,MAAM,MAAM;AAAA,IAAA,CAClC;AAEY,iBAAA,eAAe,GAAG,MAAM;AACnC,2BAAqB,MAAM,MAAM;AAAA,IAAA,CAClC;AAIK,UAAA,uBAAuB,OAAO,WAAgB;AAE9C,UAAA;AAEF,gBAAQ,QAAQ;AACV,cAAA,QAAQ,IAAI;AAClB,cAAM,aAAa,OAAO,KAAK,QAAQ,MAAM,EAAE;AAGlC,qBAAA,SAAS,MAAM,UAAU,MAAM;AAAA,UAC1C,MAAM;AAAA,YACJ,IAAI;AAAA,YACJ,IAAI;AAAA,YACJ,WAAW;AAAA,UACb;AAAA,QACD,CAAA,GAAG,KAAK,KAAK,CAAC;AACf,YAAI,aAAa,MAAM,SAAS,aAAa,MAAM,OAAO;AAC1C,wBAAA,cAAc,GAAG,aAAa,MAAM,KAAK,IAAI,aAAa,MAAM,MAAM,EAAE;AAAA,QACxF;AAAA,eAEO,GAAG;AACV,gBAAQ,MAAM,CAAC;AAAA,MAAA,UACf;AACA,gBAAQ,QAAQ;AAAA,MAClB;AAAA,IAAA;AAGI,UAAA,sBAAsB,OAAO,OAAY;AAC7C,YAAM,SAAS,eAAe;AAAA,QAC5B,UAAU;AAAA,QACV,OAAO;AAAA,MAAA,CACR;AAAA,IAAA;AAGG,UAAA,qBAAqB,OAAO,OAAY;AAC5C,YAAM,SAAS,eAAe;AAAA,QAC5B,UAAU;AAAA,QACV,OAAO,aAAa,MAAM;AAAA,MAAA,CAC3B;AACY,mBAAA,UAAU,UAAU,EAAG,UAAU;AACjC,mBAAA,UAAU,KAAK,EAAG,UAAU;AAC5B,mBAAA,UAAU,MAAM,EAAG,UAAU;AAAA,IAAA;AAI5C,cAAU,MAAM;AACR,YAAA,MAAM,MAAM,QAAQ,CAAM,OAAA;AAC9B,6BAAqB,EAAE;AAAA,MAAA,GACtB,EAAE,WAAW,KAAA,CAAM;AAAA,IAAA,CACvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, reactive, computed, ref, createVNode, createTextVNode, unref } from "vue";
2
- import { ElTabs, ElTabPane, ElButton, ElImage, ElIcon } from "element-plus";
3
- import { UploadFilled, Picture } from "@element-plus/icons-vue";
2
+ import { ElTabs, ElTabPane, ElButton, ElInput, ElImage, ElIcon } from "element-plus";
3
+ import { UploadFilled, Share, Picture } from "@element-plus/icons-vue";
4
4
  import "@maketribe/dm";
5
5
  import { MsMaterialTable } from "../../dataviews/ms-material/MsMaterialTable.js";
6
6
  import { MKMaterialList } from "../material-list/index.js";
@@ -98,7 +98,13 @@ const ImageSelectPanel = /* @__PURE__ */ defineComponent({
98
98
  "label": "网络图片",
99
99
  "name": "n"
100
100
  }, {
101
- default: () => [createVNode(ImageView, {
101
+ default: () => [createVNode(ElInput, {
102
+ "modelValue": modelValue.value,
103
+ "onUpdate:modelValue": ($event) => modelValue.value = $event,
104
+ "prefix-icon": Share,
105
+ "style": "width: 100%",
106
+ "placeholder": "请输入链接地址"
107
+ }, null), createVNode(ImageView, {
102
108
  "src": unref(modelValue)
103
109
  }, null)]
104
110
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"image-select-panel.js","sources":["../../../../../../src/modules/ms/components/image-select/image-select-panel.tsx"],"sourcesContent":["\r\nimport { unref,ref,reactive,defineComponent, computed } from 'vue'\r\nimport { \r\n ElButton,ElTabs,ElTabPane,ElInput,ElImage,ElIcon\r\n} from \"element-plus\";\r\nimport { Share,UploadFilled,Picture } from \"@element-plus/icons-vue\";\r\nimport { MsMaterialTable } from \"../../../../modules/ms/dataviews/ms-material\";\r\nimport { MKMaterialList } from \"../../../../modules/ms/components/material-list\";\r\nimport { fileSelect } from \"@maketribe/utils\";\r\n\r\n/**\r\n * 图片预览显示\r\n */\r\nconst ImageView = defineComponent({\r\n props:[\"src\"],\r\n setup(props,{ emit }){\r\n\r\n return ()=>{\r\n\r\n return <ElImage style=\"background: #dedede;width: 100%; height: 480px;margin-top:10px;padding:10px;box-sizing: border-box;\" src={unref(props.src)} fit=\"contain\" v-slots={{\r\n error:()=>{\r\n return <div style=\"\r\n font-size: 50px;\r\n display: flex;\r\n align-content: center;\r\n justify-content: center;\r\n align-items: center;\r\n height: 100%;\r\n \">\r\n <ElIcon><Picture /></ElIcon>\r\n </div>\r\n }\r\n }}>\r\n </ElImage>;\r\n }\r\n }\r\n})\r\n\r\n\r\nexport default defineComponent({\r\n name: 'ImageSelectPanelComponent',\r\n props:[\"modelValue\"],\r\n setup(props,{ emit }){\r\n\r\n const materialTable = reactive(new MsMaterialTable()) as MsMaterialTable;\r\n\r\n const modelValue = computed({\r\n get: () => props.modelValue,\r\n set: (v) => {\r\n emit(\"update:model-value\", v);\r\n },\r\n });\r\n // 激活的tab\r\n const activeTabName = ref(\"l\");\r\n // 选择素材\r\n materialTable.selectionChangeEvent.on(()=>{\r\n let id = materialTable.getSelection()[0];\r\n if(id){\r\n modelValue.value = materialTable.getList().find(item=>item.id == id)?.path;\r\n }\r\n else{\r\n modelValue.value = \"\";\r\n }\r\n })\r\n\r\n // 选择本地图片\r\n const selectLocalImage = async ()=>{\r\n\r\n const file = await fileSelect({ accept:\"image/*\"});\r\n \r\n if (file) {\r\n\r\n const fileRender = new FileReader();\r\n fileRender.onload = async (data:any)=>{\r\n modelValue.value = data.target.result as string;\r\n }\r\n fileRender.readAsDataURL(file)\r\n }\r\n }\r\n\r\n return ()=>{\r\n\r\n return <ElTabs style=\"min-height: 520px\" v-model={activeTabName.value}>\r\n <ElTabPane label=\"本地选择\" name=\"l\">\r\n <ElButton icon={UploadFilled} type=\"primary\" style=\"width: 100%\" onClick={selectLocalImage}>\r\n 选择本地文件\r\n </ElButton>\r\n <ImageView src={unref(modelValue)} />\r\n </ElTabPane>\r\n <ElTabPane label=\"素材库选择\" name=\"m\">\r\n <MKMaterialList style={{height:\"520px\"}} selectable materialTable={materialTable} allowMaterialTypeValues={[1]} />\r\n </ElTabPane>\r\n <ElTabPane label=\"网络图片\" name=\"n\">\r\n {/* <ElInput v-model={modelValue.value} prefix-icon={Share} style=\"width: 100%\" placeholder=\"请输入链接地址\">\r\n </ElInput> */}\r\n <ImageView src={unref(modelValue)} />\r\n </ElTabPane>\r\n </ElTabs>;\r\n }\r\n }\r\n})\r\n"],"names":["ImageView","defineComponent","props","setup","emit","_createVNode","ElImage","unref","src","error","ElIcon","default","Picture","name","materialTable","reactive","MsMaterialTable","modelValue","computed","get","set","v","activeTabName","ref","selectionChangeEvent","on","id","getSelection","value","getList","find","item","path","selectLocalImage","file","fileSelect","accept","fileRender","FileReader","onload","data","target","result","readAsDataURL","ElTabs","$event","ElTabPane","ElButton","UploadFilled","_createTextVNode","MKMaterialList","height"],"mappings":"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"}
1
+ {"version":3,"file":"image-select-panel.js","sources":["../../../../../../src/modules/ms/components/image-select/image-select-panel.tsx"],"sourcesContent":["\r\nimport { unref,ref,reactive,defineComponent, computed } from 'vue'\r\nimport { \r\n ElButton,ElTabs,ElTabPane,ElInput,ElImage,ElIcon\r\n} from \"element-plus\";\r\nimport { Share,UploadFilled,Picture } from \"@element-plus/icons-vue\";\r\nimport { MsMaterialTable } from \"../../../../modules/ms/dataviews/ms-material\";\r\nimport { MKMaterialList } from \"../../../../modules/ms/components/material-list\";\r\nimport { fileSelect } from \"@maketribe/utils\";\r\n\r\n/**\r\n * 图片预览显示\r\n */\r\nconst ImageView = defineComponent({\r\n props:[\"src\"],\r\n setup(props,{ emit }){\r\n\r\n return ()=>{\r\n\r\n return <ElImage style=\"background: #dedede;width: 100%; height: 480px;margin-top:10px;padding:10px;box-sizing: border-box;\" src={unref(props.src)} fit=\"contain\" v-slots={{\r\n error:()=>{\r\n return <div style=\"\r\n font-size: 50px;\r\n display: flex;\r\n align-content: center;\r\n justify-content: center;\r\n align-items: center;\r\n height: 100%;\r\n \">\r\n <ElIcon><Picture /></ElIcon>\r\n </div>\r\n }\r\n }}>\r\n </ElImage>;\r\n }\r\n }\r\n})\r\n\r\n\r\nexport default defineComponent({\r\n name: 'ImageSelectPanelComponent',\r\n props:[\"modelValue\"],\r\n setup(props,{ emit }){\r\n\r\n const materialTable = reactive(new MsMaterialTable()) as MsMaterialTable;\r\n\r\n const modelValue = computed({\r\n get: () => props.modelValue,\r\n set: (v) => {\r\n emit(\"update:model-value\", v);\r\n },\r\n });\r\n // 激活的tab\r\n const activeTabName = ref(\"l\");\r\n // 选择素材\r\n materialTable.selectionChangeEvent.on(()=>{\r\n let id = materialTable.getSelection()[0];\r\n if(id){\r\n modelValue.value = materialTable.getList().find(item=>item.id == id)?.path;\r\n }\r\n else{\r\n modelValue.value = \"\";\r\n }\r\n })\r\n\r\n // 选择本地图片\r\n const selectLocalImage = async ()=>{\r\n\r\n const file = await fileSelect({ accept:\"image/*\"});\r\n \r\n if (file) {\r\n\r\n const fileRender = new FileReader();\r\n fileRender.onload = async (data:any)=>{\r\n modelValue.value = data.target.result as string;\r\n }\r\n fileRender.readAsDataURL(file)\r\n }\r\n }\r\n\r\n return ()=>{\r\n\r\n return <ElTabs style=\"min-height: 520px\" v-model={activeTabName.value}>\r\n <ElTabPane label=\"本地选择\" name=\"l\">\r\n <ElButton icon={UploadFilled} type=\"primary\" style=\"width: 100%\" onClick={selectLocalImage}>\r\n 选择本地文件\r\n </ElButton>\r\n <ImageView src={unref(modelValue)} />\r\n </ElTabPane>\r\n <ElTabPane label=\"素材库选择\" name=\"m\">\r\n <MKMaterialList style={{height:\"520px\"}} selectable materialTable={materialTable} allowMaterialTypeValues={[1]} />\r\n </ElTabPane>\r\n <ElTabPane label=\"网络图片\" name=\"n\">\r\n <ElInput v-model={modelValue.value} prefix-icon={Share} style=\"width: 100%\" placeholder=\"请输入链接地址\">\r\n </ElInput>\r\n <ImageView src={unref(modelValue)} />\r\n </ElTabPane>\r\n </ElTabs>;\r\n }\r\n }\r\n})\r\n"],"names":["ImageView","defineComponent","props","setup","emit","_createVNode","ElImage","unref","src","error","ElIcon","default","Picture","name","materialTable","reactive","MsMaterialTable","modelValue","computed","get","set","v","activeTabName","ref","selectionChangeEvent","on","id","getSelection","value","getList","find","item","path","selectLocalImage","file","fileSelect","accept","fileRender","FileReader","onload","data","target","result","readAsDataURL","ElTabs","$event","ElTabPane","ElButton","UploadFilled","_createTextVNode","MKMaterialList","height","ElInput","Share"],"mappings":"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"}
@@ -1 +1 @@
1
- .mk-doc-editor-decorator-module-toolbar,.mk-doc-editor-toolbar{background-color:#fff;padding:10px 20px;z-index:1;text-align:center}.mk-doc-editor-decorator-module-toolbar-content-style-item,.mk-doc-editor-toolbar-content-style-item{font-size:14px;text-align:left;margin:5px}.mk-doc-editor-decorator-module-toolbar-content-style-item.text,.mk-doc-editor-toolbar-content-style-item.text{font-size:20px}.mk-doc-editor-decorator-module-toolbar-content-style-item h1,.mk-doc-editor-decorator-module-toolbar-content-style-item h2,.mk-doc-editor-decorator-module-toolbar-content-style-item h3,.mk-doc-editor-decorator-module-toolbar-content-style-item h4,.mk-doc-editor-decorator-module-toolbar-content-style-item h5,.mk-doc-editor-decorator-module-toolbar-content-style-item h6,.mk-doc-editor-toolbar-content-style-item h1,.mk-doc-editor-toolbar-content-style-item h2,.mk-doc-editor-toolbar-content-style-item h3,.mk-doc-editor-toolbar-content-style-item h4,.mk-doc-editor-toolbar-content-style-item h5,.mk-doc-editor-toolbar-content-style-item h6{padding:0;margin:0;font-weight:400}.mk-doc-editor-decorator-module-toolbar__fontcolor,.mk-doc-editor-toolbar__fontcolor{padding:0;margin-left:0!important}.mk-doc-editor-decorator-module-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger,.mk-doc-editor-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger{border:none;position:relative}.mk-doc-editor-decorator-module-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color,.mk-doc-editor-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color{border:0;position:relative}.mk-doc-editor-decorator-module-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color .el-color-picker__color-inner,.mk-doc-editor-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color .el-color-picker__color-inner{position:absolute;height:4px;bottom:0;left:0}.mk-doc-editor-decorator-module-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color .el-color-picker__color-inner .el-icon,.mk-doc-editor-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color .el-color-picker__color-inner .el-icon{display:none}.mk-doc-editor-decorator-module-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger::before,.mk-doc-editor-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger::before{content:"A";font-weight:700;font-size:18px;position:absolute;width:100%;z-index:1}.mk-doc-editor-decorator-module-toolbar__bgcolor,.mk-doc-editor-toolbar__bgcolor{padding:0;margin-left:0!important;position:relative}.mk-doc-editor-decorator-module-toolbar__bgcolor .el-color-picker>.el-color-picker__trigger,.mk-doc-editor-toolbar__bgcolor .el-color-picker>.el-color-picker__trigger{border:none;position:relative}.mk-doc-editor-decorator-module-toolbar__bgcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color,.mk-doc-editor-toolbar__bgcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color{border:0;position:relative}.mk-doc-editor-decorator-module-toolbar__bgcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color .el-color-picker__color-inner,.mk-doc-editor-toolbar__bgcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color .el-color-picker__color-inner{position:absolute;height:4px;bottom:0;left:0}.mk-doc-editor-decorator-module-toolbar__bgcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color .el-color-picker__color-inner .el-icon,.mk-doc-editor-toolbar__bgcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color .el-color-picker__color-inner .el-icon{display:none}.mk-doc-editor-decorator-module-toolbar__bgcolor>span,.mk-doc-editor-toolbar__bgcolor>span{justify-content:center}.mk-doc-editor-decorator-module-toolbar__bgcolor>span>.view,.mk-doc-editor-toolbar__bgcolor>span>.view{position:absolute;pointer-events:none;font-size:18px;top:5px}.mk-doc-editor-decorator-module-toolbar>.el-dropdown .el-button,.mk-doc-editor-toolbar>.el-dropdown .el-button{padding:8px}.mk-doc-editor-decorator-module-toolbar>.el-button-group button,.mk-doc-editor-toolbar>.el-button-group button{font-size:18px;padding:8px}.mk-doc-editor-decorator-module-toolbar>.el-button-group .el-button.is-text:not(.is-disabled).active,.mk-doc-editor-toolbar>.el-button-group .el-button.is-text:not(.is-disabled).active{background-color:var(--el-fill-color)}.mk-doc-editor{width:100%;height:100%;overflow:hidden;display:flex;flex-direction:column}.mk-doc-editor.mobile .mk-doc-editor__stage_body{max-width:640px}.mk-doc-editor__stage_iframe,.mk-doc-editor__stage_warp,.mk-doc-editor__view_iframe,.mk-doc-editor__view_warp{width:100%;height:100%;z-index:0;position:relative}.mk-doc-editor__stage_body{z-index:0;position:relative;max-width:1200px;width:100%;min-height:100%;margin:auto}.mk-doc-editor__stage_warp{display:flex;flex-direction:column;padding:10px;overflow:auto;box-sizing:border-box}.mk-doc-editor__stage_warp .mk-doc-editor-decorator-module-toolbar{position:absolute;background-color:#fff;box-shadow:1px -3px 7px 4px #ccc;padding:5px}.mk-doc-editor__stage_warp .mk-doc-editor-decorator-module-toolbar>.el-dropdown .el-button{padding:8px 12px}.mk-doc-editor__stage_warp .mk-doc-editor-decorator-module-toolbar>.el-button-group button{padding:8px 12px}.mk-doc-editor__stage_iframe,.mk-doc-editor__view_iframe{overflow:hidden;background-color:#fff;margin:0;border:0}.mk-doc-editor__view_warp{display:flex;background-color:var(--mk-container-border-color);overflow:auto;padding-top:10px}.mk-doc-editor__view_warp.mobile .mk-doc-editor__view_iframe{max-width:640px}.mk-doc-editor__view_iframe{max-width:1200px;margin:auto;padding:20px;overflow:auto}.mk-doc-editor__module-template_dialog_warp{height:600px;display:flex;flex-direction:column}.mk-doc-editor__module-template_dialog_list-body{flex:1;height:100%;overflow:auto;padding-top:10px;box-sizing:border-box;display:flex;flex-wrap:wrap;gap:10px}.mk-doc-editor__module-template_dialog_list-item{width:150px;height:150px;display:flex;background-color:#dedede;align-items:center;justify-content:center;cursor:pointer;box-sizing:border-box;position:relative;border:2px solid #dedede}.mk-doc-editor__module-template_dialog_list-item.active{border-color:#2196f3}.mk-doc-editor__module-template_dialog_list-item_title{text-align:center}.mk-doc-editor__module-template_dialog_list-item.cover img{-o-object-fit:contain;object-fit:contain;padding:10px;width:100%;height:100%;box-sizing:border-box}.mk-doc-editor__module-template_dialog_list-item.cover>.mk-doc-editor__module-template_dialog_list-item_title{width:100%;height:100%;display:none;background-color:rgba(13,13,13,.7019607843);align-items:center;justify-content:center;color:#fff;position:absolute;top:0;left:0}.mk-doc-editor__module-template_dialog_list-item.cover:hover>.mk-doc-editor__module-template_dialog_list-item_title{display:flex}
1
+ .mk-doc-editor-decorator-module-toolbar,.mk-doc-editor-toolbar{background-color:#fff;padding:10px 20px;z-index:1;text-align:center}.mk-doc-editor-decorator-module-toolbar-content-style-item,.mk-doc-editor-toolbar-content-style-item{font-size:14px;text-align:left;margin:5px}.mk-doc-editor-decorator-module-toolbar-content-style-item.text,.mk-doc-editor-toolbar-content-style-item.text{font-size:20px}.mk-doc-editor-decorator-module-toolbar-content-style-item h1,.mk-doc-editor-decorator-module-toolbar-content-style-item h2,.mk-doc-editor-decorator-module-toolbar-content-style-item h3,.mk-doc-editor-decorator-module-toolbar-content-style-item h4,.mk-doc-editor-decorator-module-toolbar-content-style-item h5,.mk-doc-editor-decorator-module-toolbar-content-style-item h6,.mk-doc-editor-toolbar-content-style-item h1,.mk-doc-editor-toolbar-content-style-item h2,.mk-doc-editor-toolbar-content-style-item h3,.mk-doc-editor-toolbar-content-style-item h4,.mk-doc-editor-toolbar-content-style-item h5,.mk-doc-editor-toolbar-content-style-item h6{padding:0;margin:0;font-weight:400}.mk-doc-editor-decorator-module-toolbar__fontcolor,.mk-doc-editor-toolbar__fontcolor{padding:0;margin-left:0!important}.mk-doc-editor-decorator-module-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger,.mk-doc-editor-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger{border:none;position:relative}.mk-doc-editor-decorator-module-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color,.mk-doc-editor-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color{border:0;position:relative}.mk-doc-editor-decorator-module-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color .el-color-picker__color-inner,.mk-doc-editor-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color .el-color-picker__color-inner{position:absolute;height:4px;bottom:0;left:0}.mk-doc-editor-decorator-module-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color .el-color-picker__color-inner .el-icon,.mk-doc-editor-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color .el-color-picker__color-inner .el-icon{display:none}.mk-doc-editor-decorator-module-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger::before,.mk-doc-editor-toolbar__fontcolor .el-color-picker>.el-color-picker__trigger::before{content:"A";font-weight:700;font-size:18px;position:absolute;width:100%;z-index:1}.mk-doc-editor-decorator-module-toolbar__bgcolor,.mk-doc-editor-toolbar__bgcolor{padding:0;margin-left:0!important;position:relative}.mk-doc-editor-decorator-module-toolbar__bgcolor .el-color-picker>.el-color-picker__trigger,.mk-doc-editor-toolbar__bgcolor .el-color-picker>.el-color-picker__trigger{border:none;position:relative}.mk-doc-editor-decorator-module-toolbar__bgcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color,.mk-doc-editor-toolbar__bgcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color{border:0;position:relative}.mk-doc-editor-decorator-module-toolbar__bgcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color .el-color-picker__color-inner,.mk-doc-editor-toolbar__bgcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color .el-color-picker__color-inner{position:absolute;height:4px;bottom:0;left:0}.mk-doc-editor-decorator-module-toolbar__bgcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color .el-color-picker__color-inner .el-icon,.mk-doc-editor-toolbar__bgcolor .el-color-picker>.el-color-picker__trigger>.el-color-picker__color .el-color-picker__color-inner .el-icon{display:none}.mk-doc-editor-decorator-module-toolbar__bgcolor>span,.mk-doc-editor-toolbar__bgcolor>span{justify-content:center}.mk-doc-editor-decorator-module-toolbar__bgcolor>span>.view,.mk-doc-editor-toolbar__bgcolor>span>.view{position:absolute;pointer-events:none;font-size:18px;top:5px}.mk-doc-editor-decorator-module-toolbar>.el-dropdown .el-button,.mk-doc-editor-toolbar>.el-dropdown .el-button{padding:8px}.mk-doc-editor-decorator-module-toolbar>.el-button-group button,.mk-doc-editor-toolbar>.el-button-group button{font-size:18px;padding:8px}.mk-doc-editor-decorator-module-toolbar>.el-button-group .el-button.is-text:not(.is-disabled).active,.mk-doc-editor-toolbar>.el-button-group .el-button.is-text:not(.is-disabled).active{background-color:var(--el-fill-color)}.mk-doc-editor{width:100%;height:100%;overflow:hidden;display:flex;flex-direction:column}.mk-doc-editor.mobile .mk-doc-editor__stage_body{max-width:640px}.mk-doc-editor__stage_iframe,.mk-doc-editor__stage_warp,.mk-doc-editor__view_iframe,.mk-doc-editor__view_warp{width:100%;height:100%;z-index:0;position:relative}.mk-doc-editor__stage_body{z-index:0;position:relative;max-width:1200px;width:100%;min-height:100%;margin:auto}.mk-doc-editor__stage_warp{display:flex;flex-direction:column;padding:10px;overflow:auto;box-sizing:border-box}.mk-doc-editor__stage_warp .mk-doc-editor-decorator-module-toolbar{position:absolute;background-color:#fff;box-shadow:1px -3px 7px 4px #ccc;padding:5px}.mk-doc-editor__stage_warp .mk-doc-editor-decorator-module-toolbar>.el-dropdown .el-button{padding:8px 12px}.mk-doc-editor__stage_warp .mk-doc-editor-decorator-module-toolbar>.el-button-group button{padding:8px 12px}.mk-doc-editor__stage_iframe,.mk-doc-editor__view_iframe{overflow:hidden;background-color:#fff;margin:0;border:0}.mk-doc-editor__view_warp{display:flex;background-color:var(--mk-container-border-color);overflow:auto;height:calc(100vh - 50px);padding-top:10px}.mk-doc-editor__view_warp.mobile .mk-doc-editor__view_iframe{max-width:640px}.mk-doc-editor__view_iframe{max-width:1200px;margin:auto;padding:20px;overflow:auto}.mk-doc-editor__module-template_dialog_warp{height:600px;display:flex;flex-direction:column}.mk-doc-editor__module-template_dialog_list-body{flex:1;height:100%;overflow:auto;padding-top:10px;box-sizing:border-box;display:flex;flex-wrap:wrap;gap:10px}.mk-doc-editor__module-template_dialog_list-item{width:150px;height:150px;display:flex;background-color:#dedede;align-items:center;justify-content:center;cursor:pointer;box-sizing:border-box;position:relative;border:2px solid #dedede}.mk-doc-editor__module-template_dialog_list-item.active{border-color:#2196f3}.mk-doc-editor__module-template_dialog_list-item_title{text-align:center}.mk-doc-editor__module-template_dialog_list-item.cover img{-o-object-fit:contain;object-fit:contain;padding:10px;width:100%;height:100%;box-sizing:border-box}.mk-doc-editor__module-template_dialog_list-item.cover>.mk-doc-editor__module-template_dialog_list-item_title{width:100%;height:100%;display:none;background-color:rgba(13,13,13,.7019607843);align-items:center;justify-content:center;color:#fff;position:absolute;top:0;left:0}.mk-doc-editor__module-template_dialog_list-item.cover:hover>.mk-doc-editor__module-template_dialog_list-item_title{display:flex}