| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241 | {extend name="common/common2" /}{block name="main"}<style>    .gray-bg{        background-color:transparent!important;    }</style><link rel="stylesheet" href="/admin/css/index.css"><div class="gydef-box" id="group-menus-vueapp">    <div class="indexsub-bread-crumbs-box">        <a href="javascript:;" onclick="window.parent.goindex()" class="active">首页</a>        {if $menuTitle}        <a href="javascript:;" id="onebreadcrumbs">{$menuTitle}</a>        {/if}        {if $menuTitle1}        <a href="javascript:;" id="twobreadcrumbs">{$menuTitle1}</a>        {/if}        {if $menuTitle2}        <a href="javascript:;" id="threebreadcrumbs">{$menuTitle2}</a>        {/if}    </div>    <div class="gydef-search-menu-addgropu-box">        <div class="menu-search-box">            <div class="menu-search-input">                <input type="text" v-model="defMenuName" id="def_menu_name" placeholder="搜索您需要的功能模块">            </div>            <div class="menu-search-img-btn">                <img src="/admin/img/search.png" alt="" @click="searchMenu()">            </div>        </div>        <div class="add-group pull-right"><a href="javascript:;" url="{:url('Index/menugroup')}" data-title="创建分组" onclick="layer_open(this,2)" style="text-decoration: none;color:inherit">创建分组</a></div>    </div>    <div class="gydef-often-module-box">        <div class="gydef-often-module-header">常用模块 </div>        <div class="gydef-often-module-body">            <div class="gydef-often-module-body-info" v-for="(item,index) in cyList" :key="index">                <a href="javascript:;" @click="godef2Click(item.menu_id,item.url)">                    <div class="gydef-menu-info-box">                        <div class="menu-icon">                            <img :src="item.img" alt="">                        </div>                        <div class="menu-name">                            <div class="title">{{item.title}}</div>                            <div class="des">{{item.des}}</div>                        </div>                    </div>                </a>            </div>        </div>    </div>    <div class="gydef-group-module-box">        <div class="gydef-group-module-header">            <div class="gydef-group-name-box">                <div v-for="(item,index) in groupList" :key="index" style="display: inline-block">                    <div v-if="item.id == curGroupId" class="name cur-group-name" @click="clickGroupName(item.id)">{{item.title}}</div>                    <div v-if="item.id != curGroupId" class="name" @click="clickGroupName(item.id)">{{item.title}}</div>                </div>            </div>            <div class="gydef-group-caozuo" v-if="curGroupId > 0">                <div class="edit"><a href="javascript:;" :url="editurl" data-title="编辑" onclick="layer_open(this,2)" style="text-decoration: none;color:inherit">编辑 </a></div><!--                <div class="del"><a href="javascript:;"  :url="delurl" data-confirm="确定要删除此分组吗?" style="text-decoration: none;color:inherit" class="btn confirm ajax-get data-reload">删除</a></div>-->                <div class="del" @click="delGroup()">删除</div>            </div>        </div>        <div class="gydef-group-module-body">            <div class="gydef-often-module-body-info" v-for="(item,index) in menuList" :key="index">                <a href="javascript:;" @click="godef2Click(item.id,item.url)">                    <div class="gydef-menu-info-box">                        <div class="menu-icon">                            <img :src="item.img" alt="">                        </div>                        <div class="menu-name">                            <div class="title">{{item.title}}</div>                            <div class="des">{{item.des}}</div>                        </div>                    </div>                </a>            </div>        </div>    </div></div>{/block}{block name="script"}<script>    var usermenusgroup = {:json_encode($usermenusgroup)};    var usermenus = {:json_encode($usermenus)};    var cys = {:json_encode($cys)};    new Vue({        el: '#group-menus-vueapp',        data: function() {            return {                groupList: usermenusgroup?usermenusgroup:[],                menuList:[],                cyList:cys?cys:[],                curGroupId:0,                editurl:'',                delurl:'',                defMenuName:'',                loading:true,            }        },        watch: {        },        created(){            let curGroupId = this.curGroupId;            let newMenus = [];            usermenus.forEach((item) => {                if(curGroupId == item.id){                    newMenus = item.menus;                }            });            this.menuList = newMenus;        },        methods: {            clickGroupName(e){                const that = this;                that.curGroupId = e;                that.defMenuName = '';                let newMenus = [];                usermenus.forEach((item) => {                    if(e == item.id){                        newMenus = item.menus;                    }                });                that.menuList = newMenus;              that.editurl =  "{:url('Index/menugroup')}?id="+e;              that.delurl =  "{:url('Index/menugroupdel')}?id="+e;            },            delGroup(){                let url = this.delurl;                layer.confirm('是否确认删除?', {                    btn: ['确认', '取消'], //按钮                    shade: false //不显示遮罩                }, function() {                    layer.closeAll();                    $.post(url,{},function (res) {                        if(res.code==0){                            layer.msg(res.msg);                            return;                        }else {                            layer.msg(res.msg,{time:1000},function () {                                window.location.reload();                            });                        }                    },'json')                }, function() {                    layer.closeAll();                });            },            searchMenu(){                let defMenuName = this.defMenuName;                if(defMenuName){                    let newcyList = [];                    cys.forEach((item) => {                        if(item.title.toString().indexOf(defMenuName) != -1){                            newcyList.push(item);                        }                    });                    this.cyList = newcyList;                    let newMenuList = [];                    this.menuList.forEach((item) => {                        if(item.title.toString().indexOf(defMenuName) != -1){                            newMenuList.push(item);                        }                    });                    this.menuList = newMenuList;                }else{                    this.cyList = cys;                    let curGroupId = this.curGroupId;                    let newMenus = [];                    this.menuList = [];                    usermenus.forEach((item) => {                        if(curGroupId == item.id){                            newMenus = item.menus;                        }                    });                    this.menuList = newMenus;                }            },            godef2Click(menuid,url){                if(Number(menuid) != 502){                    let purl = "{:url('Index/umenu')}";                    $.post(purl,{id:menuid},function () {                        // window.location.href = url;                    });                    //                    let url = '{:url("index/def2")}?curmenu=500&menuId='+menuid;                    window.location.href = url;                }else{                    window.open(url,"_blank");                }            },        }    })    function defSearchMenu(){        var menu_name = $('#def_menu_name').val();        var url = '{:url("index/def")}';        $.post(url,{def_menu_name:menu_name},function (e){            if(e.code == 1){            }        })    }    window.addEventListener("message", (e) => {        var tit = e.data;        if(tit.type == 1){            $('#twobreadcrumbs').html(tit.menus);        }else{            $('#threebreadcrumbs').html(tit.menus);        }    });</script>{/block}
 |