-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathmedical.vue
126 lines (114 loc) · 3.14 KB
/
medical.vue
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
<template>
<div class="Medical">
<div class="Header mb-3">
<page-header :icon="headerItem.icon">
{{ headerItem.title }}
</page-header>
<div class="UpdatedAt">
<span>{{ $t('最終更新') }} </span>
<time :datetime="updatedAt">{{ MedicalSystem.date }}</time>
</div>
<div
v-show="!['ja', 'ja-basic'].includes($i18n.locale)"
class="Annotation"
>
<span>{{ $t('注釈') }} </span>
</div>
</div>
<whats-new class="mb-4" :items="newsItems" />
<static-info
class="mb-4"
:url="localePath('/flow')"
:text="$t('自分や家族の症状に不安や心配があればまずは電話相談をどうぞ')"
:btn-text="$t('相談の手順を見る')"
/>
<v-row class="DataBlock" style="margin-top: -10px">
<medical-system-bed-number-card />
<medical-system-stay-care-facility-number-card />
<medical-system-ventilator-number-card />
<medical-system-ecmo-number-card />
</v-row>
</div>
</template>
<script lang="ts">
import Vue from 'vue'
import { MetaInfo } from 'vue-meta'
import MedicalSystemBedNumberCard from '@/components/cards/MedicalSystemBedNumberCard.vue'
import MedicalSystemEcmoNumberCard from '@/components/cards/MedicalSystemEcmoNumberCard.vue'
import MedicalSystemStayCareFacilityNumberCard from '@/components/cards/MedicalSystemStayCareFacilityNumberCard.vue'
import MedicalSystemVentilatorNumberCard from '@/components/cards/MedicalSystemVentilatorNumberCard.vue'
import PageHeader from '@/components/PageHeader.vue'
import StaticInfo from '@/components/StaticInfo.vue'
import WhatsNew from '@/components/WhatsNew.vue'
import MedicalSystem from '@/data/medical_system.json'
import News from '@/data/news.json'
import { convertDatetimeToISO8601Format } from '@/utils/formatDate'
export default Vue.extend({
components: {
PageHeader,
WhatsNew,
StaticInfo,
MedicalSystemBedNumberCard,
MedicalSystemStayCareFacilityNumberCard,
MedicalSystemVentilatorNumberCard,
MedicalSystemEcmoNumberCard,
},
data() {
const data = {
MedicalSystem,
headerItem: {
icon: 'mdi-hospital',
title: this.$t('医療体制整備状況'),
},
newsItems: News.newsItems,
}
return data
},
computed: {
updatedAt() {
return convertDatetimeToISO8601Format(this.$data.MedicalSystem.date)
},
},
head(): MetaInfo {
return {
title: this.$t('医療体制整備状況') as string,
}
},
})
</script>
<style lang="scss" scoped>
.Medical {
.Header {
display: flex;
flex-wrap: wrap;
align-items: flex-end;
@include lessThan($small) {
flex-direction: column;
align-items: baseline;
}
}
.UpdatedAt {
@include font-size(14);
color: $gray-3;
margin-bottom: 0.2rem;
}
.Annotation {
@include font-size(12);
color: $gray-3;
@include largerThan($small) {
margin: 0 0 0 auto;
}
}
.DataBlock {
margin: 20px -8px;
.DataCard {
@include largerThan($medium) {
padding: 10px;
}
@include lessThan($small) {
padding: 4px 8px;
}
}
}
}
</style>