计算选中数据的某项 数据总和
项目中我们的需求变得那是一塌糊涂,三天一变,很醉人。(后来又变了 )
可以看这个 https://blog.csdn.net/lzfengquan/article/details/120910618?spm=1001.2014.3001.5501
今天又变了,原本是单选,现在是要多选,并且要把选中的数据金额加一起传给后端,前端并要展示出来。
效果图如下
简单的代码如下
handleCreate = (...[, paramData]) => {
console.log('支付', paramData, '///', this.tableRef.getSelectionData().selectedRows)
const rowsData= this.tableRef.getSelectionData().selectedRows // 选中行信息
const SearchparamData = this.tableRef.getFormRef().getFieldsValue(); // 查询条件
if(rowsData == '' && SearchparamData.sourceNo == undefined){
ElNotification({
type: 'error',
message: '查询条件来源单号为空,不允许支付操作!'
});
}else{
if(rowsData != '' && rowsData.every(item => item.noPayAmount === 0)){
ElNotification({
type: 'error',
message: '暂无待支付金额,请重新选择'
});
console.log(1111111111111)
}else {
console.log(rowsData, '计算和步骤如下')
if(rowsData.every(item => item.noPayAmount !== 0 && item.payState == 'AWAIT')){
let sum = 0
rowsData.forEach(item => {
sum += item.noPayAmount
});
this.setState({
modalVisible: true, // 弹框显示
data: { payMethod: '10' }, // 付款方式 传入默认值 中金
mark: 'pay', // 按钮的type值
unpaidInfo: {
settleEntityName: rowsData.settleEntityName, // 付款主体
noPayAmount:sum, // 本次付款金额 总和
settleEntityAddrNo: rowsData.settleEntityAddrNo, // 银行的地址号
payId: rowsData.id, // 用户ID
},
modalConfirmLoading: false
});
}else {
ElNotification({
type: 'error',
message: '选中数据中有非待付款状态或无待支付金额,请重新选择'
});
}
}
}
};