|
@ -55,12 +55,11 @@ |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
<div class="form-group"> |
|
|
<div class="form-group"> |
|
|
<label class="col-sm-6 control-label is-required">是否含税:</label> |
|
|
<label class="col-sm-4 control-label is-required">是否含税:</label> |
|
|
<div class="col-sm-6"> |
|
|
<div class="col-sm-8"> |
|
|
<div class="radio-box" th:each="dict : ${@dict.getType('sys_confirm_tax')}"> |
|
|
<div class="radio-box" th:each="dict : ${@dict.getType('sys_confirm_tax')}"> |
|
|
<input required type="radio" th:id="${'confirmFax_' + dict.dictCode}" |
|
|
<input type="radio" th:id="${dict.dictCode}" name="confirmFax" th:value="${dict.dictValue}" th:checked="${dict.default}"> |
|
|
name="confirmFax" th:value="${dict.dictValue}" th:checked="${dict.default}"> |
|
|
<label th:for="${dict.dictCode}" th:text="${dict.dictLabel}"></label> |
|
|
<label th:for="${'confirmFax_' + dict.dictCode}" th:text="${dict.dictLabel}"></label> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
@ -168,9 +167,7 @@ |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
//获取客户信息 |
|
|
//获取客户信息 |
|
|
$(document).ready(function() { |
|
|
|
|
|
// 初始化时默认加载客户编号列表 |
|
|
|
|
|
loadCustomerIds(); |
|
|
|
|
|
|
|
|
|
|
|
// 监听客户编号下拉框的变化 |
|
|
// 监听客户编号下拉框的变化 |
|
|
$('#customerCode').on('change', function() { |
|
|
$('#customerCode').on('change', function() { |
|
@ -189,6 +186,17 @@ |
|
|
$.modal.alertWarning('未能获取到客户名称!'); |
|
|
$.modal.alertWarning('未能获取到客户名称!'); |
|
|
} |
|
|
} |
|
|
$('input[name="customerName"]').val(data.data.customerName); |
|
|
$('input[name="customerName"]').val(data.data.customerName); |
|
|
|
|
|
$("input[name='rmbTax']").val(data.data.taxRate); |
|
|
|
|
|
// 根据data.data.confirmTax的值(0或1)来选中对应的单选按钮 |
|
|
|
|
|
if(data.data.confirmTax === '0' || data.data.confirmTax === '1') { |
|
|
|
|
|
console.log("data.data.confirmTax:",data.data.confirmTax) |
|
|
|
|
|
$('input:radio[name="confirmFax"][value="' + data.data.confirmTax + '"]').attr('checked', 'checked'); |
|
|
|
|
|
} else { |
|
|
|
|
|
// 如果返回的值不是预期的0或1,可处理异常情况 |
|
|
|
|
|
console.warn("Unexpected confirmTax value:", data.data.confirmTax); |
|
|
|
|
|
} |
|
|
|
|
|
$("#commonCurrency_add").val(data.data.commonCurrency).trigger('change'); |
|
|
|
|
|
commonCurrency = $("#commonCurrency_add option:selected").val(); |
|
|
}, |
|
|
}, |
|
|
error: function(jqXHR, textStatus, errorThrown) { |
|
|
error: function(jqXHR, textStatus, errorThrown) { |
|
|
console.error('Error:', textStatus, errorThrown); |
|
|
console.error('Error:', textStatus, errorThrown); |
|
@ -200,7 +208,12 @@ |
|
|
$('input[name="customerName"]').val(''); |
|
|
$('input[name="customerName"]').val(''); |
|
|
} |
|
|
} |
|
|
}); |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$(document).ready(function() { |
|
|
|
|
|
// 初始化时默认加载客户编号列表 |
|
|
|
|
|
loadCustomerIds(); |
|
|
|
|
|
}); |
|
|
// 假设的加载客户编号列表函数 |
|
|
// 假设的加载客户编号列表函数 |
|
|
function loadCustomerIds() { |
|
|
function loadCustomerIds() { |
|
|
var url = ctx + 'system/customer/getCustomers'; |
|
|
var url = ctx + 'system/customer/getCustomers'; |
|
@ -222,7 +235,7 @@ |
|
|
// 假设item有id和name两个属性,分别代表客户ID和客户编号 |
|
|
// 假设item有id和name两个属性,分别代表客户ID和客户编号 |
|
|
selectElement.append('<option value="' + item.customerId + '">' + item.customerId + '</option>'); |
|
|
selectElement.append('<option value="' + item.customerId + '">' + item.customerId + '</option>'); |
|
|
}); |
|
|
}); |
|
|
$('#customerCode').val(customerId); |
|
|
// $('#customerCode').val(customerId); |
|
|
} else { |
|
|
} else { |
|
|
$.modal.errMsg("数据为空"); |
|
|
$.modal.errMsg("数据为空"); |
|
|
} |
|
|
} |
|
@ -257,16 +270,6 @@ |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// // 逻辑删除收款凭证前端的一行数据 |
|
|
|
|
|
// function removeRow(receivablesRecordsId){ |
|
|
|
|
|
// console.log(receivablesRecordsId); |
|
|
|
|
|
// // 直接使用 receivablesRecordsId 值进行删除操作 |
|
|
|
|
|
// $("#bootstrap-receivablesVoucher-table").bootstrapTable('remove', { |
|
|
|
|
|
// field: 'receivablesRecordsId', |
|
|
|
|
|
// values: receivablesRecordsId |
|
|
|
|
|
// }); |
|
|
|
|
|
// } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$(function() { |
|
|
$(function() { |
|
@ -484,6 +487,7 @@ |
|
|
// // 计算不含税价格 |
|
|
// // 计算不含税价格 |
|
|
// var noTaxPrice = noTaxValue.toFixed(2); |
|
|
// var noTaxPrice = noTaxValue.toFixed(2); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 根据选择的货币类型计算其他值 |
|
|
// 根据选择的货币类型计算其他值 |
|
|
if (commonCurrency1 === '1') { |
|
|
if (commonCurrency1 === '1') { |
|
|
// RMB为基准货币 |
|
|
// RMB为基准货币 |
|
@ -512,6 +516,37 @@ |
|
|
} |
|
|
} |
|
|
}; |
|
|
}; |
|
|
$.table.init(options); |
|
|
$.table.init(options); |
|
|
|
|
|
// 初始化表格 |
|
|
|
|
|
var bootstrapSubTableQuoteChild = $('#bootstrap-sub-table-quoteChild').bootstrapTable(options); |
|
|
|
|
|
// 监听货币类型选择器变化 |
|
|
|
|
|
// $("#commonCurrency_add").on('change', function() { |
|
|
|
|
|
// var currencyVal = $(this).val(); |
|
|
|
|
|
// var columns = bootstrapSubTableQuoteChild.bootstrapTable('getColumns'); |
|
|
|
|
|
// columns.forEach(function(column) { |
|
|
|
|
|
// // 根据货币类型和列名决定是否启用编辑 |
|
|
|
|
|
// if (column.field !== 'materialNoRmb' && column.field !== 'materialNoUsd') { |
|
|
|
|
|
// column.editable.enabled = function() { |
|
|
|
|
|
// return (currencyVal === '1' && row.materialNoRmb) || (currencyVal === '2' && row.materialNoUsd); |
|
|
|
|
|
// }; |
|
|
|
|
|
// } |
|
|
|
|
|
// }); |
|
|
|
|
|
// // bootstrapSubTableQuoteChild.bootstrapTable('refreshOptions', { columns: columns }); |
|
|
|
|
|
// }); |
|
|
|
|
|
|
|
|
|
|
|
// 添加编辑保存事件监听器 |
|
|
|
|
|
bootstrapSubTableQuoteChild.on('editable-save.bs.table', function(e, field, row, oldValue, $el) { |
|
|
|
|
|
var currencyVal = $("#commonCurrency_add").val(); |
|
|
|
|
|
var requiredField = (currencyVal === '1') ? 'materialNoRmb' : 'materialNoUsd'; |
|
|
|
|
|
|
|
|
|
|
|
// 检查是否尝试编辑除requiredField外的字段,且requiredField未填写 |
|
|
|
|
|
if (field !== requiredField && (!row[requiredField] || row[requiredField].trim() === '')) { |
|
|
|
|
|
$.modal.alertWarning((currencyVal === '1' ? "请首先填写物料的不含税单价(RMB)" : "请首先填写物料的不含税单价(美元)")); |
|
|
|
|
|
// 可以选择取消这次编辑操作,但Bootstrap Table默认不会提供直接的API来取消编辑后的保存,您可能需要手动恢复数据或采取其他策略。 |
|
|
|
|
|
} |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
// 初始化时也需要根据当前的货币类型设置一次 |
|
|
|
|
|
$("#commonCurrency_add").trigger('change'); |
|
|
}); |
|
|
}); |
|
|
//获取单号 |
|
|
//获取单号 |
|
|
$.ajax({ |
|
|
$.ajax({ |
|
@ -624,97 +659,6 @@ |
|
|
minView: "month", |
|
|
minView: "month", |
|
|
autoclose: true |
|
|
autoclose: true |
|
|
}); |
|
|
}); |
|
|
//计算金额 |
|
|
|
|
|
// function getTotalAmount() { |
|
|
|
|
|
// // 获取表格数据 |
|
|
|
|
|
// const data = $("#bootstrap-sub-table-quoteChild").bootstrapTable('getData', true); |
|
|
|
|
|
// // 初始化汇总对象,减少代码重复并提高清晰度 |
|
|
|
|
|
// const sums = { |
|
|
|
|
|
// enterprise: "", // 用于拼接物料名称和数量 |
|
|
|
|
|
// enterpriseSum: 0, // 物料总数量 |
|
|
|
|
|
// currencies: { |
|
|
|
|
|
// noRmb: { total: 0, single: 0 }, // 非人民币数量与总金额 |
|
|
|
|
|
// rmb: { total: 0, single: 0 }, // 人民币 |
|
|
|
|
|
// noUsd: { total: 0, single: 0 }, // 非美元 |
|
|
|
|
|
// usd: { total: 0, single: 0 } // 美元 |
|
|
|
|
|
// } |
|
|
|
|
|
// }; |
|
|
|
|
|
// // 遍历数据进行计算 |
|
|
|
|
|
// for (let i = 0; i < data.length; i++) { |
|
|
|
|
|
// const item = data[i]; |
|
|
|
|
|
// // 拼接物料信息 |
|
|
|
|
|
// sums.enterprise += "" + item.materialName + ": 数量 : " + item.materialNum; |
|
|
|
|
|
// sums.enterpriseSum += parseFloat(item.materialNum); // 累加物料数量 |
|
|
|
|
|
// // 分别累加各货币的单个金额和总金额 |
|
|
|
|
|
// ['noRmb', 'rmb', 'noUsd', 'usd'].forEach(currency => { |
|
|
|
|
|
// sums.currencies[currency].single += parseFloat(item['material' + [currency] ]); |
|
|
|
|
|
// sums.currencies[currency].total += parseFloat(item['material' + [currency] + 'Sum']); |
|
|
|
|
|
// }); |
|
|
|
|
|
// } |
|
|
|
|
|
// updateFormValues(sums); |
|
|
|
|
|
// } |
|
|
|
|
|
// function updateFormValues(sums) { |
|
|
|
|
|
// // 物料合计与数量合计没有在sums中直接给出,这里假设它们需要单独处理或已存在于页面其他部分 |
|
|
|
|
|
// $("#enterprise_add").val(sums.enterprise); |
|
|
|
|
|
// $("#enterpriseSum_add").val(sums.enterpriseSum); |
|
|
|
|
|
// |
|
|
|
|
|
// // 更新不含税单价和总价 |
|
|
|
|
|
// $("#noRmb_add").val(sums.currencies.noRmb.single); |
|
|
|
|
|
// $("#noRmbSum_add").val(sums.currencies.noRmb.total); |
|
|
|
|
|
// |
|
|
|
|
|
// $("#rmb_add").val(sums.currencies.rmb.single); |
|
|
|
|
|
// $("#rmbSum_add").val(sums.currencies.rmb.total); |
|
|
|
|
|
// |
|
|
|
|
|
// $("#noUsd_add").val(sums.currencies.noUsd.single); |
|
|
|
|
|
// $("#noUsdSum_add").val(sums.currencies.noUsd.total); |
|
|
|
|
|
// |
|
|
|
|
|
// $("#usd_add").val(sums.currencies.usd.single); |
|
|
|
|
|
// $("#usdSum_add").val(sums.currencies.usd.total); |
|
|
|
|
|
// } |
|
|
|
|
|
// $(document).ready(function() { |
|
|
|
|
|
// // 监听货币选项变化 |
|
|
|
|
|
// $("#commonCurrency_add").on("change", function() { |
|
|
|
|
|
// var isEditable = $(this).val() === "1"; |
|
|
|
|
|
// var fieldName = ""; |
|
|
|
|
|
// var materialColumnCells = $('#bootstrap-sub-table-quoteChild tbody tr td [field=" '+ fieldName+' "]'); |
|
|
|
|
|
// // 根据是否可编辑,添加或移除xEditable |
|
|
|
|
|
// materialColumnCells.each(function() { |
|
|
|
|
|
// var cell = $(this); |
|
|
|
|
|
// var currentValue = cell.text().trim(); // 获取当前单元格的值 |
|
|
|
|
|
// |
|
|
|
|
|
// if (isEditable) { |
|
|
|
|
|
// // 如果允许编辑且尚未添加xEditable |
|
|
|
|
|
// if (!cell.hasClass('editable')) { |
|
|
|
|
|
// cell.addClass('editable'); // 添加标记类,以便跟踪状态 |
|
|
|
|
|
// cell.editable({ |
|
|
|
|
|
// type: 'text', |
|
|
|
|
|
// pk: cell.closest('tr').data('id'), // 假设每行有唯一ID |
|
|
|
|
|
// title: '物料的数量', |
|
|
|
|
|
// validate: function(value) { |
|
|
|
|
|
// if (!value) return '金额不能为空'; |
|
|
|
|
|
// if (isNaN(value)) return '金额必须为数字'; |
|
|
|
|
|
// return true; |
|
|
|
|
|
// }, |
|
|
|
|
|
// success: function(response, newValue) { |
|
|
|
|
|
// // 成功后的回调,这里可以根据需要处理服务器响应 |
|
|
|
|
|
// } |
|
|
|
|
|
// }); |
|
|
|
|
|
// } |
|
|
|
|
|
// } else { |
|
|
|
|
|
// // 如果不允许编辑且已添加了xEditable |
|
|
|
|
|
// if (cell.hasClass('editable')) { |
|
|
|
|
|
// cell.removeClass('editable'); |
|
|
|
|
|
// // 这里简化处理,实际中可能需要更复杂的逻辑来销毁xEditable实例 |
|
|
|
|
|
// cell.off('.editable'); // 移除xEditable绑定的事件 |
|
|
|
|
|
// cell.text(currentValue); // 还原原始文本 |
|
|
|
|
|
// } |
|
|
|
|
|
// } |
|
|
|
|
|
// }); |
|
|
|
|
|
// }); |
|
|
|
|
|
// |
|
|
|
|
|
// // 初始化时触发一次,根据默认状态设置可编辑性 |
|
|
|
|
|
// $("#commonCurrency_add").trigger("change"); |
|
|
|
|
|
// }); |
|
|
|
|
|
function getTotalAmount() { |
|
|
function getTotalAmount() { |
|
|
var getData = $("#bootstrap-sub-table-quoteChild").bootstrapTable('getData'); |
|
|
var getData = $("#bootstrap-sub-table-quoteChild").bootstrapTable('getData'); |
|
|
var enterprise = 0; |
|
|
var enterprise = 0; |
|
|