Przeglądaj źródła

术语集合内容维护

wyq 4 lat temu
rodzic
commit
ea7c2e0e27

+ 7 - 1
src/api/config.js

@@ -621,7 +621,13 @@ export default {
     'saveOrUpdate': '/api/cdssman/klDrugRegister/saveOrUpdate',
     'getByParam': '/api/cdssman/klDrugRegister/getByParam',
     'paramDelete': '/api/cdssman/klDrugRegister/delete',
-    'klRegulation': '/api/cdssman/klRegulation/index'
+    'klRegulation': '/api/cdssman/klRegulation/index',
+    //术语集合
+    'getConceptPage': '/api/cdssman/kl/conceptCollection/getPage',
+    'getRecordById': '/api/cdssman/kl/conceptCollection/getRecordById',
+    'searchConcept': '/api/cdssman/klDisease/searchConcept',
+    'deleteById': '/api/cdssman/kl/conceptCollection/deleteById',
+    'saveOrUpdateRecord': '/api/cdssman/kl/conceptCollection/saveOrUpdateRecord',
 
   },
   menuIconList: { //菜单对应图标

+ 40 - 18
src/api/knowledgeLib.js

@@ -3,34 +3,56 @@ import config from '@api/config.js';
 
 const urls = config.urls;
 export default {
-    getRulesList(param){
-        return axios.post(urls.zskRuleList,param);
+
+    getRulesList(param) {
+        return axios.post(urls.zskRuleList, param);
     },
-    getTypesList(param){
-        return axios.post(urls.zskTypeList,param);
+    getTypesList(param) {
+        return axios.post(urls.zskTypeList, param);
     },
-    deleteRule(param){
-        return axios.post(urls.zskDelRule,param);
+    deleteRule(param) {
+        return axios.post(urls.zskDelRule, param);
     },
-    deleteRuleApply(param){
-        return axios.post(urls.zskDisableRule,param);
+    deleteRuleApply(param) {
+        return axios.post(urls.zskDisableRule, param);
     },
-    ruleDetail(param){
-        return axios.post(urls.zskRuleDetail,param);
+    ruleDetail(param) {
+        return axios.post(urls.zskRuleDetail, param);
     },
-    searchConcept(param){
-        return axios.post(urls.zskSearchConcept,param);
+    searchConcept(param) {
+        return axios.post(urls.zskSearchConcept, param);
     },
-    saveRule(param){
-        return axios.post(urls.zskAddRule,param);
+    saveRule(param) {
+        return axios.post(urls.zskAddRule, param);
     },
-    saveRuleApply(param){
-        return axios.post(urls.zskActiveRule,param);
+    saveRuleApply(param) {
+        return axios.post(urls.zskActiveRule, param);
     },
     zskUpdateAll() {    //更新数据
         return axios.post(urls.zskUpdateAll)
     },
-    zskgetDict(){
+    zskgetDict() {
         return axios.post(urls.zskgetDict)
-    }
+    },
+    //术语集合
+    getConceptPage(param) {
+        return axios.post(urls.getConceptPage, param);
+    },
+    getRecordById(param) {
+        return axios.post(urls.getRecordById, param);
+    },
+    getTreeSearchList(param) {
+        return axios.post(urls.searchTreeItem, param);
+    },
+    getSearchConcept(param) {
+        return axios.post(urls.searchConcept, param);
+    },
+    deleteById(param) {
+        return axios.post(urls.deleteById, param);
+    },
+    
+    saveOrUpdateRecord(param) {
+        return axios.post(urls.saveOrUpdateRecord, param);
+    },
+    
 }

+ 440 - 0
src/components/knowledgeExtra/AddTermSet.vue

@@ -0,0 +1,440 @@
+<style lang="less" scoped>
+// @import "../../less/admin.less";
+#AddRuleContent {
+  width: 100%;
+  min-width: 1000px;
+  padding: 20px;
+  padding-top: 50px;
+  padding-bottom: 0;
+  box-sizing: border-box;
+  .form{
+    width: 100%;
+  }
+  .remark{
+    position: relative;
+    left: 40px;
+    top: -10px;
+  }
+  .table_form {
+    width: 100%;
+    box-sizing: border-box;
+    background: #fff;
+    padding: 20px;
+    padding-bottom: 0;
+    display: flex;
+    flex-wrap: wrap;
+  }
+  .table_content {
+    min-height: 200px;
+    height: calc(100vh - 264px);
+    margin-top: 10px;
+    display: flex;
+    justify-content: space-between;
+    .table_left {
+      flex: 1;
+      margin-right: 10px;
+      background: #ffffff;
+      padding: 0 50px;
+
+      .left_box {
+        margin: 30px 0;
+        overflow: hidden;
+        overflow-y: auto;
+        height: calc(100vh - 364px);
+      }
+      .tabs {
+        float: left;
+        max-width: 49%;
+        min-width: 49%;
+      }
+      .form_btn {
+        display: flex;
+        justify-content: flex-end;
+      }
+    }
+    .table_right {
+      width: 300px;
+      background: #ffffff;
+    }
+  }
+  /deep/ .el-input--mini .el-input__inner,
+  .el-select {
+    width: 100%;
+    font-size: 14px;
+  }
+  /deep/ .el-form-item.is-success .el-input__inner,
+  .el-form-item.is-success .el-textarea__inner {
+    border-color: #c9c9c9 !important;
+  }
+  /deep/ .el-form-item.is-success .el-textarea__inner {
+    border-color: #c9c9c9 !important;
+  }
+  /deep/ .el-form-item.is-success .el-textarea__inner {
+    border-color: #c9c9c9 !important;
+  }
+  .conceptSearch {
+    width: 100%;
+    text-align: center;
+    z-index: 2;
+    padding: 30px;
+    box-sizing: border-box;
+    .conceptTitle {
+      width: 100%;
+      text-align: center;
+      padding: 20px 0;
+    }
+    .searchText {
+      padding: 0 35px 0 15px;
+      width: 100%;
+      height: 34px;
+      border: 1px solid #c9c9c9;
+      box-sizing: border-box;
+    }
+    .conceptList {
+      min-height: 200px;
+      max-height: 300px;
+      margin: -2px auto 0;
+      border: 1px solid #e1dfdf;
+      overflow: hidden;
+      overflow-y: auto;
+    }
+    .conceptItem {
+      height: 34px;
+      line-height: 34px;
+      text-align: left;
+      padding: 0 15px;
+      cursor: pointer;
+    }
+    .conceptItem:hover {
+      background: #f5f7fa;
+    }
+    .searchWrap {
+      position: relative;
+      .search {
+        position: absolute;
+        right: 7px;
+        top: 8px;
+      }
+    }
+  }
+  .noresult {
+    padding: 20px 0;
+    color: #ccc;
+  }
+}
+</style>
+<template>
+  <div>
+    <crumbs :title="title" :param="$route.params" linkTo="TermSet"></crumbs>
+    <div id="AddRuleContent">
+      <div class="table_form">
+        <el-form size="mini" :inline="true" class="demo-form-inline form" :model="form" :rules="rules">
+          <el-form-item label-width="130px" label="术语集合类型:" prop="collectionLibType">
+            <el-select
+              v-model="form.collectionLibType"
+              placeholder="请选择"
+              @change="getConceptLibType"
+            >
+              <el-option
+                v-for="item in ruleTypeList"
+                :key="item.val"
+                :label="item.name"
+                :value="item.val"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+          <!-- 规则术语类型: -->
+          <el-form-item label-width="130px" label="术语集合名称:" prop="collectionLibName">
+            <el-select
+              clearable
+              remote
+              filterable
+              v-model.trim="form.collectionLibName"
+              placeholder="请输入"
+              :remote-method="searchLibName"
+              @change="getCollectionLib"
+            >
+              <el-option
+                v-for="item in ruleTermTypeList"
+                :key="item.conceptId"
+                :label="item.conceptName"
+                :value="item"
+              ></el-option>
+            </el-select>
+          </el-form-item>
+        </el-form>
+        <div class="remark">说明:{{form.collectionRemark}}</div>
+      </div>
+      <div class="table_content" v-if="onshow">
+        <div class="table_left">
+          <div class="left_box">
+            <el-table
+              v-if="firstList.length>0"
+              :data="firstList"
+              border
+              class="tabs"
+              :header-row-style="{height:'40px'}"
+              :header-cell-style="{height:'40px',padding:'0',background:'#f7f7f7'}"
+            >
+              <el-table-column prop="conceptLibName" :show-overflow-tooltip="true" label="术语名称"></el-table-column>
+              <el-table-column label="操作" fixed="right">
+                <template slot-scope="scope">
+                  <el-button
+                    type="text"
+                    size="small"
+                    class="delete"
+                    @click="showDelDialog(scope.row)"
+                  >移除</el-button>
+                </template>
+              </el-table-column>
+            </el-table>
+            <el-table
+              v-if="lastList.length>0"
+              :data="lastList"
+              border
+              class="tabs"
+              :header-row-style="{height:'40px'}"
+              :header-cell-style="{height:'40px',padding:'0',background:'#f7f7f7'}"
+            >
+              <el-table-column prop="conceptLibName" :show-overflow-tooltip="true" label="术语名称"></el-table-column>
+              <el-table-column label="操作" fixed="right">
+                <template slot-scope="scope">
+                  <el-button
+                    type="text"
+                    size="small"
+                    class="delete"
+                    @click="showDelDialog(scope.row)"
+                  >移除</el-button>
+                </template>
+              </el-table-column>
+            </el-table>
+          </div>
+
+          <div class="form_btn">
+            <el-button type="primary" size="medium " @click="saveSet">确定</el-button>
+          </div>
+        </div>
+        <div class="table_right">
+          <div class="conceptSearch" ref="conceptSearch">
+            <h4 class="conceptTitle">添加关联术语</h4>
+            <p class="searchWrap">
+              <img class="search" src="../../images/search.png" alt="搜索" />
+              <input
+                v-model.trim="conceptText"
+                @input="searchConcept"
+                type="text"
+                ref="conceptInput"
+                class="searchText"
+                placeholder="请输入关键词搜索"
+              />
+            </p>
+            <ul class="conceptList" ref="conceptList">
+              <li
+                v-for="item in conceptList"
+                class="conceptItem ellipsis"
+                :title="item.conceptName"
+                @click="selectConcept(item)"
+                :key="item.conceptId"
+              >{{item.conceptName}}</li>
+              <li class="noresult" v-if="conceptList.length==0">暂无结果~</li>
+            </ul>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+<script type="text/javascript">
+import api from '@api/knowledgeLib.js';
+import AddNewRuleTable from './AddNewRuleTable';
+export default {
+  name: 'AddRule',
+  data() {
+    return {
+      title: '术语集合内容维护-添加',
+      ruleTypeList: [],
+      ruleTermTypeList: [],
+      conceptList: [],
+      conceptText: [],
+      excludedConceptIds: [],
+      type: [],
+      firstList: [],
+      lastList: [],
+      sign:1,
+      form: {
+        collectionLibType: '',
+        collectionLibName: '',
+        concepts: [],
+        conceptLibType: '',
+        collectionRemark:'',
+        collectionId: ''
+      },
+      rules: {
+        collectionLibType: [
+          { required: true, message: '请选择术语集合类型', trigger: 'change' }
+        ],
+        collectionLibName: [
+          { required: true, message: '请选择术语集合名称', trigger: 'change' }
+        ]
+      }
+    };
+  },
+  created() {
+    this.getDict();
+    const param = this.$route.params;
+    let info = param.data;
+    if (info) {
+      this.title = '术语集合内容维护-' + '修改';
+      this.form.collectionLibType = JSON.stringify(info.collectionLibType);
+      this.form.collectionLibName = info.collectionLibName;
+      this.form.concepts = info.concepts;
+      this.form.conceptLibType = info.concepts[0].conceptLibType;
+      this.form.collectionId = info.collectionId;
+      this.form.collectionRemark = info.collectionRemark
+      this.sign = 2
+      this.$nextTick(() => {
+        this.getList();
+        this.getIds(this.form.concepts);
+      });
+    }
+  },
+  methods: {
+    getDict() {
+      api
+        .zskgetDict()
+        .then(res => {
+          if (res.data.code == '0') {
+            const data = res.data.data;
+            this.ruleTypeList = data[63];
+            this.type = data[61];
+          }
+        })
+        .catch(error => {
+          console.log(error);
+        });
+    },
+    //过滤集合id
+    getIds(arr) {
+      arr.forEach((item, index) => {
+        this.excludedConceptIds.push(item.conceptId);
+      });
+    },
+    //获取术语集合名称
+    searchLibName(val) {
+      api
+        .getSearchConcept({
+          excludedConceptIds: [0],
+          libType: this.form.collectionLibType,
+          name: val,
+          sign:this.sign
+        })
+        .then(res => {
+          if (res.data.code == '0') {
+            const data = res.data.data;
+            this.ruleTermTypeList = data;
+          }
+        })
+        .catch(error => {
+          console.log(error);
+        });
+    },
+    getCollectionLib(newValue) {
+      this.form.collectionLibName = newValue.conceptName;
+      this.form.collectionId = newValue.conceptId;
+      this.form.collectionRemark = newValue.remark;
+    },
+    // 基础术语
+    searchConcept() {
+      const params = {
+        typeId: this.form.conceptLibType,
+        name: this.conceptText,
+        excludedConceptIds: this.excludedConceptIds
+      };
+      api.getTreeSearchList(params).then(res => {
+        const { data } = res;
+        if (data.code == '0') {
+          this.conceptList = data.data;
+        }
+      });
+    },
+    // 选择基础术语
+    selectConcept(item) {
+      let concepts = {
+        conceptId: item.conceptId,
+        conceptLibType: item.conceptNameType,
+        conceptLibName: item.conceptName
+      };
+      this.excludedConceptIds.push(item.conceptId);
+      this.form.concepts.push(concepts);
+      this.getList();
+      this.$nextTick(() => {
+        this.searchConcept();
+      });
+    },
+    getConceptLibType() {
+      this.type.forEach(it => {
+        let id = it.val.split('-');
+        if (this.form.collectionLibType == id[0]) {
+          this.form.conceptLibType = id[2];
+        }
+      });
+    },
+    // 移除术语
+    showDelDialog(row) {
+      this.form.concepts.forEach((item, index) => {
+        if (item.conceptId == row.conceptId) {
+          this.form.concepts.splice(index, 1);
+          this.excludedConceptIds.splice(index, 1);
+        }
+      });
+      this.searchConcept();
+      this.getList();
+    },
+    getchk(num) {
+      return num % 2 == 0 ? '偶数' : '奇数'; //判断是否能整除2
+    },
+    getList() {
+      let concepts = JSON.parse(JSON.stringify(this.form.concepts));
+      this.firstList = [];
+      this.lastList = [];
+      concepts.forEach((item, index) => {
+        if (this.getchk(index) == '偶数') {
+          this.firstList.push(item);
+        } else {
+          this.lastList.push(item);
+        }
+      });
+    },
+    saveSet() {
+      let params = {
+        ...this.form,
+        relationId: 0
+      };
+      api.saveOrUpdateRecord(params).then(res => {
+        if (res.data.code == 0) {
+          this.$message({
+            message: '操作成功',
+            type: 'success'
+          });
+          this.$router.push({
+            name: 'TermSet',
+            params: Object.assign({}, this.$route.params, { currentPage: 1 })
+          });
+        } else {
+          this.$message({
+            message: res.data.msg,
+            type: 'warning'
+          });
+        }
+      });
+    }
+  },
+  computed: {
+    onshow() {
+      return (
+        this.form.collectionLibType != '' && this.form.collectionLibName != ''
+      );
+    }
+  }
+};
+</script>

+ 352 - 0
src/components/knowledgeExtra/TermSet.vue

@@ -0,0 +1,352 @@
+<template>
+  <div>
+    <crumbs title="术语集合内容维护" :minWidth="titleWidth" class="knowledgeTitle">
+      <el-form :inline="true" class="demo-form-inline">
+        <el-form-item label="术语集合类型:">
+          <el-select v-model="filter.collectionLibType" clearable placeholder="请选择" size="mini">
+            <el-option
+              v-for="item in ruleTypeList"
+              :key="item.val"
+              :label="item.name"
+              :value="item.val"
+            ></el-option>
+          </el-select>
+        </el-form-item>
+        <el-form-item label="术语集合名称:">
+          <el-input size="mini" v-model="filter.collectionLibName" placeholder="请输入" clearable></el-input>
+        </el-form-item>
+        <el-form-item label="基础术语名称:">
+          <el-input size="mini" v-model="filter.conceptLibName" placeholder="请输入" clearable></el-input>
+        </el-form-item>
+      </el-form>
+      <el-form :inline="true" class="demo-form-inline secLine">
+        <el-form-item label="说明:">
+          <el-input size="mini" v-model="filter.collectionRemark" placeholder="请输入" clearable></el-input>
+        </el-form-item>
+        <el-form-item>
+          <el-button size="mini" @click="filterDatas">确认</el-button>
+        </el-form-item>
+        <el-form-item>
+          <el-button size="mini" @click="addRule" type="warning" style="margin:0 10px">+ 关联术语</el-button>
+        </el-form-item>
+      </el-form>
+    </crumbs>
+    <div class="contents knowledgeContents">
+      <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="collectionLibName" label="术语集合名称"></el-table-column>
+        <el-table-column prop="conceptLibName" label="术语集合类型">
+          <template slot-scope="scope">
+            <span
+              v-for="item in ruleTypeList"
+            >{{item.val==scope.row.collectionLibType?item.name:''}}</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="collectionRemark" label="说明"></el-table-column>
+        <el-table-column prop="concatConceptLibName" label="基础术语名称">
+          <template slot-scope="scope">
+            <el-tooltip
+              v-if="scope.row.concatConceptLibName.length>80"
+              class="item"
+              effect="dark"
+              :content="scope.row.concatConceptLibName"
+              placement="top"
+            >
+              <span>{{scope.row.concatConceptLibName.slice(0,80)+'...'}}</span>
+            </el-tooltip>
+            <span v-if="scope.row.concatConceptLibName.length<81">{{scope.row.concatConceptLibName}}</span>
+          </template>
+        </el-table-column>
+        <el-table-column label="操作" fixed="right">
+          <template slot-scope="scope">
+            <el-button type="text" size="small" @click="editData(scope.row.collectionId)">修改</el-button>
+            <span style="margin:0 3px;">|</span>
+            <el-button
+              type="text"
+              size="small"
+              class="delete"
+              @click="showDelDialog(scope.row,1)"
+            >删除</el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+        :current-page.sync="currentPage"
+        @current-change="currentChange"
+        background
+        :page-size="pageSize"
+        :page-sizes="pageSizeArr"
+        @size-change="handleSizeChange"
+        :layout="pageLayout"
+        :total="total"
+      ></el-pagination>
+    </div>
+  </div>
+</template>
+
+<script>
+import api from '@api/knowledgeLib.js';
+import config from '@api/config.js';
+import utils from '@api/utils.js';
+
+export default {
+  name: 'TermSet',
+  data: function() {
+    return {
+      list: [],
+      ruleTypeList: [],
+      searched: false,
+      filter: {
+        collectionRemark: '',
+        collectionLibName: '',
+        conceptLibName: '',
+        collectionLibType: '0'
+      },
+      cacheData: {},
+      currentPage: 1,
+      pageSize: config.pageSize,
+      pageSizeArr: config.pageSizeArr,
+      pageLayout: config.pageLayout,
+      total: 0,
+      titleWidth: '970px' //头部最小宽度
+    };
+  },
+  created() {
+    const param = this.$route.params;
+    if (param.currentPage && param.filter) {
+      this.inCurrentPage = param.currentPage;
+      this.filter = param.filter;
+    }
+    const that = this;
+    //返回时避免参数未赋值就获取列表
+    setTimeout(function() {
+      that.getDataList();
+    });
+    this.getDict();
+  },
+  watch: {
+    filter: {
+      handler: function() {
+        this.searched = false;
+      },
+      deep: true
+    }
+  },
+  methods: {
+    getDict() {
+      api
+        .zskgetDict()
+        .then(res => {
+          if (res.data.code == '0') {
+            const data = res.data.data;
+            this.ruleTypeList = data[62];
+          }
+        })
+        .catch(error => {
+          console.log(error);
+        });
+    },
+    handleSizeChange(val) {
+      this.pageSize = val;
+      this.currentPage = utils.getCurrentPage(
+        this.currentPage,
+        this.total,
+        this.pageSize
+      );
+      this.getDataList();
+    },
+    addRule() {
+      const pam = this.searched
+        ? {
+            currentPage: this.currentPage,
+            pageSize: this.pageSize,
+            filter: this.filter
+          }
+        : { currentPage: this.currentPage, pageSize: this.pageSize };
+      this.$router.push({ name: 'AddTermSet', params: pam });
+    },
+    filterDatas() {
+      this.currentPage = 1;
+      this.getDataList(1);
+    },
+    getDataList(flag, isTurnPage) {
+      const params = this.getFilterItems(isTurnPage);
+      this.searched = true;
+      const loading = this.$loading({
+        lock: true,
+        text: 'Loading',
+        spinner: 'el-icon-loading',
+        background: 'rgba(0, 0, 0, 0.7)'
+      });
+      api
+        .getConceptPage(params)
+        .then(res => {
+          loading.close();
+          if (res.data.code == '0') {
+            const data = res.data.data;
+            for (let j = 0; j < data.records.length; j++) {
+              data.records[j].condition =
+                data.records[j].parStatus == '1' ? '启用' : '禁用';
+            }
+            this.list = data.records;
+            if (!flag) {
+              //搜索时不缓存
+              this.cacheData[params.current] = data.records;
+            } else {
+              this.cacheData = {};
+            }
+            this.total = data.total;
+            if (this.inCurrentPage !== undefined) {
+              this.currentPage = this.inCurrentPage;
+              this.inCurrentPage = undefined;
+            }
+          } else {
+            this.warning(res.data.msg || '获取列表数据失败');
+          }
+        })
+        .catch(error => {
+          loading.close();
+          console.log(error);
+        });
+    },
+    getFilterItems(isTurnPage) {
+      //翻页时筛选条件没点确定则清空
+      if (isTurnPage && !this.searched) {
+        this.clearFilter();
+      }
+      const param = {
+        current: this.inCurrentPage || this.currentPage,
+        size: this.pageSize,
+        ...this.filter
+      };
+      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(1, true);
+      //}
+    },
+    warning(msg, type) {
+      this.$message({
+        showClose: true,
+        message: msg,
+        type: type || 'warning'
+      });
+    },
+    showConfirmDialog(msg, resolve) {
+      this.$alert(msg, '提示', {
+        confirmButtonText: '确定',
+        type: 'warning'
+      })
+        .then(() => {
+          resolve();
+        })
+        .catch(() => {});
+    },
+    editData(id) {
+      const pam = this.searched
+        ? {
+            currentPage: this.currentPage,
+            pageSize: this.pageSize,
+            filter: this.filter
+          }
+        : { currentPage: this.currentPage, pageSize: this.pageSize };
+      api
+        .getRecordById({ id })
+        .then(res => {
+          if (res.data.code == '0') {
+            const data = res.data.data;
+            this.$router.push({
+              name: 'AddTermSet',
+              params: { ...pam, data }
+            });
+          }
+        })
+        .catch(error => {
+          this.warning('获取详情失败,请重试');
+        });
+    },
+    showDelDialog(row){
+        const param = {
+          id: row.collectionId
+        }
+        let waringTxt = '是否删除该集合内容,可能对现有系统造成影响'
+        this.showConfirmDialog(waringTxt,()=>{
+          api.deleteById(param).then((res)=>{
+            if(res.data.code=='0'){
+              if(!this.searched){
+                //未点确认时清空搜索条件
+                this.clearFilter();
+              }
+              if(this.list.length==1){
+                //当前在最后一页且只有一条数据时,删除后跳到前一页
+                this.currentPage = this.currentPage===1?1:this.currentPage-1;
+              }
+              this.warning(res.data.msg||'操作成功','success');
+              this.getDataList();
+            }else{
+              this.warning(res.data.msg);
+            }
+          }).catch((error)=>{
+            this.warning(error);
+          })
+        });
+      },
+    clearFilter() {
+      this.filter = {
+        collectionRemark: '',
+        conceptLibName: '',
+        collectionLibName: '',
+        collectionLibType: ''
+      };
+    }
+  }
+};
+</script>
+
+<style lang="less" scoped>
+@import '../../less/admin.less';
+/deep/ .container.knowledgeTitle {
+  height: 80px;
+}
+/deep/ .contents.knowledgeContents {
+  padding: 104px 20px 0;
+}
+// /deep/ .el-form--inline .el-form-item{
+//   height: 40px;
+// }
+/deep/ .secLine {
+  float: right;
+  display: flex;
+  position: relative;
+  top: -10px;
+  .el-input__inner {
+    width: 380px;
+  }
+}
+.delete {
+  color: red;
+}
+.review {
+  color: #22ccc8;
+}
+.el-table .cell {
+  overflow: hidden;
+  white-space: nowrap;
+}
+#upFile {
+  display: none !important;
+}
+.unvailable {
+  color: #fe7d3d;
+  &:hover {
+    color: #f19061;
+  }
+}
+</style>

+ 14 - 0
src/routes.js

@@ -223,6 +223,10 @@ import ZskDiagBase from '@components/knowledgeExtra/DiagBase.vue';      //知识
 import AddZskDiagBase from '@components/knowledgeExtra/AddDiagBase.vue';
 import ZskRegisteredDrug from '@components/knowledgeExtra/RegisteredDrug.vue';
 import AddZskRegisteredDrug from '@components/knowledgeExtra/AddZskRegisteredDrug.vue';
+import TermSet from '@components/knowledgeExtra/TermSet.vue';
+import AddTermSet from '@components/knowledgeExtra/AddTermSet.vue';
+
+
 export default [
     {
         path: '/',
@@ -678,6 +682,16 @@ export default [
                 component: AddZskRegisteredDrug,
                 name: 'AddZskRegisteredDrug',
             },
+            {
+                path: 'LT-ZSKKZWH-SYJHNRWH',
+                component: TermSet,
+                name: 'TermSet',
+            },
+            {
+                path: 'LT-ZSKKZWH-TJSYJHNRWH',
+                component: AddTermSet,
+                name: 'AddTermSet',
+            },
         ],
     },
 ];

+ 2 - 2
vue.config.js

@@ -1,6 +1,6 @@
 const path = require('path');
-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.113:5050'; //王峰