@ximatai/muyun-web-app 0.26.9 → 0.26.10

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 (70) hide show
  1. package/dist/{MetadataOrchestrationView-CzhAgEdX.js → MetadataOrchestrationView-BhtVwJII.js} +182 -182
  2. package/dist/{ModuleActionManagementView-CM2d8jPO.js → ModuleActionManagementView-DpZS-xAD.js} +70 -70
  3. package/dist/RoleAuthorizationView-8lilhtMB.js +646 -0
  4. package/dist/{RoleDetailWorkspaceView-CzaQ3Dz1.js → RoleDetailWorkspaceView-CFha6JHn.js} +1 -1
  5. package/dist/{RoleManagementView-nY7qu4GF.js → RoleManagementView-0_KDrzgh.js} +511 -514
  6. package/dist/index.css +1 -1
  7. package/dist/index.js +282 -302
  8. package/dist/{platform-components-CIi6GdC9.js → platform-components-oRIsIoxu.js} +2060 -1893
  9. package/dist/types/app/StaticRoutePageHost.vue.d.ts +2 -0
  10. package/dist/types/consumer/AppWorkbenchShell.vue.d.ts +4 -2
  11. package/dist/types/consumer/index.d.ts +1 -1
  12. package/dist/types/dynamic-page-runtime/ManagedDetailRelationInlineSurface.vue.d.ts +3 -1
  13. package/dist/types/dynamic-page-runtime/ManagedDetailRelationSurface.vue.d.ts +2 -1
  14. package/dist/types/dynamic-page-runtime/ModulePageDetailRelations.vue.d.ts +3 -1
  15. package/dist/types/dynamic-page-runtime/ModulePageListExpansionSurface.vue.d.ts +2 -1
  16. package/dist/types/dynamic-page-runtime/ModulePageListRelationExpansion.vue.d.ts +2 -1
  17. package/dist/types/dynamic-page-runtime/ModulePageListRelationExpansions.vue.d.ts +2 -1
  18. package/dist/types/dynamic-page-runtime/ModulePageRecordContent.vue.d.ts +3 -1
  19. package/dist/types/dynamic-page-runtime/PageNavigatorExplorer.vue.d.ts +7 -2
  20. package/dist/types/dynamic-page-runtime/composables/useModulePageDetailExtensionRuntime.d.ts +2 -0
  21. package/dist/types/dynamic-page-runtime/composables/useNavigatorRuntime.d.ts +69 -15
  22. package/dist/types/dynamic-page-runtime/composables/useRecordEditingSession.d.ts +3 -2
  23. package/dist/types/dynamic-page-runtime/index.d.ts +2 -1
  24. package/dist/types/dynamic-page-runtime/modulePageEnhancements.d.ts +35 -3
  25. package/dist/types/dynamic-page-runtime/navigatorEntrySelection.d.ts +18 -0
  26. package/dist/types/dynamic-page-runtime/pageContextRuntime.d.ts +8 -0
  27. package/dist/types/dynamic-page-runtime/pageNavigatorItemModel.d.ts +13 -0
  28. package/dist/types/dynamic-page-runtime/recordDetailController.d.ts +9 -8
  29. package/dist/types/platform-admin-runtime/platformModulePageEnhancement.d.ts +6 -0
  30. package/dist/types/platform-components/CrudRecordListExplorer.vue.d.ts +4 -0
  31. package/dist/types/platform-components/ManagementPanelHeader.vue.d.ts +2 -0
  32. package/dist/types/platform-components/RecordDetailDrawer.vue.d.ts +5 -3
  33. package/dist/types/platform-components/RecordExplorerPanel.vue.d.ts +2 -0
  34. package/dist/types/platform-components/RecordFormFields.vue.d.ts +2 -2
  35. package/dist/types/platform-components/RecordModeDrawer.vue.d.ts +2 -0
  36. package/dist/types/platform-components/RecordPanelButton.vue.d.ts +2 -0
  37. package/dist/types/platform-components/RecordPicker.vue.d.ts +2 -0
  38. package/dist/types/platform-components/RecordQueryListPanel.vue.d.ts +7 -1
  39. package/dist/types/platform-components/RecordStatusSwitch.vue.d.ts +2 -0
  40. package/dist/types/platform-components/TreeRecordExplorer.vue.d.ts +4 -0
  41. package/dist/types/platform-components/index.d.ts +0 -2
  42. package/dist/types/platform-components/recordFormFieldModel.d.ts +16 -2
  43. package/dist/types/platform-components/recordPickerConstraints.d.ts +2 -0
  44. package/dist/types/platform-workbench/Workbench.vue.d.ts +4 -2
  45. package/dist/types/vue-ui-antdv/components/UiSidePanel.vue.d.ts +4 -2
  46. package/dist/types/vue-ui-antdv/components/UiSwitch.vue.d.ts +2 -0
  47. package/dist/types/web-contracts/index.d.ts +72 -2
  48. package/dist/types/web-core/http.d.ts +6 -0
  49. package/dist/types/web-core/module/index.d.ts +1 -1
  50. package/dist/types/web-core/module/moduleContext.d.ts +2 -1
  51. package/dist/types/web-core/module/staticModuleClient.d.ts +6 -0
  52. package/dist/types/web-core/realtime.d.ts +8 -0
  53. package/dist/{workspaceViews-CkERhK0K.js → workspaceViews-D-RiJ64o.js} +3341 -3011
  54. package/package.json +1 -1
  55. package/dist/DictionaryManagementView-CtIQpqVA.js +0 -1035
  56. package/dist/MenuManagementView-DJhkN2sG.js +0 -837
  57. package/dist/RoleAuthorizationView-jn_WUCeg.js +0 -599
  58. package/dist/SystemUserDetailWorkspaceView-CBvqmWvP.js +0 -17
  59. package/dist/SystemUserManagementView-AEomKvK7.js +0 -887
  60. package/dist/currentUserContext-B1lj1WgF.js +0 -11
  61. package/dist/types/platform-components/scopedResourceTreeModuleContext.d.ts +0 -6
  62. package/dist/types/views/DictionaryManagementView.vue.d.ts +0 -3
  63. package/dist/types/views/MenuManagementView.vue.d.ts +0 -3
  64. package/dist/types/views/SystemUserDetailWorkspaceView.vue.d.ts +0 -7
  65. package/dist/types/views/SystemUserManagementView.vue.d.ts +0 -7
  66. package/dist/types/views/dictionaryManagementState.d.ts +0 -215
  67. package/dist/types/views/menuManagementState.d.ts +0 -180
  68. package/dist/types/views/systemUserDetailWorkspaceSession.d.ts +0 -12
  69. package/dist/types/views/systemUserDetailWorkspaceView.d.ts +0 -5
  70. package/dist/workspaceViewSessions-B5g4M0rT.js +0 -51
@@ -1,837 +0,0 @@
1
- import { Bt as e, Et as t, G as n, Kt as r, O as i, Qt as a, X as o, _ as s, a as c, b as l, h as u, i as d, n as f, ot as p, r as m, u as h, vt as ee, x as g, y as _, zt as v } from "./platform-components-CIi6GdC9.js";
2
- import { n as y } from "./currentUserContext-B1lj1WgF.js";
3
- import { Transition as te, computed as b, createBlock as x, createCommentVNode as S, createElementBlock as C, createElementVNode as w, createVNode as T, defineComponent as E, openBlock as D, ref as O, toDisplayString as k, unref as A, withCtx as j, withModifiers as M } from "vue";
4
- //#region src/views/menuManagementState.ts
5
- function ne(e, t, n, r = {}) {
6
- let i = O(0), a = O(0), o = O([]), s = f({
7
- viewMode: "view",
8
- createMode: "create",
9
- editMode: "edit",
10
- emptyDraft: () => F(ge()),
11
- copyRecord: R
12
- }), c = s.selected, l = b(() => c.value?.id), u = f({
13
- viewMode: "view",
14
- createMode: "create-root",
15
- editMode: "edit",
16
- emptyDraft: () => L(l.value),
17
- copyRecord: z
18
- }), p = u.selected, h = s.draft, ee = u.draft, g = s.mode, _ = u.mode, v = O(!1), y = O(!1), te = b(() => N(c.value)), x = b(() => P(p.value)), S = s.readonly, C = u.readonly, w = b(() => e.can("create") === !0), T = b(() => !!c.value?.id && e.can("update") === !0), E = b(() => !!c.value?.id && e.can("delete") === !0), D = b(() => c.value?.id ? e.can(c.value.enabled === !1 ? "enable" : "disable") === !0 : !1), k = b(() => !!l.value && Y().can("create") === !0), A = b(() => !!p.value?.id && Y().can("update") === !0), j = b(() => !!p.value?.id && Y().can("delete") === !0), M = b(() => p.value?.id ? Y().can(p.value.enabled === !1 ? "enable" : "disable") === !0 : !1), ne = b(() => g.value === "create" ? "新建菜单方案" : c.value ? N(c.value) : "菜单方案"), I = b(() => _.value === "create-root" ? "新建根菜单" : _.value === "create-child" ? `新建下级:${x.value}` : p.value ? x.value : "菜单详情");
19
- function W(e) {
20
- if (o.value = e, !c.value?.id || !e.some((e) => e.id === c.value?.id)) {
21
- c.value = e[0], J();
22
- return;
23
- }
24
- c.value = e.find((e) => e.id === c.value?.id), g.value === "view" && (h.value = c.value ? R(c.value) : F());
25
- }
26
- function G(e) {
27
- c.value?.id !== e.id && (s.select(e), J());
28
- }
29
- function K(e) {
30
- let t = p.value?.id ? e.find((e) => e.id === p.value?.id) : void 0;
31
- if (_.value !== "view") {
32
- t && u.replaceSelected(t);
33
- return;
34
- }
35
- let n = t ?? e[0];
36
- n ? u.select(n) : u.clearSelection(), _.value = "view";
37
- }
38
- function q(e) {
39
- u.select(e);
40
- }
41
- function re() {
42
- w.value && s.startCreate();
43
- }
44
- function ie() {
45
- !c.value || !T.value || s.startEdit();
46
- }
47
- function ae() {
48
- s.cancel();
49
- }
50
- function oe() {
51
- !l.value || !k.value || u.startCreate({ preserveSelection: !0 });
52
- }
53
- function se(e) {
54
- let t = e ?? p.value;
55
- !l.value || !t?.id || !k.value || u.startCreate({
56
- mode: "create-child",
57
- selectedRecord: t,
58
- draft: () => ({
59
- ...L(l.value),
60
- parentId: t.id
61
- })
62
- });
63
- }
64
- function ce() {
65
- !p.value || !A.value || u.startEdit();
66
- }
67
- function le() {
68
- u.cancel();
69
- }
70
- async function ue() {
71
- await m({
72
- loading: v,
73
- mode: g.value === "create" ? "create" : "edit",
74
- source: "menu-scheme-management",
75
- validateContext: () => g.value === "view" ? "请选择编辑或新建菜单方案" : void 0,
76
- canSave: () => g.value === "create" ? w.value : T.value,
77
- deniedMessage: "当前用户无权保存菜单方案",
78
- createRecord: () => B(h.value, c.value, g.value),
79
- validateRecord: (e) => H(e) ? void 0 : "方案 alias、名称和 scope 不能为空",
80
- save: async (t, n) => {
81
- await e.runtime.ready;
82
- let r = e.abilities.crud();
83
- return n === "edit" && t.id ? r.update(t.id, t) : r.insert(t);
84
- },
85
- onSaved: ({ record: e }) => {
86
- s.select(e), g.value = "view", i.value += 1;
87
- }
88
- });
89
- }
90
- async function de() {
91
- await m({
92
- loading: y,
93
- mode: _.value === "edit" ? "edit" : "create",
94
- source: "menu-management",
95
- validateContext: () => _.value === "view" ? "请选择编辑或新建菜单" : l.value ? void 0 : "请先选择菜单方案",
96
- canSave: () => _.value.startsWith("create") ? k.value : A.value,
97
- deniedMessage: "当前用户无权保存菜单",
98
- createRecord: () => V(ee.value, l.value),
99
- validateRecord: U,
100
- save: async (e, t) => {
101
- let n = Y();
102
- await n.runtime.ready;
103
- let r = n.abilities.crud();
104
- return t === "edit" && e.id ? r.update(e.id, e) : r.insert(e);
105
- },
106
- onSaved: ({ record: e }) => {
107
- u.select(e), _.value = "view", a.value += 1;
108
- }
109
- });
110
- }
111
- async function fe() {
112
- await d({
113
- loading: v,
114
- source: "menu-scheme-management",
115
- record: () => c.value?.id ? c.value : void 0,
116
- canExecute: () => D.value,
117
- deniedMessage: "当前用户无权变更菜单方案启停状态",
118
- execute: async (t) => {
119
- await e.runtime.ready;
120
- let n = e.abilities.enable();
121
- return t.enabled === !1 ? n.enable(t.id, { version: t.version }) : n.disable(t.id, { version: t.version });
122
- },
123
- onExecuted: async (t, n) => {
124
- let r = await e.abilities.crud().view(n.id);
125
- s.select(r), i.value += 1;
126
- }
127
- });
128
- }
129
- async function pe() {
130
- await d({
131
- loading: y,
132
- source: "menu-management",
133
- record: () => p.value?.id ? p.value : void 0,
134
- canExecute: () => M.value,
135
- deniedMessage: "当前用户无权变更菜单启停状态",
136
- execute: async (e) => {
137
- let t = Y();
138
- await t.runtime.ready;
139
- let n = t.abilities.enable();
140
- return e.enabled === !1 ? n.enable(e.id, { version: e.version }) : n.disable(e.id, { version: e.version });
141
- },
142
- onExecuted: async (e, t) => {
143
- let n = await Y().abilities.crud().view(t.id);
144
- u.select(n), a.value += 1;
145
- }
146
- });
147
- }
148
- async function me() {
149
- await d({
150
- loading: v,
151
- source: "menu-scheme-management",
152
- record: () => c.value?.id ? c.value : void 0,
153
- canExecute: () => E.value,
154
- deniedMessage: "当前用户无权删除菜单方案",
155
- confirm: (e) => n({
156
- title: "删除菜单方案",
157
- content: `确认删除菜单方案「${N(e)}」?`,
158
- okText: "删除",
159
- danger: !0
160
- }),
161
- execute: (t) => e.abilities.crud().delete(t.id, { version: t.version }),
162
- onExecuted: () => {
163
- c.value = void 0, h.value = F(ge()), g.value = w.value ? "create" : "view", J(), i.value += 1;
164
- }
165
- });
166
- }
167
- async function he() {
168
- await d({
169
- loading: y,
170
- source: "menu-management",
171
- record: () => p.value?.id ? p.value : void 0,
172
- canExecute: () => j.value,
173
- deniedMessage: "当前用户无权删除菜单",
174
- confirm: (e) => n({
175
- title: "删除菜单",
176
- content: `确认删除菜单「${P(e)}」?`,
177
- okText: "删除",
178
- danger: !0
179
- }),
180
- execute: (e) => Y().abilities.crud().delete(e.id, { version: e.version }),
181
- onExecuted: () => {
182
- u.clearSelection(), _.value = "view", a.value += 1;
183
- }
184
- });
185
- }
186
- function J() {
187
- u.clearSelection(), _.value = "view", a.value += 1;
188
- }
189
- function Y() {
190
- return t();
191
- }
192
- function ge() {
193
- return r.currentUser?.();
194
- }
195
- return {
196
- schemeReloadKey: i,
197
- menuReloadKey: a,
198
- schemes: o,
199
- selectedScheme: c,
200
- selectedMenu: p,
201
- schemeDraft: h,
202
- menuDraft: ee,
203
- schemeMode: g,
204
- menuMode: _,
205
- savingScheme: v,
206
- savingMenu: y,
207
- selectedSchemeId: l,
208
- selectedSchemeTitle: te,
209
- selectedMenuTitle: x,
210
- schemeReadonly: S,
211
- menuReadonly: C,
212
- canCreateScheme: w,
213
- canUpdateScheme: T,
214
- canDeleteScheme: E,
215
- canToggleScheme: D,
216
- canCreateMenu: k,
217
- canUpdateMenu: A,
218
- canDeleteMenu: j,
219
- canToggleMenu: M,
220
- schemeCardTitle: ne,
221
- menuCardTitle: I,
222
- handleSchemesLoaded: W,
223
- selectScheme: G,
224
- handleMenusLoaded: K,
225
- selectMenu: q,
226
- startCreateScheme: re,
227
- startEditScheme: ie,
228
- cancelSchemeEdit: ae,
229
- startCreateRootMenu: oe,
230
- startCreateChildMenu: se,
231
- startEditMenu: ce,
232
- cancelMenuEdit: le,
233
- saveScheme: ue,
234
- saveMenu: de,
235
- toggleSchemeEnabled: fe,
236
- toggleMenuEnabled: pe,
237
- removeSelectedScheme: me,
238
- removeSelectedMenu: he
239
- };
240
- }
241
- function N(e) {
242
- return e?.title ?? e?.alias ?? e?.id ?? "菜单方案";
243
- }
244
- function P(e) {
245
- return e?.title ?? e?.moduleAlias ?? e?.route ?? e?.externalUrl ?? e?.id ?? "菜单详情";
246
- }
247
- function F(e) {
248
- return {
249
- alias: "",
250
- title: "",
251
- ...I(e),
252
- enabled: !0
253
- };
254
- }
255
- function I(e) {
256
- return e?.system ? {
257
- tenantId: void 0,
258
- scopeType: "system",
259
- scopeId: "system"
260
- } : e?.tenantId ? {
261
- tenantId: e.tenantId,
262
- scopeType: "tenant",
263
- scopeId: e.tenantId
264
- } : { scopeType: "tenant" };
265
- }
266
- function L(e) {
267
- return {
268
- id: "",
269
- schemeId: e ?? "",
270
- title: "",
271
- openMode: void 0,
272
- enabled: !0
273
- };
274
- }
275
- function R(e) {
276
- return { ...e };
277
- }
278
- function z(e) {
279
- return { ...e };
280
- }
281
- function B(e, t, n) {
282
- let r = n === "create" ? e.alias?.trim() : t?.alias ?? e.alias?.trim();
283
- return {
284
- ...e,
285
- id: n === "create" ? r : e.id,
286
- alias: r,
287
- title: e.title?.trim(),
288
- scopeType: W(e.scopeType),
289
- scopeId: q(e.scopeId)
290
- };
291
- }
292
- function V(e, t) {
293
- let n = q(e.moduleAlias);
294
- return {
295
- ...e,
296
- id: e.id?.trim(),
297
- schemeId: e.schemeId || t || "",
298
- parentId: q(e.parentId),
299
- title: e.title?.trim() ?? "",
300
- openMode: n ? G(e.openMode) : void 0,
301
- moduleAlias: n,
302
- route: void 0,
303
- externalUrl: void 0,
304
- pageMode: n ? K(e.pageMode) : void 0,
305
- defaultUiConfigId: n ? q(e.defaultUiConfigId) : void 0,
306
- defaultQueryTemplateId: n ? q(e.defaultQueryTemplateId) : void 0,
307
- entryParamsJson: n ? q(e.entryParamsJson) : void 0
308
- };
309
- }
310
- function H(e) {
311
- return !!(e.id && e.alias && e.title && e.scopeType);
312
- }
313
- function U(e) {
314
- if (!e.schemeId || !e.title) return "所属方案和菜单名称不能为空";
315
- if (e.moduleAlias && !e.openMode) return "入口菜单必须选择打开方式";
316
- }
317
- function W(e) {
318
- return e === "system" || e === "organization" ? e : "tenant";
319
- }
320
- function G(e) {
321
- return e === "window" ? "window" : "tab";
322
- }
323
- function K(e) {
324
- return e === "FORM" || e === "DETAIL" ? e : e === "LIST" ? "LIST" : void 0;
325
- }
326
- function q(e) {
327
- return e?.trim() || void 0;
328
- }
329
- //#endregion
330
- //#region src/views/MenuManagementView.vue?vue&type=script&setup=true&lang.ts
331
- var re = { class: "menu-management-page" }, ie = { class: "menu-management-grid" }, ae = {
332
- key: 0,
333
- class: "scheme-editor-panel"
334
- }, oe = { class: "scheme-editor-header" }, se = {
335
- key: 0,
336
- class: "scheme-status-panel"
337
- }, ce = { key: 0 }, le = { key: 1 }, ue = { key: 2 }, de = { key: 3 }, fe = {
338
- key: 4,
339
- class: "full-row"
340
- }, pe = /*#__PURE__*/ r(/* @__PURE__ */ E({
341
- name: "MenuManagementView",
342
- __name: "MenuManagementView",
343
- setup(r) {
344
- let d = a({ moduleAlias: "platform.menu_scheme" }), f = a({ moduleAlias: "platform.menu" }), m = a({ moduleAlias: "platform.module" }), E = y(), F = O(""), I = O(""), { schemeReloadKey: L, menuReloadKey: R, selectedScheme: z, selectedMenu: B, schemeDraft: V, menuDraft: H, schemeMode: U, menuMode: W, savingScheme: G, savingMenu: K, selectedSchemeId: q, schemeReadonly: pe, menuReadonly: me, canToggleScheme: he, canToggleMenu: J, schemeCardTitle: Y, menuCardTitle: ge, handleSchemesLoaded: _e, selectScheme: ve, handleMenusLoaded: ye, selectMenu: be, startCreateScheme: xe, startEditScheme: Se, cancelSchemeEdit: Ce, startCreateRootMenu: we, startCreateChildMenu: Te, startEditMenu: Ee, cancelMenuEdit: De, saveScheme: Oe, saveMenu: ke, toggleMenuEnabled: Ae, removeSelectedScheme: je, removeSelectedMenu: Me } = ne(d, () => X.value, ee, { currentUser: () => E?.value }), X = b(() => c(f, {
345
- resourcePath: q.value ? `/platform.menu-scheme/${encodeURIComponent(q.value)}/menus` : void 0,
346
- emptyQueryScopeName: "platform.menu.empty"
347
- })), Ne = b(() => U.value === "view" ? [{
348
- key: "edit",
349
- actionCode: "update",
350
- title: "编辑",
351
- disabled: !z.value
352
- }, {
353
- key: "delete",
354
- actionCode: "delete",
355
- title: "删除",
356
- disabled: !z.value,
357
- loading: G.value,
358
- danger: !0
359
- }] : [{
360
- key: "cancel",
361
- title: "取消",
362
- disabled: G.value
363
- }, {
364
- key: "save",
365
- actionCode: U.value === "create" ? "create" : "update",
366
- title: G.value ? "保存中" : "保存",
367
- loading: G.value,
368
- primary: !0
369
- }]), Pe = b(() => W.value === "view" ? [
370
- {
371
- key: "edit",
372
- actionCode: "update",
373
- title: "编辑",
374
- disabled: !B.value
375
- },
376
- {
377
- key: "create-child",
378
- actionCode: "create",
379
- title: "新建下级",
380
- disabled: !B.value
381
- },
382
- {
383
- key: "delete",
384
- actionCode: "delete",
385
- title: "删除",
386
- disabled: !B.value,
387
- loading: K.value,
388
- danger: !0
389
- }
390
- ] : [{
391
- key: "cancel",
392
- title: "取消",
393
- disabled: K.value
394
- }, {
395
- key: "save",
396
- actionCode: W.value === "edit" ? "update" : "create",
397
- title: K.value ? "保存中" : "保存",
398
- loading: K.value,
399
- primary: !0
400
- }]), Fe = [
401
- {
402
- label: "系统",
403
- value: "system"
404
- },
405
- {
406
- label: "租户",
407
- value: "tenant"
408
- },
409
- {
410
- label: "机构",
411
- value: "organization"
412
- }
413
- ], Ie = [{
414
- label: "页签",
415
- value: "tab"
416
- }, {
417
- label: "新窗口",
418
- value: "window"
419
- }], Le = [
420
- {
421
- label: "列表",
422
- value: "LIST"
423
- },
424
- {
425
- label: "表单",
426
- value: "FORM"
427
- },
428
- {
429
- label: "详情",
430
- value: "DETAIL"
431
- }
432
- ], Re = b(() => X.value), ze = b(() => _(H.value.id)), Z = b(() => me.value || K.value), Be = b(() => U.value !== "create" || G.value), Q = O(), Ve = b(() => !!H.value.moduleAlias), He = b(() => {
433
- if (H.value.moduleAlias) return (Q.value?.alias ?? Q.value?.id) === H.value.moduleAlias ? Q.value?.entryType ?? "module" : H.value.externalUrl ? "link" : H.value.route ? "route" : "module";
434
- }), $ = b(() => He.value === "module"), Ue = b(() => U.value !== "view");
435
- function We(e, t) {
436
- let n = e;
437
- return [
438
- n.title,
439
- n.alias,
440
- n.id,
441
- ct(n.scopeType)
442
- ].filter(Boolean).some((e) => String(e).toLowerCase().includes(t));
443
- }
444
- function Ge(e) {
445
- if (!e.id) return [];
446
- let t = [];
447
- return d.can("update") === !0 && t.push({
448
- key: "edit",
449
- title: "编辑菜单方案",
450
- iconName: "edit",
451
- disabled: G.value
452
- }), d.can("delete") === !0 && t.push({
453
- key: "delete",
454
- title: "删除菜单方案",
455
- iconName: "delete",
456
- danger: !0,
457
- disabled: G.value
458
- }), t;
459
- }
460
- function Ke(e) {
461
- let t = e;
462
- return {
463
- title: N(t),
464
- tag: ct(t.scopeType),
465
- muted: t.enabled === !1,
466
- actions: Ge(t)
467
- };
468
- }
469
- function qe(e) {
470
- _e(e);
471
- }
472
- function Je(e) {
473
- ve(e);
474
- }
475
- function Ye(e, t) {
476
- if (ve(t), e.key === "edit") {
477
- Se();
478
- return;
479
- }
480
- e.key === "delete" && je();
481
- }
482
- function Xe(e) {
483
- ye(e);
484
- }
485
- function Ze(e) {
486
- be(e);
487
- }
488
- function Qe(e) {
489
- let t = e;
490
- return t.enabled === !1 ? "停用" : lt(t);
491
- }
492
- function $e(e) {
493
- let t = e;
494
- return {
495
- title: P(t),
496
- tag: Qe(e),
497
- muted: t.enabled === !1,
498
- actions: tt(e)
499
- };
500
- }
501
- function et(e, t) {
502
- let n = e;
503
- return [
504
- n.title,
505
- n.id,
506
- n.moduleAlias,
507
- n.route,
508
- n.externalUrl
509
- ].filter(Boolean).some((e) => String(e).toLowerCase().includes(t));
510
- }
511
- function tt(e) {
512
- let t = e, n = [];
513
- return t.id && X.value.can("create") === !0 && n.push({
514
- key: "create-child",
515
- title: "新增下级",
516
- iconName: "plus"
517
- }), t.id && X.value.can("update") === !0 && n.push({
518
- key: "edit",
519
- title: "编辑菜单",
520
- iconName: "edit"
521
- }), t.id && X.value.can("delete") === !0 && n.push({
522
- key: "delete",
523
- title: "删除菜单",
524
- iconName: "delete",
525
- danger: !0
526
- }), n;
527
- }
528
- function nt(e, t) {
529
- let n = t;
530
- if (be(n), e.key === "create-child") {
531
- Te(n);
532
- return;
533
- }
534
- if (e.key === "edit") {
535
- Ee();
536
- return;
537
- }
538
- e.key === "delete" && Me();
539
- }
540
- function rt(e) {
541
- if (e.key === "edit") {
542
- Se();
543
- return;
544
- }
545
- if (e.key === "delete") {
546
- je();
547
- return;
548
- }
549
- if (e.key === "cancel") {
550
- Ce();
551
- return;
552
- }
553
- e.key === "save" && Oe();
554
- }
555
- function it(e) {
556
- if (e.key === "edit") {
557
- Ee();
558
- return;
559
- }
560
- if (e.key === "create-child") {
561
- Te();
562
- return;
563
- }
564
- if (e.key === "delete") {
565
- Me();
566
- return;
567
- }
568
- if (e.key === "cancel") {
569
- De();
570
- return;
571
- }
572
- e.key === "save" && ke();
573
- }
574
- function at(e) {
575
- Q.value = e;
576
- }
577
- function ot(e) {
578
- return e.title ?? e.alias ?? e.id ?? "模块";
579
- }
580
- function st(e) {
581
- return [e.applicationAlias, e.id].filter(Boolean).join(" / ");
582
- }
583
- function ct(e) {
584
- return Fe.find((t) => t.value === e)?.label ?? "租户";
585
- }
586
- function lt(e) {
587
- return e.moduleAlias ? e.externalUrl ? "外链入口" : e.route ? "路由入口" : "模块入口" : "分组";
588
- }
589
- return (r, a) => (D(), C("section", re, [w("div", ie, [
590
- T(A(g), {
591
- title: "菜单方案",
592
- "refresh-title": "刷新菜单方案",
593
- "search-keyword": F.value,
594
- "search-placeholder": "搜索方案名称、alias 或 ID",
595
- "onUpdate:searchKeyword": a[6] ||= (e) => F.value = e,
596
- onRefresh: a[7] ||= (e) => L.value += 1
597
- }, {
598
- actions: j(() => [T(A(o), {
599
- class: "record-panel-create-button",
600
- context: A(d),
601
- "action-code": "create",
602
- title: "新建菜单方案",
603
- "icon-only": "",
604
- onClick: A(xe)
605
- }, null, 8, ["context", "onClick"])]),
606
- editor: j(() => [T(te, { name: "scheme-editor-drawer" }, {
607
- default: j(() => [Ue.value ? (D(), C("section", ae, [
608
- w("header", oe, [w("h3", null, k(A(Y)), 1), T(A(n), {
609
- context: A(d),
610
- actions: Ne.value,
611
- size: "compact",
612
- onAction: rt
613
- }, null, 8, ["context", "actions"])]),
614
- w("form", {
615
- class: "scheme-form",
616
- onSubmit: a[4] ||= M((...e) => A(Oe) && A(Oe)(...e), ["prevent"])
617
- }, [
618
- w("label", null, [a[22] ||= w("span", null, "方案 alias", -1), T(A(v), {
619
- value: A(V).alias,
620
- "onUpdate:value": a[0] ||= (e) => A(V).alias = e,
621
- disabled: Be.value
622
- }, null, 8, ["value", "disabled"])]),
623
- w("label", null, [a[23] ||= w("span", null, "方案名称", -1), T(A(v), {
624
- value: A(V).title,
625
- "onUpdate:value": a[1] ||= (e) => A(V).title = e,
626
- disabled: A(pe) || A(G)
627
- }, null, 8, ["value", "disabled"])]),
628
- w("label", null, [a[24] ||= w("span", null, "scope 类型", -1), T(A(e), {
629
- value: A(V).scopeType,
630
- "onUpdate:value": a[2] ||= (e) => A(V).scopeType = e,
631
- options: Fe,
632
- disabled: Be.value,
633
- "allow-clear": !1
634
- }, null, 8, ["value", "disabled"])]),
635
- w("label", null, [a[25] ||= w("span", null, "scope ID", -1), T(A(v), {
636
- value: A(V).scopeId,
637
- "onUpdate:value": a[3] ||= (e) => A(V).scopeId = e,
638
- disabled: Be.value
639
- }, null, 8, ["value", "disabled"])])
640
- ], 32),
641
- A(U) === "edit" && A(z)?.id ? (D(), C("section", se, [T(A(l), {
642
- enabled: A(V).enabled,
643
- disabled: A(G) || !A(he),
644
- onChange: a[5] ||= (e) => A(V).enabled = e
645
- }, null, 8, ["enabled", "disabled"])])) : S("v-if", !0)
646
- ])) : S("v-if", !0)]),
647
- _: 1
648
- })]),
649
- default: j(() => [T(A(p), {
650
- context: A(d),
651
- "selected-id": A(z)?.id,
652
- "reload-key": A(L),
653
- keyword: F.value,
654
- "empty-description": "暂无菜单方案",
655
- "loading-tip": "加载菜单方案",
656
- "fallback-title": "未命名方案",
657
- "item-of": Ke,
658
- "filter-option": We,
659
- onSelect: Je,
660
- onAction: Ye,
661
- onLoaded: qe
662
- }, null, 8, [
663
- "context",
664
- "selected-id",
665
- "reload-key",
666
- "keyword"
667
- ])]),
668
- _: 1
669
- }, 8, ["search-keyword"]),
670
- T(A(g), {
671
- title: "菜单树",
672
- "refresh-title": "刷新菜单树",
673
- "search-keyword": I.value,
674
- "search-placeholder": "搜索菜单、模块或路由",
675
- "onUpdate:searchKeyword": a[8] ||= (e) => I.value = e,
676
- onRefresh: a[9] ||= (e) => R.value += 1
677
- }, {
678
- actions: j(() => [T(A(o), {
679
- class: "record-panel-create-button",
680
- context: X.value,
681
- "action-code": "create",
682
- title: "新建根菜单",
683
- "icon-only": "",
684
- disabled: !A(q),
685
- onClick: A(we)
686
- }, null, 8, [
687
- "context",
688
- "disabled",
689
- "onClick"
690
- ])]),
691
- default: j(() => [A(q) ? (D(), x(A(h), {
692
- key: 0,
693
- context: X.value,
694
- "selected-id": A(B)?.id,
695
- "reload-key": A(R),
696
- keyword: I.value,
697
- "search-mode": "none",
698
- "search-trigger": "external",
699
- "empty-description": "暂无菜单",
700
- "loading-tip": "加载菜单树",
701
- "fallback-title": "未命名菜单",
702
- "item-of": $e,
703
- "filter-option": et,
704
- onSelect: Ze,
705
- onAction: nt,
706
- onLoaded: Xe
707
- }, null, 8, [
708
- "context",
709
- "selected-id",
710
- "reload-key",
711
- "keyword"
712
- ])) : (D(), x(A(t), {
713
- key: 1,
714
- description: "请先选择菜单方案"
715
- }))]),
716
- _: 1
717
- }, 8, ["search-keyword"]),
718
- T(A(i), {
719
- class: "menu-detail-column",
720
- title: A(ge)
721
- }, {
722
- status: j(() => [A(W) === "view" ? A(B) ? (D(), x(A(l), {
723
- key: 1,
724
- enabled: A(B).enabled,
725
- disabled: A(K) || !A(J),
726
- loading: A(K),
727
- "show-label": !1,
728
- onChange: A(Ae)
729
- }, null, 8, [
730
- "enabled",
731
- "disabled",
732
- "loading",
733
- "onChange"
734
- ])) : S("v-if", !0) : (D(), x(A(l), {
735
- key: 0,
736
- enabled: A(H).enabled,
737
- "show-label": !1,
738
- onChange: a[10] ||= (e) => A(H).enabled = e
739
- }, null, 8, ["enabled"]))]),
740
- actions: j(() => [T(A(n), {
741
- context: X.value,
742
- actions: Pe.value,
743
- onAction: it
744
- }, null, 8, ["context", "actions"])]),
745
- default: j(() => [!A(B) && A(W) === "view" ? (D(), x(A(t), {
746
- key: 0,
747
- description: "请选择或新建菜单"
748
- })) : (D(), C("form", {
749
- key: 1,
750
- class: "static-record-form",
751
- onSubmit: a[21] ||= M((...e) => A(ke) && A(ke)(...e), ["prevent"])
752
- }, [
753
- w("label", null, [a[26] ||= w("span", null, "菜单 ID", -1), T(A(v), {
754
- value: A(H).id,
755
- "onUpdate:value": a[11] ||= (e) => A(H).id = e,
756
- disabled: A(W) !== "create-root" && A(W) !== "create-child"
757
- }, null, 8, ["value", "disabled"])]),
758
- w("label", null, [a[27] ||= w("span", null, "菜单名称", -1), T(A(v), {
759
- value: A(H).title,
760
- "onUpdate:value": a[12] ||= (e) => A(H).title = e,
761
- disabled: Z.value
762
- }, null, 8, ["value", "disabled"])]),
763
- w("label", null, [a[28] ||= w("span", null, "上级菜单", -1), T(A(s), {
764
- value: A(H).parentId,
765
- "onUpdate:value": a[13] ||= (e) => A(H).parentId = e,
766
- context: Re.value,
767
- "reload-key": A(R),
768
- placeholder: "根菜单留空",
769
- disabled: Z.value,
770
- constraints: ze.value,
771
- "title-of": (e) => A(P)(e)
772
- }, null, 8, [
773
- "value",
774
- "context",
775
- "reload-key",
776
- "disabled",
777
- "constraints",
778
- "title-of"
779
- ])]),
780
- w("label", null, [a[29] ||= w("span", null, "模块入口", -1), T(A(s), {
781
- value: A(H).moduleAlias,
782
- "onUpdate:value": a[14] ||= (e) => A(H).moduleAlias = e,
783
- context: A(m),
784
- mode: "list",
785
- placeholder: "选择模块入口",
786
- disabled: Z.value,
787
- "title-of": (e) => ot(e),
788
- "description-of": (e) => st(e),
789
- onSelect: a[15] ||= (e) => at(e)
790
- }, null, 8, [
791
- "value",
792
- "context",
793
- "disabled",
794
- "title-of",
795
- "description-of"
796
- ])]),
797
- Ve.value ? (D(), C("label", ce, [a[30] ||= w("span", null, "打开方式", -1), T(A(e), {
798
- value: A(H).openMode,
799
- "onUpdate:value": a[16] ||= (e) => A(H).openMode = e,
800
- options: Ie,
801
- disabled: Z.value,
802
- "allow-clear": !1
803
- }, null, 8, ["value", "disabled"])])) : S("v-if", !0),
804
- $.value ? (D(), C("label", le, [a[31] ||= w("span", null, "页面模式", -1), T(A(e), {
805
- value: A(H).pageMode,
806
- "onUpdate:value": a[17] ||= (e) => A(H).pageMode = e,
807
- options: Le,
808
- placeholder: "默认列表",
809
- disabled: Z.value
810
- }, null, 8, ["value", "disabled"])])) : S("v-if", !0),
811
- $.value ? (D(), C("label", ue, [a[32] ||= w("span", null, "默认 UI 配置", -1), T(A(v), {
812
- value: A(H).defaultUiConfigId,
813
- "onUpdate:value": a[18] ||= (e) => A(H).defaultUiConfigId = e,
814
- disabled: Z.value
815
- }, null, 8, ["value", "disabled"])])) : S("v-if", !0),
816
- $.value ? (D(), C("label", de, [a[33] ||= w("span", null, "默认查询模板", -1), T(A(v), {
817
- value: A(H).defaultQueryTemplateId,
818
- "onUpdate:value": a[19] ||= (e) => A(H).defaultQueryTemplateId = e,
819
- disabled: Z.value
820
- }, null, 8, ["value", "disabled"])])) : S("v-if", !0),
821
- $.value ? (D(), C("label", fe, [a[34] ||= w("span", null, "入口参数 JSON", -1), T(A(v), {
822
- value: A(H).entryParamsJson,
823
- "onUpdate:value": a[20] ||= (e) => A(H).entryParamsJson = e,
824
- disabled: Z.value
825
- }, null, 8, ["value", "disabled"])])) : S("v-if", !0)
826
- ], 32)), A(B) || A(W) !== "view" ? (D(), x(A(u), {
827
- key: 2,
828
- record: A(H),
829
- "show-sort-order": ""
830
- }, null, 8, ["record"])) : S("v-if", !0)]),
831
- _: 1
832
- }, 8, ["title"])
833
- ])]));
834
- }
835
- }), [["__scopeId", "data-v-15916f8e"]]);
836
- //#endregion
837
- export { pe as default };