|
|
@ -1,59 +1,48 @@ |
|
|
|
<template> |
|
|
|
<div> |
|
|
|
<div class="dialog-h-content scroll-h"> |
|
|
|
<el-form |
|
|
|
ref="ref_form" |
|
|
|
<el-form ref="ref_form" |
|
|
|
:inline="true" |
|
|
|
:model="formData" |
|
|
|
:rules="dataRule" |
|
|
|
:disabled="formType === 'detail'" |
|
|
|
class="div_form" |
|
|
|
> |
|
|
|
class="div_form"> |
|
|
|
<div class="form_flex"> |
|
|
|
<div class="form_item"> |
|
|
|
<el-form-item label="主办方" prop="sponsorId" label-width="150px"> |
|
|
|
<el-cascader |
|
|
|
v-if="formData.richTextFlag || formType === 'add'" |
|
|
|
<el-form-item label="主办方" |
|
|
|
prop="sponsorId" |
|
|
|
label-width="150px"> |
|
|
|
<el-cascader v-if="formData.richTextFlag || formType === 'add'" |
|
|
|
class="item_width_6" |
|
|
|
ref="myCascader" |
|
|
|
v-model="agencyIdArray" |
|
|
|
:options="orgOptions" |
|
|
|
:props="orgOptionProps" |
|
|
|
:show-all-levels="false" |
|
|
|
@change="handleChangeAgency" |
|
|
|
></el-cascader> |
|
|
|
<el-input |
|
|
|
v-else |
|
|
|
@change="handleChangeAgency"></el-cascader> |
|
|
|
<el-input v-else |
|
|
|
class="item_width_6" |
|
|
|
v-model="formData.sponsorName" |
|
|
|
></el-input> |
|
|
|
v-model="formData.sponsorName"></el-input> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item |
|
|
|
label="活动标题" |
|
|
|
<el-form-item label="活动标题" |
|
|
|
prop="title" |
|
|
|
label-width="150px" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<el-input |
|
|
|
class="item_width_6" |
|
|
|
style="display: block"> |
|
|
|
<el-input class="item_width_6" |
|
|
|
type="textarea" |
|
|
|
maxlength="50" |
|
|
|
show-word-limit |
|
|
|
:rows="2" |
|
|
|
placeholder="请输入活动标题,不超过50字" |
|
|
|
v-model="formData.title" |
|
|
|
></el-input> |
|
|
|
v-model="formData.title"></el-input> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item |
|
|
|
label="封面" |
|
|
|
<el-form-item label="封面" |
|
|
|
prop="coverPic" |
|
|
|
label-width="150px" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<el-upload |
|
|
|
:headers="$getElUploadHeaders()" |
|
|
|
style="display: block"> |
|
|
|
<el-upload :headers="$getElUploadHeaders()" |
|
|
|
:class="['avatar-uploader', { hide: hideUploadBtn }]" |
|
|
|
ref="uploadPic" |
|
|
|
:action="uploadUlr" |
|
|
@ -64,216 +53,163 @@ |
|
|
|
:file-list="replayImgList" |
|
|
|
:on-change="handleEditChange" |
|
|
|
:on-success="handleSuccess" |
|
|
|
:limit="1" |
|
|
|
> |
|
|
|
:limit="1"> |
|
|
|
<span class="font-14">选择图片</span> |
|
|
|
</el-upload> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item |
|
|
|
label="活动时间" |
|
|
|
<el-form-item label="活动时间" |
|
|
|
label-width="150px" |
|
|
|
prop="actStartTime" |
|
|
|
> |
|
|
|
<el-date-picker |
|
|
|
v-model="formData.actStartTime" |
|
|
|
prop="actStartTime"> |
|
|
|
<el-date-picker v-model="formData.actStartTime" |
|
|
|
class="list_item_width_3" |
|
|
|
type="datetime" |
|
|
|
value-format="yyyy-MM-dd HH:mm" |
|
|
|
format="yyyy-MM-dd HH:mm" |
|
|
|
placeholder="开始时间" |
|
|
|
> |
|
|
|
placeholder="开始时间"> |
|
|
|
</el-date-picker> |
|
|
|
<span class="data-tag">至</span> |
|
|
|
<el-date-picker |
|
|
|
v-model="formData.actEndTime" |
|
|
|
<el-date-picker v-model="formData.actEndTime" |
|
|
|
class="list_item_width_3 data-tag" |
|
|
|
type="datetime" |
|
|
|
value-format="yyyy-MM-dd HH:mm" |
|
|
|
format="yyyy-MM-dd HH:mm" |
|
|
|
placeholder="结束时间" |
|
|
|
> |
|
|
|
placeholder="结束时间"> |
|
|
|
</el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item |
|
|
|
label="活动人数" |
|
|
|
<el-form-item label="活动人数" |
|
|
|
prop="actQuota" |
|
|
|
style="display: block" |
|
|
|
label-width="150px" |
|
|
|
> |
|
|
|
<el-input-number |
|
|
|
class="item_width_2" |
|
|
|
label-width="150px"> |
|
|
|
<el-input-number class="item_width_2" |
|
|
|
:min="0" |
|
|
|
v-model="formData.actQuota" |
|
|
|
label="活动人数" |
|
|
|
></el-input-number> |
|
|
|
label="活动人数"></el-input-number> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item |
|
|
|
label="活动积分" |
|
|
|
<el-form-item label="活动积分" |
|
|
|
prop="reward" |
|
|
|
style="display: block" |
|
|
|
label-width="150px" |
|
|
|
> |
|
|
|
<el-input-number |
|
|
|
class="item_width_2" |
|
|
|
label-width="150px"> |
|
|
|
<el-input-number class="item_width_2" |
|
|
|
:min="0" |
|
|
|
v-model="formData.reward" |
|
|
|
label="活动积分" |
|
|
|
></el-input-number> |
|
|
|
label="活动积分"></el-input-number> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item |
|
|
|
label="联系人" |
|
|
|
<el-form-item label="联系人" |
|
|
|
prop="sponsorContacts" |
|
|
|
label-width="150px" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<el-input |
|
|
|
class="item_width_6" |
|
|
|
style="display: block"> |
|
|
|
<el-input class="item_width_6" |
|
|
|
maxlength="20" |
|
|
|
placeholder="请输入联系人" |
|
|
|
v-model="formData.sponsorContacts" |
|
|
|
> |
|
|
|
v-model="formData.sponsorContacts"> |
|
|
|
</el-input> |
|
|
|
</el-form-item> |
|
|
|
</div> |
|
|
|
<div class="form_item"> |
|
|
|
<el-form-item |
|
|
|
label="联系电话" |
|
|
|
<el-form-item label="联系电话" |
|
|
|
prop="sponsorTel" |
|
|
|
label-width="150px" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<el-input |
|
|
|
class="item_width_6" |
|
|
|
style="display: block"> |
|
|
|
<el-input class="item_width_6" |
|
|
|
maxlength="20" |
|
|
|
placeholder="请输入联系电话" |
|
|
|
v-model="formData.sponsorTel" |
|
|
|
> |
|
|
|
v-model="formData.sponsorTel"> |
|
|
|
</el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item |
|
|
|
label="报名仅限志愿者" |
|
|
|
<el-form-item label="报名仅限志愿者" |
|
|
|
prop="volunteerLimit" |
|
|
|
label-width="150px" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
style="display: block"> |
|
|
|
<el-checkbox v-model="formData.volunteerLimit"></el-checkbox> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item |
|
|
|
label="报名无需审核" |
|
|
|
<el-form-item label="报名无需审核" |
|
|
|
prop="auditSwitch" |
|
|
|
label-width="150px" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
style="display: block"> |
|
|
|
<el-checkbox v-model="noauditSwitch"></el-checkbox> |
|
|
|
<span class="div-tooltip" |
|
|
|
>(选中后报名参加活动人员可以直接审核通过)</span |
|
|
|
> |
|
|
|
<span class="div-tooltip">(选中后报名参加活动人员可以直接审核通过)</span> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item |
|
|
|
label="报名截止时间" |
|
|
|
<el-form-item label="报名截止时间" |
|
|
|
style="display: block" |
|
|
|
prop="signUpEndTime" |
|
|
|
label-width="150px" |
|
|
|
> |
|
|
|
<el-date-picker |
|
|
|
class="item_width_2" |
|
|
|
label-width="150px"> |
|
|
|
<el-date-picker class="item_width_2" |
|
|
|
v-model="formData.signUpEndTime" |
|
|
|
value-format="yyyy-MM-dd HH:mm" |
|
|
|
format="yyyy-MM-dd HH:mm" |
|
|
|
type="datetime" |
|
|
|
placeholder="选择时间" |
|
|
|
> |
|
|
|
placeholder="选择时间"> |
|
|
|
</el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item |
|
|
|
label="报名条件" |
|
|
|
<el-form-item label="报名条件" |
|
|
|
prop="requirement" |
|
|
|
label-width="150px" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
<el-input |
|
|
|
class="item_width_6" |
|
|
|
style="display: block"> |
|
|
|
<el-input class="item_width_6" |
|
|
|
type="textarea" |
|
|
|
maxlength="200" |
|
|
|
show-word-limit |
|
|
|
:rows="7" |
|
|
|
placeholder="请输入报名条件,不超过200字" |
|
|
|
v-model="formData.requirement" |
|
|
|
></el-input> |
|
|
|
v-model="formData.requirement"></el-input> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item |
|
|
|
label="签到时间" |
|
|
|
<el-form-item label="签到时间" |
|
|
|
label-width="150px" |
|
|
|
prop="signInStartTime" |
|
|
|
> |
|
|
|
<el-date-picker |
|
|
|
v-model="formData.signInStartTime" |
|
|
|
prop="signInStartTime"> |
|
|
|
<el-date-picker v-model="formData.signInStartTime" |
|
|
|
class="list_item_width_3" |
|
|
|
type="datetime" |
|
|
|
value-format="yyyy-MM-dd HH:mm" |
|
|
|
format="yyyy-MM-dd HH:mm" |
|
|
|
placeholder="开始时间" |
|
|
|
> |
|
|
|
placeholder="开始时间"> |
|
|
|
</el-date-picker> |
|
|
|
<span class="data-tag">至</span> |
|
|
|
<el-date-picker |
|
|
|
v-model="formData.signInEndTime" |
|
|
|
<el-date-picker v-model="formData.signInEndTime" |
|
|
|
class="list_item_width_3 data-tag" |
|
|
|
type="datetime" |
|
|
|
value-format="yyyy-MM-dd HH:mm" |
|
|
|
format="yyyy-MM-dd HH:mm" |
|
|
|
placeholder="结束时间" |
|
|
|
> |
|
|
|
placeholder="结束时间"> |
|
|
|
</el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item |
|
|
|
label="签到有效范围(米)" |
|
|
|
<el-form-item label="签到有效范围(米)" |
|
|
|
prop="signInRadius" |
|
|
|
style="display: block" |
|
|
|
label-width="150px" |
|
|
|
> |
|
|
|
<el-input-number |
|
|
|
class="item_width_2" |
|
|
|
label-width="150px"> |
|
|
|
<el-input-number class="item_width_2" |
|
|
|
:min="0" |
|
|
|
v-model="formData.signInRadius" |
|
|
|
label="签到有效范围" |
|
|
|
></el-input-number> |
|
|
|
label="签到有效范围"></el-input-number> |
|
|
|
</el-form-item> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<div class="form_flex"> |
|
|
|
<div class="form_item"> |
|
|
|
<el-form-item |
|
|
|
label="活动地点" |
|
|
|
<el-form-item label="活动地点" |
|
|
|
prop="actAddress" |
|
|
|
label-width="150px" |
|
|
|
> |
|
|
|
label-width="150px"> |
|
|
|
<div style="width: 400px"> |
|
|
|
<el-input |
|
|
|
class="item_width_4" |
|
|
|
<el-input class="item_width_4" |
|
|
|
maxlength="100" |
|
|
|
style="width: 330px" |
|
|
|
show-word-limit |
|
|
|
placeholder="请输入所在地址" |
|
|
|
v-model="formData.actAddress" |
|
|
|
> |
|
|
|
v-model="formData.actAddress"> |
|
|
|
</el-input> |
|
|
|
<el-button |
|
|
|
style="margin-left: 10px" |
|
|
|
<el-button style="margin-left: 10px" |
|
|
|
type="default" |
|
|
|
size="small" |
|
|
|
@click="handleSearchMapAct" |
|
|
|
>查询</el-button |
|
|
|
> |
|
|
|
<div id="map_act_id" class="div_map"></div> |
|
|
|
@click="handleSearchMapAct">查询</el-button> |
|
|
|
<div id="map_act_id" |
|
|
|
class="div_map"></div> |
|
|
|
<!-- <div style="margin-top: 10px"> |
|
|
|
<span>经度</span> |
|
|
|
<el-input class="item_width_3" |
|
|
@ -292,29 +228,23 @@ |
|
|
|
</el-form-item> |
|
|
|
</div> |
|
|
|
<div class="form_item"> |
|
|
|
<el-form-item |
|
|
|
label="签到地点" |
|
|
|
<el-form-item label="签到地点" |
|
|
|
prop="signInAddress" |
|
|
|
label-width="150px" |
|
|
|
> |
|
|
|
label-width="150px"> |
|
|
|
<div style="width: 400px"> |
|
|
|
<el-input |
|
|
|
class="item_width_4" |
|
|
|
<el-input class="item_width_4" |
|
|
|
maxlength="100" |
|
|
|
style="width: 330px" |
|
|
|
show-word-limit |
|
|
|
placeholder="请输入所在地址" |
|
|
|
v-model="formData.signInAddress" |
|
|
|
> |
|
|
|
v-model="formData.signInAddress"> |
|
|
|
</el-input> |
|
|
|
<el-button |
|
|
|
style="margin-left: 10px" |
|
|
|
<el-button style="margin-left: 10px" |
|
|
|
type="default" |
|
|
|
size="small" |
|
|
|
@click="handleSearchMapSignin" |
|
|
|
>查询</el-button |
|
|
|
> |
|
|
|
<div id="map_signin_id" class="div_map"></div> |
|
|
|
@click="handleSearchMapSignin">查询</el-button> |
|
|
|
<div id="map_signin_id" |
|
|
|
class="div_map"></div> |
|
|
|
<!-- <div style="margin-top: 10px"> |
|
|
|
<span>经度</span> |
|
|
|
<el-input class="item_width_3" |
|
|
@ -333,74 +263,67 @@ |
|
|
|
</el-form-item> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
<el-form-item |
|
|
|
label="活动详情" |
|
|
|
<el-form-item label="活动详情" |
|
|
|
prop="actContentHtml" |
|
|
|
label-width="150px" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
style="display: block"> |
|
|
|
<div v-if="formData.richTextFlag || formType === 'add'"> |
|
|
|
<Tinymce |
|
|
|
class="tinymce_view" |
|
|
|
<Tinymce class="tinymce_view" |
|
|
|
v-if="formType != 'detail'" |
|
|
|
v-model="formData.actContentHtml" |
|
|
|
:height="250" |
|
|
|
style="width: 1000px" |
|
|
|
:customerId="customerId" |
|
|
|
placeholder="在这里输入文字" |
|
|
|
/> |
|
|
|
<p v-else class="text_p" v-html="formData.actContentHtml"></p> |
|
|
|
placeholder="在这里输入文字" /> |
|
|
|
<p v-else |
|
|
|
class="text_p" |
|
|
|
v-html="formData.actContentHtml"></p> |
|
|
|
</div> |
|
|
|
<div class="div_content" v-else> |
|
|
|
<div v-for="(item, index) in formData.actContent" :key="index"> |
|
|
|
<div class="div_content" |
|
|
|
v-else> |
|
|
|
<div v-for="(item, index) in formData.actContent" |
|
|
|
:key="index"> |
|
|
|
<div v-if="item.contentType === 'text'">{{ item.content }}</div> |
|
|
|
<img |
|
|
|
v-if="item.contentType === 'img'" |
|
|
|
<img v-if="item.contentType === 'img'" |
|
|
|
class="img_icon" |
|
|
|
:src="item.content" |
|
|
|
/> |
|
|
|
:src="item.content" /> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item |
|
|
|
v-if="formData.summaryFlag" |
|
|
|
<el-form-item v-if="formData.summaryFlag" |
|
|
|
label="活动回顾" |
|
|
|
prop="summaryContentHtml" |
|
|
|
label-width="150px" |
|
|
|
style="display: block" |
|
|
|
> |
|
|
|
style="display: block"> |
|
|
|
<div v-if="formData.richTextFlag"> |
|
|
|
<p class="text_p" v-html="formData.summaryContentHtml"></p> |
|
|
|
<p class="text_p" |
|
|
|
v-html="formData.summaryContentHtml"></p> |
|
|
|
</div> |
|
|
|
<div class="div_content" v-else> |
|
|
|
<div v-for="(item, index) in formData.summaryContent" :key="index"> |
|
|
|
<div class="div_content" |
|
|
|
v-else> |
|
|
|
<div v-for="(item, index) in formData.summaryContent" |
|
|
|
:key="index"> |
|
|
|
<div v-if="item.contentType === 'text'">{{ item.content }}</div> |
|
|
|
<img |
|
|
|
v-if="item.contentType === 'img'" |
|
|
|
<img v-if="item.contentType === 'img'" |
|
|
|
class="img_icon" |
|
|
|
:src="item.content" |
|
|
|
/> |
|
|
|
<p |
|
|
|
v-if="item.contentType === 'rich_text'" |
|
|
|
:src="item.content" /> |
|
|
|
<p v-if="item.contentType === 'rich_text'" |
|
|
|
class="text_p" |
|
|
|
v-html="item.content" |
|
|
|
></p> |
|
|
|
v-html="item.content"></p> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
</div> |
|
|
|
<div class="div_btn"> |
|
|
|
<el-button size="small" @click="handleCancle">取 消</el-button> |
|
|
|
<el-button |
|
|
|
size="small" |
|
|
|
<el-button size="small" |
|
|
|
@click="handleCancle">取 消</el-button> |
|
|
|
<el-button size="small" |
|
|
|
v-if="formType != 'detail'" |
|
|
|
type="primary" |
|
|
|
:disabled="btnDisable" |
|
|
|
@click="handleComfirm" |
|
|
|
>确 定</el-button |
|
|
|
> |
|
|
|
@click="handleComfirm">确 定</el-button> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|