|
@@ -10,10 +10,12 @@ import ChartItem from "./ChartItem";
|
|
|
class AssessResult extends Component {
|
|
|
constructor(props) {
|
|
|
super(props);
|
|
|
+ const chooseSelecteds = JSON.parse(JSON.stringify(props.chooseSelecteds));
|
|
|
+ const wholeIndexs = JSON.parse(JSON.stringify(props.wholeIndexs)); //深度复制,Object.assgin为浅复制,下下级会同源
|
|
|
this.state={
|
|
|
- chooseSelecteds:Object.assign({},props.chooseSelecteds), //大数据选择模块
|
|
|
+ chooseSelecteds:chooseSelecteds, //大数据选择模块
|
|
|
chartTimeTypes:{}, //图表模块
|
|
|
- wholeAssessItems:Object.assign({},props.wholeIndexs), //整体评估模块
|
|
|
+ wholeAssessItems:wholeIndexs, //整体评估模块
|
|
|
wholeAssessText:props.wholeAssessText||'' //整体评估补充说明
|
|
|
}
|
|
|
this.handleChooseChange = this.handleChooseChange.bind(this);
|
|
@@ -51,12 +53,13 @@ class AssessResult extends Component {
|
|
|
}
|
|
|
componentWillUnmount(){
|
|
|
//点确定关闭弹窗时把参数传到父组件去
|
|
|
- const {handleSave,isAssessConfirm} = this.props;
|
|
|
+ const {handleSave,isAssessConfirm,clearChartData} = this.props;
|
|
|
+ clearChartData&&clearChartData();
|
|
|
isAssessConfirm&&handleSave(this.state);
|
|
|
}
|
|
|
handoutTypes(item,i){
|
|
|
- const {getIndexData,indexData,timeTypes,wholeAssessData,wholeIndexs} =this.props;
|
|
|
- const {chooseSelecteds,wholeAssessItems,wholeAssessText} = this.state;
|
|
|
+ const {getIndexData,indexData,timeTypes,wholeAssessData} =this.props;
|
|
|
+ const {chooseSelecteds,wholeAssessItems,wholeAssessText,chartTimeTypes} = this.state;
|
|
|
const chartData = indexData;
|
|
|
const name = item.regionName+":";
|
|
|
const list = item.data&&item.data.rows;
|
|
@@ -66,7 +69,7 @@ class AssessResult extends Component {
|
|
|
case 1: //数据来源于大数据
|
|
|
return <ChooseItem title={name} data={list} handleChange={this.handleChooseChange.bind(this,i)} selecteds={chooseSelecteds[i]} ></ChooseItem>;
|
|
|
case 10: //数据来源于后台
|
|
|
- return <ChartItem title={name} data={chartData||{}} timeTypes={timeTypes} initFn={getIndexData} handleChange={this.handleChartChange.bind(this,i)}></ChartItem>;
|
|
|
+ return <ChartItem title={name} data={chartData||{}} timeTypes={JSON.stringify(chartTimeTypes)=='{}'?timeTypes&&timeTypes[i]:chartTimeTypes[i]} pindex={i} initFn={getIndexData} handleChange={this.handleChartChange.bind(this,i)}></ChartItem>;
|
|
|
default:
|
|
|
return '';
|
|
|
}
|