Browse Source

Merge branch 'master' of http://116.255.135.38:3000/zhangzl/nsgk_mobile

 Conflicts:
	config/index.js
wulanhaote
庞东旭 3 years ago
parent
commit
a624bff67f
31 changed files with 5720 additions and 390 deletions
  1. +1
    -1
      config/dev.env.js
  2. +5
    -5
      config/index.js
  3. +2
    -1
      config/prod.env.js
  4. +3
    -0
      index.html
  5. +5
    -0
      package-lock.json
  6. +1
    -0
      package.json
  7. +80
    -0
      src/api/authenticRight/index.js
  8. +153
    -0
      src/api/homestead/index.js
  9. +13
    -4
      src/api/login/index.js
  10. BIN
      src/assets/images/homestead/cun.jpg
  11. BIN
      src/assets/images/homestead/delete_icon.png
  12. BIN
      src/assets/images/homestead/jia.png
  13. BIN
      src/assets/images/homestead/jian.png
  14. BIN
      src/assets/images/homestead/login_bg.jpg
  15. BIN
      src/assets/images/homestead/mark.png
  16. BIN
      src/assets/images/homestead/no_img.png
  17. BIN
      src/assets/images/homestead/zhen.jpg
  18. +12
    -0
      src/assets/maps/plotPremises_huancui.json
  19. +8
    -0
      src/assets/maps/qu_huancui.json
  20. +21
    -3
      src/permission.js
  21. +27
    -1
      src/router/index.js
  22. +7
    -1
      src/utils/request.js
  23. +1270
    -0
      src/views/authenticRight/index.vue
  24. +236
    -0
      src/views/authenticRight/login.vue
  25. +3577
    -221
      src/views/homestead/index.vue
  26. +236
    -153
      src/views/homestead/login.vue
  27. +4
    -0
      src/views/index.vue
  28. +9
    -0
      static/js/ol.js
  29. +18
    -0
      启动.bat
  30. +18
    -0
      安装.bat
  31. +14
    -0
      打包.bat

+ 1
- 1
config/dev.env.js View File

@@ -4,5 +4,5 @@ const prodEnv = require('./prod.env')

module.exports = merge(prodEnv, {
NODE_ENV: '"development"',
VUE_APP_BASE_API:'"/dev-api"'
VUE_APP_BASE_API: '"/api"'
})

+ 5
- 5
config/index.js View File

@@ -10,20 +10,20 @@ module.exports = {
assetsSubDirectory: 'static',
assetsPublicPath: '/',
proxyTable: {
"/dev-api": {
"/api": {
// 请求的目标主机
target: 'http://116.255.135.38:8081/nsgk_test/',
//target: 'http://192.168.31.107:8080/',
//target: 'http://116.255.135.38:8081/nsgk_test/',
target: 'http://localhost:8080/',
changeOrigin: true,
pathRewrite: {
'^/dev-api': ''
'^/api': ''
}
}
},

// Various Dev Server settings
host: '0.0.0.0', // can be overwritten by process.env.HOST
port: 8080, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
port: 85, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
autoOpenBrowser: false,
errorOverlay: true,
notifyOnErrors: true,


+ 2
- 1
config/prod.env.js View File

@@ -1,4 +1,5 @@
'use strict'
module.exports = {
NODE_ENV: '"production"'
NODE_ENV: '"production"',
VUE_APP_BASE_API: '"/api"'
}

+ 3
- 0
index.html View File

@@ -6,6 +6,9 @@
<meta name="viewport"
content="width=device-width,initial-scale=1,user-scalable=0,minimum-scale=1.0,maximum=scale=1.0" />
<link rel="shortcut icon" type="image/x-icon" href="static/favicon.ico">
<script src="/static/js/ol.js"></script>
<script type="text/javascript"
src="http://api.tianditu.gov.cn/api?v=4.0&tk=cc4aba6e967096098249efa069733067"></script>
<title>农燊高科</title>
</head>



+ 5
- 0
package-lock.json View File

@@ -5676,6 +5676,11 @@
"resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
},
"jquery": {
"version": "3.6.0",
"resolved": "https://registry.npm.taobao.org/jquery/download/jquery-3.6.0.tgz?cache=0&sync_timestamp=1614705639458&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fjquery%2Fdownload%2Fjquery-3.6.0.tgz",
"integrity": "sha1-xyoJ8Vwb3OFC9J2/EXC9+K2sJHA="
},
"js-base64": {
"version": "2.6.4",
"resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",


+ 1
- 0
package.json View File

@@ -11,6 +11,7 @@
},
"dependencies": {
"axios": "^0.21.1",
"jquery": "^3.6.0",
"global": "^4.4.0",
"js-cookie": "^2.2.1",
"lib-flexible": "^0.3.2",


+ 80
- 0
src/api/authenticRight/index.js View File

@@ -0,0 +1,80 @@
import request from '@/utils/request'


//查询列表
export function listSampling(data){
return request({
url:'service/sampling/list',
method:'get',
params:data
})
}
// 删除农户抽样
export function delSampling(id) {
return request({
url: '/service/sampling/remove/' + id,
method: 'get'
})
}
export function updateSampling(data) {
return request({
url: '/service/sampling/edit',
method: 'post',
data: data
})
}
// 查询农户抽样详细
export function getInvestigate(id) {
return request({
url: '/service/sampling/getInvestigate/' + id,
method: 'get'
})
}
// 新增农户抽样
export function addSampling(data) {
return request({
url: '/service/sampling/add',
method: 'post',
data: data
})
}
// 新增农户抽样
export function addInvestigate(data) {
return request({
url: '/service/sampling/addInvestigate',
method: 'post',
data: data
})
}
// 修改农户抽样
export function updateInvestigate(data) {
return request({
url: '/service/sampling/editInvestigate',
method: 'post',
data: data
})
}
//查询列表
export function listSamplingDept(data){
return request({
url:'service/sampling/listSamplingDept',
method:'get',
params:data
})
}
// 修改农户抽样
export function uploadFile(data) {
return request({
url: '/service/sampling/ocr/idcard',
method: 'post',
data: data
})
}
// 修改农户抽样
export function uploadFileBase(data) {
return request({
url: '/common/upload',
method: 'post',
data: data
})
}

+ 153
- 0
src/api/homestead/index.js View File

@@ -0,0 +1,153 @@
import request from '@/utils/request'

// 获取区下拉
export function bigDataHcAreaInfo(query) {
return request({
url: '/bigData/hc/hcAreaInfo',
method: 'get',
params: query
})
}


// 获取乡镇下拉
export function bigDataHcCountyInfo(query) {
return request({
url: '/bigData/hc/hcCountyInfo',
method: 'get',
params: query
})
}

//获取村级下拉
export function bigDataHcVillageInfo(query) {
return request({
url: '/bigData/hc/hcVillageInfo',
method: 'get',
params: query
})
}

//右侧详情农房农地列表
export function hcBottomSearch(query) {
return request({
url: '/bigData/hc/hcBottomSearch',
method: 'get',
params: query
})
}

//上传附件图片
export function commonUpload(query) {
return request({
url: '/common/upload',
method: 'post',
data: query
})
}

//农房新增
export function houseAdd(query) {
return request({
url: '/geo/house/add',
method: 'post',
data: query
})
}
//农房编辑
export function houseEdit(query) {
return request({
url: '/geo/house/edit',
method: 'post',
data: query
})
}



//农地新增
export function landAdd(query) {
return request({
url: '/geo/land/add',
method: 'post',
data: query
})
}

//农地编辑
export function landEdit(query) {
return request({
url: '/geo/land/edit',
method: 'post',
data: query
})
}

//获取区、镇、村地区
export function treeselectByUser(query) {
return request({
url: '/system/dept/treeselectByUser',
method: 'get',
params: query
})
}


//获取村的经纬度
export function deptGetId(id) {
return request({
url: '/system/dept/get/' + id,
method: 'get',

})
}

//查询农地地信息
export function getLand(id) {
return request({
url: '/geo/land/get/' + id,
method: 'get',
})
}

//查询农房信息
export function getHouse(id) {
return request({
url: '/geo/house/get/' + id,
method: 'get',
})
}

//获取接口地图地址
export function currentLocation(query) {
return request({
url: '/bigData/common/currentLocation',
method: 'get',
params: query
})
}

//修改坐标数据同步
export function coordinatesUpdateGeo(data) {
return request({
url: '/geo/geo/coordinatesEdit',
method: 'post',
data: data
})
}

//删除农房信息
export function houseRemove(id) {
return request({
url: '/geo/house/remove/' + id,
method: 'get',
})
}

//删除农地信息
export function landRemove(id) {
return request({
url: '/geo/land/remove/' + id,
method: 'get',
})
}

+ 13
- 4
src/api/login/index.js View File

@@ -11,7 +11,10 @@ export function login(username, password, code, uuid) {
return request({
url: '/login',
method: 'post',
data: data
data: data,
headers: {
isToken: false
}
})
}

@@ -25,7 +28,10 @@ export function smsLogin(mobile, smsCode, uuid) {
return request({
url: '/sms/login',
method: 'post',
data: data
data: data,
headers: {
isToken: false
}
})
}

@@ -49,7 +55,10 @@ export function logout() {
export function getCodeImg() {
return request({
url: '/captchaImage',
method: 'get'
method: 'get',
headers: {
isToken: false
}
})
}

@@ -63,7 +72,7 @@ export function getSmsCode(mobile) {
return request({
url: '/sms/code',
method: 'post',
data:data
data: data
})
}


BIN
src/assets/images/homestead/cun.jpg View File

Before After
Width: 100  |  Height: 100  |  Size: 4.1 KiB

BIN
src/assets/images/homestead/delete_icon.png View File

Before After
Width: 72  |  Height: 72  |  Size: 4.7 KiB

BIN
src/assets/images/homestead/jia.png View File

Before After
Width: 15  |  Height: 15  |  Size: 1.0 KiB

BIN
src/assets/images/homestead/jian.png View File

Before After
Width: 15  |  Height: 15  |  Size: 985 B

BIN
src/assets/images/homestead/login_bg.jpg View File

Before After
Width: 375  |  Height: 324  |  Size: 41 KiB Width: 375  |  Height: 324  |  Size: 73 KiB

BIN
src/assets/images/homestead/mark.png View File

Before After
Width: 19  |  Height: 31  |  Size: 1.7 KiB

BIN
src/assets/images/homestead/no_img.png View File

Before After
Width: 208  |  Height: 162  |  Size: 7.1 KiB

BIN
src/assets/images/homestead/zhen.jpg View File

Before After
Width: 100  |  Height: 100  |  Size: 5.2 KiB

+ 12
- 0
src/assets/maps/plotPremises_huancui.json
File diff suppressed because it is too large
View File


+ 8
- 0
src/assets/maps/qu_huancui.json
File diff suppressed because it is too large
View File


+ 21
- 3
src/permission.js View File

@@ -22,11 +22,15 @@ const whiteList = [
'/register/userRegister',
'/register/companyRegister',
'/biddingHall',
'/authenticRight',
'/authenticRight/login',
'/project',
'/policy',
'/policyDetail',
'/attestationDetail',
'/noticeDetail',
'/homestead/login',


]

@@ -53,7 +57,13 @@ router.beforeEach((to, from, next) => {
}).catch(err => {
store.dispatch('LogOut').then(() => {
// Message.error(err)
next({ path: '/' })
if ('/authenticRight/index'.indexOf(to.path) !== -1) {
next({ path: '/authenticRight/login' })
} else if ('/homestead/index'.indexOf(to.path) !== -1) {
next({ path: '/homestead/login' })
} else {
next({ path: '/' })
}
})
})
} else {
@@ -66,8 +76,16 @@ router.beforeEach((to, from, next) => {
// 在免登录白名单,直接进入
next()
} else {
next(`/login?redirect=${to.fullPath}`) // 否则全部重定向到登录页
//next('/index');
if ('/authenticRight/index'.indexOf(to.path) !== -1) {
next(`/authenticRight/login?redirect=${to.fullPath}`)
} else if ('/homestead/index'.indexOf(to.path) !== -1) {
next(`/homestead/login?redirect=${to.fullPath}`)
} else {
next(`/login?redirect=${to.fullPath}`)
}

// // 否则全部重定向到登录页
//next('/index');
NProgress.done()
}
}


+ 27
- 1
src/router/index.js View File

@@ -76,6 +76,14 @@ export const constantRoutes = [
title: '我的'
},
component: (resolve) => require(['@/views/mynsgk'], resolve)
} ,
{
path: '/authenticRight',
name: 'authenticRight',
meta: {
title: '确权颁证调查统计表',
},
component: (resolve) => require(['@/views/authenticRight/index'], resolve)
},
{
path: '/biddingHall',
@@ -354,10 +362,28 @@ export const constantRoutes = [
hidden: true,
},
component: (resolve) => require(['@/views/homestead/login'], resolve)
},
//两清三化宅基地
{
path: '/authenticRight/index',
name: 'authenticRightIndex',
meta: {
title: '两清三化宅基地',
hidden: true,
},
component: (resolve) => require(['@/views/authenticRight/index'], resolve)
},
{
path: '/authenticRight/login',
name: 'authenticRightLogin',
meta: {
title: '登录页',
hidden: true,
},
component: (resolve) => require(['@/views/authenticRight/login'], resolve)
}



];




+ 7
- 1
src/utils/request.js View File

@@ -70,7 +70,13 @@ service.interceptors.response.use(res => {
})
.then(() => {
store.dispatch('LogOut').then(() => {
location.href = '/index';
if ('/authenticRight/index'.indexOf(to.path) !== -1) {
location.href = '/authenticRight/login';
} else if ('/homestead/index'.indexOf(to.path) !== -1) {
location.href = '/homestead/login';
} else {
location.href = '/index';
}
})
})
} else if (code === 500) {


+ 1270
- 0
src/views/authenticRight/index.vue
File diff suppressed because it is too large
View File


+ 236
- 0
src/views/authenticRight/login.vue View File

@@ -0,0 +1,236 @@
<template>
<div class="app-container" :style="{ height: windowHeight + 'px' }">
<div class="login_header"></div>
<div class="login_content">
<div class="homestead_wrap">
<div class="key_title">确权颁证调查统计系统</div>
<div class="slogan"></div>
</div>
<div class="from_wrap">
<div class="from_content">
<div class="signIn_container">
<div class="signIn_input_wrap">
<van-field
autosize
v-model="formData.username"
placeholder="请输入用户名"
/>
</div>
</div>
<div class="signIn_container">
<div class="signIn_input_wrap">
<van-field
autosize
type="password"
placeholder="请输入密码"
v-model="formData.password"
/>
</div>
</div>
<div class="signIn_container">
<div class="signIn_input_wrap">
<div class="verification_code">
<van-field
autosize
placeholder="请输入验证码"
v-model="formData.code"
/>
</div>
<div class="verification_images">
<img class="code-img" :src="codeUrl" @click="getCode" />
</div>
</div>
</div>
<div class="signIn_container">
<div class="remember_num">
<van-checkbox
v-model="rememberPassword"
icon-size="16px"
checked-color="#3CBF5B"
>记住密码</van-checkbox
>
</div>
</div>
</div>
<div class="from_btn" @click="handleLogin">登录</div>
</div>
</div>
</div>
</template>

<script>
import { getCodeImg } from "@/api/login";
import Cookies from "js-cookie";
export default {
name: "homesteadLogin",
data() {
return {
formData: {
username: "", //账号
password: "", //密码
code: null, //图片验证码
uuid: null, //识别uuid
},
codeUrl: "", //图片验证码
windowHeight: 0,
rememberPassword: false, //记住密码 1记住 2不记住
};
},
created() {
this.getCode();
let userName = Cookies.get("homesteadUserName"); // => 'value'
let password = Cookies.get("homesteadPassword"); // => undefined
if (userName != undefined) {
this.formData.username = userName;
this.rememberPassword = true;
}
if (password != undefined) {
this.formData.password = password;
}
},
mounted() {
let windowHeight = document.documentElement.clientHeight;
this.windowHeight = windowHeight;
},
methods: {
getCode() {
getCodeImg().then((res) => {
this.formData.uuid = res.uuid;
this.codeUrl = "data:image/gif;base64," + res.img;
});
},
handleLogin() {
//账号密码登录
if (this.formData.username == "") {
this.$dialog.alert({
message: "账号不能为空",
});
return false;
} else if (this.formData.password == "") {
this.$dialog.alert({
message: "密码不能为空",
});
return false;
} else if (this.formData.code == "") {
this.$dialog.alert({
message: "图片验证码不能为空",
});
return false;
}

this.$store
.dispatch("Login", this.formData)
.then(() => {
if (this.rememberPassword == true) {
Cookies.set("homesteadUserName", this.formData.username, {
expires: 30,
});
Cookies.set("homesteadPassword", this.formData.password, {
expires: 30,
});
}
this.$router
.push({ path: this.redirect || "/authenticRight/index" })
.catch(() => {});
})
.catch(() => {
this.loading = false;
this.getCode();
});
},
},
};
</script>

<style scoped lang="scss">
.app-container {
display: flex;
width: 100vw;
height: 100vh;
flex-direction: column;
.login_header {
flex: 0.35;
background: url("../../assets/images/homestead/login_bg.jpg") center bottom
no-repeat;
background-size: 100% 100%;
}
.login_content {
flex: 0.65;
display: flex;
flex-direction: column;

.homestead_wrap {
flex: 0.28;
display: flex;
justify-content: center; /* 相对父元素水平居中 */
align-items: center; /* 子元素相对父元素垂直居中 */
flex-direction: column;
.key_title {
font-size: 56px;
margin-bottom: 10px;
}
.slogan {
font-size: 32px;
color: #9f9f9f;
}
}
.from_wrap {
flex: 0.72;
padding-bottom: 14%;
flex-direction: column;
display: flex;
margin: 0 40px;
.from_content {
flex: 1;
display: flex;
flex-direction: column;
padding-bottom: 14%;
.signIn_container {
flex: 1;
display: flex;
max-height: 90px;
margin-bottom: 24px;
&:last-child {
margin-bottom: 0;
}
.signIn_input_wrap {
flex: 1;
display: flex;
.verification_code {
flex: 1;
}
.verification_images {
flex: 0 0 220px;
margin-left: 20px;
img {
width: 100%;
height: 100%;
}
}
.van-cell {
border: 2px solid #f1f0f5;
border-radius: 46px;
font-size: 32px;
}
}
.remember_num {
margin-left: 14px;
font-size: 28px;
color: #3cbf5b;
}
}
}
.from_btn {
display: flex;
flex: 0 0 80px;
background: #3cbf5b;
border-radius: 40px;
font-size: 36px;
justify-content: center; /* 相对父元素水平居中 */
align-items: center; /* 子元素相对父元素垂直居中 */
color: #fff;
}
}
}
}
</style>

+ 3577
- 221
src/views/homestead/index.vue
File diff suppressed because it is too large
View File


+ 236
- 153
src/views/homestead/login.vue View File

@@ -1,153 +1,236 @@
<template>
<div class="app-container">
<div class="login_header"></div>
<div class="login_content">
<div class="homestead_wrap">
<div class="key_title">两清三化宅基地</div>
<div class="slogan">随时随地管理宅基地</div>
</div>
<div class="from_wrap">
<div class="from_content">
<div class="signIn_container">
<div class="signIn_input_wrap">
<van-field
v-model="message"
autosize
placeholder="请输入手机号"
/>
</div>
</div>
<div class="signIn_container">
<div class="signIn_input_wrap">
<van-field v-model="message" autosize placeholder="请输入密码" />
</div>
</div>
<div class="signIn_container">
<div class="signIn_input_wrap">
<div class="verification_code">
<van-field
v-model="message"
autosize
placeholder="请输入验证码"
/>
</div>
<div class="verification_images"></div>
</div>
</div>
<div class="signIn_container">
<div class="remember_num">
<van-radio-group v-model="radio">
<van-radio name="1" icon-size="16px" checked-color="#3CBF5B"
>记住密码</van-radio
>
</van-radio-group>
</div>
</div>
</div>
<div class="from_btn">登录</div>
</div>
</div>
</div>
</template>

<script>
export default {
name: "homesteadLogin",
data() {
return {
message: "",
radio: "2",
};
},
mounted() {},
methods: {},
};
</script>

<style scoped lang="scss">
.app-container {
display: flex;
width: 100vw;
height: 100vh;
flex-direction: column;
.login_header {
flex: 0.35;
background: url("../../assets/images/homestead/login_bg.jpg") center bottom
no-repeat;
background-size: 100% 100%;
}
.login_content {
flex: 0.65;
display: flex;
flex-direction: column;

.homestead_wrap {
flex: 0.28;
display: flex;
justify-content: center; /* 相对父元素水平居中 */
align-items: center; /* 子元素相对父元素垂直居中 */
flex-direction: column;
.key_title {
font-size: 56px;
margin-bottom: 10px;
}
.slogan {
font-size: 32px;
color: #9f9f9f;
}
}
.from_wrap {
flex: 0.72;
padding-bottom: 14%;
flex-direction: column;
display: flex;
margin: 0 40px;
.from_content {
flex: 1;
display: flex;
flex-direction: column;
padding-bottom: 14%;
.signIn_container {
flex: 1;
display: flex;
margin-bottom: 18px;
&:last-child {
margin-bottom: 0;
}
.signIn_input_wrap {
flex: 1;
display: flex;
.verification_code {
flex: 1;
}
.verification_images {
flex: 0 0 220px;
margin-left: 20px;
}
.van-cell {
border: 2px solid #f1f0f5;
border-radius: 46px;
font-size: 32px;
}
}
.remember_num {
margin-left: 14px;
font-size: 28px;
color: #3cbf5b;
}
}
}
.from_btn {
display: flex;
flex: 0 0 80px;
background: #3cbf5b;
border-radius: 40px;
font-size: 36px;
justify-content: center; /* 相对父元素水平居中 */
align-items: center; /* 子元素相对父元素垂直居中 */
color: #fff;
}
}
}
}
</style>
<template>
<div class="app-container" :style="{ height: windowHeight + 'px' }">
<div class="login_header"></div>
<div class="login_content">
<div class="homestead_wrap">
<div class="key_title">环翠区两清三化</div>
<div class="slogan">数据调查系统</div>
</div>
<div class="from_wrap">
<div class="from_content">
<div class="signIn_container">
<div class="signIn_input_wrap">
<van-field
autosize
v-model="formData.username"
placeholder="请输入用户名"
/>
</div>
</div>
<div class="signIn_container">
<div class="signIn_input_wrap">
<van-field
autosize
type="password"
placeholder="请输入密码"
v-model="formData.password"
/>
</div>
</div>
<div class="signIn_container">
<div class="signIn_input_wrap">
<div class="verification_code">
<van-field
autosize
placeholder="请输入验证码"
v-model="formData.code"
/>
</div>
<div class="verification_images">
<img class="code-img" :src="codeUrl" @click="getCode" />
</div>
</div>
</div>
<div class="signIn_container">
<div class="remember_num">
<van-checkbox
v-model="rememberPassword"
icon-size="16px"
checked-color="#3CBF5B"
>记住密码</van-checkbox
>
</div>
</div>
</div>
<div class="from_btn" @click="handleLogin">登录</div>
</div>
</div>
</div>
</template>

<script>
import { getCodeImg } from "@/api/login";
import Cookies from "js-cookie";
export default {
name: "homesteadLogin",
data() {
return {
formData: {
username: "", //账号
password: "", //密码
code: null, //图片验证码
uuid: null, //识别uuid
},
codeUrl: "", //图片验证码
rememberPassword: false, //记住密码 1记住 2不记住
windowHeight: 0,
};
},
created() {
this.getCode();
let userName = Cookies.get("homesteadUserName"); // => 'value'
let password = Cookies.get("homesteadPassword"); // => undefined
if (userName != undefined) {
this.formData.username = userName;
this.rememberPassword = true;
}
if (password != undefined) {
this.formData.password = password;
}
},
mounted() {
let windowHeight = document.documentElement.clientHeight;
this.windowHeight = windowHeight;
},
methods: {
getCode() {
getCodeImg().then((res) => {
this.formData.uuid = res.uuid;
this.codeUrl = "data:image/gif;base64," + res.img;
});
},
handleLogin() {
//账号密码登录
if (this.formData.username == "") {
this.$dialog.alert({
message: "账号不能为空",
});
return false;
} else if (this.formData.password == "") {
this.$dialog.alert({
message: "密码不能为空",
});
return false;
} else if (this.formData.code == "") {
this.$dialog.alert({
message: "图片验证码不能为空",
});
return false;
}

this.$store
.dispatch("Login", this.formData)
.then(() => {
if (this.rememberPassword == true) {
Cookies.set("homesteadUserName", this.formData.username, {
expires: 30,
});
Cookies.set("homesteadPassword", this.formData.password, {
expires: 30,
});
}
this.$router
.push({ path: this.redirect || "/homestead/index" })
.catch(() => {});
})
.catch(() => {
this.loading = false;
this.getCode();
});
},
},
};
</script>

<style scoped lang="scss">
.app-container {
display: flex;
width: 100vw;
height: 100vh;
flex-direction: column;
.login_header {
flex: 0.35;
background: url("../../assets/images/homestead/login_bg.jpg") center bottom
no-repeat;
background-size: 100% 100%;
}
.login_content {
flex: 0.65;
display: flex;
flex-direction: column;

.homestead_wrap {
flex: 0.28;
display: flex;
justify-content: center; /* 相对父元素水平居中 */
align-items: center; /* 子元素相对父元素垂直居中 */
flex-direction: column;
.key_title {
font-size: 56px;
margin-bottom: 10px;
}
.slogan {
font-size: 32px;
color: #9f9f9f;
}
}
.from_wrap {
flex: 0.72;
padding-bottom: 14%;
flex-direction: column;
display: flex;
margin: 0 40px;
.from_content {
flex: 1;
display: flex;
flex-direction: column;
padding-bottom: 14%;
.signIn_container {
flex: 1;
display: flex;
max-height: 90px;
margin-bottom: 24px;
&:last-child {
margin-bottom: 0;
}
.signIn_input_wrap {
flex: 1;
display: flex;
.verification_code {
flex: 1;
}
.verification_images {
flex: 0 0 220px;
margin-left: 20px;
img {
width: 100%;
height: 100%;
}
}
.van-cell {
border: 2px solid #f1f0f5;
border-radius: 46px;
font-size: 32px;
}
}
.remember_num {
margin-left: 14px;
font-size: 28px;
color: #3cbf5b;
}
}
}
.from_btn {
display: flex;
flex: 0 0 80px;
background: #3cbf5b;
border-radius: 40px;
font-size: 36px;
justify-content: center; /* 相对父元素水平居中 */
align-items: center; /* 子元素相对父元素垂直居中 */
color: #fff;
}
}
}
}
</style>

+ 4
- 0
src/views/index.vue View File

@@ -38,6 +38,10 @@
<van-image src="../../static/images/icon/icon_need.png" width="40" height="40" />
<p>个人供求</p>
</van-grid-item>
<van-grid-item to="/authenticRight">
<van-image src="../../static/images/icon/icon_need.png" width="40" height="40" />
<p>确权调查</p>
</van-grid-item>
</van-grid>
</div>
<p class="newTit">新闻咨询</p>


+ 9
- 0
static/js/ol.js
File diff suppressed because it is too large
View File


+ 18
- 0
启动.bat View File

@@ -0,0 +1,18 @@
@echo off

D:
cd D:\workspace\code\nsgk_mobile


::安装依赖
:: npm install

::强烈建议不要用直接使用 cnpm 安装,会有各种诡异的 bug,可以通过重新指定 registry 来解决 npm 安装速度慢的问题。
:: npm install --registry=https://registry.npm.taobao.org

::本地开发 启动项目
npm run dev


@echo SUCCESS
pause

+ 18
- 0
安装.bat View File

@@ -0,0 +1,18 @@
@echo off

D:
cd D:\workspace\code\nsgk_mobile


::安装依赖
npm install

::强烈建议不要用直接使用 cnpm 安装,会有各种诡异的 bug,可以通过重新指定 registry 来解决 npm 安装速度慢的问题。
npm install --registry=https://registry.npm.taobao.org

::本地开发 启动项目
:: npm run dev


@echo SUCCESS
pause

+ 14
- 0
打包.bat View File

@@ -0,0 +1,14 @@
@echo off

D:
cd D:\workspace\code\nsgk_mobile




:: 打包预发布环境
npm run build


@echo SUCCESS
pause

Loading…
Cancel
Save