| | |
| | | :close-on-click-modal="false" |
| | | @close="handleClose" |
| | | > |
| | | <!-- 案例信息展示区域 --> |
| | | <div v-if="selectedCase && !isEdit" class="selected-case-info"> |
| | | <el-alert |
| | | title="关联案例信息" |
| | | type="success" |
| | | :closable="false" |
| | | style="margin-bottom: 16px;" |
| | | /> |
| | | <el-card shadow="never" class="case-info-card"> |
| | | <el-descriptions :column="2" border> |
| | | <el-descriptions-item label="案例编号">{{ selectedCase.caseNo }}</el-descriptions-item> |
| | | <el-descriptions-item label="患者姓名">{{ selectedCase.name }}</el-descriptions-item> |
| | | <el-descriptions-item label="性别"> |
| | | <dict-tag |
| | | :options="dict.type.sys_user_sex" |
| | | :value="selectedCase.sex" |
| | | /> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="年龄">{{ selectedCase.age }}</el-descriptions-item> |
| | | <el-descriptions-item label="疾病诊断">{{ selectedCase.diagnosisname }}</el-descriptions-item> |
| | | <el-descriptions-item label="治疗医院">{{ selectedCase.treatmenthospitalname }}</el-descriptions-item> |
| | | </el-descriptions> |
| | | </el-card> |
| | | </div> |
| | | |
| | | <el-form |
| | | ref="editForm" |
| | | :model="formData" |
| | |
| | | <el-form-item label="案例编号" prop="caseNo"> |
| | | <el-input |
| | | v-model="formData.caseNo" |
| | | placeholder="请输入案例编号" |
| | | :disabled="true" |
| | | placeholder="自动从案例获取" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-form-item label="患者姓名" prop="patName"> |
| | | <el-input |
| | | v-model="formData.patName" |
| | | placeholder="请输入患者姓名" |
| | | :disabled="true" |
| | | placeholder="自动从案例获取" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-form-item label="性别" prop="sex"> |
| | | <el-select |
| | | v-model="formData.sex" |
| | | :disabled="true" |
| | | placeholder="请选择性别" |
| | | style="width: 100%" |
| | | > |
| | |
| | | v-model="formData.age" |
| | | :min="0" |
| | | :max="120" |
| | | placeholder="请输入年龄" |
| | | :disabled="true" |
| | | placeholder="自动从案例获取" |
| | | style="width: 100%" |
| | | /> |
| | | </el-form-item> |
| | |
| | | <el-form-item label="疾病诊断" prop="diagnosisname"> |
| | | <el-input |
| | | v-model="formData.diagnosisname" |
| | | placeholder="请输入疾病诊断名称" |
| | | :disabled="true" |
| | | placeholder="自动从案例获取" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | <el-form-item label="治疗医院" prop="treatmentHospitalName"> |
| | | <el-input |
| | | v-model="formData.treatmentHospitalName" |
| | | placeholder="请输入治疗医院名称" |
| | | :disabled="true" |
| | | placeholder="自动从案例获取" |
| | | /> |
| | | </el-form-item> |
| | | </el-col> |
| | |
| | | UploadAttachment, |
| | | FilePreviewDialog |
| | | }, |
| | | dicts: ["sys_user_sex", "sys_BloodType"], |
| | | props: { |
| | | editOpen: { |
| | | type: Boolean, |
| | |
| | | isEdit: { |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | selectedCase: { |
| | | type: Object, |
| | | default: null |
| | | } |
| | | }, |
| | | data() { |
| | |
| | | watch: { |
| | | editOpen(val) { |
| | | if (val) { |
| | | this.formData = this.isEdit |
| | | ? { ...this.getDefaultFormData(), ...this.transportData } |
| | | : this.getDefaultFormData(); |
| | | if (this.isEdit) { |
| | | // 编辑模式,使用传入的转运单数据 |
| | | this.formData = { ...this.getDefaultFormData(), ...this.transportData }; |
| | | } else { |
| | | // 新增模式 |
| | | this.formData = this.getDefaultFormData(); |
| | | |
| | | // 如果有选中的案例,用案例信息填充表单 |
| | | if (this.selectedCase) { |
| | | this.fillFormWithCaseData(this.selectedCase); |
| | | } |
| | | } |
| | | |
| | | this.initAttachmentList(); |
| | | |
| | |
| | | this.$refs.editForm && this.$refs.editForm.clearValidate(); |
| | | }); |
| | | } |
| | | }, |
| | | |
| | | selectedCase: { |
| | | handler(newVal) { |
| | | if (newVal && !this.isEdit) { |
| | | this.fillFormWithCaseData(newVal); |
| | | } |
| | | }, |
| | | deep: true |
| | | } |
| | | }, |
| | | methods: { |
| | |
| | | updateBy: undefined, |
| | | updateTime: undefined, |
| | | delFlag: 0 |
| | | }; |
| | | }, |
| | | |
| | | /** 用案例数据填充表单 */ |
| | | fillFormWithCaseData(caseData) { |
| | | this.formData = { |
| | | ...this.formData, |
| | | caseNo: caseData.caseNo || '', |
| | | patName: caseData.name || '', |
| | | sex: caseData.sex || '', |
| | | age: caseData.age || '', |
| | | diagnosisname: caseData.diagnosisname || '', |
| | | treatmentHospitalName: caseData.treatmenthospitalname || '', |
| | | treatmentDeptName: caseData.treatmentdeptname || '', |
| | | // 可以设置一些默认值 |
| | | transportStartPlace: caseData.treatmenthospitalname || '', |
| | | contactPerson: caseData.coordinatorName || '' |
| | | }; |
| | | }, |
| | | |
| | |
| | | createTime: dayjs().format('YYYY-MM-DD HH:mm:ss'), |
| | | transportId: this.formData.id, |
| | | delFlag: 0, |
| | | caseNo:this.formData.caseNo |
| | | caseNo: this.formData.caseNo |
| | | }; |
| | | |
| | | this.formData.annexfilesList.push(attachmentObj); |
| | |
| | | font-size: 13px; |
| | | } |
| | | |
| | | .file-path { |
| | | font-size: 12px; |
| | | color: #909399; |
| | | /* 案例信息展示样式 */ |
| | | .selected-case-info { |
| | | margin-bottom: 20px; |
| | | } |
| | | |
| | | ::v-deep .el-card__header { |
| | | background: #f5f7fa; |
| | | border-bottom: 1px solid #ebeef5; |
| | | .case-info-card { |
| | | border-left: 4px solid #67c23a; |
| | | } |
| | | </style> |