@maketribe/ms-app 3.0.60 → 3.1.1

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 (432) hide show
  1. package/dist/cjs/components/basic/code-editor/code-editor-options.d.ts +16 -0
  2. package/dist/cjs/components/basic/code-editor/code-editor-options.js +25 -0
  3. package/dist/cjs/components/basic/code-editor/code-editor-options.js.map +1 -0
  4. package/dist/cjs/components/basic/code-editor/code-editor.d.ts +27 -0
  5. package/dist/cjs/components/basic/code-editor/code-editor.js +31 -0
  6. package/dist/cjs/components/basic/code-editor/code-editor.js.map +1 -0
  7. package/dist/cjs/components/basic/code-editor/index.d.ts +27 -0
  8. package/dist/cjs/components/basic/code-editor/index.js +16 -0
  9. package/dist/cjs/components/basic/code-editor/index.js.map +1 -0
  10. package/dist/cjs/components/basic/data-select/data-select-options.js.map +1 -1
  11. package/dist/cjs/components/basic/data-select/data-select.js.map +1 -1
  12. package/dist/cjs/components/basic/data-table-select/data-table-select.js +1 -1
  13. package/dist/cjs/components/basic/data-table-select/data-table-select.js.map +1 -1
  14. package/dist/cjs/components/basic/data-table-select-dialog/data-table-select-dialog.js.map +1 -1
  15. package/dist/cjs/components/basic/date-picker/date-picker-options.js.map +1 -1
  16. package/dist/cjs/components/basic/date-picker/date-picker.js.map +1 -1
  17. package/dist/cjs/components/basic/date-picker/index.js.map +1 -1
  18. package/dist/cjs/components/basic/icon-select/icon-select-options.js.map +1 -1
  19. package/dist/cjs/components/basic/icon-select/icon-select.js.map +1 -1
  20. package/dist/cjs/components/basic/icon-select/index.js.map +1 -1
  21. package/dist/cjs/components/basic/index.d.ts +1 -0
  22. package/dist/cjs/components/basic/index.js +12 -10
  23. package/dist/cjs/components/basic/index.js.map +1 -1
  24. package/dist/cjs/components/basic/json-editor/json-editor-options.d.ts +1 -1
  25. package/dist/cjs/components/basic/json-editor/json-editor-options.js.map +1 -1
  26. package/dist/cjs/components/basic/json-editor/json-editor.js +5 -5
  27. package/dist/cjs/components/basic/json-editor/json-editor.js.map +1 -1
  28. package/dist/cjs/components/basic/page-container/index.js.map +1 -1
  29. package/dist/cjs/components/basic/page-container/page-container.js.map +1 -1
  30. package/dist/cjs/components/basic/radio/index.js.map +1 -1
  31. package/dist/cjs/components/basic/radio/radio-options.js.map +1 -1
  32. package/dist/cjs/components/basic/radio/radio.js.map +1 -1
  33. package/dist/cjs/components/basic/system-provider/system-provider.js.map +1 -1
  34. package/dist/cjs/components/basic/upload-file/context/WebFileUploadContext.js.map +1 -1
  35. package/dist/cjs/components/basic/upload-file/ui/upload-image/upload-image.js.map +1 -1
  36. package/dist/cjs/components/business/verify-dialog/verify-dialog.js.map +1 -1
  37. package/dist/cjs/components/data-model/data-filter-form/components/condition-date/condition-date-options.js.map +1 -1
  38. package/dist/cjs/components/data-model/data-filter-form/components/condition-date/condition-date.js.map +1 -1
  39. package/dist/cjs/components/data-model/data-filter-form/components/condition-input/condition-input-options.js.map +1 -1
  40. package/dist/cjs/components/data-model/data-filter-form/components/condition-input/condition-input.js.map +1 -1
  41. package/dist/cjs/components/data-model/data-filter-form/components/condition-number/condition-number-options.js.map +1 -1
  42. package/dist/cjs/components/data-model/data-filter-form/components/condition-number/condition-number.js.map +1 -1
  43. package/dist/cjs/components/data-model/data-filter-form/components/condition-select/condition-select-options.js.map +1 -1
  44. package/dist/cjs/components/data-model/data-filter-form/components/condition-select/condition-select.js.map +1 -1
  45. package/dist/cjs/components/data-model/data-filter-form/data-filter-form-options.js.map +1 -1
  46. package/dist/cjs/components/data-model/data-filter-form/index.js.map +1 -1
  47. package/dist/cjs/components/data-model/data-filter-popover/data-filter-popover.js.map +1 -1
  48. package/dist/cjs/components/data-model/data-form/components/form-data-table-select/form-data-table-select-options.js.map +1 -1
  49. package/dist/cjs/components/data-model/data-form/components/form-data-table-select/form-data-table-select.js.map +1 -1
  50. package/dist/cjs/components/data-model/data-form/components/form-detail/form-detail-options.js.map +1 -1
  51. package/dist/cjs/components/data-model/data-form/components/form-detail/form-detail.js.map +1 -1
  52. package/dist/cjs/components/data-model/data-form/data-form-item/data-form-item.js.map +1 -1
  53. package/dist/cjs/components/data-model/data-form/data-form.js.map +1 -1
  54. package/dist/cjs/components/data-model/data-form/index.js.map +1 -1
  55. package/dist/cjs/components/data-model/data-form/views/form/form.js.map +1 -1
  56. package/dist/cjs/components/data-model/data-table/components/column-action/column-action-options.js.map +1 -1
  57. package/dist/cjs/components/data-model/data-table/components/column-action/column-action.js.map +1 -1
  58. package/dist/cjs/components/data-model/data-table/components/column-date/column-date.js.map +1 -1
  59. package/dist/cjs/components/data-model/data-table/components/column-icon/column-icon.js.map +1 -1
  60. package/dist/cjs/components/data-model/data-table/components/column-image/column-image-options.js.map +1 -1
  61. package/dist/cjs/components/data-model/data-table/components/column-json/column-json-options.js.map +1 -1
  62. package/dist/cjs/components/data-model/data-table/components/column-json/column-json.js.map +1 -1
  63. package/dist/cjs/components/data-model/data-table/components/column-link/column-link-options.js.map +1 -1
  64. package/dist/cjs/components/data-model/data-table/components/column-object-mapping-text/column-object-mapping-text-options.js.map +1 -1
  65. package/dist/cjs/components/data-model/data-table/components/column-select/column-select-header.js.map +1 -1
  66. package/dist/cjs/components/data-model/data-table/components/column-select/column-select-options.js.map +1 -1
  67. package/dist/cjs/components/data-model/data-table/components/column-select/column-select.js.map +1 -1
  68. package/dist/cjs/components/data-model/data-table/components/column-switch/column-switch-options.js.map +1 -1
  69. package/dist/cjs/components/data-model/data-table/components/column-switch/column-switch.js.map +1 -1
  70. package/dist/cjs/components/data-model/data-table/components/column-tag/column-tag-options.js.map +1 -1
  71. package/dist/cjs/components/data-model/data-table/components/column-tag/column-tag.js.map +1 -1
  72. package/dist/cjs/components/data-model/data-table/components/column-text/column-text-options.js.map +1 -1
  73. package/dist/cjs/components/data-model/data-table/components/column-text/column-text.js.map +1 -1
  74. package/dist/cjs/components/data-model/data-table/data-table-column/data-table-column-options.js.map +1 -1
  75. package/dist/cjs/components/data-model/data-table/data-table-column/data-table-column.js.map +1 -1
  76. package/dist/cjs/components/data-model/data-table/data-table-column/index.js.map +1 -1
  77. package/dist/cjs/components/data-model/data-table/data-table.js.map +1 -1
  78. package/dist/cjs/components/data-model/data-table/index.js.map +1 -1
  79. package/dist/cjs/components/data-model/data-table/views/table/table-options.js.map +1 -1
  80. package/dist/cjs/components/data-model/data-table/views/table/table.js.map +1 -1
  81. package/dist/cjs/components/data-model/data-table/views/table-tree/table-tree.js.map +1 -1
  82. package/dist/cjs/components/data-model/data-table-pagination/data-table-pagination.js.map +1 -1
  83. package/dist/cjs/components/index.js +42 -40
  84. package/dist/cjs/components/index.js.map +1 -1
  85. package/dist/cjs/composables/use-column-component.js.map +1 -1
  86. package/dist/cjs/composables/use-i18n.js.map +1 -1
  87. package/dist/cjs/composables/use-single-view.js.map +1 -1
  88. package/dist/cjs/constants/data-model.js.map +1 -1
  89. package/dist/cjs/constants/menu.js.map +1 -1
  90. package/dist/cjs/core/MSAppClient.js.map +1 -1
  91. package/dist/cjs/core/MkModule.js.map +1 -1
  92. package/dist/cjs/core/Router.js.map +1 -1
  93. package/dist/cjs/core/UserInfo.js.map +1 -1
  94. package/dist/cjs/core/UserSession.js.map +1 -1
  95. package/dist/cjs/core/component/ConfigComponents.js.map +1 -1
  96. package/dist/cjs/core/component/DataFilterComponents.js.map +1 -1
  97. package/dist/cjs/core/component/DataFormComponents.js +10 -0
  98. package/dist/cjs/core/component/DataFormComponents.js.map +1 -1
  99. package/dist/cjs/core/menu/Menu.js.map +1 -1
  100. package/dist/cjs/core/menu/MenuNode.js.map +1 -1
  101. package/dist/cjs/core/resolver/ITypeResolver.d.ts +1 -2
  102. package/dist/cjs/core/tabs/Tab.js.map +1 -1
  103. package/dist/cjs/define-data-form.js.map +1 -1
  104. package/dist/cjs/define-data-table.js.map +1 -1
  105. package/dist/cjs/define-data-tree.js.map +1 -1
  106. package/dist/cjs/index.js +52 -50
  107. package/dist/cjs/index.js.map +1 -1
  108. package/dist/cjs/init-application.js.map +1 -1
  109. package/dist/cjs/installer.js +1 -0
  110. package/dist/cjs/installer.js.map +1 -1
  111. package/dist/cjs/layouts/components/bar/index.js +1 -0
  112. package/dist/cjs/layouts/components/bar/index.js.map +1 -1
  113. package/dist/cjs/layouts/components/header/tools.js +1 -0
  114. package/dist/cjs/layouts/components/header/tools.js.map +1 -1
  115. package/dist/cjs/layouts/components/lock/lock.js +1 -0
  116. package/dist/cjs/layouts/components/lock/lock.js.map +1 -1
  117. package/dist/cjs/layouts/components/menu/menu-item.js +1 -0
  118. package/dist/cjs/layouts/components/menu/menu-item.js.map +1 -1
  119. package/dist/cjs/layouts/container/default.js +1 -0
  120. package/dist/cjs/layouts/container/default.js.map +1 -1
  121. package/dist/cjs/modules/cms/components/part-list/components/article-page/index.vue.js +1 -1
  122. package/dist/cjs/modules/cms/components/part-list/components/article-page/index.vue2.js +1 -2
  123. package/dist/cjs/modules/cms/components/part-list/components/article-page/index.vue2.js.map +1 -1
  124. package/dist/cjs/modules/cms/components/part-list/components/page-container/index.vue.js +1 -1
  125. package/dist/cjs/modules/cms/components/part-list/components/page-container/index.vue2.js +1 -0
  126. package/dist/cjs/modules/cms/components/part-list/components/page-container/index.vue2.js.map +1 -1
  127. package/dist/cjs/modules/cms/components/part-list/components/part-page/index.vue.js +1 -1
  128. package/dist/cjs/modules/cms/components/part-list/components/part-page/index.vue2.js +1 -2
  129. package/dist/cjs/modules/cms/components/part-list/components/part-page/index.vue2.js.map +1 -1
  130. package/dist/cjs/modules/cms/components/part-list/part-list.vue.js +1 -1
  131. package/dist/cjs/modules/cms/constants/index.js.map +1 -1
  132. package/dist/cjs/modules/cms/dataviews/cms-ad-contents/CmsAdContentsTable.js.map +1 -1
  133. package/dist/cjs/modules/cms/dataviews/cms-articles/CmsArticlesForm.js +6 -1
  134. package/dist/cjs/modules/cms/dataviews/cms-articles/CmsArticlesForm.js.map +1 -1
  135. package/dist/cjs/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasTable.js.map +1 -1
  136. package/dist/cjs/modules/cms/dataviews/cms-parts/CmsPartForm.js +7 -1
  137. package/dist/cjs/modules/cms/dataviews/cms-parts/CmsPartForm.js.map +1 -1
  138. package/dist/cjs/modules/cms/dataviews/cms-parts/CmsPartTable.js.map +1 -1
  139. package/dist/cjs/modules/cms/pages/cms-article/index.vue.js +1 -1
  140. package/dist/cjs/modules/cms/pages/cms-article/index.vue2.js +1 -0
  141. package/dist/cjs/modules/cms/pages/cms-article/index.vue2.js.map +1 -1
  142. package/dist/cjs/modules/ms/components/markdown-editor/markdown-editor.js.map +1 -1
  143. package/dist/cjs/modules/ms/components/material-list/material-group-form-popover.vue.js +1 -1
  144. package/dist/cjs/modules/ms/components/material-list/material-group.vue.js +1 -1
  145. package/dist/cjs/modules/ms/components/material-list/material-item.vue.js +1 -1
  146. package/dist/cjs/modules/ms/components/material-list/material-list.vue.js +1 -1
  147. package/dist/cjs/modules/ms/components/rich-text-editor/index.js.map +1 -1
  148. package/dist/cjs/modules/ms/components/rich-text-editor/rich-text-editor.js +13 -14
  149. package/dist/cjs/modules/ms/components/rich-text-editor/rich-text-editor.js.map +1 -1
  150. package/dist/cjs/modules/ms/components/role-permission-config/role-permission-config.js.map +1 -1
  151. package/dist/cjs/modules/ms/dataviews/ms-config/MsConfigForm.d.ts +1 -1
  152. package/dist/cjs/modules/ms/dataviews/ms-config/MsConfigForm.js +11 -8
  153. package/dist/cjs/modules/ms/dataviews/ms-config/MsConfigForm.js.map +1 -1
  154. package/dist/cjs/modules/ms/dataviews/ms-material/MsMaterialTable.d.ts +1 -1
  155. package/dist/cjs/modules/ms/dataviews/ms-material/MsMaterialTable.js +4 -4
  156. package/dist/cjs/modules/ms/dataviews/ms-material/MsMaterialTable.js.map +1 -1
  157. package/dist/cjs/modules/ms/dataviews/ms-member/MsMemberForm.js.map +1 -1
  158. package/dist/cjs/modules/ms/dataviews/ms-member/MsMemberTable.js +15 -4
  159. package/dist/cjs/modules/ms/dataviews/ms-member/MsMemberTable.js.map +1 -1
  160. package/dist/cjs/modules/ms/dataviews/ms-menu/MsMenuForm.js.map +1 -1
  161. package/dist/cjs/modules/ms/dataviews/ms-menu/ms-permission-point/MsPermissionPointDefineForm.js.map +1 -1
  162. package/dist/cjs/modules/ms/dataviews/ms-menu/ms-route/MsRouteForm.js.map +1 -1
  163. package/dist/cjs/modules/ms/dataviews/ms-role/MsRoleForm.js.map +1 -1
  164. package/dist/cjs/modules/ms/index.js.map +1 -1
  165. package/dist/cjs/modules/ms/material-upload-context/MaterialUploadContext.js.map +1 -1
  166. package/dist/cjs/modules/ms/material-upload-context/material-upload-context-options.js.map +1 -1
  167. package/dist/cjs/modules/ms/material-upload-context/material-upload-context.js.map +1 -1
  168. package/dist/cjs/modules/ms/pages/local-log/index.vue.js +1 -1
  169. package/dist/cjs/modules/ms/pages/local-log/index.vue2.js +1 -0
  170. package/dist/cjs/modules/ms/pages/local-log/index.vue2.js.map +1 -1
  171. package/dist/cjs/modules/ms/pages/ms-material/index.vue.js +1 -1
  172. package/dist/cjs/modules/ms/pages/ms-material/index.vue2.js +1 -0
  173. package/dist/cjs/modules/ms/pages/ms-material/index.vue2.js.map +1 -1
  174. package/dist/cjs/modules/ms/pages/ms-member/index.vue.js +1 -1
  175. package/dist/cjs/modules/ms/pages/ms-member/index.vue2.js +1 -0
  176. package/dist/cjs/modules/ms/pages/ms-member/index.vue2.js.map +1 -1
  177. package/dist/cjs/modules/ms/pages/ms-role/index.vue.js +1 -1
  178. package/dist/cjs/node_modules/.pnpm/tinymce@7.1.1/node_modules/tinymce/plugins/code/plugin.js +0 -1
  179. package/dist/cjs/node_modules/.pnpm/tinymce@7.1.1/node_modules/tinymce/plugins/code/plugin.js.map +1 -1
  180. package/dist/cjs/page/index/404.vue.js +1 -1
  181. package/dist/cjs/page/index/dv/default/add.vue.js +1 -1
  182. package/dist/cjs/page/index/dv/default/add.vue2.js +1 -0
  183. package/dist/cjs/page/index/dv/default/add.vue2.js.map +1 -1
  184. package/dist/cjs/page/index/dv/default/edit.vue.js +1 -1
  185. package/dist/cjs/page/index/dv/default/edit.vue2.js +1 -0
  186. package/dist/cjs/page/index/dv/default/edit.vue2.js.map +1 -1
  187. package/dist/cjs/page/index/dv/default/single/list/dialog.vue.js +1 -1
  188. package/dist/cjs/page/index/dv/default/single/list/dialog.vue2.js +1 -0
  189. package/dist/cjs/page/index/dv/default/single/list/dialog.vue2.js.map +1 -1
  190. package/dist/cjs/page/index/dv/default/single/list/normal.vue.js +1 -1
  191. package/dist/cjs/page/index/dv/default/single/list/normal.vue2.js +1 -0
  192. package/dist/cjs/page/index/dv/default/single/list/normal.vue2.js.map +1 -1
  193. package/dist/cjs/page/index/dv/default/single/table-tree/dialog.vue.js +1 -1
  194. package/dist/cjs/page/index/dv/default/single/table-tree/dialog.vue2.js +1 -0
  195. package/dist/cjs/page/index/dv/default/single/table-tree/dialog.vue2.js.map +1 -1
  196. package/dist/cjs/page/index/dv/default/single/table-tree/normal.vue.js +1 -1
  197. package/dist/cjs/page/index/dv/default/single/table-tree/normal.vue2.js +1 -0
  198. package/dist/cjs/page/index/dv/default/single/table-tree/normal.vue2.js.map +1 -1
  199. package/dist/cjs/page/index/dv/default/single/tree/dialog.vue.js +1 -1
  200. package/dist/cjs/page/index/dv/default/single/tree/dialog.vue2.js +6 -5
  201. package/dist/cjs/page/index/dv/default/single/tree/dialog.vue2.js.map +1 -1
  202. package/dist/cjs/page/index/dv/default/table.vue.js +1 -1
  203. package/dist/cjs/page/index/dv/default/table.vue2.js +1 -0
  204. package/dist/cjs/page/index/dv/default/table.vue2.js.map +1 -1
  205. package/dist/cjs/page/index.vue.js +1 -1
  206. package/dist/cjs/page/login/index.vue.js +1 -1
  207. package/dist/cjs/page/login/index.vue2.js +1 -0
  208. package/dist/cjs/page/login/index.vue2.js.map +1 -1
  209. package/dist/cjs/page/signup/index.vue.js +1 -1
  210. package/dist/cjs/page/signup/index.vue2.js +1 -0
  211. package/dist/cjs/page/signup/index.vue2.js.map +1 -1
  212. package/dist/esm/components/basic/code-editor/code-editor-options.d.ts +16 -0
  213. package/dist/esm/components/basic/code-editor/code-editor-options.js +22 -0
  214. package/dist/esm/components/basic/code-editor/code-editor-options.js.map +1 -0
  215. package/dist/esm/components/basic/code-editor/code-editor.d.ts +27 -0
  216. package/dist/esm/components/basic/code-editor/code-editor.js +29 -0
  217. package/dist/esm/components/basic/code-editor/code-editor.js.map +1 -0
  218. package/dist/esm/components/basic/code-editor/index.d.ts +27 -0
  219. package/dist/esm/components/basic/code-editor/index.js +9 -0
  220. package/dist/esm/components/basic/code-editor/index.js.map +1 -0
  221. package/dist/esm/components/basic/data-select/data-select-options.js.map +1 -1
  222. package/dist/esm/components/basic/data-select/data-select.js.map +1 -1
  223. package/dist/esm/components/basic/data-table-select/data-table-select.js +1 -1
  224. package/dist/esm/components/basic/data-table-select/data-table-select.js.map +1 -1
  225. package/dist/esm/components/basic/data-table-select-dialog/data-table-select-dialog.js.map +1 -1
  226. package/dist/esm/components/basic/date-picker/date-picker-options.js.map +1 -1
  227. package/dist/esm/components/basic/date-picker/date-picker.js.map +1 -1
  228. package/dist/esm/components/basic/date-picker/index.js.map +1 -1
  229. package/dist/esm/components/basic/icon-select/icon-select-options.js.map +1 -1
  230. package/dist/esm/components/basic/icon-select/icon-select.js.map +1 -1
  231. package/dist/esm/components/basic/icon-select/index.js.map +1 -1
  232. package/dist/esm/components/basic/index.d.ts +1 -0
  233. package/dist/esm/components/basic/index.js +1 -0
  234. package/dist/esm/components/basic/index.js.map +1 -1
  235. package/dist/esm/components/basic/json-editor/json-editor-options.d.ts +1 -1
  236. package/dist/esm/components/basic/json-editor/json-editor-options.js.map +1 -1
  237. package/dist/esm/components/basic/json-editor/json-editor.js +3 -3
  238. package/dist/esm/components/basic/json-editor/json-editor.js.map +1 -1
  239. package/dist/esm/components/basic/page-container/index.js.map +1 -1
  240. package/dist/esm/components/basic/page-container/page-container.js.map +1 -1
  241. package/dist/esm/components/basic/radio/index.js.map +1 -1
  242. package/dist/esm/components/basic/radio/radio-options.js.map +1 -1
  243. package/dist/esm/components/basic/radio/radio.js.map +1 -1
  244. package/dist/esm/components/basic/system-provider/system-provider.js.map +1 -1
  245. package/dist/esm/components/basic/upload-file/context/WebFileUploadContext.js.map +1 -1
  246. package/dist/esm/components/basic/upload-file/ui/upload-image/upload-image.js.map +1 -1
  247. package/dist/esm/components/business/verify-dialog/verify-dialog.js.map +1 -1
  248. package/dist/esm/components/data-model/data-filter-form/components/condition-date/condition-date-options.js.map +1 -1
  249. package/dist/esm/components/data-model/data-filter-form/components/condition-date/condition-date.js.map +1 -1
  250. package/dist/esm/components/data-model/data-filter-form/components/condition-input/condition-input-options.js.map +1 -1
  251. package/dist/esm/components/data-model/data-filter-form/components/condition-input/condition-input.js.map +1 -1
  252. package/dist/esm/components/data-model/data-filter-form/components/condition-number/condition-number-options.js.map +1 -1
  253. package/dist/esm/components/data-model/data-filter-form/components/condition-number/condition-number.js.map +1 -1
  254. package/dist/esm/components/data-model/data-filter-form/components/condition-select/condition-select-options.js.map +1 -1
  255. package/dist/esm/components/data-model/data-filter-form/components/condition-select/condition-select.js.map +1 -1
  256. package/dist/esm/components/data-model/data-filter-form/data-filter-form-options.js.map +1 -1
  257. package/dist/esm/components/data-model/data-filter-form/index.js.map +1 -1
  258. package/dist/esm/components/data-model/data-filter-popover/data-filter-popover.js.map +1 -1
  259. package/dist/esm/components/data-model/data-form/components/form-data-table-select/form-data-table-select-options.js.map +1 -1
  260. package/dist/esm/components/data-model/data-form/components/form-data-table-select/form-data-table-select.js.map +1 -1
  261. package/dist/esm/components/data-model/data-form/components/form-detail/form-detail-options.js.map +1 -1
  262. package/dist/esm/components/data-model/data-form/components/form-detail/form-detail.js.map +1 -1
  263. package/dist/esm/components/data-model/data-form/data-form-item/data-form-item.js.map +1 -1
  264. package/dist/esm/components/data-model/data-form/data-form.js.map +1 -1
  265. package/dist/esm/components/data-model/data-form/index.js.map +1 -1
  266. package/dist/esm/components/data-model/data-form/views/form/form.js.map +1 -1
  267. package/dist/esm/components/data-model/data-table/components/column-action/column-action-options.js.map +1 -1
  268. package/dist/esm/components/data-model/data-table/components/column-action/column-action.js.map +1 -1
  269. package/dist/esm/components/data-model/data-table/components/column-date/column-date.js.map +1 -1
  270. package/dist/esm/components/data-model/data-table/components/column-icon/column-icon.js.map +1 -1
  271. package/dist/esm/components/data-model/data-table/components/column-image/column-image-options.js.map +1 -1
  272. package/dist/esm/components/data-model/data-table/components/column-json/column-json-options.js.map +1 -1
  273. package/dist/esm/components/data-model/data-table/components/column-json/column-json.js.map +1 -1
  274. package/dist/esm/components/data-model/data-table/components/column-link/column-link-options.js.map +1 -1
  275. package/dist/esm/components/data-model/data-table/components/column-object-mapping-text/column-object-mapping-text-options.js.map +1 -1
  276. package/dist/esm/components/data-model/data-table/components/column-select/column-select-header.js.map +1 -1
  277. package/dist/esm/components/data-model/data-table/components/column-select/column-select-options.js.map +1 -1
  278. package/dist/esm/components/data-model/data-table/components/column-select/column-select.js.map +1 -1
  279. package/dist/esm/components/data-model/data-table/components/column-switch/column-switch-options.js.map +1 -1
  280. package/dist/esm/components/data-model/data-table/components/column-switch/column-switch.js.map +1 -1
  281. package/dist/esm/components/data-model/data-table/components/column-tag/column-tag-options.js.map +1 -1
  282. package/dist/esm/components/data-model/data-table/components/column-tag/column-tag.js.map +1 -1
  283. package/dist/esm/components/data-model/data-table/components/column-text/column-text-options.js.map +1 -1
  284. package/dist/esm/components/data-model/data-table/components/column-text/column-text.js.map +1 -1
  285. package/dist/esm/components/data-model/data-table/data-table-column/data-table-column-options.js.map +1 -1
  286. package/dist/esm/components/data-model/data-table/data-table-column/data-table-column.js.map +1 -1
  287. package/dist/esm/components/data-model/data-table/data-table-column/index.js.map +1 -1
  288. package/dist/esm/components/data-model/data-table/data-table.js.map +1 -1
  289. package/dist/esm/components/data-model/data-table/index.js.map +1 -1
  290. package/dist/esm/components/data-model/data-table/views/table/table-options.js.map +1 -1
  291. package/dist/esm/components/data-model/data-table/views/table/table.js.map +1 -1
  292. package/dist/esm/components/data-model/data-table/views/table-tree/table-tree.js.map +1 -1
  293. package/dist/esm/components/data-model/data-table-pagination/data-table-pagination.js.map +1 -1
  294. package/dist/esm/components/index.js +1 -0
  295. package/dist/esm/components/index.js.map +1 -1
  296. package/dist/esm/composables/use-column-component.js.map +1 -1
  297. package/dist/esm/composables/use-i18n.js.map +1 -1
  298. package/dist/esm/composables/use-single-view.js.map +1 -1
  299. package/dist/esm/constants/data-model.js.map +1 -1
  300. package/dist/esm/constants/menu.js.map +1 -1
  301. package/dist/esm/core/MSAppClient.js.map +1 -1
  302. package/dist/esm/core/MkModule.js.map +1 -1
  303. package/dist/esm/core/Router.js.map +1 -1
  304. package/dist/esm/core/UserInfo.js.map +1 -1
  305. package/dist/esm/core/UserSession.js.map +1 -1
  306. package/dist/esm/core/component/ConfigComponents.js.map +1 -1
  307. package/dist/esm/core/component/DataFilterComponents.js.map +1 -1
  308. package/dist/esm/core/component/DataFormComponents.js +10 -0
  309. package/dist/esm/core/component/DataFormComponents.js.map +1 -1
  310. package/dist/esm/core/menu/Menu.js.map +1 -1
  311. package/dist/esm/core/menu/MenuNode.js.map +1 -1
  312. package/dist/esm/core/resolver/ITypeResolver.d.ts +1 -2
  313. package/dist/esm/core/tabs/Tab.js.map +1 -1
  314. package/dist/esm/define-data-form.js.map +1 -1
  315. package/dist/esm/define-data-table.js.map +1 -1
  316. package/dist/esm/define-data-tree.js.map +1 -1
  317. package/dist/esm/index.js +1 -0
  318. package/dist/esm/index.js.map +1 -1
  319. package/dist/esm/init-application.js.map +1 -1
  320. package/dist/esm/installer.js +1 -0
  321. package/dist/esm/installer.js.map +1 -1
  322. package/dist/esm/layouts/components/bar/index.js +1 -0
  323. package/dist/esm/layouts/components/bar/index.js.map +1 -1
  324. package/dist/esm/layouts/components/header/tools.js +1 -0
  325. package/dist/esm/layouts/components/header/tools.js.map +1 -1
  326. package/dist/esm/layouts/components/lock/lock.js +1 -0
  327. package/dist/esm/layouts/components/lock/lock.js.map +1 -1
  328. package/dist/esm/layouts/components/menu/menu-item.js +1 -0
  329. package/dist/esm/layouts/components/menu/menu-item.js.map +1 -1
  330. package/dist/esm/layouts/container/default.js +1 -0
  331. package/dist/esm/layouts/container/default.js.map +1 -1
  332. package/dist/esm/modules/cms/components/part-list/components/article-page/index.vue.js +1 -1
  333. package/dist/esm/modules/cms/components/part-list/components/article-page/index.vue2.js +1 -2
  334. package/dist/esm/modules/cms/components/part-list/components/article-page/index.vue2.js.map +1 -1
  335. package/dist/esm/modules/cms/components/part-list/components/page-container/index.vue.js +1 -1
  336. package/dist/esm/modules/cms/components/part-list/components/page-container/index.vue2.js +1 -0
  337. package/dist/esm/modules/cms/components/part-list/components/page-container/index.vue2.js.map +1 -1
  338. package/dist/esm/modules/cms/components/part-list/components/part-page/index.vue.js +1 -1
  339. package/dist/esm/modules/cms/components/part-list/components/part-page/index.vue2.js +1 -2
  340. package/dist/esm/modules/cms/components/part-list/components/part-page/index.vue2.js.map +1 -1
  341. package/dist/esm/modules/cms/components/part-list/part-list.vue.js +1 -1
  342. package/dist/esm/modules/cms/constants/index.js.map +1 -1
  343. package/dist/esm/modules/cms/dataviews/cms-ad-contents/CmsAdContentsTable.js.map +1 -1
  344. package/dist/esm/modules/cms/dataviews/cms-articles/CmsArticlesForm.js +6 -1
  345. package/dist/esm/modules/cms/dataviews/cms-articles/CmsArticlesForm.js.map +1 -1
  346. package/dist/esm/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasTable.js.map +1 -1
  347. package/dist/esm/modules/cms/dataviews/cms-parts/CmsPartForm.js +7 -1
  348. package/dist/esm/modules/cms/dataviews/cms-parts/CmsPartForm.js.map +1 -1
  349. package/dist/esm/modules/cms/dataviews/cms-parts/CmsPartTable.js.map +1 -1
  350. package/dist/esm/modules/cms/pages/cms-article/index.vue.js +1 -1
  351. package/dist/esm/modules/cms/pages/cms-article/index.vue2.js +1 -0
  352. package/dist/esm/modules/cms/pages/cms-article/index.vue2.js.map +1 -1
  353. package/dist/esm/modules/ms/components/markdown-editor/markdown-editor.js.map +1 -1
  354. package/dist/esm/modules/ms/components/material-list/material-group-form-popover.vue.js +1 -1
  355. package/dist/esm/modules/ms/components/material-list/material-group.vue.js +1 -1
  356. package/dist/esm/modules/ms/components/material-list/material-item.vue.js +1 -1
  357. package/dist/esm/modules/ms/components/material-list/material-list.vue.js +1 -1
  358. package/dist/esm/modules/ms/components/rich-text-editor/index.js.map +1 -1
  359. package/dist/esm/modules/ms/components/rich-text-editor/rich-text-editor.js +13 -14
  360. package/dist/esm/modules/ms/components/rich-text-editor/rich-text-editor.js.map +1 -1
  361. package/dist/esm/modules/ms/components/role-permission-config/role-permission-config.js.map +1 -1
  362. package/dist/esm/modules/ms/dataviews/ms-config/MsConfigForm.d.ts +1 -1
  363. package/dist/esm/modules/ms/dataviews/ms-config/MsConfigForm.js +11 -8
  364. package/dist/esm/modules/ms/dataviews/ms-config/MsConfigForm.js.map +1 -1
  365. package/dist/esm/modules/ms/dataviews/ms-material/MsMaterialTable.d.ts +1 -1
  366. package/dist/esm/modules/ms/dataviews/ms-material/MsMaterialTable.js +4 -4
  367. package/dist/esm/modules/ms/dataviews/ms-material/MsMaterialTable.js.map +1 -1
  368. package/dist/esm/modules/ms/dataviews/ms-member/MsMemberForm.js.map +1 -1
  369. package/dist/esm/modules/ms/dataviews/ms-member/MsMemberTable.js +15 -4
  370. package/dist/esm/modules/ms/dataviews/ms-member/MsMemberTable.js.map +1 -1
  371. package/dist/esm/modules/ms/dataviews/ms-menu/MsMenuForm.js.map +1 -1
  372. package/dist/esm/modules/ms/dataviews/ms-menu/ms-permission-point/MsPermissionPointDefineForm.js.map +1 -1
  373. package/dist/esm/modules/ms/dataviews/ms-menu/ms-route/MsRouteForm.js.map +1 -1
  374. package/dist/esm/modules/ms/dataviews/ms-role/MsRoleForm.js.map +1 -1
  375. package/dist/esm/modules/ms/index.js.map +1 -1
  376. package/dist/esm/modules/ms/material-upload-context/MaterialUploadContext.js.map +1 -1
  377. package/dist/esm/modules/ms/material-upload-context/material-upload-context-options.js.map +1 -1
  378. package/dist/esm/modules/ms/material-upload-context/material-upload-context.js.map +1 -1
  379. package/dist/esm/modules/ms/pages/local-log/index.vue.js +1 -1
  380. package/dist/esm/modules/ms/pages/local-log/index.vue2.js +1 -0
  381. package/dist/esm/modules/ms/pages/local-log/index.vue2.js.map +1 -1
  382. package/dist/esm/modules/ms/pages/ms-material/index.vue.js +1 -1
  383. package/dist/esm/modules/ms/pages/ms-material/index.vue2.js +1 -0
  384. package/dist/esm/modules/ms/pages/ms-material/index.vue2.js.map +1 -1
  385. package/dist/esm/modules/ms/pages/ms-member/index.vue.js +1 -1
  386. package/dist/esm/modules/ms/pages/ms-member/index.vue2.js +1 -0
  387. package/dist/esm/modules/ms/pages/ms-member/index.vue2.js.map +1 -1
  388. package/dist/esm/modules/ms/pages/ms-role/index.vue.js +1 -1
  389. package/dist/esm/node_modules/.pnpm/tinymce@7.1.1/node_modules/tinymce/plugins/code/plugin.js +0 -1
  390. package/dist/esm/node_modules/.pnpm/tinymce@7.1.1/node_modules/tinymce/plugins/code/plugin.js.map +1 -1
  391. package/dist/esm/page/index/404.vue.js +1 -1
  392. package/dist/esm/page/index/dv/default/add.vue.js +1 -1
  393. package/dist/esm/page/index/dv/default/add.vue2.js +1 -0
  394. package/dist/esm/page/index/dv/default/add.vue2.js.map +1 -1
  395. package/dist/esm/page/index/dv/default/edit.vue.js +1 -1
  396. package/dist/esm/page/index/dv/default/edit.vue2.js +1 -0
  397. package/dist/esm/page/index/dv/default/edit.vue2.js.map +1 -1
  398. package/dist/esm/page/index/dv/default/single/list/dialog.vue.js +1 -1
  399. package/dist/esm/page/index/dv/default/single/list/dialog.vue2.js +1 -0
  400. package/dist/esm/page/index/dv/default/single/list/dialog.vue2.js.map +1 -1
  401. package/dist/esm/page/index/dv/default/single/list/normal.vue.js +1 -1
  402. package/dist/esm/page/index/dv/default/single/list/normal.vue2.js +1 -0
  403. package/dist/esm/page/index/dv/default/single/list/normal.vue2.js.map +1 -1
  404. package/dist/esm/page/index/dv/default/single/table-tree/dialog.vue.js +1 -1
  405. package/dist/esm/page/index/dv/default/single/table-tree/dialog.vue2.js +1 -0
  406. package/dist/esm/page/index/dv/default/single/table-tree/dialog.vue2.js.map +1 -1
  407. package/dist/esm/page/index/dv/default/single/table-tree/normal.vue.js +1 -1
  408. package/dist/esm/page/index/dv/default/single/table-tree/normal.vue2.js +1 -0
  409. package/dist/esm/page/index/dv/default/single/table-tree/normal.vue2.js.map +1 -1
  410. package/dist/esm/page/index/dv/default/single/tree/dialog.vue.js +1 -1
  411. package/dist/esm/page/index/dv/default/single/tree/dialog.vue2.js +6 -5
  412. package/dist/esm/page/index/dv/default/single/tree/dialog.vue2.js.map +1 -1
  413. package/dist/esm/page/index/dv/default/table.vue.js +1 -1
  414. package/dist/esm/page/index/dv/default/table.vue2.js +1 -0
  415. package/dist/esm/page/index/dv/default/table.vue2.js.map +1 -1
  416. package/dist/esm/page/index.vue.js +1 -1
  417. package/dist/esm/page/login/index.vue.js +1 -1
  418. package/dist/esm/page/login/index.vue2.js +1 -0
  419. package/dist/esm/page/login/index.vue2.js.map +1 -1
  420. package/dist/esm/page/signup/index.vue.js +1 -1
  421. package/dist/esm/page/signup/index.vue2.js +1 -0
  422. package/dist/esm/page/signup/index.vue2.js.map +1 -1
  423. package/dist/style/components/code-editor.css +1 -0
  424. package/dist/style/components/index.css +1 -1
  425. package/dist/style/index.css +1 -1
  426. package/dist/style/src/components/code-editor.scss +7 -0
  427. package/dist/style/src/components/form/form-detail.scss +28 -28
  428. package/dist/style/src/components/index.scss +59 -59
  429. package/dist/style/src/components/page-container.scss +20 -20
  430. package/package.json +5 -2
  431. package/dist/style/components/json-editor.css +0 -1
  432. package/dist/style/src/components/json-editor.scss +0 -7
@@ -1 +1 @@
1
- {"version":3,"file":"rich-text-editor.js","sources":["../../../../../../src/modules/ms/components/rich-text-editor/rich-text-editor.tsx"],"sourcesContent":["import { Ref, computed, defineComponent, getCurrentInstance, onBeforeUnmount, onMounted, ref, unref, watch, withCtx } from \"vue\";\r\nimport { MKMaterialSelect } from \"../material-select\";\r\nimport TinyMCE from \"tinymce\";\r\nimport \"tinymce/themes/silver/theme.js\";\r\nimport \"tinymce/models/dom/model.min.js\";\r\nimport \"tinymce/icons/default/icons.min.js\";\r\nimport \"tinymce/skins/ui/oxide/skin.js\";\r\nimport \"tinymce/skins/ui/oxide/content.js\";\r\nimport \"tinymce/skins/content/default/content.js\";\r\nimport \"tinymce/plugins/link\";\r\nimport \"tinymce/plugins/table\";\r\nimport \"tinymce/plugins/fullscreen\";\r\nimport \"tinymce/plugins/code\";\r\nimport \"./langs/zh-Hans.js\";\r\n\r\nimport { richTextEditorEmits, richTextEditorProps } from \"./rich-text-editor-options\";\r\n\r\nexport default defineComponent({\r\n\tname: \"MKRichTextEditor\",\r\n\tprops: richTextEditorProps,\r\n\temits: richTextEditorEmits,\r\n\tsetup(props, { emit }) {\r\n\t\tconst richTextEditorEl: Ref<HTMLElement | null> = ref(null);\r\n\r\n\t\tconst instance = getCurrentInstance();\r\n\t\tfunction escapeHtml(text: string) {\r\n\t\t\treturn text.replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\").replace(/\"/g, \"&quot;\").replace(/'/g, \"&#039;\");\r\n\t\t}\r\n\t\tonMounted(async () => {\r\n\t\t\tconst tinymceInstance = await TinyMCE.init({\r\n\t\t\t\ttarget: unref(richTextEditorEl)!,\r\n\t\t\t\tpromotion: false,\r\n\t\t\t\tplugins: [\"link\", \"table\", \"fullscreen\", \"code\", \"bbcode\"],\r\n\t\t\t\tbranding: false,\r\n\t\t\t\tmenubar: false,\r\n\t\t\t\tvalid_elements: \"*[*]\", // 允许所有元素和属性\r\n\t\t\t\textended_valid_elements: \"script[type|src|language|content]\", // 扩展允许的元素,包括 script 标签\r\n\t\t\t\tforced_root_block: \" \", // 禁用自动生成 <p> 标签\r\n\t\t\t\tverify_html: false, // 禁用 HTML 验证\r\n\t\t\t\tcleanup: false, // 禁用内容清理\r\n\t\t\t\tentity_encoding: \"raw\", // 原样保留 HTML 实体\r\n\t\t\t\tconvert_urls: false, // 禁用 URL 转换\r\n\t\t\t\tcontent_style: \"body { white-space: pre-wrap; }\", // 保留空白字符格式\r\n\t\t\t\tfont_family_formats:\r\n\t\t\t\t\t\"微软雅黑='微软雅黑';宋体='宋体';黑体='黑体';仿宋='仿宋';楷体='楷体';隶书='隶书';幼圆='幼圆';Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings\",\r\n\t\t\t\ttoolbar:\r\n\t\t\t\t\t\"undo redo | styles | fontfamily | fontsize forecolor | bold italic underline strikethrough | alignleft aligncenter alignright | material | outdent indent | link | table | hr | removeformat | code fullscreen\",\r\n\t\t\t\tlanguage: \"zh-Hans\",\r\n\t\t\t\tskin_url: \"default\",\r\n\t\t\t\tsetup: (editor) => {\r\n\t\t\t\t\teditor.ui.registry.addButton(\"material\", {\r\n\t\t\t\t\t\ticon: \"image\",\r\n\t\t\t\t\t\tonAction: async () => {\r\n\t\t\t\t\t\t\tconst response = await MKMaterialSelect();\r\n\t\t\t\t\t\t\tif (!response.success) {\r\n\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\teditor.insertContent(`<img src=\"${response.path}\" alt=\"${response.data!.id}\">`);\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t});\r\n\t\t\t\t\teditor.on(\"paste\", (event, ...args) => {\r\n\t\t\t\t\t\tconsole.log(event, ...args);\r\n\t\t\t\t\t});\r\n\t\t\t\t\teditor.on(\"change input undo redo\", () => {\r\n\t\t\t\t\t\temit(\"update:model-value\", editor.getContent());\r\n\t\t\t\t\t});\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t\twatch(\r\n\t\t\t\tcomputed(() => props.modelValue),\r\n\t\t\t\t(modelValue) => {\r\n\t\t\t\t\tfor (const instance of tinymceInstance) {\r\n\t\t\t\t\t\tif (instance.getContent() !== modelValue) {\r\n\t\t\t\t\t\t\tinstance.setContent(modelValue);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\t{ immediate: true }\r\n\t\t\t);\r\n\t\t\twatch(\r\n\t\t\t\tcomputed(() => props.disabled),\r\n\t\t\t\t(disabled) => {\r\n\t\t\t\t\tfor (const instance of tinymceInstance) {\r\n\t\t\t\t\t\tinstance.mode.set(disabled ? \"readonly\" : \"design\");\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\t{ immediate: true }\r\n\t\t\t);\r\n\r\n\t\t\twithCtx(() => {\r\n\t\t\t\tonBeforeUnmount(() => {\r\n\t\t\t\t\tfor (const instance of tinymceInstance) {\r\n\t\t\t\t\t\tinstance.destroy();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}, instance);\r\n\t\t});\r\n\t\treturn () => {\r\n\t\t\treturn (\r\n\t\t\t\t<div class=\"mk-rich-text-editor\">\r\n\t\t\t\t\t<div class=\"mk-rich-text-editor__wrapper\" ref={((el: HTMLElement) => (richTextEditorEl.value = el)) as any} />\r\n\t\t\t\t</div>\r\n\t\t\t);\r\n\t\t};\r\n\t},\r\n});\r\n"],"names":["name","props","richTextEditorProps","emits","richTextEditorEmits","setup","emit","richTextEditorEl","ref","instance","getCurrentInstance","onMounted","tinymceInstance","TinyMCE","init","target","unref","promotion","plugins","branding","menubar","valid_elements","extended_valid_elements","forced_root_block","verify_html","cleanup","entity_encoding","convert_urls","content_style","font_family_formats","toolbar","language","skin_url","editor","ui","registry","addButton","icon","onAction","response","MKMaterialSelect","success","insertContent","path","data","id","on","event","args","console","log","getContent","watch","computed","modelValue","setContent","immediate","disabled","mode","set","withCtx","onBeforeUnmount","destroy","_createVNode","el","value"],"mappings":"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"}
1
+ {"version":3,"file":"rich-text-editor.js","sources":["../../../../../../src/modules/ms/components/rich-text-editor/rich-text-editor.tsx"],"sourcesContent":["import { Ref, computed, defineComponent, getCurrentInstance, onBeforeUnmount, onMounted, ref, unref, watch, withCtx } from \"vue\";\r\nimport { MKMaterialSelect } from \"../material-select\";\r\nimport TinyMCE from \"tinymce\";\r\nimport \"tinymce/themes/silver/theme.js\";\r\nimport \"tinymce/models/dom/model.min.js\";\r\nimport \"tinymce/icons/default/icons.min.js\";\r\nimport \"tinymce/skins/ui/oxide/skin.js\";\r\nimport \"tinymce/skins/ui/oxide/content.js\";\r\nimport \"tinymce/skins/content/default/content.js\";\r\nimport \"tinymce/plugins/link\";\r\nimport \"tinymce/plugins/table\";\r\nimport \"tinymce/plugins/fullscreen\";\r\nimport \"tinymce/plugins/code\";\r\nimport \"./langs/zh-Hans.js\";\r\n\r\nimport { richTextEditorEmits, richTextEditorProps } from \"./rich-text-editor-options\";\r\n\r\nexport default defineComponent({\r\n\tname: \"MKRichTextEditor\",\r\n\tprops: richTextEditorProps,\r\n\temits: richTextEditorEmits,\r\n\tsetup(props, { emit }) {\r\n\t\tconst richTextEditorEl: Ref<HTMLElement | null> = ref(null);\r\n\r\n\t\tconst instance = getCurrentInstance();\r\n\t\tfunction escapeHtml(text: string) {\r\n\t\t\treturn text.replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/>/g, \"&gt;\").replace(/\"/g, \"&quot;\").replace(/'/g, \"&#039;\");\r\n\t\t}\r\n\t\tonMounted(async () => {\r\n\t\t\tconst tinymceInstance = await TinyMCE.init({\r\n\t\t\t\ttarget: unref(richTextEditorEl)!,\r\n\t\t\t\tpromotion: false,\r\n\t\t\t\tplugins: [\"link\", \"table\", \"fullscreen\", \"code\"],\r\n\t\t\t\tbranding: false,\r\n\t\t\t\tmenubar: false,\r\n\t\t\t\tforced_root_block: \" \",\r\n\t\t\t\tvalid_elements: \"*[*]\", // 允许所有元素和属性\r\n\t\t\t\textended_valid_elements: \"script[src|async|defer|type|charset]\", // 允许 script 标签的特定属性\r\n\t\t\t\tcustom_elements: \"~script\", // 允许自定义标签\r\n\t\t\t\tvalid_children: \"+body[script]\", // 允许 body 包含 script 标签\r\n\t\t\t\tcleanup: false,\r\n\t\t\t\tapply_source_formatting: false,\r\n\t\t\t\tverify_html: false,\r\n\t\t\t\tfont_family_formats:\r\n\t\t\t\t\t\"微软雅黑='微软雅黑';宋体='宋体';黑体='黑体';仿宋='仿宋';楷体='楷体';隶书='隶书';幼圆='幼圆';Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings\",\r\n\t\t\t\ttoolbar:\r\n\t\t\t\t\t\"undo redo | styles | fontfamily | fontsize forecolor | bold italic underline strikethrough | alignleft aligncenter alignright | material | outdent indent | link | table | hr | removeformat | code fullscreen\",\r\n\t\t\t\tlanguage: \"zh-Hans\",\r\n\t\t\t\tskin_url: \"default\",\r\n\t\t\t\tsetup: (editor) => {\r\n\t\t\t\t\t\r\n\t\t\t\t\teditor.on(\"change\", function () {\r\n\t\t\t\t\t\tconsole.log(\"Content changed:\", editor.getContent());\r\n\t\t\t\t\t});\r\n\t\t\t\t\teditor.ui.registry.addButton(\"material\", {\r\n\t\t\t\t\t\ticon: \"image\",\r\n\t\t\t\t\t\tonAction: async () => {\r\n\t\t\t\t\t\t\tconst response = await MKMaterialSelect();\r\n\t\t\t\t\t\t\tif (!response.success) {\r\n\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\teditor.insertContent(`<img src=\"${response.path}\" alt=\"${response.data!.id}\">`);\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t});\r\n\t\t\t\t\teditor.on(\"paste\", (event, ...args) => {\r\n\t\t\t\t\t\tconsole.log(event, ...args);\r\n\t\t\t\t\t});\r\n\t\t\t\t\teditor.on(\"change input undo redo\", () => {\r\n\t\t\t\t\t\temit(\"update:model-value\", editor.getContent());\r\n\t\t\t\t\t});\r\n\t\t\t\t},\r\n\t\t\t});\r\n\t\t\twatch(\r\n\t\t\t\tcomputed(() => props.modelValue),\r\n\t\t\t\t(modelValue) => {\r\n\t\t\t\t\tfor (const instance of tinymceInstance) {\r\n\t\t\t\t\t\tif (instance.getContent() !== modelValue) {\r\n\t\t\t\t\t\t\tinstance.setContent(modelValue);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\t{ immediate: true }\r\n\t\t\t);\r\n\t\t\twatch(\r\n\t\t\t\tcomputed(() => props.disabled),\r\n\t\t\t\t(disabled) => {\r\n\t\t\t\t\tfor (const instance of tinymceInstance) {\r\n\t\t\t\t\t\tinstance.mode.set(disabled ? \"readonly\" : \"design\");\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\t{ immediate: true }\r\n\t\t\t);\r\n\r\n\t\t\twithCtx(() => {\r\n\t\t\t\tonBeforeUnmount(() => {\r\n\t\t\t\t\tfor (const instance of tinymceInstance) {\r\n\t\t\t\t\t\tinstance.destroy();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}, instance);\r\n\t\t});\r\n\t\treturn () => {\r\n\t\t\treturn (\r\n\t\t\t\t<div class=\"mk-rich-text-editor\">\r\n\t\t\t\t\t<div class=\"mk-rich-text-editor__wrapper\" ref={((el: HTMLElement) => (richTextEditorEl.value = el)) as any} />\r\n\t\t\t\t</div>\r\n\t\t\t);\r\n\t\t};\r\n\t},\r\n});\r\n"],"names":["name","props","richTextEditorProps","emits","richTextEditorEmits","setup","emit","richTextEditorEl","ref","instance","getCurrentInstance","onMounted","tinymceInstance","TinyMCE","init","target","unref","promotion","plugins","branding","menubar","forced_root_block","valid_elements","extended_valid_elements","custom_elements","valid_children","cleanup","apply_source_formatting","verify_html","font_family_formats","toolbar","language","skin_url","editor","on","console","log","getContent","ui","registry","addButton","icon","onAction","response","MKMaterialSelect","success","insertContent","path","data","id","event","args","watch","computed","modelValue","setContent","immediate","disabled","mode","set","withCtx","onBeforeUnmount","destroy","_createVNode","el","value"],"mappings":";;;;;;;;;;;;;;;;AAiBA,qCAA+B,eAAA,CAAA;AAAA,EAC9BA,IAAM,EAAA,kBAAA;AAAA,EACNC,KAAOC,EAAAA,mBAAAA;AAAAA,EACPC,KAAOC,EAAAA,mBAAAA;AAAAA,EACPC,MAAMJ,KAAO,EAAA;AAAA,IAAEK,IAAAA;AAAAA,GAAQ,EAAA;AACtB,IAAMC,MAAAA,gBAAAA,GAA4CC,IAAI,IAAI,CAAA,CAAA;AAE1D,IAAA,MAAMC,WAAWC,kBAAmB,EAAA,CAAA;AAIpCC,IAAAA,SAAAA,CAAU,YAAY;AACrB,MAAMC,MAAAA,eAAAA,GAAkB,MAAMC,OAAAA,CAAQC,IAAK,CAAA;AAAA,QAC1CC,MAAAA,EAAQC,MAAMT,gBAAgB,CAAA;AAAA,QAC9BU,SAAW,EAAA,KAAA;AAAA,QACXC,OAAS,EAAA,CAAC,MAAQ,EAAA,OAAA,EAAS,cAAc,MAAM,CAAA;AAAA,QAC/CC,QAAU,EAAA,KAAA;AAAA,QACVC,OAAS,EAAA,KAAA;AAAA,QACTC,iBAAmB,EAAA,GAAA;AAAA,QACnBC,cAAgB,EAAA,MAAA;AAAA;AAAA,QAChBC,uBAAyB,EAAA,sCAAA;AAAA;AAAA,QACzBC,eAAiB,EAAA,SAAA;AAAA;AAAA,QACjBC,cAAgB,EAAA,eAAA;AAAA;AAAA,QAChBC,OAAS,EAAA,KAAA;AAAA,QACTC,uBAAyB,EAAA,KAAA;AAAA,QACzBC,WAAa,EAAA,KAAA;AAAA,QACbC,mBACC,EAAA,isBAAA;AAAA,QACDC,OACC,EAAA,kNAAA;AAAA,QACDC,QAAU,EAAA,SAAA;AAAA,QACVC,QAAU,EAAA,SAAA;AAAA,QACV3B,OAAQ4B,CAAW,MAAA,KAAA;AAElBA,UAAOC,MAAAA,CAAAA,EAAAA,CAAG,UAAU,WAAY;AAC/BC,YAAAA,OAAAA,CAAQC,GAAI,CAAA,kBAAA,EAAoBH,MAAOI,CAAAA,UAAAA,EAAY,CAAA,CAAA;AAAA,WACnD,CAAA,CAAA;AACDJ,UAAOK,MAAAA,CAAAA,EAAAA,CAAGC,QAASC,CAAAA,SAAAA,CAAU,UAAY,EAAA;AAAA,YACxCC,IAAM,EAAA,OAAA;AAAA,YACNC,UAAU,YAAY;AACrB,cAAMC,MAAAA,QAAAA,GAAW,MAAMC,gBAAiB,EAAA,CAAA;AACxC,cAAI,IAAA,CAACD,SAASE,OAAS,EAAA;AACtB,gBAAA,OAAA;AAAA,eACD;AACAZ,cAAOa,MAAAA,CAAAA,aAAAA,CAAe,aAAYH,QAASI,CAAAA,IAAK,UAASJ,QAASK,CAAAA,IAAAA,CAAMC,EAAG,CAAG,EAAA,CAAA,CAAA,CAAA;AAAA,aAC/E;AAAA,WACA,CAAA,CAAA;AACDhB,UAAAA,MAAAA,CAAOC,EAAG,CAAA,OAAA,EAAS,CAACgB,KAAAA,EAAAA,GAAUC,IAAS,KAAA;AACtChB,YAAQC,OAAAA,CAAAA,GAAAA,CAAIc,KAAO,EAAA,GAAGC,IAAI,CAAA,CAAA;AAAA,WAC1B,CAAA,CAAA;AACDlB,UAAOC,MAAAA,CAAAA,EAAAA,CAAG,0BAA0B,MAAM;AACzC5B,YAAK,IAAA,CAAA,oBAAA,EAAsB2B,MAAOI,CAAAA,UAAAA,EAAY,CAAA,CAAA;AAAA,WAC9C,CAAA,CAAA;AAAA,SACF;AAAA,OACA,CAAA,CAAA;AACDe,MAAAA,KAAAA,CACCC,QAAS,CAAA,MAAMpD,KAAMqD,CAAAA,UAAU,GAC9BA,CAAe,UAAA,KAAA;AACf,QAAA,KAAA,MAAW7C,aAAYG,eAAiB,EAAA;AACvC,UAAIH,IAAAA,SAAAA,CAAS4B,UAAW,EAAA,KAAMiB,UAAY,EAAA;AACzC7C,YAAAA,SAAAA,CAAS8C,WAAWD,UAAU,CAAA,CAAA;AAAA,WAC/B;AAAA,SACD;AAAA,OAED,EAAA;AAAA,QAAEE,SAAW,EAAA,IAAA;AAAA,OACd,CAAA,CAAA;AACAJ,MAAAA,KAAAA,CACCC,QAAS,CAAA,MAAMpD,KAAMwD,CAAAA,QAAQ,GAC5BA,CAAa,QAAA,KAAA;AACb,QAAA,KAAA,MAAWhD,aAAYG,eAAiB,EAAA;AACvCH,UAAAA,SAASiD,CAAAA,IAAAA,CAAKC,GAAIF,CAAAA,QAAAA,GAAW,aAAa,QAAQ,CAAA,CAAA;AAAA,SACnD;AAAA,OAED,EAAA;AAAA,QAAED,SAAW,EAAA,IAAA;AAAA,OACd,CAAA,CAAA;AAEAI,MAAAA,OAAAA,CAAQ,MAAM;AACbC,QAAAA,eAAAA,CAAgB,MAAM;AACrB,UAAA,KAAA,MAAWpD,aAAYG,eAAiB,EAAA;AACvCH,YAAAA,UAASqD,OAAQ,EAAA,CAAA;AAAA,WAClB;AAAA,SACA,CAAA,CAAA;AAAA,SACCrD,QAAQ,CAAA,CAAA;AAAA,KACX,CAAA,CAAA;AACD,IAAA,OAAO,MAAM;AACZ,MAAA,OAAAsD,YAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAA,qBAAA;AAAA,OAAA,EAAA,CAAAA,WAAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAA,8BAAA;AAAA,QAAA,KAAA,EAEmDC,CAAqBzD,EAAAA,KAAAA,gBAAAA,CAAiB0D,KAAQD,GAAAA,EAAAA;AAAAA,OAAG,EAAA,IAAA,CAAA,CAAA,CAAA,CAAA;AAAA,KAGrG,CAAA;AAAA,GACD;AACD,CAAC,CAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"role-permission-config.js","sources":["../../../../../../src/modules/ms/components/role-permission-config/role-permission-config.tsx"],"sourcesContent":["import {\r\n Fragment,\r\n computed,\r\n defineComponent,\r\n reactive,\r\n unref,\r\n watch,\r\n} from \"vue\";\r\nimport {\r\n ElTable,\r\n ElTableColumn,\r\n ElCheckbox,\r\n ElTooltip,\r\n ElCard,\r\n ElButton,\r\n ElAlert,\r\n} from \"element-plus\";\r\nimport { postTraverse } from \"@maketribe/utils\";\r\nimport { MsRoleMenuNode, MsRolePermissionPointDefine } from \"../../dataviews\";\r\nimport { useI18n } from \"../../../../composables\";\r\nimport {\r\n rolePermissionConfigEmits,\r\n rolePermissionConfigProps,\r\n} from \"./role-permission-config-options\";\r\n\r\ntype RowInfo = {\r\n roleMenus: MsRoleMenuNode[];\r\n permissionPoints: MsRolePermissionPointDefine[];\r\n};\r\n\r\ntype CellInfo = { row: RowInfo; rowIndex: number; columnIndex: number };\r\n\r\nexport default defineComponent({\r\n name: \"MKRolePermissionConfig\",\r\n props: rolePermissionConfigProps,\r\n emits: rolePermissionConfigEmits,\r\n setup(props, { emit }) {\r\n const i18n = useI18n()!;\r\n\r\n const rolePermissionConfigTable = computed(\r\n () => props.rolePermissionConfigTable\r\n );\r\n\r\n const loading = computed(() => unref(rolePermissionConfigTable).loading);\r\n\r\n const rootRoleMenuNodes = computed(() =>\r\n unref(rolePermissionConfigTable).getRootRoleMenuNodes()\r\n );\r\n\r\n const list = computed(() => {\r\n const _rootRoleMenuNodes = unref(rootRoleMenuNodes);\r\n\r\n const list: RowInfo[] = [];\r\n\r\n postTraverse<MsRoleMenuNode>(\r\n _rootRoleMenuNodes,\r\n (roleMenu, ancestors) => {\r\n if (!roleMenu.children.length) {\r\n list.push({\r\n roleMenus: [...ancestors],\r\n permissionPoints: roleMenu.permissionPoints,\r\n });\r\n }\r\n }\r\n );\r\n\r\n return list;\r\n });\r\n\r\n const maxMenuColumns = computed(() => {\r\n const _list = unref(list);\r\n\r\n return Math.max(..._list.map((item) => item.roleMenus.length), 0);\r\n });\r\n\r\n const handleSpanMethod = ({\r\n row,\r\n rowIndex,\r\n columnIndex,\r\n }: CellInfo): [number, number] => {\r\n const _maxMenuColumns = unref(maxMenuColumns);\r\n\r\n let columnSpan = 1;\r\n\r\n if (row.roleMenus.length < _maxMenuColumns) {\r\n if (row.roleMenus.length - 1 === columnIndex) {\r\n columnSpan = _maxMenuColumns - columnIndex;\r\n } else if (\r\n columnIndex < _maxMenuColumns &&\r\n columnIndex >= row.roleMenus.length\r\n ) {\r\n columnSpan = 0;\r\n }\r\n }\r\n\r\n let rowSpan = 1;\r\n\r\n const _list = unref(list);\r\n\r\n if (columnIndex < _maxMenuColumns) {\r\n const bothExisting: boolean = !!(\r\n _list[rowIndex]?.roleMenus?.[columnIndex] &&\r\n _list[rowIndex - 1]?.roleMenus?.[columnIndex]\r\n );\r\n\r\n if (\r\n // 第一行\r\n rowIndex === 0 ||\r\n // 两条记录都存在,且前一条和当前记录不一致\r\n (bothExisting &&\r\n _list[rowIndex].roleMenus[columnIndex].id !==\r\n _list[rowIndex - 1].roleMenus[columnIndex].id)\r\n ) {\r\n let count = 1;\r\n\r\n for (let i = rowIndex + 1; i < _list.length; i++) {\r\n if (\r\n _list[rowIndex].roleMenus[columnIndex]?.id !==\r\n _list[i].roleMenus[columnIndex]?.id\r\n ) {\r\n break;\r\n }\r\n count++;\r\n }\r\n\r\n rowSpan = count;\r\n } else if (bothExisting) {\r\n // 两条记录都存在切记录一致\r\n rowSpan = 0;\r\n }\r\n }\r\n\r\n return [rowSpan, columnSpan];\r\n };\r\n\r\n const saveRolePermission = async () => {\r\n props.rolePermissionConfigTable.submitPermission();\r\n };\r\n\r\n watch(\r\n computed(() => props.rolePermissionConfigTable),\r\n async (rolePermissionConfigTable) => {\r\n await rolePermissionConfigTable.init();\r\n await rolePermissionConfigTable.load();\r\n },\r\n { immediate: true }\r\n );\r\n\r\n return () => {\r\n const menuColumnVnodes = new Array(unref(maxMenuColumns))\r\n .fill(0)\r\n .map((_, i) => {\r\n return (\r\n <ElTableColumn\r\n label={i18n.translate(\"mk.rolePermissionConfig.tableMenuHeader\", {\r\n level: i + 1,\r\n })}\r\n v-slots={{\r\n default: ({ row }: { row: RowInfo }) => {\r\n const roleMenu = row.roleMenus[i];\r\n\r\n if (!roleMenu) {\r\n return null;\r\n }\r\n\r\n return (\r\n <ElTooltip content={roleMenu.title} placement=\"top\">\r\n <ElCheckbox\r\n class=\"role-permission-config__menu\"\r\n modelValue={roleMenu.selected}\r\n indeterminate={roleMenu.indeterminate}\r\n onUpdate:modelValue={() =>\r\n unref(rolePermissionConfigTable).toggleRoleMenu(\r\n roleMenu\r\n )\r\n }\r\n >\r\n {roleMenu.title}\r\n </ElCheckbox>\r\n </ElTooltip>\r\n );\r\n },\r\n }}\r\n />\r\n );\r\n });\r\n\r\n return (\r\n <ElCard\r\n v-slots={{\r\n header: () => {\r\n return (\r\n <div class=\"header-box\">\r\n <div class=\"header-box-main\">\r\n <ElAlert\r\n title={\r\n props.rolePermissionConfigTable.hasChange()\r\n ? `当前【 ${rolePermissionConfigTable.value.currentRoleDesc} 】权限已发生改变,保存后生效!`\r\n : `当前【 ${rolePermissionConfigTable.value.currentRoleDesc} 】权限无任何改变!`\r\n }\r\n showIcon\r\n type={\r\n props.rolePermissionConfigTable.hasChange()\r\n ? \"warning\"\r\n : \"info\"\r\n }\r\n closable={false}\r\n />\r\n </div>\r\n <div class=\"header-box-tools\">\r\n <ElButton\r\n onClick={saveRolePermission}\r\n type=\"primary\"\r\n disabled={!props.rolePermissionConfigTable.hasChange()}\r\n >\r\n {i18n.translate(\"mk.dataForm.saveButton\")}\r\n </ElButton>\r\n </div>\r\n </div>\r\n );\r\n },\r\n }}\r\n >\r\n <ElTable\r\n class=\"role-permission-config\"\r\n data={unref(list)}\r\n border\r\n spanMethod={handleSpanMethod}\r\n v-loading={unref(loading)}\r\n >\r\n {menuColumnVnodes}\r\n\r\n <ElTableColumn\r\n label={i18n.translate(\r\n \"mk.rolePermissionConfig.tablePermissionPointHeader\"\r\n )}\r\n minWidth=\"300px\"\r\n v-slots={{\r\n default: ({ row }: { row: RowInfo }) => {\r\n const permissionPointVnodes = row.permissionPoints.map(\r\n (permissionPoint) => {\r\n return (\r\n <ElTooltip\r\n content={permissionPoint.name}\r\n placement=\"top\"\r\n >\r\n <ElCheckbox\r\n class=\"role-permission-config__permission-point\"\r\n modelValue={permissionPoint.selected}\r\n onUpdate:modelValue={() => {\r\n unref(\r\n rolePermissionConfigTable\r\n ).toggleRolePermissionPoint(permissionPoint);\r\n }}\r\n >\r\n {permissionPoint.name}\r\n </ElCheckbox>\r\n </ElTooltip>\r\n );\r\n }\r\n );\r\n\r\n return <Fragment>{permissionPointVnodes}</Fragment>;\r\n },\r\n }}\r\n />\r\n </ElTable>\r\n </ElCard>\r\n );\r\n };\r\n },\r\n});\r\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","name","props","rolePermissionConfigProps","emits","rolePermissionConfigEmits","setup","emit","i18n","useI18n","rolePermissionConfigTable","computed","loading","unref","rootRoleMenuNodes","getRootRoleMenuNodes","list","_rootRoleMenuNodes","postTraverse","roleMenu","ancestors","children","length","push","roleMenus","permissionPoints","maxMenuColumns","_list","Math","max","map","item","handleSpanMethod","row","rowIndex","columnIndex","_maxMenuColumns","columnSpan","rowSpan","bothExisting","id","count","i","saveRolePermission","submitPermission","watch","init","load","immediate","menuColumnVnodes","Array","fill","_","_createVNode","ElTableColumn","translate","level","default","ElTooltip","title","ElCheckbox","selected","indeterminate","onUpdate:modelValue","toggleRoleMenu","ElCard","_withDirectives","ElTable","permissionPointVnodes","permissionPoint","toggleRolePermissionPoint","_Fragment","_resolveDirective","header","_slot","ElAlert","hasChange","value","currentRoleDesc","ElButton"],"mappings":"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"}
1
+ {"version":3,"file":"role-permission-config.js","sources":["../../../../../../src/modules/ms/components/role-permission-config/role-permission-config.tsx"],"sourcesContent":["import {\n Fragment,\n computed,\n defineComponent,\n reactive,\n unref,\n watch,\n} from \"vue\";\nimport {\n ElTable,\n ElTableColumn,\n ElCheckbox,\n ElTooltip,\n ElCard,\n ElButton,\n ElAlert,\n} from \"element-plus\";\nimport { postTraverse } from \"@maketribe/utils\";\nimport { MsRoleMenuNode, MsRolePermissionPointDefine } from \"../../dataviews\";\nimport { useI18n } from \"../../../../composables\";\nimport {\n rolePermissionConfigEmits,\n rolePermissionConfigProps,\n} from \"./role-permission-config-options\";\n\ntype RowInfo = {\n roleMenus: MsRoleMenuNode[];\n permissionPoints: MsRolePermissionPointDefine[];\n};\n\ntype CellInfo = { row: RowInfo; rowIndex: number; columnIndex: number };\n\nexport default defineComponent({\n name: \"MKRolePermissionConfig\",\n props: rolePermissionConfigProps,\n emits: rolePermissionConfigEmits,\n setup(props, { emit }) {\n const i18n = useI18n()!;\n\n const rolePermissionConfigTable = computed(\n () => props.rolePermissionConfigTable\n );\n\n const loading = computed(() => unref(rolePermissionConfigTable).loading);\n\n const rootRoleMenuNodes = computed(() =>\n unref(rolePermissionConfigTable).getRootRoleMenuNodes()\n );\n\n const list = computed(() => {\n const _rootRoleMenuNodes = unref(rootRoleMenuNodes);\n\n const list: RowInfo[] = [];\n\n postTraverse<MsRoleMenuNode>(\n _rootRoleMenuNodes,\n (roleMenu, ancestors) => {\n if (!roleMenu.children.length) {\n list.push({\n roleMenus: [...ancestors],\n permissionPoints: roleMenu.permissionPoints,\n });\n }\n }\n );\n\n return list;\n });\n\n const maxMenuColumns = computed(() => {\n const _list = unref(list);\n\n return Math.max(..._list.map((item) => item.roleMenus.length), 0);\n });\n\n const handleSpanMethod = ({\n row,\n rowIndex,\n columnIndex,\n }: CellInfo): [number, number] => {\n const _maxMenuColumns = unref(maxMenuColumns);\n\n let columnSpan = 1;\n\n if (row.roleMenus.length < _maxMenuColumns) {\n if (row.roleMenus.length - 1 === columnIndex) {\n columnSpan = _maxMenuColumns - columnIndex;\n } else if (\n columnIndex < _maxMenuColumns &&\n columnIndex >= row.roleMenus.length\n ) {\n columnSpan = 0;\n }\n }\n\n let rowSpan = 1;\n\n const _list = unref(list);\n\n if (columnIndex < _maxMenuColumns) {\n const bothExisting: boolean = !!(\n _list[rowIndex]?.roleMenus?.[columnIndex] &&\n _list[rowIndex - 1]?.roleMenus?.[columnIndex]\n );\n\n if (\n // 第一行\n rowIndex === 0 ||\n // 两条记录都存在,且前一条和当前记录不一致\n (bothExisting &&\n _list[rowIndex].roleMenus[columnIndex].id !==\n _list[rowIndex - 1].roleMenus[columnIndex].id)\n ) {\n let count = 1;\n\n for (let i = rowIndex + 1; i < _list.length; i++) {\n if (\n _list[rowIndex].roleMenus[columnIndex]?.id !==\n _list[i].roleMenus[columnIndex]?.id\n ) {\n break;\n }\n count++;\n }\n\n rowSpan = count;\n } else if (bothExisting) {\n // 两条记录都存在切记录一致\n rowSpan = 0;\n }\n }\n\n return [rowSpan, columnSpan];\n };\n\n const saveRolePermission = async () => {\n props.rolePermissionConfigTable.submitPermission();\n };\n\n watch(\n computed(() => props.rolePermissionConfigTable),\n async (rolePermissionConfigTable) => {\n await rolePermissionConfigTable.init();\n await rolePermissionConfigTable.load();\n },\n { immediate: true }\n );\n\n return () => {\n const menuColumnVnodes = new Array(unref(maxMenuColumns))\n .fill(0)\n .map((_, i) => {\n return (\n <ElTableColumn\n label={i18n.translate(\"mk.rolePermissionConfig.tableMenuHeader\", {\n level: i + 1,\n })}\n v-slots={{\n default: ({ row }: { row: RowInfo }) => {\n const roleMenu = row.roleMenus[i];\n\n if (!roleMenu) {\n return null;\n }\n\n return (\n <ElTooltip content={roleMenu.title} placement=\"top\">\n <ElCheckbox\n class=\"role-permission-config__menu\"\n modelValue={roleMenu.selected}\n indeterminate={roleMenu.indeterminate}\n onUpdate:modelValue={() =>\n unref(rolePermissionConfigTable).toggleRoleMenu(\n roleMenu\n )\n }\n >\n {roleMenu.title}\n </ElCheckbox>\n </ElTooltip>\n );\n },\n }}\n />\n );\n });\n\n return (\n <ElCard\n v-slots={{\n header: () => {\n return (\n <div class=\"header-box\">\n <div class=\"header-box-main\">\n <ElAlert\n title={\n props.rolePermissionConfigTable.hasChange()\n ? `当前【 ${rolePermissionConfigTable.value.currentRoleDesc} 】权限已发生改变,保存后生效!`\n : `当前【 ${rolePermissionConfigTable.value.currentRoleDesc} 】权限无任何改变!`\n }\n showIcon\n type={\n props.rolePermissionConfigTable.hasChange()\n ? \"warning\"\n : \"info\"\n }\n closable={false}\n />\n </div>\n <div class=\"header-box-tools\">\n <ElButton\n onClick={saveRolePermission}\n type=\"primary\"\n disabled={!props.rolePermissionConfigTable.hasChange()}\n >\n {i18n.translate(\"mk.dataForm.saveButton\")}\n </ElButton>\n </div>\n </div>\n );\n },\n }}\n >\n <ElTable\n class=\"role-permission-config\"\n data={unref(list)}\n border\n spanMethod={handleSpanMethod}\n v-loading={unref(loading)}\n >\n {menuColumnVnodes}\n\n <ElTableColumn\n label={i18n.translate(\n \"mk.rolePermissionConfig.tablePermissionPointHeader\"\n )}\n minWidth=\"300px\"\n v-slots={{\n default: ({ row }: { row: RowInfo }) => {\n const permissionPointVnodes = row.permissionPoints.map(\n (permissionPoint) => {\n return (\n <ElTooltip\n content={permissionPoint.name}\n placement=\"top\"\n >\n <ElCheckbox\n class=\"role-permission-config__permission-point\"\n modelValue={permissionPoint.selected}\n onUpdate:modelValue={() => {\n unref(\n rolePermissionConfigTable\n ).toggleRolePermissionPoint(permissionPoint);\n }}\n >\n {permissionPoint.name}\n </ElCheckbox>\n </ElTooltip>\n );\n }\n );\n\n return <Fragment>{permissionPointVnodes}</Fragment>;\n },\n }}\n />\n </ElTable>\n </ElCard>\n );\n };\n },\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","name","props","rolePermissionConfigProps","emits","rolePermissionConfigEmits","setup","emit","i18n","useI18n","rolePermissionConfigTable","computed","loading","unref","rootRoleMenuNodes","getRootRoleMenuNodes","list","_rootRoleMenuNodes","postTraverse","roleMenu","ancestors","children","length","push","roleMenus","permissionPoints","maxMenuColumns","_list","Math","max","map","item","handleSpanMethod","row","rowIndex","columnIndex","_maxMenuColumns","columnSpan","rowSpan","bothExisting","id","count","i","saveRolePermission","submitPermission","watch","init","load","immediate","menuColumnVnodes","Array","fill","_","_createVNode","ElTableColumn","translate","level","default","ElTooltip","title","ElCheckbox","selected","indeterminate","onUpdate:modelValue","toggleRoleMenu","ElCard","_withDirectives","ElTable","permissionPointVnodes","permissionPoint","toggleRolePermissionPoint","_Fragment","_resolveDirective","header","_slot","ElAlert","hasChange","value","currentRoleDesc","ElButton"],"mappings":"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"}
@@ -17,6 +17,6 @@ export declare class MsConfigForm extends DataForm<MsConfig> implements ITypeRes
17
17
  protected initialize(): Promise<void>;
18
18
  formatItem(item: MsConfig): MsConfig;
19
19
  formatSubmitData(data: any): any;
20
- resolveStringType(type: string): "MKConfigInput" | "MKConfigInputNumber" | "MKConfigJsonEditor";
20
+ resolveType(type: string): "MKConfigInput" | "MKConfigInputNumber" | "MKConfigJsonEditor";
21
21
  resolveItemType(config: MsConfig): "MKConfigInput" | "MKConfigInputNumber" | "MKConfigJsonEditor";
22
22
  }
@@ -60,15 +60,14 @@ class MsConfigForm extends DataForm {
60
60
  }
61
61
  }
62
62
  ],
63
- componentInfo: this.resolveStringType(defaultType)
63
+ componentInfo: this.resolveType(defaultType)
64
64
  }),
65
65
  new FormColumn({
66
66
  name: "memo",
67
67
  label: "\u5907\u6CE8",
68
68
  defaultValue: "",
69
- componentInfo: "MKFormRichTextEditor"
70
- // componentInfo: "MKFormInput",
71
- // componentProps: { type: "textarea", rows: 4 },
69
+ componentInfo: "MKFormInput",
70
+ componentProps: { type: "textarea", rows: 4 }
72
71
  })
73
72
  ]);
74
73
  let disposable = null;
@@ -79,14 +78,18 @@ class MsConfigForm extends DataForm {
79
78
  }
80
79
  disposable = new Disposable();
81
80
  const valueFormColumn = this.getColumn("value");
82
- valueFormColumn.componentInfo = this.configComponent.resolveComponent(this.resolveItemType(this.data)) || this.configComponent.resolveComponent("MKFormInput");
81
+ valueFormColumn.componentInfo = this.configComponent.resolveComponent(
82
+ this.resolveItemType(this.data)
83
+ ) || this.configComponent.resolveComponent("MKFormInput");
83
84
  disposable.register(
84
85
  this.getColumn("type").valueChangeEvent.on(() => {
85
86
  if (!this.data) {
86
87
  return;
87
88
  }
88
89
  const valueFormColumn2 = this.getColumn("value");
89
- valueFormColumn2.componentInfo = this.configComponent.resolveComponent(this.resolveItemType(this.data)) || this.configComponent.resolveComponent("MKFormInput");
90
+ valueFormColumn2.componentInfo = this.configComponent.resolveComponent(
91
+ this.resolveItemType(this.data)
92
+ ) || this.configComponent.resolveComponent("MKFormInput");
90
93
  this.data.value = null;
91
94
  })
92
95
  );
@@ -108,7 +111,7 @@ class MsConfigForm extends DataForm {
108
111
  value: data.type === "json" ? data.value : JSON.stringify(data.value)
109
112
  };
110
113
  }
111
- resolveStringType(type) {
114
+ resolveType(type) {
112
115
  switch (type) {
113
116
  case "int":
114
117
  return "MKConfigInputNumber";
@@ -119,7 +122,7 @@ class MsConfigForm extends DataForm {
119
122
  }
120
123
  }
121
124
  resolveItemType(config) {
122
- return this.resolveStringType(config.type);
125
+ return this.resolveType(config.type);
123
126
  }
124
127
  }
125
128
 
@@ -1 +1 @@
1
- {"version":3,"file":"MsConfigForm.js","sources":["../../../../../../src/modules/ms/dataviews/ms-config/MsConfigForm.ts"],"sourcesContent":["import {\r\n DataForm,\r\n DataFormOptions,\r\n FormColumn,\r\n IComponents,\r\n} from \"@maketribe/dm\";\r\nimport { ConfigComponents, ITypeResolver } from \"../../../../core\";\r\nimport { Disposable } from \"@maketribe/utils\";\r\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\r\nimport { MODULE_NAME } from \"../../constants\";\r\n\r\nexport type MsConfig<T = any> = {\r\n id: string;\r\n key: string;\r\n type: string;\r\n value: T;\r\n};\r\n\r\nexport type MsConfigFormOptions = DataFormOptions & {\r\n configComponent?: IComponents;\r\n};\r\n\r\nexport class MsConfigForm extends DataForm<MsConfig> implements ITypeResolver<MsConfig> {\r\n\tstatic [DATA_MODEL_NAME]: string = \"mk-sys-config\";\r\n\r\n\tconfigComponent: IComponents;\r\n\r\n\tconstructor(options: MsConfigFormOptions = {}) {\r\n\t\tsuper({\r\n\t\t\tname: MsConfigForm[DATA_MODEL_NAME],\r\n\t\t\tmoduleName: MODULE_NAME,\r\n\t\t\t...options,\r\n\t\t});\r\n\r\n\t\tthis.configComponent = options.configComponent ?? new ConfigComponents();\r\n\t}\r\n\r\n\tprotected async initialize() {\r\n\t\tawait super.initialize();\r\n\r\n\t\tconst defaultType = \"string\";\r\n\t\tthis.setColumns([\r\n\t\t\tnew FormColumn({ name: \"id\", label: \"编号\" }),\r\n\t\t\tnew FormColumn({ name: \"key\", label: \"配置键\", required: true }),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"type\",\r\n\t\t\t\tlabel: \"类型\",\r\n\t\t\t\tcomponentInfo: \"MKFormDataSelect\",\r\n\t\t\t\tdefaultValue: defaultType,\r\n\t\t\t\trequired: true,\r\n\t\t\t\tcomponentProps: {\r\n\t\t\t\t\toptions: [\r\n\t\t\t\t\t\t{ value: \"string\", label: \"字符串\" },\r\n\t\t\t\t\t\t{ value: \"int\", label: \"整数\" },\r\n\t\t\t\t\t\t{ value: \"json\", label: \"JSON\" },\r\n\t\t\t\t\t],\r\n\t\t\t\t},\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"value\",\r\n\t\t\t\tlabel: \"配置值\",\r\n\t\t\t\trequired: true,\r\n\t\t\t\tdefaultValue: null,\r\n\t\t\t\trules: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvalidator: (rule, value, callback) => {\r\n\t\t\t\t\t\t\tif (this.data?.type === \"json\") {\r\n\t\t\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\t\t\tJSON.parse(value);\r\n\t\t\t\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\t\t\t\tcallback(new Error(\"JSON格式错误\"));\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tcallback();\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t},\r\n\t\t\t\t],\r\n\t\t\t\tcomponentInfo: this.resolveStringType(defaultType),\r\n\t\t\t}),\r\n\t\t\tnew FormColumn({\r\n\t\t\t\tname: \"memo\",\r\n\t\t\t\tlabel: \"备注\",\r\n\t\t\t\tdefaultValue: \"\",\r\n\t\t\t\tcomponentInfo: \"MKFormRichTextEditor\",\r\n\t\t\t\t// componentInfo: \"MKFormInput\",\r\n\t\t\t\t// componentProps: { type: \"textarea\", rows: 4 },\r\n\t\t\t}),\r\n\t\t]);\r\n\r\n\t\tlet disposable: Disposable | null = null;\r\n\r\n\t\tthis.dataChangeEvent.on(({ data }) => {\r\n\t\t\tdisposable?.dispose();\r\n\r\n\t\t\tif (!data) {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\r\n\t\t\tdisposable = new Disposable();\r\n\r\n\t\t\tconst valueFormColumn = this.getColumn(\"value\")!;\r\n\t\t\tvalueFormColumn.componentInfo = this.configComponent.resolveComponent(this.resolveItemType(this.data!)) || this.configComponent.resolveComponent(\"MKFormInput\")!;\r\n\r\n\t\t\tdisposable.register(\r\n\t\t\t\tthis.getColumn(\"type\")!.valueChangeEvent.on(() => {\r\n\t\t\t\t\tif (!this.data) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tconst valueFormColumn = this.getColumn(\"value\")!;\r\n\t\t\t\t\tvalueFormColumn.componentInfo = this.configComponent.resolveComponent(this.resolveItemType(this.data!)) || this.configComponent.resolveComponent(\"MKFormInput\")!;\r\n\r\n\t\t\t\t\tthis.data!.value = null;\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t\t});\r\n\t}\r\n\r\n\tformatItem(item: MsConfig): MsConfig {\r\n\t\tlet value = item.value;\r\n\r\n\t\tif (item.type !== \"json\") {\r\n\t\t\ttry {\r\n\t\t\t\tvalue = JSON.parse(item.value);\r\n\t\t\t} catch (e) {}\r\n\t\t}\r\n\r\n\t\treturn { ...item, value };\r\n\t}\r\n\r\n\tformatSubmitData(data: any) {\r\n\t\treturn {\r\n\t\t\t...data,\r\n\t\t\tvalue: data.type === \"json\" ? data.value : JSON.stringify(data.value),\r\n\t\t};\r\n\t}\r\n\r\n\tresolveStringType(type: string) {\r\n\t\tswitch (type) {\r\n\t\t\tcase \"int\":\r\n\t\t\t\treturn \"MKConfigInputNumber\";\r\n\t\t\tcase \"json\":\r\n\t\t\t\treturn \"MKConfigJsonEditor\";\r\n\t\t\tdefault:\r\n\t\t\t\treturn \"MKConfigInput\";\r\n\t\t}\r\n\t}\r\n\r\n\tresolveItemType(config: MsConfig) {\r\n\t\treturn this.resolveStringType(config.type);\r\n\t}\r\n}\r\n"],"names":["valueFormColumn"],"mappings":"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"}
1
+ {"version":3,"file":"MsConfigForm.js","sources":["../../../../../../src/modules/ms/dataviews/ms-config/MsConfigForm.ts"],"sourcesContent":["import {\n DataForm,\n DataFormOptions,\n FormColumn,\n IComponents,\n} from \"@maketribe/dm\";\nimport { ConfigComponents, ITypeResolver } from \"../../../../core\";\nimport { Disposable } from \"@maketribe/utils\";\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\nimport { MODULE_NAME } from \"../../constants\";\n\nexport type MsConfig<T = any> = {\n id: string;\n key: string;\n type: string;\n value: T;\n};\n\nexport type MsConfigFormOptions = DataFormOptions & {\n configComponent?: IComponents;\n};\n\nexport class MsConfigForm\n extends DataForm<MsConfig>\n implements ITypeResolver<MsConfig>\n{\n static [DATA_MODEL_NAME]: string = \"mk-sys-config\";\n\n configComponent: IComponents;\n\n constructor(options: MsConfigFormOptions = {}) {\n super({\n name: MsConfigForm[DATA_MODEL_NAME],\n moduleName: MODULE_NAME,\n ...options,\n });\n\n this.configComponent = options.configComponent ?? new ConfigComponents();\n }\n\n protected async initialize() {\n await super.initialize();\n\n const defaultType = \"string\";\n this.setColumns([\n new FormColumn({ name: \"id\", label: \"编号\" }),\n new FormColumn({ name: \"key\", label: \"配置键\", required: true }),\n new FormColumn({\n name: \"type\",\n label: \"类型\",\n componentInfo: \"MKFormDataSelect\",\n defaultValue: defaultType,\n required: true,\n componentProps: {\n options: [\n { value: \"string\", label: \"字符串\" },\n { value: \"int\", label: \"整数\" },\n { value: \"json\", label: \"JSON\" },\n ],\n },\n }),\n new FormColumn({\n name: \"value\",\n label: \"配置值\",\n required: true,\n defaultValue: null,\n rules: [\n {\n validator: (rule, value, callback) => {\n if (this.data?.type === \"json\") {\n try {\n JSON.parse(value);\n } catch (e) {\n callback(new Error(\"JSON格式错误\"));\n }\n }\n\n callback();\n },\n },\n ],\n componentInfo: this.resolveType(defaultType),\n }),\n new FormColumn({\n name: \"memo\",\n label: \"备注\",\n defaultValue: \"\",\n componentInfo: \"MKFormInput\",\n componentProps: { type: \"textarea\", rows: 4 },\n }),\n ]);\n\n let disposable: Disposable | null = null;\n\n this.dataChangeEvent.on(({ data }) => {\n disposable?.dispose();\n\n if (!data) {\n return null;\n }\n\n disposable = new Disposable();\n\n const valueFormColumn = this.getColumn(\"value\")!;\n valueFormColumn.componentInfo =\n this.configComponent.resolveComponent(\n this.resolveItemType(this.data!)\n ) || this.configComponent.resolveComponent(\"MKFormInput\")!;\n\n disposable.register(\n this.getColumn(\"type\")!.valueChangeEvent.on(() => {\n if (!this.data) {\n return;\n }\n\n const valueFormColumn = this.getColumn(\"value\")!;\n valueFormColumn.componentInfo =\n this.configComponent.resolveComponent(\n this.resolveItemType(this.data!)\n ) || this.configComponent.resolveComponent(\"MKFormInput\")!;\n\n this.data!.value = null;\n })\n );\n });\n }\n\n formatItem(item: MsConfig): MsConfig {\n let value = item.value;\n\n if (item.type !== \"json\") {\n try {\n value = JSON.parse(item.value);\n } catch (e) {}\n }\n\n return { ...item, value };\n }\n\n formatSubmitData(data: any) {\n return {\n ...data,\n value: data.type === \"json\" ? data.value : JSON.stringify(data.value),\n };\n }\n\n resolveType(type: string) {\n switch (type) {\n case \"int\":\n return \"MKConfigInputNumber\";\n case \"json\":\n return \"MKConfigJsonEditor\";\n default:\n return \"MKConfigInput\";\n }\n }\n\n resolveItemType(config: MsConfig) {\n return this.resolveType(config.type);\n }\n}\n"],"names":["valueFormColumn"],"mappings":"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"}
@@ -20,7 +20,7 @@ export declare class MsMaterialTable extends DataTable<MsMaterial> implements IT
20
20
  loadMaterialTypes(): Promise<void>;
21
21
  protected initialize(): Promise<void>;
22
22
  formatItem(item: MsMaterial): MsMaterial;
23
- resolveType(type: number): string;
23
+ resolveType(type: string): string;
24
24
  resolveItemType(item: MsMaterial): string;
25
25
  resolveMaterialComponent(item: MsMaterial): Component | null;
26
26
  }
@@ -77,18 +77,18 @@ class MsMaterialTable extends DataTable {
77
77
  }
78
78
  resolveType(type) {
79
79
  switch (type) {
80
- case 1:
80
+ case "1":
81
81
  return "MKImageView";
82
- case 2:
82
+ case "2":
83
83
  return "MKVideoView";
84
- case 3:
84
+ case "3":
85
85
  return "MKAudioView";
86
86
  default:
87
87
  return "MKDocumentView";
88
88
  }
89
89
  }
90
90
  resolveItemType(item) {
91
- return this.resolveType(item.type);
91
+ return this.resolveType(item.type.toString());
92
92
  }
93
93
  resolveMaterialComponent(item) {
94
94
  return this.materialComponents.resolveComponent(this.resolveItemType(item));
@@ -1 +1 @@
1
- {"version":3,"file":"MsMaterialTable.js","sources":["../../../../../../src/modules/ms/dataviews/ms-material/MsMaterialTable.ts"],"sourcesContent":["import {\r\n Component,\r\n DataTable,\r\n DataTableOptions,\r\n IComponents,\r\n TableColumn,\r\n} from \"@maketribe/dm\";\r\nimport { MsMaterial } from \"./MsMaterialForm\";\r\nimport { MsConfigTable } from \"../ms-config\";\r\nimport { ITypeResolver } from \"../../../../core\";\r\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\r\nimport { MODULE_NAME } from \"../../constants\";\r\n\r\nexport type MsMaterialType = {\r\n value: number;\r\n accept: string;\r\n label: string;\r\n limit: number;\r\n};\r\n\r\nexport type MaterialTableOptions = DataTableOptions & {\r\n materialComponents: IComponents;\r\n};\r\n\r\nexport class MsMaterialTable\r\n extends DataTable<MsMaterial>\r\n implements ITypeResolver<MsMaterial>\r\n{\r\n static [DATA_MODEL_NAME]: string = \"mk-material\";\r\n\r\n materialTypes: MsMaterialType[] = [];\r\n\r\n materialComponents: IComponents;\r\n\r\n constructor(options: MaterialTableOptions) {\r\n super({\r\n name: MsMaterialTable[DATA_MODEL_NAME],\r\n moduleName: MODULE_NAME,\r\n ...options,\r\n });\r\n\r\n this.materialComponents = options.materialComponents;\r\n }\r\n\r\n getMaterialTypes(): MsMaterialType[] {\r\n return this.materialTypes;\r\n }\r\n\r\n async loadMaterialTypes() {\r\n const configResponse = await MsConfigTable.loadConfig<MsMaterialType[]>(\r\n \"ms-material-types\"\r\n );\r\n\r\n if (configResponse.data.code !== 200 || !configResponse.data.data) {\r\n throw new Error();\r\n }\r\n\r\n const config = configResponse.data.data;\r\n\r\n this.materialTypes = config.value || [];\r\n }\r\n\r\n protected async initialize() {\r\n await super.initialize();\r\n\r\n const loadingManager = this.getLoadingManager();\r\n\r\n try {\r\n loadingManager.startLoading();\r\n\r\n this.materialTypes = [\r\n { value: 1, accept: \"image/*\", limit: 10, label: \"图片\" },\r\n { value: 2, accept: \"video/*\", limit: 500, label: \"视频\" },\r\n { value: 4, accept: \"*\", limit: 100, label: \"文档\" },\r\n ];\r\n\r\n const mapping = this.materialTypes.reduce((result, item) => {\r\n result[item.value] = result.label;\r\n\r\n return result;\r\n }, {} as Record<any, any>);\r\n\r\n this.setColumns([\r\n new TableColumn({ name: \"id\", label: \"编号\", visible: false }),\r\n new TableColumn({\r\n name: \"type\",\r\n label: \"类型\",\r\n componentInfo: \"MKColumnObjectMappingText\",\r\n componentProps: {\r\n mapping,\r\n },\r\n }),\r\n new TableColumn({ name: \"desc\", label: \"描述\" }),\r\n new TableColumn({ name: \"path\", label: \"路径\" }),\r\n ]);\r\n } finally {\r\n loadingManager.completeLoading();\r\n }\r\n }\r\n formatItem(item: MsMaterial): MsMaterial {\r\n return {\r\n id: item.id,\r\n materialGroupId: item.materialGroupId || null,\r\n type: item.type ? item.type : 1,\r\n desc: item.desc || \"\",\r\n path: item.path || \"\",\r\n };\r\n }\r\n\r\n resolveType(type: number): string {\r\n switch (type) {\r\n case 1:\r\n return \"MKImageView\";\r\n case 2:\r\n return \"MKVideoView\";\r\n case 3:\r\n return \"MKAudioView\";\r\n default:\r\n return \"MKDocumentView\";\r\n }\r\n }\r\n\r\n resolveItemType(item: MsMaterial): string {\r\n return this.resolveType(item.type);\r\n }\r\n\r\n resolveMaterialComponent(item: MsMaterial): Component | null {\r\n return this.materialComponents.resolveComponent(this.resolveItemType(item));\r\n }\r\n}\r\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MsMaterialTable.js","sources":["../../../../../../src/modules/ms/dataviews/ms-material/MsMaterialTable.ts"],"sourcesContent":["import {\n Component,\n DataTable,\n DataTableOptions,\n IComponents,\n TableColumn,\n} from \"@maketribe/dm\";\nimport { MsMaterial } from \"./MsMaterialForm\";\nimport { MsConfigTable } from \"../ms-config\";\nimport { ITypeResolver } from \"../../../../core\";\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\nimport { MODULE_NAME } from \"../../constants\";\n\nexport type MsMaterialType = {\n value: number;\n accept: string;\n label: string;\n limit: number;\n};\n\nexport type MaterialTableOptions = DataTableOptions & {\n materialComponents: IComponents;\n};\n\nexport class MsMaterialTable\n extends DataTable<MsMaterial>\n implements ITypeResolver<MsMaterial>\n{\n static [DATA_MODEL_NAME]: string = \"mk-material\";\n\n materialTypes: MsMaterialType[] = [];\n\n materialComponents: IComponents;\n\n constructor(options: MaterialTableOptions) {\n super({\n name: MsMaterialTable[DATA_MODEL_NAME],\n moduleName: MODULE_NAME,\n ...options,\n });\n\n this.materialComponents = options.materialComponents;\n }\n\n getMaterialTypes(): MsMaterialType[] {\n return this.materialTypes;\n }\n\n async loadMaterialTypes() {\n const configResponse = await MsConfigTable.loadConfig<MsMaterialType[]>(\n \"ms-material-types\"\n );\n\n if (configResponse.data.code !== 200 || !configResponse.data.data) {\n throw new Error();\n }\n\n const config = configResponse.data.data;\n\n this.materialTypes = config.value || [];\n }\n\n protected async initialize() {\n await super.initialize();\n\n const loadingManager = this.getLoadingManager();\n\n try {\n loadingManager.startLoading();\n\n this.materialTypes = [\n { value: 1, accept: \"image/*\", limit: 10, label: \"图片\" },\n { value: 2, accept: \"video/*\", limit: 500, label: \"视频\" },\n { value: 4, accept: \"*\", limit: 100, label: \"文档\" },\n ];\n\n const mapping = this.materialTypes.reduce((result, item) => {\n result[item.value] = result.label;\n\n return result;\n }, {} as Record<any, any>);\n\n this.setColumns([\n new TableColumn({ name: \"id\", label: \"编号\", visible: false }),\n new TableColumn({\n name: \"type\",\n label: \"类型\",\n componentInfo: \"MKColumnObjectMappingText\",\n componentProps: {\n mapping,\n },\n }),\n new TableColumn({ name: \"desc\", label: \"描述\" }),\n new TableColumn({ name: \"path\", label: \"路径\" }),\n ]);\n } finally {\n loadingManager.completeLoading();\n }\n }\n formatItem(item: MsMaterial): MsMaterial {\n return {\n id: item.id,\n materialGroupId: item.materialGroupId || null,\n type: item.type ? item.type : 1,\n desc: item.desc || \"\",\n path: item.path || \"\",\n };\n }\n\n resolveType(type: string): string {\n switch (type) {\n case \"1\":\n return \"MKImageView\";\n case \"2\":\n return \"MKVideoView\";\n case \"3\":\n return \"MKAudioView\";\n default:\n return \"MKDocumentView\";\n }\n }\n\n resolveItemType(item: MsMaterial): string {\n return this.resolveType(item.type.toString());\n }\n\n resolveMaterialComponent(item: MsMaterial): Component | null {\n return this.materialComponents.resolveComponent(this.resolveItemType(item));\n }\n}\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MsMemberForm.js","sources":["../../../../../../src/modules/ms/dataviews/ms-member/MsMemberForm.ts"],"sourcesContent":["import { DataForm, DataFormOptions, FormColumn } from \"@maketribe/dm\";\r\nimport { MsRoleTable } from \"../ms-role\";\r\nimport { DATA_MODEL_NAME, EMAIL_PATTERN } from \"../../../../constants\";\r\nimport { WebFileUploadContext } from \"../../../../components/basic/upload-file/context/WebFileUploadContext\";\r\nimport { MODULE_NAME } from \"../../constants\";\r\n\r\nexport type MsMemberResult = {\r\n id: string;\r\n name: string;\r\n wechatNo: string;\r\n nickName: string;\r\n email: string;\r\n normalizedEmail: string;\r\n emailConfirmed: boolean;\r\n phoneNumber: string;\r\n phoneNumberConfirmed: string;\r\n userName: string;\r\n normalizedUserName: string;\r\n avatar: string;\r\n roles: any[];\r\n passwordHash: string;\r\n // depts: any[];\r\n valid: number;\r\n lockoutEnabled?: number;\r\n accessFailedCount?: number;\r\n lockoutEnd?: string;\r\n memo?: string;\r\n twoFactorEnabled: boolean;\r\n concurrencyStamp: string;\r\n securityStamp: string;\r\n};\r\n\r\nexport type MsMember = {\r\n id: string;\r\n name: string;\r\n wechatNo: string;\r\n nickName: string;\r\n email: string;\r\n normalizedEmail: string;\r\n emailConfirmed: boolean;\r\n phoneNumber: string;\r\n phoneNumberConfirmed: string;\r\n userName: string;\r\n normalizedUserName: string;\r\n avatar: string;\r\n roles: any[];\r\n passwordHash: string;\r\n // depts: any[];\r\n valid: number;\r\n lockoutEnabled?: number;\r\n accessFailedCount?: number;\r\n lockoutEnd?: string;\r\n memo?: string;\r\n twoFactorEnabled: boolean;\r\n concurrencyStamp: string;\r\n securityStamp: string;\r\n};\r\n\r\nexport class MsMemberForm<\r\n T extends MsMemberResult = MsMemberResult,\r\n F extends MsMember = MsMember\r\n> extends DataForm<T, F> {\r\n static [DATA_MODEL_NAME]: string = \"ms-member\";\r\n\r\n constructor(options: DataFormOptions = {}) {\r\n super({\r\n name: MsMemberForm[DATA_MODEL_NAME],\r\n moduleName: MODULE_NAME,\r\n ...options,\r\n });\r\n }\r\n\r\n protected async initialize() {\r\n await super.initialize();\r\n\r\n this.setColumns([\r\n new FormColumn({ name: \"id\", label: \"编号\" }),\r\n new FormColumn({ name: \"name\", label: \"姓名\", required: true }),\r\n new FormColumn({ name: \"wechatNo\", label: \"微信号\", defaultValue: null }),\r\n new FormColumn({ name: \"nickName\", label: \"昵称\", required: true }),\r\n new FormColumn({\r\n name: \"email\",\r\n label: \"邮箱\",\r\n required: true,\r\n rules: [{ message: \"邮箱格式有误\", pattern: EMAIL_PATTERN }],\r\n }),\r\n new FormColumn({ name: \"phone\", label: \"手机号\", defaultValue: null }),\r\n new FormColumn({\r\n name: \"userName\",\r\n label: \"账号\",\r\n required: true,\r\n disabled: true,\r\n }),\r\n new FormColumn({\r\n name: \"avatar\",\r\n label: \"头像\",\r\n defaultValue: null,\r\n componentInfo: \"MKFormImageUpload\",\r\n componentProps: { uploadContext: new WebFileUploadContext() },\r\n }),\r\n new FormColumn({\r\n name: \"roles\",\r\n label: \"角色\",\r\n defaultValue: null,\r\n componentInfo: \"MKFormDataTableSelect\",\r\n componentProps: {\r\n multiple: true,\r\n objectValue: true,\r\n labelFieldName: \"desc\",\r\n dataTable: new MsRoleTable(),\r\n },\r\n }),\r\n new FormColumn({\r\n name: \"memo\",\r\n label: \"备注\",\r\n componentInfo: \"MKFormInput\",\r\n componentProps: { type: \"textarea\", rows: 4 },\r\n }),\r\n ]);\r\n }\r\n\r\n // formatItem(item: T): F {\r\n // debugger;\r\n // return item;\r\n // return {\r\n // id: item.id,\r\n // name: item.name || \"\",\r\n // wechatNo: item.wechatNo || \"\",\r\n // nickName: item.nickName || \"\",\r\n // email: item.email || \"\",\r\n // phoneNumber: item.phoneNumber || \"\",\r\n // userName: item.userName || \"\",\r\n // avatar: item.avatar,\r\n // roles: item.roles,\r\n // // depts: item.depts?.map((department) => department.deptId),\r\n // valid: item.valid,\r\n // memo: item.memo || \"\",\r\n // } as F;\r\n // }\r\n}\r\n"],"names":[],"mappings":";;;;;;;;;;;;;;AA0DO,MAAM,qBAGH,QAAe,CAAA;AAAA,EACvB,QAAQ,eAAe,IAAY,WAAA,CAAA;AAAA,EAEnC,WAAA,CAAY,OAA2B,GAAA,EAAI,EAAA;AACzC,IAAM,KAAA,CAAA;AAAA,MACJ,IAAA,EAAM,aAAa,eAAe,CAAA;AAAA,MAClC,UAAY,EAAA,WAAA;AAAA,MACZ,GAAG,OAAA;AAAA,KACJ,CAAA,CAAA;AAAA,GACH;AAAA,EAEA,MAAgB,UAAa,GAAA;AAC3B,IAAA,MAAM,MAAM,UAAW,EAAA,CAAA;AAEvB,IAAA,IAAA,CAAK,UAAW,CAAA;AAAA,MACd,IAAI,UAAW,CAAA,EAAE,MAAM,IAAM,EAAA,KAAA,EAAO,gBAAM,CAAA;AAAA,MAC1C,IAAI,WAAW,EAAE,IAAA,EAAM,QAAQ,KAAO,EAAA,cAAA,EAAM,QAAU,EAAA,IAAA,EAAM,CAAA;AAAA,MAC5D,IAAI,WAAW,EAAE,IAAA,EAAM,YAAY,KAAO,EAAA,oBAAA,EAAO,YAAc,EAAA,IAAA,EAAM,CAAA;AAAA,MACrE,IAAI,WAAW,EAAE,IAAA,EAAM,YAAY,KAAO,EAAA,cAAA,EAAM,QAAU,EAAA,IAAA,EAAM,CAAA;AAAA,MAChE,IAAI,UAAW,CAAA;AAAA,QACb,IAAM,EAAA,OAAA;AAAA,QACN,KAAO,EAAA,cAAA;AAAA,QACP,QAAU,EAAA,IAAA;AAAA,QACV,OAAO,CAAC,EAAE,SAAS,sCAAU,EAAA,OAAA,EAAS,eAAe,CAAA;AAAA,OACtD,CAAA;AAAA,MACD,IAAI,WAAW,EAAE,IAAA,EAAM,SAAS,KAAO,EAAA,oBAAA,EAAO,YAAc,EAAA,IAAA,EAAM,CAAA;AAAA,MAClE,IAAI,UAAW,CAAA;AAAA,QACb,IAAM,EAAA,UAAA;AAAA,QACN,KAAO,EAAA,cAAA;AAAA,QACP,QAAU,EAAA,IAAA;AAAA,QACV,QAAU,EAAA,IAAA;AAAA,OACX,CAAA;AAAA,MACD,IAAI,UAAW,CAAA;AAAA,QACb,IAAM,EAAA,QAAA;AAAA,QACN,KAAO,EAAA,cAAA;AAAA,QACP,YAAc,EAAA,IAAA;AAAA,QACd,aAAe,EAAA,mBAAA;AAAA,QACf,cAAgB,EAAA,EAAE,aAAe,EAAA,IAAI,sBAAuB,EAAA;AAAA,OAC7D,CAAA;AAAA,MACD,IAAI,UAAW,CAAA;AAAA,QACb,IAAM,EAAA,OAAA;AAAA,QACN,KAAO,EAAA,cAAA;AAAA,QACP,YAAc,EAAA,IAAA;AAAA,QACd,aAAe,EAAA,uBAAA;AAAA,QACf,cAAgB,EAAA;AAAA,UACd,QAAU,EAAA,IAAA;AAAA,UACV,WAAa,EAAA,IAAA;AAAA,UACb,cAAgB,EAAA,MAAA;AAAA,UAChB,SAAA,EAAW,IAAI,WAAY,EAAA;AAAA,SAC7B;AAAA,OACD,CAAA;AAAA,MACD,IAAI,UAAW,CAAA;AAAA,QACb,IAAM,EAAA,MAAA;AAAA,QACN,KAAO,EAAA,cAAA;AAAA,QACP,aAAe,EAAA,aAAA;AAAA,QACf,cAAgB,EAAA,EAAE,IAAM,EAAA,UAAA,EAAY,MAAM,CAAE,EAAA;AAAA,OAC7C,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAoBF;;;;"}
1
+ {"version":3,"file":"MsMemberForm.js","sources":["../../../../../../src/modules/ms/dataviews/ms-member/MsMemberForm.ts"],"sourcesContent":["import { DataForm, DataFormOptions, FormColumn } from \"@maketribe/dm\";\nimport { MsRoleTable } from \"../ms-role\";\nimport { DATA_MODEL_NAME, EMAIL_PATTERN } from \"../../../../constants\";\nimport { WebFileUploadContext } from \"../../../../components/basic/upload-file/context/WebFileUploadContext\";\nimport { MODULE_NAME } from \"../../constants\";\n\nexport type MsMemberResult = {\n id: string;\n name: string;\n wechatNo: string;\n nickName: string;\n email: string;\n normalizedEmail: string;\n emailConfirmed: boolean;\n phoneNumber: string;\n phoneNumberConfirmed: string;\n userName: string;\n normalizedUserName: string;\n avatar: string;\n roles: any[];\n passwordHash: string;\n // depts: any[];\n valid: number;\n lockoutEnabled?: number;\n accessFailedCount?: number;\n lockoutEnd?: string;\n memo?: string;\n twoFactorEnabled: boolean;\n concurrencyStamp: string;\n securityStamp: string;\n};\n\nexport type MsMember = {\n id: string;\n name: string;\n wechatNo: string;\n nickName: string;\n email: string;\n normalizedEmail: string;\n emailConfirmed: boolean;\n phoneNumber: string;\n phoneNumberConfirmed: string;\n userName: string;\n normalizedUserName: string;\n avatar: string;\n roles: any[];\n passwordHash: string;\n // depts: any[];\n valid: number;\n lockoutEnabled?: number;\n accessFailedCount?: number;\n lockoutEnd?: string;\n memo?: string;\n twoFactorEnabled: boolean;\n concurrencyStamp: string;\n securityStamp: string;\n};\n\nexport class MsMemberForm<\n T extends MsMemberResult = MsMemberResult,\n F extends MsMember = MsMember\n> extends DataForm<T, F> {\n static [DATA_MODEL_NAME]: string = \"ms-member\";\n\n constructor(options: DataFormOptions = {}) {\n super({\n name: MsMemberForm[DATA_MODEL_NAME],\n moduleName: MODULE_NAME,\n ...options,\n });\n }\n\n protected async initialize() {\n await super.initialize();\n\n this.setColumns([\n new FormColumn({ name: \"id\", label: \"编号\" }),\n new FormColumn({ name: \"name\", label: \"姓名\", required: true }),\n new FormColumn({ name: \"wechatNo\", label: \"微信号\", defaultValue: null }),\n new FormColumn({ name: \"nickName\", label: \"昵称\", required: true }),\n new FormColumn({\n name: \"email\",\n label: \"邮箱\",\n required: true,\n rules: [{ message: \"邮箱格式有误\", pattern: EMAIL_PATTERN }],\n }),\n new FormColumn({ name: \"phone\", label: \"手机号\", defaultValue: null }),\n new FormColumn({\n name: \"userName\",\n label: \"账号\",\n required: true,\n disabled: true,\n }),\n new FormColumn({\n name: \"avatar\",\n label: \"头像\",\n defaultValue: null,\n componentInfo: \"MKFormImageUpload\",\n componentProps: { uploadContext: new WebFileUploadContext() },\n }),\n new FormColumn({\n name: \"roles\",\n label: \"角色\",\n defaultValue: null,\n componentInfo: \"MKFormDataTableSelect\",\n componentProps: {\n multiple: true,\n objectValue: true,\n labelFieldName: \"desc\",\n dataTable: new MsRoleTable(),\n },\n }),\n new FormColumn({\n name: \"memo\",\n label: \"备注\",\n componentInfo: \"MKFormInput\",\n componentProps: { type: \"textarea\", rows: 4 },\n }),\n ]);\n }\n\n // formatItem(item: T): F {\n // debugger;\n // return item;\n // return {\n // id: item.id,\n // name: item.name || \"\",\n // wechatNo: item.wechatNo || \"\",\n // nickName: item.nickName || \"\",\n // email: item.email || \"\",\n // phoneNumber: item.phoneNumber || \"\",\n // userName: item.userName || \"\",\n // avatar: item.avatar,\n // roles: item.roles,\n // // depts: item.depts?.map((department) => department.deptId),\n // valid: item.valid,\n // memo: item.memo || \"\",\n // } as F;\n // }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;AA0DO,MAAM,qBAGH,QAAe,CAAA;AAAA,EACvB,QAAQ,eAAe,IAAY,WAAA,CAAA;AAAA,EAEnC,WAAA,CAAY,OAA2B,GAAA,EAAI,EAAA;AACzC,IAAM,KAAA,CAAA;AAAA,MACJ,IAAA,EAAM,aAAa,eAAe,CAAA;AAAA,MAClC,UAAY,EAAA,WAAA;AAAA,MACZ,GAAG,OAAA;AAAA,KACJ,CAAA,CAAA;AAAA,GACH;AAAA,EAEA,MAAgB,UAAa,GAAA;AAC3B,IAAA,MAAM,MAAM,UAAW,EAAA,CAAA;AAEvB,IAAA,IAAA,CAAK,UAAW,CAAA;AAAA,MACd,IAAI,UAAW,CAAA,EAAE,MAAM,IAAM,EAAA,KAAA,EAAO,gBAAM,CAAA;AAAA,MAC1C,IAAI,WAAW,EAAE,IAAA,EAAM,QAAQ,KAAO,EAAA,cAAA,EAAM,QAAU,EAAA,IAAA,EAAM,CAAA;AAAA,MAC5D,IAAI,WAAW,EAAE,IAAA,EAAM,YAAY,KAAO,EAAA,oBAAA,EAAO,YAAc,EAAA,IAAA,EAAM,CAAA;AAAA,MACrE,IAAI,WAAW,EAAE,IAAA,EAAM,YAAY,KAAO,EAAA,cAAA,EAAM,QAAU,EAAA,IAAA,EAAM,CAAA;AAAA,MAChE,IAAI,UAAW,CAAA;AAAA,QACb,IAAM,EAAA,OAAA;AAAA,QACN,KAAO,EAAA,cAAA;AAAA,QACP,QAAU,EAAA,IAAA;AAAA,QACV,OAAO,CAAC,EAAE,SAAS,sCAAU,EAAA,OAAA,EAAS,eAAe,CAAA;AAAA,OACtD,CAAA;AAAA,MACD,IAAI,WAAW,EAAE,IAAA,EAAM,SAAS,KAAO,EAAA,oBAAA,EAAO,YAAc,EAAA,IAAA,EAAM,CAAA;AAAA,MAClE,IAAI,UAAW,CAAA;AAAA,QACb,IAAM,EAAA,UAAA;AAAA,QACN,KAAO,EAAA,cAAA;AAAA,QACP,QAAU,EAAA,IAAA;AAAA,QACV,QAAU,EAAA,IAAA;AAAA,OACX,CAAA;AAAA,MACD,IAAI,UAAW,CAAA;AAAA,QACb,IAAM,EAAA,QAAA;AAAA,QACN,KAAO,EAAA,cAAA;AAAA,QACP,YAAc,EAAA,IAAA;AAAA,QACd,aAAe,EAAA,mBAAA;AAAA,QACf,cAAgB,EAAA,EAAE,aAAe,EAAA,IAAI,sBAAuB,EAAA;AAAA,OAC7D,CAAA;AAAA,MACD,IAAI,UAAW,CAAA;AAAA,QACb,IAAM,EAAA,OAAA;AAAA,QACN,KAAO,EAAA,cAAA;AAAA,QACP,YAAc,EAAA,IAAA;AAAA,QACd,aAAe,EAAA,uBAAA;AAAA,QACf,cAAgB,EAAA;AAAA,UACd,QAAU,EAAA,IAAA;AAAA,UACV,WAAa,EAAA,IAAA;AAAA,UACb,cAAgB,EAAA,MAAA;AAAA,UAChB,SAAA,EAAW,IAAI,WAAY,EAAA;AAAA,SAC7B;AAAA,OACD,CAAA;AAAA,MACD,IAAI,UAAW,CAAA;AAAA,QACb,IAAM,EAAA,MAAA;AAAA,QACN,KAAO,EAAA,cAAA;AAAA,QACP,aAAe,EAAA,aAAA;AAAA,QACf,cAAgB,EAAA,EAAE,IAAM,EAAA,UAAA,EAAY,MAAM,CAAE,EAAA;AAAA,OAC7C,CAAA;AAAA,KACF,CAAA,CAAA;AAAA,GACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAoBF;;;;"}
@@ -127,7 +127,6 @@ class MsMemberTable extends DataTable {
127
127
  label: "\u6FC0\u6D3B\u7528\u6237",
128
128
  handler: async (row) => {
129
129
  const response = await this.activeMemberForm.editRecord(row.id);
130
- console.log(this.activeMemberForm.data);
131
130
  if (response.data.code !== 200) {
132
131
  Messager.instance.error({
133
132
  message: response.data.msg
@@ -275,6 +274,10 @@ class MsMemberTable extends DataTable {
275
274
  }
276
275
  async approveMember() {
277
276
  try {
277
+ if (this.activeMemberForm.loading) {
278
+ return;
279
+ }
280
+ this.activeMemberForm.getLoadingManager().startLoading();
278
281
  const _data = this.activeMemberForm.data;
279
282
  if (!await this.activeMemberForm.validate()) {
280
283
  Messager.instance.error({
@@ -292,10 +295,16 @@ class MsMemberTable extends DataTable {
292
295
  });
293
296
  return;
294
297
  }
295
- const result = await this.activeMemberForm.submit();
296
- if (result?.data.code != 200) {
298
+ const response = await this.dataViewRequest.callDVRequest({
299
+ action: "active",
300
+ data: {
301
+ id: _data.id,
302
+ roles: _data.roles ?? []
303
+ }
304
+ });
305
+ if (response?.data.code != 200) {
297
306
  Messager.instance.error({
298
- message: result?.data.msg || "\u8BF7\u6C42\u5931\u8D25"
307
+ message: response?.data.msg || "\u8BF7\u6C42\u5931\u8D25"
299
308
  });
300
309
  return;
301
310
  }
@@ -309,6 +318,8 @@ class MsMemberTable extends DataTable {
309
318
  Messager.instance.error({
310
319
  message: "\u7F51\u7EDC\u5F02\u5E38"
311
320
  });
321
+ } finally {
322
+ this.activeMemberForm.getLoadingManager().completeLoading();
312
323
  }
313
324
  }
314
325
  formatItem(item) {
@@ -1 +1 @@
1
- {"version":3,"file":"MsMemberTable.js","sources":["../../../../../../src/modules/ms/dataviews/ms-member/MsMemberTable.tsx"],"sourcesContent":["import { R } from \"@maketribe/request\";\r\nimport {\r\n TableColumn,\r\n DataTable,\r\n DataTableOptions,\r\n FilterColumn,\r\n TableActionColumn,\r\n ActionButton,\r\n DeleteButton,\r\n EditButton,\r\n Messager,\r\n Dialoger,\r\n FormColumn,\r\n WhereFilter,\r\n} from \"@maketribe/dm\";\r\nimport { MsMember, MsMemberForm, MsMemberResult } from \"./MsMemberForm\";\r\nimport { MSAppClient } from \"../../../../core\";\r\nimport { MKSvgIcon } from \"../../../../components/basic/svg-icon\";\r\nimport { ElTooltip } from \"element-plus\";\r\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\r\nimport { MODULE_NAME } from \"../../constants\";\r\n\r\nexport type MsMemberTableItem = Omit<MsMember, \"passwordHash\"> & {\r\n type: number\r\n};\r\n\r\nexport class MsMemberTable extends DataTable<\r\n MsMemberResult,\r\n MsMemberTableItem\r\n> {\r\n static [DATA_MODEL_NAME]: string = \"ms-member\";\r\n\r\n activeMemberForm: MsMemberForm;\r\n\r\n isShowActiveMemberForm: boolean;\r\n\r\n constructor(options: DataTableOptions = {}) {\r\n super({\r\n name: MsMemberTable[DATA_MODEL_NAME],\r\n moduleName: MODULE_NAME,\r\n ...options,\r\n });\r\n\r\n this.activeMemberForm = this.register(\r\n new (class extends MsMemberForm {\r\n formatSubmitData(data: any) {\r\n data = super.formatSubmitData(data);\r\n\r\n if (data.valid !== 1) {\r\n Reflect.deleteProperty(data, \"roles\");\r\n }\r\n\r\n return data;\r\n }\r\n })()\r\n );\r\n\r\n this.isShowActiveMemberForm = false;\r\n }\r\n\r\n protected async initialize() {\r\n await super.initialize();\r\n\r\n await this.initActiveMemberForm();\r\n //超管才能导出\r\n if (!MSAppClient.instance?.userSession?.userInfo?.isSuper) {\r\n this.buttonTools.splice(2, 1);\r\n }\r\n //只有超级管理员可以查看超级管理员\r\n if (!MSAppClient.instance?.userSession?.userInfo?.isSuper) {\r\n (this.dataFilter as WhereFilter)\r\n .getDefaultGroup()\r\n .addCondition(\"isSuper\", \"!=\", 1);\r\n }\r\n\r\n this.dataFilter.setColumns([\r\n // new FilterColumn({\r\n // name: \"createdAt\",\r\n // label: \"创建时间\",\r\n // componentInfo: \"MKConditionDate\",\r\n // defaultValue: [\"2024-01-20 00:00:00\", \"2024-01-21 00:00:00\"]\r\n // }),\r\n new FilterColumn({\r\n name: \"name\",\r\n label: \"姓名\",\r\n componentInfo: \"MKConditionInput\",\r\n }),\r\n new FilterColumn({\r\n name: \"wechatNo\",\r\n label: \"微信号\",\r\n componentInfo: \"MKConditionInput\",\r\n }),\r\n new FilterColumn({\r\n name: \"nickName\",\r\n label: \"昵称\",\r\n componentInfo: \"MKConditionInput\",\r\n }),\r\n new FilterColumn({\r\n name: \"email\",\r\n label: \"邮箱\",\r\n componentInfo: \"MKConditionInput\",\r\n }),\r\n new FilterColumn({\r\n name: \"phone\",\r\n label: \"手机号\",\r\n componentInfo: \"MKConditionInput\",\r\n }),\r\n new FilterColumn({\r\n name: \"username\",\r\n label: \"账号\",\r\n componentInfo: \"MKConditionInput\",\r\n }),\r\n ]);\r\n\r\n this.setColumns([\r\n new TableColumn({ name: \"name\", label: \"账号信息\", minWidth: \"300px\" }),\r\n new TableColumn({ name: \"roles\", label: \"角色\", minWidth: \"150px\" }),\r\n new TableColumn({\r\n name: \"type\",\r\n label: \"状态\",\r\n minWidth: \"80px\",\r\n componentInfo: \"MKColumnTag\",\r\n componentProps: {\r\n options: [\r\n { value: 1, label: \"待激活\" },\r\n { value: 2, label: \"已锁定\", type: \"danger\" },\r\n { value: 3, label: \"正常\", type: \"success\" },\r\n ],\r\n },\r\n }),\r\n new TableColumn({ name: \"memo\", label: \"备注\", minWidth: \"150px\" }),\r\n // new TableColumn({ name: \"email\", label: \"邮箱\", minWidth: \"200px\" }),\r\n // new TableColumn({ name: \"phone\", label: \"手机号\", minWidth: \"120px\" }),\r\n // new TableColumn({ name: \"wechatNo\", label: \"微信号\", minWidth: \"140px\" }),\r\n // new TableColumn({\r\n // name: \"valid\",\r\n // label: \"微信号\",\r\n // minWidth: \"140px\",\r\n // visible: false,\r\n // }),\r\n new TableActionColumn({\r\n width: \"240px\",\r\n buttons: [\r\n new ActionButton({\r\n label: \"激活用户\",\r\n handler: async (row) => {\r\n const response = await this.activeMemberForm.editRecord(row.id);\r\n console.log(this.activeMemberForm.data);\r\n if (response.data.code !== 200) {\r\n Messager.instance.error({ message: response.data.msg });\r\n return;\r\n }\r\n this.isShowActiveMemberForm = true;\r\n },\r\n predicate: (member: MsMemberTableItem) => member.valid === 0,\r\n }),\r\n new ActionButton({\r\n label: \"重置密码\",\r\n handler: async (row) => {\r\n const isConfirm = await Dialoger.instance.confirm({\r\n title: \"重置密码\",\r\n message: \"是否重置密码\",\r\n type: \"warning\",\r\n cancelButtonText: \"取消\",\r\n confirmButtonText: \"确定\",\r\n });\r\n if (!isConfirm) {\r\n return;\r\n }\r\n this.loadingManager.startLoading();\r\n\r\n try {\r\n const response = await this.dataViewRequest.callDVRequest<\r\n R<string>\r\n >({\r\n action: `reset-password/${row.id}`,\r\n });\r\n\r\n if (response.data.code !== 200) {\r\n Messager.instance.error({\r\n message: response.data.msg || \"重置密码失败\",\r\n });\r\n return;\r\n }\r\n\r\n Dialoger.instance.confirm({\r\n title: \"重置密码成功\",\r\n message: (\r\n <p>\r\n <span>\r\n 你的新密码为:\r\n <span style={{ color: \"#1890ff\", marginRight: \"3px\" }}>\r\n {response.data.data}\r\n </span>\r\n <ElTooltip content={\"点击复制\"} placement=\"top\">\r\n <MKSvgIcon\r\n style={{ color: \"#1890ff\", cursor: \"pointer\" }}\r\n onClick={() => {\r\n const input = document.createElement(\"input\");\r\n document.body.appendChild(input);\r\n input.setAttribute(\"value\", response.data.data);\r\n input.select();\r\n if (document.execCommand(\"copy\")) {\r\n document.execCommand(\"copy\");\r\n }\r\n document.body.removeChild(input);\r\n Messager.instance.success({\r\n message: \"复制成功\",\r\n });\r\n }}\r\n iconClass=\"CopyDocument\"\r\n />\r\n </ElTooltip>\r\n </span>\r\n </p>\r\n ),\r\n type: \"warning\",\r\n cancelButtonText: \"取消\",\r\n confirmButtonText: \"确定\",\r\n });\r\n } catch (e) {\r\n console.error(e);\r\n Messager.instance.error({ message: \"网络异常\" });\r\n } finally {\r\n this.loadingManager.completeLoading();\r\n }\r\n },\r\n predicate: (member: MsMemberTableItem) => member.valid === 1,\r\n }),\r\n // new ActionButton({\r\n // label: \"解锁\",\r\n // handler: async (row) => {\r\n // const isConfirm = await Dialoger.instance.confirm({\r\n // title: \"解锁\",\r\n // message: \"是否解锁?\",\r\n // type: \"warning\",\r\n // cancelButtonText: \"取消\",\r\n // confirmButtonText: \"确定\",\r\n // });\r\n // if (!isConfirm) {\r\n // return;\r\n // }\r\n // this.loadingManager.startLoading();\r\n\r\n // const response =\r\n // await this.activeMemberForm.dataViewRequest.update({\r\n // id: row.id,\r\n // isLock: 0,\r\n // errorCount: 0,\r\n // unlockDatetime: null,\r\n // });\r\n\r\n // if (response.data.code !== 200) {\r\n // Messager.instance.error({ message: response.data.msg });\r\n // return;\r\n // }\r\n // this.loadingManager.completeLoading();\r\n // this.load();\r\n // },\r\n // predicate: (member: MsMemberTableItem) => member.isLock === 1,\r\n // }),\r\n new EditButton({\r\n predicate: (member: MsMemberTableItem) => member.valid === 1,\r\n }),\r\n new DeleteButton(),\r\n ],\r\n }),\r\n ]);\r\n }\r\n\r\n protected async initActiveMemberForm() {\r\n const activeMemberForm = this.activeMemberForm;\r\n\r\n await activeMemberForm.init();\r\n\r\n activeMemberForm.setColumns([\r\n activeMemberForm.getColumn(\"id\")!,\r\n new FormColumn({\r\n name: \"valid\",\r\n label: \"是否通过\",\r\n defaultValue: 0,\r\n componentInfo: \"MKFormRadioBox\",\r\n required: true,\r\n componentProps: {\r\n options: [\r\n { label: \"通过\", value: 1 },\r\n { label: \"不通过\", value: 0 },\r\n ],\r\n },\r\n }),\r\n activeMemberForm.getColumn(\"roles\")!,\r\n ]);\r\n\r\n const rolesColumn = activeMemberForm.getColumn(\"roles\")!;\r\n\r\n activeMemberForm.getColumn(\"valid\")!.valueChangeEvent.on(({ value }) => {\r\n rolesColumn.disabled = value !== 1;\r\n });\r\n }\r\n\r\n async approveMember() {\r\n try {\r\n const _data = this.activeMemberForm.data!;\r\n\r\n if (!(await this.activeMemberForm.validate())) {\r\n Messager.instance.error({ message: \"请选择是否通过\" });\r\n return;\r\n }\r\n if (_data.valid == 0) {\r\n this.isShowActiveMemberForm = false;\r\n return;\r\n }\r\n\r\n if (!_data.roles.length) {\r\n Messager.instance.error({ message: \"请分配角色\" });\r\n return;\r\n }\r\n\r\n const result = await this.activeMemberForm.submit();\r\n\r\n // this.activeMemberForm.getLoadingManager().startLoading();\r\n // const result = await this.activeMemberForm.httpRequest?.post(\r\n // \"/ms/dv/ms-member/apply/account/approve\",\r\n // {\r\n // ...this.activeMemberForm.formatSubmitData({\r\n // approveResult: (_data as any).approveResult,\r\n // roles: _data?.roles,\r\n // depts: _data?.depts,\r\n // id: _data?.id,\r\n // }),\r\n // }\r\n // );\r\n // this.activeMemberForm.getLoadingManager().completeLoading();\r\n\r\n if (result?.data.code != 200) {\r\n Messager.instance.error({ message: result?.data.msg || \"请求失败\" });\r\n return;\r\n }\r\n this.isShowActiveMemberForm = false;\r\n Messager.instance.success({\r\n message: \"激活通过,密码已发送到邮箱\",\r\n });\r\n\r\n this.load();\r\n } catch (e) {\r\n console.error(e);\r\n Messager.instance.error({ message: \"网络异常\" });\r\n }\r\n }\r\n\r\n formatItem(item: MsMemberResult): MsMemberTableItem {\r\n return {\r\n ...item,\r\n roles:\r\n item.roles?.map((role) => ({\r\n id: role.id,\r\n name: role.name || \"\",\r\n desc: role.desc || \"\",\r\n })) ?? [],\r\n\r\n type: item.valid === 0 ? 1 : 3,\r\n };\r\n\r\n // return {\r\n // id: item.id,\r\n // name: item.name || \"\",\r\n // wechatNo: item.wechatNo || \"\",\r\n // nickName: item.nickName || \"\",\r\n // email: item.email || \"\",\r\n // phone: item.phone || \"\",\r\n // userName: item.userName || \"\",\r\n // avatar: item.avatar,\r\n // roles:\r\n // item.roles?.map((role) => ({\r\n // id: role.id,\r\n // name: role.name || \"\",\r\n // desc: role.desc || \"\",\r\n // })) ?? [],\r\n // // depts: item.depts?.map((department) => ({\r\n // // id: department.id,\r\n // // name: department.name || \"\",\r\n // // // memberID: department.memberID || null,\r\n // // pid: department.pid || null,\r\n // // })),\r\n // valid: item.valid,\r\n // isLock: item.isLock,\r\n // type: item.valid === 0 ? 1 : item.isLock === 1 ? 2 : 3,\r\n // errorCount: item.errorCount,\r\n // unlockDatetime: item.unlockDatetime,\r\n // };\r\n }\r\n}\r\n"],"names":["MsMemberTable","DataTable","DATA_MODEL_NAME","constructor","options","name","moduleName","MODULE_NAME","activeMemberForm","register","MsMemberForm","formatSubmitData","data","valid","Reflect","deleteProperty","isShowActiveMemberForm","initialize","initActiveMemberForm","MSAppClient","instance","userSession","userInfo","isSuper","buttonTools","splice","dataFilter","getDefaultGroup","addCondition","setColumns","FilterColumn","label","componentInfo","TableColumn","minWidth","componentProps","value","type","TableActionColumn","width","buttons","ActionButton","handler","row","response","editRecord","id","console","log","code","Messager","error","message","msg","predicate","member","isConfirm","Dialoger","confirm","title","cancelButtonText","confirmButtonText","loadingManager","startLoading","dataViewRequest","callDVRequest","action","_createVNode","_createTextVNode","color","marginRight","ElTooltip","default","MKSvgIcon","cursor","onClick","input","document","createElement","body","appendChild","setAttribute","select","execCommand","removeChild","success","e","completeLoading","EditButton","DeleteButton","init","getColumn","FormColumn","defaultValue","required","rolesColumn","valueChangeEvent","on","disabled","approveMember","_data","validate","roles","length","result","submit","load","formatItem","item","map","role","desc"],"mappings":"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"}
1
+ {"version":3,"file":"MsMemberTable.js","sources":["../../../../../../src/modules/ms/dataviews/ms-member/MsMemberTable.tsx"],"sourcesContent":["import { R } from \"@maketribe/request\";\nimport {\n TableColumn,\n DataTable,\n DataTableOptions,\n FilterColumn,\n TableActionColumn,\n ActionButton,\n DeleteButton,\n EditButton,\n Messager,\n Dialoger,\n FormColumn,\n WhereFilter,\n} from \"@maketribe/dm\";\nimport { MsMember, MsMemberForm, MsMemberResult } from \"./MsMemberForm\";\nimport { MSAppClient } from \"../../../../core\";\nimport { MKSvgIcon } from \"../../../../components/basic/svg-icon\";\nimport { ElTooltip } from \"element-plus\";\nimport { DATA_MODEL_NAME } from \"../../../../constants\";\nimport { MODULE_NAME } from \"../../constants\";\n\nexport type MsMemberTableItem = Omit<MsMember, \"passwordHash\"> & {\n type: number;\n};\n\nexport class MsMemberTable extends DataTable<\n MsMemberResult,\n MsMemberTableItem\n> {\n static [DATA_MODEL_NAME]: string = \"ms-member\";\n\n activeMemberForm: MsMemberForm;\n\n isShowActiveMemberForm: boolean;\n\n constructor(options: DataTableOptions = {}) {\n super({\n name: MsMemberTable[DATA_MODEL_NAME],\n moduleName: MODULE_NAME,\n ...options,\n });\n\n this.activeMemberForm = this.register(\n new (class extends MsMemberForm {\n formatSubmitData(data: any) {\n data = super.formatSubmitData(data);\n\n if (data.valid !== 1) {\n Reflect.deleteProperty(data, \"roles\");\n }\n\n return data;\n }\n })()\n );\n\n this.isShowActiveMemberForm = false;\n }\n\n protected async initialize() {\n await super.initialize();\n\n await this.initActiveMemberForm();\n //超管才能导出\n if (!MSAppClient.instance?.userSession?.userInfo?.isSuper) {\n this.buttonTools.splice(2, 1);\n }\n //只有超级管理员可以查看超级管理员\n if (!MSAppClient.instance?.userSession?.userInfo?.isSuper) {\n (this.dataFilter as WhereFilter)\n .getDefaultGroup()\n .addCondition(\"isSuper\", \"!=\", 1);\n }\n\n this.dataFilter.setColumns([\n // new FilterColumn({\n // name: \"createdAt\",\n // label: \"创建时间\",\n // componentInfo: \"MKConditionDate\",\n // defaultValue: [\"2024-01-20 00:00:00\", \"2024-01-21 00:00:00\"]\n // }),\n new FilterColumn({\n name: \"name\",\n label: \"姓名\",\n componentInfo: \"MKConditionInput\",\n }),\n new FilterColumn({\n name: \"wechatNo\",\n label: \"微信号\",\n componentInfo: \"MKConditionInput\",\n }),\n new FilterColumn({\n name: \"nickName\",\n label: \"昵称\",\n componentInfo: \"MKConditionInput\",\n }),\n new FilterColumn({\n name: \"email\",\n label: \"邮箱\",\n componentInfo: \"MKConditionInput\",\n }),\n new FilterColumn({\n name: \"phone\",\n label: \"手机号\",\n componentInfo: \"MKConditionInput\",\n }),\n new FilterColumn({\n name: \"username\",\n label: \"账号\",\n componentInfo: \"MKConditionInput\",\n }),\n ]);\n\n this.setColumns([\n new TableColumn({ name: \"name\", label: \"账号信息\", minWidth: \"300px\" }),\n new TableColumn({ name: \"roles\", label: \"角色\", minWidth: \"150px\" }),\n new TableColumn({\n name: \"type\",\n label: \"状态\",\n minWidth: \"80px\",\n componentInfo: \"MKColumnTag\",\n componentProps: {\n options: [\n { value: 1, label: \"待激活\" },\n { value: 2, label: \"已锁定\", type: \"danger\" },\n { value: 3, label: \"正常\", type: \"success\" },\n ],\n },\n }),\n new TableColumn({ name: \"memo\", label: \"备注\", minWidth: \"150px\" }),\n // new TableColumn({ name: \"email\", label: \"邮箱\", minWidth: \"200px\" }),\n // new TableColumn({ name: \"phone\", label: \"手机号\", minWidth: \"120px\" }),\n // new TableColumn({ name: \"wechatNo\", label: \"微信号\", minWidth: \"140px\" }),\n // new TableColumn({\n // name: \"valid\",\n // label: \"微信号\",\n // minWidth: \"140px\",\n // visible: false,\n // }),\n new TableActionColumn({\n width: \"240px\",\n buttons: [\n new ActionButton({\n label: \"激活用户\",\n handler: async (row) => {\n const response = await this.activeMemberForm.editRecord(row.id);\n // console.log(this.activeMemberForm.data);\n if (response.data.code !== 200) {\n Messager.instance.error({ message: response.data.msg });\n return;\n }\n\n this.isShowActiveMemberForm = true;\n },\n predicate: (member: MsMemberTableItem) => member.valid === 0,\n }),\n new ActionButton({\n label: \"重置密码\",\n handler: async (row) => {\n const isConfirm = await Dialoger.instance.confirm({\n title: \"重置密码\",\n message: \"是否重置密码\",\n type: \"warning\",\n cancelButtonText: \"取消\",\n confirmButtonText: \"确定\",\n });\n if (!isConfirm) {\n return;\n }\n this.loadingManager.startLoading();\n\n try {\n const response = await this.dataViewRequest.callDVRequest<\n R<string>\n >({\n action: `reset-password/${row.id}`,\n });\n\n if (response.data.code !== 200) {\n Messager.instance.error({\n message: response.data.msg || \"重置密码失败\",\n });\n return;\n }\n\n Dialoger.instance.confirm({\n title: \"重置密码成功\",\n message: (\n <p>\n <span>\n 你的新密码为:\n <span style={{ color: \"#1890ff\", marginRight: \"3px\" }}>\n {response.data.data}\n </span>\n <ElTooltip content={\"点击复制\"} placement=\"top\">\n <MKSvgIcon\n style={{ color: \"#1890ff\", cursor: \"pointer\" }}\n onClick={() => {\n const input = document.createElement(\"input\");\n document.body.appendChild(input);\n input.setAttribute(\"value\", response.data.data);\n input.select();\n if (document.execCommand(\"copy\")) {\n document.execCommand(\"copy\");\n }\n document.body.removeChild(input);\n Messager.instance.success({\n message: \"复制成功\",\n });\n }}\n iconClass=\"CopyDocument\"\n />\n </ElTooltip>\n </span>\n </p>\n ),\n type: \"warning\",\n cancelButtonText: \"取消\",\n confirmButtonText: \"确定\",\n });\n } catch (e) {\n console.error(e);\n Messager.instance.error({ message: \"网络异常\" });\n } finally {\n this.loadingManager.completeLoading();\n }\n },\n predicate: (member: MsMemberTableItem) => member.valid === 1,\n }),\n // new ActionButton({\n // label: \"解锁\",\n // handler: async (row) => {\n // const isConfirm = await Dialoger.instance.confirm({\n // title: \"解锁\",\n // message: \"是否解锁?\",\n // type: \"warning\",\n // cancelButtonText: \"取消\",\n // confirmButtonText: \"确定\",\n // });\n // if (!isConfirm) {\n // return;\n // }\n // this.loadingManager.startLoading();\n\n // const response =\n // await this.activeMemberForm.dataViewRequest.update({\n // id: row.id,\n // isLock: 0,\n // errorCount: 0,\n // unlockDatetime: null,\n // });\n\n // if (response.data.code !== 200) {\n // Messager.instance.error({ message: response.data.msg });\n // return;\n // }\n // this.loadingManager.completeLoading();\n // this.load();\n // },\n // predicate: (member: MsMemberTableItem) => member.isLock === 1,\n // }),\n new EditButton({\n predicate: (member: MsMemberTableItem) => member.valid === 1,\n }),\n new DeleteButton(),\n ],\n }),\n ]);\n }\n\n protected async initActiveMemberForm() {\n const activeMemberForm = this.activeMemberForm;\n\n await activeMemberForm.init();\n\n activeMemberForm.setColumns([\n activeMemberForm.getColumn(\"id\")!,\n new FormColumn({\n name: \"valid\",\n label: \"是否通过\",\n defaultValue: 0,\n componentInfo: \"MKFormRadioBox\",\n required: true,\n componentProps: {\n options: [\n { label: \"通过\", value: 1 },\n { label: \"不通过\", value: 0 },\n ],\n },\n }),\n activeMemberForm.getColumn(\"roles\")!,\n ]);\n\n const rolesColumn = activeMemberForm.getColumn(\"roles\")!;\n\n activeMemberForm.getColumn(\"valid\")!.valueChangeEvent.on(({ value }) => {\n rolesColumn.disabled = value !== 1;\n });\n }\n\n async approveMember() {\n try {\n if (this.activeMemberForm.loading) {\n return;\n }\n\n this.activeMemberForm.getLoadingManager().startLoading();\n\n const _data = this.activeMemberForm.data!;\n\n if (!(await this.activeMemberForm.validate())) {\n Messager.instance.error({ message: \"请选择是否通过\" });\n return;\n }\n if (_data.valid == 0) {\n this.isShowActiveMemberForm = false;\n return;\n }\n\n if (!_data.roles.length) {\n Messager.instance.error({ message: \"请分配角色\" });\n return;\n }\n\n const response = await this.dataViewRequest.callDVRequest({\n action: \"active\",\n data: {\n id: _data.id,\n roles: _data.roles ?? [],\n },\n });\n\n if (response?.data.code != 200) {\n Messager.instance.error({ message: response?.data.msg || \"请求失败\" });\n return;\n }\n this.isShowActiveMemberForm = false;\n Messager.instance.success({\n message: \"激活通过,密码已发送到邮箱\",\n });\n\n this.load();\n } catch (e) {\n console.error(e);\n Messager.instance.error({ message: \"网络异常\" });\n } finally {\n this.activeMemberForm.getLoadingManager().completeLoading();\n }\n }\n\n formatItem(item: MsMemberResult): MsMemberTableItem {\n return {\n ...item,\n roles:\n item.roles?.map((role) => ({\n id: role.id,\n name: role.name || \"\",\n desc: role.desc || \"\",\n })) ?? [],\n\n type: item.valid === 0 ? 1 : 3,\n };\n\n // return {\n // id: item.id,\n // name: item.name || \"\",\n // wechatNo: item.wechatNo || \"\",\n // nickName: item.nickName || \"\",\n // email: item.email || \"\",\n // phone: item.phone || \"\",\n // userName: item.userName || \"\",\n // avatar: item.avatar,\n // roles:\n // item.roles?.map((role) => ({\n // id: role.id,\n // name: role.name || \"\",\n // desc: role.desc || \"\",\n // })) ?? [],\n // // depts: item.depts?.map((department) => ({\n // // id: department.id,\n // // name: department.name || \"\",\n // // // memberID: department.memberID || null,\n // // pid: department.pid || null,\n // // })),\n // valid: item.valid,\n // isLock: item.isLock,\n // type: item.valid === 0 ? 1 : item.isLock === 1 ? 2 : 3,\n // errorCount: item.errorCount,\n // unlockDatetime: item.unlockDatetime,\n // };\n }\n}\n"],"names":["MsMemberTable","DataTable","DATA_MODEL_NAME","constructor","options","name","moduleName","MODULE_NAME","activeMemberForm","register","MsMemberForm","formatSubmitData","data","valid","Reflect","deleteProperty","isShowActiveMemberForm","initialize","initActiveMemberForm","MSAppClient","instance","userSession","userInfo","isSuper","buttonTools","splice","dataFilter","getDefaultGroup","addCondition","setColumns","FilterColumn","label","componentInfo","TableColumn","minWidth","componentProps","value","type","TableActionColumn","width","buttons","ActionButton","handler","row","response","editRecord","id","code","Messager","error","message","msg","predicate","member","isConfirm","Dialoger","confirm","title","cancelButtonText","confirmButtonText","loadingManager","startLoading","dataViewRequest","callDVRequest","action","_createVNode","_createTextVNode","color","marginRight","ElTooltip","default","MKSvgIcon","cursor","onClick","input","document","createElement","body","appendChild","setAttribute","select","execCommand","removeChild","success","e","console","completeLoading","EditButton","DeleteButton","init","getColumn","FormColumn","defaultValue","required","rolesColumn","valueChangeEvent","on","disabled","approveMember","loading","getLoadingManager","_data","validate","roles","length","load","formatItem","item","map","role","desc"],"mappings":"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"}