|
|
@@ -84,32 +84,33 @@
|
|
|
<van-field class="textarea" :rules="[{ required: true}]" :disabled="id!=undefined" v-model="form.content" rows="1" type="textarea" placeholder="请输入活动详情" />
|
|
|
</van-col>
|
|
|
</van-row>
|
|
|
- <van-row v-if="!id" class="cell">
|
|
|
- <van-col span="6">图片视频:</van-col>
|
|
|
- <van-col span="18">
|
|
|
- <div class="box" ref="boxlist">
|
|
|
- <div class="boxlist">
|
|
|
- <div v-for="(item,index) in form.fileList" :key="index">
|
|
|
- <img v-if="item.type.indexOf('image') !== -1" :src="item.url" alt="">
|
|
|
- <video v-else style="object-fit:cover;" :src="item.url" poster='../../assets/video.png'></video>
|
|
|
- </div>
|
|
|
+ <div v-if="!id">
|
|
|
+ <vanUploader :text="'图片'" @getfileList="getfileList"></vanUploader>
|
|
|
+ <vanUploader :text="'视频'" @getfileList="getfileList"></vanUploader>
|
|
|
+ </div>
|
|
|
+ <div v-else class="imgvideo">
|
|
|
+ <div>
|
|
|
+ <p>照片:</p>
|
|
|
+ <div class="boximg">
|
|
|
+ <div v-for="(item,index) in pics" :key="index">
|
|
|
+ <van-image fit="contain" :src="item" alt="" @click="showPopup" />
|
|
|
</div>
|
|
|
- <van-uploader v-model="fileList" accept="*" :after-read="afterRead" @delete='deleteUploader'>
|
|
|
- </van-uploader>
|
|
|
</div>
|
|
|
- </van-col>
|
|
|
- </van-row>
|
|
|
- <div v-else class="imgvideo">
|
|
|
- <p>图片视频:</p>
|
|
|
- <div class="boximg">
|
|
|
- <div v-for="(item,index) in appendFile" :key="index">
|
|
|
- <van-image v-if="item.indexOf('.png')==-1||item.indexOf('.jpg')==-1" fit="contain" :src="item" alt="" @click="showPopup" />
|
|
|
- <video v-else @click="showvideoplay=true" style="object-fit:cover;" :src="item"></video>
|
|
|
+ <van-image-preview v-model="show" :images="pics"></van-image-preview>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <p>视频:</p>
|
|
|
+ <div class="boximg">
|
|
|
+ <div v-for="(item,index) in videos" :key="index">
|
|
|
+ <video @click="showvideoplay=true,videourl=item" style="object-fit:cover;" :src="item" poster='../../assets/video.png'></video>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <van-image-preview v-model="show" :images="appendFile"></van-image-preview>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <van-dialog style="width:100%;border-radius:0;height:200px" v-model="showvideoplay" :show-cancel-button="false" :show-confirm-button="false" closeOnClickOverlay>
|
|
|
+ <video controls preload="auto" style="width:100%;height:200px;object-fit: contain;" :src="videourl" v-if="videourl"></video>
|
|
|
+ </van-dialog>
|
|
|
<div style="text-align:center;" v-if="!id">
|
|
|
<van-button native-type="submit">确 定</van-button>
|
|
|
</div>
|
|
|
@@ -125,9 +126,12 @@ import {
|
|
|
getStreetList,
|
|
|
lovingHelpDetail,
|
|
|
} from '../../api/index.js'
|
|
|
+import vanUploader from '../../components/vanUploader.vue'
|
|
|
export default {
|
|
|
+ components: { vanUploader },
|
|
|
data() {
|
|
|
return {
|
|
|
+ showvideoplay: false,
|
|
|
streetshowPopup: false,
|
|
|
streetShow: false,
|
|
|
show: false,
|
|
|
@@ -149,6 +153,8 @@ export default {
|
|
|
childList: [],
|
|
|
id: '',
|
|
|
orgId: '',
|
|
|
+ pics: [],
|
|
|
+ videos: [],
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
|
@@ -189,8 +195,9 @@ export default {
|
|
|
async lovingHelpDetail() {
|
|
|
const res = await lovingHelpDetail({ id: this.id })
|
|
|
this.form = res.data
|
|
|
- if (!res.data.pics) return
|
|
|
- this.appendFile = this.form.pics.split(',')
|
|
|
+ this.pics = res.data.pics.split(',')
|
|
|
+ if (!res.data.videos) return
|
|
|
+ this.videos = res.data.videos.split(',')
|
|
|
},
|
|
|
async listChildInfoByName() {
|
|
|
if (!this.positionSearch) return
|
|
|
@@ -218,13 +225,28 @@ export default {
|
|
|
this.childList = []
|
|
|
this.positionSearch = ''
|
|
|
},
|
|
|
+ getfileList(v, index) {
|
|
|
+ if (index == undefined) {
|
|
|
+ if (v.indexOf('.png') != -1 || v.indexOf('.jpg') != -1) {
|
|
|
+ this.pics.push(v)
|
|
|
+ } else {
|
|
|
+ this.videos.push(v)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (v == '图片') {
|
|
|
+ this.pics.splice(index, 1)
|
|
|
+ } else {
|
|
|
+ this.videos.splice(index, 1)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
async lovingHelpSave() {
|
|
|
- var appendFile = []
|
|
|
- this.form.fileList.forEach((item) => {
|
|
|
- appendFile.push(item.url)
|
|
|
- })
|
|
|
-
|
|
|
- this.form.pics = appendFile.join(',')
|
|
|
+ if (this.pics.length == 0) {
|
|
|
+ this.$toast.fail('请选择至少一张图片')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ this.form.pics = this.pics.join(',')
|
|
|
+ this.form.videos = this.videos.join(',')
|
|
|
var data = JSON.parse(JSON.stringify(this.form))
|
|
|
data.workDate = data.workDate + ' 00:00:00'
|
|
|
const res = await lovingHelpSave(data)
|
|
|
@@ -415,11 +437,9 @@ export default {
|
|
|
-webkit-text-fill-color: unset;
|
|
|
}
|
|
|
.imgvideo {
|
|
|
- // padding: 0 30px;
|
|
|
font-size: 30px;
|
|
|
text-align: left;
|
|
|
margin-bottom: 30px;
|
|
|
-
|
|
|
.boximg {
|
|
|
min-height: 100px;
|
|
|
border: 1px solid #eee;
|
|
|
@@ -431,7 +451,7 @@ export default {
|
|
|
// justify-content: space-between;
|
|
|
.van-image {
|
|
|
max-width: 200px;
|
|
|
- max-height: 200px;
|
|
|
+ // max-height: 200px;
|
|
|
// margin-right: 16px;
|
|
|
margin: 0 10px;
|
|
|
margin-bottom: 16px;
|