diff --git a/src/assets/css/style.css b/src/assets/css/style.css
index 4dbaeb1..a2f9a05 100755
--- a/src/assets/css/style.css
+++ b/src/assets/css/style.css
@@ -2475,10 +2475,6 @@ body {
border-bottom-width: 0px;
}
-.border-b-2 {
- border-bottom-width: 2px;
-}
-
.border-l-4 {
border-left-width: 4px;
}
@@ -2495,8 +2491,8 @@ body {
border-top-width: 0px;
}
-.border-b-4 {
- border-bottom-width: 4px;
+.border-b-2 {
+ border-bottom-width: 2px;
}
.border-solid {
@@ -2586,11 +2582,6 @@ body {
border-color: rgb(255 51 51 / var(--tw-border-opacity));
}
-.border-secondary-500 {
- --tw-border-opacity: 1;
- border-color: rgb(0 162 185 / var(--tw-border-opacity));
-}
-
.border-transparent {
border-color: transparent;
}
@@ -2605,6 +2596,11 @@ body {
border-color: rgb(255 255 51 / var(--tw-border-opacity));
}
+.border-secondary-500 {
+ --tw-border-opacity: 1;
+ border-color: rgb(0 162 185 / var(--tw-border-opacity));
+}
+
.bg-black {
--tw-bg-opacity: 1;
background-color: rgb(0 0 0 / var(--tw-bg-opacity));
diff --git a/src/components/Pages/Transaksi/Transaksi.vue b/src/components/Pages/Transaksi/Transaksi.vue
index c792385..fe0b775 100755
--- a/src/components/Pages/Transaksi/Transaksi.vue
+++ b/src/components/Pages/Transaksi/Transaksi.vue
@@ -29,6 +29,7 @@
filterData(filters)" class="mb-4">
(filters = value)" />
+
-
+
()
const dialogDetail = ref(false)
const loadingData = ref(false)
const tab = ref('gangguan')
+const reportMeta = ref({
+ uid: { id: 0, name: 'Pilih Unit' },
+ up3: { id: 0, name: 'Pilih Area' },
+ ulp: { id: 0, name: 'Pilih Rayon' },
+ status: { id: 0, name: 'Pilih Status' },
+ keyword: '',
+ searchBy: { id: 1, title: 'No Lapor' },
+ sla: {
+ id: 1,
+ name: '45 Menit',
+ time: 45
+ },
+ periode: ''
+})
+
+const formatMetaData = (reportMeta: any) => {
+ const periode = reportMeta.periode ? reportMeta.periode.split(' s/d ') : ''
+
+ let dateFromFormat = ''
+ let dateToFormat = ''
+ let dayTo = ''
+
+ if (periode != '') {
+ const dateFrom = new Date(periode[0].split('-').reverse().join('-'))
+ const dateTo = new Date(periode[1].split('-').reverse().join('-'))
+
+ dateFromFormat = `${dateFrom.getDate()}-${dateFrom.toLocaleString('id-ID', {
+ month: 'long'
+ })}-${dateFrom.getFullYear()}`
+
+ dateToFormat = `${dateTo.getDate()}-${dateTo.toLocaleString('id-ID', {
+ month: 'long'
+ })}-${dateTo.getFullYear()}`
+
+ dayTo = dateTo.toLocaleString('id-ID', { weekday: 'long' })
+ }
+
+ return { dateFromFormat, dateToFormat, dayTo }
+}
const onExporting = (e: any) => {
- if (e.format === 'pdf') {
- const doc = new jsPDF()
+ const meta = formatMetaData(reportMeta.value)
+ const workbook = new Workbook()
+ const worksheet = workbook.addWorksheet('Transaksi APKT')
- exportToPdf({
- jsPDFDocument: doc,
- component: e.component,
- indent: 5
- }).then(() => {
- doc.save(`.pdf`)
+ setHeaderStyle(worksheet, 1, 1, 'PT. PLN(Persero)')
+ setHeaderStyle(
+ worksheet,
+ 2,
+ 1,
+ `UNIT PLN : ${reportMeta.value.uid.id ? reportMeta.value.uid.name.toUpperCase() + ',' : ''} ${reportMeta.value.up3.id ? reportMeta.value.up3.name.toUpperCase() + ',' : ''} ${reportMeta.value.ulp.id ? reportMeta.value.ulp.name.toUpperCase() + ',' : ''}`
+ )
+ setHeaderStyle(
+ worksheet,
+ 3,
+ 1,
+ `STATUS : ${reportMeta.value.status ? reportMeta.value.status.name.toUpperCase() : ''}`
+ )
+ setHeaderStyle(
+ worksheet,
+ 4,
+ 1,
+ `SLA : ${reportMeta.value.sla ? reportMeta.value.sla.name.toUpperCase() : ''}`
+ )
+ setHeaderStyle(worksheet, 5, 1, `PENCARIAN : ${reportMeta.value.keyword.toUpperCase()}`)
+
+ setHeaderStyle(worksheet, 7, 1, 'Transaksi APKT'.toUpperCase(), true)
+ setHeaderStyle(
+ worksheet,
+ 8,
+ 1,
+ `PERIODE TANGGAL : ${meta.dateFromFormat} SD TGL ${meta.dateToFormat}`,
+ true
+ )
+
+ worksheet.mergeCells('A1:M1')
+ worksheet.mergeCells('A2:M2')
+ worksheet.mergeCells('A3:M3')
+ worksheet.mergeCells('A4:M4')
+ worksheet.mergeCells('A5:M5')
+ worksheet.mergeCells('A7:M7')
+ worksheet.mergeCells('A8:M8')
+
+ exportToExcel({
+ component: e.component,
+ worksheet,
+ autoFilterEnabled: true,
+ topLeftCell: { row: 10, column: 1 },
+ loadPanel: {
+ enabled: false
+ }
+ }).then(() => {
+ workbook.xlsx.writeBuffer().then((buffer: any) => {
+ saveAs(
+ new Blob([buffer], { type: 'application/octet-stream' }),
+ `Laporan Transaksi APKT.xlsx`
+ )
})
- } 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
- }
+ e.cancel = true
}
const dataGridRef = ref(null)
const clearSelection = () => {
@@ -359,12 +429,15 @@ const filterData = async (params: any) => {
} else {
data.value = []
}
+
+ reportMeta.value = filters.value
})
.catch((err) => {
console.error(err)
})
.finally(() => {
loadingData.value = false
+ reportMeta.value = filters.value
})
}