Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
D
datax-cloud
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
黄营
datax-cloud
Commits
9024780f
Commit
9024780f
authored
May 31, 2020
by
yuwei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
2.0.0项目初始化
parent
c8d517e5
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
212 additions
and
36 deletions
+212
-36
request.js
datax-ui/src/utils/request.js
+44
-11
JobAdd.vue
datax-ui/src/views/scheduler/job/JobAdd.vue
+2
-1
JobDetail.vue
datax-ui/src/views/scheduler/job/JobDetail.vue
+2
-1
JobEdit.vue
datax-ui/src/views/scheduler/job/JobEdit.vue
+2
-1
JobList.vue
datax-ui/src/views/scheduler/job/JobList.vue
+2
-1
index.vue
datax-ui/src/views/scheduler/job/index.vue
+8
-3
JobLogDetail.vue
datax-ui/src/views/scheduler/log/JobLogDetail.vue
+91
-0
JobLogList.vue
datax-ui/src/views/scheduler/log/JobLogList.vue
+29
-2
RoleDetail.vue
datax-ui/src/views/system/role/RoleDetail.vue
+16
-8
RoleEdit.vue
datax-ui/src/views/system/role/RoleEdit.vue
+16
-8
No files found.
datax-ui/src/utils/request.js
View file @
9024780f
import
axios
from
'axios'
import
axios
from
'axios'
import
{
Loading
,
Message
}
from
'element-ui'
import
{
Loading
,
Message
}
from
'element-ui'
import
storage
from
'@/utils/storage'
import
storage
from
'@/utils/storage'
import
router
from
'@/router'
import
store
from
'@/store'
const
instance
=
axios
.
create
({
const
instance
=
axios
.
create
({
baseURL
:
process
.
env
.
VUE_APP_BASE_API
,
baseURL
:
process
.
env
.
VUE_APP_BASE_API
,
...
@@ -34,15 +36,8 @@ instance.interceptors.response.use(
...
@@ -34,15 +36,8 @@ instance.interceptors.response.use(
response
=>
{
response
=>
{
loadingInstance
.
close
()
loadingInstance
.
close
()
const
code
=
response
.
data
.
code
||
200
const
code
=
response
.
data
.
code
||
200
if
(
code
===
401
)
{
console
.
log
(
'code:'
+
code
)
// 重新登陆
if
(
code
===
500
)
{
console
.
log
(
'重新登陆'
)
Message
.
warning
(
'重新登陆'
)
}
else
if
(
code
===
403
)
{
// 无权限
console
.
log
(
'无权限'
)
Message
.
warning
(
'无权限'
)
}
else
if
(
code
===
500
)
{
// 系统错误
// 系统错误
Message
.
error
(
response
.
data
.
msg
||
'系统错误'
)
Message
.
error
(
response
.
data
.
msg
||
'系统错误'
)
return
Promise
.
reject
(
new
Error
(
response
.
data
.
msg
))
return
Promise
.
reject
(
new
Error
(
response
.
data
.
msg
))
...
@@ -52,8 +47,46 @@ instance.interceptors.response.use(
...
@@ -52,8 +47,46 @@ instance.interceptors.response.use(
},
},
error
=>
{
error
=>
{
loadingInstance
.
close
()
loadingInstance
.
close
()
Message
.
error
(
error
.
message
)
console
.
log
(
'error.response.status:'
+
error
.
response
.
status
)
return
Promise
.
reject
(
error
)
if
(
error
.
response
.
status
)
{
switch
(
error
.
response
.
status
)
{
// 401: 未登录
// 未登录则跳转登录页面,并携带当前页面的路径
// 在登录成功后返回当前页面,这一步需要在登录页操作。
case
401
:
router
.
replace
({
path
:
'/login'
,
query
:
{
redirect
:
router
.
currentRoute
.
fullPath
}
})
break
// 403 token过期
// 登录过期对用户进行提示
// 清除本地token和清空vuex中token对象
// 跳转登录页面
case
403
:
Message
.
error
(
'登录过期,请重新登录'
)
// 清除token
store
.
dispatch
(
'user/resetToken'
)
// 跳转登录页面,并将要浏览的页面fullPath传过去,登录成功后跳转需要访问的页面
setTimeout
(()
=>
{
router
.
replace
({
path
:
'/login'
,
query
:
{
redirect
:
router
.
currentRoute
.
fullPath
}
})
},
1000
)
break
// 404请求不存在
case
404
:
Message
.
error
(
'网络请求不存在'
)
break
// 其他错误,直接抛出错误提示
default
:
Message
.
error
(
error
.
response
.
data
.
message
)
}
}
return
Promise
.
reject
(
error
.
response
)
}
}
)
)
...
...
datax-ui/src/views/scheduler/job/JobAdd.vue
View file @
9024780f
...
@@ -65,7 +65,8 @@ export default {
...
@@ -65,7 +65,8 @@ export default {
showAdd
:
false
,
showAdd
:
false
,
showEdit
:
false
,
showEdit
:
false
,
showDetail
:
false
,
showDetail
:
false
,
showLogList
:
false
showLogList
:
false
,
showLogDetail
:
false
},
},
// 保存按钮
// 保存按钮
loadingOptions
:
{
loadingOptions
:
{
...
...
datax-ui/src/views/scheduler/job/JobDetail.vue
View file @
9024780f
...
@@ -64,7 +64,8 @@ export default {
...
@@ -64,7 +64,8 @@ export default {
showAdd
:
false
,
showAdd
:
false
,
showEdit
:
false
,
showEdit
:
false
,
showDetail
:
false
,
showDetail
:
false
,
showLogList
:
false
showLogList
:
false
,
showLogDetail
:
false
},
},
// 表单参数
// 表单参数
form
:
{},
form
:
{},
...
...
datax-ui/src/views/scheduler/job/JobEdit.vue
View file @
9024780f
...
@@ -65,7 +65,8 @@ export default {
...
@@ -65,7 +65,8 @@ export default {
showAdd
:
false
,
showAdd
:
false
,
showEdit
:
false
,
showEdit
:
false
,
showDetail
:
false
,
showDetail
:
false
,
showLogList
:
false
showLogList
:
false
,
showLogDetail
:
false
},
},
// 保存按钮
// 保存按钮
loadingOptions
:
{
loadingOptions
:
{
...
...
datax-ui/src/views/scheduler/job/JobList.vue
View file @
9024780f
...
@@ -226,7 +226,8 @@ export default {
...
@@ -226,7 +226,8 @@ export default {
showAdd
:
false
,
showAdd
:
false
,
showEdit
:
false
,
showEdit
:
false
,
showDetail
:
false
,
showDetail
:
false
,
showLogList
:
false
showLogList
:
false
,
showLogDetail
:
false
},
},
// 遮罩层
// 遮罩层
loading
:
true
,
loading
:
true
,
...
...
datax-ui/src/views/scheduler/job/index.vue
View file @
9024780f
...
@@ -15,6 +15,9 @@
...
@@ -15,6 +15,9 @@
<transition
name=
"el-zoom-in-center"
>
<transition
name=
"el-zoom-in-center"
>
<job-log-list
v-if=
"options.showLogList"
:data=
"options.data"
@
showCard=
"showCard"
></job-log-list>
<job-log-list
v-if=
"options.showLogList"
:data=
"options.data"
@
showCard=
"showCard"
></job-log-list>
</transition>
</transition>
<transition
name=
"el-zoom-in-bottom"
>
<job-log-detail
v-if=
"options.showLogDetail"
:data=
"options.data"
@
showCard=
"showCard"
></job-log-detail>
</transition>
</div>
</div>
</
template
>
</
template
>
...
@@ -23,11 +26,12 @@ import JobList from './JobList'
...
@@ -23,11 +26,12 @@ import JobList from './JobList'
import
JobAdd
from
'./JobAdd'
import
JobAdd
from
'./JobAdd'
import
JobEdit
from
'./JobEdit'
import
JobEdit
from
'./JobEdit'
import
JobDetail
from
'./JobDetail'
import
JobDetail
from
'./JobDetail'
import
JobLogList
from
'./log/JobLogList'
import
JobLogList
from
'../log/JobLogList'
import
JobLogDetail
from
'../log/JobLogDetail'
export
default
{
export
default
{
name
:
'Job'
,
name
:
'Job'
,
components
:
{
JobList
,
JobAdd
,
JobEdit
,
JobDetail
,
JobLogList
},
components
:
{
JobList
,
JobAdd
,
JobEdit
,
JobDetail
,
JobLogList
,
JobLogDetail
},
data
()
{
data
()
{
return
{
return
{
options
:
{
options
:
{
...
@@ -36,7 +40,8 @@ export default {
...
@@ -36,7 +40,8 @@ export default {
showAdd
:
false
,
showAdd
:
false
,
showEdit
:
false
,
showEdit
:
false
,
showDetail
:
false
,
showDetail
:
false
,
showLogList
:
false
showLogList
:
false
,
showLogDetail
:
false
}
}
}
}
},
},
...
...
datax-ui/src/views/scheduler/log/JobLogDetail.vue
0 → 100644
View file @
9024780f
<
template
>
<div>
<el-card
class=
"box-card"
shadow=
"always"
:body-style=
"
{ height: bodyHeight }" style="overflow-y: auto;">
<div
slot=
"header"
class=
"clearfix"
>
<span>
{{
title
}}
</span>
<el-button-group
style=
"float: right;"
>
<el-button
size=
"mini"
icon=
"el-icon-back"
round
@
click=
"showCard"
>
返回
</el-button>
</el-button-group>
</div>
<el-form
ref=
"form"
:model=
"form"
label-width=
"80px"
disabled
>
<el-form-item
label=
"信息记录"
prop=
"msg"
>
<el-input
v-model=
"form.msg"
placeholder=
"请输入信息记录"
/>
</el-form-item>
<el-form-item
label=
"创建时间"
prop=
"createTime"
>
<el-input
v-model=
"form.createTime"
placeholder=
"请输入创建时间"
/>
</el-form-item>
<el-form-item
label=
"状态"
prop=
"status"
>
<el-radio-group
v-model=
"form.status"
>
<el-radio
v-for=
"dict in statusOptions"
:key=
"dict.id"
:label=
"dict.itemText"
>
{{
dict
.
itemValue
}}
</el-radio>
</el-radio-group>
</el-form-item>
</el-form>
</el-card>
</div>
</
template
>
<
script
>
import
{
getLog
}
from
'@/api/scheduler/log'
export
default
{
name
:
'JobDetail'
,
props
:
{
data
:
{
type
:
Object
,
default
:
function
()
{
return
{}
}
}
},
data
()
{
return
{
bodyHeight
:
document
.
body
.
offsetHeight
-
130
+
'px'
,
title
:
'任务日志详情'
,
// 展示切换
showOptions
:
{
data
:
{},
showList
:
true
,
showAdd
:
false
,
showEdit
:
false
,
showDetail
:
false
,
showLogList
:
false
,
showLogDetail
:
false
},
// 表单参数
form
:
{},
// 状态数据字典
statusOptions
:
[]
}
},
created
()
{
console
.
log
(
'id:'
+
this
.
data
.
id
)
this
.
getDicts
(
'sys_common_status'
).
then
(
response
=>
{
if
(
response
.
success
)
{
this
.
statusOptions
=
response
.
data
}
})
this
.
getLog
(
this
.
data
.
id
)
},
methods
:
{
showCard
()
{
this
.
$emit
(
'showCard'
,
this
.
showOptions
)
},
/** 获取详情 */
getLog
:
function
(
id
)
{
getLog
(
id
).
then
(
response
=>
{
if
(
response
.
success
)
{
this
.
form
=
response
.
data
}
})
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
</
style
>
datax-ui/src/views/scheduler/log/JobLogList.vue
View file @
9024780f
...
@@ -22,6 +22,14 @@
...
@@ -22,6 +22,14 @@
<el-col
:span=
"12"
>
<el-col
:span=
"12"
>
<el-button-group>
<el-button-group>
<el-button
<el-button
type=
"info"
icon=
"el-icon-view"
size=
"mini"
:disabled=
"single"
@
click=
"handleDetail"
v-hasPerm=
"['scheduler:log:detail']"
>
详情
</el-button>
<el-button
type=
"danger"
type=
"danger"
icon=
"el-icon-delete"
icon=
"el-icon-delete"
size=
"mini"
size=
"mini"
...
@@ -102,6 +110,13 @@
...
@@ -102,6 +110,13 @@
<el-button
<el-button
size=
"mini"
size=
"mini"
type=
"text"
type=
"text"
icon=
"el-icon-view"
@
click=
"handleDetail(scope.row)"
v-hasPerm=
"['scheduler:log:detail']"
>
详情
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
@
click=
"handleDelete(scope.row)"
v-hasPerm=
"['scheduler:log:remove']"
v-hasPerm=
"['scheduler:log:remove']"
...
@@ -131,7 +146,7 @@ export default {
...
@@ -131,7 +146,7 @@ export default {
props
:
{
props
:
{
data
:
{
data
:
{
type
:
Object
,
type
:
Object
,
default
:
function
()
{
default
:
function
()
{
return
{}
return
{}
}
}
}
}
...
@@ -147,7 +162,8 @@ export default {
...
@@ -147,7 +162,8 @@ export default {
showAdd
:
false
,
showAdd
:
false
,
showEdit
:
false
,
showEdit
:
false
,
showDetail
:
false
,
showDetail
:
false
,
showLogList
:
false
showLogList
:
false
,
showLogDetail
:
false
},
},
// 遮罩层
// 遮罩层
loading
:
true
,
loading
:
true
,
...
@@ -240,6 +256,17 @@ export default {
...
@@ -240,6 +256,17 @@ export default {
this
.
single
=
selection
.
length
!==
1
this
.
single
=
selection
.
length
!==
1
this
.
multiple
=
!
selection
.
length
this
.
multiple
=
!
selection
.
length
},
},
/** 详情按钮操作 */
handleDetail
(
row
)
{
this
.
showOptions
.
data
.
id
=
row
.
id
||
this
.
ids
[
0
]
this
.
showOptions
.
showList
=
false
this
.
showOptions
.
showAdd
=
false
this
.
showOptions
.
showEdit
=
false
this
.
showOptions
.
showDetail
=
false
this
.
showOptions
.
showLogList
=
false
this
.
showOptions
.
showLogDetail
=
true
this
.
$emit
(
'showCard'
,
this
.
showOptions
)
},
/** 删除按钮操作 */
/** 删除按钮操作 */
handleDelete
(
row
)
{
handleDelete
(
row
)
{
this
.
$confirm
(
'选中数据将被永久删除, 是否继续?'
,
'提示'
,
{
this
.
$confirm
(
'选中数据将被永久删除, 是否继续?'
,
'提示'
,
{
...
...
datax-ui/src/views/system/role/RoleDetail.vue
View file @
9024780f
...
@@ -23,7 +23,7 @@
...
@@ -23,7 +23,7 @@
ref=
"menu"
ref=
"menu"
node-key=
"id"
node-key=
"id"
empty-text=
"加载中,请稍后"
empty-text=
"加载中,请稍后"
:check-strictly=
"menuCheck
s
trictly"
:check-strictly=
"menuCheck
S
trictly"
:props=
"menuDefaultProps"
:props=
"menuDefaultProps"
></el-tree>
></el-tree>
</el-form-item>
</el-form-item>
...
@@ -47,7 +47,7 @@
...
@@ -47,7 +47,7 @@
ref=
"dept"
ref=
"dept"
node-key=
"id"
node-key=
"id"
empty-text=
"加载中,请稍后"
empty-text=
"加载中,请稍后"
:check-strictly=
"deptCheck
s
trictly"
:check-strictly=
"deptCheck
S
trictly"
:props=
"deptDefaultProps"
:props=
"deptDefaultProps"
></el-tree>
></el-tree>
</el-form-item>
</el-form-item>
...
@@ -116,8 +116,8 @@ export default {
...
@@ -116,8 +116,8 @@ export default {
children
:
'children'
,
children
:
'children'
,
label
:
'deptName'
label
:
'deptName'
},
},
menuCheck
s
trictly
:
false
,
menuCheck
S
trictly
:
false
,
deptCheck
s
trictly
:
false
deptCheck
S
trictly
:
false
}
}
},
},
created
()
{
created
()
{
...
@@ -191,12 +191,20 @@ export default {
...
@@ -191,12 +191,20 @@ export default {
this
.
form
=
response
.
data
this
.
form
=
response
.
data
let
menuCheckedKeys
=
response
.
data
.
menus
.
map
(
menu
=>
menu
.
id
)
let
menuCheckedKeys
=
response
.
data
.
menus
.
map
(
menu
=>
menu
.
id
)
let
deptCheckedKeys
=
response
.
data
.
depts
.
map
(
dept
=>
dept
.
id
)
let
deptCheckedKeys
=
response
.
data
.
depts
.
map
(
dept
=>
dept
.
id
)
this
.
menuCheckstrictly
=
true
if
(
menuCheckedKeys
&&
menuCheckedKeys
.
length
>
0
)
{
this
.
deptCheckstrictly
=
true
this
.
menuCheckStrictly
=
true
this
.
$nextTick
(()
=>
{
this
.
$refs
.
menu
.
setCheckedKeys
(
menuCheckedKeys
)
this
.
$refs
.
menu
.
setCheckedKeys
(
menuCheckedKeys
)
this
.
menuCheckStrictly
=
false
})
}
if
(
deptCheckedKeys
&&
deptCheckedKeys
.
length
>
0
)
{
this
.
deptCheckStrictly
=
true
this
.
$nextTick
(()
=>
{
this
.
$refs
.
dept
.
setCheckedKeys
(
deptCheckedKeys
)
this
.
$refs
.
dept
.
setCheckedKeys
(
deptCheckedKeys
)
this
.
menuCheckstrictly
=
false
this
.
deptCheckStrictly
=
false
this
.
deptCheckstrictly
=
false
})
}
}
}
})
})
}
}
...
...
datax-ui/src/views/system/role/RoleEdit.vue
View file @
9024780f
...
@@ -24,7 +24,7 @@
...
@@ -24,7 +24,7 @@
ref=
"menu"
ref=
"menu"
node-key=
"id"
node-key=
"id"
empty-text=
"加载中,请稍后"
empty-text=
"加载中,请稍后"
:check-strictly=
"menuCheck
s
trictly"
:check-strictly=
"menuCheck
S
trictly"
:props=
"menuDefaultProps"
:props=
"menuDefaultProps"
></el-tree>
></el-tree>
</el-form-item>
</el-form-item>
...
@@ -48,7 +48,7 @@
...
@@ -48,7 +48,7 @@
ref=
"dept"
ref=
"dept"
node-key=
"id"
node-key=
"id"
empty-text=
"加载中,请稍后"
empty-text=
"加载中,请稍后"
:check-strictly=
"deptCheck
s
trictly"
:check-strictly=
"deptCheck
S
trictly"
:props=
"deptDefaultProps"
:props=
"deptDefaultProps"
></el-tree>
></el-tree>
</el-form-item>
</el-form-item>
...
@@ -132,8 +132,8 @@ export default {
...
@@ -132,8 +132,8 @@ export default {
children
:
'children'
,
children
:
'children'
,
label
:
'deptName'
label
:
'deptName'
},
},
menuCheck
s
trictly
:
false
,
menuCheck
S
trictly
:
false
,
deptCheck
s
trictly
:
false
deptCheck
S
trictly
:
false
}
}
},
},
created
()
{
created
()
{
...
@@ -207,12 +207,20 @@ export default {
...
@@ -207,12 +207,20 @@ export default {
this
.
form
=
response
.
data
this
.
form
=
response
.
data
let
menuCheckedKeys
=
response
.
data
.
menus
.
map
(
menu
=>
menu
.
id
)
let
menuCheckedKeys
=
response
.
data
.
menus
.
map
(
menu
=>
menu
.
id
)
let
deptCheckedKeys
=
response
.
data
.
depts
.
map
(
dept
=>
dept
.
id
)
let
deptCheckedKeys
=
response
.
data
.
depts
.
map
(
dept
=>
dept
.
id
)
this
.
menuCheckstrictly
=
true
if
(
menuCheckedKeys
&&
menuCheckedKeys
.
length
>
0
)
{
this
.
deptCheckstrictly
=
true
this
.
menuCheckStrictly
=
true
this
.
$nextTick
(()
=>
{
this
.
$refs
.
menu
.
setCheckedKeys
(
menuCheckedKeys
)
this
.
$refs
.
menu
.
setCheckedKeys
(
menuCheckedKeys
)
this
.
menuCheckStrictly
=
false
})
}
if
(
deptCheckedKeys
&&
deptCheckedKeys
.
length
>
0
)
{
this
.
deptCheckStrictly
=
true
this
.
$nextTick
(()
=>
{
this
.
$refs
.
dept
.
setCheckedKeys
(
deptCheckedKeys
)
this
.
$refs
.
dept
.
setCheckedKeys
(
deptCheckedKeys
)
this
.
menuCheckstrictly
=
false
this
.
deptCheckStrictly
=
false
this
.
deptCheckstrictly
=
false
})
}
}
}
})
})
},
},
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment