Просмотр исходного кода

Squashed commit of the following:

commit 9eec4def79ec102dbb97a68fec5813aebda2d906
Author: liucf <liucf@zjlantone.com>
Date:   Fri Aug 23 16:23:49 2019 +0800

    慢病流程将主诉模板清空;常见症状点选增加字数限制

# Conflicts:
#	src/store/actions/mainSuit.js
liucf 5 лет назад
Родитель
Сommit
d73e0e0eba

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

@@ -85,7 +85,7 @@ class MainSuit extends Component{
     if(item.select.length>0){
       const {clearCommS,insertMain,getData} = this.props;
       // 获取主诉模板
-      getData && getData();
+      // getData && getData();
       // 让模板出现
       this.setState({
           symptom: false,

+ 22 - 2
src/containers/MainSuit.js

@@ -80,6 +80,26 @@ function mapDispatchToProps(dispatch) {
           })
         },
         insertMain:(item)=>{//将选中的常见症状插入
+          // 判断字数限制
+          const items = item.select;
+          if(items.length>1){
+            /*for(let i=1; i<items.length; i++){
+              items[i].name = '、'+items[i].name;
+              items[i].value = items[i].value?'、'+items[i].value:items[i].name;
+            }*/ 
+            // 计算字数
+            let tempTotal = "";
+            for(let j in items){
+              tempTotal += items[j].name ;
+            }
+            if((tempTotal.length+ tempTotal.length-1) >= config.limited){
+              Notify.info(config.limitText);
+              return ;
+            }
+          }
+          dispatch({//主诉使用模板
+            type: SET_DATA
+          })
           dispatch({
             type: INSERT_MAIN,
             item
@@ -91,11 +111,11 @@ function mapDispatchToProps(dispatch) {
             }
           },500);
         },
-        getData(){//主诉使用模板
+        /*getData(){//主诉使用模板
           dispatch({
             type: SET_DATA
           })
-        },
+        },*/
       pushMessage(data) {//结构模式右侧推送
         if(didPushParamChange()) {
           dispatch(billing(data));

+ 43 - 30
src/store/actions/mainSuit.js

@@ -109,8 +109,8 @@ export const insertMain = (state,action) => {
   const id = action.item.ids;
   const conceptId = action.item.conceptId;
   let data = JSON.parse(JSON.stringify(res.moduleData));
-
-  // 存到本地
+  if(data && data.length>0){
+    // 存到本地
     // >5直接截取替换,<5需要判断是否有重复的--双重遍历
     const mainSymp = storageLocal.get('mainSymp');
     if(items.length<5){
@@ -140,38 +140,47 @@ export const insertMain = (state,action) => {
       storageLocal.set('mainSymp',seleArr);
     }
 
-  if(items.length>1){
-    for(let i=1; i<items.length; i++){
-      items[i].name = '、'+items[i].name;
-      // items[i].value = '、'+items[i].value;
-      items[i].value = items[i].value?'、'+items[i].value:items[i].name;
+    if(items.length>1){
+      for(let i=1; i<items.length; i++){
+        items[i].name = '、'+items[i].name;
+        // items[i].value = '、'+items[i].value;
+        items[i].value = items[i].value?'、'+items[i].value:items[i].name;
+      }
     }
-  }
-  let obj = [];
-  for(let i=0; i<items.length; i++){
-    obj.push({id:items[i].questionId||items[i].id,name:items[i].name,value:items[i].name,tagType:config.tagType,exist:1,conceptId:items[i].conceptId});
-  }
-  let inserIndx = null;
-  data.map((it,i)=>{
+    let obj = [];
+    for(let i=0; i<items.length; i++){
+      obj.push({id:items[i].questionId||items[i].id,name:items[i].name,value:items[i].name,tagType:config.tagType,exist:1,conceptId:items[i].conceptId});
+    }
+    let inserIndx = null;
+    data.map((it,i)=>{
       if(it.flag == 1){//在此处插入主诉数据
         inserIndx = i;
       }
     })
-  // data.splice(inserIndx-1,1,...obj);
-  if(data[inserIndx-1]&&data[inserIndx-1].tagType==8&& !data[inserIndx-1].name){
-    data.splice(inserIndx-1,1,...obj);
-  }else{
-    data.splice(inserIndx-1,0,...obj);
+    // data.splice(inserIndx-1,1,...obj);
+    if(data[inserIndx-1]&&data[inserIndx-1].tagType==8&& !data[inserIndx-1].name){
+      data.splice(inserIndx-1,1,...obj);
+    }else{
+      data.splice(inserIndx-1,0,...obj);
+    }
+    
+    // data[inserIndx-1] = text;//替换空标签
+    res.data = data;
+    res.saveText = [];//将手动输入的值清掉
+    // res.saveText[inserIndx] = text.name;
+    res.saveText = fullfillText(res.data).saveText;
+    res.mainIds = res.mainIds.concat(conceptId);
+    res.mainTailIds = res.mainTailIds.concat(id);
+    res.editClear = false;//主诉框编辑状态
+  }else{//慢病模式下重新点选
+    let tempTxt = "";
+    if(items.length>0){
+      for(let k=0; k<items.length; k++){
+        tempTxt += items[k].name + ',';
+      } 
+    }
+    res.saveText[0] = tempTxt.substring(0,tempTxt.length-1);
   }
-  
-  // data[inserIndx-1] = text;//替换空标签
-  res.data = data;
-  res.saveText = [];//将手动输入的值清掉
-  // res.saveText[inserIndx] = text.name;
-  res.saveText = fullfillText(res.data).saveText;
-  res.mainIds = res.mainIds.concat(conceptId);
-  res.mainTailIds = res.mainTailIds.concat(id);
-  res.editClear = false;//主诉框编辑状态
   res.update=Math.random();
   return res;
 }
@@ -407,7 +416,7 @@ export const insertSearch = (state,action)=>{
   let span = action.span;
   let text = {id:id,name:searchData,value:searchData,tagType:config.tagType,conceptId:ids};
   const emptySpan = JSON.parse(config.textLabel);
-
+if(moduleData && moduleData.length>0){
     // 存到本地
     const mainSymp = storageLocal.get('mainSymp');
     let items = JSON.parse(JSON.stringify(action.info));
@@ -438,7 +447,7 @@ export const insertSearch = (state,action)=>{
         inserIndx = i;
       }
     })
-    // flag=1前是文本标签就替换,否则插入
+     // flag=1前是文本标签就替换,否则插入
     const iftext = inserIndx&&moduleData[inserIndx-1]&&moduleData[inserIndx-1].tagType;
     if(iftext==config.tagType){
        moduleData.splice(inserIndx-1,1,{id:id,name:searchData,value:searchData,tagType:config.tagType,exist:1,conceptId:ids});
@@ -453,6 +462,7 @@ export const insertSearch = (state,action)=>{
       res.mainTailIds.push(id);
     }
     res.editClear = false;//主诉框编辑状态
+    
   }else{
     /*******************第一病程搜索结果也移植到现病史修改(2-18)********************/
     // 位置判断-第一病程-主症状还是伴随 前一个标签存在 并且没有pos;
@@ -505,6 +515,9 @@ export const insertSearch = (state,action)=>{
       res.mainTailIds.push(id);
     }
   }
+  }else{
+    res.saveText[0] = searchData;
+  }
   res.update=Math.random();
   return res;
 }

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

@@ -102,8 +102,10 @@ export default function(state=initState,action){
       return getSymptomFeature(state,action);
     case SET_MS_RADIO_INPUT_VAL:
       return setRadioInputValue(state,action);
-    case SAVE_CHRONIC:
+    case SAVE_CHRONIC://存慢病信息,说明走慢病流程,慢病没有主诉模板,故要清掉
       res.chronicDesease = action.data;
+      res.moduleData = [];
+      res.addSmoduleData = [];
       return res;
     case RECOVER_TAG_MAIN:
       return recoveTag(state,action);