@@ -70,3 +70,11 @@ export function depositList(query) { | |||||
}) | }) | ||||
} | } | ||||
export function farmerLogin(data) { | |||||
return request({ | |||||
url: '/register/farmerLogin', | |||||
method: 'post', | |||||
data: data, | |||||
}) | |||||
} | |||||
@@ -34,7 +34,7 @@ export default { | |||||
} | } | ||||
}, | }, | ||||
year: function (newVal, oldVal) { | year: function (newVal, oldVal) { | ||||
console.log(newVal) | |||||
//console.log(newVal) | |||||
if(newVal != this.yearNews) | if(newVal != this.yearNews) | ||||
{ | { | ||||
this.yearNews = newVal; | this.yearNews = newVal; | ||||
@@ -197,6 +197,11 @@ const whiteList = [ | |||||
'/plotPremisesMobile/index',//闲置资源 | '/plotPremisesMobile/index',//闲置资源 | ||||
'/sunVillage_info/login_farmer', //村民登录 | |||||
'/sunVillage_info/index_farmer', //村民主页 | |||||
'/sunVillage_info/financeOpen', //村民主页 | |||||
//承包地确权 | //承包地确权 | ||||
'/contracted/login',//登录 | '/contracted/login',//登录 | ||||
'/contracted/index',//首页 | '/contracted/index',//首页 | ||||
@@ -6252,6 +6252,33 @@ export const constantRoutes = [ | |||||
}, | }, | ||||
component: (resolve) => require(['@/views/pest/temperatureAndHumidity/temperatureAndHumidity'], resolve) | component: (resolve) => require(['@/views/pest/temperatureAndHumidity/temperatureAndHumidity'], resolve) | ||||
}, | }, | ||||
{ // 阳光村务(一村一码)-- 村民登录 | |||||
path: '/sunVillage_info/login_farmer', | |||||
name: 'sunVillageInfoFarmerLogin', | |||||
meta: { | |||||
title: '村民验证登录', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/sunVillage_info/login_farmer'], resolve) | |||||
}, | |||||
{ // 阳光村务(一村一码)-- 村民主页 | |||||
path: '/sunVillage_info/index_farmer', | |||||
name: 'sunVillageInfoFarmerIndex', | |||||
meta: { | |||||
title: '阳光村务', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/sunVillage_info/index_farmer'], resolve) | |||||
}, | |||||
{ ////阳光村务(一村一码)-- 财务公开榜 | |||||
path: '/sunVillage_info/financeOpen', | |||||
name: 'sunVillageInfoFinanceOpen', | |||||
meta: { | |||||
title: '财务公开榜', | |||||
hidden: true, | |||||
}, | |||||
component: (resolve) => require(['@/views/sunVillage_info/financeOpen'], resolve) | |||||
}, | |||||
]; | ]; | ||||
@@ -0,0 +1,289 @@ | |||||
<template> | |||||
<div class="home_wrapper"> | |||||
<div class="header_main"> | |||||
财务公开 | |||||
<div class="return_btn" @click="back"></div> | |||||
<div class="filter-btn" @click="filterList"></div> | |||||
</div> | |||||
<p class="top_head_title">{{openName}}</p> | |||||
<div class="center_box"> | |||||
<van-row class="table-header"> | |||||
<van-col class="col-item" :span="10">具体事由</van-col> | |||||
<van-col class="col-item" :span="7">收入金额</van-col> | |||||
<van-col class="col-item" :span="7">支出金额</van-col> | |||||
</van-row> | |||||
<van-cell-group class="table-body" v-for="(item,index) in dataList" :key="index"> | |||||
<van-row class="row-item"> | |||||
<van-col class="col-item summary-part" :span="10">{{item.voucherSummary}}</van-col> | |||||
<van-col class="col-item amount-part" :span="7"><template v-if="item.jieAmount">¥{{item.jieAmount}}</template></van-col> | |||||
<van-col class="col-item amount-part" :span="7"><template v-if="item.daiAmount">¥{{item.daiAmount}}</template></van-col> | |||||
</van-row> | |||||
</van-cell-group> | |||||
<van-row class="table-foot"> | |||||
<van-col class="col-item summary-part" :span="10">本月合计:</van-col> | |||||
<van-col class="col-item amount-part" :span="7">¥{{applicationSummary.jie}}</van-col> | |||||
<van-col class="col-item amount-part" :span="7">¥{{applicationSummary.dai}}</van-col> | |||||
</van-row> | |||||
<div class="clear"></div> | |||||
</div> | |||||
<van-popup v-model="dateVisible" position="bottom"> | |||||
<van-datetime-picker | |||||
ref="picker" | |||||
v-model="currentDate" | |||||
type="year-month" | |||||
title="请选择账期" | |||||
:min-date="minDate" | |||||
:max-date="maxDate" | |||||
@confirm="onConfirm" | |||||
/> | |||||
</van-popup> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import {bookInfo, financialAmountPublicMonthList} from "@/api/sunVillage_info/fixedAssets"; | |||||
import Cookies from "js-cookie"; | |||||
import {date, date_format, strtotime} from "@/utils"; | |||||
export default { | |||||
name: "certificateList", | |||||
data() { | |||||
return { | |||||
dataList:[], | |||||
applicationSummary: {}, | |||||
loading: false, | |||||
queryParams: { | |||||
yearMonth: date_format('yyyy-MM'), | |||||
bookId: '', | |||||
deptId: '', | |||||
all: false | |||||
}, | |||||
deptName: '', | |||||
dateVisible: false, | |||||
minDate: null, | |||||
maxDate: null, | |||||
currentDate: new Date(), | |||||
}; | |||||
}, | |||||
created() { | |||||
this.queryParams.bookId = Cookies.get('bookId'); | |||||
this.queryParams.deptId = Cookies.get('deptId'); | |||||
this.deptName = Cookies.get('deptName'); | |||||
bookInfo(this.queryParams.bookId).then((res) => { | |||||
if(res.data.startDay) | |||||
this.minDate = strtotime(res.data.startDay, 'yyyy-MM'); | |||||
if(res.data.currentDay) | |||||
this.maxDate = strtotime(res.data.currentDay, 'yyyy-MM'); | |||||
if(res.data.currentDay) | |||||
{ | |||||
this.currentDate = strtotime(res.data.currentDay, 'yyyy-MM'); | |||||
this.queryParams.yearMonth = res.data.currentDay; | |||||
} | |||||
this.getList(); | |||||
}); | |||||
}, | |||||
methods: { | |||||
getList(){ | |||||
this.$toast.loading({ | |||||
forbidClick: true, | |||||
duration: 0, | |||||
}); | |||||
this.loading = true; | |||||
financialAmountPublicMonthList(this.queryParams).then(response => { | |||||
this.dataList = response.rows; | |||||
this.applicationSummary = response.summary; | |||||
}).finally(() => { | |||||
this.$toast.clear(); | |||||
this.loading = false; | |||||
}); | |||||
}, | |||||
back() { | |||||
this.$router.back(); | |||||
}, | |||||
filterList() { | |||||
this.dateVisible = true; | |||||
}, | |||||
onConfirm(data) { | |||||
this.dateVisible = false; | |||||
this.queryParams.yearMonth = date_format(data, 'yyyy-MM'); | |||||
this.getList(); | |||||
}, | |||||
}, | |||||
computed: { | |||||
openName() { | |||||
return date(this.queryParams.yearMonth, 'yyyy-MM', 'yyyy年MM月') + '财务公开'; | |||||
}, | |||||
} | |||||
} | |||||
</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; | |||||
} | |||||
.filter-btn{ | |||||
width: 56.4px; | |||||
height: 40.8px; | |||||
background: url('../../assets/images/sunVillage_info/icon-s-filter.png') center center no-repeat; | |||||
background-size: 47px 34px; | |||||
position: absolute; | |||||
right: 38px; | |||||
top: 36px; | |||||
} | |||||
} | |||||
} | |||||
.top_head_title{ | |||||
font-size: 16PX; | |||||
text-align: center; | |||||
padding: 15PX 0; | |||||
} | |||||
.center_box{ | |||||
padding: 0 2% 0.2rem; | |||||
} | |||||
.table-header { | |||||
background-color: #2facfe; | |||||
position: relative; | |||||
display: -webkit-box; | |||||
display: -webkit-flex; | |||||
display: flex; | |||||
box-sizing: border-box; | |||||
width: 100%; | |||||
padding: 0.2rem 0.1rem; | |||||
overflow: hidden; | |||||
color: #323233; | |||||
line-height: 0.36rem; | |||||
font-weight: bold; | |||||
.col-item { | |||||
position: relative; | |||||
box-sizing: border-box; | |||||
padding: 0.2rem 0.1rem; | |||||
overflow: hidden; | |||||
color: #ffffff; | |||||
font-size: 0.36rem; | |||||
line-height: 0.36rem; | |||||
text-align: center; | |||||
} | |||||
} | |||||
.table-body { | |||||
.row-item { | |||||
position: relative; | |||||
display: -webkit-box; | |||||
display: -webkit-flex; | |||||
display: flex; | |||||
box-sizing: border-box; | |||||
width: 100%; | |||||
padding: 0.2rem 0.1rem; | |||||
overflow: hidden; | |||||
color: #323233; | |||||
font-size: 14px; | |||||
line-height: 0.32rem; | |||||
background-color: #fff; | |||||
.col-item { | |||||
position: relative; | |||||
box-sizing: border-box; | |||||
padding: 0.2rem 0.1rem; | |||||
overflow: hidden; | |||||
color: #323233; | |||||
font-size: 14px; | |||||
line-height: 24px; | |||||
background-color: #fff; | |||||
display: -webkit-box; | |||||
display: -webkit-flex; | |||||
display: flex; | |||||
align-items: center; | |||||
&:nth-child(1) { | |||||
border-right: 0.005rem solid #DDDDDD; | |||||
} | |||||
&:nth-child(3) { | |||||
border-left: 0.005rem solid #DDDDDD; | |||||
} | |||||
} | |||||
.summary-part { | |||||
font-size: 0.33rem; | |||||
} | |||||
.amount-part { | |||||
justify-content: end; | |||||
text-align: right; | |||||
font-size: 0.36rem; | |||||
} | |||||
} | |||||
} | |||||
.table-foot { | |||||
position: relative; | |||||
display: -webkit-box; | |||||
display: -webkit-flex; | |||||
display: flex; | |||||
box-sizing: border-box; | |||||
width: 100%; | |||||
padding: 0.2rem 0.1rem; | |||||
overflow: hidden; | |||||
color: #FF0000; | |||||
font-size: 14px; | |||||
line-height: 0.32rem; | |||||
background-color: rgba(47,172,254,0.2); | |||||
font-weight: bold; | |||||
.col-item { | |||||
position: relative; | |||||
box-sizing: border-box; | |||||
padding: 0.2rem 0.1rem; | |||||
overflow: hidden; | |||||
font-size: 0.32rem; | |||||
line-height: 0.32rem; | |||||
&:nth-child(1) { | |||||
border-right: 0.005rem solid #EEEEEE; | |||||
} | |||||
&:nth-child(3) { | |||||
border-left: 0.005rem solid #EEEEEE; | |||||
} | |||||
} | |||||
.summary-part { | |||||
font-size: 0.33rem; | |||||
text-align: center; | |||||
} | |||||
.amount-part { | |||||
text-align: right; | |||||
font-size: 0.36rem; | |||||
} | |||||
} | |||||
</style> |
@@ -42,16 +42,20 @@ | |||||
responseData: null, | responseData: null, | ||||
remainingSeconds: 3, // 剩余秒数,初始值为3秒 | remainingSeconds: 3, // 剩余秒数,初始值为3秒 | ||||
formData:null, | formData:null, | ||||
redirectPath: '/sunVillage_info/index_code_rights', | |||||
redirectName: null, | |||||
redirectQuery: null, | |||||
}; | }; | ||||
}, | }, | ||||
created() { | created() { | ||||
this.loadRedirectInfo(); | |||||
this.responseData = this.$route.query.responseData; | this.responseData = this.$route.query.responseData; | ||||
// 判断是否已认证 | // 判断是否已认证 | ||||
if (this.responseData.isFacial === 'Y') { | if (this.responseData.isFacial === 'Y') { | ||||
const countdownInterval = setInterval(() => { | const countdownInterval = setInterval(() => { | ||||
if (this.remainingSeconds === 0) { | if (this.remainingSeconds === 0) { | ||||
clearInterval(countdownInterval); // 清除计时器 | clearInterval(countdownInterval); // 清除计时器 | ||||
this.$router.push({ path: '/sunVillage_info/index_code_rights' }); | |||||
this.redirect(); | |||||
} else { | } else { | ||||
this.remainingSeconds--; | this.remainingSeconds--; | ||||
} | } | ||||
@@ -97,7 +101,7 @@ | |||||
message: '人脸验证成功', | message: '人脸验证成功', | ||||
duration: "1000" | duration: "1000" | ||||
}); | }); | ||||
this.$router.push({path: '/sunVillage_info/index_code_rights'}) | |||||
this.redirect(); | |||||
} | } | ||||
}) | }) | ||||
}, | }, | ||||
@@ -110,6 +114,25 @@ | |||||
this.formData.append("file", file.file); | this.formData.append("file", file.file); | ||||
this.$toast.clear(); | this.$toast.clear(); | ||||
}, | }, | ||||
loadRedirectInfo() { | |||||
if(this.$route.query.redirectPath) | |||||
this.redirectPath = this.$route.query.redirectPath; | |||||
if(this.$route.query.redirectName) | |||||
this.redirectName = this.$route.query.redirectName; | |||||
if(this.$route.query.redirectQuery) | |||||
this.redirectQuery = this.$route.query.redirectQuery; | |||||
console.log('redirect info: ', this.redirectPath, this.redirectName, this.redirectQuery); | |||||
}, | |||||
redirect() { | |||||
let parms = {}; | |||||
if(this.redirectPath) | |||||
parms.path = this.redirectPath; | |||||
else if(this.redirectName) | |||||
parms.name = this.redirectName; | |||||
if(this.redirectQuery) | |||||
parms.query = this.redirectQuery; | |||||
this.$router.push(parms); | |||||
}, | |||||
}, | }, | ||||
}; | }; | ||||
</script> | </script> | ||||
@@ -0,0 +1,297 @@ | |||||
<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: 3vh;" v-for="(item,idx) in menusList" :key="idx"> | |||||
<p class="nav_tit">{{item.modleName}}</p> | |||||
<div class="nav_list"> | |||||
<router-link | |||||
v-for="(childrenItem,childrenIdx) in item.menus" | |||||
:key="childrenItem.id" | |||||
:to="{name:childrenItem.menuUrl,query:{type:'code',typeX:childrenItem.urlPara}}" | |||||
class="nav_item" | |||||
:style="`background:url(${require('@/assets/images/sunVillage_info/' + childrenItem.menuIcon)}) no-repeat center top;background-size: 50%;`" | |||||
> | |||||
{{childrenItem.menuName}} | |||||
</router-link> | |||||
</div> | |||||
</div> | |||||
</div> | |||||
<div class="footer"> | |||||
{{configValue == ""?'技术支持:北京农燊高科信息技术有限公司':configValue}} | |||||
</div> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import {bookInfo, nologinMenus} from "@/api/sunVillage_info/fixedAssets"; | |||||
import Cookies from "js-cookie"; | |||||
import {sysConfig} from "@/api/homesteadSurvey"; | |||||
export default { | |||||
name: "certificateList", | |||||
data() { | |||||
return { | |||||
wdqlList:[], | |||||
qqbzList:[], | |||||
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:"", | |||||
menusList:[], | |||||
configValue:'' | |||||
}; | |||||
}, | |||||
created() { | |||||
this.deptId = Cookies.get('deptId') | |||||
this.bookId = Cookies.get('bookId') | |||||
if(this.bookId) | |||||
{ | |||||
bookInfo(this.bookId).then((res) => { | |||||
if (res.code == 200) { | |||||
this.deptName = res.data.deptName; | |||||
this.bookName = res.data.bookName; | |||||
} | |||||
}); | |||||
} | |||||
const user = Cookies.get('user'); | |||||
if(user){ | |||||
this.userName = JSON.parse(user).memberName | |||||
} | |||||
let query = { | |||||
identityType:2 | |||||
} | |||||
nologinMenus(query).then((res) => { | |||||
if (res.code == 200) { | |||||
this.menusList = res.data; | |||||
} | |||||
}); | |||||
let params={ | |||||
configKey: "system.company.name"} | |||||
sysConfig(params).then((res) => { | |||||
if (res.code == 200) { | |||||
this.configValue = res.rows[0].configValue; | |||||
} | |||||
}); | |||||
}, | |||||
methods: { | |||||
goOut(){ | |||||
// Cookies.remove("memberName"); | |||||
// Cookies.remove("idcard"); | |||||
Cookies.remove("user"); | |||||
this.$router.push({name:'sunVillageInfoFarmerLogin',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_green.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(132,131,147,0.75); | |||||
border-radius: 42px; | |||||
font-size: 28px; | |||||
color: #ffffff; | |||||
margin-right: 12px; | |||||
display: flex; | |||||
align-items:center; | |||||
.icon{ | |||||
display: block; | |||||
width: 20px; | |||||
height: 26px; | |||||
background: url('../../assets/images/sunVillage_info/index_icon_1_green.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: 45PX; | |||||
width: 25%; | |||||
&:nth-child(3){ | |||||
margin-right: 0; | |||||
} | |||||
&:nth-child(4n+1){ | |||||
margin-top: 15PX; | |||||
} | |||||
&:nth-child(5n+1){ | |||||
margin-top: 15PX; | |||||
} | |||||
&:nth-child(6n+1){ | |||||
margin-top: 15PX; | |||||
} | |||||
&:nth-child(1){ | |||||
margin-top: 0PX; | |||||
} | |||||
&.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%; | |||||
} | |||||
&.n_6 { | |||||
background: url('../../assets/images/sunVillage_info/index_block_06.png') no-repeat center top; | |||||
background-size: 34.5PX; | |||||
} | |||||
&.n_66 { | |||||
background: url('../../assets/images/sunVillage_info/tcIcon.png') no-repeat center top; | |||||
background-size: 44.5PX; | |||||
} | |||||
&.n_77 { | |||||
background: url('../../assets/images/sunVillage_info/index_block_77.png') no-repeat center top; | |||||
background-size: 34.5PX; | |||||
} | |||||
} | |||||
} | |||||
} | |||||
} | |||||
.footer{ | |||||
margin-top: 15PX; | |||||
bottom: 5.5vh; | |||||
width: 100%; | |||||
font-size: 22px; | |||||
color: #3f3d56; | |||||
text-align: center; | |||||
} | |||||
} | |||||
</style> |
@@ -6,7 +6,7 @@ | |||||
> | > | ||||
投诉建议 | 投诉建议 | ||||
<div class="return_btn" @click="onClickLeft"></div> | <div class="return_btn" @click="onClickLeft"></div> | ||||
<div class="add_btn" @click="goAdd" v-show="showBtn"></div> | |||||
<div class="add_btn" @click="goAdd" v-show="showBtn || isVisitor"></div> | |||||
</div> | </div> | ||||
<van-list | <van-list | ||||
v-model="loading" | v-model="loading" | ||||
@@ -60,7 +60,8 @@ | |||||
show: true, | show: true, | ||||
fileList:[], | fileList:[], | ||||
showBtn:true, | showBtn:true, | ||||
queryParams:{} | |||||
queryParams:{}, | |||||
isVisitor: false, | |||||
}; | }; | ||||
}, | }, | ||||
created() { | created() { | ||||
@@ -80,6 +81,7 @@ | |||||
translate_dict:1, | translate_dict:1, | ||||
} | } | ||||
}else{ | }else{ | ||||
this.isVisitor = true; | |||||
this.showBtn = false; | this.showBtn = false; | ||||
this.queryParams = { | this.queryParams = { | ||||
deptId:Cookies.get('deptId'), | deptId:Cookies.get('deptId'), | ||||
@@ -0,0 +1,296 @@ | |||||
<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.name" 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> | |||||
<van-checkbox v-model="formData.rememberMe">记住我的信息</van-checkbox> | |||||
</div> | |||||
<div class="login_btn"> | |||||
<van-button | |||||
class="btn" | |||||
round | |||||
block | |||||
type="info" | |||||
native-type="submit" | |||||
color="linear-gradient(to right, #2ec8c4, #30c271)" | |||||
:loading="loading" | |||||
>验证</van-button> | |||||
</div> | |||||
</van-form> | |||||
</div> | |||||
</template> | |||||
<script> | |||||
import { getCodeImg, getSmsCode } from "@/api/login"; | |||||
import { checkFarmer, allowFaceVerify } from "@/api/sunVillage_info/fixedAssets"; | |||||
import { getFamilyMemberList } from "@/api/sunVillage_info/homestead/familyMember"; | |||||
import Cookies from "js-cookie"; | |||||
import { encrypt, decrypt } from "../../utils/jsencrypt"; | |||||
//引用wx sdk | |||||
import wx from "weixin-js-sdk"; | |||||
import {farmerLogin} from "@/api/register"; | |||||
export default { | |||||
name: "loginFarmer", | |||||
data() { | |||||
return { | |||||
formData: { | |||||
name: '', | |||||
idcard: '', | |||||
rememberMe: false, | |||||
}, | |||||
loading: false, | |||||
codeUrl: "", //验证码 | |||||
isSmsLogin: false, //是否手机验证码 | |||||
computeTime: 0, | |||||
height:0, | |||||
show:true | |||||
}; | |||||
}, | |||||
created() { | |||||
this.height = document.body.clientHeight | |||||
this.getCookie(); | |||||
}, | |||||
methods: { | |||||
getCookie() { | |||||
const memberName = Cookies.get("memberName"); | |||||
const idcard = Cookies.get("idcard"); | |||||
const rememberMe = Cookies.get("rememberInformation"); | |||||
if(memberName !== undefined) | |||||
this.formData.name = memberName; | |||||
if(idcard !== undefined) | |||||
this.formData.idcard = idcard; | |||||
if(rememberMe !== undefined) | |||||
this.formData.rememberMe = Boolean(rememberMe); | |||||
}, | |||||
remember() { | |||||
if (this.formData.rememberMe) { | |||||
Cookies.set("memberName", this.formData.name, { 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"); | |||||
} | |||||
}, | |||||
validate() { | |||||
if (this.formData.name == "") { | |||||
this.$dialog.alert({ | |||||
message: '姓名不能为空', | |||||
}); | |||||
return false; | |||||
} else if (this.formData.idcard == "") { | |||||
this.$dialog.alert({ | |||||
message: '身份证不能为空', | |||||
}); | |||||
return false; | |||||
} | |||||
return true; | |||||
}, | |||||
handleLogin(values) { | |||||
this.remember(); | |||||
if(!this.validate()) | |||||
return; | |||||
farmerLogin(this.formData).then(response => { | |||||
const farmer = response.data; | |||||
let seconds = 3600; | |||||
let expires = new Date(new Date() * 1 + seconds * 1000); | |||||
Cookies.set("bookName", farmer.bookName, { | |||||
expires: 30, | |||||
}); | |||||
Cookies.set("deptName", farmer.deptName, { | |||||
expires: 30, | |||||
}); | |||||
Cookies.set("bookId", farmer.bookId, { | |||||
expires: 30, | |||||
}); | |||||
Cookies.set("deptId", farmer.deptId, { | |||||
expires: 30, | |||||
}); | |||||
const farmerCode = farmer.hzFarmerCode; | |||||
Cookies.set("farmerCode",farmerCode, { expires: 30 }); | |||||
Cookies.set("user", farmer, { expires: expires }); | |||||
allowFaceVerify().then(resp => { | |||||
if(resp.data === 'true' || 1) | |||||
{ | |||||
this.$router.push({ | |||||
path: '/sunVillage_info/identity_check', | |||||
query: { | |||||
responseData: response.data, | |||||
redirectPath: '/sunVillage_info/index_farmer', | |||||
}}); | |||||
} | |||||
else | |||||
this.$router.push({path:'/sunVillage_info/index_farmer'}); | |||||
}); | |||||
}); | |||||
}, | |||||
}, | |||||
}; | |||||
</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_green.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_green.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: 80px; | |||||
margin:0 auto; | |||||
font-size: 32px; | |||||
color: #fff; | |||||
text-align: center; | |||||
border: none; | |||||
} | |||||
} | |||||
} | |||||
</style> |