You've already forked qlg.tsgz.moe
Init Repo
This commit is contained in:
241
hyhproject/admin/view/datas/datas.js
Executable file
241
hyhproject/admin/view/datas/datas.js
Executable file
@ -0,0 +1,241 @@
|
||||
var zTree,mmg,rMenu,diff = 0;
|
||||
function layout(){
|
||||
var h = WST.pageHeight();
|
||||
var w = WST.pageWidth();
|
||||
$('.j-layout').width(w-10);
|
||||
$('.j-layout-left').width(200).height(h-98);
|
||||
$('.j-layout-center').width(w-220).height(h-98);
|
||||
$('#headTip').WSTTips({width:90,height:35,callback:function(v){
|
||||
diff = v?98:53;
|
||||
$('.j-layout-left').height(h-diff);
|
||||
$('#menuTree').height(h-diff-40);
|
||||
$('.j-layout-center').height(h-diff);
|
||||
if(mmg)mmg.resize({height:h-diff-110});
|
||||
}});
|
||||
}
|
||||
function initGrid(id){
|
||||
var h = WST.pageHeight();
|
||||
var cols = [
|
||||
{title:'数据名称', name:'dataName', width: 100},
|
||||
{title:'数据值', name:'dataVal' ,width:100},
|
||||
{title:'排序号', name:'dataSort' ,width:10},
|
||||
{title:'操作', name:'' ,width:60, align:'center', renderer: function(val,item,rowIndex){
|
||||
var h = "";
|
||||
if(WST.GRANT.SJGL_02)h += "<a class='btn btn-blue' onclick='javascript:getForEdit(" + item['id'] + ")'><i class='fa fa-pencil'></i>编辑</a> ";
|
||||
if(WST.GRANT.SJGL_03)h += "<a class='btn btn-red' onclick='javascript:toDel(" + item['id'] + ","+item['catId']+")'><i class='fa fa-trash-o'></i>删除</a> ";
|
||||
return h;
|
||||
}}
|
||||
];
|
||||
mmg = $('.mmg').mmGrid({height: (diff==0)?(h-205):(h-diff-110),cols: cols,method:'POST',indexCol: true,
|
||||
url: WST.U("admin/datas/childQuery"), fullWidthRows: true, autoLoad: false,
|
||||
plugins: [
|
||||
$('#pg').mmPaginator({})
|
||||
]
|
||||
});
|
||||
mmg.load({id:id});
|
||||
$('#m_add').click(function(){
|
||||
treeNode = zTree.getSelectedNodes()[0];
|
||||
editMenu({menuId:0,menuName:'',parentId:treeNode.id,pnode:treeNode,menuSort:0});
|
||||
});
|
||||
$('#m_edit').click(function(){
|
||||
treeNode = zTree.getSelectedNodes()[0];
|
||||
getForEditMenu(treeNode.id);
|
||||
return false;
|
||||
});
|
||||
$('#m_del').click(function(){
|
||||
treeNode = zTree.getSelectedNodes()[0];
|
||||
layer.confirm('您确定要删除该菜单['+treeNode.name+']吗?', {btn: ['确定','取消']}, function(){
|
||||
var loading = WST.msg('正在提交请求,请稍后...', {icon: 16,time:60000});
|
||||
$.post(WST.U('admin/datacats/del'),{id:treeNode.id},function(data,textStatus){
|
||||
layer.close(loading);
|
||||
var json = WST.toAdminJson(data);
|
||||
if(json.status=='1'){
|
||||
WST.msg("操作成功",{icon:1});
|
||||
zTree.reAsyncChildNodes(treeNode.getParentNode(), "refresh",true);
|
||||
}else{
|
||||
WST.msg(json.msg,{icon:2});
|
||||
}
|
||||
});
|
||||
});
|
||||
return false;
|
||||
});
|
||||
isInit = true;
|
||||
}
|
||||
var isInit = false;
|
||||
$(window).resize(function(){layout();});
|
||||
$(function(){
|
||||
layout();
|
||||
$('#menuTree').height(WST.pageHeight()-95);
|
||||
var setting = {
|
||||
view: {
|
||||
selectedMulti: false,
|
||||
dblClickExpand:false
|
||||
},
|
||||
async: {
|
||||
enable: true,
|
||||
url:WST.U('admin/datacats/listQuery'),
|
||||
autoParam:["id", "name=n", "level=lv"]
|
||||
},
|
||||
callback:{
|
||||
onRightClick: onRightClick,
|
||||
onClick: onClick,
|
||||
onAsyncSuccess: onAsyncSuccess
|
||||
}
|
||||
};
|
||||
$.fn.zTree.init($("#menuTree"), setting);
|
||||
zTree = $.fn.zTree.getZTreeObj("menuTree");
|
||||
rMenu = $("#rMenu");
|
||||
});
|
||||
function loadGrid(id){
|
||||
mmg.load({id:id,page:1});
|
||||
}
|
||||
function onAsyncSuccess(event, treeId, treeNode, msg){
|
||||
var json = WST.toAdminJson(msg);
|
||||
if(json && json.id==0){
|
||||
var treeNode = zTree.getNodeByTId('menuTree_1');
|
||||
zTree.reAsyncChildNodes(treeNode, "refresh",true);
|
||||
zTree.expandAll(treeNode,true);
|
||||
}
|
||||
}
|
||||
function onClick(e,treeId, treeNode){
|
||||
if(treeNode.id>0){
|
||||
$('.wst-toolbar').show();
|
||||
$('#maingrid').show();
|
||||
}else{
|
||||
$('.wst-toolbar').hide();
|
||||
$('#maingrid').hide();
|
||||
}
|
||||
if(!isInit){
|
||||
initGrid(treeNode.id);
|
||||
}else{
|
||||
loadGrid(treeNode.id);
|
||||
}
|
||||
}
|
||||
function onRightClick(event, treeId, treeNode) {
|
||||
if(!treeNode)return;
|
||||
if(!WST.GRANT.CDGL_01 && !WST.GRANT.CDGL_02 && !WST.GRANT.CDGL_03)return;
|
||||
if(!treeNode && event.target.tagName.toLowerCase() != "button" && $(event.target).parents("a").length == 0) {
|
||||
zTree.cancelSelectedNode();
|
||||
showRMenu("root", event.clientX, event.clientY);
|
||||
}else if(treeNode && !treeNode.noR) {
|
||||
zTree.selectNode(treeNode);
|
||||
showRMenu("node", event.clientX, event.clientY);
|
||||
}
|
||||
}
|
||||
function showRMenu(type, x, y) {
|
||||
$("#rMenu ul").show();
|
||||
y += document.body.scrollTop;
|
||||
x += document.body.scrollLeft;
|
||||
rMenu.css({"top":y+"px", "left":x+"px", "visibility":"visible"});
|
||||
$("body").bind("mousedown", onBodyMouseDown);
|
||||
}
|
||||
function hideRMenu() {
|
||||
if (rMenu) rMenu.css({"visibility": "hidden"});
|
||||
$("body").unbind("mousedown", onBodyMouseDown);
|
||||
}
|
||||
function onBodyMouseDown(event){
|
||||
if (!(event.target.id == "rMenu" || $(event.target).parents("#rMenu").length>0)) {
|
||||
rMenu.css({"visibility" : "hidden"});
|
||||
}
|
||||
}
|
||||
function getForEditMenu(id){
|
||||
var loading = WST.msg('正在获取数据,请稍后...', {icon: 16,time:60000});
|
||||
$.post(WST.U('admin/datacats/get'),{id:id},function(data,textStatus){
|
||||
layer.close(loading);
|
||||
var json = WST.toAdminJson(data);
|
||||
if(json.catId){
|
||||
editMenu(json);
|
||||
}else{
|
||||
WST.msg(json.msg,{icon:2});
|
||||
}
|
||||
});
|
||||
}
|
||||
function editMenu(obj){
|
||||
WST.setValues(obj);
|
||||
var box = WST.open({ title:(obj.catId==0)?'新增数据分类':"编辑数据分类",type: 1,area: ['430px', '190px'],
|
||||
content:$('#menuBox'),
|
||||
btn:['确定','取消'],
|
||||
end:function(){$('#menuBox').hide();},
|
||||
yes: function(index, layero){
|
||||
if(!$('#catName').isValid())return;
|
||||
if(!$('#catCode').isValid())return;
|
||||
var params = WST.getParams('.ipt2');
|
||||
params.catId = obj.catId;
|
||||
var loading = WST.msg('正在提交数据,请稍后...', {icon: 16,time:60000});
|
||||
$.post(WST.U('admin/datacats/'+((params.catId)?"edit":"add")),params,function(data,textStatus){
|
||||
layer.close(loading);
|
||||
var json = WST.toAdminJson(data);
|
||||
if(json.status=='1'){
|
||||
WST.msg("操作成功",{icon:1});
|
||||
layer.close(box);
|
||||
$('#menuForm')[0].reset();
|
||||
treeNode = zTree.getNodeByTId('menuTree_1');
|
||||
zTree.reAsyncChildNodes(treeNode, "refresh",true);
|
||||
}else{
|
||||
WST.msg(json.msg,{icon:2});
|
||||
}
|
||||
});
|
||||
}});
|
||||
}
|
||||
|
||||
function getForEdit(id){
|
||||
var loading = WST.msg('正在获取数据,请稍后...', {icon: 16,time:60000});
|
||||
$.post(WST.U('admin/datas/get'),{id:id},function(data,textStatus){
|
||||
layer.close(loading);
|
||||
var json = WST.toAdminJson(data);
|
||||
if(json.id){
|
||||
WST.setValues(json);
|
||||
toEdit(json.id);
|
||||
}else{
|
||||
WST.msg(json.msg,{icon:2});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function toEdit(id){
|
||||
var title = "新增数据";
|
||||
if(id>0){
|
||||
title = "编辑数据";
|
||||
}else{
|
||||
$('#dataForm')[0].reset();
|
||||
}
|
||||
var box = WST.open({title:title,type:1,content:$('#dataBox'),area: ['450px', '240px'],btn:['确定','取消'],
|
||||
end:function(){$('#dataBox').hide();},
|
||||
yes:function(){
|
||||
if(!$('#dataName').isValid())return;
|
||||
if(!$('#dataVal').isValid())return;
|
||||
var params = WST.getParams('.ipt');
|
||||
params.catId = zTree.getSelectedNodes()[0].id;
|
||||
params.id = id;
|
||||
var loading = WST.msg('正在提交数据,请稍后...', {icon: 16,time:60000});
|
||||
$.post(WST.U('admin/datas/'+((id==0)?"add":"edit")),params,function(data,textStatus){
|
||||
layer.close(loading);
|
||||
var json = WST.toAdminJson(data);
|
||||
if(json.status=='1'){
|
||||
WST.msg("操作成功",{icon:1});
|
||||
$('#dataForm')[0].reset();
|
||||
layer.close(box);
|
||||
loadGrid(params.catId);
|
||||
}else{
|
||||
WST.msg(json.msg,{icon:2});
|
||||
}
|
||||
});
|
||||
}});
|
||||
}
|
||||
|
||||
function toDel(id,pid){
|
||||
var box = WST.confirm({content:"您确定要删除该数据吗?",yes:function(){
|
||||
var loading = WST.msg('正在提交数据,请稍后...', {icon: 16,time:60000});
|
||||
$.post(WST.U('admin/datas/del'),{id:id},function(data,textStatus){
|
||||
layer.close(loading);
|
||||
var json = WST.toAdminJson(data);
|
||||
if(json.status=='1'){
|
||||
WST.msg("操作成功",{icon:1});
|
||||
layer.close(box);
|
||||
loadGrid(pid);
|
||||
}else{
|
||||
WST.msg(json.msg,{icon:2});
|
||||
}
|
||||
});
|
||||
}});
|
||||
}
|
77
hyhproject/admin/view/datas/list.html
Executable file
77
hyhproject/admin/view/datas/list.html
Executable file
@ -0,0 +1,77 @@
|
||||
{extend name="base" /}
|
||||
{block name="css"}
|
||||
<link href="__ADMIN__/js/ztree/css/zTreeStyle/zTreeStyle.css?v={$v}" rel="stylesheet" type="text/css" />
|
||||
<link rel="stylesheet" type="text/css" href="__ADMIN__/js/mmgrid/mmGrid.css?v={$v}" />
|
||||
{/block}
|
||||
{block name="js"}
|
||||
<script src="__ADMIN__/js/ztree/jquery.ztree.all-3.5.js?v={$v}"></script>
|
||||
<script src="__ADMIN__/js/mmgrid/mmGrid.js?v={$v}" type="text/javascript"></script>
|
||||
<script src="__ADMIN__/datas/datas.js?v={$v}" type="text/javascript"></script>
|
||||
{/block}
|
||||
{block name="main"}
|
||||
<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>
|
||||
<li>该功能为开发者功能,普通使用者请勿随意修改,以免影响系统使用。</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="j-layout">
|
||||
<div class='j-layout-left'>
|
||||
<div class='j-layout-panel layui-colla-title'>数据分类管理</div>
|
||||
<ul id="menuTree" class="ztree" style='overflow:auto'></ul>
|
||||
</div>
|
||||
<div class='j-layout-center' style='border:1px solid #ccc;float:left;margin-left:5px;'>
|
||||
<div class='j-layout-panel layui-colla-title'>数据管理</div>
|
||||
{if WSTGrant('SJGL_01')}
|
||||
<div class="wst-toolbar" style='display:none'>
|
||||
<button class="btn btn-success f-right" onclick='javascript:toEdit(0)'><i class='fa fa-plus'></i>新增</button>
|
||||
<div style='clear:both'></div>
|
||||
</div>
|
||||
{/if}
|
||||
<div id="maingrid" style='display:none'>
|
||||
<div id="mmg" class="mmg"></div>
|
||||
<div id="pg" style="text-align: right;"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id='menuBox' style='display:none'>
|
||||
<form id='menuForm'>
|
||||
<table class='wst-form wst-box-top'>
|
||||
<tr>
|
||||
<th width='100'>数据分类名称<font color='red'>*</font>:</th>
|
||||
<td><input type='text' id='catName' class='ipt2' data-rule="数据分类名称: required;"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th width='100'>数据分类代码<font color='red'>*</font>:</th>
|
||||
<td><input type='text' id='catCode' class='ipt2' data-rule="数据分类代码: required;" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<div id='dataBox' style='display:none'>
|
||||
<form id='dataForm' autocomplete='off'>
|
||||
<table class='wst-form wst-box-top'>
|
||||
<tr>
|
||||
<th width='100'>数据名称<font color='red'>*</font>:</th>
|
||||
<td><input type='text' id='dataName' class='ipt' data-rule="数据名称: required;"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>数据值<font color='red'>*</font>:</th>
|
||||
<td><input type='text' id='dataVal' class='ipt' data-rule="数据值: required;"/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>排序号<font color='red'> </font>:</th>
|
||||
<td><input onkeypress='return WST.isNumberKey(event);' onkeyup="javascript:WST.isChinese(this,1)" type='text' id='dataSort' class='ipt' /></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
</div>
|
||||
<div id="rMenu">
|
||||
<ul>
|
||||
{if WSTGrant('SJFL_01')}<li id="m_add" >新增分类</li>{/if}
|
||||
{if WSTGrant('SJFL_02')}<li id="m_edit">编辑分类</li>{/if}
|
||||
{if WSTGrant('SJFL_03')}<li id="m_del" style='border-bottom:0px;'>删除分类</li>{/if}
|
||||
</ul>
|
||||
</div>
|
||||
{/block}
|
Reference in New Issue
Block a user