| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230 | 
							- {extend name="common/common2" /}
 
- {block name="main"}
 
- <style>
 
-     .submit-btn{
 
-         position: fixed;
 
-         z-index: 10;
 
-         top: 3px;
 
-         right: 5px;
 
-     }
 
-     .submit-btn2{
 
-         position: fixed;
 
-         z-index: 10;
 
-         top: 3px;
 
-         right: 90px;
 
-     }
 
-     .panel-body{
 
-         height: 90%;
 
-         overflow: auto;
 
-     }
 
- </style>
 
- <div class="tabs-container" id="app">
 
-     <ul class="nav nav-tabs">
 
-         <li {if $cate==0} class="active" {/if}><a  href="{:url('auth',['id'=>$rolesId,'cate'=>0])}" aria-expanded="true">后台权限</a>
 
-         </li>
 
-         <li {if $cate==1} class="active" {/if}><a  href="{:url('auth',['id'=>$rolesId,'cate'=>1])}" aria-expanded="true">APP权限</a>
 
-         </li>
 
-     </ul>
 
-     <div class="tab-content">
 
-         <div id="tab-1" class="tab-pane active">
 
-             <div class="panel-body">
 
-                 <div >
 
-                     <p>
 
-                         <el-checkbox
 
-                                 @change="handleCheckedTreeNodeAll($event, 'tree')"
 
-                         >全选/全不选</el-checkbox>
 
-                     </p>
 
-                     <p>
 
-                         <el-input
 
-                                 clearable
 
-                                 size="mini"
 
-                                 placeholder="输入关键字"
 
-                                 v-model="filterText">
 
-                         </el-input>
 
-                     </p>
 
-                     <p>
 
-                         <el-tree
 
-                                 :data="data"
 
-                                 :empty-text="emTxt"
 
-                                 show-checkbox
 
-                                 default-expand-all
 
-                                 :filter-node-method="filterNode"
 
-                                 node-key="id"
 
-                                 ref="tree"
 
-                                 highlight-current
 
-                                 :default-checked-keys="value"
 
-                                 @check="handleClick1"
 
-                                 :check-strictly="strictly"
 
-                                 :props="defaultProps">
 
-                         </el-tree>
 
-                     </p>
 
-                 </div>
 
-             </div>
 
-         </div>
 
-     </div>
 
-     <button type="button" @click="save" class="btn btn-primary  submit-btn">保存权限</button>
 
-     <a href="{:url('auth',['id'=>$rolesId,'type'=>1])}" class="btn btn-warning submit-btn2">推荐权限</a>
 
- </div>
 
- </div>
 
- <div class="ibox" style="display: none">
 
-     <div class="ibox-content">
 
-     </div>
 
- </div>
 
- {/block}
 
- {block name="script"}
 
- <script>
 
-     new Vue({
 
-         el: '#app',
 
-         data: function() {
 
-             return {
 
-             data: {:json_encode($menus)},
 
-             defaultProps: {
 
-             children: 'children',
 
-                 label: 'title',
 
-                 value: 'id',
 
-             },
 
-             value:[],
 
-             emTxt:"没有数据",
 
-             checkValue:false,
 
-             arr:[],
 
-             filterText: '',
 
-             checked:false,
 
-             strictly:false,
 
-             menuNodeAll: false,
 
-         }
 
-         },
 
-         watch: {
 
-             filterText(val) {
 
-                 this.$refs.tree.filter(val);
 
-             }
 
-         },
 
-         mounted(){
 
-             this.strictly = true;
 
-             this.$nextTick(() => {
 
-                 this.value  = {:json_encode($sauth)};
 
-                 this.strictly = false;
 
-             })
 
-         },
 
-         methods: {
 
-             // 树权限(全选/全不选)
 
-             handleCheckedTreeNodeAll(value) {
 
-                 this.$refs.tree.setCheckedNodes(value ? this.data : []);
 
-             },
 
-             handleClick1(data) {
 
-                 // const node = this.$refs.tree.getNode(data.id);
 
-                 // this.setNode(node);
 
-             },
 
-             setNode(node) {
 
-                 if (node.checked) {
 
-                     //选中,递归设置所有父节点选中
 
-                     this.setParentNode(node);
 
-                 } else {
 
-                     //取消选中,所有子节点取消选中
 
-                     this.setChildenNode(node);
 
-                 }
 
-             },
 
-             setParentNode(node) {
 
-                 if (node.parent) {
 
-                     for (const key in node) {
 
-                         if (key === "parent") {
 
-                             node[key].checked = true;
 
-                             this.setParentNode(node[key]);
 
-                         }
 
-                     }
 
-                 }
 
-             },
 
-             setChildenNode(node) {
 
-                 for (let i = 0; i < node.childNodes.length; i++) {
 
-                     node.childNodes[i].checked = false;
 
-                     this.setChildenNode(node.childNodes[i]);
 
-                 }
 
-             },
 
-             filterNode(value, data) {
 
-                 if (!value) return true;
 
-                 return data.title.indexOf(value) !== -1;
 
-             },
 
-             handleCheckAllChange(e){
 
-                 var list = this.$refs.tree.store._getAllNodes();
 
-                 for (let i = 0;i < list.length;i++) {
 
-                     this.$refs.tree.store._getAllNodes()[i].checked = e;
 
-                 }
 
-                 for (var i = 0; i <= this.value.length; i++) {
 
-                     if (this.checked == false) {
 
-                         this.value.splice(this.value.indexOf(this.i), 1)
 
-                     }
 
-                 }
 
-             },
 
-             all(){
 
-             },
 
-             handleNodeClick(e){   //点击节点
 
-                 console.log(e);
 
-             },
 
-             handleCheckChange(e,checked){    //多选框
 
-                 // this.all();
 
-                 this.value = this.$refs.tree.getCheckedKeys().concat(this.$refs.tree.getHalfCheckedKeys())
 
-                 for (var i = 0; i <= this.value.length; i++) {
 
-                     if (this.checked == false) {
 
-                         this.value.splice(this.value.indexOf(this.i), 1)
 
-                     }
 
-                 }
 
-                 console.log(this.value);
 
-             },
 
-             save(){
 
-                 // 获取选中的子节点
 
-                 let checkedKeys = this.$refs.tree.getCheckedKeys();
 
-                 // 获取选中的父节点
 
-                 let hafCheckedKeys = this.$refs.tree.getHalfCheckedKeys();
 
-                 // 合并
 
-                 let functionIdList = checkedKeys.concat(hafCheckedKeys)
 
-                 var  checkedId = functionIdList;
 
-                 console.log(checkedId)
 
-                 //  this.value = checkedId;
 
-                 var that = this;
 
-                 if(checkedId.length===0){
 
-                     this.$message.error('请选择权限');
 
-                     return ;
 
-                 }
 
-                 $.post("{:url('auth')}",{cate:"{$cate}",rolesId:"{$rolesId}",ids:checkedId},function (res) {
 
-                     if(res.code==1){
 
-                         that.$message({
 
-                             message: res.msg,
 
-                             type: 'success',
 
-                             showClose: true,
 
-                             onClose:function () {
 
-                                 parent.layer.closeAll();
 
-                             }
 
-                         });
 
-                     }else {
 
-                         that.$message.error(res.msg);
 
-                     }
 
-                 })
 
-             }
 
-         }
 
-     })
 
-     $(document).on('click','.app-check-all',function(){
 
-         $(".appids").prop("checked", $(this).prop('checked'));
 
-     });
 
-     function checkSubClick(id,_this){
 
-         if($(_this).prop('checked') == true){
 
-             $('.sub_'+id).prop("checked", $(_this).prop('checked'));
 
-         }else {
 
-             $('.sub_'+id).prop("checked", false);
 
-         }
 
-     }
 
- </script>
 
- {/block}
 
 
  |