Commit 08189f7c authored by 李晓兵's avatar 李晓兵

'登录注册'

parent dda81058
...@@ -13,13 +13,13 @@ ...@@ -13,13 +13,13 @@
</div> </div>
</h-header> </h-header>
<Tab @getTabNum="getTabNum" /> <Tab @getTabNum="getTabNum" />
<h-content>
<div class="hinput"> <div class="hinput">
<div class="search-box"> <div class="search-box">
<input type="text" placeholder="请输入进件号/承租人名称"> <input type="text" placeholder="请输入进件号/承租人名称">
<img src="@/assets/distributorSign/search.png" alt=""> <img src="@/assets/distributorSign/search.png" alt="">
</div> </div>
</div> </div>
<h-content>
<div v-for="(item,index) in contractMsg" :key="index" class="contract-list"> <div v-for="(item,index) in contractMsg" :key="index" class="contract-list">
<div class="item"> <div class="item">
<img src="@/assets/distributorSign/icon-进件合同.png" alt=""> <img src="@/assets/distributorSign/icon-进件合同.png" alt="">
...@@ -127,12 +127,15 @@ export default { ...@@ -127,12 +127,15 @@ export default {
} }
} }
} }
.content{
padding-bottom: 14px;
}
.contract-list { .contract-list {
width: 100%; width: 100%;
height: 120px; height: 120px;
// border: 1px solid #ccc; // border: 1px solid #ccc;
background: #fff; background: #fff;
margin-bottom: 8px; //margin-bottom: 8px;
.item { .item {
width: 100%; width: 100%;
height: 34px; height: 34px;
...@@ -167,8 +170,8 @@ export default { ...@@ -167,8 +170,8 @@ export default {
height: 86px; height: 86px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: space-evenly; justify-content: space-around;
padding: 6px 0;
.option { .option {
width: 100%; width: 100%;
height: 18px; height: 18px;
......
...@@ -7,13 +7,13 @@ ...@@ -7,13 +7,13 @@
</div> </div>
</h-header> </h-header>
<Tab @getTabNum="getTabNum" /> <Tab @getTabNum="getTabNum" />
<h-content>
<div class="hinput"> <div class="hinput">
<div class="search-box"> <div class="search-box">
<input type="text" placeholder="请输入进件号/承租人名称"> <input type="text" placeholder="请输入进件号/承租人名称">
<img src="@/assets/distributorSign/search.png" alt=""> <img src="@/assets/distributorSign/search.png" alt="">
</div> </div>
</div> </div>
<h-content>
<div v-for="(item,index) in contractMsg" :key="index" class="contract-list"> <div v-for="(item,index) in contractMsg" :key="index" class="contract-list">
<div class="item"> <div class="item">
<img src="@/assets/distributorSign/icon-进件合同.png" alt=""> <img src="@/assets/distributorSign/icon-进件合同.png" alt="">
...@@ -126,6 +126,9 @@ export default { ...@@ -126,6 +126,9 @@ export default {
} }
} }
} }
.content{
padding-bottom: 14px;
}
.contract-list { .contract-list {
width: 100%; width: 100%;
height: 120px; height: 120px;
...@@ -166,13 +169,13 @@ export default { ...@@ -166,13 +169,13 @@ export default {
height: 86px; height: 86px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: space-evenly; justify-content: space-around;
padding: 6px 0;
.option { .option {
width: 100%; width: 100%;
height: 18px; height: 18px;
display: flex; display: flex;
flex-basis: row; flex-direction: row;
.name { .name {
font-family: PingFangSC-Regular; font-family: PingFangSC-Regular;
font-size: 13px; font-size: 13px;
...@@ -180,7 +183,7 @@ export default { ...@@ -180,7 +183,7 @@ export default {
width: 80px; width: 80px;
height: 18px; height: 18px;
line-height: 18px; line-height: 18px;
padding-left: 20px; text-align: right
} }
.normal { .normal {
font-family: PingFangSC-Regular; font-family: PingFangSC-Regular;
......
<template> <template>
<scroll id="login" ref="scroll" class="content"> <scroll id="login" ref="scroll" class="content">
<div> <div class="bird-icon"/>
<div class="bird-icon"><img src="../assets/image/login/bird-icon.png"></div> <div class="login-wrap">
<div class="pwd"> <div class="pwd">
<div class="pwd-icon"><img src="../assets/image/login/user.png"></div> <div class="pwd-icon"><img src="../assets/login/user.png"></div>
<div class="pwd-input"><input v-model="username" type="text" placeholder="请输入用户名/手机号"></div> <div class="pwd-input"><input v-model="username" type="text" placeholder="请输入用户名/手机号"></div>
<div v-if="username" class="delete" @click="clearAccount"><img src="../assets/image/login/delete.png"></div> <div v-if="username" class="delete" @click="clearAccount"><img src="../assets/login/delete.png"></div>
</div> </div>
<div class="pwd"> <div class="pwd">
<div class="pwd-icon"><img src="../assets/image/login/password.png"></div> <div class="pwd-icon"><img src="../assets/login/password.png"></div>
<div class="pwd-input"><input v-model="password" type="password" placeholder="请输入密码"></div> <div class="pwd-input"><input v-model="password" :type="pwdType" placeholder="请输入密码"></div>
<div v-if="password" class="delete" @click="clearPassword"><img src="../assets/image/login/delete.png"></div> <div v-if="password" class="delete" @click="changeType"><img :src="openEye"></div>
</div> </div>
<div class="button submit" @click="access">登录</div>
<div class="other-function"> <div class="other-function">
<div class="register" @click="registerNew">用户注册</div> <div class="register" @click="registerNew">注册</div>
<div class="pwd-forgotten" @click="pwdForgotten">忘记密码</div> <div class="pwd-forgotten" @click="pwdForgotten">忘记密码</div>
</div> </div>
<div class="button submit" @click="access">登录</div>
</div> </div>
</scroll> </scroll>
</template> </template>
...@@ -26,6 +27,8 @@ var CryptoJS = require('crypto-js') ...@@ -26,6 +27,8 @@ var CryptoJS = require('crypto-js')
export default { export default {
data () { data () {
return { return {
pwdType: 'password', // 密码类型
openEye: require('@/assets/login/passNoShow.png'), // 图片地址
username: window.localStorage.username ? window.localStorage.username : '', username: window.localStorage.username ? window.localStorage.username : '',
password: '', password: '',
version: process.env.currentVersion, version: process.env.currentVersion,
...@@ -33,42 +36,41 @@ export default { ...@@ -33,42 +36,41 @@ export default {
} }
}, },
methods: { methods: {
changeType () {
this.pwdType = this.pwdType === 'password' ? 'text' : 'password'
this.openEye = this.pwdType === 'password' ? require('@/assets/login/passNoShow.png') : require('@/assets/login/passShow.png')
},
login: function () { login: function () {
let vm = this let vm = this
vm.$router.push('tab')
/* let vm = this
// debugger;
// vm.password = CryptoJS.MD5(vm.password).toString().toUpperCase(); // vm.password = CryptoJS.MD5(vm.password).toString().toUpperCase();
let md5passwprd = CryptoJS.MD5(vm.password).toString().toUpperCase() let md5passwprd = CryptoJS.MD5(vm.password).toString().toUpperCase()
let param = { let param = {
'user_name': vm.username, 'phone': vm.username,
'user_password': md5passwprd, 'password': md5passwprd,
'platform': 'C',
} }
vm.$post(process.env.basePath + 'tc_app_login', param) vm.$post(process.env.basePath + 'app_login', param)
.then(function (res) { .then(function (res) {
if (res.result === 'S') { if (res.result === 'S') {
vm.hlsPopup.hideLoading() vm.hlsPopup.hideLoading()
window.localStorage.setItem('username', vm.username.toUpperCase()) window.localStorage.setItem('user_phone', vm.username)
window.localStorage.setItem('password', md5passwprd) window.localStorage.setItem('password', md5passwprd)
window.localStorage.setItem('user_id', res.user_id) /* if (res.bp_id && res.bp_id !== 'undefined') {
if (res.bp_id && res.bp_id !== 'undefined') {
window.localStorage.setItem('bp_id', res.bp_id) window.localStorage.setItem('bp_id', res.bp_id)
} } */
// if (vm.routeName) { // if (vm.routeName) {
// vm.$router.push({name: vm.routeName}) // vm.$router.push({name: vm.routeName})
// } else { // } else {
vm.$router.push('tab') vm.$router.push('tab')
// } // }
let tagOption = { /* let tagOption = {
'username': vm.username.toUpperCase(), 'username': vm.username.toUpperCase(),
'user_id': res.user_id, 'user_id': res.user_id,
} }
vm.Jpush._jpush_config(tagOption) vm.Jpush._jpush_config(tagOption) */
} }
// 极光推送 // 极光推送
})*/ })
}, },
access: function () { access: function () {
let vm = this let vm = this
...@@ -105,77 +107,32 @@ export default { ...@@ -105,77 +107,32 @@ export default {
<style lang="less" scoped type="text/less"> <style lang="less" scoped type="text/less">
#login { #login {
background: url("../assets/image/login/bg@2x.png") no-repeat; background: url("../assets/login/bg@2x.png") no-repeat;
background-size: cover; background-size: cover;
background-position-x: 0px; background-position-x: 0px;
color: #FFFFFF; color: #FFFFFF;
width: 100%; width: 100%;
height: 100%; height: 100%;
margin: 0 auto; margin: 0 auto;
.bird-icon { .scrollContent{
padding-top: 25%;
width: 100%;
display: flex; display: flex;
display: -webkit-flex;
justify-content: center; justify-content: center;
-webkit-justify-content: center;
img {
width: 138px;
height: 48px;
}
}
.login {
border-bottom: 1px solid #5D98F6;
display: flex;
display: -webkit-flex;
margin: 15% auto 0;
width: 250px;
justify-content: center;
.person-icon {
margin-bottom: 9px;
margin-right: 15px;
margin-left: 3px;
img {
width: 18px;
height: 20px;
}
}
.admin-input {
//width: 380px;
height: 25px;
display: flex;
display: -webkit-flex;
align-items: center; align-items: center;
-webkit-align-items: center;
input {
width: 100%;
height: 100%;
font-size: 16px;
color: #9e9e9e;
margin-bottom: 5px;
line-height: 22px;
}
input::-webkit-input-placeholder {
font-size: 16px;
color: #CDD1D3;
}
}
.delete {
img {
margin-top: 5px;
width: 12px;
height: 12px;
} }
.bird-icon{
padding-top: 25%;
} }
.login-wrap{
width: 100%;
margin-top: 60%;
} }
.pwd { .pwd {
border-bottom: 1px solid #5D98F6; border-bottom: 1px solid #5D98F6;
display: flex; display: flex;
display: -webkit-flex; display: -webkit-flex;
margin: 15% auto 0; margin: 5% 0 5% 14%;
width: 250px;
.pwd-icon { .pwd-icon {
margin-bottom: 9px; margin-bottom: 6px;
margin-right: 15px; margin-right: 15px;
margin-left: 3px; margin-left: 3px;
img { img {
...@@ -184,19 +141,21 @@ export default { ...@@ -184,19 +141,21 @@ export default {
} }
} }
.pwd-input { .pwd-input {
//width: 380px; margin-left: 4%;
height: 25px; width: 100%;
margin-bottom: 10px;
display: flex; display: flex;
display: -webkit-flex; display: -webkit-flex;
align-items: center; align-items: center;
-webkit-align-items: center; -webkit-align-items: center;
// background-color: #0057C3 !important;
input { input {
width: 100%; width: 100%;
height: 100%; height: 100%;
font-size: 16px; font-size: 16px;
color: #9e9e9e; color: #fff;
line-height: 22px; line-height: 22px;
margin-bottom: 5px; background-color: rgba(0,87,195,0) !important;
} }
input::-webkit-input-placeholder { input::-webkit-input-placeholder {
font-size: 16px; font-size: 16px;
...@@ -205,19 +164,20 @@ export default { ...@@ -205,19 +164,20 @@ export default {
} }
.delete { .delete {
img { img {
margin-right: 20px;
margin-top: 5px; margin-top: 5px;
width: 12px; width: 14px;
height: 12px; height: 14px;
} }
} }
} }
.other-function { .other-function {
width: 250px; width: 64%;
display: flex; display: flex;
display: -webkit-flex; display: -webkit-flex;
justify-content: space-between; justify-content: space-between;
-webkit-justify-content: space-between; -webkit-justify-content: space-between;
margin: 8% auto 0; margin: 0 0 0 23%;
.register { .register {
color: #5D98F6; color: #5D98F6;
font-size: 15px; font-size: 15px;
...@@ -228,14 +188,14 @@ export default { ...@@ -228,14 +188,14 @@ export default {
} }
} }
.submit { .submit {
width: 250px;
opacity: 1; opacity: 1;
background-color: #5D98F6; background: #FDFDFD;
border-radius: 4px; border-radius: 8px 0 0 8px;
height: 40px; height: 50px;
margin: 22% auto 0; margin: 10% 0 6% 14%;
font-size:16px; font-size:16px;
color: #FEFEFE; color: #000000;
display: flex; display: flex;
display: -webkit-flex; display: -webkit-flex;
justify-content: center; justify-content: center;
......
<template> <template>
<h-view class="public-style pwd-forgotten"> <h-view class="public-style pwd-forgotten">
<h-header> <h-header :proportion="[5,1,1]" class="header">
<div slot="left" class="h-header-btn" @click="$routeGo()"> <div slot="left" class="h-header-btn" @click="$routeGo()">
<i class="ion-ios-arrow-back"/> <img src="@/assets/userBind/arrow.png" >
<span>忘记密码</span>
</div> </div>
<div slot="center">忘记密码</div>
</h-header> </h-header>
<h-content class="has-header"> <h-content>
<div class="phone_number"> <div class="description">请使用原注册手机号接收验证码并重新设置密码</div>
<div class="phone-icon"><img src="../assets/image/login/cellphone@2x.png"/></div> <list-item>
<div class="number">手机号</div> <item>
<div class="input-box"><input type="number" placeholder="请输入手机号" v-model="phone_number"/></div> <img slot="left-icon" src="../assets/login/phone.png" class="left-icon">
<div class="getVerify" :class="{'disable':showTimer}" @blur="checkPhone" @click="getPhoneCode"><span <div slot="name" class="required">手机号码</div>
v-if="showTimer">{{timerCount}}</span>{{text}} <div slot="content">{{ phone_number }}</div>
</item>
<item>
<img slot="left-icon" src="../assets/login/phone_code.png" class="left-icon">
<div slot="name" class="required">验证码</div>
<input slot="content" v-model="verifiedCode" type="text" placeholder="请填写验证码">
<div slot="right-icon" class="verified-code">
<div v-if="!showTimer" class="verified-code-box" @click="getPhoneCode">点击获取</div>
<span v-if="showTimer" class="verified-code-des">{{ timerCount }}{{ text }}</span>
</div> </div>
</div> </item>
<div class="user_name"> <item>
<div class="user-icon"><img src="../assets/image/login/verification@2x.png"/></div> <img slot="left-icon" src="../assets/login/passwordConfirm.png" class="left-icon">
<div class="user-name">验证码</div> <div slot="name" class="required">设置密码</div>
<div class="user-input"><input type="text" maxlength="6" placeholder="请输入验证码" v-model="verifiedCode"/> <input
<img slot="content" v-model="user_password" type="text" placeholder="请输入6~20位密码"
src="../assets/image/login/checked@2x.png" v-if="verifiedCodeFlag"/> maxlength="20" @blur="passwordCheck">
</div> </item>
</div> <item :proportion="[2,2]">
<div class="user_name"> <img slot="left-icon" src="../assets/login/passwordConfirm.png" class="left-icon">
<div class="user-icon"><img src="../assets/image/login/locked@2x.png"/></div> <div slot="name" class="required">重新输入密码</div>
<div class="user-name">新密码</div> <input
<div class="user-input"><input type="password" maxlength="12" placeholder="请输入至少6位密码" slot="content" v-model="confirm" type="text" placeholder="请重新输入密码"
v-model="user_password" @blur="passwordCheck"/> @blur="confirmCheck">
<img </item>
src="../assets/image/login/checked@2x.png" v-if="passwordFlag"/> </list-item>
</div>
</div>
<div class="user_name">
<div class="user-icon"><img src="../assets/image/login/locked@2x.png"/></div>
<div class="user-name">&#12288;</div>
<div class="user-input"><input type="password" maxlength="12" placeholder="请与密码保持一致" @blur="confirmCheck"
v-model="confirm"/>
<img
src="../assets/image/login/checked@2x.png" v-if="confirmPassword"/>
</div>
</div>
<div :class="{'submit':!confirmPassword,'selected':confirmPassword}" @click="submit">提交</div>
</h-content> </h-content>
<bottom-tab class="footer-button">
<tab-button class="put" @click.native="submit">确认</tab-button>
</bottom-tab>
</h-view> </h-view>
</template> </template>
<script> <script>
var CryptoJS = require('crypto-js')
export default { export default {
data() { data () {
return { return {
phone_number: window.localStorage.getItem('user_phone'),
verifiedCode: '',
username: '', username: '',
phone_number: '',
verifiedCode: '',
user_password: '', user_password: '',
confirm: '', confirm: '',
...@@ -63,337 +63,197 @@ ...@@ -63,337 +63,197 @@
passwordFlag: false, passwordFlag: false,
confirmPassword: false, confirmPassword: false,
captchaKey: '', captchaKey: '123456',
phoneCodeTimeOut: false, phoneCodeTimeOut: false,
timer: 60000, timer: 60000,
showTimer: false, showTimer: false,
timerCount: 60, timerCount: 60,
text: '获取验证码' text: '获取验证码',
}
},
watch: {
verifiedCode (value) {
let vm = this
if (value.length === 6) {
vm.verifiedCodeFlag = false
if (vm.captchaKey.length === 0) {
hlsPopup.showLongCenter('请先获取验证码')
} else if (vm.phoneCodeTimeOut) {
hlsPopup.showLongCenter('验证码已失效,请从新获取')
} else {
vm.verifiedCodeFlag = true
}
}
},
user_password (value) {
if (value.length > 20) {
hlsPopup.showLongCenter('密码长度6~20位之间')
} }
}, },
confirm (value) {
if (value.length > 20) {
hlsPopup.showLongCenter('密码长度6~20位之间')
}
},
},
created () {
let vm = this
let url = process.env.loginPath + 'appadmin'
let param = {}
vm.$post(url, param).then(function (res) {
window.localStorage.setItem('access_token', res.access_token)
})
},
methods: { methods: {
checkPhone() { checkPhone () {
let vm = this; let vm = this
vm.phoneNumberFlag = false; vm.phoneNumberFlag = false
if (hlsUtil.phoneNumber(vm.phone_number) || hlsUtil.phoneNumber86(vm.phone_number)) { if (hlsUtil.phoneNumber(vm.phone_number) || hlsUtil.phoneNumber86(vm.phone_number)) {
vm.phoneNumberFlag = true; vm.phoneNumberFlag = true
} }
}, },
getPhoneCode() { getPhoneCode () {
let vm = this; let vm = this
if (!vm.showTimer) { if (!vm.showTimer) {
if (hlsUtil.phoneNumber(vm.phone_number) || hlsUtil.phoneNumber86(vm.phone_number)) { if (hlsUtil.phoneNumber(vm.phone_number) || hlsUtil.phoneNumber86(vm.phone_number)) {
vm.phoneNumberFlag = true; vm.phoneNumberFlag = true
vm.getVerifiedCode(); vm.getVerifiedCode()
vm.showTimer = true; vm.showTimer = true
vm.text = "秒后重新获取"; vm.text = '秒后失效'
let counter = setInterval(function () { let counter = setInterval(function () {
if (vm.timerCount >= 0) if (vm.timerCount >= 0) { vm.timerCount = vm.timerCount - 1 }
vm.timerCount = vm.timerCount - 1; }, 1000)
}, 1000);
setTimeout(function () { setTimeout(function () {
vm.text = "获取验证码"; vm.text = '获取验证码'
vm.showTimer = false; vm.showTimer = false
clearInterval(counter) clearInterval(counter)
vm.showTimer = false; vm.showTimer = false
vm.timerCount = vm.timer / 1000; vm.timerCount = vm.timer / 1000
}, vm.timer); }, vm.timer)
} } else {
else { hlsPopup.showLongCenter('手机号不存在,请重新输入!')
hlsPopup.showLongCenter('手机号不存在,请重新输入!');
} }
} }
}, },
passwordCheck() { passwordCheck () {
let vm = this; let vm = this
let length = vm.user_password.length; let length = vm.user_password.length
if (length < 6 || length > 12) { if (length < 6 || length > 20) {
hlsPopup.showLongBottom('密码长度6~12位之间') hlsPopup.showLongCenter('密码长度6~20位之间')
} else { } else {
vm.passwordFlag = true; vm.passwordFlag = true
} }
}, },
confirmCheck() { confirmCheck () {
let vm = this; let vm = this
let length = vm.confirm.length; let length = vm.confirm.length
if (length < 6 || length > 12) { if (length < 6 || length > 20) {
hlsPopup.showLongBottom('密码长度6~12位之间') hlsPopup.showLongCenter('密码长度6~20位之间')
} else if (vm.confirm != vm.user_password) { } else if (vm.confirm !== vm.user_password) {
hlsPopup.showLongBottom('两次输入的密码不一致,请从新输入') hlsPopup.showLongCenter('两次输入的密码不一致,请从新输入')
} else { } else {
vm.confirmPassword = true; vm.confirmPassword = true
} }
}, },
submit() { submit () {
let vm = this; let vm = this
if (!vm.phoneNumberFlag) { if (!vm.phoneNumberFlag) {
hlsPopup.showLongBottom('请输入手机号!') hlsPopup.showLongCenter('请输入手机号!')
} else if (!vm.verifiedCodeFlag) { } else if (!vm.verifiedCodeFlag) {
hlsPopup.showLongBottom('请输入验证码!') hlsPopup.showLongCenter('验证码错误!')
} else if (!vm.passwordFlag) { } else if (!vm.passwordFlag) {
hlsPopup.showLongBottom('请输入密码!') hlsPopup.showLongCenter('请输入密码!')
} else if (!vm.confirmPassword) { } else if (!vm.confirmPassword) {
hlsPopup.showLongBottom('请确认密码!') hlsPopup.showLongCenter('请确认密码!')
} else { } else {
let url = process.env.rootPath + '/captcha/do?captchaKey=' + vm.captchaKey + '&captchaCode=' + vm.verifiedCode + '&sysName=HLS_APP&apiName=tc_change_password'; let url = process.env.basePath + 'lose_password'
let md5passwprd = CryptoJS.MD5(vm.user_password).toString().toUpperCase()
let params = { let params = {
user_name: vm.phone_number, phone: vm.phone_number,
new_password: vm.user_password, password: md5passwprd
phone_number: vm.phone_number
} }
hlsHttp.post(url, params).then(function (res) { hlsHttp.post(url, params).then(function (res) {
if (res.result == 'S') { if (res.result === 'S') {
hlsPopup.showLongBottom('修改成功'); hlsPopup.showLongCenter('修改成功')
setTimeout(function () { setTimeout(function () {
vm.$router.push('login'); vm.$router.push('login')
}, 100) }, 100)
} }
}) })
} }
}, },
getVerifiedCode() { getVerifiedCode () {
let vm = this; let vm = this
let url = process.env.rootPath + '/aliyun/sms'; hlsPopup.showLongCenter('测试验证码为123456')
/* let url = process.env.rootPath + '/aliyun/sms'
let params = { let params = {
phoneNumber: vm.phone_number, phoneNumber: vm.phone_number,
signName: '车租易', signName: '车租易',
templateCode: 'SMS_154585462' templateCode: 'SMS_154585462',
} }
hlsHttp.post(url, params).then(function (res) { hlsHttp.post(url, params).then(function (res) {
if (res.code == 'OK') { if (res.code == 'OK') {
vm.captchaKey = res.captchaKey; vm.captchaKey = res.captchaKey
vm.phoneCodeTimeOut = false; vm.phoneCodeTimeOut = false
setTimeout(function () { setTimeout(function () {
vm.captchaKey = ''; vm.captchaKey = ''
vm.phoneCodeTimeOut = true vm.phoneCodeTimeOut = true
}, 300000) }, 300000)
hlsPopup.showLongBottom('验证码发送成功!'); hlsPopup.showLongBottom('验证码发送成功!')
} else { } else {
hlsPopup.showLongBottom(res.message); hlsPopup.showLongBottom(res.message)
}
}
)
/*post response {
"Code": "OK",
"Message": "OK",
"sendNum": 641164
}*/
}
},
watch: {
verifiedCode(value) {
let vm = this;
//console.log(value)
if (value.length == 6) {
vm.verifiedCodeFlag = false;
if (vm.captchaKey.length == 0) {
hlsPopup.showLongBottom('请先获取验证码')
} else if (vm.phoneCodeTimeOut) {
hlsPopup.showLongBottom('验证码已失效,请从新获取')
} else {
vm.verifiedCodeFlag = true;
}
} }
},
user_password(value) {
if (value.length > 12) {
hlsPopup.showLongBottom('密码长度6~12位之间')
} }
) */
}, },
confirm(value) {
if (value.length > 12) {
hlsPopup.showLongBottom('密码长度6~12位之间')
}
}
}, },
created() { }
let vm = this;
let url = process.env.loginPath + 'appadmin';
let param = {};
//vm.hlsPopup.showLoading('请稍等');
vm.$post(url, param).then(function (res) {
window.localStorage.setItem('access_token', res.access_token);
})
}
}
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
.pwd-forgotten { @import "../styles/mixin";
.content { .header {
background-color: #f7f7f8; background-color: #00469c;
padding: 0; color: #fff;
.phone_number { .h-header-btn {
margin-top: 30px;
padding: 2% 30px;
width: 100%;
background-color: #FFFFFF;
display: flex;
display: -webkit-flex;
align-items: center;
//justify-content: space-between;
.number {
color: #000000;
letter-spacing: -0.83px;
font-size: 26px;
margin-right: 3%;
padding: 0 3%;
border-right: 1px solid #EFEFEF;
display: flex;
display: -webkit-flex;
align-items: center;
-webkit-align-items: center;
}
.phone-icon {
img {
margin-top: 5px;
width: 26px;
height: 46px;
}
}
.input-box {
width: 50%;
display: flex;
display: -webkit-flex;
align-items: center;
-webkit-align-items: center;
input {
height: 100%;
width: 100%;
font-size: 26px;
line-height: 32px;
color: #000000;
letter-spacing: -0.83px;
border:none;
}
input::-webkit-input-placeholder {
font-size: 26px;
line-height: 32px;
color: #C6C6CC;
letter-spacing: -0.83px;
}
}
.delete {
img {
margin-top: 10px;
width: 24px;
height: 24px;
}
}
.getVerify {
border-radius: 6px;
background-color: @headerColor;
font-size: 22px;
padding: 15px 0;
width: 25%;
height: 100%;
color: #FFFFFF;
display: flex;
display: -webkit-flex;
align-items: center;
-webkit-align-items: center;
justify-content: center;
-webkit-justify-content: center;
text-align: center;
}
.disable {
background-color: #DADADF;
}
}
.user_name {
margin-top: 2%;
padding: 3% 30px;
width: 100%;
background-color: #FFFFFF;
display: flex;
display: -webkit-flex;
.user-icon {
img { img {
width: 32px; width: 16px;
height: 34px; height: 16px;
margin-left: 4px;
}
span {
color: #fff;
font-family: PingFangSC-Semibold;
margin-left: 16px;
font-size: 17px;
letter-spacing: 0.6px;
line-height: 24px;
}
}
}
.description{
.wh(100%,50px);
.fja();
background-color: #00469c;
.sc(14px,#fff);
}
.verified-code{
.wh(60%,100%);
text-align: right;
.verified-code-box{
margin-left: 14px;
.border-left;
color:#0057C3;
line-height: 30px;
}
.verified-code-des{
font-size: 10px;
color:#0057C3;
}
}
.tab-content{
background-color: #00469c;
margin: 0 2%;
color: #fff;
} }
}
.user-name {
color: #000000;
letter-spacing: -0.83px;
font-size: 26px;
margin-right: 3%;
padding-right: 3%;
padding-left: 2.5%;
border-right: 1px solid #EFEFEF;
display: flex;
display: -webkit-flex;
align-items: center;
-webkit-align-items: center;
}
.user-input {
width: 75%;
height: 3%;
display: flex;
display: -webkit-flex;
align-items: center;
-webkit-align-items: center;
input {
width: 100%;
height: 100%;
font-size: 26px;
color: #000000;
letter-spacing: -0.83px;
line-height: 34px;
float: left;
}
input::-webkit-input-placeholder {
font-size: 26px;
color: #C6C6CC;
letter-spacing: -0.83px;
line-height: 34px;
}
img {
float: right;
}
}
}
.submit {
background-color: #DADADF;
border-radius: 6px;
width: 88.3%;
height: 90px;
font-size: 32px;
color: #FFFFFF;
letter-spacing: 6px;
display: flex;
display: -webkit-flex;
align-items: center;
-webkit-align-items: center;
justify-content: center;
-webkit-justify-content: center;
margin: 12% 40px 8% 40px;
}
.selected {
background-color: @headerColor;
border-radius: 6px;
width: 88.3%;
height: 90px;
font-size: 32px;
color: #FFFFFF;
letter-spacing: 6px;
display: flex;
display: -webkit-flex;
align-items: center;
-webkit-align-items: center;
justify-content: center;
-webkit-justify-content: center;
margin: 12% 40px 8% 40px;
}
}
}
</style> </style>
<template> <template>
<h-view class="public-style t-regiester"> <h-view class="public-style pwd-forgotten">
<h-header> <h-header :proportion="[5,1,1]" class="header">
<div slot="left" class="h-header-btn" @click="$routeGo()"> <div slot="left" class="h-header-btn" @click="$routeGo()">
<i class="ion-ios-arrow-back"/> <img src="@/assets/userBind/arrow.png" >
<span>用户注册</span>
</div> </div>
<div slot="center">注册</div>
</h-header> </h-header>
<h-content class="has-header"> <h-content>
<!--<div class="user_name"> <div class="description">请注册手机号接收验证码并设置密码</div>
<div class="user-icon"><img src="../assets/image/login/username@2x.png"/></div> <list-item>
<div class="user-name">用户名</div> <item>
<div class="user-input"><input type="text" placeholder="请输入用户名" v-model="user_name"/></div> <img slot="left-icon" src="../assets/login/phone.png" class="left-icon">
</div>--> <div slot="name" class="required">手机号码</div>
<div class="phone_number"> <input slot="content" v-model="phone_number" placeholder="请输入手机号码">
<div class="phone-icon"><img src="../assets/image/login/cellphone@2x.png"/></div> </item>
<div class="number">手机号</div> <item>
<div class="input-box"><input type="number" placeholder="请输入手机号" v-model="phone_number"/></div> <img slot="left-icon" src="../assets/login/phone_code.png" class="left-icon">
<div class="getVerify" :class="{'disable':showTimer}" @blur="checkPhone" @click="getPhoneCode"><span <div slot="name" class="required">验证码</div>
v-if="showTimer">{{timerCount}}</span>{{text}} <input slot="content" v-model="verifiedCode" type="text" placeholder="请填写验证码">
</div> <div slot="right-icon" class="verified-code">
</div> <div v-if="!showTimer" class="verified-code-box" @click="getPhoneCode">点击获取</div>
<div class="user_name"> <span v-if="showTimer" class="verified-code-des">{{ timerCount }}{{ text }}</span>
<div class="user-icon"><img src="../assets/image/login/verification@2x.png"/></div>
<div class="user-name">验证码</div>
<div class="user-input"><input type="text" maxlength="6" placeholder="请输入验证码" v-model="verifiedCode"/>
<img
src="../assets/image/login/checked@2x.png" v-if="verifiedCodeFlag"/>
</div>
</div>
<div class="user_name">
<div class="user-icon"><img src="../assets/image/login/locked@2x.png"/></div>
<div class="user-name">&#12288;</div>
<div class="user-input"><input type="password" maxlength="12" placeholder="请输入至少6位密码"
v-model="user_password" @blur="passwordCheck"/>
<img
src="../assets/image/login/checked@2x.png" v-if="passwordFlag"/>
</div>
</div>
<div class="user_name">
<div class="user-icon"><img src="../assets/image/login/locked@2x.png"/></div>
<div class="user-name">&#12288;</div>
<div class="user-input"><input type="password" maxlength="12" placeholder="请与密码保持一致" @blur="confirmCheck"
v-model="confirm"/>
<img
src="../assets/image/login/checked@2x.png" v-if="confirmPassword"/>
</div>
</div>
<div :class="{'submit':!agreeFlag,'selected':agreeFlag}" @click="submit">注册</div>
<div class="potocol">
<div class="img-box" v-if="!agreeFlag" @click="changeStatus()"><img
src="../assets/image/login/unchecked@2x.png"/></div>
<div class="img-box" v-if="agreeFlag" @click="changeStatus()"><img
src="../assets/image/login/checked@2x.png"/></div>
<div class="agreed">我已同意并阅读</div>
<div class="clause" @click="goUserAgree">《车租易会员服务条款》</div>
</div> </div>
</item>
<item>
<img slot="left-icon" src="../assets/login/passwordConfirm.png" class="left-icon">
<div slot="name" class="required">设置密码</div>
<input
slot="content" v-model="user_password" type="text" placeholder="请输入6~20位密码"
maxlength="20" @blur="passwordCheck">
</item>
<item :proportion="[2,2]">
<img slot="left-icon" src="../assets/login/passwordConfirm.png" class="left-icon">
<div slot="name" class="required">重新输入密码</div>
<input
slot="content" v-model="confirm" type="text" placeholder="请重新输入密码"
@blur="confirmCheck">
</item>
</list-item>
</h-content> </h-content>
<bottom-tab class="footer-button">
<tab-button class="put" @click.native="submit">确认</tab-button>
</bottom-tab>
</h-view> </h-view>
</template> </template>
<script> <script>
import hlsPopup from "../scripts/hlsPopup"; var CryptoJS = require('crypto-js')
export default {
var CryptoJS = require("crypto-js"); data () {
export default {
data() {
return { return {
user_name: '',
phone_number: '', phone_number: '',
verifiedCode: '', verifiedCode: '',
user_password: '', user_password: '',
...@@ -78,379 +59,198 @@ ...@@ -78,379 +59,198 @@
verifiedCodeFlag: false, verifiedCodeFlag: false,
passwordFlag: false, passwordFlag: false,
confirmPassword: false, confirmPassword: false,
agreeFlag: false,
captchaKey: '', captchaKey: '123456',
phoneCodeTimeOut: false, phoneCodeTimeOut: false,
timer: 60000, timer: 60000,
showTimer: false, showTimer: false,
timerCount: 60, timerCount: 60,
text: '获取验证码' text: '获取验证码',
} }
}, },
methods: { watch: {
goUserAgree(){ verifiedCode (value) {
this.$router.push({ let vm = this
name:"UserAgree" if (value.length === 6) {
vm.verifiedCodeFlag = false
if (vm.captchaKey.length === 0) {
hlsPopup.showLongCenter('请先获取验证码')
} else if (vm.phoneCodeTimeOut) {
hlsPopup.showLongCenter('验证码已失效,请从新获取')
} else {
vm.verifiedCodeFlag = true
}
}
},
user_password (value) {
if (value.length > 20) {
hlsPopup.showLongCenter('密码长度6~20位之间')
}
},
confirm (value) {
if (value.length > 20) {
hlsPopup.showLongCenter('密码长度6~20位之间')
}
},
},
created () {
let vm = this
let url = process.env.loginPath + 'appadmin'
let param = {}
vm.$post(url, param).then(function (res) {
window.localStorage.setItem('access_token', res.access_token)
}) })
}, },
checkPhone() { methods: {
let vm = this; checkPhone () {
vm.phoneNumberFlag = false; let vm = this
vm.phoneNumberFlag = false
if (hlsUtil.phoneNumber(vm.phone_number) || hlsUtil.phoneNumber86(vm.phone_number)) { if (hlsUtil.phoneNumber(vm.phone_number) || hlsUtil.phoneNumber86(vm.phone_number)) {
vm.phoneNumberFlag = true; vm.phoneNumberFlag = true
} }
}, },
getPhoneCode() { getPhoneCode () {
let vm = this; let vm = this
if (!vm.showTimer) { if (!vm.showTimer) {
if (hlsUtil.phoneNumber(vm.phone_number) || hlsUtil.phoneNumber86(vm.phone_number)) { if (hlsUtil.phoneNumber(vm.phone_number) || hlsUtil.phoneNumber86(vm.phone_number)) {
vm.phoneNumberFlag = true; vm.phoneNumberFlag = true
vm.getVerifiedCode(); vm.getVerifiedCode()
vm.showTimer = true; vm.showTimer = true
vm.text = "秒后重新获取"; vm.text = '秒后失效'
let counter = setInterval(function () { let counter = setInterval(function () {
if (vm.timerCount >= 0) if (vm.timerCount >= 0) { vm.timerCount = vm.timerCount - 1 }
vm.timerCount = vm.timerCount - 1; }, 1000)
}, 1000);
setTimeout(function () { setTimeout(function () {
vm.text = "获取验证码"; vm.text = '获取验证码'
vm.showTimer = false; vm.showTimer = false
clearInterval(counter) clearInterval(counter)
vm.showTimer = false; vm.showTimer = false
vm.timerCount = vm.timer / 1000; vm.timerCount = vm.timer / 1000
}, vm.timer); }, vm.timer)
} } else {
else { hlsPopup.showLongCenter('手机号不存在,请重新输入!')
hlsPopup.showLongCenter('手机号不存在,请重新输入!');
} }
} }
}, },
passwordCheck() { passwordCheck () {
let vm = this; let vm = this
let length = vm.user_password.length; let length = vm.user_password.length
if (length < 6 || length > 12) { if (length < 6 || length > 20) {
hlsPopup.showLongBottom('密码长度6~12位之间') hlsPopup.showLongCenter('密码长度6~20位之间')
} else { } else {
vm.passwordFlag = true; vm.passwordFlag = true
} }
}, },
confirmCheck() { confirmCheck () {
let vm = this; let vm = this
let length = vm.confirm.length; let length = vm.confirm.length
if (length < 6 || length > 12) { if (length < 6 || length > 20) {
hlsPopup.showLongBottom('密码长度6~12位之间') hlsPopup.showLongCenter('密码长度6~20位之间')
} else if (vm.confirm != vm.user_password) { } else if (vm.confirm !== vm.user_password) {
hlsPopup.showLongBottom('两次输入的密码不一致,请从新输入') hlsPopup.showLongCenter('两次输入的密码不一致,请从新输入')
} else { } else {
vm.confirmPassword = true; vm.confirmPassword = true
} }
}, },
changeStatus() { submit () {
let vm = this; let vm = this
vm.agreeFlag = !vm.agreeFlag;
},
submit() {
let vm =this;
//vm.user_password = CryptoJS.MD5(vm.user_password).toString().toUpperCase();
let md5password = CryptoJS.MD5(vm.user_password).toString().toUpperCase();
if (!vm.phoneNumberFlag) { if (!vm.phoneNumberFlag) {
hlsPopup.showLongBottom('请输入手机号!') hlsPopup.showLongCenter('请输入手机号!')
} else if (!vm.verifiedCodeFlag) { } else if (!vm.verifiedCodeFlag) {
hlsPopup.showLongBottom('请输入验证码!') hlsPopup.showLongCenter('验证码错误!')
} else if (!vm.passwordFlag) { } else if (!vm.passwordFlag) {
hlsPopup.showLongBottom('请输入密码!') hlsPopup.showLongCenter('请输入密码!')
} else if (!vm.confirmPassword) { } else if (!vm.confirmPassword) {
hlsPopup.showLongBottom('请确认密码!') hlsPopup.showLongCenter('请确认密码!')
} else if (!vm.agreeFlag) {
hlsPopup.showLongBottom('请同意《车租易会员服务条款》!')
} else { } else {
let url = process.env.rootPath + '/captcha/do?captchaKey=' + vm.captchaKey + '&captchaCode=' + vm.verifiedCode + '&sysName=HLS_APP&apiName=tc_app_regiester'; let url = process.env.basePath + 'register'
let md5passwprd = CryptoJS.MD5(vm.user_password).toString().toUpperCase()
let params = { let params = {
user_name: vm.phone_number, phone: vm.phone_number,
user_password: md5password, password: md5passwprd
phone_number: vm.phone_number
} }
hlsHttp.post(url, params).then(function (res) { hlsHttp.post(url, params).then(function (res) {
if (res.result == 'S') { if (res.result === 'S') {
hlsPopup.showLongBottom('注册成功'); hlsPopup.showLongCenter('注册成功')
window.localStorage.setItem('username', res.phone_number)
window.localStorage.setItem('user_id', res.user_id)
setTimeout(function () { setTimeout(function () {
vm.$router.push('login'); vm.$router.push('login')
}, 100) }, 100)
} }
}) })
} }
}, },
getVerifiedCode() { getVerifiedCode () {
let vm = this; let vm = this
let url = process.env.rootPath + '/aliyun/sms'; hlsPopup.showLongCenter('测试验证码为123456')
/* let url = process.env.rootPath + '/aliyun/sms'
let params = { let params = {
phoneNumber: vm.phone_number, phoneNumber: vm.phone_number,
signName: '车租易', signName: '车租易',
templateCode: 'SMS_154585462' templateCode: 'SMS_154585462',
} }
hlsHttp.post(url, params).then(function (res) { hlsHttp.post(url, params).then(function (res) {
if (res.code == 'OK') { if (res.code == 'OK') {
vm.captchaKey = res.captchaKey; vm.captchaKey = res.captchaKey
vm.phoneCodeTimeOut = false; vm.phoneCodeTimeOut = false
setTimeout(function () { setTimeout(function () {
vm.captchaKey = ''; vm.captchaKey = ''
vm.phoneCodeTimeOut = true vm.phoneCodeTimeOut = true
}, 300000) }, 300000)
hlsPopup.showLongBottom('验证码发送成功!'); hlsPopup.showLongBottom('验证码发送成功!')
} else {
hlsPopup.showLongBottom(res.message);
}
}
)
/*post response {
"Code": "OK",
"Message": "OK",
"sendNum": 641164
}*/
}
},
watch: {
verifiedCode(value) {
let vm = this;
//console.log(value)
if (value.length == 6) {
vm.verifiedCodeFlag = false;
if (vm.captchaKey.length == 0) {
hlsPopup.showLongBottom('请先获取验证码')
} else if (vm.phoneCodeTimeOut) {
hlsPopup.showLongBottom('验证码已失效,请从新获取')
} else { } else {
vm.verifiedCodeFlag = true; hlsPopup.showLongBottom(res.message)
} }
}
},
user_password(value) {
if (value.length > 12) {
hlsPopup.showLongBottom('密码长度6~12位之间')
} }
) */
}, },
confirm(value) {
if (value.length > 12) {
hlsPopup.showLongBottom('密码长度6~12位之间')
}
}
}, },
created() { }
let vm = this;
let url = process.env.loginPath + 'appadmin';
let param = {};
//vm.hlsPopup.showLoading('请稍等');
vm.$post(url, param).then(function (res) {
window.localStorage.setItem('access_token', res.access_token);
})
}
}
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
.t-regiester { @import "../styles/mixin";
.content { .header {
background-color: #f7f7f8; background-color: #00469c;
padding: 0; color: #fff;
.phone_number { .h-header-btn {
margin-top: 30px;
padding: 2% 30px;
width: 100%;
background-color: #FFFFFF;
display: flex;
display: -webkit-flex;
align-items: center;
//justify-content: space-between;
.number {
color: #000000;
letter-spacing: -0.83px;
font-size: 26px;
margin-right: 3%;
padding: 0 3%;
border-right: 1px solid #EFEFEF;
display: flex;
display: -webkit-flex;
align-items: center;
-webkit-align-items: center;
}
.phone-icon {
img {
margin-top: 5px;
width: 26px;
height: 46px;
}
}
.input-box {
width: 50%;
display: flex;
display: -webkit-flex;
align-items: center;
-webkit-align-items: center;
input {
height: 100%;
width: 100%;
font-size: 26px;
line-height: 32px;
color: #000000;
letter-spacing: -0.83px;
border:none;
}
input::-webkit-input-placeholder {
font-size: 26px;
line-height: 32px;
color: #C6C6CC;
letter-spacing: -0.83px;
}
}
.delete {
img {
margin-top: 10px;
width: 24px;
height: 24px;
}
}
.getVerify {
border-radius: 6px;
background-color: @headerColor;
font-size: 22px;
padding: 15px 0;
width: 25%;
height: 100%;
color: #FFFFFF;
display: flex;
display: -webkit-flex;
align-items: center;
-webkit-align-items: center;
justify-content: center;
-webkit-justify-content: center;
text-align: center;
}
.disable {
background-color: #DADADF;
}
}
.user_name {
margin-top: 2%;
padding: 3% 30px;
width: 100%;
background-color: #FFFFFF;
display: flex;
display: -webkit-flex;
.user-icon {
img { img {
width: 32px; width: 16px;
height: 34px; height: 16px;
margin-left: 4px;
} }
span {
color: #fff;
font-family: PingFangSC-Semibold;
margin-left: 16px;
font-size: 17px;
letter-spacing: 0.6px;
line-height: 24px;
} }
.user-name {
color: #000000;
letter-spacing: -0.83px;
font-size: 26px;
margin-right: 3%;
padding-right: 3%;
padding-left: 2.5%;
border-right: 1px solid #EFEFEF;
display: flex;
display: -webkit-flex;
align-items: center;
-webkit-align-items: center;
} }
.user-input {
width: 75%;
height: 3%;
display: flex;
display: -webkit-flex;
align-items: center;
-webkit-align-items: center;
input {
width: 100%;
height: 100%;
font-size: 26px;
color: #000000;
letter-spacing: -0.83px;
line-height: 34px;
float: left;
} }
input::-webkit-input-placeholder { .description{
font-size: 26px; .wh(100%,50px);
color: #C6C6CC; .fja();
letter-spacing: -0.83px; background-color: #00469c;
line-height: 34px; .sc(14px,#fff);
} }
img { .verified-code{
float: right; .wh(60%,100%);
text-align: right;
.verified-code-box{
margin-left: 14px;
.border-left;
color:#0057C3;
line-height: 30px;
} }
.verified-code-des{
font-size: 10px;
color:#0057C3;
} }
} }
.submit { .tab-content{
background-color: #DADADF; background-color: #00469c;
border-radius: 6px; margin: 0 2%;
width: 88.3%; color: #fff;
height: 90px;
font-size: 32px;
color: #FFFFFF;
letter-spacing: 6px;
display: flex;
display: -webkit-flex;
align-items: center;
-webkit-align-items: center;
justify-content: center;
-webkit-justify-content: center;
margin: 12% 40px 8% 40px;
} }
.selected {
background-color: @headerColor;
border-radius: 6px;
width: 88.3%;
height: 90px;
font-size: 32px;
color: #FFFFFF;
letter-spacing: 6px;
display: flex;
display: -webkit-flex;
align-items: center;
-webkit-align-items: center;
justify-content: center;
-webkit-justify-content: center;
margin: 12% 40px 8% 40px;
}
.potocol {
display: flex;
display: -webkit-flex;
.img-box {
margin-left: 40px;
margin-right: 10px;
img {
width: 28px;
height: 28px;
}
}
.agreed {
font-size: 22px;
color: #090909;
line-height: 32px;
}
.clause {
font-size: 22px;
color: @headerColor;
letter-spacing: 0.2px;
margin-left: 10px;
line-height: 32px;
}
}
}
}
</style> </style>
...@@ -43,7 +43,8 @@ export default new Router({ ...@@ -43,7 +43,8 @@ export default new Router({
{ {
path: '/', path: '/',
redirect: to => { redirect: to => {
if (!window.localStorage.needGuid || window.localStorage.needGuid === 'true') { return {name: 'Login'}
/* if (!window.localStorage.needGuid || window.localStorage.needGuid === 'true') {
return {name: 'Guide'} return {name: 'Guide'}
} else { } else {
if (window.localStorage.isOpenFingerLogin) { if (window.localStorage.isOpenFingerLogin) {
...@@ -52,7 +53,7 @@ export default new Router({ ...@@ -52,7 +53,7 @@ export default new Router({
// if none of the above states are matched, use this as the fallback // if none of the above states are matched, use this as the fallback
return {name: 'Login'} return {name: 'Login'}
} }
} } */
}, },
}, },
{ {
...@@ -104,7 +105,7 @@ export default new Router({ ...@@ -104,7 +105,7 @@ export default new Router({
{path: '/refund', component: Refund, name: 'Refund', meta: {keepAlive: false}}, {path: '/refund', component: Refund, name: 'Refund', meta: {keepAlive: false}},
{path: '/intoList', component: IntoList, name: 'IntoList', meta: {keepAlive: false}}, {path: '/intoList', component: IntoList, name: 'IntoList', meta: {keepAlive: false}},
// 经销商签约 // 经销商签约
{path: '/contract-list', component: ContractList, name: 'ContractList', meta: {keepAlive: true}}, {path: '/contract-list', component: ContractList, name: 'ContractList', meta: {keepAlive: false}},
{path: '/contract-details', component: ContractDetails, name: 'ContractDetails', meta: {keepAlive: true}}, {path: '/contract-details', component: ContractDetails, name: 'ContractDetails', meta: {keepAlive: true}},
{path: '/financ-details', component: FinancDetails, name: 'FinancDetails', meta: {keepAlive: true}}, {path: '/financ-details', component: FinancDetails, name: 'FinancDetails', meta: {keepAlive: true}},
], ],
......
...@@ -24,10 +24,6 @@ ...@@ -24,10 +24,6 @@
font-size: @size; font-size: @size;
color: @color; color: @color;
} }
//字体大小、行高、字体
.font(@size, @line-height, @family: 'Microsoft YaHei') {
font: #{@size}/#{@line-height} @family;
}
//字体大小,颜色 //字体大小,颜色
.sc(@size, @color){ .sc(@size, @color){
font-size: @size; font-size: @size;
...@@ -43,6 +39,9 @@ ...@@ -43,6 +39,9 @@
.border-right{ .border-right{
border-right: 1px solid rgba(1, 17, 27, 0.1); border-right: 1px solid rgba(1, 17, 27, 0.1);
} }
.border-left{
border-left: 1px solid rgba(1, 17, 27, 0.1);
}
.border{ .border{
border: 1px solid rgba(1, 17, 27, 0.1); border: 1px solid rgba(1, 17, 27, 0.1);
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment