derive.html 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Layui</title>
  6. <meta name="renderer" content="webkit">
  7. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  8. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  9. <link rel="stylesheet" href="../../../assets/libs/layui/css/layui.css"/>
  10. <!-- 注意:如果你直接复制所有代码到本地,上述css路径需要改成你本地的 -->
  11. </head>
  12. <style>
  13. .derive .layui-form {
  14. width: 1100px;
  15. }
  16. .derive .layui-table-box {
  17. width: 100%;
  18. }
  19. .derive .layui-table-body {
  20. overflow: hidden;
  21. overflow-y: scroll;
  22. height: 300px;
  23. }
  24. .derive .layui-layer-title {
  25. background: #F8F8F8;
  26. }
  27. .sub {
  28. float: right;
  29. background: #0f74a8;
  30. color: #fff;
  31. padding: 11px 60px;
  32. margin-right: 100px;
  33. }
  34. </style>
  35. <body>
  36. <div class="derive">
  37. <ul class="layui-nav layui-tab" lay-filter="test">
  38. <li class="layui-nav-item"><a num="1" href="#">设备设施库</a></li>
  39. <li class="layui-nav-item"><a num="2" href="#">作业活动库</a></li>
  40. <li class="layui-nav-item"><a num="3" href="#">作业环境库</a></li>
  41. <li class="layui-nav-item"><a num="4" href="#">设施场所库</a></li>
  42. <li class="layui-nav-item"><a num="5" href="#">其他</a></li>
  43. </ul>
  44. <table class="layui-hide" id="test" lay-filter="tablebtn"></table>
  45. <p class="sub">提交</p>
  46. </div>
  47. <script type="text/javascript" src="../../../assets/libs/jquery/jquery-3.2.1.min.js"></script>
  48. <script type="text/javascript" src="../../../assets/libs/layui/layui.js"></script>
  49. <script type="text/javascript" src="../../../assets/js/common.js?v=312"></script>
  50. <!-- 注意:如果你直接复制所有代码到本地,上述js路径需要改成你本地的 -->
  51. <script>
  52. Array.prototype.indexOf = function (val) {
  53. for (var i = 0; i < this.length; i++) {
  54. if (this[i] == val) return i;
  55. }
  56. return -1;
  57. };
  58. //在 Array 原型中植入 remove 方法 remove 中调用 indexOf 判断 str 是否存在 arr 中,有则拿到 index
  59. Array.prototype.remove = function (val) {
  60. var index = this.indexOf(val);
  61. if (index > -1) {
  62. this.splice(index, 1);
  63. }
  64. };
  65. let arr = [];
  66. layui.use(['layer', 'form', 'table', 'util', 'admin', 'zTree', 'uParas', 'upload', 'treetable', 'element', '_zTree', 'formSelects'], function () {
  67. var $ = layui.jquery;
  68. let admin = layui.admin;
  69. let uParas = layui.uParas;
  70. let table = layui.table;
  71. let layer = layui.layer;
  72. var element = layui.element; //导航的hover效果、二级菜单等功能,需要依赖element模块
  73. let data = [];
  74. let num = 1;
  75. var checkUrl = uParas.baseUrl + '/gent/ds/findParentList';
  76. /**
  77. * @Author: NanKeYang
  78. * @Description: 监听导航点击,修改bug
  79. * @Data: 2020/1/14 18:02
  80. */
  81. element.on('nav(test)', function () {
  82. var num = this.getAttribute('num')
  83. // getDataFn(num);
  84. insTb.reload({where: {
  85. limit: 1000,
  86. riskPointType: num
  87. }}, 'data');
  88. });
  89. /**
  90. * @Author: NanKeYang
  91. * @Description: 表格渲染
  92. * @Data: 2020/1/14 18:03
  93. */
  94. var insTb = table.render({
  95. url: checkUrl,
  96. where: {
  97. limit: 1000,
  98. riskPointType: num
  99. },
  100. elem: '#test',
  101. // cellMinWidth: 100,
  102. // page: true,
  103. // toolbar: true,
  104. cols: [[
  105. {type: 'checkbox'}
  106. , {field: 'dangerSrcName', width: 800, title: '名称'}
  107. , {
  108. field: 'roleDesc', align: 'center', sort: false, title: '检查表', width: 300, templet: function (d) {
  109. return '<a href="#" lay-event="details" class="layui-btn layui-btn-xs layui-btn-normal" ><i class="layui-icon">&#xe60a;</i> 查看</a>';
  110. }
  111. }
  112. ]]
  113. });
  114. table.on('checkbox(tablebtn)', function (obj) {
  115. if (obj.type == 'all') {
  116. if (obj.checked) {
  117. data.forEach((item) => {
  118. arr.remove(item.dangerSrcId);
  119. })
  120. data.forEach((item) => {
  121. arr.push(item.dangerSrcId)
  122. })
  123. } else {
  124. data.forEach((item) => {
  125. arr.remove(item.dangerSrcId);
  126. })
  127. }
  128. } else {
  129. if (obj.checked) {
  130. arr.remove(obj.data.dangerSrcId);
  131. arr.push(obj.data.dangerSrcId);
  132. } else {
  133. arr.remove(obj.data.dangerSrcId);
  134. }
  135. }
  136. });
  137. table.on('tool(tablebtn)', function (obj) {
  138. var layEvent = obj.event;
  139. if (layEvent == 'details') {
  140. let href = '';
  141. if (obj.data.parentDangerSrcId == -1) {
  142. href = "./viewRisk_shuili.html?riskPointType=" + num + "&tab=index&dangerSrcId=" + obj.data.dangerSrcId + "&vtype=nd&cId=" + obj.data.cId;
  143. } else {
  144. href = "./viewRisk_shuili.html?riskPointType=" + num + "&tab=index&dangerSrcId=" + obj.data.dangerSrcId + "&vtype=pd&cId=" + obj.data.cId;
  145. }
  146. admin.open({
  147. title: '检查表',
  148. type: 2,
  149. content: href,
  150. area: ['800px', '420px'],
  151. success: function (layerObj, index) {
  152. layer.setTop(layerObj);
  153. },
  154. end: function () {
  155. }
  156. });
  157. }
  158. });
  159. let t = true;
  160. $('.sub').click(function () {
  161. if (t == false) {
  162. return;
  163. }
  164. t = false;
  165. setTimeout(function () {
  166. t = true;
  167. }, 10000);
  168. var checkUrl = uParas.baseUrl + '/gent/ds/saveDsByParentCompany';
  169. admin.req(checkUrl, {
  170. ids: arr.join(','),
  171. }, function (resp) {
  172. t = true;
  173. if (resp.code == 1) {
  174. var index = parent.layer.getFrameIndex(window.name);
  175. parent.layer.close(index);
  176. window.parent.location.reload();
  177. } else {
  178. layer.msg(resp.msg);
  179. }
  180. }, 'post');
  181. })
  182. })
  183. </script>
  184. </body>
  185. </html>