derive.html 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225
  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({
  85. where: {
  86. limit: 1000,
  87. riskPointType: num
  88. }
  89. }, 'data');
  90. });
  91. /**
  92. * @Author: NanKeYang
  93. * @Description: 表格渲染
  94. * @Data: 2020/1/14 18:03
  95. */
  96. var insTb = table.render({
  97. url: checkUrl,
  98. where: {
  99. limit: 1000,
  100. riskPointType: num
  101. },
  102. elem: '#test',
  103. // cellMinWidth: 100,
  104. // page: true,
  105. // toolbar: true,
  106. cols: [[
  107. {type: 'checkbox'}
  108. , {field: 'dangerSrcName', width: 800, title: '名称'}
  109. , {
  110. field: 'roleDesc', align: 'center', sort: false, title: '检查表', width: 300, templet: function (d) {
  111. return '<a href="#" lay-event="details" class="layui-btn layui-btn-xs layui-btn-normal" ><i class="layui-icon">&#xe60a;</i> 查看</a>';
  112. }
  113. }
  114. ]]
  115. });
  116. table.on('checkbox(tablebtn)', function (obj) {
  117. if (obj.type == 'all') {
  118. if (obj.checked) {
  119. data.forEach((item) => {
  120. arr.remove(item.dangerSrcId);
  121. })
  122. data.forEach((item) => {
  123. arr.push(item.dangerSrcId)
  124. })
  125. } else {
  126. data.forEach((item) => {
  127. arr.remove(item.dangerSrcId);
  128. })
  129. }
  130. } else {
  131. if (obj.checked) {
  132. arr.remove(obj.data.dangerSrcId);
  133. arr.push(obj.data.dangerSrcId);
  134. } else {
  135. arr.remove(obj.data.dangerSrcId);
  136. }
  137. }
  138. });
  139. table.on('tool(tablebtn)', function (obj) {
  140. var layEvent = obj.event;
  141. if (layEvent == 'details') {
  142. let href = '';
  143. if (obj.data.parentDangerSrcId == -1) {
  144. href = "./viewRisk_shuili.html?riskPointType=" + num + "&tab=index&dangerSrcId=" + obj.data.dangerSrcId + "&vtype=nd&cId=" + obj.data.cId;
  145. } else {
  146. href = "./viewRisk_shuili.html?riskPointType=" + num + "&tab=index&dangerSrcId=" + obj.data.dangerSrcId + "&vtype=pd&cId=" + obj.data.cId;
  147. }
  148. admin.open({
  149. title: '检查表',
  150. type: 2,
  151. content: href,
  152. area: ['800px', '420px'],
  153. success: function (layerObj, index) {
  154. layer.setTop(layerObj);
  155. },
  156. end: function () {
  157. }
  158. });
  159. }
  160. });
  161. let t = true;
  162. $('.sub').click(function () {
  163. if (t == false) {
  164. return;
  165. }
  166. t = false;
  167. setTimeout(function () {
  168. t = true;
  169. }, 10000);
  170. var checkUrl = uParas.baseUrl + '/gent/ds/saveDsByParentCompany';
  171. admin.req(checkUrl, {
  172. ids: arr.join(','),
  173. }, function (resp) {
  174. t = true;
  175. if (resp.code == 1) {
  176. var index = parent.layer.getFrameIndex(window.name);
  177. parent.layer.close(index);
  178. window.parent.location.reload();
  179. } else {
  180. layer.msg(resp.msg);
  181. }
  182. }, 'post');
  183. })
  184. })
  185. </script>
  186. </body>
  187. </html>