kouxiangtang 0.1.28 → 0.1.29-beta.1
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/README.md +411 -411
- package/dist/{AttachmentUploader-BzYTQ2Qf.js → AttachmentUploader-Gl4uwpi0.js} +16 -16
- package/dist/AttachmentUploader-Gl4uwpi0.js.map +1 -0
- package/dist/{ImageUploader-DLHJ1tzU.js → ImageUploader-Ecxbu5yB.js} +15 -15
- package/dist/ImageUploader-Ecxbu5yB.js.map +1 -0
- package/dist/{ImagesUploader-SPuGgwHM.js → ImagesUploader-DiaKghBH.js} +7 -7
- package/dist/ImagesUploader-DiaKghBH.js.map +1 -0
- package/dist/{RichTextEditor-B3b6jQji.js → RichTextEditor-bJlEkb34.js} +2 -2
- package/dist/{RichTextEditor-B3b6jQji.js.map → RichTextEditor-bJlEkb34.js.map} +1 -1
- package/dist/color-DbNhHNpt.js.map +1 -1
- package/dist/{config-DiQXmcgA.js → config-B04hLt3e.js} +3 -3
- package/dist/config-B04hLt3e.js.map +1 -0
- package/dist/{config-DeDUsZbf.js → config-BMdtWu5R.js} +15 -15
- package/dist/config-BMdtWu5R.js.map +1 -0
- package/dist/{config-C_0aqFqC.js → config-BNxcHvPM.js} +12 -12
- package/dist/config-BNxcHvPM.js.map +1 -0
- package/dist/{config-D1AKvRDE.js → config-BSYmo88x.js} +2 -2
- package/dist/config-BSYmo88x.js.map +1 -0
- package/dist/{config-CrihHvWU.js → config-Bbs_ly6P.js} +2 -2
- package/dist/config-Bbs_ly6P.js.map +1 -0
- package/dist/{config-DfJHeDxo.js → config-Bmby6rfL.js} +5 -5
- package/dist/config-Bmby6rfL.js.map +1 -0
- package/dist/{config-DNpMwnXu.js → config-C8MFDKwG.js} +2 -2
- package/dist/config-C8MFDKwG.js.map +1 -0
- package/dist/{config-xw15_sRU.js → config-CDG1L4Oi.js} +3 -3
- package/dist/config-CDG1L4Oi.js.map +1 -0
- package/dist/{config-CoAT8ysi.js → config-CE-gN7KM.js} +15 -15
- package/dist/config-CE-gN7KM.js.map +1 -0
- package/dist/{config-DeX65_EM.js → config-CEbwLzea.js} +6 -6
- package/dist/config-CEbwLzea.js.map +1 -0
- package/dist/{config-Bg_ymjMz.js → config-DQerJfRt.js} +2 -2
- package/dist/config-DQerJfRt.js.map +1 -0
- package/dist/{config-B9G4hTsB.js → config-DSE87t_O.js} +8 -8
- package/dist/config-DSE87t_O.js.map +1 -0
- package/dist/{config-CZaDzLxF.js → config-Dh16WhJb.js} +14 -14
- package/dist/config-Dh16WhJb.js.map +1 -0
- package/dist/{config-pRg5XEQu.js → config-DrJPQ_iz.js} +11 -11
- package/dist/config-DrJPQ_iz.js.map +1 -0
- package/dist/{config-DxuX4ojq.js → config-Dr_SXi5U.js} +2 -2
- package/dist/config-Dr_SXi5U.js.map +1 -0
- package/dist/{config-2_082Zdu.js → config-KtTeOyV6.js} +2 -2
- package/dist/config-KtTeOyV6.js.map +1 -0
- package/dist/{config-WmUal7Ul.js → config-Xk01hDVk.js} +2 -2
- package/dist/config-Xk01hDVk.js.map +1 -0
- package/dist/{config-CrOXJKoD.js → config-ssH8d7K9.js} +2 -2
- package/dist/config-ssH8d7K9.js.map +1 -0
- package/dist/{config-DRrw7dp8.js → config-yVymOXO_.js} +2 -2
- package/dist/config-yVymOXO_.js.map +1 -0
- package/dist/{config-BDuSoKsc.js → config-ys3nFgYd.js} +2 -2
- package/dist/config-ys3nFgYd.js.map +1 -0
- package/dist/{index-8KysoWR3.js → index-lFCbFvdk.js} +82 -77
- package/dist/index-lFCbFvdk.js.map +1 -0
- package/dist/kouxiangtang.js +1 -1
- package/dist/kouxiangtang.umd.cjs +4 -4
- package/dist/kouxiangtang.umd.cjs.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +56 -56
- package/dist/AttachmentUploader-BzYTQ2Qf.js.map +0 -1
- package/dist/ImageUploader-DLHJ1tzU.js.map +0 -1
- package/dist/ImagesUploader-SPuGgwHM.js.map +0 -1
- package/dist/config-2_082Zdu.js.map +0 -1
- package/dist/config-B9G4hTsB.js.map +0 -1
- package/dist/config-BDuSoKsc.js.map +0 -1
- package/dist/config-Bg_ymjMz.js.map +0 -1
- package/dist/config-CZaDzLxF.js.map +0 -1
- package/dist/config-C_0aqFqC.js.map +0 -1
- package/dist/config-CoAT8ysi.js.map +0 -1
- package/dist/config-CrOXJKoD.js.map +0 -1
- package/dist/config-CrihHvWU.js.map +0 -1
- package/dist/config-D1AKvRDE.js.map +0 -1
- package/dist/config-DNpMwnXu.js.map +0 -1
- package/dist/config-DRrw7dp8.js.map +0 -1
- package/dist/config-DeDUsZbf.js.map +0 -1
- package/dist/config-DeX65_EM.js.map +0 -1
- package/dist/config-DfJHeDxo.js.map +0 -1
- package/dist/config-DiQXmcgA.js.map +0 -1
- package/dist/config-DxuX4ojq.js.map +0 -1
- package/dist/config-WmUal7Ul.js.map +0 -1
- package/dist/config-pRg5XEQu.js.map +0 -1
- package/dist/config-xw15_sRU.js.map +0 -1
- package/dist/index-8KysoWR3.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { E as p, _ as f, B as h } from "./index-
|
|
1
|
+
import { E as p, _ as f, B as h } from "./index-lFCbFvdk.js";
|
|
2
2
|
import { ref as r, watch as u, openBlock as s, createElementBlock as _, toDisplayString as v, createBlock as c, reactive as y, unref as V } from "vue";
|
|
3
3
|
import { ElDatePicker as D } from "element-plus";
|
|
4
4
|
const Y = { key: 0 }, b = {
|
|
@@ -49,7 +49,7 @@ const Y = { key: 0 }, b = {
|
|
|
49
49
|
onChange: a
|
|
50
50
|
}, null, 8, ["modelValue", "disabled", "placeholder"]));
|
|
51
51
|
}
|
|
52
|
-
}, B = /* @__PURE__ */ f(E, [["__scopeId", "data-v-
|
|
52
|
+
}, B = /* @__PURE__ */ f(E, [["__scopeId", "data-v-145e36e2"]]);
|
|
53
53
|
class w extends h {
|
|
54
54
|
constructor(e, t) {
|
|
55
55
|
super(e, t), this.display = k, this.editor = B, this.width = this.computeWidth(e), this.checkValidProperties(e);
|
|
@@ -61,4 +61,4 @@ class w extends h {
|
|
|
61
61
|
export {
|
|
62
62
|
w as default
|
|
63
63
|
};
|
|
64
|
-
//# sourceMappingURL=config-
|
|
64
|
+
//# sourceMappingURL=config-CDG1L4Oi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-CDG1L4Oi.js","sources":["../src/framework/field/datetime/FieldDisplay.vue","../src/framework/field/datetime/FieldEditor.vue","../src/framework/field/datetime/config.js"],"sourcesContent":["<script setup>\r\nimport EmptyTip from \"../../component/EmptyTip.vue\";\r\nimport { ref, watch } from \"vue\";\r\n\r\nconst props = defineProps({\r\n field: {\r\n type: Object,\r\n },\r\n row: {\r\n type: Object,\r\n },\r\n});\r\nconst isEmpty = ref(false);\r\nconst formattedValue = ref(\"...\");\r\n\r\nasync function getTime() {\r\n const value = props.row[props.field.code];\r\n\r\n if (value === undefined || value === null) {\r\n isEmpty.value = true;\r\n } else if (`${value}`.trim() === \"\") {\r\n isEmpty.value = true;\r\n } else {\r\n formattedValue.value = value;\r\n isEmpty.value = false;\r\n }\r\n}\r\n\r\nwatch(() => props.row, getTime, { immediate: true });\r\n</script>\r\n\r\n<template>\r\n <span v-if=\"!isEmpty\">\r\n {{ formattedValue }}\r\n </span>\r\n <EmptyTip v-else />\r\n</template>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","<template>\r\n <el-date-picker\r\n v-model=\"_form.value\"\r\n :disabled=\"props.disabled\"\r\n type=\"datetime\"\r\n format=\"YYYY-MM-DD HH:mm:ss\"\r\n value-format=\"YYYY-MM-DD HH:mm:ss\"\r\n :placeholder=\"field.placeholder\"\r\n @change=\"change\"\r\n />\r\n</template>\r\n\r\n<script setup>\r\nimport { ElDatePicker } from \"element-plus\";\r\nimport { reactive, watch } from \"vue\";\r\n\r\nconst emit = defineEmits([\"update:modelValue\"]);\r\nconst props = defineProps({\r\n modelValue: String,\r\n field: Object,\r\n disabled: Boolean,\r\n});\r\nconst _form = reactive({ value: props.modelValue });\r\n\r\nfunction change() {\r\n emit(\"update:modelValue\", _form.value);\r\n}\r\n\r\nwatch(\r\n () => props.modelValue,\r\n () => {\r\n _form.value = props.modelValue;\r\n },\r\n { immediate: true },\r\n);\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n:deep(.el-date-editor) {\r\n width: 100% !important;\r\n}\r\n</style>\r\n","import BaseFieldConfig from \"../base-field-config\";\r\nimport FieldDisplay from \"./FieldDisplay.vue\";\r\nimport FieldEditor from \"./FieldEditor.vue\";\r\n\r\nexport default class DatetimeFieldConfig extends BaseFieldConfig {\r\n constructor(rawConfig, domain) {\r\n super(rawConfig, domain);\r\n this.display = FieldDisplay;\r\n this.editor = FieldEditor;\r\n this.width = this.computeWidth(rawConfig);\r\n\r\n this.checkValidProperties(rawConfig);\r\n }\r\n\r\n computeWidth(rawConfig) {\r\n if (rawConfig.width) {\r\n return rawConfig.width;\r\n }\r\n\r\n return 200;\r\n }\r\n}\r\n"],"names":["props","__props","isEmpty","ref","formattedValue","getTime","value","watch","emit","__emit","_form","reactive","change","DatetimeFieldConfig","BaseFieldConfig","rawConfig","domain","FieldDisplay","FieldEditor"],"mappings":";;;;;;;;;;;;;;AAIA,UAAMA,IAAQC,GAQRC,IAAUC,EAAI,EAAK,GACnBC,IAAiBD,EAAI,KAAK;AAEhC,mBAAeE,IAAU;AACvB,YAAMC,IAAQN,EAAM,IAAIA,EAAM,MAAM,IAAI;AAExC,MAA2BM,KAAU,QAE1B,GAAGA,CAAK,GAAG,KAAI,MAAO,KAD/BJ,EAAQ,QAAQ,MAIhBE,EAAe,QAAQE,GACvBJ,EAAQ,QAAQ;AAAA,IAEpB;AAEA,WAAAK,EAAM,MAAMP,EAAM,KAAKK,GAAS,EAAE,WAAW,GAAI,CAAE;;;;;;;;;;;ACZnD,UAAMG,IAAOC,GACPT,IAAQC,GAKRS,IAAQC,EAAS,EAAE,OAAOX,EAAM,WAAY,CAAA;AAElD,aAASY,IAAS;AAChB,MAAAJ,EAAK,qBAAqBE,EAAM,KAAK;AAAA,IACvC;AAEA,WAAAH;AAAA,MACE,MAAMP,EAAM;AAAA,MACZ,MAAM;AACJ,QAAAU,EAAM,QAAQV,EAAM;AAAA,MACrB;AAAA,MACD,EAAE,WAAW,GAAM;AAAA,IACrB;;;;;;;;;;;;AC9Be,MAAMa,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,5 +1,5 @@
|
|
|
1
|
-
import { _ as w, s as
|
|
2
|
-
import { ref as
|
|
1
|
+
import { _ as w, s as b, E as B, B as C } from "./index-lFCbFvdk.js";
|
|
2
|
+
import { ref as f, watch as g, openBlock as n, createElementBlock as _, Fragment as V, renderList as x, createBlock as v, unref as h, withCtx as y, createElementVNode as F, normalizeStyle as R, toDisplayString as k, reactive as D, createTextVNode as O } from "vue";
|
|
3
3
|
import { ElTooltip as S, ElRadioGroup as T, ElRadio as $ } from "element-plus";
|
|
4
4
|
import { c as j } from "./color-DbNhHNpt.js";
|
|
5
5
|
import { useRoute as E } from "vue-router";
|
|
@@ -18,8 +18,8 @@ const N = {
|
|
|
18
18
|
}
|
|
19
19
|
},
|
|
20
20
|
setup(m) {
|
|
21
|
-
const a = E(), u =
|
|
22
|
-
async function
|
|
21
|
+
const a = E(), u = b(a), l = m, d = f("..."), e = f(!1), r = f([]);
|
|
22
|
+
async function p() {
|
|
23
23
|
const i = l.row[l.field.code];
|
|
24
24
|
if (l.field.label, i == null) {
|
|
25
25
|
d.value = "--", e.value = !1;
|
|
@@ -41,12 +41,12 @@ const N = {
|
|
|
41
41
|
name: o.name
|
|
42
42
|
})), e.value = !0;
|
|
43
43
|
}
|
|
44
|
-
return g(() => l.row,
|
|
45
|
-
(n(!0), _(V, null, x(r.value, (t) => (n(), v(
|
|
44
|
+
return g(() => l.row, p, { immediate: !0 }), (i, c) => e.value ? (n(), _("div", N, [
|
|
45
|
+
(n(!0), _(V, null, x(r.value, (t) => (n(), v(h(S), {
|
|
46
46
|
content: `${t.code}`,
|
|
47
47
|
placement: "top"
|
|
48
48
|
}, {
|
|
49
|
-
default:
|
|
49
|
+
default: y(() => [
|
|
50
50
|
F("div", {
|
|
51
51
|
class: "radio-field found",
|
|
52
52
|
style: R(`background: ${t.bgColor}`)
|
|
@@ -59,7 +59,7 @@ const N = {
|
|
|
59
59
|
text: d.value
|
|
60
60
|
}, null, 8, ["text"]));
|
|
61
61
|
}
|
|
62
|
-
}, Q = /* @__PURE__ */ w(G, [["__scopeId", "data-v-
|
|
62
|
+
}, Q = /* @__PURE__ */ w(G, [["__scopeId", "data-v-66131aaa"]]), z = {
|
|
63
63
|
__name: "FieldEditor",
|
|
64
64
|
props: {
|
|
65
65
|
modelValue: [String, Number],
|
|
@@ -70,9 +70,9 @@ const N = {
|
|
|
70
70
|
},
|
|
71
71
|
emits: ["update:modelValue"],
|
|
72
72
|
setup(m, { emit: a }) {
|
|
73
|
-
const u = E(), l =
|
|
73
|
+
const u = E(), l = b(u), d = a, e = m, r = D({ value: e.modelValue }), p = f([]);
|
|
74
74
|
async function i(t) {
|
|
75
|
-
|
|
75
|
+
p.value = await e.field.options(
|
|
76
76
|
e.formData,
|
|
77
77
|
l,
|
|
78
78
|
t
|
|
@@ -88,7 +88,7 @@ const N = {
|
|
|
88
88
|
r.value = e.modelValue;
|
|
89
89
|
},
|
|
90
90
|
{ immediate: !0 }
|
|
91
|
-
), i(), (t, o) => (n(), v(
|
|
91
|
+
), i(), (t, o) => (n(), v(h(T), {
|
|
92
92
|
modelValue: r.value,
|
|
93
93
|
"onUpdate:modelValue": o[0] || (o[0] = (s) => r.value = s),
|
|
94
94
|
style: { width: "100%" },
|
|
@@ -96,13 +96,13 @@ const N = {
|
|
|
96
96
|
placeholder: "",
|
|
97
97
|
onChange: c
|
|
98
98
|
}, {
|
|
99
|
-
default:
|
|
100
|
-
(n(!0), _(V, null, x(
|
|
99
|
+
default: y(() => [
|
|
100
|
+
(n(!0), _(V, null, x(p.value, (s) => (n(), v(h($), {
|
|
101
101
|
key: s.code,
|
|
102
102
|
label: s.code,
|
|
103
103
|
disabled: s.disabled
|
|
104
104
|
}, {
|
|
105
|
-
default:
|
|
105
|
+
default: y(() => [
|
|
106
106
|
O(k(s.name), 1)
|
|
107
107
|
]),
|
|
108
108
|
_: 2
|
|
@@ -121,4 +121,4 @@ class A extends C {
|
|
|
121
121
|
export {
|
|
122
122
|
A as default
|
|
123
123
|
};
|
|
124
|
-
//# sourceMappingURL=config-
|
|
124
|
+
//# sourceMappingURL=config-CE-gN7KM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-CE-gN7KM.js","sources":["../src/framework/field/radio-group/FieldDisplay.vue","../src/framework/field/radio-group/FieldEditor.vue","../src/framework/field/radio-group/config.js"],"sourcesContent":["<script setup>\r\nimport { ElTooltip } from \"element-plus\";\r\nimport color from \"../../utils/color\";\r\nimport EmptyTip from \"../../component/EmptyTip.vue\";\r\nimport { ref, watch } from \"vue\";\r\nimport { useRoute } from \"vue-router\";\r\nimport { setupRouteQuery } from \"../../utils/route-query\";\r\n\r\nconst route = useRoute();\r\nconst routeQuery = setupRouteQuery(route);\r\nconst props = defineProps({\r\n field: {\r\n type: Object,\r\n },\r\n row: {\r\n type: Object,\r\n },\r\n});\r\nconst invalidTip = ref(\"...\");\r\nconst found = ref(false);\r\nconst items = ref([]);\r\n\r\nasync function getRadioName() {\r\n const val = props.row[props.field.code];\r\n const label = props.field.label;\r\n if (val === undefined || val === null) {\r\n invalidTip.value = \"--\";\r\n found.value = false;\r\n return;\r\n }\r\n\r\n const options = await props.field.options(props.row, routeQuery);\r\n if (!options) {\r\n invalidTip.value = `<无>`;\r\n found.value = false;\r\n return;\r\n }\r\n\r\n let radioGroupOptions = \"\";\r\n radioGroupOptions = options.filter((item) => val === item.code); //formattedValue\r\n\r\n if (radioGroupOptions.length === 0) {\r\n invalidTip.value = `<无>`;\r\n found.value = false;\r\n return;\r\n }\r\n\r\n items.value = radioGroupOptions.map((item) => ({\r\n bgColor: color.strToHexColor(`${item.code}-${item.name}`),\r\n code: item.code,\r\n name: item.name,\r\n }));\r\n\r\n found.value = true;\r\n}\r\n\r\nwatch(() => props.row, getRadioName, { immediate: true });\r\n</script>\r\n\r\n<template>\r\n <template v-if=\"found\">\r\n <div class=\"radio-fields\">\r\n <el-tooltip\r\n v-for=\"item in items\"\r\n :content=\"`${item.code}`\"\r\n placement=\"top\"\r\n >\r\n <div class=\"radio-field found\" :style=\"`background: ${item.bgColor}`\">\r\n {{ item.name }}\r\n </div>\r\n </el-tooltip>\r\n </div>\r\n </template>\r\n <EmptyTip v-else :text=\"invalidTip\" />\r\n</template>\r\n\r\n<style scoped lang=\"scss\">\r\n.radio-fields {\r\n display: inline-block;\r\n line-height: inherit;\r\n}\r\n\r\n.radio-field {\r\n font-size: 12px;\r\n padding: 0 6px;\r\n border-radius: 4px;\r\n}\r\n\r\n.found {\r\n color: #fff;\r\n}\r\n</style>\r\n","<template>\r\n <el-radio-group\r\n v-model=\"_form.value\"\r\n style=\"width: 100%\"\r\n :disabled=\"props.disabled\"\r\n placeholder=\"\"\r\n @change=\"change\"\r\n >\r\n <template v-for=\"option in options\" :key=\"option.code\">\r\n <el-radio :label=\"option.code\" :disabled=\"option.disabled\">{{\r\n option.name\r\n }}</el-radio>\r\n </template>\r\n </el-radio-group>\r\n</template>\r\n\r\n<script setup>\r\nimport { ElRadioGroup, ElRadio } from \"element-plus\";\r\nimport { reactive, watch, ref } from \"vue\";\r\nimport { useRoute } from \"vue-router\";\r\nimport { setupRouteQuery } from \"../../utils/route-query\";\r\n\r\nconst route = useRoute();\r\nconst routeQuery = setupRouteQuery(route);\r\nconst emit = defineEmits([\"update:modelValue\"]);\r\nconst props = defineProps({\r\n modelValue: [String, Number],\r\n field: Object,\r\n type: String,\r\n disabled: Boolean,\r\n formData: Object,\r\n});\r\nconst _form = reactive({ value: props.modelValue });\r\nconst options = ref([]);\r\n\r\nasync function remoteSearch(keyword) {\r\n options.value = await props.field.options(\r\n props.formData,\r\n routeQuery,\r\n keyword,\r\n );\r\n}\r\n\r\nfunction change() {\r\n emit(\"update:modelValue\", _form.value);\r\n if (props?.field?.change) {\r\n props.field.change(_form.value);\r\n }\r\n}\r\n\r\nwatch(\r\n () => props.modelValue,\r\n () => {\r\n _form.value = props.modelValue;\r\n },\r\n { immediate: true },\r\n);\r\nremoteSearch();\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import BaseFieldConfig from \"../base-field-config\";\r\nimport FieldDisplay from \"./FieldDisplay.vue\";\r\nimport FieldEditor from \"./FieldEditor.vue\";\r\n\r\nclass RadioGroupFieldConfig extends BaseFieldConfig {\r\n constructor(rawConfig, domain) {\r\n super(rawConfig, domain);\r\n this.options = rawConfig.options || (() => [{ code: 0, name: \"未实现\" }]);\r\n this.formChange = rawConfig.formChange || (() => {});\r\n this.display = FieldDisplay;\r\n this.editor = FieldEditor;\r\n\r\n this.checkValidProperties(rawConfig);\r\n }\r\n}\r\n\r\nexport default RadioGroupFieldConfig;\r\n"],"names":["route","useRoute","routeQuery","setupRouteQuery","props","__props","invalidTip","ref","found","items","getRadioName","val","options","radioGroupOptions","item","color","watch","emit","__emit","_form","reactive","remoteSearch","keyword","change","_a","RadioGroupFieldConfig","BaseFieldConfig","rawConfig","domain","FieldDisplay","FieldEditor"],"mappings":";;;;;;;;;;;;;;;;;;;;AAQA,UAAMA,IAAQC,EAAQ,GAChBC,IAAaC,EAAgBH,CAAK,GAClCI,IAAQC,GAQRC,IAAaC,EAAI,KAAK,GACtBC,IAAQD,EAAI,EAAK,GACjBE,IAAQF,EAAI,CAAA,CAAE;AAEpB,mBAAeG,IAAe;AAC5B,YAAMC,IAAMP,EAAM,IAAIA,EAAM,MAAM,IAAI;AAEtC,UADcA,EAAM,MAAM,OACDO,KAAQ,MAAM;AACrC,QAAAL,EAAW,QAAQ,MACnBE,EAAM,QAAQ;AACd;AAAA,MACD;AAED,YAAMI,IAAU,MAAMR,EAAM,MAAM,QAAQA,EAAM,KAAKF,CAAU;AAC/D,UAAI,CAACU,GAAS;AACZ,QAAAN,EAAW,QAAQ,OACnBE,EAAM,QAAQ;AACd;AAAA,MACD;AAED,UAAIK,IAAoB;AAGxB,UAFAA,IAAoBD,EAAQ,OAAO,CAACE,MAASH,MAAQG,EAAK,IAAI,GAE1DD,EAAkB,WAAW,GAAG;AAClC,QAAAP,EAAW,QAAQ,OACnBE,EAAM,QAAQ;AACd;AAAA,MACD;AAED,MAAAC,EAAM,QAAQI,EAAkB,IAAI,CAACC,OAAU;AAAA,QAC7C,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,GAAc,EAAE,WAAW,GAAI,CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClCxD,UAAMV,IAAQC,EAAQ,GAChBC,IAAaC,EAAgBH,CAAK,GAClCiB,IAAOC,GACPd,IAAQC,GAORc,IAAQC,EAAS,EAAE,OAAOhB,EAAM,WAAY,CAAA,GAC5CQ,IAAUL,EAAI,CAAA,CAAE;AAEtB,mBAAec,EAAaC,GAAS;AACnC,MAAAV,EAAQ,QAAQ,MAAMR,EAAM,MAAM;AAAA,QAChCA,EAAM;AAAA,QACNF;AAAA,QACAoB;AAAA,MACJ;AAAA,IACA;AAEA,aAASC,IAAS;;AAChB,MAAAN,EAAK,qBAAqBE,EAAM,KAAK,IACjCK,IAAApB,KAAA,gBAAAA,EAAO,UAAP,QAAAoB,EAAc,UAChBpB,EAAM,MAAM,OAAOe,EAAM,KAAK;AAAA,IAElC;AAEA,WAAAH;AAAA,MACE,MAAMZ,EAAM;AAAA,MACZ,MAAM;AACJ,QAAAe,EAAM,QAAQf,EAAM;AAAA,MACrB;AAAA,MACD,EAAE,WAAW,GAAM;AAAA,IACrB,GACAiB;;;;;;;;;;;;;;;;;;;;;;;;ACrDA,MAAMI,UAA8BC,EAAgB;AAAA,EAClD,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,GAEd,KAAK,qBAAqBH,CAAS;AAAA,EACpC;AACH;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { E as h, _ as x, B as V } from "./index-
|
|
2
|
-
import { ref as c, watch as p, openBlock as r, createElementBlock as
|
|
1
|
+
import { E as h, _ as x, B as V } from "./index-lFCbFvdk.js";
|
|
2
|
+
import { ref as c, watch as p, openBlock as r, createElementBlock as _, toDisplayString as u, createBlock as v, reactive as b, unref as k, createSlots as E, withCtx as f, createElementVNode as m } from "vue";
|
|
3
3
|
import { ElInput as g } from "element-plus";
|
|
4
4
|
const B = { key: 0 }, F = {
|
|
5
5
|
__name: "FieldDisplay",
|
|
@@ -22,7 +22,7 @@ const B = { key: 0 }, F = {
|
|
|
22
22
|
const o = e.field.code.toString().split(".").reduce((s, y) => s[y], e.row);
|
|
23
23
|
o == null || `${o}`.trim() === "" ? l.value = !0 : (a.value = o, l.value = !1);
|
|
24
24
|
}
|
|
25
|
-
return p(() => e.row, i, { immediate: !0 }), (n, o) => l.value ? (r(), v(h, { key: 1 })) : (r(),
|
|
25
|
+
return p(() => e.row, i, { immediate: !0 }), (n, o) => l.value ? (r(), v(h, { key: 1 })) : (r(), _("span", B, u(a.value), 1));
|
|
26
26
|
}
|
|
27
27
|
}, S = F, j = { class: "annotation" }, w = { class: "annotation" }, O = {
|
|
28
28
|
__name: "FieldEditor",
|
|
@@ -34,7 +34,7 @@ const B = { key: 0 }, F = {
|
|
|
34
34
|
},
|
|
35
35
|
emits: ["update:modelValue"],
|
|
36
36
|
setup(t, { emit: e }) {
|
|
37
|
-
const l = e, a = t, i =
|
|
37
|
+
const l = e, a = t, i = b({ value: a.modelValue });
|
|
38
38
|
function n() {
|
|
39
39
|
l("update:modelValue", i.value);
|
|
40
40
|
}
|
|
@@ -69,7 +69,7 @@ const B = { key: 0 }, F = {
|
|
|
69
69
|
} : void 0
|
|
70
70
|
]), 1032, ["modelValue", "type", "disabled", "placeholder"]));
|
|
71
71
|
}
|
|
72
|
-
}, D = /* @__PURE__ */ x(O, [["__scopeId", "data-v-
|
|
72
|
+
}, D = /* @__PURE__ */ x(O, [["__scopeId", "data-v-449013dd"]]);
|
|
73
73
|
class C extends V {
|
|
74
74
|
constructor(e, l) {
|
|
75
75
|
super(e, l), this.display = S, this.editor = D, this.formatter = e.formatter, this.checkValidProperties(e);
|
|
@@ -78,4 +78,4 @@ class C extends V {
|
|
|
78
78
|
export {
|
|
79
79
|
C as default
|
|
80
80
|
};
|
|
81
|
-
//# sourceMappingURL=config-
|
|
81
|
+
//# sourceMappingURL=config-CEbwLzea.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-CEbwLzea.js","sources":["../src/framework/field/string/FieldDisplay.vue","../src/framework/field/string/FieldEditor.vue","../src/framework/field/string/config.js"],"sourcesContent":["<template>\r\n <span v-if=\"!isEmpty\"> {{ formattedValue }} </span>\r\n <EmptyTip v-else />\r\n</template>\r\n\r\n<script setup>\r\nimport EmptyTip from \"../../component/EmptyTip.vue\";\r\nimport { ref, watch } from \"vue\";\r\n\r\nconst props = defineProps({\r\n field: {\r\n type: Object,\r\n },\r\n row: {\r\n type: Object,\r\n },\r\n});\r\nconst isEmpty = ref(false);\r\nconst formattedValue = ref(\"...\");\r\n\r\nasync function getName() {\r\n if (props.field?.formatter) {\r\n formattedValue.value = props.field.formatter(props.row);\r\n isEmpty.value = !formattedValue.value;\r\n return;\r\n }\r\n const fields = props.field.code.toString().split(\".\");\r\n const value = fields.reduce((acc, curr) => acc[curr], props.row);\r\n\r\n if (value === undefined || value === null) {\r\n isEmpty.value = true;\r\n } else if (`${value}`.trim() === \"\") {\r\n isEmpty.value = true;\r\n } else {\r\n formattedValue.value = value;\r\n isEmpty.value = false;\r\n }\r\n}\r\n\r\nwatch(() => props.row, getName, { immediate: true });\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","<template>\r\n <el-input\r\n v-model=\"_form.value\"\r\n :type=\"field.type\"\r\n clearable\r\n :disabled=\"props.disabled\"\r\n :placeholder=\"field.placeholder\"\r\n @input=\"change\"\r\n >\r\n <template v-if=\"field.prefix\" #prefix>\r\n <div class=\"annotation\">{{ field.prefix }}</div>\r\n </template>\r\n <template v-if=\"field.suffix\" #suffix>\r\n <div class=\"annotation\">{{ field.suffix }}</div></template\r\n >\r\n </el-input>\r\n</template>\r\n\r\n<script setup>\r\nimport { ElInput } from \"element-plus\";\r\nimport { reactive, watch } from \"vue\";\r\n\r\nconst emit = defineEmits([\"update:modelValue\"]);\r\nconst props = defineProps({\r\n modelValue: [Object, String, Number],\r\n field: Object,\r\n type: String,\r\n disabled: Boolean,\r\n});\r\nconst _form = reactive({ value: props.modelValue });\r\n\r\nfunction change() {\r\n emit(\"update:modelValue\", _form.value);\r\n}\r\n\r\nwatch(\r\n () => props.modelValue,\r\n () => {\r\n _form.value = props.modelValue;\r\n },\r\n { immediate: true },\r\n);\r\n</script>\r\n\r\n<style scoped lang=\"scss\">\r\n.annotation {\r\n color: #606266;\r\n}\r\n</style>\r\n","import BaseFieldConfig from \"../base-field-config\";\r\nimport FieldDisplay from \"./FieldDisplay.vue\";\r\nimport FieldEditor from \"./FieldEditor.vue\";\r\n\r\nexport default class StringFieldConfig extends BaseFieldConfig {\r\n constructor(rawConfig, domain) {\r\n super(rawConfig, domain);\r\n this.display = FieldDisplay;\r\n this.editor = FieldEditor;\r\n this.formatter = rawConfig.formatter;\r\n\r\n this.checkValidProperties(rawConfig);\r\n }\r\n}\r\n"],"names":["props","__props","isEmpty","ref","formattedValue","getName","_a","value","acc","curr","watch","emit","__emit","_form","reactive","change","StringFieldConfig","BaseFieldConfig","rawConfig","domain","FieldDisplay","FieldEditor"],"mappings":";;;;;;;;;;;;;;AASA,UAAMA,IAAQC,GAQRC,IAAUC,EAAI,EAAK,GACnBC,IAAiBD,EAAI,KAAK;AAEhC,mBAAeE,IAAU;;AACvB,WAAIC,IAAAN,EAAM,UAAN,QAAAM,EAAa,WAAW;AAC1B,QAAAF,EAAe,QAAQJ,EAAM,MAAM,UAAUA,EAAM,GAAG,GACtDE,EAAQ,QAAQ,CAACE,EAAe;AAChC;AAAA,MACD;AAED,YAAMG,IADSP,EAAM,MAAM,KAAK,WAAW,MAAM,GAAG,EAC/B,OAAO,CAACQ,GAAKC,MAASD,EAAIC,CAAI,GAAGT,EAAM,GAAG;AAE/D,MAA2BO,KAAU,QAE1B,GAAGA,CAAK,GAAG,KAAI,MAAO,KAD/BL,EAAQ,QAAQ,MAIhBE,EAAe,QAAQG,GACvBL,EAAQ,QAAQ;AAAA,IAEpB;AAEA,WAAAQ,EAAM,MAAMV,EAAM,KAAKK,GAAS,EAAE,WAAW,GAAI,CAAE;;;;;;;;;;;;ACjBnD,UAAMM,IAAOC,GACPZ,IAAQC,GAMRY,IAAQC,EAAS,EAAE,OAAOd,EAAM,WAAY,CAAA;AAElD,aAASe,IAAS;AAChB,MAAAJ,EAAK,qBAAqBE,EAAM,KAAK;AAAA,IACvC;AAEA,WAAAH;AAAA,MACE,MAAMV,EAAM;AAAA,MACZ,MAAM;AACJ,QAAAa,EAAM,QAAQb,EAAM;AAAA,MACrB;AAAA,MACD,EAAE,WAAW,GAAM;AAAA,IACrB;;;;;;;;;;;;;;;;;;;;;;;;;;ACrCe,MAAMgB,UAA0BC,EAAgB;AAAA,EAC7D,YAAYC,GAAWC,GAAQ;AAC7B,UAAMD,GAAWC,CAAM,GACvB,KAAK,UAAUC,GACf,KAAK,SAASC,GACd,KAAK,YAAYH,EAAU,WAE3B,KAAK,qBAAqBA,CAAS;AAAA,EACpC;AACH;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as p } from "./index-
|
|
1
|
+
import { B as p } from "./index-lFCbFvdk.js";
|
|
2
2
|
import { ref as f, computed as h, openBlock as u, createElementBlock as b, createVNode as V, unref as c, reactive as v, watch as g, createBlock as y } from "vue";
|
|
3
3
|
import { ElSwitch as m } from "element-plus";
|
|
4
4
|
import "./el-switch-l0sNRNKZ.js";
|
|
@@ -67,4 +67,4 @@ class O extends p {
|
|
|
67
67
|
export {
|
|
68
68
|
O as default
|
|
69
69
|
};
|
|
70
|
-
//# sourceMappingURL=config-
|
|
70
|
+
//# sourceMappingURL=config-DQerJfRt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-DQerJfRt.js","sources":["../src/framework/field/switch/FieldDisplay.vue","../src/framework/field/switch/FieldEditor.vue","../src/framework/field/switch/config.js"],"sourcesContent":["<template>\r\n <span style=\"display: flex; align-items: center\">\r\n <el-switch\r\n v-model=\"value\"\r\n size=\"small\"\r\n :disabled=\"isDeleted ? true : false\"\r\n :before-change=\"($event) => switchChange(row, field.label)\"\r\n />\r\n </span>\r\n</template>\r\n\r\n<script setup>\r\nimport { ElSwitch } from \"element-plus\";\r\nimport { computed, ref } from \"vue\";\r\n\r\nconst emit = defineEmits([\"enable\"]);\r\nconst props = defineProps({\r\n field: {\r\n type: Object,\r\n },\r\n row: {\r\n type: Object,\r\n },\r\n});\r\nconst isDeleted = ref(props.row.deletedAt);\r\n\r\nfunction switchChange(row, label) {\r\n row.label = label;\r\n return new Promise((resolve, reject) => {\r\n emit(\"enable\", row);\r\n });\r\n}\r\n\r\nconst value = computed(() => {\r\n return props.row[props.field.code];\r\n});\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","<template>\r\n <el-switch\r\n v-model=\"_form.value\"\r\n :disabled=\"props.disabled\"\r\n @change=\"change\"\r\n />\r\n</template>\r\n\r\n<script setup>\r\nimport { ElSwitch } from \"element-plus\";\r\nimport { reactive, watch } from \"vue\";\r\n\r\nconst emit = defineEmits([\"update:modelValue\"]);\r\nconst props = defineProps({\r\n modelValue: Boolean,\r\n field: Object,\r\n disabled: Boolean,\r\n});\r\nconst _form = reactive({ value: props.modelValue });\r\n\r\nfunction change() {\r\n emit(\"update:modelValue\", _form.value);\r\n}\r\n\r\nwatch(\r\n () => props.modelValue,\r\n () => {\r\n _form.value = props.modelValue;\r\n },\r\n { immediate: true },\r\n);\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import BaseFieldConfig from \"../base-field-config\";\r\nimport FieldDisplay from \"./FieldDisplay.vue\";\r\nimport FieldEditor from \"./FieldEditor.vue\";\r\n\r\nexport default class SwitchFieldConfig extends BaseFieldConfig {\r\n constructor(rawConfig, domain) {\r\n super(rawConfig, domain);\r\n this.formChange = rawConfig.formChange || (() => {});\r\n this.default = rawConfig.default || false;\r\n this.display = FieldDisplay;\r\n this.editor = FieldEditor;\r\n\r\n this.checkValidProperties(rawConfig);\r\n }\r\n}\r\n"],"names":["emit","__emit","props","__props","isDeleted","ref","switchChange","row","label","resolve","reject","value","computed","_form","reactive","change","watch","SwitchFieldConfig","BaseFieldConfig","rawConfig","domain","FieldDisplay","FieldEditor"],"mappings":";;;;;;;;;;;;;;;;AAeA,UAAMA,IAAOC,GACPC,IAAQC,GAQRC,IAAYC,EAAIH,EAAM,IAAI,SAAS;AAEzC,aAASI,EAAaC,GAAKC,GAAO;AAChC,aAAAD,EAAI,QAAQC,GACL,IAAI,QAAQ,CAACC,GAASC,MAAW;AACtC,QAAAV,EAAK,UAAUO,CAAG;AAAA,MACtB,CAAG;AAAA,IACH;AAEA,UAAMI,IAAQC,EAAS,MACdV,EAAM,IAAIA,EAAM,MAAM,IAAI,CAClC;;;;;;;;;;;;;;;;;;;;ACvBD,UAAMF,IAAOC,GACPC,IAAQC,GAKRU,IAAQC,EAAS,EAAE,OAAOZ,EAAM,WAAY,CAAA;AAElD,aAASa,IAAS;AAChB,MAAAf,EAAK,qBAAqBa,EAAM,KAAK;AAAA,IACvC;AAEA,WAAAG;AAAA,MACE,MAAMd,EAAM;AAAA,MACZ,MAAM;AACJ,QAAAW,EAAM,QAAQX,EAAM;AAAA,MACrB;AAAA,MACD,EAAE,WAAW,GAAM;AAAA,IACrB;;;;;;;;AC1Be,MAAMe,UAA0BC,EAAgB;AAAA,EAC7D,YAAYC,GAAWC,GAAQ;AAC7B,UAAMD,GAAWC,CAAM,GACvB,KAAK,aAAaD,EAAU,eAAe,MAAM;AAAA,IAAE,IACnD,KAAK,UAAUA,EAAU,WAAW,IACpC,KAAK,UAAUE,GACf,KAAK,SAASC,GAEd,KAAK,qBAAqBH,CAAS;AAAA,EACpC;AACH;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { _, E as x, s as S, B as V } from "./index-
|
|
2
|
-
import { ref as i, watch as k, openBlock as f, createBlock as m, unref as
|
|
1
|
+
import { _, E as x, s as S, B as V } from "./index-lFCbFvdk.js";
|
|
2
|
+
import { ref as i, watch as k, openBlock as f, createBlock as m, unref as v, reactive as w } from "vue";
|
|
3
3
|
import "./color-DbNhHNpt.js";
|
|
4
4
|
import { ElTree as B, ElTreeSelect as T } from "element-plus";
|
|
5
5
|
import { useRoute as g } from "vue-router";
|
|
@@ -23,7 +23,7 @@ const E = {
|
|
|
23
23
|
async function d() {
|
|
24
24
|
a.value = e.row[e.field.code], r.value = await e.field.options(), l.value = !0;
|
|
25
25
|
}
|
|
26
|
-
return k(() => e.row, d, { immediate: !0 }), (h, p) => l.value ? (f(), m(
|
|
26
|
+
return k(() => e.row, d, { immediate: !0 }), (h, p) => l.value ? (f(), m(v(B), {
|
|
27
27
|
key: 0,
|
|
28
28
|
"default-checked-keys": a.value,
|
|
29
29
|
style: { width: "100%" },
|
|
@@ -45,7 +45,7 @@ const E = {
|
|
|
45
45
|
text: t.value
|
|
46
46
|
}, null, 8, ["text"]));
|
|
47
47
|
}
|
|
48
|
-
}, F = /* @__PURE__ */ _(E, [["__scopeId", "data-v-
|
|
48
|
+
}, F = /* @__PURE__ */ _(E, [["__scopeId", "data-v-f3f99ac4"]]), j = {
|
|
49
49
|
__name: "FieldEditor",
|
|
50
50
|
props: {
|
|
51
51
|
modelValue: Number,
|
|
@@ -67,7 +67,7 @@ const E = {
|
|
|
67
67
|
o
|
|
68
68
|
);
|
|
69
69
|
}
|
|
70
|
-
function
|
|
70
|
+
function b(o, s) {
|
|
71
71
|
var n;
|
|
72
72
|
return (n = t.field) != null && n.useApiSearchKeyword || !o ? !0 : s.name.includes(o);
|
|
73
73
|
}
|
|
@@ -80,7 +80,7 @@ const E = {
|
|
|
80
80
|
l.value = t.modelValue;
|
|
81
81
|
},
|
|
82
82
|
{ immediate: !0 }
|
|
83
|
-
), p(), (o, s) => (f(), m(
|
|
83
|
+
), p(), (o, s) => (f(), m(v(T), {
|
|
84
84
|
modelValue: l.value,
|
|
85
85
|
"onUpdate:modelValue": s[0] || (s[0] = (n) => l.value = n),
|
|
86
86
|
style: { width: "100%" },
|
|
@@ -99,7 +99,7 @@ const E = {
|
|
|
99
99
|
"show-checkbox": "",
|
|
100
100
|
filterable: "",
|
|
101
101
|
clearable: "",
|
|
102
|
-
"filter-node-method":
|
|
102
|
+
"filter-node-method": b,
|
|
103
103
|
"remote-method": p,
|
|
104
104
|
onCheck: y,
|
|
105
105
|
onChange: y
|
|
@@ -120,4 +120,4 @@ class P extends V {
|
|
|
120
120
|
export {
|
|
121
121
|
P as default
|
|
122
122
|
};
|
|
123
|
-
//# sourceMappingURL=config-
|
|
123
|
+
//# sourceMappingURL=config-DSE87t_O.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-DSE87t_O.js","sources":["../src/framework/field/tree-select/FieldDisplay.vue","../src/framework/field/tree-select/FieldEditor.vue","../src/framework/field/tree-select/config.js"],"sourcesContent":["<script setup>\r\nimport color from \"../../utils/color\";\r\nimport EmptyTip from \"../../component/EmptyTip.vue\";\r\nimport { ref, watch } from \"vue\";\r\nimport { ElTree } from \"element-plus\";\r\n\r\nconst props = defineProps({\r\n field: {\r\n type: Object,\r\n },\r\n row: {\r\n type: Object,\r\n },\r\n});\r\nconst formValue = ref([]);\r\nconst options = ref([]);\r\nconst defaultTreeSelectProps = {\r\n label: \"name\",\r\n children: \"children\",\r\n value: \"id\",\r\n};\r\nconst invalidTip = ref(\"...\");\r\nconst found = ref(false);\r\nconst items = ref([]);\r\n\r\nasync function getSelectName() {\r\n formValue.value = props.row[props.field.code];\r\n options.value = await props.field.options();\r\n // if (!options.value) {\r\n // invalidTip.value = `<无>`;\r\n // found.value = false;\r\n // return;\r\n // }\r\n\r\n // let selectedOptions = [];\r\n // if (props.field.multiple) {\r\n // selectedOptions = options.value.filter((item) => val.includes(item.code));\r\n // } else {\r\n // selectedOptions = options.value.filter((item) => val === item.code);\r\n // }\r\n\r\n // if (selectedOptions.length === 0) {\r\n // invalidTip.value = `<无>`;\r\n // found.value = false;\r\n // return;\r\n // }\r\n\r\n // items.value = selectedOptions.map((item) => ({\r\n // bgColor: color.strToHexColor(`${item.code}-${item.name}`),\r\n // code: item.code,\r\n // name: item.name,\r\n // }));\r\n\r\n found.value = true;\r\n}\r\n\r\nwatch(() => props.row, getSelectName, { immediate: true });\r\n</script>\r\n\r\n<template>\r\n <template v-if=\"found\">\r\n <el-tree\r\n :default-checked-keys=\"formValue\"\r\n style=\"width: 100%\"\r\n :data=\"options\"\r\n :props=\"defaultTreeSelectProps\"\r\n node-key=\"id\"\r\n :multiple=\"props.field.multiple\"\r\n :render-after-expand=\"false\"\r\n check-on-click-node\r\n :expand-on-click-node=\"false\"\r\n default-expand-all\r\n highlight-current\r\n disabled=\"true\"\r\n :check-strictly=\"props.field.checkStrictly\"\r\n show-checkbox\r\n filterable\r\n />\r\n </template>\r\n <EmptyTip v-else :text=\"invalidTip\" />\r\n</template>\r\n\r\n<style scoped lang=\"scss\">\r\n.select-fields {\r\n display: inline-block;\r\n}\r\n\r\n.select-field {\r\n font-size: 12px;\r\n padding: 4px 6px;\r\n border-radius: 4px;\r\n}\r\n\r\n.found {\r\n color: #fff;\r\n}\r\n</style>\r\n","<template>\r\n <el-tree-select\r\n v-model=\"_form.value\"\r\n style=\"width: 100%\"\r\n :data=\"options\"\r\n :props=\"defaultTreeSelectProps\"\r\n node-key=\"id\"\r\n :multiple=\"props.field.multiple\"\r\n :render-after-expand=\"false\"\r\n check-on-click-node\r\n :expand-on-click-node=\"false\"\r\n default-expand-all\r\n highlight-current\r\n :disabled=\"props.field.disabled\"\r\n :check-strictly=\"props.field.checkStrictly\"\r\n remote\r\n show-checkbox\r\n filterable\r\n clearable\r\n :filter-node-method=\"filterNode\"\r\n :remote-method=\"remoteSearch\"\r\n @check=\"change\"\r\n @change=\"change\"\r\n />\r\n</template>\r\n\r\n<script setup>\r\nimport { ElTreeSelect } from \"element-plus\";\r\nimport { reactive, watch, ref } from \"vue\";\r\nimport { useRoute } from \"vue-router\";\r\nimport { setupRouteQuery } from \"../../utils/route-query\";\r\n\r\nconst route = useRoute();\r\nconst routeQuery = setupRouteQuery(route);\r\nconst emit = defineEmits([\"update:modelValue\"]);\r\nconst props = defineProps({\r\n modelValue: Number,\r\n field: Object,\r\n disabled: Boolean,\r\n formData: Object,\r\n});\r\nconst _form = reactive({ value: props.modelValue });\r\nconst options = ref([]);\r\nconst defaultTreeSelectProps = {\r\n label: \"name\",\r\n children: \"children\",\r\n value: \"id\",\r\n};\r\n\r\nasync function remoteSearch(keyword) {\r\n options.value = await props.field.options(\r\n props.formData,\r\n routeQuery,\r\n keyword,\r\n );\r\n}\r\n\r\nfunction filterNode(value, data) {\r\n // 如果用api进行keyword的检索,直接return true才会展示\r\n // 需要api查keyword时useApiSearchKeyword传true,否则走默认查询,includes到才展示\r\n if (props.field?.useApiSearchKeyword) {\r\n return true;\r\n }\r\n\r\n if (!value) {\r\n return true;\r\n }\r\n\r\n return data.name.includes(value);\r\n}\r\n\r\nfunction change() {\r\n emit(\"update:modelValue\", _form.value);\r\n}\r\n\r\nwatch(\r\n () => props.modelValue,\r\n () => {\r\n _form.value = props.modelValue;\r\n },\r\n { immediate: true },\r\n);\r\nremoteSearch();\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import BaseFieldConfig from \"../base-field-config\";\r\nimport FieldDisplay from \"./FieldDisplay.vue\";\r\nimport FieldEditor from \"./FieldEditor.vue\";\r\n\r\nclass TreeFieldConfig extends BaseFieldConfig {\r\n constructor(rawConfig, domain) {\r\n super(rawConfig, domain);\r\n this.options = rawConfig.options || (() => []);\r\n this.formChange = rawConfig.formChange || (() => {});\r\n this.multiple = this.defaultBy(rawConfig.multiple, false);\r\n this.checkStrictly = this.defaultBy(rawConfig.checkStrictly, true);\r\n this.useApiSearchKeyword = rawConfig.useApiSearchKeyword || false;\r\n this.display = FieldDisplay;\r\n this.editor = FieldEditor;\r\n\r\n this.checkValidProperties(rawConfig);\r\n }\r\n\r\n defaultConfig() {\r\n return {\r\n showInList: false,\r\n };\r\n }\r\n}\r\n\r\nexport default TreeFieldConfig;\r\n"],"names":["props","__props","formValue","ref","options","defaultTreeSelectProps","invalidTip","found","getSelectName","watch","route","useRoute","routeQuery","setupRouteQuery","emit","__emit","_form","reactive","remoteSearch","keyword","filterNode","value","data","_a","change","TreeFieldConfig","BaseFieldConfig","rawConfig","domain","FieldDisplay","FieldEditor"],"mappings":";;;;;;;;;;;;;;;;AAMA,UAAMA,IAAQC,GAQRC,IAAYC,EAAI,CAAA,CAAE,GAClBC,IAAUD,EAAI,CAAA,CAAE,GAChBE,IAAyB;AAAA,MAC7B,OAAO;AAAA,MACP,UAAU;AAAA,MACV,OAAO;AAAA,IACT,GACMC,IAAaH,EAAI,KAAK,GACtBI,IAAQJ,EAAI,EAAK;AACT,IAAAA,EAAI,EAAE;AAEpB,mBAAeK,IAAgB;AAC7B,MAAAN,EAAU,QAAQF,EAAM,IAAIA,EAAM,MAAM,IAAI,GAC5CI,EAAQ,QAAQ,MAAMJ,EAAM,MAAM,QAAO,GA0BzCO,EAAM,QAAQ;AAAA,IAChB;AAEA,WAAAE,EAAM,MAAMT,EAAM,KAAKQ,GAAe,EAAE,WAAW,GAAI,CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxBzD,UAAME,IAAQC,EAAQ,GAChBC,IAAaC,EAAgBH,CAAK,GAClCI,IAAOC,GACPf,IAAQC,GAMRe,IAAQC,EAAS,EAAE,OAAOjB,EAAM,WAAY,CAAA,GAC5CI,IAAUD,EAAI,CAAA,CAAE,GAChBE,IAAyB;AAAA,MAC7B,OAAO;AAAA,MACP,UAAU;AAAA,MACV,OAAO;AAAA,IACT;AAEA,mBAAea,EAAaC,GAAS;AACnC,MAAAf,EAAQ,QAAQ,MAAMJ,EAAM,MAAM;AAAA,QAChCA,EAAM;AAAA,QACNY;AAAA,QACAO;AAAA,MACJ;AAAA,IACA;AAEA,aAASC,EAAWC,GAAOC,GAAM;;AAO/B,cAJIC,IAAAvB,EAAM,UAAN,QAAAuB,EAAa,uBAIb,CAACF,IACI,KAGFC,EAAK,KAAK,SAASD,CAAK;AAAA,IACjC;AAEA,aAASG,IAAS;AAChB,MAAAV,EAAK,qBAAqBE,EAAM,KAAK;AAAA,IACvC;AAEA,WAAAP;AAAA,MACE,MAAMT,EAAM;AAAA,MACZ,MAAM;AACJ,QAAAgB,EAAM,QAAQhB,EAAM;AAAA,MACrB;AAAA,MACD,EAAE,WAAW,GAAM;AAAA,IACrB,GACAkB;;;;;;;;;;;;;;;;;;;;;;;;;;AC9EA,MAAMO,UAAwBC,EAAgB;AAAA,EAC5C,YAAYC,GAAWC,GAAQ;AAC7B,UAAMD,GAAWC,CAAM,GACvB,KAAK,UAAUD,EAAU,YAAY,MAAM,CAAE,IAC7C,KAAK,aAAaA,EAAU,eAAe,MAAM;AAAA,IAAE,IACnD,KAAK,WAAW,KAAK,UAAUA,EAAU,UAAU,EAAK,GACxD,KAAK,gBAAgB,KAAK,UAAUA,EAAU,eAAe,EAAI,GACjE,KAAK,sBAAsBA,EAAU,uBAAuB,IAC5D,KAAK,UAAUE,GACf,KAAK,SAASC,GAEd,KAAK,qBAAqBH,CAAS;AAAA,EACpC;AAAA,EAED,gBAAgB;AACd,WAAO;AAAA,MACL,YAAY;AAAA,IAClB;AAAA,EACG;AACH;"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { _ as h, E as f, B as v, i as y } from "./index-
|
|
2
|
-
import { ref as p, watch as g, openBlock as s, createBlock as
|
|
3
|
-
import { ElSpace as E, ElImage as
|
|
4
|
-
const m = (t) => (x("data-v-
|
|
1
|
+
import { _ as h, E as f, B as v, i as y } from "./index-lFCbFvdk.js";
|
|
2
|
+
import { ref as p, watch as g, openBlock as s, createBlock as l, unref as u, withCtx as _, createElementBlock as a, Fragment as w, renderList as k, createElementVNode as i, toDisplayString as I, pushScopeId as x, popScopeId as B } from "vue";
|
|
3
|
+
import { ElSpace as E, ElImage as b } from "element-plus";
|
|
4
|
+
const m = (t) => (x("data-v-e4bc2c79"), t = t(), B(), t), F = {
|
|
5
5
|
class: "image-card",
|
|
6
6
|
style: { "margin-bottom": "20px" }
|
|
7
|
-
},
|
|
7
|
+
}, S = { class: "loading-error" }, D = /* @__PURE__ */ m(() => /* @__PURE__ */ i("div", null, "图片加载失败", -1)), j = {
|
|
8
8
|
key: 1,
|
|
9
9
|
class: "loading-error"
|
|
10
10
|
}, L = /* @__PURE__ */ m(() => /* @__PURE__ */ i("div", null, "暂无", -1)), O = [
|
|
@@ -24,17 +24,17 @@ const m = (t) => (x("data-v-56e18295"), t = t(), B(), t), S = {
|
|
|
24
24
|
return g(
|
|
25
25
|
() => e.row,
|
|
26
26
|
() => {
|
|
27
|
-
const
|
|
28
|
-
|
|
27
|
+
const c = e.row[e.field.code];
|
|
28
|
+
c && (r.value = c.map((d) => d.url), o.value = r.value[0]);
|
|
29
29
|
},
|
|
30
30
|
{ immediate: !0 }
|
|
31
|
-
), (
|
|
31
|
+
), (c, d) => e.row[e.field.code].length > 0 ? (s(), l(u(E), {
|
|
32
32
|
key: 0,
|
|
33
33
|
wrap: ""
|
|
34
34
|
}, {
|
|
35
35
|
default: _(() => [
|
|
36
|
-
(s(!0), a(w, null, k(e.row[e.field.code], (n) => (s(), a("div",
|
|
37
|
-
n.url ? (s(),
|
|
36
|
+
(s(!0), a(w, null, k(e.row[e.field.code], (n) => (s(), a("div", F, [
|
|
37
|
+
n.url ? (s(), l(u(b), {
|
|
38
38
|
key: 0,
|
|
39
39
|
src: n.url,
|
|
40
40
|
fit: "contain",
|
|
@@ -42,7 +42,7 @@ const m = (t) => (x("data-v-56e18295"), t = t(), B(), t), S = {
|
|
|
42
42
|
class: "image"
|
|
43
43
|
}, {
|
|
44
44
|
error: _(() => [
|
|
45
|
-
i("div",
|
|
45
|
+
i("div", S, [
|
|
46
46
|
D,
|
|
47
47
|
i("div", null, I(o.value), 1)
|
|
48
48
|
])
|
|
@@ -52,9 +52,9 @@ const m = (t) => (x("data-v-56e18295"), t = t(), B(), t), S = {
|
|
|
52
52
|
]))), 256))
|
|
53
53
|
]),
|
|
54
54
|
_: 1
|
|
55
|
-
})) : (s(),
|
|
55
|
+
})) : (s(), l(f, { key: 1 }));
|
|
56
56
|
}
|
|
57
|
-
}, C = /* @__PURE__ */ h(V, [["__scopeId", "data-v-
|
|
57
|
+
}, C = /* @__PURE__ */ h(V, [["__scopeId", "data-v-e4bc2c79"]]);
|
|
58
58
|
class $ extends v {
|
|
59
59
|
constructor(e, o) {
|
|
60
60
|
super(e, o), this.props = e.props, this.display = C, this.editor = y, this.converter = this.defaultBy(e.converter, (r) => r), this.checkValidProperties(e);
|
|
@@ -68,4 +68,4 @@ class $ extends v {
|
|
|
68
68
|
export {
|
|
69
69
|
$ as default
|
|
70
70
|
};
|
|
71
|
-
//# sourceMappingURL=config-
|
|
71
|
+
//# sourceMappingURL=config-Dh16WhJb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-Dh16WhJb.js","sources":["../src/framework/field/images/FieldDisplay.vue","../src/framework/field/images/config.js"],"sourcesContent":["<script setup>\r\nimport { ElSpace, ElImage } from \"element-plus\";\r\nimport EmptyTip from \"../../component/EmptyTip.vue\";\r\nimport { ref, watch } from \"vue\";\r\n\r\nconst props = defineProps({\r\n field: {\r\n type: Object,\r\n },\r\n row: {\r\n type: Object,\r\n },\r\n});\r\n\r\nconst url = ref(null);\r\nconst urls = ref([]);\r\n\r\nwatch(\r\n () => props.row,\r\n () => {\r\n const images = props.row[props.field.code];\r\n if (images) {\r\n urls.value = images.map((item) => item.url);\r\n url.value = urls.value[0];\r\n }\r\n },\r\n { immediate: true },\r\n);\r\n</script>\r\n\r\n<template>\r\n <el-space v-if=\"props.row[props.field.code].length > 0\" wrap>\r\n <div\r\n v-for=\"image in props.row[props.field.code]\"\r\n class=\"image-card\"\r\n style=\"margin-bottom: 20px\"\r\n >\r\n <el-image\r\n v-if=\"image.url\"\r\n :src=\"image.url\"\r\n fit=\"contain\"\r\n :preview-src-list=\"urls\"\r\n class=\"image\"\r\n >\r\n <template #error>\r\n <div class=\"loading-error\">\r\n <div>图片加载失败</div>\r\n <div>{{ url }}</div>\r\n </div>\r\n </template>\r\n </el-image>\r\n <div v-else class=\"loading-error\">\r\n <div>暂无</div>\r\n </div>\r\n </div>\r\n </el-space>\r\n <EmptyTip v-else />\r\n</template>\r\n\r\n<style scoped lang=\"scss\">\r\n.image-card {\r\n width: 200px;\r\n height: 200px;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n background: #eee;\r\n border: 1px solid #ddd;\r\n border-radius: 4px;\r\n overflow: hidden;\r\n}\r\n\r\n.image {\r\n width: 100%;\r\n height: 100%;\r\n}\r\n\r\n.loading-error {\r\n width: 100%;\r\n height: 100%;\r\n min-height: 50px;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n</style>\r\n","import BaseFieldConfig from \"../base-field-config\";\r\nimport FieldDisplay from \"./FieldDisplay.vue\";\r\nimport FieldEditor from \"./FieldEditor.vue\";\r\n\r\nexport default class ImagesFieldConfig extends BaseFieldConfig {\r\n constructor(rawConfig, domain) {\r\n super(rawConfig, domain);\r\n this.props = rawConfig.props;\r\n this.display = FieldDisplay;\r\n this.editor = FieldEditor;\r\n this.converter = this.defaultBy(rawConfig.converter, (raw) => raw);\r\n\r\n this.checkValidProperties(rawConfig);\r\n }\r\n\r\n defaultConfig() {\r\n return {\r\n showInList: false,\r\n };\r\n }\r\n}\r\n"],"names":["props","__props","url","ref","urls","watch","images","item","ImagesFieldConfig","BaseFieldConfig","rawConfig","domain","FieldDisplay","FieldEditor","raw"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAKA,UAAMA,IAAQC,GASRC,IAAMC,EAAI,IAAI,GACdC,IAAOD,EAAI,CAAA,CAAE;AAEnB,WAAAE;AAAA,MACE,MAAML,EAAM;AAAA,MACZ,MAAM;AACJ,cAAMM,IAASN,EAAM,IAAIA,EAAM,MAAM,IAAI;AACzC,QAAIM,MACFF,EAAK,QAAQE,EAAO,IAAI,CAACC,MAASA,EAAK,GAAG,GAC1CL,EAAI,QAAQE,EAAK,MAAM,CAAC;AAAA,MAE3B;AAAA,MACD,EAAE,WAAW,GAAM;AAAA,IACrB;;;;;;;;;;;;;;;;;;;;;;;;;;;ACvBe,MAAMI,UAA0BC,EAAgB;AAAA,EAC7D,YAAYC,GAAWC,GAAQ;AAC7B,UAAMD,GAAWC,CAAM,GACvB,KAAK,QAAQD,EAAU,OACvB,KAAK,UAAUE,GACf,KAAK,SAASC,GACd,KAAK,YAAY,KAAK,UAAUH,EAAU,WAAW,CAACI,MAAQA,CAAG,GAEjE,KAAK,qBAAqBJ,CAAS;AAAA,EACpC;AAAA,EAED,gBAAgB;AACd,WAAO;AAAA,MACL,YAAY;AAAA,IAClB;AAAA,EACG;AACH;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { _ as u, B as p } from "./index-
|
|
2
|
-
import { openBlock as r, createElementBlock as
|
|
3
|
-
const V = { class: "editor-field" }, y = ["innerHTML"],
|
|
1
|
+
import { _ as u, B as p } from "./index-lFCbFvdk.js";
|
|
2
|
+
import { openBlock as r, createElementBlock as a, createElementVNode as m, defineAsyncComponent as _, reactive as f, watch as d, createVNode as h, unref as v } from "vue";
|
|
3
|
+
const V = { class: "editor-field" }, y = ["innerHTML"], b = {
|
|
4
4
|
__name: "FieldDisplay",
|
|
5
5
|
props: {
|
|
6
6
|
field: {
|
|
@@ -12,14 +12,14 @@ const V = { class: "editor-field" }, y = ["innerHTML"], x = {
|
|
|
12
12
|
},
|
|
13
13
|
setup(o) {
|
|
14
14
|
const e = o;
|
|
15
|
-
return (i, s) => (r(),
|
|
15
|
+
return (i, s) => (r(), a("div", V, [
|
|
16
16
|
m("div", {
|
|
17
17
|
class: "content",
|
|
18
18
|
innerHTML: e.row[e.field.code]
|
|
19
19
|
}, null, 8, y)
|
|
20
20
|
]));
|
|
21
21
|
}
|
|
22
|
-
},
|
|
22
|
+
}, x = /* @__PURE__ */ u(b, [["__scopeId", "data-v-e54b04b3"]]), E = { style: { width: "100%" } }, F = {
|
|
23
23
|
__name: "FieldEditor",
|
|
24
24
|
props: {
|
|
25
25
|
modelValue: String,
|
|
@@ -28,7 +28,7 @@ const V = { class: "editor-field" }, y = ["innerHTML"], x = {
|
|
|
28
28
|
},
|
|
29
29
|
emits: ["update:modelValue"],
|
|
30
30
|
setup(o, { emit: e }) {
|
|
31
|
-
const i = _(() => import("./RichTextEditor-
|
|
31
|
+
const i = _(() => import("./RichTextEditor-bJlEkb34.js")), s = e, n = o, t = f({ value: n.modelValue });
|
|
32
32
|
return d(
|
|
33
33
|
() => t.value,
|
|
34
34
|
() => {
|
|
@@ -40,18 +40,18 @@ const V = { class: "editor-field" }, y = ["innerHTML"], x = {
|
|
|
40
40
|
t.value = n.modelValue;
|
|
41
41
|
},
|
|
42
42
|
{ immediate: !0 }
|
|
43
|
-
), (w, l) => (r(),
|
|
43
|
+
), (w, l) => (r(), a("div", E, [
|
|
44
44
|
h(v(i), {
|
|
45
45
|
content: t.value,
|
|
46
|
-
"onUpdate:content": l[0] || (l[0] = (
|
|
46
|
+
"onUpdate:content": l[0] || (l[0] = (c) => t.value = c),
|
|
47
47
|
field: n.field
|
|
48
48
|
}, null, 8, ["content", "field"])
|
|
49
49
|
]));
|
|
50
50
|
}
|
|
51
|
-
},
|
|
51
|
+
}, B = F;
|
|
52
52
|
class k extends p {
|
|
53
53
|
constructor(e, i) {
|
|
54
|
-
super(e, i), this.display =
|
|
54
|
+
super(e, i), this.display = x, this.editor = B, this.checkValidProperties(e);
|
|
55
55
|
}
|
|
56
56
|
defaultConfig() {
|
|
57
57
|
return {
|
|
@@ -62,4 +62,4 @@ class k extends p {
|
|
|
62
62
|
export {
|
|
63
63
|
k as default
|
|
64
64
|
};
|
|
65
|
-
//# sourceMappingURL=config-
|
|
65
|
+
//# sourceMappingURL=config-DrJPQ_iz.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-DrJPQ_iz.js","sources":["../src/framework/field/rich-text/FieldDisplay.vue","../src/framework/field/rich-text/FieldEditor.vue","../src/framework/field/rich-text/config.js"],"sourcesContent":["<script setup>\r\nconst props = defineProps({\r\n field: {\r\n type: Object,\r\n },\r\n row: {\r\n type: Object,\r\n },\r\n});\r\n</script>\r\n\r\n<template>\r\n <div class=\"editor-field\">\r\n <div class=\"content\" v-html=\"props.row[props.field.code]\" />\r\n </div>\r\n</template>\r\n\r\n<style scoped lang=\"scss\">\r\n.editor-field {\r\n width: 100%;\r\n background: #999;\r\n padding: 20px 0;\r\n\r\n .content {\r\n word-wrap: break-word;\r\n font-family: \"Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,微软雅黑,Arial,sans-serif\" !important;\r\n max-width: 500px;\r\n padding: 20px;\r\n margin: 0 auto;\r\n background: white;\r\n white-space: break-spaces;\r\n :deep(img) {\r\n width: 100%;\r\n max-width: 100%;\r\n }\r\n }\r\n}\r\n</style>\r\n","<template>\r\n <div style=\"width: 100%\">\r\n <RichTextEditor v-model:content=\"_form.value\" :field=\"props.field\" />\r\n </div>\r\n</template>\r\n\r\n<script setup>\r\nimport { reactive, watch, defineAsyncComponent, defineEmits } from \"vue\";\r\n\r\nconst RichTextEditor = defineAsyncComponent(() => {\r\n return import(\"./RichTextEditor.vue\");\r\n});\r\n\r\nconst emit = defineEmits([\"update:modelValue\"]);\r\nconst props = defineProps({\r\n modelValue: String,\r\n field: Object,\r\n disabled: Boolean,\r\n});\r\nconst _form = reactive({ value: props.modelValue });\r\n\r\nwatch(\r\n () => _form.value,\r\n () => {\r\n emit(\"update:modelValue\", _form.value);\r\n },\r\n);\r\nwatch(\r\n () => props.modelValue,\r\n async () => {\r\n _form.value = props.modelValue;\r\n },\r\n { immediate: true },\r\n);\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import BaseFieldConfig from \"../base-field-config\";\r\nimport FieldDisplay from \"./FieldDisplay.vue\";\r\nimport FieldEditor from \"./FieldEditor.vue\";\r\n\r\nexport default class EditorFieldConfig extends BaseFieldConfig {\r\n constructor(rawConfig, domain) {\r\n super(rawConfig, domain);\r\n this.display = FieldDisplay;\r\n this.editor = FieldEditor;\r\n\r\n this.checkValidProperties(rawConfig);\r\n }\r\n\r\n defaultConfig() {\r\n return {\r\n showInList: false,\r\n };\r\n }\r\n}\r\n"],"names":["props","__props","RichTextEditor","defineAsyncComponent","emit","__emit","_form","reactive","watch","EditorFieldConfig","BaseFieldConfig","rawConfig","domain","FieldDisplay","FieldEditor"],"mappings":";;;;;;;;;;;;;AACA,UAAMA,IAAQC;;;;;;;;;;;;;;;;;ACQd,UAAMC,IAAiBC,EAAqB,MACnC,OAAO,8BAAsB,CACrC,GAEKC,IAAOC,GACPL,IAAQC,GAKRK,IAAQC,EAAS,EAAE,OAAOP,EAAM,WAAY,CAAA;AAElD,WAAAQ;AAAA,MACE,MAAMF,EAAM;AAAA,MACZ,MAAM;AACJ,QAAAF,EAAK,qBAAqBE,EAAM,KAAK;AAAA,MACtC;AAAA,IACH,GACAE;AAAA,MACE,MAAMR,EAAM;AAAA,MACZ,YAAY;AACV,QAAAM,EAAM,QAAQN,EAAM;AAAA,MACrB;AAAA,MACD,EAAE,WAAW,GAAM;AAAA,IACrB;;;;;;;;;AC7Be,MAAMS,UAA0BC,EAAgB;AAAA,EAC7D,YAAYC,GAAWC,GAAQ;AAC7B,UAAMD,GAAWC,CAAM,GACvB,KAAK,UAAUC,GACf,KAAK,SAASC,GAEd,KAAK,qBAAqBH,CAAS;AAAA,EACpC;AAAA,EAED,gBAAgB;AACd,WAAO;AAAA,MACL,YAAY;AAAA,IAClB;AAAA,EACG;AACH;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as o } from "./index-
|
|
1
|
+
import { B as o } from "./index-lFCbFvdk.js";
|
|
2
2
|
class p extends o {
|
|
3
3
|
constructor(e, t) {
|
|
4
4
|
super(e, t), this.component = e.component, this.display = e.component, this.editor = e.component, this.checkValidProperties(e);
|
|
@@ -7,4 +7,4 @@ class p extends o {
|
|
|
7
7
|
export {
|
|
8
8
|
p as default
|
|
9
9
|
};
|
|
10
|
-
//# sourceMappingURL=config-
|
|
10
|
+
//# sourceMappingURL=config-Dr_SXi5U.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-Dr_SXi5U.js","sources":["../src/framework/field/component/config.js"],"sourcesContent":["import BaseFieldConfig from \"../base-field-config\";\r\n\r\nexport default class ComponentFieldConfig extends BaseFieldConfig {\r\n constructor(rawConfig, domain) {\r\n super(rawConfig, domain);\r\n this.component = rawConfig.component;\r\n this.display = rawConfig.component;\r\n this.editor = rawConfig.component;\r\n\r\n this.checkValidProperties(rawConfig);\r\n }\r\n}\r\n"],"names":["ComponentFieldConfig","BaseFieldConfig","rawConfig","domain"],"mappings":";AAEe,MAAMA,UAA6BC,EAAgB;AAAA,EAChE,YAAYC,GAAWC,GAAQ;AAC7B,UAAMD,GAAWC,CAAM,GACvB,KAAK,YAAYD,EAAU,WAC3B,KAAK,UAAUA,EAAU,WACzB,KAAK,SAASA,EAAU,WAExB,KAAK,qBAAqBA,CAAS;AAAA,EACpC;AACH;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { E as p, B as f } from "./index-
|
|
1
|
+
import { E as p, B as f } from "./index-lFCbFvdk.js";
|
|
2
2
|
import { ref as d, watch as u, openBlock as r, createElementBlock as h, toDisplayString as v, createBlock as m, reactive as _, unref as y } from "vue";
|
|
3
3
|
import { ElTimePicker as V } from "element-plus";
|
|
4
4
|
const b = { key: 0 }, k = {
|
|
@@ -59,4 +59,4 @@ class T extends f {
|
|
|
59
59
|
export {
|
|
60
60
|
T as default
|
|
61
61
|
};
|
|
62
|
-
//# sourceMappingURL=config-
|
|
62
|
+
//# sourceMappingURL=config-KtTeOyV6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-KtTeOyV6.js","sources":["../src/framework/field/time/FieldDisplay.vue","../src/framework/field/time/FieldEditor.vue","../src/framework/field/time/config.js"],"sourcesContent":["<script setup>\r\nimport EmptyTip from \"../../component/EmptyTip.vue\";\r\nimport { ref, watch } from \"vue\";\r\n\r\nconst props = defineProps({\r\n field: {\r\n type: Object,\r\n },\r\n row: {\r\n type: Object,\r\n },\r\n});\r\nconst isEmpty = ref(false);\r\nconst formattedValue = ref(\"...\");\r\n\r\nasync function getTime() {\r\n const value = props.row[props.field.code];\r\n\r\n if (value === undefined || value === null) {\r\n isEmpty.value = true;\r\n } else if (`${value}`.trim() === \"\") {\r\n isEmpty.value = true;\r\n } else {\r\n formattedValue.value = value;\r\n isEmpty.value = false;\r\n }\r\n}\r\n\r\nwatch(() => props.row, getTime, { immediate: true });\r\n</script>\r\n\r\n<template>\r\n <span v-if=\"!isEmpty\">\r\n {{ formattedValue }}\r\n </span>\r\n <EmptyTip v-else />\r\n</template>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","<template>\r\n <el-time-picker\r\n v-model=\"_form.value\"\r\n :disabled=\"props.disabled\"\r\n :format=\"props.field.format\"\r\n :value-format=\"props.field.format\"\r\n @change=\"change\"\r\n >\r\n </el-time-picker>\r\n</template>\r\n\r\n<script setup>\r\nimport { ElTimePicker } from \"element-plus\";\r\nimport { reactive, watch } from \"vue\";\r\n\r\nconst emit = defineEmits([\"update:modelValue\"]);\r\nconst props = defineProps({\r\n modelValue: String,\r\n field: Object,\r\n disabled: Boolean,\r\n});\r\nconst _form = reactive({ value: props.modelValue });\r\n\r\nfunction change() {\r\n emit(\"update:modelValue\", _form.value);\r\n}\r\n\r\nwatch(\r\n () => props.modelValue,\r\n () => {\r\n _form.value = props.modelValue;\r\n },\r\n { immediate: true },\r\n);\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import BaseFieldConfig from \"../base-field-config\";\r\nimport FieldDisplay from \"./FieldDisplay.vue\";\r\nimport FieldEditor from \"./FieldEditor.vue\";\r\n\r\nexport default class TimeFieldConfig extends BaseFieldConfig {\r\n constructor(rawConfig, domain) {\r\n super(rawConfig, domain);\r\n this.display = FieldDisplay;\r\n this.editor = FieldEditor;\r\n this.width = this.computeWidth(rawConfig);\r\n\r\n this.checkValidProperties(rawConfig);\r\n }\r\n\r\n computeWidth(rawConfig) {\r\n if (rawConfig.width) {\r\n return rawConfig.width;\r\n }\r\n\r\n return 200;\r\n }\r\n}\r\n"],"names":["props","__props","isEmpty","ref","formattedValue","getTime","value","watch","emit","__emit","_form","reactive","change","TimeFieldConfig","BaseFieldConfig","rawConfig","domain","FieldDisplay","FieldEditor"],"mappings":";;;;;;;;;;;;;;AAIA,UAAMA,IAAQC,GAQRC,IAAUC,EAAI,EAAK,GACnBC,IAAiBD,EAAI,KAAK;AAEhC,mBAAeE,IAAU;AACvB,YAAMC,IAAQN,EAAM,IAAIA,EAAM,MAAM,IAAI;AAExC,MAA2BM,KAAU,QAE1B,GAAGA,CAAK,GAAG,KAAI,MAAO,KAD/BJ,EAAQ,QAAQ,MAIhBE,EAAe,QAAQE,GACvBJ,EAAQ,QAAQ;AAAA,IAEpB;AAEA,WAAAK,EAAM,MAAMP,EAAM,KAAKK,GAAS,EAAE,WAAW,GAAI,CAAE;;;;;;;;;;;ACbnD,UAAMG,IAAOC,GACPT,IAAQC,GAKRS,IAAQC,EAAS,EAAE,OAAOX,EAAM,WAAY,CAAA;AAElD,aAASY,IAAS;AAChB,MAAAJ,EAAK,qBAAqBE,EAAM,KAAK;AAAA,IACvC;AAEA,WAAAH;AAAA,MACE,MAAMP,EAAM;AAAA,MACZ,MAAM;AACJ,QAAAU,EAAM,QAAQV,EAAM;AAAA,MACrB;AAAA,MACD,EAAE,WAAW,GAAM;AAAA,IACrB;;;;;;;;;;AC7Be,MAAMa,UAAwBC,EAAgB;AAAA,EAC3D,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 y, f as B, q as F, B as b } from "./index-
|
|
1
|
+
import { e as y, f as B, q as F, B as b } from "./index-lFCbFvdk.js";
|
|
2
2
|
import { computed as g, openBlock as a, createElementBlock as k, createBlock as d, unref as l, withCtx as n, createVNode as c, reactive as C, watch as E } from "vue";
|
|
3
3
|
import { ElIcon as r, ElSwitch as D } from "element-plus";
|
|
4
4
|
import "./el-switch-l0sNRNKZ.js";
|
|
@@ -87,4 +87,4 @@ class S extends b {
|
|
|
87
87
|
export {
|
|
88
88
|
S as default
|
|
89
89
|
};
|
|
90
|
-
//# sourceMappingURL=config-
|
|
90
|
+
//# sourceMappingURL=config-Xk01hDVk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-Xk01hDVk.js","sources":["../src/framework/field/boolean/FieldDisplay.vue","../src/framework/field/boolean/FieldEditor.vue","../src/framework/field/boolean/config.js"],"sourcesContent":["<template>\r\n <span style=\"display: flex; align-items: center\">\r\n <el-icon v-if=\"value == true\" color=\"#2DAD28\" :size=\"24\">\r\n <SuccessFilled />\r\n </el-icon>\r\n <el-icon v-else-if=\"value == false\" color=\"#FF444A\" :size=\"24\">\r\n <CircleCloseFilled />\r\n </el-icon>\r\n <el-icon v-else color=\"#85888E\" :size=\"24\">\r\n <QuestionFilled />\r\n </el-icon>\r\n </span>\r\n</template>\r\n\r\n<script setup>\r\nimport { ElIcon } from \"element-plus\";\r\nimport { computed } from \"vue\";\r\nimport {\r\n SuccessFilled,\r\n CircleCloseFilled,\r\n QuestionFilled,\r\n} from \"@element-plus/icons-vue\";\r\n\r\nconst props = defineProps({\r\n field: {\r\n type: Object,\r\n },\r\n row: {\r\n type: Object,\r\n },\r\n});\r\n\r\nconst value = computed(() => {\r\n return props.row[props.field.code];\r\n});\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","<template>\r\n <el-switch\r\n v-model=\"_form.value\"\r\n :disabled=\"props.disabled\"\r\n :active-text=\"props.field?.elConfig?.activeText || '是'\"\r\n :inactive-text=\"props.field?.elConfig?.inactiveText || '否'\"\r\n :inline-prompt=\"\r\n props.field?.elConfig?.inlinePrompt === false ? false : true\r\n \"\r\n @change=\"change\"\r\n />\r\n</template>\r\n\r\n<script setup>\r\nimport { ElSwitch } from \"element-plus\";\r\nimport { reactive, watch } from \"vue\";\r\n\r\nconst emit = defineEmits([\"update:modelValue\"]);\r\nconst props = defineProps({\r\n modelValue: Boolean,\r\n field: Object,\r\n disabled: Boolean,\r\n});\r\nconst _form = reactive({ value: props.modelValue });\r\n\r\nfunction change() {\r\n emit(\"update:modelValue\", _form.value);\r\n}\r\n\r\nwatch(\r\n () => props.modelValue,\r\n () => {\r\n _form.value = props.modelValue;\r\n },\r\n { immediate: true },\r\n);\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import BaseFieldConfig from \"../base-field-config\";\r\nimport FieldDisplay from \"./FieldDisplay.vue\";\r\nimport FieldEditor from \"./FieldEditor.vue\";\r\n\r\nexport default class BooleanFieldConfig extends BaseFieldConfig {\r\n constructor(rawConfig, domain) {\r\n super(rawConfig, domain);\r\n this.default = rawConfig.default || false;\r\n this.display = FieldDisplay;\r\n this.editor = FieldEditor;\r\n this.formChange = rawConfig.formChange || (() => {});\r\n\r\n this.checkValidProperties(rawConfig);\r\n }\r\n}\r\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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjBD,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;;;;;;;;;;;;;;AC/Be,MAAMU,UAA2BC,EAAgB;AAAA,EAC9D,YAAYC,GAAWC,GAAQ;AAC7B,UAAMD,GAAWC,CAAM,GACvB,KAAK,UAAUD,EAAU,WAAW,IACpC,KAAK,UAAUE,GACf,KAAK,SAASC,GACd,KAAK,aAAaH,EAAU,eAAe,MAAM;AAAA,IAAE,IAEnD,KAAK,qBAAqBA,CAAS;AAAA,EACpC;AACH;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { E as _, s as V, B } from "./index-
|
|
1
|
+
import { E as _, s as V, B } from "./index-lFCbFvdk.js";
|
|
2
2
|
import { ref as u, watch as d, openBlock as i, createElementBlock as m, toDisplayString as k, createBlock as f, reactive as E, unref as b } from "vue";
|
|
3
3
|
import { ElCascader as x } from "element-plus";
|
|
4
4
|
import "./el-radio-l0sNRNKZ.js";
|
|
@@ -71,4 +71,4 @@ class $ extends B {
|
|
|
71
71
|
export {
|
|
72
72
|
$ as default
|
|
73
73
|
};
|
|
74
|
-
//# sourceMappingURL=config-
|
|
74
|
+
//# sourceMappingURL=config-ssH8d7K9.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-ssH8d7K9.js","sources":["../src/framework/field/cascader/FieldDisplay.vue","../src/framework/field/cascader/FieldEditor.vue","../src/framework/field/cascader/config.js"],"sourcesContent":["<template>\r\n <div>\r\n <span v-if=\"!isEmpty\">\r\n {{ formattedValue }}\r\n </span>\r\n <EmptyTip v-else />\r\n <!-- edit -->\r\n </div>\r\n</template>\r\n\r\n<script setup>\r\nimport EmptyTip from \"../../component/EmptyTip.vue\";\r\nimport { ref, watch } from \"vue\";\r\n\r\nconst props = defineProps({\r\n field: {\r\n type: Object,\r\n },\r\n row: {\r\n type: Object,\r\n },\r\n});\r\nconst isEmpty = ref(false);\r\nconst formattedValue = ref(\"...\");\r\n\r\nasync function getName() {\r\n const value = props.row[props.field.code];\r\n\r\n if (value === undefined || value === null) {\r\n isEmpty.value = true;\r\n } else if (`${value}`.trim() === \"\") {\r\n isEmpty.value = true;\r\n } else {\r\n formattedValue.value = value;\r\n isEmpty.value = false;\r\n }\r\n}\r\n\r\nwatch(() => props.row, getName, { immediate: true });\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","<template>\r\n <el-cascader\r\n v-model=\"_form.value\"\r\n :props=\"props.field.props\"\r\n :options=\"options\"\r\n clearable\r\n style=\"width: 100%\"\r\n @change=\"change\"\r\n />\r\n</template>\r\n\r\n<script setup>\r\nimport { ElCascader } from \"element-plus\";\r\nimport { reactive, watch, ref } from \"vue\";\r\nimport { useRoute } from \"vue-router\";\r\nimport { setupRouteQuery } from \"../../utils/route-query\";\r\n\r\nconst route = useRoute();\r\nconst routeQuery = setupRouteQuery(route);\r\n\r\nconst emit = defineEmits([\"update:modelValue\"]);\r\nconst props = defineProps({\r\n modelValue: Array,\r\n field: Object,\r\n disabled: Boolean,\r\n});\r\nconst _form = reactive({ value: props.modelValue });\r\nconst options = ref([]);\r\n\r\nasync function remoteSearch(keyword) {\r\n options.value = await props.field.options(\r\n props.formData,\r\n routeQuery,\r\n keyword,\r\n );\r\n}\r\n\r\nremoteSearch();\r\n\r\nfunction change() {\r\n emit(\"update:modelValue\", _form.value);\r\n}\r\n\r\nwatch(\r\n () => props.modelValue,\r\n () => {\r\n _form.value = props.modelValue;\r\n },\r\n { immediate: true },\r\n);\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import BaseFieldConfig from \"../base-field-config\";\r\nimport FieldDisplay from \"./FieldDisplay.vue\";\r\nimport FieldEditor from \"./FieldEditor.vue\";\r\n\r\nclass CascaderFieldConfig extends BaseFieldConfig {\r\n constructor(rawConfig, domain) {\r\n super(rawConfig, domain);\r\n this.props = rawConfig.props || (() => {});\r\n this.formChange = rawConfig.formChange || (() => {});\r\n this.display = FieldDisplay;\r\n this.editor = FieldEditor;\r\n this.multiple = this.defaultBy(rawConfig.multiple, false);\r\n this.options = rawConfig.options || (() => [{ id: 0, name: \"未实现\" }]);\r\n\r\n this.checkValidProperties(rawConfig);\r\n }\r\n}\r\n\r\nexport default CascaderFieldConfig;\r\n"],"names":["props","__props","isEmpty","ref","formattedValue","getName","value","watch","route","useRoute","routeQuery","setupRouteQuery","emit","__emit","_form","reactive","options","remoteSearch","keyword","change","CascaderFieldConfig","BaseFieldConfig","rawConfig","domain","FieldDisplay","FieldEditor"],"mappings":";;;;;;;;;;;;;;;;AAcA,UAAMA,IAAQC,GAQRC,IAAUC,EAAI,EAAK,GACnBC,IAAiBD,EAAI,KAAK;AAEhC,mBAAeE,IAAU;AACvB,YAAMC,IAAQN,EAAM,IAAIA,EAAM,MAAM,IAAI;AAExC,MAA2BM,KAAU,QAE1B,GAAGA,CAAK,GAAG,KAAI,MAAO,KAD/BJ,EAAQ,QAAQ,MAIhBE,EAAe,QAAQE,GACvBJ,EAAQ,QAAQ;AAAA,IAEpB;AAEA,WAAAK,EAAM,MAAMP,EAAM,KAAKK,GAAS,EAAE,WAAW,GAAI,CAAE;;;;;;;;;;;;;ACrBnD,UAAMG,IAAQC,EAAQ,GAChBC,IAAaC,EAAgBH,CAAK,GAElCI,IAAOC,GACPb,IAAQC,GAKRa,IAAQC,EAAS,EAAE,OAAOf,EAAM,WAAY,CAAA,GAC5CgB,IAAUb,EAAI,CAAA,CAAE;AAEtB,mBAAec,EAAaC,GAAS;AACnC,MAAAF,EAAQ,QAAQ,MAAMhB,EAAM,MAAM;AAAA,QAChCA,EAAM;AAAA,QACNU;AAAA,QACAQ;AAAA,MACJ;AAAA,IACA;AAEA,IAAAD;AAEA,aAASE,IAAS;AAChB,MAAAP,EAAK,qBAAqBE,EAAM,KAAK;AAAA,IACvC;AAEA,WAAAP;AAAA,MACE,MAAMP,EAAM;AAAA,MACZ,MAAM;AACJ,QAAAc,EAAM,QAAQd,EAAM;AAAA,MACrB;AAAA,MACD,EAAE,WAAW,GAAM;AAAA,IACrB;;;;;;;;;;;AC7CA,MAAMoB,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,GACxD,KAAK,UAAUA,EAAU,YAAY,MAAM,CAAC,EAAE,IAAI,GAAG,MAAM,MAAK,CAAE,IAElE,KAAK,qBAAqBA,CAAS;AAAA,EACpC;AACH;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { E as V, B as y } from "./index-
|
|
1
|
+
import { E as V, B as y } from "./index-lFCbFvdk.js";
|
|
2
2
|
import { defineAsyncComponent as c, ref as m, watch as p, openBlock as i, createBlock as s, unref as f, reactive as b } from "vue";
|
|
3
3
|
const h = {
|
|
4
4
|
__name: "FieldDisplay",
|
|
@@ -73,4 +73,4 @@ class k extends y {
|
|
|
73
73
|
export {
|
|
74
74
|
k as default
|
|
75
75
|
};
|
|
76
|
-
//# sourceMappingURL=config-
|
|
76
|
+
//# sourceMappingURL=config-yVymOXO_.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-yVymOXO_.js","sources":["../src/framework/field/json/FieldDisplay.vue","../src/framework/field/json/FieldEditor.vue","../src/framework/field/json/config.js"],"sourcesContent":["<script setup>\r\nimport { defineAsyncComponent, ref, watch } from \"vue\";\r\nimport EmptyTip from \"../../component/EmptyTip.vue\";\r\n\r\nconst JsonEditorVue = defineAsyncComponent(() => {\r\n return import(\"json-editor-vue\");\r\n});\r\n\r\nconst props = defineProps({\r\n field: {\r\n type: Object,\r\n },\r\n row: {\r\n type: Object,\r\n },\r\n});\r\n\r\nconst valid = ref(false);\r\nconst formattedValue = ref(\"加载中...\");\r\n\r\nwatch(\r\n () => props.row,\r\n () => {\r\n valid.value = false;\r\n const value = props.row[props.field.code];\r\n if (value === undefined || value === null) {\r\n return;\r\n }\r\n\r\n if (`${value}`.trim() === \"\") {\r\n return;\r\n }\r\n\r\n valid.value = true;\r\n formattedValue.value = value;\r\n },\r\n { immediate: true },\r\n);\r\n</script>\r\n\r\n<template>\r\n <JsonEditorVue\r\n v-if=\"valid\"\r\n v-model=\"formattedValue\"\r\n mode=\"text\"\r\n :main-menu-bar=\"false\"\r\n :navigation-bar=\"false\"\r\n :read-only=\"true\"\r\n />\r\n <EmptyTip v-else />\r\n</template>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","<template>\r\n <JsonEditorVue\r\n v-model=\"_form.value\"\r\n style=\"width: 100%; height: 300px\"\r\n mode=\"text\"\r\n :main-menu-bar=\"false\"\r\n :navigation-bar=\"false\"\r\n @change=\"change\"\r\n />\r\n</template>\r\n\r\n<script setup>\r\nimport { reactive, watch, defineAsyncComponent } from \"vue\";\r\n\r\nconst JsonEditorVue = defineAsyncComponent(() => {\r\n return import(\"json-editor-vue\");\r\n});\r\n\r\nconst emit = defineEmits([\"update:modelValue\"]);\r\nconst props = defineProps({\r\n modelValue: Object,\r\n field: Object,\r\n disabled: Boolean,\r\n});\r\nconst _form = reactive({ value: props.modelValue });\r\n\r\nfunction change(value) {\r\n _form.value = value.text;\r\n emit(\"update:modelValue\", _form.value);\r\n}\r\n\r\nwatch(\r\n () => props.modelValue,\r\n () => {\r\n _form.value = props.modelValue;\r\n },\r\n { immediate: true },\r\n);\r\n</script>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","import BaseFieldConfig from \"../base-field-config\";\r\nimport FieldDisplay from \"./FieldDisplay.vue\";\r\nimport FieldEditor from \"./FieldEditor.vue\";\r\n\r\nexport default class JsonFieldConfig extends BaseFieldConfig {\r\n constructor(rawConfig, domain) {\r\n super(rawConfig, domain);\r\n this.display = FieldDisplay;\r\n this.editor = FieldEditor;\r\n\r\n this.checkValidProperties(rawConfig);\r\n }\r\n\r\n defaultConfig() {\r\n return {\r\n showInList: false,\r\n };\r\n }\r\n}\r\n"],"names":["JsonEditorVue","defineAsyncComponent","props","__props","valid","ref","formattedValue","watch","value","emit","__emit","_form","reactive","change","JsonFieldConfig","BaseFieldConfig","rawConfig","domain","FieldDisplay","FieldEditor"],"mappings":";;;;;;;;;;;;;AAIA,UAAMA,IAAgBC,EAAqB,MAClC,OAAO,iBAAiB,CAChC,GAEKC,IAAQC,GASRC,IAAQC,EAAI,EAAK,GACjBC,IAAiBD,EAAI,QAAQ;AAEnC,WAAAE;AAAA,MACE,MAAML,EAAM;AAAA,MACZ,MAAM;AACJ,QAAAE,EAAM,QAAQ;AACd,cAAMI,IAAQN,EAAM,IAAIA,EAAM,MAAM,IAAI;AACxC,QAA2BM,KAAU,QAIjC,GAAGA,CAAK,GAAG,KAAI,MAAO,OAI1BJ,EAAM,QAAQ,IACdE,EAAe,QAAQE;AAAA,MACxB;AAAA,MACD,EAAE,WAAW,GAAM;AAAA,IACrB;;;;;;;;;;;;;;;;;;;ACvBA,UAAMR,IAAgBC,EAAqB,MAClC,OAAO,iBAAiB,CAChC,GAEKQ,IAAOC,GACPR,IAAQC,GAKRQ,IAAQC,EAAS,EAAE,OAAOV,EAAM,WAAY,CAAA;AAElD,aAASW,EAAOL,GAAO;AACrB,MAAAG,EAAM,QAAQH,EAAM,MACpBC,EAAK,qBAAqBE,EAAM,KAAK;AAAA,IACvC;AAEA,WAAAJ;AAAA,MACE,MAAML,EAAM;AAAA,MACZ,MAAM;AACJ,QAAAS,EAAM,QAAQT,EAAM;AAAA,MACrB;AAAA,MACD,EAAE,WAAW,GAAM;AAAA,IACrB;;;;;;;;;;;ACjCe,MAAMY,UAAwBC,EAAgB;AAAA,EAC3D,YAAYC,GAAWC,GAAQ;AAC7B,UAAMD,GAAWC,CAAM,GACvB,KAAK,UAAUC,GACf,KAAK,SAASC,GAEd,KAAK,qBAAqBH,CAAS;AAAA,EACpC;AAAA,EAED,gBAAgB;AACd,WAAO;AAAA,MACL,YAAY;AAAA,IAClB;AAAA,EACG;AACH;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { E as m, B as f } from "./index-
|
|
1
|
+
import { E as m, B as f } from "./index-lFCbFvdk.js";
|
|
2
2
|
import { ref as r, watch as p, openBlock as o, createElementBlock as y, toDisplayString as h, createBlock as d, reactive as v, unref as _ } from "vue";
|
|
3
3
|
import { ElInputNumber as V } from "element-plus";
|
|
4
4
|
const b = { key: 0 }, x = {
|
|
@@ -60,4 +60,4 @@ class D extends f {
|
|
|
60
60
|
export {
|
|
61
61
|
D as default
|
|
62
62
|
};
|
|
63
|
-
//# sourceMappingURL=config-
|
|
63
|
+
//# sourceMappingURL=config-ys3nFgYd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-ys3nFgYd.js","sources":["../src/framework/field/input-number/FieldDisplay.vue","../src/framework/field/input-number/FieldEditor.vue","../src/framework/field/input-number/config.js"],"sourcesContent":["<script setup>\r\nimport EmptyTip from \"../../component/EmptyTip.vue\";\r\nimport { ref, watch } from \"vue\";\r\n\r\nconst props = defineProps({\r\n field: {\r\n type: Object,\r\n },\r\n row: {\r\n type: Object,\r\n },\r\n});\r\nconst isEmpty = ref(false);\r\nconst formattedValue = ref(\"...\");\r\n\r\nasync function getName() {\r\n const value = props.row[props.field.code];\r\n if (value === undefined || value === null) {\r\n isEmpty.value = true;\r\n } else if (`${value}`.trim() === \"\") {\r\n isEmpty.value = true;\r\n } else {\r\n formattedValue.value = value;\r\n isEmpty.value = false;\r\n }\r\n}\r\n\r\nwatch(() => props.row, getName, { immediate: true });\r\n</script>\r\n\r\n<template>\r\n <span v-if=\"!isEmpty\">\r\n {{ formattedValue }}\r\n </span>\r\n <EmptyTip v-else />\r\n</template>\r\n\r\n<style scoped lang=\"scss\"></style>\r\n","<template>\n <el-input-number\n v-model=\"_form.value\"\n :disabled=\"props.disabled\"\n :min=\"props.field.min\"\n :max=\"props.field.max\"\n :step=\"props.field.step\"\n :precision=\"props.field.precision\"\n :step-atrictly=\"props.field.stepAtrictly\"\n @change=\"change\"\n />\n</template>\n\n<script setup>\nimport { ElInputNumber } from \"element-plus\";\nimport { reactive, watch } from \"vue\";\n\nconst emit = defineEmits([\"update:modelValue\"]);\nconst props = defineProps({\n modelValue: String,\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 InputNumberConfig extends BaseFieldConfig {\n constructor(rawConfig, domain) {\n super(rawConfig, domain);\n this.display = FieldDisplay;\n this.editor = FieldEditor;\n this.min = rawConfig.min;\n this.max = rawConfig.max;\n this.step = rawConfig.step || 1;\n this.precision = rawConfig.precision;\n this.stepAtrictly = rawConfig.stepAtrictly || false;\n\n this.checkValidProperties(rawConfig);\n }\n}\n"],"names":["props","__props","isEmpty","ref","formattedValue","getName","value","watch","emit","__emit","_form","reactive","change","InputNumberConfig","BaseFieldConfig","rawConfig","domain","FieldDisplay","FieldEditor"],"mappings":";;;;;;;;;;;;;;AAIA,UAAMA,IAAQC,GAQRC,IAAUC,EAAI,EAAK,GACnBC,IAAiBD,EAAI,KAAK;AAEhC,mBAAeE,IAAU;AACvB,YAAMC,IAAQN,EAAM,IAAIA,EAAM,MAAM,IAAI;AACxC,MAA2BM,KAAU,QAE1B,GAAGA,CAAK,GAAG,KAAI,MAAO,KAD/BJ,EAAQ,QAAQ,MAIhBE,EAAe,QAAQE,GACvBJ,EAAQ,QAAQ;AAAA,IAEpB;AAEA,WAAAK,EAAM,MAAMP,EAAM,KAAKK,GAAS,EAAE,WAAW,GAAI,CAAE;;;;;;;;;;;;ACVnD,UAAMG,IAAOC,GACPT,IAAQC,GAMRS,IAAQC,EAAS,EAAE,OAAOX,EAAM,WAAY,CAAA;AAElD,aAASY,IAAS;AAChB,MAAAJ,EAAK,qBAAqBE,EAAM,KAAK;AAAA,IACvC;AAEA,WAAAH;AAAA,MACE,MAAMP,EAAM;AAAA,MACZ,MAAM;AACJ,QAAAU,EAAM,QAAQV,EAAM;AAAA,MACrB;AAAA,MACD,EAAE,WAAW,GAAM;AAAA,IACrB;;;;;;;;;;;;;AChCe,MAAMa,UAA0BC,EAAgB;AAAA,EAC7D,YAAYC,GAAWC,GAAQ;AAC7B,UAAMD,GAAWC,CAAM,GACvB,KAAK,UAAUC,GACf,KAAK,SAASC,GACd,KAAK,MAAMH,EAAU,KACrB,KAAK,MAAMA,EAAU,KACrB,KAAK,OAAOA,EAAU,QAAQ,GAC9B,KAAK,YAAYA,EAAU,WAC3B,KAAK,eAAeA,EAAU,gBAAgB,IAE9C,KAAK,qBAAqBA,CAAS;AAAA,EACpC;AACH;"}
|