OpenAuth.Net/OpenAuth.Mvc/userJs/nodeInfo.js

228 lines
7.2 KiB
JavaScript
Raw Normal View History

2018-03-14 17:39:40 +08:00
layui.config({
base: "/js/"
2018-03-23 07:39:39 +08:00
}).use(['form', 'vue', 'ztree', 'layer', 'element', 'jquery', 'utils'], function () {
2018-04-02 17:16:26 +08:00
var layer = layui.layer,
2018-03-14 17:39:40 +08:00
$ = layui.jquery;
var form = layui.form;
2018-03-15 07:19:48 +08:00
var users = []; //节点的执行人
2018-04-09 23:19:01 +08:00
var roles = []; //节点执行角色
2018-03-14 17:39:40 +08:00
2018-04-02 14:01:08 +08:00
var index = layer.getFrameIndex(window.name); //获取窗口索引
2018-03-15 07:19:48 +08:00
//从flowschemes.js进入的节点信息
2018-03-19 17:21:56 +08:00
var node = parent.FlowDesignObject;
console.log(JSON.stringify(node));
2018-03-15 07:19:48 +08:00
var vm = new Vue({
el: "#formEdit",
data: {
NodeName: node.name
2018-03-31 13:19:51 +08:00
, NodeCode: node.name //默认的code
, NodeRejectType:'0'
2018-04-09 23:19:01 +08:00
, NodeDesignate:"ALL_USER"
}
2018-03-15 07:19:48 +08:00
});
2018-03-14 17:39:40 +08:00
2018-03-15 07:19:48 +08:00
//初始化节点设置信息
if (node.setInfo != null) {
vm.$set('$data', node.setInfo);
users = node.setInfo.NodeDesignateData.users;
2018-04-09 23:19:01 +08:00
roles = node.setInfo.NodeDesignateData.roles;
//layui与vue不兼容要重新赋值select radio(lll¬ω¬)
$("#NodeRejectType").val(node.setInfo.NodeRejectType);
2018-04-09 23:19:01 +08:00
$(":radio[name='NodeDesignate'][value='" + node.setInfo.NodeDesignate + "']").prop("checked", true);
form.render();
2018-03-15 07:19:48 +08:00
}
2018-03-30 17:35:18 +08:00
form.on('select',
function (data) {
vm.NodeRejectType = data.value;
});
2018-04-09 23:19:01 +08:00
2018-03-14 17:39:40 +08:00
//菜单列表
var menucon = {}; //table的参数如搜索key点击tree的id
2018-04-09 23:19:01 +08:00
//用户列表等lay table没问题了可以换成table
var userstree = function () {
2018-03-14 17:39:40 +08:00
var url = '/UserManager/Load';
var menuTree;
var setting = {
view: { selectedMulti: true },
check: {
enable: true,
chkStyle: "checkbox",
chkboxType: { "Y": "", "N": "" } //去掉勾选时级联
},
data: {
key: {
name: 'Name',
title: 'Name'
},
simpleData: {
enable: true,
idKey: 'Id',
pIdKey: 'ParentId',
rootPId: 'null'
}
},
callback: {
onCheck: function (event, treeId, treeNode) {
users.push(treeNode.Id);
}
}
};
var load = function (options) {
if (options != undefined) {
$.extend(menucon, options);
}
$.getJSON(url, menucon, function (json) {
2018-04-09 23:19:01 +08:00
menuTree = $.fn.zTree.init($("#userstree"), setting);
2018-03-14 17:39:40 +08:00
menuTree.addNodes(null, json.data);
//如果已经分配了用户,则设置相应的状态
$.each(users,
function (i) {
var that = this;
var node = menuTree.getNodeByParam("Id", that, null);
menuTree.checkNode(node, true, false);
});
menuTree.expandAll(true);
});
};
return {
load: load
}
}();
2018-04-09 23:19:01 +08:00
var rolestree = function () {
var url = '/RoleManager/Load';
var rolestree;
var setting = {
view: { selectedMulti: true },
check: {
enable: true,
chkStyle: "checkbox",
chkboxType: { "Y": "", "N": "" } //去掉勾选时级联
},
data: {
key: {
name: 'Name',
title: 'Name'
},
simpleData: {
enable: true,
idKey: 'Id',
pIdKey: 'ParentId',
rootPId: 'null'
}
},
callback: {
onCheck: function (event, treeId, treeNode) {
roles.push(treeNode.Id);
}
}
};
var load = function (options) {
if (options != undefined) {
$.extend(menucon, options);
}
$.getJSON(url, menucon, function (json) {
rolestree = $.fn.zTree.init($("#rolestree"), setting);
rolestree.addNodes(null, json.data);
//如果已经分配了用户,则设置相应的状态
$.each(roles,
function (i) {
var that = this;
var node = rolestree.getNodeByParam("Id", that, null);
rolestree.checkNode(node, true, false);
});
rolestree.expandAll(true);
});
};
return {
load: load
}
}();
2018-03-14 17:39:40 +08:00
//左边树状机构列表
var ztree = function () {
var url = '/UserSession/GetOrgs';
var zTreeObj;
var setting = {
view: { selectedMulti: false },
data: {
key: {
name: 'Name',
title: 'Name'
},
simpleData: {
enable: true,
idKey: 'Id',
pIdKey: 'ParentId',
rootPId: 'null'
}
},
callback: {
onClick: function (event, treeId, treeNode) {
2018-04-09 23:19:01 +08:00
if (vm.NodeDesignate === "SPECIAL_USER") {
userstree.load({ orgId: treeNode.Id });
} else {
rolestree.load({ orgId: treeNode.Id });
}
2018-03-14 17:39:40 +08:00
}
}
};
var load = function () {
$.getJSON(url, function (json) {
2018-04-09 23:19:01 +08:00
if (vm.NodeDesignate === "ALL_USER") return;
2018-03-14 17:39:40 +08:00
zTreeObj = $.fn.zTree.init($("#tree"), setting);
var newNode = { Name: "全部", Id: null, ParentId: "" };
json.push(newNode);
zTreeObj.addNodes(null, json);
2018-04-09 23:19:01 +08:00
if (vm.NodeDesignate === "SPECIAL_USER") {
userstree.load({ orgId: '' });
} else if (vm.NodeDesignate === "SPECIAL_ROLE") {
rolestree.load({ orgId: '' });
}
2018-03-14 17:39:40 +08:00
zTreeObj.expandAll(true);
});
};
load();
return {
reload: load
}
}();
2018-04-09 23:19:01 +08:00
form.on('radio(NodeDesignate)',
function (data) {
vm.NodeDesignate = data.value;
if (data.value === "SPECIAL_USER") {
userstree.load();
ztree.reload();
}
else if (data.value === "SPECIAL_ROLE") {
rolestree.load();
ztree.reload();
}
});
2018-03-14 17:39:40 +08:00
//提供给上父页面调用
getVal = function () {
var result = {
NodeDesignateData: { //节点指定操作人
2018-03-14 17:39:40 +08:00
users: users,
2018-04-09 23:19:01 +08:00
roles: roles,
orgs: []
2018-03-14 17:39:40 +08:00
}
};
$.extend(result, vm.$data);
return result;
}
2018-03-15 07:19:48 +08:00
//让层自适应iframe
2018-04-02 14:01:08 +08:00
layer.iframeAuto(index);
2018-03-14 17:39:40 +08:00
})