合计数

# 待办任务列表 ![image.png](https://cos.easydoc.net/24916735/files/k6q4zqqx.png) # 1.1 react-intl-universal 国际化 注意: 如果使用多语言需要结合后台实现 https://blog.csdn.net/zhuming3834/article/details/98847188 https://blog.csdn.net/qq_35089721/article/details/84635057 同时使用 value 和 defaultValue属性造成,由于受控组件和非受控组件混用造成 Warning: A future version of React will block javascript: URLs as a security precaution. 类似 <a href={javascript:;}/>&<a href={javascript:void(0)}/>被禁止 replacng javascript:void(0) to href='#' onClick={e => e.preventDefault()}> ## 1.2 task.js 前台 规则-->事件。 刷新字表。 ```js -- 001 const totalNumberDes = '合计数:'; -- 002 this.state = { selectedRowKeys: [], userData: [], taskStatus: [], errMsg: [], status: { 'ENABLE': intlGetD('status.enable'), 'DISABLE': intlGetD('status.disable'), 'DEL': intlGetD('delete') }, hoverIndex: -1, visible: false, infovisible: false, record: fsscIframeSrc ? { 'url': decodeURIComponent(fsscIframeSrc) } : {}, totalNumber: 0, --003 // 01.页面 勾选数据 触发的初始化位置。 onSelectedRowKeysChange = (ind, selectedRows) => { // if(selectedRows[0]&&!selectedRows[0].selective){ // message.warning('当前项不可选'); // return false; // } // this.setState({ selectedRowKeys }); let { selectedRowKeys, userData, totalNumber } = this.state; let updateNumber = 0; totalNumber = 0.00; // totalNumber = parseInt(totalNumber); if (selectedRowKeys.indexOf(ind) === -1) { let has = [...selectedRowKeys, ind]; let selectData = has.map((item) => { return userData[item]; }); // selectData 是选中的数据 selectData.forEach(data => { if (data.amount !== '-') { updateNumber = parseInt(data.amount.substr(1, data.amount.length)); } else { updateNumber = 0; } totalNumber += updateNumber; }); let hasC1 = this.isBillFromC1(selectData); this.setState({ totalNumber: totalNumber, selectedRowKeys: has, batchPrintDisable: hasC1 }); } else { let hasArray = selectedRowKeys.filter(item => item !== ind); // 通过hasArray去处理数据 let selectData = hasArray.map((item) => { return userData[item]; }); selectData.forEach(data => { if (data.amount !== '-') { // data.amount=''; let res = 0; res = data.amount.substr(1, data.amount.length); updateNumber = parseInt(data.amount.substr(1, data.amount.length)); } else { updateNumber = 0; } totalNumber += updateNumber; }); let hasC1 = this.isBillFromC1(selectData); this.setState({ totalNumber: totalNumber, selectedRowKeys: hasArray, batchPrintDisable: hasC1 }); } } -- 004 {/* 2020-02-19 hejie 合计数,如果使用多语言需要结合后台实现 */} <span style={{ marginLeft: '10px' }}>{totalNumberDes} <span style={{color: 'red'}}>{totalNumber}</span> </span> ``` ## 1.3 效果 ![image.png](https://cos.easydoc.net/24916735/files/k6t9y6nz.png)