updates
parent
b4a18c78e7
commit
f5202459fa
|
|
@ -158,6 +158,7 @@ public class DbTableClass
|
||||||
public string quotation_isdel { get; set; } = "";
|
public string quotation_isdel { get; set; } = "";
|
||||||
public string quotation_revoke { get; set; } = "";
|
public string quotation_revoke { get; set; } = "";
|
||||||
public int quotation_version { get; set; } = 1;
|
public int quotation_version { get; set; } = 1;
|
||||||
|
public string quotation_log { get; set; } = "";
|
||||||
public DateTime quotation_createdate { get; set; } = DateTime.Now;
|
public DateTime quotation_createdate { get; set; } = DateTime.Now;
|
||||||
public DateTime quotation_modifydate { get; set; } = DateTime.Now;
|
public DateTime quotation_modifydate { get; set; } = DateTime.Now;
|
||||||
public string quotation_create_uid { get; set; } = "";
|
public string quotation_create_uid { get; set; } = "";
|
||||||
|
|
|
||||||
|
|
@ -148,8 +148,15 @@ $(document).ready(function () {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
//新增報價單
|
||||||
$('#QuotationListNewBtn').on('click', function () {
|
$('#QuotationListNewBtn').on('click', function () {
|
||||||
|
|
||||||
|
deledMainItems = [];
|
||||||
|
deledSubItems = [];
|
||||||
|
deledPayments = [];
|
||||||
|
deledInvoices = [];
|
||||||
|
|
||||||
quotation_total = 0;
|
quotation_total = 0;
|
||||||
|
|
||||||
$('#quotation_sa').val(service_text());
|
$('#quotation_sa').val(service_text());
|
||||||
|
|
@ -659,8 +666,8 @@ $(document).ready(function () {
|
||||||
htmlCode += ' <span class="drag-indicator"></span>\n';
|
htmlCode += ' <span class="drag-indicator"></span>\n';
|
||||||
htmlCode += ' <span style="width: 15%;"> ' + "開立品項: " + invoice_name + ' </span>\n';
|
htmlCode += ' <span style="width: 15%;"> ' + "開立品項: " + invoice_name + ' </span>\n';
|
||||||
htmlCode += ' <span style="width: 15%;"> ' + "開立月份: " + invoice_date + ' </span\n';
|
htmlCode += ' <span style="width: 15%;"> ' + "開立月份: " + invoice_date + ' </span\n';
|
||||||
htmlCode += ' <span style="width: 15%;">' + "金額(未稅): " + AppendComma(invoice_noTaxMoney) + ' </span>\n';
|
htmlCode += ' <span style="width: 20%;">' + "金額(未稅): " + AppendComma(invoice_noTaxMoney) + ' </span>\n';
|
||||||
htmlCode += ' <span style="width: 55%;"></span>';
|
htmlCode += ' <span style="width: 50%;"></span>';
|
||||||
htmlCode += ' <div class="btn-group ml-auto">\n';
|
htmlCode += ' <div class="btn-group ml-auto">\n';
|
||||||
htmlCode += ' <button class="btn btn-sm btn-secondary" data-method="add" onclick="delInvoiceItem(this);"><i class="far fa-trash-alt"></i></button>\n';
|
htmlCode += ' <button class="btn btn-sm btn-secondary" data-method="add" onclick="delInvoiceItem(this);"><i class="far fa-trash-alt"></i></button>\n';
|
||||||
htmlCode += ' </div>\n';
|
htmlCode += ' </div>\n';
|
||||||
|
|
@ -673,6 +680,8 @@ $(document).ready(function () {
|
||||||
|
|
||||||
//報價單儲存
|
//報價單儲存
|
||||||
$('#modelQuotationDialogSaveBtn').on('click', function () {
|
$('#modelQuotationDialogSaveBtn').on('click', function () {
|
||||||
|
updateGrandTotal();
|
||||||
|
|
||||||
var quotation_method = $('#quotation_method').val();
|
var quotation_method = $('#quotation_method').val();
|
||||||
var quotation_uid = $('#quotation_uid').val();
|
var quotation_uid = $('#quotation_uid').val();
|
||||||
var quotation_version = $('#quotation_version').val();
|
var quotation_version = $('#quotation_version').val();
|
||||||
|
|
@ -688,7 +697,8 @@ $(document).ready(function () {
|
||||||
var contactPerson_uid = $('#contactPerson_uid').val();
|
var contactPerson_uid = $('#contactPerson_uid').val();
|
||||||
var contactPerson_uid_old = $('#contactPerson_uid_old').val();
|
var contactPerson_uid_old = $('#contactPerson_uid_old').val();
|
||||||
var company_uid = $('#quotation_company_uid').val();
|
var company_uid = $('#quotation_company_uid').val();
|
||||||
var mainItems = [];
|
|
||||||
|
var quotation_log = '';
|
||||||
|
|
||||||
if ($('#quotation_custom').prop('checked') == true) {
|
if ($('#quotation_custom').prop('checked') == true) {
|
||||||
quotation_prodMethod = 'custom';
|
quotation_prodMethod = 'custom';
|
||||||
|
|
@ -698,12 +708,49 @@ $(document).ready(function () {
|
||||||
quotation_prodMethod = 'template';
|
quotation_prodMethod = 'template';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (quotation_method == 'edit') {
|
||||||
|
if (quotation_date != quotation_date_old) {
|
||||||
|
quotation_log += '報價日期由 ' + quotation_date_old + ' 變更為 ' + quotation_date + '\n';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (quotation_expStart != quotation_expStart_old || quotation_expEnd != quotation_expEnd_old) {
|
||||||
|
quotation_log += '報價有效期由 ' + quotation_expStart_old + '至' + quotation_expEnd_old + ' 變更為 ' + quotation_expStart + '至' + quotation_expEnd + '\n';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (quotation_name != quotation_name_old) {
|
||||||
|
quotation_log += '報價單名稱由 ' + quotation_name_old + ' 變更為 ' + quotation_name + '\n';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (contactPerson_uid != contactPerson_uid_old) {
|
||||||
|
quotation_log += '客戶窗口人選變更\n';
|
||||||
|
}
|
||||||
|
|
||||||
|
$.each(deledMainItems, function (index, value) {
|
||||||
|
quotation_log += value.mainItem_msg + '\n';
|
||||||
|
});
|
||||||
|
|
||||||
|
$.each(deledSubItems, function (index, value) {
|
||||||
|
quotation_log += value.subItem_msg + '\n';
|
||||||
|
});
|
||||||
|
|
||||||
|
$.each(deledPayments, function (index, value) {
|
||||||
|
quotation_log += value.message + '\n';
|
||||||
|
});
|
||||||
|
|
||||||
|
$.each(deledInvoices, function (index, value) {
|
||||||
|
quotation_log += value.message + '\n';
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
var mainItems = [];
|
||||||
//報價單項目
|
//報價單項目
|
||||||
$('#modelItem_div .card').each(function (index, obj) {
|
$('#modelItem_div .card').each(function (index, obj) {
|
||||||
var data_type = $(obj).prop('data-type');
|
|
||||||
var mainItem_uid = $(obj).prop('data-main-uid');
|
|
||||||
|
var data_type = $(obj).attr('data-type');
|
||||||
|
var mainItem_uid = $(obj).attr('data-main-uid');
|
||||||
var mainItem_uid_old = $(obj).find('[data-name="mainItem_uid_old"]').val();
|
var mainItem_uid_old = $(obj).find('[data-name="mainItem_uid_old"]').val();
|
||||||
var quotationMainItem_uid = $(obj).prop('data-uid');
|
var quotationMainItem_uid = $(obj).attr('data-uid');
|
||||||
var quotationMainItem_name = $(obj).find('[data-name="quotationMainItem_name"]').val();
|
var quotationMainItem_name = $(obj).find('[data-name="quotationMainItem_name"]').val();
|
||||||
var quotationMainItem_name_old = $(obj).find('[data-name="quotationMainItem_name_old"]').val();
|
var quotationMainItem_name_old = $(obj).find('[data-name="quotationMainItem_name_old"]').val();
|
||||||
var quotationMainItem_ac = $(obj).find('[data-name="quotationMainItem_ac"]').val();
|
var quotationMainItem_ac = $(obj).find('[data-name="quotationMainItem_ac"]').val();
|
||||||
|
|
@ -711,8 +758,154 @@ $(document).ready(function () {
|
||||||
var quotationMainItem_subTotal = $(obj).find('[data-name="quotationMainItem_subTotal"]').val();
|
var quotationMainItem_subTotal = $(obj).find('[data-name="quotationMainItem_subTotal"]').val();
|
||||||
var quotationMainItem_subTotal_old = $(obj).find('[data-name="quotationMainItem_subTotal_old"]').val();
|
var quotationMainItem_subTotal_old = $(obj).find('[data-name="quotationMainItem_subTotal_old"]').val();
|
||||||
|
|
||||||
|
if (quotation_method == 'edit') {
|
||||||
|
if (data_type == 'add') {
|
||||||
|
quotation_log += '新增報價主項目 - ' + quotationMainItem_name + '\n';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (data_type == 'edit') {
|
||||||
|
if (quotationMainItem_name != quotationMainItem_name_old) {
|
||||||
|
quotation_log += '報價主項目名稱由 [' + quotationMainItem_name_old + '] 更改為 [' + quotationMainItem_name + '] \n';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (quotationMainItem_ac != quotationMainItem_ac_old) {
|
||||||
|
quotation_log += '報價主項目 [' + quotationMainItem_name + '] 的服務費比例由 [' + quotationMainItem_ac_old + '%] 更改為 [' + quotationMainItem_ac + '%] \n';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var subitems = [];
|
||||||
|
|
||||||
|
$(obj).find('ol li').each(function (i, item) {
|
||||||
|
var data_method = $(item).attr('data-method');
|
||||||
|
var quotationSubItem_uid = $(item).attr('data-model-subitem-uid');
|
||||||
|
var subItem_uid = $(item).find('[data-name="subItem_uid"]').val();
|
||||||
|
var quotationSubItem_name = $(item).find('[data-name="quotationSubItem_name"]').val();
|
||||||
|
var quotationSubItem_price = $(item).find('[data-name="quotationSubItem_price"]').val();
|
||||||
|
var quotationSubItem_hasAC = $(item).find('[data-name="quotationSubItem_hasAC"]').val();
|
||||||
|
var quotationSubItem_unitType = $(item).find('[data-name="quotationSubItem_unitType"]').val();
|
||||||
|
var quotationSubItem_number = $(item).find('[data-name="quotationSubItem_number"]').val();
|
||||||
|
var quotationSubItem_subTotal = $(item).find('[data-name="quotationSubItem_subTotal"]').val();
|
||||||
|
var quotationSubItem_descript = $(item).find('[data-name="quotationSubItem_descript"]').val();
|
||||||
|
var subItem_uid_old = $(item).find('[data-name="subItem_uid_old"]').val();
|
||||||
|
var quotationSubItem_name_old = $(item).find('[data-name="quotationSubItem_name_old"]').val();
|
||||||
|
var quotationSubItem_price_old = $(item).find('[data-name="quotationSubItem_price_old"]').val();
|
||||||
|
var quotationSubItem_hasAC_old = $(item).find('[data-name="quotationSubItem_hasAC_old"]').val();
|
||||||
|
var quotationSubItem_unitType_old = $(item).find('[data-name="quotationSubItem_unitType_old"]').val();
|
||||||
|
var quotationSubItem_number_old = $(item).find('[data-name="quotationSubItem_number_old"]').val();
|
||||||
|
var quotationSubItem_subTotal_old = $(item).find('[data-name="quotationSubItem_subTotal_old"]').val();
|
||||||
|
var quotationSubItem_descript_old = $(item).find('[data-name="quotationSubItem_descript_old"]').val();
|
||||||
|
|
||||||
|
var subItemFormData = {
|
||||||
|
quotationSubItem_uid: quotationSubItem_uid,
|
||||||
|
subItem_uid: subItem_uid,
|
||||||
|
quotationSubItem_name: quotationSubItem_name,
|
||||||
|
quotationSubItem_price: quotationSubItem_price,
|
||||||
|
quotationSubItem_unitType: quotationSubItem_unitType,
|
||||||
|
quotationSubItem_number: quotationSubItem_number,
|
||||||
|
quotationSubItem_hasAC: quotationSubItem_hasAC,
|
||||||
|
quotationSubItem_subTotal: quotationSubItem_subTotal,
|
||||||
|
quotationSubItem_descript: quotationSubItem_descript
|
||||||
|
}
|
||||||
|
|
||||||
|
subitems.push(subItemFormData);
|
||||||
|
|
||||||
|
if (data_method == 'edit') {
|
||||||
|
if (quotationSubItem_name != quotationSubItem_name_old) {
|
||||||
|
quotation_log += '報價主項目 [' + quotationMainItem_name + '] 的子項目名稱由 [' + quotationSubItem_name_old + '] 更改為 [' + quotationSubItem_name + '] \n';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (quotationSubItem_price != quotationSubItem_price_old) {
|
||||||
|
quotation_log += '報價主項目 [' + quotationMainItem_name + '] 的子項目 [' + quotationSubItem_name + '] 的單價由 [' + AppendComma(quotationSubItem_price_old) + '] 更改為 [' + AppendComma(quotationSubItem_price) + '] \n';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (quotationSubItem_unitType != quotationSubItem_unitType_old) {
|
||||||
|
quotation_log += '報價主項目 [' + quotationMainItem_name + '] 的子項目 [' + quotationSubItem_name + '] 的計價單位由 [' + quotationSubItem_unitType_old + '] 更改為 [' + quotationSubItem_unitType + '] \n';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (quotationSubItem_number != quotationSubItem_number_old) {
|
||||||
|
quotation_log += '報價主項目 [' + quotationMainItem_name + '] 的子項目 [' + quotationSubItem_name + '] 的數量由 [' + AppendComma(quotationSubItem_number_old) + '] 更改為 [' + AppendComma(quotationSubItem_number) + '] \n';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (quotationSubItem_subTotal != quotationSubItem_subTotal_old) {
|
||||||
|
quotation_log += '報價主項目 [' + quotationMainItem_name + '] 的子項目 [' + quotationSubItem_name + '] 的價格由 [' + AppendComma(quotationSubItem_subTotal_old) + '] 更改為 [' + AppendComma(quotationSubItem_subTotal) + '] \n';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (quotationSubItem_descript != quotationSubItem_descript_old) {
|
||||||
|
quotation_log += '報價主項目 [' + quotationMainItem_name + '] 的子項目 [' + quotationSubItem_name + '] 的細項敘述有異動 \n';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (quotationSubItem_hasAC != quotationSubItem_hasAC_old) {
|
||||||
|
quotation_log += '報價主項目 [' + quotationMainItem_name + '] 的子項目 [' + quotationSubItem_name + '] 的收取AC由 [' + quotationSubItem_hasAC_old + '] 改為 [' + quotationSubItem_hasAC + '] \n';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
var mainItemFormData = {
|
||||||
|
mainItem_uid: mainItem_uid,
|
||||||
|
quotationMainItem_uid: quotationMainItem_uid,
|
||||||
|
quotationMainItem_name: quotationMainItem_name,
|
||||||
|
quotationMainItem_ac: quotationMainItem_ac,
|
||||||
|
quotationMainItem_subTotal: quotationMainItem_subTotal,
|
||||||
|
subitems: subitems
|
||||||
|
}
|
||||||
|
|
||||||
|
mainItems.push(mainItemFormData);
|
||||||
|
});
|
||||||
|
|
||||||
|
var payments = [];
|
||||||
|
$('#payment_div').find('ol li').each(function (i, item) {
|
||||||
|
|
||||||
|
var payment_method = $(item).find('[data-name="payment_method"]').val();
|
||||||
|
var payment_methodname = $(item).find('[data-name="payment_methodname"]').val();
|
||||||
|
var payment_descript = $(item).find('[data-name="payment_descript"]').val();
|
||||||
|
|
||||||
|
|
||||||
|
var paymentFormData = {
|
||||||
|
payment_method: payment_method,
|
||||||
|
payment_methodname: payment_methodname,
|
||||||
|
payment_descript: payment_descript
|
||||||
|
}
|
||||||
|
|
||||||
|
payments.push(paymentFormData);
|
||||||
|
});
|
||||||
|
|
||||||
|
var invoices = [];
|
||||||
|
$('#invoice_div').find('ol li').each(function (i, item) {
|
||||||
|
|
||||||
|
var invoice_name = $(item).find('[data-name="invoice_name"]').val();
|
||||||
|
var invoice_date = $(item).find('[data-name="invoice_date"]').val();
|
||||||
|
var invoice_noTaxMoney = $(item).find('[data-name="invoice_noTaxMoney"]').val();
|
||||||
|
|
||||||
|
|
||||||
|
var invoiceFormData = {
|
||||||
|
invoice_name: invoice_name,
|
||||||
|
invoice_date: invoice_date,
|
||||||
|
invoice_noTaxMoney: invoice_noTaxMoney
|
||||||
|
}
|
||||||
|
|
||||||
|
invoices.push(invoiceFormData);
|
||||||
|
});
|
||||||
|
|
||||||
|
var formData = {
|
||||||
|
method: quotation_method,
|
||||||
|
quotation_uid: quotation_uid,
|
||||||
|
quotation_version: quotation_version,
|
||||||
|
quotation_prodMethod: quotation_prodMethod,
|
||||||
|
quotation_date: quotation_date,
|
||||||
|
quotation_expStart: quotation_expStart,
|
||||||
|
quotation_expEnd: quotation_expEnd,
|
||||||
|
quotation_name: quotation_name,
|
||||||
|
contactPerson_uid: contactPerson_uid,
|
||||||
|
company_uid: company_uid,
|
||||||
|
quotation_log: quotation_log,
|
||||||
|
mainItems: mainItems,
|
||||||
|
payments: payments,
|
||||||
|
invoices: invoices
|
||||||
|
}
|
||||||
|
|
||||||
|
var testflag = 1;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -1413,6 +1606,7 @@ function noTaxCalcItemPrice() {
|
||||||
ac_string = quotationMainItem_ac + '%'
|
ac_string = quotationMainItem_ac + '%'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$(obj).find('[data-name="quotationMainItem_subTotal"]').val(tmpTotal);
|
||||||
$(obj).find('[data-span="quotationMainItem_subTotal"]').html('項目合計: ' + AppendComma(tmpTotal));
|
$(obj).find('[data-span="quotationMainItem_subTotal"]').html('項目合計: ' + AppendComma(tmpTotal));
|
||||||
$(obj).find('[data-span="quotationMainItem_ac"]').html('AC: ' + ac_string + ' ');
|
$(obj).find('[data-span="quotationMainItem_ac"]').html('AC: ' + ac_string + ' ');
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue