Bladeren bron

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

zhouna 6 jaren geleden
bovenliggende
commit
eee9ed9dcd
3 gewijzigde bestanden met toevoegingen van 31 en 35 verwijderingen
  1. 2 2
      src/common/components/DropList/index.jsx
  2. 4 4
      src/components/RadioDrop/index.jsx
  3. 25 29
      src/store/actions/currentIll.js

+ 2 - 2
src/common/components/DropList/index.jsx

@@ -43,14 +43,14 @@ class DropList extends Component{
     onSelect&&onSelect(undefined);
   }
   render(){
-    const {data,hideTag} = this.props;
+    const {data,hideTag,boxMark} = this.props;
     const domNode = document.getElementById('root');
     return ReactDom.createPortal(
       <div className={this.getClass()} style={this.getStyle()} contentEditable='false'>
         <ul>
           {data&&data.map((it)=>{
             /*return <li onClick={(e)=>this.handleSelect(e,it)} className={it.selected||(it.selected!==false&&+it.defaultSelect===1)?style['selected']:''}>{it.labelPrefix}{it.questionDetailList&&it.questionDetailList.length>0?it.questionDetailList[0].name:it.name}{it.labelSuffix}</li>*/
-            return <li onClick={(e)=>this.handleSelect(e,it)} className={it.selected||(!hideTag&&it.selected!==false&&+it.defaultSelect===1)?style['selected']:''}>{it.labelPrefix}{it.name}{it.labelSuffix}</li>
+            return <li onClick={(e)=>this.handleSelect(e,it)} className={it.selected||(boxMark!=1&&!hideTag&&it.selected!==false&&+it.defaultSelect===1)?style['selected']:''}>{it.labelPrefix}{it.name}{it.labelSuffix}</li>
           })}
           <li onClick={(e)=>this.handleClear(e)} className='red'>清空选项</li>
         </ul>

+ 4 - 4
src/components/RadioDrop/index.jsx

@@ -99,11 +99,11 @@ class RadioDrop extends Component{
     },$("#addScrollEvent")[0])
   }
   componentDidMount(){    //默认值选中
-    const {data,ikey,handleSelect,hideTag,mainSaveText,value} = this.props;
+    const {data,ikey,handleSelect,hideTag,mainSaveText,value,boxMark} = this.props;
     const selected = data.find((it)=>{
       return it.selected === undefined&&+it.defaultSelect===1;
     });
-    if(!hideTag&&selected){
+    if(boxMark!=1&&!hideTag&&selected){
       // const text = selected.labelPrefix+selected.name+selected.labelSuffix;
       const text = selected.name;
       handleSelect&&handleSelect({ikey,id:selected.id,text,mainSaveText,value});
@@ -142,7 +142,7 @@ class RadioDrop extends Component{
     handleDbclick&&handleDbclick({id:patId||id});
   }
   render(){
-    const {data,prefix,suffix,placeholder,show,value,hideTag} = this.props;
+    const {data,prefix,suffix,placeholder,show,value,hideTag,boxMark} = this.props;
     const {boxLeft,boxTop} = this.state;
     return <div className={style['container']} ref = {this.$cont}>
       {prefix}
@@ -155,7 +155,7 @@ class RadioDrop extends Component{
         {value||placeholder}
       </div>
       {suffix}
-      <DropList onSelect={this.handleSelect} data={data} left={boxLeft} top={boxTop} show={show} hideTag={hideTag}/>
+      <DropList onSelect={this.handleSelect} boxMark={boxMark} data={data} left={boxLeft} top={boxTop} show={show} hideTag={hideTag}/>
     </div>
   }
 }

+ 25 - 29
src/store/actions/currentIll.js

@@ -731,15 +731,21 @@ export function insertLabelData(state,action){
   let focusIndex = res.focusIndex;
   let saveText = res.saveText;
   let banIdx = saveText.indexOf("伴");
-  
+  //伴随展开数据-过滤了连续标点
+  const FilteredDotMapping2=formatContinueDots(data.questionMapping.filter((item)=>{
+    return item.symptomType==0||item.symptomType==2;
+  }));
+  //主症状展开数据-过滤连续了标点
+  const FilteredDotMapping1=formatContinueDots(data.questionMapping.filter((item)=>{
+    return item.symptomType==0||item.symptomType==1;
+  }));
   if(isReplace){
     span.current.innerText?(span.current.innerText = ''):(span.current.innerHTML = '');
     // res.data.splice(focusIndex,1,text,data);
     // 搜索结果展开伴随symptomType==2的尾巴
+
     let resData = JSON.parse(JSON.stringify(res.data));
-    resData.splice(focusIndex,1,text,...(data.questionMapping.filter((item)=>{
-                              return item.symptomType==0||item.symptomType==2;
-                            })));
+    resData.splice(focusIndex,1,text,...(FilteredDotMapping2));
     res.data = fullfillText(resData).newArr;
     res.saveText[focusIndex] = searchData;
   }else{
@@ -753,55 +759,45 @@ export function insertLabelData(state,action){
       res.symptomIds.push(id);
       // 没有伴展开主诉symptomType=0/1的尾巴,有伴一>第一个点选上去的伴为依据,伴前展开主诉,伴后展开伴随;多余的伴以及手动输入的伴不做处理(2-25)
       if(banIdx==-1){
+
         // if(strIndex <= 1){//前
         if(strIndex < 1){//前
-          res.data.splice(index,1,text,...(data.questionMapping.filter((item)=>{
-                                   return item.symptomType==0||item.symptomType==1;
-                                })),pText);
+          res.data.splice(index,1,text,...(FilteredDotMapping1),pText);
           res.saveText = fullfillText(res.data).saveText;
-          res.selecteds.splice(index,1,null,...new Array(data.questionMapping.length).fill(null),null);
+          res.selecteds.splice(index,1,null,...new Array(FilteredDotMapping1.length).fill(null),null);
         }else{
-          res.data.splice(index,1,pText,text,...(data.questionMapping.filter((item)=>{
-                                   return item.symptomType==0||item.symptomType==1;
-                                })));
+          res.data.splice(index,1,pText,text,...(FilteredDotMapping1));
           res.saveText = fullfillText(res.data).saveText;
-          res.selecteds.splice(index,1,null,null,...new Array(data.questionMapping.length).fill(null));
+          res.selecteds.splice(index,1,null,null,...new Array(FilteredDotMapping1.length).fill(null));
         }
       }else{
         if(focusIndex > banIdx){//伴后
           if(strIndex < 1){//前
-            res.data.splice(index,1,text,...(data.questionMapping.filter((item)=>{
-                                   return item.symptomType==0||item.symptomType==2;
-                                })),pText);
+            res.data.splice(index,1,text,...(FilteredDotMapping2),pText);
             res.saveText = fullfillText(res.data).saveText;
-            res.selecteds.splice(index,1,null,...new Array(data.questionMapping.length).fill(null),null);
+            res.selecteds.splice(index,1,null,...new Array(FilteredDotMapping2.length).fill(null),null);
           }else{
-            res.data.splice(index,1,pText,text,...(data.questionMapping.filter((item)=>{
-                                   return item.symptomType==0||item.symptomType==2;
-                                })));
+            res.data.splice(index,1,pText,text,...(FilteredDotMapping2));
             res.saveText = fullfillText(res.data).saveText;
-            res.selecteds.splice(index,1,null,null,...new Array(data.questionMapping.length).fill(null));
+            res.selecteds.splice(index,1,null,null,...new Array(FilteredDotMapping2.length).fill(null));
           }
         }else{//伴前
           if(strIndex < 1){//前
-            res.data.splice(index,1,text,...(data.questionMapping.filter((item)=>{
-                                   return item.symptomType==0||item.symptomType==1;
-                                })),pText);
+            res.data.splice(index,1,text,...(FilteredDotMapping1),pText);
             res.saveText = fullfillText(res.data).saveText;
-            res.selecteds.splice(index,1,null,...new Array(data.questionMapping.length).fill(null),null);
+            res.selecteds.splice(index,1,null,...new Array(FilteredDotMapping1.length).fill(null),null);
           }else{
-            res.data.splice(index,1,pText,text,...(data.questionMapping.filter((item)=>{
-                                   return item.symptomType==0||item.symptomType==1;
-                                })));
+            res.data.splice(index,1,pText,text,...(FilteredDotMapping1));
             res.saveText = fullfillText(res.data).saveText;
-            res.selecteds.splice(index,1,null,null,...new Array(data.questionMapping.length).fill(null));
+            res.selecteds.splice(index,1,null,null,...new Array(FilteredDotMapping1.length).fill(null));
           }
         }
       }
       res.data = fullfillText(res.data).newArr;
       res.saveText = fullfillText(res.data).saveText;
     }else{//标签
-      const spreadLabels = data.tagType==4?fullfillText(data.questionMapping).newArr:[data];
+      const arr=fullfillText(data.questionMapping).newArr;      //过滤连续标点
+      const spreadLabels = data.tagType==4?formatContinueDots(arr):[data];
       if(strIndex < 1){//前
         // 判断前一个是否为文本标签,是直接插入标签,不是则在前面插入一个空文本标签
         const preItem = res.data[index-1];