22 changed files with 651 additions and 486 deletions
@ -0,0 +1,234 @@ |
|||||
|
<template> |
||||
|
<el-card shadow="never" |
||||
|
class="aui-card--fill"> |
||||
|
<div class="mod-demo__epdcevents}"> |
||||
|
<el-form :inline="true" |
||||
|
:model="dataForm" |
||||
|
@keyup.enter.native="getDataList()"> |
||||
|
<el-form-item label="街道"> |
||||
|
<el-select v-model="dataForm.streetId" |
||||
|
placeholder="请选择" |
||||
|
clearable |
||||
|
@change="getCommunityList"> |
||||
|
<el-option v-for="item in streetOptions" |
||||
|
:key="item.id" |
||||
|
:label="item.name" |
||||
|
:value="item.id"> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="社区"> |
||||
|
<el-select v-model="dataForm.communityId" |
||||
|
placeholder="请选择" |
||||
|
clearable |
||||
|
@change="getGridList"> |
||||
|
<el-option v-for="item in communityOptions" |
||||
|
:key="item.id" |
||||
|
:label="item.name" |
||||
|
:value="item.id"> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="网格"> |
||||
|
<el-select v-model="dataForm.gridId" clearable |
||||
|
placeholder="请选择"> |
||||
|
<el-option v-for="item in gridOptions" |
||||
|
:key="item.id" |
||||
|
:label="item.name" |
||||
|
:value="item.id"> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="时间" |
||||
|
prop="startTime"> |
||||
|
<el-date-picker v-model="dataForm.startTime" |
||||
|
type="date" |
||||
|
:picker-options="pickerBeginDateBefore" |
||||
|
value-format="yyyy-MM-dd" |
||||
|
format="yyyy-MM-dd" |
||||
|
placeholder="选择日期时间"> |
||||
|
</el-date-picker> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="至" |
||||
|
label-width="25px" |
||||
|
prop="endTime"> |
||||
|
<el-date-picker v-model="dataForm.endTime" |
||||
|
type="date" |
||||
|
:picker-options="pickerBeginDateAfter" |
||||
|
value-format="yyyy-MM-dd" |
||||
|
format="yyyy-MM-dd" |
||||
|
placeholder="选择日期时间"> |
||||
|
</el-date-picker> |
||||
|
</el-form-item> |
||||
|
<el-form-item> |
||||
|
<el-button @click="getDataList()">{{ $t('query') }}</el-button> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<el-table v-loading="dataListLoading" |
||||
|
:data="dataList" |
||||
|
border |
||||
|
@selection-change="dataListSelectionChangeHandle" |
||||
|
style="width: 100%;"> |
||||
|
<el-table-column label="序号" |
||||
|
type="index" |
||||
|
show-overflow-tooltip |
||||
|
align="center" |
||||
|
width="50"></el-table-column> |
||||
|
<el-table-column prop="issueContent" |
||||
|
label="议题内容" |
||||
|
header-align="center" |
||||
|
width="330" |
||||
|
align="center"></el-table-column> |
||||
|
<el-table-column prop="createdTime" |
||||
|
label="提交时间" |
||||
|
header-align="center" |
||||
|
width="160" |
||||
|
align="center"></el-table-column> |
||||
|
<el-table-column prop="nickName" |
||||
|
label="提交人" |
||||
|
header-align="center" |
||||
|
width="120" |
||||
|
align="center"></el-table-column> |
||||
|
<el-table-column prop="participateNum" |
||||
|
label="参与人数" |
||||
|
header-align="center" |
||||
|
align="center"></el-table-column> |
||||
|
<el-table-column prop="approveNum" |
||||
|
label="支持人数" |
||||
|
header-align="center" |
||||
|
align="center"></el-table-column> |
||||
|
<el-table-column prop="opposeNum" |
||||
|
label="反对人数" |
||||
|
header-align="center" |
||||
|
align="center"></el-table-column> |
||||
|
<el-table-column prop="commentNum" |
||||
|
label="评论数" |
||||
|
header-align="center" |
||||
|
align="center"></el-table-column> |
||||
|
<el-table-column prop="browseNum" |
||||
|
label="浏览数" |
||||
|
header-align="center" |
||||
|
align="center"></el-table-column> |
||||
|
<el-table-column :label="$t('handle')" |
||||
|
fixed="right" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
width="150"> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-button v-if="$hasPermission('events:change:look')" |
||||
|
type="text" |
||||
|
size="small" |
||||
|
@click="detailAction(scope.row.id)">{{ $t('look') }}</el-button> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
<el-pagination :current-page="page" |
||||
|
:page-sizes="[10, 20, 50, 100]" |
||||
|
:page-size="limit" |
||||
|
:total="total" |
||||
|
layout="total, sizes, prev, pager, next, jumper" |
||||
|
@size-change="pageSizeChangeHandle" |
||||
|
@current-change="pageCurrentChangeHandle"> |
||||
|
</el-pagination> |
||||
|
<detail v-if="detailVisible" |
||||
|
ref="detail" |
||||
|
@refreshDataList="getDataList"></detail> |
||||
|
</div> |
||||
|
</el-card> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import mixinViewModule from '@/mixins/view-module' |
||||
|
import Detail from './issue-detail' |
||||
|
export default { |
||||
|
mixins: [mixinViewModule], |
||||
|
name: 'issueChangelist', |
||||
|
data () { |
||||
|
return { |
||||
|
mixinViewModuleOptions: { |
||||
|
getDataListURL: '/events/issue/page', |
||||
|
getDataListIsPage: true |
||||
|
}, |
||||
|
detailVisible: false, |
||||
|
dataForm: { |
||||
|
startTime: '', |
||||
|
endTime: '', |
||||
|
streetId: '', |
||||
|
communityId: '', |
||||
|
gridId: '', |
||||
|
state: '4' |
||||
|
}, |
||||
|
streetOptions: [], |
||||
|
communityOptions: [], |
||||
|
gridOptions: [], |
||||
|
pickerBeginDateBefore: { |
||||
|
disabledDate: (time) => { |
||||
|
let beginDateVal = this.dataForm.startTime |
||||
|
if (beginDateVal) { |
||||
|
return time.getTime() > new Date(beginDateVal).getTime() |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
pickerBeginDateAfter: { |
||||
|
disabledDate: (time) => { |
||||
|
let EndDateVal = this.dataForm.endTime |
||||
|
if (EndDateVal) { |
||||
|
return time.getTime() < new Date(EndDateVal).getTime() |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
components: { |
||||
|
Detail |
||||
|
}, |
||||
|
created: function () { |
||||
|
this.getStreetList() |
||||
|
}, |
||||
|
methods: { |
||||
|
detailAction (id) { |
||||
|
this.$parent.selectComponent = 'IssueCloseDetailView' |
||||
|
this.$router.push({ path: '/events-issue-change', query: { id: id } }) |
||||
|
}, |
||||
|
getStreetList () { |
||||
|
this.$http.get(`/sys/dept/sublist/` + (localStorage.getItem('street') === null ? '1169154711480528897' : localStorage.getItem('street'))).then(({ data: res }) => { |
||||
|
if (res.code !== 0) { |
||||
|
return this.$message.error(res.msg) |
||||
|
} |
||||
|
this.streetOptions = res.data |
||||
|
}).catch(() => { }) |
||||
|
}, |
||||
|
getCommunityList () { |
||||
|
if (this.dataForm.streetId === '') { |
||||
|
this.communityOptions = [] |
||||
|
this.gridOptions = [] |
||||
|
this.dataForm.communityId = '' |
||||
|
this.dataForm.gridId = '' |
||||
|
return |
||||
|
} |
||||
|
this.dataForm.communityId = '' |
||||
|
this.dataForm.gridId = '' |
||||
|
this.$http.get(`/sys/dept/sublist/` + this.dataForm.streetId).then(({ data: res }) => { |
||||
|
if (res.code !== 0) { |
||||
|
return this.$message.error(res.msg) |
||||
|
} |
||||
|
this.communityOptions = res.data |
||||
|
}).catch(() => { }) |
||||
|
}, |
||||
|
getGridList () { |
||||
|
if (this.dataForm.communityId === '') { |
||||
|
this.gridOptions = [] |
||||
|
this.dataForm.gridId = '' |
||||
|
return |
||||
|
} |
||||
|
this.dataForm.gridId = '' |
||||
|
this.$http.get(`/sys/dept/sublist/` + this.dataForm.communityId).then(({ data: res }) => { |
||||
|
if (res.code !== 0) { |
||||
|
return this.$message.error(res.msg) |
||||
|
} |
||||
|
this.gridOptions = res.data |
||||
|
}).catch(() => { }) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
@ -1,232 +1,25 @@ |
|||||
<template> |
<template> |
||||
<el-card shadow="never" |
<keep-alive include="issueChangelist"> |
||||
class="aui-card--fill"> |
<component :is="selectComponent"></component> |
||||
<div class="mod-demo__epdcevents}"> |
</keep-alive> |
||||
<el-form :inline="true" |
|
||||
:model="dataForm" |
|
||||
@keyup.enter.native="getDataList()"> |
|
||||
<el-form-item label="街道"> |
|
||||
<el-select v-model="dataForm.streetId" |
|
||||
placeholder="请选择" |
|
||||
clearable |
|
||||
@change="getCommunityList"> |
|
||||
<el-option v-for="item in streetOptions" |
|
||||
:key="item.id" |
|
||||
:label="item.name" |
|
||||
:value="item.id"> |
|
||||
</el-option> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="社区"> |
|
||||
<el-select v-model="dataForm.communityId" |
|
||||
placeholder="请选择" |
|
||||
clearable |
|
||||
@change="getGridList"> |
|
||||
<el-option v-for="item in communityOptions" |
|
||||
:key="item.id" |
|
||||
:label="item.name" |
|
||||
:value="item.id"> |
|
||||
</el-option> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="网格"> |
|
||||
<el-select v-model="dataForm.gridId" clearable |
|
||||
placeholder="请选择"> |
|
||||
<el-option v-for="item in gridOptions" |
|
||||
:key="item.id" |
|
||||
:label="item.name" |
|
||||
:value="item.id"> |
|
||||
</el-option> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="时间" |
|
||||
prop="startTime"> |
|
||||
<el-date-picker v-model="dataForm.startTime" |
|
||||
type="date" |
|
||||
:picker-options="pickerBeginDateBefore" |
|
||||
value-format="yyyy-MM-dd" |
|
||||
format="yyyy-MM-dd" |
|
||||
placeholder="选择日期时间"> |
|
||||
</el-date-picker> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="至" |
|
||||
label-width="25px" |
|
||||
prop="endTime"> |
|
||||
<el-date-picker v-model="dataForm.endTime" |
|
||||
type="date" |
|
||||
:picker-options="pickerBeginDateAfter" |
|
||||
value-format="yyyy-MM-dd" |
|
||||
format="yyyy-MM-dd" |
|
||||
placeholder="选择日期时间"> |
|
||||
</el-date-picker> |
|
||||
</el-form-item> |
|
||||
<el-form-item> |
|
||||
<el-button @click="getDataList()">{{ $t('query') }}</el-button> |
|
||||
</el-form-item> |
|
||||
</el-form> |
|
||||
<el-table v-loading="dataListLoading" |
|
||||
:data="dataList" |
|
||||
border |
|
||||
@selection-change="dataListSelectionChangeHandle" |
|
||||
style="width: 100%;"> |
|
||||
<el-table-column label="序号" |
|
||||
type="index" |
|
||||
show-overflow-tooltip |
|
||||
width="50"></el-table-column> |
|
||||
<el-table-column prop="issueContent" |
|
||||
label="议题内容" |
|
||||
header-align="center" |
|
||||
align="center"></el-table-column> |
|
||||
<el-table-column prop="createdTime" |
|
||||
label="提交时间" |
|
||||
header-align="center" |
|
||||
align="center"></el-table-column> |
|
||||
<el-table-column prop="nickName" |
|
||||
label="提交人" |
|
||||
header-align="center" |
|
||||
align="center"></el-table-column> |
|
||||
<el-table-column prop="participateNum" |
|
||||
label="参与人数" |
|
||||
header-align="center" |
|
||||
align="center"></el-table-column> |
|
||||
<el-table-column prop="approveNum" |
|
||||
label="支持人数" |
|
||||
header-align="center" |
|
||||
align="center"></el-table-column> |
|
||||
<el-table-column prop="opposeNum" |
|
||||
label="反对人数" |
|
||||
header-align="center" |
|
||||
align="center"></el-table-column> |
|
||||
<el-table-column prop="commentNum" |
|
||||
label="评论数" |
|
||||
header-align="center" |
|
||||
align="center"></el-table-column> |
|
||||
<el-table-column prop="browseNum" |
|
||||
label="浏览数" |
|
||||
header-align="center" |
|
||||
align="center"></el-table-column> |
|
||||
<el-table-column :label="$t('handle')" |
|
||||
fixed="right" |
|
||||
header-align="center" |
|
||||
align="center" |
|
||||
width="150"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-button v-if="$hasPermission('events:change:look')" |
|
||||
type="text" |
|
||||
size="small" |
|
||||
@click="detailAction(scope.row.id)">{{ $t('look') }}</el-button> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
</el-table> |
|
||||
<el-pagination :current-page="page" |
|
||||
:page-sizes="[10, 20, 50, 100]" |
|
||||
:page-size="limit" |
|
||||
:total="total" |
|
||||
layout="total, sizes, prev, pager, next, jumper" |
|
||||
@size-change="pageSizeChangeHandle" |
|
||||
@current-change="pageCurrentChangeHandle"> |
|
||||
</el-pagination> |
|
||||
<detail v-if="detailVisible" |
|
||||
ref="detail" |
|
||||
@refreshDataList="getDataList"></detail> |
|
||||
</div> |
|
||||
</el-card> |
|
||||
</template> |
</template> |
||||
|
|
||||
<script> |
<script> |
||||
import mixinViewModule from '@/mixins/view-module' |
import IssueChangeList from './issue-change-list' |
||||
import Detail from './issue-detail' |
import IssueCloseDetailView from './issue-close-detail-view' |
||||
export default { |
export default { |
||||
mixins: [mixinViewModule], |
|
||||
data () { |
data () { |
||||
return { |
return { |
||||
mixinViewModuleOptions: { |
selectComponent: IssueChangeList |
||||
getDataListURL: '/events/issue/page', |
|
||||
getDataListIsPage: true |
|
||||
}, |
|
||||
detailVisible: false, |
|
||||
dataForm: { |
|
||||
startTime: '', |
|
||||
endTime: '', |
|
||||
streetId: '', |
|
||||
communityId: '', |
|
||||
gridId: '', |
|
||||
state: '4' |
|
||||
}, |
|
||||
streetOptions: [], |
|
||||
communityOptions: [], |
|
||||
gridOptions: [], |
|
||||
pickerBeginDateBefore: { |
|
||||
disabledDate: (time) => { |
|
||||
let beginDateVal = this.dataForm.startTime |
|
||||
if (beginDateVal) { |
|
||||
return time.getTime() > new Date(beginDateVal).getTime() |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
pickerBeginDateAfter: { |
|
||||
disabledDate: (time) => { |
|
||||
let EndDateVal = this.dataForm.endTime |
|
||||
if (EndDateVal) { |
|
||||
return time.getTime() < new Date(EndDateVal).getTime() |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
} |
||||
}, |
}, |
||||
components: { |
components: { |
||||
Detail |
IssueChangeList, |
||||
}, |
IssueCloseDetailView |
||||
created: function () { |
|
||||
this.getStreetList() |
|
||||
}, |
|
||||
methods: { |
|
||||
detailAction (id) { |
|
||||
this.detailVisible = true |
|
||||
this.$nextTick(() => { |
|
||||
this.$refs.detail.dataForm.id = id |
|
||||
this.$refs.detail.init() |
|
||||
}) |
|
||||
}, |
|
||||
getStreetList () { |
|
||||
this.$http.get(`/sys/dept/sublist/` + (localStorage.getItem('street') === null ? '1169154711480528897' : localStorage.getItem('street'))).then(({ data: res }) => { |
|
||||
if (res.code !== 0) { |
|
||||
return this.$message.error(res.msg) |
|
||||
} |
|
||||
this.streetOptions = res.data |
|
||||
}).catch(() => { }) |
|
||||
}, |
|
||||
getCommunityList () { |
|
||||
if (this.dataForm.streetId === '') { |
|
||||
this.communityOptions = [] |
|
||||
this.gridOptions = [] |
|
||||
this.dataForm.communityId = '' |
|
||||
this.dataForm.gridId = '' |
|
||||
return |
|
||||
} |
|
||||
this.dataForm.communityId = '' |
|
||||
this.dataForm.gridId = '' |
|
||||
this.$http.get(`/sys/dept/sublist/` + this.dataForm.streetId).then(({ data: res }) => { |
|
||||
if (res.code !== 0) { |
|
||||
return this.$message.error(res.msg) |
|
||||
} |
|
||||
this.communityOptions = res.data |
|
||||
}).catch(() => { }) |
|
||||
}, |
|
||||
getGridList () { |
|
||||
if (this.dataForm.communityId === '') { |
|
||||
this.gridOptions = [] |
|
||||
this.dataForm.gridId = '' |
|
||||
return |
|
||||
} |
|
||||
this.dataForm.gridId = '' |
|
||||
this.$http.get(`/sys/dept/sublist/` + this.dataForm.communityId).then(({ data: res }) => { |
|
||||
if (res.code !== 0) { |
|
||||
return this.$message.error(res.msg) |
|
||||
} |
|
||||
this.gridOptions = res.data |
|
||||
}).catch(() => { }) |
|
||||
} |
|
||||
} |
} |
||||
} |
} |
||||
</script> |
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
|
||||
|
</style> |
||||
|
|||||
@ -0,0 +1,236 @@ |
|||||
|
<template> |
||||
|
<el-card shadow="never" |
||||
|
class="aui-card--fill"> |
||||
|
<div class="mod-item__item}"> |
||||
|
<el-form :inline="true" |
||||
|
:model="dataForm" |
||||
|
@keyup.enter.native="getDataList()"> |
||||
|
<el-form-item label="街道"> |
||||
|
<el-select v-model="dataForm.streetId" |
||||
|
placeholder="请选择" |
||||
|
clearable |
||||
|
@change="getCommunityList"> |
||||
|
<el-option v-for="item in streetOptions" |
||||
|
:key="item.id" |
||||
|
:label="item.name" |
||||
|
:value="item.id"> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="社区"> |
||||
|
<el-select v-model="dataForm.communityId" |
||||
|
placeholder="请选择" |
||||
|
clearable |
||||
|
@change="getGridList"> |
||||
|
<el-option v-for="item in communityOptions" |
||||
|
:key="item.id" |
||||
|
:label="item.name" |
||||
|
:value="item.id"> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="网格"> |
||||
|
<el-select v-model="dataForm.gridId" clearable |
||||
|
placeholder="请选择"> |
||||
|
<el-option v-for="item in gridOptions" |
||||
|
:key="item.id" |
||||
|
:label="item.name" |
||||
|
:value="item.id"> |
||||
|
</el-option> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="时间" |
||||
|
prop="startTime"> |
||||
|
<el-date-picker v-model="dataForm.startTime" |
||||
|
type="date" |
||||
|
:picker-options="pickerBeginDateBefore" |
||||
|
value-format="yyyy-MM-dd" |
||||
|
format="yyyy-MM-dd" |
||||
|
placeholder="选择日期时间"> |
||||
|
</el-date-picker> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="至" |
||||
|
label-width="25px" |
||||
|
prop="endTime"> |
||||
|
<el-date-picker v-model="dataForm.endTime" |
||||
|
type="date" |
||||
|
:picker-options="pickerBeginDateAfter" |
||||
|
value-format="yyyy-MM-dd" |
||||
|
format="yyyy-MM-dd" |
||||
|
placeholder="选择日期时间"> |
||||
|
</el-date-picker> |
||||
|
</el-form-item> |
||||
|
<el-form-item> |
||||
|
<el-button @click="getDataList()">{{ $t('query') }}</el-button> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
<el-table v-loading="dataListLoading" |
||||
|
:data="dataList" |
||||
|
border |
||||
|
@selection-change="dataListSelectionChangeHandle" |
||||
|
style="width: 100%;"> |
||||
|
<el-table-column label="序号" |
||||
|
type="index" |
||||
|
show-overflow-tooltip |
||||
|
align="center" |
||||
|
width="50"></el-table-column> |
||||
|
<el-table-column prop="itemContent" |
||||
|
label="项目内容" |
||||
|
header-align="center" |
||||
|
width="257" |
||||
|
align="center"></el-table-column> |
||||
|
<el-table-column prop="createdTime" |
||||
|
label="转成项目时间" |
||||
|
header-align="center" |
||||
|
width="160" |
||||
|
align="center"></el-table-column> |
||||
|
<el-table-column prop="nickName" |
||||
|
label="提交人" |
||||
|
header-align="center" |
||||
|
width="120" |
||||
|
align="center"></el-table-column> |
||||
|
<el-table-column prop="participantsNum" |
||||
|
label="参与人数" |
||||
|
header-align="center" |
||||
|
align="center"></el-table-column> |
||||
|
<el-table-column prop="approveNum" |
||||
|
label="支持" |
||||
|
header-align="center" |
||||
|
align="center"></el-table-column> |
||||
|
<el-table-column prop="opposeNum" |
||||
|
label="反对" |
||||
|
header-align="center" |
||||
|
align="center"></el-table-column> |
||||
|
<el-table-column prop="commentNum" |
||||
|
label="评论数" |
||||
|
header-align="center" |
||||
|
align="center"></el-table-column> |
||||
|
<el-table-column prop="browseNum" |
||||
|
label="浏览数" |
||||
|
header-align="center" |
||||
|
align="center"></el-table-column> |
||||
|
<el-table-column prop="evaluationScore" |
||||
|
label="评价" |
||||
|
header-align="center" |
||||
|
align="center"></el-table-column> |
||||
|
<el-table-column :label="$t('handle')" |
||||
|
fixed="right" |
||||
|
header-align="center" |
||||
|
align="center" |
||||
|
width="150"> |
||||
|
<template slot-scope="scope"> |
||||
|
<el-button v-if="$hasPermission('events:item:look')" type="text" size="small" @click="detailAction1(scope.row.id)">{{ $t('look') }}</el-button> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
<el-pagination :current-page="page" |
||||
|
:page-sizes="[10, 20, 50, 100]" |
||||
|
:page-size="limit" |
||||
|
:total="total" |
||||
|
layout="total, sizes, prev, pager, next, jumper" |
||||
|
@size-change="pageSizeChangeHandle" |
||||
|
@current-change="pageCurrentChangeHandle"> |
||||
|
</el-pagination> |
||||
|
<detail v-if="detailVisible" |
||||
|
ref="detailRef" |
||||
|
@refreshDataList="getDataList"></detail> |
||||
|
</div> |
||||
|
</el-card> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import mixinViewModule from '@/mixins/view-module' |
||||
|
import Detail from './item-detail' |
||||
|
export default { |
||||
|
mixins: [mixinViewModule], |
||||
|
name: 'ItemEndList', |
||||
|
data () { |
||||
|
return { |
||||
|
mixinViewModuleOptions: { |
||||
|
getDataListURL: '/events/item/page', |
||||
|
getDataListIsPage: true |
||||
|
}, |
||||
|
dataForm: { |
||||
|
id: '', |
||||
|
itemState: '10', |
||||
|
startTime: '', |
||||
|
endTime: '', |
||||
|
streetId: '', |
||||
|
communityId: '', |
||||
|
gridId: '' |
||||
|
}, |
||||
|
detailVisible: false, |
||||
|
streetOptions: [], |
||||
|
communityOptions: [], |
||||
|
gridOptions: [], |
||||
|
pickerBeginDateBefore: { |
||||
|
disabledDate: (time) => { |
||||
|
let beginDateVal = this.dataForm.startTime |
||||
|
if (beginDateVal) { |
||||
|
return time.getTime() > new Date(beginDateVal).getTime() |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
pickerBeginDateAfter: { |
||||
|
disabledDate: (time) => { |
||||
|
let EndDateVal = this.dataForm.endTime |
||||
|
if (EndDateVal) { |
||||
|
return time.getTime() < new Date(EndDateVal).getTime() |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
components: { |
||||
|
Detail |
||||
|
}, |
||||
|
created: function () { |
||||
|
this.getStreetList() |
||||
|
}, |
||||
|
methods: { |
||||
|
detailAction1 (id) { |
||||
|
this.$parent.selectComponent = 'ItemCloseDetailView' |
||||
|
this.$router.push({ path: '/events-item-end', query: { id: id } }) |
||||
|
}, |
||||
|
getStreetList () { |
||||
|
this.$http.get(`/sys/dept/sublist/` + (localStorage.getItem('street') === null ? '1169154711480528897' : localStorage.getItem('street'))).then(({ data: res }) => { |
||||
|
if (res.code !== 0) { |
||||
|
return this.$message.error(res.msg) |
||||
|
} |
||||
|
this.streetOptions = res.data |
||||
|
}).catch(() => { }) |
||||
|
}, |
||||
|
getCommunityList () { |
||||
|
if (this.dataForm.streetId === '') { |
||||
|
this.communityOptions = [] |
||||
|
this.gridOptions = [] |
||||
|
this.dataForm.communityId = '' |
||||
|
this.dataForm.gridId = '' |
||||
|
return |
||||
|
} |
||||
|
this.dataForm.communityId = '' |
||||
|
this.dataForm.gridId = '' |
||||
|
this.$http.get(`/sys/dept/sublist/` + this.dataForm.streetId).then(({ data: res }) => { |
||||
|
if (res.code !== 0) { |
||||
|
return this.$message.error(res.msg) |
||||
|
} |
||||
|
this.communityOptions = res.data |
||||
|
}).catch(() => { }) |
||||
|
}, |
||||
|
getGridList () { |
||||
|
if (this.dataForm.communityId === '') { |
||||
|
this.gridOptions = [] |
||||
|
this.dataForm.gridId = '' |
||||
|
return |
||||
|
} |
||||
|
this.dataForm.gridId = '' |
||||
|
this.$http.get(`/sys/dept/sublist/` + this.dataForm.communityId).then(({ data: res }) => { |
||||
|
if (res.code !== 0) { |
||||
|
return this.$message.error(res.msg) |
||||
|
} |
||||
|
this.gridOptions = res.data |
||||
|
}).catch(() => { }) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
@ -1,234 +1,25 @@ |
|||||
<template> |
<template> |
||||
<el-card shadow="never" |
<keep-alive include="ItemEndList"> |
||||
class="aui-card--fill"> |
<component :is="selectComponent"></component> |
||||
<div class="mod-item__item}"> |
</keep-alive> |
||||
<el-form :inline="true" |
|
||||
:model="dataForm" |
|
||||
@keyup.enter.native="getDataList()"> |
|
||||
<el-form-item label="街道"> |
|
||||
<el-select v-model="dataForm.streetId" |
|
||||
placeholder="请选择" |
|
||||
clearable |
|
||||
@change="getCommunityList"> |
|
||||
<el-option v-for="item in streetOptions" |
|
||||
:key="item.id" |
|
||||
:label="item.name" |
|
||||
:value="item.id"> |
|
||||
</el-option> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="社区"> |
|
||||
<el-select v-model="dataForm.communityId" |
|
||||
placeholder="请选择" |
|
||||
clearable |
|
||||
@change="getGridList"> |
|
||||
<el-option v-for="item in communityOptions" |
|
||||
:key="item.id" |
|
||||
:label="item.name" |
|
||||
:value="item.id"> |
|
||||
</el-option> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="网格"> |
|
||||
<el-select v-model="dataForm.gridId" clearable |
|
||||
placeholder="请选择"> |
|
||||
<el-option v-for="item in gridOptions" |
|
||||
:key="item.id" |
|
||||
:label="item.name" |
|
||||
:value="item.id"> |
|
||||
</el-option> |
|
||||
</el-select> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="时间" |
|
||||
prop="startTime"> |
|
||||
<el-date-picker v-model="dataForm.startTime" |
|
||||
type="date" |
|
||||
:picker-options="pickerBeginDateBefore" |
|
||||
value-format="yyyy-MM-dd" |
|
||||
format="yyyy-MM-dd" |
|
||||
placeholder="选择日期时间"> |
|
||||
</el-date-picker> |
|
||||
</el-form-item> |
|
||||
<el-form-item label="至" |
|
||||
label-width="25px" |
|
||||
prop="endTime"> |
|
||||
<el-date-picker v-model="dataForm.endTime" |
|
||||
type="date" |
|
||||
:picker-options="pickerBeginDateAfter" |
|
||||
value-format="yyyy-MM-dd" |
|
||||
format="yyyy-MM-dd" |
|
||||
placeholder="选择日期时间"> |
|
||||
</el-date-picker> |
|
||||
</el-form-item> |
|
||||
<el-form-item> |
|
||||
<el-button @click="getDataList()">{{ $t('query') }}</el-button> |
|
||||
</el-form-item> |
|
||||
</el-form> |
|
||||
<el-table v-loading="dataListLoading" |
|
||||
:data="dataList" |
|
||||
border |
|
||||
@selection-change="dataListSelectionChangeHandle" |
|
||||
style="width: 100%;"> |
|
||||
<el-table-column type="selection" |
|
||||
header-align="center" |
|
||||
align="center" |
|
||||
width="50"></el-table-column> |
|
||||
<el-table-column prop="itemContent" |
|
||||
label="项目内容" |
|
||||
header-align="center" |
|
||||
align="center"></el-table-column> |
|
||||
<el-table-column prop="createdTime" |
|
||||
label="转成项目时间" |
|
||||
header-align="center" |
|
||||
align="center"></el-table-column> |
|
||||
<el-table-column prop="nickName" |
|
||||
label="提交人" |
|
||||
header-align="center" |
|
||||
align="center"></el-table-column> |
|
||||
<el-table-column prop="participantsNum" |
|
||||
label="参与人数" |
|
||||
header-align="center" |
|
||||
align="center"></el-table-column> |
|
||||
<el-table-column prop="approveNum" |
|
||||
label="支持" |
|
||||
header-align="center" |
|
||||
align="center"></el-table-column> |
|
||||
<el-table-column prop="opposeNum" |
|
||||
label="反对" |
|
||||
header-align="center" |
|
||||
align="center"></el-table-column> |
|
||||
<el-table-column prop="commentNum" |
|
||||
label="评论数" |
|
||||
header-align="center" |
|
||||
align="center"></el-table-column> |
|
||||
<el-table-column prop="browseNum" |
|
||||
label="浏览数" |
|
||||
header-align="center" |
|
||||
align="center"></el-table-column> |
|
||||
<el-table-column prop="evaluationScore" |
|
||||
label="评价" |
|
||||
header-align="center" |
|
||||
align="center"></el-table-column> |
|
||||
<el-table-column :label="$t('handle')" |
|
||||
fixed="right" |
|
||||
header-align="center" |
|
||||
align="center" |
|
||||
width="150"> |
|
||||
<template slot-scope="scope"> |
|
||||
<el-button v-if="$hasPermission('events:item:look')" type="text" size="small" @click="detailAction1(scope.row.id)">{{ $t('look') }}</el-button> |
|
||||
</template> |
|
||||
</el-table-column> |
|
||||
</el-table> |
|
||||
<el-pagination :current-page="page" |
|
||||
:page-sizes="[10, 20, 50, 100]" |
|
||||
:page-size="limit" |
|
||||
:total="total" |
|
||||
layout="total, sizes, prev, pager, next, jumper" |
|
||||
@size-change="pageSizeChangeHandle" |
|
||||
@current-change="pageCurrentChangeHandle"> |
|
||||
</el-pagination> |
|
||||
<detail v-if="detailVisible" |
|
||||
ref="detailRef" |
|
||||
@refreshDataList="getDataList"></detail> |
|
||||
</div> |
|
||||
</el-card> |
|
||||
</template> |
</template> |
||||
|
|
||||
<script> |
<script> |
||||
import mixinViewModule from '@/mixins/view-module' |
import ItemEndList from './item-end-list' |
||||
import Detail from './item-detail' |
import ItemCloseDetailView from './item-close-detail-view' |
||||
export default { |
export default { |
||||
mixins: [mixinViewModule], |
|
||||
data () { |
data () { |
||||
return { |
return { |
||||
mixinViewModuleOptions: { |
selectComponent: ItemEndList |
||||
getDataListURL: '/events/item/page', |
|
||||
getDataListIsPage: true |
|
||||
}, |
|
||||
dataForm: { |
|
||||
id: '', |
|
||||
itemState: '10', |
|
||||
startTime: '', |
|
||||
endTime: '', |
|
||||
streetId: '', |
|
||||
communityId: '', |
|
||||
gridId: '' |
|
||||
}, |
|
||||
detailVisible: false, |
|
||||
streetOptions: [], |
|
||||
communityOptions: [], |
|
||||
gridOptions: [], |
|
||||
pickerBeginDateBefore: { |
|
||||
disabledDate: (time) => { |
|
||||
let beginDateVal = this.dataForm.startTime |
|
||||
if (beginDateVal) { |
|
||||
return time.getTime() > new Date(beginDateVal).getTime() |
|
||||
} |
|
||||
} |
|
||||
}, |
|
||||
pickerBeginDateAfter: { |
|
||||
disabledDate: (time) => { |
|
||||
let EndDateVal = this.dataForm.endTime |
|
||||
if (EndDateVal) { |
|
||||
return time.getTime() < new Date(EndDateVal).getTime() |
|
||||
} |
|
||||
} |
|
||||
} |
|
||||
} |
} |
||||
}, |
}, |
||||
components: { |
components: { |
||||
Detail |
ItemEndList, |
||||
}, |
ItemCloseDetailView |
||||
created: function () { |
|
||||
this.getStreetList() |
|
||||
}, |
|
||||
methods: { |
|
||||
detailAction1 (id) { |
|
||||
this.detailVisible = true |
|
||||
this.$nextTick(() => { |
|
||||
this.$refs.detailRef.dataForm.id = id |
|
||||
this.$refs.detailRef.init() |
|
||||
}) |
|
||||
}, |
|
||||
getStreetList () { |
|
||||
this.$http.get(`/sys/dept/sublist/` + (localStorage.getItem('street') === null ? '1169154711480528897' : localStorage.getItem('street'))).then(({ data: res }) => { |
|
||||
if (res.code !== 0) { |
|
||||
return this.$message.error(res.msg) |
|
||||
} |
|
||||
this.streetOptions = res.data |
|
||||
}).catch(() => { }) |
|
||||
}, |
|
||||
getCommunityList () { |
|
||||
if (this.dataForm.streetId === '') { |
|
||||
this.communityOptions = [] |
|
||||
this.gridOptions = [] |
|
||||
this.dataForm.communityId = '' |
|
||||
this.dataForm.gridId = '' |
|
||||
return |
|
||||
} |
|
||||
this.dataForm.communityId = '' |
|
||||
this.dataForm.gridId = '' |
|
||||
this.$http.get(`/sys/dept/sublist/` + this.dataForm.streetId).then(({ data: res }) => { |
|
||||
if (res.code !== 0) { |
|
||||
return this.$message.error(res.msg) |
|
||||
} |
|
||||
this.communityOptions = res.data |
|
||||
}).catch(() => { }) |
|
||||
}, |
|
||||
getGridList () { |
|
||||
if (this.dataForm.communityId === '') { |
|
||||
this.gridOptions = [] |
|
||||
this.dataForm.gridId = '' |
|
||||
return |
|
||||
} |
|
||||
this.dataForm.gridId = '' |
|
||||
this.$http.get(`/sys/dept/sublist/` + this.dataForm.communityId).then(({ data: res }) => { |
|
||||
if (res.code !== 0) { |
|
||||
return this.$message.error(res.msg) |
|
||||
} |
|
||||
this.gridOptions = res.data |
|
||||
}).catch(() => { }) |
|
||||
} |
|
||||
} |
} |
||||
} |
} |
||||
</script> |
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
|
||||
|
</style> |
||||
|
|||||
Loading…
Reference in new issue