瀏覽代碼

不良反应

zhangxc 6 年之前
父節點
當前提交
3422cd212f

+ 69 - 0
src/components/Treat/AdverseReactions/index.jsx

@@ -0,0 +1,69 @@
+import React, { Component } from 'react';
+import style from './index.less';
+import info2 from './../img/info2.png';
+import info3 from './../img/info3.png';
+import $ from "jquery";
+
+class AdverseReactions extends Component {
+    constructor(props){
+        super(props);
+        this.state = {
+            currentIndex: -1
+        }
+        this.handleMouseLeaveDrug = this.handleMouseLeaveDrug.bind(this);
+        this.handleMouseLeaveImg = this.handleMouseLeaveImg.bind(this);
+        this.setDrugInfo = this.setDrugInfo.bind(this);
+    }
+    handleMouseEnterDrug(index, item) {
+        const drugNameWidth = parseInt($('#'+item.medicitionName)[0].offsetWidth)
+        const imgLeft = drugNameWidth/2-8
+        $('#'+item.medicitionName).find('img').css('left', imgLeft)
+        this.setState({
+            currentIndex: index,
+        })
+    }
+    handleMouseLeaveDrug() {
+        this.setState({
+            currentIndex: -1, 
+        })
+    }
+    handleMouseEnterImg() {
+        this.setState({
+            hasEnterImg: true
+        })
+    }
+    handleMouseLeaveImg() {
+        this.setState({
+            hasEnterImg: false
+        })
+    }
+    setDrugInfo(item) {
+        const { setDrugInfo } = this.props;
+        setDrugInfo && setDrugInfo(item);
+    }
+
+
+    render() {
+        const { icon, titleStyle,titleBg, filter, title, showDrugInfo, setDrugInfo, adversReactionList } = this.props
+        return(
+            <div className={style['last-treat-wrapper']}>
+                { console.log('adversReactionList', adversReactionList) }
+                <div className={style['last-treat-title-box']} style={titleStyle}></div>
+                <div className={style['last-treat-title']} ><img className={style['last-treat-icon']} src={icon}/>{title}</div>
+                {adversReactionList.map((item, index) => {
+                    return (<div key={item.id}><span>{item.tagName}:</span>
+                        {item.details.map((item, index) => {
+                            return <span key={item.name}>
+                                <input type="checkbox" checked={item.checked} id={item.name} onChange={()=>{console.log('change')}}/>
+                                <label for={item.name}> {item.name} </label>
+                            </span>
+                        })}
+                    </div>)
+                })}
+            </div>
+        )
+    }
+
+}
+
+export default AdverseReactions;

+ 27 - 0
src/components/Treat/AdverseReactions/index.less

@@ -0,0 +1,27 @@
+.last-treat-wrapper {
+    position: relative;
+    padding: 10px 0 0 0;
+}
+.last-treat-title-box {
+    height: 36px;
+    line-height: 36px;
+    background: rgb(47,199,156);
+    opacity: 0.1;
+    filter:alpha(opacity=10);
+    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(opacity=10);";
+}
+.last-treat-title {
+    position: absolute;
+    width: 100%;
+    top: 10px;
+    height: 36px;
+    line-height: 36px;
+    font-weight: bold;
+}
+.last-treat-icon {
+    width: 16px;
+    float: left;
+    margin: 10px;
+}
+
+

+ 1 - 31
src/components/Treat/LastTreat/index.jsx

@@ -11,38 +11,8 @@ class LastTreat extends Component {
         this.state = {
             currentIndex: -1
         }
-        this.handleMouseLeaveDrug = this.handleMouseLeaveDrug.bind(this);
-        this.handleMouseLeaveImg = this.handleMouseLeaveImg.bind(this);
-        this.setDrugInfo = this.setDrugInfo.bind(this);
     }
-    handleMouseEnterDrug(index, item) {
-        const drugNameWidth = parseInt($('#'+item.medicitionName)[0].offsetWidth)
-        const imgLeft = drugNameWidth/2-8
-        $('#'+item.medicitionName).find('img').css('left', imgLeft)
-        this.setState({
-            currentIndex: index,
-        })
-    }
-    handleMouseLeaveDrug() {
-        this.setState({
-            currentIndex: -1, 
-        })
-    }
-    handleMouseEnterImg() {
-        this.setState({
-            hasEnterImg: true
-        })
-    }
-    handleMouseLeaveImg() {
-        this.setState({
-            hasEnterImg: false
-        })
-    }
-    setDrugInfo(item) {
-        const { setDrugInfo } = this.props;
-        setDrugInfo && setDrugInfo(item);
-    }
-
+   
 
     render() {
         const { icon, titleStyle,titleBg, filter, title, lastTreat, showDrugInfo, setDrugInfo } = this.props

+ 4 - 2
src/components/Treat/index.jsx

@@ -3,6 +3,7 @@ import style from './index.less';
 import GeneralTreat from './GeneralTreat/index.jsx';
 import DrugTreat from './DrugTreat/index.jsx';
 import LastTreat from './LastTreat/index.jsx';
+import AdverseReactions from './AdverseReactions/index.jsx';
 import TreatDesc from '@components/TreatDesc'
 import {dragBox,windowRemoveEventHandler} from '@utils/tools'
 import DrugInfo from '@components/TreatDesc/DrugInfo';
@@ -52,7 +53,7 @@ class Treat extends Component {
       $('#drugWrapper').css({'z-index': 301});
     }
     render(){
-        const {setDrugInfoMore,treatIndex,treatIndexSet, generalTreat, treatment, treatItem, surgeryTreat, lastTreat, selectDrug, drugInfo, treatDesc, setOtherRecommend, setDrugInfo, showDrug, showDrugInfo,hideDrugInfo, title, drugInfoList, hideDrugInfoMore} = this.props;
+        const {setDrugInfoMore,treatIndex,treatIndexSet, generalTreat, treatment, treatItem, surgeryTreat, lastTreat, selectDrug, drugInfo, treatDesc, setOtherRecommend, setDrugInfo, showDrug, showDrugInfo,hideDrugInfo, title, drugInfoList, hideDrugInfoMore, adversReactionList} = this.props;
         const { zIndex,show } = this.state
         return(
             <div   className={style['treat-wrapper']}>
@@ -64,7 +65,8 @@ class Treat extends Component {
 
                     <div className={style['treat-inner-box']}>
                         <GeneralTreat icon={generalIcon} title='一般治疗'   generalTreat={generalTreat}></GeneralTreat>
-                        <LastTreat icon={generalIcon} title='上次用药情况' lastTreat={lastTreat}  showDrugInfo = {showDrugInfo} setDrugInfo={ setDrugInfo }></LastTreat>
+                        {/* <LastTreat icon={generalIcon} title='上次用药情况' lastTreat={lastTreat}  showDrugInfo = {showDrugInfo} setDrugInfo={ setDrugInfo }></LastTreat>
+                        <AdverseReactions icon={generalIcon} title='不良反应' adversReactionList = {adversReactionList}></AdverseReactions> */}
                         <DrugTreat treatment={ treatment } 
                                 selectDrug={selectDrug} 
                                 setOtherRecommend={ setOtherRecommend } 

+ 11 - 10
src/containers/Treat.js

@@ -8,17 +8,18 @@ import { showDrugInfo } from '../store/actions/treat';
 
 
 function mapStateToProps(state){
-    const { treat } = state;
+    const { treatment, generalTreat, surgeryTreat, lastTreat, adversReactionList, treatDesc, drugInfo, showDrugInfo, treatItem , drugInfoList} = state.treat;
     return {
-        treatment: treat.treatment,
-        generalTreat: treat.generalTreat,
-        surgeryTreat: treat.surgeryTreat,
-        lastTreat: treat.lastTreat,
-        treatDesc: treat.treatDesc,
-        drugInfo: treat.drugInfo,
-        showDrug: treat.showDrugInfo,
-        treatItem: treat.treatItem,
-        drugInfoList: treat.drugInfoList,   //药品说明书列表(查询多个药品说明书)
+        treatment: treatment,
+        generalTreat: generalTreat,
+        surgeryTreat: surgeryTreat,
+        lastTreat: lastTreat,
+        adversReactionList: adversReactionList,
+        treatDesc: treatDesc,
+        drugInfo: drugInfo,
+        showDrug: showDrugInfo,
+        treatItem: treatItem,
+        drugInfoList: drugInfoList,   //药品说明书列表(查询多个药品说明书)
 
     }
 }

+ 54 - 0
src/store/reducers/treat.js

@@ -90,6 +90,60 @@ const initState = {
             }
         ],
     },
+    adversReactionList:[
+        {
+            id: 40772,
+            name: '低血糖反应',
+            tagName: '低血糖反应',
+            showInfo: '0',
+            controlType: 2,
+            details: [
+                {
+                    name: "无",
+                    value: 0
+                },
+                {
+                    name: "偶尔",
+                    value: 0
+                },
+                {
+                    name: "频",
+                    value: 0
+                }
+            ]
+
+        },
+        {
+            id: 40773,
+            name: '胃肠道不良反应',
+            tagName: '胃肠道不良反应',
+            showInfo: '0',
+            controlType: 2,
+            details: [
+                {
+                    name: "腹胀 ",
+                    value: 0
+                },
+                {
+                    name: "厌食",
+                    value: 0
+                },
+                {
+                    name: "嗳气",
+                    value: 0
+                },
+                {
+                    name: "恶心",
+                    value: 0
+                },
+                {
+                    name: "呕吐",
+                    value: 0
+                }
+            ]
+
+        }
+    ],
     treatDesc:{
         title: '药品推荐',
     }