228 lines
7.6 KiB
HTML
228 lines
7.6 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en-us" id="extr-page">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<link rel="stylesheet" type="text/css" media="screen" href="../../css/bootstrap.min.css">
|
|
<link rel="stylesheet" href="../../css/ztree/zTreeStyle/zTreeStyle.css" type="text/css">
|
|
<link rel="stylesheet" href="../../css/ztree/demo.css" type="text/css">
|
|
<link rel="stylesheet" href="../../js/layui-v2.6.8/css/layui.css" media="all">
|
|
<link rel="stylesheet" href="../../js/layui-v2.6.8/dtree/dtree.css">
|
|
<link rel="stylesheet" href="../../js/layui-v2.6.8/dtree/font/dtreefont.css">
|
|
<link rel="stylesheet" href="../../css/dataForm.css">
|
|
</head>
|
|
<body>
|
|
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
|
|
<form class="layui-form form-horizontal" onsubmit="return false" id="form">
|
|
<fieldset>
|
|
<input type="hidden" id="id" name="id">
|
|
|
|
<div class="layui-form-item" style="margin-top: 2%;">
|
|
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>角色名称</label>
|
|
<div class="layui-input-inline">
|
|
<input class="layui-input" placeholder="角色名称" type="text" name="name" id="name" maxlength="25"
|
|
lay-verify="required">
|
|
</div>
|
|
</div>
|
|
<div class="layui-form-item" style="margin-top: 2%;">
|
|
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>角色编码</label>
|
|
<div class="layui-input-inline">
|
|
<input class="layui-input" placeholder="角色编码" type="text" name="roleCode" id="roleCode" autocomplete="off" maxlength="25"
|
|
lay-verify="required">
|
|
</div>
|
|
</div>
|
|
<div class="layui-form-item" style="margin-top: 2%;">
|
|
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>角色描述</label>
|
|
<div class="layui-input-inline" layui-input>
|
|
<textarea class="layui-textarea" placeholder="角色描述" name="remarks" id="remarks" lay-verify="required" maxlength="100"></textarea>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="layui-form-item">
|
|
<label class="layui-form-label"><i style="padding: 0 10px;">*</i>上级组织</label>
|
|
<div class="layui-input-inline">
|
|
<ul id="orgId" class="dtree" data-id="0"></ul>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="layui-form-item">
|
|
<label class="layui-form-label"> <i style="padding: 0 10px;">*</i> 状态:</label>
|
|
<div class="layui-input-block" >
|
|
<input type="radio" id="state_1" name="state" value="1" title="启用" checked>
|
|
<input type="radio" id="state_0" name="state" value="0" title="关闭">
|
|
</div>
|
|
</div>
|
|
|
|
<div class="layui-form-item" style="margin-top: 2%;">
|
|
<label class="layui-form-label">权限</label>
|
|
<div class="layui-input-inline">
|
|
<ul id="treeDemo" class="ztree"></ul>
|
|
</div>
|
|
</div>
|
|
<button type="submit" id="formSubmit" class="layui-btn" lay-submit="" lay-filter="formData"
|
|
style="display: none;"></button>
|
|
<div class="form-actions">
|
|
<div class="row" align="center">
|
|
<div class="col-md-12">
|
|
<!--<button class="btn btn-primary" onclick="closePage()">返回</button>
|
|
<button class="btn btn-primary" type="submit" onclick="save()">
|
|
<i class="fa fa-save"></i> 保存
|
|
</button>-->
|
|
<button class="layui-btn layui-btn-normal save" onclick="save()">确定</button>
|
|
<button class="layui-btn layui-btn-primary cancel" onclick="closePage()">取消</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</fieldset>
|
|
</form>
|
|
</div>
|
|
|
|
<script type="text/javascript" src="../../js/libs/jquery-3.7.0.min.js"></script>
|
|
<script type="text/javascript" src="../../js/jq.js"></script>
|
|
<script type="text/javascript" src="../../js/plugin/bootstrapvalidator/bootstrapValidator.min.js"></script>
|
|
<script type="text/javascript" src="../../js/common.js"></script>
|
|
<script type="text/javascript" src="../../layui/layui.js"></script>
|
|
<script type="text/javascript" src="../../js/libs/jquery.ztree.all-3.5.min.js"></script>
|
|
<script type="text/javascript" src="../../js/my/ztree-menu.js"></script>
|
|
<script type="text/javascript" src="../../js/publicJs.js"></script>
|
|
<script src="../../js/my/aes.js"></script>
|
|
<script src="../../js/ajaxRequest.js"></script>
|
|
<script type="text/javascript">
|
|
let orgData, dtree;
|
|
layui.config({
|
|
base: "../../js/layui-v2.6.8/dtree/", //此处路径请自行处理, 可以使用绝对路径
|
|
}).extend({
|
|
dtree: 'dtree'
|
|
}).use(['form', 'layer', 'dtree', 'util'], function () {
|
|
layer = layui.layer;
|
|
form = layui.form;
|
|
util = layui.util;
|
|
dtree = layui.dtree;
|
|
orgData = getOrgTree();
|
|
form.render();
|
|
form.verify();
|
|
form.on('submit(formData)', function (data) {
|
|
saveData(data);
|
|
});
|
|
});
|
|
$.fn.zTree.init($("#treeDemo"), getSettting(), getMenuTree());
|
|
var idParam;
|
|
function setParams(params) {
|
|
idParam = JSON.parse(params).id;
|
|
initData();
|
|
}
|
|
function initData(){
|
|
var id = idParam;
|
|
if(id != "" && id != null){
|
|
let params = {
|
|
'id': id
|
|
}
|
|
console.log(params)
|
|
params={
|
|
encryptedData:encryptCBC(JSON.stringify(params))
|
|
}
|
|
let url = dataUrl + "/roles/getById";
|
|
ajaxRequest(url, "POST", params, true, function () {}, function (result) {
|
|
console.log("result", result)
|
|
// layer.close(loadingMsg); // 关闭提示层
|
|
if (result.status === 200) {
|
|
$("#id").val(result.data.id);
|
|
$("#name").val(result.data.name);
|
|
$("#roleCode").val(result.data.roleCode);
|
|
$("#remarks").val(result.data.remarks);
|
|
$('#orgId').val(result.data.orgId);
|
|
console.log("result.data.state",result.data.state);
|
|
if (result.data.state === 1) {
|
|
document.getElementById('state_1').checked = true;
|
|
} else if (result.data.state === 0) {
|
|
document.getElementById('state_0').checked = true;
|
|
}
|
|
} else if (result.status === 500) {
|
|
layer.alert(result.msg, {icon: 2})
|
|
}
|
|
}, function (xhr) {
|
|
// layer.close(loadingMsg); // 关闭提示层
|
|
error(xhr)
|
|
});
|
|
|
|
initMenuDatas(id);
|
|
}
|
|
}
|
|
|
|
function save() {
|
|
$('#formSubmit').trigger('click')
|
|
}
|
|
|
|
function saveData(data) {
|
|
var formdata = data.field;
|
|
formdata.permissionIds = getCheckedMenuIds();
|
|
if (!formdata.orgId_select_nodeId){
|
|
return layer.alert("请选择上级组织!", {icon: 2})
|
|
}
|
|
formdata.orgId=formdata.orgId_select_nodeId;
|
|
console.log(formdata)
|
|
var params={
|
|
encryptedData:encryptCBC(JSON.stringify(formdata))
|
|
}
|
|
let url = dataUrl + "/roles/add";
|
|
console.log(params)
|
|
ajaxRequest(url, "POST", params, true, function () {}, function (result) {
|
|
console.log(result)
|
|
if (result.status === 200) {
|
|
// layer.alert(result.msg, {icon: 2})
|
|
closePage(1)
|
|
} else {
|
|
layer.alert(result.msg, {icon: 2})
|
|
}
|
|
}, function (xhr) {
|
|
error(xhr)
|
|
});
|
|
}
|
|
function closePage(type) {
|
|
let index = parent.layer.getFrameIndex(window.name); //先得到当前 iframe层的索引
|
|
parent.layer.close(index); //再执行关闭
|
|
if (type === 1) {
|
|
parent.reloadData()
|
|
}
|
|
}
|
|
|
|
function getOrgTree() {
|
|
let data = [];
|
|
let url = dataUrl + '/users/getOrg';
|
|
ajaxRequest(url, "POST", null, true, function () {
|
|
}, function (result) {
|
|
if (result.code === 200) {
|
|
console.log(result,"getOrgTree")
|
|
data = result.data;
|
|
setOrgTree(data)
|
|
} else {
|
|
layer.alert(result.msg, {icon: 2})
|
|
}
|
|
}, function (xhr) {
|
|
error(xhr)
|
|
});
|
|
return data;
|
|
}
|
|
|
|
function setOrgTree(data){
|
|
orgTree = dtree.renderSelect({
|
|
elem: "#orgId",
|
|
data: data,
|
|
dataFormat: "list",
|
|
skin: "laySimple",
|
|
line: true, // 显示树线
|
|
checkbar: false, //开启复选框
|
|
done: function (data, url, first) {
|
|
console.log($('#orgId').val())
|
|
if(first) {
|
|
var params = dtree.dataInit("orgId", $('#orgId').val());
|
|
var selectParam = dtree.selectVal("orgId");
|
|
console.log(params)
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
</script>
|
|
</body>
|
|
</html> |