WXL
2025-12-29 2431480f5859ef40dfdf0eb19e1ba6ddebbd9ef2
src/views/business/assess/assessInfo.vue
@@ -171,17 +171,19 @@
      </el-table>
      <!-- 器官评估详情 -->
      <el-collapse
        v-model="activeOrgans"
        accordion
        class="organ-detail-collapse"
      >
     <el-collapse v-model="activeOrgans" accordion class="organ-detail-collapse">
        <el-collapse-item
          v-for="organ in organAssessmentList"
          :key="organ.organType"
          :name="organ.organType"
          :title="getOrganTitle(organ)"
        >
          <div class="organ-detail-header">
            <span class="organ-name">{{ getOrganName(organ.organType) }}评估详情</span>
            <span class="attachment-count" v-if="organ.attachments && organ.attachments.length > 0">
              附件数量: {{ organ.attachments.length }}
            </span>
          </div>
          <organ-assessment-form
            :organ-data="organ"
            :readonly="!canAssessOrgan(organ)"
@@ -283,6 +285,7 @@
  created() {
    this.assessmentId = this.$route.query.id;
    this.getAssessmentDetail();
  },
  methods: {
    // 获取评估详情 - 使用Mock数据
@@ -293,17 +296,26 @@
          if (response.code === 200) {
            this.assessmentData = response.data.caseInfo;
            this.organAssessmentList = response.data.organAssessments || [];
            this.attachmentList = response.data.attachments || [];
          } else {
            this.$message.error("获取评估详情失败");
            // 确保每个器官评估数据都有attachments数组
            this.organAssessmentList.forEach(organ => {
              if (!organ.attachments) {
                organ.attachments = [];
              }
            });
          }
          this.assessmentLoading = false;
        })
        .catch(error => {
          console.error("获取评估详情失败:", error);
          this.assessmentLoading = false;
          this.$message.error("获取评估详情失败");
        });
    },
    // 新增方法:获取器官名称
    getOrganName(organType) {
      const organ = this.organTypeOptions.find(opt => opt.value === organType);
      return organ ? organ.label : organType;
    },
    // 状态过滤器
    statusFilter(status) {
@@ -353,12 +365,11 @@
    getRowClassName({ row }) {
      return this.canAssessOrgan(row) ? "assessable-row" : "non-assessable-row";
    },
    // 获取器官标题
    // 修改方法:更新器官标题显示
    getOrganTitle(organ) {
      const organName =
        this.organTypeOptions.find(opt => opt.value === organ.organType)
          ?.label || organ.organType;
      return `${organName}评估详情(${organ.department})`;
      const organName = this.getOrganName(organ.organType);
      const attachmentCount = organ.attachments ? organ.attachments.length : 0;
      return `${organName}评估详情(${organ.department})${attachmentCount > 0 ? ` · ${attachmentCount}个附件` : ''}`;
    },
    // 器官评估
    handleOrganAssess(organ) {
@@ -427,7 +438,28 @@
.organ-detail-collapse {
  margin-top: 20px;
}
.organ-detail-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
  padding-bottom: 10px;
  border-bottom: 1px solid #ebeef5;
}
.organ-name {
  font-size: 16px;
  font-weight: bold;
  color: #303133;
}
.attachment-count {
  font-size: 14px;
  color: #409EFF;
  background-color: #ecf5ff;
  padding: 4px 8px;
  border-radius: 4px;
}
::v-deep .assessable-row {
  background-color: #f0f9ff;
}