master
嘉祥 詹 2024-09-11 00:46:23 +08:00
parent b4a18c78e7
commit f5202459fa
2 changed files with 203 additions and 8 deletions

View File

@ -158,6 +158,7 @@ public class DbTableClass
public string quotation_isdel { get; set; } = "";
public string quotation_revoke { get; set; } = "";
public int quotation_version { get; set; } = 1;
public string quotation_log { get; set; } = "";
public DateTime quotation_createdate { get; set; } = DateTime.Now;
public DateTime quotation_modifydate { get; set; } = DateTime.Now;
public string quotation_create_uid { get; set; } = "";

View File

@ -148,8 +148,15 @@ $(document).ready(function () {
});
});
//新增報價單
$('#QuotationListNewBtn').on('click', function () {
deledMainItems = [];
deledSubItems = [];
deledPayments = [];
deledInvoices = [];
quotation_total = 0;
$('#quotation_sa').val(service_text());
@ -659,8 +666,8 @@ $(document).ready(function () {
htmlCode += ' <span class="drag-indicator"></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%;">' + "金額(未稅): " + AppendComma(invoice_noTaxMoney) + ' </span>\n';
htmlCode += ' <span style="width: 55%;"></span>';
htmlCode += ' <span style="width: 20%;">' + "金額(未稅): " + AppendComma(invoice_noTaxMoney) + ' </span>\n';
htmlCode += ' <span style="width: 50%;"></span>';
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 += ' </div>\n';
@ -673,6 +680,8 @@ $(document).ready(function () {
//報價單儲存
$('#modelQuotationDialogSaveBtn').on('click', function () {
updateGrandTotal();
var quotation_method = $('#quotation_method').val();
var quotation_uid = $('#quotation_uid').val();
var quotation_version = $('#quotation_version').val();
@ -688,7 +697,8 @@ $(document).ready(function () {
var contactPerson_uid = $('#contactPerson_uid').val();
var contactPerson_uid_old = $('#contactPerson_uid_old').val();
var company_uid = $('#quotation_company_uid').val();
var mainItems = [];
var quotation_log = '';
if ($('#quotation_custom').prop('checked') == true) {
quotation_prodMethod = 'custom';
@ -698,12 +708,49 @@ $(document).ready(function () {
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) {
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 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_old = $(obj).find('[data-name="quotationMainItem_name_old"]').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_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 + '%'
}
$(obj).find('[data-name="quotationMainItem_subTotal"]').val(tmpTotal);
$(obj).find('[data-span="quotationMainItem_subTotal"]').html('項目合計:&nbsp;' + AppendComma(tmpTotal));
$(obj).find('[data-span="quotationMainItem_ac"]').html('AC:&nbsp;' + ac_string + '&nbsp;');
});