|
|
@@ -178,7 +178,7 @@ import Reference from './Reference.vue';
|
|
|
import { useThemeStore } from '../../base/store/use-theme';
|
|
|
import { THEME_LIGHT, THEME_DARK, THEME_GREEN, THEME_PARTY } from '../../base/variables';
|
|
|
import { getIcon } from '../common/use-icon-map';
|
|
|
-import { downloadReport, downloadExcel, toEvaluation } from '../conversation-dialog/api-dialog';
|
|
|
+import { downloadReport, downloadReportPDF, downloadExcel, toEvaluation } from '../conversation-dialog/api-dialog';
|
|
|
import { getMergeExcel, getCheckedErrorList } from '../table-dialog/api-dialog';
|
|
|
import { mergeTableData } from '../../modules/table-dialog/api-dialog';
|
|
|
import { formatMdToHtmlForView } from '../conversation-dialog/format-html-md-switch-for-report';
|
|
|
@@ -491,10 +491,15 @@ const handleReportEdit = () => {
|
|
|
}
|
|
|
};
|
|
|
|
|
|
-const handleDwonload = () => {
|
|
|
- if (props.dialog.record_id) {
|
|
|
+const handleDwonload = (type = 'word') => {
|
|
|
+ if (props.dialog.record_id || report_file.value?.record_id) {
|
|
|
// downloadReport({ record_id: props.dialog.record_id });
|
|
|
- toDownload();
|
|
|
+ if (type === 'word') {
|
|
|
+ toDownload();
|
|
|
+ }
|
|
|
+ if (type === 'pdf') {
|
|
|
+ toDownloadPDF();
|
|
|
+ }
|
|
|
}
|
|
|
};
|
|
|
const handleSelect = (v) => {
|
|
|
@@ -550,6 +555,9 @@ const toDownload = () => {
|
|
|
if (props.dialog.report_files && props.dialog.report_files.record_id) {
|
|
|
record_id = props.dialog.report_files.record_id;
|
|
|
}
|
|
|
+ if (report_file.value && report_file.value.record_id) {
|
|
|
+ record_id = report_file.value.record_id;
|
|
|
+ }
|
|
|
if (props.dialog?.record_id) {
|
|
|
record_id = props.dialog.record_id;
|
|
|
}
|
|
|
@@ -574,6 +582,38 @@ const toDownload = () => {
|
|
|
});
|
|
|
}
|
|
|
};
|
|
|
+const toDownloadPDF = () => {
|
|
|
+ let record_id;
|
|
|
+ if (props.dialog.report_files && props.dialog.report_files.record_id) {
|
|
|
+ record_id = props.dialog.report_files.record_id;
|
|
|
+ }
|
|
|
+ if (report_file.value && report_file.value.record_id) {
|
|
|
+ record_id = report_file.value.record_id;
|
|
|
+ }
|
|
|
+ if (props.dialog?.record_id) {
|
|
|
+ record_id = props.dialog.record_id;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (record_id) {
|
|
|
+ is_download_loading.value = true;
|
|
|
+ downloadReportPDF({ record_id })
|
|
|
+ .then((res) => {
|
|
|
+ const url = URL.createObjectURL(res.data);
|
|
|
+ const link = document.createElement('a');
|
|
|
+ link.href = url;
|
|
|
+ // console.log('下载报告url', url);
|
|
|
+ link.download = props.dialog?.report_files?.file_name || `报告_${record_id}`;
|
|
|
+ // console.log('下载报告名称', link.download);
|
|
|
+ link.click();
|
|
|
+ })
|
|
|
+ .catch((e) => {
|
|
|
+ console.log(e);
|
|
|
+ })
|
|
|
+ .finally(() => {
|
|
|
+ is_download_loading.value = false;
|
|
|
+ });
|
|
|
+ }
|
|
|
+};
|
|
|
const toDownloadExcel = () => {
|
|
|
const record_id = props.dialog.report_excels.record_id;
|
|
|
if (record_id) {
|