Browse Source

历史评估图表bug修改

zhouna 6 năm trước cách đây
mục cha
commit
54957a1729

+ 12 - 17
src/components/AssessResult/AssessHis/index.jsx

@@ -11,24 +11,11 @@ class AssessResultHis extends Component {
   constructor(props) {
     super(props);
     this.state={
-      chooseSelecteds:props.chooseSelecteds,     //大数据选择模块
       chartTimeTypes:{},      //图表模块
-      wholeAssessItems:props.wholeIndexs,     //整体评估模块
-      wholeAssessText:props.wholeText||''     //整体评估补充说明
     };
     this.showAssessFn = this.showAssessFn.bind(this);
     this.getAssessContent = this.getAssessContent.bind(this);
   }
-  /*componentWillMount(){
-    //获取评估
-    this.props.getAssessHis(this.props.inquiryId);
-  }*/
-  /*componentWillReceiveProps(next){
-    const {inquiryId,getAssessHis} = this.props;
-    if(next.inquiryId!=inquiryId){
-      getAssessHis&&getAssessHis(next.inquiryId);
-    }
-  }*/
   handleChartChange(i,selects){
     const {chartTimeTypes} = this.state;
     this.setState({
@@ -40,8 +27,9 @@ class AssessResultHis extends Component {
     this.props.getAssessHis(this.props.inquiryId);
   }
   handoutTypes(obj,item,i){
-    const {indexTimeTypes,wholeAssess,wholeIndexs,chooseSelecteds} =obj;
-    const {getIndexData,inquiryDate,indexData,inquiryId} = this.props;
+    const {wholeAssess,wholeIndexs,chooseSelecteds} =obj;
+    const {getIndexData,inquiryDate,indexData,inquiryId,timeTypes} = this.props;
+    const {chartTimeTypes} = this.state;
     const name = item.regionName+":";
     const list = item.data&&item.data.rows;
     switch (+item.regionType){
@@ -52,10 +40,10 @@ class AssessResultHis extends Component {
       case 10:    //数据来源于后台
         return <ChartItem title={name}
                           data={indexData||{}}
-                          timeTypes={indexTimeTypes}
+                          timeTypes={JSON.stringify(chartTimeTypes||{})=='{}'?timeTypes&&timeTypes[i]:chartTimeTypes[i]}
                           initFn={getIndexData}
                           endDate={inquiryDate}
-                          inquiryId={inquiryId}
+                          pindex={i}
                           handleChange={this.handleChartChange.bind(this,i)}></ChartItem>;
       default:
         return '';
@@ -73,6 +61,13 @@ class AssessResultHis extends Component {
       return data===null||(data&&data.length==0)?<p className={style['no-data']}>没有历史评估记录!</p>:'';
     }
   }
+  /*componentDidMount(){
+    const indexTimeTypes = JSON.parse(JSON.stringify(this.props.indexTimeTypes));
+    console.log(indexTimeTypes)
+    this.setState({
+      chartTimeTypes:indexTimeTypes
+    });
+  }*/
   render() {
     const { list,inquiryId,loading } = this.props;
     const data = list&&list[inquiryId]&&list[inquiryId].data;

+ 6 - 5
src/components/AssessResult/ChartItem/index.jsx

@@ -84,9 +84,10 @@ class ChartItem extends Component {
     const timeTypes = this.props.timeTypes;
     const range = this.getXAxisArr(config.chartDismen);
     const obj = this.props.data[range[0]+range[range.length-1]];
+    const {endDate} = this.props;
     let arr = [];
     for(let i in obj){
-      arr.push(<Chart data={obj[i]} inquiryId={this.props.inquiryId||''} type={timeTypes&&timeTypes[i]} index={i} getXAxisArr={this.getXAxisArr} handleRangeChange={this.rangChange}/>)
+      arr.push(<Chart data={obj[i]} endDate={endDate} type={timeTypes&&timeTypes[i]} index={i} getXAxisArr={this.getXAxisArr} handleRangeChange={this.rangChange}/>)
     }
     return arr;
   }
@@ -125,9 +126,9 @@ class Chart extends Component{
     this.timeSwitch = this.timeSwitch.bind(this);
   }
   drawChart(){
-    const {index,data,getXAxisArr,type,inquiryId} = this.props;
+    const {index,data,getXAxisArr,type,endDate} = this.props;
     const xAxis = getXAxisArr(type);
-    const id = 'chart'+inquiryId+index;
+    const id = endDate?'chart'+endDate+index:'chart'+index;
     let series = [],names=[],inx=-1;
     let myChart = echarts.init(document.getElementById(id));
 
@@ -222,7 +223,7 @@ class Chart extends Component{
     this.drawChart();
   }
   render(){
-    const {type,index,inquiryId} = this.props;
+    const {type,index,endDate} = this.props;
     return <div className={style['cont']}>
               <div className={style['time-range']}>
                 <span className={type=='year'?style['range']+" "+style['on']:style['range']} onClick={()=>this.timeSwitch("year")}>近一年</span>
@@ -230,7 +231,7 @@ class Chart extends Component{
                 <span className={type=='month'?style['range']+" "+style['on']:style['range']} onClick={()=>this.timeSwitch("month")}>近一个月</span>
                 <span className={type=='week'?style['range']+" "+style['on']:style['range']} onClick={()=>this.timeSwitch("week")}>近一周</span>
               </div>
-              <div className={style["chart-box"]} id={'chart'+inquiryId+index}></div>
+              <div className={style["chart-box"]} id={endDate?'chart'+endDate+index:'chart'+index}></div>
             </div>;
   }
 }

+ 2 - 1
src/components/AssessResult/index.jsx

@@ -81,7 +81,8 @@ class AssessResult extends Component {
         return <ChartItem title={name}
                           data={chartData||{}}
                           timeTypes={JSON.stringify(chartTimeTypes)=='{}'?timeTypes&&timeTypes[i]:chartTimeTypes[i]}
-                          pindex={i} initFn={getIndexData}
+                          pindex={i}
+                          initFn={getIndexData}
                           handleChange={this.handleChartChange.bind(this,i)}></ChartItem>;
       default:
         return '';

+ 1 - 1
src/components/PreviewBody/index.jsx

@@ -222,7 +222,7 @@ class PreviewBody extends Component {
           </tr>
         </table>
         <p style={{textAlign:'right',marginTop:'15px'}}>医生签名:<span style={{minWidth: '60px',padding: '0 5px 2px 5px',borderBottom: '1px solid #333',}}>{baseObj ? baseObj.doctorName : (noData ? '' : preInfo.doctorName)}</span></p>
-        <AssessResultHis inquiryId={baseObj&&baseObj.id} inquiryDate={baseObj&&baseObj.inquiryDate}></AssessResultHis>
+        {show?"":<AssessResultHis inquiryId={baseObj&&baseObj.id} inquiryDate={baseObj&&baseObj.inquiryDate}></AssessResultHis>}
       </div>
 
       <div onClick={() => { this.surePrint(dataStr) }} style={{

+ 8 - 25
src/containers/AssessResultHis.js

@@ -4,7 +4,7 @@ import AssessResultHis from '@components/AssessResult/AssessHis';
 import {ISREAD} from '@store/types/homePage.js';
 import {billing} from '@store/async-actions/pushMessage';
 import {getAssessHis,getIndexData} from '@store/async-actions/fetchModules';
-import {SET_ASSESS_DATA,SET_INDEX_DATA,SET_INDEX_SUB_TYPE,REMOVE_ASSESS_ITEMS} from '@types/assessResult';
+import {SET_ASSESS_DATA,SET_INDEX_DATA} from '@types/assessResult';
 import {SET_ASSESS_HISTORY_DATA,SET_ASSESS_HISTORY_LOADING} from '@types/assessResultHis';
 import store from '@store';
 
@@ -23,7 +23,8 @@ function mapStateToProps(state) {
   return {
     list:assessResultHis,    //已获取到的历史评估列表
     indexData:assessResult.indexData,
-    //loading:assessResultHis.loading,
+    loading:assessResultHis.loading,
+    timeTypes:assessResult.indexTimeTypes,    //图表切换的维度
     /*data:assessResultHis.data,
     timeTypes:assessResultHis.indexTimeTypes,    //图表切换的维度
     wholeAssessData:assessResultHis.wholeAssess,   //评估内容
@@ -61,21 +62,8 @@ function mapDispatchToProps(dispatch) {
         console.log(error);
       });
     },
-    getIndexData(param){
-      const state=store.getState();
-      const {range,rangeType,index} = param;
-      const indexData = state.assessResult.indexData;
-      const obj = indexData[range[0]+range[range.length-1]];
-
-      if(index!=undefined&&obj&&Object.keys(obj).length!=0){      //该维度已获取过数据
-        //console.log(obj,rangeType,index);
-        /*dispatch({
-          type:SET_INDEX_SUB_TYPE,
-          index,
-          rangeType
-        });*/
-        return ;
-      }
+    getIndexData(param){        //获取评估图表数据
+      const {range,rangeType,index,pindex,getNew} = param;
       dispatch(getIndexData(range)).then((res)=>{
         if(res.data.code=='0'){
           dispatch({
@@ -83,20 +71,15 @@ function mapDispatchToProps(dispatch) {
             data:parseChartData(res.data.data),
             range,
             index,
-            rangeType
+            rangeType,
+            pindex,
+            getNew
           });
         }
       }).catch(error=>{
         console.log(error);
       });
     },
-    /*removeAssessResult(pIndex,i){
-      dispatch({
-        type:REMOVE_ASSESS_ITEMS,
-        pIndex,
-        index:i
-      });
-    }*/
   }
 }