@ximatai/muyun-web-app 0.26.15 → 0.26.16

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 (257) hide show
  1. package/dist/BusinessActivityLogView-DVM_GB5y.js +18 -0
  2. package/dist/BusinessLogListDrawer-BciMLY9z.js +864 -0
  3. package/dist/ConfigurationTranslationView-B0FosDyz.js +197 -0
  4. package/dist/LoginAuditLogView-3tAozKlC.js +18 -0
  5. package/dist/ModuleActionManagementView-CJRNShGg.js +755 -0
  6. package/dist/{ModuleGovernanceView-LkWCtops.js → ModuleGovernanceView-DsqR_Sj7.js} +6733 -6323
  7. package/dist/RequestErrorLogView-C4yH-TSX.js +18 -0
  8. package/dist/RoleDetailWorkspaceView-BpOoGUwS.js +1435 -0
  9. package/dist/RuntimeLogView-CoKKpJ39.js +316 -0
  10. package/dist/WorkflowAdministrationView-DmUV6vWS.js +650 -0
  11. package/dist/WorkflowConfigurationView-pghDbWEh.js +975 -0
  12. package/dist/WorkflowWorkbenchView-BwWxyDen.js +747 -0
  13. package/dist/es-BST-ixpj.js +22621 -0
  14. package/dist/index.css +1 -1
  15. package/dist/index.js +852 -735
  16. package/dist/moduleGovernanceWorkspaceView-DGEV3ZyT.js +667 -0
  17. package/dist/platform-components-Cl5ZZiuU.js +27139 -0
  18. package/dist/{platform-workbench-C-kE-Yqq.js → platform-workbench-CAHoriIf.js} +7677 -7187
  19. package/dist/rolldown-runtime-BAC7EHh5.js +20 -0
  20. package/dist/types/app/ChangeOwnPasswordDialog.vue.d.ts +1 -1
  21. package/dist/types/app/CurrentUserProfileDialog.vue.d.ts +1 -1
  22. package/dist/types/app/ThemeSkinPreferencesDialog.vue.d.ts +3 -0
  23. package/dist/types/app/businessNotificationNavigation.d.ts +4 -0
  24. package/dist/types/app/menuRouteCompiler.d.ts +3 -0
  25. package/dist/types/app/platformMessage.d.ts +3 -6
  26. package/dist/types/app/themeSkinPreference.d.ts +3 -2
  27. package/dist/types/app/workbenchStartup.d.ts +8 -4
  28. package/dist/types/consumer/AppWorkbenchShell.vue.d.ts +1 -1
  29. package/dist/types/consumer/index.d.ts +3 -1
  30. package/dist/types/dynamic-page-runtime/ManagedDetailRelationInlineSurface.vue.d.ts +1 -1
  31. package/dist/types/dynamic-page-runtime/ManagedDetailRelationSurface.vue.d.ts +1 -1
  32. package/dist/types/dynamic-page-runtime/ModulePageBusinessSession.d.ts +46 -1302
  33. package/dist/types/dynamic-page-runtime/ModulePageDetailRelations.vue.d.ts +1 -1
  34. package/dist/types/dynamic-page-runtime/ModulePageHostRuntime.vue.d.ts +409 -1626
  35. package/dist/types/dynamic-page-runtime/ModulePageListRelationExpansion.vue.d.ts +1 -1
  36. package/dist/types/dynamic-page-runtime/ModulePageRecordContent.vue.d.ts +15 -1
  37. package/dist/types/dynamic-page-runtime/ModuleRecordDetailActions.vue.d.ts +1 -1
  38. package/dist/types/dynamic-page-runtime/NavigatorManagementEditor.vue.d.ts +1 -1
  39. package/dist/types/dynamic-page-runtime/NavigatorPanelActions.vue.d.ts +1 -1
  40. package/dist/types/dynamic-page-runtime/TenantScopeExplorer.vue.d.ts +1 -1
  41. package/dist/types/dynamic-page-runtime/composables/useModulePageBootstrap.d.ts +4 -3
  42. package/dist/types/dynamic-page-runtime/composables/useNavigatorRuntime.d.ts +9 -1301
  43. package/dist/types/dynamic-page-runtime/formActionResult.d.ts +2 -1
  44. package/dist/types/dynamic-page-runtime/formValidationCoordinator.d.ts +1 -1
  45. package/dist/types/dynamic-page-runtime/modulePageEnhancements.d.ts +13 -4
  46. package/dist/types/dynamic-page-runtime/modulePageUnsavedState.d.ts +3 -10
  47. package/dist/types/dynamic-page-runtime/pageActionInvocation.d.ts +2 -1
  48. package/dist/types/dynamic-page-runtime/pageActionPlacement.d.ts +2 -1
  49. package/dist/types/dynamic-page-runtime/pageNavigatorItemModel.d.ts +2 -1
  50. package/dist/types/dynamic-page-runtime/recordCreationReadiness.d.ts +2 -1
  51. package/dist/types/dynamic-page-runtime/recordDisplayProjection.d.ts +7 -3
  52. package/dist/types/dynamic-page-runtime/recordFormAssistantCapabilities.d.ts +5 -4
  53. package/dist/types/dynamic-page-runtime/recordFormDraftAccess.d.ts +3 -0
  54. package/dist/types/dynamic-page-runtime/recordMutationPayload.d.ts +1 -1
  55. package/dist/types/dynamic-page-runtime/recordReferenceDisplay.d.ts +1 -1
  56. package/dist/types/dynamic-page-runtime/recordSaveRecovery.d.ts +2 -1
  57. package/dist/types/dynamic-page-runtime/relationDraftAssistantCapabilities.d.ts +2 -2
  58. package/dist/types/dynamic-page-runtime/useModulePageSession.d.ts +35 -1303
  59. package/dist/types/dynamic-page-runtime/useModuleRecordDataChanges.d.ts +13 -0
  60. package/dist/types/platform-admin-runtime/backendHttp.d.ts +2 -1
  61. package/dist/types/platform-admin-runtime/index.d.ts +3 -1
  62. package/dist/types/platform-admin-runtime/module-menu/moduleMenuClient.d.ts +4 -4
  63. package/dist/types/platform-admin-runtime/module-menu/moduleMenuReceiptStore.d.ts +2 -1
  64. package/dist/types/platform-admin-runtime/module-menu/moduleMenuSession.d.ts +11 -7
  65. package/dist/types/platform-admin-runtime/module-menu/moduleMenuWorkspace.d.ts +16 -7
  66. package/dist/types/platform-admin-runtime/moduleOpenApi.d.ts +4 -3
  67. package/dist/types/platform-admin-runtime/pageRealtime.d.ts +0 -1
  68. package/dist/types/platform-admin-runtime/realtime.d.ts +0 -3
  69. package/dist/types/platform-admin-runtime/role/roleScopeSelectionClient.d.ts +4 -1
  70. package/dist/types/platform-admin-runtime/sessionRecovery.d.ts +3 -1
  71. package/dist/types/platform-admin-runtime/user/useUserSessionRows.d.ts +2 -0
  72. package/dist/types/platform-admin-runtime/user/userOnlineStatusStore.d.ts +1 -5
  73. package/dist/types/platform-components/BusinessNotificationPanel.vue.d.ts +34 -1
  74. package/dist/types/platform-components/CrudRecordListExplorer.vue.d.ts +4 -4
  75. package/dist/types/platform-components/DateTimeText.vue.d.ts +1 -1
  76. package/dist/types/platform-components/DetailRelationListPanel.vue.d.ts +1 -1
  77. package/dist/types/platform-components/DictionaryPicker.vue.d.ts +2 -2
  78. package/dist/types/platform-components/FileSizeText.vue.d.ts +1 -1
  79. package/dist/types/platform-components/FileTransferUploader.vue.d.ts +1 -1
  80. package/dist/types/platform-components/FormulaExpressionEditor.vue.d.ts +7 -7
  81. package/dist/types/platform-components/ModuleActionButton.vue.d.ts +2 -2
  82. package/dist/types/platform-components/QueryCriteriaComposer.vue.d.ts +1 -1
  83. package/dist/types/platform-components/QueryCriteriaGroupEditor.vue.d.ts +1 -1
  84. package/dist/types/platform-components/QueryValueEditor.vue.d.ts +1 -1
  85. package/dist/types/platform-components/RecordActionBar.vue.d.ts +1 -1
  86. package/dist/types/platform-components/RecordDetailDrawer.vue.d.ts +2 -2
  87. package/dist/types/platform-components/RecordDetailFields.vue.d.ts +1 -1
  88. package/dist/types/platform-components/RecordExpandedSubtable.vue.d.ts +2 -2
  89. package/dist/types/platform-components/RecordFileReferenceTransfer.vue.d.ts +1 -1
  90. package/dist/types/platform-components/RecordFormFields.vue.d.ts +2 -2
  91. package/dist/types/platform-components/RecordImageFileReferencePreview.vue.d.ts +1 -1
  92. package/dist/types/platform-components/RecordListExplorer.vue.d.ts +1 -1
  93. package/dist/types/platform-components/RecordModeDrawer.vue.d.ts +5 -5
  94. package/dist/types/platform-components/RecordMultiPicker.vue.d.ts +1 -1
  95. package/dist/types/platform-components/RecordPanelButton.vue.d.ts +1 -1
  96. package/dist/types/platform-components/RecordPermissionDialog.vue.d.ts +1 -1
  97. package/dist/types/platform-components/RecordPicker.vue.d.ts +1 -1
  98. package/dist/types/platform-components/RecordQueryListPanel.vue.d.ts +6 -6
  99. package/dist/types/platform-components/RecordQueryListSurface.vue.d.ts +2 -2
  100. package/dist/types/platform-components/ReferencePicker.vue.d.ts +3 -3
  101. package/dist/types/platform-components/ReferenceRecordDetailBrowser.vue.d.ts +1 -1
  102. package/dist/types/platform-components/ScopedTreePicker.vue.d.ts +1 -1
  103. package/dist/types/platform-components/SingleImageFileReferenceField.vue.d.ts +1 -1
  104. package/dist/types/platform-components/TreeRecordExplorer.vue.d.ts +5 -5
  105. package/dist/types/platform-components/UserPicker.vue.d.ts +2 -2
  106. package/dist/types/platform-components/UserSessionExpandedSubtable.vue.d.ts +1 -1
  107. package/dist/types/platform-components/WorkflowBusinessTaskEditor.vue.d.ts +36 -0
  108. package/dist/types/platform-components/WorkflowDesignProperties.vue.d.ts +40 -0
  109. package/dist/types/platform-components/WorkflowDiagram.vue.d.ts +24 -0
  110. package/dist/types/platform-components/WorkflowParticipantEditor.vue.d.ts +18 -0
  111. package/dist/types/platform-components/WorkflowRecordPanel.vue.d.ts +30 -0
  112. package/dist/types/platform-components/WorkflowTimeline.vue.d.ts +19 -0
  113. package/dist/types/platform-components/crudRecordListModel.d.ts +2 -1
  114. package/dist/types/platform-components/fileTransferUpload.d.ts +10 -0
  115. package/dist/types/platform-components/index.d.ts +8 -2
  116. package/dist/types/platform-components/optionFieldOptions.d.ts +7 -2
  117. package/dist/types/platform-components/platformDateTime.d.ts +2 -0
  118. package/dist/types/platform-components/platformErrorFeedback.d.ts +2 -1
  119. package/dist/types/platform-components/readonlyReferenceDisplay.d.ts +10 -2
  120. package/dist/types/platform-components/recordActionBarModel.d.ts +4 -1
  121. package/dist/types/platform-components/recordDetailFieldModel.d.ts +2 -0
  122. package/dist/types/platform-components/recordFormFieldModel.d.ts +3 -3
  123. package/dist/types/platform-components/recordPickerConstraints.d.ts +4 -1
  124. package/dist/types/platform-components/recordQueryListColumnModel.d.ts +5 -1
  125. package/dist/types/platform-components/recycleBinState.d.ts +3 -2
  126. package/dist/types/platform-components/referencePickerModel.d.ts +9 -1
  127. package/dist/types/platform-components/referencePickerReadError.d.ts +11 -3
  128. package/dist/types/platform-components/referenceRecordDetailBrowser.d.ts +2 -2
  129. package/dist/types/platform-components/softDeletedConflictHandler.d.ts +3 -1
  130. package/dist/types/platform-components/staticCrudManagementState.d.ts +9 -8
  131. package/dist/types/platform-components/treeRecordModel.d.ts +2 -1
  132. package/dist/types/platform-components/userSessionPresentation.d.ts +4 -3
  133. package/dist/types/platform-components/workflowAccountOptions.d.ts +4 -0
  134. package/dist/types/platform-components/workflowDesignEditing.d.ts +11 -0
  135. package/dist/types/platform-components/workflowDiagramModel.d.ts +41 -0
  136. package/dist/types/platform-components/workflowParticipantPolicy.d.ts +11 -0
  137. package/dist/types/platform-components/workflowPresentation.d.ts +11 -0
  138. package/dist/types/platform-workbench/LanguageSelector.vue.d.ts +6 -0
  139. package/dist/types/platform-workbench/Workbench.vue.d.ts +3 -3
  140. package/dist/types/platform-workbench/WorkbenchAssistantPanel.vue.d.ts +1 -1
  141. package/dist/types/platform-workbench/WorkbenchMenu.vue.d.ts +1 -1
  142. package/dist/types/platform-workbench/assistantControlText.d.ts +19 -0
  143. package/dist/types/platform-workbench/configurationCollaboration.d.ts +2 -2
  144. package/dist/types/platform-workbench/constructionDelivery.d.ts +2 -2
  145. package/dist/types/platform-workbench/constructionFields.d.ts +2 -2
  146. package/dist/types/platform-workbench/constructionInitialization.d.ts +2 -2
  147. package/dist/types/platform-workbench/constructionPlanGuard.d.ts +2 -1
  148. package/dist/types/platform-workbench/constructionPlanSession.d.ts +12 -4
  149. package/dist/types/platform-workbench/constructionPresentation.d.ts +6 -0
  150. package/dist/types/platform-workbench/constructionReferenceDiscovery.d.ts +2 -2
  151. package/dist/types/platform-workbench/index.d.ts +2 -1
  152. package/dist/types/platform-workbench/menuNavigation.d.ts +7 -3
  153. package/dist/types/platform-workbench/menuTreeModel.d.ts +2 -1
  154. package/dist/types/platform-workbench/realtimeStatus.d.ts +2 -1
  155. package/dist/types/platform-workbench/useAssistantConversation.d.ts +107 -15
  156. package/dist/types/platform-workbench/useAssistantConversationArchive.d.ts +8 -15
  157. package/dist/types/platform-workbench/useWorkspaceViewUnsavedState.d.ts +1 -5
  158. package/dist/types/platform-workbench/workbenchAssistantCapabilities.d.ts +3 -2
  159. package/dist/types/platform-workbench/workbenchNavigation.d.ts +1 -0
  160. package/dist/types/platform-workbench/workspaceViewContract.d.ts +4 -0
  161. package/dist/types/platform-workbench/workspaceViewDiscardGuard.d.ts +5 -0
  162. package/dist/types/platform-workbench/workspaceViewHost.d.ts +1 -1
  163. package/dist/types/platform-workbench/workspaceViewUnsavedState.d.ts +1 -1
  164. package/dist/types/platform-workbench/workspaceViews.d.ts +3 -2
  165. package/dist/types/views/ConfigurationTranslationView.vue.d.ts +3 -0
  166. package/dist/types/views/MetadataSourceTree.vue.d.ts +0 -2
  167. package/dist/types/views/PageCompositionDescriptorPreview.vue.d.ts +2 -2
  168. package/dist/types/views/PageQuerySummaryEditor.vue.d.ts +2 -2
  169. package/dist/types/views/RoleAuthorizationView.vue.d.ts +1 -1
  170. package/dist/types/views/WorkflowAdministrationView.vue.d.ts +3 -0
  171. package/dist/types/views/WorkflowConfigurationView.vue.d.ts +7 -0
  172. package/dist/types/views/WorkflowWorkbenchView.vue.d.ts +3 -0
  173. package/dist/types/views/businessLogClient.d.ts +5 -2
  174. package/dist/types/views/businessRuleAssistantSurface.d.ts +3 -3
  175. package/dist/types/views/businessRuleEditor.d.ts +2 -1
  176. package/dist/types/views/businessRuleGovernance.d.ts +14 -4
  177. package/dist/types/views/businessRuleSession.d.ts +4 -3
  178. package/dist/types/views/businessRuleWorkspace.d.ts +6 -2
  179. package/dist/types/views/configurationEditorNavigation.d.ts +2 -1
  180. package/dist/types/views/configurationTranslationWorkspace.d.ts +69 -0
  181. package/dist/types/views/dictionaryRadioEligibility.d.ts +2 -1
  182. package/dist/types/views/metadataChangeSetSubmission.d.ts +4 -3
  183. package/dist/types/views/metadataEditorSession.d.ts +15 -9
  184. package/dist/types/views/metadataGovernanceEditor.d.ts +4 -0
  185. package/dist/types/views/metadataModelEditSession.d.ts +3 -2
  186. package/dist/types/views/metadataModelTree.d.ts +2 -1
  187. package/dist/types/views/metadataNaming.d.ts +5 -2
  188. package/dist/types/views/metadataOrchestrationState.d.ts +10 -9
  189. package/dist/types/views/metadataSourceTree.d.ts +3 -2
  190. package/dist/types/views/metadataWorkspace.d.ts +26 -19
  191. package/dist/types/views/moduleRuntimeActivation.d.ts +3 -3
  192. package/dist/types/views/pageCompositionAssistantSurface.d.ts +2 -0
  193. package/dist/types/views/pageCompositionCandidate.d.ts +2 -1
  194. package/dist/types/views/pageCompositionComponents.d.ts +5 -4
  195. package/dist/types/views/pageCompositionDraftState.d.ts +21 -7
  196. package/dist/types/views/pageCompositionMode.d.ts +26 -2
  197. package/dist/types/views/pageCompositionPublication.d.ts +2 -0
  198. package/dist/types/views/pageCompositionSession.d.ts +48 -15
  199. package/dist/types/views/pageCompositionWorkspace.d.ts +90 -29
  200. package/dist/types/views/runtimeLogClient.d.ts +2 -2
  201. package/dist/types/views/usePageCompositionComponents.d.ts +2 -1
  202. package/dist/types/views/workflowConfigurationWorkspaceView.d.ts +5 -0
  203. package/dist/types/vue-ui-antdv/blockingOverlays.d.ts +9 -0
  204. package/dist/types/vue-ui-antdv/components/UiButton.vue.d.ts +1 -1
  205. package/dist/types/vue-ui-antdv/components/UiDataTable.vue.d.ts +2 -2
  206. package/dist/types/vue-ui-antdv/components/UiLanguageProvider.vue.d.ts +18 -0
  207. package/dist/types/vue-ui-antdv/components/UiModal.vue.d.ts +3 -3
  208. package/dist/types/vue-ui-antdv/components/UiRecordExplorerItem.vue.d.ts +2 -2
  209. package/dist/types/vue-ui-antdv/components/UiSearchInput.vue.d.ts +1 -1
  210. package/dist/types/vue-ui-antdv/components/UiSelect.vue.d.ts +1 -1
  211. package/dist/types/vue-ui-antdv/components/UiSidePanel.vue.d.ts +3 -0
  212. package/dist/types/vue-ui-antdv/components/UiTextArea.vue.d.ts +7 -7
  213. package/dist/types/vue-ui-antdv/components/UiTokenInput.vue.d.ts +7 -7
  214. package/dist/types/vue-ui-antdv/components/UiTree.vue.d.ts +1 -1
  215. package/dist/types/vue-ui-antdv/components/UiTreeSelect.vue.d.ts +1 -1
  216. package/dist/types/vue-ui-antdv/confirm.d.ts +3 -2
  217. package/dist/types/vue-ui-antdv/index.d.ts +3 -0
  218. package/dist/types/vue-ui-antdv/languageGlobalScope.d.ts +3 -0
  219. package/dist/types/vue-ui-antdv/languageLocales.d.ts +4 -0
  220. package/dist/types/vue-ui-antdv/theme.d.ts +2 -0
  221. package/dist/types/vue-ui-antdv/types.d.ts +2 -0
  222. package/dist/types/web-contracts/constructionPlan.d.ts +4 -3
  223. package/dist/types/web-contracts/index.d.ts +46 -0
  224. package/dist/types/web-contracts/workflow.d.ts +346 -0
  225. package/dist/types/web-core/actionResult.d.ts +3 -0
  226. package/dist/types/web-core/assistantConfirmation.d.ts +3 -2
  227. package/dist/types/web-core/assistantConversationClient.d.ts +8 -0
  228. package/dist/types/web-core/assistantSurface.d.ts +4 -3
  229. package/dist/types/web-core/errors.d.ts +8 -4
  230. package/dist/types/web-core/index.d.ts +6 -0
  231. package/dist/types/web-core/language.d.ts +54 -0
  232. package/dist/types/web-core/languagePreference.d.ts +8 -0
  233. package/dist/types/web-core/module/dataExchangeClient.d.ts +2 -1
  234. package/dist/types/web-core/module/index.d.ts +1 -0
  235. package/dist/types/web-core/module/moduleContext.d.ts +4 -0
  236. package/dist/types/web-core/module/pageActionEntries.d.ts +3 -2
  237. package/dist/types/web-core/module/runtimeContext.d.ts +15 -2
  238. package/dist/types/web-core/operationConfirmation.d.ts +5 -1
  239. package/dist/types/web-core/operationErrors.d.ts +15 -1
  240. package/dist/types/web-core/presentationTexts.d.ts +16 -0
  241. package/dist/types/web-core/sha256.d.ts +2 -0
  242. package/dist/types/web-core/workflow.d.ts +70 -0
  243. package/dist/types/web-core/workspaceUnsavedState.d.ts +6 -0
  244. package/dist/workspaceViews-BIYGPUAO.js +3437 -0
  245. package/package.json +2 -4
  246. package/dist/BusinessActivityLogView-DVzrZW1X.js +0 -16
  247. package/dist/BusinessLogListDrawer-D-R3wnWr.js +0 -825
  248. package/dist/LoginAuditLogView-BP1eaEPw.js +0 -16
  249. package/dist/ModuleActionManagementView-D17iKVQv.js +0 -691
  250. package/dist/RequestErrorLogView-LzN94-Tk.js +0 -16
  251. package/dist/RoleDetailWorkspaceView-BXA-bzFu.js +0 -1406
  252. package/dist/RuntimeLogView-DUpu2q2w.js +0 -297
  253. package/dist/moduleGovernanceWorkspaceView-COjWtJMr.js +0 -639
  254. package/dist/platform-components-Hs3DrTqE.js +0 -19770
  255. package/dist/rolldown-runtime-DPVXH0ON.js +0 -17
  256. package/dist/sse-Q1wa3p_k.js +0 -187
  257. package/dist/workspaceViews-CHsgLFwY.js +0 -3217
@@ -1,1406 +0,0 @@
1
- import { P as e, h as t, s as n, t as r } from "./platform-workbench-C-kE-Yqq.js";
2
- import { $t as i, A as a, Dn as o, Ln as ee, O as te, Pn as ne, Qt as re, R as ie, S as ae, Tn as oe, Ut as se, Vt as s, X as ce, Xt as le, a as ue, an as de, b as fe, bn as pe, bt as me, dt as he, ft as ge, ht as _e, in as ve, o as ye, s as be, v as xe, xn as c } from "./platform-components-Hs3DrTqE.js";
3
- import { i as Se } from "./sse-Q1wa3p_k.js";
4
- import { a as Ce, c as we, i as Te, o as Ee, r as De, s as Oe, t as ke, u as Ae } from "./workspaceViews-CHsgLFwY.js";
5
- import { Fragment as je, computed as l, createBlock as u, createCommentVNode as d, createElementBlock as f, createElementVNode as p, createTextVNode as Me, createVNode as m, defineComponent as h, normalizeClass as Ne, onBeforeUnmount as Pe, onMounted as Fe, openBlock as g, ref as _, unref as v, watch as Ie, withCtx as y, withModifiers as Le } from "vue";
6
- //#region src/platform-components/recordDraftNormalizer.ts
7
- function Re(e, t) {
8
- return {
9
- ...e,
10
- ...t
11
- };
12
- }
13
- //#endregion
14
- //#region src/views/roleDetailWorkspaceSession.ts
15
- function ze(e, t) {
16
- return De(Ae, e, {
17
- ...t,
18
- selectedRole: { ...t.selectedRole },
19
- draft: { ...t.draft },
20
- scope: {
21
- ...t.scope,
22
- tenant: t.scope.tenant ? { ...t.scope.tenant } : void 0,
23
- organization: t.scope.organization ? { ...t.scope.organization } : void 0
24
- }
25
- });
26
- }
27
- function Be(e, t) {
28
- return Te(Ae, e, t);
29
- }
30
- function Ve(e) {
31
- return Ce(Ae, e);
32
- }
33
- //#endregion
34
- //#region src/views/RoleGroupMemberSelector.vue?vue&type=script&setup=true&lang.ts
35
- var b = { class: "role-group-member-selector" }, He = /*#__PURE__*/ o(/* @__PURE__ */ h({
36
- name: "RoleGroupMemberSelector",
37
- __name: "RoleGroupMemberSelector",
38
- props: {
39
- value: { default: void 0 },
40
- candidates: {},
41
- currentRoleId: { default: void 0 },
42
- disabled: {
43
- type: Boolean,
44
- default: !1
45
- }
46
- },
47
- emits: ["update:value"],
48
- setup(e, { emit: t }) {
49
- let n = e, r = t, i = l(() => te(n.value)), a = l(() => new Set(n.candidates.filter((e) => e.roleKind === "dataGrant" && e.id && i.value.includes(e.id)).map((e) => e.id))), o = l(() => n.candidates.filter((e) => e.id && e.id !== n.currentRoleId).map((e) => ({
50
- label: `${ne(e)} / ${re(e.roleKind)}`,
51
- value: e.id,
52
- disabled: e.roleKind === "dataGrant" && a.value.size > 0 && !i.value.includes(e.id)
53
- })));
54
- function ee(e) {
55
- if (!Array.isArray(e)) {
56
- r("update:value", void 0);
57
- return;
58
- }
59
- let t = e.map((e) => String(e).trim()).filter(Boolean);
60
- r("update:value", t.length > 0 ? t.join(",") : void 0);
61
- }
62
- function te(e) {
63
- return Array.isArray(e) ? e.map((e) => String(e).trim()).filter(Boolean) : typeof e == "string" ? e.split(",").map((e) => e.trim()).filter(Boolean) : [];
64
- }
65
- function ne(e) {
66
- return String(e?.title ?? e?.id ?? "角色");
67
- }
68
- function re(e) {
69
- return e === "dataGrant" ? "数据授权角色" : "标准角色";
70
- }
71
- return (t, n) => (g(), f("label", b, [n[0] ||= p("span", { class: "role-group-member-selector-label" }, "成员角色", -1), m(v(c), {
72
- mode: "multiple",
73
- value: i.value,
74
- options: o.value,
75
- placeholder: "请选择成员角色",
76
- disabled: e.disabled,
77
- "allow-clear": !0,
78
- "onUpdate:value": ee
79
- }, null, 8, [
80
- "value",
81
- "options",
82
- "disabled"
83
- ])]));
84
- }
85
- }), [["__scopeId", "data-v-91d9ae10"]]), Ue = {
86
- key: 1,
87
- class: "role-detail-state"
88
- }, We = {
89
- key: 1,
90
- class: "role-detail-state"
91
- }, Ge = /*#__PURE__*/ o(/* @__PURE__ */ h({
92
- name: "RoleManagementView",
93
- __name: "RoleManagementView",
94
- props: {
95
- recordId: {},
96
- scopeKind: {},
97
- scopeId: {}
98
- },
99
- setup(o) {
100
- let c = o, Ce = n(), Te = ne({ moduleAlias: "iam.tenant" }), De = ne({ moduleAlias: "iam.organization" }), h = ne({ moduleAlias: "iam.role" }), b = t(), Ge = _(""), x = _(null), S = _(0), C = _(), w = _(), T = _(), E = _(), D = _(!1), O = _("view"), k = _(!1), A = _(!1), j = _(!1), M = _(), Ke = _(!1), qe = _(!1), N = _(), Je = _(!1), P = _(0), F = _(Z(void 0)), Ye = _(ue(F.value)), I = _(ge(void 0)), L = _([]), R = l(() => !!(c.recordId && c.scopeKind)), z = l(() => R.value && Ce?.presentation === "drawer"), Xe = l(() => !R.value || z.value), B = _([]), V = de({
101
- nodes: () => B.value,
102
- loader: () => jt,
103
- version: () => B.value
104
- }), Ze = V.states, Qe = _([]), $e = _(!1), H = /* @__PURE__ */ new Map(), et = /* @__PURE__ */ new Map(), tt = /* @__PURE__ */ new Map(), nt = l(() => Kn(V.nodes.value, Ge.value)), rt = l(() => b?.value?.system === !0), it = l(() => b?.value?.system === !0), at = l(() => {
105
- let e = b?.value?.tenantId;
106
- if (b?.value?.system !== !0 && e) return {
107
- id: e,
108
- title: e,
109
- alias: e,
110
- enabled: !0
111
- };
112
- }), U = l(() => Et(h, w.value)), ot = l(() => Tt(U.value, w.value)), st = l(() => [
113
- {
114
- key: "title",
115
- title: "角色名称",
116
- width: "22%"
117
- },
118
- {
119
- key: "assignmentType",
120
- title: "授权层级",
121
- width: "13%",
122
- render: (e) => Pn(e, "assignmentType", An(e.assignmentType))
123
- },
124
- {
125
- key: "roleKind",
126
- title: "角色类型",
127
- width: "13%",
128
- render: (e) => Pn(e, "roleKind", jn(e.roleKind))
129
- },
130
- {
131
- key: "sharePolicy",
132
- title: "公开策略",
133
- width: "15%",
134
- render: (e) => Pn(e, "sharePolicy", Mn(e.sharePolicy))
135
- },
136
- {
137
- key: "systemManaged",
138
- title: "系统托管",
139
- width: "12%",
140
- render: (e) => Nn(e.systemManaged)
141
- },
142
- {
143
- key: "enabled",
144
- title: "状态",
145
- type: "enabledStatus",
146
- width: "10%"
147
- }
148
- ]), ct = l(() => !!w.value), lt = l(() => O.value === "create" ? "新建角色" : $(E.value ?? F.value)), ut = l(() => w.value?.title ?? "角色详情"), dt = l(() => O.value !== "view" && Ye.value !== ue(F.value));
149
- r("角色详情", () => dt.value, () => j.value);
150
- let W = l(() => j.value || k.value), ft = l(() => k.value || !w.value ? !1 : O.value === "create" ? h.can("create") === !0 : !!E.value?.id && h.can("update") === !0 && !E.value?.systemManaged), pt = l(() => {
151
- let e = E.value;
152
- return !!(e?.id && e.systemManaged !== !0 && h.can(zn(e)) === !0);
153
- }), mt = l(() => O.value === "view" ? E.value?.id ? [
154
- {
155
- key: "edit",
156
- actionCode: "update",
157
- title: "编辑",
158
- iconName: "edit",
159
- disabled: j.value || E.value.systemManaged === !0
160
- },
161
- {
162
- key: "bind",
163
- actionCode: Ln(E.value),
164
- title: Rn(E.value),
165
- iconName: "lock",
166
- visible: Fn(E.value),
167
- disabled: j.value || E.value.systemManaged === !0
168
- },
169
- {
170
- key: "delete",
171
- actionCode: "delete",
172
- title: "删除",
173
- iconName: "delete",
174
- danger: !0,
175
- disabled: j.value || E.value.systemManaged === !0
176
- }
177
- ] : [] : [{
178
- key: "cancel",
179
- title: "取消",
180
- iconName: "close",
181
- disabled: j.value
182
- }, {
183
- key: "save",
184
- actionCode: O.value === "create" ? "create" : "update",
185
- title: "保存",
186
- iconName: "save",
187
- primary: !0,
188
- loading: j.value,
189
- disabled: !ft.value
190
- }]), ht = l(() => mt.value), gt = l(() => mt.value), _t = Ee({
191
- view: Ae,
192
- input: l(() => {
193
- let e = E.value?.id, t = w.value, n = O.value;
194
- if (e && t && (n === "view" || n === "edit")) return {
195
- recordId: e,
196
- scopeKind: t.kind,
197
- ...t.kind === "platform" ? {} : { scopeId: t.id }
198
- };
199
- }),
200
- title: l(() => $(E.value)),
201
- eligibility: l(() => ({
202
- hasStableIdentity: !!(E.value?.id && w.value) && !k.value,
203
- busy: j.value
204
- })),
205
- beforePromote: async (e) => {
206
- let t = E.value, n = w.value;
207
- if (t && n) return await ze(e, {
208
- selectedRole: t,
209
- draft: F.value,
210
- draftBaseline: Ye.value,
211
- scope: n,
212
- mode: O.value === "edit" ? "edit" : "view"
213
- }) === "accepted";
214
- },
215
- onPromoted: rn
216
- }), G = l(() => ({
217
- title: {
218
- label: "角色名称",
219
- required: !0,
220
- visible: !0,
221
- placeholder: "请输入角色名称"
222
- },
223
- assignmentType: {
224
- label: "授权层级",
225
- required: !0,
226
- visible: !0,
227
- controlType: "select",
228
- options: Tn(F.value.roleKind)
229
- },
230
- roleKind: {
231
- label: "角色类型",
232
- required: !0,
233
- visible: !0,
234
- controlType: "select",
235
- options: En(F.value.assignmentType)
236
- },
237
- memberRoleIds: {
238
- label: "成员角色",
239
- visible: F.value.roleKind === "group"
240
- },
241
- ownerScopeType: {
242
- label: "归属范围",
243
- required: !0,
244
- visible: !0,
245
- readOnly: !0,
246
- controlType: "select",
247
- options: [
248
- {
249
- label: "平台",
250
- value: "platform"
251
- },
252
- {
253
- label: "租户",
254
- value: "tenant"
255
- },
256
- {
257
- label: "机构",
258
- value: "organization"
259
- }
260
- ]
261
- },
262
- ownerScopeId: {
263
- label: "归属对象",
264
- visible: !0,
265
- readOnly: !0
266
- },
267
- sharePolicy: {
268
- label: "公开策略",
269
- required: !0,
270
- visible: !0,
271
- controlType: "select",
272
- options: kn(w.value?.kind ?? F.value.ownerScopeType)
273
- },
274
- description: {
275
- label: "说明",
276
- visible: !0,
277
- placeholder: "请输入角色说明"
278
- },
279
- enabled: {
280
- label: "启用状态",
281
- visible: !0,
282
- controlType: "enabledStatus"
283
- }
284
- })), vt = [
285
- "title",
286
- "assignmentType",
287
- "roleKind"
288
- ], yt = [
289
- "ownerScopeType",
290
- "ownerScopeId",
291
- "sharePolicy",
292
- "description",
293
- "enabled"
294
- ], bt = l(() => {
295
- let e = [
296
- "title",
297
- "assignmentType",
298
- "roleKind"
299
- ];
300
- return F.value.roleKind === "group" && e.push("memberRoleIds"), e.push("ownerScopeType", "ownerScopeId", "sharePolicy", "description", "enabled"), e;
301
- }), xt;
302
- Fe(() => {
303
- if (Ct(), (!R.value || z.value) && kt(), !R.value || !c.recordId || !c.scopeKind) return;
304
- let e = hn();
305
- e && !z.value && (xt = Be(e, St)), mn();
306
- }), Pe(() => xt?.());
307
- function St(e) {
308
- return !dt.value && (vn(e), !0);
309
- }
310
- Ie(E, (e) => {
311
- R.value && e && Ce?.setTitle($(e));
312
- }, { immediate: !0 }), Ie(at, Vt, { immediate: !0 }), Ie(w, () => {
313
- R.value || (T.value = void 0, E.value = void 0, F.value = Z(w.value), rn(), S.value += 1, wt());
314
- });
315
- async function Ct() {
316
- try {
317
- let e = await h.runtime.ready;
318
- I.value = ge(e.uiDescriptor);
319
- } catch (e) {
320
- s(e, {
321
- source: "role-management",
322
- phase: "load"
323
- });
324
- }
325
- }
326
- async function wt(e = w.value) {
327
- if (!e) {
328
- L.value = [];
329
- return;
330
- }
331
- try {
332
- let t = await U.value.crud.query(Dt({
333
- page: {
334
- pageNum: 0,
335
- pageSize: 500
336
- },
337
- conditions: [
338
- {
339
- fieldName: "assignmentType",
340
- operator: "EQ",
341
- values: ["employment"]
342
- },
343
- {
344
- fieldName: "roleKind",
345
- operator: "IN",
346
- values: ["standard", "dataGrant"]
347
- },
348
- {
349
- fieldName: "enabled",
350
- operator: "EQ",
351
- values: [!0]
352
- }
353
- ],
354
- sorts: [{ field: "sortOrder" }, { field: "title" }]
355
- }, e));
356
- L.value = t.records;
357
- } catch (e) {
358
- L.value = [], s(e, {
359
- source: "role-management",
360
- phase: "load"
361
- });
362
- }
363
- }
364
- function Tt(e, t) {
365
- return {
366
- ...e,
367
- crud: {
368
- ...e.crud,
369
- query: (n) => t ? e.crud.query(Dt(n, t)) : e.crud.query(n)
370
- }
371
- };
372
- }
373
- function Et(e, t) {
374
- if (!t) return e;
375
- let n = Se(e.http, { "X-MuYun-Page-Selection": JSON.stringify({
376
- kind: "roleScope",
377
- key: t.key
378
- }) });
379
- return {
380
- ...e,
381
- http: n,
382
- crud: ee(n, { moduleAlias: e.moduleAlias })
383
- };
384
- }
385
- function Dt(e, t) {
386
- let n = [...e?.conditions ?? [], {
387
- fieldName: "ownerScopeType",
388
- operator: "EQ",
389
- values: [t.kind]
390
- }];
391
- return t.kind !== "platform" && t.id && n.push({
392
- fieldName: "ownerScopeId",
393
- operator: "EQ",
394
- values: [t.id]
395
- }), {
396
- ...e,
397
- conditions: n
398
- };
399
- }
400
- function Ot(e) {
401
- return e === "ownerScopeType" || e === "ownerScopeId" || O.value === "edit" && ["assignmentType", "roleKind"].includes(e) ? !0 : E.value?.systemManaged === !0;
402
- }
403
- function K(e, t) {
404
- let n = {
405
- ...F.value,
406
- [e]: t
407
- };
408
- e === "roleKind" && (t === "group" || t === "dataGrant") && (n.assignmentType = "employment"), e === "roleKind" && t !== "group" && (n.memberRoleIds = void 0), e === "assignmentType" && t === "account" && wn(n.roleKind) && (n.roleKind = "standard", n.memberRoleIds = void 0), F.value = n;
409
- }
410
- async function kt() {
411
- if (!R.value || z.value) {
412
- if (!it.value) {
413
- let e = at.value;
414
- if (!e?.id) return;
415
- H.set(e.id, e), B.value = [At(e)], Vt(e);
416
- return;
417
- }
418
- $e.value = !0;
419
- try {
420
- await Te.runtime.ready;
421
- let e = await Te.abilities.crud().query({ page: {
422
- pageNum: 1,
423
- pageSize: 200
424
- } });
425
- H.clear(), e.records.forEach((e) => {
426
- e.id && H.set(e.id, e);
427
- }), B.value = e.records.map(At), !w.value && rt.value && Ht();
428
- } catch (e) {
429
- B.value = [], s(e, {
430
- source: "role-management",
431
- phase: "load"
432
- });
433
- } finally {
434
- $e.value = !1;
435
- }
436
- }
437
- }
438
- function At(e) {
439
- return {
440
- key: Ft(e.id),
441
- title: Vn(e),
442
- secondary: e.alias ?? e.id,
443
- muted: e.enabled === !1,
444
- isLeaf: !1
445
- };
446
- }
447
- async function jt(t, n) {
448
- let r = Rt(t.key), i = r ? H.get(r) : void 0;
449
- if (!r || !i) throw Error("租户已失效");
450
- try {
451
- let t = e(De, {
452
- scopeFieldName: "tenantId",
453
- scopeValue: r,
454
- treePath: "/iam.organization/tree"
455
- });
456
- await t.runtime.ready;
457
- let a = await t.abilities.tree().tree();
458
- return n.signal.throwIfAborted(), {
459
- mode: "replace",
460
- nodes: [Mt(i), ...a.records.map((e) => Nt(e, r))],
461
- hasMore: !1
462
- };
463
- } catch (e) {
464
- throw n.signal.aborted || s(e, {
465
- source: "role-management",
466
- phase: "load"
467
- }), e;
468
- }
469
- }
470
- function Mt(e) {
471
- return {
472
- key: It(e.id),
473
- title: Vn(e),
474
- secondary: "租户本级角色",
475
- isLeaf: !0
476
- };
477
- }
478
- function Nt(e, t) {
479
- let n = e.record;
480
- return n.id && (et.set(n.id, n), tt.set(n.id, t)), {
481
- key: Lt(n.id),
482
- title: Hn(n),
483
- secondary: n.code ?? n.id,
484
- muted: n.enabled === !1,
485
- isLeaf: e.children.length === 0,
486
- children: e.children.map((e) => Nt(e, t))
487
- };
488
- }
489
- function Pt(e) {
490
- let t = Rt(e.key);
491
- if (t) {
492
- let e = H.get(t);
493
- e && Wt(e);
494
- return;
495
- }
496
- let n = zt(e.key);
497
- if (n) {
498
- let e = H.get(n);
499
- e && Wt(e);
500
- return;
501
- }
502
- let r = Bt(e.key);
503
- if (!r) return;
504
- let i = et.get(r), a = tt.get(r);
505
- i && a && Kt(i, H.get(a));
506
- }
507
- function Ft(e) {
508
- return `tenant:${e ?? ""}`;
509
- }
510
- function It(e) {
511
- return `tenant-root:${e ?? ""}`;
512
- }
513
- function Lt(e) {
514
- return `organization:${e ?? ""}`;
515
- }
516
- function Rt(e) {
517
- return e.startsWith("tenant:") ? e.slice(7) : void 0;
518
- }
519
- function zt(e) {
520
- return e.startsWith("tenant-root:") ? e.slice(12) : void 0;
521
- }
522
- function Bt(e) {
523
- return e.startsWith("organization:") ? e.slice(13) : void 0;
524
- }
525
- function Vt(e = at.value) {
526
- R.value || !e || it.value || C.value || w.value || (C.value = e, Gt(e));
527
- }
528
- async function Ht() {
529
- rt.value && await Y() && (C.value = void 0, w.value = {
530
- kind: "platform",
531
- key: "platform",
532
- title: "平台角色"
533
- });
534
- }
535
- async function Ut() {
536
- if (!rt.value) {
537
- await Gt();
538
- return;
539
- }
540
- await Ht();
541
- }
542
- async function Wt(e) {
543
- await Gt(e);
544
- }
545
- async function Gt(e = C.value) {
546
- e?.id && await Y() && (C.value = e, w.value = {
547
- kind: "tenant",
548
- id: e.id,
549
- key: `tenant:${e.id}`,
550
- title: `${Vn(e)} / 租户本级`,
551
- tenant: e
552
- });
553
- }
554
- async function Kt(e, t = C.value) {
555
- e.id && await Y() && (C.value = t, w.value = {
556
- kind: "organization",
557
- id: e.id,
558
- key: `organization:${e.id}`,
559
- title: Hn(e),
560
- tenant: t,
561
- organization: e
562
- });
563
- }
564
- function qt(e) {
565
- e.key === "create" && nn();
566
- }
567
- function Jt(e) {
568
- return [
569
- {
570
- key: "bind",
571
- actionCode: Ln(e),
572
- title: "绑定",
573
- after: "edit",
574
- pinned: !0,
575
- visible: Fn(e)
576
- },
577
- {
578
- key: "authorize",
579
- actionCode: "rolePermissions",
580
- title: "授权",
581
- after: "bind",
582
- pinned: !0,
583
- visible: In(e)
584
- },
585
- {
586
- key: "toggle",
587
- actionCode: zn(e),
588
- title: Bn(e),
589
- iconName: "power",
590
- before: "delete"
591
- }
592
- ];
593
- }
594
- function Yt(e, t) {
595
- if (e.systemManaged !== !0) return;
596
- let n = t.key ?? t.actionCode;
597
- return n === "edit" || n === "update" || n === "bind" || n === "authorize" || n === "toggle" || n === "delete" ? { disabled: !0 } : void 0;
598
- }
599
- function Xt(e, t) {
600
- if (J()) {
601
- if (e.key === "view") {
602
- q(t, "view");
603
- return;
604
- }
605
- if (e.key === "edit") {
606
- q(t, "edit");
607
- return;
608
- }
609
- if (e.key === "bind") {
610
- en(t, t.assignmentType === "employment");
611
- return;
612
- }
613
- if (e.key === "authorize") {
614
- Zt(t);
615
- return;
616
- }
617
- if (e.key === "toggle") {
618
- un(t);
619
- return;
620
- }
621
- e.key === "delete" && ln(t);
622
- }
623
- }
624
- function Zt(e) {
625
- String(e.id ?? "") && e.roleKind !== "group" && (N.value = Q(e), Je.value = !0);
626
- }
627
- function Qt() {
628
- Je.value = !1, N.value = void 0;
629
- }
630
- function $t(e) {
631
- J() && q(e, "view");
632
- }
633
- async function en(e, t = !1) {
634
- if (!J()) return;
635
- let n = String(e.id ?? "");
636
- if (n) {
637
- Ke.value = !t, qe.value = t, M.value = Q(e);
638
- try {
639
- M.value = await U.value.crud.view(n);
640
- } catch (e) {
641
- Ke.value = !1, qe.value = !1, M.value = void 0, s(e, {
642
- source: "role-management",
643
- phase: "load"
644
- });
645
- }
646
- }
647
- }
648
- function tn() {
649
- j.value || (Ke.value = !1, qe.value = !1, M.value = void 0);
650
- }
651
- async function nn() {
652
- if (await Y()) {
653
- if (!w.value) {
654
- se("请先选择角色归属范围", { phase: "validation" });
655
- return;
656
- }
657
- E.value = void 0, T.value = void 0, F.value = Z(w.value), X(), O.value = "create", k.value = !1, A.value = !1, P.value += 1, D.value = !0;
658
- }
659
- }
660
- async function q(e, t) {
661
- if (!await Y()) return;
662
- let n = String(e.id ?? "");
663
- if (!n) return;
664
- T.value = n, D.value = !0, O.value = t, E.value = void 0, F.value = Q(e), X(), k.value = !0, A.value = !1;
665
- let r = P.value + 1;
666
- P.value = r;
667
- try {
668
- let e = await U.value.crud.view(n);
669
- if (!fn(n, r)) return;
670
- if (!_n(e)) {
671
- A.value = !0, se("角色不属于当前归属范围", {
672
- source: "role-management",
673
- phase: "load"
674
- });
675
- return;
676
- }
677
- pn(e, t);
678
- } catch (e) {
679
- fn(n, r) && (A.value = !0, s(e, {
680
- source: "role-management",
681
- phase: "load"
682
- }));
683
- } finally {
684
- fn(n, r) && (k.value = !1);
685
- }
686
- }
687
- function rn() {
688
- j.value || (P.value += 1, k.value = !1, A.value = !1, D.value = !1, O.value = "view", F.value = E.value ? Q(E.value) : Z(w.value), X(), z.value && Ce?.dismiss());
689
- }
690
- async function an() {
691
- if (await Y()) {
692
- if (!E.value?.id || O.value === "create") {
693
- rn();
694
- return;
695
- }
696
- F.value = Q(E.value), X(), O.value = "view", k.value = !1, A.value = !1;
697
- }
698
- }
699
- function on(e) {
700
- if (e.key === "cancel") {
701
- an();
702
- return;
703
- }
704
- if (e.key === "save") {
705
- cn();
706
- return;
707
- }
708
- if (J()) {
709
- if (e.key === "edit" && E.value && !E.value.systemManaged) {
710
- F.value = Q(E.value), X(), O.value = "edit";
711
- return;
712
- }
713
- if (e.key === "bind" && E.value) {
714
- en(E.value, E.value.assignmentType === "employment");
715
- return;
716
- }
717
- e.key === "delete" && ln(E.value);
718
- }
719
- }
720
- function sn() {
721
- let e = String(F.value.id ?? T.value ?? "");
722
- if (!e) return;
723
- let t = O.value === "create" ? "view" : O.value;
724
- q({
725
- ...F.value,
726
- id: e
727
- }, t);
728
- }
729
- async function cn() {
730
- await ye({
731
- loading: j,
732
- mode: O.value === "edit" ? "edit" : "create",
733
- source: "role-management",
734
- validateContext: () => w.value ? void 0 : "请先选择角色归属范围",
735
- canSave: () => ft.value,
736
- deniedMessage: "当前用户无权保存角色",
737
- createRecord: () => yn(F.value, w.value),
738
- validateRecord: xn,
739
- save: (e, t) => t === "edit" && E.value?.id ? U.value.crud.update(E.value.id, e) : U.value.crud.insert(e),
740
- onSaved: ({ record: e }) => {
741
- pn(e), S.value += 1, wt();
742
- }
743
- });
744
- }
745
- async function ln(e) {
746
- await be({
747
- loading: j,
748
- source: "role-management",
749
- record: () => e?.id ? e : void 0,
750
- canExecute: (e) => h.can("delete") === !0 && e.systemManaged !== !0,
751
- deniedMessage: "当前用户无权删除角色",
752
- confirm: (e) => le({
753
- title: "删除角色",
754
- content: `确认删除角色「${$(e)}」?`,
755
- okText: "删除",
756
- danger: !0
757
- }),
758
- execute: (e) => U.value.crud.delete(String(e.id), { version: e.version }),
759
- onExecuted: (e, t) => {
760
- T.value === String(t.id) && (T.value = void 0, E.value = void 0, F.value = Z(w.value), X(), D.value = !1, O.value = "view", k.value = !1, A.value = !1, P.value += 1), S.value += 1, wt();
761
- }
762
- });
763
- }
764
- async function un(e) {
765
- await be({
766
- loading: j,
767
- source: "role-management",
768
- record: () => e?.id ? e : void 0,
769
- canExecute: (e) => h.can(zn(e)) === !0 && e.systemManaged !== !0,
770
- deniedMessage: "当前用户无权变更角色启停状态",
771
- execute: (e) => e.enabled === !1 ? U.value.crud.enable(String(e.id), { version: e.version }) : U.value.crud.disable(String(e.id), { version: e.version }),
772
- onExecuted: async (e, t) => {
773
- T.value === String(t.id) && pn(await U.value.crud.view(String(t.id))), S.value += 1, wt();
774
- }
775
- });
776
- }
777
- function J() {
778
- return !j.value;
779
- }
780
- async function Y() {
781
- return J() && await dn();
782
- }
783
- async function dn() {
784
- return !dt.value || le({
785
- title: "放弃未保存的角色修改",
786
- content: "当前角色存在未保存的修改,离开后将丢失。是否继续?",
787
- okText: "放弃修改",
788
- danger: !0
789
- });
790
- }
791
- function fn(e, t) {
792
- return P.value === t && T.value === e;
793
- }
794
- function pn(e, t = "view") {
795
- E.value = e, T.value = e.id, F.value = Q(e), X(), O.value = t === "edit" && e.systemManaged !== !0 ? "edit" : "view", D.value = !0, k.value = !1, A.value = !1, P.value += 1;
796
- }
797
- async function mn() {
798
- let e = hn();
799
- if (!e) return;
800
- w.value = gn(e);
801
- let t = Ve(e);
802
- if (t) {
803
- vn(t);
804
- return;
805
- }
806
- await q({ id: e.recordId }, "view");
807
- }
808
- function hn() {
809
- let e = c.recordId, t = c.scopeKind;
810
- if (e && t && (t === "platform" || c.scopeId)) return {
811
- recordId: e,
812
- scopeKind: t,
813
- ...t === "platform" ? {} : { scopeId: c.scopeId }
814
- };
815
- }
816
- function gn(e) {
817
- if (e.scopeKind === "platform") return {
818
- kind: "platform",
819
- key: "platform",
820
- title: "平台角色"
821
- };
822
- let t = e.scopeId, n = e.scopeKind === "organization" ? `机构:${t}` : `租户:${t}`;
823
- return {
824
- kind: e.scopeKind,
825
- id: t,
826
- key: `${e.scopeKind}:${t}`,
827
- title: n,
828
- ...e.scopeKind === "tenant" ? { tenant: {
829
- id: t,
830
- title: t,
831
- alias: t
832
- } } : {}
833
- };
834
- }
835
- function _n(e) {
836
- let t = w.value;
837
- return !t || e.ownerScopeType !== t.kind ? !1 : t.kind === "platform" || e.ownerScopeId === t.id;
838
- }
839
- function vn(e) {
840
- w.value = e.scope, E.value = e.selectedRole, T.value = e.selectedRole.id, F.value = e.draft, Ye.value = e.draftBaseline, O.value = e.mode, D.value = !0, k.value = !1, A.value = !1, P.value += 1;
841
- }
842
- function X() {
843
- Ye.value = ue(F.value);
844
- }
845
- function Z(e) {
846
- return {
847
- tenantId: bn(e),
848
- ownerScopeType: e?.kind,
849
- ownerScopeId: e?.kind === "platform" ? void 0 : e?.id,
850
- assignmentType: "employment",
851
- roleKind: "standard",
852
- sharePolicy: On(),
853
- enabled: !0
854
- };
855
- }
856
- function Q(e) {
857
- return { ...e };
858
- }
859
- function yn(e, t) {
860
- let n = Cn(e.roleKind), r = Dn(e.sharePolicy, t.kind), i = Re(e, {
861
- title: e.title?.trim(),
862
- assignmentType: Sn(e.assignmentType, n),
863
- roleKind: n,
864
- memberRoleIds: e.memberRoleIds?.trim() || void 0,
865
- tenantId: bn(t),
866
- ownerScopeType: t.kind,
867
- ownerScopeId: t.kind === "platform" ? void 0 : t.id,
868
- ownerScopeKey: void 0,
869
- sharePolicy: r,
870
- description: e.description?.trim() || void 0,
871
- enabled: e.enabled !== !1
872
- });
873
- return n !== "group" && (i.memberRoleIds = void 0), i;
874
- }
875
- function bn(e) {
876
- return e?.kind === "platform" ? void 0 : e?.tenant?.id ?? e?.id;
877
- }
878
- function xn(e) {
879
- for (let t of [
880
- "title",
881
- "assignmentType",
882
- "roleKind",
883
- "ownerScopeType",
884
- "sharePolicy"
885
- ]) {
886
- let n = he(t, {
887
- fields: I.value,
888
- mode: O.value,
889
- fallback: G.value
890
- });
891
- if (n.visible && n.required && !e[t]) return `请填写${n.label}`;
892
- }
893
- if (e.ownerScopeType !== "platform" && !e.ownerScopeId) return "请选择归属对象";
894
- if (!kn(e.ownerScopeType).some((t) => t.value === e.sharePolicy)) return "请选择当前归属范围可用的公开策略";
895
- }
896
- function Sn(e, t) {
897
- return t === "group" || t === "dataGrant" ? "employment" : e === "account" ? "account" : "employment";
898
- }
899
- function Cn(e) {
900
- return e === "group" || e === "dataGrant" || e === "system" ? e : "standard";
901
- }
902
- function wn(e) {
903
- return e === "group" || e === "dataGrant";
904
- }
905
- function Tn(e) {
906
- return wn(e) ? [{
907
- label: "任职角色",
908
- value: "employment"
909
- }] : [{
910
- label: "账号角色",
911
- value: "account"
912
- }, {
913
- label: "任职角色",
914
- value: "employment"
915
- }];
916
- }
917
- function En(e) {
918
- let t = [{
919
- label: "标准角色",
920
- value: "standard"
921
- }, {
922
- label: "系统角色",
923
- value: "system"
924
- }];
925
- return e === "account" ? t : [
926
- t[0],
927
- {
928
- label: "角色组",
929
- value: "group"
930
- },
931
- {
932
- label: "数据授权角色",
933
- value: "dataGrant"
934
- },
935
- t[1]
936
- ];
937
- }
938
- function Dn(e, t) {
939
- return kn(t).map((e) => e.value).includes(e ?? "") ? e : On();
940
- }
941
- function On() {
942
- return "private";
943
- }
944
- function kn(e) {
945
- return e === "platform" ? [{
946
- label: "私有",
947
- value: "private"
948
- }, {
949
- label: "全局公开",
950
- value: "platform"
951
- }] : e === "organization" ? [{
952
- label: "私有",
953
- value: "private"
954
- }, {
955
- label: "本级及下级",
956
- value: "ownerAndChildren"
957
- }] : [{
958
- label: "私有",
959
- value: "private"
960
- }, {
961
- label: "租户公开",
962
- value: "tenant"
963
- }];
964
- }
965
- function An(e) {
966
- return e === "account" ? "账号角色" : "任职角色";
967
- }
968
- function jn(e) {
969
- return {
970
- standard: "标准角色",
971
- group: "角色组",
972
- dataGrant: "数据授权角色",
973
- system: "系统角色"
974
- }[e ?? "standard"];
975
- }
976
- function Mn(e) {
977
- return {
978
- private: "私有",
979
- ownerAndChildren: "本级及下级",
980
- tenant: "租户公开",
981
- platform: "全局公开"
982
- }[e ?? "private"];
983
- }
984
- function Nn(e) {
985
- return e === !0 ? "是" : "否";
986
- }
987
- function Pn(e, t, n) {
988
- let r = e[`${t}Title`];
989
- return typeof r == "string" && r.trim() ? r : n;
990
- }
991
- function Fn(e) {
992
- return !!e?.id && (e?.assignmentType === "account" || e?.assignmentType === "employment");
993
- }
994
- function In(e) {
995
- return !!e?.id && e?.roleKind !== "group";
996
- }
997
- function Ln(e) {
998
- return e?.assignmentType === "employment" ? "employmentRoleGrants" : "accountRoleGrants";
999
- }
1000
- function Rn(e) {
1001
- return e?.assignmentType === "employment" ? "绑定任职" : "绑定用户";
1002
- }
1003
- function zn(e) {
1004
- return e?.enabled === !1 ? "enable" : "disable";
1005
- }
1006
- function Bn(e) {
1007
- return e?.enabled === !1 ? "启用" : "停用";
1008
- }
1009
- function $(e) {
1010
- return String(e?.title ?? e?.id ?? "角色");
1011
- }
1012
- function Vn(e) {
1013
- return String(e?.title ?? e?.alias ?? e?.id ?? "未命名租户");
1014
- }
1015
- function Hn(e) {
1016
- return String(e?.title ?? e?.code ?? e?.id ?? "未命名机构");
1017
- }
1018
- function Un(e, t) {
1019
- if (e === "ownerScopeType") return Gn(F.value.ownerScopeType);
1020
- if (e === "ownerScopeId") return w.value?.title ?? String(t ?? "");
1021
- if (e === "memberRoleIds") return Wn(t);
1022
- }
1023
- function Wn(e) {
1024
- let t = qn(e);
1025
- return t.length === 0 ? "-" : t.map((e) => {
1026
- let t = L.value.find((t) => t.id === e);
1027
- return t ? $(t) : e;
1028
- }).join(",");
1029
- }
1030
- function Gn(e) {
1031
- return e === "platform" ? "平台" : e === "organization" ? "机构" : "租户";
1032
- }
1033
- function Kn(e, t) {
1034
- let n = t.trim().toLowerCase();
1035
- return n ? e.flatMap((e) => {
1036
- let r = e.children ? Kn(e.children, t) : void 0;
1037
- return [
1038
- e.title,
1039
- e.secondary,
1040
- e.key
1041
- ].some((e) => e?.toLowerCase().includes(n)) || (r?.length ?? 0) > 0 ? [{
1042
- ...e,
1043
- ...r ? { children: r } : {}
1044
- }] : [];
1045
- }) : e;
1046
- }
1047
- function qn(e) {
1048
- return Array.isArray(e) ? e.map((e) => String(e).trim()).filter(Boolean) : typeof e == "string" ? e.split(",").map((e) => e.trim()).filter(Boolean) : [];
1049
- }
1050
- return (e, t) => (g(), f("section", {
1051
- ref_key: "pageRoot",
1052
- ref: x,
1053
- class: Ne(["role-management-page", { "role-management-page--task": R.value && !z.value }])
1054
- }, [
1055
- !R.value || z.value ? (g(), u(v(ie), {
1056
- key: 0,
1057
- class: "role-scope-panel",
1058
- title: "租户",
1059
- "refresh-title": "刷新租户列表",
1060
- "search-keyword": Ge.value,
1061
- "search-placeholder": "搜索租户名称、alias 或 ID",
1062
- searchable: it.value,
1063
- onRefresh: kt,
1064
- "onUpdate:searchKeyword": t[2] ||= (e) => Ge.value = e
1065
- }, {
1066
- default: y(() => [$e.value ? (g(), u(v(i), {
1067
- key: 0,
1068
- tip: "加载租户"
1069
- })) : (g(), u(v(ve), {
1070
- key: 1,
1071
- "expanded-keys": Qe.value,
1072
- "onUpdate:expandedKeys": t[0] ||= (e) => Qe.value = e,
1073
- nodes: nt.value,
1074
- "selected-key": w.value?.kind === "tenant" ? It(w.value.id) : w.value?.kind === "organization" ? Lt(w.value.id) : void 0,
1075
- "load-strategy": "controlled",
1076
- "branch-states": v(Ze),
1077
- onLoadRequest: t[1] ||= (e) => v(V).request(e.node.key, e.reason, v(V).stateOf(e.node.key).status === "error"),
1078
- onSelect: Pt,
1079
- onDeselect: Ut
1080
- }, null, 8, [
1081
- "expanded-keys",
1082
- "nodes",
1083
- "selected-key",
1084
- "branch-states"
1085
- ]))]),
1086
- _: 1
1087
- }, 8, ["search-keyword", "searchable"])) : d("v-if", !0),
1088
- !R.value || z.value ? (g(), u(v(a), {
1089
- key: 1,
1090
- class: "role-list-panel",
1091
- context: ot.value,
1092
- title: w.value ? `角色列表 - ${w.value.title}` : "角色列表",
1093
- columns: st.value,
1094
- "standard-crud-actions": "",
1095
- "standard-crud-row-actions": "",
1096
- "extra-row-actions-of": Jt,
1097
- "row-action-state-of": Yt,
1098
- "selected-key": T.value,
1099
- "reload-key": S.value,
1100
- ready: ct.value,
1101
- sortable: !0,
1102
- "quick-search-placeholder": "搜索角色名称或说明",
1103
- "empty-description": "当前范围暂无角色",
1104
- "waiting-description": "请选择角色归属范围",
1105
- onAction: qt,
1106
- onRowAction: Xt,
1107
- onRowDblclick: $t,
1108
- onSelect: t[3] ||= (e) => T.value = String(e.id ?? "")
1109
- }, null, 8, [
1110
- "context",
1111
- "title",
1112
- "columns",
1113
- "selected-key",
1114
- "reload-key",
1115
- "ready"
1116
- ])) : d("v-if", !0),
1117
- Xe.value ? (g(), u(v(_e), {
1118
- key: 2,
1119
- open: D.value,
1120
- title: lt.value,
1121
- "render-mode": "inline",
1122
- subtitle: ut.value,
1123
- dismissal: O.value === "view" ? "dismissible" : "guarded",
1124
- "before-close": dn,
1125
- promotion: v(_t),
1126
- onClose: rn
1127
- }, {
1128
- status: y(() => [O.value === "view" && E.value ? (g(), u(v(ae), {
1129
- key: 0,
1130
- enabled: E.value.enabled !== !1,
1131
- disabled: j.value || !pt.value,
1132
- loading: j.value,
1133
- "show-label": !1,
1134
- onChange: t[4] ||= (e) => un(E.value)
1135
- }, null, 8, [
1136
- "enabled",
1137
- "disabled",
1138
- "loading"
1139
- ])) : d("v-if", !0)]),
1140
- operation: y(() => [m(v(me), {
1141
- context: ot.value,
1142
- actions: ht.value,
1143
- onAction: on
1144
- }, null, 8, ["context", "actions"])]),
1145
- default: y(() => [k.value ? (g(), u(v(i), {
1146
- key: 0,
1147
- class: "role-detail-state",
1148
- tip: "加载角色详情"
1149
- })) : A.value ? (g(), f("div", Ue, [m(v(re), {
1150
- title: "详情加载失败",
1151
- message: "无法加载角色详情,请重试"
1152
- }), m(v(oe), {
1153
- type: "primary",
1154
- "icon-name": "reload",
1155
- onClick: sn
1156
- }, {
1157
- default: y(() => [...t[10] ||= [Me("重试", -1)]]),
1158
- _: 1
1159
- })])) : O.value === "view" || O.value === "create" || E.value ? (g(), f(je, { key: 2 }, [O.value === "view" ? (g(), u(v(ce), {
1160
- key: 0,
1161
- record: F.value,
1162
- "field-names": bt.value,
1163
- fields: I.value,
1164
- fallback: G.value,
1165
- "display-of": Un
1166
- }, null, 8, [
1167
- "record",
1168
- "field-names",
1169
- "fields",
1170
- "fallback"
1171
- ])) : (g(), f("form", {
1172
- key: 1,
1173
- class: "role-form",
1174
- onSubmit: Le(cn, ["prevent"])
1175
- }, [
1176
- p("label", null, [t[11] ||= p("span", { class: "role-form-label" }, "当前范围", -1), m(v(pe), {
1177
- value: w.value?.title ?? "-",
1178
- disabled: ""
1179
- }, null, 8, ["value"])]),
1180
- m(v(fe), {
1181
- mode: O.value,
1182
- record: F.value,
1183
- "field-names": vt,
1184
- fields: I.value,
1185
- fallback: G.value,
1186
- disabled: W.value,
1187
- "disabled-of": Ot,
1188
- "onUpdate:field": K
1189
- }, null, 8, [
1190
- "mode",
1191
- "record",
1192
- "fields",
1193
- "fallback",
1194
- "disabled"
1195
- ]),
1196
- F.value.roleKind === "group" ? (g(), u(He, {
1197
- key: 0,
1198
- value: F.value.memberRoleIds,
1199
- candidates: L.value,
1200
- "current-role-id": E.value?.id,
1201
- disabled: W.value || E.value?.systemManaged === !0,
1202
- "onUpdate:value": t[5] ||= (e) => K("memberRoleIds", e)
1203
- }, null, 8, [
1204
- "value",
1205
- "candidates",
1206
- "current-role-id",
1207
- "disabled"
1208
- ])) : d("v-if", !0),
1209
- m(v(fe), {
1210
- mode: O.value,
1211
- record: F.value,
1212
- "field-names": yt,
1213
- fields: I.value,
1214
- fallback: G.value,
1215
- disabled: W.value,
1216
- "disabled-of": Ot,
1217
- "onUpdate:field": K
1218
- }, null, 8, [
1219
- "mode",
1220
- "record",
1221
- "fields",
1222
- "fallback",
1223
- "disabled"
1224
- ])
1225
- ], 32)), O.value === "create" ? d("v-if", !0) : (g(), u(v(xe), {
1226
- key: 2,
1227
- record: F.value,
1228
- "show-sort-order": ""
1229
- }, null, 8, ["record"]))], 64)) : d("v-if", !0)]),
1230
- _: 1
1231
- }, 8, [
1232
- "open",
1233
- "title",
1234
- "subtitle",
1235
- "dismissal",
1236
- "promotion"
1237
- ])) : (g(), u(v(te), {
1238
- key: 3,
1239
- title: lt.value,
1240
- subtitle: ut.value
1241
- }, {
1242
- status: y(() => [O.value === "view" && E.value ? (g(), u(v(ae), {
1243
- key: 0,
1244
- enabled: E.value.enabled !== !1,
1245
- disabled: j.value || !pt.value,
1246
- loading: j.value,
1247
- "show-label": !1,
1248
- onChange: t[6] ||= (e) => un(E.value)
1249
- }, null, 8, [
1250
- "enabled",
1251
- "disabled",
1252
- "loading"
1253
- ])) : d("v-if", !0)]),
1254
- operation: y(() => [m(v(me), {
1255
- context: v(h),
1256
- actions: gt.value,
1257
- "record-id": E.value?.id,
1258
- onAction: on
1259
- }, null, 8, [
1260
- "context",
1261
- "actions",
1262
- "record-id"
1263
- ])]),
1264
- default: y(() => [k.value ? (g(), u(v(i), {
1265
- key: 0,
1266
- class: "role-detail-state",
1267
- tip: "加载角色详情"
1268
- })) : A.value ? (g(), f("div", We, [m(v(re), {
1269
- title: "详情加载失败",
1270
- message: "无法加载角色详情,请重试"
1271
- }), m(v(oe), {
1272
- type: "primary",
1273
- "icon-name": "reload",
1274
- onClick: sn
1275
- }, {
1276
- default: y(() => [...t[12] ||= [Me("重试", -1)]]),
1277
- _: 1
1278
- })])) : O.value === "view" || E.value ? (g(), f(je, { key: 2 }, [O.value === "view" ? (g(), u(v(ce), {
1279
- key: 0,
1280
- record: F.value,
1281
- "field-names": bt.value,
1282
- fields: I.value,
1283
- fallback: G.value,
1284
- "display-of": Un
1285
- }, null, 8, [
1286
- "record",
1287
- "field-names",
1288
- "fields",
1289
- "fallback"
1290
- ])) : (g(), f("form", {
1291
- key: 1,
1292
- class: "role-form",
1293
- onSubmit: Le(cn, ["prevent"])
1294
- }, [
1295
- p("label", null, [t[13] ||= p("span", { class: "role-form-label" }, "当前范围", -1), m(v(pe), {
1296
- value: w.value?.title ?? "-",
1297
- disabled: ""
1298
- }, null, 8, ["value"])]),
1299
- m(v(fe), {
1300
- mode: O.value,
1301
- record: F.value,
1302
- "field-names": vt,
1303
- fields: I.value,
1304
- fallback: G.value,
1305
- disabled: W.value,
1306
- "disabled-of": Ot,
1307
- "onUpdate:field": K
1308
- }, null, 8, [
1309
- "mode",
1310
- "record",
1311
- "fields",
1312
- "fallback",
1313
- "disabled"
1314
- ]),
1315
- F.value.roleKind === "group" ? (g(), u(He, {
1316
- key: 0,
1317
- value: F.value.memberRoleIds,
1318
- candidates: L.value,
1319
- "current-role-id": E.value?.id,
1320
- disabled: W.value || E.value?.systemManaged === !0,
1321
- "onUpdate:value": t[7] ||= (e) => K("memberRoleIds", e)
1322
- }, null, 8, [
1323
- "value",
1324
- "candidates",
1325
- "current-role-id",
1326
- "disabled"
1327
- ])) : d("v-if", !0),
1328
- m(v(fe), {
1329
- mode: O.value,
1330
- record: F.value,
1331
- "field-names": yt,
1332
- fields: I.value,
1333
- fallback: G.value,
1334
- disabled: W.value,
1335
- "disabled-of": Ot,
1336
- "onUpdate:field": K
1337
- }, null, 8, [
1338
- "mode",
1339
- "record",
1340
- "fields",
1341
- "fallback",
1342
- "disabled"
1343
- ])
1344
- ], 32)), m(v(xe), {
1345
- record: F.value,
1346
- "show-sort-order": ""
1347
- }, null, 8, ["record"])], 64)) : d("v-if", !0)]),
1348
- _: 1
1349
- }, 8, ["title", "subtitle"])),
1350
- m(we, {
1351
- open: Ke.value,
1352
- context: v(h),
1353
- role: M.value,
1354
- container: x.value,
1355
- onClose: tn,
1356
- onSaved: t[8] ||= (e) => S.value += 1
1357
- }, null, 8, [
1358
- "open",
1359
- "context",
1360
- "role",
1361
- "container"
1362
- ]),
1363
- m(Oe, {
1364
- open: qe.value,
1365
- context: v(h),
1366
- role: M.value,
1367
- container: x.value,
1368
- onClose: tn,
1369
- onSaved: t[9] ||= (e) => S.value += 1
1370
- }, null, 8, [
1371
- "open",
1372
- "context",
1373
- "role",
1374
- "container"
1375
- ]),
1376
- Je.value && N.value?.id ? (g(), u(ke, {
1377
- key: 4,
1378
- "role-id": N.value.id,
1379
- container: x.value,
1380
- drawer: "",
1381
- onClose: Qt
1382
- }, null, 8, ["role-id", "container"])) : d("v-if", !0)
1383
- ], 2));
1384
- }
1385
- }), [["__scopeId", "data-v-22c2e36f"]]), x = /* @__PURE__ */ h({
1386
- name: "RoleDetailWorkspaceView",
1387
- __name: "RoleDetailWorkspaceView",
1388
- props: {
1389
- recordId: {},
1390
- scopeKind: {},
1391
- scopeId: {}
1392
- },
1393
- setup(e) {
1394
- return (t, n) => (g(), u(Ge, {
1395
- "record-id": e.recordId,
1396
- "scope-kind": e.scopeKind,
1397
- "scope-id": e.scopeId
1398
- }, null, 8, [
1399
- "record-id",
1400
- "scope-kind",
1401
- "scope-id"
1402
- ]));
1403
- }
1404
- });
1405
- //#endregion
1406
- export { x as default };