|
@@ -0,0 +1,435 @@
|
|
|
+<!--
|
|
|
+ ~ Copyright (c) 2014, 2023, Chengdu Minto Technology Co.,LTD. All rights reserved.
|
|
|
+ ~ DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
|
|
+ -->
|
|
|
+
|
|
|
+<!DOCTYPE html>
|
|
|
+<html lang="en" xmlns:th="http://www.thymeleaf.org">
|
|
|
+<head>
|
|
|
+ <meta charset="UTF-8">
|
|
|
+ <title>业绩考核分类</title>
|
|
|
+ <meta name="renderer" content="webkit">
|
|
|
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
|
+ <meta content="width=device-width,user-scalable=yes, initial-scale=1, maximum-scale=0.5" name="viewport"/>
|
|
|
+ <link rel="stylesheet" type="text/css" th:href="@{/common/zTree/css/zTreeStyle/zTreeStyle.css}"
|
|
|
+ href="../../../../../common/zTree/css/zTreeStyle/zTreeStyle.css">
|
|
|
+ <link rel="stylesheet" th:href="@{/common/bootstrap-v4/css/bootstrap.min.css}"
|
|
|
+ href="../../../../../common/bootstrap-v4/css/bootstrap.min.css">
|
|
|
+ <link rel="stylesheet" th:href="@{/common/bootstrap-table/bootstrap-table.min.css}"
|
|
|
+ href="../../../../../common/bootstrap-table/bootstrap-table.min.css">
|
|
|
+ <link rel="stylesheet" type="text/css" th:href="@{/apps_res/qpm/css/public.css}"
|
|
|
+ href="../../../../../apps_res/qpm/css/public.css">
|
|
|
+ <link rel="stylesheet" type="text/css" th:href="@{/apps_res/goal/css/administrator.css}"/>
|
|
|
+ <link rel="stylesheet" th:href="@{/apps_res/goal/css/gl_index.css}"
|
|
|
+ href="../../../../apps_res/goal/css/gl_index.css">
|
|
|
+ <link rel="stylesheet" th:href="@{/common/mCustomScrollbar/css/jquery.mCustomScrollbar.css}"
|
|
|
+ href="../../../../common/mCustomScrollbar/css/jquery.mCustomScrollbar.css">
|
|
|
+ <link rel="stylesheet" type="text/css" th:href="@{/common/css/minto.icon.css}"
|
|
|
+ href="../../../../../common/css/minto.icon.css"/>
|
|
|
+ <link rel="stylesheet" type="text/css" th:href="@{/common/css/minto.comp.css}"
|
|
|
+ href="../../../../../common/css/minto.comp.css"/>
|
|
|
+ <link rel="stylesheet" type="text/css" th:href="@{/common/css/minto.layout.css}"
|
|
|
+ href="../../../../../common/css/minto.layout.css">
|
|
|
+ <style>
|
|
|
+ .mt-center {
|
|
|
+ overflow-y: auto;
|
|
|
+ }
|
|
|
+
|
|
|
+ .tableInfo {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ }
|
|
|
+
|
|
|
+ .mt-content {
|
|
|
+ height: auto;
|
|
|
+ min-height: 100%;
|
|
|
+ padding-top: 0 !important;
|
|
|
+ }
|
|
|
+
|
|
|
+ .mt-content-left {
|
|
|
+ width: 235px;
|
|
|
+ min-width: 235px;
|
|
|
+ height: auto;
|
|
|
+ background: #fff;
|
|
|
+ padding-top: 10px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .mt-content-right {
|
|
|
+ background: #fff;
|
|
|
+ padding: 20px;
|
|
|
+ position: relative;
|
|
|
+ }
|
|
|
+
|
|
|
+ .infoTitle {
|
|
|
+ text-align: center;
|
|
|
+ font-size: 28px;
|
|
|
+ margin-bottom: 20px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .infoCount, .ranking {
|
|
|
+ font-size: 16px;
|
|
|
+ line-height: 30px;
|
|
|
+ text-indent: 50px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .countNum {
|
|
|
+ font-size: 18px;
|
|
|
+ color: #0c94ff;
|
|
|
+ }
|
|
|
+
|
|
|
+ .infoLabel {
|
|
|
+ font-size: 20px;
|
|
|
+ font-weight: bold;
|
|
|
+ margin: 20px 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ .mt-table {
|
|
|
+ margin-top: 20px;
|
|
|
+ }
|
|
|
+
|
|
|
+ table thead th, table tbody td {
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+
|
|
|
+ .searchLi {
|
|
|
+ padding: 5px;
|
|
|
+ display: flex;
|
|
|
+ position: relative;
|
|
|
+ }
|
|
|
+
|
|
|
+ .searchLi input {
|
|
|
+ height: 30px;
|
|
|
+ margin-right: 5px;
|
|
|
+ width: 100px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .searchLi .mt-btn {
|
|
|
+ margin-right: 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ .searchTips {
|
|
|
+ width: 100%;
|
|
|
+ padding: 10px;
|
|
|
+ font-size: 14px;
|
|
|
+ color: #666;
|
|
|
+ position: absolute;
|
|
|
+ top: 45px;
|
|
|
+ background: #fff;
|
|
|
+ box-shadow: 0 0 10px rgba(0, 0, 0, .3);
|
|
|
+ display: none;
|
|
|
+ }
|
|
|
+
|
|
|
+ .tipsLi {
|
|
|
+ height: 30px;
|
|
|
+ line-height: 30px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .triangle {
|
|
|
+ width: 0;
|
|
|
+ height: 0;
|
|
|
+ border-left: 5px solid transparent;
|
|
|
+ border-right: 5px solid transparent;
|
|
|
+ border-bottom: 10px solid #fff;
|
|
|
+ position: absolute;
|
|
|
+ top: -10px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .example {
|
|
|
+ color: #0c94ff;
|
|
|
+ }
|
|
|
+
|
|
|
+ #Key {
|
|
|
+ display: none;
|
|
|
+ }
|
|
|
+
|
|
|
+ .monthTxt {
|
|
|
+ display: none;
|
|
|
+ }
|
|
|
+
|
|
|
+ @media (max-width: 1600px) {
|
|
|
+ .mt-content-right {
|
|
|
+ padding: 15px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .infoTitle {
|
|
|
+ font-size: 22px;
|
|
|
+ margin-bottom: 15px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .infoCount, .ranking {
|
|
|
+ font-size: 14px;
|
|
|
+ line-height: 24px;
|
|
|
+ text-indent: 40px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .countNum {
|
|
|
+ font-size: 16px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .infoLabel {
|
|
|
+ font-size: 18px;
|
|
|
+ margin: 15px 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ .mt-table {
|
|
|
+ margin-top: 15px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .searchLi input {
|
|
|
+ height: 25px;
|
|
|
+ margin-right: 5px;
|
|
|
+ width: 80px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .searchTips {
|
|
|
+ font-size: 12px;
|
|
|
+ top: 40px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .tipsLi {
|
|
|
+ height: 25px;
|
|
|
+ line-height: 24px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .byType {
|
|
|
+ display: none;
|
|
|
+ }
|
|
|
+
|
|
|
+ .mt-content-right {
|
|
|
+ border-right: 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ ::-webkit-scrollbar, div::-webkit-scrollbar { /*滚动条整体样式*/
|
|
|
+ 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>
|
|
|
+<div class="mt-body mt-vertical">
|
|
|
+ <div class="mt-center">
|
|
|
+ <div class="mt-content">
|
|
|
+ <div class="mt-btn-region">
|
|
|
+ <div class="mt-btn-group">
|
|
|
+ <input id="year" name="year" type="hidden" value="">
|
|
|
+ <button class="mt-btn">
|
|
|
+ <span class="mt-selTxt year-text"></span>
|
|
|
+ <i class="caret"></i>
|
|
|
+ </button>
|
|
|
+ <ul id="years" class="mt-dropdown-menu">
|
|
|
+ </ul>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="mt-horizontal tableInfo">
|
|
|
+ <div class="mt-content-right">
|
|
|
+ <table id="byManager" class="mt-table mt-table-border" border="0" cellspacing="0" cellpadding="0">
|
|
|
+ <thead>
|
|
|
+ <tr>
|
|
|
+ <th>序号</th>
|
|
|
+ <th>类型名称</th>
|
|
|
+ <th>办件量</th>
|
|
|
+ <th>
|
|
|
+ <span class="pj-sort-box" data-order="scope0">
|
|
|
+ <span>总得分</span>
|
|
|
+ <span class="pj-sort-up"></span>
|
|
|
+ <span class="pj-sort-down"></span>
|
|
|
+ </span>
|
|
|
+ </th>
|
|
|
+ <th>
|
|
|
+ <span class="pj-sort-box" data-order="scope1">
|
|
|
+ <span>基础分</span>
|
|
|
+ <span class="pj-sort-up"></span>
|
|
|
+ <span class="pj-sort-down"></span>
|
|
|
+ </span>
|
|
|
+ </th>
|
|
|
+ <th>
|
|
|
+ <span class="pj-sort-box" data-order="scope2">
|
|
|
+ <span>评价得分</span>
|
|
|
+ <span class="pj-sort-up"></span>
|
|
|
+ <span class="pj-sort-down"></span>
|
|
|
+ </span>
|
|
|
+ </th>
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ <tbody id="byManagerTrs">
|
|
|
+ <tr>
|
|
|
+ <td colspan="10">暂无数据</td>
|
|
|
+ </tr>
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</div>
|
|
|
+
|
|
|
+<form id="exportForm" style="display: none" th:action="@{/gradeAnalysis/exportTaskAnalysis}" method="post">
|
|
|
+ <input type="hidden" id="managerRemind" name="managerRemind" value="">
|
|
|
+ <input type="hidden" id="taskTypeRemind" name="taskTypeRemind" value="">
|
|
|
+ <input type="hidden" id="exportYear" name="year" value="">
|
|
|
+ <input type="hidden" id="exportTaskTypeId" name="taskTypeId" value="">
|
|
|
+ <input type="hidden" id="exportOrgName" name="orgName" value="">
|
|
|
+</form>
|
|
|
+</body>
|
|
|
+<script type="text/javascript" th:src="@{/common/jquery/jquery.min.js}"
|
|
|
+ src="../../../../../common/jquery/jquery.min.js"></script>
|
|
|
+<script type="text/javascript" th:src="@{/common/zTree/js/jquery.ztree.core.js}"
|
|
|
+ src="../../../../../common/zTree/js/jquery.ztree.core.js"></script>
|
|
|
+<script type="text/javascript" th:src="@{/common/js/ui/icon/iconfont.js}"
|
|
|
+ src="../../../../../common/js/ui/icon/iconfont.js"></script>
|
|
|
+<script type="text/javascript" th:src="@{/common/bootstrap-table/bootstrap-table.min.js}"
|
|
|
+ src="../../../../../common/bootstrap-table/bootstrap-table.min.js"></script>
|
|
|
+<script type="text/javascript"
|
|
|
+ th:src="@{/common/bootstrap-table/extensions/fixed-columns/bootstrap-table-fixed-columns.js}"
|
|
|
+ src="../../../../../common/bootstrap-table/extensions/fixed-columns/bootstrap-table-fixed-columns.js"></script>
|
|
|
+<script type="text/javascript" th:src="@{/common/bootstrap-table/locale/bootstrap-table-zh-CN.js}"
|
|
|
+ src="../../../../../common/bootstrap-table/locale/bootstrap-table-zh-CN.js"></script>
|
|
|
+<script type="text/javascript" th:src="@{/common/js/ui/minto.comp.js}"
|
|
|
+ src="../../../../../common/js/ui/minto.comp.js"></script>
|
|
|
+<script type="text/javascript" th:src="@{/common/js/ui/minto.table.js}"
|
|
|
+ src="../../../../../common/js/ui/minto.table.js"></script>
|
|
|
+<script type="text/javascript" th:src="@{/tc_ttp/common/tc.js}" src="../../../../../tc_ttp/common/tc.js"></script>
|
|
|
+<script type="text/javascript" th:src="@{/tc_ttp/lhgdialog4.2.0/lhgdialog.js}"
|
|
|
+ src="../../../../../tc_ttp/lhgdialog4.2.0/lhgdialog.js"></script>
|
|
|
+<script type="text/javascript" th:src="@{/tc_ttp/common/ajax.js}" src="../../../../../common/ajax.js"></script>
|
|
|
+<script type="text/javascript" th:src="@{/tc_ttp/art-template/template-web.js}"
|
|
|
+ src="../../../../tc_ttp/art-template/template-web.js"></script>
|
|
|
+<script th:src="@{/common/mCustomScrollbar/js/jquery.mCustomScrollbar.concat.min.js}"
|
|
|
+ src="../../../../common/mCustomScrollbar/js/jquery.mCustomScrollbar.concat.min.js"></script>
|
|
|
+
|
|
|
+
|
|
|
+<script id="responUnitTableBody" type="text/html">
|
|
|
+ {{if data.length==0}}
|
|
|
+ <tr>
|
|
|
+ <td colspan="10">暂无数据</td>
|
|
|
+ </tr>
|
|
|
+ {{else if data.length>0}}
|
|
|
+ {{each data obj index}}
|
|
|
+ <tr>
|
|
|
+ <td>{{index+1}}</td>
|
|
|
+ <td>{{obj.name}}</td>
|
|
|
+ <td>{{obj.c}}</td>
|
|
|
+ <td>{{obj.scope0}}</td>
|
|
|
+ <td>{{obj.scope1}}</td>
|
|
|
+ <td>{{obj.scope2}}</td>
|
|
|
+ </tr>
|
|
|
+ {{/each}}
|
|
|
+ {{/if}}
|
|
|
+</script>
|
|
|
+<script th:inline="javascript">
|
|
|
+ $(function () {
|
|
|
+ initYears();
|
|
|
+ initTableByManager(new Date().getFullYear(),"");
|
|
|
+ initTableSortEvent();
|
|
|
+ })
|
|
|
+
|
|
|
+ function initTableByManager(year, code ,asc) {
|
|
|
+ let param = {
|
|
|
+ year: year
|
|
|
+ }
|
|
|
+ if(code){
|
|
|
+ param["order"] = code;
|
|
|
+ }
|
|
|
+ if(!isNaN(asc)){
|
|
|
+ param["asc"] = asc;
|
|
|
+ }
|
|
|
+ callAjaxRequest("taskAnalysisWebService", "findTypeScopeTaskCountAnalysis", param, function (result) {
|
|
|
+ var html;
|
|
|
+ if (!!result) {
|
|
|
+ //扩展字段个数 + table写死的字段个数
|
|
|
+ var objs = {
|
|
|
+ data: result
|
|
|
+ }
|
|
|
+ html = template('responUnitTableBody', objs);
|
|
|
+ } else {
|
|
|
+ html = '<tr> <td colspan="6">暂无数据</td></tr>'
|
|
|
+ }
|
|
|
+ $("#byManagerTrs").html("")
|
|
|
+ $("#byManagerTrs").append(html);
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ function initYears() {
|
|
|
+ var uls = "";
|
|
|
+ var year = new Date().getFullYear();
|
|
|
+ for (var i = 0; i <= 2; i++) {
|
|
|
+ var thatYear = year - i;
|
|
|
+ uls += '<li><a class="mt-dropdown-txt year-txt" onclick="setYear(' + thatYear + ')" value="' + thatYear + '">' + thatYear + '年</a></li>'
|
|
|
+ }
|
|
|
+ $("#years").html(uls);
|
|
|
+ $("#year").val(year);
|
|
|
+ $(".year-text").text(year + "年");
|
|
|
+ }
|
|
|
+
|
|
|
+ //根据年份筛选
|
|
|
+ function setYear(year) {
|
|
|
+ $.startProc()
|
|
|
+ $("#year").val(year)
|
|
|
+ //刷新列表
|
|
|
+ initTableByManager(year)
|
|
|
+ }
|
|
|
+
|
|
|
+ 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(), orderCode, ascOrDesc)
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ $('body').on('click', '.mt-btn-group .mt-dropdown-txt', function (e) {
|
|
|
+ $(".yearTxt").html($(this).html());
|
|
|
+ })
|
|
|
+
|
|
|
+</script>
|
|
|
+</html>
|