diff --git a/ruoyi-admin/src/main/resources/templates/system/salesOrder/add.html b/ruoyi-admin/src/main/resources/templates/system/salesOrder/add.html index 4b00e58a..8c2a3885 100644 --- a/ruoyi-admin/src/main/resources/templates/system/salesOrder/add.html +++ b/ruoyi-admin/src/main/resources/templates/system/salesOrder/add.html @@ -66,12 +66,12 @@
-
- -
- -
-
+ + + + + +
@@ -342,9 +342,24 @@ } }, {title: '半成品类型',field: 'processMethod',align: 'center',formatter: function(value, row, index) {return $.table.selectDictLabel(processMethodDatas, value);}}, - { title: '对外售价',field: 'materialSole',editable: true}, + { title: '对外售价',field: 'materialSole',align: 'center',}, {title: '国内税率',field: 'countTax',align: 'center',editable: {type: 'text',mode: 'inline',},}, { title: '美元汇率',field: 'usdTax', align: 'center',editable: {type: 'text',mode: 'inline', }}, + {title: '物料的数量',field: 'materialNum',align: 'center', + editable:{ + type : 'text', + mode: 'inline', + title : '物料的数量', + validate : function(value) { + if (!value) { + return '用量不能为空'; + } + if (isNaN(value)) { + return '用量必须为数字'; + } + } + }, + }, { title: '物料的不含税单价(RMB)', field: 'materialNoRmb', align: 'center', @@ -374,21 +389,6 @@ } }, { 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: '物料的不含税单价(美元)', @@ -514,15 +514,15 @@ // } // }); //获取单号 - $.ajax({ - url: prefix + "/getId", - type: "post", - dateType: "json", - success: function (resp) { - if (resp.code === 0) {$("input[name='salesOrderCode']").val(resp.data);} else {$.modal.msgError("失败啦");} - }, - error: function () {$.modal.msgError("后台出错啦!");} - }); + // $.ajax({ + // url: prefix + "/getId", + // type: "post", + // dateType: "json", + // success: function (resp) { + // if (resp.code === 0) {$("input[name='salesOrderCode']").val(resp.data);} else {$.modal.msgError("失败啦");} + // }, + // error: function () {$.modal.msgError("后台出错啦!");} + // }); //获取客户信息 var options = []; // $.ajax({ @@ -643,11 +643,53 @@ // $("select[name='enterpriseCode']").val(null).trigger('change'); } }); - + // 更新列可见性的函数 + function updateColumnVisibility(currencyType,columnName) { + var $table = $("#bootstrap-sub-table-order"); + var usdColumns = ['usdTax', 'materialNoUsd', 'materialUsd', 'materialUsdSum', 'materialNoUsdSum']; + var rmbColumns = ['countTax', 'materialNoRmb', 'materialRmb', 'materialNoRmbSum', 'materialRmbSum']; + if (currencyType === '1') { + // 隐藏指定的列 + usdColumns.forEach(function(columnName) { + $table.bootstrapTable('hideColumn', columnName); + }); + // 显示指定的列 + rmbColumns.forEach(function(columnName) { + $table.bootstrapTable('showColumn', columnName); + }); + var data = $table.bootstrapTable('getData'); + data.forEach(function(row, index) { + updateColumnValue(index, 0, "usdTax"); + }); + } else { + // 隐藏指定的列 + rmbColumns.forEach(function(columnName) { + $table.bootstrapTable('hideColumn', columnName); + }); + // 显示指定的列 + usdColumns.forEach(function(columnName) { + $table.bootstrapTable('showColumn', columnName); + }); + var data = $table.bootstrapTable('getData'); + data.forEach(function(row, index) { + updateColumnValue(index, 0, "countTax"); + }); + } + } + // 更新或清除特定行的指定列的值 + function updateColumnValue(rowIndex, value, columnName) { + var $table = $("#bootstrap-sub-table-order"); + $table.bootstrapTable('updateCell', { + index: rowIndex, + field: columnName, + value: value + }); + } // 选择币种 $("#commonCurrency_add").on('change', function() { var selectedValue = $(this).val(); - + var $table = $("#bootstrap-sub-table-order"); + updateColumnVisibility(selectedValue); if(selectedValue ==="1"){ if($('#usdTax').length!=0){ $('#usdTax').remove(); @@ -667,6 +709,16 @@ '
' ); $('#commonCurrency').after($taxArea); + // 为税率输入框添加 change 事件监听器 + $taxArea.on('change', '#taxRate_add', function(event) { + // console.log('税率改变:', $(this).val()); + var taxValue = $(this).val(); + var data = $table.bootstrapTable('getData'); + data.forEach(function(row, index) { + updateColumnValue(index, taxValue, "countTax"); + }); + }); + $taxArea.find('#taxRate_add').trigger('change'); }else if(selectedValue ==="2"){ if($('#usdTax').length!=0){ $('#usdTax').remove(); @@ -675,14 +727,24 @@ $('#rmbTax').remove(); } var $taxArea = $( - '
' + - '' + - '
' + - '' + - '
' + - '
' - ); - $('#commonCurrency').after($taxArea); + '
' + + '' + + '
' + + '' + + '
' + + '
' + ); + $('#commonCurrency').after($taxArea); + // 为税率输入框添加 change 事件监听器 + $taxArea.on('change', '#usdTax_add', function(event) { + var taxValue = $(this).val(); + var data = $table.bootstrapTable('getData'); + data.forEach(function(row, index) { + updateColumnValue(index, taxValue, "usdTax"); + }); + + }); + $taxArea.find('#usdTax_add').trigger('change'); } }); @@ -809,7 +871,7 @@ warehouseDept: rowData.warehouseDept, countTax: $("#taxRate_add").val(), usdTax: $("#usdTax_add").val(), - materialSole: "", + materialSole: 0, materialNum: "", materialNoRmb: 0.00, materialNoUsd: 0.00,