color-star-custom-components 0.0.15 → 0.0.17
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/es/CustomSelect.mjs +1 -1
- package/es/IconRenderer.mjs +1 -1
- package/es/IconSelect.mjs +1 -1
- package/es/SearchBar.mjs +114 -117
- package/es/TreeShowSelect.mjs +26 -28
- package/es/assets/SearchBar.css +1 -1
- package/es/assets/TreeShowSelect.css +1 -1
- package/es/chunks/BatchImport.B5inubHt.js +173 -0
- package/es/chunks/CustomSelect.DvKTT1Kn.js +5 -0
- package/es/chunks/CustomTitle.BBrGK8vA.js +5 -0
- package/es/chunks/FileList.CLb0j2ca.js +5 -0
- package/es/chunks/GlassProxy.Dek3zo-k.js +176 -0
- package/es/chunks/IconEmpty.DoCNu0jY.js +5 -0
- package/es/chunks/IconRenderer.DbLSQXFZ.js +60 -0
- package/es/chunks/IconSelect.DjNvTfvM.js +162 -0
- package/es/chunks/SearchBar.Dw1qAtAa.js +582 -0
- package/es/chunks/TreeSelect.BkF207wh.js +5 -0
- package/es/chunks/TreeShowSelect.DuVWWk73.js +87 -0
- package/es/chunks/UploadFile.Cll5_hce.js +5 -0
- package/es/chunks/_plugin-vue_export-helper.BgwWMokO.js +6 -0
- package/es/chunks/chunk.CWVlkNTZ.js +18 -0
- package/es/chunks/config.SfJn1-ON.js +24 -0
- package/es/chunks/config.j-piuAWF.js +24 -0
- package/es/chunks/config.t_HHFoB9.js +18 -0
- package/es/chunks/global.31sZWaXJ.js +15282 -0
- package/es/chunks/global.BEeKea4u.js +1955 -0
- package/es/chunks/global.ChqJEry4.js +7973 -0
- package/es/chunks/global.CnGuevjX.js +8168 -0
- package/es/chunks/layout.4utLpDo3.js +120 -0
- package/es/chunks/layout.84FMC7pU.js +121 -0
- package/es/chunks/layout.BsFtxlIJ.js +31 -0
- package/es/chunks/layout.C5pEEv-d.js +207 -0
- package/es/chunks/layout.CokqBzin.js +338 -0
- package/es/chunks/layout.Dix22XYV.js +113 -0
- package/es/chunks/layout.FqoRQKdx.js +59 -0
- package/es/chunks/utils.BFFtVZUp.js +10 -0
- package/es/index.mjs +1 -1
- package/lib/CustomSelect.js +1 -1
- package/lib/IconRenderer.js +1 -1
- package/lib/IconSelect.js +1 -1
- package/lib/SearchBar.js +1 -1
- package/lib/TreeShowSelect.js +1 -1
- package/lib/assets/SearchBar.css +1 -1
- package/lib/assets/TreeShowSelect.css +1 -1
- package/lib/chunks/BatchImport.Be1Oddwm.js +1 -0
- package/lib/chunks/CustomSelect.qmizu8jb.js +1 -0
- package/lib/chunks/CustomTitle.C_V_RLwQ.js +1 -0
- package/lib/chunks/FileList.DK7Iz3hw.js +1 -0
- package/lib/chunks/GlassProxy.BurTd4Wo.js +1 -0
- package/lib/chunks/IconEmpty.MspO8cAH.js +1 -0
- package/lib/chunks/IconRenderer.CepZVN9N.js +1 -0
- package/lib/chunks/IconSelect.GFCG4dmy.js +1 -0
- package/lib/chunks/SearchBar.C1eP9H7z.js +1 -0
- package/lib/chunks/TreeSelect.CKdd24_v.js +1 -0
- package/lib/chunks/TreeShowSelect.D06Kgg9y.js +1 -0
- package/lib/chunks/UploadFile.FAeNJfgq.js +1 -0
- package/lib/chunks/_plugin-vue_export-helper.Bgn9wawX.js +1 -0
- package/lib/chunks/chunk.D6xVHP8F.js +1 -0
- package/lib/chunks/config.CQdd5R1R.js +1 -0
- package/lib/chunks/config.x7rWDsG1.js +1 -0
- package/lib/chunks/global.BwmaGr1r.js +1 -0
- package/lib/chunks/global.C-GuAavy.js +1 -0
- package/lib/chunks/global.CCgRKoj5.js +1 -0
- package/lib/chunks/layout.0C5st371.js +1 -0
- package/lib/chunks/layout.966lkT12.js +1 -0
- package/lib/chunks/layout.C4airLP9.js +1 -0
- package/lib/chunks/layout.ChiWtlly.js +1 -0
- package/lib/chunks/layout.DF2j_cdu.js +1 -0
- package/lib/chunks/layout.DjMFll_s.js +1 -0
- package/lib/chunks/layout.DutPtWqI.js +1 -0
- package/lib/chunks/utils.a5Y3RKNY.js +1 -0
- package/lib/index.js +1 -1
- package/package.json +7 -7
package/es/TreeShowSelect.mjs
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { w as P } from "./chunks/index.bCzIhWFw.js";
|
|
2
|
-
import { useAttrs as L, ref as m, computed as v, watch as C, createBlock as D, openBlock as z, unref as
|
|
2
|
+
import { useAttrs as L, ref as m, computed as v, watch as C, createBlock as D, openBlock as z, unref as u, withCtx as p, createElementVNode as d, normalizeStyle as A, toDisplayString as _, createVNode as x, mergeProps as R, renderSlot as g } from "vue";
|
|
3
3
|
import { ElAutoResizer as j } from "element-plus";
|
|
4
|
-
import { T as
|
|
4
|
+
import { T as b } from "./chunks/layout.doc0wm3z.js";
|
|
5
5
|
import { _ as B } from "./chunks/_plugin-vue_export-helper.CHgC5LLL.js";
|
|
6
6
|
import './assets/TreeShowSelect.css';const E = { class: "left-box w-50-percent flex flex-col overflow-hidden" }, H = { class: "head-box fz-14 pd-t-8 pd-b-8 pd-l-12 pd-r-12 mg-b-8 text-202434" }, I = { class: "pd-r-12 pd-l-12 flex-1 overflow-hidden" }, M = { class: "right-box w-50-percent flex flex-col overflow-hidden" }, O = { class: "head-box fz-14 pd-t-8 pd-b-8 pd-l-12 pd-r-12 mg-b-8 text-202434" }, U = { class: "pd-r-12 pd-l-12 flex-1 selected-list overflow-hidden pd-t-8" }, $ = /* @__PURE__ */ Object.assign({
|
|
7
7
|
name: "TreeShowSelect"
|
|
@@ -20,50 +20,49 @@ import './assets/TreeShowSelect.css';const E = { class: "left-box w-50-percent f
|
|
|
20
20
|
}
|
|
21
21
|
},
|
|
22
22
|
emits: ["getCheckedNode"],
|
|
23
|
-
setup(
|
|
24
|
-
const s =
|
|
25
|
-
const { selectedNode: l, selectedValue:
|
|
23
|
+
setup(w, { emit: N }) {
|
|
24
|
+
const s = w, S = N, r = L(), a = m(), y = v(() => r.treeProps ? r.treeProps : { value: "id", label: "label", children: "children" }), f = (e) => String(e).includes("%") ? e : e + "px", t = m([]), h = v(() => s.rightTreeList && s.rightTreeList.length > 0 ? s.rightTreeList : t.value), V = (e) => {
|
|
25
|
+
const { selectedNode: l, selectedValue: n, selectedParentNodes: i } = e;
|
|
26
26
|
t.value = l, S("getCheckedNode", {
|
|
27
|
-
selectedValue:
|
|
27
|
+
selectedValue: n,
|
|
28
28
|
// 选中节点的值的集合
|
|
29
29
|
selectedNode: l,
|
|
30
30
|
// // 选中节点的集合
|
|
31
|
-
selectedParentNodes:
|
|
31
|
+
selectedParentNodes: i
|
|
32
32
|
});
|
|
33
|
-
}, k = (e) => {
|
|
34
|
-
a.value?.setNodeCheckStatus(e[y.value.value], !1);
|
|
35
33
|
}, T = (e) => {
|
|
34
|
+
a.value?.setNodeCheckStatus(e[y.value.value], !1);
|
|
35
|
+
}, k = (e) => {
|
|
36
36
|
t.value = e || [];
|
|
37
37
|
};
|
|
38
38
|
return C(
|
|
39
39
|
() => s.modelValue,
|
|
40
40
|
(e) => {
|
|
41
|
-
|
|
41
|
+
k(e);
|
|
42
42
|
},
|
|
43
43
|
{ immediate: !0, deep: !0 }
|
|
44
|
-
), (e, l) => (z(), D(
|
|
45
|
-
default:
|
|
44
|
+
), (e, l) => (z(), D(u(j), null, {
|
|
45
|
+
default: p(({ width: n, height: i }) => [
|
|
46
46
|
d("div", {
|
|
47
47
|
class: "out-box flex radius-8 text-202434 overflow-hidden",
|
|
48
48
|
style: A({
|
|
49
|
-
width: f(
|
|
50
|
-
height: f(
|
|
49
|
+
width: f(n),
|
|
50
|
+
height: f(i)
|
|
51
51
|
})
|
|
52
52
|
}, [
|
|
53
53
|
d("div", E, [
|
|
54
54
|
d("div", H, _(a.value && a.value.allNodeNumbers || 0) + "项 ", 1),
|
|
55
55
|
d("div", I, [
|
|
56
|
-
x(
|
|
56
|
+
x(b, R({
|
|
57
57
|
modelValue: t.value,
|
|
58
58
|
"onUpdate:modelValue": l[0] || (l[0] = (o) => t.value = o),
|
|
59
59
|
ref_key: "treeRef",
|
|
60
60
|
ref: a
|
|
61
|
-
},
|
|
62
|
-
node:
|
|
61
|
+
}, u(r), { onHandleCheck: V }), {
|
|
62
|
+
node: p(({ node: o, data: c }) => [
|
|
63
63
|
g(e.$slots, "node", {
|
|
64
64
|
node: o,
|
|
65
|
-
data:
|
|
66
|
-
checkedNodes: t.value
|
|
65
|
+
data: c
|
|
67
66
|
}, void 0, !0)
|
|
68
67
|
]),
|
|
69
68
|
_: 3
|
|
@@ -71,23 +70,22 @@ import './assets/TreeShowSelect.css';const E = { class: "left-box w-50-percent f
|
|
|
71
70
|
])
|
|
72
71
|
]),
|
|
73
72
|
d("div", M, [
|
|
74
|
-
d("div", O, _(
|
|
73
|
+
d("div", O, _(h.value.length) + "项 ", 1),
|
|
75
74
|
d("div", U, [
|
|
76
|
-
x(
|
|
75
|
+
x(b, {
|
|
77
76
|
modelValue: t.value,
|
|
78
77
|
"onUpdate:modelValue": l[1] || (l[1] = (o) => t.value = o),
|
|
79
78
|
class: "tree-select-list",
|
|
80
|
-
treeProps:
|
|
81
|
-
treeList:
|
|
79
|
+
treeProps: u(r).treeProps,
|
|
80
|
+
treeList: h.value,
|
|
82
81
|
isListMode: !0,
|
|
83
82
|
isMultiple: !1,
|
|
84
|
-
onHandleDeleteNode:
|
|
83
|
+
onHandleDeleteNode: T
|
|
85
84
|
}, {
|
|
86
|
-
node:
|
|
85
|
+
node: p(({ node: o, data: c }) => [
|
|
87
86
|
g(e.$slots, "node", {
|
|
88
87
|
node: o,
|
|
89
|
-
data:
|
|
90
|
-
checkedNodes: n.value
|
|
88
|
+
data: c
|
|
91
89
|
}, void 0, !0)
|
|
92
90
|
]),
|
|
93
91
|
_: 3
|
|
@@ -99,7 +97,7 @@ import './assets/TreeShowSelect.css';const E = { class: "left-box w-50-percent f
|
|
|
99
97
|
_: 3
|
|
100
98
|
}));
|
|
101
99
|
}
|
|
102
|
-
}), K = /* @__PURE__ */ B($, [["__scopeId", "data-v-
|
|
100
|
+
}), K = /* @__PURE__ */ B($, [["__scopeId", "data-v-f5dd42be"]]), W = P(K);
|
|
103
101
|
export {
|
|
104
102
|
W as TreeShowSelect,
|
|
105
103
|
W as default
|
package/es/assets/SearchBar.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.filter-form[data-v-
|
|
1
|
+
.filter-form[data-v-8a6daca8]{grid-template-columns:repeat(2,1fr);gap:10px}.filter-preview-form[data-v-8a6daca8]{display:flex}.filter-preview-form .el-form-item[data-v-8a6daca8]{width:var(--f41bc21a);margin-right:10px}.search-bar-form[data-v-8a6daca8]{grid-template-columns:repeat(auto-fit,minmax(var(--f41bc21a),1fr));gap:10px}.search-bar-form.search-bar-form-fixed[data-v-8a6daca8]{grid-template-columns:repeat(auto-fit,var(--f41bc21a))}.search-bar-form.search-bar-form-fixed.el-form--inline .el-form-item[data-v-8a6daca8]{margin-bottom:18px}.search-bar-form.el-form--inline .el-form-item[data-v-8a6daca8]{margin-right:0;margin-bottom:10px}.search-bar-form.el-form--inline .el-form-item.el-form-item--label-left[data-v-8a6daca8]{display:flex;padding:0 14px;background:var(--neutral-color-18);border-radius:8px;border:1px solid var(--parting-line)}.search-bar-form.el-form--inline .el-form-item.el-form-item--label-left[data-v-8a6daca8] .el-form-item__content{justify-content:end}.search-bar-form.el-form--inline.el-form--label-top[data-v-8a6daca8]{display:grid}.search-bar-item--wide[data-v-8a6daca8]{grid-column:span 2}.is-collapsed[data-v-43e6f39f]{max-height:var(--v6f01ec42)}.operation-buttons[data-v-43e6f39f]{width:var(--v0a879a66);z-index:1}.h-32[data-v-43e6f39f]{height:32px}.drawer-header[data-v-43e6f39f]{display:flex;justify-content:space-between;align-items:center;width:100%}.drawer-header .shrink-button[data-v-43e6f39f]{margin-left:auto}.border-top[data-v-43e6f39f]{border-top:1px solid var(--parting-line)}[data-v-43e6f39f] .el-drawer__body{padding:16px 0;display:flex;flex-direction:column;overflow:hidden}.filter-form-popover[data-v-43e6f39f]{max-height:400px}[data-v-43e6f39f] .el-drawer__header{margin-bottom:0;padding:16px 16px 0}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.w-50-percent[data-v-
|
|
1
|
+
.w-50-percent[data-v-f5dd42be]{width:50%}.out-box[data-v-f5dd42be]{border:1px solid var(--parting-line)}.out-box .head-box[data-v-f5dd42be]{border-bottom:1px solid var(--parting-line)}.out-box .left-box[data-v-f5dd42be]{border-right:1px solid var(--parting-line)}.out-box .selected-list .selected-item[data-v-f5dd42be]{height:32px}.out-box .selected-list .selected-item[data-v-f5dd42be]:hover{background:var(--primary-color-5)}.out-box .selected-list .virtual-scroller[data-v-f5dd42be]{height:100%}.tree-select-list[data-v-f5dd42be] .el-tree-node__content{margin-bottom:8px;padding:4px 0;height:32px;border-radius:8px}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { t as withInstall } from "./utils.BFFtVZUp.js";
|
|
2
|
+
import { t as layout_default$1 } from "./layout.C5pEEv-d.js";
|
|
3
|
+
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, mergeProps, openBlock, ref, toDisplayString, unref, withCtx } from "vue";
|
|
4
|
+
import { ElButton, ElDialog, ElIcon } from "element-plus";
|
|
5
|
+
import { codeMap, emitsMap, messageSuccess, uploadFileType } from "color-star-custom-methods";
|
|
6
|
+
import { IconQuery } from "color-message-lingyun-vue";
|
|
7
|
+
var ImportResultContent_default = {
|
|
8
|
+
__name: "ImportResultContent",
|
|
9
|
+
props: {
|
|
10
|
+
uploadResData: {
|
|
11
|
+
type: Object,
|
|
12
|
+
default: () => ({})
|
|
13
|
+
},
|
|
14
|
+
templateConfig: {
|
|
15
|
+
type: Object,
|
|
16
|
+
default: () => ({})
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
setup(e) {
|
|
20
|
+
let w = e, E = () => {
|
|
21
|
+
let { ossUrl: e, fileName: T } = w.uploadResData;
|
|
22
|
+
w.templateConfig.downloadErrorFile(T, e, w.templateConfig.isNeedTransform);
|
|
23
|
+
};
|
|
24
|
+
return (w, D) => (openBlock(), createElementBlock(Fragment, null, [createElementVNode("p", null, " 共" + toDisplayString(e.uploadResData.total || 0) + "条数据,其中" + toDisplayString(e.uploadResData.successTotal || 0) + "条数据成功," + toDisplayString(e.uploadResData.failureTotal || 0) + "条失败 ", 1), createElementVNode("p", { style: { color: "var(--text-color-4)" } }, [D[0] ||= createElementVNode("span", null, "失败原因请下载", -1), createElementVNode("span", {
|
|
25
|
+
class: "pointer",
|
|
26
|
+
style: { color: "var(--error-color-1)" },
|
|
27
|
+
onClick: E
|
|
28
|
+
}, " 错误报告 ")])], 64));
|
|
29
|
+
}
|
|
30
|
+
}, _hoisted_1 = {
|
|
31
|
+
key: 0,
|
|
32
|
+
class: "flex items-center"
|
|
33
|
+
}, _hoisted_2 = {
|
|
34
|
+
key: 0,
|
|
35
|
+
class: "flex items-center flex-1 fz-12"
|
|
36
|
+
}, _hoisted_3 = { key: 1 };
|
|
37
|
+
const BatchImport = withInstall(/* @__PURE__ */ Object.assign({ name: "BatchImport" }, {
|
|
38
|
+
__name: "layout",
|
|
39
|
+
props: {
|
|
40
|
+
modelValue: {
|
|
41
|
+
type: Boolean,
|
|
42
|
+
default: !1
|
|
43
|
+
},
|
|
44
|
+
title: {
|
|
45
|
+
type: String,
|
|
46
|
+
default: "导入"
|
|
47
|
+
},
|
|
48
|
+
templateName: {
|
|
49
|
+
type: String,
|
|
50
|
+
default: "导入"
|
|
51
|
+
},
|
|
52
|
+
width: {
|
|
53
|
+
type: Number,
|
|
54
|
+
default: 520
|
|
55
|
+
},
|
|
56
|
+
templateConfig: {
|
|
57
|
+
type: Object,
|
|
58
|
+
default: () => ({})
|
|
59
|
+
},
|
|
60
|
+
uploadFileConfig: {
|
|
61
|
+
type: Object,
|
|
62
|
+
default: () => {}
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
emits: [emitsMap.updateModelValue, emitsMap.uploadSuccess],
|
|
66
|
+
setup(e, { emit: T }) {
|
|
67
|
+
let O = { templateFileName: "导入模板.xlsx" }, k = {
|
|
68
|
+
uploadFileType: [uploadFileType.xlsx, uploadFileType.xls],
|
|
69
|
+
isCustomRequest: !0,
|
|
70
|
+
multiple: !1,
|
|
71
|
+
rowCount: 1,
|
|
72
|
+
maxCount: 1
|
|
73
|
+
}, A = e, j = T, M = ref([]), N = computed({
|
|
74
|
+
get() {
|
|
75
|
+
return A.modelValue;
|
|
76
|
+
},
|
|
77
|
+
set(e) {
|
|
78
|
+
j(emitsMap.updateModelValue, e);
|
|
79
|
+
}
|
|
80
|
+
}), P = computed(() => R.value === "result" ? "导入结果" : A.title), F = computed(() => ({
|
|
81
|
+
...k,
|
|
82
|
+
...A.uploadFileConfig
|
|
83
|
+
})), I = computed(() => ({
|
|
84
|
+
...O,
|
|
85
|
+
...A.templateConfig
|
|
86
|
+
})), L = () => {
|
|
87
|
+
I.value.downloadTemplate({}, I.value.templateFileName);
|
|
88
|
+
}, R = ref("upload"), z = ref({}), B = () => {
|
|
89
|
+
N.value = !1;
|
|
90
|
+
};
|
|
91
|
+
function V(e, w) {
|
|
92
|
+
let T = `${w}.${e.name.split(".").pop()}`;
|
|
93
|
+
return new File([e], T, {
|
|
94
|
+
type: e.type,
|
|
95
|
+
lastModified: e.lastModified
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
let H = ref(null), U = async () => {
|
|
99
|
+
let e = A.uploadFileConfig?.fileName || M.value?.[0]?.raw?.name;
|
|
100
|
+
F.value?.apiConfig({
|
|
101
|
+
...F.value?.params,
|
|
102
|
+
file: V(M.value?.[0]?.raw, e)
|
|
103
|
+
}).then((e) => {
|
|
104
|
+
let { data: w } = e;
|
|
105
|
+
H.value = w;
|
|
106
|
+
let { failureTotal: T, successTotal: E } = w;
|
|
107
|
+
e.code === codeMap.success && (T ? (R.value = "result", z.value = w, E && j(emitsMap.uploadSuccess)) : (messageSuccess(`文件导入成功,共导入数据:${E}条`), j(emitsMap.uploadSuccess), N.value = !1));
|
|
108
|
+
});
|
|
109
|
+
}, W = () => {
|
|
110
|
+
N.value = !1;
|
|
111
|
+
};
|
|
112
|
+
return (T, E) => (openBlock(), createBlock(unref(ElDialog), {
|
|
113
|
+
modelValue: N.value,
|
|
114
|
+
"onUpdate:modelValue": E[1] ||= (e) => N.value = e,
|
|
115
|
+
title: P.value,
|
|
116
|
+
width: e.width,
|
|
117
|
+
"close-on-click-modal": !1,
|
|
118
|
+
"close-on-press-escape": !1,
|
|
119
|
+
onClose: W
|
|
120
|
+
}, {
|
|
121
|
+
footer: withCtx(() => [R.value === "upload" ? (openBlock(), createElementBlock("div", _hoisted_1, [
|
|
122
|
+
I.value?.downloadTemplate ? (openBlock(), createElementBlock("div", _hoisted_2, [
|
|
123
|
+
createVNode(unref(ElIcon), {
|
|
124
|
+
size: 14,
|
|
125
|
+
color: "var(--text-color-4)"
|
|
126
|
+
}, {
|
|
127
|
+
default: withCtx(() => [createVNode(unref(IconQuery))]),
|
|
128
|
+
_: 1
|
|
129
|
+
}),
|
|
130
|
+
E[2] ||= createElementVNode("div", { class: "text-74798c pd-l-4" }, "还没有模板?点击下载", -1),
|
|
131
|
+
createElementVNode("div", {
|
|
132
|
+
class: "text-3b64ff pointer",
|
|
133
|
+
onClick: L
|
|
134
|
+
}, " 《" + toDisplayString(e.templateName) + "模板》 ", 1)
|
|
135
|
+
])) : createCommentVNode("", !0),
|
|
136
|
+
createVNode(unref(ElButton), { onClick: W }, {
|
|
137
|
+
default: withCtx(() => [...E[3] ||= [createTextVNode("取消", -1)]]),
|
|
138
|
+
_: 1
|
|
139
|
+
}),
|
|
140
|
+
createVNode(unref(ElButton), {
|
|
141
|
+
type: "primary",
|
|
142
|
+
onClick: U,
|
|
143
|
+
disabled: !M.value?.length
|
|
144
|
+
}, {
|
|
145
|
+
default: withCtx(() => [...E[4] ||= [createTextVNode(" 确认 ", -1)]]),
|
|
146
|
+
_: 1
|
|
147
|
+
}, 8, ["disabled"])
|
|
148
|
+
])) : createCommentVNode("", !0), R.value === "result" ? (openBlock(), createElementBlock("div", _hoisted_3, [createVNode(unref(ElButton), {
|
|
149
|
+
type: "primary",
|
|
150
|
+
onClick: B
|
|
151
|
+
}, {
|
|
152
|
+
default: withCtx(() => [...E[5] ||= [createTextVNode("我知道了", -1)]]),
|
|
153
|
+
_: 1
|
|
154
|
+
})])) : createCommentVNode("", !0)]),
|
|
155
|
+
default: withCtx(() => [R.value === "upload" ? (openBlock(), createBlock(layout_default$1, mergeProps({
|
|
156
|
+
key: 0,
|
|
157
|
+
modelValue: M.value,
|
|
158
|
+
"onUpdate:modelValue": E[0] ||= (e) => M.value = e
|
|
159
|
+
}, F.value), null, 16, ["modelValue"])) : createCommentVNode("", !0), R.value === "result" ? (openBlock(), createBlock(ImportResultContent_default, {
|
|
160
|
+
key: 1,
|
|
161
|
+
templateConfig: I.value,
|
|
162
|
+
uploadResData: z.value
|
|
163
|
+
}, null, 8, ["templateConfig", "uploadResData"])) : createCommentVNode("", !0)]),
|
|
164
|
+
_: 1
|
|
165
|
+
}, 8, [
|
|
166
|
+
"modelValue",
|
|
167
|
+
"title",
|
|
168
|
+
"width"
|
|
169
|
+
]));
|
|
170
|
+
}
|
|
171
|
+
}));
|
|
172
|
+
var BatchImport_default = BatchImport;
|
|
173
|
+
export { BatchImport_default as n, BatchImport as t };
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { t as withInstall } from "./utils.BFFtVZUp.js";
|
|
2
|
+
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.BgwWMokO.js";
|
|
3
|
+
import { computed, createCommentVNode, createElementBlock, createElementVNode, nextTick, normalizeClass, normalizeStyle, onMounted, onUnmounted, openBlock, ref, renderSlot, watch } from "vue";
|
|
4
|
+
import '../assets/GlassProxy.css';var _hoisted_1 = ["width", "height"], _hoisted_2 = ["width", "height"], _hoisted_3 = ["width", "height"], _hoisted_4 = ["scale"], _hoisted_5 = ["stdDeviation"];
|
|
5
|
+
const GlassProxy = withInstall(/* @__PURE__ */ _plugin_vue_export_helper_default(/* @__PURE__ */ Object.assign({ name: "GlassProxy" }, {
|
|
6
|
+
__name: "layout",
|
|
7
|
+
props: {
|
|
8
|
+
cornerRadius: {
|
|
9
|
+
type: Number,
|
|
10
|
+
default: 16
|
|
11
|
+
},
|
|
12
|
+
saturation: {
|
|
13
|
+
type: Number,
|
|
14
|
+
default: 100
|
|
15
|
+
},
|
|
16
|
+
blurAmount: {
|
|
17
|
+
type: Number,
|
|
18
|
+
default: 0
|
|
19
|
+
},
|
|
20
|
+
displacementScale: {
|
|
21
|
+
type: Number,
|
|
22
|
+
default: 20
|
|
23
|
+
},
|
|
24
|
+
padding: {
|
|
25
|
+
type: String,
|
|
26
|
+
default: "0"
|
|
27
|
+
},
|
|
28
|
+
customClass: {
|
|
29
|
+
type: String,
|
|
30
|
+
default: ""
|
|
31
|
+
},
|
|
32
|
+
background: {
|
|
33
|
+
type: String,
|
|
34
|
+
default: "transparent"
|
|
35
|
+
},
|
|
36
|
+
enableLiquidEffect: {
|
|
37
|
+
type: Boolean,
|
|
38
|
+
default: !0
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
setup(t) {
|
|
42
|
+
let r = t, b = `liquid-filter-${Math.random().toString(36).substr(2, 9)}`, x = ref(null), S = ref(null), C = ref(100), w = ref(100), T = null;
|
|
43
|
+
function E(t, r, i) {
|
|
44
|
+
return i = Math.max(0, Math.min(1, (i - t) / (r - t))), i * i * (3 - 2 * i);
|
|
45
|
+
}
|
|
46
|
+
function D(t, r) {
|
|
47
|
+
return Math.sqrt(t * t + r * r);
|
|
48
|
+
}
|
|
49
|
+
function O(t, r, i, a, o) {
|
|
50
|
+
let s = Math.abs(t) - i + o, c = Math.abs(r) - a + o;
|
|
51
|
+
return Math.min(Math.max(s, c), 0) + D(Math.max(s, 0), Math.max(c, 0)) - o;
|
|
52
|
+
}
|
|
53
|
+
let k = () => {
|
|
54
|
+
if (!x.value || !S.value || !r.enableLiquidEffect) return;
|
|
55
|
+
let t = x.value.getBoundingClientRect(), i = Math.floor(t.width), a = Math.floor(t.height);
|
|
56
|
+
if (i === 0 || a === 0) return;
|
|
57
|
+
C.value = i, w.value = a;
|
|
58
|
+
let o = window.devicePixelRatio || 1, s = Math.floor(i * o), c = Math.floor(a * o), l = document.createElement("canvas");
|
|
59
|
+
l.width = s, l.height = c;
|
|
60
|
+
let u = l.getContext("2d");
|
|
61
|
+
if (!u) return;
|
|
62
|
+
let d = u.createImageData(s, c), f = d.data, p = s / c, m = (p > 1 ? .5 * p : .5) - .02, h = (p > 1 ? .5 : .5 / p) - .02, g = Math.min(s, c), _ = r.cornerRadius * o / g;
|
|
63
|
+
for (let t = 0; t < s * c; t++) {
|
|
64
|
+
let r = t % s, i = Math.floor(t / s), a = r / s, o = i / c, l = a - .5, u = o - .5;
|
|
65
|
+
p > 1 ? l *= p : u /= p;
|
|
66
|
+
let d = E(.2, 0, O(l, u, m, h, _)), g = 127.5 + l * d * 255, v = 127.5 + u * d * 255, y = t * 4;
|
|
67
|
+
f[y] = g, f[y + 1] = v, f[y + 2] = 0, f[y + 3] = 255;
|
|
68
|
+
}
|
|
69
|
+
u.putImageData(d, 0, 0), S.value.setAttribute("href", l.toDataURL("image/png", 1));
|
|
70
|
+
}, A = computed(() => ({
|
|
71
|
+
padding: r.padding,
|
|
72
|
+
borderRadius: `${r.cornerRadius}px`,
|
|
73
|
+
position: "relative",
|
|
74
|
+
display: "block",
|
|
75
|
+
boxSizing: "border-box"
|
|
76
|
+
})), j = computed(() => ({
|
|
77
|
+
position: "absolute",
|
|
78
|
+
top: 0,
|
|
79
|
+
left: 0,
|
|
80
|
+
width: "100%",
|
|
81
|
+
height: "100%",
|
|
82
|
+
borderRadius: `${r.cornerRadius}px`,
|
|
83
|
+
background: r.background,
|
|
84
|
+
backdropFilter: `blur(10px) saturate(${r.saturation / 100})`,
|
|
85
|
+
boxShadow: "0 8px 32px 0 rgba(31, 38, 135, 0.07)",
|
|
86
|
+
zIndex: 0,
|
|
87
|
+
transform: "translateZ(0)"
|
|
88
|
+
})), M = computed(() => ({
|
|
89
|
+
position: "absolute",
|
|
90
|
+
top: 0,
|
|
91
|
+
left: 0,
|
|
92
|
+
width: "100%",
|
|
93
|
+
height: "100%",
|
|
94
|
+
borderRadius: `${r.cornerRadius}px`,
|
|
95
|
+
background: "transparent",
|
|
96
|
+
backdropFilter: "blur(12px)",
|
|
97
|
+
boxShadow: "0 4px 12px rgba(0,0,0,0.05)",
|
|
98
|
+
zIndex: 0
|
|
99
|
+
})), N = computed(() => ({
|
|
100
|
+
borderRadius: `${r.cornerRadius}px`,
|
|
101
|
+
"--corner-radius": `${r.cornerRadius}px`
|
|
102
|
+
}));
|
|
103
|
+
return onMounted(() => {
|
|
104
|
+
r.enableLiquidEffect && nextTick(() => {
|
|
105
|
+
k(), x.value && (T = new ResizeObserver(() => {
|
|
106
|
+
requestAnimationFrame(k);
|
|
107
|
+
}), T.observe(x.value));
|
|
108
|
+
});
|
|
109
|
+
}), onUnmounted(() => {
|
|
110
|
+
T && T.disconnect();
|
|
111
|
+
}), watch(() => r.enableLiquidEffect, (t) => {
|
|
112
|
+
t && nextTick(k);
|
|
113
|
+
}), (i, c) => (openBlock(), createElementBlock("div", {
|
|
114
|
+
ref_key: "containerRef",
|
|
115
|
+
ref: x,
|
|
116
|
+
class: normalizeClass(["aibox-glass-proxy", t.customClass]),
|
|
117
|
+
style: normalizeStyle(A.value)
|
|
118
|
+
}, [
|
|
119
|
+
t.enableLiquidEffect ? (openBlock(), createElementBlock("svg", {
|
|
120
|
+
key: 0,
|
|
121
|
+
class: "glass-svg-defs",
|
|
122
|
+
width: C.value,
|
|
123
|
+
height: w.value,
|
|
124
|
+
style: normalizeStyle({
|
|
125
|
+
position: "absolute",
|
|
126
|
+
pointerEvents: "none",
|
|
127
|
+
zIndex: -1,
|
|
128
|
+
top: 0,
|
|
129
|
+
left: 0,
|
|
130
|
+
clipPath: `inset(0 round ${r.cornerRadius}px)`
|
|
131
|
+
})
|
|
132
|
+
}, [createElementVNode("defs", null, [createElementVNode("filter", {
|
|
133
|
+
id: b,
|
|
134
|
+
filterUnits: "userSpaceOnUse",
|
|
135
|
+
x: "0",
|
|
136
|
+
y: "0",
|
|
137
|
+
width: C.value,
|
|
138
|
+
height: w.value,
|
|
139
|
+
"color-interpolation-filters": "sRGB"
|
|
140
|
+
}, [
|
|
141
|
+
createElementVNode("feImage", {
|
|
142
|
+
ref_key: "feImageRef",
|
|
143
|
+
ref: S,
|
|
144
|
+
result: "DISPLACEMENT_MAP",
|
|
145
|
+
width: C.value,
|
|
146
|
+
height: w.value,
|
|
147
|
+
preserveAspectRatio: "none",
|
|
148
|
+
"image-rendering": "optimizeQuality"
|
|
149
|
+
}, null, 8, _hoisted_3),
|
|
150
|
+
createElementVNode("feDisplacementMap", {
|
|
151
|
+
in: "SourceGraphic",
|
|
152
|
+
in2: "DISPLACEMENT_MAP",
|
|
153
|
+
scale: t.displacementScale,
|
|
154
|
+
xChannelSelector: "R",
|
|
155
|
+
yChannelSelector: "G"
|
|
156
|
+
}, null, 8, _hoisted_4),
|
|
157
|
+
createElementVNode("feGaussianBlur", { stdDeviation: t.blurAmount }, null, 8, _hoisted_5)
|
|
158
|
+
], 8, _hoisted_2)])], 12, _hoisted_1)) : createCommentVNode("", !0),
|
|
159
|
+
t.enableLiquidEffect ? (openBlock(), createElementBlock("div", {
|
|
160
|
+
key: 1,
|
|
161
|
+
class: "glass-liquid-bg",
|
|
162
|
+
style: normalizeStyle(j.value)
|
|
163
|
+
}, null, 4)) : (openBlock(), createElementBlock("div", {
|
|
164
|
+
key: 2,
|
|
165
|
+
class: "glass-fallback-bg",
|
|
166
|
+
style: normalizeStyle(M.value)
|
|
167
|
+
}, null, 4)),
|
|
168
|
+
createElementVNode("div", {
|
|
169
|
+
class: "glass-content-layer",
|
|
170
|
+
style: normalizeStyle(N.value)
|
|
171
|
+
}, [renderSlot(i.$slots, "default", {}, void 0, !0)], 4)
|
|
172
|
+
], 6));
|
|
173
|
+
}
|
|
174
|
+
}), [["__scopeId", "data-v-f301f72e"]]));
|
|
175
|
+
var GlassProxy_default = GlassProxy;
|
|
176
|
+
export { GlassProxy_default as n, GlassProxy as t };
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { t as withInstall } from "./utils.BFFtVZUp.js";
|
|
2
|
+
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.BgwWMokO.js";
|
|
3
|
+
import { r as iconLibraryMap, t as getIconComponent } from "./config.t_HHFoB9.js";
|
|
4
|
+
import { createBlock, createCommentVNode, mergeProps, onMounted, openBlock, ref, resolveDynamicComponent, shallowRef, unref, useCssVars, watch, withCtx } from "vue";
|
|
5
|
+
import { ElIcon } from "element-plus";
|
|
6
|
+
import '../assets/IconRenderer.css';const IconRenderer = withInstall(/* @__PURE__ */ _plugin_vue_export_helper_default(/* @__PURE__ */ Object.assign({ name: "IconRenderer" }, {
|
|
7
|
+
__name: "layout",
|
|
8
|
+
props: {
|
|
9
|
+
iconName: {
|
|
10
|
+
type: String,
|
|
11
|
+
default: ""
|
|
12
|
+
},
|
|
13
|
+
iconLibrary: {
|
|
14
|
+
type: String,
|
|
15
|
+
default: iconLibraryMap.lingyun,
|
|
16
|
+
validator: (e) => Object.values(iconLibraryMap).includes(e)
|
|
17
|
+
},
|
|
18
|
+
size: {
|
|
19
|
+
type: Number,
|
|
20
|
+
default: 16
|
|
21
|
+
},
|
|
22
|
+
color: {
|
|
23
|
+
type: String,
|
|
24
|
+
default: ""
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
setup(e) {
|
|
28
|
+
useCssVars((m) => ({ c078896a: e.color }));
|
|
29
|
+
let m = e, h = shallowRef(null), _ = ref(!1), v = async () => {
|
|
30
|
+
if (!m.iconName) {
|
|
31
|
+
h.value = null;
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
if (!_.value) {
|
|
35
|
+
_.value = !0;
|
|
36
|
+
try {
|
|
37
|
+
h.value = await getIconComponent(m.iconLibrary, m.iconName);
|
|
38
|
+
} catch (e) {
|
|
39
|
+
console.error("Failed to load icon component:", e), h.value = null;
|
|
40
|
+
} finally {
|
|
41
|
+
_.value = !1;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
return watch(() => [m.iconLibrary, m.iconName], () => {
|
|
46
|
+
v();
|
|
47
|
+
}, { immediate: !1 }), onMounted(() => {
|
|
48
|
+
v();
|
|
49
|
+
}), (m, g) => e.iconName && h.value ? (openBlock(), createBlock(unref(ElIcon), mergeProps({
|
|
50
|
+
key: 0,
|
|
51
|
+
size: e.size,
|
|
52
|
+
color: e.color
|
|
53
|
+
}, m.$attrs), {
|
|
54
|
+
default: withCtx(() => [(openBlock(), createBlock(resolveDynamicComponent(h.value)))]),
|
|
55
|
+
_: 1
|
|
56
|
+
}, 16, ["size", "color"])) : createCommentVNode("", !0);
|
|
57
|
+
}
|
|
58
|
+
}), [["__scopeId", "data-v-563503ea"]]));
|
|
59
|
+
var IconRenderer_default = IconRenderer;
|
|
60
|
+
export { IconRenderer_default as n, IconRenderer as t };
|