Browse Source

事件统一管理优化

feature/syp_points
songyunpeng 5 years ago
parent
commit
e13da61d0d
  1. 7
      src/views/modules/events/eventssummary-list.vue
  2. 6
      src/views/modules/events/eventssummaryroute.vue
  3. 106
      src/views/modules/events/issuesHandlesummary-list.vue
  4. 15
      src/views/modules/events/issuessummary-list.vue
  5. 103
      src/views/modules/events/itemHandlesummary-list.vue
  6. 7
      src/views/modules/events/itemssummary-list.vue

7
src/views/modules/events/eventssummary-list.vue

@ -33,14 +33,12 @@
@size-change="pageSizeChangeHandle" @size-change="pageSizeChangeHandle"
@current-change="pageCurrentChangeHandle"> @current-change="pageCurrentChangeHandle">
</el-pagination> </el-pagination>
<issuessummary-list v-if="detailVisible" ref="issuessummaryList" @refreshDataList="getDataList"></issuessummary-list>
</div> </div>
</el-card> </el-card>
</template> </template>
<script> <script>
import mixinViewModule from '@/mixins/view-module' import mixinViewModule from '@/mixins/view-module'
import IssuessummaryList from './issuessummary-list'
export default { export default {
mixins: [mixinViewModule], mixins: [mixinViewModule],
@ -50,7 +48,7 @@ export default {
getDataListURL: '/events/maintainevents/pageEvents', getDataListURL: '/events/maintainevents/pageEvents',
getDataListIsPage: true, getDataListIsPage: true,
deleteURL: '/events/maintainevents/deleteEvents', deleteURL: '/events/maintainevents/deleteEvents',
deleteIsBatch: true, deleteIsBatch: true
}, },
dataForm: { dataForm: {
eventContent: '' eventContent: ''
@ -58,9 +56,6 @@ export default {
detailVisible: false detailVisible: false
} }
}, },
components: {
IssuessummaryList
},
created: function () { created: function () {
this.getDataList() this.getDataList()
}, },

6
src/views/modules/events/eventssummaryroute.vue

@ -7,6 +7,8 @@
import EventssummaryList from './eventssummary-list' import EventssummaryList from './eventssummary-list'
import IssuessummaryList from './issuessummary-list' import IssuessummaryList from './issuessummary-list'
import ItemssummaryList from './itemssummary-list' import ItemssummaryList from './itemssummary-list'
import IssuesHandlesummaryList from './issuesHandlesummary-list'
import ItemHandlesummaryList from './itemHandlesummary-list'
export default { export default {
data () { data () {
return { return {
@ -16,7 +18,9 @@ export default {
components: { components: {
EventssummaryList, EventssummaryList,
IssuessummaryList, IssuessummaryList,
ItemssummaryList ItemssummaryList,
IssuesHandlesummaryList,
ItemHandlesummaryList
}, },
methods: { methods: {
init () { init () {

106
src/views/modules/events/issuesHandlesummary-list.vue

@ -0,0 +1,106 @@
<template>
<el-card shadow="never" class="aui-card--fill">
<div class="mod-news__housinginformation}">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-button type="primary" @click="backToUserRelationList">{{"返回"}}</el-button>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
<el-table-column label="序号" width="70px" header-align="center" align="center"><template slot-scope="scope">{{scope.$index+1}}</template></el-table-column>
<el-table-column prop="state" label="状态" header-align="center" align="center" :formatter="showStateFlag"></el-table-column>
<el-table-column prop="advice" label="意见" header-align="center" align="center"></el-table-column>
<el-table-column prop="handlerDept" label="操作人部门" header-align="center" align="center" width="200px"></el-table-column>
<el-table-column prop="mobile" 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 :label="$t('handle')" fixed="right" header-align="center" align="center" width="150">
<template slot-scope="scope">
</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>
</div>
</el-card>
</template>
<script>
import mixinViewModule from '@/mixins/view-module'
export default {
mixins: [mixinViewModule],
data () {
return {
mixinViewModuleOptions: {
getDataListURL: '/events/maintainissue/pageIssuesHandle',
getDataListIsPage: true,
deleteURL: '/events/maintainissue/deleteIssues',
deleteIsBatch: true
},
dataForm: {
id: '',
issueId: ''
},
eventId: ''
}
},
mounted () {
if (this.$route.query.issueId !== '' && this.$route.query.issueId != null) {
this.dataForm.issueId = this.$route.query.issueId
this.getDataList()
}
},
methods: {
showStateFlag (row, column) {
let state = row.state
if (state === 0) {
return '审核通过'
} else if (state === 1) {
return '回应'
} else if (state === 2) {
return '关闭'
} else if (state === 3) {
return '话题转议题'
}
},
backToUserRelationList () {
this.$emit('refreshDataList')
this.$parent.selectComponent = 'IssuessummaryList'
this.$router.push({ path: '/events-eventssummaryroute', query: { eventId: this.eventId } })
},
getDataList () {
this.dataListLoading = true
this.$http.get(
this.mixinViewModuleOptions.getDataListURL,
{
params: {
order: this.order,
orderField: this.orderField,
page: this.mixinViewModuleOptions.getDataListIsPage ? this.page : null,
limit: this.mixinViewModuleOptions.getDataListIsPage ? this.limit : null,
...this.dataForm
}
}
).then(({ data: res }) => {
this.dataListLoading = false
this.radio = 0
if (res.code !== 0) {
this.dataList = []
this.total = 0
return this.$message.error(res.msg)
}
this.dataList = res.data.list
this.total = this.mixinViewModuleOptions.getDataListIsPage ? res.data.total : 0
this.eventId = res.data.list[0].eventId
}).catch(() => {
this.dataListLoading = false
})
}
}
}
</script>

15
src/views/modules/events/issuessummary-list.vue

@ -20,6 +20,7 @@
<el-table-column prop="itemCount" label="项目数量" header-align="center" align="center"></el-table-column> <el-table-column prop="itemCount" label="项目数量" header-align="center" align="center"></el-table-column>
<el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150"> <el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" size="small" @click="getIssuesHandleInfo(scope.row.id)">处理流程</el-button>
<el-button v-if="scope.row.itemCount != 0" type="text" size="small" @click="getItemsInfo(scope.row.id)">已转项目</el-button> <el-button v-if="scope.row.itemCount != 0" type="text" size="small" @click="getItemsInfo(scope.row.id)">已转项目</el-button>
<el-button type="text" size="small" @click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button> <el-button type="text" size="small" @click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button>
</template> </template>
@ -34,14 +35,12 @@
@size-change="pageSizeChangeHandle" @size-change="pageSizeChangeHandle"
@current-change="pageCurrentChangeHandle"> @current-change="pageCurrentChangeHandle">
</el-pagination> </el-pagination>
<itemssummary-list v-if="detailVisible" ref="issuessummaryList" @refreshDataList="getDataList"></itemssummary-list>
</div> </div>
</el-card> </el-card>
</template> </template>
<script> <script>
import mixinViewModule from '@/mixins/view-module' import mixinViewModule from '@/mixins/view-module'
import ItemssummaryList from './itemssummary-list'
export default { export default {
mixins: [mixinViewModule], mixins: [mixinViewModule],
@ -51,19 +50,15 @@ export default {
getDataListURL: '/events/maintainissue/pageIssues', getDataListURL: '/events/maintainissue/pageIssues',
getDataListIsPage: true, getDataListIsPage: true,
deleteURL: '/events/maintainissue/deleteIssues', deleteURL: '/events/maintainissue/deleteIssues',
deleteIsBatch: true, deleteIsBatch: true
}, },
dataForm: { dataForm: {
eventContent: '', eventContent: '',
id: '', id: '',
eventId: '' eventId: ''
}, }
detailVisible: false
} }
}, },
components: {
ItemssummaryList
},
mounted () { mounted () {
if (this.$route.query.eventId !== '' && this.$route.query.eventId != null) { if (this.$route.query.eventId !== '' && this.$route.query.eventId != null) {
this.dataForm.eventId = this.$route.query.eventId this.dataForm.eventId = this.$route.query.eventId
@ -79,6 +74,10 @@ export default {
getItemsInfo (id) { getItemsInfo (id) {
this.$parent.selectComponent = 'ItemssummaryList' this.$parent.selectComponent = 'ItemssummaryList'
this.$router.push({ path: '/events-eventssummaryroute', query: { issueId: id } }) this.$router.push({ path: '/events-eventssummaryroute', query: { issueId: id } })
},
getIssuesHandleInfo (id) {
this.$parent.selectComponent = 'IssuesHandlesummaryList'
this.$router.push({ path: '/events-eventssummaryroute', query: { issueId: id } })
} }
} }
} }

103
src/views/modules/events/itemHandlesummary-list.vue

@ -0,0 +1,103 @@
<template>
<el-card shadow="never" class="aui-card--fill">
<div class="mod-news__housinginformation}">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataList()">
<el-button type="primary" @click="backToUserRelationList">{{"返回"}}</el-button>
</el-form>
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
<el-table-column label="序号" width="70px" header-align="center" align="center"><template slot-scope="scope">{{scope.$index+1}}</template></el-table-column>
<el-table-column prop="state" label="状态" header-align="center" align="center" :formatter="showStateFlag"></el-table-column>
<el-table-column prop="advice" label="外部意见" header-align="center" align="center"></el-table-column>
<el-table-column prop="handlerDept" label="操作人部门" header-align="center" align="center" width="200px"></el-table-column>
<el-table-column prop="createdTime" 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">
</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>
</div>
</el-card>
</template>
<script>
import mixinViewModule from '@/mixins/view-module'
export default {
mixins: [mixinViewModule],
data () {
return {
mixinViewModuleOptions: {
getDataListURL: '/events/maintainitem/pageItemsHandle',
getDataListIsPage: true,
deleteURL: '/events/maintainitem/deleteIssues',
deleteIsBatch: true
},
dataForm: {
id: '',
issueId: ''
},
issueId: ''
}
},
mounted () {
if (this.$route.query.itemId !== '' && this.$route.query.itemId != null) {
this.dataForm.itemId = this.$route.query.itemId
this.getDataList()
}
},
methods: {
showStateFlag (row, column) {
let state = row.state
if (state === 0) {
return '处理中'
} else if (state === 5) {
return '已关闭'
} else if (state === 10) {
return '已结案'
}
},
backToUserRelationList () {
this.$emit('refreshDataList')
this.$parent.selectComponent = 'ItemssummaryList'
this.$router.push({ path: '/events-eventssummaryroute', query: { issueId: this.issueId } })
},
getDataList () {
this.dataListLoading = true
this.$http.get(
this.mixinViewModuleOptions.getDataListURL,
{
params: {
order: this.order,
orderField: this.orderField,
page: this.mixinViewModuleOptions.getDataListIsPage ? this.page : null,
limit: this.mixinViewModuleOptions.getDataListIsPage ? this.limit : null,
...this.dataForm
}
}
).then(({ data: res }) => {
this.dataListLoading = false
this.radio = 0
if (res.code !== 0) {
this.dataList = []
this.total = 0
return this.$message.error(res.msg)
}
this.dataList = res.data.list
this.total = this.mixinViewModuleOptions.getDataListIsPage ? res.data.total : 0
this.issueId = res.data.list[0].issueId
}).catch(() => {
this.dataListLoading = false
})
}
}
}
</script>

7
src/views/modules/events/itemssummary-list.vue

@ -15,10 +15,11 @@
<el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;"> <el-table v-loading="dataListLoading" :data="dataList" border @selection-change="dataListSelectionChangeHandle" style="width: 100%;">
<el-table-column label="序号" width="70px" header-align="center" align="center"><template slot-scope="scope">{{scope.$index+1}}</template></el-table-column> <el-table-column label="序号" width="70px" header-align="center" align="center"><template slot-scope="scope">{{scope.$index+1}}</template></el-table-column>
<el-table-column prop="nickName" 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="itemContent" label="事件内容" header-align="center" align="center" width="200px"></el-table-column> <el-table-column prop="itemContent" label="项目内容" header-align="center" align="center" width="200px"></el-table-column>
<el-table-column prop="createdTime" 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 :label="$t('handle')" fixed="right" header-align="center" align="center" width="150"> <el-table-column :label="$t('handle')" fixed="right" header-align="center" align="center" width="150">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" size="small" @click="getItemHandleInfo(scope.row.id)">处理流程</el-button>
<el-button type="text" size="small" @click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button> <el-button type="text" size="small" @click="deleteHandle(scope.row.id)">{{ $t('delete') }}</el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -64,6 +65,10 @@ export default {
} }
}, },
methods: { methods: {
getItemHandleInfo (id) {
this.$parent.selectComponent = 'ItemHandlesummaryList'
this.$router.push({ path: '/events-eventssummaryroute', query: { itemId: id } })
},
backToUserRelationList () { backToUserRelationList () {
this.$emit('refreshDataList') this.$emit('refreshDataList')
this.$parent.selectComponent = 'IssuessummaryList' this.$parent.selectComponent = 'IssuessummaryList'

Loading…
Cancel
Save