浏览代码

Merge branch 'ChronicMag_zxc' into dev

Luolei 6 年之前
父节点
当前提交
b14b0c2dd2

+ 10 - 6
src/api/config.js

@@ -180,12 +180,12 @@ export default {
     'getTypeList': 'api/knowledgeman/lexicon/getLexiconList', //术语类型-列表
     'addType': 'api/knowledgeman/lexicon/addLexicon', //术语类型-添加
     'getAllLisConcept':'api/knowledgeman/concept/getAllLisConcept',  //医学数据-化验大小项与公表项维护-获取所有化验公表项
-    'queryIndexConfigPages':'api/icssman/indexConfig/queryIndexConfigPages',  //医学数据-慢病指标值关联维护-列表
-    'getIndexConfigLists':'api/icssman/indexConfig/getIndexConfigLists',  //医学数据-慢病指标值关联维护-获取慢病指标值关联
-    'cancelIndexConfigAlls':'api/icssman/indexConfig/cancelIndexConfigAlls',  //医学数据-慢病指标值关联维护-删除慢病指标值关联
-    'saveIndexConfigLists':'api/icssman/indexConfig/saveIndexConfigLists',  //医学数据-慢病指标值关联维护-添加关联
-    'updateIndexConfigList':'api/icssman/indexConfig/updateIndexConfigList',  //医学数据-慢病指标值关联维护-修改关联
-    'queryIndexConfigDiseaseNames':'api/icssman/indexConfig/queryIndexConfigDiseaseNames',  //医学数据-慢病指标值关联维护-慢病指标疾病标签查询
+    'queryIndexConfigPages':'api/knowledgeman/indexConfig/queryIndexConfigPages',  //医学数据-慢病指标值关联维护-列表
+    'getIndexConfigLists':'api/knowledgeman/indexConfig/getIndexConfigLists',  //医学数据-慢病指标值关联维护-获取慢病指标值关联
+    'cancelIndexConfigAlls':'api/knowledgeman/indexConfig/cancelIndexConfigAlls',  //医学数据-慢病指标值关联维护-删除慢病指标值关联
+    'saveIndexConfigLists':'api/knowledgeman/indexConfig/saveIndexConfigLists',  //医学数据-慢病指标值关联维护-添加关联
+    'updateIndexConfigList':'api/knowledgeman/indexConfig/updateIndexConfigList',  //医学数据-慢病指标值关联维护-修改关联
+    'queryIndexConfigDiseaseNames':'api/knowledgeman/indexConfig/queryIndexConfigDiseaseNames',  //医学数据-慢病指标值关联维护-慢病指标疾病标签查询
     'getDisScaleAllInfo':'api/icssman/disScale/getDisScaleAllInfo',  //医学数据-诊断量表关联维护-列表
     'addDisScaleInfo':'api/icssman/disScale/addDisScaleInfo',  //医学数据-诊断量表关联维护-添加和修改
     'getDisScaleByDisId':'api/icssman/disScale/getDisScaleByDisId',  //医学数据-诊断量表关联维护-根据诊断id获取诊断量表关联信息(修改回读用)
@@ -206,6 +206,10 @@ export default {
     'getConceptRelationDet': 'api/knowledgeman/relationContact/relationContactDetail',  //术语关联维护-详情
     'addConceptRelation': 'api/knowledgeman/relationContact/addRelation',  //术语关联维护-添加
     'delConceptRelation': 'api/knowledgeman/relationContact/removeRelationContact',  //术语关联维护-删除/恢复
+    'multContactList': 'api/knowledgeman/multContact/multContactList', //知识库标准化-医学术语多层关联维护-列表
+    'removeRelationContact': 'api/knowledgeman/multContact/removeRelationContact', //知识库标准化-医学术语多层关联维护-删除或者恢复
+    'relationContactDetail': 'api/knowledgeman/multContact/relationContactDetail', //知识库标准化-医学术语多层关联维护-详情
+    'addRelation': 'api/knowledgeman/multContact/addRelation', //知识库标准化-医学术语多层关联维护-添加或者编辑
 	},
 	menuIconList: { //菜单对应图标
 		'YH-KZT': 'el-icon-menu',

+ 12 - 0
src/api/icss.js

@@ -397,4 +397,16 @@ export default {
     delConceptRelation(param) {
         return axios.post(urls.delConceptRelation, param)    //术语关联-删除/恢复
     },
+    multContactList(param) {    //知识库标准化-医学术语多层关联维护-列表
+        return axios.post(urls.multContactList, param)
+    },
+    removeRelationContact(param) {    //知识库标准化-医学术语多层关联维护-删除或者恢复
+        return axios.post(urls.removeRelationContact, param)
+    },
+    relationContactDetail(param) {    //知识库标准化-医学术语多层关联维护-详情
+        return axios.post(urls.relationContactDetail, param)
+    },
+    addRelation(param) {    //知识库标准化-医学术语多层关联维护-添加或者编辑
+        return axios.post(urls.addRelation, param)
+    }
 }

+ 13 - 13
src/components/icss/AddChronicAndIndexRelation.vue

@@ -8,10 +8,10 @@
         <crumbs
           :title="'慢病指标值关联维护-'+titleText"
           class="topBack"
-          linkTo="/admin/LT-YXSJWH-MBZBZGLWH"
+          linkTo="/admin/LT-YXSYKWH-MBZBZGLWH"
         ></crumbs>
         <el-form :model="form" ref="ruleForm"  class="addDepartForm">
-            <el-form-item  class="addDepartFormItem"  v-if="!isEdit" label="选择诊断标签:" prop="department">
+            <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">
@@ -25,7 +25,7 @@
                     </li>
                 </ul>
             </el-form-item>
-             <el-form-item class="isRequired" label="已选择诊断:" prop="type">
+             <el-form-item class="isRequired" label="已选择慢病标准术语:" prop="type">
                 {{form.diseaseName}}
             </el-form-item>
         </el-form>
@@ -40,7 +40,7 @@
                         class="diagItem ellipsis"
                         :title="item.conceptName"
                         @click="selectIndex(item)"
-                        :key="item.conceptName">
+                        :key="item.conceptId">
                         {{item.conceptName}}
                         </li>
                     </ul>
@@ -49,12 +49,12 @@
                 
                 <tr>
                     <td class="selectedContent">已选择内容</td>
-                    <td class="selectedContentGrop">已选内容分组(只可输入数字,相同数字归为一组展示)</td>
+                    <td class="selectedContentGroup">已选内容分组(只可输入数字,相同数字归为一组展示)</td>
                     <td class="selectedContentOpera">操作</td>
                 </tr>
                 <tr v-for="(item, index) in selectedIndexList" :key="item.indexUnique"> 
                     <td class="selectedContent ">{{item.indexUnique}}</td>
-                    <td class="selectedContentGrop"><input class="groupInput" type="number" v-model="item.indexDesc"></td>
+                    <td class="selectedContentGroup"><input class="groupInput" type="number" @input="handleInputGroup" v-model="item.indexDesc" ></td>
                     <td class="selectedContentOpera"><el-button type="text" size="small" class="delete" @click="delSelectedIndex(item, index)">删除</el-button></td>
                 </tr>
             </table>
@@ -120,8 +120,8 @@
         close() {
             this.diagList = [];
             this.indexList = [];
-            this.$refs['diagList'].style.display = 'none';
-            this.$refs['indexList'].style.display = 'none';
+            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);
@@ -172,7 +172,7 @@
             })
         },
         selectIndex(item) {
-            this.selectedIndexList.push({indexUnique: item.conceptName, indexDesc:''})
+            this.selectedIndexList.push({indexUnique: item.conceptName, conceptId: item.conceptId, indexDesc:''})
             this.selectedIndexMap.push(item.conceptName)
             this.indexList = []
             this.$refs['indexList'].style.display='none'
@@ -214,7 +214,7 @@
                     this.warning(res.data.msg || '关联成功', 'success','1000')
                     setTimeout(() => {
                     this.$router.push({
-                        path:'/admin/LT-YXSJWH-MBZBZGLWH'
+                        path:'/admin/LT-YXSYKWH-MBZBZGLWH'
                     })
                     }, 1000);
                 } else {
@@ -286,8 +286,8 @@
             width: 162px;
             max-height: 150px;
             border: 1px solid #a9a9a9;
-            left: 110px;
-            top: 35px;
+            left: 209px;
+            top: 37px;
             z-index: 2;
             overflow-y: auto;
         }
@@ -336,7 +336,7 @@
             .selectedContent {
                 width: 25%;
             }
-            .selectedContentGrop {
+            .selectedContentGroup {
                 width: 55%;
             }
             .selectedContentOpera {

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


+ 9 - 0
src/components/icss/IndeptLabel.vue

@@ -54,6 +54,15 @@
                         prop="tagName"
                         label="标签系统名称">
                 </el-table-column>
+                <el-table-column
+                    :resizable = "false"
+                    label="标签名称是否存在于标准术语中">
+                    <template slot-scope="scope">
+                        <span v-if="scope.row.itemType == 0">
+                            {{scope.row.exist ? "已存在" : "未存在"}}
+                        </span>
+                    </template>
+                </el-table-column>
                 <el-table-column
                         :resizable = "false"
                         prop="modifier"

+ 10 - 1
src/components/icss/LabelGroup.vue

@@ -54,6 +54,15 @@
                     prop="tagName"
                     label="标签系统名称">
                 </el-table-column>
+                <el-table-column
+                    :resizable = "false"
+                    label="标签名称是否存在于标准术语中">
+                    <template slot-scope="scope" >
+                        <span v-if="scope.row.itemType == 0">
+                            {{scope.row.exist ? "已存在" : "未存在"}}
+                        </span>
+                    </template>
+                </el-table-column>
                 <el-table-column
                     :resizable = "false"
                     prop="modifier"
@@ -125,7 +134,7 @@ export default {
     },
     methods: {
         getValue(val) {
-            console.log('changeVal', val, this.filter.tagAdscription)
+            // console.log('changeVal', val, this.filter.tagAdscription)
         },
         getDropList() {
             return api.getDropList().then((res) =>{

+ 256 - 0
src/components/icss/MedicalMultRelation.vue

@@ -0,0 +1,256 @@
+<template>
+    <div>
+        <crumbs title="医学术语多层关联维护" minWidth="995px">
+            <el-form :inline="true" class="demo-form-inline">
+                <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>
+                    <router-link to="/admin/LT-YXSYKWH-TJYXSYDCGL" style="margin:0 10px">
+                        <el-button size="mini" type="warning">添加</el-button>
+                    </router-link>
+                </el-form-item>
+            </el-form>
+        </crumbs>
+        <div class="contents">
+            <el-table :data="list"
+                      border
+                      style="width: 100%">
+                <el-table-column
+                        type="index"
+                        :index="indexMethod"
+                        label="编号"
+                        width="60">
+                </el-table-column>
+                <el-table-column
+                        prop="operTime"
+                        label="操作时间"
+                        :show-overflow-tooltip="true">
+                </el-table-column>
+                <el-table-column
+                        prop="libNameType"
+                        label="医学标准术语"
+                        show-overflow-tooltip>
+                </el-table-column>
+                <el-table-column
+                        prop="otherNames"
+                        label="一级关联标准术语"
+                        show-overflow-tooltip>
+                </el-table-column>
+                <el-table-column
+                        label="状态">
+                        <template slot-scope="scope">
+                          <span :class="scope.row.isDeleted == 'N'?'':'delete'">
+                            {{scope.row.isDeleted == 'N'?'启用中':'已删除'}}
+                          </span>
+                        </template>
+                </el-table-column>
+                <el-table-column
+                        prop="operName"
+                        label="操作人">
+                </el-table-column>
+                
+                <el-table-column
+                        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>
+                    </template>
+                </el-table-column>
+            </el-table>
+            <el-pagination v-if="total>pageSize"
+                           :current-page.sync="currentPage"
+                           @current-change="currentChange"
+                           background
+                           :page-size="pageSize"
+                           layout="total,prev, pager, next, jumper"
+                           :total="total">
+            </el-pagination>
+        </div>
+
+    </div>
+</template>
+
+<script>
+  import api from '@api/icss.js';
+  export default {
+    name: 'MedicalName',
+    data: function () {
+      return {
+        list: [],
+        stateSelect:[
+          {id:'N',name:'启用中'},
+          {id:'Y',name:'已删除'},
+        ],
+        isState:'',
+        cacheData: {},
+        currentPage: 1,
+        pageSize: 10,
+        total: 0,
+        filter: {
+          term:'',
+          type:''
+        },
+        typeList:[]
+      }
+    },
+    created() {
+      this.getDataList();
+      this.getTypeList();
+    },
+    methods: {
+      toEditProduct(row){
+        this.$router.push({
+          name:'AddMedicalMultRelation',
+          // params: {info:row}
+          params: {id:row.conceptId}
+        })
+      },
+      filterDatas(){
+        this.currentPage = 1;
+        this.getDataList();
+      },
+      getDataList() {
+        const param = this.getFilterItems();
+        api.multContactList(param).then((res) => {
+          if (res.data.code == '0') {
+            const data = res.data.data;
+            this.list = data.records;
+            this.cacheData[param.current] = data.records;
+            this.total = data.total;
+          }
+        }).catch((error) => {
+          console.log(error);
+        });
+      },
+      getTypeList(){
+        api.allKnowledgeType({'name':''}).then((res)=>{
+          const data = res.data;
+          if(data.code==0){
+            this.typeList = data.data;
+          }else{
+            console.log(res.msg);
+          }
+        }).catch((error) => {
+          console.log(error);
+        });
+      },
+      /*getDetailList(id) {
+        this.$router.push({name:'DeptInfoDetail', params:{id: id}})
+      },*/
+      getFilterItems() {
+        const param = {
+          name: this.filter.term,
+          current: this.currentPage,
+          size: this.pageSize,
+          type:this.filter.type,
+          isDeleted:this.isState
+        };
+        return param;
+      },
+      indexMethod(index) {
+        return ((this.currentPage - 1) * this.pageSize) + index + 1;
+      },
+      currentChange(next) {
+        this.currentPage = next;
+        if (this.cacheData[next]) {       //如果已请求过该页数据,则使用缓存不重复请求
+          this.list = this.cacheData[next];
+        } else {
+          this.getDataList();
+        }
+      },
+      warning(msg,type){
+        this.$message({
+          showClose: true,
+          message:msg,
+          type:type||'warning'
+        })
+      },
+      showConfirmDialog(msg,resolve){
+        this.$alert(msg, '提示', {
+          confirmButtonText: '确定',
+          type: 'warning'
+        }).then(() => {
+          resolve();
+        }).catch(() => {});
+      },
+      showDelDialog(item){
+        /*const param = {
+          term:item.term,
+          type:item.type,
+          id:item.id
+        }*/
+        const param = {
+          conceptId:item.conceptId,
+          isDeleted:item.isDeleted === 'N'?'Y':'N'
+        }
+        let waringTxt = (item.isDeleted === 'N'?'是否删除该标准术语?':'是否重新启用该条数据?')
+        this.showConfirmDialog(waringTxt,()=>{
+          api.deletMedicalName(param).then((res)=>{
+            if(res.data.code=='0'){
+              this.warning(res.data.msg||'操作成功','success');
+              this.getDataList();
+            }else{
+              this.warning(res.data.msg);
+            }
+          }).catch((error)=>{
+            this.warning(error);
+          })
+        });
+      },
+      uploadClick(){
+        let inp = document.getElementById("upFile");
+        inp.click();
+      },
+      uploadFile(e){
+        let fileInfo = e.target.files[0];
+        e.preventDefault();
+        let formData = new FormData();
+        formData.append('uploadfile', fileInfo);
+        const header = {
+          headers:{
+            'Content-Type': 'multipart/form-data'
+          }
+        }
+        api.knowledgeUpload(formData,header).then((res)=>{
+          if(res.data.code==0){
+            this.$message({
+              message: '上传成功',
+              type: 'success',
+            });
+            this.getDataList();
+          }else{
+            this.$message({
+              dangerouslyUseHTMLString: true,
+              message:res.data.msg,
+              type:'warning'
+            });
+          }
+        })
+        
+        //解决上传相同文件不触发change
+        let inp = document.getElementById("upFile");
+        inp.value = "";   
+      },
+    }
+  }
+</script>
+
+<style lang="less" scoped>
+    @import "../../less/admin.less";
+    .delete{
+        color: red;
+    }
+    .review{
+      color: #22ccc8;
+    }
+    .el-table .cell{
+      overflow: hidden;
+      white-space: nowrap;
+    }
+    #upFile{
+      display: none !important;
+    }
+</style>

+ 5 - 1
src/routes.js

@@ -69,7 +69,6 @@ import ChronicDiseaseStructureList from '@components/icss/ChronicDiseaseStructur
 import ChronicDiseaseAdd from '@components/icss/ChronicDiseaseAdd.vue'; //量表结构维护 -- 添加
 import ChronicDiseaseManage from '@components/icss/ChronicDiseaseManage.vue'; //慢病管理评估维护 -- 列表
 import ChronicDiseaseManageAdd from '@components/icss/ChronicDiseaseManageAdd.vue'; //慢病管理评估维护 -- 添加
-
 import ChemicalAndCommonMapping from '@components/icss/ChemicalAndCommonMapping.vue'; //化验大小项与公表维护
 import AddChemicalAndCommonMapping from '@components/icss/AddChemicalAndCommonMapping.vue'  //化验大小项与公表维护--添加关联
 import ChronicAndIndexRelation from '@components/icss/ChronicAndIndexRelation.vue'  //医学数据--慢病指标值关联维护
@@ -83,6 +82,8 @@ import AddConceptRelation from '@components/icss/AddConceptRelation.vue'  //医
 
 
 
+import MedicalMultRelation from '@components/icss/MedicalMultRelation.vue'  //医学术语--医学术语多层关联维护
+import AddMedicalMultRelation from '@components/icss/AddMedicalMultRelation.vue' //医学术语--添加医学术语多层关联维护
 import MedicalType from '@components/icss/MedicalType.vue'//医学术语维护-类型维护
 export default [
   {
@@ -232,6 +233,9 @@ export default [
       {path:'LT-YXSYKWH-YXSYGLWH',component:ConceptRelation,name:'ConceptRelation'},     //医学数据--医学术语关联维护   
       // {path:'LT-YXSYKWH-YXSYLXWH',component:ConceptRelation,name:'ConceptRelation'},     //医学数据--医学术语关联维护   
       {path:'LT-YXSYKWH-TJYXSYGL',component:AddConceptRelation,name:'AddConceptRelation'},     //医学数据--医学术语关联维护-添加修改   
+
+      {path:'LT-YXSYKWH-YXSYDCGLWH',component:MedicalMultRelation,name:'MedicalMultRelation'},   //医学术语--医学术语多层关联维护
+      {path:'LT-YXSYKWH-TJYXSYDCGL',component:AddMedicalMultRelation,name:'AddMedicalMultRelation'},   //医学术语--添加医学术语多层关联
     ]
   }
 ]