- 系统管理模块(用户/角色/组织/权限/日志) - 教育培训计划管理模块 - 教育培训实施模块 - 考试管理模块 - 调研问卷管理模块 - 外派培训管理模块 - 年度培训总结模块 - 学习资源管理模块 - 任职资格管理模块 - 即时通讯模块 - APP 版本管理 - 统计分析模块(FineReport) - 代码审查标准和报告(CODE_REVIEW_GUIDE.md, CODE_REVIEW_REPORT.md) - 项目开发指南(PROJECT_GUIDE.md)
357 lines
12 KiB
JavaScript
357 lines
12 KiB
JavaScript
/**
|
||
* Created by jinxs on 2016.06.23.
|
||
*/
|
||
var webroot = $("#hdWebroot").val();
|
||
var rootUrl = webroot + '/module/module/';
|
||
var deleteUrl = rootUrl + 'delete';//删除地址
|
||
var pageTreeBaseUrl = rootUrl + 'getCActionTreeJson';
|
||
$(function () {
|
||
//------------------------属性-------------------------------------
|
||
var listUrl = rootUrl + 'list';//分页数据地址
|
||
var saveUrl = rootUrl + 'save';//保存添加数据地址
|
||
var loadFormUrl = rootUrl + 'get/';//加载表单数据地址
|
||
var menuUrl = rootUrl + 'getModuleList';
|
||
var controllerList = rootUrl + 'controllerList';
|
||
var updateModuleUrl=rootUrl+'updateAllModule';
|
||
var dialogSize = {width: 540, height: '80%'};//弹出窗口大小
|
||
var dialog = $('#dialog');
|
||
var layout = $('#layout');
|
||
var menu = $("#ulMenu");
|
||
var pageTree = $("#pageTree");
|
||
var grid = $('#grid');
|
||
var grid_form = $('#grid_form');
|
||
var cbIsShowAll = $('#cbIsShowAll');
|
||
var btnUpdateModule=$('#btnUpdateModule');
|
||
var selectedNode;//选中的节点
|
||
var op = '';//用于表单中树的操作
|
||
var setting = {
|
||
data: {
|
||
simpleData: {
|
||
enable: true,
|
||
pIdKey: 'parent_id',
|
||
rootPid: 'root'
|
||
}
|
||
},
|
||
view: {
|
||
selectedMulti: false,
|
||
showLine: true
|
||
},
|
||
async: {
|
||
enable: true,
|
||
url: menuUrl
|
||
},
|
||
callback: {
|
||
onAsyncError: function (event, treeId, treeNode, XMLHttpRequest, textStatus, errorThrown) {
|
||
alert("加载模块目录失败!" + errorThrown);
|
||
},
|
||
onAsyncSuccess: function (event, treeId, treeNode, msg) {
|
||
zTree.expandAll(true);
|
||
if (selectedNode && selectedNode != null) {
|
||
var node = zTree.getNodeByParam("id", selectedNode.id);
|
||
zTree.selectNode(node);
|
||
}else {
|
||
selectedNode=zTree.getNodeByTId('root_1');
|
||
zTree.selectNode(selectedNode);
|
||
}
|
||
selectLeftModuleNode();
|
||
},
|
||
onClick: function (event, treeId, treeNode) {
|
||
selectedNode = zTree.getSelectedNodes()[0];
|
||
selectLeftModuleNode();
|
||
}
|
||
}
|
||
};
|
||
var form_setting = $.extend({}, setting, {
|
||
callback: {
|
||
onClick: function (event, treeId, treeNode) {
|
||
$('#parent_id').uiCombo('setValue', treeNode.id).uiCombo('setText', treeNode.name).uiCombo('hidePanel');
|
||
}
|
||
}
|
||
});
|
||
//-----------------------初始化--------------------------------------
|
||
layout.uiLayout();
|
||
$.fn.zTree.init(menu, setting);
|
||
var zTree = $.fn.zTree.getZTreeObj("ulMenu");
|
||
loadControllerList();
|
||
initGrid();
|
||
initForm();
|
||
addEvents();
|
||
|
||
//-------------------------------------方法--------------------------------------------------------
|
||
function selectLeftModuleNode(){
|
||
grid.uiGrid('loadData', {
|
||
url: listUrl,
|
||
queryParams: {
|
||
pid: selectedNode.id,
|
||
cascade_id: selectedNode.cascade_id,
|
||
iscascade: cbIsShowAll.is(':checked')
|
||
},
|
||
pageIndex: 1
|
||
});
|
||
}
|
||
function initGrid() {
|
||
//初始化搜索框
|
||
$('#searchbox').uiSearchbox({
|
||
prompt: '模块名称',
|
||
searcher: function (v) {
|
||
grid.uiGrid('loadData', {queryParams: {key: $.trim(v)}, pageIndex: 1});
|
||
}
|
||
});
|
||
//初始化grid
|
||
grid.uiGrid({
|
||
defaultSortField:'cascade_id'
|
||
});
|
||
}
|
||
|
||
function initForm() {
|
||
|
||
dialog.uiDialog({
|
||
width: dialogSize.width,
|
||
height: dialogSize.height,
|
||
onOpen: function () {
|
||
var dialogP = $('#dialog').uiDialog('getUserParam');
|
||
op = dialogP.action;
|
||
var id = dialogP.id;
|
||
switch (op) {
|
||
case 'view':
|
||
case 'edit':
|
||
grid_form.uiForm('load', grid.uiGrid('selectedData')[0]);
|
||
break;
|
||
case 'add':
|
||
grid_form.uiForm('load');
|
||
break;
|
||
default :
|
||
break;
|
||
}
|
||
},
|
||
buttons: [
|
||
{
|
||
id: 'btnOK',
|
||
label: '保存',
|
||
style: 'button_submit',
|
||
icons: {left: 'icon_submit'},
|
||
disabled: false,
|
||
onClick: function () {
|
||
$('#grid_form').uiForm('submit', {
|
||
url: saveUrl,
|
||
onSubmit: function (param) {
|
||
param.id = $('#hdID').val();
|
||
param.parent_name = $('#parent_id').uiCombo('getText');
|
||
var parentid = $('#parent_id').uiCombo('getValue');
|
||
if (parentid == param.id) {
|
||
showResult(false, '上级菜单不允许选择当前菜单');
|
||
return false;
|
||
}
|
||
var isValid = $('#grid_form').uiForm('validate');
|
||
|
||
return isValid; // 返回false终止表单提交
|
||
},
|
||
success: function (result) {
|
||
if (result.success) {
|
||
zTree.reAsyncChildNodes(null, 'refresh');
|
||
dialog.uiDialog('close');
|
||
}
|
||
showResult(result.success, result.message);
|
||
}
|
||
});
|
||
return false;
|
||
}
|
||
},
|
||
{
|
||
id: 'btnCancel',
|
||
label: '关闭',
|
||
icons: {left: 'icon_cancel'},
|
||
disabled: false,
|
||
style: 'button_cancel',
|
||
onClick: function () {
|
||
dialog.uiDialog('close');
|
||
}
|
||
}
|
||
]
|
||
});
|
||
|
||
grid_form.uiForm({
|
||
template: 'grid_form_temp',
|
||
onLoadSuccess: function () {
|
||
var me = $(this);
|
||
$('#is_auto_expand').uiCombobox();
|
||
$('#status').uiCombobox();
|
||
$('#display').uiCombobox();
|
||
$('#moduletype').uiCombobox();
|
||
$('#parent_id').uiCombo();
|
||
$('#name').uiCombo();
|
||
$.fn.zTree.init($('#pn_tree'), form_setting, zTree.getNodes());
|
||
$.fn.zTree.getZTreeObj("pn_tree").expandAll(true);
|
||
$('#parent_id').uiCombo('panel').html($('#pn_tree').show());
|
||
$('#name_panel').removeClass('hide-away').appendTo($('#name').uiCombo('panel'));
|
||
|
||
|
||
switch (op) {
|
||
case 'view':
|
||
parentTree_view();
|
||
me.uiForm('setReadonly', true);
|
||
break;
|
||
case 'edit':
|
||
parentTree_view();
|
||
break;
|
||
case 'add':
|
||
parentTree_add();
|
||
me.uiForm('setReadonly', false);
|
||
break;
|
||
default :
|
||
break;
|
||
}
|
||
function parentTree_add() {
|
||
if (selectedNode && selectedNode != null) {
|
||
$('#parent_id').uiCombo('setValue', selectedNode.id).uiCombo('setText', selectedNode.name);
|
||
}
|
||
}
|
||
|
||
function parentTree_view() {
|
||
var data = grid.uiGrid('selectedData')[0];
|
||
$('#parent_id').uiCombo('setValue', data.parent_id).uiCombo('setText', data.parent_name);
|
||
$('#name').uiCombo('setValue', data.name).uiCombo('setText', data.name);
|
||
}
|
||
}
|
||
});
|
||
}
|
||
|
||
function addEvents() {
|
||
//新建
|
||
$('#btn1').bind('click', function () {
|
||
dialog.uiDialog('setUserParam', {action: 'add', id: 0});
|
||
dialog.uiDialog('button', 'btnOK').show();
|
||
dialog.uiDialog('open');
|
||
dialog.uiDialog('title').html('新增功能模块').show();
|
||
});
|
||
//删除
|
||
$('#btn2').bind('click', function () {
|
||
var ids = grid.uiGrid('selectedData', 'id');
|
||
if (ids.length == 0) {
|
||
showResult(false, '请选择要删除的行!', 'alert');
|
||
} else {
|
||
deleteRow(ids);
|
||
}
|
||
});
|
||
cbIsShowAll.bind('click', function () {
|
||
var selectedNode = zTree.getSelectedNodes()[0];
|
||
if (selectedNode) {
|
||
grid.uiGrid('loadData', {
|
||
url: listUrl,
|
||
queryParams: {
|
||
pid: selectedNode.id,
|
||
cascade_id: selectedNode.cascade_id,
|
||
iscascade: cbIsShowAll.is(':checked')
|
||
},
|
||
pageIndex: 1
|
||
});
|
||
}
|
||
});
|
||
btnUpdateModule.bind('click', function () {
|
||
$.ajax({
|
||
type: 'post',
|
||
url: updateModuleUrl
|
||
});
|
||
});
|
||
}
|
||
|
||
function loadControllerList() {
|
||
$.ajax({
|
||
type: 'post',
|
||
url: controllerList,
|
||
showLoading:false,
|
||
success: function (result) {
|
||
$('#grid_controller').uiGrid({
|
||
localData: result.data
|
||
});
|
||
},
|
||
error: function () {
|
||
showResult(false, '获取Action列表失败!', 'error');
|
||
return false;
|
||
}
|
||
});
|
||
}
|
||
});
|
||
//查看
|
||
function viewRow(id, title) {
|
||
var dialog = $('#dialog');
|
||
title = '-' + title || '';
|
||
dialog.uiDialog('setUserParam', {action: 'view', id: id});
|
||
dialog.uiDialog('open');
|
||
dialog.uiDialog('button', 'btnOK').hide();
|
||
dialog.uiDialog('title').html('查看' + title);
|
||
}
|
||
|
||
//编辑
|
||
function editRow(id,title) {
|
||
var dialog = $('#dialog');
|
||
dialog.uiDialog('setUserParam', {action: 'edit', id: id});
|
||
dialog.uiDialog('button', 'btnOK').show();
|
||
dialog.uiDialog('open');
|
||
dialog.uiDialog('title').html('编辑-'+title).show();
|
||
}
|
||
|
||
// 删除
|
||
function deleteRow(id) {
|
||
deleteData("此操作将其子节点一起删除,确定删除吗?", deleteUrl, {ids: id}, function (result) {
|
||
if (result.success) {
|
||
$.fn.zTree.getZTreeObj("ulMenu").reAsyncChildNodes(null, 'refresh');
|
||
}
|
||
});
|
||
}
|
||
|
||
|
||
//选择action
|
||
var pageTree_setting = {
|
||
data: {
|
||
simpleData: {
|
||
enable: true,
|
||
pIdKey: 'parent_id',
|
||
}
|
||
},
|
||
view: {
|
||
selectedMulti: false,
|
||
showLine: true
|
||
},
|
||
async: {
|
||
enable: true,
|
||
url: pageTreeBaseUrl
|
||
},
|
||
callback: {
|
||
onAsyncError: function (event, treeId, treeNode, XMLHttpRequest, textStatus, errorThrown) {
|
||
alert("加载模块页面与数据信息失败!" + errorThrown);
|
||
},
|
||
onAsyncSuccess: function (event, treeId, treeNode, msg) {
|
||
var tree = $.fn.zTree.getZTreeObj("pageTree");
|
||
tree.expandAll(true);
|
||
}
|
||
}
|
||
};
|
||
function selectRow(displayName, url) {
|
||
$('#name').uiCombo('setValue', displayName).uiCombo('setText', displayName).uiCombo('hidePanel');
|
||
$('#href').val(url);
|
||
$('#moduletype').uiCombobox('setValue',1);
|
||
$('#divPageTree').show();
|
||
pageTree_setting.async.otherParam = {path: url};
|
||
$.fn.zTree.init($('#pageTree'), pageTree_setting);
|
||
}
|
||
|
||
//删除
|
||
function deleteData(confirmText, url, data, callback) {
|
||
$.uiMessagebox.confirm({
|
||
title: '确认操作',
|
||
content: confirmText,
|
||
onClose: function (value) {
|
||
if (value) {
|
||
$.ajax({
|
||
type: 'post',
|
||
url: url,
|
||
data: data,
|
||
success: function (result) {
|
||
callback && callback.call(this, result);
|
||
}
|
||
});
|
||
}
|
||
}
|
||
});
|
||
} |