|
- <template>
- <div class="app-container" style="overflow:auto;">
- <div style="width:100%;max-width:500px;margin:0 auto;">
- <div class="title">
- <img width="150" height="150" style="display: block;margin-right: 10px;margin: 20px auto;" src="../assets/images/housesteadSurvey/logo.png" alt="">
- <p style="text-align:center;font-size:40px;">农村宅基地调查</p>
- </div>
- <van-form>
- <div style="width: 90%;
- max-widht:462px;
- border-radius: 45px;
- box-shadow: 2px 10px 10px 0px rgba(125,125,125,0.16);padding: 10px 30px; margin:40px 20px; ">
- <van-field
- v-model="formData.username"
- placeholder="请输入账号"
- left-icon="manager"
- color="#bfbfbf"
- input-align="center"
- :rules="[{ required: true, message:'' }]"
- />
- </div>
- <div style="width: 90%;
- max-widht:462px;
- border-radius: 45px;
- box-shadow: 2px 10px 10px 0px rgba(125,125,125,0.16);padding: 10px 30px; margin:40px 20px; ">
- <van-field
- v-model="formData.password"
- type="password"
- placeholder="请输入密码"
- left-icon="lock"
- color="#bfbfbf"
- input-align="center"
- :rules="[{ required: true, message:'' }]"
- />
- </div>
- <div style="width: 90%;
- max-widht:462px;
- border-radius: 45px;
- box-shadow: 2px 10px 10px 0px rgba(125,125,125,0.16);padding: 10px 30px; margin:40px 20px; " class="codeDiv">
- <van-field
- v-model="formData.code"
- center
- clearable
- input-align="center"
- placeholder="图形验证码"
- >
- <template #label>
- <img style="width: 90px" :src="codeUrl" @click="getCode" />
- </template>
- </van-field>
- </div>
- <div style="margin: 10px 5px 5px;padding:10px">
- <van-button block round size="large" :color="formData.username!=''&&formData.password!=''?'#7AC943':'#e2e2e2'" :disabled="formData.username==''||formData.password==''" native-type="submit" @click="handleLogin">登录</van-button>
- </div>
- </van-form>
- </div>
- <van-popup v-model="showKeyboard" :style="{ height: '100%',width:'100%' }" >
- <van-nav-bar
- left-arrow
- fixed
- placeholder
- @click-left="showPopup"
- />
- <div style="padding: 20px">
- <h1>输入短信验证码</h1>
- <h3 style="color: #878787">验证码已发送至{{(formData.mobile+"").substr(0,3) + "****" + (formData.mobile+"").substr(7)}},请在下方输入框内输入4位数字验证码</h3>
- </div>
- <van-password-input
- :value="smsCodeValue"
- :length="4"
- :focused="showKeyboard"
- @focus="showKeyboard = true"
- />
- <van-number-keyboard
- v-model="smsCodeValue"
- :show="showKeyboard"
- theme="custom"
- close-button-text="完成"
- />
- </van-popup>
- </div>
- </template>
- <style scoped>
- .app-container{
- background: #fff;
- height: 100vh;
- }
- .title{
- padding-top: 20%;
- width: 88%;
- margin: 0 auto;
- }
- .van-tab--active{
- font-size: .6rem;
- font-weight: bold;
- }
- .van-tabs__line{
- background:#1D6FE9;
- width: 0.15rem;
- height: 0.15rem;
- border-radius: 0.07rem;
- bottom: 0.3rem;
- }
- .van-tabs__nav{
- padding:0
- }
- .van-tab{
- display: inline-block;
- flex: inherit;
- margin-left: 30px;
- line-height: .8rem;
- }
- .van-tab__text--ellipsis {
- overflow: auto;
- }
- .van-password-input{
- width: 50%;
- margin: 0 auto;
- }
- [class*=van-hairline]::after{
- border:none;
- }
- .van-password-input__security li{
- margin: 0 10px;
- border-bottom: 3px solid black;
- }
- .registerSmsBtn{
- color: rgb(29, 111, 233);
- font-size: 0.34rem;
-
- }
- </style>
- <script>
- import { getCodeImg, getSmsCode ,getRegisterSmsCode,registerCheck,registerOn} from "../api/login";
- import Cookies from "js-cookie";
- import { encrypt, decrypt } from "../utils/jsencrypt";
- //引用wx sdk
- import wx from "weixin-js-sdk";
- export default {
- name: "homesteadLogin",
- data() {
- return {
- showMessage:false,
- smsCodeValue:"",
- showKeyboard:false,
- formData: {
- username: "", //账号
- password: "", //密码
- code: null, //图片验证码
- uuid: null, //识别uuid
- mobile: null, //手机号
- smsCode: null, //短信验证码
- memberName:null, //身份信息
- idcard:null, //身份号码
- rememberMe:false
- },
- loading: false,
- codeUrl: "", //验证码
- isSmsLogin: false, //是否手机验证码
- computeTime: 0,
- active:1
- };
- },
- created() {
- this.getCode();
- this.getCookie();
- this.reset();
- },
- methods: {
- reset(){
-
- },
- showPopup(){
- this.showKeyboard = !this.showKeyboard
- },
- showMessagePop(){
- this.showMessage = !this.showMessage
- },
- getCode() {
- getCodeImg().then((res) => {
- this.formData.uuid = res.uuid;
- this.codeUrl = "data:image/gif;base64," + res.img;
- });
- },
- getCookie() {
- const username = Cookies.get("username");
- const password = Cookies.get("password");
- const rememberMe = Cookies.get("rememberMe");
- this.formData = {
- username: username === undefined ? this.formData.username : username,
- password:
- password === undefined ? this.formData.password : decrypt(password),
- rememberMe: rememberMe === undefined ? false : Boolean(rememberMe),
- };
- },
- getSmsCode() {
- if (this.formData.code == "") {
- this.$dialog.alert({
- message: '图片验证码不能为空',
- });
- return false;
- }
- if (!this.computeTime) {
- let myreg = /^[1][3,4,5,7,8,9][0-9]{9}$/;
- if (!myreg.test(this.formData.mobile)) {
- this.$dialog.alert({
- message: '手机号格式不正确',
- });
- return false;
- }
- /* getSmsCode(this.formData.mobile).then((res) => {
- if (res.code === 200) {
- this.$dialog.alert({
- message: '验证码已发送',
- });
- this.showKeyboard = !this.showKeyboard;
- this.loginForm.uuid = res.uuid;
- this.computeTime = 60;
- this.timer = setInterval(() => {
- this.computeTime--;
- if (this.computeTime <= 0) {
- clearInterval(this.timer);
- }
- }, 1000);
- }
- });*/
- }
- },
- handleLogin(values) {
- //账号密码登录
- if (this.formData.username == "") {
- this.$dialog.alert({
- message: '账号不能为空',
- });
- return false;
- } else if (this.formData.password == "") {
- this.$dialog.alert({
- message: '密码不能为空',
- });
- return false;
- }
- this.$store
- .dispatch("Login", this.formData)
- .then(() => {
- this.$router.push({ path: "/homesteadSurvey/index" }).catch(() => {});
- })
- .catch((error) => {
- this.loading = false;
- this.getCode();
- });
- },
- getRegisterSmsCode(){
- if (!this.computeTime) {
- let myreg = /^[1][3,4,5,7,8,9][0-9]{9}$/;
- if (!myreg.test(this.formData.mobile)) {
- this.$dialog.alert({
- message: '手机号格式不正确',
- });
- return false;
- }else if (this.formData.code == "") {
- this.$dialog.alert({
- message: '图片验证码不能为空',
- });
- return false;
- }
- if (this.active==2) {
- let formObj = {
- code :this.formData.code,
- mobile:this.formData.mobile,
- uuid:this.formData.uuid
- }
- getRegisterSmsCode(formObj).then((res) => {
- console.log(res)
- console.log(res.code == 200)
- if(res.code == 200) {
- this.$dialog.alert({
- message: '验证码已发送',
- });
- this.formData.uuid = res.uuid;
- this.computeTime = 60;
- this.timer = setInterval(() => {
- this.computeTime--;
- if (this.computeTime <= 0) {
- clearInterval(this.timer);
- }
- }, 1000);
- }
- }).catch((res)=>{
- if(res=='Error: 验证码已失效'){
- this.getCode()
- }
- });
- }
- }
- },
- registerSubmit(){
-
- //注册
- if (this.formData.memberName == "") {
- this.$dialog.alert({
- message: '姓名不能为空',
- });
- return false;
- } else if (this.formData.idcard == "") {
- this.$dialog.alert({
- message: '身份证号不能为空',
- });
- return false;
- } else if (this.formData.mobile == "") {
- this.$dialog.alert({
- message: '手机号码不能为空',
- });
- return false;
- }else if (this.formData.smsCode == "") {
- this.$dialog.alert({
- message: '短信验证码不能为空',
- });
- return false;
- }
- //registerCheck,registerOn
- console.log(this.formData)
- registerCheck(this.formData).then((res)=>{
- if(res.code == 200){
- registerOn(this.formData).then((res)=>{
- if(res.code == 200){
- //
- this.$dialog.alert({
- message: '您的初始密码:'+res.password,
- }).then(() => {
- this.$router.push({ path: "/homesteadSurvey/index" }).catch(() => {});
- });
- }
- })
- }
- })
-
- }
- },
- };
- </script>
- <style scoped lang="scss">
- /deep/ .codeDiv .van-field .van-cell__title{
- width: 3.0em!important;
- }
- </style>
|