Procházet zdrojové kódy

添加系统主页

insomniaLee před 4 roky
rodič
revize
0a6b40134c

+ 35 - 1
src/main/java/com/mooctest/controller/TaskController.java

@@ -1,5 +1,6 @@
 package com.mooctest.controller;
 
+import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.mooctest.data.BugDTO;
 import com.mooctest.data.TaskDTO;
@@ -16,6 +17,9 @@ import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 
+import java.sql.Timestamp;
+import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import java.util.function.Function;
@@ -40,22 +44,47 @@ public class TaskController {
 
     @Autowired
     BugDataService bugDataService;
+    @Autowired
+    JobService jobService;
 
     @Value("${report.host}")
     String reportHost;
 
-    @GetMapping("/home")
+    @GetMapping("/home2")
     public String home(Model model) {
         // 获得所有taskDTO,包括本地和慕测端
         List<TaskDTO> tasks = taskService.getAllTasks();
         List<TaskDTO> localTasks = taskService.findTask();
         tasks.addAll(localTasks);
+        Collections.sort(tasks,(o1,o2)->{
+            return (int)(o2.getExamId()-o1.getExamId());
+        });
         // 将获得任务传给前端
         model.addAttribute("tasks", tasks);
         // 转到task_list页面
         return "task_list";
     }
 
+    @GetMapping("/home")
+    public String home2(Model model ){
+        // 获得所有taskDTO,包括本地和慕测端
+        List<TaskDTO> tasks = taskService.getAllTasks();
+        List<TaskDTO> localTasks = taskService.findTask();
+        tasks.addAll(localTasks);
+        Collections.sort(tasks,(o1,o2)->{
+            return (int)(o2.getExamId()-o1.getExamId());
+        });
+        JSONArray jsonArray = jobService.getJobs(); // 所有的数据
+        List<Object> list = new ArrayList<>();
+        for (Object single : jsonArray){
+            changeTime2Long(single); // 修改创建时间的格式  以便前段展示
+            list.add(single);
+        }
+        model.addAttribute("jobs",list.subList(0,Math.min(15,list.size())));
+        model.addAttribute("tasks", tasks.subList(0,Math.min(15,tasks.size())));
+        return "home";
+    }
+
     @GetMapping("/taskDashBoard")
     public String dashBoard ( @RequestParam("taskId") long taskId ,
                               @RequestParam("caseId") long caseId ,
@@ -129,4 +158,9 @@ public class TaskController {
         model.addAttribute("reportHost",reportHost);
         return "task_detail";
     }
+
+    private void changeTime2Long ( Object input){
+        JSONObject temp = (JSONObject) input;
+        temp.put("create_time",new Timestamp(Long.parseLong(temp.get("create_time").toString()))); // 修改创建时间的格式  以便前段展示
+    }
 }

+ 72 - 62
src/main/resources/templates/home.html

@@ -82,13 +82,13 @@
     <!-- Main Content -->
     <div class="content-wrapper" style="min-height: 691px;">
         <section class="content-header">
-            <h1>全部应用</h1>
+            <h1>主页</h1>
 
             <ol class="breadcrumb">
                 <li class="active">
                     <a href="/home">
                         <i class="fa fa-dashboard"></i>
-                        全部应用
+                        主页
                     </a>
                 </li>
             </ol>
@@ -96,66 +96,76 @@
 
         <!-- Main Content -->
         <section class="content container-fluid">
-            <!-- 			<div id="task-list-search" class="input-group col-md-6">
-                            <input type="text" class="form-control" placeholder="Search for application">
-                            <span class="input-group-btn">
-                                <button class="btn btn-default" type="button" id="task-search-btn">Search</button>
-                            </span>
-                        </div> -->
-
-            <table id="task-list" class="table table-striped text-center" style="margin-top: 10px">
-                <thead><tr>
-                    <!--<th></th>-->
-                    <th>测试序号(考试号)</th>
-                    <th>任务序号(题号)</th>
-                    <th>应用名</th>
-                    <!--<th>版本</th>-->
-                    <th>审核状态</th>
-                    <!--<th>开始时间</th>-->
-                    <!--<th>结束时间</th>-->
-                    <th>审核进度</th>
-                    <th>未审核数</th>
-                </tr></thead>
-                <tbody>
-                <th:block th:each="task : ${tasks}">
-
-                    <tr>
-                        <!--<td><img th:src="${task.icon}" style="width: 25px; height: 25px;" /></td>-->
-                        <td><span  class="label label-info" th:text="${task.examId}"></span></td>
-                        <td><span  class="label label-info" th:text="${task.caseId}">题号</span></td>
-                        <td><b><a th:href="'/task_detail?examId=' + ${task.examId} + '&amp;caseId=' + ${task.caseId}" id="task-name" th:text="${task.name}">{{ task.name }}</a></b></td>
-                        <!--<td th:text="${task.version}"></td>-->
-                        <td th:if="${task.numOfUndeal > 0}"><span  class="label label-info">审核中</span></td>
-                        <td th:if="${task.numOfUndeal == 0}"><span  class="label label-success">审核结束</span></td>
-                        <!--<td th:text="${task.startTime}">{{ task.print_start_time }}</td>-->
-                        <!--<td th:text="${task.endTime}">{{ task.print_end_time }}</td>-->
-                        <td style="width: 200px;">
-                            <a th:href="'/task_detail?examId=' + ${task.examId} + '&amp;caseId=' + ${task.caseId}">
-                                <div class="progress">
-                                    <div class="progress-bar progress-bar-success progress-bar-striped" role="progressbar"
-                                         th:if="${task.numOfTotalBug!=0}"
-                                         th:style="'width: ' + ${(1 - task.numOfUndeal*1.0/task.numOfTotalBug) * 100}+'%'"
-                                         data-placement="bottom" data-toggle="tooltip" th:title="|${task.numOfTotalBug - task.numOfUndeal}份报告已经被审核|">
-                                    </div>
-                                    <div class="progress-bar progress-bar-danger progress-bar-striped" role="progressbar"
-                                         th:if="${task.numOfTotalBug!=0}"
-                                         th:style="'width: ' + ${(task.numOfUndeal*1.0/task.numOfTotalBug) * 100}+'%'"
-                                         data-placement="bottom" data-toggle="tooltip" th:title="|${task.numOfUndeal}份报告还未被审核|">
-                                    </div>
-                                    <div class="progress-bar progress-bar-danger progress-bar-striped" role="progressbar"
-                                         th:if="${task.numOfTotalBug==0}"
-                                         style="width: 100%"
-                                         data-placement="bottom" data-toggle="tooltip" th:title="|该任务没有报告|">
-                                    </div>
-
-                                </div>
-                            </a>
-                        </td>
-                        <td><span class="badge"><a th:href="'/task_detail?examId=' + ${task.examId} + '&amp;caseId=' + ${task.caseId}" style="color: #fff;" th:text="${task.numOfUndeal}"></a></span></td>
-                    </tr>
-                </th:block>
-                </tbody>
-            </table><!-- table -->
+
+            <div class="row">
+                <div class="col-md-6">
+
+                    <div class="box">
+                        <div class="box-header">
+                            <h3 class="box-title">最近的众测任务</h3>
+                        </div>
+                        <!-- /.box-header -->
+                        <div class="box-body no-padding">
+                            <table class="table table-striped" style="text-align: center;">
+                                <tr>
+                                    <th style="text-align: center;">测试序号(考试号)</th>
+                                    <th style="text-align: center;">任务序号(题号)</th>
+                                    <th style="text-align: center;">应用名</th>
+                                </tr>
+                                <th:block th:each="task : ${tasks}">
+
+                                    <tr>
+                                        <!--<td><img th:src="${task.icon}" style="width: 25px; height: 25px;" /></td>-->
+                                        <td><span  class="label label-info" th:text="${task.examId}"></span></td>
+                                        <td><span  class="label label-info" th:text="${task.caseId}">题号</span></td>
+                                        <td><b><a th:href="'/task_detail?examId=' + ${task.examId} + '&amp;caseId=' + ${task.caseId}" id="task-name-name" th:text="${task.name}">{{ task.name }}</a></b></td>
+                                        <!--<td th:text="${task.version}"></td>-->
+
+                                    </tr>
+                                </th:block>
+
+                            </table>
+
+
+                        </div>
+                    </div>
+                </div>
+                <div class="col-md-6">
+
+                    <div class="box">
+                        <div class="box-header">
+                            <h3 class="box-title">最近的众审任务</h3>
+                        </div>
+                        <!-- /.box-header -->
+                        <div class="box-body no-padding">
+                            <table class="table table-striped"  style="text-align: center;">
+                                <tr>
+                                    <th style="text-align: center;">测试序号(考试号)</th>
+                                    <th style="text-align: center;">任务序号(题号)</th>
+                                    <th style="text-align: center;">应用名</th>
+                                </tr>
+                                <th:block th:each="task : ${jobs}">
+                                    <tr>
+                                        <td><b><a th:href="'/review/jobDetail?id='+${task.get('id')}"  th:text="${task.get('name')}"></a></b></td>
+                                        <!--<td><img th:src="${task.icon}" style="width: 25px; height: 25px;" /></td>-->
+                                        <td>
+                                            <span th:if="${task.get('group').equals('') and task.get('exam_id').equals('')}" class="label label-warning"  >暂无</span>
+                                            <span th:if="${task.get('group').equals('') and !task.get('exam_id').equals('')}" class="label label-info"  >企业版</span>
+                                            <span th:if="${task.get('exam_id').equals('') and !task.get('group').equals('') }" class="label label-success"  >教育版</span>
+                                        </td>
+                                        <!--                        <td><span  class="label label-info" th:text="${task.caseId}">题号</span></td>-->
+
+                                        <td><span  class=" " th:if="${task.get('create_time')!=null}" th:text="${#dates.format(task.get('create_time'),'yyyy-MM-dd HH:mm:ss')} " ></span></td>
+                                    </tr>
+                                </th:block>
+                            </table>
+
+                        </div>
+                    </div>
+                </div>
+            </div>
+
+
         </section>
     </div>
 </div>

+ 26 - 2
src/main/resources/templates/task_list.html

@@ -103,7 +103,7 @@
                             </span>
                         </div> -->
 
-            <table id="task-list" class="table table-striped text-center" style="margin-top: 10px">
+            <table id="task-list" class="table table-striped text-center" data-order='[[0, "desc"]]' style="margin-top: 10px">
                 <thead><tr>
                     <!--<th></th>-->
                     <th>测试序号(考试号)</th>
@@ -169,7 +169,31 @@
     $(document).ready(function(){
         $('[data-toggle="tooltip"]').tooltip();
 
-        var taskListTable = $('#task-list').DataTable({
+        $('#task-list').DataTable({
+            language: {
+                "sProcessing": "处理中...",
+                "sLengthMenu": "显示 _MENU_ 项数据",
+                "sZeroRecords": "没有匹配结果",
+                "sInfo": "显示第 _START_ 至 _END_ 项结果,共 _TOTAL_ 项",
+                "sInfoEmpty": "显示第 0 至 0 项结果,共 0 项",
+                "sInfoFiltered": "(由 _MAX_ 项结果过滤)",
+                "sInfoPostFix": "",
+                "sSearch": "搜索:",
+                "sUrl": "",
+                "sEmptyTable": "表中数据为空",
+                "sLoadingRecords": "载入中...",
+                "sInfoThousands": ",",
+                "oPaginate": {
+                    "sFirst": "首页",
+                    "sPrevious": "上页",
+                    "sNext": "下页",
+                    "sLast": "末页"
+                },
+                "oAria": {
+                    "sSortAscending": ": 以升序排列此列",
+                    "sSortDescending": ": 以降序排列此列"
+                }
+            },
             searching: true,
             pageLength: 25
         });