diff --git a/Modals/DbTableClass.cs b/Modals/DbTableClass.cs
index a1b66116..9b36fd5f 100644
--- a/Modals/DbTableClass.cs
+++ b/Modals/DbTableClass.cs
@@ -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; } = "";
diff --git a/wwwroot/assets/javascript/custom/projectlist.js b/wwwroot/assets/javascript/custom/projectlist.js
index 309582bf..6e634855 100644
--- a/wwwroot/assets/javascript/custom/projectlist.js
+++ b/wwwroot/assets/javascript/custom/projectlist.js
@@ -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 += ' \n';
htmlCode += ' ' + "開立品項: " + invoice_name + ' \n';
htmlCode += ' ' + "開立月份: " + invoice_date + ' ' + "金額(未稅): " + AppendComma(invoice_noTaxMoney) + ' \n';
- htmlCode += ' ';
+ htmlCode += ' ' + "金額(未稅): " + AppendComma(invoice_noTaxMoney) + ' \n';
+ htmlCode += ' ';
htmlCode += '
\n';
htmlCode += ' \n';
htmlCode += '
\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;
});
});
@@ -1412,7 +1605,8 @@ function noTaxCalcItemPrice() {
} else {
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_ac"]').html('AC: ' + ac_string + ' ');
});