UNPKG

ai-form-designer

Version:

vue3+adv的设计器,可视化开发页面表单

2,330 lines 58.4 kB
import { pluginManager as i } from "ai-form-designer"; import { ElFormItem as r, ElTabs as c, ElTabPane as s, ElCollapse as d, ElCollapseItem as m } from "element-plus"; const u = { component: async () => (await import("element-plus")).ElInput, groupName: "表单", icon: "icon--epic--border-color-outline-rounded", sort: 700, defaultSchema: { label: "输入框", type: "input", field: "input", input: !0, componentProps: { placeholder: "请输入" } }, config: { attribute: [ { label: "字段名", type: "input", field: "field" }, { label: "标题", type: "input", field: "label" }, { label: "默认值", type: "input", field: "componentProps.defaultValue" }, { label: "占位内容", type: "input", field: "componentProps.placeholder" }, { label: "尺寸", type: "select", defaultValue: "default", componentProps: { placeholder: "请选择", clearable: !0, options: [ { label: "大号", value: "large" }, { label: "中等", value: "default" }, { label: "小型", value: "small" } ] }, field: "componentProps.size" }, { label: "最大输入长度", type: "number", field: "componentProps.maxlength", componentProps: { placeholder: "请输入", min: 0 } }, { label: "统计字数", type: "switch", field: "componentProps.showWordLimit", show: ({ values: e }) => e.componentProps.maxlength }, { label: "输入类型", type: "select", defaultValue: "text", componentProps: { placeholder: "请选择", clearable: !0, options: [ { label: "text", value: "text" }, { label: "number", value: "number" }, { label: "password", value: "password" } ] }, field: "componentProps.type" }, { label: "显示切换图标", type: "switch", field: "componentProps.showPassword", show: ({ values: e }) => e.componentProps.type === "password" }, { label: "只读", type: "switch", field: "componentProps.readonly" }, { label: "可清空", type: "switch", field: "componentProps.clearable" }, { label: "禁用", type: "switch", field: "componentProps.disabled" }, { label: "隐藏", type: "switch", field: "componentProps.hidden" }, { label: "表单校验", type: "ERuleEditor", layout: "vertical", field: "rules", describe: "校验规则需要配合表单使用" } ], event: [ { type: "input", describe: "输入值时" }, { type: "change", describe: "值修改时" }, { type: "focus", describe: "获取焦点时" }, { type: "blur", describe: "失去焦点时" }, { type: "clear", describe: "点击清空按钮时" } ], action: [ { type: "focus", describe: "使 input 获取焦点" }, { type: "blur", describe: "使 input 失去焦点" }, { type: "clear", describe: "清除 input 值" }, { type: "select", describe: "选中 input 中的文字" } ] } }, b = { component: async () => (await import("element-plus")).ElInput, icon: "icon--epic--edit-square-outline-rounded", groupName: "表单", sort: 705, defaultSchema: { label: "文本域", type: "textarea", field: "textarea", input: !0, componentProps: { placeholder: "请输入", type: "textarea" } }, config: { attribute: [ { label: "字段名", type: "input", field: "field" }, { label: "标题", type: "input", field: "label" }, { label: "默认值", type: "textarea", field: "componentProps.defaultValue" }, { label: "占位内容", type: "input", field: "componentProps.placeholder" }, { label: "尺寸", type: "select", componentProps: { placeholder: "请选择", clearable: !0, options: [ { label: "大号", value: "large" }, { label: "中等", value: "default" }, { label: "小型", value: "small" } ] }, field: "componentProps.size" }, { label: "最大输入长度", type: "number", field: "componentProps.maxlength", componentProps: { placeholder: "请输入", min: 0 } }, { label: "统计字数", type: "switch", field: "componentProps.showWordLimit", show: ({ values: e }) => e.componentProps.maxlength }, { label: "最小行数", type: "number", field: "componentProps.autosize.minRows", componentProps: { placeholder: "请输入" } }, { label: "最大行数", type: "number", field: "componentProps.autosize.maxRows", componentProps: { placeholder: "请输入" } }, { label: "可清空", type: "switch", field: "componentProps.clearable" }, { label: "禁用", type: "switch", field: "componentProps.disabled" }, { label: "隐藏", type: "switch", field: "componentProps.hidden" }, { label: "表单校验", type: "ERuleEditor", layout: "vertical", field: "rules", describe: "校验规则需要配合表单使用" } ], event: [ { type: "input", describe: "输入值" }, { type: "change", describe: "值修改" }, { type: "focus", describe: "获取焦点" }, { type: "blur", describe: "失去焦点" } ], action: [ { type: "focus", describe: "使 input 获取焦点" }, { type: "blur", describe: "使 input 失去焦点" }, { type: "clear", describe: "清除 input 值" }, { type: "select", describe: "选中 input 中的文字" } ] } }, f = { component: async () => (await import("element-plus")).ElInputNumber, groupName: "表单", icon: "icon--epic--123-rounded", sort: 710, defaultSchema: { label: "数字输入框", type: "number", field: "number", input: !0, componentProps: { placeholder: "请输入" } }, config: { attribute: [ { label: "字段名", type: "input", field: "field" }, { label: "标题", type: "input", field: "label" }, { label: "默认值", type: "number", field: "componentProps.defaultValue" }, { label: "占位内容", type: "input", field: "componentProps.placeholder" }, { label: "尺寸", type: "select", componentProps: { placeholder: "请选择", clearable: !0, options: [ { label: "大号", value: "large" }, { label: "中等", value: "default" }, { label: "小型", value: "small" } ] }, field: "componentProps.size" }, { label: "最大值", type: "number", field: "componentProps.max", componentProps: { placeholder: "请输入" } }, { label: "最小值", type: "number", field: "componentProps.min", componentProps: { placeholder: "请输入" } }, { label: "步长", type: "number", field: "componentProps.step", componentProps: { placeholder: "请输入" } }, { label: "控制按钮位置", type: "select", defaultValue: "", componentProps: { options: [ { label: "default", value: "" }, { label: "right", value: "right" } ], placeholder: "请选择", clearable: !0 }, field: "componentProps.controlsPosition" }, { label: "精度", type: "number", field: "componentProps.precision", componentProps: { placeholder: "请输入" } }, { label: "输入控制为步长的倍数", type: "switch", field: "componentProps.stepStrictly" }, { label: "禁用", type: "switch", field: "componentProps.disabled" }, { label: "隐藏", type: "switch", field: "componentProps.hidden" }, { label: "表单校验", type: "ERuleEditor", layout: "vertical", field: "rules", describe: "校验规则需要配合表单使用", componentProps: { ruleType: "number" } } ], event: [ { type: "change", describe: "值变化时" } ] } }, y = { component: () => import("../../form-CL-Apdir.js"), groupName: "表单", icon: "icon--epic--list-alt-outline-rounded", sort: 600, defaultSchema: { label: "表单", type: "form", componentProps: { name: "default", labelWidth: "100px", "label-position": "left" }, children: [] }, config: { attribute: [ { label: "Name", type: "input", field: "componentProps.name" }, { label: "标签位置", type: "radio", field: "componentProps.label-position", componentProps: { clearable: !0, radioButton: !0, options: [ { label: "左边", value: "left" }, { label: "右边", value: "right" }, { label: "顶部", value: "top" } ] } }, { label: "标签宽度", type: "EInputSize", field: "componentProps.labelWidth" }, { label: "标签后缀", type: "input", field: "componentProps.labelSuffix", componentProps: { placeholder: "请输入" } }, { label: "表单尺寸", type: "select", field: "componentProps.size", componentProps: { placeholder: "请选择", clearable: !0, options: [ { label: "大号", value: "large" }, { label: "中等", value: "default" }, { label: "小型", value: "small" } ] } }, { label: "星号位置", type: "select", field: "componentProps.require-asterisk-position", componentProps: { placeholder: "请选择", clearable: !0, options: [ { label: "左边", value: "left" }, { label: "右边", value: "right" } ] } }, { label: "行内展示校验信息", type: "switch", field: "componentProps.inline-message" }, { label: "校验反馈图标", type: "switch", field: "componentProps.status-icon" }, { label: "滚动校验错误处", type: "switch", field: "componentProps.scroll-to-error" }, { label: "行内模式", type: "switch", field: "componentProps.inline" }, { label: "禁用", type: "switch", field: "componentProps.disabled" }, { label: "隐藏", type: "switch", field: "componentProps.hidden" } ], action: [ { type: "getData", describe: "获取表单数据" }, { type: "setData", describe: "设置表单数据" }, { type: "validate", describe: "校验表单" } ] } }, h = { component: () => import("../../formItem-B6XaNgi9.js"), defaultSchema: { label: "表单项", type: "form-item" }, config: {} }, P = { component: () => import("../../button-BvmCwtR3.js"), groupName: "表单", icon: "icon--epic--fit-screen-rounded", sort: 1200, defaultSchema: { label: "按钮", type: "button", field: "input", input: !1 }, config: { attribute: [ { label: "标题", type: "input", field: "label" }, { label: "类型", type: "select", componentProps: { placeholder: "请选择", clearable: !0, options: [ { label: "primary", value: "primary" }, { label: "success", value: "success" }, { label: "info", value: "info" }, { label: "warning", value: "warning" }, { label: "danger", value: "danger" } ] }, field: "componentProps.type" }, { label: "操作类型", type: "select", componentProps: { placeholder: "请选择", clearable: !0, options: [ { label: "button", value: "button" }, { label: "submit", value: "submit" }, { label: "reset", value: "reset" } ] }, field: "componentProps.native-type" }, { label: "自定义颜色", type: "color-picker", field: "componentProps.color", componentProps: { type: "color" } }, { label: "朴素按钮", type: "switch", field: "componentProps.plain" }, { label: "圆角按钮", type: "switch", field: "componentProps.round" }, { label: "圆形按钮", type: "switch", field: "componentProps.circle" }, { label: "文字按钮", type: "switch", field: "componentProps.text" }, { label: "加载状态", type: "switch", field: "componentProps.loading" }, { label: "禁用", type: "switch", field: "componentProps.disabled" }, { label: "隐藏", type: "switch", field: "componentProps.hidden" } ], event: [ { type: "click", describe: "点击按钮时" }, { type: "dblclick", describe: "双击按钮时" } ] } }, v = { component: () => import("../../card-CNGNDzPp.js"), groupName: "布局", icon: "icon--epic--wysiwyg-rounded", sort: 700, defaultSchema: { label: "卡片布局", type: "card", children: [], componentProps: {} }, config: { attribute: [ { label: "标题", type: "input", field: "label" }, { label: "阴影时机", type: "select", componentProps: { options: [ { label: "always", value: "always" }, { label: "hover", value: "hover" }, { label: "never", value: "never" } ], placeholder: "请选择", clearable: !0 }, field: "componentProps.shadow" }, { label: "隐藏", type: "switch", field: "componentProps.hidden" } ] } }, w = { component: () => import("../../row-CkyJ9pQh.js"), groupName: "布局", icon: "icon--epic--width-normal-outline", sort: 800, defaultSchema: { label: "栅格布局", type: "row", children: [ { type: "col", children: [], componentProps: { span: 12 } }, { type: "col", children: [], componentProps: { span: 12 } } ] }, editConstraints: { childImmovable: !0 }, config: { attribute: [ { label: "垂直对齐方式", type: "select", componentProps: { style: { width: "100%" }, options: [ { label: "top", value: "top" }, { label: "middle", value: "middle" }, { label: "bottom", value: "bottom" } ], placeholder: "请选择" }, field: "componentProps.align" }, { label: "水平排列方式", type: "select", componentProps: { style: { width: "100%" }, options: [ { label: "start", value: "start" }, { label: "end", value: "end" }, { label: "center", value: "center" }, { label: "space-around", value: "space-around" }, { label: "space-between", value: "space-between" } ], placeholder: "请选择" }, field: "componentProps.justify" }, { label: "栅格间距", type: "number", field: "componentProps.gutter", componentProps: { placeholder: "请输入" } }, { label: "列编辑", type: "EColEditor", field: "children" }, { label: "隐藏", type: "switch", field: "componentProps.hidden" } ] } }, g = { component: () => import("../../col-0rmM8on4.js"), defaultSchema: { label: "栅格布局-列", type: "col", children: [], componentProps: { span: 6 } }, config: { attribute: [ { label: "占位格数", type: "number", field: "componentProps.span" } ] } }, E = { component: () => import("../../select-D5TtKG6k.js"), groupName: "表单", icon: "icon--epic--select", sort: 900, defaultSchema: { label: "选择框", type: "select", field: "select", input: !0, componentProps: { options: [ { label: "选项1", value: "选项1" }, { label: "选项2", value: "选项2" } ], placeholder: "请选择", size: "default", effect: "light", placement: "bottom-start" } }, config: { attribute: [ { label: "字段名", type: "input", field: "field" }, { label: "标题", type: "input", field: "label" }, { label: "默认值", type: "select", field: "componentProps.defaultValue" }, { label: "占位内容", type: "input", field: "componentProps.placeholder" }, { label: "尺寸", type: "select", componentProps: { placeholder: "请选择", clearable: !0, options: [ { label: "大号", value: "large" }, { label: "中等", value: "default" }, { label: "小型", value: "small" } ] }, field: "componentProps.size" }, { label: "可多选", type: "switch", field: "componentProps.multiple", onChange: ({ value: e, values: l }) => { e ? l.componentProps.defaultValue = [] : l.componentProps.defaultValue = null; } }, { label: "多选隐藏", type: "switch", field: "componentProps.collapseTags", show: ({ values: e }) => e.componentProps.multiple }, { label: "隐藏提示", type: "switch", field: "componentProps.collapseTagsTooltip", show: ({ values: e }) => e.componentProps.multiple && e.componentProps.collapseTags }, { label: "保留搜索关键字", type: "switch", field: "componentProps.reserveKeyword", show: ({ values: e }) => e.componentProps.multiple }, { label: "标签类型", type: "select", defaultValue: "info", componentProps: { options: [ { label: "success", value: "success" }, { label: "info", value: "info" }, { label: "warning", value: "warning" }, { label: "danger", value: "danger" } ] }, show: ({ values: e }) => e.componentProps.multiple, field: "componentProps.tagType" }, { label: "多选限制", type: "number", field: "componentProps.multipleLimit", show: ({ values: e }) => e.componentProps.multiple }, { label: "提示主题", type: "select", componentProps: { options: [ { label: "light", value: "light" }, { label: "dark", value: "dark" } ] }, field: "componentProps.effect" }, { label: "可筛选", type: "switch", field: "componentProps.filterable" }, { label: "允许创建条目", type: "switch", field: "componentProps.allowCreate" }, { label: "下拉框位置", type: "select", defaultValue: "bottom-start", componentProps: { options: [ { label: "top", value: "top" }, { label: "top-start", value: "top-start" }, { label: "top-end", value: "top-end" }, { label: "bottom", value: "bottom" }, { label: "bottom-start", value: "bottom-start" }, { label: "bottom-end", value: "bottom-end" }, { label: "left", value: "left" }, { label: "left-start", value: "left-start" }, { label: "left-end", value: "left-end" }, { label: "right", value: "right" }, { label: "right-start", value: "right-start" }, { label: "right-end", value: "right-end" } ] }, field: "componentProps.placement" }, { label: "下拉框宽度与输入框相同", type: "switch", field: "componentProps.fitInputWidth" }, { label: "无数据时文本", type: "input", field: "componentProps.noDataText", componentProps: { placeholder: "请输入" } }, { label: "可清空", type: "switch", field: "componentProps.clearable" }, { label: "禁用", type: "switch", field: "componentProps.disabled" }, { label: "隐藏", type: "switch", field: "componentProps.hidden" }, { label: "选项管理", type: "EOptionsEditor", layout: "vertical", field: "componentProps.options", describe: "配置选项" }, { label: "表单校验", type: "ERuleEditor", layout: "vertical", field: "rules", describe: "校验规则需要配合表单使用" } ], event: [ { type: "change", describe: "值变化时" } ] } }, x = { component: () => import("../../radio-ChBAvqeY.js"), groupName: "表单", icon: "icon--epic--radio-button-checked-outline", sort: 850, defaultSchema: { label: "单选框", type: "radio", field: "radio", input: !0, componentProps: { options: [ { label: "选项1", value: "选项1" }, { label: "选项2", value: "选项2" } ], size: "default" } }, config: { attribute: [ { label: "字段名", type: "input", field: "field" }, { label: "标题", type: "input", field: "label" }, { label: "默认值", type: "radio", field: "componentProps.defaultValue" }, { label: "尺寸", type: "select", componentProps: { placeholder: "请选择", clearable: !0, options: [ { label: "大号", value: "large" }, { label: "中等", value: "default" }, { label: "小型", value: "small" } ] }, field: "componentProps.size" }, { label: "按钮模式", type: "switch", field: "componentProps.radioButton" }, { label: "选项文本颜色", type: "color-picker", layout: "horizontal", field: "componentProps.textColor", show: ({ values: e }) => e.componentProps.radioButton, describe: "按钮模式下生效" }, { label: "选项按钮颜色", type: "color-picker", layout: "horizontal", field: "componentProps.fill", show: ({ values: e }) => e.componentProps.radioButton, describe: "按钮模式下生效" }, { label: "禁用", type: "switch", field: "componentProps.disabled" }, { label: "隐藏", type: "switch", field: "componentProps.hidden" }, { label: "选项管理", type: "EOptionsEditor", layout: "vertical", field: "componentProps.options" }, { label: "表单校验", type: "ERuleEditor", layout: "vertical", field: "rules", describe: "校验规则需要配合表单使用" } ], event: [ { type: "change", describe: "值变化时" } ] } }, Y = { component: () => import("../../checkbox-CZT-ST5e.js"), groupName: "表单", icon: "icon--epic--dialogs-outline-rounded", sort: 860, defaultSchema: { label: "复选框", type: "checkbox", field: "checkbox", input: !0, componentProps: { options: [ { label: "选项1", value: "选项1" }, { label: "选项2", value: "选项2" } ] } }, config: { attribute: [ { label: "字段名", type: "input", field: "field" }, { label: "标题", type: "input", field: "label" }, { label: "默认值", type: "checkbox", field: "componentProps.defaultValue" }, { label: "尺寸", type: "select", componentProps: { placeholder: "请选择", clearable: !0, options: [ { label: "大号", value: "large" }, { label: "中等", value: "default" }, { label: "小型", value: "small" } ] }, field: "componentProps.size" }, { label: "最大选中数", type: "number", field: "componentProps.max", componentProps: { placeholder: "请输入" } }, { label: "最小选中数", type: "number", field: "componentProps.min", componentProps: { placeholder: "请输入" } }, { label: "按钮模式", type: "switch", field: "componentProps.radioButton" }, { label: "选项文本颜色", type: "color-picker", layout: "horizontal", field: "componentProps.textColor", show: ({ values: e }) => e.componentProps.radioButton, describe: "按钮模式下生效" }, { label: "选项按钮颜色", type: "color-picker", layout: "horizontal", field: "componentProps.fill", show: ({ values: e }) => e.componentProps.radioButton, describe: "按钮模式下生效" }, { label: "禁用", type: "switch", field: "componentProps.disabled" }, { label: "隐藏", type: "switch", field: "componentProps.hidden" }, { label: "选项管理", type: "EOptionsEditor", layout: "vertical", field: "componentProps.options" }, { label: "表单校验", type: "ERuleEditor", layout: "vertical", field: "rules", describe: "校验规则需要配合表单使用", componentProps: { ruleType: "array" } } ], event: [ { type: "change", describe: "值变化时" } ] } }, V = { component: async () => (await import("element-plus")).ElSlider, groupName: "表单", icon: "icon--epic--switches", sort: 930, defaultSchema: { label: "滑块", type: "slider", field: "slider", input: !0, componentProps: { placement: "top-start", showTooltip: !0 } }, config: { attribute: [ { label: "字段名", type: "input", field: "field" }, { label: "标题", type: "input", field: "label" }, { label: "默认值", type: "slider", field: "componentProps.defaultValue" }, { label: "尺寸", type: "select", componentProps: { placeholder: "请选择", clearable: !0, options: [ { label: "大号", value: "large" }, { label: "中等", value: "default" }, { label: "小型", value: "small" } ] }, field: "componentProps.size" }, { label: "最小值", type: "number", field: "componentProps.min", componentProps: { placeholder: "请输入" }, onChange: ({ value: e, values: l, componentAttributes: o }) => { const t = o.value.findIndex( (n) => n.field === "componentProps.max" ), p = o.value[t]; p.componentProps = { min: e }, (l.componentProps.max ?? 0) < e && (l.componentProps.max = e); } }, { label: "最大值", type: "number", field: "componentProps.max", componentProps: { placeholder: "请输入" }, onChange: ({ value: e, values: l, componentAttributes: o }) => { const t = o.value.findIndex( (n) => n.field === "componentProps.min" ), p = o.value[t]; p.componentProps = { max: e }, (l.componentProps.min ?? 0) > e && (l.componentProps.min = e); } }, { label: "步长", type: "number", field: "componentProps.step", componentProps: { placeholder: "请输入" } }, { label: "显示间断点", type: "switch", field: "componentProps.showStops" }, { label: "提示信息", type: "switch", field: "componentProps.showTooltip" }, { label: "开启选择范围", type: "switch", field: "componentProps.range" }, { label: "垂直模式", type: "switch", field: "componentProps.vertical" }, { label: "高度", type: "EInputSize", field: "componentProps.height", show: ({ values: e }) => e.componentProps.vertical }, { label: "显示数字框", type: "switch", field: "componentProps.showInput", onChange: ({ value: e, values: l }) => { e && (l.componentProps.showInputControls = !0); } }, { label: "控制按钮", type: "switch", field: "componentProps.showInputControls", show: ({ values: e }) => e.componentProps.showInput }, { label: "提示框位置", type: "select", defaultValue: "bottom-start", componentProps: { options: [ { label: "top", value: "top" }, { label: "top-start", value: "top-start" }, { label: "top-end", value: "top-end" }, { label: "bottom", value: "bottom" }, { label: "bottom-start", value: "bottom-start" }, { label: "bottom-end", value: "bottom-end" }, { label: "left", value: "left" }, { label: "left-start", value: "left-start" }, { label: "left-end", value: "left-end" }, { label: "right", value: "right" }, { label: "right-start", value: "right-start" }, { label: "right-end", value: "right-end" } ] }, field: "componentProps.placement" }, { label: "禁用", type: "switch", field: "componentProps.disabled" }, { label: "隐藏", type: "switch", field: "componentProps.hidden" }, { label: "表单校验", type: "ERuleEditor", layout: "vertical", field: "rules", describe: "校验规则需要配合表单使用", componentProps: { ruleType: "number" } } ], event: [ { type: "input", describe: "拖拽实时触发" }, { type: "change", describe: "拖拽结束改变值时" } ] } }, C = { component: async () => (await import("element-plus")).ElColorPicker, groupName: "表单", icon: "icon--epic--palette-outline", sort: 950, defaultSchema: { label: "颜色选择器", type: "color-picker", field: "color-picker", input: !0 }, config: { attribute: [ { label: "字段名", type: "input", field: "field" }, { label: "标题", type: "input", field: "label" }, { label: "默认值", type: "color-picker", field: "componentProps.defaultValue" }, { label: "尺寸", type: "select", componentProps: { placeholder: "请选择", clearable: !0, options: [ { label: "大号", value: "large" }, { label: "中等", value: "default" }, { label: "小型", value: "small" } ] }, field: "componentProps.size" }, { label: "格式", type: "select", componentProps: { placeholder: "请选择", clearable: !0, options: [ { label: "hsl", value: "hsl" }, { label: "hsv", value: "hsv" }, { label: "hex", value: "hex" }, { label: "rgb", value: "rgb" } ] }, field: "componentProps.colorFormat" }, { label: "透明度选择", type: "switch", field: "componentProps.showAlpha" }, { label: "禁用", type: "switch", field: "componentProps.disabled" }, { label: "隐藏", type: "switch", field: "componentProps.hidden" }, { label: "表单校验", type: "ERuleEditor", layout: "vertical", field: "rules", describe: "校验规则需要配合表单使用" } ], event: [ { type: "change", describe: "值变化时" } ], action: [] } }, S = { component: async () => (await import("element-plus")).ElSwitch, groupName: "表单", icon: "icon--epic--toggle-off-outline", sort: 930, defaultSchema: { label: "开关", type: "switch", field: "switch", input: !0, componentProps: { defaultValue: !1 } }, config: { attribute: [ { label: "字段名", type: "input", field: "field" }, { label: "标题", type: "input", field: "label" }, { label: "默认值", type: "switch", field: "componentProps.defaultValue" }, { label: "ON状态值", type: "input", field: "componentProps.activeValue", componentProps: { placeholder: "请输入" }, onChange(e) { setTimeout(() => a(e)); } }, { label: "OFF状态值", type: "input", field: "componentProps.inactiveValue", componentProps: { placeholder: "请输入" }, onChange(e) { setTimeout(() => a(e)); } }, { label: "ON状态描述", type: "input", field: "componentProps.activeText", componentProps: { placeholder: "请输入" } }, { label: "OFF状态描述", type: "input", field: "componentProps.inactiveText", componentProps: { placeholder: "请输入" } }, { label: "尺寸", type: "select", componentProps: { placeholder: "请选择", clearable: !0, options: [ { label: "大号", value: "large" }, { label: "中等", value: "default" }, { label: "小型", value: "small" } ] }, field: "componentProps.size" }, { label: "宽度", type: "number", field: "componentProps.width", componentProps: { min: 50, placeholder: "请输入" } }, { label: "文本点内显示", type: "switch", field: "componentProps.inlinePrompt" }, { label: "禁用", type: "switch", field: "componentProps.disabled" }, { label: "隐藏", type: "switch", field: "componentProps.hidden" }, { label: "表单校验", type: "ERuleEditor", layout: "vertical", field: "rules", describe: "校验规则需要配合表单使用", componentProps: { ruleType: "boolean" } } ], event: [ { type: "change", describe: "状态发生变化时" } ] } }; function a(e) { var o; let l = ((o = e.values.componentProps) == null ? void 0 : o.inactiveValue) || !1; e.values.componentProps.unCheckedValue === "" && delete e.values.componentProps.unCheckedValue, e.values.componentProps.activeValue === "" && delete e.values.componentProps.activeValue, e.values.componentProps ? e.values.componentProps.defaultValue = l : e.values.componentProps = { defaultValue: l }; } const k = { component: async () => (await import("element-plus")).ElCascader, groupName: "表单", icon: "icon--epic--full-coverage-outline", sort: 900, defaultSchema: { label: "级联选择器", type: "cascader", field: "cascader", input: !0, componentProps: { options: [ { label: "选项1", value: "选项1" }, { label: "选项2", value: "选项2" } ], placeholder: "请选择", props: { expandTrigger: "click" } } }, config: { attribute: [ { label: "字段名", type: "input", field: "field" }, { label: "标题", type: "input", field: "label" }, { label: "默认值", type: "cascader", field: "componentProps.defaultValue" }, { label: "占位内容", type: "input", field: "componentProps.placeholder" }, { label: "尺寸", type: "select", componentProps: { placeholder: "请选择", clearable: !0, options: [ { label: "大号", value: "large" }, { label: "中等", value: "default" }, { label: "小型", value: "small" } ] }, field: "componentProps.size" }, { label: "分割符", type: "input", componentProps: { placeholder: "请输入" }, field: "componentProps.separator" }, { label: "次级菜单展开方式", type: "select", field: "componentProps.props.expandTrigger", componentProps: { placeholder: "请选择", clearable: !0, options: [ { label: "click", value: "click" }, { label: "hover", value: "hover" } ] } }, { label: "可搜索", type: "switch", field: "componentProps.filterable" }, { label: "可多选", type: "switch", field: "componentProps.props.multiple", onChange: ({ value: e, values: l }) => { e ? l.componentProps.defaultValue = [] : l.componentProps.defaultValue = null; } }, { label: "折叠Tag", type: "switch", field: "componentProps.collapseTags", show: ({ values: e }) => e.componentProps.props.multiple }, { label: "显示被折叠标签", type: "switch", field: "componentProps.collapseTagsTooltip", show: ({ values: e }) => e.componentProps.props.multiple && e.componentProps.collapseTags }, { label: "不显示路径", type: "switch", componentProps: { activeValue: !1, inactiveValue: !0 }, field: "componentProps.showAllLevels" }, { label: "父级可选", type: "switch", field: "componentProps.props.checkStrictly", describe: "父子节点不互相关联" }, { label: "只获取选中节点", type: "switch", field: "componentProps.props.emitPath", componentProps: { activeValue: !1, inactiveValue: !0 } }, { label: "可清空", type: "switch", field: "componentProps.clearable" }, { label: "禁用", type: "switch", field: "componentProps.disabled" }, { label: "隐藏", type: "switch", field: "componentProps.hidden" }, { label: "选项管理", type: "EOptionsEditor", layout: "vertical", field: "componentProps.options", componentProps: { tree: !0 }, describe: "配置选项" }, { label: "表单校验", type: "ERuleEditor", layout: "vertical", field: "rules", describe: "校验规则需要配合表单使用", componentProps: { ruleType: "array" } } ], event: [ { type: "change", describe: "选中节点变化时" }, { type: "blur", describe: " 当失去焦点时触发" }, { type: "focus", describe: "当获得焦点时触发" } ], action: [ { type: "getCheckedNodes", describe: "获取当前选中节点" }, { type: "togglePopperVisible", describe: "切换 popper 可见状态" } ] } }, T = { component: () => import("../../collapse-I4H1VTFf.js"), icon: "epic-icon-xiala", defaultSchema: { label: "折叠面板", type: "collapse", children: [ { type: "collapse-item", children: [], componentProps: { span: 12 }, id: "g062zikd2jk001" }, { type: "collapse-item", children: [], componentProps: { span: 12 }, id: "gy5z9jtfb3s001" } ] }, config: { attribute: [ { label: "折叠项管理", type: "EColEditor", field: "children" }, { label: "隐藏", type: "switch", field: "componentProps.hidden" } ] } }, I = { component: () => import("../../collapseItem-CW_HTWvE.js"), defaultSchema: { label: "折叠项", type: "collapse-item", children: [] }, config: { attribute: [] } }, z = { component: async () => (await import("element-plus")).ElDatePicker, groupName: "表单", icon: "icon--epic--calendar-month-outline-rounded", sort: 910, defaultSchema: { label: "日期选择器", type: "date", field: "date", input: !0, componentProps: { type: "date", valueFormat: "YYYY-MM-DD", format: "YYYY-MM-DD", placeholder: "请选择", startPlaceholder: "请选择", endPlaceholder: "请选择" } }, config: { attribute: [ { label: "字段名", type: "input", field: "field" }, { label: "标题", type: "input", field: "label" }, { label: "默认值", type: "date", field: "componentProps.defaultValue" }, { label: "日期类型", type: "select", field: "componentProps.type", componentProps: { options: [ { label: "日期", value: "date" }, { label: "周", value: "week" }, { label: "月份", value: "month" }, { label: "年份", value: "year" }, { label: "时间", value: "datetime" }, { label: "时间范围", value: "datetimerange" }, { label: "日期范围", value: "daterange" }, { label: "月份范围", value: "monthrange" }, { label: "多个日期", value: "dates" } ] }, onChange({ values: e, value: l }) { e.componentProps.defaultValue = null, ["date", "daterange", "dates"].includes(l) ? (e.componentProps.format = "YYYY-MM-DD", e.componentProps.valueFormat = "YYYY-MM-DD") : ["week"].includes(l) ? (e.componentProps.format = "ww [周]", e.componentProps.valueFormat = "YYYY-MM-DD") : ["month", "monthrange"].includes(l) ? (e.componentProps.format = "YYYY-MM", e.componentProps.valueFormat = "YYYY-MM") : ["datetime", "datetimerange"].includes(l) ? (e.componentProps.format = "YYYY-MM-DD HH:mm:ss", e.componentProps.valueFormat = "YYYY-MM-DD HH:mm:ss") : ["year"].includes(l) && (e.componentProps.format = "YYYY", e.componentProps.valueFormat = "YYYY"); } }, { label: "开始占位符", type: "input", field: "componentProps.startPlaceholder", show({ values: e }) { return ["datetimerange", "daterange", "monthrange"].includes( e.componentProps.type ); } }, { label: "结束占位符", type: "input", field: "componentProps.endPlaceholder", show({ values: e }) { return ["datetimerange", "daterange", "monthrange"].includes( e.componentProps.type ); } }, { label: "占位内容", type: "input", field: "componentProps.placeholder", show({ values: e }) { return !["datetimerange", "daterange", "monthrange"].includes( e.componentProps.type ); } }, { label: "尺寸", type: "select", defaultValue: "default", componentProps: { placeholder: "请选择", clearable: !0, options: [ { label: "大号", value: "large" }, { label: "中等", value: "default" }, { label: "小型", value: "small" } ] }, field: "componentProps.size" }, { label: "可输入", type: "switch", field: "componentProps.editable" }, { label: "显示格式", type: "input", field: "componentProps.format" }, { label: "数据格式", type: "input", field: "componentProps.valueFormat" }, { label: "分割符", type: "input", field: "componentProps.rangeSeparator", componentP