Sfoglia il codice sorgente

术语命名维护接口联调完成

liucf 6 anni fa
parent
commit
55e209c450

+ 1 - 5
src/api/config.js

@@ -146,17 +146,13 @@ 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', //医学术语-命名维护-导入
     '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', //医学术语-关系维护
+    'addMedicalName': 'api/knowledgeman/concept/addConceptInfo', //医学术语-命名维护-添加修改
     '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', //医学术语-关系维护-添加

+ 17 - 27
src/api/icss.js

@@ -215,55 +215,45 @@ export default {
     },
     // 医学术语维护
     knowledgeName(param) {//命名维护
-        // return axios.post(urls.knowledgeName, param)
-        return axios.post('http://192.168.3.101:5050/api/knowledgeman/concept/getAllInformation', param)
+        return axios.post(urls.knowledgeName, param)
     },
     allKnowledgeType(param) {//命名维护-类型列表
-        // return axios.post(urls.allKnowledgeType, param)
-        return axios.post('http://192.168.3.101:5050/api/knowledgeman/lexicon/getAllLexicon', param)
+        return axios.post(urls.allKnowledgeType, param)
     },
     knowledgeUpload(param) {//命名维护--导入
-        // return axios.post(urls.knowledgeUpload, param)
-        return axios.post('http://192.168.3.101:5050/api/knowledgeman/concept/conceptInfoExcelIm', param)
+        return axios.post(urls.knowledgeUpload, param)
     },
     deletMedicalName(param) {//命名维护--删除
-        // return axios.post(urls.deletMedicalName, param)
-        return axios.post('http://192.168.3.101:5050/api/knowledgeman/concept/removeConceptInfo', param)
+        return axios.post(urls.deletMedicalName, param)
     },
-    getMedicalDetail(param) {//命名维护--修改
-        // return axios.post(urls.getMedicalDetail, param)
-        return axios.post('http://192.168.3.101:5050/api/knowledgeman/concept/getConceptInfoDetail', param)
+    getMedicalDetail(param) {//命名维护--获取详情
+        return axios.post(urls.getMedicalDetail, param)
+    },
+    addMedicalName(param) {//命名维护--新增、修改
+        return axios.post(urls.addMedicalName, param)
     },
     knowledgeRelation(param) {//关系维护
-        // return axios.post(urls.knowledgeRelation, param)
-        return axios.post('http://192.168.3.101:5050/api/knowledgeman/relation/getRelationInfoList', param)
+        return axios.post(urls.knowledgeRelation, param)
     },
     delKnowledgeRelation(param) {//关系维护-删除
-        // return axios.post(urls.delKnowledgeRelation, param)
-        return axios.post('http://192.168.3.101:5050/api/knowledgeman/relation/removeRelationInfo', param)
+        return axios.post(urls.delKnowledgeRelation, param)
     },
     getAllRelationType(param) {//关系维护-术语关系
-        // return axios.post(urls.getAllRelationType, param)
-        return axios.post('http://192.168.3.101:5050/api/knowledgeman/lexiconRelationship/getAllLexiconRelationship', param)
+        return axios.post(urls.getAllRelationType, param)
     },
     addRelationConcept(param) {//关系维护-添加
-        // return axios.post(urls.addRelationConcept, param)
-        return axios.post('http://192.168.3.101:5050/api/knowledgeman/relation/addRelationInfo', param)
+        return axios.post(urls.addRelationConcept, param)
     },
     RelationUpload(param) {//关系维护-导入
-        // return axios.post(urls.RelationUpload, param)
-        return axios.post('http://192.168.3.101:5050/api/knowledgeman/relation/relationInfoExcelIm', param)
+        return axios.post(urls.RelationUpload, param)
     },
     getAllConcept(param) {//查询所有术语名称
-        // return axios.post(urls.getAllConcept, param)
-        return axios.post('http://192.168.3.101:5050/api/knowledgeman/concept/getAllConcept', param)
+        return axios.post(urls.getAllConcept, param)
     },
     getTypeList(param) {//术语类型-列表
-        // return axios.post(urls.getTypeList, param)
-        return axios.post('http://192.168.3.101:5050/api/knowledgeman/lexicon/getLexiconList', param)
+        return axios.post(urls.getTypeList, param)
     },
     addType(param) {//术语类型-添加
-        // return axios.post(urls.addType, param)
-        return axios.post('http://192.168.3.101:5050/api/knowledgeman/lexicon/addLexicon', param)
+        return axios.post(urls.addType, param)
     },
 }

+ 65 - 50
src/components/icss/AddMedicalName.vue

@@ -15,7 +15,7 @@
           <tr>
             <td class="ind">1</td>
             <td :title="data.name&&data.name.length>9?data.name:''">
-              <el-input v-model="data.name" placeholder="请输入术语" maxlength="30" size="small"></el-input>
+              <el-input v-model="data.name" placeholder="请输入术语" maxlength="30" size="small" @input="handleInput"></el-input>
             </td>
             <td>
               <el-select v-if="!id" v-model="data.type" filterable placeholder="请选择" size="small">
@@ -29,7 +29,7 @@
               <span v-else>{{data.type}}</span>
             </td>
             <td class="desc">
-              <el-input v-model="data.mark" placeholder="请输入术语说明" maxlength="120" size="small"></el-input>
+              <el-input v-model="data.remark" placeholder="请输入术语说明" maxlength="120" size="small" @input="handleRemark"></el-input>
             </td>
           </tr>
         </table>
@@ -45,7 +45,7 @@
           <tr v-for="(item,index) in synonymous">
             <td class="ind">{{index+1}}</td>
             <td :title="item.name&&item.name.length>9?item.name:''">
-              <el-input v-model="item.name" placeholder="请输入术语" maxlength="30" size="small"></el-input>
+              <el-input v-model="item.name" placeholder="请输入术语" maxlength="30" size="small" @input="handleInput(index,item.name)"></el-input>
             </td>
             <td>
               <!-- <el-select v-model="item.type" clearable placeholder="请选择">
@@ -59,7 +59,7 @@
               {{data.type}}
             </td>
             <td class="desc">
-              <el-input v-model="item.note" placeholder="请输入术语说明" maxlength="120" size="small"></el-input>
+              <el-input v-model="item.remark" placeholder="请输入术语说明" maxlength="120" size="small" @input="handleRemark(index,item.name)"></el-input>
             </td>
             <td v-if="id">
               <span @click="deleLine(index)" class="delete">删除</span>
@@ -89,25 +89,26 @@ import api from '@api/icss.js';
         data:{
           name:'',
           type:'',
-          mark:''
+          remark:'',
+          isConcept:1
         },
         typeList:[],
         id:null,
         synonymous:[//同义词
             {
               name:'',
-              id:1,
-              note:''
+              remark:'',
+              isConcept:0
             },
             {
               name:'',
-              id:2,
-              note:''
+              remark:'',
+              isConcept:0
             },
             {
               name:'',
-              id:3,
-              note:''
+              remark:'',
+              isConcept:0
             },
           ],
         colspan:4,
@@ -117,24 +118,16 @@ import api from '@api/icss.js';
     },
     created(){
       this.getTypeList();
-      // const info = this.$route.params.info;
       const id = this.$route.params.id;
       if(id){
         this.minTitle = '医学术语命名维护-修改';
         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
-        // }
         if(this.id){
           api.getMedicalDetail({'conceptId':this.id}).then((res)=>{
             const result = res.data;
@@ -151,14 +144,11 @@ import api from '@api/icss.js';
         }  
       },
       getTypeList(){
-        // 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;
+            // this.typeList = data.data.records;
+            this.typeList = data.data;
           }else{
             this.$message({
               message:data.msg,
@@ -169,15 +159,27 @@ import api from '@api/icss.js';
           console.log(error);
         });
       },
-      handleInput(){//限制输入类型
-
+      handleInput(index,name){
+        // 可输入内容:字母、数字、汉字、特殊字符:%  ——  其余不可输入;
+        if(!name){//标准词输入
+          this.data.name = this.data.name.replace(/[^%0-9a-zA-Z\u4e00-\u9fa5]/g,'');
+        }else{
+          this.synonymous[index].name = this.synonymous[index].name.replace(/[^%0-9a-zA-Z\u4e00-\u9fa5]/g,'');
+        }
+      },
+      handleRemark(index,name){
+      //说明只能输入中文
+        if(!name){//标准词输入
+          this.data.remark = this.data.remark.replace(/[^\u4e00-\u9fa5]/g,'');
+        }else{
+          this.synonymous[index].remark = this.synonymous[index].remark.replace(/[^\u4e00-\u9fa5]/g,'');
+        }
       },
       addSpan(){
         let singleSpan = {
-          term:'',
-          id:null,
-          type:'',
-          mark:''
+          name:'',
+          remark:'',
+          isConcept:0
         }
         this.synonymous.push(singleSpan);
       },
@@ -199,27 +201,40 @@ import api from '@api/icss.js';
       deleLine(index){
         // 只在界面删除数据,待点确认 后参才真正删除
         this.synonymous.splice(index,1);
-        /*const item = this.synonymous[index];
-        const param = {
-          term:item.term,
-          type:item.type,
-          id:item.id
-        }
-        this.showConfirmDialog('是否删除该同义词?',()=>{
-          api.deletMedicalName(param).then((res)=>{
-            if(res.data.code=='0'){
-              this.warning(res.data.msg||'操作成功','success');
-              this.getDetail();
-            }else{
-              this.warning(res.data.msg);
-            }
-          }).catch((error)=>{
-            this.warning(error);
-          })
-        });*/
       },
-      comfirn(){
-        console.log("修改数据:",this.synonymous);
+      comfirn(){  
+        if(!this.data.name){
+          this.warning('请输入标准词');
+          return
+        }
+        if(!this.data.type){
+          this.warning('请选择术语类型');
+          return
+        }
+        // 过滤同义词空数据
+        let realData = this.synonymous.filter((item)=>{
+          return item.name;
+        })
+        let detailList = [];
+        detailList[0] = this.data;
+        for(let i=0; i<realData.length; i++){
+          realData[i].type = this.data.type;
+          detailList.push(realData[i]);
+        }
+        const params = {
+          'name':this.data.name,
+          'type':this.data.type,
+          'detailList':detailList
+        }
+        api.addMedicalName(params).then((res)=>{
+          const result = res.data;
+          if(result.code==0){
+            this.warning(res.data.msg||'操作成功','success');
+            this.$router.push({name:'MedicalName'});
+          }else{
+            this.warning(res.data.msg);
+          }
+        })
       }
     }
   }

+ 3 - 4
src/components/icss/MedicalName.vue

@@ -214,7 +214,6 @@
         e.preventDefault();
         let formData = new FormData();
         formData.append('uploadfile', fileInfo);
-        console.log(123,fileInfo,formData);
         const header = {
           headers:{
             'Content-Type': 'multipart/form-data'
@@ -226,6 +225,7 @@
               message: '上传成功',
               type: 'success',
             });
+            this.getDataList();
           }else{
             this.$message({
               message:res.data.msg,
@@ -233,11 +233,10 @@
             });
           }
         })
-        this.getDataList();
+        
         //解决上传相同文件不触发change
         let inp = document.getElementById("upFile");
-        inp.value = "";
-        
+        inp.value = "";   
       },
     }
   }