信用修复预警统计加上数量统计表格

This commit is contained in:
zhouxy 2026-01-22 19:15:33 +08:00
parent d823dafea8
commit 4fb8bdd540
2 changed files with 130 additions and 41 deletions

View File

@ -216,3 +216,16 @@ export function exportqzzxList(data) {
responseType: 'blob' responseType: 'blob'
}) })
} }
/**
* 信用修复预警统计
* @param data
* @returns {AxiosPromise}
*/
export function repairTaskStatistic(data) {
return request({
url: '/task/repairTaskStatistic',
method: 'post',
data
})
}

View File

@ -8,7 +8,7 @@
<el-row> <el-row>
<label class="label-name_2">企业名称</label> <label class="label-name_2">企业名称</label>
<div class="search-input-box_2"> <div class="search-input-box_2">
<el-input v-model="searchForm.searchName" clearable type="text" class="search-input" placeholder="请输入名称(精确)" @keyup.enter.native="search"/> <el-input v-model="searchForm.searchName" clearable type="text" class="search-input" placeholder="请输入名称(精确)" @keyup.enter.native="search" />
</div> </div>
</el-row> </el-row>
</el-col> </el-col>
@ -94,12 +94,12 @@
<el-col :span="6" :offset="1"> <el-col :span="6" :offset="1">
<div class="btn-box" style="font-size: 14px"> <div class="btn-box" style="font-size: 14px">
<span v-if="!showMore" style="margin-right:20px;color:#409EFF;cursor:pointer" @click="showMoreCriteria"> <span v-if="!showMore" style="margin-right:20px;color:#409EFF;cursor:pointer" @click="showMoreCriteria">
展开<i class="el-icon-d-arrow-right"/> 展开<i class="el-icon-d-arrow-right" />
</span> </span>
<span v-if="showMore" style="margin-right:20px;color:#409EFF;cursor:pointer" @click="showMoreCriteria"> <span v-if="showMore" style="margin-right:20px;color:#409EFF;cursor:pointer" @click="showMoreCriteria">
<i class="el-icon-d-arrow-left"/>隐藏 <i class="el-icon-d-arrow-left" />隐藏
</span> </span>
<el-button size="mini" type="primary" @click="search" :loading="loading">查询</el-button> <el-button size="mini" type="primary" :loading="loading" @click="search">查询</el-button>
<el-button size="mini" @click="searchForm.acceptno = '';searchForm.searchName='';searchForm.reportYear='';searchForm.busType='';searchForm.busStatus=''"> <el-button size="mini" @click="searchForm.acceptno = '';searchForm.searchName='';searchForm.reportYear='';searchForm.busType='';searchForm.busStatus=''">
重置 重置
</el-button> </el-button>
@ -110,36 +110,56 @@
<!--body-查询结果--> <!--body-查询结果-->
<div class="content-body"> <div class="content-body">
<div class="body"> <div class="body">
<el-row> <!-- <el-row>-->
<el-col :span="24" :offset="1"> <!-- <el-col :span="24" :offset="1">-->
<el-button type="primary" size="mini" @click="exportRepairTask">导出</el-button> <!-- <el-button type="primary" size="mini" @click="exportRepairTask">导出</el-button>-->
</el-col> <!-- </el-col>-->
</el-row> <!-- </el-row>-->
<el-table <div style="margin: 20px">
ref="multipleTable" <div class="table-title">信用修复未完结数量统计</div>
v-loading="loading" <el-table
:data="tableData" ref="initialTable"
tooltip-effect="dark" :data="currentData"
style="width: 95%;margin:0 auto" tooltip-effect="dark"
:fit="true" style="width: 95%;margin:0 auto 20px auto"
:row-class-name="tableRowClassName" :fit="true"
:header-cell-style="{background:'#8cc3fb',color:'#fff'}" :header-cell-style="{background:'#8cc3fb',color:'#fff'}"
@selection-change="handleSelectionChange" >
> <el-table-column prop="index" label="序号" min-width="50" align="center" />
<el-table-column prop="index" label="序号" min-width="30" align="center"/> <el-table-column prop="name" label="单位名称" min-width="120" align="center" />
<el-table-column prop="busname" :show-overflow-tooltip="true" label="业务名称" min-width="120" align="left"/> <el-table-column prop="outerCount" label="外网未完结数量" min-width="80" align="center" />
<el-table-column prop="busTypeName" label="业务类型" min-width="100" align="left"/> <el-table-column prop="innerCount" label="内网未完结数量" min-width="80" align="center" />
<el-table-column prop="busStatusName" label="业务状态" min-width="60" align="left" :formatter="busStatusNameFmt"/> <el-table-column prop="total" label="总计未完结数量" min-width="80" align="center" />
<el-table-column prop="orgName" label="受理单位" min-width="120" align="left"/> </el-table>
<el-table-column prop="signtime" label="受理时间" min-width="60" align="left"/> </div>
<el-table-column prop="sendertime" label="发送时间" min-width="60" align="left" :formatter="dateFormat"/> <div v-show="tableData.length > 0">
<el-table-column sortable="custom" label="剩余时间" min-width="100" align="left" :formatter="deadlineCalculate"/> <div class="table-title">信用修复预警名单</div>
<el-table-column label="操作" min-width="120" align="left"> <el-table
<template slot-scope="scope"> ref="multipleTable"
<el-button type="primary" size="mini" @click="showInfo(scope.row)">查看</el-button> v-loading="loading"
</template> :data="tableData"
</el-table-column> tooltip-effect="dark"
</el-table> style="width: 95%;margin:0 auto"
:fit="true"
:row-class-name="tableRowClassName"
:header-cell-style="{background:'#8cc3fb',color:'#fff'}"
@selection-change="handleSelectionChange"
>
<el-table-column prop="index" label="序号" min-width="30" align="center" />
<el-table-column prop="busname" :show-overflow-tooltip="true" label="业务名称" min-width="120" align="left" />
<el-table-column prop="busTypeName" label="业务类型" min-width="100" align="left" />
<el-table-column prop="busStatusName" label="业务状态" min-width="60" align="left" :formatter="busStatusNameFmt" />
<el-table-column prop="orgName" label="受理单位" min-width="120" align="left" />
<el-table-column prop="signtime" label="受理时间" min-width="60" align="left" />
<el-table-column prop="sendertime" label="发送时间" min-width="60" align="left" :formatter="dateFormat" />
<el-table-column sortable="custom" label="剩余时间" min-width="100" align="left" :formatter="deadlineCalculate" />
<el-table-column label="操作" min-width="120" align="left">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="showInfo(scope.row)">查看</el-button>
</template>
</el-table-column>
</el-table>
</div>
<div class="page-box"> <div class="page-box">
<el-pagination <el-pagination
:disabled="loading" :disabled="loading"
@ -164,8 +184,8 @@
</template> </template>
<script> <script>
import { repairTaskQuery, queryAllOrg } from '@/api/comprehensive' import { repairTaskQuery, queryAllOrg, repairTaskStatistic } from '@/api/comprehensive'
import {exportRepairTask} from "@/api/task"; import { exportRepairTask } from '@/api/task'
export default { export default {
data() { data() {
@ -219,8 +239,19 @@ export default {
mounted() { mounted() {
// //
this.getOrgList() this.getOrgList()
//
this.loadInitialTableData()
//
this.searchStatistic()
}, },
methods: { methods: {
//
loadInitialTableData() {
// API
// initialTableQuery().then(res => {
// this.currentData = res.data
// })
},
// //
exportRepairTask() { exportRepairTask() {
this.loading = true this.loading = true
@ -271,7 +302,7 @@ export default {
if (this.$util.isEmpty(row.sendertime)) return '' if (this.$util.isEmpty(row.sendertime)) return ''
return this.$util.formatDate.format(new Date(Date.parse(row.sendertime)), 'yyyy-MM-dd') return this.$util.formatDate.format(new Date(Date.parse(row.sendertime)), 'yyyy-MM-dd')
}, },
tableRowClassName({row, rowIndex}) { tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 === 1) { if (rowIndex % 2 === 1) {
return 'warning-row' return 'warning-row'
} }
@ -295,6 +326,7 @@ export default {
return return
} }
this.pageParam.curPage = 1 this.pageParam.curPage = 1
this.loadStatistic()
this.loadPage() this.loadPage()
}, },
// //
@ -396,21 +428,21 @@ export default {
case '7': case '7':
this.$router.push({ this.$router.push({
path: '/abnormal/company/repairInfo', path: '/abnormal/company/repairInfo',
query: {bizseq: row.bizseqid, workflowId: row.workflowid, tasklistid: row.tasklistid} query: { bizseq: row.bizseqid, workflowId: row.workflowid, tasklistid: row.tasklistid }
}) })
break break
// //
case '12': case '12':
this.$router.push({ this.$router.push({
path: '/abnormal/company/repairInfo', path: '/abnormal/company/repairInfo',
query: {bizseq: row.bizseqid, workflowId: row.workflowid, tasklistid: row.tasklistid} query: { bizseq: row.bizseqid, workflowId: row.workflowid, tasklistid: row.tasklistid }
}) })
break break
// - // -
case '33': case '33':
this.$router.push({ this.$router.push({
path: '/comprehensive/creditDetails', path: '/comprehensive/creditDetails',
query: {bizseq: row.bizseqid, workflowId: row.workflowid, tasklistid: row.tasklistid, searchName: '1'} query: { bizseq: row.bizseqid, workflowId: row.workflowid, tasklistid: row.tasklistid, searchName: '1' }
}) })
break break
} }
@ -420,7 +452,7 @@ export default {
case '33': case '33':
this.$router.push({ this.$router.push({
path: '/comprehensive/creditDetails', path: '/comprehensive/creditDetails',
query: {bizseq: row.bizseqid, workflowId: row.workflowid, tasklistid: row.tasklistid, searchName: '1'} query: { bizseq: row.bizseqid, workflowId: row.workflowid, tasklistid: row.tasklistid, searchName: '1' }
}) })
break break
// //
@ -464,7 +496,51 @@ export default {
break break
} }
} }
},
//
searchStatistic() {
this.pageParam.customParamMap = this.searchForm
//
let flag = false
// obj
Object.keys(this.pageParam.customParamMap).forEach(key => {
if (this.pageParam.customParamMap[key] !== '' && this.pageParam.customParamMap[key] !== null) {
flag = true
}
})
if (!flag) {
this.$message({
message: '请至少填写一个查询条件!',
type: 'warning'
})
return
}
this.pageParam.curPage = 1
this.loadStatistic()
},
//
loadStatistic() {
repairTaskStatistic(this.pageParam).then(res => {
//
const convertedData = []
if (Array.isArray(res.data)) {
res.data.forEach((each, index) => {
convertedData.push({
index: index + 1,
name: each.orgName || each.orgNumber || '',
outerCount: each.outerCount || 0,
innerCount: each.innerCount || 0,
total: each.total || 0
})
})
}
this.$set(this, 'currentData', convertedData)
// pageParam.total
// this.pageParam.total = res.data.total //
})
} }
} }
} }
</script> </script>