addItem2Form.jsp 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <%@ include file="/webpage/include/taglib.jsp"%>
  3. <link rel="stylesheet" href="${ctxp}/static/plugin/assets/layui/css/layui.css">
  4. <link rel="stylesheet" href="${ctxp}/static/plugin/assets/common.css"/>
  5. <link rel="stylesheet" href="${ctxp}/static/plugin/assets/vermeit.css">
  6. <script type="text/javascript" src="${ctxp}/static/plugin/assets/jquery-3.2.1.min.js"></script>
  7. <script src="${ctxp}/static/plugin/assets/layui/layui.js"></script>
  8. <html>
  9. <head>
  10. <title>添加工程</title>
  11. <style>
  12. .layui-input{
  13. height: 28px;
  14. margin-top: 6px;
  15. }
  16. .layui-table-view .layui-table {width:100%}
  17. .myselect{
  18. border: none;
  19. padding: 5px 7px;
  20. min-height: 20px;
  21. color: #666666;
  22. }
  23. .mydiv1{
  24. padding: 5px 7px;
  25. min-height: 20px;
  26. border: whitesmoke;
  27. }
  28. .layui-btn-mysele{
  29. width: 70px;
  30. }
  31. .mydiv1:empty:before{
  32. content: attr(placeholder);
  33. color:#999999;
  34. }
  35. .mydiv1:focus:before{content:none}
  36. </style>
  37. </head>
  38. <body>
  39. <div style="padding: 10px; background-color: #F2F2F2;">
  40. <div class="layui-main-bgc">
  41. <%--<sys:message content="${message}"/>--%>
  42. <div class="layui-row layui-col-space15">
  43. <div class="layui-col-md12">
  44. <div class="layui-card">
  45. <div class="layui-card-header layui-card-header-add">工程管理</div>
  46. <div class="layui-card-body" style="margin-top: 2px;">
  47. <fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px;">
  48. <legend style="font-size: 15px;">添加工程</legend>
  49. </fieldset>
  50. <div class="layui-form-item">
  51. <div class="layui-inline">
  52. <label class="layui-form-label" >*工程名称</label>
  53. <div class="layui-input-inline">
  54. <input type="text" id="myinput" autocomplete="off" placeholder="" class="layui-input">
  55. </div>
  56. </div>
  57. </div>
  58. <fieldset class="layui-elem-field layui-field-title" style="margin-top: 20px;">
  59. <legend style="font-size: 15px;">添加项目</legend>
  60. </fieldset>
  61. <div class="layui-upload">
  62. <button type="button" class="layui-btn layui-btn-normal" id="testList">添加文件</button>
  63. <div class="layui-upload-list">
  64. <table class="layui-table" id="mytable">
  65. <thead>
  66. <tr>
  67. <th width="35%">文件名</th>
  68. <th width="20%">项目名称</th>
  69. <th width="20%">项目类型</th>
  70. <th width="15%" style="text-align: center">操作</th>
  71. </tr></thead>
  72. <tbody id="demoList">
  73. </tbody>
  74. </table>
  75. </div>
  76. <div style="margin-top: 20px">
  77. <button id="mybtn" type="button" class="layui-btn layui-btn-mysele" onclick="okSubmit()">确定</button>
  78. </div>
  79. </div>
  80. </div>
  81. </div>
  82. </div>
  83. </div>
  84. </body>
  85. <script>
  86. var arrayFile=[];
  87. layui.use('upload', function(){
  88. var $ = layui.jquery
  89. ,upload = layui.upload;
  90. //多文件列表示例
  91. var demoListView = $('#demoList')
  92. ,uploadListIns = upload.render({
  93. elem: '#testList'
  94. // ,url: '/upload/'
  95. ,accept: 'file'
  96. ,exts:'xls|xlsx'
  97. ,multiple: true
  98. ,auto: false
  99. // ,bindAction: '#testListAction'
  100. ,choose: function(obj){
  101. var files = this.files = obj.pushFile(); //将每次选择的文件追加到文件队列
  102. //读取本地文件
  103. obj.preview(function(index, file, result){
  104. arrayFile.push(index);
  105. arrayFile.push(file);
  106. var tr = $(['<tr id='+index+'>'
  107. ,'<td hidden><div class="td_id">'+index+'</div></td>'
  108. ,'<td>'+ file.name +'</td>'
  109. ,'<td><div contenteditable="true" class="mydiv1" placeholder="请输入项目名称"></div></td>'
  110. ,'<td>'
  111. ,' <select name="type" class="myselect"><option value="">请选择项目类型</option><option value="1">架空线路工程</option><option value="2">电缆工程</option></select>'
  112. ,'<td style="text-align: center">'
  113. ,'<button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button>'
  114. ,'</td>'
  115. ,'</tr>'].join(''));
  116. //删除
  117. tr.find('.demo-delete').on('click', function(){
  118. delete files[index]; //删除对应的文件
  119. tr.remove();
  120. uploadListIns.config.elem.next()[0].value = '';
  121. });
  122. demoListView.append(tr);
  123. });
  124. }
  125. });
  126. });
  127. function okSubmit() {
  128. //获取表单对象
  129. var formdata = new FormData();
  130. var inputval = $("#myinput").val();
  131. if(inputval==null||inputval==""){
  132. layer.msg("请输入工程名称",{icon: 3});
  133. return false;
  134. }
  135. formdata.append("projectName",inputval);
  136. //获取输入的项目名称
  137. var div1 = document.getElementsByClassName("mydiv1");
  138. var divvalue=[];
  139. for (var i = 0; i < div1.length; i++) {
  140. divvalue[i]=div1[i].innerHTML;
  141. }
  142. if (divvalue.length<=0){
  143. layer.msg("请输入项目名称",{icon: 3});
  144. return false;
  145. }
  146. for (var i = 0; i < divvalue.length; i++) {
  147. if (divvalue[i]=="请输入项目名称"){
  148. layer.msg("请输入项目名称",{icon: 3});
  149. throw SyntaxError;
  150. }
  151. }
  152. formdata.append("itemNames",divvalue);
  153. // 获取表格项目类型
  154. var select1=document.getElementsByClassName("myselect");
  155. var selectval=[];
  156. for (var i = 0; i < select1.length; i++) {
  157. selectval[i]=select1[i].value;
  158. }
  159. if (selectval.length<=0){
  160. layer.msg("请输入项目名称",{icon: 3});
  161. return false;
  162. }
  163. for (var i = 0; i < selectval.length; i++) {
  164. if (selectval[i]==""||selectval[i]==null){
  165. layer.msg("请选择项目类型",{icon: 3});
  166. throw SyntaxError;
  167. }
  168. }
  169. formdata.append("itemTypes",selectval);
  170. // 获取表格id的值
  171. var td_id=document.getElementsByClassName("td_id");
  172. var array_id = [];
  173. for (var i = 0; i < td_id.length; i++) {
  174. array_id[i]=td_id[i].innerHTML;
  175. }
  176. for (var i = 0; i < array_id.length; i++) {
  177. for (var j = 0; j < arrayFile.length; j++) {
  178. if (array_id[i]==arrayFile[j]){
  179. formdata.append("file",arrayFile[j+1]);
  180. }
  181. }
  182. }
  183. //加载提示
  184. layer.msg('加载中', {
  185. icon: 16
  186. ,shade: 0.01
  187. });
  188. $.ajax({
  189. url: "${ctx}/project/tem/import",
  190. type: "POST",
  191. data: formdata,
  192. traditional: true,
  193. cache: false, // 不缓存数据
  194. processData: false, // 不处理数据
  195. contentType: false, // 不设置内容类型
  196. success:function (data) {
  197. if(data.code == 1){
  198. layer.msg(data.msg,{icon: 6});
  199. window.location.href="${ctx}/project/tem/list?projectId="+data.id;
  200. }else {
  201. layer.msg(data.msg,{icon: 5});
  202. }
  203. }
  204. });
  205. }
  206. </script>
  207. </html>