表格配置属性说明文档
目录
1、页面添加引用:
import BaseTable from '@/components/BaseTable/index.vue
2、gridConfig表格配置说明:
该配置主要控制页面表格显示列。(页面需要显示哪些字段名)
属性 | 说明 | 示例 |
---|
label | 列显示名称(显示的列名) | 项目名称 | prop | 对象Bean属性名(列名对应的属性名) | name | align | 字段显示的位置(如字段要显示要居中显示还是居左居右)。字典表居中,数值居右,时间居中,图片居中字段比较多的话就居左 | align:‘center’ | isShow | 表示表格字段是否展示(默认为true),false表示不展示 | isShow:’false’ | width | 表示当前字段表格的所占的宽度 | width:10px’ | render | 具体看下面的例子 | | Type | 如要显示图片type:’image’ | type:’image’ | link | | | fixed | 固定列表栏不滑动fixed: ‘right’, | fixed: ‘right’, |
render 表格中对字段 的样式及点击事件进行自定义操作
gridConfig: [{
label: '当事人',
prop: 'conpanyDisplay',
minWidth: '20%',
render: (h, params) => {
return h('el-button', {
props: {
type: 'text'
},
class: {
'custom-table-button': true
},
style: { `对表格字段样式进行操作`
color: params.row.urgentType == '1' ? '#FFBB00' : '#EA3737'
},
on: { `对字段触发点击事件`
click: (item) => {
that.viewnew(params.row)
}
}
}, params.row.conpanyDisplay)
}
},
}]
3、queryConfig配置说明:
该配置主要控制表格查询条件显示(配置查询按钮)
属性 | 说明 | 示例 |
---|
span | 默认24(想要一列显示两行就改成12,改成8就是一列显示三行) | | label | 查询控件显示说明(按钮显示名字,如按姓名查询则按钮的名字可以是:姓名) | 项目名称 | prop | 对象Bean属性名(按钮显示名字对应的字段名,如果按姓名查询就要对应姓名这个字段) | name | type | 控件显示类型,text:文本框,select下拉框,mul_select多选下拉框,tree下拉树, mul_tree多选下拉树,date 日期,datetime 日期时间,month:月度,dateRange:,radio单选框,checkbox:复选框,textarea大文本,editor富文本,headerImage头像图片,files多文件上 | type:‘select’,查询条件不要使用textarea,editor等无意义控件 | dataScource | 下拉框,下拉树等对应字典表配置ID,来源于代码生成处的字典表管理(当查询时需要字典表或者联表查询时需要这个属性,填写的内容为字典表关联的Id) | dataScource:‘1d5e3da8d5466678470dd91 03aa0436b’ | data | 下拉框,下拉树等默认数据,一般不用关注(当下拉框数据不是从数据库查询的,是死的时候才会填写内容) | | url | 下拉框,下拉树等来源URL,属于自定义属性,如果dataScource不为空,则不用url(用于复杂的联表查询,当字典表无法实现时我要手写查询代码,并且把controller地址填写上) | | placeholder | 查询控制显示说明如果这个为空就会选择label属性来显示控制说明 | Placeholder:’请输入名称 ’ | clearable | 是否显示下拉框以及时间选择框里的小x图标,点击x可以清空输入框(如果为false就不显示) | Clearable:false |
4、formConfig配置说明:
该属性配置主要用于表单显示(比如增加,修改跳出来的表单需要显示的字段)。
属性 | 说明 | 示例 |
---|
span lg sm | 该属性主要用于每个控件所占列表,一行分为24个单元格,一行显示1个控件配置为24, 一行显示2个控件配置为12,以此类推 lg 表示1200=<分辨率<1920采用的列数 sm:表示小于1200分辨率采用的列数 span表示>=1920采用的列数, 如果没有配置lg、sm属性,则 span是全部分辨率采用的唯一属性标准 | span:8,lg:12,sm:24 | label | 表单每个控件显示的名字 | name:‘项目名称’ | prop | 对应的数据实体Bean属性名称 | prop:‘projectName’ | type | 控件显示类型:text:文本框,select下拉框,mul_select多选下拉框,tree下拉树, mul_tree多选下拉树,password密码框, date 日期,datetime 日期时间,month:月度,radio单选框,checkbox:复选框,textarea大文本,editor富文本,headerImage头像图片,files多文件上,openSelect根据查询选择获取数据,colorPicker选取颜色框,rate设置类似评论星数,switch开关按钮,slider进度条拉取,integer整数数字输入框,decimal带有小数的输入框, | lg:12,dataScource | data | 下拉框,下拉树等默认数据,一般不用关注 | {“id”: “1”,label: “已通过”} | url | 下拉框,下拉树等来源URL,属于自定义属性,如果dataScource不为空,则 | } | disabled | 是否可以填写内容(默认为false,若改成true则表示这个输入框禁止填写) | disabled:true | placeholder | 查询控制显示说明如果这个为空就会选择label属性来显示控制说明 | Placeholder:’请输入名称 ’ | ready | | | tree | tree标签配置属性 | disableBranch:true 禁用非叶子节点customLabel:true 表示自定义label,选中后默认显示从子向上所有节点名称 |
form表单内根据( pId:‘sourceUserType’,)字段判断 值( showByPValue:[‘1’],)是否显示
`pId:'partyType',
isShow:false,
showByPValue:['1'],`
例如:
{
span: 24,
label: '单位/公民',
prop: 'sourceUserType',
type: 'radio',
rules: [{
required: true,
message: '请输入单位/公民',
trigger: 'change'
}, ],
data: [{
label: "单位",
id: 1,
},
{
label: "公民",
id: 2,
},
],
},
{
span: 24,
label: '单位名称',
pId:'sourceUserType',
isShow:false,
showByPValue:['1'],
prop: 'companyId',
type: 'text',
max: 40,
rules: [{
required: true,
message: '请输入当事人单位名称',
trigger: 'blur'
}, ],
data: []
},
{
span: 24,
label: '联系电话',
prop: 'citizenTel',
type: 'text',
max: 18,
rules: [{
required: true,
message: '请输入联系电话',
trigger: 'blur'
}, ],
data: []
},
createQueryEntity 方法的使用例子 和解析
protected QueryEntity createQueryEntity(){
QueryEntity queryEntity=new QueryEntity();
List<String> ids=CollUtil.newArrayList();
List<String> propertys=CollUtil.newArrayList();
List<String> mulFields=CollUtil.newArrayList();
List<String> mulPropertys=CollUtil.newArrayList();
ids.add("839e57d051fb308f2a969afa6f2552af");
propertys.add("hotelName");
mulPropertys.add("hotelName");
ids.add("22fac8cd28f3cb580f4803ae0b2172b1");
propertys.add("scenicName");
mulPropertys.add("scenicName");
ids.add("1a6760484add3f2c1fd8c7530fa98cda");
propertys.add("diningName");
mulPropertys.add("diningName");
ids.add("007dace1b75518bcba54c19bb0581617");
propertys.add("status");
queryEntity.setIds(ids);
queryEntity.setPropertys(propertys);
queryEntity.setMulPropertys(mulPropertys);
queryEntity.setMulFields(mulFields);
queryEntity.setMulPropertysComing(true);
queryEntity.setSingleFilePropertys(CollUtil.newArrayList("image"));
queryEntity.setFilePropertys(CollUtil.newArrayList("image"));
queryEntity.setTreePropertys(CollUtil.newArrayList(new QueryTreeEntity("fountain", "45a3421d4263a23dc2eb3956bbe50a48")));
}
封装字典表 和查询字典表 例子:
@ApiOperation(value = "获取评分标准下拉框列表")
@GetMapping("scoringCriteria/{id}")
public ResponseData<Map<String, Object>> dicts(@PathVariable("id") String id,Integer index) {
QueryWrapper<ScoringCriteria> queryWrapper = new QueryWrapper<>();
if(StrUtil.isNotBlank(id)) {
queryWrapper.eq("check_type", id);
}
queryWrapper.orderByAsc("create_time");
List<ScoringCriteria> list = this.scoringCriteriaService.list(queryWrapper);
List<SelectNode> dictList = CollUtil.newArrayList();
if (CollUtil.isNotEmpty(list)) {
for (ScoringCriteria scoringCriteria : list) {
SelectNode selectNode = new SelectNode();
selectNode.setId(scoringCriteria.getId());
selectNode.setLabel(scoringCriteria.getScoringCriteria());
dictList.add(selectNode);
}
}
Map<String, Object> map = MapUtil.newHashMap();
map.put("index", index);
map.put("data", dictList);
return ResponseData.success(map);
}
@ApiOperation(value = "获取绿地名称")
@GetMapping("landInfo")
public ResponseData<List<BaseDict>> dictLandName(Integer index) {
List<BaseDict> dictList = baseDictService.selectByTableName("t_green_dict_deduction_money");
return ResponseData.success(dictList);
}
5、gridTopBtnConfig配置说明:
该配置表示按钮紧随查询条件显示的所有按钮集中配置处,代码默认生成reset,export,自定义按钮的classify属性请不要占用该2个类型
属性 | 说明 | 示例 |
---|
name | 按钮名称 | 重置 | classify | 按钮类型,自定义按钮可@对应的classify属性名部署对应按钮事件(create:新建。reset:重置。export:导出) | 例如classify:‘custom’,父窗口通过@custom='方法名字’即可捕捉 | index | 待扩展使用 | | location | 待扩展使用(按钮存放的位置) | | roles | 按钮权限,待扩展使用 | | actionUrl | 按钮调用后端地址,reset和export无需关注,自定义根据自己需求使用 | | type | 按钮样式,自定义按钮样式为:primary,可配置项目有:success,info,warning,danger,text | | icon | 按钮图标:默认为el-icon-plus | | modelId | | |
6、gridOperaBtnConfig配置说明:
该配置表示按钮另起查询条件一行显示的所有按钮集中配置处,代码默认生成create(新建),自定义按钮 的classify属性请不要占用该类型
属性 | 说明 | 示例 |
---|
name | 按钮名称 | 重置 | classify | 按钮类型,自定义按钮可@对应的classify属性名部署对应按钮事件(create:新建。reset:重置。export:导出) | 例如classify:‘custom’,父窗口通过@custom='方法名字’即可捕捉 | index | 待扩展使用 | | location | 待扩展使用 | | roles | 按钮权限,待扩展使用 | | actionUrl | 按钮调用后端地址,reset和export无需关注,自定义根据自己需求使用 | | --------- | ------------------------------------------------------------ | ---- | type | 按钮样式,自定义按钮样式为:primary,可配置项目有:success,info,warning,danger,text | | icon | 按钮图标:默认为el-icon-plus | | modelId | | |
7、gridBtnConfig配置说明:
该配置表示每一行表格的操作按钮,代码默认生成update(修改),delete(删除),view(预览),自定义按钮 的classify属性请不要占用该类型
属性 | 说明 | 示例 |
---|
name | 按钮名称 | 重置 | classify | 按钮类型,自定义按钮可@对应的classify属性名部署对应按钮事件(update:修改,delete:删除,view:预览) | 例如classify:‘custom’,父窗口通过@custom='方法名字’即可捕捉,父窗口方法参 function 方法名称(id,row),id表示行主键,row表示操作行数据 | index | 待扩展使用 | | location | 待扩展使用 | | roles | 按钮权限,待扩展使用 | | actionUrl | 按钮调用后端地址,reset和export无需关注,自定义根据自己需求使用 | | type | 按钮样式,自定义按钮样式为:text,可配置项目有:success,info,warning, | | icon | 按钮图标:默认为el-icon-plus | | modelId | | | permission | | | circle | | |
8、formModel配置说明:
formModel表示表单的数据属性,格式如下
formModel: {
'id' : '',
'name': '',
'introduction': '',
'remarks': '',
'projectClassify': '',
}
表示有哪些控件,这个地方需要保持一致
9、queryModel配置说明:
queryModel表示查询的数据属性,格式如下
queryModel: {
'name' : null,
'projectClassify' : null,
}
10、dialogConfig 配置说明:
dialogConfig主要用于控制页面整体属性
属性 | 说明 | 示例 |
---|
width | 表示弹窗宽度,默认为50%,可自行调整 | width:80 | labelWidth | 表示弹窗的表示文本宽度,默认为80px,可自行调整 | labelWidth:‘200’ | submitName | 表示弹窗的提交按钮名称,默认为’提交’,可自行调整 | submitName:‘确认’ | submitMessage | 表示弹窗的提交提示信息,默认为:‘确认提交吗?’,可自行调整 | | showRadio | 表示表格是否显示单选圆形按钮(为true表示显示出按钮)表示弹窗是否 | showRadio:true | showIconSetting | 是否显示图标 | showIconSetting:false | isGroup | 分组如果isGroup为true表示弹窗需要分组 | isGroup:true | buttons | 表示弹窗的扩展按钮(可以在弹窗里自定义添加按钮),父窗口可根@submitExtend='自定义方法’捕获按钮事件function 自定义方法(url,data){} | url:为后端请求地址type:按钮类型name:按钮名称message:点击按钮的提示信息 | buttons:[{message:'提示信息’name:‘按钮名称’,url:‘请求地址’,type:‘error’,}] | isShowSumbit | 可以在弹窗里不展示提交按钮 | isShowSumbit: |
FwFrom里面有个插槽,`formConfig`属性内配置的type改为custom,然后插槽的名字就是prop的名字,这个插槽你们可以自己随意扩展自己的属性
<FwForm ref="preDeclareInfo" @changeFormModel="changeRepeatFormModel" :dialog-config="configData.dialogConfig" :form-config="configData.formConfig"
:form-data="configData.formNewModel" title="重新提交" >
<div slot="peopleList">
<div style="display: flex;">
<el-upload :action="uploadAction" :before-upload="beforeRepeatUpload" :headers="uploadHeader"
:show-file-list="false" :data="configData.formNewModel" :on-error="updateError" :on-success="uploadSuccess"
:multiple="false">
<div style="display: flex;align-items: center;">
<el-button size="small" type="text">导入</el-button>
<div slot="tip" class="el-upload__tip" style="margin-top: 0px;margin-left: 10px;">
只能上传xls,xlsx文件</div>
</div>
</el-upload>
<el-button size="small" style="margin-left: 10px;" @click="downTemplate" type="text">模板下载
</el-button>
</div>
</div>
</FwForm>
//当菜单没有图标时UPDATE t_framework_sys_menu SET ICON=‘index’ where icon is null or icon=’’
弹窗 框架===>>
<fw-base-dialog
ref="baseDialog"
:append-to-body="true"
:close-on-click-modal="false"
:visible.sync="discretionAdd"
title="权力事项库信息"
width="75%"
@submit="save">
<div slot="customBody">
<FwForm
ref="authority"
:dialog-config="configData.dialogConfig"
:form-config="configData.formConfig"
:form-data="formModel"
title="权力事项库" />
<div>
<fw-table
ref="causeDiscretion"
:form-data="causeConfigData.formModel"
:form-config="causeConfigData.formConfig"
:dialog-config="causeConfigData.dialogConfig"
:grid-config="causeConfigData.gridConfig"
:grid-data="causeDiscretionGridData"
:query-config="causeConfigData.queryConfig"
:grid-top-btn-config="causeConfigData.gridTopBtnConfig"
@submit="causeDiscretionSubmit"
:query-model="causeConfigData.queryModel"
:grid-opera-btn-config="causeConfigData.gridOperaBtnConfig"/>
</div>
</div>
fw-base-dialog>
<!-- 打开该弹窗 -->
this.$refs.baseDialog.showDialog()
<!-- 关该弹窗 -->
that.$refs.baseDialog.hideDialog()
<!-- 弹窗提交按钮不显示 -->
`dialogConfig` 属性加 isShowSumbit:false
|