|
@@ -1,18 +1,9 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
- <crumbs
|
|
|
- title="药品关联维护"
|
|
|
- style="min-width: 980px"
|
|
|
- class="knowledgeTitle"
|
|
|
- >
|
|
|
+ <crumbs title="药品关联维护" style="min-width: 980px" class="knowledgeTitle">
|
|
|
<el-form :inline="true" class="demo-form-inline">
|
|
|
<el-form-item class="selectMedicine" label="标准术语状态:">
|
|
|
- <el-select
|
|
|
- size="mini"
|
|
|
- v-model="filter.status"
|
|
|
- placeholder="请选择"
|
|
|
- clearable
|
|
|
- >
|
|
|
+ <el-select size="mini" v-model="filter.status" placeholder="请选择" clearable>
|
|
|
<el-option
|
|
|
v-for="item in statusList"
|
|
|
:label="item.name"
|
|
@@ -22,12 +13,7 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="剂型术语状态:" class="selectMedicine">
|
|
|
- <el-select
|
|
|
- size="mini"
|
|
|
- v-model="filter.formStatus"
|
|
|
- placeholder="请选择"
|
|
|
- clearable
|
|
|
- >
|
|
|
+ <el-select size="mini" v-model="filter.formStatus" placeholder="请选择" clearable>
|
|
|
<el-option
|
|
|
v-for="item in formstatusList"
|
|
|
:label="item.name"
|
|
@@ -37,137 +23,69 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="匹配状态:" class="selectMedicine">
|
|
|
- <el-select
|
|
|
- size="mini"
|
|
|
- v-model="filter.match"
|
|
|
- placeholder="请选择"
|
|
|
- clearable
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="item in matchList"
|
|
|
- :label="item.name"
|
|
|
- :value="item.id"
|
|
|
- :key="item.id"
|
|
|
- ></el-option>
|
|
|
+ <el-select size="mini" v-model="filter.match" placeholder="请选择" clearable>
|
|
|
+ <el-option v-for="item in matchList" :label="item.name" :value="item.id" :key="item.id"></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="医院药品名称:">
|
|
|
- <el-input
|
|
|
- size="mini"
|
|
|
- v-model="filter.hisName"
|
|
|
- placeholder="请输入"
|
|
|
- clearable
|
|
|
- ></el-input>
|
|
|
+ <el-input size="mini" v-model="filter.hisName" placeholder="请输入" clearable></el-input>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<el-form class="secLine" :inline="true">
|
|
|
<el-form-item>
|
|
|
- <el-button type="text" class="downTemplate" @click="exportModule"
|
|
|
- >导入模板下载</el-button
|
|
|
- >
|
|
|
- <input
|
|
|
- type="file"
|
|
|
- name="uploadfile "
|
|
|
- id="upFile"
|
|
|
- @change="uploadFile($event)"
|
|
|
- />
|
|
|
+ <el-button type="text" class="downTemplate" @click="exportModule">导入模板下载</el-button>
|
|
|
+ <input type="file" name="uploadfile " id="upFile" @change="uploadFile($event)" />
|
|
|
<!-- accept=".csv, application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" -->
|
|
|
<el-button size="mini" @click="handleMatchData">预匹配</el-button>
|
|
|
- <el-button size="mini" @click="importPage" style="margin: 0 10px">{{
|
|
|
- uploadInfo
|
|
|
- }}</el-button>
|
|
|
- <input
|
|
|
- type="file"
|
|
|
- name="uploadfile "
|
|
|
- id="upFileMatch"
|
|
|
- @change="uploadFileMatch($event)"
|
|
|
- />
|
|
|
+ <el-button size="mini" @click="importPage" style="margin:0 10px">{{uploadInfo}}</el-button>
|
|
|
+ <input type="file" name="uploadfile " id="upFileMatch" @change="uploadFileMatch($event)" />
|
|
|
<el-button size="mini" @click="exportData">导出</el-button>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="标准药品名称:">
|
|
|
- <el-input
|
|
|
- size="mini"
|
|
|
- v-model="filter.uniqueName"
|
|
|
- placeholder="请输入"
|
|
|
- clearable
|
|
|
- ></el-input>
|
|
|
+ <el-input size="mini" v-model="filter.uniqueName" placeholder="请输入" clearable></el-input>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
<el-button size="mini" @click="filterDatas">检索</el-button>
|
|
|
- <el-button size="mini" type="warning" @click="addRelation"
|
|
|
- >添加关联</el-button
|
|
|
- >
|
|
|
+ <el-button size="mini" type="warning" @click="addRelation">添加关联</el-button>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
</crumbs>
|
|
|
<div class="contents knowledgeContents">
|
|
|
<el-table :data="list" border style="width: 100%">
|
|
|
- <el-table-column
|
|
|
- :resizable="false"
|
|
|
- type="index"
|
|
|
- :index="indexMethod"
|
|
|
- label="编号"
|
|
|
- width="80"
|
|
|
- ></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="form"
|
|
|
- label="药品剂型"
|
|
|
- show-overflow-tooltip
|
|
|
- ></el-table-column>
|
|
|
+ <el-table-column :resizable="false" type="index" :index="indexMethod" label="编号" width="80"></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="form" label="药品剂型" show-overflow-tooltip></el-table-column>
|
|
|
<el-table-column :resizable="false" prop="operate" label="标准术语状态">
|
|
|
<template slot-scope="scope">
|
|
|
- <span v-if="scope.row.uniqueName && scope.row.uniqueName != ''">{{
|
|
|
- scope.row.status == 0 ? "禁用" : "启用"
|
|
|
- }}</span>
|
|
|
+ <span
|
|
|
+ v-if="scope.row.uniqueName && scope.row.uniqueName!=''"
|
|
|
+ >{{scope.row.status == 0?'禁用':'启用'}}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column :resizable="false" prop="operate" label="剂型术语状态">
|
|
|
<template slot-scope="scope">
|
|
|
- <span v-if="scope.row.form && scope.row.form != ''">{{
|
|
|
- scope.row.formStatus == 0 ? "禁用" : "启用"
|
|
|
- }}</span>
|
|
|
+ <span
|
|
|
+ v-if="scope.row.form && scope.row.form!=''"
|
|
|
+ >{{scope.row.formStatus == 0?'禁用':'启用'}}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column :resizable="false" prop="operate" label="匹配状态">
|
|
|
<template slot-scope="scope">
|
|
|
- <span>{{ scope.row.isMatch == 0 ? "未匹配" : "已匹配" }}</span>
|
|
|
+ <span>{{scope.row.isMatch == 0?'未匹配':'已匹配'}}</span>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
<el-table-column :resizable="false" prop="operate" label="操作">
|
|
|
<template slot-scope="scope">
|
|
|
- <el-button
|
|
|
- @click="modifyRelation(scope.row)"
|
|
|
- type="text"
|
|
|
- size="small"
|
|
|
- >修改</el-button
|
|
|
- >
|
|
|
- <span style="margin: 0 3px">|</span>
|
|
|
+ <el-button @click="modifyRelation(scope.row)" type="text" size="small">修改</el-button>
|
|
|
+ <span style="margin:0 3px;">|</span>
|
|
|
<el-button
|
|
|
@click="showDelDialog(scope.row.id)"
|
|
|
class="delete"
|
|
|
type="text"
|
|
|
size="small"
|
|
|
- >删除</el-button
|
|
|
- >
|
|
|
+ >删除</el-button>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
</el-table>
|
|
@@ -197,51 +115,51 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import api from "@api/icss.js";
|
|
|
-import config from "@api/config.js";
|
|
|
-import utils from "@api/utils.js";
|
|
|
-import LtModal from "@components/common/LtModal";
|
|
|
+import api from '@api/icss.js';
|
|
|
+import config from '@api/config.js';
|
|
|
+import utils from '@api/utils.js';
|
|
|
+import LtModal from '@components/common/LtModal';
|
|
|
export default {
|
|
|
- name: "DrugManage", //化验大小项和公表维护
|
|
|
- data: function () {
|
|
|
+ name: 'DrugManage', //化验大小项和公表维护
|
|
|
+ data: function() {
|
|
|
return {
|
|
|
list: [],
|
|
|
matchList: [
|
|
|
- { id: "", name: "全部" },
|
|
|
- { id: 1, name: "已匹配" },
|
|
|
- { id: 0, name: "未匹配" },
|
|
|
- { id: 2, name: "多项匹配" },
|
|
|
+ { id: '', name: '全部' },
|
|
|
+ { id: 1, name: '已匹配' },
|
|
|
+ { id: 0, name: '未匹配' },
|
|
|
+ { id: 2, name: '多项匹配' }
|
|
|
],
|
|
|
statusList: [
|
|
|
- { id: "", name: "全部" },
|
|
|
- { id: 1, name: "启用" },
|
|
|
- { id: 0, name: "禁用" },
|
|
|
+ { id: '', name: '全部' },
|
|
|
+ { id: 1, name: '启用' },
|
|
|
+ { id: 0, name: '禁用' }
|
|
|
],
|
|
|
formstatusList: [
|
|
|
- { id: "", name: "全部" },
|
|
|
- { id: 1, name: "启用" },
|
|
|
- { id: 0, name: "禁用" },
|
|
|
+ { id: '', name: '全部' },
|
|
|
+ { id: 1, name: '启用' },
|
|
|
+ { id: 0, name: '禁用' }
|
|
|
],
|
|
|
searched: false,
|
|
|
filter: {
|
|
|
- hisName: "", // 医院诊断名称
|
|
|
- uniqueName: "", //标准诊断名称
|
|
|
- match: "",
|
|
|
- status: "",
|
|
|
- formStatus: "",
|
|
|
+ hisName: '', // 医院诊断名称
|
|
|
+ uniqueName: '', //标准诊断名称
|
|
|
+ match: '',
|
|
|
+ status: '',
|
|
|
+ formStatus: ''
|
|
|
},
|
|
|
currentPage: 1,
|
|
|
pageSize: config.pageSize,
|
|
|
pageSizeArr: config.pageSizeArr,
|
|
|
pageLayout: config.pageLayout,
|
|
|
total: 0,
|
|
|
- uploadInfo: "导入",
|
|
|
+ uploadInfo: '导入',
|
|
|
modalVisiable: false,
|
|
|
- data: {},
|
|
|
+ data: {}
|
|
|
};
|
|
|
},
|
|
|
components: {
|
|
|
- LtModal,
|
|
|
+ LtModal
|
|
|
},
|
|
|
created() {
|
|
|
const param = this.$route.params;
|
|
@@ -258,73 +176,68 @@ export default {
|
|
|
},
|
|
|
watch: {
|
|
|
filter: {
|
|
|
- handler: function () {
|
|
|
+ handler: function() {
|
|
|
this.searched = false;
|
|
|
},
|
|
|
- deep: true, // watch中的高级用法 为true时 表示深度监听 这时候就能监听到filter中的值
|
|
|
- },
|
|
|
+ deep: true
|
|
|
+ }
|
|
|
},
|
|
|
methods: {
|
|
|
// 预匹配
|
|
|
handleMatchData() {
|
|
|
- let inp = document.getElementById("upFileMatch");
|
|
|
+ let inp = document.getElementById('upFileMatch');
|
|
|
inp.click();
|
|
|
},
|
|
|
-
|
|
|
// 导入数据
|
|
|
uploadFileMatch(e) {
|
|
|
let fileInfo = e.target.files[0];
|
|
|
- let extend = fileInfo.name.substring(fileInfo.name.lastIndexOf(".") + 1);
|
|
|
- if (extend != "xls" && extend != "xlsx") {
|
|
|
- this.$message({ message: "请根据模板进行导入", type: "error" });
|
|
|
+ let extend = fileInfo.name.substring(fileInfo.name.lastIndexOf('.') + 1);
|
|
|
+ if (extend != 'xls' && extend != 'xlsx') {
|
|
|
+ this.$message({ message: '请根据模板进行导入', type: 'error' });
|
|
|
return;
|
|
|
}
|
|
|
e.preventDefault();
|
|
|
let formData = new FormData();
|
|
|
- formData.append("file", fileInfo);
|
|
|
- formData.append("type", 5);
|
|
|
+ formData.append('file', fileInfo);
|
|
|
+ formData.append('type', 5);
|
|
|
const header = {
|
|
|
headers: {
|
|
|
- "Content-Type": "multipart/form-data",
|
|
|
- },
|
|
|
+ 'Content-Type': 'multipart/form-data'
|
|
|
+ }
|
|
|
};
|
|
|
- // 加载动画效果
|
|
|
const loading = this.$loading({
|
|
|
lock: true,
|
|
|
- text: "预匹配中...",
|
|
|
- spinner: "el-icon-loading",
|
|
|
- background: "rgba(0, 0, 0, 0.7)",
|
|
|
+ text: '预匹配中...',
|
|
|
+ spinner: 'el-icon-loading',
|
|
|
+ background: 'rgba(0, 0, 0, 0.7)'
|
|
|
});
|
|
|
-
|
|
|
- // 导入数据接口
|
|
|
- api.dataDiseaseVerify(formData, header).then((res) => {
|
|
|
- if (res.data.code === "00020007" || res.data.code === "00020004") {
|
|
|
+ api.dataDiseaseVerify(formData, header).then(res => {
|
|
|
+ if (res.data.code === '00020007' || res.data.code === '00020004') {
|
|
|
loading.close();
|
|
|
- this.$alert(`${res.data.msg}`, "提示", {
|
|
|
- confirmButtonText: "确定",
|
|
|
- type: "warning",
|
|
|
+ this.$alert(`${res.data.msg}`, '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ type: 'warning'
|
|
|
})
|
|
|
.then(() => {})
|
|
|
.catch(() => {});
|
|
|
} else {
|
|
|
- api.precDiseaseDataMatch(formData, header).then((res) => {
|
|
|
+ api.precDiseaseDataMatch(formData, header).then(res => {
|
|
|
setTimeout(() => {
|
|
|
loading.close();
|
|
|
}, 800);
|
|
|
if (res.status === 200) {
|
|
|
utils.downloadExportedData(
|
|
|
res.data,
|
|
|
- "药品关联数据(预匹配).xls"
|
|
|
+ '药品关联数据(预匹配).xls'
|
|
|
);
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
});
|
|
|
|
|
|
- let inp = document.getElementById("upFileMatch");
|
|
|
- inp.value = "";
|
|
|
+ let inp = document.getElementById('upFileMatch');
|
|
|
+ inp.value = '';
|
|
|
},
|
|
|
-
|
|
|
handleSizeChange(val) {
|
|
|
this.pageSize = val;
|
|
|
this.currentPage = utils.getCurrentPage(
|
|
@@ -339,16 +252,15 @@ export default {
|
|
|
getDataList(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)",
|
|
|
+ text: 'Loading',
|
|
|
+ spinner: 'el-icon-loading',
|
|
|
+ background: 'rgba(0, 0, 0, 0.7)'
|
|
|
});
|
|
|
- api.getDrugPage(params).then((res) => {
|
|
|
+ api.getDrugPage(params).then(res => {
|
|
|
loading.close();
|
|
|
- if (res.data.code === "0") {
|
|
|
+ if (res.data.code === '0') {
|
|
|
this.list = res.data.data && res.data.data.records;
|
|
|
}
|
|
|
this.total = res.data.data && res.data.data.total;
|
|
@@ -368,13 +280,13 @@ export default {
|
|
|
const param = {
|
|
|
current: this.inCurrentPage || this.currentPage,
|
|
|
size: this.pageSize,
|
|
|
- hisName: this.filter.hisName.trim().replace(/%/g,"\\%").replace(/_/g,"\\_"),
|
|
|
- uniqueName: this.filter.uniqueName.trim().replace(/%/g,"\\%").replace(/_/g,"\\_"),
|
|
|
- uniqueCode: "",
|
|
|
+ hisName: this.filter.hisName.trim(),
|
|
|
+ uniqueName: this.filter.uniqueName.trim(),
|
|
|
+ uniqueCode: '',
|
|
|
type: 5,
|
|
|
isMatch: this.filter.match,
|
|
|
status: this.filter.status,
|
|
|
- formStatus: this.filter.formStatus,
|
|
|
+ formStatus: this.filter.formStatus
|
|
|
};
|
|
|
return param;
|
|
|
},
|
|
@@ -383,19 +295,17 @@ export default {
|
|
|
this.currentPage = 1;
|
|
|
this.getDataList();
|
|
|
},
|
|
|
-
|
|
|
- // 点击添加关联
|
|
|
addRelation() {
|
|
|
const pam = this.searched
|
|
|
? {
|
|
|
currentPage: this.currentPage,
|
|
|
pageSize: this.pageSize,
|
|
|
- filter: this.filter,
|
|
|
+ filter: this.filter
|
|
|
}
|
|
|
: { currentPage: this.currentPage, pageSize: this.pageSize };
|
|
|
|
|
|
this.data = {};
|
|
|
- this.showModal(); // 控制弹出框的显示隐藏
|
|
|
+ this.showModal();
|
|
|
// this.$router.push({ name: 'AddDrug', params: pam });
|
|
|
},
|
|
|
// 修改诊断关联-跳转至编辑页面
|
|
@@ -405,7 +315,7 @@ export default {
|
|
|
? {
|
|
|
currentPage: this.currentPage,
|
|
|
pageSize: this.pageSize,
|
|
|
- filter: this.filter,
|
|
|
+ filter: this.filter
|
|
|
}
|
|
|
: { currentPage: this.currentPage, pageSize: this.pageSize };
|
|
|
// this.$router.push({
|
|
@@ -424,12 +334,11 @@ export default {
|
|
|
// this.getDataList();
|
|
|
// }
|
|
|
},
|
|
|
-
|
|
|
// 清空搜索参数
|
|
|
clearFilter() {
|
|
|
this.filter = {
|
|
|
- hisName: "",
|
|
|
- uniqueName: "",
|
|
|
+ hisName: '',
|
|
|
+ uniqueName: ''
|
|
|
};
|
|
|
},
|
|
|
|
|
@@ -443,16 +352,16 @@ export default {
|
|
|
this.$message({
|
|
|
showClose: true,
|
|
|
message: msg,
|
|
|
- type: type || "warning",
|
|
|
+ type: type || 'warning'
|
|
|
});
|
|
|
},
|
|
|
showConfirmDialog(msg, resolve) {
|
|
|
- this.$confirm(msg, "提示", {
|
|
|
- confirmButtonText: "删除",
|
|
|
- cancelButtonText: "取消",
|
|
|
- cancelButtonClass: "cancelBtn",
|
|
|
- confirmButtonClass: "confirmC",
|
|
|
- type: "warning",
|
|
|
+ this.$confirm(msg, '提示', {
|
|
|
+ confirmButtonText: '删除',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ cancelButtonClass: 'cancelBtn',
|
|
|
+ confirmButtonClass: 'confirmC',
|
|
|
+ type: 'warning'
|
|
|
})
|
|
|
.then(() => {
|
|
|
resolve();
|
|
@@ -461,11 +370,11 @@ export default {
|
|
|
},
|
|
|
// 删除关联
|
|
|
showDelDialog(id) {
|
|
|
- this.showConfirmDialog("是否删除该关联?", () => {
|
|
|
+ this.showConfirmDialog('是否删除该关联?', () => {
|
|
|
api
|
|
|
.deleteDrugRecord({ id: id })
|
|
|
- .then((res) => {
|
|
|
- if (res.data.code == "0") {
|
|
|
+ .then(res => {
|
|
|
+ if (res.data.code == '0') {
|
|
|
if (!this.searched) {
|
|
|
//未点确认时清空搜索条件
|
|
|
this.clearFilter();
|
|
@@ -476,13 +385,13 @@ export default {
|
|
|
this.currentPage === 1 ? 1 : this.currentPage - 1;
|
|
|
}
|
|
|
this.getDataList();
|
|
|
- this.warning(res.data.msg || "操作成功", "success");
|
|
|
+ this.warning(res.data.msg || '操作成功', 'success');
|
|
|
} else {
|
|
|
this.warning(res.data.msg);
|
|
|
}
|
|
|
})
|
|
|
- .catch((error) => {
|
|
|
- if (error.code === "900010001") {
|
|
|
+ .catch(error => {
|
|
|
+ if (error.code === '900010001') {
|
|
|
return false;
|
|
|
}
|
|
|
this.warning(error);
|
|
@@ -492,13 +401,13 @@ export default {
|
|
|
|
|
|
// 导出数据
|
|
|
exportData() {
|
|
|
- this.$confirm("确定要导出全部药品关联数据吗?", "", {
|
|
|
- confirmButtonText: "确定",
|
|
|
- cancelButtonText: "取消",
|
|
|
- cancelButtonClass: "leftbtn",
|
|
|
- customClass: "exportBox6",
|
|
|
- title: "提示",
|
|
|
- type: "warning",
|
|
|
+ this.$confirm('确定要导出全部药品关联数据吗?', '', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ cancelButtonClass: 'leftbtn',
|
|
|
+ customClass: 'exportBox6',
|
|
|
+ title: '提示',
|
|
|
+ type: 'warning'
|
|
|
// beforeClose: (action, instance, done) => {
|
|
|
// if (action === 'confirm') {
|
|
|
// // instance.confirmButtonLoading = true;
|
|
@@ -519,10 +428,10 @@ export default {
|
|
|
.then(() => {
|
|
|
api
|
|
|
.exportDrugRecord({ type: 5, isMatch: this.filter.match })
|
|
|
- .then((res) => {
|
|
|
+ .then(res => {
|
|
|
if (res.status === 200) {
|
|
|
- this.$message({ message: "导出成功", type: "success" });
|
|
|
- utils.downloadExportedData(res.data, "药品关联数据.xls");
|
|
|
+ this.$message({ message: '导出成功', type: 'success' });
|
|
|
+ utils.downloadExportedData(res.data, '药品关联数据.xls');
|
|
|
}
|
|
|
});
|
|
|
})
|
|
@@ -533,10 +442,10 @@ export default {
|
|
|
|
|
|
// 导入模板
|
|
|
exportModule() {
|
|
|
- api.exportDrugModule({ type: 5 }).then((res) => {
|
|
|
+ api.exportDrugModule({ type: 5 }).then(res => {
|
|
|
if (res.status === 200) {
|
|
|
setTimeout(() => {
|
|
|
- utils.downloadExportedData(res.data, "药品导入模板.xls");
|
|
|
+ utils.downloadExportedData(res.data, '药品导入模板.xls');
|
|
|
}, 1500);
|
|
|
}
|
|
|
});
|
|
@@ -544,31 +453,30 @@ export default {
|
|
|
|
|
|
// 点击导入
|
|
|
importPage() {
|
|
|
- let inp = document.getElementById("upFile");
|
|
|
+ let inp = document.getElementById('upFile');
|
|
|
inp.click();
|
|
|
},
|
|
|
-
|
|
|
// 导入数据
|
|
|
uploadFile(e) {
|
|
|
let fileInfo = e.target.files[0];
|
|
|
- let extend = fileInfo.name.substring(fileInfo.name.lastIndexOf(".") + 1);
|
|
|
- if (extend != "xls" && extend != "xlsx") {
|
|
|
- this.$message({ message: "请根据模板进行导入", type: "error" });
|
|
|
+ let extend = fileInfo.name.substring(fileInfo.name.lastIndexOf('.') + 1);
|
|
|
+ if (extend != 'xls' && extend != 'xlsx') {
|
|
|
+ this.$message({ message: '请根据模板进行导入', type: 'error' });
|
|
|
return;
|
|
|
}
|
|
|
- e.preventDefault(); // 阻止默认行为
|
|
|
+ e.preventDefault();
|
|
|
let formData = new FormData();
|
|
|
- formData.append("file", fileInfo);
|
|
|
- formData.append("type", 5);
|
|
|
- formData.append("uesrId", localStorage.getItem("uesrId"));
|
|
|
+ formData.append('file', fileInfo);
|
|
|
+ formData.append('type', 5);
|
|
|
+ formData.append('uesrId', localStorage.getItem('uesrId'));
|
|
|
formData.append(
|
|
|
- "hospitalId",
|
|
|
- JSON.parse(localStorage.getItem("hospitalLoginDTO")).id
|
|
|
+ 'hospitalId',
|
|
|
+ JSON.parse(localStorage.getItem('hospitalLoginDTO')).id
|
|
|
);
|
|
|
const header = {
|
|
|
headers: {
|
|
|
- "Content-Type": "multipart/form-data",
|
|
|
- },
|
|
|
+ 'Content-Type': 'multipart/form-data'
|
|
|
+ }
|
|
|
};
|
|
|
this.importDrugRecord(formData, header);
|
|
|
// this.uploadInfo = '导入中...';
|
|
@@ -608,41 +516,41 @@ export default {
|
|
|
// });
|
|
|
|
|
|
//解决上传相同文件不触发change
|
|
|
- let inp = document.getElementById("upFile");
|
|
|
- inp.value = "";
|
|
|
+ let inp = document.getElementById('upFile');
|
|
|
+ inp.value = '';
|
|
|
},
|
|
|
importDrugRecord(formData, header) {
|
|
|
let that = this;
|
|
|
- api.importDrugRecord(formData, header).then((res) => {
|
|
|
- if (res.headers["content-disposition"]) {
|
|
|
+ api.importDrugRecord(formData, header).then(res => {
|
|
|
+ if (res.headers['content-disposition']) {
|
|
|
this.downloadUrl(res);
|
|
|
this.getDataList();
|
|
|
} else {
|
|
|
let r = new FileReader();
|
|
|
- r.onload = function () {
|
|
|
+ r.onload = function() {
|
|
|
if (this.result) {
|
|
|
const code = JSON.parse(this.result);
|
|
|
- if (code.code === "00020004" || code.code === "00020007") {
|
|
|
+ if (code.code === '00020004' || code.code === '00020007') {
|
|
|
that
|
|
|
- .$alert(`${code.msg}`, "提示", {
|
|
|
- confirmButtonText: "确定",
|
|
|
+ .$alert(`${code.msg}`, '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
// cancelButtonText: '取消',
|
|
|
// cancelButtonClass: 'cancelSure',
|
|
|
// confirmButtonClass: 'sure',
|
|
|
// customClass: 'exportConfirm',
|
|
|
- type: "warning",
|
|
|
+ type: 'warning'
|
|
|
})
|
|
|
.then(() => {})
|
|
|
.catch(() => {});
|
|
|
}
|
|
|
} else {
|
|
|
- that.$alert(`导入成功`, "提示", {
|
|
|
- confirmButtonText: "确定",
|
|
|
+ that.$alert(`导入成功`, '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
// cancelButtonText: '取消',
|
|
|
// cancelButtonClass: 'cancelSure',
|
|
|
// confirmButtonClass: 'sure',
|
|
|
// customClass: 'exportConfirm',
|
|
|
- type: "success",
|
|
|
+ type: 'success'
|
|
|
});
|
|
|
that.getDataList();
|
|
|
}
|
|
@@ -698,12 +606,12 @@ export default {
|
|
|
});
|
|
|
},
|
|
|
downloadUrl(res) {
|
|
|
- var disposition = res.headers["content-disposition"];
|
|
|
+ var disposition = res.headers['content-disposition'];
|
|
|
var fileName = decodeURI(
|
|
|
- disposition.split("filename=")[1].split(";filename*=")[0]
|
|
|
+ disposition.split('filename=')[1].split(';filename*=')[0]
|
|
|
);
|
|
|
- let blob = new Blob([res.data], { type: "application/.xls" }); //.xls是我和后台约定好的文件格式
|
|
|
- let link = document.createElement("a");
|
|
|
+ let blob = new Blob([res.data], { type: 'application/.xls' }); //.xls是我和后台约定好的文件格式
|
|
|
+ let link = document.createElement('a');
|
|
|
link.href = window.URL.createObjectURL(blob);
|
|
|
link.download = fileName;
|
|
|
link.click();
|
|
@@ -714,20 +622,20 @@ export default {
|
|
|
this.modalVisiable = true;
|
|
|
},
|
|
|
getMsgFormSon(data) {
|
|
|
- if (data == "close") {
|
|
|
+ if (data == 'close') {
|
|
|
this.modalVisiable = false;
|
|
|
} else {
|
|
|
this.modalVisiable = false;
|
|
|
this.getDataList();
|
|
|
}
|
|
|
- },
|
|
|
- },
|
|
|
+ }
|
|
|
+ }
|
|
|
};
|
|
|
</script>
|
|
|
|
|
|
|
|
|
<style lang="less" scoped>
|
|
|
-@import "../../../less/admin.less";
|
|
|
+@import '../../../less/admin.less';
|
|
|
/deep/ .container.knowledgeTitle {
|
|
|
height: 80px;
|
|
|
}
|