Browse Source

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

zhouna 6 years ago
parent
commit
94e0521238

+ 1 - 1
src/common/js/func.js

@@ -96,7 +96,7 @@ export const fullfillText = (arr,noPre=false,noEnd=false,ifEmpty=true)=>{
       value = '',
       item={},
       checkHiddenDefault=false;
-  arr.map((it,i)=>{
+  arr&&arr.map((it,i)=>{
     notText = notTextLabel(it);
     value = it.value||'';
     textLabel = !ifEmpty&&i==0?Object.assign({},JSON.parse(config.textLabel),{showInCheck:true}):JSON.parse(config.textLabel);

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

@@ -98,8 +98,8 @@ class MultSpread extends Component{
                             id={it.id}
                             ikey={inx} hideTag={true}></InlineTag>;
         case +it.controlType===7:
-          const min = it.minValue!=null&&it.minValue!=undefined?it.minValue-1:undefined;
-          const max = it.maxValue!=null&&it.maxValue!=undefined?+it.maxValue+1:undefined;
+          const min = it.minValue;//!=null&&it.minValue!=undefined?it.minValue-1:undefined;
+          const max = it.maxValue;//!=null&&it.maxValue!=undefined?+it.maxValue+1:undefined;
           return <NumberDrop prefix={it.labelPrefix}
                              suffix={it.labelSuffix}
                              placeholder={it.name}

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

@@ -56,7 +56,7 @@ class NumberDrop extends Component{
         const that = this;
         const isFine = this.validSymbols(text,min,max);      //有~或/时是否合理
         const hasSymbol = /[\/|\~]/g.test(text);           //是否有~或/
-        const singleFine = !isNaN(+text)&&min<text&&text<max;   //无~或/时是否合理
+        const singleFine = !isNaN(+text)&&parseFloat(min)<=parseFloat(text)&&parseFloat(text)<=parseFloat(max);   //无~或/时是否合理
         timer = setTimeout(function(){
           clearTimeout(that.state.sltTimer);
           if(text!=''&&(!hasSymbol&&!singleFine)||(hasSymbol&&!isFine)){
@@ -139,7 +139,7 @@ class NumberDrop extends Component{
     if(index1!=-1&&index1==txt.lastIndexOf('~')&&index1!=txt.length-1){   //有且只有一个~,且不在最后
       arr1 = txt.split('~');
       //~的范围在合理范围内为合理值
-      if(!isNaN(+arr1[0])&&!isNaN(+arr1[1])&&((!needCompare)||(needCompare&&min<arr1[0]&&arr1[0]<max&&min<arr1[1]&&arr1[1]<max))){
+      if(!isNaN(+arr1[0])&&!isNaN(+arr1[1])&&((!needCompare)||(needCompare&&parseFloat(min)<=parseFloat(arr1[0])&&parseFloat(arr1[0])<=parseFloat(max)&&parseFloat(min)<=parseFloat(arr1[1])&&parseFloat(arr1[1])<=parseFloat(max)))){
         return true
       }
       return false;
@@ -147,7 +147,7 @@ class NumberDrop extends Component{
     if(index2!=-1&&index2==txt.lastIndexOf('/')&&index2!=txt.length-1){   //有且只有一个~,且不在最后
       arr2 = txt.split('/');
       // /两边的数字分别在合理范围内为合理值
-      if(!isNaN(+arr2[0])&&!isNaN(+arr2[1])&&((!needCompare)||(needCompare&&min<arr2[0]&&arr2[0]<max&&min<arr2[1]&&arr2[1]<max))){
+      if(!isNaN(+arr2[0])&&!isNaN(+arr2[1])&&((!needCompare)||(needCompare&&parseFloat(min)<=parseFloat(arr2[0])&&parseFloat(arr2[0])<=parseFloat(max)&&parseFloat(min)<=parseFloat(arr2[1])&&parseFloat(arr2[1])<=parseFloat(max)))){
         return true
       }
       return false;
@@ -166,7 +166,7 @@ class NumberDrop extends Component{
       const txt = e.target.innerText.trim();
       const isFine = this.validSymbols(txt,min,max);      //有~或/时是否合理
       const hasSymbol = /[\/|\~]/g.test(txt);           //是否有~或/
-      const singleFine = (!isNaN(+txt)&&!needCompare)||(!isNaN(+txt)&&needCompare&&min<txt&&txt<max);   //无~或/时是否合理
+      const singleFine = (!isNaN(+txt)&&!needCompare)||(!isNaN(+txt)&&needCompare&&parseFloat(min)<=parseFloat(txt)&&parseFloat(txt)<=parseFloat(max));   //无~或/时是否合理
       if(txt!=''&&(!hasSymbol&&!singleFine)||(hasSymbol&&!isFine)){
         this.beyondArea();
         return;

+ 3 - 1
src/containers/OtherHistory.js

@@ -7,6 +7,7 @@ import {getModule} from '@store/async-actions/fetchModules.js';
 import {billing} from '@store/async-actions/pushMessage';
 import {fullfillText} from '@common/js/func';
 import {didPushParamChange,filterDataArr} from '@utils/tools.js';
+import config from '@config/index.js';
 
 function mapStateToProps(state){
   const {otherHistory,homePage,typeConfig,mainSuit} = state;
@@ -41,7 +42,8 @@ function mapDispatchToProps(dispatch,store){
         const state = getStore();
         const initData = state.homePage.initData;
         const mode = state.typeConfig.typeConfig;
-        const model = JSON.parse(JSON.stringify(initData.otherHisModel));     //查体模板
+        const block = Object.assign(JSON.parse(config.textLabel),{full:true});//空白时保留一个自由文本标签
+        const model = JSON.parse(JSON.stringify(initData.otherHisModel||null))||[block];     //查体模板
         const arr = JSON.parse(JSON.stringify(initData.otherHis||null));        //最近其他史数据
         const arrSave = JSON.parse(JSON.stringify(initData.otherHisSave||null));    //最近其他史saveText
         const selects = JSON.parse(JSON.stringify(initData.otherSelecteds||null));  //其他史杂音类选中项

+ 2 - 2
src/containers/eleType.js

@@ -72,8 +72,8 @@ export function singleRadio(params){
                         id={data.id}
                         ikey={showInx}></InlineTag>;
     case 7:
-      const min = data.minValue!=null&&data.minValue!=undefined?data.minValue-1:undefined;
-      const max = data.maxValue!=null&&data.maxValue!=undefined?+data.maxValue+1:undefined;
+      const min = data.minValue;//!=null&&data.minValue!=undefined?data.minValue-1:undefined;
+      const max = data.maxValue;//!=null&&data.maxValue!=undefined?+data.maxValue+1:undefined;
       return <NumberDrop prefix={data.labelPrefix}
                          suffix={data.labelSuffix}
                          min={min}

+ 4 - 4
src/store/actions/currentIll.js

@@ -22,8 +22,8 @@ function insertPro(data,processModule){
 export const setModule = (state,action)=>{
   const res = Object.assign({},state);
   // 处理tagType=4的类型
-  const originalData = action.data;
-  const originalSonData = action.processModule;
+  const originalData = action.data||[];
+  const originalSonData = action.processModule||[];
   let spreadLabels=[];
   let sonSpreadLabels=[];//子模板
   for(let i=0; i<originalData.length;i++){
@@ -48,12 +48,12 @@ export const setModule = (state,action)=>{
   res.emptyData = action.emptyData;//空模板
   let data = action.data;
   let sliceIdx;
-  data.map((v,i)=>{
+  data&&data.map((v,i)=>{
     if(v.flag && v.flag==2){
       sliceIdx = i;
     }
   })
-  res.addModule = data.slice(0,sliceIdx+1);//截取到flag=2 有无治疗
+  res.addModule = data&&data.slice(0,sliceIdx+1);//截取到flag=2 有无治疗
   res.update=Math.random();
   return res;
 }

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

@@ -24,8 +24,8 @@ export const setMainMoudle = (state,action) => {
   // let data = action.data.push(emptySpan);
   // 处理tagType=4的类型
   // const originalData = JSON.parse(JSON.stringify(action.data));
-  const originalData = action.data;
-  const originalSonData = action.addSymptom;
+  const originalData = action.data||[];
+  const originalSonData = action.addSymptom||[];
   let spreadLabels=[];
   let sonSpreadLabels=[];//子模板
   for(let i=0; i<originalData.length;i++){

+ 37 - 4
src/store/async-actions/patInfo.js

@@ -68,7 +68,43 @@ export const initHistoryDetails = (dispatch) => {
         })
     }
 }
+//技术部需求,先获取第一个接口再去第二个
+export async function getPatientMessage(dispatch, getState){
+  const state = getState();
+  const urlDatas = state.getInfoByUuid;
+  const params = {
+    hospitalCode:urlDatas.hospitalId,
+    hospitalDeptCode: urlDatas.deptNo,
+    doctorCode: urlDatas.doctorNo,
+    patientCode:urlDatas.patientNo,
+    recordId:urlDatas.recordId
+  };
+  let res1 = await json(api.getPatInfo, params);
+  /*console.log(res1);
+  console.log(1);*/
+  let res2 = await json(api.getPatBaseInfo, params);
+  /*console.log(res2);
+  console.log(2);*/
+  let data1 = {},data2={};
+  if(res1.data.code=='0'){
+    data1 = res1.data.data;
+  }
+  if(res2.data.code=='0'){
+    data2 = res2.data.data;
+  }
+  dispatch({
+    type: GET_PATIENT_MESSAGE,
+    data:Object.assign(data1,data2)
+  });
+  //设置初始模式
+  dispatch({
+    type: CONFIRM_TYPE,
+    confirmType:data1.modeValue
+  });
+  dispatch(getInitModules);     //确保病人信息获取以后再获取模板等数据,否则参数为空
+}
 
+/*
 export const getPatientMessage = (dispatch, getState) => {
   const state = getState();
   const urlDatas = state.getInfoByUuid;
@@ -99,8 +135,5 @@ export const getPatientMessage = (dispatch, getState) => {
         confirmType:data1.modeValue
       });
       dispatch(getInitModules);     //确保病人信息获取以后再获取模板等数据,否则参数为空
-      // if(state.tabTemplate.items.length == 0){
-      //   dispatch(initItemList(data1.modeValue));        //模板列表没有就获取模板列表用于保存时做数据对比是否保存过
-      // }
     })
-};
+};*/

+ 1 - 1
src/utils/tools.js

@@ -586,7 +586,7 @@ function trimDots(str){
 
 //标签间连续标点只保留一个,保留前面一个
 function formatContinueDots(data){
-  let arr=data.filter((it,i)=>{
+  let arr=data&&data.filter((it,i)=>{
     if(i==0||(it.name&&(it.name.match(config.punctuationReg))||(data[i-1].name&&data[i-1].name.match(config.punctuationReg)))){
       return it;
     }