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.
 
 
 

470 lines
14 KiB

//程序名称:menuExclu.jsp
//程序功能:权限互斥组
//创建日期:2025-06-10
//创建人 : zzx
//控制界面上的mulLine的显示条数
var mulLineShowCount = 15;
var sqlcount = 0;
var selectArray = new Array();
var unselectArray = new Array();
var removeArray = new Array() //更新菜单组中的删除纪录
var turnPage = new turnPageClass();
var turnPageMenu = new turnPageClass();
var turnPageNew = new turnPageClass();
document.onclick = function()
{
obj = event.srcElement ? event.srcElement : event.target;
if (obj.type=="checkbox") {
tArray = searchArray(obj.id);
tagInArray(tArray,obj.id);
}
if (obj.getAttribute("name")=="foldheader") {
tArray = searchArray(obj.id);
var nested = obj.nextElementSibling;
if (nested.style.display=="none") {
nested.style.display='';
} else {
nested.style.display="none";
}
tagShowlistInArray(tArray,obj.id);
}
}
function searchArray(id)
{
for (var i = 0; i < selectArray.length; i++)
{
var aryId1 = "chk_" + selectArray[i][8];
var aryId2 = "fld_" + selectArray[i][8];
if (aryId1 == id || aryId2 == id)
return selectArray;
}
for (var i = 0; i < unselectArray.length; i++)
{
var aryId1 = "chk_" + unselectArray[i][8];
var aryId2 = "fld_" + unselectArray[i][8];
if (aryId1 == id || aryId2 == id)
return unselectArray;
}
}
//查询并列出所有菜单记录
function queryClick() {
var mySql = wrapSql("menumang.menuGrpExcluSql", "menuGrpExcluQuery",
[document.getElementById("excluGrpCode").value,
document.getElementById("excluGrpName").value,
document.getElementById("menuNodeName").value], "systemmanage");
var sqlStr = mySql;
turnPage.queryModal(sqlStr, QueryGrpGrid, 1);
}
/**
* 保存权限互斥组
*/
function saveMenuGrpExcluData()
{
var actionName = document.getElementById("operType").value;
if (actionName == "insert")
{
insert()
}else if (actionName == "update")
{
update();
}else if (actionName == "delete")
{
remove();
}else{
alert("未知的操作 --> " + actionName);
}
}
function addBGroupMenu(){
var gridCount = SourceGrpGrid.mulLineCount;
var currentPage = turnPageNew.pageIndex;
var pageLineNum = turnPageNew.pageLineNum;
let queryAllRecordCount = turnPageNew.queryAllRecordCount;
let iArray = new Array();
for (var i = 0; i< gridCount; i++) {
let offset = i + currentPage * pageLineNum;
if (offset >= queryAllRecordCount)
continue;
if (MenuQueryGrid.getChkNo(i)){
iArray.push(MenuQueryGrid.getRowColData(i,1));
}
}
if(iArray.length === 0){
alert("请先选择要添加的菜单");
return;
}
ajaxSubmit3({
url: "../API/systemmanage/menumang/menuGrpExclu/update",
data: {
excluGrpCodeInput: sourceId,
nodeList: iArray
},
callBackMethod: (flagStr, content, result) => {
alert(content);
if(flagStr === 'Succ'){
queryClick();
}
}
});
}
function cancelClick()
{
divMain.style.display = "";
divSubCmdButton.style.display = "none";
initForm();
}
function addAGroupClick(){
divAddMenu.style.display = "";
divEditMenu.style.display = "none";
document.getElementById('tdA').textContent = 'A 组已有菜单';
document.getElementById('tdB').textContent = 'A 组未有菜单';
let code = document.getElementById("hide1").value;
document.getElementById("hide2").value = "A";
showAllMenuInUnselect(code,"A");
}
function addBGroupClick(){
divAddMenu.style.display = "";
divEditMenu.style.display = "none";
document.getElementById('tdA').textContent = 'B 组已有菜单';
document.getElementById('tdB').textContent = 'B 组未有菜单';
let code = document.getElementById("hide1").value;
document.getElementById("hide2").value = "B";
showAllMenuInUnselect(code,"B");
}
function returnParent(){
divAddMenu.style.display = "none";
divEditMenu.style.display = "";
document.getElementById('tdA').textContent = 'A 组菜单';
document.getElementById('tdB').textContent = 'B 组菜单';
let code = document.getElementById("hide1").value;
showAllMenuInUnselect(code,"AB");
}
function saveSelectMenus(){
let excluCode = document.getElementById("hide1").value;
let type = document.getElementById("hide2").value;
if(excluCode==='' || excluCode == null){
alert("请先选择一个权限互斥组");
return;
}
if(type !== 'A' && type !== 'B'){
alert("不支持的操作类型");
return;
}
let selectNodes = new Array();
let j = 0;
for (var i = 0; i < selectArray.length; i++)
{
//判断是否勾选0-选中
if (selectArray[i][5]== 1){
continue;
}
//判断是否叶子节点0-不是
if(selectArray[i][9]== 0){
continue;
}
selectNodes[j] = selectArray[i][4];
j++;
}
ajaxSubmit3({
url: "../API/systemmanage/menumang/menuGrpExclu/addMenu",
data: {
excluCode: excluCode,
group: type,
nodeList: selectNodes
},
callBackMethod: (flagStr, content, result) => {
alert(content);
}
});
}
/**
* 对界面内容进行校验
* @returns {boolean}
*/
function checkInputInfo(){
var excluGrpCodeInput = document.getElementById("excluGrpCodeInput").value;
var excluGrpNameInput = document.getElementById("excluGrpNameInput").value;
var excluGrpDescInput = document.getElementById("excluGrpDescInput").value;
if( excluGrpCodeInput.trim() === ""){
alert("互斥组编码不能为空");
return false;
}
if( excluGrpNameInput.trim() === ""){
alert("互斥组名称不能为空");
return false;
}
if( excluGrpDescInput.trim() === ""){
alert("描述不能为空");
return false;
}
return true;
}
function insert()
{
//数据校验
if(!checkInputInfo()){
return;
}
var excluGrpCodeInput = document.getElementById("excluGrpCodeInput").value;
var excluGrpNameInput = document.getElementById("excluGrpNameInput").value;
var excluGrpDescInput = document.getElementById("excluGrpDescInput").value;
ajaxSubmit3({
url: "../API/systemmanage/menumang/menuGrpExclu/add",
data: {
excluGrpCodeInput: excluGrpCodeInput,
excluGrpNameInput: excluGrpNameInput,
excluGrpDescInput: excluGrpDescInput
},
callBackMethod: (flagStr,content,result)=> {
alert(content);
if(flagStr == "Succ"){
window.close();
}
}
});
}
function update()
{
//数据校验
if(!checkInputInfo()){
return;
}
var excluGrpCodeInput = document.getElementById("excluGrpCodeInput").value;
var excluGrpNameInput = document.getElementById("excluGrpNameInput").value;
var excluGrpDescInput = document.getElementById("excluGrpDescInput").value;
ajaxSubmit3({
url: "../API/systemmanage/menumang/menuGrpExclu/update",
data: {
excluGrpCodeInput: excluGrpCodeInput,
excluGrpNameInput: excluGrpNameInput,
excluGrpDescInput: excluGrpDescInput
},
callBackMethod: (flagStr,content,result)=> {
alert(content);
if(flagStr == "Succ"){
window.close();
}
}
});
}
/**
* 新增互斥组
*/
function insertClick() {
var name = '权限互斥组编辑'; //网页名称,可为空;
var iWidth = 550; //弹出窗口的宽度;
var iHeight = 350; //弹出窗口的高度;
var iTop = (window.screen.availHeight - iHeight) / 2; //获得窗口的垂直位置
var iLeft = (window.screen.availWidth - iWidth) / 2; //获得窗口的水平位置
let showInfo = window.open('./menuExcluEdit.jsp', name, "status=no,toolbar=no,menubar=no,location=no,resizable=no,scrollbars=0,titlebar=no,height=" + iHeight + ",width=" + iWidth + ",innerHeight=" + iHeight + ",innerWidth=" + iWidth + ",left=" + iLeft + ",top=" + iTop, false);
showInfo.data = {
operType: 'insert'
}
showInfo.focus();
}
/**
* 更新互斥组
*/
function updateClick() {
var selMenuGrpNo = QueryGrpGrid.getSelNo();
if (selMenuGrpNo == 0) {
alert("请选择需要更新的互斥组");
return;
}
var code = QueryGrpGrid.getRowColData(selMenuGrpNo - 1,1);
if (code === '' || code == null) {
alert("请选择需要更新的互斥组");
return;
}
var name = QueryGrpGrid.getRowColData(selMenuGrpNo - 1,2);
var desc = QueryGrpGrid.getRowColData(selMenuGrpNo - 1,3);
var iWidth = 550; //弹出窗口的宽度;
var iHeight = 350; //弹出窗口的高度;
var iTop = (window.screen.availHeight - iHeight) / 2; //获得窗口的垂直位置
var iLeft = (window.screen.availWidth - iWidth) / 2; //获得窗口的水平位置
let showInfo = window.open('./menuExcluEdit.jsp', '权限互斥组编辑', "status=no,toolbar=no,menubar=no,location=no,resizable=no,scrollbars=0,titlebar=no,height=" + iHeight + ",width=" + iWidth + ",innerHeight=" + iHeight + ",innerWidth=" + iWidth + ",left=" + iLeft + ",top=" + iTop, false);
showInfo.data = {
code: code,
name: name,
desc: desc,
operType: 'update'
}
showInfo.focus();
}
/**
* 删除互斥组
*/
function deleteClick() {
var selMenuGrpNo = QueryGrpGrid.getSelNo();
if (selMenuGrpNo == 0) {
alert("请选择需要删除的互斥组");
return;
}
//互斥组编码
var code = QueryGrpGrid.getRowColData(selMenuGrpNo - 1,1);
if(code === "" || code == null){
alert("请选择需要删除的互斥组");
return;
}
if (!confirm("确认要删除这条数据吗?"))
return;
ajaxSubmit3({
url: "../API/systemmanage/menumang/menuGrpExclu/delete",
data: {
hideDelCode: code
},
callBackMethod: (flagStr,content,result)=> {
alert(content);
queryClick();
}
});
}
function editRelationClick(){
let selMenuGrpNo = QueryGrpGrid.getSelNo();
if (selMenuGrpNo == 0) {
alert("请先在列表中选择一个互斥组");
return;
}
//互斥组编码
let code = QueryGrpGrid.getRowColData(selMenuGrpNo - 1,1);
if(code === "" || code == null){
alert("请先在列表中选择一个互斥组");
return;
}
document.getElementById("hide1").value = code;
//隐去需要的元素
divMain.style.display = "none";
showAllMenuInUnselect(code,"AB");
//显示需要的元素
divSubCmdButton.style.display = "";
}
function queryMenuClick(){
var nodeName = document.getElementById("NodeName").value;
var funcProp = document.getElementById("funcProp").value;
let excluCode = document.getElementById("hide1").value;
var param = [
nodeName,
funcProp,
excluCode
]
var mySql = wrapSql("menumang.menuGrpExcluSql", "menuQuery", param, "systemmanage");
var sqlStr=mySql;
turnPageNew.queryModal(sqlStr, MenuQueryGrid,1);
}
function changeClick(){
var selMenuGrpNo = QueryGrpGrid.getSelNo();
if (selMenuGrpNo == 0) {
alert("请选择需要更新的互斥组");
return;
}
var code = QueryGrpGrid.getRowColData(selMenuGrpNo - 1,1);
var validFlag = QueryGrpGrid.getRowColData(selMenuGrpNo - 1,4);
var content = "";
if(validFlag=="0"){
content = "确认要启用这个互斥组吗?";
validFlag = "1";
}else{
content = "确认要停用这个互斥组吗?";
validFlag = "0";
}
if (!confirm(content))
return;
document.getElementById("hideDelCode").value = code;
document.getElementById("operType").value = validFlag;
fm.action = "../API/systemmanage/menumang/menuGrpExclu/change";
ajaxSubmit2(document.getElementById("fm"));
}
function reset(){
document.getElementById('excluGrpCodeInput').value = "";
document.getElementById('excluGrpNameInput').value = "";
document.getElementById('excluGrpDescInput').value = "";
}
function addMenus(){
for (var i = 0; i < unselectArray.length; i++)
{
if (unselectArray[i][5] == 1)
continue;
if (unselectArray[i][7] == 1)
{
removeNode(unselectArray,i);
addNode(selectArray,i);
}
}
paintTree(selectArray,"spanSelectMenuGrpTree");
paintTree(unselectArray,"spanUnselectMenuGrpTree");
}
function removeMenus() {
for (var i = 0; i < selectArray.length; i++)
{
if (selectArray[i][2] != 0)
continue;
if (selectArray[i][5] == 1)
continue;
if (selectArray[i][7] == 1)
{
removeNode(selectArray,i);
addNode(unselectArray,i);
}
}
paintTree(selectArray,"spanSelectMenuGrpTree");
paintTree(unselectArray,"spanUnselectMenuGrpTree");
}
function showAllMenuInUnselect(menuGrpExluCode,type){
ajaxSubmit3({
url: "../API/systemmanage/menumang/menuGrpExclu/queryMenuTree",
data: {
excluCode: menuGrpExluCode,
type: type
},
callBackMethod: (flagStr,content,result)=> {
if(flagStr === "Succ"){
selectArray = result.aMenuList;
unselectArray = result.bMenuList;
paintTree(selectArray,"spanSelectMenuGrpTree");
paintTree(unselectArray,"spanUnselectMenuGrpTree");
}else{
alert(content);
}
}
});
}
function afterSubmit(FlagStr,content,result) {
alert(content);
queryClick();
}