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;
}
.list_item_width_3 {
width: 185px;
}
.item_width_5{
width: 320px;
}

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

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

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

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

Loading…
Cancel
Save