WXL
2025-12-28 40bd04c1299a0edf63771b90b5f9e78bfb943474
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
<template>
  <base-stage :stage-data="stageData" :case-info="caseInfo">
    <template #header>
      <el-alert
        title="供者维护阶段"
        type="success"
        description="供者信息维护已完成,所有基本信息已确认无误"
        show-icon
        :closable="false"
      />
    </template>
 
    <el-row :gutter="20" style="margin-top: 20px;">
      <el-col :span="12">
        <el-card class="info-card">
          <div slot="header" class="card-header">
            <span>供者基本信息</span>
          </div>
          <el-descriptions :column="1" border size="small">
            <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="疾病诊断">
              {{ caseInfo.diagnosis }}
            </el-descriptions-item>
          </el-descriptions>
        </el-card>
      </el-col>
 
      <el-col :span="12">
        <el-card class="timeline-card">
          <div slot="header" class="card-header">
            <span>维护时间线</span>
          </div>
          <el-timeline>
            <el-timeline-item
              v-for="event in maintenanceEvents"
              :key="event.time"
              :timestamp="formatTime(event.time)"
              :type="event.type"
            >
              {{ event.content }}
            </el-timeline-item>
          </el-timeline>
        </el-card>
      </el-col>
    </el-row>
 
    <el-card style="margin-top: 20px;">
      <div slot="header" class="card-header">
        <span>维护记录详情</span>
      </div>
      <el-table :data="maintenanceRecords" border>
        <el-table-column label="维护项目" prop="item" width="150" />
        <el-table-column label="维护内容" prop="content" min-width="200" />
        <el-table-column label="维护人" prop="operator" width="120" />
        <el-table-column label="维护时间" width="160">
          <template slot-scope="scope">
            {{ formatTime(scope.row.time) }}
          </template>
        </el-table-column>
        <el-table-column label="状态" width="100">
          <template slot-scope="scope">
            <el-tag :type="scope.row.status === 'completed' ? 'success' : 'warning'">
              {{ scope.row.status === 'completed' ? '已完成' : '进行中' }}
            </el-tag>
          </template>
        </el-table-column>
      </el-table>
    </el-card>
  </base-stage>
</template>
 
<script>
import BaseStage from './BaseStage.vue';
 
export default {
  name: 'DonorMaintenanceStage',
  components: { BaseStage },
  dicts: ['sys_user_sex'],
  props: {
    stageData: {
      type: Object,
      default: () => ({})
    },
    caseInfo: {
      type: Object,
      default: () => ({})
    }
  },
  data() {
    return {
      maintenanceEvents: [
        {
          time: '2023-12-01 08:30:00',
          content: '供者基本信息录入',
          type: 'primary'
        },
        {
          time: '2023-12-01 09:15:00',
          content: '医疗档案建立',
          type: 'success'
        },
        {
          time: '2023-12-01 10:00:00',
          content: '初步评估完成',
          type: 'success'
        }
      ],
      maintenanceRecords: [
        {
          item: '基本信息',
          content: '供者身份信息确认与录入',
          operator: '张医生',
          time: '2023-12-01 08:30:00',
          status: 'completed'
        },
        {
          item: '医疗档案',
          content: '病史资料收集与整理',
          operator: '李护士',
          time: '2023-12-01 09:15:00',
          status: 'completed'
        },
        {
          item: '初步评估',
          content: '捐献适宜性初步评估',
          operator: '王主任',
          time: '2023-12-01 10:00:00',
          status: 'completed'
        }
      ]
    };
  }
};
</script>
 
<style scoped>
.card-header {
  font-weight: 600;
  color: #303133;
}
 
.info-card, .timeline-card {
  height: 100%;
}
</style>