ソースを参照

Merge remote-tracking branch 'origin/IE_test' into dev/new1

zhouna 6 年 前
コミット
7858d22c6f

+ 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(){

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

@@ -128,12 +128,12 @@ class CurrentIll extends Component{
   }
 
   getInlineTag(){  
-    const {data,showArr,selecteds,processModuleName,saveText,insertProcess,symptomIds} = this.props;
+    const {data,showArr,selecteds,processModuleName,saveText,insertProcess,symptomIds,allModules} = this.props;
     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,allModules)}}></TailInlineTag>
       }else {
         return chooseType({item,boxMark,i,hideTag:false,showArr,selecteds,saveText,mainIds:symptomIds});
       }

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

@@ -49,11 +49,12 @@ class MainSuit extends Component{
 
 
   getInlineTag(){
-    const {datas,showArr,handleTailClick,selecteds,saveText,addModuleName,mainIds} = this.props;
+    const {datas,showArr,handleTailClick,selecteds,saveText,addModuleName,mainIds,allModules} = this.props;
     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,allModules)}}></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){

+ 4 - 1
src/containers/CurrentIll.js

@@ -41,6 +41,7 @@ function mapStateToProps(state) { //console.log(111,state);
         fuzhen:state.diagnosticList.mainSuitStr,//诊断第一个复诊值
         boxTop:state.homePage.boxTop,
         boxLeft:state.homePage.boxLeft,
+        allModules:state.homePage.allModules,
 
     }
 }
@@ -48,7 +49,7 @@ function mapStateToProps(state) { //console.log(111,state);
 
 function mapDispatchToProps(dispatch) {
     return {
-       insertProcess(obj){//点击病程变化
+       insertProcess(obj,allModules){//点击病程变化
         // 埋点dispatch
         dispatch({
           type:CLICKCOUNT,
@@ -58,6 +59,8 @@ function mapDispatchToProps(dispatch) {
         });
         dispatch({
           type:INSERT_PROCESS,
+          id:obj.relationModule,
+          allModules:allModules
         });
         dispatch({
           type:ISREAD

+ 5 - 2
src/containers/MainSuit.js

@@ -37,6 +37,7 @@ function mapStateToProps(state) {//console.log(11,state);
     boxTop:state.homePage.boxTop,
     boxLeft:state.homePage.boxLeft,
     currentData:state.currentIll.data,
+    allModules:state.homePage.allModules,
   }
 }
 
@@ -55,7 +56,7 @@ function mapDispatchToProps(dispatch) {
             type: CLEAR_COMSYMPTOMS
           })
         },
-        handleTailClick:(obj,saveText)=>{//点击带尾巴的标签,如添加病程变化
+        handleTailClick:(obj,saveText,allModules)=>{//点击带尾巴的标签,如添加病程变化
           let text = filterDataArr(saveText);
           if(text.length >= config.limited){
             Notify.info(config.limitText);
@@ -70,7 +71,9 @@ function mapDispatchToProps(dispatch) {
           });
           dispatch({
             type: SHOW_TAIL,
-            info:obj.questionMapping
+            info:obj.questionMapping,
+            id:obj.relationModule,
+            allModules:allModules
           })
           dispatch({
             type:ISREAD

+ 14 - 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,12 +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'));
+  let allModules = action.allModules;
+  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'));
+  let allModules = action.allModules;
+  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;
   return res;
 }
 

+ 7 - 1
src/store/async-actions/homePage.js

@@ -1,5 +1,5 @@
 import {post,json} from '@utils/ajax.js';
-import {SETINITDATA,MODI_LOADING} from '@store/types/homePage.js';
+import {SETINITDATA,MODI_LOADING,SETALLMODULES} from '@store/types/homePage.js';
 import {SET_CURRENT} from '@store/types/currentIll';
 import {SET_MAINSUIT} from '@store/types/mainSuit';
 import config from '@config/index.js';
@@ -42,6 +42,12 @@ export const getInitModules= (dispatch,getStore)=>{
         const initData = newObj.json;
         const initSaveText = newObj.saveTextJson;
         const initModuleName = newObj.moduleName;
+        // 将所有模板缓存,方便根据id取子模板
+        // localStorage.setItem('modules',JSON.stringify(res.data.data));
+        dispatch({
+          type: SETALLMODULES,
+          data: res.data.data
+        });
         dispatch({
           type: SETINITDATA,
           data: initData

+ 6 - 2
src/store/reducers/homePage.js

@@ -1,5 +1,5 @@
 import {HIDE,RESET,SETINITDATA,SETDROPSHOW,SETADDITEMINIT,SETT0EDIT,SETREADDITEMS,
-  HIDEDROP,CLICKCOUNT,ISREAD,SETOTHERHISTORY,SETMINSCREEN,MODI_LOADING,SEARCH_DROP_LOCATION} from '../types/homePage.js';
+  HIDEDROP,CLICKCOUNT,ISREAD,SETOTHERHISTORY,SETMINSCREEN,MODI_LOADING,SEARCH_DROP_LOCATION,SETALLMODULES} from '../types/homePage.js';
 import {showDrop,setAddItemInit,setLabelToEdit,confirmHide,clickNum,searchDropLocation} from '../actions/homePage.js';
 import SearchDrop from '../../components/SearchDrop/index.jsx';
 
@@ -13,7 +13,8 @@ const initState = {
   commSymHide:false,
   loadingFlag:true,
   boxTop:0,
-  boxLeft:0
+  boxLeft:0,
+  allModules:[]
 };
 
 export default function (state=initState,action) {
@@ -65,6 +66,9 @@ export default function (state=initState,action) {
       return res;
     case SEARCH_DROP_LOCATION:
       return searchDropLocation(state,action);
+    case SETALLMODULES:
+      res.allModules = action.data;
+      return res;
     default:
       return res;
   }

+ 2 - 1
src/store/types/homePage.js

@@ -12,4 +12,5 @@ export const ISREAD = 'is_history_or_template';     //是否回读或模板数
 export const SETOTHERHISTORY = 'set_otherHis_history';    //其他史历史数据暂存
 export const SETMINSCREEN = 'SETMINSCREEN';    //1024标识
 export const MODI_LOADING = 'MODI_LOADING';    //1024标识
-export const SEARCH_DROP_LOCATION = 'SEARCH_DROP_LOCATION';    //1024标识
+export const SEARCH_DROP_LOCATION = 'SEARCH_DROP_LOCATION';    //1024标识
+export const SETALLMODULES = 'SETALLMODULES';    //储存所有模板数据