|
@@ -1,89 +1,97 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
- <crumbs title="基础关系类型维护" style="min-width: 980px">
|
|
|
+ <crumbs title="基础术语维护" minWidth="995px" class="knowledgeTitle">
|
|
|
<el-form :inline="true" class="demo-form-inline">
|
|
|
- <el-form-item label="词性名称:">
|
|
|
- <el-select size="mini" v-model="filter.hisName" placeholder="请选择" clearable>
|
|
|
+ <el-form-item label="关系类型名称:">
|
|
|
+ <el-select v-model="filter.type" clearable filterable placeholder="请选择" size="mini">
|
|
|
<el-option
|
|
|
v-for="item in typeList"
|
|
|
+ :key="item.id"
|
|
|
:label="item.name"
|
|
|
- :value="item.orderNo"
|
|
|
- :key="item.orderNo"
|
|
|
+ :value="item.name"
|
|
|
></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="数字编码:">
|
|
|
- <el-input size="mini" v-model="filter.uniqueName" placeholder="请输入" clearable></el-input>
|
|
|
+ <el-input size="mini" type="number" v-model="filter.term" placeholder="请输入编码"></el-input>
|
|
|
</el-form-item>
|
|
|
- <el-form-item class="dododo">
|
|
|
+ <el-form-item>
|
|
|
<el-button size="mini" @click="filterDatas">搜索</el-button>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</crumbs>
|
|
|
- <div class="contents">
|
|
|
+ <div class="contents knowledgeContents">
|
|
|
<el-table :data="list" border style="width: 100%">
|
|
|
- <el-table-column :resizable="false" type="index" :index="indexMethod" label="编号" width="60"></el-table-column>
|
|
|
- <el-table-column :resizable="false" prop="gmtModified" label="关系名称" width="180"></el-table-column>
|
|
|
- <el-table-column :resizable="false" prop="hisName" label="数字编码" show-overflow-tooltip></el-table-column>
|
|
|
- <el-table-column :resizable="false" prop="uniqueName" label="操作人" show-overflow-tooltip></el-table-column>
|
|
|
- <el-table-column :resizable="false" prop="uniqueName" label="操作时间" show-overflow-tooltip></el-table-column>
|
|
|
- <el-table-column :resizable="false" prop="operate" label="操作">
|
|
|
+ <el-table-column type="index" :index="indexMethod" label="编号" width="60"></el-table-column>
|
|
|
+ <el-table-column prop="name" label="关系类型名称" show-overflow-tooltip></el-table-column>
|
|
|
+ <el-table-column prop="code" label="数字编码" show-overflow-tooltip></el-table-column>
|
|
|
+ <el-table-column prop="modifier" label="操作人" show-overflow-tooltip></el-table-column>
|
|
|
+ <el-table-column prop="gmtModified" label="操作时间" show-overflow-tooltip></el-table-column>
|
|
|
+ <el-table-column label="操作" width="160">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-button @click="modifyRelation(scope.row)" type="text" size="small">修改</el-button>
|
|
|
+ <el-button
|
|
|
+ type="text"
|
|
|
+ size="small"
|
|
|
+ :disabled="true"
|
|
|
+ >修改</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
|
- <div class="pagination pagepage">
|
|
|
- <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>
|
|
|
+ <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/icss.js';
|
|
|
+import api from '@api/knowledgeTree.js';
|
|
|
import config from '@api/config.js';
|
|
|
import utils from '@api/utils.js';
|
|
|
|
|
|
export default {
|
|
|
- name: 'Fusion', //化验大小项和公表维护
|
|
|
+ name: 'BasicTermsMaintenance',
|
|
|
data: function() {
|
|
|
return {
|
|
|
list: [],
|
|
|
- typeList: [],
|
|
|
- searched: false,
|
|
|
- filter: {
|
|
|
- hisName: '', // 医院诊断名称
|
|
|
- uniqueName: '', //标准诊断名称
|
|
|
- },
|
|
|
+ stateSelect:[
|
|
|
+ {id:'N',name:'启用'},
|
|
|
+ {id:'Y',name:'禁用'},
|
|
|
+ ],
|
|
|
+ // isState:'',
|
|
|
+ cacheData: {}, //因为删除和恢复要及时更新,所以不做缓存
|
|
|
currentPage: 1,
|
|
|
pageSize: config.pageSize,
|
|
|
pageSizeArr: config.pageSizeArr,
|
|
|
pageLayout: config.pageLayout,
|
|
|
total: 0,
|
|
|
- uploadInfo: '导入'
|
|
|
+ searched: false,
|
|
|
+ filter: {
|
|
|
+ term: '',
|
|
|
+ type: '',
|
|
|
+ libName: '',
|
|
|
+ },
|
|
|
+ typeList: [],
|
|
|
+ reloadFlag: true
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
|
+ // this.getDataList();
|
|
|
+ this.getTypeList();
|
|
|
const that = this;
|
|
|
//返回时避免参数未赋值就获取列表
|
|
|
setTimeout(function() {
|
|
|
- that.clearFilter();
|
|
|
- // that.getDataList();
|
|
|
});
|
|
|
- // 非首页 编辑页返回 设置 this.currentPage
|
|
|
- if (Object.keys(this.$route.params).length !== 0) {
|
|
|
- this.currentPage = this.$route.params.currentPage;
|
|
|
- }
|
|
|
+ this.$nextTick(()=>{
|
|
|
+ that.getDataList();
|
|
|
+ })
|
|
|
},
|
|
|
watch: {
|
|
|
filter: {
|
|
@@ -110,144 +118,209 @@ export default {
|
|
|
);
|
|
|
this.getDataList();
|
|
|
},
|
|
|
-
|
|
|
- // 获取列表数据
|
|
|
+ reloadLib() {
|
|
|
+ if (this.reloadFlag) {
|
|
|
+ this.reloadFlag = false;
|
|
|
+ api.clearStandRuleDrug().then(res => {
|
|
|
+ if (res.data.code == 0) {
|
|
|
+ this.reloadFlag = true;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+ },
|
|
|
+ addMedicalName() {
|
|
|
+ const pam = this.searched
|
|
|
+ ? {
|
|
|
+ currentPage: this.currentPage,
|
|
|
+ pageSize: this.pageSize,
|
|
|
+ filter: this.filter
|
|
|
+ }
|
|
|
+ : { currentPage: this.currentPage, pageSize: this.pageSize };
|
|
|
+ this.$router.push({ name: 'AddTerm', params: pam });
|
|
|
+ },
|
|
|
+ filterDatas() {
|
|
|
+ this.currentPage = 1;
|
|
|
+ this.getDataList();
|
|
|
+ },
|
|
|
getDataList(isTurnPage) {
|
|
|
- const params = this.getFilterItems(isTurnPage);
|
|
|
+ const param = 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.getFusionPage(params).then(res => {
|
|
|
- loading.close();
|
|
|
- if (res.data.code === '0') {
|
|
|
- this.list = res.data.data && res.data.data.records;
|
|
|
- }
|
|
|
- this.total = res.data.data && res.data.data.total;
|
|
|
- if (this.inCurrentPage !== undefined) {
|
|
|
- this.currentPage = this.inCurrentPage;
|
|
|
- this.inCurrentPage = undefined;
|
|
|
- }
|
|
|
- });
|
|
|
+ // const loading = this.$loading({
|
|
|
+ // lock: true,
|
|
|
+ // text: 'Loading',
|
|
|
+ // spinner: 'el-icon-loading',
|
|
|
+ // background: 'rgba(0, 0, 0, 0.7)'
|
|
|
+ // });
|
|
|
+ api.baseRelationTypeGetPage(param)
|
|
|
+ .then(res => {
|
|
|
+ // loading.close();
|
|
|
+ if (res.data.code == '0') {
|
|
|
+ const data = res.data.data;
|
|
|
+ const templis = data.records;
|
|
|
+ for(let i = 0;i < templis.length;i++){
|
|
|
+ templis[i].isDeleted = templis[i].status=='1'?'N':'Y'
|
|
|
+ }
|
|
|
+ this.list = templis;
|
|
|
+ // this.cacheData[param.current] = data.records;
|
|
|
+ this.total = data.total;
|
|
|
+ if (this.inCurrentPage !== undefined) {
|
|
|
+ this.currentPage = this.inCurrentPage;
|
|
|
+ this.inCurrentPage = undefined;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(error => {
|
|
|
+ console.log(error);
|
|
|
+ });
|
|
|
},
|
|
|
-
|
|
|
- // 处理列表请求数据参数
|
|
|
+ getTypeList() {
|
|
|
+ api
|
|
|
+ .baseRelationTypeGetPage({ name: '',size: 1000 })
|
|
|
+ .then(res => {
|
|
|
+ const data = res.data;
|
|
|
+ if (data.code == 0) {
|
|
|
+ this.typeList = data.data.records||[];
|
|
|
+ } else {
|
|
|
+ console.log(res.msg);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(error => {
|
|
|
+ console.log(error);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ /*getDetailList(id) {
|
|
|
+ this.$router.push({name:'DeptInfoDetail', params:{id: id}})
|
|
|
+ },*/
|
|
|
getFilterItems(isTurnPage) {
|
|
|
//翻页时筛选条件没点确定则清空
|
|
|
if (isTurnPage && !this.searched) {
|
|
|
this.clearFilter();
|
|
|
}
|
|
|
const param = {
|
|
|
+ "code": this.filter.term.trim(),
|
|
|
+ "name": this.filter.type,
|
|
|
current: this.inCurrentPage || this.currentPage,
|
|
|
size: this.pageSize,
|
|
|
- hisName: this.filter.hisName.trim(),
|
|
|
- uniqueName: this.filter.uniqueName.trim(),
|
|
|
- uniqueCode: ''
|
|
|
};
|
|
|
return param;
|
|
|
},
|
|
|
-
|
|
|
- filterDatas() {
|
|
|
- this.currentPage = 1;
|
|
|
- this.getDataList();
|
|
|
- },
|
|
|
-
|
|
|
- // 跳转至编辑页面
|
|
|
- modifyRelation(row) {
|
|
|
- // const item = Object.assign({}, row);
|
|
|
- // const pam = this.searched
|
|
|
- // ? {
|
|
|
- // currentPage: this.currentPage,
|
|
|
- // pageSize: this.pageSize,
|
|
|
- // filter: this.filter
|
|
|
- // }
|
|
|
- // : { currentPage: this.currentPage, pageSize: this.pageSize };
|
|
|
- // this.$router.push({
|
|
|
- // name: 'AddFusion',
|
|
|
- // params: Object.assign(pam, { isEdit: true, data: item })
|
|
|
- // });
|
|
|
+ indexMethod(index) {
|
|
|
+ return (this.currentPage - 1) * this.pageSize + index + 1;
|
|
|
},
|
|
|
currentChange(next) {
|
|
|
this.currentPage = next;
|
|
|
- this.getDataList(true);
|
|
|
// if (this.cacheData[next]) { //如果已请求过该页数据,则使用缓存不重复请求
|
|
|
- // this.list = this.cacheData[next];
|
|
|
+ // this.list = this.cacheData[next];
|
|
|
// } else {
|
|
|
- // this.getDataList();
|
|
|
+ this.getDataList(true);
|
|
|
// }
|
|
|
},
|
|
|
- // 清空搜索参数
|
|
|
- clearFilter() {
|
|
|
- this.filter = {
|
|
|
- hisName: '',
|
|
|
- uniqueName: ''
|
|
|
- };
|
|
|
- },
|
|
|
-
|
|
|
- indexMethod(index) {
|
|
|
- return (this.currentPage - 1) * this.pageSize + index + 1;
|
|
|
- },
|
|
|
- getTagType(val) {
|
|
|
- return val;
|
|
|
- },
|
|
|
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
|
|
|
+ };
|
|
|
+ let url = item.isDeleted === 'N'?'disableConcept':'startConcept'
|
|
|
+ let waringTxt =
|
|
|
+ item.isDeleted === 'N'
|
|
|
+ ? '是否禁用该标准术语?'
|
|
|
+ : '是否重新启用该条数据?';
|
|
|
+ this.showConfirmDialog(waringTxt, () => {
|
|
|
+ api[url](param)
|
|
|
+ .then(res => {
|
|
|
+ if (res.data.code == '0') {
|
|
|
+ if (!this.searched) {
|
|
|
+ //未点确认时清空搜索条件
|
|
|
+ this.clearFilter();
|
|
|
+ }
|
|
|
+ if (item.isDeleted !== 'N') {
|
|
|
+ //恢复成功后跳转到筛选条件的首页
|
|
|
+ this.currentPage = 1;
|
|
|
+ } else {
|
|
|
+ if (this.filter.isState !== '' && 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 = {
|
|
|
+ term: '',
|
|
|
+ type: '',
|
|
|
+ libName: '',
|
|
|
+ isState: ''
|
|
|
+ };
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
</script>
|
|
|
|
|
|
-
|
|
|
-<style lang="less">
|
|
|
+<style lang="less" scoped>
|
|
|
@import '../../less/admin.less';
|
|
|
+
|
|
|
+/deep/ .container.knowledgeTitle {
|
|
|
+ height: 40px;
|
|
|
+}
|
|
|
+/deep/ .contents.knowledgeContents {
|
|
|
+ padding: 64px 20px 0;
|
|
|
+}
|
|
|
+/deep/ .secLine.el-form {
|
|
|
+ float: right;
|
|
|
+ display: block;
|
|
|
+ position: relative;
|
|
|
+ top: -5px;
|
|
|
+}
|
|
|
.delete {
|
|
|
color: red;
|
|
|
}
|
|
|
-.delete:hover {
|
|
|
+.review {
|
|
|
+ color: #22ccc8;
|
|
|
+}
|
|
|
+.deletes {
|
|
|
+ cursor: default;
|
|
|
color: red;
|
|
|
}
|
|
|
-.pagination {
|
|
|
- min-width: 1010px;
|
|
|
+.reviews {
|
|
|
+ color: #606266;
|
|
|
+ cursor: default;
|
|
|
}
|
|
|
-.downTemplate {
|
|
|
- margin-right: 8px;
|
|
|
- span {
|
|
|
- color: #02a7f0;
|
|
|
- }
|
|
|
+.el-table .cell {
|
|
|
+ overflow: hidden;
|
|
|
+ white-space: nowrap;
|
|
|
}
|
|
|
#upFile {
|
|
|
display: none !important;
|
|
|
}
|
|
|
-.el-message-box {
|
|
|
- /deep/.cancelBtn {
|
|
|
- background-color: #d7d7d7;
|
|
|
- border-color: transparent;
|
|
|
- }
|
|
|
- /deep/.confirmC {
|
|
|
- background-color: #ff545b !important;
|
|
|
- border-color: transparent !important;
|
|
|
- }
|
|
|
-}
|
|
|
-.exportBox6 {
|
|
|
- /deep/ .el-message-box__btns {
|
|
|
- margin-top: 20px;
|
|
|
- }
|
|
|
- /deep/ .el-message-box__message {
|
|
|
- // text-align: center;
|
|
|
- }
|
|
|
- /deep/.leftbtn {
|
|
|
- background-color: #d7d7d7;
|
|
|
- border-color: transparent !important;
|
|
|
- }
|
|
|
- /deep/ .el-message-box__header {
|
|
|
- border-bottom: 1px solid #dcdfe6;
|
|
|
- }
|
|
|
-}
|
|
|
</style>
|