@ximatai/muyun-web-app 0.26.8 → 0.26.9

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 (171) hide show
  1. package/dist/DictionaryManagementView-CtIQpqVA.js +1035 -0
  2. package/dist/MenuManagementView-DJhkN2sG.js +837 -0
  3. package/dist/{MetadataOrchestrationView-DKYVGMzy.js → MetadataOrchestrationView-CzhAgEdX.js} +211 -205
  4. package/dist/{ModuleActionManagementView-DiVzuPdu.js → ModuleActionManagementView-CM2d8jPO.js} +72 -72
  5. package/dist/{RoleAuthorizationView-C0s4Bog7.js → RoleAuthorizationView-jn_WUCeg.js} +228 -221
  6. package/dist/{RoleDetailWorkspaceView-dqHxKVfd.js → RoleDetailWorkspaceView-CzaQ3Dz1.js} +1 -1
  7. package/dist/RoleManagementView-nY7qu4GF.js +1951 -0
  8. package/dist/{SystemUserDetailWorkspaceView-CQ9WeLrR.js → SystemUserDetailWorkspaceView-CBvqmWvP.js} +1 -1
  9. package/dist/SystemUserManagementView-AEomKvK7.js +887 -0
  10. package/dist/currentUserContext-B1lj1WgF.js +11 -0
  11. package/dist/index.css +1 -1
  12. package/dist/index.js +531 -4402
  13. package/dist/{platform-components-CFU_zR7-.js → platform-components-CIi6GdC9.js} +4832 -3453
  14. package/dist/types/App.vue.d.ts +1 -0
  15. package/dist/types/app/StaticRoutePageHost.vue.d.ts +11 -0
  16. package/dist/types/app/loginTenant.d.ts +1 -1
  17. package/dist/types/app/menuRouteCompiler.d.ts +45 -0
  18. package/dist/types/app/menuRouteRuntime.d.ts +24 -0
  19. package/dist/types/app/pageRouteContext.d.ts +24 -0
  20. package/dist/types/app/routeDiagnosticsStore.d.ts +10 -0
  21. package/dist/types/app/router.d.ts +15 -0
  22. package/dist/types/app/staticRouteDefinitions.d.ts +25 -0
  23. package/dist/types/app/workbenchRouteSync.d.ts +1 -1
  24. package/dist/types/app/workbenchStartup.d.ts +3 -3
  25. package/dist/types/consumer/index.d.ts +5 -3
  26. package/dist/types/dynamic-page-runtime/DynamicModuleHost.vue.d.ts +3 -10
  27. package/dist/types/dynamic-page-runtime/DynamicRecordDetailActions.vue.d.ts +4 -3
  28. package/dist/types/dynamic-page-runtime/ManagedDetailRelationInlineSurface.vue.d.ts +40 -0
  29. package/dist/types/dynamic-page-runtime/ManagedDetailRelationSurface.vue.d.ts +14 -0
  30. package/dist/types/dynamic-page-runtime/ModulePageDetailRelations.vue.d.ts +26 -0
  31. package/dist/types/dynamic-page-runtime/ModulePageFormContributionRenderer.vue.d.ts +12 -0
  32. package/dist/types/dynamic-page-runtime/ModulePageHost.vue.d.ts +14 -0
  33. package/dist/types/dynamic-page-runtime/ModulePageListExpansionSurface.vue.d.ts +19 -0
  34. package/dist/types/dynamic-page-runtime/ModulePageListRelationExpansion.vue.d.ts +13 -0
  35. package/dist/types/dynamic-page-runtime/ModulePageListRelationExpansions.vue.d.ts +16 -0
  36. package/dist/types/dynamic-page-runtime/ModulePageRecordContent.vue.d.ts +42 -0
  37. package/dist/types/dynamic-page-runtime/ModuleRecordDetailActions.vue.d.ts +41 -0
  38. package/dist/types/dynamic-page-runtime/NavigatorManagementEditor.vue.d.ts +20 -1
  39. package/dist/types/dynamic-page-runtime/PageNavigatorExplorer.vue.d.ts +12 -5
  40. package/dist/types/dynamic-page-runtime/RecordFormSurface.vue.d.ts +31 -0
  41. package/dist/types/dynamic-page-runtime/composables/useManagedDetailRelationRuntime.d.ts +30 -0
  42. package/dist/types/dynamic-page-runtime/composables/useModulePageActions.d.ts +13 -0
  43. package/dist/types/dynamic-page-runtime/composables/useModulePageBootstrap.d.ts +17 -0
  44. package/dist/types/dynamic-page-runtime/composables/useModulePageDetailActionRuntime.d.ts +48 -0
  45. package/dist/types/dynamic-page-runtime/composables/useModulePageDetailExtensionRuntime.d.ts +26 -0
  46. package/dist/types/dynamic-page-runtime/composables/useModulePageFormContributionRuntime.d.ts +22 -0
  47. package/dist/types/dynamic-page-runtime/composables/useModulePageListSession.d.ts +41 -0
  48. package/dist/types/dynamic-page-runtime/composables/useNavigatorRuntime.d.ts +1324 -0
  49. package/dist/types/dynamic-page-runtime/composables/useRecordEditingSession.d.ts +22 -0
  50. package/dist/types/dynamic-page-runtime/dynamicModuleDetailStateModel.d.ts +5 -12
  51. package/dist/types/dynamic-page-runtime/formComputeCoordinator.d.ts +18 -0
  52. package/dist/types/dynamic-page-runtime/index.d.ts +3 -2
  53. package/dist/types/dynamic-page-runtime/listPageSizePreference.d.ts +10 -0
  54. package/dist/types/dynamic-page-runtime/moduleDetailStateModel.d.ts +12 -0
  55. package/dist/types/dynamic-page-runtime/modulePageEnhancements.d.ts +181 -7
  56. package/dist/types/dynamic-page-runtime/navigatorVisibility.d.ts +6 -0
  57. package/dist/types/dynamic-page-runtime/pageContextRuntime.d.ts +2 -2
  58. package/dist/types/dynamic-page-runtime/recordDetailController.d.ts +9 -1
  59. package/dist/types/dynamic-page-runtime/relationFormComputeCoordinator.d.ts +9 -0
  60. package/dist/types/formula/FormulaRuntime.d.ts +29 -0
  61. package/dist/types/platform-admin-runtime/WorkspaceViewDrawer.vue.d.ts +1 -0
  62. package/dist/types/{views/UserDetailWorkspaceView.vue.d.ts → platform-admin-runtime/employee/EmployeeAccountDrawer.vue.d.ts} +2 -2
  63. package/dist/types/platform-admin-runtime/employeeModulePageEnhancement.d.ts +3 -0
  64. package/dist/types/platform-admin-runtime/index.d.ts +1 -1
  65. package/dist/types/platform-admin-runtime/moduleOpenApi.d.ts +2 -0
  66. package/dist/types/platform-admin-runtime/passwordPolicyPageEnhancement.d.ts +6 -0
  67. package/dist/types/platform-admin-runtime/platformAdminRoutes.d.ts +1 -6
  68. package/dist/types/platform-admin-runtime/platformModulePageEnhancement.d.ts +9 -0
  69. package/dist/types/platform-admin-runtime/tenant/TenantApplicationConfigurationDrawer.vue.d.ts +7 -0
  70. package/dist/types/platform-admin-runtime/tenant/TenantApplicationsDetailSection.vue.d.ts +7 -0
  71. package/dist/types/platform-admin-runtime/tenantModulePageEnhancement.d.ts +7 -0
  72. package/dist/types/platform-admin-runtime/user/UserOnlineStatusCell.vue.d.ts +8 -0
  73. package/dist/types/platform-admin-runtime/user/UserPasswordDrawer.vue.d.ts +7 -0
  74. package/dist/types/platform-admin-runtime/user/UserSessionListExpansion.vue.d.ts +7 -0
  75. package/dist/types/platform-admin-runtime/user/useUserSessionRows.d.ts +23 -0
  76. package/dist/types/platform-admin-runtime/user/userOnlineStatusStore.d.ts +11 -0
  77. package/dist/types/platform-admin-runtime/userModulePageEnhancement.d.ts +7 -0
  78. package/dist/types/platform-components/CrudRecordListExplorer.vue.d.ts +4 -2
  79. package/dist/types/platform-components/DetailRelationListPanel.vue.d.ts +13 -0
  80. package/dist/types/{views/EmployeeDetailWorkspaceView.vue.d.ts → platform-components/DrawerTitleActions.vue.d.ts} +2 -1
  81. package/dist/types/platform-components/FileTransferUploader.vue.d.ts +7 -0
  82. package/dist/types/platform-components/ModuleActionButton.vue.d.ts +5 -2
  83. package/dist/types/platform-components/RecordContentSectionHeading.vue.d.ts +17 -0
  84. package/dist/types/platform-components/RecordDetailDrawer.vue.d.ts +3 -0
  85. package/dist/types/platform-components/RecordDetailExtensionSection.vue.d.ts +8 -3
  86. package/dist/types/platform-components/RecordDetailFields.vue.d.ts +5 -0
  87. package/dist/types/platform-components/RecordDetailLayout.vue.d.ts +11 -3
  88. package/dist/types/platform-components/RecordDetailPanel.vue.d.ts +14 -6
  89. package/dist/types/platform-components/RecordExpandedSubtable.vue.d.ts +3 -0
  90. package/dist/types/platform-components/RecordFileReferenceTransfer.vue.d.ts +4 -0
  91. package/dist/types/platform-components/RecordFormFields.vue.d.ts +29 -1
  92. package/dist/types/platform-components/RecordImageFileReferencePreview.vue.d.ts +11 -0
  93. package/dist/types/platform-components/RecordListExpansionSurface.vue.d.ts +13 -0
  94. package/dist/types/platform-components/RecordListExplorer.vue.d.ts +4 -2
  95. package/dist/types/platform-components/RecordModeDrawer.vue.d.ts +2 -1
  96. package/dist/types/platform-components/RecordMultiPicker.vue.d.ts +12 -2
  97. package/dist/types/platform-components/RecordPicker.vue.d.ts +10 -2
  98. package/dist/types/platform-components/RecordQueryListPanel.vue.d.ts +33 -5
  99. package/dist/types/{views/EmployeeEmploymentDrawer.vue.d.ts → platform-components/RecordRelationTabs.vue.d.ts} +7 -7
  100. package/dist/types/platform-components/RecordSelectionCheckbox.vue.d.ts +13 -0
  101. package/dist/types/platform-components/StaticManagementLayout.vue.d.ts +12 -4
  102. package/dist/types/platform-components/TreeRecordExplorer.vue.d.ts +4 -2
  103. package/dist/types/platform-components/UserSessionExpandedSubtable.vue.d.ts +2 -0
  104. package/dist/types/platform-components/drawerTitleActions.d.ts +11 -0
  105. package/dist/types/platform-components/index.d.ts +11 -3
  106. package/dist/types/platform-components/optionFieldOptionCache.d.ts +3 -0
  107. package/dist/types/platform-components/recordDetailFieldModel.d.ts +2 -0
  108. package/dist/types/platform-components/recordFormFieldModel.d.ts +67 -4
  109. package/dist/types/platform-components/recordPickerConstraints.d.ts +2 -0
  110. package/dist/types/platform-components/recordPickerModel.d.ts +6 -2
  111. package/dist/types/platform-workbench/Workbench.vue.d.ts +2 -2
  112. package/dist/types/platform-workbench/index.d.ts +3 -2
  113. package/dist/types/platform-workbench/legacyPageHostTypeCompatibility.d.ts +6 -0
  114. package/dist/types/platform-workbench/menuNavigation.d.ts +24 -2
  115. package/dist/types/platform-workbench/pageCacheKey.d.ts +2 -0
  116. package/dist/types/platform-workbench/pageHostRegistry.d.ts +1 -1
  117. package/dist/types/platform-workbench/workbenchNavigation.d.ts +14 -1
  118. package/dist/types/views/PasswordPolicyPreview.vue.d.ts +7 -0
  119. package/dist/types/views/RoleAccountGrantDrawer.vue.d.ts +1 -0
  120. package/dist/types/views/RoleAuthorizationView.vue.d.ts +2 -0
  121. package/dist/types/views/RoleEmploymentGrantDrawer.vue.d.ts +1 -0
  122. package/dist/types/views/{EmployeeManagementView.vue.d.ts → UserDetailRouteView.vue.d.ts} +3 -2
  123. package/dist/types/views/UserManagementListView.vue.d.ts +3 -0
  124. package/dist/types/views/UserManagementView.vue.d.ts +1 -6
  125. package/dist/types/views/WorkspaceRouteView.vue.d.ts +3 -0
  126. package/dist/types/views/menuManagementState.d.ts +2 -0
  127. package/dist/types/views/userDetailStateModel.d.ts +1 -3
  128. package/dist/types/views/userManagementRouteState.d.ts +11 -0
  129. package/dist/types/vue-ui-antdv/components/UiButton.vue.d.ts +3 -0
  130. package/dist/types/vue-ui-antdv/components/UiIcon.vue.d.ts +1 -1
  131. package/dist/types/vue-ui-antdv/components/UiInput.vue.d.ts +2 -1
  132. package/dist/types/vue-ui-antdv/components/UiRadioGroup.vue.d.ts +18 -0
  133. package/dist/types/vue-ui-antdv/components/UiRecordExplorerItem.vue.d.ts +2 -2
  134. package/dist/types/vue-ui-antdv/components/UiTree.vue.d.ts +4 -2
  135. package/dist/types/vue-ui-antdv/index.d.ts +4 -2
  136. package/dist/types/web-contracts/index.d.ts +303 -12
  137. package/dist/types/web-core/businessNotifications.d.ts +3 -2
  138. package/dist/types/web-core/index.d.ts +1 -0
  139. package/dist/types/web-core/module/abilities.d.ts +7 -7
  140. package/dist/types/web-core/module/moduleContext.d.ts +5 -3
  141. package/dist/types/web-core/module/runtimeContext.d.ts +2 -0
  142. package/dist/types/web-core/module/staticModuleClient.d.ts +36 -10
  143. package/dist/types/web-core/referenceResolveClient.d.ts +11 -0
  144. package/dist/workspaceViewSessions-B5g4M0rT.js +51 -0
  145. package/dist/workspaceViews-CkERhK0K.js +8748 -0
  146. package/package.json +1 -1
  147. package/dist/EmployeeDetailWorkspaceView-DswEDSxH.js +0 -14
  148. package/dist/EmployeeManagementView-C9STtw08.js +0 -1777
  149. package/dist/RoleManagementView-D43pUCxi.js +0 -1926
  150. package/dist/SystemUserManagementView-D75_ylYk.js +0 -758
  151. package/dist/UserDetailWorkspaceView-BCST01d2.js +0 -17
  152. package/dist/UserManagementView-CcdvDo_y.js +0 -964
  153. package/dist/pageRealtime-EAiGWKEo.js +0 -227
  154. package/dist/types/views/EmployeeDetailContent.vue.d.ts +0 -64
  155. package/dist/types/views/employeeDetailStateModel.d.ts +0 -39
  156. package/dist/types/views/employeeDetailWorkspaceSession.d.ts +0 -16
  157. package/dist/types/views/employeeDetailWorkspaceView.d.ts +0 -4
  158. package/dist/types/views/fieldUiControlManagementState.d.ts +0 -76
  159. package/dist/types/views/moduleManagementState.d.ts +0 -76
  160. package/dist/types/views/positionManagementState.d.ts +0 -218
  161. package/dist/types/views/tenantManagementState.d.ts +0 -74
  162. package/dist/types/views/useEmployeeEmploymentRows.d.ts +0 -20
  163. package/dist/types/views/userDetailWorkspaceSession.d.ts +0 -14
  164. package/dist/types/views/userDetailWorkspaceView.d.ts +0 -4
  165. package/dist/useUserSessionRows-DCpUZCzN.js +0 -128
  166. package/dist/workspaceViewSessions-Dj1LjdG1.js +0 -4984
  167. /package/dist/types/views/{FieldUiControlManagementView.vue.d.ts → DynamicModuleRouteView.vue.d.ts} +0 -0
  168. /package/dist/types/views/{ModuleManagementView.vue.d.ts → ExternalRouteView.vue.d.ts} +0 -0
  169. /package/dist/types/views/{PasswordManagementView.vue.d.ts → ModuleOpenApiRouteView.vue.d.ts} +0 -0
  170. /package/dist/types/views/{PositionManagementView.vue.d.ts → OpenApiCatalogRouteView.vue.d.ts} +0 -0
  171. /package/dist/types/views/{TenantManagementView.vue.d.ts → RouteDiagnosticsView.vue.d.ts} +0 -0
@@ -1,758 +0,0 @@
1
- import { C as e, Ft as t, I as n, J as r, M as i, N as ee, Nt as te, T as ne, Vt as re, Zn as ie, _ as ae, ct as oe, dt as se, h as ce, i as a, it as o, j as le, k as ue, kt as s, l as de, nt as fe, r as pe, ut as me, v as c, y as he } from "./platform-components-CFU_zR7-.js";
2
- import { S as ge, c as l, i as _e, n as u, r as d, t as f } from "./workspaceViewSessions-Dj1LjdG1.js";
3
- import { i as ve, n as ye } from "./pageRealtime-EAiGWKEo.js";
4
- import { t as be } from "./useUserSessionRows-DCpUZCzN.js";
5
- import { Fragment as xe, computed as p, createBlock as m, createCommentVNode as h, createElementBlock as g, createElementVNode as _, createTextVNode as v, createVNode as y, defineComponent as b, onBeforeUnmount as Se, onMounted as Ce, openBlock as x, ref as S, unref as C, watch as we, withCtx as w, withModifiers as Te } from "vue";
6
- //#region src/views/systemUserDetailWorkspaceSession.ts
7
- function Ee(e, t) {
8
- return f(l, e, {
9
- ...t,
10
- selectedUser: { ...t.selectedUser },
11
- draft: { ...t.draft }
12
- });
13
- }
14
- function De(e, t) {
15
- return u(l, e, t);
16
- }
17
- function Oe(e) {
18
- return d(l, e);
19
- }
20
- //#endregion
21
- //#region src/views/SystemUserManagementView.vue?vue&type=script&setup=true&lang.ts
22
- var ke = { class: "system-user-management-page" }, Ae = { class: "system-user-detail-state" }, je = {
23
- key: 0,
24
- class: "system-user-password-reset-result"
25
- }, Me = { key: 0 }, Ne = { key: 1 }, Pe = {
26
- key: 1,
27
- class: "system-user-detail-state"
28
- }, Fe = {
29
- key: 0,
30
- class: "system-user-password-reset-result"
31
- }, Ie = { key: 0 }, Le = { key: 1 }, T = /*#__PURE__*/ t(/* @__PURE__ */ b({
32
- name: "SystemUserManagementView",
33
- __name: "SystemUserManagementView",
34
- props: {
35
- recordId: {},
36
- mode: {}
37
- },
38
- setup(t) {
39
- let u = t, d = re({ moduleAlias: "iam.user" }), f = ge(), b = S(), T = S(), E = S(!1), D = S("view"), O = S(!1), k = S(!1), A = S(!1), j = S(0), M = S(0), N = S(yt()), P = S(""), F = S(), I = S(ee(void 0)), L = p(() => !!u.recordId), R = p(() => L.value && f?.presentation === "drawer"), Re = p(() => !L.value || R.value), { expandedUserKeys: ze, handleUserListLoaded: Be, handleUserRowExpand: Ve, handleUserSessionBusinessEvent: He, loadUserSessions: z, userOnlineStatusTitle: Ue, userSessionState: B } = be({
40
- context: d,
41
- source: "system-user-management"
42
- }), V = ve({
43
- moduleAlias: "iam.user",
44
- recordId: () => T.value?.id,
45
- editing: () => D.value === "edit",
46
- saving: () => A.value
47
- }), H = p(() => et(d)), We = p(() => [
48
- {
49
- key: "username",
50
- title: "账号",
51
- width: "24%"
52
- },
53
- {
54
- key: "onlineStatus",
55
- title: "在线状态",
56
- width: "14%",
57
- align: "center"
58
- },
59
- {
60
- key: "passwordStatusTitle",
61
- title: "密码状态",
62
- width: "18%"
63
- },
64
- {
65
- key: "lastLoginAt",
66
- title: "最后登录",
67
- type: "datetime",
68
- width: "24%"
69
- },
70
- {
71
- key: "enabled",
72
- title: "登录状态",
73
- type: "enabledStatus",
74
- width: "14%"
75
- }
76
- ]), Ge = p(() => $(T.value ?? N.value)), Ke = p(() => D.value === "resetPassword" ? "修改密码" : "系统账号"), U = p(() => A.value || O.value), W = p(() => {
77
- if (O.value) return !1;
78
- if (D.value === "edit") return !!T.value?.id && d.can("update") === !0;
79
- if (D.value === "resetPassword") {
80
- let e = T.value?.id;
81
- return !!e && d.can("changePassword", e) === !0;
82
- }
83
- return !1;
84
- }), G = p(() => !T.value?.id || O.value ? !1 : d.can(wt(T.value)) === !0), qe = p(() => D.value === "view" ? T.value?.id ? [
85
- {
86
- key: "edit",
87
- actionCode: "update",
88
- title: "编辑",
89
- iconName: "edit",
90
- disabled: A.value
91
- },
92
- {
93
- key: "resetPassword",
94
- actionCode: "changePassword",
95
- title: "修改密码",
96
- iconName: "lock",
97
- disabled: A.value
98
- },
99
- {
100
- key: "resetGeneratedPassword",
101
- actionCode: "resetPassword",
102
- title: "重置密码",
103
- iconName: "reload",
104
- disabled: A.value
105
- }
106
- ] : [] : [{
107
- key: "cancel",
108
- title: "取消",
109
- iconName: "close",
110
- disabled: A.value
111
- }, {
112
- key: "save",
113
- actionCode: D.value === "resetPassword" ? "changePassword" : "update",
114
- title: "保存",
115
- iconName: "save",
116
- primary: !0,
117
- loading: A.value,
118
- disabled: !W.value
119
- }]), Je = p(() => qe.value), Ye = _e({
120
- view: l,
121
- input: p(() => {
122
- let e = T.value?.id;
123
- return e && (D.value === "view" || D.value === "edit") ? { recordId: e } : void 0;
124
- }),
125
- title: p(() => $(T.value)),
126
- eligibility: p(() => ({
127
- hasStableIdentity: !!T.value?.id && !O.value,
128
- busy: A.value
129
- })),
130
- beforePromote: async (e) => {
131
- let t = T.value;
132
- if (t) return await Ee(e, {
133
- selectedUser: t,
134
- draft: N.value,
135
- mode: D.value === "edit" ? "edit" : "view",
136
- password: P.value,
137
- resetPasswordResult: F.value
138
- }) === "accepted";
139
- },
140
- onPromoted: J
141
- });
142
- we(T, (e) => {
143
- !L.value || !e || f?.setTitle($(e));
144
- }, { immediate: !0 });
145
- let K = p(() => ({
146
- username: {
147
- label: "账号",
148
- required: !0,
149
- visible: !0,
150
- placeholder: "请输入登录账号"
151
- },
152
- enabled: {
153
- label: "允许登录",
154
- visible: !0,
155
- controlType: "enabledStatus"
156
- }
157
- })), Xe = p(() => ["username", "enabled"]), Ze;
158
- Ce(() => {
159
- if ($e(), u.recordId) {
160
- let e = { recordId: u.recordId };
161
- R.value || (Ze = De(e, Qe));
162
- let t = Oe(e);
163
- if (t) {
164
- gt(t);
165
- return;
166
- }
167
- q({ id: u.recordId }, u.mode ?? "view");
168
- }
169
- }), Se(() => Ze?.());
170
- function Qe(e) {
171
- return D.value === "view" ? (gt(e), !0) : !1;
172
- }
173
- ye(He);
174
- async function $e() {
175
- try {
176
- I.value = ee((await d.runtime.ready).uiDescriptor);
177
- } catch (e) {
178
- fe(e, {
179
- source: "system-user-management",
180
- phase: "load"
181
- });
182
- }
183
- }
184
- function et(e) {
185
- return {
186
- ...e,
187
- crud: {
188
- ...e.crud,
189
- query: (t) => e.crud.query(tt(t))
190
- }
191
- };
192
- }
193
- function tt(e) {
194
- return {
195
- ...e,
196
- conditions: [...e?.conditions ?? [], {
197
- fieldName: "tenantId",
198
- operator: "NULL",
199
- values: []
200
- }]
201
- };
202
- }
203
- function nt() {
204
- return [{
205
- key: "view",
206
- actionCode: "view",
207
- title: "查看"
208
- }, {
209
- key: "edit",
210
- actionCode: "update",
211
- title: "编辑",
212
- iconName: "edit"
213
- }];
214
- }
215
- function rt(e, t) {
216
- if (X()) {
217
- if (e.key === "view") {
218
- q(t, "view");
219
- return;
220
- }
221
- e.key === "edit" && q(t, "edit");
222
- }
223
- }
224
- function it(e) {
225
- X() && q(e, "view");
226
- }
227
- async function q(e, t) {
228
- if (!X()) return;
229
- let n = String(e.id ?? "");
230
- if (!n) return;
231
- b.value = n, V.clearExternalChanged(), E.value = !0, D.value = t, T.value = void 0, N.value = Q(e), P.value = "", F.value = void 0, O.value = !0, k.value = !1;
232
- let r = j.value + 1;
233
- j.value = r;
234
- try {
235
- let e = await d.crud.view(n);
236
- if (!ht(n, r)) return;
237
- if (!e?.id) {
238
- k.value = !0, o("未找到指定系统账号", {
239
- source: "system-user-management",
240
- phase: "load"
241
- });
242
- return;
243
- }
244
- if (e.tenantId) {
245
- at();
246
- return;
247
- }
248
- Z(e, t);
249
- } catch (e) {
250
- ht(n, r) && (k.value = !0, fe(e, {
251
- source: "system-user-management",
252
- phase: "load"
253
- }));
254
- } finally {
255
- ht(n, r) && (O.value = !1);
256
- }
257
- }
258
- function J() {
259
- A.value || (j.value += 1, O.value = !1, k.value = !1, E.value = !1, D.value = "view", P.value = "", F.value = void 0, V.clearExternalChanged(), N.value = T.value ? Q(T.value) : yt(), R.value && f?.dismiss());
260
- }
261
- function at() {
262
- j.value += 1, O.value = !1, k.value = !1, E.value = !1, T.value = void 0, b.value = void 0, N.value = yt(), o("指定账号不属于系统账号管理范围", {
263
- source: "system-user-management",
264
- phase: "validation"
265
- }), L.value && f?.dismiss();
266
- }
267
- function ot() {
268
- if (!A.value) {
269
- if (!T.value?.id) {
270
- J();
271
- return;
272
- }
273
- N.value = Q(T.value), P.value = "", F.value = void 0, V.clearExternalChanged(), D.value = "view", O.value = !1, k.value = !1;
274
- }
275
- }
276
- function st(e) {
277
- if (e.key === "cancel") {
278
- ot();
279
- return;
280
- }
281
- if (e.key === "save") {
282
- lt();
283
- return;
284
- }
285
- if (X()) {
286
- if (e.key === "edit" && T.value) {
287
- N.value = Q(T.value), V.clearExternalChanged(), D.value = "edit";
288
- return;
289
- }
290
- if (e.key === "resetPassword" && T.value) {
291
- P.value = "", F.value = void 0, V.clearExternalChanged(), D.value = "resetPassword";
292
- return;
293
- }
294
- e.key === "resetGeneratedPassword" && T.value && dt();
295
- }
296
- }
297
- function Y() {
298
- let e = String(N.value.id ?? b.value ?? "");
299
- e && q({
300
- ...N.value,
301
- id: e
302
- }, D.value);
303
- }
304
- function ct() {
305
- let e = String(V.externalChangedRecordId.value ?? N.value.id ?? b.value ?? "");
306
- e && (V.clearExternalChanged(), q({
307
- ...N.value,
308
- id: e
309
- }, "edit"));
310
- }
311
- async function lt() {
312
- if (D.value === "resetPassword") {
313
- await ut();
314
- return;
315
- }
316
- await pe({
317
- loading: A,
318
- mode: "edit",
319
- source: "system-user-management",
320
- canSave: () => W.value,
321
- deniedMessage: "当前用户无权保存系统账号",
322
- createRecord: () => bt(N.value),
323
- validateRecord: xt,
324
- save: (e) => d.crud.update(T.value.id, e),
325
- actionErrorHandlers: [{
326
- code: ie.conflictVersion,
327
- handle: (e, { mode: t, record: n }) => t === "edit" && V.markExternalRecordChanged(n.id)
328
- }],
329
- onSaved: ({ record: e }) => {
330
- Z(e), M.value += 1;
331
- }
332
- });
333
- }
334
- async function ut() {
335
- if (!P.value.trim()) {
336
- o("请填写新密码", {
337
- source: "system-user-management",
338
- phase: "validation"
339
- });
340
- return;
341
- }
342
- await a({
343
- loading: A,
344
- source: "system-user-management",
345
- record: () => T.value?.id ? T.value : void 0,
346
- canExecute: () => W.value,
347
- deniedMessage: "当前用户无权重置系统账号密码",
348
- execute: (e) => d.http.request({
349
- method: "POST",
350
- path: `/iam.user/changePassword/${encodeURIComponent(e.id)}`,
351
- body: { password: P.value }
352
- }),
353
- onExecuted: async (e, t) => {
354
- Z(await d.crud.view(t.id)), M.value += 1;
355
- }
356
- });
357
- }
358
- async function dt() {
359
- await a({
360
- loading: A,
361
- source: "system-user-management",
362
- record: () => T.value?.id ? T.value : void 0,
363
- canExecute: (e) => d.can("resetPassword", e.id) === !0,
364
- deniedMessage: "当前用户无权重置系统账号密码",
365
- execute: (e) => d.http.request({
366
- method: "POST",
367
- path: `/iam.user/resetPassword/${encodeURIComponent(e.id)}`
368
- }),
369
- onExecuted: async (e, t) => {
370
- Z(await d.crud.view(t.id)), F.value = e, M.value += 1;
371
- }
372
- });
373
- }
374
- async function ft(e, t) {
375
- await a({
376
- loading: A,
377
- source: "system-user-management",
378
- record: () => e?.id ? e : void 0,
379
- canExecute: (e) => d.can("revokeSession", e.id) === !0 && !t.current,
380
- deniedMessage: "当前用户无权下线该登录会话",
381
- confirm: (e) => oe({
382
- title: "下线登录会话",
383
- content: `确认下线系统账号「${$(e)}」的该登录会话?`,
384
- okText: "下线",
385
- danger: !0
386
- }),
387
- execute: (e) => d.http.request({
388
- method: "POST",
389
- path: `/iam.user/${encodeURIComponent(e.id)}/sessions/${encodeURIComponent(t.id)}/revoke`
390
- }),
391
- onExecuted: (e, t) => {
392
- z(t.id), M.value += 1;
393
- }
394
- });
395
- }
396
- async function pt(e) {
397
- let t = _t(String(e.id ?? "")).map((e) => e.id);
398
- if (t.length === 0) {
399
- o("当前没有可下线的登录会话", {
400
- source: "system-user-management",
401
- phase: "validation"
402
- });
403
- return;
404
- }
405
- await a({
406
- loading: A,
407
- source: "system-user-management",
408
- record: () => e?.id ? e : void 0,
409
- canExecute: (e) => d.can("revokeSessions", e.id) === !0,
410
- deniedMessage: "当前用户无权批量下线登录会话",
411
- confirm: (e) => oe({
412
- title: "批量下线登录会话",
413
- content: `确认下线系统账号「${$(e)}」的 ${t.length} 个登录会话?`,
414
- okText: "全部下线",
415
- danger: !0
416
- }),
417
- execute: (e) => d.http.request({
418
- method: "POST",
419
- path: `/iam.user/${encodeURIComponent(e.id)}/sessions/revoke`,
420
- body: { sessionIds: t }
421
- }),
422
- onExecuted: (e, t) => {
423
- z(t.id), M.value += 1;
424
- }
425
- });
426
- }
427
- async function mt() {
428
- await a({
429
- loading: A,
430
- source: "system-user-management",
431
- record: () => T.value?.id ? T.value : void 0,
432
- canExecute: () => G.value,
433
- deniedMessage: "当前用户无权变更系统账号启停状态",
434
- execute: (e) => e.enabled === !1 ? d.crud.enable(e.id, { version: e.version }) : d.crud.disable(e.id, { version: e.version }),
435
- onExecuted: async (e, t) => {
436
- Z(await d.crud.view(t.id)), M.value += 1;
437
- }
438
- });
439
- }
440
- function X() {
441
- return !A.value;
442
- }
443
- function ht(e, t) {
444
- return j.value === t && b.value === e;
445
- }
446
- function Z(e, t = "view") {
447
- T.value = e, b.value = e.id, N.value = Q(e), P.value = "", D.value = t === "edit" ? "edit" : "view", V.clearExternalChanged(), E.value = !0, O.value = !1, k.value = !1, j.value += 1;
448
- }
449
- function gt(e) {
450
- b.value = e.selectedUser.id, T.value = { ...e.selectedUser }, N.value = Q(e.draft), D.value = e.mode, P.value = e.password, F.value = e.resetPasswordResult, E.value = !0, O.value = !1, k.value = !1;
451
- }
452
- function _t(e) {
453
- return !e || d.can("revokeSession", e) !== !0 ? [] : B(e).records.filter((e) => !e.current);
454
- }
455
- function vt(e, t) {
456
- return !!e && !t.current && d.can("revokeSession", e) === !0;
457
- }
458
- function yt() {
459
- return { enabled: !0 };
460
- }
461
- function Q(e) {
462
- return {
463
- ...e,
464
- password: void 0
465
- };
466
- }
467
- function bt(e) {
468
- return de(e, {
469
- tenantId: void 0,
470
- username: e.username?.trim(),
471
- enabled: e.enabled !== !1,
472
- password: void 0
473
- });
474
- }
475
- function xt(e) {
476
- let t = i("username", {
477
- fields: I.value,
478
- fallback: K.value
479
- });
480
- if (t.visible && t.required && !e.username) return `请填写${t.label}`;
481
- if (D.value === "resetPassword" && !P.value.trim()) return "请填写新密码";
482
- }
483
- function St(e) {
484
- return e === "username";
485
- }
486
- function Ct(e, t) {
487
- N.value = {
488
- ...N.value,
489
- [e]: t
490
- };
491
- }
492
- function wt(e) {
493
- return e.enabled === !1 ? "enable" : "disable";
494
- }
495
- function $(e) {
496
- return String(e?.username ?? e?.id ?? "系统账号");
497
- }
498
- return (t, i) => (x(), g("section", ke, [!L.value || R.value ? (x(), m(C(ce), {
499
- key: 0,
500
- class: "system-user-list-panel",
501
- context: H.value,
502
- title: "系统账号",
503
- columns: We.value,
504
- "cell-renderers": { onlineStatus: C(Ue) },
505
- "row-actions-of": nt,
506
- "selected-key": b.value,
507
- "expanded-row-keys": C(ze),
508
- "reload-key": M.value,
509
- ready: !0,
510
- "quick-search-placeholder": "搜索账号、姓名、手机号或邮箱",
511
- "empty-description": "暂无系统账号",
512
- onRowAction: rt,
513
- onRowDblclick: it,
514
- onRowExpand: C(Ve),
515
- onLoaded: C(Be),
516
- onSelect: i[0] ||= (e) => b.value = String(e.id ?? "")
517
- }, {
518
- expandedRow: w(({ record: e }) => [y(C(ne), {
519
- sessions: C(B)(String(e.id ?? "")).records,
520
- loading: C(B)(String(e.id ?? "")).loading,
521
- error: C(B)(String(e.id ?? "")).error,
522
- "actions-disabled": A.value,
523
- "can-revoke": (t) => vt(String(e.id ?? ""), t),
524
- "can-revoke-all": _t(String(e.id ?? "")).length > 1,
525
- onRefresh: (t) => C(z)(String(e.id ?? "")),
526
- onRevoke: (t) => ft(e, t),
527
- onRevokeAll: (t) => pt(e)
528
- }, null, 8, [
529
- "sessions",
530
- "loading",
531
- "error",
532
- "actions-disabled",
533
- "can-revoke",
534
- "can-revoke-all",
535
- "onRefresh",
536
- "onRevoke",
537
- "onRevokeAll"
538
- ])]),
539
- _: 1
540
- }, 8, [
541
- "context",
542
- "columns",
543
- "cell-renderers",
544
- "selected-key",
545
- "expanded-row-keys",
546
- "reload-key",
547
- "onRowExpand",
548
- "onLoaded"
549
- ])) : h("v-if", !0), Re.value ? (x(), m(C(ae), {
550
- key: 1,
551
- open: E.value,
552
- title: Ge.value,
553
- subtitle: Ke.value,
554
- mode: D.value,
555
- "form-modes": ["edit", "resetPassword"],
556
- loading: O.value,
557
- "load-failed": k.value,
558
- "externally-changed": C(V).externallyChanged.value,
559
- promotion: C(Ye),
560
- "error-title": "详情加载失败",
561
- "error-message": "无法加载系统账号详情,请重试",
562
- onClose: J,
563
- onRetry: Y,
564
- onReloadExternalChange: ct,
565
- onDismissExternalChange: C(V).clearExternalChanged
566
- }, {
567
- status: w(() => [D.value === "view" && T.value ? (x(), m(C(e), {
568
- key: 0,
569
- enabled: T.value.enabled !== !1,
570
- disabled: A.value || !G.value,
571
- loading: A.value,
572
- "show-label": !1,
573
- onChange: mt
574
- }, null, 8, [
575
- "enabled",
576
- "disabled",
577
- "loading"
578
- ])) : h("v-if", !0)]),
579
- operation: w(() => [y(C(n), {
580
- context: H.value,
581
- actions: Je.value,
582
- "record-id": T.value?.id,
583
- onAction: st
584
- }, null, 8, [
585
- "context",
586
- "actions",
587
- "record-id"
588
- ])]),
589
- loading: w(() => [y(C(se), {
590
- class: "system-user-detail-state",
591
- tip: "加载系统账号详情"
592
- })]),
593
- error: w(() => [_("div", Ae, [y(C(me), {
594
- title: "详情加载失败",
595
- message: "无法加载系统账号详情,请重试"
596
- }), y(C(te), {
597
- type: "primary",
598
- "icon-name": "reload",
599
- onClick: Y
600
- }, {
601
- default: w(() => [...i[3] ||= [v("重试", -1)]]),
602
- _: 1
603
- })])]),
604
- view: w(() => [
605
- y(C(le), {
606
- record: N.value,
607
- fields: I.value,
608
- fallback: K.value
609
- }, null, 8, [
610
- "record",
611
- "fields",
612
- "fallback"
613
- ]),
614
- D.value === "view" && F.value?.temporaryPassword ? (x(), g("div", je, [
615
- i[5] ||= _("span", null, "临时密码", -1),
616
- y(C(s), {
617
- value: F.value.temporaryPassword,
618
- disabled: ""
619
- }, null, 8, ["value"]),
620
- F.value.expiresAt ? (x(), g("small", Me, [i[4] ||= v(" 有效期至 ", -1), y(C(r), { value: F.value.expiresAt }, null, 8, ["value"])])) : h("v-if", !0)
621
- ])) : h("v-if", !0),
622
- y(C(c), { record: N.value }, null, 8, ["record"])
623
- ]),
624
- form: w(() => [_("form", {
625
- class: "system-user-form",
626
- onSubmit: Te(lt, ["prevent"])
627
- }, [D.value === "resetPassword" ? (x(), g("label", Ne, [i[6] ||= _("span", { class: "system-user-form-label" }, "新密码", -1), y(C(s), {
628
- value: P.value,
629
- type: "password",
630
- disabled: U.value,
631
- placeholder: "请输入密码",
632
- "allow-clear": "",
633
- "onUpdate:value": i[1] ||= (e) => P.value = e
634
- }, null, 8, ["value", "disabled"])])) : (x(), m(C(he), {
635
- key: 0,
636
- record: N.value,
637
- "field-names": Xe.value,
638
- fields: I.value,
639
- fallback: K.value,
640
- disabled: U.value,
641
- "disabled-of": St,
642
- "onUpdate:field": Ct
643
- }, null, 8, [
644
- "record",
645
- "field-names",
646
- "fields",
647
- "fallback",
648
- "disabled"
649
- ]))], 32), D.value === "resetPassword" ? h("v-if", !0) : (x(), m(C(c), {
650
- key: 0,
651
- record: N.value
652
- }, null, 8, ["record"]))]),
653
- _: 1
654
- }, 8, [
655
- "open",
656
- "title",
657
- "subtitle",
658
- "mode",
659
- "loading",
660
- "load-failed",
661
- "externally-changed",
662
- "promotion",
663
- "onDismissExternalChange"
664
- ])) : (x(), m(C(ue), {
665
- key: 2,
666
- title: Ge.value,
667
- subtitle: Ke.value
668
- }, {
669
- status: w(() => [D.value === "view" && T.value ? (x(), m(C(e), {
670
- key: 0,
671
- enabled: T.value.enabled !== !1,
672
- disabled: A.value || !G.value,
673
- loading: A.value,
674
- "show-label": !1,
675
- onChange: mt
676
- }, null, 8, [
677
- "enabled",
678
- "disabled",
679
- "loading"
680
- ])) : h("v-if", !0)]),
681
- operation: w(() => [y(C(n), {
682
- context: H.value,
683
- actions: Je.value,
684
- "record-id": T.value?.id,
685
- onAction: st
686
- }, null, 8, [
687
- "context",
688
- "actions",
689
- "record-id"
690
- ])]),
691
- default: w(() => [O.value ? (x(), m(C(se), {
692
- key: 0,
693
- class: "system-user-detail-state",
694
- tip: "加载系统账号详情"
695
- })) : k.value ? (x(), g("div", Pe, [y(C(me), {
696
- title: "详情加载失败",
697
- message: "无法加载系统账号详情,请重试"
698
- }), y(C(te), {
699
- type: "primary",
700
- "icon-name": "reload",
701
- onClick: Y
702
- }, {
703
- default: w(() => [...i[7] ||= [v("重试", -1)]]),
704
- _: 1
705
- })])) : D.value === "view" ? (x(), g(xe, { key: 2 }, [
706
- y(C(le), {
707
- record: N.value,
708
- fields: I.value,
709
- fallback: K.value
710
- }, null, 8, [
711
- "record",
712
- "fields",
713
- "fallback"
714
- ]),
715
- F.value?.temporaryPassword ? (x(), g("div", Fe, [
716
- i[9] ||= _("span", null, "临时密码", -1),
717
- y(C(s), {
718
- value: F.value.temporaryPassword,
719
- disabled: ""
720
- }, null, 8, ["value"]),
721
- F.value.expiresAt ? (x(), g("small", Ie, [i[8] ||= v(" 有效期至 ", -1), y(C(r), { value: F.value.expiresAt }, null, 8, ["value"])])) : h("v-if", !0)
722
- ])) : h("v-if", !0),
723
- y(C(c), { record: N.value }, null, 8, ["record"])
724
- ], 64)) : (x(), g(xe, { key: 3 }, [_("form", {
725
- class: "system-user-form",
726
- onSubmit: Te(lt, ["prevent"])
727
- }, [D.value === "resetPassword" ? (x(), g("label", Le, [i[10] ||= _("span", { class: "system-user-form-label" }, "新密码", -1), y(C(s), {
728
- value: P.value,
729
- type: "password",
730
- disabled: U.value,
731
- placeholder: "请输入密码",
732
- "allow-clear": "",
733
- "onUpdate:value": i[2] ||= (e) => P.value = e
734
- }, null, 8, ["value", "disabled"])])) : (x(), m(C(he), {
735
- key: 0,
736
- record: N.value,
737
- "field-names": Xe.value,
738
- fields: I.value,
739
- fallback: K.value,
740
- disabled: U.value,
741
- "disabled-of": St,
742
- "onUpdate:field": Ct
743
- }, null, 8, [
744
- "record",
745
- "field-names",
746
- "fields",
747
- "fallback",
748
- "disabled"
749
- ]))], 32), D.value === "resetPassword" ? h("v-if", !0) : (x(), m(C(c), {
750
- key: 0,
751
- record: N.value
752
- }, null, 8, ["record"]))], 64))]),
753
- _: 1
754
- }, 8, ["title", "subtitle"]))]));
755
- }
756
- }), [["__scopeId", "data-v-2965bac4"]]);
757
- //#endregion
758
- export { T as t };