@epxing/business 5.3.0-beta.2 → 5.3.0-beta.3

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 (98) hide show
  1. package/API.md +8 -4
  2. package/README.md +44 -44
  3. package/dist/src/base/AiSkillEditor.js +1 -1
  4. package/dist/src/base/AiSkillEditor.vue.js +2 -0
  5. package/dist/src/base/AppConfigFormItem.js +1 -3
  6. package/dist/src/base/AppConfigFormItem.vue.js +210 -85
  7. package/dist/src/base/CommonFieldList.js +1 -1
  8. package/dist/src/base/CommonFieldList.vue.js +2 -1
  9. package/dist/src/base/ConfigModuleIndex.js +38 -1
  10. package/dist/src/base/ManageAppNav.js +1 -1
  11. package/dist/src/base/ManageMenu.js +1 -1
  12. package/dist/src/base/RoleBindTrace.js +253 -0
  13. package/dist/src/base/RoleGroupManage.js +1037 -0
  14. package/dist/src/base/ServiceMenu.js +7 -6
  15. package/dist/src/components/AiList.js +1278 -3
  16. package/dist/src/components/EntityCheckboxFind.vue.js +14 -10
  17. package/dist/src/components/EntityRightFormItem.js +1 -5
  18. package/dist/src/components/EntityRightFormItem.vue.js +3 -1
  19. package/dist/src/components/EntitySystemEr.js +492 -0
  20. package/dist/src/components/HallNav.vue.js +7 -36
  21. package/dist/src/components/IconFontLibrary.js +22 -1
  22. package/dist/src/components/IconFontList.js +21 -1
  23. package/dist/src/components/PrintFormList.js +2 -1
  24. package/dist/src/components/PrintFormList.vue.js +3 -1
  25. package/dist/src/components/WikiWorkbench.js +153 -129
  26. package/dist/src/components/authorization/AuthorizationInterface.js +3 -1
  27. package/dist/src/components/custom-bpmn/PropertiesView.js +1991 -1942
  28. package/dist/src/components/icon-gallery/IconGallery.js +193 -0
  29. package/dist/src/components/icon-gallery/mixin.js +150 -0
  30. package/dist/src/components/wiki-workbench/WikiIntake.js +86 -93
  31. package/dist/src/components/wiki-workbench/WikiIntake.vue.js +153 -73
  32. package/dist/src/index.js +26 -20
  33. package/dist/src/public-components.js +16 -14
  34. package/dist/src/route-components.js +5 -5
  35. package/dist/src/system.component.index.js +1 -1
  36. package/dist/src/system.component.js +8 -3
  37. package/dist/src/system.component.lazy.js +1 -1
  38. package/dist/src/views/Add.js +1 -1
  39. package/dist/src/views/Add.vue.js +8 -3
  40. package/dist/src/views/AiToolManager.js +792 -317
  41. package/dist/src/views/App.js +3 -45
  42. package/dist/src/views/AppRoleSelect.js +3 -230
  43. package/dist/src/views/Error.js +3 -207
  44. package/dist/src/views/ExcelDesign.js +326 -316
  45. package/dist/src/views/JvmMemoryMonitor.js +463 -0
  46. package/dist/src/views/Module.js +3 -170
  47. package/dist/src/views/WikiBinding.js +88 -25
  48. package/dist/style.css +2867 -1487
  49. package/package.json +12 -6
  50. package/src/base/AiSkillEditor.vue +2 -0
  51. package/src/base/AppConfigFormItem.vue +211 -145
  52. package/src/base/CommonFieldList.vue +9 -6
  53. package/src/base/ConfigModuleIndex.vue +37 -1
  54. package/src/base/ManageAppNav.vue +1188 -1188
  55. package/src/base/ManageMenu.vue +933 -933
  56. package/src/base/RoleBindTrace.vue +364 -0
  57. package/src/base/RoleGroupManage.vue +1160 -0
  58. package/src/base/ServiceMenu.vue +6 -5
  59. package/src/components/AiList.vue +439 -113
  60. package/src/components/EntityCheckboxFind.vue +12 -8
  61. package/src/components/EntityRightFormItem.vue +9 -10
  62. package/src/components/EntitySystemEr.vue +517 -0
  63. package/src/components/HallNav.vue +6 -33
  64. package/src/components/IconFontLibrary.vue +27 -60
  65. package/src/components/IconFontList.vue +13 -64
  66. package/src/components/PrintFormList.vue +33 -27
  67. package/src/components/WikiWorkbench.vue +90 -60
  68. package/src/components/authorization/AuthorizationInterface.vue +2 -0
  69. package/src/components/custom-bpmn/CustomPalette.js +1 -1
  70. package/src/components/custom-bpmn/CustomRenderer.js +1 -1
  71. package/src/components/custom-bpmn/PropertiesView.vue +35 -4
  72. package/src/components/custom-bpmn/index.js +1 -1
  73. package/src/components/icon-gallery/IconGallery.vue +130 -0
  74. package/src/components/icon-gallery/mixin.jsx +109 -0
  75. package/src/components/wiki-workbench/WikiIntake.vue +178 -104
  76. package/src/index.js +24 -20
  77. package/src/public-components.js +1 -0
  78. package/src/route-components.js +4 -4
  79. package/src/system.component.index.js +1 -1
  80. package/src/views/Add.vue +8 -5
  81. package/src/views/AiToolManager.vue +326 -4
  82. package/src/views/App.vue +4 -53
  83. package/src/views/AppRoleSelect.vue +4 -334
  84. package/src/views/Error.vue +4 -63
  85. package/src/views/ExcelDesign.vue +24 -7
  86. package/src/views/JvmMemoryMonitor.vue +284 -0
  87. package/src/views/Module.vue +4 -210
  88. package/src/views/WikiBinding.vue +42 -0
  89. package/types/app.d.ts +1 -0
  90. package/types/dept-find.d.ts +1 -1
  91. package/types/index.d.ts +15 -14
  92. package/types/popup.d.ts +2 -2
  93. package/types/route-components.d.ts +1 -1
  94. package/types/user-find.d.ts +1 -1
  95. package/dist/assets/role_select-DTqRlFNz.webp +0 -0
  96. package/dist/src/components/AiList.vue.js +0 -93
  97. package/dist/src/components/IconFontLibrary.vue.js +0 -67
  98. package/dist/src/components/IconFontList.vue.js +0 -79
@@ -1,6 +1,7 @@
1
1
  import '../../style.css';
2
2
  import ModuleIndexVue from "@epxing/components/src/menu-index";
3
3
  import { openExternalMenu } from "@epxing/utils/src/menu-open";
4
+ import { findMenuByKey, getRouteMenuKey } from "@epxing/core/src/menu-route";
4
5
  import { resolveComponent, openBlock, createElementBlock, createBlock, KeepAlive, createCommentVNode, createElementVNode } from "vue";
5
6
  import _export_sfc from "../../_virtual/_plugin-vue_export-helper.js";
6
7
  const _comp = {
@@ -11,7 +12,42 @@ const _comp = {
11
12
  data: {}
12
13
  };
13
14
  },
15
+ computed: {
16
+ configMenuKey() {
17
+ return this.$route.name === "system" ? getRouteMenuKey(this.$route) : "";
18
+ },
19
+ initRoute() {
20
+ const menu = findMenuByKey(this.menu, this.configMenuKey);
21
+ if (menu && menu.OPEN_TYPE !== "1") {
22
+ return { moduleId: menu.ID, component: "module-list-page", pageId: menu.MAIN_PAGE, menuTitle: menu.text };
23
+ }
24
+ return ModuleIndexVue.computed.initRoute.call(this);
25
+ }
26
+ },
27
+ watch: {
28
+ configMenuKey: "restoreMenuFromRoute",
29
+ menu: "restoreMenuFromRoute",
30
+ "data.ID": "restoreMenuFromRoute"
31
+ },
14
32
  methods: {
33
+ restoreMenuFromRoute() {
34
+ if (this.$route.name !== "system") return;
35
+ this.$nextTick(() => {
36
+ var _a;
37
+ const view = this.$refs.router;
38
+ if (!view || !this.data.ID) return;
39
+ const menu = findMenuByKey(this.menu, this.configMenuKey);
40
+ if (menu) {
41
+ if (((_a = view.route) == null ? void 0 : _a.moduleId) === menu.ID) return;
42
+ const activeTab = this.$tabs.find((tab) => tab.active);
43
+ if (menu.OPEN_TYPE === "1" && (activeTab == null ? void 0 : activeTab.moduleId) === menu.ID) return;
44
+ this.toPage(menu);
45
+ } else if (!this.configMenuKey) {
46
+ view.clearPage();
47
+ view.createPage(this.initRoute);
48
+ }
49
+ });
50
+ },
15
51
  getInfo() {
16
52
  const { name, params = {}, query = {} } = this.$route;
17
53
  const { system: querySystem = "" } = query;
@@ -113,11 +149,12 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
113
149
  showNav: false,
114
150
  class: "aside hidden-sm-and-down",
115
151
  modules: _ctx.menu,
152
+ activeMenuId: _ctx.configMenuKey,
116
153
  moduleName: `${_ctx.data.NAME || _ctx.$t("application")}${_ctx.$t("configuration")}`,
117
154
  subTitle: _ctx.data["CLIENT#"],
118
155
  toPages: _ctx.toPages,
119
156
  clickItem: _ctx.toPage
120
- }, null, 8, ["modules", "moduleName", "subTitle", "toPages", "clickItem"])) : createCommentVNode("", true)
157
+ }, null, 8, ["modules", "activeMenuId", "moduleName", "subTitle", "toPages", "clickItem"])) : createCommentVNode("", true)
121
158
  ], 1024)),
122
159
  createElementVNode("div", _hoisted_3, [
123
160
  _ctx.menu.length > 0 ? (openBlock(), createBlock(_component_epx_router_view, {
@@ -3,7 +3,7 @@ import _sfc_main from "./ManageAppNav.vue.js";
3
3
  /* empty css */
4
4
  /* empty css */
5
5
  import _export_sfc from "../../_virtual/_plugin-vue_export-helper.js";
6
- const ManageAppNav = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-2016b718"]]);
6
+ const ManageAppNav = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-da55cb5e"]]);
7
7
  export {
8
8
  ManageAppNav as default
9
9
  };
@@ -910,7 +910,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
910
910
  }, 8, ["title", "modelValue", "width"])
911
911
  ], 4);
912
912
  }
913
- const ManageMenu = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-3c56dadf"]]);
913
+ const ManageMenu = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-1d8c4e0d"]]);
914
914
  export {
915
915
  ManageMenu as default
916
916
  };
@@ -0,0 +1,253 @@
1
+ import '../../style.css';
2
+ import component from "@epxing/core/src/mixins/component.js";
3
+ import { openBlock, createElementBlock, createElementVNode, withDirectives, Fragment, renderList, toDisplayString, vModelSelect, createTextVNode, normalizeClass, createCommentVNode } from "vue";
4
+ /* empty css */
5
+ import _export_sfc from "../../_virtual/_plugin-vue_export-helper.js";
6
+ const _sfc_main = {
7
+ name: "epx-role-bind-trace",
8
+ mixins: [component],
9
+ data() {
10
+ return {
11
+ filter: { userId: "", systemId: "", sourceType: "" },
12
+ userOptions: [],
13
+ // 用户下拉
14
+ systemOptions: [],
15
+ // 系统下拉
16
+ stats: { total: 0, groupCount: 0, manualCount: 0, deadCount: 0 },
17
+ rows: [],
18
+ // 绑定明细
19
+ toast: { show: false, text: "" },
20
+ toastTimer: null
21
+ };
22
+ },
23
+ created() {
24
+ this.renderTrace();
25
+ },
26
+ methods: {
27
+ msg(text) {
28
+ this.toast = { show: true, text };
29
+ clearTimeout(this.toastTimer);
30
+ this.toastTimer = setTimeout(() => {
31
+ this.toast.show = false;
32
+ }, 6e3);
33
+ },
34
+ renderTrace() {
35
+ this.$http.$request({
36
+ action: "getBindTrace",
37
+ entityId: "FM_ROLE_GROUP",
38
+ userId: this.filter.userId,
39
+ systemId: this.filter.systemId,
40
+ sourceType: this.filter.sourceType
41
+ }).then((data) => {
42
+ this.userOptions = data.users || [];
43
+ this.systemOptions = data.systems || [];
44
+ this.stats = data.stats || { total: 0, groupCount: 0, manualCount: 0, deadCount: 0 };
45
+ this.rows = data.rows || [];
46
+ }).catch((err) => this.msg(err.message || "获取绑定数据失败"));
47
+ },
48
+ resetFilter() {
49
+ this.filter = { userId: "", systemId: "", sourceType: "" };
50
+ this.renderTrace();
51
+ },
52
+ // 跳转角色组管理页(带组 ID 定位)
53
+ gotoGroupManage(groupId) {
54
+ this.$createPage({
55
+ component: "role-group-manage",
56
+ groupId: groupId || ""
57
+ });
58
+ }
59
+ }
60
+ };
61
+ const _hoisted_1 = { class: "rbt-page" };
62
+ const _hoisted_2 = { class: "v9-card" };
63
+ const _hoisted_3 = { class: "v9-filter-bar" };
64
+ const _hoisted_4 = ["value"];
65
+ const _hoisted_5 = ["value"];
66
+ const _hoisted_6 = { class: "v9-figure-grid" };
67
+ const _hoisted_7 = { class: "v9-figure" };
68
+ const _hoisted_8 = { class: "v9-figure__value" };
69
+ const _hoisted_9 = { class: "v9-figure" };
70
+ const _hoisted_10 = { class: "v9-figure__value" };
71
+ const _hoisted_11 = { class: "v9-figure" };
72
+ const _hoisted_12 = { class: "v9-figure__value" };
73
+ const _hoisted_13 = { class: "v9-figure" };
74
+ const _hoisted_14 = { class: "v9-figure__value" };
75
+ const _hoisted_15 = { class: "v9-card" };
76
+ const _hoisted_16 = {
77
+ key: 0,
78
+ class: "v9-empty"
79
+ };
80
+ const _hoisted_17 = {
81
+ key: 1,
82
+ class: "v9-table"
83
+ };
84
+ const _hoisted_18 = { class: "v9-form-item__tip trace-inline-tip" };
85
+ const _hoisted_19 = { class: "v9-tag v9-tag--warning" };
86
+ const _hoisted_20 = {
87
+ key: 0,
88
+ class: "v9-tag v9-tag--info trace-ml4"
89
+ };
90
+ const _hoisted_21 = { class: "v9-tag v9-tag--primary" };
91
+ const _hoisted_22 = {
92
+ key: 0,
93
+ class: "v9-tag v9-tag--info trace-ml4"
94
+ };
95
+ const _hoisted_23 = {
96
+ key: 2,
97
+ class: "v9-tag v9-tag--info"
98
+ };
99
+ const _hoisted_24 = ["onClick"];
100
+ const _hoisted_25 = {
101
+ key: 2,
102
+ class: "v9-btn v9-btn--text trace-no-link"
103
+ };
104
+ const _hoisted_26 = { class: "toast-box" };
105
+ const _hoisted_27 = {
106
+ key: 0,
107
+ class: "v9-message v9-message--error"
108
+ };
109
+ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
110
+ return openBlock(), createElementBlock("div", _hoisted_1, [
111
+ createElementVNode("div", _hoisted_2, [
112
+ _cache[12] || (_cache[12] = createElementVNode("div", { class: "v9-block-title" }, "筛选", -1)),
113
+ createElementVNode("div", _hoisted_3, [
114
+ withDirectives(createElementVNode("select", {
115
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => $data.filter.userId = $event),
116
+ class: "v9-select trace-user-sel",
117
+ onChange: _cache[1] || (_cache[1] = (...args) => $options.renderTrace && $options.renderTrace(...args))
118
+ }, [
119
+ _cache[8] || (_cache[8] = createElementVNode("option", { value: "" }, "全部用户", -1)),
120
+ (openBlock(true), createElementBlock(Fragment, null, renderList($data.userOptions, (u) => {
121
+ return openBlock(), createElementBlock("option", {
122
+ key: u.ID,
123
+ value: u.ID
124
+ }, toDisplayString(u.NAME) + "(" + toDisplayString(u.USER_NO) + " · " + toDisplayString(u.DEPT_NAME) + ")", 9, _hoisted_4);
125
+ }), 128))
126
+ ], 544), [
127
+ [vModelSelect, $data.filter.userId]
128
+ ]),
129
+ withDirectives(createElementVNode("select", {
130
+ "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => $data.filter.systemId = $event),
131
+ class: "v9-select trace-sys-sel",
132
+ onChange: _cache[3] || (_cache[3] = (...args) => $options.renderTrace && $options.renderTrace(...args))
133
+ }, [
134
+ _cache[9] || (_cache[9] = createElementVNode("option", { value: "" }, "全部系统", -1)),
135
+ (openBlock(true), createElementBlock(Fragment, null, renderList($data.systemOptions, (s) => {
136
+ return openBlock(), createElementBlock("option", {
137
+ key: s.ID,
138
+ value: s.ID
139
+ }, toDisplayString(s.NAME), 9, _hoisted_5);
140
+ }), 128))
141
+ ], 544), [
142
+ [vModelSelect, $data.filter.systemId]
143
+ ]),
144
+ withDirectives(createElementVNode("select", {
145
+ "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => $data.filter.sourceType = $event),
146
+ class: "v9-select trace-src-sel",
147
+ onChange: _cache[5] || (_cache[5] = (...args) => $options.renderTrace && $options.renderTrace(...args))
148
+ }, [..._cache[10] || (_cache[10] = [
149
+ createElementVNode("option", { value: "" }, "全部来源", -1),
150
+ createElementVNode("option", { value: "group" }, "组来源", -1),
151
+ createElementVNode("option", { value: "manual" }, "手工来源", -1),
152
+ createElementVNode("option", { value: "dead" }, "死标记", -1)
153
+ ])], 544), [
154
+ [vModelSelect, $data.filter.sourceType]
155
+ ]),
156
+ createElementVNode("button", {
157
+ class: "v9-btn v9-btn--text",
158
+ title: "重置",
159
+ onClick: _cache[6] || (_cache[6] = (...args) => $options.resetFilter && $options.resetFilter(...args))
160
+ }, [..._cache[11] || (_cache[11] = [
161
+ createElementVNode("i", { class: "el-icon-refresh-left" }, null, -1)
162
+ ])])
163
+ ])
164
+ ]),
165
+ createElementVNode("div", _hoisted_6, [
166
+ createElementVNode("div", _hoisted_7, [
167
+ _cache[13] || (_cache[13] = createElementVNode("div", { class: "v9-figure__label" }, "绑定总数", -1)),
168
+ createElementVNode("div", _hoisted_8, toDisplayString($data.stats.total), 1)
169
+ ]),
170
+ createElementVNode("div", _hoisted_9, [
171
+ _cache[14] || (_cache[14] = createElementVNode("div", { class: "v9-figure__label" }, "含组来源", -1)),
172
+ createElementVNode("div", _hoisted_10, toDisplayString($data.stats.groupCount), 1)
173
+ ]),
174
+ createElementVNode("div", _hoisted_11, [
175
+ _cache[15] || (_cache[15] = createElementVNode("div", { class: "v9-figure__label" }, "含手工来源", -1)),
176
+ createElementVNode("div", _hoisted_12, toDisplayString($data.stats.manualCount), 1)
177
+ ]),
178
+ createElementVNode("div", _hoisted_13, [
179
+ _cache[16] || (_cache[16] = createElementVNode("div", { class: "v9-figure__label" }, "死标记", -1)),
180
+ createElementVNode("div", _hoisted_14, toDisplayString($data.stats.deadCount), 1)
181
+ ])
182
+ ]),
183
+ createElementVNode("div", _hoisted_15, [
184
+ _cache[20] || (_cache[20] = createElementVNode("div", { class: "v9-block-title" }, "角色绑定明细", -1)),
185
+ !$data.rows.length ? (openBlock(), createElementBlock("div", _hoisted_16, [..._cache[17] || (_cache[17] = [
186
+ createElementVNode("i", { class: "el-icon-box v9-empty__icon" }, null, -1),
187
+ createElementVNode("div", null, "没有符合条件的绑定", -1)
188
+ ])])) : (openBlock(), createElementBlock("table", _hoisted_17, [
189
+ _cache[19] || (_cache[19] = createElementVNode("thead", null, [
190
+ createElementVNode("tr", null, [
191
+ createElementVNode("th", { style: { "width": "60px" } }, "序号"),
192
+ createElementVNode("th", null, "用户"),
193
+ createElementVNode("th", null, "角色"),
194
+ createElementVNode("th", null, "所属系统"),
195
+ createElementVNode("th", null, "来源"),
196
+ createElementVNode("th", null, "该去哪改")
197
+ ])
198
+ ], -1)),
199
+ createElementVNode("tbody", null, [
200
+ (openBlock(true), createElementBlock(Fragment, null, renderList($data.rows, (b, i) => {
201
+ return openBlock(), createElementBlock("tr", {
202
+ key: b.ID
203
+ }, [
204
+ createElementVNode("td", null, toDisplayString(i + 1), 1),
205
+ createElementVNode("td", null, [
206
+ createTextVNode(toDisplayString(b.USER_NAME) + " ", 1),
207
+ createElementVNode("span", _hoisted_18, toDisplayString(b.DEPT_NAME), 1)
208
+ ]),
209
+ createElementVNode("td", null, toDisplayString(b.ROLE_NAME), 1),
210
+ createElementVNode("td", null, [
211
+ createElementVNode("i", {
212
+ class: normalizeClass([b.systemIcon, "trace-sys-icon"])
213
+ }, null, 2),
214
+ createTextVNode(toDisplayString(b.SYSTEM_NAME), 1)
215
+ ]),
216
+ createElementVNode("td", null, [
217
+ b.dead ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
218
+ createElementVNode("span", _hoisted_19, "来自组 " + toDisplayString(b.GROUP_NAME || "已删除组") + " · 角色已不在该组", 1),
219
+ _cache[18] || (_cache[18] = createElementVNode("div", { class: "src-note" }, "死标记:该角色曾被组授予,后已移出组;可在授权页手工删除该绑定", -1)),
220
+ b.manual ? (openBlock(), createElementBlock("span", _hoisted_20, "另有手工授予")) : createCommentVNode("", true)
221
+ ], 64)) : b.GROUP_NAME ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
222
+ createElementVNode("span", _hoisted_21, "来自组 " + toDisplayString(b.GROUP_NAME), 1),
223
+ b.manual ? (openBlock(), createElementBlock("span", _hoisted_22, "另有手工授予")) : createCommentVNode("", true)
224
+ ], 64)) : b.manual ? (openBlock(), createElementBlock("span", _hoisted_23, "手工授予")) : createCommentVNode("", true)
225
+ ]),
226
+ createElementVNode("td", null, [
227
+ b.GROUP_NAME && !b.dead ? (openBlock(), createElementBlock("button", {
228
+ key: 0,
229
+ class: "v9-btn v9-btn--text",
230
+ onClick: ($event) => $options.gotoGroupManage(b.GROUP)
231
+ }, "角色组管理 → " + toDisplayString(b.GROUP_NAME), 9, _hoisted_24)) : b.dead ? (openBlock(), createElementBlock("button", {
232
+ key: 1,
233
+ class: "v9-btn v9-btn--text",
234
+ onClick: _cache[7] || (_cache[7] = ($event) => $options.gotoGroupManage(""))
235
+ }, "角色组管理(处理死标记)")) : (openBlock(), createElementBlock("span", _hoisted_25, "角色授权(现有功能)"))
236
+ ])
237
+ ]);
238
+ }), 128))
239
+ ])
240
+ ]))
241
+ ]),
242
+ createElementVNode("div", _hoisted_26, [
243
+ $data.toast.show ? (openBlock(), createElementBlock("div", _hoisted_27, [
244
+ _cache[21] || (_cache[21] = createElementVNode("i", { class: "el-icon-error v9-message__icon" }, null, -1)),
245
+ createElementVNode("span", null, toDisplayString($data.toast.text), 1)
246
+ ])) : createCommentVNode("", true)
247
+ ])
248
+ ]);
249
+ }
250
+ const RoleBindTrace = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-d11a69bb"]]);
251
+ export {
252
+ RoleBindTrace as default
253
+ };