From dedeb77685c258bc7851c7c4da40eb1315127cb8 Mon Sep 17 00:00:00 2001
From: hwh <332078369@qq.com>
Date: 星期二, 25 六月 2024 14:06:29 +0800
Subject: [PATCH] Merge branch 'hwh'
---
HTML/views/SystemSettings/Job.html | 339 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 339 insertions(+), 0 deletions(-)
diff --git a/HTML/views/SystemSettings/Job.html b/HTML/views/SystemSettings/Job.html
new file mode 100644
index 0000000..1b6bb4f
--- /dev/null
+++ b/HTML/views/SystemSettings/Job.html
@@ -0,0 +1,339 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+ <meta charset="utf-8">
+ <title>瀹氭椂浠诲姟鍒楄〃</title>
+ <meta name="renderer" content="webkit">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+ <meta name="viewport"
+ content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
+ <link rel="stylesheet" href="../../layuiadmin/layui/css/layui.css" media="all">
+ <link rel="stylesheet" href="../../layuiadmin/style/admin.css" media="all">
+ <script>
+ // 杩欓噷鏄渶瑕佸湪椤甸潰娓叉煋涔嬪墠鎵ц鐨勪唬鐮�
+ document.addEventListener("DOMContentLoaded", function () {
+
+ //鑾峰彇table榛樿鏄剧ず鏁�
+ pageCntFirst();
+ });
+ </script>
+</head>
+
+<body id="body">
+ <div class="layui-fluid" style="padding-bottom: 0; ">
+ <div class="layui-card">
+ <div class="layui-form layui-card-header layuiadmin-card-header-auto" style="border-bottom:1px solid #CCC"
+ id="top">
+ <div class="layui-form-item">
+ <div class="layui-inline">
+ <button class="layui-btn layui-btn-sm layuiadmin-btn-list" lay-submit
+ lay-filter="LAY-app-contlist-add">
+ <i class="layui-icon layui-icon-add-1 layuiadmin-button-btn"></i>娣诲姞
+ </button>
+ </div>
+ </div>
+ </div>
+
+ <div id="center"></div>
+
+ <div class="layui-card-body">
+ <table id="LAY-app-content-list" lay-filter="LAY-app-content-list"></table>
+ </div>
+ </div>
+ </div>
+ <script src="../../layuiadmin/layui/layui.js"></script>
+ <script src="../../js/public.js"></script>
+ <script src="../../js/jquery-3.5.1.min.js"></script>
+ <script src="../../js/jquery.cookie.js"></script>
+ <script type="text/html" id="toolBar">
+ <!-- d浠h〃鐨勬槸layui 寮曟搸妯℃澘涓墍浣跨敤鐨勫崟涓暟鎹� -->
+ {{# if(d.TriggerState ==0){ }}
+ <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="Pause">
+ <i class="layui-icon layui-icon-pause"></i>鏆傚仠</a>
+ {{# } }}
+ {{# if(d.TriggerState ==1){ }}
+ <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="Play">
+ <i class="layui-icon layui-icon-play"></i>寮�濮�</a>
+ {{# } }}
+ <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="edit"><i class="layui-icon layui-icon-edit"></i>缂栬緫</a>
+ <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del"><i
+ class="layui-icon layui-icon-delete"></i>鍒犻櫎</a>
+ <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="detail"><i
+ class="layui-icon layui-icon-log"></i>鏃ュ織</a>
+ <a class="layui-btn layui-btn-normal layui-btn-xs" lay-event="execute"><i
+ class="layui-icon layui-icon-triangle-r"></i>鎵ц</a>
+ </script>
+ <script>
+ var doing = true;
+ var objRowsData = {};
+ layui.config({
+ base: '../../layuiadmin/' //闈欐�佽祫婧愭墍鍦ㄨ矾寰�
+ }).extend({
+ index: 'lib/index' //涓诲叆鍙fā鍧�
+ }).use(['index', 'table', 'laypage', 'layer'], function () {
+ var table = layui.table,
+ form = layui.form,
+ laypage = layui.laypage,
+ layer = layui.layer;
+ var h1 = GetTableHeight();
+ refreshTable();
+ var tableIns;
+
+ function refreshTable() {
+ var url = "/Job/GetAllJob";
+ sendData(IP + url, {}, 'get', function (res) {
+
+ // console.log(res.data)
+ if (res.code == 200) //鎴愬姛
+ {
+ var list = res.data;
+ $.extend(infoOptions, {
+ data: list
+ });
+ tableIns = table.render(infoOptions);
+
+ }
+ else //涓嶆垚鍔�
+ {
+ layer.msg('鑾峰彇浠诲姟鍒楄〃淇℃伅澶辫触锛�', {
+ icon: 2,
+ time: 2000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ }, function () { });
+ }
+ });
+
+ }
+ var infoOptions = {
+ elem: '#LAY-app-content-list',
+ height: h1,
+ id: 'LAY-app-content-list',
+ page: false,
+ limit: pageCnt,
+ limits: pageLimits,
+ even: true,
+ cols:
+ [[
+ {
+ title: '搴忓彿', type: 'numbers', fixed: 'left', width: 65
+ },
+ {
+ field: 'Name', title: '浠诲姟鍚嶇О', align: 'center', fixed: 'left', width: 100
+ },
+ {
+ field: 'JobType', title: '绫诲瀷', align: 'center', fixed: 'left', width: 80, templet: function (d) {
+ if (d.JobType == 1) {
+ return 'Http'
+ } else if (d.JobType == 2) {
+ return '鍐呯疆'
+ } else if (d.JobType == 3) {
+ return '鐑姞杞�'
+ }
+ }
+ },
+ {
+ field: 'RunNumber', title: '瑙﹀彂娆℃暟', align: 'center', width: 100
+ },
+ {
+ field: 'DisplayState', title: '鐘舵��', align: 'center', width: 80
+ },
+ {
+ field: 'PreviousFireTime', title: '涓婃鎵ц鏃堕棿', align: 'center', width: 170, templet: function (d) {
+ return formatDateTime(d.PreviousFireTime)
+ }
+ },
+ {
+ field: 'NextFireTime', title: '涓嬫鎵ц鏃堕棿', align: 'center', width: 170, templet: function (d) {
+ return formatDateTime(d.NextFireTime)
+ }
+ },
+ {
+ field: 'Description', title: '鎻忚堪', align: 'center'
+ },
+ {
+ field: 'caozuo', title: '鎿嶄綔', fixed: 'right', width: 340, align: 'left', toolbar: "#toolBar"
+ }
+ ]]
+ };
+
+ table.on('tool(LAY-app-content-list)', function (obj) {
+ var data = obj.data;
+ switch (obj.event) {
+ case "execute":
+ sendData(IP + "/Job/TriggerJob", { Name: data.Name, Group: data.GroupName }, 'post', function (res) {
+ console.log(res);
+ if (res.code == 200) { //鎴愬姛
+ layer.msg(res.msg, {
+ icon: 1,
+ time: 3000 //1绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ }, function () {
+ doing = true;
+ });
+ } else { //涓嶆垚鍔�
+ layer.msg(res.msg, {
+ icon: 2,
+ time: 3000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ }, function () {
+ doing = true;
+ });
+ }
+ layer.close(index);
+ });
+ break;
+ case "edit":
+ objRowsData = data;
+ layer.open({
+ type: 2,
+ title: '缂栬緫瀹氭椂浠诲姟淇℃伅',
+ content: 'JobForm.html',
+ maxmin: true,
+ area: ['650px', '550px'],
+ end: function () {
+ refreshTable();
+ }
+ });
+ break;
+ case "del":
+ if (doing) {
+ doing = false;
+ layer.confirm('纭畾鍒犻櫎閫変腑鐨勬ā鏉匡紵', function (index) {
+ sendData(IP + "/Job/RemoveJob", { Name: data.Name, Group: data.GroupName }, 'post', function (res) {
+ console.log(res);
+ if (res.code == 200) { //鎴愬姛
+ layer.msg(res.msg, {
+ icon: 1,
+ time: 3000 //1绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ }, function () {
+ refreshTable();
+ doing = true;
+ });
+ } else { //涓嶆垚鍔�
+ layer.msg(res.msg, {
+ icon: 2,
+ time: 3000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ }, function () {
+ refreshTable();
+ doing = true;
+ });
+ }
+ layer.close(index);
+ });
+
+ });
+ }
+ break;
+ case "detail":
+ sendData(IP + "/Job/GetJobLogs", { Name: data.Name, Group: data.GroupName }, 'post', function (res) {
+ console.log(res);
+ if (res.code == 200) { //鎴愬姛
+ if (res.data) {
+ layer.open({
+ type: 1,
+ area: ['80%', '80%'], // 瀹介珮
+ content: res.data.join('\n')
+ });
+ }
+ else {
+ layer.msg('鏆傛棤鏃ュ織', {
+ icon: 2,
+ time: 3000
+ }, function () {
+ refreshTable();
+ });
+ }
+ } else { //涓嶆垚鍔�
+ layer.msg(res.msg, {
+ icon: 2,
+ time: 3000
+ }, function () {
+ refreshTable();
+ });
+ }
+ layer.close(index);
+ });
+ break;
+ case "Play":
+ sendData(IP + "/Job/ResumeJob", { Name: data.Name, Group: data.GroupName }, 'post', function (res) {
+ console.log(res);
+ if (res.code == 200) { //鎴愬姛
+ layer.msg(res.msg, {
+ icon: 1,
+ time: 3000 //1绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ }, function () {
+ refreshTable();
+ doing = true;
+ });
+ } else { //涓嶆垚鍔�
+ layer.msg(res.msg, {
+ icon: 2,
+ time: 3000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ }, function () {
+ refreshTable();
+ doing = true;
+ });
+ }
+ layer.close(index);
+ });
+ break;
+ case "Pause":
+ sendData(IP + "/Job/StopJob", { Name: data.Name, Group: data.GroupName }, 'post', function (res) {
+ console.log(res);
+ if (res.code == 200) { //鎴愬姛
+ layer.msg(res.msg, {
+ icon: 1,
+ time: 3000 //1绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ }, function () {
+ refreshTable();
+ doing = true;
+ });
+ } else { //涓嶆垚鍔�
+ layer.msg(res.msg, {
+ icon: 2,
+ time: 3000 //2绉掑叧闂紙濡傛灉涓嶉厤缃紝榛樿鏄�3绉掞級
+ }, function () {
+ refreshTable();
+ doing = true;
+ });
+ }
+ layer.close(index);
+ });
+ break;
+ }
+ });
+ //娣诲姞
+ form.on('submit(LAY-app-contlist-add)', function (obj) {
+ objRowsData = {};
+ layer.open({
+ type: 2,
+ title: '娣诲姞瀹氭椂浠诲姟淇℃伅',
+ content: 'JobForm.html',
+ maxmin: true,
+ area: ['650px', '550px'],
+ end: function () {
+ refreshTable();
+ }
+ });
+ });
+ });
+ function formatDateTime(inputDateTime) {
+ // 鍒涘缓涓�涓棩鏈熷璞★紝鐢ㄤ簬瑙f瀽杈撳叆鐨勬棩鏈熸椂闂村瓧绗︿覆
+ let date = new Date(inputDateTime);
+
+ // 鎻愬彇骞淬�佹湀銆佹棩銆佹椂銆佸垎銆佺
+ let year = date.getFullYear();
+ let month = ('0' + (date.getMonth() + 1)).slice(-2); // 鏈堜唤浠�0寮�濮嬶紝闇�瑕佸姞1锛屽苟纭繚涓や綅鏁�
+ let day = ('0' + date.getDate()).slice(-2); // 鏃ラ渶瑕佺‘淇濅袱浣嶆暟
+ let hours = ('0' + date.getHours()).slice(-2); // 灏忔椂闇�瑕佺‘淇濅袱浣嶆暟
+ let minutes = ('0' + date.getMinutes()).slice(-2); // 鍒嗛挓闇�瑕佺‘淇濅袱浣嶆暟
+ let seconds = ('0' + date.getSeconds()).slice(-2); // 绉掗挓闇�瑕佺‘淇濅袱浣嶆暟
+
+ // 鎷兼帴鎴愭墍闇�鐨勬牸寮�
+ let formattedDateTime = `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`;
+
+ return formattedDateTime;
+ }
+ </script>
+
+</body>
+
+</html>
\ No newline at end of file
--
Gitblit v1.8.0