fix : error surat

This commit is contained in:
2026-01-15 11:53:10 +08:00
parent 57e4f34eb6
commit 3da163ea1d
3 changed files with 57 additions and 19 deletions

View File

@@ -23,7 +23,7 @@ export default function ModalSurat({
surat,
}: {
open: boolean;
onClose: (val: any) => void;
onClose: (val: { success: boolean, data: string }) => void;
surat: string;
}) {
const A4Style = {
@@ -35,7 +35,7 @@ export default function ModalSurat({
fontSize: "14px",
fontFamily: "Times New Roman",
};
const [uploading, setUploading] = useState<{ text: "Menyiapkan" | "Mengupload" | "Selesai", value: number }>({ text: "Menyiapkan", value: 10 })
const [uploading, setUploading] = useState<{ text: "Menyiapkan" | "Mengupload" | "Selesai" | "Gagal", value: number }>({ text: "Menyiapkan", value: 10 })
const hiddenRef = useRef<any>(null);
const { data, mutate, isLoading } = useSWR("surat", () =>
apiFetch.api.surat.detail.get({
@@ -45,13 +45,17 @@ export default function ModalSurat({
}),
);
console.log('surat', surat)
useShallowEffect(() => {
mutate();
}, []);
const uploadPdf = async () => {
try {
console.log('upload function' + data)
if (data && data.data && data.data.surat && (data.data.surat.file == "" || data.data.surat.file == null)) {
console.log('upload if')
setUploading({ text: "Mengupload", value: 75 });
const element = hiddenRef.current;
const canvas = await html2canvas(element, {
@@ -95,10 +99,20 @@ export default function ModalSurat({
filename: resImg.data?.filename!,
});
if (resUpdate?.data?.success) {
setUploading({ text: "Selesai", value: 100 });
setTimeout(() => {
onClose(resUpdate.data?.link);
onClose({ success: true, data: resUpdate.data?.link });
}, 1000)
} else {
setUploading({ text: "Gagal", value: 100 });
setTimeout(() => {
onClose({ success: false, data: "" });
}, 1000)
}
console.log('upload else')
}
} catch (error) {
@@ -107,8 +121,11 @@ export default function ModalSurat({
}
useShallowEffect(() => {
console.log('jalan')
if (open) {
console.log('open')
setTimeout(() => {
console.log('upload-timeout')
uploadPdf();
}, 5000);
}

View File

@@ -128,6 +128,8 @@ function DetailDataPengajuan({
const [loadingUpdate, setLoadingUpdate] = useState(false)
const [loadingFS, setLoadingFS] = useState({ value: false, text: "" })
console.log('data nya', data)
useEffect(() => {
async function fetchHost() {
const { data } = await apiFetch.api.user.find.get();
@@ -460,12 +462,14 @@ function DetailDataPengajuan({
)}
</Stack>
</Modal>
{/* MODAL PREVIEW SURAT */}
{data?.status == "selesai" && !data?.fileSurat && (
<ModalSurat
open={openedPreview}
onClose={(val) => {
setOpenedPreview(false)
setUploading({ ok: true, file: val })
setUploading({ ok: val.success, file: val.data })
}}
surat={data?.idSurat}
/>
@@ -637,7 +641,20 @@ function DetailDataPengajuan({
Setujui
</Button>
</Group>
) : data?.status === "selesai" ? (
) : data?.status === "selesai" ?
!data?.fileSurat ?
(
<Group justify="center" grow>
<Button
variant="light"
onClick={() => { setOpenedPreview(true) }}
>
Kirim Ulang Surat
</Button>
</Group>
)
:
(
<Group justify="center" grow>
<Button
variant="light"

View File

@@ -269,6 +269,8 @@ const PelayananRoute = new Elysia({
}
})
console.log('data surat', dataSurat, data.id)
const dataSyarat = await prisma.syaratDokumenPelayanan.findMany({
where: {
idPengajuanLayanan: data?.id,
@@ -400,6 +402,8 @@ const PelayananRoute = new Elysia({
dataText: dataTextFix,
}
console.log('data fix', datafix)
return datafix
}, {
query: t.Object({