Browse Source

Merge remote-tracking branch 'origin/test' into testedMerge

# Conflicts:
#	src/components/diagBase/AddDiagBase.vue
zhouna 5 years ago
parent
commit
cfc1acfa1a

+ 1 - 0
src/api/config.js

@@ -217,6 +217,7 @@ export default {
     'relationContactDetail': 'api/knowledgeman/multContact/relationContactDetail', //知识库标准化-医学术语多层关联维护-详情
     'addMultRelation': 'api/knowledgeman/multContact/addRelation', //知识库标准化-医学术语多层关联维护-添加或者编辑
     'reloadLib': 'api/knowledgeman/reload/createFile', //术语命名-加载词库
+    'getDeptList': '/api/knowledgeman/concept/getConceptListByType', //术语命名-诊断-科室
 	  /*********预问诊相关接口**********/
 	  'questionList':'/api/precman/questionInfo_prec/page',     //预问诊-填写单列表
     'questionAdd':'/api/precman/questionInfo_prec/saveOrUpdate',      //预问诊-填写单添加

+ 3 - 0
src/api/icss.js

@@ -421,4 +421,7 @@ export default {
     reloadLib() {    //医学术语命名维护-加载词库
         return axios.post(urls.reloadLib)
     },
+    getDeptList(param) {    //医学术语命名维护-添加-获取科室
+        return axios.post(urls.getDeptList,param)
+    },
 }

+ 4 - 3
src/components/diagBase/AddDiagBase.vue

@@ -435,7 +435,6 @@
                     const regex2 = new RegExp(`(?<=\\D|\\s?)${disFeatureList[i].code}(?=\\D|\\s?)`)
                     //  const regex2 = new RegExp(`、\\s*、{1,}`) 
                     //  const regex2 = new RegExp(`([^0-9]|\\s{0,1})${disFeatureList[i].code}([^0-9]|\\s{0,1})`)
-                    console.log(disFormulaList)
                     let hasError = disFormulaList.find(item => {return regex2.test(item.formula)})
                     if(hasError) {
                         if(!disFeatureList[i].relation) {
@@ -491,10 +490,9 @@
                             const errStr = "诊断公式第" + (i+ 1) +"行公式格式错误"
                             errStrList.push(errStr)
                             formulaListErrNum++;
-                       } else {
-                            disFormulaList[i].verifyFormula = ""
                        }
                    }
+
             }
             if(disFormulaList.length) {
                 this.disFormulaList = JSON.parse(JSON.stringify(disFormulaList))
@@ -891,6 +889,9 @@
             color: red;
             margin-bottom: 10px;
         }
+        #upFile{
+            display: none
+        }
     }
     
 </style>

+ 14 - 12
src/components/icss/AddConceptRelation.vue

@@ -170,17 +170,18 @@ export default {
             this.$router.go(-1);
           },
           searchDiag() {
-          const param = {
-            "name": this.searchDiagVal,
-            "relationId": 17,
-            "relationPosition": 1,
-            "typeId":this.conceptType
-          }
-          api.getConceptInfoAssay(param).then((res)=>{
-           if(res.data.code === '0') {
-             this.conceptList = res.data.data
-           }
-       })
+            const param = {
+              "name": this.searchDiagVal,
+              "relationId": 17,
+              "relationPosition": 1,
+              "typeId":this.conceptType,
+              "relationTypeId":this.searchType //9-19新增
+            }
+            api.getConceptInfoAssay(param).then((res)=>{
+             if(res.data.code === '0') {
+               this.conceptList = res.data.data
+             }
+         })
         },
         selectDiag(item) {
           this.form.conceptId = item.conceptId;
@@ -329,7 +330,8 @@ export default {
         const param ={
           "conceptId": this.form.conceptId,
           "nodeList": this.nodeList,
-          "sonRelationId": 17
+          "sonRelationId": 17,
+          "sonTypeId":this.searchType //9-20新增
         }
         this.showConfirmDialog('是否建立该关联?', () => {
           this.saveDisable = true;  //提交保存按钮不可点击,返回结果时才可点击,防止频繁发送请求

+ 3 - 3
src/components/icss/AddMedicalMultRelation.vue

@@ -190,10 +190,10 @@ import api from '@api/icss.js';
         for(let i = 0; i <nodeList.length; i++) {
           let newChild;
           if(type == '0') { //添加的时候保存所有的id列表
-            newChild = {conceptId: nodeList[i].conceptId, relationId: 17,nodeList:[]}
+            newChild = {conceptId: nodeList[i].conceptId, relationId: 17,nodeList:[],sonRelationId: 17}
           } else if(type == '1') {  //修改的时候添加层级
             const item = JSON.parse(JSON.stringify(nodeList[i]))
-            newChild = Object.assign(item, {level:  level, nodeList: []})
+            newChild = Object.assign(item, {level:  level, nodeList: [],sonRelationId: 17})
           } else if(type == '2') { //移除节点的时候同时移除节点(搜索时排除的id列表)
             newChild = nodeList[i].conceptId
           }
@@ -242,7 +242,7 @@ import api from '@api/icss.js';
           this.list = JSON.parse(JSON.stringify(this.list))
         }else {
           const data = this.operaList
-          const newChild = Object.assign({}, item,  {nodeList: [], level: data.level+1, conceptId: item.conceptId, conceptNameType: item.conceptNameType, relationId: 17});
+          const newChild = Object.assign({}, item,  {nodeList: [], level: data.level+1, conceptId: item.conceptId, conceptNameType: item.conceptNameType, relationId: 17,sonRelationId: 17});
           // const newChild = { id: id++, label: 'nodeList', level: data.level+1, children: [] };
           if (!data.nodeList) {
           this.$set(data, 'nodeList', []);

+ 98 - 10
src/components/icss/AddMedicalName.vue

@@ -182,6 +182,16 @@
                 @input="inputAge"
               ></el-input>
             </el-form-item>
+            <el-form-item label="科室:" v-if="dioType" class="marT">
+                <el-select v-model="dept">
+                    <el-option v-for="(it,i) in deptList" :label="it.name" :value="it.name"></el-option>
+                </el-select>
+            </el-form-item>
+            <el-form-item label="类型:" v-if="dioType" class="marT">
+                <el-select v-model="dioType">
+                    <el-option v-for="(it,i) in dioTypeList" :label="it.name" :value="it.val"></el-option>
+                </el-select>
+            </el-form-item>
           </el-form> 
         </div>
         <div class="btn">
@@ -243,7 +253,11 @@ import pinyin from '../../js/Convert_Pinyin.js';
         unfit:false, //点确认时是否弹提示,
         saveDisable: false,  //保存按钮禁止点击
         options:[],
-        copy:null
+        copy:null,
+        dioTypeList:[],//更多信息-类型
+        dioType:'', //默认展示一类
+        deptList:[], //更多信息-科室
+        dept:'',  //默认展示全科
       }
     },
     created(){
@@ -263,9 +277,41 @@ import pinyin from '../../js/Convert_Pinyin.js';
         if(newVal && newVal != preVal){
           this.changeState(newVal);
         }
-      }
+      },
     },
     methods:{
+      // 诊断类型下--更多信息-类型
+      getDioType(flag){
+        api.getknowledgeList().then((res)=>{
+          const data = res.data;
+          if(data.code==0){
+            this.dioTypeList = data.data[2];
+            // 修改时无需赋值
+            if(!flag){
+              this.dioType = this.dioTypeList[0].val;
+            } 
+          }
+        })
+      },
+      // 诊断类型下--更多信息-科室
+      getDdeptList(conptId){
+        api.getDeptList({"type":1}).then((res)=>{
+          const data = res.data;
+          if(data.code==0){
+            this.deptList = data.data;
+            if(!conptId){
+              this.dept = "全科"; //默认展示全科
+            }else{
+              // 科室id转成name显示
+              this.deptList.map((v,i)=>{
+                if(v.conceptId==conptId){
+                  this.dept = v.name;
+                }
+              })
+            }
+          }
+        })
+      },
       changeState(val){
         let tmpAllwords = JSON.parse(JSON.stringify(this.synonymous));
         for(let i = 0;i < tmpAllwords.length;i++){
@@ -299,6 +345,13 @@ import pinyin from '../../js/Convert_Pinyin.js';
               this.showMore = result.data.isHasCommon;
               this.maxAge = result.data.maxAge;
               this.minAge = result.data.minAge;
+              const type = result.data.type;
+              if(type == '诊断'){
+                this.dioType = result.data.classify || "Ⅰ"; //类型,默认展示Ⅰ类
+                const deptConptId = result.data.deptId;
+                this.getDioType(true);
+                this.getDdeptList(deptConptId);
+              } 
               // this.sexType = result.data.sexType;
               let sexType = result.data.sexType;
               this.sex.map((v,i)=>{
@@ -543,15 +596,40 @@ import pinyin from '../../js/Convert_Pinyin.js';
               sexCode = v.value;
             }
           })
-          params = {
-            'name':this.data.name,
-            'type':this.data.type,
-            'detailList':detailList,
-            'conceptId':this.copy?'':this.id,//复制当新增,把id置空
-            'sexType':sexCode,
-            'maxAge':this.maxAge,
-            'minAge':this.minAge
+          
+          if(this.dioType){
+            const deptList = this.deptList;
+            let conptId = null;
+            for(let i in deptList){
+              if(deptList[i].name == this.dept){
+                conptId = deptList[i].conceptId;
+              }
+            }
+            params = {
+              "addCptDiseaseExtVO": {
+                "classify": this.dioType,
+                "deptId": conptId
+              },
+              'name':this.data.name,
+              'type':this.data.type,
+              'detailList':detailList,
+              'conceptId':this.copy?'':this.id,//复制当新增,把id置空
+              'sexType':sexCode,
+              'maxAge':this.maxAge,
+              'minAge':this.minAge
+            }
+          }else{
+            params = {
+              'name':this.data.name,
+              'type':this.data.type,
+              'detailList':detailList,
+              'conceptId':this.copy?'':this.id,//复制当新增,把id置空
+              'sexType':sexCode,
+              'maxAge':this.maxAge,
+              'minAge':this.minAge
+            }
           }
+          
         }else{
           params = {
             'name':this.data.name,
@@ -589,6 +667,13 @@ import pinyin from '../../js/Convert_Pinyin.js';
             this.showMore = v.isHasCommon;
           }
         })
+        if(e == '诊断'){
+          this.getDioType();
+          this.getDdeptList();
+        }else{
+          this.dioType = '';
+          this.dept = '';
+        } 
       }
     }
   }
@@ -728,4 +813,7 @@ import pinyin from '../../js/Convert_Pinyin.js';
       margin: 0 35px;
      }
    }
+  /deep/ .marT{
+    margin-top: 20px;
+  }
 </style>

+ 3 - 1
src/components/icss/AssaySon.vue

@@ -143,7 +143,9 @@
         modifyRelation(row) {
             const param = {
                 conceptId: row.conceptId,
-                relationId:18
+                // relationId:18
+                relationIds:[18], //9-23后台修改
+                typeIds:[13]
             }
             api.getAssaySonDetail(param).then((res) => {
                 if(res.data.code == '0') {

+ 16 - 9
src/components/icss/ConceptRelation.vue

@@ -132,6 +132,8 @@ export default {
   },
     methods: {
         toggTab(item){
+          // bug2348 搜索后切换tab时清空搜索条件
+          this.filter.conceptName = '';
           this.filter.type = item.key;
           this.currentPage = 1;
           this.getDataList();
@@ -158,9 +160,14 @@ export default {
           this.$router.push({name:'AddConceptRelation',params:pam})
         },
         modifyRelation(row) {
+          const typeL = this.filter.type.toString().split('101');
+          const typeId = [];
+          typeId[0] = +typeL[1];
             const param = {
               "conceptId": row.conceptId,
-              "relationId":17
+              // "relationId":17
+              "relationIds":[17],//9-20新增
+              "typeIds":typeId
             }
           const pam = this.searched ? {
             currentPage: this.currentPage,
@@ -185,9 +192,7 @@ export default {
         getFilterItems(isTurnPage) {
           //翻页时筛选条件没点确定则清空
           if(isTurnPage&&!this.searched){
-            this.filter={
-              conceptName:''
-            };
+            this.filter.conceptName='';
           };
             const param = {
                 current: this.currentPage,
@@ -221,18 +226,20 @@ export default {
         },
         showDelDialog(row){
           this.showConfirmDialog('是否删除该关联?',()=>{
+            const typeL = this.filter.type.toString().split('101');
+            const typeId = [];
+            typeId[0] = +typeL[1];
             const param = {
               "conceptId": row.conceptId,
-              "isDeleted": row.isDeleted=== 'N'?'Y':'N',
-              "relationId": 17
+              // "isDeleted": row.isDeleted=== 'N'?'Y':'N',
+              "relationIds":[17],//9-20新增
+              "typeIds":typeId
             }
             api.delConceptRelation(param).then((res)=>{
               if(res.data.code=='0'){
                 if(!this.searched){
                   //未点确认时清空搜索条件
-                  this.filter={
-                    conceptName:''
-                  };
+                  this.filter.conceptName='';
                 }
                 if(this.list.length==1){
                   //当前在最后一页且只有一条数据时,删除后跳到前一页

+ 9 - 7
src/components/icss/MedicalMultRelation.vue

@@ -2,12 +2,12 @@
     <div>
         <crumbs title="分诊人体图数据维护" minWidth="995px">
             <el-form :inline="true" class="demo-form-inline">
-                <el-form-item label="标准术语名词:">
+                <el-form-item label="医学标准术语:">
                     <el-input size="mini" v-model="filter.term" placeholder="输入术语"></el-input>
                 </el-form-item>
                 <el-form-item>
                     <el-button size="mini" @click="filterDatas">确认</el-button>
-                    <el-button size="mini" type="warning" style="margin:0 10px"  @click="addMedicalMultR">添加</el-button>
+                    <!-- <el-button size="mini" type="warning" style="margin:0 10px"  @click="addMedicalMultR">添加</el-button> -->
                 </el-form-item>
             </el-form>
         </crumbs>
@@ -53,8 +53,8 @@
                         label="操作" width="160">
                     <template slot-scope="scope">
                         <el-button type="text" size="small" :disabled="scope.row.isDeleted != 'N'" @click="toEditProduct(scope.row)">修改</el-button>
-                        <span style="margin:0 3px;">|</span>
-                        <el-button type="text" size="small" :class="scope.row.isDeleted == 'N'?'delete':'review'" @click="showDelDialog(scope.row)">{{scope.row.isDeleted == 'N'?'删除':'恢复'}}</el-button>
+                        <!-- <span style="margin:0 3px;">|</span>
+                        <el-button type="text" size="small" :class="scope.row.isDeleted == 'N'?'delete':'review'" @click="showDelDialog(scope.row)">{{scope.row.isDeleted == 'N'?'删除':'恢复'}}</el-button> -->
                     </template>
                 </el-table-column>
             </el-table>
@@ -129,7 +129,8 @@
       toEditProduct(row){
         const param = {
           conceptId: row.conceptId,
-          relationId: 17
+          relationIds: [17,17],
+          typeIds: [3,1]
         };
         const pam = this.searched ? {
           currentPage: this.currentPage,
@@ -231,8 +232,9 @@
         }*/
         const param = {
           conceptId:item.conceptId,
-          isDeleted:item.isDeleted === 'N'?'Y':'N',
-          relationId: 17
+          // isDeleted:item.isDeleted === 'N'?'Y':'N',
+          relationIds: [17,17],
+          typeIds: [3,1]
         }
         let waringTxt = '是否删除该关系,可能对现有系统造成影响'
         this.showConfirmDialog(waringTxt,()=>{

+ 5 - 5
src/components/icss/MedicineInfoPg.vue

@@ -6,12 +6,12 @@
                 <el-checkbox v-for="it in positions" :key="it.key" :label="it.key">{{it.name}}</el-checkbox>
             </el-checkbox-group>
         </el-form-item>
-        <el-form-item label="是否属于诊断依据:" prop="isReason" label-width="160px">
+        <!-- <el-form-item label="是否属于诊断依据:" prop="isReason" label-width="160px">
             <el-select v-model="data.isReason" placeholder="请选择">
                 <el-option label="否" :value="0"></el-option>
                 <el-option label="是" :value="1"></el-option>
             </el-select>
-        </el-form-item>
+        </el-form-item> -->
         <el-form-item label="标题名称:" prop="title" label-width="160px">
             <el-input v-model="data.title"></el-input>
         </el-form-item>
@@ -99,9 +99,9 @@
         },
         positions:[],               //位置列表
         rules:{
-          isReason: [
-            { required: true, message: '请选择是否属于诊断', trigger: 'change' }
-          ],
+          // isReason: [
+          //   { required: true, message: '请选择是否属于诊断', trigger: 'change' }
+          // ],
           position: [
             { required: true, message: '请选择显示位置', trigger: 'change' }
           ],

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

@@ -15,8 +15,8 @@
                 <el-form-item label="填写单系统名称:">
                     <el-input size="mini" v-model="filter.tagSysName" placeholder="填写单系统名称" clearable></el-input>
                 </el-form-item>
-                <el-form-item label="填写单界面名称:">
-                    <el-input size="mini" v-model="filter.name" placeholder="填写单界面名称" clearable></el-input>
+                <el-form-item label="填写单医生界面名称:">
+                    <el-input size="mini" v-model="filter.name" placeholder="填写单医生界面名称" clearable></el-input>
                 </el-form-item>
                 <el-form-item>
                     <el-button size="mini" @click="filterDatas">确认</el-button>
@@ -50,7 +50,7 @@
                 <el-table-column
                         :resizable = "false"
                         prop="name"
-                        label="填写单界面名称">
+                        label="填写单医生界面名称">
                 </el-table-column>
                 <el-table-column
                         :resizable = "false"

+ 5 - 5
src/components/preTreat/PubIndeptQa.vue

@@ -175,7 +175,7 @@
                 ></el-input>
             </el-form-item>
             <el-form-item label="填写单图片内容:"
-                          v-if="qaType==1&&form.region2!=4"
+                          v-if="qaType==1&&form.region2&&form.region2!=4&&form.region2!=9"
                           prop="region13">
                 <el-upload
                         :class="form.region13?'upload-hide':''"
@@ -304,10 +304,10 @@
         showFileList:false,
         uploadUrl:config.urls.uploadImg,        //图片上传地址
         labelTypesMaps: {       // 归属和填写单类型限制
-          '1':['1','2','3','5','6','7','8'], //症状情况
-          '51':['1','2','3','4','5','6','7'],    //诊疗情况
-          '3':['1','2','3','5','6','7'],         //其他史
-          '52':['1','2','3','5','6','7']            //补充内容
+          '1':['1','2','3','5','6','7','8','9'], //症状情况
+          '51':['1','2','3','4','5','6','7','9'],    //诊疗情况
+          '3':['1','2','3','5','6','7','9'],         //其他史
+          '52':['1','2','3','5','6','7','9']            //补充内容
         },
         combinLabelMaps:{
           '1':['4'], //症状情况