/** * Created by mac on 17/12/13. */ //获取 上一个搜索页面传来的参数 function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if (r != null)return decodeURI(r[2]); return null; } // var searchUrl = window.location.href; // var searchData = searchUrl.split("="); //截取 url中的“=”,获得“=”后面的参数 //停车场名称 var plName = decodeURI(GetQueryString('plName')); //decodeURI解码 //停车场类型 var plType = decodeURI(GetQueryString('type')); //停车场编码 var plNo = decodeURI(GetQueryString('plNo')); //停车场总车位数 var totalBerthsNum = decodeURI(GetQueryString('totalBerthsNum')); $("#searchText span").text(plName); var vehicleChart = echarts.init(document.getElementById('vehicleChart')); var vehicleoption = { color: ['rgba(38,190,150,.8)', 'rgba(67,158,218,.8)'], tooltip: { trigger: 'axis' }, grid: { top: '5%', left: '3%', right: '4%', bottom: '5%', containLabel: true }, xAxis: { type: 'category', boundaryGap: true, data: ['1日', '2日', '3日', '4日', '5日', '6日', '7日'], // data: xAxisData, axisLabel: { show: true, textStyle: { color: 'rgba(136,137,144,.8)', } }, axisTick: { show: false, }, axisLine: { show: false }, }, yAxis: { type: 'value', axisLabel: { show: true, textStyle: { color: 'rgba(136,137,144,.8)', } }, axisTick: { show: false, }, axisLine: { show: false }, }, series: [ { name: '近7天收费趋势', type: 'line', data: [], symbol:'image://../../assets/pages/img/symbol.png', symbolOffset:[0,0], symbolSize:16, areaStyle: { normal: { color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ offset: 0, color: '#8ec6ad', }, { offset: 1, color: 'rgba(142,198,173,.1)' }]) } }, // data: seriesInCount, }, ] }; vehicleChart.setOption(vehicleoption, true); window.onresize = function () { vehicleChart.resize(); } var fun = { init: function () { fun.incomeTrendCharts(7); fun.todayParkCarNumStatic([plNo]); fun.todayInCome([plNo]); fun.todayOccupyRate([plNo]); fun.createTableData(); fun.parkLotDetailInfo([plNo]); }, //近几天收入趋势折线图 num为第几天 incomeTrendCharts: function (num) { var startDate = new Date(); var endDate = new Date(); startDate.setSeconds(0); startDate.setHours(0); startDate.setMinutes(0); startDate.setDate(startDate.getDate() - num); endDate.setDate(endDate.getDate() - 1); var req = { sysCode: sysComm.sysCode, plNos: [plNo], startDate: startDate.getTime(), endDate: endDate.getTime() } var inComeAjax = { method: "post", url: dataUrl.util.queryIncomeOfDay(), data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType: 'json', success: function (res) { if (res.code == '8888') { var data = res.data; fun.handelIncomeTrendData(data); } } }; sysAjax(inComeAjax); }, handelIncomeTrendData: function (data) { var dateArray = []; var incomeArray = []; $.each(data, function (index, item) { dateArray.push(item.dayStr); incomeArray.push(fun.moneyFormatter(item.inCome)); }) vehicleoption.xAxis.data = dateArray; console.log(incomeArray) vehicleoption.series[0].data = incomeArray; vehicleChart.setOption(vehicleoption, true); }, //今日停车次数统计 todayParkCarNumStatic: function (plNos) { var beginTime = DateUtil.dataFormat(new Date().getTime(), "yyyy-MM-dd") + " 00:00:00"; var endTime = DateUtil.dataFormat(new Date().getTime(), "yyyy-MM-dd") + " 23:59:59"; var req = { sysCode: sysComm.sysCode, parkIdList: plNos, beginTime: beginTime, endTime: endTime, }; var inComeAjax = { method: "post", url: dataUrl.util.queryParingCount(), data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType: 'json', success: function (res) { if (res.code == '8888') { var data = res.data; fun.handelParkCarNumStaticData(data); } } }; sysAjax(inComeAjax); }, //处理停车次数统计 handelParkCarNumStaticData: function (data) { var allCount = data[0].escapeCount + data[0].freeParkingCount + data[0].temporaryParkingCount + data[0].dayOrMonthCardParkCount; //进场车数量 $('#inParkNum').html(allCount); //出场车数量 $('#outParkNum').html(0); if (plType == 1) { //免费开闸 或者 逃逸的数量 $('#freeCarNum').html(data[0].freeParkingCount); $("#freeCarNum").attr('data-value',data[0].freeParkingCount); $("#freeCarNum").counterUp({ delay: 10, time: 1000 }); } else { //免费开闸 或者 逃逸的数量 $('#freeCarNum').html(data[0].freeParkingCount); $("#freeCarNum").attr('data-value',data[0].freeParkingCount); $("#freeCarNum").counterUp({ delay: 10, time: 1000 }); } }, //今日收入-按路侧、封闭进行区分 todayInCome:function(plNos) { var req = { sysCode: sysComm.sysCode, parkIdList: plNos, }; var inComeAjax = { method: "post", url: dataUrl.util.getTodayIncome(), data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType: 'json', success: function (res) { if (res.code == '8888') { var result = res.data; var html = ''; html+=getMoneyYuan(result.payedTotalAmount)+getMoneySmallNumber(result.payedTotalAmount); $("#todayIncom").html(html); $("#todayIncom").attr('data-value',html); $("#todayIncom").counterUp({ delay: 10, time: 1000 }); } } } sysAjax(inComeAjax); }, //今日占用率 todayOccupyRate:function(plNos) { var req = { sysCode: sysComm.sysCode, plNos: plNos, } var opt = { method: 'post', url: dataUrl.util.getRealtimeoccupationRate(), data: JSON.stringify(req), success: function (res) { if (res.code == '8888') { //获取数据成功 var data = res.data; var freeBerth = data.freeBerthNum; $("#freeBerth").html(freeBerth); $("#freeBerth").attr('data-value',freeBerth); $("#freeBerth").counterUp({ delay: 10, time: 1000 }); } } } sysAjax(opt); }, //生成表格数据 createTableData: function() { $('#recordtable').bootstrapTable('destroy').bootstrapTable({ striped: true, //表格显示条纹 //pagination: true, //启动分页 pageNumber: 1, //当前第几页 showColumns: false, pageSize: 10, //每页显示的记录数 pageList: [10, 15, 20], //记录数可选列表 sidePagination: 'server', //表示服务端分页 queryParamsType: 'limit', method: 'POST', //请求方法 paginationPreText: '<', paginationNextText: '>', ajax: tableLoadRequest, //自定义ajax加载数据 uniqueId: 'id', columns: [ { field: 'createTime', title: '日期', width: '30%', align: 'left', formatter:fun.datetimeFormatter }, { field: 'parkName', title: '停车场', width: '30%', align: 'left' }, { field: 'orderTotalFee', title: '金额(元)', width: '20%', align: 'left', formatter: fun.moneyFormatter }, { field: 'payType', title: '支付方式', width: '20%', align: 'left', formatter: fun.payTypeFormatter } ] }); }, //停车场车位详情 parkLotDetailInfo:function(plNos){ var req = { sysCode: sysComm.sysCode, plNos: plNos, } var opt = { method: 'post', url: dataUrl.util.queryParkLotCarDetailInfo(), data: JSON.stringify(req), success: function (res) { if (res.code == '8888') { //获取数据成功 var data = res.data; fun.handelParkLotDetailInfo(data); } } } sysAjax(opt); }, //处理车位详情信息 handelParkLotDetailInfo:function(datas){ var rate = 0; //今日进出车量 $('#inParkNum').text(datas[0].inCarNum); $('#outParkNum').text(datas[0].outCarNum); //场内车辆 $('#allCarNum').text(datas[0].allCarNum+'/'+totalBerthsNum); rate = ((datas[0].allCarNum)/totalBerthsNum*100).toFixed(2)+'%'; $(".per-pross-first").eq(0).css("width",rate); $(".per-pross-icon").eq(0).css("left",rate); //场内授权车辆 $('#vipCarNum').text(datas[0].vipCarNum+'/'+totalBerthsNum); rate = ((datas[0].vipCarNum)/totalBerthsNum*100).toFixed(2)+'%'; $(".per-pross-first").eq(1).css("width",rate); $(".per-pross-icon").eq(1).css("left",rate); //场内临时车辆 $('#tmpCar').text(datas[0].tmpCar+'/'+totalBerthsNum); rate = ((datas[0].tmpCar)/totalBerthsNum*100).toFixed(2)+'%'; $(".per-pross-first").eq(2).css("width",rate); $(".per-pross-icon").eq(2).css("left",rate); }, //金额处理 moneyFormatter:function (value) { // console.log(typeof value) if(value==0 || value==undefined || value==null){ return 0; }else{ return (value/100).toFixed(2); } }, //时间处理 datetimeFormatter: function(value, row, index) { if(value == null) { return ""; } else { return DateUtils.long2String(value, 1); } }, } tableLoadRequest(); //支付方式 function payTypeFormatter(value){ if(value == null) { return ""; } switch (value){ case 1: return '支付宝'; break; case 2: return '微信'; break; case 3: return '银联'; break; case 4: return '微信公众号'; break; case 5: return '账户余额'; break; case 6: return '现金'; break; case 7: return 'IC卡'; break; default: break; } }; //金额处理 function moneyFormatter(value) { // console.log(typeof value) if(value==0 || value==undefined || value==null){ return 0; }else{ return (value/100).toFixed(2); } }; //时间处理 function datetimeFormatter(value) { if(value == null) { return ""; } else { return DateUtils.long2String(value, 1); } }; function tableLoadRequest(params) { var count = 20; var req={ sysCode:sysComm.sysCode, count:count, parkIds:[plNo] }; var opt = { method: 'post', url: dataUrl.util.queryRecentOutParkOrder(), data: JSON.stringify(req), contentType: 'application/json; charset=utf-8', dataType: 'json', success: function(res) { console.log(res); if(res.code == '8888') { var data = res.data; $('#breakNewsList').empty(); $.each(data,function (i,item) { console.log(item.createTime); $('#breakNewsList').append('
  • '+datetimeFormatter(item.createTime)+'
    '+item.parkName+'
    '+moneyFormatter(item.orderTotalFee)+'
    '+payTypeFormatter(item.payType)+'
  • ') }) // data.rows = res.data; // data.total = count; // params.success(data); } } }; sysAjax(opt); } fun.init(); //金额处理 取整元 function getMoneyYuan(value){ return parseInt(value / 100); } //金额处理-取角、分 .34 function getMoneySmallNumber(value){ var money = (value / 100).toFixed(2); return money.slice(money.length-3,money.length); } function ScrollText(content,btnPrevious,btnNext,autoStart,timeout,isSmoothScroll) { this.Speed = 5; this.Timeout = timeout; this.stopscroll =false; this.isSmoothScroll= isSmoothScroll; this.LineHeight = 20; this.NextButton = this.$(btnNext); this.PreviousButton = this.$(btnPrevious); this.ScrollContent = this.$(content); this.ScrollContent.innerHTML += this.ScrollContent.innerHTML; if(this.PreviousButton) { this.PreviousButton.onclick = this.GetFunction(this,"Previous"); this.PreviousButton.onmouseover = this.GetFunction(this,"MouseOver"); this.PreviousButton.onmouseout = this.GetFunction(this,"MouseOut"); } if(this.NextButton){ this.NextButton.onclick = this.GetFunction(this,"Next"); this.NextButton.onmouseover = this.GetFunction(this,"MouseOver"); this.NextButton.onmouseout = this.GetFunction(this,"MouseOut"); } this.ScrollContent.onmouseover = this.GetFunction(this,"MouseOver"); this.ScrollContent.onmouseout = this.GetFunction(this,"MouseOut"); if(autoStart) { this.Start(); } } ScrollText.prototype = { $:function(element) { return document.getElementById(element); }, Previous:function() { this.stopscroll = true; this.Scroll("up"); }, Next:function() { this.stopscroll = true; this.Scroll("down"); }, Start:function() { if(this.isSmoothScroll) { this.AutoScrollTimer = setInterval(this.GetFunction(this,"SmoothScroll"), this.Timeout); } else { this.AutoScrollTimer = setInterval(this.GetFunction(this,"AutoScroll"), this.Timeout); } }, Stop:function() { clearTimeout(this.AutoScrollTimer); this.DelayTimerStop = 0; }, MouseOver:function() { this.stopscroll = true; }, MouseOut:function() { this.stopscroll = false; }, AutoScroll:function() { if(this.stopscroll) { return; } this.ScrollContent.scrollTop++; if(parseInt(this.ScrollContent.scrollTop) % this.LineHeight != 0) { this.ScrollTimer = setTimeout(this.GetFunction(this,"AutoScroll"), this.Speed); } else { if(parseInt(this.ScrollContent.scrollTop) >= parseInt(this.ScrollContent.scrollHeight) / 2) { this.ScrollContent.scrollTop = 0; } clearTimeout(this.ScrollTimer); //this.AutoScrollTimer = setTimeout(this.GetFunction(this,"AutoScroll"), this.Timeout); } }, SmoothScroll:function() { if(this.stopscroll) { return; } this.ScrollContent.scrollTop++; if(parseInt(this.ScrollContent.scrollTop) >= parseInt(this.ScrollContent.scrollHeight) / 2) { this.ScrollContent.scrollTop = 0; } }, Scroll:function(direction) { if(direction=="up") { this.ScrollContent.scrollTop--; } else { this.ScrollContent.scrollTop++; } if(parseInt(this.ScrollContent.scrollTop) >= parseInt(this.ScrollContent.scrollHeight) / 2) { this.ScrollContent.scrollTop = 0; } else if(parseInt(this.ScrollContent.scrollTop)<=0) { this.ScrollContent.scrollTop = parseInt(this.ScrollContent.scrollHeight) / 2; } if(parseInt(this.ScrollContent.scrollTop) % this.LineHeight != 0) { this.ScrollTimer = setTimeout(this.GetFunction(this,"Scroll",direction), this.Speed); } }, GetFunction:function(variable,method,param) { return function() { variable[method](param); } } } function ignoreError() { return true; } window.onerror = ignoreError; var scroll2 = new ScrollText("breakNewsList","pre2","next2",true,50,true); scroll2.LineHeight = 63;