<!-- 审核督办 --> <template> <app-container> <search-area :need-clear="false" :need-search-more="false" :size="size" type="default" search-more-type="default" @search="search" @clear="clearInput"> <!--一般查询条件--> <search-item> <el-input v-model.trim="listQuery.urgeContent" :size="size" placeholder="督办内容" clearable/> </search-item> <search-item> <el-date-picker v-model="timeRange" size="small" type="datetimerange" range-separator="至" value-format="yyyy-MM-dd HH:mm:ss" start-placeholder="创建开始时间" end-placeholder="创建结束时间"/> </search-item> </search-area> <case-list-table :list-query="listQuery" :list="list" :total="total" :columns="columns" :list-loading="listLoading" @changePage="changePage"> <template slot="operations"> <el-table-column label="操作" align="center"> <template slot-scope="scope"> <el-button type="text" size="small" @click.stop="goDetail(scope.row)">详情</el-button> <el-button type="text" size="small" @click.stop="allow(scope.row)">同意</el-button> <el-button type="text" size="small" @click.stop="refuse(scope.row)">拒绝</el-button> </template> </el-table-column> </template> </case-list-table> </app-container> </template> <script> import AppContainer from '@/components/layout/AppContainer' import SearchArea from '@/components/SearchArea/SearchArea' import SearchItem from '@/components/SearchArea/SearchItem' import CaseListTable from '@/views/caseManage/caseCommon/caseListTable' // import { getCheckSuperviseList } from '@/api/callCase' import { superviseCheck, getCheckSuperviseList } from '@/api/caseSupervise' export default { name: 'WaitCheckSupervise', components: { AppContainer, SearchArea, SearchItem, CaseListTable }, data() { return { list: [], total: 0, timeRange: [], // 时间范围 listLoading: true, // 列表加载动画 listQuery: { urgeContent: '', // 事件标题 startTime: '', endTime: '', offset: 1, limit: 20, sort: 'createTime', order: 'desc' }, // 筛选条件 columns: [ { text: '事件标题', value: 'urgeContent', align: 'center' }, { text: '联系人', value: 'reporterName', align: 'center' }, { text: '联系方式', value: 'reporterPhone', align: 'center' }, { text: '处理状态', value: 'caseStatus', align: 'center' }, { text: '督办类型', value: 'urgeType', align: 'center' }, { text: '创建时间', value: 'createTime', width: 90, align: 'center' }, { text: '督办内容', value: 'urgeContent', align: 'center' }, { text: '督办状态', value: 'urgeStatus', align: 'center' }, { text: '督办结果', value: 'urgeResult', align: 'center' } ], // 显示列 superviseDialogVisible: false, superviseForm: { caseId: '', urgeStatus: '1', urgeResult: '' }, superviseRules: { urgeResult: [{ required: true, message: '请填写督办结果', trigger: ['change', 'blur'] }] }, size: 'small' } }, mounted() { this.fetchData() }, methods: { search() { this.fetchData(false) }, // 获取数据 fetchData(isNowPage = true) { this.listLoading = true if (!isNowPage) { // 是否显示当前页,否则跳转第一页 this.listQuery.offset = 1 } this.listLoading = true if (this.timeRange && this.timeRange.length > 2) { this.listQuery.startTime = this.timeRange[0] this.listQuery.endTime = this.timeRange[1] } else { this.listQuery.startTime = '' this.listQuery.endTime = '' } getCheckSuperviseList(this.listQuery).then(response => { if (response.code === 200) { response.data.rows = [ { 'id': '1', 'reporterName': '张三', 'reporterPhone': '15652360420', 'caseStatus': '处理中', 'urgeContent': '督办内容', 'urgeType': '申请督办', 'eorcName': '咨询', 'caseTypeName': '咨询', 'caseDetailTypeName': '垃圾处理', 'createUserName': '王', 'limitedTime': '2020-04-12 00:00:00', 'createTime': '2020-03-12 00:00:00', 'urgeStatus': '未督办', 'urgeTime': '-', 'urgeResult': '-' } ] this.list = response.data.rows this.total = response.data.total this.listLoading = false } }) }, // 任务办理 goDetail(row) { this.$router.push({ path: '/caseDetail/' + row.id, query: { showProcess: false } }) }, // 督办审核同意 allow(row) { this.$confirm( '确定通过吗?', '确认操作', { confirmButtonText: '确定', cancelButtonText: '取消', type: 'warning' } ).then(() => { const params = { id: row.id, checkStatus: '1' } superviseCheck(params).then(response => { if (response.code === 200) { this.$message.success('督办审核成功') } }) }) }, // 不同意 refuse(row) { this.$prompt('', '驳回理由', { confirmButtonText: '确定', cancelButtonText: '取消', inputErrorMessage: '输入不能为空', inputValidator: (value) => { if (value) { if (value.trim().length < 1) { return '输入不能为空' } else if (value.trim().length > 100) { return '输入字数不能超过100' } } else { return '输入不能为空' } } }).then(({ value }) => { if (value) { const params = { id: row.id, checkStatus: '2', checkRejectReason: value.trim() } superviseCheck(params).then(response => { if (response.code === 200) { this.$message.success('督办驳回成功') } }) } }).catch(() => { }) }, // 更换页码等 changePage(listQuery) { this.listQuery = listQuery this.fetchData() } } } </script>