settings.php 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. <?php
  2. use yii\widgets\ActiveForm;
  3. ?>
  4. <div class="row">
  5. <div class="col-12">
  6. <div class="table-responsive">
  7. <?php $form = ActiveForm::begin(['options' => ['id'=>'modal-form','class' => 'layui-form form-horizontal'], 'enableClientValidation' => false]); ?>
  8. <table id="innertable" class="admin-table table dt-responsive nowrap no-footer dtr-inline" data-loading-template="loadingTemplate" >
  9. <input name="innerIds" id="innerIds" value="" style="display:none">
  10. <?php if($tableConfig['checkbox']==1){?>
  11. <thead>
  12. <tr>
  13. <th>
  14. <div class="form-check table-checkbox">
  15. <input class="form-check-input" name="btSelectAll" type="checkbox" >
  16. </div>
  17. </th>
  18. </tr>
  19. </thead>
  20. <?php }?>
  21. </table>
  22. <div class="mb-3 row" hidden="">
  23. <button class="btn btn-primary waves-effect waves-light" lay-filter="modal-form-submit" id="modal-form-submit" lay-submit="" >提交</button>
  24. </div>
  25. <?php ActiveForm::end(); ?>
  26. </div>
  27. </div>
  28. </div>
  29. <script>
  30. var $innerTableConfig = JSON.parse('<?php echo json_encode($tableConfig);?>');
  31. var $innerTableTitle = JSON.parse('<?php echo json_encode($tableTitle);?>');
  32. var $innerTable = $('#innertable');
  33. $innerTable.bootstrapTable({
  34. url: $innerTableConfig.url,
  35. idField: $innerTableConfig.idField,
  36. showColumns: false,
  37. columns: $innerTableTitle,
  38. treeShowField: $innerTableConfig.treeShowField,
  39. parentIdField: $innerTableConfig.parentIdField,
  40. onPostBody: function() {
  41. var columns = $innerTable.bootstrapTable('getOptions').columns
  42. if (columns && columns[0][1].visible) {
  43. $innerTable.treegrid({
  44. treeColumn: typeof $innerTableConfig.treeColumn!='undefined'?$innerTableConfig.treeColumn:1,
  45. initialState: $innerTableConfig.expand?'expanded':'collapsed',
  46. onChange: function() {
  47. $innerTable.bootstrapTable('resetView')
  48. }
  49. })
  50. }
  51. //针对树状表格出现的重复情况的处理(仅后台菜单管理)
  52. if($innerTableConfig.parentIdField=='parent_hash')
  53. {
  54. var indexs = [];
  55. $innerTable.find('tr').each(function(){
  56. if($.inArray($(this).data('index'),indexs)!=-1)
  57. {
  58. $(this).remove();
  59. }
  60. else
  61. {
  62. indexs[indexs.length] = $(this).data('index');
  63. }
  64. })
  65. }
  66. },
  67. onCheck:function(row){
  68. var datas = $innerTable.bootstrapTable('getData');
  69. // 勾选子类
  70. selectChilds(datas,row,$innerTableConfig.idField,$innerTableConfig.parentIdField,true);
  71. // 勾选父类
  72. selectParentChecked(datas,row,$innerTableConfig.idField,$innerTableConfig.parentIdField);
  73. $innerTable.bootstrapTable('load', datas);
  74. },
  75. onUncheck:function(row){
  76. var datas = $innerTable.bootstrapTable('getData');
  77. selectChilds(datas,row,$innerTableConfig.idField,$innerTableConfig.parentIdField,false);
  78. $innerTable.bootstrapTable('load', datas);
  79. },
  80. onUncheckAll:function(){
  81. var datas = $innerTable.bootstrapTable('getData');
  82. checkAll(datas,false)
  83. },
  84. onCheckAll:function(){
  85. var datas = $innerTable.bootstrapTable('getData');
  86. checkAll(datas,true)
  87. }
  88. })
  89. //返回选中的复选框值
  90. function getInnerIdSelections() {
  91. if($innerTableConfig.tree)
  92. {
  93. var result = [];
  94. var datas = $innerTable.bootstrapTable('getData');
  95. for(i=0;i<datas.length;i++)
  96. {
  97. if(datas[i].check)
  98. {
  99. result[result.length] = datas[i][$innerTableConfig.idField];
  100. }
  101. }
  102. return result;
  103. }
  104. else
  105. {
  106. return $.map($innerTable.bootstrapTable('getSelections'), function (row) {
  107. var result;
  108. $.each(row, function(key, val) {
  109. if(key==$innerTableConfig.idField)
  110. {
  111. result = val;
  112. }
  113. });
  114. return result;
  115. })
  116. }
  117. }
  118. $(document).ready(function(){
  119. $('#modal-form-submit').click(function(){
  120. var ids = getInnerIdSelections();
  121. $('#innerIds').val(ids.join(","));
  122. return true;
  123. })
  124. })
  125. </script>