zhzf/client/src/views/dtsjygl/zflatj.vue

226 lines
9.6 KiB
Vue

<template>
<browser :component-loading="componentLoading"
ref="broTable"
:api-config="apiConfig"
:table-config="tableConfig"
:permissions="permissions"
:dialog-config="dialogConfig"
:actions="actions"
:custom-query="true"
@custom-query="handleQuery"
:custom-reset="true"
@custom-reset="reset"
@update:dialog-config="dialogConfig = $event">
<template #queryPanel>
<el-form label-width="120px" :model="queryParams">
<el-row class="query-condition">
<el-col :span="3">
<el-radio-group v-model="queryParams.period" @change="changePeriod">
<el-radio label="month">月度</el-radio>
<el-radio label="quarter">季度</el-radio>
</el-radio-group>
</el-col>
<el-col :span="8" v-if="queryParams.period==='month'">
<el-form-item label="月度" prop="month">
<el-date-picker
v-model="queryParams.Yd"
type="month" value-format="YYYY-MM-DD"
placeholder="选择月">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8" v-if="queryParams.period==='quarter'">
<el-form-item label="季度" prop="quarter">
<el-select v-model="queryParams.Jd" placeholder="请选择">
<el-option label="第一季度" :value="1">第一季度</el-option>
<el-option label="第二季度" :value="2">第二季度</el-option>
<el-option label="第三季度" :value="3">第三季度</el-option>
<el-option label="第四季度" :value="4">第四季度</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
</template>
<el-table-column header-align="center" align="left" prop="two" label="属地" min-width="150">
<template #default="{row}">
<span
v-if="row.agency.agencyName.indexOf('区')!==-1">{{ row.agency.agencyName.slice(0, row.agency.agencyName.indexOf('')) }}</span>
<span
v-if="row.agency.agencyName.indexOf('县')!==-1">{{ row.agency.agencyName.slice(0, row.agency.agencyName.indexOf('')) }}</span>
<span
v-if="row.agency.agencyName.indexOf('市')!==-1">{{ row.agency.agencyName.slice(0, row.agency.agencyName.indexOf('')) }}</span>
</template>
</el-table-column>
<el-table-column header-align="center" align="center" prop="agency.agencyName" label="执法单位" min-width="200"/>
<el-table-column header-align="center" align="center" prop="checkDate" label="检查时间" min-width="120"/>
<el-table-column header-align="center" align="center" prop="fillingDate" label="立案时间" min-width="120"/>
<el-table-column header-align="center" align="center" prop="auditTime" label="决定时间" min-width="120"/>
<el-table-column header-align="center" align="center" prop="caseClosingDate" label="结案时间" min-width="120"/>
<el-table-column header-align="center" align="center" prop="caseSource" label="案件来源" min-width="120"/>
<el-table-column header-align="center" align="center" prop="industryType" label="行业类别" min-width="200"/>
<el-table-column header-align="center" align="center" prop="unitName" label="企业名称" min-width="250"/>
<el-table-column header-align="center" align="center" prop="caseCause" label="处罚案由" min-width="150"/>
<el-table-column header-align="center" align="center" prop="wfxwsl" label="违法行为数量" min-width="120"/>
<el-table-column header-align="center" align="center" label="是否一案双罚" min-width="120">
<template #default="{row}">
<span v-if="row.sfyasf===0"></span><span v-if="row.sfyasf===1"></span>
</template>
</el-table-column>
<el-table-column header-align="center" align="left" prop="eight" label="行政处罚金额(万元)" min-width="120">
<el-table-column header-align="center" align="center" prop="fkze" label="罚款总额" min-width="120"/>
<el-table-column header-align="center" align="center" prop="cfqy" label="处罚企业" min-width="120"/>
<el-table-column header-align="center" align="center" prop="cfgr" label="处罚个人" min-width="120"/>
</el-table-column>
<el-table-column header-align="center" align="left" prop="twelve" label="行刑衔接情况" min-width="120">
<el-table-column header-align="center" align="center" prop="sfyj" label="是否移交" min-width="120">
<template #default="{row}">
<span v-if="row.sfyj===0"></span><span v-if="row.sfyj===1"></span>
</template>
</el-table-column>
<el-table-column header-align="center" align="center" prop="sjrys" label="涉及人员数" min-width="120"/>
</el-table-column>
<el-table-column header-align="center" align="left" prop="fifteen" label="约谈、通报等追责问责开展情况" min-width="120">
<el-table-column header-align="center" align="center" prop="yttbzzrs" label="人数" min-width="120"/>
<el-table-column header-align="center" align="center" prop="yttbzzrrlx" label="人员类型" min-width="120"/>
</el-table-column>
<el-table-column header-align="center" align="left" prop="eighteen" label="其他行政处罚情况" min-width="120">
<el-table-column header-align="center" align="center" prop="nineteen" label="是否责令停产整顿" min-width="140">
<template #default="{row}">
<span v-if="row.sfzltczd===0"></span><span v-if="row.sfzltczd===1"></span>
</template>
</el-table-column>
<el-table-column header-align="center" align="center" prop="twenty" label="是否暂扣证照" min-width="120">
<template #default="{row}">
<span v-if="row.sfzkzz===0"></span><span v-if="row.sfzkzz===1"></span>
</template>
</el-table-column>
<el-table-column header-align="center" align="center" prop="twentyOne" label="是否关闭" min-width="120">
<template #default="{row}">
<span v-if="row.sfgb===0"></span><span v-if="row.sfgb===1"></span>
</template>
</el-table-column>
</el-table-column>
<el-table-column header-align="center" align="left" prop="twentyTwo" label="行政复议情况" min-width="120">
<el-table-column header-align="center" align="center" prop="twentyThree" label="是否复议" min-width="120">
<template #default="{row}">
<span v-if="row.sffy===0"></span><span v-if="row.sffy===1"></span>
</template>
</el-table-column>
<el-table-column header-align="center" align="left" prop="fyjg" label="结果" min-width="120"/>
</el-table-column>
<el-table-column header-align="center" align="left" prop="twentyFive" label="行政诉讼情况" min-width="120">
<el-table-column header-align="center" align="center" prop="twentySix" label="是否诉讼" min-width="120">
<template #default="{row}">
<span v-if="row.sfss===0"></span><span v-if="row.sfss===1"></span>
</template>
</el-table-column>
<el-table-column header-align="center" align="left" prop="ssjg" label="结果" min-width="120"/>
</el-table-column>
</browser>
</template>
<script setup>
import {reactive, toRefs, ref} from 'vue'
import Browser from '@/components/Browser.vue'
import {useUserStore} from '@/stores/modules/user'
import caseApi from '@/api/lawenforcement/Case'
import EnforcementInfoHistroy from '@/api/lawenforcement/EnforcementInfoHistroy.js'
import moment from 'moment'
const userStore = useUserStore()
const state = reactive({
componentLoading: false,
permissions: {
query: true,
add: false,
modify: false,
detail: false,
delete: false,
importFile: false,
exportFile: true,
exportSelectFile: false,
downloadTemp: false
},
tableConfig: {
tableId: 'zflatjTableId',
tableLoading: false,
usePage: false,
multipleSelect: false,
hasControlColumn: false,
defaultSort: {
prop: 'supplementVerifyTime',
order: 'descending'
},
controlWidth: '150',
},
apiConfig: {
tableLoading: false,
api: EnforcementInfoHistroy,
modelId: 'enterpriseId',
},
dialogConfig: {
show: false,
mode: 'detail',
loading: false,
data: {},
actions: {},
},
actions: {
query: handleQuery,
exportData: handleExport
},
queryParams: {
supplementVerifyResult: '1',
period: 'month',
Yd: moment().startOf('month').format('YYYY-MM-DD')
}
})
function changePeriod(val) {
if (val === 'quarter')
getCurrentQuarter()
}
function handleQuery(query) {
if (query)
queryParams.value = query
tableConfig.value.tableLoading = true
apiConfig.value.api.listZflatj(queryParams.value).then(res => {
if (res.success) {
tableConfig.value.tableData = res
tableConfig.value.tableLoading = false
}
})
}
function reset(query) {
queryParams.value.supplementVerifyResult = '1'
queryParams.value.period = 'month'
queryParams.value.Yd = moment().startOf('month').format('YYYY-MM-DD')
handleQuery()
}
function getCurrentQuarter() {
const now = new Date()
const quarter = Math.floor(now.getMonth() / 3) + 1;
queryParams.value.Jd = queryParams.value.Jd === undefined ? quarter : queryParams.value.Jd
}
const {componentLoading, queryParams, permissions, tableConfig, apiConfig, dialogConfig, actions} = toRefs(state)
const broTable = ref(null)
function handleExport() {
broTable.value.busiTable.exportExcelFileForCurrentPage(tableConfig.value.tableId, '执法立案统计')
}
</script>
<style lang="scss" scoped>
</style>