| @@ -6,11 +6,12 @@ | |||||
| background-image: url('../../../../assets/dashboard/dashboard_card_bg.jpg'); | background-image: url('../../../../assets/dashboard/dashboard_card_bg.jpg'); | ||||
| background-position: top; | background-position: top; | ||||
| background-size: cover; | background-size: cover; | ||||
| .card-content-title { | |||||
| margin-bottom: 0.5rem; | margin-bottom: 0.5rem; | ||||
| font-size: 18px; | |||||
| font-weight: 600; | |||||
| color: #74FAFB; | |||||
| } | |||||
| .card-content-title { | |||||
| margin-bottom: 0.5rem; | |||||
| font-size: 18px; | |||||
| font-weight: 600; | |||||
| color: #74FAFB; | |||||
| } | |||||
| } | } | ||||
| @@ -3,7 +3,7 @@ | |||||
| <data-v-navigation></data-v-navigation> | <data-v-navigation></data-v-navigation> | ||||
| <img src="assets/dashboard/dashboard_menu.jpg" style="width: 100%; height: 1.8rem;" /> | <img src="assets/dashboard/dashboard_menu.jpg" style="width: 100%; height: 1.8rem;" /> | ||||
| <div style="margin: 1rem;"> | |||||
| <div class="router-outlet-container"> | |||||
| <router-outlet /> | <router-outlet /> | ||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| @@ -3,7 +3,7 @@ | |||||
| min-width: 1280px; | min-width: 1280px; | ||||
| /* 水平宽度占据整个视口宽度 */ | /* 水平宽度占据整个视口宽度 */ | ||||
| height: 100vh; | |||||
| height: 100%; | |||||
| min-height: 768px; | min-height: 768px; | ||||
| background-color: #040516; | background-color: #040516; | ||||
| @@ -22,4 +22,9 @@ | |||||
| align-items: center; | align-items: center; | ||||
| justify-content: right; | justify-content: right; | ||||
| text-align: right; | text-align: right; | ||||
| } | |||||
| .router-outlet-container { | |||||
| padding: 1rem; | |||||
| background-color: #040516; | |||||
| } | } | ||||
| @@ -1,145 +1,41 @@ | |||||
| <div nz-row [nzGutter]="16"> | |||||
| <div nz-col nzSpan="12"> | |||||
| <div nz-row [nzGutter]="16" class="s1-container"> | |||||
| <div nz-col nzSpan="8"> | |||||
| <data-v-card title="系统状态"> | <data-v-card title="系统状态"> | ||||
| <div nz-row style="justify-content: center;align-items: center;"> | <div nz-row style="justify-content: center;align-items: center;"> | ||||
| <div nz-col nzSpan="12"> | <div nz-col nzSpan="12"> | ||||
| <div class="centered-element"> | <div class="centered-element"> | ||||
| <div id="c1" style="width: 20rem; height: 12rem;"></div> | |||||
| <div id="c1" style="width: 30rem; height: 10rem; margin-top: -3rem; margin-bottom: -2rem;"> | |||||
| </div> | |||||
| </div> | </div> | ||||
| <div class="sys-status-title">系统健康度</div> | <div class="sys-status-title">系统健康度</div> | ||||
| </div> | </div> | ||||
| <div nz-col nzSpan="12"> | <div nz-col nzSpan="12"> | ||||
| <div class="centered-element"> | <div class="centered-element"> | ||||
| <div id="c2" style="width: 20rem; height: 12rem;"></div> | |||||
| <div id="c2" style="width: 20rem; height: 10rem; margin-top: -3rem; margin-bottom: -2rem;"></div> | |||||
| </div> | </div> | ||||
| <div class="sys-status-title">设备投运度</div> | <div class="sys-status-title">设备投运度</div> | ||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| </data-v-card> | </data-v-card> | ||||
| <data-v-card title="系统运行状态"> | |||||
| <div nz-row [nzGutter]="16"> | |||||
| <div nz-col nzSpan="6"> | |||||
| <div class="status-container"> | |||||
| <div class="status-circle red"></div> | |||||
| <span class="status-text">#1机器人</span> | |||||
| </div> | |||||
| </div> | |||||
| <div nz-col nzSpan="6"> | |||||
| <div class="status-container"> | |||||
| <div class="status-circle green"></div> | |||||
| <span class="status-text">#1量热仪</span> | |||||
| </div> | |||||
| </div> | |||||
| <div nz-col nzSpan="6"> | |||||
| <div class="status-container"> | |||||
| <div class="status-circle green"></div> | |||||
| <span class="status-text">#1水灰炉</span> | |||||
| </div> | |||||
| </div> | |||||
| <div nz-col nzSpan="6"> | |||||
| <div class="status-container"> | |||||
| <div class="status-circle red"></div> | |||||
| <span class="status-text">全水分析系统</span> | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| <div nz-row [nzGutter]="16"> | |||||
| <div nz-col nzSpan="6"> | |||||
| <div class="status-container"> | |||||
| <div class="status-circle green"></div> | |||||
| <span class="status-text">#1机器人</span> | |||||
| </div> | |||||
| </div> | |||||
| <div nz-col nzSpan="6"> | |||||
| <div class="status-container"> | |||||
| <div class="status-circle red"></div> | |||||
| <span class="status-text">#1量热仪</span> | |||||
| </div> | |||||
| </div> | |||||
| <div nz-col nzSpan="6"> | |||||
| <div class="status-container"> | |||||
| <div class="status-circle red"></div> | |||||
| <span class="status-text">#1水灰炉</span> | |||||
| </div> | |||||
| </div> | |||||
| <div nz-col nzSpan="6"> | |||||
| <div class="status-container"> | |||||
| <div class="status-circle green"></div> | |||||
| <span class="status-text">全水分析系统</span> | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| <div nz-row [nzGutter]="16"> | |||||
| <div nz-col nzSpan="6"> | |||||
| <div class="status-container"> | |||||
| <div class="status-circle red"></div> | |||||
| <span class="status-text">#2机器人</span> | |||||
| </div> | |||||
| </div> | |||||
| <div nz-col nzSpan="6"> | |||||
| <div class="status-container"> | |||||
| <div class="status-circle red"></div> | |||||
| <span class="status-text">#2量热仪</span> | |||||
| </div> | |||||
| </div> | |||||
| <div nz-col nzSpan="6"> | |||||
| <div class="status-container"> | |||||
| <div class="status-circle red"></div> | |||||
| <span class="status-text">#2水灰炉</span> | |||||
| </div> | |||||
| </div> | |||||
| <div nz-col nzSpan="6"> | |||||
| <div class="status-container"> | |||||
| <div class="status-circle red"></div> | |||||
| <span class="status-text">#2全硫仪</span> | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| <div nz-row [nzGutter]="16"> | |||||
| <div nz-col nzSpan="6"> | |||||
| <div class="status-container"> | |||||
| <div class="status-circle red"></div> | |||||
| <span class="status-text">称重机器人</span> | |||||
| </div> | |||||
| </div> | |||||
| <div nz-col nzSpan="6"> | |||||
| <div class="status-container"> | |||||
| <div class="status-circle red"></div> | |||||
| <span class="status-text">#1全硫仪</span> | |||||
| </div> | |||||
| </div> | |||||
| <div nz-col nzSpan="6"> | |||||
| <div class="status-container"> | |||||
| <div class="status-circle green"></div> | |||||
| <span class="status-text">#1</span> | |||||
| </div> | |||||
| </div> | |||||
| <div nz-col nzSpan="6"> | |||||
| <div class="status-container"> | |||||
| <div class="status-circle green"></div> | |||||
| <span class="status-text">#2</span> | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| <data-v-card title="系统操作记录" style="margin-top: 1rem;"> | |||||
| <ag-grid-angular [rowData]="rowData" [columnDefs]="colDefs1" class="ag-theme-datav"> | |||||
| </ag-grid-angular> | |||||
| </data-v-card> | </data-v-card> | ||||
| <data-v-card title="系统报警信息"> | |||||
| <data-v-card title="系统报警信息" style="margin-top: 1rem;"> | |||||
| <ag-grid-angular [rowData]="rowData" [columnDefs]="colDefs2" class="ag-theme-datav"> | <ag-grid-angular [rowData]="rowData" [columnDefs]="colDefs2" class="ag-theme-datav"> | ||||
| </ag-grid-angular> | </ag-grid-angular> | ||||
| </data-v-card> | </data-v-card> | ||||
| <data-v-card title=""> | |||||
| <div class="progress-display">完成样品数量/时长 16/8</div> | |||||
| <data-v-card title="" style="margin-top: 1rem;"> | |||||
| <!-- <div class="progress-display">完成样品数量/时长 16/8</div> --> | |||||
| <div class="progress-container"> | <div class="progress-container"> | ||||
| <span class="status-text" style="width: 8rem;">化验效率:</span> | <span class="status-text" style="width: 8rem;">化验效率:</span> | ||||
| <nz-progress [nzPercent]="64" style="width: 100%;"></nz-progress> | |||||
| <nz-progress [nzPercent]="64" style="width: 100%; "></nz-progress> | |||||
| </div> | </div> | ||||
| <div class="progress-display">完成样品数量/时长 16/8</div> | |||||
| <!-- <div class="progress-display">完成样品数量/时长 16/8</div> --> | |||||
| <div class="progress-container"> | <div class="progress-container"> | ||||
| <span class="status-text" style="width: 8rem;">完 成 率 :</span> | <span class="status-text" style="width: 8rem;">完 成 率 :</span> | ||||
| <nz-progress [nzPercent]="60" style="width: 100%;"></nz-progress> | <nz-progress [nzPercent]="60" style="width: 100%;"></nz-progress> | ||||
| @@ -147,23 +43,56 @@ | |||||
| </data-v-card> | </data-v-card> | ||||
| </div> | </div> | ||||
| <div nz-col nzSpan="12"> | |||||
| <data-v-card title="化验结果"> | |||||
| <div class="centered-element"> | |||||
| <div id="d1" style="width: 40rem; height: 12rem;"> | |||||
| <div nz-col nzSpan="8"> | |||||
| <data-v-card title=""> | |||||
| <!-- <nz-tabset> | |||||
| <nz-tab nzTitle="Tab 1">Content of Tab Pane 1</nz-tab> | |||||
| <nz-tab nzTitle="Tab 2">Content of Tab Pane 2</nz-tab> | |||||
| <nz-tab nzTitle="Tab 3">Content of Tab Pane 3</nz-tab> | |||||
| </nz-tabset> --> | |||||
| <div style="height: 34.6rem;"> | |||||
| <img src="assets/dashboard/dashboard_ws_demo1.png" style="width: 100%;" /> | |||||
| <div nz-row style="justify-content: center;align-items: center;margin-top: 0.5rem;"> | |||||
| <div nz-col nzSpan="12" class="sys-status-title"> | |||||
| 机器人 | |||||
| </div> | |||||
| <div nz-col nzSpan="12" class="sys-status-title"> | |||||
| 全硫仪 | |||||
| </div> | |||||
| <div nz-col nzSpan="12" class="sys-status-title"> | |||||
| 全水分析仪 | |||||
| </div> | |||||
| <div nz-col nzSpan="12" class="sys-status-title"> | |||||
| 挥发分仪 | |||||
| </div> | |||||
| <div nz-col nzSpan="12" class="sys-status-title"> | |||||
| 量热仪 | |||||
| </div> | |||||
| <div nz-col nzSpan="12" class="sys-status-title"> | |||||
| 谈情氮元素 | |||||
| </div> | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| <div class="centered-element"> | |||||
| <div id="d2" style="width: 40rem; height: 12rem; margin-top: 1rem;"> | |||||
| </data-v-card> | |||||
| </div> | |||||
| <div nz-col nzSpan="8"> | |||||
| <data-v-card title="化验结果"> | |||||
| <div class="centered-element"> | |||||
| <div id="d1" style="width: 26rem; height: 11rem;"> | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| <div class="centered-element"> | <div class="centered-element"> | ||||
| <div id="d3" style="width: 40rem; height: 12rem; margin-top: 1rem;"></div> | |||||
| <div id="d2" style="width: 26rem; height: 11rem; margin-top: 0.4rem;"> | |||||
| </div> | |||||
| </div> | </div> | ||||
| <!-- <div class="centered-element"> | |||||
| <div id="d3" style="width: 26rem; height: 12rem; margin-top: 1rem;"></div> | |||||
| </div> --> | |||||
| <div class="statistic-item-container"> | |||||
| <!-- <div class="statistic-item-container"> | |||||
| <label nz-checkbox [ngModel]="'true'" class="white-color-theme">全水</label> | <label nz-checkbox [ngModel]="'true'" class="white-color-theme">全水</label> | ||||
| <label nz-checkbox [ngModel]="'true'" class="white-color-theme">热值</label> | <label nz-checkbox [ngModel]="'true'" class="white-color-theme">热值</label> | ||||
| <label nz-checkbox [ngModel]="'true'" class="white-color-theme">全硫</label> | <label nz-checkbox [ngModel]="'true'" class="white-color-theme">全硫</label> | ||||
| @@ -173,12 +102,26 @@ | |||||
| <label nz-checkbox [ngModel]="'false'" class="white-color-theme">碳</label> | <label nz-checkbox [ngModel]="'false'" class="white-color-theme">碳</label> | ||||
| <label nz-checkbox [ngModel]="'false'" class="white-color-theme">氢</label> | <label nz-checkbox [ngModel]="'false'" class="white-color-theme">氢</label> | ||||
| <label nz-checkbox [ngModel]="'false'" class="white-color-theme">氮</label> | <label nz-checkbox [ngModel]="'false'" class="white-color-theme">氮</label> | ||||
| </div> --> | |||||
| <div nz-row style="justify-content: center;align-items: center;margin-top: 0.4rem;"> | |||||
| <div nz-col nzSpan="12"> | |||||
| <div class="centered-element"> | |||||
| <div id="r1" style="width: 13rem; height: 10rem;"> | |||||
| </div> | |||||
| </div> | |||||
| </div> | |||||
| <div nz-col nzSpan="12"> | |||||
| <div class="centered-element"> | |||||
| <div id="r2" style="width: 13rem; height: 10rem;"></div> | |||||
| </div> | |||||
| </div> | |||||
| </div> | </div> | ||||
| </data-v-card> | </data-v-card> | ||||
| <data-v-card title=""> | |||||
| <!-- <data-v-card> | |||||
| <div class="sys-status-title">煤样超差率:超差样量/总样量 03/16</div> | <div class="sys-status-title">煤样超差率:超差样量/总样量 03/16</div> | ||||
| <div class="sys-status-title">煤样合格率:合格样量/总样量 15/16</div> | <div class="sys-status-title">煤样合格率:合格样量/总样量 15/16</div> | ||||
| </data-v-card> | |||||
| </div> | |||||
| </div> | |||||
| </data-v-card> --> | |||||
| </div> | |||||
| @@ -1,3 +1,5 @@ | |||||
| .s1-container {} | |||||
| .sys-status-title { | .sys-status-title { | ||||
| font-size: 18px; | font-size: 18px; | ||||
| font-weight: 600; | font-weight: 600; | ||||
| @@ -16,7 +18,7 @@ | |||||
| --ag-font-size: 17px; | --ag-font-size: 17px; | ||||
| --ag-font-family: monospace; | --ag-font-family: monospace; | ||||
| height: 6rem; | |||||
| height: 5rem; | |||||
| } | } | ||||
| .centered-element { | .centered-element { | ||||
| @@ -24,7 +26,6 @@ | |||||
| align-items: center; | align-items: center; | ||||
| justify-content: center; | justify-content: center; | ||||
| height: 100%; | height: 100%; | ||||
| /* 如果需要垂直居中,可以设置高度为 100% */ | |||||
| } | } | ||||
| .status-container { | .status-container { | ||||
| @@ -73,4 +74,8 @@ | |||||
| .white-color-theme { | .white-color-theme { | ||||
| color: #74FAFB; | color: #74FAFB; | ||||
| } | |||||
| .ant-progress-text { | |||||
| color: red; | |||||
| } | } | ||||
| @@ -11,10 +11,6 @@ import { ColDef } from 'ag-grid-community'; // Column Definition Type Interface | |||||
| import { NzProgressModule } from 'ng-zorro-antd/progress'; | import { NzProgressModule } from 'ng-zorro-antd/progress'; | ||||
| import { NzBadgeModule } from 'ng-zorro-antd/badge'; | import { NzBadgeModule } from 'ng-zorro-antd/badge'; | ||||
| // 基于准备好的dom,初始化echarts实例 | |||||
| //var myChart = echarts.init(document.getElementById('c1')); | |||||
| type EChartsOption = echarts.EChartsOption; | |||||
| @Component({ | @Component({ | ||||
| selector: 'app-data-v-s1', | selector: 'app-data-v-s1', | ||||
| standalone: true, | standalone: true, | ||||
| @@ -145,44 +141,221 @@ export class DataVS1Component implements OnInit { | |||||
| ngOnInit(): void { | ngOnInit(): void { | ||||
| var c1 = document.getElementById('c1')!; | var c1 = document.getElementById('c1')!; | ||||
| //c1.style.left = '10%'; | |||||
| //c1.style.top = '50%'; | |||||
| //c1.style.transform = 'translate(-50%, -50%)'; | |||||
| var c1Chart = echarts.init(c1); | var c1Chart = echarts.init(c1); | ||||
| var c2 = document.getElementById('c2')!; | var c2 = document.getElementById('c2')!; | ||||
| var c2Chart = echarts.init(c2); | var c2Chart = echarts.init(c2); | ||||
| let optionC = { | |||||
| tooltip: { | |||||
| formatter: '{a} <br/>{b} : {c}%' | |||||
| }, | |||||
| let c1OptionC = { | |||||
| series: [ | series: [ | ||||
| { | { | ||||
| name: 'Pressure', | |||||
| type: 'gauge', | type: 'gauge', | ||||
| progress: { | |||||
| show: true | |||||
| startAngle: 180, | |||||
| endAngle: 0, | |||||
| center: ['50%', '75%'], | |||||
| radius: '90%', | |||||
| min: 0, | |||||
| max: 1, | |||||
| splitNumber: 8, | |||||
| axisLine: { | |||||
| lineStyle: { | |||||
| width: 6, | |||||
| color: [ | |||||
| [0.25, '#74FAFB'], | |||||
| [0.5, '#74FAFB'], | |||||
| [0.75, '#74FAFB'], | |||||
| [1, '#74FAFB'] | |||||
| ] | |||||
| } | |||||
| }, | |||||
| pointer: { | |||||
| icon: 'path://M12.8,0.7l12,40.1H0.7L12.8,0.7z', | |||||
| length: '12%', | |||||
| width: 20, | |||||
| offsetCenter: [0, '-60%'], | |||||
| itemStyle: { | |||||
| color: 'auto' | |||||
| } | |||||
| }, | |||||
| axisTick: { | |||||
| length: 12, | |||||
| lineStyle: { | |||||
| color: 'auto', | |||||
| width: 2 | |||||
| } | |||||
| }, | |||||
| splitLine: { | |||||
| length: 20, | |||||
| lineStyle: { | |||||
| color: 'auto', | |||||
| width: 5 | |||||
| } | |||||
| }, | |||||
| axisLabel: { | |||||
| color: '#464646', | |||||
| fontSize: 20, | |||||
| distance: -60, | |||||
| rotate: 'tangential', | |||||
| formatter: function (value: any) { | |||||
| if (value === 0.875) { | |||||
| return ''; | |||||
| } else if (value === 0.625) { | |||||
| return ''; | |||||
| } else if (value === 0.375) { | |||||
| return ''; | |||||
| } else if (value === 0.125) { | |||||
| return ''; | |||||
| } | |||||
| return ''; | |||||
| } | |||||
| }, | |||||
| title: { | |||||
| offsetCenter: [0, '-10%'], | |||||
| fontSize: 20 | |||||
| }, | }, | ||||
| detail: { | detail: { | ||||
| fontSize: 30, | |||||
| offsetCenter: [0, '-5%'], | |||||
| valueAnimation: true, | valueAnimation: true, | ||||
| formatter: '{value}' | |||||
| formatter: function (value: any) { | |||||
| return Math.round(value * 100) + ''; | |||||
| }, | |||||
| color: 'inherit' | |||||
| }, | }, | ||||
| data: [ | data: [ | ||||
| { | { | ||||
| value: 97, | |||||
| name: '百分比' | |||||
| value: 0.9, | |||||
| name: '' | |||||
| } | } | ||||
| ] | ] | ||||
| } | } | ||||
| ] | ] | ||||
| }; | }; | ||||
| let c2OptionC = { | |||||
| series: [ | |||||
| { | |||||
| type: 'gauge', | |||||
| startAngle: 180, | |||||
| endAngle: 0, | |||||
| center: ['50%', '75%'], | |||||
| radius: '90%', | |||||
| min: 0, | |||||
| max: 1, | |||||
| splitNumber: 8, | |||||
| axisLine: { | |||||
| lineStyle: { | |||||
| width: 6, | |||||
| color: [ | |||||
| [0.25, '#74FAFB'], | |||||
| [0.5, '#74FAFB'], | |||||
| [0.75, '#74FAFB'], | |||||
| [1, '#74FAFB'] | |||||
| ] | |||||
| } | |||||
| }, | |||||
| pointer: { | |||||
| icon: 'path://M12.8,0.7l12,40.1H0.7L12.8,0.7z', | |||||
| length: '12%', | |||||
| width: 20, | |||||
| offsetCenter: [0, '-60%'], | |||||
| itemStyle: { | |||||
| color: 'auto' | |||||
| } | |||||
| }, | |||||
| axisTick: { | |||||
| length: 12, | |||||
| lineStyle: { | |||||
| color: 'auto', | |||||
| width: 2 | |||||
| } | |||||
| }, | |||||
| splitLine: { | |||||
| length: 20, | |||||
| lineStyle: { | |||||
| color: 'auto', | |||||
| width: 5 | |||||
| } | |||||
| }, | |||||
| axisLabel: { | |||||
| color: '#464646', | |||||
| fontSize: 20, | |||||
| distance: -60, | |||||
| rotate: 'tangential', | |||||
| formatter: function (value: any) { | |||||
| if (value === 0.875) { | |||||
| return ''; | |||||
| } else if (value === 0.625) { | |||||
| return ''; | |||||
| } else if (value === 0.375) { | |||||
| return ''; | |||||
| } else if (value === 0.125) { | |||||
| return ''; | |||||
| } | |||||
| return ''; | |||||
| } | |||||
| }, | |||||
| title: { | |||||
| offsetCenter: [0, '0%'], | |||||
| fontSize: 20 | |||||
| }, | |||||
| detail: { | |||||
| fontSize: 30, | |||||
| offsetCenter: [0, '-5%'], | |||||
| valueAnimation: true, | |||||
| formatter: function (value: any) { | |||||
| return Math.round(value * 100) + ''; | |||||
| }, | |||||
| color: 'inherit' | |||||
| }, | |||||
| data: [ | |||||
| { | |||||
| value: 0.97, | |||||
| name: '' | |||||
| } | |||||
| ] | |||||
| } | |||||
| ] | |||||
| }; | |||||
| // let c2OptionC = { | |||||
| // color: ['#74FAFB'], | |||||
| // startAngle: 180, | |||||
| // endAngle: 0, | |||||
| // grid: { | |||||
| // left: '3%', | |||||
| // right: '3%', | |||||
| // bottom: '3%', | |||||
| // containLabel: true | |||||
| // }, | |||||
| // tooltip: { | |||||
| // formatter: '{a} <br/>{b} : {c}%' | |||||
| // }, | |||||
| // series: [ | |||||
| // { | |||||
| // name: '系统健康度', | |||||
| // type: 'gauge', | |||||
| // progress: { | |||||
| // show: true | |||||
| // }, | |||||
| // detail: { | |||||
| // valueAnimation: true, | |||||
| // formatter: '{value}' | |||||
| // }, | |||||
| // data: [ | |||||
| // { | |||||
| // value: 97, | |||||
| // name: '百分比' | |||||
| // } | |||||
| // ] | |||||
| // } | |||||
| // ] | |||||
| // }; | |||||
| var d1 = document.getElementById('d1'); | var d1 = document.getElementById('d1'); | ||||
| var d1Chart = echarts.init(d1, 'dark'); | var d1Chart = echarts.init(d1, 'dark'); | ||||
| var d2 = document.getElementById('d2'); | var d2 = document.getElementById('d2'); | ||||
| var d2Chart = echarts.init(d2, 'dark'); | var d2Chart = echarts.init(d2, 'dark'); | ||||
| var d3 = document.getElementById('d3'); | |||||
| var d3Chart = echarts.init(d3, 'dark'); | |||||
| // var d3 = document.getElementById('d3'); | |||||
| // var d3Chart = echarts.init(d3, 'dark'); | |||||
| var optionD1; | var optionD1; | ||||
| optionD1 = { | optionD1 = { | ||||
| @@ -196,6 +369,12 @@ export class DataVS1Component implements OnInit { | |||||
| legend: { | legend: { | ||||
| data: ['超差样数量', '不合格样数量'] | data: ['超差样数量', '不合格样数量'] | ||||
| }, | }, | ||||
| grid: { | |||||
| left: '3%', | |||||
| right: '3%', | |||||
| bottom: '3%', | |||||
| containLabel: true | |||||
| }, | |||||
| toolbox: { | toolbox: { | ||||
| show: false, | show: false, | ||||
| feature: { | feature: { | ||||
| @@ -375,11 +554,93 @@ export class DataVS1Component implements OnInit { | |||||
| optionD1 && d1Chart.setOption(optionD1); | optionD1 && d1Chart.setOption(optionD1); | ||||
| optionD2 && d2Chart.setOption(optionD2); | optionD2 && d2Chart.setOption(optionD2); | ||||
| optionD3 && d3Chart.setOption(optionD3); | |||||
| // optionD3 && d3Chart.setOption(optionD3); | |||||
| c1Chart.setOption(c1OptionC); | |||||
| c2Chart.setOption(c2OptionC); | |||||
| var r1 = document.getElementById('r1'); | |||||
| var r1Chart = echarts.init(r1, 'dark'); | |||||
| var r2 = document.getElementById('r2'); | |||||
| var r2Chart = echarts.init(r2, 'dark'); | |||||
| var r1SuperCount = 3; // 超差样量 | |||||
| var r1TotalCount = 16; // 总样量 | |||||
| c1Chart.setOption(optionC); | |||||
| c2Chart.setOption(optionC); | |||||
| var r2SuperCount = 15; // 合格样量 | |||||
| var r2TotalCount = 16; // 总样量 | |||||
| // 计算超差率 | |||||
| var r1SuperRate = (r1SuperCount / r1TotalCount * 100).toFixed(2); // 保留两位小数 | |||||
| // 计算合格率 | |||||
| var r2SuperRate = (r2SuperCount / r2TotalCount * 100).toFixed(2); // 保留两位小数 | |||||
| // Echarts配置项 | |||||
| var r1Option = { | |||||
| title: { | |||||
| text: '煤样超差率', | |||||
| subtext: '超差率:' + r1SuperRate + '%' | |||||
| }, | |||||
| tooltip: { | |||||
| trigger: 'axis', | |||||
| axisPointer: { | |||||
| type: 'shadow' | |||||
| } | |||||
| }, | |||||
| grid: { | |||||
| top: '10%', | |||||
| left: '3%', | |||||
| right: '4%', | |||||
| bottom: '3%', | |||||
| containLabel: true | |||||
| }, | |||||
| xAxis: { | |||||
| type: 'category', | |||||
| data: ['超差样量', '总样量'] | |||||
| }, | |||||
| yAxis: { | |||||
| type: 'value' | |||||
| }, | |||||
| series: [{ | |||||
| data: [r1SuperCount, r1TotalCount], | |||||
| type: 'bar' | |||||
| }] | |||||
| }; | |||||
| // Echarts配置项 | |||||
| var r2Option = { | |||||
| title: { | |||||
| text: '煤样合格率', | |||||
| subtext: '合格率:' + r2SuperRate + '%' | |||||
| }, | |||||
| tooltip: { | |||||
| trigger: 'axis', | |||||
| axisPointer: { | |||||
| type: 'shadow' | |||||
| } | |||||
| }, | |||||
| grid: { | |||||
| top: '10%', | |||||
| left: '3%', | |||||
| right: '4%', | |||||
| bottom: '3%', | |||||
| containLabel: true | |||||
| }, | |||||
| xAxis: { | |||||
| type: 'category', | |||||
| data: ['超差样量', '总样量'] | |||||
| }, | |||||
| yAxis: { | |||||
| type: 'value' | |||||
| }, | |||||
| series: [{ | |||||
| data: [r2SuperCount, r2TotalCount], | |||||
| type: 'bar' | |||||
| }] | |||||
| }; | |||||
| r1Chart.setOption(r1Option); | |||||
| r2Chart.setOption(r2Option); | |||||
| // myChart.setOption({ | // myChart.setOption({ | ||||
| // title: { | // title: { | ||||
| // text: 'ECharts 入门示例' | // text: 'ECharts 入门示例' | ||||
| @@ -399,5 +660,5 @@ export class DataVS1Component implements OnInit { | |||||
| // }); | // }); | ||||
| } | } | ||||
| add(): void {} | |||||
| add(): void { } | |||||
| } | } | ||||
| @@ -15,4 +15,4 @@ | |||||
| <ag-grid-angular [rowData]="rowData" [columnDefs]="colDefs4" class="ag-theme-datav"> | <ag-grid-angular [rowData]="rowData" [columnDefs]="colDefs4" class="ag-theme-datav"> | ||||
| </ag-grid-angular> | </ag-grid-angular> | ||||
| </data-v-card> | </data-v-card> | ||||
| </div> | |||||
| </div> | |||||
| @@ -20,6 +20,8 @@ export class DataVWorkstationComponent implements OnInit, AfterViewInit { | |||||
| private readonly modal = inject(ModalHelper); | private readonly modal = inject(ModalHelper); | ||||
| private readonly elementRef = inject(ElementRef); | private readonly elementRef = inject(ElementRef); | ||||
| dataSet: any; | |||||
| rowData = [ | rowData = [ | ||||
| { | { | ||||
| rwmc: "任务1", rwms: "任务描述1", kssj: "2024-1-1", jhwcsj: "2024-1-2", sfcq: '否', dqzt: "正常", dqjd: "节点1", sjwcsj: "2024-1-2", | rwmc: "任务1", rwms: "任务描述1", kssj: "2024-1-1", jhwcsj: "2024-1-2", sfcq: '否', dqzt: "正常", dqjd: "节点1", sjwcsj: "2024-1-2", | ||||
| @@ -3,10 +3,10 @@ | |||||
| <head> | <head> | ||||
| <meta charset="utf-8"> | <meta charset="utf-8"> | ||||
| <title>云派</title> | |||||
| <title>上海发电设备成套设计研究院</title> | |||||
| <base href="/"> | <base href="/"> | ||||
| <meta name="viewport" content="width=device-width, initial-scale=1"> | <meta name="viewport" content="width=device-width, initial-scale=1"> | ||||
| <link rel="icon" type="image/x-icon" href="favicon.ico"> | |||||
| <link rel="icon" type="image/x-icon" href="assets/lh-logo.png"> | |||||
| <style type="text/css"> | <style type="text/css"> | ||||
| .preloader { | .preloader { | ||||
| position: fixed; | position: fixed; | ||||
| @@ -101,7 +101,6 @@ | |||||
| .cs-loader-inner label:nth-child(1) { | .cs-loader-inner label:nth-child(1) { | ||||
| animation: lol 3s .5s infinite ease-in-out | animation: lol 3s .5s infinite ease-in-out | ||||
| } | } | ||||
| </style> | </style> | ||||
| </head> | </head> | ||||
| @@ -115,4 +114,4 @@ | |||||
| </div> | </div> | ||||
| </body> | </body> | ||||
| </html> | |||||
| </html> | |||||