Browse Source

主诉现病史子模板通过relationModule获取

liucf 6 years ago
parent
commit
1dbb760274

+ 2 - 2
src/common/components/TailInlineTag/index.jsx

@@ -19,8 +19,8 @@ class TailInlineTag extends Component {
 
   handleClick(e){
     // e.stopPropagation(); //冒泡到最顶层关闭其他下拉
-    const {handleTailClick,questionMapping,id} = this.props;
-    handleTailClick && handleTailClick({questionMapping,id});
+    const {handleTailClick,questionMapping,id,relationModule} = this.props;
+    handleTailClick && handleTailClick({questionMapping,id,relationModule});
   }
 
   render(){

+ 2 - 2
src/components/CurrentIll/index.jsx

@@ -132,8 +132,8 @@ class CurrentIll extends Component{
     const boxMark = '2';
 
     let list = data&&data.map((item,i)=>{
-      if(item.relationModule && item.relationModule==3){
-        return <TailInlineTag {...item} showText={processModuleName} handleTailClick={(obj)=>{insertProcess(obj)}}></TailInlineTag>
+      if(item.flag && item.flag==3){
+        return <TailInlineTag {...item} showText={item.relationModuleName} handleTailClick={(obj)=>{insertProcess(obj)}}></TailInlineTag>
       }else {
         return chooseType({item,boxMark,i,hideTag:false,showArr,selecteds,saveText,mainIds:symptomIds});
       }

+ 2 - 1
src/components/MainSuit/index.jsx

@@ -53,7 +53,8 @@ class MainSuit extends Component{
     const boxMark = '1';
     let list = datas&&datas.map((item,i)=>{
       if(item.flag && item.flag==3){
-        return <TailInlineTag {...item} showText={addModuleName} handleTailClick={(obj)=>{handleTailClick(obj,saveText)}}></TailInlineTag>
+        /*return <TailInlineTag {...item} showText={addModuleName} handleTailClick={(obj)=>{handleTailClick(obj,saveText)}}></TailInlineTag>*/
+        return <TailInlineTag {...item} showText={item.relationModuleName} handleTailClick={(obj)=>{handleTailClick(obj,saveText)}}></TailInlineTag>
       }else {
         return chooseType({item,boxMark,i,hideTag:false,showArr,selecteds,saveText,mainIds});
       }

+ 2 - 2
src/components/RadioDrop/index.jsx

@@ -99,14 +99,14 @@ class RadioDrop extends Component{
     },$("#addScrollEvent")[0])
   }
   componentDidMount(){    //默认值选中
-    const {data,ikey,handleSelect,hideTag} = this.props;
+    const {data,ikey,handleSelect,hideTag,mainSaveText,value} = this.props;
     const selected = data.find((it)=>{
       return it.selected === undefined&&+it.defaultSelect===1;
     });
     if(!hideTag&&selected){
       // const text = selected.labelPrefix+selected.name+selected.labelSuffix;
       const text = selected.name;
-      handleSelect&&handleSelect({ikey,id:selected.id,text});
+      handleSelect&&handleSelect({ikey,id:selected.id,text,mainSaveText,value});
     }
   }
   handleEditLabel(e){

+ 1 - 0
src/containers/CurrentIll.js

@@ -58,6 +58,7 @@ function mapDispatchToProps(dispatch) {
         });
         dispatch({
           type:INSERT_PROCESS,
+          id:obj.relationModule
         });
         dispatch({
           type:ISREAD

+ 2 - 1
src/containers/MainSuit.js

@@ -70,7 +70,8 @@ function mapDispatchToProps(dispatch) {
           });
           dispatch({
             type: SHOW_TAIL,
-            info:obj.questionMapping
+            info:obj.questionMapping,
+            id:obj.relationModule
           })
           dispatch({
             type:ISREAD

+ 17 - 2
src/store/actions/currentIll.js

@@ -1,5 +1,6 @@
 import {getLabelIndex,fullfillText,getIds} from '@common/js/func.js';
 import config from '@config/index.js';
+import {getInitModules} from '@store/async-actions/homePage.js';
 
 //插入病程变化模板
 function insertPro(data,processModule){
@@ -38,9 +39,23 @@ export const setModule = (state,action)=>{
 //插入病程变化
 export const insertProcess = (state,action)=>{
   const res = Object.assign({},state);
-  const processModule = JSON.parse(JSON.stringify(res.processModule));
+  const sonId = action.id;//子模板id
+  // const processModule = JSON.parse(JSON.stringify(res.processModule));
+  let addSmoduleData;
+  let allModules = JSON.parse(localStorage.getItem('modules'));
+  if(!allModules){
+    console.log(44,'重新调接口获取模板');
+    // let getModulesApi = getInitModules;
+    // allModules = JSON.parse(localStorage.getItem('modules'));
+  }
+  for(let k=0; k<allModules.length; k++){
+    if(allModules[k].id==sonId){
+      addSmoduleData = JSON.parse(JSON.stringify(allModules[k].moduleDetailDTOList));
+    }
+  }
   let data = res.data;
-  res.data = insertPro(data,processModule);
+  let newData = insertPro(data,addSmoduleData);
+  res.data = fullfillText(newData).newArr;
   res.saveText = fullfillText(res.data).saveText;
   res.update=Math.random();
   return res;

+ 14 - 3
src/store/actions/mainSuit.js

@@ -69,22 +69,33 @@ export const getBigSymptom = (state,action) => {
 //点击插入新模板--添加病程变化
 export const handleTailClick = (state,action)=>{
   const res = Object.assign({},state);
-  res.showDrop = !res.showDrop;
+  const sonId = action.id;//子模板id
   let num = res.moduleNum.num;
   num++;
-  const addSmoduleData = JSON.parse(JSON.stringify(res.addSmoduleData));
+  // const addSmoduleData = JSON.parse(JSON.stringify(res.addSmoduleData));
   // const addDatas = JSON.parse(JSON.stringify(fullfillText(action.info).newArr));
+  let addSmoduleData;
+  const allModules = JSON.parse(localStorage.getItem('modules'));
+  
+  for(let k=0; k<allModules.length; k++){
+    if(allModules[k].id==sonId){
+      addSmoduleData = JSON.parse(JSON.stringify(allModules[k].moduleDetailDTOList));
+    }
+  }
   let datas = JSON.parse(JSON.stringify(res.data));
   let leng = datas.length;
+  
   for(let i=0; i<addSmoduleData.length; i++){
     addSmoduleData[i].pos = num;
     // let pos = leng-1+i;
    /* let pos = leng-2+i;
     datas.splice(pos,0,addDatas[i]);*/
   }
-  res.data = insertPro(datas,addSmoduleData);
+  let newData = insertPro(datas,addSmoduleData);
+  res.data = fullfillText(newData).newArr;
   res.saveText = fullfillText(res.data).saveText;
   res.moduleNum.num = num;
+  res.showDrop = !res.showDrop;console.log(44,res);
   return res;
 }
 

+ 2 - 0
src/store/async-actions/homePage.js

@@ -38,6 +38,8 @@ export const getInitModules= (dispatch,getStore)=>{
       dispatch(initHistoryDetails(message));      //历史病历回读
       if (res.data.code == '0') {
         const newObj = modulesParseJson(res.data.data);
+        // 将目标缓存,方便根据id取子模板
+        localStorage.setItem('modules',JSON.stringify(res.data.data));
         const initData = newObj.json;
         const initSaveText = newObj.saveTextJson;
         const initModuleName = newObj.moduleName;