kouxiangtang 0.0.37 → 0.0.39
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/{AttachmentUploader-CWLoKoKO.js → AttachmentUploader-BdDkTump.js} +10 -10
- package/dist/{AttachmentUploader-CWLoKoKO.js.map → AttachmentUploader-BdDkTump.js.map} +1 -1
- package/dist/{ImageUploader-BPCSl-Ij.js → ImageUploader-CHkIpPtj.js} +8 -8
- package/dist/{ImageUploader-BPCSl-Ij.js.map → ImageUploader-CHkIpPtj.js.map} +1 -1
- package/dist/{ImagesUploader-CX234qgB.js → ImagesUploader-p9a3bu1Q.js} +2 -2
- package/dist/{ImagesUploader-CX234qgB.js.map → ImagesUploader-p9a3bu1Q.js.map} +1 -1
- package/dist/{RichTextEditor-BDGc1wPT.js → RichTextEditor-DJYZD9vY.js} +2 -2
- package/dist/RichTextEditor-DJYZD9vY.js.map +1 -0
- package/dist/{color-Dy_WcVKE.js → color-DbNhHNpt.js} +81 -81
- package/dist/{color-Dy_WcVKE.js.map → color-DbNhHNpt.js.map} +1 -1
- package/dist/{config-CTx2tfCI.js → config-B1iWoDgQ.js} +3 -3
- package/dist/{config-CTx2tfCI.js.map → config-B1iWoDgQ.js.map} +1 -1
- package/dist/{config-BhyI_tQf.js → config-BDG6ljUO.js} +2 -2
- package/dist/{config-BhyI_tQf.js.map → config-BDG6ljUO.js.map} +1 -1
- package/dist/{config-Dr-5teuG.js → config-BUyzXYu7.js} +3 -3
- package/dist/{config-Dr-5teuG.js.map → config-BUyzXYu7.js.map} +1 -1
- package/dist/{config-BC-Ld-zA.js → config-BbXDjdqk.js} +18 -13
- package/dist/{config-BC-Ld-zA.js.map → config-BbXDjdqk.js.map} +1 -1
- package/dist/{config-CNyStefo.js → config-BeivkfGi.js} +16 -11
- package/dist/{config-CNyStefo.js.map → config-BeivkfGi.js.map} +1 -1
- package/dist/{config-siOyGs2I.js → config-BmOWXJKs.js} +14 -9
- package/dist/config-BmOWXJKs.js.map +1 -0
- package/dist/{config-Bmjz4vdR.js → config-C5CioVqt.js} +45 -38
- package/dist/config-C5CioVqt.js.map +1 -0
- package/dist/{config-BeHPbbQz.js → config-C7y05luV.js} +2 -2
- package/dist/{config-BeHPbbQz.js.map → config-C7y05luV.js.map} +1 -1
- package/dist/{config-RrvqfU89.js → config-ClsjosNk.js} +2 -2
- package/dist/{config-RrvqfU89.js.map → config-ClsjosNk.js.map} +1 -1
- package/dist/{config-HAzXnrOe.js → config-CsDCisYj.js} +11 -6
- package/dist/{config-HAzXnrOe.js.map → config-CsDCisYj.js.map} +1 -1
- package/dist/{config-CYk9YSf5.js → config-CzMS2zhn.js} +48 -40
- package/dist/config-CzMS2zhn.js.map +1 -0
- package/dist/{config-BHuFyLph.js → config-DTVPd1QF.js} +2 -2
- package/dist/{config-BHuFyLph.js.map → config-DTVPd1QF.js.map} +1 -1
- package/dist/{config-DTiBkJJz.js → config-DuvmS9LR.js} +3 -3
- package/dist/{config-DTiBkJJz.js.map → config-DuvmS9LR.js.map} +1 -1
- package/dist/{config-yR53DOJ7.js → config-SWYlqm92.js} +2 -2
- package/dist/{config-yR53DOJ7.js.map → config-SWYlqm92.js.map} +1 -1
- package/dist/{config-DW7Z8H75.js → config-Xu4Cnivk.js} +2 -2
- package/dist/{config-DW7Z8H75.js.map → config-Xu4Cnivk.js.map} +1 -1
- package/dist/{config-Do1AGSTp.js → config-trKFYrjO.js} +2 -2
- package/dist/{config-Do1AGSTp.js.map → config-trKFYrjO.js.map} +1 -1
- package/dist/{index-BwzGvDow.js → index-BX1xTWzJ.js} +1217 -1205
- package/dist/index-BX1xTWzJ.js.map +1 -0
- package/dist/kouxiangtang.js +10 -10
- package/dist/kouxiangtang.umd.cjs +8 -8
- package/dist/kouxiangtang.umd.cjs.map +1 -1
- package/dist/style.css +2 -2
- package/package.json +1 -1
- package/dist/RichTextEditor-BDGc1wPT.js.map +0 -1
- package/dist/config-Bmjz4vdR.js.map +0 -1
- package/dist/config-CYk9YSf5.js.map +0 -1
- package/dist/config-siOyGs2I.js.map +0 -1
- package/dist/index-BwzGvDow.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { _ as
|
|
2
|
-
import { computed as
|
|
1
|
+
import { _ as B, s as V, g as D, l as O, E as $, b as I, c as Q, B as j } from "./index-BX1xTWzJ.js";
|
|
2
|
+
import { computed as L, ref as b, watch as g, resolveComponent as P, openBlock as i, createElementBlock as N, createBlock as p, unref as _, withCtx as R, createVNode as S, createTextVNode as q, toDisplayString as x, reactive as C, Fragment as U, renderList as W } from "vue";
|
|
3
3
|
import { ElIcon as z, ElSelect as A, ElOption as G } from "element-plus";
|
|
4
4
|
import { useRoute as E } from "vue-router";
|
|
5
5
|
const H = { key: 3 }, J = {
|
|
@@ -13,30 +13,30 @@ const H = { key: 3 }, J = {
|
|
|
13
13
|
}
|
|
14
14
|
},
|
|
15
15
|
setup(d) {
|
|
16
|
-
const t = E(), e = d, m = e.field.belongsTo, h = t.meta.side, l = e.row[e.field.code],
|
|
16
|
+
const t = E(), e = d, m = e.field.belongsTo, h = t.meta.side, l = e.row[e.field.code], n = L(() => ({
|
|
17
17
|
path: `/${h}/${m}/${l}`,
|
|
18
18
|
query: { ...V(t), ...e.field.rowQuery(e.row) }
|
|
19
|
-
})),
|
|
19
|
+
})), r = b(!0), u = b(!1), s = b("");
|
|
20
20
|
let c = null;
|
|
21
|
-
const v =
|
|
21
|
+
const v = D(h, m).then((o) => (c = o.formatName, Promise.resolve(o.rest)));
|
|
22
22
|
function a(o) {
|
|
23
23
|
return e.field.isRouter(e.row, V(t));
|
|
24
24
|
}
|
|
25
|
-
function
|
|
25
|
+
function F() {
|
|
26
26
|
v.then((o) => {
|
|
27
|
-
|
|
27
|
+
r.value = !0;
|
|
28
28
|
const f = e.row[e.field.code], y = e.row[I(`${m}-name`)];
|
|
29
29
|
if (!f) {
|
|
30
|
-
w(!1),
|
|
30
|
+
w(!1), r.value = !1;
|
|
31
31
|
return;
|
|
32
32
|
}
|
|
33
33
|
if (f && y) {
|
|
34
|
-
w({ id: f, name: y }),
|
|
34
|
+
w({ id: f, name: y }), r.value = !1;
|
|
35
35
|
return;
|
|
36
36
|
}
|
|
37
|
-
const
|
|
38
|
-
o.getOne(
|
|
39
|
-
w(k.data),
|
|
37
|
+
const T = { id: f };
|
|
38
|
+
o.getOne(T).then((k) => {
|
|
39
|
+
w(k.data), r.value = !1;
|
|
40
40
|
}).catch((k) => {
|
|
41
41
|
console.log(k);
|
|
42
42
|
});
|
|
@@ -44,44 +44,52 @@ const H = { key: 3 }, J = {
|
|
|
44
44
|
}
|
|
45
45
|
function w(o) {
|
|
46
46
|
if (u.value = !1, e.field.showName) {
|
|
47
|
-
|
|
47
|
+
Q(
|
|
48
|
+
e.field.domain,
|
|
49
|
+
e.field.code,
|
|
50
|
+
"showName 即将废弃,请使用 formatter"
|
|
51
|
+
), s.value = o[e.field.showName];
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
if (e.field.formatter) {
|
|
55
|
+
s.value = e.field.formatter(o);
|
|
48
56
|
return;
|
|
49
57
|
}
|
|
50
58
|
if (o.id && o.name) {
|
|
51
|
-
|
|
59
|
+
s.value = o.name;
|
|
52
60
|
return;
|
|
53
61
|
}
|
|
54
62
|
if (!o) {
|
|
55
63
|
u.value = !0;
|
|
56
64
|
return;
|
|
57
65
|
}
|
|
58
|
-
|
|
66
|
+
s.value = c(o);
|
|
59
67
|
}
|
|
60
|
-
return g(() => e.row,
|
|
61
|
-
const y =
|
|
62
|
-
return
|
|
63
|
-
|
|
68
|
+
return g(() => e.row, F, { immediate: !0 }), (o, f) => {
|
|
69
|
+
const y = P("RouterLink");
|
|
70
|
+
return i(), N("span", null, [
|
|
71
|
+
r.value ? (i(), p(_(z), {
|
|
64
72
|
key: 0,
|
|
65
73
|
class: "loading"
|
|
66
74
|
}, {
|
|
67
75
|
default: R(() => [
|
|
68
|
-
|
|
76
|
+
S(_(O))
|
|
69
77
|
]),
|
|
70
78
|
_: 1
|
|
71
|
-
})) : u.value ? (
|
|
79
|
+
})) : u.value ? (i(), p($, { key: 1 })) : a(d.row) ? (i(), p(y, {
|
|
72
80
|
key: 2,
|
|
73
81
|
class: "bld-link mono-data",
|
|
74
|
-
to:
|
|
82
|
+
to: n.value
|
|
75
83
|
}, {
|
|
76
84
|
default: R(() => [
|
|
77
|
-
|
|
85
|
+
q(x(s.value), 1)
|
|
78
86
|
]),
|
|
79
87
|
_: 1
|
|
80
|
-
}, 8, ["to"])) : (
|
|
88
|
+
}, 8, ["to"])) : (i(), N("div", H, x(s.value), 1))
|
|
81
89
|
]);
|
|
82
90
|
};
|
|
83
91
|
}
|
|
84
|
-
}, K = /* @__PURE__ */
|
|
92
|
+
}, K = /* @__PURE__ */ B(J, [["__scopeId", "data-v-fb849d3e"]]), M = {
|
|
85
93
|
__name: "FieldEditor",
|
|
86
94
|
props: {
|
|
87
95
|
modelValue: Number,
|
|
@@ -91,32 +99,32 @@ const H = { key: 3 }, J = {
|
|
|
91
99
|
},
|
|
92
100
|
emits: ["update:modelValue"],
|
|
93
101
|
setup(d, { emit: t }) {
|
|
94
|
-
const e = E(), m = V(e), h = t, l = d,
|
|
102
|
+
const e = E(), m = V(e), h = t, l = d, n = C({ value: l.modelValue }), r = b([]);
|
|
95
103
|
async function u(c) {
|
|
96
|
-
|
|
104
|
+
r.value = await l.field.options(
|
|
97
105
|
l.formData,
|
|
98
106
|
m,
|
|
99
107
|
c
|
|
100
108
|
);
|
|
101
109
|
}
|
|
102
|
-
function
|
|
103
|
-
h("update:modelValue",
|
|
110
|
+
function s() {
|
|
111
|
+
h("update:modelValue", n.value);
|
|
104
112
|
}
|
|
105
113
|
return g(
|
|
106
114
|
() => l.modelValue,
|
|
107
115
|
() => {
|
|
108
|
-
|
|
116
|
+
n.value = l.modelValue;
|
|
109
117
|
},
|
|
110
118
|
{ immediate: !0 }
|
|
111
119
|
), g(
|
|
112
120
|
() => l.modelValue,
|
|
113
121
|
() => {
|
|
114
|
-
|
|
122
|
+
n.value = l.modelValue;
|
|
115
123
|
},
|
|
116
124
|
{ immediate: !0 }
|
|
117
|
-
), u(), (c, v) => (
|
|
118
|
-
modelValue:
|
|
119
|
-
"onUpdate:modelValue": v[0] || (v[0] = (a) =>
|
|
125
|
+
), u(), (c, v) => (i(), p(_(A), {
|
|
126
|
+
modelValue: n.value,
|
|
127
|
+
"onUpdate:modelValue": v[0] || (v[0] = (a) => n.value = a),
|
|
120
128
|
style: { width: "100%" },
|
|
121
129
|
filterable: "",
|
|
122
130
|
"reserve-keyword": "",
|
|
@@ -128,10 +136,10 @@ const H = { key: 3 }, J = {
|
|
|
128
136
|
placeholder: "",
|
|
129
137
|
remote: "",
|
|
130
138
|
"remote-method": u,
|
|
131
|
-
onChange:
|
|
139
|
+
onChange: s
|
|
132
140
|
}, {
|
|
133
141
|
default: R(() => [
|
|
134
|
-
(
|
|
142
|
+
(i(!0), N(U, null, W(r.value, (a) => (i(), p(_(G), {
|
|
135
143
|
key: a.code,
|
|
136
144
|
label: a.name,
|
|
137
145
|
value: a.code,
|
|
@@ -143,10 +151,10 @@ const H = { key: 3 }, J = {
|
|
|
143
151
|
}, 8, ["modelValue", "multiple", "disabled"]));
|
|
144
152
|
}
|
|
145
153
|
};
|
|
146
|
-
class
|
|
154
|
+
class te extends j {
|
|
147
155
|
constructor(t, e) {
|
|
148
156
|
super(t, e), this.belongsTo = t.belongsTo, this.formChange = t.formChange || (() => {
|
|
149
|
-
}), this.isRouter = this.isRouter(t), this.options = t.options || (() => [{ code: 0, name: "未实现" }]), this.display = K, this.editor = M, this.showName = t.showName
|
|
157
|
+
}), this.isRouter = this.isRouter(t), this.options = t.options || (() => [{ code: 0, name: "未实现" }]), this.display = K, this.editor = M, this.showName = t.showName, this.formatter = t.formatter, this.rowQuery = t.rowQuery || (() => ({})), this.checkValidProperties(t);
|
|
150
158
|
}
|
|
151
159
|
isRouter(t) {
|
|
152
160
|
const e = t.isRouter;
|
|
@@ -160,6 +168,6 @@ class ee extends Q {
|
|
|
160
168
|
}
|
|
161
169
|
}
|
|
162
170
|
export {
|
|
163
|
-
|
|
171
|
+
te as default
|
|
164
172
|
};
|
|
165
|
-
//# sourceMappingURL=config-
|
|
173
|
+
//# sourceMappingURL=config-CzMS2zhn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-CzMS2zhn.js","sources":["../src/framework/field/belongs-to/FieldDisplay.vue","../src/framework/field/belongs-to/FieldEditor.vue","../src/framework/field/belongs-to/config.js"],"sourcesContent":["<template>\n <span>\n <el-icon v-if=\"loading\" class=\"loading\"><Loading /></el-icon>\n <EmptyTip v-else-if=\"isEmpty\" />\n <RouterLink\n v-else-if=\"isRouter(row)\"\n class=\"bld-link mono-data\"\n :to=\"routeTo\"\n >\n {{ displayName }}\n </RouterLink>\n <div v-else>{{ displayName }}</div>\n </span>\n</template>\n\n<script setup>\nimport { ElIcon } from \"element-plus\";\nimport EmptyTip from \"../../component/EmptyTip.vue\";\nimport { useRoute } from \"vue-router\";\nimport { snakeToCamel } from \"../../utils/str\";\nimport { Loading } from \"@element-plus/icons-vue\";\nimport { getDomainConfig } from \"../../config-loader\";\nimport { computed, ref, watch } from \"vue\";\nimport { setupRouteQuery } from \"../../utils/route-query.js\";\nimport { domainFieldWarning } from \"../../utils/deprecator\";\n\nconst route = useRoute();\nconst props = defineProps({\n field: {\n type: Object,\n },\n row: {\n type: Object,\n },\n});\nconst domain = props.field.belongsTo;\nconst side = route.meta.side;\nconst domainId = props.row[props.field.code];\n\nconst routeTo = computed(() => {\n return {\n path: `/${side}/${domain}/${domainId}`,\n query: { ...setupRouteQuery(route), ...props.field.rowQuery(props.row) },\n };\n});\nconst loading = ref(true);\nconst isEmpty = ref(false);\nconst displayName = ref(\"\");\nlet formatNameFunc = null;\nconst restPromise = getDomainConfig(side, domain).then((config) => {\n formatNameFunc = config.formatName;\n return Promise.resolve(config.rest);\n});\n\nfunction isRouter(isRouter) {\n return props.field.isRouter(props.row, setupRouteQuery(route));\n}\n\nfunction getItem() {\n restPromise.then((restApi) => {\n loading.value = true;\n\n const domainId = props.row[props.field.code];\n const domainName = props.row[snakeToCamel(`${domain}-name`)];\n\n if (!domainId) {\n setDisplayName(false);\n loading.value = false;\n return;\n }\n\n if (domainId && domainName) {\n setDisplayName({ id: domainId, name: domainName });\n loading.value = false;\n return;\n }\n\n const item = { id: domainId };\n restApi\n .getOne(item)\n .then((data) => {\n setDisplayName(data.data);\n loading.value = false;\n })\n .catch((e) => {\n console.log(e);\n });\n });\n}\n\nfunction setDisplayName(data) {\n isEmpty.value = false;\n if (props.field.showName) {\n domainFieldWarning(\n props.field.domain,\n props.field.code,\n \"showName 即将废弃,请使用 formatter\",\n );\n displayName.value = data[props.field.showName];\n return;\n }\n\n if (props.field.formatter) {\n displayName.value = props.field.formatter(data);\n return;\n }\n\n if (data.id && data.name) {\n displayName.value = data.name;\n return;\n }\n\n if (!data) {\n isEmpty.value = true;\n return;\n }\n\n displayName.value = formatNameFunc(data);\n}\n\nwatch(() => props.row, getItem, { immediate: true });\n</script>\n\n<style scoped lang=\"scss\">\n.loading {\n animation: rotating 2s linear infinite;\n}\n</style>\n","<template>\n <el-select\n v-model=\"_form.value\"\n style=\"width: 100%\"\n filterable\n reserve-keyword\n remote-show-suffix\n clearable\n fit-input-width\n :multiple=\"props.field.multiple\"\n :disabled=\"props.disabled\"\n placeholder=\"\"\n remote\n :remote-method=\"remoteSearch\"\n @change=\"change\"\n >\n <template v-for=\"option in options\" :key=\"option.code\">\n <el-option\n :label=\"option.name\"\n :value=\"option.code\"\n :title=\"option.name\"\n :disabled=\"option.disabled\"\n />\n </template>\n </el-select>\n</template>\n\n<script setup>\nimport { ElSelect, ElOption } from \"element-plus\";\nimport { reactive, watch, ref } from \"vue\";\nimport { useRoute } from \"vue-router\";\nimport { setupRouteQuery } from \"../../utils/route-query\";\n\nconst route = useRoute();\nconst routeQuery = setupRouteQuery(route);\nconst emit = defineEmits([\"update:modelValue\"]);\nconst props = defineProps({\n modelValue: Number,\n field: Object,\n disabled: Boolean,\n formData: Object,\n});\nconst _form = reactive({ value: props.modelValue });\nconst options = ref([]);\n\nasync function remoteSearch(keyword) {\n options.value = await props.field.options(\n props.formData,\n routeQuery,\n keyword,\n );\n}\n\nfunction change() {\n emit(\"update:modelValue\", _form.value);\n}\n\nwatch(\n () => props.modelValue,\n () => {\n _form.value = props.modelValue;\n },\n { immediate: true },\n);\n\nwatch(\n () => props.modelValue,\n () => {\n _form.value = props.modelValue;\n },\n { immediate: true },\n);\n\nremoteSearch();\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import BaseFieldConfig from \"../base-field-config\";\nimport FieldDisplay from \"./FieldDisplay.vue\";\nimport FieldEditor from \"./FieldEditor.vue\";\n\nclass BelongsToFieldConfig extends BaseFieldConfig {\n constructor(rawConfig, domain) {\n super(rawConfig, domain);\n this.belongsTo = rawConfig.belongsTo;\n this.formChange = rawConfig.formChange || (() => {});\n this.isRouter = this.isRouter(rawConfig);\n this.options = rawConfig.options || (() => [{ code: 0, name: \"未实现\" }]);\n this.display = FieldDisplay;\n this.editor = FieldEditor;\n this.showName = rawConfig.showName;\n this.formatter = rawConfig.formatter;\n this.rowQuery = rawConfig.rowQuery || (() => ({}));\n this.checkValidProperties(rawConfig);\n }\n\n isRouter(rawConfig) {\n const raw = rawConfig.isRouter;\n\n if (typeof raw == \"boolean\") {\n return () => raw;\n }\n\n if (typeof raw == \"function\") {\n return raw;\n }\n\n if (typeof raw == \"undefined\") {\n return () => true;\n }\n\n throw new Exception(`invalid isRouter : ${raw}`);\n }\n}\n\nexport default BelongsToFieldConfig;\n"],"names":["route","useRoute","props","__props","domain","side","domainId","routeTo","computed","setupRouteQuery","loading","ref","isEmpty","displayName","formatNameFunc","restPromise","getDomainConfig","config","isRouter","getItem","restApi","domainName","snakeToCamel","setDisplayName","item","data","e","domainFieldWarning","watch","routeQuery","emit","__emit","_form","reactive","options","remoteSearch","keyword","change","BelongsToFieldConfig","BaseFieldConfig","rawConfig","FieldDisplay","FieldEditor","raw"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { E as m, B as f } from "./index-
|
|
1
|
+
import { E as m, B as f } from "./index-BX1xTWzJ.js";
|
|
2
2
|
import { ref as u, openBlock as s, createElementBlock as d, toDisplayString as h, createBlock as p, createTextVNode as v, reactive as _, watch as y, unref as V } from "vue";
|
|
3
3
|
import { ElCascader as B } from "element-plus";
|
|
4
4
|
const k = { key: 0 }, E = {
|
|
@@ -57,4 +57,4 @@ class j extends f {
|
|
|
57
57
|
export {
|
|
58
58
|
j as default
|
|
59
59
|
};
|
|
60
|
-
//# sourceMappingURL=config-
|
|
60
|
+
//# sourceMappingURL=config-DTVPd1QF.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-
|
|
1
|
+
{"version":3,"file":"config-DTVPd1QF.js","sources":["../src/framework/field/cascader/FieldDisplay.vue","../src/framework/field/cascader/FieldEditor.vue","../src/framework/field/cascader/config.js"],"sourcesContent":["<template>\n <div>\n <span v-if=\"!isEmpty\">\n {{ formattedValue }}\n </span>\n <EmptyTip v-else />\n edit\n </div>\n</template>\n\n<script setup>\nimport EmptyTip from \"../../component/EmptyTip.vue\";\nimport { ref } from \"vue\";\n\nconst props = defineProps({\n field: {\n type: Object,\n },\n row: {\n type: Object,\n },\n});\nconst isEmpty = ref(false);\nconst formattedValue = ref(\"...\");\nconst value = props.row[props.field.code];\n\nif (value === undefined || value === null) {\n isEmpty.value = true;\n} else if (`${value}`.trim() === \"\") {\n isEmpty.value = true;\n} else {\n formattedValue.value = value;\n isEmpty.value = false;\n}\n</script>\n\n<style scoped lang=\"scss\"></style>\n","<template>\n <el-cascader\n v-model=\"_form.value\"\n :props=\"props.field.props\"\n clearable\n style=\"width: 100%\"\n @change=\"change\"\n />\n</template>\n\n<script setup>\nimport { ElCascader } from \"element-plus\";\nimport { reactive, watch } from \"vue\";\n\nconst emit = defineEmits([\"update:modelValue\"]);\nconst props = defineProps({\n modelValue: Array,\n field: Object,\n disabled: Boolean,\n});\nconst _form = reactive({ value: props.modelValue });\n\nfunction change() {\n emit(\"update:modelValue\", _form.value);\n}\n\nwatch(\n () => props.modelValue,\n () => {\n _form.value = props.modelValue;\n },\n { immediate: true },\n);\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import BaseFieldConfig from \"../base-field-config\";\nimport FieldDisplay from \"./FieldDisplay.vue\";\nimport FieldEditor from \"./FieldEditor.vue\";\n\nclass CascaderFieldConfig extends BaseFieldConfig {\n constructor(rawConfig, domain) {\n super(rawConfig, domain);\n this.props = rawConfig.props || (() => {});\n this.formChange = rawConfig.formChange || (() => {});\n this.display = FieldDisplay;\n this.editor = FieldEditor;\n this.multiple = this.defaultBy(rawConfig.multiple, false);\n\n this.checkValidProperties(rawConfig);\n }\n}\n\nexport default CascaderFieldConfig;\n"],"names":["props","__props","isEmpty","ref","formattedValue","value","emit","__emit","_form","reactive","change","watch","CascaderFieldConfig","BaseFieldConfig","rawConfig","domain","FieldDisplay","FieldEditor"],"mappings":";;;;;;;;;;;;;;AAcA,UAAMA,IAAQC,GAQRC,IAAUC,EAAI,EAAK,GACnBC,IAAiBD,EAAI,KAAK,GAC1BE,IAAQL,EAAM,IAAIA,EAAM,MAAM,IAAI;AAExC,WAA2BK,KAAU,QAE1B,GAAGA,CAAK,GAAG,KAAI,MAAO,KAD/BH,EAAQ,QAAQ,MAIhBE,EAAe,QAAQC,GACvBH,EAAQ,QAAQ;;;;;;;;;;;;;;AClBlB,UAAMI,IAAOC,GACPP,IAAQC,GAKRO,IAAQC,EAAS,EAAE,OAAOT,EAAM,WAAY,CAAA;AAElD,aAASU,IAAS;AAChB,MAAAJ,EAAK,qBAAqBE,EAAM,KAAK;AAAA,IACvC;AAEA,WAAAG;AAAA,MACE,MAAMX,EAAM;AAAA,MACZ,MAAM;AACJ,QAAAQ,EAAM,QAAQR,EAAM;AAAA,MACrB;AAAA,MACD,EAAE,WAAW,GAAM;AAAA,IACrB;;;;;;;;;;AC5BA,MAAMY,UAA4BC,EAAgB;AAAA,EAChD,YAAYC,GAAWC,GAAQ;AAC7B,UAAMD,GAAWC,CAAM,GACvB,KAAK,QAAQD,EAAU,UAAU,MAAM;AAAA,IAAE,IACzC,KAAK,aAAaA,EAAU,eAAe,MAAM;AAAA,IAAE,IACnD,KAAK,UAAUE,GACf,KAAK,SAASC,GACd,KAAK,WAAW,KAAK,UAAUH,EAAU,UAAU,EAAK,GAExD,KAAK,qBAAqBA,CAAS;AAAA,EACpC;AACH;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { _ as x, E as k, s as E, B as S } from "./index-
|
|
1
|
+
import { _ as x, E as k, s as E, B as S } from "./index-BX1xTWzJ.js";
|
|
2
2
|
import { ref as m, watch as b, openBlock as u, createElementBlock as f, Fragment as _, renderList as g, createBlock as p, unref as v, withCtx as V, createElementVNode as w, normalizeStyle as B, toDisplayString as $, reactive as F } from "vue";
|
|
3
3
|
import { ElTooltip as O, ElSelect as C, ElOption as D } from "element-plus";
|
|
4
|
-
import { c as j } from "./color-
|
|
4
|
+
import { c as j } from "./color-DbNhHNpt.js";
|
|
5
5
|
import { useRoute as T } from "vue-router";
|
|
6
6
|
const N = {
|
|
7
7
|
key: 0,
|
|
@@ -124,4 +124,4 @@ class U extends S {
|
|
|
124
124
|
export {
|
|
125
125
|
U as default
|
|
126
126
|
};
|
|
127
|
-
//# sourceMappingURL=config-
|
|
127
|
+
//# sourceMappingURL=config-DuvmS9LR.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-
|
|
1
|
+
{"version":3,"file":"config-DuvmS9LR.js","sources":["../src/framework/field/select/FieldDisplay.vue","../src/framework/field/select/FieldEditor.vue","../src/framework/field/select/config.js"],"sourcesContent":["<script setup>\nimport { ElTooltip } from \"element-plus\";\nimport color from \"../../utils/color\";\nimport EmptyTip from \"../../component/EmptyTip.vue\";\nimport { ref, watch } from \"vue\";\n\nconst props = defineProps({\n field: {\n type: Object,\n },\n row: {\n type: Object,\n },\n});\nconst invalidTip = ref(\"...\");\nconst found = ref(false);\nconst items = ref([]);\n\nasync function getSelectName() {\n const val = props.row[props.field.code];\n const label = props.field.label;\n if (val === undefined || val === null) {\n invalidTip.value = \"<无>\";\n found.value = false;\n return;\n }\n\n const options = await props.field.options();\n if (!options) {\n invalidTip.value = `<未知: ${val}>`;\n found.value = false;\n return;\n }\n\n let selectedOptions = [];\n if (props.field.multiple) {\n selectedOptions = options.filter((item) => val.includes(item.code));\n } else {\n selectedOptions = options.filter((item) => val === item.code);\n }\n\n if (selectedOptions.length === 0) {\n invalidTip.value = `<未找到: ${val}>`;\n found.value = false;\n return;\n }\n\n items.value = selectedOptions.map((item) => ({\n bgColor: color.strToHexColor(`${item.code}-${item.name}`),\n code: item.code,\n name: item.name,\n }));\n\n found.value = true;\n}\n\nwatch(() => props.row, getSelectName, { immediate: true });\n</script>\n\n<template>\n <template v-if=\"found\">\n <div class=\"select-fields\">\n <el-tooltip\n v-for=\"item in items\"\n :content=\"`${item.code}`\"\n placement=\"top\"\n >\n <span class=\"select-field found\" :style=\"`background: ${item.bgColor}`\">\n {{ item.name }}\n </span>\n </el-tooltip>\n </div>\n </template>\n <EmptyTip v-else :text=\"invalidTip\" />\n</template>\n\n<style scoped lang=\"scss\">\n.select-fields {\n display: inline-block;\n}\n\n.select-field {\n font-size: 12px;\n padding: 4px 6px;\n border-radius: 4px;\n}\n\n.found {\n color: #fff;\n}\n</style>\n","<template>\n <el-select\n v-model=\"_form.value\"\n style=\"width: 100%\"\n filterable\n reserve-keyword\n remote-show-suffix\n clearable\n fit-input-width\n :multiple=\"props.field.multiple\"\n :disabled=\"props.disabled\"\n placeholder=\"\"\n remote\n :remote-method=\"remoteSearch\"\n @change=\"change\"\n >\n <template v-for=\"option in options\" :key=\"option.code\">\n <el-option\n :label=\"option.name\"\n :value=\"option.code\"\n :title=\"option.name\"\n :disabled=\"option.disabled\"\n />\n </template>\n </el-select>\n</template>\n\n<script setup>\nimport { ElSelect, ElOption } from \"element-plus\";\nimport { reactive, watch, ref } from \"vue\";\nimport { useRoute } from \"vue-router\";\nimport { setupRouteQuery } from \"../../utils/route-query\";\n\nconst route = useRoute();\nconst routeQuery = setupRouteQuery(route);\nconst emit = defineEmits([\"update:modelValue\"]);\nconst props = defineProps({\n modelValue: [String, Number, Array],\n field: Object,\n type: String,\n disabled: Boolean,\n formData: Object,\n});\nconst _form = reactive({ value: props.modelValue });\nconst options = ref([]);\n\nasync function remoteSearch(keyword) {\n options.value = await props.field.options(\n props.formData,\n routeQuery,\n keyword,\n );\n}\n\nfunction change() {\n emit(\"update:modelValue\", _form.value);\n}\n\nwatch(\n () => props.modelValue,\n () => {\n _form.value = props.modelValue;\n },\n { immediate: true },\n);\nremoteSearch();\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import BaseFieldConfig from \"../base-field-config\";\nimport FieldDisplay from \"./FieldDisplay.vue\";\nimport FieldEditor from \"./FieldEditor.vue\";\n\nclass SelectFieldConfig extends BaseFieldConfig {\n constructor(rawConfig, domain) {\n super(rawConfig, domain);\n this.options = rawConfig.options || (() => [{ code: 0, name: \"未实现\" }]);\n this.formChange = rawConfig.formChange || (() => {});\n this.display = FieldDisplay;\n this.editor = FieldEditor;\n this.multiple = this.defaultBy(rawConfig.multiple, false);\n\n this.checkValidProperties(rawConfig);\n }\n}\n\nexport default SelectFieldConfig;\n"],"names":["props","__props","invalidTip","ref","found","items","getSelectName","val","options","selectedOptions","item","color","watch","route","useRoute","routeQuery","setupRouteQuery","emit","__emit","_form","reactive","remoteSearch","keyword","change","SelectFieldConfig","BaseFieldConfig","rawConfig","domain","FieldDisplay","FieldEditor"],"mappings":";;;;;;;;;;;;;;;;;;;AAMA,UAAMA,IAAQC,GAQRC,IAAaC,EAAI,KAAK,GACtBC,IAAQD,EAAI,EAAK,GACjBE,IAAQF,EAAI,CAAA,CAAE;AAEpB,mBAAeG,IAAgB;AAC7B,YAAMC,IAAMP,EAAM,IAAIA,EAAM,MAAM,IAAI;AAEtC,UADcA,EAAM,MAAM,OACDO,KAAQ,MAAM;AACrC,QAAAL,EAAW,QAAQ,OACnBE,EAAM,QAAQ;AACd;AAAA,MACD;AAED,YAAMI,IAAU,MAAMR,EAAM,MAAM,QAAO;AACzC,UAAI,CAACQ,GAAS;AACZ,QAAAN,EAAW,QAAQ,QAAQK,CAAG,KAC9BH,EAAM,QAAQ;AACd;AAAA,MACD;AAED,UAAIK,IAAkB,CAAA;AAOtB,UANIT,EAAM,MAAM,WACdS,IAAkBD,EAAQ,OAAO,CAACE,MAASH,EAAI,SAASG,EAAK,IAAI,CAAC,IAElED,IAAkBD,EAAQ,OAAO,CAACE,MAASH,MAAQG,EAAK,IAAI,GAG1DD,EAAgB,WAAW,GAAG;AAChC,QAAAP,EAAW,QAAQ,SAASK,CAAG,KAC/BH,EAAM,QAAQ;AACd;AAAA,MACD;AAED,MAAAC,EAAM,QAAQI,EAAgB,IAAI,CAACC,OAAU;AAAA,QAC3C,SAASC,EAAM,cAAc,GAAGD,EAAK,IAAI,IAAIA,EAAK,IAAI,EAAE;AAAA,QACxD,MAAMA,EAAK;AAAA,QACX,MAAMA,EAAK;AAAA,MACZ,EAAC,GAEFN,EAAM,QAAQ;AAAA,IAChB;AAEA,WAAAQ,EAAM,MAAMZ,EAAM,KAAKM,GAAe,EAAE,WAAW,GAAI,CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvBzD,UAAMO,IAAQC,EAAQ,GAChBC,IAAaC,EAAgBH,CAAK,GAClCI,IAAOC,GACPlB,IAAQC,GAORkB,IAAQC,EAAS,EAAE,OAAOpB,EAAM,WAAY,CAAA,GAC5CQ,IAAUL,EAAI,CAAA,CAAE;AAEtB,mBAAekB,EAAaC,GAAS;AACnC,MAAAd,EAAQ,QAAQ,MAAMR,EAAM,MAAM;AAAA,QAChCA,EAAM;AAAA,QACNe;AAAA,QACAO;AAAA,MACJ;AAAA,IACA;AAEA,aAASC,IAAS;AAChB,MAAAN,EAAK,qBAAqBE,EAAM,KAAK;AAAA,IACvC;AAEA,WAAAP;AAAA,MACE,MAAMZ,EAAM;AAAA,MACZ,MAAM;AACJ,QAAAmB,EAAM,QAAQnB,EAAM;AAAA,MACrB;AAAA,MACD,EAAE,WAAW,GAAM;AAAA,IACrB,GACAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7DA,MAAMG,UAA0BC,EAAgB;AAAA,EAC9C,YAAYC,GAAWC,GAAQ;AAC7B,UAAMD,GAAWC,CAAM,GACvB,KAAK,UAAUD,EAAU,YAAY,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,MAAK,CAAE,IACpE,KAAK,aAAaA,EAAU,eAAe,MAAM;AAAA,IAAE,IACnD,KAAK,UAAUE,GACf,KAAK,SAASC,GACd,KAAK,WAAW,KAAK,UAAUH,EAAU,UAAU,EAAK,GAExD,KAAK,qBAAqBA,CAAS;AAAA,EACpC;AACH;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { E as c, B as p } from "./index-
|
|
1
|
+
import { E as c, B as p } from "./index-BX1xTWzJ.js";
|
|
2
2
|
import { ref as r, openBlock as i, createElementBlock as f, toDisplayString as h, createBlock as u, reactive as v, watch as _, unref as y } from "vue";
|
|
3
3
|
import { ElDatePicker as V } from "element-plus";
|
|
4
4
|
const D = { key: 0 }, Y = {
|
|
@@ -56,4 +56,4 @@ class H extends p {
|
|
|
56
56
|
export {
|
|
57
57
|
H as default
|
|
58
58
|
};
|
|
59
|
-
//# sourceMappingURL=config-
|
|
59
|
+
//# sourceMappingURL=config-SWYlqm92.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-
|
|
1
|
+
{"version":3,"file":"config-SWYlqm92.js","sources":["../src/framework/field/datetime/FieldDisplay.vue","../src/framework/field/datetime/FieldEditor.vue","../src/framework/field/datetime/config.js"],"sourcesContent":["<script setup>\nimport EmptyTip from \"../../component/EmptyTip.vue\";\nimport { ref } from \"vue\";\n\nconst props = defineProps({\n field: {\n type: Object,\n },\n row: {\n type: Object,\n },\n});\nconst isEmpty = ref(false);\nconst formattedValue = ref(\"...\");\nconst value = props.row[props.field.code];\n\nif (value === undefined || value === null) {\n isEmpty.value = true;\n} else if (`${value}`.trim() === \"\") {\n isEmpty.value = true;\n} else {\n formattedValue.value = value;\n isEmpty.value = false;\n}\n</script>\n\n<template>\n <span v-if=\"!isEmpty\">\n {{ formattedValue }}\n </span>\n <EmptyTip v-else />\n</template>\n\n<style scoped lang=\"scss\"></style>\n","<template>\n <el-date-picker\n v-model=\"_form.value\"\n :disabled=\"props.disabled\"\n type=\"datetime\"\n format=\"YYYY-MM-DD HH:mm:ss\"\n value-format=\"YYYY-MM-DD HH:mm:ss\"\n @change=\"change\"\n />\n</template>\n\n<script setup>\nimport { ElDatePicker } from \"element-plus\";\nimport { reactive, watch } from \"vue\";\n\nconst emit = defineEmits([\"update:modelValue\"]);\nconst props = defineProps({\n modelValue: String,\n field: Object,\n disabled: Boolean,\n});\nconst _form = reactive({ value: props.modelValue });\n\nfunction change() {\n emit(\"update:modelValue\", _form.value);\n}\n\nwatch(\n () => props.modelValue,\n () => {\n _form.value = props.modelValue;\n },\n { immediate: true },\n);\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import BaseFieldConfig from \"../base-field-config\";\nimport FieldDisplay from \"./FieldDisplay.vue\";\nimport FieldEditor from \"./FieldEditor.vue\";\n\nexport default class DatetimeFieldConfig extends BaseFieldConfig {\n constructor(rawConfig, domain) {\n super(rawConfig, domain);\n this.display = FieldDisplay;\n this.editor = FieldEditor;\n this.width = this.computeWidth(rawConfig);\n\n this.checkValidProperties(rawConfig);\n }\n\n computeWidth(rawConfig) {\n if (rawConfig.width) {\n return rawConfig.width;\n }\n\n return 200;\n }\n}\n"],"names":["props","__props","isEmpty","ref","formattedValue","value","emit","__emit","_form","reactive","change","watch","DatetimeFieldConfig","BaseFieldConfig","rawConfig","domain","FieldDisplay","FieldEditor"],"mappings":";;;;;;;;;;;;;;AAIA,UAAMA,IAAQC,GAQRC,IAAUC,EAAI,EAAK,GACnBC,IAAiBD,EAAI,KAAK,GAC1BE,IAAQL,EAAM,IAAIA,EAAM,MAAM,IAAI;AAExC,WAA2BK,KAAU,QAE1B,GAAGA,CAAK,GAAG,KAAI,MAAO,KAD/BH,EAAQ,QAAQ,MAIhBE,EAAe,QAAQC,GACvBH,EAAQ,QAAQ;;;;;;;;;;;ACPlB,UAAMI,IAAOC,GACPP,IAAQC,GAKRO,IAAQC,EAAS,EAAE,OAAOT,EAAM,WAAY,CAAA;AAElD,aAASU,IAAS;AAChB,MAAAJ,EAAK,qBAAqBE,EAAM,KAAK;AAAA,IACvC;AAEA,WAAAG;AAAA,MACE,MAAMX,EAAM;AAAA,MACZ,MAAM;AACJ,QAAAQ,EAAM,QAAQR,EAAM;AAAA,MACrB;AAAA,MACD,EAAE,WAAW,GAAM;AAAA,IACrB;;;;;;;;;;;AC7Be,MAAMY,UAA4BC,EAAgB;AAAA,EAC/D,YAAYC,GAAWC,GAAQ;AAC7B,UAAMD,GAAWC,CAAM,GACvB,KAAK,UAAUC,GACf,KAAK,SAASC,GACd,KAAK,QAAQ,KAAK,aAAaH,CAAS,GAExC,KAAK,qBAAqBA,CAAS;AAAA,EACpC;AAAA,EAED,aAAaA,GAAW;AACtB,WAAIA,EAAU,QACLA,EAAU,QAGZ;AAAA,EACR;AACH;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { E as p, B as m } from "./index-
|
|
1
|
+
import { E as p, B as m } from "./index-BX1xTWzJ.js";
|
|
2
2
|
import { ref as u, openBlock as i, createElementBlock as f, toDisplayString as y, createBlock as n, reactive as v, watch as _, unref as V } from "vue";
|
|
3
3
|
import { ElInput as b } from "element-plus";
|
|
4
4
|
const h = { key: 0 }, E = {
|
|
@@ -53,4 +53,4 @@ class O extends m {
|
|
|
53
53
|
export {
|
|
54
54
|
O as default
|
|
55
55
|
};
|
|
56
|
-
//# sourceMappingURL=config-
|
|
56
|
+
//# sourceMappingURL=config-Xu4Cnivk.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-
|
|
1
|
+
{"version":3,"file":"config-Xu4Cnivk.js","sources":["../src/framework/field/string/FieldDisplay.vue","../src/framework/field/string/FieldEditor.vue","../src/framework/field/string/config.js"],"sourcesContent":["<template>\n <span v-if=\"!isEmpty\"> {{ formattedValue }} </span>\n <EmptyTip v-else />\n</template>\n\n<script setup>\nimport EmptyTip from \"../../component/EmptyTip.vue\";\nimport { ref } from \"vue\";\n\nconst props = defineProps({\n field: {\n type: Object,\n },\n row: {\n type: Object,\n },\n});\nconst isEmpty = ref(false);\nconst formattedValue = ref(\"...\");\nconst value = props.row[props.field.code];\n\nif (value === undefined || value === null) {\n isEmpty.value = true;\n} else if (`${value}`.trim() === \"\") {\n isEmpty.value = true;\n} else {\n formattedValue.value = value;\n isEmpty.value = false;\n}\n</script>\n\n<style scoped lang=\"scss\"></style>\n","<template>\n <el-input\n v-model=\"_form.value\"\n :type=\"props.type\"\n clearable\n :disabled=\"props.disabled\"\n @input=\"change\"\n />\n</template>\n\n<script setup>\nimport { ElInput } from \"element-plus\";\nimport { reactive, watch } from \"vue\";\n\nconst emit = defineEmits([\"update:modelValue\"]);\nconst props = defineProps({\n modelValue: [Object, String, Number],\n field: Object,\n type: String,\n disabled: Boolean,\n});\nconst _form = reactive({ value: props.modelValue });\n\nfunction change() {\n emit(\"update:modelValue\", _form.value);\n}\n\nwatch(\n () => props.modelValue,\n () => {\n _form.value = props.modelValue;\n },\n { immediate: true },\n);\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import BaseFieldConfig from \"../base-field-config\";\nimport FieldDisplay from \"./FieldDisplay.vue\";\nimport FieldEditor from \"./FieldEditor.vue\";\n\nexport default class StringFieldConfig extends BaseFieldConfig {\n constructor(rawConfig, domain) {\n super(rawConfig, domain);\n this.display = FieldDisplay;\n this.editor = FieldEditor;\n\n this.checkValidProperties(rawConfig);\n }\n}\n"],"names":["props","__props","isEmpty","ref","formattedValue","value","emit","__emit","_form","reactive","change","watch","StringFieldConfig","BaseFieldConfig","rawConfig","domain","FieldDisplay","FieldEditor"],"mappings":";;;;;;;;;;;;;;AASA,UAAMA,IAAQC,GAQRC,IAAUC,EAAI,EAAK,GACnBC,IAAiBD,EAAI,KAAK,GAC1BE,IAAQL,EAAM,IAAIA,EAAM,MAAM,IAAI;AAExC,WAA2BK,KAAU,QAE1B,GAAGA,CAAK,GAAG,KAAI,MAAO,KAD/BH,EAAQ,QAAQ,MAIhBE,EAAe,QAAQC,GACvBH,EAAQ,QAAQ;;;;;;;;;;;;ACblB,UAAMI,IAAOC,GACPP,IAAQC,GAMRO,IAAQC,EAAS,EAAE,OAAOT,EAAM,WAAY,CAAA;AAElD,aAASU,IAAS;AAChB,MAAAJ,EAAK,qBAAqBE,EAAM,KAAK;AAAA,IACvC;AAEA,WAAAG;AAAA,MACE,MAAMX,EAAM;AAAA,MACZ,MAAM;AACJ,QAAAQ,EAAM,QAAQR,EAAM;AAAA,MACrB;AAAA,MACD,EAAE,WAAW,GAAM;AAAA,IACrB;;;;;;;;;;AC7Be,MAAMY,UAA0BC,EAAgB;AAAA,EAC7D,YAAYC,GAAWC,GAAQ;AAC7B,UAAMD,GAAWC,CAAM,GACvB,KAAK,UAAUC,GACf,KAAK,SAASC,GAEd,KAAK,qBAAqBH,CAAS;AAAA,EACpC;AACH;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { e as f, f as _, q as h, B as V } from "./index-BX1xTWzJ.js";
|
|
2
2
|
import { computed as y, openBlock as s, createElementBlock as v, createBlock as i, unref as l, withCtx as c, createVNode as u, reactive as b, watch as B } from "vue";
|
|
3
3
|
import { ElIcon as r, ElSwitch as k } from "element-plus";
|
|
4
4
|
import "./el-switch-l0sNRNKZ.js";
|
|
@@ -80,4 +80,4 @@ class D extends V {
|
|
|
80
80
|
export {
|
|
81
81
|
D as default
|
|
82
82
|
};
|
|
83
|
-
//# sourceMappingURL=config-
|
|
83
|
+
//# sourceMappingURL=config-trKFYrjO.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-
|
|
1
|
+
{"version":3,"file":"config-trKFYrjO.js","sources":["../src/framework/field/boolean/FieldDisplay.vue","../src/framework/field/boolean/FieldEditor.vue","../src/framework/field/boolean/config.js"],"sourcesContent":["<template>\n <span style=\"display: flex; align-items: center\">\n <el-icon v-if=\"value == true\" color=\"#529b2e\" :size=\"20\">\n <SuccessFilled />\n </el-icon>\n <el-icon v-else-if=\"value == false\" color=\"#F56C6C\" :size=\"20\">\n <CircleCloseFilled />\n </el-icon>\n <el-icon v-else color=\"#73767a\" :size=\"20\">\n <QuestionFilled />\n </el-icon>\n </span>\n</template>\n\n<script setup>\nimport { ElIcon } from \"element-plus\";\nimport { computed } from \"vue\";\nimport {\n SuccessFilled,\n CircleCloseFilled,\n QuestionFilled,\n} from \"@element-plus/icons-vue\";\n\nconst props = defineProps({\n field: {\n type: Object,\n },\n row: {\n type: Object,\n },\n});\n\nconst value = computed(() => {\n return props.row[props.field.code];\n});\n</script>\n\n<style scoped lang=\"scss\"></style>\n","<template>\n <el-switch\n v-model=\"_form.value\"\n :disabled=\"props.disabled\"\n @change=\"change\"\n />\n</template>\n\n<script setup>\nimport { ElSwitch } from \"element-plus\";\nimport { reactive, watch } from \"vue\";\n\nconst emit = defineEmits([\"update:modelValue\"]);\nconst props = defineProps({\n modelValue: Boolean,\n field: Object,\n disabled: Boolean,\n});\nconst _form = reactive({ value: props.modelValue });\n\nfunction change() {\n emit(\"update:modelValue\", _form.value);\n}\n\nwatch(\n () => props.modelValue,\n () => {\n _form.value = props.modelValue;\n },\n { immediate: true },\n);\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import BaseFieldConfig from \"../base-field-config\";\nimport FieldDisplay from \"./FieldDisplay.vue\";\nimport FieldEditor from \"./FieldEditor.vue\";\n\nexport default class BooleanFieldConfig extends BaseFieldConfig {\n constructor(rawConfig, domain) {\n super(rawConfig, domain);\n this.default = rawConfig.default || false;\n this.display = FieldDisplay;\n this.editor = FieldEditor;\n\n this.checkValidProperties(rawConfig);\n }\n}\n"],"names":["props","__props","value","computed","emit","__emit","_form","reactive","change","watch","BooleanFieldConfig","BaseFieldConfig","rawConfig","domain","FieldDisplay","FieldEditor"],"mappings":";;;;;;;;;;;;;;;AAuBA,UAAMA,IAAQC,GASRC,IAAQC,EAAS,MACdH,EAAM,IAAIA,EAAM,MAAM,IAAI,CAClC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtBD,UAAMI,IAAOC,GACPL,IAAQC,GAKRK,IAAQC,EAAS,EAAE,OAAOP,EAAM,WAAY,CAAA;AAElD,aAASQ,IAAS;AAChB,MAAAJ,EAAK,qBAAqBE,EAAM,KAAK;AAAA,IACvC;AAEA,WAAAG;AAAA,MACE,MAAMT,EAAM;AAAA,MACZ,MAAM;AACJ,QAAAM,EAAM,QAAQN,EAAM;AAAA,MACrB;AAAA,MACD,EAAE,WAAW,GAAM;AAAA,IACrB;;;;;;;;AC1Be,MAAMU,UAA2BC,EAAgB;AAAA,EAC9D,YAAYC,GAAWC,GAAQ;AAC7B,UAAMD,GAAWC,CAAM,GACvB,KAAK,UAAUD,EAAU,WAAW,IACpC,KAAK,UAAUE,GACf,KAAK,SAASC,GAEd,KAAK,qBAAqBH,CAAS;AAAA,EACpC;AACH;"}
|