First Commit
This commit is contained in:
168
src/main/resources/webpage/admin/v1/manage/plan/index.html
Normal file
168
src/main/resources/webpage/admin/v1/manage/plan/index.html
Normal file
@@ -0,0 +1,168 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" xmlns:th="http://www.thymeleaf.org">
|
||||
<head th:insert="~{admin/v1/include::head}"
|
||||
th:with="title=${'计划任务管理'}">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<ul th:replace="~{admin/v1/include::nav}"></ul>
|
||||
|
||||
<div class="manage-body">
|
||||
<div>
|
||||
<h1 class="manage-title">
|
||||
<b>计划任务列表</b><a href="javascript:openNewForm()" class="operate">新增</a>
|
||||
</h1>
|
||||
|
||||
</div>
|
||||
<button class="layui-btn layui-btn-sm operdown">
|
||||
<span>选中项<i
|
||||
class="layui-icon layui-icon-sm layui-icon-triangle-d"></i></span>
|
||||
</button>
|
||||
<div>
|
||||
<table class="layui-table" id="plans" lay-filter="plans">
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div th:replace="~{admin/v1/include::feet}"></div>
|
||||
<script type="text/html" id="operationTpl">
|
||||
<div class="layui-btn-group">
|
||||
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
|
||||
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
|
||||
</div>
|
||||
</script>
|
||||
<th:block th:replace="~{admin/v1/include::head-script}"></th:block>
|
||||
<script th:inline="javascript">
|
||||
layui
|
||||
.extend({
|
||||
xmSelect: '/admin/v1/static/layuiadmin/lib/xm-select',
|
||||
cron: '/admin/v1/static/layuiadmin/lib/cron'
|
||||
})
|
||||
.use(['table', 'form', 'dropdown', 'layer', 'xmSelect', 'cron'], function(){
|
||||
var dropdown = layui.dropdown, table = layui.table, form = layui.form;
|
||||
function switchTemplet(d) {
|
||||
var fieldName = d.LAY_COL.field;
|
||||
return `<input type="checkbox" lay-skin="switch" lay-text="|"
|
||||
data-field="${fieldName}" data-id="${d.planId}"
|
||||
${d[fieldName] ? 'checked' : ''} lay-filter="switchFilter">`;
|
||||
}
|
||||
table.render({
|
||||
elem: '#plans',
|
||||
url:'/admin/v1/manage/plan/list',
|
||||
page:true, skin:'line',
|
||||
cols: [ [
|
||||
{type:'checkbox'},
|
||||
{field:'enabled', title: '启用', width: 95, templet: switchTemplet},
|
||||
{field:'openDayCheck', title: '交易日校验', width: 95, templet: switchTemplet},
|
||||
{field:'planId', hide: true, width: 60, title: 'ID'},
|
||||
{field:'planName', title: '计划名称'},
|
||||
{field:'cronExpression', title: '计划表达式'},
|
||||
{field:'indexCode', title: '指标代码'},
|
||||
{field:'params', title: '请求参数',templet: function(d) {
|
||||
if (typeof d.params === 'object' && d.params !== null) {
|
||||
return Object.entries(d.params).map(([key, value]) => `${key}=${value}`).join(', ');
|
||||
}
|
||||
return d.params || '无';
|
||||
}},
|
||||
{field:'periods', title: '更新粒度', templet: function(d) {
|
||||
if (typeof d.periods === 'object' && d.periods !== null) {
|
||||
return d.periods.map(x => Helper.emoneyPeriodToName(x)).join(', ')
|
||||
}
|
||||
return d.periods || '无';
|
||||
}},
|
||||
{field:'operation', title: '操作', toolbar: '#operationTpl'}
|
||||
]]
|
||||
});
|
||||
form.on('switch(switchFilter)', function(obj) {
|
||||
console.log(obj);
|
||||
console.log(obj.elem.checked);
|
||||
$.ajax({
|
||||
url: '/admin/v1/manage/plan/updateBool',
|
||||
method: 'POST',
|
||||
data: {
|
||||
planId: obj.elem.dataset.id,
|
||||
field: obj.elem.dataset.field,
|
||||
value: obj.elem.checked
|
||||
},
|
||||
success: function () {
|
||||
layer.msg('操作成功', {
|
||||
offset: '15px',
|
||||
icon: 1,
|
||||
time: 1000
|
||||
},
|
||||
function() {}
|
||||
)
|
||||
},
|
||||
error: function (res) {
|
||||
var r = res.responseJSON;
|
||||
layer.msg(r && r.data || '服务器错误', {
|
||||
offset: '15px',
|
||||
icon: 2,
|
||||
time: 1000
|
||||
});
|
||||
// 恢复 enabled 状态
|
||||
obj.elem.checked = !obj.elem.checked;
|
||||
layui.form.render('checkbox')
|
||||
return
|
||||
}
|
||||
})
|
||||
});
|
||||
dropdown.render({
|
||||
elem: '.operdown',
|
||||
data: [
|
||||
{title: '删除'},
|
||||
{title: '启用', op: 'enable'},
|
||||
{title: '停用', op: 'disable'},
|
||||
{title: '开启交易日校验', op: 'enableOpenDayCheck'},
|
||||
{title: '关闭交易日校验', op: 'disableOpenDayCheck'}],
|
||||
click: function (data, othis){
|
||||
var checked = layui.table.checkStatus('plans'), planIds = [];
|
||||
if (!checked.data.length) {
|
||||
layui.layer.msg('未选中任何项', {time: 1000});
|
||||
return;
|
||||
}
|
||||
$.each(checked.data, function (i, plan){
|
||||
planIds.push(plan.planId);
|
||||
});
|
||||
data = $.extend(data, {ids: planIds});
|
||||
var op = function() {
|
||||
$.ajax({
|
||||
url: '/admin/v1/manage/plan/batchOp',
|
||||
method: 'POST',
|
||||
data: data,
|
||||
success: function () {
|
||||
layer.msg('批量操作成功', {
|
||||
offset: '15px',
|
||||
icon: 1,
|
||||
time: 1000
|
||||
},
|
||||
function() {
|
||||
layui.table.reload('plans', {
|
||||
page: {
|
||||
curr: $(".layui-laypage-em").next().html() //当前页码值
|
||||
}
|
||||
});
|
||||
}
|
||||
)
|
||||
},
|
||||
error: function (res) {
|
||||
var r = res.responseJSON;
|
||||
layer.msg(r&&r.data||'服务器错误', {
|
||||
offset: '15px',
|
||||
icon: 2,
|
||||
time: 1000
|
||||
});
|
||||
return
|
||||
}
|
||||
})
|
||||
}
|
||||
data.op ? op() : layer.confirm('确认批量删除吗?该操作不可恢复', function(){
|
||||
op();
|
||||
})
|
||||
}
|
||||
});
|
||||
})
|
||||
</script>
|
||||
<th:block th:replace="~{admin/v1/manage/plan/include::planExtra}"></th:block>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
Reference in New Issue
Block a user