From 851c8de2af1ee28ef148d0acf132ed4b03071a54 Mon Sep 17 00:00:00 2001 From: 马宇豪 <978517621@qq.com> Date: 星期三, 12 六月 2024 14:54:27 +0800 Subject: [PATCH] 添加 --- src/main/java/com/ruoyi/project/tool/gen/util/VelocityUtils.java | 8 src/main/resources/templates/tr/tbBaseCheckTask/taskDetail.html | 131 ++++++ src/main/java/com/ruoyi/project/tr/specialCheck/controller/TBBaseCheckTaskController.java | 6 src/main/resources/templates/tr/tbBaseCheckTask/taskEdit.html | 321 ++++++++++++++++ src/main/resources/templates/tr/tbBaseCheckTask/specialCheckTaskLog.html | 170 ++++++++ src/main/resources/templates/tr/tbBaseCheckTask/selectTbBaseCheckTaskPage.html | 129 ++++++ src/main/java/com/ruoyi/project/tr/specialCheck/controller/TBSpecialCheckTaskLogController.java | 11 src/main/resources/templates/tr/tbBaseCheckTask/taskAdd.html | 407 ++++++++++++++++++++ 8 files changed, 1,173 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/ruoyi/project/tool/gen/util/VelocityUtils.java b/src/main/java/com/ruoyi/project/tool/gen/util/VelocityUtils.java index 50cd713..f3462ad 100644 --- a/src/main/java/com/ruoyi/project/tool/gen/util/VelocityUtils.java +++ b/src/main/java/com/ruoyi/project/tool/gen/util/VelocityUtils.java @@ -166,13 +166,13 @@ { fileName = StringUtils.format("{}/tree.html", htmlPath); } - else if (template.contains("add.html.vm")) + else if (template.contains("taskAdd.html.vm")) { - fileName = StringUtils.format("{}/add.html", htmlPath); + fileName = StringUtils.format("{}/taskAdd.html", htmlPath); } - else if (template.contains("edit.html.vm")) + else if (template.contains("taskEdit.html.vm")) { - fileName = StringUtils.format("{}/edit.html", htmlPath); + fileName = StringUtils.format("{}/taskEdit.html", htmlPath); } else if (template.contains("sql.vm")) { diff --git a/src/main/java/com/ruoyi/project/tr/specialCheck/controller/TBBaseCheckTaskController.java b/src/main/java/com/ruoyi/project/tr/specialCheck/controller/TBBaseCheckTaskController.java index 228a49b..a5be511 100644 --- a/src/main/java/com/ruoyi/project/tr/specialCheck/controller/TBBaseCheckTaskController.java +++ b/src/main/java/com/ruoyi/project/tr/specialCheck/controller/TBBaseCheckTaskController.java @@ -23,7 +23,7 @@ @RequestMapping("/tr/tbBaseCheckTask") public class TBBaseCheckTaskController extends BaseController { - private String prefix = "tr/selectTbBaseCheckTaskPage"; + private String prefix = "tr/tbBaseCheckTask"; @Autowired private TbBaseCheckService tbBaseCheckService; @@ -38,9 +38,9 @@ - @PostMapping("/selectTbBaseCheckTaskPage") + @PostMapping("/list") @ResponseBody - public TableDataInfo selectTbBaseCheckTaskPage(@RequestBody TbBaseCheckTaskBO tbBaseCheckTaskBO) + public TableDataInfo selectTbBaseCheckTaskPage(TbBaseCheckTaskBO tbBaseCheckTaskBO) { ResultVO<List<TbBaseCheckTask>> resultVO = tbBaseCheckService.selectTbBaseCheckTaskPage(tbBaseCheckTaskBO); diff --git a/src/main/java/com/ruoyi/project/tr/specialCheck/controller/TBSpecialCheckTaskLogController.java b/src/main/java/com/ruoyi/project/tr/specialCheck/controller/TBSpecialCheckTaskLogController.java index 8d577cc..2b6b7cd 100644 --- a/src/main/java/com/ruoyi/project/tr/specialCheck/controller/TBSpecialCheckTaskLogController.java +++ b/src/main/java/com/ruoyi/project/tr/specialCheck/controller/TBSpecialCheckTaskLogController.java @@ -47,12 +47,17 @@ - @GetMapping() - public String selectTbBaseCheckTaskPage(ModelMap mmap) +// @GetMapping() +// public String selectTbBaseCheckTaskPage(ModelMap mmap) +// { +// return prefix + "/specialCheckTaskLog"; +// } + @GetMapping("{id}") + public String specialCheckTaskLog(@PathVariable("id")String id,ModelMap modelMap) { + modelMap.put("id",id); return prefix + "/specialCheckTaskLog"; } - @PostMapping("/list") diff --git a/src/main/resources/templates/tr/tbBaseCheckTask/selectTbBaseCheckTaskPage.html b/src/main/resources/templates/tr/tbBaseCheckTask/selectTbBaseCheckTaskPage.html new file mode 100644 index 0000000..6dffe27 --- /dev/null +++ b/src/main/resources/templates/tr/tbBaseCheckTask/selectTbBaseCheckTaskPage.html @@ -0,0 +1,129 @@ +<!DOCTYPE html> +<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro"> +<head> + <th:block th:include="include :: header('定时任务列表')"/> +</head> +<body class="gray-bg"> +<div class="container-div"> + <div class="row"> + <div class="col-sm-12 search-collapse"> + <form id="job-form"> + <div class="select-list"> + <ul> + <li> + 任务名称:<input type="text" name="jobName"/> + </li> + <li> + <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i + class="fa fa-search"></i> 搜索</a> + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i + class="fa fa-refresh"></i> 重置</a> + </li> + </ul> + </div> + </form> + </div> + + <div class="btn-group-sm" id="toolbar" role="group"> + <a class="btn btn-success" onclick="$.operate.add()"> + <i class="fa fa-plus"></i> 新增 + </a> + </div> + + <div class="col-sm-12 select-table table-striped"> + <table id="bootstrap-table"></table> + </div> + </div> +</div> +<th:block th:include="include :: footer"/> +<script th:inline="javascript"> + var prefix = ctx + "tr/tbBaseCheckTask"; + + $(function () { + var options = { + url: prefix + "/list", + detailUrl: "/tr/specialCheckTaskLog/{id}", + createUrl: prefix + "/add", + updateUrl: prefix + "/edit/{id}", + removeUrl: prefix + "/remove", + exportUrl: prefix + "/export", + sortName: "createTime", + sortOrder: "desc", + modalName: "任务", + columns: [{ + checkbox: true + }, + { + field: 'id', + title: 'ID' + }, + { + field: 'taskName', + title: '任务名称' + }, + { + field: 'taskTypeName', + title: '任务类型名称' + }, + { + field: 'taskContent', + title: '任务内容' + }, + { + field: 'checkType', + title: '检查类型', + formatter: function (value, row, index) { + if (value == "1") { + return "企业自查"; + } else if (value == "2") { + return "市级及以下检查"; + } else if (value == "3") { + return "省级检查"; + } else{ + return "部级检查"; + } + } + }, + { + field: 'taskStartTime', + title: '任务开始时间', + }, + { + field: 'taskEndTime', + title: '任务结束时间', + }, + { + field: 'createDate', + title: '创建时间', + }, + { + field: 'taskEndTime', + title: '修改时间', + }, + { + title: '操作', + align: 'center', + formatter: function (value, row, index) { + var actions = []; + // actions.push("<a class='btn btn-default btn-xs' href='#' onclick='taskLog(" + row.id + ")'><i class='fa fa-list'></i>检查任务上报</a>"); + actions.push('<a class="btn btn-info btn-xs " href="javascript:void(0)" onclick="$.operate.detail(\'' + row.id + '\')"><i class="fa fa-edit"></i>检查任务上报</a> '); + return actions.join(''); + } + }] + }; + $.table.init(options); + }); + + /* 执行情况查询 */ + function taskLog(id) { + var url = ctx + 'tr/specialCheckTaskLog'; + if ($.common.isNotEmpty(id)) { + url += '?id=' + id; + } + $.operate.openDetailInfo("检查任务上报", url); + } + + +</script> +</body> +</html> \ No newline at end of file diff --git a/src/main/resources/templates/tr/tbBaseCheckTask/specialCheckTaskLog.html b/src/main/resources/templates/tr/tbBaseCheckTask/specialCheckTaskLog.html new file mode 100644 index 0000000..3c4319c --- /dev/null +++ b/src/main/resources/templates/tr/tbBaseCheckTask/specialCheckTaskLog.html @@ -0,0 +1,170 @@ +<!DOCTYPE html> +<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro"> +<head> + <th:block th:include="include :: header('执行情况列表')"/> +</head> +<body class="gray-bg"> +<div class="container-div"> + <div class="row"> +<!-- <div class="col-sm-12 search-collapse">--> +<!-- <form id="jobLog-form">--> +<!-- <div class="select-list">--> +<!-- <ul>--> +<!-- <input id="jobId" name="jobId" type="hidden" th:value="${job!=null?job.jobId:''}"/>--> +<!-- <li>--> +<!-- 状态:<select name="scheduleCheckStatus">--> +<!-- <option value="">所有</option>--> +<!-- <option value="0">未排查</option>--> +<!-- <option value="1">已排查</option>--> +<!-- </select>--> +<!-- </li>--> +<!-- <li>--> +<!-- <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i--> +<!-- class="fa fa-search"></i> 搜索</a>--> +<!-- <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i--> +<!-- class="fa fa-refresh"></i> 重置</a>--> +<!-- </li>--> +<!-- </ul>--> +<!-- </div>--> +<!-- </form>--> +<!-- </div>--> + <div class="col-sm-12 search-collapse"> + <form id="formId"> + <div class="select-list"> + <ul> +<!-- <li>--> +<!-- <label>检查类别:</label>--> +<!-- <input type="text" name="checkType"/>--> +<!-- </li>--> + + <input type="hidden" id="riskId" name="id" th:value="${id}"/> + + <li> + <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a> + <a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i> 重置</a> + </li> + </ul> + </div> + </form> + </div> + <div class="btn-group-sm" id="toolbar" role="group"> + <a class="btn btn-success" onclick="$.operate.add()"> + <i class="fa fa-plus"></i> 新增 + </a> + </div> + <div class="col-sm-12 select-table table-striped"> + <table id="bootstrap-table"></table> + </div> + </div> +</div> +<th:block th:include="include :: footer"/> +<script th:inline="javascript"> + var statusDatas = [[${@dict.getType('sys_common_status')}]]; + var groupDatas = [[${@dict.getType('sys_job_group')}]]; + var prefix = ctx + "tr/specialCheckTaskLog"; + + $(function () { + var options = { + url: prefix + "/list", + queryParams: queryParams, + cleanUrl: prefix + "/clean", + createUrl: prefix + "/taskAdd", + detailUrl: prefix + "/taskDetail/{id}", + updateUrl: prefix + "/taskEdit/{id}", + removeUrl: prefix + "/remove", + exportUrl: prefix + "/export", + sortName: "createTime", + sortOrder: "desc", + modalName: "任务上报", + columns: [{ + checkbox: true + }, + { + field: 'riskName', + title: '风险分析对象' + }, + { + field: 'checkType', + title: '检查类型', + formatter: function (value, row, index) { + if (value == "1") { + return "企业自查"; + } else if (value == "2") { + return "市级及以下检查"; + } else if (value == "3") { + return "省级检查"; + } else{ + return "部级检查"; + } + } + }, + { + field: 'riskName', + title: '检查日期' + }, + { + field: 'riskName', + title: '是否停产整顿', + formatter: function (value, row, index) { + if (value == "1") { + return "企业自查"; + } else if (value == "2") { + return "市级及以下检查"; + } else if (value == "3") { + return "省级检查"; + } else{ + return "部级检查"; + } + } + }, + { + field: 'riskName', + title: '创建人' + }, + { + field: 'riskName', + title: '创建时间' + }, + { + field: 'riskName', + title: '最后修改人' + }, + { + field: 'riskName', + title: '最后修改时间' + }, + { + field: 'scheduleCheckStatus', + title: '上报状态', + align: 'center', + formatter: function (value, row, index) { + if (value == "0") { + return "未排查"; + } else if (value == "1") { + return "已排查"; + } + } + }, + { + title: '操作', + align: 'center', + formatter: function (value, row, index) { + var actions = []; + actions.push('<a class="btn btn-success btn-xs" href="#" onclick="$.operate.edit(\'' + row.id + '\')"><i class="fa fa-edit"></i>编辑</a> '); + actions.push("<a class='btn btn-warning btn-xs' href='#' onclick='$.operate.detail(" + row.id + ")'><i class='fa fa-search'></i>查看</a> "); + return actions.join(''); + } + } + ] + }; + $.table.init(options); + }); + function queryParams(params) { + var search = $.table.queryParams(params); + // 所属风险单元 + search.id = $("#riskId").val(); + return search; + } +</script> +</body> +</html> \ No newline at end of file diff --git a/src/main/resources/templates/tr/tbBaseCheckTask/taskAdd.html b/src/main/resources/templates/tr/tbBaseCheckTask/taskAdd.html new file mode 100644 index 0000000..e44d62a --- /dev/null +++ b/src/main/resources/templates/tr/tbBaseCheckTask/taskAdd.html @@ -0,0 +1,407 @@ +<!DOCTYPE html> +<html lang="zh" xmlns:th="http://www.thymeleaf.org"> +<head> + <th:block th:include="include :: header('新增定时任务')"/> + <th:block th:include="include :: datetimepicker-css"/> +</head> +<body class="white-bg"> +<div class="wrapper wrapper-content animated fadeInRight ibox-content"> + <form class="form-horizontal m" id="form-job-add"> + <div class="form-group"> + <label class="col-sm-3 control-label is-required">排查类型:</label> + <div class="col-sm-8"> + <select name="troubleshootTypeId" class="form-control m-b" required id="troubleshootTypeId"> + <option value="">请选择</option> + <option th:each="troubleshootType : ${troubleshootTypeList}" th:text="${troubleshootType.typeName}" + th:value="${troubleshootType.typeId}" + th:attr="data-typecyclenum=${troubleshootType.typeCycleNum},data-typecycletype=${troubleshootType.typeCycleType}"></option> + </select> + </div> + </div> + + + <div class="form-group"> + <label class="col-sm-3 control-label is-required">排查周期:</label> + <div class="col-sm-8"> + <input class="form-control" type="text" id="troubleshootCycleInfo" required readonly="readonly"> + </div> + </div> + + <div class="form-group"> + <label class="col-sm-3 control-label is-required">任务名称:</label> + <div class="col-sm-8"> + <input class="form-control" type="text" name="jobName" id="jobName" required> + </div> + </div> + + + <div class="form-group"> + <label class="col-sm-3 control-label is-required">排查方式:</label> + <div class="col-sm-8"> + <select name="checkType" class="form-control m-b" required id="checkType"> + <option value="1">基础清单排查</option> +<!-- <option value="2">选择风险单元清单排查</option>--> + </select> + </div> + </div> + + + <div class="form-group" style="display:block;" id="basicRiskListInfo"> + <label class="col-sm-3 control-label is-required">基础清单:</label> + <div class="col-sm-8"> + <select class="form-control m-b" id="basicRiskList"> + <option th:each="basic : ${basicRiskList}" + th:text="${basic.riskListName}" + th:value="${basic.riskListId}"></option> + </select> + </div> + </div> + + + <div class="form-group" id="riskInfo" style="display:none"> + <label class="col-sm-3 control-label is-required">风险单元:</label> + <div class="col-sm-8"> + <input id="riskName" placeholder="选择风险单元" class="form-control" type="text" + onclick="selectRiskList()" maxlength="30" readonly="true"> + <input id="riskId" type="hidden"> + <input id="riskDeptId" type="hidden"> + <input id="riskDeptName" type="hidden"> + <input id="riskPlaceId" type="hidden"> + <input id="riskPlaceName" type="hidden"> + <input id="riskType" type="hidden"> + </div> + </div> + + + <!--<div class="form-group">--> + <!--<label class="col-sm-3 control-label is-required">执行人:</label>--> + <!--<div class="col-sm-8">--> + <!--<input id="executeUserName" name="executeUserName" placeholder="选择执行人" class="form-control" type="text"--> + <!--onclick="selectExecuteUser()" maxlength="30" readonly="true" required>--> + <!--<input id="executeUserId" name="executeUserId" type="hidden">--> + <!--</div>--> + <!--</div>--> + + <div class="form-group"> + <label class="col-sm-3 control-label is-required">执行人:</label> + <div class="col-sm-8"> + <input id="executeUserNameString" name="executeUserNameString" placeholder="选择执行人" class="form-control" type="text" + onclick="selectExecuteUserConfirm()" maxlength="30" readonly="true" required> + <input id="executeUserIdString" name="executeUserIdString" type="hidden"> + </div> + </div> + + + <div class="form-group" id="wholeStartTimeDiv"> + <label class="col-sm-3 control-label is-required"> + 执行时间: + <a id="addStartTimeDiv" class="btn btn-success" title="增加执行时间"> + <i class="fa fa-plus"></i> + </a> + </label> + <div class="col-sm-8" id="startTimeDivs"> + <style type="text/css"> + .startTimeDiv { + margin-top: 10px; + } + + .removeStartTimeDiv { + margin-left: 10px; + } + + .startTimeInput { + width: 80% !important; + } + </style> + + <div class="input-group date"> + <span class="input-group-addon"><i class="fa fa-calendar"></i></span> + <input name="startTimeList" class="form-control startTimeInput" type="text" readonly="readonly" + required> + </div> + </div> + </div> + + + <input id="jobGroup" name="jobGroup" type="hidden" value="HiddenDangerCheckJobLog"/> + + </form> +</div> +<th:block th:include="include :: footer"/> +<th:block th:include="include :: datetimepicker-js"/> +<script type="text/javascript"> + + //增加执行时间 + $("#wholeStartTimeDiv").on('click', '#addStartTimeDiv', function () { + var addStartTimeDivHtml = '<div class="input-group date startTimeDiv">\n' + + ' <span class="input-group-addon"><i class="fa fa-calendar"></i></span>\n' + + ' <input name="startTimeList" class="form-control startTimeInput" type="text" readonly="readonly" required>\n' + + ' <a class="btn btn-danger removeStartTimeDiv" title="删除执行时间">\n' + + ' <i class="fa fa-remove"></i>\n' + + ' </a></div>'; + $("#startTimeDivs").append(addStartTimeDivHtml); + $("input[name='startTimeList']").datetimepicker({ + format: "yyyy-mm-dd hh:ii", + autoclose: true + }); + }); + + //删除执行时间 + $("#startTimeDivs").on('click', '.removeStartTimeDiv', function () { + $(this).parent().remove(); + }); + + // /*执行人 选择 start*/ + // function selectExecuteUser() { + // var url = ctx + "system/user/selectUserListByParentSonCompany"; + // var options = { + // title: '用户选择', + // width: "800", + // url: url, + // }; + // $.modal.openOptionsByCallback(options, function (layero, index) { + // var body = layer.getChildFrame('body', index); + // body.on("click", ".selectUser", function () { + // var userId = $(this).data("userid"); + // var userName = $(this).data("username"); + // $("#executeUserId").val(userId); + // $("#executeUserName").val(userName); + // layer.close(index); + // }); + // }); + // } + // /*执行人 选择 end*/ + + + + //切换排查类型 + $("#checkType").on("change", function () { + var $thisValue = $(this).val(); + if ($thisValue == "1") { + $("#riskInfo").find(":input").attr("disabled", true); + $("#riskInfo").hide(); + $("#basicRiskListInfo").attr("disabled", false);//基础清单信息 + $("#basicRiskListInfo").show(); + + $("#basicRiskList").attr("required", "true"); + $("#riskName").attr("required", "false"); + } else if ($thisValue == "2") { + $("#basicRiskListInfo").attr("disabled", true); + $("#basicRiskListInfo").hide(); + $("#riskInfo").find(":input").attr("disabled", false); + $("#riskInfo").show(); + + $("#basicRiskList").attr("required", "false"); + $("#riskName").attr("required", "true"); + } + }); + + + $("input[name='startTimeList']").datetimepicker({ + format: "yyyy-mm-dd hh:ii", + autoclose: true + }); + + + + /*执行人 选择 start*/ + function selectExecuteUserConfirm() { + var url = ctx + "system/user/selectUserListByParentSonCompanyConfirm"; + var options = { + title: '用户选择', + width: "800", + height: "500", + url: url, + callBack: doSubmitSelectExecuteUser + }; + $.modal.openOptions(options); + } + + + + function doSubmitSelectExecuteUser(index, layero) { + var rows = layero.find("iframe")[0].contentWindow.table.rememberSelecteds["bootstrap-table"]; + // console.log(rows); + // + // var userId = layero.find("iframe")[0].contentWindow.$.table.selectColumns('userId'); + // var userName = layero.find("iframe")[0].contentWindow.$.table.selectColumns('userName'); + // + // console.log(userId); + // console.log(userName); + + // var rows = layero.find("iframe")[0].contentWindow.$("#bootstrap-table").bootstrapTable('getSelections'); + if (rows.length > 0) { + var executeUserIdString = ""; + var executeUserNameString = ""; + + $.each(rows, function (i, row) { + executeUserIdString = executeUserIdString != "" ? executeUserIdString + "," + row.userId : row.userId; + executeUserNameString = executeUserNameString != "" ? executeUserNameString + "," + row.userName : row.userName; + }); + + $("#executeUserIdString").val(executeUserIdString); + $("#executeUserNameString").val(executeUserNameString); + + layer.close(index); + } else { + $.modal.alertWarning("请至少选择一个执行人"); + } + } + /*执行人 选择 end*/ + + + + + /*选择风险单元 选择 start*/ + function selectRiskList() { + var url = ctx + "tr/riskList/selectRiskListByDangerReportMultiple"; + var options = { + title: '选择风险单元', + width: "800", + height: "500", + url: url, + callBack: doSubmitSelectRiskList + }; + $.modal.openOptions(options); + } + + function doSubmitSelectRiskList(index, layero) { + var rows = layero.find("iframe")[0].contentWindow.$("#bootstrap-table").bootstrapTable('getSelections'); + if (rows.length > 0) { + var riskId = ""; + var riskName = ""; + var riskDeptId = ""; + var riskDeptName = ""; + var riskPlaceId = ""; + var riskPlaceName = ""; + var riskType = ""; + + $.each(rows, function (i, row) { + riskId = riskId != "" ? riskId + "," + row.riskListId : row.riskListId; + riskName = riskName != "" ? riskName + "," + row.riskListName : row.riskListName; + riskDeptId = riskDeptId != "" ? riskDeptId + "," + row.deptId : row.deptId; + riskDeptName = riskDeptName != "" ? riskDeptName + "," + row.deptName : row.deptName; + riskPlaceId = riskPlaceId != "" ? riskPlaceId + "," + row.regionId : row.regionId; + riskPlaceName = riskPlaceName != "" ? riskPlaceName + "," + row.regionName : row.regionName; + riskType = riskType != "" ? riskType + "," + row.riskType : row.riskType; + }); + + $("#riskId").val(riskId); + $("#riskName").val(riskName); + $("#riskDeptId").val(riskDeptId); + $("#riskDeptName").val(riskDeptName); + $("#riskPlaceId").val(riskPlaceId); + $("#riskPlaceName").val(riskPlaceName); + $("#riskType").val(riskType); + layer.close(index); + } else { + $.modal.alertWarning("请至少选择一个风险单元"); + } + } + + /*选择风险单元 选择 end*/ + + + + //切换排查类型显示排查周期 + $("#troubleshootTypeId").on("change", function () { + var $thisValue = $(this).val(); + if ($thisValue) { + var typeCycleNum = $(this).find("option:selected").attr('data-typecyclenum'); + + var typeCycleType = $(this).find("option:selected").attr('data-typecycletype'); + var typeCycleTypeLabel = ""; + if (typeCycleType == "1") { + typeCycleTypeLabel = "小时"; + } else if (typeCycleType == "2") { + typeCycleTypeLabel = "日"; + } else if (typeCycleType == "3") { + typeCycleTypeLabel = "周"; + } else if (typeCycleType == "4") { + typeCycleTypeLabel = "月"; + } else if (typeCycleType == "5") { + typeCycleTypeLabel = "年"; + } + var troubleshootCycleInfo = typeCycleNum + typeCycleTypeLabel + "1次"; + $("#troubleshootCycleInfo").val(troubleshootCycleInfo); + } else { + $("#troubleshootCycleInfo").val(""); + } + }); + + var prefix = ctx + "tr/hiddenDangerCheckJob"; + + $("#form-job-add").validate({ + onkeyup: false, + focusCleanup: true + }); + + function submitHandler() { + if ($.validate.form()) { + + var startTimeInputArray = $("#wholeStartTimeDiv").find(".startTimeInput"); + for (var i = 0; i < startTimeInputArray.length; i++) { + var startTimeInput = startTimeInputArray[i]; + var $tempVal = $(startTimeInput).val(); + if(!$tempVal){ + $.modal.alertWarning("执行时间不能为空!"); + return false; + } + } + + + var data = $('#form-job-add').serializeArray(); + + var troubleshootTypeName = $("select[name='troubleshootTypeId']").find("option:selected").text();//排查类型名称 + data.push({"name": "troubleshootTypeName", "value": troubleshootTypeName}); + + + var troubleshootTypeCycleNum = $("#troubleshootTypeId").find("option:selected").attr('data-typecyclenum'); + var troubleshootTypeCycleType = $("#troubleshootTypeId").find("option:selected").attr('data-typecycletype'); + data.push({"name": "troubleshootTypeCycleNum", "value": troubleshootTypeCycleNum}); + data.push({"name": "troubleshootTypeCycleType", "value": troubleshootTypeCycleType}); + + + var checkType = $("#checkType").val();//排查类型 + if (checkType == "1") {//基础清单排查 + $("#riskInfo").find(":input").attr("disabled", true); + $("#riskInfo").hide(); + var riskId = $("#basicRiskList").find("option:selected").val();//基础清单文件risk_id + var riskName = $("#basicRiskList").find("option:selected").text();//基础清单文件risk_name + if (riskId == null || riskId == "") { + $.modal.alertWarning("请选择基础清单文件!"); + return false; + } + data.push({"name": "riskId", "value": riskId}); + data.push({"name": "riskName", "value": riskName}); + } else if (checkType == "2") {//选择风险单元清单排查 + $("#basicRiskListInfo").attr("disabled", true); + $("#basicRiskListInfo").hide(); + + var riskId = $("#riskId").val(); + var riskName = $("#riskName").val(); + var riskDeptId = $("#riskDeptId").val(); + var riskDeptName = $("#riskDeptName").val(); + var riskPlaceId = $("#riskPlaceId").val(); + var riskPlaceName = $("#riskPlaceName").val(); + var riskType = $("#riskType").val(); + + if (riskId == null || riskId == "") { + $.modal.alertWarning("请选择风险单元!"); + return false; + } + + data.push({"name": "riskId", "value": riskId}); + data.push({"name": "riskName", "value": riskName}); + data.push({"name": "riskDeptId", "value": riskDeptId}); + data.push({"name": "riskDeptName", "value": riskDeptName}); + data.push({"name": "riskPlaceId", "value": riskPlaceId}); + data.push({"name": "riskPlaceName", "value": riskPlaceName}); + data.push({"name": "riskType", "value": riskType}); + } + $.operate.save(prefix + "/add", data); + } + } +</script> +</body> +</html> diff --git a/src/main/resources/templates/tr/tbBaseCheckTask/taskDetail.html b/src/main/resources/templates/tr/tbBaseCheckTask/taskDetail.html new file mode 100644 index 0000000..5257550 --- /dev/null +++ b/src/main/resources/templates/tr/tbBaseCheckTask/taskDetail.html @@ -0,0 +1,131 @@ +<!DOCTYPE html> +<html lang="zh" xmlns:th="http://www.thymeleaf.org"> +<head> + <th:block th:include="include :: header('定时任务详细')"/> +</head> +<body class="white-bg"> +<div class="wrapper wrapper-content animated fadeInRight ibox-content"> + + <form class="form-horizontal m-t" id="jobLogForm" th:if="${name == 'hiddenDangerCheckJobLog'}"> + <div class="form-group"> + <label class="col-sm-3 control-label">日志序号:</label> + <div class="form-control-static" th:text="${hiddenDangerCheckJobLog.jobLogId}"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">任务名称:</label> + <div class="form-control-static" th:text="${hiddenDangerCheckJobLog.jobName}"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">任务分组:</label> + <div class="form-control-static" + th:text="${@dict.getLabel('sys_job_group', hiddenDangerCheckJobLog.jobGroup)}"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">调用目标字符串:</label> + <div class="form-control-static" th:text="${hiddenDangerCheckJobLog.invokeTarget}"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">日志信息:</label> + <div class="form-control-static" th:text="${hiddenDangerCheckJobLog.jobMessage}"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">执行状态:</label> + <div class="form-control-static" + th:class="${hiddenDangerCheckJobLog.status == '0' ? 'label label-primary' : 'label label-danger'}" + th:text="${hiddenDangerCheckJobLog.status == '0' ? '正常' : '失败'}"> + </div> + </div> + <div class="form-group" th:style="'display:' + ${hiddenDangerCheckJobLog.status == '0' ? 'none' : 'block'}"> + <label class="col-sm-3 control-label">异常信息:</label> + <div class="form-control-static" th:text="${hiddenDangerCheckJobLog.exceptionInfo}"> + </div> + </div> + </form> + + <form class="form-horizontal m-t" id="jobForm" th:if="${name == 'hiddenDangerCheckJob'}"> + <div class="form-group"> + <label class="col-sm-3 control-label">任务名称:</label> + <div class="form-control-static" th:text="${hiddenDangerCheckJob.jobName}"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">排查类型:</label> + <div class="form-control-static" th:text="${hiddenDangerCheckJob.troubleshootTypeName}"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">排查周期:</label> + <div class="form-control-static" id="troubleshootCycleInfo"> + </div> + </div> + + <div class="form-group"> + <label class="col-sm-3 control-label">排查方式:</label> + <div class="form-control-static" th:switch="${hiddenDangerCheckJob.checkType}"> + <span th:case="'1'">基础清单排查</span> + <span th:case="'2'">选择风险单元清单排查</span> + </div> + </div> + <div class="form-group" th:if="${hiddenDangerCheckJob.checkType=='2'}"> + <label class="col-sm-3 control-label">风险单元:</label> + <div class="form-control-static" th:text="${hiddenDangerCheckJob.riskName}"> + </div> + </div> + + <div class="form-group" th:if="${hiddenDangerCheckJob.checkType=='1'}"> + <label class="col-sm-3 control-label">基础清单名称:</label> + <div class="form-control-static" th:text="${hiddenDangerCheckJob.riskName}"> + </div> + </div> + + + <div class="form-group"> + <label class="col-sm-3 control-label">执行人:</label> + <div class="form-control-static" th:text="${hiddenDangerCheckJob.executeUserName}"> + </div> + </div> + <div class="form-group"> + <label class="col-sm-3 control-label">执行时间:</label> + <div class="form-control-static" + th:text="${#dates.format(hiddenDangerCheckJob.startTime, 'yyyy-MM-dd HH:mm:ss')}"> + </div> + </div> + </form> + +</div> +<th:block th:include="include :: footer"/> +<script th:inline="javascript"> + $(function () { + var hiddenDangerCheckJob = [[${hiddenDangerCheckJob}]]; + var typeCycleNum = hiddenDangerCheckJob.troubleshootTypeCycleNum; + var typeCycleType = hiddenDangerCheckJob.troubleshootTypeCycleType; + + var typeCycleTypeLabel = ""; + if (typeCycleType == "1") { + typeCycleTypeLabel = "小时"; + } else if (typeCycleType == "2") { + typeCycleTypeLabel = "日"; + } else if (typeCycleType == "3") { + typeCycleTypeLabel = "周"; + } else if (typeCycleType == "4") { + typeCycleTypeLabel = "月"; + } else if (typeCycleType == "5") { + typeCycleTypeLabel = "年"; + } + + var troubleshootCycleInfo = typeCycleNum + typeCycleTypeLabel + "1次"; + $("#troubleshootCycleInfo").text(troubleshootCycleInfo); + + + }); + +</script> + + +</body> +</html> \ No newline at end of file diff --git a/src/main/resources/templates/tr/tbBaseCheckTask/taskEdit.html b/src/main/resources/templates/tr/tbBaseCheckTask/taskEdit.html new file mode 100644 index 0000000..af1aebf --- /dev/null +++ b/src/main/resources/templates/tr/tbBaseCheckTask/taskEdit.html @@ -0,0 +1,321 @@ +<!DOCTYPE html> +<html lang="zh" xmlns:th="http://www.thymeleaf.org"> +<head> + <th:block th:include="include :: header('修改定时任务')"/> + <th:block th:include="include :: datetimepicker-css"/> +</head> +<body class="white-bg"> +<div class="wrapper wrapper-content animated fadeInRight ibox-content"> + <form class="form-horizontal m" id="form-job-edit" th:object="${hiddenDangerCheckJob}"> + <input id="jobId" name="jobId" type="hidden" th:field="*{jobId}"/> + + + <input id="createUserId" name="createUserId" type="hidden" th:field="*{createUserId}"/> + <input id="createUserName" name="createUserName" type="hidden" th:field="*{createUserName}"/> + + <div class="form-group"> + <label class="col-sm-3 control-label is-required">排查类型:</label> + <div class="col-sm-8"> + <select name="troubleshootTypeId" th:field="*{troubleshootTypeId}" class="form-control m-b" required + id="troubleshootTypeId"> + <option value="">请选择</option> + <option th:each="troubleshootType : ${troubleshootTypeList}" th:text="${troubleshootType.typeName}" + th:value="${troubleshootType.typeId}" + th:attr="data-typecyclenum=${troubleshootType.typeCycleNum},data-typecycletype=${troubleshootType.typeCycleType}"></option> + </select> + </div> + </div> + + + <div class="form-group"> + <label class="col-sm-3 control-label is-required">排查周期:</label> + <div class="col-sm-8"> + <input class="form-control" type="text" id="troubleshootCycleInfo" required readonly="readonly"> + </div> + </div> + + <div class="form-group"> + <label class="col-sm-3 control-label is-required">任务名称:</label> + <div class="col-sm-8"> + <input class="form-control" th:field="*{jobName}" type="text" name="jobName" id="jobName" required> + </div> + </div> + + + <div class="form-group"> + <label class="col-sm-3 control-label is-required">排查方式:</label> + <div class="col-sm-8"> + <select name="checkType" th:field="*{checkType}" class="form-control m-b" required id="checkType"> + <option value="1">基础清单排查</option> + <option value="2">选择风险单元清单排查</option> + </select> + </div> + </div> + + + + <div class="form-group" style="display:block;" id="basicRiskListInfo"> + <label class="col-sm-3 control-label is-required">基础清单:</label> + <div class="col-sm-8"> + <select class="form-control m-b" th:value="*{riskId}" id="basicRiskList"> + <option th:each="basic : ${basicRiskList}" + th:text="${basic.riskListName}" + th:value="${basic.riskListId}" + th:selected="${basic.riskListId+''==hiddenDangerCheckJob.riskId+''}"></option> + </select> + </div> + </div> + + + + <div class="form-group" id="riskInfo" > + <label class="col-sm-3 control-label is-required">风险单元:</label> + <div class="col-sm-8"> + <input id="riskName" th:value="*{riskName}" placeholder="选择风险单元" + class="form-control" type="text" + onclick="selectRiskList()" maxlength="30" readonly="true" required> + <input id="riskId" th:value="*{riskId}" type="hidden"> + <input id="riskDeptId" th:value="*{riskDeptId}" type="hidden"> + <input id="riskDeptName" th:value="*{riskDeptName}" type="hidden"> + <input id="riskPlaceId" th:value="*{riskPlaceId}" type="hidden"> + <input id="riskPlaceName" th:value="*{riskPlaceName}" type="hidden"> + <input id="riskType" th:value="*{riskType}" type="hidden"> + </div> + </div> + + + + + + <div class="form-group"> + <label class="col-sm-3 control-label is-required">执行人:</label> + <div class="col-sm-8"> + <input id="executeUserName" name="executeUserName" th:field="*{executeUserName}" placeholder="选择执行人" class="form-control" type="text" onclick="selectExecuteUser()" maxlength="30" readonly="true" required> + <input id="executeUserId" name="executeUserId" th:field="*{executeUserId}" type="hidden"> + </div> + </div> + + <div class="form-group"> + <label class="col-sm-3 control-label is-required">执行时间:</label> + <div class="col-sm-8"> + <div class="input-group date"> + <span class="input-group-addon"><i class="fa fa-calendar"></i></span> + <input name="startTime" + th:value="${#dates.format(hiddenDangerCheckJob.startTime, 'yyyy-MM-dd HH:mm:ss')}" + class="form-control" type="text" readonly="readonly" required> + </div> + </div> + </div> + + <input id="jobGroup" name="jobGroup" type="hidden" value="HiddenDangerCheckJobLog"/> + + </form> +</div> +<th:block th:include="include :: footer"/> +<th:block th:include="include :: datetimepicker-js"/> +<script th:inline="javascript"> + + + /*执行人 选择 start*/ + function selectExecuteUser() { + var url = ctx + "system/user/selectUserListByParentSonCompany"; + var options = { + title: '用户选择', + width: "800", + url: url, + }; + $.modal.openOptionsByCallback(options, function (layero, index) { + var body = layer.getChildFrame('body', index); + body.on("click", ".selectUser", function () { + var userId = $(this).data("userid"); + var userName = $(this).data("username"); + $("#executeUserId").val(userId); + $("#executeUserName").val(userName); + layer.close(index); + }); + }); + } + /*执行人 选择 end*/ + + + //切换排查类型 + $("#checkType").on("change", function () { + var $thisValue = $(this).val(); + if($thisValue == "1"){ + $("#riskInfo").find(":input").attr("disabled", true); + $("#riskInfo").hide(); + $("#basicRiskListInfo").attr("disabled", false);;//基础清单信息 + $("#basicRiskListInfo").show(); + + }else if($thisValue == "2"){ + $("#basicRiskListInfo").attr("disabled",true); + $("#basicRiskListInfo").hide(); + $("#riskInfo").find(":input").attr("disabled", false); + $("#riskInfo").show(); + } + }); + + + + $(function () { + $("#checkType").change(); + }); + + + $(function () { + var hiddenDangerCheckJob = [[${hiddenDangerCheckJob}]]; + var typeCycleNum = hiddenDangerCheckJob.troubleshootTypeCycleNum; + var typeCycleType = hiddenDangerCheckJob.troubleshootTypeCycleType; + + var typeCycleTypeLabel = ""; + if (typeCycleType == "1") { + typeCycleTypeLabel = "小时"; + } else if (typeCycleType == "2") { + typeCycleTypeLabel = "日"; + } else if (typeCycleType == "3") { + typeCycleTypeLabel = "周"; + } else if (typeCycleType == "4") { + typeCycleTypeLabel = "月"; + } else if (typeCycleType == "5") { + typeCycleTypeLabel = "年"; + } + + var troubleshootCycleInfo = typeCycleNum + typeCycleTypeLabel + "1次"; + $("#troubleshootCycleInfo").val(troubleshootCycleInfo); + }); + + $("input[name='startTime']").datetimepicker({ + format: "yyyy-mm-dd hh:ii:ss", + autoclose: true + }); + + + /*选择风险单元 选择 start*/ + function selectRiskList() { + var url = ctx + "tr/riskList/selectRiskListByDangerReportMultiple"; + var options = { + title: '选择风险单元', + width: "700", + height: "500", + url: url, + callBack: doSubmitSelectRiskList + }; + $.modal.openOptions(options); + } + + function doSubmitSelectRiskList(index, layero) { + var rows = layero.find("iframe")[0].contentWindow.$("#bootstrap-table").bootstrapTable('getSelections'); + if (rows.length > 0) { + var riskId = ""; + var riskName = ""; + var riskDeptId = ""; + var riskDeptName = ""; + var riskPlaceId = ""; + var riskPlaceName = ""; + var riskType = ""; + + $.each(rows, function (i, row) { + riskId = riskId!="" ? riskId + "," + row.riskListId : row.riskListId; + riskName = riskName!="" ? riskName + "," + row.riskListName : row.riskListName; + riskDeptId = riskDeptId!="" ? riskDeptId + "," + row.deptId : row.deptId; + riskDeptName = riskDeptName!="" ? riskDeptName + "," + row.deptName : row.deptName; + riskPlaceId = riskPlaceId!="" ? riskPlaceId + "," + row.regionId : row.regionId; + riskPlaceName = riskPlaceName!="" ? riskPlaceName + "," + row.regionName : row.regionName; + riskType = riskType!="" ? riskType + "," + row.riskType : row.riskType; + }); + + $("#riskId").val(riskId); + $("#riskName").val(riskName); + $("#riskDeptId").val(riskDeptId); + $("#riskDeptName").val(riskDeptName); + $("#riskPlaceId").val(riskPlaceId); + $("#riskPlaceName").val(riskPlaceName); + $("#riskType").val(riskType); + layer.close(index); + } else { + $.modal.alertWarning("请至少选择一个风险单元"); + } + } + /*选择风险单元 选择 end*/ + + //切换排查类型显示排查周期 + $("#troubleshootTypeId").on("change", function () { + var $thisValue = $(this).val(); + if ($thisValue) { + var typeCycleNum = $(this).find("option:selected").attr('data-typecyclenum'); + var typeCycleType = $(this).find("option:selected").attr('data-typecycletype'); + var typeCycleTypeLabel = ""; + if (typeCycleType == "1") { + typeCycleTypeLabel = "小时"; + } else if (typeCycleType == "2") { + typeCycleTypeLabel = "日"; + } else if (typeCycleType == "3") { + typeCycleTypeLabel = "周"; + } else if (typeCycleType == "4") { + typeCycleTypeLabel = "月"; + } else if (typeCycleType == "5") { + typeCycleTypeLabel = "年"; + } + var troubleshootCycleInfo = typeCycleNum + typeCycleTypeLabel + "1次"; + $("#troubleshootCycleInfo").val(troubleshootCycleInfo); + } else { + $("#troubleshootCycleInfo").val(""); + } + }); + + var prefix = ctx + "tr/hiddenDangerCheckJob"; + + $("#form-job-edit").validate({ + onkeyup: false, + focusCleanup: true + }); + + function submitHandler() { + if ($.validate.form()) { + var data = $('#form-job-edit').serializeArray(); + + var troubleshootTypeName = $("select[name='troubleshootTypeId']").find("option:selected").text();//排查类型名称 + data.push({"name": "troubleshootTypeName", "value": troubleshootTypeName}); + + + var troubleshootTypeCycleNum = $("#troubleshootTypeId").find("option:selected").attr('data-typecyclenum'); + var troubleshootTypeCycleType = $("#troubleshootTypeId").find("option:selected").attr('data-typecycletype'); + data.push({"name": "troubleshootTypeCycleNum", "value": troubleshootTypeCycleNum}); + data.push({"name": "troubleshootTypeCycleType", "value": troubleshootTypeCycleType}); + + + + var checkType = $("#checkType").val();//排查类型 + if(checkType == "1"){//基础清单排查 + $("#riskInfo").find(":input").attr("disabled", true); + $("#riskInfo").hide(); + var riskId = $("#basicRiskList").find("option:selected").val();//基础清单文件risk_id + var riskName = $("#basicRiskList").find("option:selected").text();//基础清单文件risk_name + data.push({"name": "riskId", "value": riskId}); + data.push({"name": "riskName", "value": riskName}); + }else if(checkType == "2"){//选择风险单元清单排查 + $("#basicRiskListInfo").attr("disabled",true); + $("#basicRiskListInfo").hide(); + + var riskId = $("#riskId").val(); + var riskName = $("#riskName").val(); + var riskDeptId = $("#riskDeptId").val(); + var riskDeptName = $("#riskDeptName").val(); + var riskPlaceId = $("#riskPlaceId").val(); + var riskPlaceName = $("#riskPlaceName").val(); + var riskType = $("#riskType").val(); + data.push({"name": "riskId", "value": riskId}); + data.push({"name": "riskName", "value": riskName}); + data.push({"name": "riskDeptId", "value": riskDeptId}); + data.push({"name": "riskDeptName", "value": riskDeptName}); + data.push({"name": "riskPlaceId", "value": riskPlaceId}); + data.push({"name": "riskPlaceName", "value": riskPlaceName}); + data.push({"name": "riskType", "value": riskType}); + } + + $.operate.save(prefix + "/edit", data); + } + } +</script> +</body> +</html> -- Gitblit v1.9.2