切换导航条
此项目
正在载入...
登录
朱兆平
/
vue_cli
·
提交
转到一个项目
GitLab
转到仪表盘
项目
活动
文件
提交
管道
0
构建
0
图表
里程碑
问题
0
合并请求
0
成员
标记
维基
派生
网络
创建新的问题
下载为
差异文件
浏览文件
作者
小范
about a year ago
提交
1ee803c04823519942d43b7b70f4441b255ed0be
2 个父辈
14b82dd1
0cedccce
Merge remote-tracking branch 'origin/master' into master_dev
显示空白字符变更
内嵌
并排对比
正在显示
6 个修改的文件
包含
137 行增加
和
41 行删除
src/api/user.js
src/common/init/sys_init.js
src/views/HomeNew.vue
src/views/Login.vue
src/views/nav1/user.vue
src/views/transit/transit.vue
src/api/user.js
查看文件 @
1ee803c
import
http
from
'./http.js'
import
jsutil
from
"@/common/js/util"
;
let
baseUrl
=
'/cloud-user-center/user'
const
serviceName
=
'/cloud-user-center'
// let baseUrl = '/cloud-kako-user-center/user'
// let baseCode = '/cloud-kako-user-center/randCode'
export
const
getUserList
=
params
=>
{
return
http
.
get
(
`
$
{
baseUrl
}
/list`, params
)
; }
;
export
const
getRandCode
=
params
=>
{
return
http
.
get
(
`
$
{
baseCode
}
`
,
params
);
};
export
const
getRandCode
=
params
=>
{
return
http
.
get
(
`
/
cloud
-
user
-
center
/
anonymous
/
randCode
`
,
params
);
};
export
const
getUserListPage
=
params
=>
{
return
http
.
get
(
`
/
user
/
list
`
,
params
)
};
export
const
removeUser
=
params
=>
{
return
http
.
del
(
`
$
{
baseUrl
}
/del`,params
)
}
;
export
const
removeUser
=
params
=>
{
return
http
.
post
(
`
$
{
baseUrl
}
/del`,params
)
}
;
export
const
batchRemoveUser
=
params
=>
{
return
http
.
del
(
`
$
{
baseUrl
}
/batchremove`, { params: params }
)
; }
;
export
const
batchRemoveUser
=
params
=>
{
return
http
.
post
(
`
$
{
baseUrl
}
/batchremove`, { params: params }
)
; }
;
export
const
editPass
=
params
=>
{
return
http
.
p
u
t
(
`
$
{
baseUrl
}
/password`,params
)
}
;
export
const
editPass
=
params
=>
{
return
http
.
p
os
t
(
`
$
{
baseUrl
}
/password`,params
)
}
;
export
const
editUser
=
params
=>
{
return
http
.
p
u
t
(
`
$
{
baseUrl
}
/edit`,params
)
}
;
export
const
editUser
=
params
=>
{
return
http
.
p
os
t
(
`
$
{
baseUrl
}
/edit`,params
)
}
;
export
const
addUser
=
params
=>
{
return
http
.
post
(
`
$
{
baseUrl
}
/add`,params
)
}
;
export
const
setUserRole
=
params
=>
{
return
http
.
put
(
`
$
{
baseUrl
}
/roleset`,params
)
}
;
export
const
heartBeat
=
params
=>
{
return
http
.
post
(
`
$
{
serviceName
}
/heartbeat`,params
)
}
;
export
const
userLock
=
params
=>
{
return
http
.
post
(
`
$
{
baseUrl
}
/lock`,params
)
}
;
export
const
setUserRole
=
params
=>
{
return
http
.
post
(
`
$
{
baseUrl
}
/roleset`,params
)
}
;
export
const
resetToken
=
params
=>
{
return
http
.
post
(
`
$
{
baseUrl
}
/resetToken`,params
)
}
;
export
const
resetToken
=
params
=>
{
return
http
.
put
(
`
$
{
baseUrl
}
/resetToken`,params
)
}
;
export
const
loginedUserInfo
=
()
=>
{
let
session_user_info
=
sessionStorage
.
getItem
(
'user'
);
...
...
src/common/init/sys_init.js
查看文件 @
1ee803c
...
...
@@ -19,6 +19,11 @@ var axois_init = {
return
res
;
},
error
=>
{
// 抓取报错信息
let
errmsg
=
''
;
if
(
error
.
response
.
data
.
message
){
errmsg
+=
error
.
response
.
data
.
message
}
// 用户登录的时候会拿到一个基础信息,比如用户名,token,过期时间戳
// 直接丢sessionStorage
if
(
!
sessionStorage
.
getItem
(
"token"
))
{
...
...
@@ -33,7 +38,7 @@ var axois_init = {
if
(
error
.
response
.
status
===
401
)
{
message
({
// 饿了么的消息弹窗组件
message
:
'授权超时,或访问未授权,请重新登录
'
,
message
:
errmsg
+
'授权超时,或访问未授权,请重新登录;
'
,
type
:
"error"
});
}
...
...
@@ -80,7 +85,7 @@ var axois_init = {
}
// 返回 response 里的错误信息
return
Promise
.
reject
(
errorInfo
);
return
Promise
.
reject
(
errorInfo
+
errmsg
);
}
);
},
...
...
src/views/HomeNew.vue
查看文件 @
1ee803c
...
...
@@ -62,7 +62,7 @@
<script>
import rt from '../routes'
import { editPass,resetToken,loginedUserInfo} from '../api/user';
import { editPass,resetToken,loginedUserInfo
,heartBeat
} from '../api/user';
import ElFormItem from "element-ui/packages/form/src/form-item";
import TabMenu from "@/components/TabMenu"
import NavMenu from "@/components/NavMenu"
...
...
@@ -283,6 +283,16 @@
}
})
},
heartBeatAPI:function () {
heartBeat().then(response => {
}).catch(e=>{
this.$notify.error({
title: '心跳',
message: '心跳失败'
});
});
}
},
computed: {
...
...
@@ -304,6 +314,11 @@
setInterval(() => {
this.checkUpdate();
}, 30000);
setInterval(() => {
if (this.sysUserName){
this.heartBeatAPI();
}
}, 90000);
this.$nextTick(function(){
this.initUserInfo();
// this.rowDrop(); //行拖拽效果
...
...
src/views/Login.vue
查看文件 @
1ee803c
...
...
@@ -8,9 +8,16 @@
<el-form-item prop="checkPass">
<el-input type="password" v-model="ruleForm2.checkPass" placeholder="密码" @keydown.enter.native="keyDown" show-password></el-input>
</el-form-item>
<!-- <el-form-item prop="checkPass">-->
<!-- <el-input type="password" v-model="ruleForm2.checkPass" placeholder="密码" @keyup.enter.native="handleSubmit2"></el-input>-->
<!-- </el-form-item>-->
<el-form-item prop="verify">
<el-input type="text" v-model="ruleForm2.verify" placeholder="请在2分钟内输入下方图片中的答案" @keyup.enter.native="handleSubmit2"></el-input>
</el-form-item>
<el-form-item>
<img
style="width: 125px; height: 60px"
:src="verifyImg"
@click="getVerifyCode"
>
</el-form-item>
<el-checkbox v-model="checked" checked class="remeberme">记住密码</el-checkbox>
<el-form-item style="width:100%;">
<el-button type="primary" style="width:100%;" @click.native.prevent="handleSubmit2" :loading="logining" :plain="true">登录</el-button>
...
...
@@ -43,13 +50,16 @@
export default {
data() {
return {
verifyImg: "",
vedioCanPlay: true,
fixStyle: '',
logining: false,
ruleForm2: {
account: '',
// checkPass: 'zzairport@kako2020'
checkPass: ''
checkPass: '',
verify: '',
verifyToken: ''
},
rules2: {
account: [
...
...
@@ -59,6 +69,9 @@
checkPass: [
{ required: true, message: '请输入密码', trigger: 'blur' },
//{ validator: validaePass2 }
],
checkVerify: [
{ required: false, message: '请输入验证码', trigger: 'blur' }
]
},
checked: true,
...
...
@@ -105,18 +118,20 @@
// 本地存储用户目录 ,防刷新目录丢失用
sessionStorage.setItem('menu', JSON.stringify(_this.$router.options.routes));
},
randCode: function(){
getRandCode().then((res) =>{
}).catch({
});
},
keyDown(e) {
if(e.keyCode===13) { //用户点击了ctrl+enter触发
this.handleSubmit2()
}
},
getVerifyCode: function(){
getRandCode().then((res) =>{
let status = res.status;
this.ruleForm2.verifyToken = res.data.jwtToken;
this.verifyImg = res.data.data.verifyImg;
}).catch({
});
},
handleSubmit2: function (ev) {
var _this = this;
this.$refs.ruleForm2.validate((valid) => {
...
...
@@ -124,7 +139,12 @@
//_this.$router.replace('/table');
this.logining = true;
//NProgress.start();
var loginParams = {username: this.ruleForm2.account, password: this.ruleForm2.checkPass};
var loginParams = {
username: this.ruleForm2.account,
password: this.ruleForm2.checkPass,
verify: this.ruleForm2.verify,
verifyToken:this.ruleForm2.verifyToken
};
http.login(loginParams).then(res => {
this.logining = false;
//NProgress.done();
...
...
@@ -133,6 +153,7 @@
let token = authentication.token;
let loginUserMenus = res.data.loginUserMenus;
if (status !== 200) {
this.getVerifyCode();
let msg = "登录错误";
this.$message({
message: msg,
...
...
@@ -147,19 +168,16 @@
//处理用户menu
_this.userMenus = loginUserMenus.list;
let sysMenus = _this.$router.options.routes;
_this.handleMenuList(_this.$router.options.routes,_this.userMenus);
// console.log("user:");
// console.log(_this.$router.options.routes);
_this.$router.push({path: '/main'});
}
}).catch(error => {
this.$message({
message: error.toString()+"-登录验证失败
",
message: error.toString()+"-登录验证失败;
",
type: "error"
});
this.getVerifyCode();
}).finally(()=>{
this.logining = false;
});
} else {
...
...
@@ -213,8 +231,10 @@
_this.handleSubmit2();
}
};
// this.randCode();
}
},
created(){
this.getVerifyCode()
},
}
</script>
...
...
src/views/nav1/user.vue
查看文件 @
1ee803c
...
...
@@ -38,19 +38,35 @@
</el-table-column>
<el-table-column prop="realname" label="姓名" width="120" sortable>
</el-table-column>
<el-table-column prop="sex" label="性别" width="100" :formatter="formatSex" sortable>
</el-table-column>
<el-table-column prop="mobilephone" label="电话" width="150">
</el-table-column>
<el-table-column prop="creattime" label="创建时间" width="220" sortable>
</el-table-column>
<el-table-column prop="updatetime" label="更新时间" width="220" sortable>
</el-table-column>
<!-- <el-table-column prop="sex" label="性别" width="100" :formatter="formatSex" sortable>-->
<!-- </el-table-column>-->
<!-- <el-table-column prop="mobilephone" label="电话" width="150">-->
<!-- </el-table-column>-->
<!-- <el-table-column prop="address" label="地址" min-width="180">-->
<!-- </el-table-column>-->
<!-- <el-table-column prop="email" label="Email" min-width="180">-->
<!-- </el-table-column>-->
<el-table-column prop="state" label="启用" width="100" :formatter="formatState" sortable>
<template slot-scope="scope">
<el-tag type="success" v-if="scope.row.state">启用</el-tag>
<el-tag type="danger" v-else>禁用</el-tag>
<el-button type="text" @click="lockUser(scope.$index, scope.row, false)" v-if="scope.row.state">禁用</el-button>
<el-button type="text" @click="lockUser(scope.$index, scope.row, true)" v-else>启用</el-button>
</template>
</el-table-column>
<el-table-column prop="userStatus" label="状态" width="100">
<template slot-scope="scope">
<el-tag type="danger" v-if="scope.row.userStatus ===0">锁定</el-tag>
<el-tag type="success" v-else-if="scope.row.userStatus ===1">在线</el-tag>
<el-tag type="info" v-else-if="scope.row.userStatus ===2">离线</el-tag>
<el-tag type="warning" v-else-if="scope.row.userStatus ===3">过期</el-tag>
<el-tag type="warning" v-else>未知</el-tag>
</template>
</el-table-column>
<el-table-column prop="creattime" label="创建时间" width="220" sortable>
</el-table-column>
<el-table-column prop="updatetime" label="更新时间" width="220" sortable>
</el-table-column>
<el-table-column label="操作" align="center" width="250" fixed="right">
<template slot-scope="scope">
...
...
@@ -215,7 +231,7 @@
<script>
import util from '../../common/js/util'
import NProgress from 'nprogress'
import { getUserList, removeUser, batchRemoveUser, editUser, addUser, setUserRole } from '../../api/user';
import { getUserList, removeUser, batchRemoveUser, editUser, addUser, setUserRole
,userLock
} from '../../api/user';
import { getList} from '../../api/role_api';
import { getList as getRoleList} from '../../api/role_api';
import moment from 'moment'
...
...
@@ -327,7 +343,29 @@
});
},
// 禁用与启用用户
lockUser: function(index, row, stateCode){
this.listLoading = true;
let para = {
userId: row.userId,
username:row.username,
state: stateCode
};
userLock(para).then((res) => {
this.$message({
message: '操作成功',
type: 'success'
});
this.getUsers();
}).catch((e) => {
this.$message({
message: '操作失败',
type: 'error'
});
}).finally(()=>{
this.listLoading = false;
});
},
// 获取公司列表
getCompanyNmae(){
let para = {
...
...
src/views/transit/transit.vue
查看文件 @
1ee803c
...
...
@@ -65,6 +65,16 @@
<el-row style="margin-top: -5px">
<el-col :span="6">
<el-form-item>
<el-input clearable
v-model="formTrn.billno"
placeholder="提运单号" style="width: 214px"
>
<template slot="prepend">提运单号</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item>
<el-input
v-model="formTrn.customscode"
placeholder="关区" style="width: 210px"
...
...
@@ -83,7 +93,7 @@
</el-input>
</el-form-item>
</el-col>
<el-col :span="
12
">
<el-col :span="
6
">
<el-form-item>
<el-input
v-model="formTrn.unloadcode"
...
...
@@ -598,6 +608,7 @@
}]
},
formTrn: {
billno: '',
customscode:'',
username:'',
trnmode:'',
...
...
请
注册
或
登录
后发表评论