kouxiangtang 0.1.31 → 0.1.33
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-kjI75NG4.js → AttachmentUploader-B7kkPU2C.js} +2 -2
- package/dist/{AttachmentUploader-kjI75NG4.js.map → AttachmentUploader-B7kkPU2C.js.map} +1 -1
- package/dist/{ImageUploader-CDBMZ9Q4.js → ImageUploader-ByDQtIvq.js} +2 -2
- package/dist/{ImageUploader-CDBMZ9Q4.js.map → ImageUploader-ByDQtIvq.js.map} +1 -1
- package/dist/{ImagesUploader-DR1NdrIX.js → ImagesUploader-D6-3HM_D.js} +2 -2
- package/dist/{ImagesUploader-DR1NdrIX.js.map → ImagesUploader-D6-3HM_D.js.map} +1 -1
- package/dist/{RichTextEditor-M8WpX6JI.js → RichTextEditor-BL6xqftk.js} +2 -2
- package/dist/{RichTextEditor-M8WpX6JI.js.map → RichTextEditor-BL6xqftk.js.map} +1 -1
- package/dist/{config-z9izRzg4.js → config-8QYaFvNM.js} +2 -2
- package/dist/{config-z9izRzg4.js.map → config-8QYaFvNM.js.map} +1 -1
- package/dist/{config-h20uQgYE.js → config-BRlZRcCp.js} +3 -3
- package/dist/{config-h20uQgYE.js.map → config-BRlZRcCp.js.map} +1 -1
- package/dist/{config-Csw0On0x.js → config-BeR4PpdP.js} +2 -2
- package/dist/{config-Csw0On0x.js.map → config-BeR4PpdP.js.map} +1 -1
- package/dist/{config-Ob9gEzh5.js → config-BnpixRqt.js} +3 -3
- package/dist/{config-Ob9gEzh5.js.map → config-BnpixRqt.js.map} +1 -1
- package/dist/{config-czbw2bDq.js → config-Bu0VHLBr.js} +2 -2
- package/dist/{config-czbw2bDq.js.map → config-Bu0VHLBr.js.map} +1 -1
- package/dist/{config-LPjXlVUG.js → config-CGN5-J3g.js} +2 -2
- package/dist/{config-LPjXlVUG.js.map → config-CGN5-J3g.js.map} +1 -1
- package/dist/{config-C_d1djj4.js → config-CVpuFBZU.js} +2 -2
- package/dist/{config-C_d1djj4.js.map → config-CVpuFBZU.js.map} +1 -1
- package/dist/{config-DbXMEYLj.js → config-CkOTyA6M.js} +2 -2
- package/dist/{config-DbXMEYLj.js.map → config-CkOTyA6M.js.map} +1 -1
- package/dist/{config-CqR0uCa_.js → config-CoRLR8yc.js} +2 -2
- package/dist/{config-CqR0uCa_.js.map → config-CoRLR8yc.js.map} +1 -1
- package/dist/{config-CVao0Cla.js → config-Cy9I3Yww.js} +2 -2
- package/dist/{config-CVao0Cla.js.map → config-Cy9I3Yww.js.map} +1 -1
- package/dist/{config-D_FDegBc.js → config-CyTeIX36.js} +2 -2
- package/dist/{config-D_FDegBc.js.map → config-CyTeIX36.js.map} +1 -1
- package/dist/{config-HKkdk6wZ.js → config-DNjYwWf2.js} +2 -2
- package/dist/{config-HKkdk6wZ.js.map → config-DNjYwWf2.js.map} +1 -1
- package/dist/{config-2BP5-eb_.js → config-Dd3jwmiE.js} +3 -3
- package/dist/{config-2BP5-eb_.js.map → config-Dd3jwmiE.js.map} +1 -1
- package/dist/{config-CVslr70e.js → config-DhFx4vma.js} +2 -2
- package/dist/{config-CVslr70e.js.map → config-DhFx4vma.js.map} +1 -1
- package/dist/{config-d7n2dlpo.js → config-DvLe94XY.js} +2 -2
- package/dist/{config-d7n2dlpo.js.map → config-DvLe94XY.js.map} +1 -1
- package/dist/{config-jR1X5xVh.js → config-HHs-1vYi.js} +2 -2
- package/dist/{config-jR1X5xVh.js.map → config-HHs-1vYi.js.map} +1 -1
- package/dist/{config-BQByyFaI.js → config-QcC384MA.js} +2 -2
- package/dist/{config-BQByyFaI.js.map → config-QcC384MA.js.map} +1 -1
- package/dist/{config-BAjlIeLU.js → config-R1n9p5mL.js} +2 -2
- package/dist/{config-BAjlIeLU.js.map → config-R1n9p5mL.js.map} +1 -1
- package/dist/{config-Dq4y7P21.js → config-aPvPNn1F.js} +2 -2
- package/dist/{config-Dq4y7P21.js.map → config-aPvPNn1F.js.map} +1 -1
- package/dist/{config-CQA1bx3f.js → config-lUL3nYIJ.js} +2 -2
- package/dist/{config-CQA1bx3f.js.map → config-lUL3nYIJ.js.map} +1 -1
- package/dist/{index-DXK7K7iB.js → index-Bq_Z8Hm7.js} +2060 -2020
- package/dist/index-Bq_Z8Hm7.js.map +1 -0
- package/dist/kouxiangtang.js +18 -16
- package/dist/kouxiangtang.umd.cjs +9 -9
- package/dist/kouxiangtang.umd.cjs.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/dist/index-DXK7K7iB.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-
|
|
1
|
+
{"version":3,"file":"config-Dd3jwmiE.js","sources":["../src/framework/field/image/FieldDisplay.vue","../src/framework/field/image/FieldEditor.vue","../src/framework/field/image/config.js"],"sourcesContent":["<script setup>\nimport { ElImage } from \"element-plus\";\nimport { watch, ref, onMounted } from \"vue\";\n\nconst props = defineProps({\n field: {\n type: Object,\n },\n row: {\n type: Object,\n },\n mode: {\n type: String,\n },\n});\n\n// const url = ref(null);\n// const urls = ref([]);\nconst imgUrl = ref(\"\");\n\nwatch(\n () => props.row,\n () => {\n if (!props.field.waterMark) {\n imgUrl.value = props.row[props.field.code];\n } else {\n imgUrl.value = addwaterMark(\n props.row[props.field.code],\n props.field.waterMark,\n );\n }\n },\n { immediate: true },\n);\n\n// 将img内容绘制到canvas画布\nfunction imgToCanvas(img) {\n const canvas = document.createElement(\"canvas\");\n canvas.width = img.width;\n canvas.height = img.height;\n const context = canvas.getContext(\"2d\");\n context.drawImage(img, 0, 0);\n return canvas;\n}\n\n// canvas画布上绘制水印并转换为blob对象\nfunction waterMark(canvas, waterMarkVal) {\n return new Promise((resolve) => {\n const ctx = canvas.getContext(\"2d\");\n // 绘制水印 canvas\n const canvasWater = drawWaterCanvas(waterMarkVal);\n // 绘制重复的水印\n ctx.fillStyle = ctx.createPattern(canvasWater, \"repeat\");\n ctx.fillRect(0, 0, canvas.width, canvas.height);\n resolve(canvas.toDataURL());\n });\n}\n\nfunction drawWaterCanvas(str) {\n const canvasWater = document.createElement(\"canvas\");\n canvasWater.width = 500;\n canvasWater.height = 200;\n const ctxWater = canvasWater.getContext(\"2d\");\n ctxWater.textAlign = \"left\";\n ctxWater.textBaseline = \"middle\";\n ctxWater.font = \"26px Microsoft Yahei\";\n ctxWater.fillStyle = \"rgba(0, 0, 0, 0.3)\";\n ctxWater.rotate((-20 * Math.PI) / 180);\n ctxWater.fillText(str, 10, 200);\n // ctxWater.fillText(new Date().toLocaleString(), 10, 300)\n return canvasWater;\n}\n\nfunction addwaterMark(url, waterMarkVal) {\n const img = new Image();\n img.crossOrigin = \"Anonymous\";\n img.src = url;\n img.onload = async () => {\n const canvas = imgToCanvas(img);\n const url = await waterMark(canvas, waterMarkVal);\n imgUrl.value = url;\n };\n}\n</script>\n\n<template>\n <div :class=\"`image-card ${props.mode}`\">\n <el-image\n v-if=\"imgUrl\"\n :src=\"imgUrl\"\n preview-teleported\n fit=\"contain\"\n :preview-src-list=\"[imgUrl]\"\n class=\"image\"\n >\n <template #error>\n <div class=\"loading-error\">\n <div>加载失败</div>\n <div>{{ imgUrl }}</div>\n </div>\n </template>\n </el-image>\n <div v-else class=\"loading-error\">\n <div>暂无</div>\n </div>\n </div>\n</template>\n\n<style scoped lang=\"scss\">\n.image-card {\n width: 100%;\n height: 200px;\n display: flex;\n justify-content: center;\n align-items: center;\n // background: #eee;\n // border: 1px solid #ddd;\n border-radius: 4px;\n overflow: hidden;\n}\n\n.image {\n width: 100%;\n height: 100%;\n}\n\n.list {\n height: 50px;\n}\n\n.extend {\n width: 200px;\n height: 200px;\n}\n\n.loading-error {\n width: 100%;\n height: 100%;\n min-height: 50px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n background: var(--el-color-error);\n color: var(--el-color-white);\n}\n</style>\n","<template>\n <ImageUploader\n :image-url=\"_form.value\"\n :disabled=\"props.disabled\"\n :props=\"props.field.props\"\n @on-success=\"change\"\n />\n</template>\n\n<script setup>\nimport { reactive, defineAsyncComponent, watch } from \"vue\";\n\nconst ImageUploader = defineAsyncComponent(() => {\n return import(\"./ImageUploader.vue\");\n});\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(image) {\n emit(\"update:modelValue\", image);\n}\n\nwatch(\n () => props.modelValue,\n async () => {\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 ImageFieldConfig extends BaseFieldConfig {\n constructor(rawConfig, domain) {\n super(rawConfig, domain);\n this.display = FieldDisplay;\n this.editor = FieldEditor;\n this.props = rawConfig.props || {};\n\n this.checkValidProperties(rawConfig);\n }\n}\n"],"names":["props","__props","imgUrl","ref","watch","addwaterMark","imgToCanvas","img","canvas","waterMark","waterMarkVal","resolve","ctx","canvasWater","drawWaterCanvas","str","ctxWater","url","ImageUploader","defineAsyncComponent","emit","__emit","_form","reactive","change","image","ImageFieldConfig","BaseFieldConfig","rawConfig","domain","FieldDisplay","FieldEditor"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAIA,UAAMA,IAAQC,GAcRC,IAASC,EAAI,EAAE;AAErB,IAAAC;AAAA,MACE,MAAMJ,EAAM;AAAA,MACZ,MAAM;AACJ,QAAKA,EAAM,MAAM,YAGfE,EAAO,QAAQG;AAAA,UACbL,EAAM,IAAIA,EAAM,MAAM,IAAI;AAAA,UAC1BA,EAAM,MAAM;AAAA,QACpB,IALME,EAAO,QAAQF,EAAM,IAAIA,EAAM,MAAM,IAAI;AAAA,MAO5C;AAAA,MACD,EAAE,WAAW,GAAM;AAAA,IACrB;AAGA,aAASM,EAAYC,GAAK;AACxB,YAAMC,IAAS,SAAS,cAAc,QAAQ;AAC9C,aAAAA,EAAO,QAAQD,EAAI,OACnBC,EAAO,SAASD,EAAI,QACJC,EAAO,WAAW,IAAI,EAC9B,UAAUD,GAAK,GAAG,CAAC,GACpBC;AAAA,IACT;AAGA,aAASC,EAAUD,GAAQE,GAAc;AACvC,aAAO,IAAI,QAAQ,CAACC,MAAY;AAC9B,cAAMC,IAAMJ,EAAO,WAAW,IAAI,GAE5BK,IAAcC,EAAgBJ,CAAY;AAEhD,QAAAE,EAAI,YAAYA,EAAI,cAAcC,GAAa,QAAQ,GACvDD,EAAI,SAAS,GAAG,GAAGJ,EAAO,OAAOA,EAAO,MAAM,GAC9CG,EAAQH,EAAO,UAAS,CAAE;AAAA,MAC9B,CAAG;AAAA,IACH;AAEA,aAASM,EAAgBC,GAAK;AAC5B,YAAMF,IAAc,SAAS,cAAc,QAAQ;AACnD,MAAAA,EAAY,QAAQ,KACpBA,EAAY,SAAS;AACrB,YAAMG,IAAWH,EAAY,WAAW,IAAI;AAC5C,aAAAG,EAAS,YAAY,QACrBA,EAAS,eAAe,UACxBA,EAAS,OAAO,wBAChBA,EAAS,YAAY,sBACrBA,EAAS,OAAQ,MAAM,KAAK,KAAM,GAAG,GACrCA,EAAS,SAASD,GAAK,IAAI,GAAG,GAEvBF;AAAA,IACT;AAEA,aAASR,EAAaY,GAAKP,GAAc;AACvC,YAAMH,IAAM,IAAI;AAChB,MAAAA,EAAI,cAAc,aAClBA,EAAI,MAAMU,GACVV,EAAI,SAAS,YAAY;AACvB,cAAMC,IAASF,EAAYC,CAAG,GACxBU,IAAM,MAAMR,EAAUD,GAAQE,CAAY;AAChD,QAAAR,EAAO,QAAQe;AAAA,MACnB;AAAA,IACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACtEA,UAAMC,IAAgBC,EAAqB,MAClC,OAAO,6BAAqB,CACpC,GAEKC,IAAOC,GACPrB,IAAQC,GAMRqB,IAAQC,EAAS,EAAE,OAAOvB,EAAM,WAAY,CAAA;AAElD,aAASwB,EAAOC,GAAO;AACrB,MAAAL,EAAK,qBAAqBK,CAAK;AAAA,IACjC;AAEA,WAAArB;AAAA,MACE,MAAMJ,EAAM;AAAA,MACZ,YAAY;AACV,QAAAsB,EAAM,QAAQtB,EAAM;AAAA,MACrB;AAAA,MACD,EAAE,WAAW,GAAM;AAAA,IACrB;;;;;;;;AC/Be,MAAM0B,UAAyBC,EAAgB;AAAA,EAC5D,YAAYC,GAAWC,GAAQ;AAC7B,UAAMD,GAAWC,CAAM,GACvB,KAAK,UAAUC,GACf,KAAK,SAASC,GACd,KAAK,QAAQH,EAAU,SAAS,CAAA,GAEhC,KAAK,qBAAqBA,CAAS;AAAA,EACpC;AACH;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as o } from "./index-
|
|
1
|
+
import { B as o } from "./index-Bq_Z8Hm7.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-DhFx4vma.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-
|
|
1
|
+
{"version":3,"file":"config-DhFx4vma.js","sources":["../src/framework/field/component/config.js"],"sourcesContent":["import BaseFieldConfig from \"../base-field-config\";\n\nexport default class ComponentFieldConfig extends BaseFieldConfig {\n constructor(rawConfig, domain) {\n super(rawConfig, domain);\n this.component = rawConfig.component;\n this.display = rawConfig.component;\n this.editor = rawConfig.component;\n\n this.checkValidProperties(rawConfig);\n }\n}\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 _, s as V, B } from "./index-
|
|
1
|
+
import { E as _, s as V, B } from "./index-Bq_Z8Hm7.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-DvLe94XY.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-
|
|
1
|
+
{"version":3,"file":"config-DvLe94XY.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, watch } 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(\"...\");\n\nasync function getName() {\n const value = props.row[props.field.code];\n\n if (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}\n\nwatch(() => props.row, getName, { immediate: true });\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 :options=\"options\"\n clearable\n style=\"width: 100%\"\n @change=\"change\"\n />\n</template>\n\n<script setup>\nimport { ElCascader } 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);\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 });\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\nremoteSearch();\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 this.options = rawConfig.options || (() => [{ id: 0, name: \"未实现\" }]);\n\n this.checkValidProperties(rawConfig);\n }\n}\n\nexport default CascaderFieldConfig;\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 p, B as f } from "./index-
|
|
1
|
+
import { E as p, B as f } from "./index-Bq_Z8Hm7.js";
|
|
2
2
|
import { ref as r, watch as u, openBlock as d, createElementBlock as h, toDisplayString as v, createBlock as n, reactive as y, unref as V } from "vue";
|
|
3
3
|
import { ElDatePicker as _ } from "element-plus";
|
|
4
4
|
const D = { key: 0 }, Y = {
|
|
@@ -61,4 +61,4 @@ class w extends f {
|
|
|
61
61
|
export {
|
|
62
62
|
w as default
|
|
63
63
|
};
|
|
64
|
-
//# sourceMappingURL=config-
|
|
64
|
+
//# sourceMappingURL=config-HHs-1vYi.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-
|
|
1
|
+
{"version":3,"file":"config-HHs-1vYi.js","sources":["../src/framework/field/date/FieldDisplay.vue","../src/framework/field/date/FieldEditor.vue","../src/framework/field/date/config.js"],"sourcesContent":["<script setup>\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 isEmpty = ref(false);\nconst formattedValue = ref(\"...\");\n\nasync function getTime() {\n const value = props.row[props.field.code];\n\n if (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}\n\nwatch(() => props.row, getTime, { immediate: true });\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=\"date\"\n format=\"YYYY-MM-DD\"\n value-format=\"YYYY-MM-DD\"\n :placeholder=\"field.placeholder\"\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 DateFieldConfig 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","getTime","value","watch","emit","__emit","_form","reactive","change","DateFieldConfig","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,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 m, B as f } from "./index-
|
|
1
|
+
import { E as m, B as f } from "./index-Bq_Z8Hm7.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-QcC384MA.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-
|
|
1
|
+
{"version":3,"file":"config-QcC384MA.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>\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 isEmpty = ref(false);\nconst formattedValue = ref(\"...\");\n\nasync function getName() {\n const value = props.row[props.field.code];\n if (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}\n\nwatch(() => props.row, getName, { immediate: true });\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-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;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { B as p } from "./index-
|
|
1
|
+
import { B as p } from "./index-Bq_Z8Hm7.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-R1n9p5mL.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-
|
|
1
|
+
{"version":3,"file":"config-R1n9p5mL.js","sources":["../src/framework/field/switch/FieldDisplay.vue","../src/framework/field/switch/FieldEditor.vue","../src/framework/field/switch/config.js"],"sourcesContent":["<template>\n <span style=\"display: flex; align-items: center\">\n <el-switch\n v-model=\"value\"\n size=\"small\"\n :disabled=\"isDeleted ? true : false\"\n :before-change=\"($event) => switchChange(row, field.label)\"\n />\n </span>\n</template>\n\n<script setup>\nimport { ElSwitch } from \"element-plus\";\nimport { computed, ref } from \"vue\";\n\nconst emit = defineEmits([\"enable\"]);\nconst props = defineProps({\n field: {\n type: Object,\n },\n row: {\n type: Object,\n },\n});\nconst isDeleted = ref(props.row.deletedAt);\n\nfunction switchChange(row, label) {\n row.label = label;\n return new Promise((resolve, reject) => {\n emit(\"enable\", row);\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 SwitchFieldConfig extends BaseFieldConfig {\n constructor(rawConfig, domain) {\n super(rawConfig, domain);\n this.formChange = rawConfig.formChange || (() => {});\n this.default = rawConfig.default || false;\n this.display = FieldDisplay;\n this.editor = FieldEditor;\n\n this.checkValidProperties(rawConfig);\n }\n}\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,4 +1,4 @@
|
|
|
1
|
-
import { E as m, B as f } from "./index-
|
|
1
|
+
import { E as m, B as f } from "./index-Bq_Z8Hm7.js";
|
|
2
2
|
import { ref as d, watch as n, openBlock as s, createElementBlock as v, toDisplayString as y, createBlock as u, reactive as h, unref as V } from "vue";
|
|
3
3
|
import { ElInput as _ } from "element-plus";
|
|
4
4
|
const b = { key: 0 }, g = {
|
|
@@ -64,4 +64,4 @@ class j extends f {
|
|
|
64
64
|
export {
|
|
65
65
|
j as default
|
|
66
66
|
};
|
|
67
|
-
//# sourceMappingURL=config-
|
|
67
|
+
//# sourceMappingURL=config-aPvPNn1F.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-
|
|
1
|
+
{"version":3,"file":"config-aPvPNn1F.js","sources":["../src/framework/field/text/FieldDisplay.vue","../src/framework/field/text/FieldEditor.vue","../src/framework/field/text/config.js"],"sourcesContent":["<script setup>\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 isEmpty = ref(false);\nconst formattedValue = ref(\"...\");\n\nasync function getName() {\n const value = props.row[props.field.code];\n if (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}\n\nwatch(() => props.row, getName, { immediate: true });\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-input\n v-model=\"_form.value\"\n type=\"textarea\"\n :rows=\"5\"\n clearable\n :disabled=\"props.disabled\"\n :placeholder=\"field.placeholder\"\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: 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 TextFieldConfig 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 defaultConfig() {\n return {\n showInList: false,\n };\n }\n}\n"],"names":["props","__props","isEmpty","ref","formattedValue","getName","value","watch","emit","__emit","_form","reactive","change","TextFieldConfig","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;;;;;;;;;;;;ACXnD,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;;;;;;;;;;;;AC/Be,MAAMa,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 { _ as w, s as x, E, B } from "./index-
|
|
1
|
+
import { _ as w, s as x, E, B } from "./index-Bq_Z8Hm7.js";
|
|
2
2
|
import { ref as p, watch as _, openBlock as d, createElementBlock as h, Fragment as V, renderList as g, createBlock as v, unref as y, withCtx as b, createElementVNode as F, normalizeStyle as O, toDisplayString as k, reactive as C, createSlots as D, createTextVNode as T } from "vue";
|
|
3
3
|
import { ElTooltip as $, ElSelect as j, ElOption as N } from "element-plus";
|
|
4
4
|
import { c as Q } from "./color-DbNhHNpt.js";
|
|
@@ -132,4 +132,4 @@ class G extends B {
|
|
|
132
132
|
export {
|
|
133
133
|
G as default
|
|
134
134
|
};
|
|
135
|
-
//# sourceMappingURL=config-
|
|
135
|
+
//# sourceMappingURL=config-lUL3nYIJ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-
|
|
1
|
+
{"version":3,"file":"config-lUL3nYIJ.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\";\nimport { useRoute } from \"vue-router\";\nimport { setupRouteQuery } from \"../../utils/route-query\";\n\nconst route = useRoute();\nconst routeQuery = setupRouteQuery(route);\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(props.row, routeQuery);\n if (!options) {\n invalidTip.value = `<无>`;\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 = `--`;\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.name}`\"\n placement=\"top\"\n >\n <div class=\"select-field found\" :style=\"`background: ${item.bgColor}`\">\n {{ item.name }}\n </div>\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 line-height: inherit;\n}\n\n.select-field {\n font-size: 12px;\n padding: 0 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=\"field.placeholder\"\n remote\n :remote-method=\"remoteSearch\"\n @change=\"change\"\n >\n <template v-if=\"field.prefix\" #prefix>{{ field.prefix }}</template>\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":["route","useRoute","routeQuery","setupRouteQuery","props","__props","invalidTip","ref","found","items","getSelectName","val","options","selectedOptions","item","color","watch","emit","__emit","_form","reactive","remoteSearch","keyword","change","SelectFieldConfig","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,IAAgB;AAC7B,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,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,MACnBE,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1BzD,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;AAAA,IACvC;AAEA,WAAAH;AAAA,MACE,MAAMZ,EAAM;AAAA,MACZ,MAAM;AACJ,QAAAe,EAAM,QAAQf,EAAM;AAAA,MACrB;AAAA,MACD,EAAE,WAAW,GAAM;AAAA,IACrB,GACAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC9DA,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;"}
|