|
@@ -206,22 +206,24 @@ class ScaleTable extends React.Component{
|
|
|
}
|
|
|
componentWillUnmount(){
|
|
|
// 储存计算结果和选择后的data
|
|
|
- const {tableId,getResult,parentId,parentIndex,scaleInfo,saveScaleData} = this.props;
|
|
|
- const {valueData,scaleResult1} = this.state;
|
|
|
- // 替换表格内容
|
|
|
- let allDatas = scaleInfo[tableId]?JSON.parse(JSON.stringify(scaleInfo[tableId])):'' ;
|
|
|
- if(allDatas){
|
|
|
- // allDatas[1].content = JSON.stringify(valueData);
|
|
|
- for(let i=0; i<allDatas.length; i++){
|
|
|
- if(allDatas[i].type==1){
|
|
|
- allDatas[i].content = JSON.stringify(valueData);
|
|
|
+ const {tableId,getResult,parentId,parentIndex,scaleInfo,saveScaleData,formulaResult} = this.props;
|
|
|
+ const {valueData,scaleResult1,start} = this.state;
|
|
|
+ // 替换表格内容--1)没有点计算且没有计算结果;2)点了计算
|
|
|
+ const scaleResult = scaleResult1 || formulaResult&&formulaResult[tableId]; //量表计算结果
|
|
|
+ if(start || !scaleResult){
|
|
|
+ let allDatas = scaleInfo[tableId]?JSON.parse(JSON.stringify(scaleInfo[tableId])):'' ;
|
|
|
+ if(allDatas){
|
|
|
+ for(let i=0; i<allDatas.length; i++){
|
|
|
+ if(allDatas[i].type==1){
|
|
|
+ allDatas[i].content = JSON.stringify(valueData);
|
|
|
+ }
|
|
|
}
|
|
|
+ // 需求:未点计算,直接点确定、关闭也保存选中数据 4-30
|
|
|
+ saveScaleData&&saveScaleData({id:tableId,data:allDatas});
|
|
|
}
|
|
|
- // 需求:未点计算,直接点确定、关闭也保存选中数据 4-30
|
|
|
- saveScaleData&&saveScaleData({id:tableId,data:allDatas});
|
|
|
}
|
|
|
|
|
|
- if(scaleResult1){
|
|
|
+ if(scaleResult1){
|
|
|
const params = {
|
|
|
type:1,
|
|
|
data:scaleResult1,
|
|
@@ -229,7 +231,7 @@ class ScaleTable extends React.Component{
|
|
|
pIndex:parentIndex
|
|
|
}
|
|
|
getResult&&getResult(params);
|
|
|
- }
|
|
|
+ }
|
|
|
}
|
|
|
getContent(){
|
|
|
let {selecteds,valueData,start,scaleResult1} = this.state;
|