addItem2Form.js 4.6 KB

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