活动增加字段

This commit is contained in:
jacky 2024-05-05 21:18:10 +08:00
parent 78b5c7b386
commit 58ca49626e
1 changed files with 77 additions and 22 deletions

View File

@ -24,7 +24,7 @@
:disabled-date="time => searchInfo.startCreatedAt ? time.getTime() < searchInfo.startCreatedAt.getTime() : false"></el-date-picker>
</el-form-item>
<el-form-item label="会议状态" prop="status">
<el-form-item label="状态" prop="status">
<el-select v-model="searchInfo.status" clearable placeholder="请选择"
@clear="() => { searchInfo.status = undefined }">
<el-option v-for="(item, key) in activityStatusOptions" :key="key" :label="item.label"
@ -54,6 +54,30 @@
<div class="gva-table-expand" style="max-width: 600px;">
{{ scope.row.brief }}
</div>
<div class="gva-table-expand" style="max-width: 600px;">
<el-text tag="b">指导单位</el-text>
</div>
<div class="gva-table-expand" style="max-width: 600px;">
{{ scope.row.guid }}
</div>
<div class="gva-table-expand" style="max-width: 600px;">
<el-text tag="b">主办单位</el-text>
</div>
<div class="gva-table-expand" style="max-width: 600px;">
{{ scope.row.organizer }}
</div>
<div class="gva-table-expand" style="max-width: 600px;">
<el-text tag="b">协办单位</el-text>
</div>
<div class="gva-table-expand" style="max-width: 600px;">
{{ scope.row.coOrganizer }}
</div>
<div class="gva-table-expand" style="max-width: 600px;">
<el-text tag="b">支持单位</el-text>
</div>
<div class="gva-table-expand" style="max-width: 600px;">
{{ scope.row.support }}
</div>
<div class="gva-table-expand" style="max-width: 600px;">
<el-text tag="b">参与企业</el-text>
</div>
@ -93,9 +117,13 @@
<el-image style="width: 100px; height: 100px" :src="getUrl(scope.row.cover)" fit="cover" />
</template>
</el-table-column>
<el-table-column align="left" label="类型" prop="kind" width="120">
<template #default="scope">
{{ filterDict(scope.row.kind, activityKindOptions) }}
</template>
</el-table-column>
<el-table-column align="left" label="活动标识" prop="label" width="180" />
<el-table-column align="left" label="标题" prop="title" width="320" />
<el-table-column align="left" label="主办单位" prop="organizer" width="200" />
<el-table-column align="left" label="活动地址" prop="activeAddr" width="200" />
<el-table-column align="left" label="开始时间" width="180">
<template #default="scope">{{ formatDate(scope.row.startTime) }}</template>
@ -103,7 +131,7 @@
<el-table-column align="left" label="结束时间" width="180">
<template #default="scope">{{ formatDate(scope.row.endTime) }}</template>
</el-table-column>
<el-table-column align="left" label="会议状态" prop="status" width="120">
<el-table-column align="left" label="状态" prop="status" width="120">
<template #default="scope">
{{ filterDict(scope.row.status, activityStatusOptions) }}
</template>
@ -153,32 +181,47 @@
<el-form-item label="活动标识" prop="label" style="width: 400px">
<el-input v-model="formData.label" :clearable="true" placeholder="请输入活动标识,例如:会议的界别等" />
</el-form-item>
<el-form-item label="类型" prop="kind" style="width: 400px">
<el-select v-model="formData.kind" placeholder="请选择类型" style="width:100%" :clearable="true">
<el-option v-for="(item, key) in activityKindOptions" :key="key" :label="item.label"
:value="parseInt(item.value)" />
</el-select>
</el-form-item>
<el-form-item label="标题" prop="title" style="width: 400px">
<el-input v-model="formData.title" :clearable="true" placeholder="请输入标题" />
</el-form-item>
<el-form-item label="主办单位" prop="organizer" style="width: 400px">
<el-input v-model="formData.organizer" :clearable="true" placeholder="请输入主办单位" />
</el-form-item>
<el-form-item label="活动地址" prop="activeAddr" style="width: 400px">
<el-input v-model="formData.activeAddr" :clearable="true" placeholder="请输入活动地址" />
</el-form-item>
<el-form-item label="开始时间" prop="startTime" style="width: 400px">
<el-form-item label="开始时间" prop="startTime" style="width: 185px">
<el-date-picker v-model="formData.startTime" type="datetime" style="width:100%" placeholder="选择日期"
:clearable="true" />
</el-form-item>
<el-form-item label="结束时间" prop="endTime" style="width: 400px">
<el-form-item label="结束时间" prop="endTime" style="width: 185px">
<el-date-picker v-model="formData.endTime" type="datetime" style="width:100%" placeholder="选择日期"
:clearable="true" />
</el-form-item>
<el-form-item label="活动地址" prop="activeAddr" style="width:830px">
<el-input v-model="formData.activeAddr" :clearable="true" placeholder="请输入活动地址" />
</el-form-item>
<el-form-item label="活动简介" prop="brief" style="width: 830px">
<RichEdit v-model="formData.brief" media-category="activity_imgs" style="height: 320px" />
</el-form-item>
<el-form-item label="指导单位" prop="guid" style="width: 400px">
<el-input type="textarea" rows="3" v-model="formData.guid" :clearable="true" placeholder="请输入指导单位" />
</el-form-item>
<el-form-item label="主办单位" prop="organizer" style="width: 400px">
<el-input type="textarea" rows="3" v-model="formData.organizer" :clearable="true" placeholder="请输入主办单位" />
</el-form-item>
<el-form-item label="协办单位" prop="coOrganizer" style="width: 400px">
<el-input type="textarea" rows="3" v-model="formData.coOrganizer" :clearable="true" placeholder="请输入协办单位" />
</el-form-item>
<el-form-item label="支持单位" prop="support" style="width: 400px">
<el-input type="textarea" rows="3" v-model="formData.support" :clearable="true" placeholder="请输入支持单位" />
</el-form-item>
<el-form-item label="参与企业" prop="companies" style="width: 400px">
<el-input type="textarea" rows="4" v-model="formData.companies" :clearable="true" placeholder="请输入参与企业" />
</el-form-item>
<el-form-item label="参与人员" prop="participants" style="width: 400px">
<el-input type="textarea" rows="4" v-model="formData.participants" :clearable="true" placeholder="请输入参与人员" />
</el-form-item>
<el-form-item label="活动简介" prop="brief" style="width: 830px">
<RichEdit v-model="formData.brief" media-category="activity_imgs" style="height: 320px" />
</el-form-item>
<el-form-item label="联系方式" prop="contact" style="width: 830px">
<el-input type="textarea" rows="4" v-model="formData.contact" :clearable="true" placeholder="请输入联系方式" />
</el-form-item>
@ -188,8 +231,8 @@
<el-form-item label="直播链接地址" prop="liveUrl" style="width: 400px">
<el-input v-model="formData.liveUrl" :clearable="true" placeholder="请输入直播链接地址" />
</el-form-item>
<el-form-item label="会议状态" prop="status" style="width: 400px">
<el-select v-model="formData.status" placeholder="请选择会议状态" style="width:100%" :clearable="true">
<el-form-item label="状态" prop="status" style="width: 400px">
<el-select v-model="formData.status" placeholder="请选择状态" style="width:100%" :clearable="true">
<el-option v-for="(item, key) in activityStatusOptions" :key="key" :label="item.label"
:value="parseInt(item.value)" />
</el-select>
@ -261,14 +304,19 @@ const uploadFailure = () => {
//
const activityStatusOptions = ref([])
const activityKindOptions = ref([])
const formData = ref({
cover: "",
cover: '',
kind: 1,
label: '',
title: '',
brief: '',
guid: '',
organizer: '',
coOrganizer: '',
support: '',
companies: '',
participants: '',
brief: '',
activeAddr: '',
contact: '',
signUrl: '',
@ -291,11 +339,10 @@ const rule = reactive({
{ required: true, message: '', trigger: ['input', 'blur'] },
{ whitespace: true, message: '不能只输入空格', trigger: ['input', 'blur'] }
],
title: [
kind: [
{ required: true, message: '', trigger: ['input', 'blur'] },
{ whitespace: true, message: '不能只输入空格', trigger: ['input', 'blur'] }
],
organizer: [
title: [
{ required: true, message: '', trigger: ['input', 'blur'] },
{ whitespace: true, message: '不能只输入空格', trigger: ['input', 'blur'] }
],
@ -392,6 +439,10 @@ getTableData()
//
const setOptions = async () => {
activityStatusOptions.value = await getDictFunc('activityStatus')
activityStatusOptions.value.map((item) => { item.value = parseInt(item.value); return item })
activityKindOptions.value = await getDictFunc('activityKind')
activityKindOptions.value.map((item) => { item.value = parseInt(item.value); return item })
console.log(activityKindOptions.value)
}
//
@ -472,8 +523,12 @@ const closeDialog = () => {
dialogFormVisible.value = false
formData.value = {
label: '',
kind: 1,
title: '',
guid: '',
organizer: '',
coOrganizer: '',
support: '',
companies: '',
participants: '',
activeAddr: '',
@ -481,7 +536,7 @@ const closeDialog = () => {
liveUrl: '',
startTime: new Date(),
endTime: new Date(),
status: 0,
status: 1,
}
}
//