var folder = folder || ""; function safeAlert(title, text, type) { if (typeof Swal !== 'undefined') { if(type === 'toast') { Swal.fire({ icon: 'success', title: title, toast: true, position: 'top-end', showConfirmButton: false, timer: 1500 }); } else { Swal.fire(title, text, type); } } else { alert(title + "\n" + (text || "")); } } function safeConfirm(title, text, callback) { if (typeof Swal !== 'undefined') { Swal.fire({ title: title, text: text, icon: 'warning', showCancelButton: true, confirmButtonColor: '#d33', cancelButtonColor: '#858796', confirmButtonText: 'ตกลง', cancelButtonText: 'ยกเลิก' }).then((result) => { if (result.isConfirmed) callback(); }); } else { if (confirm(title + "\n" + text)) callback(); } } function show_data(page) { if (page == null) page = $("#page").val() || 1; else $("#page").val(page); $("#show_data").empty(); let param = new FormData(document.getElementById("frm-search")); param.append("page", page); param.append("qpage", $("#qpage").val()); param.append("form_action", "6"); $.ajax({ url: folder + "db.php", type: "POST", data: param, processData: false, contentType: false, success: function (data) { try { let obj = jQuery.parseJSON(data.trim()); $("#show_state").html(obj["pagination"].state); pagination(obj["pagination"].max_loop, page); let x = (page == 1) ? 1 : (page - 1) * $("#qpage").val() + 1; let da = ""; $.each(obj, function (i) { if (i !== "pagination") { let isApproved = (obj[i].status === 'true' || obj[i].status === true); let status_btn = isApproved ? `` : ``; let fName = obj[i].firstName || ""; let lName = obj[i].lastName || ""; let fullName = `${fName} ${lName}`.replace(/"/g, '"').replace(/'/g, '''); let workGroup = obj[i].workGroup || ""; let groupName = obj[i].group_name || "-"; let userName = obj[i].userName || ""; let userId = obj[i].id; da += ` ${x} ${fullName} ${userName} ${groupName} ${status_btn}
`; x++; } }); $("#show_data").html(da); } catch (e) { console.log("JSON Error: ", data); } } }); } // ---------------- ฟังก์ชันต่างๆ ---------------- // เปิดฟอร์มเพิ่มผู้ใช้งาน (แก้ให้ส่งผ่าน FormData แล้วครับ) function add_user() { $("#frm-add-user")[0].reset(); let param = new FormData(); param.append("form_action", "get_groups"); $.ajax({ url: folder + "db.php", type: "POST", data: param, processData: false, contentType: false, success: function (data) { try { let groups = jQuery.parseJSON(data.trim()); $("#add_workGroup").empty().append(''); $.each(groups, function(i, v) { $("#add_workGroup").append(''); }); $("#add_user_modal").modal("show"); } catch(e) { safeAlert("ข้อผิดพลาด", "ไม่สามารถดึงข้อมูลกลุ่มงานได้", "error"); } } }); } // ลบผู้ใช้งาน function delete_user(id) { safeConfirm("ยืนยันการลบผู้ใช้งาน?", "หากลบแล้วจะไม่สามารถกู้คืนได้!", function() { let param = new FormData(); param.append("id", id); param.append("form_action", "delete_user"); $.ajax({ url: folder + "db.php", type: "POST", data: param, processData: false, contentType: false, success: function (data) { if(data.indexOf("0") > -1 || data.trim() === "") { safeAlert("สำเร็จ!", "ลบข้อมูลผู้ใช้งานเรียบร้อยแล้ว", "success"); show_data(); } else { safeAlert("ข้อผิดพลาด", data, "error"); } } }); }); } function reset_pw(id) { safeConfirm("ยืนยันการรีเซ็ตรหัสผ่าน?", "รหัสผ่านจะถูกเปลี่ยนเป็น 1234567890", function() { let param = new FormData(); param.append("id", id); param.append("form_action", "reset_pw"); $.ajax({ url: folder + "db.php", type: "POST", data: param, processData: false, contentType: false, success: function (data) { if(data.indexOf("0") > -1 || data.trim() === "") { safeAlert("สำเร็จ!", "รีเซ็ตรหัสผ่านเรียบร้อยแล้ว", "success"); show_data(); } else { safeAlert("ข้อผิดพลาด", data, "error"); } } }); }); } function update_status(id, new_status) { let param = new FormData(); param.append("id", id); param.append("status", new_status); param.append("form_action", "update_status"); $.ajax({ url: folder + "db.php", type: "POST", data: param, processData: false, contentType: false, success: function (data) { if(data.indexOf("0") > -1 || data.trim() === "") { safeAlert("อัปเดตสถานะสำเร็จ", "", "toast"); show_data(); } else { safeAlert("ข้อผิดพลาด", "ไม่สามารถอัปเดตได้", "error"); } } }); } function edit_group(element, id, group_id) { let name = $(element).attr("data-name"); $("#user_id").val(id); $("#display_name").val(name); let param = new FormData(); param.append("form_action", "get_groups"); $.ajax({ url: folder + "db.php", type: "POST", data: param, processData: false, contentType: false, success: function (data) { try { let groups = jQuery.parseJSON(data.trim()); $("#workGroup").empty().append(''); $.each(groups, function(i, v) { let sel = (i == group_id) ? "selected" : ""; $("#workGroup").append(''); }); $("#user_modal").modal("show"); } catch(e) { safeAlert("ข้อผิดพลาด", "ไม่สามารถดึงข้อมูลกลุ่มงานได้", "error"); } } }); } function pagination(max_page, page) { $("#pagination").empty(); if (max_page > 1) { for(let i=1; i<=max_page; i++) { let active = (i == page) ? "active" : ""; $("#pagination").append('
  • '+i+'
  • '); } } } $(function () { show_data(1); // บันทึกเปลี่ยนกลุ่มงาน $(document).on("submit", "#frm-user-group", function(e) { e.preventDefault(); let param = new FormData(this); $.ajax({ url: folder + "db.php", type: "POST", data: param, processData: false, contentType: false, success: function(data) { if(data.indexOf("0") > -1 || data.trim() === "") { $("#user_modal").modal("hide"); safeAlert("สำเร็จ", "เปลี่ยนกลุ่มงานเรียบร้อยแล้ว", "success"); show_data(); } else { safeAlert("ข้อผิดพลาด", data, "error"); } } }); }); // บันทึกเพิ่มผู้ใช้งานใหม่ $(document).on("submit", "#frm-add-user", function(e) { e.preventDefault(); let param = new FormData(this); $.ajax({ url: folder + "db.php", type: "POST", data: param, processData: false, contentType: false, success: function(data) { // บังคับว่าต้องตอบกลับมาเป็น 0 เท่านั้นถึงจะแปลว่าสำเร็จจริง if(data.trim() === "0") { $("#add_user_modal").modal("hide"); safeAlert("สำเร็จ", "เพิ่มผู้ใช้งานใหม่เรียบร้อยแล้ว", "success"); show_data(1); } else { // ถ้าไม่สำเร็จ ให้เอาข้อความ Error จาก PHP มาโชว์เลย จะได้รู้สาเหตุ safeAlert("บันทึกไม่สำเร็จ", data, "error"); } }, error: function() { safeAlert("ข้อผิดพลาด", "ไม่สามารถเชื่อมต่อฐานข้อมูลได้", "error"); } }); }); });