瀏覽代碼

注释数据导入

郭超 4 年之前
父節點
當前提交
9b0935c891
共有 2 個文件被更改,包括 481 次插入481 次删除
  1. 5 5
      src/main/resources/templates/home.html
  2. 476 476
      src/main/resources/templates/task_detail.html

+ 5 - 5
src/main/resources/templates/home.html

@@ -49,11 +49,11 @@
 <!--                                <i class="fa fa-plus"></i>新建任务-->
 <!--                            </a>-->
 <!--                        </li>-->
-                        <li id="crowdSidebarMenu-importData">
-                            <a href="/importData">
-                                <i class="fa fa-file-excel-o"></i>数据导入
-                            </a>
-                        </li>
+<!--                        <li id="crowdSidebarMenu-importData">-->
+<!--                            <a href="/importData">-->
+<!--                                <i class="fa fa-file-excel-o"></i>数据导入-->
+<!--                            </a>-->
+<!--                        </li>-->
                     </ul>
                 </li>
 

+ 476 - 476
src/main/resources/templates/task_detail.html

@@ -1,477 +1,477 @@
-<!DOCTYPE html>
-<html lang="zh-CN" xmlns:th="http://www.thymeleaf.org"
-      xmlns:layout="http://www.ultraq.net.nz/web/thymeleaf/layout"
-      layout:decorator="main">
-<head>
-    <link rel="stylesheet" type="text/css" href="/static/css/main.css" />
-    <link rel="stylesheet" type="text/css" href="/static/css/app_info.css" />
-
-    <!-- dataTables -->
-    <link rel="stylesheet" type="text/css"
-          href="/static/AdminLTE/bower_components/datatables.net-bs/css/dataTables.bootstrap.min.css"/>
-    <!-- Select2 -->
-    <link rel="stylesheet" type="text/css" href="/static/AdminLTE/bower_components/select2/dist/css/select2.min.css"  />
-</head>
-<body>
-<!--<th:block >-->
-<th:block layout:fragment="sidebar">
-
-    <li class="treeview menu-open" id="crowdSidebar" th:fragment="crowdSidebar">
-        <a href="#">
-            <i class="fa fa-users"></i>
-            <span>
-                众包测试
-            </span>
-        </a>
-        <ul class="treeview-menu" id="crowdSidebarMenu"  style="display: block;">
-            <li id="crowdSidebarMenu-taskList">
-                <a href="/crowdTask">
-                    <i class="fa fa-align-justify"></i>任务列表
-                </a>
-            </li>
-            <li id="crowdSidebar-taskDetail">
-                <a th:href="'/task_detail?examId=' + ${examId} + '&amp;caseId=' + ${caseId}">
-                    <i class="glyphicon glyphicon-book"></i>
-                    <span>
-                        任务详情
-                    </span>
-                </a>
-            </li>
-            <li id="crowdSidebar-finalReport">
-                <a th:href="'/final_reports?examId=' + ${examId} + '&amp;caseId=' + ${caseId}">
-                    <i class="fa fa-calendar-check-o"></i>
-                    <span>预交付报告</span>
-                </a>
-            </li>
-            <li id="crowdSidebar-reportReview" class="treeview menu-open">
-                <a href="#">
-                    <i class="glyphicon glyphicon-edit"></i>
-                    <span>
-                        报告审核
-                    </span>
-                </a>
-                <ul class="treeview-menu" id="crowdSidebar-reportReviewMenu" style="display: block" >
-                    <li id="crowdSidebar-reportReview-allReport">
-                        <a th:href="'/review_report?examId=' + ${examId} + '&amp;caseId=' + ${caseId}">
-                            <i class="fa fa-files-o" style="color: #51b2ea"></i>
-                            <span>全部视图</span>
-                        </a>
-                    </li>
-                    <li id="crowdSidebar-reportReview-aggrReport" >
-                        <a th:href="'/agg_report_list?examId='+${examId}+'&amp;caseId='+${caseId}">
-                            <i class="fa fa-sitemap " style="color: rgba(214,182,27,0.7)"></i>
-                            <span>聚合视图</span>
-                        </a>
-                        <ul class="treeview-menu"  id="crowdSidebar-reportReview-aggrReportMenu" th:if="${task!=null}">
-                            <li id="crowdSidebar-reportReview-aggrReportMenu-all">
-                                <a th:href="'/agg_report_list?examId='+${examId}+'&amp;caseId='+${caseId}">
-                                    <i class="fa fa-circle-o"></i>
-                                    <span>全部报告</span>
-                                    <span class="badge pull-right all-number" th:text="${task.numOfTotalBug}">199</span>
-                                </a>
-                            </li>
-                            <li id="crowdSidebar-reportReview-aggrReportMenu-yes">
-                                <a th:href="'/agg_report_list?examId='+${examId}+'&amp;caseId='+${caseId}+'&amp;status=1'">
-                                    <i class="fa fa-check-circle-o text-success"></i>
-                                    <span>已审核报告</span>
-                                    <span class="badge badge-success pull-right assigned-number" th:text="${task.numOfTotalBug - task.numOfUndeal}">50</span>
-                                </a>
-                            </li>
-                            <li id="crowdSidebar-reportReview-aggrReportMenu-no">
-                                <a th:href="'/agg_report_list?examId='+${examId}+'&amp;caseId='+${caseId}+'&amp;status=0'">
-                                    <i class="fa fa-clock-o text-danger"></i>
-                                    <span>未审核报告</span>
-                                    <span class="badge badge-danger pull-right unassign-number" th:text="${task.numOfUndeal}">149</span>
-                                </a>
-                            </li>
-                        </ul>
-
-                    </li>
-
-                    <li id="crowdSidebar-reportReview-treeReport">
-                        <a th:href="'/history/tree_list?examId='+${examId}+'&amp;caseId='+${caseId}">
-                            <!--写死的参数,-->
-                            <!--<a th:href="'/history/getTrees2?examId='+${caseId}+'">-->
-                            <i class="glyphicon glyphicon-tree-conifer" style="color: rgba(65,214,66,0.7)"></i>
-                            <span>树状视图</span>
-                        </a>
-                    </li>
-                    <li id="crowdSidebar-reportReview-singleReport">
-                        <a th:href="'/task_detail?examId='+${examId}+'&amp;caseId='+${caseId}">
-                            <i class="fa  fa-file-o " style="color: rgba(218,247,0,0.72)"></i>
-                            <span>单一视图</span>
-                        </a>
-                    </li>
-                </ul>
-            </li>
-<!--            <li id="crowdSidebarMenu-addCrowdTask">-->
-<!--                <a href="/addCrowdTask">-->
-<!--                    <i class="fa fa-plus"></i>新建众测任务-->
-<!--                </a>-->
-<!--            </li>-->
-            <li id="crowdSidebarMenu-importData">
-                <a href="/importData">
-                    <i class="fa fa-file-excel-o"></i>数据导入
-                </a>
-            </li>
-        </ul>
-    </li>
-
-
-
-
-
-
-<!--    <li class="treeview">-->
-<!--        <a href="#">-->
-<!--            <i class="fa fa-list"></i>-->
-<!--            <span>Reports</span>-->
-<!--            <span class="pull-right-container">-->
-<!--			<i class="fa fa-angle-left pull-right"></i>-->
-<!--		</span>-->
-<!--        </a>-->
-<!--        <ul class="treeview-menu" style="display: block;">-->
-<!--            <li>-->
-<!--                <a href="#">-->
-<!--                    <i class="fa fa-circle-o"></i>-->
-<!--                    <span>全部报告</span>-->
-<!--                    <span class="badge pull-right all-number" th:text="${task.numOfTotalBug}">199</span>-->
-<!--                </a>-->
-<!--            </li>-->
-<!--            <li>-->
-<!--                <a href="#">-->
-<!--                    <i class="fa fa-check-circle-o text-success"></i>-->
-<!--                    <span>已审核报告</span>-->
-<!--                    <span class="badge badge-success pull-right assigned-number" th:text="${task.numOfTotalBug - task.numOfUndeal}">50</span>-->
-<!--                </a>-->
-<!--            </li>-->
-<!--            <li>-->
-<!--                <a href="#">-->
-<!--                    <i class="fa fa-clock-o text-danger"></i>-->
-<!--                    <span>未审核报告</span>-->
-<!--                    <span class="badge badge-danger pull-right unassign-number" th:text="${task.numOfUndeal}">149</span>-->
-<!--                </a>-->
-<!--            </li>-->
-<!--        </ul>-->
-<!--    </li>-->
-</th:block>
-
-<th:block layout:fragment="maincontent">
-    <section class="content-header">
-        <h1>Dashboard<small th:text="${task.name}">{{ app.name }}</small></h1>
-
-        <ol class="breadcrumb">
-            <li>
-                <a href="/home">
-                    <i class="fa fa-dashboard"></i>
-                    全部任务
-                </a>
-            </li>
-            <li class="active" th:text="|${task.name} Dashboard|">
-            </li>
-        </ol>
-    </section>
-
-    <section class="content container-fluid">
-        <!-- Today Summary -->
-        <div class="row">
-            <div class="col-md-4 col-sm-6 col-xs-12">
-                <div class="info-box bg-aqua all">
-				<span class="info-box-icon">
-				</span>
-                    <div class="info-box-content">
-                        <span class="info-box-text">全部报告</span>
-                        <span class="info-box-number" th:text="${task.numOfTotalBug}">{{ count_all }}</span>
-                    </div>
-                </div>
-            </div>
-            <div class="col-md-4 col-sm-6 col-xs-12">
-                <div class="info-box bg-green assigned">
-				<span class="info-box-icon">
-				</span>
-                    <div class="info-box-content">
-                        <span class="info-box-text">已审核</span>
-                        <span class="info-box-number">
-						<b th:text="${task.numOfTotalBug - task.numOfUndeal}">{{ count_assigned }} </b>
-						(
-                            <span th:if="${task.numOfTotalBug==0}" >0</span>
-                            <span th:if="${task.numOfTotalBug!=0}" th:text="${#numbers.formatDecimal((1 - task.numOfUndeal * 1.0 / task.numOfTotalBug) * 100, 1, 0)}">40</span>
-                            %)
-					</span>
-
-                        <!-- Progress Bar -->
-                        <div class="progress">
-                            <div class="progress-bar" th:if="${task.numOfTotalBug!=0}" th:style="'width: '+${(1 - task.numOfUndeal * 1.0 / task.numOfTotalBug) * 100}+'%;'"></div>
-                            <div class="progress-bar" th:if="${task.numOfTotalBug==0}" style="width: 0%"></div>
-                        </div>
-                    </div>
-                </div>
-            </div>
-            <div class="col-md-4 col-sm-6 col-xs-12">
-                <div class="info-box bg-red unassign">
-				<span class="info-box-icon">
-				</span>
-                    <div class="info-box-content">
-                        <span class="info-box-text">未审核</span>
-                        <span class="info-box-number">
-						<b th:text="${task.numOfUndeal}"></b>
-						(
-                            <span th:if="${task.numOfTotalBug!=0}" class="" th:text="${#numbers.formatDecimal((task.numOfUndeal * 1.0 / task.numOfTotalBug) * 100, 1, 0)}"></span>
-                            <span th:if="${task.numOfTotalBug==0}" class="" >100</span>
-                            %)
-					</span>
-
-                        <!-- Progress Bar -->
-                        <div class="progress">
-                            <div th:if="${task.numOfTotalBug!=0}"  class="progress-bar" th:style="'width: '+${(task.numOfUndeal * 1.0 / task.numOfTotalBug) * 100}+'%;'"></div>
-                            <div th:if="${task.numOfTotalBug==0}"  class="progress-bar" style="width: 100%"></div>
-                        </div>
-
-                    </div>
-                </div>
-            </div>
-        </div>
-
-        <!-- Report List Table -->
-        <div class="assign-div pull-right">
-<!--            <button  id="distribute-btn" class="btn btn-sm btn-assign pull-right">-->
-<!--                <i class="fa fa-coffee" style="margin-right: 3px;"></i>-->
-<!--                <span>人员分配</span>-->
-<!--            </button>-->
-<!--            <button  id="blockChain-btn" class="btn btn-sm btn-assign pull-right">-->
-<!--                <i class="fa fa-coffee" style="margin-right: 3px;"></i>-->
-<!--                <span>导入数据到区块链</span>-->
-<!--            </button>-->
-<!--            <button t id="taskUrl-btn" class="btn btn-sm btn-assign pull-right" onclick="copyUrl()">-->
-<!--                <i class="fa fa-coffee" style="margin-right: 3px;"></i>-->
-<!--                <span>复制服务序列号</span>-->
-<!--            </button>-->
-            <a  id="dt-btn" class="btn btn-sm btn-assign pull-right" th:href="${dtUrl}">
-                <i class="fa fa-coffee" style="margin-right: 3px;"></i>
-                <span>查看大盘</span>
-            </a>
-<!--            <button th:if="${!aggregated}" id="assign-btn" class="btn btn-sm btn-assign pull-right">-->
-<!--                <i class="fa fa-coffee" style="margin-right: 3px;"></i>-->
-<!--                <span>自动融合</span>-->
-<!--            </button>-->
-            <a th:if="${aggregated}" id="agg-view" class="btn btn-sm btn-assign pull-right" th:href="'/agg_report_list?examId=' + ${examId} + '&amp;caseId=' + ${caseId}">
-                <i class="fa fa-eye" style="margin-right: 3px;"></i>
-                <span>聚合视图</span>
-            </a>
-            <button  id="deliver-btn" class="btn btn-sm btn-assign pull-right">
-                <i class="fa fa-coffee" style="margin-right: 3px;"></i>
-                <span>全部交付</span>
-            </button>
-            <button  id="export-btn" onclick="exportTask()" class="btn btn-sm btn-assign pull-right">
-                <i class="fa fa-coffee" style="margin-right: 3px;"></i>
-                <span>导出任务</span>
-            </button>
-        </div>
-        <table id="report-list" class="table table-striped table-bordered" cellpadding="0" width="100%">
-            <thead>
-            <tr>
-                <th>ID</th>
-                <th>可复现程度</th>
-                <th>分类</th>
-                <th>严重程度</th>
-                <th>描述</th>
-                <!-- <th>Aggregated Report</th> -->
-                <th>审核状态</th>
-                <th>审核人</th>
-                <th>所属聚合报告</th>
-                <th>所属树状报告</th>
-            </tr>
-            </thead>
-            <tbody>
-            <th:block th:each="report : ${allReports}">
-
-                <tr th:class="|row-${report.id}|">
-                    <td class="report-id" th:value="${report.id}" th:text="|ML-${report.id.substring(10)}|"></td>
-                    <td>
-                        <span th:text="${recurrent2String.get(report.recurrent)}"></span>
-                    </td>
-                    <td>
-                        <!--<i class="fa fa-square" style="color: {{ report.print_bug_category_color  }};"></i>-->
-                        <span th:text="${report.bugCategory}"></span>
-                    </td>
-                    <td>
-                        <img th:alt="|${severity2String.get(report.severity)} Image|" height="14" th:src="'/static/images/icons/priorities/' + ${report.severity} + '.png'" />
-                        <span th:text="${severity2String.get(report.severity)}"></span>
-                    </td>
-                    <td style="width: 300px;">
-                        <div th:id="'ab-content-' + ${report.id}" data-toggle="collapse" th:attr="data-target='#full-content-' + ${report.id}" class="trunc collapse in" th:text="${report.description}">
-                        </div>
-                        <div th:id="'full-content-' + ${report.id}" data-toggle="collapse" th:attr="data-target='#ab-content-' + ${report.id}" class="full-content collapse">
-                            <span th:text="${report.description}"></span>
-                            <br/>
-                            <!--<img class="my-img-thumbnail pointer" th:src="${imgUrl}"-->
-                                 <!--th:each="imgUrl,iterStat : ${report.getImgUrls()}"-->
-                                 <!--th:onclick="'javascript:showimage(\''+${imgUrl}+'\');'"/>-->
-
-                        </div>
-                    </td>
-                    <td>
-                        <label class="label label-warning" th:if="${report.status == 0}">待审核</label>
-                        <label class="label label-success" th:if="${report.status == 1}">已审核</label>
-                    </td>
-
-                    <td class="report-assignee">
-                        <span th:if="${report.reviewerId != null}" th:text="${reviewMap.get(report.reviewerId)}"></span>
-                    </td>
-                    <td class="report-aggregator">
-                        <span th:if="${!aggregated}">暂无</span>
-<!--                        是否已经聚合-->
-                        <a th:if="${aggregated}" th:text="|ML-AG-${report.masterId.substring(10)}|" th:href="'/report?masterId='+${report.masterId}+'&amp;examId='+${examId}+'&amp;caseId='+${caseId}"></a>
-                    </td>
-                    <td>
-                        <span th:if="(${report.getTreeId()==null}) or ${report.getTreeId().length()==4}">暂无</span>
-                        <a th:if="${report.getTreeId()!=null} and  ${report.getTreeId().length()!=4}" th:text="|ML-TR-${report.treeId.substring(10)}|" th:href="'/history/report?treeId='+${report.treeId}+'&amp;examId='+${examId}+'&amp;caseId='+${caseId}"></a>
-                    </td>
-                </tr>
-            </th:block>
-            </tbody>
-        </table>
-    </section>
-
-    <!-- section howModal -->
-    <div id="howModal" class="modal fade" tabindex="-1" role="dialog">
-        <div class="modal-dialog">
-            <div class="modal-content">
-                <div class="modal-header" style="background-color: #3c8dbc;">
-                    <span style="color: #fff;" class="pull-left"><b>How does system aggregate report <span id="reportId"></span> to <span id="aggReportId"></span>?</b></span>
-                    <button class="close pull-right" data-dismiss="modal">&times;</button>
-                </div>
-                <div class="modal-body">
-                    <img src="" class="img-responsive" />
-                </div>
-            </div>
-        </div>
-    </div>
-</th:block>
-
-</body>
-</html>
-
-<div class="modal fade bs-example-modal-lg text-center" id="imgModal" tabindex="-1" role="dialog"
-     aria-labelledby="myLargeModalLabel">
-    <div class="modal-dialog modal-lg" style="display: inline-block; width: 300px;">
-        <div class="modal-content">
-            <img id="imgInModalID"
-                 class="carousel-inner img-responsive img-rounded"
-                 onclick="closeImageViewer()"
-                 onmouseover="this.style.cursor='pointer';this.style.cursor='hand'"
-                 onmouseout="this.style.cursor='default'"
-            />
-        </div>
-    </div>
-</div>
-<script src="/static/AdminLTE/bower_components/datatables.net/js/jquery.dataTables.min.js"></script>
-<script src="/static/AdminLTE/bower_components/datatables.net-bs/js/dataTables.bootstrap.min.js"></script>
-<script src="/static/AdminLTE/bower_components/select2/dist/js/select2.min.js"></script>
-<script src="/static/js/app_info.js"></script>
-<script src="/static/AdminLTE/bower_components/bootstrap-notify/dist/bootstrap-notify.min.js"></script>
-<script type="text/javascript" src="http://www.jq22.com/demo/clipboard.js-master201703170013/dist/clipboard.min.js"></script>
-<script type="text/javascript" xmlns:th="http://www.thymeleaf.org" th:inline="javascript">
-
-    /*<![CDATA[*/
-    var reportHost = [[${reportHost}]]
-    // var encodedReportDetailUrl = [[${encodedUrl}]]
-    var caseId = [[${caseId}]]
-    /*]]>*/
-
-
-    $(document).ready(function(){
-        $('#crowdSidebar').addClass('active');
-        $('#crowdSidebar-taskDetail').addClass('active');
-        var table = $('#report-list').DataTable({
-            destroy:true,
-            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,
-            "order": []
-        });
-    });
-
-    exportTask  = function(){
-        var data = new FormData();
-        data.append('caseId',caseId);
-        $.ajax({
-            url: '/exportTask',
-            data:data,
-            type: 'POST',
-            processData: false,
-            contentType: false,
-            success: function (result) {
-                if(result != 'success'){
-                    $.notify({
-                        message: result
-                    },{
-                        // settings
-                        delay: 100,
-                        timer: 1000,
-                        type: 'error'
-                    });
-                }else {
-
-                    $.notify({
-                        message: '导出成功'
-                    },{
-                        // settings
-                        delay: 100,
-                        timer: 3000,
-                        type: 'success'
-                    });
-                }
-            }
-        });
-    }
-
-
-    copyUrl = function(){
-        var clipboard = new Clipboard('#taskUrl-btn', {
-            text: function() {
-                return encodedReportDetailUrl;
-            }
-        });
-
-        clipboard.on('success', function(e) {
-            $.notify({
-                // options
-                message: '已成功复制到你的剪切板'
-            },{
-                // settings
-                delay: 100,
-                timer: 3000,
-                type: 'success'
-            });
-        });
-        clipboard.on('error', function(e) {
-            console.log(e);
-        });
-    }
-
-
+<!DOCTYPE html>
+<html lang="zh-CN" xmlns:th="http://www.thymeleaf.org"
+      xmlns:layout="http://www.ultraq.net.nz/web/thymeleaf/layout"
+      layout:decorator="main">
+<head>
+    <link rel="stylesheet" type="text/css" href="/static/css/main.css" />
+    <link rel="stylesheet" type="text/css" href="/static/css/app_info.css" />
+
+    <!-- dataTables -->
+    <link rel="stylesheet" type="text/css"
+          href="/static/AdminLTE/bower_components/datatables.net-bs/css/dataTables.bootstrap.min.css"/>
+    <!-- Select2 -->
+    <link rel="stylesheet" type="text/css" href="/static/AdminLTE/bower_components/select2/dist/css/select2.min.css"  />
+</head>
+<body>
+<!--<th:block >-->
+<th:block layout:fragment="sidebar">
+
+    <li class="treeview menu-open" id="crowdSidebar" th:fragment="crowdSidebar">
+        <a href="#">
+            <i class="fa fa-users"></i>
+            <span>
+                众包测试
+            </span>
+        </a>
+        <ul class="treeview-menu" id="crowdSidebarMenu"  style="display: block;">
+            <li id="crowdSidebarMenu-taskList">
+                <a href="/crowdTask">
+                    <i class="fa fa-align-justify"></i>任务列表
+                </a>
+            </li>
+            <li id="crowdSidebar-taskDetail">
+                <a th:href="'/task_detail?examId=' + ${examId} + '&amp;caseId=' + ${caseId}">
+                    <i class="glyphicon glyphicon-book"></i>
+                    <span>
+                        任务详情
+                    </span>
+                </a>
+            </li>
+            <li id="crowdSidebar-finalReport">
+                <a th:href="'/final_reports?examId=' + ${examId} + '&amp;caseId=' + ${caseId}">
+                    <i class="fa fa-calendar-check-o"></i>
+                    <span>预交付报告</span>
+                </a>
+            </li>
+            <li id="crowdSidebar-reportReview" class="treeview menu-open">
+                <a href="#">
+                    <i class="glyphicon glyphicon-edit"></i>
+                    <span>
+                        报告审核
+                    </span>
+                </a>
+                <ul class="treeview-menu" id="crowdSidebar-reportReviewMenu" style="display: block" >
+                    <li id="crowdSidebar-reportReview-allReport">
+                        <a th:href="'/review_report?examId=' + ${examId} + '&amp;caseId=' + ${caseId}">
+                            <i class="fa fa-files-o" style="color: #51b2ea"></i>
+                            <span>全部视图</span>
+                        </a>
+                    </li>
+                    <li id="crowdSidebar-reportReview-aggrReport" >
+                        <a th:href="'/agg_report_list?examId='+${examId}+'&amp;caseId='+${caseId}">
+                            <i class="fa fa-sitemap " style="color: rgba(214,182,27,0.7)"></i>
+                            <span>聚合视图</span>
+                        </a>
+                        <ul class="treeview-menu"  id="crowdSidebar-reportReview-aggrReportMenu" th:if="${task!=null}">
+                            <li id="crowdSidebar-reportReview-aggrReportMenu-all">
+                                <a th:href="'/agg_report_list?examId='+${examId}+'&amp;caseId='+${caseId}">
+                                    <i class="fa fa-circle-o"></i>
+                                    <span>全部报告</span>
+                                    <span class="badge pull-right all-number" th:text="${task.numOfTotalBug}">199</span>
+                                </a>
+                            </li>
+                            <li id="crowdSidebar-reportReview-aggrReportMenu-yes">
+                                <a th:href="'/agg_report_list?examId='+${examId}+'&amp;caseId='+${caseId}+'&amp;status=1'">
+                                    <i class="fa fa-check-circle-o text-success"></i>
+                                    <span>已审核报告</span>
+                                    <span class="badge badge-success pull-right assigned-number" th:text="${task.numOfTotalBug - task.numOfUndeal}">50</span>
+                                </a>
+                            </li>
+                            <li id="crowdSidebar-reportReview-aggrReportMenu-no">
+                                <a th:href="'/agg_report_list?examId='+${examId}+'&amp;caseId='+${caseId}+'&amp;status=0'">
+                                    <i class="fa fa-clock-o text-danger"></i>
+                                    <span>未审核报告</span>
+                                    <span class="badge badge-danger pull-right unassign-number" th:text="${task.numOfUndeal}">149</span>
+                                </a>
+                            </li>
+                        </ul>
+
+                    </li>
+
+                    <li id="crowdSidebar-reportReview-treeReport">
+                        <a th:href="'/history/tree_list?examId='+${examId}+'&amp;caseId='+${caseId}">
+                            <!--写死的参数,-->
+                            <!--<a th:href="'/history/getTrees2?examId='+${caseId}+'">-->
+                            <i class="glyphicon glyphicon-tree-conifer" style="color: rgba(65,214,66,0.7)"></i>
+                            <span>树状视图</span>
+                        </a>
+                    </li>
+                    <li id="crowdSidebar-reportReview-singleReport">
+                        <a th:href="'/task_detail?examId='+${examId}+'&amp;caseId='+${caseId}">
+                            <i class="fa  fa-file-o " style="color: rgba(218,247,0,0.72)"></i>
+                            <span>单一视图</span>
+                        </a>
+                    </li>
+                </ul>
+            </li>
+<!--            <li id="crowdSidebarMenu-addCrowdTask">-->
+<!--                <a href="/addCrowdTask">-->
+<!--                    <i class="fa fa-plus"></i>新建众测任务-->
+<!--                </a>-->
+<!--            </li>-->
+<!--            <li id="crowdSidebarMenu-importData">-->
+<!--                <a href="/importData">-->
+<!--                    <i class="fa fa-file-excel-o"></i>数据导入-->
+<!--                </a>-->
+<!--            </li>-->
+        </ul>
+    </li>
+
+
+
+
+
+
+<!--    <li class="treeview">-->
+<!--        <a href="#">-->
+<!--            <i class="fa fa-list"></i>-->
+<!--            <span>Reports</span>-->
+<!--            <span class="pull-right-container">-->
+<!--			<i class="fa fa-angle-left pull-right"></i>-->
+<!--		</span>-->
+<!--        </a>-->
+<!--        <ul class="treeview-menu" style="display: block;">-->
+<!--            <li>-->
+<!--                <a href="#">-->
+<!--                    <i class="fa fa-circle-o"></i>-->
+<!--                    <span>全部报告</span>-->
+<!--                    <span class="badge pull-right all-number" th:text="${task.numOfTotalBug}">199</span>-->
+<!--                </a>-->
+<!--            </li>-->
+<!--            <li>-->
+<!--                <a href="#">-->
+<!--                    <i class="fa fa-check-circle-o text-success"></i>-->
+<!--                    <span>已审核报告</span>-->
+<!--                    <span class="badge badge-success pull-right assigned-number" th:text="${task.numOfTotalBug - task.numOfUndeal}">50</span>-->
+<!--                </a>-->
+<!--            </li>-->
+<!--            <li>-->
+<!--                <a href="#">-->
+<!--                    <i class="fa fa-clock-o text-danger"></i>-->
+<!--                    <span>未审核报告</span>-->
+<!--                    <span class="badge badge-danger pull-right unassign-number" th:text="${task.numOfUndeal}">149</span>-->
+<!--                </a>-->
+<!--            </li>-->
+<!--        </ul>-->
+<!--    </li>-->
+</th:block>
+
+<th:block layout:fragment="maincontent">
+    <section class="content-header">
+        <h1>Dashboard<small th:text="${task.name}">{{ app.name }}</small></h1>
+
+        <ol class="breadcrumb">
+            <li>
+                <a href="/home">
+                    <i class="fa fa-dashboard"></i>
+                    全部任务
+                </a>
+            </li>
+            <li class="active" th:text="|${task.name} Dashboard|">
+            </li>
+        </ol>
+    </section>
+
+    <section class="content container-fluid">
+        <!-- Today Summary -->
+        <div class="row">
+            <div class="col-md-4 col-sm-6 col-xs-12">
+                <div class="info-box bg-aqua all">
+				<span class="info-box-icon">
+				</span>
+                    <div class="info-box-content">
+                        <span class="info-box-text">全部报告</span>
+                        <span class="info-box-number" th:text="${task.numOfTotalBug}">{{ count_all }}</span>
+                    </div>
+                </div>
+            </div>
+            <div class="col-md-4 col-sm-6 col-xs-12">
+                <div class="info-box bg-green assigned">
+				<span class="info-box-icon">
+				</span>
+                    <div class="info-box-content">
+                        <span class="info-box-text">已审核</span>
+                        <span class="info-box-number">
+						<b th:text="${task.numOfTotalBug - task.numOfUndeal}">{{ count_assigned }} </b>
+						(
+                            <span th:if="${task.numOfTotalBug==0}" >0</span>
+                            <span th:if="${task.numOfTotalBug!=0}" th:text="${#numbers.formatDecimal((1 - task.numOfUndeal * 1.0 / task.numOfTotalBug) * 100, 1, 0)}">40</span>
+                            %)
+					</span>
+
+                        <!-- Progress Bar -->
+                        <div class="progress">
+                            <div class="progress-bar" th:if="${task.numOfTotalBug!=0}" th:style="'width: '+${(1 - task.numOfUndeal * 1.0 / task.numOfTotalBug) * 100}+'%;'"></div>
+                            <div class="progress-bar" th:if="${task.numOfTotalBug==0}" style="width: 0%"></div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <div class="col-md-4 col-sm-6 col-xs-12">
+                <div class="info-box bg-red unassign">
+				<span class="info-box-icon">
+				</span>
+                    <div class="info-box-content">
+                        <span class="info-box-text">未审核</span>
+                        <span class="info-box-number">
+						<b th:text="${task.numOfUndeal}"></b>
+						(
+                            <span th:if="${task.numOfTotalBug!=0}" class="" th:text="${#numbers.formatDecimal((task.numOfUndeal * 1.0 / task.numOfTotalBug) * 100, 1, 0)}"></span>
+                            <span th:if="${task.numOfTotalBug==0}" class="" >100</span>
+                            %)
+					</span>
+
+                        <!-- Progress Bar -->
+                        <div class="progress">
+                            <div th:if="${task.numOfTotalBug!=0}"  class="progress-bar" th:style="'width: '+${(task.numOfUndeal * 1.0 / task.numOfTotalBug) * 100}+'%;'"></div>
+                            <div th:if="${task.numOfTotalBug==0}"  class="progress-bar" style="width: 100%"></div>
+                        </div>
+
+                    </div>
+                </div>
+            </div>
+        </div>
+
+        <!-- Report List Table -->
+        <div class="assign-div pull-right">
+<!--            <button  id="distribute-btn" class="btn btn-sm btn-assign pull-right">-->
+<!--                <i class="fa fa-coffee" style="margin-right: 3px;"></i>-->
+<!--                <span>人员分配</span>-->
+<!--            </button>-->
+<!--            <button  id="blockChain-btn" class="btn btn-sm btn-assign pull-right">-->
+<!--                <i class="fa fa-coffee" style="margin-right: 3px;"></i>-->
+<!--                <span>导入数据到区块链</span>-->
+<!--            </button>-->
+<!--            <button t id="taskUrl-btn" class="btn btn-sm btn-assign pull-right" onclick="copyUrl()">-->
+<!--                <i class="fa fa-coffee" style="margin-right: 3px;"></i>-->
+<!--                <span>复制服务序列号</span>-->
+<!--            </button>-->
+            <a  id="dt-btn" class="btn btn-sm btn-assign pull-right" th:href="${dtUrl}">
+                <i class="fa fa-coffee" style="margin-right: 3px;"></i>
+                <span>查看大盘</span>
+            </a>
+<!--            <button th:if="${!aggregated}" id="assign-btn" class="btn btn-sm btn-assign pull-right">-->
+<!--                <i class="fa fa-coffee" style="margin-right: 3px;"></i>-->
+<!--                <span>自动融合</span>-->
+<!--            </button>-->
+            <a th:if="${aggregated}" id="agg-view" class="btn btn-sm btn-assign pull-right" th:href="'/agg_report_list?examId=' + ${examId} + '&amp;caseId=' + ${caseId}">
+                <i class="fa fa-eye" style="margin-right: 3px;"></i>
+                <span>聚合视图</span>
+            </a>
+            <button  id="deliver-btn" class="btn btn-sm btn-assign pull-right">
+                <i class="fa fa-coffee" style="margin-right: 3px;"></i>
+                <span>全部交付</span>
+            </button>
+            <button  id="export-btn" onclick="exportTask()" class="btn btn-sm btn-assign pull-right">
+                <i class="fa fa-coffee" style="margin-right: 3px;"></i>
+                <span>导出任务</span>
+            </button>
+        </div>
+        <table id="report-list" class="table table-striped table-bordered" cellpadding="0" width="100%">
+            <thead>
+            <tr>
+                <th>ID</th>
+                <th>可复现程度</th>
+                <th>分类</th>
+                <th>严重程度</th>
+                <th>描述</th>
+                <!-- <th>Aggregated Report</th> -->
+                <th>审核状态</th>
+                <th>审核人</th>
+                <th>所属聚合报告</th>
+                <th>所属树状报告</th>
+            </tr>
+            </thead>
+            <tbody>
+            <th:block th:each="report : ${allReports}">
+
+                <tr th:class="|row-${report.id}|">
+                    <td class="report-id" th:value="${report.id}" th:text="|ML-${report.id.substring(10)}|"></td>
+                    <td>
+                        <span th:text="${recurrent2String.get(report.recurrent)}"></span>
+                    </td>
+                    <td>
+                        <!--<i class="fa fa-square" style="color: {{ report.print_bug_category_color  }};"></i>-->
+                        <span th:text="${report.bugCategory}"></span>
+                    </td>
+                    <td>
+                        <img th:alt="|${severity2String.get(report.severity)} Image|" height="14" th:src="'/static/images/icons/priorities/' + ${report.severity} + '.png'" />
+                        <span th:text="${severity2String.get(report.severity)}"></span>
+                    </td>
+                    <td style="width: 300px;">
+                        <div th:id="'ab-content-' + ${report.id}" data-toggle="collapse" th:attr="data-target='#full-content-' + ${report.id}" class="trunc collapse in" th:text="${report.description}">
+                        </div>
+                        <div th:id="'full-content-' + ${report.id}" data-toggle="collapse" th:attr="data-target='#ab-content-' + ${report.id}" class="full-content collapse">
+                            <span th:text="${report.description}"></span>
+                            <br/>
+                            <!--<img class="my-img-thumbnail pointer" th:src="${imgUrl}"-->
+                                 <!--th:each="imgUrl,iterStat : ${report.getImgUrls()}"-->
+                                 <!--th:onclick="'javascript:showimage(\''+${imgUrl}+'\');'"/>-->
+
+                        </div>
+                    </td>
+                    <td>
+                        <label class="label label-warning" th:if="${report.status == 0}">待审核</label>
+                        <label class="label label-success" th:if="${report.status == 1}">已审核</label>
+                    </td>
+
+                    <td class="report-assignee">
+                        <span th:if="${report.reviewerId != null}" th:text="${reviewMap.get(report.reviewerId)}"></span>
+                    </td>
+                    <td class="report-aggregator">
+                        <span th:if="${!aggregated}">暂无</span>
+<!--                        是否已经聚合-->
+                        <a th:if="${aggregated}" th:text="|ML-AG-${report.masterId.substring(10)}|" th:href="'/report?masterId='+${report.masterId}+'&amp;examId='+${examId}+'&amp;caseId='+${caseId}"></a>
+                    </td>
+                    <td>
+                        <span th:if="(${report.getTreeId()==null}) or ${report.getTreeId().length()==4}">暂无</span>
+                        <a th:if="${report.getTreeId()!=null} and  ${report.getTreeId().length()!=4}" th:text="|ML-TR-${report.treeId.substring(10)}|" th:href="'/history/report?treeId='+${report.treeId}+'&amp;examId='+${examId}+'&amp;caseId='+${caseId}"></a>
+                    </td>
+                </tr>
+            </th:block>
+            </tbody>
+        </table>
+    </section>
+
+    <!-- section howModal -->
+    <div id="howModal" class="modal fade" tabindex="-1" role="dialog">
+        <div class="modal-dialog">
+            <div class="modal-content">
+                <div class="modal-header" style="background-color: #3c8dbc;">
+                    <span style="color: #fff;" class="pull-left"><b>How does system aggregate report <span id="reportId"></span> to <span id="aggReportId"></span>?</b></span>
+                    <button class="close pull-right" data-dismiss="modal">&times;</button>
+                </div>
+                <div class="modal-body">
+                    <img src="" class="img-responsive" />
+                </div>
+            </div>
+        </div>
+    </div>
+</th:block>
+
+</body>
+</html>
+
+<div class="modal fade bs-example-modal-lg text-center" id="imgModal" tabindex="-1" role="dialog"
+     aria-labelledby="myLargeModalLabel">
+    <div class="modal-dialog modal-lg" style="display: inline-block; width: 300px;">
+        <div class="modal-content">
+            <img id="imgInModalID"
+                 class="carousel-inner img-responsive img-rounded"
+                 onclick="closeImageViewer()"
+                 onmouseover="this.style.cursor='pointer';this.style.cursor='hand'"
+                 onmouseout="this.style.cursor='default'"
+            />
+        </div>
+    </div>
+</div>
+<script src="/static/AdminLTE/bower_components/datatables.net/js/jquery.dataTables.min.js"></script>
+<script src="/static/AdminLTE/bower_components/datatables.net-bs/js/dataTables.bootstrap.min.js"></script>
+<script src="/static/AdminLTE/bower_components/select2/dist/js/select2.min.js"></script>
+<script src="/static/js/app_info.js"></script>
+<script src="/static/AdminLTE/bower_components/bootstrap-notify/dist/bootstrap-notify.min.js"></script>
+<script type="text/javascript" src="http://www.jq22.com/demo/clipboard.js-master201703170013/dist/clipboard.min.js"></script>
+<script type="text/javascript" xmlns:th="http://www.thymeleaf.org" th:inline="javascript">
+
+    /*<![CDATA[*/
+    var reportHost = [[${reportHost}]]
+    // var encodedReportDetailUrl = [[${encodedUrl}]]
+    var caseId = [[${caseId}]]
+    /*]]>*/
+
+
+    $(document).ready(function(){
+        $('#crowdSidebar').addClass('active');
+        $('#crowdSidebar-taskDetail').addClass('active');
+        var table = $('#report-list').DataTable({
+            destroy:true,
+            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,
+            "order": []
+        });
+    });
+
+    exportTask  = function(){
+        var data = new FormData();
+        data.append('caseId',caseId);
+        $.ajax({
+            url: '/exportTask',
+            data:data,
+            type: 'POST',
+            processData: false,
+            contentType: false,
+            success: function (result) {
+                if(result != 'success'){
+                    $.notify({
+                        message: result
+                    },{
+                        // settings
+                        delay: 100,
+                        timer: 1000,
+                        type: 'error'
+                    });
+                }else {
+
+                    $.notify({
+                        message: '导出成功'
+                    },{
+                        // settings
+                        delay: 100,
+                        timer: 3000,
+                        type: 'success'
+                    });
+                }
+            }
+        });
+    }
+
+
+    copyUrl = function(){
+        var clipboard = new Clipboard('#taskUrl-btn', {
+            text: function() {
+                return encodedReportDetailUrl;
+            }
+        });
+
+        clipboard.on('success', function(e) {
+            $.notify({
+                // options
+                message: '已成功复制到你的剪切板'
+            },{
+                // settings
+                delay: 100,
+                timer: 3000,
+                type: 'success'
+            });
+        });
+        clipboard.on('error', function(e) {
+            console.log(e);
+        });
+    }
+
+
 </script>