@ximatai/muyun-web-app 0.26.19 → 0.26.21

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