|
@@ -41,8 +41,8 @@ class ChronicInfo extends React.Component{
|
|
tableName:'' , //点击的量表名称
|
|
tableName:'' , //点击的量表名称
|
|
tableId:null ,//点击的量表id
|
|
tableId:null ,//点击的量表id
|
|
parentId:null ,
|
|
parentId:null ,
|
|
- radioVal:'',
|
|
|
|
- possible:'', //可能结果选择内容
|
|
|
|
|
|
+ radioVal:{}, //可能结果选择内容
|
|
|
|
+ possible:{}, //可能结果
|
|
};
|
|
};
|
|
this.showInfo = this.showInfo.bind(this);
|
|
this.showInfo = this.showInfo.bind(this);
|
|
this.closeInfo = this.closeInfo.bind(this);
|
|
this.closeInfo = this.closeInfo.bind(this);
|
|
@@ -155,17 +155,26 @@ class ChronicInfo extends React.Component{
|
|
});
|
|
});
|
|
|
|
|
|
}
|
|
}
|
|
- handleRadio(parent,index,name){
|
|
|
|
|
|
+ handleForRadio(item,parent,pIndex){//计算公式
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ confirmFormula(){//计算公式确定
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ handleRadio(item,parent,pIndex){//可能结果
|
|
|
|
+ let {radioVal} = this.props;
|
|
this.setState({
|
|
this.setState({
|
|
- radioVal:name
|
|
|
|
|
|
+ radioVal:Object.assign({},radioVal,{[pIndex]:item.detailName})
|
|
})
|
|
})
|
|
}
|
|
}
|
|
- confirmOption(){//可能结果确定
|
|
|
|
- const {radioVal} = this.state;
|
|
|
|
|
|
+ confirmOption(parent,pIndex){//可能结果确定
|
|
|
|
+ const {radioVal,possible} = this.state;
|
|
this.setState({
|
|
this.setState({
|
|
- possible:radioVal,
|
|
|
|
|
|
+ possible:Object.assign({},possible,radioVal),
|
|
|
|
+ radioVal:Object.assign({},possible,radioVal),//不设置radioVal只有最近一次选中的值
|
|
optionId:null
|
|
optionId:null
|
|
})
|
|
})
|
|
|
|
+
|
|
}
|
|
}
|
|
getDetail(){
|
|
getDetail(){
|
|
const {data,indexs} = this.props;
|
|
const {data,indexs} = this.props;
|
|
@@ -213,41 +222,65 @@ class ChronicInfo extends React.Component{
|
|
icon={allTableIcon}
|
|
icon={allTableIcon}
|
|
show={formulaId&&formulaId==v.id?true:false}
|
|
show={formulaId&&formulaId==v.id?true:false}
|
|
close={this.closeFormula}
|
|
close={this.closeFormula}
|
|
|
|
+ confirm={this.confirmFormula.bind(this,v,i)}
|
|
footer="true">
|
|
footer="true">
|
|
- {it.content.details.map((item,i)=>{
|
|
|
|
|
|
+ <table>
|
|
|
|
+ {it.content.details.map((item,idd)=>{
|
|
if(item.controlType==0){//单选
|
|
if(item.controlType==0){//单选
|
|
- return <div>
|
|
|
|
- <span>{item.name}</span>
|
|
|
|
- {item.details.map((ii,ind)=>{
|
|
|
|
- return <label>
|
|
|
|
- <input type="radio" name={item.name} />{ii.detailName}
|
|
|
|
- </label>
|
|
|
|
- })}
|
|
|
|
- </div>
|
|
|
|
|
|
+ return <tr>
|
|
|
|
+ <td>
|
|
|
|
+ <span>{'请选择'+item.name+':'}</span>
|
|
|
|
+ </td>
|
|
|
|
+ <td>
|
|
|
|
+ {item.details.map((ii,ind)=>{
|
|
|
|
+ return <div className={style["chooseItem"]}>
|
|
|
|
+ <Radio label={ii.detailName}
|
|
|
|
+ isSelect={radioVal[i]==ii.detailName}
|
|
|
|
+ handleClick={this.handleForRadio.bind(this,ii,v,i)}>
|
|
|
|
+ </Radio>
|
|
|
|
+ </div>
|
|
|
|
+ })}
|
|
|
|
+ </td>
|
|
|
|
+ </tr>
|
|
}else if(item.controlType==1){//多选
|
|
}else if(item.controlType==1){//多选
|
|
|
|
|
|
}else if(item.controlType==2){//输入框
|
|
}else if(item.controlType==2){//输入框
|
|
- return <div>
|
|
|
|
- <span>{item.name}</span>
|
|
|
|
- <input type="text" placeholder="请输入"/>
|
|
|
|
- </div>
|
|
|
|
|
|
+ return <tr>
|
|
|
|
+ <td>
|
|
|
|
+ <span>{'请输入'+item.name+':'}</span>
|
|
|
|
+ </td>
|
|
|
|
+ <td>
|
|
|
|
+ <input type="text" placeholder="请输入"/>
|
|
|
|
+ </td>
|
|
|
|
+
|
|
|
|
+ </tr>
|
|
}else if(item.controlType==3){//下拉
|
|
}else if(item.controlType==3){//下拉
|
|
- return <div>
|
|
|
|
- <span>{item.name}</span>
|
|
|
|
- {item.details.map((ii,ind)=>{
|
|
|
|
- return <label>
|
|
|
|
- <input type="radio" name={item.name} />{ii.detailName}
|
|
|
|
- </label>
|
|
|
|
- })}
|
|
|
|
- </div>
|
|
|
|
|
|
+ return <tr>
|
|
|
|
+ <td>
|
|
|
|
+ <span>{'请选择'+item.name+':'}</span>
|
|
|
|
+ </td>
|
|
|
|
+ <td>
|
|
|
|
+ {item.details.map((ii,ind)=>{
|
|
|
|
+ return <div className={style["chooseItem"]}>
|
|
|
|
+ <Radio label={ii.detailName}
|
|
|
|
+ isSelect={radioVal[i]==ii.detailName}
|
|
|
|
+ handleClick={this.handleForRadio.bind(this,ii,v,i)}>
|
|
|
|
+ </Radio>
|
|
|
|
+ </div>
|
|
|
|
+ })}
|
|
|
|
+ </td>
|
|
|
|
+
|
|
|
|
+ </tr>
|
|
}
|
|
}
|
|
})}
|
|
})}
|
|
|
|
+ </table>
|
|
|
|
+ <div className={style["forMulBtn"]}>计算</div>
|
|
</MiniToast>
|
|
</MiniToast>
|
|
</div>
|
|
</div>
|
|
}else if(it.type==3){
|
|
}else if(it.type==3){
|
|
return <div className={style["marTop"]}>
|
|
return <div className={style["marTop"]}>
|
|
<span>可能结果:</span>
|
|
<span>可能结果:</span>
|
|
- <span onClick={this.showOption.bind(this,v.id)} className={style["blue"]}>{possible?possible:'请选择'}</span>
|
|
|
|
|
|
+ <span onClick={this.showOption.bind(this,v.id)} className={style["blue"]}>{possible[i]?possible[i]:'请选择'}</span>
|
|
<img src={level1} />
|
|
<img src={level1} />
|
|
{indexs[i]&&indexs[i].includes(j)?<span className={style["addResult"]}>
|
|
{indexs[i]&&indexs[i].includes(j)?<span className={style["addResult"]}>
|
|
<img src={added} />
|
|
<img src={added} />
|
|
@@ -261,15 +294,15 @@ class ChronicInfo extends React.Component{
|
|
icon={checkIcon}
|
|
icon={checkIcon}
|
|
show={optionId&&optionId==v.id?true:false}
|
|
show={optionId&&optionId==v.id?true:false}
|
|
close={this.closeOption}
|
|
close={this.closeOption}
|
|
- confirm={this.confirmOption.bind(this)}
|
|
|
|
|
|
+ confirm={this.confirmOption.bind(this,v,i)}
|
|
footer="true">
|
|
footer="true">
|
|
<div className={style["infoOption"]}>
|
|
<div className={style["infoOption"]}>
|
|
<span>是否贫血:</span>
|
|
<span>是否贫血:</span>
|
|
- {it.content.details&&it.content.details.map((lis,i)=>{
|
|
|
|
|
|
+ {it.content.details&&it.content.details.map((lis,ind)=>{
|
|
return <div className={style["chooseItem"]}>
|
|
return <div className={style["chooseItem"]}>
|
|
<Radio label={lis.detailName}
|
|
<Radio label={lis.detailName}
|
|
- isSelect={radioVal==lis.detailName}
|
|
|
|
- handleClick={this.handleRadio.bind(this,v,i,lis.detailName)}>
|
|
|
|
|
|
+ isSelect={radioVal[i]==lis.detailName}
|
|
|
|
+ handleClick={this.handleRadio.bind(this,lis,v,i)}>
|
|
</Radio>
|
|
</Radio>
|
|
</div>
|
|
</div>
|
|
})}
|
|
})}
|