xs vor 5 Jahren
Ursprung
Commit
d777c27d39

+ 1 - 1
src/main/java/com/jeeplus/modules/sg/project/web/ProjectController.java

@@ -86,7 +86,7 @@ public class ProjectController extends BaseController {
      *数据导入
      */
     @RequestMapping("/import")
-    public String importFile(MultipartFile file, RedirectAttributes redirectAttributes, HttpServletRequest request, Model model)throws Exception {
+    public String importFile(MultipartFile file, RedirectAttributes redirectAttributes, HttpServletRequest request, Model model) {
         String projectName = request.getParameter("name");     //项目名称
         String projectId = request.getParameter("projectId");    //工程ID
         String type = request.getParameter("type");     //工程类型

+ 17 - 12
src/main/java/com/jeeplus/modules/sg/project/web/ProjectTemController.java

@@ -61,16 +61,17 @@ public class ProjectTemController extends BaseController {
     /**
      *数据导入
      */
+    @ResponseBody
     @RequestMapping("/import")
-    public String importFile(@RequestParam(value = "file")MultipartFile[] file,String projectName,String[] itemNames,String[] itemTypes,Model model,
-                             RedirectAttributes redirectAttributes) throws IOException, InvalidFormatException {
+    public HashMap importFile(@RequestParam(value = "file")MultipartFile[] file,String projectName,String[] itemNames,String[] itemTypes)  {
         WbsProject wbsProject = new WbsProject();
         wbsProject.setProjectName(projectName);
         projectService.save(wbsProject);
         List<WbsProject> wbsProjects = projectService.findByName(projectName);
         WbsProject wbsProject1 = wbsProjects.get(0);
         String projectId = wbsProject1.getId();
-//        try {
+        HashMap map = new HashMap();
+        try {
             for(int i = 0;i<itemTypes.length;i++) {
 //            保存数据到数据库
                 if (itemTypes[i].equals("1")) {
@@ -82,15 +83,19 @@ public class ProjectTemController extends BaseController {
                     overheadLineService.saveDl(file[i], itemNames[i], id, projectId, itemTypes[i]);
                 }
             }
-//        } catch (RuntimeException e) {
-//            addMessage(redirectAttributes, "导入失败,"+e.getMessage());
-//            return "redirect:/a/project/tem/index";
-//        }   catch (Exception e){
-//            addMessage(redirectAttributes, "导入失败");
-//            return "redirect:/a/project/tem/index";
-//        }
-        addMessage(redirectAttributes, "导入成功");
-        return "redirect:/a/project/tem/list?projectId="+projectId;
+        } catch (RuntimeException e) {
+            map.put("code",0);
+            map.put("msg","导入失败"+e.getMessage());
+            return map;
+        }   catch (Exception e){
+            map.put("code",0);
+            map.put("msg","导入失败");
+            return map;
+        }
+        map.put("code",1);
+        map.put("msg","导入成功");
+        map.put("id",projectId);
+        return map;
     }
 
 

+ 109 - 31
src/main/webapp/webpage/modules/sg/project/addItem2Form.jsp

@@ -83,12 +83,12 @@
                                 <legend style="font-size: 15px;">选择项目</legend>
                             </fieldset>
                             <div class="layui-upload">
-                                <button type="button" class="layui-btn layui-btn-normal" onclick="add()">添加文件</button>
+                                <button type="button" class="layui-btn layui-btn-normal" id="testList">添加文件</button>
                                 <div class="layui-upload-list">
-                                    <form id="myform" action="${ctx}/project/tem/import" method="post" enctype="multipart/form-data">
-                                        <input type="text" name="projectName" value="" style="display: none" id="id1">
-                                        <input type="text" name="itemNames" value="" style="display: none" id="id2">
-                                        <input type="text" name="itemTypes" value="" style="display: none" id="id3">
+                                    <%--<form id="myform" action="${ctx}/project/tem/import" method="post" enctype="multipart/form-data">--%>
+                                        <%--<input type="text" name="projectName" value="" style="display: none" id="id1">--%>
+                                        <%--<input type="text" name="itemNames" value="" style="display: none" id="id2">--%>
+                                        <%--<input type="text" name="itemTypes" value="" style="display: none" id="id3">--%>
                                         <table class="layui-table" id="mytable">
                                         <thead>
                                         <tr>
@@ -102,55 +102,133 @@
                                         </tbody>
                                     </table>
                                         <button type="button" class="layui-btn" onclick="okSubmit()">确定</button>
-                                    </form>
+                                    <%--</form>--%>
                                 </div>
-
                             </div>
-
-
-
                 </div>
             </div>
         </div>
     </div>
 
 </body>
+<%--<script>--%>
+    <%--function add() {--%>
+        <%--var tr = $(['<tr>'--%>
+            <%--,'<td><input type="file" name="file"></td>'--%>
+            <%--,'<td><div contenteditable="true" class="mydiv1">请输入项目名称</div></td>'--%>
+            <%--,'<td>'--%>
+            <%--,' <select name="type" class="myselect"><option value="">请选择项目类型(必选)</option><option value="1">架空线路工程</option><option value="2">电缆工程</option></select>'--%>
+            <%--,'</td>'--%>
+            <%--,'<td>'--%>
+            <%--,'<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button>'--%>
+            <%--,'</td>'--%>
+            <%--,'</tr>'].join(''));--%>
+        <%--$("#demoList").append(tr);--%>
+    <%--}--%>
+<%--</script>--%>
+
 <script>
-    function add() {
-        var tr = $(['<tr>'
-            ,'<td><input type="file" name="file"></td>'
-            ,'<td><div contenteditable="true" class="mydiv1">请输入项目名称</div></td>'
-            ,'<td>'
-            ,' <select name="type" class="myselect"><option value="">请选择项目类型(必选)</option><option value="1">架空线路工程</option><option value="2">电缆工程</option></select>'
-            ,'</td>'
-            ,'<td>'
-            ,'<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete" onclick="delete()">删除</button>'
-            ,'</td>'
-            ,'</tr>'].join(''));
-        $("#demoList").append(tr);
-    }
-</script>
-<script>
+    var formdata = new FormData();
+    layui.use('upload', function(){
+        var $ = layui.jquery
+            ,upload = layui.upload;
+        //多文件列表示例
+        var demoListView = $('#demoList')
+            ,uploadListIns = upload.render({
+            elem: '#testList'
+            // ,url: '/upload/'
+            ,accept: 'file'
+            ,multiple: true
+            ,auto: false
+            // ,bindAction: '#testListAction'
+            ,choose: function(obj){
+                var files = this.files = obj.pushFile(); //将每次选择的文件追加到文件队列
+                //读取本地文件
+                obj.preview(function(index, file, result){
+                    formdata.append("file",file);
+                    var tr = $(['<tr id="upload-'+ index +'">'
+                        ,'<td>'+ file.name +'</td>'
+                        ,'<td><div contenteditable="true" class="mydiv1">请输入项目名称</div></td>'
+                        ,'<td>'
+                        ,' <select name="type" class="myselect"><option value="">请选择项目类型(必选)</option><option value="1">架空线路工程</option><option value="2">电缆工程</option></select>'
+                        ,'<td>'
+                        // ,'<button class="layui-btn layui-btn-xs demo-reload layui-hide">重传</button>'
+                        ,'<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button>'
+                        ,'</td>'
+                        ,'</tr>'].join(''));
+
+                    //单个重传
+                    tr.find('.demo-reload').on('click', function(){
+                        obj.upload(index, file);
+                    });
+
+                    //删除
+                    tr.find('.demo-delete').on('click', function(){
+                        delete files[index]; //删除对应的文件
+                        tr.remove();
+                        uploadListIns.config.elem.next()[0].value = ''; //清空 input file 值,以免删除后出现同名文件不可选
+                    });
+
+                    demoListView.append(tr);
+                });
+            }
+            ,done: function(res, index, upload){
+                if(res.code == 0){ //上传成功
+                    var tr = demoListView.find('tr#upload-'+ index)
+                        ,tds = tr.children();
+                    tds.eq(2).html('<span style="color: #5FB878;">上传成功</span>');
+                    tds.eq(3).html(''); //清空操作
+                    return delete this.files[index]; //删除文件队列已经上传成功的文件
+                }
+                this.error(index, upload);
+            }
+            ,error: function(index, upload){
+                var tr = demoListView.find('tr#upload-'+ index)
+                    ,tds = tr.children();
+                tds.eq(2).html('<span style="color: #FF5722;">上传失败</span>');
+                tds.eq(3).find('.demo-reload').removeClass('layui-hide'); //显示重传
+            }
+        });
+    });
     function okSubmit() {
         var inputval = $("#myinput").val();
-        $("#id1").val(inputval);
+        // $("#id1").val(inputval);
+        formdata.append("projectName",inputval);
 
         var div1 =  document.getElementsByClassName("mydiv1");
         var divvalue=[];
         for (var i = 0; i < div1.length; i++) {
             divvalue[i]=div1[i].innerHTML;
         }
-        var dJson = JSON.stringify(divvalue);
-        $("#id2").val(divvalue);
+        formdata.append("itemNames",divvalue);
+        // $("#id2").val(divvalue);
 
         var select1=document.getElementsByClassName("myselect");
         var selectval=[];
         for (var i = 0; i < select1.length; i++) {
             selectval[i]=select1[i].value;
         }
-        var selectJson = JSON.stringify(selectval);
-        $("#id3").val(selectval);
-        $("#myform").submit();
+        // var selectJson = JSON.stringify(selectval);
+        // $("#id3").val(selectval);
+        formdata.append("itemTypes",selectval);
+
+        $.ajax({
+            url: "${ctx}/project/tem/import",
+            type: "POST",
+            data: formdata,
+            traditional: true,
+            cache: false,        // 不缓存数据
+            processData: false,  // 不处理数据
+            contentType: false,   // 不设置内容类型
+        success:function (data) {
+                if(data.code == 1){
+                    layer.msg(data.msg);
+                    window.location.href="${ctx}/project/tem/list?projectId="+data.id;
+                }else {
+                    lay.msg(data.msg);
+                }
+        }
+    });
     }
 </script>
 </html>