fix 优化审批节点逻辑

This commit is contained in:
yubaolee
2025-04-11 13:24:59 +08:00
parent ca9835a039
commit fc9d786a83
3 changed files with 29 additions and 30 deletions

View File

@@ -761,10 +761,10 @@ namespace OpenAuth.App.Flow
/// <summary> /// <summary>
/// 替换SQL中的权限占位符 /// 替换SQL中的权限占位符
/// <para>如select id from sysuser where parentId = {loginUser}</para> /// <para>如当前用户的全部下属select id from sysuser where parentId = {loginUser}</para>
/// <para>替换后select id from sysuser where parentId = '123'</para>
/// <para>如select id from sysuser where parentId = {loginUser}</para>
/// <para>替换后select id from sysuser where parentId = '123'</para> /// <para>替换后select id from sysuser where parentId = '123'</para>
/// <para>如d登录用户同部门的人select id from sysuser where id in (select firstid from relevance where secondid in ({loginOrg}) and relkey = 'UserOrg')</para>
/// <para>替换后: select id from sysuser where id in (select firstid from relevance where secondid in ('123','456') and relkey = 'UserOrg')</para>
/// </summary> /// </summary>
/// <param name="sql"></param> /// <param name="sql"></param>
/// <returns></returns> /// <returns></returns>

View File

@@ -271,26 +271,29 @@
_popoverhtml += '<li>类型:' + _NodeDesignate[item.setInfo.NodeDesignate] + '</li>'; _popoverhtml += '<li>类型:' + _NodeDesignate[item.setInfo.NodeDesignate] + '</li>';
if (item.setInfo.NodeDesignateData != undefined) { if (item.setInfo.NodeDesignateData != undefined) {
var _rowstr = ""; var _rowstr = "";
for (var i in item.setInfo.NodeDesignateData.roles) {
var _postitem = item.setInfo.NodeDesignateData.roles[i]; if(item.setInfo.NodeDesignate == "SPECIAL_ROLE"){ //指定角色
var _one = top.clientroleData[_postitem]; for (var i in item.setInfo.NodeDesignateData.datas) {
_rowstr += ' <span class="label label-success">' + var _postitem = item.setInfo.NodeDesignateData.datas[i];
var _one = top.clientroleData[_postitem];
_rowstr += ' <span class="label label-success">' +
(_one == undefined ? _postitem : _one.FullName) + (_one == undefined ? _postitem : _one.FullName) +
'</span>'; '</span>';
if (i == item.setInfo.NodeDesignateData.roles.length - 1) { if (i == item.setInfo.NodeDesignateData.datas.length - 1) {
_popoverhtml += '<li>角色:' + _rowstr + '</li>'; _popoverhtml += '<li>角色:' + _rowstr + '</li>';
}
} }
} }
else if(item.setInfo.NodeDesignate == "SPECIAL_USER"){ //指定用户
_rowstr = ""; for (var i in item.setInfo.NodeDesignateData.datas) {
for (var i in item.setInfo.NodeDesignateData.users) { var _postitem = item.setInfo.NodeDesignateData.datas[i];
var _postitem = item.setInfo.NodeDesignateData.users[i]; var _one = top.clientuserData[_postitem];
var _one = clientuserData[_postitem]; _rowstr += ' <span class="label label-danger">' +
_rowstr += ' <span class="label label-danger">' +
(_one == undefined ? _postitem : _one.RealName) + (_one == undefined ? _postitem : _one.RealName) +
'</span>'; '</span>';
if (i == item.setInfo.NodeDesignateData.users.length - 1) { if (i == item.setInfo.NodeDesignateData.datas.length - 1) {
_popoverhtml += '<li>用户:' + _rowstr + '</li>'; _popoverhtml += '<li>用户:' + _rowstr + '</li>';
}
} }
} }
} }

View File

@@ -5,8 +5,7 @@ layui.config({
transfer = layui.transfer, transfer = layui.transfer,
$ = layui.jquery; $ = layui.jquery;
var form = layui.form; var form = layui.form;
var users = []; //节点的执行人 var datas = []; //节点的执行人
var roles = []; //节点执行角色
var index = layer.getFrameIndex(window.name); //获取窗口索引 var index = layer.getFrameIndex(window.name); //获取窗口索引
//从flowschemes.js进入的节点信息 //从flowschemes.js进入的节点信息
@@ -48,8 +47,7 @@ layui.config({
//初始化节点设置信息 //初始化节点设置信息
if (node.setInfo != null) { if (node.setInfo != null) {
vm.tmp = Object.assign({}, vm.tmp, node.setInfo) vm.tmp = Object.assign({}, vm.tmp, node.setInfo)
users = node.setInfo.NodeDesignateData.users; datas = node.setInfo.NodeDesignateData.datas;
roles = node.setInfo.NodeDesignateData.roles;
} }
// form.render(); //重新渲染防止radio/select等失效 // form.render(); //重新渲染防止radio/select等失效
@@ -143,15 +141,15 @@ layui.config({
// console.log(data); //得到当前被穿梭的数据 // console.log(data); //得到当前被穿梭的数据
// console.log(index); //如果数据来自左边index 为 0否则为 1 // console.log(index); //如果数据来自左边index 为 0否则为 1
if (index === 0) { if (index === 0) {
roles = roles.concat(data.map(u =>u.value)); datas = datas.concat(data.map(u =>u.value));
} else { } else {
roles = roles.filter(el => !(data.map(u =>u.value).includes(el))); datas = datas.filter(el => !(data.map(u =>u.value).includes(el)));
} }
console.log(roles); console.log(datas);
} }
,title: ['系统角色', '已分配角色'] ,title: ['系统角色', '已分配角色']
,data: json.Result ,data: json.Result
,value: roles ,value: datas
}); });
}); });
}; };
@@ -222,11 +220,11 @@ layui.config({
function (data) { function (data) {
vm.tmp.NodeDesignate = data.value; vm.tmp.NodeDesignate = data.value;
if (data.value === "SPECIAL_USER") { if (data.value === "SPECIAL_USER") {
roles = []; datas = [];
userstree.load(); userstree.load();
ztree.reload(); ztree.reload();
} else if (data.value === "SPECIAL_ROLE") { } else if (data.value === "SPECIAL_ROLE") {
users = []; datas = [];
rolestransfer.load(); rolestransfer.load();
} }
}); });
@@ -235,9 +233,7 @@ layui.config({
getVal = function () { getVal = function () {
var result = { var result = {
NodeDesignateData: { //节点指定操作人 NodeDesignateData: { //节点指定操作人
users: users, datas: datas
roles: roles,
orgs: []
} }
}; };
// $.extend(result, vm.tmp); // $.extend(result, vm.tmp);