增加导出按钮

This commit is contained in:
Euni4U 2025-04-21 14:57:29 +08:00
parent 869d6eb1b4
commit 6af69269a2

View File

@ -86,6 +86,11 @@ v-loading.fullscreen.lock="fullscreenLoading"
@change="uploadFile" @change="uploadFile"
/> />
</el-form-item> </el-form-item>
<el-form-item>
<el-button type="primary" @click="handleExport">
<Icon icon="ep:download" class="mr-5px" /> 导出Excel
</el-button>
</el-form-item>
</el-form> </el-form>
</ContentWrap> </ContentWrap>
@ -197,12 +202,16 @@ import template from "@/views/summary/print/template";
import barcode from "@/views/summary/print/barcode"; import barcode from "@/views/summary/print/barcode";
import IDCardReader from '@/components/IDCardReader.vue'; import IDCardReader from '@/components/IDCardReader.vue';
import sdk from '@/components/IDCardReader/sdk'; import sdk from '@/components/IDCardReader/sdk';
import download from '@/utils/download' //
import { ElMessageBox } from 'element-plus' // ElMessageBox
defineOptions({ name: 'Department' }) defineOptions({ name: 'Department' })
const message = useMessage() // const message = useMessage() //
const loading = ref(true) // const loading = ref(true) //
const importLoading = ref(false) // Excel const importLoading = ref(false) // Excel
const fullscreenLoading = ref(false) // const fullscreenLoading = ref(false) //
const exportLoading = ref(false) // Excel
const list = ref<PatientVO[]>([]) // const list = ref<PatientVO[]>([]) //
const total = ref(0) // const total = ref(0) //
const queryParams = reactive({ const queryParams = reactive({
@ -701,4 +710,38 @@ const handleDateChange = (val: [string, string] | null) => {
queryParams.printTimeRange = undefined queryParams.printTimeRange = undefined
} }
} }
/** 导出按钮操作 */
const handleExport = async () => {
try {
// 使 ElMessageBox
await ElMessageBox.confirm(
`是否导出当前<span style="color: #f56c6c; font-weight: bold; font-size: 18px;">${total.value}</span>条患者数据?`,
'导出确认',
{
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
dangerouslyUseHTMLString: true // 使 HTML
}
)
//
exportLoading.value = true
const data = await PatientApi.exportPatient({
...queryParams,
pName: queryParams.pname?.trim() || undefined,
isprint: queryParams.isprint || undefined,
printTimeRange: queryParams.printTimeRange
})
download.excel(data, '患者信息.xls')
} catch (error: any) {
//
if (error !== 'cancel') {
console.error('导出失败:', error)
message.error(`导出失败: ${error.message || '未知错误'}`)
}
} finally {
exportLoading.value = false
}
}
</script> </script>