新增(移动)一些应该放在“管理”形成列表管理,而非放在“设置”形成单一配置的内容

This commit is contained in:
2025-07-03 15:58:27 +08:00
parent 04cf470ead
commit 148583cdaa
52 changed files with 2433 additions and 362 deletions

View File

@@ -1,7 +1,7 @@
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head th:insert="~{admin/v1/include::head}"
th:with="title=${'计划任务管理'}">
th:with="title=${'计划任务'}">
</head>
<body>
@@ -10,7 +10,8 @@
<div class="manage-body">
<div>
<h1 class="manage-title">
<b>计划任务列表</b><a href="javascript:openNewForm()" class="operate">新增</a>
<i class="fa-fw fa-regular fa-calendar"></i>
<b>计划任务</b><a href="javascript:openNewForm()" class="operate">新增</a>
</h1>
</div>
@@ -39,25 +40,19 @@
})
.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({
Helper.renderTable({
elem: '#plans',
url:'/admin/v1/manage/plan/list',
page:true, skin:'line',
idName: 'planId',
baseUrl:'/admin/v1/manage/plan',
cols: [ [
{type:'checkbox'},
{field:'enabled', title: '启用', width: 95, templet: switchTemplet},
{field:'openDayCheck', title: '交易日校验', width: 95, templet: switchTemplet},
{field:'enabled', title: '启用', width: 95, switchTemplet: true},
{field:'openDayCheck', title: '交易日校验', width: 95, switchTemplet: true},
{field:'planId', hide: true, width: 60, title: 'ID'},
{field:'planName', title: '计划名称'},
{field:'cronExpression', title: '计划表达式'},
{field:'indexCode', title: '指标代码'},
{field:'params', title: '请求参数',templet: function(d) {
{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(', ');
}
@@ -71,49 +66,15 @@
}},
{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'}],
{title: '删除', op: 'DELETE'},
{title: '启用', op: 'ENABLE'},
{title: '停用', op: 'DISABLE'},
{title: '开启交易日校验', op: 'ENABLE_OPEN_DAY_CHECK'},
{title: '关闭交易日校验', op: 'DISABLE_OPEN_DAY_CHECK'}],
click: function (data, othis){
var checked = layui.table.checkStatus('plans'), planIds = [];
if (!checked.data.length) {
@@ -124,7 +85,7 @@
planIds.push(plan.planId);
});
data = $.extend(data, {ids: planIds});
var op = function() {
var op = async function() {
$.ajax({
url: '/admin/v1/manage/plan/batchOp',
method: 'POST',
@@ -155,7 +116,7 @@
}
})
}
data.op ? op() : layer.confirm('确认批量删除吗?该操作不可恢复', function(){
data.op != 'DELETE' ? op() : layer.confirm('确认批量删除吗?该操作不可恢复', function(){
op();
})
}