+
+
+ {{
+ isNumber(data.text)
+ ? data.column.caption == '%'
+ ? formatPercentage(data.text)
+ : formatNumber(data.text)
+ : data.text
+ }}
+
+
+
+
+
+ {{
+ isNumber(data.text)
+ ? data.column.caption == '%'
+ ? formatPercentage(data.text)
+ : formatNumber(data.text)
+ : data.text
+ }}
+
+
+
+
+
+ {{
+ isNumber(data.text)
+ ? data.column.caption == '%'
+ ? formatPercentage(data.text)
+ : formatNumber(data.text)
+ : data.text
+ }}
+
+
+
+
{{ data.text }}
@@ -619,7 +656,7 @@
Dalam Proses Bidang:
@@ -780,7 +817,7 @@
Selesai Bidang Unit:
@@ -856,7 +893,7 @@
Rayon:
-
+
@@ -874,7 +911,7 @@
@@ -931,6 +968,13 @@ const dialogDetail = ref(false)
const closedialogDetail = () => (dialogDetail.value = false)
const loadingData = ref(false)
const loadingSubData = ref(false)
+const agreeToShowDialog = ref(false)
+const progressSelected = ref(0)
+
+const setAgreementDialog = (status: boolean, progress: number) => {
+ agreeToShowDialog.value = status
+ progressSelected.value = progress
+}
const filterData = async (params: any) => {
const dateValue = params.periode.split(' s/d ')
@@ -984,7 +1028,13 @@ const getDetail = async () => {
: new Date().toISOString().slice(0, 10),
idUlp: selected?.id_ulp ? selected?.id_ulp : 0,
idUid: selected?.id_uid ? selected?.id_uid : 0,
- idUp3: selected?.id_up3 ? selected?.id_up3 : 0
+ idUp3: selected?.id_up3 ? selected?.id_up3 : 0,
+ namaRegional: selected?.nama_regional ? selected?.nama_regional : '',
+ isSelesai: progressSelected.value,
+ media: '',
+ tanggal: '',
+ namaIssuetype: '',
+ namaSubissuetype: ''
}
loadingSubData.value = true
@@ -1012,8 +1062,10 @@ const clearSelection = () => {
const showDetail = () => {
clearSelection()
dataSubSelected.value = null
- dialogDetail.value = true
- getDetail()
+ if (agreeToShowDialog.value) {
+ dialogDetail.value = true
+ getDetail()
+ }
}
const onExporting = (e: any) => {
diff --git a/src/utils/texts.ts b/src/utils/texts.ts
index 8524300..a8a8df3 100755
--- a/src/utils/texts.ts
+++ b/src/utils/texts.ts
@@ -62,4 +62,40 @@ const getMonthNumber = (monthName: string) => {
]
return months.indexOf(monthName) + 1
}
-export { splitRoutePath, getMonthName, getMonthNameShort, getMonthNumber }
+
+const reformatDate = (inputDate: string, originalFormat: string, targetFormat: string): string => {
+ // Parsing tanggal dari format asli
+ const originalDate = parseDate(inputDate, originalFormat)
+
+ // Format tanggal dalam format yang diinginkan
+ const formattedDate = formatDateToString(originalDate, targetFormat)
+
+ return formattedDate
+}
+
+const parseDate = (inputDate: string, format: string): Date => {
+ // Pisahkan tanggal, bulan, dan tahun dari input berdasarkan format
+ const parts = inputDate.split(/[^0-9]+/)
+ const formatParts = format.split(/[^a-zA-Z]+/)
+
+ // Buat objek tanggal baru dengan mengambil nilai dari format yang diberikan
+ const dateValues: any = {}
+ for (let i = 0; i < formatParts.length; i++) {
+ if (formatParts[i]) {
+ dateValues[formatParts[i]] = parseInt(parts[i], 10)
+ }
+ }
+
+ // Format tanggal dalam format yang diinginkan
+ return new Date(dateValues['yyyy'], dateValues['MM'] - 1, dateValues['dd'])
+}
+
+const formatDateToString = (date: Date, format: string): string => {
+ const day = date.getDate().toString().padStart(2, '0')
+ const month = (date.getMonth() + 1).toString().padStart(2, '0')
+ const year = date.getFullYear().toString()
+
+ // Ganti placeholder dengan nilai tanggal, bulan, dan tahun
+ return format.replace('yyyy', year).replace('MM', month).replace('dd', day)
+}
+export { reformatDate, splitRoutePath, getMonthName, getMonthNameShort, getMonthNumber }