etms/asset/js/cetc54/module/module.js

357 lines
12 KiB
JavaScript
Raw Normal View History

/**
* 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);
}
});
}
}
});
}