@maketribe/ms-app 3.2.24 → 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 (451) 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 +12 -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 +11 -4
  9. package/dist/cjs/components/basic/doc-editor/editor.vue.js.map +1 -1
  10. package/dist/cjs/components/basic/doc-editor/index.js.map +1 -1
  11. package/dist/cjs/components/basic/doc-editor/plugins/{DecoratorModuleToolbarPlugin → ElementBlockSelectionPlugin}/index.vue.js +8 -8
  12. package/dist/cjs/components/basic/doc-editor/plugins/ElementBlockSelectionPlugin/index.vue.js.map +1 -0
  13. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/GridNode.js +164 -0
  14. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/GridNode.js.map +1 -0
  15. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js +89 -0
  16. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js.map +1 -0
  17. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js +89 -0
  18. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js.map +1 -0
  19. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js +115 -0
  20. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js.map +1 -0
  21. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js +83 -0
  22. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js.map +1 -0
  23. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/index.vue.js +143 -0
  24. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/index.vue.js.map +1 -0
  25. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/utils.js +33 -0
  26. package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/utils.js.map +1 -0
  27. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js +18 -24
  28. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js.map +1 -1
  29. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js +18 -14
  30. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js.map +1 -1
  31. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/utils.js +66 -39
  32. package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/utils.js.map +1 -1
  33. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js +45 -30
  34. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js.map +1 -1
  35. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/composables.js +2 -2
  36. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/composables.js.map +1 -1
  37. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js +45 -108
  38. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js.map +1 -1
  39. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/utils.js +3 -14
  40. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/utils.js.map +1 -1
  41. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue.js +10 -1
  42. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue.js.map +1 -1
  43. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js +26 -0
  44. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js.map +1 -1
  45. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js +48 -34
  46. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js.map +1 -1
  47. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js +43 -8
  48. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js.map +1 -1
  49. package/dist/cjs/components/basic/doc-editor/plugins/nodes.js +10 -4
  50. package/dist/cjs/components/basic/doc-editor/plugins/nodes.js.map +1 -1
  51. package/dist/cjs/components/basic/doc-editor/themes/doc-editor-edit.css.js +1 -1
  52. package/dist/cjs/components/basic/doc-editor/themes/doc-editor-edit.css.js.map +1 -1
  53. package/dist/cjs/components/basic/doc-editor/themes/doc-theme.css.js +8 -13
  54. package/dist/cjs/components/basic/doc-editor/themes/doc-theme.css.js.map +1 -1
  55. package/dist/cjs/components/basic/upload-file/context/UploadContext.js.map +1 -1
  56. package/dist/cjs/components/basic/upload-file/index.js +13 -3
  57. package/dist/cjs/components/basic/upload-file/index.js.map +1 -1
  58. package/dist/cjs/components/basic/upload-file/ui/upload-file/index.js +11 -0
  59. package/dist/cjs/components/basic/upload-file/ui/upload-file/index.js.map +1 -0
  60. package/dist/cjs/components/basic/upload-file/ui/upload-file/upload-file-options.js +38 -0
  61. package/dist/cjs/components/basic/upload-file/ui/upload-file/upload-file-options.js.map +1 -0
  62. package/dist/cjs/components/basic/upload-file/ui/upload-file/upload-file.js +224 -0
  63. package/dist/cjs/components/basic/upload-file/ui/upload-file/upload-file.js.map +1 -0
  64. package/dist/cjs/components/basic/upload-file/ui/upload-image/upload-image.js +2 -2
  65. package/dist/cjs/components/basic/upload-file/ui/upload-image/upload-image.js.map +1 -1
  66. package/dist/cjs/components/basic/upload-file/ui/upload-video/index.js +11 -0
  67. package/dist/cjs/components/basic/upload-file/ui/upload-video/index.js.map +1 -0
  68. package/dist/cjs/components/basic/upload-file/ui/upload-video/upload-video-options.js +38 -0
  69. package/dist/cjs/components/basic/upload-file/ui/upload-video/upload-video-options.js.map +1 -0
  70. package/dist/cjs/components/basic/upload-file/ui/upload-video/upload-video.js +222 -0
  71. package/dist/cjs/components/basic/upload-file/ui/upload-video/upload-video.js.map +1 -0
  72. package/dist/cjs/components/basic/upload-file/upload-file-options.js +2 -1
  73. package/dist/cjs/components/basic/upload-file/upload-file-options.js.map +1 -1
  74. package/dist/cjs/components/basic/upload-file/upload-file.js +1 -0
  75. package/dist/cjs/components/basic/upload-file/upload-file.js.map +1 -1
  76. package/dist/cjs/components/business/resource-list/components/resource-item/index.vue.js +2 -0
  77. package/dist/cjs/components/business/resource-list/components/resource-item/index.vue.js.map +1 -1
  78. package/dist/cjs/components/business/resource-manager/resource-manager.vue.js +2 -0
  79. package/dist/cjs/components/business/resource-manager/resource-manager.vue.js.map +1 -1
  80. package/dist/cjs/components/data-model/data-table/components/column-sort/column-sort.js +2 -0
  81. package/dist/cjs/components/data-model/data-table/components/column-sort/column-sort.js.map +1 -1
  82. package/dist/cjs/components/data-model/data-table/components/header-components/batch-opt/batch-opt.js +2 -0
  83. package/dist/cjs/components/data-model/data-table/components/header-components/batch-opt/batch-opt.js.map +1 -1
  84. package/dist/cjs/components/data-model/data-table/components/header-components/table-filter/table-filter.js +2 -0
  85. package/dist/cjs/components/data-model/data-table/components/header-components/table-filter/table-filter.js.map +1 -1
  86. package/dist/cjs/core/component/DataFormComponents.js +14 -0
  87. package/dist/cjs/core/component/DataFormComponents.js.map +1 -1
  88. package/dist/cjs/index.js +73 -61
  89. package/dist/cjs/index.js.map +1 -1
  90. package/dist/cjs/installer.js +17 -14
  91. package/dist/cjs/installer.js.map +1 -1
  92. package/dist/cjs/layouts/components/bar/index.js +2 -0
  93. package/dist/cjs/layouts/components/bar/index.js.map +1 -1
  94. package/dist/cjs/layouts/components/header/tools.js +2 -0
  95. package/dist/cjs/layouts/components/header/tools.js.map +1 -1
  96. package/dist/cjs/layouts/components/menu/menu-item.js +2 -0
  97. package/dist/cjs/layouts/components/menu/menu-item.js.map +1 -1
  98. package/dist/cjs/layouts/container/default.js +2 -0
  99. package/dist/cjs/layouts/container/default.js.map +1 -1
  100. package/dist/cjs/message-impl/DialogerImpl.js +2 -0
  101. package/dist/cjs/message-impl/DialogerImpl.js.map +1 -1
  102. package/dist/cjs/modules/cms/components/part-tree/index.vue.js +2 -0
  103. package/dist/cjs/modules/cms/components/part-tree/index.vue.js.map +1 -1
  104. package/dist/cjs/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +15 -7
  105. package/dist/cjs/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js.map +1 -1
  106. package/dist/cjs/modules/cms/dataviews/cms-ad-defines/CmsAdDefinesForm.js +2 -0
  107. package/dist/cjs/modules/cms/dataviews/cms-ad-defines/CmsAdDefinesForm.js.map +1 -1
  108. package/dist/cjs/modules/cms/dataviews/cms-articles/CmsArticlesForm.js +3 -1
  109. package/dist/cjs/modules/cms/dataviews/cms-articles/CmsArticlesForm.js.map +1 -1
  110. package/dist/cjs/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js +3 -1
  111. package/dist/cjs/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js.map +1 -1
  112. package/dist/cjs/modules/cms/pages/cms-ad/index.vue2.js +11 -6
  113. package/dist/cjs/modules/cms/pages/cms-ad/index.vue2.js.map +1 -1
  114. package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +2 -0
  115. package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
  116. package/dist/cjs/modules/cms/pages/cms-contents/components/article-atlas.vue.js +2 -0
  117. package/dist/cjs/modules/cms/pages/cms-contents/components/article-atlas.vue.js.map +1 -1
  118. package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js +3 -1
  119. package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js.map +1 -1
  120. package/dist/cjs/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js +43 -12
  121. package/dist/cjs/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js.map +1 -1
  122. package/dist/cjs/modules/cms/pages/cms-contents/components/part-info.vue.js +2 -0
  123. package/dist/cjs/modules/cms/pages/cms-contents/components/part-info.vue.js.map +1 -1
  124. package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js +2 -0
  125. package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js.map +1 -1
  126. package/dist/cjs/modules/cms/pages/cms-resource/index.vue2.js +2 -0
  127. package/dist/cjs/modules/cms/pages/cms-resource/index.vue2.js.map +1 -1
  128. package/dist/cjs/modules/ms/components/image-select/image-select-panel.js +7 -1
  129. package/dist/cjs/modules/ms/components/image-select/image-select-panel.js.map +1 -1
  130. package/dist/cjs/modules/ms/components/material-list/material-list-options.js +2 -0
  131. package/dist/cjs/modules/ms/components/material-list/material-list-options.js.map +1 -1
  132. package/dist/cjs/modules/ms/components/material-list/material-list.js +2 -0
  133. package/dist/cjs/modules/ms/components/material-list/material-list.js.map +1 -1
  134. package/dist/cjs/modules/ms/components/material-select/material-select-api.js +2 -0
  135. package/dist/cjs/modules/ms/components/material-select/material-select-api.js.map +1 -1
  136. package/dist/cjs/modules/ms/dataviews/ms-member/MsMemberTable.js +2 -0
  137. package/dist/cjs/modules/ms/dataviews/ms-member/MsMemberTable.js.map +1 -1
  138. package/dist/cjs/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js +2 -0
  139. package/dist/cjs/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js.map +1 -1
  140. package/dist/cjs/modules/ms/image-upload-context/index.js +2 -0
  141. package/dist/cjs/modules/ms/image-upload-context/index.js.map +1 -1
  142. package/dist/cjs/modules/ms/index.js +4 -2
  143. package/dist/cjs/modules/ms/index.js.map +1 -1
  144. package/dist/cjs/modules/ms/material-upload-context/MaterialUploadContext.js +17 -3
  145. package/dist/cjs/modules/ms/material-upload-context/MaterialUploadContext.js.map +1 -1
  146. package/dist/cjs/modules/ms/material-upload-context/material-upload-context.js +2 -0
  147. package/dist/cjs/modules/ms/material-upload-context/material-upload-context.js.map +1 -1
  148. package/dist/cjs/modules/ms/pages/icons/index.vue2.js +2 -0
  149. package/dist/cjs/modules/ms/pages/icons/index.vue2.js.map +1 -1
  150. package/dist/cjs/modules/ms/pages/local-log/index.vue2.js +2 -0
  151. package/dist/cjs/modules/ms/pages/local-log/index.vue2.js.map +1 -1
  152. package/dist/cjs/modules/ms/pages/ms-material/index.vue2.js +3 -0
  153. package/dist/cjs/modules/ms/pages/ms-material/index.vue2.js.map +1 -1
  154. package/dist/cjs/modules/ms/pages/ms-menu/index.vue2.js +2 -0
  155. package/dist/cjs/modules/ms/pages/ms-menu/index.vue2.js.map +1 -1
  156. package/dist/cjs/modules/ms/pages/ms-role/components/aside.vue.js +2 -0
  157. package/dist/cjs/modules/ms/pages/ms-role/components/aside.vue.js.map +1 -1
  158. package/dist/cjs/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config-options.js +2 -0
  159. package/dist/cjs/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config-options.js.map +1 -1
  160. package/dist/cjs/modules/ms/pages/ms-role/index.vue2.js +2 -0
  161. package/dist/cjs/modules/ms/pages/ms-role/index.vue2.js.map +1 -1
  162. package/dist/cjs/page/index/dv/default/edit.vue2.js +2 -0
  163. package/dist/cjs/page/index/dv/default/edit.vue2.js.map +1 -1
  164. package/dist/cjs/page/index/dv/default/single/list/dialog.vue2.js +2 -0
  165. package/dist/cjs/page/index/dv/default/single/list/dialog.vue2.js.map +1 -1
  166. package/dist/cjs/page/index/dv/default/single/list/normal.vue2.js +2 -0
  167. package/dist/cjs/page/index/dv/default/single/list/normal.vue2.js.map +1 -1
  168. package/dist/cjs/page/index/dv/default/single/table-tree/dialog.vue2.js +2 -0
  169. package/dist/cjs/page/index/dv/default/single/table-tree/dialog.vue2.js.map +1 -1
  170. package/dist/cjs/page/index/dv/default/single/table-tree/normal.vue2.js +2 -0
  171. package/dist/cjs/page/index/dv/default/single/table-tree/normal.vue2.js.map +1 -1
  172. package/dist/cjs/page/index/dv/default/single/tree/dialog.vue2.js +2 -0
  173. package/dist/cjs/page/index/dv/default/single/tree/dialog.vue2.js.map +1 -1
  174. package/dist/cjs/page/index/dv/default/table.vue2.js +2 -0
  175. package/dist/cjs/page/index/dv/default/table.vue2.js.map +1 -1
  176. package/dist/cjs/page/login/index.vue2.js +2 -0
  177. package/dist/cjs/page/login/index.vue2.js.map +1 -1
  178. package/dist/cjs/page/signup/index.vue2.js +2 -0
  179. package/dist/cjs/page/signup/index.vue2.js.map +1 -1
  180. package/dist/esm/assets/iconfonts/iconfont.js +1 -1
  181. package/dist/esm/assets/iconfonts/iconfont.js.map +1 -1
  182. package/dist/esm/components/basic/doc-editor/core/{element-module.js → element-block.js} +32 -13
  183. package/dist/esm/components/basic/doc-editor/core/element-block.js.map +1 -0
  184. package/dist/esm/components/basic/doc-editor/core/index.js +13 -7
  185. package/dist/esm/components/basic/doc-editor/core/index.js.map +1 -1
  186. package/dist/esm/components/basic/doc-editor/core/utils.js.map +1 -1
  187. package/dist/esm/components/basic/doc-editor/editor.vue.js +12 -5
  188. package/dist/esm/components/basic/doc-editor/editor.vue.js.map +1 -1
  189. package/dist/esm/components/basic/doc-editor/index.js.map +1 -1
  190. package/dist/esm/components/basic/doc-editor/plugins/{DecoratorModuleToolbarPlugin → ElementBlockSelectionPlugin}/index.vue.js +8 -8
  191. package/dist/esm/components/basic/doc-editor/plugins/ElementBlockSelectionPlugin/index.vue.js.map +1 -0
  192. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/GridNode.js +164 -0
  193. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/GridNode.js.map +1 -0
  194. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js +89 -0
  195. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js.map +1 -0
  196. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js +89 -0
  197. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js.map +1 -0
  198. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js +115 -0
  199. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js.map +1 -0
  200. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js +83 -0
  201. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js.map +1 -0
  202. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/index.vue.js +144 -0
  203. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/index.vue.js.map +1 -0
  204. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/utils.js +33 -0
  205. package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/utils.js.map +1 -0
  206. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js +18 -24
  207. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js.map +1 -1
  208. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js +18 -14
  209. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js.map +1 -1
  210. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/utils.js +66 -39
  211. package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/utils.js.map +1 -1
  212. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js +45 -30
  213. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js.map +1 -1
  214. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/composables.js +2 -2
  215. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/composables.js.map +1 -1
  216. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js +49 -112
  217. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js.map +1 -1
  218. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/utils.js +3 -14
  219. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/utils.js.map +1 -1
  220. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue.js +10 -1
  221. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue.js.map +1 -1
  222. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js +26 -0
  223. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js.map +1 -1
  224. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js +49 -35
  225. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js.map +1 -1
  226. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js +44 -9
  227. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js.map +1 -1
  228. package/dist/esm/components/basic/doc-editor/plugins/nodes.js +10 -4
  229. package/dist/esm/components/basic/doc-editor/plugins/nodes.js.map +1 -1
  230. package/dist/esm/components/basic/doc-editor/themes/doc-editor-edit.css.js +1 -1
  231. package/dist/esm/components/basic/doc-editor/themes/doc-editor-edit.css.js.map +1 -1
  232. package/dist/esm/components/basic/doc-editor/themes/doc-theme.css.js +8 -13
  233. package/dist/esm/components/basic/doc-editor/themes/doc-theme.css.js.map +1 -1
  234. package/dist/esm/components/basic/upload-file/context/UploadContext.js.map +1 -1
  235. package/dist/esm/components/basic/upload-file/index.js +10 -0
  236. package/dist/esm/components/basic/upload-file/index.js.map +1 -1
  237. package/dist/esm/components/basic/upload-file/ui/upload-file/index.js +11 -0
  238. package/dist/esm/components/basic/upload-file/ui/upload-file/index.js.map +1 -0
  239. package/dist/esm/components/basic/upload-file/ui/upload-file/upload-file-options.js +38 -0
  240. package/dist/esm/components/basic/upload-file/ui/upload-file/upload-file-options.js.map +1 -0
  241. package/dist/esm/components/basic/upload-file/ui/upload-file/upload-file.js +225 -0
  242. package/dist/esm/components/basic/upload-file/ui/upload-file/upload-file.js.map +1 -0
  243. package/dist/esm/components/basic/upload-file/ui/upload-image/upload-image.js +2 -2
  244. package/dist/esm/components/basic/upload-file/ui/upload-image/upload-image.js.map +1 -1
  245. package/dist/esm/components/basic/upload-file/ui/upload-video/index.js +11 -0
  246. package/dist/esm/components/basic/upload-file/ui/upload-video/index.js.map +1 -0
  247. package/dist/esm/components/basic/upload-file/ui/upload-video/upload-video-options.js +38 -0
  248. package/dist/esm/components/basic/upload-file/ui/upload-video/upload-video-options.js.map +1 -0
  249. package/dist/esm/components/basic/upload-file/ui/upload-video/upload-video.js +223 -0
  250. package/dist/esm/components/basic/upload-file/ui/upload-video/upload-video.js.map +1 -0
  251. package/dist/esm/components/basic/upload-file/upload-file-options.js +2 -1
  252. package/dist/esm/components/basic/upload-file/upload-file-options.js.map +1 -1
  253. package/dist/esm/components/basic/upload-file/upload-file.js +1 -0
  254. package/dist/esm/components/basic/upload-file/upload-file.js.map +1 -1
  255. package/dist/esm/components/business/resource-list/components/resource-item/index.vue.js +2 -0
  256. package/dist/esm/components/business/resource-list/components/resource-item/index.vue.js.map +1 -1
  257. package/dist/esm/components/business/resource-manager/resource-manager.vue.js +2 -0
  258. package/dist/esm/components/business/resource-manager/resource-manager.vue.js.map +1 -1
  259. package/dist/esm/components/data-model/data-table/components/column-sort/column-sort.js +2 -0
  260. package/dist/esm/components/data-model/data-table/components/column-sort/column-sort.js.map +1 -1
  261. package/dist/esm/components/data-model/data-table/components/header-components/batch-opt/batch-opt.js +2 -0
  262. package/dist/esm/components/data-model/data-table/components/header-components/batch-opt/batch-opt.js.map +1 -1
  263. package/dist/esm/components/data-model/data-table/components/header-components/table-filter/table-filter.js +2 -0
  264. package/dist/esm/components/data-model/data-table/components/header-components/table-filter/table-filter.js.map +1 -1
  265. package/dist/esm/core/component/DataFormComponents.js +14 -0
  266. package/dist/esm/core/component/DataFormComponents.js.map +1 -1
  267. package/dist/esm/index.js +14 -2
  268. package/dist/esm/index.js.map +1 -1
  269. package/dist/esm/installer.js +3 -0
  270. package/dist/esm/installer.js.map +1 -1
  271. package/dist/esm/layouts/components/bar/index.js +2 -0
  272. package/dist/esm/layouts/components/bar/index.js.map +1 -1
  273. package/dist/esm/layouts/components/header/tools.js +2 -0
  274. package/dist/esm/layouts/components/header/tools.js.map +1 -1
  275. package/dist/esm/layouts/components/menu/menu-item.js +2 -0
  276. package/dist/esm/layouts/components/menu/menu-item.js.map +1 -1
  277. package/dist/esm/layouts/container/default.js +2 -0
  278. package/dist/esm/layouts/container/default.js.map +1 -1
  279. package/dist/esm/message-impl/DialogerImpl.js +2 -0
  280. package/dist/esm/message-impl/DialogerImpl.js.map +1 -1
  281. package/dist/esm/modules/cms/components/part-tree/index.vue.js +2 -0
  282. package/dist/esm/modules/cms/components/part-tree/index.vue.js.map +1 -1
  283. package/dist/esm/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +15 -7
  284. package/dist/esm/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js.map +1 -1
  285. package/dist/esm/modules/cms/dataviews/cms-ad-defines/CmsAdDefinesForm.js +2 -0
  286. package/dist/esm/modules/cms/dataviews/cms-ad-defines/CmsAdDefinesForm.js.map +1 -1
  287. package/dist/esm/modules/cms/dataviews/cms-articles/CmsArticlesForm.js +3 -1
  288. package/dist/esm/modules/cms/dataviews/cms-articles/CmsArticlesForm.js.map +1 -1
  289. package/dist/esm/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js +3 -1
  290. package/dist/esm/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js.map +1 -1
  291. package/dist/esm/modules/cms/pages/cms-ad/index.vue2.js +12 -7
  292. package/dist/esm/modules/cms/pages/cms-ad/index.vue2.js.map +1 -1
  293. package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +2 -0
  294. package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
  295. package/dist/esm/modules/cms/pages/cms-contents/components/article-atlas.vue.js +2 -0
  296. package/dist/esm/modules/cms/pages/cms-contents/components/article-atlas.vue.js.map +1 -1
  297. package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js +3 -1
  298. package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js.map +1 -1
  299. package/dist/esm/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js +43 -12
  300. package/dist/esm/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js.map +1 -1
  301. package/dist/esm/modules/cms/pages/cms-contents/components/part-info.vue.js +2 -0
  302. package/dist/esm/modules/cms/pages/cms-contents/components/part-info.vue.js.map +1 -1
  303. package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js +2 -0
  304. package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js.map +1 -1
  305. package/dist/esm/modules/cms/pages/cms-resource/index.vue2.js +2 -0
  306. package/dist/esm/modules/cms/pages/cms-resource/index.vue2.js.map +1 -1
  307. package/dist/esm/modules/ms/components/image-select/image-select-panel.js +9 -3
  308. package/dist/esm/modules/ms/components/image-select/image-select-panel.js.map +1 -1
  309. package/dist/esm/modules/ms/components/material-list/material-list-options.js +2 -0
  310. package/dist/esm/modules/ms/components/material-list/material-list-options.js.map +1 -1
  311. package/dist/esm/modules/ms/components/material-list/material-list.js +2 -0
  312. package/dist/esm/modules/ms/components/material-list/material-list.js.map +1 -1
  313. package/dist/esm/modules/ms/components/material-select/material-select-api.js +2 -0
  314. package/dist/esm/modules/ms/components/material-select/material-select-api.js.map +1 -1
  315. package/dist/esm/modules/ms/dataviews/ms-member/MsMemberTable.js +2 -0
  316. package/dist/esm/modules/ms/dataviews/ms-member/MsMemberTable.js.map +1 -1
  317. package/dist/esm/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js +2 -0
  318. package/dist/esm/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js.map +1 -1
  319. package/dist/esm/modules/ms/image-upload-context/index.js +2 -0
  320. package/dist/esm/modules/ms/image-upload-context/index.js.map +1 -1
  321. package/dist/esm/modules/ms/index.js +4 -2
  322. package/dist/esm/modules/ms/index.js.map +1 -1
  323. package/dist/esm/modules/ms/material-upload-context/MaterialUploadContext.js +17 -3
  324. package/dist/esm/modules/ms/material-upload-context/MaterialUploadContext.js.map +1 -1
  325. package/dist/esm/modules/ms/material-upload-context/material-upload-context.js +2 -0
  326. package/dist/esm/modules/ms/material-upload-context/material-upload-context.js.map +1 -1
  327. package/dist/esm/modules/ms/pages/icons/index.vue2.js +2 -0
  328. package/dist/esm/modules/ms/pages/icons/index.vue2.js.map +1 -1
  329. package/dist/esm/modules/ms/pages/local-log/index.vue2.js +2 -0
  330. package/dist/esm/modules/ms/pages/local-log/index.vue2.js.map +1 -1
  331. package/dist/esm/modules/ms/pages/ms-material/index.vue2.js +3 -0
  332. package/dist/esm/modules/ms/pages/ms-material/index.vue2.js.map +1 -1
  333. package/dist/esm/modules/ms/pages/ms-menu/index.vue2.js +2 -0
  334. package/dist/esm/modules/ms/pages/ms-menu/index.vue2.js.map +1 -1
  335. package/dist/esm/modules/ms/pages/ms-role/components/aside.vue.js +2 -0
  336. package/dist/esm/modules/ms/pages/ms-role/components/aside.vue.js.map +1 -1
  337. package/dist/esm/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config-options.js +2 -0
  338. package/dist/esm/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config-options.js.map +1 -1
  339. package/dist/esm/modules/ms/pages/ms-role/index.vue2.js +2 -0
  340. package/dist/esm/modules/ms/pages/ms-role/index.vue2.js.map +1 -1
  341. package/dist/esm/page/index/dv/default/edit.vue2.js +2 -0
  342. package/dist/esm/page/index/dv/default/edit.vue2.js.map +1 -1
  343. package/dist/esm/page/index/dv/default/single/list/dialog.vue2.js +2 -0
  344. package/dist/esm/page/index/dv/default/single/list/dialog.vue2.js.map +1 -1
  345. package/dist/esm/page/index/dv/default/single/list/normal.vue2.js +2 -0
  346. package/dist/esm/page/index/dv/default/single/list/normal.vue2.js.map +1 -1
  347. package/dist/esm/page/index/dv/default/single/table-tree/dialog.vue2.js +2 -0
  348. package/dist/esm/page/index/dv/default/single/table-tree/dialog.vue2.js.map +1 -1
  349. package/dist/esm/page/index/dv/default/single/table-tree/normal.vue2.js +2 -0
  350. package/dist/esm/page/index/dv/default/single/table-tree/normal.vue2.js.map +1 -1
  351. package/dist/esm/page/index/dv/default/single/tree/dialog.vue2.js +2 -0
  352. package/dist/esm/page/index/dv/default/single/tree/dialog.vue2.js.map +1 -1
  353. package/dist/esm/page/index/dv/default/table.vue2.js +2 -0
  354. package/dist/esm/page/index/dv/default/table.vue2.js.map +1 -1
  355. package/dist/esm/page/login/index.vue2.js +2 -0
  356. package/dist/esm/page/login/index.vue2.js.map +1 -1
  357. package/dist/esm/page/signup/index.vue2.js +2 -0
  358. package/dist/esm/page/signup/index.vue2.js.map +1 -1
  359. package/dist/style/components/basic/doc-editor/index.css +1 -1
  360. package/dist/style/components/index.css +2 -2
  361. package/dist/style/components/upload-file-ui.css +1 -0
  362. package/dist/style/components/upload-image.css +1 -1
  363. package/dist/style/components/upload-video-ui.css +1 -0
  364. package/dist/style/index.css +3 -3
  365. package/dist/style/src/components/basic/doc-editor/index.scss +7 -3
  366. package/dist/style/src/components/index.scss +2 -0
  367. package/dist/style/src/components/upload-file-ui.scss +89 -0
  368. package/dist/style/src/components/upload-image.scss +3 -2
  369. package/dist/style/src/components/upload-video-ui.scss +139 -0
  370. package/dist/style/src/index.scss +4 -0
  371. package/dist/types/components/basic/doc-editor/core/element-block.d.ts +44 -0
  372. package/dist/types/components/basic/doc-editor/core/index.d.ts +23 -4
  373. package/dist/types/components/basic/doc-editor/index.d.ts +2 -2
  374. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/GridNode.d.ts +88 -0
  375. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.d.ts +50 -0
  376. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.d.ts +58 -0
  377. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.d.ts +58 -0
  378. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.d.ts +51 -0
  379. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/index.d.ts +5 -0
  380. package/dist/types/components/basic/doc-editor/plugins/GridPlugin/utils.d.ts +3 -0
  381. package/dist/types/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.d.ts +4 -13
  382. package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.d.ts +24 -10
  383. package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/composables.d.ts +2 -1
  384. package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/index.d.ts +0 -1
  385. package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/utils.d.ts +0 -6
  386. package/dist/types/components/basic/doc-editor/plugins/index.d.ts +3 -3
  387. package/dist/types/components/basic/dynamic-form-panel/type.d.ts +2 -2
  388. package/dist/types/components/basic/upload-file/context/UploadContext.d.ts +1 -0
  389. package/dist/types/components/basic/upload-file/ui/index.d.ts +2 -0
  390. package/dist/types/components/basic/upload-file/ui/upload-file/index.d.ts +67 -0
  391. package/dist/types/components/basic/upload-file/ui/upload-file/upload-file-options.d.ts +35 -0
  392. package/dist/types/components/basic/upload-file/ui/upload-file/upload-file.d.ts +67 -0
  393. package/dist/types/components/basic/upload-file/ui/upload-video/index.d.ts +67 -0
  394. package/dist/types/components/basic/upload-file/ui/upload-video/upload-video-options.d.ts +35 -0
  395. package/dist/types/components/basic/upload-file/ui/upload-video/upload-video.d.ts +67 -0
  396. package/dist/types/components/basic/upload-file/upload-file-options.d.ts +1 -0
  397. package/dist/types/components/basic/upload-file/upload-file.d.ts +2 -0
  398. package/dist/types/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.d.ts +5 -1
  399. package/dist/types/modules/ms/components/index.d.ts +1 -0
  400. package/package.json +4 -4
  401. package/dist/cjs/components/basic/doc-editor/core/decorator-module.js +0 -13
  402. package/dist/cjs/components/basic/doc-editor/core/decorator-module.js.map +0 -1
  403. package/dist/cjs/components/basic/doc-editor/core/element-module.js.map +0 -1
  404. package/dist/cjs/components/basic/doc-editor/plugins/DecoratorModuleToolbarPlugin/index.vue.js.map +0 -1
  405. package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/ImageTextNode.js +0 -106
  406. package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/ImageTextNode.js.map +0 -1
  407. package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js +0 -45
  408. package/dist/cjs/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js.map +0 -1
  409. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/ModuleContainerNode.js +0 -128
  410. package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/ModuleContainerNode.js.map +0 -1
  411. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockCantainerNode.js +0 -123
  412. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockCantainerNode.js.map +0 -1
  413. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockNode.js +0 -84
  414. package/dist/cjs/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockNode.js.map +0 -1
  415. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/defines.js +0 -11
  416. package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/defines.js.map +0 -1
  417. package/dist/esm/components/basic/doc-editor/core/decorator-module.js +0 -13
  418. package/dist/esm/components/basic/doc-editor/core/decorator-module.js.map +0 -1
  419. package/dist/esm/components/basic/doc-editor/core/element-module.js.map +0 -1
  420. package/dist/esm/components/basic/doc-editor/plugins/DecoratorModuleToolbarPlugin/index.vue.js.map +0 -1
  421. package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/ImageTextNode.js +0 -106
  422. package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/ImageTextNode.js.map +0 -1
  423. package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js +0 -46
  424. package/dist/esm/components/basic/doc-editor/plugins/ImageTextPlugin/index.vue.js.map +0 -1
  425. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/ModuleContainerNode.js +0 -128
  426. package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/ModuleContainerNode.js.map +0 -1
  427. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockCantainerNode.js +0 -123
  428. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockCantainerNode.js.map +0 -1
  429. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockNode.js +0 -84
  430. package/dist/esm/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockNode.js.map +0 -1
  431. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/defines.js +0 -11
  432. package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/defines.js.map +0 -1
  433. package/dist/types/components/basic/doc-editor/core/decorator-module.d.ts +0 -60
  434. package/dist/types/components/basic/doc-editor/core/element-module.d.ts +0 -15
  435. package/dist/types/components/basic/doc-editor/plugins/ImageTextPlugin/ImageTextNode.d.ts +0 -63
  436. package/dist/types/components/basic/doc-editor/plugins/ImageTextPlugin/index.d.ts +0 -1
  437. package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/ModuleContainerNode.d.ts +0 -78
  438. package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/ModuleRenderComponent.d.ts +0 -23
  439. package/dist/types/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockCantainerNode.d.ts +0 -63
  440. package/dist/types/components/basic/doc-editor/plugins/RichTextPlugin/nodes/BaseBlockNode.d.ts +0 -58
  441. package/dist/types/components/basic/doc-editor/plugins/ToolbarPlugin/defines.d.ts +0 -15
  442. /package/dist/cjs/components/basic/doc-editor/plugins/{DecoratorModuleToolbarPlugin → ElementBlockSelectionPlugin}/index.vue2.js +0 -0
  443. /package/dist/cjs/components/basic/doc-editor/plugins/{DecoratorModuleToolbarPlugin → ElementBlockSelectionPlugin}/index.vue2.js.map +0 -0
  444. /package/dist/cjs/components/basic/doc-editor/plugins/{ImageTextPlugin → GridPlugin}/index.vue2.js +0 -0
  445. /package/dist/cjs/components/basic/doc-editor/plugins/{ImageTextPlugin → GridPlugin}/index.vue2.js.map +0 -0
  446. /package/dist/esm/components/basic/doc-editor/plugins/{DecoratorModuleToolbarPlugin → ElementBlockSelectionPlugin}/index.vue2.js +0 -0
  447. /package/dist/esm/components/basic/doc-editor/plugins/{DecoratorModuleToolbarPlugin → ElementBlockSelectionPlugin}/index.vue2.js.map +0 -0
  448. /package/dist/esm/components/basic/doc-editor/plugins/{ImageTextPlugin → GridPlugin}/index.vue2.js +0 -0
  449. /package/dist/esm/components/basic/doc-editor/plugins/{ImageTextPlugin → GridPlugin}/index.vue2.js.map +0 -0
  450. /package/dist/types/components/basic/doc-editor/plugins/{DecoratorModuleToolbarPlugin → ElementBlockSelectionPlugin}/index.vue.d.ts +0 -0
  451. /package/dist/types/components/basic/doc-editor/plugins/{ImageTextPlugin → GridPlugin}/index.vue.d.ts +0 -0
@@ -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 DataForm,\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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"}
@@ -21,6 +21,8 @@ import "@maketribe/utils";
21
21
  import "../../../../components/basic/upload-file/context/web-file-upload-context.js";
22
22
  import "../../../../components/basic/upload-file/context/web-file-upload-context-options.js";
23
23
  import { MKUploadImage } from "../../../../components/basic/upload-file/ui/upload-image/index.js";
24
+ import "../../../../components/basic/upload-file/ui/upload-file/index.js";
25
+ import "../../../../components/basic/upload-file/ui/upload-video/index.js";
24
26
  import "../../../../components/basic/upload-file/upload-file-options.js";
25
27
  import { MKDocEditor } from "../../../../components/basic/doc-editor/index.js";
26
28
  import "../../../../components/basic/copy-container/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"article-edit-add-page.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-contents/article-edit-add-page.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-article-eidtadd__warp\">\r\n <el-page-header style=\"background-color: #fff;padding: 10px;\" :icon=\"ArrowLeftBold\" title=\"返回\"\r\n @back=\"() => router.push({ name: 'cms/contents', query: { pid: articleForm?.data?.cmsPartId } })\">\r\n <template #content>\r\n <template v-if=\"!articleForm.loading\">\r\n <el-text v-if=\"!articleForm.data?.modifier\">{{ !!route.query.id ? \"编辑文章\" : \"创建文章\" }}</el-text>\r\n <el-text v-else>{{ articleForm.data?.modifierName }} 于 {{ articleForm.data?.updatedAt }} 更新</el-text>\r\n </template>\r\n </template>\r\n <template #extra>\r\n <div class=\"mk-cms-article-eidtadd__header_tools\">\r\n\r\n <template v-if=\"!articleForm.loading\">\r\n <el-tag v-if=\"!articleForm.data?.publishTime\" effect=\"dark\" round>未发布</el-tag>\r\n <el-text v-else>发布时间:{{ articleForm.data?.publishTime }}</el-text>\r\n </template>\r\n\r\n <el-dropdown split-button type=\"primary\" style=\"margin-left: 10px;\" @click=\"saveHandle\">\r\n <MKSvgIcon iconClass=\"save\" style=\"margin-right: 10px;\" />\r\n 保存\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item v-if=\"CmsSettings.publish.mode == 'static'\" @click=\"saveAndViewHandle\">\r\n <MKSvgIcon iconClass=\"View\" style=\"margin-right: 5px;\" />\r\n 保存并预览\r\n </el-dropdown-item>\r\n <el-dropdown-item @click=\"saveAndPublishHandle\">\r\n <MKSvgIcon iconClass=\"Share\" style=\"margin-right: 5px;\" />\r\n 保存并发布\r\n </el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </div>\r\n </template>\r\n </el-page-header>\r\n <div class=\"mk-cms-article-eidtadd__body\" v-loading=\"articleForm.loading\">\r\n\r\n <MKDocEditor v-if=\"articleForm.data\" :content=\"content\" @change=\"EditorChangeHandle\">\r\n <template #header>\r\n <div class=\"mk-cms-article-eidtadd__body__header\">\r\n <el-row>\r\n <el-input class=\"title\" type=\"textarea\" :autosize=\"{ minRows: 1, maxRows: 4 }\" maxlength=\"150\"\r\n show-word-limit placeholder=\"请输入标题\" v-model=\"title\" />\r\n </el-row>\r\n <el-row>\r\n <el-input class=\"sub-title\" type=\"textarea\" :autosize=\"{ minRows: 1, maxRows: 4 }\" maxlength=\"150\"\r\n show-word-limit placeholder=\"[选填] 请输入子标题\" v-model=\"subTitle\" />\r\n </el-row>\r\n </div>\r\n </template>\r\n <template #after-extentions>\r\n <div class=\"mk-cms-article-eidtadd__body__extentions\" :class=\"{ hide: closeExtentions! }\" ref=\"extentionsRef\">\r\n <MKSvgIcon icon-class=\"ArrowLeft\" class=\"open\" @click=\"closeExtentionsHandle\" v-if=\"closeExtentions\">\r\n </MKSvgIcon>\r\n <MKSvgIcon v-else icon-class=\"ArrowRight\" class=\"close\" @click=\"hideExtentionsHandle\">\r\n </MKSvgIcon>\r\n <el-divider content-position=\"left\">文章设置</el-divider>\r\n <MKDataForm :dataForm=\"articleForm\">\r\n <MKForm :dataForm=\"articleForm\" style=\"width:225px\" label-width=\"110px\">\r\n <el-row v-if=\"CmsSettings.content.useTop\">\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isTop\"></MKDataFormItem>\r\n </el-row>\r\n <el-row v-if=\"CmsSettings.content.useNew\">\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isNew\"></MKDataFormItem>\r\n </el-row>\r\n <el-row v-if=\"CmsSettings.content.useHotRecommend\">\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isHotRecommend\"></MKDataFormItem>\r\n </el-row>\r\n <el-row v-if=\"CmsSettings.content.usePartRecommend\">\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isPartRecommend\"></MKDataFormItem>\r\n </el-row>\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isShowList\"></MKDataFormItem>\r\n </el-row>\r\n <!-- <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isDraft\"></MKDataFormItem>\r\n </el-row> -->\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"sortNo\"></MKDataFormItem>\r\n </el-row>\r\n </MKForm>\r\n </MKDataForm>\r\n </div>\r\n </template>\r\n <template #footer>\r\n <div class=\"mk-cms-article-eidtadd__body__footer\">\r\n <el-tabs v-model=\"articleOptionsActive\">\r\n <el-tab-pane label=\"基础内容\" name=\"content\">\r\n <div class=\"content\">\r\n <el-row :gutter=\"20\">\r\n <el-col :span=\"6\">\r\n <el-input placeholder=\"[选填] 作者\" v-model=\"articleForm.data.author\" clearable>\r\n <template #prefix>\r\n <MKSvgIcon iconClass=\"UserFilled\" />\r\n </template>\r\n </el-input>\r\n </el-col>\r\n <el-col :span=\"6\">\r\n <el-date-picker v-model=\"releaseDate\" type=\"datetime\" placeholder=\"发布时间\"\r\n :default-time=\"new Date()\" />\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-input placeholder=\"[选填] 发布地址\" v-model=\"articleForm.data.locationDesc\" clearable>\r\n <template #prefix>\r\n <MKSvgIcon iconClass=\"Location\" />\r\n </template>\r\n </el-input>\r\n </el-col>\r\n </el-row>\r\n <el-row v-if=\"CmsSettings.content.useTags\">\r\n <el-select v-model=\"tags\" multiple filterable allow-create default-first-option\r\n :reserve-keyword=\"false\" placeholder=\"[可选] 选择文章标签\" style=\"width: 100%\">\r\n <template #prefix>\r\n <MKSvgIcon iconClass=\"CollectionTag\" />\r\n </template>\r\n </el-select>\r\n </el-row>\r\n <el-divider content-position=\"left\">\r\n 文章封面/简介\r\n <el-switch v-model=\"descAutoCreate\" style=\"margin-left: 10px;\" inline-prompt active-text=\"自动生成\"\r\n inactive-text=\"手动撰写\" />\r\n </el-divider>\r\n <el-row class=\"cover-desc\">\r\n <MKUploadImage style=\"margin-right: 10px;\" v-model=\"articleForm.data.cover\" width=\"115px\" height=\"115px\" \r\n :uploadContext=\"new ImageUploadContext(CmsSettings.content.coverImageSize)\">\r\n\r\n </MKUploadImage>\r\n <el-input class=\"desc\" type=\"textarea\" :autosize=\"{ minRows: 5, maxRows: 30 }\" maxlength=\"1000\"\r\n show-word-limit placeholder=\"[选填] 文章简介\" v-model=\"desc\" />\r\n </el-row>\r\n <el-divider content-position=\"left\">文章Banner图</el-divider>\r\n <el-row>\r\n <MKUploadImage v-model=\"articleForm.data.banner\" width=\"100%\" height=\"300px\" :uploadContext=\"new ImageUploadContext(CmsSettings.content.bannerImageSize)\">\r\n\r\n </MKUploadImage>\r\n </el-row>\r\n </div>\r\n </el-tab-pane>\r\n <el-tab-pane label=\"文章资源库\" name=\"atlas\" v-if=\"CmsSettings.content.useAtlas\">\r\n <ArticleAtlas v-model=\"atlas\" :articleId=\"parseInt(articleForm.data?.id)\" />\r\n </el-tab-pane>\r\n <el-tab-pane label=\"页面设置\" name=\"settings\" v-if=\"CmsSettings.publish.mode == 'static'\">\r\n <MKDataForm :dataForm=\"articleForm\" label-width=\"120px\">\r\n <MKForm :dataForm=\"articleForm\">\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"seoKeywords\"></MKDataFormItem>\r\n </el-row>\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"seoDesc\"></MKDataFormItem>\r\n </el-row>\r\n </MKForm>\r\n </MKDataForm>\r\n </el-tab-pane>\r\n </el-tabs>\r\n </div>\r\n </template>\r\n </MKDocEditor>\r\n </div>\r\n </div>\r\n</template>\r\n<script setup lang='ts'>\r\nimport { onMounted, reactive, ref, computed } from \"vue\";\r\nimport { ArrowLeftBold } from \"@element-plus/icons-vue\"\r\nimport { MKDocEditor, MKSvgIcon, MKUploadImage } from '../../../../components'\r\nimport { MKDataForm, MKForm, MKDataFormItem } from \"../../../../components\";\r\nimport ArticleAtlas from \"./components/article-atlas.vue\";\r\nimport { CmsArticlesForm } from \"../../dataviews\";\r\nimport { useRoute, useRouter } from \"vue-router\";\r\nimport { ImageUploadContext } from \"../../../ms\";\r\nimport { useCmsSettings } from \"../../cms-settings\"\r\n// cms 配置\r\nconst CmsSettings = useCmsSettings(true);\r\n\r\nconst route = useRoute()\r\nconst router = useRouter();\r\n\r\n\r\n// 文章请求\r\nconst articleForm = reactive(new CmsArticlesForm()) as CmsArticlesForm;\r\nconst articleOptionsActive = ref(\"content\");\r\n\r\n\r\n// 标题\r\nconst title = computed({\r\n get() { return articleForm.data?.title || \"\"; },\r\n set(val) { articleForm.data.title = val; }\r\n});\r\n// 子标题\r\nconst subTitle = computed({\r\n get() { return articleForm.data?.subTitle || \"\"; },\r\n set(val) { articleForm.data.subTitle = val; }\r\n});\r\n// 获取默认简介\r\nconst getDefaultDescContent = () => {\r\n if (!descAutoCreate.value) {\r\n return \"\";\r\n }\r\n let val: any = \"\";\r\n const div = document.createElement(\"div\");\r\n div.innerHTML = content.value;\r\n val = div.textContent?.substring(0, 700);\r\n if (div.textContent!.length > 700) {\r\n val += \"...\";\r\n }\r\n return val;\r\n}\r\nconst descAutoCreate = ref(true)\r\n// 简介\r\nconst desc = computed({\r\n get() {\r\n return articleForm.data?.desc || getDefaultDescContent();\r\n },\r\n set(val) {\r\n articleForm.data.desc = val;\r\n }\r\n});\r\n// 发布时间\r\nconst releaseDate = computed({\r\n get() { return articleForm.data?.releaseDate || articleForm.data?.publishTime; },\r\n set(val) { articleForm.data.releaseDate = val; }\r\n});\r\n// 标签\r\nconst tags = ref([]);\r\n// computed({ \r\n// get() { return articleForm.data?.tags || [] }, \r\n// set(val) { articleForm.data.tags = val; } \r\n// });\r\n// 内容\r\nconst content = computed({\r\n get() { return articleForm.data?.content || \"\"; },\r\n set(val) { articleForm.data.content = val; }\r\n});\r\n\r\n// 图集\r\nconst atlas = computed({\r\n get() {\r\n return articleForm.data?.atlas\r\n },\r\n set(val) { articleForm.data.atlas = val; }\r\n});\r\n\r\n// 表单初始化\r\nconst formInitDataInfo = ()=>{\r\n // 初始化数据加载\r\n if (route.query.id) {\r\n articleForm.editRecord(route.query.id);\r\n }\r\n else if (route.query.partId) {\r\n articleForm.addRecord({ cmsPartId: route.query.partId,isDraft:1 });\r\n }\r\n else {\r\n articleForm.addRecord({ isDraft:1 });\r\n }\r\n}\r\n\r\nonMounted(() => {\r\n formInitDataInfo();\r\n articleForm.init();\r\n\r\n})\r\n\r\n// 保存\r\nconst saveHandle = async () => {\r\n\r\n // 简介不存在的时候使用自动生成的\r\n if (!articleForm.data?.desc) {\r\n desc.value = getDefaultDescContent();\r\n }\r\n\r\n let result = await articleForm.submit();\r\n\r\n router.back();\r\n\r\n return result;\r\n}\r\n\r\n// 保存并预览\r\nconst saveAndViewHandle = async ()=>{\r\n const partId = articleForm.data.cmsPartId;\r\n const data = await saveHandle();\r\n if(data.data.code == 200 && data.data.data){\r\n window.open('/api/cms/content/preview/content/' + partId + '/' + data.data.data)\r\n }\r\n}\r\n\r\n// 保存并发布\r\nconst saveAndPublishHandle = async ()=>{\r\n const result:any = await articleForm.saveAndPublish(CmsSettings.publish.mode);\r\n if(result.data.code == 200){\r\n router.back();\r\n }\r\n}\r\n\r\n// 隐藏扩展\r\nconst closeExtentions = ref(true);\r\nconst extentionsRef = ref();\r\nconst hideExtentionsHandle = () => {\r\n closeExtentions.value = true;\r\n}\r\n//展示扩展\r\nconst closeExtentionsHandle = () => {\r\n closeExtentions.value = false;\r\n}\r\n\r\nconst EditorChangeHandle = (v: any) => {\r\n articleForm.data.content = v;\r\n}\r\n\r\n</script>\r\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"article-edit-add-page.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-contents/article-edit-add-page.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-article-eidtadd__warp\">\r\n <el-page-header style=\"background-color: #fff;padding: 10px;\" :icon=\"ArrowLeftBold\" title=\"返回\"\r\n @back=\"() => router.push({ name: 'cms/contents', query: { pid: articleForm?.data?.cmsPartId } })\">\r\n <template #content>\r\n <template v-if=\"!articleForm.loading\">\r\n <el-text v-if=\"!articleForm.data?.modifier\">{{ !!route.query.id ? \"编辑文章\" : \"创建文章\" }}</el-text>\r\n <el-text v-else>{{ articleForm.data?.modifierName }} 于 {{ articleForm.data?.updatedAt }} 更新</el-text>\r\n </template>\r\n </template>\r\n <template #extra>\r\n <div class=\"mk-cms-article-eidtadd__header_tools\">\r\n\r\n <template v-if=\"!articleForm.loading\">\r\n <el-tag v-if=\"!articleForm.data?.publishTime\" effect=\"dark\" round>未发布</el-tag>\r\n <el-text v-else>发布时间:{{ articleForm.data?.publishTime }}</el-text>\r\n </template>\r\n\r\n <el-dropdown split-button type=\"primary\" style=\"margin-left: 10px;\" @click=\"saveHandle\">\r\n <MKSvgIcon iconClass=\"save\" style=\"margin-right: 10px;\" />\r\n 保存\r\n <template #dropdown>\r\n <el-dropdown-menu>\r\n <el-dropdown-item v-if=\"CmsSettings.publish.mode == 'static'\" @click=\"saveAndViewHandle\">\r\n <MKSvgIcon iconClass=\"View\" style=\"margin-right: 5px;\" />\r\n 保存并预览\r\n </el-dropdown-item>\r\n <el-dropdown-item @click=\"saveAndPublishHandle\">\r\n <MKSvgIcon iconClass=\"Share\" style=\"margin-right: 5px;\" />\r\n 保存并发布\r\n </el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </div>\r\n </template>\r\n </el-page-header>\r\n <div class=\"mk-cms-article-eidtadd__body\" v-loading=\"articleForm.loading\">\r\n\r\n <MKDocEditor v-if=\"articleForm.data\" :content=\"content\" @change=\"EditorChangeHandle\">\r\n <template #header>\r\n <div class=\"mk-cms-article-eidtadd__body__header\">\r\n <el-row>\r\n <el-input class=\"title\" type=\"textarea\" :autosize=\"{ minRows: 1, maxRows: 4 }\" maxlength=\"150\"\r\n show-word-limit placeholder=\"请输入标题\" v-model=\"title\" />\r\n </el-row>\r\n <el-row>\r\n <el-input class=\"sub-title\" type=\"textarea\" :autosize=\"{ minRows: 1, maxRows: 4 }\" maxlength=\"150\"\r\n show-word-limit placeholder=\"[选填] 请输入子标题\" v-model=\"subTitle\" />\r\n </el-row>\r\n </div>\r\n </template>\r\n <template #after-extentions>\r\n <div class=\"mk-cms-article-eidtadd__body__extentions\" :class=\"{ hide: closeExtentions! }\" ref=\"extentionsRef\">\r\n <MKSvgIcon icon-class=\"ArrowLeft\" class=\"open\" @click=\"closeExtentionsHandle\" v-if=\"closeExtentions\">\r\n </MKSvgIcon>\r\n <MKSvgIcon v-else icon-class=\"ArrowRight\" class=\"close\" @click=\"hideExtentionsHandle\">\r\n </MKSvgIcon>\r\n <el-divider content-position=\"left\">文章设置</el-divider>\r\n <MKDataForm :dataForm=\"articleForm\">\r\n <MKForm :dataForm=\"articleForm\" style=\"width:225px\" label-width=\"110px\">\r\n <el-row v-if=\"CmsSettings.content.useTop\">\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isTop\"></MKDataFormItem>\r\n </el-row>\r\n <el-row v-if=\"CmsSettings.content.useNew\">\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isNew\"></MKDataFormItem>\r\n </el-row>\r\n <el-row v-if=\"CmsSettings.content.useHotRecommend\">\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isHotRecommend\"></MKDataFormItem>\r\n </el-row>\r\n <el-row v-if=\"CmsSettings.content.usePartRecommend\">\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isPartRecommend\"></MKDataFormItem>\r\n </el-row>\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isShowList\"></MKDataFormItem>\r\n </el-row>\r\n <!-- <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"isDraft\"></MKDataFormItem>\r\n </el-row> -->\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"sortNo\"></MKDataFormItem>\r\n </el-row>\r\n </MKForm>\r\n </MKDataForm>\r\n </div>\r\n </template>\r\n <template #footer>\r\n <div class=\"mk-cms-article-eidtadd__body__footer\">\r\n <el-tabs v-model=\"articleOptionsActive\">\r\n <el-tab-pane label=\"基础内容\" name=\"content\">\r\n <div class=\"content\">\r\n <el-row :gutter=\"20\">\r\n <el-col :span=\"6\">\r\n <el-input placeholder=\"[选填] 作者\" v-model=\"articleForm.data.author\" clearable>\r\n <template #prefix>\r\n <MKSvgIcon iconClass=\"UserFilled\" />\r\n </template>\r\n </el-input>\r\n </el-col>\r\n <el-col :span=\"6\">\r\n <el-date-picker v-model=\"releaseDate\" type=\"datetime\" placeholder=\"发布时间\"\r\n :default-time=\"new Date()\" />\r\n </el-col>\r\n <el-col :span=\"12\">\r\n <el-input placeholder=\"[选填] 发布地址\" v-model=\"articleForm.data.locationDesc\" clearable>\r\n <template #prefix>\r\n <MKSvgIcon iconClass=\"Location\" />\r\n </template>\r\n </el-input>\r\n </el-col>\r\n </el-row>\r\n <el-row v-if=\"CmsSettings.content.useTags\">\r\n <el-select v-model=\"tags\" multiple filterable allow-create default-first-option\r\n :reserve-keyword=\"false\" placeholder=\"[可选] 选择文章标签\" style=\"width: 100%\">\r\n <template #prefix>\r\n <MKSvgIcon iconClass=\"CollectionTag\" />\r\n </template>\r\n </el-select>\r\n </el-row>\r\n <el-divider content-position=\"left\">\r\n 文章封面/简介\r\n <el-switch v-model=\"descAutoCreate\" style=\"margin-left: 10px;\" inline-prompt active-text=\"自动生成\"\r\n inactive-text=\"手动撰写\" />\r\n </el-divider>\r\n <el-row class=\"cover-desc\">\r\n <MKUploadImage style=\"margin-right: 10px;\" v-model=\"articleForm.data.cover\" width=\"115px\" height=\"115px\" \r\n :uploadContext=\"new ImageUploadContext(CmsSettings.content.coverImageSize)\">\r\n\r\n </MKUploadImage>\r\n <el-input class=\"desc\" type=\"textarea\" :autosize=\"{ minRows: 5, maxRows: 30 }\" maxlength=\"1000\"\r\n show-word-limit placeholder=\"[选填] 文章简介\" v-model=\"desc\" />\r\n </el-row>\r\n <el-divider content-position=\"left\">文章Banner图</el-divider>\r\n <el-row>\r\n <MKUploadImage v-model=\"articleForm.data.banner\" width=\"100%\" height=\"300px\" :uploadContext=\"new ImageUploadContext(CmsSettings.content.bannerImageSize)\">\r\n\r\n </MKUploadImage>\r\n </el-row>\r\n </div>\r\n </el-tab-pane>\r\n <el-tab-pane label=\"文章资源库\" name=\"atlas\" v-if=\"CmsSettings.content.useAtlas\">\r\n <ArticleAtlas v-model=\"atlas\" :articleId=\"parseInt(articleForm.data?.id)\" />\r\n </el-tab-pane>\r\n <el-tab-pane label=\"页面设置\" name=\"settings\" v-if=\"CmsSettings.publish.mode == 'static'\">\r\n <MKDataForm :dataForm=\"articleForm\" label-width=\"120px\">\r\n <MKForm :dataForm=\"articleForm\">\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"seoKeywords\"></MKDataFormItem>\r\n </el-row>\r\n <el-row>\r\n <MKDataFormItem style=\"width: 100%;\" name=\"seoDesc\"></MKDataFormItem>\r\n </el-row>\r\n </MKForm>\r\n </MKDataForm>\r\n </el-tab-pane>\r\n </el-tabs>\r\n </div>\r\n </template>\r\n </MKDocEditor>\r\n </div>\r\n </div>\r\n</template>\r\n<script setup lang='ts'>\r\nimport { onMounted, reactive, ref, computed } from \"vue\";\r\nimport { ArrowLeftBold } from \"@element-plus/icons-vue\"\r\nimport { MKDocEditor, MKSvgIcon, MKUploadImage } from '../../../../components'\r\nimport { MKDataForm, MKForm, MKDataFormItem } from \"../../../../components\";\r\nimport ArticleAtlas from \"./components/article-atlas.vue\";\r\nimport { CmsArticlesForm } from \"../../dataviews\";\r\nimport { useRoute, useRouter } from \"vue-router\";\r\nimport { ImageUploadContext } from \"../../../ms\";\r\nimport { useCmsSettings } from \"../../cms-settings\"\r\n// cms 配置\r\nconst CmsSettings = useCmsSettings(true);\r\n\r\nconst route = useRoute()\r\nconst router = useRouter();\r\n\r\n\r\n// 文章请求\r\nconst articleForm = reactive(new CmsArticlesForm()) as CmsArticlesForm;\r\nconst articleOptionsActive = ref(\"content\");\r\n\r\n\r\n// 标题\r\nconst title = computed({\r\n get() { return articleForm.data?.title || \"\"; },\r\n set(val) { articleForm.data.title = val; }\r\n});\r\n// 子标题\r\nconst subTitle = computed({\r\n get() { return articleForm.data?.subTitle || \"\"; },\r\n set(val) { articleForm.data.subTitle = val; }\r\n});\r\n// 获取默认简介\r\nconst getDefaultDescContent = () => {\r\n if (!descAutoCreate.value) {\r\n return \"\";\r\n }\r\n let val: any = \"\";\r\n const div = document.createElement(\"div\");\r\n div.innerHTML = content.value;\r\n val = div.textContent?.substring(0, 700);\r\n if (div.textContent!.length > 700) {\r\n val += \"...\";\r\n }\r\n return val;\r\n}\r\nconst descAutoCreate = ref(true)\r\n// 简介\r\nconst desc = computed({\r\n get() {\r\n return articleForm.data?.desc || getDefaultDescContent();\r\n },\r\n set(val) {\r\n articleForm.data.desc = val;\r\n }\r\n});\r\n// 发布时间\r\nconst releaseDate = computed({\r\n get() { return articleForm.data?.releaseDate || articleForm.data?.publishTime; },\r\n set(val) { articleForm.data.releaseDate = val; }\r\n});\r\n// 标签\r\nconst tags = ref([]);\r\n// computed({ \r\n// get() { return articleForm.data?.tags || [] }, \r\n// set(val) { articleForm.data.tags = val; } \r\n// });\r\n// 内容\r\nconst content = computed({\r\n get() { return articleForm.data?.content || \"\"; },\r\n set(val) { articleForm.data.content = val; }\r\n});\r\n\r\n// 图集\r\nconst atlas = computed({\r\n get() {\r\n return articleForm.data?.atlas\r\n },\r\n set(val) { articleForm.data.atlas = val; }\r\n});\r\n\r\n// 表单初始化\r\nconst formInitDataInfo = ()=>{\r\n // 初始化数据加载\r\n if (route.query.id) {\r\n articleForm.editRecord(route.query.id);\r\n }\r\n else if (route.query.partId) {\r\n articleForm.addRecord({ cmsPartId: route.query.partId,isDraft:1 });\r\n }\r\n else {\r\n articleForm.addRecord({ isDraft:1 });\r\n }\r\n}\r\n\r\nonMounted(() => {\r\n formInitDataInfo();\r\n articleForm.init();\r\n\r\n})\r\n\r\n// 保存\r\nconst saveHandle = async () => {\r\n\r\n // 简介不存在的时候使用自动生成的\r\n if (!articleForm.data?.desc) {\r\n desc.value = getDefaultDescContent();\r\n }\r\n\r\n let result = await articleForm.submit();\r\n\r\n router.back();\r\n\r\n return result;\r\n}\r\n\r\n// 保存并预览\r\nconst saveAndViewHandle = async ()=>{\r\n const partId = articleForm.data.cmsPartId;\r\n const data = await saveHandle();\r\n if(data.data.code == 200 && data.data.data){\r\n window.open('/api/cms/content/preview/content/' + partId + '/' + data.data.data)\r\n }\r\n}\r\n\r\n// 保存并发布\r\nconst saveAndPublishHandle = async ()=>{\r\n const result:any = await articleForm.saveAndPublish(CmsSettings.publish.mode);\r\n if(result.data.code == 200){\r\n router.back();\r\n }\r\n}\r\n\r\n// 隐藏扩展\r\nconst closeExtentions = ref(true);\r\nconst extentionsRef = ref();\r\nconst hideExtentionsHandle = () => {\r\n closeExtentions.value = true;\r\n}\r\n//展示扩展\r\nconst closeExtentionsHandle = () => {\r\n closeExtentions.value = false;\r\n}\r\n\r\nconst EditorChangeHandle = (v: any) => {\r\n articleForm.data.content = v;\r\n}\r\n\r\n</script>\r\n"],"names":[],"mappings":"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"}
@@ -23,6 +23,8 @@ import "@maketribe/utils";
23
23
  import "../../../../../components/basic/upload-file/context/web-file-upload-context.js";
24
24
  import "../../../../../components/basic/upload-file/context/web-file-upload-context-options.js";
25
25
  import "../../../../../components/basic/upload-file/ui/upload-image/index.js";
26
+ import "../../../../../components/basic/upload-file/ui/upload-file/index.js";
27
+ import "../../../../../components/basic/upload-file/ui/upload-video/index.js";
26
28
  import "../../../../../components/basic/upload-file/upload-file-options.js";
27
29
  import "../../../../../components/basic/doc-editor/index.js";
28
30
  import "../../../../../components/basic/copy-container/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"article-atlas.vue.js","sources":["../../../../../../../src/modules/cms/pages/cms-contents/components/article-atlas.vue"],"sourcesContent":["<template>\r\n <el-card class=\"cms-article-atlas\">\r\n <template #header>\r\n <div @click=\"showAtlasFormHandle()\" class=\"cms-article-atlas__header\">\r\n <span>\r\n <MKSvgIcon iconClass=\"Picture\" style=\"margin-right: 5px;\" />\r\n 文章媒体库\r\n </span>\r\n <MKSvgIcon class=\"cms-article-atlas__header__btn\" iconClass=\"Plus\" style=\"color: #409EFF;\" />\r\n </div>\r\n </template>\r\n <el-empty v-if=\"atlas.length <= 0\" description=\"暂无内容\" />\r\n <el-scrollbar class=\"cms-article-atlas__list\" v-else>\r\n <el-card class=\"cms-article-atlas__list__item\" v-for=\"(item, index) in atlas\" :key=\"item.id\">\r\n <el-image class=\"images\" :src=\"item.path\" v-if=\"item.type == 1\" 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=\"item.type == 2\" :src=\"item.path\" controls></video>\r\n <div class=\"cms-article-atlas__list__item__desc\">\r\n <div class=\"item-desc-left\">\r\n <div class=\"title ellipsis\">\r\n <MKSvgIcon class=\"icon\" v-if=\"item.type == 1\" iconClass=\"Picture\"></MKSvgIcon>\r\n <MKSvgIcon class=\"icon\" v-if=\"item.type == 2\" iconClass=\"VideoCamera\"></MKSvgIcon>\r\n <span :title=\"item.title\">{{ item.title }}</span>\r\n </div>\r\n <div class=\"external-links ellipsis\">\r\n <MKSvgIcon class=\"icon\" v-if=\"item.link\" iconClass=\"Link\"></MKSvgIcon>\r\n <a :href=\"item.link\" target=\"_blank\" :title=\"item.path\">{{ item.link }}</a>\r\n </div>\r\n </div>\r\n <el-dropdown trigger=\"click\" :teleported=\"false\" class=\"item-desc-right\">\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\" @click=\"editHandle(item)\">编辑</el-dropdown-item>\r\n <el-dropdown-item class=\"delete-button\" :icon=\"Delete\"\r\n @click=\"deleteHandle(index)\">删除</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </div>\r\n </el-card>\r\n <el-dialog v-model=\"formVisible\" append-to-body>\r\n <MKDataForm :dataForm=\"atlasDv\">\r\n <MKForm></MKForm>\r\n </MKDataForm>\r\n <template #footer>\r\n <el-button type=\"primary\" @click=\"saveAlatsHandle\">保存</el-button>\r\n <el-button @click=\"formVisible = false\"> 取消 </el-button>\r\n </template>\r\n </el-dialog>\r\n\r\n </el-scrollbar>\r\n </el-card>\r\n</template>\r\n<script setup lang='ts'>\r\nimport { onMounted, computed, ref, defineProps, watch, reactive } from \"vue\";\r\nimport { EditPen, ArrowDown, Delete } from \"@element-plus/icons-vue\"\r\nimport { CmsArticleAtlasForm } from \"../../../dataviews/cms-articles/cms-article-atlas\";\r\nimport { MKDataForm, MKForm } from \"../../../../../components\";\r\n\r\n// 参数\r\nconst props = defineProps({\r\n articleId: { type: Number, default: \"\" },\r\n modelValue: { type: Array<any>, default: () => [] },\r\n})\r\nconst emit = defineEmits([\"update:modelValue\"])\r\n//atlas表单\r\nconst atlasDv = reactive(new CmsArticleAtlasForm()) as CmsArticleAtlasForm;\r\nconst formVisible = ref(false);\r\n\r\nconst imgExtension = [\".jpg\", \".png\", \".gif\", \".jpeg\", \".bmp\", \".webp\", \".svg\", \".tiff\", \".tif\", \".ico\", \".jfif\", \".jpe\"]\r\nconst videoExtension = [\".mp4\", \".avi\", \".rmvb\", \".flv\", \".mkv\", \".wmv\", \".mov\", \".webm\", \".m4v\", \".mpg\", \".mpeg\", \".mts\", \".m2ts\", \".m2v\", \".mpe\", \".mpv\", \".vob\", \".ogv\", \".3gp\", \".3g2\", \".3gpp\", \".3gpp2\", \".3gp2\"]\r\n\r\n\r\n//图集数据\r\nconst atlas = computed(\r\n () => {\r\n const _arr = props.modelValue.map((item, index) => {\r\n const extension = item.path.slice(item.path.lastIndexOf(\".\"))\r\n let type = 0;\r\n if (imgExtension.includes(extension)) {\r\n type = 1\r\n } else if (videoExtension.includes(extension)) {\r\n type = 2\r\n }\r\n return { ...item, type, uid: item.title + index }\r\n })\r\n return _arr\r\n },\r\n);\r\n\r\n\r\n(window as any).atlasDv = atlasDv;\r\n(window as any).atlas = atlas;\r\n(window as any).modelValue = props.modelValue;\r\n/***\r\n * 展示atlas表单\r\n */\r\nconst showAtlasFormHandle = () => {\r\n formVisible.value = true;\r\n atlasDv.addRecord({\r\n cmsArticlesId: props.articleId\r\n })\r\n}\r\n\r\n//重置atlas表单\r\nwatch(formVisible, (v) => {\r\n atlasDv.reset();\r\n})\r\n\r\n/**\r\n * 保存\r\n */\r\nconst saveAlatsHandle = async () => {\r\n if (atlasDv.data.uid) {\r\n const index = atlas.value.findIndex(item => item.uid == atlasDv.data.uid)\r\n atlas.value[index] = { ...atlas.value[index], ...atlasDv.data }\r\n } else {\r\n atlas.value.push(atlasDv.data)\r\n }\r\n\r\n emit(\"update:modelValue\", atlas.value)\r\n formVisible.value = false;\r\n}\r\n/**\r\n * 删除\r\n */\r\nconst deleteHandle = (index: number) => {\r\n atlas.value.splice(index, 1)\r\n emit(\"update:modelValue\", atlas.value)\r\n}\r\n\r\nconst editHandle = (item: any) => {\r\n atlasDv.addRecord(item)\r\n formVisible.value = true;\r\n}\r\n// 挂在完成之后\r\nonMounted(async () => {\r\n await atlasDv.init();\r\n})\r\n\r\n</script>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkEA,UAAM,QAAQ;AAId,UAAM,OAAO;AAEb,UAAM,UAAU,SAAS,IAAI,oBAAqB,CAAA;AAC5C,UAAA,cAAc,IAAI,KAAK;AAE7B,UAAM,eAAe,CAAC,QAAQ,QAAQ,QAAQ,SAAS,QAAQ,SAAS,QAAQ,SAAS,QAAQ,QAAQ,SAAS,MAAM;AAClH,UAAA,iBAAiB,CAAC,QAAQ,QAAQ,SAAS,QAAQ,QAAQ,QAAQ,QAAQ,SAAS,QAAQ,QAAQ,SAAS,QAAQ,SAAS,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,SAAS,UAAU,OAAO;AAItN,UAAM,QAAQ;AAAA,MACZ,MAAM;AACJ,cAAM,OAAO,MAAM,WAAW,IAAI,CAAC,MAAM,UAAU;AAC3C,gBAAA,YAAY,KAAK,KAAK,MAAM,KAAK,KAAK,YAAY,GAAG,CAAC;AAC5D,cAAI,OAAO;AACP,cAAA,aAAa,SAAS,SAAS,GAAG;AAC7B,mBAAA;AAAA,UACE,WAAA,eAAe,SAAS,SAAS,GAAG;AACtC,mBAAA;AAAA,UACT;AACA,iBAAO,EAAE,GAAG,MAAM,MAAM,KAAK,KAAK,QAAQ;QAAM,CACjD;AACM,eAAA;AAAA,MACT;AAAA,IAAA;AAID,WAAe,UAAU;AACzB,WAAe,QAAQ;AACvB,WAAe,aAAa,MAAM;AAInC,UAAM,sBAAsB,MAAM;AAChC,kBAAY,QAAQ;AACpB,cAAQ,UAAU;AAAA,QAChB,eAAe,MAAM;AAAA,MAAA,CACtB;AAAA,IAAA;AAIG,UAAA,aAAa,CAAC,MAAM;AACxB,cAAQ,MAAM;AAAA,IAAA,CACf;AAKD,UAAM,kBAAkB,YAAY;AAC9B,UAAA,QAAQ,KAAK,KAAK;AACd,cAAA,QAAQ,MAAM,MAAM,UAAU,UAAQ,KAAK,OAAO,QAAQ,KAAK,GAAG;AAClE,cAAA,MAAM,KAAK,IAAI,EAAE,GAAG,MAAM,MAAM,KAAK,GAAG,GAAG,QAAQ,KAAK;AAAA,MAAA,OACzD;AACC,cAAA,MAAM,KAAK,QAAQ,IAAI;AAAA,MAC/B;AAEK,WAAA,qBAAqB,MAAM,KAAK;AACrC,kBAAY,QAAQ;AAAA,IAAA;AAKhB,UAAA,eAAe,CAAC,UAAkB;AAChC,YAAA,MAAM,OAAO,OAAO,CAAC;AACtB,WAAA,qBAAqB,MAAM,KAAK;AAAA,IAAA;AAGjC,UAAA,aAAa,CAAC,SAAc;AAChC,cAAQ,UAAU,IAAI;AACtB,kBAAY,QAAQ;AAAA,IAAA;AAGtB,cAAU,YAAY;AACpB,YAAM,QAAQ;IAAK,CACpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"article-atlas.vue.js","sources":["../../../../../../../src/modules/cms/pages/cms-contents/components/article-atlas.vue"],"sourcesContent":["<template>\r\n <el-card class=\"cms-article-atlas\">\r\n <template #header>\r\n <div @click=\"showAtlasFormHandle()\" class=\"cms-article-atlas__header\">\r\n <span>\r\n <MKSvgIcon iconClass=\"Picture\" style=\"margin-right: 5px;\" />\r\n 文章媒体库\r\n </span>\r\n <MKSvgIcon class=\"cms-article-atlas__header__btn\" iconClass=\"Plus\" style=\"color: #409EFF;\" />\r\n </div>\r\n </template>\r\n <el-empty v-if=\"atlas.length <= 0\" description=\"暂无内容\" />\r\n <el-scrollbar class=\"cms-article-atlas__list\" v-else>\r\n <el-card class=\"cms-article-atlas__list__item\" v-for=\"(item, index) in atlas\" :key=\"item.id\">\r\n <el-image class=\"images\" :src=\"item.path\" v-if=\"item.type == 1\" 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=\"item.type == 2\" :src=\"item.path\" controls></video>\r\n <div class=\"cms-article-atlas__list__item__desc\">\r\n <div class=\"item-desc-left\">\r\n <div class=\"title ellipsis\">\r\n <MKSvgIcon class=\"icon\" v-if=\"item.type == 1\" iconClass=\"Picture\"></MKSvgIcon>\r\n <MKSvgIcon class=\"icon\" v-if=\"item.type == 2\" iconClass=\"VideoCamera\"></MKSvgIcon>\r\n <span :title=\"item.title\">{{ item.title }}</span>\r\n </div>\r\n <div class=\"external-links ellipsis\">\r\n <MKSvgIcon class=\"icon\" v-if=\"item.link\" iconClass=\"Link\"></MKSvgIcon>\r\n <a :href=\"item.link\" target=\"_blank\" :title=\"item.path\">{{ item.link }}</a>\r\n </div>\r\n </div>\r\n <el-dropdown trigger=\"click\" :teleported=\"false\" class=\"item-desc-right\">\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\" @click=\"editHandle(item)\">编辑</el-dropdown-item>\r\n <el-dropdown-item class=\"delete-button\" :icon=\"Delete\"\r\n @click=\"deleteHandle(index)\">删除</el-dropdown-item>\r\n </el-dropdown-menu>\r\n </template>\r\n </el-dropdown>\r\n </div>\r\n </el-card>\r\n <el-dialog v-model=\"formVisible\" append-to-body>\r\n <MKDataForm :dataForm=\"atlasDv\">\r\n <MKForm></MKForm>\r\n </MKDataForm>\r\n <template #footer>\r\n <el-button type=\"primary\" @click=\"saveAlatsHandle\">保存</el-button>\r\n <el-button @click=\"formVisible = false\"> 取消 </el-button>\r\n </template>\r\n </el-dialog>\r\n\r\n </el-scrollbar>\r\n </el-card>\r\n</template>\r\n<script setup lang='ts'>\r\nimport { onMounted, computed, ref, defineProps, watch, reactive } from \"vue\";\r\nimport { EditPen, ArrowDown, Delete } from \"@element-plus/icons-vue\"\r\nimport { CmsArticleAtlasForm } from \"../../../dataviews/cms-articles/cms-article-atlas\";\r\nimport { MKDataForm, MKForm } from \"../../../../../components\";\r\n\r\n// 参数\r\nconst props = defineProps({\r\n articleId: { type: Number, default: \"\" },\r\n modelValue: { type: Array<any>, default: () => [] },\r\n})\r\nconst emit = defineEmits([\"update:modelValue\"])\r\n//atlas表单\r\nconst atlasDv = reactive(new CmsArticleAtlasForm()) as CmsArticleAtlasForm;\r\nconst formVisible = ref(false);\r\n\r\nconst imgExtension = [\".jpg\", \".png\", \".gif\", \".jpeg\", \".bmp\", \".webp\", \".svg\", \".tiff\", \".tif\", \".ico\", \".jfif\", \".jpe\"]\r\nconst videoExtension = [\".mp4\", \".avi\", \".rmvb\", \".flv\", \".mkv\", \".wmv\", \".mov\", \".webm\", \".m4v\", \".mpg\", \".mpeg\", \".mts\", \".m2ts\", \".m2v\", \".mpe\", \".mpv\", \".vob\", \".ogv\", \".3gp\", \".3g2\", \".3gpp\", \".3gpp2\", \".3gp2\"]\r\n\r\n\r\n//图集数据\r\nconst atlas = computed(\r\n () => {\r\n const _arr = props.modelValue.map((item, index) => {\r\n const extension = item.path.slice(item.path.lastIndexOf(\".\"))\r\n let type = 0;\r\n if (imgExtension.includes(extension)) {\r\n type = 1\r\n } else if (videoExtension.includes(extension)) {\r\n type = 2\r\n }\r\n return { ...item, type, uid: item.title + index }\r\n })\r\n return _arr\r\n },\r\n);\r\n\r\n\r\n(window as any).atlasDv = atlasDv;\r\n(window as any).atlas = atlas;\r\n(window as any).modelValue = props.modelValue;\r\n/***\r\n * 展示atlas表单\r\n */\r\nconst showAtlasFormHandle = () => {\r\n formVisible.value = true;\r\n atlasDv.addRecord({\r\n cmsArticlesId: props.articleId\r\n })\r\n}\r\n\r\n//重置atlas表单\r\nwatch(formVisible, (v) => {\r\n atlasDv.reset();\r\n})\r\n\r\n/**\r\n * 保存\r\n */\r\nconst saveAlatsHandle = async () => {\r\n if (atlasDv.data.uid) {\r\n const index = atlas.value.findIndex(item => item.uid == atlasDv.data.uid)\r\n atlas.value[index] = { ...atlas.value[index], ...atlasDv.data }\r\n } else {\r\n atlas.value.push(atlasDv.data)\r\n }\r\n\r\n emit(\"update:modelValue\", atlas.value)\r\n formVisible.value = false;\r\n}\r\n/**\r\n * 删除\r\n */\r\nconst deleteHandle = (index: number) => {\r\n atlas.value.splice(index, 1)\r\n emit(\"update:modelValue\", atlas.value)\r\n}\r\n\r\nconst editHandle = (item: any) => {\r\n atlasDv.addRecord(item)\r\n formVisible.value = true;\r\n}\r\n// 挂在完成之后\r\nonMounted(async () => {\r\n await atlasDv.init();\r\n})\r\n\r\n</script>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkEA,UAAM,QAAQ;AAId,UAAM,OAAO;AAEb,UAAM,UAAU,SAAS,IAAI,oBAAqB,CAAA;AAC5C,UAAA,cAAc,IAAI,KAAK;AAE7B,UAAM,eAAe,CAAC,QAAQ,QAAQ,QAAQ,SAAS,QAAQ,SAAS,QAAQ,SAAS,QAAQ,QAAQ,SAAS,MAAM;AAClH,UAAA,iBAAiB,CAAC,QAAQ,QAAQ,SAAS,QAAQ,QAAQ,QAAQ,QAAQ,SAAS,QAAQ,QAAQ,SAAS,QAAQ,SAAS,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,QAAQ,SAAS,UAAU,OAAO;AAItN,UAAM,QAAQ;AAAA,MACZ,MAAM;AACJ,cAAM,OAAO,MAAM,WAAW,IAAI,CAAC,MAAM,UAAU;AAC3C,gBAAA,YAAY,KAAK,KAAK,MAAM,KAAK,KAAK,YAAY,GAAG,CAAC;AAC5D,cAAI,OAAO;AACP,cAAA,aAAa,SAAS,SAAS,GAAG;AAC7B,mBAAA;AAAA,UACE,WAAA,eAAe,SAAS,SAAS,GAAG;AACtC,mBAAA;AAAA,UACT;AACA,iBAAO,EAAE,GAAG,MAAM,MAAM,KAAK,KAAK,QAAQ;QAAM,CACjD;AACM,eAAA;AAAA,MACT;AAAA,IAAA;AAID,WAAe,UAAU;AACzB,WAAe,QAAQ;AACvB,WAAe,aAAa,MAAM;AAInC,UAAM,sBAAsB,MAAM;AAChC,kBAAY,QAAQ;AACpB,cAAQ,UAAU;AAAA,QAChB,eAAe,MAAM;AAAA,MAAA,CACtB;AAAA,IAAA;AAIG,UAAA,aAAa,CAAC,MAAM;AACxB,cAAQ,MAAM;AAAA,IAAA,CACf;AAKD,UAAM,kBAAkB,YAAY;AAC9B,UAAA,QAAQ,KAAK,KAAK;AACd,cAAA,QAAQ,MAAM,MAAM,UAAU,UAAQ,KAAK,OAAO,QAAQ,KAAK,GAAG;AAClE,cAAA,MAAM,KAAK,IAAI,EAAE,GAAG,MAAM,MAAM,KAAK,GAAG,GAAG,QAAQ,KAAK;AAAA,MAAA,OACzD;AACC,cAAA,MAAM,KAAK,QAAQ,IAAI;AAAA,MAC/B;AAEK,WAAA,qBAAqB,MAAM,KAAK;AACrC,kBAAY,QAAQ;AAAA,IAAA;AAKhB,UAAA,eAAe,CAAC,UAAkB;AAChC,YAAA,MAAM,OAAO,OAAO,CAAC;AACtB,WAAA,qBAAqB,MAAM,KAAK;AAAA,IAAA;AAGjC,UAAA,aAAa,CAAC,SAAc;AAChC,cAAQ,UAAU,IAAI;AACtB,kBAAY,QAAQ;AAAA,IAAA;AAGtB,cAAU,YAAY;AACpB,YAAM,QAAQ;IAAK,CACpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -20,6 +20,8 @@ import "@maketribe/utils";
20
20
  import "../../../../../components/basic/upload-file/context/web-file-upload-context.js";
21
21
  import "../../../../../components/basic/upload-file/context/web-file-upload-context-options.js";
22
22
  import "../../../../../components/basic/upload-file/ui/upload-image/index.js";
23
+ import "../../../../../components/basic/upload-file/ui/upload-file/index.js";
24
+ import "../../../../../components/basic/upload-file/ui/upload-video/index.js";
23
25
  import "../../../../../components/basic/upload-file/upload-file-options.js";
24
26
  import "../../../../../components/basic/doc-editor/index.js";
25
27
  import "../../../../../components/basic/copy-container/index.js";
@@ -47,9 +49,9 @@ import "../../../../ms/dataviews/log/local-log/LocalLogTree.js";
47
49
  import "../../../../ms/components/material-list/index.js";
48
50
  import "../../../../ms/components/markdown-editor/index.js";
49
51
  import "../../../../ms/components/rich-text-editor/index.js";
52
+ import "@element-plus/icons-vue";
50
53
  import "../../../../ms/material-upload-context/material-upload-context-options.js";
51
54
  import "../../../../ms/material-upload-context/material-upload-context.js";
52
- import "@element-plus/icons-vue";
53
55
  import { CmsArticlesTable } from "../../../dataviews/cms-articles/CmsArticlesTable.js";
54
56
  import { CmsArticlesForm } from "../../../dataviews/cms-articles/CmsArticlesForm.js";
55
57
  import "@codemirror/lang-html";
@@ -1 +1 @@
1
- {"version":3,"file":"article-list.vue.js","sources":["../../../../../../../src/modules/cms/pages/cms-contents/components/article-list.vue"],"sourcesContent":["<template>\r\n <MKDataTable :data-table=\"articlesDv\" :auto-load=\"false\" class=\"mk-cms-article-list\">\r\n <el-empty v-if=\"part && part.cmsPartTypeId == 1\" description=\"外链栏目下无文章内容\" />\r\n <MKTableView v-else-if=\"part\" :data-table=\"articlesDv\">\r\n <el-scrollbar class=\"mk-cms-article-list__content\" style=\"box-sizing: border-box;font-size: 0;\"\r\n v-if=\"articlesDv.getList().length > 0\">\r\n <el-card class=\"mk-cms-article-list__item\" v-for=\"article in articlesDv.getList()\" :key=\"article.id\">\r\n <div class=\"mk-cms-article-list__item__content\">\r\n <div class=\"left\">\r\n <el-image class=\"cover-image\" :src=\"article.cover\" fit=\"contain\">\r\n <template #error>\r\n <MKSvgIcon iconClass=\"Picture\" />\r\n </template>\r\n </el-image>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"title\" :title=\"article.title\"> {{ article.title }}</div>\r\n <div class=\"sub-title\" v-if=\"article.subTitle\" :title=\"article.subTitle\"> {{ article.subTitle }}</div>\r\n <div class=\"desc\">\r\n {{ article.desc }}\r\n </div>\r\n <div class=\"footer\">\r\n <div class=\"ext\">\r\n <div class=\"author\">\r\n <MKSvgIcon iconClass=\"UserFilled\"></MKSvgIcon> \r\n 作者 : {{ article.author || \"-\" }}\r\n </div>\r\n <div class=\"publish-time\">\r\n <MKSvgIcon iconClass=\"Timer\"></MKSvgIcon> \r\n 发布时间 : {{ article.publishTime }}\r\n </div>\r\n </div>\r\n <div class=\"tools\">\r\n <el-button type=\"primary\" size=\"large\" @click=\"editArticleHandle(article)\" text>\r\n 编辑\r\n </el-button>\r\n <el-button type=\"danger\" size=\"large\" @click=\"deleteArticleHandle(article)\" text>\r\n 删除\r\n </el-button>\r\n <a v-if=\"CmsSettings.publish.mode == 'static' && article.url\" :href=\"article.url\" target=\"_blank\">\r\n <el-button type=\"primary\" size=\"large\" text>访问</el-button>\r\n </a>\r\n <a :href=\"'/api/cms/content/preview/content/' + article.cmsPartId + '/' + article.id\" v-if=\"CmsSettings.publish.mode == 'static'\" target=\"_blank\">\r\n <el-button type=\"primary\" size=\"large\" text>预览</el-button>\r\n </a>\r\n <el-button type=\"primary\" size=\"large\" text @click=\"publishArticleHandle(article)\">\r\n 发布\r\n </el-button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </el-card>\r\n </el-scrollbar>\r\n <el-empty v-if=\"articlesDv.getList().length <= 0\" description=\"暂无文章内容\" />\r\n </MKTableView>\r\n </MKDataTable>\r\n</template>\r\n<script setup lang='ts'>\r\nimport { MKTableView } from \"../../../../../components\"\r\nimport { CmsArticlesTable,CmsArticlesForm } from \"../../../dataviews\"\r\nimport { reactive, defineProps, watch,onMounted } from \"vue\";\r\nimport { Dialoger, isWhereFilter, Messager } from '@maketribe/dm'\r\nimport { useRouter } from \"vue-router\";\r\nimport { useCmsSettings } from \"../../../cms-settings\"\r\n// cms 配置\r\nconst CmsSettings = useCmsSettings();\r\n\r\n// 文章\r\nconst articlesDv = reactive(new CmsArticlesTable()) as CmsArticlesTable;\r\n// 发布文章表单\r\nconst articleForm = reactive(new CmsArticlesForm()) as CmsArticlesForm;\r\n// 草稿文章\r\nconst draftArticleForm = reactive(new CmsArticlesForm()) as CmsArticlesForm;\r\n\r\n// 参数\r\nconst props = defineProps({\r\n part: { type: Object, default: null }\r\n})\r\n\r\nconst router = useRouter();\r\n\r\n// 初始化\r\nonMounted(()=>{\r\n articleForm.init();\r\n draftArticleForm.init();\r\n\r\n // 监听栏目数据变化\r\n watch(() => props.part, (item: any) => {\r\n if (item.cmsPartTypeId != 1) {\r\n\r\n const dataFilter = articlesDv.dataFilter;\r\n\r\n if (isWhereFilter(dataFilter)) {\r\n\r\n const defaultGroup = dataFilter.getDefaultGroup();\r\n\r\n defaultGroup.clear();\r\n defaultGroup.addCondition(\"cmsPartId\", \"=\", item.id);\r\n // 只查草稿\r\n defaultGroup.addCondition(\"isDraft\", \"=\", 1);\r\n }\r\n\r\n articlesDv.load()\r\n }\r\n }, { immediate: true })\r\n})\r\n\r\n/**\r\n * 删除文章\r\n */\r\nconst deleteArticleHandle = async (item: any) => {\r\n const isConfirm = await Dialoger.confirm({\r\n title: \"删除文章?\",\r\n message: \"是否删除文章?\",\r\n type: \"warning\"\r\n })\r\n\r\n if (!isConfirm) { return; }\r\n await articlesDv.deleteAfterRefresh(item.id);\r\n}\r\n\r\n/**\r\n * 编辑文章\r\n */\r\nconst editArticleHandle = (item: any, isEdit = false) => {\r\n router.push({ path: \"/cms/article\", query: { id: isEdit ? undefined : item.id, partId: isEdit ? item.id : undefined } })\r\n}\r\n\r\n// 添加记录\r\narticlesDv.addRecordEvent.on(() => editArticleHandle(props.part, true))\r\n\r\n/**\r\n * fault文章\r\n * @param article \r\n */\r\nconst publishArticleHandle = async (article: any) => {\r\n\r\n try {\r\n\r\n if (await Dialoger.confirm({ title: \"文章发布\", message: \"是否发布文章?\", type: \"warning\" })) {\r\n\r\n articlesDv.getLoadingManager().startLoading();\r\n\r\n // 调用发布接口\r\n const response:any = await CmsArticlesForm.publish(CmsSettings.publish.mode,article.cmsPartId,article.id);\r\n\r\n if (response.data.code !== 200) {\r\n Messager.error({ message: response.data.msg });\r\n return;\r\n }\r\n\r\n Messager.success({ message: \"发布成功\" });\r\n }\r\n\r\n } finally {\r\n articlesDv.getLoadingManager().completeLoading();\r\n }\r\n}\r\n\r\n\r\n</script>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkEA,UAAM,cAAc;AAGpB,UAAM,aAAa,SAAS,IAAI,iBAAkB,CAAA;AAElD,UAAM,cAAc,SAAS,IAAI,gBAAiB,CAAA;AAElD,UAAM,mBAAmB,SAAS,IAAI,gBAAiB,CAAA;AAGvD,UAAM,QAAQ;AAId,UAAM,SAAS;AAGf,cAAU,MAAI;AACZ,kBAAY,KAAK;AACjB,uBAAiB,KAAK;AAGtB,YAAM,MAAM,MAAM,MAAM,CAAC,SAAc;AACjC,YAAA,KAAK,iBAAiB,GAAG;AAE3B,gBAAM,aAAa,WAAW;AAE1B,cAAA,cAAc,UAAU,GAAG;AAEvB,kBAAA,eAAe,WAAW;AAEhC,yBAAa,MAAM;AACnB,yBAAa,aAAa,aAAa,KAAK,KAAK,EAAE;AAEtC,yBAAA,aAAa,WAAW,KAAK,CAAC;AAAA,UAC7C;AAEA,qBAAW,KAAK;AAAA,QAClB;AAAA,MAAA,GACC,EAAE,WAAW,KAAA,CAAM;AAAA,IAAA,CACvB;AAKK,UAAA,sBAAsB,OAAO,SAAc;AACzC,YAAA,YAAY,MAAM,SAAS,QAAQ;AAAA,QACvC,OAAO;AAAA,QACP,SAAS;AAAA,QACT,MAAM;AAAA,MAAA,CACP;AAED,UAAI,CAAC,WAAW;AAAE;AAAA,MAAQ;AACpB,YAAA,WAAW,mBAAmB,KAAK,EAAE;AAAA,IAAA;AAM7C,UAAM,oBAAoB,CAAC,MAAW,SAAS,UAAU;AACvD,aAAO,KAAK,EAAE,MAAM,gBAAgB,OAAO,EAAE,IAAI,SAAS,SAAY,KAAK,IAAI,QAAQ,SAAS,KAAK,KAAK,UAAa;AAAA,IAAA;AAIzH,eAAW,eAAe,GAAG,MAAO,kBAAkB,MAAM,MAAM,IAAI,CAAC;AAMjE,UAAA,uBAAuB,OAAO,YAAiB;AAE/C,UAAA;AAEE,YAAA,MAAM,SAAS,QAAQ,EAAE,OAAO,QAAQ,SAAS,WAAW,MAAM,UAAU,CAAC,GAAG;AAEvE,qBAAA,oBAAoB;AAGzB,gBAAA,WAAe,MAAM,gBAAgB,QAAQ,YAAY,QAAQ,MAAK,QAAQ,WAAU,QAAQ,EAAE;AAEpG,cAAA,SAAS,KAAK,SAAS,KAAK;AAC9B,qBAAS,MAAM,EAAE,SAAS,SAAS,KAAK,KAAK;AAC7C;AAAA,UACF;AAEA,mBAAS,QAAQ,EAAE,SAAS,OAAQ,CAAA;AAAA,QACtC;AAAA,MAAA,UAEA;AACW,mBAAA,oBAAoB;MACjC;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"article-list.vue.js","sources":["../../../../../../../src/modules/cms/pages/cms-contents/components/article-list.vue"],"sourcesContent":["<template>\r\n <MKDataTable :data-table=\"articlesDv\" :auto-load=\"false\" class=\"mk-cms-article-list\">\r\n <el-empty v-if=\"part && part.cmsPartTypeId == 1\" description=\"外链栏目下无文章内容\" />\r\n <MKTableView v-else-if=\"part\" :data-table=\"articlesDv\">\r\n <el-scrollbar class=\"mk-cms-article-list__content\" style=\"box-sizing: border-box;font-size: 0;\"\r\n v-if=\"articlesDv.getList().length > 0\">\r\n <el-card class=\"mk-cms-article-list__item\" v-for=\"article in articlesDv.getList()\" :key=\"article.id\">\r\n <div class=\"mk-cms-article-list__item__content\">\r\n <div class=\"left\">\r\n <el-image class=\"cover-image\" :src=\"article.cover\" fit=\"contain\">\r\n <template #error>\r\n <MKSvgIcon iconClass=\"Picture\" />\r\n </template>\r\n </el-image>\r\n </div>\r\n <div class=\"right\">\r\n <div class=\"title\" :title=\"article.title\"> {{ article.title }}</div>\r\n <div class=\"sub-title\" v-if=\"article.subTitle\" :title=\"article.subTitle\"> {{ article.subTitle }}</div>\r\n <div class=\"desc\">\r\n {{ article.desc }}\r\n </div>\r\n <div class=\"footer\">\r\n <div class=\"ext\">\r\n <div class=\"author\">\r\n <MKSvgIcon iconClass=\"UserFilled\"></MKSvgIcon> \r\n 作者 : {{ article.author || \"-\" }}\r\n </div>\r\n <div class=\"publish-time\">\r\n <MKSvgIcon iconClass=\"Timer\"></MKSvgIcon> \r\n 发布时间 : {{ article.publishTime }}\r\n </div>\r\n </div>\r\n <div class=\"tools\">\r\n <el-button type=\"primary\" size=\"large\" @click=\"editArticleHandle(article)\" text>\r\n 编辑\r\n </el-button>\r\n <el-button type=\"danger\" size=\"large\" @click=\"deleteArticleHandle(article)\" text>\r\n 删除\r\n </el-button>\r\n <a v-if=\"CmsSettings.publish.mode == 'static' && article.url\" :href=\"article.url\" target=\"_blank\">\r\n <el-button type=\"primary\" size=\"large\" text>访问</el-button>\r\n </a>\r\n <a :href=\"'/api/cms/content/preview/content/' + article.cmsPartId + '/' + article.id\" v-if=\"CmsSettings.publish.mode == 'static'\" target=\"_blank\">\r\n <el-button type=\"primary\" size=\"large\" text>预览</el-button>\r\n </a>\r\n <el-button type=\"primary\" size=\"large\" text @click=\"publishArticleHandle(article)\">\r\n 发布\r\n </el-button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </el-card>\r\n </el-scrollbar>\r\n <el-empty v-if=\"articlesDv.getList().length <= 0\" description=\"暂无文章内容\" />\r\n </MKTableView>\r\n </MKDataTable>\r\n</template>\r\n<script setup lang='ts'>\r\nimport { MKTableView } from \"../../../../../components\"\r\nimport { CmsArticlesTable,CmsArticlesForm } from \"../../../dataviews\"\r\nimport { reactive, defineProps, watch,onMounted } from \"vue\";\r\nimport { Dialoger, isWhereFilter, Messager } from '@maketribe/dm'\r\nimport { useRouter } from \"vue-router\";\r\nimport { useCmsSettings } from \"../../../cms-settings\"\r\n// cms 配置\r\nconst CmsSettings = useCmsSettings();\r\n\r\n// 文章\r\nconst articlesDv = reactive(new CmsArticlesTable()) as CmsArticlesTable;\r\n// 发布文章表单\r\nconst articleForm = reactive(new CmsArticlesForm()) as CmsArticlesForm;\r\n// 草稿文章\r\nconst draftArticleForm = reactive(new CmsArticlesForm()) as CmsArticlesForm;\r\n\r\n// 参数\r\nconst props = defineProps({\r\n part: { type: Object, default: null }\r\n})\r\n\r\nconst router = useRouter();\r\n\r\n// 初始化\r\nonMounted(()=>{\r\n articleForm.init();\r\n draftArticleForm.init();\r\n\r\n // 监听栏目数据变化\r\n watch(() => props.part, (item: any) => {\r\n if (item.cmsPartTypeId != 1) {\r\n\r\n const dataFilter = articlesDv.dataFilter;\r\n\r\n if (isWhereFilter(dataFilter)) {\r\n\r\n const defaultGroup = dataFilter.getDefaultGroup();\r\n\r\n defaultGroup.clear();\r\n defaultGroup.addCondition(\"cmsPartId\", \"=\", item.id);\r\n // 只查草稿\r\n defaultGroup.addCondition(\"isDraft\", \"=\", 1);\r\n }\r\n\r\n articlesDv.load()\r\n }\r\n }, { immediate: true })\r\n})\r\n\r\n/**\r\n * 删除文章\r\n */\r\nconst deleteArticleHandle = async (item: any) => {\r\n const isConfirm = await Dialoger.confirm({\r\n title: \"删除文章?\",\r\n message: \"是否删除文章?\",\r\n type: \"warning\"\r\n })\r\n\r\n if (!isConfirm) { return; }\r\n await articlesDv.deleteAfterRefresh(item.id);\r\n}\r\n\r\n/**\r\n * 编辑文章\r\n */\r\nconst editArticleHandle = (item: any, isEdit = false) => {\r\n router.push({ path: \"/cms/article\", query: { id: isEdit ? undefined : item.id, partId: isEdit ? item.id : undefined } })\r\n}\r\n\r\n// 添加记录\r\narticlesDv.addRecordEvent.on(() => editArticleHandle(props.part, true))\r\n\r\n/**\r\n * fault文章\r\n * @param article \r\n */\r\nconst publishArticleHandle = async (article: any) => {\r\n\r\n try {\r\n\r\n if (await Dialoger.confirm({ title: \"文章发布\", message: \"是否发布文章?\", type: \"warning\" })) {\r\n\r\n articlesDv.getLoadingManager().startLoading();\r\n\r\n // 调用发布接口\r\n const response:any = await CmsArticlesForm.publish(CmsSettings.publish.mode,article.cmsPartId,article.id);\r\n\r\n if (response.data.code !== 200) {\r\n Messager.error({ message: response.data.msg });\r\n return;\r\n }\r\n\r\n Messager.success({ message: \"发布成功\" });\r\n }\r\n\r\n } finally {\r\n articlesDv.getLoadingManager().completeLoading();\r\n }\r\n}\r\n\r\n\r\n</script>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkEA,UAAM,cAAc;AAGpB,UAAM,aAAa,SAAS,IAAI,iBAAkB,CAAA;AAElD,UAAM,cAAc,SAAS,IAAI,gBAAiB,CAAA;AAElD,UAAM,mBAAmB,SAAS,IAAI,gBAAiB,CAAA;AAGvD,UAAM,QAAQ;AAId,UAAM,SAAS;AAGf,cAAU,MAAI;AACZ,kBAAY,KAAK;AACjB,uBAAiB,KAAK;AAGtB,YAAM,MAAM,MAAM,MAAM,CAAC,SAAc;AACjC,YAAA,KAAK,iBAAiB,GAAG;AAE3B,gBAAM,aAAa,WAAW;AAE1B,cAAA,cAAc,UAAU,GAAG;AAEvB,kBAAA,eAAe,WAAW;AAEhC,yBAAa,MAAM;AACnB,yBAAa,aAAa,aAAa,KAAK,KAAK,EAAE;AAEtC,yBAAA,aAAa,WAAW,KAAK,CAAC;AAAA,UAC7C;AAEA,qBAAW,KAAK;AAAA,QAClB;AAAA,MAAA,GACC,EAAE,WAAW,KAAA,CAAM;AAAA,IAAA,CACvB;AAKK,UAAA,sBAAsB,OAAO,SAAc;AACzC,YAAA,YAAY,MAAM,SAAS,QAAQ;AAAA,QACvC,OAAO;AAAA,QACP,SAAS;AAAA,QACT,MAAM;AAAA,MAAA,CACP;AAED,UAAI,CAAC,WAAW;AAAE;AAAA,MAAQ;AACpB,YAAA,WAAW,mBAAmB,KAAK,EAAE;AAAA,IAAA;AAM7C,UAAM,oBAAoB,CAAC,MAAW,SAAS,UAAU;AACvD,aAAO,KAAK,EAAE,MAAM,gBAAgB,OAAO,EAAE,IAAI,SAAS,SAAY,KAAK,IAAI,QAAQ,SAAS,KAAK,KAAK,UAAa;AAAA,IAAA;AAIzH,eAAW,eAAe,GAAG,MAAO,kBAAkB,MAAM,MAAM,IAAI,CAAC;AAMjE,UAAA,uBAAuB,OAAO,YAAiB;AAE/C,UAAA;AAEE,YAAA,MAAM,SAAS,QAAQ,EAAE,OAAO,QAAQ,SAAS,WAAW,MAAM,UAAU,CAAC,GAAG;AAEvE,qBAAA,oBAAoB;AAGzB,gBAAA,WAAe,MAAM,gBAAgB,QAAQ,YAAY,QAAQ,MAAK,QAAQ,WAAU,QAAQ,EAAE;AAEpG,cAAA,SAAS,KAAK,SAAS,KAAK;AAC9B,qBAAS,MAAM,EAAE,SAAS,SAAS,KAAK,KAAK;AAC7C;AAAA,UACF;AAEA,mBAAS,QAAQ,EAAE,SAAS,OAAQ,CAAA;AAAA,QACtC;AAAA,MAAA,UAEA;AACW,mBAAA,oBAAoB;MACjC;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -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";
@@ -31,6 +32,8 @@ import "../../../../../components/basic/upload-file/upload-file.js";
31
32
  import "../../../../../components/basic/upload-file/context/web-file-upload-context.js";
32
33
  import "../../../../../components/basic/upload-file/context/web-file-upload-context-options.js";
33
34
  import "../../../../../components/basic/upload-file/ui/upload-image/index.js";
35
+ import "../../../../../components/basic/upload-file/ui/upload-file/index.js";
36
+ import "../../../../../components/basic/upload-file/ui/upload-video/index.js";
34
37
  import "../../../../../components/basic/upload-file/upload-file-options.js";
35
38
  import "../../../../../components/basic/doc-editor/index.js";
36
39
  import "../../../../../components/basic/copy-container/index.js";
@@ -49,9 +52,9 @@ import "../../../../ms/dataviews/log/local-log/LocalLogTree.js";
49
52
  import "../../../../ms/components/material-list/index.js";
50
53
  import "../../../../ms/components/markdown-editor/index.js";
51
54
  import "../../../../ms/components/rich-text-editor/index.js";
55
+ import { EditPen, Plus } from "@element-plus/icons-vue";
52
56
  import "../../../../ms/material-upload-context/material-upload-context-options.js";
53
57
  import "../../../../ms/material-upload-context/material-upload-context.js";
54
- import { EditPen, Plus } from "@element-plus/icons-vue";
55
58
  import "@codemirror/lang-html";
56
59
  const _hoisted_1 = {
57
60
  key: 0,
@@ -79,13 +82,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
79
82
  const props = __props;
80
83
  const partAdBanner = ref(null);
81
84
  const loading = ref(true);
82
- const adContentForm = reactive(new CmsAdContentsForm());
85
+ const adContentForm = reactive(new CmsAdContentsForm({ cutSise: cmsSettings.part.bannerImageSize }));
86
+ const adDefineForm = reactive(new CmsAdDefinesForm());
83
87
  adContentForm.beforeSubmitEvent.on(async ({ data }) => {
84
88
  if (partAdBanner.value) {
85
89
  data.adDefineId = partAdBanner.value.id;
86
90
  } else {
87
91
  try {
88
- 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] });
89
94
  if (result.data.code == 200) {
90
95
  partAdBanner.value = { id: result.data.data };
91
96
  data.adDefineId = result.data.data;
@@ -98,6 +103,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
98
103
  adContentForm.submittedEvent.on(() => {
99
104
  loadPartAdDefineData(props.partId);
100
105
  });
106
+ adDefineForm.submittedEvent.on(() => {
107
+ loadPartAdDefineData(props.partId);
108
+ });
101
109
  const loadPartAdDefineData = async (partId) => {
102
110
  try {
103
111
  loading.value = true;
@@ -110,18 +118,30 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
110
118
  condition: where
111
119
  }
112
120
  })).data.data[0];
121
+ if (partAdBanner.value.width && partAdBanner.value.width) {
122
+ adContentForm.changeCutSise(`${partAdBanner.value.width}*${partAdBanner.value.height}`);
123
+ }
113
124
  } catch (e) {
114
125
  console.error(e);
115
126
  } finally {
116
127
  loading.value = false;
117
128
  }
118
129
  };
119
- const showAdDefineHandle = (id) => {
120
- Dialoger.dataFormDialog({
130
+ const showAdContentHandle = async (id) => {
131
+ await Dialoger.dataFormDialog({
121
132
  dataForm: adContentForm,
122
133
  recId: id
123
134
  });
124
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
+ };
125
145
  onMounted(() => {
126
146
  watch(() => props.partId, (id) => {
127
147
  loadPartAdDefineData(id);
@@ -177,24 +197,35 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
177
197
  ]),
178
198
  createElementVNode("div", _hoisted_8, [
179
199
  createVNode(_component_el_button, {
180
- text: "",
200
+ type: "primary",
181
201
  style: { "margin-left": "10px" },
182
202
  icon: unref(EditPen),
183
- onClick: ($event) => showAdDefineHandle(item.id)
203
+ onClick: ($event) => showAdContentHandle(item.id)
184
204
  }, {
185
205
  default: withCtx(() => [
186
- createTextVNode(" 编辑 ")
206
+ createTextVNode(" 编辑当前轮播项 ")
187
207
  ]),
188
208
  _: 2
189
209
  }, 1032, ["icon", "onClick"]),
190
210
  createVNode(_component_el_button, {
191
- text: "",
211
+ type: "primary",
192
212
  style: { "margin-left": "10px" },
193
213
  icon: unref(Plus),
194
- onClick: _cache[0] || (_cache[0] = ($event) => showAdDefineHandle(null))
214
+ onClick: _cache[0] || (_cache[0] = ($event) => showAdContentHandle(null))
215
+ }, {
216
+ default: withCtx(() => [
217
+ createTextVNode(" 添加新轮播项 ")
218
+ ]),
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())
195
226
  }, {
196
227
  default: withCtx(() => [
197
- createTextVNode(" 添加 ")
228
+ createTextVNode(" 编辑banner比例 ")
198
229
  ]),
199
230
  _: 1
200
231
  }, 8, ["icon"])
@@ -224,7 +255,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
224
255
  text: "",
225
256
  style: { "margin-left": "10px" },
226
257
  icon: unref(Plus),
227
- onClick: _cache[1] || (_cache[1] = ($event) => showAdDefineHandle(null))
258
+ onClick: _cache[2] || (_cache[2] = ($event) => showAdContentHandle(null))
228
259
  }, {
229
260
  default: withCtx(() => [
230
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 text style=\"margin-left: 10px;\" :icon=\"EditPen\" @click=\"showAdDefineHandle(item.id)\">\r\n 编辑\r\n </el-button>\r\n <el-button text 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())\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 DataForm,\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;AACxB,UAAM,gBAAgB,SAA4B,IAAI,kBAAmB,CAAA;AAEzE,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -20,6 +20,8 @@ import "@maketribe/utils";
20
20
  import "../../../../../components/basic/upload-file/context/web-file-upload-context.js";
21
21
  import "../../../../../components/basic/upload-file/context/web-file-upload-context-options.js";
22
22
  import "../../../../../components/basic/upload-file/ui/upload-image/index.js";
23
+ import "../../../../../components/basic/upload-file/ui/upload-file/index.js";
24
+ import "../../../../../components/basic/upload-file/ui/upload-video/index.js";
23
25
  import "../../../../../components/basic/upload-file/upload-file-options.js";
24
26
  import "../../../../../components/basic/doc-editor/index.js";
25
27
  import "../../../../../components/basic/copy-container/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"part-info.vue.js","sources":["../../../../../../../src/modules/cms/pages/cms-contents/components/part-info.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-part-info\">\r\n <MKDataForm :dataForm=\"partDataForm\" style=\"height: 100%;\">\r\n <MKForm :dataForm=\"partDataForm\">\r\n <div class=\"mk-cms-part-info__body__form\">\r\n <div class=\"mk-cms-part-info__body__form-options\">\r\n <ElScrollbar>\r\n <MKDataFormItem name=\"cmsPartTypeId\" v-if=\"hideHandle('cmsPartTypeId')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"parentId\" v-if=\"hideHandle('parentId')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"cmsCoverArticleId\" v-if=\"hideHandle('cmsCoverArticleId')\">\r\n </MKDataFormItem>\r\n <MKDataFormItem name=\"title\" v-if=\"hideHandle('title')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"name\" v-if=\"hideHandle('name')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"externalLink\" v-if=\"hideHandle('externalLink')\">\r\n </MKDataFormItem>\r\n <el-row :gutter=\"22\" justify=\"space-between\">\r\n <el-col :span=\"10\" v-if=\"hideHandle('isShowMenu')\">\r\n <MKDataFormItem name=\"isShowMenu\"></MKDataFormItem>\r\n </el-col>\r\n <el-col :span=\"10\" v-if=\"hideHandle('isHome')\">\r\n <MKDataFormItem name=\"isHome\"></MKDataFormItem>\r\n </el-col>\r\n </el-row>\r\n <template v-if=\"CmsSettings.publish.mode == 'static'\">\r\n <el-divider content-position=\"left\" v-if=\"hideHandle('coverRouter')\">路由配置</el-divider>\r\n <MKDataFormItem name=\"coverRouter\" v-if=\"hideHandle('coverRouter')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"listRouter\" v-if=\"hideHandle('listRouter')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"contentRouter\" v-if=\"hideHandle('contentRouter')\"></MKDataFormItem>\r\n <el-divider content-position=\"left\" v-if=\"hideHandle('coverTemplate')\">模版配置</el-divider>\r\n <MKDataFormItem name=\"coverTemplate\" v-if=\"hideHandle('coverTemplate')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"listTemplate\" v-if=\"hideHandle('listTemplate')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"contentTemplate\" v-if=\"hideHandle('contentTemplate')\">\r\n </MKDataFormItem>\r\n <el-divider content-position=\"left\" v-if=\"hideHandle('seoKeywords')\">SEO</el-divider>\r\n <MKDataFormItem name=\"seoKeywords\" v-if=\"hideHandle('seoKeywords')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"seoDesc\" v-if=\"hideHandle('seoDesc')\"></MKDataFormItem>\r\n </template>\r\n <el-divider content-position=\"left\">其他配置</el-divider>\r\n <MKDataFormItem name=\"sortNo\"></MKDataFormItem>\r\n </ElScrollbar>\r\n </div>\r\n </div>\r\n </MKForm>\r\n </MKDataForm>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { MKDataForm, MKForm, MKDataFormItem } from \"../../../../../components\";\r\nimport { CmsPartForm } from \"../../../dataviews/cms-parts/CmsPartForm\";\r\nimport { computed, reactive, Ref, watch } from \"vue\";\r\nimport { useCmsSettings } from \"../../../cms-settings\"\r\n// cms 配置\r\nconst CmsSettings = useCmsSettings();\r\nconst props = defineProps({\r\n part: {\r\n type: Object,\r\n default: () => {\r\n return {}\r\n }\r\n },\r\n partDataForm: {\r\n type: CmsPartForm,\r\n default: () => {\r\n return new CmsPartForm()\r\n }\r\n }\r\n})\r\n\r\n//监听保存成功事件\r\nprops.partDataForm.submittedEvent.on(() => {\r\n props.partDataForm.editRecord(props.part.id)\r\n})\r\n\r\n/**\r\n * 需要隐藏的行\r\n */\r\nconst hideHandle = (name: string) => {\r\n if (props.partDataForm.data.cmsPartTypeId == 1 && CmsPartForm.outerChainHideColumn.includes(name)) {\r\n return false;\r\n } \r\n else if (props.partDataForm.data.cmsPartTypeId == 2 && CmsPartForm.contentHideColumn.includes(name)) {\r\n return false;\r\n } \r\n else if (props.partDataForm.data.cmsPartTypeId == 3 && CmsPartForm.menuHideColumn.includes(name)) {\r\n props.partDataForm.data.isShowMenu = 1;\r\n return false;\r\n } \r\n else {\r\n return true;\r\n }\r\n}\r\n\r\n\r\n</script>\r\n<style lang='scss'></style>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA,UAAM,cAAc;AACpB,UAAM,QAAQ;AAgBR,UAAA,aAAa,eAAe,GAAG,MAAM;AACvC,YAAM,aAAa,WAAW,MAAM,KAAK,EAAE;AAAA,IAAA,CAC9C;AAKK,UAAA,aAAa,CAAC,SAAiB;AAC7B,UAAA,MAAM,aAAa,KAAK,iBAAiB,KAAK,YAAY,qBAAqB,SAAS,IAAI,GAAG;AACxF,eAAA;AAAA,MACX,WACS,MAAM,aAAa,KAAK,iBAAiB,KAAK,YAAY,kBAAkB,SAAS,IAAI,GAAG;AAC1F,eAAA;AAAA,MACX,WACS,MAAM,aAAa,KAAK,iBAAiB,KAAK,YAAY,eAAe,SAAS,IAAI,GAAG;AACxF,cAAA,aAAa,KAAK,aAAa;AAC9B,eAAA;AAAA,MAAA,OAEN;AACM,eAAA;AAAA,MACX;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"part-info.vue.js","sources":["../../../../../../../src/modules/cms/pages/cms-contents/components/part-info.vue"],"sourcesContent":["<template>\r\n <div class=\"mk-cms-part-info\">\r\n <MKDataForm :dataForm=\"partDataForm\" style=\"height: 100%;\">\r\n <MKForm :dataForm=\"partDataForm\">\r\n <div class=\"mk-cms-part-info__body__form\">\r\n <div class=\"mk-cms-part-info__body__form-options\">\r\n <ElScrollbar>\r\n <MKDataFormItem name=\"cmsPartTypeId\" v-if=\"hideHandle('cmsPartTypeId')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"parentId\" v-if=\"hideHandle('parentId')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"cmsCoverArticleId\" v-if=\"hideHandle('cmsCoverArticleId')\">\r\n </MKDataFormItem>\r\n <MKDataFormItem name=\"title\" v-if=\"hideHandle('title')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"name\" v-if=\"hideHandle('name')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"externalLink\" v-if=\"hideHandle('externalLink')\">\r\n </MKDataFormItem>\r\n <el-row :gutter=\"22\" justify=\"space-between\">\r\n <el-col :span=\"10\" v-if=\"hideHandle('isShowMenu')\">\r\n <MKDataFormItem name=\"isShowMenu\"></MKDataFormItem>\r\n </el-col>\r\n <el-col :span=\"10\" v-if=\"hideHandle('isHome')\">\r\n <MKDataFormItem name=\"isHome\"></MKDataFormItem>\r\n </el-col>\r\n </el-row>\r\n <template v-if=\"CmsSettings.publish.mode == 'static'\">\r\n <el-divider content-position=\"left\" v-if=\"hideHandle('coverRouter')\">路由配置</el-divider>\r\n <MKDataFormItem name=\"coverRouter\" v-if=\"hideHandle('coverRouter')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"listRouter\" v-if=\"hideHandle('listRouter')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"contentRouter\" v-if=\"hideHandle('contentRouter')\"></MKDataFormItem>\r\n <el-divider content-position=\"left\" v-if=\"hideHandle('coverTemplate')\">模版配置</el-divider>\r\n <MKDataFormItem name=\"coverTemplate\" v-if=\"hideHandle('coverTemplate')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"listTemplate\" v-if=\"hideHandle('listTemplate')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"contentTemplate\" v-if=\"hideHandle('contentTemplate')\">\r\n </MKDataFormItem>\r\n <el-divider content-position=\"left\" v-if=\"hideHandle('seoKeywords')\">SEO</el-divider>\r\n <MKDataFormItem name=\"seoKeywords\" v-if=\"hideHandle('seoKeywords')\"></MKDataFormItem>\r\n <MKDataFormItem name=\"seoDesc\" v-if=\"hideHandle('seoDesc')\"></MKDataFormItem>\r\n </template>\r\n <el-divider content-position=\"left\">其他配置</el-divider>\r\n <MKDataFormItem name=\"sortNo\"></MKDataFormItem>\r\n </ElScrollbar>\r\n </div>\r\n </div>\r\n </MKForm>\r\n </MKDataForm>\r\n </div>\r\n</template>\r\n<script setup lang=\"ts\">\r\nimport { MKDataForm, MKForm, MKDataFormItem } from \"../../../../../components\";\r\nimport { CmsPartForm } from \"../../../dataviews/cms-parts/CmsPartForm\";\r\nimport { computed, reactive, Ref, watch } from \"vue\";\r\nimport { useCmsSettings } from \"../../../cms-settings\"\r\n// cms 配置\r\nconst CmsSettings = useCmsSettings();\r\nconst props = defineProps({\r\n part: {\r\n type: Object,\r\n default: () => {\r\n return {}\r\n }\r\n },\r\n partDataForm: {\r\n type: CmsPartForm,\r\n default: () => {\r\n return new CmsPartForm()\r\n }\r\n }\r\n})\r\n\r\n//监听保存成功事件\r\nprops.partDataForm.submittedEvent.on(() => {\r\n props.partDataForm.editRecord(props.part.id)\r\n})\r\n\r\n/**\r\n * 需要隐藏的行\r\n */\r\nconst hideHandle = (name: string) => {\r\n if (props.partDataForm.data.cmsPartTypeId == 1 && CmsPartForm.outerChainHideColumn.includes(name)) {\r\n return false;\r\n } \r\n else if (props.partDataForm.data.cmsPartTypeId == 2 && CmsPartForm.contentHideColumn.includes(name)) {\r\n return false;\r\n } \r\n else if (props.partDataForm.data.cmsPartTypeId == 3 && CmsPartForm.menuHideColumn.includes(name)) {\r\n props.partDataForm.data.isShowMenu = 1;\r\n return false;\r\n } \r\n else {\r\n return true;\r\n }\r\n}\r\n\r\n\r\n</script>\r\n<style lang='scss'></style>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoDA,UAAM,cAAc;AACpB,UAAM,QAAQ;AAgBR,UAAA,aAAa,eAAe,GAAG,MAAM;AACvC,YAAM,aAAa,WAAW,MAAM,KAAK,EAAE;AAAA,IAAA,CAC9C;AAKK,UAAA,aAAa,CAAC,SAAiB;AAC7B,UAAA,MAAM,aAAa,KAAK,iBAAiB,KAAK,YAAY,qBAAqB,SAAS,IAAI,GAAG;AACxF,eAAA;AAAA,MACX,WACS,MAAM,aAAa,KAAK,iBAAiB,KAAK,YAAY,kBAAkB,SAAS,IAAI,GAAG;AAC1F,eAAA;AAAA,MACX,WACS,MAAM,aAAa,KAAK,iBAAiB,KAAK,YAAY,eAAe,SAAS,IAAI,GAAG;AACxF,cAAA,aAAa,KAAK,aAAa;AAC9B,eAAA;AAAA,MAAA,OAEN;AACM,eAAA;AAAA,MACX;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -24,6 +24,8 @@ import "@maketribe/utils";
24
24
  import "../../../../components/basic/upload-file/context/web-file-upload-context.js";
25
25
  import "../../../../components/basic/upload-file/context/web-file-upload-context-options.js";
26
26
  import "../../../../components/basic/upload-file/ui/upload-image/index.js";
27
+ import "../../../../components/basic/upload-file/ui/upload-file/index.js";
28
+ import "../../../../components/basic/upload-file/ui/upload-video/index.js";
27
29
  import "../../../../components/basic/upload-file/upload-file-options.js";
28
30
  import { MKDocEditor } from "../../../../components/basic/doc-editor/index.js";
29
31
  import "../../../../components/basic/copy-container/index.js";