加人
Showing
7 changed files
with
54 additions
and
47 deletions
| 1 | <template> | 1 | <template> |
| 2 | <el-dialog | 2 | <el-dialog |
| 3 | v-model="show" :title="title" width="800px" append-to-body close-icon="CircleClose" center | 3 | v-model="show" :close-on-click-modal="false" :title="title" append-to-body center |
| 4 | :close-on-click-modal="false" class="pcloginpop" | 4 | class="pcloginpop" |
| 5 | destroy-on-close | 5 | close-icon="CircleClose" destroy-on-close |
| 6 | width="800px" | ||
| 6 | > | 7 | > |
| 7 | <!-- 随性人员--> | 8 | |
| 8 | <div class="pd10"></div> | 9 | <!-- 随性人员--> |
| 9 | <el-form ref="dialogRef" :model="form" :rules="language==0?rules:rules_cn" label-width="160px" inline> | 10 | <div class="pd10" /> |
| 11 | <el-form ref="dialogRef" :model="form" :rules="language==0?rules:rules_cn" inline label-width="160px"> | ||
| 10 | <el-row :gutter="30"> | 12 | <el-row :gutter="30"> |
| 11 | <el-col :lg="24"> | 13 | <el-col :lg="24"> |
| 12 | 14 | ||
| 13 | <el-form-item :label="language==0?'姓氏':'surname'" prop="xing" required> | 15 | <el-form-item :label="language==0?'姓氏':'surname'" prop="xing" required> |
| 14 | <el-input v-model="form.xing"/> | 16 | <el-input v-model="form.xing" /> |
| 15 | </el-form-item> | 17 | </el-form-item> |
| 16 | <el-form-item :label="language==0?'名':'name'" prop="ming" required> | 18 | <el-form-item :label="language==0?'名':'name'" prop="ming" required> |
| 17 | <el-input v-model="form.ming"/> | 19 | <el-input v-model="form.ming" /> |
| 18 | </el-form-item> | 20 | </el-form-item> |
| 19 | <!-- <el-form-item :label="language==0?'证件类型':'ID type'" prop="idcType" required>--> | 21 | <!-- <el-form-item :label="language==0?'证件类型':'ID type'" prop="idcType" required>--> |
| 20 | <!-- <el-select v-model="form.idcType" style="width: 100%;">--> | 22 | <!-- <el-select v-model="form.idcType" style="width: 100%;">--> |
| ... | @@ -27,16 +29,16 @@ | ... | @@ -27,16 +29,16 @@ |
| 27 | <!-- </el-select>--> | 29 | <!-- </el-select>--> |
| 28 | <!-- </el-form-item>--> | 30 | <!-- </el-form-item>--> |
| 29 | <el-form-item :label="language==0?'护照号':'PassPort Number'" prop="idcCode" required> | 31 | <el-form-item :label="language==0?'护照号':'PassPort Number'" prop="idcCode" required> |
| 30 | <el-input v-model="form.idcCode"/> | 32 | <el-input v-model="form.idcCode" /> |
| 31 | </el-form-item> | 33 | </el-form-item> |
| 32 | <el-form-item :label="language==0?'护照文件':'Passport File'" required> | 34 | <el-form-item :label="language==0?'护照文件':'Passport File'" required> |
| 33 | <file-upload v-model="form.passportUrl" :limit="1" :is-show-tip="false" :button-text="'Upload'"/> | 35 | <file-upload v-model="form.passportUrl" :button-text="'Upload'" :is-show-tip="false" :limit="1" /> |
| 34 | </el-form-item> | 36 | </el-form-item> |
| 35 | <el-form-item :label="language==0?'出生日期':'Date of Birth'" prop="birth" required> | 37 | <el-form-item :label="language==0?'出生日期':'Date of Birth'" prop="birth" required> |
| 36 | <el-date-picker | 38 | <el-date-picker |
| 37 | v-model="form.birth" | 39 | v-model="form.birth" |
| 38 | style="width: 100%;" | 40 | format="YYYY-MM-DD" |
| 39 | type="date" format="YYYY-MM-DD" value-format="YYYY-MM-DD" | 41 | style="width: 100%;" type="date" value-format="YYYY-MM-DD" |
| 40 | /> | 42 | /> |
| 41 | </el-form-item> | 43 | </el-form-item> |
| 42 | <el-form-item :label="language==0?'性别':'sex'" prop="sex"> | 44 | <el-form-item :label="language==0?'性别':'sex'" prop="sex"> |
| ... | @@ -48,7 +50,7 @@ | ... | @@ -48,7 +50,7 @@ |
| 48 | 50 | ||
| 49 | <el-form-item :label="language==0?'主要会员角色':'roles'" prop="labelArr"> | 51 | <el-form-item :label="language==0?'主要会员角色':'roles'" prop="labelArr"> |
| 50 | <el-select v-model="form.labelArr" multiple> | 52 | <el-select v-model="form.labelArr" multiple> |
| 51 | <el-option v-for="l in labels" :key="l.value" :value="l.value" :label="language==0?l.label:l.enlabel"/> | 53 | <el-option v-for="l in labels" :key="l.value" :label="language==0?l.label:l.enlabel" :value="l.value" /> |
| 52 | </el-select> | 54 | </el-select> |
| 53 | </el-form-item> | 55 | </el-form-item> |
| 54 | 56 | ||
| ... | @@ -58,7 +60,7 @@ | ... | @@ -58,7 +60,7 @@ |
| 58 | </el-form> | 60 | </el-form> |
| 59 | <template #footer> | 61 | <template #footer> |
| 60 | <div class="dialog-footer text-center"> | 62 | <div class="dialog-footer text-center"> |
| 61 | <el-button type="primary" class="btn-lineG w200px" round @click="submitForm">{{ | 63 | <el-button class="btn-lineG w200px" round type="primary" @click="submitForm">{{ |
| 62 | language == 0 ? '确定' : 'Save' | 64 | language == 0 ? '确定' : 'Save' |
| 63 | }} | 65 | }} |
| 64 | </el-button> | 66 | </el-button> |
| ... | @@ -68,16 +70,16 @@ | ... | @@ -68,16 +70,16 @@ |
| 68 | </template> | 70 | </template> |
| 69 | 71 | ||
| 70 | <script setup> | 72 | <script setup> |
| 71 | import {reactive, ref, toRefs, watch} from 'vue' | 73 | import { reactive, ref, toRefs, watch } from 'vue' |
| 72 | import {getCurrentInstance, nextTick, onMounted} from '@vue/runtime-core' | 74 | import { getCurrentInstance, nextTick, onMounted } from '@vue/runtime-core' |
| 73 | import * as match from '@/apiPc/match' | 75 | import * as match from '@/apiPc/match' |
| 74 | import {ElMessage} from 'element-plus' | 76 | import { ElMessage } from 'element-plus' |
| 75 | import {nationList} from '@/assets/js/data' | 77 | import { nationList } from '@/assets/js/data' |
| 76 | import _ from 'lodash' | 78 | import _ from 'lodash' |
| 77 | import cache from "@/plugins/cache"; | 79 | import cache from '@/plugins/cache' |
| 78 | import {useStorage} from "@vueuse/core/index"; | 80 | import { useStorage } from '@vueuse/core/index' |
| 79 | 81 | ||
| 80 | const language= useStorage('language',0) | 82 | const language = useStorage('language', 0) |
| 81 | const certificates = ref([ | 83 | const certificates = ref([ |
| 82 | { | 84 | { |
| 83 | value: '0', | 85 | value: '0', |
| ... | @@ -92,42 +94,42 @@ const certificates = ref([ | ... | @@ -92,42 +94,42 @@ const certificates = ref([ |
| 92 | label: language.value == 0 ? '其他' : 'Other' | 94 | label: language.value == 0 ? '其他' : 'Other' |
| 93 | } | 95 | } |
| 94 | ]) | 96 | ]) |
| 95 | const {proxy} = getCurrentInstance() | 97 | const { proxy } = getCurrentInstance() |
| 96 | const emit = defineEmits(['submitForm']) | 98 | const emit = defineEmits(['submitForm']) |
| 97 | const data = reactive({ | 99 | const data = reactive({ |
| 98 | form: { | 100 | form: { |
| 99 | idcType: '1', | 101 | idcType: '1', |
| 100 | sex:'0' | 102 | sex: '0' |
| 101 | }, | 103 | }, |
| 102 | rules: { | 104 | rules: { |
| 103 | xing: [{required: true, message: '必填', trigger: 'blur'}], | 105 | xing: [{ required: true, message: '必填', trigger: 'blur' }], |
| 104 | ming: [{required: true, message: '必填', trigger: 'blur'}], | 106 | ming: [{ required: true, message: '必填', trigger: 'blur' }], |
| 105 | idcCode: [{required: true, message: '必填', trigger: 'blur'}], | 107 | idcCode: [{ required: true, message: '必填', trigger: 'blur' }], |
| 106 | birth: [{required: true, message: '必填', trigger: 'change'}], | 108 | birth: [{ required: true, message: '必填', trigger: 'change' }], |
| 107 | sex: [{required: true, message: '必填', trigger: 'change'}], | 109 | sex: [{ required: true, message: '必填', trigger: 'change' }], |
| 108 | labelArr: [{required: true, message: '必填', trigger: 'blur'}] | 110 | labelArr: [{ required: true, message: '必填', trigger: 'blur' }] |
| 109 | }, | 111 | }, |
| 110 | rules_cn: { | 112 | rules_cn: { |
| 111 | xing: [{required: true, message: 'required', trigger: 'blur'}], | 113 | xing: [{ required: true, message: 'required', trigger: 'blur' }], |
| 112 | ming: [{required: true, message: 'required', trigger: 'blur'}], | 114 | ming: [{ required: true, message: 'required', trigger: 'blur' }], |
| 113 | idcCode: [{required: true, message: 'required', trigger: 'blur'}], | 115 | idcCode: [{ required: true, message: 'required', trigger: 'blur' }], |
| 114 | birth: [{required: true, message: 'required', trigger: 'change'}], | 116 | birth: [{ required: true, message: 'required', trigger: 'change' }], |
| 115 | address: [{required: true, message: 'required', trigger: 'blur'}], | 117 | address: [{ required: true, message: 'required', trigger: 'blur' }], |
| 116 | sex: [{required: true, message: 'required', trigger: 'change'}], | 118 | sex: [{ required: true, message: 'required', trigger: 'change' }], |
| 117 | labelArr: [{required: true, message: 'required', trigger: 'blur'}] | 119 | labelArr: [{ required: true, message: 'required', trigger: 'blur' }] |
| 118 | }, | 120 | }, |
| 119 | show: false, | 121 | show: false, |
| 120 | labels: [ | 122 | labels: [ |
| 121 | // {value: '0', label: '运动员', enlabel: 'Athletes'}, | 123 | // {value: '0', label: '运动员', enlabel: 'Athletes'}, |
| 122 | {value: '1', label: '教练', enlabel: 'Coach'}, | 124 | { value: '1', label: '教练', enlabel: 'Coach' }, |
| 123 | {value: '2', label: '领队', enlabel: 'Head of team'}, | 125 | { value: '2', label: '领队', enlabel: 'Head of team' }, |
| 124 | {value: '4', label: '队医', enlabel: 'Team doctor'}, | 126 | { value: '4', label: '队医', enlabel: 'Team doctor' }, |
| 125 | {value: '5', label: '翻译', enlabel: 'Interpreter'}, | 127 | { value: '5', label: '翻译', enlabel: 'Interpreter' }, |
| 126 | {value: '6', label: '官员', enlabel: 'Official'}, | 128 | { value: '6', label: '官员', enlabel: 'Official' }, |
| 127 | {value: '3', label: '其他', enlabel: 'Other'} | 129 | { value: '3', label: '其他', enlabel: 'Other' } |
| 128 | ], | 130 | ], |
| 129 | title: 'Add accompanying personnel', | 131 | title: 'Add accompanying personnel', |
| 130 | cptId:'' | 132 | cptId: '' |
| 131 | }) | 133 | }) |
| 132 | const { | 134 | const { |
| 133 | form, | 135 | form, |
| ... | @@ -157,7 +159,7 @@ const open = (params) => { | ... | @@ -157,7 +159,7 @@ const open = (params) => { |
| 157 | }) | 159 | }) |
| 158 | } | 160 | } |
| 159 | } | 161 | } |
| 160 | defineExpose({open}) | 162 | defineExpose({ open }) |
| 161 | watch(show, (value) => { | 163 | watch(show, (value) => { |
| 162 | if (!value) { | 164 | if (!value) { |
| 163 | form.value = {} | 165 | form.value = {} |
| ... | @@ -172,7 +174,7 @@ function submitForm() { | ... | @@ -172,7 +174,7 @@ function submitForm() { |
| 172 | ElMessage.warning('Please upload your passport file') | 174 | ElMessage.warning('Please upload your passport file') |
| 173 | return | 175 | return |
| 174 | } | 176 | } |
| 175 | if(Array.isArray(form.value.passportUrl)){ | 177 | if (Array.isArray(form.value.passportUrl)) { |
| 176 | form.value.passportUrl = form.value.passportUrl[0].url | 178 | form.value.passportUrl = form.value.passportUrl[0].url |
| 177 | } | 179 | } |
| 178 | proxy.$refs['dialogRef'].validate((valid) => { | 180 | proxy.$refs['dialogRef'].validate((valid) => { | ... | ... |
| ... | @@ -420,6 +420,7 @@ function submitForm() { | ... | @@ -420,6 +420,7 @@ function submitForm() { |
| 420 | } | 420 | } |
| 421 | 421 | ||
| 422 | function saveGroupMember() { | 422 | function saveGroupMember() { |
| 423 | form.value.personId = null | ||
| 423 | match.savePersonForMyGroup(form.value).then(res => { | 424 | match.savePersonForMyGroup(form.value).then(res => { |
| 424 | ElMessage.success(language.value == 0 ? '保存成功' : 'Save successful') | 425 | ElMessage.success(language.value == 0 ? '保存成功' : 'Save successful') |
| 425 | show.value = false | 426 | show.value = false | ... | ... |
| ... | @@ -493,6 +493,7 @@ function submitForm() { | ... | @@ -493,6 +493,7 @@ function submitForm() { |
| 493 | // 团队 | 493 | // 团队 |
| 494 | form.value.groupId = groupId.value | 494 | form.value.groupId = groupId.value |
| 495 | form.value.ocrFlag = '1' | 495 | form.value.ocrFlag = '1' |
| 496 | form.value.personId = null | ||
| 496 | match.savePersonForMyGroup(form.value).then(res => { | 497 | match.savePersonForMyGroup(form.value).then(res => { |
| 497 | ElMessage.success(language.value == 0 ? '保存成功' : 'Save successful') | 498 | ElMessage.success(language.value == 0 ? '保存成功' : 'Save successful') |
| 498 | show.value = false | 499 | show.value = false | ... | ... |
| ... | @@ -375,6 +375,7 @@ function submitForm() { | ... | @@ -375,6 +375,7 @@ function submitForm() { |
| 375 | if (groupId.value != 0) { | 375 | if (groupId.value != 0) { |
| 376 | // 团队 | 376 | // 团队 |
| 377 | form.value.groupId = groupId.value | 377 | form.value.groupId = groupId.value |
| 378 | form.value.personId = null | ||
| 378 | match.savePersonForMyGroup(form.value).then(res => { | 379 | match.savePersonForMyGroup(form.value).then(res => { |
| 379 | ElMessage.success(language.value == 0 ? '保存成功' : 'Save successful') | 380 | ElMessage.success(language.value == 0 ? '保存成功' : 'Save successful') |
| 380 | show.value = false | 381 | show.value = false | ... | ... |
| ... | @@ -346,6 +346,7 @@ function addPersonal() { | ... | @@ -346,6 +346,7 @@ function addPersonal() { |
| 346 | 346 | ||
| 347 | function addGroupMember() { | 347 | function addGroupMember() { |
| 348 | form.value.groupId = groupId | 348 | form.value.groupId = groupId |
| 349 | form.value.personId = null | ||
| 349 | match.savePersonForMyGroup(form.value).then(res => { | 350 | match.savePersonForMyGroup(form.value).then(res => { |
| 350 | ElMessage.success(language.value == 0 ? '保存成功' : 'Save successful') | 351 | ElMessage.success(language.value == 0 ? '保存成功' : 'Save successful') |
| 351 | show.value = false | 352 | show.value = false | ... | ... |
| ... | @@ -79,7 +79,9 @@ | ... | @@ -79,7 +79,9 @@ |
| 79 | @response="ocrSuccess" | 79 | @response="ocrSuccess" |
| 80 | /> | 80 | /> |
| 81 | <div class="tip"> | 81 | <div class="tip"> |
| 82 | <span v-if="language==0">请上传有效身份证件扫描件,用于核实身份信息、申请签证邀请函及购买保险等</span> | 82 | <span |
| 83 | v-if="language==0" | ||
| 84 | >请上传有效身份证件扫描件,用于核实身份信息、申请签证邀请函及购买保险等</span> | ||
| 83 | <span v-else>Please upload a scanned copy of your valid passport for verification of identity information, | 85 | <span v-else>Please upload a scanned copy of your valid passport for verification of identity information, |
| 84 | application of visa invitation letter and purchasing insurance etc.</span> | 86 | application of visa invitation letter and purchasing insurance etc.</span> |
| 85 | </div> | 87 | </div> |
| ... | @@ -430,7 +432,6 @@ function next() { | ... | @@ -430,7 +432,6 @@ function next() { |
| 430 | obj.passportUrl = wdsfData.value.passportUrl || '' | 432 | obj.passportUrl = wdsfData.value.passportUrl || '' |
| 431 | } | 433 | } |
| 432 | registerSingle(obj).then(res => { | 434 | registerSingle(obj).then(res => { |
| 433 | debugger | ||
| 434 | setToken(res.data.token) | 435 | setToken(res.data.token) |
| 435 | afterR() | 436 | afterR() |
| 436 | }) | 437 | }) | ... | ... |
-
Please register or sign in to post a comment