GetLastedDataBySql.cshtml 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. @{
  2. ViewBag.Title = "抄表历史查询";
  3. Layout = "~/Views/Shared/_Index.cshtml";
  4. }
  5. <script>
  6. $(document).ready(function () {
  7. initControl();
  8. initialPage();
  9. GetGrid();
  10. //表格表头居中显示
  11. $(".ui-th-column").css("text-align", "center");
  12. });
  13. //重设(表格)宽高
  14. function initialPage() {
  15. //resize重设(表格、树形)宽高
  16. $(window).resize(function (e) {
  17. window.setTimeout(function () {
  18. $('#gridTable').setGridWidth(($('.gridPanel').width()));
  19. $("#gridTable").setGridHeight($(window).height() - 108.5);
  20. }, 200);
  21. e.stopPropagation();
  22. });
  23. }
  24. //加载表格
  25. function GetGrid() {
  26. var selectedRowIndex = 0;
  27. var $gridTable = $('#gridTable');
  28. $gridTable.jqGrid({
  29. url: "/NBManage/NBHistorySearch/GetRealTimeDataBySql",
  30. datatype: "json",
  31. height: $(window).height() - 148.5,
  32. autowidth: true,
  33. colModel: [
  34. { label: '主键', name: 'OrganizeId', hidden: true, fixed: true },
  35. { label: "IMEI", name: "IMEI", width: 200, align: "right", sortable: false, fixed: true, hidden: true },
  36. { label: "DeviceID", name: "IOT_Code", width: 300, align: "left", sortable: false, fixed: true, hidden: true },
  37. { label: "区域名称", name: "area", width: 300, align: "left", sortable: false, fixed: true },
  38. //{ label: "门牌号", name: "room", width: 100, align: "left", sortable: false, fixed: true },
  39. //{ label: "用户编号", name: "UserNo", width: 150, align: "left", sortable: false, fixed: true },
  40. //{ label: "用户名称", name: "UserName", width: 150, align: "left", sortable: false, fixed: true },
  41. { label: "表类型", name: "MeterType", width: 100, align: "left", sortable: false, hidden: true, fixed: true },
  42. { label: "表地址", name: "ElecAddress", width: 150, align: "right", fixed: true },
  43. { label: "抄表时间", name: "NowRadingDT", width: 165, align: "right", fixed: true },
  44. { label: "净累计(m³)", name: "NowReading", width: 150, align: "right", fixed: true },
  45. { label: "信号强度", name: "Rsrp", width: 100, align: "left", sortable: false, fixed: true },
  46. { label: "注册时间", name: "CreateDT", width: 100, align: "left", sortable: false, fixed: true }
  47. ],
  48. multiselect: true,
  49. viewrecords: true,
  50. rowNum: 3000,
  51. pager: "#gridPager",
  52. gridview: true,
  53. sortable: true,
  54. sortname: "NowRadingDT",
  55. sortorder: "desc",
  56. rownumbers: true,
  57. gridComplete: function () {
  58. $("#" + this.id).setSelection(selectedRowIndex, false);
  59. }
  60. });
  61. }
  62. // 取最新数据
  63. function getLastData() {
  64. var ids = $("#gridTable").jqGrid("getGridParam", "selarrrow");
  65. var startQueque = Promise.resolve();
  66. $(ids).each(function (index, id) {
  67. var row = $("#gridTable").jqGrid('getRowData', id);
  68. var IOT_Code = row.IOT_Code;
  69. (function (IOT_Code) {
  70. startQueque = startQueque.then(function () {
  71. $.ajax({
  72. type: 'POST',
  73. url: "/NBManage/NBEquipmentDebug/GetAjaxData?deviceId=" + IOT_Code,
  74. cache: false,
  75. ifModified: true,
  76. dataType: 'JSON',
  77. beforeSend: function () {
  78. $("#gridTable").jqGrid('setCell', id, "Total", '<img class="alarmimg" src="/Content/images/send_wait.gif" " />');
  79. $("#gridTable").jqGrid('setCell', id, "ReadingDT", '读取中...');
  80. },
  81. success: function (jsonData) {
  82. console.log(jsonData);
  83. $("#gridTable").jqGrid('setCell', id, "Total", jsonData[0].total);
  84. $("#gridTable").jqGrid('setCell', id, "ReadingDT", jsonData[0].read_time);
  85. },
  86. })
  87. });
  88. })(IOT_Code);
  89. })
  90. }
  91. function initControl() {
  92. //小区
  93. $("#AreaId").ComboBox({
  94. url: "/NBManage/NBHistorySearch/GetAreaListJson",
  95. id: "AreaId",
  96. text: "AreaName",
  97. description: "选择小区",
  98. height: "170px"
  99. });
  100. }
  101. function btn_Search() {
  102. var areaId = $("#AreaId").attr('data-value');
  103. $("#gridTable").jqGrid('setGridParam', {
  104. postData: {
  105. areaId: areaId
  106. }
  107. }).trigger('reloadGrid');
  108. }
  109. //导出
  110. function btn_export() {
  111. var datavalue = $("#gridTable").jqGrid('getRowData'); //获取全部数据
  112. dialogOpen({
  113. id: "ExcelIExportDialog",
  114. title: '导出',
  115. url: '/Utility/ExcelExportForm?gridId=gridTable&filename=历史记录',
  116. width: "500px",
  117. height: "380px",
  118. callBack: function (iframeId) {
  119. top.frames[iframeId].AcceptClick();
  120. }, btn: ['导出Excel', '关闭']
  121. });
  122. }
  123. </script>
  124. <div class="titlePanel">
  125. <div class="title-search">
  126. <table>
  127. <tr>
  128. <td>
  129. <div id="queryCondition">
  130. <div id="AreaId" type="select" class="ui-select" style="float: left; min-width: 150px; margin-right: 1px;"></div>
  131. </div>
  132. </td>
  133. <td style="padding-left: 5px;">
  134. <a id="btn_Search" class="btn btn-primary" onclick="btn_Search()"><i class="fa fa-search"></i>&nbsp;查询</a>
  135. </td>
  136. </tr>
  137. </table>
  138. </div>
  139. <div class="toolbar">
  140. <div class="btn-group">
  141. @*<a id="lr-replace" class="btn btn-default" onclick="reload();"><i class="fa fa-refresh"></i>&nbsp;刷新</a>
  142. <a id="lr-replace" class="btn btn-default" onclick="getLastData();"><i class="fa fa-refresh"></i>&nbsp;取数据</a>*@
  143. <a id="lr-edit" class="btn btn-default" onclick="btn_export()"><i class="fa fa-file-excel-o"></i>&nbsp;导出</a>
  144. </div>
  145. </div>
  146. </div>
  147. <div class="gridPanel">
  148. <table id="gridTable"></table>
  149. <div id="gridPager"></div>
  150. </div>