no message
Showing
6 changed files
with
195 additions
and
5 deletions
| ... | @@ -50,7 +50,8 @@ | ... | @@ -50,7 +50,8 @@ |
| 50 | <el-input v-model="myform.passportNumber"/> | 50 | <el-input v-model="myform.passportNumber"/> |
| 51 | </el-form-item> | 51 | </el-form-item> |
| 52 | <el-form-item :label="language==0?'有效证件':'Valid Passport'" required v-if="user.utype=='1'"> | 52 | <el-form-item :label="language==0?'有效证件':'Valid Passport'" required v-if="user.utype=='1'"> |
| 53 | <file-upload v-model="myform.passportUrl" :limit="1" :is-show-tip="false" :button-text="'Upload'"/> | 53 | <image-upload v-model="myform.passportUrl" :limit="1" :is-show-tip="false" |
| 54 | :button-text="language==0?'上传':'Upload'"/> | ||
| 54 | </el-form-item> | 55 | </el-form-item> |
| 55 | <el-form-item :label="language==0?'WDSF会员号':'WDSF MIN'" prop="wdsfMin" v-if="user.utype=='1'"> | 56 | <el-form-item :label="language==0?'WDSF会员号':'WDSF MIN'" prop="wdsfMin" v-if="user.utype=='1'"> |
| 56 | {{myform.wdsfMin}} | 57 | {{myform.wdsfMin}} | ... | ... |
src/viewsPc/components/masterClass.vue
0 → 100644
| 1 | <template> | ||
| 2 | <el-dialog | ||
| 3 | v-model="show" :title="title" width="600px" append-to-body close-icon="CircleClose" center | ||
| 4 | :close-on-click-modal="false" class="pcloginpop" | ||
| 5 | destroy-on-close | ||
| 6 | > | ||
| 7 | <div class="boxInvitation pd20"> | ||
| 8 | |||
| 9 | <div class="text-center pd20" v-if="showR"> | ||
| 10 | <img class="mauto" src="@/assets/dance/ok.png"/> | ||
| 11 | <!-- <h2 class="text-center">{{ language == 0 ? '申请已提交' : 'Submitted successfully' }}</h2>--> | ||
| 12 | <h4 class="text-center" v-if="language == 0"> | ||
| 13 | 我们已收到您的邀请函申请,并将尽快处理。请耐心等待。 | ||
| 14 | </h4> | ||
| 15 | <h4 v-else> | ||
| 16 | Your invitation letter application has been received,<br/> | ||
| 17 | and we will process it as soon as possible. | ||
| 18 | <br/> | ||
| 19 | Please be patient while waiting. | ||
| 20 | </h4> | ||
| 21 | <el-button size="large" type="primary" @click="conti" round class="btn-lineG"> | ||
| 22 | {{ language == 0 ? '继续提交' : 'Continue To Submit' }} | ||
| 23 | </el-button> | ||
| 24 | </div> | ||
| 25 | |||
| 26 | <el-form :model="form" :rules="rules" ref="iformRef" label-position="right" label-width="150px" v-else> | ||
| 27 | <el-form-item :label="language==0?'姓名':'Name'" required prop="name"> | ||
| 28 | <el-input v-model="form.name"/> | ||
| 29 | </el-form-item> | ||
| 30 | <el-form-item :label="language==0?'性别':'Gender'" required prop="gender"> | ||
| 31 | <el-radio-group v-model="form.gender"> | ||
| 32 | <el-radio value="0">{{ language == 0 ? '女' : 'female' }}</el-radio> | ||
| 33 | <el-radio value="1">{{ language == 0 ? '男' : 'male' }}</el-radio> | ||
| 34 | </el-radio-group> | ||
| 35 | </el-form-item> | ||
| 36 | <el-form-item :label="language==0?'国籍':'Nationality'" required prop="nationality"> | ||
| 37 | <el-select filterable v-model="form.nationality" style="width: 100%;"> | ||
| 38 | <el-option v-for="item in countrys" :key="item.id" :label="language==0?item.name:item.enName" | ||
| 39 | :value="item.id"/> | ||
| 40 | </el-select> | ||
| 41 | </el-form-item> | ||
| 42 | <el-form-item :label="language==0?'出生日期':'Date of Birth'" required prop="birth"> | ||
| 43 | <el-date-picker | ||
| 44 | v-model="form.birth" | ||
| 45 | style="width: 100%;" placeholder="YYYY-MM-DD" | ||
| 46 | type="date" format="YYYY-MM-DD" value-format="YYYY-MM-DD" | ||
| 47 | /> | ||
| 48 | </el-form-item> | ||
| 49 | <el-form-item :label="language==0?'邮箱':'Email'" required prop="email"> | ||
| 50 | <el-input v-model="form.email" type="email"/> | ||
| 51 | </el-form-item> | ||
| 52 | <el-form-item :label="language==0?'护照号':'Passport No.'" required prop="passportNo"> | ||
| 53 | <el-input v-model="form.passportNo"/> | ||
| 54 | </el-form-item> | ||
| 55 | <el-form-item :label="language==0?'有效证件':'Passport Copy'" required prop="passportCopy"> | ||
| 56 | <image-upload v-model="form.passportCopy" :limit="1" :is-show-tip="false" | ||
| 57 | :button-text="language==0?'上传':'Upload'"/> | ||
| 58 | </el-form-item> | ||
| 59 | <el-form-item :label="language==0?'抵达日期':'Date of Arrival'" required prop="arrival"> | ||
| 60 | <el-date-picker | ||
| 61 | v-model="form.arrival" placeholder="YYYY-MM-DD" | ||
| 62 | style="width: 100%;" | ||
| 63 | type="date" format="YYYY-MM-DD" value-format="YYYY-MM-DD" | ||
| 64 | /> | ||
| 65 | </el-form-item> | ||
| 66 | <el-form-item :label="language==0?'出发日期':'Date of Departure'" required prop="departure"> | ||
| 67 | <el-date-picker | ||
| 68 | v-model="form.departure" | ||
| 69 | style="width: 100%;" placeholder="YYYY-MM-DD" | ||
| 70 | type="date" format="YYYY-MM-DD" value-format="YYYY-MM-DD" | ||
| 71 | /> | ||
| 72 | </el-form-item> | ||
| 73 | <el-form-item :label="language==0?'备注':'Remark '"> | ||
| 74 | <el-input type="textarea" v-model="form.remark" rows="3"/> | ||
| 75 | </el-form-item> | ||
| 76 | |||
| 77 | <div class="text-center"> | ||
| 78 | <el-button type="primary" size="large" @click="submit" round class="btn-lineG"> | ||
| 79 | {{ language == 0 ? '提交' : 'SUBMIT' }} | ||
| 80 | </el-button> | ||
| 81 | </div> | ||
| 82 | </el-form> | ||
| 83 | </div> | ||
| 84 | </el-dialog> | ||
| 85 | |||
| 86 | </template> | ||
| 87 | |||
| 88 | <script setup> | ||
| 89 | import {useStorage} from "@vueuse/core/index"; | ||
| 90 | import {getCurrentInstance, watch} from "vue"; | ||
| 91 | import {nextTick} from "@vue/runtime-core"; | ||
| 92 | import {ElMessage, ElMessageBox} from "element-plus"; | ||
| 93 | import {addInvitation, countryList} from "@/apiPc/match"; | ||
| 94 | import ImageUpload from "@/components/ImageUpload"; | ||
| 95 | |||
| 96 | const {proxy} = getCurrentInstance() | ||
| 97 | const language = useStorage('language', 0) | ||
| 98 | const form = ref({ | ||
| 99 | gender:'0' | ||
| 100 | }) | ||
| 101 | const show = ref(false) | ||
| 102 | const showR = ref(false) | ||
| 103 | const title = ref('') | ||
| 104 | const countrys = ref([]) | ||
| 105 | const cptId = ref('') | ||
| 106 | const rules = ref( | ||
| 107 | { | ||
| 108 | nationality: [{required: true, trigger: 'change', message: language.value == 0 ? '请选择' : 'Please choose'},], | ||
| 109 | name: [{required: true, trigger: 'blur', message: language.value == 0 ? '请输入' : 'Please enter'},], | ||
| 110 | email: [{required: true, trigger: 'blur', message: language.value == 0 ? '请输入' : 'Please enter'},], | ||
| 111 | birth: [{required: true, trigger: 'change', message: language.value == 0 ? '请选择' : 'Please choose'},], | ||
| 112 | passportNo: [{required: true, trigger: 'blur', message: language.value == 0 ? '请输入' : 'Please enter'},], | ||
| 113 | passportCopy: [{required: true, trigger: 'blur', message: language.value == 0 ? '请上传' : 'Please Upload'},], | ||
| 114 | arrival: [{required: true, trigger: 'change', message: language.value == 0 ? '请选择' : 'Please choose'},], | ||
| 115 | departure: [{required: true, trigger: 'change', message: language.value == 0 ? '请选择' : 'Please choose'},], | ||
| 116 | }) | ||
| 117 | const open = (params) => { | ||
| 118 | console.log(params) | ||
| 119 | show.value = true | ||
| 120 | title.value = params.title | ||
| 121 | cptId.value = params.cptId | ||
| 122 | } | ||
| 123 | defineExpose({open}) | ||
| 124 | watch(show, (value) => { | ||
| 125 | if (!value) { | ||
| 126 | form.value = { | ||
| 127 | sex: '0' | ||
| 128 | } | ||
| 129 | if (language.value == 0) { | ||
| 130 | form.value.countryId = 240 | ||
| 131 | } | ||
| 132 | } | ||
| 133 | nextTick(() => { | ||
| 134 | // proxy.$refs['dialogRef'].clearValidate() | ||
| 135 | }) | ||
| 136 | }) | ||
| 137 | getCountryList() | ||
| 138 | |||
| 139 | function getCountryList() { | ||
| 140 | countryList().then(res => { | ||
| 141 | countrys.value = res.data | ||
| 142 | }) | ||
| 143 | } | ||
| 144 | |||
| 145 | const submit = () => { | ||
| 146 | proxy.$refs.iformRef.validate(valid => { | ||
| 147 | if (form.value.email.indexOf('@') == -1) { | ||
| 148 | if (language.value == 0) { | ||
| 149 | ElMessage.warning('请填写正确的邮箱') | ||
| 150 | } else { | ||
| 151 | ElMessage.warning('Please fill in the correct email') | ||
| 152 | } | ||
| 153 | return | ||
| 154 | } | ||
| 155 | if (valid) { | ||
| 156 | ElMessageBox.confirm( | ||
| 157 | language.value == 0 ? '请确认信息正确并提交吗?' : 'Please confirm that the information is correct and submit it', | ||
| 158 | language.value == 0 ? '提示' : 'Tips', { | ||
| 159 | confirmButtonText: language.value == 0 ? '确定' : 'Confirm', | ||
| 160 | cancelButtonText: language.value == 0 ? '取消' : 'Cancel', | ||
| 161 | type: 'warning' | ||
| 162 | }).then(() => { | ||
| 163 | form.value.cptId = cptId.value | ||
| 164 | if (Array.isArray(form.value.passportCopy)) { | ||
| 165 | form.value.passportCopy = form.value.passportCopy[0].url | ||
| 166 | } | ||
| 167 | addInvitation(form.value).then((res) => { | ||
| 168 | ElMessage.success(language.value == 0 ?'提交成功':'Successfully!') | ||
| 169 | showR.value = true | ||
| 170 | }) | ||
| 171 | }) | ||
| 172 | } | ||
| 173 | }) | ||
| 174 | } | ||
| 175 | const conti = () => { | ||
| 176 | showR.value = false | ||
| 177 | form.value = { | ||
| 178 | gender: '0' | ||
| 179 | } | ||
| 180 | } | ||
| 181 | </script> | ||
| 182 | |||
| 183 | <style scoped> | ||
| 184 | .boxInvitation { | ||
| 185 | width: 90%; | ||
| 186 | margin: auto | ||
| 187 | } | ||
| 188 | h4{font-size: 15px;line-height: 1.6;} | ||
| 189 | </style> |
| ... | @@ -35,7 +35,7 @@ | ... | @@ -35,7 +35,7 @@ |
| 35 | <el-input v-model="form.idcCode" @blur="giveBirthDay" :disabled="editgay&&form.idcType=='0'"/> | 35 | <el-input v-model="form.idcCode" @blur="giveBirthDay" :disabled="editgay&&form.idcType=='0'"/> |
| 36 | </el-form-item> | 36 | </el-form-item> |
| 37 | <el-form-item :label="language==0?'有效证件':'Valid Passport'" :required="form.idcType!='0'"> | 37 | <el-form-item :label="language==0?'有效证件':'Valid Passport'" :required="form.idcType!='0'"> |
| 38 | <file-upload v-model="form.passportUrl" :limit="1" :is-show-tip="false" /> | 38 | <image-upload v-model="form.passportUrl" :limit="1" :is-show-tip="false" /> |
| 39 | <span class="tip">*请上传有效证件扫描件</span> | 39 | <span class="tip">*请上传有效证件扫描件</span> |
| 40 | </el-form-item> | 40 | </el-form-item> |
| 41 | <el-form-item :label="language==0?'性别':'Gender'" prop="sex"> | 41 | <el-form-item :label="language==0?'性别':'Gender'" prop="sex"> | ... | ... |
| ... | @@ -56,7 +56,7 @@ | ... | @@ -56,7 +56,7 @@ |
| 56 | </el-select> | 56 | </el-select> |
| 57 | </el-form-item> | 57 | </el-form-item> |
| 58 | <el-form-item :label="language==0?'有效证件':'Valid Passport'" required> | 58 | <el-form-item :label="language==0?'有效证件':'Valid Passport'" required> |
| 59 | <file-upload v-model="form.passportUrl" :limit="1" :is-show-tip="false" | 59 | <image-upload v-model="form.passportUrl" :limit="1" :is-show-tip="false" |
| 60 | :button-text="language==0?'上传':'Upload'"/> | 60 | :button-text="language==0?'上传':'Upload'"/> |
| 61 | <div class="tip"> | 61 | <div class="tip"> |
| 62 | <span v-if="language==0">请上传有效身份证件扫描件,用于核实身份信息、申请签证邀请函及购买保险等</span> | 62 | <span v-if="language==0">请上传有效身份证件扫描件,用于核实身份信息、申请签证邀请函及购买保险等</span> | ... | ... |
| ... | @@ -78,7 +78,7 @@ | ... | @@ -78,7 +78,7 @@ |
| 78 | /> | 78 | /> |
| 79 | </el-form-item> | 79 | </el-form-item> |
| 80 | <el-form-item :label="language==0?'有效证件':'Valid Passport'" required> | 80 | <el-form-item :label="language==0?'有效证件':'Valid Passport'" required> |
| 81 | <file-upload v-model="form.passportUrl" :limit="1" :is-show-tip="false" | 81 | <image-upload v-model="form.passportUrl" :limit="1" :is-show-tip="false" |
| 82 | :button-text="language==0?'上传':'Upload'"/> | 82 | :button-text="language==0?'上传':'Upload'"/> |
| 83 | <div class="tip"> | 83 | <div class="tip"> |
| 84 | <span v-if="language==0">请上传有效身份证件扫描件,用于核实身份信息、申请签证邀请函及购买保险等 </span> | 84 | <span v-if="language==0">请上传有效身份证件扫描件,用于核实身份信息、申请签证邀请函及购买保险等 </span> | ... | ... |
| ... | @@ -72,7 +72,7 @@ | ... | @@ -72,7 +72,7 @@ |
| 72 | </el-radio-group> | 72 | </el-radio-group> |
| 73 | </el-form-item> | 73 | </el-form-item> |
| 74 | <el-form-item :label="language==0?'有效证件':'Valid Passport'" required> | 74 | <el-form-item :label="language==0?'有效证件':'Valid Passport'" required> |
| 75 | <file-upload v-model="wdsfData.passportUrl" :limit="1" :is-show-tip="false" | 75 | <image-upload v-model="wdsfData.passportUrl" :limit="1" :is-show-tip="false" |
| 76 | :button-text="language==0?'上传':'Upload'"/> | 76 | :button-text="language==0?'上传':'Upload'"/> |
| 77 | <div class="tip"> | 77 | <div class="tip"> |
| 78 | <span v-if="language==0">请上传有效身份证件扫描件,用于核实身份信息、申请签证邀请函及购买保险等</span> | 78 | <span v-if="language==0">请上传有效身份证件扫描件,用于核实身份信息、申请签证邀请函及购买保险等</span> | ... | ... |
-
Please register or sign in to post a comment