|
|
@ -47,6 +47,9 @@ const stats = ref<RegistrationStatisticsVo>({ |
|
|
checkPercent: '0.00%' |
|
|
checkPercent: '0.00%' |
|
|
}); |
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
const detailDialogVisible = ref(false); |
|
|
|
|
|
const detailRow = ref<any>(null); |
|
|
|
|
|
|
|
|
// 字典 |
|
|
// 字典 |
|
|
const lawEnforceCategoryOptions = ref<any[]>([]); |
|
|
const lawEnforceCategoryOptions = ref<any[]>([]); |
|
|
const checkCategoryOptions = ref<any[]>([]); |
|
|
const checkCategoryOptions = ref<any[]>([]); |
|
|
@ -308,6 +311,28 @@ const formatDate = (row: any) => { |
|
|
const d = new Date(row.enforcementTime); |
|
|
const d = new Date(row.enforcementTime); |
|
|
return `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, '0')}-${String(d.getDate()).padStart(2, '0')}`; |
|
|
return `${d.getFullYear()}-${String(d.getMonth() + 1).padStart(2, '0')}-${String(d.getDate()).padStart(2, '0')}`; |
|
|
}; |
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
/** 排序变更 */ |
|
|
|
|
|
const handleSortChange = (sortObj: { prop: string; order: 'ascending' | 'descending' | null }) => { |
|
|
|
|
|
if (sortObj.prop === 'enforcementTime') { |
|
|
|
|
|
queryParams.orderByColumn = 'enforcement_time'; |
|
|
|
|
|
queryParams.isAsc = sortObj.order === 'ascending' ? 'asc' : 'desc'; |
|
|
|
|
|
queryParams.pageNum = 1; |
|
|
|
|
|
getListV2(); |
|
|
|
|
|
} |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
/** 查看详情 */ |
|
|
|
|
|
const handleViewDetail = (row: any) => { |
|
|
|
|
|
detailRow.value = row; |
|
|
|
|
|
detailDialogVisible.value = true; |
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
/** 关闭详情弹窗 */ |
|
|
|
|
|
const closeDetailDialog = () => { |
|
|
|
|
|
detailDialogVisible.value = false; |
|
|
|
|
|
detailRow.value = null; |
|
|
|
|
|
}; |
|
|
</script> |
|
|
</script> |
|
|
|
|
|
|
|
|
<template> |
|
|
<template> |
|
|
@ -430,18 +455,18 @@ const formatDate = (row: any) => { |
|
|
</div> |
|
|
</div> |
|
|
<!-- 列表表格 --> |
|
|
<!-- 列表表格 --> |
|
|
<div ref="tableRef"> |
|
|
<div ref="tableRef"> |
|
|
<el-table v-loading="loading" :data="tableData" border stripe style="width: 100%" :height="tableHeight"> |
|
|
<el-table v-loading="loading" :data="tableData" border stripe style="width: 100%" :height="tableHeight" @sort-change="handleSortChange"> |
|
|
<el-table-column label="执法单位" prop="bureauDeptName" min-width="150" show-overflow-tooltip /> |
|
|
<el-table-column label="执法单位" prop="bureauDeptName" align="center" min-width="150" show-overflow-tooltip /> |
|
|
<el-table-column label="被执法企业名称" prop="enterpriseName" min-width="180" show-overflow-tooltip /> |
|
|
<el-table-column label="被执法企业名称" prop="enterpriseName" align="center" min-width="180" show-overflow-tooltip /> |
|
|
<el-table-column label="企业注册地" prop="district" width="100" align="center" /> |
|
|
<el-table-column label="企业注册地" prop="district" width="100" align="center" /> |
|
|
<el-table-column label="企业所属街道" prop="street" width="120" align="center" /> |
|
|
<el-table-column label="企业所属街道" prop="street" width="120" align="center" /> |
|
|
<el-table-column label="执法人员" min-width="120"> |
|
|
<el-table-column label="执法人员" min-width="120" align="center"> |
|
|
<template #default="{ row }"> |
|
|
<template #default="{ row }"> |
|
|
{{ row.lawEnforcer }}{{ row.lawEnforcerTwo ? ',\n' + row.lawEnforcerTwo : '' }} |
|
|
{{ row.lawEnforcer }}{{ row.lawEnforcerTwo ? ',\n' + row.lawEnforcerTwo : '' }} |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
<el-table-column label="执法事项" prop="lawEnforcementItemText" min-width="150" show-overflow-tooltip /> |
|
|
<el-table-column label="执法事项" prop="lawEnforcementItemText" align="center" min-width="150" show-overflow-tooltip /> |
|
|
<el-table-column label="执法时间" width="110" align="center"> |
|
|
<el-table-column label="执法时间" width="110" align="center" sortable="custom" prop="enforcementTime"> |
|
|
<template #default="{ row }">{{ formatDate(row) }}</template> |
|
|
<template #default="{ row }">{{ formatDate(row) }}</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
<el-table-column label="联合执法" width="90" align="center"> |
|
|
<el-table-column label="联合执法" width="90" align="center"> |
|
|
@ -456,7 +481,7 @@ const formatDate = (row: any) => { |
|
|
<span v-else>否</span> |
|
|
<span v-else>否</span> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
<el-table-column label="委托单位" prop="entrustDeptName" width="130" show-overflow-tooltip /> |
|
|
<el-table-column label="委托单位" prop="entrustDeptName" align="center" width="130" show-overflow-tooltip /> |
|
|
<el-table-column label="执法类别" width="100" align="center"> |
|
|
<el-table-column label="执法类别" width="100" align="center"> |
|
|
<template #default="{ row }"> |
|
|
<template #default="{ row }"> |
|
|
{{ lawEnforceCategoryOptions.find(d => d.dictValue === row.lawEnforceCategory)?.dictLabel || row.lawEnforceCategory || '-' }} |
|
|
{{ lawEnforceCategoryOptions.find(d => d.dictValue === row.lawEnforceCategory)?.dictLabel || row.lawEnforceCategory || '-' }} |
|
|
@ -484,6 +509,11 @@ const formatDate = (row: any) => { |
|
|
<span v-else>否</span> |
|
|
<span v-else>否</span> |
|
|
</template> |
|
|
</template> |
|
|
</el-table-column> |
|
|
</el-table-column> |
|
|
|
|
|
<el-table-column label="操作" width="80" align="center"> |
|
|
|
|
|
<template #default="{ row }"> |
|
|
|
|
|
<el-button type="primary" link size="small" @click="handleViewDetail(row)">详情</el-button> |
|
|
|
|
|
</template> |
|
|
|
|
|
</el-table-column> |
|
|
</el-table> |
|
|
</el-table> |
|
|
</div> |
|
|
</div> |
|
|
|
|
|
|
|
|
@ -498,6 +528,27 @@ const formatDate = (row: any) => { |
|
|
@current-change="getListV2" |
|
|
@current-change="getListV2" |
|
|
class="mt-4" |
|
|
class="mt-4" |
|
|
/> |
|
|
/> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 详情弹窗 --> |
|
|
|
|
|
<el-dialog v-model="detailDialogVisible" title="执法详情" width="700px" append-to-body @close="closeDetailDialog"> |
|
|
|
|
|
<el-descriptions v-if="detailRow" :column="2" border> |
|
|
|
|
|
<el-descriptions-item label="执法单位">{{ detailRow.bureauDeptName || '-' }}</el-descriptions-item> |
|
|
|
|
|
<el-descriptions-item label="被执法企业名称">{{ detailRow.enterpriseName || '-' }}</el-descriptions-item> |
|
|
|
|
|
<el-descriptions-item label="企业注册地">{{ detailRow.district || '-' }}</el-descriptions-item> |
|
|
|
|
|
<el-descriptions-item label="企业所属街道">{{ detailRow.street || '-' }}</el-descriptions-item> |
|
|
|
|
|
<el-descriptions-item label="执法人员">{{ detailRow.lawEnforcer }}{{ detailRow.lawEnforcerTwo ? ', ' + detailRow.lawEnforcerTwo : '' }}</el-descriptions-item> |
|
|
|
|
|
<el-descriptions-item label="执法事项">{{ detailRow.lawEnforcementItemText || '-' }}</el-descriptions-item> |
|
|
|
|
|
<el-descriptions-item label="执法时间">{{ detailRow.enforcementTime ? formatDate(detailRow) : '-' }}</el-descriptions-item> |
|
|
|
|
|
<el-descriptions-item label="联合执法">{{ detailRow.hasUnion === 1 && detailRow.unionNo ? '是' : '否' }}</el-descriptions-item> |
|
|
|
|
|
<el-descriptions-item label="受委托">{{ detailRow.hasAuto === 1 ? '是' : '否' }}</el-descriptions-item> |
|
|
|
|
|
<el-descriptions-item label="委托单位">{{ detailRow.entrustDeptName || '-' }}</el-descriptions-item> |
|
|
|
|
|
<el-descriptions-item label="执法类别">{{ lawEnforceCategoryOptions.find(d => d.dictValue === detailRow.lawEnforceCategory)?.dictLabel || detailRow.lawEnforceCategory || '-' }}</el-descriptions-item> |
|
|
|
|
|
<el-descriptions-item label="任务来源">{{ checkCategoryOptions.find(d => d.dictValue === detailRow.checkCategory)?.dictLabel || '-' }}</el-descriptions-item> |
|
|
|
|
|
<el-descriptions-item label="是否扫码">{{ detailRow.checkCss ? '否' : '是' }}</el-descriptions-item> |
|
|
|
|
|
<el-descriptions-item label="未扫码原因">{{ noScanReasonOptions.find(d => d.dictValue === detailRow.checkCss)?.dictLabel || '-' }}</el-descriptions-item> |
|
|
|
|
|
<el-descriptions-item label="是否投诉" :span="2">{{ detailRow.isComplaint === 1 ? '是' : '否' }}</el-descriptions-item> |
|
|
|
|
|
</el-descriptions> |
|
|
|
|
|
</el-dialog> |
|
|
</div> |
|
|
</div> |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
|
|