提交 5da75d0d authored 作者: lihuihui's avatar lihuihui

校友圈修改

上级 9c6a9fcd
...@@ -287,3 +287,28 @@ export function readMessage(id) { ...@@ -287,3 +287,28 @@ export function readMessage(id) {
export function getPopular() { export function getPopular() {
return httpRequest.get('/api/alumni/v1/organization/recommend') return httpRequest.get('/api/alumni/v1/organization/recommend')
} }
// 勾选协议
export function agreementCheck() {
return httpRequest.post('/api/alumni/v1/student/agreement/check')
}
// 判断是否勾选协议
export function isAgreementCheck() {
return httpRequest.get('/api/alumni/v1/student/agreement/read')
}
// 完善资料
export function studenUpdate(data) {
return httpRequest.post('/api/alumni/v1/student/update', data)
}
// 获取学员信息
export function getStudentInfo(id) {
return httpRequest.get(`/api/alumni/v1/student/detail/${id}`)
}
// 判断资料是否完善
export function isCompleteInfo() {
return httpRequest.get(`/api/alumni/v1/student/complete/data`)
}
\ No newline at end of file
...@@ -7,12 +7,27 @@ ...@@ -7,12 +7,27 @@
<div class="activity-item-main"> <div class="activity-item-main">
<div class="activity-item-title">{{ data.activity_name }}</div> <div class="activity-item-title">{{ data.activity_name }}</div>
<div class="activity-item-content"> <div class="activity-item-content">
<p>{{ data.activity_city }} · {{ data.org_name }} · {{ data.stu_nums }}人参与</p> <p>组织名称:{{ data.org_name }}</p>
<p>{{ data.activity_time | dateFormat }}</p> <p>{{ data.activity_time | dateFormat }}</p>
<p>{{ data.activity_city }}</p>
</div> </div>
</div> </div>
<div class="activity-item-status" v-html="statusText"></div> <div class="activity-item-status" v-html="statusText"></div>
</div> </div>
<!-- <div class="activity-item" @click="onClick">
<div class="activity-item-index" :class="topClass" v-if="showIndex && index < 3"></div>
<div class="activity-item-pic">
<img :src="data.activity_image" v-if="data.activity_image" />
</div>
<div class="activity-item-main">
<div class="activity-item-title">{{ data.activity_name }}</div>
<div class="activity-item-content">
<p>{{ data.activity_city }} · {{ data.org_name }} · {{ data.stu_nums }}人参与</p>
<p>{{ data.activity_time | dateFormat }}</p>
</div>
</div>
<div class="activity-item-status" v-html="statusText"></div>
</div> -->
</template> </template>
<script> <script>
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
<div class="user-content__info">{{ user.class_name }}</div> <div class="user-content__info">{{ user.class_name }}</div>
<div class="user-content__info">紫荆币:0</div> <div class="user-content__info">紫荆币:0</div>
</div> </div>
<!-- <van-icon name="arrow" class="arrow-right"/> --> <van-icon name="arrow" @click="$router.push({ path: '/my/info' })" class="arrow-right"/>
<!-- <div class="user-aside"> <!-- <div class="user-aside">
<dl @click="$router.push({ name: 'myGroup' })"> <dl @click="$router.push({ name: 'myGroup' })">
<dt>{{ detail.org_stu_total }}</dt> <dt>{{ detail.org_stu_total }}</dt>
...@@ -101,6 +101,21 @@ export default { ...@@ -101,6 +101,21 @@ export default {
} }
}, },
methods: { methods: {
// 判断资料是否完善
isCompleteInfo() {
api.isCompleteInfo().then(response => {
if (!response.success) {
this.$dialog.confirm({
title: '提示',
message: '您的信息不完善,去完善信息',
}).then(() => {
this.$router.push({ path: '/my/info' })
})
.catch(() => {
})
}
})
},
onTabClick(name) { onTabClick(name) {
this.$router.push({ query: { tab: name } }) this.$router.push({ query: { tab: name } })
}, },
...@@ -108,6 +123,19 @@ export default { ...@@ -108,6 +123,19 @@ export default {
getDetail() { getDetail() {
api.getMy().then(response => { api.getMy().then(response => {
this.detail = response this.detail = response
if (!parseInt(this.detail.information_status) === 0) {
if (!window.sessionStorage.isCompleteInfoShow) {
window.sessionStorage.isCompleteInfoShow = 1
this.$dialog.confirm({
title: '提示',
message: '您的信息不完善,去完善信息',
}).then(() => {
this.$router.push({ path: '/my/info' })
})
.catch(() => {
})
}
}
}) })
} }
}, },
......
...@@ -3,12 +3,25 @@ ...@@ -3,12 +3,25 @@
<van-form @submit="onSubmit"> <van-form @submit="onSubmit">
<template v-for="(item, index) in fields"> <template v-for="(item, index) in fields">
<template v-if="item.type === 'select'"> <template v-if="item.type === 'select'">
<select :key="index" v-model="form[item.name]" class="van-field__control"> <div class="van-cell van-field" :key="index">
<option value="" disabled selected v-if="item.placeholder">{{ item.placeholder }}</option> <div class="van-cell__title van-field__label">
<option v-for="option in item.values" :value="option[item.valueKey] || option.name" :key="option.name"> <span>{{ item.label }}</span>
{{ option.text }} </div>
</option> <div class="van-cell__value van-field__value">
</select> <div class="van-field__body">
<input
v-model="form[item.name]"
:placeholder="item.placeholder"
/>
<select v-model="form[item.name]" class="div-select van-field__control">
<option disabled selected v-if="item.placeholder">{{ item.placeholder }}</option>
<option v-for="option in item.values" :value="option[item.valueKey] || option.name" :key="option.name">
{{ option.text }}
</option>
</select>
</div>
</div>
</div>
</template> </template>
<template v-else-if="item.type === 'textarea'"> <template v-else-if="item.type === 'textarea'">
<van-field <van-field
...@@ -30,7 +43,6 @@ ...@@ -30,7 +43,6 @@
<template #label> <template #label>
{{ item.label }} {{ item.label }}
<div class="form-item__tips" v-if="item.tips">{{ item.tips }}</div> <div class="form-item__tips" v-if="item.tips">{{ item.tips }}</div>
<!-- <span class="red" v-if="item.required">*</span> -->
</template> </template>
<template #input> <template #input>
<upload v-model="form[item.name]" v-bind="item" :max-count="1" /> <upload v-model="form[item.name]" v-bind="item" :max-count="1" />
...@@ -39,21 +51,28 @@ ...@@ -39,21 +51,28 @@
</template> </template>
<template v-else> <template v-else>
<van-field <van-field
:disabled="item.disabled || false"
:key="index" :key="index"
v-model="form[item.name]" v-model="form[item.name]"
:label="item.label" :label="item.label"
:placeholder="item.placeholder" :placeholder="item.placeholder"
:rules="[{ required: true, message: '请填写用户名' }]"
/> />
</template> </template>
</template> </template>
<!-- <div style="margin: 16px;"> <div class="agree-change" @click="agreeChange">
<van-button round block type="info" native-type="submit">提交</van-button> <van-icon :name="!isAgree ? 'circle' : 'passed'" :class="!isAgree ? 'icon' : 'active'"/>
</div> --> <div class="text">
我承诺以上信息真实有效,同意遵守<a href="/">《i紫荆用户协议》</a>
</div>
</div>
<div style="margin: 16px;">
<van-button class="btns" round block type="info" native-type="submit">提交</van-button>
</div>
</van-form> </van-form>
</div> </div>
</template> </template>
<script> <script>
import * as api from '@/api/index'
import Upload from '@/components/Upload' import Upload from '@/components/Upload'
export default { export default {
components: { Upload }, components: { Upload },
...@@ -62,18 +81,102 @@ export default { ...@@ -62,18 +81,102 @@ export default {
}, },
data() { data() {
return { return {
form: { isAgree: false,
username: '', form: {},
password: ''
},
columns: ['11', '22'] columns: ['11', '22']
} }
}, },
mounted() {
this.getDetail()
// this.isAgreement()
},
methods: { methods: {
onSubmit() { onSubmit() {
if (!this.isAgree) {
this.$notify({ type: 'warning', message: '请勾选用户协议' })
return false
}
api
.studenUpdate(this.form)
.then(response => {
this.$notify({ type: 'primary', message: response.message })
})
.catch(() => {
})
console.log(this.form)
},
// 获取我的详情
getDetail() {
api.getMy().then(response => {
api.getStudentInfo(response.user.id).then(response => {
this.form = response
})
})
},
// 勾选协议
agreeChange() {
this.isAgree = !this.isAgree
if (this.isAgree) {
api
.agreementCheck()
.then(response => {
console.log(response)
})
.catch(() => {
})
}
} }
// // 判断是否勾选
// isAgreement() {
// api
// .isAgreementCheck()
// .then(response => {
// response.success === 1 && (this.isAgree = true)
// })
// .catch(() => {
// })
// }
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.div-select{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.btns{
width: 2rem;
height: .4rem;
background: #AD0440;
border-radius: .2rem;
font-size: .14rem;
color: #FFFFFF;
border: none;
margin: 0 auto;
line-height: .4rem;
}
.agree-change{
display: flex;
align-items: center;
.icon{
color: rgba(160, 160, 160, 1);
font-size: .14rem;
margin: 0 .02rem 0 .15rem;
}
.active{
color: rgba(173, 4, 64, 1);
font-size: .14rem;
margin: 0 .02rem 0 .15rem;
}
.text{
font-size: .13rem;
color: #969696;
a{
color: rgba(173, 4, 64, 1);
}
}
}
</style> </style>
...@@ -14,7 +14,8 @@ export default { ...@@ -14,7 +14,8 @@ export default {
{ {
name: 'personal_name', name: 'personal_name',
label: '用户名', label: '用户名',
placeholder: '请输入用户名' placeholder: '请输入用户名',
disabled: true
}, },
{ {
name: 'city', name: 'city',
...@@ -34,7 +35,8 @@ export default { ...@@ -34,7 +35,8 @@ export default {
{ {
name: 'mobile', name: 'mobile',
label: '联系方式', label: '联系方式',
placeholder: '请输入联系方式' placeholder: '请输入联系方式',
disabled: true
}, },
{ {
name: 'company', name: 'company',
...@@ -57,9 +59,23 @@ export default { ...@@ -57,9 +59,23 @@ export default {
label: '所在行业', label: '所在行业',
placeholder: '请选择所在行业', placeholder: '请选择所在行业',
values: [ values: [
{ name: '1', text: '地方校友会' }, { name: '人工智能/IOT', text: '人工智能/IOT' },
{ name: '2', text: '行业研究会' }, { name: 'IT/通信/电子/互联网', text: 'IT/通信/电子/互联网' },
{ name: '3', text: '俱乐部' } { name: '金融业', text: '金融业' },
{ name: '医疗/医药/大健康', text: '医疗/医药/大健康' },
{ name: '农林牧副渔', text: '农林牧副渔' },
{ name: '房地产/建筑', text: '房地产/建筑' },
{ name: '贸易/批发/零售/租赁业', text: '贸易/批发/零售/租赁业' },
{ name: '材料/新材料', text: '材料/新材料' },
{ name: '生产/加工/制造', text: '生产/加工/制造' },
{ name: '能源/破产/环保', text: '能源/破产/环保' },
{ name: '商业服务', text: '商业服务' },
{ name: '服务业', text: '服务业' },
{ name: '文体教育/工艺美术', text: '文体教育/工艺美术' },
{ name: '文化/传媒/娱乐/体育', text: '文化/传媒/娱乐/体育' },
{ name: '政府/非营利机构', text: '政府/非营利机构' },
{ name: '交通/运输/物流/仓储', text: '交通/运输/物流/仓储' },
{ name: '其他', text: '其他' }
] ]
}, },
{ {
...@@ -93,4 +109,5 @@ export default { ...@@ -93,4 +109,5 @@ export default {
.info-box{ .info-box{
background: #fff; background: #fff;
} }
</style> </style>
...@@ -10,7 +10,7 @@ module.exports = { ...@@ -10,7 +10,7 @@ module.exports = {
}, },
proxy: { proxy: {
'/api': { '/api': {
target: 'https://alumni.ezijing.com' target: 'https://alumni2.ezijing.com'
} }
} }
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论