ソースを参照

医学术语-命名维护、关系维护部分接口联调

liucf 6 年 前
コミット
a97b1e4a98

+ 14 - 8
src/api/config.js

@@ -146,14 +146,20 @@ export default {
     /**************医学术语维护****************/
 	'saveConceptInfo':'/api/knowledgeman/Knowledge/upsertConceptKnowledge',   //保存术语静态知识
     'delConceptInfo':'/api/knowledgeman/Knowledge/removeConceptKnowledge',   //删除术语静态知识
-    // 'knowledgeName': 'api/knowledgeman/medical/getAllMedicalInfo', //医学术语--命名维护
-    'knowledgeName': 'api/knowledgeman/concept/getAllInformation', //医学术语--命名维护
-    'knowledgeUpload': 'api/knowledgeman/concept/importTermExcel', //医学术语--命名维护-导入
-    'allKnowledgeType': 'api/knowledgeman/type/getAllType', //医学术语--类型列表
-    'deletMedicalName': 'api/knowledgeman/concept/removeConceptInfo', //医学术语--命名维护-删除
-    'getMedicalDetail': 'api/knowledgeman/medical/getMedicalInfo', //医学术语--命名维护-修改获取同义词
-    'knowledgeRelation': 'api/knowledgeman/relation/getAllRelation', //医学术语--关系维护
-    'delKnowledgeRelation': 'api/knowledgeman/relation/removeRelation', //医学术语--关系维护-删除
+    // 'knowledgeName': 'api/knowledgeman/medical/getAllMedicalInfo', //医学术语-命名维护
+    'knowledgeName': 'api/knowledgeman/concept/getAllInformation', //医学术语-命名维护
+    // 'knowledgeUpload': 'api/knowledgeman/concept/importTermExcel', //医学术语-命名维护-导入
+    'knowledgeUpload': 'api/knowledgeman/concept/conceptInfoExcelIm', //医学术语-命名维护-导入
+    // 'allKnowledgeType': 'api/knowledgeman/type/getAllType', //医学术语-类型列表
+    'allKnowledgeType': 'api/knowledgeman/lexicon/getAllLexicon', //医学术语-类型列表
+    'deletMedicalName': 'api/knowledgeman/concept/removeConceptInfo', //医学术语-命名维护-删除
+    'getMedicalDetail': 'api/knowledgeman/concept/getConceptInfoDetail', //医学术语-命名维护-详情
+    // 'knowledgeRelation': 'api/knowledgeman/relation/getAllRelation', //医学术语-关系维护
+    'knowledgeRelation': 'api/knowledgeman/relation/getRelationInfoList', //医学术语-关系维护
+    // 'delKnowledgeRelation': 'api/knowledgeman/relation/removeRelation', //医学术语-关系维护-删除
+    'delKnowledgeRelation': 'api/knowledgeman/relation/removeRelationInfo', //医学术语-关系维护-删除
+    'getAllRelationType': 'api/knowledgeman/lexiconRelationship/getAllLexiconRelationship', //医学术语-关系维护-关系下拉
+    'addRelationConcept': 'api/knowledgeman/relation/addRelationInfo', //医学术语-关系维护-添加
     'getAllConcept': 'api/knowledgeman/concept/getAllConcept', //查询所有术语名称
 	},
 	menuIconList: { //菜单对应图标

+ 23 - 8
src/api/icss.js

@@ -215,27 +215,42 @@ export default {
     },
     // 医学术语维护
     knowledgeName(param) {//命名维护
-        return axios.post(urls.knowledgeName, param)
+        // return axios.post(urls.knowledgeName, param)
+        return axios.post('http://192.168.3.101:5050/api/knowledgeman/concept/getAllInformation', param)
     },
-    allKnowledgeType(param) {//命名维护
-        return axios.post(urls.allKnowledgeType, param)
+    allKnowledgeType(param) {//命名维护-类型列表
+        // return axios.post(urls.allKnowledgeType, param)
+        return axios.post('http://192.168.3.101:5050/api/knowledgeman/lexicon/getAllLexicon', param)
     },
     knowledgeUpload(param) {//命名维护--导入
         return axios.post(urls.knowledgeUpload, param)
     },
     deletMedicalName(param) {//命名维护--删除
-        return axios.post(urls.deletMedicalName, param)
+        // return axios.post(urls.deletMedicalName, param)
+        return axios.post('http://192.168.3.101:5050/api/knowledgeman/concept/removeConceptInfo', param)
     },
     getMedicalDetail(param) {//命名维护--修改
-        return axios.post(urls.getMedicalDetail, param)
+        // return axios.post(urls.getMedicalDetail, param)
+        return axios.post('http://192.168.3.101:5050/api/knowledgeman/concept/getConceptInfoDetail', param)
     },
     knowledgeRelation(param) {//关系维护
-        return axios.post(urls.knowledgeRelation, param)
+        // return axios.post(urls.knowledgeRelation, param)
+        return axios.post('http://192.168.3.101:5050/api/knowledgeman/relation/getRelationInfoList', param)
     },
     delKnowledgeRelation(param) {//关系维护-删除
-        return axios.post(urls.delKnowledgeRelation, param)
+        // return axios.post(urls.delKnowledgeRelation, param)
+        return axios.post('http://192.168.3.101:5050/api/knowledgeman/relation/removeRelationInfo', param)
+    },
+    getAllRelationType(param) {//关系维护-术语关系
+        // return axios.post(urls.getAllRelationType, param)
+        return axios.post('http://192.168.3.101:5050/api/knowledgeman/lexiconRelationship/getAllLexiconRelationship', param)
+    },
+    addRelationConcept(param) {//关系维护-添加
+        // return axios.post(urls.addRelationConcept, param)
+        return axios.post('http://192.168.3.101:5050/api/knowledgeman/relation/addRelationInfo', param)
     },
     getAllConcept(param) {//查询所有术语名称
-        return axios.post(urls.getAllConcept, param)
+        // return axios.post(urls.getAllConcept, param)
+        return axios.post('http://192.168.3.101:5050/api/knowledgeman/concept/getAllConcept', param)
     },
 }

+ 35 - 34
src/components/icss/AddMedicalName.vue

@@ -89,8 +89,7 @@ import api from '@api/icss.js';
         data:{
           name:'',
           type:'',
-          mark:'', 
-          type:''
+          mark:''
         },
         typeList:[],
         id:null,
@@ -118,41 +117,45 @@ import api from '@api/icss.js';
     },
     created(){
       this.getTypeList();
-      const info = this.$route.params.info;
-      if(info){
+      // const info = this.$route.params.info;
+      const id = this.$route.params.id;
+      if(id){
         this.minTitle = '医学术语命名维护-修改';
-        this.id = info.id;
-        this.data.name = info.name;
-        this.data.type = info.type;
-        this.data.remark = info.remark;
+        this.id = id;
+        // this.data.name = info.libName;
+        // this.data.type = info.libType;
+        // this.data.remark = info.remark;
         this.colspan = 5;
         this.getDetail();
       }
     },
     methods:{
       getDetail(){
-        const params = {
-          term:this.data.name,
-          type:this.data.type
-        }
-        api.getMedicalDetail(params).then((res)=>{
-          const result = res.data;
-          if(result.code == 0){
-            this.synonymous = result.data.medicalInfo;
-          }else{
-            this.$message({
-              message:result.msg,
-              type:'warning'
-            });
-          }
-        })
+        // const params = {
+        //   term:this.data.name,
+        //   type:this.data.type
+        // }
+        if(this.id){
+          api.getMedicalDetail({'conceptId':this.id}).then((res)=>{
+            const result = res.data;
+            if(result.code == 0){
+              this.data = result.data.libName[0];
+              this.synonymous = result.data.otherNames;
+            }else{
+              this.$message({
+                message:result.msg,
+                type:'warning'
+              });
+            }
+          })
+        }  
       },
       getTypeList(){
-        const param = {
-          current: this.currentPage,
-          size: this.pageSize
-        }
-        api.allKnowledgeType(param).then((res)=>{
+        // const param = {
+        //   current: this.currentPage,
+        //   size: this.pageSize
+        // }
+        api.allKnowledgeType({'name':''}).then((res)=>{
           const data = res.data;
           if(data.code==0){
             this.typeList = data.data.records;
@@ -170,17 +173,13 @@ import api from '@api/icss.js';
 
       },
       addSpan(){
-        // let index = this.synIndex;
-        // index++
         let singleSpan = {
-          // index:index,
           term:'',
           id:null,
           type:'',
           mark:''
         }
         this.synonymous.push(singleSpan);
-        // this.synIndex = index;
       },
       warning(msg,type){
         this.$message({
@@ -198,7 +197,9 @@ import api from '@api/icss.js';
         }).catch(() => {});
       },
       deleLine(index){
-        const item = this.synonymous[index];
+        // 只在界面删除数据,待点确认 后参才真正删除
+        this.synonymous.splice(index,1);
+        /*const item = this.synonymous[index];
         const param = {
           term:item.term,
           type:item.type,
@@ -215,7 +216,7 @@ import api from '@api/icss.js';
           }).catch((error)=>{
             this.warning(error);
           })
-        });
+        });*/
       },
       comfirn(){
         console.log("修改数据:",this.synonymous);

+ 66 - 49
src/components/icss/AddMedicalRelation.vue

@@ -8,7 +8,6 @@
           <span>起始术语搜索:</span>
           <el-input size="small" v-model="firstInput" placeholder="输入术语" @input="search(1)"></el-input>
           <ul v-if="showFlag==1">
-            <li>测试</li>
             <li v-for="it in searchDatas" :key="it.id" @click.stop="chooseFirst(it)" :title="it.name.length>10?it.name:''">{{it.name}}</li>
           </ul>
         </div>
@@ -16,7 +15,6 @@
           <span>终点术语搜索:</span>
           <el-input size="small" v-model="endInput" placeholder="输入术语" @input="search(2)"></el-input>
           <ul v-if="showFlag==2">
-            <li>测试2</li>
             <li v-for="it in searchDatas" :key="it.id" @click.stop="chooseEnd(it)" :title="it.name.length>10?it.name:''">{{it.name}}</li>
           </ul>
         </div>
@@ -30,26 +28,26 @@
           </tr>
           <tr>
             <td>
-              <span>{{data.start_name}}</span>
+              <span>{{data.startName}}</span>
             </td>
             <td>
-              <span>{{data.start_type}}</span>
+              <span>{{data.startType}}</span>
             </td>
             <td>
-              <el-select v-model="data.relation" clearable placeholder="请选择" size="mini">
+              <el-select v-model="data.relationName" clearable placeholder="请选择" size="mini">
                 <el-option
                   v-for="item in relationList"
-                  :key="item.key"
+                  :key="item.id"
                   :label="item.name"
-                  :value="item.key">
+                  :value="item.name">
                 </el-option>
               </el-select>
             </td>
             <td>
-              <span>{{data.end_name}}</span>
+              <span>{{data.endName}}</span>
             </td>
             <td>
-              <span>{{data.end_type}}</span>
+              <span>{{data.endType}}</span>
             </td>
           </tr>
         </table>
@@ -64,84 +62,102 @@
   </div>
 </template>
 <script type="text/javascript">
+  import api from '@api/icss.js';
   export default {
     name:'AddMedicalRelation',
     data(){
       return{
         data:{
-          start_name:'',
-          start_type:'',
-          relation:'',
-          end_name:'',
-          end_type:''
+          startName:'',
+          startType:'',
+          relationName:'',
+          endName:'',
+          endType:''
         },
-        relationList:[
-          {
-            name:"测试1",
-            key:1
-          },{
-            name:"测试2",
-            key:2
-          },{
-            name:"测试3",
-            key:3
-          }
-        ],
+        relationList:[],
         firstInput:'',
         endInput:'',
         showFlag:0,
-        searchDatas:[
-          {
-            name:"测试1",
-            id:1,
-            type:'药品'
-          },{
-            name:"测试2",
-            id:2,
-            type:'药品'
-          },{
-            name:"测试3",
-            id:3,
-            type:'药品小类'
-          }
-        ],
+        searchDatas:[],
       }
     },
+    created(){
+      this.getRelationList();
+    },
     methods:{
+      getRelationList(){//获取关系下拉
+        const param = {
+          'code':'',
+          'name':''
+        }
+        api.getAllRelationType(param).then((res)=>{
+          const result = res.data;
+          if(result.code==0){
+            this.relationList = result.data;
+          }else{
+            this.$message({
+              message:result.msg || "数据请求失败",
+              type:'warning'
+            })
+          }
+        })
+      },
       comfirn(){
         console.log(444,this.data);
+        api.addRelationConcept(this.data).then((res)=>{
+          const result = res.data;
+          if(result.code==0){
+            this.$message({
+              type:'success',
+              message:result.msg||'添加成功'
+            })
+          }else{
+            this.$message({
+              type:'warning',
+              message:result.msg
+            })
+          }
+        })
       },
       search(type){
         let item = type==1?this.firstInput:this.endInput;
+        const params = {
+          'isConcept':1,
+          'name':item
+        }
         if(item){
           this.showFlag = type;
-          /*api.getAllConcept(item).then((res)=>{
+          api.getAllConcept(params).then((res)=>{
             const result = res.data;
             if(result.code==0){
               this.searchDatas = result.data;
-              this.showFlag = type;
+              if(result.data&&result.data.length>0){
+                this.showFlag = type;
+              }
             }else{
               this.$message({
                 type:'warning',
                 message:result.msg
               })
             }
-          })*/
+          })
         }
       },
       chooseFirst(item){
-        this.data.start_name = item.name;
-        this.data.start_type = item.type;
+        this.data.startName = item.name;
+        this.data.startType = item.type;
+        this.firstInput = "";
         this.closeSearch();
       },
       chooseEnd(item){
-        this.data.end_name = item.name;
-        this.data.end_type = item.type;
+        this.data.endName = item.name;
+        this.data.endType = item.type;
+        this.endInput = "";
         this.closeSearch();
       },
       closeSearch(){
         this.showFlag = 0;
-        // this.searchDatas = [];
+        this.searchDatas = [];
       }
     }
   }
@@ -176,6 +192,7 @@
           overflow: hidden;
           white-space: nowrap;
           text-overflow: ellipsis;
+          cursor: pointer;
         }
         li:hover{
           border-color:#22ccc8;

+ 20 - 15
src/components/icss/MedicalName.vue

@@ -40,22 +40,26 @@
                         width="60">
                 </el-table-column>
                 <el-table-column
-                        prop="gmtCreated"
+                        prop="operTime"
                         label="操作时间"
                         :show-overflow-tooltip="true">
                 </el-table-column>
                 <el-table-column
-                        prop="name"
+                        prop="libName"
                         label="医学标准术语"
                         show-overflow-tooltip>
                 </el-table-column>
                 <el-table-column
-                        prop="synonymous"
-                        label="其他术语"
+                        prop="libType"
+                        label="术语类型">
+                </el-table-column>
+                <el-table-column
+                        prop="otherNames"
+                        label="同义词"
                         show-overflow-tooltip>
                 </el-table-column>
                 <el-table-column
-                        prop="modifier"
+                        prop="operName"
                         label="操作人">
                 </el-table-column>
                 
@@ -107,7 +111,8 @@
       toEditProduct(row){
         this.$router.push({
           name:'AddMedicalName',
-          params: {info:row}
+          // params: {info:row}
+          params: {id:row.conceptId}
         })
       },
       filterDatas(){
@@ -132,14 +137,10 @@
         });
       },
       getTypeList(){
-        const param = {
-          current: this.currentPage,
-          size: 60
-        }
-        api.allKnowledgeType(param).then((res)=>{
+        api.allKnowledgeType({'name':''}).then((res)=>{
           const data = res.data;
           if(data.code==0){
-            this.typeList = data.data.records;
+            this.typeList = data.data;
           }else{
             console.log(res.msg);
           }
@@ -153,7 +154,7 @@
       },
       getFilterItems() {
         const param = {
-          term: this.filter.term,
+          name: this.filter.term,
           current: this.currentPage,
           size: this.pageSize,
           type:this.filter.type
@@ -187,12 +188,16 @@
         }).catch(() => {});
       },
       showDelDialog(item){
-        const param = {
+        /*const param = {
           term:item.term,
           type:item.type,
           id:item.id
+        }*/
+        const param = {
+          conceptId:item.conceptId
         }
-        this.showConfirmDialog('删除该标准词,可能造成相关联的医学信息、术语关系、医学静态知识等信息全部删除,是否删除?',()=>{
+        
+        this.showConfirmDialog('删除该标准术语,需要将所关联的医学属性、术语关系、医学静态知识等信息全部解除关联才可正常删除该信息,是否删除?',()=>{
           api.deletMedicalName(param).then((res)=>{
             if(res.data.code=='0'){
               this.warning(res.data.msg||'操作成功','success');

+ 39 - 37
src/components/icss/MedicalRelation.vue

@@ -9,17 +9,17 @@
                 <el-select v-model="type" clearable placeholder="请选择" size="mini">
                   <el-option
                     v-for="item in typeList"
-                    :key="item.key"
+                    :key="item.id"
                     :label="item.name"
-                    :value="item.key">
+                    :value="item.id">
                   </el-option>
                 </el-select>
               </el-form-item>
               <el-form-item label="起始术语:">
-                  <el-input size="mini" v-model="filter.proName" placeholder="输入术语"></el-input>
+                  <el-input size="mini" v-model="startName" placeholder="输入术语"></el-input>
               </el-form-item>
               <el-form-item label="终点术语:">
-                  <el-input size="mini" v-model="filter.proName" placeholder="输入术语"></el-input>
+                  <el-input size="mini" v-model="endName" placeholder="输入术语"></el-input>
               </el-form-item>
               <el-form-item>
                   <el-button size="mini" @click="filterDatas">确认</el-button>
@@ -42,7 +42,7 @@
                         width="60">
                 </el-table-column>
                 <el-table-column
-                        prop="gmtOperate"
+                        prop="operTime"
                         label="操作时间"
                         :show-overflow-tooltip="true">
                 </el-table-column>
@@ -72,7 +72,7 @@
                         show-overflow-tooltip>
                 </el-table-column>
                 <el-table-column
-                        prop="operatorName"
+                        prop="operName"
                         label="操作人">
                 </el-table-column>
                 
@@ -107,32 +107,16 @@
         currentPage: 1,
         pageSize: 10,
         total: 0,
-        filter: {
-          proName: ''
-        },
+        startName:'',
+        endName:'',
         type:'',
-        typeList:[
-          {
-            name:'类型1',
-            id:1,
-            key:1
-          },
-          {
-            name:'类型2',
-            id:2,
-            key:2
-          },
-          {
-            name:'类型3',
-            id:3,
-            key:3
-          },
-        ],
+        typeList:[],
         titleWidth:'1070px' //头部最小宽度
       }
     },
     created() {
       this.getDataList();
+      this.getRelationList();
     },
     methods: {
       toEditProduct(row){
@@ -147,7 +131,15 @@
       },
       getDataList() {
         const param = this.getFilterItems();
-        api.knowledgeRelation(param).then((res) => {
+        const param1 = {
+          "current": this.currentPage,
+          "endName": this.endName,
+          "relationId": this.type,
+          "size": this.pageSize,
+          "startName": this.startName
+        }
+        const params = this.type?param1:param;
+        api.knowledgeRelation(params).then((res) => {
           if (res.data.code == '0') {
             const data = res.data.data;
             this.list = data.records;
@@ -158,15 +150,29 @@
           console.log(error);
         });
       },
-      getDetailList(id) {
-        const param = {'id': id,};
-        // this.$router.push({name:'DeptInfoDetail', params:{id: id}})
+      getRelationList(){
+        const param = {
+          'code':'',
+          'name':''
+        }
+        api.getAllRelationType(param).then((res)=>{
+          const result = res.data;
+          if(result.code==0){
+            this.typeList = result.data;
+          }else{
+            this.$message({
+              message:result.msg || "数据请求失败",
+              type:'warning'
+            })
+          }
+        })
       },
       getFilterItems() {
         const param = {
-          // questionName: this.filter.proName,
           current: this.currentPage,
-          size: this.pageSize
+          size: this.pageSize,
+          startName: this.startName,
+          endName: this.endName
         };
         return param;
       },
@@ -198,11 +204,7 @@
       },
       showDelDialog(item){
         const params = {
-          start_term:item.startName,
-          start_type:item.startType,
-          end_term:item.endName,
-          end_type:item.endType,
-          relation_name:item.relationName
+          id:item.id
         }
         this.showConfirmDialog('是否删除该关系?可能对现有系统造成影响',()=>{
           api.delKnowledgeRelation(params).then((res)=>{

+ 2 - 2
vue.config.js

@@ -1,7 +1,7 @@
 const path = require('path');
 // const proxy_path = 'http://192.168.2.236:80';
-const proxy_path = 'http://192.168.2.241:88';
-// const proxy_path = 'http://192.168.2.236:88';
+// const proxy_path = 'http://192.168.2.241:88';
+const proxy_path = 'http://192.168.2.236:88';
 // const proxy_path = 'http://192.168.3.101:5050';
 // const proxy_path = 'http://192.168.3.117:5050';//周铁刚
 // const proxy_path = 'http://192.168.3.115:5050';