413 lines
11 KiB
JavaScript
413 lines
11 KiB
JavaScript
// drag and drop
|
|
$(document).ready(function(){
|
|
|
|
// set default variable
|
|
var url = 'requires/' ;
|
|
var allowSubmit = true ;
|
|
|
|
// responsive table
|
|
if ( $("#basic-datatable").length > 0 ){
|
|
$("#basic-datatable").fixedThead({
|
|
vspace: 65,
|
|
top: 10,
|
|
row: 0,
|
|
col: 0
|
|
});
|
|
}
|
|
|
|
$( "#tabs" ).tabs() ;
|
|
|
|
// responsive table
|
|
if ( $(".basic-datatable2").length > 0 ){
|
|
$(".basic-datatable2").fixedThead({
|
|
vspace: 65,
|
|
top: 10,
|
|
row: 0,
|
|
col: 0
|
|
});
|
|
}
|
|
|
|
if ( $("#basic-datatable-column-2").length > 0 ){
|
|
$("#basic-datatable-column-2").fixedThead({
|
|
vspace: 65,
|
|
top: 10,
|
|
row: 1,
|
|
col: 2
|
|
});
|
|
}
|
|
|
|
if ( $("#basic-datatable-column").length > 0 ){
|
|
$("#basic-datatable-column").fixedThead({
|
|
vspace: 65,
|
|
top: 10,
|
|
row: 1,
|
|
col: ( $( window ).width() > 768 ? 3 : 2 )
|
|
});
|
|
}
|
|
|
|
// add fancybox
|
|
if ( $('.fancybox').length > 0 ){
|
|
$('.fancybox').fancybox() ;
|
|
}
|
|
|
|
// lazy load
|
|
if ( $(".lazy_load_img").length > 0 ){
|
|
$(".lazy_load_img").unveil(300) ;
|
|
}
|
|
|
|
// select function with mobile friendly
|
|
if ( $(".select2-basic-single").length > 0 ){
|
|
$(".select2-basic-single").select2() ;
|
|
}
|
|
|
|
// datepicker
|
|
$('.datepicker').datepicker({
|
|
format: 'yyyy-mm-dd'
|
|
}).on('changeDate', function(ev){
|
|
$('.datepicker').datepicker('hide');
|
|
}) ;
|
|
|
|
// tootltip
|
|
$('[data-toggle="tooltip"]').tooltip() ;
|
|
|
|
// jquery validate form
|
|
$("#quotationForm").validate();
|
|
|
|
// user logout all device
|
|
$('.user_logout_device').click(function(){
|
|
var thisKey = $(this),
|
|
thisParent = thisKey.parent('td'),
|
|
thisId = thisKey.attr('id') ;
|
|
// check confirmation box first
|
|
if (confirm('Confirm disconnect all device?')){
|
|
$.ajax({
|
|
type: 'POST',
|
|
url: url + 'ajax_login.php?type=logout',
|
|
data: { 'id': thisId },
|
|
dataType: 'json',
|
|
success: function (data) {
|
|
if (data['result'] == 'success'){
|
|
$('#result_quantity_warning').show(0).delay(1500).hide(0) ;
|
|
thisParent.text('-') ;
|
|
}else{
|
|
location.reload() ;
|
|
}
|
|
}
|
|
});
|
|
}
|
|
return false; // ajax used, block the normal submit
|
|
}) ;
|
|
|
|
// jquery product validate form
|
|
$('.form_validate_form').validate() ;
|
|
$("#productForm").validate({
|
|
submitHandler: function (form) {
|
|
$('#ajax_loading').show();
|
|
// form validates so do the ajax
|
|
var parent = $('#productForm'),
|
|
id = $('#product_id').val(),
|
|
title = $('#autocomplete_product').val() ;
|
|
$.ajax({
|
|
type: 'POST',
|
|
url: url + 'ajax_product_title.php',
|
|
data: { 'id': id, 'title': title },
|
|
success: function (data) {
|
|
if (data == 'success'){
|
|
form.submit() ;
|
|
}else if (data == 'error-exists'){
|
|
$('.result_error').hide() ;
|
|
$('.result_success').hide() ;
|
|
$('.result_product_error').show() ;
|
|
}else{
|
|
location.reload() ;
|
|
}
|
|
}
|
|
});
|
|
return false; // ajax used, block the normal submit
|
|
}
|
|
});
|
|
|
|
// get detail from company
|
|
$('#call_company').change(function() {
|
|
var selected_page = $('#selected_page').text(),
|
|
company_name = ($(this).val()),
|
|
page_input_type = $('#page_input_type').text() ;
|
|
// show loading
|
|
$('.loading_customer').show() ;
|
|
$.ajax({
|
|
type: 'POST',
|
|
url: url + 'ajax_company_name.php' ,
|
|
data: { 'company_name': company_name, 'page_input_type': page_input_type },
|
|
dataType: 'json',
|
|
success: function (result) {
|
|
if (result != ''){
|
|
|
|
$('#call_company').val(result['id']) ;
|
|
$('#call_company_id').text(result['id']);
|
|
$('#return_company').val(result['company']);
|
|
$('#call_customer').html(result['customer']);
|
|
|
|
// for order part
|
|
$('.order_ajax_customer').val('') ;
|
|
|
|
// hide loading
|
|
$('#hide_other_customer, #hide_other_company, .loading_customer').hide() ;
|
|
}
|
|
}
|
|
}) ;
|
|
}) ;
|
|
|
|
// company search
|
|
$('#return_company').autocomplete(url + 'autocomplete.php?type=company',{
|
|
scroll: false,
|
|
width: 350,
|
|
}).result(function(){
|
|
var company_name = $('#return_company').val() ;
|
|
// show loading
|
|
$('.loading_customer').show() ;
|
|
$.ajax({
|
|
type: 'POST',
|
|
url: url + 'ajax_company_name.php',
|
|
data: { 'company_name': company_name, 'page_input_type': 'click' },
|
|
dataType: 'json',
|
|
success: function (result) {
|
|
if (result != ''){
|
|
|
|
$('#call_company').val(result['id']) ;
|
|
$('#call_company_id').text(result['id']) ;
|
|
$('#hide_company_input_type').val('wording') ;
|
|
$('#call_customer').html(result['customer']) ;
|
|
$('#return_company').val(result['company']) ;
|
|
|
|
// for order part
|
|
$('.order_ajax_customer').val('') ;
|
|
|
|
// hide some class
|
|
$('#hide_other_customer, #hide_other_company, .loading_customer').hide() ;
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
// prevent dropdown box click
|
|
$('.dropdown-menu').on('click', function(event){
|
|
event.stopPropagation() ;
|
|
}) ;
|
|
|
|
if ( $('.custom_dropdown').length !== 0 ){
|
|
$(".custom_dropdown_toggle").click( function(){
|
|
var thisKey = $(this),
|
|
thisParent = thisKey.parents('.custom_dropdown'),
|
|
thisParentID = thisParent.attr('id') ;
|
|
|
|
if ( thisParent.hasClass('open') ){
|
|
$(".dataTables_scrollBody").find("."+thisParentID).removeClass('custom_dropdown_open') ;
|
|
}else{
|
|
$(".dataTables_scrollBody").find("."+thisParentID).addClass('custom_dropdown_open') ;
|
|
}
|
|
}) ;
|
|
|
|
$('body').on('click', function(e) {
|
|
if( $(e.target).closest('.custom_dropdown').length == 0 ) {
|
|
$(".dataTables_scrollBody").find('.custom_dropdown').removeClass('custom_dropdown_open') ;
|
|
}
|
|
});
|
|
}
|
|
|
|
// image rotate
|
|
$('.rotate_image_button').click(function(){
|
|
var thisKey = $(this) ;
|
|
thisUrl = thisKey.attr('href') ;
|
|
|
|
$('.rotate_loading').show() ;
|
|
|
|
// ajax call
|
|
$.ajax({
|
|
type: 'POST',
|
|
url: thisUrl ,
|
|
data: { },
|
|
dataType: 'json', // choosing a JSON datatype
|
|
success: function (data) {
|
|
if (data['result'] == 'success'){
|
|
$('.rotate_image_link').attr('href', data['big']) ;
|
|
$('.rotate_image').attr('src', data['small']) ;
|
|
}else{
|
|
alert("Image rotate failed, please try again later!") ;
|
|
}
|
|
$('.rotate_loading').hide() ;
|
|
}
|
|
}) ;
|
|
return false ;
|
|
}) ;
|
|
|
|
// filter
|
|
$('.custom_dropdown_filter').keyup(function(e){
|
|
var thisKey = $(this),
|
|
thisParent = thisKey.parents('.dropdown-menu'),
|
|
thisVal = thisKey.val().toLowerCase(),
|
|
thisSubKey = thisSubParent = thisSubText = '' ;
|
|
|
|
$('.custom_dropdown_text').css('display', 'block') ;
|
|
if (thisVal != ''){
|
|
thisParent.find('.custom_dropdown_text').each(function(){
|
|
thisSubKey = $(this),
|
|
thisSubText = thisSubKey.text() ;
|
|
|
|
thisSubKey.hide() ;
|
|
if (thisSubText.toLowerCase().indexOf(thisVal) != -1){
|
|
thisSubKey.show() ;
|
|
}
|
|
|
|
}) ;
|
|
}
|
|
e.stopPropagation();
|
|
|
|
}) ;
|
|
|
|
$('.dropdown-menu').on('click', function(event){
|
|
//The event won't be propagated to the document NODE and
|
|
// therefore events delegated to document won't be fired
|
|
event.stopPropagation();
|
|
});
|
|
|
|
var thisValue = $("input[name='show_price']:checked").val() ;
|
|
|
|
$(".show_price_div").hide() ;
|
|
|
|
if( thisValue == 'no' ){
|
|
$(".show_price_div").show() ;
|
|
}
|
|
|
|
$('.show_price').change(function() {
|
|
var thisValue = $(this).val() ;
|
|
|
|
$(".show_price_div").hide() ;
|
|
|
|
if( thisValue == 'no' ){
|
|
$(".show_price_div").show() ;
|
|
}
|
|
});
|
|
|
|
$('.dataTable_form_edit').submit(function(){
|
|
var thisKey = $(this),
|
|
list_id = thisKey.find('.list_id').val(),
|
|
list_work_day = thisKey.find('.list_work_day').val(),
|
|
list_ot_day = thisKey.find('.list_ot_day').val(),
|
|
list_min = thisKey.find('.list_min').val(),
|
|
list_amt = thisKey.find('.list_amt').val(),
|
|
list_fd = thisKey.find('.list_fd').val(),
|
|
list_wt = thisKey.find('.list_wt').val() ;
|
|
|
|
var list_remark = thisKey.find('.list_remark').val() ;
|
|
|
|
$.ajax({
|
|
type: 'POST',
|
|
url: url + 'ajax_hr_list_update.php' ,
|
|
data: { 'list_id': list_id, 'list_work_day': list_work_day, 'list_ot_day': list_ot_day, 'list_min': list_min, 'list_amt': list_amt, 'list_fd': list_fd, 'list_wt': list_wt ,"list_remark" : list_remark },
|
|
dataType: 'json',
|
|
success: function (data) {
|
|
if ( data['result'] == 'success' ){
|
|
thisKey.addClass('dataTable_form_edit_success') ;
|
|
}else{
|
|
thisKey.addClass('dataTable_form_edit_failed') ;
|
|
}
|
|
setTimeout(function(){
|
|
thisKey.removeClass('dataTable_form_edit_success')
|
|
thisKey.removeClass('dataTable_form_edit_failed')
|
|
}, 3000) ;
|
|
}
|
|
}) ;
|
|
|
|
return false ;
|
|
}) ;
|
|
|
|
$('.dataTable_form_edit_health').submit(function(){
|
|
var thisKey = $(this),
|
|
list_staff_id = thisKey.find('.list_staff_id').val(),
|
|
list_date = thisKey.find('.list_date').val(),
|
|
list_health = thisKey.find('.list_health').val() ;
|
|
|
|
$.ajax({
|
|
type: 'POST',
|
|
url: url + 'ajax_hr_list_health.php' ,
|
|
data: { 'list_staff_id': list_staff_id, 'list_date': list_date, 'list_health': list_health },
|
|
dataType: 'json',
|
|
success: function (data) {
|
|
if ( data['result'] == 'success' ){
|
|
thisKey.addClass('dataTable_form_edit_success') ;
|
|
}else{
|
|
thisKey.addClass('dataTable_form_edit_failed') ;
|
|
}
|
|
setTimeout(function(){
|
|
thisKey.removeClass('dataTable_form_edit_success')
|
|
thisKey.removeClass('dataTable_form_edit_failed')
|
|
}, 3000) ;
|
|
}
|
|
}) ;
|
|
|
|
return false ;
|
|
}) ;
|
|
|
|
});
|
|
|
|
// custom counting method
|
|
function addNum (num1, num2) {
|
|
var sq1, sq2, m ;
|
|
try {
|
|
sq1 = num1.toString().split(".")[1].length ;
|
|
}catch (e) {
|
|
sq1 = 0 ;
|
|
}
|
|
try {
|
|
sq2 = num2.toString().split(".")[1].length ;
|
|
}catch (e) {
|
|
sq2 = 0 ;
|
|
}
|
|
m = Math.pow(10,Math.max(sq1, sq2)) ;
|
|
return (num1 * m + num2 * m) / m ;
|
|
}
|
|
|
|
// get iframe content height
|
|
function getDocHeight(doc) {
|
|
doc = doc || document;
|
|
// stackoverflow.com/questions/1145850/
|
|
var body = doc.body, html = doc.documentElement;
|
|
var height = Math.max( body.scrollHeight, body.offsetHeight,
|
|
html.clientHeight, html.scrollHeight, html.offsetHeight );
|
|
return height;
|
|
}
|
|
|
|
// set iframe height follow by content
|
|
function setIframeHeight(id) {
|
|
var ifrm = document.getElementById(id);
|
|
var doc = ifrm.contentDocument? ifrm.contentDocument:
|
|
ifrm.contentWindow.document;
|
|
ifrm.style.visibility = 'hidden';
|
|
ifrm.style.height = "10px"; // reset to minimal height ...
|
|
// IE opt. for bing/msn needs a bit added or scrollbar appears
|
|
ifrm.style.height = getDocHeight( doc ) + 4 + "px";
|
|
ifrm.style.visibility = 'visible';
|
|
}
|
|
|
|
function setIframeHeight2(id) {
|
|
var ifrm = document.getElementById(id);
|
|
var doc = ifrm.contentDocument? ifrm.contentDocument:
|
|
ifrm.contentWindow.document;
|
|
ifrm.style.visibility = 'hidden';
|
|
ifrm.style.height = "10px"; // reset to minimal height ...
|
|
// IE opt. for bing/msn needs a bit added or scrollbar appears
|
|
ifrm.style.height = getDocHeight( doc ) + 4 + "px";
|
|
ifrm.parentElement.style.height = ifrm.style.height;
|
|
ifrm.style.visibility = 'visible';
|
|
}
|
|
|
|
function zeroPad(number, length) {
|
|
|
|
var str = '' + number;
|
|
while (str.length < length) {
|
|
str = '0' + str;
|
|
}
|
|
|
|
return str;
|
|
|
|
} |