| @@ -12,7 +12,7 @@ module.exports = { | |||||
| proxyTable: { | proxyTable: { | ||||
| "/api": { | "/api": { | ||||
| // 请求的目标主机 | // 请求的目标主机 | ||||
| // target: 'http://116.255.223.226:8082/nsgk_test/', // 公网测试环境 | |||||
| //target: 'http://218.59.175.44:8082/nsgk_test/', // 公网测试环境 | |||||
| // target: `http://192.168.0.116:8091/nsgk_api/`, // 内网测试环境 | // target: `http://192.168.0.116:8091/nsgk_api/`, // 内网测试环境 | ||||
| target: 'http://localhost:8080/', | target: 'http://localhost:8080/', | ||||
| //target: 'http://192.168.0.106:8080/', | //target: 'http://192.168.0.106:8080/', | ||||
| @@ -70,3 +70,11 @@ export function depositList(query) { | |||||
| }) | }) | ||||
| } | } | ||||
| export function farmerLogin(data) { | |||||
| return request({ | |||||
| url: '/register/farmerLogin', | |||||
| method: 'post', | |||||
| data: data, | |||||
| }) | |||||
| } | |||||
| @@ -0,0 +1 @@ | |||||
| [] | |||||
| @@ -0,0 +1 @@ | |||||
| [] | |||||
| @@ -187,6 +187,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',//首页 | ||||
| @@ -5927,6 +5927,33 @@ export const constantRoutes = [ | |||||
| }, | }, | ||||
| component: (resolve) => require(['@/views/contracted/user/passWord'], resolve) | component: (resolve) => require(['@/views/contracted/user/passWord'], 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> | |||||