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
98df0f73
Commit
98df0f73
authored
Apr 10, 2021
by
乐宝呗666
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' into dev_fbl
parents
12052044
70fca542
Show whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
322 additions
and
187 deletions
+322
-187
login.vue
src/components/end/login.vue
+1
-0
loginOut.js
src/config/loginOut.js
+1
-1
addDialog.vue
src/page/STB/appversion/components/addDialog.vue
+4
-4
index.vue
src/page/STB/pageCustom/index.vue
+3
-3
accountTable.vue
src/page/accounts/components/accountTable.vue
+3
-0
stbAdmin.vue
src/page/accounts/stbAdmin.vue
+1
-1
unitAdmin.vue
src/page/accounts/unitAdmin.vue
+1
-1
add.vue
src/page/accounts/unitAdminDialog/add.vue
+8
-11
edit.vue
src/page/accounts/unitAdminDialog/edit.vue
+89
-84
users.vue
src/page/accounts/users.vue
+18
-7
uploadAudio.vue
src/page/content/components/uploadVue/uploadAudio.vue
+1
-1
uploadDatum.vue
src/page/content/components/uploadVue/uploadDatum.vue
+1
-1
uploadFile.vue
src/page/content/components/uploadVue/uploadFile.vue
+2
-2
uploadImg.vue
src/page/content/components/uploadVue/uploadImg.vue
+1
-1
uploadQrcode.vue
src/page/content/components/uploadVue/uploadQrcode.vue
+2
-2
index.vue
src/page/content/video/content/index.vue
+46
-5
index.vue
src/page/content/video/remit/index.vue
+2
-4
demand.vue
src/page/statistics/components/demand.vue
+2
-2
rankTable.vue
src/page/statistics/components/detail-table/rankTable.vue
+4
-4
line.vue
src/page/statistics/components/echarts/line.vue
+1
-1
interact.vue
src/page/statistics/components/interact.vue
+2
-2
interaction.vue
src/page/statistics/interaction.vue
+89
-30
tend.vue
src/page/statistics/tend.vue
+13
-8
changePwd.vue
src/page/system/changePwd.vue
+5
-0
devops.vue
src/page/system/log/devops.vue
+1
-1
platformlog.vue
src/page/system/log/platformlog.vue
+12
-6
settoplog.vue
src/page/system/log/settoplog.vue
+7
-3
userlog.vue
src/page/system/log/userlog.vue
+2
-2
No files found.
src/components/end/login.vue
View file @
98df0f73
...
@@ -99,6 +99,7 @@ export default {
...
@@ -99,6 +99,7 @@ export default {
localStorage
.
setItem
(
"user"
,
resData
.
user
.
userName
);
localStorage
.
setItem
(
"user"
,
resData
.
user
.
userName
);
localStorage
.
setItem
(
"userId"
,
resData
.
user
.
id
)
localStorage
.
setItem
(
"userId"
,
resData
.
user
.
id
)
localStorage
.
setItem
(
"backToken"
,
resData
.
token
);
localStorage
.
setItem
(
"backToken"
,
resData
.
token
);
localStorage
.
setItem
(
"roleList"
,
resData
.
user
.
roleList
)
localStorage
.
setItem
(
localStorage
.
setItem
(
"menuList"
,
"menuList"
,
JSON
.
stringify
(
resData
.
menuList
)
JSON
.
stringify
(
resData
.
menuList
)
...
...
src/config/loginOut.js
View file @
98df0f73
export
function
loginOut
()
{
export
function
loginOut
()
{
const
list
=
[
'user'
,
'userId'
,
'backToken'
,
'menuList'
]
const
list
=
[
'user'
,
'userId'
,
'roleList'
,
'backToken'
,
'menuList'
]
list
.
forEach
(
v
=>
{
list
.
forEach
(
v
=>
{
localStorage
.
removeItem
(
v
)
localStorage
.
removeItem
(
v
)
})
})
...
...
src/page/STB/appversion/components/addDialog.vue
View file @
98df0f73
...
@@ -63,7 +63,7 @@
...
@@ -63,7 +63,7 @@
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
uploadUrl
:
'http://1
92.168.110.67
/mall/file/upload/allType'
,
uploadUrl
:
'http://1
11.203.232.175:8088
/mall/file/upload/allType'
,
formVisible
:
false
,
formVisible
:
false
,
headers
:{
Authorization
:
localStorage
.
getItem
(
'backToken'
)},
headers
:{
Authorization
:
localStorage
.
getItem
(
'backToken'
)},
formItem
:
{},
formItem
:
{},
...
...
src/page/STB/pageCustom/index.vue
View file @
98df0f73
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
<div
class=
"title"
>
app目录界面设置
</div>
<div
class=
"title"
>
app目录界面设置
</div>
<div
class=
"btn-group"
>
<div
class=
"btn-group"
>
<el-upload
<el-upload
action=
"http://1
92.168.110.67
/mall/file/image/upload"
action=
"http://1
11.203.232.175:8088
/mall/file/image/upload"
:on-success=
"uploadPageImg"
:on-success=
"uploadPageImg"
:before-upload=
"handleBeforeUpload"
:before-upload=
"handleBeforeUpload"
:headers =
"headers"
:headers =
"headers"
...
@@ -43,7 +43,7 @@
...
@@ -43,7 +43,7 @@
<div
class=
"title"
>
app运行画面设置
</div>
<div
class=
"title"
>
app运行画面设置
</div>
<div
class=
"btn-group"
>
<div
class=
"btn-group"
>
<el-upload
<el-upload
action=
"http://1
92.168.110.67
/mall/file/image/upload"
action=
"http://1
11.203.232.175:8088
/mall/file/image/upload"
:on-success=
"uploadRunImg"
:on-success=
"uploadRunImg"
:before-upload=
"handleBeforeUpload"
:before-upload=
"handleBeforeUpload"
:headers =
"headers"
:headers =
"headers"
...
...
src/page/accounts/components/accountTable.vue
View file @
98df0f73
...
@@ -71,6 +71,9 @@
...
@@ -71,6 +71,9 @@
<div
v-else
>
<div
v-else
>
<span
v-if=
"item.prop === 'roleList'"
>
<span
v-if=
"item.prop === 'roleList'"
>
{{
accoutRoleList
(
scope
.
row
[
item
.
prop
])
}}
{{
accoutRoleList
(
scope
.
row
[
item
.
prop
])
}}
</span>
<span
v-else-if=
"item.prop === 'exiredDate'"
>
{{
scope
.
row
[
item
.
prop
]
||
'永久有效'
}}
</span>
</span>
<span
v-else
>
{{
scope
.
row
[
item
.
prop
]
}}
</span>
<span
v-else
>
{{
scope
.
row
[
item
.
prop
]
}}
</span>
</div>
</div>
...
...
src/page/accounts/stbAdmin.vue
View file @
98df0f73
...
@@ -105,7 +105,7 @@ export default {
...
@@ -105,7 +105,7 @@ export default {
this
.
getPageList
();
this
.
getPageList
();
},
},
handleSubmit
()
{
handleSubmit
()
{
this
.
ge
tPageList
();
this
.
getFirs
tPageList
();
},
},
handleReset
()
{
handleReset
()
{
this
.
form
.
userName
=
""
;
this
.
form
.
userName
=
""
;
...
...
src/page/accounts/unitAdmin.vue
View file @
98df0f73
...
@@ -142,7 +142,7 @@ export default {
...
@@ -142,7 +142,7 @@ export default {
},
},
// 查询数据
// 查询数据
handleSubmit
()
{
handleSubmit
()
{
this
.
ge
tPageList
();
this
.
getFirs
tPageList
();
},
},
// 重置查询
// 重置查询
handleReset
()
{
handleReset
()
{
...
...
src/page/accounts/unitAdminDialog/add.vue
View file @
98df0f73
...
@@ -169,6 +169,7 @@ export default {
...
@@ -169,6 +169,7 @@ export default {
// 提交
// 提交
handleSubmit
()
{
handleSubmit
()
{
// 校验用户输入值
// 校验用户输入值
let
_this
=
this
;
this
.
$refs
.
form
.
validate
((
valid
)
=>
{
this
.
$refs
.
form
.
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
let
user
=
{};
let
user
=
{};
...
@@ -176,23 +177,19 @@ export default {
...
@@ -176,23 +177,19 @@ export default {
this
.
$message
.
error
(
"请选择有效期"
);
this
.
$message
.
error
(
"请选择有效期"
);
return
false
;
return
false
;
}
}
if
(
this
.
form
.
telephone
){
user
.
telephone
=
this
.
form
.
telephone
;
}
if
(
!
this
.
form
.
email
)
{
user
.
email
=
this
.
form
.
email
;
}
if
(
!
this
.
form
.
weChat
)
{
user
.
weChat
=
this
.
form
.
weChat
;
}
if
(
!
this
.
form
.
permanent
)
{
if
(
!
this
.
form
.
permanent
)
{
user
.
effectiveDate
=
this
.
form
.
date
[
0
];
user
.
effectiveDate
=
this
.
form
.
date
[
0
];
user
.
exiredDate
=
this
.
form
.
date
[
1
];
user
.
exiredDate
=
this
.
form
.
date
[
1
];
}
}
user
.
telephone
=
this
.
form
.
telephone
||
""
;
user
.
email
=
this
.
form
.
email
||
""
;
user
.
weChat
=
this
.
form
.
weChat
||
""
;
user
.
phone
=
this
.
form
.
phone
;
user
.
permanent
=
this
.
form
.
permanent
;
user
.
permanent
=
this
.
form
.
permanent
;
user
.
userName
=
this
.
form
.
userName
;
user
.
userName
=
this
.
form
.
userName
;
user
.
orgId
=
this
.
form
.
orgId
;
user
.
orgId
=
this
.
form
.
orgId
;
user
.
type
=
this
.
form
.
type
;
user
.
type
=
this
.
form
.
type
;
user
.
phone
=
this
.
form
.
phone
;
this
.
$https
(
this
.
$https
(
{
{
method
:
"post"
,
method
:
"post"
,
...
...
src/page/accounts/unitAdminDialog/edit.vue
View file @
98df0f73
...
@@ -109,9 +109,9 @@ export default {
...
@@ -109,9 +109,9 @@ export default {
dialogVisible
:
false
,
dialogVisible
:
false
,
organList
:
[],
organList
:
[],
rolesList
:
[],
rolesList
:
[],
id
:
''
,
id
:
""
,
form
:
{
form
:
{
id
:
''
,
id
:
""
,
userName
:
""
,
userName
:
""
,
telephone
:
""
,
telephone
:
""
,
orgId
:
""
,
orgId
:
""
,
...
@@ -120,7 +120,7 @@ export default {
...
@@ -120,7 +120,7 @@ export default {
phone
:
""
,
phone
:
""
,
weChat
:
""
,
weChat
:
""
,
email
:
""
,
email
:
""
,
roleList
:[],
roleList
:
[],
type
:
2
,
//1.用户账号 2.平台单位管理员账号 3.机顶盒账号 4.运维账号
type
:
2
,
//1.用户账号 2.平台单位管理员账号 3.机顶盒账号 4.运维账号
},
},
rules
:
{
rules
:
{
...
@@ -134,8 +134,13 @@ export default {
...
@@ -134,8 +134,13 @@ export default {
{
required
:
true
,
message
:
"请选择账号有效期"
,
trigger
:
"change"
},
{
required
:
true
,
message
:
"请选择账号有效期"
,
trigger
:
"change"
},
],
],
roleList
:
[
roleList
:
[
{
type
:
'array'
,
required
:
true
,
message
:
"请选择账号类型"
,
trigger
:
"change"
},
{
]
type
:
"array"
,
required
:
true
,
message
:
"请选择账号类型"
,
trigger
:
"change"
,
},
],
},
},
};
};
},
},
...
@@ -150,28 +155,25 @@ export default {
...
@@ -150,28 +155,25 @@ export default {
});
});
},
},
// 根据id获取获取详情内容
// 根据id获取获取详情内容
getDetailById
(){
getDetailById
()
{
let
_this
=
this
let
_this
=
this
;
this
.
$https
(
this
.
$https
(
{
{
method
:
"get"
,
method
:
"get"
,
url
:
"tUser/getById"
,
url
:
"tUser/getById"
,
authType
:
this
.
backToken
,
authType
:
this
.
backToken
,
},
},
{
id
:
_this
.
id
}
{
id
:
_this
.
id
}
)
)
.
then
((
res
)
=>
{
.
then
((
res
)
=>
{
if
(
res
.
status
==
200
)
{
if
(
res
.
status
==
200
)
{
if
(
res
.
data
.
resultCode
==
200
)
{
if
(
res
.
data
.
resultCode
==
200
)
{
let
resData
=
res
.
data
.
data
let
resData
=
res
.
data
.
data
;
for
(
let
key
in
_this
.
form
)
{
for
(
let
key
in
_this
.
form
)
{
this
.
form
[
key
]
=
resData
[
key
]
this
.
form
[
key
]
=
resData
[
key
];
}
}
if
(
!
this
.
form
.
permanent
){
if
(
!
this
.
form
.
permanent
)
{
this
.
form
.
date
=
[
this
.
form
.
date
=
[
resData
.
effectiveDate
,
resData
.
exiredDate
];
resData
.
effectiveDate
,
resData
.
exiredDate
]
}
}
}
else
{
}
else
{
_this
.
$message
.
error
(
res
.
data
.
message
);
_this
.
$message
.
error
(
res
.
data
.
message
);
...
@@ -188,43 +190,46 @@ export default {
...
@@ -188,43 +190,46 @@ export default {
handleClose
()
{
handleClose
()
{
this
.
$confirm
(
"确认关闭?"
)
this
.
$confirm
(
"确认关闭?"
)
.
then
((
_
)
=>
{
.
then
((
_
)
=>
{
this
.
handleReset
()
this
.
handleReset
()
;
})
})
.
catch
((
_
)
=>
{});
.
catch
((
_
)
=>
{});
},
},
handleReset
()
{
handleReset
()
{
this
.
dialogVisible
=
false
this
.
dialogVisible
=
false
;
this
.
$refs
.
form
.
resetFields
()
this
.
$refs
.
form
.
resetFields
();
this
.
form
=
{
this
.
form
=
{
userName
:
""
,
userName
:
""
,
orgId
:
""
,
orgId
:
""
,
permanent
:
true
,
permanent
:
true
,
date
:
""
,
date
:
""
,
roleList
:
[],
roleList
:
[],
type
:
2
type
:
2
,
}
};
},
},
// 提交
// 提交
handleSubmit
()
{
handleSubmit
()
{
// 校验用户输入值
// 校验用户输入值
let
_this
=
this
let
_this
=
this
;
_this
.
$refs
.
form
.
validate
((
valid
)
=>
{
_this
.
$refs
.
form
.
validate
((
valid
)
=>
{
if
(
valid
)
{
if
(
valid
)
{
let
user
=
{};
let
user
=
{};
if
(
!
_this
.
form
.
permanent
&&
!
_this
.
form
.
date
)
{
if
(
!
_this
.
form
.
permanent
&&
!
_this
.
form
.
date
)
{
_this
.
$message
.
error
(
'请选择有效期'
)
_this
.
$message
.
error
(
"请选择有效期"
);
return
false
return
false
;
}
}
if
(
!
_this
.
form
.
permanent
)
{
if
(
!
_this
.
form
.
permanent
)
{
user
.
effectiveDate
=
_this
.
form
.
date
[
0
];
user
.
effectiveDate
=
_this
.
form
.
date
[
0
];
user
.
exiredDate
=
_this
.
form
.
date
[
1
];
user
.
exiredDate
=
_this
.
form
.
date
[
1
];
}
}
user
.
userName
=
_this
.
form
.
userName
;
user
.
id
=
_this
.
id
;
user
.
orgId
=
_this
.
form
.
orgId
;
user
.
telephone
=
this
.
form
.
telephone
||
""
;
user
.
roleList
=
_this
.
form
.
roleList
user
.
email
=
this
.
form
.
email
||
""
;
user
.
permanent
=
_this
.
form
.
permanent
;
user
.
weChat
=
this
.
form
.
weChat
||
""
;
user
.
id
=
_this
.
id
user
.
phone
=
this
.
form
.
phone
;
user
.
type
=
this
.
form
.
type
user
.
permanent
=
this
.
form
.
permanent
;
user
.
userName
=
this
.
form
.
userName
;
user
.
orgId
=
this
.
form
.
orgId
;
user
.
type
=
this
.
form
.
type
;
this
.
$https
(
this
.
$https
(
{
{
method
:
"put"
,
method
:
"put"
,
...
@@ -234,21 +239,21 @@ export default {
...
@@ -234,21 +239,21 @@ export default {
user
user
)
)
.
then
((
res
)
=>
{
.
then
((
res
)
=>
{
if
(
res
.
status
==
200
)
{
if
(
res
.
status
==
200
)
{
if
(
res
.
data
.
resultCode
==
200
)
{
if
(
res
.
data
.
resultCode
==
200
)
{
this
.
$message
({
this
.
$message
({
type
:
"success"
,
type
:
"success"
,
message
:
res
.
data
.
message
,
message
:
res
.
data
.
message
,
});
});
_this
.
dialogVisible
=
false
_this
.
dialogVisible
=
false
;
this
.
$emit
(
'success'
,
true
)
this
.
$emit
(
"success"
,
true
);
}
else
{
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
this
.
$message
.
error
(
res
.
data
.
message
);
this
.
$emit
(
'success'
,
false
)
this
.
$emit
(
"success"
,
false
);
}
}
}
else
{
}
else
{
this
.
$message
.
error
(
res
.
data
);
this
.
$message
.
error
(
res
.
data
);
this
.
$emit
(
'success'
,
false
)
this
.
$emit
(
"success"
,
false
);
}
}
})
})
.
catch
((
err
)
=>
{
.
catch
((
err
)
=>
{
...
...
src/page/accounts/users.vue
View file @
98df0f73
...
@@ -5,6 +5,7 @@
...
@@ -5,6 +5,7 @@
<el-form
:inline=
"true"
:model=
"form"
>
<el-form
:inline=
"true"
:model=
"form"
>
<el-form-item>
<el-form-item>
<el-input
<el-input
clearable
v-model=
"form.userName"
v-model=
"form.userName"
placeholder=
"请输入平台用户名"
placeholder=
"请输入平台用户名"
suffix-icon=
"el-icon-search"
suffix-icon=
"el-icon-search"
...
@@ -36,8 +37,18 @@
...
@@ -36,8 +37,18 @@
/>
/>
<party-pagination
:page=
"page"
@
changePage=
"handleChangeCurrent"
/>
<party-pagination
:page=
"page"
@
changePage=
"handleChangeCurrent"
/>
</div>
</div>
<add-dialog
ref=
"addDialog"
:organList=
"organList"
:rolesList=
"rolesList"
@
success=
"getFirstPageList()"
/>
<add-dialog
<edit-dialog
ref=
"editDialog"
:organList=
"organList"
:rolesList=
"rolesList"
@
success=
"getFirstPageList()"
/>
ref=
"addDialog"
:organList=
"organList"
:rolesList=
"rolesList"
@
success=
"getFirstPageList()"
/>
<edit-dialog
ref=
"editDialog"
:organList=
"organList"
:rolesList=
"rolesList"
@
success=
"getFirstPageList()"
/>
<msg-dialog
ref=
"msgDilaog"
:msgInfo=
"msgInfo"
/>
<msg-dialog
ref=
"msgDilaog"
:msgInfo=
"msgInfo"
/>
</div>
</div>
</
template
>
</
template
>
...
@@ -71,8 +82,8 @@ export default {
...
@@ -71,8 +82,8 @@ export default {
},
},
activeRow
:
{},
activeRow
:
{},
msgInfo
:
{},
msgInfo
:
{},
organList
:[],
organList
:
[],
rolesList
:
[]
rolesList
:
[],
};
};
},
},
components
:
{
components
:
{
...
@@ -105,7 +116,7 @@ export default {
...
@@ -105,7 +116,7 @@ export default {
this
.
getPageList
();
this
.
getPageList
();
},
},
handleSubmit
()
{
handleSubmit
()
{
this
.
ge
tPageList
();
this
.
getFirs
tPageList
();
},
},
handleReset
()
{
handleReset
()
{
this
.
form
.
userName
=
""
;
this
.
form
.
userName
=
""
;
...
...
src/page/content/components/uploadVue/uploadAudio.vue
View file @
98df0f73
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<!-- accept="application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" -->
<!-- accept="application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" -->
<!-- :show-file-list="false" -->
<!-- :show-file-list="false" -->
<!-- :file-list="fileList" -->
<!-- :file-list="fileList" -->
<!-- action="http://1
92.168.110.67
/mall/file/video/content/upload" -->
<!-- action="http://1
11.203.232.175:8088
/mall/file/video/content/upload" -->
<el-upload
<el-upload
ref=
"upload"
ref=
"upload"
:multiple=
"true"
:multiple=
"true"
...
...
src/page/content/components/uploadVue/uploadDatum.vue
View file @
98df0f73
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<!-- accept="application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" -->
<!-- accept="application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" -->
<!-- :show-file-list="false" -->
<!-- :show-file-list="false" -->
<!-- :file-list="fileList" -->
<!-- :file-list="fileList" -->
<!-- action="http://1
92.168.110.67
/mall/file/video/content/upload" -->
<!-- action="http://1
11.203.232.175:8088
/mall/file/video/content/upload" -->
<el-upload
<el-upload
ref=
"upload"
ref=
"upload"
:multiple=
"true"
:multiple=
"true"
...
...
src/page/content/components/uploadVue/uploadFile.vue
View file @
98df0f73
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<!-- accept="application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" -->
<!-- accept="application/vnd.ms-excel, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" -->
<!-- :show-file-list="false" -->
<!-- :show-file-list="false" -->
<!-- :file-list="fileList" -->
<!-- :file-list="fileList" -->
<!-- action="http://1
92.168.110.67
/mall/file/video/content/upload" -->
<!-- action="http://1
11.203.232.175:8088
/mall/file/video/content/upload" -->
<el-upload
<el-upload
ref=
"upload"
ref=
"upload"
:multiple=
"true"
:multiple=
"true"
...
...
src/page/content/components/uploadVue/uploadImg.vue
View file @
98df0f73
<
template
>
<
template
>
<div>
<div>
<el-upload
<el-upload
action=
"http://1
92.168.110.67
/mall/file/image/upload"
action=
"http://1
11.203.232.175:8088
/mall/file/image/upload"
list-type=
"picture-card"
list-type=
"picture-card"
:on-preview=
"handlePictureCardPreview"
:on-preview=
"handlePictureCardPreview"
:on-remove=
"handleRemove"
:on-remove=
"handleRemove"
...
...
src/page/content/components/uploadVue/uploadQrcode.vue
View file @
98df0f73
<
template
>
<
template
>
<div>
<div>
<el-upload
<el-upload
action=
"http://1
92.168.110.67
/mall/file/image/upload"
action=
"http://1
11.203.232.175:8088
/mall/file/image/upload"
list-type=
"picture-card"
list-type=
"picture-card"
:on-preview=
"handlePictureCardPreview"
:on-preview=
"handlePictureCardPreview"
:on-remove=
"handleRemove"
:on-remove=
"handleRemove"
...
...
src/page/content/video/content/index.vue
View file @
98df0f73
...
@@ -513,10 +513,47 @@ export default {
...
@@ -513,10 +513,47 @@ export default {
console
.
log
(
err
);
console
.
log
(
err
);
});
});
},
},
// 删除
// 根据视频内容id查询被引用的展板
handleDelete
(
row
)
{
getUseBoard
(
id
){
this
.
$https
({
method
:
"get"
,
url
:
"videoContent/getExhibitionBoardById/"
+
id
,
authType
:
this
.
backToken
})
.
then
(
res
=>
{
if
(
res
.
data
.
resultCode
===
"200"
){
// console.log(res.data.data,'wwwww')
let
data
=
res
.
data
.
data
if
(
data
){
data
=
'当前视频已被展板('
+
res
.
data
.
data
+
')所使用,'
}
else
{
data
=
'当前视频无引用展板,'
}
console
.
log
(
data
)
this
.
openDel
(
id
,
data
)
}
else
{
this
.
$message
({
type
:
"error"
,
message
:
res
.
data
.
message
});
}
},
error
=>
{
this
.
$message
({
type
:
"fail"
,
message
:
"删除失败!"
+
error
.
response
.
data
});
}
);
},
//
// 删除弹出确认窗口
openDel
(
id
,
data
){
// alert(data)
const
dataMsg
=
data
let
_this
=
this
;
let
_this
=
this
;
this
.
$confirm
(
"此操作将永久删除, 是否继续?"
,
"提示"
,
{
this
.
$confirm
(
dataMsg
+
"此操作将永久删除, 是否继续?"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
type
:
"warning"
...
@@ -525,7 +562,7 @@ export default {
...
@@ -525,7 +562,7 @@ export default {
_this
_this
.
$https
({
.
$https
({
method
:
"delete"
,
method
:
"delete"
,
url
:
"videoContent/delete/"
+
row
.
id
,
url
:
"videoContent/delete/"
+
id
,
authType
:
this
.
backToken
authType
:
this
.
backToken
})
})
.
then
(
.
then
(
...
@@ -548,6 +585,10 @@ export default {
...
@@ -548,6 +585,10 @@ export default {
})
})
.
catch
(()
=>
{});
.
catch
(()
=>
{});
},
},
// 删除
handleDelete
(
row
)
{
this
.
getUseBoard
(
row
.
id
)
},
// 批量操作
// 批量操作
handleSelectionChange
(
selection
)
{
handleSelectionChange
(
selection
)
{
...
...
src/page/content/video/remit/index.vue
View file @
98df0f73
...
@@ -306,7 +306,7 @@ export default {
...
@@ -306,7 +306,7 @@ export default {
console
.
log
(
str
);
console
.
log
(
str
);
_this
.
$https
({
_this
.
$https
({
url
:
"asset/download"
,
url
:
"asset/download"
,
method
:
"
ge
t"
,
method
:
"
pos
t"
,
authType
:
this
.
backToken
authType
:
this
.
backToken
},
},
{
idList
:
str
}
{
idList
:
str
}
...
@@ -329,8 +329,6 @@ export default {
...
@@ -329,8 +329,6 @@ export default {
downloadElement
.
click
()
// 点击下载
downloadElement
.
click
()
// 点击下载
document
.
body
.
removeChild
(
downloadElement
)
// 下载完成移除元素
document
.
body
.
removeChild
(
downloadElement
)
// 下载完成移除元素
window
.
URL
.
revokeObjectURL
(
href
)
// 释放blob对象
window
.
URL
.
revokeObjectURL
(
href
)
// 释放blob对象
},
},
error
=>
{}
error
=>
{}
);
);
...
...
src/page/statistics/components/demand.vue
View file @
98df0f73
...
@@ -33,7 +33,7 @@ export default {
...
@@ -33,7 +33,7 @@ export default {
methods
:
{
methods
:
{
getList
()
{
getList
()
{
let
curTime
=
getCurDate
();
let
curTime
=
getCurDate
();
let
frequencyDate
=
curTime
.
year
+
curTime
.
month
+
curTime
.
date
;
let
frequencyDate
=
curTime
.
year
+
curTime
.
month
;
this
.
$https
({
this
.
$https
({
method
:
"post"
,
method
:
"post"
,
url
:
"tBoardStatistic/getInteractionFrequencyPageList?frequencyDate="
+
frequencyDate
,
url
:
"tBoardStatistic/getInteractionFrequencyPageList?frequencyDate="
+
frequencyDate
,
...
@@ -132,7 +132,7 @@ export default {
...
@@ -132,7 +132,7 @@ export default {
type
:
"value"
,
type
:
"value"
,
name
:
"单位/次"
,
name
:
"单位/次"
,
splitNumber
:
5
,
splitNumber
:
5
,
max
:
100
,
//
max: 100,
axisLabel
:
{
axisLabel
:
{
textStyle
:
{
textStyle
:
{
color
:
"#333333"
,
color
:
"#333333"
,
...
...
src/page/statistics/components/detail-table/rankTable.vue
View file @
98df0f73
...
@@ -12,8 +12,8 @@
...
@@ -12,8 +12,8 @@
<img
:src=
"getImg(index + 1)"
alt=
""
v-if=
"index
<
3
"
/>
<img
:src=
"getImg(index + 1)"
alt=
""
v-if=
"index
<
3
"
/>
<p
v-else
>
{{
index
+
1
}}
</p>
<p
v-else
>
{{
index
+
1
}}
</p>
</span>
</span>
<span>
{{
item
.
organName
}}
</span>
<span>
{{
item
.
playDate
||
item
.
organName
}}
</span>
<span>
{{
item
.
frequencyCnt
}}
</span>
<span>
{{
item
.
playNumber
||
item
.
frequencyCnt
}}
</span>
</li>
</li>
</ul>
</ul>
</div>
</div>
...
@@ -28,8 +28,8 @@
...
@@ -28,8 +28,8 @@
<span>
<span>
{{
6
+
index
}}
{{
6
+
index
}}
</span>
</span>
<span>
{{
item
.
organName
}}
</span>
<span>
{{
item
.
playDate
||
item
.
organName
}}
</span>
<span>
{{
item
.
frequencyCnt
}}
</span>
<span>
{{
item
.
playNumber
||
item
.
frequencyCnt
}}
</span>
</li>
</li>
</ul>
</ul>
</div>
</div>
...
...
src/page/statistics/components/echarts/line.vue
View file @
98df0f73
...
@@ -85,7 +85,7 @@ export default {
...
@@ -85,7 +85,7 @@ export default {
{
{
type
:
"value"
,
type
:
"value"
,
splitNumber
:
5
,
splitNumber
:
5
,
max
:
100
,
//
max: 100,
axisLabel
:
{
axisLabel
:
{
textStyle
:
{
textStyle
:
{
color
:
"#333333"
,
color
:
"#333333"
,
...
...
src/page/statistics/components/interact.vue
View file @
98df0f73
...
@@ -29,7 +29,7 @@ export default {
...
@@ -29,7 +29,7 @@ export default {
methods
:
{
methods
:
{
getList
()
{
getList
()
{
let
curTime
=
getCurDate
();
let
curTime
=
getCurDate
();
let
playDate
=
curTime
.
year
+
curTime
.
month
+
curTime
.
date
;
let
playDate
=
curTime
.
year
+
curTime
.
month
;
let
_this
=
this
;
let
_this
=
this
;
this
.
$https
({
this
.
$https
({
method
:
"post"
,
method
:
"post"
,
...
@@ -120,7 +120,7 @@ export default {
...
@@ -120,7 +120,7 @@ export default {
{
{
type
:
"value"
,
type
:
"value"
,
splitNumber
:
5
,
splitNumber
:
5
,
max
:
100
,
//
max: 100,
axisLabel
:
{
axisLabel
:
{
textStyle
:
{
textStyle
:
{
color
:
"#333333"
,
color
:
"#333333"
,
...
...
src/page/statistics/interaction.vue
View file @
98df0f73
/* 互动频次 */
/* 互动频次 */
<
template
>
<
template
>
<div
class=
"interaction-wrapper height100 overview-detail"
>
<div
class=
"interaction-wrapper height100 overview-detail"
>
<div
class=
"btn-group"
v-if=
"isExport"
>
<el-button
class=
"export"
type=
"primary"
icon=
"el-icon-download"
@
click=
"handleExport"
>
导出文件
</el-button
>
</div>
<div
id=
"bodyCanvas"
:class=
"isExport?'':'export'"
>
<div
class=
"ecahrts-panel-box"
>
<div
class=
"ecahrts-panel-box"
>
<div
class=
"panel-box-header"
>
<div
class=
"panel-box-header"
>
<span
class=
"title"
>
互动频次
</span>
<span
class=
"title"
>
互动频次
</span>
...
@@ -24,6 +34,7 @@
...
@@ -24,6 +34,7 @@
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
...
@@ -35,18 +46,24 @@ export default {
...
@@ -35,18 +46,24 @@ export default {
tList
:
[
"排名"
,
"机构名称"
,
"互动频次"
],
tList
:
[
"排名"
,
"机构名称"
,
"互动频次"
],
echartsData
:
{},
echartsData
:
{},
data
:
[],
data
:
[],
isExport
:
false
};
};
},
},
components
:
{
bar
,
rankTable
},
components
:
{
bar
,
rankTable
},
mounted
()
{
mounted
()
{
let
roleList
=
localStorage
.
getItem
(
'roleList'
)
if
(
roleList
){
this
.
isExport
=
localStorage
.
getItem
(
'roleList'
).
includes
(
'1'
)
}
this
.
getList
();
this
.
getList
();
},
},
methods
:
{
methods
:
{
getList
()
{
getList
()
{
let
curTime
=
getCurDate
();
let
curTime
=
getCurDate
();
let
frequencyDate
=
curTime
.
year
+
curTime
.
month
;
let
frequencyDate
=
curTime
.
year
+
curTime
.
month
;
let
_this
=
this
let
_this
=
this
;
_this
.
$https
({
_this
.
$https
({
method
:
"post"
,
method
:
"post"
,
url
:
url
:
"tBoardStatistic/getInteractionPageList?frequencyDate="
+
"tBoardStatistic/getInteractionPageList?frequencyDate="
+
...
@@ -70,7 +87,7 @@ export default {
...
@@ -70,7 +87,7 @@ export default {
}
}
setTimeout
(()
=>
{
setTimeout
(()
=>
{
_this
.
init
();
_this
.
init
();
},
100
);
},
100
);
})
})
.
catch
((
err
)
=>
{
.
catch
((
err
)
=>
{
_this
.
$message
.
error
(
err
.
message
);
_this
.
$message
.
error
(
err
.
message
);
...
@@ -80,10 +97,52 @@ export default {
...
@@ -80,10 +97,52 @@ export default {
},
},
init
()
{
init
()
{
this
.
$refs
.
echarts
.
init
();
this
.
$refs
.
echarts
.
init
();
},
handleExport
()
{
let
_this
=
this
;
if
(
this
.
timer
)
{
return
false
;
}
}
this
.
timer
=
setTimeout
(()
=>
{
clearTimeout
(
_this
.
timer
);
_this
.
timer
=
null
;
},
30000
);
_this
.
getPdf
(
"#bodyCanvas"
,
"互动频次"
);
const
loading
=
this
.
$loading
({
lock
:
true
,
text
:
"Loading"
,
spinner
:
"el-icon-loading"
,
background
:
"rgba(0, 0, 0, 0.7)"
,
});
setTimeout
(()
=>
{
loading
.
close
();
},
2000
);
},
},
},
};
};
</
script
>
</
script
>
<
style
lang=
"less"
scoped
>
<
style
>
.interaction-wrapper {
.btn-group {
margin-bottom: 20px;
height: 36px;
}
/deep/ .el-button.export {
width: 128px;
float: right;
.el-icon-download {
font-size: 18px;
font-weight: bold;
}
}
#bodyCanvas {
height: calc(100% - 56px);
&.export{
height: 100%;
}
}
.ul-wrapper {
background-color: @party-white;
}
}
</
style
>
</
style
>
\ No newline at end of file
src/page/statistics/tend.vue
View file @
98df0f73
/* 点播趋势图 */
/* 点播趋势图 */
<
template
>
<
template
>
<div
class=
"trend-wrapper height100 overview-detail"
>
<div
class=
"trend-wrapper height100 overview-detail"
>
<div
class=
"btn-group"
>
<div
class=
"btn-group"
v-if=
"isExport"
>
<el-button
<el-button
class=
"export"
class=
"export"
type=
"primary"
type=
"primary"
...
@@ -10,7 +10,7 @@
...
@@ -10,7 +10,7 @@
>
导出文件
</el-button
>
导出文件
</el-button
>
>
</div>
</div>
<div
id=
"bodyCanvas"
>
<div
id=
"bodyCanvas"
:class=
"isExport?'':'export'"
>
<div
class=
"ecahrts-panel-box"
>
<div
class=
"ecahrts-panel-box"
>
<div
class=
"panel-box-header"
>
<div
class=
"panel-box-header"
>
<span
class=
"title"
>
趋势图
</span>
<span
class=
"title"
>
趋势图
</span>
...
@@ -48,8 +48,6 @@
...
@@ -48,8 +48,6 @@
<
script
>
<
script
>
import
{
trendLine
,
rankTable
}
from
"./components"
;
import
{
trendLine
,
rankTable
}
from
"./components"
;
import
{
getCurDate
}
from
"@/utils/util.time"
;
import
{
getCurDate
}
from
"@/utils/util.time"
;
import
htmlCanvas
from
"@/utils/htmlCanvas"
;
import
JsPDF
from
"jspdf"
;
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
...
@@ -61,13 +59,18 @@ export default {
...
@@ -61,13 +59,18 @@ export default {
options
:
[
options
:
[
{
label
:
"年"
,
value
:
"1"
},
{
label
:
"年"
,
value
:
"1"
},
{
label
:
"月"
,
value
:
"2"
},
{
label
:
"月"
,
value
:
"2"
},
{
label
:
"日"
,
value
:
"3"
},
//
{ label: "日", value: "3" },
],
],
timer
:
null
,
timer
:
null
,
isExport
:
false
,
};
};
},
},
components
:
{
trendLine
,
rankTable
},
components
:
{
trendLine
,
rankTable
},
mounted
()
{
mounted
()
{
let
roleList
=
localStorage
.
getItem
(
"roleList"
);
if
(
roleList
)
{
this
.
isExport
=
localStorage
.
getItem
(
"roleList"
).
includes
(
"1"
);
}
this
.
handleChange
(
"1"
);
this
.
handleChange
(
"1"
);
},
},
methods
:
{
methods
:
{
...
@@ -77,15 +80,14 @@ export default {
...
@@ -77,15 +80,14 @@ export default {
.
$https
({
.
$https
({
method
:
"post"
,
method
:
"post"
,
url
:
url
:
"tBoardStatistic/getBoardPageList?frequencyDate="
+
"tBoardStatistic/getBoardTrendPageList?playDate="
+
frequencyDate
,
frequencyDate
,
authType
:
this
.
backToken
,
authType
:
this
.
backToken
,
})
})
.
then
((
res
)
=>
{
.
then
((
res
)
=>
{
if
(
res
.
status
==
200
)
{
if
(
res
.
status
==
200
)
{
if
(
res
.
data
.
resultCode
==
200
)
{
if
(
res
.
data
.
resultCode
==
200
)
{
_this
.
echartsData
=
{};
_this
.
echartsData
=
{};
_this
.
echartsData
.
xAxisData
=
res
.
data
.
data
.
organ
List
;
_this
.
echartsData
.
xAxisData
=
res
.
data
.
data
.
date
List
;
_this
.
echartsData
.
yAxisData
=
res
.
data
.
data
.
cntList
;
_this
.
echartsData
.
yAxisData
=
res
.
data
.
data
.
cntList
;
_this
.
data
=
res
.
data
.
data
.
page
.
records
;
_this
.
data
=
res
.
data
.
data
.
page
.
records
;
}
else
{
}
else
{
...
@@ -182,6 +184,9 @@ export default {
...
@@ -182,6 +184,9 @@ export default {
}
}
#bodyCanvas {
#bodyCanvas {
height: calc(100% - 56px);
height: calc(100% - 56px);
&.export {
height: 100%;
}
}
}
.ul-wrapper {
.ul-wrapper {
background-color: @party-white;
background-color: @party-white;
...
...
src/page/system/changePwd.vue
View file @
98df0f73
...
@@ -11,6 +11,9 @@
...
@@ -11,6 +11,9 @@
label-position=
"top"
label-position=
"top"
class=
"party-form"
class=
"party-form"
>
>
<el-form-item
label=
"当前账号"
>
<span>
{{
userName
}}
</span>
</el-form-item>
<el-form-item
label=
"请输入当前密码"
prop=
"oldPassWord"
>
<el-form-item
label=
"请输入当前密码"
prop=
"oldPassWord"
>
<el-input
<el-input
v-model=
"form.oldPassWord"
v-model=
"form.oldPassWord"
...
@@ -66,6 +69,7 @@ export default {
...
@@ -66,6 +69,7 @@ export default {
}
}
};
};
return
{
return
{
userName
:
localStorage
.
getItem
(
"user"
),
form
:
{
form
:
{
oldPassWord
:
""
,
oldPassWord
:
""
,
password
:
""
,
password
:
""
,
...
@@ -92,6 +96,7 @@ export default {
...
@@ -92,6 +96,7 @@ export default {
password
:
""
,
password
:
""
,
checkPass
:
""
,
checkPass
:
""
,
};
};
this
.
$router
.
go
(
-
1
)
},
},
handleSubmit
()
{
handleSubmit
()
{
let
_this
=
this
;
let
_this
=
this
;
...
...
src/page/system/log/devops.vue
View file @
98df0f73
...
@@ -84,7 +84,7 @@ export default {
...
@@ -84,7 +84,7 @@ export default {
},
},
getFirstPageList
()
{
getFirstPageList
()
{
this
.
page
.
_index
=
1
;
this
.
page
.
_index
=
1
;
this
.
getPageList
();
this
.
get
First
PageList
();
},
},
handleReset
()
{
handleReset
()
{
for
(
let
key
in
this
.
form
)
{
for
(
let
key
in
this
.
form
)
{
...
...
src/page/system/log/platformlog.vue
View file @
98df0f73
...
@@ -5,6 +5,7 @@
...
@@ -5,6 +5,7 @@
<el-form
:inline=
"true"
:model=
"form"
>
<el-form
:inline=
"true"
:model=
"form"
>
<el-form-item>
<el-form-item>
<el-input
<el-input
clearable
v-model=
"form.nameOrCode"
v-model=
"form.nameOrCode"
placeholder=
"请输入操作者"
placeholder=
"请输入操作者"
suffix-icon=
"el-icon-search"
suffix-icon=
"el-icon-search"
...
@@ -78,7 +79,7 @@ export default {
...
@@ -78,7 +79,7 @@ export default {
{
prop
:
"operator"
,
label
:
"操作者"
},
{
prop
:
"operator"
,
label
:
"操作者"
},
{
prop
:
"operationType"
,
label
:
"操作类型"
},
{
prop
:
"operationType"
,
label
:
"操作类型"
},
{
prop
:
"operationObject"
,
label
:
"操作对象"
},
{
prop
:
"operationObject"
,
label
:
"操作对象"
},
{
prop
:
"operationIp"
,
label
:
"
操作
Ip"
},
{
prop
:
"operationIp"
,
label
:
"
设备
Ip"
},
],
],
list
:
[],
list
:
[],
page
:
{
page
:
{
...
@@ -93,7 +94,7 @@ export default {
...
@@ -93,7 +94,7 @@ export default {
// 获取日志操作类型
// 获取日志操作类型
this
.
getOperationType
();
this
.
getOperationType
();
// 获取机顶盒运维类表
// 获取机顶盒运维类表
this
.
get
Log
();
this
.
get
FirstPageList
();
},
},
methods
:
{
methods
:
{
getOperationType
()
{
getOperationType
()
{
...
@@ -102,15 +103,20 @@ export default {
...
@@ -102,15 +103,20 @@ export default {
});
});
},
},
handleSubmit
()
{
handleSubmit
()
{
this
.
getLog
();
this
.
getFirstPageList
();
},
getFirstPageList
()
{
this
.
page
.
_index
=
1
;
this
.
getPageList
();
},
},
handleReset
()
{
handleReset
()
{
for
(
let
key
in
this
.
form
)
{
for
(
let
key
in
this
.
form
)
{
this
.
form
[
key
]
=
""
;
this
.
form
[
key
]
=
""
;
}
}
this
.
get
Log
();
this
.
get
FirstPageList
();
},
},
getLog
()
{
getPageList
()
{
let
requestParams
=
{};
let
requestParams
=
{};
requestParams
.
_index
=
this
.
page
.
_index
;
requestParams
.
_index
=
this
.
page
.
_index
;
requestParams
.
_size
=
this
.
page
.
_size
;
requestParams
.
_size
=
this
.
page
.
_size
;
...
@@ -162,7 +168,7 @@ export default {
...
@@ -162,7 +168,7 @@ export default {
// 翻页
// 翻页
handleChangeCurrent
(
val
)
{
handleChangeCurrent
(
val
)
{
this
.
page
.
_index
=
val
;
this
.
page
.
_index
=
val
;
this
.
get
Log
();
this
.
get
PageList
();
},
},
},
},
watch
:
{},
watch
:
{},
...
...
src/page/system/log/settoplog.vue
View file @
98df0f73
...
@@ -4,9 +4,12 @@
...
@@ -4,9 +4,12 @@
<div
class=
"search-container"
>
<div
class=
"search-container"
>
<el-form
:inline=
"true"
:model=
"form"
>
<el-form
:inline=
"true"
:model=
"form"
>
<el-form-item>
<el-form-item>
<el-select
v-model=
"form.user"
placeholder=
"请选择所属单位"
>
<el-select
<el-option
clearable
v-model=
"form.organId"
v-model=
"form.organId"
placeholder=
"请选择所属单位"
>
<el-option
v-for=
"item in organList"
v-for=
"item in organList"
:key=
"item.id"
:key=
"item.id"
:label=
"item.name"
:label=
"item.name"
...
@@ -17,6 +20,7 @@
...
@@ -17,6 +20,7 @@
</el-form-item>
</el-form-item>
<el-form-item>
<el-form-item>
<el-date-picker
<el-date-picker
clearable
v-model=
"form.date"
v-model=
"form.date"
type=
"daterange"
type=
"daterange"
range-separator=
"至"
range-separator=
"至"
...
@@ -99,7 +103,7 @@ export default {
...
@@ -99,7 +103,7 @@ export default {
this
.
getPageList
();
this
.
getPageList
();
},
},
handleSubmit
()
{
handleSubmit
()
{
this
.
getPageList
();
this
.
get
First
PageList
();
},
},
handleReset
()
{
handleReset
()
{
for
(
let
key
in
this
.
form
)
{
for
(
let
key
in
this
.
form
)
{
...
...
src/page/system/log/userlog.vue
View file @
98df0f73
...
@@ -84,7 +84,7 @@ export default {
...
@@ -84,7 +84,7 @@ export default {
{
prop
:
"operator"
,
label
:
"操作者"
},
{
prop
:
"operator"
,
label
:
"操作者"
},
{
prop
:
"operationType"
,
label
:
"操作类型"
},
{
prop
:
"operationType"
,
label
:
"操作类型"
},
{
prop
:
"operationObject"
,
label
:
"操作对象"
},
{
prop
:
"operationObject"
,
label
:
"操作对象"
},
{
prop
:
"operationIp"
,
label
:
"
操作
Ip"
},
{
prop
:
"operationIp"
,
label
:
"
设备
Ip"
},
],
],
list
:
[],
list
:
[],
page
:
{
page
:
{
...
@@ -112,7 +112,7 @@ export default {
...
@@ -112,7 +112,7 @@ export default {
});
});
},
},
handleSubmit
()
{
handleSubmit
()
{
this
.
getPageList
();
this
.
get
First
PageList
();
},
},
handleReset
()
{
handleReset
()
{
for
(
let
key
in
this
.
form
)
{
for
(
let
key
in
this
.
form
)
{
...
...
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