import React from 'react'; import style from './index.less'; import mocks from '../../mock/chronicTable.js' import { Radio,CheckBtn } from '@commonComp'; import Information from '../Information' /** *量表 具体信息页面 *title:量表标题/scaleName *data:量表内容:scaleName量表标题,calculate量表计算结果,group分组, * * **/ class ScaleTable extends React.Component{ constructor(props){ super(props); this.state={ // originData:props.data && data[1].content|| [], originData:{}, selecteds:{} } } handleRadio(name,value){ const {selecteds,originData} = this.state; const content = originData && originData[1].content;//表格内容 const datas = content && JSON.parse(content);//console.log(1111,originData,datas); this.setState({ selecteds:Object.assign({},selecteds,{[name]:value}) }) } handleCheckbox(name,value){ let {selecteds} = this.state; selecteds[name]?selecteds[name]:selecteds[name]=[]; const index = selecteds[name].findIndex((i)=>i==value); if(index!=-1){ selecteds[name].splice(index,1); }else{ selecteds[name].push(value); } this.setState({ selecteds:selecteds }); } handleFormula(data){ const {tableId,getResult,parentId} = this.props; const params = { type:1, content:data, //选择后的数据--字符串形式 id:parentId, scaleId:tableId, } // console.log("调计算接口"); // getResult&&getResult(params); } componentWillReceiveProps(nextProps){ const {tableId} = this.props; if(JSON.stringify(nextProps.scaleInfo) !== '{}'){ this.setState({ originData:nextProps.scaleInfo[tableId] }) } } getContent(){ const datas = mocks.newData; let {selecteds} = this.state; let content = datas&&datas.group.map((v,i)=>{ return

{v.groupName}

{v.rows&&v.rows.map((it,ind)=>{ return
{it.row.map((item,index)=>{ if(item.controltype==0){ return

{item.name}

{item.details&&item.details.map((vv,ii)=>{ return
{vv.state==1?(智能推荐):''}
})}
}else{ return

{item.name}

{item.details&&item.details.map((vv,ii)=>{ return {vv.state==1?(智能推荐):''} })}
} })}
})} {v.groupCalculate.isShow=='1(1-显示计算结果,0-不显示计算结果)'?

计分 {v.groupCalculate.result.value}

:''}
}) return content; } render(){ const {title,scaleInfo,tableId} = this.props; const data = scaleInfo[tableId]; let {selecteds} = this.state; const content = data && data[1].content;//表格内容 const preContent = data && data[0].content;//表前文字 const footContent = data && data[2].content; //表后文字 // const datas = content && JSON.parse(content); const datas = mocks.newData; return
{/*

{title}

*/}

{datas.scaleName}

{/* {datas&&datas.title.map((v,i)=>{ return })} {datas&&datas.rows.map((v,i)=>{ return }):v.details.map((it,index)=>{ return }) } })} })}
{v.name}
{v.name} {v.controltype==0?v.details.map((it,index)=>{ return {it.state==1?(智能推荐):''} {v.details.map((it,index)=>{ return {it.score}
总计:95 计算
*/}
{this.getContent()}
总分: {datas.calculate.result.value||'54' +'分'} 得分
} } export default ScaleTable;