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