上线修改

master
yujialong 3 months ago
parent 251563e0cb
commit 2cee7d6edd
  1. BIN
      src/assets/img/login-bg-1.jpg
  2. 179
      src/components/page/Login.vue
  3. 137
      src/router/index.js
  4. 6
      src/utils/api.js
  5. 29
      src/utils/http.js

Binary file not shown.

After

Width:  |  Height:  |  Size: 395 KiB

@ -12,28 +12,23 @@
<span class="aboutUs">关于我们</span>
</div>
<!-- 登录card -->
<div class="Login_view" v-show="cardType == 1" v-loading="loading" >
<div class="Login_view" v-show="cardType == 1" v-loading="loading">
<div class="flex-between login_title">
<span>登录</span>
<router-link :to="{path:'beforeLogin'}">
<router-link :to="{ path: 'beforeLogin' }">
<i class="el-icon-close"></i>
</router-link>
</div>
<el-form :model="param" :rules="rules" ref="param" label-width="0px" class="login_form">
<el-form-item prop="username">
<p>用户名</p>
<el-input v-model="param.username" placeholder="请输入账号/手机号" maxlength="11" @keyup.enter.native="nextInput($event)"></el-input>
<el-input v-model="param.username" placeholder="请输入账号/手机号" maxlength="11"
@keyup.enter.native="nextInput($event)"></el-input>
</el-form-item>
<el-form-item prop="password" class="item_password">
<p>密码</p>
<el-input
type="password"
maxlength="20"
ref="password"
placeholder="请输入账号密码"
v-model="param.password"
@keyup.enter.native="submitForm('param')"
></el-input>
<el-input type="password" maxlength="20" ref="password" placeholder="请输入账号密码" v-model="param.password"
@keyup.enter.native="submitForm('param')"></el-input>
</el-form-item>
<div class="login-btn">
<el-button v-preventReClick type="primary" round @click="submitForm('param')">马上登录</el-button>
@ -62,10 +57,10 @@
</template>
<script>
import { login,WXCordImg,bindPhone,phoneAuthCord,getNowRole } from '../../utils/api';
import {resetRouter} from '../../router/resetRouter';
import { login, WXCordImg, bindPhone, phoneAuthCord, getNowRole } from '../../utils/api';
import { resetRouter } from '../../router/resetRouter';
export default {
data() {
data () {
return {
//
param: {
@ -92,40 +87,40 @@ export default {
// appid : 'wx3b7bca679da34921',
// scope : 'snsapi_login',
// redirect_uri : encodeURIComponent("http://192.168.31.254:8080/#/Dashboard"),
loading:false
loading: false
};
},
beforeCreate(){
if(this.$route.query.token){//
sessionStorage.setItem("token",this.$route.query.token)
if(this.$route.query.account){
if(this.$route.query.headerImg){
this.$store.commit("userNameData", { userName: this.$route.query.account,headerImg: this.changePercent(this.$route.query.headerImg) });
}else{
beforeCreate () {
if (this.$route.query.token) {//
sessionStorage.setItem("token", this.$route.query.token)
if (this.$route.query.account) {
if (this.$route.query.headerImg) {
this.$store.commit("userNameData", { userName: this.$route.query.account, headerImg: this.changePercent(this.$route.query.headerImg) });
} else {
this.$store.commit("userNameData", { userName: this.$route.query.account });
}
}
this.$router.push('/homePage')
}
},
created(){
created () {
// this.$store.commit("homeMenuData", { homeMenu: [] })
if(this.$route.query.token){//
sessionStorage.setItem("token",this.$route.query.token)
sessionStorage.setItem('userID',this.$route.query.id)
if(this.$route.query.account){
if(this.$route.query.headerImg){
this.$store.commit("userNameData", { userName: this.$route.query.account,headerImg: this.changePercent(this.$route.query.headerImg) });
}else{
if (this.$route.query.token) {//
sessionStorage.setItem("token", this.$route.query.token)
sessionStorage.setItem('userID', this.$route.query.id)
if (this.$route.query.account) {
if (this.$route.query.headerImg) {
this.$store.commit("userNameData", { userName: this.$route.query.account, headerImg: this.changePercent(this.$route.query.headerImg) });
} else {
this.$store.commit("userNameData", { userName: this.$route.query.account });
}
}
this.$router.push('/homePage')
}
},
methods:{
methods: {
//
submitForm(param) {
submitForm (param) {
sessionStorage.clear()
localStorage.clear()
resetRouter()
@ -136,9 +131,9 @@ export default {
// ,
// this.$router.push('/customer')
if (valid) {
if(this.checked){
if (this.checked) {
this.tenDayEffective = 1
}else{
} else {
this.tenDayEffective = 2
}
this.loading = true
@ -149,9 +144,9 @@ export default {
password: this.param.password,
tenDayEffective: this.tenDayEffective
}).then(res => {
sessionStorage.setItem("token",res.data.token);
sessionStorage.setItem("userID",res.data.id);
this.$store.commit("userNameData", { userName: res.data.account, userPhone: this.param.username,headerImg:res.data.headPortaritUrl });
sessionStorage.setItem("token", res.data.token);
sessionStorage.setItem("userID", res.data.id);
this.$store.commit("userNameData", { userName: res.data.account, userPhone: this.param.username, headerImg: res.data.headPortaritUrl });
this.getNowRole()// id
this.loading = false
}).catch(res => {
@ -166,56 +161,56 @@ export default {
this.$refs.password.focus()
}
},
getNowRole(){
return getNowRole().then(res=>{
if(res.success){
sessionStorage.setItem("now-roleBtn",res.data);
this.$nextTick(()=>{
if(this.$route.query.redirect&&this.$route.query.redirect!='/login'){//
getNowRole () {
return getNowRole().then(res => {
if (res.success) {
sessionStorage.setItem("now-roleBtn", res.data);
this.$nextTick(() => {
if (this.$route.query.redirect && this.$route.query.redirect != '/login') {//
this.$router.push(this.$route.query.redirect)
}else{
} else {
this.$router.push('/homePage')
// console.log(sessionStorage.getItem('token'))
}
})
}
}).catch(err=>{
}).catch(err => {
// this.getNowRole()
})
},
//
nextStep(val){
nextStep (val) {
this.cardType = val
},
// X
gohome(val){
gohome (val) {
this.cardType = val
},
// X
setBack(val){
setBack (val) {
this.cardType = val
},
reLogin(val){
reLogin (val) {
this.cardType = val
},
// X
toAccount(val){
toAccount (val) {
this.cardType = val
},
// X
toWechat(val){
toWechat (val) {
this.cardType = val
},
wxCode(){
wxCode () {
this.cardType = 4
},
// %/
changePercent(str){
return str.replace(/%2F/g,'/').replace(/%3A/g,':')
changePercent (str) {
return str.replace(/%2F/g, '/').replace(/%3A/g, ':')
},
},
mounted() {
mounted () {
// this.setWxerwma()
},
}
@ -224,41 +219,47 @@ export default {
</script>
<style lang="scss" scoped>
.home_view{
.home_view {
width: 100%;
height: 100%;
color: #00B9FF;
.homeback{
.homeback {
width: 100%;
height: 100%;
overflow:hidden;
// background: url('../../assets/img/login-bg-1.jpg');
background: url('https://www.feifanhitech.com/enclosureFile/3d7ad5b15d0141eelogin-bg-1.jpg');
overflow: hidden;
background: url('../../assets/img/login-bg-1.jpg');
// background: url('https://www.feifanhitech.com/enclosureFile/3d7ad5b15d0141eelogin-bg-1.jpg');
// background: url('https://www.huorantech.cn/enclosureFile/96664d5774e54494login-bg-1.jpg');
background-size: 100% 100%;
position: relative;
.homeHeader{
.homeHeader {
width: 100%;
height: 60px;
position: absolute;
top: 0;
left: 0;
color: #fff;
.logo{
.logo {
margin-left: 140px;
img{
img {
//
// width: 45px;
// height: 34px;
margin-right: 9px;
}
}
.aboutUs{
.aboutUs {
margin-right: 140px;
cursor: pointer;
}
}
.Login_view{
.Login_view {
position: absolute;
left: 50%;
top: 120px;
@ -267,33 +268,41 @@ export default {
border-radius: 20px;
width: 812px;
padding: 52px 0;
.login_title{
span{
.login_title {
span {
font-size: 26px;
margin-left: 146px;
}
i{
i {
margin-right: 50px;
color: #666;
font-size: 20px;
}
}
.login_form{
.login_form {
margin: 60px 146px 0 146px;
p{
p {
margin-bottom: 10px;
font-size: 14px;
}
.item_password{
.item_password {
margin-top: 40px;
}
.login-btn{
.login-btn {
margin-top: 70px;
}
.forget_view{
.forget_view {
font-size: 14px;
}
.login-wechat{
.login-wechat {
text-align: center;
color: #00B9FF;
font-size: 14px;
@ -304,27 +313,32 @@ export default {
}
}
.login_form /deep/ .el-form-item{
.login_form /deep/ .el-form-item {
margin-bottom: 0;
}
.login_form /deep/ .el-input__inner{
.login_form /deep/ .el-input__inner {
background-color: #f5f5f5;
height: 46px;
line-height: 46px;
border: none;
}
.login-btn /deep/ .el-button{
.login-btn /deep/ .el-button {
width: 100%;
// border-radius: 23px;
height: 46px;
}
.forget_view /deep/ .el-button--text{
.forget_view /deep/ .el-button--text {
color: #FF9784;
}
.forget_view /deep/ .el-button--text:hover{
text-decoration:underline;
.forget_view /deep/ .el-button--text:hover {
text-decoration: underline;
}
.wechat-btn /deep/ .el-button{
.wechat-btn /deep/ .el-button {
width: 100%;
// border-radius: 23px;
height: 46px;
@ -333,7 +347,8 @@ export default {
color: #666;
margin-top: 20px;
}
.ff-icon{
.ff-icon {
width: 100%;
}
</style>

@ -1,19 +1,19 @@
import Vue from 'vue';
import Router from 'vue-router';
import axios from 'axios'
import {getPermission} from '../utils/api'
import { getPermission } from '../utils/api'
//解决编程式路由往同一地址跳转时会报错的情况
const originalPush = Router.prototype.push;
const originalReplace = Router.prototype.replace;
//push
Router.prototype.push = function push(location, onResolve, onReject) {
Router.prototype.push = function push (location, onResolve, onReject) {
if (onResolve || onReject)
return originalPush.call(this, location, onResolve, onReject);
return originalPush.call(this, location).catch(err => err);
};
//replace
Router.prototype.replace = function push(location, onResolve, onReject) {
Router.prototype.replace = function push (location, onResolve, onReject) {
if (onResolve || onReject)
return originalReplace.call(this, location, onResolve, onReject);
return originalReplace.call(this, location).catch(err => err);
@ -74,14 +74,14 @@ const noticeDesign = () => import('../components/common/noticeDesign.vue')
// 404页面,随便写了个
const notFind = () => import('../components/page/404.vue')
// 重载路由,用于权限更新后的重载
import {resetRouter} from './resetRouter'
import { resetRouter } from './resetRouter'
Vue.use(Router);
export const constantRouterMap = [ // 默认路由,不需要权限
{
path: '/',
redirect: '/beforeLogin',
redirect: '/login',
},
{
path: '/beforeLogin',
@ -100,15 +100,15 @@ export const constantRouterMap = [ // 默认路由,不需要权限
}
]
let router = new Router({
mode: 'hash',
    base: process.env.BASE_URL,
mode: 'hash',
base: process.env.BASE_URL,
routes: []
});
export default router
router.addRoutes(constantRouterMap)
function createdRouter(item,val) {// 处理成路由接受对象的方法
if(item.menuOrNot===1){
let len,com,obj
function createdRouter (item, val) {// 处理成路由接受对象的方法
if (item.menuOrNot === 1) {
let len, com, obj
// 匹配路由名称对应的component
switch (item.name) {
case '待办事项': com = Dashboard
@ -137,22 +137,22 @@ function createdRouter(item,val) {// 处理成路由接受对象的方法
break;
case '保后业务管理系统': com = afterLoan
break;
default:console.log('未匹配到文件地址');
default: console.log('未匹配到文件地址');
break;
}
// 每个路由对应的数据形式
obj = {
path:item.menuUrl,
component:com,
meta:{title:item.name,btn:[]},
children:[]
path: item.menuUrl,
component: com,
meta: { title: item.name, btn: [] },
children: []
}
// 判断是否为主路由文件,进行递归匹配
if(item.children&&item.children.length!==0){
if (item.children && item.children.length !== 0) {
len = item.children.length
for(let i=0;i<len;i++){
for (let i = 0; i < len; i++) {
obj.meta.btn.push(item.children[i].name)// 权限判断,把非主路由name作为鉴权信息
if(item.children[i].menuOrNot!==0){
if (item.children[i].menuOrNot !== 0) {
// 是页面的话,生成新的obj,赛进父级
obj.children.push(createdRouter(item.children[i]))
}
@ -172,70 +172,70 @@ function createdRouter(item,val) {// 处理成路由接受对象的方法
// }
// }
// }
if(item.name === '后台管理'){
if(item.children&&item.children.length){
for(let i=0;i<item.children.length;i++){
if(item.children[i].name==='客户资源后台管理系统'){
if (item.name === '后台管理') {
if (item.children && item.children.length) {
for (let i = 0; i < item.children.length; i++) {
if (item.children[i].name === '客户资源后台管理系统') {
obj.children.push(
{
path: '/addcustomer',
component: AddCustomer,
meta: { title: '担保业务后台管理系统', btn:[]}
meta: { title: '担保业务后台管理系统', btn: [] }
}
)
}
// 判断后台管理系统,添加十个表单设计页面
if(item.children[i].name==='担保业务后台管理系统'){
if (item.children[i].name === '担保业务后台管理系统') {
obj.children.push(
{
path:'/applyDesign',
path: '/applyDesign',
component: applyDesign,
meta: { title: '业务申请表单设计', btn:[]}
meta: { title: '业务申请表单设计', btn: [] }
},
{
path:'/guaranteeDesign',
path: '/guaranteeDesign',
component: guaranteeDesign,
meta: { title: '担保部调查', btn:[]}
meta: { title: '担保部调查', btn: [] }
},
{
path:'/assetDesign',
path: '/assetDesign',
component: assetDesign,
meta: { title: '资产部调查表单设计', btn:[]}
meta: { title: '资产部调查表单设计', btn: [] }
},
{
path:'/messageDesign',
path: '/messageDesign',
component: messageDesign,
meta: { title: '信息部调查表单设计', btn:[]}
meta: { title: '信息部调查表单设计', btn: [] }
},
{
path:'/complianceDesign',
path: '/complianceDesign',
component: complianceDesign,
meta: { title: '合规调查表单设计', btn:[]}
meta: { title: '合规调查表单设计', btn: [] }
},
{
path:'/workDesign',
path: '/workDesign',
component: workDesign,
meta: { title: '工作会表单设计', btn:[]}
meta: { title: '工作会表单设计', btn: [] }
},
{
path:'/loansDepartDesign',
path: '/loansDepartDesign',
component: loansDepartDesign,
meta: { title: '贷审会表单设计', btn:[]}
meta: { title: '贷审会表单设计', btn: [] }
},
{
path:'/letterDesign',
path: '/letterDesign',
component: letterDesign,
meta: { title: '担保函流程设计', btn:[]}
meta: { title: '担保函流程设计', btn: [] }
},
{
path:'/paymentDesign',
path: '/paymentDesign',
component: paymentDesign,
meta: { title: '财务部确认流程设计', btn:[]}
meta: { title: '财务部确认流程设计', btn: [] }
},
{
path:'/noticeDesign',
path: '/noticeDesign',
component: noticeDesign,
meta: { title: '放款通知流程设计', btn:[]}
meta: { title: '放款通知流程设计', btn: [] }
}
)
}
@ -244,17 +244,17 @@ function createdRouter(item,val) {// 处理成路由接受对象的方法
}
}
return obj
}else return
} else return
}
router.beforeEach(function(to,from,next){
if(to.path == '/login'){
router.beforeEach(function (to, from, next) {
if (to.path == '/login') {
sessionStorage.removeItem('token')
}
if(sessionStorage.getItem('token')){
if(!sessionStorage.getItem('success')){// 记录路由是否处理过
getPermission().then(res=>{
if(res.success){
sessionStorage.setItem('getRouter','true')
if (sessionStorage.getItem('token')) {
if (!sessionStorage.getItem('success')) {// 记录路由是否处理过
getPermission().then(res => {
if (res.success) {
sessionStorage.setItem('getRouter', 'true')
let permissions = {
path: '/',
component: Home,
@ -263,22 +263,22 @@ router.beforeEach(function(to,from,next){
{
path: '/homePage',
component: HomePage,
meta: { title: '首页' ,btn:[]}
meta: { title: '首页', btn: [] }
},
{
path: '/workbench',
component: () => import('../components/page/Workbench.vue'),
meta: { title: '工作台' ,btn:[]},
meta: { title: '工作台', btn: [] },
children: [
{
path: '/workbench-manpower',
component: WorkbenchManpower,
meta: { title: '人力资源管理',btn:[] }
meta: { title: '人力资源管理', btn: [] }
},
{
path: '/workbench-client-message',
component: WorkbenchClientmessage,
meta: { title: '工作台客户信息', btn:[]}
meta: { title: '工作台客户信息', btn: [] }
}
]
},
@ -289,12 +289,12 @@ router.beforeEach(function(to,from,next){
// console.log(res.data,'路由处理,工作台和非工作台路由匹配')
// 此处为主路由页面的操作,通过对应的 createdRouter 函数进行路由数据处理,文件地址分配
for(let i=0;i<len;i++){
for (let i = 0; i < len; i++) {
//匹配非工作台的路由
if(res.data[i].name!=='客户资源管理系统'&&res.data[i].name!=='担保业务管理系统'&&res.data[i].name!=='保后业务管理系统'){
if (res.data[i].name !== '客户资源管理系统' && res.data[i].name !== '担保业务管理系统' && res.data[i].name !== '保后业务管理系统') {
permissions.children.push(createdRouter(res.data[i]))
homeMenu.push(res.data[i].name)
}else{
} else {
permissions.children[1].meta.btn.push(res.data[i].name)
permissions.children[1].children.push(createdRouter(res.data[i]))
}
@ -309,17 +309,17 @@ router.beforeEach(function(to,from,next){
{
path: '/404',
component: notFind,
meta: { title: '找不到页面', btn:[]}
meta: { title: '找不到页面', btn: [] }
}
]
router.addRoutes([permissions])
router.addRoutes(errPage)
sessionStorage.setItem('routerData',JSON.stringify([permissions]))
sessionStorage.setItem('routerData', JSON.stringify([permissions]))
// 处理过路由否
sessionStorage.setItem('success',true)
sessionStorage.setItem('success', true)
}
}).catch(err=>{
console.log(err,'路由处理出错')
}).catch(err => {
console.log(err, '路由处理出错')
let errPage = {
path: '*',
redirect: '/login'
@ -327,10 +327,11 @@ router.beforeEach(function(to,from,next){
router.addRoutes([errPage])
})
}
}else{
if (to.path !== '/login'&&to.path !=="/beforeLogin"&&to.path !=='/bind-phone') {
next({ path: '/login',
query:{redirect:to.path}
} else {
if (to.path !== '/login' && to.path !== "/beforeLogin" && to.path !== '/bind-phone') {
next({
path: '/login',
query: { redirect: to.path }
})
}
}

@ -1,4 +1,4 @@
import {get,post,put,del,Url} from './http';
import { get, post, put, del, Url } from './http';
let host = Url;
export const login = p => post('/apiHrmsAuth/hrms/auth/userlogin/login', p);
export const phoneCode = p => get('/apiHrmsAuth/hrms/auth/userlogin/sendCode', p);
@ -94,7 +94,7 @@ export const personnelSelection = p => get('/api-guarantee/al-collection-statist
export const annualStatisticsDeleted = p => post(`/api-guarantee/al-collection-statistics/annualStatisticsDeleted?year=${p}`);
export const annualStatisticsListExport = p => `${host}/api-guarantee/al-collection-statistics/annualStatisticsListExport?year=${p}`
export const importInsurance = `${host}/api-guarantee/al-insurance-list/importInsurance`;
export const exportFailure = p=> `${host}/api-guarantee/al-insurance-list/exportFailure?exportCode=${p}`;
export const exportFailure = p => `${host}/api-guarantee/al-insurance-list/exportFailure?exportCode=${p}`;
@ -108,7 +108,7 @@ export const collectionListDetail = p => get('/api-guarantee/al-collection/overd
export const modifyReimbursement = p => get('/api-guarantee/al-reimbursement/modifyReimbursement', p);// 查清收组人员
export const collectionHisList = p => post('/api-guarantee/al-collection/collection/list', p);
export const updateCollection = p => post('/api-guarantee/al-collection/updateCollection', p);// 编辑催收记录
export const delCollection = p => post('/api-guarantee/al-collection/delCollection?id='+p);// 删除催收记录
export const delCollection = p => post('/api-guarantee/al-collection/delCollection?id=' + p);// 删除催收记录
export const collectionHisListDetail = p => get('/api-guarantee/al-collection/examine/detail', p);
export const excelInsurance = `${host}/api-guarantee/al-insurance-list/excelExport`;

@ -6,8 +6,9 @@ import router from '../router/index'
// 服务器的切换
// export const Url = 'https://test.feifanhitech.com'// 测试服务器地址
export const Url = 'https://www.feifanhitech.com';// 非凡(正式服)
// export const Url = 'http://192.168.31.137:8080';//陈赓
// export const Url = 'https://www.feifanhitech.com';// 非凡(正式服)
// export const Url = 'http://192.168.31.51:8089';//陈赓
export const Url = 'http://10.0.0.40:8089';
axios.defaults.baseURL = Url;
const baseurl = Url
// 请求超时时间
@ -31,7 +32,7 @@ axios.interceptors.response.use(
if (response.data.code === 10000) {
return Promise.resolve(response);
} else
if(response.data.code === 401){
if (response.data.code === 401) {
Message.error('登录过期,请重新登录!');
// 清除token
sessionStorage.removeItem('token');
@ -45,8 +46,8 @@ axios.interceptors.response.use(
}
});
}, 1000);
}else{
if(response.data.message){
} else {
if (response.data.message) {
Message.error(response.data.message);
}
return Promise.reject(response)
@ -55,7 +56,7 @@ axios.interceptors.response.use(
},
// 服务器状态码不是200的情况
error => {
if(error.response){
if (error.response) {
if (error.response.status) {
switch (error.response.status) {
// 401: 未登录
@ -106,8 +107,8 @@ axios.interceptors.response.use(
);
/** get方法,对应get请求---sb封装,本身axios就是封装的promis **/
export function get(url, params){
return new Promise((resolve, reject) =>{
export function get (url, params) {
return new Promise((resolve, reject) => {
axios.get(url, {
params: params
})
@ -120,9 +121,9 @@ export function get(url, params){
});
}
/** post方法,对应post请求 **/
export function post(url, params) {
export function post (url, params) {
return new Promise((resolve, reject) => {
axios.post(url,params)
axios.post(url, params)
.then(res => {
resolve(res.data);
})
@ -133,8 +134,8 @@ export function post(url, params) {
}
/** delete方法,对应delete请求 **/
export function del(url, params){
return new Promise((resolve, reject) =>{
export function del (url, params) {
return new Promise((resolve, reject) => {
axios.delete(url, {
data: params
})
@ -148,8 +149,8 @@ export function post(url, params) {
}
/** put修改 **/
export function put(url, params){
return new Promise((resolve, reject) =>{
export function put (url, params) {
return new Promise((resolve, reject) => {
axios.put(url, params)
.then(res => {
resolve(res.data);

Loading…
Cancel
Save