Procházet zdrojové kódy

优化excel文件提交界面

bigwit11 před 4 roky
rodič
revize
79c5941583

+ 2 - 3
src/main/java/com/mooctest/controller/PaperController.java

@@ -43,18 +43,17 @@ public class PaperController {
 //        return "addTask";
 //    }
 
+
     @GetMapping("/addExcel")
     public String addExcel (Model model){
-        return "add_excel";
+        return "add_excel_pro";
     }
 
     @PostMapping("/excelToMongo")
     public String excelToMongo (@RequestParam("name")String name, @RequestParam("excelFile") MultipartFile multipartFile){
         // 从前端接收Excel文件,并返回文件保存的全路径
-//        String fileFullPath = bugExcelInputService.saveMultipartFile(multipartFile, multipartFile.getName());
         String fileFullPath = excelInputService.saveMultipartFile(multipartFile, name);
         // 拿取文件,并将文件内容插入到Mongo数据库中
-//        bugExcelInputService.excelToMongo(27017,"localhost","crowd_review","root","root","bug",fileFullPath);
         excelInputService.excelToMongo(fileFullPath, name);
         return "add_excel_ok";
     }

+ 3 - 4
src/main/java/com/mooctest/service/ExcelInputService.java

@@ -87,7 +87,6 @@ public class ExcelInputService {
         Task task = new Task(task_id, case_id, task_name);
         taskDao.save(task);
 
-//        List<ExtendBug> extendBugs = new ArrayList<>();
         try {
             // 输入文件
             FileInputStream inputStream = new FileInputStream(address);
@@ -152,13 +151,13 @@ public class ExcelInputService {
                 }
                 System.out.println(extendBug);
                 extendBugDao.save(extendBug);
-
             }
             System.out.println("插入成功");
+            // 导入成功后将本地文件夹删除
+            File file = new File(address);
+            file.delete();
         } catch (FileNotFoundException e) {
             System.err.println(e.getClass().getName() + ": " + e.getMessage());
         }
     }
-
-
 }

+ 317 - 0
src/main/resources/templates/add_excel_pro.html

@@ -0,0 +1,317 @@
+<!DOCTYPE html>
+<html lang="zh-CN" xmlns:th="http://www.thymeleaf.org"
+      xmlns:layout="http://www.ultraq.net.nz/web/thymeleaf/layout"
+      layout:decorator="base">
+<head>
+    <link rel="stylesheet" href="/static/css/applications.css" type="text/css"/>
+    <!-- dataTables -->
+    <link rel="stylesheet" type="text/css"
+          href="/static/AdminLTE/bower_components/datatables.net-bs/css/dataTables.bootstrap.min.css"/>
+    <!-- Font Awesome -->
+    <link rel="stylesheet" href="/static/AdminLTE/bower_components/font-awesome/css/font-awesome.min.css"/>
+    <!-- Ionicons -->
+    <link rel="stylesheet" href="/static/AdminLTE/bower_components/Ionicons/css/ionicons.min.css"/>
+    <!-- daterange picker -->
+    <link rel="stylesheet" href="/static/AdminLTE/bower_components/bootstrap-daterangepicker/daterangepicker.css"/>
+    <!-- bootstrap datepicker -->
+    <link rel="stylesheet" href="/static/AdminLTE/bower_components/bootstrap-datepicker/dist/css/bootstrap-datepicker.min.css"/>
+    <!-- iCheck for checkboxes and radio inputs -->
+    <link rel="stylesheet" href="/static/AdminLTE/plugins/iCheck/all.css"/>
+    <!-- Bootstrap time Picker -->
+    <link rel="stylesheet" href="/static/AdminLTE/plugins/timepicker/bootstrap-timepicker.min.css"/>
+    <!-- Select2 -->
+    <link rel="stylesheet" type="text/css" href="/static/AdminLTE/bower_components/select2/dist/css/select2.min.css"/>
+    <!-- Theme style -->
+    <link rel="stylesheet" href="/static/AdminLTE/dist/css/AdminLTE.min.css"/>
+    <!-- AdminLTE Skins. Choose a skin from the css/skins
+         folder instead of downloading all of them to reduce the load. -->
+    <link rel="stylesheet" href="/static/AdminLTE/dist/css/skins/_all-skins.min.css"/>
+
+
+    <style>
+        body {
+            padding-right: 0px !important;
+        }
+        *.modal-open {
+            overflow-y: scroll;
+            padding-right: 0 !important;
+        }
+        .content {
+            padding-left: 45px;
+            padding-right: 45px;
+        }
+        .box {
+            margin-bottom: 50px;
+        }
+        .box-header button{
+            margin-right: 5px;
+        }
+        .table tr td {
+            padding-right: 10px;
+            padding-left: 10px;
+            border-top: 1px solid #f4f4f4;
+            border-right: 1px solid #f4f4f4;
+        }
+
+        td .form-group {
+            margin-bottom: 0px;
+        }
+    </style>
+</head>
+<body>
+<div layout:fragment="mainbody">
+
+
+
+    <aside class="main-sidebar">
+        <section class="sidebar">
+            <div class="user-panel">
+                <div class="pull-left image">
+                    <img src="/static/images/avatar/avatar-admin.jpg" class="img-circle" alt="User Image" />
+                </div>
+                <div class="pull-left info">
+                    <p>Admin</p>
+                    <a href="#">
+                        <i class="fa fa-circle text-success"></i>
+                        Online
+                    </a>
+                </div>
+            </div>
+
+            <!-- Search form -->
+            <form action="#" method="get" class="sidebar-form">
+                <div class="input-group">
+                    <input type="text" name="q" class="form-control" placeholder="Search..." />
+                    <span class="input-group-btn">
+						<button type="submit" name="search" id="search-btn" class="btn btn-flat">
+							<i class="fa fa-search"></i>
+						</button>
+					</span>
+                </div>
+            </form>
+
+            <!-- Sidebar Menu -->
+            <ul class="sidebar-menu tree" data-widget="tree">
+                <li>
+                    <a href="/addPaper">
+                        <i class="glyphicon glyphicon-pencil"></i>
+                        <span>
+                            新建试卷
+                        </span>
+                    </a>
+                </li>
+
+                <li>
+                    <a href="/papers">
+                        <i class="glyphicon glyphicon-tasks"></i>
+                        <span>
+                            试卷列表
+                        </span>
+                    </a>
+                </li>
+                <li>
+                    <a href="/review/jobs">
+                        <i class="glyphicon glyphicon-tasks"></i>
+                        <span>
+                            JOB列表
+                        </span>
+                    </a>
+                </li>
+
+            </ul>
+
+
+        </section>
+    </aside>
+
+
+    <div class="content-wrapper">
+        <!-- Content Header (Page header) -->
+        <section class="content-header">
+            <h1>
+                新建众审任务
+                <small>众包审核</small>
+            </h1>
+            <ol class="breadcrumb">
+                <li><a href="/home"><i class="fa fa-dashboard"></i> 主页</a></li>
+                <li><a href="/addTask">新建试卷</a></li>
+            </ol>
+        </section>
+
+        <!-- Main content -->
+        <section class="content" id="maincontent">
+
+            <div class="box box-primary" >
+                <div class="box-header with-border">
+                    <h3 class="box-title">基本信息</h3>
+               </div>
+
+                <div class="box-body">
+                    <form action="/excelToMongo" class="form-horizontal"  method="post" enctype="multipart/form-data">
+                        <!-- text input -->
+                        <div class="form-group">
+                            <label class="col-sm-2 control-label">名称</label>
+                            <div class="col-sm-10">
+                                <input type="text" class="form-control" name="name" />
+                            </div>
+                        </div>
+
+
+                        <div class="form-group">
+                            <label   class="col-sm-2 control-label">导入Bug文件</label>
+                            <div class="col-sm-10">
+                                <input  type="file"  name="excelFile"/>
+                            </div>
+                        </div>
+                        <input class="btn btn-success pull-right" type="submit" value="提交">
+
+                    </form>
+                </div>
+            </div>
+
+
+
+
+        </section>
+
+    </div>
+
+
+    <div class="modal fade" id="modal-default">
+        <div class="modal-dialog">
+            <div class="modal-content">
+                <div class="modal-header">
+                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+                        <span aria-hidden="true">&times;</span></button>
+                    <h4 class="modal-title">预览</h4>
+                </div>
+                <div class="modal-body" id="modalBody">
+                    <form class="form-horizontal" id="formBody">
+
+                    </form>
+
+                </div>
+                <div class="modal-footer">
+                    <button type="button" class="btn btn-default pull-left" data-dismiss="modal">关闭</button>
+                    <!--                    <button type="button" class="btn btn-primary"></button>-->
+                </div>
+            </div>
+            <!-- /.modal-content -->
+        </div>
+        <!-- /.modal-dialog -->
+    </div>
+    <!-- /.modal -->
+
+    <div class="modal fade" id="modal-alert">
+        <div class="modal-dialog">
+            <div class="modal-content">
+                <div class="modal-header">
+                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+                        <span aria-hidden="true">&times;</span></button>
+                    <h4 class="modal-title">预览</h4>
+                </div>
+                <div class="modal-body" id="modalAlertBody">
+                    <form class="form-horizontal" id="formAlertBody">
+
+                    </form>
+
+                </div>
+                <div class="modal-footer">
+                    <button type="button" class="btn btn-default pull-left" data-dismiss="modal">关闭</button>
+                    <!--                    <button type="button" class="btn btn-primary"></button>-->
+                </div>
+            </div>
+            <!-- /.modal-content -->
+        </div>
+        <!-- /.modal-dialog -->
+    </div>
+    <!-- /.modal -->
+
+
+
+
+    <div class="modal fade" id="modal-reload">
+        <div class="modal-dialog">
+            <div class="modal-content">
+                <div class="modal-header">
+                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+                        <span aria-hidden="true">&times;</span></button>
+                    <h4 class="modal-title">从已有任务加载数据</h4>
+                </div>
+                <div class="modal-body" >
+                    <form class="form-horizontal" >
+                        <div class="form-group">
+                            <label class="col-sm-2 control-label">JobId</label>
+                            <div class="col-sm-10">
+                                <input  onchange="checkNull(event)" class="form-control" id="jobid" placeholder="请输入任务名称"/>
+                            </div>
+                        </div>
+                    </form>
+                </div>
+                <div class="modal-footer">
+                    <button type="button" class="btn btn-default pull-left" data-dismiss="modal">关闭</button>
+                    <button type="button" class="btn btn-primary" onclick="reloadJob()">确认</button>
+                </div>
+            </div>
+            <!-- /.modal-content -->
+        </div>
+        <!-- /.modal-dialog -->
+    </div>
+    <!-- /.modal -->
+</div>
+
+
+</body>
+</html>
+<!-- jQuery 3 -->
+<!--<script src="/static/AdminLTE/bower_components/jquery/dist/jquery.min.js"></script>-->
+<!-- Bootstrap 3.3.7 -->
+<script src="/static/AdminLTE/bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
+<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>
+<!-- InputMask -->
+<script src="/static/AdminLTE/plugins/input-mask/jquery.inputmask.js"></script>
+<script src="/static/AdminLTE/plugins/input-mask/jquery.inputmask.date.extensions.js"></script>
+<script src="/static/AdminLTE/plugins/input-mask/jquery.inputmask.extensions.js"></script>
+<!-- date-range-picker -->
+<script src="/static/AdminLTE/bower_components/moment/min/moment.min.js"></script>
+<script src="/static/AdminLTE/bower_components/bootstrap-daterangepicker/daterangepicker.js"></script>
+<!-- bootstrap datepicker -->
+<script src="/static/AdminLTE/bower_components/bootstrap-datepicker/dist/js/bootstrap-datepicker.min.js"></script>
+<!-- bootstrap time picker -->
+<script src="/static/AdminLTE/plugins/timepicker/bootstrap-timepicker.min.js"></script>
+<!-- SlimScroll -->
+<script src="/static/AdminLTE/bower_components/jquery-slimscroll/jquery.slimscroll.min.js"></script>
+<!-- iCheck 1.0.1 -->
+<script src="/static/AdminLTE/plugins/iCheck/icheck.min.js"></script>
+<!-- FastClick -->
+<script src="/static/AdminLTE/bower_components/fastclick/lib/fastclick.js"></script>
+<!-- AdminLTE App -->
+<!--<script src="/static/AdminLTE/dist/js/adminlte.min.js"></script>-->
+<!-- AdminLTE for demo purposes -->
+<script src="/static/AdminLTE/dist/js/demo.js"></script>
+<!-- add Task js for this file only -->
+<script src="/static/js/add_paper.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">
+    var ruleId ;
+    var ratioIndex;
+    /*<![CDATA[*/
+    var reportHost = [[${reportHost}]]
+    /*]]>*/
+    $(document).ready(function(){
+        $('[data-toggle="tooltip"]').tooltip();
+        //Initialize Select2 Elements
+        $('.select2').select2()
+        ruleId = 0;
+        ratioIndex =0 ;
+        var taskListTable = $('#task-list').DataTable({
+            searching: true,
+            pageLength: 25
+        });
+    });
+
+</script>

+ 8 - 0
src/main/resources/templates/task_list.html

@@ -67,6 +67,14 @@
                         </span>
                     </a>
                 </li>
+                <li>
+                    <a href="/addExcel">
+                        <i class="glyphicon glyphicon-tasks"></i>
+                        <span>
+                            导入Excel项目文件
+                        </span>
+                    </a>
+                </li>
             </ul>
         </section>
     </aside>