@maketribe/ms-app 3.2.16 → 3.2.18

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 (168) hide show
  1. package/dist/cjs/components/basic/data-table-select/data-table-select.js +3 -0
  2. package/dist/cjs/components/basic/data-table-select/data-table-select.js.map +1 -1
  3. package/dist/cjs/components/basic/doc-editor/editor.vue.js +16 -3
  4. package/dist/cjs/components/basic/doc-editor/editor.vue.js.map +1 -1
  5. package/dist/cjs/components/business/resource-manager/resource-manager.vue.js +51 -32
  6. package/dist/cjs/components/business/resource-manager/resource-manager.vue.js.map +1 -1
  7. package/dist/cjs/components/business/verify-dialog/index.js +4 -5
  8. package/dist/cjs/components/business/verify-dialog/index.js.map +1 -1
  9. package/dist/cjs/components/business/verify-dialog/verify-dialog-api.js +28 -0
  10. package/dist/cjs/components/business/verify-dialog/verify-dialog-api.js.map +1 -0
  11. package/dist/cjs/components/business/verify-dialog/verify-dialog-option.js +0 -4
  12. package/dist/cjs/components/business/verify-dialog/verify-dialog-option.js.map +1 -1
  13. package/dist/cjs/components/business/verify-dialog/{verify-dialog.js → verify-panel.js} +46 -55
  14. package/dist/cjs/components/business/verify-dialog/verify-panel.js.map +1 -0
  15. package/dist/cjs/components/data-model/data-form/components/form-detail/form-detail.js +5 -3
  16. package/dist/cjs/components/data-model/data-form/components/form-detail/form-detail.js.map +1 -1
  17. package/dist/cjs/components/data-model/data-form/views/form/form.js +1 -0
  18. package/dist/cjs/components/data-model/data-form/views/form/form.js.map +1 -1
  19. package/dist/cjs/index.js +1 -1
  20. package/dist/cjs/installer.js +28 -19
  21. package/dist/cjs/installer.js.map +1 -1
  22. package/dist/cjs/layouts/components/bar/index.js +4 -4
  23. package/dist/cjs/layouts/components/header/tools.js +15 -24
  24. package/dist/cjs/layouts/components/header/tools.js.map +1 -1
  25. package/dist/cjs/layouts/components/menu/menu-item.js +5 -5
  26. package/dist/cjs/layouts/container/default.js +6 -6
  27. package/dist/cjs/layouts/container/default.js.map +1 -1
  28. package/dist/cjs/message-impl/DialogerImpl.js +4 -2
  29. package/dist/cjs/message-impl/DialogerImpl.js.map +1 -1
  30. package/dist/cjs/modules/cms/components/part-tree/index.vue.js +2 -2
  31. package/dist/cjs/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +1 -1
  32. package/dist/cjs/modules/cms/dataviews/cms-articles/CmsArticlesForm.js +1 -1
  33. package/dist/cjs/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js +1 -1
  34. package/dist/cjs/modules/cms/dataviews/cms-parts/CmsContentManPartForm.js +1 -0
  35. package/dist/cjs/modules/cms/dataviews/cms-parts/CmsContentManPartForm.js.map +1 -1
  36. package/dist/cjs/modules/cms/dataviews/cms-parts/CmsPartForm.js.map +1 -1
  37. package/dist/cjs/modules/cms/pages/cms-ad/index.vue2.js +1 -1
  38. package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +9 -7
  39. package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
  40. package/dist/cjs/modules/cms/pages/cms-contents/components/article-atlas.vue.js +4 -1
  41. package/dist/cjs/modules/cms/pages/cms-contents/components/article-atlas.vue.js.map +1 -1
  42. package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js +4 -4
  43. package/dist/cjs/modules/cms/pages/cms-contents/components/part-info.vue.js +5 -2
  44. package/dist/cjs/modules/cms/pages/cms-contents/components/part-info.vue.js.map +1 -1
  45. package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js +5 -5
  46. package/dist/cjs/modules/cms/pages/cms-resource/index.vue2.js +9 -6
  47. package/dist/cjs/modules/cms/pages/cms-resource/index.vue2.js.map +1 -1
  48. package/dist/cjs/modules/ms/components/material-list/material-list-options.js +1 -1
  49. package/dist/cjs/modules/ms/components/material-list/material-list.js +1 -1
  50. package/dist/cjs/modules/ms/components/material-select/material-select-api.js +1 -1
  51. package/dist/cjs/modules/ms/dataviews/log/local-log/LocalLogTree.js +29 -38
  52. package/dist/cjs/modules/ms/dataviews/log/local-log/LocalLogTree.js.map +1 -1
  53. package/dist/cjs/modules/ms/dataviews/ms-config/MsConfigTable.js +1 -1
  54. package/dist/cjs/modules/ms/dataviews/ms-config/MsConfigTable.js.map +1 -1
  55. package/dist/cjs/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js +5 -2
  56. package/dist/cjs/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js.map +1 -1
  57. package/dist/cjs/modules/ms/pages/icons/index.vue2.js +5 -2
  58. package/dist/cjs/modules/ms/pages/icons/index.vue2.js.map +1 -1
  59. package/dist/cjs/modules/ms/pages/local-log/index.vue2.js +1 -1
  60. package/dist/cjs/modules/ms/pages/ms-material/index.vue2.js +5 -5
  61. package/dist/cjs/modules/ms/pages/ms-menu/index.vue2.js +2 -2
  62. package/dist/cjs/modules/ms/pages/ms-role/components/aside.vue.js +4 -4
  63. package/dist/cjs/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config-options.js +1 -1
  64. package/dist/cjs/modules/ms/pages/ms-role/index.vue2.js +4 -4
  65. package/dist/cjs/page/index/dv/default/edit.vue2.js +1 -1
  66. package/dist/cjs/page/index/dv/default/single/list/dialog.vue2.js +4 -4
  67. package/dist/cjs/page/index/dv/default/single/list/normal.vue2.js +4 -4
  68. package/dist/cjs/page/index/dv/default/single/table-tree/dialog.vue2.js +2 -2
  69. package/dist/cjs/page/index/dv/default/single/table-tree/normal.vue2.js +2 -2
  70. package/dist/cjs/page/index/dv/default/single/tree/dialog.vue2.js +4 -4
  71. package/dist/cjs/page/index/dv/default/table.vue2.js +1 -1
  72. package/dist/cjs/page/login/index.vue2.js +123 -140
  73. package/dist/cjs/page/login/index.vue2.js.map +1 -1
  74. package/dist/cjs/page/signup/index.vue2.js +112 -139
  75. package/dist/cjs/page/signup/index.vue2.js.map +1 -1
  76. package/dist/esm/components/basic/data-table-select/data-table-select.js +3 -0
  77. package/dist/esm/components/basic/data-table-select/data-table-select.js.map +1 -1
  78. package/dist/esm/components/basic/doc-editor/editor.vue.js +16 -3
  79. package/dist/esm/components/basic/doc-editor/editor.vue.js.map +1 -1
  80. package/dist/esm/components/business/resource-manager/resource-manager.vue.js +52 -33
  81. package/dist/esm/components/business/resource-manager/resource-manager.vue.js.map +1 -1
  82. package/dist/esm/components/business/verify-dialog/index.js +4 -5
  83. package/dist/esm/components/business/verify-dialog/index.js.map +1 -1
  84. package/dist/esm/components/business/verify-dialog/verify-dialog-api.js +29 -0
  85. package/dist/esm/components/business/verify-dialog/verify-dialog-api.js.map +1 -0
  86. package/dist/esm/components/business/verify-dialog/verify-dialog-option.js +0 -4
  87. package/dist/esm/components/business/verify-dialog/verify-dialog-option.js.map +1 -1
  88. package/dist/esm/components/business/verify-dialog/{verify-dialog.js → verify-panel.js} +47 -56
  89. package/dist/esm/components/business/verify-dialog/verify-panel.js.map +1 -0
  90. package/dist/esm/components/data-model/data-form/components/form-detail/form-detail.js +5 -3
  91. package/dist/esm/components/data-model/data-form/components/form-detail/form-detail.js.map +1 -1
  92. package/dist/esm/components/data-model/data-form/views/form/form.js +1 -0
  93. package/dist/esm/components/data-model/data-form/views/form/form.js.map +1 -1
  94. package/dist/esm/index.js +2 -2
  95. package/dist/esm/installer.js +12 -3
  96. package/dist/esm/installer.js.map +1 -1
  97. package/dist/esm/layouts/components/bar/index.js +4 -4
  98. package/dist/esm/layouts/components/header/tools.js +11 -20
  99. package/dist/esm/layouts/components/header/tools.js.map +1 -1
  100. package/dist/esm/layouts/components/menu/menu-item.js +5 -5
  101. package/dist/esm/layouts/container/default.js +6 -6
  102. package/dist/esm/layouts/container/default.js.map +1 -1
  103. package/dist/esm/message-impl/DialogerImpl.js +4 -2
  104. package/dist/esm/message-impl/DialogerImpl.js.map +1 -1
  105. package/dist/esm/modules/cms/components/part-tree/index.vue.js +2 -2
  106. package/dist/esm/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +1 -1
  107. package/dist/esm/modules/cms/dataviews/cms-articles/CmsArticlesForm.js +1 -1
  108. package/dist/esm/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js +1 -1
  109. package/dist/esm/modules/cms/dataviews/cms-parts/CmsContentManPartForm.js +2 -1
  110. package/dist/esm/modules/cms/dataviews/cms-parts/CmsContentManPartForm.js.map +1 -1
  111. package/dist/esm/modules/cms/dataviews/cms-parts/CmsPartForm.js.map +1 -1
  112. package/dist/esm/modules/cms/pages/cms-ad/index.vue2.js +1 -1
  113. package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +9 -7
  114. package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
  115. package/dist/esm/modules/cms/pages/cms-contents/components/article-atlas.vue.js +4 -1
  116. package/dist/esm/modules/cms/pages/cms-contents/components/article-atlas.vue.js.map +1 -1
  117. package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js +4 -4
  118. package/dist/esm/modules/cms/pages/cms-contents/components/part-info.vue.js +5 -2
  119. package/dist/esm/modules/cms/pages/cms-contents/components/part-info.vue.js.map +1 -1
  120. package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js +5 -5
  121. package/dist/esm/modules/cms/pages/cms-resource/index.vue2.js +9 -6
  122. package/dist/esm/modules/cms/pages/cms-resource/index.vue2.js.map +1 -1
  123. package/dist/esm/modules/ms/components/material-list/material-list-options.js +1 -1
  124. package/dist/esm/modules/ms/components/material-list/material-list.js +1 -1
  125. package/dist/esm/modules/ms/components/material-select/material-select-api.js +1 -1
  126. package/dist/esm/modules/ms/dataviews/log/local-log/LocalLogTree.js +30 -39
  127. package/dist/esm/modules/ms/dataviews/log/local-log/LocalLogTree.js.map +1 -1
  128. package/dist/esm/modules/ms/dataviews/ms-config/MsConfigTable.js +1 -1
  129. package/dist/esm/modules/ms/dataviews/ms-config/MsConfigTable.js.map +1 -1
  130. package/dist/esm/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js +5 -2
  131. package/dist/esm/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js.map +1 -1
  132. package/dist/esm/modules/ms/pages/icons/index.vue2.js +5 -2
  133. package/dist/esm/modules/ms/pages/icons/index.vue2.js.map +1 -1
  134. package/dist/esm/modules/ms/pages/local-log/index.vue2.js +1 -1
  135. package/dist/esm/modules/ms/pages/ms-material/index.vue2.js +5 -5
  136. package/dist/esm/modules/ms/pages/ms-menu/index.vue2.js +2 -2
  137. package/dist/esm/modules/ms/pages/ms-role/components/aside.vue.js +4 -4
  138. package/dist/esm/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config-options.js +1 -1
  139. package/dist/esm/modules/ms/pages/ms-role/index.vue2.js +4 -4
  140. package/dist/esm/page/index/dv/default/edit.vue2.js +1 -1
  141. package/dist/esm/page/index/dv/default/single/list/dialog.vue2.js +4 -4
  142. package/dist/esm/page/index/dv/default/single/list/normal.vue2.js +4 -4
  143. package/dist/esm/page/index/dv/default/single/table-tree/dialog.vue2.js +2 -2
  144. package/dist/esm/page/index/dv/default/single/table-tree/normal.vue2.js +2 -2
  145. package/dist/esm/page/index/dv/default/single/tree/dialog.vue2.js +4 -4
  146. package/dist/esm/page/index/dv/default/table.vue2.js +1 -1
  147. package/dist/esm/page/login/index.vue2.js +125 -142
  148. package/dist/esm/page/login/index.vue2.js.map +1 -1
  149. package/dist/esm/page/signup/index.vue2.js +114 -141
  150. package/dist/esm/page/signup/index.vue2.js.map +1 -1
  151. package/dist/style/index.css +1 -1
  152. package/dist/style/modules/cms/index.css +1 -1
  153. package/dist/style/modules/cms/pages/cms-contents/index.css +1 -1
  154. package/dist/style/modules/cms/resource-manager.css +1 -1
  155. package/dist/style/src/modules/cms/pages/cms-contents/index.scss +1 -1
  156. package/dist/style/src/modules/cms/resource-manager.scss +0 -6
  157. package/dist/types/components/basic/doc-editor/editor.vue.d.ts +18 -0
  158. package/dist/types/components/basic/doc-editor/index.d.ts +38 -0
  159. package/dist/types/components/business/resource-manager/index.d.ts +25 -3
  160. package/dist/types/components/business/resource-manager/resource-manager.vue.d.ts +11 -1
  161. package/dist/types/components/business/verify-dialog/index.d.ts +3 -38
  162. package/dist/types/components/business/verify-dialog/verify-dialog-api.d.ts +7 -0
  163. package/dist/types/components/business/verify-dialog/verify-dialog-option.d.ts +0 -6
  164. package/dist/types/components/business/verify-dialog/{verify-dialog.d.ts → verify-panel.d.ts} +0 -12
  165. package/dist/types/modules/ms/dataviews/log/local-log/LocalLogTree.d.ts +1 -2
  166. package/package.json +4 -4
  167. package/dist/cjs/components/business/verify-dialog/verify-dialog.js.map +0 -1
  168. package/dist/esm/components/business/verify-dialog/verify-dialog.js.map +0 -1
@@ -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=\"null\"\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 { 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 formInitDataInfo();\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 formInitDataInfo();\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 formInitDataInfo();\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 formInitDataInfo();\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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"}
@@ -30,7 +30,10 @@ import "../../../../../components/basic/image-cropper/index.js";
30
30
  import { MKDataForm } from "../../../../../components/data-model/data-form/index.js";
31
31
  import "../../../../../components/data-model/data-table/index.js";
32
32
  import "../../../../../components/data-model/data-table-pagination/index.js";
33
- import "../../../../../components/business/verify-dialog/index.js";
33
+ import "vue-router";
34
+ import "@maketribe/locale";
35
+ import "../../../../../core/DataModelDefines.js";
36
+ import "../../../../../components/business/verify-dialog/verify-dialog-option.js";
34
37
  import "../../../../../components/business/resource-list/index.js";
35
38
  import "../../../../../components/business/resource-manager/index.js";
36
39
  import { MKForm } from "../../../../../components/data-model/data-form/views/form/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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -27,13 +27,13 @@ import "../../../../../components/basic/image-cropper/index.js";
27
27
  import "../../../../../components/data-model/data-form/index.js";
28
28
  import "../../../../../components/data-model/data-table/index.js";
29
29
  import "../../../../../components/data-model/data-table-pagination/index.js";
30
- import "../../../../../components/business/verify-dialog/index.js";
31
- import "../../../../../components/business/resource-list/index.js";
32
- import "../../../../../components/business/resource-manager/index.js";
33
30
  import { isWhereFilter, Dialoger, Messager } from "@maketribe/dm";
34
- import "../../../../../core/DataModelDefines.js";
35
31
  import { useRouter } from "vue-router";
36
32
  import "@maketribe/locale";
33
+ import "../../../../../core/DataModelDefines.js";
34
+ import "../../../../../components/business/verify-dialog/verify-dialog-option.js";
35
+ import "../../../../../components/business/resource-list/index.js";
36
+ import "../../../../../components/business/resource-manager/index.js";
37
37
  import "../../../../ms/dataviews/ms-config/MsConfigTable.js";
38
38
  import "lodash-es";
39
39
  import "../../../../ms/dataviews/department/DepartmentForm.js";
@@ -27,10 +27,13 @@ import "../../../../../components/basic/image-cropper/index.js";
27
27
  import { MKDataForm } from "../../../../../components/data-model/data-form/index.js";
28
28
  import "../../../../../components/data-model/data-table/index.js";
29
29
  import "../../../../../components/data-model/data-table-pagination/index.js";
30
- import "../../../../../components/business/verify-dialog/index.js";
30
+ import "@maketribe/dm";
31
+ import "vue-router";
32
+ import "@maketribe/locale";
33
+ import "../../../../../core/DataModelDefines.js";
34
+ import "../../../../../components/business/verify-dialog/verify-dialog-option.js";
31
35
  import "../../../../../components/business/resource-list/index.js";
32
36
  import "../../../../../components/business/resource-manager/index.js";
33
- import "@maketribe/dm";
34
37
  import { CmsPartForm } from "../../../dataviews/cms-parts/CmsPartForm.js";
35
38
  import { useCmsSettings } from "../../../cms-settings.js";
36
39
  import { MKDataFormItem } from "../../../../../components/data-model/data-form/data-form-item/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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -30,14 +30,14 @@ import "../../../../components/basic/image-cropper/index.js";
30
30
  import "../../../../components/data-model/data-form/index.js";
31
31
  import "../../../../components/data-model/data-table/index.js";
32
32
  import "../../../../components/data-model/data-table-pagination/index.js";
33
- import "../../../../components/business/verify-dialog/index.js";
34
- import "../../../../components/business/resource-list/index.js";
35
- import "../../../../components/business/resource-manager/index.js";
36
33
  import { Dialoger } from "@maketribe/dm";
37
- import { CmsPartForm } from "../../dataviews/cms-parts/CmsPartForm.js";
38
- import "../../../../core/DataModelDefines.js";
39
34
  import { useRoute, useRouter } from "vue-router";
40
35
  import "@maketribe/locale";
36
+ import "../../../../core/DataModelDefines.js";
37
+ import "../../../../components/business/verify-dialog/verify-dialog-option.js";
38
+ import "../../../../components/business/resource-list/index.js";
39
+ import "../../../../components/business/resource-manager/index.js";
40
+ import { CmsPartForm } from "../../dataviews/cms-parts/CmsPartForm.js";
41
41
  import { CmsContentManPartForm } from "../../dataviews/cms-parts/CmsContentManPartForm.js";
42
42
  import { CmsPartMiniForm } from "../../dataviews/cms-parts/CmsPartMiniForm.js";
43
43
  import { usePartExtension } from "../../composables/part-extensions.js";
@@ -27,14 +27,14 @@ import "../../../../components/basic/image-cropper/index.js";
27
27
  import "../../../../components/data-model/data-form/index.js";
28
28
  import "../../../../components/data-model/data-table/index.js";
29
29
  import "../../../../components/data-model/data-table-pagination/index.js";
30
- import "../../../../components/business/verify-dialog/index.js";
31
- import "../../../../components/business/resource-list/index.js";
32
- import { MKResourceManager } from "../../../../components/business/resource-manager/index.js";
33
30
  import "@maketribe/dm";
34
- import { CmsPartForm } from "../../dataviews/cms-parts/CmsPartForm.js";
35
- import "../../../../core/DataModelDefines.js";
36
31
  import "vue-router";
37
32
  import "@maketribe/locale";
33
+ import "../../../../core/DataModelDefines.js";
34
+ import "../../../../components/business/verify-dialog/verify-dialog-option.js";
35
+ import "../../../../components/business/resource-list/index.js";
36
+ import { MKResourceManager } from "../../../../components/business/resource-manager/index.js";
37
+ import { CmsPartForm } from "../../dataviews/cms-parts/CmsPartForm.js";
38
38
  import { ResourceManager } from "../../../../components/business/resource-list/ResourceManager.js";
39
39
  const _sfc_main = /* @__PURE__ */ defineComponent({
40
40
  __name: "index",
@@ -60,7 +60,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
60
60
  const _component_ElButton = resolveComponent("ElButton");
61
61
  return openBlock(), createBlock(unref(MKPageContainer), null, {
62
62
  default: withCtx(() => [
63
- createVNode(unref(MKResourceManager), { resourceManager }, {
63
+ createVNode(unref(MKResourceManager), {
64
+ title: "模版资产管理",
65
+ resourceManager
66
+ }, {
64
67
  tools: withCtx(() => [
65
68
  createVNode(_component_ElButton, {
66
69
  type: "primary",
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-resource/index.vue"],"sourcesContent":["<template>\r\n <MKPageContainer>\r\n <MKResourceManager :resourceManager=\"resourceManager\">\r\n <template #tools>\r\n <ElButton type=\"primary\" @click=\"publishAssetsHandle\">发布资产</ElButton>\r\n <ElButton type=\"primary\" @click=\"publishAllHandle\">全站发布</ElButton>\r\n </template>\r\n </MKResourceManager>\r\n </MKPageContainer>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { reactive } from \"vue\";\r\nimport { MSAppClient } from \"../../../../core\";\r\nimport { MKPageContainer } from \"../../../../components\";\r\nimport { MKResourceManager, ResourceManager } from \"../../../../components\";\r\nimport { Dialoger, Messager } from \"@maketribe/dm\";\r\nimport { CmsPartForm } from \"../../dataviews/cms-parts\";\r\n\r\n// 创建cms模版资源管理器\r\nconst resourceManager = reactive(new ResourceManager({ baseURL: \"/cms/template/resource\" })) as ResourceManager;\r\n\r\n// 资源发布\r\nconst publishAssetsHandle = async () => {\r\n\r\n try {\r\n \r\n resourceManager.loadingManager.startLoading();\r\n \r\n CmsPartForm.publishAssets();\r\n\r\n } \r\n finally {\r\n resourceManager.loadingManager.completeLoading();\r\n }\r\n}\r\n//全站发布\r\n// 整站发布\r\nconst publishAllHandle = async () => {\r\n\r\n \r\n\r\n try {\r\n\r\n resourceManager.loadingManager.startLoading();\r\n\r\n await CmsPartForm.publishAll()\r\n\r\n\r\n } finally {\r\n resourceManager.loadingManager.completeLoading();\r\n }\r\n}\r\n</script>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBM,UAAA,kBAAkB,SAAS,IAAI,gBAAgB,EAAE,SAAS,yBAA0B,CAAA,CAAC;AAG3F,UAAM,sBAAsB,YAAY;AAElC,UAAA;AAEJ,wBAAgB,eAAe;AAE/B,oBAAY,cAAc;AAAA,MAAA,UAG1B;AACE,wBAAgB,eAAe;MACjC;AAAA,IAAA;AAIF,UAAM,mBAAmB,YAAY;AAI/B,UAAA;AAEF,wBAAgB,eAAe;AAE/B,cAAM,YAAY;MAAW,UAG7B;AACA,wBAAgB,eAAe;MACjC;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/cms/pages/cms-resource/index.vue"],"sourcesContent":["<template>\r\n <MKPageContainer>\r\n <MKResourceManager title=\"模版资产管理\" :resourceManager=\"resourceManager\">\r\n <template #tools>\r\n <ElButton type=\"primary\" @click=\"publishAssetsHandle\">发布资产</ElButton>\r\n <ElButton type=\"primary\" @click=\"publishAllHandle\">全站发布</ElButton>\r\n </template>\r\n </MKResourceManager>\r\n </MKPageContainer>\r\n</template>\r\n\r\n<script setup lang=\"ts\">\r\nimport { reactive } from \"vue\";\r\nimport { MKPageContainer } from \"../../../../components\";\r\nimport { MKResourceManager, ResourceManager } from \"../../../../components\";\r\nimport { CmsPartForm } from \"../../dataviews/cms-parts\";\r\n\r\n// 创建cms模版资源管理器\r\nconst resourceManager = reactive(new ResourceManager({ baseURL: \"/cms/template/resource\" })) as ResourceManager;\r\n\r\n// 资源发布\r\nconst publishAssetsHandle = async () => {\r\n\r\n try {\r\n resourceManager.loadingManager.startLoading();\r\n CmsPartForm.publishAssets();\r\n } \r\n finally {\r\n resourceManager.loadingManager.completeLoading();\r\n }\r\n}\r\n//全站发布\r\n// 整站发布\r\nconst publishAllHandle = async () => {\r\n\r\n \r\n\r\n try {\r\n\r\n resourceManager.loadingManager.startLoading();\r\n\r\n await CmsPartForm.publishAll()\r\n\r\n\r\n } finally {\r\n resourceManager.loadingManager.completeLoading();\r\n }\r\n}\r\n</script>\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBM,UAAA,kBAAkB,SAAS,IAAI,gBAAgB,EAAE,SAAS,yBAA0B,CAAA,CAAC;AAG3F,UAAM,sBAAsB,YAAY;AAElC,UAAA;AACF,wBAAgB,eAAe;AAC/B,oBAAY,cAAc;AAAA,MAAA,UAE5B;AACE,wBAAgB,eAAe;MACjC;AAAA,IAAA;AAIF,UAAM,mBAAmB,YAAY;AAI/B,UAAA;AAEF,wBAAgB,eAAe;AAE/B,cAAM,YAAY;MAAW,UAG7B;AACA,wBAAgB,eAAe;MACjC;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -32,7 +32,7 @@ import "../../../../components/basic/upload-file/upload-file-options.js";
32
32
  import "../../../../components/basic/doc-editor/index.js";
33
33
  import "../../../../components/basic/copy-container/index.js";
34
34
  import "../../../../components/basic/image-cropper/index.js";
35
- import "../../../../components/business/verify-dialog/index.js";
35
+ import "../../../../components/business/verify-dialog/verify-dialog-option.js";
36
36
  import "../../../../components/business/resource-list/index.js";
37
37
  import "../../../../components/business/resource-manager/index.js";
38
38
  import "../../dataviews/ms-config/MsConfigTable.js";
@@ -36,7 +36,7 @@ import "../../../../components/basic/upload-file/upload-file-options.js";
36
36
  import "../../../../components/basic/doc-editor/index.js";
37
37
  import "../../../../components/basic/copy-container/index.js";
38
38
  import "../../../../components/basic/image-cropper/index.js";
39
- import "../../../../components/business/verify-dialog/index.js";
39
+ import "../../../../components/business/verify-dialog/verify-dialog-option.js";
40
40
  import "../../../../components/business/resource-list/index.js";
41
41
  import "../../../../components/business/resource-manager/index.js";
42
42
  import "../../dataviews/ms-config/MsConfigTable.js";
@@ -33,7 +33,7 @@ import "../../../../components/basic/upload-file/upload-file-options.js";
33
33
  import "../../../../components/basic/doc-editor/index.js";
34
34
  import "../../../../components/basic/copy-container/index.js";
35
35
  import "../../../../components/basic/image-cropper/index.js";
36
- import "../../../../components/business/verify-dialog/index.js";
36
+ import "../../../../components/business/verify-dialog/verify-dialog-option.js";
37
37
  import "../../../../components/business/resource-list/index.js";
38
38
  import "../../../../components/business/resource-manager/index.js";
39
39
  import "../../dataviews/ms-config/MsConfigTable.js";
@@ -1,5 +1,4 @@
1
- import { DataTree, DataTreeNode } from "@maketribe/dm";
2
- import { CancelToken } from "@maketribe/request";
1
+ import { DataTree } from "@maketribe/dm";
3
2
  import { defineDataTree } from "../../../../../define-data-tree.js";
4
3
  class LocalLogTree extends DataTree {
5
4
  constructor(options = { props: { label: "name" } }) {
@@ -7,44 +6,36 @@ class LocalLogTree extends DataTree {
7
6
  }
8
7
  async initialize() {
9
8
  await super.initialize();
10
- this.afterInitdEvent.once(() => {
11
- this.append(
12
- this.createDataTreeNode({
13
- name: "root",
14
- path: "/",
15
- isDirectory: true,
16
- children: []
17
- })
18
- );
19
- });
20
- }
21
- createDataTreeNode(data) {
22
- const dataTreeNode = new class extends DataTreeNode {
23
- get isLeaf() {
24
- var _a;
25
- return !(((_a = this.data) == null ? void 0 : _a.isDirectory) ?? false);
26
- }
27
- async loadRequest(params) {
28
- const response = await this.httpRequest.get("/ms/system/local-log-dir-root", {
29
- params: { ...params, path: this.data.path },
30
- cancelToken: new CancelToken((cancel) => {
31
- this.loadCancel = cancel;
32
- })
33
- });
34
- response.data.data = response.data.data.map((item) => ({
35
- name: item.name,
36
- path: item.path,
37
- isDirectory: item.isDirectory,
38
- children: []
39
- }));
40
- this.loadCancel = null;
41
- return response;
42
- }
43
- }({ name: this.name });
44
- dataTreeNode.setTree(this);
45
- dataTreeNode.setData(data);
46
- return dataTreeNode;
47
9
  }
10
+ // createDataTreeNode(data: LocalLog) {
11
+ // const dataTreeNode: DataTreeNode<LocalLog> =
12
+ // new (class extends DataTreeNode<LocalLog> {
13
+ // get isLeaf() {
14
+ // return !(this.data?.isDirectory ?? false);
15
+ // }
16
+ // protected async loadRequest(params: Record<string, any>) {
17
+ // const response = await this.httpRequest.get<
18
+ // R<LocalLog[]> & { totalRecCount: string }
19
+ // >("/ms/system/local-log-dir-root", {
20
+ // params: { ...params, path: this.data!.path },
21
+ // cancelToken: new CancelToken((cancel) => {
22
+ // this.loadCancel = cancel;
23
+ // }),
24
+ // });
25
+ // response.data.data = response.data.data.map((item) => ({
26
+ // name: item.name,
27
+ // path: item.path,
28
+ // isDirectory: item.isDirectory,
29
+ // children: [],
30
+ // })) as LocalLog[];
31
+ // this.loadCancel = null;
32
+ // return response;
33
+ // }
34
+ // })({ name: this.name });
35
+ // dataTreeNode.setTree(this);
36
+ // dataTreeNode.setData(data);
37
+ // return dataTreeNode;
38
+ // }
48
39
  formatItem(item) {
49
40
  return { ...item, children: [] };
50
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"LocalLogTree.js","sources":["../../../../../../../src/modules/ms/dataviews/log/local-log/LocalLogTree.ts"],"sourcesContent":["import { DataTree, DataTreeNode, DataTreeOptions } from \"@maketribe/dm\";\nimport { R, CancelToken } from \"@maketribe/request\";\nimport { defineDataTree } from \"../../../../../define-data-tree\";\nimport { Event } from \"@maketribe/utils\";\n\nexport type LocalLog = {\n name: string;\n path: string;\n isDirectory: boolean;\n children: LocalLog[];\n};\n\nexport class LocalLogTree extends DataTree<LocalLog> {\n constructor(options: DataTreeOptions = { props: { label: \"name\" } }) {\n super({ name: \"local-log\", props: { label: \"path\" }, ...options });\n }\n\n protected async initialize(): Promise<void> {\n await super.initialize();\n\n this.afterInitdEvent.once(() => {\n this.append(\n this.createDataTreeNode({\n name: \"root\",\n path: \"/\",\n isDirectory: true,\n children: [],\n })\n );\n });\n }\n\n createDataTreeNode(data: LocalLog) {\n const dataTreeNode: DataTreeNode<LocalLog> =\n new (class extends DataTreeNode<LocalLog> {\n get isLeaf() {\n return !(this.data?.isDirectory ?? false);\n }\n\n protected async loadRequest(params: Record<string, any>) {\n const response = await this.httpRequest.get<\n R<LocalLog[]> & { totalRecCount: string }\n >(\"/ms/system/local-log-dir-root\", {\n params: { ...params, path: this.data!.path },\n cancelToken: new CancelToken((cancel) => {\n this.loadCancel = cancel;\n }),\n });\n\n response.data.data = response.data.data.map((item) => ({\n name: item.name,\n path: item.path,\n isDirectory: item.isDirectory,\n children: [],\n })) as LocalLog[];\n\n this.loadCancel = null;\n\n return response;\n }\n })({ name: this.name });\n\n dataTreeNode.setTree(this);\n\n dataTreeNode.setData(data);\n\n return dataTreeNode;\n }\n\n formatItem(item: LocalLog): LocalLog {\n return { ...item, children: [] };\n }\n}\n\ndefineDataTree(LocalLogTree);\n"],"names":[],"mappings":";;;AAYO,MAAM,qBAAqB,SAAmB;AAAA,EACnD,YAAY,UAA2B,EAAE,OAAO,EAAE,OAAO,OAAA,KAAY;AAC7D,UAAA,EAAE,MAAM,aAAa,OAAO,EAAE,OAAO,OAAO,GAAG,GAAG,QAAA,CAAS;AAAA,EACnE;AAAA,EAEA,MAAgB,aAA4B;AAC1C,UAAM,MAAM;AAEP,SAAA,gBAAgB,KAAK,MAAM;AACzB,WAAA;AAAA,QACH,KAAK,mBAAmB;AAAA,UACtB,MAAM;AAAA,UACN,MAAM;AAAA,UACN,aAAa;AAAA,UACb,UAAU,CAAC;AAAA,QAAA,CACZ;AAAA,MAAA;AAAA,IACH,CACD;AAAA,EACH;AAAA,EAEA,mBAAmB,MAAgB;AAC3B,UAAA,eACJ,IAAK,cAAc,aAAuB;AAAA,MACxC,IAAI,SAAS;;AACJ,eAAA,IAAE,UAAK,SAAL,mBAAW,gBAAe;AAAA,MACrC;AAAA,MAEA,MAAgB,YAAY,QAA6B;AACvD,cAAM,WAAW,MAAM,KAAK,YAAY,IAEtC,iCAAiC;AAAA,UACjC,QAAQ,EAAE,GAAG,QAAQ,MAAM,KAAK,KAAM,KAAK;AAAA,UAC3C,aAAa,IAAI,YAAY,CAAC,WAAW;AACvC,iBAAK,aAAa;AAAA,UAAA,CACnB;AAAA,QAAA,CACF;AAED,iBAAS,KAAK,OAAO,SAAS,KAAK,KAAK,IAAI,CAAC,UAAU;AAAA,UACrD,MAAM,KAAK;AAAA,UACX,MAAM,KAAK;AAAA,UACX,aAAa,KAAK;AAAA,UAClB,UAAU,CAAC;AAAA,QACX,EAAA;AAEF,aAAK,aAAa;AAEX,eAAA;AAAA,MACT;AAAA,IACC,EAAA,EAAE,MAAM,KAAK,KAAM,CAAA;AAExB,iBAAa,QAAQ,IAAI;AAEzB,iBAAa,QAAQ,IAAI;AAElB,WAAA;AAAA,EACT;AAAA,EAEA,WAAW,MAA0B;AACnC,WAAO,EAAE,GAAG,MAAM,UAAU,CAAG,EAAA;AAAA,EACjC;AACF;AAEA,eAAe,YAAY;"}
1
+ {"version":3,"file":"LocalLogTree.js","sources":["../../../../../../../src/modules/ms/dataviews/log/local-log/LocalLogTree.ts"],"sourcesContent":["import { DataTree, DataTreeNode, DataTreeOptions } from \"@maketribe/dm\";\nimport { R, CancelToken } from \"@maketribe/request\";\nimport { defineDataTree } from \"../../../../../define-data-tree\";\nimport { Event } from \"@maketribe/utils\";\n\nexport type LocalLog = {\n name: string;\n path: string;\n isDirectory: boolean;\n children: LocalLog[];\n};\n\nexport class LocalLogTree extends DataTree<LocalLog> {\n constructor(options: DataTreeOptions = { props: { label: \"name\" } }) {\n super({ name: \"local-log\", props: { label: \"path\" }, ...options });\n }\n\n protected async initialize(): Promise<void> {\n await super.initialize();\n\n // this.afterInitdEvent.once(() => {\n // this.append(\n // this.createDataTreeNode({\n // name: \"root\",\n // path: \"/\",\n // isDirectory: true,\n // children: [],\n // })\n // );\n // });\n }\n\n // createDataTreeNode(data: LocalLog) {\n // const dataTreeNode: DataTreeNode<LocalLog> =\n // new (class extends DataTreeNode<LocalLog> {\n // get isLeaf() {\n // return !(this.data?.isDirectory ?? false);\n // }\n\n // protected async loadRequest(params: Record<string, any>) {\n // const response = await this.httpRequest.get<\n // R<LocalLog[]> & { totalRecCount: string }\n // >(\"/ms/system/local-log-dir-root\", {\n // params: { ...params, path: this.data!.path },\n // cancelToken: new CancelToken((cancel) => {\n // this.loadCancel = cancel;\n // }),\n // });\n\n // response.data.data = response.data.data.map((item) => ({\n // name: item.name,\n // path: item.path,\n // isDirectory: item.isDirectory,\n // children: [],\n // })) as LocalLog[];\n\n // this.loadCancel = null;\n\n // return response;\n // }\n // })({ name: this.name });\n\n // dataTreeNode.setTree(this);\n\n // dataTreeNode.setData(data);\n\n // return dataTreeNode;\n // }\n\n formatItem(item: LocalLog): LocalLog {\n return { ...item, children: [] };\n }\n}\n\ndefineDataTree(LocalLogTree);\n"],"names":[],"mappings":";;AAYO,MAAM,qBAAqB,SAAmB;AAAA,EACnD,YAAY,UAA2B,EAAE,OAAO,EAAE,OAAO,OAAA,KAAY;AAC7D,UAAA,EAAE,MAAM,aAAa,OAAO,EAAE,OAAO,OAAO,GAAG,GAAG,QAAA,CAAS;AAAA,EACnE;AAAA,EAEA,MAAgB,aAA4B;AAC1C,UAAM,MAAM;EAYd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAuCA,WAAW,MAA0B;AACnC,WAAO,EAAE,GAAG,MAAM,UAAU,CAAG,EAAA;AAAA,EACjC;AACF;AAEA,eAAe,YAAY;"}
@@ -42,7 +42,7 @@ const _MsConfigTable = class _MsConfigTable extends (_b = DataTable, _a = DATA_M
42
42
  })
43
43
  ];
44
44
  this.dataFilter.setColumns([
45
- new FilterColumn({ name: "key", label: "配置键" })
45
+ new FilterColumn({ name: "key", label: "配置键", search: true })
46
46
  ]);
47
47
  this.setColumns([
48
48
  new TableColumn({ name: "key", label: "配置键" }),
@@ -1 +1 @@
1
- {"version":3,"file":"MsConfigTable.js","sources":["../../../../../../src/modules/ms/dataviews/ms-config/MsConfigTable.ts"],"sourcesContent":["import { Where } from \"@maketribe/request\";\nimport {\n DataTable,\n DataTableOptions,\n TableColumn,\n TableActionColumn,\n TableHeaderItem,\n RefreshButton,\n AddButton,\n FilterColumn,\n} from \"@maketribe/dm\";\nimport { MsConfig } from \"./MsConfigForm\";\nimport { R, ResponseConfig } from \"@maketribe/request\";\nimport { MSAppClient } from \"../../../../core\";\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\nimport { MODULE_NAME } from \"../../constants\";\n\nexport class MsConfigTable extends DataTable<MsConfig> {\n static [DATA_MODEL_NAME]: string = \"mk-sys-config\";\n\n private static _instance: MsConfigTable | null = null;\n\n static get instance(): MsConfigTable {\n if (!MsConfigTable._instance) {\n MsConfigTable._instance = new MsConfigTable();\n MsConfigTable._instance.init().then(() => {\n MsConfigTable._instance!.dataFilter.setReady();\n });\n }\n\n return MsConfigTable._instance;\n }\n\n constructor(options: DataTableOptions = {}) {\n super({\n name: MsConfigTable[DATA_MODEL_NAME],\n moduleName: MODULE_NAME,\n ...options,\n });\n }\n\n protected async initialize() {\n await super.initialize();\n\n this.header.rightArea = [\n new RefreshButton(),\n new AddButton(),\n new TableHeaderItem({\n componentInfo: \"MKBatchOpt\",\n predicate: () =>\n MSAppClient.instance?.userSession?.userInfo?.isSuper ?? false,\n }),\n ];\n\n this.dataFilter.setColumns([\n new FilterColumn({ name: \"key\", label: \"配置键\" }),\n ]);\n\n this.setColumns([\n new TableColumn({ name: \"key\", label: \"配置键\" }),\n new TableColumn({ name: \"memo\", label: \"备注\" }),\n new TableActionColumn(),\n ]);\n }\n\n formatItem(item: MsConfig): MsConfig {\n let value = item.value;\n\n try {\n value = JSON.parse(value);\n } catch (e) {}\n\n return { ...item, value };\n }\n\n static async loadConfig<T = any>(\n key: string\n ): Promise<ResponseConfig<R<MsConfig<T>>>> {\n const where = new Where();\n\n where.addCondition(\"key\", \"=\", key);\n\n const dataViewRequest = MsConfigTable.instance.dataViewRequest;\n const response = await dataViewRequest.allList({\n data: { condition: where },\n });\n\n return {\n ...response,\n data: {\n ...response.data,\n data: response.data.data?.[0] ?? null,\n },\n };\n }\n\n static async getConfigValue<T = any>(key: string): Promise<T | null> {\n const where = new Where();\n\n where.addCondition(\"key\", \"=\", key);\n\n const dataViewRequest = MsConfigTable.instance.dataViewRequest;\n const response = await dataViewRequest.query({\n data: { condition: where, pc: 1, pn: 1 },\n });\n\n if (response.data.code !== 200) {\n throw new Error(response.data.msg);\n }\n\n try {\n return JSON.parse(response.data.data[0]?.value);\n } catch {\n return null;\n }\n }\n\n static async setConfigValue(key: string, value: any) {\n const dataViewRequest = MsConfigTable.instance.dataViewRequest;\n\n const where = new Where();\n where.addCondition(\"key\", \"=\", key);\n\n const listResponse = await dataViewRequest.query({\n data: { condition: where, pc: 1, pn: 1 },\n });\n\n if (listResponse.data.code !== 200) {\n throw new Error(listResponse.data.msg);\n }\n\n const response =\n listResponse.data.data.length === 0\n ? await dataViewRequest.add({ key, value })\n : await dataViewRequest.update({\n ...listResponse.data.data[0],\n value,\n });\n\n return response.data;\n }\n}\n\n(window as any).MsConfigTable = MsConfigTable;\n"],"names":["_b","_a"],"mappings":"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"}
1
+ {"version":3,"file":"MsConfigTable.js","sources":["../../../../../../src/modules/ms/dataviews/ms-config/MsConfigTable.ts"],"sourcesContent":["import { Where } from \"@maketribe/request\";\nimport {\n DataTable,\n DataTableOptions,\n TableColumn,\n TableActionColumn,\n TableHeaderItem,\n RefreshButton,\n AddButton,\n FilterColumn,\n} from \"@maketribe/dm\";\nimport { MsConfig } from \"./MsConfigForm\";\nimport { R, ResponseConfig } from \"@maketribe/request\";\nimport { MSAppClient } from \"../../../../core\";\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\nimport { MODULE_NAME } from \"../../constants\";\n\nexport class MsConfigTable extends DataTable<MsConfig> {\n static [DATA_MODEL_NAME]: string = \"mk-sys-config\";\n\n private static _instance: MsConfigTable | null = null;\n\n static get instance(): MsConfigTable {\n if (!MsConfigTable._instance) {\n MsConfigTable._instance = new MsConfigTable();\n MsConfigTable._instance.init().then(() => {\n MsConfigTable._instance!.dataFilter.setReady();\n });\n }\n\n return MsConfigTable._instance;\n }\n\n constructor(options: DataTableOptions = {}) {\n super({\n name: MsConfigTable[DATA_MODEL_NAME],\n moduleName: MODULE_NAME,\n ...options,\n });\n }\n\n protected async initialize() {\n await super.initialize();\n\n this.header.rightArea = [\n new RefreshButton(),\n new AddButton(),\n new TableHeaderItem({\n componentInfo: \"MKBatchOpt\",\n predicate: () =>\n MSAppClient.instance?.userSession?.userInfo?.isSuper ?? false,\n }),\n ];\n\n this.dataFilter.setColumns([\n new FilterColumn({ name: \"key\", label: \"配置键\", search: true }),\n ]);\n\n this.setColumns([\n new TableColumn({ name: \"key\", label: \"配置键\" }),\n new TableColumn({ name: \"memo\", label: \"备注\" }),\n new TableActionColumn(),\n ]);\n }\n\n formatItem(item: MsConfig): MsConfig {\n let value = item.value;\n\n try {\n value = JSON.parse(value);\n } catch (e) {}\n\n return { ...item, value };\n }\n\n static async loadConfig<T = any>(\n key: string\n ): Promise<ResponseConfig<R<MsConfig<T>>>> {\n const where = new Where();\n\n where.addCondition(\"key\", \"=\", key);\n\n const dataViewRequest = MsConfigTable.instance.dataViewRequest;\n const response = await dataViewRequest.allList({\n data: { condition: where },\n });\n\n return {\n ...response,\n data: {\n ...response.data,\n data: response.data.data?.[0] ?? null,\n },\n };\n }\n\n static async getConfigValue<T = any>(key: string): Promise<T | null> {\n const where = new Where();\n\n where.addCondition(\"key\", \"=\", key);\n\n const dataViewRequest = MsConfigTable.instance.dataViewRequest;\n const response = await dataViewRequest.query({\n data: { condition: where, pc: 1, pn: 1 },\n });\n\n if (response.data.code !== 200) {\n throw new Error(response.data.msg);\n }\n\n try {\n return JSON.parse(response.data.data[0]?.value);\n } catch {\n return null;\n }\n }\n\n static async setConfigValue(key: string, value: any) {\n const dataViewRequest = MsConfigTable.instance.dataViewRequest;\n\n const where = new Where();\n where.addCondition(\"key\", \"=\", key);\n\n const listResponse = await dataViewRequest.query({\n data: { condition: where, pc: 1, pn: 1 },\n });\n\n if (listResponse.data.code !== 200) {\n throw new Error(listResponse.data.msg);\n }\n\n const response =\n listResponse.data.data.length === 0\n ? await dataViewRequest.add({ key, value })\n : await dataViewRequest.update({\n ...listResponse.data.data[0],\n value,\n });\n\n return response.data;\n }\n}\n\n(window as any).MsConfigTable = MsConfigTable;\n"],"names":["_b","_a"],"mappings":"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"}
@@ -27,10 +27,13 @@ import "../../../../../components/basic/image-cropper/index.js";
27
27
  import "../../../../../components/data-model/data-form/index.js";
28
28
  import "../../../../../components/data-model/data-table/index.js";
29
29
  import "../../../../../components/data-model/data-table-pagination/index.js";
30
- import "../../../../../components/business/verify-dialog/index.js";
30
+ import "@maketribe/dm";
31
+ import "vue-router";
32
+ import "@maketribe/locale";
33
+ import "../../../../../core/DataModelDefines.js";
34
+ import "../../../../../components/business/verify-dialog/verify-dialog-option.js";
31
35
  import "../../../../../components/business/resource-list/index.js";
32
36
  import "../../../../../components/business/resource-manager/index.js";
33
- import "@maketribe/dm";
34
37
  import { dataTableColumnProps } from "../../../../../components/data-model/data-table/data-table-column/data-table-column-options.js";
35
38
  const MemberRolesColumn = /* @__PURE__ */ defineComponent({
36
39
  props: dataTableColumnProps,
@@ -1 +1 @@
1
- {"version":3,"file":"MemberRolesColumn.js","sources":["../../../../../../../src/modules/ms/dataviews/ms-member/components/MemberRolesColumn.tsx"],"sourcesContent":["import { defineComponent } from \"vue\";\nimport { dataTableColumnProps } from \"../../../../../components\";\nimport { ElTag } from \"element-plus\";\n\nexport default defineComponent({\n props: dataTableColumnProps,\n setup(props) {\n return () => {\n const roles = props.row.roles.map((role: any) => (\n <ElTag key={role.id} size=\"large\" type=\"info\" class=\"roles-Info-tag\">\n {role.desc}\n </ElTag>\n ));\n\n return <div class=\"roles-Info\">{roles}</div>;\n };\n },\n});\n"],"names":["defineComponent","props","dataTableColumnProps","setup","roles","row","map","role","_createVNode","ElTag","id","default","desc"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,MAAeA,oDAAgB;AAAA,EAC7BC,OAAOC;AAAAA,EACPC,MAAMF,OAAO;AACX,WAAO,MAAM;AACX,YAAMG,QAAQH,MAAMI,IAAID,MAAME,IAAKC,UAASC,YAAAC,OAAA;AAAA,QAAA,OAC9BF,KAAKG;AAAAA,QAAE,QAAA;AAAA,QAAA,QAAA;AAAA,QAAA,SAAA;AAAA,MAAA,GAAA;AAAA,QAAAC,SAAAA,MAChBJ,CAAAA,KAAKK,IAAI;AAAA,MAAA,CAAA,CAEb;AAED,aAAAJ,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,MAAA,GAAA,CAAgCJ,KAAK,CAAA;AAAA;EAEzC;AACF,CAAC;"}
1
+ {"version":3,"file":"MemberRolesColumn.js","sources":["../../../../../../../src/modules/ms/dataviews/ms-member/components/MemberRolesColumn.tsx"],"sourcesContent":["import { defineComponent } from \"vue\";\nimport { dataTableColumnProps } from \"../../../../../components\";\nimport { ElTag } from \"element-plus\";\n\nexport default defineComponent({\n props: dataTableColumnProps,\n setup(props) {\n return () => {\n const roles = props.row.roles.map((role: any) => (\n <ElTag key={role.id} size=\"large\" type=\"info\" class=\"roles-Info-tag\">\n {role.desc}\n </ElTag>\n ));\n\n return <div class=\"roles-Info\">{roles}</div>;\n };\n },\n});\n"],"names":["defineComponent","props","dataTableColumnProps","setup","roles","row","map","role","_createVNode","ElTag","id","default","desc"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,MAAeA,oDAAgB;AAAA,EAC7BC,OAAOC;AAAAA,EACPC,MAAMF,OAAO;AACX,WAAO,MAAM;AACX,YAAMG,QAAQH,MAAMI,IAAID,MAAME,IAAKC,UAASC,YAAAC,OAAA;AAAA,QAAA,OAC9BF,KAAKG;AAAAA,QAAE,QAAA;AAAA,QAAA,QAAA;AAAA,QAAA,SAAA;AAAA,MAAA,GAAA;AAAA,QAAAC,SAAAA,MAChBJ,CAAAA,KAAKK,IAAI;AAAA,MAAA,CAAA,CAEb;AAED,aAAAJ,YAAA,OAAA;AAAA,QAAA,SAAA;AAAA,MAAA,GAAA,CAAgCJ,KAAK,CAAA;AAAA;EAEzC;AACF,CAAC;"}
@@ -28,10 +28,13 @@ import "../../../../components/basic/image-cropper/index.js";
28
28
  import "../../../../components/data-model/data-form/index.js";
29
29
  import "../../../../components/data-model/data-table/index.js";
30
30
  import "../../../../components/data-model/data-table-pagination/index.js";
31
- import "../../../../components/business/verify-dialog/index.js";
31
+ import "@maketribe/dm";
32
+ import "vue-router";
33
+ import "@maketribe/locale";
34
+ import "../../../../core/DataModelDefines.js";
35
+ import "../../../../components/business/verify-dialog/verify-dialog-option.js";
32
36
  import "../../../../components/business/resource-list/index.js";
33
37
  import "../../../../components/business/resource-manager/index.js";
34
- import "@maketribe/dm";
35
38
  const _hoisted_1 = { class: "mk-icon-list" };
36
39
  const _hoisted_2 = { class: "mk-icon-list__item" };
37
40
  const _hoisted_3 = ["onClick"];
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/ms/pages/icons/index.vue"],"sourcesContent":["<template>\n <MKPageContainer>\n <ElCard>\n <ElScrollbar height=\"100%\">\n <ElInput\n v-model=\"search\"\n placeholder=\"搜索图标\"\n :suffix-icon=\"elIcons.Search\"\n />\n\n <ul class=\"mk-icon-list\">\n <li class=\"mk-icon-list__item\" v-for=\"icon in filteredIcons\">\n <div class=\"mk-icon-item\" @click=\"handleClick(icon)\">\n <div class=\"mk-icon-item__icon\">\n <MKSvgIcon :iconClass=\"icon\" />\n </div>\n\n <div class=\"mk-icon-item__name\">\n {{ icon }}\n </div>\n </div>\n </li>\n </ul>\n </ElScrollbar>\n </ElCard>\n </MKPageContainer>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, onMounted, ref, Ref, unref } from \"vue\";\nimport { ElMessage } from \"element-plus\";\nimport * as elIcons from \"@element-plus/icons-vue\";\nimport { MKPageContainer } from \"../../../../components\";\n\nconst icons: Ref<string[]> = ref([]);\n\nconst search = ref(\"\");\n\nconst filteredIcons = computed(() => {\n const _search = unref(search).toLowerCase();\n\n return unref(icons).filter((icon) => icon.toLowerCase().includes(_search));\n});\n\nonMounted(() => {\n const svgList: NodeListOf<SVGElement> = document.querySelectorAll(\n 'body > svg[aria-hidden=\"true\"]'\n );\n\n let iconList: string[] = [];\n\n for (const svg of Array.from(svgList)) {\n const symbols = svg.querySelectorAll(\"symbol\");\n\n iconList = iconList.concat(\n Array.from(symbols).map((symbol) => symbol.id.replace(/^icon-/, \"\"))\n );\n }\n\n icons.value = Array.from(new Set([...Object.keys(elIcons), ...iconList]));\n});\n\nconst handleClick = (icon: string) => {\n const content = `<MKSvgIcon iconClass=\"${icon}\"/>`;\n\n if (navigator.clipboard === undefined) {\n //通过input标签进行复制\n const input = document.createElement(\"input\");\n input.value = content;\n document.body.appendChild(input);\n input.select();\n document.execCommand(\"Copy\");\n document.body.removeChild(input);\n } else {\n navigator.clipboard.writeText(content);\n }\n\n ElMessage.success(\"复制成功\");\n};\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCM,UAAA,QAAuB,IAAI,CAAA,CAAE;AAE7B,UAAA,SAAS,IAAI,EAAE;AAEf,UAAA,gBAAgB,SAAS,MAAM;AACnC,YAAM,UAAU,MAAM,MAAM,EAAE,YAAY;AAEnC,aAAA,MAAM,KAAK,EAAE,OAAO,CAAC,SAAS,KAAK,YAAY,EAAE,SAAS,OAAO,CAAC;AAAA,IAAA,CAC1E;AAED,cAAU,MAAM;AACd,YAAM,UAAkC,SAAS;AAAA,QAC/C;AAAA,MAAA;AAGF,UAAI,WAAqB,CAAA;AAEzB,iBAAW,OAAO,MAAM,KAAK,OAAO,GAAG;AAC/B,cAAA,UAAU,IAAI,iBAAiB,QAAQ;AAE7C,mBAAW,SAAS;AAAA,UAClB,MAAM,KAAK,OAAO,EAAE,IAAI,CAAC,WAAW,OAAO,GAAG,QAAQ,UAAU,EAAE,CAAC;AAAA,QAAA;AAAA,MAEvE;AAEA,YAAM,QAAQ,MAAM,KAAK,oBAAI,IAAI,CAAC,GAAG,OAAO,KAAK,OAAO,GAAG,GAAG,QAAQ,CAAC,CAAC;AAAA,IAAA,CACzE;AAEK,UAAA,cAAc,CAAC,SAAiB;AAC9B,YAAA,UAAU,yBAAyB,IAAI;AAEzC,UAAA,UAAU,cAAc,QAAW;AAE/B,cAAA,QAAQ,SAAS,cAAc,OAAO;AAC5C,cAAM,QAAQ;AACL,iBAAA,KAAK,YAAY,KAAK;AAC/B,cAAM,OAAO;AACb,iBAAS,YAAY,MAAM;AAClB,iBAAA,KAAK,YAAY,KAAK;AAAA,MAAA,OAC1B;AACK,kBAAA,UAAU,UAAU,OAAO;AAAA,MACvC;AAEA,gBAAU,QAAQ,MAAM;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.vue2.js","sources":["../../../../../../src/modules/ms/pages/icons/index.vue"],"sourcesContent":["<template>\n <MKPageContainer>\n <ElCard>\n <ElScrollbar height=\"100%\">\n <ElInput\n v-model=\"search\"\n placeholder=\"搜索图标\"\n :suffix-icon=\"elIcons.Search\"\n />\n\n <ul class=\"mk-icon-list\">\n <li class=\"mk-icon-list__item\" v-for=\"icon in filteredIcons\">\n <div class=\"mk-icon-item\" @click=\"handleClick(icon)\">\n <div class=\"mk-icon-item__icon\">\n <MKSvgIcon :iconClass=\"icon\" />\n </div>\n\n <div class=\"mk-icon-item__name\">\n {{ icon }}\n </div>\n </div>\n </li>\n </ul>\n </ElScrollbar>\n </ElCard>\n </MKPageContainer>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed, onMounted, ref, Ref, unref } from \"vue\";\nimport { ElMessage } from \"element-plus\";\nimport * as elIcons from \"@element-plus/icons-vue\";\nimport { MKPageContainer } from \"../../../../components\";\n\nconst icons: Ref<string[]> = ref([]);\n\nconst search = ref(\"\");\n\nconst filteredIcons = computed(() => {\n const _search = unref(search).toLowerCase();\n\n return unref(icons).filter((icon) => icon.toLowerCase().includes(_search));\n});\n\nonMounted(() => {\n const svgList: NodeListOf<SVGElement> = document.querySelectorAll(\n 'body > svg[aria-hidden=\"true\"]'\n );\n\n let iconList: string[] = [];\n\n for (const svg of Array.from(svgList)) {\n const symbols = svg.querySelectorAll(\"symbol\");\n\n iconList = iconList.concat(\n Array.from(symbols).map((symbol) => symbol.id.replace(/^icon-/, \"\"))\n );\n }\n\n icons.value = Array.from(new Set([...Object.keys(elIcons), ...iconList]));\n});\n\nconst handleClick = (icon: string) => {\n const content = `<MKSvgIcon iconClass=\"${icon}\"/>`;\n\n if (navigator.clipboard === undefined) {\n //通过input标签进行复制\n const input = document.createElement(\"input\");\n input.value = content;\n document.body.appendChild(input);\n input.select();\n document.execCommand(\"Copy\");\n document.body.removeChild(input);\n } else {\n navigator.clipboard.writeText(content);\n }\n\n ElMessage.success(\"复制成功\");\n};\n</script>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCM,UAAA,QAAuB,IAAI,CAAA,CAAE;AAE7B,UAAA,SAAS,IAAI,EAAE;AAEf,UAAA,gBAAgB,SAAS,MAAM;AACnC,YAAM,UAAU,MAAM,MAAM,EAAE,YAAY;AAEnC,aAAA,MAAM,KAAK,EAAE,OAAO,CAAC,SAAS,KAAK,YAAY,EAAE,SAAS,OAAO,CAAC;AAAA,IAAA,CAC1E;AAED,cAAU,MAAM;AACd,YAAM,UAAkC,SAAS;AAAA,QAC/C;AAAA,MAAA;AAGF,UAAI,WAAqB,CAAA;AAEzB,iBAAW,OAAO,MAAM,KAAK,OAAO,GAAG;AAC/B,cAAA,UAAU,IAAI,iBAAiB,QAAQ;AAE7C,mBAAW,SAAS;AAAA,UAClB,MAAM,KAAK,OAAO,EAAE,IAAI,CAAC,WAAW,OAAO,GAAG,QAAQ,UAAU,EAAE,CAAC;AAAA,QAAA;AAAA,MAEvE;AAEA,YAAM,QAAQ,MAAM,KAAK,oBAAI,IAAI,CAAC,GAAG,OAAO,KAAK,OAAO,GAAG,GAAG,QAAQ,CAAC,CAAC;AAAA,IAAA,CACzE;AAEK,UAAA,cAAc,CAAC,SAAiB;AAC9B,YAAA,UAAU,yBAAyB,IAAI;AAEzC,UAAA,UAAU,cAAc,QAAW;AAE/B,cAAA,QAAQ,SAAS,cAAc,OAAO;AAC5C,cAAM,QAAQ;AACL,iBAAA,KAAK,YAAY,KAAK;AAC/B,cAAM,OAAO;AACb,iBAAS,YAAY,MAAM;AAClB,iBAAA,KAAK,YAAY,KAAK;AAAA,MAAA,OAC1B;AACK,kBAAA,UAAU,UAAU,OAAO;AAAA,MACvC;AAEA,gBAAU,QAAQ,MAAM;AAAA,IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -31,7 +31,7 @@ import "../../../../components/basic/image-cropper/index.js";
31
31
  import "../../../../components/data-model/data-form/index.js";
32
32
  import "../../../../components/data-model/data-table/index.js";
33
33
  import "../../../../components/data-model/data-table-pagination/index.js";
34
- import "../../../../components/business/verify-dialog/index.js";
34
+ import "../../../../components/business/verify-dialog/verify-dialog-option.js";
35
35
  import "../../../../components/business/resource-list/index.js";
36
36
  import "../../../../components/business/resource-manager/index.js";
37
37
  import { MKTree } from "../../../../components/data-model/data-table/views/tree/index.js";
@@ -27,14 +27,14 @@ import "../../../../components/basic/image-cropper/index.js";
27
27
  import "../../../../components/data-model/data-form/index.js";
28
28
  import "../../../../components/data-model/data-table/index.js";
29
29
  import "../../../../components/data-model/data-table-pagination/index.js";
30
- import "../../../../components/business/verify-dialog/index.js";
31
- import "../../../../components/business/resource-list/index.js";
32
- import "../../../../components/business/resource-manager/index.js";
33
30
  import "@maketribe/dm";
34
- import { MKMaterialList } from "../../components/material-list/index.js";
35
- import "../../../../core/DataModelDefines.js";
36
31
  import "vue-router";
37
32
  import "@maketribe/locale";
33
+ import "../../../../core/DataModelDefines.js";
34
+ import "../../../../components/business/verify-dialog/verify-dialog-option.js";
35
+ import "../../../../components/business/resource-list/index.js";
36
+ import "../../../../components/business/resource-manager/index.js";
37
+ import { MKMaterialList } from "../../components/material-list/index.js";
38
38
  import "../../dataviews/ms-config/MsConfigTable.js";
39
39
  import "lodash-es";
40
40
  import "../../dataviews/department/DepartmentForm.js";
@@ -32,10 +32,10 @@ import "../../../../components/basic/image-cropper/index.js";
32
32
  import "../../../../components/data-model/data-form/index.js";
33
33
  import { MKDataTable } from "../../../../components/data-model/data-table/index.js";
34
34
  import "../../../../components/data-model/data-table-pagination/index.js";
35
- import "../../../../components/business/verify-dialog/index.js";
35
+ import { useSingleViewWithDialog } from "../../../../composables/use-single-view.js";
36
+ import "../../../../components/business/verify-dialog/verify-dialog-option.js";
36
37
  import "../../../../components/business/resource-list/index.js";
37
38
  import "../../../../components/business/resource-manager/index.js";
38
- import { useSingleViewWithDialog } from "../../../../composables/use-single-view.js";
39
39
  import "../../dataviews/ms-config/MsConfigTable.js";
40
40
  import "lodash-es";
41
41
  import { MsRouteTable } from "../../dataviews/ms-menu/ms-route/MsRouteTable.js";