Browse Source

报告单回传页面导出暂时模版列表

master-dev
lzp 2 days ago
parent
commit
d89c61099d
  1. 16
      web_admin/src/api/reportTemplate/index.js
  2. 63
      web_admin/src/views/report/view.vue
  3. 9
      web_admin/src/views/reportTemplate/reportIndex.vue

16
web_admin/src/api/reportTemplate/index.js

@ -67,3 +67,19 @@ export function reportTemplateDel(data) {
data: data,
});
}
// 查看报告模板详情(不要token)
export function reportTemplateQuery(data) {
return request({
url: "reportTemplateAll/query",
method: "post",
data: data,
});
}
// 导出所有报告模板(不要token)
export function reportExportAll(data) {
return request({
url: "report/exportAll",
method: "post",
data: data,
});
}

63
web_admin/src/views/report/view.vue

@ -55,14 +55,28 @@
/>
<el-table-column label="操作" align="center" fixed="right">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-document"
@click="handleReport(scope.row)"
>
查看报告单
</el-button>
<el-popover placement="bottom" trigger="click">
<el-button
slot="reference"
size="mini"
type="text"
icon="el-icon-document"
>
查看报告单
</el-button>
<div>
<div v-for="(item, index) in reportTemplateList" :key="index">
<el-button
@click="handleReportTemplate(scope.row, item.id, item.type)"
size="mini"
type="text"
>
{{ item.name }}{{ item.type ? "pdf" : "word" }}
</el-button>
</div>
<div v-if="!reportTemplateList.length">暂无报告模板</div>
</div>
</el-popover>
</template>
</el-table-column>
</el-table>
@ -79,7 +93,10 @@
<script>
import { exportPdf, queryPdfUrl } from "@/api/report.js";
import {
reportTemplateQuery,
reportExportAll,
} from "@/api/reportTemplate/index.js";
export default {
name: "Notice",
@ -95,7 +112,9 @@ export default {
pageSize: 10,
param: {},
},
reportTemplateList: [],
qzUrl: process.env.VUE_APP_BASE_API,
templateLoading: false,
};
},
created() {
@ -108,8 +127,34 @@ export default {
};
this.getList();
this.getReportTemplate();
},
methods: {
//
getReportTemplate() {
reportTemplateQuery({
pageNum: -1,
param: { code: "DOCTOR" },
}).then((response) => {
this.reportTemplateList = response.data || [];
});
},
//
handleReportTemplate(row, id, type) {
this.loading = true;
reportExportAll({
templateId: id,
reportId: row.reportId,
})
.then((res) => {
this.loading = false;
let path = type ? res.data.path : res.data.word;
window.open(this.qzUrl + path);
})
.catch(() => {
this.loading = false;
});
},
//
handleReport(row) {
queryPdfUrl({

9
web_admin/src/views/reportTemplate/reportIndex.vue

@ -13,6 +13,7 @@
filterable
placeholder="请选择"
style="width: 100%"
clearable
>
<el-option
v-for="item in typeList"
@ -29,6 +30,7 @@
filterable
placeholder="请选择"
style="width: 100%"
clearable
>
<el-option
v-for="item in versionList"
@ -240,6 +242,7 @@ export default {
}
};
return {
reportList: [],
typeList: [
{
lable: "个人版",
@ -387,8 +390,10 @@ export default {
},
/** 重置按钮操作 */
resetQuery() {
this.dateRange = [];
this.resetForm("queryForm");
this.queryParams.param = {
code: "",
name: "",
};
this.handleQuery();
},
//

Loading…
Cancel
Save