deviceCheck-channel.js 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301
  1. var pageNo = 1;
  2. var totalPages = 0;
  3. //列表渲染
  4. getListDataAjax();
  5. //获取列表 ajax请求
  6. function getListDataAjax(queryParam = {}, pageNo = 1) {
  7. queryParam.pageNo = pageNo;
  8. // queryParam.pageSize = 4;
  9. ajaxRequest(DEVICE_CHECKCHANNEL_LIST, "POST", queryParam, function(result) {
  10. let data = result.RESULT.pageList;
  11. let items = '';
  12. if (result.RESULT.totalCount > 0) {
  13. data.forEach(function(item, key) {
  14. items += "<tr>" +
  15. "<td class='status' data-user='" + JSON.stringify(item) + "' data-id=" + item.id + "></td>" +
  16. "<td>" + item.xh + "</td>" +
  17. "<td>" + item.passageway_name + "</td>" +
  18. "<td>" + item.passageway_type_name + "</td>" +
  19. "<td>" + item.dwtype_name + "</td>" +
  20. "<td>" + item.company_name + "</td>" +
  21. "<td>" + item.add_people + "</td>" +
  22. "<td>" + getFormatDate(item.add_time.time) + "</td>" +
  23. "</tr>"
  24. })
  25. }
  26. $('#dataList').html(items);
  27. totalPages = result.RESULT.totalPages;
  28. $('#totalPage').html(totalPages); //总共多少页
  29. $('#dataTotal').html(result.RESULT.totalCount); //总共多少条数据
  30. $('#currentPage').val(pageNo); //当前页面
  31. let pageFrom = (pageNo - 1) * result.RESULT.pageSize + 1; //开始
  32. let pageTo = result.RESULT.pageNo * result.RESULT.pageSize; //结束
  33. pageTo = pageTo > result.RESULT.totalCount ? result.RESULT.totalCount : pageTo;
  34. $('#pageFrom').html(pageFrom);
  35. $('#pageTo').html(pageTo);
  36. // 无数据时
  37. if (!data.length) {
  38. $('.pager.has-data').hide()
  39. $('.pager.no-data').show()
  40. } else {
  41. $('.pager.has-data').show()
  42. $('.pager.no-data').hide()
  43. }
  44. if (pageNo < totalPages) {
  45. $('#nextPageButton,#lastPageButton').removeClass('disabled');
  46. } else {
  47. $('#nextPageButton,#lastPageButton').addClass('disabled');
  48. }
  49. if (pageNo === 1) {
  50. $('#firstPageButton,#prevPageButton').addClass('disabled');
  51. } else {
  52. $('#firstPageButton,#prevPageButton').removeClass('disabled');
  53. }
  54. }, function(errorMsg) {
  55. alert("请求数据失败!");
  56. })
  57. }
  58. //按钮搜索
  59. $('#buttonSearch').on('click', function() {
  60. pageNo = 1;
  61. getListDataAjax(getSearchParamObj());
  62. })
  63. //拼接搜索条件
  64. function getSearchParamObj() {
  65. let queryParam = {};
  66. let passageway_name = $('#passageway_name').val();
  67. let passageway_type_name = $('#passageway_type_name').val()
  68. queryParam.passageway_name = passageway_name;
  69. queryParam.passageway_type_name = passageway_type_name;
  70. return queryParam;
  71. }
  72. //重置表单
  73. $('.reset').click(resetForm)
  74. //重置表单
  75. function resetForm() {
  76. pageNo = 1;
  77. $("#passageway_name").val("");
  78. $("#passageway_type_name").val("");
  79. getListDataAjax(getSearchParamObj());
  80. }
  81. //分页操作
  82. $('#firstPageButton').on('click', function() {
  83. pageNo = 1;
  84. getListDataAjax(getSearchParamObj(), 1);
  85. })
  86. $('#lastPageButton').on('click', function() {
  87. pageNo = totalPages;
  88. getListDataAjax(getSearchParamObj(), pageNo);
  89. })
  90. $('#prevPageButton').on('click', function() {
  91. pageNo -= 1;
  92. getListDataAjax(getSearchParamObj(), pageNo);
  93. })
  94. $('#nextPageButton').on('click', function() {
  95. pageNo += 1;
  96. getListDataAjax(getSearchParamObj(), pageNo);
  97. })
  98. //单位下拉
  99. getNameList()
  100. //单位下拉 ajax请求
  101. function getNameList() {
  102. ajaxRequest(DEVICE_TYPE_COMPANYLIST, "POST", {}, function(result) {
  103. let data = result.RESULT;
  104. let items = '';
  105. data.forEach(function(item, key) {
  106. items += `<option value="${item.owner_id}">${item.owner_name}</option>`
  107. })
  108. $('#getNameList').append(items);
  109. $('#getNameList2').append(items);
  110. }, function(errorMsg) {
  111. alert("请求数据失败!");
  112. })
  113. }
  114. /*新增 修改 关闭 弹框*/
  115. var layer = layui.layer;
  116. var layerCreateIndex = '';
  117. var layerUpdateIndex = ''
  118. layui.use('layer', function() {
  119. //新增弹框
  120. $('.add').click(function() {
  121. layerCreateIndex = layer.open({
  122. type: 1,
  123. title: false,
  124. closeBtn: 0,
  125. shadeClose: true,
  126. skin: 'yourclass',
  127. area: ['400px', '400px'],
  128. content: $(".addDataOut"),
  129. success: function() {
  130. $('.clsBtn,.cancel').click(function() {
  131. layer.close(layerCreateIndex);
  132. })
  133. // 下拉联动
  134. $('.dwtype').on('change', function() {
  135. let index = $(this).find('option:selected').val();
  136. mingTest(index, 'passageway_type_add')
  137. })
  138. mingTest(1, 'passageway_type_add')
  139. }
  140. })
  141. }),
  142. //修改弹框信息
  143. $('.edit').click(function() {
  144. if (!$('.pure-table tr').has('.checked').length) {
  145. layer.msg('请选择一条需要修改的信息!', { icon: 5 });
  146. } else {
  147. let userInfo = $('.pure-table tr').find('.checked').data('user');
  148. $('.editDataOut input[name=passageway_name]').val(userInfo.passageway_name)
  149. $('.editDataOut input[name=device_code]').val(userInfo.device_code)
  150. $('.editDataOut input[name=company_code').val(userInfo.company_code)
  151. $('.editDataOut input[name=id').val(userInfo.id)
  152. $('.editDataOut select[name=dwtype]').val(userInfo.dwtype)
  153. $('.editDataOut select[name=passageway_type]').val(userInfo.passageway_type)
  154. layerUpdateIndex = layer.open({
  155. type: 1,
  156. title: false,
  157. closeBtn: 0,
  158. shadeClose: true,
  159. skin: 'yourclass',
  160. area: ['410px', '400px'],
  161. content: $(".editDataOut"),
  162. success: function() {
  163. $('.clsBtn,.cancel').click(function() {
  164. layer.close(layerUpdateIndex);
  165. })
  166. $('.dwtype').on('change', function() {
  167. let dwtype = $(this).find('option:selected').val();
  168. mingTest(dwtype, 'passageway_type_edit')
  169. })
  170. mingTest(userInfo.dwtype, 'passageway_type_edit', userInfo.passageway_type, userInfo.passageway_type)
  171. }
  172. });
  173. }
  174. })
  175. //删除信息
  176. $('.delete').click(function() {
  177. if (!$('.pure-table tr').has('.checked').length) {
  178. layer.msg('请选择一条需要删除的信息!', { icon: 5 });
  179. } else {
  180. let dataId = $('.pure-table tr').find('.checked').data('id');
  181. ajaxRequest(DEVICE_CHECKCHANNEL_DELETE, "POST", { "ID_LIST": [{ "id": dataId }] }, function(result) {
  182. $(".pure-table tbody tr.selected").remove()
  183. let data = result
  184. layer.close(layer.layerCreateIndex);
  185. layer.msg('删除成功!', { icon: 6 });
  186. getListDataAjax()
  187. }, function(errorMsg) {
  188. alert("删除失败!");
  189. }, 2)
  190. }
  191. })
  192. })
  193. /* 新增发送请求 */
  194. $('#addData').click(function() {
  195. //获取表单的值 并转换成对象
  196. let allParam = serializeArrayToObj($("#addDataForm").serializeArray());
  197. //验证数据是否为空
  198. let res = validParamIsEmpty(allParam, {
  199. "passageway_name": "请输入通道名称",
  200. "device_code": "请输入设备编号",
  201. "dwtype": "请选择设备类型",
  202. "passageway_type": "请选择通道类型",
  203. "company_code": "请选择所属单位",
  204. });
  205. if (res.code == -1) {
  206. alert(res.msg);
  207. return;
  208. }
  209. //验证通过 请求ajax
  210. ajaxRequest(DEVICE_CHECKCHANNEL_ADD, "POST", allParam, function(result) {
  211. layer.close(layerCreateIndex);
  212. layer.msg('添加成功!', { icon: 6 });
  213. getListDataAjax();
  214. }, function(errorMsg) {
  215. alert("异常错误!");
  216. })
  217. })
  218. /* 修改发送请求 */
  219. $('#dataUpdate').click(function() {
  220. //获取表单的值 并转换成对象
  221. let allParam = serializeArrayToObj($("#editDataForm").serializeArray());
  222. //验证数据是否为空
  223. let res = validParamIsEmpty(allParam, {
  224. "passageway_name": "请输入通道名称",
  225. "device_code": "请输入设备编号",
  226. "dwtype": "请选择设备类型",
  227. "passageway_type": "请选择通道类型",
  228. });
  229. if (res.code == -1) {
  230. alert(res.msg);
  231. return;
  232. }
  233. ajaxRequest(DEVICE_CHECKCHANNEL_UPDATE, "POST", allParam, function(result) {
  234. layer.close(layerUpdateIndex);
  235. layer.msg('修改成功!', { icon: 6 });
  236. getListDataAjax();
  237. }, function(errorMsg) {
  238. alert("数据修改失败!");
  239. })
  240. })
  241. function mingTest(dwTypeValue, elementId, passagewayTypeFirstIndex = 0) {
  242. if (dwTypeValue == 1) {
  243. $('#' + elementId + ' .dwtype').eq(dwTypeValue - 1).prop("selected", true); //
  244. $('#' + elementId + ' .passagewayTypeFirst').show();
  245. $('#' + elementId + ' .passagewayTypeSecond').hide();
  246. $('#' + elementId + ' .passagewayTypeThird').hide();
  247. $('#' + elementId + ' .passagewayTypeFirst').eq(passagewayTypeFirstIndex).prop("selected", true); //dwtype
  248. } else if (dwTypeValue == 2) {
  249. $('#' + elementId + ' .dwtype').eq(dwTypeValue - 1).prop("selected", true); //
  250. $('#' + elementId + ' .passagewayTypeFirst').hide();
  251. $('#' + elementId + ' .passagewayTypeSecond').show();
  252. $('#' + elementId + ' .passagewayTypeThird').hide();
  253. $('#' + elementId + ' .passagewayTypeSecond').eq(passagewayTypeFirstIndex - 1).prop("selected", true);
  254. } else if (dwTypeValue == 3) {
  255. $('#' + elementId + ' .dwtype').eq(dwTypeValue - 1).prop("selected", true); //
  256. $('#' + elementId + ' .passagewayTypeFirst').hide();
  257. $('#' + elementId + ' .passagewayTypeSecond').hide();
  258. $('#' + elementId + ' .passagewayTypeThird').show();
  259. $('#' + elementId + ' .passagewayTypeThird').eq(passagewayTypeFirstIndex - 1).prop("selected", true);
  260. }
  261. }