动态页面配置

通过选择业务类型获取搜索配置和列表配置动态生成页面,数据格式例如:

1
2
3
4
5
6
7
8
[
{
bizType:'orderList', // 业务类型value
bizTypeName:'订单列表查询', // 业务类型名称
autoRequest: true, // 页面生成完是否自动发送请求
pageOption: {searchOption:{},columnOption:{}} // 页面搜索和展示配置
}
]

搜索配置(searchOption)

  1. 先看示例
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    {
    formItems: [
    {prop:'orgName',label:'服务商名称',type:'select-filter',dictName:'orgNameDic',placeholder:'请输入服务商名称',maxLength:100,width:'200'},
    {prop:'projectCode',label:'项目编号',type:'input',width:'200'},
    {prop:'blackFlag',label:'黑名单标志',type:'select',dictName:'yesOrNo',width:'200'},
    {prop:'startDate',label:'开始日期',type:'date',width:'200'},
    {prop:'startDatetime',label:'开始时间',type:'datetime',width:'200'},
    {prop:'startMonth',label:'开始月份',type:'month',width:'200'},
    {prop:'startTime',label:'开始时分',type:'time',width:'200'},
    ],
    commOpts: [
    {click:this.add,label:'新增',if:()=>{return [是否有权限]}},
    {click:this.upload,label:'批量导入',if:true}
    ],
    dicts: {
    yesOrNo: this.commonDicts.yesOrNo,
    orgNameDic: this.TODO
    }
    }
  2. 搜索字段集合(formItems)
  • prop:属性名
  • label:属性中文名
  • type:搜索属性的类别(select:选择框,select-filter:带filter功能的选择框,select-create:带创建条目功能的选择框,input:输入框,date:格式为YYYY-MM-DD的日期,datetime:格式为YYYY-MM-DD HH:mm:ss的日期,month:月份,time:格式为HH:ss的日期)
  • dictName:字典项对应的取值名
  • dictSource: 字典项来源(pvfin:pvfin端,pvsp:pvsp端),默认:’pvfin’
  • placeholder:输入框提示信息
  • maxLength:输入框最大长度
  • width:输入框宽度(默认200)
  • disabled:是否禁用(默认false)
  • selectOpts:当type为选择框时启用。默认{multiple: false, valueType: ‘String’},如果想设置选择框可多选且返回值为“,”分割的字符串,可设置为{multiple: true, valueType: ‘String’}
  1. 通用操作集合(commOpts)
    目前无用
  2. 属性集合对应的字典提供者(dicts)
    目前无用

列表配置(columnOption)

  1. 先看示例
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    {
    cols: [
    {prop:'orgName',label:'服务商名称',width:'150',fixed:true},
    {prop:'projectCode',label:'项目编号',minWidth:'150',align:'center'},
    {prop:'financeAmount',label:'融资金额(元)',type:'money',defaultVal:0},
    {prop:'blackFlag',label:'黑名单标志',type:'dict',dictName:'yesOrNo'},
    {prop:'startDate',label:'开始日期',type:'date'},
    {prop:'startDatetime',label:'开始时间',type:'datetime'},
    {prop:'startMonth',label:'开始月份',type:'text'},
    {prop:'startMonth',label:'开始月份',type:'time'}
    ],
    sumCols:['financeAmount']
    opts:{
    width:'200',
    actions: [{label:'详情',if:true,click:{function:'getDetail',param:''}}]
    },
    dicts: {
    yesOrNo: this.commonDicts.yesOrNo,
    orgNameDic: this.TODO
    }
    }
  2. 列表字段集合(cols)
  • prop:属性名
  • label:属性中文名
  • width:列表对应的宽度(默认150)
  • minWidth:列表对应的最小宽度(此属性为比例)
  • fixed:列是否固定不可移动
  • align:列表水平布局(center:居中,left左对齐,right:又对齐)
  • type:列表的类别(money:金额,dict:字典值,text:默认值,date:格式为YYYY-MM-DD的日期,datetime:格式为YYYY-MM-DD HH:mm:ss的日期,month:月份,time:格式为HH:ss的日期)
  • dictName:字典字段对应的取值名
  • dictSource: 字典项来源(pvfin:pvfin端,pvsp:pvsp端),默认:’pvfin’
  • defaultVal:默认值
  1. 合计计算集合(sumCols)
  2. 行操作集合(opts)
    目前无用
  3. 列表集合对应的字典提供者(dicts)
    目前无用