mirror of https://gitee.com/stylefeng/guns
129 lines
4.1 KiB
Java
129 lines
4.1 KiB
Java
layui.use(['table', 'admin', 'form', 'func', 'HttpRequest', 'dropdown'], function () {
|
|
let $ = layui.$;
|
|
let table = layui.table;
|
|
let form = layui.form;
|
|
let func = layui.func;
|
|
let HttpRequest = layui.HttpRequest;
|
|
let dropdown = layui.dropdown;
|
|
|
|
// 定时表管理
|
|
let Position = {
|
|
tableId: "timerTable"
|
|
};
|
|
|
|
// 初始化表格的列
|
|
Position.initColumn = function () {
|
|
return [[
|
|
{type: 'checkbox'},
|
|
{field: 'timerId', hide: true, title: '主键id'},
|
|
{field: 'timerName', sort: true, title: '任务名称'},
|
|
{field: 'params', sort: true, title: '参数'},
|
|
{field: 'cron', sort: true, title: 'cron表达式'},
|
|
{field: 'actionClass', sort: true, title: '任务class'},
|
|
{field: 'remark', sort: true, title: '备注信息'},
|
|
{field: 'jobStatus', sort: true, templet: '#statusTpl', title: '状态'},
|
|
{align: 'center', toolbar: '#tableBar', title: '操作'}
|
|
]];
|
|
};
|
|
|
|
// 点击查询按钮
|
|
Position.search = function () {
|
|
let queryData = {};
|
|
queryData['timerName'] = $("#timerName").val();
|
|
queryData['jobStatus'] = $("#jobStatus").val();
|
|
table.reload(Position.tableId, {
|
|
where: queryData,
|
|
page: {curr: 1}
|
|
});
|
|
};
|
|
|
|
// 弹出添加对话框
|
|
Position.openAddDlg = function () {
|
|
func.open({
|
|
title: '添加定时任务',
|
|
content: Feng.ctxPath + '/view/sysTimers/addView',
|
|
tableId: Position.tableId
|
|
});
|
|
};
|
|
|
|
// 点击编辑
|
|
Position.openEditDlg = function (data) {
|
|
func.open({
|
|
title: '修改定时任务',
|
|
content: Feng.ctxPath + '/view/sysTimers/editView?timerId=' + data.timerId,
|
|
tableId: Position.tableId
|
|
});
|
|
};
|
|
|
|
// 点击删除
|
|
Position.delete = function (data) {
|
|
let operation = function () {
|
|
let httpRequest = new HttpRequest(Feng.ctxPath + "/sysTimers/delete", 'post', function (data) {
|
|
Feng.success("删除成功!");
|
|
table.reload(Position.tableId);
|
|
}, function (data) {
|
|
Feng.error("删除失败!" + data.message + "!");
|
|
});
|
|
httpRequest.set(data);
|
|
httpRequest.start(true);
|
|
};
|
|
Feng.confirm("是否删除?", operation);
|
|
};
|
|
|
|
// 修改定时任务状态
|
|
Position.updateStatus = function (timerId, checked) {
|
|
// 1-启动 2-停止
|
|
let updateStatusUrl = checked == 1 ? "/sysTimers/start" : "/sysTimers/stop";
|
|
|
|
let httpRequest = new HttpRequest(Feng.ctxPath + updateStatusUrl, 'post', function (data) {
|
|
Feng.success("修改成功!");
|
|
}, function (data) {
|
|
Feng.error("修改失败!" + data.responseJSON.message);
|
|
table.reload(Position.tableId);
|
|
});
|
|
httpRequest.set({"timerId": timerId});
|
|
httpRequest.start(true);
|
|
};
|
|
|
|
// 渲染表格
|
|
let tableResult = table.render({
|
|
elem: '#' + Position.tableId,
|
|
url: Feng.ctxPath + '/sysTimers/page',
|
|
page: true,
|
|
request: {pageName: 'pageNo', limitName: 'pageSize'},
|
|
height: "full-158",
|
|
cellMinWidth: 100,
|
|
cols: Position.initColumn(),
|
|
parseData: Feng.parseData
|
|
});
|
|
|
|
// 搜索按钮点击事件
|
|
$('#btnSearch').click(function () {
|
|
Position.search();
|
|
});
|
|
|
|
// 添加按钮点击事件
|
|
$('#btnAdd').click(function () {
|
|
Position.openAddDlg();
|
|
});
|
|
|
|
// 工具条点击事件
|
|
table.on('tool(' + Position.tableId + ')', function (obj) {
|
|
let data = obj.data;
|
|
let event = obj.event;
|
|
if (event === 'edit') {
|
|
Position.openEditDlg(data);
|
|
} else if (event === 'delete') {
|
|
Position.delete(data);
|
|
}
|
|
dropdown.hideAll();
|
|
});
|
|
|
|
// 修改状态
|
|
form.on('switch(status)', function (obj) {
|
|
let timerId = obj.elem.value;
|
|
let checked = obj.elem.checked ? 1 : 2;
|
|
Position.updateStatus(timerId, checked);
|
|
});
|
|
});
|