Commit 53ed9955 by nlp97

Merge branch 'feature/语言国际化--dev公卫' into develop

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