123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293 |
- @{
- ViewBag.Title = "智能配表";
- Layout = "~/Views/Shared/_LayoutIndex.cshtml";
- }
- <script src="~/Content/scripts/plugins/echarts/echarts.min.js"></script>
- <script>
- var meterEchart;
- $(function () {
- InitialPage();
- GetTree();
- GetAutoMeter();
- $("#tabs").tabs();
- //device.init();
- });
- //初始化页面
- function InitialPage() {
- //layout布局
- $('#layout').layout({
- applyDemoStyles: true,
- onresize: function () {
- $(window).resize();
- }
- });
- //resize重设(表格、树形)宽高
- $(window).resize(function (e) {
- window.setTimeout(function () {
- $("#itemTree").setTreeHeight($(window).height() - 52);
- $("#meterEchart").height($(window).height() - 112);
- }, 200);
- e.stopPropagation();
- });
- $("#meterEchart").height($(window).height() - 112);
- }
- var itemId = 0;
- //加载树
- function GetTree() {
- var item = {
- height: $(window).height() - 52,
- url: "/PipeNetworkManage/Meter/GetMeterTreeJson?",
- onnodeclick: function (item) {
- itemId = item.id;
- //展开下级
- $(".bbit-tree-selected").children('.bbit-tree-ec-icon').trigger("click");
- },
- };
- //初始化
- $("#itemTree").treeview(item);
- }
- //AutoComplete
- var device = {
- init: function () {
- var width = $('#device').width();
- $('#device').autocomplete({
- source: function (request, response) {
- $.ajax({
- url: "/IPm/DeviceInfo/GetDeviceBySearch",
- type: "GET",
- data: { q: $('#device').val() },
- dataType: "json",
- success: function (data) {
- response($.map(data, function (item) {
- console.log(item);
- return {
- label: item.label,
- value: "dev" + item.value
- }
- }));
- }
- });
- },
- select: function (event, ui) {
- $("#device").val(ui.item.label);
- PointTreeCode = ui.item.value;
- return false;
- }
- });
- }
- };
- function GetAutoMeter() {
- meterEchart = echarts.init(document.getElementById('meterEchart'));
- option = {
- title: {
- text: '智能配表',
- x: 'center'
- },
- tooltip: {
- trigger: 'axis'
- },
- legend: {
- data: ['瞬时流量'],
- right: 80
- },
- grid: {
- left: '3%',
- right: '4%',
- bottom: '3%',
- containLabel: true
- },
- toolbox: {
- feature: {
- saveAsImage: {}
- }
- },
- xAxis: {
- type: 'category',
- interval: 0,
- data: [1,2,3,4,5,6,7,8,9]
- },
- yAxis: {
- name: "瞬时流量(m³)",
- type: 'value'
- },
- series: [
- {
- name: '瞬时流量',
- type: 'line',
- data: []
- }
- ]
- };
- meterEchart.setOption(option);
- //点击时间范围(今天、近7天、近一个月、近三个月)
- $("#time_horizon a.btn-default").click(function () {
- $("#time_horizon a.btn-default").removeClass("active");
- $(this).addClass("active");
- switch ($(this).attr('data-value')) {
- case "1"://今天
- $("#PointStartTime").val("@DateTime.Now.AddDays(-1).ToString("yyyy-MM-dd HH-mm-ss")");
- $("#PointEndTime").val("@DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss")");
- break;
- case "2"://近7天
- $("#PointStartTime").val("@DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd")");
- $("#PointEndTime").val("@DateTime.Now.ToString("yyyy-MM-dd")");
- break;
- case "3"://近一个月
- $("#PointStartTime").val("@DateTime.Now.AddMonths(-1).ToString("yyyy-MM-dd")");
- $("#PointEndTime").val("@DateTime.Now.ToString("yyyy-MM-dd")");
- break;
- case "4"://自定义
- $("#PointStartTime").val("");
- $("#PointEndTime").val("");
- break;
- default:
- break;
- }
- });
- //查询事件
- $("#btn_point_Search").click(function () {
- var PointStartTime = $("#PointStartTime").val();
- var PointEndTime = $("#PointEndTime").val();
- if (itemId == 0) {
- dialogMsg('请选择测点!', 0);
- return;
- }
- if (PointStartTime.length <= 0 || PointEndTime.length <= 0) {
- dialogMsg('请选择时间!', 0);
- return;
- }
- var flowData;
- $.ajax({
- url: '/PipeNetworkManage/AutoMeter/AutoMeterData',
- data: { meterId: itemId, start: PointStartTime, end: PointEndTime },
- type: 'get',
- dataType: 'json',
- cache: false,
- async: false,
- success: function (data) {
- //console.log(data);
- flowData = data;
- },
- error: function (a, b, c) {
- console.log(b);
- }
- });
- var dataXY = [];
- var dataX = [];
- var data = flowData[0].flowData;
- for (var i = 0; i < data.length; i++) {
- var tmp = [];
- tmp.push(data[i].flowTime);
- tmp.push(parseFloat(data[i].flow));
- dataXY.push(tmp)
- dataX.push(data[i].flowTime);
- }
- console.log(dataX);
- meterEchart.setOption({
- series: {
- name: '瞬时流量',
- type: 'line',
- data: dataXY,
- },
- xAxis:{
- data: dataX
- }
- })
- });
- }
- //导出
- function btn_point_export() {
- dialogOpen({
- id: "ExcelIExportDialog",
- title: '导出采购报表',
- url: '/Utility/ExcelExportForm?gridId=pointGridTable',
- width: "500px",
- height: "380px",
- callBack: function (iframeId) {
- top.frames[iframeId].AcceptClick();
- }, btn: ['导出Excel', '关闭']
- });
- }
- </script>
- <div class="ui-layout" id="layout" style="height: 100%; width: 100%;">
- <div class="ui-layout-west">
- <div class="west-Panel">
- <div class="panel-Title">测点列表</div>
- <div id="itemTree"></div>
- </div>
- </div>
- <div class="ui-layout-center">
- <div class="center-Panel">
- <div class="panel-Title">智能配表</div>
- <div class="titlePanel">
- <div class="title-search">
- <table>
- <tr>
- @* <td style="padding-left: 10px;">测点名称:
- </td>
- <td style="padding-left: 10px;">
- <input type="text" id="device" name="device" class="form-control" style="width: 130px;" />
- </td>*@
- <td style="padding-left: 10px;">
- 开始时间:
- </td>
- <td style="padding-left: 10px;">
- <input id="PointStartTime" readonly type="text" value="@LeaRun.Util.Time.GetDate(-7)" class="form-control input-wdatepicker" onfocus="WdatePicker({maxDate:'%y-%M-%d',dateFmt:'yyyy-MM-dd HH:mm:ss',maxDate:'#F{$dp.$D(\'PointEndTime\')}'})" style="width:175px">
- </td>
- <td style="padding-left: 10px;">
- 结束时间:
- </td>
- <td style="padding-left: 10px;">
- <input id="PointEndTime" readonly type="text" value="@LeaRun.Util.Time.GetToday()" class="form-control input-wdatepicker" onfocus="WdatePicker({maxDate:'%y-%M-%d',dateFmt:'yyyy-MM-dd HH:mm:ss',minDate:'#F{$dp.$D(\'PointStartTime\')}'})" style="width:175px">
- </td>
- <td style="padding-left: 10px;">
- <div id="time_horizon" class="btn-group">
- <a class="btn btn-default" data-value="1">24小时</a>
- <a class="btn btn-default active" data-value="2">近7天</a>
- <a class="btn btn-default" data-value="3">近1个月</a>
- <a class="btn btn-default" data-value="4">自定义</a>
- </div>
- </td>
- <td style="padding-left: 10px;">
- <a id="btn_point_Search" class="btn btn-primary"> 查 询</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-export" class="btn btn-default" onclick="btn_point_export()"><i class="fa fa-sign-out"></i> 导出</a>
- </div>
- </div>
- </div>
- <div class="gridPanel">
- <div id="meterEchart"></div>
- </div>
- </div>
- </div>
- </div>
|