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
<template>
<van-form>
<div class="label-title" required>专病名称</div>
<van-field
v-model="form.diseaseTypeName"
isLink
readonly
placeholder="请选择"
:rules="rules.diseaseTypeName"
@click="showDiseaseType = true"
class="form-input"
/>
<van-popup v-model:show="showDiseaseType" position="bottom">
<van-picker
:columns-field-names="{ text: 'name', value: 'value' }"
:columns="store.getDict('CP00117')"
@confirm="diseaseConfirm"
@cancel="showDiseaseType = false"
/>
</van-popup>
<div class="label-title mt-5" required>请选择</div>
<van-field style="padding: 0" class="mb-5">
<template #input>
<van-radio-group
v-model="form.serveType"
shape="dot"
direction="horizontal"
class="doc-radio-group"
>
<van-radio :name="3" label-position="left">新增专病随访(常规)</van-radio>
<van-radio :name="4" label-position="left" class="mt-2">新增专病随访(增加)</van-radio>
</van-radio-group>
</template>
</van-field>
<!-- <div class="font-semibold mt-4">居民信息</div> -->
<!-- <div class="label-title mt-4" required>证件类型</div>
<van-field
v-model="form.certificateTypeName"
isLink
readonly
placeholder="请选择"
:rules="rules.certificateTypeName"
@click="showCertificateType = true"
class="form-input"
/>
<van-popup v-model:show="showCertificateType" position="bottom">
<van-picker
:columns-field-names="{ text: 'name', value: 'value' }"
:columns="store.getDict('DC00004')"
@confirm="certificateConfirm"
@cancel="showDiseaseType = false"
/>
</van-popup> -->
<ArchiveCommon ref="archive"></ArchiveCommon>
</van-form>
</template>
<script>
import { useStore } from '@/doctor/store'
import ArchiveCommon from '@/doctor/components/archiveCommon/archiveCommon.vue'
export default {
components: { ArchiveCommon },
data() {
return {
store: useStore(),
form: {},
rules: {},
showDiseaseType: false,
showCertificateType: false
}
},
methods: {
diseaseConfirm({ selectedValues, selectedOptions }) {
this.form.diseaseType = selectedValues[0]
this.form.diseaseTypeName = selectedOptions[0].name
this.showDiseaseType = false
},
certificateConfirm({ selectedValues, selectedOptions }) {
this.form.certificateType = selectedValues[0]
this.form.certificateTypeName = selectedOptions[0].name
this.showCertificateType = false
},
async onSubmit() {
let baseInfo = {}
try {
baseInfo = await this.$refs.archive.onSubmit()
} catch(e) {
}
}
}
}
</script>
<style lang="less" scoped>
.label-title {
font-size: 13px;
color: #595959;
font-weight: 500;
margin-bottom: 8px;
&[required] {
&::after {
content: '*';
color: #FF4D4F;
font-weight: bold;
margin-left: 4px;
}
}
}
.form-input {
background-color: #FAFAFA;
padding: 8px 12px;
border-radius: 8px;
}
:deep(.van-cell:after) {
border-bottom: 0px;
}
</style>