提交 0d0d7d2a authored 作者: 王鹏飞's avatar 王鹏飞

update

上级 b174ce76
<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
}, },
// 地区选择确定 // 地区选择确定
......
...@@ -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' }
] ]
} }
], ],
......
...@@ -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: []
......
...@@ -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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论