WXL
3 天以前 dc082351978a1e9f75d7a1471a0ca7ebeac552a5
src/components/CaseBasicInfo/index.vue
@@ -2,6 +2,16 @@
  <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"
@@ -13,9 +23,9 @@
    </div>
    <el-descriptions v-if="basicData" :column="column" border>
      <!-- 1. 案例编号 -->
      <el-descriptions-item label="案例编号">
        {{ basicData.caseNo || "--" }}
      <!-- 1. 住院号 -->
      <el-descriptions-item label="住院号">
        {{ basicData.inpatientno || "--" }}
      </el-descriptions-item>
      <!-- 2. 潜在捐献者姓名 -->
@@ -59,7 +69,7 @@
      <!-- 7. 所在医疗机构 -->
      <el-descriptions-item label="所在医疗机构">
        {{ basicData.treatmenthospitalname || basicData.hospitalName || "--" }}
        {{ basicData.currentMedicalInstitution || "--" }}
      </el-descriptions-item>
      <!-- 8. 协调员 -->
@@ -100,14 +110,24 @@
    <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: {
@@ -173,7 +193,9 @@
      basicData: null,
      // 字典选项
      sexOptions: [],
      bloodTypeOptions: []
      bloodTypeOptions: [],
      selectedAttachmentIds: ["123", "456"],
      finalAttachments: []
    };
  },
  computed: {
@@ -234,7 +256,16 @@
        console.warn("加载字典失败:", error);
      }
    },
    // 打开各阶段附件弹框
    openStageAttachments() {
      this.$refs.stageDialog.open();
    },
    onAttachmentsConfirm(list) {
      this.finalAttachments = list;
      console.log("选中的阶段附件:", list);
      // 可直接提交给接口
    },
    // 加载基本信息
    async loadBasicInfo() {
      if (!this.caseId) return;
@@ -245,7 +276,7 @@
        if (response.code === 200) {
          this.basicData = this.mapApiData(response.data);
          console.log(this.basicData );
          console.log(this.basicData);
          this.loading = false;
        } else {
@@ -273,6 +304,8 @@
        sex: apiData.sex,
        age: apiData.age,
        ageunit: apiData.ageunit,
        inpatientno: apiData.inpatientno,
        currentMedicalInstitution: apiData.currentMedicalInstitution,
        workflow: apiData.workflow,
        bloodType: apiData.bloodType || apiData.bloodtype,
        idcardno: apiData.idcardno || apiData.idCardNo,