Browse Source

添加术语类型接口对接

zhouna 6 years ago
parent
commit
ca12a70806

+ 2 - 1
src/api/config.js

@@ -131,7 +131,8 @@ export default {
     'getConceptKnowledge':'/api/knowledgeman/Knowledge/getConceptKnowledge',//术语静态知识查询
     'getConceptInfo':'/api/knowledgeman/concept/getConceptInfo', //  搜索术语
     'saveConceptInfo':'/api/knowledgeman/Knowledge/upsertConceptKnowledge',   //保存术语静态知识
-    'delConceptInfo':'/api/knowledgeman/Knowledge/removeConceptKnowledge',   //删除术语静态知识
+    'delConceptInfo':'/api/knowledgeman/Knowledge/removeConceptKnowledge',   //删除术语静态知识,
+    'getAllType':'/api/knowledgeman/type/getAllType',//术语类型获取
 	},
 	menuIconList: { //菜单对应图标
 		'YH-KZT': 'el-icon-menu',

+ 3 - 0
src/api/icss.js

@@ -25,6 +25,9 @@ export default {
     getPrompDetail(param){
       return axios.post(urls.PromptInfoDetail,param);
     },
+    getAllType(){
+      return axios.post(urls.getAllType,{size:10});
+    },
     getTremList(param){
       return axios.post(urls.getConceptKnowledge,param);
     },

+ 46 - 4
src/components/icss/AddMedicinePrompt.vue

@@ -24,8 +24,20 @@
                 <el-form-item label="已选择术语标签:">
                     {{form.selectedTermName}}
                 </el-form-item>
+                <el-form-item label="选择类型:" props="type">
+                    <el-select  filterable
+                                remote
+                                clearable
+                                v-model="form.type"
+                                placeholder="搜索术语类型">
+                        <el-option v-for="it in termTypes" :label="it.name" :value="it.name" :key="it.id"></el-option>
+                    </el-select>
+                </el-form-item>
                 <el-form-item label="添加静态知识">
                 </el-form-item>
+                <el-form-item label="静态知识来源:" props="source">
+                    <el-input v-model="form.source"></el-input>
+                </el-form-item>
                 <InfoParagraph v-for="(f,i) in form.prags"
                                :data="f"
                                :index="i"
@@ -58,6 +70,7 @@
     data() {
       return {
         isEdit:false,
+        termTypes:[],
         terms:[],              //术语列表
         editData:{
           selectedTerm:'',
@@ -65,6 +78,8 @@
         },
         form:{
           selectedTerm:'',            //术语标签
+          type:'',
+          source:'',
           selectedTermName:'',
           prags:[{              //单个段落相关
             title:'',
@@ -75,6 +90,12 @@
             text:''}]
         },
         rules: {
+          source:[
+            { required: true, message: '请输入静态知识来源', trigger: 'change' }
+          ],
+          type:[
+            { required: true, message: '请选择术语类型', trigger: 'change' }
+          ],
           selectedTerm: [
             { required: true, message: '请选择术语标签', trigger: 'change' }
           ]
@@ -84,21 +105,42 @@
     watch:{
       'form.selectedTerm':function(newVal){
         const name = newVal.name;
-        this.editData.selectedTermName = name;
+        //this.editData.selectedTermName = name;
+        this.form.selectedTermName = name;
       }
     },
     created:function(){
       const {isEdit,data} = this.$route.params;
+      this.getTermTypes();
       if(isEdit){
         this.isEdit = isEdit;
+        api.getTremList({term:data.name,type:data.type}).then((res) => {
+          if (res.data.code == '0') {
+            const data = res.data.data;
+            this.form.prags=data.information&&data.information.map((it)=>{
+              return {title:it.title,position:this.mapStringToNum(it.position),content:it.content,isReason:it.isReason};
+            });
+            console.log(data)
+          }
+        }).catch((error) => {
+          console.log(error);
+        });
         this.form.selectedTermName = data.name;
-        this.form.prags[0].content = data.content;
-        this.form.prags[0].position=this.mapStringToNum(data.position);
-        this.form.prags[0].title = data.title;
       }
     },
     methods: {
       back() { this.$router.go(-1) },
+      async getTermTypes(){
+        let types = localStorage.getItem('termTypes');
+        if(!types){
+          types = await api.getAllType();
+          if(types.data.code=='0'){
+            this.termTypes = types.data.data.records;
+          }
+        }else{
+          this.termTypes = JSON.parse(types).records;
+        }
+      },
       searchTerms(query){
         //搜索术语列表
         api.getConceptInfo({term:query,type:''}).then((res) =>{

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

@@ -39,8 +39,9 @@
           config:{
             initialFrameWidth: null,
             initialFrameHeight: 350,
-            imageUrlPrefix:"http://192.168.2.236:82",
-            serverUrl: '/api/icssman/file/uploadImage',
+            serverUrl: 'http://192.168.2.236/api/icssman/file/uploadImage',
+            //imageUrlPrefix:"http://192.168.2.236:82",
+            //serverUrl:'/api/icssman/file/uploadImage',
             UEDITOR_HOME_URL: '/UEditor/',        //静态文件路径
             toolbars:[['source','undo','redo','bold','italic','underline','fontborder','strikethrough','superscript','subscript','removeformat','formatmatch','autotypeset','blockquote',
               'pasteplain','forecolor','backcolor','insertorderedlist','insertunorderedlist','selectall',
@@ -78,7 +79,7 @@
       //显示位置枚举列表
       const pos = localStorage.getItem("icssEnumsData");
       this.positions = JSON.parse(pos)&&JSON.parse(pos).introducePositionEnum;
-      this.form = this.data;console.log(this.isEdit)
+      this.form = this.data;
     },
     methods:{
       addEmit(){

+ 28 - 11
src/components/icss/MedicinePrompt.vue

@@ -2,12 +2,14 @@
     <div>
         <crumbs title="医学术语静态知识维护">
             <el-form :inline="true" class="demo-form-inline">
-                <el-form-item label="静态知识名称:">
-                    <el-input size="mini" v-model="filter.name" placeholder="静态知识名称" clearable></el-input>
-                </el-form-item>
-                <el-form-item label="标签系统名称:">
+                <el-form-item label="术语标签:">
                     <el-input size="mini" v-model="filter.term" placeholder="术语标签" clearable></el-input>
                 </el-form-item>
+                <el-form-item label="术语类型:">
+                    <el-select size="mini" v-model="filter.type" placeholder="术语类型" clearable>
+                        <el-option v-for="it in termTypes" :label="it.name" :value="it.name" :key="it.id"></el-option>
+                    </el-select>
+                </el-form-item>
                 <el-form-item>
                     <el-button size="mini" @click="filterDatas">确认</el-button>
                     <router-link to="/admin/LT-YXSYKWH-TJYXSYJTZS" style="margin:0 10px">
@@ -36,6 +38,11 @@
                         prop="name"
                         label="医学标准术语">
                 </el-table-column>
+                <el-table-column
+                        prop="type"
+                        label="术语类型"
+                        width="240">
+                </el-table-column>
                 <el-table-column
                         prop="title"
                         label="静态知识名称"
@@ -77,6 +84,7 @@
     name: 'MedicinePrompt',
     data: function () {
       return {
+        termTypes:[],
         list: [],
         cacheData: {},
         currentPage: 1,
@@ -85,15 +93,27 @@
         linkIn:[],
         pays:[],
         filter: {
-          name: '',
-          tagName:''
+          term: '',
+          type:''
         }
       }
     },
     created() {
       this.getDataList();
+      this.getTermTypes();
     },
     methods: {
+      async getTermTypes(){
+        let types = localStorage.getItem('termTypes');
+        if(!types){
+          types = await api.getAllType();
+          if(types.data.code=='0'){
+            this.termTypes = types.data.data.records;
+          }
+        }else{
+          this.termTypes = JSON.parse(types).records;
+        }
+      },
       toEditProduct(row){
         this.$router.push({
           name:'AddMedicinePrompt',
@@ -106,9 +126,6 @@
       },
       getDataList() {
         const param = this.getFilterItems();
-        // const param = {
-        //   'name':''
-        // };
         api.getConceptKnowledgeList(param).then((res) => {
           if (res.data.code == '0') {
             const data = res.data.data;
@@ -126,8 +143,8 @@
       },
       getFilterItems() {
         const param = {
-          term:this.filter.name,
-          conecpt_name:this.filter.term,
+          term:this.filter.term,
+          type:this.filter.type,
           current: this.currentPage,
           size: this.pageSize
         };