Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
A
alumni-show-h5
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
alumni-show-h5
Commits
0d0d7d2a
提交
0d0d7d2a
authored
10月 11, 2020
作者:
王鹏飞
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update
上级
b174ce76
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
105 行增加
和
108 行删除
+105
-108
home_kelley.png
public/img/home_kelley.png
+0
-0
home_sofia.png
public/img/home_sofia.png
+0
-0
Form.vue
src/components/Form.vue
+21
-38
Update.vue
src/views/activity/Update.vue
+3
-8
Activity.vue
src/views/create/Activity.vue
+56
-41
Index.vue
src/views/home/Index.vue
+25
-21
没有找到文件。
public/img/home_kelley.png
0 → 100644
浏览文件 @
0d0d7d2a
75.2 KB
public/img/home_sofia.png
0 → 100644
浏览文件 @
0d0d7d2a
112.4 KB
src/components/Form.vue
浏览文件 @
0d0d7d2a
<
template
>
<
template
>
<van-form
<van-form
ref=
"form"
class=
"form"
validate-trigger=
"onChange"
v-bind=
"$attrs"
v-on=
"$listeners"
>
ref=
"form"
class=
"form"
label-width=
"100%"
validate-trigger=
"onChange"
v-bind=
"$attrs"
v-on=
"$listeners"
>
<template
v-for=
"(item, index) in fields"
>
<template
v-for=
"(item, index) in fields"
>
<div
class=
"form-item"
:key=
"index"
>
<div
class=
"form-item"
:key=
"index"
>
<!-- 时间 -->
<!-- 时间 -->
...
@@ -22,10 +15,10 @@
...
@@ -22,10 +15,10 @@
@
click=
"showPicker(item)"
@
click=
"showPicker(item)"
v-if=
"item.isShow ? item.isShow(ruleForm) : true"
v-if=
"item.isShow ? item.isShow(ruleForm) : true"
>
>
<template
#
label
>
<
!--
<
template
#
label
>
{{
item
.
label
}}
{{
item
.
label
}}
<span
class=
"red"
v-if=
"item.required"
>
*
</span>
<span
class=
"red"
v-if=
"item.required"
>
*
</span>
</
template
>
</
template
>
-->
</van-field>
</van-field>
</template>
</template>
...
@@ -42,10 +35,10 @@
...
@@ -42,10 +35,10 @@
@
click=
"showPicker(item)"
@
click=
"showPicker(item)"
v-if=
"item.isShow ? item.isShow(ruleForm) : true"
v-if=
"item.isShow ? item.isShow(ruleForm) : true"
>
>
<template
#
label
>
<
!--
<
template
#
label
>
{{
item
.
label
}}
{{
item
.
label
}}
<span
class=
"red"
v-if=
"item.required"
>
*
</span>
<span
class=
"red"
v-if=
"item.required"
>
*
</span>
</
template
>
</
template
>
-->
</van-field>
</van-field>
</template>
</template>
...
@@ -62,10 +55,10 @@
...
@@ -62,10 +55,10 @@
@
click=
"showPicker(item)"
@
click=
"showPicker(item)"
v-if=
"item.isShow ? item.isShow(ruleForm) : true"
v-if=
"item.isShow ? item.isShow(ruleForm) : true"
>
>
<template
#
label
>
<
!--
<
template
#
label
>
{{
item
.
label
}}
{{
item
.
label
}}
<span
class=
"red"
v-if=
"item.required"
>
*
</span>
<span
class=
"red"
v-if=
"item.required"
>
*
</span>
</
template
>
</
template
>
-->
</van-field>
</van-field>
</template>
</template>
...
@@ -78,10 +71,10 @@
...
@@ -78,10 +71,10 @@
v-model=
"ruleForm[item.name]"
v-model=
"ruleForm[item.name]"
v-if=
"item.isShow ? item.isShow(ruleForm) : true"
v-if=
"item.isShow ? item.isShow(ruleForm) : true"
>
>
<template
#
label
>
<
!--
<
template
#
label
>
{{
item
.
label
}}
{{
item
.
label
}}
<span
class=
"red"
v-if=
"item.required"
>
*
</span>
<span
class=
"red"
v-if=
"item.required"
>
*
</span>
</
template
>
</
template
>
-->
<
template
#
input
>
<
template
#
input
>
<upload
v-model=
"ruleForm[item.name]"
:max-count=
"1"
/>
<upload
v-model=
"ruleForm[item.name]"
:max-count=
"1"
/>
</
template
>
</
template
>
...
@@ -96,10 +89,10 @@
...
@@ -96,10 +89,10 @@
v-bind=
"item"
v-bind=
"item"
v-if=
"item.isShow ? item.isShow(ruleForm) : true"
v-if=
"item.isShow ? item.isShow(ruleForm) : true"
>
>
<template
#
label
>
<
!--
<
template
#
label
>
{{
item
.
label
}}
{{
item
.
label
}}
<span
class=
"red"
v-if=
"item.required"
>
*
</span>
<span
class=
"red"
v-if=
"item.required"
>
*
</span>
</
template
>
</
template
>
-->
<
template
#
input
>
<
template
#
input
>
<UpliadMultiple
v-model=
"ruleForm[item.name]"
/>
<UpliadMultiple
v-model=
"ruleForm[item.name]"
/>
</
template
>
</
template
>
...
@@ -114,16 +107,12 @@
...
@@ -114,16 +107,12 @@
v-bind=
"item"
v-bind=
"item"
v-if=
"item.isShow ? item.isShow(ruleForm) : true"
v-if=
"item.isShow ? item.isShow(ruleForm) : true"
>
>
<template
#
label
>
<
!--
<
template
#
label
>
{{
item
.
label
}}
{{
item
.
label
}}
<span
class=
"red"
v-if=
"item.required"
>
*
</span>
<span
class=
"red"
v-if=
"item.required"
>
*
</span>
</
template
>
</
template
>
-->
<
template
#
input
>
<
template
#
input
>
<UploadVideo
<UploadVideo
v-on=
"$listeners"
v-model=
"ruleForm[item.name]"
accept=
"video/*"
/>
v-on=
"$listeners"
v-model=
"ruleForm[item.name]"
accept=
"video/*"
/>
</
template
>
</
template
>
</van-field>
</van-field>
</template>
</template>
...
@@ -137,21 +126,17 @@
...
@@ -137,21 +126,17 @@
v-model=
"ruleForm[item.name]"
v-model=
"ruleForm[item.name]"
v-if=
"item.isShow ? item.isShow(ruleForm) : true"
v-if=
"item.isShow ? item.isShow(ruleForm) : true"
>
>
<template
#
label
>
<
!--
<
template
#
label
>
{{
item
.
label
}}
{{
item
.
label
}}
<span
class=
"red"
v-if=
"item.required"
>
*
</span>
<span
class=
"red"
v-if=
"item.required"
>
*
</span>
</
template
>
</
template
>
-->
<
template
#
input
>
<
template
#
input
>
<van-radio-group
<van-radio-group
v-model=
"ruleForm[item.name]"
direction=
"horizontal"
>
v-model=
"ruleForm[item.name]"
direction=
"horizontal"
>
<van-radio
<van-radio
:name=
"item.name"
:name=
"item.name"
v-for=
"item in item.values"
v-for=
"item in item.values"
:key=
"item.name"
:key=
"item.name"
>
{{
item
.
text
}}
</van-radio
>
{{
item
.
text
}}
</van-radio>
>
</van-radio-group>
</van-radio-group>
</
template
>
</
template
>
</van-field>
</van-field>
...
@@ -166,10 +151,10 @@
...
@@ -166,10 +151,10 @@
v-model=
"ruleForm[item.name]"
v-model=
"ruleForm[item.name]"
v-if=
"item.isShow ? item.isShow(ruleForm) : true"
v-if=
"item.isShow ? item.isShow(ruleForm) : true"
>
>
<template
#
label
>
<
!--
<
template
#
label
>
{{
item
.
label
}}
{{
item
.
label
}}
<span
class=
"red"
v-if=
"item.required"
>
*
</span>
<span
class=
"red"
v-if=
"item.required"
>
*
</span>
</
template
>
</
template
>
-->
</van-field>
</van-field>
</template>
</template>
...
@@ -297,9 +282,7 @@ export default {
...
@@ -297,9 +282,7 @@ export default {
},
},
// 时间选择确定
// 时间选择确定
onTimePickerConfirm
(
time
)
{
onTimePickerConfirm
(
time
)
{
this
.
ruleForm
[
this
.
picker
.
name
]
=
dayjs
(
time
)
this
.
ruleForm
[
this
.
picker
.
name
]
=
dayjs
(
time
).
second
(
0
).
format
(
'YYYY-MM-DD HH:mm:ss'
)
.
second
(
0
)
.
format
(
'YYYY-MM-DD HH:mm:ss'
)
this
.
picker
.
visible
=
false
this
.
picker
.
visible
=
false
},
},
// 地区选择确定
// 地区选择确定
...
...
src/views/activity/Update.vue
浏览文件 @
0d0d7d2a
...
@@ -2,12 +2,7 @@
...
@@ -2,12 +2,7 @@
<div
class=
"main"
>
<div
class=
"main"
>
<card
title=
"编辑活动"
>
<card
title=
"编辑活动"
>
<v-form
ref=
"form"
:model=
"formModel"
:fields=
"fields"
@
submit=
"onSubmit"
>
<v-form
ref=
"form"
:model=
"formModel"
:fields=
"fields"
@
submit=
"onSubmit"
>
<input
<input
type=
"button"
value=
"提交"
class=
"submit-button"
@
click=
"handleSubmit"
/>
type=
"button"
value=
"提交"
class=
"submit-button"
@
click=
"handleSubmit"
/>
</v-form>
</v-form>
</card>
</card>
</div>
</div>
...
@@ -90,8 +85,8 @@ export default {
...
@@ -90,8 +85,8 @@ export default {
rules
:
[{
required
:
true
,
message
:
'请选择本活动对哪些用户组可见'
}],
rules
:
[{
required
:
true
,
message
:
'请选择本活动对哪些用户组可见'
}],
values
:
[
values
:
[
{
text
:
'所有人可见'
,
value
:
'1'
},
{
text
:
'所有人可见'
,
value
:
'1'
},
{
text
:
'所在组织可见'
,
value
:
'2'
}
,
{
text
:
'所在组织可见'
,
value
:
'2'
}
{
text
:
'审核组织可见'
,
value
:
'3'
}
//
{ text: '审核组织可见', value: '3' }
]
]
}
}
],
],
...
...
src/views/create/Activity.vue
浏览文件 @
0d0d7d2a
...
@@ -2,7 +2,7 @@
...
@@ -2,7 +2,7 @@
<div
class=
"main"
>
<div
class=
"main"
>
<card
title=
"创建活动"
>
<card
title=
"创建活动"
>
<v-form
ref=
"form"
:model=
"formModel"
:fields=
"fields"
@
submit=
"onSubmit"
>
<v-form
ref=
"form"
:model=
"formModel"
:fields=
"fields"
@
submit=
"onSubmit"
>
<input
type=
"button"
value=
"
确认创建,提交审核
"
class=
"submit-button"
@
click=
"handleSubmit"
/>
<input
type=
"button"
value=
"
创建
"
class=
"submit-button"
@
click=
"handleSubmit"
/>
</v-form>
</v-form>
</card>
</card>
</div>
</div>
...
@@ -25,32 +25,46 @@ export default {
...
@@ -25,32 +25,46 @@ export default {
name
:
'activity_image'
,
name
:
'activity_image'
,
label
:
'封面'
,
label
:
'封面'
,
required
:
true
,
required
:
true
,
placeholder
:
'
请上传
活动封面'
,
placeholder
:
'
添加
活动封面'
,
rules
:
[{
required
:
true
,
message
:
'请上传活动封面'
}]
rules
:
[{
required
:
true
,
message
:
'请上传活动封面'
}]
},
},
{
{
name
:
'activity_name'
,
name
:
'activity_name'
,
label
:
'
主题
'
,
label
:
'
活动名称
'
,
required
:
true
,
required
:
true
,
placeholder
:
'请输入活动
主题
'
,
placeholder
:
'请输入活动
名称
'
,
rules
:
[{
required
:
true
,
message
:
'请输入活动
主题
'
}]
rules
:
[{
required
:
true
,
message
:
'请输入活动
名称
'
}]
},
},
{
{
type
:
'textarea
'
,
fieldType
:
'select
'
,
name
:
'activity_
contents
'
,
name
:
'activity_
demand_type
'
,
label
:
'
描述
'
,
label
:
'
活动类型
'
,
required
:
true
,
required
:
true
,
placeholder
:
'请简单描述一下该活动'
,
placeholder
:
'请选择活动类型'
,
autosize
:
{
maxHeight
:
120
,
minHeight
:
120
},
rules
:
[{
required
:
true
,
message
:
'请选择活动类型'
}],
rules
:
[{
required
:
true
,
message
:
'请简单描述一下该活动'
}]
values
:
[
{
text
:
'公益行'
,
value
:
'1'
},
{
text
:
'去游学'
,
value
:
'2'
},
{
text
:
'直播课'
,
value
:
'3'
},
// { text: '找工作', value: '4' },
{
text
:
'运动家'
,
value
:
'5'
}
]
},
},
{
{
fieldType
:
'
datetime
'
,
fieldType
:
'
select
'
,
name
:
'
activity_time
'
,
name
:
'
org_id
'
,
label
:
'
时间
'
,
label
:
'
发起组织
'
,
required
:
true
,
required
:
true
,
placeholder
:
'请选择活动时间'
,
placeholder
:
'请选择发起组织'
,
rules
:
[{
required
:
true
,
message
:
'请选择活动时间'
}]
rules
:
[{
required
:
true
,
message
:
'请选择发起组织'
}],
labelKey
:
'org_name'
,
valueKey
:
'id'
,
remote
:
{
method
:
api
.
getJoinedGroupes
,
callback
(
response
)
{
return
response
.
filter
(
item
=>
item
.
is_mine
)
}
}
},
},
{
{
name
:
'activity_city'
,
name
:
'activity_city'
,
...
@@ -61,46 +75,47 @@ export default {
...
@@ -61,46 +75,47 @@ export default {
},
},
{
{
name
:
'activity_address'
,
name
:
'activity_address'
,
label
:
'
具体地址
'
,
label
:
'
地点
'
,
required
:
true
,
required
:
true
,
placeholder
:
'请输入活动
具体地址
'
,
placeholder
:
'请输入活动
地点
'
,
rules
:
[{
required
:
true
,
message
:
'请输入活动
具体地址
'
}]
rules
:
[{
required
:
true
,
message
:
'请输入活动
地点
'
}]
},
},
{
{
name
:
'participator_limit'
,
fieldType
:
'datetime'
,
label
:
'人数'
,
name
:
'activity_time'
,
label
:
'时间'
,
required
:
true
,
required
:
true
,
placeholder
:
'请
输入活动人数
'
,
placeholder
:
'请
选择活动时间
'
,
rules
:
[{
required
:
true
,
message
:
'请
输入活动人数
'
}]
rules
:
[{
required
:
true
,
message
:
'请
选择活动时间
'
}]
},
},
{
{
fieldType
:
'select'
,
name
:
'participator_limit'
,
name
:
'org_id'
,
label
:
'人数上限'
,
label
:
'审核渠道'
,
required
:
true
,
required
:
true
,
placeholder
:
'请选择审核本活动的上级组织'
,
placeholder
:
'请输入活动人数'
,
rules
:
[{
required
:
true
,
message
:
'请选择审核本活动的上级组织'
}],
rules
:
[{
required
:
true
,
message
:
'请输入活动人数'
}]
labelKey
:
'org_name'
,
valueKey
:
'id'
,
remote
:
{
method
:
api
.
getJoinedGroupes
,
callback
(
response
)
{
return
response
.
filter
(
item
=>
item
.
is_mine
)
}
}
},
},
{
{
fieldType
:
'select'
,
fieldType
:
'select'
,
name
:
'visibility'
,
name
:
'visibility'
,
label
:
'
活动可见性
'
,
label
:
'
对谁可见
'
,
required
:
true
,
required
:
true
,
placeholder
:
'请选择本活动对
哪些用户组
可见'
,
placeholder
:
'请选择本活动对
谁
可见'
,
rules
:
[{
required
:
true
,
message
:
'请选择本活动对
哪些用户组
可见'
}],
rules
:
[{
required
:
true
,
message
:
'请选择本活动对
谁
可见'
}],
values
:
[
values
:
[
{
text
:
'所有人可见'
,
value
:
'1'
},
{
text
:
'所有人可见'
,
value
:
'1'
},
{
text
:
'所在组织可见'
,
value
:
'2'
}
,
{
text
:
'所在组织可见'
,
value
:
'2'
}
{
text
:
'审核组织可见'
,
value
:
'3'
}
//
{ text: '审核组织可见', value: '3' }
]
]
},
{
type
:
'textarea'
,
name
:
'activity_contents'
,
label
:
'简介'
,
required
:
true
,
placeholder
:
'请简单描述一下该活动'
,
autosize
:
{
maxHeight
:
120
,
minHeight
:
120
},
rules
:
[{
required
:
true
,
message
:
'请简单描述一下该活动'
}]
}
}
],
],
groups
:
[]
groups
:
[]
...
...
src/views/home/Index.vue
浏览文件 @
0d0d7d2a
...
@@ -16,7 +16,7 @@
...
@@ -16,7 +16,7 @@
@
click=
"handleNavClick(item)"
@
click=
"handleNavClick(item)"
>
>
<div
class=
"pic"
>
<div
class=
"pic"
>
<img
:src=
"item.
url
"
/>
<img
:src=
"item.
src
"
/>
</div>
</div>
<div
class=
"title"
>
{{
item
.
title
}}
</div>
<div
class=
"title"
>
{{
item
.
title
}}
</div>
</li>
</li>
...
@@ -34,16 +34,13 @@
...
@@ -34,16 +34,13 @@
</div>
</div>
<card
title=
"热门推荐"
>
<card
title=
"热门推荐"
>
<div
class=
"popular-list"
>
<div
class=
"popular-list"
>
<div
<div
class=
"popular-item"
v-for=
"(item, index) in popularList"
:key=
"index"
>
class=
"popular-item"
<a
:href=
"item.href"
>
v-for=
"item in popularList"
<div
class=
"popular-item-pic"
>
:key=
"item.id"
<img
:src=
"item.src"
/>
@
click=
"$router.push(
{ name: 'groupItem', params: { id: item.id } })"
</div>
>
<div
class=
"popular-item-main"
>
{{
item
.
title
}}
</div>
<div
class=
"popular-item-pic"
>
</a>
<img
:src=
"item.logo"
/>
</div>
<div
class=
"popular-item-main"
>
{{
item
.
org_name
}}
</div>
</div>
</div>
</div>
</div>
</card>
</card>
...
@@ -69,13 +66,24 @@ export default {
...
@@ -69,13 +66,24 @@ export default {
data
()
{
data
()
{
return
{
return
{
navList
:
[
navList
:
[
{
url
:
'img/home_nav_01.png'
,
title
:
'公益行'
,
type
:
1
},
{
src
:
'img/home_nav_01.png'
,
title
:
'公益行'
,
type
:
1
},
{
url
:
'img/home_nav_02.png'
,
title
:
'去游学'
,
type
:
2
},
{
src
:
'img/home_nav_02.png'
,
title
:
'去游学'
,
type
:
2
},
{
url
:
'img/home_nav_03.png'
,
title
:
'直播课'
,
type
:
3
},
{
src
:
'img/home_nav_03.png'
,
title
:
'直播课'
,
type
:
3
},
// {
url
: 'img/home_nav_04.png', title: '找工作', type: 4 },
// {
src
: 'img/home_nav_04.png', title: '找工作', type: 4 },
{
url
:
'img/home_nav_04.png'
,
title
:
'运动家'
,
type
:
5
}
{
src
:
'img/home_nav_04.png'
,
title
:
'运动家'
,
type
:
5
}
],
],
popularList
:
[]
popularList
:
[
{
title
:
'紫荆-索菲亚FMBA项目'
,
src
:
'img/home_sofia.png'
,
href
:
'https://pages.ezijing.com/sofia-mba/mobile/channel.html?channel_num=29756'
},
{
title
:
'紫荆-Kelley金融硕士项目'
,
src
:
'img/home_kelley.png'
,
href
:
'https://pages.ezijing.com/sofia-mba/mobile/channel.html?channel_num=29756'
}
]
}
}
},
},
...
@@ -88,10 +96,6 @@ export default {
...
@@ -88,10 +96,6 @@ export default {
this
.
popularList
=
response
this
.
popularList
=
response
})
})
}
}
},
beforeMount
()
{
this
.
getPopular
()
}
}
}
}
</
script
>
</
script
>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论