Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
A
alumni-show-h5
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
alumni-show-h5
Commits
6248f4f5
提交
6248f4f5
authored
6月 12, 2020
作者:
王鹏飞
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
chore: 增加组织编辑页面
上级
b4fa39bb
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
361 行增加
和
7 行删除
+361
-7
MyGroupItem.vue
src/components/MyGroupItem.vue
+10
-3
index.js
src/router/index.js
+13
-1
Update.vue
src/views/activity/Update.vue
+141
-0
Activity.vue
src/views/create/Activity.vue
+11
-1
Item.vue
src/views/group/Item.vue
+2
-2
Update.vue
src/views/group/Update.vue
+184
-0
没有找到文件。
src/components/MyGroupItem.vue
浏览文件 @
6248f4f5
...
...
@@ -11,7 +11,7 @@
<b>
类型:
</b><span>
{{
data
.
org_type_str
}}
</span>
</p>
<p>
<b>
宗旨:
</b><span>
{{
data
.
org_nam
e
}}
</span>
<b>
宗旨:
</b><span>
{{
data
.
purpos
e
}}
</span>
</p>
<p>
<b>
审核状态:
</b
...
...
@@ -25,8 +25,15 @@
</div>
<div
class=
"my-group-item-ft"
>
<ul>
<li
v-if=
"data.is_mine"
>
<div
class=
"button default-button"
>
编辑
</div>
<li
v-if=
"data.is_mine && data.approve_status === '-1'"
>
<div
class=
"button default-button"
@
click
.
stop=
"
$router.push(
{ name: 'groupUpdate', params: { id: data.id } })
"
>
编辑
</div>
</li>
<li
v-else
><div
class=
"button default-button"
>
详情
</div></li>
<li>
...
...
src/router/index.js
浏览文件 @
6248f4f5
...
...
@@ -149,12 +149,18 @@ const routes = [
name
:
'activity'
,
component
:
()
=>
import
(
'@/views/activity/Index.vue'
)
},
// 活动
个
详情
// 活动详情
{
path
:
'/activity/:id'
,
name
:
'activityItem'
,
component
:
()
=>
import
(
'@/views/activity/Item.vue'
)
},
// 编辑活动
{
path
:
'/activity/:id/update'
,
name
:
'activityUpdate'
,
component
:
()
=>
import
(
'@/views/activity/Update.vue'
)
},
// 活动成员列表
{
path
:
'/activity/:id/member'
,
...
...
@@ -173,6 +179,12 @@ const routes = [
name
:
'groupItem'
,
component
:
()
=>
import
(
'@/views/group/Item.vue'
)
},
// 编辑组织
{
path
:
'/group/:id/update'
,
name
:
'groupUpdate'
,
component
:
()
=>
import
(
'@/views/group/Update.vue'
)
},
// 组织成员列表
{
path
:
'/group/:id/member'
,
...
...
src/views/activity/Update.vue
0 → 100644
浏览文件 @
6248f4f5
<
template
>
<div
class=
"main"
>
<card
title=
"创建活动"
>
<v-form
ref=
"form"
:model=
"formModel"
:fields=
"fields"
@
submit=
"onSubmit"
>
<input
type=
"button"
value=
"确认创建,提交审核"
class=
"submit-button"
@
click=
"handleSubmit"
/>
</v-form>
</card>
</div>
</
template
>
<
script
>
import
Card
from
'@/components/Card'
import
VForm
from
'@/components/Form'
import
*
as
api
from
'@/api'
export
default
{
name
:
'CreateActivity'
,
components
:
{
Card
,
VForm
},
data
()
{
return
{
formModel
:
{},
fields
:
[
{
name
:
'activity_name'
,
label
:
'主题'
,
required
:
true
,
placeholder
:
'请输入活动主题'
,
rules
:
[{
required
:
true
,
message
:
'请输入活动主题'
}]
},
{
fieldType
:
'uploader'
,
name
:
'activity_image'
,
label
:
'封面'
,
required
:
true
,
placeholder
:
'请上传活动封面'
},
{
type
:
'textarea'
,
name
:
'activity_contents'
,
label
:
'描述'
,
required
:
true
,
placeholder
:
'请简单描述一下该活动'
,
autosize
:
{
maxHeight
:
120
,
minHeight
:
120
},
rules
:
[{
required
:
true
,
message
:
'请简单描述一下该活动'
}]
},
{
fieldType
:
'datetime'
,
name
:
'activity_time'
,
label
:
'时间'
,
required
:
true
,
placeholder
:
'请选择活动时间'
,
rules
:
[{
required
:
true
,
message
:
'请选择活动时间'
}]
},
{
name
:
'activity_city'
,
label
:
'城市'
,
required
:
true
,
placeholder
:
'请输入活动城市'
,
rules
:
[{
required
:
true
,
message
:
'请输入活动城市'
}]
},
{
name
:
'activity_address'
,
label
:
'具体地址'
,
required
:
true
,
placeholder
:
'请输入活动具体地址'
,
rules
:
[{
required
:
true
,
message
:
'请输入活动具体地址'
}]
},
{
fieldType
:
'select'
,
name
:
'org_id'
,
label
:
'审核渠道'
,
required
:
true
,
placeholder
:
'请选择审核本活动的上级组织'
,
rules
:
[{
required
:
true
,
message
:
'请选择审核本活动的上级组织'
}],
labelKey
:
'org_name'
,
valueKey
:
'id'
,
remote
:
{
method
:
api
.
getJoinedGroupes
}
},
{
fieldType
:
'select'
,
name
:
'visibility'
,
label
:
'活动可见性'
,
required
:
true
,
placeholder
:
'请选择本活动对哪些用户组可见'
,
rules
:
[{
required
:
true
,
message
:
'请选择本活动对哪些用户组可见'
}],
values
:
[
{
text
:
'所有人可见'
,
value
:
'1'
},
{
text
:
'所在组织可见'
,
value
:
'2'
},
{
text
:
'审核组织可见'
,
value
:
'3'
}
]
}
],
groups
:
[]
}
},
watch
:
{
$route
:
{
immediate
:
true
,
deep
:
true
,
handler
(
route
)
{
this
.
formModel
=
Object
.
assign
(
this
.
formModel
,
route
.
query
)
}
}
},
methods
:
{
handleSubmit
()
{
this
.
$refs
.
form
.
submit
()
},
onSubmit
(
data
)
{
const
ruleForm
=
this
.
$refs
.
form
.
ruleForm
if
(
data
.
activity_image
)
{
const
[
first
=
{
url
:
''
}]
=
data
.
activity_image
data
.
activity_image
=
first
.
url
}
data
.
org_id
=
ruleForm
.
org_id
data
.
visibility
=
ruleForm
.
visibility
api
.
addActivity
(
data
).
then
(
response
=>
{
if
(
response
.
success
)
{
this
.
$dialog
.
alert
({
confirmButtonText
:
'确定'
,
message
:
'活动创建成功,已提交审核'
})
.
then
(()
=>
{
this
.
$router
.
replace
({
name
:
'my'
,
query
:
{
tab
:
'1'
}
})
})
}
else
{
this
.
$toast
(
response
.
message
)
}
})
}
}
}
</
script
>
<
style
lang=
"scss"
></
style
>
src/views/create/Activity.vue
浏览文件 @
6248f4f5
<
template
>
<div
class=
"main"
>
<card
title=
"创建活动"
>
<v-form
ref=
"form"
:fields=
"fields"
@
submit=
"onSubmit"
>
<v-form
ref=
"form"
:
model=
"formModel"
:
fields=
"fields"
@
submit=
"onSubmit"
>
<input
type=
"button"
value=
"确认创建,提交审核"
...
...
@@ -23,6 +23,7 @@ export default {
components
:
{
Card
,
VForm
},
data
()
{
return
{
formModel
:
{},
fields
:
[
{
name
:
'activity_name'
,
...
...
@@ -97,6 +98,15 @@ export default {
groups
:
[]
}
},
watch
:
{
$route
:
{
immediate
:
true
,
deep
:
true
,
handler
(
route
)
{
this
.
formModel
=
Object
.
assign
(
this
.
formModel
,
route
.
query
)
}
}
},
methods
:
{
handleSubmit
()
{
this
.
$refs
.
form
.
submit
()
...
...
src/views/group/Item.vue
浏览文件 @
6248f4f5
...
...
@@ -33,8 +33,8 @@
value=
"创建活动"
@
click=
"
$router.push({
name: 'create
Group
',
query: { org_
type: detail.org_type
}
name: 'create
Activity
',
query: { org_
id: detail.id
}
})
"
/>
...
...
src/views/group/Update.vue
0 → 100644
浏览文件 @
6248f4f5
<
template
>
<card
title=
"编辑组织"
style=
"margin:0 20px;"
>
<v-form
ref=
"form"
:model=
"formModel"
:fields=
"fields"
@
submit=
"onSubmit"
>
<input
type=
"button"
value=
"提交"
class=
"submit-button"
@
click=
"handleSubmit"
/>
</v-form>
</card>
</
template
>
<
script
>
import
Card
from
'@/components/Card'
import
VForm
from
'@/components/Form'
import
*
as
api
from
'@/api'
export
default
{
name
:
'CreateGroup'
,
components
:
{
Card
,
VForm
},
data
()
{
return
{
formModel
:
{},
fields
:
[
{
fieldType
:
'select'
,
name
:
'org_type'
,
label
:
'类型'
,
required
:
true
,
placeholder
:
'请选择您要创建的组织类型'
,
rules
:
[{
required
:
true
,
message
:
'请选择您要创建的组织类型'
}],
values
:
[
{
name
:
'1'
,
text
:
'地方校友会'
},
{
name
:
'2'
,
text
:
'行业研究会'
},
{
name
:
'3'
,
text
:
'俱乐部'
}
],
valueKey
:
'name'
},
{
name
:
'org_name'
,
label
:
'名称'
,
required
:
true
,
placeholder
:
'请输入组织名称'
,
rules
:
[{
required
:
true
,
message
:
'请输入组织名称'
}],
isShow
(
data
)
{
return
[
'2'
,
'3'
].
includes
(
data
.
org_type
)
}
},
{
fieldType
:
'area'
,
name
:
'area'
,
label
:
'城市'
,
required
:
true
,
placeholder
:
'选择组织所在城市'
,
rules
:
[{
required
:
true
,
message
:
'选择组织所在城市'
}],
isShow
(
data
)
{
return
[
'1'
,
'3'
].
includes
(
data
.
org_type
)
}
},
{
name
:
'industry'
,
label
:
'行业'
,
required
:
true
,
placeholder
:
'请输入组织所在行业'
,
rules
:
[{
required
:
true
,
message
:
'请输入组织所在行业'
}],
isShow
(
data
)
{
return
data
.
org_type
===
'2'
}
},
{
name
:
'purpose'
,
label
:
'宗旨'
,
required
:
true
,
placeholder
:
'请简述您的创建组织的宗旨'
,
rules
:
[{
required
:
true
,
message
:
'请简述您的创建组织的宗旨'
}]
},
{
type
:
'textarea'
,
name
:
'goal'
,
label
:
'目的'
,
required
:
true
,
placeholder
:
'请输入组织目的'
,
autosize
:
{
maxHeight
:
160
,
minHeight
:
120
},
rules
:
[{
required
:
true
,
message
:
'请输入组织目的'
}]
},
{
name
:
'initiator'
,
label
:
'发起人'
,
required
:
true
,
placeholder
:
'请输入组织发起人'
,
rules
:
[{
required
:
true
,
message
:
'请输入组织发起人'
}]
},
{
type
:
'textarea'
,
name
:
'rules'
,
label
:
'组织章程'
,
required
:
true
,
placeholder
:
'请输入组织章程'
,
autosize
:
{
maxHeight
:
160
,
minHeight
:
120
},
rules
:
[{
required
:
true
,
message
:
'请输入组织章程'
}]
},
{
type
:
'textarea'
,
name
:
'plan'
,
label
:
'活动计划'
,
required
:
true
,
placeholder
:
'请简述您所创建组织的活动计划'
,
autosize
:
{
maxHeight
:
160
,
minHeight
:
120
},
rules
:
[{
required
:
true
,
message
:
'请简述您所创建组织的活动计划'
}]
},
{
fieldType
:
'uploader'
,
name
:
'logo'
,
label
:
'头像'
,
required
:
true
,
placeholder
:
'请上传组织头像'
}
]
}
},
computed
:
{
pid
()
{
return
this
.
$route
.
params
.
id
}
},
methods
:
{
handleSubmit
()
{
this
.
$refs
.
form
.
submit
()
},
onSubmit
(
data
)
{
const
ruleForm
=
this
.
$refs
.
form
.
ruleForm
data
.
org_type
=
ruleForm
.
org_type
// 头像
if
(
data
.
logo
)
{
const
[
first
=
{
url
:
''
}]
=
data
.
logo
data
.
logo
=
first
.
url
}
// 城市
if
(
data
.
area
)
{
const
[
province
,
city
]
=
data
.
area
.
split
(
'-'
)
data
.
org_province
=
province
data
.
org_city
=
city
}
if
(
data
.
org_type
===
'1'
)
{
data
.
org_name
=
`
${
data
.
org_city
}
校友会`
}
api
.
updateGroup
(
this
.
pid
,
data
).
then
(
response
=>
{
if
(
response
.
success
)
{
this
.
$dialog
.
alert
({
confirmButtonText
:
'确定'
,
message
:
'组织创建成功,已提交审核'
})
.
then
(()
=>
{
this
.
$router
.
replace
({
name
:
'my'
})
})
}
else
{
this
.
$toast
(
response
.
message
)
}
})
},
getDetail
()
{
const
toast
=
this
.
$toast
.
loading
({
message
:
'加载中...'
,
forbidClick
:
true
,
duration
:
0
})
api
.
getGroup
(
this
.
pid
)
.
then
(
response
=>
{
this
.
formModel
=
response
toast
.
clear
()
})
.
catch
(
toast
.
clear
)
}
},
beforeMount
()
{
this
.
getDetail
()
}
}
</
script
>
<
style
lang=
"scss"
></
style
>
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论