aibox-custom-component-packages 0.0.21 → 0.0.22

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 (118) hide show
  1. package/es/AiboxTabs.mjs +71 -0
  2. package/es/ExampleComponent.mjs +35 -0
  3. package/es/SourcePublish.mjs +1 -1
  4. package/es/assets/AiboxTabs.css +1 -0
  5. package/es/assets/BackBar.css +1 -0
  6. package/es/assets/ExampleComponent.css +1 -0
  7. package/es/assets/SourcePublish.css +1 -1
  8. package/es/assets/index.css +1 -0
  9. package/es/assets/index2.css +1 -0
  10. package/es/assets/index3.css +1 -0
  11. package/es/assets/index4.css +1 -0
  12. package/es/chunks/AiboxTable.CF4T_OCu.js +645 -0
  13. package/es/chunks/BackBar.Bc2NIuzk.js +645 -0
  14. package/es/chunks/{SourcePublish.BjY8OTLS.js → SourcePublish.CjzqOFwj.js} +23 -10
  15. package/es/chunks/_plugin-vue_export-helper.CHgC5LLL.js +9 -0
  16. package/es/chunks/config.8htFF04x.js +325 -0
  17. package/es/chunks/config.BU21Gda2.js +49 -0
  18. package/es/chunks/config.DPkdwjwD.js +49 -0
  19. package/es/chunks/config.gNZ_rT87.js +325 -0
  20. package/es/chunks/enums.CfSBDD6u.js +83 -0
  21. package/es/chunks/enums.WrpwbF4w.js +14 -0
  22. package/es/chunks/field-types.CPnMOjle.js +13 -0
  23. package/es/chunks/files.cduUqjHX.js +16 -0
  24. package/es/chunks/i18n.DmqkiK-h.js +444 -0
  25. package/es/chunks/i18n.k9Q_HVMs.js +443 -0
  26. package/es/chunks/index.BDd6hHiU.js +172 -0
  27. package/es/chunks/index.CF_YHLP5.js +257 -0
  28. package/es/chunks/index.DM3o2YX3.js +398 -0
  29. package/es/chunks/index.Dx-mCS4E.js +1298 -0
  30. package/es/chunks/index.bCzIhWFw.js +7 -0
  31. package/es/chunks/index.ml5i7aB5.js +257 -0
  32. package/es/chunks/layout.CygCXa6s.js +26 -0
  33. package/es/chunks/publish.D6friivo.js +50 -0
  34. package/es/chunks/publish.DlD0o09n.js +50 -0
  35. package/es/chunks/request.24c3shPx.js +5 -0
  36. package/es/chunks/usePreview.BHvXwaNi.js +157 -0
  37. package/es/index.mjs +1 -1
  38. package/lib/AiboxTabs.js +1 -0
  39. package/lib/ExampleComponent.js +1 -0
  40. package/lib/SourcePublish.js +1 -1
  41. package/lib/assets/AiboxTabs.css +1 -0
  42. package/lib/assets/BackBar.css +1 -0
  43. package/lib/assets/ExampleComponent.css +1 -0
  44. package/lib/assets/SourcePublish.css +1 -1
  45. package/lib/assets/index.css +1 -0
  46. package/lib/assets/index2.css +1 -0
  47. package/lib/assets/index3.css +1 -0
  48. package/lib/assets/index4.css +1 -0
  49. package/lib/chunks/AiboxTable.CJOPGJtU.js +1 -0
  50. package/lib/chunks/BackBar.CZsNxoX1.js +1 -0
  51. package/lib/chunks/SourcePublish.eOSEULjP.js +1 -0
  52. package/lib/chunks/_plugin-vue_export-helper.BHFhmbuH.js +1 -0
  53. package/lib/chunks/config.1oaIKLGn.js +1 -0
  54. package/lib/chunks/config.B0XKkp1w.js +1 -0
  55. package/lib/chunks/config.BCAuBVxV.js +1 -0
  56. package/lib/chunks/config.BF7MO0O5.js +1 -0
  57. package/lib/chunks/enums.Dmq4PdUc.js +1 -0
  58. package/lib/chunks/enums.DpU2er5r.js +1 -0
  59. package/lib/chunks/field-types.Ch_2yDfg.js +1 -0
  60. package/lib/chunks/files.B3-8UC0v.js +1 -0
  61. package/lib/chunks/i18n.CL5L6nx6.js +1 -0
  62. package/lib/chunks/i18n.DgOp_D7R.js +1 -0
  63. package/lib/chunks/index.4hFddClT.js +6 -0
  64. package/lib/chunks/index.BNivYbtq.js +1 -0
  65. package/lib/chunks/index.B_keI1Aq.js +1 -0
  66. package/lib/chunks/index.Bk-RwmaH.js +1 -0
  67. package/lib/chunks/index.CJFk1R2u.js +59 -0
  68. package/lib/chunks/index.CkihWzK6.js +1 -0
  69. package/lib/chunks/layout.DbBSbLgm.js +1 -0
  70. package/lib/chunks/publish.3TrK3fZf.js +1 -0
  71. package/lib/chunks/publish.Bw1acrSu.js +1 -0
  72. package/lib/chunks/request.D8T4MgGX.js +1 -0
  73. package/lib/chunks/usePreview.BojIDW7Z.js +1 -0
  74. package/lib/index.js +1 -1
  75. package/package.json +3 -3
  76. package/es/chunks/AddOrEditSupplierDialog.BCiXcUBu.js +0 -721
  77. package/es/chunks/AiboxTable.B_Yli5E8.js +0 -635
  78. package/es/chunks/ApplicationTypeTag.BbJwXyVa.js +0 -47
  79. package/es/chunks/AuthSection.CLi8HcIx.js +0 -201
  80. package/es/chunks/AvailableRangePreview.BgeL_bMq.js +0 -194
  81. package/es/chunks/AvailableRangeSetting.CGJxgfPT.js +0 -229
  82. package/es/chunks/CodeView.CWbewuHs.js +0 -148
  83. package/es/chunks/CommonTagsList.CJdBie2N.js +0 -156
  84. package/es/chunks/CreateMcpForm.C0HqvD-g.js +0 -308
  85. package/es/chunks/DocSyncSelect.DlJXL1lq.js +0 -2290
  86. package/es/chunks/FileUploader.BSIhrd9M.js +0 -216
  87. package/es/chunks/McpFormDialog.CDH31D2Q.js +0 -297
  88. package/es/chunks/McpParamsSet.Bx3aRL9j.js +0 -501
  89. package/es/chunks/MdEditor.Bb9S_hso.js +0 -163
  90. package/es/chunks/ParameterTable.CoRz_932.js +0 -2010
  91. package/es/chunks/PublishRecord.C8h1tu3w.js +0 -133
  92. package/es/chunks/SourcePublish.CebmryAz.js +0 -966
  93. package/es/chunks/SourcePublish.Dk7O9GzI.js +0 -968
  94. package/es/chunks/config.CIQoQGOb.js +0 -35
  95. package/es/chunks/config.lm2B-n0s.js +0 -270
  96. package/es/chunks/i18n.CIhVBbR3.js +0 -418
  97. package/lib/chunks/AddOrEditSupplierDialog.XtPxc5yr.js +0 -1
  98. package/lib/chunks/AiboxTable.DFyqwoGc.js +0 -1
  99. package/lib/chunks/ApplicationTypeTag.CZReMt-9.js +0 -1
  100. package/lib/chunks/AuthSection.CP9c-YTW.js +0 -1
  101. package/lib/chunks/AvailableRangePreview.DvREyHNH.js +0 -1
  102. package/lib/chunks/AvailableRangeSetting.DDHTOLJA.js +0 -1
  103. package/lib/chunks/CodeView.DeBxLqyC.js +0 -1
  104. package/lib/chunks/CommonTagsList.QEP4G-Em.js +0 -1
  105. package/lib/chunks/CreateMcpForm.B2o0Ghjg.js +0 -1
  106. package/lib/chunks/DocSyncSelect.1gaXRzps.js +0 -2
  107. package/lib/chunks/FileUploader.6IW_QL-h.js +0 -1
  108. package/lib/chunks/McpFormDialog.FwXnBBd2.js +0 -6
  109. package/lib/chunks/McpParamsSet.BYrxVvDL.js +0 -1
  110. package/lib/chunks/MdEditor.Cp24y4DJ.js +0 -1
  111. package/lib/chunks/ParameterTable.CeufAEXh.js +0 -1
  112. package/lib/chunks/PublishRecord.BVndvj7F.js +0 -5
  113. package/lib/chunks/SourcePublish.Bz8MaRPm.js +0 -1
  114. package/lib/chunks/SourcePublish.I7ORXPok.js +0 -1
  115. package/lib/chunks/SourcePublish.OeB6i-Iu.js +0 -1
  116. package/lib/chunks/config.B9Di8LtU.js +0 -1
  117. package/lib/chunks/config.CZl1kYtI.js +0 -1
  118. package/lib/chunks/i18n.BGe5gOau.js +0 -1
@@ -0,0 +1,257 @@
1
+ import { w as _ } from "./index.bCzIhWFw.js";
2
+ import { computed as p, createElementBlock as y, createCommentVNode as h, openBlock as m, Fragment as N, createElementVNode as M, toDisplayString as E, normalizeClass as w, createBlock as D, renderList as k, unref as i, withCtx as A, ref as P, watch as O, onMounted as L, createVNode as z, createTextVNode as U, nextTick as F } from "vue";
3
+ import { ElPopover as $, ElButton as G } from "element-plus";
4
+ import { D as g, M as c, R as B, r as Y } from "./config.DPkdwjwD.js";
5
+ import { _ as q } from "./_plugin-vue_export-helper.CHgC5LLL.js";
6
+ import { u as H } from "./i18n.k9Q_HVMs.js";
7
+ import '../assets/index3.css';const W = {
8
+ key: 0,
9
+ class: "pd-l-16 text-dee0e3 pd-r-16"
10
+ }, X = { class: "fz-14 text-646a73 nowrap" }, j = { class: "tag-item nowrap fz-12 pd-l-8 pd-r-8 radius-4 bg-eaf0fe text-3271fe pointer" }, J = { class: "tag-list-popover overflow-y-auto flex gap-4 flex-wrap" }, K = {
11
+ __name: "TagList",
12
+ props: {
13
+ // 显示的标签
14
+ label: {
15
+ type: String,
16
+ required: !0
17
+ },
18
+ // 数据项列表
19
+ items: {
20
+ type: Array,
21
+ default: () => []
22
+ },
23
+ // 是否为只读模式
24
+ readonly: {
25
+ type: Boolean,
26
+ default: !1
27
+ }
28
+ },
29
+ setup(e) {
30
+ const t = e, l = p(() => t.readonly ? t.items : t.items.slice(0, g.one)), d = p(() => t.items.length > g.one), T = p(() => t.items.length - g.one), u = p(() => t.items.slice(g.one));
31
+ return (n, s) => e.items.length > 0 ? (m(), y(N, { key: 0 }, [
32
+ e.readonly ? h("", !0) : (m(), y("span", W, "|")),
33
+ M("span", X, E(e.label), 1),
34
+ M("div", {
35
+ class: w(["tag-list", { "flex items-center gap-4": !e.readonly }])
36
+ }, [
37
+ (m(!0), y(N, null, k(l.value, (a) => (m(), y("div", {
38
+ key: a.memberId,
39
+ class: w(["tag-item fz-12 pd-l-8 pd-r-8 radius-4 bg-eaf0fe text-3271fe nowrap", { "mg-r-4 mg-b-4": e.readonly }])
40
+ }, E(a.memberName), 3))), 128)),
41
+ !e.readonly && d.value ? (m(), D(i($), {
42
+ key: 0,
43
+ placement: "top",
44
+ trigger: "click",
45
+ width: "300",
46
+ "popper-class": "tag-list-popover-wrapper"
47
+ }, {
48
+ reference: A(() => [
49
+ M("span", j, " +" + E(T.value), 1)
50
+ ]),
51
+ default: A(() => [
52
+ M("div", J, [
53
+ (m(!0), y(N, null, k(u.value, (a) => (m(), y("span", {
54
+ key: a.memberId,
55
+ class: "tag-item nowrap fz-12 pd-l-8 pd-r-8 radius-4 bg-eaf0fe text-3271fe"
56
+ }, E(a.memberName), 1))), 128))
57
+ ])
58
+ ]),
59
+ _: 1
60
+ })) : h("", !0)
61
+ ], 2)
62
+ ], 64)) : h("", !0);
63
+ }
64
+ }, R = /* @__PURE__ */ q(K, [["__scopeId", "data-v-a2c44011"]]), V = (e, t) => e?.filter(t) || [], I = (e, t) => V(e, (l) => l.memberType === t), x = (e, t) => {
65
+ if (e.children)
66
+ for (const l of e.children)
67
+ l.memberType === c.MEMBER ? t(l) : l.memberType === c.DEPARTMENT && x(l, t);
68
+ }, S = (e) => {
69
+ const t = [];
70
+ return x(e, (l) => t.push(l.memberId)), t;
71
+ };
72
+ function Q(e, t, l = !1) {
73
+ const d = p(() => {
74
+ if (!e.value) return [];
75
+ const n = [...e.value], s = I(
76
+ n,
77
+ c.DEPARTMENT
78
+ );
79
+ if (s.length > 0 && t.value && t.value.length > 0) {
80
+ const a = /* @__PURE__ */ new Set();
81
+ s.forEach((o) => {
82
+ const f = (b) => {
83
+ for (const v of b) {
84
+ if (v.memberType === c.DEPARTMENT && v.memberId === o.memberId)
85
+ return x(
86
+ v,
87
+ (C) => a.add(C)
88
+ ), !0;
89
+ if (v.children && f(v.children))
90
+ return !0;
91
+ }
92
+ return !1;
93
+ };
94
+ f(t.value);
95
+ });
96
+ const r = new Set(
97
+ I(n, c.MEMBER).map(
98
+ (o) => o.memberId
99
+ )
100
+ );
101
+ a.forEach((o) => {
102
+ r.has(o.memberId) || n.push(o);
103
+ });
104
+ }
105
+ return n;
106
+ }), T = p(() => {
107
+ if (l)
108
+ return I(
109
+ d.value,
110
+ c.MEMBER
111
+ );
112
+ {
113
+ const n = /* @__PURE__ */ new Set();
114
+ return u.value.forEach((s) => {
115
+ S(s).forEach((r) => n.add(r));
116
+ }), V(
117
+ d.value,
118
+ (s) => s.memberType === c.MEMBER && !n.has(s.memberId)
119
+ );
120
+ }
121
+ }), u = p(() => {
122
+ if (l)
123
+ return I(
124
+ d.value,
125
+ c.DEPARTMENT
126
+ );
127
+ {
128
+ const n = [], s = (r) => {
129
+ if (!r.children || r.children.length === 0) return !1;
130
+ const o = S(r);
131
+ return o.length === 0 ? !1 : o.every(
132
+ (f) => d.value.some(
133
+ (b) => b.memberType === c.MEMBER && b.memberId === f
134
+ )
135
+ );
136
+ }, a = (r, o = !1) => {
137
+ if (r.memberType === c.DEPARTMENT) {
138
+ const f = s(r);
139
+ if (f && !o) {
140
+ if (n.push({
141
+ memberId: r.memberId,
142
+ memberName: r.memberName,
143
+ memberType: c.DEPARTMENT,
144
+ bnid: r.bnid,
145
+ children: r.children
146
+ }), r.children)
147
+ for (const b of r.children)
148
+ a(b, !0);
149
+ } else if (!f && r.children)
150
+ for (const b of r.children)
151
+ a(b, !1);
152
+ }
153
+ };
154
+ for (const r of t.value)
155
+ a(r, !1);
156
+ return n;
157
+ }
158
+ });
159
+ return {
160
+ selectedMembers: T,
161
+ selectedDepartments: u
162
+ };
163
+ }
164
+ const Z = { class: "text-1f2329" }, ee = { class: "fz-14 text-1f2329" }, te = {
165
+ __name: "layout",
166
+ props: {
167
+ // 当前选择的范围类型(是否全部可见)
168
+ allVisible: {
169
+ type: Boolean,
170
+ default: B.ALL
171
+ },
172
+ // 选中的项目列表(完整对象数组,由父组件根据ID从树中查找得到)
173
+ modelValue: {
174
+ type: Array,
175
+ default: () => []
176
+ },
177
+ // 完整的树形数据(用于判断部门成员是否全部选中)
178
+ treeList: {
179
+ type: Array,
180
+ default: () => []
181
+ },
182
+ // 是否为只读模式
183
+ readonly: {
184
+ type: Boolean,
185
+ default: !1
186
+ }
187
+ },
188
+ setup(e, { expose: t }) {
189
+ const { t: l } = H(), d = P(null), T = () => {
190
+ d.value && F(() => {
191
+ d.value.scrollIntoView({
192
+ behavior: "smooth",
193
+ block: "center"
194
+ });
195
+ });
196
+ }, u = e, { selectedMembers: n, selectedDepartments: s } = Q(
197
+ p(() => u.modelValue),
198
+ p(() => u.treeList),
199
+ u.readonly
200
+ ), a = p(() => [...n.value, ...s.value]);
201
+ return O(
202
+ () => [u.allVisible, u.modelValue],
203
+ () => {
204
+ T();
205
+ },
206
+ { immediate: !1, deep: !0 }
207
+ ), L(() => {
208
+ T();
209
+ }), t({
210
+ allSelectedItems: a
211
+ }), (r, o) => (m(), y("div", {
212
+ ref_key: "previewRef",
213
+ ref: d,
214
+ class: w(["available-range-preview w-full overflow-hidden", {
215
+ "flex items-center": !e.readonly
216
+ }])
217
+ }, [
218
+ e.readonly ? h("", !0) : (m(), y(N, { key: 0 }, [
219
+ M("div", Z, E(i(l)("COMMON_DICT.ENUMS.AVAILABLE_RANGE")) + ": ", 1),
220
+ M("span", ee, E(i(Y).find((f) => f.value === e.allVisible)?.label), 1),
221
+ z(i(G), {
222
+ class: "mg-l-16",
223
+ type: "primary",
224
+ link: "",
225
+ onClick: o[0] || (o[0] = (f) => r.$emit("edit"))
226
+ }, {
227
+ default: A(() => [
228
+ U(E(i(l)("COMMON_BUTTON.EDIT_TEXT")), 1)
229
+ ]),
230
+ _: 1
231
+ })
232
+ ], 64)),
233
+ e.allVisible === i(B).PARTIAL ? (m(), y("div", {
234
+ key: 1,
235
+ class: w(["flex-1 overflow-hidden", { "flex items-center": !e.readonly }])
236
+ }, [
237
+ i(n)?.length ? (m(), D(R, {
238
+ key: 0,
239
+ label: i(l)("COMMON_DICT.ENUMS.MEMBER") + ":",
240
+ items: i(n),
241
+ readonly: e.readonly
242
+ }, null, 8, ["label", "items", "readonly"])) : h("", !0),
243
+ i(s)?.length ? (m(), D(R, {
244
+ key: 1,
245
+ label: i(l)("COMMON_DICT.ENUMS.DEPARTMENT") + ":",
246
+ items: i(s),
247
+ readonly: e.readonly
248
+ }, null, 8, ["label", "items", "readonly"])) : h("", !0)
249
+ ], 2)) : h("", !0)
250
+ ], 2));
251
+ }
252
+ }, ie = _(te), me = _(R);
253
+ export {
254
+ ie as A,
255
+ me as T,
256
+ Q as u
257
+ };
@@ -0,0 +1,398 @@
1
+ import { w as Y } from "./index.bCzIhWFw.js";
2
+ import { ref as h, h as R, createBlock as Q, openBlock as j, unref as N, normalizeClass as k, withCtx as S, createVNode as x, createElementVNode as H, createTextVNode as V, toDisplayString as X, nextTick as J } from "vue";
3
+ import { ElMessageBox as G, ElMessage as O, ElSelect as K, ElOption as W, ElButton as z } from "element-plus";
4
+ import { useDialog as Z, DialogContainer as ee } from "../DialogContainer.mjs";
5
+ import { CreateMcpForm as te } from "../CreateMcpForm.mjs";
6
+ import { u as b } from "./i18n.k9Q_HVMs.js";
7
+ import { useRouter as re } from "vue-router";
8
+ import { g as oe } from "./request.24c3shPx.js";
9
+ import { _ as se } from "./_plugin-vue_export-helper.CHgC5LLL.js";
10
+ import '../assets/index4.css';const q = () => {
11
+ const { $request: r, $env: c } = oe();
12
+ return {
13
+ createMcp: (e) => r({
14
+ url: `${c.VITE_APP_AIBOX_BASE_URL}/api/v1/mcp/customize`,
15
+ method: "post",
16
+ data: e
17
+ }),
18
+ getMcpDetail: (e) => r({
19
+ url: `${c.VITE_APP_AIBOX_BASE_URL}/api/v1/mcp/customize/${e}`,
20
+ method: "get"
21
+ }),
22
+ updateMcp: (e, m) => r({
23
+ url: `${c.VITE_APP_AIBOX_BASE_URL}/api/v1/mcp/customize/${e}`,
24
+ method: "put",
25
+ data: m
26
+ }),
27
+ deleteMcp: (e) => r({
28
+ url: `${c.VITE_APP_AIBOX_BASE_URL}/api/v1/mcp/customize/${e}`,
29
+ method: "delete"
30
+ }),
31
+ createMcpAdmin: (e) => r({
32
+ url: `${c.VITE_APP_AIBOX_BASE_URL}/api/v1/mcp/admin`,
33
+ method: "post",
34
+ data: e
35
+ }),
36
+ updateMcpAdmin: (e, m) => r({
37
+ url: `${c.VITE_APP_AIBOX_BASE_URL}/api/v1/mcp/admin/${e}`,
38
+ method: "post",
39
+ data: m
40
+ }),
41
+ deleteMcpAdmin: (e) => r({
42
+ url: `${c.VITE_APP_AIBOX_BASE_URL}/api/v1/mcp/admin/${e}`,
43
+ method: "delete"
44
+ }),
45
+ getMcpDetailAdmin: (e) => r({
46
+ url: `${c.VITE_APP_AIBOX_BASE_URL}/api/v1/mcp/admin/${e}`,
47
+ method: "get"
48
+ })
49
+ };
50
+ }, P = (r) => {
51
+ switch (r) {
52
+ case "success":
53
+ return "el-button--success";
54
+ case "warning":
55
+ return "el-button--warning";
56
+ case "danger":
57
+ return "el-button--danger";
58
+ case "info":
59
+ return "el-button--info";
60
+ case "default":
61
+ return "";
62
+ // 使用默认按钮样式
63
+ case "primary":
64
+ default:
65
+ return "el-button--primary";
66
+ }
67
+ }, ae = () => {
68
+ const { t: r } = b();
69
+ return {
70
+ customMessageBox: ({
71
+ title: T,
72
+ text: u,
73
+ tip: a = "",
74
+ type: p = "warning",
75
+ dangerouslyUseHTMLString: M = !1,
76
+ cancelButtonText: s = r("COMMON_BUTTON.CANCEL_TEXT"),
77
+ confirmButtonText: f = r("COMMON_BUTTON.CONFIRM_TEXT"),
78
+ confirmButtonType: n = "primary",
79
+ cancelButtonType: e = "default"
80
+ }) => G.confirm(
81
+ M ? `<div class="custom-message-box">
82
+ <div class="custom-message-box__title" v-if="text">${u}</div>
83
+ <div class="custom-message-box__tip" v-if="tip">${a}</div>
84
+ </div>` : u,
85
+ T,
86
+ {
87
+ dangerouslyUseHTMLString: M,
88
+ type: p,
89
+ cancelButtonText: s,
90
+ confirmButtonText: f,
91
+ confirmButtonClass: P(n),
92
+ cancelButtonClass: P(e)
93
+ }
94
+ ),
95
+ customPromptMessageBox: ne
96
+ };
97
+ };
98
+ function ne({
99
+ confirmButtonText: r,
100
+ cancelButtonText: c,
101
+ confirmButtonType: T = "primary",
102
+ cancelButtonType: u = "default",
103
+ confirmCallback: a,
104
+ cancelCallback: p,
105
+ inputValidatorCallback: M,
106
+ label: s,
107
+ showLabel: f = !1,
108
+ text: n,
109
+ defaultValue: e = "",
110
+ selectOptions: m,
111
+ multiple: g = !1,
112
+ filterable: y = !0,
113
+ maxLength: C
114
+ }) {
115
+ if (Array.isArray(m) && m.length) {
116
+ const o = h(
117
+ g ? Array.isArray(e) ? e : [] : e
118
+ ), _ = R({
119
+ name: "MessageBoxSelect",
120
+ setup() {
121
+ return () => R("div", { style: "padding: 6px 0; width: 100%" }, [
122
+ f ? R(
123
+ "div",
124
+ {
125
+ style: "margin-bottom: 8px; font-size: 14px; color: #262626;"
126
+ },
127
+ s || ""
128
+ ) : null,
129
+ R(
130
+ K,
131
+ {
132
+ modelValue: o.value,
133
+ "onUpdate:modelValue": (l) => o.value = l,
134
+ multiple: g,
135
+ filterable: y,
136
+ placeholder: `${t("COMMON_DATA.PLACEHOLDER_SELECT")}${s || ""}`,
137
+ teleported: !0,
138
+ style: "width: 370px"
139
+ // Select 宽度 100%
140
+ },
141
+ () => m.map(
142
+ (l) => R(W, {
143
+ key: l?.value,
144
+ // 补 key
145
+ label: l?.label || "",
146
+ value: l?.value
147
+ })
148
+ )
149
+ )
150
+ ]);
151
+ }
152
+ });
153
+ G({
154
+ title: n || "",
155
+ message: _,
156
+ showCancelButton: !0,
157
+ confirmButtonText: r || t("COMMON_BUTTON.CONFIRM_TEXT"),
158
+ cancelButtonText: c || t("COMMON_BUTTON.CANCEL_TEXT"),
159
+ confirmButtonClass: P(T),
160
+ cancelButtonClass: P(u),
161
+ draggable: !0,
162
+ closeOnClickModal: !1,
163
+ beforeClose: (l, I, $) => {
164
+ if (l === "confirm") {
165
+ if (M) {
166
+ const d = M(o.value);
167
+ if (d !== !0) {
168
+ const E = typeof d == "string" ? d : `${t("COMMON_DATA.PLACEHOLDER_SELECT")}${s || ""}`;
169
+ O.error && O.error(E);
170
+ return;
171
+ }
172
+ } else if (g && (!Array.isArray(o.value) || o.value.length === 0) || !g && (o.value === "" || o.value === void 0 || o.value === null)) {
173
+ O.error && O.error(
174
+ `${t("COMMON_DATA.PLACEHOLDER_SELECT")}${s || ""}`
175
+ );
176
+ return;
177
+ }
178
+ const L = () => {
179
+ I.confirmButtonLoading = !0, I.confirmButtonText = t("COMMON_DATA.LOADING_SUFFIX");
180
+ }, F = () => {
181
+ I.confirmButtonLoading = !1, I.confirmButtonText = r || t("COMMON_BUTTON.CONFIRM_TEXT");
182
+ };
183
+ a(o.value, $, L, F);
184
+ } else
185
+ $();
186
+ }
187
+ }).catch(() => {
188
+ p && p();
189
+ });
190
+ return;
191
+ }
192
+ const B = {
193
+ confirmButtonText: r || t("COMMON_BUTTON.CONFIRM_TEXT"),
194
+ cancelButtonText: c || t("COMMON_BUTTON.CANCEL_TEXT"),
195
+ confirmButtonClass: P(T),
196
+ cancelButtonClass: P(u),
197
+ draggable: !0,
198
+ inputPlaceholder: `${t("COMMON_DATA.PLACEHOLDER_INPUT")}${s}`,
199
+ inputValue: e,
200
+ closeOnClickModal: !1,
201
+ inputValidator: (o) => !o || !o.trim() ? `${t("COMMON_DATA.PLACEHOLDER_INPUT")}${s}` : C && o.length > C ? t("COMMON_DATA.PLACEHOLDER_INPUT_MAXLENGTH") : M ? M(o) : !0,
202
+ beforeClose: (o, i, _) => {
203
+ if (o === "confirm") {
204
+ const l = () => {
205
+ i.confirmButtonLoading = !0, i.confirmButtonText = t("COMMON_DATA.LOADING_SUFFIX");
206
+ }, I = () => {
207
+ i.confirmButtonLoading = !1, i.confirmButtonText = r || t("COMMON_BUTTON.CONFIRM_TEXT");
208
+ };
209
+ a(i.inputValue, _, l, I);
210
+ } else
211
+ _();
212
+ }
213
+ };
214
+ C && (B.inputAttrs = { maxlength: C }), G.prompt(f ? s : "", n || "", B).catch(
215
+ () => {
216
+ p && p();
217
+ }
218
+ );
219
+ }
220
+ const A = {
221
+ agent: "agent",
222
+ admin: "admin"
223
+ }, Te = (r = A.agent) => {
224
+ const { deleteMcp: c, deleteMcpAdmin: T } = q(), { customMessageBox: u } = ae(), { t: a } = b(), p = {
225
+ [A.agent]: c,
226
+ [A.admin]: T
227
+ };
228
+ return {
229
+ deleteMcpHandler: async ({ row: s, refreshCallback: f }) => {
230
+ if (!s.bnid) {
231
+ O.warning(
232
+ a("MCPLIST.MCPLIST_CHANNEL_NAME_EXCEPTION_DELETE") || "该MCP数据异常,无法删除"
233
+ );
234
+ return;
235
+ }
236
+ if (s.publishChannels && s.publishChannels.some((n) => n.channelType === 10)) {
237
+ u({
238
+ title: a("MESSAGE_REMIND.OPERATION_REMIND"),
239
+ text: `${a("COMMON_TAG.MCP")} <span style="color:var(--el-color-primary)"> ${s.name}</span> ${a("MCPLIST.MCPLIST_CHANNEL_NAME_EXCEPTION_DELETE_INFO")}`,
240
+ dangerouslyUseHTMLString: !0
241
+ });
242
+ return;
243
+ }
244
+ u({
245
+ title: a("MESSAGE_REMIND.CONFIRM_DELETE"),
246
+ text: `${a("MESSAGE_REMIND.HISTORY_IMPORT_PREFIX")} ${a("COMMON_TAG.MCP")} <span style="color:var(--el-color-primary)"> ${s.name}</span>${a("MESSAGE_REMIND.HISTORY_IMPORT_SUFFIX")} <span style="color: red"
247
+ >${a("MESSAGE_REMIND.CAREFUL_IMPORT_TIP")}</span
248
+ > `,
249
+ dangerouslyUseHTMLString: !0
250
+ }).then(async () => {
251
+ const n = p[r];
252
+ (await n(s.bnid)).code === 0 && (O.success(a("MESSAGE_REMIND.DELETE_SUCCESS")), f?.());
253
+ });
254
+ }
255
+ };
256
+ }, ce = {
257
+ class: /* @__PURE__ */ k("custom-mcp-dialog__footer")
258
+ }, ie = {
259
+ __name: "McpFormDialog",
260
+ props: {
261
+ // 区分平台:'agent' i聚智平台, 'admin' 管理后台
262
+ platform: {
263
+ type: String,
264
+ default: A.agent
265
+ },
266
+ // 控制是否显示 MCP 概览字段
267
+ showOverview: {
268
+ type: Boolean,
269
+ default: !1
270
+ },
271
+ width: {
272
+ type: String,
273
+ default: "520px"
274
+ }
275
+ },
276
+ emits: ["refresh"],
277
+ setup(r, { expose: c, emit: T }) {
278
+ const {
279
+ getMcpDetail: u,
280
+ updateMcp: a,
281
+ createMcp: p,
282
+ createMcpAdmin: M,
283
+ updateMcpAdmin: s,
284
+ getMcpDetailAdmin: f
285
+ } = q(), { t: n } = b(), { dialogRef: e, showDialog: m, hideDialog: g } = Z(), y = T, C = r, B = re(), o = h(!1), i = h(null), _ = h(null), l = h(!1), I = () => {
286
+ o.value = !1, _.value = null, m();
287
+ }, $ = async (d) => {
288
+ o.value = !0, _.value = d.bnid, m();
289
+ try {
290
+ const U = {
291
+ [A.agent]: u,
292
+ [A.admin]: f
293
+ }[C.platform], v = await U(d.bnid);
294
+ v.code === 0 && v.data ? (await J(), i.value && i.value.setFormData(v.data)) : g();
295
+ } catch (E) {
296
+ console.error("获取MCP详情失败:", E), g();
297
+ }
298
+ }, L = () => {
299
+ g(), _.value = null;
300
+ }, F = async () => {
301
+ if (l.value = !0, !i.value) {
302
+ console.error("表单引用不存在");
303
+ return;
304
+ }
305
+ try {
306
+ if (await i.value.validate()) {
307
+ const E = i.value.getFormData();
308
+ if (o.value) {
309
+ if (!_.value) {
310
+ O.error(
311
+ n("MCPFORMDIALOG.MCP_ID_REQUIRED") || "缺少MCP ID,无法更新"
312
+ );
313
+ return;
314
+ }
315
+ const v = {
316
+ [A.agent]: a,
317
+ [A.admin]: s
318
+ }[C.platform], D = await v(_.value, E);
319
+ D.code === 0 ? (O.success(n("MCPFORMDIALOG.UPDATE_SUCCESS") || "更新MCP成功"), L(), y("refresh")) : D.code === -1 && O.error(D.msg || n("MCPFORMDIALOG.UPDATE_FAIL"));
320
+ } else {
321
+ const v = {
322
+ [A.agent]: p,
323
+ [A.admin]: M
324
+ }[C.platform], D = await v(E);
325
+ if (D.code === 0) {
326
+ const w = D.data;
327
+ O.success(n("MCPFORMDIALOG.CREATE_SUCCESS") || "创建MCP成功"), L(), y("refresh"), w ? C.showOverview ? B.push({
328
+ name: "mcp-detail",
329
+ query: {
330
+ bnid: w
331
+ }
332
+ }) : B.push({
333
+ name: "MCPTool",
334
+ params: {
335
+ bnId: w
336
+ }
337
+ }) : console.warn("创建MCP成功,但未返回bnid,无法跳转");
338
+ } else
339
+ console.error("创建MCP失败,返回数据异常:", D);
340
+ }
341
+ }
342
+ } catch (d) {
343
+ console.error("表单提交错误:", d);
344
+ } finally {
345
+ l.value = !1;
346
+ }
347
+ };
348
+ return c({ showCreateDialog: I, showEditDialog: $ }), (d, E) => (j(), Q(N(ee), {
349
+ class: k("custom-mcp-dialog"),
350
+ width: r.width,
351
+ ref_key: "dialogRef",
352
+ ref: e
353
+ }, {
354
+ title: S(() => [
355
+ H("div", null, X(o.value ? N(n)("MCPFORMDIALOG.TITLE") : N(n)("MCPFORMDIALOG.TITLE_ADD")), 1)
356
+ ]),
357
+ footer: S(() => [
358
+ H("div", ce, [
359
+ x(N(z), {
360
+ onClick: L,
361
+ plain: ""
362
+ }, {
363
+ default: S(() => [
364
+ V(X(N(n)("COMMON_BUTTON.CANCEL_TEXT")), 1)
365
+ ]),
366
+ _: 1
367
+ }),
368
+ x(N(z), {
369
+ color: "var(--el-color-primary)",
370
+ type: "primary",
371
+ onClick: E[0] || (E[0] = (U) => F()),
372
+ loading: l.value
373
+ }, {
374
+ default: S(() => [
375
+ V(X(N(n)("COMMON_BUTTON.CONFIRM_TEXT")), 1)
376
+ ]),
377
+ _: 1
378
+ }, 8, ["loading"])
379
+ ])
380
+ ]),
381
+ default: S(() => [
382
+ x(N(te), {
383
+ ref_key: "createFormRef",
384
+ ref: i,
385
+ showOverview: r.showOverview
386
+ }, null, 8, ["showOverview"])
387
+ ]),
388
+ _: 1
389
+ }, 8, ["width"]));
390
+ }
391
+ }, le = /* @__PURE__ */ se(ie, [["__scopeId", "data-v-6b9e88b2"]]), fe = Y(le);
392
+ export {
393
+ fe as M,
394
+ ne as a,
395
+ Te as c,
396
+ A as p,
397
+ ae as u
398
+ };