From 00ec86bf85989ab96640aac671d52707cd2d9130 Mon Sep 17 00:00:00 2001
From: liuxiaoxu <1793812695@qq.com>
Date: Wed, 12 Jun 2024 19:29:12 +0800
Subject: [PATCH] =?UTF-8?q?[fix]=E9=94=80=E5=94=AE=E7=AE=A1=E7=90=86:=20?=
=?UTF-8?q?=E5=AE=A2=E6=88=B7=E6=8A=A5=E4=BB=B7=20=E5=89=8D=E7=AB=AF?=
=?UTF-8?q?=E9=A1=B5=E9=9D=A2=E6=96=B0=E5=A2=9E=E8=AE=A1=E7=AE=97=E6=A8=A1?=
=?UTF-8?q?=E5=9D=97=E7=9A=84form=E8=A1=A8=E5=8D=95=20=E4=BF=AE=E6=94=B9?=
=?UTF-8?q?=E5=89=8D=E7=AB=AF=E9=A1=B5=E9=9D=A2=20=20=20`noRmbSum`=20'?=
=?UTF-8?q?=E4=B8=8D=E5=90=AB=E7=A8=8E=E6=80=BB=E4=BB=B7(RMB)',=20=20=20`r?=
=?UTF-8?q?mb`=20'=E5=90=AB=E7=A8=8E=E5=8D=95=E4=BB=B7(RMB)',=20=20=20`noR?=
=?UTF-8?q?mb`=20=20'=E4=B8=8D=E5=90=AB=E7=A8=8E=E5=8D=95=E4=BB=B7(RMB)',?=
=?UTF-8?q?=20=20=20`rmbSum`=20=20'=E5=90=AB=E7=A8=8E=E6=80=BB=E4=BB=B7(RM?=
=?UTF-8?q?B)',=20=20=20`noUsd`=20'=E4=B8=8D=E5=90=AB=E7=A8=8E=E5=8D=95?=
=?UTF-8?q?=E4=BB=B7(=E7=BE=8E=E5=85=83)',=20=E9=A1=BA=E5=BA=8F=E9=97=AE?=
=?UTF-8?q?=E9=A2=98=EF=BC=8C=E5=AD=97=E6=AE=B5=E6=B7=B7=E4=B9=B1=EF=BC=8C?=
=?UTF-8?q?=E5=AD=97=E6=AE=B5=E5=92=8C=E6=B1=89=E5=AD=97=E5=AF=B9=E4=B8=8D?=
=?UTF-8?q?=E4=B8=8A=20=E4=BF=AE=E6=94=B9=E7=89=A9=E6=96=99=E5=88=97?=
=?UTF-8?q?=E8=A1=A8=E8=AE=A1=E7=AE=97=E5=85=AC=E5=8F=B8=EF=BC=8C=E6=8C=89?=
=?UTF-8?q?=E7=85=A7prd=E4=B8=8A=E8=AE=A1=E7=AE=97=E5=AF=B9=E5=BA=94?=
=?UTF-8?q?=E7=9A=84=E4=BB=B7=E6=A0=BC=20=E5=AE=9E=E7=8E=B0=E5=89=8D?=
=?UTF-8?q?=E7=AB=AF=E9=A1=B5=E9=9D=A2=E8=AE=A1=E7=AE=97=E6=A8=A1=E5=9D=97?=
=?UTF-8?q?=E7=9A=84form=E8=A1=A8=E5=8D=95=E7=9A=84=E7=BB=9F=E8=AE=A1?=
=?UTF-8?q?=E6=95=B0=E6=8D=AE=E7=9A=84=E5=9B=9E=E6=98=BE?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../system/domain/SysCustomerQuoteChild.java | 16 +-
.../templates/system/customerQuote/add.html | 407 ++++++++++++------
2 files changed, 275 insertions(+), 148 deletions(-)
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysCustomerQuoteChild.java b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysCustomerQuoteChild.java
index 6c852cb3..6600c658 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysCustomerQuoteChild.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/system/domain/SysCustomerQuoteChild.java
@@ -70,12 +70,12 @@ public class SysCustomerQuoteChild extends BaseEntity
@Excel(name = "物料的对外售价")
private BigDecimal materialSole;
- /** 物料的不含税单价(RMB) */
- @Excel(name = "物料的不含税单价(RMB) ")
+ /** 物料的含税单价(RMB) */
+ @Excel(name = "物料的含税单价(RMB) ")
private BigDecimal materialRmb;
- /** 物料的含税单价(RMB) */
- @Excel(name = "物料的含税单价(RMB)")
+ /** 物料的不含税单价(RMB) */
+ @Excel(name = "物料的不含税单价(RMB)")
private BigDecimal materialNoRmb;
/** 物料的不含税单价(USD) */
@@ -94,12 +94,12 @@ public class SysCustomerQuoteChild extends BaseEntity
@Excel(name = "物料的不含税总价(USD)")
private BigDecimal materialNoUsdSum;
- /** 物料的含税总价(RMB) */
- @Excel(name = "物料的含税总价(RMB)")
- private BigDecimal materialNoRmbSum;
-
/** 物料的不含税总价(RMB) */
@Excel(name = "物料的不含税总价(RMB)")
+ private BigDecimal materialNoRmbSum;
+
+ /** 物料的含税总价(RMB) */
+ @Excel(name = "物料的含税总价(RMB)")
private BigDecimal materialRmbSum;
/** 审核状态 */
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 f81c34f4..5d218ee8 100644
--- a/ruoyi-admin/src/main/resources/templates/system/customerQuote/add.html
+++ b/ruoyi-admin/src/main/resources/templates/system/customerQuote/add.html
@@ -49,9 +49,9 @@
@@ -255,6 +255,43 @@
commonCurrency = $("#commonCurrency_add option:selected").val();
console.log("commonCurrency",commonCurrency);
});
+
+
+
+ //添加收款明细
+ function insertNoMaterialNoRow() {
+ // 生成一个简单的唯一标识,这里使用时间戳作为示例
+ var uniqueId = new Date().getTime();
+ // 创建一个新行数据模板,这里仅为示例,具体根据表格列来定义
+ var newRow = {
+ materialId:uniqueId,
+ materialCode: "",
+ materialName: "",
+ materialType: "",
+ describe: "",
+ brand: "",
+ unit: "",
+ processMethod: "",
+ photoUrl: "",
+ };
+
+ // 使用Bootstrap Table的API插入新行
+ $('#bootstrap-sub-table-quoteChild').bootstrapTable('append', newRow);
+
+ }
+
+ // // 逻辑删除收款凭证前端的一行数据
+ // function removeRow(receivablesRecordsId){
+ // console.log(receivablesRecordsId);
+ // // 直接使用 receivablesRecordsId 值进行删除操作
+ // $("#bootstrap-receivablesVoucher-table").bootstrapTable('remove', {
+ // field: 'receivablesRecordsId',
+ // values: receivablesRecordsId
+ // });
+ // }
+
+
+
$(function() {
var options = {
id:'bootstrap-sub-table-quoteChild',
@@ -333,21 +370,6 @@
{title: '国内税率',field: 'countTax',align: 'center',},
{ title: '美元汇率',field: 'usdTax', align: 'center',},
- {field: 'materialNum',align: 'center',title: '物料的数量',
- editable:{
- type : 'text',
- mode: 'inline',
- title : '物料的数量',
- validate : function(value) {
- if (!value) {
- return '用量不能为空';
- }
- if (isNaN(value)) {
- return '用量必须为数字';
- }
- }
- },
- },
{ title: '物料的不含税单价(RMB)',
field: 'materialNoRmb',
align: 'center',
@@ -376,6 +398,24 @@
}
}
},
+ { title: '物料的含税单价(RMB)',field: 'materialRmb',align: 'center',},
+ {field: 'materialNum',align: 'center',title: '物料的数量',
+ editable:{
+ type : 'text',
+ mode: 'inline',
+ title : '物料的数量',
+ validate : function(value) {
+ if (!value) {
+ return '用量不能为空';
+ }
+ if (isNaN(value)) {
+ return '用量必须为数字';
+ }
+ }
+ },
+ },
+ {title: '物料的不含税总价(RMB)',field: 'materialNoRmbSum',align: 'center',},
+ { title: '物料的含税总价(RMB)',field: 'materialRmbSum',align: 'center',},
{title: '物料的不含税单价(美元)',
field: 'materialNoUsd',
align: 'center',
@@ -407,9 +447,6 @@
{ title: '物料的含税单价(美元)',field: 'materialUsd',align: 'center',},
{ title: '物料的含税总价(美元)',field: 'materialUsdSum', align: 'center',},
{ title: '物料的不含税总价(美元)',field: 'materialNoUsdSum',align: 'center',},
- { title: '物料的含税总价(RMB)',field: 'materialRmb',align: 'center',},
- { title: '物料的含税总价(RMB)',field: 'materialNoRmbSum',align: 'center',},
- {title: '物料的不含税总价(RMB)',field: 'materialRmbSum',align: 'center',},
{field: 'createBy', align: 'center',title: '录入人',visible: false},
{field: 'createTime',align: 'center',title: '录入时间',visible: false},
{field: 'updateBy',align: 'center',title: '更新人',visible: false},
@@ -427,45 +464,75 @@
}
}
],
- onEditableSave:function(field, row, oldValue, $el){
- var commonCurrency1 = $("#commonCurrency_add option:selected").val();
- var rmb1 = $("#rmbTax_add").val();
- if (rmb1 =='' || rmb1== null){
- rmb1 = 0;
- }else{
- rmb1 = $("#rmbTax_add").val();
- }
- var rmb = parseFloat(rmb1);
- var usd = $("#usdTax_add").val();
- if (usd =='' || usd== null){
- usd = 0;
- }else{
- usd = parseFloat(usd);
+
+ onClickCell: function(field, value, row, $element) {
+ // 根据物料号是否存在决定是否允许编辑
+ if (field !== 'index' && field !== 'materialCode' && field !== 'photoUrl' && field !== 'operation') {
+ var isEditable = !row.materialCode; // 如果物料号不存在,则允许编辑
+ // 判断是否已有编辑框,避免重复打开
+ if (isEditable && !$element.find('.editable-input').length) {
+ // 模拟开启编辑
+ var input = $('');
+ $element.empty().append(input);
+ input.focus();
+ input.blur(function() {
+ // 用户离开输入框时,手动保存编辑值并关闭编辑状态
+ var newValue = input.val();
+ // 这里你需要添加代码来实际更新表格数据和关闭编辑状态
+ row[field] = newValue; // 更新数据模型
+ $element.text(newValue).removeClass('editing');
+ });
+ $element.addClass('editing');
+ }
}
- console.log(commonCurrency1);
- if(commonCurrency1 == 1){
- row.materialNoRmb = parseFloat(row.materialNoRmb).toFixed(2);
- row.materialRmb = parseFloat(row.materialNoRmb * parseFloat(1 + rmb)).toFixed(2);
- row.materialNoRmbSum = parseFloat(row.materialNum * parseFloat(row.materialNoRmb)).toFixed(2);
- row.materialRmbSum = parseFloat(row.materialRmb * row.materialNum).toFixed(2);
- row.materialNoUsd = parseFloat(row.materialNoRmb / usd).toFixed(2);
- row.materialNoUsdSum = parseFloat(row.materialNum * row.materialNoUsd).toFixed(2);
- row.materialUsd = parseFloat(row.materialNoUsd).toFixed(2);
- row.materialUsdSum = parseFloat(row.materialNum * row.materialUsd).toFixed(2);
+ },
+
+ onEditableSave: function(field, row, oldValue, $el) {
+ var commonCurrency1 = $("#commonCurrency_add option:selected").val();
+ //把上面输入的百分比国内汇率由整数转换成小数
+ var rmbRateInput = parseFloat($("#rmbTax_add").val()) || 0;
+ var rmbRate = rmbRateInput / 100; // 将输入的百分比转换为小数
+ rmbRate = parseFloat(rmbRate.toFixed(2)); // 确保rmbRate转换为两位小数的浮点数
+ var usdRate = parseFloat($("#usdTax_add").val()) || 0;
+
+ var testMaterialNum = parseFloat(row.materialNum) || 0;
+
+ console.log("rmbRate:",rmbRate)
+ console.log("usdRate:",usdRate)
+
+ console.log("testMaterialNum:",testMaterialNum)
+ // // 确保计算使用的是正确的数值类型
+ // var noTaxValue = field === 'materialNoRmb' ? parseFloat(row.materialNoRmb) : parseFloat(row.materialNoUsd);
+ //
+ // // 计算不含税价格
+ // var noTaxPrice = noTaxValue.toFixed(2);
+ // 根据选择的货币类型计算其他值
+ if (commonCurrency1 === '1') {
+ // RMB为基准货币
+ row.materialRmb = (parseFloat(row.materialNoRmb) * (1 + rmbRate)).toFixed(2);
+ row.materialRmbSum = (parseFloat(row.materialRmb) * testMaterialNum).toFixed(2);
+ row.materialNoRmbSum = (parseFloat(row.materialNoRmb) * testMaterialNum).toFixed(2);
+ row.materialNoUsd = (parseFloat(row.materialNoRmb) / usdRate).toFixed(2);
+ row.materialUsd = row.materialNoUsd; // 保持一致,除非有特别的计算逻辑
+ row.materialUsdSum = (parseFloat(row.materialUsd) * testMaterialNum).toFixed(2);
+ row.materialNoUsdSum = (parseFloat(row.materialNoUsd) * testMaterialNum).toFixed(2);
+ } else if (commonCurrency1 === '2') {
+ // USD为基准货币
+ row.materialUsd = row.materialNoUsd
+ row.materialUsdSum = (parseFloat(row.materialUsd) * testMaterialNum).toFixed(2);
+ row.materialNoUsdSum = (parseFloat(row.materialNoUsd) * testMaterialNum).toFixed(2);
+ row.materialNoRmb = (parseFloat(row.materialNoUsd) * usdRate).toFixed(2);
+ row.materialRmb = (parseFloat(row.materialNoRmb) * (1 + rmbRate)).toFixed(2);
+ row.materialNoRmbSum = (parseFloat(row.materialNoRmb) * testMaterialNum).toFixed(2);
+ row.materialRmbSum = (parseFloat(row.materialRmb) * testMaterialNum).toFixed(2);
}
- else if( commonCurrency1 == 2){
- row.materialNoUsd = parseFloat(row.materialNoUsd).toFixed(2);
- row.materialUsd = parseFloat(row.materialNoUsd).toFixed(2);
- row.materialUsdSum = parseFloat(row.materialNum * row.materialUsd).toFixed(2);
- row.materialNoUsdSum = parseFloat(row.materialNoUsd * row.materialNum).toFixed(2);
- row.materialNoRmb = parseFloat(row.materialNoUsd * usd).toFixed(2);
- row.materialRmb = parseFloat(row.materialNoRmb * (1 + rmb)).toFixed(2);
- row.materialNoRmbSum = parseFloat(row.materialNoRmb * row.materialNum).toFixed(2);
- row.materialRmbSum = parseFloat(row.materialRmb * row.materialNum).toFixed(2);
+
+ // 确保getTotalAmount函数存在且正确引用
+ if (typeof getTotalAmount === 'function') {
+ getTotalAmount();
}
- getTotalAmount()
- },
+ }
};
$.table.init(options);
});
@@ -548,10 +615,18 @@
$.modal.alertWarning("请先选择客户");
return;
}
+
+ if ($("#usdTax_add").val() == null || $("#usdTax_add").val() == '') {
+ $.modal.alertWarning("请输入美元汇率");
+ return;
+ }
+
if ($("#rmbTax_add").val() == null || $("#rmbTax_add").val() == '') {
- $.modal.alertWarning("请先选择输入国内的税率");
+ $.modal.alertWarning("请输入国内的税率");
return;
}
+
+
var url = ctx + "erp/material/select";
var options = {
title: '选择料号',
@@ -573,96 +648,148 @@
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() {
- // 获取表格数据
- 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);
+ var getData = $("#bootstrap-sub-table-quoteChild").bootstrapTable('getData');
+ var enterprise = 0;
+ var enterpriseSum = 0;
+ var noRmb = 0;
+ var rmb = 0;
+ var noRmbSum = 0;
+ var rmbSum = 0;
+ var noUsd = 0;
+ var usd = 0;
+ var noUsdSum = 0;
+ var usdSum = 0;
- // 更新不含税单价和总价
- $("#noRmb_add").val(sums.currencies.noRmb.single);
- $("#noRmbSum_add").val(sums.currencies.noRmb.total);
+ // 计算企业数量和物料数量总和
+ enterprise = getData.length; // 直接获取数据长度
+ enterpriseSum = getData.reduce((sum, item) => sum + (parseInt(item.materialNum) || 0), 0);
- $("#rmb_add").val(sums.currencies.rmb.single);
- $("#rmbSum_add").val(sums.currencies.rmb.total);
+ // 先累加数值,toFixed在累加后应用以避免精度损失
+ for (let i = 0; i < getData.length; i++) {
+ noRmb += parseFloat(getData[i].materialNoRmb) || 0;
+ rmb += parseFloat(getData[i].materialRmb) || 0;
+ noRmbSum += parseFloat(getData[i].materialNoRmbSum) || 0;
+ rmbSum += parseFloat(getData[i].materialRmbSum) || 0;
+ noUsd += parseFloat(getData[i].materialNoUsd) || 0;
+ usd += parseFloat(getData[i].materialUsd) || 0;
+ noUsdSum += parseFloat(getData[i].materialNoUsdSum) || 0;
+ usdSum += parseFloat(getData[i].materialUsdSum) || 0;
+ }
- $("#noUsd_add").val(sums.currencies.noUsd.single);
- $("#noUsdSum_add").val(sums.currencies.noUsd.total);
+ // 将累加的结果格式化为两位小数
+ noRmb = noRmb.toFixed(2);
+ rmb = rmb.toFixed(2);
+ noRmbSum = noRmbSum.toFixed(2);
+ rmbSum = rmbSum.toFixed(2);
+ noUsd = noUsd.toFixed(2);
+ usd = usd.toFixed(2);
+ noUsdSum = noUsdSum.toFixed(2);
+ usdSum = usdSum.toFixed(2);
- $("#usd_add").val(sums.currencies.usd.single);
- $("#usdSum_add").val(sums.currencies.usd.total);
+ // 设置表单输入值
+ $("input[name='enterprise']").val(enterprise);
+ $("input[name='enterpriseSum']").val(enterpriseSum);
+ $("input[name='noRmb']").val(noRmb);
+ $("input[name='noRmbSum']").val(noRmbSum);
+ $("input[name='rmb']").val(rmb);
+ $("input[name='rmbSum']").val(rmbSum);
+ $("input[name='noUsd']").val(noUsd);
+ $("input[name='noUsdSum']").val(noUsdSum);
+ $("input[name='usd']").val(usd);
+ $("input[name='usdSum']").val(usdSum);
}
- $(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");
- });