You've already forked qlg.tsgz.moe
Init Repo
This commit is contained in:
234
hyhproject/admin/view/homemenus/homemenus.js
Executable file
234
hyhproject/admin/view/homemenus/homemenus.js
Executable file
@ -0,0 +1,234 @@
|
||||
var grid;
|
||||
$(function(){
|
||||
$('#headTip').WSTTips({width:90,height:35,callback:function(v){
|
||||
var diff = v?113:53;
|
||||
}});
|
||||
grid = $("#maingrid").WSTGridTree({
|
||||
url:WST.U('admin/homemenus/pageQuery'),
|
||||
pageSize:10000,
|
||||
pageSizeOptions:10000,
|
||||
height:'99%',
|
||||
width:'100%',
|
||||
minColToggle:6,
|
||||
delayLoad :true,
|
||||
rownumbers:true,
|
||||
columns: [
|
||||
{ display: '菜单名称', name: 'menuName', id:"menuId", isSort: false},
|
||||
{ display: '菜单Url', name: 'menuUrl', isSort: false},
|
||||
{ display: '菜单类型', name: 'menuType', width:80,isSort: false,render:function(rowdata, rowindex, value){
|
||||
return (rowdata['menuType']==0)?'用户菜单':'商家菜单';
|
||||
}},
|
||||
{ display: '是否显示', name: 'isShow', width:80,isSort: false,render :function(item, rowindex, value){
|
||||
return '<input type="checkbox" '+((item.isShow==1)?"checked":"")+' class="ipt" lay-skin="switch" lay-filter="isShow" data="'+item.menuId+'" lay-text="显示|隐藏">';
|
||||
}},
|
||||
{ display: '排序号', name: 'menuSort', width:60,isSort: false,render:function(rowdata,rowindex,value){
|
||||
return '<span class="classSort" style="cursor:pointer;color:blue;" ondblclick="changeSort(this,'+rowdata["menuId"]+');">'+rowdata['menuSort']+'</span>';
|
||||
}},
|
||||
{ display: '操作', name: 'op',width:230,isSort: false,render: function (rowdata, rowindex, value){
|
||||
var h = "";
|
||||
if(WST.GRANT.QTCD_01)h += "<a class='btn btn-blue' href='javascript:toEdit(0," + rowdata['menuId'] + ","+rowdata['menuType']+")'><i class='fa fa-plus'></i>添加子菜单</a> ";
|
||||
if(WST.GRANT.QTCD_02)h += "<a class='btn btn-blue' href='javascript:getForEdit("+rowdata["parentId"]+"," + rowdata['menuId'] + ")' href='"+WST.U('admin/homemenus/toEdit','menuId='+rowdata['menuId'])+"'><i class='fa fa-pencil'></i>修改</a> ";
|
||||
if(WST.GRANT.QTCD_03)h += "<a class='btn btn-red' href='javascript:toDel("+rowdata["parentId"]+"," + rowdata['menuId'] + ")'><i class='fa fa-trash-o'></i>删除</a> ";
|
||||
return h;
|
||||
}}
|
||||
],
|
||||
callback:function(){
|
||||
$('.classSort').poshytip({content:'双击修改排序号',showTimeout:0,hideTimeout:1,alignX: 'center',
|
||||
offsetY: 10,timeOnScreen:1000,allowTipHover: false});
|
||||
layui.form.render();
|
||||
}
|
||||
});
|
||||
layui.form.on('switch(isShow)', function(data){
|
||||
var id = $(this).attr("data");
|
||||
if(this.checked){
|
||||
toggleIsShow(id, 1);
|
||||
}else{
|
||||
toggleIsShow(id, 0);
|
||||
}
|
||||
});
|
||||
})
|
||||
|
||||
|
||||
var oldSort;
|
||||
function changeSort(t,id){
|
||||
if(!WST.GRANT.QTCD_02)return;
|
||||
$(t).attr('ondblclick'," ");
|
||||
var html = "<input type='text' id='sort-"+id+"' style='width:30px;padding:2px' onblur='doneChange(this,"+id+")' value='"+$(t).html()+"' />";
|
||||
$(t).html(html);
|
||||
$('#sort-'+id).focus();
|
||||
$('#sort-'+id).select();
|
||||
}
|
||||
function doneChange(t,id){
|
||||
var sort = ($(t).val()=='')?0:$(t).val();
|
||||
if(sort==oldSort){
|
||||
$(t).parent().attr('ondblclick','changeSort(this,'+id+')');
|
||||
$(t).parent().html(parseInt(sort));
|
||||
return;
|
||||
}
|
||||
$.post(WST.U('admin/homemenus/changeSort'),{id:id,menuSort:sort},function(data){
|
||||
var json = WST.toAdminJson(data);
|
||||
if(json.status==1){
|
||||
$(t).parent().attr('ondblclick','changeSort(this,'+id+')');
|
||||
$(t).parent().html(parseInt(sort));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
function toDel(pid,menuId){
|
||||
var box = WST.confirm({content:"删除该菜单会将下边的子菜单也一并删除,您确定要删除吗?",yes:function(){
|
||||
var loading = WST.msg('正在提交数据,请稍后...', {icon: 16,time:60000});
|
||||
$.post(WST.U('admin/homemenus/del'),{menuId:menuId},function(data,textStatus){
|
||||
layer.close(loading);
|
||||
var json = WST.toAdminJson(data);
|
||||
if(json.status=='1'){
|
||||
WST.msg("操作成功",{icon:1});
|
||||
layer.close(box);
|
||||
grid.reload(pid);
|
||||
}else{
|
||||
WST.msg(json.msg,{icon:2});
|
||||
}
|
||||
});
|
||||
}});
|
||||
}
|
||||
|
||||
|
||||
|
||||
function edit(pid,menuId){
|
||||
//获取所有参数
|
||||
var params = WST.getParams('.ipt');
|
||||
params.menuId = menuId;
|
||||
var loading = WST.msg('正在提交数据,请稍后...', {icon: 16,time:60000});
|
||||
$.post(WST.U('admin/homemenus/'+((menuId==0)?"add":"edit")),params,function(data,textStatus){
|
||||
layer.close(loading);
|
||||
var json = WST.toAdminJson(data);
|
||||
if(json.status=='1'){
|
||||
|
||||
WST.msg("操作成功",{icon:1});
|
||||
loadGrid();
|
||||
}else{
|
||||
WST.msg(json.msg,{icon:2});
|
||||
}
|
||||
});
|
||||
}
|
||||
function toggleIsShow(menuId, isShow){
|
||||
if(!WST.GRANT.QTCD_02)return;
|
||||
$.post(WST.U('admin/homemenus/setToggle'), {'menuId':menuId, 'isShow':isShow}, function(data, textStatus){
|
||||
var json = WST.toAdminJson(data);
|
||||
if(json.status=='1'){
|
||||
WST.msg("操作成功",{icon:1});
|
||||
grid.reload(menuId);
|
||||
}else{
|
||||
WST.msg(json.msg,{icon:2});
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
function getForEdit(pid,menuId){
|
||||
$('#menuForm')[0].reset();
|
||||
var loading = WST.msg('正在获取数据,请稍后...', {icon: 16,time:60000});
|
||||
$.post(WST.U('admin/homemenus/get'),{menuId:menuId},function(data,textStatus){
|
||||
layer.close(loading);
|
||||
var json = WST.toAdminJson(data);
|
||||
if(json.menuId){
|
||||
WST.setValues(json);
|
||||
toEdit(json.menuId,pid);
|
||||
}else{
|
||||
WST.msg(json.msg,{icon:2});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function toEdit(menuId,parentId,tId){
|
||||
var title = "编辑";
|
||||
if(menuId==0){
|
||||
$('#menuForm')[0].reset();
|
||||
title = "新增";
|
||||
WST.setValue('isShow',1);
|
||||
}
|
||||
if(parentId>0){
|
||||
$('#menuTypes').hide();
|
||||
}else{
|
||||
$('#menuTypes').show();
|
||||
}
|
||||
if(tId==1){$('#menuType').val(1);}
|
||||
layui.form.render();
|
||||
var box = WST.open({title:title,type:1,content:$('#menuBox'),area: ['550px', '420px'],btn:['确定','取消'],
|
||||
end:function(){$('#menuBox').hide();},yes:function(){
|
||||
$('#menuForm').submit();
|
||||
}});
|
||||
$('#menuForm').validator({
|
||||
fields: {
|
||||
'menuName': {rule:"required;",msg:{required:'请输入菜单名称'}},
|
||||
'menuUrl': {rule:"required;",msg:{required:'请输入菜单Url'}},
|
||||
'menuSort': {rule:"required;integer",msg:{required:'请输入排序号',number:"请输入数字"}}
|
||||
},
|
||||
valid: function(form){
|
||||
var params = WST.getParams('.ipt');
|
||||
params.menuId = menuId;
|
||||
params.parentId = parentId;
|
||||
params.isShow = params.isShow?params.isShow:0;
|
||||
var loading = WST.msg('正在提交数据,请稍后...', {icon: 16,time:60000});
|
||||
$.post(WST.U('admin/homemenus/'+((menuId==0)?"add":"edit")),params,function(data,textStatus){
|
||||
layer.close(loading);
|
||||
var json = WST.toAdminJson(data);
|
||||
if(json.status=='1'){
|
||||
WST.msg("操作成功",{icon:1});
|
||||
$('#menuBox').hide();
|
||||
$('#menuForm')[0].reset();
|
||||
layer.close(box);
|
||||
grid.reload(params.parentId);
|
||||
}else{
|
||||
WST.msg(json.msg,{icon:2});
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
}
|
||||
function loadGrid(){
|
||||
$("#maingrid").WSTGridTree({
|
||||
url:WST.U('admin/homemenus/pageQuery',{menuType:$('#s_menuType').val()}),
|
||||
pageSize:10000,
|
||||
pageSizeOptions:10000,
|
||||
height:'99%',
|
||||
width:'100%',
|
||||
minColToggle:6,
|
||||
delayLoad :true,
|
||||
rownumbers:true,
|
||||
columns: [
|
||||
{ display: '菜单名称', name: 'menuName', id:"menuId", isSort: false},
|
||||
{ display: '菜单Url', name: 'menuUrl', isSort: false},
|
||||
{ display: '菜单类型', name: 'menuType', width:80,isSort: false,render:function(rowdata, rowindex, value){
|
||||
return (rowdata['menuType']==0)?'用户菜单':'商家菜单';
|
||||
}},
|
||||
{ display: '是否显示', name: 'isShow', width:80,isSort: false,render :function(item, rowindex, value){
|
||||
return '<input type="checkbox" '+((item.isShow==1)?"checked":"")+' class="ipt" lay-skin="switch" lay-filter="isShow" data="'+item.menuId+'" lay-text="显示|隐藏">';
|
||||
}},
|
||||
{ display: '排序号', name: 'menuSort', width:60,isSort: false,render:function(rowdata,rowindex,value){
|
||||
return '<span style="cursor:pointer;color:blue;" ondblclick="changeSort(this,'+rowdata["menuId"]+');">'+rowdata['menuSort']+'</span>';
|
||||
}},
|
||||
{ display: '操作', name: 'op',width:230,isSort: false,render: function (rowdata, rowindex, value){
|
||||
var h = "";
|
||||
if(WST.GRANT.QTCD_01)h += "<a class='btn btn-blue' href='javascript:toEdit(0," + rowdata['menuId'] + ","+rowdata['menuType']+")'><i class='fa fa-plus'></i>添加子菜单</a> ";
|
||||
if(WST.GRANT.QTCD_02)h += "<a class='btn btn-blue' href='javascript:getForEdit("+rowdata["parentId"]+"," + rowdata['menuId'] + ")' href='"+WST.U('admin/homemenus/toEdit','menuId='+rowdata['menuId'])+"'><i class='fa fa-pencil'></i>修改</a> ";
|
||||
if(WST.GRANT.QTCD_03)h += "<a class='btn btn-red' href='javascript:toDel("+rowdata["parentId"]+"," + rowdata['menuId'] + ")'><i class='fa fa-trash-o'></i>删除</a> ";
|
||||
return h;
|
||||
}}
|
||||
],
|
||||
callback:function(){
|
||||
layui.form.render();
|
||||
}
|
||||
});
|
||||
layui.form.on('switch(isShow)', function(data){
|
||||
var id = $(this).attr("data");
|
||||
if(this.checked){
|
||||
toggleIsShow(id, 1);
|
||||
}else{
|
||||
toggleIsShow(id, 0);
|
||||
}
|
||||
});
|
||||
}
|
78
hyhproject/admin/view/homemenus/list.html
Executable file
78
hyhproject/admin/view/homemenus/list.html
Executable file
@ -0,0 +1,78 @@
|
||||
{extend name="base" /}
|
||||
{block name="css"}
|
||||
<link rel="stylesheet" type="text/css" href="__ADMIN__/js/mmgrid/mmGrid.css?v={$v}" />
|
||||
{/block}
|
||||
{block name="js"}
|
||||
<script src="__ADMIN__/js/wstgridtree.js?v={$v}" type="text/javascript"></script>
|
||||
<script src="__ADMIN__/homemenus/homemenus.js?v={$v}" type="text/javascript"></script>
|
||||
{/block}
|
||||
{block name="main"}
|
||||
<style>.mmGrid{border-bottom:0px;}</style>
|
||||
<div id='alertTips' class='alert alert-success alert-tips fade in'>
|
||||
<div id='headTip' class='head'><i class='fa fa-lightbulb-o'></i>操作说明</div>
|
||||
<ul class='body'>
|
||||
<li>本功能为开发者功能,主要用于设置电脑版买家和买家菜单,普通使用者请勿随意修改,以免影响系统使用。</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="wst-toolbar">
|
||||
<select id='s_menuType' onchange='loadGrid()'>
|
||||
<option value='-1'>菜单类型</option>
|
||||
<option value='0'>用户菜单</option>
|
||||
<option value='1'>商家菜单</option>
|
||||
</select>
|
||||
{if WSTGrant('QTCD_01')}
|
||||
<button class="btn btn-success f-right" onclick="javascript:toEdit(0)"><i class='fa fa-plus'></i>新增</button>
|
||||
{/if}
|
||||
<div style="clear:both"></div>
|
||||
</div>
|
||||
<div class='wst-grid'>
|
||||
<div class='mmGrid layui-form' id="maingrid"></div>
|
||||
</div>
|
||||
<div id='menuBox' style='display:none'>
|
||||
<form id='menuForm'>
|
||||
<table class='wst-form wst-box-top'>
|
||||
<tr>
|
||||
<th>菜单名称<font color='red'>*</font>:</th>
|
||||
<td>
|
||||
<input type="text" id="menuName" name="menuName" class="ipt" maxLength='20' />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>菜单Url<font color='red'>*</font>:</th>
|
||||
<td>
|
||||
<input type="text" id="menuUrl" name="menuUrl" class="ipt" maxLength='200' style='width:300px'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>附加资源:</th>
|
||||
<td>
|
||||
<textarea id="menuOtherUrl" name="menuOtherUrl" class="ipt" style='width:80%'></textarea>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr id="menuTypes">
|
||||
<th>菜单类型<font color='red'>*</font>:</th>
|
||||
<td>
|
||||
<select id="menuType" class="ipt">
|
||||
<option value="0">用户菜单</option>
|
||||
<option value="1">商家菜单</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th>菜单排序<font color='red'>*</font>:</th>
|
||||
<td>
|
||||
<input type="text" id="menuSort" name="menuSort" class="ipt" maxLength='20' />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>是否显示<font color='red'> </font>:</th>
|
||||
<td class="layui-form">
|
||||
<input type="checkbox" id="isShow" name="isShow" value="1" class="ipt" lay-skin="switch" lay-filter="isShow1" lay-text="显示|隐藏">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
{/block}
|
Reference in New Issue
Block a user