123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- <?php
- use yii\widgets\ActiveForm;
- ?>
- <div class="row">
- <div class="col-12">
- <div class="table-responsive">
- <?php $form = ActiveForm::begin(['options' => ['id'=>'modal-form','class' => 'layui-form form-horizontal'], 'enableClientValidation' => false]); ?>
- <table id="innertable" class="admin-table table dt-responsive nowrap no-footer dtr-inline" data-loading-template="loadingTemplate" >
- <input name="innerIds" id="innerIds" value="" style="display:none">
- <?php if($tableConfig['checkbox']==1){?>
- <thead>
- <tr>
- <th>
- <div class="form-check table-checkbox">
- <input class="form-check-input" name="btSelectAll" type="checkbox" >
- </div>
- </th>
- </tr>
- </thead>
- <?php }?>
- </table>
- <div class="mb-3 row" hidden="">
- <button class="btn btn-primary waves-effect waves-light" lay-filter="modal-form-submit" id="modal-form-submit" lay-submit="" >提交</button>
- </div>
- <?php ActiveForm::end(); ?>
- </div>
- </div>
- </div>
- <script>
- var $innerTableConfig = JSON.parse('<?php echo json_encode($tableConfig);?>');
- var $innerTableTitle = JSON.parse('<?php echo json_encode($tableTitle);?>');
- var $innerTable = $('#innertable');
- $innerTable.bootstrapTable({
- url: $innerTableConfig.url,
- idField: $innerTableConfig.idField,
- showColumns: false,
- columns: $innerTableTitle,
- treeShowField: $innerTableConfig.treeShowField,
- parentIdField: $innerTableConfig.parentIdField,
- onPostBody: function() {
- var columns = $innerTable.bootstrapTable('getOptions').columns
- if (columns && columns[0][1].visible) {
- $innerTable.treegrid({
- treeColumn: typeof $innerTableConfig.treeColumn!='undefined'?$innerTableConfig.treeColumn:1,
- initialState: $innerTableConfig.expand?'expanded':'collapsed',
- onChange: function() {
- $innerTable.bootstrapTable('resetView')
- }
- })
- }
- //针对树状表格出现的重复情况的处理(仅后台菜单管理)
- if($innerTableConfig.parentIdField=='parent_hash')
- {
- var indexs = [];
- $innerTable.find('tr').each(function(){
- if($.inArray($(this).data('index'),indexs)!=-1)
- {
- $(this).remove();
- }
- else
- {
- indexs[indexs.length] = $(this).data('index');
- }
- })
- }
- },
- onCheck:function(row){
- var datas = $innerTable.bootstrapTable('getData');
- // 勾选子类
- selectChilds(datas,row,$innerTableConfig.idField,$innerTableConfig.parentIdField,true);
- // 勾选父类
- selectParentChecked(datas,row,$innerTableConfig.idField,$innerTableConfig.parentIdField);
- $innerTable.bootstrapTable('load', datas);
- },
- onUncheck:function(row){
- var datas = $innerTable.bootstrapTable('getData');
- selectChilds(datas,row,$innerTableConfig.idField,$innerTableConfig.parentIdField,false);
- $innerTable.bootstrapTable('load', datas);
- },
- onUncheckAll:function(){
- var datas = $innerTable.bootstrapTable('getData');
- checkAll(datas,false)
- },
- onCheckAll:function(){
- var datas = $innerTable.bootstrapTable('getData');
- checkAll(datas,true)
- }
- })
- //返回选中的复选框值
- function getInnerIdSelections() {
- if($innerTableConfig.tree)
- {
- var result = [];
- var datas = $innerTable.bootstrapTable('getData');
- for(i=0;i<datas.length;i++)
- {
- if(datas[i].check)
- {
- result[result.length] = datas[i][$innerTableConfig.idField];
- }
- }
- return result;
- }
- else
- {
- return $.map($innerTable.bootstrapTable('getSelections'), function (row) {
- var result;
- $.each(row, function(key, val) {
- if(key==$innerTableConfig.idField)
- {
- result = val;
- }
- });
- return result;
- })
- }
- }
- $(document).ready(function(){
- $('#modal-form-submit').click(function(){
- var ids = getInnerIdSelections();
- $('#innerIds').val(ids.join(","));
- return true;
- })
- })
- </script>
|