|
|
@@ -1,108 +1,114 @@
|
|
|
<template>
|
|
|
<div>
|
|
|
<van-nav-bar title="帮扶活动" @click-left="$router.back()" left-arrow fixed placeholder safe-area-inset-top />
|
|
|
- <div class="main">
|
|
|
- <van-row class="cell">
|
|
|
- <van-col span="6">活动名称:</van-col>
|
|
|
- <van-col span="18">
|
|
|
- <van-field v-model="form.name" placeholder="活动名称" :disabled="id!=''" />
|
|
|
- </van-col>
|
|
|
- </van-row>
|
|
|
+ <van-form @submit="lovingHelpSave">
|
|
|
+ <div class="main">
|
|
|
+ <van-row class="cell">
|
|
|
+ <van-col span="6">活动名称:</van-col>
|
|
|
+ <van-col span="18">
|
|
|
+ <van-field v-model="form.name" :rules="[{ required: true}]" placeholder="活动名称" :disabled="id!=undefined" />
|
|
|
+ </van-col>
|
|
|
+ </van-row>
|
|
|
|
|
|
- <van-row class="cell">
|
|
|
- <van-col span="6">活动时间:</van-col>
|
|
|
- <van-col span="18" @click="clickdateshow">{{form.workDate?form.workDate:'请选择'}}</van-col>
|
|
|
- <van-popup v-model="dateshow" position="bottom" :style="{ height: '30%' }">
|
|
|
- <van-datetime-picker @confirm="dateConfirm" @cancel="dateshow=false" v-model="workDate" type="date" :min-date="minDate" :max-date="maxDate" :columns-order="[ 'year','month', 'day']"
|
|
|
- :formatter="formatter" />
|
|
|
- </van-popup>
|
|
|
- </van-row>
|
|
|
- <van-row class="cell">
|
|
|
- <van-col span="6">选择街道:</van-col>
|
|
|
- <van-col span="18">
|
|
|
- <van-field v-model="form.areaName" @click="clickstreetShow" placeholder="请选择" disabled />
|
|
|
- </van-col>
|
|
|
- <!-- <van-col span="18" @click="streetshowPopup">{{form.streetName?form.streetName:'请选择'}}</van-col> -->
|
|
|
- <van-popup v-model="streetShow" position="bottom" :style="{ height: '30%' }">
|
|
|
- <van-picker show-toolbar :columns="streetList" @confirm="onConfirm" @cancel="streetShow=false" value-key="name" />
|
|
|
- </van-popup>
|
|
|
- </van-row>
|
|
|
- <van-row class="cell">
|
|
|
- <van-col span="6">活动地址:</van-col>
|
|
|
- <van-col span="18">
|
|
|
- <van-field v-model="form.address" placeholder="请输入活动地址" :disabled="id!=''" />
|
|
|
- </van-col>
|
|
|
- </van-row>
|
|
|
- <van-row class="cell">
|
|
|
- <van-col span="6">帮扶对象:</van-col>
|
|
|
- <van-col span="18">
|
|
|
- <div class="serviceTarget" @click="clickserviceTargetShow">{{form.helpChildren?form.helpChildren:'请选择'}}</div>
|
|
|
- <van-popup position="bottom" v-model="serviceTargetShow">
|
|
|
- <van-search placeholder="请输入姓名查询" @input="listChildInfoByName" v-model="positionSearch" />
|
|
|
- <van-picker cancel-button-text='取消' value-key="title" show-toolbar :columns="childList" @confirm="onConfirmPicker" @cancel="serviceTargetShow = false">
|
|
|
- <template #option="item">
|
|
|
- <span>{{item.name}}</span>
|
|
|
- <span>({{item.idCard}})</span>
|
|
|
- </template>
|
|
|
- </van-picker>
|
|
|
+ <van-row class="cell">
|
|
|
+ <van-col span="6">活动时间:</van-col>
|
|
|
+ <van-col span="18" @click="clickdateshow">
|
|
|
+ <!-- {{form.workDate?form.workDate:'请选择'}} -->
|
|
|
+ <van-field v-model="form.workDate" :rules="[{ required: true}]" placeholder="请选择" disabled />
|
|
|
+ </van-col>
|
|
|
+ <van-popup v-model="dateshow" position="bottom" :style="{ height: '30%' }">
|
|
|
+ <van-datetime-picker @confirm="dateConfirm" @cancel="dateshow=false" v-model="workDate" type="date" :min-date="minDate" :max-date="maxDate" :columns-order="[ 'year','month', 'day']"
|
|
|
+ :formatter="formatter" />
|
|
|
</van-popup>
|
|
|
- </van-col>
|
|
|
- </van-row>
|
|
|
- <van-row class="cell">
|
|
|
- <van-col span="6">主办单位:</van-col>
|
|
|
- <van-col span="18">
|
|
|
- <van-field v-model="orglist.name" placeholder="请输入主办单位" disabled />
|
|
|
- </van-col>
|
|
|
- </van-row>
|
|
|
- <van-row class="cell">
|
|
|
- <van-col span="6">联系人:</van-col>
|
|
|
- <van-col span="18">
|
|
|
- <van-field v-model="orglist.owner" placeholder="联系人" disabled />
|
|
|
- </van-col>
|
|
|
- </van-row>
|
|
|
- <van-row class="cell">
|
|
|
- <van-col span="6">联系方式:</van-col>
|
|
|
- <van-col span="18">
|
|
|
- <van-field v-model="orglist.mobile" placeholder="联系方式" disabled />
|
|
|
- </van-col>
|
|
|
- </van-row>
|
|
|
- <van-row class="cell">
|
|
|
- <van-col span="6">活动详情:</van-col>
|
|
|
- <van-col span="18">
|
|
|
- <van-field class="textarea" :disabled="id!=''" 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"></video>
|
|
|
+ </van-row>
|
|
|
+ <van-row class="cell">
|
|
|
+ <van-col span="6">选择街道:</van-col>
|
|
|
+ <van-col span="18">
|
|
|
+ <van-field v-model="form.areaName" :rules="[{ required: true}]" @click="clickstreetShow" placeholder="请选择" disabled />
|
|
|
+ </van-col>
|
|
|
+ <!-- <van-col span="18" @click="streetshowPopup">{{form.streetName?form.streetName:'请选择'}}</van-col> -->
|
|
|
+ <van-popup v-model="streetShow" position="bottom" :style="{ height: '30%' }">
|
|
|
+ <van-picker show-toolbar :columns="streetList" @confirm="onConfirm" @cancel="streetShow=false" value-key="name" />
|
|
|
+ </van-popup>
|
|
|
+ </van-row>
|
|
|
+ <van-row class="cell">
|
|
|
+ <van-col span="6">活动地址:</van-col>
|
|
|
+ <van-col span="18">
|
|
|
+ <van-field v-model="form.address" :rules="[{ required: true}]" placeholder="请输入活动地址" :disabled="id!=undefined" />
|
|
|
+ </van-col>
|
|
|
+ </van-row>
|
|
|
+ <van-row class="cell">
|
|
|
+ <van-col span="6">帮扶对象:</van-col>
|
|
|
+ <van-col span="18">
|
|
|
+ <div class="serviceTarget" @click="clickserviceTargetShow">
|
|
|
+ <!-- {{form.helpChildren?form.helpChildren:'请选择'}} -->
|
|
|
+ <van-field v-model="form.helpChildren" :rules="[{ required: true}]" placeholder="请输入帮扶对象" :disabled="id!=undefined" />
|
|
|
+ </div>
|
|
|
+ <van-popup position="bottom" v-model="serviceTargetShow">
|
|
|
+ <van-search placeholder="请输入姓名查询" @input="listChildInfoByName" v-model="positionSearch" />
|
|
|
+ <van-picker cancel-button-text='取消' value-key="title" show-toolbar :columns="childList" @confirm="onConfirmPicker" @cancel="serviceTargetShow = false">
|
|
|
+ <template #option="item">
|
|
|
+ <span>{{item.name}}</span>
|
|
|
+ <span>({{item.idCard}})</span>
|
|
|
+ </template>
|
|
|
+ </van-picker>
|
|
|
+ </van-popup>
|
|
|
+ </van-col>
|
|
|
+ </van-row>
|
|
|
+ <van-row class="cell">
|
|
|
+ <van-col span="6">主办单位:</van-col>
|
|
|
+ <van-col span="18">
|
|
|
+ <van-field v-model="orglist.name" placeholder="请输入主办单位" disabled />
|
|
|
+ </van-col>
|
|
|
+ </van-row>
|
|
|
+ <van-row class="cell">
|
|
|
+ <van-col span="6">联系人:</van-col>
|
|
|
+ <van-col span="18">
|
|
|
+ <van-field v-model="orglist.owner" placeholder="联系人" disabled />
|
|
|
+ </van-col>
|
|
|
+ </van-row>
|
|
|
+ <van-row class="cell">
|
|
|
+ <van-col span="6">联系方式:</van-col>
|
|
|
+ <van-col span="18">
|
|
|
+ <van-field v-model="orglist.mobile" placeholder="联系方式" disabled />
|
|
|
+ </van-col>
|
|
|
+ </van-row>
|
|
|
+ <van-row class="cell">
|
|
|
+ <van-col span="6">活动详情:</van-col>
|
|
|
+ <van-col span="18">
|
|
|
+ <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"></video>
|
|
|
+ </div>
|
|
|
</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>
|
|
|
</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>
|
|
|
</div>
|
|
|
+ <van-image-preview v-model="show" :images="appendFile"></van-image-preview>
|
|
|
</div>
|
|
|
- <van-image-preview v-model="show" :images="appendFile"></van-image-preview>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- <div style="text-align:center;" v-if="!id">
|
|
|
- <van-button @click="lovingHelpSave">确 定</van-button>
|
|
|
- </div>
|
|
|
-
|
|
|
+ <div style="text-align:center;" v-if="!id">
|
|
|
+ <van-button native-type="submit">确 定</van-button>
|
|
|
+ </div>
|
|
|
+ </van-form>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script>
|
|
|
@@ -142,6 +148,7 @@ export default {
|
|
|
},
|
|
|
created() {
|
|
|
this.id = this.$route.query.id
|
|
|
+ console.log(this.id, 'id')
|
|
|
this.orgId = this.$route.query.orgId
|
|
|
this.getStreetList()
|
|
|
this.organizationDetail()
|
|
|
@@ -184,14 +191,14 @@ export default {
|
|
|
this.orglist = res.data
|
|
|
},
|
|
|
onConfirm(value) {
|
|
|
- this.form.streetName = value.name
|
|
|
+ this.form.areaName = value.name
|
|
|
this.form.areaId = value.id
|
|
|
this.streetShow = false
|
|
|
},
|
|
|
dateConfirm(v) {
|
|
|
console.log(v)
|
|
|
this.form.workDate = this.timeFormat(v)
|
|
|
- this.show = false
|
|
|
+ this.dateshow = false
|
|
|
},
|
|
|
onConfirmPicker(value) {
|
|
|
this.serviceTarget.push(value.name)
|