hs-admin-ui 17.3.7 → 17.3.9

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.
@@ -0,0 +1,994 @@
1
+ import { defineComponent as x, ref as U, resolveComponent as b, createElementBlock as T, openBlock as c, createElementVNode as v, createTextVNode as w, toDisplayString as S, createVNode as N, withCtx as k, inject as A, onBeforeUnmount as fe, Fragment as L, createBlock as I, createCommentVNode as E, Teleport as me, unref as i, normalizeStyle as ve, renderList as R, nextTick as ye, mergeModels as ne, useModel as oe, computed as ae, TransitionGroup as ge, withModifiers as P, normalizeClass as be, provide as le, reactive as he } from "vue";
2
+ import { S as D, F as V, P as f, a as Q, b as q, c as G, d as F, e as Z, N as z, f as O, t as ke, g as H, v as Y } from "./index-B-BugOyJ.js";
3
+ import { a4 as M, ao as J, H as o, ak as Te, S as W } from "./bcVisual.vue_vue_type_style_index_0_scoped_a917535e_lang-BL5_6j-6.js";
4
+ const Ne = { class: "update-name" }, Ce = { class: "content" }, Ie = { class: "item" }, Ee = { class: "item" }, Se = { class: "item" }, we = { class: "footer" }, $e = /* @__PURE__ */ x({
5
+ __name: "popup",
6
+ props: {
7
+ row: {
8
+ type: Object
9
+ },
10
+ close: {
11
+ type: Function
12
+ }
13
+ },
14
+ setup(r) {
15
+ var m;
16
+ const n = r, _ = U((m = n.row) == null ? void 0 : m.show_name);
17
+ function p() {
18
+ n.close(_.value);
19
+ }
20
+ return (y, u) => {
21
+ const s = b("el-input"), a = b("el-button"), t = b("bc-button");
22
+ return c(), T("div", Ne, [
23
+ v("div", Ce, [
24
+ v("div", Ie, [
25
+ u[2] || (u[2] = v("span", { class: "show-name" }, "字段名称:", -1)),
26
+ w(S(r.row.name), 1)
27
+ ]),
28
+ v("div", Ee, [
29
+ u[3] || (u[3] = v("span", { class: "show-name" }, "字段键值:", -1)),
30
+ w(S(r.row.field), 1)
31
+ ]),
32
+ v("div", Se, [
33
+ u[4] || (u[4] = v("span", { class: "show-name" }, "显示名称:", -1)),
34
+ N(s, {
35
+ modelValue: _.value,
36
+ "onUpdate:modelValue": u[0] || (u[0] = (l) => _.value = l),
37
+ clearable: "",
38
+ placeholder: "请输入",
39
+ size: "default"
40
+ }, null, 8, ["modelValue"])
41
+ ])
42
+ ]),
43
+ v("footer", we, [
44
+ N(a, {
45
+ size: "default",
46
+ onClick: u[1] || (u[1] = (l) => r.close("cancel"))
47
+ }, {
48
+ default: k(() => [...u[5] || (u[5] = [
49
+ w("关闭", -1)
50
+ ])]),
51
+ _: 1
52
+ }),
53
+ N(t, {
54
+ type: "primary",
55
+ size: "default",
56
+ onClick: p
57
+ }, {
58
+ default: k(() => [...u[6] || (u[6] = [
59
+ w("确定", -1)
60
+ ])]),
61
+ _: 1
62
+ })
63
+ ])
64
+ ]);
65
+ };
66
+ }
67
+ }), Oe = /* @__PURE__ */ M($e, [["__scopeId", "data-v-c8fbb8a5"]]);
68
+ function Ve(r) {
69
+ return new Promise((n) => {
70
+ J(
71
+ Oe,
72
+ { row: r },
73
+ {
74
+ title: "修改显示名称",
75
+ width: 500,
76
+ height: 350,
77
+ zIndex: 99999,
78
+ className: "context-wrap__content",
79
+ success: ({ data: _ }) => n(_),
80
+ showFooter: !1
81
+ }
82
+ );
83
+ });
84
+ }
85
+ const De = {
86
+ [O.TEXT]: "string",
87
+ [O.NUMBER]: "number",
88
+ [O.DATE]: "date",
89
+ [O.SELECT_R]: "radio_▼",
90
+ [O.SELECT_M]: "multiple_▼",
91
+ [O.SELECT_T]: "tree_▼"
92
+ };
93
+ function de(r) {
94
+ return De[r];
95
+ }
96
+ const B = U(""), Le = [
97
+ { label: "列配置", value: D.COLUMN },
98
+ { label: "检索配置", value: D.FILTER }
99
+ ], se = [
100
+ { label: "无", value: V.NONE },
101
+ { label: "求和", value: V.SUM },
102
+ { label: "平均", value: V.AVERAGE },
103
+ { label: "最大值", value: V.MAX },
104
+ { label: "最小值", value: V.MIN },
105
+ { label: "计数", value: V.COUNT },
106
+ { label: "去重计数", value: V.COUNTDISTINCT }
107
+ ], ie = [
108
+ { label: "无", value: Q.NONE },
109
+ { label: "占比", value: Q.RATE }
110
+ ], K = [
111
+ { label: "无", value: q.NONE },
112
+ { label: "升序", value: q.ASC },
113
+ { label: "降序", value: q.DESC }
114
+ ], ee = [
115
+ { label: "无", value: G.NONE },
116
+ { label: "合计", value: G.SUM }
117
+ ], te = [
118
+ { label: "隐藏", value: F.HIDE },
119
+ { label: "显示", value: F.SHOW }
120
+ ], re = [
121
+ { label: "不统计", value: Z.NONE },
122
+ { label: "统计", value: Z.STATISTICS }
123
+ ], ue = [
124
+ { label: "AND", value: z.AND },
125
+ { label: "OR", value: z.OR }
126
+ ], xe = [
127
+ {
128
+ label: "排序方式",
129
+ value: f.SORT,
130
+ children: K
131
+ },
132
+ {
133
+ label: "显示名称",
134
+ value: f.EDIT_NAME
135
+ },
136
+ {
137
+ label: "是否隐藏",
138
+ value: f.SHOW,
139
+ children: te
140
+ },
141
+ {
142
+ label: "分组统计",
143
+ value: f.STATISTICS,
144
+ children: re
145
+ },
146
+ {
147
+ label: "底部合计",
148
+ value: f.SUM,
149
+ children: ee
150
+ },
151
+ {
152
+ label: "小数位数",
153
+ value: f.POINT
154
+ }
155
+ ], Me = [
156
+ {
157
+ label: "显示名称",
158
+ value: f.EDIT_NAME
159
+ }
160
+ ], Ae = [
161
+ {
162
+ label: "汇总方式",
163
+ value: f.COLLECT,
164
+ children: se
165
+ },
166
+ {
167
+ label: "占比计算",
168
+ value: f.CALC,
169
+ children: ie
170
+ },
171
+ {
172
+ label: "排序方式",
173
+ value: f.SORT,
174
+ children: K
175
+ },
176
+ {
177
+ label: "显示名称",
178
+ value: f.EDIT_NAME
179
+ },
180
+ {
181
+ label: "小数位数",
182
+ value: f.POINT
183
+ },
184
+ {
185
+ label: "底部合计",
186
+ value: f.SUM,
187
+ children: ee
188
+ },
189
+ {
190
+ label: "是否隐藏",
191
+ value: f.SHOW,
192
+ children: te
193
+ }
194
+ ], Ue = { class: "extend-content__text" }, Re = { key: 0 }, Fe = ["onClick"], ze = /* @__PURE__ */ x({
195
+ __name: "extendItem",
196
+ props: ["data", "size"],
197
+ emits: ["click"],
198
+ setup(r) {
199
+ const n = r, _ = U(n.size.right), p = U(n.size.top), m = A("stateSetting", {});
200
+ fe(() => {
201
+ B.value = "";
202
+ });
203
+ function y(t) {
204
+ var d, e;
205
+ _.value = ((e = (d = document.querySelector(".context-box")) == null ? void 0 : d.getBoundingClientRect()) == null ? void 0 : e.right) || n.size.right;
206
+ const l = t.target;
207
+ p.value = n.size.top + l.offsetTop, n.data.children && n.data.children.length ? B.value = n.data.label : B.value = "";
208
+ }
209
+ function u(t) {
210
+ const l = {
211
+ [f.COLLECT]: () => o.set(
212
+ o.find(m.indicator, {
213
+ field_key: n.data.data.field_key
214
+ }),
215
+ "field_way",
216
+ t.value
217
+ ),
218
+ [f.CALC]: () => o.set(
219
+ o.find(m.indicator, {
220
+ field_key: n.data.data.field_key
221
+ }),
222
+ "field_proportion",
223
+ t.value
224
+ ),
225
+ [f.SORT]: () => {
226
+ o.set(o.find(m.columns, { field_key: n.data.data.field_key }), "report_field_sort", t.value), o.set(
227
+ o.find(m.indicator, {
228
+ field_key: n.data.data.field_key
229
+ }),
230
+ "report_field_sort",
231
+ t.value
232
+ );
233
+ },
234
+ [f.STATISTICS]: () => o.set(o.find(m.columns, { field_key: n.data.data.field_key }), "report_field_group", t.value),
235
+ [f.SUM]: () => {
236
+ o.set(o.find(m.columns, { field_key: n.data.data.field_key }), "report_field_sum", t.value), o.set(
237
+ o.find(m.indicator, {
238
+ field_key: n.data.data.field_key
239
+ }),
240
+ "report_field_sum",
241
+ t.value
242
+ );
243
+ },
244
+ [f.SHOW]: () => {
245
+ o.set(o.find(m.columns, { field_key: n.data.data.field_key }), "report_field_show", t.value), o.set(
246
+ o.find(m.indicator, {
247
+ field_key: n.data.data.field_key
248
+ }),
249
+ "report_field_show",
250
+ t.value
251
+ );
252
+ }
253
+ };
254
+ o.get(l, n.data.value) && (o.get(l, n.data.value)(), ye(() => {
255
+ var d, e;
256
+ _.value = ((e = (d = document.querySelector(".context-box")) == null ? void 0 : d.getBoundingClientRect()) == null ? void 0 : e.right) || n.size.right;
257
+ }));
258
+ }
259
+ function s(t) {
260
+ switch (n.data.value) {
261
+ case f.COLLECT:
262
+ return n.data.data.field_way === t.value;
263
+ case f.CALC:
264
+ return n.data.data.field_proportion === t.value;
265
+ case f.SORT:
266
+ return n.data.data.report_field_sort === t.value;
267
+ case f.SUM:
268
+ return n.data.data.report_field_sum === t.value;
269
+ case f.SHOW:
270
+ return n.data.data.report_field_show === t.value;
271
+ case f.STATISTICS:
272
+ return n.data.data.report_field_group === t.value;
273
+ }
274
+ }
275
+ function a() {
276
+ var t, l, d, e, h, C;
277
+ switch (n.data.value) {
278
+ case f.COLLECT:
279
+ return ((t = o.find(se, { value: n.data.data.field_way })) == null ? void 0 : t.label) || "";
280
+ case f.CALC:
281
+ return ((l = o.find(ie, { value: n.data.data.field_proportion })) == null ? void 0 : l.label) || "";
282
+ case f.SORT:
283
+ return ((d = o.find(K, { value: n.data.data.report_field_sort })) == null ? void 0 : d.label) || "";
284
+ case f.POINT:
285
+ return n.data.data.report_field_point || "";
286
+ case f.SUM:
287
+ return ((e = o.find(ee, { value: n.data.data.report_field_sum })) == null ? void 0 : e.label) || "";
288
+ case f.SHOW:
289
+ return ((h = o.find(te, { value: n.data.data.report_field_show })) == null ? void 0 : h.label) || "";
290
+ case f.STATISTICS:
291
+ return ((C = o.find(re, { value: n.data.data.report_field_group })) == null ? void 0 : C.label) || "";
292
+ default:
293
+ return "";
294
+ }
295
+ }
296
+ return (t, l) => {
297
+ const d = b("bc-icon");
298
+ return c(), T(L, null, [
299
+ v("div", {
300
+ class: "extend-content",
301
+ onMouseenter: y,
302
+ onClick: l[0] || (l[0] = (e) => t.$emit("click"))
303
+ }, [
304
+ v("span", Ue, [
305
+ w(S(r.data.label) + " ", 1),
306
+ a() ? (c(), T("span", Re, "(" + S(a()) + ")", 1)) : E("", !0)
307
+ ]),
308
+ r.data.children && r.data.children.length ? (c(), I(d, {
309
+ key: 0,
310
+ name: "ele-ArrowRight"
311
+ })) : E("", !0)
312
+ ], 32),
313
+ (c(), I(me, { to: "body" }, [
314
+ i(B) === r.data.label ? (c(), T("div", {
315
+ key: 0,
316
+ class: "context-wrap__content",
317
+ style: ve({ left: `${_.value}px`, top: `${p.value}px` })
318
+ }, [
319
+ (c(!0), T(L, null, R(r.data.children, (e, h) => (c(), T("div", {
320
+ class: "content__item",
321
+ key: h,
322
+ onClick: (C) => u(e)
323
+ }, [
324
+ v("span", null, S(e.label), 1),
325
+ s(e) ? (c(), I(d, {
326
+ key: 0,
327
+ name: "ele-Check",
328
+ color: "#409eff"
329
+ })) : E("", !0)
330
+ ], 8, Fe))), 128))
331
+ ], 4)) : E("", !0)
332
+ ]))
333
+ ], 64);
334
+ };
335
+ }
336
+ }), Pe = /* @__PURE__ */ M(ze, [["__scopeId", "data-v-22544e98"]]), qe = { class: "source-column-cell" }, He = { class: "column-title" }, We = ["data-column"], Be = { class: "tip-icon" }, je = ["onClick"], Ge = /* @__PURE__ */ x({
337
+ __name: "dragItem",
338
+ props: /* @__PURE__ */ ne({
339
+ tip: {
340
+ type: String,
341
+ default: "标题"
342
+ },
343
+ title: {
344
+ type: String,
345
+ default: "field_name"
346
+ },
347
+ field: {
348
+ type: String,
349
+ default: "field_key"
350
+ },
351
+ type: {
352
+ type: String,
353
+ default: "columns"
354
+ }
355
+ }, {
356
+ modelValue: { default: [] },
357
+ modelModifiers: {}
358
+ }),
359
+ emits: ["update:modelValue"],
360
+ setup(r) {
361
+ const n = r, _ = oe(r, "modelValue"), p = ae({
362
+ get: () => _.value,
363
+ set(s) {
364
+ _.value = s.map((a, t) => ({ ...a, data_sort: t }));
365
+ }
366
+ });
367
+ function m(s) {
368
+ const a = _.value.findIndex((t) => o.get(t, n.field) === s);
369
+ _.value.splice(a, 1);
370
+ }
371
+ function y(s, a) {
372
+ var t;
373
+ s.value === f.EDIT_NAME && Ve({
374
+ name: o.get(s, `data.${n.title}`),
375
+ field: o.get(s, `data.${n.field}`),
376
+ show_name: o.get(s, "data.show_name", "")
377
+ }).then((l) => {
378
+ l !== "cancel" && (o.set(o.find(_.value, { field_key: s.data.field_key }), "show_name", l), a());
379
+ }), s.value === f.POINT && Te.prompt("请填写小数位数", "提示", {
380
+ confirmButtonText: "确定",
381
+ cancelButtonText: "取消",
382
+ inputPattern: /^\d+$/,
383
+ inputErrorMessage: "请输入数字",
384
+ draggable: !0,
385
+ inputValue: (t = o.find(_.value, { field_key: s.data.field_key })) == null ? void 0 : t.report_field_point,
386
+ customClass: "context-wrap__content"
387
+ }).then(({ value: l }) => {
388
+ o.set(o.find(_.value, { field_key: s.data.field_key }), "report_field_point", l);
389
+ });
390
+ }
391
+ function u(s) {
392
+ const a = {
393
+ columns: xe,
394
+ querys: Me,
395
+ indicator: Ae
396
+ };
397
+ return n.type === "columns" && s.query_type !== O.NUMBER ? o.get(a, n.type, []).filter((t) => t.value !== f.POINT).map((t) => Object.assign(t, { data: s })) : o.get(a, n.type, []).map((t) => Object.assign(t, { data: s }));
398
+ }
399
+ return (s, a) => {
400
+ const t = b("el-empty"), l = b("bc-icon"), d = b("bc-context-box");
401
+ return c(), T("div", qe, [
402
+ v("p", He, S(r.tip), 1),
403
+ v("div", {
404
+ class: "column-cell",
405
+ "data-column": r.type
406
+ }, [
407
+ p.value.length ? E("", !0) : (c(), I(t, {
408
+ key: 0,
409
+ "image-size": 50
410
+ })),
411
+ N(i(ke), {
412
+ modelValue: p.value,
413
+ "onUpdate:modelValue": a[0] || (a[0] = (e) => p.value = e),
414
+ animation: 300,
415
+ class: "field-column-wrap"
416
+ }, {
417
+ default: k(() => [
418
+ N(ge, {
419
+ type: "transition",
420
+ name: "fade"
421
+ }, {
422
+ default: k(() => [
423
+ (c(!0), T(L, null, R(p.value, (e) => (c(), I(d, {
424
+ getMenu: () => u(e),
425
+ key: i(o).get(e, n.field),
426
+ trigger: "click",
427
+ class: "field-column-item"
428
+ }, {
429
+ content: k(({ data: h, size: C, close: $ }) => [
430
+ N(Pe, {
431
+ data: h,
432
+ size: C,
433
+ onClick: (X) => y(h, $)
434
+ }, null, 8, ["data", "size", "onClick"])
435
+ ]),
436
+ default: k(() => [
437
+ v("span", Be, S(i(de)(e.query_type)), 1),
438
+ v("span", null, S(i(o).get(e, "show_name") || i(o).get(e, n.title)), 1),
439
+ v("div", {
440
+ class: "icon-delete",
441
+ onClick: P((h) => m(i(o).get(e, n.field)), ["stop"])
442
+ }, [
443
+ N(l, { name: "ele-Delete" })
444
+ ], 8, je)
445
+ ]),
446
+ _: 2
447
+ }, 1032, ["getMenu"]))), 128))
448
+ ]),
449
+ _: 1
450
+ })
451
+ ]),
452
+ _: 1
453
+ }, 8, ["modelValue"])
454
+ ], 8, We)
455
+ ]);
456
+ };
457
+ }
458
+ }), j = /* @__PURE__ */ M(Ge, [["__scopeId", "data-v-1d3a2b44"]]);
459
+ function Ye() {
460
+ const r = A("stateSetting"), n = U("");
461
+ function _(s) {
462
+ const a = s.target;
463
+ n.value = (a == null ? void 0 : a.getAttribute("data-field")) || "";
464
+ }
465
+ function p(s) {
466
+ const a = s.target.closest(".column-cell");
467
+ a && setTimeout(() => {
468
+ a.classList.add("drag-enter");
469
+ });
470
+ }
471
+ function m(s) {
472
+ const a = s.target.closest(".column-cell");
473
+ a && a.classList.remove("drag-enter");
474
+ }
475
+ function y(s) {
476
+ s.preventDefault();
477
+ }
478
+ function u(s) {
479
+ var d, e;
480
+ if (!n.value)
481
+ return;
482
+ const a = s.target.closest(".column-cell");
483
+ if (!a)
484
+ return;
485
+ a.classList.remove("drag-enter");
486
+ const t = a.getAttribute("data-column"), l = o.cloneDeep(o.find(r.sourceFields, { field_key: n.value }));
487
+ if (o.find(o.get(r, t), { id: l.id }))
488
+ return W.warning("该字段已存在");
489
+ if (t === "columns" && o.find(o.get(r, "indicator"), { id: l.id }))
490
+ return W.warning("列字段/指标已存在该字段");
491
+ if (t === "indicator" && o.find(o.get(r, "columns"), { id: l.id }))
492
+ return W.warning("列字段/维度已存在该字段");
493
+ if (t === "indicator" && l.query_type !== O.NUMBER)
494
+ return W.warning("只有数值型字段允许拖入指标列中!");
495
+ t === "columns" && (l.field_data_type = H.WEI_DU, l.report_field_sort = q.NONE, l.report_field_show = F.SHOW, l.report_field_group = Z.NONE, l.query_type === O.NUMBER && (l.report_field_point = 2), l.report_field_sum = G.NONE), t === "indicator" && (l.field_way = V.NONE, l.field_data_type = H.ZHI_BIAO, l.field_proportion = Q.NONE, l.report_field_sort = q.NONE, l.report_field_point = 2, l.report_field_sum = G.NONE, l.report_field_show = F.SHOW), t === "drills" && (l.field_data_type = H.Z_WEI_DU, l.report_field_show = F.SHOW), t === "querys" && (l.field_data_type = H.SHAI_XUAN, l.report_field_show = F.SHOW), (d = o.get(r, t)) == null || d.push(l), (e = o.get(r, t)) == null || e.forEach((h, C) => {
496
+ h.data_sort = C;
497
+ }), n.value = "";
498
+ }
499
+ return {
500
+ fieldItem: n,
501
+ onDragstart: _,
502
+ onDragenter: p,
503
+ onDragleave: m,
504
+ onDragover: y,
505
+ onDrop: u
506
+ };
507
+ }
508
+ const Xe = { class: "node-tree" }, Qe = { class: "node" }, Ze = {
509
+ key: 0,
510
+ class: "text"
511
+ }, Je = {
512
+ key: 1,
513
+ class: "btns-setting"
514
+ }, Ke = /* @__PURE__ */ x({
515
+ __name: "nodeTree",
516
+ props: /* @__PURE__ */ ne({
517
+ parent: {
518
+ type: Object,
519
+ default: () => ({})
520
+ }
521
+ }, {
522
+ modelValue: {
523
+ default: () => []
524
+ },
525
+ modelModifiers: {}
526
+ }),
527
+ emits: ["update:modelValue"],
528
+ setup(r) {
529
+ const n = oe(r, "modelValue"), _ = A("addNode"), p = A("addCondition");
530
+ return (m, y) => {
531
+ const u = b("el-dropdown-item"), s = b("el-dropdown-menu"), a = b("el-dropdown"), t = b("hs-button");
532
+ return c(), T("div", Xe, [
533
+ (c(!0), T(L, null, R(n.value, (l, d) => (c(), T("div", {
534
+ key: d,
535
+ class: "node-tree-content"
536
+ }, [
537
+ v("div", {
538
+ class: be(["node-tree-item", `level-${l.level}`, { add: l.type !== "add" }])
539
+ }, [
540
+ l.type === "add" ? (c(), I(a, { key: 0 }, {
541
+ dropdown: k(() => [
542
+ N(s, null, {
543
+ default: k(() => [
544
+ (c(!0), T(L, null, R(i(ue), (e) => (c(), I(u, {
545
+ key: e.value,
546
+ onClick: P((h) => l.relation = e.value, ["stop"])
547
+ }, {
548
+ default: k(() => [
549
+ w(S(e.label), 1)
550
+ ]),
551
+ _: 2
552
+ }, 1032, ["onClick"]))), 128))
553
+ ]),
554
+ _: 2
555
+ }, 1024)
556
+ ]),
557
+ default: k(() => [
558
+ v("span", Qe, S(l.relation), 1)
559
+ ]),
560
+ _: 2
561
+ }, 1024)) : E("", !0)
562
+ ], 2),
563
+ l.type === "add" ? (c(), T("span", Ze, S(l.nodeName), 1)) : E("", !0),
564
+ l.children && l.children.length == 0 ? (c(), T("div", Je, [
565
+ l.btnType.includes("addCondition") ? (c(), I(t, {
566
+ key: 0,
567
+ plain: "",
568
+ type: "primary",
569
+ size: "small",
570
+ onClick: P((e) => i(p)(l), ["stop"])
571
+ }, {
572
+ default: k(() => [...y[1] || (y[1] = [
573
+ w("添加条件", -1)
574
+ ])]),
575
+ _: 1
576
+ }, 8, ["onClick"])) : E("", !0),
577
+ l.btnType.includes("addNode") ? (c(), I(t, {
578
+ key: 1,
579
+ plain: "",
580
+ type: "primary",
581
+ size: "small",
582
+ onClick: y[0] || (y[0] = P((e) => i(_)(r.parent), ["stop"]))
583
+ }, {
584
+ default: k(() => [...y[2] || (y[2] = [
585
+ w("添加关系", -1)
586
+ ])]),
587
+ _: 1
588
+ })) : E("", !0)
589
+ ])) : E("", !0),
590
+ i(o).isEmpty(l.children) ? E("", !0) : (c(), I(ce, {
591
+ key: 2,
592
+ class: "node-tree-children",
593
+ modelValue: l.children,
594
+ "onUpdate:modelValue": (e) => l.children = e,
595
+ parent: l
596
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "parent"]))
597
+ ]))), 128))
598
+ ]);
599
+ };
600
+ }
601
+ }), ce = /* @__PURE__ */ M(Ke, [["__scopeId", "data-v-44c01cd5"]]), et = /* @__PURE__ */ x({
602
+ __name: "index",
603
+ props: {
604
+ modelValue: {
605
+ type: Array,
606
+ default: () => []
607
+ }
608
+ },
609
+ emits: ["update:modelValue"],
610
+ setup(r, { emit: n }) {
611
+ const _ = r, p = n, m = ae({
612
+ get: () => y(_.modelValue),
613
+ set: (t) => {
614
+ p("update:modelValue", t);
615
+ }
616
+ });
617
+ function y(t) {
618
+ const l = (d, e = 1) => {
619
+ for (let h of d)
620
+ h.level = e, h.children && h.children.length && l(h.children, e + 1);
621
+ };
622
+ return l(t), t;
623
+ }
624
+ function u(t) {
625
+ const l = [];
626
+ function d(e, h = []) {
627
+ return e.reduce((C, $) => (C.push($), $ != null && $.children && $.children.length && C.push(...d($.children)), C), h);
628
+ }
629
+ return d(t, l), l;
630
+ }
631
+ function s(t) {
632
+ const d = u(m.value).find(($) => $.nodeId == t.nodeId);
633
+ if (!d)
634
+ return;
635
+ const e = d.children.length, h = Y(), C = o.cloneDeep(d.children);
636
+ C.splice(e - 1, 0, {
637
+ nodeName: "",
638
+ pId: d.nodeId,
639
+ nodeId: h,
640
+ type: "add",
641
+ btnType: ["addCondition", "addNode"],
642
+ relation: z.AND,
643
+ children: [
644
+ {
645
+ nodeName: "",
646
+ pId: h,
647
+ nodeId: Y(),
648
+ btnType: ["addCondition", "addNode"],
649
+ relation: z.AND,
650
+ children: []
651
+ }
652
+ ]
653
+ }), C.length > 1 && o.get(C, "0.children.0.btnType") && o.set(C, "0.children.0.btnType", ["addCondition"]), d.children = C;
654
+ }
655
+ function a(t) {
656
+ const d = u(m.value).find((e) => e.nodeId == t.pId);
657
+ vt(t).then((e) => {
658
+ d != null && d.children && (d == null ? void 0 : d.children.length) === 1 ? Object.assign(d, e, {
659
+ btnType: [],
660
+ type: "add",
661
+ children: []
662
+ }) : Object.assign(t, e, {
663
+ btnType: [],
664
+ type: "add",
665
+ children: []
666
+ });
667
+ });
668
+ }
669
+ return le("addNode", s), le("addCondition", a), (t, l) => (c(), I(ce, {
670
+ modelValue: m.value,
671
+ "onUpdate:modelValue": l[0] || (l[0] = (d) => m.value = d)
672
+ }, null, 8, ["modelValue"]));
673
+ }
674
+ }), tt = /* @__PURE__ */ M(et, [["__scopeId", "data-v-140b89c8"]]), lt = { class: "sql-wraper" }, nt = { class: "content" }, ot = { class: "footer" }, at = /* @__PURE__ */ x({
675
+ __name: "popup",
676
+ props: {
677
+ sql: {
678
+ type: String
679
+ },
680
+ close: {
681
+ type: Function
682
+ }
683
+ },
684
+ setup(r) {
685
+ const n = r, _ = Y(), p = U([
686
+ {
687
+ nodeName: "",
688
+ pId: "",
689
+ nodeId: _,
690
+ type: "add",
691
+ relation: z.AND,
692
+ btnType: ["addCondition", "addNode"],
693
+ children: [
694
+ {
695
+ nodeName: "",
696
+ pId: _,
697
+ nodeId: Y(),
698
+ relation: z.AND,
699
+ btnType: ["addCondition", "addNode"],
700
+ children: []
701
+ }
702
+ ]
703
+ }
704
+ ]);
705
+ function m() {
706
+ let y = "";
707
+ const u = (s) => {
708
+ for (let a of s)
709
+ a.type === "add" && a.nodeName && (y += `${a.relation} ${a.nodeName} `), a.children && a.children.length && u(a.children);
710
+ };
711
+ u(p.value), n.close(y);
712
+ }
713
+ return (y, u) => {
714
+ const s = b("el-button"), a = b("bc-button");
715
+ return c(), T("div", lt, [
716
+ v("div", nt, [
717
+ N(i(tt), {
718
+ modelValue: p.value,
719
+ "onUpdate:modelValue": u[0] || (u[0] = (t) => p.value = t)
720
+ }, null, 8, ["modelValue"])
721
+ ]),
722
+ v("footer", ot, [
723
+ N(s, {
724
+ size: "default",
725
+ onClick: u[1] || (u[1] = (t) => r.close("cancel"))
726
+ }, {
727
+ default: k(() => [...u[2] || (u[2] = [
728
+ w("关闭", -1)
729
+ ])]),
730
+ _: 1
731
+ }),
732
+ N(a, {
733
+ type: "primary",
734
+ size: "default",
735
+ onClick: m
736
+ }, {
737
+ default: k(() => [...u[3] || (u[3] = [
738
+ w("确定", -1)
739
+ ])]),
740
+ _: 1
741
+ })
742
+ ])
743
+ ]);
744
+ };
745
+ }
746
+ }), dt = /* @__PURE__ */ M(at, [["__scopeId", "data-v-519bd5a5"]]), st = { class: "sql-wraper" }, it = { class: "content" }, rt = { class: "item" }, ut = { class: "node" }, ct = { class: "param-item" }, _t = { class: "footer" }, pt = /* @__PURE__ */ x({
747
+ __name: "addCondition",
748
+ props: {
749
+ condition: {
750
+ type: Object,
751
+ default: () => ({})
752
+ },
753
+ close: {
754
+ type: Function
755
+ }
756
+ },
757
+ setup(r) {
758
+ const n = r, _ = U(n.condition);
759
+ function p() {
760
+ n.close(_.value);
761
+ }
762
+ return (m, y) => {
763
+ const u = b("el-dropdown-item"), s = b("el-dropdown-menu"), a = b("el-dropdown"), t = b("el-input"), l = b("el-button"), d = b("bc-button");
764
+ return c(), T("div", st, [
765
+ v("div", it, [
766
+ v("div", rt, [
767
+ N(a, null, {
768
+ dropdown: k(() => [
769
+ N(s, null, {
770
+ default: k(() => [
771
+ (c(!0), T(L, null, R(i(ue), (e) => (c(), I(u, {
772
+ key: e.value,
773
+ onClick: P((h) => _.value.relation = e.value, ["stop"])
774
+ }, {
775
+ default: k(() => [
776
+ w(S(e.label), 1)
777
+ ]),
778
+ _: 2
779
+ }, 1032, ["onClick"]))), 128))
780
+ ]),
781
+ _: 1
782
+ })
783
+ ]),
784
+ default: k(() => [
785
+ v("span", ut, S(_.value.relation), 1)
786
+ ]),
787
+ _: 1
788
+ }),
789
+ v("div", ct, [
790
+ y[2] || (y[2] = v("span", { class: "show-name" }, "固定值", -1)),
791
+ N(t, {
792
+ modelValue: _.value.nodeName,
793
+ "onUpdate:modelValue": y[0] || (y[0] = (e) => _.value.nodeName = e),
794
+ size: "default",
795
+ clearable: "",
796
+ placeholder: "请输入"
797
+ }, null, 8, ["modelValue"])
798
+ ])
799
+ ])
800
+ ]),
801
+ v("footer", _t, [
802
+ N(l, {
803
+ size: "default",
804
+ onClick: y[1] || (y[1] = (e) => r.close("cancel"))
805
+ }, {
806
+ default: k(() => [...y[3] || (y[3] = [
807
+ w("关闭", -1)
808
+ ])]),
809
+ _: 1
810
+ }),
811
+ N(d, {
812
+ type: "primary",
813
+ size: "default",
814
+ onClick: p
815
+ }, {
816
+ default: k(() => [...y[4] || (y[4] = [
817
+ w("确定", -1)
818
+ ])]),
819
+ _: 1
820
+ })
821
+ ])
822
+ ]);
823
+ };
824
+ }
825
+ }), ft = /* @__PURE__ */ M(pt, [["__scopeId", "data-v-dc17852a"]]);
826
+ function mt(r) {
827
+ return new Promise((n) => {
828
+ J(
829
+ dt,
830
+ { sql: r },
831
+ {
832
+ title: "添加过滤",
833
+ success: ({ data: _ }) => n(_),
834
+ showFooter: !1
835
+ }
836
+ );
837
+ });
838
+ }
839
+ function vt(r) {
840
+ return new Promise((n) => {
841
+ J(
842
+ ft,
843
+ { condition: r },
844
+ {
845
+ title: "添加条件",
846
+ width: 500,
847
+ height: 300,
848
+ success: ({ data: _ }) => n(_),
849
+ showFooter: !1
850
+ }
851
+ );
852
+ });
853
+ }
854
+ const yt = { class: "source-wraper__left" }, gt = ["data-field"], bt = { class: "tip-icon" }, ht = { class: "source-wraper__right" }, kt = {
855
+ key: 4,
856
+ class: "filtrate-cell"
857
+ }, Tt = { class: "source-btn" }, Nt = /* @__PURE__ */ x({
858
+ __name: "setting",
859
+ setup(r) {
860
+ const n = A("refreshTable"), _ = A("getReportFields"), p = A("stateSetting", {}), m = he({
861
+ value: D.COLUMN,
862
+ list: Le
863
+ }), { onDragstart: y, onDragenter: u, onDragleave: s, onDragover: a, onDrop: t } = Ye();
864
+ function l() {
865
+ mt().then((d) => {
866
+ d !== "cancel" && (p.sql = d);
867
+ });
868
+ }
869
+ return (d, e) => {
870
+ const h = b("el-option"), C = b("el-select"), $ = b("el-empty"), X = b("el-scrollbar"), _e = b("el-segmented"), pe = b("bc-button");
871
+ return c(), T("div", {
872
+ class: "source-wraper",
873
+ onDragstart: e[6] || (e[6] = //@ts-ignore
874
+ (...g) => i(y) && i(y)(...g)),
875
+ onDragover: e[7] || (e[7] = //@ts-ignore
876
+ (...g) => i(a) && i(a)(...g)),
877
+ onDragenter: e[8] || (e[8] = //@ts-ignore
878
+ (...g) => i(u) && i(u)(...g)),
879
+ onDragleave: e[9] || (e[9] = //@ts-ignore
880
+ (...g) => i(s) && i(s)(...g)),
881
+ onDrop: e[10] || (e[10] = //@ts-ignore
882
+ (...g) => i(t) && i(t)(...g))
883
+ }, [
884
+ v("div", yt, [
885
+ N(C, {
886
+ modelValue: i(p).sourceData,
887
+ "onUpdate:modelValue": e[0] || (e[0] = (g) => i(p).sourceData = g),
888
+ filterable: "",
889
+ placeholder: "请选择数据集",
890
+ size: "default",
891
+ onChange: i(_)
892
+ }, {
893
+ default: k(() => [
894
+ (c(!0), T(L, null, R(i(p).sourceList, (g) => (c(), I(h, {
895
+ key: g.field_key,
896
+ label: g.field_name,
897
+ value: g.field_key
898
+ }, null, 8, ["label", "value"]))), 128))
899
+ ]),
900
+ _: 1
901
+ }, 8, ["modelValue", "onChange"]),
902
+ N(X, { class: "flex-1" }, {
903
+ default: k(() => [
904
+ i(p).sourceFields.length ? E("", !0) : (c(), I($, { key: 0 })),
905
+ (c(!0), T(L, null, R(i(p).sourceFields, (g) => (c(), T("div", {
906
+ key: g.field_key,
907
+ "data-field": g.field_key,
908
+ draggable: "true",
909
+ class: "field-item"
910
+ }, [
911
+ v("span", bt, S(i(de)(g.query_type)), 1),
912
+ v("span", null, S(g.field_name), 1)
913
+ ], 8, gt))), 128))
914
+ ]),
915
+ _: 1
916
+ })
917
+ ]),
918
+ v("div", ht, [
919
+ N(_e, {
920
+ modelValue: m.value,
921
+ "onUpdate:modelValue": e[1] || (e[1] = (g) => m.value = g),
922
+ options: m.list,
923
+ size: "default"
924
+ }, null, 8, ["modelValue", "options"]),
925
+ N(X, { class: "source-section" }, {
926
+ default: k(() => [
927
+ m.value === i(D).COLUMN ? (c(), I(j, {
928
+ key: 0,
929
+ tip: "列字段 / 维度",
930
+ title: "field_name",
931
+ field: "field_key",
932
+ type: "columns",
933
+ modelValue: i(p).columns,
934
+ "onUpdate:modelValue": e[2] || (e[2] = (g) => i(p).columns = g)
935
+ }, null, 8, ["modelValue"])) : E("", !0),
936
+ m.value === i(D).COLUMN ? (c(), I(j, {
937
+ key: 1,
938
+ tip: "列字段 / 指标",
939
+ title: "field_name",
940
+ field: "field_key",
941
+ type: "indicator",
942
+ modelValue: i(p).indicator,
943
+ "onUpdate:modelValue": e[3] || (e[3] = (g) => i(p).indicator = g)
944
+ }, null, 8, ["modelValue"])) : E("", !0),
945
+ m.value === i(D).FILTER ? (c(), I(j, {
946
+ key: 2,
947
+ tip: "列字段 / 检索",
948
+ title: "field_name",
949
+ field: "field_key",
950
+ type: "querys",
951
+ modelValue: i(p).querys,
952
+ "onUpdate:modelValue": e[4] || (e[4] = (g) => i(p).querys = g)
953
+ }, null, 8, ["modelValue"])) : E("", !0),
954
+ m.value === i(D).FILTER ? (c(), I(j, {
955
+ key: 3,
956
+ tip: "列字段 / 钻取",
957
+ title: "field_name",
958
+ field: "field_key",
959
+ type: "drills",
960
+ modelValue: i(p).drills,
961
+ "onUpdate:modelValue": e[5] || (e[5] = (g) => i(p).drills = g)
962
+ }, null, 8, ["modelValue"])) : E("", !0),
963
+ m.value === i(D).FILTER ? (c(), T("div", kt, [
964
+ e[11] || (e[11] = v("p", { class: "filtrate-cell__title" }, "筛选配置", -1)),
965
+ v("div", { class: "filtrate-cell__content" }, [
966
+ v("div", {
967
+ class: "filtrate-cell__content--item",
968
+ onClick: l
969
+ }, "自定义筛选配置")
970
+ ])
971
+ ])) : E("", !0)
972
+ ]),
973
+ _: 1
974
+ }),
975
+ v("div", Tt, [
976
+ N(pe, {
977
+ type: "primary",
978
+ size: "default",
979
+ onClick: i(n)
980
+ }, {
981
+ default: k(() => [...e[12] || (e[12] = [
982
+ w("保存配置", -1)
983
+ ])]),
984
+ _: 1
985
+ }, 8, ["onClick"])
986
+ ])
987
+ ])
988
+ ], 32);
989
+ };
990
+ }
991
+ }), St = /* @__PURE__ */ M(Nt, [["__scopeId", "data-v-4457f1dd"]]);
992
+ export {
993
+ St as default
994
+ };