|
@@ -1,378 +1,397 @@
|
|
<!-- 外国嘉宾 -->
|
|
<!-- 外国嘉宾 -->
|
|
<template>
|
|
<template>
|
|
- <van-nav-bar fixed :border="false">
|
|
|
|
- <template #left>
|
|
|
|
- <van-icon name="arrow-left" color="#3D3D3D" @click="onClickLeft" />
|
|
|
|
- </template>
|
|
|
|
- <template #title>
|
|
|
|
- <p style="padding-left: 3em;font-size: 1.2rem;" v-text="lang[langType].signUp"></p>
|
|
|
|
- </template>
|
|
|
|
- </van-nav-bar>
|
|
|
|
- <div class="form">
|
|
|
|
- <van-form ref="form" @submit="onSubmit" label-width="8em">
|
|
|
|
- <!-- 国家/地区 -->
|
|
|
|
- <van-field size=“large” input-align="right"
|
|
|
|
- :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].countryRegionContent }]" required
|
|
|
|
- v-model="formData.countryRegion" :placeholder="lang[langType].countryRegionContent">
|
|
|
|
- <template #label>
|
|
|
|
- <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].countryRegion"></span>
|
|
|
|
- </template>
|
|
|
|
- </van-field>
|
|
|
|
-
|
|
|
|
- <!-- 姓 -->
|
|
|
|
- <van-field size=“large” input-align="right"
|
|
|
|
- :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].lastNameContent }]" required
|
|
|
|
- v-model="formData.lastName" :placeholder="lang[langType].lastNameContent">
|
|
|
|
- <template #label>
|
|
|
|
- <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].lastName"></span>
|
|
|
|
- </template>
|
|
|
|
- </van-field>
|
|
|
|
-
|
|
|
|
- <!-- 名 -->
|
|
|
|
- <van-field size=“large” input-align="right"
|
|
|
|
- :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].firstNameContent }]" required
|
|
|
|
- v-model="formData.firstName" :placeholder="lang[langType].firstNameContent">
|
|
|
|
- <template #label>
|
|
|
|
- <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].firstName"></span>
|
|
|
|
- </template>
|
|
|
|
- </van-field>
|
|
|
|
-
|
|
|
|
- <!-- 性别 -->
|
|
|
|
- <van-field size=“large” input-align="right"
|
|
|
|
- :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].genderContent }]"
|
|
|
|
- v-model="formData.gender" required :placeholder="lang[langType].genderContent">
|
|
|
|
- <template #label>
|
|
|
|
- <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].gender"></span>
|
|
|
|
- </template>
|
|
|
|
- </van-field>
|
|
|
|
-
|
|
|
|
- <!-- 生日 -->
|
|
|
|
- <van-field size=“large” input-align="right"
|
|
|
|
- :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].birthdayContent }]" clickable
|
|
|
|
- right-icon="calendar-o" readonly @click="showBirthday = true" v-model="formData.birthday" required
|
|
|
|
- :placeholder="lang[langType].birthdayContent">
|
|
|
|
- <template #label>
|
|
|
|
- <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].birthday"></span>
|
|
|
|
- </template>
|
|
|
|
- </van-field>
|
|
|
|
- <van-popup v-model:show="showBirthday" destroy-on-close round position="bottom">
|
|
|
|
- <van-date-picker :confirm-button-text="lang[langType].confirm"
|
|
|
|
- :cancel-button-text="lang[langType].cancel" @confirm="packerConfirm"
|
|
|
|
- :title="lang[langType].birthday" @cancel="showBirthday = false" :min-date="new Date(1970, 0, 1)"
|
|
|
|
- :max-date="new Date()" />
|
|
|
|
- </van-popup>
|
|
|
|
-
|
|
|
|
- <!-- 照片 -->
|
|
|
|
- <van-field size=“large” input-align="right" :placeholder="lang[langType].photoContent" required
|
|
|
|
- :rules="[{ required: true, trigger: 'onChange', message: lang[langType].photoContent }]"
|
|
|
|
- v-model="formData.photoUrl">
|
|
|
|
- <template #label>
|
|
|
|
- <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].photo"></span>
|
|
|
|
- </template>
|
|
|
|
- <template #input>
|
|
|
|
- <van-uploader :preview-full-image="false" accept="image/*" v-model="photo"
|
|
|
|
- :before-delete="beforeDelete" :max-count="1" :max-size="524288000" @oversize="filesize"
|
|
|
|
- :after-read="beforeRead" result-type="file">
|
|
|
|
- </van-uploader>
|
|
|
|
- <p class="upFileSubtitle" v-text="lang[langType].photoSubContent"> </p>
|
|
|
|
- </template>
|
|
|
|
- </van-field>
|
|
|
|
-
|
|
|
|
- <!-- 手机号 -->
|
|
|
|
- <van-field size=“large” input-align="right"
|
|
|
|
- :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].contactContent }]"
|
|
|
|
- v-model="formData.contact" type="number" required :placeholder="lang[langType].contactContent">
|
|
|
|
- <template #label>
|
|
|
|
- <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].contact"></span>
|
|
|
|
- </template>
|
|
|
|
- </van-field>
|
|
|
|
-
|
|
|
|
- <!-- 邮箱 -->
|
|
|
|
- <van-field size=“large” input-align="right"
|
|
|
|
- :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].emailContent }]" required
|
|
|
|
- v-model="formData.email" :placeholder="lang[langType].emailContent">
|
|
|
|
- <template #label>
|
|
|
|
- <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].email"></span>
|
|
|
|
- </template>
|
|
|
|
- </van-field>
|
|
|
|
-
|
|
|
|
- <!-- 紧急联系人 -->
|
|
|
|
- <van-field size=“large” input-align="right" v-model="formData.emergencyContact"
|
|
|
|
- :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].emergencyContactContent }]"
|
|
|
|
- required :placeholder="lang[langType].emergencyContactContent">
|
|
|
|
- <template #label>
|
|
|
|
- <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].emergencyContact"></span>
|
|
|
|
- </template>
|
|
|
|
- </van-field>
|
|
|
|
-
|
|
|
|
- <!-- 紧急联系人电话 -->
|
|
|
|
- <van-field size=“large” input-align="right" v-model="formData.emergencyContactPhone" required type="number"
|
|
|
|
- :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].emergencyContactPhoneContent }]"
|
|
|
|
- :placeholder="lang[langType].emergencyContactPhoneContent">
|
|
|
|
- <template #label>
|
|
|
|
- <span :class="langType === 'zh' ? 'label' : ''"
|
|
|
|
- v-html="lang[langType].emergencyContactPhone"></span>
|
|
|
|
- </template>
|
|
|
|
- </van-field>
|
|
|
|
-
|
|
|
|
- <!-- 证件类型 -->
|
|
|
|
- <van-field size=“large” label-align="top" v-model="formData.cardType" clickable
|
|
|
|
- :rules="[{ required: true, trigger: 'onChange', message: lang[langType].conferenceTypeContent }]"
|
|
|
|
- :placeholder="lang[langType].conferenceTypeContent" required>
|
|
|
|
- <template #label>
|
|
|
|
- <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].conferenceType"></span>
|
|
|
|
- </template>
|
|
|
|
- <template #input>
|
|
|
|
- <van-radio-group checked-color="#3F5AC8" style="width: 100%;" v-model="formData.cardType"
|
|
|
|
- direction="horizontal">
|
|
|
|
- <van-radio v-for="item in cardTypeList" :key="item.value" style="width: 50%;margin: 10px 0 0 0;"
|
|
|
|
- :name="item.value">{{ item.text }}</van-radio>
|
|
|
|
- </van-radio-group>
|
|
|
|
- </template>
|
|
|
|
- </van-field>
|
|
|
|
-
|
|
|
|
- <!-- 证件 -->
|
|
|
|
- <van-field size=“large” input-align="right"
|
|
|
|
- :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].passportContent }]"
|
|
|
|
- v-model="formData.passport" required :placeholder="lang[langType].passportContent">
|
|
|
|
- <template #label>
|
|
|
|
- <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].passport"></span>
|
|
|
|
- </template>
|
|
|
|
- </van-field>
|
|
|
|
-
|
|
|
|
- <!-- 宗教 -->
|
|
|
|
- <van-field size=“large” input-align="right"
|
|
|
|
- :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].beliefContent }]"
|
|
|
|
- v-model="formData.belief" required :placeholder="lang[langType].beliefContent">
|
|
|
|
- <template #label>
|
|
|
|
- <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].belief"></span>
|
|
|
|
- </template>
|
|
|
|
- </van-field>
|
|
|
|
-
|
|
|
|
- <!-- 饮食要求 -->
|
|
|
|
- <van-field size=“large” input-align="right" v-model="formData.catering" rows="1" autosize
|
|
|
|
- :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].cateringContent }]"
|
|
|
|
- type="textarea" required :placeholder="lang[langType].cateringContent">
|
|
|
|
- <template #label>
|
|
|
|
- <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].catering"></span>
|
|
|
|
- </template>
|
|
|
|
- </van-field>
|
|
|
|
-
|
|
|
|
- <div style="background-color: #F7F7F7;height: 10px;"></div>
|
|
|
|
-
|
|
|
|
- <!-- 工作单位 -->
|
|
|
|
- <van-field size=“large” input-align="right"
|
|
|
|
- :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].workUnit }]" required
|
|
|
|
- v-model="formData.workUnit" :placeholder="lang[langType].companyContent">
|
|
|
|
- <template #label>
|
|
|
|
- <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].company"></span>
|
|
|
|
- </template>
|
|
|
|
- </van-field>
|
|
|
|
-
|
|
|
|
- <!-- 单位类型 -->
|
|
|
|
- <van-field size=“large” input-align="right" v-model="formData.unitTypeName" clickable
|
|
|
|
- :rules="[{ required: true, trigger: 'onChange', message: lang[langType].unitTypeContent }]"
|
|
|
|
- right-icon="calendar-o" readonly :placeholder="lang[langType].unitTypeContent"
|
|
|
|
- @click="showUnitType = true" required>
|
|
|
|
- <template #label>
|
|
|
|
- <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].unitType"></span>
|
|
|
|
- </template>
|
|
|
|
- </van-field>
|
|
|
|
- <van-popup v-model:show="showUnitType" destroy-on-close round position="bottom">
|
|
|
|
- <van-picker :confirm-button-text="lang[langType].confirm" :cancel-button-text="lang[langType].cancel"
|
|
|
|
- :columns="unitTypeList" @cancel="showUnitType = false" @confirm="onUnitTypeConfirm" />
|
|
|
|
- </van-popup>
|
|
|
|
-
|
|
|
|
- <!-- 职务 -->
|
|
|
|
- <van-field size=“large” input-align="right" v-model="formData.career"
|
|
|
|
- :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].careerContent }]" required
|
|
|
|
- :placeholder="lang[langType].careerContent">
|
|
|
|
- <template #label>
|
|
|
|
- <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].career"></span>
|
|
|
|
- </template>
|
|
|
|
- </van-field>
|
|
|
|
-
|
|
|
|
- <!-- 传真 -->
|
|
|
|
- <van-field size=“large” input-align="right"
|
|
|
|
- :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].faxContent }]"
|
|
|
|
- v-model="formData.fax" required :placeholder="lang[langType].faxContent">
|
|
|
|
- <template #label>
|
|
|
|
- <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].fax"></span>
|
|
|
|
- </template>
|
|
|
|
- </van-field>
|
|
|
|
-
|
|
|
|
- <!-- 办公地址 -->
|
|
|
|
- <van-field size=“large” input-align="right" v-model="formData.officeAddress" rows="1" autosize required
|
|
|
|
- :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].officeAddressContent }]"
|
|
|
|
- type="textarea" :placeholder="lang[langType].officeAddressContent">
|
|
|
|
- <template #label>
|
|
|
|
- <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].officeAddress"></span>
|
|
|
|
- </template>
|
|
|
|
- </van-field>
|
|
|
|
-
|
|
|
|
- <div style="background-color: #F7F7F7;height: 10px;"></div>
|
|
|
|
- <!-- 接受采访意向 -->
|
|
|
|
- <van-field size=“large” v-model="formData.interview" required label-align="top"
|
|
|
|
- :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].interviewContent }]"
|
|
|
|
- :placeholder="lang[langType].interviewContent">
|
|
|
|
- <template #label>
|
|
|
|
- <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].interview"></span>
|
|
|
|
- </template>
|
|
|
|
- <template #input>
|
|
|
|
- <van-radio-group checked-color="#3F5AC8" style="justify-content: flex-end;width: 100%;"
|
|
|
|
- v-model="formData.interview" direction="horizontal">
|
|
|
|
- <van-radio style="flex: 1;margin-top: 10px " name="是">{{ lang[langType].confirm }}</van-radio>
|
|
|
|
- <van-radio style="flex: 1;margin-top: 10px " name="否">{{ lang[langType].cancel }}</van-radio>
|
|
|
|
- </van-radio-group>
|
|
|
|
- </template>
|
|
|
|
- </van-field>
|
|
|
|
-
|
|
|
|
- <div style="background-color: #F7F7F7;height: 10px;"></div>
|
|
|
|
- <!-- 共享数字经济发展机遇 -->
|
|
|
|
- <van-field size=“large” label-align="top" v-model="formData.active1" required
|
|
|
|
- :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].active1Content }]"
|
|
|
|
- :placeholder="lang[langType].active1Content">
|
|
|
|
- <template #label>
|
|
|
|
- <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].active1"></span>
|
|
|
|
- </template>
|
|
|
|
- <template #input>
|
|
|
|
- <van-radio-group checked-color="#3F5AC8" style="width: 100%;" v-model="formData.active1"
|
|
|
|
- direction="horizontal">
|
|
|
|
- <van-radio style="flex: 1;margin-top: 10px " name="是">{{ lang[langType].confirm }}</van-radio>
|
|
|
|
- <van-radio style="flex: 1;margin-top: 10px " name="否">{{ lang[langType].cancel }}</van-radio>
|
|
|
|
- </van-radio-group>
|
|
|
|
- </template>
|
|
|
|
- </van-field>
|
|
|
|
-
|
|
|
|
- <!-- 共筑网络安全防线 -->
|
|
|
|
- <van-field size=“large” label-align="top" v-model="formData.active2" required
|
|
|
|
- :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].active2Content }]"
|
|
|
|
- :placeholder="lang[langType].active2Content">
|
|
|
|
- <template #label>
|
|
|
|
- <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].active2"></span>
|
|
|
|
- </template>
|
|
|
|
- <template #input>
|
|
|
|
- <van-radio-group checked-color="#3F5AC8" style="width: 100%;" v-model="formData.active2"
|
|
|
|
- direction="horizontal">
|
|
|
|
- <van-radio style="flex: 1;margin-top: 10px " name="是">{{ lang[langType].confirm }}</van-radio>
|
|
|
|
- <van-radio style="flex: 1;margin-top: 10px " name="否">{{ lang[langType].cancel }}</van-radio>
|
|
|
|
- </van-radio-group>
|
|
|
|
- </template>
|
|
|
|
- </van-field>
|
|
|
|
-
|
|
|
|
- <!-- 共商人工智能发展治理 -->
|
|
|
|
- <van-field size=“large” label-align="top" v-model="formData.active3" required
|
|
|
|
- :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].active3Content }]"
|
|
|
|
- :placeholder="lang[langType].active3Content">
|
|
|
|
- <template #label>
|
|
|
|
- <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].active3"></span>
|
|
|
|
- </template>
|
|
|
|
- <template #input>
|
|
|
|
- <van-radio-group checked-color="#3F5AC8" style="width: 100%;" v-model="formData.active3"
|
|
|
|
- direction="horizontal">
|
|
|
|
- <van-radio style="flex: 1;margin-top: 10px " name="是">{{ lang[langType].confirm }}</van-radio>
|
|
|
|
- <van-radio style="flex: 1;margin-top: 10px " name="否">{{ lang[langType].cancel }}</van-radio>
|
|
|
|
- </van-radio-group>
|
|
|
|
- </template>
|
|
|
|
- </van-field>
|
|
|
|
-
|
|
|
|
- <!-- 拟参加的活动 -->
|
|
|
|
- <van-field size=“large” label-align="top" :placeholder="lang[langType].activitiesAttendedContent">
|
|
|
|
- <template #label>
|
|
|
|
- <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].activitiesAttended"></span>
|
|
|
|
- </template>
|
|
|
|
- <template #input>
|
|
|
|
- <van-checkbox-group checked-color="#3F5AC8" v-model="activitiesAttended">
|
|
|
|
- <van-cell clickable :title="lang[langType].active4" @click="checkboxRefs[0].toggle()">
|
|
|
|
- <template #icon>
|
|
|
|
- <van-checkbox :ref="el => checkboxRefs[0] = el" style="margin-right: 5px;" name="active4" @click.stop shape="square" />
|
|
|
|
- </template>
|
|
|
|
- </van-cell>
|
|
|
|
- <van-cell clickable :title="lang[langType].active5" @click="checkboxRefs[1].toggle()">
|
|
|
|
- <template #icon>
|
|
|
|
- <van-checkbox :ref="el => checkboxRefs[1] = el" style="margin-right: 5px;" name="active5" @click.stop shape="square" />
|
|
|
|
- </template>
|
|
|
|
- </van-cell>
|
|
|
|
- <van-cell clickable :title="lang[langType].active6" @click="checkboxRefs[2].toggle()">
|
|
|
|
- <template #icon>
|
|
|
|
- <van-checkbox :ref="el => checkboxRefs[2] = el" style="margin-right: 5px;" name="active6" @click.stop shape="square" />
|
|
|
|
- </template>
|
|
|
|
- </van-cell>
|
|
|
|
- </van-checkbox-group>
|
|
|
|
- </template>
|
|
|
|
- </van-field>
|
|
|
|
-
|
|
|
|
- <div style="background-color: #F7F7F7;height: 10px;"></div>
|
|
|
|
-
|
|
|
|
- <!-- 抵达西安交通车次 -->
|
|
|
|
- <van-field size=“large” input-align="right" v-model="formData.reachTrainNumber"
|
|
|
|
- :placeholder="lang[langType].reachTrainNumberContent">
|
|
|
|
- <template #label>
|
|
|
|
- <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].reachTrainNumber"></span>
|
|
|
|
- </template>
|
|
|
|
- </van-field>
|
|
|
|
-
|
|
|
|
- <!-- 抵达西安时间 -->
|
|
|
|
- <van-field size=“large” input-align="right" v-model="formData.reachTime" clickable right-icon="calendar-o"
|
|
|
|
- readonly @click="showReachTime = true" :placeholder="lang[langType].reachTimeContent">
|
|
|
|
- <template #label>
|
|
|
|
- <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].reachTime"></span>
|
|
|
|
- </template>
|
|
|
|
- </van-field>
|
|
|
|
- <van-popup v-model:show="showReachTime" destroy-on-close round position="bottom">
|
|
|
|
- <van-picker :confirm-button-text="lang[langType].confirm" :cancel-button-text="lang[langType].cancel"
|
|
|
|
- :title="lang[langType].reachTime" :columns="dateTimeColumns" @confirm="reachTimeConfirm"
|
|
|
|
- @cancel="showReachTime = false" />
|
|
|
|
- </van-popup>
|
|
|
|
-
|
|
|
|
- <!-- 离开车次 -->
|
|
|
|
- <van-field size=“large” input-align="right" v-model="formData.leavingTrainNumber"
|
|
|
|
- :placeholder="lang[langType].leavingTrainNumberContent">
|
|
|
|
- <template #label>
|
|
|
|
- <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].leavingTrainNumber"></span>
|
|
|
|
- </template>
|
|
|
|
- </van-field>
|
|
|
|
-
|
|
|
|
- <!-- 离开时间 -->
|
|
|
|
- <van-field size=“large” input-align="right" v-model="formData.leavingTime" clickable right-icon="calendar-o"
|
|
|
|
- readonly @click="showLeavingTime = true" :placeholder="lang[langType].leavingTimeContent">
|
|
|
|
- <template #label>
|
|
|
|
- <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].leavingTime"></span>
|
|
|
|
- </template>
|
|
|
|
- </van-field>
|
|
|
|
- <van-popup v-model:show="showLeavingTime" destroy-on-close round position="bottom">
|
|
|
|
- <van-picker :confirm-button-text="lang[langType].confirm" :cancel-button-text="lang[langType].cancel"
|
|
|
|
- :title="lang[langType].leavingTime" :columns="dateTimeColumns" @confirm="leavingTimeConfirm"
|
|
|
|
- @cancel="showLeavingTime = false" />
|
|
|
|
- </van-popup>
|
|
|
|
-
|
|
|
|
- <!-- 离店时间 -->
|
|
|
|
- <van-field size=“large” input-align="right" v-model="formData.checkOutTime" clickable
|
|
|
|
- right-icon="calendar-o" readonly @click="showCheckOutTime = true"
|
|
|
|
- :placeholder="lang[langType].checkOutTimeContent">
|
|
|
|
- <template #label>
|
|
|
|
- <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].checkOutTime"></span>
|
|
|
|
- </template>
|
|
|
|
- </van-field>
|
|
|
|
- <van-popup v-model:show="showCheckOutTime" destroy-on-close round position="bottom">
|
|
|
|
- <van-picker :confirm-button-text="lang[langType].confirm" :cancel-button-text="lang[langType].cancel"
|
|
|
|
- :title="lang[langType].checkOutTime" :columns="dateTimeColumns" @confirm="checkOutTimeConfirm"
|
|
|
|
- @cancel="showCheckOutTime = false" />
|
|
|
|
- </van-popup>
|
|
|
|
-
|
|
|
|
- <van-field size=“large” input-align="right" v-model="formData.message" rows="3" autosize type="textarea"
|
|
|
|
- :placeholder="lang[langType].ortherNotesContent">
|
|
|
|
- <template #label>
|
|
|
|
- <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].ortherNotes"></span>
|
|
|
|
- </template>
|
|
|
|
- </van-field>
|
|
|
|
- <br />
|
|
|
|
- <van-button
|
|
|
|
- style="background: linear-gradient(270deg, #1D19BC 0%, #1C4CD5 100%);margin: 0 auto;width: calc(100% - 40px);"
|
|
|
|
- block type="primary" native-type="submit">
|
|
|
|
- {{ lang[langType].submit }}
|
|
|
|
- </van-button>
|
|
|
|
- </van-form>
|
|
|
|
|
|
+ <div>
|
|
|
|
+ <van-nav-bar fixed :border="false">
|
|
|
|
+ <template #left>
|
|
|
|
+ <van-icon name="arrow-left" color="#3D3D3D" @click="onClickLeft" />
|
|
|
|
+ </template>
|
|
|
|
+ <template #title>
|
|
|
|
+ <p style="padding-left: 3em;font-size: 1.2rem;" v-text="lang[langType].signUp"></p>
|
|
|
|
+ </template>
|
|
|
|
+ </van-nav-bar>
|
|
|
|
+ <div class="form">
|
|
|
|
+ <van-form ref="form" @submit="onSubmit" label-width="8em">
|
|
|
|
+ <!-- 国家/地区 -->
|
|
|
|
+ <van-field size=“large” input-align="right"
|
|
|
|
+ :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].countryRegionContent }]"
|
|
|
|
+ required v-model="formData.countryRegion" :placeholder="lang[langType].countryRegionContent">
|
|
|
|
+ <template #label>
|
|
|
|
+ <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].countryRegion"></span>
|
|
|
|
+ </template>
|
|
|
|
+ </van-field>
|
|
|
|
+
|
|
|
|
+ <!-- 姓 -->
|
|
|
|
+ <van-field size=“large” input-align="right"
|
|
|
|
+ :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].lastNameContent }]" required
|
|
|
|
+ v-model="formData.lastName" :placeholder="lang[langType].lastNameContent">
|
|
|
|
+ <template #label>
|
|
|
|
+ <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].lastName"></span>
|
|
|
|
+ </template>
|
|
|
|
+ </van-field>
|
|
|
|
+
|
|
|
|
+ <!-- 名 -->
|
|
|
|
+ <van-field size=“large” input-align="right"
|
|
|
|
+ :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].firstNameContent }]" required
|
|
|
|
+ v-model="formData.firstName" :placeholder="lang[langType].firstNameContent">
|
|
|
|
+ <template #label>
|
|
|
|
+ <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].firstName"></span>
|
|
|
|
+ </template>
|
|
|
|
+ </van-field>
|
|
|
|
+
|
|
|
|
+ <!-- 性别 -->
|
|
|
|
+ <van-field size=“large” input-align="right"
|
|
|
|
+ :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].genderContent }]"
|
|
|
|
+ v-model="formData.gender" required :placeholder="lang[langType].genderContent">
|
|
|
|
+ <template #label>
|
|
|
|
+ <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].gender"></span>
|
|
|
|
+ </template>
|
|
|
|
+ </van-field>
|
|
|
|
+
|
|
|
|
+ <!-- 生日 -->
|
|
|
|
+ <van-field size=“large” input-align="right"
|
|
|
|
+ :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].birthdayContent }]" clickable
|
|
|
|
+ right-icon="calendar-o" readonly @click="showBirthday = true" v-model="formData.birthday" required
|
|
|
|
+ :placeholder="lang[langType].birthdayContent">
|
|
|
|
+ <template #label>
|
|
|
|
+ <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].birthday"></span>
|
|
|
|
+ </template>
|
|
|
|
+ </van-field>
|
|
|
|
+ <van-popup v-model:show="showBirthday" destroy-on-close round position="bottom">
|
|
|
|
+ <van-date-picker :confirm-button-text="lang[langType].confirm"
|
|
|
|
+ :cancel-button-text="lang[langType].cancel" @confirm="packerConfirm"
|
|
|
|
+ :title="lang[langType].birthday" @cancel="showBirthday = false" :min-date="new Date(1970, 0, 1)"
|
|
|
|
+ :max-date="new Date()" />
|
|
|
|
+ </van-popup>
|
|
|
|
+
|
|
|
|
+ <!-- 照片 -->
|
|
|
|
+ <van-field size=“large” input-align="right" :placeholder="lang[langType].photoContent" required
|
|
|
|
+ :rules="[{ required: true, trigger: 'onChange', message: lang[langType].photoContent }]"
|
|
|
|
+ v-model="formData.photoUrl">
|
|
|
|
+ <template #label>
|
|
|
|
+ <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].photo"></span>
|
|
|
|
+ </template>
|
|
|
|
+ <template #input>
|
|
|
|
+ <van-uploader :preview-full-image="false" accept="image/*" v-model="photo"
|
|
|
|
+ :before-delete="beforeDelete" :max-count="1" :max-size="524288000" @oversize="filesize"
|
|
|
|
+ :after-read="beforeRead" result-type="file">
|
|
|
|
+ </van-uploader>
|
|
|
|
+ <p class="upFileSubtitle" v-text="lang[langType].photoSubContent"> </p>
|
|
|
|
+ </template>
|
|
|
|
+ </van-field>
|
|
|
|
+
|
|
|
|
+ <!-- 手机号 -->
|
|
|
|
+ <van-field size=“large” input-align="right"
|
|
|
|
+ :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].contactContent }]"
|
|
|
|
+ v-model="formData.contact" type="number" required :placeholder="lang[langType].contactContent">
|
|
|
|
+ <template #label>
|
|
|
|
+ <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].contact"></span>
|
|
|
|
+ </template>
|
|
|
|
+ </van-field>
|
|
|
|
+
|
|
|
|
+ <!-- 邮箱 -->
|
|
|
|
+ <van-field size=“large” input-align="right"
|
|
|
|
+ :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].emailContent }]" required
|
|
|
|
+ v-model="formData.email" :placeholder="lang[langType].emailContent">
|
|
|
|
+ <template #label>
|
|
|
|
+ <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].email"></span>
|
|
|
|
+ </template>
|
|
|
|
+ </van-field>
|
|
|
|
+
|
|
|
|
+ <!-- 紧急联系人 -->
|
|
|
|
+ <van-field size=“large” input-align="right" v-model="formData.emergencyContact"
|
|
|
|
+ :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].emergencyContactContent }]"
|
|
|
|
+ required :placeholder="lang[langType].emergencyContactContent">
|
|
|
|
+ <template #label>
|
|
|
|
+ <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].emergencyContact"></span>
|
|
|
|
+ </template>
|
|
|
|
+ </van-field>
|
|
|
|
+
|
|
|
|
+ <!-- 紧急联系人电话 -->
|
|
|
|
+ <van-field size=“large” input-align="right" v-model="formData.emergencyContactPhone" required
|
|
|
|
+ type="number"
|
|
|
|
+ :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].emergencyContactPhoneContent }]"
|
|
|
|
+ :placeholder="lang[langType].emergencyContactPhoneContent">
|
|
|
|
+ <template #label>
|
|
|
|
+ <span :class="langType === 'zh' ? 'label' : ''"
|
|
|
|
+ v-html="lang[langType].emergencyContactPhone"></span>
|
|
|
|
+ </template>
|
|
|
|
+ </van-field>
|
|
|
|
+
|
|
|
|
+ <!-- 证件类型 -->
|
|
|
|
+ <van-field size=“large” label-align="top" v-model="formData.cardType" clickable
|
|
|
|
+ :rules="[{ required: true, trigger: 'onChange', message: lang[langType].conferenceTypeContent }]"
|
|
|
|
+ :placeholder="lang[langType].conferenceTypeContent" required>
|
|
|
|
+ <template #label>
|
|
|
|
+ <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].conferenceType"></span>
|
|
|
|
+ </template>
|
|
|
|
+ <template #input>
|
|
|
|
+ <van-radio-group checked-color="#3F5AC8" style="width: 100%;" v-model="formData.cardType"
|
|
|
|
+ direction="horizontal">
|
|
|
|
+ <van-radio v-for="item in cardTypeList" :key="item.value"
|
|
|
|
+ style="width: 50%;margin: 10px 0 0 0;" :name="item.value">{{ item.text }}</van-radio>
|
|
|
|
+ </van-radio-group>
|
|
|
|
+ </template>
|
|
|
|
+ </van-field>
|
|
|
|
+
|
|
|
|
+ <!-- 证件 -->
|
|
|
|
+ <van-field size=“large” input-align="right"
|
|
|
|
+ :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].passportContent }]"
|
|
|
|
+ v-model="formData.passport" required :placeholder="lang[langType].passportContent">
|
|
|
|
+ <template #label>
|
|
|
|
+ <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].passport"></span>
|
|
|
|
+ </template>
|
|
|
|
+ </van-field>
|
|
|
|
+
|
|
|
|
+ <!-- 宗教 -->
|
|
|
|
+ <van-field size=“large” input-align="right"
|
|
|
|
+ :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].beliefContent }]"
|
|
|
|
+ v-model="formData.belief" required :placeholder="lang[langType].beliefContent">
|
|
|
|
+ <template #label>
|
|
|
|
+ <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].belief"></span>
|
|
|
|
+ </template>
|
|
|
|
+ </van-field>
|
|
|
|
+
|
|
|
|
+ <!-- 饮食要求 -->
|
|
|
|
+ <van-field size=“large” input-align="right" v-model="formData.catering" rows="1" autosize
|
|
|
|
+ :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].cateringContent }]"
|
|
|
|
+ type="textarea" required :placeholder="lang[langType].cateringContent">
|
|
|
|
+ <template #label>
|
|
|
|
+ <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].catering"></span>
|
|
|
|
+ </template>
|
|
|
|
+ </van-field>
|
|
|
|
+
|
|
|
|
+ <div style="background-color: #F7F7F7;height: 10px;"></div>
|
|
|
|
+
|
|
|
|
+ <!-- 工作单位 -->
|
|
|
|
+ <van-field size=“large” input-align="right"
|
|
|
|
+ :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].workUnit }]" required
|
|
|
|
+ v-model="formData.workUnit" :placeholder="lang[langType].companyContent">
|
|
|
|
+ <template #label>
|
|
|
|
+ <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].company"></span>
|
|
|
|
+ </template>
|
|
|
|
+ </van-field>
|
|
|
|
+
|
|
|
|
+ <!-- 单位类型 -->
|
|
|
|
+ <van-field size=“large” input-align="right" v-model="formData.unitTypeName" clickable
|
|
|
|
+ :rules="[{ required: true, trigger: 'onChange', message: lang[langType].unitTypeContent }]"
|
|
|
|
+ right-icon="calendar-o" readonly :placeholder="lang[langType].unitTypeContent"
|
|
|
|
+ @click="showUnitType = true" required>
|
|
|
|
+ <template #label>
|
|
|
|
+ <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].unitType"></span>
|
|
|
|
+ </template>
|
|
|
|
+ </van-field>
|
|
|
|
+ <van-popup v-model:show="showUnitType" destroy-on-close round position="bottom">
|
|
|
|
+ <van-picker :confirm-button-text="lang[langType].confirm"
|
|
|
|
+ :cancel-button-text="lang[langType].cancel" :columns="unitTypeList"
|
|
|
|
+ @cancel="showUnitType = false" @confirm="onUnitTypeConfirm" />
|
|
|
|
+ </van-popup>
|
|
|
|
+
|
|
|
|
+ <!-- 职务 -->
|
|
|
|
+ <van-field size=“large” input-align="right" v-model="formData.career"
|
|
|
|
+ :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].careerContent }]" required
|
|
|
|
+ :placeholder="lang[langType].careerContent">
|
|
|
|
+ <template #label>
|
|
|
|
+ <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].career"></span>
|
|
|
|
+ </template>
|
|
|
|
+ </van-field>
|
|
|
|
+
|
|
|
|
+ <!-- 传真 -->
|
|
|
|
+ <van-field size=“large” input-align="right"
|
|
|
|
+ :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].faxContent }]"
|
|
|
|
+ v-model="formData.fax" required :placeholder="lang[langType].faxContent">
|
|
|
|
+ <template #label>
|
|
|
|
+ <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].fax"></span>
|
|
|
|
+ </template>
|
|
|
|
+ </van-field>
|
|
|
|
+
|
|
|
|
+ <!-- 办公地址 -->
|
|
|
|
+ <van-field size=“large” input-align="right" v-model="formData.officeAddress" rows="1" autosize required
|
|
|
|
+ :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].officeAddressContent }]"
|
|
|
|
+ type="textarea" :placeholder="lang[langType].officeAddressContent">
|
|
|
|
+ <template #label>
|
|
|
|
+ <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].officeAddress"></span>
|
|
|
|
+ </template>
|
|
|
|
+ </van-field>
|
|
|
|
+
|
|
|
|
+ <div style="background-color: #F7F7F7;height: 10px;"></div>
|
|
|
|
+ <!-- 接受采访意向 -->
|
|
|
|
+ <van-field size=“large” v-model="formData.interview" required label-align="top"
|
|
|
|
+ :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].interviewContent }]"
|
|
|
|
+ :placeholder="lang[langType].interviewContent">
|
|
|
|
+ <template #label>
|
|
|
|
+ <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].interview"></span>
|
|
|
|
+ </template>
|
|
|
|
+ <template #input>
|
|
|
|
+ <van-radio-group checked-color="#3F5AC8" style="justify-content: flex-end;width: 100%;"
|
|
|
|
+ v-model="formData.interview" direction="horizontal">
|
|
|
|
+ <van-radio style="flex: 1;margin-top: 10px " name="是">{{ lang[langType].confirm
|
|
|
|
+ }}</van-radio>
|
|
|
|
+ <van-radio style="flex: 1;margin-top: 10px " name="否">{{ lang[langType].cancel
|
|
|
|
+ }}</van-radio>
|
|
|
|
+ </van-radio-group>
|
|
|
|
+ </template>
|
|
|
|
+ </van-field>
|
|
|
|
+
|
|
|
|
+ <div style="background-color: #F7F7F7;height: 10px;"></div>
|
|
|
|
+ <!-- 共享数字经济发展机遇 -->
|
|
|
|
+ <van-field size=“large” label-align="top" v-model="formData.active1" required
|
|
|
|
+ :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].active1Content }]"
|
|
|
|
+ :placeholder="lang[langType].active1Content">
|
|
|
|
+ <template #label>
|
|
|
|
+ <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].active1"></span>
|
|
|
|
+ </template>
|
|
|
|
+ <template #input>
|
|
|
|
+ <van-radio-group checked-color="#3F5AC8" style="width: 100%;" v-model="formData.active1"
|
|
|
|
+ direction="horizontal">
|
|
|
|
+ <van-radio style="flex: 1;margin-top: 10px " name="是">{{ lang[langType].confirm
|
|
|
|
+ }}</van-radio>
|
|
|
|
+ <van-radio style="flex: 1;margin-top: 10px " name="否">{{ lang[langType].cancel
|
|
|
|
+ }}</van-radio>
|
|
|
|
+ </van-radio-group>
|
|
|
|
+ </template>
|
|
|
|
+ </van-field>
|
|
|
|
+
|
|
|
|
+ <!-- 共筑网络安全防线 -->
|
|
|
|
+ <van-field size=“large” label-align="top" v-model="formData.active2" required
|
|
|
|
+ :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].active2Content }]"
|
|
|
|
+ :placeholder="lang[langType].active2Content">
|
|
|
|
+ <template #label>
|
|
|
|
+ <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].active2"></span>
|
|
|
|
+ </template>
|
|
|
|
+ <template #input>
|
|
|
|
+ <van-radio-group checked-color="#3F5AC8" style="width: 100%;" v-model="formData.active2"
|
|
|
|
+ direction="horizontal">
|
|
|
|
+ <van-radio style="flex: 1;margin-top: 10px " name="是">{{ lang[langType].confirm
|
|
|
|
+ }}</van-radio>
|
|
|
|
+ <van-radio style="flex: 1;margin-top: 10px " name="否">{{ lang[langType].cancel
|
|
|
|
+ }}</van-radio>
|
|
|
|
+ </van-radio-group>
|
|
|
|
+ </template>
|
|
|
|
+ </van-field>
|
|
|
|
+
|
|
|
|
+ <!-- 共商人工智能发展治理 -->
|
|
|
|
+ <van-field size=“large” label-align="top" v-model="formData.active3" required
|
|
|
|
+ :rules="[{ required: true, trigger: 'onBlur', message: lang[langType].active3Content }]"
|
|
|
|
+ :placeholder="lang[langType].active3Content">
|
|
|
|
+ <template #label>
|
|
|
|
+ <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].active3"></span>
|
|
|
|
+ </template>
|
|
|
|
+ <template #input>
|
|
|
|
+ <van-radio-group checked-color="#3F5AC8" style="width: 100%;" v-model="formData.active3"
|
|
|
|
+ direction="horizontal">
|
|
|
|
+ <van-radio style="flex: 1;margin-top: 10px " name="是">{{ lang[langType].confirm
|
|
|
|
+ }}</van-radio>
|
|
|
|
+ <van-radio style="flex: 1;margin-top: 10px " name="否">{{ lang[langType].cancel
|
|
|
|
+ }}</van-radio>
|
|
|
|
+ </van-radio-group>
|
|
|
|
+ </template>
|
|
|
|
+ </van-field>
|
|
|
|
+
|
|
|
|
+ <!-- 拟参加的活动 -->
|
|
|
|
+ <van-field size=“large” label-align="top" :placeholder="lang[langType].activitiesAttendedContent">
|
|
|
|
+ <template #label>
|
|
|
|
+ <span :class="langType === 'zh' ? 'label' : ''"
|
|
|
|
+ v-html="lang[langType].activitiesAttended"></span>
|
|
|
|
+ </template>
|
|
|
|
+ <template #input>
|
|
|
|
+ <van-checkbox-group checked-color="#3F5AC8" v-model="activitiesAttended">
|
|
|
|
+ <van-cell clickable :title="lang[langType].active4" @click="checkboxRefs[0].toggle()">
|
|
|
|
+ <template #icon>
|
|
|
|
+ <van-checkbox :ref="el => checkboxRefs[0] = el" style="margin-right: 5px;"
|
|
|
|
+ name="active4" @click.stop shape="square" />
|
|
|
|
+ </template>
|
|
|
|
+ </van-cell>
|
|
|
|
+ <van-cell clickable :title="lang[langType].active5" @click="checkboxRefs[1].toggle()">
|
|
|
|
+ <template #icon>
|
|
|
|
+ <van-checkbox :ref="el => checkboxRefs[1] = el" style="margin-right: 5px;"
|
|
|
|
+ name="active5" @click.stop shape="square" />
|
|
|
|
+ </template>
|
|
|
|
+ </van-cell>
|
|
|
|
+ <van-cell clickable :title="lang[langType].active6" @click="checkboxRefs[2].toggle()">
|
|
|
|
+ <template #icon>
|
|
|
|
+ <van-checkbox :ref="el => checkboxRefs[2] = el" style="margin-right: 5px;"
|
|
|
|
+ name="active6" @click.stop shape="square" />
|
|
|
|
+ </template>
|
|
|
|
+ </van-cell>
|
|
|
|
+ </van-checkbox-group>
|
|
|
|
+ </template>
|
|
|
|
+ </van-field>
|
|
|
|
+
|
|
|
|
+ <div style="background-color: #F7F7F7;height: 10px;"></div>
|
|
|
|
+
|
|
|
|
+ <!-- 抵达西安交通车次 -->
|
|
|
|
+ <van-field size=“large” input-align="right" v-model="formData.reachTrainNumber"
|
|
|
|
+ :placeholder="lang[langType].reachTrainNumberContent">
|
|
|
|
+ <template #label>
|
|
|
|
+ <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].reachTrainNumber"></span>
|
|
|
|
+ </template>
|
|
|
|
+ </van-field>
|
|
|
|
+
|
|
|
|
+ <!-- 抵达西安时间 -->
|
|
|
|
+ <van-field size=“large” input-align="right" v-model="formData.reachTime" clickable
|
|
|
|
+ right-icon="calendar-o" readonly @click="showReachTime = true"
|
|
|
|
+ :placeholder="lang[langType].reachTimeContent">
|
|
|
|
+ <template #label>
|
|
|
|
+ <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].reachTime"></span>
|
|
|
|
+ </template>
|
|
|
|
+ </van-field>
|
|
|
|
+ <van-popup v-model:show="showReachTime" destroy-on-close round position="bottom">
|
|
|
|
+ <van-picker :confirm-button-text="lang[langType].confirm"
|
|
|
|
+ :cancel-button-text="lang[langType].cancel" :title="lang[langType].reachTime"
|
|
|
|
+ :columns="dateTimeColumns" @confirm="reachTimeConfirm" @cancel="showReachTime = false" />
|
|
|
|
+ </van-popup>
|
|
|
|
+
|
|
|
|
+ <!-- 离开车次 -->
|
|
|
|
+ <van-field size=“large” input-align="right" v-model="formData.leavingTrainNumber"
|
|
|
|
+ :placeholder="lang[langType].leavingTrainNumberContent">
|
|
|
|
+ <template #label>
|
|
|
|
+ <span :class="langType === 'zh' ? 'label' : ''"
|
|
|
|
+ v-html="lang[langType].leavingTrainNumber"></span>
|
|
|
|
+ </template>
|
|
|
|
+ </van-field>
|
|
|
|
+
|
|
|
|
+ <!-- 离开时间 -->
|
|
|
|
+ <van-field size=“large” input-align="right" v-model="formData.leavingTime" clickable
|
|
|
|
+ right-icon="calendar-o" readonly @click="showLeavingTime = true"
|
|
|
|
+ :placeholder="lang[langType].leavingTimeContent">
|
|
|
|
+ <template #label>
|
|
|
|
+ <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].leavingTime"></span>
|
|
|
|
+ </template>
|
|
|
|
+ </van-field>
|
|
|
|
+ <van-popup v-model:show="showLeavingTime" destroy-on-close round position="bottom">
|
|
|
|
+ <van-picker :confirm-button-text="lang[langType].confirm"
|
|
|
|
+ :cancel-button-text="lang[langType].cancel" :title="lang[langType].leavingTime"
|
|
|
|
+ :columns="dateTimeColumns" @confirm="leavingTimeConfirm" @cancel="showLeavingTime = false" />
|
|
|
|
+ </van-popup>
|
|
|
|
+
|
|
|
|
+ <!-- 离店时间 -->
|
|
|
|
+ <van-field size=“large” input-align="right" v-model="formData.checkOutTime" clickable
|
|
|
|
+ right-icon="calendar-o" readonly @click="showCheckOutTime = true"
|
|
|
|
+ :placeholder="lang[langType].checkOutTimeContent">
|
|
|
|
+ <template #label>
|
|
|
|
+ <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].checkOutTime"></span>
|
|
|
|
+ </template>
|
|
|
|
+ </van-field>
|
|
|
|
+ <van-popup v-model:show="showCheckOutTime" destroy-on-close round position="bottom">
|
|
|
|
+ <van-picker :confirm-button-text="lang[langType].confirm"
|
|
|
|
+ :cancel-button-text="lang[langType].cancel" :title="lang[langType].checkOutTime"
|
|
|
|
+ :columns="dateTimeColumns" @confirm="checkOutTimeConfirm" @cancel="showCheckOutTime = false" />
|
|
|
|
+ </van-popup>
|
|
|
|
+
|
|
|
|
+ <van-field size=“large” input-align="right" v-model="formData.message" rows="3" autosize type="textarea"
|
|
|
|
+ :placeholder="lang[langType].ortherNotesContent">
|
|
|
|
+ <template #label>
|
|
|
|
+ <span :class="langType === 'zh' ? 'label' : ''" v-html="lang[langType].ortherNotes"></span>
|
|
|
|
+ </template>
|
|
|
|
+ </van-field>
|
|
|
|
+ <br />
|
|
|
|
+ <van-button
|
|
|
|
+ style="background: linear-gradient(270deg, #1D19BC 0%, #1C4CD5 100%);margin: 0 auto;width: calc(100% - 40px);"
|
|
|
|
+ block type="primary" native-type="submit">
|
|
|
|
+ {{ lang[langType].submit }}
|
|
|
|
+ </van-button>
|
|
|
|
+ </van-form>
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
<script setup>
|
|
<script setup>
|