You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
346 lines
10 KiB
JavaScript
346 lines
10 KiB
JavaScript
var user_tree;
|
|
var module_tree;
|
|
var user_module_tree;
|
|
|
|
function $(id){
|
|
return document.getElementById(id);
|
|
}
|
|
|
|
function createUserTree(){
|
|
user_tree = new dhtmlXTreeObject("dvUserTree","100%","100%",0);
|
|
user_tree.setSkin('dhx_skyblue');
|
|
user_tree.setImagePath("../images/csh_dhx_skyblue/");
|
|
|
|
var url = "../WorkFlow/WorkFlowGridSource.aspx?handle=usertree&uid="+newGuid();
|
|
user_tree.loadJSON(url,function(){
|
|
|
|
});
|
|
user_tree.enableCheckBoxes(true);
|
|
|
|
user_tree.attachEvent("onClick", function(id){
|
|
initLoading();
|
|
user_tree.setCheck(id,true);
|
|
createUserModuleTree();
|
|
});
|
|
}
|
|
|
|
function createModuleTree(){
|
|
module_tree = new dhtmlXTreeObject("dvModuleTree","100%","100%",0);
|
|
module_tree.setSkin('dhx_skyblue');
|
|
module_tree.setImagePath("../images/csh_dhx_skyblue/");
|
|
|
|
var url = "../Modules/ModuleGridSource.aspx?handle=modtree&uid="+newGuid();
|
|
module_tree.loadJSON(url,function(){
|
|
finishLoading();
|
|
});
|
|
|
|
module_tree.enableCheckBoxes(true);
|
|
|
|
module_tree.attachEvent("onCheck", function(id,state){
|
|
var selectedVal = module_tree.getAllSubItems(id);
|
|
var selectedArg = new Array();
|
|
if(selectedVal.indexOf(",") >= 0){
|
|
selectedArg = selectedVal.split(",");
|
|
}else{
|
|
selectedArg.push(selectedVal);
|
|
}
|
|
|
|
if(module_tree.isItemChecked(id)){
|
|
for(var i=0;i<selectedArg.length;i++){
|
|
module_tree.setCheck(selectedArg[i],true);
|
|
}
|
|
}else{
|
|
for(var i=0;i<selectedArg.length;i++){
|
|
module_tree.setCheck(selectedArg[i],false);
|
|
}
|
|
}
|
|
if(module_tree.getParentId(id) != "0"){
|
|
module_tree.setCheck(module_tree.getParentId(id),true)
|
|
}
|
|
});
|
|
|
|
}
|
|
|
|
function createUserModuleTree(){
|
|
user_module_tree = null;
|
|
$("dvUserModuleTree").innerHTML = "";
|
|
user_module_tree = new dhtmlXTreeObject("dvUserModuleTree","100%","100%",0);
|
|
user_module_tree.setSkin('dhx_skyblue');
|
|
user_module_tree.setImagePath("../images/csh_dhx_skyblue/");
|
|
|
|
var selectedUserID = getID(user_tree.getSelectedItemId());
|
|
|
|
var url = "../Modules/ModuleGridSource.aspx?handle=modusertree&seluser="+selectedUserID+"&uid="+newGuid();
|
|
|
|
user_module_tree.enableCheckBoxes(true);
|
|
|
|
user_module_tree.loadJSON(url,function(){
|
|
finishLoading();
|
|
});
|
|
|
|
user_module_tree.attachEvent("onClick", function(id){
|
|
});
|
|
|
|
user_module_tree.attachEvent("onCheck", function(id,state){
|
|
var selectedVal = user_module_tree.getAllSubItems(id);
|
|
var selectedArg = new Array();
|
|
if(selectedVal.indexOf(",") >= 0){
|
|
selectedArg = selectedVal.split(",");
|
|
}else{
|
|
selectedArg.push(selectedVal);
|
|
}
|
|
|
|
if(user_module_tree.isItemChecked(id)){
|
|
for(var i=0;i<selectedArg.length;i++){
|
|
user_module_tree.setCheck(selectedArg[i],true);
|
|
}
|
|
}else{
|
|
for(var i=0;i<selectedArg.length;i++){
|
|
user_module_tree.setCheck(selectedArg[i],false);
|
|
}
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
function createTree(){
|
|
createUserTree();
|
|
createModuleTree();
|
|
}
|
|
|
|
function newGuid(){
|
|
var guid = "";
|
|
for (var i = 1; i <= 32; i++){
|
|
var n = Math.floor(Math.random()*16.0).toString(16);
|
|
guid += n;
|
|
if((i==8)||(i==12)||(i==16)||(i==20))
|
|
guid += "-";
|
|
}
|
|
return guid.toUpperCase();
|
|
}
|
|
|
|
function addUser(){
|
|
var userArg = new Array();
|
|
var modArg = new Array();
|
|
|
|
if(user_tree.getSelectedItemId() != ""){
|
|
selectedUserID = getID(user_tree.getSelectedItemId());
|
|
}
|
|
if(module_tree.getSelectedItemId() != ""){
|
|
selectedModID = module_tree.getSelectedItemId();
|
|
}
|
|
|
|
if(user_tree.getAllChecked().indexOf(",") >= 0){
|
|
alert("每次只能操作一个用户,请重新选择");
|
|
return;
|
|
}else{
|
|
userArg.push(user_tree.getAllChecked());
|
|
}
|
|
|
|
if(module_tree.getAllChecked().indexOf(",") >= 0){
|
|
modArg = module_tree.getAllChecked().split(",");
|
|
}else{
|
|
modArg.push(module_tree.getAllChecked());
|
|
}
|
|
|
|
if (userArg.length > 0 && modArg.length > 0) {
|
|
var htmlArray = [];
|
|
for(var i=0;i<modArg.length;i++){
|
|
var url = "../Modules/ModuleGridSource.aspx?handle=addmod&selmod="+modArg[i]+"&seluser="+userArg[0]+"&uid="+newGuid();
|
|
var loader = dhtmlxAjax.getSync(url);
|
|
if (loader.xmlDoc.responseText!=="1")
|
|
htmlArray.push(loader.xmlDoc.responseText+"\n");
|
|
}
|
|
if (htmlArray.length>0)
|
|
alert(htmlArray.join(''));
|
|
createUserModuleTree();
|
|
}
|
|
}
|
|
|
|
function removeUser(){
|
|
var selectedUserID = null;
|
|
var selectedModID = null;
|
|
|
|
var userArg = new Array();
|
|
var modArg = new Array();
|
|
|
|
if(user_tree.getSelectedItemId() != ""){
|
|
selectedUserID = getID(user_tree.getSelectedItemId());
|
|
}
|
|
if(user_module_tree.getSelectedItemId() != ""){
|
|
selectedModID = user_module_tree.getSelectedItemId();
|
|
}
|
|
|
|
if(user_tree.getAllChecked().indexOf(",") >= 0){
|
|
userArg = user_tree.getAllChecked().split(",");
|
|
alert("每次只能操作一个用户,请重新选择");
|
|
return;
|
|
}else{
|
|
userArg.push(user_tree.getAllChecked());
|
|
}
|
|
|
|
if(user_module_tree.getAllChecked().indexOf(",") >= 0){
|
|
modArg = user_module_tree.getAllChecked().split(",");
|
|
}else{
|
|
modArg.push(getID(user_module_tree.getAllChecked()));
|
|
}
|
|
|
|
if(userArg.length > 0 && modArg.length > 0){
|
|
for(var i=0;i<modArg.length;i++){
|
|
var url = "../Modules/ModuleGridSource.aspx?handle=removemod&selmod="+modArg[i]+"&seluser="+userArg[0]+"&uid="+newGuid();
|
|
var loader = dhtmlxAjax.getSync(url);
|
|
var postStatus = loader.xmlDoc.responseText;
|
|
}
|
|
createUserModuleTree();
|
|
}
|
|
}
|
|
|
|
function mouseMoveImg(obj,type){
|
|
var imgUrl = obj.src;
|
|
var urlArg = imgUrl.split("/");
|
|
|
|
if(type == 1){
|
|
if(urlArg[urlArg.length-1] == "edit_left.gif"){
|
|
var newUrl = "";
|
|
for(var i=0;i<urlArg.length;i++){
|
|
if(i == urlArg.length - 1){
|
|
newUrl += "edit_lefthover.gif";
|
|
}else{
|
|
newUrl += urlArg[i]+"/";
|
|
}
|
|
}
|
|
|
|
obj.src = newUrl;
|
|
}else{
|
|
var newUrl = "";
|
|
for(var i=0;i<urlArg.length;i++){
|
|
if(i == urlArg.length - 1){
|
|
newUrl += "edit_left.gif";
|
|
}else{
|
|
newUrl += urlArg[i]+"/";
|
|
}
|
|
}
|
|
|
|
obj.src = newUrl;
|
|
}
|
|
}else{
|
|
if(urlArg[urlArg.length-1] == "edit_right.gif"){
|
|
var newUrl = "";
|
|
for(var i=0;i<urlArg.length;i++){
|
|
if(i == urlArg.length - 1){
|
|
newUrl += "edit_righthover.gif";
|
|
}else{
|
|
newUrl += urlArg[i]+"/";
|
|
}
|
|
}
|
|
|
|
obj.src = newUrl;
|
|
}else{
|
|
var newUrl = "";
|
|
for(var i=0;i<urlArg.length;i++){
|
|
if(i == urlArg.length - 1){
|
|
newUrl += "edit_right.gif";
|
|
}else{
|
|
newUrl += urlArg[i]+"/";
|
|
}
|
|
}
|
|
obj.src = newUrl;
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
function validateType(strObj){
|
|
var type = 0;
|
|
var result = strObj.substring(0,strObj.indexOf("#"));
|
|
var typeName = strObj.substring(strObj.indexOf("#")+1,strObj.length);
|
|
|
|
switch(typeName){
|
|
case "user":
|
|
type = 1;
|
|
break;
|
|
case "comp":
|
|
type = 2;
|
|
break;
|
|
case "dept":
|
|
type = 3;
|
|
break;
|
|
}
|
|
|
|
return type;
|
|
}
|
|
function getID(strObj){
|
|
var uid = strObj.substring(0,strObj.indexOf("#"));
|
|
return uid;
|
|
}
|
|
String.prototype.trim = function() { return this.replace(/(^\s*)|(\s*$)/g,""); }
|
|
|
|
function finishLoading(){
|
|
$("progressBar").style.display = "none";
|
|
}
|
|
function initLoading(){
|
|
$("progressBar").style.display = "";
|
|
}
|
|
function searchUser(txtObjName){
|
|
var searchVal = $(txtObjName).value;
|
|
var searchType = $("sel_type").value;
|
|
|
|
var searchUserObj = null;
|
|
var searchDeptObj = null;
|
|
|
|
if(searchType == 1){
|
|
var url = "../Modules/ModuleGridSource.aspx?handle=checkuser&searchuser="+escape(searchVal)+"&uid="+newGuid();
|
|
var loader = dhtmlxAjax.getSync(url);
|
|
var postStatus = loader.xmlDoc.responseText;
|
|
|
|
if(postStatus != ""){
|
|
searchUserObj = JSON.parse(postStatus,function(key,value){
|
|
return value;
|
|
});
|
|
}
|
|
|
|
if(user_tree != null){
|
|
for(var i=0;i<searchUserObj.users.length;i++){
|
|
user_tree.selectItem(searchUserObj.users[i].gid+"#user");
|
|
user_tree.setCheck(searchUserObj.users[i].gid+"#user",true);
|
|
}
|
|
}
|
|
}else if(searchType == 2){
|
|
var url = "../Modules/ModuleGridSource.aspx?handle=checkdept&searchdept="+escape(searchVal)+"&uid="+newGuid();
|
|
var loader = dhtmlxAjax.getSync(url);
|
|
var postStatus = loader.xmlDoc.responseText;
|
|
// alert(postStatus);
|
|
if(postStatus != ""){
|
|
searchDeptObj = JSON.parse(postStatus,function(key,value){
|
|
return value;
|
|
});
|
|
}
|
|
if(user_tree != null){
|
|
for(var i=0;i<searchDeptObj.depts.length;i++){
|
|
user_tree.selectItem(searchDeptObj.depts[i].gid+"#dept");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
function searchModule(txtObjName){
|
|
var searchVal = $(txtObjName).value;
|
|
|
|
var searchModuleObj = null;
|
|
|
|
var url = "../Modules/ModuleGridSource.aspx?handle=checkmod&searchmod="+escape(searchVal)+"&uid="+newGuid();
|
|
var loader = dhtmlxAjax.getSync(url);
|
|
var postStatus = loader.xmlDoc.responseText;
|
|
|
|
if(postStatus != ""){
|
|
searchModuleObj = JSON.parse(postStatus,function(key,value){
|
|
return value;
|
|
});
|
|
}
|
|
if(module_tree != null){
|
|
for(var i=0;i<searchModuleObj.mods.length;i++){
|
|
module_tree.selectItem(searchModuleObj.mods[i].gid);
|
|
}
|
|
}
|
|
}
|