@@ -12,7 +12,8 @@ import { NzPaginationModule } from 'ng-zorro-antd/pagination'; | |||||
export class LjCarAgGridComponentComponent implements OnInit { | export class LjCarAgGridComponentComponent implements OnInit { | ||||
@ViewChild('myGrid') grid!: AgGridAngular; | @ViewChild('myGrid') grid!: AgGridAngular; | ||||
public gridOptions: any = { | public gridOptions: any = { | ||||
headerHeight: 0 | |||||
headerHeight: 0, | |||||
width: '100%' | |||||
}; | }; | ||||
/**每页数 */ | /**每页数 */ | ||||
@@ -101,4 +101,28 @@ border-radius: 3px; | |||||
align-self: flex-end; | align-self: flex-end; | ||||
} | } | ||||
} | } | ||||
} | |||||
} | |||||
.table-container { | |||||
margin: 10px 5px 20px; /* Adjust padding as needed */ | |||||
padding: 10px; | |||||
border: 1px solid #fff; /* White border */ | |||||
/* Other styles */ | |||||
} | |||||
.table-header { | |||||
display: flex; /* 使用 flex 布局 */ | |||||
justify-content: space-between; /* 元素之间平均分布 */ | |||||
} | |||||
.table-header span { | |||||
flex: 1; /* 每个元素占据等宽 */ | |||||
text-align: center; /* 文本居中 */ | |||||
} | |||||
.grid-item { | |||||
margin-bottom: 10px; | |||||
} | |||||
@@ -1,11 +1,55 @@ | |||||
<div class="card-content"> | <div class="card-content"> | ||||
<lj-car-ag-grid-component | |||||
style="width: 30%" | |||||
[defaultColDef]="defaultColDef" | |||||
[rowData]="rowData" | |||||
[columnDefs]="colDefs1" | |||||
gridThemeClass="ag-theme-quartz ag-theme-datav" | |||||
/> | |||||
<div class="table-container"> | |||||
<div class="table-header"> | |||||
<span>序号</span> | |||||
<span>时间</span> | |||||
<span>车牌</span> | |||||
<span>车型</span> | |||||
<span>卡号</span> | |||||
<span>供应商</span> | |||||
<span>毛重</span> | |||||
<span>上报<br />热值</span> | |||||
<span>估算<br />热值</span> | |||||
</div> | |||||
</div> | |||||
<div class="grid-container"> | |||||
<div class="grid-item"> | |||||
<lj-car-ag-grid-component | |||||
style="width: 30%" | |||||
[defaultColDef]="defaultColDef" | |||||
[rowData]="rowData" | |||||
[columnDefs]="colDefs1" | |||||
gridThemeClass="ag-theme-quartz ag-theme-datav" | |||||
/> | |||||
</div> | |||||
<div class="grid-item"> | |||||
<lj-car-ag-grid-component | |||||
style="width: 30%" | |||||
[defaultColDef]="defaultColDef" | |||||
[rowData]="rowData" | |||||
[columnDefs]="colDefs1" | |||||
gridThemeClass="ag-theme-quartz ag-theme-datav" | |||||
/> | |||||
</div> | |||||
<div class="grid-item"> | |||||
<lj-car-ag-grid-component | |||||
style="width: 30%" | |||||
[defaultColDef]="defaultColDef" | |||||
[rowData]="rowData" | |||||
[columnDefs]="colDefs1" | |||||
gridThemeClass="ag-theme-quartz ag-theme-datav" | |||||
/> | |||||
</div> | |||||
<div class="grid-item"> | |||||
<lj-car-ag-grid-component | |||||
style="width: 30%" | |||||
[defaultColDef]="defaultColDef" | |||||
[rowData]="rowData" | |||||
[columnDefs]="colDefs1" | |||||
gridThemeClass="ag-theme-quartz ag-theme-datav" | |||||
/> | |||||
</div> | |||||
</div> | |||||
<ng-content /> | <ng-content /> | ||||
</div> | </div> |
@@ -46,51 +46,45 @@ | |||||
<div style="height: 34.6rem"> | <div style="height: 34.6rem"> | ||||
<img src="assets/dashboard/dashboard_ws_demo1.png" style="width: 100%" /> | <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 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> | ||||
</data-v-card> | </data-v-card> | ||||
</div> | </div> | ||||
<div nz-col nzSpan="8"> | <div nz-col nzSpan="8"> | ||||
<data-v-card title="化验结果" [showSetting]="true" [optionsList]="chartConfig.optionsCheckList" | |||||
(onCheckedItemsChange)="handleCheckedItems($event)"> | |||||
<data-v-card | |||||
title="化验结果" | |||||
[showSetting]="true" | |||||
[optionsList]="chartConfig.optionsCheckList" | |||||
(onCheckedItemsChange)="handleCheckedItems($event)" | |||||
> | |||||
<div nz-row class="scrollable-container"> | <div nz-row class="scrollable-container"> | ||||
@for(item of chartConfig.optionsCheckList; track item) { | |||||
@for (item of chartConfig.optionsCheckList; track item) { | |||||
<div nz-col [nzSpan]="24 / chartConfig.rowNumber" *ngIf="item.checked" class="centered-element"> | <div nz-col [nzSpan]="24 / chartConfig.rowNumber" *ngIf="item.checked" class="centered-element"> | ||||
<!-- 添加上下外边距 --> | <!-- 添加上下外边距 --> | ||||
<app-chart-component [options]="item.options" | |||||
<app-chart-component | |||||
[options]="item.options" | |||||
[style]="{ margin: '20px ' + 20 / chartConfig.rowNumber + 'px', width: '100%', height: '16rem' }" | [style]="{ margin: '20px ' + 20 / chartConfig.rowNumber + 'px', width: '100%', height: '16rem' }" | ||||
*ngIf="item.checked" /> | |||||
*ngIf="item.checked" | |||||
/> | |||||
</div> | </div> | ||||
} | |||||
} | |||||
</div> | </div> | ||||
<div nz-row> | <div nz-row> | ||||
@for(item of chartConfig.optionBottomList; track item) { | |||||
@for (item of chartConfig.optionBottomList; track item) { | |||||
<div nz-col nzSpan="12"> | <div nz-col nzSpan="12"> | ||||
<div class="centered-element" style="margin: 2px"> | <div class="centered-element" style="margin: 2px"> | ||||
<app-chart-component [options]="item" style="width: 26rem; height: 11rem; margin-left: 0.4rem" /> | <app-chart-component [options]="item" style="width: 26rem; height: 11rem; margin-left: 0.4rem" /> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
} | |||||
} | |||||
</div> | </div> | ||||
</data-v-card> | </data-v-card> | ||||
</div> | </div> | ||||
@@ -1,8 +1,8 @@ | |||||
<div nz-row [nzGutter]="[12, 12]" style="display: flex; justify-content: space-between"> | <div nz-row [nzGutter]="[12, 12]" style="display: flex; justify-content: space-between"> | ||||
<div style="display: flex; flex-direction: column"> | |||||
<app-data-v-lj-dashboard title="系统状态" style="width: 80%" /> | |||||
<div style="display: flex; flex-direction: column; width: 40%"> | |||||
<app-data-v-lj-dashboard title="系统状态" style="width: 100%" /> | |||||
<lj-app-ag-grid-component | <lj-app-ag-grid-component | ||||
style="width: 80%" | |||||
style="width: 100%" | |||||
title="运行信息" | title="运行信息" | ||||
[defaultColDef]="defaultColDef" | [defaultColDef]="defaultColDef" | ||||
[rowData]="rowData" | [rowData]="rowData" | ||||
@@ -10,7 +10,7 @@ | |||||
[gridThemeClass]="gridThemedClass" | [gridThemeClass]="gridThemedClass" | ||||
/> | /> | ||||
<lj-app-ag-grid-component | <lj-app-ag-grid-component | ||||
style="width: 80%" | |||||
style="width: 100%" | |||||
title="系统报警信息" | title="系统报警信息" | ||||
[defaultColDef]="defaultColDef" | [defaultColDef]="defaultColDef" | ||||
[rowData]="rowData" | [rowData]="rowData" | ||||
@@ -1,12 +1,11 @@ | |||||
import { Component, ElementRef, OnInit, ViewChild, inject } from '@angular/core'; | import { Component, ElementRef, OnInit, ViewChild, inject } from '@angular/core'; | ||||
import { STColumn, STComponent } from '@delon/abc/st'; | import { STColumn, STComponent } from '@delon/abc/st'; | ||||
import { SFSchema } from '@delon/form'; | import { SFSchema } from '@delon/form'; | ||||
import { ModalHelper, _HttpClient } from '@delon/theme'; | |||||
import { ModalHelper, _HttpClient, TitleService } from '@delon/theme'; | |||||
import { SHARED_IMPORTS } from '@shared'; | import { SHARED_IMPORTS } from '@shared'; | ||||
import * as THREE from 'three'; | import * as THREE from 'three'; | ||||
import { OrbitControls } from 'three-orbitcontrols-ts'; | |||||
import { FBXLoader } from 'three/examples/jsm/loaders/FBXLoader'; | import { FBXLoader } from 'three/examples/jsm/loaders/FBXLoader'; | ||||
import { TitleService } from '@delon/theme'; | |||||
import { OrbitControls } from 'three-orbitcontrols-ts'; | |||||
const clock = new THREE.Clock(); | const clock = new THREE.Clock(); | ||||
let mixer: { update: (arg0: number) => void }; | let mixer: { update: (arg0: number) => void }; | ||||
@@ -22,16 +22,15 @@ | |||||
[suppressScrollOnNewData]="true" | [suppressScrollOnNewData]="true" | ||||
[paginationPageSize]="pageSize" | [paginationPageSize]="pageSize" | ||||
[defaultColDef]="defaultColDef" | [defaultColDef]="defaultColDef" | ||||
[rowData]="rowData" | |||||
[columnDefs]="columnDefs" | |||||
[rowHeight]="38" | [rowHeight]="38" | ||||
[gridOptions]="gridOptions" | |||||
/> | /> | ||||
<!-- <app-data-v-lj-table [columns]="tableColumns" [data]="tableData" /> --> | <!-- <app-data-v-lj-table [columns]="tableColumns" [data]="tableData" /> --> | ||||
<br /> | <br /> | ||||
<!-- 分页 --> | <!-- 分页 --> | ||||
<div [hidden]="!showPageTurning" class="grid-pagination"> | <div [hidden]="!showPageTurning" class="grid-pagination"> | ||||
<div class="page-total-style">共 {{ pageRowTotal }} 项数据</div> | |||||
<div class="page-total-style">共1222 {{ pageRowTotal }} 项数据</div> | |||||
<nz-pagination | <nz-pagination | ||||
[nzPageIndex]="pageIndex" | [nzPageIndex]="pageIndex" | ||||
[nzPageSize]="pageSize" | [nzPageSize]="pageSize" | ||||
@@ -21,4 +21,14 @@ | |||||
display: grid; | display: grid; | ||||
width: 100%; | width: 100%; | ||||
text-align: center; | text-align: center; | ||||
} | |||||
} | |||||
.ag-grid-container { | |||||
width: 100%; | |||||
height: 100%; | |||||
} | |||||
.ag-grid-angular { | |||||
width: 100%; | |||||
height: 100%; | |||||
} |
@@ -1,7 +1,7 @@ | |||||
import { CommonModule } from '@angular/common'; | import { CommonModule } from '@angular/common'; | ||||
import { Component, OnInit, ViewChild, Input } from '@angular/core'; | import { Component, OnInit, ViewChild, Input } from '@angular/core'; | ||||
import { AgGridAngular } from 'ag-grid-angular'; | import { AgGridAngular } from 'ag-grid-angular'; | ||||
import { ColDef, GridApi } from 'ag-grid-community'; | |||||
import { ColDef, GridApi, GridOptions } from 'ag-grid-community'; | |||||
import { NzPaginationModule } from 'ng-zorro-antd/pagination'; | import { NzPaginationModule } from 'ng-zorro-antd/pagination'; | ||||
import { LJDataVCardComponent } from '../../lj-card/lj-card.component'; | import { LJDataVCardComponent } from '../../lj-card/lj-card.component'; | ||||
@@ -18,6 +18,16 @@ export class LjAgGridComponentComponent implements OnInit { | |||||
@ViewChild('myGrid') grid!: AgGridAngular; | @ViewChild('myGrid') grid!: AgGridAngular; | ||||
@Input() title: string = ''; | @Input() title: string = ''; | ||||
// gridOptions: GridOptions = { | |||||
// // Set grid width here | |||||
// width: '100%' | |||||
// }; | |||||
gridOptions: GridOptions = { | |||||
headerHeight: 0 | |||||
// columnDefs="columnDefs" | |||||
}; | |||||
@Input() showEditButton: boolean = false; | @Input() showEditButton: boolean = false; | ||||
@Input() showSetting: boolean = false; | @Input() showSetting: boolean = false; | ||||
@@ -32,7 +42,7 @@ export class LjAgGridComponentComponent implements OnInit { | |||||
//默认列配置 | //默认列配置 | ||||
@Input() defaultColDef: ColDef = { | @Input() defaultColDef: ColDef = { | ||||
width: 130, | |||||
width: 80, | |||||
editable: false, | editable: false, | ||||
headerClass: 'ag-header-center', | headerClass: 'ag-header-center', | ||||
@@ -102,6 +112,12 @@ export class LjAgGridComponentComponent implements OnInit { | |||||
this.pageSize = 5; | this.pageSize = 5; | ||||
this.pageIndex = 1; | this.pageIndex = 1; | ||||
this.pageRowTotal = this.rowData.length; | this.pageRowTotal = this.rowData.length; | ||||
this.gridOptions = { | |||||
headerHeight: 0, | |||||
rowData: this.rowData, | |||||
columnDefs: this.columnDefs | |||||
}; | |||||
} | } | ||||
//每页数 | //每页数 | ||||
nzPageSizeChange(_pageSize: any) { | nzPageSizeChange(_pageSize: any) { | ||||