Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
N
national_museum_vod
Project
Project
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
qzhxx
national_museum_vod
Commits
5b4eb6a5
Commit
5b4eb6a5
authored
Apr 08, 2021
by
qzhxx
Browse files
Options
Browse Files
Download
Plain Diff
merge
parents
6782c18a
35b05ad6
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
30 changed files
with
1237 additions
and
1273 deletions
+1237
-1273
index.js
config/index.js
+1
-0
login.vue
src/components/end/login.vue
+5
-1
account.js
src/config/account.js
+8
-0
accountTable.vue
src/page/accounts/components/accountTable.vue
+10
-2
dbUnitAdmin.vue
src/page/accounts/dbUnitAdmin.vue
+1
-1
recheck.vue
src/page/accounts/recheck.vue
+1
-1
statistical.vue
src/page/accounts/statistical.vue
+4
-6
stbAdmin.vue
src/page/accounts/stbAdmin.vue
+9
-7
unitAdmin.vue
src/page/accounts/unitAdmin.vue
+1
-1
users.vue
src/page/accounts/users.vue
+6
-6
videoDialog.vue
src/page/content/components/dialog/videoDialog.vue
+24
-19
uploadAudio.vue
src/page/content/components/uploadVue/uploadAudio.vue
+2
-2
uploadDatum.vue
src/page/content/components/uploadVue/uploadDatum.vue
+4
-6
uploadFile.vue
src/page/content/components/uploadVue/uploadFile.vue
+4
-4
uploadImg.vue
src/page/content/components/uploadVue/uploadImg.vue
+34
-14
videoPlay.vue
src/page/content/components/videoPlay.vue
+29
-23
add.vue
src/page/content/learn/content/add.vue
+342
-253
index.vue
src/page/content/learn/content/index.vue
+144
-113
index.vue
src/page/content/learn/project/index.vue
+124
-355
demand.vue
src/page/statistics/components/demand.vue
+1
-1
interact.vue
src/page/statistics/components/interact.vue
+3
-3
interaction.vue
src/page/statistics/interaction.vue
+1
-1
tend.vue
src/page/statistics/tend.vue
+1
-1
devops.vue
src/page/system/log/devops.vue
+1
-1
platformlog.vue
src/page/system/log/platformlog.vue
+157
-154
settoplog.vue
src/page/system/log/settoplog.vue
+149
-140
userlog.vue
src/page/system/log/userlog.vue
+167
-154
organ.vue
src/page/system/organ.vue
+1
-1
index.js
src/router/index.js
+2
-2
global.less
src/style/global.less
+1
-1
No files found.
config/index.js
View file @
5b4eb6a5
...
...
@@ -13,6 +13,7 @@ module.exports = {
proxyTable
:
{
'/mall'
:
{
target
:
"http://192.168.110.67/mall"
,
// target: "http://192.168.204.66:8088/mall",
changeOrigin
:
true
,
pathRewrite
:
{
'^/mall'
:
'/'
// 重写接口
...
...
src/components/end/login.vue
View file @
5b4eb6a5
...
...
@@ -163,7 +163,7 @@ export default {
left: 50%;
margin-top: -50%;
margin-left: -50%;
width:100%;
width:
100%;
}
.page-title {
width: 100%;
...
...
@@ -191,6 +191,7 @@ export default {
.icon-pwd {
background: url("~@/assets/login/pwd.png") no-repeat center/ 100%;
}
/deep/.el-form {
width: 100%;
text-align: center;
...
...
@@ -213,6 +214,9 @@ export default {
padding-top: 12px;
}
}
.el-form-item__error {
left: calc(50% - 160px);
}
.el-button.login {
width: 320px;
height: 48px;
...
...
src/config/account.js
0 → 100644
View file @
5b4eb6a5
let
statusOption
=
[
{
label
:
"活跃"
,
value
:
'ENABLE'
},
{
label
:
"禁用"
,
value
:
'DISABLE'
},
{
label
:
"待审核"
,
value
:
'TBC'
},
]
export
{
statusOption
}
\ No newline at end of file
src/page/accounts/components/accountTable.vue
View file @
5b4eb6a5
...
...
@@ -22,12 +22,20 @@
<
template
slot-scope=
"scope"
>
<div
v-if=
"item.isEdit"
class=
"table-btn-group"
>
<el-tooltip
content=
"修改"
placement=
"top"
>
<el-button
circle
@
click=
"handleOperate(scope.row, 'edit')"
>
<el-button
circle
:disabled=
"scope.row.statusName !== '活跃'"
@
click=
"handleOperate(scope.row, 'edit')"
>
<i
class=
"icon-table icon-edit"
></i>
</el-button>
</el-tooltip>
<el-tooltip
content=
"重置密码"
placement=
"top"
>
<el-button
circle
@
click=
"handleOperate(scope.row, 'reset')"
>
<el-button
circle
:disabled=
"scope.row.statusName !== '活跃'"
@
click=
"handleOperate(scope.row, 'reset')"
>
<i
class=
"icon-table icon-reset"
></i>
</el-button>
</el-tooltip>
...
...
src/page/accounts/dbUnitAdmin.vue
View file @
5b4eb6a5
...
...
@@ -128,7 +128,7 @@ export default {
}
},
// 翻页
handleChangeCurrent
()
{
handleChangeCurrent
(
val
)
{
this
.
page
.
_index
=
val
;
this
.
getPageList
();
},
...
...
src/page/accounts/recheck.vue
View file @
5b4eb6a5
...
...
@@ -206,7 +206,7 @@ export default {
});
},
// 翻页
handleChangeCurrent
()
{
handleChangeCurrent
(
val
)
{
this
.
page
.
_index
=
val
;
this
.
getPageList
();
},
...
...
src/page/accounts/statistical.vue
View file @
5b4eb6a5
...
...
@@ -8,6 +8,7 @@
v-model=
"form.userName"
placeholder=
"请输入用户名"
suffix-icon=
"el-icon-search"
clearable
></el-input>
</el-form-item>
<el-form-item>
...
...
@@ -59,6 +60,7 @@ import { partyPagination } from "@/components/index";
import
accountTable
from
"./components/accountTable"
;
import
{
addDialog
,
editDialog
}
from
"./statisticalDialog/index"
;
import
msgDialog
from
"./msgDialog.vue"
;
import
{
statusOption
}
from
"@/config/account"
;
export
default
{
data
()
{
return
{
...
...
@@ -67,11 +69,7 @@ export default {
status
:
""
,
type
:
5
,
//1.用户账号 2.平台单位单位管理员账号 3.机顶盒账号 4.运维账号 5. 统计账号
},
statusOption
:
[
{
label
:
"活跃"
,
value
:
1
},
{
label
:
"禁用"
,
value
:
2
},
{
label
:
"待审核"
,
value
:
3
},
],
statusOption
:
statusOption
,
feildList
:
[
{
prop
:
"userName"
,
label
:
"统计用户名"
},
{
prop
:
"orgName"
,
label
:
"所属单位"
},
...
...
@@ -270,7 +268,7 @@ export default {
}
},
// 翻页
handleChangeCurrent
()
{
handleChangeCurrent
(
val
)
{
this
.
page
.
_index
=
val
;
this
.
getPageList
();
},
...
...
src/page/accounts/stbAdmin.vue
View file @
5b4eb6a5
...
...
@@ -5,13 +5,18 @@
<el-form
:inline=
"true"
:model=
"form"
>
<el-form-item>
<el-input
clearable
v-model=
"form.userName"
placeholder=
"请输入运维人员姓名"
suffix-icon=
"el-icon-search"
></el-input>
</el-form-item>
<el-form-item>
<el-select
v-model=
"form.status"
placeholder=
"请选择账号状态"
>
<el-select
v-model=
"form.status"
placeholder=
"请选择账号状态"
clearable
>
<el-option
v-for=
"(item, index) in statusOption"
:key=
"index"
...
...
@@ -56,6 +61,7 @@ import { partyPagination } from "@/components/index";
import
accountTable
from
"./components/accountTable"
;
import
{
addDialog
,
editDialog
}
from
"./stbDialog/index"
;
import
msgDialog
from
"./msgDialog.vue"
;
import
{
statusOption
}
from
"@/config/account"
;
export
default
{
data
()
{
return
{
...
...
@@ -64,11 +70,7 @@ export default {
status
:
""
,
type
:
4
,
//1.用户账号 2.平台单位单位管理员账号 3.机顶盒账号 4.运维账号
},
statusOption
:
[
{
label
:
"活跃"
,
value
:
1
},
{
label
:
"禁用"
,
value
:
2
},
{
label
:
"待审核"
,
value
:
3
},
],
statusOption
:
statusOption
,
feildList
:
[
{
prop
:
"userName"
,
label
:
"运维人员姓名"
},
{
prop
:
"orgName"
,
label
:
"运维区域"
},
...
...
@@ -258,7 +260,7 @@ export default {
}
},
// 翻页
handleChangeCurrent
()
{
handleChangeCurrent
(
val
)
{
this
.
page
.
_index
=
val
;
this
.
getPageList
();
},
...
...
src/page/accounts/unitAdmin.vue
View file @
5b4eb6a5
...
...
@@ -315,7 +315,7 @@ export default {
}
},
// 翻页
handleChangeCurrent
()
{
handleChangeCurrent
(
val
)
{
this
.
page
.
_index
=
val
;
this
.
getPageList
();
},
...
...
src/page/accounts/users.vue
View file @
5b4eb6a5
...
...
@@ -131,8 +131,8 @@ export default {
},
// 编辑
handleEdit
()
{
this
.
$refs
.
editDialog
.
id
=
this
.
activeRow
.
id
this
.
$refs
.
editDialog
.
getDetailById
()
this
.
$refs
.
editDialog
.
id
=
this
.
activeRow
.
id
;
this
.
$refs
.
editDialog
.
getDetailById
();
this
.
$refs
.
editDialog
.
dialogVisible
=
true
;
},
// 重置密码
...
...
@@ -238,7 +238,7 @@ export default {
}
},
// 翻页
handleChangeCurrent
()
{
handleChangeCurrent
(
val
)
{
this
.
page
.
_index
=
val
;
this
.
getPageList
();
},
...
...
src/page/content/components/dialog/videoDialog.vue
View file @
5b4eb6a5
...
...
@@ -3,10 +3,9 @@
<el-dialog
custom-class=
"party-dialog"
title=
"视频详情"
width=
"
80%
"
width=
"
900px
"
:visible
.
sync=
"dialogVisible"
:before-close=
"close"
>
<div>
<!--
...
...
@@ -15,9 +14,16 @@
</video>
<button
@
click=
"playClick"
:class=
"
{hide: isPlay}">点击播放
</button>
-->
<!--class="video-js vjs-default-skin vjs-big-play-centered" -->
<video
:preload=
"preload"
:poster=
"videoImg"
:height=
"height"
:width=
"width"
align=
"center"
:controls=
"controls"
:autoplay=
"autoplay"
>
<source
:src=
"videoSrc"
type=
"video/mp4"
>
<video
:preload=
"preload"
:poster=
"videoImg"
:height=
"height"
:width=
"width"
align=
"center"
:controls=
"controls"
:autoplay=
"autoplay"
>
<source
:src=
"videoSrc"
type=
"video/mp4"
/>
</video>
</div>
<!--
<div
slot=
"footer"
class=
"dialog-footer btn-group"
>
...
...
@@ -30,29 +36,28 @@
export
default
{
data
()
{
return
{
dialogVisible
:
false
,
videoSrc
:
'https://video.pearvideo.com/mp4/short/20200209/cont-1650197-14888002-hd.mp4'
,
videoImg
:
'https://sm.ms/image/ueRFCZfk2xTONGb'
,
playStatus
:
''
,
muteStatus
:
''
,
dialogVisible
:
false
,
// videoSrc: 'https://video.pearvideo.com/mp4/short/20200209/cont-1650197-14888002-hd.mp4',
// videoImg: 'https://sm.ms/image/ueRFCZfk2xTONGb',
videoSrc
:
""
,
videoImg
:
""
,
playStatus
:
""
,
muteStatus
:
""
,
isMute
:
true
,
isPlay
:
false
,
width
:
'820'
,
// 设置视频播放器的显示宽度(以像素为单位)
height
:
'500'
,
// 设置视频播放器的显示高度(以像素为单位)
preload
:
'auto'
,
// 建议浏览器是否应在
<
video
>
加载元素后立即开始下载视频数据。
width
:
"820"
,
// 设置视频播放器的显示宽度(以像素为单位)
height
:
"500"
,
// 设置视频播放器的显示高度(以像素为单位)
preload
:
"auto"
,
// 建议浏览器是否应在
<
video
>
加载元素后立即开始下载视频数据。
controls
:
true
,
// 确定播放器是否具有用户可以与之交互的控件。没有控件,启动视频播放的唯一方法是使用autoplay属性或通过Player API。
autoplay
:
''
}
autoplay
:
""
,
}
;
},
methods
:
{
// 新增关闭
close
()
{
this
.
dialogVisible
=
false
;
},
}
},
};
</
script
>
...
...
src/page/content/components/uploadVue/uploadAudio.vue
View file @
5b4eb6a5
...
...
@@ -76,9 +76,9 @@ export default {
this
.
filedata
.
append
(
'file'
,
file
.
file
)
},
beforeAvatarUpload
(
file
)
{
const
isLt5M
=
file
.
size
/
1024
/
1024
<
5
;
const
isLt5M
=
file
.
size
/
1024
<
1
;
if
(
!
isLt5M
)
{
this
.
$message
.
error
(
"上传文件大小不能超过
5M
B!"
);
this
.
$message
.
error
(
"上传文件大小不能超过
1G
B!"
);
}
return
isLt5M
;
}
...
...
src/page/content/components/uploadVue/uploadDatum.vue
View file @
5b4eb6a5
...
...
@@ -69,18 +69,16 @@ export default {
console
.
log
(
err
);
_this
.
$message
.
error
(
err
.
msg
||
err
.
message
);
});
},
uploadFile
(
file
)
{
this
.
filedata
.
append
(
'file'
,
file
.
file
)
},
beforeAvatarUpload
(
file
)
{
const
isLt
5M
=
file
.
size
/
1024
/
1024
<
5
;
if
(
!
isLt
5M
)
{
this
.
$message
.
error
(
"上传文件大小不能超过
5M
B!"
);
const
isLt
10G
=
file
.
size
/
1024
<
10
;
if
(
!
isLt
10G
)
{
this
.
$message
.
error
(
"上传文件大小不能超过
10G
B!"
);
}
return
isLt
5M
;
return
isLt
10G
;
}
}
};
...
...
src/page/content/components/uploadVue/uploadFile.vue
View file @
5b4eb6a5
...
...
@@ -76,11 +76,11 @@ export default {
this
.
filedata
.
append
(
'file'
,
file
.
file
)
},
beforeAvatarUpload
(
file
)
{
const
isLt
5M
=
file
.
size
/
1024
/
1024
<
5
;
if
(
!
isLt
5M
)
{
this
.
$message
.
error
(
"上传文件大小不能超过
5M
B!"
);
const
isLt
10G
=
file
.
size
/
1024
<
10
;
if
(
!
isLt
10G
)
{
this
.
$message
.
error
(
"上传文件大小不能超过
10G
B!"
);
}
return
isLt
5M
;
return
isLt
10G
;
},
handleRequest
(
file
)
{
// let formData = new FormData();
...
...
src/page/content/components/uploadVue/uploadImg.vue
View file @
5b4eb6a5
...
...
@@ -7,6 +7,8 @@
:on-remove=
"handleRemove"
:on-success=
"handleAvatarSuccess"
:headers=
"headers"
:file-list=
"fileList"
accept=
""
>
<i
class=
"el-icon-plus"
></i>
</el-upload>
...
...
@@ -21,35 +23,53 @@ export default {
data
()
{
return
{
dialogImageUrl
:
""
,
dialogVisible
:
false
dialogVisible
:
false
,
fileList
:
[
{
name
:
""
,
url
:
""
,
},
],
};
},
computed
:
{
headers
()
{
// return { 'authType': this.backToken }
return
{
'Authorization'
:
localStorage
.
getItem
(
'backToken'
)}
}
return
{
Authorization
:
localStorage
.
getItem
(
"backToken"
)
||
""
,
};
},
},
methods
:
{
// 图片上传成功的返回值
handleAvatarSuccess
(
res
,
file
)
{
console
.
log
(
res
)
console
.
log
(
res
.
data
.
url
)
this
.
$emit
(
'imgUrl'
,
res
.
data
.
url
)
// console.log(data.fileList[0].url)
// this.imageUrl = URL.createObjectURL(file.raw);
if
(
res
.
resultCode
==
200
)
{
this
.
$emit
(
"imgUrl"
,
res
.
data
.
url
);
this
.
imageUrl
=
res
.
data
.
url
;
}
else
{
this
.
$message
.
error
(
res
.
message
);
}
},
handleRemove
(
file
,
fileList
)
{
console
.
log
(
file
,
fileList
);
this
.
$emit
(
"imgUrl"
,
""
);
},
handlePictureCardPreview
(
file
)
{
this
.
dialogImageUrl
=
file
.
url
;
this
.
dialogVisible
=
true
;
}
}
},
showImg
(
cover
)
{
let
file
=
{
name
:
""
,
url
:
cover
,
};
this
.
fileList
=
[
file
]
},
},
};
</
script
>
<
style
>
.avatar
{
width
:
100%
;
height
:
100%
;
}
</
style
>
src/page/content/components/videoPlay.vue
View file @
5b4eb6a5
...
...
@@ -6,38 +6,44 @@
</video>
<button
@
click=
"playClick"
:class=
"
{hide: isPlay}">点击播放
</button>
-->
<!--class="video-js vjs-default-skin vjs-big-play-centered" -->
<video
:preload=
"preload"
:poster=
"videoImg"
:height=
"height"
:width=
"width"
align=
"center"
:controls=
"controls"
:autoplay=
"autoplay"
>
<source
:src=
"videoSrc"
type=
"video/mp4"
>
<video
:preload=
"preload"
:poster=
"videoImg"
:height=
"height"
:width=
"width"
align=
"center"
:controls=
"controls"
:autoplay=
"autoplay"
>
<source
:src=
"videoSrc"
type=
"video/mp4"
/>
</video>
</div>
</
template
>
<
script
>
export
default
{
name
:
'Video'
,
data
()
{
name
:
"Video"
,
data
()
{
return
{
videoSrc
:
'https://video.pearvideo.com/mp4/short/20200209/cont-1650197-14888002-hd.mp4'
,
videoImg
:
'https://sm.ms/image/ueRFCZfk2xTONGb'
,
playStatus
:
''
,
muteStatus
:
''
,
videoSrc
:
"https://video.pearvideo.com/mp4/short/20200209/cont-1650197-14888002-hd.mp4"
,
videoImg
:
"https://sm.ms/image/ueRFCZfk2xTONGb"
,
playStatus
:
""
,
muteStatus
:
""
,
isMute
:
true
,
isPlay
:
false
,
width
:
'820'
,
// 设置视频播放器的显示宽度(以像素为单位)
height
:
'500'
,
// 设置视频播放器的显示高度(以像素为单位)
preload
:
'auto'
,
// 建议浏览器是否应在
<
video
>
加载元素后立即开始下载视频数据。
width
:
"820"
,
// 设置视频播放器的显示宽度(以像素为单位)
height
:
"500"
,
// 设置视频播放器的显示高度(以像素为单位)
preload
:
"auto"
,
// 建议浏览器是否应在
<
video
>
加载元素后立即开始下载视频数据。
controls
:
true
,
// 确定播放器是否具有用户可以与之交互的控件。没有控件,启动视频播放的唯一方法是使用autoplay属性或通过Player API。
autoplay
:
''
}
}
autoplay
:
""
,
}
;
}
,
// 自动播放属性,muted:静音播放
// autoplay: 'muted',
}
};
</
script
>
<
style
scoped
>
</
style
>
src/page/content/learn/content/add.vue
View file @
5b4eb6a5
This diff is collapsed.
Click to expand it.
src/page/content/learn/content/index.vue
View file @
5b4eb6a5
This diff is collapsed.
Click to expand it.
src/page/content/learn/project/index.vue
View file @
5b4eb6a5
This diff is collapsed.
Click to expand it.
src/page/statistics/components/demand.vue
View file @
5b4eb6a5
...
...
@@ -33,7 +33,7 @@ export default {
methods
:
{
getList
()
{
let
curTime
=
getCurDate
();
let
frequencyDate
=
curTime
.
year
+
curTime
.
month
;
let
frequencyDate
=
curTime
.
year
+
curTime
.
month
+
curTime
.
date
;
this
.
$https
({
method
:
"post"
,
url
:
"tBoardStatistic/getInteractionFrequencyPageList?frequencyDate="
+
frequencyDate
,
...
...
src/page/statistics/components/interact.vue
View file @
5b4eb6a5
...
...
@@ -24,13 +24,13 @@ export default {
},
components
:
{},
mounted
()
{
this
.
getList
()
this
.
getList
()
;
},
methods
:
{
getList
()
{
let
curTime
=
getCurDate
();
let
playDate
=
curTime
.
year
+
curTime
.
month
;
let
_this
=
this
let
playDate
=
curTime
.
year
+
curTime
.
month
+
curTime
.
date
;
let
_this
=
this
;
this
.
$https
({
method
:
"post"
,
url
:
"tBoardStatistic/getBoardTrendPageList?playDate="
+
playDate
,
...
...
src/page/statistics/interaction.vue
View file @
5b4eb6a5
...
...
@@ -49,7 +49,7 @@ export default {
_this
.
$https
({
method
:
"post"
,
url
:
"tBoardStatistic/getInteraction
Frequency
PageList?frequencyDate="
+
"tBoardStatistic/getInteractionPageList?frequencyDate="
+
frequencyDate
,
authType
:
this
.
backToken
,
})
...
...
src/page/statistics/tend.vue
View file @
5b4eb6a5
...
...
@@ -77,7 +77,7 @@ export default {
.
$https
({
method
:
"post"
,
url
:
"tBoardStatistic/get
InteractionFrequency
PageList?frequencyDate="
+
"tBoardStatistic/get
Board
PageList?frequencyDate="
+
frequencyDate
,
authType
:
this
.
backToken
,
})
...
...
src/page/system/log/devops.vue
View file @
5b4eb6a5
...
...
@@ -60,7 +60,7 @@ export default {
feildList
:[
{
prop
:
'userName'
,
label
:
'运维账号'
},
{
prop
:
'area'
,
label
:
'运维区域'
},
{
prop
:
'operation
Ip'
,
label
:
'操作Ip
'
},
{
prop
:
'operation
Type'
,
label
:
'操作类型
'
},
{
prop
:
'createTime'
,
label
:
'操作时间'
}
],
list
:
[],
...
...
src/page/system/log/platformlog.vue
View file @
5b4eb6a5
<
template
>
<!-- 平台操作日志 -->
<!-- 平台操作日志 -->
<div
class=
"platform-log-wrapper height100"
>
<div
class=
"search-container"
>
<el-form
:inline=
"true"
:model=
"form"
>
...
...
@@ -14,20 +14,21 @@
<el-date-picker
v-model=
"form.date"
type=
"daterange"
value-format=
"yyyy-MM-dd"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
>
end-placeholder=
"结束日期"
>
</el-date-picker>
</el-form-item>
<el-form-item>
<el-select
v-model=
"form.operationType"
placeholder=
"请选择操作类型"
>
<el-select
v-model=
"form.operationType"
placeholder=
"请选择操作类型"
>
<el-option
v-for=
"(item,
index) in operationTypeList"
v-for=
"(item,
index) in operationTypeList"
:key=
"index"
:label=
"item"
:value=
"item"
>
:value=
"item"
>
</el-option>
</el-select>
</el-form-item>
...
...
@@ -40,7 +41,9 @@
</el-form>
<div
class=
"page-tip"
>
<span
class=
"page-tip-title"
>
页面说明:
</span>
<span
class=
"page-tips"
>
可查看所有账号在系统上的操作信息,可根据操作类型、操作时间段查询等方式对日志信息进行筛选
</span>
<span
class=
"page-tips"
>
可查看所有账号在系统上的操作信息,可根据操作类型、操作时间段查询等方式对日志信息进行筛选
</span
>
</div>
</div>
<div
class=
"table-content hasTabs"
>
...
...
@@ -48,122 +51,122 @@
class=
"noAdd"
:currentPage=
"page._index"
:feildList=
"feildList"
:list=
"list"
>
:list=
"list"
>
</party-table>
<party-pagination
:page=
"page"
@
changePage=
"handleChangeCurrent"
/>
<party-pagination
:page=
"page"
@
changePage=
"handleChangeCurrent"
/>
</div>
</div>
</
template
>
<
script
>
import
{
partyPagination
,
partyTable
}
from
'@/components/index'
import
{
getLogType
}
from
'@/config/logOperationType.js'
import
{
partyPagination
,
partyTable
}
from
"@/components/index"
;
import
{
getLogType
}
from
"@/config/logOperationType.js"
;
export
default
{
data
()
{
return
{
form
:
{
nameOrCode
:
''
,
date
:
''
,
operationType
:
''
,
startDate
:
''
,
endDate
:
''
data
()
{
return
{
form
:
{
nameOrCode
:
""
,
date
:
""
,
operationType
:
""
,
startDate
:
""
,
endDate
:
""
,
},
logType
:
1
,
//1.平台操作日志 2.用户操作日志
operationTypeList
:
[],
feildList
:
[
{
prop
:
'operationTime'
,
label
:
'操作时间'
},
{
prop
:
'operator'
,
label
:
'操作者'
},
{
prop
:
'operationType'
,
label
:
'操作类型'
},
{
prop
:
'operationObject'
,
label
:
'操作对象'
},
{
prop
:
'operationIp'
,
label
:
'操作Ip'
},
logType
:
1
,
//1.平台操作日志 2.用户操作日志
operationTypeList
:
[],
feildList
:
[
{
prop
:
"operationTime"
,
label
:
"操作时间"
},
{
prop
:
"operator"
,
label
:
"操作者"
},
{
prop
:
"operationType"
,
label
:
"操作类型"
},
{
prop
:
"operationObject"
,
label
:
"操作对象"
},
{
prop
:
"operationIp"
,
label
:
"操作Ip"
},
],
list
:
[],
page
:
{
_index
:
1
,
_size
:
10
,
total
:
0
}
}
page
:
{
_index
:
1
,
_size
:
10
,
total
:
0
,
},
};
},
components
:{
partyTable
,
partyPagination
},
mounted
(){
components
:
{
partyTable
,
partyPagination
},
mounted
()
{
// 获取日志操作类型
this
.
getOperationType
()
this
.
getOperationType
();
// 获取机顶盒运维类表
this
.
getLog
()
this
.
getLog
();
},
methods
:
{
getOperationType
()
{
getLogType
().
then
(
res
=>
{
this
.
operationTypeList
=
res
})
methods
:
{
getOperationType
()
{
getLogType
().
then
((
res
)
=>
{
this
.
operationTypeList
=
res
;
});
},
handleSubmit
()
{
this
.
getLog
()
handleSubmit
()
{
this
.
getLog
();
},
handleReset
()
{
for
(
let
key
in
this
.
form
)
{
this
.
form
[
key
]
=
""
handleReset
()
{
for
(
let
key
in
this
.
form
)
{
this
.
form
[
key
]
=
""
;
}
this
.
getLog
()
this
.
getLog
();
},
getLog
()
{
let
requestParams
=
{}
requestParams
.
_index
=
this
.
page
.
_index
requestParams
.
_size
=
this
.
page
.
_size
requestParams
.
type
=
this
.
logType
if
(
this
.
form
.
nameOrCode
)
{
requestParams
.
nameOrCode
=
this
.
form
.
nameOrCode
getLog
()
{
let
requestParams
=
{};
requestParams
.
_index
=
this
.
page
.
_index
;
requestParams
.
_size
=
this
.
page
.
_size
;
requestParams
.
type
=
this
.
logType
;
if
(
this
.
form
.
nameOrCode
)
{
requestParams
.
nameOrCode
=
this
.
form
.
nameOrCode
;
}
if
(
this
.
form
.
operationType
)
{
requestParams
.
operationType
=
this
.
form
.
operationType
if
(
this
.
form
.
operationType
)
{
requestParams
.
operationType
=
this
.
form
.
operationType
;
}
if
(
this
.
form
.
date
)
{
requestParams
.
startDate
=
this
.
form
.
date
[
0
]
requestParams
.
endDate
=
this
.
form
.
date
[
1
]
if
(
this
.
form
.
date
)
{
requestParams
.
startDate
=
this
.
form
.
date
[
0
];
requestParams
.
endDate
=
this
.
form
.
date
[
1
];
}
this
.
$https
({
method
:
'get'
,
url
:
'sysLog/querySysLogList'
,
this
.
$https
(
{
method
:
"get"
,
url
:
"sysLog/querySysLogList"
,
authType
:
this
.
backToken
,
},
requestParams
).
then
(
res
=>
{
if
(
res
.
status
!=
200
){
this
.
getResWithOutData
()
}
else
{
if
(
res
.
data
.
resultCode
==
200
){
this
.
list
=
res
.
data
.
data
.
records
this
.
page
.
_size
=
res
.
data
.
data
.
size
this
.
page
.
total
=
res
.
data
.
data
.
total
}
else
{
this
.
getResWithOutData
()
},
requestParams
)
.
then
((
res
)
=>
{
if
(
res
.
status
!=
200
)
{
this
.
getResWithOutData
();
}
else
{
if
(
res
.
data
.
resultCode
==
200
)
{
this
.
list
=
res
.
data
.
data
.
records
;
this
.
page
.
_size
=
res
.
data
.
data
.
size
;
this
.
page
.
total
=
res
.
data
.
data
.
total
;
}
else
{
this
.
getResWithOutData
();
}
}
}).
catch
(
err
=>
{
console
.
log
(
err
)
})
.
catch
((
err
)
=>
{
console
.
log
(
err
);
});
},
// 页面返回值为空
getResWithOutData
()
{
this
.
list
=
[]
getResWithOutData
()
{
this
.
list
=
[];
this
.
page
=
{
_index
:
1
,
_size
:
10
,
total
:
0
}
_index
:
1
,
_size
:
10
,
total
:
0
,
};
},
// 翻页
handleChangeCurrent
(
val
){
this
.
page
.
_index
=
val
this
.
getLog
()
}
handleChangeCurrent
(
val
)
{
this
.
page
.
_index
=
val
;
this
.
getLog
();
},
watch
:{
}
}
},
watch
:
{},
};
</
script
>
<
style
lang=
"less"
scoped
>
</
style
>
\ No newline at end of file
src/page/system/log/settoplog.vue
View file @
5b4eb6a5
...
...
@@ -4,13 +4,14 @@
<div
class=
"search-container"
>
<el-form
:inline=
"true"
:model=
"form"
>
<el-form-item>
<el-select
v-model=
"form.user"
placeholder=
"请选择
"
>
<el-select
v-model=
"form.user"
placeholder=
"请选择所属单位
"
>
<el-option
v-model=
"form.organId"
v-for=
"item in organList"
:key=
"item.id"
:label=
"item.orgName"
:value=
"item.id"
>
:label=
"item.name"
:value=
"item.id"
>
</el-option>
</el-select>
</el-form-item>
...
...
@@ -19,8 +20,10 @@
v-model=
"form.date"
type=
"daterange"
range-separator=
"至"
value-format=
"yyyy-MM-dd"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
>
end-placeholder=
"结束日期"
>
</el-date-picker>
</el-form-item>
...
...
@@ -33,7 +36,9 @@
</el-form>
<div
class=
"page-tip"
>
<span
class=
"page-tip-title"
>
页面说明:
</span>
<span
class=
"page-tips"
>
可查看所有账号在系统上的操作信息,可根据操作类型、操作时间段查询等方式对日志信息进行筛选
</span>
<span
class=
"page-tips"
>
可查看所有账号在系统上的操作信息,可根据操作类型、操作时间段查询等方式对日志信息进行筛选
</span
>
</div>
</div>
<div
class=
"table-content hasTabs"
>
...
...
@@ -41,116 +46,120 @@
class=
"noAdd"
:currentPage=
"page._index"
:feildList=
"feildList"
:list=
"list"
>
:list=
"list"
>
</party-table>
<party-pagination
:page=
"page"
@
changePage=
"handleChangeCurrent"
/>
<party-pagination
:page=
"page"
@
changePage=
"handleChangeCurrent"
/>
</div>
</div>
</
template
>
<
script
>
import
{
partyPagination
,
partyTable
}
from
'@/components/index'
import
{
getOrgListWithOutPage
}
from
"@/config/organ.js"
import
{
partyPagination
,
partyTable
}
from
"@/components/index"
;
import
{
getOrgListWithOutPage
}
from
"@/config/organ.js"
;
export
default
{
data
()
{
return
{
form
:
{
organId
:
''
,
date
:
''
,
startDate
:
''
,
endDate
:
''
data
()
{
return
{
form
:
{
organId
:
""
,
date
:
""
,
startDate
:
""
,
endDate
:
""
,
},
organList
:
[],
feildList
:
[
{
prop
:
'macAddr'
,
label
:
'机顶盒Mac地址'
},
{
prop
:
'orgName'
,
label
:
'所属单位'
},
{
prop
:
'learnName'
,
label
:
'学习内容'
},
{
prop
:
'startTime'
,
label
:
'开始时间'
},
{
prop
:
'endTime'
,
label
:
'结束时间'
}
organList
:
[],
feildList
:
[
{
prop
:
"macAddr"
,
label
:
"机顶盒Mac地址"
},
{
prop
:
"orgName"
,
label
:
"所属单位"
},
{
prop
:
"learnName"
,
label
:
"学习内容"
},
{
prop
:
"startTime"
,
label
:
"开始时间"
},
{
prop
:
"endTime"
,
label
:
"结束时间"
},
],
list
:
[],
page
:
{
_index
:
1
,
_size
:
10
,
total
:
0
}
}
page
:
{
_index
:
1
,
_size
:
10
,
total
:
0
,
},
};
},
components
:{
partyTable
,
partyPagination
},
mounted
(){
components
:
{
partyTable
,
partyPagination
},
mounted
()
{
// 获取所属范围列表
this
.
getOrgList
()
this
.
getOrgList
();
// 获取机顶盒运维类表
this
.
getLog
()
this
.
getFirstPageList
();
},
methods
:{
getOrgList
(){
getOrgListWithOutPage
().
then
(
res
=>
{
this
.
organList
=
res
})
methods
:
{
getOrgList
()
{
getOrgListWithOutPage
().
then
((
res
)
=>
{
this
.
organList
=
res
;
});
},
getFirstPageList
()
{
this
.
page
.
_index
=
1
;
this
.
getPageList
();
},
handleSubmit
()
{
this
.
getLog
()
handleSubmit
()
{
this
.
getPageList
();
},
handleReset
()
{
for
(
let
key
in
this
.
form
)
{
this
.
form
[
key
]
=
""
handleReset
()
{
for
(
let
key
in
this
.
form
)
{
this
.
form
[
key
]
=
""
;
}
this
.
getLog
()
this
.
getFirstPageList
();
},
getLog
()
{
let
requestParams
=
{}
requestParams
.
_index
=
this
.
page
.
_index
requestParams
.
_size
=
this
.
page
.
_size
if
(
this
.
form
.
organId
)
{
requestParams
.
organId
=
this
.
form
.
organId
getPageList
()
{
let
requestParams
=
{};
requestParams
.
_index
=
this
.
page
.
_index
;
requestParams
.
_size
=
this
.
page
.
_size
;
if
(
this
.
form
.
organId
)
{
requestParams
.
organId
=
this
.
form
.
organId
;
}
if
(
this
.
form
.
date
)
{
requestParams
.
startDate
=
this
.
form
.
date
[
0
]
requestParams
.
endDate
=
this
.
form
.
date
[
1
]
if
(
this
.
form
.
date
)
{
requestParams
.
startDate
=
this
.
form
.
date
[
0
];
requestParams
.
endDate
=
this
.
form
.
date
[
1
];
}
this
.
$https
({
method
:
'get'
,
url
:
'sysLog/runLogList'
,
this
.
$https
(
{
method
:
"get"
,
url
:
"sysLog/runLogList"
,
authType
:
this
.
backToken
,
},
requestParams
).
then
(
res
=>
{
if
(
res
.
status
!=
200
){
this
.
getResWithOutData
()
}
else
{
if
(
res
.
data
.
resultCode
==
200
){
this
.
list
=
res
.
data
.
data
.
records
this
.
page
.
_size
=
res
.
data
.
data
.
size
this
.
page
.
total
=
res
.
data
.
data
.
total
}
else
{
this
.
getResWithOutData
()
},
requestParams
)
.
then
((
res
)
=>
{
if
(
res
.
status
!=
200
)
{
this
.
getResWithOutData
();
}
else
{
if
(
res
.
data
.
resultCode
==
200
)
{
this
.
list
=
res
.
data
.
data
.
records
;
this
.
page
.
_size
=
res
.
data
.
data
.
size
;
this
.
page
.
total
=
res
.
data
.
data
.
total
;
}
else
{
this
.
getResWithOutData
();
}
}
}).
catch
(
err
=>
{
console
.
log
(
err
)
})
.
catch
((
err
)
=>
{
console
.
log
(
err
);
});
},
// 页面返回值为空
getResWithOutData
()
{
this
.
list
=
[]
getResWithOutData
()
{
this
.
list
=
[];
this
.
page
=
{
_index
:
1
,
_size
:
10
,
total
:
0
}
_index
:
1
,
_size
:
10
,
total
:
0
,
};
},
// 翻页
handleChangeCurrent
(
val
){
this
.
page
.
_index
=
val
this
.
getLog
()
}
handleChangeCurrent
(
val
)
{
this
.
page
.
_index
=
val
;
this
.
getPageList
();
},
watch
:{
}
}
},
watch
:
{},
};
</
script
>
<
style
lang=
"less"
scoped
>
</
style
>
\ No newline at end of file
src/page/system/log/userlog.vue
View file @
5b4eb6a5
<
template
>
<!-- 用户操作日志 -->
<!-- 用户操作日志 -->
<div
class=
"platform-log-wrapper height100"
>
<div
class=
"search-container"
>
<el-form
:inline=
"true"
:model=
"form"
>
...
...
@@ -8,26 +8,33 @@
v-model=
"form.nameOrCode"
placeholder=
"请输入操作者"
suffix-icon=
"el-icon-search"
clearable
></el-input>
</el-form-item>
<el-form-item>
<el-date-picker
v-model=
"form.date"
type=
"daterange"
value-format=
"yyyy-MM-dd"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
>
end-placeholder=
"结束日期"
clearable
>
</el-date-picker>
</el-form-item>
<el-form-item>
<el-select
clearable
v-model=
"form.operationType"
placeholder=
"请选择操作类型"
>
placeholder=
"请选择操作类型"
>
<el-option
v-for=
"(item,
index) in operationTypeList"
v-for=
"(item,
index) in operationTypeList"
:key=
"index"
:label=
"item"
:value=
"item"
>
:value=
"item"
>
</el-option>
</el-select>
</el-form-item>
...
...
@@ -40,7 +47,9 @@
</el-form>
<div
class=
"page-tip"
>
<span
class=
"page-tip-title"
>
页面说明:
</span>
<span
class=
"page-tips"
>
可查看所有账号在系统上的操作信息,可根据操作类型、操作时间段查询等方式对日志信息进行筛选
</span>
<span
class=
"page-tips"
>
可查看所有账号在系统上的操作信息,可根据操作类型、操作时间段查询等方式对日志信息进行筛选
</span
>
</div>
</div>
<div
class=
"table-content hasTabs"
>
...
...
@@ -48,122 +57,126 @@
class=
"noAdd"
:currentPage=
"page._index"
:feildList=
"feildList"
:list=
"list"
>
:list=
"list"
>
</party-table>
<party-pagination
:page=
"page"
@
changePage=
"handleChangeCurrent"
/>
<party-pagination
:page=
"page"
@
changePage=
"handleChangeCurrent"
/>
</div>
</div>
</
template
>
<
script
>
import
{
partyPagination
,
partyTable
}
from
'@/components/index'
import
{
getLogType
}
from
'@/config/logOperationType.js'
import
{
partyPagination
,
partyTable
}
from
"@/components/index"
;
import
{
getLogType
}
from
"@/config/logOperationType.js"
;
export
default
{
data
()
{
return
{
form
:
{
nameOrCode
:
''
,
date
:
''
,
operationType
:
''
,
startDate
:
''
,
endDate
:
''
data
()
{
return
{
form
:
{
nameOrCode
:
""
,
date
:
""
,
operationType
:
""
,
startDate
:
""
,
endDate
:
""
,
},
logType
:
2
,
//1.平台操作日志 2.用户操作日志
operationTypeList
:
[],
feildList
:
[
{
prop
:
'operationTime'
,
label
:
'操作时间'
},
{
prop
:
'operator'
,
label
:
'操作者'
},
{
prop
:
'operationType'
,
label
:
'操作类型'
},
{
prop
:
'operationObject'
,
label
:
'操作对象'
},
{
prop
:
'operationIp'
,
label
:
'操作Ip'
},
logType
:
2
,
//1.平台操作日志 2.用户操作日志
operationTypeList
:
[],
feildList
:
[
{
prop
:
"operationTime"
,
label
:
"操作时间"
},
{
prop
:
"operator"
,
label
:
"操作者"
},
{
prop
:
"operationType"
,
label
:
"操作类型"
},
{
prop
:
"operationObject"
,
label
:
"操作对象"
},
{
prop
:
"operationIp"
,
label
:
"操作Ip"
},
],
list
:
[],
page
:
{
_index
:
1
,
_size
:
10
,
total
:
0
}
}
page
:
{
_index
:
1
,
_size
:
10
,
total
:
0
,
},
};
},
components
:{
partyTable
,
partyPagination
},
mounted
(){
components
:
{
partyTable
,
partyPagination
},
mounted
()
{
// 获取日志操作类型
this
.
getOperationType
()
this
.
getOperationType
();
// 获取机顶盒运维类表
this
.
getLog
()
this
.
getFirstPageList
();
},
methods
:{
getOperationType
(){
getLogType
().
then
(
res
=>
{
this
.
operationTypeList
=
res
})
methods
:
{
getFirstPageList
()
{
this
.
page
.
_index
=
1
;
this
.
getPageList
();
},
getOperationType
()
{
getLogType
().
then
((
res
)
=>
{
this
.
operationTypeList
=
res
;
});
},
handleSubmit
()
{
this
.
getLog
()
handleSubmit
()
{
this
.
getPageList
();
},
handleReset
()
{
for
(
let
key
in
this
.
form
)
{
this
.
form
[
key
]
=
""
handleReset
()
{
for
(
let
key
in
this
.
form
)
{
this
.
form
[
key
]
=
""
;
}
this
.
getLog
()
this
.
getFirstPageList
();
},
getLog
()
{
let
requestParams
=
{}
requestParams
.
_index
=
this
.
page
.
_index
requestParams
.
_size
=
this
.
page
.
_size
requestParams
.
type
=
this
.
logType
if
(
this
.
form
.
nameOrCode
)
{
requestParams
.
nameOrCode
=
this
.
form
.
nameOrCode
getPageList
()
{
let
requestParams
=
{};
requestParams
.
_index
=
this
.
page
.
_index
;
requestParams
.
_size
=
this
.
page
.
_size
;
requestParams
.
type
=
this
.
logType
;
if
(
this
.
form
.
nameOrCode
)
{
requestParams
.
nameOrCode
=
this
.
form
.
nameOrCode
;
}
if
(
this
.
form
.
operationType
)
{
requestParams
.
operationType
=
this
.
form
.
operationType
if
(
this
.
form
.
operationType
)
{
requestParams
.
operationType
=
this
.
form
.
operationType
;
}
if
(
this
.
form
.
date
)
{
requestParams
.
startDate
=
this
.
form
.
date
[
0
]
requestParams
.
endDate
=
this
.
form
.
date
[
1
]
if
(
this
.
form
.
date
)
{
requestParams
.
startDate
=
this
.
form
.
date
[
0
];
requestParams
.
endDate
=
this
.
form
.
date
[
1
];
}
this
.
$https
({
method
:
'get'
,
url
:
'sysLog/querySysLogList'
,
this
.
$https
(
{
method
:
"get"
,
url
:
"sysLog/querySysLogList"
,
authType
:
this
.
backToken
,
},
requestParams
).
then
(
res
=>
{
if
(
res
.
status
!=
200
){
this
.
getResWithOutData
()
}
else
{
if
(
res
.
data
.
resultCode
==
200
){
this
.
list
=
res
.
data
.
data
.
records
this
.
page
.
_size
=
res
.
data
.
data
.
size
this
.
page
.
total
=
res
.
data
.
data
.
total
}
else
{
this
.
getResWithOutData
()
},
requestParams
)
.
then
((
res
)
=>
{
if
(
res
.
status
!=
200
)
{
this
.
getResWithOutData
();
}
else
{
if
(
res
.
data
.
resultCode
==
200
)
{
this
.
list
=
res
.
data
.
data
.
records
;
this
.
page
.
_size
=
res
.
data
.
data
.
size
;
this
.
page
.
total
=
res
.
data
.
data
.
total
;
}
else
{
this
.
getResWithOutData
();
}
}
}).
catch
(
err
=>
{
console
.
log
(
err
)
})
.
catch
((
err
)
=>
{
console
.
log
(
err
);
});
},
// 页面返回值为空
getResWithOutData
()
{
this
.
list
=
[]
getResWithOutData
()
{
this
.
list
=
[];
this
.
page
=
{
_index
:
1
,
_size
:
10
,
total
:
0
}
_index
:
1
,
_size
:
10
,
total
:
0
,
};
},
// 翻页
handleChangeCurrent
(
val
){
this
.
page
.
_index
=
val
this
.
getLog
()
}
handleChangeCurrent
(
val
)
{
this
.
page
.
_index
=
val
;
this
.
getPageList
();
},
watch
:{
}
}
},
watch
:
{},
};
</
script
>
<
style
lang=
"less"
scoped
>
</
style
>
\ No newline at end of file
src/page/system/organ.vue
View file @
5b4eb6a5
src/router/index.js
View file @
5b4eb6a5
...
...
@@ -356,11 +356,11 @@ const router = new Router({
// --学习
{
path
:
'/learnProject'
,
name
:
'学习项目
制作
'
,
name
:
'学习项目
管理
'
,
component
:
()
=>
import
(
'@/page/content/learn/project/index'
),
meta
:
{
showBreadcrumb
:
true
,
title
:
'学习项目
制作
'
,
title
:
'学习项目
管理
'
,
}
},
{
...
...
src/style/global.less
View file @
5b4eb6a5
...
...
@@ -389,7 +389,6 @@
}
.info-wrapper {
height: 100%;
width: 640px;
margin: 0 auto;
background: #fff;
...
...
@@ -412,6 +411,7 @@
height: calc(100% - 156px);
overflow-y: auto;
overflow-x: hidden;
padding: 20px 0;
}
.info-footer {
...
...
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