2061f67a by 田浩浩
2 parents 63c19846 1f639c9c
1 <template> 1 <template>
2 <!-- 折线图 --> 2 <!-- 折线图 -->
3 <Echart :options="options" id="bottomLeftChart" height="100%" width="100%"></Echart> 3 <Echart
4 :options="options"
5 id="bottomLeftChart"
6 height="100%"
7 width="100%"
8 ></Echart>
4 </template> 9 </template>
5 10
6 <script> 11 <script>
7 import Echart from "@/common/echart"; 12 import Echart from "@/common/echart";
8 export default { 13 export default {
9 data () { 14 data() {
10 return { 15 return {
11 xAxisData: {}, 16 xAxisData: {},
12 yAxisData1: {}, 17 yAxisData1: {},
13 yAxisData2: {}, 18 yAxisData2: {},
14 yAxisData3: {}, 19 yAxisData3: {},
15 options: {}, 20 options: {},
16 }; 21 };
17 }, 22 },
18 components: { 23 components: {
19 Echart, 24 Echart,
20 }, 25 },
21 props: { 26 props: {
22 cdata: { 27 cdata: {
23 type: Object, 28 type: Object,
24 default: () => ({}), 29 default: () => ({}),
25 }
26 }, 30 },
27 methods: { 31 },
28 hexToRgba (hex, opacity) { 32 methods: {
29 let rgbaColor = ""; 33 hexToRgba(hex, opacity) {
30 let reg = /^#[\da-f]{6}$/i; 34 let rgbaColor = "";
31 if (reg.test(hex)) { 35 let reg = /^#[\da-f]{6}$/i;
32 rgbaColor = `rgba(${parseInt("0x" + hex.slice(1, 3))},${parseInt( 36 if (reg.test(hex)) {
33 "0x" + hex.slice(3, 5) 37 rgbaColor = `rgba(${parseInt("0x" + hex.slice(1, 3))},${parseInt(
34 )},${parseInt("0x" + hex.slice(5, 7))},${opacity})`; 38 "0x" + hex.slice(3, 5)
35 } 39 )},${parseInt("0x" + hex.slice(5, 7))},${opacity})`;
36 return rgbaColor; 40 }
37 } 41 return rgbaColor;
38 }, 42 },
39 watch: { 43 },
40 cdata: { 44 watch: {
41 handler (newData) { 45 cdata: {
42 this.xAxisData = newData.echartData.map(v => v.name); 46 handler(newData) {
43 this.yAxisData1 = newData.echartData.map(v => v.value1); 47 this.xAxisData = newData.echartData.map((v) => v.name);
44 this.yAxisData2 = newData.echartData.map(v => v.value2); 48 this.yAxisData1 = newData.echartData.map((v) => v.value1);
45 this.yAxisData3 = newData.echartData.map(v => v.value3); 49 this.yAxisData2 = newData.echartData.map((v) => v.value2);
46 this.options = { 50 this.yAxisData3 = newData.echartData.map((v) => v.value3);
47 color: newData.color, 51 this.options = {
48 legend: { 52 color: newData.color,
49 center: true, 53 legend: {
50 top: '20%', 54 center: true,
51 data: newData.legendItem, 55 top: "20%",
52 textStyle: { 56 data: newData.legendItem,
53 color: '#00DEFF' 57 textStyle: {
54 } 58 color: "#00DEFF",
55 }, 59 },
56 // calculable: true, 60 },
57 tooltip: { 61 // calculable: true,
58 trigger: "axis", 62 tooltip: {
59 formatter: function (params) { 63 trigger: "axis",
60 let html = ''; 64 formatter: function (params) {
61 params.forEach(v => { 65 let html = "";
62 html += `<div style="color: #000;font-size: 14px;line-height: 24px background-color: #000000"> 66 params.forEach((v) => {
63 <span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:${newData.color[v.componentIndex]};"></span> 67 html += `<div style="color: #000;font-size: 14px;line-height: 24px background-color: #000000">
68 <span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:${
69 newData.color[v.componentIndex]
70 };"></span>
64 ${v.seriesName}.${v.name} 71 ${v.seriesName}.${v.name}
65 <span style="color:${newData.color[v.componentIndex]};font-weight:700;font-size: 18px">${v.value}</span> 72 <span style="color:${
73 newData.color[v.componentIndex]
74 };font-weight:700;font-size: 18px">${v.value}</span>
66 个`; 75 个`;
67 }) 76 });
68 return html 77 return html;
69 }, 78 },
70 extraCssText: 'background: #85a2eb; border-radius: 0;box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);color: #333;', 79 extraCssText:
71 80 "background: #85a2eb; border-radius: 0;box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);color: #333;",
72 }, 81 },
73 // grid: { 82 // grid: {
74 // top: 70, 83 // top: 70,
75 // containLabel: true 84 // containLabel: true
76 // }, 85 // },
77 grid: { 86 grid: {
78 top: "30%", 87 top: "30%",
79 left: "3%", 88 left: "3%",
80 right: "6%", 89 right: "6%",
81 bottom: "8%", 90 bottom: "8%",
82 containLabel: true, 91 containLabel: true,
83 }, 92 },
84 xAxis: [{ 93 xAxis: [
85 type: 'category', 94 {
86 axisLine: { 95 type: "category",
87 show: true, 96 axisLine: {
88 lineStyle: { 97 show: true,
89 color: "#458ACF" 98 lineStyle: {
90 } 99 color: "#458ACF",
91 }, 100 },
92 axisLabel: { 101 },
93 inside: false, 102 axisLabel: {
94 textStyle: { 103 inside: false,
95 color: 'rgba(255, 255, 255,0.7)', // x轴颜色 104 textStyle: {
96 fontWeight: 'normal', 105 color: "rgba(255, 255, 255,0.7)", // x轴颜色
97 fontSize: '12', 106 fontWeight: "normal",
98 lineHeight: 22 107 fontSize: "12",
99 } 108 lineHeight: 22,
100 }, 109 },
101 data: this.xAxisData 110 },
102 }], 111 data: this.xAxisData,
103 yAxis: [{
104 type: "value",
105 axisLabel: {
106 textStyle: {
107 color: "rgba(255, 255, 255,0.7)"
108 }
109 },
110 splitLine: {
111 show: true,
112 lineStyle: {
113 color: "#458ACF"
114 }
115 },
116 axisLine: {
117 show: true,
118 lineStyle: {
119 color: "#458ACF"
120 }
121 },
122 axisTick: {
123 show: false
124 }
125 }],
126 series: [{
127 name: newData.legendItem[0],
128 type: "line",
129 smooth: true, //是否平滑
130 showSymbol: false,
131 symbol: 'circle',
132 symbolSize: 6,
133 zlevel: 3,
134 lineStyle: {
135 normal: {
136 color: newData.color[0],
137 shadowBlur: 3,
138 shadowColor: this.hexToRgba(newData.color[0], 0.5),
139 shadowOffsetY: 0
140 }
141 },
142 data: this.yAxisData1
143 }, {
144 name: newData.legendItem[1],
145 type: "line",
146 smooth: true,
147 showSymbol: false,
148 symbol: 'circle',
149 symbolSize: 8,
150 zlevel: 3,
151 lineStyle: {
152 normal: {
153 color: newData.color[1],
154 shadowBlur: 0,
155 shadowColor: this.hexToRgba(newData.color[1], 0.5),
156 shadowOffsetY: 0
157 }
158 },
159 data: this.yAxisData2
160 },
161 {
162 name: newData.legendItem[2],
163 type: "line",
164 smooth: true,
165 showSymbol: false,
166 symbol: 'circle',
167 symbolSize: 8,
168 zlevel: 3,
169 lineStyle: {
170 normal: {
171 color: newData.color[2],
172 shadowBlur: 3,
173 shadowColor: this.hexToRgba(newData.color[2], 0.5),
174 shadowOffsetY: 0
175 }
176 },
177 data: this.yAxisData3
178 }
179 ]
180 };
181 }, 112 },
182 immediate: true, 113 ],
183 deep: true, 114 yAxis: [
184 }, 115 {
116 type: "value",
117 axisLabel: {
118 textStyle: {
119 color: "rgba(255, 255, 255,0.7)",
120 },
121 },
122 splitLine: {
123 show: true,
124 lineStyle: {
125 color: "#458ACF",
126 },
127 },
128 axisLine: {
129 show: true,
130 lineStyle: {
131 color: "#458ACF",
132 },
133 },
134 axisTick: {
135 show: false,
136 },
137 },
138 ],
139 series: [
140 {
141 name: newData.legendItem[0],
142 type: "line",
143 smooth: true, //是否平滑
144 showSymbol: false,
145 symbol: "circle",
146 symbolSize: 6,
147 zlevel: 3,
148 lineStyle: {
149 normal: {
150 color: newData.color[0],
151 shadowBlur: 3,
152 shadowColor: this.hexToRgba(newData.color[0], 0.5),
153 shadowOffsetY: 0,
154 },
155 },
156 data: this.yAxisData1,
157 },
158 {
159 name: newData.legendItem[1],
160 type: "line",
161 smooth: true,
162 showSymbol: false,
163 symbol: "circle",
164 symbolSize: 8,
165 zlevel: 3,
166 lineStyle: {
167 normal: {
168 color: newData.color[1],
169 shadowBlur: 0,
170 shadowColor: this.hexToRgba(newData.color[1], 0.5),
171 shadowOffsetY: 0,
172 },
173 },
174 data: this.yAxisData2,
175 },
176 {
177 name: newData.legendItem[2],
178 type: "line",
179 smooth: true,
180 showSymbol: false,
181 symbol: "circle",
182 symbolSize: 8,
183 zlevel: 3,
184 lineStyle: {
185 normal: {
186 color: newData.color[2],
187 shadowBlur: 3,
188 shadowColor: this.hexToRgba(newData.color[2], 0.5),
189 shadowOffsetY: 0,
190 },
191 },
192 data: this.yAxisData3,
193 },
194 ],
195 };
196 },
197 immediate: true,
198 deep: true,
185 }, 199 },
200 },
186 }; 201 };
187 </script> 202 </script>
......
...@@ -264,7 +264,10 @@ table td { ...@@ -264,7 +264,10 @@ table td {
264 display: none; 264 display: none;
265 } 265 }
266 // 时间选择框样式 266 // 时间选择框样式
267 .el-date-picker { 267 .el-date-picker{
268 .el-date-table td.disabled div{
269 background-color:#074487;
270 }
268 background-color: #031a46; 271 background-color: #031a46;
269 .el-date-picker__header-label{ 272 .el-date-picker__header-label{
270 color:#A6CFD6; 273 color:#A6CFD6;
...@@ -273,9 +276,7 @@ table td { ...@@ -273,9 +276,7 @@ table td {
273 background-color:#074487; 276 background-color:#074487;
274 .disabled{ 277 .disabled{
275 background-color:#074487; 278 background-color:#074487;
276 .el-date-table td.disabled div{ 279
277 background-color:#074487;
278 }
279 } 280 }
280 } 281 }
281 282
...@@ -301,6 +302,83 @@ table td { ...@@ -301,6 +302,83 @@ table td {
301 302
302 } 303 }
303 304
305 // 时间选择框2
306
307
308 .el-date-range-picker{
309 .el-date-range-picker__time-header > .el-icon-arrow-right{
310 color:#E3F1FF;;
311 }
312 background-color: #074487;
313 color: #fff;
314 .el-input__inner{
315 background: color #074487;
316 }
317
318 .el-input__inner{
319 background-color: #074487;
320 }
321 .el-input.is-disabled .el-input__inner{
322 background-color: #074487;
323 }
324 .el-date-range-picker__time-header{
325 background-color: #031a46;
326 }
327 .el-picker-panel__footer{
328 background-color: #031a46;
329 }
330 .el-time-panel{
331 background-color: #074487!important;
332 color: #E3F1FF;
333 }
334 .el-picker-panel__icon-btn{
335 color:#E3F1FF;
336 }
337 .el-date-table th{
338 color:#E3F1FF;
339 }
340 .el-time-spinner__item{
341 color: #E3F1FF;
342 }
343 .el-time-spinner__item.active:not(.disabled){
344 color: #fff;
345 }
346 .el-time-panel__btn{
347 color:#0F93F6;
348 }
349 .el-time-panel__btn.confirm{
350 width: 50px;
351 height: 25px;
352 line-height: 25px;
353 border-radius: 3px;
354 background-color: #fff;
355 }
356 .el-time-panel__footer{
357 background-color: #031a46;
358 }
359 .el-date-table td.in-range div{
360 background-color: #031a46;
361 }
362 .el-date-table td.start-date span, .el-date-table td.end-date span{
363 background-color: #074487;
364 // border:1px solid saddlebrown;
365 box-shadow: inset 0 0 7px #02D9FD;
366 border: 1px solid #02D9FD;
367 }
368 }
369 .el-date-editor{
370
371 .el-range-separator{
372 color: #E3F1FF;
373 }
374 .el-range-input{
375 background:none !important;
376 color: #fff;
377 }
378
379
380 }
381
304 382
305 383
306 384
......
...@@ -196,4 +196,4 @@ ...@@ -196,4 +196,4 @@
196 .btnColRight { 196 .btnColRight {
197 box-sizing: border-box; 197 box-sizing: border-box;
198 text-align: right; 198 text-align: right;
199 }
...\ No newline at end of file ...\ No newline at end of file
199 }
......
1 <template> 1 <template>
2 <!-- 监控日志 --> 2 <!-- 监控日志 -->
3 <div class="jktjDetail form-clues"> 3 <div class="jktjDetail form-clues">
4 <!-- 头部搜索 --> 4 <!-- 头部搜索 -->
5 <el-form ref="form" :model="form" :inline="true" class="from-clues-header" label-width="100px"> 5 <el-form
6 <el-row> 6 ref="form"
7 <el-col :span="8"> 7 :model="form"
8 <el-date-picker v-model="valueTime" type="datetimerange" range-separator="至" 8 :inline="true"
9 start-placeholder="开始日期" end-placeholder="结束日期"> 9 class="from-clues-header"
10 </el-date-picker> 10 label-width="100px"
11 </el-col> 11 >
12 <!-- 按钮操作 --> 12 <el-row class="rows">
13 <el-col :span="12" class="btnColRight"> 13 <el-col :span="8">
14 <el-button type="default" @click="resetForm"> 重置 </el-button> 14 <el-date-picker
15 <el-button type="primary"> 查询 </el-button> 15 v-model="valueTime"
16 </el-col> 16 type="datetimerange"
17 </el-row> 17 range-separator="至"
18 </el-form> 18 start-placeholder="开始日期"
19 <!-- 表格 --> 19 end-placeholder="结束日期"
20 <div class="form-clues-content echarts-box"> 20 >
21 <div id="myChart" class="chart"></div> 21 </el-date-picker>
22 </div> 22 </el-col>
23 <!-- 按钮操作 -->
24 <el-col :span="12" class="btnColRight">
25 <el-button type="default" @click="resetForm"> 重置 </el-button>
26 <el-button type="primary"> 查询 </el-button>
27 </el-col>
28 </el-row>
29 </el-form>
30 <!-- 表格 -->
31 <div class="form-clues-content echarts-box">
32 <div id="myChart" class="chart"></div>
23 </div> 33 </div>
34 </div>
24 </template> 35 </template>
25 36
26 <script> 37 <script>
27 export default { 38 export default {
28 name: "jktj", 39 name: "jktj",
29 data () { 40 data() {
30 return { 41 return {
31 // 开始结束日期限制 42 // 开始结束日期限制
32 pickerOptionsStart: { 43 pickerOptionsStart: {
33 disabledDate: (time) => { 44 disabledDate: (time) => {
34 if (this.form.endTime) { 45 if (this.form.endTime) {
35 return ( 46 return time.getTime() >= new Date(this.form.endTime).getTime();
36 time.getTime() >= new Date(this.form.endTime).getTime() 47 }
37 ); 48 },
38 } 49 },
39 } 50 // 结束日期限制
40 }, 51 pickerOptionsEnd: {
41 // 结束日期限制 52 disabledDate: (time) => {
42 pickerOptionsEnd: { 53 if (this.form.startTime) {
43 disabledDate: (time) => { 54 return time.getTime() <= new Date(this.form.startTime).getTime();
44 if (this.form.startTime) { 55 }
45 return ( 56 },
46 time.getTime() <= new Date(this.form.startTime).getTime() 57 },
47 ); 58 // 搜索表单
48 } 59 valueTime: "",
49 } 60 form: {
50 }, 61 startTime: "",
51 // 搜索表单 62 endTime: "",
52 valueTime: '', 63 },
53 form: { 64 };
54 startTime: "", 65 },
55 endTime: "" 66 mounted() {
56 } 67 // 初始化图表
57 } 68 this.echartInit();
69 },
70 methods: {
71 // 重置
72 resetForm() {
73 this.form = {
74 startTime: "",
75 endTime: "",
76 };
58 }, 77 },
59 mounted () { 78 echartInit() {
60 // 初始化图表 79 // 基于准备好的dom,初始化echarts实例
61 this.echartInit(); 80 let myChart = this.$echarts.init(document.getElementById("myChart"));
81 // 绘制图表
82 myChart.setOption({
83 color: ["#00bdb1", "#ff6e6e", "#3f99ff", "#ffaf48"],
84 title: {
85 show: true,
86 text: "汉中市接入数量与上报数量统计(单位:个)\n(2022年02月05日~2022年03月07日)",
87 left: "center",
88 textStyle: {
89 fontSize: 30,
90 lineHeight: 30,
91 height: 60,
92 color: "#fff",
93 },
94 },
95 legend: {
96 data: [
97 "接入成功数量",
98 "接入失败数量",
99 "上报成功数量",
100 "上报失败数量",
101 ],
102 top: 80,
103 textStyle: {
104 fontSize: 24,
105 lineHeight: 30,
106 height: 60,
107 color: "#777",
108 },
109 },
110 tooltip: {
111 show: true,
112 trigger: "axis",
113 textStyle: {
114 fontSize: 22 // 字体大小
62 }, 115 },
63 methods: { 116 extraCssText: 'width:260px;height:200px;' // 背景色
64 // 重置
65 resetForm () {
66 this.form = {
67 startTime: "",
68 endTime: ""
69 }
70 }, 117 },
71 echartInit () { 118 grid: {
72 // 基于准备好的dom,初始化echarts实例 119 top: 120,
73 let myChart = this.$echarts.init(
74 document.getElementById("myChart")
75 );
76 // 绘制图表
77 myChart.setOption({
78 color: ["#00bdb1", "#ff6e6e", "#3f99ff", "#ffaf48"],
79 title: {
80 show: true,
81 text: "汉中市接入数量与上报数量统计(单位:个)\n(2022年02月05日~2022年03月07日)",
82 left: "center",
83 textStyle: {
84 fontSize: 18,
85 lineHeight: 30,
86 height: 60,
87 color: "#777",
88 },
89 },
90 legend: {
91 data: [
92 "接入成功数量",
93 "接入失败数量",
94 "上报成功数量",
95 "上报失败数量",
96 ],
97 top: 80,
98 },
99 tooltip: {
100 show: true,
101 trigger: "axis",
102 },
103 grid: {
104 top: 120,
105 },
106 xAxis: [
107 {
108 type: "category",
109 data: ["汉台区", "南郑区", "城固县", "洋县", "西乡县"],
110 },
111 ],
112 yAxis: [
113 {
114 type: "value",
115 },
116 ],
117 series: [
118 {
119 name: "接入成功数量",
120 type: "bar",
121 data: [1000, 1500, 2000, 500, 4000],
122 },
123 {
124 name: "接入失败数量",
125 type: "bar",
126 data: [900, 500, 3200, 800, 4500],
127 },
128 {
129 name: "上报成功数量",
130 type: "bar",
131 data: [1000, 1500, 2000, 500, 4000],
132 },
133 {
134 name: "上报失败数量",
135 type: "bar",
136 data: [900, 500, 3200, 800, 4500],
137 },
138 ],
139 });
140 }, 120 },
121 xAxis: [
122 {
123 type: "category",
124 data: ["汉台区", "南郑区", "城固县", "洋县", "西乡县"],
125 axisLabel: {
126 textStyle: {
127 show: true,
128 color: "#fff",
129 fontSize: "24",
130 },
131 },
132 },
133 ],
134 yAxis: [
135 {
136 type: "value",
137 axisLabel: {
138 textStyle: {
139 show: true,
140 color: "#fff",
141 fontSize: "24",
142 },
143 },
144 },
145 ],
146 series: [
147 {
148 name: "接入成功数量",
149 type: "bar",
150 data: [1000, 1500, 2000, 500, 4000],
151 },
152 {
153 name: "接入失败数量",
154 type: "bar",
155 data: [900, 500, 3200, 800, 4500],
156 },
157 {
158 name: "上报成功数量",
159 type: "bar",
160 data: [1000, 1500, 2000, 500, 4000],
161 },
162 {
163 name: "上报失败数量",
164 type: "bar",
165 data: [900, 500, 3200, 800, 4500],
166 },
167 ],
168 });
141 }, 169 },
170 },
142 }; 171 };
143 </script> 172 </script>
144 <style scoped lang="scss"> 173 <style scoped lang="scss">
145 @import "~@/styles/public.scss"; 174 @import "~@/styles/public.scss";
146 175
147 .jktjDetail { 176 .jktjDetail {
148 height: 100%; 177 height: 100%;
178 display: flex;
179 flex-direction: column;
180 .rows {
181 margin-left: 100px;
182 }
183 .echarts-box {
149 display: flex; 184 display: flex;
150 flex-direction: column; 185 justify-content: center;
186 height: 500px;
151 187
152 .echarts-box { 188 .chart {
153 display: flex; 189 width: 100%;
154 justify-content: center; 190 height: 100%;
155 height: 500px;
156
157 .chart {
158 width: 100%;
159 height: 100%;
160 }
161 } 191 }
192 }
162 193
163 .form-clues-content { 194 .form-clues-content {
164 flex: 1; 195 flex: 1;
165 height: 100%; 196 height: 100%;
166 } 197 }
167 } 198 }
168 </style> 199 </style>
169 <style scoped lang="scss"> 200 <style scoped lang="scss">
......
1 <template> 1 <template>
2 <!-- 监控日志 --> 2 <!-- 监控日志 -->
3 <div class="jktjDetail form-clues"> 3 <div class="jktjDetail form-clues">
4 <!-- 头部搜索 --> 4 <!-- 头部搜索 -->
5 <el-form ref="form" :model="form" :inline="true" class="from-clues-header" label-width="100px"> 5 <el-form
6 <el-row> 6 ref="form"
7 <el-col :span="8"> 7 :model="form"
8 <el-date-picker v-model="valueTime" type="datetimerange" range-separator="至" 8 :inline="true"
9 start-placeholder="开始日期" end-placeholder="结束日期"> 9 class="from-clues-header"
10 </el-date-picker> 10 label-width="100px"
11 </el-col> 11 >
12 <!-- 按钮操作 --> 12 <el-row class="rows">
13 <el-col :span="12" class="btnColRight"> 13 <el-col :span="8">
14 <el-button type="default" @click="resetForm"> 重置 </el-button> 14 <el-date-picker
15 <el-button type="primary"> 查询 </el-button> 15 v-model="valueTime"
16 </el-col> 16 type="datetimerange"
17 </el-row> 17 range-separator="至"
18 </el-form> 18 start-placeholder="开始日期"
19 <!-- 表格 --> 19 end-placeholder="结束日期"
20 <div class="form-clues-content echarts-box"> 20 >
21 <div id="myChart" class="chart"></div> 21 </el-date-picker>
22 </div> 22 </el-col>
23 <!-- 按钮操作 -->
24 <el-col :span="12" class="btnColRight">
25 <el-button type="default" @click="resetForm"> 重置 </el-button>
26 <el-button type="primary"> 查询 </el-button>
27 </el-col>
28 </el-row>
29 </el-form>
30 <!-- 表格 -->
31 <div class="form-clues-content echarts-box">
32 <div id="myChart" class="chart"></div>
23 </div> 33 </div>
34 </div>
24 </template> 35 </template>
25 36
26 <script> 37 <script>
27 export default { 38 export default {
28 name: "jktj", 39 name: "jktj",
29 data () { 40 data() {
30 return { 41 return {
31 // 开始结束日期限制 42 // 开始结束日期限制
32 pickerOptionsStart: { 43 pickerOptionsStart: {
33 disabledDate: (time) => { 44 disabledDate: (time) => {
34 if (this.form.endTime) { 45 if (this.form.endTime) {
35 return ( 46 return time.getTime() >= new Date(this.form.endTime).getTime();
36 time.getTime() >= new Date(this.form.endTime).getTime() 47 }
37 ); 48 },
38 } 49 },
39 } 50 // 结束日期限制
40 }, 51 pickerOptionsEnd: {
41 // 结束日期限制 52 disabledDate: (time) => {
42 pickerOptionsEnd: { 53 if (this.form.startTime) {
43 disabledDate: (time) => { 54 return time.getTime() <= new Date(this.form.startTime).getTime();
44 if (this.form.startTime) { 55 }
45 return ( 56 },
46 time.getTime() <= new Date(this.form.startTime).getTime() 57 },
47 ); 58 // 搜索表单
48 } 59 valueTime: "",
49 } 60 form: {
50 }, 61 startTime: "",
51 // 搜索表单 62 endTime: "",
52 valueTime: '', 63 },
53 form: { 64 };
54 startTime: "", 65 },
55 endTime: "" 66 mounted() {
56 } 67 // 初始化图表
57 } 68 this.echartInit();
69 },
70 methods: {
71 // 重置
72 resetForm() {
73 this.form = {
74 startTime: "",
75 endTime: "",
76 };
58 }, 77 },
59 mounted () { 78 echartInit() {
60 // 初始化图表 79 // 基于准备好的dom,初始化echarts实例
61 this.echartInit(); 80 let myChart = this.$echarts.init(document.getElementById("myChart"));
81 // 绘制图表
82 myChart.setOption({
83 color: ["#00bdb1", "#ff6e6e", "#3f99ff", "#ffaf48"],
84 title: {
85 show: true,
86 text: "汉中市接入数量与上报数量统计(单位:个)\n(2022年02月05日~2022年03月07日)",
87 left: "center",
88 textStyle: {
89 fontSize: 30,
90 lineHeight: 30,
91 height: 60,
92 color: "#fff",
93 },
94 },
95 legend: {
96 data: [
97 "接入成功数量",
98 "接入失败数量",
99 "上报成功数量",
100 "上报失败数量",
101 ],
102 top: 80,
103 textStyle: {
104 fontSize: 24,
105 lineHeight: 30,
106 height: 60,
107 color: "#777",
108 },
109 },
110 tooltip: {
111 show: true,
112 trigger: "axis",
113 textStyle: {
114 fontSize: 22 // 字体大小
62 }, 115 },
63 methods: { 116 extraCssText: 'width:260px;height:200px;' // 背景色
64 // 重置
65 resetForm () {
66 this.form = {
67 startTime: "",
68 endTime: ""
69 }
70 }, 117 },
71 echartInit () { 118 grid: {
72 // 基于准备好的dom,初始化echarts实例 119 top: 120,
73 let myChart = this.$echarts.init(
74 document.getElementById("myChart")
75 );
76 // 绘制图表
77 myChart.setOption({
78 color: ["#00bdb1", "#ff6e6e", "#3f99ff", "#ffaf48"],
79 title: {
80 show: true,
81 text: "汉中市接入数量与上报数量统计(单位:个)\n(2022年02月05日~2022年03月07日)",
82 left: "center",
83 textStyle: {
84 fontSize: 18,
85 lineHeight: 30,
86 height: 60,
87 color: "#777",
88 },
89 },
90 legend: {
91 data: [
92 "接入成功数量",
93 "接入失败数量",
94 "上报成功数量",
95 "上报失败数量",
96 ],
97 top: 80,
98 },
99 tooltip: {
100 show: true,
101 trigger: "axis",
102 },
103 grid: {
104 top: 120,
105 },
106 xAxis: [
107 {
108 type: "category",
109 data: ["汉台区", "南郑区", "城固县", "洋县", "西乡县"],
110 },
111 ],
112 yAxis: [
113 {
114 type: "value",
115 },
116 ],
117 series: [
118 {
119 name: "接入成功数量",
120 type: "bar",
121 data: [1000, 1500, 2000, 500, 4000],
122 },
123 {
124 name: "接入失败数量",
125 type: "bar",
126 data: [900, 500, 3200, 800, 4500],
127 },
128 {
129 name: "上报成功数量",
130 type: "bar",
131 data: [1000, 1500, 2000, 500, 4000],
132 },
133 {
134 name: "上报失败数量",
135 type: "bar",
136 data: [900, 500, 3200, 800, 4500],
137 },
138 ],
139 });
140 }, 120 },
121 xAxis: [
122 {
123 type: "category",
124 data: ["汉台区", "南郑区", "城固县", "洋县", "西乡县"],
125 axisLabel: {
126 textStyle: {
127 show: true,
128 color: "#fff",
129 fontSize: "24",
130 },
131 },
132 },
133 ],
134 yAxis: [
135 {
136 type: "value",
137 axisLabel: {
138 textStyle: {
139 show: true,
140 color: "#fff",
141 fontSize: "24",
142 },
143 },
144 },
145 ],
146 series: [
147 {
148 name: "接入成功数量",
149 type: "bar",
150 data: [1000, 1500, 2000, 500, 4000],
151 },
152 {
153 name: "接入失败数量",
154 type: "bar",
155 data: [900, 500, 3200, 800, 4500],
156 },
157 {
158 name: "上报成功数量",
159 type: "bar",
160 data: [1000, 1500, 2000, 500, 4000],
161 },
162 {
163 name: "上报失败数量",
164 type: "bar",
165 data: [900, 500, 3200, 800, 4500],
166 },
167 ],
168 });
141 }, 169 },
170 },
142 }; 171 };
143 </script> 172 </script>
144 <style scoped lang="scss"> 173 <style scoped lang="scss">
145 @import "~@/styles/public.scss"; 174 @import "~@/styles/public.scss";
146 175
147 .jktjDetail { 176 .jktjDetail {
148 height: 100%; 177 height: 100%;
178 display: flex;
179 flex-direction: column;
180 .rows {
181 margin-left: 100px;
182 }
183 .echarts-box {
149 display: flex; 184 display: flex;
150 flex-direction: column; 185 justify-content: center;
186 height: 500px;
151 187
152 .echarts-box { 188 .chart {
153 display: flex; 189 width: 100%;
154 justify-content: center; 190 height: 100%;
155 height: 500px;
156
157 .chart {
158 width: 100%;
159 height: 100%;
160 }
161 } 191 }
192 }
162 193
163 .form-clues-content { 194 .form-clues-content {
164 flex: 1; 195 flex: 1;
165 height: 100%; 196 height: 100%;
166 } 197 }
167 } 198 }
168 </style> 199 </style>
169 <style scoped lang="scss"> 200 <style scoped lang="scss">
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
37 </el-col> 37 </el-col>
38 </el-row> 38 </el-row>
39 <el-row class="mt-10"> 39 <el-row class="mt-10">
40 <el-col :span="6"> 40 <el-col :span="6">
41 <el-form-item label="业务号" prop="ywh"> 41 <el-form-item label="业务号" prop="ywh">
42 <el-input v-model="form.ywh" class="width100" placeholder="业务号"></el-input> 42 <el-input v-model="form.ywh" class="width100" placeholder="业务号"></el-input>
43 </el-form-item> 43 </el-form-item>
...@@ -75,7 +75,7 @@ ...@@ -75,7 +75,7 @@
75 </div> 75 </div>
76 <!-- 引入详情组件 --> 76 <!-- 引入详情组件 -->
77 <!-- 编辑 --> 77 <!-- 编辑 -->
78 <dataDetails ref="editLog" /> 78 <dataDetails ref="editLog" :title="title" />
79 </div> 79 </div>
80 </template> 80 </template>
81 <script> 81 <script>
...@@ -182,6 +182,7 @@ export default { ...@@ -182,6 +182,7 @@ export default {
182 label: "河南县", 182 label: "河南县",
183 }, 183 },
184 ], 184 ],
185 title: ''
185 }; 186 };
186 }, 187 },
187 methods: { 188 methods: {
...@@ -205,6 +206,7 @@ export default { ...@@ -205,6 +206,7 @@ export default {
205 handleEscalation () { }, 206 handleEscalation () { },
206 // 详情 207 // 详情
207 handleDetail (row) { 208 handleDetail (row) {
209 this.title = row.rectypeName
208 this.$refs.editLog.isShow(row); 210 this.$refs.editLog.isShow(row);
209 }, 211 },
210 }, 212 },
......