146 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			HTML
		
	
	
			
		
		
	
	
			146 lines
		
	
	
		
			6.7 KiB
		
	
	
	
		
			HTML
		
	
	
| <div class="layui-card layui-col-md12">
 | |
|     <div class="layui-card-body">
 | |
|         <form class="layui-form" data-action="{:url('manager.member/menualloter')}" >
 | |
|             <input type="hidden" name="_token" value="{$_token ?? ''}"/>
 | |
|             {foreach name="cates" item="item"}
 | |
|             <table class="layui-table layui-form" style="float: left; margin: 0 0 25px;">
 | |
|                 <thead>
 | |
|                     <tr>
 | |
|                         <td colspan="2"><input  type="checkbox" {in name="$item['id']" value="$memberCates" }checked="checked" {/in} name="cates[]_{$item.id}" value="{$item.id}" lay-skin="primary" title="{$item.title}" lay-filter="select_all" /></td>
 | |
|                     </tr>
 | |
|                 </thead>
 | |
|                 <tbody>
 | |
|                     {notempty name="item.children"}
 | |
|                     {foreach name="item.children" item="sub"}
 | |
|                     <tr class="erji">
 | |
|                         <td style="padding-left: 30px;">
 | |
|                             <div class="erjichkall">
 | |
|                                 <input type="checkbox" {in name="$sub['id']" value="$memberCates" } checked="checked"{/in} name="cates[]_{$item.id}_{$sub.id}" value="{$sub.id}" lay-skin="primary"  title="{$sub.title}" lay-filter="select_item" />
 | |
|                             </div>
 | |
|                         </td>
 | |
|                         <td>
 | |
|                             {notempty name="sub.children"}
 | |
|                                 {foreach $sub['children'] as $child}
 | |
|                                 <div class="erjichk">
 | |
|                                     <input type="checkbox" {in name="$child['id']" value="$memberCates" } checked="checked"{/in} name="cates[]_{$item.id}_{$child.id}" value="{$child.id}" lay-skin="primary"  title="{$child.title}" lay-filter="select_item_three" />
 | |
|                                 </div>
 | |
|                                 {/foreach}
 | |
|                             {/notempty}
 | |
|                         </td>
 | |
|                     </tr>
 | |
|                     {/foreach}
 | |
|                     {/notempty}
 | |
|                 </tbody>
 | |
|             </table>
 | |
|             {/foreach}
 | |
|             <div class="layui-clear"></div>
 | |
|             <hr style="margin: 5px 0 30px;">
 | |
|             <div class="layui-form-item text-center" id="grouprule-ok">
 | |
|                 <input type="hidden" class="layui-input" name="id" value="{$id}" />
 | |
|                 <button type="button" class="layui-btn layui-btn-normal" lay-submit lay-filter="submitAll">保存</button>
 | |
|             </div>
 | |
|         </form>
 | |
|     </div>
 | |
| </div>
 | |
| <style type="text/css">
 | |
|     .erjichk,.erjichkall{ display: inline-block;}
 | |
|     .erjichk{ margin-right: 10px;}
 | |
| </style>
 | |
| <script type="text/javascript">
 | |
|     layui.use('form', function(){
 | |
|         var form = layui.form;
 | |
|         
 | |
|         form.on('checkbox(select_all)', function(data){
 | |
|             var parentTableCheck = $(this).parents(".layui-table").find('input[lay-filter="select_all"]'); //所属全选复选框
 | |
|             var childrenCheck = $(this).parents(".layui-table").find('input[lay-filter="select_item"]'); //所属子同复选框
 | |
|             var sj = $(this).parents(".layui-table").find('input[lay-filter="select_item_three"]'); //所属子同复选框
 | |
|             if(data.elem.checked) {
 | |
|                 $(childrenCheck).each(function(){
 | |
|                     if (!$(this).prop('disabled')) {
 | |
|                         $(this).prop("checked", true);
 | |
|                     }
 | |
|                 });
 | |
|                 $(sj).each(function(){
 | |
|                     if (!$(this).prop('disabled')) {
 | |
|                         $(this).prop("checked", true);
 | |
|                     }
 | |
|                 });
 | |
|             } else {
 | |
|                 $(childrenCheck).each(function(){
 | |
|                     if(!$(this).hasClass('perm-read-only')){
 | |
|                         $(this).prop("checked", false);
 | |
|                     }
 | |
|                 });
 | |
|                 $(sj).each(function(){
 | |
|                     if(!$(this).hasClass('perm-read-only')){
 | |
|                         $(this).prop("checked", false);
 | |
|                     }
 | |
|                 });
 | |
|             }
 | |
|             form.render('checkbox');
 | |
|         });
 | |
|       
 | |
|         form.on('checkbox(select_item)', function(data){
 | |
|             var sj = data.othis.closest('.erji').find('input[lay-filter="select_item_three"]')
 | |
|             if(data.elem.checked){
 | |
|                 $(sj).each(function(){
 | |
|                     if (!$(this).prop('disabled')) {
 | |
|                         $(this).prop("checked", true);
 | |
|                     }
 | |
|                 });
 | |
|             }else{
 | |
|                 $(sj).each(function(){
 | |
|                     if(!$(this).hasClass('perm-read-only')){
 | |
|                         $(this).prop("checked", false);
 | |
|                     }
 | |
|                 });
 | |
|             }
 | |
|             
 | |
|             var parentTableCheck = $(this).parents(".layui-table").find('input[lay-filter="select_all"]'); //所属全选复选框
 | |
|             var brotherCheck = $(this).parents(".layui-table").find('input[lay-filter="select_item"]'); //所属同级复选框
 | |
|             var allChecked = true;
 | |
|             if($(this).hasClass('perm-read-only')){
 | |
|                 $(this).prop("checked", true);
 | |
|             }
 | |
|             brotherCheck.each(function () {
 | |
|                 if (!$(this).prop("disabled") && !$(this).hasClass('perm-read-only')) {
 | |
|                     if (!$(this).prop("checked")) {
 | |
|                         allChecked = false;
 | |
|                     }
 | |
|                 }
 | |
|             });
 | |
|             if(allChecked) {
 | |
|                 parentTableCheck.prop('checked', true);
 | |
|             } else {
 | |
|                 parentTableCheck.prop('checked', false);
 | |
|             }
 | |
|             form.render('checkbox');
 | |
|         });
 | |
|       
 | |
|         form.on('checkbox(select_item_three)', function(data){
 | |
|             var all = $(this).parents(".layui-table").find('input[lay-filter="select_all"]'); //所属全选复选框
 | |
|             var parentTableCheck = $(this).closest(".erji").find('input[lay-filter="select_item"]'); //所属全选复选框
 | |
|             var brotherCheck = $(this).closest(".erji").find('input[lay-filter="select_item_three"]'); //所属同级复选框
 | |
|             var allChecked = true;
 | |
|             if($(this).hasClass('perm-read-only')){
 | |
|                 $(this).prop("checked", true);
 | |
|             }
 | |
|             brotherCheck.each(function () {
 | |
|                 if (!$(this).prop("disabled") && !$(this).hasClass('perm-read-only')) {
 | |
|                     if (!$(this).prop("checked")) {
 | |
|                         allChecked = false;
 | |
|                     }
 | |
|                 }
 | |
|             });
 | |
|             if(allChecked) {
 | |
|                 parentTableCheck.prop('checked', true);
 | |
|                 all.prop('checked', true);
 | |
|             } else {
 | |
|                 parentTableCheck.prop('checked', false);
 | |
|                 all.prop('checked', false);
 | |
|             }
 | |
|             form.render('checkbox');
 | |
|         });
 | |
|       
 | |
|     });
 | |
| </script> |