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> |
|||
<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 |
|||
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> |
|||
<keep-alive include="issueChangelist"> |
|||
<component :is="selectComponent"></component> |
|||
</keep-alive> |
|||
</template> |
|||
|
|||
<script> |
|||
import mixinViewModule from '@/mixins/view-module' |
|||
import Detail from './issue-detail' |
|||
import IssueChangeList from './issue-change-list' |
|||
import IssueCloseDetailView from './issue-close-detail-view' |
|||
export default { |
|||
mixins: [mixinViewModule], |
|||
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() |
|||
} |
|||
} |
|||
} |
|||
selectComponent: IssueChangeList |
|||
} |
|||
}, |
|||
components: { |
|||
Detail |
|||
}, |
|||
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(() => { }) |
|||
} |
|||
IssueChangeList, |
|||
IssueCloseDetailView |
|||
} |
|||
} |
|||
</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> |
|||
<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 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> |
|||
<keep-alive include="ItemEndList"> |
|||
<component :is="selectComponent"></component> |
|||
</keep-alive> |
|||
</template> |
|||
|
|||
<script> |
|||
import mixinViewModule from '@/mixins/view-module' |
|||
import Detail from './item-detail' |
|||
import ItemEndList from './item-end-list' |
|||
import ItemCloseDetailView from './item-close-detail-view' |
|||
export default { |
|||
mixins: [mixinViewModule], |
|||
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() |
|||
} |
|||
} |
|||
} |
|||
selectComponent: ItemEndList |
|||
} |
|||
}, |
|||
components: { |
|||
Detail |
|||
}, |
|||
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(() => { }) |
|||
} |
|||
ItemEndList, |
|||
ItemCloseDetailView |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
|
|||
</style> |
|||
|
|||
Loading…
Reference in new issue