| | |
| | | width="120" |
| | | key="successRate" |
| | | prop="successRate" |
| | | :render-header="Tooltipcgl" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span class="success-rate">{{ |
| | |
| | | width="120" |
| | | key="followUpRate" |
| | | prop="followUpRate" |
| | | :render-header="Tooltipsfl" |
| | | /> |
| | | <el-table-column |
| | | v-if="orgname != '丽水市中医院'" |
| | |
| | | width="120" |
| | | key="rate" |
| | | prop="rate" |
| | | :render-header="Tooltipjsl" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | |
| | | width="120" |
| | | key="successRate" |
| | | prop="successRate" |
| | | :render-header="Tooltipcgl" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <span class="success-rate">{{ |
| | |
| | | width="120" |
| | | key="followUpRate" |
| | | prop="followUpRate" |
| | | :render-header="Tooltipsfl" |
| | | /> |
| | | <el-table-column |
| | | v-if="orgname != '丽水市中医院'" |
| | |
| | | width="120" |
| | | key="rate" |
| | | prop="rate" |
| | | :render-header="Tooltipjsl" |
| | | > |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | |
| | | return indexA - indexB; |
| | | }); |
| | | }, |
| | | |
| | | Tooltipcgl(h, { column }) { |
| | | return h( |
| | | "el-tooltip", |
| | | { |
| | | props: { |
| | | content: "随访成功/(需随访-待随访)", |
| | | placement: "top", |
| | | effect: "dark", |
| | | }, |
| | | }, |
| | | [h("span", column.label)] |
| | | ); |
| | | }, |
| | | Tooltipjsl(h, { column }) { |
| | | return h( |
| | | "el-tooltip", |
| | | { |
| | | props: { |
| | | content: "(应随访时间+任务周期)小于完成时间即为超时;(需随访-超时)/需随访", |
| | | placement: "top", |
| | | effect: "dark", |
| | | }, |
| | | }, |
| | | [h("span", column.label)] |
| | | ); |
| | | }, |
| | | Tooltipsfl(h, { column }) { |
| | | return h( |
| | | "el-tooltip", |
| | | { |
| | | props: { |
| | | content: "(随访成功+首次随访失败)/首次应随访", |
| | | placement: "top", |
| | | effect: "dark", |
| | | }, |
| | | }, |
| | | [h("span", column.label)] |
| | | ); |
| | | }, |
| | | sortChineseNumber(aRow, bRow) { |
| | | const a = aRow.leavehospitaldistrictname; |
| | | const b = bRow.leavehospitaldistrictname; |
| | |
| | | let serviceTypeName = "首次出院随访"; // 文件名使用的名称 |
| | | let sheetTypeName = "首次随访"; // 工作表使用的名称(简化版) |
| | | |
| | | if (this.queryParams.serviceType && Array.isArray(this.queryParams.serviceType) && this.queryParams.serviceType.length > 0) { |
| | | if ( |
| | | this.queryParams.serviceType && |
| | | Array.isArray(this.queryParams.serviceType) && |
| | | this.queryParams.serviceType.length > 0 |
| | | ) { |
| | | if (this.tasktypes && Array.isArray(this.tasktypes)) { |
| | | // 过滤出匹配的随访类型 |
| | | const matchedTypes = this.tasktypes.filter(task => |
| | | const matchedTypes = this.tasktypes.filter((task) => |
| | | this.queryParams.serviceType.includes(task.value) |
| | | ); |
| | | |
| | |
| | | sheetTypeName = `首次${label}`; |
| | | } else if (matchedTypes.length > 1) { |
| | | // 多个类型 |
| | | const typeNames = matchedTypes.map(task => task.label); |
| | | const typeNames = matchedTypes.map((task) => task.label); |
| | | |
| | | // 文件名:用斜杠分隔 |
| | | serviceTypeName = `首次${typeNames.join("/")}`; |
| | |
| | | // 清理工作表名称,移除非法字符 |
| | | const cleanSheetName = (name) => { |
| | | // Excel工作表名不能包含的字符: * ? : \ / [ ] |
| | | return name.replace(/[*?:\\/[\]]/g, ' '); |
| | | return name.replace(/[*?:\\/[\]]/g, " "); |
| | | }; |
| | | |
| | | const worksheetName = cleanSheetName(`${sheetTypeName}统计_${sheetNameSuffix}`); |
| | | const worksheetName = cleanSheetName( |
| | | `${sheetTypeName}统计_${sheetNameSuffix}` |
| | | ); |
| | | |
| | | if (!this.tableData || this.tableData.length === 0) { |
| | | this.$message.warning(`暂无${serviceTypeName}数据可导出`); |