Selaa lähdekoodia

1691,主诉现病史保存子模板

liucf 5 vuotta sitten
vanhempi
commit
18192f851b

+ 3 - 3
src/containers/CurrentIll.js

@@ -57,17 +57,17 @@ function mapDispatchToProps(dispatch) {
           num:1
         });
         // 判断是否有子模板数据
-        const sonId = obj.relationModule;//子模板id
+        /*const sonId = obj.relationModule;//子模板id
         let sonArr = allModules.filter((item)=>{return item.id==sonId})
         if(sonArr.length==0){//未匹配到子模板
           Notify.info("未找到相关内容");
           return
-        }
+        }*/
         dispatch({
           type:INSERT_PROCESS,
           // id:obj.relationModule,
           // allModules:allModules
-          addSmoduleData:JSON.parse(JSON.stringify(sonArr[0].moduleDetailDTOList))
+          // addSmoduleData:JSON.parse(JSON.stringify(sonArr[0].moduleDetailDTOList))
         });
         dispatch({
           type:ISREAD

+ 6 - 4
src/containers/MainSuit.js

@@ -59,7 +59,8 @@ function mapDispatchToProps(dispatch) {
             type: CLEAR_COMSYMPTOMS
           })
         },
-        handleTailClick:(obj,saveText,allModules)=>{//点击带尾巴的标签,如添加病程变化
+        handleTailClick:(obj,saveText,allModules)=>{
+        //点击带尾巴的标签,如添加病程变化
           let text = filterDataArr(saveText);
           if(text.length >= config.limited){
             Notify.info(config.limitText);
@@ -73,12 +74,13 @@ function mapDispatchToProps(dispatch) {
             num:1
           });
           // 判断是否有子模板数据
-          const sonId = obj.relationModule;
+          // getAll时已经根据type分发了子模板,无需点击时再去匹配
+          /*const sonId = obj.relationModule;
           let sonArr = allModules.filter((item)=>{return item.id==sonId})
           if(sonArr.length==0){//未匹配到子模板
             Notify.info("未找到相关内容");
             return
-          }
+          }*/
           /*dispatch({
             type: SHOW_TAIL,
             info:obj.questionMapping,
@@ -87,7 +89,7 @@ function mapDispatchToProps(dispatch) {
           })*/
           dispatch({
             type: SHOW_TAIL,
-            addSmoduleData:JSON.parse(JSON.stringify(sonArr[0].moduleDetailDTOList))
+            // addSmoduleData:JSON.parse(JSON.stringify(sonArr[0].moduleDetailDTOList))
           })
           dispatch({
             type:ISREAD

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

@@ -1,6 +1,6 @@
 import config from '@config/index.js';
 import {formatContinueDots,getLabelIndex,fullfillText,getIds} from '@utils/tools';
-
+import {Notify} from '@commonComp';
 //插入病程变化模板
 function insertPro(data,processModule){
   let index;
@@ -63,7 +63,17 @@ export const setModule = (state,action)=>{
 //插入病程变化
 export const insertProcess = (state,action)=>{
   const res = Object.assign({},state);
-  let addSmoduleData = action.addSmoduleData;
+  // let addSmoduleData = action.addSmoduleData;
+  let addSmoduleData = [];
+  if(res.currReadSonM.length>0){
+    addSmoduleData = JSON.parse(JSON.stringify(res.currReadSonM))
+  }else{
+    addSmoduleData = res.processModule.length>0?JSON.parse(JSON.stringify(res.processModule)):[];
+  }
+  if(addSmoduleData.length==0){//未匹配到子模板
+    Notify.info("未找到相关内容");
+    return
+  }
   let data = res.data;
   let newData = insertPro(data,addSmoduleData);
   res.data = fullfillText(newData).newArr;
@@ -670,6 +680,7 @@ export const clearCurrentIll = (state,action)=>{
   res.saveText = action.saveText;
   res.selecteds = action.selecteds?action.selecteds:[];
   res.symptomIds = action.symptomIds;
+  res.currReadSonM = action.currReadSonM||[];
   if(action.editClear){
     res.editClear = action.editClear;
   }

+ 18 - 2
src/store/actions/mainSuit.js

@@ -1,6 +1,6 @@
 import {getLabelIndex,fullfillText,getIds} from '@utils/tools.js';
 import config from '@config/index.js';
-
+import {Notify} from '@commonComp';
 
 function insertPro(data,processModule){//插入添加病情变化模板
   let index;
@@ -97,7 +97,18 @@ export const handleTailClick = (state,action)=>{
   const res = Object.assign({},state);
   let num = res.moduleNum.num;
   num++;
-  let addSmoduleData = action.addSmoduleData;
+  // let addSmoduleData = action.addSmoduleData;
+  // 有回读的子模板,则优先用回读的
+  let addSmoduleData = [];
+  if(res.mainReadSonM.length>0){
+    addSmoduleData = JSON.parse(JSON.stringify(res.mainReadSonM))
+  }else{
+    addSmoduleData = res.addSmoduleData.length>0?JSON.parse(JSON.stringify(res.addSmoduleData)):[];
+  }
+  if(addSmoduleData.length==0){//未匹配到子模板
+    Notify.info("未找到相关内容");
+    return
+  }
   let datas = JSON.parse(JSON.stringify(res.data));
   
   for(let i=0; i<addSmoduleData.length; i++){
@@ -655,6 +666,11 @@ export const clearMainSuit = (state,action)=>{//回读和清除
   res.mainIds = action.mainIds;
   res.mainTailIds = action.mainTailIds || [];
   res.chronicDesease = action.chronicDesease;//慢病疾病字段
+  res.mainReadSonM = action.mainReadSonM || [];//子模板
+  /*const readModule = action.mainReadSonM;
+  if(readModule&&readModule.length>0){//有回读子模板,则覆盖
+    res.addSmoduleData = readModule;
+  }*/
   if(action.editClear){
     res.editClear = action.editClear;
   }

+ 2 - 1
src/store/reducers/currentIll.js

@@ -16,7 +16,8 @@ const initState = {
   editClear:true,
   addModule:[],
   emptyData:[],
-  symptomIds:[] //搜索去重
+  symptomIds:[], //搜索去重
+  currReadSonM:[] //回读的子模板
 };
 export default function(state=initState,action){    
   const res = Object.assign({},state);

+ 2 - 1
src/store/reducers/mainSuit.js

@@ -28,7 +28,8 @@ const initState = {
     refresh:false //用于数据更新
   },
   chronicDesease:null, //慢病
-  mainTailIds:[]  //获取症状尾巴用
+  mainTailIds:[],  //获取症状尾巴用
+  mainReadSonM:[] //回读的子模板
 }
 
 export default function(state=initState,action){

+ 10 - 4
src/utils/tools.js

@@ -181,6 +181,8 @@ const getAllDataList =(baseList) =>{           //获取所有模块结构化的
     jsonData.diagChronicMagItem = baseList.diagnosticList.chronicMagItem;      //诊断慢病{}
     jsonData.currentIds = baseList.currentIll.symptomIds;      //现病史去重
     jsonData.isFirstMainDiag = baseList.treat.isFirstMainDiag;      //治疗方案
+    jsonData.mainReadSonM = baseList.mainSuit.addSmoduleData;      //主诉-子模板
+    jsonData.currReadSonM = baseList.currentIll.currReadSonM;      //现病史-子模板
     // console.log(jsonData,'结构化数据获取')
     return jsonData;
 }
@@ -233,8 +235,8 @@ const getAllDataStringList =(baseList) =>{           //获取所有模块文本
 const pushAllDataList =(whichSign,action,reData,type) =>{           //回读清空所有的数据
     if(action == 'clear'){     //清空
       const block = Object.assign(JSON.parse(config.textLabel),{full:true});//空白时保留一个自由文本标签
-      store.dispatch({type: CLEAR_MAIN_SUIT,data:[],saveText:[],selecteds:[],editClear:true,mainIds:[],mainTailIds:[],clearAction:true,symptomFeature:[],chronicDesease:null});
-        store.dispatch({type: CLEAR_CURRENT_ILL,data:[],saveText:[],selecteds:[],editClear:true,symptomIds:[]});
+      store.dispatch({type: CLEAR_MAIN_SUIT,data:[],saveText:[],selecteds:[],editClear:true,mainIds:[],mainTailIds:[],clearAction:true,symptomFeature:[],chronicDesease:null,mainReadSonM:[]});
+        store.dispatch({type: CLEAR_CURRENT_ILL,data:[],saveText:[],selecteds:[],editClear:true,symptomIds:[],currReadSonM:[]});
         store.dispatch({type: CLEAROTHERHISTORY,data:[block],isEmpty:true,saveText:[],selecteds:[],editClear:true,yjs_1:'',yjs_2:'',yjs_3:'',yjs_4:''});
         store.dispatch({type: CLEARCHECKBODY,data:[block],isEmpty:true,saveText:[],selecteds:[]});
         store.dispatch(clearAssistData([],'',[]));
@@ -296,13 +298,15 @@ const pushAllDataList =(whichSign,action,reData,type) =>{           //回读清
                     saveText:JSON.parse(dataJsonStr.chief),
                     mainIds:dataJson.mainsuitIds?dataJson.mainsuitIds:[],
                     chronicDesease:dataJson.mainChronicDesease,
+                    mainReadSonM:dataJson.mainReadSonM,
                 });
                 store.dispatch({
                     type: CLEAR_CURRENT_ILL,
                     data:dataJson.present,
                     selecteds:dataJson.currentIllSelecteds?dataJson.currentIllSelecteds:[],
                     saveText:JSON.parse(dataJsonStr.present),
-                    symptomIds:dataJson.currentIds?dataJson.currentIds:[]
+                    symptomIds:dataJson.currentIds?dataJson.currentIds:[],
+                    currReadSonM:dataJson.currReadSonM
                 });
                 store.dispatch({
                     type: CLEAROTHERHISTORY,
@@ -363,13 +367,15 @@ const pushAllDataList =(whichSign,action,reData,type) =>{           //回读清
                     saveText:dataJsonStr[0].content ? JSON.parse(dataJsonStr[0].content) :[],
                     mainIds:dataJson.mainsuitIds?dataJson.mainsuitIds:[],
                     chronicDesease:dataJson.mainChronicDesease,
+                    mainReadSonM:dataJson.mainReadSonM,
                 });
                 store.dispatch({
                     type: CLEAR_CURRENT_ILL,
                     data:dataJson.present,
                     selecteds:dataJson.currentIllSelecteds?dataJson.currentIllSelecteds:[],
                     saveText:dataJsonStr[1].content ? JSON.parse(dataJsonStr[1].content):[],
-                    symptomIds:dataJson.currentIds?dataJson.currentIds:[]
+                    symptomIds:dataJson.currentIds?dataJson.currentIds:[],
+                    currReadSonM:dataJson.currReadSonM
                 });
                 store.dispatch({
                     type: CLEAROTHERHISTORY,