/**
* 表现形式常量定义
* @author cls
* @date 2021-05-16
* import { $ViewStyle } from "@birt/funclib/ViewStyle";
*/
export const $ViewStyle = {
// 单选枚举,按钮
RADIOGROUP: (fieldConf, childConf, controlName) => {
let viewStyle = childConf.viewStyle;
let HcRadioGroup = {
controlName: "HcRadioGroup",
size: "small"
}
return Object.assign(HcRadioGroup, viewStyle || {});
},
// 系统枚举查找
LKSYSENUMS: (fieldConf, childConf, controlName) => {
let lookupConf = fieldConf.lookup;
let hcSelect = {
controlName: "HcSelect",
loadOnce: true,
option: {
labelField: "foptionname",
valueField: "foptionvalue",
},
style: "width: 100%;"
};
if (childConf._isFilterEditor) {
hcSelect.clearable = true;
hcSelect.filterable = true;
}
if (lookupConf.showValue) {
hcSelect.children = [
{
controlName: "HcSpan",
slot: "option",
title: function () {
return this.scope.foptionname;
},
style: "float:left;",
},
{
controlName: "HcSpan",
slot: "option",
title: function () {
return this.scope.foptionvalue;
},
style: "float:right;",
},
]
}
return Object.assign(hcSelect, lookupConf || {});
},
// 数据查找,下拉查找
LKDATADROPDOWN: (fieldConf, childConf, controlName) => {
return {
controlName: "HcSelect",
clearable: true,
filterable: true,
option: fieldConf.lookup.option,
lookup: fieldConf.lookup
}
},
// 数据查找,弹出查找
LKDATADIALOG: (fieldConf, childConf, controlName) => {
return Object.assign({
controlName: "HcLookup",
}, fieldConf.lookup)
},
// 字符串文本编辑器
INPUT: (fieldConf, childConf, controlName) => {
let hcInput = {
controlName: "HcInput",
clearable: true
};
if (childConf.suffix) {
hcInput.clearable = false;
hcInput.suffix = childConf.suffix;
hcInput.children = [
{ controlName: "HcSpan", slot: "suffix", title: childConf.suffix }
]
}
return hcInput;
},
// 整数编辑器
INPUTINT: (fieldConf, childConf, controlName) => {
return {
controlName: "HcInputNumber",
controlsPosition: "right",
style: "width:100%;"
}
},
// 数值型编辑器带单位
INPUTNUMBER: (fieldConf, childConf, controlName) => {
let hcInput = $ViewStyle.INPUT(fieldConf, childConf, controlName);
hcInput.oninput = "value=value.replace(/[^0-9.]/g,'')";
return hcInput;
},
// 整型布尔型,复选框
CHECKBOXINT: (fieldConf, childConf, controlName) => {
return {
controlName: "HcCheckbox",
trueLabel: 1,
falseLabel: 0
}
},
// true,false 布尔型,复选框
CHECKBOXBOOLEAN: (fieldConf, childConf, controlName) => {
return {
controlName: "HcCheckbox"
}
},
// 多行文本
TEXTAREA: (fieldConf, childConf, controlName) => {
return Object.assign({
controlName: "HcInput",
type: "textarea",
rows: 3
}, childConf.viewStyle || {})
},
// 对话框多行文本
TEXTDIALOG: (fieldConf, childConf, controlName) => {
return {
controlName: "HcTextDialog",
}
},
// 日期时间选择器
DATEPICKER: (fieldConf, childConf, controlName) => {
return {
controlName: "HcDatePicker",
style: "width:100%;"
}
},
// 日期范围选择器
DATERANGE: (fieldConf, childConf, controlName) => {
return {
controlName: "HcDateRange",
}
},
// 上传图片、头像
UPLOADAVATAR: (fieldConf, childConf, controlName) => {
return {
controlName: "HcUpload",
accept: "",
showFileList: false,
withCredentials: true,
autoUpload: true,
avatar: true,//为true时是图片上传组件
previewUrl: "/file/review?relativePath=",
postUrl: "/file/upload",
action: "",
beforeUpload: function (file) {
console.log(file)
},
onPreview: function (file) {
console.log(file);
},
onRemove: function (file, fileList) {
console.log(file, fileList);
},
beforeRemove: function (file, fileList) {
return this.$confirm(`确定移除 ${file.name}?`);
},
onExeceed: function (files, fileList) {
}
}
},
// 级联
CASCADER: (fieldConf, childConf, controlName) => {
return {
controlName: "HcCascader",
style: fieldConf.style,
options: fieldConf.options,
value: [],
events: {
change: function (val) {
console.log(val + "," + this.value);
},
},
style: "width: 100%;"
}
},
// 必填标签
REQUIRED: (childConf) => {
childConf.children = [
{
controlName: "HcSpan",
title: childConf.value
},
{
controlName: "HcSpan",
title: "*",
style: "color:red;"
}
]
return childConf;
}
};