|
|
@ -1,48 +1,64 @@ |
|
|
|
<template> |
|
|
|
<div class="container"> |
|
|
|
<div class="block"> |
|
|
|
<div class="textarea"> |
|
|
|
<van-field |
|
|
|
v-model="eventContent" |
|
|
|
autosize |
|
|
|
label="事件描述" |
|
|
|
maxlength="500" |
|
|
|
placeholder="不超过500字" |
|
|
|
required |
|
|
|
rows="6" |
|
|
|
type="textarea" |
|
|
|
> |
|
|
|
<template #extra> |
|
|
|
<div class="speech"> |
|
|
|
<Audio v-show="audio.duration" :audioSrc="audio" /> |
|
|
|
<Recording :isFile="isFile" @change="setAudio" /> |
|
|
|
<div> |
|
|
|
<van-tabs v-model="type" animated sticky swipeable lazy-render> |
|
|
|
<van-tab title="上报诉求"> |
|
|
|
<div class="container"> |
|
|
|
<div class="block"> |
|
|
|
<div class="textarea"> |
|
|
|
<van-field |
|
|
|
v-model="eventContent" |
|
|
|
autosize |
|
|
|
label="事件描述" |
|
|
|
maxlength="500" |
|
|
|
placeholder="不超过500字" |
|
|
|
required |
|
|
|
rows="6" |
|
|
|
type="textarea" |
|
|
|
> |
|
|
|
<template #extra> |
|
|
|
<div class="speech"> |
|
|
|
<Audio v-show="audio.duration" :audioSrc="audio" /> |
|
|
|
<Recording :isFile="isFile" @change="setAudio" /> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</van-field> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
</van-field> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="block"> |
|
|
|
<van-cell title="上传图片"> |
|
|
|
<template #label> |
|
|
|
<van-uploader v-model="fileList" :after-read="afterRead" :max-count="3" :max-size="10 * 1024 * 1024" /> |
|
|
|
</template> |
|
|
|
</van-cell> |
|
|
|
</div> |
|
|
|
<div class="block"> |
|
|
|
<van-cell title="上传图片"> |
|
|
|
<template #label> |
|
|
|
<van-uploader v-model="fileList" :after-read="afterRead" :max-count="3" :max-size="10 * 1024 * 1024" /> |
|
|
|
</template> |
|
|
|
</van-cell> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div class="block"> |
|
|
|
<van-cell is-link title="发生地点" @click="$refs.map.show = true"> |
|
|
|
<div>{{ address }}</div> |
|
|
|
</van-cell> |
|
|
|
</div> |
|
|
|
<div class="block"> |
|
|
|
<van-field v-model="name" label="联系人" placeholder="请输入联系人" required /> |
|
|
|
<van-field v-model="phone" label="联系电话" maxlength="11" placeholder="请输入联系电话" required type="number" /> |
|
|
|
</div> |
|
|
|
<van-button block color="linear-gradient(to right, #81B5FB, #3E92FF)" round @click="submit">提交</van-button> |
|
|
|
<div class="block"> |
|
|
|
<van-cell is-link title="发生地点" @click="$refs.map.show = true"> |
|
|
|
<div>{{ address }}</div> |
|
|
|
</van-cell> |
|
|
|
</div> |
|
|
|
<div class="block"> |
|
|
|
<van-field v-model="name" label="联系人" placeholder="请输入联系人" required /> |
|
|
|
<van-field |
|
|
|
v-model="phone" |
|
|
|
label="联系电话" |
|
|
|
maxlength="11" |
|
|
|
placeholder="请输入联系电话" |
|
|
|
required |
|
|
|
type="number" |
|
|
|
/> |
|
|
|
</div> |
|
|
|
<van-button block color="linear-gradient(to right, #81B5FB, #3E92FF)" round @click="submit">提交</van-button> |
|
|
|
|
|
|
|
<Perfect /> |
|
|
|
<Map ref="map" @locationChange="locationChange" /> |
|
|
|
<Perfect /> |
|
|
|
<Map ref="map" @locationChange="locationChange" /> |
|
|
|
</div> |
|
|
|
</van-tab> |
|
|
|
<van-tab title="我的诉求"> |
|
|
|
<appeal v-if="type == 1" /> |
|
|
|
</van-tab> |
|
|
|
</van-tabs> |
|
|
|
</div> |
|
|
|
</template> |
|
|
|
|
|
|
@ -52,15 +68,17 @@ import Recording from '@/components/Recording' |
|
|
|
import Perfect from '@/components/Perfect' |
|
|
|
import Audio from '@/components/Audio' |
|
|
|
import Map from '@/components/Map' |
|
|
|
import appeal from '@/views/appeal' |
|
|
|
import { uploadvariedfile } from '@/api/basic' |
|
|
|
import { saveOfficialAccountEvent } from '@/api/event' |
|
|
|
import { mapKey } from '@/config' |
|
|
|
|
|
|
|
export default { |
|
|
|
name: 'event', |
|
|
|
components: { Recording, Audio, Perfect, Map }, |
|
|
|
components: { Recording, Audio, Perfect, Map, appeal }, |
|
|
|
data() { |
|
|
|
return { |
|
|
|
type: 0, |
|
|
|
form: {}, |
|
|
|
fileList: [], |
|
|
|
latitude: '', |
|
|
|