@@ -368,3 +368,72 @@ export function getLoginBook() { | |||||
method: 'get' | method: 'get' | ||||
}) | }) | ||||
} | } | ||||
// 查询投票主题列表 | |||||
export function listPoll(deptId , query) { | |||||
return request({ | |||||
url: `/villageAffairs/public/poll/list/${deptId}`, | |||||
method: 'get', | |||||
params: query | |||||
}) | |||||
} | |||||
// 姓名, 账套ID, 身份证, 返回里会有个id字段 | |||||
export function checkFarmer(data) { | |||||
return request({ | |||||
url: '/register/checkFarmer', | |||||
method: 'post', | |||||
data: data, | |||||
}) | |||||
} | |||||
// 查询投票主题详细 | |||||
export function getPoll(id) { | |||||
return request({ | |||||
url: `/villageAffairs/public/poll/detail/${id}`, | |||||
method: 'get' | |||||
}) | |||||
} | |||||
// 投票 id为主题ID, option为投票选项ID, 多个用,分隔, userId为认证后的农户ID | |||||
export function votePoll(id, data) { | |||||
return request({ | |||||
url: `/villageAffairs/public/poll/vote/${id}`, | |||||
method: 'post', | |||||
params: data, | |||||
}) | |||||
} | |||||
// 新增投票主题 | |||||
export function addPoll(data) { | |||||
return request({ | |||||
url: '/poll/poll/add', | |||||
method: 'post', | |||||
data: data | |||||
}) | |||||
} | |||||
// 修改投票主题 | |||||
export function updatePoll(data) { | |||||
return request({ | |||||
url: '/poll/poll/edit', | |||||
method: 'post', | |||||
data: data | |||||
}) | |||||
} | |||||
// 删除投票主题 | |||||
export function delPoll(id) { | |||||
return request({ | |||||
url: '/poll/poll/remove/' + id, | |||||
method: 'get' | |||||
}) | |||||
} | |||||
// 发布投票主题 | |||||
export function publicPoll(id) { | |||||
return request({ | |||||
url: '/poll/poll/publicPoll/'+ id, | |||||
method: 'get' | |||||
}) | |||||
} |
@@ -8,7 +8,7 @@ | |||||
/> | /> | ||||
<van-tabs v-model="active" @change="onTabChanged"> | <van-tabs v-model="active" @change="onTabChanged"> | ||||
<van-tab :title="item.subjectName" :name="item.subjectId" v-for="(item, index) in subjects"> | |||||
<van-tab :title="item.subjectName" :name="item.subjectId" v-for="(item, index) in subjects" :key="index"> | |||||
<SubjectTreeChooserNodeItem :ref="'tree' + index" :subjects="item.children" @clicked="onItemClicked" :can-select-non-leaf="canSelectNonLeaf"></SubjectTreeChooserNodeItem> | <SubjectTreeChooserNodeItem :ref="'tree' + index" :subjects="item.children" @clicked="onItemClicked" :can-select-non-leaf="canSelectNonLeaf"></SubjectTreeChooserNodeItem> | ||||
</van-tab> | </van-tab> | ||||
</van-tabs> | </van-tabs> | ||||
@@ -122,6 +122,11 @@ const whiteList = [ | |||||
'/sunVillage_info/list_finance_detail', //详情页 | '/sunVillage_info/list_finance_detail', //详情页 | ||||
'/sunVillage_info/list_finance_ranking', //详情页 | '/sunVillage_info/list_finance_ranking', //详情页 | ||||
'/sunVillage_info/list_tourists_ranking', //详情页 | '/sunVillage_info/list_tourists_ranking', //详情页 | ||||
'/sunVillage_info/login_code', //详情页 | |||||
'/sunVillage_info/index_code_rights', //详情页 | |||||
'/sunVillage_info/list_vote', //详情页 | |||||
'/sunVillage_info/list_vote_detail', //详情页 | |||||
'/sunVillage_info/list_vote_form', //详情页 | |||||
] | ] | ||||
router.beforeEach((to, from, next) => { | router.beforeEach((to, from, next) => { | ||||
@@ -3151,6 +3151,69 @@ export const constantRoutes = [ | |||||
hidden: true, | hidden: true, | ||||
}, | }, | ||||
component: (resolve) => require(['@/views/sunVillage_info/list_balance_ranking'], resolve) | component: (resolve) => require(['@/views/sunVillage_info/list_balance_ranking'], resolve) | ||||
}, | |||||
{ ////阳光村务(新)-- 合同信息 | |||||
path: '/sunVillage_info/list_vote', | |||||
name: 'sunVillageInfoListVote', | |||||
meta: { | |||||
title: '投票', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/sunVillage_info/list_vote'], resolve) | |||||
}, | |||||
{ ////阳光村务(新)-- 合同信息 | |||||
path: '/sunVillage_info/list_vote_detail', | |||||
name: 'sunVillageInfoListVoteDetail', | |||||
meta: { | |||||
title: '投票', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/sunVillage_info/list_vote_detail'], resolve) | |||||
}, | |||||
{ ////阳光村务(新)-- 合同信息 | |||||
path: '/sunVillage_info/list_vote_form', | |||||
name: 'sunVillageInfoListVoteForm', | |||||
meta: { | |||||
title: '投票', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/sunVillage_info/list_vote_form'], resolve) | |||||
}, | |||||
{ ////阳光村务(新)-- 合同信息 | |||||
path: '/sunVillage_info/list_vote_add', | |||||
name: 'sunVillageInfoListVoteAdd', | |||||
meta: { | |||||
title: '新增投票', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/sunVillage_info/list_vote_add'], resolve) | |||||
}, | |||||
{ ////阳光村务(新)-- 合同信息 | |||||
path: '/sunVillage_info/list_vote_edit', | |||||
name: 'sunVillageInfoListVoteEdit', | |||||
meta: { | |||||
title: '修改投票', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/sunVillage_info/list_vote_edit'], resolve) | |||||
}, | |||||
{ ////阳光村务(新)-- 合同信息 | |||||
path: '/sunVillage_info/login_code', | |||||
name: 'sunVillageInfoLoginCode', | |||||
meta: { | |||||
title: '村民身份验证', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/sunVillage_info/login_code'], resolve) | |||||
}, | |||||
{ ////阳光村务(新)-- 合同信息 | |||||
path: '/sunVillage_info/index_code_rights', | |||||
name: 'sunVillageInfoIndexCodeRights', | |||||
meta: { | |||||
title: '我的权利', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/sunVillage_info/index_code_rights'], resolve) | |||||
} | } | ||||
]; | ]; | ||||
@@ -100,6 +100,8 @@ | |||||
<van-datetime-picker | <van-datetime-picker | ||||
type="date" | type="date" | ||||
title="选择年月日" | title="选择年月日" | ||||
:min-date="minDate" | |||||
v-model="buildTime" | |||||
@confirm="onConfirmBuildTime" | @confirm="onConfirmBuildTime" | ||||
@cancel="showBuildTime = false" | @cancel="showBuildTime = false" | ||||
/> | /> | ||||
@@ -277,6 +279,7 @@ | |||||
name: "certificateList", | name: "certificateList", | ||||
data() { | data() { | ||||
return { | return { | ||||
minDate:new Date(1900,1,1), | |||||
applicationList:[], | applicationList:[], | ||||
applicationListSecond:[], | applicationListSecond:[], | ||||
assetStatusOptions:[], | assetStatusOptions:[], | ||||
@@ -284,7 +287,7 @@ | |||||
assetType:'151001', | assetType:'151001', | ||||
operationType:'1', | operationType:'1', | ||||
addType:'1', | addType:'1', | ||||
buildTime:'2020-01-01', | |||||
buildTime:this.format(new Date(),'yyyy-MM-dd'), | |||||
useType:'1', | useType:'1', | ||||
assetStatus:'1', | assetStatus:'1', | ||||
isMin:'Y', | isMin:'Y', | ||||
@@ -341,7 +344,8 @@ | |||||
orderByColumn:'createTime', | orderByColumn:'createTime', | ||||
isAsc:'desc', | isAsc:'desc', | ||||
name:'', | name:'', | ||||
} | |||||
}, | |||||
buildTime:new Date() | |||||
}; | }; | ||||
}, | }, | ||||
created() { | created() { | ||||
@@ -46,13 +46,16 @@ | |||||
<div class="index_info"> | <div class="index_info"> | ||||
<div class="title"></div> | <div class="title"></div> | ||||
<div class="nav_list"> | <div class="nav_list"> | ||||
<div class="nav_list_box"> | |||||
<router-link :to="{name:'sunVillageInfoListFinance'}" class="nav_item n_1">财务公开榜</router-link> | <router-link :to="{name:'sunVillageInfoListFinance'}" class="nav_item n_1">财务公开榜</router-link> | ||||
<router-link :to="{name:'sunVillageInfoListTourists'}" class="nav_item n_2">零工公开榜</router-link> | <router-link :to="{name:'sunVillageInfoListTourists'}" class="nav_item n_2">零工公开榜</router-link> | ||||
<router-link :to="{name:'sunVillageInfoListIssues'}" class="nav_item n_3">重大事项公开</router-link> | |||||
<router-link :to="{name:'sunVillageInfoListRegister'}" class="nav_item n_6">零工登记</router-link> | |||||
<router-link :to="{name:'sunVillageInfoFixedAssets'}" class="nav_item n_4">资产登记</router-link> | |||||
<router-link :to="{name:'sunVillageInfoInformation'}" class="nav_item n_5">合同登记</router-link> | |||||
<router-link :to="{name:'sunVillageInfoListBalanceRanking'}" class="nav_item n_7">科目余额表</router-link> | |||||
<router-link :to="{name:'sunVillageInfoListIssues'}" class="nav_item n_3">重大事项</router-link> | |||||
<router-link :to="{name:'sunVillageInfoListBalanceRanking'}" class="nav_item n_4">科目余额表</router-link> | |||||
<router-link :to="{name:'sunVillageInfoListVote'}" class="nav_item n_5">发布投票</router-link> | |||||
<router-link :to="{name:'sunVillageInfoFixedAssets'}" class="nav_item n_6">资产登记</router-link> | |||||
<router-link :to="{name:'sunVillageInfoInformation'}" class="nav_item n_7">合同登记</router-link> | |||||
<router-link :to="{name:'sunVillageInfoListRegister'}" class="nav_item n_8">零工登记</router-link> | |||||
</div> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="footer"> | <div class="footer"> | ||||
@@ -257,53 +260,60 @@ | |||||
.nav_list{ | .nav_list{ | ||||
margin-top: 6vh; | margin-top: 6vh; | ||||
padding:0 38px; | padding:0 38px; | ||||
.nav_list_box{ | |||||
display: flex; | display: flex; | ||||
flex-flow: wrap; | flex-flow: wrap; | ||||
box-shadow: 0px 0px 18px rgba(63,68,75,0.2); | |||||
margin-bottom: 40PX; | |||||
padding: 20PX 0; | |||||
border-radius: 15PX; | |||||
} | |||||
.nav_item{ | .nav_item{ | ||||
flex:0 0 200px; | |||||
height: 249px; | |||||
margin-right: 34px; | |||||
margin-bottom: 35px; | |||||
box-shadow: 6px 0px 18px rgba(63,68,75,0.2); | |||||
width: 25%; | |||||
/*height: 180px;*/ | |||||
border-radius: 30px; | border-radius: 30px; | ||||
font-size: 30px; | |||||
color: #fff; | |||||
font-size: 24px; | |||||
color: #3f3d56; | |||||
text-align: center; | text-align: center; | ||||
display: flex; | display: flex; | ||||
align-items: center; | align-items: center; | ||||
justify-content: center; | justify-content: center; | ||||
padding-top: 120px; | |||||
&:nth-child(3n){ | |||||
margin-right: 0; | |||||
} | |||||
padding-top: 100px; | |||||
&.n_1{ | &.n_1{ | ||||
background: url('../../assets/images/sunVillage_info/index_block_1.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
background: url('../../assets/images/sunVillage_info/index_block_01.png') no-repeat center top; | |||||
background-size: 50%; | |||||
margin-bottom: 20PX; | |||||
} | } | ||||
&.n_2{ | &.n_2{ | ||||
background: url('../../assets/images/sunVillage_info/index_block_2.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
background: url('../../assets/images/sunVillage_info/index_block_02.png') no-repeat center top; | |||||
background-size: 50%; | |||||
margin-bottom: 20PX; | |||||
} | } | ||||
&.n_3 { | &.n_3 { | ||||
background: url('../../assets/images/sunVillage_info/index_block_3.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
background: url('../../assets/images/sunVillage_info/index_block_03.png') no-repeat center top; | |||||
background-size: 50%; | |||||
margin-bottom: 20PX; | |||||
} | } | ||||
&.n_4 { | &.n_4 { | ||||
background: url('../../assets/images/sunVillage_info/index_block_4.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
background: url('../../assets/images/sunVillage_info/index_block_04.png') no-repeat center top; | |||||
background-size: 50%; | |||||
margin-bottom: 20PX; | |||||
} | } | ||||
&.n_5 { | &.n_5 { | ||||
background: url('../../assets/images/sunVillage_info/index_block_5.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
background: url('../../assets/images/sunVillage_info/index_block_05.png') no-repeat center top; | |||||
background-size: 50%; | |||||
} | } | ||||
&.n_6 { | &.n_6 { | ||||
background: url('../../assets/images/sunVillage_info/index_block_6.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
background: url('../../assets/images/sunVillage_info/index_block_06.png') no-repeat center top; | |||||
background-size: 50%; | |||||
} | } | ||||
&.n_7 { | &.n_7 { | ||||
background: url('../../assets/images/sunVillage_info/index_block_7.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
background: url('../../assets/images/sunVillage_info/index_block_07.png') no-repeat center top; | |||||
background-size: 50%; | |||||
} | |||||
&.n_8 { | |||||
background: url('../../assets/images/sunVillage_info/index_block_08.png') no-repeat center top; | |||||
background-size: 50%; | |||||
} | } | ||||
} | } | ||||
} | } | ||||
@@ -15,16 +15,17 @@ | |||||
<div class="index_info"> | <div class="index_info"> | ||||
<div class="title"></div> | <div class="title"></div> | ||||
<div class="nav_list"> | <div class="nav_list"> | ||||
<router-link :to="{name:'sunVillageInfoListFinance',query:{type:'code'}}" class="nav_item n_1">财务公开榜</router-link> | |||||
<router-link :to="{name:'sunVillageInfoListTourists',query:{type:'code'}}" class="nav_item n_2">零工公开榜</router-link> | |||||
<router-link :to="{name:'sunVillageInfoListIssues',query:{type:'code'}}" class="nav_item n_3">重大事项公开</router-link> | |||||
<!-- <router-link :to="{name:'sunVillageInfoFixedAssets'}" class="nav_item n_4">固定资产</router-link>--> | |||||
<!-- <router-link :to="{name:'sunVillageInfoInformation'}" class="nav_item n_5">合同登记</router-link>--> | |||||
<div class="nav_list_box"> | |||||
<router-link :to="{name:'sunVillageInfoListFinance',query:{type:'code'}}" class="nav_item n_1">财务公开榜</router-link> | |||||
<router-link :to="{name:'sunVillageInfoListTourists',query:{type:'code'}}" class="nav_item n_2">零工公开榜</router-link> | |||||
<router-link :to="{name:'sunVillageInfoListIssues',query:{type:'code'}}" class="nav_item n_3">重大事项公开</router-link> | |||||
</div> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="footer"> | <div class="footer"> | ||||
技术支持:北京农燊高科信息技术有限公司 | 技术支持:北京农燊高科信息技术有限公司 | ||||
</div> | </div> | ||||
<img src="../../assets/images/sunVillage_info/index_btn.png" class="fixed_btn" @click="goCode"> | |||||
</div> | </div> | ||||
</template> | </template> | ||||
<script> | <script> | ||||
@@ -82,11 +83,26 @@ | |||||
}); | }); | ||||
}, | }, | ||||
methods: { | methods: { | ||||
goCode(){ | |||||
if (Cookies.get('user')){ | |||||
this.$router.push({path:'/sunVillage_info/index_code_rights'}) | |||||
}else{ | |||||
this.$router.push({path:'/sunVillage_info/login_code'}) | |||||
} | |||||
} | |||||
}, | }, | ||||
} | } | ||||
</script> | </script> | ||||
<style scoped lang="scss"> | <style scoped lang="scss"> | ||||
.fixed_btn{ | |||||
position: fixed; | |||||
right: 0; | |||||
width: 115PX; | |||||
bottom: 15%; | |||||
border-top-left-radius: 115PX; | |||||
border-bottom-left-radius: 115PX; | |||||
box-shadow: 0px 2px 5px #ccc; | |||||
} | |||||
.home_wrapper{ | .home_wrapper{ | ||||
background: #f1f2f2; | background: #f1f2f2; | ||||
width: 100vw; | width: 100vw; | ||||
@@ -149,51 +165,66 @@ | |||||
background-size: 100% 100%; | background-size: 100% 100%; | ||||
margin:0 auto; | margin:0 auto; | ||||
} | } | ||||
.nav_list{ | |||||
margin-top: 6vh; | |||||
padding:0 38px; | |||||
display: flex; | |||||
flex-flow: wrap; | |||||
.nav_item{ | |||||
flex:0 0 200px; | |||||
height: 249px; | |||||
margin-right: 34px; | |||||
margin-bottom: 35px; | |||||
box-shadow: 6px 0px 18px rgba(63,68,75,0.2); | |||||
border-radius: 30px; | |||||
font-size: 30px; | |||||
color: #fff; | |||||
text-align: center; | |||||
display: flex; | |||||
align-items: center; | |||||
justify-content: center; | |||||
padding-top: 120px; | |||||
&:nth-child(3){ | |||||
margin-right: 0; | |||||
} | |||||
&.n_1{ | |||||
background: url('../../assets/images/sunVillage_info/index_block_1.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
} | |||||
&.n_2{ | |||||
background: url('../../assets/images/sunVillage_info/index_block_2.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
} | |||||
&.n_3 { | |||||
background: url('../../assets/images/sunVillage_info/index_block_3.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
} | |||||
&.n_4 { | |||||
background: url('../../assets/images/sunVillage_info/index_block_4.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
} | |||||
&.n_5 { | |||||
background: url('../../assets/images/sunVillage_info/index_block_5.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
} | |||||
} | |||||
.nav_list{ | |||||
margin-top: 6vh; | |||||
padding:0 38px; | |||||
.nav_list_box{ | |||||
display: flex; | |||||
flex-flow: wrap; | |||||
box-shadow: 0px 0px 18px rgba(63,68,75,0.2); | |||||
margin-bottom: 40PX; | |||||
padding: 20PX 0; | |||||
border-radius: 15PX; | |||||
} | |||||
.nav_item{ | |||||
width: 25%; | |||||
/*height: 180px;*/ | |||||
border-radius: 30px; | |||||
font-size: 24px; | |||||
color: #3f3d56; | |||||
text-align: center; | |||||
display: flex; | |||||
align-items: center; | |||||
justify-content: center; | |||||
padding-top: 100px; | |||||
&.n_1{ | |||||
background: url('../../assets/images/sunVillage_info/index_block_01.png') no-repeat center top; | |||||
background-size: 50%; | |||||
/*margin-bottom: 20PX;*/ | |||||
} | |||||
&.n_2{ | |||||
background: url('../../assets/images/sunVillage_info/index_block_02.png') no-repeat center top; | |||||
background-size: 50%; | |||||
/*margin-bottom: 20PX;*/ | |||||
} | |||||
&.n_3 { | |||||
background: url('../../assets/images/sunVillage_info/index_block_03.png') no-repeat center top; | |||||
background-size: 50%; | |||||
/*margin-bottom: 20PX;*/ | |||||
} | |||||
&.n_4 { | |||||
background: url('../../assets/images/sunVillage_info/index_block_04.png') no-repeat center top; | |||||
background-size: 50%; | |||||
/*margin-bottom: 20PX;*/ | |||||
} | |||||
&.n_5 { | |||||
background: url('../../assets/images/sunVillage_info/index_block_05.png') no-repeat center top; | |||||
background-size: 50%; | |||||
} | |||||
&.n_6 { | |||||
background: url('../../assets/images/sunVillage_info/index_block_06.png') no-repeat center top; | |||||
background-size: 50%; | |||||
} | |||||
&.n_7 { | |||||
background: url('../../assets/images/sunVillage_info/index_block_07.png') no-repeat center top; | |||||
background-size: 50%; | |||||
} | |||||
&.n_8 { | |||||
background: url('../../assets/images/sunVillage_info/index_block_08.png') no-repeat center top; | |||||
background-size: 50%; | |||||
} | |||||
} | } | ||||
} | |||||
} | } | ||||
.footer{ | .footer{ | ||||
position: absolute; | position: absolute; | ||||
@@ -0,0 +1,249 @@ | |||||
<template> | |||||
<div class="home_wrapper"> | |||||
<div class="head_main"> | |||||
<div class="location"> | |||||
<div class="address"><i class="icon"></i>{{deptName}}</div> | |||||
<div class="address">{{bookName}}</div> | |||||
</div> | |||||
<div class="exit_btn" @click="goOut"> | |||||
<p>{{userName}}</p> | |||||
<i class="icon"></i> | |||||
</div> | |||||
</div> | |||||
<div class="index_info"> | |||||
<div class="title"></div> | |||||
<div class="nav_box" style="margin-top: 6vh;"> | |||||
<p class="nav_tit">公开公示</p> | |||||
<div class="nav_list"> | |||||
<router-link :to="{name:'sunVillageInfoListFinance',query:{type:'code'}}" class="nav_item n_1">财务公开榜</router-link> | |||||
<router-link :to="{name:'sunVillageInfoListTourists',query:{type:'code'}}" class="nav_item n_2">零工公开榜</router-link> | |||||
<router-link :to="{name:'sunVillageInfoListIssues',query:{type:'code'}}" class="nav_item n_3">重大事项</router-link> | |||||
</div> | |||||
</div> | |||||
<div class="nav_box" style="margin-top: 3vh;"> | |||||
<p class="nav_tit">我的权利</p> | |||||
<div class="nav_list"> | |||||
<router-link :to="{name:'sunVillageInfoListVote',query:{type:'code'}}" class="nav_item n_4">投票表决</router-link> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<div class="footer"> | |||||
技术支持:北京农燊高科信息技术有限公司 | |||||
</div> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import { bookInfo } from "@/api/sunVillage_info/fixedAssets"; | |||||
import Cookies from "js-cookie"; | |||||
export default { | |||||
name: "certificateList", | |||||
data() { | |||||
return { | |||||
deptIdOptions:[], | |||||
villageVisbile:false, | |||||
showBookList:false, | |||||
deptName:'', | |||||
//选中的值 | |||||
villageValue: "", | |||||
//省市区区级list | |||||
hcAreaInfoOption: [], | |||||
hcAreaInfoFieldName: { | |||||
text: "label", | |||||
value: "value", | |||||
children: "children", | |||||
}, | |||||
bookName:'', | |||||
queryParams: { | |||||
pageNum: 1, | |||||
pageSize: 100, | |||||
}, | |||||
//账套列表 | |||||
bookVisbile:false, | |||||
bookList:[], | |||||
bookId:"", | |||||
deptId:"", | |||||
book:"", | |||||
userName:"", | |||||
}; | |||||
}, | |||||
created() { | |||||
this.deptId = Cookies.get('deptId') | |||||
this.bookId = Cookies.get('bookId') | |||||
bookInfo(this.bookId).then((res) => { | |||||
if (res.code == 200) { | |||||
this.deptName = res.data.deptName; | |||||
this.bookName = res.data.bookName; | |||||
} | |||||
}); | |||||
if(Cookies.get('user')){ | |||||
this.userName = JSON.parse(Cookies.get('user')).memberName | |||||
} | |||||
}, | |||||
methods: { | |||||
goCode(){ | |||||
this.$router.push({path:'/sunVillage_info/login_code'}) | |||||
}, | |||||
goOut(){ | |||||
// Cookies.remove("memberName"); | |||||
// Cookies.remove("idcard"); | |||||
Cookies.remove("user"); | |||||
this.$router.push({name:'sunVillageInfoIndexCode',query:{deptId:this.deptId,bookId:this.bookId}}) | |||||
} | |||||
}, | |||||
} | |||||
</script> | |||||
<style scoped lang="scss"> | |||||
.fixed_btn{ | |||||
position: fixed; | |||||
right: 0; | |||||
width: 115PX; | |||||
bottom: 15%; | |||||
border-top-left-radius: 115PX; | |||||
border-bottom-left-radius: 115PX; | |||||
box-shadow: 0px 2px 5px #ccc; | |||||
} | |||||
.home_wrapper{ | |||||
background: #f1f2f2; | |||||
width: 100vw; | |||||
min-height: 100vh; | |||||
.head_main{ | |||||
height: 340px; | |||||
background: url('../../assets/images/sunVillage_info/index_head.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
position: relative; | |||||
.location{ | |||||
height: 42px; | |||||
line-height: 42px; | |||||
position: absolute; | |||||
left: 38px; | |||||
top: 72px; | |||||
display: flex; | |||||
.address{ | |||||
padding:0 18px; | |||||
background:rgba(255,255,255,0.75); | |||||
border-radius: 42px; | |||||
font-size: 28px; | |||||
color: #3f3d56; | |||||
margin-right: 12px; | |||||
display: flex; | |||||
align-items:center; | |||||
.icon{ | |||||
display: block; | |||||
width: 20px; | |||||
height: 26px; | |||||
background: url('../../assets/images/sunVillage_info/index_icon_1.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
margin-right: 10px; | |||||
} | |||||
} | |||||
.user{ | |||||
.icon{ | |||||
width: 32px; | |||||
height: 32px; | |||||
background: url('../../assets/images/sunVillage_info/user_icon.png') no-repeat!important; | |||||
background-size: 100% 100%; | |||||
} | |||||
} | |||||
} | |||||
.exit_btn{ | |||||
border-radius: 50%; | |||||
display: flex; | |||||
align-items: center; | |||||
justify-content: center; | |||||
position: absolute; | |||||
top: 64px; | |||||
right: 36px; | |||||
p{ | |||||
background: #3f3d56; | |||||
color: #ffffff; | |||||
padding: 3PX 15PX; | |||||
position: relative; | |||||
right: -6PX; | |||||
border-top-left-radius: 20PX; | |||||
border-bottom-left-radius: 20PX; | |||||
box-shadow: -3PX 2PX 4PX rgba(0,0,0,0.3); | |||||
} | |||||
.icon{ | |||||
width: 61px; | |||||
height: 61px; | |||||
background: url('../../assets/images/sunVillage_info/login_head_h_rights.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
box-shadow: -3PX 2PX 4PX rgba(0,0,0,0.3); | |||||
border-radius: 100%; | |||||
} | |||||
} | |||||
} | |||||
.index_info{ | |||||
padding-top: 4.1vh; | |||||
.title{ | |||||
width: 521px; | |||||
height: 52px; | |||||
background: url('../../assets/images/sunVillage_info/index_title2_rights.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
margin:0 auto; | |||||
} | |||||
.nav_box{ | |||||
margin: 0 auto; | |||||
width: calc(100% - 60px); | |||||
background: #ffffff; | |||||
padding: 30px 30px 40px; | |||||
border-radius: 15PX; | |||||
box-shadow: 0px 2px 10px #cccccc; | |||||
.nav_tit{ | |||||
font-size: 35px; | |||||
margin-bottom: 15PX; | |||||
font-weight: bold; | |||||
} | |||||
.nav_list{ | |||||
display: flex; | |||||
flex-flow: wrap; | |||||
/*justify-content: space-between;*/ | |||||
.nav_item{ | |||||
font-size: 24px; | |||||
color: #333333; | |||||
text-align: center; | |||||
display: flex; | |||||
align-items: center; | |||||
justify-content: center; | |||||
padding-top: 40PX; | |||||
width: 25%; | |||||
&:nth-child(3){ | |||||
margin-right: 0; | |||||
} | |||||
&.n_1{ | |||||
background: url('../../assets/images/sunVillage_info/index_block_1_rights.png') no-repeat center top; | |||||
background-size: 34.5PX; | |||||
} | |||||
&.n_2{ | |||||
background: url('../../assets/images/sunVillage_info/index_block_2_rights.png') no-repeat center top; | |||||
background-size: 34.5PX; | |||||
} | |||||
&.n_3 { | |||||
background: url('../../assets/images/sunVillage_info/index_block_3_rights.png') no-repeat center top; | |||||
background-size: 34.5PX; | |||||
} | |||||
&.n_4 { | |||||
background: url('../../assets/images/sunVillage_info/index_block_4_rights.png') no-repeat center top; | |||||
background-size: 34.5PX; | |||||
} | |||||
&.n_5 { | |||||
background: url('../../assets/images/sunVillage_info/index_block_5.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} | |||||
.footer{ | |||||
position: absolute; | |||||
bottom: 5.5vh; | |||||
width: 100%; | |||||
font-size: 22px; | |||||
color: #3f3d56; | |||||
text-align: center; | |||||
} | |||||
} | |||||
</style> |
@@ -53,14 +53,14 @@ | |||||
<div class="right_box_box"> | <div class="right_box_box"> | ||||
<van-row> | <van-row> | ||||
<van-col :span="8"> | <van-col :span="8"> | ||||
<p>本期发生</p> | |||||
<p>期初余额</p> | |||||
<div class="yue_type"> | <div class="yue_type"> | ||||
<p>借方</p> | <p>借方</p> | ||||
<p>贷方</p> | <p>贷方</p> | ||||
</div> | </div> | ||||
</van-col> | </van-col> | ||||
<van-col :span="8"> | <van-col :span="8"> | ||||
<p>期初余额</p> | |||||
<p>本期发生</p> | |||||
<div class="yue_type"> | <div class="yue_type"> | ||||
<p>借方</p> | <p>借方</p> | ||||
<p>贷方</p> | <p>贷方</p> | ||||
@@ -75,10 +75,10 @@ | |||||
</van-col> | </van-col> | ||||
</van-row> | </van-row> | ||||
<van-row v-for="(item,index) in applicationList" :key="index"> | <van-row v-for="(item,index) in applicationList" :key="index"> | ||||
<van-col :span="4">{{item.bqjffs}}</van-col> | |||||
<van-col :span="4">{{item.bqdffs}}</van-col> | |||||
<van-col :span="4">{{item.qcjfye}}</van-col> | <van-col :span="4">{{item.qcjfye}}</van-col> | ||||
<van-col :span="4">{{item.qcdfye}}</van-col> | <van-col :span="4">{{item.qcdfye}}</van-col> | ||||
<van-col :span="4">{{item.bqjffs}}</van-col> | |||||
<van-col :span="4">{{item.bqdffs}}</van-col> | |||||
<van-col :span="4">{{item.qmjffs}}</van-col> | <van-col :span="4">{{item.qmjffs}}</van-col> | ||||
<van-col :span="4">{{item.qmdffs}}</van-col> | <van-col :span="4">{{item.qmdffs}}</van-col> | ||||
</van-row> | </van-row> | ||||
@@ -15,6 +15,8 @@ | |||||
<div :class="{'flex_block':true , 'current':queryParams.year == '2022'}" @click="tabClick('2022')">2022</div> | <div :class="{'flex_block':true , 'current':queryParams.year == '2022'}" @click="tabClick('2022')">2022</div> | ||||
<div :class="{'flex_block':true , 'current':queryParams.year == '2021'}" @click="tabClick('2021')">2021</div> | <div :class="{'flex_block':true , 'current':queryParams.year == '2021'}" @click="tabClick('2021')">2021</div> | ||||
<div :class="{'flex_block':true , 'current':queryParams.year == '2020'}" @click="tabClick('2020')">2020</div> | <div :class="{'flex_block':true , 'current':queryParams.year == '2020'}" @click="tabClick('2020')">2020</div> | ||||
<div :class="{'flex_block':true , 'current':queryParams.year == '2019'}" @click="tabClick('2019')">2019</div> | |||||
<div :class="{'flex_block':true , 'current':queryParams.year == '2018'}" @click="tabClick('2018')">2018</div> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="list_main"> | <div class="list_main"> | ||||
@@ -51,7 +51,7 @@ | |||||
<div v-for="(item,index) in openFileList" :key="index" style="display: flex;align-items: center;margin-top: 10px;"> | <div v-for="(item,index) in openFileList" :key="index" style="display: flex;align-items: center;margin-top: 10px;"> | ||||
<img src="../../assets/images/sunVillage_info/WORD.png" width="30" v-if="item.type == 'word'"/> | <img src="../../assets/images/sunVillage_info/WORD.png" width="30" v-if="item.type == 'word'"/> | ||||
<img src="../../assets/images/sunVillage_info/ECEL.png" width="30" v-if="item.type == 'excel'" /> | <img src="../../assets/images/sunVillage_info/ECEL.png" width="30" v-if="item.type == 'excel'" /> | ||||
<p style="margin-left: 10px;">{{item.name}}</p> | |||||
<a :href="item.url" style="margin-left: 10px;color: #333333">{{item.name}}</a> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
@@ -123,7 +123,7 @@ | |||||
}else if(name.indexOf('.xls') > -1){ | }else if(name.indexOf('.xls') > -1){ | ||||
type = 'excel'; | type = 'excel'; | ||||
} | } | ||||
this.openFileList.push({name:name,type:type}) | |||||
this.openFileList.push({name:name,type:type,url:'/api'+rr}) | |||||
}) | }) | ||||
} | } | ||||
if (res.data.openPic !='' && res.data.openPic != null && res.data.openPic != undefined){ | if (res.data.openPic !='' && res.data.openPic != null && res.data.openPic != undefined){ | ||||
@@ -15,6 +15,8 @@ | |||||
<div :class="{'flex_block':true , 'current':queryParams.year == '2022'}" @click="tabClick('2022')">2022</div> | <div :class="{'flex_block':true , 'current':queryParams.year == '2022'}" @click="tabClick('2022')">2022</div> | ||||
<div :class="{'flex_block':true , 'current':queryParams.year == '2021'}" @click="tabClick('2021')">2021</div> | <div :class="{'flex_block':true , 'current':queryParams.year == '2021'}" @click="tabClick('2021')">2021</div> | ||||
<div :class="{'flex_block':true , 'current':queryParams.year == '2020'}" @click="tabClick('2020')">2020</div> | <div :class="{'flex_block':true , 'current':queryParams.year == '2020'}" @click="tabClick('2020')">2020</div> | ||||
<div :class="{'flex_block':true , 'current':queryParams.year == '2019'}" @click="tabClick('2019')">2019</div> | |||||
<div :class="{'flex_block':true , 'current':queryParams.year == '2018'}" @click="tabClick('2018')">2018</div> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="list_main"> | <div class="list_main"> | ||||
@@ -51,7 +51,7 @@ | |||||
<div v-for="(item,index) in openFileList" :key="index" style="display: flex;align-items: center;margin-top: 10px;"> | <div v-for="(item,index) in openFileList" :key="index" style="display: flex;align-items: center;margin-top: 10px;"> | ||||
<img src="../../assets/images/sunVillage_info/WORD.png" width="30" v-if="item.type == 'word'"/> | <img src="../../assets/images/sunVillage_info/WORD.png" width="30" v-if="item.type == 'word'"/> | ||||
<img src="../../assets/images/sunVillage_info/ECEL.png" width="30" v-if="item.type == 'excel'" /> | <img src="../../assets/images/sunVillage_info/ECEL.png" width="30" v-if="item.type == 'excel'" /> | ||||
<p style="margin-left: 10px;">{{item.name}}</p> | |||||
<a :href="item.url" style="margin-left: 10px;color: #333333">{{item.name}}</a> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
@@ -131,7 +131,7 @@ | |||||
}else if(name.indexOf('.xls') > -1){ | }else if(name.indexOf('.xls') > -1){ | ||||
type = 'excel'; | type = 'excel'; | ||||
} | } | ||||
this.openFileList.push({name:name,type:type}) | |||||
this.openFileList.push({name:name,type:type,url:'/api'+rr}) | |||||
}) | }) | ||||
} | } | ||||
if (res.data.openPic !='' && res.data.openPic != null && res.data.openPic != undefined){ | if (res.data.openPic !='' && res.data.openPic != null && res.data.openPic != undefined){ | ||||
@@ -42,7 +42,7 @@ | |||||
<van-field required label="工日值" v-model="form.perMoney" placeholder="请输入工日值" :rules="[{ required: true , message:'请输入工日值' }]" input-align="right" :border="false" /> | <van-field required label="工日值" v-model="form.perMoney" placeholder="请输入工日值" :rules="[{ required: true , message:'请输入工日值' }]" input-align="right" :border="false" /> | ||||
<van-field required label="金额(元)" v-model="form.totalMoney" placeholder="请输入金额(元)" :rules="[{ required: true , message:'请输入金额' }]" input-align="right" :border="false" /> | |||||
<van-field required label="金额(元)" type="number" v-model="form.totalMoney" placeholder="请输入金额(元)" :rules="[{ required: true , message:'请输入金额' }]" input-align="right" :border="false" /> | |||||
<van-field label="备注" v-model="form.remark" placeholder="请输入备注" input-align="right" :border="false" /> | <van-field label="备注" v-model="form.remark" placeholder="请输入备注" input-align="right" :border="false" /> | ||||
@@ -42,7 +42,7 @@ | |||||
<van-field required label="工日值" v-model="form.perMoney" placeholder="请输入工日值" :rules="[{ required: true , message:'请输入工日值' }]" input-align="right" :border="false" /> | <van-field required label="工日值" v-model="form.perMoney" placeholder="请输入工日值" :rules="[{ required: true , message:'请输入工日值' }]" input-align="right" :border="false" /> | ||||
<van-field required label="金额(元)" v-model="form.totalMoney" placeholder="请输入金额(元)" :rules="[{ required: true , message:'请输入金额' }]" input-align="right" :border="false" /> | |||||
<van-field required label="金额(元)" type="number" v-model="form.totalMoney" placeholder="请输入金额(元)" :rules="[{ required: true , message:'请输入金额' }]" input-align="right" :border="false" /> | |||||
<van-field label="备注" v-model="form.remark" placeholder="请输入备注" input-align="right" :border="false" /> | <van-field label="备注" v-model="form.remark" placeholder="请输入备注" input-align="right" :border="false" /> | ||||
@@ -15,6 +15,8 @@ | |||||
<div :class="{'flex_block':true , 'current':queryParams.year == '2022'}" @click="tabClick('2022')">2022</div> | <div :class="{'flex_block':true , 'current':queryParams.year == '2022'}" @click="tabClick('2022')">2022</div> | ||||
<div :class="{'flex_block':true , 'current':queryParams.year == '2021'}" @click="tabClick('2021')">2021</div> | <div :class="{'flex_block':true , 'current':queryParams.year == '2021'}" @click="tabClick('2021')">2021</div> | ||||
<div :class="{'flex_block':true , 'current':queryParams.year == '2020'}" @click="tabClick('2020')">2020</div> | <div :class="{'flex_block':true , 'current':queryParams.year == '2020'}" @click="tabClick('2020')">2020</div> | ||||
<div :class="{'flex_block':true , 'current':queryParams.year == '2019'}" @click="tabClick('2019')">2019</div> | |||||
<div :class="{'flex_block':true , 'current':queryParams.year == '2018'}" @click="tabClick('2018')">2018</div> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="list_main"> | <div class="list_main"> | ||||
@@ -51,7 +51,7 @@ | |||||
<div v-for="(item,index) in openFileList" :key="index" style="display: flex;align-items: center;margin-top: 10px;"> | <div v-for="(item,index) in openFileList" :key="index" style="display: flex;align-items: center;margin-top: 10px;"> | ||||
<img src="../../assets/images/sunVillage_info/WORD.png" width="30" v-if="item.type == 'word'"/> | <img src="../../assets/images/sunVillage_info/WORD.png" width="30" v-if="item.type == 'word'"/> | ||||
<img src="../../assets/images/sunVillage_info/ECEL.png" width="30" v-if="item.type == 'excel'" /> | <img src="../../assets/images/sunVillage_info/ECEL.png" width="30" v-if="item.type == 'excel'" /> | ||||
<p style="margin-left: 10px;">{{item.name}}</p> | |||||
<a :href="item.url" style="margin-left: 10px;color: #333333">{{item.name}}</a> | |||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
@@ -123,7 +123,7 @@ | |||||
}else if(name.indexOf('.xls') > -1){ | }else if(name.indexOf('.xls') > -1){ | ||||
type = 'excel'; | type = 'excel'; | ||||
} | } | ||||
this.openFileList.push({name:name,type:type}) | |||||
this.openFileList.push({name:name,type:type,url:'/api'+rr}) | |||||
}) | }) | ||||
} | } | ||||
if (res.data.openPic !='' && res.data.openPic != null && res.data.openPic != undefined){ | if (res.data.openPic !='' && res.data.openPic != null && res.data.openPic != undefined){ | ||||
@@ -0,0 +1,211 @@ | |||||
<template> | |||||
<div class="home_wrapper"> | |||||
<div class="header_main"> | |||||
投票 | |||||
<div class="return_btn" @click="onClickLeft"></div> | |||||
<div class="add_btn" @click="goAdd" v-show="showBtn"></div> | |||||
</div> | |||||
<van-list | |||||
v-model="loading" | |||||
:finished="finished" | |||||
finished-text="没有更多了" | |||||
@load="getList" | |||||
> | |||||
<van-swipe-cell v-for="(item,index) in applicationList" :key="index" > | |||||
<van-cell | |||||
:border="false" | |||||
:title="item.subjectName" | |||||
:label="'时间:'+item.startTime.substr(0,10)+' - '+item.endTime.substr(0,10)" | |||||
center | |||||
:to="{name: item.isVote || showBtn ? 'sunVillageInfoListVoteDetail':'sunVillageInfoListVoteForm',query:{id:item.id}}" | |||||
> | |||||
<template #right-icon> | |||||
<p style="color: #1D6FE9">投票</p> | |||||
</template> | |||||
<template #icon> | |||||
<img src="../../assets/images/sunVillage_info/icon_vote.png" style="width: .5rem;margin-right: 2%;"> | |||||
</template> | |||||
</van-cell> | |||||
<template #right v-if="showBtn"> | |||||
<div style="background-color: #ee0a24;height: 100%" @click="goRemove(item.id)">删除</div> | |||||
<div style="background-color: #07c160" @click="goEdit(item.id)">修改</div> | |||||
<div style="background-color: rgb(255, 166, 62);" v-if="item.status != '3'" @click="goRanking(item.id)">发布</div> | |||||
</template> | |||||
</van-swipe-cell> | |||||
</van-list> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import { listPoll , delPoll , publicPoll } from "@/api/sunVillage_info/fixedAssets"; | |||||
import Cookies from "js-cookie"; | |||||
import request from '@/utils/request' | |||||
export default { | |||||
name: "certificateList", | |||||
data() { | |||||
return { | |||||
applicationList:[], | |||||
applicationListSecond:[], | |||||
assetStatusOptions:[], | |||||
auditStatus:[], | |||||
loading: false, | |||||
finished: false, | |||||
show: false, | |||||
showTab: false, | |||||
fileList:[], | |||||
listLength:'0', | |||||
searchInput:'', | |||||
queryParams:{ | |||||
pageNum:1, | |||||
pageSize:10, | |||||
orderByColumn:'createTime', | |||||
isAsc:'desc', | |||||
}, | |||||
uploadFiles1:[], | |||||
projectId:'', | |||||
projectIndex:'', | |||||
showBtn:true, | |||||
}; | |||||
}, | |||||
created() { | |||||
this.queryParams.bookId = Cookies.get('bookId'); | |||||
this.queryParams.deptId = Cookies.get('deptId'); | |||||
if (Cookies.get('user')){ | |||||
this.queryParams.userId = JSON.parse(Cookies.get('user')).id | |||||
} | |||||
if (this.$route.query.type == 'code'){ | |||||
this.queryParams.status = '1,3' | |||||
this.showBtn = false; | |||||
} | |||||
}, | |||||
methods: { | |||||
getList(){ | |||||
var _this = this; | |||||
listPoll(_this.queryParams.deptId,_this.queryParams).then(response => { | |||||
_this.listLength = response.total; | |||||
response.rows.map(res=>{ | |||||
_this.applicationList.push(res); | |||||
}) | |||||
if(_this.applicationList.length >= response.total){ | |||||
_this.finished = true; | |||||
return; | |||||
}else{ | |||||
_this.loading = false; | |||||
_this.queryParams.pageNum += 1 ; | |||||
} | |||||
}); | |||||
}, | |||||
goAdd(){ | |||||
this.$router.push('/sunVillage_info/list_vote_add') | |||||
}, | |||||
goDetail(id){ | |||||
this.$router.push({path:'/sunVillage_info/list_vote_detail',query: {id:id}}) | |||||
}, | |||||
goEdit(id){ | |||||
this.$router.push({path:'/sunVillage_info/list_vote_edit',query: {id:id}}) | |||||
}, | |||||
goRanking(id){ | |||||
this.$dialog.alert({ | |||||
title: '提示', | |||||
message: '确认发布?', | |||||
showCancelButton:true, | |||||
}) | |||||
.then(() => { | |||||
publicPoll(id).then(response => { | |||||
this.$notify({ type: 'success', message: '发布成功' }); | |||||
this.applicationList = []; | |||||
this.getList() | |||||
}); | |||||
}) | |||||
.catch(() => { | |||||
// on cancel | |||||
}); | |||||
}, | |||||
goRemove(id){ | |||||
this.$dialog.alert({ | |||||
title: '提示', | |||||
message: '确认删除?', | |||||
showCancelButton:true, | |||||
}) | |||||
.then(() => { | |||||
delPoll(id).then(response => { | |||||
this.$notify({ type: 'success', message: '删除成功' }); | |||||
this.applicationList = []; | |||||
this.getList() | |||||
}); | |||||
}) | |||||
.catch(() => { | |||||
// on cancel | |||||
}); | |||||
} | |||||
}, | |||||
} | |||||
</script> | |||||
<style scoped lang="scss"> | |||||
.home_wrapper{ | |||||
background: #e9e9e9; | |||||
min-height: 100vh; | |||||
width: 100vw; | |||||
.header_main{ | |||||
height: 116px; | |||||
background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
position: fixed; | |||||
top: 0; | |||||
left: 0; | |||||
width: 100%; | |||||
font-size: 36px; | |||||
line-height: 116px; | |||||
text-align: center; | |||||
color: #fff; | |||||
position: relative; | |||||
.return_btn{ | |||||
width: 24px; | |||||
height: 43.2px; | |||||
background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||||
background-size: 20px 36px; | |||||
position: absolute; | |||||
left: 38px; | |||||
top: 36px; | |||||
} | |||||
.add_btn{ | |||||
width: 56.4px; | |||||
height: 40.8px; | |||||
background: url('../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||||
background-size: 47px 34px; | |||||
position: absolute; | |||||
right: 38px; | |||||
top: 36px; | |||||
} | |||||
} | |||||
.van-swipe-cell { | |||||
position: relative; | |||||
overflow: hidden; | |||||
cursor: grab; | |||||
width: 96%; | |||||
margin: 0 auto; | |||||
margin-top: 15PX; | |||||
box-shadow: 5PX 5PX 2PX #ccc; | |||||
border-radius: 10PX; | |||||
} | |||||
/deep/ .van-swipe-cell__right{ | |||||
display: flex; | |||||
align-items: center; | |||||
width: 150PX; | |||||
margin-left: 5PX; | |||||
a,div{ | |||||
margin: 0; | |||||
display: flex; | |||||
align-items: center; | |||||
justify-content: center; | |||||
color: #ffffff; | |||||
font-size: 14PX; | |||||
height: 100%; | |||||
flex: 1; | |||||
} | |||||
} | |||||
} | |||||
</style> |
@@ -0,0 +1,294 @@ | |||||
<template> | |||||
<div class="home_wrapper"> | |||||
<div class="header_main"> | |||||
新增投票 | |||||
<div class="return_btn" @click="onClickLeft"></div> | |||||
<div class="add_btn"></div> | |||||
</div> | |||||
<van-form @submit="onSubmit"> | |||||
<div class="list_main"> | |||||
<van-field required label="主题" v-model="form.subjectName" placeholder="请输入主题" :rules="[{ required: true , message:'请输入主题' }]" input-align="right" :border="false" /> | |||||
<van-field label="描述" v-model="form.description" placeholder="请输入描述" input-align="right" :border="false" /> | |||||
<van-field label="规则" v-model="form.rules" placeholder="请输入规则" input-align="right" :border="false" /> | |||||
<van-field name="radio" label="投票类型" input-align="right" :border="false"> | |||||
<template #input> | |||||
<van-radio-group v-model="form.type" direction="horizontal"> | |||||
<van-radio name="1">单选</van-radio> | |||||
<van-radio name="2">多选</van-radio> | |||||
</van-radio-group> | |||||
</template> | |||||
</van-field> | |||||
<van-field | |||||
readonly | |||||
clickable | |||||
label="开始时间" | |||||
placeholder="请选择" | |||||
v-model="form.startTime" | |||||
@click="showStartTime = true" | |||||
input-align="right" | |||||
right-icon="arrow-down" | |||||
label-width="auto" | |||||
required | |||||
:border="false" | |||||
:rules="[{ required: true , message:'请选择开始时间' }]" | |||||
/> | |||||
<van-popup v-model="showStartTime" position="bottom"> | |||||
<van-datetime-picker | |||||
v-model="startTime" | |||||
type="datetime" | |||||
title="选择开始时间" | |||||
@confirm="onConfirmOpenNy" | |||||
@cancel="showStartTime = false" | |||||
/> | |||||
</van-popup> | |||||
<van-field | |||||
readonly | |||||
clickable | |||||
label="结束时间" | |||||
placeholder="请选择" | |||||
v-model="form.endTime" | |||||
@click="showEndTime = true" | |||||
input-align="right" | |||||
right-icon="arrow-down" | |||||
label-width="auto" | |||||
required | |||||
:border="false" | |||||
:rules="[{ required: true , message:'请选择结束时间' }]" | |||||
/> | |||||
<van-popup v-model="showEndTime" position="bottom"> | |||||
<van-datetime-picker | |||||
v-model="endTime" | |||||
type="datetime" | |||||
title="选择结束时间" | |||||
@confirm="onConfirmOpenEndTime" | |||||
@cancel="showEndTime = false" | |||||
/> | |||||
</van-popup> | |||||
<van-field label="发起人/单位" v-model="form.promoters" placeholder="请输入发起人/单位" input-align="right" :border="false" /> | |||||
<van-field name="radio" label="是否匿名" input-align="right" :border="false"> | |||||
<template #input> | |||||
<van-radio-group v-model="form.anonymous" direction="horizontal"> | |||||
<van-radio name="Y">是</van-radio> | |||||
<van-radio name="N">否</van-radio> | |||||
</van-radio-group> | |||||
</template> | |||||
</van-field> | |||||
<p class="tit">投票选项</p> | |||||
<div style="margin-bottom: 10PX;"> | |||||
<van-field v-for="(item,index) in form.options" :key="index" required :rules="[{ required: true , message:'请输入选项名称' }]" :label="'选项'+(index+1)" v-model="item.name" placeholder="请输入选项" input-align="right" :border="false" /> | |||||
</div> | |||||
<van-button plain hairline block icon="plus" type="info" native-type="button" @click="addOptions">增加投票选项</van-button> | |||||
</div> | |||||
<div style="margin: 16px auto;width: 50%;"> | |||||
<van-button round block type="primary" native-type="submit"> | |||||
保存 | |||||
</van-button> | |||||
</div> | |||||
</van-form> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import { commonUpload , addPoll } from "@/api/sunVillage_info/fixedAssets"; | |||||
import Cookies from "js-cookie"; | |||||
import request from '@/utils/request' | |||||
export default { | |||||
name: "certificateList", | |||||
data() { | |||||
return { | |||||
showStartTime:false, | |||||
showEndTime:false, | |||||
form:{ | |||||
startTime:this.format(new Date(),'yyyy-MM-dd HH:mm:ss'), | |||||
endTime:this.format(new Date(),'yyyy-MM-dd HH:mm:ss'), | |||||
type:'1', | |||||
anonymous:'Y', | |||||
status:'2', | |||||
options:[{name:''}] | |||||
}, | |||||
openPic:[], | |||||
fileList:[], | |||||
fileList1:[], | |||||
startTime:new Date(), | |||||
endTime:new Date(), | |||||
type:'', | |||||
openFile:[], | |||||
openFileList:[], | |||||
queryParams:{ | |||||
bookId:'', | |||||
deptId:'', | |||||
}, | |||||
openFile2:[], | |||||
openPic2:[], | |||||
}; | |||||
}, | |||||
created() { | |||||
this.queryParams.bookId = Cookies.get('bookId'); | |||||
this.queryParams.deptId = Cookies.get('deptId'); | |||||
}, | |||||
methods: { | |||||
addOptions(){ | |||||
var that = this; | |||||
let array = that.form.options.filter(function (e) { return e.name == ""; }); | |||||
console.log(array); | |||||
if (array.length>0){ | |||||
that.$toast('请勿添加多个空选项!'); | |||||
}else{ | |||||
that.form.options.push({name:''}) | |||||
} | |||||
}, | |||||
onSubmit(){ | |||||
var that = this; | |||||
addPoll(that.form).then((r1) => { | |||||
if (r1.code == 200){ | |||||
that.$notify({ type: 'success', message: '新增成功' }); | |||||
setTimeout(function(){ | |||||
history.back(-1); | |||||
},2000) | |||||
} | |||||
}) | |||||
}, | |||||
onConfirmOpenNy(data){ | |||||
this.form.startTime = this.format(data,'yyyy-MM-dd HH:mm:ss'); | |||||
this.startTime = data; | |||||
this.showStartTime = false; | |||||
}, | |||||
onConfirmOpenEndTime(data){ | |||||
this.form.endTime = this.format(data,'yyyy-MM-dd HH:mm:ss'); | |||||
this.endTime = data; | |||||
this.showEndTime = false; | |||||
}, | |||||
}, | |||||
} | |||||
</script> | |||||
<style scoped lang="scss"> | |||||
/deep/ .van-button--primary{ | |||||
background: url("../../assets/images/sunVillage_info/btn_bg.png") no-repeat; | |||||
background-size: 100% 100%; | |||||
border: none; | |||||
} | |||||
.van-radio:last-child{ | |||||
margin-right: 0; | |||||
} | |||||
.home_wrapper{ | |||||
background: #e9e9e9; | |||||
min-height: 100vh; | |||||
width: 100vw; | |||||
.header_main { | |||||
height: 116px; | |||||
background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
position: fixed; | |||||
top: 0; | |||||
left: 0; | |||||
width: 100%; | |||||
font-size: 36px; | |||||
line-height: 116px; | |||||
text-align: center; | |||||
color: #fff; | |||||
position: relative; | |||||
.return_btn { | |||||
width: 24px; | |||||
height: 43.2px; | |||||
background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||||
background-size: 20px 36px; | |||||
position: absolute; | |||||
left: 38px; | |||||
top: 36px; | |||||
} | |||||
} | |||||
.release_head{ | |||||
height: 90px; | |||||
padding:0 23px; | |||||
display: flex; | |||||
align-items: center; | |||||
font-size: 26px; | |||||
color: #929292; | |||||
.people{ | |||||
flex: 1; | |||||
display: flex; | |||||
align-items: center; | |||||
.icon{ | |||||
width: 24px; | |||||
height: 21px; | |||||
background: url('../../assets/images/sunVillage_info/details_icon_1.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
margin-right: 8px; | |||||
} | |||||
} | |||||
.time{ | |||||
flex: 1; | |||||
display: flex; | |||||
align-items: center; | |||||
justify-content:flex-end; | |||||
.icon{ | |||||
width: 25px; | |||||
height: 25px; | |||||
background: url('../../assets/images/sunVillage_info/details_icon_2.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
margin-right: 8px; | |||||
} | |||||
} | |||||
} | |||||
.release_conetnt{ | |||||
padding:0 22px; | |||||
font-size: 32px; | |||||
color: #252525; | |||||
line-height: 44px; | |||||
img{ | |||||
max-width: 100%; | |||||
margin-bottom: 16px; | |||||
} | |||||
p{ | |||||
margin-bottom: 16px; | |||||
} | |||||
} | |||||
.list_main{ | |||||
padding:25px; | |||||
background: #ffffff; | |||||
width: 94%; | |||||
margin: 25px auto 0; | |||||
border-radius: 15PX; | |||||
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||||
} | |||||
.tit{ | |||||
font-size: 16PX; | |||||
padding: 15PX 10PX; | |||||
} | |||||
/deep/ .van-cell{ | |||||
padding-left: 0!important; | |||||
padding-right: 0!important; | |||||
padding-bottom: 0!important; | |||||
&:nth-child(1){ | |||||
padding-top: 0; | |||||
} | |||||
} | |||||
/deep/ .van-field__label{ | |||||
padding-left: 10PX; | |||||
width: auto; | |||||
display: flex; | |||||
align-items: center; | |||||
} | |||||
/deep/ .van-cell--required::before{ | |||||
left: 0PX; | |||||
} | |||||
/deep/ .van-field__error-message{ | |||||
display: none; | |||||
} | |||||
} | |||||
</style> |
@@ -0,0 +1,238 @@ | |||||
<template> | |||||
<div class="home_wrapper"> | |||||
<div class="header_main"> | |||||
投票 | |||||
<div class="return_btn" @click="onClickLeft"></div> | |||||
</div> | |||||
<div class="top_box"> | |||||
<p class="title">{{form.subjectName}}</p> | |||||
<p class="label">{{form.description}}</p> | |||||
<div> | |||||
<p><i></i>{{form.anonymous == '1' ? '匿名':'实名'}}</p> | |||||
<p><i></i>{{form.type == '1' ? '单选':'多选'}}</p> | |||||
<p><i></i>{{form.nums}}人已参加</p> | |||||
</div> | |||||
</div> | |||||
<van-cell | |||||
:border="false" | |||||
center | |||||
v-for="(item,index) in form.options" | |||||
:key="index" | |||||
> | |||||
<template #title> | |||||
<div class="cell_title"> | |||||
<img src="../../assets/images/sunVillage_info/icon_vote.png" style="width: .5rem;margin-right: 2%;"> | |||||
<p>{{item.name}}</p> | |||||
</div> | |||||
</template> | |||||
<template #label> | |||||
<div class="cell_label"> | |||||
<van-progress :percentage="50" stroke-width="7" :show-pivot="false" /> | |||||
<p>{{item.num}}票</p> | |||||
<p>87%</p> | |||||
</div> | |||||
</template> | |||||
</van-cell> | |||||
<div class="creatName"> | |||||
<p>截止时间:{{form.endTime}}</p> | |||||
<p>发起人:{{form.promoters}}</p> | |||||
</div> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import { getPoll , votePoll } from "@/api/sunVillage_info/fixedAssets"; | |||||
import Cookies from "js-cookie"; | |||||
import request from '@/utils/request' | |||||
export default { | |||||
name: "certificateList", | |||||
data() { | |||||
return { | |||||
applicationList:[], | |||||
applicationListSecond:[], | |||||
assetStatusOptions:[], | |||||
auditStatus:[], | |||||
loading: false, | |||||
finished: false, | |||||
show: false, | |||||
showTab: false, | |||||
fileList:[], | |||||
listLength:'0', | |||||
searchInput:'', | |||||
queryParams:{ | |||||
pageNum:1, | |||||
pageSize:10, | |||||
orderByColumn:'createTime', | |||||
isAsc:'desc', | |||||
year:'2022', | |||||
}, | |||||
uploadFiles1:[], | |||||
projectId:'', | |||||
projectIndex:'', | |||||
showBtn:true, | |||||
form:{}, | |||||
radio:'' | |||||
}; | |||||
}, | |||||
created() { | |||||
this.queryParams.bookId = Cookies.get('bookId'); | |||||
this.queryParams.deptId = Cookies.get('deptId'); | |||||
if (this.$route.query.type == 'code'){ | |||||
this.showBtn = false; | |||||
} | |||||
this.getDetail(this.$route.query.id); | |||||
}, | |||||
methods: { | |||||
getDetail(id){ | |||||
var _this = this; | |||||
getPoll(id).then(response => { | |||||
_this.form = response.data; | |||||
}); | |||||
}, | |||||
goSubmit(){ | |||||
var _this = this; | |||||
var data = { | |||||
userId:JSON.parse(Cookies.get('user')).id, | |||||
option:_this.radio | |||||
} | |||||
votePoll(_this.form.id,data).then(response => { | |||||
_this.$notify({ type: 'success', message: '投票成功' }); | |||||
setTimeout(function(){ | |||||
history.back(-1); | |||||
},2000) | |||||
}); | |||||
}, | |||||
}, | |||||
} | |||||
</script> | |||||
<style scoped lang="scss"> | |||||
.home_wrapper{ | |||||
background: #e9e9e9; | |||||
min-height: 100vh; | |||||
width: 100vw; | |||||
.header_main{ | |||||
height: 116px; | |||||
background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
position: fixed; | |||||
top: 0; | |||||
left: 0; | |||||
width: 100%; | |||||
font-size: 36px; | |||||
line-height: 116px; | |||||
text-align: center; | |||||
color: #fff; | |||||
position: relative; | |||||
.return_btn{ | |||||
width: 24px; | |||||
height: 43.2px; | |||||
background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||||
background-size: 20px 36px; | |||||
position: absolute; | |||||
left: 38px; | |||||
top: 36px; | |||||
} | |||||
.add_btn{ | |||||
width: 56.4px; | |||||
height: 40.8px; | |||||
background: url('../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||||
background-size: 47px 34px; | |||||
position: absolute; | |||||
right: 38px; | |||||
top: 36px; | |||||
} | |||||
} | |||||
.top_box{ | |||||
padding: 22PX 7% 0PX; | |||||
.title{font-size: .4rem;margin-bottom: 10PX;} | |||||
.label{color: #878787;margin-bottom: 10PX;} | |||||
div{ | |||||
display: flex; | |||||
p{ | |||||
color: #1D6FE9; | |||||
font-size: 14PX; | |||||
&:nth-child(1){ | |||||
margin-right: 10PX; | |||||
i{ | |||||
width: 10PX; | |||||
height: 10PX; | |||||
display: inline-block; | |||||
margin-right: 5PX; | |||||
background: url('../../assets/images/sunVillage_info/icon_sm.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
} | |||||
} | |||||
&:nth-child(2){ | |||||
margin-right: 10PX; | |||||
i{ | |||||
width: 10PX; | |||||
height: 10PX; | |||||
display: inline-block; | |||||
margin-right: 5PX; | |||||
background: url('../../assets/images/sunVillage_info/icon_sm.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
} | |||||
} | |||||
&:nth-child(3){ | |||||
color: #878787; | |||||
margin-left: auto; | |||||
i{ | |||||
width: 10PX; | |||||
height: 10PX; | |||||
display: inline-block; | |||||
margin-right: 5PX; | |||||
background: url('../../assets/images/sunVillage_info/icon_cj.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} | |||||
.van-cell{ | |||||
width: 96%; | |||||
margin: 0 auto; | |||||
margin-top: 15PX; | |||||
box-shadow: 5PX 5PX 2PX #ccc; | |||||
border-radius: 10PX; | |||||
} | |||||
.cell_title{ | |||||
display: flex; | |||||
align-items: center; | |||||
.van-radio{ | |||||
margin-left: auto; | |||||
} | |||||
} | |||||
.cell_label{ | |||||
display: flex; | |||||
align-items: center; | |||||
margin-top: 15PX; | |||||
.van-progress{ | |||||
width: 70%; | |||||
} | |||||
p{ | |||||
margin-left: auto; | |||||
&:nth-child(3){ | |||||
margin-left: 10PX; | |||||
} | |||||
} | |||||
} | |||||
.creatName{ | |||||
color: #878787; | |||||
font-size: 14PX; | |||||
display: flex; | |||||
justify-content: space-between; | |||||
width: 88%; | |||||
margin: 15PX auto 30PX; | |||||
} | |||||
.van-button{ | |||||
width: 95%; | |||||
margin: 0 auto; | |||||
border-radius: 5PX; | |||||
} | |||||
} | |||||
</style> |
@@ -0,0 +1,302 @@ | |||||
<template> | |||||
<div class="home_wrapper"> | |||||
<div class="header_main"> | |||||
修改投票 | |||||
<div class="return_btn" @click="onClickLeft"></div> | |||||
<div class="add_btn"></div> | |||||
</div> | |||||
<van-form @submit="onSubmit"> | |||||
<div class="list_main"> | |||||
<van-field required label="主题" v-model="form.subjectName" placeholder="请输入主题" :rules="[{ required: true , message:'请输入主题' }]" input-align="right" :border="false" /> | |||||
<van-field label="描述" v-model="form.description" placeholder="请输入描述" input-align="right" :border="false" /> | |||||
<van-field label="规则" v-model="form.rules" placeholder="请输入规则" input-align="right" :border="false" /> | |||||
<van-field name="radio" label="投票类型" input-align="right" :border="false"> | |||||
<template #input> | |||||
<van-radio-group v-model="form.type" direction="horizontal"> | |||||
<van-radio name="1">单选</van-radio> | |||||
<van-radio name="2">多选</van-radio> | |||||
</van-radio-group> | |||||
</template> | |||||
</van-field> | |||||
<van-field | |||||
readonly | |||||
clickable | |||||
label="开始时间" | |||||
placeholder="请选择" | |||||
v-model="form.startTime" | |||||
@click="showStartTime = true" | |||||
input-align="right" | |||||
right-icon="arrow-down" | |||||
label-width="auto" | |||||
required | |||||
:border="false" | |||||
:rules="[{ required: true , message:'请选择开始时间' }]" | |||||
/> | |||||
<van-popup v-model="showStartTime" position="bottom"> | |||||
<van-datetime-picker | |||||
v-model="startTime" | |||||
type="datetime" | |||||
title="选择开始时间" | |||||
@confirm="onConfirmOpenNy" | |||||
@cancel="showStartTime = false" | |||||
/> | |||||
</van-popup> | |||||
<van-field | |||||
readonly | |||||
clickable | |||||
label="结束时间" | |||||
placeholder="请选择" | |||||
v-model="form.endTime" | |||||
@click="showEndTime = true" | |||||
input-align="right" | |||||
right-icon="arrow-down" | |||||
label-width="auto" | |||||
required | |||||
:border="false" | |||||
:rules="[{ required: true , message:'请选择结束时间' }]" | |||||
/> | |||||
<van-popup v-model="showEndTime" position="bottom"> | |||||
<van-datetime-picker | |||||
v-model="endTime" | |||||
type="datetime" | |||||
title="选择结束时间" | |||||
@confirm="onConfirmOpenEndTime" | |||||
@cancel="showEndTime = false" | |||||
/> | |||||
</van-popup> | |||||
<van-field label="发起人/单位" v-model="form.promoters" placeholder="请输入发起人/单位" input-align="right" :border="false" /> | |||||
<van-field name="radio" label="是否匿名" input-align="right" :border="false"> | |||||
<template #input> | |||||
<van-radio-group v-model="form.anonymous" direction="horizontal"> | |||||
<van-radio name="Y">是</van-radio> | |||||
<van-radio name="N">否</van-radio> | |||||
</van-radio-group> | |||||
</template> | |||||
</van-field> | |||||
<p class="tit">投票选项</p> | |||||
<div style="margin-bottom: 10PX;"> | |||||
<van-field v-for="(item,index) in form.options" :key="index" required :rules="[{ required: true , message:'请输入选项名称' }]" :label="'选项'+(index+1)" v-model="item.name" placeholder="请输入选项" input-align="right" :border="false" /> | |||||
</div> | |||||
<van-button plain hairline block icon="plus" type="info" native-type="button" @click="addOptions">增加投票选项</van-button> | |||||
</div> | |||||
<div style="margin: 16px auto;width: 50%;"> | |||||
<van-button round block type="primary" native-type="submit"> | |||||
保存 | |||||
</van-button> | |||||
</div> | |||||
</van-form> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import { commonUpload , updatePoll , getPoll } from "@/api/sunVillage_info/fixedAssets"; | |||||
import Cookies from "js-cookie"; | |||||
import request from '@/utils/request' | |||||
export default { | |||||
name: "certificateList", | |||||
data() { | |||||
return { | |||||
showStartTime:false, | |||||
showEndTime:false, | |||||
form:{ | |||||
startTime:this.format(new Date(),'yyyy-MM-dd HH:mm:ss'), | |||||
endTime:this.format(new Date(),'yyyy-MM-dd HH:mm:ss'), | |||||
type:'1', | |||||
anonymous:'Y', | |||||
status:'2', | |||||
options:[{name:''}] | |||||
}, | |||||
openPic:[], | |||||
fileList:[], | |||||
fileList1:[], | |||||
startTime:new Date(), | |||||
endTime:new Date(), | |||||
type:'', | |||||
openFile:[], | |||||
openFileList:[], | |||||
queryParams:{ | |||||
bookId:'', | |||||
deptId:'' | |||||
}, | |||||
openFile2:[], | |||||
openPic2:[], | |||||
}; | |||||
}, | |||||
created() { | |||||
this.queryParams.bookId = Cookies.get('bookId'); | |||||
this.queryParams.deptId = Cookies.get('deptId'); | |||||
this.getDetail(this.$route.query.id); | |||||
}, | |||||
methods: { | |||||
getDetail(id){ | |||||
var _this = this; | |||||
getPoll(id).then(response => { | |||||
_this.form = response.data; | |||||
}); | |||||
}, | |||||
addOptions(){ | |||||
var that = this; | |||||
let array = that.form.options.filter(function (e) { return e.name == ""; }); | |||||
console.log(array); | |||||
if (array.length>0){ | |||||
that.$toast('请勿添加多个空选项!'); | |||||
}else{ | |||||
that.form.options.push({name:''}) | |||||
} | |||||
}, | |||||
onSubmit(){ | |||||
var that = this; | |||||
updatePoll(that.form).then((r1) => { | |||||
if (r1.code == 200){ | |||||
that.$notify({ type: 'success', message: '新增成功' }); | |||||
setTimeout(function(){ | |||||
history.back(-1); | |||||
},2000) | |||||
} | |||||
}) | |||||
}, | |||||
onConfirmOpenNy(data){ | |||||
this.form.startTime = this.format(data,'yyyy-MM-dd HH:mm:ss'); | |||||
this.startTime = data; | |||||
this.showStartTime = false; | |||||
}, | |||||
onConfirmOpenEndTime(data){ | |||||
this.form.endTime = this.format(data,'yyyy-MM-dd HH:mm:ss'); | |||||
this.endTime = data; | |||||
this.showEndTime = false; | |||||
}, | |||||
}, | |||||
} | |||||
</script> | |||||
<style scoped lang="scss"> | |||||
/deep/ .van-button--primary{ | |||||
background: url("../../assets/images/sunVillage_info/btn_bg.png") no-repeat; | |||||
background-size: 100% 100%; | |||||
border: none; | |||||
} | |||||
.van-radio:last-child{ | |||||
margin-right: 0; | |||||
} | |||||
.home_wrapper{ | |||||
background: #e9e9e9; | |||||
min-height: 100vh; | |||||
width: 100vw; | |||||
.header_main { | |||||
height: 116px; | |||||
background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
position: fixed; | |||||
top: 0; | |||||
left: 0; | |||||
width: 100%; | |||||
font-size: 36px; | |||||
line-height: 116px; | |||||
text-align: center; | |||||
color: #fff; | |||||
position: relative; | |||||
.return_btn { | |||||
width: 24px; | |||||
height: 43.2px; | |||||
background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||||
background-size: 20px 36px; | |||||
position: absolute; | |||||
left: 38px; | |||||
top: 36px; | |||||
} | |||||
} | |||||
.release_head{ | |||||
height: 90px; | |||||
padding:0 23px; | |||||
display: flex; | |||||
align-items: center; | |||||
font-size: 26px; | |||||
color: #929292; | |||||
.people{ | |||||
flex: 1; | |||||
display: flex; | |||||
align-items: center; | |||||
.icon{ | |||||
width: 24px; | |||||
height: 21px; | |||||
background: url('../../assets/images/sunVillage_info/details_icon_1.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
margin-right: 8px; | |||||
} | |||||
} | |||||
.time{ | |||||
flex: 1; | |||||
display: flex; | |||||
align-items: center; | |||||
justify-content:flex-end; | |||||
.icon{ | |||||
width: 25px; | |||||
height: 25px; | |||||
background: url('../../assets/images/sunVillage_info/details_icon_2.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
display: block; | |||||
margin-right: 8px; | |||||
} | |||||
} | |||||
} | |||||
.release_conetnt{ | |||||
padding:0 22px; | |||||
font-size: 32px; | |||||
color: #252525; | |||||
line-height: 44px; | |||||
img{ | |||||
max-width: 100%; | |||||
margin-bottom: 16px; | |||||
} | |||||
p{ | |||||
margin-bottom: 16px; | |||||
} | |||||
} | |||||
.list_main{ | |||||
padding:25px; | |||||
background: #ffffff; | |||||
width: 94%; | |||||
margin: 25px auto 0; | |||||
border-radius: 15PX; | |||||
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1); | |||||
} | |||||
.tit{ | |||||
font-size: 16PX; | |||||
padding: 15PX 10PX; | |||||
} | |||||
/deep/ .van-cell{ | |||||
padding-left: 0!important; | |||||
padding-right: 0!important; | |||||
padding-bottom: 0!important; | |||||
&:nth-child(1){ | |||||
padding-top: 0; | |||||
} | |||||
} | |||||
/deep/ .van-field__label{ | |||||
padding-left: 10PX; | |||||
width: auto; | |||||
display: flex; | |||||
align-items: center; | |||||
} | |||||
/deep/ .van-cell--required::before{ | |||||
left: 0PX; | |||||
} | |||||
/deep/ .van-field__error-message{ | |||||
display: none; | |||||
} | |||||
} | |||||
</style> |
@@ -0,0 +1,269 @@ | |||||
<template> | |||||
<div class="home_wrapper"> | |||||
<div class="header_main"> | |||||
投票 | |||||
<div class="return_btn" @click="onClickLeft"></div> | |||||
</div> | |||||
<div class="top_box"> | |||||
<p class="title">{{form.subjectName}}</p> | |||||
<p class="label">{{form.description}}</p> | |||||
<div> | |||||
<p><i></i>{{form.anonymous == '1' ? '匿名':'实名'}}</p> | |||||
<p><i></i>{{form.type == '1' ? '单选':'多选'}}</p> | |||||
<p><i></i>{{form.nums}}人已参加</p> | |||||
</div> | |||||
</div> | |||||
<van-radio-group v-model="radio" v-if="form.type == '1'"> | |||||
<van-cell | |||||
:border="false" | |||||
center | |||||
v-for="(item,index) in form.options" | |||||
:key="index" | |||||
> | |||||
<template #title> | |||||
<div class="cell_title"> | |||||
<img src="../../assets/images/sunVillage_info/icon_vote.png" style="width: .5rem;margin-right: 2%;"> | |||||
<p>{{item.name}}</p> | |||||
<van-radio :name="item.id" /> | |||||
</div> | |||||
</template> | |||||
<template #label> | |||||
<div class="cell_label"> | |||||
<van-progress :percentage="50" stroke-width="7" :show-pivot="false" /> | |||||
<p>{{item.num}}票</p> | |||||
<p>87%</p> | |||||
</div> | |||||
</template> | |||||
</van-cell> | |||||
</van-radio-group> | |||||
<van-checkbox-group v-model="radio" v-if="form.type != '1'"> | |||||
<van-cell | |||||
:border="false" | |||||
center | |||||
v-for="(item,index) in form.options" | |||||
:key="index" | |||||
> | |||||
<template #title> | |||||
<div class="cell_title"> | |||||
<img src="../../assets/images/sunVillage_info/icon_vote.png" style="width: .5rem;margin-right: 2%;"> | |||||
<p>{{item.name}}</p> | |||||
<van-checkbox :name="item.id" /> | |||||
</div> | |||||
</template> | |||||
<template #label> | |||||
<div class="cell_label"> | |||||
<van-progress :percentage="50" stroke-width="7" :show-pivot="false" /> | |||||
<p>{{item.num}}票</p> | |||||
<p>87%</p> | |||||
</div> | |||||
</template> | |||||
</van-cell> | |||||
</van-checkbox-group> | |||||
<div class="creatName"> | |||||
<p>截止时间:{{form.endTime}}</p> | |||||
<p>发起人:{{form.promoters}}</p> | |||||
</div> | |||||
<van-button type="info" block @click="goSubmit">确认投票</van-button> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import { getPoll , votePoll } from "@/api/sunVillage_info/fixedAssets"; | |||||
import Cookies from "js-cookie"; | |||||
import request from '@/utils/request' | |||||
export default { | |||||
name: "certificateList", | |||||
data() { | |||||
return { | |||||
applicationList:[], | |||||
applicationListSecond:[], | |||||
assetStatusOptions:[], | |||||
auditStatus:[], | |||||
loading: false, | |||||
finished: false, | |||||
show: false, | |||||
showTab: false, | |||||
fileList:[], | |||||
listLength:'0', | |||||
searchInput:'', | |||||
queryParams:{ | |||||
pageNum:1, | |||||
pageSize:10, | |||||
orderByColumn:'createTime', | |||||
isAsc:'desc', | |||||
year:'2022', | |||||
}, | |||||
uploadFiles1:[], | |||||
projectId:'', | |||||
projectIndex:'', | |||||
showBtn:true, | |||||
form:{}, | |||||
radio:[] | |||||
}; | |||||
}, | |||||
created() { | |||||
this.queryParams.bookId = Cookies.get('bookId'); | |||||
this.queryParams.deptId = Cookies.get('deptId'); | |||||
if (this.$route.query.type == 'code'){ | |||||
this.showBtn = false; | |||||
} | |||||
this.getDetail(this.$route.query.id); | |||||
}, | |||||
methods: { | |||||
getDetail(id){ | |||||
var _this = this; | |||||
getPoll(id).then(response => { | |||||
_this.form = response.data; | |||||
}); | |||||
}, | |||||
goSubmit(){ | |||||
var _this = this; | |||||
var data = { | |||||
userId:JSON.parse(Cookies.get('user')).id, | |||||
option:_this.radio | |||||
} | |||||
votePoll(_this.form.id,data).then(response => { | |||||
_this.$notify({ type: 'success', message: '投票成功' }); | |||||
setTimeout(function(){ | |||||
history.back(-1); | |||||
},2000) | |||||
}); | |||||
}, | |||||
}, | |||||
} | |||||
</script> | |||||
<style scoped lang="scss"> | |||||
.home_wrapper{ | |||||
background: #e9e9e9; | |||||
min-height: 100vh; | |||||
width: 100vw; | |||||
.header_main{ | |||||
height: 116px; | |||||
background: url('../../assets/images/sunVillage_info/list_head.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
position: fixed; | |||||
top: 0; | |||||
left: 0; | |||||
width: 100%; | |||||
font-size: 36px; | |||||
line-height: 116px; | |||||
text-align: center; | |||||
color: #fff; | |||||
position: relative; | |||||
.return_btn{ | |||||
width: 24px; | |||||
height: 43.2px; | |||||
background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||||
background-size: 20px 36px; | |||||
position: absolute; | |||||
left: 38px; | |||||
top: 36px; | |||||
} | |||||
.add_btn{ | |||||
width: 56.4px; | |||||
height: 40.8px; | |||||
background: url('../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat; | |||||
background-size: 47px 34px; | |||||
position: absolute; | |||||
right: 38px; | |||||
top: 36px; | |||||
} | |||||
} | |||||
.top_box{ | |||||
padding: 22PX 7% 0PX; | |||||
.title{font-size: .4rem;margin-bottom: 10PX;} | |||||
.label{color: #878787;margin-bottom: 10PX;} | |||||
div{ | |||||
display: flex; | |||||
p{ | |||||
color: #1D6FE9; | |||||
font-size: 14PX; | |||||
&:nth-child(1){ | |||||
margin-right: 10PX; | |||||
i{ | |||||
width: 10PX; | |||||
height: 10PX; | |||||
display: inline-block; | |||||
margin-right: 5PX; | |||||
background: url('../../assets/images/sunVillage_info/icon_sm.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
} | |||||
} | |||||
&:nth-child(2){ | |||||
margin-right: 10PX; | |||||
i{ | |||||
width: 10PX; | |||||
height: 10PX; | |||||
display: inline-block; | |||||
margin-right: 5PX; | |||||
background: url('../../assets/images/sunVillage_info/icon_sm.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
} | |||||
} | |||||
&:nth-child(3){ | |||||
color: #878787; | |||||
margin-left: auto; | |||||
i{ | |||||
width: 10PX; | |||||
height: 10PX; | |||||
display: inline-block; | |||||
margin-right: 5PX; | |||||
background: url('../../assets/images/sunVillage_info/icon_cj.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} | |||||
.van-cell{ | |||||
width: 96%; | |||||
margin: 0 auto; | |||||
margin-top: 15PX; | |||||
box-shadow: 5PX 5PX 2PX #ccc; | |||||
border-radius: 10PX; | |||||
} | |||||
.cell_title{ | |||||
display: flex; | |||||
align-items: center; | |||||
.van-checkbox{ | |||||
margin-left: auto; | |||||
} | |||||
.van-radio{ | |||||
margin-left: auto; | |||||
} | |||||
} | |||||
.cell_label{ | |||||
display: flex; | |||||
align-items: center; | |||||
margin-top: 15PX; | |||||
.van-progress{ | |||||
width: 70%; | |||||
} | |||||
p{ | |||||
margin-left: auto; | |||||
&:nth-child(3){ | |||||
margin-left: 10PX; | |||||
} | |||||
} | |||||
} | |||||
.creatName{ | |||||
color: #878787; | |||||
font-size: 14PX; | |||||
display: flex; | |||||
justify-content: space-between; | |||||
width: 88%; | |||||
margin: 15PX auto 30PX; | |||||
} | |||||
.van-button{ | |||||
width: 95%; | |||||
margin: 0 auto; | |||||
border-radius: 5PX; | |||||
} | |||||
} | |||||
</style> |
@@ -0,0 +1,272 @@ | |||||
<template> | |||||
<div class="home_wrapper"> | |||||
<div class="return_btn" @click="onClickLeft"></div> | |||||
<div class="focus_head"> | |||||
</div> | |||||
<div class="focus_info"> | |||||
<div class="icon"></div> | |||||
<div class="title"></div> | |||||
</div> | |||||
<van-form @submit="handleLogin"> | |||||
<div class="login_from"> | |||||
<div class="flex_block"> | |||||
<div class="flex_input_main"> | |||||
<div class="icon_wrap user"></div> | |||||
<div class="input_wrap"> | |||||
<input type="text" v-model="formData.memberName" class="ipt" placeholder="姓名"/> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<div class="flex_block"> | |||||
<div class="flex_input_main"> | |||||
<div class="icon_wrap password"></div> | |||||
<div class="input_wrap"> | |||||
<input type="text" v-model="formData.idcard" class="ipt" placeholder="身份证号码"/> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<!-- <div class="flex_block">--> | |||||
<!-- <div class="flex_input_main valid">--> | |||||
<!-- <div class="icon_wrap valid"></div>--> | |||||
<!-- <div class="input_wrap">--> | |||||
<!-- <input type="text" v-model="formData.code" class="ipt" maxlength="4" placeholder="请输入验证码"/>--> | |||||
<!-- </div>--> | |||||
<!-- </div>--> | |||||
<!-- <div class="valid_main">--> | |||||
<!-- <img :src="codeUrl" @click="getCode" />--> | |||||
<!-- </div>--> | |||||
<!-- </div>--> | |||||
<van-checkbox v-model="formData.rememberMe">记住我的信息</van-checkbox> | |||||
</div> | |||||
<div class="login_btn"> | |||||
<!-- <div class="btn" :loading="loading">登录</div>--> | |||||
<van-button | |||||
class="btn" | |||||
round | |||||
block | |||||
type="info" | |||||
native-type="submit" | |||||
:loading="loading" | |||||
>验证</van-button> | |||||
</div> | |||||
</van-form> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import { getCodeImg, getSmsCode } from "@/api/login"; | |||||
import { checkFarmer } from "@/api/sunVillage_info/fixedAssets"; | |||||
import Cookies from "js-cookie"; | |||||
import { encrypt, decrypt } from "../../utils/jsencrypt"; | |||||
//引用wx sdk | |||||
import wx from "weixin-js-sdk"; | |||||
export default { | |||||
name: "login", | |||||
data() { | |||||
return { | |||||
formData: { | |||||
memberName:'', | |||||
idcard:'', | |||||
bookId:'', | |||||
rememberMe:false | |||||
}, | |||||
loading: false, | |||||
codeUrl: "", //验证码 | |||||
isSmsLogin: false, //是否手机验证码 | |||||
computeTime: 0, | |||||
height:0, | |||||
show:true | |||||
}; | |||||
}, | |||||
created() { | |||||
this.height = document.body.clientHeight | |||||
this.getCookie(); | |||||
this.formData.bookId = Cookies.get('bookId'); | |||||
}, | |||||
methods: { | |||||
getCookie() { | |||||
const memberName = Cookies.get("memberName"); | |||||
const idcard = Cookies.get("idcard"); | |||||
const rememberMe = Cookies.get("rememberInformation"); | |||||
this.formData = { | |||||
memberName: memberName === undefined ? this.formData.memberName : memberName, | |||||
idcard: idcard === undefined ? this.formData.idcard : idcard, | |||||
rememberMe: rememberMe === undefined ? false : Boolean(rememberMe), | |||||
}; | |||||
}, | |||||
handleLogin(values) { | |||||
if (this.formData.rememberMe) { | |||||
Cookies.set("memberName", this.formData.memberName, { expires: 30 }); | |||||
Cookies.set("idcard", this.formData.idcard, { expires: 30 }); | |||||
Cookies.set("rememberInformation", this.formData.rememberMe, { expires: 30 }); | |||||
} else { | |||||
Cookies.remove("username"); | |||||
Cookies.remove("password"); | |||||
Cookies.remove("rememberInformation"); | |||||
} | |||||
//账号密码登录 | |||||
if (this.formData.memberName == "") { | |||||
this.$dialog.alert({ | |||||
message: '姓名不能为空', | |||||
}); | |||||
return false; | |||||
} else if (this.formData.idcard == "") { | |||||
this.$dialog.alert({ | |||||
message: '身份证不能为空', | |||||
}); | |||||
return false; | |||||
} | |||||
checkFarmer(this.formData).then(response => { | |||||
console.log(response.data) | |||||
if (response.code == 200){ | |||||
Cookies.set("user", response.data, { expires: 30 }); | |||||
this.$router.push({path:'/sunVillage_info/index_code_rights'}) | |||||
} | |||||
}); | |||||
}, | |||||
}, | |||||
}; | |||||
</script> | |||||
<style scoped lang="scss"> | |||||
/deep/ .van-checkbox__label{ | |||||
color: #ffffff; | |||||
} | |||||
/deep/ .van-checkbox{ | |||||
justify-content: right; | |||||
} | |||||
.home_wrapper{ | |||||
background: #f1f2f2; | |||||
width: 100vw; | |||||
min-height: 100vh; | |||||
.return_btn { | |||||
width: 24px; | |||||
height: 43.2px; | |||||
background: url('../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat; | |||||
background-size: 20px 36px; | |||||
position: absolute; | |||||
left: 38px; | |||||
top: 36px; | |||||
} | |||||
.focus_head{ | |||||
height: 450px; | |||||
background: url('../../assets/images/sunVillage_info/login_head_code.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
} | |||||
.focus_info{ | |||||
margin-top: -74px; | |||||
.icon{ | |||||
background: url('../../assets/images/sunVillage_info/login_head_t.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
width: 145px; | |||||
height: 148px; | |||||
margin:0 auto; | |||||
} | |||||
.title{ | |||||
width: 180PX; | |||||
height: 52px; | |||||
background: url('../../assets/images/sunVillage_info/login_head_nr_code.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
margin:30px auto 0; | |||||
} | |||||
} | |||||
.login_from{ | |||||
width: 676px; | |||||
height: 350px; | |||||
background: url('../../assets/images/sunVillage_info/login_main.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
margin: 50px auto 0; | |||||
padding:60px 50px 0; | |||||
.flex_block{ | |||||
margin-bottom: 40px; | |||||
display: flex; | |||||
justify-content:space-between; | |||||
.flex_input_main{ | |||||
position: relative; | |||||
display: flex; | |||||
flex: 1; | |||||
align-items:center; | |||||
background: rgba(255,255,255,0.7); | |||||
border-radius: 62px; | |||||
height: 62px; | |||||
.icon_wrap{ | |||||
width: 35px; | |||||
height: 35px; | |||||
&.user{ | |||||
background: url('../../assets/images/sunVillage_info/login_icon_1.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
margin-left: 30px; | |||||
} | |||||
&.password{ | |||||
background: url('../../assets/images/sunVillage_info/login_icon_2_code.png') no-repeat; | |||||
height: 25px; | |||||
background-size: 100% 100%; | |||||
margin-left: 30px; | |||||
} | |||||
&.valid{ | |||||
background: url('../../assets/images/sunVillage_info/login_icon_3.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
margin-left: 30px; | |||||
} | |||||
} | |||||
.input_wrap{ | |||||
flex: 1; | |||||
margin-left: 16px; | |||||
padding-right: 30px; | |||||
.ipt{ | |||||
width: 100%; | |||||
height: 48px; | |||||
background:transparent; | |||||
font-size: 30px; | |||||
color: #3f3d56; | |||||
} | |||||
} | |||||
.showHidden{ | |||||
width: 32px; | |||||
height: 32px; | |||||
background: url('../../assets/images/sunVillage_info/login_icon_4.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
position: absolute; | |||||
right: 38px; | |||||
cursor: pointer; | |||||
&.ico_hide{ | |||||
background: url('../../assets/images/sunVillage_info/login_icon_5.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
} | |||||
} | |||||
&.valid{ | |||||
flex:0 0 380px; | |||||
} | |||||
} | |||||
.valid_main{ | |||||
width: 165px; | |||||
height: 62px; | |||||
border-radius: 30px; | |||||
img{ | |||||
width: 100%; | |||||
height: 100%; | |||||
border-radius: 30px; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
.login_btn{ | |||||
padding-top: 80px; | |||||
.btn{ | |||||
width: 315px; | |||||
height: 70px; | |||||
background:url('../../assets/images/sunVillage_info/login_btn.png') no-repeat; | |||||
background-size: 100% 100%; | |||||
margin:0 auto; | |||||
font-size: 32px; | |||||
color: #fff; | |||||
line-height: 70px; | |||||
text-align: center; | |||||
border: none; | |||||
} | |||||
} | |||||
} | |||||
</style> |