table组合标签

注:表格后台查询返回到页面的List<Map>,由于都经过initPagination(a,b,c)方法处理,所以Map中的key都已经转为纯小写了。

由此,<table>标签中fields等属性也应该全部小写。


query_bar标签:

  • query_bar标签有属性:id,icon【2.2】,title【2.2】,style_type【2.2】

    style_type【2.2】: style_type属性是用来控制query_bar的风格样式,暂时提供"default"(默认样式),"classical"(经典样式),"simple"(简约样式)
    icon【2.2】: icon属性是用来控制query_bar的标题头的图标,默认没有图标,图标设置参考button标签

    title【2.2】: title属性为标题属性

query_bar配合table标签使用,类似于form标签

    <@query_bar id="queryForm">
        <@form_group class="row">
               <@input label="部门编号" name="brchId"  size="2"  />
               <@input label="部门名称" name="brchName"  size="2"  />
               <@button  value="查询" onclick="queryInfo()" auth_key="brch_query"/>
        </@form_group>
    </@query_bar>

table_toolbar标签:

  • table_toolbar标签有1个属性为name;table\_toolbar配合table标签使用,在table标签前使用,用于包裹操作表格的工具的工具栏必须配合table标签使用,在引用table标签之前引用
    <@table_toolbar name="查询结果">
        <@button value="新增" data_target="modal_add" icon="plus"/>
        <@button value="批量激活" onclick="activeAndCancel('active','mytable')" icon="ok-sign"/>
        <@button value="批量注销" onclick="activeAndCancel('cancel','mytable')" icon="remove-sign"/>
    </@table_toolbar>

table标签:

  • 引入表格栏 table (其他控件参看基本表单控件扩展表单控件),表格控件的使用包含在此例中
  • <@table url="${base}/oper/query"
                   thead=[
                       [
                          {"name":"一级标题"},
                          {"name":"二级标题","colspan":"2"},
                          {"name":"三级标题","colspan":"2"}
                      ],
                      [
                          {"field_col":"oper_id","name":"编号","size":"2","position":"center","hide_beyond_content":"5"},
                          {"name":"名称", "size":"2"},
                          {"name":"机构","size":"2"},
                          {"name":"状态"},
                          {"name":"级别"}
                      ]
                  ]
                  fields="id,oper_id,oper_name,org_name,brch_name,oper_state,oper_level"
                  translate={"oper_state":"STATE", "oper_level":"OPER_LEVEL"}
                  idtype="radio"
                  operate="true"
                  btn=[
                         {"name":"detail","onclick":"viewDetail(this)","title":"提示"},
                         {"name":"edit","auth_key":"brch","onclick":"editItem(this,'mytable')"},
                         {"name":"active","cust_label":"启    用","onclick":"activeItem(this,'mytable')"},
                         {"name":"cancel","auth_key":"brch_cancel","cust_label":"禁用","onclick":"cancelItem(this,'mytable')"},
                         {"name":"delete","onclick":"delItem(this,'mytable')"}
                      ]
                  cust_btn=[
                          {
                           "name":"test1",
                           "onclick":"doTest('sd')",
                           "text":"自定义",
                           "icon":"ext_assessedbadge",
                           "color":"success",
                           "auth_key":"brch_cust",
                           "title":"提示",
                           "sort":"1",
                            "dynswitch":{"dynbind_field":"brch_state","show_condition":["0",“1”]}
                           }]
                  sort=["oper_id", "oper_name"]
                  img_fields={"img_wrap":"img"}
                  id="mytable"
                  merge_cells=[
                      {"coordinate":"3,0","rowspan":"10"},
                      {"coordinate":"4,0","rowspan":"10"}
                  ]
                  callback="setPanelData"
                  width="120"
                  is_static="false"
                  data_auth="{operId:admin}"
                  default_page_length="10"
                   <#--脱敏开关,为true时执行脱敏操作,fields_sec属性生效,默认false-->
                  fields_sec_open="true"
                  fields_sec=[
                       {
                       <#--表示对指定字段处理,同理可配置多个字段 -->
                        "name":"brch_name",
                       <#--mobile或name或fixphone等,指定默认脱敏类型-->
                        "sec_type":"name",
                        <#--other_rule为其他规则,不按照默认脱敏类型,自定义脱敏->
                        "other_rule":"left,1"
                   }
                   <#--控制td内容的隐藏,默认开启,超过某一个length长度就会隐藏多余部分-->
                   hide_beyond_content={"flag":"true","beyond_num":"5"}
                   <#--关闭横向滚动条-->
                   scrollx_flag=“false”
                   scrolly=“400”
               ]
                  />
    <!-- 所有提交的url地址的前缀都要加上 ${base}
    1. 表格控件必须的三个参数:url、thead、fields
    2. *url: 提交的后台地址 
    3. *thead【1.2】: 表头显示的字段名(不包括第一列的id列),thead在【1.2】以后支持多级表头,每一列标题头支持3个属性,name属性指定列名,rowspan属性支持指定标题头占用的行数,默认值为1,colspan属性支持指定标题头占用的列数,默认值为1,【2.0】版本后有size属性,如果不填,默认自适应,【2.1版本】后支持position属性,支持left,center,right属性,控制数据列的位置,【2.6】版本后加入field_col属性和hide_beyond_content,该属性用于绑定fields属性的对应字段,只对有效列(即多级表头时有效对应加载数据列的独立列,对于单级标题,每一列都是有效列)有作用,如果要支持自定义隐藏属性hide_beyond_content和位置控制position属性就需要加列绑定属性field_col,指定对应列,如"field_col":"oper_name",【2.6】后加入hide_beyond_content属性,用于自定义控制隐藏多余内容,该局部属性优先级高于全局属性的hide_beyond_content属性,如"hide_beyond_content":"4"
    4. *fields:sql语句中显示的字段名,【1.4】版本后fields属性可以不填id项,如果不填id项则认为表格不需要首列勾选,则idtype属性无效,当id列存在时,idtype属性的单选框和复选框才有效,【2.6】版本后可以加入treegrid列,即表格的级联树控制,详细介绍在下面另起小结介绍,示例可参考demo的table标签。
    5. translate:待转义的字段,格式为json格式![](/assets/table3.png)
    6. idtype:id列形式(单选框 radio、复选框 checkbox),默认复选框。
    7. operate:是否显示操作列,true 显示,false 不显示
    8. btn【1.1】:显示的按钮,目前有5个固定的常用按钮:
       detail 查看详情,edit 修改,delete 删除,active 激活,cancel 注销,显示按钮必须开启操作栏
       每个按钮有三个属性,name属性只有以上六种值,auth_key为权限属性,匹配sys_func表中的url,cust_label属性为自定义按钮的名字,存在默认名,onclick属性绑定执行的方法**必填**,【2.1】版本后加入提示title属性,
       【2.2】版本后加入style_type属性,可填值“icon”,按钮变成图标风格,不填为默认风格
       【2.8】版本后增加sort属性,可以和自定义按钮cust_btn进行混合排序显示
    9. cust_btn【1.1】:cust_btn属性是除了以上常用按钮的自定义按钮,五项属性中name属性和onclick属性为必填项,且onclick的值现在只支持
        "doTest('sd')"这种传参方式,不支持'doTest("sd")'方式,text属性为button的显示值,icon属性为图标,默认为搜索图标,【2.0】版本后支持图标扩展可以使用font-increator下的图标,前缀"ext_"加图标样式名即可以使用,如"ext_assessedbadge",详细可以参考button标签
        color属性为颜色属性,可以填写的值为"success"、"danger"、"info"、"warning"、"primary",默认为蓝色,auth_key为权限属性,匹配sys_func表中的url,
        dynswitch为动态切换自定义属性,其中还包含三个属性,分别为dynbind_field指定绑定字段,对应table标签中fields中的值,show_condition属性为指定显示按钮的情况,
        值为数组,如上"show_condition":["0","1"],指当在sys_code表中valuecode为“0”或“1”时显示,对应的还存在noshow_condition属性为不显示的情况,
        show_condition和noshow_condition属性不能同时使用,同时存在时遵循show_condition属性,
        【2.1】版本后加入提示title属性,【2.2】版本后加入style_type属性,可填值“icon”,按钮变成图标风格,不填为默认风格
        【2.8】版本后增加sort属性,可以和缺省按钮btn进行混合排序显示
    10. sort:支持排序功能的字段,默认除了id列和操作列外所有字段都支持
    11. img_fields【1.1】:支持缩略图功能,img_fields={"img_wrap":"img"},"img_wrap"为缩略图字段,"img"为原图字段,点击缩略图弹出原图
    12. id【1.2】:指定表格id,【1.2】以后页面支持多表格,若未指定id属性时,id默认值为"mytable",因此在多表格并存时,只能有一个表格可以不指定id。
    13. merge_cells【1.2】:合并单元格属性,【1.2】以后表格支持单元格合并属性,单元格合并有3个属性,coordinate属性指定操作合并的单元格坐标(x,y),rowspan指定合并的行数,默认值为1,colspan属性指定合并的列数,默认值为1,注意已经被合并占用的单元格不可以重复合并
    14. paginate【1.2.3】:paginate属性为是否分页属性,默认为true(开启分页)
    15. load_data_init【1.2.3】:load_data_init属性为是否初始化加载数据开关属性,默认为true(首次进页面加载数据),【1.4】版本后,支持传入的值为“true”,“false”,或指定查询条件的formId,当值为“true”或不填该属性时,默认不带查询条件初始化加载数据,为“false”时不加载数据,为formId时,会带查询条件加载数据,如load_data_init="queryForm"
    16. callback【1.2.3】:该属性为表格的附加回调方法,**在表格数据加载完后表格渲染前**,会调用指定的方法,如:callback="setPanelData"
    ,**注意:该方法必须在表格加载前被定义**
    17. width【1.2.3】:该属性为表格的宽度属性,默认为100
    18. 表格若不需要id列,fields 中去掉 id 字段,同时后台 sql 也去掉 id 字段:如下
        fields="oper_id,oper_name,org_name,brch_name,oper_state,oper_level"
    19. no_search_sm【1.3】:查询无记录时,提示区域大小:true/false,默认false正常大图显示。可用于表格下方还有组合用的面板场景使用。
    20. is_static【1.4】:设置是否为静态表格,静态表格为不与后台数据动态交互的表格,可以手动新增数据和删除数据,详细例子见如下小章节说明。
    21 data_auth【1.4】:用于加载表格时提供的json数据串,主要用于控制权限,规定json串格式,如
    data_auth="{operId:admin}"
    22. default_page_length【1.4】:用于设置表格加载时默认每页的记录条数,不填默认为10条记录,如     default_page_length="20",【2.1】版本后以table_toolbar组件的分页器page_change为主,分页器存在时,该属性屏蔽
    23. fields_sec_open【1.6】:是否开启脱敏功能,如:fields_sec_open="true",默认false,为true时fields_sec属性功能才有效,注意【1.9】版本后总开关属性转为由后台配置文件para.propertity获取,属性名相同,
    ;另外该属性在前台标签中改为针对操作员是否开启脱敏功能,默认true脱敏功能开启,可以对一些操作员不显示脱敏
    24. fields_sec【1.6】:脱敏的规则数据,fields_sec=[{"name":"brch_name","sec_type":"name","other_rule":"left,1"}],其中name属性指定需要脱敏的字段且必填,sec_type为指定默认脱敏类型且必填,可以填的值有:name(姓名),idCard(身份证),fixedPhone(固定电话),mobile(手机),email(邮件),bankCard(银行卡号),other_rule属性为其他规则脱敏,该属性会屏蔽默认的脱敏规则有两个值,第一个为位置,可以填left,center,right,第二个值为脱敏长度,将换成“*”
    ,在【1.8】版本后,表格的脱敏支持自定义六种脱敏类型的默认脱敏方法,具体内容见下面的自定义默认脱敏
    备注:存在id列的情况下,首字段 id 固定,mapper 中提供的 sql 语句必须提供 id 字段名(详细见后续 mapper 语句编写)
    25. draw_callback【2.1】:该属性为表格的附加回调方法,**在表格渲染后**,会调用指定的方法,如:draw_callback={"name":"setPanelData","params":{'test':'test'}},name时调用的方法名,params为方法的参数,必须为对象类型
    26. hide_beyond_content【2.2】:该属性为表格控制隐藏td中多余的内容,将多余的内容转成省略号,鼠标移到上面会显示具体内容,含有属性如hide_beyond_content={"flag":"true","beyond_num":"5"},flag属性为开关,默认为“false”,beyond_num为控制的length长度,默认为“5”,**注意**hide_beyond_content属性处理会在脱敏功能处理以后执行
    27. scrollx_flag【2.4】:该属性为控制表格是否需要滚动条功能,在表格列数据比较多的时候开启,可填值为true和false,默认true
    28. banner_have【2.4】:该属性为控制是否给全局的文字加底纹旗帜,可填值为true和false,默认false
    29. total_row【2.4】:该属性用于控制合计行,合计行可以合并,在开启该功能时后台必须自行加一行对应的数据,前台可以进行合并total_row=[{"x_coordinate":"2","colspan":"3"}],其他不合并的都默认占一列,x_coordinate为x起始坐标(从0开始,这里是排除了冻结列的起始坐标),colspan为占用的列数,如果合计行开启又不需要合并列,可以total_row=[],具体见文档
    30. scrolly【2.7】: 该属性开启纵向滚动条,需要指定固定的高度,默认不开启该属性,
    ,**注意:该方法必须在表格加载前被定义**
    31. banner_class【2.8】:全局字段背景旗帜样式,配合banner_have=true时使用。
    31. fields_banner【2.8】:自定义字段旗帜背景,优先级高于全局banner_class属性。
    
  • 表格数据显示例子如下图:

  • 表格多级表头和合并单元格示例图:

  • 获取表格相关数据:

  • getTable(tableId);//获取表格对象
    
    getTableRows(tableId);//获取表格当前页行数据
    
    getSelectedTableRows(tableId);//获取表格当前页选中行数据
    
    getTableRowById(rowId,tableId);//根据rowId获取行数据,rowId值
    
    getCodeName(value,type,tableId);//获取翻译的name值,从sys_code表中获取
    
    getCodeValue(name,type,tableId);//获取翻译的value值,从sys_code表中获取
    
    removeSelectedTableRows(tableId);//删除当前表格所有勾选的行数据,只适用于静态表格
    
    removeTableRow(obj,tableId);//删除当前行数据,只适用于静态表格,obj为当前tr标签包含的元素
    
    addTableRow(obj,tableId,idType);//新增表格行数据,只适用于静态表格,obj为传入新增的行数据,idType为首列勾选的样式,可填三个值:none,radio,checkbox,默认none
    
    tableBandClick(obj)【2.4】;//为表格指定的td位置绑定自定义的方法,如果表格中没有数据就不绑定
    其中包含tdPosition(数组类型[{}]包含需要绑定事件的td标签的坐标位置,其中子对象包含数rowIndex(行下标,   从0开始)和colIndex(列下标,从0开始),如果不指定行,则绑定整列)和bandFunction绑定的自定义的方法名和 tableId
    调用如:  tableBandClick({"tdPosition[{"colIndex":"2"}],"tableId":"mytable","bandFunction":"daTest1"});
    */
    例:getCodeName("0","STATE","mytable");//值为"注销"
    
    /**
    * ajax表单提交,只针对表格
    * @param url 提交地址
    * @param formId 表单id,可为空
    * @param convertName 需转换的name属性,可为空,例子:"role1.id,role2.id ..."
    * @param modalId form表单提交时的modalId
    * @param tableSearchDataJson 表格查询所需的过滤数据,表格查询时不能为空
    * @param tableId 表格Id值,必须传
    * @param updateTableUrl 【1.2.3】如果要修改表格加载数据的url地址加入这一项
    * @param closeModal 【1.2.3】是否在操作成功后关闭窗口,默认true
    * @param isFnDrawCurrentTable【1.3】 这里为了支持子modal框可以加入表格的功能,需要指定是否处理完数据后刷新的是当前表格还是父级表格,默认:先去找父级表格刷新,true:刷新当前表格
    * @param isFnDrawParentTable 【1.3】这里为了支持子modal框可以加入表格的功能,需要指定是否处理完数据后刷新的是当前表格还是父级表格,默认:先去找父级表格刷新,true:刷新父级表格
    * @param redirectPageNum 【1.4】指定操作后指向的页码,注意页码从0开始,当该选项不传入时,默认刷新整个表格,即回到首页
    */
      postform({
              "tableId":"mytable",
              "url":"${base}/sys/auth/brch/save/add",
              "formId":"add_form",
              "modalId":"modal_add",
              "closeModal":"false"
          });
    
  • 加载静态表格示例【1.4】:




    注意:加载静态的表格需要is_static,fields,id,thead等必要属性,使用静态表格后url,translate,load_data_init,callback等属性不可使用,详细代码见全量包,静态表格支持首列是否有勾选列,也支持单选,复选

  • 自定义默认脱敏方法:

    1.需要配置table_default_sensitive_custom_class参数:

    2.自定义方法:

    注意:只加载获取方法名为chineseName(脱敏姓名),idCardNum(脱敏身份证),fixedPhone(固定电话),mobilePhone(手机),email(邮箱),bankCard(银行卡号)的方法

  • 表格组件脱敏支持后台表数据配置脱敏【2.2】:

    1. 后台配置脱敏的对应的表为sys_data_des:
    2. 后台需要支持脱敏功能,在进入页面的时候,后台需要加入一句如下语句:
      注意:上面表中加入数据的规则和表格中的fields_sec属性中的数据形式一致,且脱敏的优先级为前台脱敏>后台脱敏,即如果前台已经对该字段进行脱敏,后台对相同字段的脱敏将失效,如前后台都对brch_name字段脱敏,则前台的脱敏规则生效,后台的脱敏规则失效
  • 表格的treegrid树级联结构功能开启方法【2.6】:

    1. 前台在table标签的fields属性中加入treegrid字段,注意该字段暂时不支持在第一列
    2. 后台中必须回传的数据带children数据:(示例图如下) 3. 注意该功能暂时不支持和表格冻结列功能同时开启

results matching ""

    No results matching ""