|
@@ -1,99 +1,161 @@
|
|
|
-var dictTree;
|
|
|
-// zTree的参数配置,setting主要是设置一些tree的属性,是本地数据源,还是远程,动画效果,是否含有复选框等等
|
|
|
-var setting = {
|
|
|
- // 复选框
|
|
|
- check : {
|
|
|
- enable : true,
|
|
|
- chkboxType : {
|
|
|
- "Y" : "",
|
|
|
- "N" : ""
|
|
|
- }
|
|
|
- },
|
|
|
- async : {
|
|
|
- enable : true,
|
|
|
- type : 'post',
|
|
|
- url : basePath + "/dict/list"
|
|
|
- },
|
|
|
- data : {
|
|
|
- // 简单的数据源
|
|
|
- simpleData : {
|
|
|
- enable : true,
|
|
|
- idKey : "id",
|
|
|
- pIdKey : "pid",
|
|
|
- rootPId : 0
|
|
|
- },
|
|
|
- key: {
|
|
|
- name: "text"
|
|
|
- }
|
|
|
- }
|
|
|
-};
|
|
|
+var grid_selector = "#grid-table";
|
|
|
+var pager_selector = "#grid-pager";
|
|
|
|
|
|
$(document).ready(function() {
|
|
|
- // 初始化zTree对象
|
|
|
- dictTree = $.fn.zTree.init($("#dictTree"), setting);
|
|
|
+ initGrid();
|
|
|
});
|
|
|
|
|
|
/**
|
|
|
+ * 初始化Grid
|
|
|
+ */
|
|
|
+function initGrid() {
|
|
|
+ resizePageGrid(grid_selector);
|
|
|
+ // 数据表格初始化
|
|
|
+ $(grid_selector).jqGrid({
|
|
|
+ url : basePath + '/dict/list',
|
|
|
+ mtype : "POST", // 提交方式
|
|
|
+ datatype : "json",
|
|
|
+ height : "auto",
|
|
|
+ colNames : [
|
|
|
+ '唯一标识', '编码', '名称', '编码值', '上级', '上级编码', '上级名称', '是否末级', '排序', '备注'
|
|
|
+ ],
|
|
|
+ colModel : [
|
|
|
+ {
|
|
|
+ name : 'id',
|
|
|
+ index : 'id',
|
|
|
+ key : true,
|
|
|
+ hidden : true,
|
|
|
+ sortable : false
|
|
|
+ }, {
|
|
|
+ name : 'code',
|
|
|
+ index : 'code',
|
|
|
+ sortable : false
|
|
|
+ }, {
|
|
|
+ name : 'text',
|
|
|
+ index : 'text',
|
|
|
+ sortable : false
|
|
|
+ }, {
|
|
|
+ name : 'val',
|
|
|
+ index : 'val',
|
|
|
+ sortable : false
|
|
|
+ }, {
|
|
|
+ name : 'pid',
|
|
|
+ index : 'pid',
|
|
|
+ hidden : true,
|
|
|
+ sortable : false
|
|
|
+ }, {
|
|
|
+ name : 'pcode',
|
|
|
+ index : 'pcode',
|
|
|
+ sortable : false
|
|
|
+ }, {
|
|
|
+ name : 'ptext',
|
|
|
+ index : 'ptext',
|
|
|
+ sortable : false
|
|
|
+ }, {
|
|
|
+ name : 'leaf',
|
|
|
+ index : 'leaf',
|
|
|
+ sortable : false
|
|
|
+ }, {
|
|
|
+ name : 'sortno',
|
|
|
+ index : 'sortno',
|
|
|
+ sortable : false
|
|
|
+ }, {
|
|
|
+ name : 'remark',
|
|
|
+ index : 'remark',
|
|
|
+ sortable : false
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ rowNum : _rowNum, // 每页显示记录数
|
|
|
+ rowList : _rowList, // 用于改变显示行数的下拉列表框的元素数组。
|
|
|
+ pager : pager_selector, // 定义翻页用的导航栏
|
|
|
+ rownumbers : true,
|
|
|
+ altRows : true, // 设置为交替行表格,默认为false
|
|
|
+ multiselect : true, // 可以多选
|
|
|
+ loadComplete : function() {
|
|
|
+ var table = this;
|
|
|
+ setTimeout(function() {
|
|
|
+ updatePagerIcons(table);
|
|
|
+ enableTooltips(table);
|
|
|
+ }, 0);
|
|
|
+ },
|
|
|
+ prmNames : {
|
|
|
+ oper : "oper",
|
|
|
+ page : "page",
|
|
|
+ rows : "rows",
|
|
|
+ sort : "sidx",
|
|
|
+ order : "sord"
|
|
|
+ },
|
|
|
+ jsonReader : {
|
|
|
+ root : "list", // json中代表实际模型数据的入口
|
|
|
+ page : "page", // json中代表当前页码的数据
|
|
|
+ total : "pages", // json中代表页码总数的数据
|
|
|
+ records : "total", // json中代表数据行总数的数据
|
|
|
+ repeatitems : false // 如果设为false,则jqGrid在解析json时,会根据name来搜索对应的数据元素
|
|
|
+ },
|
|
|
+ gridComplete : function() {
|
|
|
+ comGridComplete("grid-table", "editRecord");
|
|
|
+ },
|
|
|
+ onPaging : function() {
|
|
|
+ comGridPage("grid-table");
|
|
|
+ }
|
|
|
+ });
|
|
|
+ // 调整jqgrid
|
|
|
+ ajustJqGrid(grid_selector, pager_selector);
|
|
|
+};
|
|
|
+
|
|
|
+/**
|
|
|
* 新增
|
|
|
*/
|
|
|
function addInfo() {
|
|
|
- // 获取勾选节点
|
|
|
- var nodes = dictTree.getCheckedNodes(true);
|
|
|
- if (nodes.length > 1) {
|
|
|
+ // 清空表单信息
|
|
|
+ comClearFormData("#editForm");
|
|
|
+ $('#leaf').selectpicker('refresh');
|
|
|
+
|
|
|
+ //获取选择行
|
|
|
+ var ids = getMultiData(grid_selector);
|
|
|
+ if (ids.indexOf(",") != -1) {
|
|
|
layer.alert("请选择一条记录!");
|
|
|
return;
|
|
|
- } else if (nodes.length == 1) {
|
|
|
- var node = nodes[0];
|
|
|
- if (node.leaf == 'Y') { // 末级节点
|
|
|
+ } else if (!isNull(ids) && ids.indexOf(",") == -1) {
|
|
|
+ var data = $(grid_selector).jqGrid('getRowData', ids);
|
|
|
+ if (data.leaf == 'Y') { // 末级节点
|
|
|
layer.alert("只能在非末级编码下新增!");
|
|
|
return;
|
|
|
- } else { // 非末级节点
|
|
|
- // 清空表单信息
|
|
|
- comClearFormData("#editForm");
|
|
|
- $("#pid").val(node.id);
|
|
|
- $("#ptext").val(node.text);
|
|
|
- $("#pcode").val(node.code);
|
|
|
- // 弹出模态框
|
|
|
- showModelDialog("editWin", "新增");
|
|
|
}
|
|
|
- } else { // 根级节点
|
|
|
- // 清空表单信息
|
|
|
- comClearFormData("#editForm");
|
|
|
- // 弹出模态框
|
|
|
- showModelDialog("editWin", "新增");
|
|
|
+ $("#pid").val(data.id);
|
|
|
+ $("#pcode").val(data.code);
|
|
|
+ $("#ptext").val(data.text);
|
|
|
}
|
|
|
+ // 弹出模态框
|
|
|
+ showModelDialog("editWin", "新增");
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
* 编辑
|
|
|
*/
|
|
|
function editInfo() {
|
|
|
- // 获取勾选节点
|
|
|
- var nodes = dictTree.getCheckedNodes(true);
|
|
|
- if (nodes.length != 1) {
|
|
|
- layer.alert("请选择一条记录!");
|
|
|
- return;
|
|
|
+ // 获取选择行
|
|
|
+ var ids = getMultiData(grid_selector);
|
|
|
+ if (isNull(ids) || ids.indexOf(",") != -1) {
|
|
|
+ layer.alert("请选择且只选择一条记录");
|
|
|
} else {
|
|
|
- var node = nodes[0];
|
|
|
- var pnode = node.getParentNode();
|
|
|
$.ajax({
|
|
|
type : 'POST',
|
|
|
dataType : "json",
|
|
|
data : {
|
|
|
- "id" : node.id
|
|
|
+ "id" : ids
|
|
|
},
|
|
|
url : basePath + '/dict/getRecord',
|
|
|
success : function(data) {
|
|
|
- if (!isNull(pnode)) {
|
|
|
- $("#pid").val(pnode.id);
|
|
|
- $("#pcode").val(pnode.code);
|
|
|
- $("#ptext").val(pnode.text);
|
|
|
- }
|
|
|
+ var selData = $(grid_selector).jqGrid('getRowData', ids);
|
|
|
+ $("#pid").val(selData.pid);
|
|
|
+ $("#pcode").val(selData.pcode);
|
|
|
+ $("#ptext").val(selData.ptext);
|
|
|
$("#id").val(data.id);
|
|
|
$("#text").val(data.text);
|
|
|
$("#code").val(data.code);
|
|
|
$("#val").val(data.val);
|
|
|
- $("#leaf").val(data.leaf);
|
|
|
+ $("#leaf").selectpicker('val', data.leaf);
|
|
|
$("#sortno").val(data.sortno);
|
|
|
$("#remark").val(data.remark);
|
|
|
showModelDialog("editWin", "编辑");
|
|
@@ -109,20 +171,10 @@ function editInfo() {
|
|
|
* 删除
|
|
|
*/
|
|
|
function delInfo() {
|
|
|
- // 获取选择节点
|
|
|
- var nodes = dictTree.getCheckedNodes(true);
|
|
|
- if (nodes.length > 0) {
|
|
|
- var chkIds = "";
|
|
|
- var chkNames = "";
|
|
|
- for (var i = 0; i < nodes.length; i++) {
|
|
|
- if (i != 0) {
|
|
|
- chkIds += ",";
|
|
|
- chkNames += ",";
|
|
|
- }
|
|
|
- chkIds += nodes[i].id;
|
|
|
- chkNames += nodes[i].text;
|
|
|
- }
|
|
|
- layer.confirm('删除所选记录及其下级记录:<br>' + chkNames, {
|
|
|
+ // 获取选择行
|
|
|
+ var ids = getMultiData(grid_selector);
|
|
|
+ if (!isNull(ids)) {
|
|
|
+ layer.confirm('确定删除所选记录及其下级记录吗?', {
|
|
|
icon : 3,
|
|
|
title : '提示'
|
|
|
}, function(index) {
|
|
@@ -130,12 +182,12 @@ function delInfo() {
|
|
|
type : 'POST',
|
|
|
dataType : "json",
|
|
|
data : {
|
|
|
- "ids" : chkIds
|
|
|
+ "ids" : ids
|
|
|
},
|
|
|
url : basePath + '/dict/delRecodes',
|
|
|
success : function(data) {
|
|
|
layer.close(index);
|
|
|
- dictTree.reAsyncChildNodes(null, "refresh");
|
|
|
+ searchRecord();
|
|
|
},
|
|
|
error : function(XMLHttpRequest, textStatus, errorThrown) {
|
|
|
layer.close(index);
|
|
@@ -149,10 +201,16 @@ function delInfo() {
|
|
|
};
|
|
|
|
|
|
/**
|
|
|
- * 刷新
|
|
|
+ * 查询
|
|
|
*/
|
|
|
-function refresh() {
|
|
|
- dictTree.reAsyncChildNodes(null, "refresh");
|
|
|
+function searchRecord() {
|
|
|
+ var srh_pcode = $("#srh_pcode").val();
|
|
|
+ var srh_code = $("#srh_code").val();
|
|
|
+ var srh_text = encodeURI(encodeURI($("#srh_text").val()));
|
|
|
+ $(grid_selector).jqGrid('setGridParam', {
|
|
|
+ url : basePath + "/dict/list?pcode=" + srh_pcode + "&code=" + srh_code + "&text=" + srh_text,
|
|
|
+ page : 1
|
|
|
+ }).trigger("reloadGrid");
|
|
|
};
|
|
|
|
|
|
/**
|
|
@@ -169,7 +227,7 @@ function save() {
|
|
|
if (data && data.success == true) {
|
|
|
layer.alert("数据已成功保存!");
|
|
|
closeWin();
|
|
|
- dictTree.reAsyncChildNodes(null, "refresh");
|
|
|
+ searchRecord();
|
|
|
} else {
|
|
|
layer.alert("数据保存失败!");
|
|
|
}
|