dggzichahu/application/admin/view/oa/oa_menu.html

700 lines
34 KiB
HTML
Executable File

{layout name="layout1" /}
<div class="layui-fluid">
<div class="layui-card">
<div class="layui-card-body">
<div class="layui-collapse like-layui-collapse" lay-accordion="" style="border:1px dashed #c4c4c4">
<div class="layui-colla-item">
<h2 class="layui-colla-title like-layui-colla-title" style="background-color: #fff">操作提示</h2>
<div class="layui-colla-content layui-show">
*配置微信公众号菜单,点击确认,保存菜单并发布至微信公众号。
</div>
</div>
</div>
</div>
<div class="layui-form" lay-filter="">
<div id="app" class="row">
<div class="col-sm-12">
<div class="wechat-reply-wrapper wechat-menu">
<div class="ibox-content clearfix">
<div class="view-wrapper col-sm-4">
<div class="mobile-header">公众号</div>
<section class="view-body">
<div class="time-wrapper"><span class="time">9:36</span></div>
</section>
<div class="menu-footer">
<ul class="flex" id="menu">
{foreach $menu as $item_menu => $val_menu}
<li data-id={$item_menu}>
<span class="active-menu"><i class="icon-sub"></i>{$val_menu.name}</span>
<div class="sub-menu">
<ul>
{foreach $val_menu.sub_button as $item_child => $val_child }
<li data-id={$item_menu}_{$item_child}>
<span class="active-menu" >{$val_child.name}</span>
</li>
{/foreach}
{if count($val_menu.sub_button) <5}
<li data-id={$item_menu}_1 class="add-menu"><i class="icon-add"></i></li>
{/if}
</ul>
</div>
</li>
{/foreach}
{if (!empty($menu) && count($menu) < 3) }
<li data-id={++$item_menu} class="add-menu"><i class="icon-add"></i></li>
{/if}
{if empty($menu) }
<li data-id=1 class="add-menu"><i class="icon-add"></i></li>
{/if}
</ul>
</div>
</div>
<div class="control-wrapper menu-control col-sm-8">
<h3 class="popover-title">菜单名称 <a class="fr del-menu" href="javascript:void(0);" >删除</a></h3>
<p class="tips-txt">已添加子菜单,仅可设置菜单名称。</p>
<div class="layui-form layui-card-header layuiadmin-card-header-auto">
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">菜单名称</label>
<div class="layui-input-block">
<input type="text" name="name" id="menu_name" placeholder="请输入" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline">
<label class="layui-form-label">菜单类型</label>
<div class="layui-input-block">
<select lay-filter="menu_type" class="select" id="menu_type" >
<option value="click">关键字</option>
<option value="view">跳转网页</option>
<option value="miniprogram">小程序</option>
</select>
</div>
</div>
<div class="layui-inline click">
<label class="layui-form-label">关键字</label>
<div class="layui-input-block">
<input type="text" name="key" id="key" placeholder="请输入" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline view" style="display: none" >
<label class="layui-form-label">网页链接</label>
<div class="layui-input-block">
<input type="text" name="url" id="url" placeholder="请输入" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline miniprogram" style="display: none">
<label class="layui-form-label">appid</label>
<div class="layui-input-block">
<input type="text" name="appid" id="appid" placeholder="请输入" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-inline miniprogram" style="display: none">
<label class="layui-form-label">小程序路径</label>
<div class="layui-input-block">
<input type="text" name="pagepath" id="pagepath" placeholder="请输入" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-block">
<button class="layui-btn layui-btn-sm layui-btn-add_menu {$view_theme_color}">确定</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn {$view_theme_color} publish" lay-submit lay-filter="setmnp" >发布菜单</button>
</div>
</div>
</div>
</div>
</div>
</div>
<style>
@charset "UTF-8";
.flex{ display: -webkit-box; display: -moz-box; display: -webkit-flex; display: -moz-flex; display: -ms-flexbox; display: flex; }
#app{padding-bottom: 80px}
#app .layout{ border:1px solid #d7dde4; background:#f5f7f9; position:relative; border-radius:4px; overflow:hidden}
#app .layout-logo{ width:100px; height:30px; background:#5b6270; border-radius:3px; float:left; position:relative; top:15px; left:20px}
#app .layout-copy{ text-align:center; padding:10px 0 20px; color:#9ea7b4}
#app .layout-ceiling{ background:#464c5b; padding:10px 0; overflow:hidden}
#app .layout-ceiling-main{ float:right; margin-right:15px; }
#app .layout-ceiling-main a{ color:#9ba7b5}
#app .layout-breadcrumb{ padding:10px 15px 0}
#app .layout-content{ min-height:200px; margin:15px; overflow:hidden; background:#fff; border-radius:4px; margin-right: 0; }
#app .layout-content-main{ padding-left:10px; position: relative; width: 98.5%; }
#app .layout-copy{ text-align:center; padding:10px 0 20px; color:#9ea7b4}
#app .layout-menu-left{ background:#464c5b}
#app .layout-header{ height:40px; padding-left:15px; background:#fff; box-shadow:0 1px 1px rgba(0,0,0,.1)}
#app .layout-logo-left{ width:90%; height:30px; background:#5b6270; border-radius:3px; margin:15px auto}
#app .m-frame{ position: absolute; background-color: #fff; }
#app .m-tag-item{ display: inline-block}
#app .layout-header{ padding-left:15px; margin-bottom: 5px; }
#table-list{ padding: 25px 25px 0 25px; }
#table-list .mp-search-wrapper{ float: right; margin-left: 12px; }
#table-list .mp-header-wrapper{ overflow: hidden; }
#table-list .mp-header-wrapper h1{ padding-left:15px; float: left; font-size: 18px; line-height: 24px; padding-bottom: 20px; font-weight: 400; color: #464c5b; }
.mp-form{ padding: 20px 20px 20px 0; }
.mp-form .ivu-tree li{ margin: 0; }
.mp-form .ivu-color-picker .ivu-select-dropdown{ left: -38px !important; }
.mp-form .mp-upload{ display: inline-block; }
.mp-form .demo-upload-list{ display: inline-block; width: 60px; height: 60px; text-align: center; line-height: 60px; border: 1px solid transparent; border-radius: 4px; overflow: hidden; background: #fff; position: relative; box-shadow: 0 1px 1px rgba(0,0,0,.2); margin-right: 4px; }
.mp-form .demo-upload-list img{ width: 100%; height: 100%; }
.mp-form .demo-upload-list-cover{ display: none; position: absolute; top: 0; bottom: 0; left: 0; right: 0; background: rgba(0,0,0,.6); }
.mp-form .demo-upload-list:hover .demo-upload-list-cover{ display: block; }
.mp-form .demo-upload-list-cover i{ color: #fff; font-size: 20px; cursor: pointer; margin: 0 2px; }
[v-cloak]{ display: none}
.mp-form .mp-upload-btn{ width:58px; height:58px; line-height:58px; }
.mp-form .add-submit-item .ivu-btn{ position: fixed; left: 0; bottom: 0; border-radius: 0; }
.frameMove-enter-active{ animation-name: slideInLeft; animation-duration: 0.4s !important; }
.frameMove-leave-active{ animation-name: slideOutRight; animation-duration: 0.4s !important; }
.vertical-center-modal{ display: flex; align-items: center; justify-content: center; }
.vertical-center-modal .ivu-modal{ top: 0; }
.vertical-center-modal .ivu-modal-header{ z-index: 9; position: relative; }
.vertical-center-modal .ivu-modal-close{ z-index: 10; }
.layout-header{ height:40px; background:#fff; box-shadow:0 1px 1px rgba(0,0,0,.1); }
.wechat-reply-wrapper .fl{ float: left; }
.wechat-reply-wrapper .fr{ float: right; }
.wechat-reply-wrapper .clearfix:after{ content:"."; display:block; height:0; visibility:hidden; clear:both; }
.wechat-reply-wrapper .ibox-title{ padding:15px; font-size: 16px; border-bottom: 1px solid #e7eaec; }
.wechat-reply-wrapper .ibox-title p{ border-left: 2px solid #2494f2; text-indent: 8px; }
.wechat-reply-wrapper .ibox-content{ padding: 15px;display: flex; flex-wrap: wrap }
.wechat-reply-wrapper .ibox-content .view-wrapper{ position: relative; margin-right: 20px; width: 317px; background-image:url("/static/admin/images/mobile_head.png"); background-repeat: no-repeat; background-position: left top; background-color: #f5f5f5; margin-bottom: 20px;}
.wechat-reply-wrapper .ibox-content .view-wrapper .mobile-header{ position: absolute; left: 0; top: 36px; width: 100%; text-align: center; color: #fff; font-size: 16px; }
.wechat-reply-wrapper .ibox-content .view-wrapper .view-body{ margin-top: 65px; height: 500px; }
.wechat-reply-wrapper .view-wrapper .view-body .time-wrapper{ margin-bottom: 10px; text-align: center; }
.wechat-reply-wrapper .view-wrapper .view-body .time-wrapper .time{ display: inline-block; color: #f5f5f5; display: inline-block; color: #f5f5f5; background: rgba(0,0,0,.3); padding: 3px 8px; border-radius: 3px; font-size: 12px; }
.wechat-reply-wrapper .view-wrapper .view-body .view-item{ display: none; }
.wechat-reply-wrapper .view-wrapper .view-body .view-item.show{ display: none; }
.wechat-reply-wrapper .view-wrapper .view-body .view-item .avatar{ width: 40px; height: 40px; }
.wechat-reply-wrapper .view-wrapper .view-body .view-item .avatar img{ max-width: 100%; height: auto; }
.wechat-reply-wrapper .view-wrapper .view-body .view-item .box-content{ position: relative; max-width: 60%; min-height: 40px; margin-left: 15px; padding: 10px; border: 1px solid #ccc; word-break: break-all; word-wrap: break-word; line-height: 1.5; border-radius: 5px; }
.wechat-reply-wrapper .view-wrapper .view-body .view-item .box-content .picbox{ max-width: 100%; }
.wechat-reply-wrapper .view-wrapper .view-body .view-item .box-content:before{ content: ''; position: absolute; left: -13px; top: 11px; display: block; width: 0; height: 0; border-left: 8px solid transparent; border-right: 8px solid transparent; border-top: 10px solid #ccc; -webkit-transform: rotate(90deg); transform: rotate(90deg); }
.wechat-reply-wrapper .view-wrapper .view-body .view-item .box-content:after{ content: ''; content: ''; position: absolute; left: -12px; top: 11px; display: block; width: 0; height: 0; border-left: 8px solid transparent; border-right: 8px solid transparent; border-top: 10px solid #f5f5f5; -webkit-transform: rotate(90deg); transform: rotate(90deg); }
.wechat-reply-wrapper .submit{text-align: center;}
/* 图文 */
.view-wrapper .view-body .view-item.news-box{ width: 100%; background-color: #fff; border-radius: 5px; }
.view-wrapper .view-body .view-item .vn-content{ padding:0;}
.view-wrapper .view-body .view-item .vn-content .vn-title{ line-height: 1.5; font-size: 16px; }
.view-wrapper .view-body .view-item .vn-content .vn-time{ padding: 5px 0; font-size: 12px; color: #999; }
.view-wrapper .view-body .view-item .vn-content .vn-picture{ width: 100%; height: 150px; background-size: cover; background-position: center center; border-radius: 5px 5px 0 0;}
.view-wrapper .view-body .view-item .vn-content .vn-picture-info{ line-height: 22px; color: #7b7b7b; padding: 0; display: block; overflow: hidden; word-break: break-all; text-overflow: ellipsis; font-size: 12px; white-space: nowrap; }
.view-wrapper .view-body .view-item .vn-more{ display: block; padding: 10px 0 0; border-top: 1px solid #dddddd; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.view-wrapper .view-body .view-item .vn-content .con-item-box{ position: relative; }
.view-wrapper .view-body .view-item .vn-content .con-item-box .first-title{ width: 100%; height: 44px; line-height: 44px; font-size: 14px; position: absolute; left: 0; bottom: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; /*background: rgba(0,0,0,.8);*/ color: #fff; text-indent: 1em; }
.view-wrapper .view-body .view-item .vn-content .con-item-list{ margin-top: 10px; margin:6px 10px 0 10px; border-top: 1px solid #FBFBFB; }
.view-wrapper .view-body .view-item .vn-content .con-item-list .list-tit-info{ width: 70%; line-height: 1.5; word-wrap:break-word; }
.view-wrapper .view-body .view-item .vn-content .con-item-list .list-pic{ width: 20%; min-height: 50px; background-size: cover; background-position: center center; }
/* 音乐 */
.view-wrapper .view-body .view-item.music-box .box-content{ position: relative; width: 100%; background: #080; color: #fff; border-color: #080; }
.view-wrapper .view-body .view-item.music-box .box-content p{ width: 75%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.view-wrapper .view-body .view-item.music-box .box-content .music-icon{ position: absolute; right: 11px; top: 50%; width: 30px; height: 30px; background: #0a0; text-align: center; line-height: 30px; margin-top: -15px; font-size: 16px; }
.view-wrapper .view-body .view-item.music-box .box-content:after{ display: none; }
.view-wrapper .view-body .view-item.music-box .box-content:before{ border-top: 10px solid #080; }
/* 视频 */
.view-wrapper .view-body .view-item.video-box{ width: 100%; background-color: #fff; border: 1px solid #ccc; border-radius: 5px; }
.view-wrapper .view-body .view-item.video-box .vn-title{ overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
/* 右侧控制器 */
.wechat-reply-wrapper .ibox-content .control-wrapper{ position: relative; width: 535px; height: 565px; padding: 0; border: 1px solid #e2e2e2;display: none }
.wechat-reply-wrapper .ibox-content .control-wrapper .control-title{ position: absolute; left: 71px; top: -12px; width: auto; padding: 0 10px; font-size: 20px; background-color: #fff; }
.wechat-reply-wrapper .ibox-content .control-wrapper .control-body{ margin-top: 40px; padding: 0 10px; }
.wechat-reply-wrapper .ibox-content .control-wrapper .control-body .form-group label{ font-weight: normal; }
.wechat-reply-wrapper .ibox-content .control-wrapper .control-body .form-group .tips:after{ content: '*'; color: red; position: absolute; margin-left: 4px; font-weight: bold; line-height: 1.8em; }
.wechat-reply-wrapper .ibox-content .control-wrapper .control-body .form-group .group-item{ position: relative; }
.wechat-reply-wrapper .ibox-content .control-wrapper .control-body .form-group .group-item .file-btn{ position: absolute; right: 15px; top: 0; display: block; width: 66px; border-radius: 6px; cursor: pointer; padding: .5rem; background-color: #18a689; color: #fff; text-align: center; height: 100%; line-height: 23px; }
.wechat-reply-wrapper .ibox-content .control-wrapper .control-body .form-group .group-item textarea{ resize: none; width: 100%; height: 100px; padding: 10px; }
.wechat-reply-wrapper .ibox-content .control-wrapper .control-body .tips-info{ padding-left: 100px; font-size: 12px; color: #737373; }
.wechat-reply-wrapper .ibox-content .control-wrapper .control-body .control-main .control-item{ display: none; }
.wechat-reply-wrapper .ibox-content .control-wrapper .control-body .control-main .control-item.show{ display: block; }
/* 微信菜单定制 */
.wechat-menu{ position: relative; }
.wechat-menu ul{ padding: 0; }
.wechat-menu .menu-footer{ position: absolute; left:0; bottom: -10px; width: 100%; padding-left: 43px; box-sizing: border-box; background: url("/static/admin/images/mobile_foot.png") no-repeat 0 0; border-top: 1px solid #e7e7eb; }
.wechat-menu .menu-footer span{display: block;}
.wechat-menu .menu-footer .icon-add{ background: url("/static/admin/images/index.png") 0 0 no-repeat; width: 14px; height: 14px; vertical-align: middle; display: inline-block; margin-top: -2px; border-bottom: none!important; }
.wechat-menu .menu-footer li{ position: relative; -webkit-flex: 1; -moz-flex:1; -ms-flex: 1; flex: 1; height: 50px; line-height: 50px; text-align: center; cursor: pointer; list-style: none; border: 1px solid transparent; border-right: 1px solid #e7e7eb; }
.wechat-menu .menu-footer .icon-sub{ background: url("/static/admin/images/index.png") 0 -48px no-repeat; width: 7px; height: 7px; vertical-align: middle; display: inline-block; margin-right: 2px; margin-top: -2px; }
.wechat-menu .menu-footer .sub-menu{ position: absolute; border-radius: 3px; border: 1px solid #d0d0d0; display: block; bottom: 60px; width: 100%; background-color: #fafafa; }
.wechat-menu .menu-footer .sub-menu:after{ content: ''; position: absolute; width: 10px; height: 10px; background: #fafafa;-webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); bottom: -5px; border-bottom: 1px solid #d0d0d0; border-right: 1px solid #d0d0d0; left: 50%; margin-left: -5px; }
.wechat-menu .menu-footer .sub-menu li{border-right: 0; border-bottom: 1px solid #d0d0d0;}
.wechat-menu .menu-footer .sub-menu li:last-child{border-bottom: 0;}
.wechat-menu .menu-footer .active{border:1px solid #44b549;}
.wechat-menu .menu-footer .sub-menu li.active{border:1px solid #44b549 !important;}
/* 右侧 */
.wechat-menu .menu-control .popover-title{ padding: 8px 14px; margin: 0; font-size: 14px; background-color: #f7f7f7; border-bottom: 1px solid #ebebeb; border-radius: 5px 5px 0 0; font-weight: 400;wechat-reply-wrapper .ibox-content .control-wrapper }
.wechat-menu .menu-control .popover-title a{ color: #06C; font-size: 12px; }
.wechat-menu .menu-control .tips-txt{line-height: 40px; padding: 0 20px;}
.wechat-reply-wrapper .ibox-content .control-wrapper .control-body.menu-content{ padding: 0 20px; margin-top: 0; }
.wechat-reply-wrapper .ibox-content .control-wrapper .control-body.menu-content .radio{ display: inline-block !important; width: 45%; }
.wechat-reply-wrapper .ibox-content .control-wrapper .control-body.menu-content .menu-control-box {padding: 0 20px;}
.wechat-reply-wrapper .ibox-content .control-wrapper .control-body.menu-content .menu-control-box .radio{ display: block!important; width: 100%; }
.menu-control-box .item{ display: none; }
.menu-control-box .show{ display: block; }
</style>
<script>
layui.config({
version:"{$front_version}",
base: '/static/plug/layui-admin/dist/layuiadmin/' //静态资源所在路径
}).extend({
index: 'lib/index' //主入口模块
}).use(['index','element','table','jquery'], function () {
var $=layui.$
,form = layui.form
//选中状态
$(document).on('click', '.active-menu', function () {
var ids = $(this).parent().attr("data-id");
var id = ids.split("_");
$('.active').removeClass('active');
$(this).addClass("active");
if(id.length < 2){
var one_id = $('.active').parent().index();
menu_info = menu[one_id];
}else{
var two_id = $('.active').parent().index();
var one_id = $('.active').parent().parent().parent().parent().index();
menu_info = menu[one_id].sub_button[two_id];
}
if(menu_info){
menuInfo(menu_info);
$('.menu-control').css('display','block');
}else{
initMenu();
}
})
//删除菜单
$(document).on('click','.del-menu',function() {
var data_id = $('.active').parent();
//用于判断几级菜单
var ids = data_id.attr("data-id");
var id = ids.split("_");
//首页菜单
if(id.length == 1){
var one_id = $('.active').parent().index();
menu.splice(one_id,1);
if(menu.length == 2){
var data_id = parseInt(id[0]) + 1;
$('#menu').append("<li data-id='"+ data_id +" ' class='add-menu'> <i class='icon-add'></i></li>");
}
}else{ //子级菜单
var two_id = $('.active').parent().index();
var one_id = $('.active').parent().parent().parent().parent().index();
menu[one_id].sub_button.splice(two_id,1);
if(menu[one_id].sub_button.length < 5){
var sub_button_id = parseInt(id[1]) + 1
var data_id = id[0]+'_'+ sub_button_id;
if(menu[one_id].sub_button.length == 4){
$('.active').parent().parent().append("<li data-id='"+ data_id +" ' class='add-menu'><i class='icon-add'></i></li>");
}
}
}
$('.active').parent().remove()
$('.active').removeClass('active');
$('.menu-control').css('display','none');
})
//添加菜单
$(document).on('click','.add-menu',function(){
if($('.menu-control').css('display') == 'block' ){
layer.msg('请先确定菜单', {
time: 2000, //2s后自动关闭
});
return false;
}
$(this).removeClass("add-menu");
var ids = $(this).attr("data-id");
var id = ids.split("_");
$('.menu-control').css('display','block');
initMenu();
//首级菜单
if(id.length == 1){
//首级菜单只有一个时
if(menu.length < 2){
var data_id = menu.length + 1
$(this).parent().append("<li data-id='"+data_id+" ' class='add-menu'> <i class='icon-add'></i></li>");
// p=$(this).parent();
$(this).children().remove();
$(this).append("<span class='active-menu'> <i class='icon-sub'></i>一级菜单</span>")
$(this).children().addClass('active');
// p.children(':first').children(':first').trigger('click');
}
//最后一个菜单时
if(menu.length == 2){
$(this).children().remove();
$(this).append("<span class='active-menu'><i class='icon-sub'></i>一级菜单</span>")
$(this).children().addClass('active');
}
var data_id = id[0]+'_'+ 0;
$(this).append("<div class='sub-menu'><ul><li data-id='"+data_id+" 'class='add-menu'><i class='icon-add'></i></li></ul></div>");
}else{ //二级菜单
//不是最后一个时
var one_id = $(this).parent().parent().parent().index();
if(menu[one_id].sub_button.length < 4){
var sub_button_id = parseInt(id[1]) + 1
var data_id = id[0]+'_'+ sub_button_id;
$(this).parent().append("<li data-id='"+data_id+" ' class='add-menu'> <i class='icon-add'></i></li>");
$(this).children().remove();
$(this).append("<span class='active-menu' >二级菜单</span>")
$(this).children().addClass('active');
return 0;
}
//最后一个菜单时
if(menu[one_id].sub_button.length == 4){
$(this).children().remove();
$(this).append("<span class='active-menu'>二级菜单</span>")
}
$(this).children().addClass('active');
}
})
//同步菜单名称
$(document).on('change','#menu_name',function(){
menu_name = $(this).val();
active = $('.active').text(menu_name);
});
//确认添加菜单
$(document).on('click','.layui-btn-add_menu',function(){
var menu_name = $('#menu_name').val();
var menu_type = $('#menu_type').val();
var result =checkData(menu_name,menu_type); //验证数据
if(result){
mergeMenu(menu_name,menu_type); //合并菜单
$('.active').removeClass('active');
$('.menu-control').css('display','none');
}
})
//菜单类型切换
form.on('select(menu_type)', function (data) {
if(data.value == 'click'){
$('.click').css('display','block');
$('.view').css('display','none');
$('.miniprogram').css('display','none');
}
if(data.value == 'view'){
$('.click').css('display','none');
$('.view').css('display','block');
$('.miniprogram').css('display','none');
}
if(data.value == 'miniprogram'){
$('.click').css('display','none');
$('.view').css('display','block');
$('.miniprogram').css('display','block');
}
})
//回显菜单信息
function menuInfo(menu_info) {
$('#menu_name').val(menu_info.name);
$("#menu_type").val(menu_info.type);
form.render('select');
if(menu_info.type == 'click'){
$('.click').css('display','block');
$('.view').css('display','none');
$('.miniprogram').css('display','none');
$('#key').val(menu_info.key);
}
if(menu_info.type == 'view'){
$('.click').css('display','none');
$('.view').css('display','block');
$('.miniprogram').css('display','none');
$('#url').val(menu_info.url);
}
if(menu_info.type == 'miniprogram'){
$('.click').css('display','none');
$('.view').css('display','block');
$('.miniprogram').css('display','block');
$('#url').val(menu_info.url);
$('#appid').val(menu_info.appid);
$('#miniprogram').val(menu_info.pagepath);
}
}
//验证数据
function checkData(name,type){
if(name == ''){
layer.msg('请输入菜单名称', {
time: 2000, //2s后自动关闭
});
return false;
}
switch (type) {
case 'click':
if($('#key').val() == ''){
layer.msg('请输入关键词', {
time: 2000, //2s后自动关闭
});
return false;
}
break;
case 'view':
if($('#url').val() == ''){
layer.msg('请输入网页链接', {
time: 2000, //2s后自动关闭
});
return false;
}
break;
case 'miniprogram':
if($('#url').val() == ''){
layer.msg('请输入网页链接', {
time: 2000, //2s后自动关闭
});
return false;
}
if($('#appid').val() == ''){
layer.msg('请输入appid', {
time: 2000, //2s后自动关闭
});
return false;
}
if($('#pagepath').val() == ''){
layer.msg('请输入小程序路径', {
time: 2000, //20s后自动关闭
});
return false;
}
break;
}
return true;
}
//合并菜单
function mergeMenu(name,type){
var data_id = $('.active').parent();
var ids = data_id.attr("data-id");
var id = ids.split("_");
var data = new Object();
switch (type) {
case 'click':
data = {
'name':name,
'key':$('#key').val(),
'type' : type,
}
break;
case 'view':
data = {
'name':name,
'url':$('#url').val(),
'type' : type,
}
break;
case 'miniprogram':
data = {
'name':name,
'url':$('#url').val(),
'appid':$('#appid').val(),
'pagepath':$('#pagepath').val(),
'type':type,
}
break;
}
if(id.length < 2){ //首级菜单
var one_id = $('.active').parent().index();
data.sub_button = [];
if(menu[one_id]){ //如果存在数组,进行更新
menu[one_id] = data;
return true
}
menu.push(data);
}else{ //子级菜单
var two_id = $('.active').parent().index();
var one_id = $('.active').parent().parent().parent().parent().index();
if(menu[one_id].sub_button[two_id]){ //如果存在数组,进行更新
menu[one_id].sub_button[two_id] = data;
return true;
}
menu[one_id].sub_button.push(data);
}
return true;
}
//初始化菜单
function initMenu(){
$('.click').css('display','block');
$('.view').css('display','none');
$('.miniprogram').css('display','none');
$("#menu_type").val('click');
form.render('select');
$('#menu_name').val('');
$('#url').val('');
$('#key').val('');
$('#appid').val('');
$('#pagepath').val('');
}
//发布
$(document).on('click','.publish',function(){
if(menu.length === 0){
layer.msg('请先设置菜单', {
time: 2000, //20s后自动关闭
});
return false;
}
$.ajax({
url:'{:url("oa/pulishMenu")}',
data:JSON.stringify({button:menu}),
type:'post',
dataType:'json',
contentType:"application/json;charset=utf-8",
success:function (res) {
if(res.code ) {
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 1
, time: 1000
});
} else {
layui.layer.msg(res.msg, {
offset: '15px'
, icon: 2
, time: 2000
});
}
}
})
})
});
var menu = <?php echo json_encode($menu);?>
</script>