瀏覽代碼

主诉现病史模板处理tagType=4的类型;主诉中“有无治疗”类型添加字数限制

liucf 6 年之前
父節點
當前提交
f7cefcc466

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

@@ -55,7 +55,7 @@ class RadioInpDrop extends Component{
     return style['tag'];
   }
   handleSelect(item){
-    const {handleSelect,ikey,value,placeholder} = this.props;
+    const {handleSelect,ikey,value,placeholder,mainSaveText} = this.props;
     let vals = {}, inx = 0;
     if(!item){
       handleSelect&&handleSelect({ikey});  //清空
@@ -75,7 +75,7 @@ class RadioInpDrop extends Component{
     this.setState({
       texts:vals
     });
-    handleSelect&&handleSelect({ikey,id:item.id,values:vals});
+    handleSelect&&handleSelect({ikey,id:item.id,values:vals,mainSaveText,value});
   }
   handleShow(e){
     //e.stopPropagation();

+ 3 - 3
src/containers/NumberUnitDrop.js

@@ -54,15 +54,15 @@ function handleModuleDiff(dispatch,params){
   switch (+type){
     case 1:
       if(mark){//选中才限制,清空和回退无需验证
-        // let text = filterDataArr(mainSaveText);
-        let text = filterArr(mainSaveText);
+        let text = filterDataArr(mainSaveText);
+        // let text = filterArr(mainSaveText);
         const item = mainData[+ikey];
         const nextItem = mainData[+ikey+1];
         let lengths = text.length;
         if(nextItem&&nextItem.tagType==8 && nextItem.tagName==',' && item.value){
           lengths = text.length + 1;
         }
-        // console.log(999,mainSaveText,lengths);
+        
         if(lengths >= config.limited){
           Notify.info(config.limitText);
           return

+ 13 - 4
src/containers/RadioInpDrop.js

@@ -14,7 +14,7 @@ import config from '@config/index.js';
 
 function mapStateToProps(state){
   return {
-    //mainSaveText:state.mainSuit.saveText,
+    mainSaveText:state.mainSuit.saveText,
   }
 }
 
@@ -75,13 +75,22 @@ function checkSelect(dispatch,params){
 }
 //在不同模块(主诉、现病史等)下拉选中调用不同事件
 function handleModuleDiff(dispatch,store,params){
-  const {mainSaveText,value,text} = params;
+  const {mainSaveText,values,value} = params;
   const type = params.ikey.substr(0,1);    //当前所在的项目
   switch (+type){
     case 1:
-      if(text){//有选值才需要判断,清空不需要处理
+      if(values){//有选值才需要判断,清空不需要处理
+        let str='',temp='';
+        for(let i in values){
+          temp = values[i];
+          if(typeof temp=='object'){
+            str+=temp.value;
+          }else{
+            str+=temp;
+          }
+        }
         let mainText = filterDataArr(mainSaveText);
-        let lengths = value?mainText.length - value.length + text.length:mainText.length + text.length;
+        let lengths = value?mainText.length - value.length + str.length:mainText.length + str.length;
         if(lengths >= config.limited){
           Notify.info(config.limitText);
           return

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

@@ -20,8 +20,29 @@ function insertPro(data,processModule){
 //设置模板
 export const setModule = (state,action)=>{
   const res = Object.assign({},state);
-  res.moduleData = action.data;
-  res.processModule = action.processModule;//病程变化模板
+  // 处理tagType=4的类型
+  const originalData = action.data;
+  const originalSonData = action.processModule;
+  let spreadLabels=[];
+  let sonSpreadLabels=[];//子模板
+  for(let i=0; i<originalData.length;i++){
+    if(originalData[i].tagType==4){
+      spreadLabels.push(...originalData[i].questionMapping);
+    }else{
+      spreadLabels.push(originalData[i]);
+    }
+  }
+  for(let j=0; j<originalSonData.length;j++){
+    if(originalSonData[j].tagType==4){
+      sonSpreadLabels.push(...originalSonData[j].questionMapping);
+    }else{
+      sonSpreadLabels.push(originalSonData[j]);
+    }
+  }
+  // res.moduleData = action.data;
+  // res.processModule = action.processModule;//病程变化模板
+  res.moduleData = spreadLabels;
+  res.processModule = sonSpreadLabels;//病程变化模板
   res.processModuleName = action.processModuleName;//模板名称
   res.emptyData = action.emptyData;//空模板
   let data = action.data;

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

@@ -22,9 +22,31 @@ export const setMainMoudle = (state,action) => {
   const res = Object.assign({},state);
   // const emptySpan = JSON.parse(config.textLabel);
   // let data = action.data.push(emptySpan);
-  res.moduleData = action.data;
+  // 处理tagType=4的类型
+  // const originalData = JSON.parse(JSON.stringify(action.data));
+  const originalData = action.data;
+  const originalSonData = action.addSymptom;
+  let spreadLabels=[];
+  let sonSpreadLabels=[];//子模板
+  for(let i=0; i<originalData.length;i++){
+    if(originalData[i].tagType==4){
+      spreadLabels.push(...originalData[i].questionMapping);
+    }else{
+      spreadLabels.push(originalData[i]);
+    }
+  }
+  for(let j=0; j<originalSonData.length;j++){
+    if(originalSonData[j].tagType==4){
+      sonSpreadLabels.push(...originalSonData[j].questionMapping);
+    }else{
+      sonSpreadLabels.push(originalSonData[j]);
+    }
+  }
+  // res.moduleData = action.data;
+  // res.addSmoduleData = action.addSymptom;
+  res.moduleData = spreadLabels;
   res.saveText = res.save||[];
-  res.addSmoduleData = action.addSymptom;
+  res.addSmoduleData = sonSpreadLabels;
   res.addModuleName = action.addModuleName;
   res.update=Math.random();
   return res;