Explorar el Código

0719反馈问题修改

Pojun hace 7 meses
padre
commit
f5bc8850ac

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

@@ -1962,10 +1962,7 @@ hql.append("AND EXISTS (\n" +
         if (matterTypeSetting != null) {
             sql.append(" t.score3, t.score4, ");
         }
-        sql.append(" CONCAT((case when TRUNC(t.avgtime / 86400000)> 0 then CONCAT(TO_CHAR(TRUNC(t.avgtime / 86400000)),'天') else '' end), ");
-        sql.append("    (case when TRUNC(MOD(t.avgtime / 3600000, 24))> 0 then CONCAT(TO_CHAR(TRUNC(MOD(t.avgtime / 3600000, 24))),'小时') else '' end), ");
-        sql.append("    (case when TRUNC(MOD(t.avgtime / 60000, 60))> 0 then CONCAT(TO_CHAR(TRUNC(MOD(t.avgtime / 60000, 60))),'分钟') else '' end), ");
-        sql.append("    (case when TRUNC(MOD(t.avgtime / 1000, 60))> 0 then CONCAT(TO_CHAR(TRUNC(MOD(t.avgtime / 1000, 60))),'秒') else '' end)) as \"avgtime\" ");
+        sql.append(" ROUND(t.avgtime) ");
         sql.append(" from ( ");
         sql.append("    select ROUND( ifnull(sum(case when post.pcode = 'jcg' and ( tt.name = '普通案件' or tt.name = '重点案件' ) then a.jcgScore else cast(extend.field_51 as float) end),0),1) as \"score1\", ");
         sql.append("    ifnull(sum(tc.dtc_level),0) \"score2\", ");
@@ -2032,7 +2029,12 @@ hql.append("AND EXISTS (\n" +
         }
         sql.append("    group by tm.resource_id ");
         sql.append(" ) t ");
-        sql.append(" order by \"score\" desc ");
+
+        String order = ParameterUtil.getString(param,"order","\"score\"");
+        Integer asc = ParameterUtil.getInteger(param,"asc",0);
+        sql.append(" order by ");
+        sql.append("score".equals(order) ? "\"score\"" : order);
+        sql.append(asc == 1 ? " asc " : " desc ");
 
         List<Map<String, Object>> result = getHibernateTpl().queryBySql(sql.toString(), param);
         return result;

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

@@ -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());
 })

+ 71 - 21
tip-front/src/main/webapp/WEB-INF/pages/apps/task/superviseIndex.html

@@ -273,6 +273,10 @@
         font-size: 16px !important;
         font-weight: bold !important;
     }
+    #approvalPages{
+        padding: 15px;
+        display: flex;
+    }
 </style>
 <body>
 <input id="managerCode" type="hidden" th:value="${managerCode}">
@@ -441,29 +445,10 @@
                         </tbody>
                     </table>
                 </div>
-                <!--<div class="documentary">
-                    <div class="title">
-                        <span>制度文件</span>
-                        <a onclick=spaceFileMore() href="javascript:;" class="more">更多</a>
-                    </div>
-                    <div class="tableDiv" id="tableDiv">
-                        <table id="spaceFileTable" class="mt-table" border="0" cellpadding="0" cellspacing="0">
-
-                        </table>
-                        <div id="spaceFilePage">
-
-                        </div>
-                    </div>
-                </div>-->
-                <!--<div id="app" class="work-report">
-                    <special-report class="components-style" :work-type="1" is-target></special-report>
-                </div>-->
 
 
                 <div style="background: #fff;margin-top: 20px;">
-                    <div id="byManagerTitle" style="margin-bottom: 8px">
-
-                    </div>
+                    <div id="byManagerTitle" style="margin-bottom: 8px"></div>
                     <table id="byManager" class="mt-table mt-table-border" border="0" cellspacing="0" cellpadding="0">
                         <thead>
                         <tr>
@@ -493,6 +478,15 @@
                         </tbody>
                     </table>
                 </div>
+
+                <div class="notice" style="display: block;">
+                    <div style="font-size: 15px;font-weight: bold;padding: 15px;">
+                        领导批示反馈
+                    </div>
+
+                    <div id="leaderApproval" class="noticeList"></div>
+                    <div id="approvalPages"></div>
+                </div>
             </div>
         </div>
     </div>
@@ -723,7 +717,23 @@
     {{/each}}
     {{/if}}
 </script>
-
+<!-- 领导重要信息模板 -->
+<script id="leaderApprovalTemp" type="text/html">
+    {{if data.length==0}}
+    <div align="center" class="empty"><img th:src="@{/common/images/empty.png}" alt=""></div>
+    {{else if data.length>0}}
+    {{each data obj}}
+    <div class="matterLi">
+        <a class="matterLeft" href="javascript:">
+			<span title="{{obj.message}}" onclick="checkDetail('{{obj.resourceId}}')">
+				{{obj.message}}
+			</span>
+        </a>
+        <span style="flex-shrink: 0;">{{obj.sendTimeCalendar}}</span>
+    </div>
+    {{/each}}
+    {{/if}}
+</script>
 
 <script th:inline="javascript">
     function  dropdownOnclick(){
@@ -861,6 +871,9 @@
 
         //加载督办统计
         $("#dcState").load(TC.config.baseUrl +"/taskByType/superviseWork");
+
+        // 获取领导批示、回复的重点信息列表
+        initLeaderApproval();
     })
     $("#analysis").click(function () {
         TC.ui.openTab("/task/analysis");
@@ -940,6 +953,43 @@
             $("#byManagerTrs").append(html);
         })
     }
+
+    // 获取领导批示、回复的重点信息列表
+    function initLeaderApproval(){
+        let pageSize = 5;
+        mt.initPage({
+            id: 'approvalPages',
+            defaultValue: 1, // 默认页码, 如果不传入或删除该项配置则默认为1
+            change(item, obj) {
+                $.ajax({
+                    url: TC.config.baseUrl + "/getHistoryMessage",
+                    type: "get",
+                    dataType: "json",
+                    data: {
+                        page: item.page,
+                        filterLeaderComment:true,
+                        pageSize: pageSize
+                    },
+                    traditional: true,
+                    async: false,
+                    success: function (result) {
+                        if (result.state === "success") {
+                            obj.total = parseInt((result.total + pageSize - 1) / pageSize) //根据总数计算总页数
+                            obj.init()
+                        }
+
+                        var objs = {
+                            data: result.data || []
+                        }
+
+                        var html = template('leaderApprovalTemp', objs);
+                        $("#leaderApproval").html("")
+                        $("#leaderApproval").append(html);
+                    },
+                });
+            }
+        })
+    }
 </script>
 
 

+ 46 - 21
tip-front/src/main/webapp/apps_res/portal/leader/js/leaderIndex.js

@@ -11,31 +11,56 @@ function initWaitDo(subType){
     var params = {
         subType:subType
     }
-    callAjaxRequest("affairWebService","findPageCommonWaitDosByParams",{pageNumber:1,pageSize:20},params,function(result){
-        var objs = {
-            data:result.data
-        }
-        //待办审批和待办任务显示年月日
-        objs.data.forEach(item=>{
-            if (subType == 1001 || subType == 1005){
-                if (!!item.showYear){
-                    item.showTime = TC.util.timeStampToDate(item.showTime, "yyyy年MM月dd日")
-                }else {
-                    item.showTime = TC.util.timeStampToDate(item.showTime, "MM月dd日")
+    if(subType == '1688'){
+        // 增加了一个特殊的code, 1688待汇报
+        $.ajax({
+            url:TC.config.baseUrl+"/portal/mbdb/findWaitAppraise?pageSize=20",
+            async:true,
+            dataType:"json",
+            success:function (data) {
+                var  objs = {
+                    data: data.tasks || [],
+                    subType:subType,
                 }
-            }else {
-                item.showTime = TC.util.timeStampToDate(item.showTime);
+                objs.data.forEach(item=>{
+                    item.lastUpdateDate = TC.util.timeStampToDate(item.lastUpdateDate, "MM月dd日")
+                })
+                var html = template('listDivTemp', objs);
+                $(".todoListBox").html(html)
+
+                $(".needMatterList").mCustomScrollbar({
+                    autoHideScrollbar: true,
+                    axis:"y"
+                });
             }
+        });
+    }else {
+        callAjaxRequest("affairWebService","findPageCommonWaitDosByParams",{pageNumber:1,pageSize:20},params,function(result){
+            var objs = {
+                data:result.data
+            }
+            //待办审批和待办任务显示年月日
+            objs.data.forEach(item=>{
+                if (subType == 1001 || subType == 1005){
+                    if (!!item.showYear){
+                        item.showTime = TC.util.timeStampToDate(item.showTime, "yyyy年MM月dd日")
+                    }else {
+                        item.showTime = TC.util.timeStampToDate(item.showTime, "MM月dd日")
+                    }
+                }else {
+                    item.showTime = TC.util.timeStampToDate(item.showTime);
+                }
 
-        })
-        var html = template('listDivTemp', objs);
-        $(".todoListBox").html(html)
+            })
+            var html = template('listDivTemp', objs);
+            $(".todoListBox").html(html)
 
-        $(".needMatterList").mCustomScrollbar({
-            autoHideScrollbar: true,
-            axis:"y"
-        });
-    })
+            $(".needMatterList").mCustomScrollbar({
+                autoHideScrollbar: true,
+                axis:"y"
+            });
+        })
+    }
 }
 
 //新建办文

+ 20 - 25
tip-front/src/main/webapp/main/portal/leader/ent_private/index.jsp

@@ -86,7 +86,7 @@
             }
             .todoListBox .needMatterLi{
                 margin-top:5px !important;
-                padding: 5 18px !important;
+                padding: 5px 18px !important;
             }
         }
         .dataSupervisionList{overflow:hidden;position: relative;height: auto}
@@ -403,6 +403,7 @@
                 </div>
 
             </div>
+
             <div class="myHandle" style="width: 100%;margin-top: 15px;flex:1">
                 <div class="titleDiv1">
                     <span class="mt-title-region">我的待办</span>
@@ -521,6 +522,13 @@
               task-id="{{obj.relationVs1}}"
               onclick="waitClick4Target(this)">
                         [{{obj.todoOperation}}]</span>
+
+        {{else}}
+        <a class="matterLeft" href="javascript:" data-taskId="{{obj.ptop}}" onclick="checkTaskDetail(this)">
+            <span class="color_a">[{{obj.taskTypeName}}]</span>
+            <span title="{{obj.title}}">{{obj.title}}</span>
+        </a>
+        <span class="mt-btn-font">{{obj.lastUpdateDate}}</span>
         {{/if}}
     </div>
     {{/each}}
@@ -647,35 +655,16 @@
     $(function () {
         //初始化待办页签
         var affairList = ${tc:toJSON(affairList)}
+            affairList.push({
+                value:'1688',//人为增加一个菜单,
+                title:'待汇报'
+            })
             mt.initTab({
                 id: 'wait-do-tab',
                 type: 1, //切换组件类别 1为默认,2为选项卡式,3为第三种样式
                 defaultOpen: 1, //默认打开第几项
-                data: affairList||[]
-                /*  [
-                  {
-                      title: '协同文件',
-                      value: "1005"
-                  },
-                  {
-                      title: '督办任务',
-                      value: "1001"
-                  },
-                  {
-                      title: '目标指标',
-                      value: "1003"
-                  },
-                  {
-                      title: '重大项目',
-                      value: "1002"
-                  },
-                  // {
-                  //     title: '专项过程管理',
-                  //     value: "1004"
-                  // }
-              ]*/,
+                data: affairList||[],
                 callback: function (obj) {
-
                     if(obj.value=="1005"){
                         $("#newCol").removeClass("needHide");
                     }else{
@@ -694,6 +683,12 @@
         $(".rightDiv").load("${path}/taskByType/leaderAttention");
     }
 
+    function checkTaskDetail (_this) {
+        var id = $(_this).attr("data-taskId");
+        // 编辑器在报错, 但是界面没影响呢, 奇怪
+        TC.ui.openTab("/taskmt/?m=taskDetail&id="+id, "查看事项")
+    }
+
     /**
      * 检查是否有未读消息,,如果有就显示红点,没有就不显示
      */

+ 7 - 1
tip-front/src/main/webapp/tc_suite/taskmt/byType/newDraft.jsp

@@ -36,8 +36,14 @@
         .mt-fileLi .mt-fileInfo{
             width: calc(100% - 90px);
         }
-        input[type="checkbox"]{
+        label input[type="checkbox"]{
             height: auto !important;
+            margin-right: 5px;
+            margin-top: 0 !important;
+        }
+        #summaryTable td>label{
+            display: inline-flex;
+            align-items: center;
         }
     </style>
     <%--    表格修改start--%>