tg-turing
Version:
turing components
211 lines (177 loc) • 6.22 kB
Markdown
该组件配套turing的视图定义使用
default段必须存在,它作为基础属性会与以下其他的视图定义做合并输出
一般只定义 caption、hidden、format 属性
```js
let views = {
"default": {
...
},
"平铺表单:form": {
"WID": {},
"XSBH": {},
"XH": {},
"XM": {},
...
}
}
```
运行时格式为:
```js
[
{"name":"WID","xtype":"text","caption":"WID"},
{"name":"XSBH","xtype":"text","caption":"登录名","dataSize":40}
...
]
```
```js
let views = {
"default": {
...
},
"分组表单:form": {
"WID": {"xtype": "text","dataSize": 40},//定义在外部的字段,显示时会被忽略
"group:[个人基本信息]":{
desc:"~个人基本信息~",
items:{
"XSBH": {"xtype": "text","dataSize": 40},
"XMPY": {"dataSize": 120},
"XBDM": {"dict":dict("XBDM->性别"),"xtype": "buttonlist","dataSize": 1},
"CSRQ": {"xtype": "date-local","dataSize": 10},
...
}
},
"group:[学籍信息]":{
desc:"~学籍信息~",
items:{
"XJZTDM": {"url": "/axsfw/code/12eb4f7c-69a1-41c2-b21e-c99fe850264a.do","xtype": "select","dataSize": 6},
"YJBYRQ": {"xtype": "date-local","dataSize": 30},
...
}
},
"group:[入学信息]":{
desc:"~入学信息~",
items:{
"KSH": {"xtype": "text","dataSize": 20},
"KSLBDM": {"url": "/axsfw/code/acc2e70d-21d8-48fd-8c11-762fb2d01c47.do","xtype": "select","dataSize": 10},
"KM5FS": {"xtype": "text","dataSize": [5,2]},
...
}
},
}
}
```
运行时格式为:
```js
[
{
"name":"group:[个人基本信息]",
"title":"个人基本信息",
"desc":"~个人基本信息~",
"items":[
{"name":"XSBH","xtype":"text","caption":"登录名","dataSize":40}
...
]
},{
"name":"group:[学籍信息]",
"title":"学籍信息",
"desc":"~学籍信息~",
"items":[
{"name":"XJZTDM","url": "/axsfw/code/12eb4f7c-69a1-41c2-b21e-c99fe850264a.do","xtype": "select","dataSize": 6}
...
]
},
...
]
```
| 属性 | 描述 | 数据类型 | 默认值 |
| :--- | :--- | :--- | :--- |
| caption | 显示文字 | String | 空 |
| hidden | 是否隐藏 | Boolean | false |
| format | 前端只读文本格式化 | String | 空 |
format:日期、数字、金额,或字符串格式化,因效率一般通过后端处理
| 属性 | 描述 | 数据类型 | 默认值 |
| :--- | :--- | :--- | :--- |
| width | 列宽 | Number | 空 |
| isFixed | 固定列 | Boolean | 空 |
| 属性 | 描述 | 数据类型 | 默认值 |
| :--- | :--- | :--- | :--- |
| xtype | 显示控件类型 | Enum | text |
| required | 必填 | Boolean | false |
| url | 远程数据地址 | String | 空 |
| fullrow | 占满一行 | Boolean | false |
| placeholder | 提示文字 | String | 空 |
| options | 数据选项 | Array | 空 |
| default | 默认值 | String | 空 |
| dataSize | 最大长度校验值 | Integer | 空 |
| checkType | 校验类型 | Enum | 空 |
| params | 传递个实际组件的参数 | Object | 空 |
xtype 控件类型枚举
| 属性 | 描述 | 特征 |
| :--- | :--- | :--- |
| select | 单选下拉 | 大量数据,远程搜索,展开,字典映射 |
| multi-select | 多选下拉 | |
| autocomplete | 下拉表格/模糊搜索 | 大数据量,远程搜索,展开,补全选择内容 |
| date-ym | 年月选择框, 默认 yyyy-MM | 年月 |
| date-local | 日期选择框, 默认 yyyy-MM-dd | 年月日 |
| date-full | 日期时间选择框, 默认 yyyy-MM-dd HH:mm | 年月日时分 |
| date-range | 日期范围选择, 默认 yyyy-MM-dd | 年月日,开始、结束 |
| radiolist | 单选按钮组 | 平铺,适用极少选项,字典映射 |
| checkboxlist | 多选按钮组 | 平铺,适用极少选项,字典映射 |
| tree | 单选下拉树 | 展开,大量数据,树状结构,字典映射 |
| multi-tree | 多选下拉树
| switcher | 开关
| buttonlist | 单选按钮组
| multi-buttonlist | 多选按钮组
| textarea | 计数文本域
| number | 数字文本框
| number-range | 数字区间
| uploadfile | 文件上传
| uploadsingleimage | 单图片上传
| uploadmuiltimage | 多图片上传
| text | 文本
| div | div占位
| static | 表单静态字段
以上标准配置由该适配器内部实现属性转换。如果超出的属性,可以直接在模型上定义所需属性,如 minWidth 属性
```js
"默认列表:table": {
id: { },
name: { minWidth:150 },
pId: {},
},
```
```js
console.log(new Dept().view("默认列表:form"));
[
{"caption":"编号","title":"编号","key":"id","minWidth":120},
{"caption":"名称","title":"名称","key":"name","minWidth":150},
{"caption":"父级部门编号","title":"父级部门编号","key":"pId","minWidth":120}
]
```
```js
console.log(new Dept().view("默认表单:form"));
[
{"caption":"编号","name":"id"},
{"caption":"名称","name":"name","placeholder":"请填写"},
{"caption":"父级部门编号","name":"pId","xtype":"select"}
]
```
```js
var data = [
{"id": "1","name": "党群组织","pId": "","isParent": 1},
{"id": "000010","name": "党群组织/工会","pId": "1","isParent": 0},
{"id": "000012","name": "行政部门/校长办公室","pId": "3","isParent": 1}
]
console.log(iviewAdapter("tree", data, {ukey:"id", pkey:'pId', root: "", label:"name"}))
```