| | |
| | | <el-card class="basic-info-card" v-loading="loading"> |
| | | <div slot="header" class="clearfix"> |
| | | <span>案例基本信息</span> |
| | | |
| | | <el-button |
| | | v-if="showAttachment" |
| | | type="text" |
| | | style="float: right; margin-left: 12px" |
| | | @click="openStageAttachments" |
| | | > |
| | | <i class="el-icon-folder"></i> 查看各阶段附件 |
| | | </el-button> |
| | | |
| | | <el-button |
| | | v-if="showAttachment && hasAttachments" |
| | | style="float: right; padding: 3px 0" |
| | |
| | | <div v-else class="empty-state"> |
| | | <el-empty description="暂无案例信息" :image-size="100"></el-empty> |
| | | </div> |
| | | <!-- 各阶段附件弹框 --> |
| | | <case-stage-attachments-dialog |
| | | ref="stageDialog" |
| | | :case-id="caseId" |
| | | :selected-ids="selectedAttachmentIds" |
| | | @confirm="onAttachmentsConfirm" |
| | | /> |
| | | </el-card> |
| | | </template> |
| | | |
| | | <script> |
| | | import { getDonatebaseinfo } from "@/api/project/donatebaseinfo"; |
| | | import { getDonatebaseinfo, getfileList } from "@/api/project/donatebaseinfo"; |
| | | import CaseStageAttachmentsDialog from "@/components/CaseStageAttachmentsDialog"; |
| | | |
| | | export default { |
| | | name: "CaseBasicInfoSimple", |
| | | components: { CaseStageAttachmentsDialog }, |
| | | |
| | | props: { |
| | | // 案例ID |
| | | caseId: { |
| | |
| | | basicData: null, |
| | | // 字典选项 |
| | | sexOptions: [], |
| | | bloodTypeOptions: [] |
| | | bloodTypeOptions: [], |
| | | selectedAttachmentIds: ["123", "456"], |
| | | finalAttachments: [] |
| | | }; |
| | | }, |
| | | computed: { |
| | |
| | | console.warn("加载字典失败:", error); |
| | | } |
| | | }, |
| | | // 打开各阶段附件弹框 |
| | | openStageAttachments() { |
| | | this.$refs.stageDialog.open(); |
| | | }, |
| | | |
| | | onAttachmentsConfirm(list) { |
| | | this.finalAttachments = list; |
| | | console.log("选中的阶段附件:", list); |
| | | // 可直接提交给接口 |
| | | }, |
| | | // 加载基本信息 |
| | | async loadBasicInfo() { |
| | | if (!this.caseId) return; |