添加综合管理页
BIN
src/assets/img/comprehensive/bottom-left.png
Normal file
|
After Width: | Height: | Size: 632 KiB |
BIN
src/assets/img/comprehensive/bottom-title.png
Normal file
|
After Width: | Height: | Size: 81 KiB |
BIN
src/assets/img/comprehensive/center-bottom.png
Normal file
|
After Width: | Height: | Size: 104 KiB |
BIN
src/assets/img/comprehensive/center-center1.png
Normal file
|
After Width: | Height: | Size: 150 KiB |
BIN
src/assets/img/comprehensive/center-center2.png
Normal file
|
After Width: | Height: | Size: 97 KiB |
BIN
src/assets/img/comprehensive/center-title.png
Normal file
|
After Width: | Height: | Size: 81 KiB |
BIN
src/assets/img/comprehensive/center-top1.png
Normal file
|
After Width: | Height: | Size: 142 KiB |
BIN
src/assets/img/comprehensive/center-top2.png
Normal file
|
After Width: | Height: | Size: 98 KiB |
BIN
src/assets/img/comprehensive/left-top1.png
Normal file
|
After Width: | Height: | Size: 48 KiB |
BIN
src/assets/img/comprehensive/left-top2.png
Normal file
|
After Width: | Height: | Size: 386 KiB |
BIN
src/assets/img/comprehensive/right.png
Normal file
|
After Width: | Height: | Size: 581 KiB |
BIN
src/assets/img/comprehensive/right1.png
Normal file
|
After Width: | Height: | Size: 132 KiB |
BIN
src/assets/img/comprehensive/top-title.png
Normal file
|
After Width: | Height: | Size: 80 KiB |
@ -78,7 +78,7 @@ export default {
|
||||
{
|
||||
index: "5",
|
||||
title: "综合管理",
|
||||
path: "/05"
|
||||
path: "/comprehensive"
|
||||
},
|
||||
{
|
||||
index: "6",
|
||||
|
||||
997
src/pages/comprehensive/home.vue
Normal file
@ -0,0 +1,997 @@
|
||||
<template>
|
||||
<div class="main_box">
|
||||
<div class="home_left">
|
||||
<!-- 各机构入住率 -->
|
||||
<div class="inner_box">
|
||||
<div class="inner_header">
|
||||
<div class="header_left"></div>
|
||||
<div class="header_icon">
|
||||
<div style="width: 12px; height: 10px; margin-bottom: -6px"><img src="@/assets/img/bigScreen/polygon1.png"></div>
|
||||
<div style="width: 12px; height: 10px; margin-bottom: 10px"><img src="@/assets/img/bigScreen/polygon2.png"></div>
|
||||
</div>
|
||||
<div class="header_title">
|
||||
<div>
|
||||
<span>各机构入住率TOP5</span>
|
||||
<span class="little_font">(%)</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="left-top1"></div>
|
||||
<div class="left-top2"></div>
|
||||
</div>
|
||||
<InnerBox :echartObj="echartObj1" header_title="本年每月用餐类型统计" little_font="(单)"/>
|
||||
<InnerBox :echartObj="echartObj2" header_title="菜品订单量TOP10" little_font="(单)"/>
|
||||
</div>
|
||||
<div class="home_center" style="display: block">
|
||||
<div class="inner_box" style="width: 99%;height:32%">
|
||||
<div class="inner-header"></div>
|
||||
<div style="display: flex;justify-content: space-around;width: 100%;height: 100%">
|
||||
<div class="header-left">
|
||||
<div class="header-left-title"></div>
|
||||
<Echarts class="echarts" style="height: 80%" :echartObj="echartObj3" />
|
||||
</div>
|
||||
<div class="header-right">
|
||||
<div class="header-right-title"></div>
|
||||
<Echarts class="echarts" style="height: 80%" :echartObj="echartObj4" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inner_box" style="width: 99%;height:32%">
|
||||
<div class="inner-center"></div>
|
||||
<div style="display: flex;justify-content: space-around;width: 100%;height: 100%">
|
||||
<div class="center-left">
|
||||
<div class="center-left-title"></div>
|
||||
<Echarts class="echarts" style="height: 80%" :echartObj="echartObj5" />
|
||||
</div>
|
||||
<div class="center-right">
|
||||
<div class="center-right-title"></div>
|
||||
<Echarts class="echarts" style="height: 80%" :echartObj="echartObj6" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="inner_box" style="width: 99%;height:32%">
|
||||
<div class="inner-bottom"></div>
|
||||
<div style="display: flex;justify-content: space-around;width: 100%;height: 100%">
|
||||
<div class="bottom-left"></div>
|
||||
<div class="bottom-right">
|
||||
<div class="bottom-right-title"></div>
|
||||
<Echarts class="echarts" style="height: 80%" :echartObj="echartObj7" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="home_right">
|
||||
<div class="right-top"></div>
|
||||
<div class="right-center"></div>
|
||||
<InnerBox :echartObj="echartObj8" style="width: 99%;" header_title="护理人员能力分析" />
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import Vue from 'vue'
|
||||
import { Progress,Divider } from 'ant-design-vue';
|
||||
Vue.use(Progress);
|
||||
Vue.use(Divider);
|
||||
import Echarts from "@/components/echarts";
|
||||
import echarts from "echarts";
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
echartObj1: {
|
||||
legend: {
|
||||
show: true,
|
||||
bottom: 10,
|
||||
data: ['套餐(单)','自定义餐(单)','营养餐(单)'],
|
||||
textStyle: {
|
||||
color: '#FFFFFF',
|
||||
lineHeight: 10
|
||||
},
|
||||
},
|
||||
color: ['#2B8EF3','#F5B12D','#48E5E5'],
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: {
|
||||
type: 'shadow'
|
||||
}
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
axisLabel: {//x轴文字的配置
|
||||
show: true,
|
||||
textStyle: {
|
||||
color: "#fff",
|
||||
fontSize: 10,
|
||||
}
|
||||
},
|
||||
data: ['1月','2月','3月','4月','5月','6月'],
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
axisLabel: {//y轴文字的配置
|
||||
textStyle: {
|
||||
color: "#fff",
|
||||
},
|
||||
},
|
||||
splitLine: {
|
||||
show: true,
|
||||
lineStyle: {
|
||||
type: 'dashed',
|
||||
color: ['#1F7DAF']
|
||||
}
|
||||
},
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '套餐(单)',
|
||||
data: [
|
||||
{name: '套餐(单)', value: 210},
|
||||
{name: '套餐(单)', value: 140},
|
||||
{name: '套餐(单)', value: 130},
|
||||
{name: '套餐(单)', value: 130},
|
||||
{name: '套餐(单)', value: 130},
|
||||
{name: '套餐(单)', value: 130},
|
||||
],
|
||||
type: 'bar',
|
||||
barWidth: 10,
|
||||
barGap:0.5,
|
||||
itemStyle: {
|
||||
normal: {
|
||||
label: {
|
||||
show: true,
|
||||
position: 'top',
|
||||
textStyle: {
|
||||
color: '#FFFFFF',
|
||||
fontSize: 10
|
||||
},
|
||||
},
|
||||
// color: '#1B7EF2'
|
||||
color: () => {
|
||||
return new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||
{ offset: 0, color: '#1976E2' },
|
||||
{ offset: 1, color: 'rgba(25,118,226,0.30)' },
|
||||
]);
|
||||
},
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '自定义餐(单)',
|
||||
data: [
|
||||
{name: '自定义餐(单)', value: 180} ,
|
||||
{name: '自定义餐(单)', value: 120},
|
||||
{name: '自定义餐(单)', value: 48},
|
||||
{name: '自定义餐(单)', value: 50},
|
||||
{name: '自定义餐(单)', value: 90},
|
||||
{name: '自定义餐(单)', value: 120},
|
||||
],
|
||||
type: 'bar',
|
||||
barGap:0.5,
|
||||
barWidth: 10,
|
||||
itemStyle: {
|
||||
normal: {
|
||||
label: {
|
||||
show: true,
|
||||
position: 'top',
|
||||
textStyle: {
|
||||
color: '#FFFFFF',
|
||||
fontSize: 10
|
||||
},
|
||||
},
|
||||
// color: '#1B7EF2'
|
||||
color: () => {
|
||||
return new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||
{ offset: 0, color: '#FF7B00' },
|
||||
{ offset: 1, color: 'rgba(255,123,0,0.30)' },
|
||||
]);
|
||||
},
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '营养餐(单)',
|
||||
data: [
|
||||
{name: '营养餐(单)', value: 90} ,
|
||||
{name: '自定义餐(单)', value: 170},
|
||||
{name: '营养餐(单)', value: 70},
|
||||
{name: '营养餐(单)', value: 120},
|
||||
{name: '营养餐(单)', value: 180},
|
||||
{name: '营养餐(单)', value: 110}
|
||||
],
|
||||
type: 'bar',
|
||||
barGap:0.5,
|
||||
barWidth: 10,
|
||||
//同一系列的柱间距离
|
||||
itemStyle: {
|
||||
normal: {
|
||||
label: {
|
||||
show: true,
|
||||
position: 'top',
|
||||
textStyle: {
|
||||
color: '#FFFFFF',
|
||||
fontSize: 12
|
||||
},
|
||||
},
|
||||
// color: '#1B7EF2'
|
||||
color: () => {
|
||||
return new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||
{ offset: 0, color: '#48E5E5' },
|
||||
{ offset: 1, color: 'rgba(72,228,229,0.30)' },
|
||||
]);
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
]
|
||||
},
|
||||
echartObj2: {
|
||||
grid: {
|
||||
show: false,
|
||||
left: '20',
|
||||
top: 20,
|
||||
bottom: '20',
|
||||
containLabel: true
|
||||
},
|
||||
xAxis: {
|
||||
type: 'value',
|
||||
axisLabel: {//x轴文字的配置
|
||||
show: true,
|
||||
textStyle: {
|
||||
color: "#fff",
|
||||
fontSize: 10,
|
||||
},
|
||||
},
|
||||
splitLine:{
|
||||
show:false
|
||||
}
|
||||
},
|
||||
yAxis: {
|
||||
type: 'category',
|
||||
splitLine:{
|
||||
show:false
|
||||
},
|
||||
axisLabel: {//y轴文字的配置
|
||||
textStyle: {
|
||||
color: "#fff",
|
||||
},
|
||||
},
|
||||
data: ['水煮鱼','麻婆豆腐','锅包肉','糖醋排骨','红烧鱼','切丁肉末','清炒油麦菜', '蒜蓉娃娃菜','青椒肉丝','西红柿鸡蛋',]
|
||||
},
|
||||
series: [
|
||||
{
|
||||
data: [130,60,40,130,100,160,180,190,260,300],
|
||||
type: 'bar',
|
||||
itemStyle:{
|
||||
normal: {
|
||||
color: (param)=>{
|
||||
if(param.dataIndex % 2 ==0){
|
||||
return new echarts.graphic.LinearGradient(0, 0, 1, 0, [
|
||||
{ offset: 0, color:'rgba(255,187,0,0.30)' },
|
||||
{ offset: 1, color: '#FFBB00' },
|
||||
]);
|
||||
}else {
|
||||
return new echarts.graphic.LinearGradient(0, 0, 1, 0, [
|
||||
{ offset: 0, color:'rgba(25,118,226,0.30)' },
|
||||
{ offset: 1, color: '#1B7EF2' },
|
||||
]);
|
||||
}
|
||||
},
|
||||
}
|
||||
},
|
||||
showBackground: true,
|
||||
backgroundStyle: {
|
||||
color: 'rgba(180, 180, 180, 0.2)'
|
||||
},
|
||||
barWidth: 10,
|
||||
|
||||
}
|
||||
]
|
||||
},
|
||||
echartObj3: {
|
||||
legend: {
|
||||
show: true,
|
||||
top: 'middle',
|
||||
right: 0,
|
||||
orient: 'vertical',
|
||||
data: ['设备','床单','被罩','垃圾袋','洗衣液','消毒液'],
|
||||
textStyle: {
|
||||
color: '#FFFFFF',
|
||||
lineHeight: 18
|
||||
},
|
||||
formatter: (name) => {
|
||||
let data = this.echartObj3.series[0].data
|
||||
let total = 0
|
||||
let tarValue
|
||||
for (let i = 0; i < data.length; i++) {
|
||||
total += data[i].value
|
||||
if (data[i].name == name) {
|
||||
tarValue = data[i].value
|
||||
}
|
||||
}
|
||||
//计算出百分比
|
||||
let p = Math.round((tarValue / total) * 100) + '%'
|
||||
return `${name}${p}`
|
||||
}
|
||||
},
|
||||
color: ['#2B8EF3','#48E5E5','#3D7DFA','#68A400','#F5B12D','#D599FD'],
|
||||
series: [
|
||||
{
|
||||
name: 'Access From',
|
||||
type: 'pie',
|
||||
radius: [60, 90],
|
||||
top: 'middle',
|
||||
left: -50,
|
||||
avoidLabelOverlap: false,
|
||||
label: {
|
||||
show: false,
|
||||
position: 'center'
|
||||
},
|
||||
emphasis: {
|
||||
label: {
|
||||
show: false,
|
||||
fontSize: 20,
|
||||
}
|
||||
},
|
||||
labelLine: {
|
||||
show: false
|
||||
},
|
||||
data: [
|
||||
{ value: 35, name: '设备' },
|
||||
{ value: 15, name: '床单' },
|
||||
{ value: 15, name: '被罩' },
|
||||
{ value: 11, name: '垃圾袋' },
|
||||
{ value: 10, name: '洗衣液' },
|
||||
{ value: 9, name: '消毒液' },
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
echartObj4: {
|
||||
legend: {
|
||||
show: true,
|
||||
bottom: 10,
|
||||
data: ['在库(个)','出库(个)'],
|
||||
itemHeight: 8, // 图例高度
|
||||
itemWidth: 15, // 图例高度
|
||||
textStyle: {
|
||||
color: '#FFFFFF',
|
||||
lineHeight: 10,
|
||||
fontSize: 10,
|
||||
},
|
||||
},
|
||||
color: ['#2B8EF3','#F5B12D'],
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: {
|
||||
type: 'shadow'
|
||||
}
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
axisLabel: {//x轴文字的配置
|
||||
show: true,
|
||||
interval: 0, // 强制文字全部显示
|
||||
textStyle: {
|
||||
color: "#fff",
|
||||
fontSize: 10,
|
||||
}
|
||||
},
|
||||
data: ['设备','床单','被罩','垃圾袋','洗衣液','消毒液'],
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
axisLabel: {//y轴文字的配置
|
||||
textStyle: {
|
||||
color: "#fff",
|
||||
},
|
||||
},
|
||||
splitLine: {
|
||||
show: true,
|
||||
lineStyle: {
|
||||
type: 'dashed',
|
||||
color: ['#1F7DAF']
|
||||
}
|
||||
},
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '在库(个)',
|
||||
data: [3000,900,2300,5500,4500,4000],
|
||||
type: 'bar',
|
||||
stack: 'Ad',
|
||||
barWidth: 18,
|
||||
itemStyle: {
|
||||
normal: {
|
||||
label: {
|
||||
show: false,
|
||||
position: 'top',
|
||||
textStyle: {
|
||||
color: '#FFFFFF',
|
||||
fontSize: 10
|
||||
},
|
||||
},
|
||||
// color: '#1B7EF2'
|
||||
color: () => {
|
||||
return new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||
{ offset: 0, color: '#1976E2' },
|
||||
{ offset: 1, color: 'rgba(25,118,226,0.30)' },
|
||||
]);
|
||||
},
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '出库(个)',
|
||||
data: [1000,5000,5500,12000,2500,2000],
|
||||
type: 'bar',
|
||||
stack: 'Ad',
|
||||
barWidth: 18,
|
||||
itemStyle: {
|
||||
normal: {
|
||||
label: {
|
||||
show: false,
|
||||
position: 'top',
|
||||
textStyle: {
|
||||
color: '#FFFFFF',
|
||||
fontSize: 10
|
||||
},
|
||||
},
|
||||
// color: '#1B7EF2'
|
||||
color: () => {
|
||||
return new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||
{ offset: 0, color: '#FFBB00' },
|
||||
{ offset: 1, color: '#FF7B00' },
|
||||
]);
|
||||
},
|
||||
}
|
||||
},
|
||||
}
|
||||
]
|
||||
},
|
||||
echartObj5: {
|
||||
legend: {
|
||||
show: true,
|
||||
top: 'middle',
|
||||
right: 0,
|
||||
orient: 'vertical',
|
||||
data: ['已处理','处理中','未处理'],
|
||||
textStyle: {
|
||||
color: '#FFFFFF',
|
||||
lineHeight: 18
|
||||
},
|
||||
formatter: (name) => {
|
||||
let data = this.echartObj5.series[0].data
|
||||
let total = 0
|
||||
let tarValue
|
||||
for (let i = 0; i < data.length; i++) {
|
||||
total += data[i].value
|
||||
if (data[i].name == name) {
|
||||
tarValue = data[i].value
|
||||
}
|
||||
}
|
||||
//计算出百分比
|
||||
let p = Math.round((tarValue / total) * 100) + '%'
|
||||
return `${name}${p}`
|
||||
}
|
||||
},
|
||||
color: ['#3D7DFA','#48E5E5','#F5B12D'],
|
||||
series: [
|
||||
{
|
||||
name: 'Access From',
|
||||
type: 'pie',
|
||||
radius: [60, 90],
|
||||
top: 'middle',
|
||||
left: -50,
|
||||
avoidLabelOverlap: false,
|
||||
label: {
|
||||
show: false,
|
||||
position: 'center'
|
||||
},
|
||||
emphasis: {
|
||||
label: {
|
||||
show: false,
|
||||
fontSize: 20,
|
||||
}
|
||||
},
|
||||
labelLine: {
|
||||
show: false
|
||||
},
|
||||
data: [
|
||||
{ value: 35, name: '已处理' },
|
||||
{ value: 35, name: '处理中' },
|
||||
{ value: 30, name: '未处理' },
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
echartObj6: {
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: {
|
||||
type: 'shadow'
|
||||
}
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
axisLabel: {//x轴文字的配置
|
||||
show: true,
|
||||
textStyle: {
|
||||
color: "#fff",
|
||||
fontSize: 10,
|
||||
}
|
||||
},
|
||||
data: ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'],
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
axisLabel: {//y轴文字的配置
|
||||
textStyle: {
|
||||
color: "rgba(255, 255, 255, 0.64)",
|
||||
},
|
||||
},
|
||||
splitLine: {
|
||||
show: true,
|
||||
lineStyle: {
|
||||
type: 'dashed',
|
||||
color: ['#1F7DAF']
|
||||
}
|
||||
},
|
||||
},
|
||||
series: [
|
||||
{
|
||||
data: [
|
||||
{name: '1月', value: 10 },
|
||||
{name: '2月', value: 12 },
|
||||
{name: '3月', value: 8 },
|
||||
{name: '4月', value: 14 },
|
||||
{name: '5月', value: 13 },
|
||||
{name: '6月', value: 8 },
|
||||
{name: '7月', value: 13 },
|
||||
{name: '8月', value: 25 },
|
||||
{name: '9月', value: 20 },
|
||||
{name: '10月', value: 13 },
|
||||
{name: '11月', value: 9 },
|
||||
{name: '12月', value: 5 },
|
||||
|
||||
],
|
||||
type: 'bar',
|
||||
barWidth: 20,
|
||||
barGap:'100%',
|
||||
itemStyle: this.setSeriesItemStyle('lan'),
|
||||
},
|
||||
]
|
||||
},
|
||||
echartObj7: {
|
||||
legend: {
|
||||
show: true,
|
||||
bottom: 10,
|
||||
data: ['用电量(度)','用水量(吨)','用气量(m²)'],
|
||||
textStyle: {
|
||||
color: '#FFFFFF',
|
||||
lineHeight: 10
|
||||
},
|
||||
},
|
||||
color: ['#2B8EF3','#F5B12D','#48E5E5'],
|
||||
tooltip: {
|
||||
trigger: 'axis',
|
||||
axisPointer: {
|
||||
type: 'shadow'
|
||||
}
|
||||
},
|
||||
xAxis: {
|
||||
type: 'category',
|
||||
axisLabel: {//x轴文字的配置
|
||||
show: true,
|
||||
textStyle: {
|
||||
color: "#fff",
|
||||
fontSize: 10,
|
||||
}
|
||||
},
|
||||
data: ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月'],
|
||||
},
|
||||
yAxis: {
|
||||
type: 'value',
|
||||
axisLabel: {//y轴文字的配置
|
||||
textStyle: {
|
||||
color: "#fff",
|
||||
},
|
||||
},
|
||||
splitLine: {
|
||||
show: true,
|
||||
lineStyle: {
|
||||
type: 'dashed',
|
||||
color: ['#1F7DAF']
|
||||
}
|
||||
},
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '用电量(度)',
|
||||
data: [
|
||||
{name: '用电量(度)', value: 1500},
|
||||
{name: '用电量(度)', value: 2400},
|
||||
{name: '用电量(度)', value: 2000},
|
||||
{name: '用电量(度)', value: 2300},
|
||||
{name: '用电量(度)', value: 2450},
|
||||
{name: '用电量(度)', value: 1450},
|
||||
{name: '用电量(度)', value: 1000},
|
||||
{name: '用电量(度)', value: 2500},
|
||||
{name: '用电量(度)', value: 1980},
|
||||
{name: '用电量(度)', value: 2500},
|
||||
{name: '用电量(度)', value: 2300},
|
||||
{name: '用电量(度)', value: 1600},
|
||||
],
|
||||
type: 'bar',
|
||||
barWidth: 10,
|
||||
barGap:0.5,
|
||||
itemStyle: {
|
||||
normal: {
|
||||
label: {
|
||||
show: true,
|
||||
position: 'top',
|
||||
textStyle: {
|
||||
color: '#FFFFFF',
|
||||
fontSize: 10
|
||||
},
|
||||
},
|
||||
// color: '#1B7EF2'
|
||||
color: () => {
|
||||
return new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||
{ offset: 0, color: '#1976E2' },
|
||||
{ offset: 1, color: 'rgba(25,118,226,0.30)' },
|
||||
]);
|
||||
},
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '用水量(吨)',
|
||||
data: [
|
||||
{name: '用水量(吨)', value: 2200} ,
|
||||
{name: '用水量(吨)', value: 1500},
|
||||
{name: '用水量(吨)', value: 800},
|
||||
{name: '用水量(吨)', value: 1500},
|
||||
{name: '用水量(吨)', value: 1900},
|
||||
{name: '用水量(吨)', value: 2300},
|
||||
{name: '用水量(吨)', value: 1500},
|
||||
{name: '用水量(吨)', value: 1500},
|
||||
{name: '用水量(吨)', value: 1490},
|
||||
{name: '用水量(吨)', value: 1490},
|
||||
{name: '用水量(吨)', value: 1500},
|
||||
{name: '用水量(吨)', value: 2300},
|
||||
],
|
||||
type: 'bar',
|
||||
barGap:0.5,
|
||||
barWidth: 10,
|
||||
itemStyle: {
|
||||
normal: {
|
||||
label: {
|
||||
show: true,
|
||||
position: 'top',
|
||||
textStyle: {
|
||||
color: '#FFFFFF',
|
||||
fontSize: 10
|
||||
},
|
||||
},
|
||||
// color: '#1B7EF2'
|
||||
color: () => {
|
||||
return new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||
{ offset: 0, color: '#FF7B00' },
|
||||
{ offset: 1, color: 'rgba(255,123,0,0.30)' },
|
||||
]);
|
||||
},
|
||||
}
|
||||
},
|
||||
},
|
||||
{
|
||||
name: '用气量(m²)',
|
||||
data: [
|
||||
{name: '用气量(m²)', value: 1100} ,
|
||||
{name: '用气量(m²)', value: 1150},
|
||||
{name: '用气量(m²)', value: 1200},
|
||||
{name: '用气量(m²)', value: 1100},
|
||||
{name: '用气量(m²)', value: 700},
|
||||
{name: '用气量(m²)', value: 1100},
|
||||
{name: '用气量(m²)', value: 2400},
|
||||
{name: '用气量(m²)', value: 1200},
|
||||
{name: '用气量(m²)', value: 1250},
|
||||
{name: '用气量(m²)', value: 900},
|
||||
{name: '用气量(m²)', value: 1200},
|
||||
{name: '用气量(m²)', value: 1150}
|
||||
],
|
||||
type: 'bar',
|
||||
barGap:0.5,
|
||||
barWidth: 10,
|
||||
//同一系列的柱间距离
|
||||
itemStyle: {
|
||||
normal: {
|
||||
label: {
|
||||
show: true,
|
||||
position: 'top',
|
||||
textStyle: {
|
||||
color: '#FFFFFF',
|
||||
fontSize: 12
|
||||
},
|
||||
},
|
||||
// color: '#1B7EF2'
|
||||
color: () => {
|
||||
return new echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||
{ offset: 0, color: '#48E5E5' },
|
||||
{ offset: 1, color: 'rgba(72,228,229,0.30)' },
|
||||
]);
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
]
|
||||
},
|
||||
echartObj8: {
|
||||
radar: {
|
||||
indicator: [
|
||||
{ name: '口腔护理', max: 25,},
|
||||
{ name: '食物护理', max: 50, axisLabel:{show:false}},
|
||||
{ name: '修建', max: 25,axisLabel:{show:false} },
|
||||
{ name: '清洗', max: 25,axisLabel:{show:false} },
|
||||
{ name: '按摩', max: 25,axisLabel:{show:false}},
|
||||
],
|
||||
radius: '65%', // 坐标轴半径占可显示区域的比例
|
||||
axisLine: { // 坐标轴样式
|
||||
lineStyle: {
|
||||
color: '#BBBBBB',
|
||||
type: 'solid',
|
||||
width: 1
|
||||
}
|
||||
},
|
||||
axisTick: { // 氪度线样式
|
||||
lineStyle: {
|
||||
},
|
||||
},
|
||||
axisLabel: {// 是否展示坐标数字
|
||||
show: true
|
||||
},
|
||||
splitArea: { // 坐标轴分隔区显示颜色:默认是一深一浅的间隔颜色,这里我们设置间隔之间是空白
|
||||
areaStyle: {
|
||||
opacity: 0.5,
|
||||
color: ['#032750','rgba(25, 118, 226, 0.2)'],
|
||||
}
|
||||
},
|
||||
splitLine: { // 分割线样式
|
||||
lineStyle: {
|
||||
color: 'rgba(25, 118, 226, 0.2)',
|
||||
type: 'solid',
|
||||
width: 1
|
||||
}
|
||||
},
|
||||
axisName: { // 指示器样式
|
||||
color: '#FFFFFF',
|
||||
fontSize: 16
|
||||
},
|
||||
},
|
||||
series: [
|
||||
{
|
||||
type: 'radar',
|
||||
data: [
|
||||
{
|
||||
value: [12, 25, 3, 12, 20],
|
||||
name: 'Allocated Budget'
|
||||
},
|
||||
],
|
||||
itemStyle: {
|
||||
color: new echarts.graphic.LinearGradient( // 设置渐变色
|
||||
0, 0, 0, 1,
|
||||
[
|
||||
{ offset: 0, color: 'rgba(245,177,45,0.73)' },
|
||||
{ offset: 1, color: 'rgba(245,177,45,0.17)' }
|
||||
]
|
||||
)
|
||||
},
|
||||
areaStyle: {// 雷达图辐射区域的样式
|
||||
color: new echarts.graphic.LinearGradient(
|
||||
0, 0, 0, 1,
|
||||
[
|
||||
{ offset: 0, color: 'rgba(245,177,45,0.73)' },
|
||||
{ offset: 1, color: 'rgba(245,177,45,0.17)' }
|
||||
]
|
||||
)
|
||||
},
|
||||
}
|
||||
]
|
||||
},
|
||||
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.init();
|
||||
},
|
||||
components: {
|
||||
Echarts,
|
||||
},
|
||||
methods: {
|
||||
init() {
|
||||
this.getData();
|
||||
},
|
||||
search() {
|
||||
this.init();
|
||||
},
|
||||
getData() {
|
||||
},
|
||||
setSeriesItemStyle(color, obj={}){
|
||||
let colors = {
|
||||
qing: ['#48E5E5', 'rgba(72,228,229,0.30)'],
|
||||
lan: ['#2B8EF3', 'rgba(25,118,226,0.30)'],
|
||||
// huang: ['#F5B12D', 'rgba(255,123,0,0.30)'],
|
||||
huang: ['#FF7B00', 'rgba(255,123,0,0.30)'],
|
||||
lv: ['#07F090', 'rgba(60,212,149,0.28)'],
|
||||
zi: ['#9B64D3', 'rgba(155,100,211,0.24)'],
|
||||
}
|
||||
return {
|
||||
normal: {
|
||||
label: {
|
||||
show: true,
|
||||
position: 'top',
|
||||
textStyle: {
|
||||
color: '#FFFFFF',
|
||||
fontSize: 12
|
||||
},
|
||||
},
|
||||
color: () => {
|
||||
return new this.$echarts.graphic.LinearGradient(0, 0, 0, 1, [
|
||||
{ offset: 0, color: colors[color][0] },
|
||||
{ offset: 1, color: colors[color][1] },
|
||||
]);
|
||||
},
|
||||
...obj,
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
/deep/ .ant-progress-circle .ant-progress-text {
|
||||
color: #FFFFFF;
|
||||
font-size: 20px;
|
||||
}
|
||||
/deep/ .ant-progress-circle-trail{
|
||||
stroke:#334D60 !important;
|
||||
}
|
||||
.main_box{
|
||||
padding: 0 2rem;
|
||||
> div{
|
||||
padding: 0;
|
||||
}
|
||||
img{
|
||||
max-width: 100%;
|
||||
}
|
||||
.home_center {
|
||||
width: 49%;
|
||||
padding: 0 10px;
|
||||
.inner_box{
|
||||
margin-top: 1%;
|
||||
}
|
||||
.center-left-title{
|
||||
background-image: url(../../assets/img/comprehensive/center-center1.png);
|
||||
}
|
||||
.header-left-title{
|
||||
background-image: url(../../assets/img/comprehensive/center-top1.png);
|
||||
}
|
||||
.center-left-title,
|
||||
.header-left-title{
|
||||
width: 80%;
|
||||
height: 18%;
|
||||
margin: 2% auto;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.center-left,
|
||||
.header-left{
|
||||
width: 38%;
|
||||
height: 80%;
|
||||
border: 1px solid;
|
||||
border-image: linear-gradient(180deg, rgba(31,125,175,0.34) 0%, rgba(31,125,175,0.53) 100%) 1;
|
||||
}
|
||||
.center-right,
|
||||
.header-right{
|
||||
width: 59%;
|
||||
height: 80%;
|
||||
}
|
||||
.center-right-title{
|
||||
background-image: url(../../assets/img/comprehensive/center-center2.png);
|
||||
}
|
||||
.header-right-title{
|
||||
background-image: url(../../assets/img/comprehensive/center-top2.png);
|
||||
}
|
||||
.bottom-right-title{
|
||||
background-image: url(../../assets/img/comprehensive/center-bottom.png);
|
||||
}
|
||||
|
||||
.bottom-right-title,
|
||||
.center-right-title,
|
||||
.header-right-title{
|
||||
width: 80%;
|
||||
height: 16%;
|
||||
margin: 2% auto;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.inner-header {
|
||||
background-image: url(../../assets/img/comprehensive/top-title.png);
|
||||
}
|
||||
.inner-center{
|
||||
background-image: url(../../assets/img/comprehensive/center-title.png);
|
||||
}
|
||||
.inner-bottom{
|
||||
background-image: url(../../assets/img/comprehensive/bottom-title.png);
|
||||
}
|
||||
.bottom-left{
|
||||
width: 29%;
|
||||
height: 85%;
|
||||
background-image: url(../../assets/img/comprehensive/bottom-left.png);
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.bottom-right{
|
||||
width: 69%;
|
||||
height: 80%;
|
||||
}
|
||||
|
||||
.inner-bottom,
|
||||
.inner-center,
|
||||
.inner-header{
|
||||
width: 80%;
|
||||
margin: auto;
|
||||
height: 60px;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.inner_box{
|
||||
overflow: hidden;
|
||||
}
|
||||
.home_left,
|
||||
.home_right{
|
||||
width: 24%;
|
||||
.right-top{
|
||||
width: 100%;
|
||||
height: 40%;
|
||||
background-image: url(../../assets/img/comprehensive/right.png);
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.right-center{
|
||||
width: 100%;
|
||||
height: 24%;
|
||||
background-image: url(../../assets/img/comprehensive/right1.png);
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.inner_box{
|
||||
width: 99%;
|
||||
height: 32%;
|
||||
margin-left: 1%;
|
||||
}
|
||||
}
|
||||
.home_left{
|
||||
.left-top1{
|
||||
width: 80%;
|
||||
height: 20%;
|
||||
margin: auto;
|
||||
background-image: url(../../assets/img/comprehensive/left-top1.png);
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.left-top2{
|
||||
width: 80%;
|
||||
height: 40%;
|
||||
margin: auto;
|
||||
background-image: url(../../assets/img/comprehensive/left-top2.png);
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
91
src/pages/comprehensive/index.vue
Normal file
@ -0,0 +1,91 @@
|
||||
<template>
|
||||
<div class="main">
|
||||
<!-- <userStatus />-->
|
||||
<!-- <h1>首页</h1> -->
|
||||
<!-- <img class="h1" src="../../assets/img/h1.png" />-->
|
||||
<Header :headerObj="{title:'中科软养老大数据分析平台', index: '5'}"/>
|
||||
<home></home>
|
||||
<!-- <Nav />-->
|
||||
<!-- <img class="b" src="../../assets/img/1.png" alt="" />-->
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import Header from '@/components/header'
|
||||
import home from './home.vue'
|
||||
import userStatus from "@/components/userStatus";
|
||||
import { Index } from "@/api/index";
|
||||
|
||||
export default {
|
||||
name: "index",
|
||||
data: function () {
|
||||
return {
|
||||
param: {
|
||||
startYear: "",
|
||||
endYear: "",
|
||||
},
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.param = {
|
||||
startYear: "",
|
||||
endYear: "",
|
||||
};
|
||||
// this.init();
|
||||
},
|
||||
components: {
|
||||
Header,
|
||||
home,
|
||||
userStatus,
|
||||
},
|
||||
methods: {
|
||||
init() {
|
||||
this.getData();
|
||||
},
|
||||
getData() {
|
||||
Index(this.param).then((res) => {
|
||||
console.log(res);
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style scoped lang="less">
|
||||
.main {
|
||||
height: 100%;
|
||||
background: url(../../assets/img/bigScreen/background.jpg) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
/deep/ .modal,
|
||||
/deep/ .el-icon-close {
|
||||
display: none;
|
||||
}
|
||||
h1 {
|
||||
font-size: 50px;
|
||||
font-weight: 600;
|
||||
padding-top: 50px;
|
||||
text-align: center;
|
||||
-webkit-line-clamp: 2;
|
||||
background-image: -webkit-linear-gradient(bottom, #eefcff, #51dcfe);
|
||||
-webkit-background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
}
|
||||
.h1 {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
margin-left: -509px;
|
||||
}
|
||||
//.b {
|
||||
// position: absolute;
|
||||
// bottom: 0;
|
||||
// width: 100%;
|
||||
// // animation:turn 10s linear infinite;
|
||||
//}
|
||||
@keyframes turn {
|
||||
0% {
|
||||
transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg);
|
||||
}
|
||||
100% {
|
||||
transform: rotateX(0deg) rotateY(180deg) rotateZ(0deg);
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@ -56,10 +56,11 @@ export default new Router({
|
||||
index: 0,
|
||||
}
|
||||
},
|
||||
//综合管理
|
||||
{
|
||||
path: '/05',
|
||||
name: '05',
|
||||
component: () => import('@/pages/page/05'),
|
||||
path: '/comprehensive',
|
||||
name: 'comprehensive',
|
||||
component: () => import('@/pages/comprehensive/index'),
|
||||
meta: {
|
||||
index: 0,
|
||||
}
|
||||
|
||||