gepic
Version:
基于vue3的设计器,可视化开发页面表单
272 lines (271 loc) • 7.14 kB
JavaScript
const t = {
component: () => import("./datePicker.js"),
groupName: "表单",
icon: "icon--epic--calendar-month-outline-rounded",
sort: 910,
defaultSchema: {
label: "日期选择器",
type: "date",
field: "date",
input: !0,
componentProps: {
valueFormat: "YYYY-MM-DD",
format: "YYYY-MM-DD",
type: "date",
placeholder: "请选择"
}
},
config: {
attribute: [
{
label: "字段名",
type: "input",
field: "field"
},
{
label: "标题",
type: "input",
componentProps: {
placeholder: "请输入"
},
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: "quarter"
},
{
label: "年份",
value: "year"
},
{
label: "日期范围",
value: "daterange"
},
{
label: "周范围",
value: "weekrange"
},
{
label: "月份范围",
value: "monthrange"
},
{
label: "季度范围",
value: "quarterrange"
},
{
label: "年份范围",
value: "yearrange"
}
]
},
changeSync: !0,
onChange({ values: e, value: o }) {
e.componentProps.defaultValue = null, [
"daterange",
"weekrange",
"monthrange",
"yearrange",
"quarterrange"
].includes(o) ? e.componentProps.placeholder = ["请输入", "请输入"] : e.componentProps.placeholder = "请输入", ["date", "daterange"].includes(o) ? (e.componentProps.format = "YYYY-MM-DD", e.componentProps.valueFormat = "YYYY-MM-DD") : ["week", "weekrange"].includes(o) ? (e.componentProps.format = "ww [周]", e.componentProps.valueFormat = "YYYY-MM-DD") : ["month", "monthrange"].includes(o) ? (e.componentProps.format = "YYYY-MM", e.componentProps.valueFormat = "YYYY-MM") : ["quarter", "quarterrange"].includes(o) ? (e.componentProps.format = "YYYY-Q季度", e.componentProps.valueFormat = "YYYY-Q季度") : ["year", '"yearrange"'].includes(o) && (e.componentProps.format = "YYYY", e.componentProps.valueFormat = "YYYY");
}
},
{
label: "增加时间选择",
type: "switch",
field: "componentProps.showTime",
onChange: ({ value: e, values: o }) => {
e ? (o.componentProps.valueFormat = "YYYY-MM-DD HH:mm:ss", o.componentProps.format = "YYYY-MM-DD HH:mm:ss") : (o.componentProps.valueFormat = "YYYY-MM-DD", o.componentProps.format = "YYYY-MM-DD");
},
show({ values: e }) {
return ["date", "daterange"].includes(e.componentProps.type);
}
},
{
label: "占位内容",
type: "input",
field: "componentProps.placeholder",
componentProps: {
placeholder: "请输入"
},
show: ({ values: e }) => ![
"daterange",
"weekrange",
"monthrange",
"yearrange",
"quarterrange"
].includes(e.componentProps.type)
},
{
label: "开始占位符",
type: "input",
componentProps: {
placeholder: "请输入"
},
field: "componentProps.placeholder.0",
show: ({ values: e }) => [
"daterange",
"weekrange",
"monthrange",
"yearrange",
"quarterrange"
].includes(e.componentProps.type)
},
{
label: "结束占位符",
type: "input",
componentProps: {
placeholder: "请输入"
},
field: "componentProps.placeholder.1",
show: ({ values: e }) => [
"daterange",
"weekrange",
"monthrange",
"yearrange",
"quarterrange"
].includes(e.componentProps.type)
},
{
label: "显示格式",
type: "input",
componentProps: {
placeholder: "请输入"
},
field: "componentProps.format"
},
{
label: "数据格式",
type: "input",
componentProps: {
placeholder: "请输入"
},
field: "componentProps.valueFormat"
},
{
label: "尺寸",
type: "select",
componentProps: {
placeholder: "请选择",
allowClear: !0,
options: [
{
label: "大号",
value: "large"
},
{
label: "中等",
value: "middle"
},
{
label: "小型",
value: "small"
}
]
},
field: "componentProps.size"
},
{
label: "弹出框位置",
type: "select",
componentProps: {
placeholder: "请选择",
allowClear: !0,
options: [
{
label: "bottomLeft",
value: "bottomLeft"
},
{
label: "bottomRight",
value: "bottomRight"
},
{
label: "topLeft",
value: "topLeft"
},
{
label: "topRight",
value: "topRight"
}
]
},
field: "componentProps.placement"
},
{
label: "无边框",
type: "switch",
componentProps: {
checkedValue: !1,
unCheckedValue: !0
},
field: "componentProps.bordered"
},
{
label: "禁止键盘输入",
type: "switch",
field: "componentProps.inputReadOnly"
},
{
label: "可清空",
type: "switch",
field: "componentProps.allowClear"
},
{
label: "禁用",
type: "switch",
field: "componentProps.disabled"
},
{
label: "隐藏",
type: "switch",
field: "componentProps.hidden"
},
{
label: "表单校验",
type: "ERuleEditor",
layout: "vertical",
field: "rules",
describe: "校验规则需要配合表单使用"
}
],
event: [
{
type: "change",
describe: "值变化时"
},
{
type: "ok",
describe: "点击确定按钮时"
}
]
},
bindModel: "modelValue"
};
export {
t as default
};