diff --git a/src/components/Editor/index.vue b/src/components/Editor/index.vue index e879e2e..c30e8f4 100644 --- a/src/components/Editor/index.vue +++ b/src/components/Editor/index.vue @@ -56,7 +56,7 @@ export default { }, minHeight: { type: [String, Number], - default: 300, + default: 150, }, height: { type: [String, Number], @@ -64,7 +64,7 @@ export default { }, width: { type: [String, Number], - default: 820, + // default: 820, }, mode: { type: String, diff --git a/src/utils/generator/parser.jsx b/src/utils/generator/parser.jsx index 748be8e..9f850a2 100644 --- a/src/utils/generator/parser.jsx +++ b/src/utils/generator/parser.jsx @@ -4,8 +4,6 @@ import render from "@/utils/generator/render"; import axios from "axios"; import { defineComponent } from "vue"; -// Vue.prototype.$axios = axios; - const ruleTrigger = { "el-input": "blur", "el-input-number": "blur", @@ -23,7 +21,7 @@ const layouts = { colFormItem(h, scheme) { const config = scheme.__config__; const listeners = buildListeners.call(this, scheme); - + console.log(listeners, "28"); let labelWidth = config.labelWidth ? `${config.labelWidth}px` : null; if (config.showLabel === false) labelWidth = "0"; return ( @@ -101,6 +99,7 @@ function renderFormItem(h, elementList) { const layout = layouts[config.layout]; if (layout) { + console.log(layout); return layout.call(this, h, scheme); } throw new Error(`没有与${config.layout}匹配的layout`); @@ -114,6 +113,7 @@ function renderChildren(h, scheme) { } function setValue(event, config, scheme) { + console.log(event, config, scheme, "serval"); config.defaultValue = event; this[this.formConf.formModel][scheme.__vModel__] = event; } @@ -134,6 +134,7 @@ function buildListeners(scheme) { } export default defineComponent({ + name: "Parser", components: { render, }, diff --git a/src/utils/generator/render.jsx b/src/utils/generator/render.jsx index 02bdf98..03022b5 100644 --- a/src/utils/generator/render.jsx +++ b/src/utils/generator/render.jsx @@ -54,10 +54,7 @@ keys.forEach((key) => { function vModel(dataObject, defaultValue) { dataObject.props.value = defaultValue; - dataObject.on.input = (val) => { - this.$emit("input", val); - }; - dataObject.on.change = (val) => { + dataObject.on["update:modelValue"] = (val) => { this.$emit("input", val); }; } @@ -227,15 +224,13 @@ export default defineComponent({ // 将json表单配置转化为vue render可以识别的 “数据对象(dataObject)” buildDataObject.call(this, confClone, dataObject); const Tag = formComponentsMap[this.$props.conf.__config__.tag]; - - // return h(Tag, dataObject.attrs, children); return ( <> {children.length > 0 ? ( {children} @@ -243,86 +238,10 @@ export default defineComponent({ )} - - // ); }, - // render() { - - // return ( - // <> - // {tag == "el-input" ? ( - // - // {children} - // - // ) : tag == "el-input-number" ? ( - // - // {children} - // - // ) : tag == "el-slider" ? ( - // - // {children} - // - // ) : tag == "el-time-picker" ? ( - // - // ) : tag === "el-switch" ? ( - // - // ) : tag === "el-color-picker" ? ( - // - // ) : tag === "el-button" ? ( - // - // {children[1]} - // - // ) : tag === "el-select" ? ( - // - // {children} - // - // ) : tag === "el-date-picker" ? ( - // - // {children} - // - // ) : null} - // - // ); - // }, }); diff --git a/src/views/flowable/form/index.vue b/src/views/flowable/form/index.vue index 2f5d52d..1ef99f0 100644 --- a/src/views/flowable/form/index.vue +++ b/src/views/flowable/form/index.vue @@ -98,7 +98,12 @@ class-name="small-padding fixed-width" >