jiangyy 3 years ago
parent
commit
65f7c94a41
  1. 5
      src/assets/scss/modules/management/form-main.scss
  2. 159
      src/views/modules/communityParty/heart/heartForm.vue
  3. 193
      src/views/modules/communityParty/heart/heartList.vue

5
src/assets/scss/modules/management/form-main.scss

@ -22,6 +22,11 @@
width: 135px; width: 135px;
} }
.list_item_width_3 {
width: 185px;
}
.item_width_5{ .item_width_5{
width: 320px; width: 320px;
} }

159
src/views/modules/communityParty/heart/heartForm.vue

@ -58,20 +58,18 @@
label-width="150px" label-width="150px"
prop="actStartTime"> prop="actStartTime">
<el-date-picker v-model="formData.actStartTime" <el-date-picker v-model="formData.actStartTime"
:picker-options="startPickerOptions" class="list_item_width_3"
class="list_item_width_1" type="datetime"
type="date" value-format="yyyy-MM-dd HH:mm"
value-format="yyyy-MM-dd" format="yyyy-MM-dd HH:mm"
value="yyyy-MM-dd"
placeholder="开始时间"> placeholder="开始时间">
</el-date-picker> </el-date-picker>
<span class="data-tag"></span> <span class="data-tag"></span>
<el-date-picker v-model="formData.actEndTime" <el-date-picker v-model="formData.actEndTime"
:picker-options="endPickerOptions" class="list_item_width_3 data-tag"
class="list_item_width_1 data-tag" type="datetime"
type="date" value-format="yyyy-MM-dd HH:mm"
value-format="yyyy-MM-dd" format="yyyy-MM-dd HH:mm"
value="yyyy-MM-dd"
placeholder="结束时间"> placeholder="结束时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
@ -137,8 +135,9 @@
prop="signUpEndTime" prop="signUpEndTime"
label-width="150px"> label-width="150px">
<el-date-picker v-model="formData.signUpEndTime" <el-date-picker v-model="formData.signUpEndTime"
value-format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm"
type="date" format="yyyy-MM-dd HH:mm"
type="datetime"
placeholder="选择事件"> placeholder="选择事件">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
@ -160,20 +159,18 @@
label-width="150px" label-width="150px"
prop="signInStartTime"> prop="signInStartTime">
<el-date-picker v-model="formData.signInStartTime" <el-date-picker v-model="formData.signInStartTime"
:picker-options="startPickerOptions" class="list_item_width_3"
class="list_item_width_1" type="datetime"
type="date" value-format="yyyy-MM-dd HH:mm"
value-format="yyyy-MM-dd" format="yyyy-MM-dd HH:mm"
value="yyyy-MM-dd"
placeholder="开始时间"> placeholder="开始时间">
</el-date-picker> </el-date-picker>
<span class="data-tag"></span> <span class="data-tag"></span>
<el-date-picker v-model="formData.signInEndTime" <el-date-picker v-model="formData.signInEndTime"
:picker-options="endPickerOptions" class="list_item_width_3 data-tag"
class="list_item_width_1 data-tag" type="datetime"
type="date" value-format="yyyy-MM-dd HH:mm"
value-format="yyyy-MM-dd" format="yyyy-MM-dd HH:mm"
value="yyyy-MM-dd"
placeholder="结束时间"> placeholder="结束时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
@ -191,7 +188,7 @@
<div class="form_flex"> <div class="form_flex">
<div class="form_item"> <div class="form_item">
<el-form-item label="活动地点" <el-form-item label="活动地点"
prop="longitude" prop="actAddress"
label-width="150px"> label-width="150px">
<div style="width: 400px"> <div style="width: 400px">
<el-input class="item_width_4" <el-input class="item_width_4"
@ -226,7 +223,7 @@
</div> </div>
<div class="form_item"> <div class="form_item">
<el-form-item label="签到地点" <el-form-item label="签到地点"
prop="longitude" prop="signInAddress"
label-width="150px"> label-width="150px">
<div style="width: 400px"> <div style="width: 400px">
<el-input class="item_width_4" <el-input class="item_width_4"
@ -261,7 +258,7 @@
</div> </div>
</div> </div>
<el-form-item label="活动内容" <el-form-item label="活动内容"
prop="longitude" prop="actContent"
label-width="150px"> label-width="150px">
<!-- <div style="width:400px"> --> <!-- <div style="width:400px"> -->
<Tinymce class="tinymce_view" <Tinymce class="tinymce_view"
@ -316,11 +313,11 @@ export default {
data () { data () {
let endDisabledDate = (time) => {//datareturn let endDisabledDate = (time) => {//datareturn
let nowData = Date.now() let nowData = Date.now()
if (this.formData.serviceTimeStart) { if (this.formData.actStartTime) {
let serviceTimeStart = new Date(this.formData.serviceTimeStart) let startTime = new Date(this.formData.actStartTime + ':00')
return time.getTime() > nowData || time.getTime() < serviceTimeStart || time.getTime() === serviceTimeStart return time.getTime() < startTime
} else { } else {
return time.getTime() > nowData return ''
} }
} }
@ -399,7 +396,12 @@ export default {
uploadUlr: window.SITE_CONFIG['apiURL'] + '/oss/file/uploadvariedfile', uploadUlr: window.SITE_CONFIG['apiURL'] + '/oss/file/uploadvariedfile',
// upload_url: '', // URL // upload_url: '', // URL
upload_name: '', // upload_name: '', //
replayImgList: [], replayImgList: [
{
id: '1',
url: 'https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet/test/20220629/db05fed5cc56417299364ab8362ac9a0.png'
}
],
hideUploadBtn: false hideUploadBtn: false
} }
@ -409,6 +411,8 @@ export default {
this.customerId = localStorage.getItem('customerId') this.customerId = localStorage.getItem('customerId')
this.initMap() this.initMap()
this.loadSponsorlist() this.loadSponsorlist()
// this.replayImgList.push()
}, },
methods: { methods: {
@ -495,20 +499,20 @@ export default {
async handleComfirm () { async handleComfirm () {
console.log(this.formData)
this.btnDisable = true // this.btnDisable = true
setTimeout(() => { // setTimeout(() => {
this.btnDisable = false // this.btnDisable = false
}, 10000) // }, 10000)
this.$refs['ref_form'].validate((valid, messageObj) => { // this.$refs['ref_form'].validate((valid, messageObj) => {
if (!valid) { // if (!valid) {
app.util.validateRule(messageObj) // app.util.validateRule(messageObj)
this.btnDisable = false // this.btnDisable = false
} else { // } else {
this.addRecord() // this.addRecord()
} // }
}) // })
}, },
async addRecord () { async addRecord () {
@ -546,8 +550,8 @@ export default {
removePic (file, fileList) { removePic (file, fileList) {
this.formData.imageList.splice(this.formData.imageList.findIndex(item => item === file.url), 1) this.formData.coverPic = ''
this.replayImgList.splice(this.replayImgList.findIndex(item => item.uid === file.uid), 1) this.replayImgList = []
this.hideUploadBtn = fileList.length >= 1; this.hideUploadBtn = fileList.length >= 1;
}, },
@ -562,7 +566,7 @@ export default {
}, },
handleSuccess (response, file, fileList) { handleSuccess (response, file, fileList) {
this.replayImgList.push(file) this.replayImgList.push(file)
this.formData.imageList.push(response.data.url) this.formData.coverPic = response.data.url
}, },
@ -745,16 +749,41 @@ export default {
resetData () { resetData () {
this.formData = { this.formData = {
gridId: '',//Id actAddress: "市北区海泊桥青岛市市北区政府(延吉路北)",
ninePlaceVal: '',//value actContent: "",
placeOrgId: '',//Id- actDraftId: "",
placePatrolTeamId: '',//Id actEndTime: "2022-08-30 13:34",
inspectorArray: [],// actId: "",
inspectors: '',//Id actLatitude: 36.08743,
firstTime: '',// actLongitude: 120.37479,
detailed: '',// actQuota: "10",
firstResult: '',//0: 1: actStartTime: "2022-07-30 13:34",
reviewTime: '',// actType: "heart",
auditSwitch: true,
coverPic: "https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet/test/20220629/db05fed5cc56417299364ab8362ac9a0.png",
coverPicAuditStatus: "",
customerId: "45687aa479955f9d06204d415238f7cc",
noticePassedPeople: false,
requirement: "",
reward: "10",
signInAddress: "市北区海泊桥青岛市市北区政府(延吉路北)",
signInEndTime: "2022-07-30 10:34",
signInLatitude: 36.08743,
signInLongitude: 120.37479,
signInRadius: "100",
signInStartTime: "2022-07-29 13:34",
signUpEndTime: "2022-07-28 13:34",
sponsorContacts: "张三",
sponsorId: "7b6f9a9f9f38d5f9fa7ce94a93d6eb28",
sponsorName: "市北区",
sponsorTel: "15111111111",
sponsorType: "agency",
target: "",
title: "312313",
volunteerLimit: false,
} }
}, },
// //
@ -815,5 +844,21 @@ export default {
<style lang="scss" scoped > <style lang="scss" scoped >
@import "@/assets/scss/modules/management/form-main.scss"; @import "@/assets/scss/modules/management/form-main.scss";
.avatar-uploader {
margin: 0 0 0 20px;
}
</style>
<style lang="scss">
.el-dialog__body {
padding: 0 10px 20px !important;
}
.hide {
.el-upload--picture-card {
display: none !important;
}
}
</style> </style>

193
src/views/modules/communityParty/heart/heartList.vue

@ -17,33 +17,33 @@
</el-form-item> </el-form-item>
<el-form-item label="上报时间" <el-form-item label="活动时间"
prop="startTime"> prop="actStartTime">
<el-date-picker v-model="formData.startTime" <el-date-picker v-model="formData.actStartTime"
:picker-options="startPickerOptions" :picker-options="startPickerOptions"
class="item_width_2" class="item_width_2"
size="small" size="small"
type="date" type="datetime"
value-format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
value="yyyy-MM-dd" format="yyyy-MM-dd"
placeholder="开始时间"> placeholder="开始时间">
</el-date-picker> </el-date-picker>
<span class="data-tag"></span> <span class="data-tag"></span>
<el-date-picker v-model="formData.endTime" <el-date-picker v-model="formData.actEndTime"
:picker-options="endPickerOptions" :picker-options="endPickerOptions"
class="item_width_2 data-tag" class="item_width_2 data-tag"
size="small" size="small"
type="date" type="datetime"
value-format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
value="yyyy-MM-dd" format="yyyy-MM-dd"
placeholder="结束时间"> placeholder="结束时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="状态" <el-form-item label="状态"
prop="firstResult"> prop="status">
<el-select class="item_width_1" <el-select class="item_width_1"
v-model="formData.firstResult" v-model="formData.status"
size="small" size="small"
placeholder="请选择" placeholder="请选择"
clearable> clearable>
@ -97,17 +97,17 @@
min-width="180"> min-width="180">
</el-table-column> </el-table-column>
<el-table-column prop="actStartTime" <el-table-column prop="actactStartTime"
header-align="center" header-align="center"
align="center" align="center"
label="活动时间" label="活动时间"
min-width="180"> min-width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span>{{scope.row.actStartTime+'至'+scope.row.actEndTime}}</span> <span>{{scope.row.actactStartTime+'至'+scope.row.actactEndTime}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="signUpEndTime" <el-table-column prop="signUpactEndTime"
header-align="center" header-align="center"
align="center" align="center"
label="报名截止时间" label="报名截止时间"
@ -128,7 +128,7 @@
<el-table-column label="操作" <el-table-column label="操作"
fixed="right" fixed="right"
width="140" width="440"
header-align="center" header-align="center"
align="center" align="center"
class="operate"> class="operate">
@ -141,8 +141,28 @@
class="div-table-button--edit" class="div-table-button--edit"
size="small" size="small"
@click="handleEdit(scope.row)">修改</el-button> @click="handleEdit(scope.row)">修改</el-button>
<el-button type="text"
class="div-table-button--edit"
size="small"
@click="handleAudit(scope.row)">报名审核</el-button>
<el-button type="text"
class="div-table-button--edit"
size="small"
@click="handleCancleAct(scope.row)">取消活动</el-button>
<el-button type="text"
class="div-table-button--edit"
size="small"
@click="handlePerson(scope.row)">查看人员</el-button>
<el-button type="text"
class="div-table-button--edit"
size="small"
@click="handleFinishAct(scope.row)">结束活动</el-button>
<el-button type="text"
class="div-table-button--edit"
size="small"
@click="handleReview(scope.row)">添加回顾</el-button>
<el-popover popper-class="btn-popper" <!-- <el-popover popper-class="btn-popper"
placement="bottom" placement="bottom"
style="margin-left:10px" style="margin-left:10px"
width="20" width="20"
@ -151,7 +171,7 @@
<el-button type="text" <el-button type="text"
class="div-table-button--edit" class="div-table-button--edit"
size="small" size="small"
@click="handleReview(scope.row)">复查记录</el-button> @click="handleReview(scope.row)">报名审核</el-button>
</div> </div>
<div class="table-more-btn"> <div class="table-more-btn">
@ -165,7 +185,7 @@
size="small" size="small"
class="div-table-button--more" class="div-table-button--more"
slot="reference">更多<i class="el-icon-caret-bottom"></i></el-button> slot="reference">更多<i class="el-icon-caret-bottom"></i></el-button>
</el-popover> </el-popover> -->
</template> </template>
</el-table-column> </el-table-column>
@ -187,7 +207,7 @@
:close-on-click-modal="false" :close-on-click-modal="false"
:close-on-press-escape="false" :close-on-press-escape="false"
:title="formTitle" :title="formTitle"
width="1250px" width="1350px"
top="5vh" top="5vh"
class="dialog-h" class="dialog-h"
@closed="diaClose"> @closed="diaClose">
@ -196,18 +216,51 @@
@dialogOk="addFormOk"></heart-form> @dialogOk="addFormOk"></heart-form>
</el-dialog> </el-dialog>
<!-- 活动取消原因 -->
<el-dialog :visible.sync="cancleShow"
:close-on-click-modal="false"
:close-on-press-escape="false"
:title="'活动取消原因'"
width="550px"
top="5vh"
class="dialog-h"
@closed="cancleDiaClose">
<div style="padding:50px">
<el-input class="item_width_5"
type="textarea"
maxlength="100"
show-word-limit
:rows="3"
placeholder="请输入取消理由"
v-model="cancelReason"></el-input>
<div style="display:flex; justify-content: center;margin-top:20px">
<el-button style="margin-left:30px"
size="small"
class="diy-button--search"
@click="cancleDiaClose">取消</el-button>
<el-button style="margin-left:10px"
size="small"
class="diy-button--reset"
@click="cancleAct">确定</el-button>
</div>
</div>
</el-dialog>
<!-- 复查记录弹出框 --> <!-- 复查记录弹出框 -->
<el-dialog :visible.sync="reviewShow" <el-dialog :visible.sync="reviewShow"
:close-on-click-modal="false" :close-on-click-modal="false"
:close-on-press-escape="false" :close-on-press-escape="false"
:title="'复查记录'" :title="'活动回顾'"
width="80%" width="80%"
top="5vh" top="5vh"
class="dialog-h" class="dialog-h"
@closed="reviewDiaClose"> @closed="diaClose">
<heart-review ref="ref_review" <heart-review ref="ref_review"
:statusList="statusList" :statusList="statusList"
@reviewDiaClose="reviewDiaClose"></heart-review> @reviewDiaClose="diaClose"></heart-review>
</el-dialog> </el-dialog>
</div> </div>
@ -227,9 +280,9 @@ export default {
data () { data () {
let endDisabledDate = (time) => {//datareturn let endDisabledDate = (time) => {//datareturn
let nowData = Date.now() let nowData = Date.now()
if (this.formData.startTime) { if (this.formData.actactStartTime) {
let startTime = new Date(this.formData.startTime) let actStartTime = new Date(this.formData.actactStartTime + ':00')
return time.getTime() > nowData || time.getTime() < startTime || time.getTime() === startTime return time.getTime() < actStartTime || time.getTime() === actStartTime
} else { } else {
return time.getTime() > nowData return time.getTime() > nowData
} }
@ -253,18 +306,18 @@ export default {
}, },
agencyId: '', agencyId: '',
gridList: [],//list--
statusList: [ statusList: [
{ {
value: '0', value: 'published',
label: '进行中' label: '进行中'
}, },
{ {
value: '1', value: 'finished',
label: '已结束' label: '已结束'
}, },
{ {
value: '2', value: 'canceled',
label: '已取消' label: '已取消'
} }
],//list ],//list
@ -272,12 +325,9 @@ export default {
formData: { formData: {
title: '',// title: '',//
firstResult: '',//0: 1: actStartTime: '',
gridId: '',//Id actEndTime: '',
ninePlaceVal: '',//Value status: ''
finalResult: '',//0: 1:
startTime: '',
endTime: ''
}, },
tableData: [], tableData: [],
@ -285,8 +335,14 @@ export default {
//form //form
formShow: false, formShow: false,
formTitle: '新增巡查', formTitle: '新增巡查',
actId: '',
reviewShow: false cancelReason: '',
cancleShow: false,//
auditShow: false,//
personShow: false,//
finishShow: false,//
reviewShow: false,//
} }
}, },
@ -351,6 +407,15 @@ export default {
this.reviewShow = false this.reviewShow = false
}, },
diaClose () {
this.cancleShow = false//
this.auditShow = false//
this.personShow = false//
this.finishShow = false//
this.reviewShow = false//
},
handleDetail (row) { handleDetail (row) {
this.formTitle = '详情' this.formTitle = '详情'
this.formShow = true this.formShow = true
@ -375,7 +440,7 @@ export default {
}) })
}, },
handleReview (row) { handleAudit (row) {
this.reviewShow = true this.reviewShow = true
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.ref_review.initTable(row.placePatrolRecordId) this.$refs.ref_review.initTable(row.placePatrolRecordId)
@ -391,38 +456,27 @@ export default {
this.loadTable() this.loadTable()
}, },
async handleDelete (row) { async handleCancleAct (row) {
this.cancleShow = true
this.$confirm("确认删除?", "提示", { this.actId = row.actId
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
})
.then(() => {
this.deleteRecord(row)
})
.catch(err => {
if (err == "cancel") {
}
});
}, },
async deleteRecord (row) { async cancleAct () {
const url = "/gov/org/placepatrolrecord/del" const url = "/heart/work/act/cancelact"
// const url = "http://yapi.elinkservice.cn/mock/245/gov/org/placepatrolrecord/del" // const url = "http://yapi.elinkservice.cn/mock/245/gov/org/placepatrolrecord/del"
let params = { let params = {
placePatrolRecordId: row.placePatrolRecordId actId: this.actId,
cancelReason: this.cancelReason,
} }
const { data, code, msg } = await requestPost(url, params) const { data, code, msg } = await requestPost(url, params)
if (code === 0) { if (code === 0) {
this.cancleShow = false
this.$message({ this.$message({
type: "success", type: "success",
message: "删除成功" message: "取消成功"
}); });
this.loadTable() this.loadTable()
@ -431,17 +485,30 @@ export default {
} }
}, },
cancleDiaClose () {
this.cancelReason = ''
this.cancleShow = false//
},
diaClose () {
this.auditShow = false//
this.personShow = false//
this.finishShow = false//
this.reviewShow = false//
},
// //
resetSearch () { resetSearch () {
this.formData = { this.formData = {
title: '',// title: '',//
mobile: '',//
scale: '',// 0:10 1:10-20 2:21-40 3:41-100 4:100 actStartTime: '',
gridId: '',//Id actEndTime: '',
ninePlaceVal: '',//Value status: ''
isPage: true,//(:true :false)
} }
this.pageSize = 10 this.pageSize = 20
this.pageNo = 0 this.pageNo = 0
this.loadTable() this.loadTable()
}, },

Loading…
Cancel
Save