|
@@ -13,6 +13,7 @@ import checkIcon from '@common/images/check.png';
|
|
import {ComplexModal,ConfirmModal,MiniToast, Radio,CheckBtn} from '@commonComp';
|
|
import {ComplexModal,ConfirmModal,MiniToast, Radio,CheckBtn} from '@commonComp';
|
|
import AssessResult from '@containers/AssessResult';
|
|
import AssessResult from '@containers/AssessResult';
|
|
import ScaleTable from '@containers/ScaleTable';
|
|
import ScaleTable from '@containers/ScaleTable';
|
|
|
|
+import Notify from '@commonComp/Notify';
|
|
import $ from 'jquery';
|
|
import $ from 'jquery';
|
|
|
|
|
|
/***
|
|
/***
|
|
@@ -38,10 +39,14 @@ class ChronicInfo extends React.Component{
|
|
tableName:'' , //点击的量表名称
|
|
tableName:'' , //点击的量表名称
|
|
tableId:null ,//点击的量表id
|
|
tableId:null ,//点击的量表id
|
|
parentId:null ,
|
|
parentId:null ,
|
|
|
|
+ parentIndex:null,
|
|
radioVal:{}, //可能结果选择内容
|
|
radioVal:{}, //可能结果选择内容
|
|
possible:{}, //可能结果
|
|
possible:{}, //可能结果
|
|
|
|
+ formulaParam: {}, //量表计算公式计算入参
|
|
|
|
+ showRecommend:false, //显示推荐结果弹窗
|
|
|
|
+ isRecommendConfirm:false, //推荐结果确定
|
|
|
|
+ isFormulaConfirm:false, //计算公式确定
|
|
};
|
|
};
|
|
- this.$content = React.createRef();
|
|
|
|
|
|
|
|
this.showInfo = this.showInfo.bind(this);
|
|
this.showInfo = this.showInfo.bind(this);
|
|
this.closeInfo = this.closeInfo.bind(this);
|
|
this.closeInfo = this.closeInfo.bind(this);
|
|
@@ -56,6 +61,9 @@ class ChronicInfo extends React.Component{
|
|
this.handleAddAssessItem = this.handleAddAssessItem.bind(this); //加入病例记录
|
|
this.handleAddAssessItem = this.handleAddAssessItem.bind(this); //加入病例记录
|
|
this.handleSaveAssess = this.handleSaveAssess.bind(this); //评估弹窗确定
|
|
this.handleSaveAssess = this.handleSaveAssess.bind(this); //评估弹窗确定
|
|
this.onPrint = this.onPrint.bind(this);
|
|
this.onPrint = this.onPrint.bind(this);
|
|
|
|
+ this.handleForRadio = this.handleForRadio.bind(this);
|
|
|
|
+ this.showRecommendFn = this.showRecommendFn.bind(this);
|
|
|
|
+ this.handleSaveCalcu = this.handleSaveCalcu.bind(this); //保存评估修改的计算和可能结果
|
|
}
|
|
}
|
|
|
|
|
|
onPrint() {
|
|
onPrint() {
|
|
@@ -67,14 +75,20 @@ class ChronicInfo extends React.Component{
|
|
printContainer: true,
|
|
printContainer: true,
|
|
operaSupport: false,
|
|
operaSupport: false,
|
|
});
|
|
});
|
|
- }
|
|
|
|
- componentWillReceiveProps() {
|
|
|
|
- $(this.$content.current)[0].scrollIntoView(true);
|
|
|
|
|
|
+ // setTimeout(() => {//把生成的图片和iframe删掉
|
|
|
|
+ // let imgLis = document.querySelectorAll('.canvasImg')
|
|
|
|
+ // let iframe = document.getElementsByTagName('iframe')
|
|
|
|
+ // for(let i = 0;i < imgLis.length;i++){
|
|
|
|
+ // imgLis[i].remove()
|
|
|
|
+ // }
|
|
|
|
+ // for(let i = 0;i < iframe.length;i++){
|
|
|
|
+ // iframe[i].remove()
|
|
|
|
+ // }
|
|
|
|
+ // }, 500);
|
|
}
|
|
}
|
|
|
|
|
|
showTableList(id){//量表按钮
|
|
showTableList(id){//量表按钮
|
|
- const {getTableList,questionId} = this.props;
|
|
|
|
- // getTableList(questionId&&questionId.id);
|
|
|
|
|
|
+ const {getTableList} = this.props;
|
|
if(id){
|
|
if(id){
|
|
getTableList(id);
|
|
getTableList(id);
|
|
}
|
|
}
|
|
@@ -88,12 +102,12 @@ class ChronicInfo extends React.Component{
|
|
this.close()
|
|
this.close()
|
|
}
|
|
}
|
|
|
|
|
|
- showInfo(id){//显示静态知识
|
|
|
|
|
|
+ showInfo(id){
|
|
// 静态知识显示在提示信息里(4-18)
|
|
// 静态知识显示在提示信息里(4-18)
|
|
const {getInfomation} = this.props;
|
|
const {getInfomation} = this.props;
|
|
const param = {
|
|
const param = {
|
|
- // id:id,
|
|
|
|
- id:40738,
|
|
|
|
|
|
+ id:id,
|
|
|
|
+ // id:40738, //目前只有“肾功能不全”有数据
|
|
type:22,
|
|
type:22,
|
|
}
|
|
}
|
|
getInfomation&&getInfomation(param);
|
|
getInfomation&&getInfomation(param);
|
|
@@ -108,7 +122,8 @@ class ChronicInfo extends React.Component{
|
|
}
|
|
}
|
|
showOption(id){
|
|
showOption(id){
|
|
this.setState({
|
|
this.setState({
|
|
- optionId:id
|
|
|
|
|
|
+ optionId:id,
|
|
|
|
+ formulaId:null //关闭计算公式
|
|
})
|
|
})
|
|
}
|
|
}
|
|
closeOption(){
|
|
closeOption(){
|
|
@@ -116,13 +131,13 @@ class ChronicInfo extends React.Component{
|
|
optionId:null
|
|
optionId:null
|
|
})
|
|
})
|
|
}
|
|
}
|
|
- showTable(it,parentId){
|
|
|
|
|
|
+ showTable(it,parentId,parentIndex){
|
|
const {formulaResult,scaleInfo} = this.props;
|
|
const {formulaResult,scaleInfo} = this.props;
|
|
- // 密西根糖尿病周围神经病评分(MDNS) 为例 id:40744
|
|
|
|
|
|
+ // 密西根糖尿病周围神经病评分(MDNS), id:40744
|
|
const item = {
|
|
const item = {
|
|
id:it.id,
|
|
id:it.id,
|
|
name:it.name
|
|
name:it.name
|
|
- }
|
|
|
|
|
|
+ };
|
|
// 判断:store里已经有该量表就无需重新调接口
|
|
// 判断:store里已经有该量表就无需重新调接口
|
|
if(scaleInfo&&scaleInfo[it.id]){
|
|
if(scaleInfo&&scaleInfo[it.id]){
|
|
this.props.hideList({name:'showTable',value:true});
|
|
this.props.hideList({name:'showTable',value:true});
|
|
@@ -133,7 +148,10 @@ class ChronicInfo extends React.Component{
|
|
this.setState({
|
|
this.setState({
|
|
tableName:it.name,
|
|
tableName:it.name,
|
|
tableId:it.id,
|
|
tableId:it.id,
|
|
- parentId:parentId
|
|
|
|
|
|
+ parentId:parentId,
|
|
|
|
+ parentIndex:parentIndex,
|
|
|
|
+ formulaId:null, //关闭计算公式和可能结果弹窗
|
|
|
|
+ optionId:null
|
|
})
|
|
})
|
|
}
|
|
}
|
|
closeTable(){
|
|
closeTable(){
|
|
@@ -150,10 +168,16 @@ class ChronicInfo extends React.Component{
|
|
isAssessConfirm:false
|
|
isAssessConfirm:false
|
|
});
|
|
});
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ showRecommendFn(){
|
|
|
|
+ this.setState({
|
|
|
|
+ isRecommendConfirm:false,
|
|
|
|
+ showRecommend:!this.state.showRecommend,
|
|
|
|
+ });
|
|
|
|
+ }
|
|
showFormula(id){//计算公式
|
|
showFormula(id){//计算公式
|
|
this.setState({
|
|
this.setState({
|
|
- formulaId:id
|
|
|
|
|
|
+ formulaId:id,
|
|
|
|
+ optionId:null //关闭可能结果
|
|
})
|
|
})
|
|
}
|
|
}
|
|
closeFormula(){
|
|
closeFormula(){
|
|
@@ -165,6 +189,15 @@ class ChronicInfo extends React.Component{
|
|
const {addAssessItem} = this.props;
|
|
const {addAssessItem} = this.props;
|
|
addAssessItem(v,pIndex,i);
|
|
addAssessItem(v,pIndex,i);
|
|
}
|
|
}
|
|
|
|
+ handleSaveRecommend(){
|
|
|
|
+ this.setState({
|
|
|
|
+ isRecommendConfirm:true
|
|
|
|
+ });
|
|
|
|
+ const that=this;
|
|
|
|
+ setTimeout(()=>{
|
|
|
|
+ that.showRecommendFn();
|
|
|
|
+ });
|
|
|
|
+ }
|
|
handleSaveAssess(){
|
|
handleSaveAssess(){
|
|
this.setState({
|
|
this.setState({
|
|
isAssessConfirm:true
|
|
isAssessConfirm:true
|
|
@@ -173,18 +206,40 @@ class ChronicInfo extends React.Component{
|
|
setTimeout(()=>{
|
|
setTimeout(()=>{
|
|
that.showAssessFn();
|
|
that.showAssessFn();
|
|
});
|
|
});
|
|
-
|
|
|
|
}
|
|
}
|
|
- handleForRadio(item,parent,pIndex){//计算公式
|
|
|
|
-
|
|
|
|
|
|
+ handleInputformula(v,i, j,idd, e) {
|
|
|
|
+ const { data, setChronicPush } = this.props
|
|
|
|
+ const text = e.target.value
|
|
|
|
+ if (data[i].details) {
|
|
|
|
+ data[i].details[j].content.details[idd].value = text
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ const data1 = JSON.parse(JSON.stringify(data))
|
|
|
|
+
|
|
|
|
+ setChronicPush(data1)
|
|
|
|
+ }
|
|
|
|
+ handleForRadio(ii,v,i, j,idd, ind){//计算公式
|
|
|
|
+ const { data, setChronicPush } = this.props
|
|
|
|
+ if (data[i].details) {
|
|
|
|
+ for(let z = 0; z < data[i].details[j].content.details[idd].details.length; z++) {
|
|
|
|
+ data[i].details[j].content.details[idd].details[z].state = 0
|
|
|
|
+ }
|
|
|
|
+ data[i].details[j].content.details[idd].details[ind].state = 1
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ const data1 = JSON.parse(JSON.stringify(data))
|
|
|
|
+ setChronicPush(data1)
|
|
}
|
|
}
|
|
confirmFormula(){//计算公式确定
|
|
confirmFormula(){//计算公式确定
|
|
-
|
|
|
|
|
|
+ this.setState({
|
|
|
|
+ isFormulaConfirm:true,
|
|
|
|
+ formulaId:null
|
|
|
|
+ });
|
|
}
|
|
}
|
|
- handleRadio(item,parent,pIndex){//可能结果
|
|
|
|
|
|
+ handleRadio(item,parent){//可能结果
|
|
let {radioVal} = this.props;
|
|
let {radioVal} = this.props;
|
|
this.setState({
|
|
this.setState({
|
|
- radioVal:Object.assign({},radioVal,{[pIndex]:item.detailName})
|
|
|
|
|
|
+ radioVal:Object.assign({},radioVal,{[parent.id]:item.detailName})
|
|
})
|
|
})
|
|
}
|
|
}
|
|
confirmOption(parent,pIndex){//可能结果确定
|
|
confirmOption(parent,pIndex){//可能结果确定
|
|
@@ -194,18 +249,58 @@ class ChronicInfo extends React.Component{
|
|
radioVal:Object.assign({},possible,radioVal),//不设置radioVal只有最近一次选中的值
|
|
radioVal:Object.assign({},possible,radioVal),//不设置radioVal只有最近一次选中的值
|
|
optionId:null
|
|
optionId:null
|
|
})
|
|
})
|
|
-
|
|
|
|
|
|
+ }
|
|
|
|
+ handleSaveCalcu(obj){
|
|
|
|
+ this.setState({
|
|
|
|
+ possible:Object.assign({},obj.possible),
|
|
|
|
+ radioVal:Object.assign({},obj.radioVal),//不设置radioVal只有最近一次选中的值
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ calcuFormula(it,j, v, i) { //计算公式计算
|
|
|
|
+ const { calcuFormula, data ,chronicPushItems} = this.props
|
|
|
|
+ let allHasInfo = true
|
|
|
|
+ for (let i = 0; i < it.content.details.length; i++) {
|
|
|
|
+ if(it.content.details[i].controlType == 2) { //输入框类型的有没有填值
|
|
|
|
+ if(!it.content.details[i].value) {
|
|
|
|
+ allHasInfo = false
|
|
|
|
+ }
|
|
|
|
+ } else if(it.content.details[i].controlType == 1) {
|
|
|
|
+ let hasSelect = false
|
|
|
|
+ for( let z = 0; z <it.content.details[i].details.length; z++) {
|
|
|
|
+ if(it.content.details[i].details[z].state == 1) {
|
|
|
|
+ hasSelect= true
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if(!hasSelect) {
|
|
|
|
+ allHasInfo = false
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ if(allHasInfo) { //所有都有值,则计算
|
|
|
|
+ // delete it.content.resultz
|
|
|
|
+ let param = {
|
|
|
|
+ type: 2,
|
|
|
|
+ data: it,
|
|
|
|
+ disId: v.id,
|
|
|
|
+ pIndex: j,
|
|
|
|
+ ppIndex: i
|
|
|
|
+ }
|
|
|
|
+ calcuFormula({param,chronicPushItems})
|
|
|
|
+ } else { //不是所有值都填过了
|
|
|
|
+ Notify.info('请填写计算公式内容')
|
|
|
|
+ }
|
|
}
|
|
}
|
|
getDetail(){
|
|
getDetail(){
|
|
- const {data,indexs,scaleInfo,formulaResult} = this.props;
|
|
|
|
- const {showInfo,showOption,infoId,formulaId,optionId,possible,radioVal} = this.state;
|
|
|
|
|
|
+ const {data,indexs,formulaResult} = this.props;
|
|
|
|
+ const {formulaId,optionId,possible,radioVal,isFormulaConfirm} = this.state;
|
|
let list = data&&data.map((v,i)=>{
|
|
let list = data&&data.map((v,i)=>{
|
|
return <div className={style["list"]}>
|
|
return <div className={style["list"]}>
|
|
- <p ref={this.$content}>
|
|
|
|
- <span>{'患者可能有'+v.name}</span>
|
|
|
|
- <img src={infoPic} className={style["infoPic"]} onClick={this.showInfo.bind(this,v.id)}/>
|
|
|
|
- :
|
|
|
|
- </p>
|
|
|
|
|
|
+ {v.name?<p>
|
|
|
|
+ <span>{'患者可能有'+v.name}</span>
|
|
|
|
+ <img src={infoPic} className={style["infoPic"]} onClick={this.showInfo.bind(this,v.id)}/>
|
|
|
|
+ :
|
|
|
|
+ </p>:''}
|
|
{/*<MiniToast title='静态知识'
|
|
{/*<MiniToast title='静态知识'
|
|
icon={allTableIcon}
|
|
icon={allTableIcon}
|
|
show={infoId&&infoId==v.id?true:false}
|
|
show={infoId&&infoId==v.id?true:false}
|
|
@@ -215,10 +310,10 @@ class ChronicInfo extends React.Component{
|
|
{v.details&&v.details.map((it,j)=>{
|
|
{v.details&&v.details.map((it,j)=>{
|
|
if(it.type==1){
|
|
if(it.type==1){
|
|
return <p>
|
|
return <p>
|
|
- <span className={style["listName"]} onClick={this.showTable.bind(this,it.content,v.id)}>
|
|
|
|
|
|
+ <span className={style["listName"]} onClick={this.showTable.bind(this,it.content,v.id,i)}>
|
|
{'【'+it.content.name+'】'}
|
|
{'【'+it.content.name+'】'}
|
|
- {formulaResult&&formulaResult[it.content.id]?<i>{'结果:'+ formulaResult[it.content.id].text}</i>:''}
|
|
|
|
-
|
|
|
|
|
|
+ {formulaResult&&formulaResult[it.content.id]&&formulaResult[it.content.id].pIndex==i?<i>{'结果:'}{formulaResult[it.content.id].calcalculate&&formulaResult[it.content.id].calcalculate.result.value +' '+ formulaResult[it.content.id].calcalculate.result.text}</i>:''}
|
|
|
|
+
|
|
</span>
|
|
</span>
|
|
{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} />
|
|
@@ -230,10 +325,11 @@ class ChronicInfo extends React.Component{
|
|
}
|
|
}
|
|
</p>
|
|
</p>
|
|
}else if(it.type==2){
|
|
}else if(it.type==2){
|
|
|
|
+ const result = it.content.result&&it.content.result[1]&&it.content.result[1].text;
|
|
return <div className={style["marTop"]}>
|
|
return <div className={style["marTop"]}>
|
|
<span className={style["limit"]}>
|
|
<span className={style["limit"]}>
|
|
计算公式结果:
|
|
计算公式结果:
|
|
- <i className={style["blue"]} onClick={this.showFormula.bind(this,v.id)}>请选择</i>
|
|
|
|
|
|
+ <i className={style["blue"]} onClick={this.showFormula.bind(this,v.id)}>{isFormulaConfirm&&result?result:'请选择'}</i>
|
|
<img src={level1} />
|
|
<img src={level1} />
|
|
</span>
|
|
</span>
|
|
{indexs[i]&&indexs[i].includes(j)?<span className={style["addResult"]}>
|
|
{indexs[i]&&indexs[i].includes(j)?<span className={style["addResult"]}>
|
|
@@ -252,7 +348,7 @@ class ChronicInfo extends React.Component{
|
|
footer="true">
|
|
footer="true">
|
|
<table>
|
|
<table>
|
|
{it.content.details.map((item,idd)=>{
|
|
{it.content.details.map((item,idd)=>{
|
|
- if(item.controlType==0){//单选
|
|
|
|
|
|
+ if(item.controlType==1){//单选
|
|
return <tr>
|
|
return <tr>
|
|
<td>
|
|
<td>
|
|
<span>{'请选择'+item.name+':'}</span>
|
|
<span>{'请选择'+item.name+':'}</span>
|
|
@@ -261,8 +357,8 @@ class ChronicInfo extends React.Component{
|
|
{item.details.map((ii,ind)=>{
|
|
{item.details.map((ii,ind)=>{
|
|
return <div className={style["chooseItem"]}>
|
|
return <div className={style["chooseItem"]}>
|
|
<Radio label={ii.detailName}
|
|
<Radio label={ii.detailName}
|
|
- isSelect={radioVal[i]==ii.detailName}
|
|
|
|
- handleClick={this.handleForRadio.bind(this,ii,v,i)}>
|
|
|
|
|
|
+ isSelect={ii.state == 1}
|
|
|
|
+ handleClick={this.handleForRadio.bind(this,ii,v,i, j,idd, ind)}>
|
|
</Radio>
|
|
</Radio>
|
|
</div>
|
|
</div>
|
|
})}
|
|
})}
|
|
@@ -276,7 +372,7 @@ class ChronicInfo extends React.Component{
|
|
<span>{'请输入'+item.name+':'}</span>
|
|
<span>{'请输入'+item.name+':'}</span>
|
|
</td>
|
|
</td>
|
|
<td>
|
|
<td>
|
|
- <input type="text" placeholder="请输入" value={item.value}/>
|
|
|
|
|
|
+ <input type="text" placeholder="请输入" value={item.value} onInput={this.handleInputformula.bind(this,v,i, j,idd)}/>
|
|
</td>
|
|
</td>
|
|
<td>
|
|
<td>
|
|
<span>{item.uint}</span>
|
|
<span>{item.uint}</span>
|
|
@@ -292,7 +388,8 @@ class ChronicInfo extends React.Component{
|
|
{item.details.map((ii,ind)=>{
|
|
{item.details.map((ii,ind)=>{
|
|
return <div className={style["chooseItem"]}>
|
|
return <div className={style["chooseItem"]}>
|
|
<Radio label={ii.detailName}
|
|
<Radio label={ii.detailName}
|
|
- isSelect={radioVal[i]==ii.detailName}
|
|
|
|
|
|
+ // isSelect={radioVal[i]==ii.detailName}
|
|
|
|
+ isSelect={ii.state == 1}
|
|
handleClick={this.handleForRadio.bind(this,ii,v,i)}>
|
|
handleClick={this.handleForRadio.bind(this,ii,v,i)}>
|
|
</Radio>
|
|
</Radio>
|
|
</div>
|
|
</div>
|
|
@@ -303,14 +400,27 @@ class ChronicInfo extends React.Component{
|
|
}
|
|
}
|
|
})}
|
|
})}
|
|
</table>
|
|
</table>
|
|
- <div className={style["forMulBtn"]}>计算</div>
|
|
|
|
|
|
+ <div className={style["forMulBtn"]} onClick={this.calcuFormula.bind(this,it,j, v, i)}>计算</div>
|
|
|
|
+ <table>
|
|
|
|
+ {it.content.result && Array.isArray(it.content.result) &&it.content.result.map((itemResult, resultIndex) => {
|
|
|
|
+ return <tr>
|
|
|
|
+ <td>
|
|
|
|
+ <span>{itemResult.name+':'}</span>
|
|
|
|
+ </td>
|
|
|
|
+ <td>
|
|
|
|
+ <span>{itemResult.text}</span>
|
|
|
|
+ </td>
|
|
|
|
+ </tr>
|
|
|
|
+ })}
|
|
|
|
+ </table>
|
|
|
|
+
|
|
</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 className={style["limit"]}>
|
|
<span className={style["limit"]}>
|
|
可能结果:
|
|
可能结果:
|
|
- <i onClick={this.showOption.bind(this,v.id)} className={style["blue"]}>{possible[i]?possible[i]:'请选择'}</i>
|
|
|
|
|
|
+ <i onClick={this.showOption.bind(this,v.id)} className={style["blue"]}>{possible[v.id]?possible[v.id]:'请选择'}</i>
|
|
<img src={level1} />
|
|
<img src={level1} />
|
|
</span>
|
|
</span>
|
|
{indexs[i]&&indexs[i].includes(j)?<span className={style["addResult"]}>
|
|
{indexs[i]&&indexs[i].includes(j)?<span className={style["addResult"]}>
|
|
@@ -332,8 +442,8 @@ class ChronicInfo extends React.Component{
|
|
{it.content.details&&it.content.details.map((lis,ind)=>{
|
|
{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[i]==lis.detailName}
|
|
|
|
- handleClick={this.handleRadio.bind(this,lis,v,i)}>
|
|
|
|
|
|
+ isSelect={radioVal[v.id]==lis.detailName}
|
|
|
|
+ handleClick={this.handleRadio.bind(this,lis,v)}>
|
|
</Radio>
|
|
</Radio>
|
|
</div>
|
|
</div>
|
|
})}
|
|
})}
|
|
@@ -347,17 +457,20 @@ class ChronicInfo extends React.Component{
|
|
return list;
|
|
return list;
|
|
}
|
|
}
|
|
|
|
|
|
- render(){
|
|
|
|
|
|
+ render(){console.log('chronic更新')
|
|
const footer = <div className={style['footer']}>
|
|
const footer = <div className={style['footer']}>
|
|
<span className={style['print']} onClick={this.onPrint}><img src={printIcon} alt=""/>打印</span>
|
|
<span className={style['print']} onClick={this.onPrint}><img src={printIcon} alt=""/>打印</span>
|
|
<span className={style['okBtn']} onClick={()=>this.handleSaveAssess()}>确定</span>
|
|
<span className={style['okBtn']} onClick={()=>this.handleSaveAssess()}>确定</span>
|
|
</div>;
|
|
</div>;
|
|
|
|
+ const recFooter =<div className={style['footer']}>
|
|
|
|
+ <span className={style['okBtn']} onClick={()=>this.handleSaveRecommend()}>关闭</span>
|
|
|
|
+ </div>;
|
|
const scaleFooter = <div className={style['footer']}>
|
|
const scaleFooter = <div className={style['footer']}>
|
|
<span className={style['print']} onClick={this.onPrint}><img src={printIcon} alt=""/>打印</span>
|
|
<span className={style['print']} onClick={this.onPrint}><img src={printIcon} alt=""/>打印</span>
|
|
<span className={style['okBtn']} onClick={()=>this.closeTable()}>确定</span>
|
|
<span className={style['okBtn']} onClick={()=>this.closeTable()}>确定</span>
|
|
</div>;
|
|
</div>;
|
|
- const {chronicMagItem,showList,tableList,scaleInfo,data,saveAssessInfos,chronicDesease,formulaResult,showHide} = this.props;
|
|
|
|
- const {showInfo,showOption,showAssess,isAssessConfirm,tableName,tableId,parentId,possible,radioVal} = this.state;
|
|
|
|
|
|
+ const {chronicMagItem,tableList,saveAssessInfos,chronicDesease,formulaResult,showHide,calcuFormula} = this.props;
|
|
|
|
+ const {showAssess,isAssessConfirm,tableName,tableId,parentId,parentIndex,isRecommendConfirm,showRecommend,radioVal,possible} = this.state;
|
|
return <div className={style["tips"]} style={{marginBottom:'15px'}}>
|
|
return <div className={style["tips"]} style={{marginBottom:'15px'}}>
|
|
<div className={`${style["tips-title"]} ${style["chronic"]}`}>
|
|
<div className={`${style["tips-title"]} ${style["chronic"]}`}>
|
|
<div className={style["tips-name"]}>
|
|
<div className={style["tips-name"]}>
|
|
@@ -376,6 +489,15 @@ class ChronicInfo extends React.Component{
|
|
<span className={style["tipsDetails"]} onClick={() => this.showTableList(chronicDesease&&chronicDesease.id||chronicMagItem&&chronicMagItem.id)}>量表
|
|
<span className={style["tipsDetails"]} onClick={() => this.showTableList(chronicDesease&&chronicDesease.id||chronicMagItem&&chronicMagItem.id)}>量表
|
|
</span>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
|
|
+ <div className={style["tips-btn"]} style={{display:chronicMagItem&&chronicMagItem.name||chronicDesease&&chronicDesease.name?'none':'block'}}>
|
|
|
|
+ <span
|
|
|
|
+ className={style["tipsDetails"]}
|
|
|
|
+ style={{width:'70px'}}
|
|
|
|
+ onClick={this.showRecommendFn}
|
|
|
|
+ >
|
|
|
|
+ 推荐结果
|
|
|
|
+ </span>
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
<div className={style["content"]}>
|
|
<div className={style["content"]}>
|
|
{this.getDetail()}
|
|
{this.getDetail()}
|
|
@@ -386,7 +508,8 @@ class ChronicInfo extends React.Component{
|
|
return <li onClick={this.handleListClick.bind(this,v)}>
|
|
return <li onClick={this.handleListClick.bind(this,v)}>
|
|
<span>
|
|
<span>
|
|
{'【'+v.name+'】'}
|
|
{'【'+v.name+'】'}
|
|
- {formulaResult&&formulaResult[v.id]?<i>{'结果:'+formulaResult[v.id].text}</i>:''}
|
|
|
|
|
|
+ {/*{formulaResult&&formulaResult[v.id]?<i>{'结果:'+formulaResult[v.id].text}</i>:''}*/}
|
|
|
|
+ {formulaResult&&formulaResult[v.id]?<i>{'结果:'}{formulaResult[v.id].calcalculate&&formulaResult[v.id].calcalculate.result.value+' '+ formulaResult[v.id].calcalculate.result.text}</i>:''}
|
|
</span>
|
|
</span>
|
|
</li>
|
|
</li>
|
|
})}
|
|
})}
|
|
@@ -398,7 +521,7 @@ class ChronicInfo extends React.Component{
|
|
top={20}
|
|
top={20}
|
|
bottom={20}
|
|
bottom={20}
|
|
width={820}>
|
|
width={820}>
|
|
- <ScaleTable title={tableName} tableId={tableId} parentId={parentId}></ScaleTable>
|
|
|
|
|
|
+ <ScaleTable title={tableName} tableId={tableId} parentId={parentId} parentIndex={parentIndex}></ScaleTable>
|
|
</ComplexModal>:''}
|
|
</ComplexModal>:''}
|
|
{showAssess?<ComplexModal onclose={this.showAssessFn} footer={footer}
|
|
{showAssess?<ComplexModal onclose={this.showAssessFn} footer={footer}
|
|
title='管理和评估'
|
|
title='管理和评估'
|
|
@@ -407,9 +530,29 @@ class ChronicInfo extends React.Component{
|
|
bottom={20}
|
|
bottom={20}
|
|
width={820}>
|
|
width={820}>
|
|
<AssessResult handleSave={saveAssessInfos}
|
|
<AssessResult handleSave={saveAssessInfos}
|
|
- isAssessConfirm={isAssessConfirm}
|
|
|
|
|
|
+ handleSaveCalcu={this.handleSaveCalcu}
|
|
|
|
+ closeAssess={this.showAssessFn}
|
|
|
|
+ showScaleFn={this.showTable.bind(this)}
|
|
|
|
+ calcuFormula={calcuFormula}
|
|
|
|
+ radioVal={radioVal}
|
|
|
|
+ possible={possible}
|
|
|
|
+ isAssessConfirm={isAssessConfirm}></AssessResult>
|
|
|
|
+ </ComplexModal>:''}
|
|
|
|
+ {showRecommend?<ComplexModal onclose={this.showRecommendFn} footer={recFooter}
|
|
|
|
+ title='推荐结果'
|
|
|
|
+ icon={manageIcon}
|
|
|
|
+ top={20}
|
|
|
|
+ bottom={20}
|
|
|
|
+ width={820}>
|
|
|
|
+ <AssessResult handleSave={saveAssessInfos}
|
|
|
|
+ handleSaveCalcu={this.handleSaveCalcu}
|
|
|
|
+ closeAssess={this.showRecommendFn}
|
|
|
|
+ isRecommend={true}
|
|
|
|
+ showScaleFn={this.showTable.bind(this)}
|
|
|
|
+ calcuFormula={calcuFormula}
|
|
|
|
+ radioVal={radioVal}
|
|
possible={possible}
|
|
possible={possible}
|
|
- radioVal={radioVal}></AssessResult>
|
|
|
|
|
|
+ isAssessConfirm={isRecommendConfirm}></AssessResult>
|
|
</ComplexModal>:''}
|
|
</ComplexModal>:''}
|
|
</div>
|
|
</div>
|
|
}
|
|
}
|