|
@@ -0,0 +1,179 @@
|
|
|
+<!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" 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"/>
|
|
|
+</head>
|
|
|
+<body>
|
|
|
+<th:block layout:fragment="sidebar">
|
|
|
+ <li th:replace="/home::mainSidebar">
|
|
|
+</th:block>
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+<th:block layout:fragment="maincontent">
|
|
|
+ <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="/importTask">导入众测任务</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>
|
|
|
+ <button class="btn btn-success pull-right" onclick="importTask()">
|
|
|
+ 导入
|
|
|
+ </button>
|
|
|
+ </div>
|
|
|
+ <!-- /.box-header -->
|
|
|
+ <div class="box-body">
|
|
|
+ <form class="form-horizontal">
|
|
|
+ <!-- text input -->
|
|
|
+ <div class="form-group">
|
|
|
+ <label class="col-sm-2 control-label">单位序列号</label>
|
|
|
+ <div class="col-sm-4">
|
|
|
+ <input onchange="checkNull(event)" class="form-control" id="number" placeholder="请输入单位名称"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <!-- text input -->
|
|
|
+ <div class="form-group">
|
|
|
+ <label class="col-sm-2 control-label">原始任务id</label>
|
|
|
+ <div class="col-sm-4">
|
|
|
+ <input onchange="checkNull(event)" class="form-control" id="originId" placeholder="请输入原始任务id"/>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+
|
|
|
+ <div class="form-group">
|
|
|
+ <label for="zipFile" class="col-sm-2 control-label">导入zip文件</label>
|
|
|
+ <div class="col-sm-10">
|
|
|
+ <input type="file" id="zipFile"/>
|
|
|
+ <!-- <p class="help-block">Example block-level help text here.</p>-->
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="form-group">
|
|
|
+ <label for="jsonFile" class="col-sm-2 control-label">导入json文件</label>
|
|
|
+ <div class="col-sm-10">
|
|
|
+ <input type="file" id="jsonFile"/>
|
|
|
+ <!-- <p class="help-block">Example block-level help text here.</p>-->
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+
|
|
|
+ </form>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </section>
|
|
|
+
|
|
|
+</th:block>
|
|
|
+</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>
|
|
|
+
|
|
|
+<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 type="text/javascript">
|
|
|
+ $(document).ready(function(){
|
|
|
+ $('#crowdSidebar').addClass('active');
|
|
|
+ $('#crowdSidebarMenu-importTask').addClass('active');
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ importTask = function(){
|
|
|
+ //type = 0 表示添加
|
|
|
+ // type = 1 表示修改
|
|
|
+ // 遍历页面上的数据,生成json数据。
|
|
|
+ var data = new FormData();
|
|
|
+ data.append('number',$('#number').val());
|
|
|
+ data.append('originId',$('#originId').val());
|
|
|
+ data.append("zipFile",document.getElementById('zipFile').files[0])
|
|
|
+ data.append("jsonFile",document.getElementById('jsonFile').files[0])
|
|
|
+ $.ajax({
|
|
|
+ url: '/importTask',
|
|
|
+ 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'
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+</script>
|