From 21db0524cf6d338eef9ec5ea4bd6be0f9b16bfac Mon Sep 17 00:00:00 2001
From: pengjun <158915633@qq.com>
Date: Fri, 20 Mar 2026 21:39:50 +0800
Subject: [PATCH] seo
---
src/views/report/report.vue | 108 +++++++++++++++++++-----------------
1 file changed, 58 insertions(+), 50 deletions(-)
diff --git a/src/views/report/report.vue b/src/views/report/report.vue
index 9638bb5..beb88e4 100644
--- a/src/views/report/report.vue
+++ b/src/views/report/report.vue
@@ -420,7 +420,7 @@ export default {
// },
// 配合虚拟表导出
- handleSortChange({column, prop, order}) {
+ handleSortChange({ column, prop, order }) {
// column: 当前列配置
// prop: 排序的字段名(对应列 prop)
// order: 排序顺序,可选值:'ascending', 'descending', null(取消排序)
@@ -1156,7 +1156,7 @@ export default {
this.upTsjh()
break;
default: //lis
- this.btnExport('report_tjbg') // 非虚拟表导出
+ // this.btnExport('report_tjbg') // 非虚拟表导出
this.btnExportV() // 非虚拟表导出
break;
}
@@ -1689,57 +1689,65 @@ export default {
},
- btnExportV() {
+ btnExportV() {
+ let table = `
`
+ let thead = ``
+ let th = ''
- require.ensure([], () => {
- const tHeader = [];
- const filterVal = [];
- this.dragCol.forEach((e) => {
- tHeader.push(e.label);
- filterVal.push(e.prop);
- });
- const list = this.tableDatas.map((row, index) => {
- const newRow = { ...row }; // 创建副本,避免修改原数据
- // 使用对象映射优化数据转换
- newRow.sn = index + 1;
- if (newRow.completeFlag)
- newRow.completeFlag =
- newRow.isAudit == "Y"
- ? "已审核"
- : dddw(
- this.dict.completeFlag,
- "id",
- newRow.completeFlag,
- "displayName"
- );
-
- newRow.isReportPrint = newRow.isReportPrint == "Y" ? "√" : "";
- if (newRow.idNo) newRow.idNo = "\u200C" + newRow.idNo;
- if (newRow.patientRegisterNo)
- newRow.patientRegisterNo = "\u200C" + newRow.patientRegisterNo;
- if (newRow.patientNo) newRow.patientNo = "\u200C" + newRow.patientNo;
- if (newRow.isLock) newRow.isLock = newRow.isLock == "Y" ? "√" : "";
- if (newRow.isVip) newRow.isVip = newRow.isVip == "Y" ? "√" : "";
- if (newRow.isUpload)
- newRow.isUpload = newRow.isUpload == "Y" ? "√" : "";
- if (newRow.isUploadAppoint)
- newRow.isUploadAppoint = newRow.isUploadAppoint == "Y" ? "√" : "";
- if (newRow.isReceiveReport)
- newRow.isReceiveReport = newRow.isReceiveReport == "Y" ? "√" : "";
-
-
- if (newRow.birthDate)
- newRow.birthDate = moment(newRow.birthDate).format("yyyy-MM-DD");
-
- return newRow;
+ // 生成表头标题
+ this.dragCol.forEach(e => {
+ if (e.prop) {
+ if (th) {
+ th += `| ${e.label} | `
+ } else {
+ th = `${e.label} | `
+ }
+ }
+ });
+ thead += th + `
`
+
+ // 生成表体
+ let tr = ''
+ this.tableDatas.forEach((row, i) => {
+ let newRow = Object.assign({}, row)
+ let tds = ''
+ this.dragCol.forEach(e => {
+ let td = ' | '
+ if (e.prop) {
+ if (e.prop == 'sn') {
+ td = `${i + 1} | `
+ } else if (['isVip', 'isUpload', 'isUploadAppoint', 'isReceiveReport', 'isPushThirdResult'].includes(e.prop)) {
+ if (newRow[e.prop] == 'Y') {
+ td = `√ | `
+ } else {
+ td = ` | `
+ }
+ } else {
+ if (newRow[e.prop]) {
+ newRow[e.prop] = `\u200C${newRow[e.prop]}`
+ }
+ td = `${newRow[e.prop]} | `
+ }
+ }
+ if(tds){
+ tds += td
+ }else{
+ tds = td
+ }
});
- const data = list.map((v) => filterVal.map((j) => v[j]));
- exportJsonToExcel(
- tHeader,
- data,
- "人员列表" + moment(new Date()).format("yyyyMMDDHHmmss")
- ); //"列表excel" 是下载后的表名 可修改
+ if(tr){
+ tr += `${tds}
`
+ }else{
+ tr = `${tds}
`
+ }
});
+ let tbody = `${tr}`
+
+ table += thead + tbody + '
'
+
+ let fileName = moment(new Date()).format('yyyyMMDDHHmmss') + '.xlsx'
+ let blob = new Blob([table], { type: "text/plain;charset=utf-8" });
+ FileSaver.saveAs(blob, fileName);
},