diff --git a/src/components/Pages/Keluhan/Daftar/DKeluhan_PLD1K.vue b/src/components/Pages/Keluhan/Daftar/DKeluhan_PLD1K.vue index 665a0ca..8f51ef8 100755 --- a/src/components/Pages/Keluhan/Daftar/DKeluhan_PLD1K.vue +++ b/src/components/Pages/Keluhan/Daftar/DKeluhan_PLD1K.vue @@ -1,15 +1,16 @@ - filterData(filters)" class="mb-4"> + filterData()" class="mb-4"> (filters = value)" /> + @@ -327,11 +329,6 @@ /> - - + + diff --git a/src/components/Pages/Keluhan/Daftar/DKeluhan_RecoveryTime.vue b/src/components/Pages/Keluhan/Daftar/DKeluhan_RecoveryTime.vue index e740db7..df0918d 100755 --- a/src/components/Pages/Keluhan/Daftar/DKeluhan_RecoveryTime.vue +++ b/src/components/Pages/Keluhan/Daftar/DKeluhan_RecoveryTime.vue @@ -1,5 +1,5 @@ - filterData(filters)" class="mb-4"> + filterData()" class="mb-4"> (filters = value)" :sla-options="[ @@ -22,10 +22,11 @@ + - diff --git a/src/components/Pages/Keluhan/Daftar/DKeluhan_ResponseTime.vue b/src/components/Pages/Keluhan/Daftar/DKeluhan_ResponseTime.vue index e667f90..6988713 100755 --- a/src/components/Pages/Keluhan/Daftar/DKeluhan_ResponseTime.vue +++ b/src/components/Pages/Keluhan/Daftar/DKeluhan_ResponseTime.vue @@ -1,5 +1,5 @@ - filterData(filters)" class="mb-4"> + filterData()" class="mb-4"> (filters = value)" :sla-options="[ @@ -22,10 +22,11 @@ + - diff --git a/src/components/Pages/Keluhan/Daftar/DKeluhan_STIDP.vue b/src/components/Pages/Keluhan/Daftar/DKeluhan_STIDP.vue index 3f925c1..bb5457a 100755 --- a/src/components/Pages/Keluhan/Daftar/DKeluhan_STIDP.vue +++ b/src/components/Pages/Keluhan/Daftar/DKeluhan_STIDP.vue @@ -1,15 +1,16 @@ - filterData(filters)" class="mb-4"> + filterData()" class="mb-4"> (filters = value)" /> + - diff --git a/src/report/Keluhan/Daftar/DKeluhan_PLD1K.ts b/src/report/Keluhan/Daftar/DKeluhan_PLD1K.ts index 060d3c6..5c8f4bf 100644 --- a/src/report/Keluhan/Daftar/DKeluhan_PLD1K.ts +++ b/src/report/Keluhan/Daftar/DKeluhan_PLD1K.ts @@ -48,12 +48,13 @@ const formatMetaData = (reportMeta: any) => { return { dateFromFormat, dateToFormat, dayTo } } -const exportToPDF = (reportMeta: any, data: any) => { +const exportToPDF = async (reportMeta: any, data: any) => { const meta = formatMetaData(reportMeta) const day = new Date().toLocaleString('id-ID', { weekday: 'long' }) const date = new Date().getDate() const month = new Date().toLocaleString('id-ID', { month: 'long' }) const year = new Date().getFullYear() + const resultData = data.value.data const doc = new jsPDF({ orientation: 'landscape' }) @@ -131,7 +132,7 @@ const exportToPDF = (reportMeta: any, data: any) => { 'Nama ULP' ] ], - body: data.value.map((item: any, i: any) => [ + body: resultData.map((item: any, i: any) => [ { content: ++i, styles: { halign: 'right' } }, item.no_laporan, item.waktu_lapor, @@ -199,12 +200,19 @@ const exportToPDF = (reportMeta: any, data: any) => { margin: { left: 230 } }) - doc.save(`Laporan ${reportName}.pdf`, { returnPromise: true }).then(() => { - console.log('pdf berhasil disimpan') - }) + await doc + .save(`Laporan ${reportName}.pdf`, { returnPromise: true }) + .then(() => { + console.log('PDF Exported') + }) + .catch((error) => { + console.error('Error while exporting PDF', error) + }) + + return true } -const exportToXLSX = (reportMeta: any, e: any) => { +const exportToXLSX = async (reportMeta: any, e: any) => { const meta = formatMetaData(reportMeta) const workbook = new Workbook() const worksheet = workbook.addWorksheet(`${reportName}`) @@ -264,7 +272,7 @@ const exportToXLSX = (reportMeta: any, e: any) => { worksheet.mergeCells('A7:P7') worksheet.mergeCells('A8:P8') - exportToExcel({ + await exportToExcel({ component: e.component, worksheet, autoFilterEnabled: true, @@ -278,15 +286,16 @@ const exportToXLSX = (reportMeta: any, e: any) => { e.cancel = true } -const exportToDOCX = (reportMeta: any, data: any) => { +const exportToDOCX = async (reportMeta: any, data: any) => { const day = new Date().toLocaleString('id-ID', { weekday: 'long' }) const date = new Date().getDate() const month = new Date().toLocaleString('id-ID', { month: 'long' }) const year = new Date().getFullYear() const meta = formatMetaData(reportMeta) + const resultData = data.value.data const generateRows = () => { - return data.value.map((item: any, i: any) => { + return resultData.map((item: any, i: any) => { return new TableRow({ children: [ { text: `${++i}`, field: 'no' }, @@ -532,10 +541,17 @@ const exportToDOCX = (reportMeta: any, data: any) => { ] }) - Packer.toBlob(doc).then((blob) => { - saveAs(blob, `Laporan ${reportName}.docx`) - console.log('Document created successfully') - }) + await Packer.toBlob(doc) + .then((blob) => { + saveAs(blob, `Laporan ${reportName}.docx`) + + console.log('DOCX Exported') + }) + .catch((error) => { + console.error('Error while exporting DOCX', error) + }) + + return true } export { exportToPDF, exportToXLSX, exportToDOCX } diff --git a/src/report/Keluhan/Daftar/DKeluhan_RecoveryTime.ts b/src/report/Keluhan/Daftar/DKeluhan_RecoveryTime.ts index 8bfff8c..367b337 100644 --- a/src/report/Keluhan/Daftar/DKeluhan_RecoveryTime.ts +++ b/src/report/Keluhan/Daftar/DKeluhan_RecoveryTime.ts @@ -59,12 +59,13 @@ const formatMetaData = (reportMeta: any) => { return { dateFromFormat, dateToFormat, dayTo, durasi, minTime, maxTime } } -const exportToPDF = (reportMeta: any, data: any) => { +const exportToPDF = async (reportMeta: any, data: any) => { const meta = formatMetaData(reportMeta) const day = new Date().toLocaleString('id-ID', { weekday: 'long' }) const date = new Date().getDate() const month = new Date().toLocaleString('id-ID', { month: 'long' }) const year = new Date().getFullYear() + const resultData = data.value.data const doc = new jsPDF({ orientation: 'landscape' }) @@ -144,7 +145,7 @@ const exportToPDF = (reportMeta: any, data: any) => { 'Nama ULP' ] ], - body: data.value.map((item: any, i: any) => [ + body: resultData.map((item: any, i: any) => [ { content: ++i, styles: { halign: 'right' } }, item.no_laporan, item.waktu_lapor, @@ -210,12 +211,19 @@ const exportToPDF = (reportMeta: any, data: any) => { margin: { left: 230 } }) - doc.save(`Laporan ${reportName}.pdf`, { returnPromise: true }).then(() => { - console.log('pdf berhasil disimpan') - }) + await doc + .save(`Laporan ${reportName}.pdf`, { returnPromise: true }) + .then(() => { + console.log('PDF Exported') + }) + .catch((error) => { + console.error('Error while exporting PDF', error) + }) + + return true } -const exportToXLSX = (reportMeta: any, e: any) => { +const exportToXLSX = async (reportMeta: any, e: any) => { const meta = formatMetaData(reportMeta) const workbook = new Workbook() const worksheet = workbook.addWorksheet(`${reportName}`) @@ -275,7 +283,7 @@ const exportToXLSX = (reportMeta: any, e: any) => { worksheet.mergeCells('A7:N7') worksheet.mergeCells('A8:N8') - exportToExcel({ + await exportToExcel({ component: e.component, worksheet, autoFilterEnabled: true, @@ -289,15 +297,16 @@ const exportToXLSX = (reportMeta: any, e: any) => { e.cancel = true } -const exportToDOCX = (reportMeta: any, data: any) => { +const exportToDOCX = async (reportMeta: any, data: any) => { const day = new Date().toLocaleString('id-ID', { weekday: 'long' }) const date = new Date().getDate() const month = new Date().toLocaleString('id-ID', { month: 'long' }) const year = new Date().getFullYear() const meta = formatMetaData(reportMeta) + const resultData = data.value.data const generateRows = () => { - return data.value.map((item: any, i: any) => { + return resultData.map((item: any, i: any) => { return new TableRow({ children: [ { text: `${++i}`, field: 'no' }, @@ -539,10 +548,17 @@ const exportToDOCX = (reportMeta: any, data: any) => { ] }) - Packer.toBlob(doc).then((blob) => { - saveAs(blob, `Laporan ${reportName}.docx`) - console.log('Document created successfully') - }) + await Packer.toBlob(doc) + .then((blob) => { + saveAs(blob, `Laporan ${reportName}.docx`) + + console.log('DOCX Exported') + }) + .catch((error) => { + console.error('Error while exporting DOCX', error) + }) + + return true } export { exportToPDF, exportToXLSX, exportToDOCX } diff --git a/src/report/Keluhan/Daftar/DKeluhan_ResponseTime.ts b/src/report/Keluhan/Daftar/DKeluhan_ResponseTime.ts index d806d9a..202ba03 100644 --- a/src/report/Keluhan/Daftar/DKeluhan_ResponseTime.ts +++ b/src/report/Keluhan/Daftar/DKeluhan_ResponseTime.ts @@ -59,12 +59,13 @@ const formatMetaData = (reportMeta: any) => { return { dateFromFormat, dateToFormat, dayTo, durasi, minTime, maxTime } } -const exportToPDF = (reportMeta: any, data: any) => { +const exportToPDF = async (reportMeta: any, data: any) => { const meta = formatMetaData(reportMeta) const day = new Date().toLocaleString('id-ID', { weekday: 'long' }) const date = new Date().getDate() const month = new Date().toLocaleString('id-ID', { month: 'long' }) const year = new Date().getFullYear() + const resultData = data.value.data const doc = new jsPDF({ orientation: 'landscape' }) @@ -144,7 +145,7 @@ const exportToPDF = (reportMeta: any, data: any) => { 'Nama ULP' ] ], - body: data.value.map((item: any, i: any) => [ + body: resultData.map((item: any, i: any) => [ { content: ++i, styles: { halign: 'right' } }, item.no_laporan, item.waktu_lapor, @@ -210,12 +211,19 @@ const exportToPDF = (reportMeta: any, data: any) => { margin: { left: 230 } }) - doc.save(`Laporan ${reportName}.pdf`, { returnPromise: true }).then(() => { - console.log('pdf berhasil disimpan') - }) + await doc + .save(`Laporan ${reportName}.pdf`, { returnPromise: true }) + .then(() => { + console.log('PDF Exported') + }) + .catch((error) => { + console.error('Error while exporting PDF', error) + }) + + return true } -const exportToXLSX = (reportMeta: any, e: any) => { +const exportToXLSX = async (reportMeta: any, e: any) => { const meta = formatMetaData(reportMeta) const workbook = new Workbook() const worksheet = workbook.addWorksheet(`${reportName}`) @@ -275,7 +283,7 @@ const exportToXLSX = (reportMeta: any, e: any) => { worksheet.mergeCells('A7:N7') worksheet.mergeCells('A8:N8') - exportToExcel({ + await exportToExcel({ component: e.component, worksheet, autoFilterEnabled: true, @@ -289,15 +297,16 @@ const exportToXLSX = (reportMeta: any, e: any) => { e.cancel = true } -const exportToDOCX = (reportMeta: any, data: any) => { +const exportToDOCX = async (reportMeta: any, data: any) => { const day = new Date().toLocaleString('id-ID', { weekday: 'long' }) const date = new Date().getDate() const month = new Date().toLocaleString('id-ID', { month: 'long' }) const year = new Date().getFullYear() const meta = formatMetaData(reportMeta) + const resultData = data.value.data const generateRows = () => { - return data.value.map((item: any, i: any) => { + return resultData.map((item: any, i: any) => { return new TableRow({ children: [ { text: `${++i}`, field: 'no' }, @@ -539,10 +548,17 @@ const exportToDOCX = (reportMeta: any, data: any) => { ] }) - Packer.toBlob(doc).then((blob) => { - saveAs(blob, `Laporan ${reportName}.docx`) - console.log('Document created successfully') - }) + await Packer.toBlob(doc) + .then((blob) => { + saveAs(blob, `Laporan ${reportName}.docx`) + + console.log('DOCX Exported') + }) + .catch((error) => { + console.error('Error while exporting DOCX', error) + }) + + return true } export { exportToPDF, exportToXLSX, exportToDOCX } diff --git a/src/report/Keluhan/Daftar/DKeluhan_STIDP.ts b/src/report/Keluhan/Daftar/DKeluhan_STIDP.ts index d3dc280..65c98d3 100644 --- a/src/report/Keluhan/Daftar/DKeluhan_STIDP.ts +++ b/src/report/Keluhan/Daftar/DKeluhan_STIDP.ts @@ -48,12 +48,13 @@ const formatMetaData = (reportMeta: any) => { return { dateFromFormat, dateToFormat, dayTo } } -const exportToPDF = (reportMeta: any, data: any) => { +const exportToPDF = async (reportMeta: any, data: any) => { const meta = formatMetaData(reportMeta) const day = new Date().toLocaleString('id-ID', { weekday: 'long' }) const date = new Date().getDate() const month = new Date().toLocaleString('id-ID', { month: 'long' }) const year = new Date().getFullYear() + const resultData = data.value.data const doc = new jsPDF({ orientation: 'landscape' }) @@ -129,7 +130,7 @@ const exportToPDF = (reportMeta: any, data: any) => { 'Nama ULP' ] ], - body: data.value.map((item: any, i: any) => [ + body: resultData.map((item: any, i: any) => [ { content: ++i, styles: { halign: 'right' } }, item.no_laporan, item.waktu_lapor, @@ -196,12 +197,19 @@ const exportToPDF = (reportMeta: any, data: any) => { margin: { left: 230 } }) - doc.save(`Laporan ${reportName}.pdf`, { returnPromise: true }).then(() => { - console.log('pdf berhasil disimpan') - }) + await doc + .save(`Laporan ${reportName}.pdf`, { returnPromise: true }) + .then(() => { + console.log('PDF Exported') + }) + .catch((error) => { + console.error('Error while exporting PDF', error) + }) + + return true } -const exportToXLSX = (reportMeta: any, e: any) => { +const exportToXLSX = async (reportMeta: any, e: any) => { const meta = formatMetaData(reportMeta) const workbook = new Workbook() const worksheet = workbook.addWorksheet(`${reportName}`) @@ -254,11 +262,11 @@ const exportToXLSX = (reportMeta: any, e: any) => { worksheet.mergeCells('A6:O6') worksheet.mergeCells('A7:O7') - exportToExcel({ + await exportToExcel({ component: e.component, worksheet, autoFilterEnabled: true, - topLeftCell: { row: 9, column: 1 } + topLeftCell: { row: 10, column: 1 } }).then(() => { workbook.xlsx.writeBuffer().then((buffer: any) => { saveAs(new Blob([buffer], { type: 'application/octet-stream' }), `Laporan ${reportName}.xlsx`) @@ -268,15 +276,16 @@ const exportToXLSX = (reportMeta: any, e: any) => { e.cancel = true } -const exportToDOCX = (reportMeta: any, data: any) => { +const exportToDOCX = async (reportMeta: any, data: any) => { const day = new Date().toLocaleString('id-ID', { weekday: 'long' }) const date = new Date().getDate() const month = new Date().toLocaleString('id-ID', { month: 'long' }) const year = new Date().getFullYear() const meta = formatMetaData(reportMeta) + const resultData = data.value.data const generateRows = () => { - return data.value.map((item: any, i: any) => { + return resultData.map((item: any, i: any) => { return new TableRow({ children: [ { text: `${++i}`, field: 'no' }, @@ -511,10 +520,17 @@ const exportToDOCX = (reportMeta: any, data: any) => { ] }) - Packer.toBlob(doc).then((blob) => { - saveAs(blob, `Laporan ${reportName}.docx`) - console.log('Document created successfully') - }) + await Packer.toBlob(doc) + .then((blob) => { + saveAs(blob, `Laporan ${reportName}.docx`) + + console.log('DOCX Exported') + }) + .catch((error) => { + console.error('Error while exporting DOCX', error) + }) + + return true } export { exportToPDF, exportToXLSX, exportToDOCX } diff --git a/src/utils/api/api.graphql.ts b/src/utils/api/api.graphql.ts index cffe854..763606c 100755 --- a/src/utils/api/api.graphql.ts +++ b/src/utils/api/api.graphql.ts @@ -52,6 +52,51 @@ export const apolloClient = () => { export const queries = { keluhan: { daftar: { + ssdaftarKeluhanSelesaiTanpaIdPelanggan: gql` + query ssdaftarKeluhanSelesaiTanpaIdPelanggan( + $dateFrom: Date! + $dateTo: Date! + $idUlp: Int! + $idUid: Int! + $idUp3: Int! + $skip: Int + $take: Int + $requireTotalCount: Boolean + $sort: [SortInput] + $filter: [FilterInput] + ) { + ssdaftarKeluhanSelesaiTanpaIdPelanggan( + dateFrom: $dateFrom + dateTo: $dateTo + idUlp: $idUlp + idUid: $idUid + idUp3: $idUp3 + skip: $skip + take: $take + requireTotalCount: $requireTotalCount + sort: $sort + filter: $filter + ) { + totalCount + data { + no_laporan + waktu_lapor + waktu_response + waktu_recovery + durasi_response_time + durasi_recovery_time + status_akhir + idpel_nometer + nama_pelapor + alamat_pelapor + no_telp_pelapor + keterangan_pelapor + media + nama_ulp + } + } + } + `, keluhanSelesaiTanpaIDPelanggan: gql` query daftarKeluhanSelesaiTanpaIdPelanggan( $dateFrom: Date! @@ -177,6 +222,55 @@ export const queries = { } } `, + ssdaftarKeluhanResponseTime: gql` + query ssdaftarKeluhanResponseTime( + $dateFrom: Date! + $dateTo: Date! + $idUlp: Int! + $idUid: Int! + $idUp3: Int! + $minDurasiResponseTime: Int! + $maxDurasiResponseTime: Int! + $skip: Int + $take: Int + $requireTotalCount: Boolean + $sort: [SortInput] + $filter: [FilterInput] + ) { + ssdaftarKeluhanResponseTime( + dateFrom: $dateFrom + dateTo: $dateTo + idUlp: $idUlp + idUid: $idUid + idUp3: $idUp3 + minDurasiResponseTime: $minDurasiResponseTime + maxDurasiResponseTime: $maxDurasiResponseTime + skip: $skip + take: $take + requireTotalCount: $requireTotalCount + sort: $sort + filter: $filter + ) { + totalCount + data { + no_laporan + waktu_lapor + waktu_response + waktu_recovery + durasi_response_time + durasi_recovery_time + status_akhir + idpel_nometer + nama_pelapor + alamat_pelapor + no_telp_pelapor + keterangan_pelapor + media + nama_ulp + } + } + } + `, keluhanResponseTime: gql` query daftarKeluhanResponseTime( $dateFrom: Date! @@ -213,6 +307,55 @@ export const queries = { } } `, + ssdaftarKeluhanRecoveryTime: gql` + query ssdaftarKeluhanRecoveryTime( + $dateFrom: Date! + $dateTo: Date! + $idUlp: Int! + $idUid: Int! + $idUp3: Int! + $minDurasiRecoveryTime: Int! + $maxDurasiRecoveryTime: Int! + $skip: Int + $take: Int + $requireTotalCount: Boolean + $sort: [SortInput] + $filter: [FilterInput] + ) { + ssdaftarKeluhanRecoveryTime( + dateFrom: $dateFrom + dateTo: $dateTo + idUlp: $idUlp + idUid: $idUid + idUp3: $idUp3 + minDurasiRecoveryTime: $minDurasiRecoveryTime + maxDurasiRecoveryTime: $maxDurasiRecoveryTime + skip: $skip + take: $take + requireTotalCount: $requireTotalCount + sort: $sort + filter: $filter + ) { + totalCount + data { + no_laporan + waktu_lapor + waktu_response + waktu_recovery + durasi_response_time + durasi_recovery_time + status_akhir + idpel_nometer + nama_pelapor + alamat_pelapor + no_telp_pelapor + keterangan_pelapor + media + nama_ulp + } + } + } + `, keluhanRecoveryTime: gql` query daftarKeluhanRecoveryTime( $dateFrom: Date! @@ -260,6 +403,56 @@ export const queries = { } } `, + ssdaftarKeluhanMelaporLebihDariSatuKali: gql` + query ssdaftarKeluhanMelaporLebihDariSatuKali( + $dateFrom: Date! + $dateTo: Date! + $idUlp: Int! + $idUid: Int! + $idUp3: Int! + $minJmlLapor: Int! + $maxJmlLapor: Int! + $skip: Int + $take: Int + $requireTotalCount: Boolean + $sort: [SortInput] + $filter: [FilterInput] + ) { + ssdaftarKeluhanMelaporLebihDariSatuKali( + dateFrom: $dateFrom + dateTo: $dateTo + idUlp: $idUlp + idUid: $idUid + idUp3: $idUp3 + minJmlLapor: $minJmlLapor + maxJmlLapor: $maxJmlLapor + skip: $skip + take: $take + requireTotalCount: $requireTotalCount + sort: $sort + filter: $filter + ) { + totalCount + data { + no_laporan + waktu_lapor + waktu_response + waktu_recovery + jumlah_lapor + durasi_response_time + durasi_recovery_time + status_akhir + idpel_nometer + nama_pelapor + alamat_pelapor + no_telp_pelapor + keterangan_pelapor + media + nama_ulp + } + } + } + `, keluhanMelaporLebihDariSatuKali: gql` query daftarKeluhanMelaporLebihDariSatuKali( $minJmlLapor: Int!