3 changed files with 786 additions and 9 deletions
@ -0,0 +1,392 @@ |
|||
<template> |
|||
<div class="g-main"> |
|||
<div class="m-search"> |
|||
<el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'100px'"> |
|||
<div> |
|||
<el-form-item label="所属组织" prop="activityName"> |
|||
<el-select v-model="formData.status" placeholder="请选择" clearable> |
|||
<el-option label="待发布" value="0" /> |
|||
<el-option label="已上线" value="1" /> |
|||
<el-option label="已下线" value="2" /> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="党员属性" prop="activityName"> |
|||
<el-select v-model="formData.status" placeholder="请选择" clearable> |
|||
<el-option label="待发布" value="0" /> |
|||
<el-option label="已上线" value="1" /> |
|||
<el-option label="已下线" value="2" /> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="姓名" prop="activityName"> |
|||
<el-input v-model.trim="formData.title" size="small" class="item_width_1" clearable |
|||
placeholder="请输入关键字"> |
|||
</el-input> |
|||
</el-form-item> |
|||
<el-form-item label="身份证" prop="activityName"> |
|||
<el-input v-model.trim="formData.title" size="small" class="item_width_1" clearable |
|||
placeholder="请输入关键字"> |
|||
</el-input> |
|||
</el-form-item> |
|||
<el-form-item label="手机号" prop="activityName"> |
|||
<el-input v-model.trim="formData.title" size="small" class="item_width_1" clearable |
|||
placeholder="请输入关键字"> |
|||
</el-input> |
|||
</el-form-item> |
|||
<el-form-item label="审核状态" prop="activityName"> |
|||
<el-select v-model="formData.status" placeholder="请选择" clearable> |
|||
<el-option label="待发布" value="0" /> |
|||
<el-option label="已上线" value="1" /> |
|||
<el-option label="已下线" value="2" /> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button style="margin-left:10px" @click="handleSearch" type="primary">查询</el-button> |
|||
<el-button style="margin-left:10px" @click="resetSearch" type="primary">重置</el-button> |
|||
</el-form-item> |
|||
</div> |
|||
</el-form> |
|||
</div> |
|||
<div class="m-table"> |
|||
<el-table class="table" :data="tableData" border :height="tableHeight" v-loading="tableLoading" style="width: 100%;margin-top:16px"> |
|||
<el-table-column label="序号" header-align="center" align="center" type="index" width="50"></el-table-column> |
|||
<el-table-column prop="title" header-align="center" align="center" label="所属组织" width="260"></el-table-column> |
|||
<el-table-column prop="title" header-align="center" align="center" label="党员属性" width="260"></el-table-column> |
|||
<el-table-column prop="title" header-align="center" align="center" label="姓名" width="260"></el-table-column> |
|||
<el-table-column prop="title" header-align="center" align="center" label="身份证" width="260"></el-table-column> |
|||
<el-table-column prop="title" header-align="center" align="center" label="手机" width="260"></el-table-column> |
|||
<el-table-column prop="title" header-align="center" align="center" label="岗位类型" width="260"></el-table-column> |
|||
<el-table-column prop="title" header-align="center" align="center" label="服务内容" width="260"></el-table-column> |
|||
<el-table-column prop="coverPic" header-align="center" align="center" label="图片" width="180"> |
|||
<template slot-scope="scope"> |
|||
<el-image :src="scope.row.coverPic" style="width: 40px;height: 40px;" :preview-src-list="srcList" @click="imageClick(scope.row.coverPic)"></el-image> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="title" header-align="center" align="center" label="审核状态" width="260"></el-table-column> |
|||
<el-table-column label="操作" fixed="right" width="130" header-align="center" align="center" class="operate"> |
|||
<template slot-scope="scope"> |
|||
<el-button type="text" style="color:#1C6AFD;" size="small" @click="handleDetail(scope.row,'1')">审核</el-button> |
|||
<el-button type="text" style="color:#1C6AFD;" size="small" @click="handleDetail(scope.row,'2')">查看</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
<div> |
|||
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="pageNo" |
|||
:page-sizes="[10, 20, 50]" :page-size="pageSize" layout="sizes, prev, pager, next, total" :total="total"> |
|||
</el-pagination> |
|||
</div> |
|||
</div> |
|||
<el-dialog :visible.sync="detailShow" v-if="detailShow" formShow :close-on-click-modal="false" |
|||
:close-on-press-escape="false" :title="isDetail=='1'?'审核':'详情'" width="950px" top="3vh" @closed="detailClosed"> |
|||
<!-- 基本信息模块 --> |
|||
<div style="height: 180px;"> |
|||
<div class="module-title">基本信息</div> |
|||
<el-form :model="baseForm" label-width="100px" class="base-form"> |
|||
<el-row :gutter="20" class="form-row"> |
|||
<el-col :span="8"> |
|||
<el-form-item label="所属组织"> |
|||
<span class="form-value">{{ baseForm.organization }}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item label="党员属性"> |
|||
<span class="form-value">{{ baseForm.memberType }}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item label="岗位类型"> |
|||
<span class="form-value">{{ baseForm.postType }}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item label="姓名"> |
|||
<span class="form-value">{{ baseForm.name }}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item label="手机号"> |
|||
<span class="form-value">{{ baseForm.phone }}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item label="身份证号"> |
|||
<span class="form-value">{{ baseForm.idCard }}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<el-form-item label="备注说明"> |
|||
<span class="form-value">{{ baseForm.remark }}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form> |
|||
</div> |
|||
<!-- 服务信息模块 --> |
|||
<div style="height: 300px;"> |
|||
<div class="module-title">提报信息</div> |
|||
<el-form :model="serviceForm" label-width="100px" class="service-form"> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="24"> |
|||
<el-form-item label="服务内容"> |
|||
<div class="content-box">{{ serviceForm.content }}</div> |
|||
</el-form-item> |
|||
</el-col> |
|||
<!-- 视频模块(有视频才显示) --> |
|||
<el-col :span="24" v-if="serviceForm.videoUrl"> |
|||
<el-form-item label="服务视频"> |
|||
<video :src="serviceForm.videoUrl" controls class="video-box"></video> |
|||
</el-form-item> |
|||
</el-col> |
|||
<!-- 图片模块 --> |
|||
<el-col :span="24" v-if="serviceForm.imageUrl"> |
|||
<el-form-item label="上传图片"> |
|||
<el-image :src="serviceForm.imageUrl" class="preview-img" fit="contain" preview-src-list="[serviceForm.imageUrl]" :preview-options="{ loop: true }"/> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<el-form-item label="服务时间"> |
|||
<span class="form-value">{{ serviceForm.time }}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<el-form-item label="服务地点"> |
|||
<span class="form-value">{{ serviceForm.address }}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form> |
|||
</div> |
|||
<!-- 审核信息模块 --> |
|||
<div style="height: 276px;"> |
|||
<div class="module-title">审核信息</div> |
|||
<el-form :model="serviceForm" label-width="100px" class="service-form"> |
|||
<el-col :span="24"> |
|||
<el-form-item label="审核状态"> |
|||
<el-select v-model="serviceForm.status" placeholder="请选择" clearable> |
|||
<el-option label="待发布" value="0" /> |
|||
<el-option label="已上线" value="1" /> |
|||
<el-option label="已下线" value="2" /> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="24"> |
|||
<el-form-item label="备注说明"> |
|||
<el-input style="width: 60%" type="textarea" placeholder="请输入内容" v-model="serviceForm.status" :rows="3" show-word-limit /> |
|||
</el-form-item> |
|||
</el-col> |
|||
<!-- 底部按钮 --> |
|||
<el-col :span="24"> |
|||
<el-form-item style="text-align: right;"> |
|||
<el-button>取消</el-button> |
|||
<el-button type="primary" @click="handleSubmit">确定</el-button> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-form> |
|||
</div> |
|||
</el-dialog> |
|||
</div> |
|||
</template> |
|||
<script> |
|||
import { requestPost } from "@/js/dai/request"; |
|||
import { mapGetters } from 'vuex' |
|||
|
|||
let loading // 加载动画 |
|||
export default { |
|||
data () { |
|||
return { |
|||
isDetail: '1', |
|||
// 基本信息表单(完全匹配党建系统字段排版) |
|||
baseForm: { |
|||
organization: "区委组织部", |
|||
memberType: "有职党员", |
|||
postType: "政策宣传岗-宣传思想", |
|||
currentPost: "普通党员", |
|||
name: "王军", |
|||
phone: "133****0000", |
|||
idCard: "3708**********2010", |
|||
remark: "-" |
|||
}, |
|||
// 服务信息表单 |
|||
serviceForm: { |
|||
content: "向群众广泛宣传习近平新时代中国特色社会主义思想,宣传党的路线方针政策,协助组织做好群众的思想政治工作,教育引导广大群众自觉听党话,坚定不移跟党走。", |
|||
videoUrl: "", // 无视频则留空 |
|||
imageUrl: "https://p3-flow-imagex-sign.byteimg.com/tos-cn-i-a9rns2rl98/b38d0be0b86e4bd1afc793547d9b746b.png~tplv-a9rns2rl98-image.png?lk3s=8e244e95&rcl=202601071642180B1EB491BA6BDBC4BC79&rrcfp=dafada99&x-expires=2083999338&x-signature=9NavNT3PSIDUAdU087JmFfKPqQo%3D", |
|||
time: "2025-08-16 13:30:20", |
|||
address: "灵山街道XXXX新村168号" |
|||
}, |
|||
srcList: [], |
|||
loading: false, |
|||
total: 0, |
|||
pageSize: 10, |
|||
pageNo: 0, |
|||
tableLoading: false, |
|||
value1: [], |
|||
formData: { |
|||
title: "", |
|||
status: "", |
|||
startTime: '', |
|||
endTime: '', |
|||
}, |
|||
tableData: [], |
|||
detailShow: false, |
|||
multipleSelection: [] |
|||
} |
|||
}, |
|||
async mounted () { |
|||
this.communityActivityList() |
|||
}, |
|||
methods: { |
|||
handleSelectionChange(val) { |
|||
this.multipleSelection = val; |
|||
}, |
|||
imageClick(val){ |
|||
this.srcList = [] |
|||
this.srcList.push(val) |
|||
}, |
|||
async communityActivityList() { |
|||
const url = "/actual/base/partyActivity/page"; |
|||
let params = { |
|||
pageSize: this.pageSize, |
|||
pageNo: this.pageNo, |
|||
...this.formData, |
|||
}; |
|||
let { data, code, msg } = await requestPost(url, params); |
|||
if (code === 0) { |
|||
this.total = data.total |
|||
this.tableData = data.list |
|||
} else { |
|||
this.$message.error(msg) |
|||
} |
|||
}, |
|||
async handleSearch () { |
|||
if(this.value1){ |
|||
if(this.value1.length==2){ |
|||
this.formData.startTime = this.value1[0] |
|||
this.formData.endTime = this.value1[1] |
|||
} |
|||
}else { |
|||
this.formData.startTime = '' |
|||
this.formData.endTime = '' |
|||
} |
|||
this.communityActivityList() |
|||
}, |
|||
detailClosed () { |
|||
this.detailShow = false |
|||
}, |
|||
async handleDetail (row, val) { |
|||
this.isDetail = val |
|||
this.detailShow = true |
|||
}, |
|||
handleInitAdd (e) { |
|||
|
|||
}, |
|||
//重置搜索条件 |
|||
resetSearch () { |
|||
this.formData = { |
|||
title: "", |
|||
status: "", |
|||
startTime: '', |
|||
endTime: '', |
|||
} |
|||
this.pageSize = 10 |
|||
this.pageNo = 1 |
|||
// this.loadTable() |
|||
this.communityActivityList() |
|||
}, |
|||
handleSizeChange (val) { |
|||
this.pageSize = val |
|||
this.pageNo = 1 |
|||
// this.loadTable() |
|||
this.communityActivityList() |
|||
}, |
|||
handleCurrentChange (val) { |
|||
this.pageNo = val |
|||
// this.loadTable() |
|||
this.communityActivityList() |
|||
}, |
|||
// 确定按钮:提交表单 |
|||
handleSubmit() { |
|||
|
|||
} |
|||
}, |
|||
computed: { |
|||
tableHeight () { |
|||
return this.$store.state.inIframe ? this.clientHeight - 430 + this.iframeHeight : this.clientHeight - 430 |
|||
}, |
|||
|
|||
...mapGetters(['clientHeight', 'iframeHeight']) |
|||
}, |
|||
} |
|||
</script> |
|||
<style lang="scss" scoped > |
|||
.g-main { |
|||
width: 100%; |
|||
} |
|||
|
|||
.m-search { |
|||
background: #ffffff; |
|||
border-radius: 4px; |
|||
padding: 24px 10px 10px; |
|||
box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.1); |
|||
margin: 20px 7px 7px; |
|||
} |
|||
.m-table { |
|||
background: #ffffff; |
|||
box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.1); |
|||
border-radius: 4px; |
|||
margin-top: 15px; |
|||
padding: 24px 16px 10px; |
|||
margin: 16px 7px 7px; |
|||
} |
|||
.module-title { |
|||
margin-bottom: 6px; |
|||
font-size: 16px; |
|||
font-weight: 500; |
|||
color: #000; |
|||
padding-left: 8px; |
|||
} |
|||
|
|||
/* 表单样式(核心还原点) */ |
|||
.base-form, .service-form { |
|||
padding: 10px 10px 0px 10px; |
|||
} |
|||
.base-form .el-form-item { |
|||
margin-bottom: 8px; /* 关键:改小上下间距,根据需求调8/10/12px */ |
|||
line-height: 1.4; /* 可选:调整行高,让文字更紧凑 */ |
|||
} |
|||
.form-value { |
|||
font-size: 14px; |
|||
color: #333; |
|||
//line-height: 1; |
|||
} |
|||
.content-box { |
|||
padding: 5px; |
|||
border-radius: 4px; |
|||
line-height: 1.8; |
|||
color: #333; |
|||
font-size: 14px; |
|||
white-space: pre-wrap; |
|||
} |
|||
|
|||
/* 媒体样式 */ |
|||
.video-box { |
|||
width: 400px; |
|||
height: auto; |
|||
border-radius: 4px; |
|||
} |
|||
.preview-img { |
|||
width: 240px; |
|||
height: auto; |
|||
cursor: pointer; |
|||
border-radius: 4px; |
|||
} |
|||
|
|||
/* 适配小屏幕 */ |
|||
@media (max-width: 768px) { |
|||
.preview-img { |
|||
width: 100%; |
|||
} |
|||
.video-box { |
|||
width: 100%; |
|||
} |
|||
} |
|||
</style> |
|||
@ -0,0 +1,385 @@ |
|||
<template> |
|||
<div class="g-main"> |
|||
<div class="m-search"> |
|||
<el-form :inline="true" :model="formData" ref="ref_searchform" :label-width="'100px'"> |
|||
<div> |
|||
<el-form-item label="所属组织" prop="activityName"> |
|||
<el-select v-model="formData.status" placeholder="请选择" clearable> |
|||
<el-option label="待发布" value="0" /> |
|||
<el-option label="已上线" value="1" /> |
|||
<el-option label="已下线" value="2" /> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="党员属性" prop="activityName"> |
|||
<el-select v-model="formData.status" placeholder="请选择" clearable> |
|||
<el-option label="待发布" value="0" /> |
|||
<el-option label="已上线" value="1" /> |
|||
<el-option label="已下线" value="2" /> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="岗位类型" prop="activityName"> |
|||
<el-select v-model="formData.status" placeholder="请选择" clearable> |
|||
<el-option label="待发布" value="0" /> |
|||
<el-option label="已上线" value="1" /> |
|||
<el-option label="已下线" value="2" /> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="姓名" prop="activityName"> |
|||
<el-input v-model.trim="formData.title" size="small" class="item_width_1" clearable |
|||
placeholder="请输入关键字"> |
|||
</el-input> |
|||
</el-form-item> |
|||
<el-form-item label="身份证" prop="activityName"> |
|||
<el-input v-model.trim="formData.title" size="small" class="item_width_1" clearable |
|||
placeholder="请输入关键字"> |
|||
</el-input> |
|||
</el-form-item> |
|||
<el-form-item label="手机号" prop="activityName"> |
|||
<el-input v-model.trim="formData.title" size="small" class="item_width_1" clearable |
|||
placeholder="请输入关键字"> |
|||
</el-input> |
|||
</el-form-item> |
|||
<el-form-item label="服务时间"> |
|||
<el-date-picker v-model="value1" type="datetimerange" range-separator="至" start-placeholder="开始日期" value-format="yyyy-MM-dd HH:mm:ss" |
|||
format="yyyy-MM-dd HH:mm:ss" end-placeholder="结束日期"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button style="margin-left:10px" @click="handleSearch" type="primary">查询</el-button> |
|||
<el-button style="margin-left:10px" @click="resetSearch" type="primary">重置</el-button> |
|||
</el-form-item> |
|||
</div> |
|||
</el-form> |
|||
</div> |
|||
<div class="m-table"> |
|||
<div class="div_btn"> |
|||
<el-button style="" class="diy-button--add" size="small" @click="handleInitAdd">导出</el-button> |
|||
</div> |
|||
<el-table class="table" :data="tableData" border :height="tableHeight" v-loading="tableLoading" style="width: 100%;margin-top:16px" |
|||
@selection-change="handleSelectionChange" ref="multipleTable"> |
|||
<el-table-column type="selection" width="40" align="center"/> |
|||
<el-table-column label="序号" header-align="center" align="center" type="index" width="50"></el-table-column> |
|||
<el-table-column prop="title" header-align="center" align="center" label="所属组织" width="260"></el-table-column> |
|||
<el-table-column prop="title" header-align="center" align="center" label="党员属性" width="260"></el-table-column> |
|||
<el-table-column prop="title" header-align="center" align="center" label="姓名" width="260"></el-table-column> |
|||
<el-table-column prop="title" header-align="center" align="center" label="身份证" width="260"></el-table-column> |
|||
<el-table-column prop="title" header-align="center" align="center" label="手机" width="260"></el-table-column> |
|||
<el-table-column prop="title" header-align="center" align="center" label="岗位类型" width="260"></el-table-column> |
|||
<el-table-column prop="title" header-align="center" align="center" label="服务内容" width="260"></el-table-column> |
|||
<el-table-column prop="coverPic" header-align="center" align="center" label="图片" width="180"> |
|||
<template slot-scope="scope"> |
|||
<el-image :src="scope.row.coverPic" style="width: 40px;height: 40px;" :preview-src-list="srcList" @click="imageClick(scope.row.coverPic)"></el-image> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="title" header-align="center" align="center" label="服务时间" width="260"></el-table-column> |
|||
<el-table-column label="操作" fixed="right" width="130" header-align="center" align="center" class="operate"> |
|||
<template slot-scope="scope"> |
|||
<el-button type="text" style="color:#1C6AFD;" size="small" @click="handleDetail(scope.row)">查看</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
<div> |
|||
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page.sync="pageNo" |
|||
:page-sizes="[10, 20, 50]" :page-size="pageSize" layout="sizes, prev, pager, next, total" :total="total"> |
|||
</el-pagination> |
|||
</div> |
|||
</div> |
|||
<el-dialog :visible.sync="detailShow" v-if="detailShow" formShow :close-on-click-modal="false" |
|||
:close-on-press-escape="false" :title="'详情'" width="950px" top="5vh" @closed="detailClosed"> |
|||
<!-- 基本信息模块 --> |
|||
<div class="module-wrap"> |
|||
<div class="module-title">基本信息</div> |
|||
<el-form :model="baseForm" label-width="100px" class="base-form"> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="8"> |
|||
<el-form-item label="所属组织"> |
|||
<span class="form-value">{{ baseForm.organization }}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item label="党员属性"> |
|||
<span class="form-value">{{ baseForm.memberType }}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item label="岗位类型"> |
|||
<span class="form-value">{{ baseForm.postType }}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item label="当前岗位"> |
|||
<span class="form-value">{{ baseForm.currentPost }}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item label="姓名"> |
|||
<span class="form-value">{{ baseForm.name }}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item label="手机号"> |
|||
<span class="form-value">{{ baseForm.phone }}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<el-form-item label="身份证号"> |
|||
<span class="form-value">{{ baseForm.idCard }}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<el-form-item label="备注说明"> |
|||
<span class="form-value">{{ baseForm.remark }}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form> |
|||
</div> |
|||
<!-- 服务信息模块 --> |
|||
<div class="module-wrap"> |
|||
<div class="module-title">服务信息</div> |
|||
<el-form :model="serviceForm" label-width="100px" class="service-form"> |
|||
<el-row :gutter="20"> |
|||
<el-col :span="24"> |
|||
<el-form-item label="服务内容"> |
|||
<div class="content-box">{{ serviceForm.content }}</div> |
|||
</el-form-item> |
|||
</el-col> |
|||
<!-- 视频模块(有视频才显示) --> |
|||
<el-col :span="24" v-if="serviceForm.videoUrl"> |
|||
<el-form-item label="服务视频"> |
|||
<video :src="serviceForm.videoUrl" controls class="video-box"></video> |
|||
</el-form-item> |
|||
</el-col> |
|||
<!-- 图片模块 --> |
|||
<el-col :span="24" v-if="serviceForm.imageUrl"> |
|||
<el-form-item label="上传图片"> |
|||
<el-image :src="serviceForm.imageUrl" class="preview-img" fit="contain" preview-src-list="[serviceForm.imageUrl]" :preview-options="{ loop: true }"/> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<el-form-item label="服务时间"> |
|||
<span class="form-value">{{ serviceForm.time }}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<el-form-item label="服务地点"> |
|||
<span class="form-value">{{ serviceForm.address }}</span> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form> |
|||
<div style="width: 80%;display: flex;flex-direction: row-reverse;margin: auto"> |
|||
<el-button type="primary" @click="handleSubmit" style="margin-left: 10%">下载</el-button> |
|||
</div> |
|||
</div> |
|||
</el-dialog> |
|||
</div> |
|||
</template> |
|||
<script> |
|||
import { requestPost } from "@/js/dai/request"; |
|||
import { mapGetters } from 'vuex' |
|||
|
|||
let loading // 加载动画 |
|||
export default { |
|||
data () { |
|||
return { |
|||
// 基本信息表单(完全匹配党建系统字段排版) |
|||
baseForm: { |
|||
organization: "区委组织部", |
|||
memberType: "有职党员", |
|||
postType: "政策宣传岗-宣传思想", |
|||
currentPost: "普通党员", |
|||
name: "王军", |
|||
phone: "133****0000", |
|||
idCard: "3708**********2010", |
|||
remark: "-" |
|||
}, |
|||
// 服务信息表单 |
|||
serviceForm: { |
|||
content: "向群众广泛宣传习近平新时代中国特色社会主义思想,宣传党的路线方针政策,协助组织做好群众的思想政治工作,教育引导广大群众自觉听党话,坚定不移跟党走。", |
|||
videoUrl: "", // 无视频则留空 |
|||
imageUrl: "https://p3-flow-imagex-sign.byteimg.com/tos-cn-i-a9rns2rl98/b38d0be0b86e4bd1afc793547d9b746b.png~tplv-a9rns2rl98-image.png?lk3s=8e244e95&rcl=202601071642180B1EB491BA6BDBC4BC79&rrcfp=dafada99&x-expires=2083999338&x-signature=9NavNT3PSIDUAdU087JmFfKPqQo%3D", |
|||
time: "2025-08-16 13:30:20", |
|||
address: "灵山街道XXXX新村168号" |
|||
}, |
|||
srcList: [], |
|||
loading: false, |
|||
total: 0, |
|||
pageSize: 10, |
|||
pageNo: 0, |
|||
tableLoading: false, |
|||
value1: [], |
|||
formData: { |
|||
title: "", |
|||
status: "", |
|||
startTime: '', |
|||
endTime: '', |
|||
}, |
|||
tableData: [], |
|||
detailShow: false, |
|||
multipleSelection: [] |
|||
} |
|||
}, |
|||
async mounted () { |
|||
this.communityActivityList() |
|||
}, |
|||
methods: { |
|||
handleSelectionChange(val) { |
|||
this.multipleSelection = val; |
|||
}, |
|||
imageClick(val){ |
|||
this.srcList = [] |
|||
this.srcList.push(val) |
|||
}, |
|||
async communityActivityList() { |
|||
const url = "/actual/base/partyActivity/page"; |
|||
let params = { |
|||
pageSize: this.pageSize, |
|||
pageNo: this.pageNo, |
|||
...this.formData, |
|||
}; |
|||
let { data, code, msg } = await requestPost(url, params); |
|||
if (code === 0) { |
|||
this.total = data.total |
|||
this.tableData = data.list |
|||
} else { |
|||
this.$message.error(msg) |
|||
} |
|||
}, |
|||
async handleSearch () { |
|||
if(this.value1){ |
|||
if(this.value1.length==2){ |
|||
this.formData.startTime = this.value1[0] |
|||
this.formData.endTime = this.value1[1] |
|||
} |
|||
}else { |
|||
this.formData.startTime = '' |
|||
this.formData.endTime = '' |
|||
} |
|||
this.communityActivityList() |
|||
}, |
|||
detailClosed () { |
|||
this.detailShow = false |
|||
}, |
|||
async handleDetail (row) { |
|||
this.detailShow = true |
|||
}, |
|||
handleInitAdd (e) { |
|||
|
|||
}, |
|||
//重置搜索条件 |
|||
resetSearch () { |
|||
this.formData = { |
|||
title: "", |
|||
status: "", |
|||
startTime: '', |
|||
endTime: '', |
|||
} |
|||
this.pageSize = 10 |
|||
this.pageNo = 1 |
|||
// this.loadTable() |
|||
this.communityActivityList() |
|||
}, |
|||
handleSizeChange (val) { |
|||
this.pageSize = val |
|||
this.pageNo = 1 |
|||
// this.loadTable() |
|||
this.communityActivityList() |
|||
}, |
|||
handleCurrentChange (val) { |
|||
this.pageNo = val |
|||
// this.loadTable() |
|||
this.communityActivityList() |
|||
}, |
|||
// 确定按钮:提交表单 |
|||
handleSubmit() { |
|||
|
|||
} |
|||
}, |
|||
computed: { |
|||
tableHeight () { |
|||
return this.$store.state.inIframe ? this.clientHeight - 430 + this.iframeHeight : this.clientHeight - 430 |
|||
}, |
|||
|
|||
...mapGetters(['clientHeight', 'iframeHeight']) |
|||
}, |
|||
} |
|||
</script> |
|||
<style lang="scss" scoped > |
|||
.g-main { |
|||
width: 100%; |
|||
} |
|||
|
|||
.m-search { |
|||
background: #ffffff; |
|||
border-radius: 4px; |
|||
padding: 24px 10px 10px; |
|||
box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.1); |
|||
margin: 20px 7px 7px; |
|||
} |
|||
.m-table { |
|||
background: #ffffff; |
|||
box-shadow: 0px 2px 12px 0px rgba(0, 0, 0, 0.1); |
|||
border-radius: 4px; |
|||
margin-top: 15px; |
|||
padding: 24px 16px 10px; |
|||
margin: 16px 7px 7px; |
|||
} |
|||
|
|||
.div_btn { |
|||
display: flex; |
|||
justify-content: space-between; |
|||
} |
|||
|
|||
/* 模块通用样式 */ |
|||
.module-wrap { |
|||
margin-bottom: 10px; |
|||
} |
|||
.module-title { |
|||
font-size: 16px; |
|||
font-weight: 500; |
|||
color: #000; |
|||
padding-left: 8px; |
|||
} |
|||
|
|||
/* 表单样式(核心还原点) */ |
|||
.base-form, .service-form { |
|||
padding: 20px 10px; |
|||
} |
|||
.form-value { |
|||
font-size: 14px; |
|||
color: #333; |
|||
line-height: 1.5; |
|||
} |
|||
.content-box { |
|||
padding: 5px; |
|||
border-radius: 4px; |
|||
line-height: 1.8; |
|||
color: #333; |
|||
font-size: 14px; |
|||
white-space: pre-wrap; |
|||
} |
|||
|
|||
/* 媒体样式 */ |
|||
.video-box { |
|||
width: 400px; |
|||
height: auto; |
|||
border-radius: 4px; |
|||
} |
|||
.preview-img { |
|||
width: 240px; |
|||
height: auto; |
|||
cursor: pointer; |
|||
border-radius: 4px; |
|||
} |
|||
|
|||
/* 适配小屏幕 */ |
|||
@media (max-width: 768px) { |
|||
.preview-img { |
|||
width: 100%; |
|||
} |
|||
.video-box { |
|||
width: 100%; |
|||
} |
|||
} |
|||
</style> |
|||
Loading…
Reference in new issue