WXL
2026-09-17 3df460667d74868d0a54fce12d5e881bbd6c0c1a
src/views/business/course/index.vue
@@ -62,7 +62,11 @@
        <!-- 右侧内容 -->
        <div class="content-section">
          <case-basic-info :case-id="caseId" :show-attachment="true" />
          <case-basic-info
            :case-id="caseId"
            :show-attachment="true"
            :column="descriptionColumn"
          />
          <div class="stage-detail-section">
            <div class="section-header">
@@ -102,7 +106,7 @@
  }
  // 完成 / 完成XX
  if (/完成/.test(l)) {
  if (/完成|完结|已确认/.test(l)) {
    return "completed";
  }
@@ -126,6 +130,7 @@
import OrganUtilizationStage from "./components/OrganUtilizationStage";
import dayjs from "dayjs";
import readonlyDescriptionsMixin from "./components/readonlyDescriptionsMixin";
// ============== 字典映射(你后面自己改) ==============
const STAGE_DICT_MAP = {
@@ -134,7 +139,7 @@
  medicalevaluation: "state_Evaluation",
  relativesconfirmation: "affirm_type",
  donateflowcharts: "sys_ethical",
  donateorgansService: "allocation_Status",
  donateorgansService: "organ_allocation_status",
  donationwitness: "Obtain_status",
  donatecompletioninfo: "utilize_statue"
};
@@ -165,6 +170,7 @@
export default {
  name: "DonationProcessDetail",
  mixins: [readonlyDescriptionsMixin],
  components: {
    CaseBasicInfo,
    DonorMaintenanceStage,
@@ -182,7 +188,7 @@
    "state_Evaluation",
    "affirm_type",
    "sys_ethical",
    "allocation_Status",
    "organ_allocation_status",
    "Obtain_status",
    "utilize_statue"
  ], // 这里只声明一个即可,其余通过 dict.type[xxx] 使用
@@ -368,6 +374,7 @@
  flex-direction: column;
  gap: 20px;
  min-height: 0;
  min-width: 0;
  /* 重要:允许flex子项压缩 */
}
@@ -416,7 +423,7 @@
.stage-detail-section {
  flex: 1;
  /* 占据剩余空间 */
  /* 占据剩余空间,铺满右侧内容区 */
  background: white;
  border-radius: 6px;
  padding: 20px;
@@ -425,7 +432,9 @@
  flex-direction: column;
  min-height: 400px;
  /* 最小高度 */
  max-height: 800px;
  min-width: 0;
  /* 重要:允许 flex 子项收缩 */
  /* max-height: 1000px; */
  /* 最大高度,可根据需要调整 */
  overflow: hidden;
  /* 隐藏外层溢出 */
@@ -434,11 +443,21 @@
.stage-content-wrapper {
  flex: 1;
  overflow-y: auto;
  overflow-x: auto;
  /* 阶段详情内部可滚动 */
  margin-top: 20px;
  padding-right: 8px;
  min-height: 0;
  /* 重要 */
  min-width: 0;
  /* 重要:允许 flex 子项收缩,否则固定列宽的表格会把内容撑宽并溢出 */
}
/* 约束各 Stage 子组件根节点宽度,配合上方 min-width:0,
   让 el-table 在自身内部出现横向滚动条,而不是被外层 overflow:hidden 裁掉 */
.stage-content-wrapper :deep(> div) {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}
.stage-content-wrapper::-webkit-scrollbar {
@@ -643,5 +662,8 @@
    min-height: 300px;
    max-height: 400px;
  }
  .basic-info-card {
    margin-bottom: 0;
  }
}
</style>