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"
@@ -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 {