index.jsx 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. import React, { Component } from "react";
  2. import style from "./index.less";
  3. import { Radio} from '@commonComp';
  4. import arrow from '@common/images/icon_tri_blue.png';
  5. import loadingIcon from '@common/images/loading.gif';
  6. import ChooseItem from "../ChooseItem";
  7. import ScaleItem from "../ScaleItem";
  8. import ChartItem from "../ChartItem";
  9. class AssessResultHis extends Component {
  10. constructor(props) {
  11. super(props);
  12. this.state={
  13. chartTimeTypes:{}, //图表模块
  14. };
  15. this.showAssessFn = this.showAssessFn.bind(this);
  16. this.getAssessContent = this.getAssessContent.bind(this);
  17. }
  18. handleChartChange(i,selects){
  19. const {chartTimeTypes} = this.state;
  20. this.setState({
  21. chartTimeTypes:Object.assign(chartTimeTypes,{[i]:selects})
  22. });
  23. }
  24. showAssessFn(){
  25. //获取历史评估数据
  26. this.props.getAssessHis(this.props.inquiryId);
  27. }
  28. handoutTypes(obj,item,i){
  29. const {wholeAssess,wholeIndexs,chooseSelecteds} =obj;
  30. const {getIndexData,inquiryDate,indexData,inquiryId,timeTypes} = this.props;
  31. const {chartTimeTypes} = this.state;
  32. const name = item.regionName+":";
  33. const list = item.data&&item.data.rows;
  34. switch (+item.regionType){
  35. case 0: //数据来源与右侧手动添加
  36. return <ScaleItem title={name}
  37. data={wholeAssess}
  38. indexs={wholeIndexs}
  39. disabled={true}
  40. isRecommend={item.isRecommend}></ScaleItem>;
  41. case 1: //数据来源于大数据
  42. return <ChooseItem title={name} data={list} selecteds={chooseSelecteds&&chooseSelecteds[i]} disabled={true}></ChooseItem>;
  43. case 10: //数据来源于后台
  44. return <ChartItem title={name}
  45. data={indexData||{}}
  46. timeTypes={JSON.stringify(chartTimeTypes||{})=='{}'?timeTypes&&timeTypes[i]:chartTimeTypes[i]}
  47. initFn={getIndexData}
  48. endDate={inquiryDate}
  49. pindex={i}
  50. handleChange={this.handleChartChange.bind(this,i)}></ChartItem>;
  51. default:
  52. return '';
  53. }
  54. }
  55. getAssessContent(){
  56. const { list,inquiryId } = this.props;
  57. const obj = list&&list[inquiryId];
  58. const data = obj&&obj.data;
  59. if(data&&data.length>0){
  60. return data.map((it,i)=>{
  61. return this.handoutTypes(obj,it,i);
  62. });
  63. }else{
  64. return data===null||(data&&data.length==0)?<p className={style['no-data']}>没有历史评估记录!</p>:'';
  65. }
  66. }
  67. /*componentDidMount(){
  68. const indexTimeTypes = JSON.parse(JSON.stringify(this.props.indexTimeTypes));
  69. console.log(indexTimeTypes)
  70. this.setState({
  71. chartTimeTypes:indexTimeTypes
  72. });
  73. }*/
  74. render() {
  75. const { loading,isChronic } = this.props;
  76. return <div className={style['assess-cont']}>
  77. <div className={style['assess-result']}>
  78. <p className={style['enter']}>{isChronic?'管理和评估':'推荐'}结果:<a onClick={this.showAssessFn}>查看结果<img src={arrow} /></a></p>
  79. </div>
  80. <div className={style['assess-box']}>
  81. {loading?<p className={style['loading']}><img src={loadingIcon} alt='loading...'/></p>:''}
  82. {/*{data?data.map((it,i)=>{
  83. return this.handoutTypes(it,i);
  84. }):data===null?<p className={style['no-data']}>没有历史评估记录!</p>:''}*/}
  85. {this.getAssessContent()}
  86. </div>
  87. </div>;
  88. }
  89. }
  90. export default AssessResultHis;