Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
Ygopro Arena Web
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
MyCard
Ygopro Arena Web
Commits
725dd9b4
Commit
725dd9b4
authored
Jun 25, 2017
by
ganjingcun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
卡组攻略和卡组资料
parent
b7768e2e
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
447 additions
and
190 deletions
+447
-190
src/components/Deck.vue
src/components/Deck.vue
+270
-190
src/components/Profile.vue
src/components/Profile.vue
+177
-0
No files found.
src/components/Deck.vue
View file @
725dd9b4
...
@@ -20,121 +20,48 @@
...
@@ -20,121 +20,48 @@
<h4
style=
"text-align: center"
>
{{
title
}}
</h4>
<h4
style=
"text-align: center"
>
{{
title
}}
</h4>
<hr>
<hr>
<div
v-if=
"user.isLogin"
>
<div
class=
"alert alert-success alert-dismissible"
role=
"alert"
>
<button
type=
"button"
class=
"close"
data-dismiss=
"alert"
aria-label=
"Close"
><span
aria-hidden=
"true"
>
×
</span></button>
<span
v-if=
"!isNew"
>
您可以参与编辑此页面。
</span>
<span
v-if=
"isNew"
>
还没有人为这个卡组添上攻略哦! 点我编辑页面。
</span>
<i
class=
"el-icon-edit hand"
@
click.prevent=
"dialogFormVisible = true"
>
编辑
</i>
</div>
</div>
<div
v-else
>
<div
class=
"alert alert-success alert-dismissible"
role=
"alert"
>
<button
type=
"button"
class=
"close"
data-dismiss=
"alert"
aria-label=
"Close"
><span
aria-hidden=
"true"
>
×
</span></button>
<span>
登录后才可编辑此页面。
</span>
<a
class=
"hand"
@
click.prevent=
"login"
href=
"#"
>
登录
</a>
</div>
</div>
<div
class=
"row"
>
<div
class=
"row"
>
<div
class=
"col-md-4"
id=
"profile"
>
<div
class=
"col-md-4"
id=
"profile"
>
<div
class=
"thumbnail"
>
<div
class=
"thumbnail"
>
<img
v-bind:src=
"avatar_url"
style=
"height:300px;margin-top:
13px;
"
>
<img
v-bind:src=
"avatar_url"
style=
"height:300px;margin-top:
2px;margin-top:3px
"
>
<div
class=
"caption"
>
<div
class=
"caption"
>
<h3>
<h3>
<!--
<i
class=
"glyphicon glyphicon-user"
></i>
-->
<!--
<i
class=
"glyphicon glyphicon-user"
></i>
-->
<strong>
{{
username
}}
</strong></h3>
<strong>
{{
username
}}
</strong></h3>
<
p
class=
"text-muted"
style=
"font-size:20px;"
>
{{
form
.
desc
}}
</p
>
<
!--
<p
class=
"text-muted"
style=
"font-size:20px;"
>
{{
form
.
desc
}}
</p>
--
>
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"col-md-8"
>
<div
class=
"col-md-8"
>
<div
v-if=
"user.isLogin"
>
<div
class=
"caption"
>
<div
class=
"alert alert-success alert-dismissible"
role=
"alert"
>
<!--
<h3>
-->
<button
type=
"button"
class=
"close"
data-dismiss=
"alert"
aria-label=
"Close"
><span
aria-hidden=
"true"
>
×
</span></button>
<!--
<i
class=
"glyphicon glyphicon-user"
></i>
-->
<span
v-if=
"!isNew"
>
您可以参与编辑此页面。
</span>
<!--
<strong>
{{
username
}}
</strong></h3>
-->
<span
v-if=
"isNew"
>
还没有人为这个卡组添上攻略哦! 点我编辑页面。
</span>
<p
style=
"font-size:20px;"
><pre>
{{
form
.
desc
}}
</pre></p>
<i
class=
"el-icon-edit hand"
@
click.prevent=
"dialogFormVisible = true"
>
编辑
</i>
<!--作者:
{{
author
}}
-->
</div>
</div>
<div
v-else
>
<div
class=
"alert alert-success alert-dismissible"
role=
"alert"
>
<button
type=
"button"
class=
"close"
data-dismiss=
"alert"
aria-label=
"Close"
><span
aria-hidden=
"true"
>
×
</span></button>
<span>
登录后才可编辑此页面。
</span>
<a
class=
"hand"
@
click.prevent=
"login"
href=
"#"
>
登录
</a>
</div>
</div>
<h4
class=
"color-blue"
><i
class=
"glyphicon glyphicon-list-alt"
></i>
编辑历史
</h4>
<!--
<div
class=
"panel panel-default"
>
<div
class=
"panel-heading"
>
<h3
class=
"panel-title"
>
编辑历史
</h3>
</div>
-->
<!--
<div
class=
"panel-body"
>
-->
<!--
<div
style=
"width:100%;overflow-x:auto;overflow-y:hidden;"
>
<table
id=
"rank"
class=
"table table-striped table-bordered table-hover example"
></table>
</div>
-->
<!--
<div
class=
"table-responsive"
style=
"width:100%;overflow-x:auto;overflow-y:hidden;"
>
<table
id=
"athletic_rank"
class=
"table table-striped table-bordered table-hover example"
:class=
"
{ scroll: isMobile }">
</table>
</div>
-->
<!--
</div>
-->
<!--
<div
class=
"table-responsive"
style=
"width:100%;overflow-x:auto;overflow-y:hidden;"
>
<table
id=
"rank"
class=
"table table-striped table-bordered table-hover example"
:class=
"
{ scroll: isMobile }" >
</table>
</div>
-->
<!--
</div>
-->
<div
class=
"table-responsive"
style=
"width:100%;overflow-x:auto;overflow-y:hidden;"
>
<table
id=
"athletic_rank"
class=
"table table-striped table-bordered table-hover example"
:class=
"
{ scroll: isMobile }">
</table>
</div>
</div>
<h4
class=
"color-blue"
><i
class=
"glyphicon glyphicon-list-alt"
></i>
卡组范例
&
下载
</h4>
<div
v-if=
"user.isLogin"
>
<div
class=
"alert alert-success alert-dismissible"
role=
"alert"
>
<button
type=
"button"
class=
"close"
data-dismiss=
"alert"
aria-label=
"Close"
><span
aria-hidden=
"true"
>
×
</span></button>
<span
v-if=
"!isNew"
>
您可以上传卡组范例。
</span>
<span
v-if=
"isNew"
>
还没有卡组范例。
</span>
<i
class=
"el-icon-edit hand"
@
click.prevent=
"showDialog2"
>
我要上传
</i>
</div>
</div>
<div
v-else
>
<div
class=
"alert alert-success alert-dismissible"
role=
"alert"
>
<button
type=
"button"
class=
"close"
data-dismiss=
"alert"
aria-label=
"Close"
><span
aria-hidden=
"true"
>
×
</span></button>
<span>
登录后才可上传卡组范例。
</span>
<a
class=
"hand"
@
click.prevent=
"login"
href=
"#"
>
登录
</a>
</div>
</div>
<el-row>
<el-col
:span=
"7"
v-for=
"(o, index) in demo1"
:key=
"o"
:offset=
"index > 0 ? 1 : 0"
>
<el-card
:body-style=
"
{ padding: '0px' }">
<img
:src=
"o.url"
class=
"image"
>
<div
style=
"padding: 6px;"
>
<span
style=
"font-size: 10px"
>
标题:
{{
o
.
title
}}
</span>
<br>
<span
style=
"font-size: 10px"
>
上传者:
{{
o
.
author
}}
</span>
<div
class=
"bottom clearfix"
>
<time
class=
"time"
>
{{
o
.
create_time
}}
</time>
<el-button
v-if=
"o.file"
type=
"text"
class=
"button"
@
click=
"downloadFile(o.file)"
>
下载
</el-button>
</div>
</div>
</el-card>
</el-col>
</el-row>
<br>
<el-row>
<el-col
:span=
"7"
v-for=
"(o, index) in demo2"
:key=
"o"
:offset=
"index > 0 ? 1 : 0"
>
<el-card
:body-style=
"
{ padding: '0px' }">
<img
:src=
"o.url"
class=
"image"
>
<div
style=
"padding: 6px;"
>
<span
style=
"font-size: 10px"
>
标题:
{{
o
.
title
}}
</span>
<br>
<span
style=
"font-size: 10px"
>
上传者:
{{
o
.
author
}}
</span>
<div
class=
"bottom clearfix"
>
<time
class=
"time"
>
{{
o
.
create_time
}}
</time>
<el-button
v-if=
"o.file"
type=
"text"
class=
"button"
@
click=
"downloadFile(o.file)"
>
下载
</el-button>
</div>
</div>
</el-card>
</el-col>
</el-row>
<br>
<el-dialog
:title=
"username"
size=
"large"
v-model=
"dialogFormVisible"
>
<el-dialog
:title=
"username"
size=
"large"
v-model=
"dialogFormVisible"
>
<el-form
:model=
"form"
>
<el-form
:model=
"form"
>
<el-form-item
label=
"标题"
:label-width=
"formLabelWidth"
>
<el-form-item
label=
"标题"
:label-width=
"formLabelWidth"
>
...
@@ -142,6 +69,7 @@
...
@@ -142,6 +69,7 @@
</el-form-item>
</el-form-item>
<el-form-item
label=
"图片URL"
:label-width=
"formLabelWidth"
>
<el-form-item
label=
"图片URL"
:label-width=
"formLabelWidth"
>
<el-input
v-model=
"avatar_url_new"
placeholder=
"请输入您希望展示的图片的地址"
auto-complete=
"off"
></el-input>
<el-input
v-model=
"avatar_url_new"
placeholder=
"请输入您希望展示的图片的地址"
auto-complete=
"off"
></el-input>
<a
href=
"https://ygobbs.com/"
target=
"_blank"
class=
"el-icon-upload2"
>
图片上传地址
</a>
</el-form-item>
</el-form-item>
<!--
<el-form-item
label=
"类型"
:label-width=
"formLabelWidth"
>
<!--
<el-form-item
label=
"类型"
:label-width=
"formLabelWidth"
>
<el-select
v-model=
"form.region"
placeholder=
"请选择类型"
>
<el-select
v-model=
"form.region"
placeholder=
"请选择类型"
>
...
@@ -155,6 +83,16 @@
...
@@ -155,6 +83,16 @@
</el-input>
</el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"卡组攻略"
:label-width=
"formLabelWidth"
>
<el-input
type=
"textarea"
:autosize=
"
{ minRows: 2, maxRows: 6}" placeholder="请输入卡组攻略" v-model="form.strategy_new">
</el-input>
</el-form-item>
<el-form-item
label=
"参考资料"
:label-width=
"formLabelWidth"
>
<el-input
type=
"textarea"
:autosize=
"
{ minRows: 2, maxRows: 6}" placeholder="请输入参考资料" v-model="form.reference_new">
</el-input>
</el-form-item>
</el-form>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<div
slot=
"footer"
class=
"dialog-footer"
>
...
@@ -164,14 +102,27 @@
...
@@ -164,14 +102,27 @@
</el-dialog>
</el-dialog>
<!--上传卡组范例-->
<!--上传卡组范例-->
<el-dialog
title=
"上传卡组范例"
size=
"large"
v-model=
"dialogFormVisible2"
>
<el-dialog
title=
"上传卡组范例"
size=
"large"
v-model=
"dialogFormVisible2"
>
<el-form
:model=
"form"
>
<el-form
:model=
"form"
>
<el-form-item
label=
"标题"
:label-width=
"formLabelWidth"
>
<el-form-item
label=
"标题"
:label-width=
"formLabelWidth"
>
<el-input
v-model=
"demo_title"
placeholder=
"请输入标题"
auto-complete=
"off"
></el-input>
<el-input
v-model=
"demo_title"
placeholder=
"请输入标题"
auto-complete=
"off"
></el-input>
</el-form-item>
</el-form-item>
<el-form-item
label=
"图片URL"
:label-width=
"formLabelWidth"
>
<el-form-item
label=
"图片URL"
:label-width=
"formLabelWidth"
>
<el-input
v-model=
"demo_url"
placeholder=
"请输入您希望展示的图片的地址"
auto-complete=
"off"
></el-input>
<el-input
v-model=
"demo_url"
placeholder=
"请输入您希望展示的图片的地址"
auto-complete=
"off"
></el-input>
<a
href=
"https://ygobbs.com/"
target=
"_blank"
class=
"el-icon-upload2"
>
图片上传地址
</a>
</el-form-item>
</el-form-item>
<!--
<el-popover
ref=
"popover1"
placement=
"top-start"
title=
"标题"
width=
"200"
trigger=
"hover"
content=
"这是一段内容,这是一段内容,这是一段内容,这是一段内容。"
>
</el-popover>
<el-button
v-popover:popover1
>
hover 激活
</el-button>
-->
<!--
<el-form-item
label=
"类型"
:label-width=
"formLabelWidth"
>
<!--
<el-form-item
label=
"类型"
:label-width=
"formLabelWidth"
>
<el-select
v-model=
"form.region"
placeholder=
"请选择类型"
>
<el-select
v-model=
"form.region"
placeholder=
"请选择类型"
>
<el-option
label=
"一"
value=
"shanghai"
></el-option>
<el-option
label=
"一"
value=
"shanghai"
></el-option>
...
@@ -186,7 +137,7 @@
...
@@ -186,7 +137,7 @@
<el-form-item
label=
"文件"
:label-width=
"formLabelWidth"
>
<el-form-item
label=
"文件"
:label-width=
"formLabelWidth"
>
<!--
<el-upload
<!--
<el-upload
class=
"avatar-uploader"
class=
"avatar-uploader"
:action=
"uploadUrl"
:action=
"uploadUrl"
:show-file-list=
"false"
:show-file-list=
"false"
...
@@ -197,22 +148,17 @@
...
@@ -197,22 +148,17 @@
<div
class=
"el-upload__tip"
slot=
"tip"
>
上传卡组文件,大小不能超过500kb
</div>
<div
class=
"el-upload__tip"
slot=
"tip"
>
上传卡组文件,大小不能超过500kb
</div>
</el-upload>
-->
</el-upload>
-->
<el-upload
<el-upload
class=
"upload-demo"
:action=
"uploadUrl"
:on-change=
"handleChange"
:on-success=
"handleAvatarSuccess"
:before-upload=
"beforeAvatarUpload"
class=
"upload-demo"
:file-list=
"fileList3"
>
:action=
"uploadUrl"
<el-button
size=
"small"
type=
"primary"
>
点击上传
</el-button>
:on-change=
"handleChange"
<div
slot=
"tip"
class=
"el-upload__tip"
>
上传卡组文件,大小不能超过3KB
</div>
:on-success=
"handleAvatarSuccess"
:before-upload=
"beforeAvatarUpload"
:file-list=
"fileList3"
>
<el-button
size=
"small"
type=
"primary"
>
点击上传
</el-button>
<div
slot=
"tip"
class=
"el-upload__tip"
>
上传卡组文件,大小不能超过2M
</div>
</el-upload>
</el-upload>
</el-form-item>
</el-form-item>
<!--
<button
v-if=
"downloadPath"
@
click.prevent=
"download"
>
下载
</button>
-->
<!--
<button
v-if=
"downloadPath"
@
click.prevent=
"download"
>
下载
</button>
-->
</el-form>
</el-form>
...
@@ -224,6 +170,106 @@
...
@@ -224,6 +170,106 @@
</div>
</div>
</div>
</div>
<div
class=
"container"
>
<div
class=
"row"
>
<h4
class=
"color-blue"
>
<i
class=
"glyphicon glyphicon-list-alt"
></i>
卡组攻略
</h4>
<pre>
{{
form
.
strategy
}}
</pre>
<br>
<h4
class=
"color-blue"
>
<i
class=
"glyphicon glyphicon-list-alt"
></i>
卡组范例
&
下载
</h4>
<div
v-if=
"user.isLogin"
>
<div
class=
"alert alert-success alert-dismissible"
role=
"alert"
>
<button
type=
"button"
class=
"close"
data-dismiss=
"alert"
aria-label=
"Close"
><span
aria-hidden=
"true"
>
×
</span></button>
<span
v-if=
"!isNew"
>
您可以上传卡组范例。
</span>
<span
v-if=
"isNew"
>
还没有卡组范例。
</span>
<i
class=
"el-icon-edit hand"
@
click.prevent=
"showDialog2"
>
我要上传
</i>
</div>
</div>
<div
v-else
>
<div
class=
"alert alert-success alert-dismissible"
role=
"alert"
>
<button
type=
"button"
class=
"close"
data-dismiss=
"alert"
aria-label=
"Close"
><span
aria-hidden=
"true"
>
×
</span></button>
<span>
登录后才可上传卡组范例。
</span>
<a
class=
"hand"
@
click.prevent=
"login"
href=
"#"
>
登录
</a>
</div>
</div>
<el-row>
<el-col
:span=
"7"
v-for=
"(o, index) in demo1"
:key=
"o"
:offset=
"index > 0 ? 1 : 0"
>
<el-card
:body-style=
"
{ padding: '0px' }">
<img
:src=
"o.url"
class=
"image"
>
<div
style=
"padding: 6px;"
>
<span
style=
"font-size: 14px"
>
标题:
{{
o
.
title
}}
</span>
<br>
<span
style=
"font-size: 14px"
>
上传者:
{{
o
.
author
}}
</span>
<div
class=
"bottom clearfix"
>
<time
class=
"time"
>
{{
o
.
create_time
}}
</time>
<el-button
v-if=
"o.file"
type=
"text"
class=
"button"
@
click=
"downloadFile(o.file)"
>
下载
</el-button>
</div>
</div>
</el-card>
</el-col>
</el-row>
<br>
<el-row>
<el-col
:span=
"7"
v-for=
"(o, index) in demo2"
:key=
"o"
:offset=
"index > 0 ? 1 : 0"
>
<el-card
:body-style=
"
{ padding: '0px' }">
<img
:src=
"o.url"
class=
"image"
>
<div
style=
"padding: 6px;"
>
<span
style=
"font-size: 14px"
>
标题:
{{
o
.
title
}}
</span>
<br>
<span
style=
"font-size: 14px"
>
上传者:
{{
o
.
author
}}
</span>
<div
class=
"bottom clearfix"
>
<time
class=
"time"
>
{{
o
.
create_time
}}
</time>
<el-button
v-if=
"o.file"
type=
"text"
class=
"button"
@
click=
"downloadFile(o.file)"
>
下载
</el-button>
</div>
</div>
</el-card>
</el-col>
</el-row>
<br>
<h4
class=
"color-blue"
>
<i
class=
"glyphicon glyphicon-list-alt"
></i>
参考资料
</h4>
<pre
v-html=
"form.reference"
>
{{
form
.
reference
}}
</pre>
<br>
<h4
class=
"color-blue"
>
<i
class=
"glyphicon glyphicon-list-alt"
></i>
编辑历史
</h4>
<!--
<div
class=
"panel panel-default"
>
<div
class=
"panel-heading"
>
<h3
class=
"panel-title"
>
编辑历史
</h3>
</div>
-->
<!--
<div
class=
"panel-body"
>
-->
<!--
<div
style=
"width:100%;overflow-x:auto;overflow-y:hidden;"
>
<table
id=
"rank"
class=
"table table-striped table-bordered table-hover example"
></table>
</div>
-->
<!--
<div
class=
"table-responsive"
style=
"width:100%;overflow-x:auto;overflow-y:hidden;"
>
<table
id=
"athletic_rank"
class=
"table table-striped table-bordered table-hover example"
:class=
"
{ scroll: isMobile }">
</table>
</div>
-->
<!--
</div>
-->
<!--
<div
class=
"table-responsive"
style=
"width:100%;overflow-x:auto;overflow-y:hidden;"
>
<table
id=
"rank"
class=
"table table-striped table-bordered table-hover example"
:class=
"
{ scroll: isMobile }" >
</table>
</div>
-->
<!--
</div>
-->
<div
class=
"table-responsive"
style=
"width:100%;overflow-x:auto;overflow-y:hidden;"
>
<table
id=
"athletic_rank"
class=
"table table-striped table-bordered table-hover example"
:class=
"
{ scroll: isMobile }">
</table>
</div>
<br>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -245,7 +291,8 @@
...
@@ -245,7 +291,8 @@
data
()
{
data
()
{
return
{
return
{
currentDate
:
new
Date
(),
currentDate
:
new
Date
(),
fileList3
:
[],
author
:
""
,
fileList3
:
[],
isMobile
:
false
,
isMobile
:
false
,
searchText
:
""
,
searchText
:
""
,
hasError
:
false
,
hasError
:
false
,
...
@@ -267,17 +314,20 @@
...
@@ -267,17 +314,20 @@
resource
:
''
,
resource
:
''
,
desc
:
''
,
desc
:
''
,
desc_new
:
''
,
desc_new
:
''
,
strategy
:
'
-
'
,
strategy_new
:
''
,
reference
:
'
-
'
,
reference_new
:
''
},
},
formLabelWidth
:
'
40px
'
,
formLabelWidth
:
'
40px
'
,
isNew
:
true
,
isNew
:
true
,
isClick
:
false
,
isClick
:
false
,
todayCount
:
0
,
todayCount
:
0
,
uploadUrl
:
API
.
uploadUrl
,
uploadUrl
:
API
.
uploadUrl
,
imageUrl
:
""
,
imageUrl
:
""
,
downloadPath
:
""
,
downloadPath
:
""
,
demo_title
:
""
,
demo_title
:
""
,
demo_url
:
""
,
demo_url
:
""
,
demo1
:
[],
demo1
:
[],
demo2
:
[]
demo2
:
[]
}
}
...
@@ -325,8 +375,16 @@
...
@@ -325,8 +375,16 @@
this
.
avatar_url_new
=
dataPbj
.
url
this
.
avatar_url_new
=
dataPbj
.
url
this
.
form
.
desc
=
dataPbj
.
desc
this
.
form
.
desc
=
dataPbj
.
desc
this
.
form
.
desc_new
=
dataPbj
.
desc
this
.
form
.
desc_new
=
dataPbj
.
desc
this
.
demo1
=
res
.
data
.
demo
.
slice
(
0
,
3
)
this
.
demo2
=
res
.
data
.
demo
.
slice
(
3
,
6
)
this
.
form
.
reference
=
dataPbj
.
reference
||
'
-
'
this
.
form
.
reference_new
=
dataPbj
.
reference
this
.
form
.
strategy
=
dataPbj
.
strategy
||
'
-
'
this
.
form
.
strategy_new
=
dataPbj
.
strategy
this
.
demo1
=
res
.
data
.
demo
.
slice
(
0
,
3
)
this
.
demo2
=
res
.
data
.
demo
.
slice
(
3
,
6
)
this
.
author
=
dataPbj
.
author
if
(
rankTable
)
{
if
(
rankTable
)
{
rankTable
.
destroy
();
rankTable
.
destroy
();
...
@@ -360,29 +418,32 @@
...
@@ -360,29 +418,32 @@
this
.
fileList3
=
fileList
.
slice
(
-
1
);
this
.
fileList3
=
fileList
.
slice
(
-
1
);
},
},
handleAvatarSuccess
(
res
,
file
)
{
handleAvatarSuccess
(
res
,
file
)
{
this
.
downloadPath
=
file
.
response
.
path
this
.
downloadPath
=
file
.
response
.
path
this
.
imageUrl
=
URL
.
createObjectURL
(
file
.
raw
);
this
.
imageUrl
=
URL
.
createObjectURL
(
file
.
raw
);
},
},
beforeAvatarUpload
(
file
)
{
beforeAvatarUpload
(
file
)
{
// const isJPG = file.type === 'image/jpeg';
var
type
=
/
\.[^\.]
+/
.
exec
(
file
.
name
);
const
isLt2M
=
file
.
size
/
1024
/
1024
<
2
;
const
isJPG
=
type
[
0
]
===
'
.ydk
'
;
const
isLt2M
=
file
.
size
/
1024
<
3
;
// if (!isJPG) {
if
(
!
isJPG
)
{
// this.$message.error('上传头像图片只能是 JPG 格式!');
this
.
$message
.
error
(
'
上传文件只能是 ydk 格式!
'
);
// }
return
false
}
if
(
!
isLt2M
)
{
if
(
!
isLt2M
)
{
this
.
$message
.
error
(
'
上传文件大小不能超过 2MB!
'
);
this
.
$message
.
error
(
'
上传文件大小不能超过 3KB!
'
);
return
false
}
}
return
isLt2M
;
return
true
;
},
},
download
:
function
()
{
download
:
function
()
{
window
.
location
.
href
=
API
.
getDownloadUrl
(
this
.
downloadPath
)
window
.
location
.
href
=
API
.
getDownloadUrl
(
this
.
downloadPath
)
},
},
downloadFile
:
function
(
path
)
{
downloadFile
:
function
(
path
)
{
window
.
location
.
href
=
API
.
getDownloadUrl
(
path
)
window
.
location
.
href
=
API
.
getDownloadUrl
(
path
)
},
},
onSubmit
:
function
()
{
onSubmit
:
function
()
{
...
@@ -411,6 +472,13 @@
...
@@ -411,6 +472,13 @@
this
.
form
.
desc
=
dataPbj
.
desc
this
.
form
.
desc
=
dataPbj
.
desc
this
.
form
.
desc_new
=
dataPbj
.
desc
this
.
form
.
desc_new
=
dataPbj
.
desc
this
.
form
.
reference
=
dataPbj
.
reference
||
'
-
'
this
.
form
.
reference_new
=
dataPbj
.
reference
this
.
form
.
strategy
=
dataPbj
.
strategy
||
'
-
'
this
.
form
.
strategy_new
=
dataPbj
.
strategy
this
.
author
=
dataPbj
.
author
if
(
rankTable
)
{
if
(
rankTable
)
{
rankTable
.
destroy
();
rankTable
.
destroy
();
}
}
...
@@ -434,60 +502,60 @@
...
@@ -434,60 +502,60 @@
location
.
href
=
"
https://ygobbs.com/session/sso_provider?
"
+
request
;
location
.
href
=
"
https://ygobbs.com/session/sso_provider?
"
+
request
;
},
},
showDialog2
:
function
()
{
showDialog2
:
function
()
{
this
.
dialogFormVisible2
=
true
this
.
dialogFormVisible2
=
true
setTimeout
(
function
()
{
setTimeout
(
function
()
{
console
.
log
(
$
(
"
.el-upload__input
"
))
console
.
log
(
$
(
"
.el-upload__input
"
))
$
(
"
.el-upload__input
"
).
hide
()
$
(
"
.el-upload__input
"
).
hide
()
},
100
)
},
100
)
},
},
cancelModify
:
function
()
{
cancelModify
:
function
()
{
this
.
dialogFormVisible
=
false
this
.
dialogFormVisible
=
false
},
},
cancelModify2
:
function
()
{
cancelModify2
:
function
()
{
this
.
dialogFormVisible2
=
false
this
.
dialogFormVisible2
=
false
},
},
submitModify2
:
function
()
{
submitModify2
:
function
()
{
this
.
dialogFormVisible2
=
false
this
.
dialogFormVisible2
=
false
if
(
this
.
isClick
)
{
if
(
this
.
isClick
)
{
this
.
$notify
({
title
:
'
警告
'
,
message
:
'
您操作得太快了!
'
,
type
:
'
error
'
})
}
else
{
this
.
isClick
=
true
;
var
param
=
{
user
:
this
.
user
.
username
,
name
:
this
.
username
,
title
:
this
.
demo_title
,
url
:
this
.
demo_url
,
file
:
this
.
downloadPath
}
var
_this
=
this
;
API
.
saveDeckDemo
(
param
).
then
((
res
)
=>
{
this
.
dialogFormVisible2
=
false
this
.
$notify
({
this
.
$notify
({
title
:
'
警告
'
,
title
:
'
操作成功
'
,
message
:
'
您操作得太快了
!
'
,
message
:
'
感谢您的提交
!
'
,
type
:
'
error
'
type
:
'
success
'
})
})
}
else
{
setTimeout
(
function
()
{
this
.
isClick
=
true
;
_this
.
isClick
=
false
;
var
param
=
{
},
3000
)
user
:
this
.
user
.
username
,
},
(
res
)
=>
{
name
:
this
.
username
,
setTimeout
(
function
()
{
title
:
this
.
demo_title
,
_this
.
isClick
=
false
;
url
:
this
.
demo_url
,
},
3000
)
file
:
this
.
downloadPath
this
.
hasError
=
true
}
console
.
log
(
res
)
var
_this
=
this
;
});
API
.
saveDeckDemo
(
param
).
then
((
res
)
=>
{
}
this
.
dialogFormVisible2
=
false
this
.
$notify
({
title
:
'
操作成功
'
,
message
:
'
感谢您的提交!
'
,
type
:
'
success
'
})
setTimeout
(
function
()
{
_this
.
isClick
=
false
;
},
3000
)
},
(
res
)
=>
{
setTimeout
(
function
()
{
_this
.
isClick
=
false
;
},
3000
)
this
.
hasError
=
true
console
.
log
(
res
)
});
}
},
},
submitModify
:
function
()
{
submitModify
:
function
()
{
if
(
!
this
.
title_new
||
!
this
.
title_new
.
trim
())
{
if
(
!
this
.
title_new
||
!
this
.
title_new
.
trim
())
{
...
@@ -538,6 +606,8 @@
...
@@ -538,6 +606,8 @@
name
:
this
.
username
,
name
:
this
.
username
,
title
:
this
.
title_new
,
title
:
this
.
title_new
,
desc
:
this
.
form
.
desc_new
,
desc
:
this
.
form
.
desc_new
,
strategy
:
this
.
form
.
strategy_new
,
reference
:
this
.
form
.
reference_new
,
url
:
this
.
avatar_url_new
,
url
:
this
.
avatar_url_new
,
isNew
:
this
.
isNew
isNew
:
this
.
isNew
}
}
...
@@ -546,6 +616,9 @@
...
@@ -546,6 +616,9 @@
this
.
dialogFormVisible
=
false
this
.
dialogFormVisible
=
false
this
.
isNew
=
false
this
.
isNew
=
false
this
.
form
.
desc
=
this
.
form
.
desc_new
this
.
form
.
desc
=
this
.
form
.
desc_new
this
.
form
.
strategy
=
this
.
form
.
strategy_new
this
.
form
.
reference
=
this
.
form
.
reference_new
this
.
avatar_url
=
this
.
avatar_url_new
this
.
avatar_url
=
this
.
avatar_url_new
this
.
title
=
this
.
title_new
this
.
title
=
this
.
title_new
this
.
$notify
({
this
.
$notify
({
...
@@ -633,24 +706,23 @@
...
@@ -633,24 +706,23 @@
margin-bottom
:
20px
;
margin-bottom
:
20px
;
margin-top
:
-30px
;
margin-top
:
-30px
;
}
}
.el-upload__input
{
.el-upload__input
{}
}
.el-upload__tip
{}
.el-upload__tip
{
}
.avatar-uploader
.el-upload
{
.avatar-uploader
.el-upload
{
border
:
1px
dashed
#d9d9d9
;
border
:
1px
dashed
#d9d9d9
;
border-radius
:
6px
;
border-radius
:
6px
;
cursor
:
pointer
;
cursor
:
pointer
;
position
:
relative
;
position
:
relative
;
overflow
:
hidden
;
overflow
:
hidden
;
}
}
.avatar-uploader
.el-upload
:hover
{
.avatar-uploader
.el-upload
:hover
{
border-color
:
#20a0ff
;
border-color
:
#20a0ff
;
}
}
.avatar-uploader-icon
{
.avatar-uploader-icon
{
font-size
:
28px
;
font-size
:
28px
;
color
:
#8c939d
;
color
:
#8c939d
;
...
@@ -659,12 +731,13 @@
...
@@ -659,12 +731,13 @@
line-height
:
178px
;
line-height
:
178px
;
text-align
:
center
;
text-align
:
center
;
}
}
.avatar
{
.avatar
{
width
:
178px
;
width
:
178px
;
height
:
178px
;
height
:
178px
;
display
:
block
;
display
:
block
;
}
}
.time
{
.time
{
font-size
:
13px
;
font-size
:
13px
;
color
:
#999
;
color
:
#999
;
...
@@ -674,25 +747,32 @@
...
@@ -674,25 +747,32 @@
margin-top
:
13px
;
margin-top
:
13px
;
line-height
:
12px
;
line-height
:
12px
;
}
}
.button
{
.button
{
padding
:
0
;
padding
:
0
;
float
:
right
;
float
:
right
;
}
}
.image
{
.image
{
width
:
100%
;
width
:
100%
;
display
:
block
;
display
:
block
;
}
}
.clearfix
:before
,
.clearfix
:before
,
.clearfix
:after
{
.clearfix
:after
{
display
:
table
;
display
:
table
;
content
:
""
;
content
:
""
;
}
}
.clearfix
:after
{
.clearfix
:after
{
clear
:
both
clear
:
both
}
}
</
style
>
pre
{
white-space
:
pre-wrap
;
white-space
:
-moz-pre-wrap
;
white-space
:
-pre-wrap
;
white-space
:
-o-pre-wrap
;
word-wrap
:
break-word
;
}
</
style
>
\ No newline at end of file
src/components/Profile.vue
View file @
725dd9b4
...
@@ -86,6 +86,50 @@
...
@@ -86,6 +86,50 @@
</table>
</table>
</div>
</div>
</div>
</div>
<div
class=
"alert alert-info alert-dismissible"
role=
"alert"
>
<button
type=
"button"
class=
"close"
data-dismiss=
"alert"
aria-label=
"Close"
><span
aria-hidden=
"true"
>
×
</span></button>
{{
lang
.
tagInfo
}}
</div>
<div
class=
"panel panel-default"
>
<div
class=
"panel-heading"
>
<h3
class=
"panel-title"
>
{{
lang
.
athleticDueHistory
}}
</h3>
</div>
<!--
<div
class=
"panel-body"
>
-->
<!--
<div
style=
"width:100%;overflow-x:auto;overflow-y:hidden;"
>
<table
id=
"rank"
class=
"table table-striped table-bordered table-hover example"
></table>
</div>
-->
<div
class=
"table-responsive"
style=
"width:100%;overflow-x:auto;overflow-y:hidden;"
>
<table
id=
"athletic_rank"
class=
"table table-striped table-bordered table-hover example"
:class=
"
{ scroll: isMobile }">
</table>
</div>
<!--
</div>
-->
<!--
<div
class=
"table-responsive"
style=
"width:100%;overflow-x:auto;overflow-y:hidden;"
>
<table
id=
"rank"
class=
"table table-striped table-bordered table-hover example"
:class=
"
{ scroll: isMobile }" >
</table>
</div>
-->
</div>
<div
class=
"panel panel-default"
>
<div
class=
"panel-heading"
>
<h3
class=
"panel-title"
>
{{
lang
.
entertainDueHistory
}}
</h3>
</div>
<!--
<div
class=
"panel-body"
>
-->
<!--
<div
style=
"width:100%;overflow-x:auto;overflow-y:hidden;"
>
<table
id=
"rank"
class=
"table table-striped table-bordered table-hover example"
></table>
</div>
-->
<div
class=
"table-responsive"
style=
"width:100%;overflow-x:auto;overflow-y:hidden;"
>
<table
id=
"entertain_rank"
class=
"table table-striped table-bordered table-hover example"
:class=
"
{ scroll: isMobile }">
</table>
</div>
<!--
</div>
-->
<!--
<div
class=
"table-responsive"
style=
"width:100%;overflow-x:auto;overflow-y:hidden;"
>
<table
id=
"rank"
class=
"table table-striped table-bordered table-hover example"
:class=
"
{ scroll: isMobile }" >
</table>
</div>
-->
</div>
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -97,9 +141,15 @@
...
@@ -97,9 +141,15 @@
import
API
from
'
../api
'
import
API
from
'
../api
'
import
{
mapGetters
}
from
'
vuex
'
import
{
mapGetters
}
from
'
vuex
'
var
rankTable
;
var
rankTable2
;
import
moment
from
'
moment
'
import
tb_language
from
'
./tb_lang.js
'
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
isMobile
:
false
,
user_info
:
{
user_info
:
{
exp
:
0
,
exp
:
0
,
pt
:
500
,
pt
:
500
,
...
@@ -125,7 +175,34 @@
...
@@ -125,7 +175,34 @@
}),
}),
},
},
mounted
:
function
()
{
var
_this
=
this
$
(
"
#search
"
).
click
(
function
()
{
_this
.
renderPage
();
})
// this.init()
// window.onhashchange = this.init;
this
.
renderPage
();
},
created
:
function
()
{
created
:
function
()
{
var
regex_match
=
/
(
nokia|iphone|android|motorola|^mot-|softbank|foma|docomo|kddi|up.browser|up.link|htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|CoolPad|webos|techfaith|palmsource|blackberry|alcatel|amoi|ktouch|nexian|samsung|^sam-|s
[
cg
]
h|^lge|ericsson|philips|sagem|wellcom|bunjalloo|maui|symbian|smartphone|midp|wap|phone|windows ce|iemobile|^spice|^bird|^zte-|longcos|pantech|gionee|^sie-|portalmmm|jigs browser|hiptop|^benq|haier|^lct|operas*mobi|opera*mini|320x320|240x320|176x220
)
/i
;
var
u
=
navigator
.
userAgent
;
if
(
null
==
u
)
{
return
true
;
}
var
result
=
regex_match
.
exec
(
u
);
if
(
null
==
result
)
{
this
.
isMobile
=
false
;
}
else
{
this
.
isMobile
=
true
;
}
let
opt
=
{
let
opt
=
{
'
username
'
:
this
.
user
.
username
'
username
'
:
this
.
user
.
username
}
}
...
@@ -138,6 +215,106 @@
...
@@ -138,6 +215,106 @@
methods
:
{
methods
:
{
init
:
function
()
{
init
:
function
()
{
},
},
renderPage
:
function
()
{
if
(
rankTable
)
{
rankTable
.
destroy
();
}
if
(
rankTable2
)
{
rankTable2
.
destroy
();
}
var
username
=
this
.
user
.
username
var
type
=
1
;
rankTable
=
this
.
renderRankTable
(
"
#athletic_rank
"
);
rankTable2
=
this
.
renderRankTable
(
"
#entertain_rank
"
);
if
(
!
username
)
return
;
API
.
getUserDueHistory
({
username
:
username
,
type
:
"
1
"
,
page_num
:
100
}).
then
((
res
)
=>
{
if
(
rankTable
)
{
rankTable
.
destroy
();
}
rankTable
=
this
.
renderRankTable
(
"
#athletic_rank
"
,
res
.
data
.
data
)
},
(
res
)
=>
{
console
.
log
(
res
)
});
API
.
getUserDueHistory
({
username
:
username
,
type
:
"
2
"
,
page_num
:
100
}).
then
((
res
)
=>
{
if
(
rankTable2
)
{
rankTable2
.
destroy
();
}
rankTable2
=
this
.
renderRankTable
(
"
#entertain_rank
"
,
res
.
data
.
data
)
},
(
res
)
=>
{
console
.
log
(
res
)
});
},
renderRankTable
:
function
(
id
,
tableData
)
{
tableData
=
tableData
||
[];
var
lang
=
localStorage
.
getItem
(
'
lang
'
)
||
'
cn
'
;
var
rank
=
1
;
var
processData
=
tableData
.
map
(
function
(
d
)
{
return
[
d
.
usernamea
,
d
.
usernameb
,
moment
(
d
.
start_time
).
format
(
'
YYYY-MM-DD HH:mm
'
),
moment
(
d
.
end_time
).
format
(
'
YYYY-MM-DD HH:mm
'
),
d
.
userscorea
,
d
.
userscoreb
];
});
var
table
=
$
(
id
).
DataTable
({
paging
:
true
,
searching
:
false
,
ordering
:
false
,
lengthChange
:
false
,
info
:
false
,
data
:
processData
,
columns
:
[
{
title
:
tb_language
[
lang
].
playerA
},
{
title
:
tb_language
[
lang
].
playerB
},
{
title
:
tb_language
[
lang
].
startTime
},
{
title
:
tb_language
[
lang
].
endTime
},
],
"
columnDefs
"
:
[
{
"
render
"
:
function
(
data
,
type
,
row
)
{
var
userscorea
=
row
[
4
];
var
userscoreb
=
row
[
5
];
if
(
userscorea
<
0
)
{
return
"
<a href='#/userinfo?username=
"
+
data
+
"
'><span class='label label-danger'>
"
+
data
+
"
</span></a>
"
;
}
if
(
userscorea
>
userscoreb
)
{
return
"
<a href='#/userinfo?username=
"
+
data
+
"
'><span class='label label-success'>
"
+
data
+
"
</span></a>
"
;
}
return
"
<a href='#/userinfo?username=
"
+
data
+
"
'><span class='label label-info'>
"
+
data
+
"
</span></a>
"
;
},
"
targets
"
:
0
},
{
"
render
"
:
function
(
data
,
type
,
row
)
{
var
userscorea
=
row
[
4
];
var
userscoreb
=
row
[
5
];
if
(
userscoreb
<
0
)
{
return
"
<a href='#/userinfo?username=
"
+
data
+
"
'><span class='label label-danger'>
"
+
data
+
"
</span></a>
"
;
}
if
(
userscorea
<
userscoreb
)
{
return
"
<a href='#/userinfo?username=
"
+
data
+
"
'><span class='label label-success'>
"
+
data
+
"
</span></a>
"
;
}
return
"
<a href='#/userinfo?username=
"
+
data
+
"
'><span class='label label-info'>
"
+
data
+
"
</span></a>
"
;
},
"
targets
"
:
1
},
],
"
language
"
:
lang
===
'
en
'
?
tb_language
.
en
:
tb_language
.
cn
});
return
table
;
},
},
},
}
}
...
...
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