addItem2Form.js 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <script type="text/javascript">
  3. var arrayFile=[];
  4. layui.use('upload', function(){
  5. var $ = layui.jquery
  6. ,upload = layui.upload;
  7. //多文件列表示例
  8. var tbodyListView = $('#tbody_List')
  9. ,uploadListIns = upload.render({
  10. elem: '#add_List'
  11. ,accept: 'file'
  12. ,exts:'xls|xlsx'
  13. ,multiple: true
  14. ,auto: false
  15. ,choose: function(obj){
  16. // var files = this.files = obj.pushFile(); //将每次选择的文件追加到文件队列
  17. //读取本地文件
  18. obj.preview(function(index, file, result){
  19. arrayFile.push(index);
  20. arrayFile.push(file);
  21. var tr = $(['<tr id='+index+'>'
  22. ,'<td hidden><div class="td_id">'+index+'</div></td>'
  23. ,'<td>'+ file.name +'</td>'
  24. ,'<td><div contenteditable="true" class="mydiv1" placeholder="请输入项目名称">'+file.name.split(".")[0]+'</div></td>'
  25. ,'<td>'
  26. ,' <select name="type" class="myselect"><option value="">请选择项目类型</option><option value="1">架空线路工程</option><option value="2">电缆工程</option><option value="3">变电站工程</option></select>'
  27. ,'<td style="text-align: center">'
  28. ,'<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button>'
  29. ,'</td>'
  30. ,'</tr>'].join(''));
  31. //删除
  32. tr.find('.demo-delete').on('click', function(){
  33. // delete files[index]; //删除对应的文件
  34. tr.remove();
  35. uploadListIns.config.elem.next()[0].value = '';
  36. });
  37. tbodyListView.append(tr);
  38. });
  39. }
  40. });
  41. });
  42. function okSubmit() {
  43. //获取表单对象
  44. var formdata = new FormData();
  45. var inputval = $("#myinput").val();
  46. if(inputval==null||inputval==""){
  47. layer.msg("请输入工程名称",{icon: 3});
  48. return false;
  49. }
  50. formdata.append("projectName",inputval);
  51. //获取输入的项目名称
  52. var div1 = document.getElementsByClassName("mydiv1");
  53. var divvalue=[];
  54. for (var i = 0; i < div1.length; i++) {
  55. divvalue[i]=div1[i].innerHTML;
  56. }
  57. if (divvalue.length<=0){
  58. layer.msg("请输入项目名称",{icon: 3});
  59. return false;
  60. }
  61. var div_val = divvalue.sort();
  62. for (var i = 0; i < divvalue.length; i++) {
  63. if (divvalue[i]=="请输入项目名称"){
  64. layer.msg("请输入项目名称",{icon: 3});
  65. throw SyntaxError;
  66. }
  67. if(div_val[i]==divvalue[i+1]){
  68. layer.msg("项目名称不能重复",{icon: 5});
  69. throw SyntaxError;
  70. }
  71. }
  72. formdata.append("itemNames",divvalue);
  73. // 获取表格项目类型
  74. var select1=document.getElementsByClassName("myselect");
  75. var selectval=[];
  76. for (var i = 0; i < select1.length; i++) {
  77. selectval[i]=select1[i].value;
  78. }
  79. if (selectval.length<=0){
  80. layer.msg("请输入项目名称",{icon: 3});
  81. return false;
  82. }
  83. for (var i = 0; i < selectval.length; i++) {
  84. if (selectval[i]==""||selectval[i]==null){
  85. layer.msg("请选择项目类型",{icon: 3});
  86. throw SyntaxError;
  87. }
  88. }
  89. formdata.append("itemTypes",selectval);
  90. // 获取表格id的值
  91. var td_id=document.getElementsByClassName("td_id");
  92. var array_id = [];
  93. for (var i = 0; i < td_id.length; i++) {
  94. array_id[i]=td_id[i].innerHTML;
  95. }
  96. for (var i = 0; i < array_id.length; i++) {
  97. for (var j = 0; j < arrayFile.length; j++) {
  98. if (array_id[i]==arrayFile[j]){
  99. formdata.append("file",arrayFile[j+1]);
  100. }
  101. }
  102. }
  103. //加载提示
  104. layer.msg('加载中', {
  105. icon: 16
  106. ,shade: 0.01
  107. });
  108. $.ajax({
  109. url: "${ctx}/project/tem/import",
  110. type: "POST",
  111. data: formdata,
  112. traditional: true,
  113. cache: false, // 不缓存数据
  114. processData: false, // 不处理数据
  115. contentType: false, // 不设置内容类型
  116. success:function (data) {
  117. if(data.code == 1){
  118. layer.msg(data.msg,{icon: 6});
  119. this.formdata=new FormData();
  120. window.location.href="${ctx}/project/tem/list?projectId="+data.id;
  121. }else {
  122. this.formdata=new FormData();
  123. layer.msg(data.msg,{icon: 5});
  124. }
  125. }
  126. });
  127. }
  128. </script>