diff --git a/ruoyi-admin/src/main/resources/mapper/system/SysCustomerMapper.xml b/ruoyi-admin/src/main/resources/mapper/system/SysCustomerMapper.xml
index 85bf377b..754ad177 100644
--- a/ruoyi-admin/src/main/resources/mapper/system/SysCustomerMapper.xml
+++ b/ruoyi-admin/src/main/resources/mapper/system/SysCustomerMapper.xml
@@ -136,7 +136,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
diff --git a/ruoyi-admin/src/main/resources/templates/system/customerQuote/add.html b/ruoyi-admin/src/main/resources/templates/system/customerQuote/add.html
index 125ffe60..aba0fcd1 100644
--- a/ruoyi-admin/src/main/resources/templates/system/customerQuote/add.html
+++ b/ruoyi-admin/src/main/resources/templates/system/customerQuote/add.html
@@ -55,12 +55,11 @@
-
-
@@ -168,9 +167,7 @@
}
}
//获取客户信息
- $(document).ready(function() {
- // 初始化时默认加载客户编号列表
- loadCustomerIds();
+
// 监听客户编号下拉框的变化
$('#customerCode').on('change', function() {
@@ -189,6 +186,17 @@
$.modal.alertWarning('未能获取到客户名称!');
}
$('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) {
console.error('Error:', textStatus, errorThrown);
@@ -200,7 +208,12 @@
$('input[name="customerName"]').val('');
}
});
- });
+
+
+ $(document).ready(function() {
+ // 初始化时默认加载客户编号列表
+ loadCustomerIds();
+ });
// 假设的加载客户编号列表函数
function loadCustomerIds() {
var url = ctx + 'system/customer/getCustomers';
@@ -222,7 +235,7 @@
// 假设item有id和name两个属性,分别代表客户ID和客户编号
selectElement.append('
');
});
- $('#customerCode').val(customerId);
+ // $('#customerCode').val(customerId);
} else {
$.modal.errMsg("数据为空");
}
@@ -257,16 +270,6 @@
}
- // // 逻辑删除收款凭证前端的一行数据
- // function removeRow(receivablesRecordsId){
- // console.log(receivablesRecordsId);
- // // 直接使用 receivablesRecordsId 值进行删除操作
- // $("#bootstrap-receivablesVoucher-table").bootstrapTable('remove', {
- // field: 'receivablesRecordsId',
- // values: receivablesRecordsId
- // });
- // }
-
$(function() {
@@ -484,6 +487,7 @@
// // 计算不含税价格
// var noTaxPrice = noTaxValue.toFixed(2);
+
// 根据选择的货币类型计算其他值
if (commonCurrency1 === '1') {
// RMB为基准货币
@@ -512,6 +516,37 @@
}
};
$.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({
@@ -624,97 +659,6 @@
minView: "month",
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() {
var getData = $("#bootstrap-sub-table-quoteChild").bootstrapTable('getData');
var enterprise = 0;