import React, { Component } from "react";
import style from "../index.less";
import deleteIcon from '@common/images/delete.png';
import deleteIconNo from '@common/images/delete_no.png';
import {ComplexModal,MiniToast,Radio} from '@commonComp';
import {deepClone,preventDefault} from '@utils/tools';
import { getFormulaResult } from '@store/async-actions/fetchModules'
/**
* 来源于页面选择
*
* **/
class ScaleItem extends Component {
constructor(props) {
super(props);
this.$area = React.createRef();
this.state = {
text:props.text,
};
this.getItems = this.getItems.bind(this);
this.getDetailItems = this.getDetailItems.bind(this);
}
getDetailItems(item,i){
let arr = [],temp='';
const {indexs,result,formulaResult,disabled,calcuResult} = this.props;
const possible=result&&result.possible;
item.details.map((its,j)=>{
let it=its;
if(indexs[i]&&indexs[i].includes(j)){
if(its.type==1){ //量表
let scaleRes=formulaResult&&formulaResult[it.content.conceptId]&&formulaResult[it.content.conceptId].calcalculate;
const name = scaleRes&&scaleRes.result?(' 【'+it.content.name+'】 结果:'+scaleRes.result.value+" "+(scaleRes.result.text||'')):'【'+it.content.name+'】';
temp =
{name}
;
}else if(its.type==2){ //计算公式
const showRes = calcuResult&&calcuResult[item.conceptId]||it.content.result;
const cresult = showRes&&showRes[1]&&showRes[1].text;
temp =
患者可能有:
{cresult}
}else if(its.type==3){
temp =
可能结果:
{possible[item.conceptId]}
;
}
const passId = item.details[j].type==1?item.details[j].content.conceptId:undefined;
const li = disabled?
{item.name}:
{temp}
:
{item.name}:
{temp}
;
arr.push(li);
}
});
return arr;
}
getItems(){
const { data } = this.props;
return data&&data.map((it,i)=>{
return this.getDetailItems(it,i);
});
}
getScales(){
const {scaleItems,disabled,formulaResult} = this.props;
let li='',temp='',arr=[],it={};
if(!scaleItems){
return '';
};
for( let i in scaleItems){
it = {conceptId:i,name:scaleItems[i].name};
if(!it) continue;
let scaleRes=formulaResult&&formulaResult[it.conceptId]&&formulaResult[it.conceptId].calcalculate;
const name = scaleRes&&scaleRes.result?(' 【'+scaleItems[i].name+'】 结果:'+scaleRes.result.value+" "+(scaleRes.result.text||'')):'【'+scaleItems[i].name+'】';
//这里onClick不能用箭头函数,用箭头函数会一直绑定for的最后一个it
temp ={name};
li = disabled?
相关量表:
{temp}
:
相关量表:
{temp}
;
arr.push(li);
};
return arr;
}
handleInput(e){
const text = e.target.value;
this.setState({
text
});
}
componentWillReceiveProps(next){ //修复bug1329,第二次保存值不显示
if(next.text!=this.state.text){
this.setState({
text:next.text
});
this.$area.current.value=next.text;
}
}
render() {
const {title,handleInp,disabled} = this.props;
return
{title}
{
this.getItems()
}
{
this.getScales()
}
-
评估描述:{this.state.text}
;
}
}
export default ScaleItem;