<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>换乘分析</title>
<meta name="renderer" content="webkit">
<#include "/header.html">
<style>
table.gridtable {
font-family: verdana,arial,sans-serif;
font-size:11px;
color:#333333;
border-width: 1px;
border-color: #666666;
border-collapse: collapse;
}
table.gridtable th {
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #666666;
}
table.gridtable td {
border-width: 1px;
padding: 8px;
border-style: solid;
border-color: #666666;
background-color: #ffffff;
}
html, body {
width: 100%;
height: 100%;
background-color: #ffffff;
margin: 0 auto;
padding: 0;
border: 0;
}
th {
text-align:center;
vertical-align:middle
}
</style>
</head>
<body>
<div id="rrapp">
<div class="grid-btn">
<!-- 查询-->
<div style="margin-bottom: 40px;">
<div class="form-group col-sm-2" style="margin-right: 10px">
<div class="input-bor" style="width: 225px; line-height: 26px">
线路:
<select class="select01" style="width: 145px;" v-model="lineNumber" @change="lineNum">
<option value="">请选择</option>
<option value="1号线">1号线</option>
<option value="2号线">2号线</option>
<option value="3号线">3号线</option>
<option value="4号线">4号线</option>
<option value="5号线">5号线</option>
<option value="6号线">6号线</option>
<option value="7号线">7号线</option>
<option value="8号线">8号线</option>
<option value="9号线">9号线</option>
<option value="10号线">10号线</option>
<option value="11号线">11号线</option>
</select>
</div>
</div>
<div class="form-group col-sm-2">
<div class="input-bor" style="width: 225px; line-height: 26px">
年份查询:<input class="" style="width: 145px;height: 22px;border: none;text-align: left;" id="dateYear" v-model="dateYear" class="select01" type="text" readonly placeholder="请选择" @click.stop="datePick">
</div>
</div>
<div class="form-group col-sm-2" style="margin-left: 20px">
<a class="btn btn-warning" @click.stop="clearall" style="display: inline;">重置</a>
</div>
</div>
</div>
<table id="jqGrid" class="table-bordered ly-jqgrid">
<div style="margin: 0 0 10px 10px; font-size: 12px">
<span>注: 人数单位为"万人"</span>
</div>
</table>
<div id="jqGridPager"></div>
<!-- echart图表-->
<div style="width: 100%; height: 600px; margin-top: 20px">
<div id="echartBar" style="width: 100%; height: 375px"></div>
</div>
</div>
<script type="text/javascript" src="${request.contextPath}/statics/libs/echarts.min.js"></script>
<script type="text/javascript" src="${request.contextPath}/statics/libs/jquery.raty.js"></script>
<script type="text/javascript" src="${request.contextPath}/statics/plugins/layui/lay/laydate/laydate.js"></script>
<script type="text/javascript" src="${request.contextPath}/statics/js/modules/klyyfx/ycysjkldb.js"></script>
</body>
</html>
$(function () {
$("#jqGrid").jqGrid('clearGridData'); //清空表格
$("#jqGrid").jqGrid({
url: '/gdjt/castAct/getListPage',
datatype: "json",
postData:{
'page': '', // 每页
'limit': '' // 每页条数据
},
colModel: [
{ label: '序号', name: 'id', index: 'SSHY',align:'center', width: 6,
formatter: function (value, option, rowItem) {
return value - 19
}
},
{ label: '线路名称', name: 'lineName', align:'center', width: 10},
{ label: '统计时间', name: 'statTime', align:'center', width: 10},
{ label: '日均客运总量(实际/预测)', name: '', align:'center', width: 10,
formatter: function (value, option, rowItem) {
// console.log(rowItem) // 每条数据展示
return rowItem.sjrjkyzl + ' / ' + rowItem.ycrjkyzl
}
},
{ label: '高峰小时最大断面流量(实际/预测)', name: '', align:'center', width: 16,
formatter: function (value, option, rowItem) {
return rowItem.sjgfxszddmll + ' / ' + rowItem.ycgfxszddmll
}
},
{ label: '最小发车间隔(实际/预测)秒', name: '', align:'center', width: 10,
formatter: function (value, option, rowItem) {
return rowItem.sjzxfcjg + ' / ' + rowItem.yczxfcjg
}
},
{ label: '运能运用率(实际/预测)%', name: '', align:'center', width: 10,
formatter: function (value, option, rowItem) {
return rowItem.sjynlyl + ' / ' + rowItem.ycynlyl
}
},
{ label: '日平均运距(实际/预测)km', name: '', align:'center', width: 10,
formatter: function (value, option, rowItem) {
return rowItem.sjrpjyj + ' / ' + rowItem.ycrpjyj
}
},
{ label: '日均周转量(实际/预测)km', name: '', align:'center', width: 10,
formatter: function (value, option, rowItem) {
return rowItem.sjrjzzl + ' / ' + rowItem.ycrjzzl
}
}
],
viewrecords: true, // 是否要显示总记录数信息
height: 401, // 表格高度
rowNum: 10, // 设置表格可以显示的记录数
rowList : [10,30,50], // 可以改变表格可以显示的记录数
rownumbers: false, // 如果为ture则会在表格左边新增一列,显示行顺序号,从1开始递增。
rownumWidth: 60, // 如果rownumbers为true,则可以设置column的宽度
autowidth:true, // 如果为ture时,则当表格在首次被创建时会根据父元素比例重新调整表格宽度。如果父元素宽度改变,为了使表格宽度能够自动调整则需要实现函数:setGridWidth
//multiselect: true, // 定义是否可以多选
pager: "#jqGridPager",
jsonReader : { // 跟服务器端返回的数据做对应
root: "data.records", // 包含实际数据的数组
page: "data.current", // 当前页
total: "data.pages", // 总页数
records: "data.records" // 查询出的记录数
},
prmNames : { // 传递给后端的数据
page: 'page',
rows: 'limit',
order: "order"
}
})
})
var vm = new Vue({
el:'#rrapp',
data:{
page: 1,
limit: 10,
dateYear: new Date().getFullYear(), // 年份查询
lineNumber: '' // 线路查询
},
mounted() {
this.initPage() // 默认执行
},
created() {
},
methods: {
initPage() {
this.chartData()
// this.getEcharts()
this.query()
this.getList()
},
// 年选择器
datePick() {
var _this = this
laydate.render({
elem: '#dateYear',
type: 'year',
trigger: 'click',
done: function(value, date){
vm.dateYear = value
_this.query()
_this.getList()
}
})
},
// 查询
query() {
var _this = this
var page = $("#jqGrid").jqGrid('getGridParam','page');
$("#jqGrid").jqGrid("clearGridData").jqGrid('setGridParam',{
postData:{
'line': _this.lineNumber,
'year': _this.dateYear
},
page:page
}).trigger("reloadGrid");
},
// 路线查询
lineNum () {
vm.query()
},
// 重置
clearall() {
vm.page = 1
vm.limit = 10
vm.dateYear = new Date().getFullYear()
vm.lineNumber = ''
vm.query()
vm.getList()
},
// 获取数据
getList() {
var _this = this
request('castAct/getListPage', {
data: {
page: _this.page,
limit: _this.limit,
year: _this.dateYear
},
success: function (res) {
// console.log(res.records)
_this.chartData (res.records)
}
})
},
// // 获取图表数据
// getEcharts() {
// var _this = this
// request('castAct/getInfo'+this.dateYear, {
// success: function(res) {
// _this.chartData (res)
// // console.log('图表查询', res)
// }
// })
// },
// 图表数据
chartData (res) {
var objChart = {
xAxis: [],
year: '',
colors: ['#88a21d','#0c7d22','#ad2b3d','#be75d0','#056025','#38ad8e','#9b0fbe','#26bf6b','#e1e95d','#4fb480','#54a5fa','#b80164',],
legendName: ['日均客运总量/万人(实际)','日均客运总量/万人(预测)','高峰小时最大断面流量/万人(实际)','高峰小时最大断面流量/万人(预测)','最小发车间隔/s(实际)','最小发车间隔/s(预测)','运能利用率/%(实际)','运能利用率/%(预测)','日平均运距/km(实际)','日平均运距/km(预测)','日均周转量/km(实际)','日均周转量/km(预测)'],
// legendName: ['sjrjkyzl','ycrjkyzl','sjgfxszddmll','ycgfxszddmll','sjzxfcjg','yczxfcjg','sjynlyl','ycynlyl','sjrpjyj','ycrpjyj','sjrjzzl','ycrjzzl'],
sjrjkyzl: [], // 实际日均客运总量
ycrjkyzl: [],
sjgfxszddmll: [], // 实际高峰小时最大断面流量
ycgfxszddmll: [],
sjzxfcjg: [], // 实际最小发车间隔
yczxfcjg: [],
sjynlyl: [], // 实际运能运用率
ycynlyl: [],
sjrpjyj: [], // 实际日平均运距
ycrpjyj: [],
sjrjzzl: [], // 实际日平均周转量
ycrjzzl: [],
}
var res = res || []
res.map(function (item) {
objChart.xAxis.push(item.month + '月')
objChart.year = item.year
objChart.sjrjkyzl.push(item.sjrjkyzl)
objChart.ycrjkyzl.push(item.ycrjkyzl)
objChart.sjgfxszddmll.push(item.sjgfxszddmll)
objChart.ycgfxszddmll.push(item.ycgfxszddmll)
objChart.sjzxfcjg.push(item.sjzxfcjg)
objChart.yczxfcjg.push(item.yczxfcjg)
objChart.sjynlyl.push(item.sjynlyl)
objChart.ycynlyl.push(item.ycynlyl)
objChart.sjrpjyj.push(item.sjrpjyj)
objChart.ycrpjyj.push(item.ycrpjyj)
objChart.sjrjzzl.push(item.sjrjzzl)
objChart.ycrjzzl.push(item.ycrjzzl)
})
this.initChart('echartBar', objChart)
// console.log(objChart.year)
},
// 图表展示
initChart (id, configs) {
configs = configs || {}
var option = {
title: {
show: true,
text: configs.year + '年轨道交通实际与预测的客流情况',
x: 'center'
},
color: configs.colors, // 颜色
tooltip: { // 提示框
trigger: 'axis', // 触发方式
axisPointer: {
type: 'shadow' // 阴影显示器
}
},
legend: { // 标题
show: true, // 显示
data: configs.legendName,
bottom: "0%"
},
grid: { // 图表跟容器的间距
show: true,
// left: '3%',
// right: '4%',
bottom: '30%',
// containLabel: true
},
xAxis: {
type: 'category',
data: configs.xAxis,
axisTick: {
show: false
},
// axisLabel:{ // x轴标题倾斜加超出隐藏
// interval: 0,
// rotate: 30,
// // formatter: function (value) { // 竖着排列
// // return value.split('').join('\n')
// // }
// formatter: function(value) { // 标题超出隐藏
// var res = value;
// if(res.length > 5) {
// res = res.substring(0, 8) + "..";
// }
// return res;
// }
// },
},
yAxis: {
min: 0,
show: true,
splitLine: {
show: true
// lineStyle: { // 刻度线颜色
// color: '#4c9bfd'
// }
},
axisLine: {
show: false // 去除轴线
},
axisTick: {
show: false //去除刻度线
},
type: 'value'
},
series: [
{
type: 'bar',
barGap: '0%', // 清除个多个柱子之间的空隙
name: configs.legendName[0],
data: configs.sjrjkyzl
},
{
type: 'bar',
barGap: '0%',
name: configs.legendName[1],
data: configs.ycrjkyzl
},
{
type: 'bar',
barGap: '0%',
name: configs.legendName[2],
data: configs.sjgfxszddmll
},
{
type: 'bar',
barGap: '0%',
name: configs.legendName[3],
data: configs.ycgfxszddmll
},
{
type: 'bar',
barGap: '0%',
name: configs.legendName[4],
data: configs.sjzxfcjg
},
{
type: 'bar',
barGap: '0%',
name: configs.legendName[5],
data: configs.yczxfcjg
},
{
type: 'bar',
barGap: '0%',
name: configs.legendName[6],
data: configs.sjynlyl
},
{
type: 'bar',
barGap: '0%',
name: configs.legendName[7],
data: configs.ycynlyl
},
{
type: 'bar',
barGap: '0%',
name: configs.legendName[8],
data: configs.sjrpjyj
},
{
type: 'bar',
barGap: '0%',
name: configs.legendName[9],
data: configs.ycrpjyj
},
{
type: 'bar',
barGap: '0%',
name: configs.legendName[10],
data: configs.sjrjzzl
},
{
type: 'bar',
barGap: '0%',
name: configs.legendName[11],
data: configs.ycrjzzl
}
]
}
var myChart = echarts.getInstanceByDom(document.getElementById(id));
if (myChart === undefined) {
myChart = echarts.init(document.getElementById(id));
}else{
myChart.clear(myChart)
}
myChart.setOption(option, true);
}
}
})
vue和表格和饼状图的渲染
最新推荐文章于 2022-07-11 20:04:13 发布