940 lines
32 KiB
Vue
940 lines
32 KiB
Vue
<template>
|
||
<div class="main-bg">
|
||
|
||
<div class="header-container narrow-screen">
|
||
<div class="banner-box">
|
||
<div>
|
||
<div class="header default-transition-fast">
|
||
<div class="header-wrapper auto clearfix">
|
||
<div class="header-left">
|
||
<div class="header-logo">
|
||
<div style="text-align: center; height:80px; line-height:80px;display: inline-flex;">
|
||
<div>
|
||
<!-- src="@/assets/logo/tnlogo.png -->
|
||
<img style="display: inline-block; vertical-align: middle;height: 55px;" :src="logoImg">
|
||
</div>
|
||
<div style="display: inline-flex;">
|
||
<div><img style="display: inline-block; vertical-align: middle;height: 18px;" src="@/assets/images/hotphone.png"></div>
|
||
<div style="font-size: 18px; font-weight: 500;width: 120px;text-align: left;color: #b12e29;margin-left: 5px;" v-if="isTanex">400-025-7080</div>
|
||
<div style="font-size: 18px; font-weight: 500;width: 120px;text-align: left;color: #b12e29;margin-left: 5px;" v-if="!isTanex">400-025-1756</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div style="float: right;padding: 3px;display: inline-flex">
|
||
|
||
<div style="text-align: center;line-height: 80px;margin-right: 20px;">
|
||
<div class="nav-title nav-title-active">
|
||
<div style="padding: 0px 3px;"><img style="display: inline-block; vertical-align: middle;height: 10px;" src="@/assets/images/fhxz_icon.png"></div>
|
||
<div>发货须知</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div style="text-align: center;line-height: 80px;margin-right: 20px;">
|
||
<div class="nav-title">
|
||
<div style="padding: 0px 3px;"><img style="display: inline-block; vertical-align: middle;height: 10px;" src="@/assets/images/help_icon.png"></div>
|
||
<div>系统帮助</div>
|
||
</div>
|
||
</div>
|
||
<div style="text-align: center;line-height: 80px;margin-right: 20px;">
|
||
<div class="nav-title">
|
||
<div style="padding: 0px 3px;"><img style="display: inline-block; vertical-align: middle;height: 10px;" src="@/assets/images/zxkf_icon.png"></div>
|
||
<div>在线客服</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- <div v-for="(navItem,navId) in zoneConfig.navList" :key="navId">
|
||
<div style="text-align: center;line-height: 80px;margin-right: 20px;">
|
||
<a :href="navItem.url">{{ navItem.navName }}</a>
|
||
</div>
|
||
</div> -->
|
||
|
||
<div>
|
||
<!-- <div style="text-align: center;position: relative;line-height: 80px" >
|
||
<input type="hidden" id="kfQrImage" :value="zoneConfig.kfQrImage">
|
||
<el-popover
|
||
placement="left"
|
||
width="284"
|
||
trigger="click"
|
||
ref="popoverRef"
|
||
effect="light"
|
||
:offset="120"
|
||
:popper-options="{
|
||
// modifiers: [{
|
||
// name: 'offset',
|
||
// options: {
|
||
// offset: [0, 0]
|
||
// }
|
||
// }],
|
||
// boundariesElement: 'viewport',
|
||
// removeOnDestroy: true
|
||
}"
|
||
:show-arrow="false"
|
||
popper-class="table-field-operation-popover"
|
||
>
|
||
<img :src="zoneConfig.kfQrImage" width="260px"/>
|
||
<div style="text-align: center;">请添加微信联系</div>
|
||
<div style="text-align: center" slot="reference">联系客服</div>
|
||
</el-popover>
|
||
</div> -->
|
||
<!-- <div style="text-align: center;line-height: 80px;margin-right: 20px;" @click="showKfView" >联系客服</div> -->
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- header end-->
|
||
<div class="login-main-area">
|
||
<div class="auto login-inner" >
|
||
<div class="clearfix">
|
||
|
||
<div class="login-desc">
|
||
<h2 v-if="isTanex">探路物流 速运全球-探路速运TMS物流管理系统</h2>
|
||
<h2 v-if="!isTanex">陆陆达-关境通物流管理系统</h2>
|
||
<p>专业物流服务,端对端客户优势,垂直化的跟踪解答</p>
|
||
<p>
|
||
<img style="display: inline-block; vertical-align: middle;width:50%;" src="@/assets/images/spic.png">
|
||
</p>
|
||
</div>
|
||
|
||
<div class="login-main pie-for-element">
|
||
<el-row>
|
||
<div>
|
||
<div style="display:none">
|
||
<h3 class="title">系统登录</h3>
|
||
</div>
|
||
<p class="login_title">
|
||
<span :class="isActiveIndex === 0 ? 'isActiveTitle' : ''" @click="switchAccountLogin">{{ $t('loginForm.accountLogin') }}</span>
|
||
<!-- <span :class="isActiveIndex === 1 ? 'isActiveTitle' : ''" @click="switchSmsLogin">验证码登录</span> -->
|
||
</p>
|
||
</div>
|
||
<el-form v-if="isActive" ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
|
||
<el-form-item prop="username">
|
||
<el-input
|
||
v-model="loginForm.username"
|
||
type="text"
|
||
clearable
|
||
maxlength="20"
|
||
:placeholder="$t('loginForm.username')"
|
||
>
|
||
<!-- auto-complete="new-password" -->
|
||
<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"
|
||
maxlength="20"
|
||
show-password
|
||
clearable
|
||
:placeholder="$t('loginForm.password')"
|
||
@keyup.enter.native="handleLogin"
|
||
>
|
||
<!-- auto-complete="new-password" -->
|
||
<svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
|
||
</el-input>
|
||
</el-form-item>
|
||
<el-form-item prop="code" style="" >
|
||
<el-input
|
||
v-model="loginForm.code"
|
||
auto-complete="off"
|
||
:placeholder="$t('loginForm.vcode')"
|
||
style="width: 60%"
|
||
maxlength="4"
|
||
oninput="if(value.length>4)value=value.slice(0,4)"
|
||
clearable
|
||
@keyup.enter.native="handleLogin"
|
||
>
|
||
<svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" />
|
||
</el-input>
|
||
<div class="login-code" style="width: 40%">
|
||
<img :src="codeUrl" @click="getCode" class="login-code-img"/>
|
||
</div>
|
||
</el-form-item>
|
||
<el-form-item prop="rememberMe" style="width:100%;margin-top: 0px;margin-bottom: 0px;" >
|
||
<el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 0px 0px;font-size:400">{{ $t('loginForm.rememberMe') }}</el-checkbox>
|
||
</el-form-item>
|
||
<el-form-item style="width:100%;margin-top: 5px;">
|
||
<el-button
|
||
:loading="loading"
|
||
size="medium"
|
||
type="primary"
|
||
style="width:100%;"
|
||
@click.native.prevent="handleLogin"
|
||
>
|
||
<!-- 登 录 -->
|
||
<span v-if="!loading">{{ $t('loginForm.btnLogin') }}</span>
|
||
<span v-else>{{ $t('loginForm.logingMsg') }}</span>
|
||
</el-button>
|
||
</el-form-item>
|
||
<el-form-item style="width:100%;margin-top: 5px;">
|
||
<el-dropdown class="right-menu-item hover-effect" trigger="click">
|
||
<div class="avatar-wrapper" >
|
||
<div style="display: inline-flex;line-height: 20px;padding: 5px;text-align: center; min-width: 35px; border-radius: 30px;" slot="reference">
|
||
<div>
|
||
<svg-icon icon-class="lang" style="width:20px" />
|
||
<!-- <img v-if="i18nLang=='zh-CN'" style="width:20px" src="@/assets/lang_logo/zh-cn.png" /> -->
|
||
<!-- <img v-if="i18nLang=='en'" style="width:20px" src="@/assets/lang_logo/en.png" /> -->
|
||
</div>
|
||
<div v-if="i18nLang=='zh-CN'">{{ $t('locale.zh-CN') }}</div>
|
||
<div v-if="i18nLang=='en'">{{ $t('locale.en') }}</div>
|
||
<div>
|
||
<i class="el-icon-caret-bottom" />
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<el-dropdown-menu slot="dropdown" >
|
||
<el-dropdown-item @click.native="changeLanguage('zh-CN')">
|
||
<span v-if="i18nLang=='zh-CN'" style="display:block;color: red;">{{ $t('locale.zh-CN') }}</span>
|
||
<span v-else style="display:block;">{{ $t('locale.zh-CN') }}</span>
|
||
</el-dropdown-item>
|
||
<el-dropdown-item @click.native="changeLanguage('en')">
|
||
<span v-if="i18nLang=='en'" style="display:block;color: red;">{{ $t('locale.en') }}</span>
|
||
<span v-else style="display:block;">{{ $t('locale.en') }}</span>
|
||
</el-dropdown-item>
|
||
</el-dropdown-menu>
|
||
</el-dropdown>
|
||
</el-form-item>
|
||
</el-form>
|
||
|
||
<el-form v-else ref="loginForm2" :model="loginForm2" :rules="loginRules2" class="login-form2">
|
||
<el-form-item prop="mobile">
|
||
<el-input
|
||
v-model="loginForm2.mobile"
|
||
type="text"
|
||
auto-complete="off"
|
||
placeholder="手机号"
|
||
maxlength="11"
|
||
clearable
|
||
@keyup.enter.native="getSmsCode"
|
||
>
|
||
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
|
||
</el-input>
|
||
</el-form-item>
|
||
|
||
<el-form-item prop="smscode" >
|
||
<el-input
|
||
v-model="loginForm2.smscode"
|
||
auto-complete="new-password"
|
||
placeholder="短信验证码"
|
||
clearable
|
||
maxlength="4"
|
||
style="width: 100%"
|
||
@keyup.enter.native="handleLoginByMobile"
|
||
>
|
||
<svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" />
|
||
</el-input>
|
||
<div class="sms-send-panel" >
|
||
<div
|
||
:disabled="smsSendDisabledFlag"
|
||
class="sms-send-btn"
|
||
@click="getSmsCode"
|
||
>
|
||
<span>{{smsSendBtnMsg}}</span>
|
||
</div>
|
||
</div>
|
||
|
||
</el-form-item>
|
||
<el-form-item style="width:100%;margin-top: 10px;">
|
||
<el-button
|
||
:loading="loading"
|
||
size="medium"
|
||
type="primary"
|
||
style="width:100%;"
|
||
@click.native.prevent="handleLoginByMobile"
|
||
>
|
||
<span v-if="!loading">登 录</span>
|
||
<span v-else>登 录 中...</span>
|
||
</el-button>
|
||
|
||
</el-form-item>
|
||
</el-form>
|
||
<div style="clearfix: both;padding: 0px 15px;">
|
||
<!-- <div style="float: left;" >
|
||
<router-link class="link-type" :to="'/register'" style="color: gray;font-weight: 400;font-size: 14px;">免费试用</router-link>
|
||
</div>
|
||
<div style="float: right;" >
|
||
<router-link class="link-type" :to="'/resetpwd'" style="color: gray;font-weight: 400;font-size: 14px;">忘记密码?</router-link>
|
||
</div> -->
|
||
</div>
|
||
|
||
</el-row>
|
||
</div>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<div class="signfooter">
|
||
<div class="auto clearfix">
|
||
<div class="footer-signfooter">
|
||
<p v-if="isTanex">Powered by © 2024 探路速运 All Rights Reserved </p>
|
||
<p v-if="!isTanex">Powered by © 2024 陆陆达 All Rights Reserved 技术支持:南京睿达通商务咨询有限公司 </p>
|
||
|
||
<p></p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="cmn-fixbtns" style="display:none;">
|
||
<div class="ims">
|
||
<a >
|
||
<el-popover
|
||
placement="left"
|
||
width="284"
|
||
trigger="click"
|
||
ref="popoverRef"
|
||
effect="light"
|
||
:offset="120"
|
||
:popper-options="{
|
||
// modifiers: [{
|
||
// name: 'offset',
|
||
// options: {
|
||
// offset: [0, 0]
|
||
// }
|
||
// }],
|
||
// boundariesElement: 'viewport',
|
||
// removeOnDestroy: true
|
||
}"
|
||
:show-arrow="false"
|
||
popper-class="table-field-operation-popover"
|
||
>
|
||
<img :src="zoneConfig.kfQrImage" width="260px"/>
|
||
<img src="../assets/images/kefu.png" slot="reference" style="width: 40px;"/>
|
||
</el-popover>
|
||
</a>
|
||
<div class="clearfix" style="position: relative;display:none">
|
||
<div id="showPhoneDiv" style="display:none;position: absolute;width: 150px;right: 42px;background: white;padding: 10px;">
|
||
<span style="color: #FFA200;">17898809070</span>
|
||
</div>
|
||
<img src="../assets/images/dianhua.png" onmouseover="showPhone()" onmouseout="hidePhone()" style=" width: 40px;"/>
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
<div class="kf_dialog_center">
|
||
<el-dialog title="" :visible.sync="openKfView" width="400px" append-to-body>
|
||
<div style="padding:30px">
|
||
<img :src="zoneConfig.kfQrImage" width="100%" draggable="false"/>
|
||
<div style="text-align: center;">打开微信扫一扫 添加专属客服</div>
|
||
<div style="text-align: center" >帮助您更全面的了解系统功能</div>
|
||
</div>
|
||
</el-dialog>
|
||
</div>
|
||
|
||
</div>
|
||
</template>
|
||
|
||
<script>
|
||
import luludaLogo from '@/assets/logo/luluda_logo.png';
|
||
import tanexLogo from '@/assets/logo/tnlogo.png';
|
||
|
||
import { getCodeImg } from "@/api/login";
|
||
import { getLoginSmsVCode } from "@/api/common";
|
||
import { getLocalIp } from "@/utils/custom";
|
||
|
||
import Cookies from "js-cookie";
|
||
import { encrypt, decrypt } from '@/utils/jsencrypt'
|
||
import FingerprintJS from '@fingerprintjs/fingerprintjs' // 引入
|
||
|
||
// const uuidv4 = require("uuid/v4"); // 导入uuid生成插件
|
||
import { v4 as uuidv4 } from 'uuid';
|
||
|
||
export default {
|
||
name: "Login",
|
||
data() {
|
||
return {
|
||
zoneConfig:{},
|
||
pdomain:null,
|
||
codeUrl: "",
|
||
localIp:null,
|
||
logoImg: null,
|
||
isTanex:true,
|
||
|
||
loginForm: {
|
||
username: "",
|
||
password: "",
|
||
rememberMe: false,
|
||
code: "",
|
||
uuid: "",
|
||
macCode:"",
|
||
pdomain:""
|
||
},
|
||
loginRules: {
|
||
username: [
|
||
{ required: true, trigger: "blur", message: "请输入您的账号" }
|
||
],
|
||
password: [
|
||
{ required: true, trigger: "blur", message: "请输入您的密码" }
|
||
],
|
||
code: [
|
||
{ required: true, trigger: "blur", message: "请输入验证码" }
|
||
]
|
||
},
|
||
loginForm2: {
|
||
mobile: "",
|
||
smscode: "",
|
||
pdomain:""
|
||
|
||
},
|
||
loginRules2: {
|
||
mobile: [
|
||
{ required: true, trigger: "blur", message: "请输入手机号" },
|
||
{ trigger: "blur", message: "手机号不正确",pattern:/^1\d{10}$/ },
|
||
],
|
||
smscode: [
|
||
{ required: true, trigger: "change", message: "请输入短信验证码" }
|
||
],
|
||
},
|
||
loading: false,
|
||
// 验证码开关
|
||
captchaOnOff: true,
|
||
// 注册开关
|
||
register: false,
|
||
redirect: undefined,
|
||
|
||
capsTooltip: false,
|
||
loading: false,
|
||
showDialog: false,
|
||
redirect: undefined,
|
||
otherQuery: {},
|
||
dialogVisible: false, // 验证码弹框
|
||
|
||
isActive: true, // 用于实现切换登录,作为判断
|
||
isActiveIndex: 0,
|
||
|
||
smsSendBtnMsg:"获取验证码",
|
||
smsSendDisabledFlag:false,
|
||
openKfView:false
|
||
};
|
||
},
|
||
computed: {
|
||
i18nLang:{
|
||
get() {
|
||
return this.$i18n.locale;
|
||
}
|
||
}
|
||
},
|
||
watch: {
|
||
$route: {
|
||
handler: function(route) {
|
||
this.redirect = route.query && route.query.redirect;
|
||
},
|
||
immediate: true
|
||
}
|
||
},
|
||
created() {
|
||
document.title="系统登录";
|
||
this.zoneConfig=this.$store.state.zoneConfig;
|
||
|
||
const domain = this.zoneConfig.zoneDomain;
|
||
let domainPrefix = null;
|
||
if(domain === undefined){
|
||
this.zoneConfig.zoneDomain=process.env.VUE_APP_PDOMAIN;
|
||
}
|
||
else{
|
||
domainPrefix = domain.substring(0, domain.indexOf('.'))
|
||
this.zoneConfig.zoneDomain=domainPrefix;
|
||
this.loginForm.pdomain = domainPrefix
|
||
this.loginForm2.pdomain = domainPrefix
|
||
}
|
||
this.getCode();
|
||
this.getCookie();
|
||
this.initMacId();
|
||
|
||
let hostName=window.location.hostname;
|
||
if(hostName.indexOf('truckline56')!=-1 || hostName.indexOf("43.136.13.105")!=-1){
|
||
this.logoImg=luludaLogo;
|
||
this.isTanex=false;
|
||
}else{
|
||
this.logoImg=tanexLogo;
|
||
this.isTanex=true;
|
||
}
|
||
|
||
},
|
||
methods: {
|
||
async initMacId(){
|
||
const fp = await FingerprintJS.load()
|
||
const result = await fp.get()
|
||
const fpMacCode = result.visitorId
|
||
let macCode=localStorage.getItem('EMIS_TnMacCode')||'';
|
||
if(!macCode){
|
||
// macCode=uuidv4().replaceAll('-','');
|
||
macCode=fpMacCode;
|
||
localStorage.setItem('EMIS_TnMacCode',macCode);
|
||
}
|
||
let submitMacCode="202408###"+macCode;
|
||
|
||
this.loginForm.macCode=submitMacCode;
|
||
},
|
||
|
||
getCode() {
|
||
getCodeImg().then(res => {
|
||
this.captchaOnOff = res.captchaOnOff === undefined ? true : res.captchaOnOff;
|
||
if (this.captchaOnOff) {
|
||
this.codeUrl = "data:image/gif;base64," + res.img;
|
||
this.loginForm.uuid = res.uuid;
|
||
}
|
||
});
|
||
},
|
||
getSmsCode() {
|
||
const _this =this;//!!坑!setInterval中的this指向问题
|
||
this.loginForm2.smscode="";
|
||
const MAX_WAIT_TIME = 60;
|
||
this.$refs.loginForm2.validateField(['mobile'],valid => {
|
||
if (valid=="") {
|
||
_this.smsSendBtnMsg=MAX_WAIT_TIME+"s";
|
||
this.smsSendDisabledFlag = true; //!按钮不可重复点击
|
||
var time = 60;//定义时间变量
|
||
var timer = null;//定义定时器
|
||
timer = setInterval(function(){
|
||
if(time==0){
|
||
_this.smsSendBtnMsg="重新获取验证码";
|
||
_this.smsSendDisabledFlag=false;
|
||
clearInterval(timer);//清除定时器
|
||
}else{
|
||
_this.smsSendBtnMsg=time+"s";
|
||
time--;
|
||
}
|
||
},1000)
|
||
|
||
getLoginSmsVCode(this.loginForm2.mobile).then(res => {
|
||
// 发送验证码成功
|
||
}).catch(error => {
|
||
// 发送失败
|
||
console.log(error)
|
||
time =0;
|
||
_this.smsSendDisabledFlag=false;
|
||
clearInterval(timer);//清除定时器
|
||
})
|
||
|
||
|
||
}
|
||
});
|
||
},
|
||
getCookie() {
|
||
const username = Cookies.get("username");
|
||
const password = Cookies.get("password");
|
||
const rememberMe = Cookies.get('rememberMe')
|
||
this.loginForm = {
|
||
username: username === undefined ? this.loginForm.username : username,
|
||
password: password === undefined ? this.loginForm.password : decrypt(password),
|
||
rememberMe: rememberMe === undefined ? false : Boolean(rememberMe)
|
||
};
|
||
},
|
||
handleLogin() {
|
||
this.$refs.loginForm.validate(valid => {
|
||
if (valid) {
|
||
this.loading = true;
|
||
if (this.loginForm.rememberMe) {
|
||
Cookies.set("username", this.loginForm.username, { expires: 30 });
|
||
Cookies.set("password", encrypt(this.loginForm.password), { expires: 30 });
|
||
Cookies.set("pdomain", this.zoneConfig.zoneDomain, { expires: 30 });
|
||
Cookies.set('rememberMe', this.loginForm.rememberMe, { expires: 30 });
|
||
} else {
|
||
Cookies.remove("username");
|
||
Cookies.remove("password");
|
||
Cookies.remove('rememberMe');
|
||
Cookies.remove('pdomain');
|
||
}
|
||
|
||
this.$store.dispatch("Login", this.loginForm).then(() => {
|
||
return this.$router.push({ path: this.redirect || "/" }).catch(()=>{});
|
||
}).catch(() => {
|
||
this.getCode();
|
||
}).finally(() => {
|
||
this.loading = false;
|
||
});
|
||
}
|
||
});
|
||
},
|
||
handleLoginByMobile(){
|
||
let pdomain = process.env.VUE_APP_PDOMAIN
|
||
if (!pdomain) {
|
||
pdomain = this.loginForm.pdomain
|
||
}
|
||
|
||
this.$refs.loginForm2.validate(valid => {
|
||
if (valid) {
|
||
this.loading = true;
|
||
this.$store.dispatch("LoginByMobile", this.loginForm2).then(() => {
|
||
return this.$router.push({ path: this.redirect || "/" }).catch(()=>{});
|
||
}).finally(() => {
|
||
this.loading = false;
|
||
});
|
||
}
|
||
});
|
||
},
|
||
switchAccountLogin() { // 账号登录
|
||
this.isActive = true
|
||
this.isActiveIndex = 0
|
||
//根据需求二选一
|
||
// this.$refs[refElement].resetFields(); //移除校验结果并重置字段值
|
||
this.$refs.loginForm2.clearValidate(); //移除校验结果
|
||
|
||
},
|
||
switchSmsLogin() { // 短信登录
|
||
this.isActive = false
|
||
this.isActiveIndex = 1
|
||
this.$refs.loginForm.clearValidate(); //移除校验结果
|
||
},
|
||
showKfView(){
|
||
this.openKfView=true;
|
||
},
|
||
changeLanguage(locale) {
|
||
// Cookies.set("language",locale);
|
||
localStorage.setItem('locale', locale)
|
||
this.$i18n.locale = locale
|
||
},
|
||
}
|
||
};
|
||
</script>
|
||
|
||
<style lang="scss" scoped>
|
||
|
||
.login {
|
||
display: flex;
|
||
justify-content: center;
|
||
align-items: center;
|
||
height: 100%;
|
||
background: url("../assets/images/loginbg2.jpg") no-repeat 50% fixed;
|
||
// background-color: rgb(24, 144, 255);
|
||
// background-image: linear-gradient(#2196F3, #03A9F4);
|
||
background-size: cover;
|
||
}
|
||
.title {
|
||
margin: 0px auto 16px auto;
|
||
text-align: left;
|
||
color: #000000;
|
||
padding: 10px 0px;
|
||
border-bottom: 1px solid #f6f6f6;
|
||
font-size: 16px;
|
||
font-weight: 400;
|
||
}
|
||
|
||
.login-form {
|
||
border-radius: 6px;
|
||
background: #ffffff;
|
||
width: 330px;
|
||
padding: 0px 15px;
|
||
.el-input {
|
||
height: 38px;
|
||
input {
|
||
height: 38px;
|
||
};
|
||
|
||
}
|
||
.el-form-item{
|
||
margin-bottom: 20px;
|
||
}
|
||
|
||
.input-icon {
|
||
height: 39px;
|
||
width: 14px;
|
||
margin-left: 2px;
|
||
}
|
||
}
|
||
|
||
.nav-title{
|
||
padding: 5px;
|
||
display: inline-flex;
|
||
line-height: 15px;
|
||
font-size: 12px;
|
||
background: #f0c0bf92;
|
||
color: #b12e29;
|
||
}
|
||
|
||
.nav-title-active{
|
||
background: #b12e29!important;
|
||
color: white!important;
|
||
}
|
||
|
||
|
||
.login-form2 {
|
||
border-radius: 6px;
|
||
background: #ffffff;
|
||
width: 330px;
|
||
padding: 0px 15px;
|
||
.el-input {
|
||
height: 38px;
|
||
input {
|
||
height: 38px;
|
||
};
|
||
|
||
}
|
||
.el-form-item{
|
||
margin-bottom: 20px;
|
||
}
|
||
|
||
.input-icon {
|
||
height: 39px;
|
||
width: 14px;
|
||
margin-left: 2px;
|
||
}
|
||
}
|
||
|
||
.login-tip {
|
||
font-size: 13px;
|
||
text-align: center;
|
||
color: #bfbfbf;
|
||
}
|
||
.login-code {
|
||
width: 33%;
|
||
height: 38px;
|
||
float: right;
|
||
img {
|
||
cursor: pointer;
|
||
vertical-align: middle;
|
||
}
|
||
}
|
||
.el-login-footer {
|
||
height: 40px;
|
||
line-height: 40px;
|
||
position: fixed;
|
||
bottom: 0;
|
||
width: 100%;
|
||
text-align: center;
|
||
color: #fff;
|
||
font-family: Arial;
|
||
font-size: 12px;
|
||
letter-spacing: 1px;
|
||
}
|
||
.login-code-img {
|
||
height: 38px;
|
||
}
|
||
|
||
img { border: none; }
|
||
li { list-style: none; }
|
||
pre { white-space: pre-wrap; overflow-wrap: break-word; }
|
||
body {
|
||
font: 14px "Microsoft Yahei","Helvetica Neue", Helvetica, "PingFang SC", Tahoma, Arial, sans-serif;
|
||
background-color: rgb(24, 144, 255);
|
||
}
|
||
hr { height: 1px; margin: 10px 0px; border: 0px; clear: both; }
|
||
a {
|
||
font-size: 15px;
|
||
font-weight: 500;
|
||
color: rgb(51, 51, 51); text-decoration: none;outline: 0px; }
|
||
a:hover { color: rgb(119, 119, 119); }
|
||
a:active, a:hover { outline: 0px; }
|
||
a:visited {color: rgb(51, 51, 51); }
|
||
* { margin: 0px; box-sizing: border-box; list-style: none; }
|
||
|
||
strong { font-weight: 400; }
|
||
::selection { background: rgb(30, 172, 223); color: rgb(255, 255, 255); }
|
||
img { border: 0px; }
|
||
::-webkit-selection { background: rgb(30, 172, 223); color: rgb(255, 255, 255); }
|
||
.auto, .autoWidth { margin: 0px auto; max-width: 1900px; }
|
||
.clearfix::after, .clearfix::before { display: table; line-height: 0; content: ""; }
|
||
.clearfix::after { clear: both; }
|
||
|
||
.header-left, .page_no a, .pull-left { float: left; }
|
||
.header { height: 80px; }
|
||
.banner-engine .header { background-color: transparent; }
|
||
.header, .header-main:hover .header { background-color:#FFF8F8; }
|
||
.header-main:hover .header { border-bottom: none; }
|
||
.header-logo { display: inline-block; position: relative; width: 130px; height: 80px; float: left; }
|
||
.logo, .slogan-gif { position: absolute; }
|
||
// .logo { top: 0px; left: 0px; width: 900px; height: 100%; background: url("") left center no-repeat; }
|
||
|
||
.logo { top: 0px; left: 0px; width: 900px; height: 100%;}
|
||
.header .auto { overflow: visible; }
|
||
.banner-engine .header-container { width: 100%; height: 0px; }
|
||
.banner-box { height: 80px; }
|
||
.banner-engine .banner-box { height: 720px; position: relative; }
|
||
.transparent-header .banner-box, .transparent-header .header-container { width: 100%; height: 0px; }
|
||
.signfooter { text-align: center; background-color: transparent; padding: 10px 0px; position: fixed; left: 0px; bottom: 0px; width: 100%; max-height: 98px; }
|
||
.footer-signfooter { width: 100%; padding: 5px 0px; }
|
||
.footer-signfooter a, .footer-signfooter p { margin-top: 8px; font-size: 12px; color: #757575; }
|
||
.login-desc { padding-left: 20px; padding-top: 10px; color:#B12D29; font-size: 16px; }
|
||
.login-desc h2 { margin-bottom: 10px; padding-left: 100px; font-size: 28px;font-weight: 900; }
|
||
.login-desc p { height: 22px; line-height: 22px; margin-bottom: 24px; text-indent: 38px;font-weight: 900; }
|
||
.login-main-area { position: relative;
|
||
// background-image: url("../assets/images/loginbg3.jpg");
|
||
/*background-position: center 0px; */
|
||
/*background-repeat: no-repeat; */
|
||
/*background-size: 100%; */
|
||
min-height: 510px; text-align: left; padding-top: 20px; padding-bottom: 28px;
|
||
// background-color: rgb(24, 144, 255);
|
||
/*background-image: linear-gradient(#2196F3, #03A9F4);*/
|
||
}
|
||
|
||
.main-bg{
|
||
//background-position: center 0px;
|
||
//background-repeat: no-repeat;
|
||
//@at-rootbackground-size: 100%;
|
||
// background-color: rgb(24, 144, 255);
|
||
background-color:#FFF8F8;
|
||
height:100%
|
||
}
|
||
.login-inner { position: relative; z-index: 20; }
|
||
.login-main {
|
||
position: absolute;
|
||
right: 80px;
|
||
top: 10%; z-index: 50;
|
||
padding: 10px 30px 18px;
|
||
min-height: 404px;
|
||
background-color: rgb(255, 255, 255);
|
||
// box-shadow: rgba(0, 0, 0, 0.1) 0px 5px 5px;
|
||
box-shadow: #b12d294f 0px 2px 3px;
|
||
border-radius: 5px;
|
||
}
|
||
|
||
.login-main :deep .el-button--primary {
|
||
color: #FFFFFF;
|
||
background-color: #B12D29;
|
||
border-color: #B12D29;
|
||
}
|
||
|
||
.login-form .el-input {
|
||
height: 40px;
|
||
}
|
||
|
||
:deep .login-form .el-input__inner {
|
||
height: 40px;
|
||
line-height: 40px;
|
||
}
|
||
|
||
.login-form2 .el-input {
|
||
height: 40px;
|
||
}
|
||
|
||
:deep .login-form2 .el-input__inner {
|
||
height: 40px;
|
||
line-height: 40px;
|
||
}
|
||
|
||
.login_box{
|
||
width: 450px;
|
||
height: 490px;
|
||
background-color: #fff;
|
||
border-radius: 18px;
|
||
padding: 30px 50px 30px 30px;
|
||
}
|
||
.login_title{
|
||
text-align: left;
|
||
margin: 10px;
|
||
font-size: 16px;
|
||
color: #666;
|
||
border-bottom: 1px solid #f6f6f6;
|
||
padding: 10px 0px;
|
||
}
|
||
.login_title span{
|
||
margin: 0 20px 0 20px;
|
||
cursor: pointer;
|
||
}
|
||
.login_title span:hover{
|
||
color: #333;
|
||
font-weight: bolder;
|
||
}
|
||
.isActiveTitle{
|
||
color: #333;
|
||
font-weight: bolder;
|
||
border-bottom: 2px solid #B12D29;
|
||
}
|
||
.login_agree{
|
||
margin-left: 30px;
|
||
}
|
||
.login_btn{
|
||
width: 100%;
|
||
height: 50px;
|
||
margin: 0 0 0 10px;
|
||
background-color: #0cb95f;
|
||
color: #fff;
|
||
}
|
||
|
||
|
||
.cmn-fixbtns {
|
||
position: fixed;
|
||
z-index: 999;
|
||
right: 5%;
|
||
top: 150px;
|
||
}
|
||
.cmn-fixbtns .ims {
|
||
width: 40px;
|
||
}
|
||
|
||
.el-checkbox__label {
|
||
font-weight: 400;
|
||
}
|
||
|
||
|
||
.sms-send-panel{
|
||
width: 40%;
|
||
position: absolute;
|
||
right: 5px;
|
||
top: 0px;
|
||
line-height: 36px;
|
||
height: 36px;
|
||
}
|
||
.sms-send-btn {
|
||
width: 100%;
|
||
font-size: 14px;
|
||
border-radius: 100px;
|
||
padding: 0px;
|
||
background: transparent;
|
||
color: #565656;
|
||
border: none;
|
||
text-align: center;
|
||
cursor: pointer;
|
||
|
||
:hover{
|
||
color: #565656;
|
||
font-weight: bold;
|
||
}
|
||
}
|
||
|
||
.kf_dialog_center {
|
||
display: -webkit-box;
|
||
display: -ms-flexbox;
|
||
display: flex;
|
||
-webkit-box-pack: center;
|
||
-ms-flex-pack: center;
|
||
justify-content: center;
|
||
-webkit-box-align: center;
|
||
-ms-flex-align: center;
|
||
align-items: center;
|
||
}
|
||
|
||
// .el-dialog__wrapper {
|
||
// margin-top: 0 !important;
|
||
// top: 50%;
|
||
// transform: translateY(-50%)
|
||
// }
|
||
|
||
.el-dialog{
|
||
display: flex;
|
||
display: -ms-flex; /* 兼容IE */
|
||
flex-direction: column;
|
||
-ms-flex-direction: column; /* 兼容IE */
|
||
margin:0 !important;
|
||
position:absolute;
|
||
top:50%;
|
||
left:50%;
|
||
transform:translate(-50%,-50%);
|
||
max-height:calc(100% - 30px);
|
||
max-width:calc(100% - 30px);
|
||
}
|
||
.el-dialog .el-dialog__body{
|
||
max-height: 100%;
|
||
flex: 1;
|
||
-ms-flex: 1 1 auto; /* 兼容IE */
|
||
overflow-y: auto;
|
||
overflow-x: hidden;
|
||
}
|
||
|
||
.el-dialog__wrapper {
|
||
/*隐藏ie和edge中遮罩的滚动条*/
|
||
overflow: hidden;
|
||
}
|
||
|
||
</style>
|
||
|
||
|