| | |
| | | <!-- 右侧内容区域 - 独立滚动 --> |
| | | <div class="content-section"> |
| | | <!-- 案例基本信息 - 固定高度,可滚动 --> |
| | | <div class="basic-info-section"> |
| | | <div class="section-header"> |
| | | <h3>案例基本信息</h3> |
| | | <el-button |
| | | type="primary" |
| | | size="small" |
| | | @click="handleEditBasicInfo" |
| | | > |
| | | 编辑信息 |
| | | </el-button> |
| | | </div> |
| | | |
| | | <div class="basic-info-content"> |
| | | <el-descriptions :column="2" border> |
| | | <el-descriptions-item label="住院号"> |
| | | {{ caseInfo.caseNo }} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="住院号"> |
| | | {{ caseInfo.hospitalNo }} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="捐献者姓名"> |
| | | {{ caseInfo.donorName }} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="性别"> |
| | | <dict-tag |
| | | :options="dict.type.sys_user_sex" |
| | | :value="parseInt(caseInfo.gender)" |
| | | /> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="年龄"> |
| | | {{ caseInfo.age }} 岁 |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="血型"> |
| | | <dict-tag |
| | | :options="dict.type.sys_BloodType" |
| | | :value="caseInfo.bloodType" |
| | | /> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="疾病诊断"> |
| | | {{ caseInfo.diagnosis }} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="案例状态"> |
| | | <el-tag :type="getOverallStatusTag(caseInfo.status)"> |
| | | {{ getStatusText(caseInfo.status) }} |
| | | </el-tag> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="创建时间"> |
| | | {{ formatTime(caseInfo.createTime) }} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="登记人"> |
| | | {{ caseInfo.registrant }} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item label="当前阶段"> |
| | | {{ getCurrentStageName() }} |
| | | </el-descriptions-item> |
| | | </el-descriptions> |
| | | </div> |
| | | </div> |
| | | <case-basic-info :case-id="caseId" :show-attachment="true" /> |
| | | |
| | | <!-- 阶段详情内容 - 自适应高度,可滚动 --> |
| | | <div class="stage-detail-section"> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { getDonatebaseinfoflow } from "@/api/project/donatebaseinfo"; |
| | | import { getDonationProcessDetail } from "./donationProcess"; |
| | | import DonorMaintenanceStage from "./components/DonorMaintenanceStage"; |
| | | import MedicalAssessmentStage from "./components/MedicalAssessmentStage"; |
| | |
| | | import OrganAllocationStage from "./components/OrganAllocationStage"; |
| | | import OrganProcurementStage from "./components/OrganProcurementStage"; |
| | | import OrganUtilizationStage from "./components/OrganUtilizationStage"; |
| | | import CaseBasicInfo from "@/components/CaseBasicInfo"; |
| | | |
| | | import dayjs from "dayjs"; |
| | | |
| | | export default { |
| | |
| | | EthicalReviewStage, |
| | | OrganAllocationStage, |
| | | OrganProcurementStage, |
| | | OrganUtilizationStage |
| | | OrganUtilizationStage, |
| | | CaseBasicInfo |
| | | }, |
| | | dicts: ["sys_user_sex", "sys_BloodType", "sys_0_1"], |
| | | data() { |
| | | return { |
| | | caseId: null, |
| | | infoid: null, |
| | | caseInfo: { |
| | | id: "", |
| | | caseNo: "", |
| | |
| | | { |
| | | key: "organ_procurement", |
| | | name: "器官获取", |
| | | status: "pending", |
| | | status: "in_progress", |
| | | operator: "待分配" |
| | | }, |
| | | { |
| | | key: "organ_utilization", |
| | | name: "器官利用", |
| | | status: "pending", |
| | | status: "in_progress", |
| | | operator: "待分配" |
| | | } |
| | | ], |
| | |
| | | computed: {}, |
| | | created() { |
| | | this.caseId = this.$route.query.id; |
| | | console.log(this.caseId, "this.caseId"); |
| | | this.infoid = this.$route.query.id; |
| | | |
| | | if (this.caseId) { |
| | | this.getDetail(); |
| | |
| | | async getDetail() { |
| | | this.loading = true; |
| | | try { |
| | | const response = await getDonationProcessDetail(this.caseId); |
| | | const response = await getDonatebaseinfoflow(this.caseId); |
| | | if (response.code === 200) { |
| | | this.caseInfo = response.data.caseInfo; |
| | | this.processStages = response.data.processStages; |