Browse Source

主诉“添加症状”优化

liucf 6 years ago
parent
commit
c7a4ccaf51
2 changed files with 20 additions and 30 deletions
  1. 2 3
      src/containers/SpreadDrop.js
  2. 18 27
      src/store/actions/mainSuit.js

+ 2 - 3
src/containers/SpreadDrop.js

@@ -66,7 +66,6 @@ function mainSuitModule(dispatch,store,params){
       withs[n].exist=2;
     }
   }
-  console.log(88,withs,exists);
   // let existsName = getNames(exists);
   // let withsName = getNames(withs);
   const copExists = JSON.parse(JSON.stringify(exists));
@@ -496,7 +495,7 @@ function mapDispatchToProps(dispatch,store){
           // let pushDataList = result.data.symptom;
           let bigDataList = result.data.symptom;
           let pushDataList = [];
-          if(bigDataList.length>0){//剔除没有id
+          if(bigDataList&&bigDataList.length>0){//剔除没有id
             pushDataList = bigDataList.filter(function(item){
               return item.id
             });
@@ -522,7 +521,7 @@ function mapDispatchToProps(dispatch,store){
             // return
           }*/
           //推送无数据显示空下拉并提示暂无推送--1.9/1.18
-          if(pushDataList.length == 0){Notify.info("暂无推送");}
+          if(!pushDataList || pushDataList.length == 0){Notify.info("暂无推送");}
           if(obj.type == 1){// 主诉--添加症状
               dispatch({
                 type:GET_BIGDATAPUSH,

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

@@ -167,33 +167,18 @@ export const confirm = (state,action) =>{
   // 第二病程-伴位置处理
   let forwardId;
   let text;
-  for(let n=labelIndx-1; n>0; n--){
+  for(let n=labelIndx-1; n>=0; n--){
     // if(arr[n].id==8){
     if(arr[n].flag && arr[n].flag==1){//添加症状打标flag=1
       forwardId = n;
-      continue;
+      break;
     }
   }
   if(forwardId){
     text = saveText.slice(forwardId,labelIndx);
     let index = text.indexOf('伴');
-    /*let sliceArr = arr.slice(forwardId,labelIndx);
+    let sliceArr = arr.slice(forwardId,labelIndx);
     let newSliceArr = JSON.parse(JSON.stringify(sliceArr));
-    let banIndex;
-    console.log(55,sliceArr);
-    for(let k=0; k<sliceArr.length;k++){
-      if(sliceArr[k].value&&sliceArr[k].value.indexOf('伴')>-1){
-        banIndex = k;
-      }
-    }
-    console.log(66,banIndex);
-    if(banIndex){//有伴
-      if(exists.length > 0){
-        Array.prototype.splice.apply(arr, [banIndex-1,0,...exists]);
-      }
-    }else{
-
-    }*/
 
     if(index==-1){//没有伴,直接插入ikey前
       if(exists.length > 0){
@@ -218,17 +203,27 @@ export const confirm = (state,action) =>{
     }
     }else{//有伴
       if(exists.length > 0){
-        for(let i=0; i<exists.length; i++){
-          let pos = index + i;
-          arr.splice(pos,0,getTextLabel(exists[i].id,'、'+exists[i].name,1));
-          res.saveText[pos] = exists[i].name;
+        // 判断前面是否已有主症状--是否加顿号、
+        let existsAddP,startInd;
+        for(let m=0; m<newSliceArr.length; m++){
+          if(newSliceArr[m].exist && newSliceArr[m].exist==1){
+            startInd = 0; 
+            break;
+          }else{
+            startInd = 1;
+          }
+        }
+        existsAddP = addPoint(exists,startInd);
+        for(let i=0; i<existsAddP.length; i++){
+          let pos = forwardId + index + i;
+          arr.splice(pos,0,getTextLabel(existsAddP[i].id,existsAddP[i].name,1));
+          res.saveText[pos] = existsAddP[i].name;
         }
       }
       
       if(withs.length>0){//有伴插到ikey前既可
         let withsAddP = addPoint(withs,0);     
         for(let j=0; j<withsAddP.length; j++){
-          // let withsPos = labelIndx + j;
           let withsPos = labelIndx +length + j;
           arr.splice(withsPos,0,getTextLabel(withsAddP[j].id,withsAddP[j].name,2));
           res.saveText[withsPos] = withsAddP[j].name;
@@ -247,9 +242,6 @@ export const confirm = (state,action) =>{
         }
       }
       if(withs.length > 0){
-        /*for(let k=1; k<withs.length; k++){
-          withs[k].name = '、'+ withs[k].name;
-        }*/
         let withsAddP = addPoint(withs,1);
         let newWiths = JSON.parse(JSON.stringify(withsAddP));
         if(banText){
@@ -273,7 +265,6 @@ export const confirm = (state,action) =>{
       if(withs.length>0){//有伴插到ikey前既可
         let withsAddP = addPoint(withs,0);     
         for(let j=0; j<withsAddP.length; j++){
-          // let withsPos = labelIndx + j;
           let withsPos = labelIndx +length + j;
           arr.splice(withsPos,0,getTextLabel(withsAddP[j].id,withsAddP[j].name,2));
           res.saveText[withsPos] = withsAddP[j].name;