1function data_statistic(a, e) { 2 $.ajax({ type: "POST", url: base_url + "data-statistic", data: "statistic_name=" + a + "&statistic_detail=" + e }); 3} 4 5$(document).ready(function () { 6 $(window).bind("scroll", function () { 7 if ($(".headerNav").length == 0) return; 8 $(".headerNav").offset().top; 9 $(window).scrollTop() > 131 ? ($(".headerNav").addClass("sticky-fix-top"), $(".sticky-navbar-xs").removeClass("hidden")) : ($(".headerNav").removeClass("sticky-fix-top"), $(".sticky-navbar-xs").addClass("hidden")); 10 }), $(".navbar-collapse-field").css("max-height", function () { 11 return $(window).height() - 60; 12 }), 13 $(document).on("click", "#btn-search-mob", function (e) { 14 e.preventDefault(); 15 16 var keyword = $("input[name=keyword-mob]").val(); 17 var category = $("select[name=category] option:selected").val(); 18 19 if (keyword == "") { 20 alert("Masukkan 'Kata Kunci' Pencarian Anda"); 21 return; 22 } 23 24 var url = base_url + "cari-produk/?q=" + encodeURIComponent(keyword); 25 26 if (category) { 27 url += "&c=" + encodeURIComponent(category); 28 } 29 30 window.location.href = url; 31 }); 32 $(document).on("keypress", "#form-search input[name=keyword-mob]", function (a) { 33 if (a.preventDefault, 13 == a.keyCode || 13 == a.which) return $("#btn-search-mob").click(), false; 34 }), 35 $(document).on("click", "#btn-search", function (e) { 36 e.preventDefault(); 37 38 var keyword = $("input[name=keyword]").val(); 39 var category = $("select[name=category] option:selected").val(); 40 41 if (keyword == "") { 42 alert("Masukkan 'Kata Kunci' Pencarian Anda"); 43 return; 44 } 45 46 var url = base_url + "cari-produk/?q=" + encodeURIComponent(keyword); 47 48 if (category) { 49 url += "&c=" + encodeURIComponent(category); 50 } 51 52 window.location.href = url; 53 }); 54 $(document).on("keypress", "#form-search input[name=keyword]", function (a) { 55 if (a.preventDefault, 13 == a.keyCode || 13 == a.which) return $("#btn-search").click(), false; 56 }); 57}), 58 $(document).ready(function () { 59 $(document).on("click", ".get_statistic", function (a) { 60 data_statistic($(this).attr("statistic-name"), $(this).attr("statistic-detail")); 61 }); 62 }), 63 $(document).ready(function () { 64 $(document).on("click", ".btn-play-video", function () { 65 var a = $(this).attr("data-triger"); 66 $(".indexVideo-youtube[video-label=" + a + "]").each(function () { 67 var a = $(this).attr("src"); 68 $(this).attr("src", a + "?autoplay=1"); 69 }); 70 }), 71 $(document).on("click", ".btn-stop-video", function () { 72 var a = $(this).attr("data-action"); 73 $(".indexVideo-youtube[video-label=" + a + "]").each(function () { 74 var a = (a = $(this).attr("src")).replace("?autoplay=1", ""); 75 $(this).attr("src", a); 76 }); 77 }); 78 }), 79 $(document).ready(function () { 80 $("#form-subscribe").validate({ 81 submitHandler: function () { 82 var a = $("#form-subscribe"), e = $("input[name=name]", a), n = $("input[name=email]", a), t = $(".g-recaptcha", a), r = n.val(); 83 $.ajax({
84 type: "POST", url: base_url + "home/subscribe", data: "name=" + e.val() + "&email=" + n.val() + "&captcha=" + grecaptcha.getResponse(), beforeSend: function () { 85 loader.show(); 86 }, success: function (e) { 87 loader.fadeOut(), "success" == e ? (a.trigger("reset"), alert_info("Terima Kasih. Email Anda telah terdaftar."), data_statistic("subscribe", r)) : "error" == e ? (a.trigger("reset"), alert_info("Data email Anda sudah terdaftar di database kami.")) : "errorCaptcha" == e ? reCaptcha_session_verf(t) : window.location.reload(), reCaptcha_session_off(); 88 } 89 }); 90 } 91 }); 92 }), 93 $(document).ready(function () { 94 $(document).on("change", "#filter-sub-category", function () { 95 "" == $(this).val() ? $(this).stop() : window.location = $(this).val(); 96 }); 97 }), 98 $(document).ready(function () { 99 $(".form-req-download-catalog").validate({ 100 submitHandler: function () { 101 var a = $(".form-req-download-catalog"), e = $("input[name=email]", a); 102 $.ajax({
103 type: "POST", url: base_url + "catalog/request_download", data: "email=" + e.val(), beforeSend: function () { 104 loader.show(); 105 }, success: function (e) { 106 loader.fadeOut(), a.trigger("reset"), a.hide(), $(".catalog .desc .form-alert").fadeIn(); 107 } 108 }); 109 } 110 }), $("#form-brochure").validate({ 111 submitHandler: function () { 112 var a = $("#form-brochure"), e = $("input[name=email]", a), n = $("input[name=req_type]", a); 113 $.ajax({ 114 type: "POST", url: base_url + "catalog/request_download", data: "email=" + e.val() + "&req_type=" + n.val(), beforeSend: function () { 115 loader.show(); 116 }, success: function (e) { 117 loader.fadeOut(), a.trigger("reset"), a.hide(), $("#form-brochure-collapse .form-alert").fadeIn(); 118 } 119 }); 120 } 121 }), 122 $(document).on("click", ".download-catalog", function () { 123 var a = $(this).attr("label"); 124 window.location = base_url + "catalog/get_" + a; 125 }); 126 }), 127 $(document).ready(function () { 128 $(document).on("click", "#btn-form-contact", function (a) { 129 a.preventDefault(); 130 var e = $("#form-contact input[name=name]"), n = $("#form-contact input[name=email]"), t = $("#form-contact input[name=phone_number]"), r = $("#form-contact input[name=subject]"), o = $("#form-contact textarea[name=message]"), i = $("body").offset().top + 165; 131 1 == ("" == e.val() ? (alert("Mohon mengisi kolom yang masih kosong"), e.focus(), false) : "" == n.val() ? (alert("Mohon mengisi kolom yang masih kosong"), n.focus(), false) : "" == t.val() ? (alert("Mohon mengisi kolom yang masih kosong"), t.focus(), false) : "" == r.val() ? (alert("Mohon mengisi kolom yang masih kosong"), r.focus(), false) : "" != o.val() || (alert("Mohon mengisi kolom yang masih kosong"), o.focus(), false)) && $.ajax({
132 type: "POST", url: base_url + "Contact/email", data: "name=" + e.val() + "&email=" + n.val() + "&phone_number=" + t.val() + "&subject=" + r.val() + "&message=" + o.val() + "&captcha=" + grecaptcha.getResponse(), beforeSend: function () { 133 loader.fadeIn(1e3); 134 }, success: function (a) { 135 loader.fadeOut(1e3), $("#form-contact").trigger("reset"), $("#respon-email-process").fadeIn(800).text(a), $("html,body").animate({ scrollTop: Math.round($("#respon-email-process").offset().top - i) }, 2e3); 136 } 137 }); 138 }); 139 }), 140 $(document).ready(function () { 141 $(document).on("click", "button[name=login]", function () { 142 var a = $("#login input[name=email]").val(), e = $("#login input[name=password]").val(), n = $(this).attr("statistic-name"), t = a; 143 $("#login").validate({ 144 rules: { email: { required: true }, password: { required: true } }, submitHandler: function (r) { 145 $.ajax({
146 type: "POST", url: base_url + "login", data: "email=" + a + "&password=" + e, beforeSend: function () { 147 $(".alert-userverf[data-verf=login]").hide(); 148 }, success: function (a) { 149 "error" == a ? $(".alert-userverf[data-verf=login").fadeIn() : (data_statistic(n, t), window.location.reload()); 150 } 151 }); 152 } 153 }); 154 }), 155 $(document).on("click", "#btn-verf_resetpassword", function (a) { 156 a.preventDefault(); 157 var e = $("#verf_resetpassword input[name=email]").val(), n = $("#verf_resetpassword input[name=no_hp]").val(); 158 $.ajax({ 159 type: "POST", url: base_url + "request-reset-password", data: "email=" + e + "&no_hp=" + n, beforeSend: function () { 160 loader.show(); 161 }, success: function (a) { 162 "error" == a ? (loader.fadeOut(800), $(".alert-form[data-verf=req_resetpassword]").fadeIn()) : window.location = base_url; 163 } 164 }); 165 }), 166 $(document).on("click", "#btn-set_resetpassword", function (a) { 167 a.preventDefault(); 168 var e = $("#set_resetpassword input[name=email]"), n = $("#set_resetpassword input[name=password]"), t = $("#set_resetpassword input[name=cfm-password]"); 169 n.val() == t.val() ? $.ajax({ 170 type: "POST", url: base_url + "resetpassword", data: "email=" + e.val() + "&password=" + n.val(), beforeSend: function () { 171 loader.fadeIn(800); 172 }, success: function (a) { 173 window.location = base_url; 174 } 175 }) : ($(".alert-form[data-verf=set_resetpassword]").fadeIn(), t.focus()); 176 }), 177 $(document).on("change", "#regis input[name=email]", function (a) { 178 a.preventDefault(); 179 var e = $("#regis input[name=email]"); 180 $.ajax({
181 type: "POST", url: base_url + "email-check", data: "email=" + e.val(), success: function (a) { 182 "exist" == a && (alert("Maaf, email telah terdaftar sebagai akun Fomac Indonesia."), e.val(""), e.focus()); 183 } 184 }); 185 }), 186 $(document).on("click", "#btn-regis", function (a) { 187 a.preventDefault(); 188 var e = $("#regis input[name=f_name]"), n = $("#regis input[name=l_name]"), t = $("#regis input[name=gender]:checked"), r = $("#regis input[name=email]"), o = $("#regis input[name=no_hp]"), i = $("#regis input[name=password]"), s = $("#regis input[name=cfm-password]"), l = $(this).attr("statistic-name"), d = r.val(); 189 1 == ("" == e.val() ? (alert("Kolom 'Nama Depan' tidak boleh kosong"), e.focus(), false) : "" == n.val() ? (alert("Kolom 'Nama Belakang' tidak boleh kosong"), n.focus(), false) : 0 == t.length ? (alert("Silahkan pilih jenis kelamin anda"), $("#regis input[name=gender]").focus(), false) : "" == r.val() ? (alert("Kolom 'Email' tidak boleh kosong"), r.focus(), false) : "" == o.val() ? (alert("Kolom 'Nomer Ponsel' tidak boleh kosong"), o.focus(), false) : "" == i.val() ? (alert("Kolom 'Password' tidak boleh kosong"), i.focus(), false) : "" == s.val() ? (alert("Mohon mengkonfirmasi ulang password yang anda masukkan"), i.focus(), false) : i.val() == s.val() || (alert("Konfirmasi ulang password yang anda masukkan tidak sesuai"), s.focus(), false)) && $.ajax({
190 type: "POST", url: base_url + "new-register", data: "f_name=" + e.val() + "&l_name=" + n.val() + "&gender=" + t.val() + "&email=" + r.val() + "&no_hp=" + o.val() + "&password=" + i.val() + "&captcha=" + grecaptcha.getResponse(), beforeSend: function () { 191 loader.fadeIn(1e3); 192 }, success: function (a) { 193 "errorCaptcha" == a ? window.location = base_url : "error" == a ? (alert("'Error Register'. Silahkan dicoba kembali."), loader.fadeOut(1e3)) : (data_statistic(l, d), window.location = base_url + "akun-saya/?p=verifikasi-akun"); 194 } 195 }); 196 }); 197 }), 198 199 $(document).ready(function () { 200 $("#form-warranty-1 input[name=nama_produk]").autocomplete({ 201 source: "https://www.siniservice.id/brand/getproduct/?", 202 position: { 203 collision: "flipfit" 204 }, 205 }); 206 207 208 $("#warranty-0").validate({ 209 rules: { 210 // nomer_garansi: { 211 // required: true, 212 // maxlength: 35 213 // }, 214 email: { 215 required: true, 216 email: true 217 }, 218 no_handphone: { 219 required: true, 220 maxlength: 15, 221 number: true 222 }, 223 nomer_seri: { 224 required: true, 225 maxlength: 35 226 }, 227 nama_produk: { 228 required: true, 229 maxlength: 150 230 }, 231 model: { 232 required: true, 233 maxlength: 100 234 }, 235 tanggal_pembelian: { 236 required: true, 237 date: true 238 }, 239 nama: { 240 required: true, 241 maxlength: 50 242 }, 243 alamat: { 244 required: true, 245 maxlength: 250 246 }, 247 province: { 248 required: true 249 }, 250 regency: { 251 required: true 252 }, 253 district: { 254 required: true 255 }, 256 village: { 257 required: true 258 }, 259 post_code: { 260 required: true 261 }, 262 invoice: { 263 required: true, 264 extension: "jpg|jpeg|png", 265 } 266 }, 267 messages: { 268 // nomer_garansi: { 269 // required: 'Nomor garansi wajib diisi' 270 // }, 271 email: { 272 required: 'Email wajib diisi', 273 email: 'Format email tidak valid' 274 }, 275 no_handphone: { 276 required: 'Nomor handphone wajib diisi', 277 maxlength: 'Nomor handphone maksimal 15 digit', 278 number: 'Nomor handphone harus berupa angka' 279 }, 280 nomer_seri: { 281 required: 'Nomor seri wajib diisi' 282 }, 283 nama_produk: { 284 required: 'Nama produk wajib diisi' 285 }, 286 model: { 287 required: 'Model wajib diisi' 288 }, 289 tanggal_pembelian: { 290 required: 'Tanggal pembelian wajib diisi', 291 date: 'Format tanggal tidak valid' 292 }, 293 nama: { 294 required: 'Nama wajib diisi' 295 }, 296 alamat: { 297 required: 'Alamat wajib diisi' 298 }, 299 province: { 300 required: 'Provinsi wajib dipilih' 301 }, 302 regency: { 303 required: 'Kabupaten/Kota wajib dipilih' 304 }, 305 district: { 306 required: 'Kecamatan wajib dipilih' 307 }, 308 village: { 309 required: 'Kelurahan wajib dipilih' 310 }, 311 post_code: { 312 required: 'Kode Pos wajib dipilih' 313 }, 314 invoice: { 315 required: "Silahkan pilih gambar terlebih dahulu.", 316 extension: "Format gambar salah.", 317 } 318 }, 319 320 submitHandler: function (a) { 321 const nomerSeri = $("#warranty-data input[name=nomer_seri]").val(); 322 console.log('nomerSeri', nomerSeri); 323 $("#form-warranty-0").hide() 324 $("#warranty-data").removeClass('d-none') 325 $("#warranty-data").fadeIn() 326 $("#warranty-data input[name=nomer_garansi]").val("FM-" + nomerSeri);
327 $("#warranty-data input[name=email]").val($("#warranty-0 input[name=email]").val()) 328 $("#warranty-data input[name=no_handphone]").val($("#warranty-0 input[name=no_handphone]").val()) 329 $("#warranty-data input[name=nomer_seri]").val($("#warranty-0 input[name=nomer_seri]").val()) 330 $("#warranty-data input[name=nama_produk]").val(window.product_name) 331 $("#warranty-data input[name=model]").val($("#warranty-0 input[name=model]").val()) 332 $("#warranty-data input[name=tanggal_pembelian]").val($("#warranty-0 input[name=tanggal_pembelian]").val()) 333 $("#warranty-data input[name=nama]").val($("#warranty-0 input[name=nama]").val()) 334 $("#warranty-data textarea[name=alamat]").val($("#warranty-0 textarea[name=alamat]").val()) 335 $("#warranty-data input[name=province]").val(window.province) 336 $("#warranty-data input[name=regency]").val(window.regency) 337 $("#warranty-data input[name=district]").val(window.district) 338 $("#warranty-data input[name=village]").val(window.village) 339 $("#warranty-data input[name=post_code]").val(window.post_code) 340 $("#warranty-data input[name=invoice_name]").val($("#warranty-0 input[name=invoice]").val()) 341 } 342 }); 343 $(document).on("click", "#back-warranty-0", function () { 344 $("#form-warranty-0").fadeIn() 345 $("#warranty-data").fadeOut() 346 }) 347 $(document).on("click", "#warranty-data #send", function (a) { 348 a.preventDefault(); 349 350 const buktiInvoiceFile = $("#warranty-0 input[name=invoice]")[0].files[0]; 351 352 const nomerSeri = $("#warranty-data input[name=nomer_seri]").val(); 353 354 const formData = new FormData(); 355 formData.append("nomor_garansi", "FM-" + nomerSeri); 356 formData.append("nama", $("#warranty-data input[name=nama]").val()); 357 formData.append("email", $("#warranty-data input[name=email]").val()); 358 formData.append("handphone", $("#warranty-data input[name=no_handphone]").val()); 359 formData.append("alamat", $("#warranty-data textarea[name=alamat]").val()); 360 formData.append("provinsi", $("#warranty-data input[name=province]").val()); 361 formData.append("kota", $("#warranty-data input[name=regency]").val()); 362 formData.append("kecamatan", $("#warranty-data input[name=district]").val()); 363 formData.append("kelurahan", $("#warranty-data input[name=village]").val()); 364 formData.append("kode_pos", $("#warranty-data input[name=post_code]").val()); 365 formData.append("brand", "Fomac"); 366 formData.append("nama_mesin", $("#warranty-data input[name=nama_produk]").val()); 367 formData.append("model", $("#warranty-data input[name=model]").val()); 368 formData.append("nomor_seri_mesin", $("#warranty-data input[name=nomer_seri]").val()); 369 formData.append("tanggal_pembelian", $("#warranty-data input[name=tanggal_pembelian]").val().replaceAll("/", "-")); 370 formData.append("bukti_invoice", buktiInvoiceFile); 371 372 let ul = $("#warranty-data-notif"); 373 ul.empty(); 374 375 $.ajax({
376 type: "POST", 377 url: "https://www.siniservice.id/api/warranty", 378 data: formData, 379 processData: false, 380 contentType: false, 381 beforeSend: function () { 382 loader.fadeIn(); 383 }, 384 complete: function () { 385 loader.fadeOut(); 386 }, 387 success: function (res) { 388 if (res.status === "success") { 389 $("#warranty-data").fadeOut() 390 $("#form-warranty-4").fadeIn() 391 $("#form-warranty-4 .success").fadeIn() 392 alert_success(res.message); 393 $("html, body").animate({ scrollTop: 0 }); 394 } else { 395 alert_error(res.message); 396 ul.append(`<li>${res.message}</li>`); 397 $("html, body").animate({ scrollTop: 0 }); 398 } 399 }, 400 error: function (err) { 401 if (err.status === 400) { 402 let errors = err.responseJSON.errors; 403 for (let key in errors) { 404 ul.append(`<li>${errors[key]}</li>`); 405 } 406 alert_error("Terjadi kesalahan: " + err.responseJSON.message); 407 } else { 408 alert_error("Terjadi kesalahan: " + err.status); 409 } 410 $("html, body").animate({ scrollTop: 0 }); 411 } 412 }); 413 }); 414 415 }); 416$(document).ready(function () { 417 $(document).on("click", "#btn-edit-data-personal", function (a) { 418 a.preventDefault(); 419 var e = $("#edit-data-personal input[name=no_hp]"), 420 n = $("#edit-data-personal input[name=email]"), 421 t = $("#edit-data-personal input[name=password]"); 422 1 == ("" == e.val() ? (alert("Mohon mengisi kolom yang masih kosong"), 423 e.focus(), 424 false) : "" == n.val() ? (alert("Mohon mengisi kolom yang masih kosong"), 425 n.focus(), 426 false) : "" != t.val() || (alert("Mohon mengisi kolom yang masih kosong"), 427 t.focus(), 428 false)) && $.ajax({
429 type: "POST", 430 url: base_url + "edit-data-personal", 431 data: "no_hp=" + e.val() + "&email=" + n.val() + "&password=" + t.val(), 432 beforeSend: function () { 433 loader.fadeIn(1e3); 434 }, 435 success: function (a) { 436 window.location.reload(); 437 } 438 }); 439 }), 440 $(document).on("click", ".btn-address", function (a) { 441 a.preventDefault(); 442 var e = $(this).attr("data-label"), n = $(".form-address[data-form=" + e + "] textarea[name=address]"), t = $(".form-address[data-form=" + e + "] select[name=district] option:selected"), r = $(".form-address[data-form=" + e + "] select[name=regency] option:selected"), o = $(".form-address[data-form=" + e + "] select[name=province] option:selected"), i = $(".form-address[data-form=" + e + "] input[name=post_code]"); 443 1 == ("" == n.val() ? (alert("Mohon mengisi kolom yang masih kosong"), n.focus(), false) : 0 == o.val() ? (alert("Silahkan pilih Provinsi Anda"), $(".form-address select[name=province]").focus(), false) : 0 == r.val() ? (alert("Silahkan pilih Kota / Kabupaten Anda"), $(".form-address select[name=regency]").focus(), false) : 0 == t.val() ? (alert("Silahkan pilih Kecamatan Anda"), $(".form-address select[name=district]").focus(), false) : "" != i.val() || (alert("Mohon mengisi kolom yang masih kosong"), i.focus(), false)) && $.ajax({
444 type: "POST", url: base_url + "submit-address", data: "label=" + e + "&address=" + n.val() + "&district=" + t.val() + "®ency=" + r.val() + "&province=" + o.val() + "&post_code=" + i.val(), beforeSend: function () { 445 loader.fadeIn(1e3); 446 }, success: function (a) { 447 window.location.reload(); 448 } 449 }); 450 }), 451 $(document).on("click", "#btn-change-pass", function (a) { 452 a.preventDefault(); 453 var e = $("#change-pass input[name=old-password]"), n = $("#change-pass input[name=new-password]"), t = $("#change-pass input[name=cfm-new-password]"); 454 1 == ("" == e.val() ? (alert("Mohon mengisi kolom yang masih kosong"), e.focus(), false) : "" == n.val() ? (alert("Mohon mengisi kolom yang masih kosong"), n.focus(), false) : t.val() == n.val() || (alert("Konfirmasi ulang password yang anda masukkan tidak sesuai"), t.focus(), false)) && $.ajax({ 455 type: "POST", url: base_url + "change-password", data: "old_pass=" + e.val() + "&new_pass=" + n.val(), beforeSend: function () { 456 loader.fadeIn(1e3); 457 }, success: function (a) { 458 "error" == a ? (alert("Anda salah memasukkan password lama Anda"), loader.fadeOut(1e3), e.focus()) : window.location.reload(); 459 } 460 }); 461 }), 462 $(document).on("change", "#request-service input[name=model]", function (a) { 463 a.preventDefault(), $.ajax({
464 type: "POST", url: base_url + "product-name", data: "model=" + $(this).val(), success: function (a) { 465 $("#request-service input[name=type]").val(a); 466 } 467 }); 468 }), 469 $(document).on("change", "#request-service input[name=user_address]:checked", function (a) { 470 a.preventDefault(), $.ajax({ 471 type: "POST", url: base_url + "alamat-user", data: "label=" + $(this).val(), success: function (a) { 472 $("#request-service textarea[name=address]").val(a).fadeIn(); 473 } 474 }); 475 }), 476 $(document).on("change", "#request-service input[name=promo_code]", function (a) { 477 a.preventDefault(); 478 var e = $("#request-service input[name=promo_code]"); 479 $.ajax({ 480 type: "POST", url: base_url + "coupon-service-verf", data: "promo_code=" + e.val(), beforeSend: function () { 481 loader.show(); 482 }, success: function (a) { 483 "not_valid" == a ? (alert_info("Maaf Kode Promo Tidak Terdaftar"), e.val(""), e.focus()) : "error" == a ? (alert_info("Maaf Kode Promo Sudah Tidak Berlaku"), e.val(""), e.focus()) : "success" == a && alert_success("Selamat Anda mendapatkan promo " + e.val().toUpperCase()), loader.fadeOut(); 484 } 485 }); 486 }), $("#request-service").validate({ 487 rules: { user_address: { required: true }, image: { extension: "jpg|jpeg", filesize: 5e5 } }, messages: { user_address: { required: "Pilih alamat service." }, image: { extension: "File Type tidak sesuai." } }, submitHandler: function (a) { 488 return $.ajax({ 489 type: "POST", url: base_url + "permintaan-service", data: new FormData(a), contentType: false, processData: false, cache: false, beforeSend: function () { 490 loader.show(); 491 }, success: function (a) { 492 "err_image" == a ? alert_error("'Error' - Gagal Upload Gambar") : "error" == a ? ($("#request-service").trigger("reset"), $("#request-service textarea[name=address]").hide(), alert_error("'Error' - Mohon dicoba kembali")) : "success" == a && ($("#request-service").trigger("reset"), $("#request-service textarea[name=address]").hide(), alert_success("'Success' - Permintaan Service Anda Akan Kami Proses")), loader.fadeOut(); 493 } 494 }), false; 495 } 496 }), 497 $(document).on("click", "#btn-account-verf", function (a) { 498 a.preventDefault(); 499 var e = $("#account-verf input[name=account-verf]"); 500 1 == ("" != e.val() || (alert("Masukkan kode verifikasi Anda"), e.focus(), false)) && $.ajax({
501 type: "POST", url: base_url + "customer-verification", data: "verf_code=" + e.val(), beforeSend: function () { 502 loader.fadeIn(1e3); 503 }, success: function (a) { 504 "error" == a ? (alert("Kode verifikasi Anda SALAH. Mohon diperiksa kembali."), loader.fadeOut(1e3)) : window.location.reload(); 505 } 506 }); 507 }); 508}), 509 $(document).ready(function () { 510 $(document).on("click", "#btn-buy", function (a) { 511 a.preventDefault(); 512 var e = $(".product-details[name=id]"), n = $(".product-details[name=category]"), t = $(".product-details[name=sub_category]"), r = $(".product-details[name=product_name]"), o = $(".product-details[name=product_model]"), i = $(".product-details[name=image]"), s = $(".product-details[name=price]"), l = $(".product-details[name=qty]"); 513 $.ajax({ 514 type: "POST", url: base_url + "addtocart", data: "id=" + e.val() + "&category=" + n.val() + "&sub_category=" + t.val() + "&product_name=" + r.val() + "&product_model=" + o.val() + "&image=" + i.val() + "&price=" + s.val() + "&qty=" + l.val(), success: function () { 515 window.location = base_url + "shoppingcart"; 516 } 517 }); 518 }), 519 $(document).on("click", "#btn-addtocart", function (a) { 520 a.preventDefault(); 521 var e = $(".product-details[name=id]"), n = $(".product-details[name=category]"), t = $(".product-details[name=sub_category]"), r = $(".product-details[name=product_name]"), o = $(".product-details[name=product_model]"), i = $(".product-details[name=image]"), s = $(".product-details[name=price]"), l = $(".product-details[name=qty]"); 522 $.ajax({
523 type: "POST", url: base_url + "addtocart", data: "id=" + e.val() + "&category=" + n.val() + "&sub_category=" + t.val() + "&product_name=" + r.val() + "&product_model=" + o.val() + "&image=" + i.val() + "&price=" + s.val() + "&qty=" + l.val(), success: function () { 524 alert(l.val() + " unit " + r.val() + " " + o.val() + " telah ditambahkan ke keranjang belanja Anda"), window.location.reload(); 525 } 526 }); 527 }), 528 $(document).on("click", ".change-qty", function (a) { 529 a.preventDefault(); 530 var e = $(this).attr("cart-id"), n = $("input[name=qty][cart-id=" + e + "]").val(); 531 $.ajax({ 532 type: "POST", url: base_url + "updatecart", data: "rowid=" + e + "&qty=" + n, beforeSend: function () { 533 loader.fadeIn(1e3); 534 }, success: function (a) { 535 window.location.reload(); 536 } 537 }); 538 }), 539 $(document).on("click", ".remove-cart", function (a) { 540 a.preventDefault(); 541 $(this).attr("data-triger"); 542 var e = $(this).attr("cart-id"); 543 $.ajax({
544 type: "POST", url: base_url + "removecart", data: "rowid=" + e, beforeSend: function () { 545 loader.fadeIn(1e3); 546 }, success: function () { 547 window.location.reload(); 548 } 549 }); 550 }), 551 $(document).on("click", "#btn-voucher", function (a) { 552 a.preventDefault(); 553 var e = $("#myVoucher input[name=promo_code]").val().toUpperCase(), n = $("#myVoucher input[name=email]").val(); 554 "PCS-SV5" == e ? $.ajax({ 555 type: "POST", url: "http://localhost/putrachandra/promocodesv5-verf", data: "email=" + n, crossDomain: true, cache: false, beforeSend: function () { 556 loader.show(); 557 }, success: function (a) { 558 "valid" == a ? function (a) { 559 $.ajax({ 560 type: "POST", url: base_url + "add-coupon", data: "promo_code=" + a, beforeSend: function () { 561 loader.show(); 562 }, success: function (a) { 563 "success" == a ? window.location.reload() : (alert(a), window.location.reload()); 564 } 565 }); 566 }(e) : (alert("Kode Promo Anda sudah tidak berlaku."), window.location.reload()); 567 } 568 }) : $.ajax({ 569 type: "POST", url: base_url + "add-promo-code", data: "promo_code=" + e, beforeSend: function () { 570 loader.show(); 571 }, success: function (a) { 572 "success" == a ? window.location.reload() : (alert(a), window.location.reload()); 573 } 574 }); 575 }), 576 $(document).on("change", "#order input[name=shipp-addr]:checked", function (a) { 577 a.preventDefault(); 578 var e = $(this).val(); 579 $.ajax({
580 type: "POST", url: base_url + "check-address", data: "label=" + e, success: function (a) { 581 "error" == a && (alert("Mohon memasukkan 'Alamat " + e + "' Anda terlebih dahulu."), window.location = base_url + "akun-saya/?p=data-alamat"); 582 } 583 }); 584 }), 585 $(document).on("click", "#btn-order", function (a) { 586 a.preventDefault(); 587 var e = $("#order input[name=email]"), n = $("#order input[name=shipp-addr]:checked"), t = $("#order textarea[name=order-note]"); 588 1 == (0 != n.length || (alert("Silihkan pilih Alamat Pengiriman terlebih dahulu."), false)) && $.ajax({ 589 type: "POST", url: base_url + "order-product", data: "shipp_addr=" + n.val() + "¬e=" + t.val(), beforeSend: function () { 590 loader.fadeIn(1e3); 591 }, success: function (a) { 592 "success_pcssv5" == a && function (a) { 593 $.ajax({ type: "POST", url: "http://localhost/putrachandra/promocodesv5-setstatus", data: "email=" + a, crossDomain: true, cache: false, success: function (a) { } }); 594 }(e.val()), window.location = base_url + "akun-saya/?p=pesanan-baru"; 595 } 596 }); 597 }), 598 $(document).on("click", "#btn-order-complete", function (a) { 599 $.ajax({
600 type: "POST", url: base_url + "order-complete", data: "order_number=" + $(this).attr("order-number"), beforeSend: function () { 601 loader.fadeIn(1e3); 602 }, success: function (a) { 603 window.location = base_url + "akun-saya/?p=daftar-pesanan"; 604 } 605 }); 606 }); 607 }), 608 $(document).ready(function () { 609 $(document).on("click", "button[name=ikut-giveaway]", function () { 610 $("#product-giveaway .title button").hide(), $("#product-giveaway .title p").fadeIn(), $("#product-giveaway .title").css({ "border-bottom-left-radius": "0", "border-bottom-right-radius": "0" }), $("#product-giveaway .content").fadeIn(); 611 }), 612 $(document).on("change", "#form-giveaway input[name=giveaway_code]", function () { 613 var a = $(this); 614 $.ajax({ 615 type: "POST", url: base_url + "product/giveaway_code_verf", data: "giveaway_code=" + a.val(), success: function (e) { 616 "unverified" == e && (alert_info("Kode GIVEAWAY Anda salah"), a.focus(), a.val("")); 617 } 618 }); 619 }), 620 $(document).on("change", "#form-giveaway input[name=instagram_id]", function () { 621 var a = $(this); 622 $.ajax({
623 type: "POST", url: base_url + "product/giveaway_verf", data: "instagram_id=" + a.val(), success: function (e) { 624 "unverified" == e && (alert_info("Instagram ID sudah terdaftar dalam program GIVEAWAY"), a.focus(), a.val("")); 625 } 626 }); 627 }), 628 $(document).on("click", "button[name=form-giveaway]", function () { 629 var a = $("#form-giveaway input[name=name]"), e = $("#form-giveaway input[name=instagram_id]"), n = $("#form-giveaway input[name=email]"), t = $("#form-giveaway input[name=phone_number]"), r = $("#form-giveaway input[name=quiz_answers]"), o = { name: a.val(), instagram_id: e.val(), email: n.val(), phone_number: t.val(), quiz_answers: r.val(), captcha: grecaptcha.getResponse() }; 630 $("#form-giveaway").validate({ 631 rules: { phone_number: { number: true }, quiz_answers: { number: true } }, submitHandler: function (a) { 632 $.ajax({ 633 type: "POST", url: base_url + "giveawayFn", data: o, beforeSend: function () { 634 loader.fadeIn(); 635 }, success: function (a) { 636 "errorCaptcha" == a ? (loader.fadeOut(), alert_info("Mohon 'klik' reCaptcha!")) : "error" == a ? (loader.fadeOut(), alert_info("Terdapat kendala sistem. Mohon refresh halaman Anda, dan coba lagi.")) : (loader.fadeOut(), $("#form-giveaway").hide(), $("#form-giveaway").trigger("reset"), $("#giveaway-success-alert").fadeIn(), $("#unique-code-giveaway").text(a)); 637 } 638 }); 639 } 640 }); 641 }); 642 }); 643$(document).ready(function () { 644 $(document).on("click", "#products_detail", function () { 645 console.log($(this).data("href")), $("#form-event input[name=url_title]").val($(this).data("href")), $("#form-event input[name=domain]").val($(this).data("lable")); 646 }), 647 $(document).on("click", "#form-event button[type=submit]", function (e) { 648 $("#form-event").validate({ 649 rules: { full_name: { required: true }, no_handphone: { number: true, required: true } }, submitHandler: function (e) { 650 console.log(e), $.ajax({ 651 type: "POST", url: base_url + "event/ketupat-2022/send", data: new FormData(e), contentType: false, processData: false, cache: false, beforeSend: function () { 652 loader.fadeIn(); 653 }, success: function (e) { 654 var t = JSON.parse(e); 655 "errorCaptcha" == t.error ? (loader.fadeOut(), errorsHtml = `<div class="alert alert-danger">\n\t\t\t\t\t\t\t ${t.message}</di>`, $("#errorEvent").html(errorsHtml), grecaptcha.reset()) : "available" == t.error ? (loader.fadeOut(), errorsHtml = `<div class="alert alert-danger">\n\t\t\t\t\t\t\t ${t.message}</di>`, $("#errorEvent").html(errorsHtml), grecaptcha.reset()) : "error" == t.error ? (loader.fadeOut(), errorsHtml = `<div class="alert alert-danger">\n\t\t\t\t\t\t\t ${t.message}</di>`, $("#errorEvent").html(errorsHtml), grecaptcha.reset()) : "success" == t.error && (loader.fadeOut(), "powerpack" == t.domain ? window.open("https://www.powerpack.co.id/" + t.redirect, "_blank") : window.location.href = "https://www.fomac.co.id/" + t.redirect); 656 } 657 }); 658 } 659 }); 660 }); 661}); 662 663var customer = ''; 664var daftar_alamat = []; 665var customerEmail = ''; 666 667$(document).ready(function () { 668 669 $("#registration_form_ticket input[name=email], #registration_form_ticket input[name=nomor_handphone]").on("change", function () { 670 var fd = new FormData(); 671 fd.append('keyword', $(this).val()) 672 fd.append('source', 'fomac') 673 $.ajax({
674 type: "POST", url: "https://www.siniservice.id/api/check-customer", 675 data: fd, 676 contentType: !1, 677 processData: !1, 678 cache: !1, 679 async: !0, 680 beforeSend: function () { 681 loader.fadeIn() 682 }, 683 success: function (res) { 684 if (res.status === 'success') { 685 if (res.data) { 686 customer = res.data.customer; 687 daftar_alamat = res.data.alamat; 688 $('#notification_label').text('Data Customer Sudah Ada'); 689 $('#notification_body').text('Apakah Anda ingin menggunakan data yang sudah ada?'); 690 $('#notification_footer').html(` 691 <button type="button" class="btn btn-secondary" data-dismiss="modal">Batal</button> 692 <button type="button" class="btn btn-primary" id="exist_customer">Lanjutkan</button> 693 `); 694 $('#notification').modal('show') 695 } 696 } 697 }, 698 complete: function () { 699 loader.fadeOut() 700 } 701 }) 702 }); 703}) 704 705$(document).on('click', '#exist_customer', function () { 706 var elmCard = '';
707 let containerLeft = 0; 708 let containerRight = 1; 709 customerEmail = $('#registration_form_ticket input[name=email]').val(); 710 if (customer == '' && daftar_alamat.length == 0) { 711 $('#notification').modal('hide') 712 return 713 } 714 715 $('#data-customer').html(` 716 <input type="hidden" name="cust_code" value="${customer.cust_code}"> 717 <div class="row no-gutters"> 718 <div class="col-xs-6"> 719 <h4>Daftar Alamat</h4> 720 </div> 721 <div class="col-xs-6"> 722 <button type="button" class="btn btn-info pull-right" id="add_address"> 723 <i class="fas fa-plus"></i> Alamat 724 </button> 725 </div> 726 </div> 727 <div class="row scroll-card"> 728 <div class="col-md-6 masonry-container-left"></div><div class="col-md-6 masonry-container-right"></div> 729 </div>`) 730 if (customer) { 731 elmCard = ` 732 <div class="masonry-card"> 733 <div class="address-card"> 734 <h5 class="address-card-title"> 735 <input 736 id="" 737 type="radio" 738 class="radio" 739 name="data_cust" 740 data-email="${customerEmail}" 741 data-name_cust="${customer.name}" 742 data-cust_code="${customer.cust_code}" 743 data-no_handphone="${customer.nomor_handphone}" 744 data-address_cust="${customer.alamat}" 745 data-dtl_address_cust="${customer.dtl_alamat}" 746 data-village_cust="${customer.village_cust}" 747 data-district_cust="${customer.district}" 748 data-regency_cust="${customer.regency}" 749 data-province_cust="${customer.province}" 750 data-postcode_cust="${customer.post_code}" 751 data-latitude="${customer.latitude}" 752 data-longitude="${customer.longitude}" 753 customer="${customer.name}" checked> 754 <strong>${customer.name} | ${customer.nomor_handphone}</strong> 755 </h5> 756 ${customer.dtl_alamat}, ${customer.alamat} | ${customer.district} - ${customer.regency} - ${customer.province}, ${customer.post_code} 757 </div> 758 </div> 759 `; 760 $('.masonry-container-left').append(elmCard) 761 containerLeft += 1; 762 } 763 $.each(daftar_alamat, function (index, value) { 764 elmCard = ` 765 <div class="masonry-card"> 766 <div class="address-card"> 767 <h5 class="address-card-title"> 768 <input 769 id="${value.id_customer}" 770 type="radio" 771 class="radio" 772 name="data_cust" 773 data-email="${customerEmail}" 774 data-name_cust="${value.name_cust}" 775 data-cust_code="${value.cust_code}" 776 data-no_handphone="${value.no_handphone}" 777 data-address_cust="${value.address_cust}" 778 data-dtl_address_cust="${value.dtl_address_cust}" 779 data-village_cust="${customer.village_cust}" 780 data-district_cust="${value.district_cust}" 781 data-regency_cust="${value.regency_cust}" 782 data-province_cust="${value.province_cust}" 783 data-postcode_cust="${value.postcode_cust}" 784 data-latitude="${value.latitude}" 785 data-longitude="${value.longitude}" 786 value="${value.name_cust}"> 787 <strong>${value.name_cust} | ${value.no_handphone}</strong> 788 </h5> 789 ${value.dtl_address_cust}, ${value.address_cust} | ${value.district_cust} - ${value.regency_cust} - ${value.province_cust}, ${value.postcode_cust} 790 <a href="#" class="btn btn-link pull-right p-0" id="edit_address" data-id="${value.id_customer}">Ubah</a> 791 </div> 792 </div> 793 `; 794 795 if (containerLeft < containerRight) { 796 containerLeft += 1 797 $('.masonry-container-left').append(elmCard) 798 } else { 799 containerRight += 1 800 $('.masonry-container-right').append(elmCard) 801 } 802 });
803 $('#notification').modal('hide') 804}) 805$('input[name="adm_area"]').autocomplete({ source: function (request, response) { $.ajax({ type: 'post', url: "https://www.siniservice.id/Autocomplete/get_administrative_area", dataType: "json", data: { term: request.term }, success: function (data) { response(data) } }) }, minLength: 3, select: function (event, ui) { $('input[name="adm_area"]').val(ui.item.value); $('input[name="province"]').val(ui.item.province); $('input[name="regency"]').val(ui.item.regency); $('input[name="district"]').val(ui.item.district); return !1 }, open: function () { $(this).autocomplete("widget").css({ "position": "absolute", "width": 350, "overflow": "hidden auto", "height": 350, "z-index": 9999 }) } }) 806// $(document).on('click', '#setPinPoint', function () { 807// var address = $('input[name="address"]').val(); 808// var adm_area = $('input[name="adm_area"]').val(); 809// var post_code = $('input[name="post_code"]').val(); 810 811// $.ajax({ 812// type: 'POST', 813// url: "https://www.siniservice.id/Api/set_pinPoint_ticket_registration", 814// data: { 815// 'address': address, 816// 'adm_area': adm_area, 817// 'post_code': post_code 818// }, 819// beforeSend: function () { 820// loader.fadeIn() 821// }, 822// complete: function () { 823// loader.fadeOut() 824// }, 825// success: function (dataRes) { 826// $('#maps-view').html(dataRes) 827// } 828// }) 829// }) 830$(document).on('click', '#registration_form_ticket #setPinPoint', function () { 831 const province = window.province 832 const regency = window.regency 833 const district = window.district 834 const village = window.village 835 const postCode = window.post_code 836 837 var validator = $("#registration_form_ticket").validate({ 838 rules: { 839 address: { 840 required: true 841 }, 842 province: { 843 required: true 844 }, 845 regency: { 846 required: true 847 }, 848 district: { 849 required: true 850 }, 851 village: { 852 required: true 853 }, 854 post_code: { 855 required: true, 856 digits: true 857 } 858 }, 859 messages: { 860 address: "Alamat wajib diisi", 861 province: "Provinsi wajib dipilih", 862 regency: "Kabupaten/Kota wajib dipilih", 863 district: "Kecamatan wajib dipilih", 864 village: "Kelurahan wajib dipilih", 865 post_code: "Kode Pos wajib diisi dengan angka" 866 }, 867 errorPlacement: function (error, element) { 868 869 let tsWrapper = element.siblings('.ts-wrapper'); 870 871 if (tsWrapper.length) { 872 error.insertAfter(tsWrapper); 873 } else { 874 error.insertAfter(element); 875 } 876 }, 877 success: function (label) { 878 label.remove(); 879 } 880 }); 881 882 let valid = true; 883 valid = validator.element("[name='address']") && valid; 884 valid = validator.element("[name='province']") && valid; 885 valid = validator.element("[name='regency']") && valid; 886 valid = validator.element("[name='district']") && valid; 887 valid = validator.element("[name='village']") && valid; 888 valid = validator.element("[name='post_code']") && valid; 889 890 891 if (!valid) { 892 $('#maps-view').html("<p class='text-danger'>Harap lengkapi alamat, provinsi, kabupaten/kota, kecamatan, kelurahan dan kode pos</p>"); 893 return; 894 } 895 896 var address = $('#registration_form_ticket input[name="address"]').val(); 897 const adm_area = `${village}, ${district}, ${regency}, ${province}`; 898 var post_code = $('#registration_form_ticket input[name="post_code"]').val(); 899 900 if (!address) { 901 $('#maps-view').html("<p class='text-danger'>Pastikan Alamat sudah terisi!</p>"); 902 // highlight the address input field to indicate it's required 903 $('#registration_form_ticket input[name="address"]').addClass('is-invalid'); 904 return; 905 } 906 907 $.ajax({
908 type: 'POST', 909 url: "https://www.siniservice.id/Api/set_pinPoint_ticket_registration", 910 data: { 911 'address': address, 912 'adm_area': adm_area, 913 'post_code': postCode 914 }, 915 beforeSend: function () { 916 loader.fadeIn() 917 }, 918 complete: function () { 919 loader.fadeOut() 920 }, 921 success: function (dataRes) { 922 $('#maps-view').html(dataRes) 923 } 924 }) 925}) 926 927$(document).on('click', '#form_address .setPinPoint', function () { 928 const province = window.modal_province 929 const regency = window.modal_regency 930 const district = window.modal_district 931 const village = window.modal_village 932 const postCode = window.modal_post_code 933 934 var validator = $("#form_address").validate({ 935 rules: { 936 address: { 937 required: true 938 }, 939 province: { 940 required: true 941 }, 942 regency: { 943 required: true 944 }, 945 district: { 946 required: true 947 }, 948 village: { 949 required: true 950 }, 951 post_code: { 952 required: true, 953 digits: true 954 } 955 }, 956 messages: { 957 address: "Alamat wajib diisi", 958 province: "Provinsi wajib dipilih", 959 regency: "Kabupaten/Kota wajib dipilih", 960 district: "Kecamatan wajib dipilih", 961 village: "Kelurahan wajib dipilih", 962 post_code: "Kode Pos wajib diisi dengan angka" 963 }, 964 errorPlacement: function (error, element) { 965 966 if (element.hasClass("ts-hidden-accessible")) { 967 error.insertAfter(element.parent().find(".ts-wrapper")); 968 } else { 969 error.insertAfter(element); 970 } 971 }, 972 success: function (label) { 973 label.remove(); 974 } 975 }); 976 977 let valid = true; 978 979 valid = validator.element("#form_address [name='province']") && valid; 980 valid = validator.element("#form_address [name='regency']") && valid; 981 valid = validator.element("#form_address [name='district']") && valid; 982 valid = validator.element("#form_address [name='village']") && valid; 983 valid = validator.element("#form_address [name='post_code']") && valid; 984 valid = validator.element("#form_address [name='address']") && valid; 985 986 if (!valid) { 987 $('#form_address .maps-view').html("<p class='text-danger'>Harap lengkapi alamat, provinsi, kabupaten/kota, kecamatan, kelurahan dan kode pos</p>"); 988 return; 989 } 990 991 var address = $('#form_address input[name="address"]').val(); 992 const adm_area = `${village}, ${district}, ${regency}, ${province}`; 993 var post_code = $('#form_address input[name="post_code"]').val(); 994 995 if (!address) { 996 $('#form_address .maps-view').html("<p class='text-danger'>Pastikan Alamat sudah terisi!</p>"); 997 // highlight the address input field to indicate it's required 998 $('#form_address input[name="address"]').addClass('is-invalid'); 999 return; 1000 } 1001 1002 $.ajax({
1003 type: 'POST', 1004 url: "https://www.siniservice.id/Api/set_pinPoint_ticket_registration", 1005 data: { 1006 'address': address, 1007 'adm_area': adm_area, 1008 'post_code': postCode 1009 }, 1010 beforeSend: function () { 1011 loader.fadeIn() 1012 }, 1013 complete: function () { 1014 loader.fadeOut() 1015 }, 1016 success: function (dataRes) { 1017 $('#form_address .maps-view').html(dataRes) 1018 } 1019 }) 1020}) 1021 1022$("#registration_form_ticket input[name=serial_number]").on("change", function () { 1023 var serial_number = $(this).val(); $.ajax({ 1024 type: "POST", url: "https://www.siniservice.id/api/check-serial-number", data: { serial_number: serial_number }, dataType: "json", success: function (res) { 1025 if (res.status === 'success') { $("#registration_form_ticket input[name=nama_mesin]").val(res.data.nama_mesin); $("#registration_form_ticket input[name=nomor_garansi]").val(res.data.nomor_garansi); $('#registration_form_ticket input[name="brand"]').val(res.data.brand) } 1026 return 1027 } 1028 }) 1029}); 1030$('#registration_form_ticket input[name="nama_mesin"]').autocomplete({ source: function (request, response) { $.ajax({ type: 'post', url: "https://www.siniservice.id/Autocomplete/get_all_product", dataType: "json", data: { term: request.term }, success: function (data) { response(data) } }) }, minLength: 3, select: function (event, ui) { $('#registration_form_ticket input[name="nama_mesin"]').val(ui.item.value); $('#registration_form_ticket input[name="brand"]').val(ui.item.brand); return !1 } }) 1031 1032// $('#form-warranty-0 input[name="nama_produk"]').autocomplete({ 1033// source: function (request, response) { 1034// $.ajax({
1035// type: 'post', 1036// url: "https://www.siniservice.id/Autocomplete/get_all_product", 1037// dataType: "json", 1038// data: { term: request.term }, 1039// success: function (data) { response(data) } 1040// }) 1041// }, 1042// minLength: 3, 1043// select: function (event, ui) { 1044// $('#form-warranty-0 input[name="nama_produk"]').val(ui.item.value); 1045// $('#form-warranty-0 input[name="brand"]').val(ui.item.brand); 1046// return !1 1047// } 1048// }) 1049$(document).on('click', '#add_address', function () { $('#mdl_address').modal('show'); $('#myModalLabel').html('<strong>Tambah Alamat</strong>'); var validator = $("#form_address").validate(); validator.resetForm(); $('#form_address input[name="id_customer"]').val(''); $('#form_address input[name="cust_code"]').val(customer.cust_code); $('#form_address input[name="name"]').val(''); $('#form_address input[name="nomor_handphone"]').val(''); $('#form_address input[name="address"]').val(''); $('#form_address input[name="adm_area"]').val(''); $('#form_address input[name="province"]').val(''); $('#form_address input[name="regency"]').val(''); $('#form_address input[name="district"]').val(''); $('#form_address input[name="post_code"]').val(''); $('#form_address input[name="dtl_address"]').val(''); $('#maps-view').html('') }); $(document).on('click', '#edit_address', function () { var id_customer = $(this).data('id'); var result = $.grep(daftar_alamat, function (obj) { return obj.id_customer == id_customer }); $('#myModalLabel').html('<strong>Edit Alamat'); $('#mdl_address').modal('show');
1049 var validator = $("#form_address").validate(); validator.resetForm(); $('#form_address input[name="id_customer"]').val(result[0].id_customer); $('#form_address input[name="cust_code"]').val(result[0].cust_code); $('#form_address input[name="name"]').val(result[0].name_cust); $('#form_address input[name="nomor_handphone"]').val(result[0].no_handphone); $('#form_address input[name="address"]').val(result[0].address_cust); $('#form_address input[name="adm_area"]').val(result[0].district_cust + ', ' + result[0].regency_cust + ', ' + result[0].province_cust); $('#form_address input[name="province"]').val(result[0].province_cust); $('#form_address input[name="regency"]').val(result[0].regency_cust); $('#form_address input[name="district"]').val(result[0].district_cust); $('#form_address input[name="post_code"]').val(result[0].postcode_cust); $('#form_address input[name="dtl_address"]').val(result[0].dtl_address_cust); $('#maps-view').html('') }) 1050// $('#form_address').validate({ 1051// rules: { 1052// name: { required: !0 }, 1053// nomor_handphone: { 1054// required: !0, 1055// digits: !0 1056// }, 1057// address: { required: !0 }, 1058// adm_area: { required: !0 }, 1059// post_code: { 1060// required: !0, 1061// digits: !0 1062// }, 1063// }, 1064// messages: { 1065// name: "Nama wajib diisi", 1066// nomor_handphone: "Nomor HP wajib diisi dengan angka", 1067// address: "Alamat wajib diisi", 1068// adm_area: "Wilayah administrasi wajib diisi", 1069// post_code: "Kode pos wajib diisi dan angka", 1070// }, 1071// errorElement: 'span', 1072// errorClass: 'text-danger', 1073// highlight: function (element) { 1074// $(element).closest('.form-control').addClass('is-invalid') 1075// }, 1076// unhighlight: function (element) { 1077// $(element).closest('.form-control').removeClass('is-invalid') 1078// } 1079// }); 1080$(document).on("click", "#form_address button[type=submit]", function (e) { 1081 e.preventDefault(); 1082 let form = $('#form_address'); 1083 if (form.valid()) { 1084 var url_to = 'https://www.siniservice.id/Api/submitAddress'; 1085 var fd = new FormData($('#form_address')[0]); 1086 if ($('#form_address input[name=cust_code]').val() !== '') { 1087 if ($('#form_address input[name=id_customer]').val() !== '') { fd.append('id_customer', $('#form_address input[name=id_customer]').val()) } 1088 fd.append('cust_code', $('#form_address input[name="cust_code"]').val()); 1089 fd.append('name', $('#form_address input[name="name"]').val()); 1090 fd.append('nomor_handphone', $('#form_address input[name="nomor_handphone"]').val()); 1091 fd.append('address', $('#form_address input[name="address"]').val()); 1092 fd.append('dtl_address', $('#form_address input[name="dtl_address"]').val()); 1093 fd.append('village', window.modal_village); 1094 fd.append('province', window.modal_province); 1095 fd.append('regency', window.modal_regency); 1096 fd.append('district', window.modal_district); 1097 fd.append('post_code', window.modal_post_code); 1098 fd.append('latitude', $('input[name="latitude"]').val() ?? ''); 1099 fd.append('longitude', $('input[name="longitude"]').val() ?? '') 1100 } 1101 $.ajax({
1102 type: "POST", 1103 url: url_to, 1104 data: fd, 1105 contentType: !1, 1106 processData: !1, 1107 cache: !1, 1108 async: !0, 1109 beforeSend: function () { loader.fadeIn() }, 1110 complete: function () { loader.fadeOut() }, 1111 success: function (res) { 1112 if (res.status === 'success') { 1113 if (res.data) { daftar_alamat = res.data.alamat } 1114 $('#notification_label').text('Berhasil'); $('#notification_body').text('Alamat Customer berhasil disimpan!'); $('#notification_footer').html(` 1115 <button type="button" class="btn btn-primary" id="exist_customer">Ok</button> 1116 `); $('#mdl_address').modal('hide'); $('#notification').modal('show') 1117 } else { 1118 $('#notification_label').text('Gagal'); $('#notification_body').text('Alamat tidak disimpan!'); $('#notification_footer').html(` 1119 <button type="button" class="btn btn-primary" data-dismiss="modal">Ok</button> 1120 `); $('#notification').modal('show') 1121 } 1122 }, error: function (xhr, status, error) { if (xhr.status === 400 || xhr.status === 422) { let res = JSON.parse(xhr.responseText); if (res.errors) { let formattedErrors = {}; $.each(res.errors, function (field, message) { formattedErrors[field] = message }); form.validate().showErrors(formattedErrors) } } else { console.error('Error lain:', xhr.status, error); alert('Terjadi kesalahan: ' + xhr.status) } } 1123 }) 1124 } 1125}) 1126$(document).on("click", "#saveTicket", function () { 1127 var aa = $("#registration_form_ticket"); 1128 aa.validate({ 1129 ignore: [], 1130 rules: { 1131 machine_type: { 1132 required: true 1133 }, 1134 service_type: { 1135 required: true 1136 }, 1137 email: { 1138 required: !0, 1139 remote: { 1140 type: "POST", 1141 url: "https://www.siniservice.id/Landing_Page/validation_registration_form", 1142 data: { 1143 label: 'email', 1144 value: function () { 1145 return $("input[name=email]", aa).val() 1146 } 1147 } 1148 } 1149 }, 1150 nomor_handphone: { 1151 required: !0, 1152 remote: { 1153 type: "POST", 1154 url: "https://www.siniservice.id/Landing_Page/validation_registration_form", 1155 data: { 1156 label: 'nomor_handphone', 1157 value: function () { 1158 return $("input[name=nomor_handphone]", aa).val() 1159 } 1160 } 1161 } 1162 }, 1163 }, 1164 messages: { 1165 machine_type: { 1166 required: "Silahkan pilih jenis mesin" 1167 }, 1168 service_type: { 1169 required: "Silahkan pilih jenis service" 1170 }, 1171 email: { 1172 remote: 'Email sudah terdaftar.' 1173 }, 1174 nomor_handphone: { 1175 remote: 'Nomor sudah terdaftar.' 1176 } 1177 }, 1178 errorPlacement: function (error, element) { 1179 if (element.attr("name") == "machine_type") { 1180 error.appendTo("#machine_type_container"); 1181 } else if (element.attr("name") == "service_type") { 1182 error.appendTo("#service_type_container"); 1183 } else { 1184 error.insertAfter(element); 1185 } 1186 }, 1187 }) 1188 1189 1190 if (aa.valid()) { 1191 // manual validate machine_type 1192 if ($('#registration_form_ticket input[name=machine_type]:checked').length === 0) { 1193 $('#machine_type_container').append('<label id="machine_type-error"
1193class="error" for="machine_type" style="display: block;">Silahkan pilih jenis mesin</label>'); 1194 // scroll to the error message 1195 $('html, body').animate({ 1196 scrollTop: $("#machine_type_container").offset().top - 100 1197 }, 500); 1198 return false; 1199 } 1200 1201 // manual validate service_type 1202 if ($('#registration_form_ticket input[name=service_type]:checked').length === 0) { 1203 $('#service_type_container').append('<label id="service_type-error" class="error" for="service_type" style="display: block;">Silahkan pilih jenis service</label>'); 1204 // scroll to the error message 1205 $('html, body').animate({ 1206 scrollTop: $("#service_type_container").offset().top - 100 1207 }, 500); 1208 return false; 1209 } 1210 1211 // manual validate layanan_service 1212 if ($('#registration_form_ticket input[name=layanan_service]:checked').length === 0) { 1213 $('#layanan_service_container').append('<label id="layanan_service-error" class="error" for="layanan_service" style="display: block;">Silahkan pilih layanan service</label>'); 1214 // scroll to the error message 1215 $('html, body').animate({ 1216 scrollTop: $("#layanan_service_container").offset().top - 100 1217 }, 500); 1218 return false; 1219 } 1220 var fd = new FormData($('#registration_form_ticket')[0]); 1221 if ($('input[name=cust_code]').val() !== '') { 1222 fd.append('name', $('input[name="data_cust"]:checked').data("name_cust")); 1223 fd.append('nomor_handphone', $('input[name="data_cust"]:checked').data("no_handphone")); 1224 fd.append('address', $('input[name="data_cust"]:checked').data("address_cust")); 1225 fd.append('dtl_address', $('input[name="data_cust"]:checked').data("dtl_address_cust")); 1226 fd.append('province', $('input[name="data_cust"]:checked').data("province_cust")); 1227 fd.append('regency', $('input[name="data_cust"]:checked').data("regency_cust")); 1228 fd.append('district', $('input[name="data_cust"]:checked').data("district_cust")); 1229 fd.append('post_code', $('input[name="data_cust"]:checked').data("postcode_cust"));
1230 fd.append('latitude', $('input[name="data_cust"]:checked').data("latitude")); 1231 fd.append('longitude', $('input[name="data_cust"]:checked').data("longitude")) 1232 } else { 1233 fd.append('province', window.province) 1234 fd.append('district', window.district) 1235 fd.append('regency', window.regency) 1236 fd.append('village', window.village) 1237 fd.append('post_code', window.post_code) 1238 } 1239 fd.append('nama_mesin', window.product_name) 1240 fd.append('source', 'fomac') 1241 1242 // jika tidak ada machine_type di form maka append 1243 fd.append('machine_type', $('input[name=machine_type]:checked').val()) 1244 fd.append('service_type', $('input[name=service_type]:checked').val()) 1245 fd.append('layanan_service', $('input[name=layanan_service]:checked').val()) 1246 1247 $.ajax({ 1248 type: "POST", 1249 url: "https://www.siniservice.id/Landing_Page/save_registration_form", 1250 data: fd, 1251 contentType: !1, 1252 processData: !1, 1253 cache: !1, 1254 async: !0, 1255 1256 beforeSend: function () { 1257 $('#registration_form_ticket button[type=submit]').html('<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span> Loading...') 1258 $('#registration_form_ticket button[type=submit]').attr('disabled', true) 1259 loader.fadeIn() 1260 }, 1261 complete: function () { 1262 $('#registration_form_ticket button[type=submit]').attr('disabled', false) 1263 $('#registration_form_ticket button[type=submit]').html('DAFTAR') 1264 loader.fadeOut() 1265 }, 1266 success: function (data) { 1267 var res = JSON.parse(data); 1268 1269 if (res.status === 'success') { 1270 alert("Pendaftaran tiket berhasil dan Email berhasil dikirim! Silahkan cek email anda") 1271 window.location.reload() 1272 1273 } else { 1274 const msg = res.msg ? res.msg : "Gagal. Terjadi kesalahan sistem!"; 1275 1276 alert(msg) 1277 } 1278 }, 1279 error: function (xhr, status, error) { 1280 1281 } 1282 }) 1283 } 1284}); 1285function formatTanggalIndo(datetimeString) { 1286 var date = new Date(datetimeString); 1287 var hari = new Intl.DateTimeFormat('id-ID', 1288 { weekday: 'long' }).format(date); 1289 var tgl = new Intl.DateTimeFormat('id-ID', { day: '2-digit', month: 'short', year: 'numeric' }).format(date); var jam = new Intl.DateTimeFormat('id-ID', { hour: '2-digit', minute: '2-digit', hour12: !1 }).format(date); return `${tgl} - ${hari} ${jam}` 1290} 1291function viewTicketDetail(id_ticket) { 1292 getDataTicket(id_ticket) 1293 $("#ticketListModal").modal("hide") 1294} 1295 1296$(document).on("click", "#check_ticket_service button[type=submit]", function (e) { 1297 e.preventDefault(); 1298 let form = $('#check_ticket_service'); 1299 if (form.valid()) { 1300 getDataTicket(null) 1301 } 1302}) 1303 1304 1305function getDataTicket(id_ticket) { 1306 var url_to = 'https://www.siniservice.id/api/check-status-ticket'; 1307 var fd = new FormData($('#form_address')[0]); 1308 let form = $('#check_ticket_service'); 1309 if (id_ticket) { 1310 fd.append('no_ticket', id_ticket.trim()) 1311 } else { 1312 fd.append('no_ticket', $('#check_ticket_service input[name="no_ticket"]').val().trim()) 1313 } 1314 fd.append('email_or_no_handphone', $('#check_ticket_service input[name="email_or_no_handphone"]').val().trim()) 1315 if ($('#check_ticket_service input[name="email_or_no_handphone"]').val().trim() === '' && !id_ticket === '' && $('#check_ticket_service input[name="no_ticket"]').val().trim() === '') { 1316 $('#check_ticket_service').validate().showErrors({ 'no_ticket': 'No Ticket atau email harus diisi' }) 1317 } 1318 $.ajax({
1319 type: "POST", 1320 url: url_to, 1321 data: fd, 1322 contentType: !1, 1323 processData: !1, 1324 cache: !1, 1325 async: !0, 1326 beforeSend: function () { 1327 loader.fadeIn() 1328 }, 1329 complete: function () { 1330 loader.fadeOut() 1331 }, 1332 success: function (res) { 1333 if (res.status === 'success') { 1334 if (res.data) { 1335 1336 var ticket = res.data.ticket; 1337 if (ticket.length > 0) { 1338 if (ticket.length === 1) { 1339 getDataTicket(ticket[0].id_ticket) 1340 return 1341 } 1342 let html = '<ul class="list-group" style="color: black !important; padding: 0">'; 1343 ticket.forEach((t, i) => { 1344 html += ` 1345 <li class="list-group-item list-group-item-action mb-3 rounded" style="cursor: pointer;" onclick="viewTicketDetail('${t.id_ticket}')"> 1346 <h6 class="mb-1">${t.id_ticket}</h6> 1347 <small>${formatTanggalIndo(t.tanggal)}</small> 1348 <p class="mb-1" style="font-size:14px"><strong>${t.nama_mesin}</strong></p> 1349 </li>`; 1350 }); 1351 html += '</ul>'; 1352 1353 $("#ticketListModal .modal-body").html(html); 1354 $("#ticketListModal").modal("show"); 1355 1356 } else { 1357 1358 var elmCard = ''; 1359 $('#status_detail').html(` 1360 <div class="mt-5"> 1361 <h4><strong>Detail Tiket</strong></h4> 1362 <div class="table-responsive"> 1363 <table class="table table-no-border"> 1364 <tbody> 1365 <tr> 1366 <th>Nomor Tiket</th> 1367 <td>${ticket.id_ticket}</td> 1368 </tr> 1369 <tr> 1370 <th>Nama Customer</th> 1371 <td>${ticket.cust_name}</td> 1372 </tr> 1373 <tr> 1374 <th>Tanggal Tiket</th> 1375 <td>${formatTanggalIndo(ticket.tanggal)}</td> 1376 </tr> 1377 <tr> 1378 <th>Nomor Handphone</th> 1379 <td>${ticket.cust_nomor_handphone}</td> 1380 </tr> 1381 <tr> 1382 <th>Email</th> 1383 <td>${ticket.cust_email}</td> 1384 </tr> 1385 <tr> 1386 <th>Nama Mesin</th> 1387 <td>${ticket.nama_mesin}</td> 1388 </tr> 1389 <tr> 1390 <th>Detail Masalah</th> 1391 <td>${ticket.problem_detail}</td> 1392 </tr> 1393 </tbody> 1394 </table> 1395 </div> 1396 <h4><strong>Histori Tiket</strong></h4> 1397 <div class="timeline"></div> 1398 <!--Start of Chatwoot Script--> 1399 <script> 1400 document.querySelectorAll('iframe').forEach(f => console.log(f.src)); 1401 1402 window.chatwootSettings = { 1403 hideMessageBubble: false, 1404 position: "left", 1405 locale: "id", 1406 type: "expanded_bubble", 1407 launcherTitle: "Chat with us", 1408 showPopoutButton: true 1409 }; 1410 1411 (function(d,t) { 1412 var BASE_URL="https://app.chatwoot.com"; 1413 var g=d.createElement(t),s=d.getElementsByTagName(t)[0]; 1414 g.src=BASE_URL+"/packs/js/sdk.js"; 1415 g.defer = true; 1416 g.async = true; 1417 s.parentNode.insertBefore(g,s); 1418 g.onload=function(){ 1419 window.chatwootSDK.run({ 1420 websiteToken: 'gpKKHecLJsD29EDMNRZHkkSZ', 1421 baseUrl: BASE_URL 1422 }) 1423 } 1424 })(document,"script"); 1425 1426 // Kirim custom attributes setelah Chatwoot siap 1427 window.addEventListener("chatwoot:ready", function () { 1428 window.$chatwoot.setCustomAttributes({ 1429 ticket_id: "${ticket.id_ticket}" 1430 }); 1431 1432 window.$chatwoot.setUser("${ticket.id_ticket}", { 1433 email: "${ticket.cust_email}", 1434 name: "${ticket.cust_name}", 1435 phone_number: "${ticket.cust_nomor_handphone}", 1436 custom_attributes: { 1437 ticket_id: "${ticket.id_ticket}" 1438 } 1439 }); 1440 }); 1441 </script> 1442 <!--End of Chatwoot Script--> 1443 </div>`); 1444 $.each(res.data.tracking, function (index, value) { 1445 elmCard = ` 1446 <div class="timeline-step active"> 1447 <div class="circle"></div> 1448 <div class="title">${value.status}</div> 1449 <div class="date">${formatTanggalIndo(value.tanggal)}</div> 1450 <div class="desc">${value.deskripsi ?? ''}</div> 1451 </div> 1452 `; $('.timeline').append(elmCard) 1453 }); 1454 var lastItem = res.data.tracking[res.data.tracking.length - 1]; 1455 if (lastItem.status !== 'SELESAI') { 1456 $('.timeline').append(`<div class="timeline-step"><div class="circle"></div><div class="title">Dalam Proses</div></div>`) 1457 } 1458 } 1459 1460 } else { 1461 $('#check_ticket_service').validate().showErrors({ 1462 'no_ticket': res.message 1463 }) 1464 $("#status_detail").html('') 1465 } 1466 } else { 1467 $('#check_ticket_service').validate().showErrors({ 'no_ticket': res.message }) 1468 } 1469 }, 1470 error: function (xhr, status, error) { 1471 if (xhr.status === 400 || xhr.status === 422) { 1472 let res = JSON.parse(xhr.responseText); 1473 if (res.errors) { 1474 let formattedErrors = {}; 1475 $.each(res.errors, function (field, message) { 1476 formattedErrors[field] = message 1477 }); 1478 form.validate().showErrors(formattedErrors) 1479 } 1480 } else { 1481 console.error('Error lain:', xhr.status, error); 1482 alert('Terjadi kesalahan: ' + xhr.status) 1483 } 1484 } 1485 }) 1486}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.