f873437f by zhangmeng

加人

1 parent 0e012f35
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">
...@@ -45,22 +47,22 @@ ...@@ -45,22 +47,22 @@
45 <el-radio value="1">{{ language == 0 ? '男' : 'male' }}</el-radio> 47 <el-radio value="1">{{ language == 0 ? '男' : 'male' }}</el-radio>
46 </el-radio-group> 48 </el-radio-group>
47 </el-form-item> 49 </el-form-item>
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
55 57
56 </el-col> 58 </el-col>
57 </el-row> 59 </el-row>
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>
65 </div> 67 </div>
66 </template> 68 </template>
...@@ -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) => {
...@@ -205,12 +207,12 @@ function cancel() { ...@@ -205,12 +207,12 @@ function cancel() {
205 <style lang="scss"> 207 <style lang="scss">
206 .threeFour { 208 .threeFour {
207 width: 100%; 209 width: 100%;
208 210
209 .el-upload--picture-card { 211 .el-upload--picture-card {
210 width: 120px; 212 width: 120px;
211 height: 160px; 213 height: 160px;
212 } 214 }
213 215
214 .el-upload-list--picture-card .el-upload-list__item { 216 .el-upload-list--picture-card .el-upload-list__item {
215 width: 120px; 217 width: 120px;
216 height: 160px; 218 height: 160px;
...@@ -221,7 +223,7 @@ function cancel() { ...@@ -221,7 +223,7 @@ function cancel() {
221 font-size: 13px; 223 font-size: 13px;
222 color: #999; 224 color: #999;
223 margin: 10px 0; 225 margin: 10px 0;
224 226
225 i { 227 i {
226 color: red; 228 color: red;
227 margin: 0 4px 0 0; 229 margin: 0 4px 0 0;
...@@ -233,7 +235,7 @@ function cancel() { ...@@ -233,7 +235,7 @@ function cancel() {
233 width: 320px; 235 width: 320px;
234 height: 200px; 236 height: 200px;
235 } 237 }
236 238
237 .el-upload-list--picture-card .el-upload-list__item { 239 .el-upload-list--picture-card .el-upload-list__item {
238 width: 320px; 240 width: 320px;
239 height: 200px; 241 height: 200px;
...@@ -252,7 +254,7 @@ function cancel() { ...@@ -252,7 +254,7 @@ function cancel() {
252 width: 140px; 254 width: 140px;
253 height: 200px; 255 height: 200px;
254 } 256 }
255 257
256 } 258 }
257 259
258 .el-form--inline .el-form-item { 260 .el-form--inline .el-form-item {
...@@ -265,7 +267,7 @@ function cancel() { ...@@ -265,7 +267,7 @@ function cancel() {
265 background: linear-gradient(#ed2c22, #fe6d45); 267 background: linear-gradient(#ed2c22, #fe6d45);
266 margin-right: 0; 268 margin-right: 0;
267 height: 52px; 269 height: 52px;
268 270
269 span { 271 span {
270 color: #fff; 272 color: #fff;
271 } 273 }
......
...@@ -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
......
...@@ -162,7 +162,7 @@ const ocrSuccess = (res) => { ...@@ -162,7 +162,7 @@ const ocrSuccess = (res) => {
162 162
163 if (res.data.msg) { 163 if (res.data.msg) {
164 return proxy.$modal.msgWarning(res.data.msg 164 return proxy.$modal.msgWarning(res.data.msg
165 ) 165 )
166 } 166 }
167 } 167 }
168 168
......
...@@ -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 })
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!