add table template for each page GangguanPage
This commit is contained in:
		
							
								
								
									
										116
									
								
								src/components/Pages/Gangguan/Table_11.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										116
									
								
								src/components/Pages/Gangguan/Table_11.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,116 @@ | ||||
| <template> | ||||
|     <div> | ||||
|         <DxDataGrid class="max-h-[calc(100vh-140px)]" :show-column-lines="true" :show-row-lines="false" :show-borders="true" | ||||
|             :row-alternation-enabled="true" :hover-state-enabled="true" @selection-changed="onSelectionChanged" | ||||
|             :column-width="100" @exporting="onExporting" :allow-column-resizing="true" column-resizing-mode="widget" | ||||
|             :word-wrap-enabled="true"> | ||||
|             <DxSelection mode="single" /> | ||||
|             <DxPaging :enabled="false" /> | ||||
|             <DxScrolling column-rendering-mode="virtual" mode="virtual" /> | ||||
|             <DxLoadPanel :enabled="true" /> | ||||
|             <DxSearchPanel :visible="true" :highlight-case-sensitive="true" /> | ||||
|             <DxExport :enabled="true" :formats="['pdf', 'xlsx', 'document']" :allow-export-selected-data="false" /> | ||||
|             <DxColumnFixing :enabled="true" /> | ||||
|  | ||||
|             <DxColumn :width="40" alignment="center" data-field="" caption="NO" css-class="custom-table-column" /> | ||||
|             <DxColumn :width="150" alignment="center" data-field="" caption="Posko" css-class="custom-table-column" /> | ||||
|             <DxColumn alignment="center" caption="Laporan" css-class="custom-table-column"> | ||||
|                 <DxColumn :width="120" alignment="center" data-field="" data-type="number" caption="Total" | ||||
|                     css-class="custom-table-column" /> | ||||
|                 <DxColumn alignment="center" caption="Sudah Selesai" css-class="custom-table-column"> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="" data-type="number" caption="Jml" | ||||
|                         css-class="custom-table-column" /> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="" data-type="number" caption="%" | ||||
|                         css-class="custom-table-column" /> | ||||
|                 </DxColumn> | ||||
|                 <DxColumn alignment="center" caption="Belum Selesai" css-class="custom-table-column"> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="" data-type="number" caption="Jml" | ||||
|                         css-class="custom-table-column" /> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="" data-type="number" caption="%" | ||||
|                         css-class="custom-table-column" /> | ||||
|                 </DxColumn> | ||||
|             </DxColumn> | ||||
|             <DxColumn alignment="center" caption="Response Time" css-class="custom-table-column"> | ||||
|                 <DxColumn alignment="center" caption="Menit" css-class="custom-table-column"> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="" data-type="number" caption="Total" | ||||
|                         css-class="custom-table-column" /> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="" data-type="number" caption="Rata-Rata" | ||||
|                         css-class="custom-table-column" /> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="" data-type="number" caption="Max" | ||||
|                         css-class="custom-table-column" /> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="" data-type="number" caption="Min" | ||||
|                         css-class="custom-table-column" /> | ||||
|                 </DxColumn> | ||||
|                 <DxColumn alignment="center" caption="Laporan" css-class="custom-table-column"> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="" data-type="number" caption=">SLA" | ||||
|                         css-class="custom-table-column" /> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="" data-type="number" caption="≤SLA" | ||||
|                         css-class="custom-table-column" /> | ||||
|                 </DxColumn> | ||||
|             </DxColumn> | ||||
|             <DxColumn alignment="center" caption="Recovery Time" css-class="custom-table-column"> | ||||
|                 <DxColumn alignment="center" caption="Menit" css-class="custom-table-column"> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="" data-type="number" caption="Total" | ||||
|                         css-class="custom-table-column" /> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="" data-type="number" caption="Rata-Rata" | ||||
|                         css-class="custom-table-column" /> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="" data-type="number" caption="Max" | ||||
|                         css-class="custom-table-column" /> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="" data-type="number" caption="Min" | ||||
|                         css-class="custom-table-column" /> | ||||
|                 </DxColumn> | ||||
|                 <DxColumn alignment="center" caption="Laporan" css-class="custom-table-column"> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="" data-type="number" caption=">SLA" | ||||
|                         css-class="custom-table-column" /> | ||||
|                     <DxColumn :width="120" alignment="center" data-field="" data-type="number" caption="≤SLA" | ||||
|                         css-class="custom-table-column" /> | ||||
|                 </DxColumn> | ||||
|             </DxColumn> | ||||
|         </DxDataGrid> | ||||
|     </div> | ||||
| </template> | ||||
|  | ||||
| <script setup lang="ts"> | ||||
| import { DxDataGrid } from 'devextreme-vue' | ||||
| import { DxColumn, DxColumnFixing, DxExport, DxLoadPanel, DxPaging, DxScrolling, DxSearchPanel, DxSelection } from 'devextreme-vue/data-grid' | ||||
| import { jsPDF } from 'jspdf' | ||||
| import { exportDataGrid as exportToPdf } from 'devextreme/pdf_exporter' | ||||
| import { exportDataGrid as exportToExcel } from 'devextreme/excel_exporter' | ||||
| import { saveAs } from 'file-saver' | ||||
| import { Workbook } from 'exceljs' | ||||
|  | ||||
| const onExporting = (e: any) => { | ||||
|     if (e.format === 'pdf') { | ||||
|         const doc = new jsPDF() | ||||
|  | ||||
|         exportToPdf({ | ||||
|             jsPDFDocument: doc, | ||||
|             component: e.component, | ||||
|             indent: 5, | ||||
|         }).then(() => { | ||||
|             doc.save(`.pdf`) | ||||
|         }) | ||||
|     } else { | ||||
|         const workbook = new Workbook() | ||||
|         const worksheet = workbook.addWorksheet('Employees') | ||||
|  | ||||
|         exportToExcel({ | ||||
|             component: e.component, | ||||
|             worksheet, | ||||
|             autoFilterEnabled: true, | ||||
|         }).then(() => { | ||||
|             workbook.xlsx.writeBuffer().then((buffer: any) => { | ||||
|                 saveAs(new Blob([buffer], { type: 'application/octet-stream' }), 'DataGrid.xlsx') | ||||
|             }) | ||||
|         }) | ||||
|  | ||||
|         e.cancel = true | ||||
|     } | ||||
| } | ||||
|  | ||||
| const onSelectionChanged = ({ selectedRowsData }: any) => { | ||||
|     const data = selectedRowsData[0] | ||||
|     console.log(data) | ||||
| } | ||||
|  | ||||
| </script> | ||||
		Reference in New Issue
	
	Block a user