smart-admin-web 10.20.1 → 10.21.0

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 (143) hide show
  1. package/dist/api/index.d.ts +19 -1
  2. package/dist/api/index.js +85 -66
  3. package/dist/api/index.js.map +1 -1
  4. package/dist/api/schema.d.ts +448 -1
  5. package/dist/assets/icons/ph-subset.json.js +1 -1
  6. package/dist/components/FormContainer/index.vue.js +87 -75
  7. package/dist/components/FormContainer/index.vue.js.map +1 -1
  8. package/dist/components/UserPicker/UserAvatar.vue.d.ts +8 -0
  9. package/dist/components/UserPicker/UserAvatar.vue.js +8 -0
  10. package/dist/components/UserPicker/UserAvatar.vue.js.map +1 -0
  11. package/dist/components/UserPicker/UserAvatar2.vue.js +38 -0
  12. package/dist/components/UserPicker/UserAvatar2.vue.js.map +1 -0
  13. package/dist/components/UserPicker/index.vue.js +1 -1
  14. package/dist/components/UserPicker/index2.vue.js +328 -186
  15. package/dist/components/UserPicker/index2.vue.js.map +1 -1
  16. package/dist/index.js +248 -246
  17. package/dist/lib/runtime.js +1 -1
  18. package/dist/lib/watermark.d.ts +1 -1
  19. package/dist/locales/en-US.d.ts +62 -3
  20. package/dist/locales/en-US.js +65 -6
  21. package/dist/locales/en-US.js.map +1 -1
  22. package/dist/locales/kernelMenuTitles.js +1 -0
  23. package/dist/locales/kernelMenuTitles.js.map +1 -1
  24. package/dist/locales/zh-CN.d.ts +62 -3
  25. package/dist/locales/zh-CN.js +65 -6
  26. package/dist/locales/zh-CN.js.map +1 -1
  27. package/dist/router/viewRegistry.js +6 -6
  28. package/dist/router/viewRegistry.js.map +1 -1
  29. package/dist/style.css +1 -1
  30. package/dist/theme/naive-theme.js +80 -77
  31. package/dist/theme/naive-theme.js.map +1 -1
  32. package/dist/types/api.d.ts +91 -0
  33. package/dist/types/api.js +17 -15
  34. package/dist/types/api.js.map +1 -1
  35. package/dist/utils/shake.d.ts +1 -0
  36. package/dist/utils/shake.js +30 -0
  37. package/dist/utils/shake.js.map +1 -0
  38. package/dist/views/login/LoginForm.vue.js +2 -2
  39. package/dist/views/login/LoginForm2.vue.js +135 -135
  40. package/dist/views/login/LoginForm2.vue.js.map +1 -1
  41. package/dist/views/login/components/LoginDesk.vue.js +1 -1
  42. package/dist/views/login/components/LoginDesk2.vue.js +59 -47
  43. package/dist/views/login/components/LoginDesk2.vue.js.map +1 -1
  44. package/dist/views/personal/notice2.vue.js +1 -1
  45. package/dist/views/personal/notice2.vue.js.map +1 -1
  46. package/dist/views/personal/sessions.vue.js +2 -2
  47. package/dist/views/personal/sessions2.vue.js +41 -40
  48. package/dist/views/personal/sessions2.vue.js.map +1 -1
  49. package/dist/views/system/ai-usage/index.vue.js +3 -3
  50. package/dist/views/system/ai-usage/index2.vue.js +13 -12
  51. package/dist/views/system/ai-usage/index2.vue.js.map +1 -1
  52. package/dist/views/system/config/components/AdvancedSection.vue.js +3 -3
  53. package/dist/views/system/config/components/AdvancedSection2.vue.js +2 -1
  54. package/dist/views/system/config/components/AdvancedSection2.vue.js.map +1 -1
  55. package/dist/views/system/dict/index.vue.js +2 -2
  56. package/dist/views/system/dict/index2.vue.js +12 -1
  57. package/dist/views/system/dict/index2.vue.js.map +1 -1
  58. package/dist/views/system/file/index2.vue.js +1 -0
  59. package/dist/views/system/file/index2.vue.js.map +1 -1
  60. package/dist/views/system/job/index.vue.js +3 -3
  61. package/dist/views/system/job/index2.vue.js +182 -181
  62. package/dist/views/system/job/index2.vue.js.map +1 -1
  63. package/dist/views/system/job-log/components/AttemptTable2.vue.js +8 -3
  64. package/dist/views/system/job-log/components/AttemptTable2.vue.js.map +1 -1
  65. package/dist/views/system/job-log/index.vue.js +1 -1
  66. package/dist/views/system/job-log/index2.vue.js +5 -5
  67. package/dist/views/system/job-log/index2.vue.js.map +1 -1
  68. package/dist/views/system/log/exception/index.vue.js +2 -2
  69. package/dist/views/system/log/exception/index2.vue.js +8 -5
  70. package/dist/views/system/log/exception/index2.vue.js.map +1 -1
  71. package/dist/views/system/log/login/index2.vue.js +21 -12
  72. package/dist/views/system/log/login/index2.vue.js.map +1 -1
  73. package/dist/views/system/log/op/index.vue.js +2 -2
  74. package/dist/views/system/log/op/index2.vue.js +50 -40
  75. package/dist/views/system/log/op/index2.vue.js.map +1 -1
  76. package/dist/views/system/menu/components/ButtonManager.vue.js +2 -2
  77. package/dist/views/system/menu/components/ButtonManager2.vue.js +45 -36
  78. package/dist/views/system/menu/components/ButtonManager2.vue.js.map +1 -1
  79. package/dist/views/system/menu/index.vue.js +2 -2
  80. package/dist/views/system/menu/index2.vue.js +11 -11
  81. package/dist/views/system/menu/index2.vue.js.map +1 -1
  82. package/dist/views/system/module/index.vue.js +1 -1
  83. package/dist/views/system/module/index2.vue.js +171 -117
  84. package/dist/views/system/module/index2.vue.js.map +1 -1
  85. package/dist/views/system/notice/index.vue.js +3 -3
  86. package/dist/views/system/notice/index2.vue.js +1 -0
  87. package/dist/views/system/notice/index2.vue.js.map +1 -1
  88. package/dist/views/system/org/index.vue.js +2 -2
  89. package/dist/views/system/org/index2.vue.js +70 -67
  90. package/dist/views/system/org/index2.vue.js.map +1 -1
  91. package/dist/views/system/position/index.vue.js +2 -2
  92. package/dist/views/system/position/index2.vue.js +57 -48
  93. package/dist/views/system/position/index2.vue.js.map +1 -1
  94. package/dist/views/system/recycle/index.vue.js +1 -1
  95. package/dist/views/system/recycle/index2.vue.js +3 -1
  96. package/dist/views/system/recycle/index2.vue.js.map +1 -1
  97. package/dist/views/system/role/components/GrantMenuSheet.vue.d.ts +2 -0
  98. package/dist/views/system/role/components/GrantMenuSheet.vue.js +2 -2
  99. package/dist/views/system/role/components/GrantMenuSheet2.vue.js +54 -49
  100. package/dist/views/system/role/components/GrantMenuSheet2.vue.js.map +1 -1
  101. package/dist/views/system/role/components/GrantMenuTable.vue.js +1 -1
  102. package/dist/views/system/role/components/GrantMenuTable2.vue.js +159 -195
  103. package/dist/views/system/role/components/GrantMenuTable2.vue.js.map +1 -1
  104. package/dist/views/system/role/components/grantMenuGroups.d.ts +54 -0
  105. package/dist/views/system/role/components/grantMenuGroups.js +116 -76
  106. package/dist/views/system/role/components/grantMenuGroups.js.map +1 -1
  107. package/dist/views/system/role/index.vue.js +2 -2
  108. package/dist/views/system/role/index2.vue.js +152 -145
  109. package/dist/views/system/role/index2.vue.js.map +1 -1
  110. package/dist/views/system/session/index2.vue.js +39 -35
  111. package/dist/views/system/session/index2.vue.js.map +1 -1
  112. package/dist/views/system/user/components/UserGrantEffectiveTable.vue.d.ts +10 -0
  113. package/dist/views/system/user/components/UserGrantEffectiveTable.vue.js +5 -0
  114. package/dist/views/system/user/components/UserGrantEffectiveTable.vue.js.map +1 -0
  115. package/dist/views/system/user/components/UserGrantEffectiveTable2.vue.js +96 -0
  116. package/dist/views/system/user/components/UserGrantEffectiveTable2.vue.js.map +1 -0
  117. package/dist/views/system/user/components/UserGrantMenuSheet.vue.d.ts +13 -0
  118. package/dist/views/system/user/components/UserGrantMenuSheet.vue.js +8 -0
  119. package/dist/views/system/user/components/UserGrantMenuSheet.vue.js.map +1 -0
  120. package/dist/views/system/user/components/UserGrantMenuSheet2.vue.js +216 -0
  121. package/dist/views/system/user/components/UserGrantMenuSheet2.vue.js.map +1 -0
  122. package/dist/views/system/user/components/UserGrantMenuTable.vue.d.ts +13 -0
  123. package/dist/views/system/user/components/UserGrantMenuTable.vue.js +8 -0
  124. package/dist/views/system/user/components/UserGrantMenuTable.vue.js.map +1 -0
  125. package/dist/views/system/user/components/UserGrantMenuTable2.vue.js +186 -0
  126. package/dist/views/system/user/components/UserGrantMenuTable2.vue.js.map +1 -0
  127. package/dist/views/system/user/components/UserGrantNodeRow.vue.d.ts +31 -0
  128. package/dist/views/system/user/components/UserGrantNodeRow.vue.js +8 -0
  129. package/dist/views/system/user/components/UserGrantNodeRow.vue.js.map +1 -0
  130. package/dist/views/system/user/components/UserGrantNodeRow2.vue.js +171 -0
  131. package/dist/views/system/user/components/UserGrantNodeRow2.vue.js.map +1 -0
  132. package/dist/views/system/user/components/UserGrantOverviewDrawer.vue.d.ts +21 -0
  133. package/dist/views/system/user/components/UserGrantOverviewDrawer.vue.js +5 -0
  134. package/dist/views/system/user/components/UserGrantOverviewDrawer.vue.js.map +1 -0
  135. package/dist/views/system/user/components/UserGrantOverviewDrawer2.vue.js +178 -0
  136. package/dist/views/system/user/components/UserGrantOverviewDrawer2.vue.js.map +1 -0
  137. package/dist/views/system/user/components/userGrantState.d.ts +64 -0
  138. package/dist/views/system/user/components/userGrantState.js +117 -0
  139. package/dist/views/system/user/components/userGrantState.js.map +1 -0
  140. package/dist/views/system/user/index.vue.js +2 -2
  141. package/dist/views/system/user/index2.vue.js +250 -207
  142. package/dist/views/system/user/index2.vue.js.map +1 -1
  143. package/package.json +3 -3
@@ -61,11 +61,19 @@ declare const _default: {
61
61
  };
62
62
  userPicker: {
63
63
  title: string;
64
+ org: string;
64
65
  available: string;
65
66
  selected: string;
66
- add: string;
67
- added: string;
68
- addChecked: string;
67
+ searchName: string;
68
+ searchAccount: string;
69
+ selectPage: string;
70
+ unselectPage: string;
71
+ total: string;
72
+ existing: string;
73
+ remove: string;
74
+ emptySelected: string;
75
+ prevPage: string;
76
+ nextPage: string;
69
77
  clear: string;
70
78
  };
71
79
  app: {
@@ -241,6 +249,9 @@ declare const _default: {
241
249
  deleteConfirm: string;
242
250
  disableConfirm: string;
243
251
  builtinNoDisable: string;
252
+ delegatable: string;
253
+ delegatableHint: string;
254
+ builtinNotDelegatable: string;
244
255
  saved: string;
245
256
  deleted: string;
246
257
  };
@@ -355,6 +366,7 @@ declare const _default: {
355
366
  userToggle: string;
356
367
  userImport: string;
357
368
  userExport: string;
369
+ userGrantMenus: string;
358
370
  roleQuery: string;
359
371
  roleCreate: string;
360
372
  roleUpdate: string;
@@ -551,6 +563,47 @@ declare const _default: {
551
563
  totpInviteToken: string;
552
564
  totpInviteExpires: string;
553
565
  };
566
+ userGrant: {
567
+ action: string;
568
+ title: string;
569
+ tabGrant: string;
570
+ tabEffective: string;
571
+ hint: string;
572
+ noRoles: string;
573
+ readonly: string;
574
+ readonlyNoReason: string;
575
+ follow: string;
576
+ allow: string;
577
+ deny: string;
578
+ effective: string;
579
+ ineffective: string;
580
+ expired: string;
581
+ deniedByAncestor: string;
582
+ notGrantable: string;
583
+ expireLongTerm: string;
584
+ remark: string;
585
+ leaked: string;
586
+ leakedFrom: string;
587
+ summary: string;
588
+ unsaved: string;
589
+ invalidExpiry: string;
590
+ saved: string;
591
+ overview: string;
592
+ colUser: string;
593
+ colMenu: string;
594
+ colState: string;
595
+ colSource: string;
596
+ colEffect: string;
597
+ colStatus: string;
598
+ colExpire: string;
599
+ colGrantor: string;
600
+ colGrantTime: string;
601
+ colRemark: string;
602
+ adjust: string;
603
+ statusActive: string;
604
+ statusExpiring: string;
605
+ statusExpired: string;
606
+ };
554
607
  mfa: {
555
608
  bindTitle: string;
556
609
  recoveryTitle: string;
@@ -1247,6 +1300,7 @@ declare const _default: {
1247
1300
  grantSummary: string;
1248
1301
  grantSummarySplit: string;
1249
1302
  grantUnsaved: string;
1303
+ systemMenusBuiltinOnly: string;
1250
1304
  dataScope: string;
1251
1305
  scopeType: string;
1252
1306
  customOrgs: string;
@@ -1747,6 +1801,9 @@ declare const _default: {
1747
1801
  denied: string;
1748
1802
  demoReadOnly: string;
1749
1803
  superAdminRequired: string;
1804
+ menuNotGrantable: string;
1805
+ targetIsDelegatedAdmin: string;
1806
+ delegatedGrantExpiryInvalid: string;
1750
1807
  };
1751
1808
  user: {
1752
1809
  notFound: string;
@@ -1757,11 +1814,13 @@ declare const _default: {
1757
1814
  outOfDataScope: string;
1758
1815
  avatarUrlInvalid: string;
1759
1816
  cannotOperateSelf: string;
1817
+ menuGrantInvalid: string;
1760
1818
  };
1761
1819
  role: {
1762
1820
  notFound: string;
1763
1821
  codeExists: string;
1764
1822
  notDelegatable: string;
1823
+ systemMenuNotAssignable: string;
1765
1824
  };
1766
1825
  org: {
1767
1826
  notFound: string;
@@ -63,11 +63,19 @@ const e = {
63
63
  },
64
64
  userPicker: {
65
65
  title: "Select users",
66
+ org: "Organizations",
66
67
  available: "Available",
67
68
  selected: "Selected",
68
- add: "Add",
69
- added: "Added",
70
- addChecked: "Add checked",
69
+ searchName: "Search by name",
70
+ searchAccount: "Search by account",
71
+ selectPage: "Select page",
72
+ unselectPage: "Deselect page",
73
+ total: "{n} users",
74
+ existing: "Existing",
75
+ remove: "Remove",
76
+ emptySelected: "No users selected",
77
+ prevPage: "Previous page",
78
+ nextPage: "Next page",
71
79
  clear: "Clear"
72
80
  },
73
81
  app: {
@@ -243,6 +251,9 @@ const e = {
243
251
  deleteConfirm: 'Delete app "{title}"?',
244
252
  disableConfirm: 'Disable app "{title}"? It will disappear from the portal',
245
253
  builtinNoDisable: "The built-in app cannot be disabled",
254
+ delegatable: "Delegatable",
255
+ delegatableHint: "When on, administrators can grant or deny this app's menus to individual users (time-limited)",
256
+ builtinNotDelegatable: "The built-in app is never delegatable",
246
257
  saved: "Saved",
247
258
  deleted: "Deleted"
248
259
  },
@@ -358,6 +369,7 @@ const e = {
358
369
  userToggle: "User - Enable / Disable",
359
370
  userImport: "User - Import",
360
371
  userExport: "User - Export",
372
+ userGrantMenus: "User - Grant Menus",
361
373
  roleQuery: "Role - Query",
362
374
  roleCreate: "Role - Create",
363
375
  roleUpdate: "Role - Update",
@@ -560,6 +572,47 @@ const e = {
560
572
  totpInviteToken: "Invite token",
561
573
  totpInviteExpires: "Expires at"
562
574
  },
575
+ userGrant: {
576
+ action: "Grant menus",
577
+ title: "Grant menus · {name}",
578
+ tabGrant: "Individual grants",
579
+ tabEffective: "Effective access",
580
+ hint: "Grant through roles as usual and keep only exceptions here. Allow covers that one node; Deny also revokes everything below it and beats any allow.",
581
+ noRoles: 'This user has no role, so the data scope is "self only": granted pages open but show only data the user created.',
582
+ readonly: "View only: {reason}",
583
+ readonlyNoReason: "View only",
584
+ follow: "Follow roles",
585
+ allow: "Allow",
586
+ deny: "Deny",
587
+ effective: "Effective",
588
+ ineffective: "Not effective",
589
+ expired: "Expired",
590
+ deniedByAncestor: "Denied by parent",
591
+ notGrantable: "Only a super admin can grant menus in this module",
592
+ expireLongTerm: "No expiry",
593
+ remark: "Reason (optional)",
594
+ leaked: "These APIs stay callable:",
595
+ leakedFrom: "{code} (from {from})",
596
+ summary: "Allow {allow} · Deny {deny}",
597
+ unsaved: "Unsaved changes",
598
+ invalidExpiry: "{count} record(s) have a missing or out-of-range expiry date",
599
+ saved: "Grants saved",
600
+ overview: "Individual grants",
601
+ colUser: "User",
602
+ colMenu: "Menu",
603
+ colState: "State",
604
+ colSource: "Source",
605
+ colEffect: "Effect",
606
+ colStatus: "Validity",
607
+ colExpire: "Expires",
608
+ colGrantor: "Granted by",
609
+ colGrantTime: "Granted at",
610
+ colRemark: "Reason",
611
+ adjust: "Adjust",
612
+ statusActive: "Active",
613
+ statusExpiring: "Expiring in 7 days",
614
+ statusExpired: "Expired"
615
+ },
563
616
  mfa: {
564
617
  bindTitle: "Set up authenticator",
565
618
  recoveryTitle: "Use recovery code",
@@ -1250,6 +1303,7 @@ const e = {
1250
1303
  grantSummary: "Granted {on} / {total}",
1251
1304
  grantSummarySplit: "{pages} pages · {buttons} buttons",
1252
1305
  grantUnsaved: "Unsaved changes",
1306
+ systemMenusBuiltinOnly: "Apart from User Management and Role Management, menus that ship with the system can only be granted to built-in roles and are hidden here",
1253
1307
  dataScope: "Data scope",
1254
1308
  scopeType: "Scope type",
1255
1309
  customOrgs: "Custom orgs",
@@ -1747,7 +1801,10 @@ const e = {
1747
1801
  perm: {
1748
1802
  denied: "Access denied",
1749
1803
  demoReadOnly: "Demo environment is read-only",
1750
- superAdminRequired: "This action requires super admin privileges"
1804
+ superAdminRequired: "This action requires super admin privileges",
1805
+ menuNotGrantable: "This menu's module does not allow delegated grants",
1806
+ targetIsDelegatedAdmin: "The user is an administrator; only a super admin can grant them menus individually",
1807
+ delegatedGrantExpiryInvalid: "An allow grant needs an expiry date at most {maxDays} days away"
1751
1808
  },
1752
1809
  user: {
1753
1810
  notFound: "User not found",
@@ -1757,12 +1814,14 @@ const e = {
1757
1814
  passwordReused: "New password must differ from your current and recently used passwords",
1758
1815
  outOfDataScope: "Target user is outside your data scope",
1759
1816
  avatarUrlInvalid: "Avatar URL is not allowed",
1760
- cannotOperateSelf: "You cannot perform this action on yourself"
1817
+ cannotOperateSelf: "You cannot perform this action on yourself",
1818
+ menuGrantInvalid: "Invalid grant changes: each menu at most once, and the expiry must be in the future"
1761
1819
  },
1762
1820
  role: {
1763
1821
  notFound: "Role not found",
1764
1822
  codeExists: "Role code already exists",
1765
- notDelegatable: "Role is not delegatable"
1823
+ notDelegatable: "Role is not delegatable",
1824
+ systemMenuNotAssignable: "Apart from User Management and Role Management, menus that ship with the system can only be granted to built-in roles"
1766
1825
  },
1767
1826
  org: {
1768
1827
  notFound: "Org not found",