floor_add.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270
  1. <!DOCTYPE HTML>
  2. <html xmlns:th="http://www.thymeleaf.org"
  3. xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
  4. layout:decorate="~{admin/common/common}">
  5. <head>
  6. <title>新增楼层信息</title>
  7. </head>
  8. <body layout:fragment="content">
  9. <article class="page-container">
  10. <form class="form form-horizontal" id="form-floor-add">
  11. <div class="row cl">
  12. <label class="form-label col-xs-4 col-sm-2"><span class="c-red">*</span>楼栋:</label>
  13. <div class="formControls col-xs-8 col-sm-9">
  14. <input type="text" class="input-text" maxlength="45" xvalue="" onchange="checkExistBuilding()" th:id="build_number" th:name="build_number"/>
  15. </div>
  16. </div>
  17. <div class="row cl">
  18. <label class="form-label col-xs-4 col-sm-2"><span class="c-red">*</span>厂房属性:</label>
  19. <div class="formControls col-xs-8 col-sm-9">
  20. <span class="select-box">
  21. <input type="hidden" name="navigation_name"/>
  22. <select th:id="plant_nature" required class="select" th:name="plant_nature">
  23. <option value="">--请选择--</option>
  24. <option value="" th:each="item : ${factoryTypeList}" th:value="${item.value}" th:text="${item.name}"></option>
  25. </select>
  26. </span>
  27. </div>
  28. </div>
  29. <div class="row cl">
  30. <label class="form-label col-xs-4 col-sm-2"><span class="c-red"></span>总面积(m²):</label>
  31. <div class="formControls col-xs-8 col-sm-4">
  32. <input placeholder="根据各楼层计算得出" type="text" readonly="readonly" class="input-text readonly" th:id="area" th:name="area"/>
  33. <input type="hidden" th:id="remain_area" th:name="remain_area"/>
  34. </div>
  35. </div>
  36. <div class="row cl">
  37. <label class="form-label col-xs-4 col-sm-2">柱间距(m):</label>
  38. <div class="formControls col-xs-8 col-sm-4">
  39. <input type="text" class="input-text" maxlength="10" isFloat2Fn="true" number="true" min="0" th:id="intercolumniation" th:name="intercolumniation"/>
  40. </div>
  41. <label class="form-label col-xs-4 col-sm-2">货梯总承重(kg):</label>
  42. <div class="formControls col-xs-8 col-sm-4">
  43. <input type="text" class="input-text" maxlength="10" isFloat2Fn="true" number="true" min="0" th:id="lift_load_bearing" th:name="lift_load_bearing"/>
  44. </div>
  45. </div>
  46. <div class="row cl">
  47. <label class="form-label col-xs-4 col-sm-2">卸货平台(个):</label>
  48. <div class="formControls col-xs-8 col-sm-4">
  49. <input type="text" class="input-text" maxlength="10" isGtZero="true" number="true" min="0" th:id="landing_platform_count" th:name="landing_platform_count"/>
  50. </div>
  51. </div>
  52. <div class="row cl">
  53. <div class="formControls col-xs-8 col-sm-12">
  54. <div ><i class="Hui-iconfont" style="cursor: pointer;" onclick="addFloorLine()">&#xe600;</i></div>
  55. <table class="table table-border table-bordered table-bg table-hover">
  56. <thead>
  57. <tr class="text-c">
  58. <th>楼层</th>
  59. <th>面积(平方米)</th>
  60. <th>荷载量(kg/㎡)</th>
  61. <th width="100">操作</th>
  62. </tr>
  63. </thead>
  64. <tbody class="add_floor_line">
  65. <tr class="text-c ">
  66. <td>
  67. <div class="formControls col-sm-12 text-left">
  68. <input type="text" class="input-text floor" maxlength="20" id="floorList[0].floor" th:name="floorList[0].floor" onchange="checkfloorNumber(this)" required/>
  69. </div>
  70. </td>
  71. <td >
  72. <div class="formControls col-sm-12 text-left">
  73. <input type="text" class="input-text area" required maxlength="10" isFloat2Fn="true" number="true" min="0" id="floorList[0].area" th:name="floorList[0].area" onchange="getTotalArea()"/>
  74. </div>
  75. </td>
  76. <td >
  77. <div class="formControls col-sm-12 text-left">
  78. <input type="text" class="input-text capacity" maxlength="10" isFloat2Fn="true" number="true" min="0" id="floorList[0].capacity" th:name="floorList[0].capacity"/>
  79. </div>
  80. </td>
  81. <td class="icon_font"></td>
  82. </tr>
  83. </tbody>
  84. </table>
  85. </div>
  86. </div>
  87. <div class="row cl">
  88. <div class="col-xs-8 col-sm-9 col-xs-offset-4 col-sm-offset-2">
  89. <button class="btn btn-primary radius" type="submit"><i class="Hui-iconfont">&#xe632;</i>保存</button>
  90. <button onClick="removeIframe();" class="btn btn-default radius" type="button">&nbsp;&nbsp;取消&nbsp;&nbsp;</button>
  91. </div>
  92. </div>
  93. </form>
  94. </article>
  95. <script type="text/javascript" th:src="@{/js/build/floor/floor_add.js}"></script>
  96. <script th:inline="javascript">
  97. //记录已存在楼层做判断
  98. var existFloorArr = new Array();
  99. /**
  100. * 取消
  101. */
  102. function removeIframe() {
  103. var index = parent.layer.getFrameIndex(window.name);
  104. parent.layer.close(index);
  105. }
  106. function addFloorLine(buildFloors) {
  107. if(buildFloors){
  108. for(var i=0;i<buildFloors.length;i++){
  109. var length = i;
  110. $(".exist_floor_line tr:eq(0)").clone().insertAfter($('.exist_floor_line>tr').eq(-1))
  111. .find(".floor").val(buildFloors[i].floor).end()
  112. .find(".area").val(buildFloors[i].area).end()
  113. .find(".capacity").val(buildFloors[i].capacity).end()
  114. .find(".icon_font").html(html).end();
  115. $('#layui-layer2').height(48);
  116. }
  117. $(".exist_floor_line tr:eq(0)").remove();
  118. $("#existFloor").show();
  119. }else{
  120. var length = $(".add_floor_line tr").length;
  121. var html = "<i class='Hui-iconfont' onclick='removeLine(this)'>&#xe6a1;</i>";
  122. $(".add_floor_line tr:eq(0)").clone().insertAfter($('.add_floor_line>tr').eq(-1))
  123. .find(".floor").removeAttr("name").attr("name", "floorList[" + length + "].floor").val("").end()
  124. .find(".floor").removeAttr("id").attr("id", "floorList[" + length + "].floor").val("").end()
  125. .find(".area").removeAttr("name").attr("name", "floorList[" + length + "].area").val("").end()
  126. .find(".capacity").removeAttr("name").attr("name", "floorList[" + length + "].capacity").val("").end()
  127. .find(".icon_font").html(html).end();
  128. $('#layui-layer2').height(48);
  129. }
  130. }
  131. function removeLine(obj) {
  132. $(obj).parent().parent().remove();
  133. //重新计算总面积,剩余面积
  134. getTotalArea();
  135. }
  136. function clearExistLines(){
  137. $(".exist_floor_line tr:not(:first)").remove();
  138. $("#area").val("");
  139. $("#remain_area").val("");
  140. $("#pay").val("");
  141. $("#existFloor").hide();
  142. }
  143. function getTotalArea(){
  144. if(!$(".exist_floor_line").is(":hidden")){
  145. var totalArea = 0;
  146. var addArea=0;
  147. $(".add_floor_line").find(".area").each(function(){
  148. totalArea += parseFloat($(this).val()==""?0:$(this).val());
  149. addArea+=parseFloat($(this).val()==""?0:$(this).val());
  150. });
  151. $(".exist_floor_line").find(".area").each(function(){
  152. totalArea += parseFloat($(this).val()==""?0:$(this).val());
  153. });
  154. $("#area").val(totalArea);
  155. var remainArea = parseFloat($("#remain_area").val()==""?0:$("#remain_area").val());
  156. remainArea += parseFloat(addArea);
  157. $("#remain_area").val(remainArea);
  158. }else{
  159. var totalArea = 0;
  160. var addArea=0;
  161. $(".add_floor_line").find(".area").each(function(){
  162. totalArea += parseFloat($(this).val()==""?0:$(this).val());
  163. addArea+=parseFloat($(this).val()==""?0:$(this).val());
  164. });
  165. $("#area").val(totalArea);
  166. $("#remain_area").val(totalArea);
  167. }
  168. }
  169. function getAveragePay(){
  170. var totalPay = 0;
  171. var totalArea = 0;
  172. var length = 0;
  173. $(".add_floor_line").find(".pay").each(function(){
  174. var floorPay = $(this).val()==""?0:$(this).val();
  175. totalPay += parseFloat(floorPay);
  176. length ++;
  177. });
  178. if(!$(".exist_floor_line").is(":hidden")){
  179. $(".exist_floor_line").find(".pay").each(function(){
  180. var floorPay = $(this).val()==""?0:$(this).val();
  181. totalPay += parseFloat(floorPay);
  182. length ++;
  183. });
  184. }
  185. $("#pay").val(parseFloat(totalPay/length).toFixed(2));
  186. }
  187. function checkExistBuilding(obj){
  188. var build_number = $("#build_number").val();
  189. var floor = $(obj).val();
  190. $.ajax({
  191. type: 'post',
  192. url: pagePath+"/build/floor/findExistBuild",
  193. dataType: "json",
  194. data: {
  195. build_number: function () {
  196. return $("#build_number").val();
  197. }
  198. },
  199. success: function (result) {
  200. if (result.success) {
  201. if(result.obj){
  202. /* var building = result.obj.building;
  203. if (building){
  204. //先删除第一次带出的数据再添加,第一行留着clone
  205. clearExistLines();
  206. //先删除第一次带出的数据再添加
  207. $("#building_id").val(building.id);
  208. $("#area").val(building.area);
  209. $("#remain_area").val(building.remain_area);
  210. existFloorArr = result.obj.floorArr;
  211. addFloorLine(building.floorList);
  212. getAveragePay();
  213. } */
  214. }else{
  215. /* //删除第一次带出的数据
  216. clearExistLines(); */
  217. }
  218. } else {
  219. //楼栋已存在
  220. errorMessage(result.message);
  221. $("#build_number").val("");
  222. }
  223. },
  224. error: function () {
  225. errorMessage('系统错误!');
  226. }
  227. });
  228. }
  229. function checkfloorNumber(obj){
  230. if(existFloorArr){
  231. if($.inArray($(obj).val(),existFloorArr)!=-1){
  232. errorMessage("该楼层已存在");
  233. $(obj).val("");
  234. }
  235. }
  236. var index = $(".add_floor_line tr").index($(obj).parents("tr"));
  237. $(".add_floor_line tr:not(:eq("+index+"))").find(".floor").each(function(i,item){
  238. if($(this).val()!="" && $(obj).val()==$(this).val()){
  239. errorMessage("不能添加重复楼层");
  240. $(obj).val("");
  241. }
  242. });
  243. }
  244. </script>
  245. </body>
  246. </html>