From 9b2c74ee4f08fad01c2a16bc6e36df073bfa1dd5 Mon Sep 17 00:00:00 2001
From: WXL <wl_5969728@163.com>
Date: 星期五, 24 四月 2026 09:12:13 +0800
Subject: [PATCH] 推送

---
 src/views/business/assess/assessInfo.vue |  443 +++++++++++++++++++++++++++++++-----------------------
 1 files changed, 253 insertions(+), 190 deletions(-)

diff --git a/src/views/business/assess/assessInfo.vue b/src/views/business/assess/assessInfo.vue
index 36453c1..346cff1 100644
--- a/src/views/business/assess/assessInfo.vue
+++ b/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">
@@ -157,153 +162,205 @@
                 </el-tab-pane>
 
                 <!-- 璇勪及姹囨�籘ab -->
-              <el-tab-pane label="璇勪及姹囨��" name="summary">
-  <div class="assessment-summary">
-    <!-- 鍩烘湰淇℃伅姹囨�� -->
-    <el-descriptions title="鍩烘湰淇℃伅姹囨��" :column="2" border>
-      <el-descriptions-item label="鍣ㄥ畼绫诲瀷">
-        <span class="summary-item">{{ getOrganLabel(scope.row.organno) }}</span>
-      </el-descriptions-item>
-      <el-descriptions-item label="鑾峰彇鏈烘瀯">
-        <span class="summary-item">{{ scope.row.gainhospitalname }}</span>
-      </el-descriptions-item>
-      <el-descriptions-item label="璇勪及娆℃暟" :span="2">
-        <el-tag type="info" size="medium">
-          {{ getAssessmentCount(scope.row) }}娆�
-        </el-tag>
-      </el-descriptions-item>
-      <el-descriptions-item label="鏈�鏂拌瘎浼版椂闂�" :span="2">
-        <span class="highlight-text">{{ getLatestAssessmentTime(scope.row) || "-" }}</span>
-      </el-descriptions-item>
-    </el-descriptions>
+                <el-tab-pane label="璇勪及姹囨��" name="summary">
+                  <div class="assessment-summary">
+                    <!-- 鍩烘湰淇℃伅姹囨�� -->
+                    <el-descriptions title="鍩烘湰淇℃伅姹囨��" :column="2" border>
+                      <el-descriptions-item label="鍣ㄥ畼绫诲瀷">
+                        <span class="summary-item">{{
+                          getOrganLabel(scope.row.organno)
+                        }}</span>
+                      </el-descriptions-item>
+                      <el-descriptions-item label="鑾峰彇鏈烘瀯">
+                        <span class="summary-item">{{
+                          scope.row.gainhospitalname
+                        }}</span>
+                      </el-descriptions-item>
+                      <el-descriptions-item label="璇勪及娆℃暟" :span="2">
+                        <el-tag type="info" size="medium">
+                          {{ getAssessmentCount(scope.row) }}娆�
+                        </el-tag>
+                      </el-descriptions-item>
+                      <el-descriptions-item label="鏈�鏂拌瘎浼版椂闂�" :span="2">
+                        <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-empty description="鏆傛棤璇勪及璁板綍"></el-empty>
-      </div>
+                    <!-- 璇勪及璇︽儏姹囨�� -->
+                    <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)"
-             :key="index"
-             class="assessment-item">
-          <el-card shadow="hover" class="assessment-card">
-            <div slot="header" class="clearfix">
-              <span class="assessment-title">绗瑊{ index + 1 }}娆¤瘎浼�</span>
-              <el-tag
-                :type="getAssessmentTagType(assessment.status)"
-                size="small"
-                class="status-tag"
-              >
-                {{ getAssessmentStatusText(assessment.status) }}
-              </el-tag>
-            </div>
+                      <div v-else>
+                        <!-- 姣忔璇勪及璇︽儏 -->
+                        <div
+                          v-for="(assessment, index) in getOrganAssessments(
+                            scope.row
+                          )"
+                          :key="index"
+                          class="assessment-item"
+                        >
+                          <el-card shadow="hover" class="assessment-card">
+                            <div slot="header" class="clearfix">
+                              <span class="assessment-title"
+                                >绗瑊{ index + 1 }}娆¤瘎浼�</span
+                              >
+                              <el-tag
+                                :type="getAssessmentTagType(assessment.status)"
+                                size="small"
+                                class="status-tag"
+                              >
+                                {{ getAssessmentStatusText(assessment.status) }}
+                              </el-tag>
+                            </div>
 
-            <el-descriptions :column="2" border class="detail-descriptions">
-              <el-descriptions-item label="璇勪及鏃堕棿" :span="2">
-                <span class="time-text">{{ assessment.assessmentTime || "-" }}</span>
-              </el-descriptions-item>
+                            <el-descriptions
+                              :column="2"
+                              border
+                              class="detail-descriptions"
+                            >
+                              <el-descriptions-item label="璇勪及鏃堕棿" :span="2">
+                                <span class="time-text">{{
+                                  assessment.assessmentTime || "-"
+                                }}</span>
+                              </el-descriptions-item>
 
-              <el-descriptions-item label="璇勪及浜�">
-                <el-tag type="info" size="small">
-                  {{ assessment.assessor || "鏈~鍐�" }}
-                </el-tag>
-              </el-descriptions-item>
+                              <el-descriptions-item label="璇勪及浜�">
+                                <el-tag type="info" size="small">
+                                  {{ assessment.assessor || "鏈~鍐�" }}
+                                </el-tag>
+                              </el-descriptions-item>
 
-              <el-descriptions-item label="鍔熻兘鐘舵��">
-                <el-tag
-                  :type="getFunctionStatusTagType(assessment.functionStatus)"
-                  size="small"
-                >
-                  {{ getFunctionStatusText(assessment.functionStatus) }}
-                </el-tag>
-              </el-descriptions-item>
+                              <el-descriptions-item label="鍔熻兘鐘舵��">
+                                <el-tag
+                                  :type="
+                                    getFunctionStatusTagType(
+                                      assessment.functionStatus
+                                    )
+                                  "
+                                  size="small"
+                                >
+                                  {{
+                                    getFunctionStatusText(
+                                      assessment.functionStatus
+                                    )
+                                  }}
+                                </el-tag>
+                              </el-descriptions-item>
 
-              <el-descriptions-item label="璇勪及鎰忚" :span="2">
-                <div class="opinion-content">
-                  {{ assessment.assessmentOpinion || "鏆傛棤璇勪及鎰忚" }}
-                </div>
-              </el-descriptions-item>
+                              <el-descriptions-item label="璇勪及鎰忚" :span="2">
+                                <div class="opinion-content">
+                                  {{
+                                    assessment.assessmentOpinion ||
+                                      "鏆傛棤璇勪及鎰忚"
+                                  }}
+                                </div>
+                              </el-descriptions-item>
 
-              <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)"
-                  style="margin-left: 10px;"
-                >
-                  鏌ョ湅闄勪欢鍒楄〃
-                </el-button>
-              </el-descriptions-item>
-            </el-descriptions>
-          </el-card>
-        </div>
-      </div>
-    </el-card>
+                              <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
+                                    )
+                                  "
+                                  style="margin-left: 10px;"
+                                >
+                                  鏌ョ湅闄勪欢鍒楄〃
+                                </el-button>
+                              </el-descriptions-item>
+                            </el-descriptions>
+                          </el-card>
+                        </div>
+                      </div>
+                    </el-card>
 
-    <!-- 鍣ㄥ畼鍩烘湰淇℃伅鍗$墖 -->
-    <el-card header="鍣ㄥ畼淇℃伅" style="margin-top: 20px;" class="organ-info-card">
-      <el-descriptions :column="2" border>
-        <el-descriptions-item label="鑾峰彇鍓嶆椿妫�">
-          <el-tag
-            :type="
-              scope.row.isbiopsybefore === '1'
-                ? 'success'
-                : 'info'
-            "
-            size="small"
-          >
-            {{ scope.row.isbiopsybefore === "1" ? "鏄�" : "鍚�" }}
-          </el-tag>
-        </el-descriptions-item>
-        <el-descriptions-item label="鑾峰彇鍚庢椿妫�">
-          <el-tag
-            :type="
-              scope.row.isbiopsyafter === '1'
-                ? 'success'
-                : 'info'
-            "
-            size="small"
-          >
-            {{ scope.row.isbiopsyafter === "1" ? "鏄�" : "鍚�" }}
-          </el-tag>
-        </el-descriptions-item>
-        <el-descriptions-item label="杈圭紭鍣ㄥ畼">
-          <el-tag
-            :type="
-              scope.row.ismarginalorgan === '1'
-                ? 'warning'
-                : 'info'
-            "
-            size="small"
-          >
-            {{
-              scope.row.ismarginalorgan === "1" ? "鏄�" : "鍚�"
-            }}
-          </el-tag>
-        </el-descriptions-item>
-        <el-descriptions-item label="鐥呭師鑿岄槼鎬�">
-          <el-tag
-            :type="
-              scope.row.ispathogenpositive === '1'
-                ? 'danger'
-                : 'info'
-            "
-            size="small"
-          >
-            {{
-              scope.row.ispathogenpositive === "1" ? "鏄�" : "鍚�"
-            }}
-          </el-tag>
-        </el-descriptions-item>
-      </el-descriptions>
-    </el-card>
-  </div>
-</el-tab-pane>
+                    <!-- 鍣ㄥ畼鍩烘湰淇℃伅鍗$墖 -->
+                    <el-card
+                      header="鍣ㄥ畼淇℃伅"
+                      style="margin-top: 20px;"
+                      class="organ-info-card"
+                    >
+                      <el-descriptions :column="2" border>
+                        <el-descriptions-item label="鑾峰彇鍓嶆椿妫�">
+                          <el-tag
+                            :type="
+                              scope.row.isbiopsybefore === '1'
+                                ? 'success'
+                                : 'info'
+                            "
+                            size="small"
+                          >
+                            {{ scope.row.isbiopsybefore === "1" ? "鏄�" : "鍚�" }}
+                          </el-tag>
+                        </el-descriptions-item>
+                        <el-descriptions-item label="鑾峰彇鍚庢椿妫�">
+                          <el-tag
+                            :type="
+                              scope.row.isbiopsyafter === '1'
+                                ? 'success'
+                                : 'info'
+                            "
+                            size="small"
+                          >
+                            {{ scope.row.isbiopsyafter === "1" ? "鏄�" : "鍚�" }}
+                          </el-tag>
+                        </el-descriptions-item>
+                        <el-descriptions-item label="杈圭紭鍣ㄥ畼">
+                          <el-tag
+                            :type="
+                              scope.row.ismarginalorgan === '1'
+                                ? 'warning'
+                                : 'info'
+                            "
+                            size="small"
+                          >
+                            {{
+                              scope.row.ismarginalorgan === "1" ? "鏄�" : "鍚�"
+                            }}
+                          </el-tag>
+                        </el-descriptions-item>
+                        <el-descriptions-item label="鐥呭師鑿岄槼鎬�">
+                          <el-tag
+                            :type="
+                              scope.row.ispathogenpositive === '1'
+                                ? 'danger'
+                                : 'info'
+                            "
+                            size="small"
+                          >
+                            {{
+                              scope.row.ispathogenpositive === "1" ? "鏄�" : "鍚�"
+                            }}
+                          </el-tag>
+                        </el-descriptions-item>
+                      </el-descriptions>
+                    </el-card>
+                  </div>
+                </el-tab-pane>
               </el-tabs>
             </div>
           </template>
@@ -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();
@@ -567,40 +627,42 @@
         this.activeTabMap.set(organ.organno, tab.name);
       }
     },
-// 鑾峰彇鍔熻兘鐘舵�佹爣绛剧被鍨�
-  getFunctionStatusTagType(status) {
-    const typeMap = {
-      "1": "success",  // 姝e父
-      "2": "warning",  // 杞诲害寮傚父
-      "3": "danger",   // 閲嶅害寮傚父
-      "4": "info"      // 鏃犳硶璇勪及
-    };
-    return typeMap[status] || "info";
-  },
+    // 鑾峰彇鍔熻兘鐘舵�佹爣绛剧被鍨�
+    getFunctionStatusTagType(status) {
+      const typeMap = {
+        "1": "success", // 姝e父
+        "2": "warning", // 杞诲害寮傚父
+        "3": "danger", // 閲嶅害寮傚父
+        "4": "info" // 鏃犳硶璇勪及
+      };
+      return typeMap[status] || "info";
+    },
 
-  // 鑾峰彇鍔熻兘鐘舵�佹枃鏈�
-  getFunctionStatusText(status) {
-    const textMap = {
-      "1": "姝e父",
-      "2": "杞诲害寮傚父",
-      "3": "閲嶅害寮傚父",
-      "4": "鏃犳硶璇勪及"
-    };
-    return textMap[status] || "鏈瘎浼�";
-  },
+    // 鑾峰彇鍔熻兘鐘舵�佹枃鏈�
+    getFunctionStatusText(status) {
+      const textMap = {
+        "1": "姝e父",
+        "2": "杞诲害寮傚父",
+        "3": "閲嶅害寮傚父",
+        "4": "鏃犳硶璇勪及"
+      };
+      return textMap[status] || "鏈瘎浼�";
+    },
 
-  // 鏄剧ず闄勪欢鍒楄〃
-  showAttachmentList(attachments, assessmentNumber) {
-    if (!attachments || attachments.length === 0) {
-      this.$message.info(`绗�${assessmentNumber}娆¤瘎浼版殏鏃犻檮浠禶);
-      return;
-    }
+    // 鏄剧ず闄勪欢鍒楄〃
+    showAttachmentList(attachments, assessmentNumber) {
+      if (!attachments || attachments.length === 0) {
+        this.$message.info(`绗�${assessmentNumber}娆¤瘎浼版殏鏃犻檮浠禶);
+        return;
+      }
 
-    this.$alert(
-      `<div>
+      this.$alert(
+        `<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,18 +675,20 @@
                 涓嬭浇
               </el-button>
             </li>
-          `).join('')}
+          `
+            )
+            .join("")}
         </ul>
       </div>`,
-      '闄勪欢鍒楄〃',
-      {
-        dangerouslyUseHTMLString: true,
-        showConfirmButton: false,
-        showCancelButton: true,
-        cancelButtonText: '鍏抽棴'
-      }
-    );
-  },
+        "闄勪欢鍒楄〃",
+        {
+          dangerouslyUseHTMLString: true,
+          showConfirmButton: false,
+          showCancelButton: true,
+          cancelButtonText: "鍏抽棴"
+        }
+      );
+    },
     // 鑾峰彇鍣ㄥ畼鐨勮瘎浼板垪琛�
     getOrganAssessments(organ) {
       if (!organ.assesscontent) return [];
@@ -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;
 }
 
@@ -1565,7 +1628,7 @@
   background-color: #fafafa;
 }
 
-::v-deep .el-table--enable-row-hover .el-table__body tr:hover>td {
+::v-deep .el-table--enable-row-hover .el-table__body tr:hover > td {
   background-color: #ecf5ff;
 }
 
@@ -1635,7 +1698,7 @@
 }
 
 ::v-deep .el-tabs__item.is-active {
-  color: #409EFF;
+  color: #409eff;
   font-weight: 600;
 }
 
@@ -1643,7 +1706,7 @@
   background-color: #e4e7ed;
 }
 
-::v-deep .el-tabs--card>.el-tabs__header .el-tabs__item.is-active {
+::v-deep .el-tabs--card > .el-tabs__header .el-tabs__item.is-active {
   background-color: #fff;
   border-bottom-color: #fff;
 }

--
Gitblit v1.9.3