formCreate.on("submit", async function(e) { e.preventDefault(); const formData = new FormData(formCreate[0]); try { const response = await fetch(formCreate.attr("action"), { method: "POST", body: formData, headers: { 'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').content // penting untuk Laravel } }); if (!response.ok) { // Kalau response error (422, 500, dll), ambil text error dari server const errorText = await response.text(); throw new Error(errorText); } const result = await response.json(); if (result.status === "success") { Swal.fire({ title: "Success", text: result.message || "Data Berhasil ditambahkan", icon: "success", showConfirmButton: false, timer: 1200 }); formCreate[0].reset(); $("#create_modal").modal('hide'); dataTable.bootstrapTable("refresh"); } } catch (error) { let errorMessage = 'Terjadi kesalahan saat mengirim data.'; try { // Coba parse error yang dilempar const parsedError = JSON.parse(error.message); if (parsedError.errors) { // Kalau Laravel kirim validation error errorMessage = Object.values(parsedError.errors).flat().join('\n'); } else if (parsedError.message) { errorMessage = parsedError.message; } } catch (parseError) { // Kalau error bukan JSON valid, tampilkan biasa errorMessage = error.message; } Swal.fire({ title: "Error", text: errorMessage, icon: "error", }); } }); function editData(value){ const uid = $(value).data('uid') const el = $(value) $("#no_card_asuransi_edit").val(el.data('no_card_asuransi')) selectOldPasien(el.data('pasien_uid')) selectOldAsuransi(el.data('asuransi_uid')) selectOldRuangan(el.data('ruang_pelayanan_uid')) $("#edit_modal").modal("show") formEdit.attr('action', `/registrasi/${uid}`) formEdit.off("submit").on("submit", async function(e){ e.preventDefault() const formDataEdit = new FormData(formEdit[0]) try { const responseEdit = await fetch(formEdit.attr("action"), { method:"POST", body:formDataEdit, }) const resultEdit = await responseEdit.json() if(responseEdit.ok && resultEdit.status === "success"){ Swal.fire({ title:"Success", text:"Data Berhasil diupdate", icon:"success", showConfirmButton: false, timer:1200 }); formEdit[0].reset() $("#edit_modal").modal('hide') dataTable.bootstrapTable("refresh") } } catch (error) { Swal.fire({ title:"Error", text:"Message:" + error, icon:"error", }) } }) } function deleteData(id, name){ Swal.fire({ title: "Apakah kamu yakin ingin menghapus data ini?", text : name, icon: "warning", showCancelButton: true }).then((result) => { if(result.isConfirmed){ fetch(`/registrasi/${id}`, { method:'DELETE', headers: { "X-CSRF-TOKEN": document.querySelector('meta[name="csrf-token"]').getAttribute('content'), "Content-Type": "application/json" } }).then((response) => { if(!response.ok){ throw new Error("Network response was not ok"); } return response.json(); }) .then((data) => { if(data.status === "success"){ Swal.fire({ title: "Success", text: "Data berhasil dihapus", icon:"success", showConfirmButton: false, timer: 1000 }).then(() => { dataTable.bootstrapTable("refresh") }) }else{ Swal.fire({ title: "Error!", text: data.message || "Failed to delete Schedule.", icon: "error" }); } }) .catch(error => { Swal.fire({ title: "Error!", text: "Something went wrong. Please try again later.", icon: "error" }); }); } }) } function selectOldPasien(selectedValue){ const pasienEdit = $("#pasien_uid_edit") if(pasienEdit[0].selectize){ pasienEdit[0].selectize.destroy() } pasienEdit.selectize({ valueField:"uid", labelField:"name", searchField:['name', 'uid'], create:false, placeholder:"Cari Pasien ...", load:function(query, callback){ if(!query.length) return callback(); $.ajax({ url:'/helper/get/patient', data: {search: query}, success: function (response){ if(response.error === 0 && Array.isArray(response.data)){ callback(response.data); }else{ callback([]) } }, error: function() { callback([]); } }); }, render: { option: function(item, escape){ return `