mirror of
https://gitee.com/dotnetchina/OpenAuth.Net.git
synced 2025-05-06 21:58:05 +08:00
调整droptree;
提取通用方法openauth.js
This commit is contained in:
parent
2a5a165776
commit
7a2a909edd
@ -175,6 +175,7 @@
|
|||||||
<Content Include="BllScripts\categoryManager.js" />
|
<Content Include="BllScripts\categoryManager.js" />
|
||||||
<Content Include="BllScripts\formDesign.js" />
|
<Content Include="BllScripts\formDesign.js" />
|
||||||
<Content Include="BllScripts\login.js" />
|
<Content Include="BllScripts\login.js" />
|
||||||
|
<Content Include="js\openauth.js" />
|
||||||
<Content Include="js\droptree.js" />
|
<Content Include="js\droptree.js" />
|
||||||
<Content Include="BllScripts\parentTree.js" />
|
<Content Include="BllScripts\parentTree.js" />
|
||||||
<Content Include="BllScripts\processDetail.js" />
|
<Content Include="BllScripts\processDetail.js" />
|
||||||
|
@ -9,30 +9,93 @@
|
|||||||
// <copyright file="droptree.js" company="www.cnblogs.com/yubaolee">
|
// <copyright file="droptree.js" company="www.cnblogs.com/yubaolee">
|
||||||
// 版权所有 玉宝(C) 2017
|
// 版权所有 玉宝(C) 2017
|
||||||
// </copyright>
|
// </copyright>
|
||||||
//单击文本框弹出的选择列表,可以多选。调用: layui.droptree("/UserSession/GetOrgs", "#Organizations", "#OrganizationIds");
|
//单击文本框弹出的选择列表,可以多选。调用:
|
||||||
//如果想去掉layui,只需把layui.define改成一个普通的函数,最后的exports(xxx)改成一个闭包就行
|
//var droptree = layui.droptree("/UserSession/GetOrgs", "#Organizations", "#OrganizationIds");
|
||||||
|
// droptree.render();
|
||||||
// ***********************************************************************
|
// ***********************************************************************
|
||||||
|
|
||||||
layui.define(['jquery', 'layer'], function (exports) {
|
layui.define(['jquery', 'layer'], function (exports) {
|
||||||
var $ = layui.jquery;
|
var $ = layui.jquery;
|
||||||
var layer = layui.layer;
|
var layer = layui.layer;
|
||||||
var options;
|
|
||||||
var zTreeObj;
|
var zTreeObj;
|
||||||
var setting;
|
var inst; //droptree实体
|
||||||
|
|
||||||
var showMenu = function () {
|
//构造器
|
||||||
$("#menuContent").css({ left: "10px", top: $(options.nameDOM).outerHeight() + "px" }).slideDown("fast");
|
var Class = function (options) {
|
||||||
|
var that = this;
|
||||||
|
that.config = $.extend({}, that.config, options);
|
||||||
|
};
|
||||||
|
//默认配置
|
||||||
|
Class.prototype.config = {
|
||||||
|
text: 'Name',
|
||||||
|
key: 'Id',
|
||||||
|
parentKey: 'ParentId'
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
//显示下拉菜单
|
||||||
|
Class.prototype.showMenu =function () {
|
||||||
|
$("#menuContent").css({ left: "10px", top: $(this.config.nameDOM).outerHeight() + "px" }).slideDown("fast");
|
||||||
$("body").bind("mousedown", onBodyDown);
|
$("body").bind("mousedown", onBodyDown);
|
||||||
};
|
};
|
||||||
function hideMenu() {
|
|
||||||
|
//隐藏下拉菜单
|
||||||
|
Class.prototype.hideMenu =function () {
|
||||||
$("#menuContent").fadeOut("fast");
|
$("#menuContent").fadeOut("fast");
|
||||||
$("body").unbind("mousedown", onBodyDown);
|
$("body").unbind("mousedown", onBodyDown);
|
||||||
}
|
}
|
||||||
|
|
||||||
var setCheck = function () { //设置初始选中的值
|
//加载数据
|
||||||
|
Class.prototype.render = function () {
|
||||||
|
var that = this;
|
||||||
|
var setting = {
|
||||||
|
view: { selectedMulti: true },
|
||||||
|
check: {
|
||||||
|
enable: true,
|
||||||
|
chkStyle: "checkbox",
|
||||||
|
chkboxType: { "Y": "", "N": "" } //去掉勾选时级联
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
key: {
|
||||||
|
name: that.config.text,
|
||||||
|
title: that.config.text
|
||||||
|
},
|
||||||
|
simpleData: {
|
||||||
|
enable: true,
|
||||||
|
idKey: that.config.key,
|
||||||
|
pIdKey: that.config.parentKey,
|
||||||
|
rootPId: 'null'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
callback: {
|
||||||
|
onClick: that.onClick,
|
||||||
|
onCheck: that.onCheck
|
||||||
|
}
|
||||||
|
};
|
||||||
|
var index = layer.load();
|
||||||
|
$.getJSON(this.config.url,
|
||||||
|
{
|
||||||
|
page: 1, rows: 10000
|
||||||
|
},
|
||||||
|
function (json) {
|
||||||
|
layer.close(index);
|
||||||
|
if (json.length == 0) {
|
||||||
|
$(this.config.nameDOM).val('');
|
||||||
|
$(this.config.idDOM).val('');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
zTreeObj = $.fn.zTree.init($("#org"), setting, json);
|
||||||
|
that.setCheck();
|
||||||
|
zTreeObj.expandAll(true);
|
||||||
|
that.showMenu();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
//设置初始选中的值
|
||||||
|
Class.prototype.setCheck = function () {
|
||||||
zTreeObj.checkAllNodes(false);
|
zTreeObj.checkAllNodes(false);
|
||||||
|
|
||||||
var value = $(options.idDOM).val();
|
var value = $(this.config.idDOM).val();
|
||||||
if (value == undefined) return;
|
if (value == undefined) return;
|
||||||
var nodeids = value.split(",");
|
var nodeids = value.split(",");
|
||||||
$.each(nodeids,
|
$.each(nodeids,
|
||||||
@ -44,23 +107,24 @@ layui.define(['jquery', 'layer'], function (exports) {
|
|||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
function onClick(e, treeId, treeNode) {
|
|
||||||
|
Class.prototype.onClick =function(e, treeId, treeNode) {
|
||||||
var nodes = zTreeObj.getSelectedNodes();
|
var nodes = zTreeObj.getSelectedNodes();
|
||||||
|
|
||||||
for (var i = 0, l = nodes.length; i < l; i++) {
|
for (var i = 0, l = nodes.length; i < l; i++) {
|
||||||
$(options.nameDOM).val(nodes[i].Name);
|
$(inst.config.nameDOM).val(nodes[i].Name);
|
||||||
$(options.idDOM).val(nodes[i].Id);
|
$(inst.config.idDOM).val(nodes[i].Id);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
hideMenu();
|
hideMenu();
|
||||||
}
|
}
|
||||||
function onCheck(e, treeId, treeNode) {
|
Class.prototype.onCheck= function(e, treeId, treeNode) {
|
||||||
var nodes = zTreeObj.getCheckedNodes(true);
|
var nodes = zTreeObj.getCheckedNodes(true);
|
||||||
|
|
||||||
var ids = nodes.map(function (e) { return e.Id; }).join(",");
|
var ids = nodes.map(function (e) { return e.Id; }).join(",");
|
||||||
var names = nodes.map(function (e) { return e.Name; }).join(",");
|
var names = nodes.map(function (e) { return e.Name; }).join(",");
|
||||||
$(options.nameDOM).val(names);
|
$(inst.config.nameDOM).val(names);
|
||||||
$(options.idDOM).val(ids);
|
$(inst.config.idDOM).val(ids);
|
||||||
}
|
}
|
||||||
|
|
||||||
function onBodyDown(event) {
|
function onBodyDown(event) {
|
||||||
@ -69,59 +133,13 @@ layui.define(['jquery', 'layer'], function (exports) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var load = function () {
|
|
||||||
var index = layer.load();
|
|
||||||
$.getJSON(options.url,
|
|
||||||
{
|
|
||||||
page: 1, rows: 10000
|
|
||||||
},
|
|
||||||
function (json) {
|
|
||||||
layer.close(index);
|
|
||||||
if (json.length == 0) {
|
|
||||||
$(options.nameDOM).val('');
|
|
||||||
$(options.idDOM).val('');
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
zTreeObj = $.fn.zTree.init($("#org"), setting, json);
|
|
||||||
setCheck();
|
|
||||||
zTreeObj.expandAll(true);
|
|
||||||
showMenu();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
exports('droptree', function (url, name, id) {
|
exports('droptree', function (url, name, id) {
|
||||||
options = {
|
var options = {
|
||||||
text: 'Name',
|
|
||||||
key: 'Id',
|
|
||||||
parentKey: 'ParentId',
|
|
||||||
nameDOM: name, //显示的文本框ID,如:"#catetoryName"
|
nameDOM: name, //显示的文本框ID,如:"#catetoryName"
|
||||||
idDOM: id, //隐藏的文本框,如:"#categoryId"
|
idDOM: id, //隐藏的文本框,如:"#categoryId"
|
||||||
url: url
|
url: url
|
||||||
}
|
}
|
||||||
setting = {
|
inst = new Class(options);
|
||||||
view: { selectedMulti: true },
|
return inst;
|
||||||
check: {
|
|
||||||
enable: true,
|
|
||||||
chkStyle: "checkbox",
|
|
||||||
chkboxType: { "Y": "", "N": "" } //去掉勾选时级联
|
|
||||||
},
|
|
||||||
data: {
|
|
||||||
key: {
|
|
||||||
name: options.text,
|
|
||||||
title: options.text
|
|
||||||
},
|
|
||||||
simpleData: {
|
|
||||||
enable: true,
|
|
||||||
idKey: options.key,
|
|
||||||
pIdKey: options.parentKey,
|
|
||||||
rootPId: 'null'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
callback: {
|
|
||||||
onClick: onClick,
|
|
||||||
onCheck: onCheck
|
|
||||||
}
|
|
||||||
};
|
|
||||||
load();
|
|
||||||
});
|
});
|
||||||
});
|
});
|
48
OpenAuth.Mvc/js/openauth.js
Normal file
48
OpenAuth.Mvc/js/openauth.js
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
/**
|
||||||
|
* Openauth通用工具库
|
||||||
|
* yubaolee @ 2017
|
||||||
|
* www.cnblogs.com/yubaolee
|
||||||
|
*/
|
||||||
|
layui.define(['jquery', 'layer'], function (exports) {
|
||||||
|
var $ = layui.jquery;
|
||||||
|
var layer = layui.layer;
|
||||||
|
//字符串常量
|
||||||
|
var MOD_NAME = 'openauth',
|
||||||
|
THIS = 'layui-this',
|
||||||
|
SHOW = 'layui-show',
|
||||||
|
HIDE = 'layui-hide',
|
||||||
|
DISABLED = 'layui-disabled';
|
||||||
|
|
||||||
|
//外部接口
|
||||||
|
var openauth = {
|
||||||
|
config: {} //全局配置项
|
||||||
|
|
||||||
|
//设置全局项
|
||||||
|
, set: function (options) {
|
||||||
|
var that = this;
|
||||||
|
that.config = $.extend({}, that.config, options);
|
||||||
|
return that;
|
||||||
|
}
|
||||||
|
//事件监听
|
||||||
|
, on: function (events, callback) {
|
||||||
|
return layui.onevent.call(this, MOD_NAME, events, callback);
|
||||||
|
}
|
||||||
|
|
||||||
|
//删除
|
||||||
|
, del: function (url, dataids, callback) {
|
||||||
|
layer.confirm('真的删除么', function (index) {
|
||||||
|
$.post(url, { ids: dataids },
|
||||||
|
function (data) {
|
||||||
|
if (data.Status) {
|
||||||
|
if (callback != undefined) callback();
|
||||||
|
} else {
|
||||||
|
layer.msg(data.Message);
|
||||||
|
}
|
||||||
|
}, "json");
|
||||||
|
layer.close(index);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
exports(MOD_NAME, openauth);
|
||||||
|
});
|
@ -1,12 +1,13 @@
|
|||||||
layui.config({
|
layui.config({
|
||||||
base: "/js/"
|
base: "/js/"
|
||||||
}).use(['form', 'ztree', 'layer', 'jquery', 'table','droptree'], function () {
|
}).use(['form', 'ztree', 'layer', 'jquery', 'table','droptree','openauth'], function () {
|
||||||
var form = layui.form,
|
var form = layui.form,
|
||||||
//layer = parent.layer === undefined ? layui.layer : parent.layer,
|
layer = (parent == undefined || parent.layer === undefined )? layui.layer : parent.layer,
|
||||||
layer =layui.layer,
|
|
||||||
$ = layui.jquery;
|
$ = layui.jquery;
|
||||||
var dataurl = '/UserManager/Load';
|
var dataurl = '/UserManager/Load';
|
||||||
var table = layui.table;
|
var table = layui.table;
|
||||||
|
var openauth = layui.openauth;
|
||||||
|
var droptree = layui.droptree("/UserSession/GetOrgs", "#Organizations", "#OrganizationIds");
|
||||||
|
|
||||||
//左边树状机构列表
|
//左边树状机构列表
|
||||||
var ztree = function () {
|
var ztree = function () {
|
||||||
@ -58,7 +59,7 @@ layui.config({
|
|||||||
|
|
||||||
//上级机构选择框
|
//上级机构选择框
|
||||||
$("#Organizations").on("click", function () {
|
$("#Organizations").on("click", function () {
|
||||||
layui.droptree("/UserSession/GetOrgs", "#Organizations", "#OrganizationIds");
|
droptree.render();
|
||||||
});
|
});
|
||||||
|
|
||||||
//监听表格复选框选择
|
//监听表格复选框选择
|
||||||
@ -72,17 +73,7 @@ layui.config({
|
|||||||
layer.msg('ID:' + data.Id + ' 的查看操作');
|
layer.msg('ID:' + data.Id + ' 的查看操作');
|
||||||
|
|
||||||
} else if (obj.event === 'del') { //删除
|
} else if (obj.event === 'del') { //删除
|
||||||
layer.confirm('真的删除么', function (index) {
|
openauth.del("/UserManager/Delete", data.Id, obj.del);
|
||||||
$.post("/UserManager/Delete", { ids: data.Id },
|
|
||||||
function (data) {
|
|
||||||
if (data.Status) {
|
|
||||||
obj.del();
|
|
||||||
} else {
|
|
||||||
layer.msg(data.Message);
|
|
||||||
}
|
|
||||||
},"json");
|
|
||||||
layer.close(index);
|
|
||||||
});
|
|
||||||
} else if (obj.event === 'edit') {
|
} else if (obj.event === 'edit') {
|
||||||
layer.alert('编辑行:<br>' + JSON.stringify(data));
|
layer.alert('编辑行:<br>' + JSON.stringify(data));
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user