123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436 |
- @{
- ViewBag.Title = "联网测试";
- Layout = "~/Views/Shared/_Index.cshtml";
- }
- <script>
- $(document).ready(function () {
- initialPage();
- GetGrid();
- htmlTimeCtrlhis();
- //表格表头居中显示
- $(".ui-th-column").css("text-align", "center");
- setFocus();
- });
- //重设(表格)宽高
- function initialPage() {
- //resize重设(表格、树形)宽高
- $(window).resize(function (e) {
- window.setTimeout(function () {
- $('#gridTable').setGridWidth(($('.gridPanel').width()));
- $("#gridTable").setGridHeight($(window).height() - 108.5);
- }, 200);
- e.stopPropagation();
- });
- }
- function htmlTimeCtrlhis() {
- $("#ThisDate").val("@DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")");
- $("#LastDate").val("@DateTime.Now.ToString("yyyy-MM-dd")");
- }
- //追加信息
- function btn_SearchAdd() {
- var isHas;
- var imei = $("#txt_imei").val();
- var thisDate = $('#ThisDate').val();
- var lastDate = $('#LastDate').val();
- var address = $('#txt_Address').val();
- var data;
- var count = $("#gridTable").getGridParam("reccount");//获取当前行数
- var rowid = count + 1;
- $.ajax({
- type: 'POST',
- cache: false,
- ifModified: true,
- url: "/NBManage/NBEquipmentDebug/GetRecord?imei=" + imei + "&thisDate=" + thisDate + "&lastDate=" + lastDate + "&address=" + address,
- datatype: "json",
- success: function (jsonData) {
- if (jsonData.length > 0) {
- data = jsonData.substring(1, jsonData.length - 1);
- if (data.length > 0) {
- //增加重复判断 2019-09-30 cxj
- var datas = $("#gridTable").jqGrid("getRowData");
- $(datas).each(function (i, id) {
- if (address == this.MeterAddr) {
- isHas = this.MeterAddr;
- return;
- }
- });
- if (address != isHas) {
- $("#gridTable").jqGrid('addRowData', rowid, $.parseJSON(data), 'last');
- }
- ////////////////////////////////////////////////
- }
- else {
- alert("没有该水表信息");
- }
- }
- },
- })
- }
- //btn_SearchClear()清空
- function btn_SearchClear() {
- jQuery("#gridTable").jqGrid("clearGridData")
- }
- //加载表格
- function GetGrid() {
- var selectedRowIndex = 0;
- var $gridTable = $('#gridTable');
- $gridTable.jqGrid({
- url: "/NBManage/NBEquipmentDebug/GetRecord",
- datatype: "json",
- height: $(window).height() - 138.5,
- autowidth: true,
- colModel: [
- { label: '小区', name: 'ID1', width: 35, fixed: true, frozen: true },
- { label: '楼宇', name: 'ID2', width: 35, fixed: true, frozen: true },
- { label: '单元', name: 'ID3', width: 35, fixed: true, frozen: true },
- { label: '户号', name: 'ID4', width: 35, fixed: true, frozen: true },
- { label: 'ID', name: 'ID', hidden: true, fixed: true, frozen: true, isExport: false },
- { label: "表地址", name: "MeterAddr", width: 100, align: "right", sortable: false, fixed: true, frozen: true },
- { label: "IMEI", name: "IMEI", width: 130, align: "right", sortable: false, fixed: true, frozen: true },
- { label: "ICCID", name: "SIM", width: 160, align: "right", sortable: false, fixed: true, frozen: true },
- { label: "DeviceID", name: "DeviceID", width: 280, align: "left", sortable: false, fixed: true, frozen: true },
- {
- label: "注册时间", name: "RegisterDate", width: 165, align: "right", sortable: false,
- formatter: function (cellvalue, options, rowObject) {
- return formatDate(cellvalue, 'yyyy-MM-dd hh:mm:ss')
- }
- , fixed: true, isExport: false
- },
- { label: "抄表时间", name: "ReadingDT", width: 165, align: "right", sortable: false, fixed: true, isExport: false },
- { label: "电池电量(%)", name: "BatteryLevel", width: 100, align: "right", fixed: true, hidden: true },
- { label: "信号强度", name: "Rsrp", width: 100, align: "right", sortable: false, fixed: true },
- { label: "信号覆盖等级", name: "Ecl", width: 100, align: "right", sortable: false, fixed: true, hidden: true },
- { label: "信噪比", name: "Snr", width: 100, align: "right", sortable: false, hidden: true, fixed: true },
- { label: "电池门", name: "BatteryDoor", width: 100, align: "right", sortable: false, fixed: true },
- { label: "公司代码", name: "FactoryCode", width: 100, align: "right", sortable: false, fixed: true },
- { label: "方向", name: "Direction", width: 100, align: "right", sortable: false, fixed: true },
- { label: "数据错误标识", name: "DataRight", width: 100, align: "right", sortable: false, fixed: true },
- { label: "电池电量", name: "BatteryQuantity", width: 100, align: "right", sortable: false, fixed: true },
- { label: "计量状态", name: "MeasureState", width: 100, align: "right", sortable: false, fixed: true },
- { label: "水表电子号", name: "MeterEleno", width: 100, align: "right", sortable: false, fixed: true },
- { label: "基站信息", name: "Pci", width: 100, align: "right", sortable: false, fixed: true },
- { label: "其它报警值", name: "OtherState", width: 100, align: "right", sortable: false, fixed: true },
- { label: "day1-15", name: "day1_day15", width: 200, align: "right", sortable: false, fixed: true },
- { label: "otherpart", name: "OtherPart", width: 200, align: "right", sortable: false, fixed: true },
- {
- label: "净累计流量(m³)", name: "Total", align: "right", fixed: true, width: 125, isExport: false
- },
- {
- label: "正累计流量(m³)", name: "total_up", align: "right", fixed: true, width: 125, isExport: false
- },
- {
- label: "负累计流量(m³)", name: "total_down", align: "right", fixed: true, width: 125, isExport: false
- },
- {
- label: "瞬时流量(m³/h)", name: "Instance", align: "right", fixed: true, width: 125, isExport: false
- },
- {
- label: "电池状态%", name: "batteryLevel", align: "right", fixed: true, width: 125, isExport: false
- }
- ,
- {
- label: "信号强度", name: "rsrp", align: "right", fixed: true, width: 125, isExport: false, hidden: true
- },
- {
- label: "信号覆盖等级", name: "ecl", align: "right", fixed: true, width: 125, isExport: false, hidden: true
- },
- {
- label: "信噪比", name: "snr", align: "right", fixed: true, width: 125, isExport: false
- },
- {
- label: "磁攻击报警", name: "attack", align: "right", fixed: true, width: 125, isExport: false
- },
- {
- label: "曾经磁攻击", name: "attack_ever", align: "right", fixed: true, width: 125, isExport: false
- },
- {
- label: "超过Q4 ", name: "q4", align: "right", fixed: true, width: 125, isExport: false
- },
- {
- label: "上报时间 ", name: "time", align: "right", fixed: true, width: 165, isExport: false
- }
- ],
- rownumbers: true,
- viewrecords: true,
- multiselect: true,
- rowNum: -1,
- gridComplete: function () {
- $("#" + this.id).setSelection(selectedRowIndex, false);
- }
- });
- $gridTable.jqGrid('setFrozenColumns');
- }
- function addCellAttr(rowId, val, rawObject, cm, rdata) {
- if (val == "已注册") {
- return "style='color:green'";
- }
- else {
- return "style='color:red'";
- }
- }
- function dataFmatter(cellvalue, options, rowObject) {
- return formatDate(cellvalue, 'yyyy-MM-dd hh:mm:ss');
- }
- // 编辑
- function editData() {
- //首先判断 jqgrid 中有没有选中数据
- //有的话 执行删除表信息 操作
- var IOT_Code = $("#gridTable").jqGridRowValue("DeviceID");
- var MeterID = $("#gridTable").jqGridRowValue("ID");
- if (MeterID) {
- dialogOpen({
- id: "ApmtForm",
- title: '编辑表具信息',
- url: '/NBManage/NBEquipmentDebug/MeterForm?keyValue=' + MeterID,
- width: "750px",
- height: "500px",
- callBack: function (iframeId) {
- top.frames[iframeId].AcceptApmtClick();
- }
- });
- }
- }
- // 删除
- function deleteData() {
- var ids = $("#gridTable").jqGrid("getGridParam", "selarrrow");
- var meterIDs = [];
- //遍历访问这个集合
- for (var ii = 0; ii < ids.length; ii++) {
- //由id获得对应数据行
- var row = $("#gridTable").jqGrid('getRowData', ids[ii]);
- //首先判断 jqgrid 中有没有选中数据
- //有的话 执行删除表信息 操作
- var IOT_Code = row.DeviceID;
- var MeterID = row.ID;
- meterIDs.push(MeterID);
- }
- if (meterIDs.length > 0) {
- $.RemoveForm({
- url: "/NBManage/NBEquipmentDebug/DeleteMeterForm",
- param: { id: meterIDs.toString() },
- async: false,
- success: function (data) {
- $("#gridTable").trigger("reloadGrid");
- //$("#gridTable").jqGrid("delRowData", ids[ii]);
- }
- })
- }
- }
- // 取最新数据
- function getLastData() {
- var ids = $("#gridTable").jqGrid("getGridParam", "selarrrow");
- var startQueque = Promise.resolve();
- $(ids).each(function (index, id) {
- var row = $("#gridTable").jqGrid('getRowData', id);
- var IOT_Code = row.DeviceID;
- (function (IOT_Code) {
- startQueque = startQueque.then(function () {
- $.ajax({
- type: 'POST',
- url: "/NBManage/NBEquipmentDebug/GetAjaxData?deviceId=" + IOT_Code,
- cache: false,
- ifModified: true,
- dataType: 'JSON',
- beforeSend: function () {
- $("#gridTable").jqGrid('setCell', id, "Total", '<img class="alarmimg" src="/Content/images/send_wait.gif" " />');
- $("#gridTable").jqGrid('setCell', id, "ReadingDT", '读取中...');
- },
- success: function (jsonData) {
- if (jsonData.length > 0) {
- $("#gridTable").jqGrid('setCell', id, "Total", jsonData[0].total);
- $("#gridTable").jqGrid('setCell', id, "ReadingDT", jsonData[0].read_time);
- $("#gridTable").jqGrid('setCell', id, "total_up", jsonData[0].total_up);
- $("#gridTable").jqGrid('setCell', id, "total_down", jsonData[0].total_down);
- $("#gridTable").jqGrid('setCell', id, "instance", jsonData[0].instance);
- $("#gridTable").jqGrid('setCell', id, "batteryLevel", jsonData[0].batteryLevel);
- $("#gridTable").jqGrid('setCell', id, "attack", jsonData[0].attack);
- $("#gridTable").jqGrid('setCell', id, "attack_ever", jsonData[0].attack_ever);
- $("#gridTable").jqGrid('setCell', id, "q4", jsonData[0].q4);
- $("#gridTable").jqGrid('setCell', id, "rsrp", jsonData[0].rsrp);
- $("#gridTable").jqGrid('setCell', id, "ecl", jsonData[0].ecl);
- $("#gridTable").jqGrid('setCell', id, "snr", jsonData[0].snr);
- $("#gridTable").jqGrid('setCell', id, "time", jsonData[0].time);
- $("#gridTable").jqGrid('setCell', id, "BatteryLevel", jsonData[0].BatteryLevel);
- $("#gridTable").jqGrid('setCell', id, "Rsrp", jsonData[0].Rsrp);
- $("#gridTable").jqGrid('setCell', id, "Ecl", jsonData[0].Ecl);
- $("#gridTable").jqGrid('setCell', id, "BatteryDoor", jsonData[0].BatteryDoor);
- $("#gridTable").jqGrid('setCell', id, "FactoryCode", jsonData[0].FactoryCode);
- $("#gridTable").jqGrid('setCell', id, "Direction", jsonData[0].Direction);
- $("#gridTable").jqGrid('setCell', id, "DataRight", jsonData[0].DataRight);
- $("#gridTable").jqGrid('setCell', id, "BatteryQuantity", jsonData[0].BatteryQuantity);
- $("#gridTable").jqGrid('setCell', id, "MeasureState", jsonData[0].MeasureState);
- $("#gridTable").jqGrid('setCell', id, "MeterEleno", jsonData[0].MeterEleno);
- $("#gridTable").jqGrid('setCell', id, "Pci", jsonData[0].Pci);
- $("#gridTable").jqGrid('setCell', id, "OtherState", jsonData[0].OtherState);
- $("#gridTable").jqGrid('setCell', id, "day1_day15", jsonData[0].day1_day15);
- $("#gridTable").jqGrid('setCell', id, "OtherPart", jsonData[0].OtherPart);
- $("#gridTable").jqGrid('setCell', id, "Snr", jsonData[0].Snr);
- }
- },
- })
- });
- })(IOT_Code);
- })
- }
- function btn_Search() {
- var imei = $("#txt_imei").val();
- var thisDate = $('#ThisDate').val();
- var lastDate = $('#LastDate').val();
- var address = $('#txt_Address').val();
- $("#gridTable").jqGrid('setGridParam', {
- postData: {
- imei: imei,
- thisDate: thisDate,
- lastDate: lastDate,
- address: address
- }
- }).trigger('reloadGrid');
- }
- //导出
- function btn_export() {
- var datavalue = $("#gridTable").jqGrid('getRowData'); //获取全部数据
- dialogOpen({
- id: "ExcelIExportDialog",
- title: '导出',
- url: '/Utility/ExcelExportForm?gridId=gridTable&filename=联网测试',
- width: "500px",
- height: "380px",
- callBack: function (iframeId) {
- top.frames[iframeId].AcceptClick();
- }, btn: ['导出Excel', '关闭']
- });
- }
- function handleEnter(field, event) {
- var keyCode = event.keyCode ? event.keyCode : event.which ? event.which
- : event.charCode;
- if (keyCode == 13) {
- btn_SearchAdd();
- setFocus();
- } else
- return true;
- }
- //清空并设置文本框
- function setFocus() {
- var txt1 = document.getElementById("txt_Address");
- txt1.value = "";
- txt1.focus();
- }
- function OpenClose(cmdText) {
- var addr = $("#gridTable").jqGridRowValue("MeterAddr");
- var id = $("#gridTable").jqGridRowValue("ID");
- var IOT_Code = $("#gridTable").jqGridRowValue("DeviceID");
- //var ValveStatus = $("#gridTable").jqGridRowValue("ValveStatus");
- //if (cmdText == 55 && ValveStatus == "开") {
- // dialogConfirm("注:当前阀门为开启状态,确定重复开阀?", function (r) {
- // if (!r) {
- // return;
- // }
- // });
- //}
- //if (cmdText == 99 && ValveStatus == "关") {
- // dialogConfirm("注:当前阀门为关闭状态,确定重复关阀?", function (r) {
- // if (r) {
- // return;
- // }
- // });
- //}
- if (checkedRow(addr)) {
- $.ajax({
- url: "/NBManage/NBValveControl/SendCommandSY",
- type: "POST",
- data: { code: IOT_Code, commandValue: 1002, addr: addr, id: id, cmdText: cmdText },
- cache: false,
- async: false,
- datatype: "json",
- success: function (data) {
- if (cmdText == "55") {
- dialogMsg("开阀命令发送成功!", 1);
- } else {
- dialogMsg("关阀命令发送成功!", 1);
- }
- setInterval("reload()", 5000);
- }
- });
- }
- }
- </script>
- <div class="titlePanel">
- <div class="title-search">
- <table>
- <tr>
- @* <td style="padding-left: 2px;">
- <input id="txt_imei" type="text" class="form-control" placeholder="IMEI" style="width: 200px;" />
- </td>
- <td style="padding-left: 5px;">开始日期</td>
- <td>
- <input id="ThisDate" type="text" class="form-control input-wdatepicker" onfocus="WdatePicker()" />
- </td>
- <td style="padding-left: 5px;">结束日期</td>
- <td>
- <input id="LastDate" type="text" class="form-control input-wdatepicker" onfocus="WdatePicker()" />
- </td>
- <td style="padding-left: 10px;">
- <a id="btn_Search" class="btn btn-primary" onclick="btn_Search()"><i class="fa fa-search"></i> 查询</a>
- </td>*@
- <td style="padding-left: 2px;">
- <input id="txt_imei" type="text" class="form-control" placeholder="IMEI" style="width: 200px;" />
- </td>
- <td style="padding-left: 2px;">
- <input id="txt_Address" type="text" class="form-control" placeholder="表地址" style="width: 200px;" onkeypress="return handleEnter(this, event)" />
- </td>
- <td style="padding-left: 5px;">开始日期</td>
- <td>
- <input id="ThisDate" type="text" value="@LeaRun.Util.Time.ShortDateTime" class="form-control input-wdatepicker" onfocus="WdatePicker({maxDate:'%y-%M',dateFmt:'yyyy-MM-dd HH:mm'})" style="width:175px">
- </td>
- <td style="padding-left: 5px;">结束日期</td>
- <td>
- <input id="LastDate" type="text" value="@LeaRun.Util.Time.ShortDateTime" class="form-control input-wdatepicker" onfocus="WdatePicker({maxDate:'%y-%M',dateFmt:'yyyy-MM-dd HH:mm'})" style="width:175px">
- </td>
- <td style="padding-left: 10px;">
- <a id="btn_Search" class="btn btn-primary" onclick="btn_Search()"><i class="fa fa-search"></i> 查询</a>
- </td>
- <td style="padding-left: 10px;">
- <a id="btn_SearchAdd" class="btn btn-primary" onclick="btn_SearchAdd()"><i class="fa fa-search"></i> 追加</a>
- </td>
- <td style="padding-left: 10px;">
- <a id="btn_SearchClear" class="btn btn-primary" onclick="btn_SearchClear()"><i class="fa fa-search"></i> 清空</a>
- </td>
- </tr>
- </table>
- </div>
- <div class="toolbar">
- <div class="btn-group">
- <a id="lr-replace" class="btn btn-default" onclick="reload();"><i class="fa fa-refresh"></i> 刷新</a>
- <a id="lr-replace" class="btn btn-default" onclick="getLastData();"><i class="fa fa-refresh"></i> 取数据</a>
- <a id="lr-edit" class="btn btn-default" onclick="deleteData()"><i class="fa fa-remove"></i> 删除</a>
- <a id="lr-edit" class="btn btn-default" onclick="editData()"><i class="fa fa-edit"></i> 修改</a>
- <a id="lr-edit" class="btn btn-default" onclick="btn_export()"><i class="fa fa-file-excel-o"></i> 导出</a>
- <a id="lr-more" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
- <i class="fa fa-reorder"></i> 更多<span class="caret"></span>
- </a>
- <ul class="dropdown-menu pull-right">
-
- <li id="lr-enabled"><a onclick="OpenClose(55)"><i></i> 开阀</a></li>
- <li id="lr-enabled"><a onclick="OpenClose(99)"><i></i> 关阀</a></li>
- </ul>
- </div>
- </div>
- </div>
- <div class="gridPanel">
- <table id="gridTable"></table>
- @*<div id="gridPager"></div>*@
- </div>
|