ai-form-designer
Version:
vue3+adv的设计器,可视化开发页面表单
2,330 lines • 58.4 kB
JavaScript
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