Sfoglia il codice sorgente

其他史全部删除内容后移除多余空标签

liucf 6 anni fa
parent
commit
5479437ba8

+ 7 - 4
src/common/components/EditableSpan/index.jsx

@@ -51,7 +51,7 @@ class EditableSpan extends Component{
   }
   onChange(e){
     e.stopPropagation();
-    const {handleChange,boxMark,i,handleSearch,value,mainSaveText,mainIds} = this.props;
+    const {handleChange,boxMark,i,handleSearch,value,mainSaveText,mainIds,handleClear} = this.props;
     const {labelVal,searchPre} = this.state;
     const text1 =e.target.innerText;
     let mainText = filterDataArr(mainSaveText);//主诉字数
@@ -91,11 +91,13 @@ class EditableSpan extends Component{
       //console.log(labelVal,'旧:',searchPre,'新:',newText,'搜索:',search);
       if(config.punctuationReg.test(search)){     //只有标点符号时不搜索
         handleSearch&&handleSearch({text:search,isEnd,boxMark,mainIds});
+      }else{//只有标点符号时要清空搜索结果
+        handleClear && handleClear({boxMark})
       }
       //搜索后保持现在的值,继续输入时要用于对比
-      that.setState({
+      /*that.setState({
         searchPre:newText
-      });
+      });*/
     },config.delayTime);
     this.setState({
       timer
@@ -149,7 +151,7 @@ class EditableSpan extends Component{
 
   }
   handleKeyup(e){
-    const {boxMark,handleKeydown,i,value,removeId} = this.props;
+    const {boxMark,handleKeydown,i,value,removeId,handleClear} = this.props;
     const {preVal,index} = this.state;
     const ev = e||window.event;
     const target = ev.target||ev.srcElement;
@@ -160,6 +162,7 @@ class EditableSpan extends Component{
       let preObj = $(this.$span.current).prev();
       if(index!==0&&preVal.trim().length==1){
           removeId && removeId({boxMark,i:index,text:""});
+          handleClear && handleClear({boxMark});//删除最后一个字时清空搜索结果,避免现病史搜索框不立即消失的情况
           if(preObj[0].nodeName !=="DIV"){
             this.moveEnd(preObj[0]);
           }

+ 7 - 1
src/containers/EditableSpan.js

@@ -2,7 +2,7 @@ import {connect} from 'react-redux';
 import {EditableSpan} from '@commonComp';
 import {SETCHECKTEXT,SETSEARCHDATA,CHECK_FOCUS_INDEX,CHECKBODY_CLEAR,DEL_CHECKBODY} from '@types/checkBody';
 import {SET_SEARCH,MAIN_FOCUS_INDEX,CLEAR_SEARCH,SETMAINTEXT,DEL_MAIN,REMOVE_MAIN_ID} from '@types/mainSuit';
-import {SETOTHERTEXT,SETOTHERSEARCHDATA,OTHER_FOCUS_INDEX,OTHERHIS_CLEAR,DEL_OTHERHIS} from '@types/otherHistory';
+import {SETOTHERTEXT,SETOTHERSEARCHDATA,OTHER_FOCUS_INDEX,OTHERHIS_CLEAR,DEL_OTHERHIS,REMOVE_OTHER_ID} from '@types/otherHistory';
 import {SET_CURRENT_SEARCH,CURRENT_CLEAR,SETCURRENTTEXT,CURRENT_FOCUS_INDEX,DEL_CURRENT,REMOVE_CURR_ID} from '@types/currentIll';
 import {getSearch} from '@store/async-actions/fetchModules.js';
 import {billing} from '@store/async-actions/pushMessage';
@@ -244,9 +244,15 @@ function mapDispatchToProps(dispatch,state) {
         case 2:
           dispatch({type:REMOVE_CURR_ID,index:obj.i,text:obj.text});
           break;
+        case 3:
+          dispatch({type:REMOVE_OTHER_ID,index:obj.i});//移除多余空标签
+          break;
         default:
           break;
       }
+    dispatch({
+      type:ISREAD
+    })
     }
   }
 }

+ 12 - 0
src/store/actions/otherHistory.js

@@ -305,6 +305,18 @@ export function backspaceText(state,action){
   return res;
 }
 
+//删除后移除空标签
+export function removeId(state,action){
+  let res = Object.assign({},state);
+  const {index} = action;
+  const data = res.data;
+  if(!data[index].value && data[index-1].tagType==8){
+    data.splice(index,1);
+  } 
+  res.update = Math.random();
+  return res;
+}
+
 // 单列多选
 export function multipleComfirn(state,action){
   let res = Object.assign({},state);

+ 5 - 3
src/store/reducers/otherHistory.js

@@ -1,6 +1,6 @@
 import {SETDATA,CONFIRMSELECTED,SETRADIO,SETNUMBER,SETOTHERCHECKBOX,SETOTHERTEXT,SETOTHERSEARCHDATA,
-  SELECTOTHERSEARCHDATA,CLEAROTHERHISTORY,CHANGEOTHERTEXTLABEL,SETOTHERINPUT,SETTEXTMODEVALUE,OTHER_FOCUS_INDEX,OTHERHIS_CLEAR,OTHERADDLABELITEM,OTHEREDICLEAR,DEL_OTHERHIS,CHANGEOTHERTEXTLABEL_NUMBER,OTHERHIS_MUL} from '../types/otherHistory';
-import {confirm,setRadioValue,setNumberValue,setCheckBoxValue,setCheckText,setSearchData,insertLabelData,clearOtherHistory,changeTextLabel,setOtherInput,setTextModeValue,addLabelItem,otherEditClear,backspaceText,changeNumLabelVal,multipleComfirn} from '../actions/otherHistory';
+  SELECTOTHERSEARCHDATA,CLEAROTHERHISTORY,CHANGEOTHERTEXTLABEL,SETOTHERINPUT,SETTEXTMODEVALUE,OTHER_FOCUS_INDEX,OTHERHIS_CLEAR,OTHERADDLABELITEM,OTHEREDICLEAR,DEL_OTHERHIS,CHANGEOTHERTEXTLABEL_NUMBER,OTHERHIS_MUL,REMOVE_OTHER_ID} from '../types/otherHistory';
+import {confirm,setRadioValue,setNumberValue,setCheckBoxValue,setCheckText,setSearchData,insertLabelData,clearOtherHistory,changeTextLabel,setOtherInput,setTextModeValue,addLabelItem,otherEditClear,backspaceText,changeNumLabelVal,multipleComfirn,removeId} from '../actions/otherHistory';
 
 const initState = {data:[],saveText:[],selecteds:[],focusIndex:'',editClear:true};/*mockData.OtherHis.moduleDetailDTOList;[
     mockData.radioData,
@@ -53,8 +53,10 @@ export default function(state=initState,action){//console.log(state)
         return otherEditClear(state,action);
     case DEL_OTHERHIS:
         return backspaceText(state,action);
-      case OTHERHIS_MUL:
+    case OTHERHIS_MUL:
         return multipleComfirn(state,action);
+    case REMOVE_OTHER_ID:
+        return removeId(state,action);
     default:
       return res;
   }

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

@@ -18,4 +18,5 @@ export const OTHERADDLABELITEM = 'other_add_label_item';    //带加号的标签
 export const OTHEREDICLEAR = 'OTHEREDICLEAR';    //文本框是否可以编辑
 export const DEL_OTHERHIS = 'DEL_OTHERHIS';    //backspace
 export const CHANGEOTHERTEXTLABEL_NUMBER = 'CHANGEOTHERTEXTLABEL_NUMBER';    //数字键盘
-export const OTHERHIS_MUL = 'OTHERHIS_MUL';    //单列多选
+export const OTHERHIS_MUL = 'OTHERHIS_MUL';    //单列多选
+export const REMOVE_OTHER_ID = 'REMOVE_OTHER_ID';