WXL
16 小时以前 9b2c74ee4f08fad01c2a16bc6e36df073bfa1dd5
src/views/business/assess/assessInfo.vue
@@ -1,6 +1,11 @@
<template>
  <div class="assessment-detail">
    <el-card class="basic-info-card">
    <!-- 基础案例信息 -->
    <case-basic-info
      :case-id="caseId"
      :show-attachment="true"
    />
    <!-- <el-card class="basic-info-card">
      <div slot="header" class="clearfix">
        <span>案例基本信息</span>
        <el-button
@@ -52,7 +57,7 @@
          </el-tag>
        </el-descriptions-item>
      </el-descriptions>
    </el-card>
    </el-card> -->
    <el-card class="organ-assessment-card">
      <div slot="header" class="clearfix">
@@ -162,10 +167,14 @@
    <!-- 基本信息汇总 -->
    <el-descriptions title="基本信息汇总" :column="2" border>
      <el-descriptions-item label="器官类型">
        <span class="summary-item">{{ getOrganLabel(scope.row.organno) }}</span>
                        <span class="summary-item">{{
                          getOrganLabel(scope.row.organno)
                        }}</span>
      </el-descriptions-item>
      <el-descriptions-item label="获取机构">
        <span class="summary-item">{{ scope.row.gainhospitalname }}</span>
                        <span class="summary-item">{{
                          scope.row.gainhospitalname
                        }}</span>
      </el-descriptions-item>
      <el-descriptions-item label="评估次数" :span="2">
        <el-tag type="info" size="medium">
@@ -173,24 +182,39 @@
        </el-tag>
      </el-descriptions-item>
      <el-descriptions-item label="最新评估时间" :span="2">
        <span class="highlight-text">{{ getLatestAssessmentTime(scope.row) || "-" }}</span>
                        <span class="highlight-text">{{
                          getLatestAssessmentTime(scope.row) || "-"
                        }}</span>
      </el-descriptions-item>
    </el-descriptions>
    <!-- 评估详情汇总 -->
    <el-card header="评估详情列表" style="margin-top: 20px;" class="assessment-detail-card">
      <div v-if="getOrganAssessments(scope.row).length === 0" class="no-assessment">
                    <el-card
                      header="评估详情列表"
                      style="margin-top: 20px;"
                      class="assessment-detail-card"
                    >
                      <div
                        v-if="getOrganAssessments(scope.row).length === 0"
                        class="no-assessment"
                      >
        <el-empty description="暂无评估记录"></el-empty>
      </div>
      <div v-else>
        <!-- 每次评估详情 -->
        <div v-for="(assessment, index) in getOrganAssessments(scope.row)"
                        <div
                          v-for="(assessment, index) in getOrganAssessments(
                            scope.row
                          )"
             :key="index"
             class="assessment-item">
                          class="assessment-item"
                        >
          <el-card shadow="hover" class="assessment-card">
            <div slot="header" class="clearfix">
              <span class="assessment-title">第{{ index + 1 }}次评估</span>
                              <span class="assessment-title"
                                >第{{ index + 1 }}次评估</span
                              >
              <el-tag
                :type="getAssessmentTagType(assessment.status)"
                size="small"
@@ -200,9 +224,15 @@
              </el-tag>
            </div>
            <el-descriptions :column="2" border class="detail-descriptions">
                            <el-descriptions
                              :column="2"
                              border
                              class="detail-descriptions"
                            >
              <el-descriptions-item label="评估时间" :span="2">
                <span class="time-text">{{ assessment.assessmentTime || "-" }}</span>
                                <span class="time-text">{{
                                  assessment.assessmentTime || "-"
                                }}</span>
              </el-descriptions-item>
              <el-descriptions-item label="评估人">
@@ -213,27 +243,50 @@
              <el-descriptions-item label="功能状态">
                <el-tag
                  :type="getFunctionStatusTagType(assessment.functionStatus)"
                                  :type="
                                    getFunctionStatusTagType(
                                      assessment.functionStatus
                                    )
                                  "
                  size="small"
                >
                  {{ getFunctionStatusText(assessment.functionStatus) }}
                                  {{
                                    getFunctionStatusText(
                                      assessment.functionStatus
                                    )
                                  }}
                </el-tag>
              </el-descriptions-item>
              <el-descriptions-item label="评估意见" :span="2">
                <div class="opinion-content">
                  {{ assessment.assessmentOpinion || "暂无评估意见" }}
                                  {{
                                    assessment.assessmentOpinion ||
                                      "暂无评估意见"
                                  }}
                </div>
              </el-descriptions-item>
              <el-descriptions-item label="附件数量" :span="2" v-if="assessment.attachments && assessment.attachments.length > 0">
                              <el-descriptions-item
                                label="附件数量"
                                :span="2"
                                v-if="
                                  assessment.attachments &&
                                    assessment.attachments.length > 0
                                "
                              >
                <el-tag type="success" size="small">
                  {{ assessment.attachments.length }}个
                </el-tag>
                <el-button
                  type="text"
                  size="mini"
                  @click="showAttachmentList(assessment.attachments, index + 1)"
                                  @click="
                                    showAttachmentList(
                                      assessment.attachments,
                                      index + 1
                                    )
                                  "
                  style="margin-left: 10px;"
                >
                  查看附件列表
@@ -246,7 +299,11 @@
    </el-card>
    <!-- 器官基本信息卡片 -->
    <el-card header="器官信息" style="margin-top: 20px;" class="organ-info-card">
                    <el-card
                      header="器官信息"
                      style="margin-top: 20px;"
                      class="organ-info-card"
                    >
      <el-descriptions :column="2" border>
        <el-descriptions-item label="获取前活检">
          <el-tag
@@ -427,15 +484,17 @@
  assessedit,
  assessAdd
} from "@/api/businessApi/index";
import CaseBasicInfo from "@/components/CaseBasicInfo";
import FilePreviewDialog from "@/components/FilePreviewDialog";
import OrganAssessmentForm from "@/components/assessInfoComponents/OrganAssessmentForm.vue";
export default {
  name: "AssessmentDetail",
  components: { OrganAssessmentForm, FilePreviewDialog },
  components: { OrganAssessmentForm, FilePreviewDialog, CaseBasicInfo },
  dicts: ["sys_user_sex", "sys_Organ", "sys_0_1"],
  data() {
    return {
      caseId: null,
      // 是否编辑模式
      isEdit: false,
      // 加载状态
@@ -550,6 +609,7 @@
  },
  created() {
    this.infoid = this.$route.query.infoid;
    this.caseId = this.infoid;
    this.assessmentId = this.$route.query.id;
    this.isEdit = this.$route.query.assess === "true";
    this.getAssessmentDetail();
@@ -600,7 +660,9 @@
      `<div>
        <h4>第${assessmentNumber}次评估附件列表</h4>
        <ul style="list-style: none; padding-left: 0;">
          ${attachments.map((item, index) => `
          ${attachments
            .map(
              (item, index) => `
            <li style="margin: 5px 0; padding: 5px; background: #f5f7fa; border-radius: 4px;">
              <i class="el-icon-document"></i>
              <span style="margin-left: 8px;">${item.fileName}</span>
@@ -613,15 +675,17 @@
                下载
              </el-button>
            </li>
          `).join('')}
          `
            )
            .join("")}
        </ul>
      </div>`,
      '附件列表',
        "附件列表",
      {
        dangerouslyUseHTMLString: true,
        showConfirmButton: false,
        showCancelButton: true,
        cancelButtonText: '关闭'
          cancelButtonText: "关闭"
      }
    );
  },
@@ -718,8 +782,8 @@
        if (response.code === 200) {
          this.$message.success("评估表保存成功!");
          if (!this.assessmentData.id && response.data && response.data.id) {
            this.assessmentData.id = response.data.id;
          if (!this.assessmentData.id && response.data) {
            this.assessmentData.id = response.data;
          }
          this.refreshKey += 1; // 触发重新渲染
        } else {
@@ -957,7 +1021,6 @@
      } else {
        detailData = response;
      }
      this.assessmentData = {
        id: detailData.id || this.assessmentId,
        infoid: detailData.infoid || this.infoid,
@@ -1467,7 +1530,7 @@
}
.highlight-text {
  color: #409EFF;
  color: #409eff;
  font-weight: 500;
}
@@ -1502,7 +1565,7 @@
.assessment-card:hover {
  box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  border-color: #409EFF;
  border-color: #409eff;
}
.assessment-title {
@@ -1517,7 +1580,7 @@
}
.time-text {
  color: #67C23A;
  color: #67c23a;
  font-weight: 500;
}
@@ -1635,7 +1698,7 @@
}
::v-deep .el-tabs__item.is-active {
  color: #409EFF;
  color: #409eff;
  font-weight: 600;
}