多语言
parent
4442d15feb
commit
efe3644f6a
Binary file not shown.
|
After Width: | Height: | Size: 935 KiB |
|
|
@ -0,0 +1,164 @@
|
||||||
|
export default {
|
||||||
|
el: {
|
||||||
|
colorpicker: {
|
||||||
|
confirm: 'OK',
|
||||||
|
clear: 'Clear'
|
||||||
|
},
|
||||||
|
datepicker: {
|
||||||
|
now: 'Now',
|
||||||
|
today: 'Today',
|
||||||
|
cancel: 'Cancel',
|
||||||
|
clear: 'Clear',
|
||||||
|
confirm: 'OK',
|
||||||
|
selectDate: 'Select date',
|
||||||
|
selectTime: 'Select time',
|
||||||
|
startDate: 'Start Date',
|
||||||
|
startTime: 'Start Time',
|
||||||
|
endDate: 'End Date',
|
||||||
|
endTime: 'End Time',
|
||||||
|
prevYear: 'Previous Year',
|
||||||
|
nextYear: 'Next Year',
|
||||||
|
prevMonth: 'Previous Month',
|
||||||
|
nextMonth: 'Next Month',
|
||||||
|
year: '',
|
||||||
|
month1: 'January',
|
||||||
|
month2: 'February',
|
||||||
|
month3: 'March',
|
||||||
|
month4: 'April',
|
||||||
|
month5: 'May',
|
||||||
|
month6: 'June',
|
||||||
|
month7: 'July',
|
||||||
|
month8: 'August',
|
||||||
|
month9: 'September',
|
||||||
|
month10: 'October',
|
||||||
|
month11: 'November',
|
||||||
|
month12: 'December',
|
||||||
|
week: 'week',
|
||||||
|
weeks: {
|
||||||
|
sun: 'Sun',
|
||||||
|
mon: 'Mon',
|
||||||
|
tue: 'Tue',
|
||||||
|
wed: 'Wed',
|
||||||
|
thu: 'Thu',
|
||||||
|
fri: 'Fri',
|
||||||
|
sat: 'Sat'
|
||||||
|
},
|
||||||
|
months: {
|
||||||
|
jan: 'Jan',
|
||||||
|
feb: 'Feb',
|
||||||
|
mar: 'Mar',
|
||||||
|
apr: 'Apr',
|
||||||
|
may: 'May',
|
||||||
|
jun: 'Jun',
|
||||||
|
jul: 'Jul',
|
||||||
|
aug: 'Aug',
|
||||||
|
sep: 'Sep',
|
||||||
|
oct: 'Oct',
|
||||||
|
nov: 'Nov',
|
||||||
|
dec: 'Dec'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
select: {
|
||||||
|
loading: 'Loading',
|
||||||
|
noMatch: 'No matching data',
|
||||||
|
noData: 'No data',
|
||||||
|
placeholder: 'Select'
|
||||||
|
},
|
||||||
|
cascader: {
|
||||||
|
noMatch: 'No matching data',
|
||||||
|
loading: 'Loading',
|
||||||
|
placeholder: 'Select',
|
||||||
|
noData: 'No data'
|
||||||
|
},
|
||||||
|
pagination: {
|
||||||
|
goto: 'Go to',
|
||||||
|
pagesize: '/page',
|
||||||
|
total: 'Total {total}',
|
||||||
|
pageClassifier: ''
|
||||||
|
},
|
||||||
|
messagebox: {
|
||||||
|
title: 'Message',
|
||||||
|
confirm: 'OK',
|
||||||
|
cancel: 'Cancel',
|
||||||
|
error: 'Illegal input'
|
||||||
|
},
|
||||||
|
upload: {
|
||||||
|
deleteTip: 'press delete to remove',
|
||||||
|
delete: 'Delete',
|
||||||
|
preview: 'Preview',
|
||||||
|
continue: 'Continue'
|
||||||
|
},
|
||||||
|
table: {
|
||||||
|
emptyText: 'No Data',
|
||||||
|
confirmFilter: 'Confirm',
|
||||||
|
resetFilter: 'Reset',
|
||||||
|
clearFilter: 'All',
|
||||||
|
sumText: 'Sum'
|
||||||
|
},
|
||||||
|
tree: {
|
||||||
|
emptyText: 'No Data'
|
||||||
|
},
|
||||||
|
transfer: {
|
||||||
|
noMatch: 'No matching data',
|
||||||
|
noData: 'No data',
|
||||||
|
titles: ['List 1', 'List 2'], // to be translated
|
||||||
|
filterPlaceholder: 'Enter keyword', // to be translated
|
||||||
|
noCheckedFormat: '{total} items', // to be translated
|
||||||
|
hasCheckedFormat: '{checked}/{total} checked' // to be translated
|
||||||
|
},
|
||||||
|
image: {
|
||||||
|
error: 'FAILED'
|
||||||
|
},
|
||||||
|
pageHeader: {
|
||||||
|
title: 'Back' // to be translated
|
||||||
|
},
|
||||||
|
popconfirm: {
|
||||||
|
confirmButtonText: 'Yes',
|
||||||
|
cancelButtonText: 'No'
|
||||||
|
},
|
||||||
|
empty: {
|
||||||
|
description: 'No Data'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
login: {
|
||||||
|
bt_login: 'LOGIN'
|
||||||
|
},
|
||||||
|
menu: {
|
||||||
|
BaseData: 'Basic data',
|
||||||
|
BaseData_BaseWare: 'Warehouse basic information',
|
||||||
|
BaseData_BaseWare_dept: 'Warehouse Management',
|
||||||
|
BaseData_BaseWare_area: 'Reservoi Management',
|
||||||
|
BaseData_BaseWare_point: 'Location Management',
|
||||||
|
BaseData_BaseWare_PlatformMaintenance: 'Platform maintenance',
|
||||||
|
BaseData_BaseWare_billType: 'Document type',
|
||||||
|
BaseData_item: 'Material Management',
|
||||||
|
BaseData_ruleConfigure: 'System rule configuration',
|
||||||
|
BaseData_timing: 'Scheduled task configuration',
|
||||||
|
Business_asn: 'Warehouse in management',
|
||||||
|
Business_asn_xppRecord: 'XPP Pick',
|
||||||
|
Business_asn_AsnDetail: 'XPP Grounding',
|
||||||
|
Business_asn_viewAsnDetail: 'Other inbound items',
|
||||||
|
Business_pick: 'Outbound management',
|
||||||
|
Business_pick_business_indicate: 'Outbound instruction',
|
||||||
|
Business_pick_business_bom: 'BOM Call',
|
||||||
|
Business_pick_pickTicket: 'Other outbound items',
|
||||||
|
business_inv: 'Inventory management',
|
||||||
|
business_inv_inventory: 'Total inventory inquiry',
|
||||||
|
business_inv_invXt: 'Collaborative inventory',
|
||||||
|
business_inv_invXb: 'Cache inventory',
|
||||||
|
business_inv_invZz: 'Manufacturing inventory',
|
||||||
|
business_inv_inventoryLog: 'Inventory Log',
|
||||||
|
system: 'system management',
|
||||||
|
system_job: 'Post Management',
|
||||||
|
system_user: 'User Management',
|
||||||
|
system_role: 'Job Management',
|
||||||
|
system_dict: 'Dict Management',
|
||||||
|
system_local: 'File Store',
|
||||||
|
system2: 'Develop backend configuration',
|
||||||
|
system2_menu: 'menu management',
|
||||||
|
system2_tool: 'System Tools',
|
||||||
|
system2_mnt: 'IT Operation Management',
|
||||||
|
system2_monitor: 'system monitor',
|
||||||
|
system2_report: 'Report Management'
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
@ -0,0 +1,164 @@
|
||||||
|
export default {
|
||||||
|
el: {
|
||||||
|
colorpicker: {
|
||||||
|
confirm: '确定',
|
||||||
|
clear: '清空'
|
||||||
|
},
|
||||||
|
datepicker: {
|
||||||
|
now: '此刻',
|
||||||
|
today: '今天',
|
||||||
|
cancel: '取消',
|
||||||
|
clear: '清空',
|
||||||
|
confirm: '确定',
|
||||||
|
selectDate: '选择日期',
|
||||||
|
selectTime: '选择时间',
|
||||||
|
startDate: '开始日期',
|
||||||
|
startTime: '开始时间',
|
||||||
|
endDate: '结束日期',
|
||||||
|
endTime: '结束时间',
|
||||||
|
prevYear: '前一年',
|
||||||
|
nextYear: '后一年',
|
||||||
|
prevMonth: '上个月',
|
||||||
|
nextMonth: '下个月',
|
||||||
|
year: '年',
|
||||||
|
month1: '1 月',
|
||||||
|
month2: '2 月',
|
||||||
|
month3: '3 月',
|
||||||
|
month4: '4 月',
|
||||||
|
month5: '5 月',
|
||||||
|
month6: '6 月',
|
||||||
|
month7: '7 月',
|
||||||
|
month8: '8 月',
|
||||||
|
month9: '9 月',
|
||||||
|
month10: '10 月',
|
||||||
|
month11: '11 月',
|
||||||
|
month12: '12 月',
|
||||||
|
// week: '周次',
|
||||||
|
weeks: {
|
||||||
|
sun: '日',
|
||||||
|
mon: '一',
|
||||||
|
tue: '二',
|
||||||
|
wed: '三',
|
||||||
|
thu: '四',
|
||||||
|
fri: '五',
|
||||||
|
sat: '六'
|
||||||
|
},
|
||||||
|
months: {
|
||||||
|
jan: '一月',
|
||||||
|
feb: '二月',
|
||||||
|
mar: '三月',
|
||||||
|
apr: '四月',
|
||||||
|
may: '五月',
|
||||||
|
jun: '六月',
|
||||||
|
jul: '七月',
|
||||||
|
aug: '八月',
|
||||||
|
sep: '九月',
|
||||||
|
oct: '十月',
|
||||||
|
nov: '十一月',
|
||||||
|
dec: '十二月'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
select: {
|
||||||
|
loading: '加载中',
|
||||||
|
noMatch: '无匹配数据',
|
||||||
|
noData: '无数据',
|
||||||
|
placeholder: '请选择'
|
||||||
|
},
|
||||||
|
cascader: {
|
||||||
|
noMatch: '无匹配数据',
|
||||||
|
loading: '加载中',
|
||||||
|
placeholder: '请选择',
|
||||||
|
noData: '暂无数据'
|
||||||
|
},
|
||||||
|
pagination: {
|
||||||
|
goto: '前往',
|
||||||
|
pagesize: '条/页',
|
||||||
|
total: '共 {total} 条',
|
||||||
|
pageClassifier: '页'
|
||||||
|
},
|
||||||
|
messagebox: {
|
||||||
|
title: '提示',
|
||||||
|
confirm: '确定',
|
||||||
|
cancel: '取消',
|
||||||
|
error: '输入的数据不合法!'
|
||||||
|
},
|
||||||
|
upload: {
|
||||||
|
deleteTip: '按 delete 键可删除',
|
||||||
|
delete: '删除',
|
||||||
|
preview: '查看图片',
|
||||||
|
continue: '继续上传'
|
||||||
|
},
|
||||||
|
table: {
|
||||||
|
emptyText: '暂无数据',
|
||||||
|
confirmFilter: '筛选',
|
||||||
|
resetFilter: '重置',
|
||||||
|
clearFilter: '全部',
|
||||||
|
sumText: '合计'
|
||||||
|
},
|
||||||
|
tree: {
|
||||||
|
emptyText: '暂无数据'
|
||||||
|
},
|
||||||
|
transfer: {
|
||||||
|
noMatch: '无匹配数据',
|
||||||
|
noData: '无数据',
|
||||||
|
titles: ['列表 1', '列表 2'],
|
||||||
|
filterPlaceholder: '请输入搜索内容',
|
||||||
|
noCheckedFormat: '共 {total} 项',
|
||||||
|
hasCheckedFormat: '已选 {checked}/{total} 项'
|
||||||
|
},
|
||||||
|
image: {
|
||||||
|
error: '加载失败'
|
||||||
|
},
|
||||||
|
pageHeader: {
|
||||||
|
title: '返回'
|
||||||
|
},
|
||||||
|
popconfirm: {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消'
|
||||||
|
},
|
||||||
|
empty: {
|
||||||
|
description: '暂无数据'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
login: {
|
||||||
|
bt_login: '登录'
|
||||||
|
},
|
||||||
|
menu: {
|
||||||
|
BaseData: '基础数据',
|
||||||
|
BaseData_BaseWare: '仓库基础资料',
|
||||||
|
BaseData_BaseWare_dept: '仓库管理',
|
||||||
|
BaseData_BaseWare_area: '库区管理',
|
||||||
|
BaseData_BaseWare_point: '库位管理',
|
||||||
|
BaseData_BaseWare_PlatformMaintenance: '月台维护',
|
||||||
|
BaseData_BaseWare_billType: '单据类型',
|
||||||
|
BaseData_item: '物料管理',
|
||||||
|
BaseData_ruleConfigure: '系统规则配置',
|
||||||
|
BaseData_timing: '定时任务配置',
|
||||||
|
Business_asn: '入库管理',
|
||||||
|
Business_asn_xppRecord: '现品票采集上架',
|
||||||
|
Business_asn_AsnDetail: '现品票上架',
|
||||||
|
Business_asn_viewAsnDetail: '其他入库',
|
||||||
|
Business_pick: '出库管理',
|
||||||
|
Business_pick_business_indicate: '出库指示',
|
||||||
|
Business_pick_business_bom: 'BOM叫料',
|
||||||
|
Business_pick_pickTicket: '其他出库',
|
||||||
|
business_inv: '库存管理',
|
||||||
|
business_inv_inventory: '总库存查询',
|
||||||
|
business_inv_invXt: '协同库存',
|
||||||
|
business_inv_invXb: '缓存库存',
|
||||||
|
business_inv_invZz: '制造库存',
|
||||||
|
business_inv_inventoryLog: '库存日志',
|
||||||
|
system: '系统管理',
|
||||||
|
system_job: '岗位管理',
|
||||||
|
system_user: '用户管理',
|
||||||
|
system_role: '角色管理',
|
||||||
|
system_dict: '字典管理',
|
||||||
|
system_local: '文件存储',
|
||||||
|
system2: '开发后台配置',
|
||||||
|
system2_menu: '菜单管理',
|
||||||
|
system2_tool: '系统工具',
|
||||||
|
system2_mnt: '运维管理',
|
||||||
|
system2_monitor: '系统监控',
|
||||||
|
system2_report: '报表配置'
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
{
|
||||||
|
"message": "Hello, World!",
|
||||||
|
"welcome": "Welcome to my app."
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
{
|
||||||
|
"message": "你好,世界!",
|
||||||
|
"welcome": "欢迎来到我的应用。"
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,294 @@
|
||||||
|
<template>
|
||||||
|
<div class="main_div" :style="'background-image:url('+ Background +');'">
|
||||||
|
<BindLicense ref="BindLicense"/>
|
||||||
|
<el-row type="flex" style="width: 100%;height: 100%">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<!-- 底部 -->
|
||||||
|
<!-- <el-col :span="12" ><div class="main_left" ></div></el-col> -->
|
||||||
|
<el-col :span="24"><div class="login">
|
||||||
|
|
||||||
|
|
||||||
|
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" label-position="left" label-width="0px" class="login-form">
|
||||||
|
<div style="margin-top: 20px;margin-right: auto;margin-left: auto;width: 100px;height: 100px">
|
||||||
|
<el-avatar src="https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png" style="height: 100px;width: 100px" fit="fill"></el-avatar>
|
||||||
|
</div>
|
||||||
|
<h2 class="title" @click="bingLicense">
|
||||||
|
WelCome to YouChain Plus! 👋
|
||||||
|
</h2>
|
||||||
|
<el-form-item prop="username">
|
||||||
|
<el-input v-model="loginForm.username" type="text" auto-complete="off" placeholder="account number">
|
||||||
|
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item prop="password">
|
||||||
|
<el-input v-model="loginForm.password" type="password" auto-complete="off" placeholder="password" @keyup.enter.native="handleLogin">
|
||||||
|
<svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item prop="code">
|
||||||
|
<el-input v-model="loginForm.code" auto-complete="off" placeholder="Verification code" style="width: 63%" @keyup.enter.native="handleLogin">
|
||||||
|
<svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" />
|
||||||
|
</el-input>
|
||||||
|
<div class="login-code">
|
||||||
|
<img :src="codeUrl" @click="getCode">
|
||||||
|
</div>
|
||||||
|
</el-form-item>
|
||||||
|
<el-checkbox v-model="loginForm.rememberMe" style="margin:0 0 25px 0;">
|
||||||
|
remember me
|
||||||
|
</el-checkbox>
|
||||||
|
<el-dropdown style="margin-left: 100px;color: #00a0e9" :trigger="hover" @command="handleCommand">
|
||||||
|
<span class="el-dropdown-link">
|
||||||
|
Language switching<i class="el-icon-arrow-down el-icon--right"></i>
|
||||||
|
</span>
|
||||||
|
<el-dropdown-menu slot="dropdown">
|
||||||
|
<el-dropdown-item command="zh">Chinese</el-dropdown-item>
|
||||||
|
<el-dropdown-item command="en">English</el-dropdown-item>
|
||||||
|
</el-dropdown-menu>
|
||||||
|
</el-dropdown>
|
||||||
|
|
||||||
|
<el-form-item style="width:100%;">
|
||||||
|
<el-button :loading="loading" size="medium" type="primary" style="width:100%;" @click.native.prevent="handleLogin">
|
||||||
|
<span v-if="!loading">Login</span>
|
||||||
|
<span v-else>Logging in...</span>
|
||||||
|
</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
<h5 class="zhuce" @click="bingLicense">
|
||||||
|
If you don't have an account yet?<span style="color: #00a0e9;margin-left: 5px" href="">Please contact the administrator</span>
|
||||||
|
</h5>
|
||||||
|
</el-form>
|
||||||
|
</div></el-col>
|
||||||
|
|
||||||
|
</el-row>
|
||||||
|
<!-- 底部 -->
|
||||||
|
<div v-if="$store.state.settings.showFooter" id="el-login-footer">
|
||||||
|
<span v-html="$store.state.settings.footerTxt" />
|
||||||
|
<span v-if="$store.state.settings.caseNumber"> ⋅ </span>
|
||||||
|
<a href="https://beian.miit.gov.cn/#/Integrated/index" target="_blank">{{ $store.state.settings.caseNumber }}</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { encrypt } from '@/utils/rsaEncrypt'
|
||||||
|
import Config from '@/settings'
|
||||||
|
import { getCodeImg, getDeviceInfo } from '@/api/login'
|
||||||
|
import Cookies from 'js-cookie'
|
||||||
|
import qs from 'qs'
|
||||||
|
import Background from '@/assets/images/background3.png'
|
||||||
|
import BindLicense from '@/views/licenseBind.vue'
|
||||||
|
export default {
|
||||||
|
name: 'Login',
|
||||||
|
components: { BindLicense },
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
click_count: 0,
|
||||||
|
Background: Background,
|
||||||
|
codeUrl: '',
|
||||||
|
cookiePass: '',
|
||||||
|
loginForm: {
|
||||||
|
username: 'admin',
|
||||||
|
password: '123456',
|
||||||
|
rememberMe: false,
|
||||||
|
code: '',
|
||||||
|
uuid: ''
|
||||||
|
},
|
||||||
|
loginRules: {
|
||||||
|
username: [{ required: true, trigger: 'blur', message: 'username cannot be empty' }],
|
||||||
|
password: [{ required: true, trigger: 'blur', message: 'password cannot be empty' }],
|
||||||
|
code: [{ required: true, trigger: 'change', message: 'verification code cannot be empty' }]
|
||||||
|
},
|
||||||
|
loading: false,
|
||||||
|
redirect: undefined
|
||||||
|
}
|
||||||
|
},
|
||||||
|
watch: {
|
||||||
|
$route: {
|
||||||
|
handler: function(route) {
|
||||||
|
const data = route.query
|
||||||
|
if (data && data.redirect) {
|
||||||
|
this.redirect = data.redirect
|
||||||
|
delete data.redirect
|
||||||
|
if (JSON.stringify(data) !== '{}') {
|
||||||
|
this.redirect = this.redirect + '&' + qs.stringify(data, { indices: false })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
immediate: true
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
// 获取验证码
|
||||||
|
this.getCode()
|
||||||
|
// 获取用户名密码等Cookie
|
||||||
|
this.getCookie()
|
||||||
|
// token 过期提示
|
||||||
|
this.point()
|
||||||
|
|
||||||
|
this.getDevice()
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
handleCommand(command) {
|
||||||
|
|
||||||
|
// eslint-disable-next-line no-empty
|
||||||
|
if (command === 'zh') {
|
||||||
|
this.$message('click on item ' + command)
|
||||||
|
this.$router.push('/login')
|
||||||
|
}
|
||||||
|
},
|
||||||
|
getCode() {
|
||||||
|
getCodeImg().then(res => {
|
||||||
|
this.codeUrl = res.img
|
||||||
|
this.loginForm.uuid = res.uuid
|
||||||
|
})
|
||||||
|
},
|
||||||
|
getDevice() {
|
||||||
|
getDeviceInfo().then(res => {
|
||||||
|
this.$refs.BindLicense.form.deviceCode = res
|
||||||
|
})
|
||||||
|
},
|
||||||
|
getCookie() {
|
||||||
|
const username = Cookies.get('username')
|
||||||
|
let password = Cookies.get('password')
|
||||||
|
const rememberMe = Cookies.get('rememberMe')
|
||||||
|
// 保存cookie里面的加密后的密码
|
||||||
|
this.cookiePass = password === undefined ? '' : password
|
||||||
|
password = password === undefined ? this.loginForm.password : password
|
||||||
|
this.loginForm = {
|
||||||
|
username: username === undefined ? this.loginForm.username : username,
|
||||||
|
password: password,
|
||||||
|
rememberMe: rememberMe === undefined ? false : Boolean(rememberMe),
|
||||||
|
code: ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handleLogin() {
|
||||||
|
this.$i18n.locale = 'en'
|
||||||
|
this.$refs.loginForm.validate(valid => {
|
||||||
|
const user = {
|
||||||
|
username: this.loginForm.username,
|
||||||
|
password: this.loginForm.password,
|
||||||
|
rememberMe: this.loginForm.rememberMe,
|
||||||
|
code: this.loginForm.code,
|
||||||
|
uuid: this.loginForm.uuid
|
||||||
|
}
|
||||||
|
if (user.password !== this.cookiePass) {
|
||||||
|
user.password = encrypt(user.password)
|
||||||
|
}
|
||||||
|
if (valid) {
|
||||||
|
this.loading = true
|
||||||
|
if (user.rememberMe) {
|
||||||
|
Cookies.set('username', user.username, { expires: Config.passCookieExpires })
|
||||||
|
Cookies.set('password', user.password, { expires: Config.passCookieExpires })
|
||||||
|
Cookies.set('rememberMe', user.rememberMe, { expires: Config.passCookieExpires })
|
||||||
|
} else {
|
||||||
|
Cookies.remove('username')
|
||||||
|
Cookies.remove('password')
|
||||||
|
Cookies.remove('rememberMe')
|
||||||
|
}
|
||||||
|
this.$store.dispatch('Login', user).then(() => {
|
||||||
|
this.loading = false
|
||||||
|
this.$router.push({ path: this.redirect || '/' })
|
||||||
|
}).catch(() => {
|
||||||
|
this.loading = false
|
||||||
|
this.getCode()
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
console.log('error submit!!')
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
point() {
|
||||||
|
const point = Cookies.get('point') !== undefined
|
||||||
|
if (point) {
|
||||||
|
this.$notify({
|
||||||
|
title: 'prompt',
|
||||||
|
message: 'The current login status has expired, please log in again!',
|
||||||
|
type: 'warning',
|
||||||
|
duration: 5000
|
||||||
|
})
|
||||||
|
Cookies.remove('point')
|
||||||
|
}
|
||||||
|
},
|
||||||
|
bingLicense() {
|
||||||
|
this.click_count = this.click_count + 1
|
||||||
|
if (this.click_count % 3 === 0) {
|
||||||
|
this.$refs.BindLicense.dialogVisible = true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style rel="stylesheet/scss" lang="scss">
|
||||||
|
.main_div {
|
||||||
|
background: #f7f7f7;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
background-size: cover;
|
||||||
|
}
|
||||||
|
.main_left {
|
||||||
|
background: #fffffff5;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
background-size: cover;
|
||||||
|
}
|
||||||
|
.login {
|
||||||
|
background: #00000045;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
background-size: cover;
|
||||||
|
}
|
||||||
|
.title {
|
||||||
|
margin: 30px auto 30px 0px;
|
||||||
|
text-align: left;
|
||||||
|
color: #707070;
|
||||||
|
}
|
||||||
|
.zhuce {
|
||||||
|
margin: 30px auto 30px 0px;
|
||||||
|
text-align: center;
|
||||||
|
color: #707070;
|
||||||
|
}
|
||||||
|
|
||||||
|
.login-form {
|
||||||
|
border-radius: 6px;
|
||||||
|
background: #fffffff0;
|
||||||
|
width: 520px;
|
||||||
|
height: 620px;
|
||||||
|
padding: 40px 80px 40px 80px;
|
||||||
|
.el-input {
|
||||||
|
height: 40px;
|
||||||
|
input {
|
||||||
|
height: 40px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.input-icon{
|
||||||
|
height: 39px;width: 14px;margin-left: 2px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.login-tip {
|
||||||
|
font-size: 13px;
|
||||||
|
text-align: center;
|
||||||
|
color: #bfbfbf;
|
||||||
|
}
|
||||||
|
.login-code {
|
||||||
|
width: 33%;
|
||||||
|
display: inline-block;
|
||||||
|
height: 38px;
|
||||||
|
float: right;
|
||||||
|
img{
|
||||||
|
cursor: pointer;
|
||||||
|
vertical-align:middle
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
Loading…
Reference in New Issue