You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

207 lines
6.9 KiB

4 years ago
define(function (require, exports, module) {
//引入业务类基类
var BaseBiz = require('apps/rht/base/rhtBiz');
var service = require('./bas0405service');
var Add = require('./Add');
var selectedTreeNode;
/**
* 定义业务类对象
* @param vm 界面相关ViewModule
*/
function Biz(vm) {
//继承第一步,构造继承
BaseBiz.call(this, vm);
}
//继承第二步,方法继承
inherits(Biz, BaseBiz);
/**
* @description 点击增加按钮
*/
function btnAddClick() {
if(selectedTreeNode == null) {
Store.messager.err('请选择父节点!');
return false;
}
if(selectedTreeNode.islast == '1') {
Store.messager.err('末级地区不能添加子地区!');
return false;
}
add = new Add(selectedTreeNode, 0);
add.callback = function () {
clearSel();
initTree($('#areaTree'));
}
add.open();
};
/**
* @description 点击编辑按钮
*/
function btnEditClick() {
if(selectedTreeNode == null) {
Store.messager.err('请选择一个节点!');
return false;
}
if(selectedTreeNode.areacode == '*') {
return false;
}
add = new Add(selectedTreeNode, 1);
add.callback = function () {
clearSel();
initTree($('#areaTree'));
}
add.open();
};
/**
* @description 点击删除按钮
*/
function btnDelClick() {
if(selectedTreeNode == null) {
Store.messager.err('请选择一个节点!');
return false;
}
if(selectedTreeNode.isParent) {
Store.messager.err('要删除的节点存在下级节点,不能删除!');
return false;
}
Store.messager.confirm('确认要删除节点吗?',
function (isOK) {
//点击【取消】跳出
if (!isOK) {
return true;
} else { //点击【确定】删除
var ret = service.DeleteArea(selectedTreeNode.areacode);
if(ret.result != 1) {
Store.messager.err('删除失败!' + ret.message);
return false;
}
clearSel();
initTree($('#areaTree'));
}
});
};
/**
* @description 点击树时
* @param {*} e
* @param {*} treeId 树ID
* @param {*} treeNode 节点ID
*/
function onNodeTreeClick(e, treeId, treeNode) {
selectedTreeNode = treeNode;
var ret = service.GetChildArea(selectedTreeNode.areacode);
$('#childArea').datagrid({
data: ret.data
});
};
/**
* @description 清除选中信息和子区域信息
* @param {*} treeObj
*/
function clearSel() {
selectedTreeNode = null;
$('#childArea').datagrid({
data: []
});
}
/**
* @description 初始化树状列表
* @param {*} treeObj 树对象
*/
function initTree(treeObj) {
//树选项
var treeSetting = {
view: {
selectedMulti: false //允许多选
},
// check: {
// enable: true, //允许勾选
// chkboxType: {
// "Y": "s",
// "N": "s"
// } //父节点与子节点勾选关系
// },
data: {
simpleData: {
enable: true //使用简单JSON构建树
}
},
callback: {
onClick: onNodeTreeClick, //单击时响应事件
}
};
//调用插件获取组织信息并组装为树的节点信息
var areaTreeInfo = service.GetAreaTree();
var zTreeNodes = [];
if (areaTreeInfo.result != 1) {
Store.MESSAGER.err(areaTreeInfo.message);
} else {
for (var i = 0, len = areaTreeInfo.data.length; i <= len - 1; i++) {
zTreeNodes.push({
id: areaTreeInfo.data[i].id, //节点ID
pId: areaTreeInfo.data[i].pid, //父节点ID
areacode: areaTreeInfo.data[i].areacode, //地区编码
areaname: areaTreeInfo.data[i].areaname, //地区名称
name: areaTreeInfo.data[i].areacode + '-' + areaTreeInfo.data[i].areaname, //节点显示信息
islast: areaTreeInfo.data[i].islast, //是否末级
remark: areaTreeInfo.data[i].remark, //备注
open: true //是否展开
});
};
};
//创建树
$.fn.zTree.init(treeObj, treeSetting, zTreeNodes);
};
/**
* @description 初始化完毕
*/
Biz.prototype.initCompleted = function () {
$('#childArea').datagrid({
columns:[[
{field:'areacode',title:'地区编码',width:100},
{field:'areaname',title:'地区名称',width:100},
{field:'islast',title:'是否末级',width:100,
formatter: function(value,row,index){
if (row.islast == '1'){
return '是';
} else {
return '否';
}
}
},
{field:'remark',title:'备注',width:100}
]],
striped:true,
ctrlSelect:true
});
//对页面中的元素进行事件绑定
var btnAdd = document.getElementById('btnAdd');
var btnEdit = document.getElementById('btnEdit');
var btnDel = document.getElementById('btnDel');
btnAdd.addEventListener('click', btnAddClick, false);
btnEdit.addEventListener('click', btnEditClick, false);
btnDel.addEventListener('click', btnDelClick, false);
//初始化组织树
initTree($('#areaTree'));
};
return Biz;
});