Browse Source

计算公式确诊类型可输入拟诊,其他不可输,输入拟诊判断计算公式有没有拟诊类型数据

zhangxc 5 years ago
parent
commit
fe4aa97a8f
1 changed files with 25 additions and 8 deletions
  1. 25 8
      src/components/diagBase/AddDiagBase.vue

+ 25 - 8
src/components/diagBase/AddDiagBase.vue

@@ -72,7 +72,7 @@
                 </tr>
             </table>
             <p class="moduleTitle">诊断公式:</p>
-            <p class="inpTips">可输入数字(0~9)规定内汉字:任、一、二、三、四、五、六、七、八、九、十、拟、诊,其余汉字不可输入;可输入的符号:“.”、“/”、“()”</p>
+            <p class="inpTips">可输入数字(0~9)规定内汉字:任、一、二、三、四、五、六、七、八、九、十,其余汉字不可输入;可输入的符号:“.”、“/”、“()”,确诊还可输入拟、诊</p>
             <table class="diagTable">
                 <tr class="tableTitle"> 
                     <td class="FormulaSort">排序</td> 
@@ -89,7 +89,7 @@
                     </td>
                     <td class="FormulaNumber">
                         <el-tooltip :disabled="!item.verifyFormula"  class="item" effect="dark" :content="item.verifyFormula" placement="top">
-                            <input class="groupInput" :class="{borderRed:item.verifyFormula}" :title="item.formula" type="text" v-model.trim="item.formula" @input="handleInp(index,$event,'FormulaNumber')"  @click="clickItem(index,'FormulaNumber')">
+                            <input class="groupInput" :readonly="!item.type" :class="{borderRed:item.verifyFormula,inpDisabled:!item.type}" :title="item.formula" type="text" v-model.trim="item.formula" @input="handleInp(index,$event,'FormulaNumber',item.type)"  @click="clickItem(index,'FormulaNumber')">
                         </el-tooltip> 
                     </td>
                    <td class="FeatureOpera">
@@ -381,7 +381,7 @@
                     if(codeArr.length > 1) {
                         codeErrorNum++
                         disFeatureList[i].codeError = "序号重复"
-                        const errStr = "疾病特征第" + (i+ 1) +"序号重复"
+                        const errStr = "疾病特征第" + (i+ 1) +"序号重复"
                         errStrList.push(errStr)
 
                     }
@@ -398,10 +398,21 @@
                        const errStr = "诊断公式第" + (i+ 1) +"行诊断公式不能为空"
                        errStrList.push(errStr)
                    } else if(disFormulaList[i].formula&&!disFormulaList[i].type) {
-                       disFormulaList[i].verifyType = "诊断类型不能为空"
+                        disFormulaList[i].verifyType = "诊断类型不能为空"
                         const errStr = "诊断公式第" + (i+ 1) +"行诊断类型不能为空"
-                       errStrList.push(errStr)
-                       formulaListErrNum++;
+                        errStrList.push(errStr)
+                        formulaListErrNum++;
+                   }
+                   if(disFormulaList[i].type == 91 && disFormulaList[i].formula.indexOf("拟诊") > -1) {
+                       const noError = disFormulaList.filter(item => item.type == 92).length > 0
+                       if(!noError) {
+                           disFormulaList[i].verifyFormula = "公式格式错误"
+                            const errStr = "诊断公式第" + (i+ 1) +"行公式格式错误"
+                            errStrList.push(errStr)
+                            formulaListErrNum++;
+                       } else {
+                            disFormulaList[i].verifyFormula = ""
+                       }
                    }
             }
             if(disFormulaList.length) {
@@ -492,8 +503,14 @@
             } else if(type==='FeatureStand') {  //关联词不能输入顿号
                 this.disFeatureList[index].standard = value.replace(/、/g,'')
             } else if ( type === 'FormulaNumber') {
-                //计算公式只能输入以下内容: 任、一、二、三、四、五、六、七、八、九、十、拟、诊、0-9、/、.、(、)、(、)
-                this.disFormulaList[index].formula =  value.replace(/[^\u4EFB\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D\u5341\u62df\u8bca0-9\/\.+\(\)\(\)]/g,'').replace(/[\(]/g, '(').replace(/[\)]/g, ')').replace(/' '/g, '')
+                console.log(itemType, 555555555)
+                //计算公式确诊只能输入以下内容: 任、一、二、三、四、五、六、七、八、九、十、拟、诊、0-9、/、.、(、)、(、)
+                if(itemType == 91) {
+                    this.disFormulaList[index].formula =  value.replace(/[^\u4EFB\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D\u5341\u62df\u8bca0-9\/\.+\(\)\(\)]/g,'').replace(/[\(]/g, '(').replace(/[\)]/g, ')').replace(/' '/g, '')
+                } else {    //计算公式其他只能输入以下内容: 任、一、二、三、四、五、六、七、八、九、十、0-9、/、.、(、)、(、)
+                    this.disFormulaList[index].formula =  value.replace(/[^\u4EFB\u4E00\u4E8C\u4E09\u56DB\u4E94\u516D\u4E03\u516B\u4E5D\u53410-9\/\.+\(\)\(\)]/g,'').replace(/[\(]/g, '(').replace(/[\)]/g, ')').replace(/' '/g, '')
+                    
+                }
             } else if ( type === 'FeatureRelate') {
                 if(itemType == 3) {
                     this.disFeatureList[index].relation = value.replace(/、/g,'')