import React, { Component } from "react";
import style from "./index.less";
import { Radio } from '@commonComp';
import ChooseItem from "./ChooseItem";
import ScaleItem from "./ScaleItem";
import Information from '../Information'
import ChartItem from "./ChartItem";
import Notify from '@commonComp/Notify';
import {readyKeepHistory} from '@utils/tools';
import loadingIcon from '@common/images/loading.gif';
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为浅复制,下下级会同源
const wholeScale = JSON.parse(JSON.stringify(props.wholeScaleItems)||{});
this.state={
chooseSelecteds:chooseSelecteds, //大数据选择模块
chartTimeTypes:{}, //图表模块
wholeAssessItems:wholeIndexs, //整体评估模块
wholeScaleItems:wholeScale,
wholeAssessText:props.wholeAssessText||'', //整体评估补充说明
wholeResults:{
possible:props.possible,
radioVal:props.radioVal
},
calcuResult:props.calcuResult, //计算公式结果
calcuValues:props.calcuValues, //计算公式填的值
};
this.handleChooseChange = this.handleChooseChange.bind(this);
this.handleScaleDel = this.handleScaleDel.bind(this);
this.handleScaleText = this.handleScaleText.bind(this);
this.handleResult = this.handleResult.bind(this);
}
componentWillMount(){
//获取评估
this.props.getAssess(this.props.isRecommend);
}
handleScaleText(text){
this.setState({
wholeAssessText:text
})
}
handleScaleDel(isList,i,j){
if(isList){ //删除全部量表中的项目
const items = [...this.state.wholeScaleItems];
items.splice(i,1);
this.setState({
wholeScaleItems: items
});
}else{
const items = Object.assign({},this.state.wholeAssessItems);
const inx = items[i].findIndex(x=>x==j);
items[i].splice(inx,1);
this.setState({
wholeAssessItems: items
});
}
}
handleResult(opt){
const {wholeResults} = this.state.wholeResults;
const res = Object.assign({},wholeResults,opt);
this.setState({
wholeResults:res
});
}
handleChooseChange(i,selects){
const {chooseSelecteds} = this.state;
this.setState({
chooseSelecteds: Object.assign(chooseSelecteds,{[i]:selects})
});
}
handleChartChange(i,selects){
const {chartTimeTypes} = this.state;
this.setState({
chartTimeTypes:Object.assign(chartTimeTypes,{[i]:selects})
});
}
handleCalcu(values,ret){
this.setState({
calcuResult:ret,
calcuValues:values
});
}
componentWillUnmount(){
//点确定关闭弹窗时把参数传到父组件去
const {handleSave,isAssessConfirm,clearChartData,handleSavePossible,isRecommend} = this.props;
clearChartData&&clearChartData();
if(!isRecommend&&isAssessConfirm && readyKeepHistory() == 1){
Notify.error("主诉不能为空");
}else if(!isRecommend&&isAssessConfirm && readyKeepHistory() == 2){
Notify.info('诊断不能为空');
}
handleSavePossible&&handleSavePossible(this.state.wholeResults);
if(isAssessConfirm){
handleSave(this.state,readyKeepHistory(),isRecommend);
}
}
handoutTypes(item,i){
const {getIndexData,indexData,timeTypes,wholeIndexs,closeAssess,showScaleFn,isRecommend,chronicPushItems,
formulaResult,indexNames} =this.props;
let obj = [];
Object.keys(wholeIndexs).map((i)=>{
obj[i]=chronicPushItems[i];
});
const {chooseSelecteds,wholeAssessItems,wholeScaleItems,wholeAssessText,chartTimeTypes,wholeResults,calcuResult,calcuValues} = this.state;
const chartData = indexData;
const name = item.regionName+":";
const list = item.data&&item.data.rows;
switch (+item.regionType){
case 0: //数据来源与右侧手动添加
return