提交 ca72e367 authored 作者: 王鹏飞's avatar 王鹏飞

update

上级 7723ed6e
...@@ -48,6 +48,7 @@ export default new Vuex.Store({ ...@@ -48,6 +48,7 @@ export default new Vuex.Store({
async getVoteList({ commit }, city) { async getVoteList({ commit }, city) {
await getVoteList({ city }).then(response => { await getVoteList({ city }).then(response => {
response = response.map(item => { response = response.map(item => {
item.collapsed = false
item.limit = item.limit ? parseInt(item.limit) : 0 item.limit = item.limit ? parseInt(item.limit) : 0
item.checkedCount = 0 item.checkedCount = 0
item.candidate = item.candidate.map(user => { item.candidate = item.candidate.map(user => {
......
...@@ -7,8 +7,12 @@ ...@@ -7,8 +7,12 @@
<p class="vote-project-text"> <p class="vote-project-text">
您可选择{{ item.limit }}名候选人,已选择{{ item.checkedCount }}/{{ item.limit }} 您可选择{{ item.limit }}名候选人,已选择{{ item.checkedCount }}/{{ item.limit }}
</p> </p>
<div class="collapse" @click="toggleCollapse(item)">
<van-icon name="arrow-down" v-if="item.collapsed" />
<van-icon name="arrow-up" v-else />
</div> </div>
<div class="vote-project-bd"> </div>
<div class="vote-project-bd" v-show="!item.collapsed">
<div class="vote-item" v-for="user in item.candidate" :key="user.id"> <div class="vote-item" v-for="user in item.candidate" :key="user.id">
<div class="vote-item-pic" @click="handleClickItem(user)"> <div class="vote-item-pic" @click="handleClickItem(user)">
<img :src="user.photo" /> <img :src="user.photo" />
...@@ -48,6 +52,9 @@ export default { ...@@ -48,6 +52,9 @@ export default {
} }
}, },
methods: { methods: {
toggleCollapse(item) {
item.collapsed = !item.collapsed
},
handleClickItem(item) { handleClickItem(item) {
this.$router.push({ name: 'voteItem', params: { id: item.id } }) this.$router.push({ name: 'voteItem', params: { id: item.id } })
}, },
...@@ -85,9 +92,18 @@ export default { ...@@ -85,9 +92,18 @@ export default {
<style scoped src="../../assets/css/vote.css"></style> <style scoped src="../../assets/css/vote.css"></style>
<style lang="scss" scoped> <style lang="scss" scoped>
.vote-project-hd { .vote-project-hd {
position: relative;
padding: 0.1rem 0; padding: 0.1rem 0;
border-bottom: 1px solid #ccc; border-bottom: 1px solid #ccc;
} }
.collapse {
position: absolute;
right: 0;
top: 50%;
transform: translateY(-50%);
font-size: 20px;
padding: 10px;
}
.vote-project-title { .vote-project-title {
font-size: 0.2rem; font-size: 0.2rem;
font-weight: 600; font-weight: 600;
......
...@@ -6,7 +6,16 @@ ...@@ -6,7 +6,16 @@
{{ `${detail.num}号:${detail.name}` }} {{ `${detail.num}号:${detail.name}` }}
</div> </div>
</div> </div>
<div class="box" v-html="detail.describe"></div> <div class="box" v-html="detail.describe" v-if="detail.describe"></div>
<div class="box" v-else>
<p v-for="item in fields" :key="item.code">
<b>{{ item.label }}</b>
<span>
<template v-if="item.computed">{{ item.computed(detail[item.code]) }}</template>
<template v-else>{{ detail[item.code] }}</template>
</span>
</p>
</div>
</div> </div>
</template> </template>
...@@ -16,7 +25,25 @@ export default { ...@@ -16,7 +25,25 @@ export default {
metaInfo: { title: '投票' }, metaInfo: { title: '投票' },
data() { data() {
return { return {
detail: {} detail: {},
fields: [
{
label: '性别',
code: 'gender',
computed(value) {
const map = { 0: '女', 1: '男' }
return map[value]
}
},
{ label: '省份', code: 'province' },
{ label: '城市', code: 'city' },
{ label: '班级', code: 'class' },
{ label: '所属项目', code: 'project' },
{ label: '目前工作单位', code: 'company' },
{ label: '职务', code: 'job' },
{ label: '个人曾获得的社会荣誉列举', code: 'honor' },
{ label: '自荐说明', code: 'recommend' }
]
} }
}, },
computed: { computed: {
...@@ -50,6 +77,13 @@ export default { ...@@ -50,6 +77,13 @@ export default {
background-color: #fff; background-color: #fff;
box-shadow: 0px 1px 5px 0px rgba(0, 0, 0, 0.05); box-shadow: 0px 1px 5px 0px rgba(0, 0, 0, 0.05);
border-radius: 0.04rem; border-radius: 0.04rem;
p {
margin-bottom: 5px;
line-height: 24px;
}
b {
font-weight: bold;
}
} }
.user { .user {
display: flex; display: flex;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论