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
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();
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|