Browse Source

merge 'dev' to 'test'

zhangxc 5 years ago
parent
commit
e629563988

+ 94 - 32
src/components/diagBase/AddDiagBase.vue

@@ -11,7 +11,7 @@
             <el-form-item  class="addDiagName"  label="选择添加疾病名称:" >
                 <input class="searchInput"  @focus="focuInput" type="text" v-model = "searchDiagVal"> 
                 <span class="searchName" @click="searchDiag">搜索</span>
-                <ul class="itemList diagList" ref="diagList">
+                <ul v-if="showDiagList&&diagList.length > 0" class="itemList diagList" ref="diagList">
                     <li 
                     v-for="item in diagList" 
                     class="diagItem ellipsis"
@@ -48,22 +48,55 @@
                     </td>
                     <td class="FeatureNumber"  >
                         <el-tooltip :disabled="!item.verifyCode&&!item.codeNull&&!item.codeError" class="item" effect="dark" :content="item.verifyCode||item.codeNull||item.codeError" placement="top">
-                            <input class="groupInput"  :class="{borderRed:item.verifyCode||item.codeNull, colorRed: item.codeError}" :title="item.code" type="text" v-model.trim="item.code" @input="handleInp(index,$event,'FeatureNumber')"  @click="clickItem(index,'FeatureNumber')">
+                            <el-input class="groupTextarea" 
+                                type="textarea"  
+                                :autosize="{ minRows: 1}"
+                                :class="{borderRed:item.verifyCode||item.codeNull, colorRed: item.codeError}" 
+                                :title="item.code" 
+                                v-model.trim="item.code"
+                                 @input="handleInp(index,$event,'FeatureNumber')"  
+                                 @focus="clickItem(index,'FeatureNumber')">
+                            </el-input>
                         </el-tooltip>
                     </td>
                     <td class="FeatureStand" >
                         <el-tooltip  :disabled="!item.verifyStandard&&!item.standardNull" class="item" effect="dark" :content="item.verifyStandard||item.standardNull" placement="top">
-                            <input class="groupInput"  :class="{borderRed:item.verifyStandard||item.standardNull}" :title="item.standard" type="text" v-model.trim="item.standard" @input="handleInp(index,$event,'FeatureStand')"   @click="clickItem(index,'FeatureStand')">
+                            <el-input class="groupTextarea"  
+                                type="textarea"
+                                :autosize="{ minRows: 1}"
+                                :class="{borderRed:item.verifyStandard||item.standardNull}" 
+                                :title="item.standard" 
+                                v-model.trim="item.standard" 
+                                @input="handleInp(index,$event,'FeatureStand')"   
+                                @focus="clickItem(index,'FeatureStand')">
+                            </el-input>
                         </el-tooltip>                    
                     </td>
                     <td class="FeatureRelate">
                         <el-tooltip :disabled="!item.verifyRelation&&!item.relationNull"  class="item" effect="dark" :content="item.verifyRelation||item.relationNull" placement="top">
-                            <input class="groupInput" :class="{borderRed:item.verifyRelation|| item.relationNull}" :title="item.relation" type="text" v-model.trim="item.relation" @input="handleInp(index,$event,'FeatureRelate',item.type)"  @click="clickItem(index,'FeatureRelate')">
+                            <el-input class="groupTextarea"  
+                                type="textarea"
+                                :autosize="{ minRows: 1}"
+                                :class="{borderRed:item.verifyRelation|| item.relationNull}" 
+                                :title="item.relation" 
+                                v-model.trim="item.relation" 
+                                @input="handleInp(index,$event,'FeatureRelate',item.type)"  
+                                @focus="clickItem(index,'FeatureRelate')">
+                            </el-input>
                         </el-tooltip> 
                     </td>
                     <td class="FeatureResult">
                         <el-tooltip :disabled="!item.verifyResult"  class="item" effect="dark" :content="item.verifyResult" placement="top">
-                            <input :readonly="item.type!=3" class="groupInput" :class="{borderRed:item.verifyResult, inpDisabled:item.type!=3}"  :title="item.result" type="text" v-model.trim="item.result" @input="handleInp(index,$event,'FeatureResult')" @click="clickItem(index,'FeatureResult')">
+                            <el-input class="groupTextarea"
+                                type="textarea"  
+                                :autosize="{ minRows: 1}"
+                                :readonly="item.type!=3"  
+                                :class="{borderRed:item.verifyResult, inpDisabled:item.type!=3}"  
+                                :title="item.result" 
+                                v-model.trim="item.result" 
+                                @input="handleInp(index,$event,'FeatureResult')"
+                                @focus="clickItem(index,'FeatureResult')">
+                            </el-input>
                         </el-tooltip> 
                     </td>
                     <td class="FeatureOpera">
@@ -90,7 +123,16 @@
                     </td>
                     <td class="FormulaNumber">
                         <el-tooltip :disabled="!item.verifyFormula"  class="item" effect="dark" :content="item.verifyFormula" placement="top">
-                            <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-input class="groupTextarea"
+                                type="textarea"  
+                                :readonly="!item.type"
+                                :autosize="{ minRows: 1}"
+                                :class="{borderRed:item.verifyFormula,inpDisabled:!item.type}"
+                                :title="item.formula" 
+                                v-model.trim="item.formula" 
+                                @input="handleInp(index,$event,'FormulaNumber')"  
+                                @focus="clickItem(index,'FormulaNumber')">
+                            </el-input>
                         </el-tooltip> 
                     </td>
                    <td class="FeatureOpera">
@@ -173,7 +215,8 @@
             saveDisable: false ,
             hasQuestion: 1, //是否有问题词
             disNameExist: true, //诊断名称是否存在
-            isReady:false
+            isReady:false,
+            showDiagList: false
         }
     },
     created(){
@@ -222,7 +265,6 @@
         },
         close() {
             this.diagList = [];
-            if(this.diagList.length>0){this.$refs['diagList'].style.display = 'none';}
         },
         back(){
             this.$router.go(-1);
@@ -238,19 +280,17 @@
             api.diagBaseIndex(param).then((res)=>{
                if(res.data.code === '0') {
                    this.diagList = res.data.data
-                   if(this.diagList.length>0) {this.$refs['diagList'].style.display = 'block'}
+                   this.showDiagList = true
                 }
             })
         },
         selectDiag(item) {
             this.disName = item.name
-            this.$refs['diagList'].style.display='none'
             this.searchDiagVal = ''
             this.diagList=[]
         },
         focuInput() {
-            this.$refs['diagList'].style.display='none'
-            
+            this.showDiagList = false            
         },
         addItem(index, type) {
             if(type == 1) {
@@ -543,23 +583,28 @@
             })
         },
         handleInp(index,e,type,itemType){ //分组不能输入负数
-            const value =  e.target.value;
-                console.log(type,itemType)
+            const value = e;
             if(type === 'FeatureNumber') { //序号只能输入数字和.
-                this.disFeatureList[index].code = value.replace(/[^\d.]/g,'')
-            } else if(type==='FeatureStand') {  //关联词不能输入顿号
-                this.disFeatureList[index].standard = value.replace(/、/g,'')
+                this.$nextTick(() => {
+                    this.disFeatureList[index].code = value.replace(/[^\d.]/g,'')
+                })
+            } else if(type==='FeatureStand') {  //标准词不能输入顿号
+                 this.$nextTick(() => {
+                    this.disFeatureList[index].standard = value.replace(/、/g,'')
+                })
+                // this.disFeatureList[index].standard = value.replace(/、/g,'')
             } else if ( type === 'FormulaNumber') {
-                //计算公式确诊只能输入以下内容: 任、一、二、三、四、五、六、七、八、九、十、拟、诊、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、/、.、(、)、(、)
+                //计算公式只能输入以下内容: 任、一、二、三、四、五、六、七、八、九、十、0-9、/、.、(、)、(、)
+                 this.$nextTick(() => {
                     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,'')
+                     this.$nextTick(() => {
+                        this.disFeatureList[index].relation = value.replace(/、/g,'')
+                    })
                 }
             }
             // const item = this.selectedIndexList[index].indexDesc;
@@ -648,7 +693,6 @@
         }
         .itemList {
             position: absolute;
-            display: none;
             background: #fff;
             width: 162px;
             max-height: 150px;
@@ -691,7 +735,6 @@
             margin-bottom: 20px;
             tr {
                 td {
-                    padding: 5px 10px;
                     border: 1px solid #a9a9a9;
                     text-align: center;
                 }
@@ -701,6 +744,14 @@
                     text-align: left;
                     padding-left: 30px;
                 }
+                /deep/.el-textarea__inner {
+                    width: 100%;
+                    line-height: 20px;
+                    resize:none;
+                    border: none;
+                    border-radius: 0;
+                    text-align: center;
+                }
             }
             .selectedContent {
                 width: 25%;
@@ -714,10 +765,14 @@
         }
         .groupInput {
             text-align: center;
-            height: 28px;
             color: #606266;
             width: 80%;
         }
+        .groupTextarea {
+             text-align: center;
+            color: #606266;
+            width: 100%;
+        }
         .btn {
             position: absolute;
             background-color: #fff;
@@ -745,6 +800,7 @@
         }
         .borderRed {
             border: 3px solid red ;
+            box-sizing: border-box;
         }
         .colorRed {
             color: red;
@@ -754,6 +810,7 @@
         }
         .FeatureType {
             width: 7%;
+            padding: 0 5px;
         }
         .FeatureNumber {
             width: 8%;
@@ -775,6 +832,7 @@
         } 
         .FormulaType{
             width: 7%;
+            padding: 0 5px;
         } 
         .FormulaNumber{
             width: 78%;
@@ -811,13 +869,17 @@
             margin: 0 0 10px 0;
         }
         .inpDisabled{
-            background: #ECECEC;
-            color: #AAAAAA;
-            border: none;
-            cursor: not-allowed;
+            textarea {
+                background: #ECECEC;
+                color: #AAAAAA;
+                border: none;
+                cursor: not-allowed;
+                height: 100%;
+            }
+            
         }
         .inpTips {
-            font-size: 13px;
+            font-size: 14px;
             color: red;
             margin-bottom: 10px;
         }

+ 15 - 16
src/components/icss/AddChronicAndIndexRelation.vue

@@ -15,7 +15,7 @@
             <el-form-item  class="addDepartFormItem"  v-if="!isEdit" label="选择慢病标准术语(概念ID):" prop="department">
                 <input class="searchInput"  @focus="focuInput" type="text" v-model = "searchDiagVal"> 
                 <span class="searchName" @click="searchDiag">搜索</span>
-                <ul class="itemList diagList" ref="diagList">
+                <ul v-if="showDiagList&&diagList.length > 0" class="itemList diagList" ref="diagList">
                     <li 
                     v-for="item in diagList" 
                     class="diagItem ellipsis"
@@ -35,7 +35,7 @@
                     <label class="screenIndexLabel">选择化验指标公表项内容(概念ID):</label>
                     <input class="searchInput"  @focus="focuInput" type="text" v-model = "searchIndexVal"> 
                     <span class="searchName" @click="searchIndex">搜索</span>
-                    <ul class="itemList indexList" ref="indexList">
+                    <ul v-if="showIndexList&&indexList.length > 0" class="itemList indexList" ref="indexList">
                         <li 
                         v-for="item in indexList" 
                         class="diagItem ellipsis"
@@ -90,7 +90,9 @@
             searchDiagVal: '',
             searchIndexVal: '',
             isEdit: false,
-            saveDisable: false 
+            saveDisable: false,
+            showDiagList: false,
+            showIndexList: false
         }
     },
     created(){
@@ -123,38 +125,38 @@
         close() {
             this.diagList = [];
             this.indexList = [];
-            if(this.diagList.length>0){this.$refs['diagList'].style.display = 'none';}
-            if(this.indexList.length>0){this.$refs['indexList'].style.display = 'none';}
         },
         back(){
             this.$router.go(-1);
         },
         searchDiag() {
+            if(!this.searchDiagVal.trim()) {
+                return
+            }
             const param = {
                 "diseaseName": this.searchDiagVal,
             }
             api.queryIndexConfigDiseaseNames(param).then((res)=>{
                if(res.data.code === '0') {
                    this.diagList = res.data.data
-                   if(this.diagList.length>0) {this.$refs['diagList'].style.display = 'block'}
-                   if(this.indexList.length>0) {this.$refs['indexList'].style.display = 'none'}
+                   this.showDiagList = true
                 }
             })
         },
         selectDiag(item) {
             this.form.diseaseId = item.diseaseId
             this.form.diseaseName = item.diseaseName
-            this.$refs['diagList'].style.display='none'
             this.searchDiagVal = ''
             this.diagList=[]
         },
         focuInput() {
-          if(this.$refs){
-            this.$refs['diagList'].style.display='none';
-            this.$refs['indexList'].style.display='none';
-          }
+            this.showDiagList = false
+            this.showIndexList = false
         },
         searchIndex() {
+             if(!this.searchIndexVal.trim()) {
+                return
+            }
              const param = {
                 conceptName: this.searchIndexVal,
                 excludedConceptNames:  this.selectedIndexMap
@@ -170,8 +172,7 @@
                     //     {conceptName : '糖化血红蛋白'},
                     //     {conceptName : '血常规'},
                     // ]
-                   if(this.indexList.length > 0){this.$refs['indexList'].style.display='block'}
-                   if(this.diagList.length>0) {this.$refs['diagList'].style.display = 'none'}
+                    this.showIndexList = true
                 }
             })
         },
@@ -179,7 +180,6 @@
             this.selectedIndexList.push({indexUnique: item.conceptName, conceptId: item.conceptId, indexDesc:''})
             this.selectedIndexMap.push(item.conceptName)
             this.indexList = []
-            this.$refs['indexList'].style.display='none'
         },
         delSelectedIndex(selectedItem, index) {
             this.selectedIndexMap = this.selectedIndexMap.filter((item) => {return item != selectedItem.indexUnique})
@@ -295,7 +295,6 @@
         }
         .itemList {
             position: absolute;
-            display: none;
             background: #fff;
             width: 162px;
             max-height: 150px;

+ 1 - 1
src/components/icss/AddIndeptLabel.vue

@@ -173,7 +173,7 @@
             "labelSuffix":this.dataPub.suffix,                                 //后缀
             "minValue": this.dataPub.minNormalVal,        //化验最小正常值
             "maxValue": this.dataPub.maxNormalVal,         //化验最大正常值
-            "specFlag": this.dataPub.specFlag,  //标记状态(0:没有标记,1:主诉高亮,2:诱因记录)
+            "specFlag": this.dataPub.specFlag,  //标记状态(0:没有标记,1:主诉高亮,2:诱因记录, 4:生命体征
             "questionDetails": this.options,
             "questionMappings": [],      //映射关系,
             "formulaCode": isEdit?data.formulaCode : ''

+ 5 - 1
src/components/icss/MedicinePrompt.vue

@@ -161,9 +161,13 @@
         })
       },
       toCopyProduct(row){
+        const pam = this.searched ? {
+          currentPage: this.currentPage,
+          filter: this.filter
+        } : {currentPage: this.currentPage};
         this.$router.push({
           name:'AddMedicinePrompt',
-          params: {data:row,isCopy:true}
+          params: Object.assign(pam, {data:row,isCopy:true})
         })
       },
       filterDatas(){

+ 1 - 0
src/components/icss/NoiseTemplate.vue

@@ -235,6 +235,7 @@ export default {
           "joint": this.dataPub.region5,               //标签间的连接符
           // "subType": this.dataPub.region6,   	         //0:可以,1:不可以(当项目检索)
           "sexType": this.dataPub.region7,             //1:男,2:女,3:通用
+          "specFlag": this.dataPub.specFlag,           //生命体征
           "ageBegin": this.dataPub.region8,       		 //最小年龄
           "ageEnd": this.dataPub.region9,              //最大年龄
           "textGenerate": this.form.currentOrder,      //成文顺序 默认0

+ 6 - 0
src/components/icss/PubIndeptTag.vue

@@ -304,6 +304,12 @@
               ></el-input>
             </el-form-item>
           </div>
+           <el-form-item v-if="form.region1 == 4">
+            <span>
+                <el-checkbox v-model="form.specFlag"  label="是否为生命体征" true-label="4" false-label="0"  @change="sendData"></el-checkbox>
+            </span>
+                
+          </el-form-item>
           
         </el-form>
     </div>

+ 6 - 0
src/components/icss/PubTagGroup.vue

@@ -258,6 +258,11 @@
           ></el-option>
         </el-select>
       </el-form-item>
+      <el-form-item v-if="form.region1 == 4">
+          <span>
+              <el-checkbox v-model="form.specFlag"  label="是否为生命体征" true-label="4" false-label="0"  @change="sendData"></el-checkbox>
+          </span>
+      </el-form-item>
     </el-form>
   </div>
 </template>
@@ -317,6 +322,7 @@ export default {
         tagPool: [],          //标签池数据
         order: [],            //排序方式
         tipLis: [],           //提示列表
+        specFlag: '0'       //生命体征
       },
       labelTypesMaps: {       //// 归属和填写单类型限制
         '1': ['2', '3', '4'],  //推送类型暂时不用

+ 2 - 2
src/components/preTreat/CombinQuestion.vue

@@ -1,6 +1,6 @@
 <template>
     <div>
-        <crumbs title="组合填写单维护">
+        <crumbs title="组合填写单维护" class="simpleQ-crumb">
             <el-form :inline="true" class="demo-form-inline">
                 <el-form-item label="归属:">
                     <el-select size="mini" v-model="filter.tagAdscription"  placeholder="归属" clearable>
@@ -24,7 +24,7 @@
                 </el-form-item>
             </el-form>
         </crumbs>
-        <div class="contents">
+        <div class="contents simpleQ-contents">
             <el-table
                     :data="list"
                     border