gs-eant-comp 3.3.1 → 3.3.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.
- package/dist/AiCenter-CR8VBlqt.js +298 -0
- package/dist/{CommonNotificationCenter-r_IwwpQl.js → CommonNotificationCenter-Xg7y0MQZ.js} +1 -1
- package/dist/{CommonOrderCenter-D1ZreMGY.js → CommonOrderCenter-CcSzul3Y.js} +1 -1
- package/dist/ContainerManager-DXusTCU2.js +536 -0
- package/dist/{MobileActivityFeed-2gjV0ke2.js → MobileActivityFeed-CQTwT1bM.js} +1 -1
- package/dist/{MobileBanner-CxZ2jR0b.js → MobileBanner-Dnhhe6Zs.js} +1 -1
- package/dist/{MobileHomeConfig-Cl0Q8T46.js → MobileHomeConfig-Rrtbh5Id.js} +2 -2
- package/dist/{MobileNoticeList-sqdXC7CC.js → MobileNoticeList-C0uxZRc7.js} +1 -1
- package/dist/{MobileQuickActions-Dg6wzSAQ.js → MobileQuickActions-CgIh12cL.js} +1 -1
- package/dist/{MobileQuickMenu-DDyshzKm.js → MobileQuickMenu-iC8tpeyp.js} +1 -1
- package/dist/{MobileShoppingCart-L50vZizN.js → MobileShoppingCart-BJvUv8zU.js} +1 -1
- package/dist/{MobileStatCard-DTm63DiG.js → MobileStatCard-DKMycyVJ.js} +1 -1
- package/dist/{MobileTodoList-CzFB3E6k.js → MobileTodoList-BGq3ZCOj.js} +1 -1
- package/dist/{PcActivityTable-CbXZsRXT.js → PcActivityTable-BVrf84j7.js} +1 -1
- package/dist/{PcAiSummary-C8uTPEOy.js → PcAiSummary-BUxyMzFK.js} +1 -1
- package/dist/{PcHomeConfig-DlG8_m9K.js → PcHomeConfig-BHLWEBKO.js} +2 -2
- package/dist/{PcQuickActions-CEJse6Ey.js → PcQuickActions-DYGzdbue.js} +1 -1
- package/dist/{PcStatCards-C2_qAraR.js → PcStatCards-5hX9JRQv.js} +1 -1
- package/dist/{PcWorkspaceEntry-DTd8-gnF.js → PcWorkspaceEntry-BKgY3sy0.js} +1 -1
- package/dist/gs-eant-comp.css +1 -1
- package/dist/gs-eant-comp.js +5 -5
- package/dist/gs-eant-comp.umd.cjs +4 -4
- package/dist/index-Cliq1eej.js +10198 -0
- package/package.json +2 -2
- package/dist/ContainerManager-B_SXuZKk.js +0 -602
- package/dist/index-x6RwsCx2.js +0 -9820
|
@@ -0,0 +1,536 @@
|
|
|
1
|
+
import { computed as T, ref as y, onMounted as G, resolveComponent as d, createElementBlock as w, openBlock as p, createElementVNode as o, toDisplayString as f, Fragment as B, renderList as Y, createVNode as a, withCtx as s, createTextVNode as b, createBlock as A, unref as P, inject as te, reactive as ae, createCommentVNode as V } from "vue";
|
|
2
|
+
import { useRequest as j } from "vue-request";
|
|
3
|
+
import { _ as ne, p as oe, m as se, D as le, s as ie } from "./index-Cliq1eej.js";
|
|
4
|
+
import { message as C, Modal as ue } from "ant-design-vue";
|
|
5
|
+
import { useStore as re } from "vuex";
|
|
6
|
+
const de = { class: "home-layout-studio" }, ce = { class: "container-library" }, pe = { class: "studio-panel-heading" }, me = { class: "container-list" }, _e = ["onClick"], ve = { class: "container-icon" }, fe = { class: "container-meta" }, ye = { class: "container-name" }, ge = { class: "container-desc" }, be = { class: "layout-canvas-panel" }, he = { class: "canvas-toolbar" }, we = { class: "studio-eyebrow" }, ke = { class: "canvas-actions" }, Ce = { class: "canvas-stat" }, Ie = { class: "layout-preview" }, xe = {
|
|
7
|
+
key: 0,
|
|
8
|
+
class: "empty-canvas"
|
|
9
|
+
}, ze = { class: "empty-orbit" }, Se = { class: "grid-item-editor" }, Le = { class: "grid-item-header" }, De = ["onClick"], Ne = { class: "grid-item-body" }, Re = {
|
|
10
|
+
__name: "HomeLayoutDesigner",
|
|
11
|
+
props: {
|
|
12
|
+
api: {
|
|
13
|
+
type: Object,
|
|
14
|
+
required: !0
|
|
15
|
+
},
|
|
16
|
+
start: {
|
|
17
|
+
type: Number,
|
|
18
|
+
default: 1
|
|
19
|
+
},
|
|
20
|
+
platform: {
|
|
21
|
+
type: String,
|
|
22
|
+
default: "mobile",
|
|
23
|
+
validator: (D) => ["mobile", "pc"].includes(D)
|
|
24
|
+
},
|
|
25
|
+
initialLayout: {
|
|
26
|
+
type: Array,
|
|
27
|
+
default: () => []
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
emits: ["update:layoutItems"],
|
|
31
|
+
setup(D, { expose: k, emit: N }) {
|
|
32
|
+
const c = D, I = N, g = T(() => c.start === 2 ? "PC home canvas" : "Mobile home canvas"), m = T(() => c.platform === "pc" ? oe : se), _ = y([]), l = y([]), x = T(() => l.value.length ? l.value.reduce((t, e) => {
|
|
33
|
+
const u = Number(e.y || 0) + Number(e.h || 0);
|
|
34
|
+
return u > t ? u : t;
|
|
35
|
+
}, 0) : 0), n = y(!1), { run: z } = j(
|
|
36
|
+
() => c.api.mobile.list.post({}),
|
|
37
|
+
{
|
|
38
|
+
manual: !0,
|
|
39
|
+
onSuccess: async (t) => {
|
|
40
|
+
t && t.data && Array.isArray(t.data) && await m.value.loadDynamicContainersFromAPI(c.api), _.value = m.value.getRegisteredContainers();
|
|
41
|
+
},
|
|
42
|
+
onError: () => {
|
|
43
|
+
_.value = m.value.getRegisteredContainers();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
), M = (t) => {
|
|
47
|
+
const e = `${t.id}_${Date.now()}`, u = m.value.getContainerDefaultSize(t.id) || { w: 12, h: 2 }, v = {
|
|
48
|
+
i: e,
|
|
49
|
+
x: 0,
|
|
50
|
+
y: x.value,
|
|
51
|
+
w: u.w,
|
|
52
|
+
h: u.h,
|
|
53
|
+
componentId: t.id
|
|
54
|
+
};
|
|
55
|
+
l.value.push(v), I("update:layoutItems", l.value);
|
|
56
|
+
}, S = (t) => {
|
|
57
|
+
l.value = l.value.filter((e) => e.i !== t), I("update:layoutItems", l.value);
|
|
58
|
+
}, R = (t) => {
|
|
59
|
+
const u = m.value.getRegisteredContainers().find((v) => v.id === t);
|
|
60
|
+
return u ? u.name : t;
|
|
61
|
+
}, { run: $ } = j(
|
|
62
|
+
() => c.api.mobile.configInfo.post({ start: c.start }),
|
|
63
|
+
{
|
|
64
|
+
manual: !0,
|
|
65
|
+
onSuccess: (t) => {
|
|
66
|
+
if (t && t.data && t.data.home_layout)
|
|
67
|
+
try {
|
|
68
|
+
const e = JSON.parse(t.data.home_layout);
|
|
69
|
+
Array.isArray(e) && (l.value = e);
|
|
70
|
+
} catch (e) {
|
|
71
|
+
console.warn("首页布局配置解析失败", e);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
), q = async () => {
|
|
76
|
+
n.value = !0;
|
|
77
|
+
try {
|
|
78
|
+
const t = {
|
|
79
|
+
home_layout: JSON.stringify(l.value)
|
|
80
|
+
};
|
|
81
|
+
await c.api.mobile.configUspdate.post({ ...t, start: c.start });
|
|
82
|
+
} finally {
|
|
83
|
+
n.value = !1;
|
|
84
|
+
}
|
|
85
|
+
}, O = () => {
|
|
86
|
+
l.value = [], I("update:layoutItems", l.value);
|
|
87
|
+
};
|
|
88
|
+
return k({ loadConfig: $, loadContainers: z, setLayout: (t) => {
|
|
89
|
+
l.value = t;
|
|
90
|
+
}, layoutItems: l }), G(() => {
|
|
91
|
+
$(), z();
|
|
92
|
+
}), (t, e) => {
|
|
93
|
+
const u = d("a-icon"), v = d("a-button");
|
|
94
|
+
return p(), w("div", de, [
|
|
95
|
+
o("aside", ce, [
|
|
96
|
+
o("div", pe, [
|
|
97
|
+
e[0] || (e[0] = o("div", null, [
|
|
98
|
+
o("span", { class: "studio-eyebrow" }, "Component library"),
|
|
99
|
+
o("h3", null, "可用组件")
|
|
100
|
+
], -1)),
|
|
101
|
+
o("strong", null, f(_.value.length), 1)
|
|
102
|
+
]),
|
|
103
|
+
e[2] || (e[2] = o("div", { class: "library-subtitle" }, " 选择组件后会追加到当前画布末尾,可继续拖拽调整位置和尺寸。 ", -1)),
|
|
104
|
+
o("div", me, [
|
|
105
|
+
(p(!0), w(B, null, Y(_.value, (r) => (p(), w("div", {
|
|
106
|
+
key: r.id,
|
|
107
|
+
class: "container-item",
|
|
108
|
+
onClick: (E) => M(r)
|
|
109
|
+
}, [
|
|
110
|
+
o("div", ve, [
|
|
111
|
+
a(u, {
|
|
112
|
+
type: r.icon
|
|
113
|
+
}, null, 8, ["type"])
|
|
114
|
+
]),
|
|
115
|
+
o("div", fe, [
|
|
116
|
+
o("div", ye, f(r.name), 1),
|
|
117
|
+
o("div", ge, f(r.description || "暂无描述"), 1)
|
|
118
|
+
]),
|
|
119
|
+
a(v, {
|
|
120
|
+
size: "small",
|
|
121
|
+
type: "primary",
|
|
122
|
+
ghost: "",
|
|
123
|
+
class: "container-add"
|
|
124
|
+
}, {
|
|
125
|
+
default: s(() => [...e[1] || (e[1] = [
|
|
126
|
+
b("添加", -1)
|
|
127
|
+
])]),
|
|
128
|
+
_: 1
|
|
129
|
+
})
|
|
130
|
+
], 8, _e))), 128))
|
|
131
|
+
])
|
|
132
|
+
]),
|
|
133
|
+
o("section", be, [
|
|
134
|
+
o("div", he, [
|
|
135
|
+
o("div", null, [
|
|
136
|
+
o("span", we, f(g.value), 1),
|
|
137
|
+
e[3] || (e[3] = o("h3", null, "首页布局预览", -1))
|
|
138
|
+
]),
|
|
139
|
+
o("div", ke, [
|
|
140
|
+
o("div", Ce, [
|
|
141
|
+
e[4] || (e[4] = o("span", null, "组件数", -1)),
|
|
142
|
+
o("strong", null, f(l.value.length), 1)
|
|
143
|
+
]),
|
|
144
|
+
a(v, {
|
|
145
|
+
size: "small",
|
|
146
|
+
onClick: O
|
|
147
|
+
}, {
|
|
148
|
+
default: s(() => [...e[5] || (e[5] = [
|
|
149
|
+
b("重置", -1)
|
|
150
|
+
])]),
|
|
151
|
+
_: 1
|
|
152
|
+
}),
|
|
153
|
+
a(v, {
|
|
154
|
+
type: "primary",
|
|
155
|
+
size: "small",
|
|
156
|
+
loading: n.value,
|
|
157
|
+
onClick: q
|
|
158
|
+
}, {
|
|
159
|
+
default: s(() => [...e[6] || (e[6] = [
|
|
160
|
+
b("保存配置", -1)
|
|
161
|
+
])]),
|
|
162
|
+
_: 1
|
|
163
|
+
}, 8, ["loading"])
|
|
164
|
+
])
|
|
165
|
+
]),
|
|
166
|
+
o("div", Ie, [
|
|
167
|
+
l.value.length === 0 ? (p(), w("div", xe, [
|
|
168
|
+
o("div", ze, [
|
|
169
|
+
a(u, { type: "icon-appstore" })
|
|
170
|
+
]),
|
|
171
|
+
e[7] || (e[7] = o("h4", null, "当前画布为空", -1)),
|
|
172
|
+
e[8] || (e[8] = o("p", null, "从左侧组件库添加容器,配置会保存为当前首页布局。", -1))
|
|
173
|
+
])) : (p(), A(P(le), {
|
|
174
|
+
key: 1,
|
|
175
|
+
layout: l.value,
|
|
176
|
+
"col-num": 12,
|
|
177
|
+
"row-height": 80,
|
|
178
|
+
"is-draggable": !0,
|
|
179
|
+
"is-resizable": !0,
|
|
180
|
+
responsive: !1,
|
|
181
|
+
"vertical-compact": !0,
|
|
182
|
+
margin: [8, 8],
|
|
183
|
+
"use-css-transforms": !0
|
|
184
|
+
}, {
|
|
185
|
+
default: s(() => [
|
|
186
|
+
(p(!0), w(B, null, Y(l.value, (r) => (p(), A(P(ie), {
|
|
187
|
+
key: r.i,
|
|
188
|
+
x: r.x,
|
|
189
|
+
y: r.y,
|
|
190
|
+
w: r.w,
|
|
191
|
+
h: r.h,
|
|
192
|
+
i: r.i
|
|
193
|
+
}, {
|
|
194
|
+
default: s(() => [
|
|
195
|
+
o("div", Se, [
|
|
196
|
+
o("div", Le, [
|
|
197
|
+
o("span", null, f(R(r.componentId)), 1),
|
|
198
|
+
o("button", {
|
|
199
|
+
type: "button",
|
|
200
|
+
class: "grid-remove",
|
|
201
|
+
onClick: (E) => S(r.i)
|
|
202
|
+
}, [
|
|
203
|
+
a(u, { type: "icon-close" })
|
|
204
|
+
], 8, De)
|
|
205
|
+
]),
|
|
206
|
+
o("div", Ne, [
|
|
207
|
+
a(u, { type: "icon-dashboard" }),
|
|
208
|
+
o("span", null, f(R(r.componentId)) + " 容器", 1)
|
|
209
|
+
])
|
|
210
|
+
])
|
|
211
|
+
]),
|
|
212
|
+
_: 2
|
|
213
|
+
}, 1032, ["x", "y", "w", "h", "i"]))), 128))
|
|
214
|
+
]),
|
|
215
|
+
_: 1
|
|
216
|
+
}, 8, ["layout"]))
|
|
217
|
+
])
|
|
218
|
+
])
|
|
219
|
+
]);
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
}, Oe = /* @__PURE__ */ ne(Re, [["__scopeId", "data-v-659e8f1d"]]), Ee = {
|
|
223
|
+
__name: "ContainerManager",
|
|
224
|
+
setup(D) {
|
|
225
|
+
const k = te("$API"), N = re(), c = y([]), I = [
|
|
226
|
+
{ title: "容器ID", dataIndex: "container_id", key: "container_id" },
|
|
227
|
+
{ title: "容器名称", dataIndex: "name", key: "name" },
|
|
228
|
+
{ title: "图标", key: "icon" },
|
|
229
|
+
{ title: "组件路径", dataIndex: "component_path", key: "component_path" },
|
|
230
|
+
{ title: "默认尺寸", key: "defaultSize" },
|
|
231
|
+
{ title: "描述", dataIndex: "description", key: "description" },
|
|
232
|
+
{ title: "操作", key: "actions", width: 120 }
|
|
233
|
+
], g = y(!1), m = y(!1), _ = y(!1), l = y("新增容器"), x = y(), n = ae({
|
|
234
|
+
id: "",
|
|
235
|
+
// 主键ID,编辑和删除时使用
|
|
236
|
+
container_id: "",
|
|
237
|
+
// 容器ID,用于组件注册
|
|
238
|
+
name: "",
|
|
239
|
+
component_path: "",
|
|
240
|
+
icon: "",
|
|
241
|
+
description: "",
|
|
242
|
+
default_w: 12,
|
|
243
|
+
default_h: 2
|
|
244
|
+
}), { run: z, loading: M } = j(
|
|
245
|
+
() => k.mobile.list.post({}),
|
|
246
|
+
{
|
|
247
|
+
manual: !0,
|
|
248
|
+
onSuccess: (t) => {
|
|
249
|
+
t && t.data && (c.value = t.data);
|
|
250
|
+
},
|
|
251
|
+
onError: (t) => {
|
|
252
|
+
C.error("加载容器列表失败: " + (t.message || "未知错误"));
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
), S = () => {
|
|
256
|
+
z();
|
|
257
|
+
}, R = () => {
|
|
258
|
+
_.value = !1, l.value = "新增容器", Object.keys(n).forEach((t) => {
|
|
259
|
+
t === "default_w" ? n[t] = 12 : t === "default_h" ? n[t] = 2 : n[t] = "";
|
|
260
|
+
}), g.value = !0;
|
|
261
|
+
}, $ = (t) => {
|
|
262
|
+
_.value = !0, l.value = "编辑容器", n.id = t.id || "", n.container_id = t.container_id || "", n.name = t.name || "", n.component_path = t.component_path || "", n.icon = t.icon || "", n.description = t.description || "", n.default_w = t.default_w ? parseInt(t.default_w) : 12, n.default_h = t.default_h ? parseInt(t.default_h) : 2, g.value = !0;
|
|
263
|
+
}, q = (t) => {
|
|
264
|
+
ue.confirm({
|
|
265
|
+
title: "确认删除",
|
|
266
|
+
content: `确定要删除容器 "${t.name}" (${t.id}) 吗?`,
|
|
267
|
+
okText: "删除",
|
|
268
|
+
okType: "danger",
|
|
269
|
+
cancelText: "取消",
|
|
270
|
+
onOk: async () => {
|
|
271
|
+
try {
|
|
272
|
+
const e = N.state.auth.userInfo?.yhm || "";
|
|
273
|
+
await k.mobile.del.post({ id: t.id, userId: e }), C.success("删除成功"), S();
|
|
274
|
+
} catch (e) {
|
|
275
|
+
C.error("删除失败: " + (e.message || "未知错误"));
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
});
|
|
279
|
+
}, O = async () => {
|
|
280
|
+
try {
|
|
281
|
+
await x.value.validate();
|
|
282
|
+
} catch {
|
|
283
|
+
return;
|
|
284
|
+
}
|
|
285
|
+
m.value = !0;
|
|
286
|
+
try {
|
|
287
|
+
const t = N.state.auth.userInfo?.yhm || "", e = { ...n, userId: t };
|
|
288
|
+
_.value ? (await k.mobile.update.post(e), C.success("更新成功")) : (await k.mobile.add.post(e), C.success("新增成功")), g.value = !1, S();
|
|
289
|
+
} catch (t) {
|
|
290
|
+
C.error("操作失败: " + (t.message || "未知错误"));
|
|
291
|
+
} finally {
|
|
292
|
+
m.value = !1;
|
|
293
|
+
}
|
|
294
|
+
}, F = () => {
|
|
295
|
+
g.value = !1, x.value?.resetFields();
|
|
296
|
+
};
|
|
297
|
+
return G(() => {
|
|
298
|
+
z();
|
|
299
|
+
}), (t, e) => {
|
|
300
|
+
const u = d("a-button"), v = d("a-space"), r = d("a-icon"), E = d("a-table"), K = d("a-card"), U = d("a-input"), h = d("a-form-item"), Q = d("a-textarea"), H = d("a-input-number"), J = d("a-col"), W = d("a-row"), X = d("a-form"), Z = d("a-modal");
|
|
301
|
+
return p(), w("div", null, [
|
|
302
|
+
a(K, {
|
|
303
|
+
title: "容器管理",
|
|
304
|
+
size: "small",
|
|
305
|
+
class: "mb-3"
|
|
306
|
+
}, {
|
|
307
|
+
extra: s(() => [
|
|
308
|
+
a(v, null, {
|
|
309
|
+
default: s(() => [
|
|
310
|
+
a(u, {
|
|
311
|
+
type: "primary",
|
|
312
|
+
size: "small",
|
|
313
|
+
onClick: R
|
|
314
|
+
}, {
|
|
315
|
+
default: s(() => [...e[8] || (e[8] = [
|
|
316
|
+
b("新增容器", -1)
|
|
317
|
+
])]),
|
|
318
|
+
_: 1
|
|
319
|
+
}),
|
|
320
|
+
a(u, {
|
|
321
|
+
size: "small",
|
|
322
|
+
onClick: S
|
|
323
|
+
}, {
|
|
324
|
+
default: s(() => [...e[9] || (e[9] = [
|
|
325
|
+
b("刷新", -1)
|
|
326
|
+
])]),
|
|
327
|
+
_: 1
|
|
328
|
+
})
|
|
329
|
+
]),
|
|
330
|
+
_: 1
|
|
331
|
+
})
|
|
332
|
+
]),
|
|
333
|
+
default: s(() => [
|
|
334
|
+
a(E, {
|
|
335
|
+
"data-source": c.value,
|
|
336
|
+
columns: I,
|
|
337
|
+
pagination: !1,
|
|
338
|
+
size: "small",
|
|
339
|
+
loading: P(M)
|
|
340
|
+
}, {
|
|
341
|
+
bodyCell: s(({ column: i, record: L }) => [
|
|
342
|
+
i.key === "icon" ? (p(), A(r, {
|
|
343
|
+
key: 0,
|
|
344
|
+
type: L.icon || "icon-appstore"
|
|
345
|
+
}, null, 8, ["type"])) : V("", !0),
|
|
346
|
+
i.key === "defaultSize" ? (p(), w(B, { key: 1 }, [
|
|
347
|
+
b(f(L.default_w) + " × " + f(L.default_h), 1)
|
|
348
|
+
], 64)) : V("", !0),
|
|
349
|
+
i.key === "actions" ? (p(), A(v, {
|
|
350
|
+
key: 2,
|
|
351
|
+
size: "small"
|
|
352
|
+
}, {
|
|
353
|
+
default: s(() => [
|
|
354
|
+
a(u, {
|
|
355
|
+
type: "link",
|
|
356
|
+
size: "small",
|
|
357
|
+
onClick: (ee) => $(L)
|
|
358
|
+
}, {
|
|
359
|
+
default: s(() => [...e[10] || (e[10] = [
|
|
360
|
+
b("编辑", -1)
|
|
361
|
+
])]),
|
|
362
|
+
_: 1
|
|
363
|
+
}, 8, ["onClick"]),
|
|
364
|
+
a(u, {
|
|
365
|
+
type: "link",
|
|
366
|
+
size: "small",
|
|
367
|
+
danger: "",
|
|
368
|
+
onClick: (ee) => q(L)
|
|
369
|
+
}, {
|
|
370
|
+
default: s(() => [...e[11] || (e[11] = [
|
|
371
|
+
b("删除", -1)
|
|
372
|
+
])]),
|
|
373
|
+
_: 1
|
|
374
|
+
}, 8, ["onClick"])
|
|
375
|
+
]),
|
|
376
|
+
_: 2
|
|
377
|
+
}, 1024)) : V("", !0)
|
|
378
|
+
]),
|
|
379
|
+
_: 1
|
|
380
|
+
}, 8, ["data-source", "loading"])
|
|
381
|
+
]),
|
|
382
|
+
_: 1
|
|
383
|
+
}),
|
|
384
|
+
a(Z, {
|
|
385
|
+
open: g.value,
|
|
386
|
+
"onUpdate:open": e[7] || (e[7] = (i) => g.value = i),
|
|
387
|
+
title: l.value,
|
|
388
|
+
onOk: O,
|
|
389
|
+
onCancel: F,
|
|
390
|
+
"confirm-loading": m.value
|
|
391
|
+
}, {
|
|
392
|
+
default: s(() => [
|
|
393
|
+
a(X, {
|
|
394
|
+
ref_key: "formRef",
|
|
395
|
+
ref: x,
|
|
396
|
+
model: n,
|
|
397
|
+
"label-col": { span: 6 },
|
|
398
|
+
"wrapper-col": { span: 16 },
|
|
399
|
+
size: "small"
|
|
400
|
+
}, {
|
|
401
|
+
default: s(() => [
|
|
402
|
+
a(h, {
|
|
403
|
+
label: "容器ID",
|
|
404
|
+
name: "container_id",
|
|
405
|
+
rules: [{ required: !0, message: "请输入容器ID" }]
|
|
406
|
+
}, {
|
|
407
|
+
default: s(() => [
|
|
408
|
+
a(U, {
|
|
409
|
+
value: n.container_id,
|
|
410
|
+
"onUpdate:value": e[0] || (e[0] = (i) => n.container_id = i),
|
|
411
|
+
disabled: _.value,
|
|
412
|
+
placeholder: "如:custom-card"
|
|
413
|
+
}, null, 8, ["value", "disabled"])
|
|
414
|
+
]),
|
|
415
|
+
_: 1
|
|
416
|
+
}),
|
|
417
|
+
a(h, {
|
|
418
|
+
label: "容器名称",
|
|
419
|
+
name: "name",
|
|
420
|
+
rules: [{ required: !0, message: "请输入容器名称" }]
|
|
421
|
+
}, {
|
|
422
|
+
default: s(() => [
|
|
423
|
+
a(U, {
|
|
424
|
+
value: n.name,
|
|
425
|
+
"onUpdate:value": e[1] || (e[1] = (i) => n.name = i),
|
|
426
|
+
placeholder: "如:自定义卡片"
|
|
427
|
+
}, null, 8, ["value"])
|
|
428
|
+
]),
|
|
429
|
+
_: 1
|
|
430
|
+
}),
|
|
431
|
+
a(h, {
|
|
432
|
+
label: "组件路径",
|
|
433
|
+
name: "component_path",
|
|
434
|
+
rules: [{ required: !0, message: "请输入组件路径" }]
|
|
435
|
+
}, {
|
|
436
|
+
default: s(() => [
|
|
437
|
+
a(U, {
|
|
438
|
+
value: n.component_path,
|
|
439
|
+
"onUpdate:value": e[2] || (e[2] = (i) => n.component_path = i),
|
|
440
|
+
placeholder: "如:./containers/CustomCard.vue"
|
|
441
|
+
}, null, 8, ["value"]),
|
|
442
|
+
e[12] || (e[12] = o("div", {
|
|
443
|
+
class: "text-muted",
|
|
444
|
+
style: { "font-size": "12px", "margin-top": "4px" }
|
|
445
|
+
}, " 组件路径相对于:src/views/home/,动态容器仍共用于 PC 和移动端 ", -1))
|
|
446
|
+
]),
|
|
447
|
+
_: 1
|
|
448
|
+
}),
|
|
449
|
+
a(h, {
|
|
450
|
+
label: "图标",
|
|
451
|
+
name: "icon"
|
|
452
|
+
}, {
|
|
453
|
+
default: s(() => [
|
|
454
|
+
a(U, {
|
|
455
|
+
value: n.icon,
|
|
456
|
+
"onUpdate:value": e[3] || (e[3] = (i) => n.icon = i),
|
|
457
|
+
placeholder: "如:icon-custom"
|
|
458
|
+
}, null, 8, ["value"])
|
|
459
|
+
]),
|
|
460
|
+
_: 1
|
|
461
|
+
}),
|
|
462
|
+
a(h, {
|
|
463
|
+
label: "描述",
|
|
464
|
+
name: "description"
|
|
465
|
+
}, {
|
|
466
|
+
default: s(() => [
|
|
467
|
+
a(Q, {
|
|
468
|
+
value: n.description,
|
|
469
|
+
"onUpdate:value": e[4] || (e[4] = (i) => n.description = i),
|
|
470
|
+
rows: 2,
|
|
471
|
+
placeholder: "容器功能描述"
|
|
472
|
+
}, null, 8, ["value"])
|
|
473
|
+
]),
|
|
474
|
+
_: 1
|
|
475
|
+
}),
|
|
476
|
+
a(W, { gutter: 12 }, {
|
|
477
|
+
default: s(() => [
|
|
478
|
+
a(J, { span: 12 }, {
|
|
479
|
+
default: s(() => [
|
|
480
|
+
a(h, {
|
|
481
|
+
label: "默认宽度",
|
|
482
|
+
name: "default_w",
|
|
483
|
+
rules: [{ required: !0, message: "请输入默认宽度" }]
|
|
484
|
+
}, {
|
|
485
|
+
default: s(() => [
|
|
486
|
+
a(H, {
|
|
487
|
+
value: n.default_w,
|
|
488
|
+
"onUpdate:value": e[5] || (e[5] = (i) => n.default_w = i),
|
|
489
|
+
min: 1,
|
|
490
|
+
max: 12,
|
|
491
|
+
style: { width: "100%" }
|
|
492
|
+
}, null, 8, ["value"])
|
|
493
|
+
]),
|
|
494
|
+
_: 1
|
|
495
|
+
})
|
|
496
|
+
]),
|
|
497
|
+
_: 1
|
|
498
|
+
}),
|
|
499
|
+
a(J, { span: 12 }, {
|
|
500
|
+
default: s(() => [
|
|
501
|
+
a(h, {
|
|
502
|
+
label: "默认高度",
|
|
503
|
+
name: "default_h",
|
|
504
|
+
rules: [{ required: !0, message: "请输入默认高度" }]
|
|
505
|
+
}, {
|
|
506
|
+
default: s(() => [
|
|
507
|
+
a(H, {
|
|
508
|
+
value: n.default_h,
|
|
509
|
+
"onUpdate:value": e[6] || (e[6] = (i) => n.default_h = i),
|
|
510
|
+
min: 1,
|
|
511
|
+
max: 10,
|
|
512
|
+
style: { width: "100%" }
|
|
513
|
+
}, null, 8, ["value"])
|
|
514
|
+
]),
|
|
515
|
+
_: 1
|
|
516
|
+
})
|
|
517
|
+
]),
|
|
518
|
+
_: 1
|
|
519
|
+
})
|
|
520
|
+
]),
|
|
521
|
+
_: 1
|
|
522
|
+
})
|
|
523
|
+
]),
|
|
524
|
+
_: 1
|
|
525
|
+
}, 8, ["model"])
|
|
526
|
+
]),
|
|
527
|
+
_: 1
|
|
528
|
+
}, 8, ["open", "title", "confirm-loading"])
|
|
529
|
+
]);
|
|
530
|
+
};
|
|
531
|
+
}
|
|
532
|
+
};
|
|
533
|
+
export {
|
|
534
|
+
Oe as H,
|
|
535
|
+
Ee as _
|
|
536
|
+
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { resolveComponent as l, createElementBlock as n, openBlock as o, createElementVNode as t, Fragment as v, renderList as _, normalizeStyle as s, createVNode as y, createTextVNode as g, toDisplayString as a } from "vue";
|
|
2
|
-
import { _ as f } from "./index-
|
|
2
|
+
import { _ as f } from "./index-Cliq1eej.js";
|
|
3
3
|
const m = { class: "activity-feed h-100" }, p = { class: "activity-body" }, u = { class: "activity-content" }, b = { class: "activity-text" }, B = { class: "activity-user" }, h = { class: "activity-time" }, k = {
|
|
4
4
|
__name: "MobileActivityFeed",
|
|
5
5
|
setup(x) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { resolveComponent as o, createElementBlock as a, openBlock as i, createVNode as c, withCtx as _, Fragment as b, renderList as p, createElementVNode as e, normalizeStyle as f, toDisplayString as n } from "vue";
|
|
2
|
-
import { _ as g } from "./index-
|
|
2
|
+
import { _ as g } from "./index-Cliq1eej.js";
|
|
3
3
|
const m = { class: "banner-carousel h-100" }, u = { class: "banner-info" }, v = { class: "banner-title" }, h = { class: "banner-desc" }, x = { class: "banner-btn" }, y = { class: "banner-icon-wrapper" }, T = {
|
|
4
4
|
__name: "MobileBanner",
|
|
5
5
|
setup(k) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { inject as $, ref as f, reactive as x, onMounted as E, resolveComponent as h, createElementBlock as T, openBlock as C, createVNode as s, withCtx as i, createElementVNode as e, toDisplayString as c, unref as g, computed as H } from "vue";
|
|
2
|
-
import { _ as S, H as j } from "./ContainerManager-
|
|
2
|
+
import { _ as S, H as j } from "./ContainerManager-DXusTCU2.js";
|
|
3
3
|
import { useRequest as B } from "vue-request";
|
|
4
4
|
import w from "vuedraggable";
|
|
5
|
-
import { _ as L } from "./index-
|
|
5
|
+
import { _ as L } from "./index-Cliq1eej.js";
|
|
6
6
|
const K = { class: "tabbar-board" }, D = { class: "menu-drop-panel" }, N = { class: "panel-heading" }, O = { class: "menu-chip" }, P = { class: "menu-drop-panel" }, V = { class: "panel-heading" }, q = { class: "menu-chip ordered" }, F = { class: "menu-drop-panel" }, R = { class: "panel-heading" }, U = { class: "menu-chip ordered" }, z = {
|
|
7
7
|
__name: "MobileTabBarConfig",
|
|
8
8
|
setup(I) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createElementBlock as a, openBlock as c, createElementVNode as t, Fragment as d, renderList as r, normalizeStyle as e, toDisplayString as s } from "vue";
|
|
2
|
-
import { _ as g } from "./index-
|
|
2
|
+
import { _ as g } from "./index-Cliq1eej.js";
|
|
3
3
|
const f = { class: "notice-list h-100" }, _ = { class: "notice-list-body" }, m = { class: "notice-content" }, C = { class: "notice-title-row" }, p = { class: "notice-title" }, b = { class: "notice-time" }, u = {
|
|
4
4
|
__name: "MobileNoticeList",
|
|
5
5
|
setup(v) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { resolveComponent as d, createElementBlock as t, openBlock as a, createElementVNode as e, Fragment as g, renderList as _, normalizeStyle as b, createVNode as f, toDisplayString as p } from "vue";
|
|
2
|
-
import { _ as u } from "./index-
|
|
2
|
+
import { _ as u } from "./index-Cliq1eej.js";
|
|
3
3
|
const k = { class: "quick-actions h-100" }, m = { class: "quick-actions-body" }, v = ["onClick"], y = { class: "action-label" }, h = {
|
|
4
4
|
__name: "MobileQuickActions",
|
|
5
5
|
setup(q) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { inject as g, resolveComponent as f, createElementBlock as o, openBlock as c, createElementVNode as t, Fragment as p, renderList as m, unref as k, normalizeStyle as b, createVNode as h, toDisplayString as v } from "vue";
|
|
2
2
|
import { useRouter as q } from "vue-router";
|
|
3
|
-
import { _ as y } from "./index-
|
|
3
|
+
import { _ as y } from "./index-Cliq1eej.js";
|
|
4
4
|
const B = { class: "quick-menu h-100" }, C = { class: "quick-menu-body" }, M = ["onClick"], x = { class: "quick-menu-label" }, E = {
|
|
5
5
|
__name: "MobileQuickMenu",
|
|
6
6
|
setup(N) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ref as n, resolveComponent as u, createElementBlock as s, openBlock as r, createElementVNode as a, createStaticVNode as l, createVNode as p, createTextVNode as o, withCtx as h, Fragment as k, renderList as f, normalizeClass as m, toDisplayString as w } from "vue";
|
|
2
|
-
import { _ as y } from "./index-
|
|
2
|
+
import { _ as y } from "./index-Cliq1eej.js";
|
|
3
3
|
const g = { class: "cart h-100" }, C = { class: "drawer" }, M = { class: "drawer-top" }, _ = { class: "drawer-tabs" }, x = ["onClick"], B = { class: "drawer-content" }, j = {
|
|
4
4
|
key: 0,
|
|
5
5
|
class: "order-card"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createElementBlock as s, openBlock as e, createElementVNode as t, Fragment as d, renderList as c, normalizeStyle as n, createTextVNode as v, toDisplayString as l, normalizeClass as i } from "vue";
|
|
2
|
-
import { _ as u } from "./index-
|
|
2
|
+
import { _ as u } from "./index-Cliq1eej.js";
|
|
3
3
|
const b = { class: "stat-card h-100" }, _ = { class: "stat-card-body" }, p = { class: "stat-row" }, f = { class: "stat-label" }, h = { class: "stat-row" }, y = { class: "stat-label" }, k = {
|
|
4
4
|
__name: "MobileStatCard",
|
|
5
5
|
setup(w) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ref as y, computed as f, createElementBlock as n, openBlock as d, createElementVNode as t, toDisplayString as i, Fragment as v, renderList as h, normalizeStyle as c, normalizeClass as l, createCommentVNode as m } from "vue";
|
|
2
|
-
import { _ as k } from "./index-
|
|
2
|
+
import { _ as k } from "./index-Cliq1eej.js";
|
|
3
3
|
const x = { class: "todo-list h-100" }, g = { class: "todo-list-header" }, C = { class: "todo-count" }, b = { class: "todo-list-body" }, L = ["onClick"], z = {
|
|
4
4
|
key: 0,
|
|
5
5
|
class: "todo-check-icon"
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { resolveComponent as n, createElementBlock as r, openBlock as o, createElementVNode as y, createVNode as u, withCtx as s, createTextVNode as c, createBlock as d, createCommentVNode as k, toDisplayString as l } from "vue";
|
|
2
|
-
import { _ as g } from "./index-
|
|
2
|
+
import { _ as g } from "./index-Cliq1eej.js";
|
|
3
3
|
const b = { class: "activity-table" }, f = { class: "table-header" }, x = {
|
|
4
4
|
key: 0,
|
|
5
5
|
class: "cell-time"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { inject as A, resolveComponent as d, createElementBlock as a, openBlock as c, createElementVNode as t, createVNode as i, withCtx as o, createTextVNode as n, Fragment as r, renderList as u, toDisplayString as l, normalizeStyle as j } from "vue";
|
|
2
2
|
import { message as S } from "ant-design-vue";
|
|
3
|
-
import { _ as P } from "./index-
|
|
3
|
+
import { _ as P } from "./index-Cliq1eej.js";
|
|
4
4
|
const $ = { class: "pc-ai-workspace" }, z = { class: "pc-ai-hero d-flex align-items-start justify-content-between gap-4" }, B = { class: "pc-ai-status text-end" }, L = { class: "row g-3 mt-1" }, N = { class: "col-12" }, V = { class: "pc-ai-panel h-100" }, E = { class: "pc-ai-panel-title d-flex align-items-center justify-content-between mb-3" }, Q = { class: "d-flex flex-column gap-2" }, T = ["onClick"], W = { class: "d-flex align-items-center justify-content-between gap-3" }, q = { class: "fw-semibold" }, D = { class: "small text-muted mt-1" }, F = { class: "col-12" }, R = { class: "pc-ai-panel h-100" }, G = { class: "pc-ai-panel-title d-flex align-items-center justify-content-between mb-3" }, H = { class: "row g-2" }, J = { class: "pc-ai-insight h-100" }, K = { class: "d-flex align-items-center justify-content-between mb-3" }, M = { class: "small text-muted" }, O = { class: "pc-ai-insight-value" }, U = { class: "fw-semibold mt-2" }, X = { class: "small text-muted mt-2" }, Y = { class: "pc-ai-chart mt-3" }, Z = { class: "pc-ai-bars d-flex align-items-end gap-2" }, tt = ["title"], st = { class: "row g-3 mt-1" }, et = { class: "col-12" }, lt = { class: "pc-ai-panel h-100" }, it = { class: "pc-ai-panel-title d-flex align-items-center justify-content-between mb-3" }, ot = { class: "row g-3" }, nt = { class: "pc-ai-result h-100" }, at = { class: "d-flex align-items-center justify-content-between mb-2" }, ct = { class: "small text-muted" }, dt = { class: "fw-semibold" }, rt = { class: "small text-muted mt-2" }, ut = { class: "col-12" }, mt = { class: "pc-ai-panel h-100" }, pt = {
|
|
5
5
|
__name: "PcAiSummary",
|
|
6
6
|
setup(_t) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { inject as u, ref as d, computed as m, resolveComponent as _, createElementBlock as v, openBlock as b, createElementVNode as e, toDisplayString as f, createVNode as s, withCtx as c, unref as y } from "vue";
|
|
2
|
-
import { _ as g, H as k } from "./ContainerManager-
|
|
3
|
-
import { _ as C } from "./index-
|
|
2
|
+
import { _ as g, H as k } from "./ContainerManager-DXusTCU2.js";
|
|
3
|
+
import { _ as C } from "./index-Cliq1eej.js";
|
|
4
4
|
const P = { class: "pc-config-workbench" }, h = { class: "workbench-hero" }, H = { class: "hero-status" }, w = { class: "status-card" }, L = { class: "workbench-body" }, x = /* @__PURE__ */ Object.assign({
|
|
5
5
|
name: "PcHomeConfig"
|
|
6
6
|
}, {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { resolveComponent as b, createElementBlock as l, openBlock as c, createElementVNode as e, Fragment as _, renderList as m, normalizeStyle as n, createVNode as C, toDisplayString as u } from "vue";
|
|
2
|
-
import { _ as y } from "./index-
|
|
2
|
+
import { _ as y } from "./index-Cliq1eej.js";
|
|
3
3
|
const g = { class: "quick-actions-panel" }, k = { class: "panel-body" }, v = ["onClick"], h = { class: "action-label" }, A = {
|
|
4
4
|
__name: "PcQuickActions",
|
|
5
5
|
props: {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { resolveComponent as l, createElementBlock as s, openBlock as a, createVNode as v, withCtx as d, Fragment as m, renderList as g, createBlock as i, createElementVNode as e, normalizeStyle as f, toDisplayString as n, normalizeClass as y, createCommentVNode as _ } from "vue";
|
|
2
|
-
import { _ as w } from "./index-
|
|
2
|
+
import { _ as w } from "./index-Cliq1eej.js";
|
|
3
3
|
const k = { class: "stat-cards" }, x = { class: "d-flex align-items-start justify-content-between" }, b = { class: "stat-content" }, C = { class: "stat-label" }, B = { class: "stat-value" }, z = { key: 1 }, S = { class: "stat-compare text-truncate" }, N = {
|
|
4
4
|
key: 0,
|
|
5
5
|
width: "16",
|