OpenAuth.Net/OpenAuth.Mvc/userJs/users.js

201 lines
6.6 KiB
JavaScript
Raw Normal View History

2018-03-03 01:35:58 +08:00
layui.config({
base: "/js/"
}).use(['form','vue', 'ztree', 'layer', 'jquery', 'table','droptree','openauth','utils'], function () {
2018-03-03 01:35:58 +08:00
var form = layui.form,
layer = layui.layer,
$ = layui.jquery;
var table = layui.table;
var openauth = layui.openauth;
layui.droptree("/UserSession/GetOrgs", "#Organizations", "#OrganizationIds");
$("#menus").loadMenus("User");
2018-03-03 01:35:58 +08:00
//主列表加载,可反复调用进行刷新
var config= {}; //table的参数如搜索key点击tree的id
var mainList = function (options) {
if (options != undefined) {
$.extend(config, options);
}
table.reload('mainList', {
url: '/UserManager/Load',
where: config
});
}
//左边树状机构列表
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: ""
}
},
callback: {
onClick: function (event, treeId, treeNode) {
mainList({ orgId: treeNode.Id });
}
}
};
var load = function () {
$.getJSON(url, function (json) {
zTreeObj = $.fn.zTree.init($("#tree"), setting);
var newNode = { Name: "根节点", Id: null,ParentId:"" };
json.push(newNode);
zTreeObj.addNodes(null, json);
mainList({ orgId: "" });
zTreeObj.expandAll(true);
});
};
load();
return {
reload: load
}
}();
2018-03-31 14:45:39 +08:00
$("#tree").height( $("div.layui-table-view").height());
2018-03-03 01:35:58 +08:00
//添加(编辑)对话框
var editDlg = function() {
var vm = new Vue({
el: "#formEdit"
});
var update = false; //是否为更新
var show = function (data) {
var title = update ? "编辑信息" : "添加";
layer.open({
title: title,
area: ["500px", "400px"],
type: 1,
content: $('#divEdit'),
success: function() {
vm.$set('$data', data);
2018-03-31 12:41:25 +08:00
$(":radio[name='Sex'][value='" + data.Sex + "']").prop("checked", "checked");
$("input:checkbox[name='Status']").prop("checked", data.Status == 1);
//下面这种方式适合单独开页面,不然上次选中的结果会对本次有影响
// $('input:checkbox[name="Status"][value="' + data.Status + '"]').prop('checked', true);
form.render();
2018-03-03 01:35:58 +08:00
},
end: mainList
});
var url = "/UserManager/AddOrUpdate";
if (update) {
url = "/UserManager/AddOrUpdate"; //暂时和添加一个地址
}
//提交数据
form.on('submit(formSubmit)',
function(data) {
$.post(url,
data.field,
function(data) {
layer.msg(data.Message);
},
"json");
return false;
});
}
return {
add: function() { //弹出添加
update = false;
show({
Id: ''
});
},
update: function(data) { //弹出编辑框
update = true;
show(data);
}
};
}();
//监听表格内部按钮
table.on('tool(list)', function (obj) {
var data = obj.data;
if (obj.event === 'detail') { //查看
layer.msg('ID' + data.Id + ' 的查看操作');
}
});
//监听页面主按钮操作
var active = {
btnDel: function () { //批量删除
var checkStatus = table.checkStatus('mainList')
, data = checkStatus.data;
openauth.del("/UserManager/Delete",
data.map(function (e) { return e.Id; }),
mainList);
}
, btnAdd: function () { //添加
editDlg.add();
}
, btnEdit: function () { //编辑
var checkStatus = table.checkStatus('mainList')
, data = checkStatus.data;
if (data.length != 1) {
layer.msg("请选择编辑的行,且同时只能编辑一行");
return;
}
editDlg.update(data[0]);
}
, search: function () { //搜索
mainList({ key: $('#key').val() });
}
, btnRefresh: function() {
mainList();
}
, btnAccessModule: function () {
var checkStatus = table.checkStatus('mainList')
, data = checkStatus.data;
if (data.length != 1) {
layer.msg("请选择要分配的用户");
return;
}
var index = layer.open({
title: "为用户分配模块",
type: 2,
area: ['450px', '400px'],
content: "/ModuleManager/Assign?type=UserModule&menuType=UserElement&id=" + data[0].Id,
success: function(layero, index) {
2018-04-09 17:36:28 +08:00
}
});
}
, btnAccessRole: function () {
var checkStatus = table.checkStatus('mainList')
, data = checkStatus.data;
if (data.length != 1) {
layer.msg("请选择要分配的用户");
return;
}
var index = layer.open({
title: "为用户分配角色",
type: 2,
area: ['450px', '400px'],
content: "/RoleManager/Assign?type=UserRole&id=" + data[0].Id,
success: function (layero, index) {
2018-03-03 01:35:58 +08:00
}
});
}
};
$('.toolList .layui-btn').on('click', function () {
var type = $(this).data('type');
active[type] ? active[type].call(this) : '';
});
//监听页面主按钮操作 end
})