| | |
| | | placeholder="选择装机时间" |
| | | /> |
| | | </el-form-item> |
| | | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="检查项目" prop=""> |
| | |
| | | <el-input v-model="formData.remark" placeholder="请输入备注" /> |
| | | </el-form-item> |
| | | <el-form-item label="是否多耐" prop="tolerance"> |
| | | <el-radio-group v-model="formData.tolerance" readonly> |
| | | <el-radio |
| | | v-for="dict in getIntDictOptions(DICT_TYPE.ecg_tolerance)" |
| | | :key="dict.value" |
| | | :value="dict.value" |
| | | > |
| | | {{ dict.label }} |
| | | </el-radio> |
| | | </el-radio-group> |
| | | <el-tag type="info" v-if="formData.tolerance == 0">否</el-tag> |
| | | <el-tag type="danger" v-else>是</el-tag> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | |
| | | <el-button @click="submitForm" type="primary" :disabled="formLoading">检查完成</el-button> |
| | | <el-button @click="cancelInstall" :disabled="formLoading">放弃检查</el-button> |
| | | <el-button @click="resetForm()">重 置</el-button> |
| | | <el-button @click="yddownload()">平板运动心电图知情同意书</el-button> |
| | | <el-button @click="sgdownload()">食管心脏电生理诊疗知情同意书</el-button> |
| | | <el-button |
| | | v-if="needAutoFeeConfirm(formData.checkType)" |
| | | @click="feeConfirm" |
| | |
| | | import { isStringEmpty } from '@/utils/stringUtil' |
| | | import { curDayEnd, curDayStart } from '@/utils/dateUtil' |
| | | import { QueueVO } from '@/api/ecg/queue' |
| | | import { RoomBedVO } from '@/api/ecg/doctor' |
| | | import { RoomBedVO, DoctorApi } from '@/api/ecg/doctor' |
| | | import { Barcode } from '@/components/Barcode' |
| | | import { useCheckTypeStore } from '@/store/modules/checkType' |
| | | import { getCheckTypeName, needAutoFeeConfirm } from '../../../../utils/checkTypeFormatter' |
| | |
| | | room: { |
| | | type: Object as PropType<RoomBedVO>, |
| | | required: true |
| | | }, |
| | | setappointmentId: { |
| | | type: [String, Number], |
| | | required: false, |
| | | default: null |
| | | } |
| | | }) |
| | | |
| | |
| | | } |
| | | formRef.value?.resetFields() |
| | | } |
| | | const yddownload = async () => { |
| | | const response = await DoctorApi.yddownload(props.setappointmentId) |
| | | console.log(response, 'xml1') |
| | | console.log(response.fileContent, 'xml2') |
| | | console.log(DoctorApi.yddownload(props.setappointmentId)); |
| | | downloadWordFile(response.fileContent, response.fileName) |
| | | } |
| | | const sgdownload = async () => { |
| | | const obj = await DoctorApi.sgdownload(props.setappointmentId) |
| | | downloadWordFile(obj, '食管心脏电生理诊疗知情同意书.doc') |
| | | } |
| | | const downloadWordFile = (data, filename = 'document') => { |
| | | try { |
| | | // 1. 确保文件名以.doc结尾 |
| | | if (!filename.endsWith('.doc')) { |
| | | filename += '.doc' |
| | | } |
| | | |
| | | // 2. 创建Blob对象,指定MIME类型为Word文档[9,10](@ref) |
| | | // 对于Word 2003 XML格式,使用'application/msword' |
| | | const blob = new Blob([data], { type: 'application/msword' }) |
| | | |
| | | // 3. 为Blob对象创建一个临时的下载URL[8,10](@ref) |
| | | const url = URL.createObjectURL(blob) |
| | | |
| | | // 4. 创建一个隐藏的不可见的<a>链接元素[10](@ref) |
| | | const link = document.createElement('a') |
| | | link.style.display = 'none' // 隐藏链接 |
| | | link.href = url |
| | | link.download = filename // 设置下载的文件名 |
| | | |
| | | // 5. 将链接添加到DOM中,模拟点击,然后移除它[10](@ref) |
| | | document.body.appendChild(link) |
| | | link.click() |
| | | document.body.removeChild(link) |
| | | |
| | | // 6. 释放URL对象以释放内存[9,10](@ref) |
| | | // 使用setTimeout确保下载触发后再释放 |
| | | setTimeout(() => { |
| | | URL.revokeObjectURL(url) |
| | | }, 100) |
| | | |
| | | console.log('文件下载已触发!') |
| | | } catch (error) { |
| | | console.error('下载文件时发生错误:', error) |
| | | // 这里可以添加更友好的用户错误提示,例如使用alert或页面弹窗 |
| | | } |
| | | } |
| | | const getRentInfoByPatId = () => { |
| | | const tempPatId = formData.value.patId |
| | | resetForm() |