Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
ShanghaiGongwei
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
宁路鹏
ShanghaiGongwei
Commits
53ed9955
Commit
53ed9955
authored
Nov 09, 2022
by
nlp97
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'feature/语言国际化--dev公卫' into develop
parents
e43de15e
962f8dc9
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
1774 additions
and
2072 deletions
+1774
-2072
src/components/alert.vue
+6
-6
src/components/index.vue
+13
-11
src/components/page1.vue
+1
-1
src/components/page3.vue
+21
-14
src/components/page4.vue
+577
-767
src/components/page5.vue
+349
-497
src/components/page6.vue
+468
-690
src/components/page7.vue
+53
-56
src/lang/Uygur.js
+143
-20
src/lang/zh.js
+134
-4
src/main.js
+1
-1
src/store/modules/user.js
+2
-2
vue.config.js
+6
-3
No files found.
src/components/alert.vue
View file @
53ed9955
<!--
* @Author: ninglupeng
* @Date: 2022-03-19 10:27:33
* @LastEditors:
ninglupeng
* @LastEditTime: 2022-
03-20 13:03
:12
* @LastEditors:
wsq
* @LastEditTime: 2022-
11-05 13:41
:12
* @Description:
-->
<
template
>
...
...
@@ -26,7 +26,7 @@
size=
"mini"
:disabled=
"isDis"
@
click=
"save()"
>
保存
</van-button
>
{{
$t
(
'preservation'
)
}}
</van-button
>
<van-button
block
...
...
@@ -36,7 +36,7 @@
size=
"mini"
native-type=
"button"
@
click=
"againSignature"
>
清除
</van-button
>
{{
$t
(
'eliminate'
)
}}
</van-button
>
<van-button
native-type=
"button"
...
...
@@ -46,7 +46,7 @@
type=
"default"
size=
"mini"
@
click=
"onCancel"
>
返回
</van-button
>
{{
$t
(
'goBack'
)
}}
</van-button
>
</div>
</div>
...
...
@@ -92,7 +92,7 @@ export default {
save
()
{
if
(
!
this
.
signaturePad
.
isEmpty
())
{
this
.
$emit
(
"onCancel"
,
this
.
signaturePad
.
toDataURL
());
this
.
$notify
({
type
:
"success"
,
message
:
"签名保存成功"
});
this
.
$notify
({
type
:
"success"
,
message
:
$t
(
'qmsuccess'
)
});
}
},
onCancel
()
{
...
...
src/components/index.vue
View file @
53ed9955
...
...
@@ -2,7 +2,7 @@
* @Author: ninglupeng
* @Date: 2020-11-24 16:18:58
* @LastEditors: wsq
* @LastEditTime: 2022-
05-05 17:41:42
* @LastEditTime: 2022-
11-04 11:27:41
* @Description:
-->
<
template
>
...
...
@@ -19,10 +19,11 @@
<page4
v-show=
"page === 4"
></page4>
<page5
v-show=
"page === 5"
></page5>
<page6
v-show=
"page === 6"
></page6>
<
leaveHospital
v-show=
"page === 7"
></leaveHospital
>
<
!--
<leaveHospital
v-show=
"page === 7"
></leaveHospital>
--
>
<page7
v-show=
"page === 8"
></page7>
<!--
{{
symptom
}}
-->
<div
class=
"index_form_footer"
v-if=
"page != 1 && page != 2 && page != 8"
>
<!-- 上一步 -->
<van-button
class=
"index_form_footer_next"
round
...
...
@@ -31,28 +32,29 @@
native-type=
"button"
v-if=
"page != 1 && page != 2 && page != 8"
@
click=
"back()"
>
上一步
</van-button
>
{{
$t
(
'Previousstep'
)
}}
</van-button
>
<!-- 下一步 -->
<van-button
class=
"index_form_footer_next"
round
block
type=
"info"
native-type=
"button"
v-if=
"page != 1 && page != 2 && page !=
7
&& page != 8"
v-if=
"page != 1 && page != 2 && page !=
6
&& page != 8"
@
click=
"next()"
>
下一步
</van-button
>
{{
$t
(
'nextstep'
)
}}
</van-button
>
<!-- 保存 -->
<van-button
v-if=
"page ==
7
"
v-if=
"page ==
6
"
class=
"index_form_footer_next"
round
block
type=
"info"
native-type=
"button"
@
click=
"submit"
>
保存
</van-button
>
{{
$t
(
'preservation'
)
}}
</van-button
>
</div>
</van-form>
...
...
@@ -242,7 +244,7 @@ export default {
"passivitySmokingYears"
,
//是否被动吸烟年数
])
.
then
(()
=>
{
this
.
$store
.
dispatch
(
"user/setpage"
,
7
);
this
.
$store
.
dispatch
(
"user/setpage"
,
8
);
// 验证通过
})
.
catch
(()
=>
{
...
...
@@ -254,8 +256,8 @@ export default {
submit
()
{
this
.
$refs
.
vantform
.
validate
([
"leaveSign"
,
//出院签字
"leaveDate"
,
// 签字日期
//
"leaveSign", //出院签字
//
"leaveDate", // 签字日期
])
.
then
(()
=>
{
this
.
$refs
.
vantform
.
submit
();
...
...
src/components/page1.vue
View file @
53ed9955
...
...
@@ -2,7 +2,7 @@
* @Author: ninglupeng
* @Date: 2020-11-24 16:18:58
* @LastEditors: ninglupeng
* @LastEditTime: 2022-1
0-31 14:38:03
* @LastEditTime: 2022-1
1-04 16:27:19
* @Description:
-->
<
template
>
...
...
src/components/page3.vue
View file @
53ed9955
...
...
@@ -2,7 +2,7 @@
* @Author: ninglupeng
* @Date: 2020-11-24 16:18:58
* @LastEditors: ninglupeng
* @LastEditTime: 2022-1
0-31 15:05:09
* @LastEditTime: 2022-1
1-04 16:54:04
* @Description:
-->
<
template
>
...
...
@@ -29,7 +29,8 @@
</van-field>
<van-field
colon
clearable
name=
"buildingNumber"
:label=
"$t('buildingNumber')"
readonly
:value=
"buildingNumber"
@
click=
"showbuildingNumber = true"
:rules=
"[{ required: true, message: `请填写${$t('buildingNumber')}` }]"
>
@
click=
"showbuildingNumber = true"
:rules=
"[{ required: true, message: `${$t('fillIn')}${$t('buildingNumber')}` }]"
>
</van-field>
<van-popup
v-model=
"showbuildingNumber"
position=
"bottom"
>
<van-picker
:title=
"$t('buildingNumber')"
show-toolbar
:columns=
"buildingNumberList"
...
...
@@ -41,34 +42,40 @@
</van-popup>
<van-field
colon
clearable
v-model=
"agreementFloor"
name=
"agreementFloor"
:label=
"$t('agreementFloor')"
:placeholder=
"$t('agreementFloor')"
:rules=
"[{ required: true, message: `请填写${$t('agreementFloor')}` }]"
:placeholder=
"$t('agreementFloor')"
:rules=
"[{ required: true, message: `${$t('fillIn')}${$t('agreementFloor')}` }]"
@
blur=
"setLocalStorge('agreementFloor')"
></van-field>
<van-field
colon
clearable
v-model=
"bedNumber"
name=
"bedNumber"
label=
"床号"
placeholder=
"床号"
@
blur=
"setLocalStorge('bedNumber')"
:rules=
"[{ required: true, message: '请填写床号' }]"
></van-field>
<van-field
colon
clearable
v-model=
"bedNumber"
name=
"bedNumber"
:label=
"$t('bedNumber')"
:placeholder=
"`${$t('bedNumber')}`"
@
blur=
"setLocalStorge('bedNumber')"
:rules=
"[{ required: true, message: `${$t('fillIn')}${$t('bedNumber')}` }]"
></van-field>
<van-field
colon
clearable
v-model=
"agreementSign"
name=
"agreementSign"
label=
"患者签字"
placeholder=
"患者签字"
readonly
:rules=
"[{ required: true, message: '请患者签字' }]"
>
<van-field
colon
clearable
v-model=
"agreementSign"
name=
"agreementSign"
:label=
"$t('agreementSign')"
:placeholder=
"$t('agreementSign')"
readonly
:rules=
"[{ required: true, message: `${$t('agreementSign')}` }]"
>
<
template
#
input
>
<img
class=
"Signimg"
v-show=
"agreementSign"
:src=
"agreementSign"
alt=
""
:style=
"
{ width: agreementSign ? '70%' : '' }" />
<van-button
size=
"small"
@
click=
"showSignHandleVue = true"
block
type=
"primary"
native-type=
"button"
:style=
"
{ width: !agreementSign ? '50%' : '30%' }">
{{
agreementSign
?
"重签"
:
"点击签字"
}}
</van-button>
:style=
"
{ width: !agreementSign ? '50%' : '30%' }">
{{
agreementSign
?
`${$t('countersign')
}
`
:
`${$t('clickSign')
}
`
}}
<
/van-button
>
<
/template
>
<
/van-field
>
<van-field
colon
clearable
readonly
clickable
name=
"agreementDate"
:value=
"agreementDate"
label=
"签字日期"
placeholder=
"点击选择签字日期"
@
click=
"showCalendar = true"
:rules=
"[
<
van
-
field
colon
clearable
readonly
clickable
name
=
"agreementDate"
:
value
=
"agreementDate"
:
label
=
"$t('agreementDate')"
:
placeholder
=
"`${$t('clickSelect')
}
${$t('agreementDate')
}
`"
@
click
=
"showCalendar = true"
:
rules
=
"[
{
required: true,
message:
'请选择签字日期'
,
message:
`${$t('select')
}
${$t('agreementDate')
}
`
,
}
,
]"
/>
<
van
-
popup
v
-
model
=
"showCalendar"
position
=
"bottom"
>
<
van
-
datetime
-
picker
type
=
"date"
:
min
-
date
=
"minAgreementDate"
:
max
-
date
=
"maxDate"
@
confirm
=
"onAgreementDate"
@
cancel
=
"showCalendar = false"
:
formatter
=
"formatter"
v
-
model
=
"agreementDate1"
/>
<
/van-popup
>
<jlPopup
title=
"签名
"
v-if=
"showSignHandleVue"
@
onCancel=
"onCancel"
>
<
jlPopup
:
title
=
"$t('autograph')
"
v
-
if
=
"showSignHandleVue"
@
onCancel
=
"onCancel"
>
<
/jlPopup
>
<
/div
>
<
/template
>
...
...
@@ -86,7 +93,7 @@ export default {
inject
:
[
"setLoading"
],
data
()
{
return
{
AgreementMode
:
"向贵院出具授权委托书指定代理人"
,
AgreementMode
:
this
.
$i18n
.
locale
==
'zh'
?
"向贵院出具授权委托书指定代理人"
:
'دوختۇخانغا ۋاكالەتچى بەلگىلەنگەن ھوقۇق بېرىش ھاۋالە خىتى چىقىرىپ بىرىمەن'
,
buildingNumber
:
""
,
//楼号
agreementFloor
:
""
,
//楼层
bedNumber
:
""
,
//床号
...
...
@@ -103,7 +110,7 @@ export default {
}
,
mounted
()
{
this
.
getResource
();
console
.
log
(
'this.$i18n.locale'
,
this
.
$i18n
.
locale
);
this
.
setAgreementDate
();
this
.
setLastValue
();
}
,
...
...
src/components/page4.vue
View file @
53ed9955
<!--
* @Author: ninglupeng
* @Date: 2020-11-24 16:18:58
* @LastEditors:
wsq
* @LastEditTime: 2022-
04-21 10:54:43
* @LastEditors:
ninglupeng
* @LastEditTime: 2022-
11-04 17:04:04
* @Description:
-->
<
template
>
<div
class=
"page4"
>
<van-field
colon
clearable
v-model=
"patientName"
name=
"patientName"
label=
"患者姓名"
placeholder=
"患者姓名"
:rules=
"[
{ required: true, message: '请填写患者姓名' }]"
@blur="setLocalStorge('patientName')"
>
</van-field>
<van-field
colon
clearable
name=
"orNotByEntry"
label=
"近期是否由国外入境"
>
<template
#
input
>
<van-radio-group
@
change=
"setLocalStorge('orNotByEntry')"
v-model=
"orNotByEntry"
direction=
"horizontal"
>
<van-radio
name=
"是"
>
是
</van-radio>
<van-radio
name=
"否"
>
否
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
colon
clearable
name=
"nationality"
label=
"国籍"
readonly
:value=
"nationality"
@
click=
"shownationality = true"
:rules=
"[{ required: true, message: '请填写国籍' }]"
>
</van-field>
<van-popup
v-model=
"shownationality"
position=
"bottom"
>
<van-picker
title=
"国籍"
show-toolbar
:columns=
"nationalityList"
@
confirm=
"
(value, index) => {
nationality = value;
setLocalStorge('nationality');
shownationality = false;
}
"
@
cancel=
"
() => {
shownationality = false;
}
"
/>
</van-popup>
<van-field
colon
v-if=
"nationality != '中国'"
clearable
v-model=
"passportId"
name=
"passportId"
label=
"护照号"
placeholder=
"护照号"
:rules=
"[
{
required: nationality != '中国' ? true : false,
message: '请填写护照号',
},
]"
></van-field>
<van-field
colon
clearable
v-if=
"nationality == '中国'"
v-model=
"idCard"
name=
"idCard"
label=
"身份证号"
placeholder=
"身份证号"
@
blur=
"getdate"
:rules=
"[
{ required: true, message: '请填写身份证号' },
{ validator, message: '身份证号码格式错误!' },
]"
></van-field>
<van-field
colon
clearable
name=
"gender"
label=
"性别"
>
<
template
#
input
>
<van-radio-group
@
change=
"
() =>
{
setLocalStorge('gender');
if (gender == '男') {
isConceive = '未孕';
gestationalWeeks = '';
setValue('isConceive', '未孕');
setValue('gestationalWeeks', '');
}
}
"
v-model="gender"
direction="horizontal"
>
<van-radio
name=
"男"
>
男
</van-radio>
<van-radio
name=
"女"
>
女
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
colon
clearable
readonly
clickable
name=
"birthday"
:value=
"birthday"
label=
"出生日期"
placeholder=
"出生日期"
@
click=
"showbirthday = true"
:rules=
"[{ required: true, message: '请选择出生日期' }]"
/>
<van-popup
v-model=
"showbirthday"
position=
"bottom"
>
<van-datetime-picker
type=
"date"
:min-date=
"minbirthday"
:max-date=
"maxDate"
@
confirm=
"onbirthday"
@
cancel=
"showbirthday = false"
:formatter=
"formatter"
/>
</van-popup>
<van-field
colon
clearable
v-model=
"age"
name=
"age"
label=
"年龄"
placeholder=
"年龄"
type=
"digit"
@
blur=
"setLocalStorge('age')"
:rules=
"[{ required: true, message: '请填写年龄' }]"
></van-field>
<van-field
colon
clearable
v-model=
"height"
name=
"height"
label=
"身高"
placeholder=
"身高"
type=
"digit"
@
blur=
"setLocalStorge('height')"
:rules=
"[{ required: true, message: '请填写身高' }]"
>
<
template
#
extra
>
CM
</
template
>
</van-field>
<van-field
colon
clearable
v-model=
"weight"
name=
"weight"
label=
"体重"
placeholder=
"体重"
type=
"number"
@
blur=
"setLocalStorge('weight')"
:rules=
"[{ required: true, message: '请填写体重' }]"
>
<
template
#
extra
>
KG
</
template
>
</van-field>
<van-field
colon
clearable
name=
"maritalStatus"
label=
"婚姻状况"
>
<
template
#
input
>
<van-radio-group
@
change=
"setLocalStorge('maritalStatus')"
v-model=
"maritalStatus"
direction=
"horizontal"
>
<van-radio
name=
"已婚"
>
已婚
</van-radio>
<van-radio
name=
"未婚"
>
未婚
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
colon
clearable
v-if=
"gender == '女'"
name=
"isConceive"
label=
"怀孕状况"
>
<
template
#
input
>
<van-radio-group
@
change=
"setLocalStorge('isConceive')"
v-model=
"isConceive"
direction=
"horizontal"
>
<van-radio
name=
"未孕"
>
未孕
</van-radio>
<van-radio
name=
"已孕"
>
已孕
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
colon
clearable
v-if=
"gender == '女' && isConceive == '已孕'"
v-model=
"gestationalWeeks"
name=
"gestationalWeeks"
label=
"怀孕周期"
placeholder=
"怀孕周期"
type=
"number"
@
blur=
"setLocalStorge('gestationalWeeks')"
:rules=
"[
{
required: gender == '女' && isConceive == '已孕' ? true : false,
message: '请填写怀孕周期',
},
]"
>
<
template
#
extra
>
周
</
template
>
</van-field>
<van-field
colon
clearable
name=
"occupation"
label=
"职业"
readonly
:value=
"occupation"
@
click=
"showoccupation = true"
:rules=
"[{ required: true, message: '请填写职业' }]"
>
</van-field>
<van-popup
v-model=
"showoccupation"
position=
"bottom"
>
<van-picker
title=
"职业"
show-toolbar
:columns=
"occupationList"
@
confirm=
"
(value, index) => {
occupation = value;
setLocalStorge('occupation');
showoccupation = false;
}
"
@
cancel=
"
() => {
showoccupation = false;
}
"
/>
</van-popup>
<van-field
colon
v-show=
"occupation == '其他'"
clearable
autosize
type=
"textarea"
v-model=
"otherOccupation"
name=
"otherOccupation"
label=
"其他职业"
placeholder=
"其他职业"
:rules=
"[
{
required: occupation == '其他' ? true : false,
message: '请填写其他职业',
},
]"
@
blur=
"setLocalStorge('otherOccupation')"
></van-field>
<van-field
colon
clearable
v-model=
"contactInformation"
name=
"contactInformation"
label=
"联系方式"
placeholder=
"联系方式"
@
blur=
"setLocalStorge('contactInformation')"
:rules=
"[{ required: true, message: '请填写联系方式' }]"
></van-field>
<van-field
colon
clearable
v-model=
"FamilyMembersPhone"
name=
"FamilyMembersPhone"
label=
"家属联系方式"
placeholder=
"家属联系方式"
@
blur=
"setLocalStorge('FamilyMembersPhone')"
:rules=
"[{ required: true, message: '请填写家属联系方式' }]"
></van-field>
<van-field
colon
clearable
readonly
clickable
name=
"province"
:value=
"province"
label=
"户籍地(省)"
v-show=
"false"
/>
<van-field
colon
clearable
readonly
clickable
name=
"city"
:value=
"city"
label=
"户籍地(市)"
v-show=
"false"
/>
<van-field
colon
clearable
readonly
clickable
name=
"Registeredresidence"
:value=
"Registeredresidence"
label=
"户籍地"
placeholder=
"点击选择户籍地"
@
click=
"showArea = true"
:rules=
"[{ required: true, message: '请点击选择户籍地' }]"
/>
<van-popup
v-model=
"showArea"
position=
"bottom"
>
<van-area
:area-list=
"areaList"
:columns-num=
"2"
@
confirm=
"onConfirm"
@
cancel=
"showArea = false"
/>
</van-popup>
<van-field
colon
clearable
autosize
type=
"textarea"
v-model=
"address"
name=
"address"
label=
"现居住地"
placeholder=
"现居住地"
@
blur=
"setLocalStorge('address')"
:rules=
"[{ required: true, message: '请填写现居住地' }]"
></van-field>
<van-field
colon
clearable
name=
"typeOfMedicalInsurance"
label=
"医保类型"
readonly
:value=
"typeOfMedicalInsurance"
@
click=
"showtypeOfMedicalInsurance = true"
:rules=
"[{ required: true, message: '请填写医保类型' }]"
>
</van-field>
<van-popup
v-model=
"showtypeOfMedicalInsurance"
position=
"bottom"
>
<van-picker
title=
"医保类型"
show-toolbar
:columns=
"typeOfMedicalInsuranceList"
@
confirm=
"
(value, index) => {
typeOfMedicalInsurance = value;
setLocalStorge('typeOfMedicalInsurance');
showtypeOfMedicalInsurance = false;
}
"
@
cancel=
"
() => {
showtypeOfMedicalInsurance = false;
}
"
/>
</van-popup>
<!-- 有无商业保险 -->
<van-field
colon
clearable
name=
"insurance"
label=
"商业保险"
>
<
template
#
input
>
<van-radio-group
@
change=
"setLocalStorge('insurance')"
v-model=
"insurance"
direction=
"horizontal"
>
<van-radio
name=
"有"
>
有
</van-radio>
<van-radio
name=
"无"
>
无
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
style=
"margin-left: -35px;"
colon
clearable
name=
"HasSymptom"
label-width=
"130px"
label=
"是否有症状"
>
<
template
#
input
>
<van-radio-group
@
change=
"
() =>
{
if (HasSymptom == '否') {
symptom = [];
otherSymptom = '';
setValue('symptom','');
setValue('otherSymptom', '');
}
setLocalStorge('HasSymptom');
}
"
v-model="HasSymptom"
direction="horizontal"
>
<van-radio
name=
"是"
>
是
</van-radio>
<van-radio
name=
"否"
>
否
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
style=
"margin-left: -35px;"
v-if=
"HasSymptom == '是'"
colon
:rules=
"[
{
required: HasSymptom == '是' ? true : false,
message: '请选择症状',
},
]"
clearable
name=
"symptom"
label=
"症状"
label-width=
"130px"
>
<
template
#
input
>
<van-checkbox-group
@
change=
"
() =>
{
setLocalStorge('symptom');
}
"
v-model="symptom"
direction="horizontal"
class="symptom"
>
<template
v-for=
"(item, index) in symptomList"
>
<van-checkbox
:key=
"index"
:name=
"item.element"
shape=
"square"
>
{{
item
.
element
}}
</van-checkbox
>
</
template
>
</van-checkbox-group>
</template>
</van-field>
<van-field
style=
"margin-left: 10px;"
colon
v-if=
"symptom.includes('其他') && HasSymptom == '是' "
clearable
autosize
type=
"textarea"
v-model=
"otherSymptom"
name=
"otherSymptom"
label=
"其他症状"
placeholder=
"其他症状"
:rules=
"[
{
required: symptom.includes('其他') && HasSymptom == '是' ? true : false,
message: '请填写其他症状',
},
]"
@
blur=
"setLocalStorge('otherSymptom')"
></van-field>
</div>
<div
class=
"page4"
>
<van-field
colon
clearable
v-model=
"patientName"
name=
"patientName"
:label=
"$t('patientName')"
:placeholder=
"$t('patientName')"
:rules=
"[
{ required: true, message: `${$t('fillIn')}${$t('patientName')}` }]"
@blur="setLocalStorge('patientName')">
</van-field>
<van-field
colon
clearable
name=
"orNotByEntry"
:label=
"$t('orNotByEntry')"
>
<template
#
input
>
<van-radio-group
@
change=
"setLocalStorge('orNotByEntry')"
v-model=
"orNotByEntry"
direction=
"horizontal"
>
<van-radio
:name=
"$t('yes')"
>
{{
$t
(
"yes"
)
}}
</van-radio>
<van-radio
:name=
"$t('no')"
>
{{
$t
(
"no"
)
}}
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
colon
clearable
name=
"nationality"
:label=
"$t('nationality')"
readonly
:value=
"nationality"
@
click=
"shownationality = true"
:rules=
"[{ required: true, message: `${$t('fillIn')}${$t('nationality')}` }]"
>
</van-field>
<van-popup
v-model=
"shownationality"
position=
"bottom"
>
<van-picker
:title=
"$t('nationality')"
show-toolbar
:columns=
"nationalityList"
@
confirm=
"
(value, index) => {
nationality = value;
setLocalStorge('nationality');
shownationality = false;
}
"
@
cancel=
"
() => {
shownationality = false;
}
"
/>
</van-popup>
<van-field
colon
v-if=
"nationality != $t('China')"
clearable
v-model=
"passportId"
name=
"passportId"
:label=
"$t('passportId')"
:placeholder=
"$t('passportId')"
:rules=
"[
{
required: nationality != $t('China') ? true : false,
message: `${$t('fillIn')}${$t('passportId')}`,
},
]"
></van-field>
<van-field
colon
clearable
v-if=
"nationality == $t('China')"
v-model=
"idCard"
name=
"idCard"
:label=
"$t('idCard')"
:placeholder=
"$t('idCard')"
@
blur=
"getdate"
:rules=
"[
{ required: true, message: `${$t('fillIn')}${$t('idCard')}` },
{ validator, message: `${$t('idCard')}格式错误!` },
]"
></van-field>
<van-field
colon
clearable
name=
"gender"
:label=
"$t('gender')"
>
<
template
#
input
>
<van-radio-group
@
change=
"
() =>
{
setLocalStorge('gender');
if (gender == $t('boy')) {
isConceive = $t('Nonpregnant');
gestationalWeeks = '';
setValue('isConceive', $t('Nonpregnant'));
setValue('gestationalWeeks', '');
}
}
" v-model="gender" direction="horizontal">
<van-radio
:name=
"$t('boy')"
>
{{
$t
(
"boy"
)
}}
</van-radio>
<van-radio
:name=
"$t('girl')"
>
{{
$t
(
"girl"
)
}}
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
colon
clearable
readonly
clickable
name=
"birthday"
:value=
"birthday"
:label=
"$t('birthday')"
:placeholder=
"$t('birthday')"
@
click=
"showbirthday = true"
:rules=
"[{ required: true, message: `${$t('select')}${$t('birthday')}` }]"
/>
<van-popup
v-model=
"showbirthday"
position=
"bottom"
>
<van-datetime-picker
type=
"date"
:min-date=
"minbirthday"
:max-date=
"maxDate"
@
confirm=
"onbirthday"
@
cancel=
"showbirthday = false"
:formatter=
"formatter"
/>
</van-popup>
<van-field
colon
clearable
v-model=
"age"
name=
"age"
:label=
"$t('age')"
:placeholder=
"$t('age')"
type=
"digit"
@
blur=
"setLocalStorge('age')"
:rules=
"[{ required: true, message: `${$t('fillIn')}${$t('age')}` }]"
>
</van-field>
<van-field
colon
clearable
v-model=
"height"
name=
"height"
:label=
"$t('height')"
:placeholder=
"$t('height')"
type=
"digit"
@
blur=
"setLocalStorge('height')"
:rules=
"[{ required: true, message: `${$t('fillIn')}${$t('height')}` }]"
>
<
template
#
extra
>
CM
</
template
>
</van-field>
<van-field
colon
clearable
v-model=
"weight"
name=
"weight"
:label=
"$t('weight')"
:placeholder=
"$t('weight')"
type=
"number"
@
blur=
"setLocalStorge('weight')"
:rules=
"[{ required: true, message: `${$t('fillIn')}${$t('weight')}` }]"
>
<
template
#
extra
>
KG
</
template
>
</van-field>
<van-field
colon
clearable
name=
"maritalStatus"
:label=
"$t('maritalStatus')"
>
<
template
#
input
>
<van-radio-group
@
change=
"setLocalStorge('maritalStatus')"
v-model=
"maritalStatus"
direction=
"horizontal"
>
<van-radio
:name=
"$t('married')"
>
{{
$t
(
"married"
)
}}
</van-radio>
<van-radio
:name=
"$t('unmarried')"
>
{{
$t
(
"unmarried"
)
}}
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
colon
clearable
v-if=
"gender == $t('girl')"
name=
"isConceive"
:label=
"$t('isConceive')"
>
<
template
#
input
>
<van-radio-group
@
change=
"setLocalStorge('isConceive')"
v-model=
"isConceive"
direction=
"horizontal"
>
<van-radio
:name=
"$t('Nonpregnant')"
>
{{
$t
(
"Nonpregnant"
)
}}
</van-radio>
<van-radio
:name=
"$t('pregnant')"
>
{{
$t
(
"pregnant"
)
}}
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
colon
clearable
v-if=
"gender == $t('girl') && isConceive == $t('pregnant')"
v-model=
"gestationalWeeks"
name=
"gestationalWeeks"
:label=
"$t('gestationalWeeks')"
:placeholder=
"$t('gestationalWeeks')"
type=
"number"
@
blur=
"setLocalStorge('gestationalWeeks')"
:rules=
"[
{
required:
gender == $t('girl') && isConceive == $t('pregnant') ? true : false,
message: `${$t('fillIn')}${$t('gestationalWeeks')}`,
},
]"
>
<
template
#
extra
>
{{
$t
(
"week"
)
}}
</
template
>
</van-field>
<van-field
colon
clearable
name=
"occupation"
:label=
"$t('occupation')"
readonly
:value=
"occupation"
@
click=
"showoccupation = true"
:rules=
"[{ required: true, message: `${$t('fillIn')}${$t('occupation')}` }]"
>
</van-field>
<van-popup
v-model=
"showoccupation"
position=
"bottom"
>
<van-picker
:title=
"$t('occupation')"
show-toolbar
:columns=
"occupationList"
@
confirm=
"
(value, index) => {
occupation = value;
setLocalStorge('occupation');
showoccupation = false;
}
"
@
cancel=
"
() => {
showoccupation = false;
}
"
/>
</van-popup>
<van-field
colon
v-show=
"occupation == $t('other')"
clearable
autosize
type=
"textarea"
v-model=
"otherOccupation"
name=
"otherOccupation"
:label=
"$t('otherOccupation')"
:placeholder=
"$t('otherOccupation')"
:rules=
"[
{
required: occupation == $t('other') ? true : false,
message: `${$t('fillIn')}${$t('otherOccupation')}`,
},
]"
@
blur=
"setLocalStorge('otherOccupation')"
></van-field>
<van-field
colon
clearable
v-model=
"contactInformation"
name=
"contactInformation"
:label=
"$t('contactInformation')"
:placeholder=
"$t('contactInformation')"
@
blur=
"setLocalStorge('contactInformation')"
:rules=
"[
{ required: true, message: `${$t('fillIn')}${$t('contactInformation')}` },
]"
></van-field>
<van-field
colon
clearable
v-model=
"FamilyMembersPhone"
name=
"FamilyMembersPhone"
:label=
"$t('FamilyMembersPhone')"
:placeholder=
"$t('FamilyMembersPhone')"
@
blur=
"setLocalStorge('FamilyMembersPhone')"
:rules=
"[
{ required: true, message: `${$t('fillIn')}${$t('FamilyMembersPhone')}` },
]"
></van-field>
<!-- <van-field colon clearable readonly clickable name="province" :value="province" :label="$t('province')" v-show="false" />
<van-field colon clearable readonly clickable name="city" :value="city" label="户籍地(市)" v-show="false" /> -->
<van-field
colon
clearable
readonly
clickable
name=
"Registeredresidence"
:value=
"Registeredresidence"
:label=
"$t('Registeredresidence')"
:placeholder=
"`${$t('clickSelect')}${$t('Registeredresidence')}`"
@
click=
"showArea = true"
:rules=
"[
{ required: true, message: `${$t('clickSelect')}${$t('Registeredresidence')}` },
]"
/>
<van-popup
v-model=
"showArea"
position=
"bottom"
>
<van-area
:area-list=
"areaList"
:columns-num=
"2"
@
confirm=
"onConfirm"
@
cancel=
"showArea = false"
/>
</van-popup>
<van-field
colon
clearable
autosize
type=
"textarea"
v-model=
"address"
name=
"address"
:label=
"$t('address')"
:placeholder=
"$t('address')"
@
blur=
"setLocalStorge('address')"
:rules=
"[{ required: true, message: `${$t('fillIn')}${$t('address')}` }]"
>
</van-field>
<van-field
colon
clearable
name=
"typeOfMedicalInsurance"
:label=
"$t('typeOfMedicalInsurance')"
readonly
:value=
"typeOfMedicalInsurance"
@
click=
"showtypeOfMedicalInsurance = true"
:rules=
"[
{ required: true, message: `${$t('fillIn')}${$t('typeOfMedicalInsurance')}` },
]"
>
</van-field>
<van-popup
v-model=
"showtypeOfMedicalInsurance"
position=
"bottom"
>
<van-picker
:title=
"$t('typeOfMedicalInsurance')"
show-toolbar
:columns=
"typeOfMedicalInsuranceList"
@
confirm=
"
(value, index) => {
typeOfMedicalInsurance = value;
setLocalStorge('typeOfMedicalInsurance');
showtypeOfMedicalInsurance = false;
}
"
@
cancel=
"
() => {
showtypeOfMedicalInsurance = false;
}
"
/>
</van-popup>
<!-- 有无商业保险 -->
<van-field
colon
clearable
name=
"insurance"
:label=
"$t('insurance')"
>
<
template
#
input
>
<van-radio-group
@
change=
"setLocalStorge('insurance')"
v-model=
"insurance"
direction=
"horizontal"
>
<van-radio
:name=
"$t('have')"
>
{{
$t
(
"have"
)
}}
</van-radio>
<van-radio
:name=
"$t('noHave')"
>
{{
$t
(
"noHave"
)
}}
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
style=
"margin-left: -35px;"
colon
clearable
name=
"HasSymptom"
label-width=
"130px"
:label=
"$t('HasSymptom')"
>
<
template
#
input
>
<van-radio-group
@
change=
"
() =>
{
if (HasSymptom == $t('no')) {
symptom = [];
otherSymptom = '';
setValue('symptom', '');
setValue('otherSymptom', '');
}
setLocalStorge('HasSymptom');
}
" v-model="HasSymptom" direction="horizontal">
<van-radio
:name=
"$t('yes')"
>
{{
$t
(
"yes"
)
}}
</van-radio>
<van-radio
:name=
"$t('no')"
>
{{
$t
(
"no"
)
}}
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
style=
"margin-left: -35px;"
v-if=
"HasSymptom == $t('yes')"
colon
:rules=
"[
{
required: HasSymptom == $t('yes') ? true : false,
message: `${$t('select')}${$t('symptom')}`,
},
]"
clearable
name=
"symptom"
:label=
"$t('symptom')"
label-width=
"130px"
>
<
template
#
input
>
<van-checkbox-group
@
change=
"
() =>
{
setLocalStorge('symptom');
}
" v-model="symptom" direction="horizontal" class="symptom">
<template
v-for=
"(item, index) in symptomList"
>
<van-checkbox
:key=
"index"
:name=
"item.element"
shape=
"square"
>
{{
item
.
element
}}
</van-checkbox>
</
template
>
</van-checkbox-group>
</template>
</van-field>
<van-field
style=
"margin-left: 10px;"
colon
v-if=
"symptom.includes($t('other')) && HasSymptom == $t('yes')"
clearable
autosize
type=
"textarea"
v-model=
"otherSymptom"
name=
"otherSymptom"
:label=
"$t('otherSymptom')"
:placeholder=
"$t('otherSymptom')"
:rules=
"[
{
required:
symptom.includes($t('other')) && HasSymptom == $t('yes')
? true
: false,
message: `${$t('fillIn')}${$t('otherSymptom')}`,
},
]"
@
blur=
"setLocalStorge('otherSymptom')"
></van-field>
</div>
</template>
<
script
>
...
...
@@ -507,300 +276,341 @@ import { areaList } from "@vant/area-data";
import
{
formatDate
}
from
"../utils/common.js"
;
export
default
{
name
:
"page4"
,
inject
:
[
"setLoading"
],
data
()
{
return
{
patientName
:
""
,
//患者姓名
orNotByEntry
:
"否"
,
//近期是否由国外入境
nationality
:
"中国"
,
//国籍
passportId
:
""
,
//护照号
age
:
""
,
//年龄
height
:
""
,
//身高
weight
:
""
,
gender
:
"男"
,
//性别
maritalStatus
:
"未婚"
,
//婚姻状况
birthday
:
""
,
//出生日期
isConceive
:
"未孕"
,
//怀孕状况
gestationalWeeks
:
""
,
//怀孕周期
occupation
:
""
,
//职业
otherOccupation
:
""
,
//其他职业
contactInformation
:
""
,
//联系方式
FamilyMembersPhone
:
""
,
//家属联系方式
// workOrNotCovid: "否",
Registeredresidence
:
""
,
//籍贯 (包括省市)
province
:
""
,
//籍贯 (省)
city
:
""
,
//籍贯 (市)
address
:
""
,
//地址
idCard
:
""
,
//身份证号
typeOfMedicalInsurance
:
"上海医保"
,
//医保类型
insurance
:
"无"
,
//商业保险
HasSymptom
:
"否"
,
//有无症状
symptom
:
[],
//患者症状
otherSymptom
:
""
,
//其他症状
symptomList
:
[],
//症状列表
areaList
,
//地址数据选项列表
showArea
:
false
,
//控制地址弹窗
showbirthday
:
false
,
//出生时间弹窗
minbirthday
:
new
Date
(
1920
,
0
,
1
),
occupationList
:
[],
showoccupation
:
false
,
nationalityList
:
[],
//国籍列表
typeOfMedicalInsuranceList
:
[],
shownationality
:
false
,
showtypeOfMedicalInsurance
:
false
,
maxDate
:
new
Date
(),
};
},
mounted
()
{
this
.
getResource
();
this
.
setLastValue
();
},
methods
:
{
setLastValue
()
{
if
(
this
.
getLocalStorge
(
"symptom"
))
{
this
.
symptom
=
this
.
getLocalStorge
(
"symptom"
).
split
(
","
);
}
let
arr
=
[
"patientName"
,
//患者姓名
"nationality"
,
//国籍
"passportId"
,
//护照号
"HasSymptom"
,
//是否有症状
"otherSymptom"
,
//其他症状
"otherOccupation"
,
//其他职业
"age"
,
//年龄
"gender"
,
//性别
"height"
,
//身高
"weight"
,
//体重
"maritalStatus"
,
//婚姻状况
"birthday"
,
//出生日期
"isConceive"
,
//怀孕状况
"gestationalWeeks"
,
//怀孕周期
"occupation"
,
//职业
"contactInformation"
,
//联系方式
"FamilyMembersPhone"
,
//家属联系方式
"Registeredresidence"
,
//籍贯 (包括省市)
"province"
,
//籍贯 (省)
"city"
,
//籍贯 (市)
"address"
,
//地址
"idCard"
,
//身份证号
"typeOfMedicalInsurance"
,
//医保类型
"insurance"
,
//商业保险
];
arr
.
map
((
item
)
=>
{
if
(
this
.
getLocalStorge
(
item
))
{
this
[
`
${
item
}
`
]
=
this
.
getLocalStorge
(
item
);
}
});
name
:
"page4"
,
inject
:
[
"setLoading"
],
data
()
{
return
{
patientName
:
""
,
//患者姓名
orNotByEntry
:
this
.
$i18n
.
locale
==
"zh"
?
"否"
:
"ياق"
,
//近期是否由国外入境 ---默认值 否
nationality
:
""
,
//国籍--默认值 中国
passportId
:
""
,
//护照号
age
:
""
,
//年龄
height
:
""
,
//身高
weight
:
""
,
gender
:
this
.
$i18n
.
locale
==
"zh"
?
"男"
:
"ئەر"
,
//性别--默认值 男
maritalStatus
:
this
.
$i18n
.
locale
==
"zh"
?
"未婚"
:
"نىكاھلانغانمىغان"
,
//婚姻状况--默认值 未婚
birthday
:
""
,
//出生日期
isConceive
:
this
.
$i18n
.
locale
==
"zh"
?
"未孕"
:
"ھامىلدار"
,
//怀孕状况--默认值 未孕
gestationalWeeks
:
""
,
//怀孕周期
occupation
:
""
,
//职业
otherOccupation
:
""
,
//其他职业
contactInformation
:
""
,
//联系方式
FamilyMembersPhone
:
""
,
//家属联系方式
// workOrNotCovid: "否",
Registeredresidence
:
""
,
//籍贯 (包括省市)
province
:
""
,
//籍贯 (省)
city
:
""
,
//籍贯 (市)
address
:
""
,
//地址
idCard
:
""
,
//身份证号
typeOfMedicalInsurance
:
""
,
//医保类型---默认值 上海医保
insurance
:
this
.
$i18n
.
locale
==
"zh"
?
"无"
:
"يوق"
,
//商业保险---默认值 无
HasSymptom
:
this
.
$i18n
.
locale
==
"zh"
?
"否"
:
"ياق"
,
//有无症状---默认值 否
symptom
:
[],
//患者症状
otherSymptom
:
""
,
//其他症状
symptomList
:
[],
//症状列表
areaList
,
//地址数据选项列表
showArea
:
false
,
//控制地址弹窗
showbirthday
:
false
,
//出生时间弹窗
minbirthday
:
new
Date
(
1920
,
0
,
1
),
occupationList
:
[],
showoccupation
:
false
,
nationalityList
:
[],
//国籍列表
typeOfMedicalInsuranceList
:
[],
shownationality
:
false
,
showtypeOfMedicalInsurance
:
false
,
maxDate
:
new
Date
(),
};
},
mounted
()
{
if
(
this
.
$i18n
.
locale
==
"zh"
)
{
this
.
getResource
();
}
else
{
//症状列表
this
.
symptomList
=
[
{
id
:
1
,
element
:
"يۇتقۇنچاق ئاغرىش"
,
sort
:
1
},
{
id
:
2
,
element
:
"بۇرنى پۈتۈپ قىلىش"
,
sort
:
2
},
{
id
:
3
,
element
:
"قىزىتماق"
,
sort
:
3
},
{
id
:
5
,
element
:
"يۆتەل"
,
sort
:
5
},
{
id
:
6
,
element
:
"بەلغەم يۆتەل"
,
sort
:
6
},
{
id
:
7
,
element
:
"بېشى قايماق"
,
sort
:
7
},
{
id
:
8
,
element
:
"باش ئاغرىقى"
,
sort
:
8
},
{
id
:
9
,
element
:
"مۇسكۇل ئاغرىش"
,
sort
:
9
},
{
id
:
10
,
element
:
"ماغدۇرسىزلىق"
,
sort
:
10
},
{
id
:
11
,
element
:
"نەپەس قىيىنلىشىش"
,
sort
:
11
},
{
id
:
12
,
element
:
"بۇرنىدىن سۇ ئېقىش"
,
sort
:
12
},
];
//国籍列表
this
.
nationalityList
=
[
"جۇڭگو"
,
"جۇڭگو شياڭگاڭ"
,
"جۇڭگو ئاۋمېن"
,
"جۇڭگو تەيۋەن"
,
"چەتئەل"
,
];
//医保类型列表
this
.
typeOfMedicalInsuranceList
=
[
"شاڭخەي داۋالىنىش سۇغۇرتىسى"
,
"سىرتتىكى داۋالىنىش سۇغۇرتىسى"
,
"ئۆزى چىقىم قىلىش"
,
];
//职业列表
this
.
occupationList
=
[
"خىزمەتچى"
,
"ئىشچى"
,
"مەمۇرى خادىم"
,
"دېھقان"
,
"دېھقان"
,
"ھەربىي سەپتىن چېكىنگەن"
,
"باشقا خىزمەت"
,
];
}
getLocalStorge
(
key
)
{
return
window
.
localStorage
.
getItem
(
key
);
this
.
setLastValue
();
},
methods
:
{
setLastValue
()
{
if
(
this
.
getLocalStorge
(
"symptom"
))
{
this
.
symptom
=
this
.
getLocalStorge
(
"symptom"
).
split
(
","
);
}
let
arr
=
[
"patientName"
,
//患者姓名
"nationality"
,
//国籍
"passportId"
,
//护照号
"HasSymptom"
,
//是否有症状
"otherSymptom"
,
//其他症状
"otherOccupation"
,
//其他职业
"age"
,
//年龄
"gender"
,
//性别
"height"
,
//身高
"weight"
,
//体重
"maritalStatus"
,
//婚姻状况
"birthday"
,
//出生日期
"isConceive"
,
//怀孕状况
"gestationalWeeks"
,
//怀孕周期
"occupation"
,
//职业
"contactInformation"
,
//联系方式
"FamilyMembersPhone"
,
//家属联系方式
"Registeredresidence"
,
//籍贯 (包括省市)
"province"
,
//籍贯 (省)
"city"
,
//籍贯 (市)
"address"
,
//地址
"idCard"
,
//身份证号
"typeOfMedicalInsurance"
,
//医保类型
"insurance"
,
//商业保险
];
arr
.
map
((
item
)
=>
{
if
(
this
.
getLocalStorge
(
item
))
{
this
[
`
${
item
}
`
]
=
this
.
getLocalStorge
(
item
);
}
});
},
setLocalStorge
(
key
)
{
window
.
localStorage
.
setItem
(
key
,
this
[
`
${
key
}
`
]);
},
setValue
(
key
,
value
)
{
window
.
localStorage
.
setItem
(
key
,
value
);
},
onConfirm
(
values
)
{
console
.
log
(
values
);
this
.
Registeredresidence
=
values
.
filter
((
item
)
=>
!!
item
)
.
map
((
item
)
=>
item
.
name
)
.
join
(
"/"
);
getLocalStorge
(
key
)
{
return
window
.
localStorage
.
getItem
(
key
);
},
this
.
province
=
values
[
0
].
name
;
this
.
city
=
values
[
1
].
name
;
setLocalStorge
(
key
)
{
window
.
localStorage
.
setItem
(
key
,
this
[
`
${
key
}
`
]);
},
setValue
(
key
,
value
)
{
window
.
localStorage
.
setItem
(
key
,
value
);
},
onConfirm
(
values
)
{
console
.
log
(
values
);
this
.
Registeredresidence
=
values
.
filter
((
item
)
=>
!!
item
)
.
map
((
item
)
=>
item
.
name
)
.
join
(
"/"
);
this
.
setLocalStorge
(
"Registeredresidence"
);
this
.
setLocalStorge
(
"province"
);
this
.
setLocalStorge
(
"city"
);
this
.
province
=
values
[
0
].
name
;
this
.
city
=
values
[
1
].
name
;
this
.
showArea
=
false
;
},
this
.
setLocalStorge
(
"Registeredresidence"
);
this
.
setLocalStorge
(
"province"
);
this
.
setLocalStorge
(
"city"
);
validator
(
val
)
{
const
card15
=
/^
[
1-9
]\d{5}\d{2}((
0
[
1-9
])
|
(
10|11|12
))(([
0-2
][
1-9
])
|10|20|30|31
)\d{2}[
0-9Xx
]
$/
;
const
card18
=
/^
[
1-9
]\d{5}(
18|19|
([
23
]\d))\d{2}((
0
[
1-9
])
|
(
10|11|12
))(([
0-2
][
1-9
])
|10|20|30|31
)\d{3}[
0-9Xx
]
$/
;
return
card15
.
test
(
val
)
||
card18
.
test
(
val
);
},
this
.
showArea
=
false
;
},
getResource
()
{
this
.
setLoading
(
true
);
this
.
$http
.
get
(
`/Research/Resource`
,
{}).
then
((
data
)
=>
{
let
arr
=
data
.
filter
((
item
)
=>
{
return
item
.
category
==
"国籍"
;
});
let
arr1
=
data
.
filter
((
item
)
=>
{
return
item
.
category
==
"医保类型"
;
});
let
arr2
=
data
.
filter
((
item
)
=>
{
return
item
.
category
==
"职业"
;
});
this
.
symptomList
=
data
.
filter
((
item
)
=>
{
return
item
.
category
==
"症状"
;
});
this
.
nationalityList
=
arr
.
map
((
item
)
=>
{
return
item
.
element
;
});
this
.
typeOfMedicalInsuranceList
=
arr1
.
map
((
item
)
=>
{
return
item
.
element
;
});
this
.
occupationList
=
arr2
.
map
((
item
)
=>
{
return
item
.
element
;
});
this
.
setLoading
(
false
);
});
},
validator
(
val
)
{
const
card15
=
/^
[
1-9
]\d{5}\d{2}((
0
[
1-9
])
|
(
10|11|12
))(([
0-2
][
1-9
])
|10|20|30|31
)\d{2}[
0-9Xx
]
$/
;
const
card18
=
/^
[
1-9
]\d{5}(
18|19|
([
23
]\d))\d{2}((
0
[
1-9
])
|
(
10|11|12
))(([
0-2
][
1-9
])
|10|20|30|31
)\d{3}[
0-9Xx
]
$/
;
return
card15
.
test
(
val
)
||
card18
.
test
(
val
);
},
getdate
()
{
let
obj
=
this
.
getInfo
(
this
.
idCard
);
getResource
()
{
this
.
setLoading
(
true
);
this
.
$http
.
get
(
`/Research/Resource`
,
{}).
then
((
data
)
=>
{
let
arr
=
data
.
filter
((
item
)
=>
{
return
item
.
category
==
"国籍"
;
});
let
arr1
=
data
.
filter
((
item
)
=>
{
return
item
.
category
==
"医保类型"
;
});
let
arr2
=
data
.
filter
((
item
)
=>
{
return
item
.
category
==
"职业"
;
});
this
.
symptomList
=
data
.
filter
((
item
)
=>
{
return
item
.
category
==
"症状"
;
});
//国籍列表
this
.
nationalityList
=
arr
.
map
((
item
)
=>
{
return
item
.
element
;
});
//医保类型列表
this
.
typeOfMedicalInsuranceList
=
arr1
.
map
((
item
)
=>
{
return
item
.
element
;
});
//职业列表
this
.
occupationList
=
arr2
.
map
((
item
)
=>
{
return
item
.
element
;
});
this
.
setLoading
(
false
);
});
},
if
(
this
.
validator
(
this
.
idCard
))
{
this
.
age
=
obj
.
age
;
this
.
birthday
=
obj
.
birth
;
this
.
gender
=
obj
.
sex
==
1
?
"男"
:
"女"
;
getdate
()
{
let
obj
=
this
.
getInfo
(
this
.
idCard
);
this
.
setLocalStorge
(
"idCard"
);
this
.
setLocalStorge
(
"birthday"
);
this
.
setLocalStorge
(
"age"
);
this
.
setLocalStorge
(
"gender"
);
}
},
if
(
this
.
validator
(
this
.
idCard
))
{
this
.
age
=
obj
.
age
;
this
.
birthday
=
obj
.
birth
;
this
.
gender
=
obj
.
sex
==
1
?
"男"
:
"女"
;
//根据身份证号码获取出生年月 年龄 性别
getInfo
(
idCard
)
{
let
sex
=
null
;
let
birth
=
null
;
let
myDate
=
new
Date
();
let
month
=
myDate
.
getMonth
()
+
1
;
let
day
=
myDate
.
getDate
();
let
age
=
0
;
if
(
idCard
.
length
===
18
)
{
age
=
myDate
.
getFullYear
()
-
idCard
.
substring
(
6
,
10
)
-
1
;
sex
=
idCard
.
substring
(
16
,
17
);
birth
=
idCard
.
substring
(
6
,
10
)
+
"-"
+
idCard
.
substring
(
10
,
12
)
+
"-"
+
idCard
.
substring
(
12
,
14
);
if
(
idCard
.
substring
(
10
,
12
)
<
month
||
(
idCard
.
substring
(
10
,
12
)
===
month
&&
idCard
.
substring
(
12
,
14
)
<=
day
)
)
age
++
;
}
if
(
idCard
.
length
===
15
)
{
age
=
myDate
.
getFullYear
()
-
idCard
.
substring
(
6
,
8
)
-
1901
;
sex
=
idCard
.
substring
(
13
,
14
);
birth
=
"19"
+
idCard
.
substring
(
6
,
8
)
+
"-"
+
idCard
.
substring
(
8
,
10
)
+
"-"
+
idCard
.
substring
(
10
,
12
);
if
(
idCard
.
substring
(
8
,
10
)
<
month
||
(
idCard
.
substring
(
8
,
10
)
===
month
&&
idCard
.
substring
(
10
,
12
)
<=
day
)
)
age
++
;
}
if
(
sex
%
2
===
0
)
sex
=
0
;
// 性别代码 1代表男,0代表女,暂时不涉及其他类型性别
else
sex
=
1
;
return
{
age
,
sex
,
birth
,
};
},
this
.
setLocalStorge
(
"idCard"
);
this
.
setLocalStorge
(
"birthday"
);
this
.
setLocalStorge
(
"age"
);
this
.
setLocalStorge
(
"gender"
);
}
},
onbirthday
(
date
)
{
this
.
birthday
=
formatDate
(
date
,
"yyyy-MM-dd "
);
console
.
log
(
"🚀 ~ file: page4.vue ~ line 630 ~ onbirthday ~ this.birthday"
,
this
.
birthday
);
this
.
setLocalStorge
(
"birthday"
);
// this.getdate();
this
.
age
=
this
.
ages
(
formatDate
(
date
,
"yyyy-MM-dd "
));
this
.
showbirthday
=
false
;
},
//根据身份证号码获取出生年月 年龄 性别
getInfo
(
idCard
)
{
let
sex
=
null
;
let
birth
=
null
;
let
myDate
=
new
Date
();
let
month
=
myDate
.
getMonth
()
+
1
;
let
day
=
myDate
.
getDate
();
let
age
=
0
;
if
(
idCard
.
length
===
18
)
{
age
=
myDate
.
getFullYear
()
-
idCard
.
substring
(
6
,
10
)
-
1
;
sex
=
idCard
.
substring
(
16
,
17
);
birth
=
idCard
.
substring
(
6
,
10
)
+
"-"
+
idCard
.
substring
(
10
,
12
)
+
"-"
+
idCard
.
substring
(
12
,
14
);
if
(
idCard
.
substring
(
10
,
12
)
<
month
||
(
idCard
.
substring
(
10
,
12
)
===
month
&&
idCard
.
substring
(
12
,
14
)
<=
day
)
)
age
++
;
}
if
(
idCard
.
length
===
15
)
{
age
=
myDate
.
getFullYear
()
-
idCard
.
substring
(
6
,
8
)
-
1901
;
sex
=
idCard
.
substring
(
13
,
14
);
birth
=
"19"
+
idCard
.
substring
(
6
,
8
)
+
"-"
+
idCard
.
substring
(
8
,
10
)
+
"-"
+
idCard
.
substring
(
10
,
12
);
if
(
idCard
.
substring
(
8
,
10
)
<
month
||
(
idCard
.
substring
(
8
,
10
)
===
month
&&
idCard
.
substring
(
10
,
12
)
<=
day
)
)
age
++
;
}
ages
(
birth
)
{
birth
=
birth
.
replace
(
/-/g
,
"/"
);
//把格式中的"-"替换为"/"
birth
=
new
Date
(
birth
);
//替换后转为Date类型
var
now
=
new
Date
();
//获取当前日期
var
nowYear
=
now
.
getFullYear
();
//当前日期的年份
var
nowMonth
=
now
.
getMonth
();
var
nowDay
=
now
.
getDay
();
var
birthYear
=
birth
.
getFullYear
();
var
birthMonth
=
birth
.
getMonth
();
var
birthDay
=
birth
.
getDay
();
//出生日期的日数
var
age
;
if
(
birth
>
now
)
{
return
false
;
}
else
if
(
nowYear
==
birthYear
||
(
nowYear
>
birthYear
&&
nowMonth
>=
birthMonth
&&
nowDay
>=
birthDay
)
)
{
age
=
nowYear
-
birthYear
;
}
else
{
age
=
nowYear
-
birthYear
-
1
;
//简而言之,没过生日岁数不能+1
}
return
age
;
},
if
(
sex
%
2
===
0
)
sex
=
0
;
// 性别代码 1代表男,0代表女,暂时不涉及其他类型性别
else
sex
=
1
;
return
{
age
,
sex
,
birth
,
};
},
onbirthday
(
date
)
{
this
.
birthday
=
formatDate
(
date
,
"yyyy-MM-dd "
);
console
.
log
(
"🚀 ~ file: page4.vue ~ line 630 ~ onbirthday ~ this.birthday"
,
this
.
birthday
);
this
.
setLocalStorge
(
"birthday"
);
// this.getdate();
this
.
age
=
this
.
ages
(
formatDate
(
date
,
"yyyy-MM-dd "
));
this
.
showbirthday
=
false
;
},
formatter
(
type
,
val
)
{
if
(
type
===
"year"
)
{
return
`
${
val
}
年`
;
}
if
(
type
===
"month"
)
{
return
`
${
val
}
月`
;
}
else
if
(
type
===
"day"
)
{
return
`
${
val
}
日`
;
}
else
if
(
type
===
"hour"
)
{
return
`
${
val
}
时`
;
}
else
if
(
type
===
"minute"
)
{
return
`
${
val
}
分`
;
}
return
val
;
ages
(
birth
)
{
birth
=
birth
.
replace
(
/-/g
,
"/"
);
//把格式中的"-"替换为"/"
birth
=
new
Date
(
birth
);
//替换后转为Date类型
var
now
=
new
Date
();
//获取当前日期
var
nowYear
=
now
.
getFullYear
();
//当前日期的年份
var
nowMonth
=
now
.
getMonth
();
var
nowDay
=
now
.
getDay
();
var
birthYear
=
birth
.
getFullYear
();
var
birthMonth
=
birth
.
getMonth
();
var
birthDay
=
birth
.
getDay
();
//出生日期的日数
var
age
;
if
(
birth
>
now
)
{
return
false
;
}
else
if
(
nowYear
==
birthYear
||
(
nowYear
>
birthYear
&&
nowMonth
>=
birthMonth
&&
nowDay
>=
birthDay
)
)
{
age
=
nowYear
-
birthYear
;
}
else
{
age
=
nowYear
-
birthYear
-
1
;
//简而言之,没过生日岁数不能+1
}
return
age
;
},
formatter
(
type
,
val
)
{
if
(
type
===
"year"
)
{
return
`
${
val
}
年`
;
}
if
(
type
===
"month"
)
{
return
`
${
val
}
月`
;
}
else
if
(
type
===
"day"
)
{
return
`
${
val
}
日`
;
}
else
if
(
type
===
"hour"
)
{
return
`
${
val
}
时`
;
}
else
if
(
type
===
"minute"
)
{
return
`
${
val
}
分`
;
}
return
val
;
},
},
},
computed
:
{},
computed
:
{},
};
</
script
>
<
style
lang=
"scss"
scoped
>
.page4
{
.symptom
{
.van-checkbox--horizontal
{
margin-right
:
0.32rem
;
min-width
:
35%
;
margin-bottom
:
5%
;
.symptom
{
.van-checkbox--horizontal
{
margin-right
:
0.32rem
;
min-width
:
35%
;
margin-bottom
:
5%
;
}
}
}
}
</
style
>
src/components/page5.vue
View file @
53ed9955
...
...
@@ -2,343 +2,174 @@
* @Author: ninglupeng
* @Date: 2020-11-24 16:18:58
* @LastEditors: wsq
* @LastEditTime: 2022-
05-07 09:19:03
* @LastEditTime: 2022-
11-04 15:59:06
* @Description:
-->
<
template
>
<div
class=
"page5"
>
<van-field
colon
clearable
name=
"HasOnlineClass"
label-width=
"130px"
label=
"是否上网课"
>
<template
#
input
>
<van-radio-group
@
change=
"setLocalStorge('HasOnlineClass')"
v-model=
"HasOnlineClass"
direction=
"horizontal"
>
<van-radio
name=
"是"
>
是
</van-radio>
<van-radio
name=
"否"
>
否
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
colon
clearable
name=
"purpose"
label=
"来沪目的"
readonly
:value=
"purpose"
label-width=
"130px"
@
click=
"showPurpose = true"
>
</van-field>
<van-popup
v-model=
"showPurpose"
position=
"bottom"
>
<van-picker
title=
"来沪目的"
show-toolbar
:columns=
"purposeList"
@
confirm=
"onpurpose"
/>
</van-popup>
<van-field
colon
clearable
name=
"workOrNotCovid"
label=
"日常工作是否需要接触新冠病"
style=
"margin-left: 40px;"
>
<
template
#
input
>
<van-radio-group
@
change=
"setLocalStorge('workOrNotCovid')"
v-model=
"workOrNotCovid"
direction=
"horizontal"
>
<van-radio
name=
"是"
>
是
</van-radio>
<van-radio
name=
"否"
>
否
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
colon
clearable
name=
"thirtyDays"
label=
"近两月是否离开过上海"
label-width=
"130px"
:rules=
"[{ required: true, message: '请选择近两月是否离开过上海' }]"
>
<
template
#
input
>
<van-radio-group
@
change=
"
setLocalStorge('thirtyDays')
"
v-model=
"thirtyDays"
direction=
"horizontal"
>
<van-radio
name=
"是"
>
是
</van-radio>
<van-radio
name=
"否"
>
否
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
v-if=
"thirtyDays == '是'"
colon
clearable
v-model=
"LeaveShangHai"
name=
"LeaveShangHai"
label=
"回上海天数"
label-width=
"130px"
placeholder=
"回上海天数"
type=
"digit"
@
blur=
"setLocalStorge('LeaveShangHai')"
:rules=
"[
{
required: thirtyDays == '是' ? true : false,
message: '请填写回上海天数',
},
{ validator, message: '天数不能大于三十天' },
]"
>
<
template
#
extra
v-if=
"thirtyDays == '是'"
>
天
</
template
></van-field
>
<van-field
colon
clearable
readonly
clickable
name=
"normalDate"
:value=
"normalDate"
label-width=
"130px"
label=
"未发生异常时间"
placeholder=
"点击选择未发生异常时间"
@
click=
"showNormalDate = true"
:rules=
"[{ required: true, message: '请选择未发生异常时间' }]"
/>
<van-popup
v-model=
"showNormalDate"
position=
"bottom"
>
<van-datetime-picker
type=
"date"
v-model=
"normalDate1"
:min-date=
"minNormalDate"
:max-date=
"maxDate"
@
confirm=
"onNormalDate"
@
cancel=
"showNormalDate = false"
:formatter=
"formatter"
/>
</van-popup>
<van-field
colon
clearable
readonly
clickable
name=
"unusualDate"
:value=
"unusualDate"
label=
"核酸检测异常时间"
label-width=
"130px"
placeholder=
"点击选择核酸检测异常时间"
@
click=
"showUnusualDate = true"
:rules=
"[{ required: true, message: '请选择核酸检测异常时间' }]"
/>
<van-popup
v-model=
"showUnusualDate"
position=
"bottom"
>
<van-datetime-picker
type=
"date"
v-model=
"unusualDate1"
:min-date=
"minUnusualDate"
:max-date=
"maxDate"
@
confirm=
"onUnusualDate"
@
cancel=
"showUnusualDate = false"
:formatter=
"formatter"
/>
</van-popup>
<van-field
colon
clearable
readonly
clickable
label-width=
"130px"
name=
"inHospitalDate"
:value=
"inHospitalDate"
label=
"120转运时间或者入院时间"
placeholder=
"点击选择120转运时间或者入院时间"
@
click=
"showInHospitalDate = true"
:rules=
"[{ required: true, message: '请选择120转运时间或者入院时间' }]"
/>
<van-popup
v-model=
"showInHospitalDate"
position=
"bottom"
>
<van-datetime-picker
type=
"date"
v-model=
"inHospitalDate1"
:min-date=
"minInHospitalDate"
:max-date=
"maxDate"
@
confirm=
"onInHospitalDate"
@
cancel=
"showInHospitalDate = false"
:formatter=
"formatter"
/>
</van-popup>
<van-field
colon
clearable
autosize
label-width=
"130px"
type=
"textarea"
v-model=
"beforeIsolationPoint"
name=
"beforeIsolationPoint"
label=
"之前隔离点(无隔离点填救护车出发地址)"
placeholder=
"请填写之前隔离点"
@
blur=
"setLocalStorge('beforeIsolationPoint')"
:rules=
"[{ required: true, message: '请填写之前隔离点' }]"
></van-field>
<van-field
v-if=
"hasCOVIDVaccine=='是' || hasCOVIDVaccine=='否'"
colon
clearable
name=
"hasCOVIDVaccine"
label-width=
"130px"
label=
"是否接种过疫苗"
>
<
template
#
input
>
<van-radio-group
@
change=
"
() =>
{
setLocalStorge('hasCOVIDVaccine');
if (hasCOVIDVaccine == '否') {
covidVaccine = '';
vaccineType = [];
othervaccines = '';
setValue('covidVaccine', '');
setValue('vaccineType', '');
setValue('othervaccines', '');
}
}
"
v-model="hasCOVIDVaccine"
direction="horizontal"
>
<van-radio
name=
"是"
>
是
</van-radio>
<van-radio
name=
"否"
>
否
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
v-if=
"hasCOVIDVaccine == '是'"
colon
clearable
v-model=
"covidVaccine"
name=
"covidVaccine"
label=
"接种针数"
placeholder=
"接种针数"
label-width=
"130px"
type=
"number"
@
blur=
"setLocalStorge('covidVaccine')"
:rules=
"[{ required: true, message: '请填写接种针数' }]"
>
<
template
#
extra
v-if=
"hasCOVIDVaccine == '是'"
>
针
</
template
></van-field
>
<van-field
v-if=
"hasCOVIDVaccine == '是'"
colon
clearable
label-width=
"130px"
name=
"vaccineType"
label=
"疫苗公司"
:rules=
"[
{
required: hasCOVIDVaccine == '是' ? true : false,
message: '请选择疫苗公司',
},
]"
>
<
template
#
input
>
<van-checkbox-group
v-model=
"vaccineType"
direction=
"horizontal"
class=
"vaccineType"
@
change=
"
() =>
{
setLocalStorge('vaccineType');
}
"
>
<template
v-for=
"(item, index) in vaccineTypeList"
>
<van-checkbox
:key=
"index"
:name=
"item.element"
shape=
"square"
>
{{
item
.
element
}}
</van-checkbox>
</
template
>
</van-checkbox-group>
</template>
</van-field>
<van-field
colon
v-if=
"vaccineType.includes('其他')"
clearable
autosize
type=
"textarea"
label-width=
"130px"
v-model=
"othervaccines"
name=
"othervaccines"
label=
"其他疫苗"
placeholder=
"其他疫苗"
:rules=
"[
{
required: vaccineType.includes('其他') ? true : false,
message: '请填写其他疫苗',
},
]"
@
blur=
"setLocalStorge('othervaccines')"
></van-field>
<van-field
v-if=
"hasCOVIDVaccine == '是'"
colon
clearable
readonly
clickable
name=
"vaccineDate"
:value=
"vaccineDate"
label=
"最后一次接种日期"
label-width=
"130px"
placeholder=
"点击选择最后一次接种日期"
@
click=
"showVaccineDate = true"
:rules=
"[
{
required: covidVaccine > 0 ? true : false,
message: '请选择最后一次接种日期',
},
]"
/>
<van-popup
v-model=
"showVaccineDate"
position=
"bottom"
>
<van-datetime-picker
type=
"date"
v-model=
"vaccineDate1"
:min-date=
"minVaccineDate"
:max-date=
"maxDate"
@
confirm=
"onVaccineDate"
@
cancel=
"showVaccineDate = false"
:formatter=
"formatter"
/>
</van-popup>
</div>
<div
class=
"page5"
>
<van-field
colon
clearable
name=
"HasOnlineClass"
label-width=
"130px"
:label=
"$t('HasOnlineClass')"
>
<template
#
input
>
<van-radio-group
@
change=
"setLocalStorge('HasOnlineClass')"
v-model=
"HasOnlineClass"
direction=
"horizontal"
>
<van-radio
:name=
"$t('yes')"
>
{{
$t
(
"yes"
)
}}
</van-radio>
<van-radio
:name=
"$t('no')"
>
{{
$t
(
"no"
)
}}
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
colon
clearable
name=
"purpose"
:label=
"$t('purpose')"
readonly
:value=
"purpose"
label-width=
"130px"
@
click=
"showPurpose = true"
>
</van-field>
<van-popup
v-model=
"showPurpose"
position=
"bottom"
>
<van-picker
:title=
"$t('HasOnlineClass')"
show-toolbar
:columns=
"purposeList"
@
confirm=
"onpurpose"
/>
</van-popup>
<van-field
colon
clearable
name=
"workOrNotCovid"
:label=
"$t('workOrNotCovid')"
style=
"margin-left: 40px;"
>
<
template
#
input
>
<van-radio-group
@
change=
"setLocalStorge('workOrNotCovid')"
v-model=
"workOrNotCovid"
direction=
"horizontal"
>
<van-radio
:name=
"$t('yes')"
>
{{
$t
(
"yes"
)
}}
</van-radio>
<van-radio
:name=
"$t('no')"
>
{{
$t
(
"no"
)
}}
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
colon
clearable
name=
"thirtyDays"
:label=
"$t('thirtyDays')"
label-width=
"130px"
:rules=
"[{ required: true, message: `${$t('select')}${$t('thirtyDays')}` }]"
>
<
template
#
input
>
<van-radio-group
@
change=
"setLocalStorge('thirtyDays')"
v-model=
"thirtyDays"
direction=
"horizontal"
>
<van-radio
:name=
"$t('yes')"
>
{{
$t
(
"yes"
)
}}
</van-radio>
<van-radio
:name=
"$t('no')"
>
{{
$t
(
"no"
)
}}
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
v-if=
"thirtyDays == $t('yes')"
colon
clearable
v-model=
"LeaveShangHai"
name=
"LeaveShangHai"
:label=
"$t('LeaveShangHai')"
label-width=
"130px"
:placeholder=
"$t('LeaveShangHai')"
type=
"digit"
@
blur=
"setLocalStorge('LeaveShangHai')"
:rules=
"[
{
required: thirtyDays == $t('yes') ? true : false,
message: `${$t('fillIn')}${$t('LeaveShangHai')}`,
},
{ validator, message: `${$t('More30days')}` }, //天数不能大于三十天
]"
>
<
template
#
extra
v-if=
"thirtyDays == $t('yes')"
>
{{
$t
(
"Day"
)
}}
</
template
>
</van-field>
<van-field
colon
clearable
readonly
clickable
name=
"normalDate"
:value=
"normalDate"
label-width=
"130px"
:label=
"$t('normalDate')"
:placeholder=
"`${$t('clickSelect')}${$t('normalDate')}`"
@
click=
"showNormalDate = true"
:rules=
"[{ required: true, message: `${$t('select')}${$t('normalDate')}` }]"
/>
<van-popup
v-model=
"showNormalDate"
position=
"bottom"
>
<van-datetime-picker
type=
"date"
v-model=
"normalDate1"
:min-date=
"minNormalDate"
:max-date=
"maxDate"
@
confirm=
"onNormalDate"
@
cancel=
"showNormalDate = false"
:formatter=
"formatter"
/>
</van-popup>
<van-field
colon
clearable
readonly
clickable
name=
"unusualDate"
:value=
"unusualDate"
:label=
"$t('unusualDate')"
label-width=
"130px"
:placeholder=
"`${$t('clickSelect')}${$t('unusualDate')}`"
@
click=
"showUnusualDate = true"
:rules=
"[{ required: true, message: `${$t('select')}${$t('unusualDate')}` }]"
/>
<van-popup
v-model=
"showUnusualDate"
position=
"bottom"
>
<van-datetime-picker
type=
"date"
v-model=
"unusualDate1"
:min-date=
"minUnusualDate"
:max-date=
"maxDate"
@
confirm=
"onUnusualDate"
@
cancel=
"showUnusualDate = false"
:formatter=
"formatter"
/>
</van-popup>
<van-field
colon
clearable
readonly
clickable
label-width=
"130px"
name=
"inHospitalDate"
:value=
"inHospitalDate"
:label=
"$t('inHospitalDate')"
:placeholder=
"`${$t('clickSelect')}${$t('inHospitalDate')}`"
@
click=
"showInHospitalDate = true"
:rules=
"[{ required: true, message: `${$t('select')}${$t('inHospitalDate')}` }]"
/>
<van-popup
v-model=
"showInHospitalDate"
position=
"bottom"
>
<van-datetime-picker
type=
"date"
v-model=
"inHospitalDate1"
:min-date=
"minInHospitalDate"
:max-date=
"maxDate"
@
confirm=
"onInHospitalDate"
@
cancel=
"showInHospitalDate = false"
:formatter=
"formatter"
/>
</van-popup>
<van-field
colon
clearable
autosize
label-width=
"130px"
type=
"textarea"
v-model=
"beforeIsolationPoint"
name=
"beforeIsolationPoint"
:label=
"$t('beforeIsolationPoint')"
:placeholder=
"`${$t('fillIn')}${$t('beforeIsolationPoint')}`"
@
blur=
"setLocalStorge('beforeIsolationPoint')"
:rules=
"[
{ required: true, message: `${$t('fillIn')}${$t('beforeIsolationPoint')}` },
]"
>
</van-field>
<van-field
v-if=
"hasCOVIDVaccine == $t('yes') || hasCOVIDVaccine == $t('no')"
colon
clearable
name=
"hasCOVIDVaccine"
label-width=
"130px"
:label=
"$t('hasCOVIDVaccine')"
>
<
template
#
input
>
<van-radio-group
@
change=
"
() =>
{
setLocalStorge('hasCOVIDVaccine');
if (hasCOVIDVaccine == $t('no')) {
covidVaccine = '';
vaccineType = [];
othervaccines = '';
setValue('covidVaccine', '');
setValue('vaccineType', '');
setValue('othervaccines', '');
}
}
" v-model="hasCOVIDVaccine" direction="horizontal">
<van-radio
:name=
"$t('yes')"
>
{{
$t
(
"yes"
)
}}
</van-radio>
<van-radio
:name=
"$t('no')"
>
{{
$t
(
"no"
)
}}
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
v-if=
"hasCOVIDVaccine == $t('yes')"
colon
clearable
v-model=
"covidVaccine"
name=
"covidVaccine"
:label=
"$t('covidVaccine')"
:placeholder=
"$t('covidVaccine')"
label-width=
"130px"
type=
"number"
@
blur=
"setLocalStorge('covidVaccine')"
:rules=
"[{ required: true, message: `${$t('fillIn')}${$t('covidVaccine')}` }]"
>
<
template
#
extra
v-if=
"hasCOVIDVaccine == $t('yes')"
>
{{
$t
(
"needle"
)
}}
</
template
>
</van-field>
<van-field
v-if=
"hasCOVIDVaccine == $t('yes')"
colon
clearable
label-width=
"130px"
name=
"vaccineType"
:label=
"$t('vaccineType')"
:rules=
"[
{
required: hasCOVIDVaccine == $t('yes') ? true : false,
message: `${$t('select')}${$t('vaccineType')}`,
},
]"
>
<
template
#
input
>
<van-checkbox-group
v-model=
"vaccineType"
direction=
"horizontal"
class=
"vaccineType"
@
change=
"
() =>
{
setLocalStorge('vaccineType');
}
">
<template
v-for=
"(item, index) in vaccineTypeList"
>
<van-checkbox
:key=
"index"
:name=
"item.element"
shape=
"square"
>
{{
item
.
element
}}
</van-checkbox>
</
template
>
</van-checkbox-group>
</template>
</van-field>
<van-field
colon
v-if=
"vaccineType.includes($t('other'))"
clearable
autosize
type=
"textarea"
label-width=
"130px"
v-model=
"othervaccines"
name=
"othervaccines"
:label=
"$t('othervaccines')"
:placeholder=
"$t('othervaccines')"
:rules=
"[
{
required: vaccineType.includes($t('other')) ? true : false,
message: `${$t('fillIn')}${$t('othervaccines')}`,
},
]"
@
blur=
"setLocalStorge('othervaccines')"
></van-field>
<van-field
v-if=
"hasCOVIDVaccine == $t('yes')"
colon
clearable
readonly
clickable
name=
"vaccineDate"
:value=
"vaccineDate"
:label=
"$t('vaccineDate')"
label-width=
"130px"
:placeholder=
"`${$t('clickSelect')}${$t('vaccineDate')}`"
@
click=
"showVaccineDate = true"
:rules=
"[
{
required: covidVaccine > 0 ? true : false,
message: `${$t('select')}${$t('vaccineDate')}`,
},
]"
/>
<van-popup
v-model=
"showVaccineDate"
position=
"bottom"
>
<van-datetime-picker
type=
"date"
v-model=
"vaccineDate1"
:min-date=
"minVaccineDate"
:max-date=
"maxDate"
@
confirm=
"onVaccineDate"
@
cancel=
"showVaccineDate = false"
:formatter=
"formatter"
/>
</van-popup>
</div>
</template>
<
script
>
...
...
@@ -346,190 +177,211 @@ import { mapState, mapMutations } from "vuex";
import
{
formatDate
}
from
"../utils/common.js"
;
export
default
{
inject
:
[
"setLoading"
],
name
:
"page5"
,
data
()
{
return
{
workOrNotCovid
:
"否"
,
//是否需要接触新冠
HasOnlineClass
:
"否"
,
//是否上网课
purpose
:
"学习"
,
// 来沪目的
thirtyDays
:
"是"
,
//近三十天内无离开上海
LeaveShangHai
:
""
,
//回上海天数
unusualDate
:
""
,
//核酸检测异常时间
normalDate
:
""
,
//未发生异常时间
beforeIsolationPoint
:
""
,
//之前隔离点
inHospitalDate
:
""
,
//120转运时间
// HasSymptom: "否", //有无症状
// symptom: [], //患者症状
// otherSymptom: "", //其他症状
//symptomList: [],
hasCOVIDVaccine
:
"是"
,
covidVaccine
:
""
,
//接种针数
vaccineType
:
[],
//疫苗公司
othervaccines
:
""
,
//其他疫苗
vaccineDate
:
""
,
//最后一次接种日期
vaccineTypeList
:
[],
showNormalDate
:
false
,
//未发生异常时间弹窗
showUnusualDate
:
false
,
//核酸时间弹窗
showInHospitalDate
:
false
,
//120时间弹窗
showVaccineDate
:
false
,
//120时间弹窗
purposeList
:
[
"学习"
,
"工作"
,
"旅游"
,
"商务"
,
"其他"
],
minNormalDate
:
new
Date
(
2021
,
0
,
1
),
minUnusualDate
:
new
Date
(
2021
,
0
,
1
),
minInHospitalDate
:
new
Date
(
2021
,
0
,
1
),
minVaccineDate
:
new
Date
(
2020
,
0
,
1
),
maxDate
:
new
Date
(),
showPurpose
:
false
,
/**时间弹窗默认时间 */
unusualDate1
:
new
Date
(),
//核酸检测异常时间
normalDate1
:
new
Date
(),
//未发生异常时间
inHospitalDate1
:
new
Date
(),
//120转运时间
vaccineDate1
:
new
Date
(),
//最后一次接种日期
};
},
mounted
()
{
this
.
getResource
();
this
.
setDefDate
();
this
.
setLastValue
();
},
methods
:
{
setLastValue
()
{
if
(
this
.
getLocalStorge
(
"symptom"
))
{
this
.
symptom
=
this
.
getLocalStorge
(
"symptom"
).
split
(
","
);
}
let
arr
=
[
"HasOnlineClass"
,
//是否上网课
"purpose"
,
// 来沪目的
"thirtyDays"
,
//近三十天内无离开上海
"LeaveShangHai"
,
//回上海天数
"unusualDate"
,
//核酸检测异常时间
"normalDate"
,
//未发生异常时间
"inHospitalDate"
,
//120转运时间
"otherSymptom"
,
//其他症状
"vaccineType"
,
"beforeIsolationPoint"
,
//之前隔离点
"HasSymptom"
,
//有无症状
"hasCOVIDVaccine"
,
//是否接种过疫苗
"covidVaccine"
,
//接种针数
"othervaccines"
,
//其他疫苗
"vaccineDate"
,
//最后一次接种日期
];
for
(
let
i
=
0
;
i
<
arr
.
length
;
i
++
)
{
if
(
this
.
getLocalStorge
(
arr
[
i
]))
{
this
[
`
${
arr
[
i
]}
`
]
=
this
.
getLocalStorge
(
arr
[
i
]);
}
}
if
(
this
.
getLocalStorge
(
"vaccineType"
))
{
this
.
vaccineType
=
this
.
getLocalStorge
(
"vaccineType"
).
split
(
","
);
}
inject
:
[
"setLoading"
],
name
:
"page5"
,
data
()
{
return
{
workOrNotCovid
:
this
.
$i18n
.
locale
==
"zh"
?
"否"
:
"ياق"
,
//是否需要接触新冠 --- 默认值 否
HasOnlineClass
:
this
.
$i18n
.
locale
==
"zh"
?
"否"
:
"ياق"
,
//是否上网课--- 默认值 否
purpose
:
this
.
$i18n
.
locale
==
"zh"
?
"学习"
:
"ئوقۇش سەۋەپ بىلەن"
,
// 来沪目的--- 默认值 学习
thirtyDays
:
this
.
$i18n
.
locale
==
"zh"
?
"是"
:
"بار"
,
//近三十天内无离开上海--- 默认值 是
LeaveShangHai
:
""
,
//回上海天数
unusualDate
:
""
,
//核酸检测异常时间
normalDate
:
""
,
//未发生异常时间
beforeIsolationPoint
:
""
,
//之前隔离点
inHospitalDate
:
""
,
//120转运时间
// HasSymptom: "否", //有无症状--- 默认值 否
// symptom: [], //患者症状
// otherSymptom: "", //其他症状
//symptomList: [],
hasCOVIDVaccine
:
this
.
$i18n
.
locale
==
"zh"
?
"是"
:
"بار"
,
//--- 默认值 是
covidVaccine
:
""
,
//接种针数
vaccineType
:
[],
//疫苗公司
othervaccines
:
""
,
//其他疫苗
vaccineDate
:
""
,
//最后一次接种日期
vaccineTypeList
:
[],
showNormalDate
:
false
,
//未发生异常时间弹窗
showUnusualDate
:
false
,
//核酸时间弹窗
showInHospitalDate
:
false
,
//120时间弹窗
showVaccineDate
:
false
,
//120时间弹窗
purposeList
:
this
.
$i18n
.
locale
==
"zh"
?
[
"学习"
,
"工作"
,
"旅游"
,
"商务"
,
"其他"
]
:
[
"ئوقۇش سەۋەپ بىلەن"
,
"خىزمەت سەۋەپ بىلەن"
,
"ساياھەت قىلىش ئۈچۈن"
,
"سودا ئۈچۈن"
,
"باشقا سەۋەپ"
,
],
minNormalDate
:
new
Date
(
2021
,
0
,
1
),
minUnusualDate
:
new
Date
(
2021
,
0
,
1
),
minInHospitalDate
:
new
Date
(
2021
,
0
,
1
),
minVaccineDate
:
new
Date
(
2020
,
0
,
1
),
maxDate
:
new
Date
(),
showPurpose
:
false
,
/**时间弹窗默认时间 */
unusualDate1
:
new
Date
(),
//核酸检测异常时间
normalDate1
:
new
Date
(),
//未发生异常时间
inHospitalDate1
:
new
Date
(),
//120转运时间
vaccineDate1
:
new
Date
(),
//最后一次接种日期
};
},
mounted
()
{
if
(
this
.
$i18n
.
locale
==
"zh"
)
{
this
.
getResource
();
}
else
{
this
.
vaccineTypeList
=
[
{
id
:
13
,
element
:
"چاڭچۈن شىڭ ئوۇ"
,
sort
:
1
},
{
id
:
14
,
element
:
"بېيجىڭ شىڭ ئوۇ"
,
sort
:
2
},
{
id
:
82
,
element
:
"ئۇخەن شىڭ ئوۇ"
,
sort
:
2.5
},
{
id
:
83
,
element
:
"بېيجىڭ كېشىڭ"
,
sort
:
2.6
},
{
id
:
15
,
element
:
"نەنجىڭ شىڭوۇ"
,
sort
:
3
},
{
id
:
89
,
element
:
"ئەنخۇي جيفىي"
,
sort
:
4
},
{
id
:
90
,
element
:
"كاڭشىنو"
,
sort
:
5
},
{
id
:
91
,
element
:
"چىڭدۇ شىڭ ئۇ"
,
sort
:
6
},
{
id
:
92
,
element
:
"لەنجۇچ شىڭ ئوۇ"
,
sort
:
7
},
{
id
:
27
,
element
:
"باشقا سەۋەپ"
,
sort
:
99
},
];
}
getLocalStorge
(
key
)
{
return
window
.
localStorage
.
getItem
(
key
);
},
this
.
setDefDate
();
setLocalStorge
(
key
)
{
window
.
localStorage
.
setItem
(
key
,
this
[
`
${
key
}
`
]);
this
.
setLastValue
();
},
methods
:
{
setLastValue
()
{
if
(
this
.
getLocalStorge
(
"symptom"
))
{
this
.
symptom
=
this
.
getLocalStorge
(
"symptom"
).
split
(
","
);
}
setValue
(
key
,
value
)
{
window
.
localStorage
.
setItem
(
key
,
value
);
},
let
arr
=
[
"HasOnlineClass"
,
//是否上网课
"purpose"
,
// 来沪目的
"thirtyDays"
,
//近三十天内无离开上海
"LeaveShangHai"
,
//回上海天数
"unusualDate"
,
//核酸检测异常时间
"normalDate"
,
//未发生异常时间
"inHospitalDate"
,
//120转运时间
"otherSymptom"
,
//其他症状
"vaccineType"
,
"beforeIsolationPoint"
,
//之前隔离点
"HasSymptom"
,
//有无症状
"hasCOVIDVaccine"
,
//是否接种过疫苗
"covidVaccine"
,
//接种针数
"othervaccines"
,
//其他疫苗
"vaccineDate"
,
//最后一次接种日期
];
for
(
let
i
=
0
;
i
<
arr
.
length
;
i
++
)
{
if
(
this
.
getLocalStorge
(
arr
[
i
]))
{
this
[
`
${
arr
[
i
]}
`
]
=
this
.
getLocalStorge
(
arr
[
i
]);
}
}
setDefDate
()
{
// this.unusualDate = formatDate(new Date(), "yyyy-MM-dd"); //核酸检测异常时间
// this.normalDate = formatDate(new Date(), "yyyy-MM-dd"); //未发生异常时间
// this.inHospitalDate = formatDate(new Date(), "yyyy-MM-dd"); //120转运时间
// this.vaccineDate = formatDate(new Date(), "yyyy-MM-dd"); //最后一次接种日期
},
if
(
this
.
getLocalStorge
(
"vaccineType"
))
{
this
.
vaccineType
=
this
.
getLocalStorge
(
"vaccineType"
).
split
(
","
);
}
},
onpurpose
(
value
,
index
)
{
this
.
purpose
=
value
;
this
.
setLocalStorge
(
"purpose"
);
this
.
showPurpose
=
false
;
},
getLocalStorge
(
key
)
{
return
window
.
localStorage
.
getItem
(
key
);
},
validator
(
val
)
{
return
val
<
61
||
val
==
61
;
},
setLocalStorge
(
key
)
{
window
.
localStorage
.
setItem
(
key
,
this
[
`
${
key
}
`
])
;
},
getResource
()
{
this
.
setLoading
(
true
);
this
.
$http
.
get
(
`/Research/Resource`
,
{}).
then
((
data
)
=>
{
this
.
symptomList
=
data
.
filter
((
item
)
=>
{
return
item
.
category
==
"症状"
;
});
setValue
(
key
,
value
)
{
window
.
localStorage
.
setItem
(
key
,
value
);
},
this
.
vaccineTypeList
=
data
.
filter
((
item
)
=>
{
return
item
.
category
==
"新冠疫苗种类"
;
});
setDefDate
()
{
// this.unusualDate = formatDate(new Date(), "yyyy-MM-dd"); //核酸检测异常时间
// this.normalDate = formatDate(new Date(), "yyyy-MM-dd"); //未发生异常时间
// this.inHospitalDate = formatDate(new Date(), "yyyy-MM-dd"); //120转运时间
// this.vaccineDate = formatDate(new Date(), "yyyy-MM-dd"); //最后一次接种日期
},
this
.
setLoading
(
false
);
});
},
onpurpose
(
value
,
index
)
{
this
.
purpose
=
value
;
this
.
setLocalStorge
(
"purpose"
);
this
.
showPurpose
=
false
;
},
formatter
(
type
,
val
)
{
if
(
type
===
"year"
)
{
return
`
${
val
}
年`
;
}
if
(
type
===
"month"
)
{
return
`
${
val
}
月`
;
}
else
if
(
type
===
"day"
)
{
return
`
${
val
}
日`
;
}
else
if
(
type
===
"hour"
)
{
return
`
${
val
}
时`
;
}
else
if
(
type
===
"minute"
)
{
return
`
${
val
}
分`
;
}
return
val
;
},
onNormalDate
(
date
)
{
this
.
normalDate
=
formatDate
(
date
,
"yyyy-MM-dd "
);
this
.
setLocalStorge
(
"normalDate"
);
this
.
showNormalDate
=
false
;
},
onUnusualDate
(
date
)
{
this
.
unusualDate
=
formatDate
(
date
,
"yyyy-MM-dd"
);
this
.
setLocalStorge
(
"unusualDate"
);
validator
(
val
)
{
return
val
<
61
||
val
==
61
;
},
this
.
showUnusualDate
=
false
;
},
getResource
()
{
this
.
setLoading
(
true
);
this
.
$http
.
get
(
`/Research/Resource`
,
{}).
then
((
data
)
=>
{
this
.
symptomList
=
data
.
filter
((
item
)
=>
{
return
item
.
category
==
"症状"
;
});
this
.
vaccineTypeList
=
data
.
filter
((
item
)
=>
{
return
item
.
category
==
"新冠疫苗种类"
;
});
this
.
setLoading
(
false
);
});
},
onInHospitalDate
(
date
)
{
this
.
inHospitalDate
=
formatDate
(
date
,
"yyyy-MM-dd "
);
this
.
setLocalStorge
(
"inHospitalDate"
);
this
.
showInHospitalDate
=
false
;
},
formatter
(
type
,
val
)
{
if
(
type
===
"year"
)
{
return
`
${
val
}
年`
;
}
if
(
type
===
"month"
)
{
return
`
${
val
}
月`
;
}
else
if
(
type
===
"day"
)
{
return
`
${
val
}
日`
;
}
else
if
(
type
===
"hour"
)
{
return
`
${
val
}
时`
;
}
else
if
(
type
===
"minute"
)
{
return
`
${
val
}
分`
;
}
return
val
;
},
onNormalDate
(
date
)
{
this
.
normalDate
=
formatDate
(
date
,
"yyyy-MM-dd "
);
this
.
setLocalStorge
(
"normalDate"
);
this
.
showNormalDate
=
false
;
},
onUnusualDate
(
date
)
{
this
.
unusualDate
=
formatDate
(
date
,
"yyyy-MM-dd"
);
this
.
setLocalStorge
(
"unusualDate"
);
this
.
showUnusualDate
=
false
;
},
onVaccineDate
(
date
)
{
this
.
vaccineDate
=
formatDate
(
date
,
"yyyy-MM-dd"
);
this
.
setLocalStorge
(
"vaccineDate"
);
this
.
showVaccineDate
=
false
;
onInHospitalDate
(
date
)
{
this
.
inHospitalDate
=
formatDate
(
date
,
"yyyy-MM-dd "
);
this
.
setLocalStorge
(
"inHospitalDate"
);
this
.
showInHospitalDate
=
false
;
},
onVaccineDate
(
date
)
{
this
.
vaccineDate
=
formatDate
(
date
,
"yyyy-MM-dd"
);
this
.
setLocalStorge
(
"vaccineDate"
);
this
.
showVaccineDate
=
false
;
},
},
},
computed
:
{},
computed
:
{},
};
</
script
>
<
style
lang=
"scss"
scoped
>
.page5
{
.vaccineType
{
.van-checkbox
{
width
:
43%
;
margin-bottom
:
5%
;
.vaccineType
{
.van-checkbox
{
width
:
43%
;
margin-bottom
:
5%
;
}
}
}
}
</
style
>
src/components/page6.vue
View file @
53ed9955
<!--
* @Author: ninglupeng
* @Date: 2020-11-24 16:18:58
* @LastEditors:
wsq
* @LastEditTime: 2022-
05-09 15:07:51
* @LastEditors:
ninglupeng
* @LastEditTime: 2022-
11-04 16:58:20
* @Description:
-->
<
template
>
<div
class=
"page6"
>
<van-field
colon
clearable
name=
"hasHistoryAllergies"
label-width=
"125px"
label=
"过敏史"
>
<template
#
input
>
<van-radio-group
@
change=
"
() =>
{
setLocalStorge('hasHistoryAllergies');
if (hasHistoryAllergies == '无') {
foodAllergy = '';
drugAllergy = '';
otherAllergy = '';
setValue('foodAllergy', '');
setValue('drugAllergy', '');
setValue('otherAllergy', '');
}
}
"
v-model="hasHistoryAllergies"
direction="horizontal"
>
<van-radio
name=
"有"
>
有
</van-radio>
<van-radio
name=
"无"
>
无
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<!-- <van-field
v-if="hasHistoryAllergies == '有'"
colon
clearable
label-width="125px"
v-model="historyAllergies"
name="historyAllergies"
label="过敏原"
placeholder="过敏原"
:rules="[
{
required: hasHistoryAllergies == '有' ? true : false,
message: '请填写过敏原',
},
]"
></van-field> -->
<van-field
v-show=
"hasHistoryAllergies == '有'"
colon
clearable
label-width=
"125px"
v-model=
"foodAllergy"
name=
"foodAllergy"
label=
"食物过敏原"
placeholder=
"食物过敏原"
@
blur=
"setLocalStorge('foodAllergy')"
></van-field>
<van-field
v-show=
"hasHistoryAllergies == '有'"
colon
clearable
label-width=
"125px"
v-model=
"drugAllergy"
name=
"drugAllergy"
label=
"药物过敏原"
placeholder=
"药物过敏原"
@
blur=
"setLocalStorge('drugAllergy')"
></van-field>
<van-field
v-show=
"hasHistoryAllergies == '有'"
colon
clearable
label-width=
"125px"
v-model=
"otherAllergy"
name=
"otherAllergy"
label=
"其他过敏原"
placeholder=
"其他过敏原"
@
blur=
"setLocalStorge('otherAllergy')"
></van-field>
<van-field
colon
clearable
name=
"hasHistorySurgery"
label-width=
"125px"
label=
"手术史"
>
<
template
#
input
>
<van-radio-group
@
change=
"
() =>
{
setLocalStorge('hasHistorySurgery');
if (hasHistorySurgery == '无') {
historySurgery = '';
setValue('historySurgery', '');
}
}
"
v-model="hasHistorySurgery"
direction="horizontal"
>
<van-radio
name=
"有"
>
有
</van-radio>
<van-radio
name=
"无"
>
无
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
v-show=
"hasHistorySurgery == '有'"
colon
clearable
label-width=
"125px"
v-model=
"historySurgery"
name=
"historySurgery"
label=
"手术史具体内容"
placeholder=
"具体内容"
@
blur=
"setLocalStorge('historySurgery')"
:rules=
"[
{
required: hasHistorySurgery == '有' ? true : false,
message: '请填写手术史具体内容',
},
]"
></van-field>
<van-field
colon
clearable
name=
"HasPreviousHistory"
label-width=
"125px"
label=
"有无既往史"
>
<
template
#
input
>
<van-radio-group
@
change=
"
() =>
{
setLocalStorge('HasPreviousHistory');
if (HasPreviousHistory == '无') {
previousHistory = [];
otherPastHistory = '';
tuberculosisDate='';
setValue('previousHistory','');
setValue('otherPastHistory', '');
setValue('tuberculosisDate', '');
}
}
"
v-model="HasPreviousHistory"
direction="horizontal"
>
<van-radio
name=
"有"
>
有
</van-radio>
<van-radio
name=
"无"
>
无
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
colon
clearable
name=
"previousHistory"
label-width=
"125px"
label=
"既往史"
v-show=
"HasPreviousHistory == '有'"
:rules=
"[
{
required: HasPreviousHistory == '有' ? true : false,
message: '请选择既往史',
},
]"
>
<
template
#
input
>
<van-checkbox-group
@
change=
"setLocalStorge('previousHistory')"
v-model=
"previousHistory"
>
<van-cell-group>
<van-cell
v-for=
"(item, index) in previousHistoryList"
:key=
"index"
>
<van-checkbox
:name=
"item.element"
shape=
"square"
>
{{
item
.
element
}}
</van-checkbox>
</van-cell>
</van-cell-group>
</van-checkbox-group>
</
template
>
</van-field>
<van-field
colon
v-show=
"previousHistory.includes('其他')"
clearable
autosize
type=
"textarea"
v-model=
"otherPastHistory"
name=
"otherPastHistory"
label=
"其他既往史"
placeholder=
"其他既往史"
:rules=
"[
{
required: previousHistory.includes('其他') ? true : false,
message: '请填写其他既往史',
},
]"
@
blur=
"setLocalStorge('otherPastHistory')"
></van-field>
<!-- <van-field
colon
clearable
readonly
clickable
label-width="125px"
v-show="HasPreviousHistory == '有' && previousHistory.includes('肺结核')"
:rules="[
{
required:
HasPreviousHistory == '有' && previousHistory.includes('肺结核')
? true
: false,
message: '请选择既往史发生时间',
},
]"
name="tuberculosisDate"
:min-date="minDate"
:max-date="maxDate"
:value="tuberculosisDate"
label="既往史发生时间"
placeholder="点击选择既往史发生时间"
@click="showPicker = true"
v-model="tuberculosisDate1"
:formatter="formatter"
/> -->
<van-field
colon
clearable
readonly
clickable
v-if=
"HasPreviousHistory != '无' && previousHistory.includes('肺结核')"
:rules=
"[
{
required:
HasPreviousHistory != '无' && previousHistory.includes('肺结核')
? true
: false,
message: '请选择既往史发生时间',
},
]"
name=
"tuberculosisDate"
:value=
"tuberculosisDate"
label=
"既往史发生时间"
placeholder=
"点击选择既往史发生时间"
@
click=
"showPicker = true"
/>
<van-popup
v-model=
"showPicker"
position=
"bottom"
>
<van-datetime-picker
:min-date=
"minDate"
:max-date=
"maxDate"
type=
"date"
@
confirm=
"onConfirm"
@
cancel=
"showPicker = false"
:formatter=
"formatter"
v-model=
"deathDate2"
/>
</van-popup>
<van-field
colon
clearable
name=
"whetherSmoking"
label=
"是否吸烟"
label-width=
"125px"
>
<
template
#
input
>
<van-radio-group
@
change=
"
() =>
{
setLocalStorge('whetherSmoking');
if (whetherSmoking == '否') {
smokingTypes = []; //烟草类型
smokingYears = ''; //吸烟年数
smokingCount = ''; //吸烟支数
whetherNoSmoking = ''; //是否戒烟
setValue('smokingTypes', '');
setValue('smokingYears', '');
setValue('smokingCount', '');
setValue('whetherNoSmoking', '');
}
}
"
v-model="whetherSmoking"
direction="horizontal"
>
<van-radio
name=
"是"
>
是
</van-radio>
<van-radio
name=
"否"
>
否
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
colon
clearable
label-width=
"125px"
name=
"smokingTypes"
label=
"烟草类型"
v-if=
"whetherSmoking == '是'"
>
<
template
#
input
>
<van-checkbox-group
@
change=
"setLocalStorge('smokingTypes')"
v-model=
"smokingTypes"
direction=
"horizontal"
class=
"smokingTypes"
>
<template
v-for=
"(item, index) in smokingTypesList"
>
<van-checkbox
:key=
"index"
:name=
"item.element"
shape=
"square"
>
{{
item
.
element
}}
</van-checkbox>
</
template
>
</van-checkbox-group>
</template>
</van-field>
<van-field
v-if=
"whetherSmoking == '是'"
colon
clearable
label-width=
"125px"
v-model=
"smokingYears"
name=
"smokingYears"
label=
"吸烟年数"
placeholder=
"吸烟年数"
type=
"digit"
@
blur=
"setLocalStorge('smokingYears')"
:rules=
"[{ required: false, message: '请填写吸烟年数' }]"
>
<
template
#
extra
>
年
</
template
>
</van-field>
<van-field
v-if=
"whetherSmoking == '是'"
label-width=
"125px"
colon
clearable
v-model=
"smokingCount"
name=
"smokingCount"
label=
"每天吸烟支数"
placeholder=
"每天吸烟支数"
type=
"digit"
@
blur=
"setLocalStorge('smokingCount')"
:rules=
"[{ required: false, message: '请填写每天吸烟支数' }]"
>
<
template
#
extra
>
支
</
template
>
</van-field>
<van-field
colon
clearable
label-width=
"125px"
name=
"whetherNoSmoking"
label=
"是否戒烟"
v-if=
"whetherSmoking == '是'"
>
<
template
#
input
>
<van-radio-group
@
change=
"
() =>
{
setLocalStorge('whetherNoSmoking');
if (whetherNoSmoking == '否') {
noSmokingYears = ''; //戒烟年数
setValue('noSmokingYears', '');
}
}
"
v-model="whetherNoSmoking"
direction="horizontal"
>
<van-radio
name=
"是"
>
是
</van-radio>
<van-radio
name=
"否"
>
否
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
v-if=
"whetherNoSmoking == '是'"
colon
label-width=
"125px"
clearable
v-model=
"noSmokingYears"
name=
"noSmokingYears"
label=
"戒烟年数"
placeholder=
"戒烟年数"
type=
"digit"
@
blur=
"setLocalStorge('noSmokingYears')"
:rules=
"[{ required: false, message: '请填写戒烟年数' }]"
>
<
template
#
extra
>
年
</
template
>
</van-field>
<van-field
colon
clearable
name=
"whetherPassivitySmoking"
label=
"是否被动吸烟"
label-width=
"125px"
>
<
template
#
input
>
<van-radio-group
@
change=
"
() =>
{
setLocalStorge('whetherPassivitySmoking');
if (whetherPassivitySmoking == '否') {
passivitySmokingYears = ''; //被动吸烟年数
setValue('passivitySmokingYears', '');
}
}
"
v-model="whetherPassivitySmoking"
direction="horizontal"
>
<van-radio
name=
"是"
>
是
</van-radio>
<van-radio
name=
"否"
>
否
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
v-if=
"whetherPassivitySmoking == '是'"
colon
label-width=
"125px"
clearable
v-model=
"passivitySmokingYears"
name=
"passivitySmokingYears"
label=
"被动吸烟年数"
placeholder=
"被动吸烟年数"
type=
"digit"
@
blur=
"setLocalStorge('passivitySmokingYears')"
>
<
template
#
extra
>
年
</
template
>
</van-field>
<van-popup
v-model=
"showPicker"
position=
"bottom"
>
<van-datetime-picker
:min-date=
"minDate"
:max-date=
"maxDate"
type=
"date"
@
confirm=
"onConfirm"
@
cancel=
"showPicker = false"
:formatter=
"formatter"
/>
</van-popup>
<van-field
colon
clearable
name=
"yesOrNoCt"
label-width=
"125px"
label=
"有无胸部CT检查"
>
<
template
#
input
>
<van-radio-group
@
change=
"
() =>
{
setLocalStorge('yesOrNoCt');
if (yesOrNoCt == '无') {
ChestCT = '无';
ChestCTDate='';
setValue('ChestCT', '');
setValue('ChestCTDate', '');
}
}
"
v-model="yesOrNoCt"
direction="horizontal"
>
<van-radio
name=
"有"
>
有
</van-radio>
<van-radio
name=
"无"
>
无
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
v-if=
"yesOrNoCt == '有'"
colon
clearable
name=
"ChestCT"
label-width=
"125px"
label=
"CT有无病毒性肺炎表现"
>
<
template
#
input
>
<van-radio-group
@
change=
"
() =>
{
setLocalStorge('ChestCT');
}
"
v-model="ChestCT"
direction="horizontal"
>
<van-radio
name=
"有"
>
有
</van-radio>
<van-radio
name=
"无"
>
无
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
v-if=
"yesOrNoCt == '有'"
colon
clearable
readonly
clickable
name=
"ChestCTDate"
:value=
"ChestCTDate"
label=
"发生时间"
label-width=
"125px"
placeholder=
"点击选择新冠肺炎CT拍照时间"
@
click=
"showCalendar = true"
:rules=
"[
{
required: ChestCT == '有' ? true : false,
message: '请选择新冠肺炎CT拍照时间',
},
]"
/>
<van-popup
v-model=
"showCalendar"
position=
"bottom"
>
<van-datetime-picker
type=
"date"
:min-date=
"minChestCTDate"
:max-date=
"maxDate"
@
confirm=
"onChestCT"
@
cancel=
"showCalendar = false"
:formatter=
"formatter"
v-model=
"ChestCTDate1"
/>
</van-popup>
</div>
<div
class=
"page6"
>
<van-field
colon
clearable
name=
"hasHistoryAllergies"
label-width=
"125px"
:label=
"$t('hasHistoryAllergies')"
>
<template
#
input
>
<van-radio-group
@
change=
"
() =>
{
setLocalStorge('hasHistoryAllergies');
if (hasHistoryAllergies == $t('noHave')) {
foodAllergy = '';
drugAllergy = '';
otherAllergy = '';
setValue('foodAllergy', '');
setValue('drugAllergy', '');
setValue('otherAllergy', '');
}
}
" v-model="hasHistoryAllergies" direction="horizontal">
<van-radio
:name=
"$t('have')"
>
{{
$t
(
"have"
)
}}
</van-radio>
<van-radio
:name=
"$t('noHave')"
>
{{
$t
(
"noHave"
)
}}
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
v-show=
"hasHistoryAllergies == $t('have')"
colon
clearable
label-width=
"125px"
v-model=
"foodAllergy"
name=
"foodAllergy"
:label=
"$t('foodAllergy')"
:placeholder=
"$t('foodAllergy')"
@
blur=
"setLocalStorge('foodAllergy')"
>
</van-field>
<!-- 药物过敏原 -->
<van-field
v-show=
"hasHistoryAllergies == $t('have')"
colon
clearable
label-width=
"125px"
v-model=
"drugAllergy"
name=
"drugAllergy"
:label=
"$t('drugAllergy')"
:placeholder=
"$t('drugAllergy')"
@
blur=
"setLocalStorge('drugAllergy')"
>
</van-field>
<!-- 其他过敏原 -->
<van-field
v-show=
"hasHistoryAllergies == $t('have')"
colon
clearable
label-width=
"125px"
v-model=
"otherAllergy"
name=
"otherAllergy"
:label=
"$t('otherAllergy')"
:placeholder=
"$t('otherAllergy')"
@
blur=
"setLocalStorge('otherAllergy')"
>
</van-field>
<van-field
colon
clearable
name=
"hasHistorySurgery"
label-width=
"125px"
:label=
"$t('hasHistorySurgery')"
>
<
template
#
input
>
<van-radio-group
@
change=
"
() =>
{
setLocalStorge('hasHistorySurgery');
if (hasHistorySurgery == $t('noHave')) {
historySurgery = '';
setValue('historySurgery', '');
}
}
" v-model="hasHistorySurgery" direction="horizontal">
<van-radio
:name=
"$t('have')"
>
{{
$t
(
"have"
)
}}
</van-radio>
<van-radio
:name=
"$t('noHave')"
>
{{
$t
(
"noHave"
)
}}
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
v-show=
"hasHistorySurgery == $t('have')"
colon
clearable
label-width=
"125px"
v-model=
"historySurgery"
name=
"historySurgery"
:label=
"$t('historySurgery')"
:placeholder=
"$t('historySurgery')"
@
blur=
"setLocalStorge('historySurgery')"
:rules=
"[
{
required: hasHistorySurgery == $t('have') ? true : false,
message: `${$t('fillIn')}${$t('historySurgery')}`,
},
]"
>
</van-field>
<van-field
colon
clearable
name=
"HasPreviousHistory"
label-width=
"125px"
:label=
"$t('HasPreviousHistory')"
>
<
template
#
input
>
<van-radio-group
@
change=
"
() =>
{
setLocalStorge('HasPreviousHistory');
if (HasPreviousHistory == $t('noHave')) {
previousHistory = [];
otherPastHistory = '';
tuberculosisDate = '';
setValue('previousHistory', '');
setValue('otherPastHistory', '');
setValue('tuberculosisDate', '');
}
}
" v-model="HasPreviousHistory" direction="horizontal">
<van-radio
:name=
"$t('have')"
>
{{
$t
(
"have"
)
}}
</van-radio>
<van-radio
:name=
"$t('noHave')"
>
{{
$t
(
"noHave"
)
}}
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
colon
clearable
name=
"previousHistory"
label-width=
"125px"
:label=
"$t('previousHistory')"
v-show=
"HasPreviousHistory == $t('have')"
:rules=
"[
{
required: HasPreviousHistory == $t('have') ? true : false,
message: `${$t('select')}${$t('previousHistory')}`,
},
]"
>
<
template
#
input
>
<van-checkbox-group
@
change=
"setLocalStorge('previousHistory')"
v-model=
"previousHistory"
>
<van-cell-group>
<van-cell
v-for=
"(item, index) in previousHistoryList"
:key=
"index"
>
<van-checkbox
:name=
"item.element"
shape=
"square"
>
{{
item
.
element
}}
</van-checkbox>
</van-cell>
</van-cell-group>
</van-checkbox-group>
</
template
>
</van-field>
<van-field
colon
v-show=
"previousHistory.includes($t('other'))"
clearable
autosize
type=
"textarea"
v-model=
"otherPastHistory"
name=
"otherPastHistory"
:label=
"$t('otherPastHistory')"
:placeholder=
"$t('otherPastHistory')"
:rules=
"[
{
required: previousHistory.includes($t('other')) ? true : false,
message: `${$t('fillIn')}${$t('otherPastHistory')}`,
},
]"
@
blur=
"setLocalStorge('otherPastHistory')"
></van-field>
<van-field
colon
clearable
readonly
clickable
v-if=
"
HasPreviousHistory != $t('noHave') && previousHistory.includes('肺结核')
"
:rules=
"[
{
required:
HasPreviousHistory != $t('noHave') &&
previousHistory.includes('肺结核')
? true
: false,
message: `${$t('select')}${$t('tuberculosisDate')}`,
},
]"
name=
"tuberculosisDate"
:value=
"tuberculosisDate"
:label=
"$t('tuberculosisDate')"
:placeholder=
"`${$t('clickSelect')}${$t('tuberculosisDate')}`"
@
click=
"showPicker = true"
/>
<van-popup
v-model=
"showPicker"
position=
"bottom"
>
<van-datetime-picker
:min-date=
"minDate"
:max-date=
"maxDate"
type=
"date"
@
confirm=
"onConfirm"
@
cancel=
"showPicker = false"
:formatter=
"formatter"
v-model=
"deathDate2"
/>
</van-popup>
<van-field
colon
clearable
name=
"whetherSmoking"
:label=
"$t('whetherSmoking')"
label-width=
"125px"
>
<
template
#
input
>
<van-radio-group
@
change=
"
() =>
{
setLocalStorge('whetherSmoking');
if (whetherSmoking == $t('no')) {
smokingTypes = []; //烟草类型
smokingYears = ''; //吸烟年数
smokingCount = ''; //吸烟支数
whetherNoSmoking = ''; //是否戒烟
setValue('smokingTypes', '');
setValue('smokingYears', '');
setValue('smokingCount', '');
setValue('whetherNoSmoking', '');
}
}
" v-model="whetherSmoking" direction="horizontal">
<van-radio
:name=
"$t('yes')"
>
{{
$t
(
"yes"
)
}}
</van-radio>
<van-radio
:name=
"$t('no')"
>
{{
$t
(
"no"
)
}}
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
colon
clearable
label-width=
"125px"
name=
"smokingTypes"
:label=
"$t('smokingTypes')"
v-if=
"whetherSmoking == '是'"
>
<
template
#
input
>
<van-checkbox-group
@
change=
"setLocalStorge('smokingTypes')"
v-model=
"smokingTypes"
direction=
"horizontal"
class=
"smokingTypes"
>
<template
v-for=
"(item, index) in smokingTypesList"
>
<van-checkbox
:key=
"index"
:name=
"item.element"
shape=
"square"
>
{{
item
.
element
}}
</van-checkbox>
</
template
>
</van-checkbox-group>
</template>
</van-field>
<van-field
v-if=
"whetherSmoking == $t('yes')"
colon
clearable
label-width=
"125px"
v-model=
"smokingYears"
name=
"smokingYears"
:label=
"$t('smokingYears')"
:placeholder=
"`${$t('smokingYears')}`"
type=
"digit"
@
blur=
"setLocalStorge('smokingYears')"
:rules=
"[{ required: false, message: `${$t('fillIn')}${$t('smokingYears')}` }]"
>
<
template
#
extra
>
{{
$t
(
"year"
)
}}
</
template
>
</van-field>
<van-field
v-if=
"whetherSmoking == $t('yes')"
label-width=
"125px"
colon
clearable
v-model=
"smokingCount"
name=
"smokingCount"
:label=
"$t('smokingCount')"
:placeholder=
"$t('smokingCount')"
type=
"digit"
@
blur=
"setLocalStorge('smokingCount')"
:rules=
"[{ required: false, message: `${$t('fillIn')}${$t('smokingCount')}` }]"
>
<
template
#
extra
>
{{
$t
(
"branch"
)
}}
</
template
>
</van-field>
<van-field
colon
clearable
label-width=
"125px"
name=
"whetherNoSmoking"
:label=
"$t('whetherNoSmoking')"
v-if=
"whetherSmoking == $t('yes')"
>
<
template
#
input
>
<van-radio-group
@
change=
"
() =>
{
setLocalStorge('whetherNoSmoking');
if (whetherNoSmoking == $t('no')) {
noSmokingYears = ''; //戒烟年数
setValue('noSmokingYears', '');
}
}
" v-model="whetherNoSmoking" direction="horizontal">
<van-radio
:name=
"$t('yes')"
>
{{
$t
(
"yes"
)
}}
</van-radio>
<van-radio
:name=
"$t('no')"
>
{{
$t
(
"no"
)
}}
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
v-if=
"whetherNoSmoking == $t('yes')"
colon
label-width=
"125px"
clearable
v-model=
"noSmokingYears"
name=
"noSmokingYears"
:label=
"$t('noSmokingYears')"
:placeholder=
"$t('noSmokingYears')"
type=
"digit"
@
blur=
"setLocalStorge('noSmokingYears')"
:rules=
"[{ required: false, message: `${$t('fillIn')}${$t('noSmokingYears')}` }]"
>
<
template
#
extra
>
{{
$t
(
"year"
)
}}
</
template
>
</van-field>
<van-field
colon
clearable
name=
"whetherPassivitySmoking"
:label=
"$t('noSmokingYears')"
label-width=
"125px"
>
<
template
#
input
>
<van-radio-group
@
change=
"
() =>
{
setLocalStorge('whetherPassivitySmoking');
if (whetherPassivitySmoking == $t('no')) {
passivitySmokingYears = ''; //被动吸烟年数
setValue('passivitySmokingYears', '');
}
}
" v-model="whetherPassivitySmoking" direction="horizontal">
<van-radio
:name=
"$t('yes')"
>
{{
$t
(
"yes"
)
}}
</van-radio>
<van-radio
:name=
"$t('no')"
>
{{
$t
(
"no"
)
}}
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
v-if=
"whetherPassivitySmoking == $t('yes')"
colon
label-width=
"125px"
clearable
v-model=
"passivitySmokingYears"
name=
"passivitySmokingYears"
:label=
"$t('passivitySmokingYears')"
:placeholder=
"$t('passivitySmokingYears')"
type=
"digit"
@
blur=
"setLocalStorge('passivitySmokingYears')"
>
<
template
#
extra
>
{{
$t
(
"year"
)
}}
</
template
>
</van-field>
<van-popup
v-model=
"showPicker"
position=
"bottom"
>
<van-datetime-picker
:min-date=
"minDate"
:max-date=
"maxDate"
type=
"date"
@
confirm=
"onConfirm"
@
cancel=
"showPicker = false"
:formatter=
"formatter"
/>
</van-popup>
<van-field
colon
clearable
name=
"yesOrNoCt"
label-width=
"125px"
:label=
"$t('yesOrNoCt')"
>
<
template
#
input
>
<van-radio-group
@
change=
"
() =>
{
setLocalStorge('yesOrNoCt');
if (yesOrNoCt == $t('noHave')) {
ChestCT = $t('noHave');
ChestCTDate = '';
setValue('ChestCT', '');
setValue('ChestCTDate', '');
}
}
" v-model="yesOrNoCt" direction="horizontal">
<van-radio
:name=
"$t('have')"
>
{{
$t
(
"have"
)
}}
</van-radio>
<van-radio
:name=
"$t('noHave')"
>
{{
$t
(
"noHave"
)
}}
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
v-if=
"yesOrNoCt == $t('have')"
colon
clearable
name=
"ChestCT"
label-width=
"125px"
:label=
"$t('ChestCT')"
>
<
template
#
input
>
<van-radio-group
@
change=
"
() =>
{
setLocalStorge('ChestCT');
}
" v-model="ChestCT" direction="horizontal">
<van-radio
:name=
"$t('have')"
>
{{
$t
(
"have"
)
}}
</van-radio>
<van-radio
:name=
"$t('noHave')"
>
{{
$t
(
"noHave"
)
}}
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
v-if=
"yesOrNoCt == $t('have')"
colon
clearable
readonly
clickable
name=
"ChestCTDate"
:value=
"ChestCTDate"
:label=
"$t('ChestCTDate')"
label-width=
"125px"
:placeholder=
"`${$t('clickSelect')}${$t('ChestCTDate')}`"
@
click=
"showCalendar = true"
:rules=
"[
{
required: ChestCT == $t('have') ? true : false,
message: `${$t('select')}${$t('ChestCTDate')}`,
},
]"
/>
<van-popup
v-model=
"showCalendar"
position=
"bottom"
>
<van-datetime-picker
type=
"date"
:min-date=
"minChestCTDate"
:max-date=
"maxDate"
@
confirm=
"onChestCT"
@
cancel=
"showCalendar = false"
:formatter=
"formatter"
v-model=
"ChestCTDate1"
/>
</van-popup>
</div>
</template>
<
script
>
import
{
mapState
,
mapMutations
}
from
"vuex"
;
import
{
formatDate
}
from
"../utils/common.js"
;
export
default
{
inject
:
[
"setLoading"
],
name
:
"page6"
,
data
()
{
return
{
hasHistoryAllergies
:
"无"
,
//过敏史
historyAllergies
:
""
,
//过敏原
foodAllergy
:
""
,
//食物过敏
drugAllergy
:
""
,
//药物过敏
otherAllergy
:
""
,
//其他过敏
hasHistorySurgery
:
"无"
,
//手术史
historySurgery
:
""
,
//具体内容
HasPreviousHistory
:
"无"
,
//有无既往史
previousHistory
:
[],
//既往史
otherPastHistory
:
""
,
//其他既往史
tuberculosisDate
:
""
,
//既往史发生时间
yesOrNoCt
:
"无"
,
ChestCT
:
"无"
,
//有无CT
ChestCTDate
:
""
,
//CT拍照时间
whetherSmoking
:
""
,
//是否吸烟
smokingTypes
:
[],
//烟草类型
smokingYears
:
""
,
//吸烟年数
smokingCount
:
""
,
//每天吸烟支数
whetherNoSmoking
:
""
,
//是否戒烟
noSmokingYears
:
""
,
//戒烟年数
whetherPassivitySmoking
:
""
,
//是否被动吸烟
passivitySmokingYears
:
""
,
//是否被动吸烟年数
smokingTypesList
:
[],
previousHistoryList
:
[],
showPicker
:
false
,
showCalendar
:
false
,
minChestCTDate
:
new
Date
(
2020
,
0
,
1
),
minDate
:
new
Date
(
2010
,
0
,
1
),
maxDate
:
new
Date
(),
deathDate2
:
new
Date
(),
ChestCTDate1
:
new
Date
(),
tuberculosisDate1
:
new
Date
(),
};
},
mounted
()
{
this
.
getResource
();
this
.
setChestCTDate
();
this
.
setLastValue
();
},
methods
:
{
setLastValue
()
{
let
arr
=
[
"hasHistoryAllergies"
,
//过敏史
"historyAllergies"
,
//过敏原
"foodAllergy"
,
//食物过敏
"drugAllergy"
,
//药物过敏
"otherAllergy"
,
//其他过敏
"hasHistorySurgery"
,
//手术史
"historySurgery"
,
//具体内容
"HasPreviousHistory"
,
//有无既往史
"previousHistory"
,
//既往史
"otherPastHistory"
,
//其他既往史
"tuberculosisDate"
,
//既往史发生时间
"yesOrNoCt"
,
"ChestCT"
,
//有无CT
"ChestCTDate"
,
//CT拍照时间
"whetherSmoking"
,
//是否吸烟
"smokingTypes"
,
//烟草类型
"smokingYears"
,
//吸烟年数
"smokingCount"
,
//每天吸烟支数
"whetherNoSmoking"
,
//是否戒烟
"noSmokingYears"
,
//戒烟年数
"whetherPassivitySmoking"
,
//是否被动吸烟
"passivitySmokingYears"
,
//是否被动吸烟年数
];
arr
.
map
((
item
)
=>
{
if
(
this
.
getLocalStorge
(
item
))
{
// if (item == "previousHistory") {
// this[`${item}`] = this.getLocalStorge(item).split(",");
// } else if (item != "previousHistory") {
this
[
`
${
item
}
`
]
=
this
.
getLocalStorge
(
item
);
// }
}
});
this
.
tuberculosisDate
=
this
.
getLocalStorge
(
'tuberculosisDate'
)
this
.
otherPastHistory
=
this
.
getLocalStorge
(
'otherPastHistory'
)
this
.
foodAllergy
=
this
.
getLocalStorge
(
'foodAllergy'
)
this
.
drugAllergy
=
this
.
getLocalStorge
(
'drugAllergy'
)
this
.
otherAllergy
=
this
.
getLocalStorge
(
'otherAllergy'
)
if
(
this
.
getLocalStorge
(
"previousHistory"
))
{
this
.
previousHistory
=
this
.
getLocalStorge
(
"previousHistory"
).
split
(
","
);
}
if
(
this
.
smokingTypes
.
length
>
0
)
{
this
.
smokingTypes
=
this
.
getLocalStorge
(
"smokingTypes"
).
split
(
","
);
}
inject
:
[
"setLoading"
],
name
:
"page6"
,
data
()
{
return
{
hasHistoryAllergies
:
this
.
$i18n
.
locale
==
"zh"
?
"无"
:
"يوق"
,
//过敏史 ---默认值 无
historyAllergies
:
""
,
//过敏原
foodAllergy
:
""
,
//食物过敏
drugAllergy
:
""
,
//药物过敏
otherAllergy
:
""
,
//其他过敏
hasHistorySurgery
:
this
.
$i18n
.
locale
==
"zh"
?
"无"
:
"يوق"
,
//手术史---默认值 无
historySurgery
:
""
,
//具体内容
HasPreviousHistory
:
this
.
$i18n
.
locale
==
"zh"
?
"无"
:
"يوق"
,
//有无既往史---默认值 无
previousHistory
:
[],
//既往史
otherPastHistory
:
""
,
//其他既往史
tuberculosisDate
:
""
,
//既往史发生时间
yesOrNoCt
:
this
.
$i18n
.
locale
==
"zh"
?
"无"
:
"يوق"
,
//---默认值 无
ChestCT
:
this
.
$i18n
.
locale
==
"zh"
?
"无"
:
"يوق"
,
//有无CT ---默认值 无
ChestCTDate
:
""
,
//CT拍照时间
whetherSmoking
:
""
,
//是否吸烟
smokingTypes
:
[],
//烟草类型
smokingYears
:
""
,
//吸烟年数
smokingCount
:
""
,
//每天吸烟支数
whetherNoSmoking
:
""
,
//是否戒烟
noSmokingYears
:
""
,
//戒烟年数
whetherPassivitySmoking
:
""
,
//是否被动吸烟
passivitySmokingYears
:
""
,
//是否被动吸烟年数
smokingTypesList
:
[],
previousHistoryList
:
[],
showPicker
:
false
,
showCalendar
:
false
,
minChestCTDate
:
new
Date
(
2020
,
0
,
1
),
minDate
:
new
Date
(
2010
,
0
,
1
),
maxDate
:
new
Date
(),
deathDate2
:
new
Date
(),
ChestCTDate1
:
new
Date
(),
tuberculosisDate1
:
new
Date
(),
};
},
mounted
()
{
if
(
this
.
$i18n
.
locale
==
"zh"
)
{
this
.
getResource
();
}
else
{
//既往史列表
this
.
previousHistoryList
=
[
{
id
:
20
,
element
:
"ئۆپكە تۇبېركۇليۇزى"
,
sort
:
1
},
{
id
:
21
,
element
:
"ئاستا خارەكتىرلىق ئۆپكە توسۇلۇش"
,
sort
:
2
},
{
id
:
22
,
element
:
"راك كېسىلى"
,
sort
:
3
},
{
id
:
23
,
element
:
" يۈرەك كېسىلى"
,
sort
:
4
},
{
id
:
24
,
element
:
"دىئابىت كېسىلى"
,
sort
:
5
},
{
id
:
25
,
element
:
"قان بېسىم"
,
sort
:
6
},
{
id
:
28
,
element
:
"باشقا سەۋەپ"
,
sort
:
7
},
];
//烟草类型
this
.
smokingTypesList
=
[
{
element
:
'نورمال تاماكا'
},
{
element
:
'شۆ جيا'
},
{
element
:
'توكلۇق تاماكا'
},
{
element
:
'چىلىم'
}
];
}
getLocalStorge
(
key
)
{
return
window
.
localStorage
.
getItem
(
key
);
},
this
.
setChestCTDate
();
setLocalStorge
(
key
)
{
window
.
localStorage
.
setItem
(
key
,
this
[
`
${
key
}
`
]);
this
.
setLastValue
();
},
methods
:
{
setLastValue
()
{
let
arr
=
[
"hasHistoryAllergies"
,
//过敏史
"historyAllergies"
,
//过敏原
"foodAllergy"
,
//食物过敏
"drugAllergy"
,
//药物过敏
"otherAllergy"
,
//其他过敏
"hasHistorySurgery"
,
//手术史
"historySurgery"
,
//具体内容
"HasPreviousHistory"
,
//有无既往史
"previousHistory"
,
//既往史
"otherPastHistory"
,
//其他既往史
"tuberculosisDate"
,
//既往史发生时间
"yesOrNoCt"
,
"ChestCT"
,
//有无CT
"ChestCTDate"
,
//CT拍照时间
"whetherSmoking"
,
//是否吸烟
"smokingTypes"
,
//烟草类型
"smokingYears"
,
//吸烟年数
"smokingCount"
,
//每天吸烟支数
"whetherNoSmoking"
,
//是否戒烟
"noSmokingYears"
,
//戒烟年数
"whetherPassivitySmoking"
,
//是否被动吸烟
"passivitySmokingYears"
,
//是否被动吸烟年数
];
arr
.
map
((
item
)
=>
{
if
(
this
.
getLocalStorge
(
item
))
{
// if (item == "previousHistory") {
// this[`${item}`] = this.getLocalStorge(item).split(",");
// } else if (item != "previousHistory") {
this
[
`
${
item
}
`
]
=
this
.
getLocalStorge
(
item
);
// }
}
});
this
.
tuberculosisDate
=
this
.
getLocalStorge
(
"tuberculosisDate"
);
this
.
otherPastHistory
=
this
.
getLocalStorge
(
"otherPastHistory"
);
this
.
foodAllergy
=
this
.
getLocalStorge
(
"foodAllergy"
);
this
.
drugAllergy
=
this
.
getLocalStorge
(
"drugAllergy"
);
this
.
otherAllergy
=
this
.
getLocalStorge
(
"otherAllergy"
);
if
(
this
.
getLocalStorge
(
"previousHistory"
))
{
this
.
previousHistory
=
this
.
getLocalStorge
(
"previousHistory"
).
split
(
","
);
}
if
(
this
.
smokingTypes
.
length
>
0
)
{
this
.
smokingTypes
=
this
.
getLocalStorge
(
"smokingTypes"
).
split
(
","
);
}
},
setValue
(
key
,
value
)
{
window
.
localStorage
.
setItem
(
key
,
value
);
},
getLocalStorge
(
key
)
{
return
window
.
localStorage
.
getItem
(
key
);
},
setChestCTDate
()
{
// this.ChestCTDate = formatDate(new Date(), "yyyy-MM-dd");
},
getResource
()
{
this
.
setLoading
(
true
);
this
.
$http
.
get
(
`/Research/Resource`
,
{}).
then
((
data
)
=>
{
this
.
previousHistoryList
=
data
.
filter
((
item
)
=>
{
return
item
.
category
==
"既往史"
;
});
this
.
smokingTypesList
=
data
.
filter
((
item
)
=>
{
return
item
.
category
==
"烟草类型"
;
});
this
.
setLoading
(
false
);
});
},
onConfirm
(
date
)
{
this
.
tuberculosisDate
=
formatDate
(
date
,
"yyyy-MM-dd"
);
this
.
setLocalStorge
(
"tuberculosisDate"
);
this
.
showPicker
=
false
;
},
setLocalStorge
(
key
)
{
window
.
localStorage
.
setItem
(
key
,
this
[
`
${
key
}
`
]);
},
onChestCT
(
date
)
{
this
.
ChestCTDate
=
formatDate
(
date
,
"yyyy-MM-dd"
);
this
.
setLocalStorge
(
"ChestCTDate"
);
this
.
showCalendar
=
false
;
},
setValue
(
key
,
value
)
{
window
.
localStorage
.
setItem
(
key
,
value
);
},
formatter
(
type
,
val
)
{
if
(
type
===
"year"
)
{
return
`
${
val
}
年`
;
}
if
(
type
===
"month"
)
{
return
`
${
val
}
月`
;
}
else
if
(
type
===
"day"
)
{
return
`
${
val
}
日`
;
}
else
if
(
type
===
"hour"
)
{
return
`
${
val
}
时`
;
}
else
if
(
type
===
"minute"
)
{
return
`
${
val
}
分`
;
}
return
val
;
setChestCTDate
()
{
// this.ChestCTDate = formatDate(new Date(), "yyyy-MM-dd");
},
getResource
()
{
this
.
setLoading
(
true
);
this
.
$http
.
get
(
`/Research/Resource`
,
{}).
then
((
data
)
=>
{
console
.
log
(
'data'
,
data
);
this
.
previousHistoryList
=
data
.
filter
((
item
)
=>
{
return
item
.
category
==
"既往史"
;
});
this
.
smokingTypesList
=
data
.
filter
((
item
)
=>
{
return
item
.
category
==
"烟草类型"
;
});
this
.
setLoading
(
false
);
});
},
onConfirm
(
date
)
{
this
.
tuberculosisDate
=
formatDate
(
date
,
"yyyy-MM-dd"
);
this
.
setLocalStorge
(
"tuberculosisDate"
);
this
.
showPicker
=
false
;
},
onChestCT
(
date
)
{
this
.
ChestCTDate
=
formatDate
(
date
,
"yyyy-MM-dd"
);
this
.
setLocalStorge
(
"ChestCTDate"
);
this
.
showCalendar
=
false
;
},
formatter
(
type
,
val
)
{
if
(
type
===
"year"
)
{
return
`
${
val
}
年`
;
}
if
(
type
===
"month"
)
{
return
`
${
val
}
月`
;
}
else
if
(
type
===
"day"
)
{
return
`
${
val
}
日`
;
}
else
if
(
type
===
"hour"
)
{
return
`
${
val
}
时`
;
}
else
if
(
type
===
"minute"
)
{
return
`
${
val
}
分`
;
}
return
val
;
},
},
},
computed
:
{},
computed
:
{},
};
</
script
>
<
style
lang=
"scss"
scoped
>
.page6
{
.smokingTypes
{
.van-checkbox
{
width
:
43%
;
margin-bottom
:
5%
;
.smokingTypes
{
.van-checkbox
{
width
:
43%
;
margin-bottom
:
5%
;
}
}
}
}
</
style
>
src/components/page7.vue
View file @
53ed9955
...
...
@@ -2,83 +2,80 @@
* @Author: ninglupeng
* @Date: 2020-11-24 16:18:58
* @LastEditors: ninglupeng
* @LastEditTime: 2022-
03-29 11:31:3
1
* @LastEditTime: 2022-
11-03 12:58:5
1
* @Description:
-->
<
template
>
<div
class=
"page7"
>
<div
class=
"page7_topbg"
>
<span
class=
"page7_topbg_title"
>
您已完成本次填写内容 ,感谢您的帮助和支持。
</span>
</div>
<div
class=
"page7"
>
<div
class=
"page7_topbg"
>
<span
class=
"page7_topbg_title"
>
{{
$t
(
'concludingRemarks'
)
}}
</span>
</div>
<div
class=
"page7_bottom"
>
<van-button
native-type=
"button"
class=
"index_form_next"
@
click=
"goback"
round
type=
"info"
>
返回
</van-button
>
<div
class=
"page7_bottom"
>
<van-button
native-type=
"button"
class=
"index_form_next"
@
click=
"goback"
round
type=
"info"
>
{{
$t
(
'goBack'
)
}}
</van-button>
</div>
</div>
</div>
</
template
>
<
script
>
import
{
mapState
,
mapMutations
}
from
"vuex"
;
export
default
{
name
:
"page7"
,
data
()
{
return
{};
},
mounted
()
{},
methods
:
{
goback
()
{
this
.
$store
.
dispatch
(
"user/setpage"
,
1
);
name
:
"page7"
,
data
()
{
return
{};
},
mounted
()
{
},
methods
:
{
goback
()
{
this
.
$store
.
dispatch
(
"user/setpage"
,
1
);
},
},
},
computed
:
{},
computed
:
{},
};
</
script
>
<
style
lang=
"scss"
scoped
>
.page7
{
width
:
100%
;
height
:
100vh
;
overflow
:
hidden
;
background-color
:
#f2f2f2
;
&_topbg
{
background-image
:
url("../assets/img/page1bg.png")
;
width
:
100%
;
height
:
390px
;
background-size
:
cover
;
background-position
:
center
center
;
height
:
100vh
;
overflow
:
hidden
;
background-color
:
#f2f2f2
;
&_topbg
{
background-image
:
url("../assets/img/page1bg.png")
;
width
:
100%
;
height
:
390px
;
background-size
:
cover
;
background-position
:
center
center
;
@include
flex_column;
@include
align_center;
justify-content
:
space-evenly
;
position
:
relative
;
&_title
{
font-size
:
24px
;
font-family
:
Roboto-Bold
,
Roboto
;
font-weight
:
bold
;
color
:
#000000
;
line-height
:
28px
;
@include
flex_column;
@include
align_center;
justify-content
:
space-evenly
;
position
:
relative
;
text-align
:
center
;
margin
:
20px
;
&_title
{
font-size
:
24px
;
font-family
:
Roboto-Bold
,
Roboto
;
font-weight
:
bold
;
color
:
#000000
;
line-height
:
28px
;
text-align
:
center
;
margin
:
20px
;
}
}
}
&
_bottom
{
width
:
100%
;
@include
flex_column;
@include
align_center;
position
:
absolute
;
bottom
:
350px
;
}
&
_bottom
{
width
:
100%
;
@include
flex_column;
@include
align_center;
position
:
absolute
;
bottom
:
350px
;
}
}
</
style
>
src/lang/Uygur.js
View file @
53ed9955
/*
* @Author: ninglupeng
* @Date: 2022-10-31 14:22:41
* @LastEditors:
ninglupeng
* @LastEditTime: 2022-1
0-31 14:57:57
* @LastEditors:
wsq
* @LastEditTime: 2022-1
1-05 13:42:12
* @Description:
*/
module
.
exports
=
{
//第一部分
'project'
:
''
,
'paragraph1'
:
' '
,
"paragraph2"
:
' '
,
"paragraph3"
:
' '
,
"isAgree"
:
' '
,
//第二部分
"AgreementMode"
:
''
,
//本人决定选择以下方式
"Mode1"
:
''
,
"Mode2"
:
''
,
"Mode3"
:
''
,
"buildingNumber"
:
''
,
//楼号
"agreementFloor"
:
''
,
//楼层
"bedNumber"
:
''
,
//床号
"agreementSign"
:
''
,
// 患者签字
"agreementDate"
:
''
// 签字日期
//第一页、第二页
'project'
:
' دوختۇرخانىغا كىرگەن ئۇچۇرنى توپلاش '
,
'paragraph1'
:
'تىببى خادىملار دوختۇرخانىدا يېتىپ داۋالانغان مەزگىلدە ئەھۋالدىن خەۋەردار بولۇش ھوقۇقىدىن تولۇق بەھرىمان بولۇشىڭىزغا كاپالەتلىك قىلىش ئۈچۈن، كېسەللىك ئەھۋالى، ئاساسلىق داۋالاش تەدبىرلىرى، داۋالاش خەۋپ-خەتىرى قاتارلىق ئەھۋاللارنى ئۇقتۇرۇپ، كېسەللىك توغرىسىدىكى مەسلىھەتلىرىڭىزگە جاۋاب بېرىدۇ.سىزنىڭ تولۇق ئەھۋالدىن خەۋەردار بولۇشىڭنى ئالماي ۋە ئىمزا قويۇپ ماقۇللىقىڭىز ئالمايلا تىببى خادىملار ئوپېراتسىيە قىلىش قاتارلىق زور داۋالاش قىلمىشىنى قىلسا بولمايدۇ. لېكىن ھەرقايسى كىشىلەرنىڭ پسىخىكىلىق بەرداشلىق بېرىش ئىقتىدارى ئوخشىمىغاچقا ھەمدە كېسەللىكنىڭ تەرەققىياتىنى مۆلچەرلىگىلى بولمايدىغان بولغاچقا، داۋالاشقا پايدىلىق بولۇش ئۈچۈن، سىز تولۇق ئىشەنگەن بىر ۋاكالەتچىگە ھاۋالە قىلىپ، ئەھۋالدىن خەۋەردار بولۇش ھوقۇقىڭىزنى ۋاكالىتەن يۈرگۈزۈشكە ھوقۇق بېرىڭ.دوختۇرخانىمىز سىزنىڭ ئىمزا قويۇپ بەرگەن ھوقۇق ھاۋالە خېتىڭىزگە ئاساسەن، ۋاكالەتچىنىڭ ۋاكالەتچىلىك قىلمىشىغا قاراپ ئۆزىڭىزنىڭ ھەقىقىي مەنىسىگە ئاساسەن ئىپادىلىنىدۇ. ئەگەر سىزنىڭ ئاخىرقى 18 ياشقا توشقان ياكى ھەق تەلەپ قىلمىش ئىقتىدارىڭىز ۋە ھەق تەلەپ قىلمىشىنى چەكلەش ئىقتىدارىڭىز بولمىسا، سىزنىڭ قانۇندا بەلگىلەنگەن ھامىيلىقىڭىز سىزنىڭ قانۇندا بەلگىلەنگەن دەۋالاشقۇچىڭىز ئۈچۈن، ئەھۋالدىن خەۋەردار بولۇش ھوقۇقىڭىزنى ۋاكالىتەن يۈرگۈزىدۇ. '
,
"paragraph2"
:
'دوختۇر سىزگە ئەڭ ياخشى داۋالاش لايىھىسىنى تۈزۈپ بېرىش ئۈچۈن، چوقۇم دوختۇرغا كېسەللىك ماتېرىياللىرى ۋە ئالاقىدار ئەھۋاللىرىڭىزنى ھەقىقىي تەمىنلەڭ.'
,
"paragraph3"
:
' ئالاھىدە ئۇقتۇرۇپ قويۇشى كېرەك. '
,
"isAgree"
:
' يۇقىرىقى ئۇقتۇرۇشنىڭ مەزمۇنىنى مەن تولۇق چۈشەندىم. '
,
//第三页
"AgreementMode"
:
'مەن تۆۋەندىكى ئۇسۇلنى تاللاشنى قارار قىلدىم'
,
//本人决定选择以下方式
"Mode1"
:
'دوختۇخانغا ۋاكالەتچى بەلگىلەنگەن ھوقۇق بېرىش ھاۋالە خىتى چىقىرىپ بىرىمەن'
,
"Mode2"
:
'دوختۇرخانغا نوپۇس قاتارلىق ئالاقىدار ئىسپاتلارنى چىقىرىپ، قانۇندا بەلگىلەنگەن ۋاكالەتچىنى بەلگىلەپبىرىمەن'
,
"Mode3"
:
'مەن ۋاكالەتچىگە ھاۋالە قىلمايمەن، ئەگەر كېسەللىكتە خەتەر كۆرۈلسە ياكى ئويلىمىغان ئەھۋاللار يۈز بىرىپ قالسا دوختۇرغا داۋالاش توغۇرسىدا قارار قىلىش ھقوقىنى بىرىمەن .ئەگەر داۋالاش خەتىرى يامان ئاقىۋەت كېلىپ چىقسا مەن ئۆزەم مەسۇل بۇلىمەن.'
,
"buildingNumber"
:
'بىنا نومۇرى'
,
//楼号
"agreementFloor"
:
'قەۋەت'
,
//楼层
"bedNumber"
:
'كارۋات نومۇرى'
,
//床号
"agreementSign"
:
'بىمارنىڭ ئىمزاسى'
,
// 患者签字
"agreementDate"
:
'ئىمزا قويغان ۋاقتى'
,
// 签字日期
"countersign"
:
'قايتا ئىمزا قويۇش.'
,
//重签
"clickSign"
:
'بۇيەرنى بىسىپ ئىمزا قۇيۇڭ'
,
//点击签字
"autograph"
:
'ئىمزا قويۇش، قول قويۇش'
,
//签名
"eliminate"
:
'يۇيۋىتىش'
,
//清除
"preservation"
:
'مەزمۇننى ساقلاش'
,
//保存
'qmsuccess'
:
'ئىمزا ساقلاش مۇۋەپپەقىيەتلىك بولدى'
,
//签名保存成功
//第四页
"patientName"
:
"بىمارنىڭ ئىسىم-فامىلىسى"
,
//患者姓名
"orNotByEntry"
:
"يېقىنقى مەزگىلدە چەتئەل چېگرىدىن كىرگەنمۇ؟"
,
//近期是否由国外入境
"nationality"
:
"دۆلەت تەۋەلىكى"
,
//国籍
"passportId"
:
"پاسپورت نومۇرى"
,
//护照号
"symptom"
:
'كېسەللىك ئالامىتى'
,
//症状
"HasSymptom"
:
"كېسەللىك ئالامىتى"
,
//是否有症状
"otherSymptom"
:
"باشقا كېسەللىك ئالامەتلىرى"
,
//其他症状
"otherOccupation"
:
"باشقا كەسپىڭىز"
,
//其他职业
"age"
:
"يېشى "
,
//年龄
"gender"
:
"جىنسىي"
,
//性别
"height"
:
"بوي ئېگىزلىكى"
,
//身高
"weight"
:
"بەدەن ئېغىرلىقى"
,
//体重
"maritalStatus"
:
"نىكاھ ئەھۋالى"
,
//婚姻状况
"birthday"
:
"تۇغۇلغان ۋاقتى"
,
//出生日期
"isConceive"
:
"ھامىلدار بولۇش ئەھۋالى"
,
//怀孕状况
"gestationalWeeks"
:
"ھامىلدارلىق دەۋريلىكى"
,
//怀孕周期
"occupation"
:
"كەسپى"
,
//职业
"contactInformation"
:
"ئالاقىلىش نۇمۇرى"
,
//联系方式
"FamilyMembersPhone"
:
"ئائىلە ئەزاسى ئالاقىلىش نۇمۇرى"
,
//家属联系方式
"Registeredresidence"
:
"نوپۇس تەۋەلىگى"
,
//户籍地
// "province", //籍贯 (省)
// "city", //籍贯 (市)
"address"
:
"ھازىرقى تۇرۇقلۇق ئادىرسى"
,
//现居住地
"idCard"
:
"كىملىك نومۇرى"
,
//身份证号
"typeOfMedicalInsurance"
:
"داۋالىنىش سۇغۇرتىسى تىپى"
,
//医保类型
"insurance"
:
"سودا سۇغۇرتىسى"
,
//商业保险
"boy"
:
'ئەر'
,
//男
"girl"
:
'ئايال'
,
//女
"Nonpregnant"
:
'ھامىلدار ئەمەس'
,
//未孕
"pregnant"
:
'ھامىلدار'
,
//已孕
"unmarried"
:
'نىكاھلانغانمىغان'
,
//未婚
"married"
:
'نىكاھلانغان'
,
//已婚
//第五页
"HasOnlineClass"
:
"تور دەرىسى ئوقامدۇ?"
,
// 是否上网课
"purpose"
:
"شاڭخەيگە كېلىشتىكى مەقسەت "
,
//来沪目的
"study"
:
'ئوقۇش سەۋەپ بىلەن'
,
//学习
"workOrNotCovid"
:
"كۈندىلىك خىزمەتتە يېڭى تاجىسىمان ئۆپكە ۋىروس بىلەن ئۇچىرشامدۇ؟"
,
//日常工作是否需要接触新冠病
"thirtyDays"
:
"يېقىنقى ئىككى ئايدا شاڭخەيدىن ئايرىلىپ باقتىمۇ؟"
,
//近两月是否离开过上海
"LeaveShangHai"
:
"شاڭخەيگە قايتقان كۈن سانى"
,
//回上海天数
'More30days'
:
'كۈن سانى 30 كۈندىن ئېشىپ كەتسە بولمايدۇ'
,
//天数不能大于三十天
'Day'
:
'كۈن'
,
//天
"normalDate"
:
"نورمال ۋاقىت"
,
//未发生异常时间
"unusualDate"
:
"يادرو كىسلاتاسىنى(خېسۇەن نەتىجە) تەكشۈرۈش بىنورمال ۋاقىت"
,
//核酸检测异常时间
"inHospitalDate"
:
"120 يۆتكەپ توشۇش ۋاقتى ياكى دوختۇرخانىدا يېتىش ۋاقتى"
,
//120转运时间或者入院时间
"beforeIsolationPoint"
:
"隔离点ئىلگىرى ئايرىش نۇقتىسى ( ئايرىش نۇقتىسى يوق قۇتقۇزۇش ماشىنىسىنىڭ يولغا چىقىش ئادرېسى )"
,
//之前隔离点(无隔离点填救护车出发地址)
"hasCOVIDVaccine"
:
"ۋاكسىن ئۇرغانمۇ؟"
,
//是否接种过疫苗
"covidVaccine"
:
"نەچچە ھۇكۇل ئۇرغان؟"
,
//接种针数
"needle"
:
"قېتىم"
,
//针
"vaccineType"
:
"قايسى شىركەپنىڭ ۋاكسىنسىنى ئۇرغان؟"
,
//疫苗公司
"othervaccines"
:
"باشقا ۋاكسىنا ئۇرغانمۇ"
,
//其他疫苗
"vaccineDate"
:
"ئەڭ ئاخىرىقى قېتىملىق ۋاكسىنا ئۇرغان ۋاقىت"
,
//最后一次接种日期
//第六页
"hasHistoryAllergies"
:
"رېئاكسىيە تارىخى"
,
//过敏史
"foodAllergy"
:
"يىمەكلىك رېئاكسىيە مەنبەسى "
,
//食物过敏
"drugAllergy"
:
"دورا رېئاكسىيە مەنبەسى "
,
//药物过敏
"otherAllergy"
:
"باشقا رېئاكسىيە مەنبەسى "
,
//其他过敏
"hasHistorySurgery"
:
"ئوپىراتسىيە تارىخى "
,
//手术史
"historySurgery"
:
"ئوپېراتسىيە تارىخى كونكرېت مەزمۇنى"
,
//手术史具体内容
"HasPreviousHistory"
:
"كېسەل تارىقىڭز بارمۇ"
,
//有无既往史
"previousHistory"
:
" تۆۋەنكى كېسەل تارىقىڭز بارمۇ"
,
//既往史
"otherPastHistory"
:
"باشقا كېسەل تارىخىڭز"
,
//其他既往史
"tuberculosisDate"
:
"باشقا كېسەل تارىخىڭز بولغان ۋاقىت"
,
//既往史发生时间
"yesOrNoCt"
:
"كۆكرەك قىسمى CT تەكشۈرۈش بارمۇ يوق"
,
//有无胸部CT检查
"ChestCT"
:
"ۋىروس خاراكتېرلىك ئۆپكە ياللۇغى ئىپادىسى بارمۇ "
,
//CT有无病毒性肺炎表现
"ChestCTDate"
:
"يۈز بەرگەن ۋاقىت"
,
//发生时间
"whetherSmoking"
:
"تاماكا چىكەمسىز"
,
//是否吸烟
"smokingTypes"
:
"قايسى تىپتىكى تاماكا"
,
//烟草类型
"smokingYears"
:
"تاماكا چەككىلى قانچە ئۇزاق بولدى"
,
//吸烟年数
"smokingCount"
:
"كۈندە نەچچىتال چىكىسىز"
,
//每天吸烟支数
"whetherNoSmoking"
:
"تاماكا تاشلىخانمۇ"
,
//是否戒烟
"noSmokingYears"
:
"تاماكا تاشلىخىلى قانچە يىل بولدى؟"
,
//戒烟年数
"whetherPassivitySmoking"
:
"پاسسىپ ھالدا تاماكا چېككەنمۇ؟"
,
//是否被动吸烟
"passivitySmokingYears"
:
"پاسسىپ ھالدا تاماكا چەككىلى قانچە يىل بولدى؟"
,
//是否被动吸烟年数
"year"
:
' يىل'
,
//年
"branch"
:
'تال '
,
//支
//第七页
"concludingRemarks"
:
'سىز بۇ قېتىمقى تولدۇرۇش مەزمۇنىنى تاماملاپ بولدىڭىز، ياردىمىڭىز ۋە قوللىغىنىڭىزغا رەھمەت.'
,
//您已完成本次填写内容 ,感谢您的帮助和支持
"goBack"
:
'ئالدىغا قايتىش'
,
//返回
"yes"
:
'بار'
,
//是
"no"
:
"ياق"
,
//否
"have"
:
"بار"
,
//有
"noHave"
:
"يوق"
,
//无
"other"
:
"باشقا سەۋەپ"
,
//其他
"week"
:
'ھەپتە'
,
//周
"China"
:
'جۇڭگو'
,
//中国
"Previousstep"
:
'ئالدىنقى قەدەم'
,
//上一步
"nextstep"
:
'كېيىنكى قەدەم'
,
//下一步
"select"
:
""
,
//请选择
"fillIn"
:
""
,
//请填写
"clickSelect"
:
""
,
//点击选择
}
src/lang/zh.js
View file @
53ed9955
/*
* @Author: ninglupeng
* @Date: 2022-10-31 14:22:35
* @LastEditors:
ninglupeng
* @LastEditTime: 2022-1
0-31 14:58:33
* @LastEditors:
wsq
* @LastEditTime: 2022-1
1-05 13:40:47
* @Description:
*/
module
.
exports
=
{
//第一
部分
//第一
页、第二页
'project'
:
'入院信息采集'
,
'paragraph1'
:
' 为保障您在我院住院治疗期间享有充分的知情同意权,医务人员将向您告知您的病情、主要医疗措施、医疗风险等情況,解答您对疾病的咨询。未经您本人充分知情和签名同意,医务人员将不得进行手术等重大医疗行为。但由于各人心理承受能力不同,以及疾病发展具有不可预测性,为有利于治疗,请您现授权委托一位您充分信任的代理人,代为行使您的知情同意权。我院将依据您签名出具的授权委托书,视代理人的代理行为为您本人真实意思的表示。如您末满18周岁或没有民事行为能力和限制民事行为能力的,您的法定监护人为您的法定伐理人,代为行使知情同意权。 '
,
"paragraph2"
:
' 为了让医生给您制定最佳的洽疗方案,请您务必客观,真实地向医生提供您的病情资料和相关情況。 '
,
"paragraph3"
:
' 特此告知 '
,
"isAgree"
:
' 上述告知书内容本人己充分了解 '
,
//第
二部分
//第
三页
"AgreementMode"
:
'本人决定选择以下方式'
,
//本人决定选择以下方式
"Mode1"
:
'向贵院出具授权委托书指定代理人'
,
"Mode2"
:
'向贵院出具户籍等相关证明,明确法定代理人'
,
...
...
@@ -22,6 +22,135 @@ module.exports = {
"agreementFloor"
:
'楼层'
,
//楼层
"bedNumber"
:
'床号'
,
//床号
"agreementSign"
:
'患者签字'
,
// 患者签字
"countersign"
:
'重签'
,
//重签
"clickSign"
:
'点击签字'
,
//点击签字
"agreementDate"
:
'签字日期'
,
//签字日期
"autograph"
:
'签名'
,
//签名
"eliminate"
:
'清除'
,
//清除
"preservation"
:
'保存'
,
//保存
'qmsuccess'
:
'签名保存成功'
,
//签名保存成功
// 第四页
"patientName"
:
"患者姓名"
,
//患者姓名
"orNotByEntry"
:
"近期是否由国外入境"
,
//近期是否由国外入境
"nationality"
:
"国籍"
,
//国籍
"passportId"
:
"护照号"
,
//护照号
"symptom"
:
'症状'
,
//症状
"HasSymptom"
:
"是否有症状"
,
//是否有症状
"otherSymptom"
:
"其他症状"
,
//其他症状
"otherOccupation"
:
"其他职业"
,
//其他职业
"age"
:
"年龄"
,
//年龄
"gender"
:
"性别"
,
//性别
"height"
:
"身高"
,
//身高
"weight"
:
"体重"
,
//体重
"maritalStatus"
:
"婚姻状况"
,
//婚姻状况
"birthday"
:
"出生日期"
,
//出生日期
"isConceive"
:
"怀孕状况"
,
//怀孕状况
"gestationalWeeks"
:
"怀孕周期"
,
//怀孕周期
"occupation"
:
"职业"
,
//职业
"contactInformation"
:
"联系方式"
,
//联系方式
"FamilyMembersPhone"
:
"家属联系方式"
,
//家属联系方式
"Registeredresidence"
:
"户籍地(市)"
,
//户籍地
// "province", //籍贯 (省)
// "city", //籍贯 (市)
"address"
:
"现居住地"
,
//现居住地
"idCard"
:
"身份证号"
,
//身份证号
"typeOfMedicalInsurance"
:
"医保类型"
,
//医保类型
"insurance"
:
"商业保险"
,
//商业保险
"boy"
:
'男'
,
"girl"
:
'女'
,
"Nonpregnant"
:
'未孕'
,
"pregnant"
:
'已孕'
,
"unmarried"
:
'未婚'
,
"married"
:
'已婚'
,
//第五页
"HasOnlineClass"
:
"是否上网课"
,
// 是否上网课
"purpose"
:
"来沪目的"
,
//来沪目的
"study"
:
'学习'
,
//学习
"workOrNotCovid"
:
"日常工作是否需要接触新冠病"
,
//日常工作是否需要接触新冠病
"thirtyDays"
:
"近两月是否离开过上海"
,
//近两月是否离开过上海
"LeaveShangHai"
:
"回上海天数"
,
//回上海天数
'More30days'
:
'天数不能大于三十天'
,
//天数不能大于三十天
'Day'
:
'天'
,
//天
"normalDate"
:
"未发生异常时间"
,
//未发生异常时间
"unusualDate"
:
"核酸检测异常时间"
,
//核酸检测异常时间
"inHospitalDate"
:
"120转运时间或者入院时间"
,
//120转运时间或者入院时间
"beforeIsolationPoint"
:
"之前隔离点(无隔离点填救护车出发地址)"
,
//之前隔离点(无隔离点填救护车出发地址)
"hasCOVIDVaccine"
:
"是否接种过疫苗"
,
//是否接种过疫苗
"covidVaccine"
:
"接种针数"
,
//接种针数
"needle"
:
"针"
,
//针
"vaccineType"
:
"疫苗公司"
,
//疫苗公司
"othervaccines"
:
"其他疫苗"
,
//其他疫苗
"vaccineDate"
:
"最后一次接种日期"
,
//最后一次接种日期
//第六页
"hasHistoryAllergies"
:
"过敏史"
,
//过敏史
"foodAllergy"
:
"食物过敏原"
,
//食物过敏
"drugAllergy"
:
"药物过敏原"
,
//药物过敏
"otherAllergy"
:
"其他过敏原"
,
//其他过敏
"hasHistorySurgery"
:
"手术史"
,
//手术史
"historySurgery"
:
"手术史具体内容"
,
//手术史具体内容
"HasPreviousHistory"
:
"有无既往史"
,
//有无既往史
"previousHistory"
:
"既往史"
,
//既往史
"otherPastHistory"
:
"其他既往史"
,
//其他既往史
"tuberculosisDate"
:
"既往史发生时间"
,
//既往史发生时间
"yesOrNoCt"
:
"有无胸部CT检查"
,
//有无胸部CT检查
"ChestCT"
:
"CT有无病毒性肺炎表现"
,
//CT有无病毒性肺炎表现
"ChestCTDate"
:
"发生时间"
,
//发生时间
"whetherSmoking"
:
"是否吸烟"
,
//是否吸烟
"smokingTypes"
:
"烟草类型"
,
//烟草类型
"smokingYears"
:
"吸烟年数"
,
//吸烟年数
"smokingCount"
:
"每天吸烟支数"
,
//每天吸烟支数
"whetherNoSmoking"
:
"是否戒烟"
,
//是否戒烟
"noSmokingYears"
:
"戒烟年数"
,
//戒烟年数
"whetherPassivitySmoking"
:
"是否被动吸烟"
,
//是否被动吸烟
"passivitySmokingYears"
:
"被动吸烟年数"
,
//是否被动吸烟年数
"year"
:
'年'
,
"branch"
:
'支'
,
//第七页
"concludingRemarks"
:
'您已完成本次填写内容 ,感谢您的帮助和支持。'
,
"goBack"
:
'返回'
,
"yes"
:
'是'
,
"no"
:
"否"
,
"have"
:
"有"
,
"noHave"
:
"无"
,
"other"
:
"其他"
,
"week"
:
'周'
,
"China"
:
'中国'
,
"Previousstep"
:
'上一步'
,
//上一步
"nextstep"
:
'下一步'
,
//下一步
"select"
:
"请选择"
,
//请选择
"fillIn"
:
"请填写"
,
//请填写
"clickSelect"
:
"点击选择"
,
//点击选择
}
\ No newline at end of file
src/main.js
View file @
53ed9955
...
...
@@ -123,7 +123,7 @@ Vue.prototype.$deepCopy = function (data) {
/*---------使用语言包-----------*/
const
i18n
=
new
VueI18n
({
locale
:
'
zh
'
,
// 语言标识
locale
:
'
Uygur
'
,
// 语言标识
//this.$i18n.locale // 通过切换locale的值来实现语言切换
messages
:
{
'zh'
:
require
(
'./lang/zh'
),
// 中文语言包
...
...
src/store/modules/user.js
View file @
53ed9955
/*
* @Author: ninglupeng
* @Date: 2022-03-17 15:06:50
* @LastEditors:
ninglupeng
* @LastEditTime: 2022-
03-22 16:09:11
* @LastEditors:
wsq
* @LastEditTime: 2022-
11-04 11:06:44
* @Description:
*/
import
http
from
'@/http/index'
...
...
vue.config.js
View file @
53ed9955
/*
* @Author: ninglupeng
* @Date: 2022-03-17 15:06:50
* @LastEditors:
ninglupeng
* @LastEditTime: 2022-1
0-31 14:02:30
* @LastEditors:
wsq
* @LastEditTime: 2022-1
1-04 17:14:44
* @Description:
*/
const
path
=
require
(
'path'
);
...
...
@@ -64,7 +64,10 @@ module.exports = {
// target: 'http://flowtone.suvalue.com/',
//target: 'http://flowtone2.suvalue.com/',
// target: 'http://flowtone6.suvalue.com/',
target
:
'http://192.168.18.166:8048/'
,
//测试
target
:
'http://flowtone7.suvalue.com/'
,
// target: 'http://192.168.18.166:8048/',//测试
ws
:
true
,
//如果要代理 websockets,配置这个参数
// secure: false, // 如果是https接口,需要配置这个参数
changeOrigin
:
true
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment