|
@@ -204,6 +204,38 @@
|
|
|
width: 12px !important; /*高宽分别对应横竖滚动条的尺寸*/
|
|
|
height: 12px !important;
|
|
|
}
|
|
|
+
|
|
|
+ /*排序相关样式处理*/
|
|
|
+ .pj-sort-box{
|
|
|
+ position: relative;
|
|
|
+ cursor: pointer;
|
|
|
+ }
|
|
|
+ .pj-sort-up{
|
|
|
+ position: absolute ;
|
|
|
+ right: -12px;
|
|
|
+ top: -4px;
|
|
|
+ /* 向上的三角形 */
|
|
|
+ width: 0;
|
|
|
+ height: 0;
|
|
|
+ border: 5px solid transparent;
|
|
|
+ border-bottom-color: #ccc;
|
|
|
+ }
|
|
|
+ .pj-sort-down{
|
|
|
+ position: absolute ;
|
|
|
+ right: -12px;
|
|
|
+ bottom: -4px;
|
|
|
+ /* 向下的三角形 */
|
|
|
+ width: 0;
|
|
|
+ height: 0;
|
|
|
+ border: 5px solid transparent;
|
|
|
+ border-top-color: #ccc;
|
|
|
+ }
|
|
|
+ .pj-sort-box.sort-active.sort-asc .pj-sort-up{
|
|
|
+ border-bottom-color: #0c94ff;
|
|
|
+ }
|
|
|
+ .pj-sort-box.sort-active.sort-desc .pj-sort-down{
|
|
|
+ border-top-color: #0c94ff;
|
|
|
+ }
|
|
|
</style>
|
|
|
</head>
|
|
|
<body>
|
|
@@ -251,12 +283,48 @@
|
|
|
<th>序号</th>
|
|
|
<th>人员</th>
|
|
|
<th>所属部门</th>
|
|
|
- <th>总得分</th>
|
|
|
- <th>基础分</th>
|
|
|
- <th>评价得分</th>
|
|
|
- <th class="taskTypeEnumTh" style="display: none">类型基础得分</th>
|
|
|
- <th class="taskTypeEnumTh" style="display: none">类型评价得分</th>
|
|
|
- <th>平均事项完成时长</th>
|
|
|
+ <th>
|
|
|
+ <span class="pj-sort-box" data-order="score">
|
|
|
+ <span>总得分</span>
|
|
|
+ <span class="pj-sort-up"></span>
|
|
|
+ <span class="pj-sort-down"></span>
|
|
|
+ </span>
|
|
|
+ </th>
|
|
|
+ <th>
|
|
|
+ <span class="pj-sort-box" data-order="score1">
|
|
|
+ <span>基础分</span>
|
|
|
+ <span class="pj-sort-up"></span>
|
|
|
+ <span class="pj-sort-down"></span>
|
|
|
+ </span>
|
|
|
+ </th>
|
|
|
+ <th>
|
|
|
+ <span class="pj-sort-box" data-order="score2">
|
|
|
+ <span>评价得分</span>
|
|
|
+ <span class="pj-sort-up"></span>
|
|
|
+ <span class="pj-sort-down"></span>
|
|
|
+ </span>
|
|
|
+ </th>
|
|
|
+ <th class="taskTypeEnumTh" style="display: none">
|
|
|
+ <span class="pj-sort-box" data-order="score3">
|
|
|
+ <span>类型基础得分</span>
|
|
|
+ <span class="pj-sort-up"></span>
|
|
|
+ <span class="pj-sort-down"></span>
|
|
|
+ </span>
|
|
|
+ </th>
|
|
|
+ <th class="taskTypeEnumTh" style="display: none">
|
|
|
+ <span class="pj-sort-box" data-order="score4">
|
|
|
+ <span>类型评价得分</span>
|
|
|
+ <span class="pj-sort-up"></span>
|
|
|
+ <span class="pj-sort-down"></span>
|
|
|
+ </span>
|
|
|
+ </th>
|
|
|
+ <th>
|
|
|
+ <span class="pj-sort-box" data-order="avgTime">
|
|
|
+ <span>平均事项完成时长</span>
|
|
|
+ <span class="pj-sort-up"></span>
|
|
|
+ <span class="pj-sort-down"></span>
|
|
|
+ </span>
|
|
|
+ </th>
|
|
|
</tr>
|
|
|
</thead>
|
|
|
<tbody id="byManagerTrs">
|
|
@@ -328,26 +396,52 @@
|
|
|
<td>{{obj.score4}}</td>
|
|
|
{{/if}}
|
|
|
|
|
|
- <td>{{obj.avgtime}}</td>
|
|
|
+ <td>{{obj.avgtime | formatTimestampToHMS}}</td>
|
|
|
</tr>
|
|
|
{{/each}}
|
|
|
{{/if}}
|
|
|
</script>
|
|
|
<script th:inline="javascript">
|
|
|
- $(function () {
|
|
|
- initYears();
|
|
|
- initTableByManager(new Date().getFullYear(),"");
|
|
|
- initPageTaskTypes();
|
|
|
- getTaskTypeEnum();
|
|
|
- })
|
|
|
+$(function () {
|
|
|
+ initYears();
|
|
|
+ initTableByManager(new Date().getFullYear(),"");
|
|
|
+ initPageTaskTypes();
|
|
|
+ getTaskTypeEnum();
|
|
|
+ initTableSortEvent();
|
|
|
+})
|
|
|
+
|
|
|
+template.defaults.imports.formatTimestampToHMS = function (diffInMilliseconds) {
|
|
|
+ let diffInSeconds = Math.floor(diffInMilliseconds / 1000);
|
|
|
+ let days = Math.floor(diffInSeconds / (3600 * 24));
|
|
|
+ let hours = Math.floor((diffInSeconds % (3600 * 24)) / 3600);
|
|
|
+ let minutes = Math.floor((diffInSeconds % 3600) / 60);
|
|
|
+ let seconds = diffInSeconds % 60;
|
|
|
+
|
|
|
+ // 格式化输出,确保每部分都是两位数字
|
|
|
+ let formattedDays = days ==0 ? '' : ''+days+'天';
|
|
|
+ let formattedHours = ('0' + hours).slice(-2);
|
|
|
+ let formattedMinutes = ('0' + minutes).slice(-2);
|
|
|
+ let formattedSeconds = ('0' + seconds).slice(-2);
|
|
|
+
|
|
|
+ return `${formattedDays}${formattedHours}:${formattedMinutes}:${formattedSeconds}`;
|
|
|
+}
|
|
|
|
|
|
-function initTableByManager(year,id) {
|
|
|
- var param = {
|
|
|
+function initTableByManager(year,id, code ,asc) {
|
|
|
+ let param = {
|
|
|
year: year,
|
|
|
taskTypeId: '0',
|
|
|
orgName: '',
|
|
|
gbTaskTypeId:id+'',
|
|
|
}
|
|
|
+
|
|
|
+ if(code){
|
|
|
+ param["order"] = code;
|
|
|
+ }
|
|
|
+
|
|
|
+ if(!isNaN(asc)){
|
|
|
+ param["asc"] = asc;
|
|
|
+ }
|
|
|
+
|
|
|
// 如果容器没有隐藏
|
|
|
if($('#TaskTypeEnumContainer').css("display") !== "none"){
|
|
|
param['matterTypeSetting'] = $("#taskTypeEnum").val()
|
|
@@ -476,6 +570,34 @@ function filterByEnum (id,) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+function initTableSortEvent(){
|
|
|
+ $("#byManager").on('click', '.pj-sort-box', function () {
|
|
|
+ let orderCode = $(this).attr('data-order');
|
|
|
+ let ascOrDesc = 0;
|
|
|
+ // 所有的这个类删除sort-active,给当前添加sort-active, 并且删除所有相关字段
|
|
|
+ if(!$(this).hasClass('sort-active')){
|
|
|
+ $('.pj-sort-box').removeClass('sort-active').removeClass('sort-asc').removeClass('sort-desc');
|
|
|
+ $(this).addClass('sort-active');
|
|
|
+ }
|
|
|
+
|
|
|
+ // 默认排序为降序
|
|
|
+ if($(this).hasClass('sort-asc')){
|
|
|
+ $(this).removeClass('sort-asc');
|
|
|
+ $(this).addClass('sort-desc');
|
|
|
+ ascOrDesc = 0;
|
|
|
+ }else {
|
|
|
+ $(this).removeClass('sort-desc');
|
|
|
+ $(this).addClass('sort-asc');
|
|
|
+ ascOrDesc = 1;
|
|
|
+ }
|
|
|
+ initTableByManager($("#year").val(), $("#currentTaskTypes").val(), orderCode, ascOrDesc)
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
$('body').on('click', '.mt-btn-group .mt-dropdown-txt', function (e) {
|
|
|
$(".yearTxt").html($(this).html());
|
|
|
})
|