let temple_id;
var email = '';
var password = '';
var token = '';
var form_house;
var form_house_order_edit;
$(document).ready(function () {
loadData();
bindPageEvents();
bindModalEvents();
});
//---------取得資料-----------
function loadData() {
//用url判斷廟宇id
let url = window.location.href;
if (url.includes("yonglien")) {
temple_id = 1;
} else if (url.includes("Templeify")) {
temple_id = 1;
} else {
temple_id = 0;
}
if (window.location.pathname.includes("/admin")) {
window.location.href = "admin.html";
}
if (url.indexOf('order_no') > -1 || url.indexOf('user_id') > -1) {
var status = url.split('?')[1].split('&')[2].split('=')[1];
var user_email = url.split('?')[1].split('&')[0].split('=')[1];
if(status=='admin'){
setCookie('email', user_email, 1);
}
}
//取得產品資料給產品介紹及選擇燈種modal
$.ajax({
url: 'api/product.php?temple_id=' + temple_id,
type: 'GET',
success: function (data) {
//產品介紹slider
var html2 = '';
$('#slider_content').empty();
data.forEach(function (product) {
//0:每盞 1:每戶
var category;
if (product.category == '0') {
category = '每盞:';
}else {
category = '每戶:';
}
var html1 = '';
html1 += '
';
html1 += '
';
html1 += '
';
html1 += '
';
html1 += '
' + product.name + '
';
//html += '
';
//html += '
2023 癸卯年限定
';
html1 += '
' + category + product.price + '
';
//html += '
';
//html += '
' + product.description + '
';
html1 += '
';
html1 += '
';
html1 += '
';
$('#slider_content').append(html1);
if(data.indexOf(product) == 0){
html2 += '';
}else{
html2 += '';
}
});
var html = '';
html += '';
html += '
';
html += '
';
html += '
';
html += '
' + '添香油' + '
';
html += '
' + '隨緣樂助' + '
';
html += '
';
html += '
';
html += '
';
$('#slider_content').append(html);
$('.w-slider-nav').html(html2);
//Webflow.require('slider').redraw();
$('.right-arrow, .left-arrow, .slide-nav').hide();
//選擇燈種modal
var html = '';
data.forEach(function (product) {
html += '';
});
$('#modal_select_light .modal-form').html(html);
},
error: function () {
alert('Failed to retrieve product.');
}
});
email = getCookie('email');
password = getCookie('password');
if (email != '') {
$('#nav_default').hide();
$('#nav_logged_in').css('display', 'flex');
$('#input_pay_email').val(email);
loadFamilyData('#modal_family_data .form-house-wrapper');
if (payToken != '0') {}
else {
loadOrderData();
}
}
if (url.indexOf('user_id') > -1) {
var user_email = url.split('?')[1].split('&')[0].split('=')[1];
var user_id = url.split('?')[1].split('&')[1].split('=')[1];
if(user_email = getCookie('email')){
var status = url.split('?')[1].split('&')[2].split('=')[1];
if(status == 'admin'){
$('.main-wrapper, .footer, #nav-quick-buy-2, #nav-messenger-2').hide();
$('#nav-account-data').remove();
$('#button_resend_order').show();
setTimeout(function(){
$('#nav-family-data').click();
}, 100);
}
}
}
urlLoadOrder();
disablePay();
disableFamilyData();
}
function disablePay() {
$('#input_pay_email').attr('disabled', true);
$('#input_pay_name').attr('disabled', true);
$('#input_pay_phone').attr('disabled', true);
$('#input_pay_note').attr('disabled', true);
$('input[name=radio_pay]').attr('disabled', true);
$('.section_pay .input, .section_pay .input-amount, .section_pay .input-textarea').css('background-color', '#eee');
$('#button-send-pay').css('background-color', '#ddd');
$('#button-send-pay').css('pointer-events', 'none');
}
function disableFamilyData(){
$('.section_buy input').attr('disabled', true);
$('.section_buy a').css('background-color', '#eee');
$('.section_buy a[name=button-new-family-member], .section_buy a[name=button-edit-family], .section_buy a[name=button-new-family], .section_buy #button-confirm-buy').css('background-color', '#ddd');
$('.section_buy a').parent().css('pointer-events', 'none');
$('.section_buy .input, .section_buy .input-yellow').css('background-color', '#eee');
}
//取得資料-家人資料
function loadFamilyData(form_house_wrapper) {
//console.log(email);
//讀取家人資料
var familyData = {
type: 'get_family_member',
email: email
};
$.ajax({
url: 'api/familyMember.php',
type: 'GET',
data: familyData,
success: function (data) {
//console.log(data);
var family_data_detail = data;
if (family_data_detail.length == 0) {
return;
}
//clone form-house
var form_house = $(form_house_wrapper + ' .form-house').clone();
//clone family-member
var family_member = form_house.find('div[form-input="family-member"]').clone();
//清空form-house
$(form_house_wrapper).find('.form-house').remove();
for (var i = 0; i < family_data_detail.length; i++) {
//比對地址,若相同則將家人資料填入
var address = family_data_detail[i].address;
var isExist = false;
$(form_house_wrapper + ' .form-house').each(function () {
if ($(this).find('input[text-input="address"]').val() == address) {
$(this).find('.form-family-input').append(family_member.clone());
$(this).find('a[name="btn_household_head"]').show();
if(family_data_detail[i].is_household_head == '1'){
$(this).find('.form-family-input div[form-input="family-member"]:last').find('a[name="btn_household_head"]').text('戶長').css('background-color', '#eba900');
}
$(this).attr('id', 'family-' + $(this).closest('.form-house').attr('id').split('-')[1] + '-member-' + (i + 1));
$(this).find('.form-family-input div[form-input="family-member"]:last').find('input[text-input="name"]').val(family_data_detail[i].name);
$(this).find('.form-family-input div[form-input="family-member"]:last').find('input[type="radio"]').attr('name', form_house_wrapper + 'radio-' + $(this).attr('id').split('-')[1] + "-" + (i + 1));
if(family_data_detail[i].gender == '1') {
$(this).find('.form-family-input div[form-input="family-member"]:last').find('div[radio-input="gender"] input:first').click();
}else {
$(this).find('.form-family-input div[form-input="family-member"]:last').find('div[radio-input="gender"] input:last').click();
}
$(this).find('.form-family-input div[form-input="family-member"]:last').find('a[select-button="date"] div:first').text(family_data_detail[i].birthday);
isExist = true;
}
});
//地址不存在
if (!isExist) {
//新增form-house
if(form_house_wrapper=='.form-buy-content'){
$(form_house_wrapper).parent().find('a[name="button-new-family"').parent().before(form_house.clone());
}else{
$(form_house_wrapper).append(form_house.clone());
}
if(family_data_detail[i].is_household_head == '1'){
$(form_house_wrapper + ' .form-house:last').find('a[name="btn_household_head"]').text('戶長').css('background-color', '#eba900');
}
$(form_house_wrapper + ' .form-house:last').find('input[text-input="address"]').val(address);
//console.log($(form_house_wrapper + ' .form-house:last').find('input[text-input="address"]').val());
$(form_house_wrapper + ' .form-house:last').find('input[text-input="name"]').val(family_data_detail[i].name);
var newFamilyCount = $(form_house_wrapper).find('.form-house').length;
$(form_house_wrapper + ' .form-house:last').find('input[type="radio"]').attr('name', form_house_wrapper + 'radio-' + newFamilyCount + "-1");
if(family_data_detail[i].gender == '1') {
$(form_house_wrapper + ' .form-house:last').find('div[radio-input="gender"] input:first').click();
}else {
$(form_house_wrapper + ' .form-house:last').find('div[radio-input="gender"] input:last').click();
}
$(form_house_wrapper + ' .form-house:last').find('a[select-button="date"] div:first').text(family_data_detail[i].birthday);
}
}
//border變色
$(form_house_wrapper + ' .input, #modal_family_data .input-textarea').each(function () {
if ($(this).find('input').val() != '') {
$(this).css('border-color', '#BBBBBB');
}
});
//日期設定
$(form_house_wrapper + ' div[form-input="family-member"]').each(function () {
$(this).find('a[select-button="date"] div:first').removeClass('is-grey');
var year = parseInt($(this).find('a[select-button="date"] div:first').text().split('年')[0]);
var month = parseInt($(this).find('a[select-button="date"] div:first').text().split('年')[1].split('月')[0]);
var day = parseInt($(this).find('a[select-button="date"] div:first').text().split('月')[1].split('日')[0]);
var ShiChen = $(this).find('a[select-button="date"] div:first').text().split('日')[1].split('時')[0].replace(/\s+/g, '');
var time = getHourFromShiChen(ShiChen);
$(this).find('a[select-button="date"]').data('data-date', year + ',' + month + ',' + day + ',' + time);
$(this).find('a[select-button="date"] div:last').remove();
});
//加入id
$(form_house_wrapper).find('.form-house').each(function (i) {
$(this).attr('id', 'family-' + (i + 1));
var houseNumber = i + 1;
$(this).find('.input label:first').children('label').children('label:first').text('第' + numberToChinese(houseNumber) + '戶');
$(this).find('div[form-input="family-member"]').each(function (j) {
$(this).attr('id', 'family-' + $(this).closest('.form-house').attr('id').split('-')[1] + '-member-' + (j + 1));
});
});
var newFamilyCount = $(form_house_wrapper).find('.form-house').length;
$(form_house_wrapper).parent().find(' a[name="button-new-family"]').text("新增第" + numberToChinese(newFamilyCount + 1) + "戶");
function getHourFromShiChen(shiChen) {
//shichen trim
shiChen = shiChen.replace(/\s+/g, '');
if(shiChen == '吉') {
return '';
}
const shiChenNames = [
"子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"
];
const shiChenIndex = shiChenNames.indexOf(shiChen);
const hour = shiChenIndex * 2;
return hour;
}
}
});
}
//取得資料-訂單
function loadOrderData() {
var email = getCookie('email');
//讀取訂單資料
var orderData = {
type: 'get_order_list',
email: email,
temple_id: temple_id
};
//console.log(orderData);
$.ajax({
url: 'api/order.php',
type: 'GET',
data: orderData,
dataType: "json",
//async: false,
success: function (data) {
//console.log(data);
var email = getCookie('email');
var data_detail = data;
var wrapper = $('#modal_order_list .order-list-wrapper');
/*if (data_detail.length == 0) {
wrapper.hide();
return;
}else{
wrapper.show();
} */
var item_first = $('#modal_order_list .order-list-item:first').clone();
var item = $('#modal_order_list .order-list-item:last').clone();
wrapper.empty();
if (data_detail.length == 0) {
//wrapper append no order
wrapper.append('您尚未有訂單
');
return;
}
//填入資料
for (var i = 0; i < data_detail.length; i++) {
if(i==0){
wrapper.append(item_first.clone());
}else{
wrapper.append(item.clone());
}
//console.log(data);
//console.log(data_detail[i].order_no);
//console.log(data_detail[i].total_amount);
//order_id
wrapper.find('.order-list-item:last').attr('order_id', data_detail[i].order_id);
wrapper.find('.order-list-item:last').find('div[label-order-item="orderno"]').text(data_detail[i].order_no);
wrapper.find('.order-list-item:last').find('div[label-order-item="date"]').text(data_detail[i].date);
wrapper.find('.order-list-item:last').find('div[label-order-item="amount"]').text('NT$ ' + formatNumber(data_detail[i].total_amount));
}
//hover效果
$('#modal_order_list .order-list-item').hover(function () {
$(this).css('background-color', '#F2F2F2');
}, function () {
$(this).css('background-color', '#FFFFFF');
});
//點擊訂單
$('#modal_order_list .order-list-item').click(function () {
var order_id = $(this).attr('order_id');
var order_no = $(this).find('div[label-order-item="orderno"]').text();
var date = $(this).find('div[label-order-item="date"]').text();
var list_amount = deFormatNumber($(this).find('div[label-order-item="amount"]').text());
function deFormatNumber(num_str) {
var num = num_str.split('NT$ ')[1];
return num.toString().replace(/,/g, '');
}
var orderData = {
type: 'get_order_summary',
email: email,
order_id: order_id,
temple_id: temple_id
};
console.log(orderData);
$.ajax({
url: 'api/order.php',
type: 'GET',
data: orderData,
dataType: "json",
success: function (data) {
var data_detail = data;
if (data_detail.length == 0 && list_amount == 0) {
return;
}
var wrapper = $('#modal_order_detail .order-list-wrapper');
var item = $('#modal_order_detail .order-list-item:first').clone();
var item_total = $('#modal_order_detail .order-list-item:last').clone();
var total_amount = 0;
wrapper.empty();
//填入資料
for (var i = 0; i < data_detail.length; i++) {
wrapper.append(item.clone());
wrapper.find('.order-list-item:last').find('div[order_detail_label="name"]').text(data_detail[i].product_name + ' * ' + data_detail[i].quantity);
wrapper.find('.order-list-item:last').find('div[order_detail_label="price"]').text('NT$ ' + formatNumber(data_detail[i].amount));
total_amount += parseInt(data_detail[i].amount);
}
//append 香油錢
if(total_amount != list_amount){
wrapper.append(item.clone());
wrapper.find('.order-list-item:last').find('div[order_detail_label="name"]').text('加購香油');
wrapper.find('.order-list-item:last').find('div[order_detail_label="price"]').text('NT$ ' + formatNumber(list_amount - total_amount));
}
wrapper.append(item_total.clone());
wrapper.find('.order-list-item:last').find("#order_detail_amount").text('NT$ ' + formatNumber(list_amount));
$('#order_detail_title').text(order_no);
$('#order_detail_title').attr('order_id', order_id);
$('#order_detail_date').text(date);
loadReceipt('click_order_list', order_id);
$('#modal_order_list').fadeOut(200);
$('#modal_order_detail').hide().fadeIn(200);
}
});
});
//點擊編輯訂單
$('#button_edit_order').click(function () {
//if loaded before, do not load again
/*if($('#modal_order_edit .form-house-wrapper').find('input[text-input="address"]').val() != ''){
//border變色
$('#modal_order_edit .input').each(function () {
$(this).css('border-color', '#BBBBBB');
});
$('#modal_order_detail').fadeOut(200);
$('#modal_order_edit').hide().fadeIn(200);
return;
}*/
var order_no = $('#order_detail_title').text();
var order_id = $('#order_detail_title').attr('order_id');
var orderData = {
type: 'get_order_detail',
email: email,
order_no: order_no,
order_id: order_id,
temple_id: temple_id
};
//console.log(orderData);
$.ajax({
url: 'api/order.php',
type: 'GET',
data: orderData,
dataType: "json",
success: function (data) {
//console.log(data);
var data_detail = data;
var form_house_wrapper = '#modal_order_edit .form-house-wrapper';
//clone form-house
var form_house = form_house_order_edit.clone();
//clone family-member
var family_member = form_house.find('div[form-input="family-member"]').clone();
//清空form-house
$(form_house_wrapper).find('.form-house').remove();
for (var i = 0; i < data_detail.length; i++) {
//比對地址,若相同則將家人資料填入
var address = data_detail[i].address;
var isExist = false;
$(form_house_wrapper + ' .form-house').each(function () {
if ($(this).find('input[text-input="address"]').val() == address) {
$(this).find('.form-family-input').append(family_member.clone());
$(this).find('a[name="btn_household_head"]').show();
if(data_detail[i].is_household_head == '1'){
$(this).find('.form-family-input div[form-input="family-member"]:last').find('a[name="btn_household_head"]').text('戶長').css('background-color', '#eba900');
}
$(this).attr('id', 'family-' + $(this).closest('.form-house').attr('id').split('-')[1] + '-member-' + (i + 1));
$(this).attr('family_member_id', $(this).attr('family_member_id')+','+data_detail[i].id);
$(this).find('.form-family-input div[form-input="family-member"]:last').attr('family_member_id', data_detail[i].id);
$(this).find('.form-family-input div[form-input="family-member"]:last').find('input[text-input="name"]').val(data_detail[i].name);
$(this).find('.form-family-input div[form-input="family-member"]:last').find('input[type="radio"]').attr('name', 'radio-edit-order-' + $(this).attr('id').split('-')[1] + "-" + (i + 1));
if(data_detail[i].gender == '1') {
$(this).find('.form-family-input div[form-input="family-member"]:last').find('div[radio-input="gender"] input:first').click();
}else {
$(this).find('.form-family-input div[form-input="family-member"]:last').find('div[radio-input="gender"] input:last').click();
}
$(this).find('.form-family-input div[form-input="family-member"]:last').find('a[select-button="date"] div:first').text(data_detail[i].birthday);
$(this).find('.form-family-input div[form-input="family-member"]:last').find('a[select-button="member-light"] div:first').text(data_detail[i].ordered_products);
isExist = true;
}
});
//地址不存在
if (!isExist) {
//新增form-house
$(form_house_wrapper).append(form_house.clone());
$(form_house_wrapper + ' .form-house:last').find('input[text-input="address"]').val(address);
if(data_detail[i].is_household_head == '1'){
$(form_house_wrapper + ' .form-house:last').find('a[name="btn_household_head"]').text('戶長').css('background-color', '#eba900');
}
if(data_detail[i].name==""){
$(form_house_wrapper + ' .form-house:last').find('.form-family-input div[form-input="family-member"]').remove();
$(form_house_wrapper + ' .form-house:last').find('a[select-button="family-light"] div:first').text(data_detail[i].ordered_products);
$(form_house_wrapper + ' .form-house:last').attr('family_member_id', data_detail[i].id);
}else{
//console.log(data_detail[i].id);
$(form_house_wrapper + ' .form-house:last').attr('family_member_id', data_detail[i].id);
$(form_house_wrapper + ' .form-house:last').find('.form-family-input div[form-input="family-member"]').attr('family_member_id', data_detail[i].id);
$(form_house_wrapper + ' .form-house:last').find('input[text-input="name"]').val(data_detail[i].name);
var newFamilyCount = $(form_house_wrapper).find('.form-house').length;
$(form_house_wrapper + ' .form-house:last').find('input[type="radio"]').attr('name', 'radio-edit-order-' + newFamilyCount + "-1");
if(data_detail[i].gender == '1') {
$(form_house_wrapper + ' .form-house:last').find('div[radio-input="gender"] input:first').click();
}else {
$(form_house_wrapper + ' .form-house:last').find('div[radio-input="gender"] input:last').click();
}
$(form_house_wrapper + ' .form-house:last').find('a[select-button="date"] div:first').text(data_detail[i].birthday);
$(form_house_wrapper + ' .form-house:last').find('a[select-button="member-light"] div:first').text(data_detail[i].ordered_products);
}
}
}
//border變色
$(form_house_wrapper + ' .input, #modal_family_data .input-textarea').each(function () {
if ($(this).find('input').val() != '') {
$(this).css('border-color', '#BBBBBB');
}
});
//日期設定
$(form_house_wrapper + ' div[form-input="family-member"]').each(function () {
$(this).find('a[select-button="date"] div:first').removeClass('is-grey');
//console.log($(this).find('a[select-button="date"] div:first').text());
var year = parseInt($(this).find('a[select-button="date"] div:first').text().split('年')[0]);
var month = parseInt($(this).find('a[select-button="date"] div:first').text().split('年')[1].split('月')[0]);
var day = parseInt($(this).find('a[select-button="date"] div:first').text().split('月')[1].split('日')[0]);
var ShiChen = $(this).find('a[select-button="date"] div:first').text().split('日')[1].split('時')[0].replace(/\s+/g, '');
var time = getHourFromShiChen(ShiChen);
$(this).find('a[select-button="date"]').data('data-date', year + ',' + month + ',' + day + ',' + time);
$(this).find('a[select-button="date"] div:last').remove();
});
//點燈設定
$(form_house_wrapper + ' a[select-button="member-light"], ' + form_house_wrapper + ' a[select-button="family-light"]').each(function () {
$(this).find('div:first').removeClass('is-grey');
$(this).find('div:last').remove();
//border變色
$(this).parent().css('border-color', '#EBA900');
//disable click pointer-events: none
$(this).css('pointer-events', 'none');
});
//加入id
$(form_house_wrapper).find('.form-house').each(function (i) {
$(this).attr('id', 'family-' + (i + 1));
var houseNumber = i + 1;
$(this).find('.input label:first').children('label').children('label:first').text('第' + numberToChinese(houseNumber) + '戶');
$(this).find('div[form-input="family-member"]').each(function (j) {
$(this).attr('id', 'family-' + $(this).closest('.form-house').attr('id').split('-')[1] + '-member-' + (j + 1));
});
});
function getHourFromShiChen(shiChen) {
//shichen trim
shiChen = shiChen.replace(/\s+/g, '');
if(shiChen == '吉') {
return '';
}
const shiChenNames = [
"子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"
];
const shiChenIndex = shiChenNames.indexOf(shiChen);
const hour = shiChenIndex * 2;
return hour;
}
$('#modal_order_detail').fadeOut(200);
$('#modal_order_edit').hide().fadeIn(200);
}
});
});
//點擊編輯訂單送出
$('#button_edit_order_send').click(function () {
var order_detail = [];
$('#modal_order_edit .input').each(function () {
if ($(this).css('border-color') == 'rgb(187, 187, 187)') {
var family_member_id_list = $(this).closest('div[form-input="family-member"]').attr('family_member_id');
//if input is address
if ($(this).find('input').attr('text-input') == 'address') {
var family_member_id_list = $(this).closest('.form-house').attr('family_member_id');
var update_column = 'address';
var update_value = $(this).find('input').val();
}else if ($(this).find('input').attr('text-input') == 'name'){
var family_member_id_list = $(this).closest('div[form-input="family-member"]').attr('family_member_id');
var update_column = 'name';
var update_value = $(this).find('input').val();
}else if ($(this).find('div').attr('radio-input') == 'gender'){
var family_member_id_list = $(this).closest('div[form-input="family-member"]').attr('family_member_id');
var update_column = 'gender'
var update_value = $(this).find('input[type="radio"]:checked').val();
}else if ($(this).find('a').attr('select-button') == 'date'){
var family_member_id_list = $(this).closest('div[form-input="family-member"]').attr('family_member_id');
var update_column = 'birthday';
var update_value = $(this).find('a[select-button="date"] div:first').text();
}
order_detail.push({
family_member_id_list: family_member_id_list,
update_column: update_column,
update_value: update_value
});
}
});
//update btn_household_head
$('#modal_order_edit a[name="btn_household_head"]').each(function () {
var family_member_id_list = $(this).closest('div[form-input="family-member"]').attr('family_member_id');
var update_column = 'is_household_head';
if ($(this).text() == '戶長') {
var update_value = '1';
}else{
var update_value = '0';
}
order_detail.push({
family_member_id_list: family_member_id_list,
update_column: update_column,
update_value: update_value
});
});
var order_no = $('#order_detail_title').text();
var orderData = {
type: 'edit_order',
email: email,
order_no: order_no,
temple_id: temple_id,
order_detail: JSON.stringify(order_detail)
};
$.ajax({
url: 'api/order.php',
type: 'POST',
data: orderData,
success: function (data) {
//console.log(data);
$('#modal_order_edit').fadeOut(200);
$('#modal_order_edit_success').hide().fadeIn(200);
}
});
});
//點擊下載訂單收據
$('#button_order_download_receipt').click(function () {
/*var value = $("#print_parts").html();
var printPage = window.open("", "Printing...", 'scrollbars=1,width=900,height=900top=' + (screen.height - 700) / 2 + ',left=' + (screen.width - 700) / 2);
printPage.document.open();
//printPage.document.write("訂單收據_蘆洲湧蓮寺");
printPage.document.write("
訂單收據_蘆洲湧蓮寺");
//printPage.document.write("
");
printPage.document.write(value);
//printPage.document.write("
");
printPage.document.close("
");*/
$("#print_parts").show();
var element = document.getElementById('print_parts');
html2canvas(element).then(canvas => {
var imgData = canvas.toDataURL('image/jpeg', 1.0);
var pdf = new jsPDF('p', 'mm', 'a4');
pdf.addImage(imgData, 'JPEG', 0, 0, 210, 297);
pdf.save('2024線上點燈_訂單收據_蘆洲湧蓮寺.pdf');
$("#print_parts").hide();
}).catch(error => {
console.error('Error generating PDF:', error);
$("#print_parts").hide();
});
});
//訂單連結相關
var url = window.location.href;
if (url.indexOf('order_no') > -1) {
var email = url.split('?')[1].split('&')[0].split('=')[1];
var order_no = url.split('?')[1].split('&')[1].split('=')[1];
if(email = getCookie('email')){
//order-list-item if orderno = orderno click
$('#modal_order_list .order-list-item').each(function () {
//console.log($(this).find('div[label-order-item="orderno"]').text());
if ($(this).find('div[label-order-item="orderno"]').text() == order_no) {
$(this).click();
}
});
//admin顯示重寄訂單通知
var status = url.split('?')[1].split('&')[2].split('=')[1];
if(status == 'admin'){
//.main-wrapper hide
$('.main-wrapper, .footer, #nav-quick-buy-2, #nav-messenger-2').hide();
$('#nav-account-data').remove();
$('#button_resend_order').show();
setTimeout(function(){
//$('#button_edit_order').click();
}, 100);
}
//點擊重寄訂單通知email
$('#button_resend_order').click(function () {
$("#print_parts").show();
var element = document.getElementById('print_parts');
html2canvas(element).then(canvas => {
var imgData = canvas.toDataURL('image/jpeg', 1.0);
var pdf = new jsPDF('p', 'mm', 'a4');
pdf.addImage(imgData, 'JPEG', 0, 0, 210, 297);
//pdf.save('訂單收據_蘆洲湧蓮寺.pdf');
$("#print_parts").hide();
var formData = new FormData();
formData.append("pdf", pdf.output("blob"));
formData.append("email", email);
formData.append("order_no", order_no);
$.ajax({
url: 'api/email.php',
type: 'POST',
data: formData,
processData: false,
contentType: false,
dataType: "json",
success: function (data) {
//console.log(data);
//setCookie('order_emailed', order_no, 30);
$('#button_resend_order').text("已重新寄送");
$('#button_resend_order').css('pointer-events', 'none');
},
error: function () {
alert('Failed to send email.');
}
});
}).catch(error => {
console.error('Error generating PDF:', error);
$("#print_parts").hide();
});
});
//$('#modal_order_list').hide().fadeIn(200);
//$('body').css('overflow', 'hidden');
}
}
}
});
}
//取得資料-訂單收據
function loadReceipt(type, data){
//載入收據HTML
$('body').append('');
$("#print_parts").load("api/receipt.php", function () {
if (type == 'pay_result') {
//更新付款狀態,顯示付款結果,並載入收據內容
var payData = {
type: 'update_order',
payToken: data
};
}else{
var payData = {
type: 'order_receipt',
order_id: data
};
}
//console.log(payData);
$.ajax({
url: 'api/order.php',
type: 'POST',
data: payData,
dataType: "json",
//async: false,
success: function (data) {
//console.log(data);
//console.log(data[1].email);
if (type == 'pay_result') {
var Status = data[0].TSResultContent.Status;
var Description = data[0].TSResultContent.Description;
}else{
var Status = "S";
}
//真的或測試信用卡可以
if (Status == 'S'/* || Description == 'E2720 – 3D驗證失敗'*/) {
//載入收據內容
$('#print_parts #order_number').text(data[1].order_no);
$('#print_parts #customer').text(data[1].order_name);
$('#print_parts #email').text(data[1].email);
$('#print_parts #payment').text("信用卡");
if(data[1].note == "")
$('#print_parts #remarks').text("無");
else
$('#print_parts #remarks').text(data[1].note);
$('#print_parts #order_date').text(data[1].date);
$('#print_parts #order_status').text("已付款");
//$('#print_parts #amount_total').text(formatCurrency(data[1].total_amount));
$('#print_parts #payment_fee').text(formatCurrency(0));
$('#print_parts #shipping_fee').text(formatCurrency(0));
$('#print_parts #amount_return').text(formatCurrency(0));
$('#print_parts #total').text(formatCurrency(data[1].total_amount));
//console.log(data[2]);
var order_detail = data[2];
var order_detail_html = '';
var total_quantity = 0;
var total_amount = 0;
for (var i = 0; i < order_detail.length; i++) {
order_detail_html += '';
order_detail_html += '' + order_detail[i].name + ' | ';
order_detail_html += '' + formatNumber(order_detail[i].quantity) + ' | ';
order_detail_html += '' + formatCurrency(order_detail[i].price) + ' | ';
order_detail_html += '' + formatCurrency(order_detail[i].amount) + ' | ';
order_detail_html += '
';
total_quantity += parseInt(order_detail[i].quantity);
total_amount += parseInt(order_detail[i].amount);
}
//append 香油錢
if(total_amount != data[1].total_amount){
order_detail_html += '';
order_detail_html += '' + '加購香油' + ' | ';
order_detail_html += ' | ';
order_detail_html += ' | ';
order_detail_html += '' + formatCurrency(data[1].total_amount - total_amount) + ' | ';
order_detail_html += '
';
}
$('#print_parts #quantity_total').text(formatNumber(total_quantity));
$('#print_parts #sku_table').append(order_detail_html);
if (type == 'pay_result') {
var email = data[1].email;
var order_no = data[1].order_no;
if(getCookie('order_emailed') != order_no){
$("#print_parts").show();
var element = document.getElementById('print_parts');
html2canvas(element).then(canvas => {
var imgData = canvas.toDataURL('image/jpeg', 1.0);
var pdf = new jsPDF('p', 'mm', 'a4');
pdf.addImage(imgData, 'JPEG', 0, 0, 210, 297);
//pdf.save('訂單收據_蘆洲湧蓮寺.pdf');
$("#print_parts").hide();
var formData = new FormData();
formData.append("pdf", pdf.output("blob"));
formData.append("email", email);
formData.append("order_no", order_no);
$.ajax({
url: 'api/email.php',
type: 'POST',
data: formData,
processData: false,
contentType: false,
dataType: "json",
success: function (data) {
//console.log(data);
setCookie('order_emailed', order_no, 30);
},
error: function () {
alert('Failed to send email.');
}
});
}).catch(error => {
console.error('Error generating PDF:', error);
$("#print_parts").hide();
});
}
$('#modal_pay_result h4').text('付款成功');
/*if(Description == 'E2720 – 3D驗證失敗'){
$('#modal_pay_result h4').text('付款成功(測試信用卡)');
}*/
$('#modal_pay_result h4').siblings('div').text('感謝您的祈福');
$('#button_download_receipt').show();
}
} else {
$('#modal_pay_result h4').text('付款失敗');
$('#modal_pay_result h4').siblings('div').text('請重新確認付款資訊');
$('#button_download_receipt').hide();
}
if (type == 'pay_result') {
$('#modal_pay_result').hide().fadeIn(200);
}
},
error: function () {
alert('Failed to send pay request.');
}
});
});
}
//取得資料-從訂單連結跳轉
function urlLoadOrder(){
var url = window.location.href;
if (url.indexOf('order_no') > -1) {
var email = url.split('?')[1].split('&')[0].split('=')[1];
var status = url.split('?')[1].split('&')[2].split('=')[1];
if(email != getCookie('email')){
if(status == '1'){
$('#input_log_in_email').val(email);
//顯示登入
$('#modal_log_in').hide().fadeIn(200);
$('body').css('overflow', 'hidden');
}else if(status == '0'){
$('#input_sign_up_email').val(email);
//顯示註冊
$('#modal_sign_up').hide().fadeIn(200);
$('body').css('overflow', 'hidden');
}
}
}
}
//---------銷售頁-----------
function bindPageEvents() {
bindNavEvents();
bindBuyEvents();
bindPayEvents();
//點擊客服
$('#button-contact').click(function () {
window.open('https://m.me/yonglientemple');
});
}
//銷售頁-導覽列
function bindNavEvents() {
//點擊登入
$('#nav-login').click(function () {
$('#modal_log_in').hide().fadeIn(200);
$('body').css('overflow', 'hidden');
});
//點擊快速點燈(未登入)
$('#nav-quick-buy').click(function () {
$('#modal_log_in').hide().fadeIn(200);
$('body').css('overflow', 'hidden');
});
//點擊快速點燈
$('#nav-quick-buy-2').click(function () {
$('.form-buy-content').find('.form-house').remove();
$('.form-buy-content').parent().find('a[name="button-new-family"').parent().before(form_house.clone());
loadFamilyData('.form-buy-content');
//scroll to section
$('html, body').animate({
scrollTop: $('.section_buy').offset().top
}, 500);
});
//未登入查詢訂單
$('#nav-order').click(function () {
$('#modal_sign_up').hide().fadeIn(200);
$('body').css('overflow', 'hidden');
});
//點擊查詢訂單
$('#nav-order-2').click(function () {
$('#modal_order_list').hide().fadeIn(200);
$('body').css('overflow', 'hidden');
});
//點擊家人資料
$('#nav-family-data').click(function () {
$('#modal_family_data').hide().fadeIn(200);
$('body').css('overflow', 'hidden');
});
//點擊客服
$('#nav-messenger, #nav-messenger-2').click(function () {
window.open('https://m.me/yonglientemple');
});
//nav-member-2 click show vector-delete, second click show nav-text
$('#nav-member-2').click(function () {
if ($(this).find('.vector-delete').is(':visible')) {
$('#nav-member-2 .vector-delete').hide();
$('#nav-member-2 .nav-text').show();
$('#nav-member-2 .nav-text').css({ 'transform': 'scale(0)', 'transition': 'all 0.3s' });
setTimeout(function () {
$('#nav-member-2 .nav-text').css({ 'transform': 'scale(1)', 'transition': 'all 0.3s' });
}, 20);
} else {
$('#nav-member-2 .nav-text').hide();
$('#nav-member-2 .vector-delete').show();
$('#nav-member-2 .vector-delete').css({ 'transform': 'scale(1)', 'transition': 'all 0.3s' });
}
});
}
//銷售頁-線上登記
function bindBuyEvents() {
//輸入欄位hover時變色
//console.log("bindBuyEvents");
$('.input, .input-yellow, .input-textarea').hover(function () {
if($(this).find('input, textarea').attr('disabled') != 'disabled'){
$(this).css('background-color', '#fafafa');
$(this).find('input').css('background-color', '#fafafa');
}
}, function () {
if($(this).find('input, textarea').attr('disabled') != 'disabled'){
$(this).css('background-color', '#fff');
$(this).find('input').css('background-color', '#fff');
}
});
//輸入後border變色
$(document).on('input', '.input, .input-textarea', function () {
if ($(this).find('input').val() != '') {
$(this).css('border-color', '#BBBBBB');
} else {
$(this).css('border-color', '#EEEEEE');
}
});
$('.input-yellow').on('input', function () {
if ($(this).find('div').html() != '') {
$(this).css('border-color', '#EBA900');
} else {
$(this).css('border-color', '#F9E5B2');
}
});
//點擊黑色區域關閉Modal
$('.modal').on('click', function (event) {
if ($(this).is(':visible') && !$(event.target).closest('.modal-content').length) {
$(this).closest('.modal').fadeOut(200);
$('body').css('overflow', 'auto');
}
});
//點擊X關閉Modal
$(document).on('click', '.button-close-modal', function () {
$(this).closest('.modal').fadeOut(200);
$('body').css('overflow', 'auto');
});
$('.form-house').attr('id', 'family-1');
$('.input-wrapper.is-family').attr('id', 'family-1-member-1');
form_house = $('.section_buy .form-house').clone();
form_house_order_edit = $('#modal_order_edit .form-house').clone();
var family_member_form = $('.section_buy .input-wrapper.is-family').clone();
var family_member_form_modal = $('#modal_family_data .input-wrapper.is-family').clone();
//點擊新增家人
$(document).on('click', 'a[name="button-new-family-member"]', function () {
var family_member_form_clone = family_member_form.clone();
//if form-house has no input-yellow
if ($(this).closest('.form-house').find('.input-yellow').length == 0) {
family_member_form_clone = family_member_form_modal.clone();
}
var editButton = $(this).closest('.form-house').find('a[name="button-edit-family"]');
$(this).closest('.form-house').find($('.form-family-input')).append(family_member_form_clone.hide().fadeIn());
if (editButton.text() === '修改完成') {
family_member_form_clone.find('.delete-button').show();
}
$(this).closest('.form-house').find('div[form-input="family-member"]').each(function (i) {
$(this).attr('id', 'family-' + $(this).closest('.form-house').attr('id').split('-')[1] + '-member-' + (i + 1));
$(this).find('input[type="radio"]').attr('name', 'radio-buy-' + $(this).closest('.form-house').attr('id').split('-')[1] + "-" + (i + 1));
});
//show btn_household_head
$(this).closest('.form-house').find('a[name="btn_household_head"]').show();
});
var family_form = $('.section_buy .form-house').clone();
var family_form_modal = $('#modal_family_data .form-house').clone();
//點擊新增一戶
$('a[name="button-new-family"]').click(function () {
var family_form_clone = family_form.clone();
var form_house_wrapper = "form-buy-content";
//if parent element id have modal_family_data
if ($(this).closest('.modal').attr('id') == "modal_family_data") {
family_form_clone = family_form_modal.clone();
form_house_wrapper = "is-modal-full";
}
//console.log($(this).closest('.'+form_house_wrapper).html());
$(this).closest('.'+form_house_wrapper).find('.form-house:last').after(family_form_clone.hide().fadeIn());
var newFamilyCount = $(this).closest('.'+form_house_wrapper).find('.form-house').length;
$(this).text("新增第" + numberToChinese(newFamilyCount + 1) + "戶");
$(this).closest('.'+form_house_wrapper).find('.form-house:last').find('div[form-input="family-member"]').attr('id', 'family-' + newFamilyCount + '-member-1');
$(this).closest('.'+form_house_wrapper).find('.form-house:last').find('input[type="radio"]').attr('name', 'radio-buy-' + newFamilyCount + '-1');
$(this).closest('.'+form_house_wrapper).find('.form-house').each(function (i) {
$(this).attr('id', 'family-' + (i + 1));
var houseNumber = i + 1;
$(this).find('.input label:first').children('label').children('label:first').text('第' + numberToChinese(houseNumber) + '戶');
});
});
//點擊修改家人
$(document).on('click', 'a[name="button-edit-family"]', function () {
//console.log("點擊修改家人");
var deleteButton = $(this).closest('.form-house').find($('.delete-button'));
if (deleteButton.is(':visible')) {
deleteButton.fadeOut();
$(this).css({ 'background-color': '#3982F7', 'transition': 'all 0.3s' }).text('編輯');
} else {
deleteButton.hide().fadeIn();
$(this).css({ 'background-color': '#EBA900', 'transition': 'all 0.3s' }).text('編輯完成');
}
});
//點擊刪除整戶
$(document).on('click', 'a[name="button-delete-family"]', function () {
var form_house_wrapper = ".form-buy-content";
if ($('#modal_family_data').is(':visible')) {
form_house_wrapper = "#modal_family_data";
}
if ($(this).closest(form_house_wrapper).find('.form-house').length > 1) {
$(this).closest('.form-house').fadeOut(200, function () {
var newFamilyCount = $(form_house_wrapper).find('.form-house').length;
$(form_house_wrapper).find('a[name="button-new-family"]').text("新增第" + numberToChinese(newFamilyCount) + "戶");
$(this).remove();
$(form_house_wrapper).find('.form-house').each(function (i) {
var houseNumber = i + 1;
$(this).find('.input label:first').children('label').children('label:first').text('第' + numberToChinese(houseNumber) + '戶');
});
calculateTotalPrice();
});
} else {
alert('請登記至少一戶表單。');
}
});
//點擊刪除家人
$(document).on('click', 'a[name="button-delete-family-member"]', function () {
$(this).closest('.input-wrapper').fadeOut(200, function () {
$(this).remove();
calculateTotalPrice();
});
});
//點擊設為戶長
$(document).on('click', 'a[name="btn_household_head"]', function () {
$(this).closest('.form-house').find('a[name="btn_household_head"]').text('設為戶長').css('background-color', '#aaa');
$(this).text('戶長').css('background-color', '#eba900');
});
//點擊整戶點燈
$(document).on('click', 'a[select-button="family-light"]', function () {
$('#modal_select_light input[type="checkbox"]:checked').click();
if ($(this).data("data-id") != undefined && $(this).data("data-id") != "") {
var idList = $(this).data("data-id"); // assuming data-id="id1,id2,id3"
var ids = idList.split(","); // split the string into an array
ids.forEach(function (id) {
$('#checkbox_' + id).click();
});
} else {
$('#modal_select_light input[type="checkbox"]:checked').click();
}
$('#modal_select_light').data('form-house-id', $(this).closest('.form-house').attr('id'));
$('#modal_select_light').find('.input:has(.product-category:contains("0"))').hide();
$('#modal_select_light').find('.input:has(.product-category:contains("1"))').show();
$('#modal_select_light').hide().fadeIn(200);
$('body').css('overflow', 'hidden');
});
//點擊單人點燈
$(document).on('click', 'a[select-button="member-light"]', function () {
$('#modal_select_light input[type="checkbox"]:checked').click();
if ($(this).data("data-id") != undefined && $(this).data("data-id") != "") {
var idList = $(this).data("data-id"); // assuming data-id="id1,id2,id3"
var ids = idList.split(","); // split the string into an array
ids.forEach(function (id) {
$('#checkbox_' + id).click();
});
}
$('#modal_select_light').data('form-house-id', $(this).closest('div[form-input="family-member"]').attr('id'));
$('#modal_select_light').find('.input:has(.product-category:contains("1"))').hide();
$('#modal_select_light').find('.input:has(.product-category:contains("0"))').show();
$('#modal_select_light').hide().fadeIn(200);
$('body').css('overflow', 'hidden');
});
//點擊確認燈種
$('#button_select_light').click(function () {
$(this).closest('.modal').fadeOut(200);
$('body').css('overflow', 'auto');
var selectedLightsName = [];
var selectedLightsId = [];
$('#modal_select_light input[type="checkbox"]:checked').each(function () {
var id = $(this).data('id');
var name = $(this).data('name');
selectedLightsId.push(id);
selectedLightsName.push(name);
});
var formHouseId = $('#modal_select_light').data('form-house-id');
//selectedLights not empty
if (selectedLightsName.length > 0) {
$('#' + formHouseId + ' .input-yellow:first .select-button').data('data-id', selectedLightsId.join(','));
$('#' + formHouseId + ' .input-yellow:first .select-button').html('' + selectedLightsName.join(',') + '
');
$('#' + formHouseId + ' .input-yellow:first').css('border-color', '#EBA900');
//reset selected lights
$('#modal_select_light input[type="checkbox"]:checked').click();
} else {
$('#' + formHouseId + ' .input-yellow:first .select-button').data('data-id', '');
$('#' + formHouseId + ' .input-yellow:first .select-button').html('請選擇燈種
');
$('#' + formHouseId + ' .input-yellow:first').css('border-color', '#F9E5B2');
}
calculateTotalPrice();
});
//點擊生日
$(document).on('click', 'a[select-button="date"]', function () {
//重置生日
$('#modal_select_date input[type="radio"]:first').click();
$('#input_date_year, #input_date_month, #input_date_day, #input_date_time').val('');
//console.log($(this).data('data-date'));
//設定生日
if ($(this).data('data-date') != undefined && $(this).data('data-date') != '') {
var date = $(this).data('data-date');
var dateType = date.split(',');
$('#modal_select_date input[type="radio"]:last').click();
$('#input_date_year').val(dateType[0]);
$('#input_date_month').val(dateType[1]);
$('#input_date_day').val(dateType[2]);
$('#input_date_time').val(dateType[3]);
}
$('#modal_select_date').data('form-house-id', $(this).closest('div[form-input="family-member"]').attr('id'));
$('#modal_select_date').hide().fadeIn(200);
$('body').css('overflow', 'hidden');
});
//點擊確認生日
$('#button_select_date').click(function () {
var year = parseInt($('#input_date_year').val());
var month = parseInt($('#input_date_month').val());
var day = parseInt($('#input_date_day').val());
var currentYear = new Date().getFullYear();
// 驗證年份是否小於現在的年份
if (isNaN(year) || (year + 1911) > currentYear) {
alert('請輸入正確的年份');
return;
}
// 驗證月份是否為數字且在 1~12 之間
if (isNaN(month) || month < 1 || month > 12) {
alert('請輸入正確的月份');
return;
}
// 驗證日期是否為數字且在 1~31 之間
if (isNaN(day) || day < 1 || day > 31) {
alert('請輸入正確的日期');
return;
}
$(this).closest('.modal').fadeOut(200);
$('body').css('overflow', 'auto');
var dateType = $('#modal_select_date input[type="radio"]:checked').next('.form-radio-label').text();
if (dateType == '國曆') {
var solar = Solar.fromYmd(year + 1911, month, day);
var lunar = solar.getLunar();
year = lunar.getYear() - 1911;
month = lunar.getMonth();
day = lunar.getDay();
}
var time;
if ($('#input_date_time').val() == '') {
time = '吉';
} else {
time = getShiChenFromHour($('#input_date_time').val());
}
var date_chinese = year + '年' + month + '月' + day + '日' + ' ' + time + '時';
var formHouseId = $('#modal_select_date').data('form-house-id');
var form_house_wrapper = ".form-buy-content";
//if modal_select_date is visible
if ($('#modal_family_data').is(':visible')) {
form_house_wrapper = "#modal_family_data";
}
//if modal_order_edit is visible
if ($('#modal_order_edit').is(':visible')) {
form_house_wrapper = "#modal_order_edit";
}
$(form_house_wrapper + ' #' + formHouseId + ' a[select-button="date"]').data('data-date', year + ',' + month + ',' + day + ',' + $('#input_date_time').val());
$(form_house_wrapper + ' #' + formHouseId + ' a[select-button="date"]').html('' + date_chinese + '
');
$(form_house_wrapper + ' #' + formHouseId + ' a[select-button="date"]').parent().css('border-color', '#BBBBBB');
});
function getShiChenFromHour(hour) {
const shiChenNames = [
"子", "丑", "寅", "卯", "辰", "巳", "午", "未", "申", "酉", "戌", "亥"
];
const shiChenIndex = Math.floor((parseInt(hour) + 1) / 2) % 12;
const shiChenName = shiChenNames[shiChenIndex];
return shiChenName;
}
//加購香油
$("#amount_add_buy").change(function () {
calculateTotalPrice();
});
calculateTotalPrice();
//總計計算
function calculateTotalPrice() {
var totalPrice = 0;
var productData = {};
$('.input-yellow .select-button').each(function () {
var selectedLightsId = $(this).data('data-id');
if (selectedLightsId != undefined && selectedLightsId != '') {
var selectedLightsIdArray = selectedLightsId.split(',');
selectedLightsIdArray.forEach(function (id) {
totalPrice += parseInt($('#checkbox_' + id).attr('data-price'));
var name = $('#checkbox_' + id).data('name');
var price = $('#checkbox_' + id).data('price');
if (productData.hasOwnProperty(name)) {
productData[name].price += parseInt(price);
productData[name].count++;
} else {
productData[name] = { price: parseInt(price), count: 1 };
}
});
}
});
var addBuy = parseInt($('#amount_add_buy').val() ? $('#amount_add_buy').val() : 0);
totalPrice += addBuy;
$('#label_amount_buy, #label_amount_pay').text("NT$ " + totalPrice);
totalPayAmount = totalPrice;
// 顯示商品名稱及價格
var html = '';
for (var name in productData) {
if (productData.hasOwnProperty(name)) {
var price = productData[name].price;
var count = productData[name].count;
html += '';
}
}
// 加入加購香油
if (addBuy > 0) {
html += '';
}
// 加入分隔線
if (html != '') {
html += '';
}
// 加入商品總計
html += '';
$('#modal_confirm_buy .modal-form .input-wrapper').html(html);
}
//點擊點燈確認
$("#button-confirm-buy").click(function () {
check_order_data();
if(isChecked){
$('#modal_confirm_buy').hide().fadeIn(200);
$('body').css('overflow', 'hidden');
}else{
$('html, body').animate({
scrollTop: $('.section_buy').offset().top
}, 500);
}
});
//點擊前往付款
$("#button_go_pay").click(function () {
$('#modal_confirm_buy').fadeOut(200);
$('body').css('overflow', 'auto');
//scroll to .section_pay
$('html, body').animate({
scrollTop: $('.section_pay').offset().top
}, 500);
});
}
var isChecked = false;
function check_order_data() {
isChecked = false;
//檢查總金額是否為0
if (totalPayAmount == 0) {
alert('請選擇燈種。');
return;
}
//地址必填
var isComplete = true;
$('.section_buy input[text-input="address"]').each(function () {
//console.log("地址:" + $(this).parent().css('border-color'));
if ($(this).parent().css('border-color') == 'rgb(238, 238, 238)') {
isComplete = false;
}
});
//家人資料必填
$('.section_buy a[select-button="member-light"]').each(function () {
//console.log("單人點燈:" + $(this).parent().css('border-color'));
//if ($(this).parent().css('border-color') == 'rgb(235, 169, 0)') {
$(this).parent().parent().find('.input').each(function () {
if ($(this).css('border-color') == 'rgb(238, 238, 238)') {
isComplete = false;
}
});
//}
});
/*$('.section_buy').find('.input, .input-textarea').each(function () {
//console.log("地址"+$(this).css('border-color'));
if ($(this).css('border-color') == 'rgb(238, 238, 238)') {
isComplete = false;
}
});*/
if (!isComplete) {
alert('請填寫完整家人資料。');
return;
}
var noHead = false;
//每一戶都要有戶長
$('.section_buy .form-house').each(function () {
var isComplete = false;
$(this).find('a[name="btn_household_head"]').each(function () {
if ($(this).text() == '戶長' || $(this).css('display') == 'none') {
isComplete = true;
}
});
if (!isComplete) {
alert('請選擇戶長。');
noHead = true;
return;
}
});
if(noHead){
return;
}
isChecked = true;
}
var totalPayAmount = 0;
//銷售頁-結帳
function bindPayEvents() {
//點擊送出
$('#button-send-pay').click(function () {
$('#button-send-pay').css('pointer-events', 'none');
setTimeout(function() {
$('#button-send-pay').css('pointer-events', 'auto');
}, 4000);
check_order_data();
if(!isChecked){
$('html, body').animate({
scrollTop: $('.section_buy').offset().top
}, 500);
return;
}
if ($('#input_pay_name').val() == '') {
alert('請輸入收件人。');
return;
}
if ($('#input_pay_email').val() == '') {
alert('請輸入Email。');
return;
}
if ($('#input_pay_phone').val() == '') {
alert('請輸入電話。');
return;
}
var order_detail = [];
$('a[select-button="family-light"], a[select-button="member-light"]').each(function () {
//console.log($(this).data("data-id"));
if ($(this).data("data-id") != undefined && $(this).data("data-id") != '') {
var idList = $(this).data("data-id"); // assuming data-id="id1,id2,id3"
var ids = idList.split(","); // split the string into an array
var name = $(this).parent().parent().find('input[text-input="name"]').val();
var gender = $(this).parent().parent().find('input[type="radio"]:checked').val();
var birthday = $(this).parent().parent().find('a[select-button="date"] div').text();
var address = $(this).closest('.form-house').find('input[text-input="address"]').val();
if($(this).parent().parent().find('a[name="btn_household_head"]').css('display') == 'none'){
var is_household_head = '1';
}else{
var is_household_head = $(this).parent().parent().find('a[name="btn_household_head"]').text() == '戶長' ? '1' : '0';
}
if (birthday === "") {
birthday = null;
}
ids.forEach(function (id) {
order_detail.push({
product_id: id,
name: name,
gender: gender,
birthday: birthday,
address: address,
is_household_head: is_household_head
});
});
//if有整戶點燈要幫沒有點個人燈的家人產生order_product
if ($(this).attr('select-button') == 'family-light') {
$(this).parent().parent().parent().find('div[form-input="family-member"]').each(function (i) {
//if select-button="member-light" = undefined
//console.log($(this).find('a[select-button="member-light"]').data("data-id"));
if ($(this).find('a[select-button="member-light"]').data("data-id") == undefined || $(this).find('a[select-button="member-light"]').data("data-id") == '') {
var name = $(this).find('input[text-input="name"]').val();
var gender = $(this).find('input[type="radio"]:checked').val();
var birthday = $(this).find('a[select-button="date"] div').text();
var address = $(this).closest('.form-house').find('input[text-input="address"]').val();
if($(this).find('a[name="btn_household_head"]').css('display') == 'none'){
var is_household_head = '1';
}else{
//console.log($(this).find('a[name="btn_household_head"]').text());
var is_household_head = $(this).find('a[name="btn_household_head"]').text() == '戶長' ? '1' : '0';
}
if (birthday === "") {
birthday = null;
}
product_id = null;
order_detail.push({
product_id: product_id,
name: name,
gender: gender,
birthday: birthday,
address: address,
is_household_head: is_household_head
});
}
});
}
}
});
//console.log(JSON.stringify(order_detail));
//呼叫付款API,跳轉至付款頁面
var orderData = {
type: 'create_order',
total_amount: totalPayAmount,
name: $('#input_pay_name').val(),
email: $('#input_pay_email').val(),
phone: $('#input_pay_phone').val(),
note: $('#input_pay_note').val(),
temple_id: temple_id,
order_detail: JSON.stringify(order_detail)
};
//console.log(orderData);
$.ajax({
url: 'api/order.php',
type: 'POST',
data: orderData,
dataType: "json",
success: function (data) {
//console.log(data);
//跳轉至付款頁面
var CardPayURL = data.CardParam.CardPayURL;
window.location.href = CardPayURL;
},
error: function () {
alert('Failed to send pay request2.');
}
});
});
//從付款頁面跳轉回來
if (payToken != '0') {
//console.log('payToken:' + payToken);
loadReceipt('pay_result', payToken);
if(getCookie('email') != ""){
setTimeout(function () {
loadOrderData();
}, 1000);
}
//下載收據
$('#button_download_receipt').click(function () {
/*var value = $("#print_parts").html();
var printPage = window.open("", "Printing...", 'scrollbars=1,width=900,height=900top=' + (screen.height - 700) / 2 + ',left=' + (screen.width - 700) / 2);
printPage.document.open();
//printPage.document.write("訂單收據_蘆洲湧蓮寺");
printPage.document.write("
訂單收據_蘆洲湧蓮寺");
//printPage.document.write("
");
printPage.document.write(value);
//printPage.document.write("
");
printPage.document.close("
");*/
$("#print_parts").show();
var element = document.getElementById('print_parts');
html2canvas(element).then(canvas => {
var imgData = canvas.toDataURL('image/jpeg', 1.0);
var pdf = new jsPDF('p', 'mm', 'a4');
pdf.addImage(imgData, 'JPEG', 0, 0, 210, 297);
pdf.save('2024線上點燈_訂單收據_蘆洲湧蓮寺.pdf');
$("#print_parts").hide();
}).catch(error => {
console.error('Error generating PDF:', error);
$("#print_parts").hide();
});
});
//繼續點燈
$('#button_close_pay_result').click(function () {
$('#modal_pay_result').fadeOut(200);
});
}
}
//----------Modal-----------
function bindModalEvents() {
bindLoginAndSignUpModalEvents();
bindMemberModalEvents();
bindOrderModalEvents();
}
//Modal-登入註冊
function bindLoginAndSignUpModalEvents() {
const toggleButton = $(".toggle_password");
//點擊顯示/隱藏密碼
toggleButton.click(function() {
const passwordInput = $(this).parent().find("input");
if (passwordInput.attr("type") === "password") {
passwordInput.attr("type", "text");
$(this).find('i').removeClass('fa-eye').addClass('fa-eye-slash');
} else {
passwordInput.attr("type", "password");
$(this).find('i').removeClass('fa-eye-slash').addClass('fa-eye');
}
});
//點擊忘記密碼
$('#button_forget_password').click(function () {
$('#modal_log_in').fadeOut(200);
$('#modal_forget_password').hide().fadeIn(200);
});
//點擊加入會員前往註冊
$('#button_go_sign_up').click(function () {
$('#modal_log_in').fadeOut(200);
$('#modal_sign_up').hide().fadeIn(200);
});
//點擊回到登入頁
$('#button_back_log_in').click(function () {
$('#modal_forget_password').fadeOut(200);
$('#modal_log_in').hide().fadeIn(200);
});
//點擊回到登入
$('#button_go_log_in').click(function () {
$('#modal_sign_up').fadeOut(200);
$('#modal_log_in').hide().fadeIn(200);
});
//點擊回到註冊
$('#button_go_sign_up').click(function () {
$('#modal_validate_email').fadeOut(200);
$('#modal_sign_up').hide().fadeIn(200);
});
//點擊直接前往點燈
$('#button_go_buy').click(function () {
$('#modal_sign_up_success').fadeOut(200);
});
//點擊加入會員
var validateCode = '';
$('#button_sign_up').click(function () {
//檢查email格式
if ($('#input_sign_up_email').val() == '') {
alert('請輸入email。');
return;
}
//密碼不得少於4碼
if ($('#input_sign_up_password').val().length < 4) {
alert('密碼不得少於4碼,請重新輸入。');
return;
}
//比對密碼
if ($('#input_sign_up_password').val() != $('#input_sign_up_password_confirm').val()) {
alert('密碼不相符,請重新輸入。');
return;
}
//呼叫驗證信API
var signUpData = {
action: 'signUp',
email: $('#input_sign_up_email').val()
}
$.ajax({
url: 'api/email.php',
type: 'POST',
data: signUpData,
success: function (data) {
//console.log(data);
if (JSON.parse(data).status == 'success') {
$('#modal_sign_up').fadeOut(200);
$('#modal_validate_email').hide().fadeIn(200);
//儲存驗證碼
validateCode = JSON.parse(data).number;
} else {
//驗證信失敗
//alert(JSON.parse(data).message);
alert('驗證信失敗,請檢查email是否正確。');
}
},
error: function (data) {
alert('驗證信失敗,請重新輸入。');
}
});
});
//點擊完成註冊
$('#button_validate').click(function () {
//比對驗證碼
if ($('#input_validate_code').val() != validateCode) {
alert('驗證碼錯誤,請重新輸入。');
return;
}
if($('#input_sign_up_e_message').prop('checked')){
var e_message = '0';
}else{
var e_message = '1';
}
//驗證註冊資料
var signUpData = {
action: 'signUp',
email: $('#input_sign_up_email').val(),
password: $('#input_sign_up_password').val(),
e_message: e_message,
temple_id: temple_id
};
$.ajax({
url: 'api/user.php',
type: 'POST',
data: signUpData,
success: function (data) {
$('#modal_validate_email').fadeOut(200);
$('#modal_sign_up_success').hide().fadeIn(200);
$('#nav_default').hide();
$('#nav_logged_in').css('display', 'flex');
email = $('#input_sign_up_email').val();
password = $('#input_sign_up_password').val();
$('#input_sign_up_email').val('');
$('#input_sign_up_password').val('');
//登入cookie
setCookie('email', email, 30);
setCookie('password', password, 30);
$('#input_pay_email').val(email);
loadFamilyData('#modal_family_data .form-house-wrapper');
loadOrderData();
},
error: function (data) {
//註冊失敗
alert('註冊失敗,請重新輸入。');
}
});
});
//重寄驗證信
$('#button_resend_validate').click(function () {
//點擊加入會員
$('#button_sign_up').click();
});
var loginErrorCount = 0;
//點擊登入
$('#button_log_in').click(function () {
//驗證登入資料
var loginData = {
action: 'logIn',
email: $('#input_log_in_email').val(),
password: $('#input_log_in_password').val()
};
$.ajax({
url: 'api/user.php',
type: 'POST',
data: loginData,
success: function (data) {
//console.log(data);
if (data.status == 'success') {
//登入成功
$('#modal_log_in').fadeOut(200);
$('body').css('overflow', 'auto');
$('#nav_default').hide();
$('#nav_logged_in').css('display', 'flex');
email = $('#input_log_in_email').val();
password = $('#input_log_in_password').val();
$('#input_log_in_email').val('');
$('#input_log_in_password').val('');
//登入cookie
setCookie('email', email, 30);
setCookie('password', password, 30);
$('#input_pay_email').val(email);
loadFamilyData('#modal_family_data .form-house-wrapper');
loadOrderData();
loginErrorCount = 0;
} else {
loginErrorCount++;
//登入失敗
//密碼錯誤五次
if (loginErrorCount >= 5) {
alert('密碼錯誤5次,請重新設定密碼。');
$('#button_forget_password').click();
$('#input_log_in_email').val('');
$('#input_log_in_password').val('');
loginErrorCount = 0;
}else
{
alert('帳號或密碼錯誤。');
$('#input_log_in_password').val('');
}
}
}
});
});
//點擊前往重設密碼
$('#button_go_reset').click(function () {
//console.log('reset');
//檢查email格式
/*var email = $('#input_forget_password_email').val();
if (!email.match(/^[a-zA-Z0-9._-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/)) {
alert('請輸入正確的email格式。');
return;
}*/
//呼叫重設密碼API
var resetData = {
action: 'resetPassword',
email: $('#input_forget_password_email').val()
};
$.ajax({
url: 'api/email.php',
type: 'POST',
data: resetData,
success: function (data) {
//console.log(data);
//console.log(JSON.parse(data).url);
if (JSON.parse(data).status == 'success') {
$('#button_go_reset').css('background-color', '#A0A0A0');
$('#button_go_reset').text('請前往信箱查看驗證信');
$('#button_go_reset').attr('disabled', true);
} else {
//驗證信失敗
alert(JSON.parse(data).message);
}
},
error: function (data) {
alert('重設密碼失敗,請重新輸入。');
}
});
});
//點擊重寄驗證信
$('#button_resend_reset').click(function () {
//點擊重設密碼
$('#button_go_reset').attr('disabled', false);
$('#button_go_reset').click();
});
//判斷跳轉URL,顯示重設密碼頁面
var url = window.location.href;
//console.log(url);
if (url.indexOf('token') > -1) {
$('#modal_forget_password').fadeOut(200);
$('#modal_reset_password').hide().fadeIn(200);
email = url.split('?')[1].split('&')[0].split('=')[1];
token = url.split('?')[1].split('&')[1].split('=')[1];
}
//點擊重設密碼
$('#button_reset_confirm').click(function () {
if($('#input_reset_password').val() != $('#input_reenter_password').val()){
alert('請確認密碼是否相同。');
return;
}
if(getCookie('email') != ""){
token = "123456";
}
//驗證重設密碼資料
var resetData = {
password: $('#input_reset_password').val(),
email: email,
token: token,
action: 'resetPassword',
temple_id: temple_id
};
$.ajax({
url: 'api/user.php',
type: 'POST',
data: resetData,
success: function (data) {
if(data.status == 'success'){
//重設密碼成功
$('#modal_reset_password').fadeOut(200);
password = $('#input_reset_password').val();
setCookie('password', password, 30);
$('#input_reset_password').val('');
$('#input_reenter_password').val('');
//reset url
window.history.pushState({}, 0, window.location.href.split('?')[0]);
} else {
//重設密碼失敗
alert('重設密碼失敗,請重新輸入。');
}
}
});
});
}
//Modal-會員
function bindMemberModalEvents() {
//點擊會員資料
$('#nav-account-data').click(function () {
$('#input_account_data_email').val(email);
$('#input_account_data_password').val(password);
//取得密碼
/*var accountData = {
action: 'getAccountData',
email: email
};
$.ajax({
url: 'api/user.php',
type: 'POST',
data: accountData,
success: function (data) {
//console.log(data);
$('#input_account_data_password').val(data.password);
}
}); */
$('#modal_account_data').hide().fadeIn(200);
});
//點擊修改密碼
$('#button_change_password').click(function () {
$('#modal_account_data').fadeOut(200);
$('#modal_reset_password').hide().fadeIn(200);
});
//點擊登出
$('#button_log_out').click(function () {
$('#nav_default').css('display', 'flex');
$('#nav_logged_in').hide();
$('#modal_account_data').fadeOut(200);
//delete cookie
setCookie('email', '', 0);
setCookie('password', '', 0);
//reload page
location.reload();
});
//點擊建立家人資料
$('#button_go_family_data').click(function () {
$('#modal_sign_up_success').fadeOut(200);
$('#modal_family_data').hide().fadeIn(200);
});
//點擊儲存家人資料
$('#button_save_family_data').click(function () {
//檢查填寫完整
var isComplete = true;
$('#modal_family_data .input').each(function () {
//console.log($(this).css('border-color'));
if ($(this).css('border-color') == 'rgb(238, 238, 238)') {
isComplete = false;
}
});
if (!isComplete) {
alert('請填寫完整');
return;
}
//儲存家人資料
var family_data_detail = [];
$('#modal_family_data div[form-input="family-member"]').each(function () {
var name = $(this).find('input[text-input="name"]').val();
var gender = $(this).find('input[type="radio"]:checked').val();
var birthday = $(this).find('a[select-button="date"] div').text();
var address = $(this).closest('.form-house').find('input[text-input="address"]').val();
if($(this).find('a[name="btn_household_head"]').css('display') == 'none'){
var is_household_head = '1';
}else{
var is_household_head = $(this).find('a[name="btn_household_head"]').text() == '戶長' ? '1' : '0';
}
if (birthday === "") {
birthday = null;
}
family_data_detail.push({
name: name,
gender: gender,
birthday: birthday,
address: address,
is_household_head: is_household_head
});
});
var familyData = {
type: 'save_family_member',
email: email,
family_data_detail: JSON.stringify(family_data_detail)
};
$.ajax({
url: 'api/familyMember.php',
type: 'POST',
data: familyData,
success: function (data) {
//console.log(data);
$('#modal_family_data').fadeOut(200);
$('body').css('overflow', 'auto');
}
});
});
}
//Modal-訂單
function bindOrderModalEvents() {
//loadOrderData處理
}
//-------輔助functions--------
function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.setTime(d.getTime() + (exdays * 24 * 60 * 60 *1000));
var expires = "expires=" + d.toGMTString();
document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/";
//console.log(document.cookie);
}
function getCookie(cname) {
var name = cname + "=";
var decodedCookie = decodeURIComponent(document.cookie);
//console.log(decodedCookie);
var ca = decodedCookie.split(';');
//console.log(ca);
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
//console.log(c);
while (c.charAt(0) == ' ') {
c = c.substring(1);
//console.log(c);
}
if (c.indexOf(name) == 0) {
return c.substring(name.length, c.length);
}
}
return "";
//console.log(c);
}
//數字轉中文
function numberToChinese(number) {
var chineseNumber = ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九', '十',
'十一', '十二', '十三', '十四', '十五', '十六', '十七', '十八', '十九', '二十',
'二十一', '二十二', '二十三', '二十四', '二十五', '二十六', '二十七', '二十八', '二十九', '三十'];
return chineseNumber[number];
}
function formatNumber(num) {
if (num === "" || num === null) {
return 0;
}
return num.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1,');
}
// format number with commas and dollar sign
function formatCurrency(num) {
return "$" + formatNumber(num);
}