zhangsiqi
3 months ago
6 changed files with 528 additions and 313 deletions
@ -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('已办事项列表')" /> |
||||
|
<th:block th:include="include :: select2-css" /> |
||||
|
</head> |
||||
|
<body class="gray-bg"> |
||||
|
<div class="container-div"> |
||||
|
<div class="row"> |
||||
|
<div class="col-sm-12 search-collapse"> |
||||
|
<form id="formId"> |
||||
|
<div class="select-list"> |
||||
|
<ul> |
||||
|
<li> |
||||
|
<p>事项标题:</p> |
||||
|
<input type="text" name="itemName"/> |
||||
|
</li> |
||||
|
<li> |
||||
|
<p>模块名称:</p> |
||||
|
<input type="text" name="module"/> |
||||
|
</li> |
||||
|
<li> |
||||
|
<p>任务 ID:</p> |
||||
|
<input type="text" name="taskId"/> |
||||
|
</li> |
||||
|
<li> |
||||
|
<p>任务名称:</p> |
||||
|
<input type="text" name="taskName"/> |
||||
|
</li> |
||||
|
<li> |
||||
|
<p>待办人 ID:</p> |
||||
|
<input type="text" name="todoUserId"/> |
||||
|
</li> |
||||
|
<li> |
||||
|
<p>待办人名称:</p> |
||||
|
<input type="text" name="todoUserName"/> |
||||
|
</li> |
||||
|
<li> |
||||
|
<p>处理人 ID:</p> |
||||
|
<input type="text" name="handleUserId"/> |
||||
|
</li> |
||||
|
<li> |
||||
|
<p>处理人名称:</p> |
||||
|
<input type="text" name="handleUserName"/> |
||||
|
</li> |
||||
|
<li class="select-time"> |
||||
|
<p>通知时间:</p> |
||||
|
<input type="text" class="time-input" id="todoItemStartTime" placeholder="开始时间" name="params[todoItemStartTime]"/> |
||||
|
<span>-</span> |
||||
|
<input type="text" class="time-input" id="todoItemEndTime" placeholder="结束时间" name="params[todoItemEndTime]"/> |
||||
|
</li> |
||||
|
<li class="select-time"> |
||||
|
<p>处理时间:</p> |
||||
|
<input type="text" class="time-input" id="handleStartTime" placeholder="开始时间" name="params[handleStartTime]"/> |
||||
|
<span>-</span> |
||||
|
<input type="text" class="time-input" id="handleEndTime" placeholder="结束时间" name="params[handleEndTime]"/> |
||||
|
</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-warning" onclick="$.table.exportExcel()" shiro:hasPermission="process:todoitem:export"> |
||||
|
<i class="fa fa-download"></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 editFlag = [[${@permission.hasPermi('process:todoitem:edit')}]]; |
||||
|
var removeFlag = [[${@permission.hasPermi('process:todoitem:remove')}]]; |
||||
|
var prefix = ctx + "process/todoitem"; |
||||
|
|
||||
|
$(function() { |
||||
|
var options = { |
||||
|
url: prefix + "/doneList", |
||||
|
exportUrl: prefix + "/doneExport", |
||||
|
modalName: "已办事项", |
||||
|
columns: [{ |
||||
|
checkbox: true |
||||
|
}, |
||||
|
{ |
||||
|
field : 'id', |
||||
|
title : '主键 ID', |
||||
|
visible: false |
||||
|
}, |
||||
|
{ |
||||
|
field : 'itemName', |
||||
|
title : '事项标题' |
||||
|
}, |
||||
|
{ |
||||
|
field : 'itemContent', |
||||
|
title : '事项内容' |
||||
|
}, |
||||
|
{ |
||||
|
field : 'module', |
||||
|
title : '模块名称' |
||||
|
}, |
||||
|
{ |
||||
|
field : 'taskId', |
||||
|
title : '任务 ID' |
||||
|
}, |
||||
|
{ |
||||
|
field : 'taskName', |
||||
|
title : '任务名称' |
||||
|
}, |
||||
|
{ |
||||
|
field : 'isView', |
||||
|
title : '是否查看' |
||||
|
}, |
||||
|
{ |
||||
|
field : 'isHandle', |
||||
|
title : '是否处理' |
||||
|
}, |
||||
|
{ |
||||
|
field : 'todoUserId', |
||||
|
title : '待办人ID' |
||||
|
}, |
||||
|
{ |
||||
|
field : 'todoUserName', |
||||
|
title : '待办人名称' |
||||
|
}, |
||||
|
{ |
||||
|
field : 'handleUserId', |
||||
|
title : '处理人ID' |
||||
|
}, |
||||
|
{ |
||||
|
field : 'handleUserName', |
||||
|
title : '处理人名称' |
||||
|
}, |
||||
|
{ |
||||
|
field : 'todoTime', |
||||
|
title : '通知时间' |
||||
|
}, |
||||
|
{ |
||||
|
field : 'handleTime', |
||||
|
title : '处理时间' |
||||
|
}, |
||||
|
{ |
||||
|
field: 'nodeName', |
||||
|
title: '已办任务名称', |
||||
|
align: 'center', |
||||
|
formatter: function(value, row, index) { |
||||
|
return '<span class="badge badge-primary">' + value + '</span>'; |
||||
|
} |
||||
|
}/*, |
||||
|
{ |
||||
|
title: '操作', |
||||
|
align: 'center', |
||||
|
formatter: function(value, row, index) { |
||||
|
var actions = []; |
||||
|
actions.push('<a class="btn btn-success btn-xs ' + editFlag + '" href="javascript:void(0)" onclick="$.operate.detail(\'' + row.id + '\')"><i class="fa fa-edit"></i> 查看</a> '); |
||||
|
return actions.join(''); |
||||
|
} |
||||
|
}*/] |
||||
|
}; |
||||
|
$.table.init(options); |
||||
|
}); |
||||
|
</script> |
||||
|
</body> |
||||
|
</html> |
@ -0,0 +1,74 @@ |
|||||
|
<!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 th:if="${#lists.isEmpty(todoItemList)}" style="text-align: center; height: 500px; line-height: 500px;">暂无任务</div> |
||||
|
<div th:unless="${#lists.isEmpty(todoItemList)}" class="row animated fadeInRight"> |
||||
|
<div class="ibox float-e-margins"> |
||||
|
<div id="ibox-content"> |
||||
|
<div id="vertical-timeline" class="vertical-container light-timeline"> |
||||
|
<div th:each="todoItem: ${todoItemList}" class="vertical-timeline-block"> |
||||
|
<div class="vertical-timeline-icon navy-bg"> |
||||
|
<i class="fa fa-file-text"></i> |
||||
|
</div> |
||||
|
<div class="vertical-timeline-content"> |
||||
|
<h2>【[[${ todoItem.nodeName }]]】[[${ todoItem.itemName }]]</h2> |
||||
|
<p>[[${ todoItem.itemContent }]] |
||||
|
</p> |
||||
|
<a href="javascript:void(0)" class="btn btn-sm btn-primary" th:onclick="showVerifyDialog([[${todoItem.taskId}]], [[${todoItem.module}]], [[${todoItem.taskName}]], [[${todoItem.nodeName}]])"> 办理</a> |
||||
|
<span class="vertical-date"> |
||||
|
<!--今天--><!--<span id="todoTimeSpan" th:text="${#dates.format(todoItem.todoTime, 'yyyy-MM-dd HH:mm:ss')}"></span>--> <br> |
||||
|
<small th:text="${#dates.format(todoItem.todoTime, 'yyyy-MM-dd HH:mm:ss')}"></small> |
||||
|
</span> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<th:block th:include="include :: footer" /> |
||||
|
<script th:src="@{/js/activiti.js}"></script> |
||||
|
<script th:inline="javascript"> |
||||
|
var userName = [[${@permission.getPrincipalProperty('userName')}]]; |
||||
|
var prefix = ctx + "process/todoitem"; |
||||
|
function showVerifyDialog(taskId, module, pageName, nodeName) { |
||||
|
var url = prefix + "/showVerifyDialog/" + taskId + "?module=" + module + "&formPageName=" + pageName; |
||||
|
$.modal.open(nodeName, url); |
||||
|
} |
||||
|
function transDate() { |
||||
|
var $time =document.getElementById("todoTimeSpan"); |
||||
|
var date = $time.innerHTML.trim(); |
||||
|
date = new Date(date); |
||||
|
var tt = date; |
||||
|
var days = parseInt((new Date().getTime() - date) / 86400000); |
||||
|
var today = new Date().getDate(); |
||||
|
var year = tt.getFullYear(); |
||||
|
var mouth = tt.getMonth() + 1; |
||||
|
var day = tt.getDate(); |
||||
|
var time = tt.getHours() < 10 ? "0" + tt.getHours() : tt.getHours(); |
||||
|
var min = tt.getMinutes() < 10 ? "0" + tt.getMinutes() : tt.getMinutes(); |
||||
|
var result, offset; |
||||
|
offset = Math.abs(today - day); |
||||
|
if (days < 4&&offset<4) { |
||||
|
if (offset === 0) { |
||||
|
result = "今天" + time + ":" + min; |
||||
|
} else if (offset === 1) { |
||||
|
result = "昨天" + time + ":" + min; |
||||
|
} else if (offset === 2) { |
||||
|
result = "前天" + time + ":" + min; |
||||
|
} else if (offset === 2) { |
||||
|
result = "3天前" + time + ":" + min; |
||||
|
} |
||||
|
} else { |
||||
|
// result = year + "-" + mouth + "-" + day + " " + time + ":" + min; |
||||
|
result = "3天以前"; |
||||
|
} |
||||
|
$time.innerHTML = result; |
||||
|
} |
||||
|
</script> |
||||
|
</body> |
||||
|
</html> |
@ -0,0 +1,111 @@ |
|||||
|
<!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('待办事项列表')" /> |
||||
|
<th:block th:include="include :: select2-css" /> |
||||
|
</head> |
||||
|
<body class="gray-bg"> |
||||
|
<div class="container-div"> |
||||
|
<div class="row"> |
||||
|
<div class="col-sm-12 search-collapse"> |
||||
|
<form id="formId"> |
||||
|
<div class="select-list"> |
||||
|
<ul> |
||||
|
<li><p>事项标题:</p><input type="text" name="itemName"/></li> |
||||
|
<li><p>模块名称:</p><input type="text" name="module"/></li> |
||||
|
<li><p>任务 ID:</p><input type="text" name="taskId"/></li> |
||||
|
<li><p>任务名称:</p><input type="text" name="taskName"/></li> |
||||
|
<!-- <li><p>待办人 ID:</p><input type="text" name="todoUserId"/></li>--> |
||||
|
<li><p>待办人名称:</p><input type="text" name="todoUserName"/></li> |
||||
|
<li><p>处理人 ID:</p><input type="text" name="handleUserId"/></li> |
||||
|
<li><p>处理人名称:</p><input type="text" name="handleUserName"/></li> |
||||
|
<li class="select-time"> |
||||
|
<p>通知时间:</p> |
||||
|
<input type="text" class="time-input" id="todoItemStartTime" placeholder="开始时间" name="params[todoItemStartTime]"/> |
||||
|
<span>-</span> |
||||
|
<input type="text" class="time-input" id="todoItemEndTime" placeholder="结束时间" name="params[todoItemEndTime]"/> |
||||
|
</li> |
||||
|
<li class="select-time"> |
||||
|
<p>处理时间:</p> |
||||
|
<input type="text" class="time-input" id="handleStartTime" placeholder="开始时间" name="params[handleStartTime]"/> |
||||
|
<span>-</span> |
||||
|
<input type="text" class="time-input" id="handleEndTime" placeholder="结束时间" name="params[handleEndTime]"/> |
||||
|
</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-warning" onclick="$.table.exportExcel()" shiro:hasPermission="process:todoitem:export"> |
||||
|
<i class="fa fa-download"></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:src="@{/js/activiti.js}"></script> |
||||
|
<script th:inline="javascript"> |
||||
|
var removeFlag = [[${@permission.hasPermi('process:todoitem:remove')}]]; |
||||
|
var prefix = ctx + "process/todoitem"; |
||||
|
var currentUser = [[${currentUser}]]; |
||||
|
|
||||
|
$(function() { |
||||
|
var options = { |
||||
|
url: prefix + "/list", |
||||
|
createUrl: prefix + "/add", |
||||
|
updateUrl: prefix + "/edit/{id}", |
||||
|
removeUrl: prefix + "/remove", |
||||
|
exportUrl: prefix + "/export", |
||||
|
modalName: "待办事项", |
||||
|
columns: [ |
||||
|
{checkbox: true}, |
||||
|
{field : 'id', title : '主键 ID', visible: false}, |
||||
|
{field : 'itemName', title : '事项标题'}, |
||||
|
{field : 'itemContent', title : '事项内容'}, |
||||
|
{field : 'module', title : '模块名称'}, |
||||
|
{field : 'taskId', title : '任务 ID',visible: false}, |
||||
|
{field : 'taskName', title : '任务名称'}, |
||||
|
{field : 'isView', title : '是否查看'}, |
||||
|
{field : 'isHandle', title : '是否处理'}, |
||||
|
{field : 'todoUserId', title : '待办人ID',visible: false}, |
||||
|
{field : 'todoUserName', title : '待办人名称'}, |
||||
|
{field : 'handleUserId', title : '处理人ID'}, |
||||
|
{field : 'handleUserName', title : '处理人名称'}, |
||||
|
{field : 'todoTime', title : '通知时间'}, |
||||
|
{field : 'handleTime', title : '处理时间'}, |
||||
|
{field: 'nodeName', title: '待办任务名称', align: 'center', |
||||
|
formatter: function(value, row, index) { |
||||
|
return '<span class="badge badge-primary">' + value + '</span>'; |
||||
|
} |
||||
|
}, |
||||
|
{title: '操作', align: 'center', |
||||
|
formatter: function(value, row, index) { |
||||
|
var actions = []; |
||||
|
actions.push('<a class="btn btn-success btn-xs" href="javascript:void(0)" onclick="showVerifyDialog(\'' + row.taskId + '\', \'' + row.module + '\', \'' + row.taskName + '\', \'' + row.nodeName + '\', \'' + row.todoUserId + '\')"><i class="fa fa-edit"></i> 办理</a> '); |
||||
|
return actions.join(''); |
||||
|
} |
||||
|
} |
||||
|
] |
||||
|
}; |
||||
|
$.table.init(options); |
||||
|
}); |
||||
|
|
||||
|
function showVerifyDialog(taskId, module, pageName, nodeName, todoUserId) { |
||||
|
if (todoUserId !== currentUser.loginName) { |
||||
|
$.modal.alertWarning("不允许非待办人办理待办事项!"); |
||||
|
return; |
||||
|
} |
||||
|
var url = prefix + "/showVerifyDialog/" + taskId + "?module=" + module + "&formPageName=" + pageName; |
||||
|
$.modal.open(nodeName, url); |
||||
|
} |
||||
|
</script> |
||||
|
</body> |
||||
|
</html> |
Loading…
Reference in new issue