过滤查询,完善基础功能,解决unicode编码问题,增加磁盘监控对于docker容器的判断
This commit is contained in:
@@ -0,0 +1,202 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" xmlns:th="http://www.thymeleaf.org">
|
||||
<head>
|
||||
<title>权限编辑</title>
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='/admin/component/pear/css/pear.css') }}"
|
||||
</head>
|
||||
<body>
|
||||
<form class="layui-form" action="">
|
||||
<div class="mainBox">
|
||||
<div class="main-container">
|
||||
<div class="main-container">
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" value="{{ power.id }}" name="powerId" lay-verify="title"
|
||||
autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">父级</label>
|
||||
<div class="layui-input-block">
|
||||
<ul id="selectParent" name="parentId" class="dtree" data-id="-1"></ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" value="{{ power.name }}" name="powerName" lay-verify="title"
|
||||
autocomplete="off" placeholder="权限名称" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item" id="powerCodeItem">
|
||||
<label class="layui-form-label">标识</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="powerCode" value="{{ power.code }}" name="powerCode"
|
||||
autocomplete="off" placeholder="权限标识" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">状态</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" lay-filter="powerType" {% if power.type == '0' %} checked{% endif %}
|
||||
name="powerType" value="0" title="目录">
|
||||
<input type="radio" lay-filter="powerType" {% if power.type == '1' %} checked{% endif %}
|
||||
name="powerType" value="1" title="菜单">
|
||||
<input type="radio" lay-filter="powerType" {% if power.type == '2' %} checked{% endif %}
|
||||
name="powerType" value="2" title="按钮">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item" id="powerUrlItem">
|
||||
<label class="layui-form-label">路径</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="powerUrl" value="{{ power.open_type }}" name="powerUrl"
|
||||
autocomplete="off" placeholder="菜单路径" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item" id="openTypeItem">
|
||||
<label class="layui-form-label">打开</label>
|
||||
<div class="layui-input-block">
|
||||
<select name="openType" id="openType">
|
||||
<option value=""></option>
|
||||
<option value="_iframe" {% if power.type == '_iframe' %} checked{% endif %}>框架</option>
|
||||
<option value="_blank" {% if power.type == '_blank' %} checked{% endif %}>签页</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">图标</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" id="icon" value="{{ power.icon }}" name="icon" lay-filter="icon"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">排序</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" value="{{ power.sort }}" name="sort" lay-verify="title" autocomplete="off"
|
||||
placeholder="排序" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<div class="button-container">
|
||||
<button type="submit" class="pear-btn pear-btn-primary pear-btn-sm" lay-submit="" lay-filter="power-save">
|
||||
<i class="layui-icon layui-icon-ok"></i>
|
||||
提交
|
||||
</button>
|
||||
<button type="reset" class="pear-btn pear-btn-sm">
|
||||
<i class="layui-icon layui-icon-refresh"></i>
|
||||
重置
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<script src="{{ url_for('static', filename='/admin/component/layui/layui.js') }}"></script>
|
||||
<script src="{{ url_for('static', filename='/admin/component/pear/pear.js') }}"></script>
|
||||
|
||||
<script>
|
||||
layui.use(['form', 'jquery', 'iconPicker', 'dtree'], function () {
|
||||
let form = layui.form;
|
||||
let $ = layui.jquery;
|
||||
let iconPicker = layui.iconPicker;
|
||||
let dtree = layui.dtree;
|
||||
|
||||
dtree.renderSelect({
|
||||
elem: "#selectParent",
|
||||
url: "/admin/power/selectParent",
|
||||
method: 'get',
|
||||
selectInputName: {nodeId: "parentId", context: "powerName"},
|
||||
skin: "layui",
|
||||
dataFormat: "list",
|
||||
response: {treeId: "powerId", parentId: "parentId", title: "powerName"},
|
||||
selectInitVal: {{ power.parent_id }}
|
||||
});
|
||||
|
||||
form.on("radio(powerType)", function (data) {
|
||||
if (this.value == '0') {
|
||||
$("#powerUrlItem").hide();
|
||||
$("#powerCodeItem").hide();
|
||||
$("#openTypeItem").hide();
|
||||
$("#powerUrl").val("");
|
||||
$("#powerCode").val("");
|
||||
$("#openType").val("");
|
||||
} else if (this.value == '1') {
|
||||
$("#powerUrlItem").show();
|
||||
$("#powerCodeItem").show();
|
||||
$("#openTypeItem").show();
|
||||
} else if (this.value == '2') {
|
||||
$("#powerUrlItem").hide();
|
||||
$("#openTypeItem").hide();
|
||||
$("#powerCodeItem").show();
|
||||
$("#powerUrl").val("");
|
||||
$("#openType").val("");
|
||||
}
|
||||
});
|
||||
|
||||
form.on('submit(power-save)', function (data) {
|
||||
data.field.icon = "layui-icon " + data.field.icon;
|
||||
$.ajax({
|
||||
url: '/system/power/update',
|
||||
data: JSON.stringify(data.field),
|
||||
dataType: 'json',
|
||||
contentType: 'application/json',
|
||||
type: 'put',
|
||||
success: function (result) {
|
||||
if (result.success) {
|
||||
layer.msg(result.msg, {icon: 1, time: 1000}, function () {
|
||||
parent.layer.close(parent.layer.getFrameIndex(window.name));//关闭当前页
|
||||
parent.render();
|
||||
});
|
||||
} else {
|
||||
layer.msg(result.msg, {icon: 2, time: 1000});
|
||||
}
|
||||
}
|
||||
})
|
||||
return false;
|
||||
});
|
||||
|
||||
iconPicker.render({
|
||||
elem: '#icon',
|
||||
type: 'fontClass',
|
||||
search: true,
|
||||
page: true,
|
||||
limit: 12,
|
||||
click: function (data) {
|
||||
console.log(data);
|
||||
}
|
||||
});
|
||||
|
||||
iconPicker.checkIcon("icon", [[${sysPower.icon}]]);
|
||||
|
||||
window.init = function (type) {
|
||||
if (type == '0') {
|
||||
$("#powerUrlItem").hide();
|
||||
$("#powerCodeItem").hide();
|
||||
$("#openTypeItem").hide();
|
||||
$("#powerUrl").val("");
|
||||
$("#powerCode").val("");
|
||||
$("#openType").val("");
|
||||
} else if (type == '1') {
|
||||
$("#powerUrlItem").show();
|
||||
$("#powerCodeItem").show();
|
||||
$("#openTypeItem").show();
|
||||
} else if (type == '2') {
|
||||
$("#powerUrlItem").hide();
|
||||
$("#openTypeItem").hide();
|
||||
$("#powerCodeItem").show();
|
||||
$("#powerUrl").val("");
|
||||
$("#openType").val("");
|
||||
}
|
||||
}
|
||||
|
||||
window.init([[${sysPower.powerType}]]);
|
||||
})
|
||||
</script>
|
||||
<script>
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -206,7 +206,7 @@
|
||||
title: '修改',
|
||||
shade: 0.1,
|
||||
area: ['450px', '500px'],
|
||||
content: MODULE_PATH + 'edit?powerId=' + obj.data['powerId']
|
||||
content: MODULE_PATH + 'edit/' + obj.data['powerId']
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>用户新增</title>
|
||||
<title>角色新增</title>
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='/admin/component/pear/css/pear.css') }}"
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -0,0 +1,105 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<title>角色编辑</title>
|
||||
<link rel="stylesheet" href="{{ url_for('static', filename='/admin/component/pear/css/pear.css') }}"
|
||||
</head>
|
||||
<body>
|
||||
<form class="layui-form" action="">
|
||||
<div class="mainBox">
|
||||
<div class="main-container">
|
||||
<div class="main-container">
|
||||
<div class="layui-form-item layui-hide">
|
||||
<label class="layui-form-label">编号</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" value="{{role.id}}" name="roleId" lay-verify="title"
|
||||
autocomplete="off" placeholder="请输入标题" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" value="{{ role.name }}" name="roleName" lay-verify="title"
|
||||
autocomplete="off" placeholder="请输入标题" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">标识</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" value="{{ role.code }}" readonly name="roleCode" lay-verify="title"
|
||||
autocomplete="off" placeholder="请输入标题" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">状态</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="enable" {% if role.enable == 0 %}checked {% endif %}value="0" title="开启">
|
||||
<input type="radio" name="enable" {% if role.enable == 1 %}checked {% endif %} value="1" title="关闭">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">排序</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="sort" value="{{ role.sort }}" lay-verify="title" autocomplete="off" placeholder="请输入标题"
|
||||
class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">描述</label>
|
||||
<div class="layui-input-block">
|
||||
<textarea placeholder="请输入内容" name="details"
|
||||
class="layui-textarea">{{role.details}}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<div class="button-container">
|
||||
<button type="submit" class="pear-btn pear-btn-primary pear-btn-sm" lay-submit=""
|
||||
lay-filter="role-update">
|
||||
<i class="layui-icon layui-icon-ok"></i>
|
||||
提交
|
||||
</button>
|
||||
<button type="reset" class="pear-btn pear-btn-sm">
|
||||
<i class="layui-icon layui-icon-refresh"></i>
|
||||
重置
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<script src="{{ url_for('static', filename='/admin/component/layui/layui.js') }}"></script>
|
||||
<script src="{{ url_for('static', filename='/admin/component/pear/pear.js') }}"></script>
|
||||
|
||||
<script>
|
||||
layui.use(['form', 'jquery'], function () {
|
||||
let form = layui.form;
|
||||
let $ = layui.jquery;
|
||||
|
||||
form.on('submit(role-update)', function (data) {
|
||||
$.ajax({
|
||||
url: '/admin/role/update',
|
||||
data: JSON.stringify(data.field),
|
||||
dataType: 'json',
|
||||
contentType: 'application/json',
|
||||
type: 'put',
|
||||
success: function (result) {
|
||||
if (result.success) {
|
||||
layer.msg(result.msg, {icon: 1, time: 1000}, function () {
|
||||
parent.layer.close(parent.layer.getFrameIndex(window.name));//关闭当前页
|
||||
parent.layui.table.reload("role-table");
|
||||
});
|
||||
} else {
|
||||
layer.msg(result.msg, {icon: 2, time: 1000});
|
||||
}
|
||||
}
|
||||
})
|
||||
return false;
|
||||
});
|
||||
})
|
||||
</script>
|
||||
<script>
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -175,7 +175,7 @@
|
||||
title: '修改',
|
||||
shade: 0.1,
|
||||
area: ['500px', '500px'],
|
||||
content: MODULE_PATH + 'edit?roleId=' + obj.data['roleId']
|
||||
content: MODULE_PATH + 'edit/' + obj.data['id']
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user