Browse Source

市级处理 增加再次上报处理

release/epdc
井乐禹 2 years ago
parent
commit
a5cf21f0dd
  1. 288
      src/views/modules/events/appeal-cssb-list.vue

288
src/views/modules/events/appeal-cssb-list.vue

@ -1,25 +1,49 @@
<template> <template>
<el-card shadow="never" class="aui-card--fill"> <el-card shadow="never"
class="aui-card--fill">
<div class="mod-item__item}"> <div class="mod-item__item}">
<el-form :inline="true" :model="dataForm" @keyup.enter.native="getDataListSearch()"> <el-form :inline="true"
<el-form-item label="诉求类型" prop="peopleFlag" label-width="100px"> :model="dataForm"
<el-select v-model="dataForm.peopleFlag" placeholder="请选择" clearable> @keyup.enter.native="getDataListSearch()">
<el-option label="民生" value="0"> </el-option> <el-form-item label="诉求类型"
<el-option label="发展" value="1"> </el-option> prop="peopleFlag"
<el-option label="执法" value="2"> </el-option> label-width="100px">
<el-select v-model="dataForm.peopleFlag"
placeholder="请选择"
clearable>
<el-option label="民生"
value="0"> </el-option>
<el-option label="发展"
value="1"> </el-option>
<el-option label="执法"
value="2"> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="所属机构" label-width="100px"> <el-form-item label="所属机构"
<el-cascader v-model="ids" :options="options" :props="{ checkStrictly: true }" clearable label-width="100px">
<el-cascader v-model="ids"
:options="options"
:props="{ checkStrictly: true }"
clearable
style="width:250px;"> style="width:250px;">
</el-cascader> </el-cascader>
</el-form-item> </el-form-item>
<el-form-item label="诉求内容" prop="itemCode" label-width="100px"> <el-form-item label="诉求内容"
<el-input v-model="dataForm.itemContent" placeholder="请输入诉求内容" clearable prop="itemCode"
@keyup.native="btKeyUpItemContent" style="width:200px;"></el-input> label-width="100px">
<el-input v-model="dataForm.itemContent"
placeholder="请输入诉求内容"
clearable
@keyup.native="btKeyUpItemContent"
style="width:200px;"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="诉求编码" prop="serialNum" label-width="100px"> <el-form-item label="诉求编码"
<el-input v-model="dataForm.serialNum" placeholder="诉求编码" clearable style="width:200px;"></el-input> prop="serialNum"
label-width="100px">
<el-input v-model="dataForm.serialNum"
placeholder="诉求编码"
clearable
style="width:200px;"></el-input>
</el-form-item> </el-form-item>
<!-- <el-form-item label="满意度" prop="evaluationScoreType" label-width="100px">--> <!-- <el-form-item label="满意度" prop="evaluationScoreType" label-width="100px">-->
<!-- <el-select v-model="dataForm.evaluationScore" placeholder="请选择" clearable>--> <!-- <el-select v-model="dataForm.evaluationScore" placeholder="请选择" clearable>-->
@ -35,20 +59,35 @@
<!-- </el-select>--> <!-- </el-select>-->
<!-- </el-form-item>--> <!-- </el-form-item>-->
<br /> <br />
<el-form-item label="上报起始时间" prop="startTime" label-width="100px"> <el-form-item label="上报起始时间"
<el-date-picker v-model="dataForm.startTime" type="date" :picker-options="pickerBeginDateBefore" prop="startTime"
value-format="yyyy-MM-dd" format="yyyy-MM-dd" placeholder="选择日期时间" style="width:250px;" label-width="100px">
<el-date-picker v-model="dataForm.startTime"
type="date"
:picker-options="pickerBeginDateBefore"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间"
style="width:250px;"
@change="changeTime"> @change="changeTime">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="至" label-width="25px" prop="endTime"> <el-form-item label="至"
<el-date-picker v-model="dataForm.endTime" type="date" :picker-options="pickerBeginDateAfter" label-width="25px"
value-format="yyyy-MM-dd" format="yyyy-MM-dd" placeholder="选择日期时间" style="width:250px;" prop="endTime">
<el-date-picker v-model="dataForm.endTime"
type="date"
:picker-options="pickerBeginDateAfter"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd"
placeholder="选择日期时间"
style="width:250px;"
@change="changeTime"> @change="changeTime">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="success" @click="getDataListSearch()" <el-button type="success"
@click="getDataListSearch()"
class="custom-button-default">{{ $t('query') }}</el-button> class="custom-button-default">{{ $t('query') }}</el-button>
</el-form-item> </el-form-item>
<!-- <el-form-item> <!-- <el-form-item>
@ -56,24 +95,46 @@
@click="exportHandle()" class="custom-button-modify">{{ $t('export') }}</el-button> @click="exportHandle()" class="custom-button-modify">{{ $t('export') }}</el-button>
</el-form-item> --> </el-form-item> -->
</el-form> </el-form>
<el-table v-loading="dataListLoading" :data="dataList" border <el-table v-loading="dataListLoading"
@selection-change="dataListSelectionChangeHandle" style="width: 100%;"> :data="dataList"
<el-table-column label=" " align="center" width="50"> border
@selection-change="dataListSelectionChangeHandle"
style="width: 100%;">
<el-table-column label=" "
align="center"
width="50">
<template slot-scope="scope"> <template slot-scope="scope">
<img :src="red" width="25" height="25" <img :src="red"
width="25"
height="25"
v-if="scope.row.itemState === 0 && scope.row.isRemind === '1'" /> v-if="scope.row.itemState === 0 && scope.row.isRemind === '1'" />
<img :src="yellow" width="25" height="25" <img :src="yellow"
width="25"
height="25"
v-if="scope.row.itemState === 0 && scope.row.isRemind === '2'" /> v-if="scope.row.itemState === 0 && scope.row.isRemind === '2'" />
<img :src="green" width="25" height="25" <img :src="green"
width="25"
height="25"
v-if="scope.row.itemState === 0 && scope.row.isRemind === '3'" /> v-if="scope.row.itemState === 0 && scope.row.isRemind === '3'" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="序号" type="index" show-overflow-tooltip align="center" <el-table-column label="序号"
type="index"
show-overflow-tooltip
align="center"
width="50"></el-table-column> width="50"></el-table-column>
<el-table-column prop="gridName" label="属事街道" header-align="center" width="120" align="center" <el-table-column prop="gridName"
label="属事街道"
header-align="center"
width="120"
align="center"
show-overflow-tooltip> show-overflow-tooltip>
</el-table-column> </el-table-column>
<el-table-column prop="itemContent" label="诉求内容" header-align="center" min-width="300" align="left" <el-table-column prop="itemContent"
label="诉求内容"
header-align="center"
min-width="300"
align="left"
show-overflow-tooltip></el-table-column> show-overflow-tooltip></el-table-column>
<!--<el-table-column--> <!--<el-table-column-->
<!--prop="serialNum"--> <!--prop="serialNum"-->
@ -82,23 +143,41 @@
<!--min-width="200"--> <!--min-width="200"-->
<!--align="center"--> <!--align="center"-->
<!--&gt;</el-table-column>--> <!--&gt;</el-table-column>-->
<el-table-column prop="peopleFlagName" label="诉求类型" header-align="center" min-width="120" <el-table-column prop="peopleFlagName"
label="诉求类型"
header-align="center"
min-width="120"
align="center"></el-table-column> align="center"></el-table-column>
<el-table-column prop="itemStateName" label="处理状态" header-align="center" min-width="120" align="center"> <el-table-column prop="itemStateName"
label="处理状态"
header-align="center"
min-width="120"
align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.processState === '16'">市区处理中</span> <span v-if="scope.row.processState === '16'">市区处理中</span>
<span v-else>{{scope.row.itemStateName}}</span> <span v-else>{{scope.row.itemStateName}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="createdTime" label="上报时间" header-align="center" width="180" <el-table-column prop="createdTime"
label="上报时间"
header-align="center"
width="180"
align="center"></el-table-column> align="center"></el-table-column>
<el-table-column prop="remainTime" label="事件时间" header-align="center" min-width="120" align="center" <el-table-column prop="remainTime"
label="事件时间"
header-align="center"
min-width="120"
align="center"
show-overflow-tooltip> show-overflow-tooltip>
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.itemState === 0">{{scope.row.remainTime}}</span> <span v-if="scope.row.itemState === 0">{{scope.row.remainTime}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="nickName" label="联系人姓名" header-align="center" min-width="100" align="center" <el-table-column prop="nickName"
label="联系人姓名"
header-align="center"
min-width="100"
align="center"
show-overflow-tooltip></el-table-column> show-overflow-tooltip></el-table-column>
<!-- <el-table-column--> <!-- <el-table-column-->
<!-- prop="evaluationScoreName"--> <!-- prop="evaluationScoreName"-->
@ -106,37 +185,71 @@
<!-- header-align="center"--> <!-- header-align="center"-->
<!-- align="center"--> <!-- align="center"-->
<!-- ></el-table-column>--> <!-- ></el-table-column>-->
<el-table-column :label="$t('handle')" fixed="right" min-width="150" header-align="center" <el-table-column :label="$t('handle')"
fixed="right"
min-width="150"
header-align="center"
align="center"> align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" size="small" class="custom-table-button-default" <el-button type="text"
size="small"
class="custom-table-button-default"
@click="dealAction(scope.row.id)">详情 </el-button> @click="dealAction(scope.row.id)">详情 </el-button>
<el-button type="text" size="small" <!-- 吹哨上报@click="cssbAction(scope.row.id)"吹哨上报再次上报dealAction -->
<el-button type="text"
size="small"
v-if="!(scope.row.processState == '16'||scope.row.processState == '2021'||scope.row.processState == '1105' )" v-if="!(scope.row.processState == '16'||scope.row.processState == '2021'||scope.row.processState == '1105' )"
class="custom-table-button-default" @click="cssbAction(scope.row.id)">吹哨上报 </el-button> class="custom-table-button-default"
<el-button type="text" size="small" v-if="scope.row.processState == '2021'" @click="goShowCssbActionPopup(scope.row.id,scope.row.itemHandleDeptId)">再处理</el-button>
class="custom-table-button-default" @click="evaluationIssue(scope.row.id)">下发评价 </el-button> <el-button type="text"
size="small"
v-if="scope.row.processState == '2021'"
class="custom-table-button-default"
@click="evaluationIssue(scope.row.id)">下发评价 </el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-pagination :current-page="page" :page-sizes="[10, 20, 50, 100]" :page-size="limit" :total="total" <el-pagination :current-page="page"
layout="total, sizes, prev, pager, next, jumper" @size-change="pageSizeChangeHandle" :page-sizes="[10, 20, 50, 100]"
:page-size="limit"
:total="total"
layout="total, sizes, prev, pager, next, jumper"
@size-change="pageSizeChangeHandle"
@current-change="pageCurrentChangeHandle"> @current-change="pageCurrentChangeHandle">
</el-pagination> </el-pagination>
</div> </div>
<!-- 弹窗, 新增 / 修改 --> <!-- 弹窗, 新增 / 修改 -->
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update> <add-or-update v-if="addOrUpdateVisible"
<cssb-reason v-if="cssbReasonVisible" ref="cssbReason" @refreshDataList="getDataList"></cssb-reason> ref="addOrUpdate"
@refreshDataList="getDataList"></add-or-update>
<cssb-reason v-if="cssbReasonVisible"
ref="cssbReason"
@refreshDataList="getDataList"></cssb-reason>
<el-dialog title="再处理"
:visible.sync="ifShowCssbAction"
width="30%"
:modal="false">
<div class="popupButton">
<div>
<el-button type="primary"
@click="cssbAction()">吹哨上报</el-button>
</div>
<div>
<el-button type="primary"
@click="reportAgain()">再次上报</el-button>
</div>
</div>
</el-dialog>
</el-card> </el-card>
</template> </template>
<script> <script>
import green from '@/assets/img/green_img.png' import green from '@/assets/img/green_img.png'
import red from '@/assets/img/red_img.png' import red from '@/assets/img/red_img.png'
import yellow from '@/assets/img/yellow_img.png' import yellow from '@/assets/img/yellow_img.png'
import mixinViewModule from '@/mixins/view-module' import mixinViewModule from '@/mixins/view-module'
import AddOrUpdate from './appeal-cssb-add' import AddOrUpdate from './appeal-cssb-add'
import CssbReason from './appeal-cssb-reason' import CssbReason from './appeal-cssb-reason'
export default { export default {
mixins: [mixinViewModule], mixins: [mixinViewModule],
name: 'AppealList', name: 'AppealList',
data() { data() {
@ -183,19 +296,22 @@
return time.getTime() < new Date(EndDateVal + ' 00:00:00').getTime() return time.getTime() < new Date(EndDateVal + ' 00:00:00').getTime()
} }
} }
} },
ifShowCssbAction: false,
againEscalationId: null,
itemHandleDeptId: null
} }
}, },
components: { components: {
AddOrUpdate, AddOrUpdate,
CssbReason CssbReason
}, },
created: function() { created: function () {
this.getPeoList() this.getPeoList()
this.getOptions() this.getOptions()
}, },
watch: { watch: {
ids: function(val) { ids: function (val) {
if (val.length === 0) { if (val.length === 0) {
this.dataForm.streetId = '' this.dataForm.streetId = ''
this.dataForm.communityId = '' this.dataForm.communityId = ''
@ -227,7 +343,7 @@
return this.$message.error(res.msg) return this.$message.error(res.msg)
} }
this.options = res.data.options this.options = res.data.options
}).catch(() => {}) }).catch(() => { })
}, },
getPeoList() { getPeoList() {
console.log(this.dataList) console.log(this.dataList)
@ -241,11 +357,12 @@
} }
}) })
}, },
cssbAction(id) { cssbAction() {
this.cssbReasonVisible = true this.cssbReasonVisible = true
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.cssbReason.dataForm.id = id this.$refs.cssbReason.dataForm.id = this.againEscalationId;
this.$refs.cssbReason.init() this.$refs.cssbReason.init()
this.ifShowCssbAction = false
}) })
}, },
evaluationIssue(id) { evaluationIssue(id) {
@ -255,7 +372,7 @@
type: 'warning' type: 'warning'
}).then(() => { }).then(() => {
this.$http['post']('events/item/evaluationIssue', {itemId:id}).then(({ this.$http['post']('events/item/evaluationIssue', { itemId: id }).then(({
data: res data: res
}) => { }) => {
console.log(res) console.log(res)
@ -264,6 +381,7 @@
message: '下发评价成功' message: '下发评价成功'
}); });
this.getDataList() this.getDataList()
// if (res.code !== 0) { // if (res.code !== 0) {
// return this.$message.error(res.msg) // return this.$message.error(res.msg)
@ -277,7 +395,7 @@
// this.$emit('refreshDataList') // this.$emit('refreshDataList')
// } // }
// }) // })
}).catch(() => {}) }).catch(() => { })
}).catch(() => { }).catch(() => {
this.$message({ this.$message({
@ -297,7 +415,57 @@
e.target.value = e.target.value.replace(/[`~!#$%^&*()_\+=<>?:"{}|~!#¥%……&*()={}|《》?:“”【】\\[\]、;‘’,。、\s+]/g, e.target.value = e.target.value.replace(/[`~!#$%^&*()_\+=<>?:"{}|~!#¥%……&*()={}|《》?:“”【】\\[\]、;‘’,。、\s+]/g,
'') '')
this.dataForm.itemContent = e.target.value this.dataForm.itemContent = e.target.value
},
goShowCssbActionPopup(id, itemHandleDeptId) {
this.ifShowCssbAction = true;
this.againEscalationId = id
this.itemHandleDeptId = itemHandleDeptId
},
reportAgain() {
this.$confirm('确认要再次上报吗么?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const condition = {
id: this.againEscalationId || null,
handleCategory: 3000,
handlerDept: this.itemHandleDeptId,
handlerDeptId: this.itemHandleDeptId
} }
this.$http['post']('events/item/reportWGH', condition).then(({
data: res
}) => {
if (res && res.code == 0) {
this.$message({
type: 'success',
message: '再次上报成功'
});
} else {
this.$message({
type: 'success',
message: res.msg
});
} }
this.ifShowCssbAction = false
}).catch(() => { })
}).catch(() => {
this.$message({
type: 'info',
message: '已取消'
});
});
} }
}
}
</script> </script>
<style>
.popupButton {
display: flex;
flex-direction: row;
justify-content: space-around;
}
</style>
Loading…
Cancel
Save