| @@ -0,0 +1,33 @@ | |||
| import request from '@/utils/request' | |||
| // 查询投票主题列表 | |||
| export function listPoll(query) { | |||
| return request({ | |||
| url: '/poll/poll/list', | |||
| method: 'get', | |||
| params: query | |||
| }) | |||
| } | |||
| // 查询投票主题详细 | |||
| export function getPoll(id) { | |||
| return request({ | |||
| url: '/poll/poll/get/' + id, | |||
| method: 'get' | |||
| }) | |||
| } | |||
| // 新增投票主题 | |||
| export function votePoll(id,list) { | |||
| return request({ | |||
| url: '/poll/poll/votePoll/'+ id +'/'+ list, | |||
| method: 'get' | |||
| }) | |||
| } | |||
| // 查询投票详情列表 | |||
| export function listPollVote(query) { | |||
| return request({ | |||
| url: '/poll/pollVote/list', | |||
| method: 'get', | |||
| params: query | |||
| }) | |||
| } | |||
| @@ -645,6 +645,15 @@ export const constantRoutes = [ | |||
| }, | |||
| component: (resolve) => require(['@/views/onlineHome/zdjs'], resolve) | |||
| }, | |||
| { | |||
| path: '/onlineHome/homePollDetail', | |||
| name: 'homePollDetail', | |||
| meta: { | |||
| title: '投票详情', | |||
| hidden: true, | |||
| }, | |||
| component: (resolve) => require(['@/views/onlineHome/homePollDetail'], resolve) | |||
| }, | |||
| { | |||
| path: '/flowChart', | |||
| name: 'flowChart', | |||
| @@ -57,7 +57,6 @@ | |||
| <van-row style="text-align: center;margin-top: 40px"> | |||
| <van-button color="#1D6FE9" style="border-radius: 6px;width: 90%;margin: 0 auto" @click="adviceAdd">提交</van-button> | |||
| </van-row> | |||
| <onlineHomeIndex></onlineHomeIndex> | |||
| </div> | |||
| </template> | |||
| @@ -270,9 +270,6 @@ | |||
| </template> | |||
| </van-cell> | |||
| </van-cell-group> | |||
| <onlineHomeIndex></onlineHomeIndex> | |||
| </div> | |||
| </template> | |||
| @@ -87,7 +87,6 @@ | |||
| title="截止时间" | |||
| :formatter="formatter" | |||
| />--> | |||
| <onlineHomeIndex></onlineHomeIndex> | |||
| </div> | |||
| </template> | |||
| @@ -29,7 +29,6 @@ | |||
| </van-row> | |||
| </template> | |||
| </van-cell> | |||
| <onlineHomeIndex></onlineHomeIndex> | |||
| </div> | |||
| </template> | |||
| @@ -29,7 +29,6 @@ | |||
| </van-row> | |||
| </template> | |||
| </van-cell> | |||
| <onlineHomeIndex></onlineHomeIndex> | |||
| </div> | |||
| </template> | |||
| @@ -94,7 +94,6 @@ | |||
| </van-collapse-item> | |||
| </van-collapse> | |||
| </van-cell-group> | |||
| <onlineHomeIndex></onlineHomeIndex> | |||
| </div> | |||
| </template> | |||
| @@ -6,83 +6,52 @@ | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #right> | |||
| <van-image src=""></van-image> | |||
| <van-image | |||
| width="18" | |||
| height="18" | |||
| src="../../../static/images/onlineHome/voteMenu.png"/> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-row style="margin-top: 20px"> | |||
| <van-col span="20" offset="2"> | |||
| <H3 style="line-height: 20px;">活动主题活动主题活动主题活动主题</H3> | |||
| </van-col> | |||
| </van-row> | |||
| <van-row style="margin-top: 10px"> | |||
| <van-col span="20" offset="2"> | |||
| <h4 style="color: #878787;line-height: 20px;">活动描述活动描述活动描述</h4> | |||
| </van-col> | |||
| </van-row> | |||
| <van-row style="margin-top: 10px"> | |||
| <van-col span="9" offset="2"> | |||
| <van-image | |||
| width="12" | |||
| height="12" | |||
| style="display: inline-block;" | |||
| src="../../../static/images/onlineHome/vote1.png" | |||
| /> | |||
| <p style="display: inline-block;color:#1D6FE9 ">实名</p> | |||
| <van-image | |||
| width="12" | |||
| height="12" | |||
| style="display: inline-block;" | |||
| src="../../../static/images/onlineHome/vote1.png" | |||
| /> | |||
| <p style="display: inline-block;color:#1D6FE9 ">单选</p> | |||
| <van-image | |||
| width="12" | |||
| height="12" | |||
| style="display: inline-block;" | |||
| src="../../../static/images/onlineHome/vote1.png" | |||
| /> | |||
| <p style="display: inline-block;color:#1D6FE9 ">多选</p> | |||
| </van-col> | |||
| <van-col span="8" offset="5"> | |||
| <van-image | |||
| width="12" | |||
| height="12" | |||
| style="display: inline-block;" | |||
| src="../../../static/images/onlineHome/vote.png" | |||
| /> | |||
| <p style="display: inline-block">3人已参与</p> | |||
| </van-col> | |||
| </van-row> | |||
| <van-checkbox-group v-model="result" style="margin-top: 20px"> | |||
| <van-cell-group style="width: 96%;margin:2%;border-radius: 6px;overflow: hidden;padding-top: 10px;padding-bottom: 10px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);"> | |||
| <van-cell title="选项1"> | |||
| <template #icon> | |||
| <van-image | |||
| fit="contain" | |||
| height="18" | |||
| style="margin-right: 10px" | |||
| src="../../../static/images/onlineHome/home3.png" | |||
| /> | |||
| </template> | |||
| <van-checkbox name="a" style="float: right"/> | |||
| </van-cell> | |||
| <van-row> | |||
| <van-col span="15" :offset="2" style=" margin-top: 7px;"> | |||
| <van-progress :percentage="87" :show-pivot="false"/> | |||
| </van-col> | |||
| <van-col span="5" :offset="2"> | |||
| 57票 87% | |||
| </van-col> | |||
| </van-row> | |||
| </van-cell-group> | |||
| </van-checkbox-group> | |||
| <onlineHomeIndex></onlineHomeIndex> | |||
| <van-list> | |||
| <van-row v-for="(item,index) in list" :key="index" style="background:#fff;width: 96%;margin:2%;border-radius: 6px;overflow: hidden;padding-top: 10px;padding-bottom: 10px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);"> | |||
| <van-col span="3" style="text-align: center;"> | |||
| <van-image | |||
| width="18" | |||
| height="18" | |||
| style="display: inline-block;margin-top: 16px" | |||
| src="../../../static/images/onlineHome/home3.png" | |||
| /> | |||
| </van-col> | |||
| <van-col span="17"> | |||
| <van-row> | |||
| <h3 style="line-height: 26px">{{item.subjectName}}</h3> | |||
| </van-row> | |||
| <van-row> | |||
| <p v-if="new Date(item.startTime) > new Date()" style="line-height: 26px"> | |||
| 开始时间:{{item.startTime}} | |||
| </p> | |||
| <p v-if="new Date(item.startTime) <= new Date() && new Date(item.endTime) >= new Date()" style="line-height: 26px"> | |||
| 截止时间:{{item.endTime}} | |||
| </p> | |||
| <p v-if="new Date(item.endTime) < new Date()" style="line-height: 26px"> | |||
| 发起人:{{item.promoters}} | |||
| </p> | |||
| </van-row> | |||
| </van-col> | |||
| <van-col span="4"> | |||
| <h3 v-if="new Date(item.startTime) > new Date()" style="line-height: 50px;color: #1D6FE9" >未开始</h3> | |||
| <h3 v-if="new Date(item.endTime) < new Date()" style="line-height: 50px;color: #1D6FE9" @click="go(item.id)">查看</h3> | |||
| <h3 v-if="new Date(item.startTime) <= new Date() && new Date(item.endTime) >= new Date()" style="line-height: 50px;color: #1D6FE9" @click="go(item.id)">投票</h3> | |||
| </van-col> | |||
| </van-row> | |||
| </van-list> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import onlineHomeIndex from "../onlineHomeIndex"; | |||
| import {getFinancialInAndOut} from "../../api/onlineHome/finacial"; | |||
| import {listPoll} from "../../api/onlineHome/poll"; | |||
| export default { | |||
| components: { | |||
| @@ -92,17 +61,44 @@ | |||
| data() { | |||
| return { | |||
| activeName: 'a', | |||
| list: [], | |||
| list: [{},{}], | |||
| loading: false, | |||
| finished: false, | |||
| result:[], | |||
| // 查询参数 | |||
| queryParams: { | |||
| // 分页 | |||
| pageNum: 1, | |||
| pageSize: 10, | |||
| // 查询排序 | |||
| //orderByColumn: "id", | |||
| //isAsc: "desc", | |||
| subjectName: null, | |||
| status: 3 | |||
| }, | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getList(); | |||
| }, | |||
| methods: { | |||
| go(val){ | |||
| this.$router.push({path:'/onlineHome/homePollDetail',query:{id:val}}); | |||
| }, | |||
| getList(){ | |||
| this.loading = true; | |||
| listPoll(this.queryParams).then(response => { | |||
| this.list = response.rows; | |||
| this.total = response.total; | |||
| this.loading = false; | |||
| }); | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped> | |||
| >>>.van-cell::after { | |||
| >>>.van-col::after { | |||
| border-bottom: none; | |||
| } | |||
| </style> | |||
| @@ -0,0 +1,219 @@ | |||
| <template> | |||
| <div class="app-container"> | |||
| <van-nav-bar | |||
| title="投票" | |||
| left-arrow | |||
| @click-left="$router.back(-1)" | |||
| > | |||
| <template #right> | |||
| <van-image src=""></van-image> | |||
| </template> | |||
| </van-nav-bar> | |||
| <van-row style="margin-top: 20px"> | |||
| <van-col span="20" offset="2"> | |||
| <H3 style="line-height: 20px;">{{form.subjectName}}</H3> | |||
| </van-col> | |||
| </van-row> | |||
| <van-row style="margin-top: 10px"> | |||
| <van-col span="20" offset="2"> | |||
| <h4 style="color: #878787;line-height: 20px;">{{form.description}}</h4> | |||
| </van-col> | |||
| </van-row> | |||
| <van-row style="margin-top: 10px"> | |||
| <van-col span="9" offset="2"> | |||
| <van-image | |||
| v-if="form.anonymous==1" | |||
| width="12" | |||
| height="12" | |||
| style="display: inline-block;" | |||
| src="../../../static/images/onlineHome/vote1.png" | |||
| /> | |||
| <p style="display: inline-block;color:#1D6FE9 ">实名</p> | |||
| <van-image | |||
| v-if="form.type==1" | |||
| width="12" | |||
| height="12" | |||
| style="display: inline-block;" | |||
| src="../../../static/images/onlineHome/vote1.png" | |||
| /> | |||
| <p v-if="form.type==1" style="display: inline-block;color:#1D6FE9 ">单选</p> | |||
| <van-image | |||
| v-if="form.type==2" | |||
| width="12" | |||
| height="12" | |||
| style="display: inline-block;" | |||
| src="../../../static/images/onlineHome/vote1.png" | |||
| /> | |||
| <p v-if="form.type==2" style="display: inline-block;color:#1D6FE9 ">多选</p> | |||
| </van-col> | |||
| <van-col span="8" offset="5"> | |||
| <van-image | |||
| width="12" | |||
| height="12" | |||
| style="display: inline-block;" | |||
| src="../../../static/images/onlineHome/vote.png" | |||
| /> | |||
| <p style="display: inline-block">{{this.form.nums}}人已参与</p> | |||
| </van-col> | |||
| </van-row> | |||
| <van-checkbox-group v-if="form.type==2" v-model="result" style="margin-top: 20px"> | |||
| <van-cell-group v-for="(item,index) in pollOptions" :key="index" style="width: 96%;margin:2%;border-radius: 6px;overflow: hidden;padding-top: 10px;padding-bottom: 10px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);"> | |||
| <van-cell :title="item.name"> | |||
| <template #icon> | |||
| <van-image | |||
| fit="contain" | |||
| height="18" | |||
| style="margin-right: 10px" | |||
| src="../../../static/images/onlineHome/home3.png" | |||
| /> | |||
| </template> | |||
| <van-checkbox :name="item.id" style="float: right"/> | |||
| </van-cell> | |||
| <van-row> | |||
| <van-col span="15" :offset="2" style="margin-top: 7px;"> | |||
| <van-progress v-if="result.indexOf(item.id)==-1" :percentage="voteNum>0?((item.num/voteNum)*100).toFixed(2):0" :show-pivot="false"/> | |||
| <van-progress v-if="result.indexOf(item.id)!=-1" :percentage="(voteNum+result.length)>0?(((item.num+1)/(voteNum+result.length))*100).toFixed(2):0" :show-pivot="false"/> | |||
| </van-col> | |||
| <van-col span="5" :offset="2" v-if="result.indexOf(item.id)==-1"> | |||
| {{item.num}}票 {{voteNum>0?((item.num/voteNum)*100).toFixed(2):0}}% | |||
| </van-col> | |||
| <van-col span="5" :offset="2" v-if="result.indexOf(item.id)!=-1"> | |||
| {{item.num+1}}票 {{(voteNum+result.length)>0?(((item.num+1)/(voteNum+result.length))*100).toFixed(2):0}}% | |||
| </van-col> | |||
| </van-row> | |||
| </van-cell-group> | |||
| </van-checkbox-group> | |||
| <van-radio-group v-if="form.type==1" v-model="result1" style="margin-top: 20px"> | |||
| <van-cell-group v-for="(item,index) in pollOptions" :key="index" style="width: 96%;margin:2%;border-radius: 6px;overflow: hidden;padding-top: 10px;padding-bottom: 10px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);"> | |||
| <van-cell :title="item.name"> | |||
| <template #icon> | |||
| <van-image | |||
| fit="contain" | |||
| height="18" | |||
| style="margin-right: 10px" | |||
| src="../../../static/images/onlineHome/home3.png" | |||
| /> | |||
| </template> | |||
| <van-radio :name="item.id" style="float: right" /> | |||
| </van-cell> | |||
| <van-row> | |||
| <van-col span="15" :offset="2" style="margin-top: 7px;"> | |||
| <van-progress v-if="result1!=item" :percentage="voteNum>0?((item.num/voteNum)*100).toFixed(2):0" :show-pivot="false"/> | |||
| <van-progress v-if="result1==item" :percentage="voteNum>0?(((item.num+1)/(voteNum+1))*100).toFixed(2):0" :show-pivot="false"/> | |||
| </van-col> | |||
| <van-col span="5" :offset="2" v-if="result1!=item.id"> | |||
| {{item.num}}票 {{voteNum>0?((item.num/voteNum)*100).toFixed(2):0}}% | |||
| </van-col> | |||
| <van-col span="5" :offset="2" v-if="result1==item.id"> | |||
| {{item.num+1}}票 {{voteNum>0?(((item.num+1)/(voteNum+1))*100).toFixed(2):0}}% | |||
| </van-col> | |||
| </van-row> | |||
| </van-cell-group> | |||
| </van-radio-group> | |||
| <van-row style="text-align: center;margin-top: 40px" v-if="isPoll"> | |||
| <van-button color="#1D6FE9" style="border-radius: 6px;width: 90%;margin: 0 auto" @click="submit">提交</van-button> | |||
| </van-row> | |||
| </div> | |||
| </template> | |||
| <script> | |||
| import onlineHomeIndex from "../onlineHomeIndex"; | |||
| import {getPoll, listPollVote, votePoll} from "../../api/onlineHome/poll"; | |||
| export default { | |||
| components: { | |||
| onlineHomeIndex | |||
| }, | |||
| name: "homePollDetail", | |||
| data() { | |||
| return { | |||
| loading: false, | |||
| form:{}, | |||
| pollOptions:[], | |||
| id:this.$route.query.id, | |||
| voteNum:0, | |||
| result:[], | |||
| result1:"", | |||
| isPoll:true, | |||
| }; | |||
| }, | |||
| created() { | |||
| this.getInfo(this.id); | |||
| listPollVote().then(res => { | |||
| if(res.rows.length>0){ | |||
| res.rows.map(r => { | |||
| if(r.pollId==this.id){ | |||
| this.isPoll=false | |||
| } | |||
| }) | |||
| } | |||
| }) | |||
| }, | |||
| methods:{ | |||
| reset(){ | |||
| this.pollOptions = [] | |||
| }, | |||
| getInfo(val){ | |||
| this.reset(); | |||
| this.loading = true | |||
| getPoll(val).then(response => { | |||
| response.data.options.map(res => { | |||
| this.voteNum += res.num | |||
| this.pollOptions.push(res) | |||
| }) | |||
| this.form = response.data; | |||
| this.loading = true | |||
| }); | |||
| }, | |||
| submit(){ | |||
| let list = [] | |||
| let _this = this | |||
| if (this.form.type == 1) { | |||
| if (this.result1 != "") { | |||
| list.push(this.pollRadioValue) | |||
| } else { | |||
| this.$toast({ | |||
| icon: 'error', // 找到自己需要的图标 | |||
| message: '请选择一个选项', | |||
| duration:"1000", | |||
| onClose:function(){ | |||
| return false; | |||
| } | |||
| }) | |||
| } | |||
| } else { | |||
| if (this.result.length > 0) { | |||
| list = this.result | |||
| } else { | |||
| this.$toast({ | |||
| icon: 'error', // 找到自己需要的图标 | |||
| message: '请至少选择一个选项', | |||
| duration:"1000", | |||
| onClose:function(){ | |||
| return false; | |||
| } | |||
| }) | |||
| } | |||
| } | |||
| votePoll(this.id,list).then(response => { | |||
| this.$toast({ | |||
| icon: 'success', // 找到自己需要的图标 | |||
| message: '保存成功', | |||
| duration:"1000", | |||
| onClose:function(){ | |||
| _this.getInfo(this.id); | |||
| } | |||
| }) | |||
| }); | |||
| }, | |||
| }, | |||
| } | |||
| </script> | |||
| <style scoped> | |||
| >>>.van-cell::after { | |||
| border-bottom: none; | |||
| } | |||
| </style> | |||
| @@ -83,7 +83,6 @@ | |||
| title="截止时间" | |||
| :formatter="formatter" | |||
| />--> | |||
| <onlineHomeIndex></onlineHomeIndex> | |||
| </div> | |||
| </template> | |||
| @@ -83,7 +83,6 @@ | |||
| title="截止时间" | |||
| :formatter="formatter" | |||
| />--> | |||
| <onlineHomeIndex></onlineHomeIndex> | |||
| </div> | |||
| </template> | |||
| @@ -60,7 +60,6 @@ | |||
| </template> | |||
| </van-cell> | |||
| </van-cell-group> | |||
| <onlineHomeIndex></onlineHomeIndex> | |||
| </div> | |||
| </template> | |||
| @@ -35,7 +35,6 @@ | |||
| </template> | |||
| </van-cell> | |||
| </van-cell-group> | |||
| <onlineHomeIndex></onlineHomeIndex> | |||
| </div> | |||
| </template> | |||
| @@ -43,7 +43,6 @@ | |||
| <van-row style="text-align: center;margin-top: 40px"> | |||
| <van-button color="#1D6FE9" style="border-radius: 6px;width: 90%;margin: 0 auto" @click="submit">完成</van-button> | |||
| </van-row> | |||
| <onlineHomeIndex></onlineHomeIndex> | |||
| </div> | |||
| </template> | |||
| @@ -95,7 +95,6 @@ | |||
| </van-tab> | |||
| <van-tab title="农户画像">农户画像</van-tab> | |||
| </van-tabs> | |||
| <onlineHomeIndex></onlineHomeIndex> | |||
| </div> | |||
| </template> | |||
| @@ -55,7 +55,6 @@ | |||
| </van-list> | |||
| </van-tab> | |||
| </van-tabs> | |||
| <onlineHomeIndex></onlineHomeIndex> | |||
| </div> | |||
| </template> | |||
| @@ -30,7 +30,6 @@ | |||
| </van-row> | |||
| </template> | |||
| </van-cell> | |||
| <onlineHomeIndex></onlineHomeIndex> | |||
| </div> | |||
| </template> | |||
| @@ -29,7 +29,6 @@ | |||
| </van-row> | |||
| </template> | |||
| </van-cell> | |||
| <onlineHomeIndex></onlineHomeIndex> | |||
| </div> | |||
| </template> | |||