8 changed files with 631 additions and 521 deletions
@ -1,203 +1,225 @@ |
|||||
|
|
||||
import * as echarts from "echarts"; |
import * as echarts from "echarts"; |
||||
let color = ['#4278F8F9', 'transparent','#5372C4F9', 'transparent', '#0046FFF9', 'transparent','#FB9434F9', 'transparent','#854101F9', 'transparent', '#05E599F9', 'transparent','#219F73F9', 'transparent','#7CEDD5F9', 'transparent',]; |
let color = [ |
||||
let colorend = ['#4278F800', 'transparent', '#5372C400', 'transparent','#0046FF00', 'transparent', '#FB943400', 'transparent','#85410100', 'transparent','#05E59900', 'transparent','#219F7300', 'transparent','#7CEDD500', 'transparent',]; |
"#4278F8F9", |
||||
|
"#5372C4F9", |
||||
|
"#0046FFF9", |
||||
|
"#FB9434F9", |
||||
|
"#854101F9", |
||||
|
"#05E599F9", |
||||
|
"#219F73F9", |
||||
|
"#7CEDD5F9", |
||||
|
]; |
||||
|
let colorend = [ |
||||
|
"#4278F800", |
||||
|
"#5372C400", |
||||
|
"#0046FF00", |
||||
|
"#FB943400", |
||||
|
"#85410100", |
||||
|
"#05E59900", |
||||
|
"#219F7300", |
||||
|
"#7CEDD500", |
||||
|
]; |
||||
const datas = [ |
const datas = [ |
||||
{ |
{ |
||||
name: '客1', |
name: "客1", |
||||
// num:''
|
// num:''
|
||||
value: 13456, |
value: 13456, |
||||
}, |
}, |
||||
{ |
{ |
||||
name: '客2', |
name: "客2", |
||||
value: 13456, |
value: 13456, |
||||
}, |
}, |
||||
{ |
{ |
||||
name: '客3', |
name: "客3", |
||||
value: 13456, |
value: 13456, |
||||
}, |
}, |
||||
{ |
{ |
||||
name: '专1', |
name: "专1", |
||||
// num:''
|
// num:''
|
||||
value: 13456, |
value: 13456, |
||||
}, |
}, |
||||
{ |
{ |
||||
name: '专2', |
name: "专2", |
||||
value: 13456, |
value: 13456, |
||||
}, |
}, |
||||
{ |
{ |
||||
name: '专3', |
name: "专3", |
||||
value: 13456, |
value: 13456, |
||||
}, |
}, |
||||
{ |
{ |
||||
name: '货1', |
name: "货1", |
||||
value: 13456, |
value: 13456, |
||||
}, |
}, |
||||
{ |
{ |
||||
name: '货2', |
name: "货2", |
||||
value: 13456, |
value: 13456, |
||||
}, |
}, |
||||
]; |
]; |
||||
|
|
||||
let sum = 0; |
let sum = 0; |
||||
for (var i of datas) { |
for (var i of datas) { |
||||
sum += i.value; |
sum += i.value; |
||||
} |
} |
||||
|
|
||||
var options = { |
var options = { |
||||
tooltip: { |
tooltip: { |
||||
show:true, |
show: true, |
||||
trigger: 'item', |
// trigger: "item",
|
||||
formatter: '{a} <br/>{b}: {c} ({d}%)', |
// formatter: "{a} <br/>{b}: {c} ({d}%)",
|
||||
backgroundColor:"#ffffff", |
// backgroundColor: "#ffffff",
|
||||
textStyle:{ |
// textStyle: {
|
||||
color:"#666" |
// color: "#666",
|
||||
} |
// },
|
||||
|
}, |
||||
|
legend: { |
||||
|
orient: "vertical", |
||||
|
right: 40, |
||||
|
top: 50, |
||||
|
formatter: (name) => { |
||||
|
let res = datas.filter((v) => v.name === name); |
||||
|
let str = ""; |
||||
|
str = |
||||
|
"{name1|" + |
||||
|
res[0].name + |
||||
|
"}{name2|" + |
||||
|
res[0].value + |
||||
|
"}辆" + |
||||
|
"{name2|" + |
||||
|
(res[0].value / sum) * 100 + |
||||
|
"}%"; |
||||
|
return str; |
||||
}, |
}, |
||||
legend: { |
icon: "circle", |
||||
orient: 'vertical', |
itemWidth: 10, |
||||
right: 40, |
itemHeight: 10, |
||||
top:50, |
itemGap: 20, |
||||
formatter:(name)=>{ |
borderRadius: 50, |
||||
let res = datas.filter(v => v.name === name); |
itemStyle: {}, |
||||
let str = '' |
textStyle: { |
||||
str = '{name1|' + res[0].name + '}{name2|' + res[0].value + '}辆'+ '{name2|' + res[0].value/sum * 100 + '}%' |
rich: { |
||||
return str |
background: { |
||||
|
background: "#DEDEDE", |
||||
|
fontSize: 14, |
||||
|
align: "left", |
||||
|
padding: [0, 10, 20, 0], |
||||
}, |
}, |
||||
icon: 'circle', |
name1: { |
||||
itemWidth:10, |
color: "#fff", |
||||
itemHeight:10, |
fontSize: 14, |
||||
itemGap: 20, |
Width: 12, |
||||
borderRadius:50, |
align: "left", |
||||
itemStyle:{ |
padding: [0, 0, 0, 10], |
||||
|
|
||||
}, |
}, |
||||
textStyle:{ |
name2: { |
||||
rich:{ |
color: "#37E7FF", |
||||
background: { |
fontSize: 14, |
||||
background: '#DEDEDE', |
align: "left", |
||||
fontSize: 14, |
padding: [0, 0, 0, 10], |
||||
align: 'left', |
}, |
||||
padding: [0, 10, 20, 0], |
value: { |
||||
}, |
color: "#ccc", |
||||
name1: { |
fontSize: 14, |
||||
color: '#fff', |
align: "left", |
||||
fontSize: 14, |
}, |
||||
Width: 12, |
title: { |
||||
align: 'left', |
// color: '#fff',
|
||||
padding: [0, 0, 0, 10], |
color: "#C60020", |
||||
}, |
fontWeight: "bold", |
||||
name2: { |
fontSize: 40, |
||||
color: '#37E7FF', |
|
||||
fontSize: 14, |
|
||||
align: 'left', |
|
||||
padding: [0, 0, 0, 10], |
|
||||
}, |
|
||||
value: { |
|
||||
color: '#ccc', |
|
||||
fontSize: 14, |
|
||||
align: 'left', |
|
||||
}, |
|
||||
title: { |
|
||||
// color: '#fff',
|
|
||||
color: "#C60020", |
|
||||
fontWeight:'bold', |
|
||||
fontSize: 40, |
|
||||
} |
|
||||
}, |
|
||||
color:"#fff", |
|
||||
}, |
}, |
||||
data: [ |
}, |
||||
{ |
color: "#fff", |
||||
name:'客1', |
|
||||
backgroundColor:'#5CC5FF', |
|
||||
}, '客2', '客3', '货1', |
|
||||
'货2', '专1', '专2', '专3'] |
|
||||
}, |
}, |
||||
series: [ |
data: [ |
||||
{ |
{ |
||||
name: '', |
name: "客1", |
||||
type: 'pie', |
backgroundColor: "#5CC5FF", |
||||
selectedMode: 'single', |
}, |
||||
radius: [0, '50%'], |
"客2", |
||||
center:['25%','50%'], |
"客3", |
||||
label: { |
"货1", |
||||
normal: { |
"货2", |
||||
position: 'inner', |
"专1", |
||||
show: true, |
"专2", |
||||
color:'#fff', |
"专3", |
||||
fontSize:14, |
], |
||||
formatter: '{b}\n{c}辆', |
}, |
||||
} |
series: [ |
||||
}, |
{ |
||||
data: [ |
name: "", |
||||
{value: 2290, name: '客车\n'}, |
type: "pie", |
||||
{value: 1020, name: '货车\n'}, |
selectedMode: "single", |
||||
{value: 3000, name: '专项车\n'}, |
radius: [0, "50%"], |
||||
], |
center: ["25%", "50%"], |
||||
color:['#708FFF','#FB9434','#219F73'] |
label: { |
||||
|
normal: { |
||||
|
position: "inner", |
||||
|
show: true, |
||||
|
color: "#fff", |
||||
|
fontSize: 14, |
||||
|
formatter: "{b}\n{c}辆", |
||||
}, |
}, |
||||
{ |
}, |
||||
name: '', |
data: [ |
||||
type: 'pie', |
{ value: 2290, name: "客车\n" }, |
||||
radius: ['60%', '70%'], |
{ value: 1020, name: "货车\n" }, |
||||
center:['25%','50%'], |
{ value: 3000, name: "专项车\n" }, |
||||
label: { |
], |
||||
position: 'inner', |
color: ["#708FFF", "#FB9434", "#219F73"], |
||||
show: false |
}, |
||||
}, |
{ |
||||
data: [ |
name: "", |
||||
{value: 13456, name: '客1'}, |
type: "pie", |
||||
{value: 2000, name: ''}, |
radius: ["60%", "70%"], |
||||
{value: 13456, name: '客2'}, |
center: ["25%", "50%"], |
||||
{value: 2000, name: ''}, |
label: { |
||||
{value: 13456, name: '客3'}, |
position: "inner", |
||||
{value: 2000, name: ''}, |
show: false, |
||||
{value: 13456, name: '货1'}, |
}, |
||||
{value: 2000, name: ''}, |
data: [ |
||||
{value: 13456, name: '货2'}, |
{ value: 13456, name: "客1" }, |
||||
{value: 2000, name: ''}, |
{ value: 13456, name: "客2" }, |
||||
{value: 13456, name: '专1'}, |
{ value: 13456, name: "客3" }, |
||||
{value: 2000, name: ''}, |
{ value: 13456, name: "货1" }, |
||||
{value: 13456, name: '专2'}, |
{ value: 13456, name: "货2" }, |
||||
{value: 2000, name: ''}, |
{ value: 13456, name: "专1" }, |
||||
{value: 13456, name: '专3'}, |
{ value: 13456, name: "专2" }, |
||||
{value: 2000, name: ''}, |
{ value: 13456, name: "专3" }, |
||||
], |
], |
||||
itemStyle: { |
itemStyle: { |
||||
normal: { |
normal: { |
||||
borderRadius: "5", |
borderRadius: "5", |
||||
borderWidth:0, |
borderWidth: 2, |
||||
borderType:"solid", |
borderType: "solid", |
||||
borderCap:"round", |
borderCap: "round", |
||||
borderJoin:"round", |
borderJoin: "round", |
||||
borderColor:"#064258", |
borderColor: "#064258", |
||||
borderMiterLimit:"20", |
borderMiterLimit: "20", |
||||
color: function(params) { |
color: function (params) { |
||||
return { |
return { |
||||
type: 'linear', |
type: "linear", |
||||
x: 0, |
x: 0, |
||||
y: 0, |
y: 0, |
||||
x2: 1, |
x2: 1, |
||||
y2: 1, |
y2: 1, |
||||
colorStops: [{ |
colorStops: [ |
||||
offset: 0, |
{ |
||||
color: color[params.dataIndex] // 0% 处的颜色
|
offset: 0, |
||||
}, |
color: color[params.dataIndex], // 0% 处的颜色
|
||||
{ |
|
||||
offset: 1, |
|
||||
color: colorend[params.dataIndex] // 100% 处的颜色
|
|
||||
} |
|
||||
], |
|
||||
globalCoord: false // 缺省为 false
|
|
||||
} |
|
||||
} |
|
||||
}, |
}, |
||||
}, |
{ |
||||
color:['#009688','#63BA79','#FFB800','#F7ED46','#666666'] |
offset: 1, |
||||
} |
color: colorend[params.dataIndex], // 100% 处的颜色
|
||||
] |
}, |
||||
} |
], |
||||
|
globalCoord: false, // 缺省为 false
|
||||
|
}; |
||||
|
}, |
||||
|
}, |
||||
|
}, |
||||
|
// color: ["#009688", "#63BA79", "#FFB800", "#F7ED46", "#666666"],
|
||||
|
}, |
||||
|
], |
||||
|
}; |
||||
|
|
||||
export default options; |
export default options; |
||||
|
@ -1,188 +1,256 @@ |
|||||
<template> |
<template> |
||||
<div class='heightway'> |
<div class="heightway"> |
||||
<WgtTitle :title="'交通路段状态'"></WgtTitle> |
<WgtTitle :title="'交通路段状态'"></WgtTitle> |
||||
<div class="board"> |
<div class="board"> |
||||
<div class="searchPanel"> |
<div class="searchPanel"> |
||||
<div >起始桩号:k</div> |
<div>起始桩号:k</div> |
||||
<el-input class="inputZh" v-model="start"></el-input> |
<el-input class="inputZh" v-model="start" placeholder="55"></el-input> |
||||
<el-input class="inputZh inputJl" v-model="start1"></el-input> |
<span>+</span> |
||||
<div >结束桩号:k</div> |
<el-input |
||||
<el-input class="inputZh" v-model="start2"></el-input> |
class="inputZh inputJl" |
||||
<el-input class="inputZh inputJl" v-model="start3"></el-input> |
v-model="start1" |
||||
<div >路段方向:</div> |
placeholder="378" |
||||
<el-select v-model="area" class="selectRoad" placeholder="请选择"> |
></el-input> |
||||
<el-option |
<div>结束桩号:k</div> |
||||
v-for="item in areaOptions" |
<el-input class="inputZh" v-model="start2" placeholder="208"></el-input> |
||||
:key="item.value" |
<span>+</span> |
||||
:label="item.label" |
<el-input |
||||
:value="item.value"> |
class="inputZh inputJl" |
||||
</el-option> |
v-model="start3" |
||||
</el-select> |
placeholder="153" |
||||
<el-button type="primary" class="btnSearch" @click="onSubmit">搜索</el-button> |
></el-input> |
||||
<el-button class="btnReset">重置</el-button> |
<div>路段方向:</div> |
||||
|
<el-select v-model="area" class="selectRoad" placeholder="请选择"> |
||||
|
<el-option |
||||
|
v-for="item in areaOptions" |
||||
|
:key="item.value" |
||||
|
:label="item.label" |
||||
|
:value="item.value" |
||||
|
> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
<el-button type="primary" class="btnSearch" @click="onSubmit" |
||||
|
>搜索</el-button |
||||
|
> |
||||
|
<el-button class="btnReset">重置</el-button> |
||||
|
</div> |
||||
|
<div class="tblResult"> |
||||
|
<div class="tblTd"> |
||||
|
<div>路段名称</div> |
||||
|
<div>方向</div> |
||||
|
<div>状态</div> |
||||
|
<div>平均车速</div> |
||||
|
<div>总车流量</div> |
||||
</div> |
</div> |
||||
<div class="tblResult"> |
<div |
||||
<div class="tblTd"> |
:class="'tblTd ' + (index % 2 === 0 ? 'tblTwo' : '')" |
||||
<div>路段名称</div> |
v-for="(item, index) of list" |
||||
<div>方向</div> |
> |
||||
<div>状态</div> |
<div>{{ item.name }}</div> |
||||
<div>平均车速</div> |
<div>{{ item.direction }}</div> |
||||
<div>总车流量</div> |
<div style="color: #00ebc1">{{ item.state }}</div> |
||||
</div> |
<div>{{ item.speed }}</div> |
||||
<div :class="'tblTd ' + (index%2===0?'tblTwo':'')" v-for="(item,index) of list"> |
<div>{{ item.follow }}</div> |
||||
<div>{{ item.name }}</div> |
|
||||
<div>{{ item.direction }}</div> |
|
||||
<div style="color:#00EBC1">{{ item.state }}</div> |
|
||||
<div>{{ item.speed }}</div> |
|
||||
<div>{{ item.follow }}</div> |
|
||||
</div> |
|
||||
</div> |
</div> |
||||
</div> |
</div> |
||||
|
</div> |
||||
</div> |
</div> |
||||
</template> |
</template> |
||||
|
|
||||
<script> |
<script> |
||||
|
import WgtTitle from "../../../widgets/title"; |
||||
import WgtTitle from '../../../widgets/title' |
|
||||
export default { |
export default { |
||||
name: 'Heightway', |
name: "Heightway", |
||||
components: { |
components: { |
||||
WgtTitle |
WgtTitle, |
||||
}, |
}, |
||||
data() { |
data() { |
||||
return { |
return { |
||||
start:'', |
start: "", |
||||
start1:'', |
start1: "", |
||||
start2:'', |
start2: "", |
||||
start3:'', |
start3: "", |
||||
areaOptions: [{ |
areaOptions: [ |
||||
value: '济南', |
{ |
||||
label: '济南' |
value: "济南", |
||||
}, { |
label: "济南", |
||||
value: '菏泽', |
}, |
||||
label: '菏泽' |
{ |
||||
}], |
value: "菏泽", |
||||
area: '济南', |
label: "菏泽", |
||||
list:[ |
}, |
||||
{name:'大学城-长清', direction:'济南方向', state:"正常",speed:'108.14km/h', follow:'161'}, |
], |
||||
{name:'大学城-长清', direction:'济南方向', state:"正常",speed:'108.14km/h', follow:'161'}, |
area: "济南", |
||||
{name:'大学城-长清', direction:'济南方向', state:"正常",speed:'108.14km/h', follow:'161'}, |
list: [ |
||||
{name:'大学城-长清', direction:'济南方向', state:"正常",speed:'108.14km/h', follow:'161'}, |
{ |
||||
{name:'大学城-长清', direction:'济南方向', state:"正常",speed:'108.14km/h', follow:'161'}, |
name: "大学城-长清", |
||||
{name:'大学城-长清', direction:'济南方向', state:"正常",speed:'108.14km/h', follow:'161'} |
direction: "济南方向", |
||||
] |
state: "正常", |
||||
|
speed: "108.14km/h", |
||||
} |
follow: "161", |
||||
|
}, |
||||
|
{ |
||||
|
name: "大学城-长清", |
||||
|
direction: "济南方向", |
||||
|
state: "正常", |
||||
|
speed: "108.14km/h", |
||||
|
follow: "161", |
||||
|
}, |
||||
|
{ |
||||
|
name: "大学城-长清", |
||||
|
direction: "济南方向", |
||||
|
state: "正常", |
||||
|
speed: "108.14km/h", |
||||
|
follow: "161", |
||||
|
}, |
||||
|
{ |
||||
|
name: "大学城-长清", |
||||
|
direction: "济南方向", |
||||
|
state: "正常", |
||||
|
speed: "108.14km/h", |
||||
|
follow: "161", |
||||
|
}, |
||||
|
{ |
||||
|
name: "大学城-长清", |
||||
|
direction: "济南方向", |
||||
|
state: "正常", |
||||
|
speed: "108.14km/h", |
||||
|
follow: "161", |
||||
|
}, |
||||
|
{ |
||||
|
name: "大学城-长清", |
||||
|
direction: "济南方向", |
||||
|
state: "正常", |
||||
|
speed: "108.14km/h", |
||||
|
follow: "161", |
||||
|
}, |
||||
|
], |
||||
|
}; |
||||
}, |
}, |
||||
|
|
||||
created() { |
created() {}, |
||||
|
|
||||
}, |
|
||||
methods: { |
methods: { |
||||
onSubmit() { |
onSubmit() { |
||||
console.log('submit!'); |
console.log("submit!"); |
||||
} |
}, |
||||
} |
}, |
||||
} |
}; |
||||
</script> |
</script> |
||||
|
|
||||
<style lang='scss' scoped> |
<style lang="scss" scoped> |
||||
|
|
||||
|
|
||||
.el-input__inner { |
.el-input__inner { |
||||
background-color: transparent !important; |
background-color: transparent !important; |
||||
|
font-size: 12px; |
||||
|
} |
||||
|
::v-deep .el-input__inner { |
||||
|
padding: 0 10px; |
||||
|
} |
||||
|
::v-deep .el-input__inner::placeholder { |
||||
|
color: #9f9f9f; |
||||
|
font-size: 12px; |
||||
} |
} |
||||
.heightway { |
.heightway { |
||||
width: 100%; |
width: 100%; |
||||
.board{ |
.board { |
||||
height: 400px; |
height: 400px; |
||||
width: 100%; |
width: 100%; |
||||
background: linear-gradient(180deg, rgba(6,66,88,0.2) 0%, #064258 100%); |
background: linear-gradient(180deg, rgba(6, 66, 88, 0.2) 0%, #064258 100%); |
||||
border-radius: 5px 5px 5px 5px; |
border-radius: 5px 5px 5px 5px; |
||||
opacity: 1; |
opacity: 1; |
||||
border: 1px solid; |
border: 1px solid; |
||||
border-image: linear-gradient(360deg, rgba(55, 231, 255,0.3), rgba(55, 231, 255, 0)) 1 1; |
border-image: linear-gradient( |
||||
|
360deg, |
||||
|
rgba(55, 231, 255, 0.3), |
||||
|
rgba(55, 231, 255, 0) |
||||
|
) |
||||
|
1 1; |
||||
display: flex; |
display: flex; |
||||
justify-content: center; |
justify-content: center; |
||||
align-items: center; |
align-items: center; |
||||
flex-direction: column; |
flex-direction: column; |
||||
padding:15px 10px; |
padding: 15px 10px; |
||||
.searchPanel{ |
.searchPanel { |
||||
display: flex; |
display: flex; |
||||
justify-content: center; |
justify-content: center; |
||||
align-items: center; |
align-items: center; |
||||
height: 40px; |
height: 40px; |
||||
width:100%; |
width: 100%; |
||||
font-size: 14px; |
font-size: 13px; |
||||
margin-bottom: 10px; |
margin-bottom: 10px; |
||||
div{ |
div { |
||||
white-space: nowrap; |
white-space: nowrap; |
||||
margin-right: 4px; |
margin-right: 4px; |
||||
} |
} |
||||
.inputZh{ |
.inputZh { |
||||
width: 47px; |
width: 60px; |
||||
::v-deep{ |
::v-deep { |
||||
.el-input__inner{ |
.el-input__inner { |
||||
background-color: #064258 !important; |
background-color: #064258 !important; |
||||
border-width: 0px !important; |
border-width: 0px !important; |
||||
|
} |
||||
} |
} |
||||
} |
} |
||||
} |
.inputJl { |
||||
.inputJl{ |
// width: 60px; |
||||
margin-left: 5px; |
margin-left: 5px; |
||||
margin-right: 10px; |
margin-right: 10px; |
||||
} |
} |
||||
.selectRoad{ |
.selectRoad { |
||||
width:87px; |
width: 87px; |
||||
::v-deep{ |
::v-deep { |
||||
.el-input__inner{ |
.el-input__inner { |
||||
background-color: #064258 !important; |
background-color: #064258 !important; |
||||
border-width: 0px !important; |
border-width: 0px !important; |
||||
|
font-size: 12px; |
||||
|
} |
||||
} |
} |
||||
} |
} |
||||
|
.btnSearch { |
||||
|
background-color: #00b3cc; |
||||
|
margin-left: 10px; |
||||
|
padding: 6px 15px; |
||||
|
font-size: 13px; |
||||
|
} |
||||
|
.btnReset { |
||||
|
background-color: transparent; |
||||
|
border-color: #00b3cc; |
||||
|
color: white; |
||||
|
padding: 6px 15px; |
||||
|
font-size: 13px; |
||||
|
} |
||||
} |
} |
||||
.btnSearch{ |
|
||||
background-color: #00B3CC; |
|
||||
margin-left: 10px; |
|
||||
} |
|
||||
.btnReset{ |
|
||||
background-color: transparent; |
|
||||
border-color: #00B3CC; |
|
||||
color: white; |
|
||||
} |
|
||||
} |
|
||||
} |
} |
||||
|
|
||||
.tblResult{ |
.tblResult { |
||||
height: 300px; |
height: 300px; |
||||
|
width: 100%; |
||||
|
.tblTd { |
||||
width: 100%; |
width: 100%; |
||||
.tblTd{ |
display: flex; |
||||
width:100%; |
justify-content: space-between; |
||||
display: flex; |
background-color: #064258; |
||||
justify-content: space-between; |
height: 42px; |
||||
background-color: #064258; |
line-height: 42px; |
||||
height: 42px; |
color: #fff; |
||||
line-height: 42px; |
div { |
||||
color: #fff; |
text-align: left; |
||||
div{ |
width: 25%; |
||||
text-align: left; |
|
||||
width: 25%; |
|
||||
} |
|
||||
} |
|
||||
.tblTd:first-child{ |
|
||||
background-color: #0d3646; |
|
||||
color: #00D1FF; |
|
||||
} |
|
||||
.tblTd>div:first-child{ |
|
||||
width: 35%; |
|
||||
margin-left: 20px; |
|
||||
} |
|
||||
.tblTd>div:last-child{ |
|
||||
text-align: center; |
|
||||
} |
|
||||
.tblTwo{ |
|
||||
background-color: transparent !important; |
|
||||
} |
} |
||||
} |
} |
||||
|
.tblTd:first-child { |
||||
|
background-color: #0d3646; |
||||
|
color: #00d1ff; |
||||
|
} |
||||
|
.tblTd > div:first-child { |
||||
|
width: 35%; |
||||
|
margin-left: 20px; |
||||
|
} |
||||
|
.tblTd > div:last-child { |
||||
|
text-align: center; |
||||
|
} |
||||
|
.tblTwo { |
||||
|
background-color: transparent !important; |
||||
|
} |
||||
|
} |
||||
} |
} |
||||
</style> |
</style> |
||||
|
@ -1,125 +1,137 @@ |
|||||
let chartIcon = `data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAACXBIWXMAAC4jAAAuIwF4pT92AAAFw2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4wLWMwMDAgNzkuMTcxYzI3ZmFiLCAyMDIyLzA4LzE2LTIyOjM1OjQxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjQuMCAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjMtMTItMjlUMTA6MTM6MTQrMDg6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIzLTEyLTI5VDEwOjQ2OjE3KzA4OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIzLTEyLTI5VDEwOjQ2OjE3KzA4OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDplYzhkN2NkNS01ZjdjLTQ5Y2ItOTgyMy1lOTM4ODViNjRjMmIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ZjE1ZWVkNDgtNDA3ZS00MDU0LTliNTMtYTllZmQ1ODE5YjVmIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6ZjE1ZWVkNDgtNDA3ZS00MDU0LTliNTMtYTllZmQ1ODE5YjVmIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpmMTVlZWQ0OC00MDdlLTQwNTQtOWI1My1hOWVmZDU4MTliNWYiIHN0RXZ0OndoZW49IjIwMjMtMTItMjlUMTA6MTM6MTQrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNC4wIChNYWNpbnRvc2gpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDplYzhkN2NkNS01ZjdjLTQ5Y2ItOTgyMy1lOTM4ODViNjRjMmIiIHN0RXZ0OndoZW49IjIwMjMtMTItMjlUMTA6NDY6MTcrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNC4wIChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PibZhN0AAAHBSURBVDiNfdTtThNREAbgZ5sCrRTaRaBqQDTR6AXaq9grJEaiKCJWaAv9ENDUH2fWLkU8yeTkZGbe885nNp/PVU9vIMMGNtHGo1BNMQoZF7k7jlkVqDewji72sI5VrIT6F64xwRecFbnJPaDeQBsv8RSdCpsS6BYzDENOcVTkLv8CBZPX2McOdrEVITYC6BpjnKOP7zjG+yI3yd5dzLNg8jbY7MW9g+2lHJUgpzgJOcRRPX7dj3C6eIaDAO+iGUCzYPERWSXU5+jXIxct5MFgN0AOsLaoi9Ul0HHkaoBOLZg0IoQNPMaTJZAqWDfytylVtol2LdishNFaKBv/AClPI3waISto1UKZoRZ39h8QFZus8laTqvEbNyEzqdQPnZ/hcyMl/BbTmpSsacg43v0wXD43+BE2V+FzjWFdmp1ZKAZheByUt91tyD4+S/00wGWAjerxOJYS2JSSngX4lrsNeREfnUg9dRG+o3JEWniDF1Lpd6U2KEdkHoyuwvkM36TmPCxy4+rQdvDKoss7FhugzM8kIjiPED8UuSH310jLYkRaUl9V18gswD7ha5Ebl77ZA4utLY1MOT4sRmKI0fJi+wM9v6Q1QC+Y6wAAAABJRU5ErkJggg==`; |
let chartIcon = `data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAACXBIWXMAAC4jAAAuIwF4pT92AAAFw2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4wLWMwMDAgNzkuMTcxYzI3ZmFiLCAyMDIyLzA4LzE2LTIyOjM1OjQxICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjQuMCAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjMtMTItMjlUMTA6MTM6MTQrMDg6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIzLTEyLTI5VDEwOjQ2OjE3KzA4OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIzLTEyLTI5VDEwOjQ2OjE3KzA4OjAwIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDplYzhkN2NkNS01ZjdjLTQ5Y2ItOTgyMy1lOTM4ODViNjRjMmIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ZjE1ZWVkNDgtNDA3ZS00MDU0LTliNTMtYTllZmQ1ODE5YjVmIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6ZjE1ZWVkNDgtNDA3ZS00MDU0LTliNTMtYTllZmQ1ODE5YjVmIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpmMTVlZWQ0OC00MDdlLTQwNTQtOWI1My1hOWVmZDU4MTliNWYiIHN0RXZ0OndoZW49IjIwMjMtMTItMjlUMTA6MTM6MTQrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNC4wIChNYWNpbnRvc2gpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDplYzhkN2NkNS01ZjdjLTQ5Y2ItOTgyMy1lOTM4ODViNjRjMmIiIHN0RXZ0OndoZW49IjIwMjMtMTItMjlUMTA6NDY6MTcrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNC4wIChNYWNpbnRvc2gpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PibZhN0AAAHBSURBVDiNfdTtThNREAbgZ5sCrRTaRaBqQDTR6AXaq9grJEaiKCJWaAv9ENDUH2fWLkU8yeTkZGbe885nNp/PVU9vIMMGNtHGo1BNMQoZF7k7jlkVqDewji72sI5VrIT6F64xwRecFbnJPaDeQBsv8RSdCpsS6BYzDENOcVTkLv8CBZPX2McOdrEVITYC6BpjnKOP7zjG+yI3yd5dzLNg8jbY7MW9g+2lHJUgpzgJOcRRPX7dj3C6eIaDAO+iGUCzYPERWSXU5+jXIxct5MFgN0AOsLaoi9Ul0HHkaoBOLZg0IoQNPMaTJZAqWDfytylVtol2LdishNFaKBv/AClPI3waISto1UKZoRZ39h8QFZus8laTqvEbNyEzqdQPnZ/hcyMl/BbTmpSsacg43v0wXD43+BE2V+FzjWFdmp1ZKAZheByUt91tyD4+S/00wGWAjerxOJYS2JSSngX4lrsNeREfnUg9dRG+o3JEWniDF1Lpd6U2KEdkHoyuwvkM36TmPCxy4+rQdvDKoss7FhugzM8kIjiPED8UuSH310jLYkRaUl9V18gswD7ha5Ebl77ZA4utLY1MOT4sRmKI0fJi+wM9v6Q1QC+Y6wAAAABJRU5ErkJggg==`; |
||||
let xdata = { |
let xdata = { |
||||
value: ['大学城-长清', '长清-孝里', '孝里-平阴北', '平阴北-平阴', '平阴-东平', '东平-梁山东', '梁山东-嘉祥'] |
value: [ |
||||
|
"大学城-长清", |
||||
|
"长清-孝里", |
||||
|
"孝里-平阴北", |
||||
|
"平阴北-平阴", |
||||
|
"平阴-东平", |
||||
|
"东平-梁山东", |
||||
|
"梁山东-嘉祥", |
||||
|
"平阴2-东平", |
||||
|
"东平2-梁山东", |
||||
|
"梁山东2-嘉祥", |
||||
|
], |
||||
}; |
}; |
||||
|
let ind = -30; |
||||
let sdata = { |
let sdata = { |
||||
value: [32774, 30067, 28774, 30067, 30021, 30067, 32774] |
value: [32774, 30067, 28774, 30067, 30021, 30067, 32774, 30021, 30067, 32774], |
||||
} |
}; |
||||
|
|
||||
let dataZoomMove = { |
let dataZoomMove = { |
||||
start: 0, |
start: 0, |
||||
end: 4 |
end: 4, |
||||
} |
}; |
||||
var options = { |
var options = { |
||||
|
grid: { |
||||
|
containLabel: true, |
||||
|
// 边距自行修改
|
||||
|
bottom: "0%", |
||||
|
left: "0%", |
||||
|
top: "8%", |
||||
|
right: "10%", |
||||
|
}, |
||||
|
xAxis: { |
||||
|
type: "value", |
||||
|
axisLabel: { |
||||
|
show: false, |
||||
|
}, |
||||
|
axisLine: { |
||||
|
show: false, |
||||
|
}, |
||||
|
axisTick: { |
||||
|
show: false, |
||||
|
}, |
||||
|
splitLine: { |
||||
|
show: false, |
||||
|
}, |
||||
|
}, |
||||
|
yAxis: [ |
||||
|
{ |
||||
|
type: "category", |
||||
|
data: xdata.value, |
||||
|
inverse: true, |
||||
|
axisLabel: { |
||||
|
fontSize: "14px", |
||||
|
inside: true, |
||||
|
verticalAlign: "bottom", |
||||
|
color: "#fff", |
||||
|
padding: 10, |
||||
|
margin: -5, |
||||
|
formatter: function (value) { |
||||
|
let index = xdata.value.indexOf(value); |
||||
|
return `{a|Top${(ind += 1)}} {b|${value}}`; |
||||
|
}, |
||||
|
rich: { |
||||
|
a: { |
||||
|
fontSize: "10px", |
||||
|
}, |
||||
|
|
||||
grid: { |
b: { |
||||
containLabel: true, |
fontSize: "12px", |
||||
// 边距自行修改
|
padding: [0, 0, 0, 70], |
||||
bottom: '0%', |
}, |
||||
left: '0%', |
}, |
||||
top: '20%', |
|
||||
right: '10%', |
|
||||
}, |
}, |
||||
xAxis: { |
axisLine: { |
||||
type: 'value', |
show: false, |
||||
axisLabel: { |
|
||||
show: false |
|
||||
}, |
|
||||
axisLine: { |
|
||||
show: false, |
|
||||
}, |
|
||||
axisTick: { |
|
||||
show: false, |
|
||||
}, |
|
||||
splitLine: { |
|
||||
show: false, |
|
||||
}, |
|
||||
}, |
}, |
||||
yAxis: [ |
axisTick: { |
||||
{ |
show: false, |
||||
type: 'category', |
}, |
||||
data: xdata.value, |
}, |
||||
inverse: true, |
], |
||||
axisLabel: { |
series: [ |
||||
fontSize: '14px', |
{ |
||||
inside: true, |
realtimeSort: true, |
||||
verticalAlign: 'bottom', |
data: sdata.value, |
||||
color:'#fff', |
type: "bar", |
||||
padding:10, |
barWidth: 8, |
||||
margin:-5, |
itemStyle: { |
||||
formatter: function (value) { |
borderRadius: 40, |
||||
let index = xdata.value.indexOf(value); |
color: { |
||||
return `{a|Top${index+1}} {b|${value}}` |
type: "linear", |
||||
}, |
x: 0, |
||||
rich: { |
y: 0, |
||||
a: { |
x2: 1, |
||||
fontSize: '14px', |
y2: 0, |
||||
}, |
colorStops: [ |
||||
|
{ |
||||
b: { |
offset: 0, |
||||
fontSize: '14px', |
color: "#1cd0f000", // 0% 处的颜色
|
||||
padding: [0, 0, 0, 70], |
|
||||
} |
|
||||
}, |
|
||||
}, |
}, |
||||
axisLine: { |
{ |
||||
show: false, |
offset: 1, |
||||
|
color: "#1cd0f0", // 100% 处的颜色
|
||||
}, |
}, |
||||
axisTick: { |
], |
||||
show: false, |
global: false, // 缺省为 false
|
||||
} |
}, |
||||
} |
}, |
||||
], |
label: { |
||||
series: [ |
show: true, |
||||
{ |
position: "right", |
||||
data: sdata.value, |
distance: -10, |
||||
type: 'bar', |
data: sdata, |
||||
barWidth: 8, |
color: "#fff", |
||||
itemStyle: { |
formatter: (c) => { |
||||
borderRadius: 40, |
return `{a|}{b|${c.value}辆}`; |
||||
color: { |
}, |
||||
type: 'linear', |
rich: { |
||||
x: 0, |
a: { |
||||
y: 0, |
widht: 20, |
||||
x2: 1, |
height: 20, |
||||
y2: 0, |
backgroundColor: { |
||||
colorStops: [ |
image: chartIcon, |
||||
{ |
|
||||
offset: 0, |
|
||||
color: '#1cd0f000', // 0% 处的颜色
|
|
||||
}, |
|
||||
{ |
|
||||
offset: 1, |
|
||||
color: '#1cd0f0', // 100% 处的颜色
|
|
||||
}, |
|
||||
], |
|
||||
global: false, // 缺省为 false
|
|
||||
} |
|
||||
}, |
}, |
||||
label: { |
}, |
||||
show: true, |
b: { |
||||
position: 'right', |
padding: [0, 0, 0, 10], |
||||
distance: -10, |
}, |
||||
data: sdata, |
}, |
||||
color:'#fff', |
}, |
||||
formatter: (c) => { |
}, |
||||
return `{a|}{b|${c.value}辆}` |
], |
||||
}, |
}; |
||||
rich: { |
|
||||
a: { |
|
||||
widht: 20, |
|
||||
height: 20, |
|
||||
backgroundColor: { |
|
||||
image: chartIcon |
|
||||
}, |
|
||||
}, |
|
||||
b:{ |
|
||||
padding:[0,0,0,10] |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
] |
|
||||
} |
|
||||
|
|
||||
export default options; |
export default options; |
||||
|
Loading…
Reference in new issue