var base64; var ddls; $(function () { if (!Array.prototype.filter) { Array.prototype.filter = function (fun /*, thisp */) { "use strict"; if (this === null) throw new TypeError(); var t = Object(this); var len = t.length >>> 0; if (typeof fun !== "function") throw new TypeError(); var res = []; var thisp = arguments[1]; for (var i = 0; i < len; i++) { if (i in t) { var val = t[i]; // in case fun mutates this if (fun.call(thisp, val, i, t)) res.push(val); } } return res; }; } const swalz = Swal.mixin({ showClass: { popup: 'animated fadeInDown faster' }, hideClass: { popup: 'animated fadeOutUp faster' } }); //欄位名對應 var fields = { 'cProductModel_ID': '產品型號', 'cOrder_SN': '訂單編號', 'cProduct_IMEI': '產品IMEI', 'cProduct_SN': '產品S/N', 'cChannel_ID': '購買通路', 'cBookStore_ID': '取貨門市', 'cInvoice_No': '發票號碼', 'cInvoice_Date': '憑證/發票日期', 'cUser_Identification': '身分證字號', 'cUser_Nationality': '籍別', 'cUser_Name': '姓名', 'cUser_Sex': '性別', 'cUser_EMail': 'E-mail', 'cUser_Birthday': '出生日期', 'cUser_Phone': '聯絡電話', 'district': '縣市/鄉鎮區域', 'cUser_Address': '到府服務地址', 'cReserve_Date': '預約日期', 'cReserve_DemandType': '需求類別', 'cReserve_DemandDesc': '需求簡述', 'cUsed_Brand': '手機品牌', 'cUsed_Model': '手機型號', 'cUsed_Other': '其他手機品牌/型號', 'cUser_Type': '您是否為預購消費者' }; if (id('aBtn')) { //step1.登錄表單填寫 $("input[name=cInvoice_Date]").attr('readonly', true).datepicker({ format: "yyyy/mm/dd", changeMonth: true, changeYear: true, showButtonPanel: true, startDate: $("input[name=cInvoice_Date]").data("e") == undefined ? "-3m" : $("input[name=cInvoice_Date]").data("e"), endDate: new Date() }); $("select[name=cCollectUpper_ID]").change(function () { //分類 if ($("select[name=cCollectUpper_ID]").val() !== "") { $("select[name=cProductCollect_ID],select[name=cProductModel_ID]").find('option:not(:eq(0))').remove(); $('select[name=cProductCollect_ID_Temp] option[data-u=' + $("select[name=cCollectUpper_ID]").val() + ']').clone().appendTo('select[name=cProductCollect_ID]'); } }); if ($("select[name=cCollectUpper_ID]").val() !== "") { $("select[name=cCollectUpper_ID]").trigger('change'); } $("select[name=cProductCollect_ID]").change(function () { //次分類 if ($("select[name=cProductCollect_ID]").val() !== "") { $("select[name=cProductModel_ID]").find('option:not(:eq(0))').remove(); $('select[name=cProductModel_ID_Temp] option[data-u=' + $("select[name=cProductCollect_ID]").val() + ']').clone().appendTo('select[name=cProductModel_ID]'); } }); if ($("select[name=cProductCollect_ID]").val() !== "") { $("select[name=cProductCollect_ID]").trigger('change'); } //產品型號選擇, 連動通路,問券 $("select[name=cProductModel_ID]").change(function () { var p = $("select[name=cProductModel_ID]").val().toLowerCase(); var t = $("select[name=cProductModel_ID] option:selected").data("t"); var c = $("select[name=cProductModel_ID] option:selected").data("c");//class: LTE, WIFI var i = $("select[name=cProductModel_ID] option:selected").data("i"); //SN長度 console.log(p + '=p;' + t + '=t;' + c + '=c;' + i + '=i;'); $('select[name=cChannel_ID]').find('option:not(:eq(0))').remove().val(''); $('select[name=cChannel_ID_Temp] option[data-i*=' + p + '],select[name=cChannel_ID_Temp] option[data-i=XX]').clone().appendTo('select[name=cChannel_ID]'); $("input[name=cProduct_SN]").attr("maxlength", i); if ($("input[name=cProduct_SN]").val().length != i) $("input[name=cProduct_SN]").val(''); if (t === 5) { //家電要發票 $(".chltxt").text("購買經銷商"); $('select[name=cChannel_ID] option:eq(0)').text("選擇購買經銷商"); //$('.invoBox').removeClass("hide"); //$("input[name=cInvoice_No],input[name=cInvoice_Date]").attr({ 'required': true }); } else { $(".chltxt").text("購買通路"); $('select[name=cChannel_ID] option:eq(0)').text("選擇購買通路"); //$('.invoBox').addClass("hide"); //$("input[name=cInvoice_No],input[name=cInvoice_Date]").removeAttr('required').val(''); } $(".tusnBox").removeClass("hide").addClass("hide"); //先全部隱藏 var tusnBox = "#mn"; if (c === 'WIFI') { $(".imeiBox").addClass("hide"); $("input[name=cProduct_IMEI]").attr({ 'disabled': true }).removeAttr('required').val(''); $("input[name=cProduct_SN]").next('a').find('span').html('SN查詢教學'); if (parseFloat(t) < 5) { //非家電 if (t === 4) { tusnBox = "#mn4_wifi"; } else { tusnBox = "#mn1_wifi"; } } else { tusnBox = "#mn" + t; } $(tusnBox).removeClass("hide"); //if (t === 5) { // $("#mn5").removeClass("hide"); //} else if (t === 4) { // $("#mn4_wifi").removeClass("hide"); //} else { // $("#mn1_wifi").removeClass("hide"); //} } else { $("input[name=cProduct_IMEI]").attr({ 'required': true }).removeAttr('disabled'); $("input[name=cProduct_SN]").next('a').find('span').html('IMEI/SN查詢教學'); if (parseFloat(t) < 5) { //非家電 if (t === 4) { tusnBox = "#mn4_lte"; } else { tusnBox = "#mn1_lte"; } } else { tusnBox = "#mn" + t; } $(tusnBox + ", .imeiBox").removeClass("hide"); } if ($("select[name=cUsed_Brand_Temp]").length > 0) { if (t <= 4) { $('.suvBox').removeClass("hide"); $(".usedb").text("平板"); if (t === 3) t = 2; if (t === 4) t = 3; if (t === 1) { $(".usedb").text("手機"); } else if (t === 3) { $(".usedb").text("穿戴"); } $('select[name=cUsed_Brand],select[name=cUsed_Model]').find('option:not(:eq(0))').remove().val(''); $('select[name=cUsed_Brand_Temp] option[data-t=' + t + ']').clone().appendTo('select[name=cUsed_Brand]'); $("select[name=cUsed_Brand_Temp]").find('option:last').clone().appendTo('select[name=cUsed_Brand]'); if (t == 2) { $("select[name=cUsed_Brand_Temp]").find('option:eq(-2)').clone().appendTo('select[name=cUsed_Brand]'); } } else { $('.suvBox').addClass("hide"); } } }); if ($("select[name=cProductModel_ID]").val() !== "") { $("select[name=cProductModel_ID]").trigger('change'); } //通路, 若有則連動購物金平台 $("select[name=cChannel_ID]").change(function () { var t = $('select[name=cChannel_ID] option:selected').data("t"); $("input[name=cOrder_SN]").attr('disabled', true).removeAttr('required data-validate').val(''); if (t === 2 || t === 4) { //網路 $("input[name=cOrder_SN]").attr({ 'required': true, 'data-validate': 'X' }).removeAttr('disabled').val($("input[name=cOrder_SN]").data("d")); } }); if ($("select[name=cChannel_ID]").val() !== "") { $("select[name=cChannel_ID]").trigger('change'); } //假如可補件 $("input[name=cIsPacthDoc]").click(function () { //console.log($(this).prop('checked')); if ($(this).prop('checked') == true) { $("input[name=cProduct_SN]").attr({ 'disabled': true }).removeAttr('required'); if (!$(".imei").hasClass('hide')) { $("input[name=cProduct_IMEI]").attr({ 'disabled': true }).removeAttr('required'); } } else { $("input[name=cProduct_SN]").attr({ 'required': true }).removeAttr('disabled'); if (!$(".imei").hasClass('hide')) { $("input[name=cProduct_IMEI]").attr({ 'required': true }).removeAttr('disabled'); } } }); $("select[name=cUsed_Brand]").change(function () { //手機品牌 var o = $('select[name=cUsed_Brand] option:selected').data("o"); var t = $('select[name=cUsed_Brand] option:selected').data("t"); //console.log(t); if (o === "X") { $("input[name=cUsed_Other]").val($("input[name=cUsed_Other]").data("d")).removeClass('hide').attr('required', true); $("select[name=cUsed_Model]").val('').find('option:not(:eq(0))').remove().end().removeAttr('required').attr('disabled', true); } else if (o === "XX") { $("input[name=cUsed_Other]").val($("input[name=cUsed_Other]").data("d")).removeAttr("required").addClass('hide'); $("select[name=cUsed_Model]").val('').find('option:not(:eq(0))').remove().end().removeAttr('required').attr('disabled', true); } else { $("input[name=cUsed_Other]").val($("input[name=cUsed_Other]").data("d")).removeAttr("required").addClass('hide'); $("select[name=cUsed_Model]").find('option:not(:eq(0))').remove().end().removeAttr("disabled").removeAttr("required"); if ($("select[name=cUsed_Brand]").val() !== "") { $("select[name=cUsed_Model]").attr('required', true); $('select[name=cUsed_Model_Temp] option[data-t=' + t + $("select[name=cUsed_Brand]").val() + ']').clone().appendTo('select[name=cUsed_Model]'); $("select[name=cUsed_Model_Temp]").find('option:last').clone().appendTo('select[name=cUsed_Model]'); //$('select[name=cUsed_Temp] option[data-t=' + t + $("select[name=cUsed_Brand]").val() + ']').clone().appendTo('select[name=cUsed_Model]'); //$("select[name=cUsed_Temp]").find('option:last').clone().appendTo('select[name=cUsed_Model]'); } } }); if ($("select[name=cUsed_Brand]").val() !== "") { $("select[name=cUsed_Brand]").trigger('change'); } $("select[name=cUsed_Model]").change(function () { //手機品牌 var o = $('select[name=cUsed_Model] option:selected').data("o"); if (o === "X") { $("input[name=cUsed_Other]").val($("input[name=cUsed_Other]").data("d")).removeClass('hide').attr('required', true); } else { $("input[name=cUsed_Other]").val($("input[name=cUsed_Other]").data("d")).addClass('hide').attr('required', false); } }); if ($("select[name=cUsed_Model]").val() !== "") { $("select[name=cUsed_Model]").trigger('change'); } $("#aBtn").click(function (e) { var url = $(this).data("u"); if (!checkEmpty() || !checkFormat()) { e.preventDefault(); e.stopPropagation(); return false; } else { $('html').addClass('loading'); $.post("/api/ajax_mgm.ashx", $("#form1").serialize(), function (data) { if (data.status < 0) { swalz.fire(data.message, "", "error"); $('html').removeClass('loading'); if (data.status == -2) { //驗證MGM失敗 $("input[name=cActivity1_SN]").val(''); } } else { location.replace(url); } }, "json"); } return false; }); } if (id('bBtn')) { //step2.上傳圖檔 //if ($("input[name=cUser_Base64]").val() !== "") { // var image1 = new Image(); // image1.src = $("input[name=cUser_Base64]").val(); // image1.onload = function () { // // access image size here // $(image1).appendTo($('.cUser_Base64')); // $('.cUser_Base64').height(image1.height); // }; //} //if ($("input[name=cAid_Base64]").val() !== "") { // var image2 = new Image(); // image2.src = $("input[name=cAid_Base64]").val(); // image2.onload = function () { // // access image size here // $(image2).appendTo($('.cAid_Base64')); // $('.cAid_Base64').height(image2.height); // }; //} $("#bBtn").click(function () { //確認送出 if ($("input[name=cUser_Base64]").val() === "") { //點過上傳 swalz.fire("請確實上傳發票或訂購單", "", "error"); } else if ($("input[name=chk]").val() === "True" && $("input[name=cAid_Base64]").val() === "") { //點過上傳 swalz.fire("請確實上傳保卡或產品序號截圖", "", "error"); } else { $('html').addClass('loading'); var url = $(this).data("u"); $.post("/api/ajax_mgm.ashx", $("#form1").serialize(), function (data) { if (data.status < 0) { swalz.fire("提醒您", data.message, "error"); $('html').removeClass('loading'); } else { location.replace(url); } }, "json"); } return false; }); } if (id('cBtn')) { //step3.預約資訊 $("#cBtn").click(function (e) { var url = $(this).data("u"); if (!checkEmpty() || !checkFormat()) { e.preventDefault(); e.stopPropagation(); return false; } else { $("input[name=mode]").val('C') $('html').addClass('loading'); $.post("/api/ajax_mgm.ashx", $("#form1").serialize(), function (data) { if (data.status < 0) { swalz.fire(data.message, "", "error"); $('html').removeClass('loading'); } else { location.replace(url); } }, "json"); } return false; }); } if (id('dBtn')) { //step4.完成申請 //要參加, 先記錄意願再轉頁 $("#dBtn").click(function (e) { var url = $(this).data("u"); if (!checkEmpty() || !checkFormat()) { e.preventDefault(); e.stopPropagation(); return false; } else { $('html').addClass('loading'); $.post("/api/ajax_mgm.ashx", $("#form1").serialize(), function (data) { if (data.status < 0) { swalz.fire(data.message, "", "error"); $('html').removeClass('loading'); } else { location.replace(url); } }, "json"); } return false; }); } //分頁 $(document).on("click", "a.page-link", function () { var p = $(this).data('p'); if (p > 0) { $("input[name=pno]").val(p); searchSubmit(); } return false; }); //查詢送出 function searchSubmit() { $('html').addClass('loading'); $.post("api/ajax_mgm.ashx", $("#form1").serialize(), function (data) { $('html').removeClass('loading'); if (data.status <= 0) { swalz.fire(data.message, "", "error"); if (data.status === -99) { location.replace('ce74631e-e3b6-497a-abf4-87e52295d369.aspx'); } } else { $(".table-responsive").empty().html(data.objectz.html); $("nav.pagination-container").empty().html(data.objectz.pages); } }, "json"); }; //export 匯出 $("#printBtn").click(function () { var u = $(this).data("u"); if (u === undefined) { u = "list"; } post_to_url('api/export_' + u + '.ashx', '#form1'); return false; }); function post_to_url(path, thisfrm, method) { method = method || "post"; var form = document.createElement("form"); form.setAttribute("method", method); form.setAttribute("action", path); $(thisfrm).serializeArray().map(function (field, i) { var input = document.createElement('input'); input.type = 'hidden'; input.name = field.name; input.value = field.value; form.appendChild(input); }); document.body.appendChild(form); form.submit(); document.body.removeChild(form); } //檢查格式 function checkFormat() { var message = ''; obj = ''; $('input[data-validate],textarea[data-validate]').each(function (index, element) { // new RegExp('ab+c', 'i'); var regexp = new RegExp($(element).data('validate'), 'i'); if (element.name === 'cOrder_SN' && $(element).data('validate') === 'X') { regexp = new RegExp($('select[name=cChannel_ID] option:selected').data("g"), 'i'); } if (element.name === 'cProduct_SN' && $(element).data('validate') === 'X') { regexp = new RegExp("(\\d|\\w|\\/){" + $('select[name=cProductModel_ID] option:selected').data("i") + "}", 'i'); } var value = $(element).val(); if (value !== '') { //if (element.name === 'cOrder_SN') { // console.log(value); // console.log(regexp); // console.log(regexp.test(value)); //} if (!regexp.test(value)) { message = fields[element.name] + '的格式不正確,請重新輸入'; obj = element.name; return false; } } }); if (message !== '') { $("[name=" + obj + "]").focus(); swalz.fire(message, "", "error"); //alert(message); message = ''; return false; } else { return true; } } //檢查未填的欄位 function checkEmpty() { var flag = true; var obj = '', message = ''; $('input[required]:not([type=radio]):not([type=checkbox]),select[required],textarea[required]').each(function (index, element) { if ($(element).val() === '') { if (element.tagName.toLowerCase() === 'select') { if (fields[element.name] === undefined) { message = '請選擇' + $(element).data('f'); } else { message = '請選擇' + fields[element.name]; } } else { if (fields[element.name] === undefined) { message = '請填寫' + $(element).attr("placeholder"); } else { message = '請填寫' + fields[element.name]; } } obj = element.name; flag = false; return false; } }); if (flag) { $('[type=radio][required],[type=checkbox][required]').each(function (index, element) { var group = $(element).attr('name'); if ($('[name=' + group + ']:checked').length === 0) { if (fields[group] === undefined) { var q = $(element).next().text(); if (q == '') { q = $(element).parent().parent().prev().text(); } message = '請選擇 [' + q + ' ]'; } else { message = '請選擇' + fields[group]; } obj = group; } }); } if (message !== '') { //alert(message); $("[name=" + obj + "]").focus(); swalz.fire(message, "", "warning"); message = ''; return false; } else { return true; } } function readUrl(input) { if (input.files && input.files[0]) { var reader = new FileReader(); reader.onload = function (e) { //var imgData = e.target.result; var imgName = input.files[0].name; input.setAttribute("data-title", imgName); var c = input.getAttribute("data-c"); console.log(c); var image = new Image(); //image.src = e.target.result; getImgData(e.target.result, function (data) { //这里可以使用校正后的图片data了 image.src = data; image.onload = function () { // access image size here if (c == 'upBox1') { $('.upBox1 .file-upload-image').attr("src", data); $('input[name=cUser_Base64]').val(data); } else { $('.upBox2 .file-upload-image').attr("src", data); $('input[name=cAid_Base64]').val(data); } }; }); }; reader.readAsDataURL(input.files[0]); } } window.readUrl = readUrl; //上傳去解析文字 function openUrl(input) { if (input.files && input.files[0]) { var i = $("select[name=cProductModel_ID] option:selected").data("i"); //sn長度 var reader = new FileReader(); reader.onload = function (e) { //var imgData = e.target.result; //image.src = e.target.result; getImgData(e.target.result, function (data) { //这里可以使用校正后的图片data了 $('.uploading').removeClass('hide'); $.post("/api/ajax_ocr.ashx", { snl: i, img: data }, function (data) { $('.uploading').addClass('hide'); if (data.status < 0) { alert('無法解析圖片文字, 請自行輸入'); } else { $("input[name=cProduct_IMEI]").val(data.objectz.imei); $("input[name=cProduct_SN]").val(data.objectz.sn); } }, "json"); }); }; reader.readAsDataURL(input.files[0]); } } window.openUrl = openUrl; function getImgData(img, next) { var image = new Image(); image.onload = function () { var degree = 0, drawWidth, drawHeight; var maxWidth = 2000; drawWidth = this.naturalWidth; drawHeight = this.naturalHeight; //以下改变一下图片大小 var maxSide = Math.max(drawWidth, drawHeight); if (maxSide > maxWidth) { var minSide = Math.min(drawWidth, drawHeight); minSide = minSide / maxSide * maxWidth; maxSide = maxWidth; if (drawWidth > drawHeight) { drawWidth = maxSide; drawHeight = minSide; } else { drawWidth = minSide; drawHeight = maxSide; } } var canvas = document.createElement('canvas'); canvas.width = drawWidth; canvas.height = drawHeight; var context = canvas.getContext('2d'); //context.rotate(degree * Math.PI / 180); context.drawImage(this, 0, 0, drawWidth, drawHeight); //返回校正图片 next(canvas.toDataURL("image/jpeg", .8)); } image.src = img; } }); //----------------------------其它--------------------------------------------------------------------- var setImg = function (i, t) { var imgz = [1, 2, 3, 4, 5, 6, 8, 9, 10, 2, 3, 5, 6, 7, 7, 7, -1]; if (imgz[i - 1] < 0) { $(".exp").hide(); } else { $(".exp").show(); $(".exp-title").text(t + "購買憑證參考"); $(".exp-img img").attr({ "src": "images/shop_" + imgz[i - 1] + ".jpg", "alt": t + "購買憑證參考" }); } } //----------------------------必備--------------------------------------------------------------------- function id(DOM) { return document.getElementById(DOM); } function getParam(name, dvalue) { var AllVars = window.location.search.substring(1); var Vars = AllVars.split("&"); for (i = 0; i < Vars.length; i++) { var Var = Vars[i].split("="); if (Var[0] === name) return Var[1]; } return dvalue; } function trims(s) { //return s.replace(/(^[\s]*)|([\s]*$)/g, ""); return s.replace(/\s+/g, ""); } function isMobDevice() { var isMobile = false; //initiate as false // device detection if (/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0, 4))) isMobile = true; return isMobile; }