Commit 6efe1a3b2009479a6d82de9609c2d2ae6fb67963
1 parent
de222c84
Exists in
master
feat: 出行人新增性别,选家长时提示
Showing
9 changed files
with
52 additions
and
337 deletions
 
Show diff stats
src/App.vue
src/component/Tabbar.vue
| ... | ... | @@ -1,102 +0,0 @@ | 
| 1 | -<template> | |
| 2 | - <div id="tabbar"> | |
| 3 | - <div class="tab" :class="active=='lecture'?'active':''" @click="handleLecture"> | |
| 4 | - <img v-if="active=='lecture'" src="../assets/tabbar1/tab1_on.png" alt=""> | |
| 5 | - <img v-else src="../assets/tabbar1/tab1_off.png" alt=""> | |
| 6 | - <p>公益讲座</p> | |
| 7 | - </div> | |
| 8 | - <div class="center"> | |
| 9 | - <img class="tip" src="../assets/tabbar1/tab2.png" alt=""> | |
| 10 | - <wx-open-launch-weapp id="launch-btn" username="gh_c0f904a5ee0c" path="pages/index/index?type=zkedt"> | |
| 11 | - <script type="text/wxtag-template"> | |
| 12 | - <style>.mini_btn { width:500px;height:500px;background:transparent;border:0; }</style> | |
| 13 | - <button class="mini_btn"></button> | |
| 14 | - </script> | |
| 15 | - </wx-open-launch-weapp> | |
| 16 | - </div> | |
| 17 | - <div class="tab"> | |
| 18 | - <div class="block"></div> | |
| 19 | - <p>志愿填报</p> | |
| 20 | - </div> | |
| 21 | - <div class="tab" :class="active=='center'?'active':''" @click="handleCenter"> | |
| 22 | - <img v-if="active=='center'" src="../assets/tabbar1/tab3_on.png" alt=""> | |
| 23 | - <img v-else src="../assets/tabbar1/tab3_off.png" alt=""> | |
| 24 | - <p>个人中心</p> | |
| 25 | - </div> | |
| 26 | - </div> | |
| 27 | -</template> | |
| 28 | -<script> | |
| 29 | -export default { | |
| 30 | - name:'Tabbar', | |
| 31 | - props:{ | |
| 32 | - active:String | |
| 33 | - }, | |
| 34 | - mounted(){ | |
| 35 | - console.log(this.active) | |
| 36 | - }, | |
| 37 | - methods:{ | |
| 38 | - // 点击讲座 | |
| 39 | - handleLecture(){ | |
| 40 | - this.$router.push({name:'Lecture'}) | |
| 41 | - }, | |
| 42 | - // 点击个人中心 | |
| 43 | - handleCenter(){ | |
| 44 | - this.$router.push({name:'Home'}) | |
| 45 | - } | |
| 46 | - } | |
| 47 | -} | |
| 48 | -</script> | |
| 49 | -<style lang="scss"> | |
| 50 | -#tabbar { | |
| 51 | - position: fixed; | |
| 52 | - bottom: 0; | |
| 53 | - width: 100%; | |
| 54 | - height: 100px; | |
| 55 | - background: #fff; | |
| 56 | - display: flex; | |
| 57 | - justify-content: space-around; | |
| 58 | - padding-bottom: 40px; | |
| 59 | - .tab { | |
| 60 | - | |
| 61 | - padding: 18px; | |
| 62 | - img { | |
| 63 | - width: 52px; | |
| 64 | - display: block; | |
| 65 | - margin: 0 auto; | |
| 66 | - } | |
| 67 | - .block{ | |
| 68 | - width: 52px; | |
| 69 | - height: 52px; | |
| 70 | - } | |
| 71 | - p { | |
| 72 | - font-size: 20px; | |
| 73 | - color: #999999; | |
| 74 | - text-align: center; | |
| 75 | - } | |
| 76 | - &.active{ | |
| 77 | - p{ | |
| 78 | - color: #5789FF; | |
| 79 | - } | |
| 80 | - } | |
| 81 | - } | |
| 82 | - .center { | |
| 83 | - width: 92px; | |
| 84 | - height: 92px; | |
| 85 | - padding: 30px; | |
| 86 | - background: transparent; | |
| 87 | - position: absolute; | |
| 88 | - top: -60px; | |
| 89 | - left: 299px; | |
| 90 | - overflow: hidden; | |
| 91 | - z-index: 1; | |
| 92 | - .tip { | |
| 93 | - width: 92px; | |
| 94 | - position: absolute; | |
| 95 | - top: 50%; | |
| 96 | - left: 50%; | |
| 97 | - transform: translate(-50%, -50%); | |
| 98 | - z-index: -1; | |
| 99 | - } | |
| 100 | - } | |
| 101 | -} | |
| 102 | -</style> | |
| 103 | 0 | \ No newline at end of file | 
src/component/Tabbar2.vue
| ... | ... | @@ -1,109 +0,0 @@ | 
| 1 | -<template> | |
| 2 | - <div id="tabbar"> | |
| 3 | - <div class="tab" :class="active=='databook'?'active':''" @click="handleDataBook"> | |
| 4 | - <img v-if="active=='databook'" src="../assets/tabbar2/tab1_on.png" alt=""> | |
| 5 | - <img v-else src="../assets/tabbar2/tab1_off.png" alt=""> | |
| 6 | - <p>数据宝典</p> | |
| 7 | - </div> | |
| 8 | - <div class="tab" :class="active=='careerplan'?'active':''" @click="handleCareerPlan"> | |
| 9 | - <img v-if="active=='careerplan'" src="../assets/tabbar2/tab2_on.png" alt=""> | |
| 10 | - <img v-else src="../assets/tabbar2/tab2_off.png" alt=""> | |
| 11 | - <p>生涯规划</p> | |
| 12 | - </div> | |
| 13 | - <!-- <div class="tab" :class="active=='community'?'active':''" @click="handleCommunity"> | |
| 14 | - <img v-if="active=='community'" src="../assets/tabbar2/tab3_on.png" alt=""> | |
| 15 | - <img v-else src="../assets/tabbar2/tab3_off.png" alt=""> | |
| 16 | - <p>社区</p> | |
| 17 | - </div> --> | |
| 18 | - <div class="tab" :class="active=='service'?'active':''" @click="handleService"> | |
| 19 | - <img v-if="active=='service'" src="../assets/tabbar2/tab3_on.png" alt=""> | |
| 20 | - <img v-else src="../assets/tabbar2/tab3_off.png" alt=""> | |
| 21 | - <p>服务活动</p> | |
| 22 | - </div> | |
| 23 | - <div class="tab" :class="active=='center'?'active':''" @click="handleCenter"> | |
| 24 | - <img v-if="active=='center'" src="../assets/tabbar2/tab4_on.png" alt=""> | |
| 25 | - <img v-else src="../assets/tabbar2/tab4_off.png" alt=""> | |
| 26 | - <p>个人中心</p> | |
| 27 | - </div> | |
| 28 | - </div> | |
| 29 | -</template> | |
| 30 | -<script> | |
| 31 | -export default { | |
| 32 | - name: 'Tabbar2', | |
| 33 | - props: { | |
| 34 | - active: String | |
| 35 | - }, | |
| 36 | - methods: { | |
| 37 | - handleDataBook () { | |
| 38 | - this.$router.push({ name: 'DataBook' }) | |
| 39 | - }, | |
| 40 | - handleCareerPlan () { | |
| 41 | - this.$router.push({ name: 'CareerPlan' }) | |
| 42 | - }, | |
| 43 | - handleCommunity () { | |
| 44 | - this.$router.push({ name: 'Community' }) | |
| 45 | - }, | |
| 46 | - handleService () { | |
| 47 | - this.$router.push({ name: 'Service' }) | |
| 48 | - }, | |
| 49 | - handleCenter(){ | |
| 50 | - this.$router.push({ name: 'Home' }) | |
| 51 | - } | |
| 52 | - } | |
| 53 | -} | |
| 54 | -</script> | |
| 55 | -<style lang="scss" scoped> | |
| 56 | -#tabbar { | |
| 57 | - position: fixed; | |
| 58 | - bottom: 0; | |
| 59 | - width: 100%; | |
| 60 | - height: 100px; | |
| 61 | - background: #fff; | |
| 62 | - display: flex; | |
| 63 | - justify-content: space-around; | |
| 64 | - padding-bottom: 40px; | |
| 65 | - z-index: 99; | |
| 66 | - .tab { | |
| 67 | - padding: 18px; | |
| 68 | - img { | |
| 69 | - width: 36px; | |
| 70 | - padding: 20px; | |
| 71 | - display: block; | |
| 72 | - margin: 0 auto; | |
| 73 | - } | |
| 74 | - .block { | |
| 75 | - width: 52px; | |
| 76 | - height: 52px; | |
| 77 | - } | |
| 78 | - p { | |
| 79 | - font-size: 20px; | |
| 80 | - color: #999999; | |
| 81 | - text-align: center; | |
| 82 | - } | |
| 83 | - &.active { | |
| 84 | - p { | |
| 85 | - color: #5789ff; | |
| 86 | - } | |
| 87 | - } | |
| 88 | - } | |
| 89 | - .center { | |
| 90 | - width: 92px; | |
| 91 | - height: 92px; | |
| 92 | - padding: 30px; | |
| 93 | - background: transparent; | |
| 94 | - position: absolute; | |
| 95 | - top: -60px; | |
| 96 | - left: 299px; | |
| 97 | - overflow: hidden; | |
| 98 | - z-index: 1; | |
| 99 | - .tip { | |
| 100 | - width: 92px; | |
| 101 | - position: absolute; | |
| 102 | - top: 50%; | |
| 103 | - left: 50%; | |
| 104 | - transform: translate(-50%, -50%); | |
| 105 | - z-index: -1; | |
| 106 | - } | |
| 107 | - } | |
| 108 | -} | |
| 109 | -</style> | |
| 110 | 0 | \ No newline at end of file | 
src/component/Tabbar3.vue
| ... | ... | @@ -1,96 +0,0 @@ | 
| 1 | -<template> | |
| 2 | - <div id="tabbar"> | |
| 3 | - <div class="tab" :class="active=='ZZY'?'active':''" @click="handZZY"> | |
| 4 | - <img v-if="active=='ZZY'" src="../assets/tabbar2/tab2_on.png" alt=""> | |
| 5 | - <img v-else src="../assets/tabbar2/tab2_off.png" alt=""> | |
| 6 | - <p>周周营</p> | |
| 7 | - </div> | |
| 8 | - <div class="tab" :class="active=='QXY'?'active':''" @click="handleQYX"> | |
| 9 | - <img v-if="active=='QXY'" src="../assets/tabbar2/tab3_on.png" alt=""> | |
| 10 | - <img v-else src="../assets/tabbar2/tab3_off.png" alt=""> | |
| 11 | - <p>趣学院</p> | |
| 12 | - </div> | |
| 13 | - <div class="tab" :class="active=='center'?'active':''" @click="handleCenter"> | |
| 14 | - <img v-if="active=='center'" src="../assets/tabbar2/tab4_on.png" alt=""> | |
| 15 | - <img v-else src="../assets/tabbar2/tab4_off.png" alt=""> | |
| 16 | - <p>我的</p> | |
| 17 | - </div> | |
| 18 | - </div> | |
| 19 | -</template> | |
| 20 | -<script> | |
| 21 | -export default { | |
| 22 | - name: 'Tabbar3', | |
| 23 | - props: { | |
| 24 | - active: String | |
| 25 | - }, | |
| 26 | - methods: { | |
| 27 | - handZZY () { | |
| 28 | - let publicName = sessionStorage.getItem('publicName'); | |
| 29 | - this.$router.push({ name: 'Service' + publicName, query: { showTab: 'ZZY' } }) | |
| 30 | - }, | |
| 31 | - handleQYX () { | |
| 32 | - let publicName = sessionStorage.getItem('publicName'); | |
| 33 | - this.$router.push({ name: 'Service' + publicName, query: { showTab: 'QXY' } }) | |
| 34 | - }, | |
| 35 | - handleCenter () { | |
| 36 | - let publicName = sessionStorage.getItem('publicName'); | |
| 37 | - this.$router.push({ name: 'Home'+publicName }) | |
| 38 | - } | |
| 39 | - } | |
| 40 | -} | |
| 41 | -</script> | |
| 42 | -<style lang="scss" scoped> | |
| 43 | -#tabbar { | |
| 44 | - position: fixed; | |
| 45 | - bottom: 0; | |
| 46 | - width: 100%; | |
| 47 | - height: 100px; | |
| 48 | - background: #fff; | |
| 49 | - display: flex; | |
| 50 | - justify-content: space-around; | |
| 51 | - padding-bottom: 40px; | |
| 52 | - z-index: 99; | |
| 53 | - .tab { | |
| 54 | - padding: 18px; | |
| 55 | - img { | |
| 56 | - width: 36px; | |
| 57 | - padding: 20px; | |
| 58 | - display: block; | |
| 59 | - margin: 0 auto; | |
| 60 | - } | |
| 61 | - .block { | |
| 62 | - width: 52px; | |
| 63 | - height: 52px; | |
| 64 | - } | |
| 65 | - p { | |
| 66 | - font-size: 20px; | |
| 67 | - color: #999999; | |
| 68 | - text-align: center; | |
| 69 | - } | |
| 70 | - &.active { | |
| 71 | - p { | |
| 72 | - color: #5789ff; | |
| 73 | - } | |
| 74 | - } | |
| 75 | - } | |
| 76 | - .center { | |
| 77 | - width: 92px; | |
| 78 | - height: 92px; | |
| 79 | - padding: 30px; | |
| 80 | - background: transparent; | |
| 81 | - position: absolute; | |
| 82 | - top: -60px; | |
| 83 | - left: 299px; | |
| 84 | - overflow: hidden; | |
| 85 | - z-index: 1; | |
| 86 | - .tip { | |
| 87 | - width: 92px; | |
| 88 | - position: absolute; | |
| 89 | - top: 50%; | |
| 90 | - left: 50%; | |
| 91 | - transform: translate(-50%, -50%); | |
| 92 | - z-index: -1; | |
| 93 | - } | |
| 94 | - } | |
| 95 | -} | |
| 96 | -</style> | |
| 97 | 0 | \ No newline at end of file | 
src/component/Tabbar4.vue
| ... | ... | @@ -25,16 +25,13 @@ export default { | 
| 25 | 25 | }, | 
| 26 | 26 | methods: { | 
| 27 | 27 | handZZY () { | 
| 28 | - let publicName = sessionStorage.getItem('publicName'); | |
| 29 | - this.$router.push({ name: 'Service' + publicName, query: { showTab: 'ZZY' } }) | |
| 28 | + this.$router.push({ name: 'ServiceKQ', query: { showTab: 'ZZY' } }) | |
| 30 | 29 | }, | 
| 31 | 30 | handleKQ () { | 
| 32 | - let publicName = sessionStorage.getItem('publicName'); | |
| 33 | - this.$router.push({ name: 'Service' + publicName, query: { showTab: 'KQ' } }) | |
| 31 | + this.$router.push({ name: 'ServiceKQ', query: { showTab: 'KQ' } }) | |
| 34 | 32 | }, | 
| 35 | 33 | handleCenter () { | 
| 36 | - let publicName = sessionStorage.getItem('publicName'); | |
| 37 | - this.$router.push({ name: 'Home'+publicName }) | |
| 34 | + this.$router.push({ name: 'HomeKQ' }) | |
| 38 | 35 | } | 
| 39 | 36 | } | 
| 40 | 37 | } | ... | ... | 
src/router/index.js
| ... | ... | @@ -195,7 +195,7 @@ const routes = [{ | 
| 195 | 195 | name: 'SelectContact', | 
| 196 | 196 | component: SelectContact, | 
| 197 | 197 | meta: { | 
| 198 | - title: '选择联系人' | |
| 198 | + title: '选择出行人' | |
| 199 | 199 | } | 
| 200 | 200 | }, | 
| 201 | 201 | { | 
| ... | ... | @@ -203,7 +203,7 @@ const routes = [{ | 
| 203 | 203 | name: 'EditContact', | 
| 204 | 204 | component: EditContact, | 
| 205 | 205 | meta: { | 
| 206 | - title: '修改联系人' | |
| 206 | + title: '修改出行人' | |
| 207 | 207 | } | 
| 208 | 208 | }, | 
| 209 | 209 | { | 
| ... | ... | @@ -224,7 +224,7 @@ const routes = [{ | 
| 224 | 224 | }, | 
| 225 | 225 | ] | 
| 226 | 226 | const router = new VueRouter({ | 
| 227 | - mode: 'history', | |
| 227 | + mode: 'hash', | |
| 228 | 228 | // base: process.env.BASE_URL+'/center', | 
| 229 | 229 | base: process.env.BASE_URL, | 
| 230 | 230 | routes | ... | ... | 
src/views/PublicService/ServiceKQ.vue
| ... | ... | @@ -24,13 +24,13 @@ export default { | 
| 24 | 24 | // sessionStorage.setItem('prePage', 'Service' + this.publicName); | 
| 25 | 25 | // sessionStorage.setItem('unionId', 'oJPmPuLaAx2x2DaRGfCFeYuLWzLU'); | 
| 26 | 26 | const sUserAgent = window.navigator.userAgent.toLowerCase() | 
| 27 | - alert(sUserAgent) | |
| 27 | + // alert(sUserAgent) | |
| 28 | 28 | console.log(sUserAgent) | 
| 29 | 29 | const dtdreamweb = sUserAgent.indexOf("dtdreamweb") > -1 | 
| 30 | 30 | const miniprogram = sUserAgent.indexOf("miniprogram") > -1 && sUserAgent.indexOf("alipay") > -1 | 
| 31 | 31 | if (dtdreamweb) { | 
| 32 | 32 | alert('浙里办') | 
| 33 | - // window.location.href = `https://puser.zjzwfw.gov.cn/sso/mobile.do?action=oauth&scope=1&servicecode=hswsy`; | |
| 33 | + window.location.href = `https://puser.zjzwfw.gov.cn/sso/mobile.do?action=oauth&scope=1&servicecode=hswsy`; | |
| 34 | 34 | } | 
| 35 | 35 | |
| 36 | 36 | if (miniprogram) { | ... | ... | 
src/views/Service/EditContact.vue
| ... | ... | @@ -4,6 +4,14 @@ | 
| 4 | 4 | <van-cell-group> | 
| 5 | 5 | <van-field v-model="userTypeName" label="身份类型" readonly /> | 
| 6 | 6 | <van-field v-model="travelerName" label="姓名" placeholder="需与证件姓名一致" /> | 
| 7 | + <van-cell title="性别"> | |
| 8 | + <template #right-icon> | |
| 9 | + <van-radio-group v-model="gender" direction="horizontal" style="width:67%;"> | |
| 10 | + <van-radio name="1">男</van-radio> | |
| 11 | + <van-radio name="2">女</van-radio> | |
| 12 | + </van-radio-group> | |
| 13 | + </template> | |
| 14 | + </van-cell> | |
| 7 | 15 | <van-field v-model="phone" label="手机号码" maxlength="11" placeholder="请填写手机号码" /> | 
| 8 | 16 | <van-field v-model="travelerIdCard" label="身份证" maxlength="18" placeholder="请填写证件号码" /> | 
| 9 | 17 | </van-cell-group> | 
| ... | ... | @@ -18,9 +26,10 @@ export default { | 
| 18 | 26 | return { | 
| 19 | 27 | id: '', | 
| 20 | 28 | userType: '', | 
| 21 | - userTypeName:'', | |
| 29 | + userTypeName: '', | |
| 22 | 30 | travelerName: '', | 
| 23 | 31 | phone: '', | 
| 32 | + gender: '', | |
| 24 | 33 | travelerIdCard: '', | 
| 25 | 34 | travelerNum: '' | 
| 26 | 35 | } | 
| ... | ... | @@ -45,6 +54,10 @@ export default { | 
| 45 | 54 | methods: { | 
| 46 | 55 | // 确认 | 
| 47 | 56 | addContact () { | 
| 57 | + if (!this.gender) { | |
| 58 | + this.$toast('请选择性别') | |
| 59 | + return; | |
| 60 | + } | |
| 48 | 61 | if (!this.phone) { | 
| 49 | 62 | this.$toast('请输入手机号') | 
| 50 | 63 | return; | 
| ... | ... | @@ -66,7 +79,8 @@ export default { | 
| 66 | 79 | contactsName: this.travelerName, | 
| 67 | 80 | contactsMobile: this.phone, | 
| 68 | 81 | contactsIdCard: this.travelerIdCard, | 
| 69 | - contactsType: this.userType | |
| 82 | + contactsType: this.userType, | |
| 83 | + gender:Number(this.gender) | |
| 70 | 84 | } | 
| 71 | 85 | this.$toast.loading({ | 
| 72 | 86 | message: '加载中', | 
| ... | ... | @@ -77,7 +91,7 @@ export default { | 
| 77 | 91 | this.$toast.clear() | 
| 78 | 92 | if (res.data.code == 200) { | 
| 79 | 93 | this.$toast.success('完善成功') | 
| 80 | - this.$router.back() | |
| 94 | + this.$router.back() | |
| 81 | 95 | } else { | 
| 82 | 96 | this.$toast.fail(res.message) | 
| 83 | 97 | } | ... | ... | 
src/views/Service/SelectContact.vue
| ... | ... | @@ -2,18 +2,19 @@ | 
| 2 | 2 | <div id="selectContact"> | 
| 3 | 3 | <div class="box"> | 
| 4 | 4 | <template v-for="(item,index) in contactList"> | 
| 5 | - <div class="contact_item" v-if="!hideParent&&item.userType!=1||item.userType==1" :key="index"> | |
| 6 | - <van-icon class="edit" name="edit" @click="editContact(index)" /> | |
| 7 | - <div class="info"> | |
| 8 | - <p class="name">{{item.travelerName}}<span v-if="!item.travelerIdCard">需完善</span></p> | |
| 9 | - <p class="des">{{item.userType==1?'学生':'家长'}}·{{item.travelerMobile}}</p> | |
| 5 | + <div class="contact_item" v-if="!hideParent&&item.userType!=1||item.userType==1" :key="index"> | |
| 6 | + <van-icon class="edit" name="edit" @click="editContact(index)" /> | |
| 7 | + <div class="info"> | |
| 8 | + <p class="name">{{item.travelerName}}<span v-if="!item.travelerIdCard||!item.gender">需完善</span></p> | |
| 9 | + <p class="des">{{item.userType==1?'学生':'家长'}}·{{item.travelerMobile}}</p> | |
| 10 | + </div> | |
| 11 | + <van-checkbox v-if="item.userType==1" class="checkbox" v-model="item.checked" shape="square"></van-checkbox> | |
| 12 | + <van-checkbox v-else class="checkbox" v-model="item.checked" @change="checkboxChange" shape="square"></van-checkbox> | |
| 10 | 13 | </div> | 
| 11 | - <van-checkbox class="checkbox" v-model="item.checked" shape="square"></van-checkbox> | |
| 12 | - </div> | |
| 13 | 14 | </template> | 
| 14 | 15 | <div class="add_btn" @click="showAddChildPopupGroup=true"> | 
| 15 | 16 | <van-icon name="add-o" /> | 
| 16 | - 新增联系人 | |
| 17 | + 新增出行学生 | |
| 17 | 18 | </div> | 
| 18 | 19 | </div> | 
| 19 | 20 | <van-button class="btn" type="primary" @click="selectContact">确定</van-button> | 
| ... | ... | @@ -24,18 +25,19 @@ | 
| 24 | 25 | </template> | 
| 25 | 26 | <script> | 
| 26 | 27 | import AddChildPopupGroup from '@/views/PublicHome/component/AddChildPopupGroup' | 
| 28 | +import { Dialog } from 'vant'; | |
| 27 | 29 | export default { | 
| 28 | 30 | data () { | 
| 29 | 31 | return { | 
| 30 | - limit:'', | |
| 31 | - hideParent:false, | |
| 32 | + limit: '', | |
| 33 | + hideParent: false, | |
| 32 | 34 | contactList: [], | 
| 33 | 35 | showAddChildPopupGroup: false | 
| 34 | 36 | } | 
| 35 | 37 | }, | 
| 36 | 38 | mounted () { | 
| 37 | 39 | this.limit = this.$route.query.limit; | 
| 38 | - this.hideParent = this.$route.query.hideParent?true:false; | |
| 40 | + this.hideParent = this.$route.query.hideParent ? true : false; | |
| 39 | 41 | console.log(this.hideParent) | 
| 40 | 42 | this.getContactList() | 
| 41 | 43 | }, | 
| ... | ... | @@ -58,7 +60,8 @@ export default { | 
| 58 | 60 | travelerNum: userInfo?.centerNo, | 
| 59 | 61 | travelerIdCard: userInfo?.idCard, | 
| 60 | 62 | userType: 2, | 
| 61 | - travelerName: userInfo?.nickName | |
| 63 | + travelerName: userInfo?.nickName, | |
| 64 | + gender: userInfo?.gender, | |
| 62 | 65 | }) | 
| 63 | 66 | this.contactList = contactList | 
| 64 | 67 | } | 
| ... | ... | @@ -87,7 +90,7 @@ export default { | 
| 87 | 90 | let selectedArr = []; | 
| 88 | 91 | for (let i in contactList) { | 
| 89 | 92 | if (contactList[i]?.checked) { | 
| 90 | - if (!contactList[i].travelerIdCard&&!this.hideParent) { | |
| 93 | + if ((!contactList[i].travelerIdCard||!contactList[i].gender) && !this.hideParent) { | |
| 91 | 94 | this.$toast('请先完善您选择的联系人信息') | 
| 92 | 95 | return; | 
| 93 | 96 | } else { | 
| ... | ... | @@ -99,7 +102,7 @@ export default { | 
| 99 | 102 | } | 
| 100 | 103 | } | 
| 101 | 104 | } | 
| 102 | - console.log(this.limit,selectedArr.length) | |
| 105 | + console.log(this.limit, selectedArr.length) | |
| 103 | 106 | if (this.limit && this.limit != selectedArr.length) { | 
| 104 | 107 | this.$toast(`请选择${this.limit}位联系人`) | 
| 105 | 108 | return; | 
| ... | ... | @@ -107,6 +110,15 @@ export default { | 
| 107 | 110 | // console.log(selectedArr) | 
| 108 | 111 | sessionStorage.setItem('selectedContactArr', JSON.stringify(selectedArr)) | 
| 109 | 112 | this.$router.back() | 
| 113 | + }, | |
| 114 | + checkboxChange (e) { | |
| 115 | + if (e == true) { | |
| 116 | + Dialog.alert({ | |
| 117 | + title: '温馨提示', | |
| 118 | + message: '活动参与主体为学生本人,请选择出行学生!未绑定学生,请新增出行学生进行添加。', | |
| 119 | + confirmButtonColor:'#3385FF' | |
| 120 | + }) | |
| 121 | + } | |
| 110 | 122 | } | 
| 111 | 123 | }, | 
| 112 | 124 | components: { | ... | ... | 
