Browse Source

类型设置相关调整

Pojun 7 months ago
parent
commit
0fff7dbb01

+ 7 - 6
tc-service/tap-task/src/main/java/com/minto/app/task/dao/TaskAnalysisDaoImpl.java

@@ -2053,21 +2053,22 @@ hql.append("AND EXISTS (\n" +
     @Override
     public List<Map<String, Object>> findTypeScopeCount(Map<String, Object> params){
         StringBuilder sql = new StringBuilder();
-        sql.append(" SELECT te.value AS name, COUNT(1) as count ");
+        sql.append(" SELECT te.value AS name, COUNT(1) as c, ");
 //        sql.append(" SUM(CASE WHEN typeScore.base_score IS NULL THEN 0 ELSE typeScore.base_score END) AS scope1");
 //        sql.append(" SUM(CASE WHEN typeScore.eval_score IS NULL THEN 0 ELSE typeScore.eval_score END) AS scope2");
-        sql.append(" sum(IFNULL(typeScore.base_score, 0)) AS scope1 ");
-        sql.append(" sum(IFNULL(typeScore.eval_score, 0)) AS scope2 ");
-        sql.append(" sum(IFNULL(typeScore.base_score, 0) + IFNULL(typeScore.eval_score, 0)) AS scope ");
+        sql.append(" sum(IFNULL(typeScore.base_score, 0)) AS scope1, ");
+        sql.append(" sum(IFNULL(typeScore.eval_score, 0)) AS scope2, ");
+        sql.append(" sum(IFNULL(typeScore.base_score, 0) + IFNULL(typeScore.eval_score, 0)) AS scope0 ");
         sql.append(" FROM ");
         sql.append(" (SELECT * FROM tip_enum WHERE type IN ( ");
         sql.append(" SELECT id FROM tip_enum WHERE key = 'matter_type_settings' ");
-        sql.append(" )) te ");
+        sql.append(" ) AND status <> -1 ) te ");
         sql.append(" LEFT JOIN dm_dtab_basic_extend ddbe ON ddbe.type_setting LIKE CONCAT('%', te.id, '%') ");
         sql.append(" LEFT JOIN task_summary ts ON ddbe.reference_id = ts.id ");
         sql.append(" LEFT JOIN type_setting_score typeScore ON typeScore.enum_id = te.id AND typeScore.year = :year ");
+        sql.append(" WHERE to_char(ts.create_date,'yyyy') = :year ");
         sql.append(" GROUP BY te.value ");
-        String order = ParameterUtil.getString(params,"order","count");
+        String order = ParameterUtil.getString(params,"order","c");
         Integer asc = ParameterUtil.getInteger(params,"asc",0);
         sql.append(" ORDER BY ").append(order).append(asc == 1 ? " ASC " : " DESC ");
         Map<String, Object> param = new HashMap<>();

+ 2 - 4
tc-service/tap-task/src/main/java/com/minto/app/task/manager/TaskAnalysisManagerImpl.java

@@ -1599,11 +1599,9 @@ public class TaskAnalysisManagerImpl implements ITaskAnalysisManager{
             result.put("sort", tipEnum.getSort());
             TypeSettingScoreBean scoreBean = collect.get(tipEnum.getId());
             //基础分数
-            result.put("baseScore",
-                    scoreBean == null || scoreBean.getBaseScore() == null ? 0 : scoreBean.getBaseScore());
+            result.put("baseScore", scoreBean.getBaseScore());
             //评价分
-            result.put("evalScore",
-                    scoreBean == null || scoreBean.getEvalScore() == null ? 0 : scoreBean.getEvalScore());
+            result.put("evalScore",scoreBean.getEvalScore());
             list.add(result);
         });
         return list;

+ 10 - 0
tip-front/src/main/java/com/minto/app/task/controller/TaskController.java

@@ -9585,6 +9585,16 @@ public class TaskController extends BaseController {
         return view;
     }
 
+    /**
+     * 业绩考核
+     * @return
+     */
+    @GetMapping("/task/performance")
+    public ModelAndView performance(HttpServletRequest request,HttpServletResponse response) throws Exception {
+        ModelAndView view = new ModelAndView("apps/task/analysis/performance");
+        return view;
+    }
+
     /**
      * 类型设置弹窗
      * @return

+ 1 - 0
tip-front/src/main/java/com/minto/app/task/service/impl/TaskAnalysisWebServiceImpl.java

@@ -69,6 +69,7 @@ public class TaskAnalysisWebServiceImpl implements TaskAnalysisWebService {
         return taskAnalysisManager.findEvaluateAnalysis(param);
     }
 
+    @AjaxSupport
     @Override
     public List<Map<String, Object>> findTypeScopeTaskCountAnalysis(Map<String, Object> param) throws BusinessException{
         return taskAnalysisManager.findTypeScopeTaskCountAnalysis(param);

+ 0 - 1
tip-front/src/main/webapp/WEB-INF/pages/apps/rolePage/manager/managerWorkIndex.html

@@ -274,7 +274,6 @@
 					<div style="font-size: 15px;font-weight: bold;padding: 15px;">
 						领导批示反馈
 					</div>
-
 					<div id="leaderApproval" class="noticeList"></div>
 					<div id="approvalPages"></div>
 				</div>

+ 0 - 88
tip-front/src/main/webapp/WEB-INF/pages/apps/task/analysis/evaluateAnalysis.html

@@ -262,17 +262,6 @@
                     <ul id="pageTaskTypes" class="mt-dropdown-menu">
                     </ul>
                 </div>
-
-                <div class="mt-btn-group" id="TaskTypeEnumContainer" style="display: none">
-                    <input id="taskTypeEnum" name="year" type="hidden" value="">
-                    <button class="mt-btn">
-                        <span class="mt-selTxt taskEnum-text"></span>
-                        <i class="caret"></i>
-                    </button>
-                    <ul id="TaskTypeEnumList" class="mt-dropdown-menu">
-                    </ul>
-                </div>
-
             </div>
 
             <div class="mt-horizontal tableInfo">
@@ -304,20 +293,6 @@
                                     <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>
@@ -388,14 +363,6 @@
         <td>{{obj.score}}</td>
         <td>{{obj.score1}}</td>
         <td>{{obj.score2}}</td>
-        {{ if obj.score3!=null}} }}
-            <td>{{obj.score3}}</td>
-        {{/if}}
-
-        {{ if obj.score4!=null}}
-        <td>{{obj.score4}}</td>
-        {{/if}}
-
         <td>{{obj.avgtime | formatTimestampToHMS}}</td>
     </tr>
     {{/each}}
@@ -406,7 +373,6 @@ $(function () {
     initYears();
     initTableByManager(new Date().getFullYear(),"");
     initPageTaskTypes();
-    getTaskTypeEnum();
     initTableSortEvent();
 })
 
@@ -442,10 +408,6 @@ function initTableByManager(year,id, code ,asc) {
         param["asc"] = asc;
     }
 
-    // 如果容器没有隐藏
-    if($('#TaskTypeEnumContainer').css("display") !== "none"){
-        param['matterTypeSetting'] = $("#taskTypeEnum").val()
-    }
     callAjaxRequest("taskAnalysisWebService", "findEvaluateAnalysis", param, function (result) {
         var html;
         if (!!result) {
@@ -500,20 +462,6 @@ function initPageTaskTypes () {
 function filterByType (id, name) {
     $.startProc()
     $("#currentTaskTypes").val(id);
-    if(['重点案件','普通案件'].includes(name)){
-        $('#TaskTypeEnumContainer').show();
-        $('.taskTypeEnumTh').show();
-        if($("#taskTypeEnum").val()){
-            $('.taskTypeEnumTh').show();
-        }else {
-            $('.taskTypeEnumTh').hide();
-        }
-    }else {
-        $('#TaskTypeEnumContainer').hide();
-        $('.taskTypeEnumTh').hide();
-        $(".taskEnum-text").text("全部");
-        $("#taskTypeEnum").val("");
-    }
     initTableByManager($("#year").val(), id)
 }
 
@@ -537,38 +485,6 @@ function setYear(year) {
     initTableByManager(year , $("#currentTaskTypes").val())
 }
 
-// 获取业绩考核的类型设置枚举
-function getTaskTypeEnum() {
-    let showListData = [{id: "", value: "全部", parent_id: 0}];
-    let renderStr = "";
-    callAjaxRequest(
-        'taskAnalysisWebService',
-        'findMatterTypeSettings', {param: {}},
-        function (result) {
-            result = result || [];
-            showListData = showListData.concat(result);
-            for(let i = 0, len = showListData.length;  i < len; i++) {
-                let item = showListData[i]
-                renderStr += '<li><a class="mt-dropdown-txt taskType-txt" onclick="filterByEnum(\''+item.id+'\')" value="' + item.id + '' + '">' + item.value + '</a></li>'
-            }
-            $("#TaskTypeEnumList").html(renderStr);
-            $("#taskTypeEnum").val("");
-        }
-    );
-    $(".taskEnum-text").text("全部");
-}
-
-// 业绩类型设置
-function filterByEnum (id,) {
-    $.startProc()
-    $("#taskTypeEnum").val(id);
-    initTableByManager($("#year").val(), $("#currentTaskTypes").val())
-    if(id){
-        $('.taskTypeEnumTh').show();
-    }else {
-        $('.taskTypeEnumTh').hide();
-    }
-}
 
 function initTableSortEvent(){
     $("#byManager").on('click', '.pj-sort-box', function () {
@@ -594,10 +510,6 @@ function initTableSortEvent(){
     })
 }
 
-
-
-
-
 $('body').on('click', '.mt-btn-group .mt-dropdown-txt', function (e) {
     $(".yearTxt").html($(this).html());
 })

+ 435 - 0
tip-front/src/main/webapp/WEB-INF/pages/apps/task/analysis/performance.html

@@ -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>

+ 26 - 9
tip-front/src/main/webapp/WEB-INF/pages/apps/task/type/typesSettings.html

@@ -55,6 +55,9 @@
 			}
 			.pj-head{
 				margin-bottom: 15px;
+				display: flex;
+				justify-content: space-between;
+				align-items: center;
 			}
 			.pj-table{
 				background-color: #fff;
@@ -72,9 +75,16 @@
 	<body>
 		<div class="pj-body" id="pjApp" v-cloak>
 			<div class="pj-head">
-				<button @click="updateItem('add')" class="mt-btn">新增</button>
-				<button @click="updateItem('up')"  class="mt-btn">修改</button>
-				<button @click="deleteItem"  class="mt-btn">删除</button>
+				<div>
+					<button @click="updateItem('add')" class="mt-btn">新增</button>
+					<button @click="updateItem('up')"  class="mt-btn">修改</button>
+					<button @click="deleteItem"  class="mt-btn">删除</button>
+				</div>
+				<div>
+					<select v-model="currentYear" @change="yearChange">
+						<option v-for="(item,index) in yearsList" :key="index" :value="item">{{item}}</option>
+					</select>
+				</div>
 			</div>
 			<div class="mt-horizontal pj-table">
 				<div class="mt-content-right">
@@ -156,7 +166,9 @@
 			data() {
 				return{
 					enumDataList:[],
-					checked:""
+					checked:"",
+					currentYear:new Date().getFullYear(),
+					yearsList:[]
 				}
 			},
 			methods:{
@@ -197,7 +209,7 @@
 									if(type !== 'add'){
 										params.id = item.id;
 									}
-
+									params.year = _this.currentYear;
 									callAjaxRequest(
 											'taskAnalysisWebService',
 											'saveMatterTypeSettings', params,
@@ -206,7 +218,6 @@
 												$.alert("保存成功!");
 											}
 									);
-
 									return true;
 								},
 								focus:true
@@ -219,7 +230,7 @@
 						return false;
 					}
 					let _this = this;
-					$.confirm("是否确认删除?",function(){
+					$.confirm("删除类型可能会影响历史数据统计,是否确认删除?",function(){
 						callAjaxRequest(
 								'taskAnalysisWebService',
 								'deleteMatterTypeSettings', {id: _this.checked},
@@ -248,14 +259,20 @@
 					let _this = this;
 					callAjaxRequest(
 						'taskAnalysisWebService',
-						'findMatterTypeSettings', {param: {}},
+						'findMatterTypeSettings', {year: _this.currentYear},
 						function (result) {
 							_this.enumDataList = result || []
 						}
 					);
-				}
+				},
+				yearChange(){
+					this.initData();
+				},
 			},
 			created() {
+				for(let  i= 0; i <= 2; i++) {
+					this.yearsList.push(this.currentYear - i)
+				}
 				this.initData();
 			}
 		})

+ 2 - 2
tip-front/src/main/webapp/tc_tgp/organization/person/list.jsp

@@ -20,9 +20,9 @@
 			<thead>
 				<tr id="titleTr">
 					<td style="width: 3%" align="center"><input type="checkbox" id="ids" name="ids" /></td>
+					<td align="left" style="width: 10%"><span class="sep"><a href="javascript:;" id="personIcon">头像</a> </span></td>
 					<td align="left" style="width: 13%;"><span class="sep"><a href="javascript:;" id="idName">${tc:i18n("organization.person.name.label")}</a> </span></td>
 					<td align="left" style="width: 8%"><span class="sep"><a href="javascript:;" id="idAccount">${tc:i18n("organization.person.login.name.label")}</a> </span></td>
-					<td align="left" style="width: 10%"><span class="sep"><a href="javascript:;" id="personIcon">头像</a> </span></td>
 					<td align="left" style="width: 13%"><span class="sep"><a href="javascript:;" id="idAccount">${tc:i18n("organization.person.last.login.time.label")}</a> </span></td>
 					<td align="left" style="width: 13%"><span class="sep"><a href="javascript:;" id="idDpt">${tc:i18n("organization.person.belongs.to.unit.label")}</a> </span></td>
 					<td align="left" style="width: 10%"><span class="sep"><a href="javascript:;" id="idDuty">主岗</a> </span></td>
@@ -48,6 +48,7 @@
 									</c:if>
 								</c:otherwise>
 							</c:choose></td>
+						<td align="left"><img src="${path}${item.piconURL}" width="44px" height="44px" style="border-radius: 50%;padding: 5px"></td>
 						<td align="left"><c:choose>
 								<c:when test="${isCreator }">
 									<a href="javascript:;" id="${item.id }" class="listA" title="点击修改" depId="${item.departmentId }">${item.pname }<c:if test="${item.pstate==1}">(停用)</c:if></a>
@@ -62,7 +63,6 @@
 								</c:otherwise>
 							</c:choose></td>
 						<td align="left"><span class="paddingLeft">${item.username }</span></td>
-						<td align="left"><img src="${path}${item.piconURL}" width="38px" height="38px" style="border-radius: 50%;padding: 5px"></td>
 						<td align="left"><span class="paddingLeft">${item.loginTime }</span></td>
 						<td align="left"><span class="paddingLeft">${item.departmentName }</span></td>
 						<td align="left"><span class="paddingLeft">${item.mainPost.pname }</span></td>