<template>
|
<div class="app-container">
|
<el-form inline class="evenly-distributed-labels" ref="formRef" :model="refValue.queryParams" label-width="80px">
|
<el-form-item label="执法记录" prop="enforceReason">
|
<el-input placeholder="请输入" v-model="refValue.quparams.enforceReason" ></el-input>
|
</el-form-item>
|
<el-form-item label="执法类型" prop="enforceType">
|
<el-select v-model="refValue.quparams.enforceType" placeholder="请选择" style="width: 170px;">
|
<el-option v-for="(item,index) in enforce_type" :label="item.label" :value="item.value" :key="index"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="执法时间" prop="enforceType">
|
<el-date-picker
|
v-model="refValue.quparams.pertime"
|
@change="timeChange"
|
format="YYYY-MM-DD"
|
value-format="YYYY-MM-DD"
|
type="daterange"
|
range-separator="至"
|
start-placeholder="开始时间"
|
end-placeholder="结束时间"
|
/>
|
</el-form-item>
|
<el-form-item label="企业" prop="companyName">
|
<el-input placeholder="请输入" v-model="refValue.quparams.companyName"></el-input>
|
</el-form-item>
|
<el-form-item label="执法部门" prop="applyDeptName">
|
<el-input placeholder="请输入" v-model="refValue.quparams.applyDeptName"></el-input>
|
</el-form-item>
|
<el-form-item label="状态" prop="orderStatus">
|
<!-- <el-input placeholder="请输入" ></el-input> -->
|
<el-select v-model="refValue.quparams.orderStatus" placeholder="请选择" style="width: 170px;">
|
<el-option v-for="(item,index) in refValue.orderStatusMap" :value="index" :label="item">
|
</el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="执法结果" prop="enforceResult">
|
<el-select style="width: 170px;" v-model="refValue.quparams.enforceResult" placeholder="请选择">
|
<el-option label="正常" value="0"></el-option>
|
<el-option label="停业整顿" value="1"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="是否通知" prop="isNoticeCompany">
|
<el-select v-model="refValue.quparams.isNoticeCompany" placeholder="请选择" style="width: 170px;">
|
<el-option label="否" value="0"></el-option>
|
<el-option label="是" value="1"></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item>
|
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
</el-form-item>
|
</el-form>
|
<!-- <el-row class="mt20 mb10">
|
<el-col>
|
<el-button icon="Download" type="primary" plain>导出</el-button>
|
</el-col>
|
</el-row> -->
|
<el-table :data="refValue.tableData">
|
<el-table-column label="企业" prop="companyName"></el-table-column>
|
<el-table-column label="执法部门" prop="applyDeptName"></el-table-column>
|
<el-table-column label="执法人" prop="applyUser"></el-table-column>
|
<el-table-column label="执法类型" prop="enforceType">
|
<template #default="scope">
|
{{dispImgType(scope.row.enforceType)}}
|
</template>
|
</el-table-column>
|
<el-table-column label="执法主题" prop="enforceReason">
|
<template #default="scope">
|
<el-link type="primary" @click="openDetails(scope.row)">{{ scope.row.enforceReason }}</el-link>
|
</template>
|
</el-table-column>
|
<el-table-column label="申请时间" prop="applyTime" width="180"></el-table-column>
|
<el-table-column label="执法时间" prop="planTime" width="180"></el-table-column>
|
<el-table-column label="状态" prop="orderStatus" width="100">
|
<template #default="scope">
|
{{ refValue.orderStatusMap[scope.row.orderStatus] }}
|
</template>
|
</el-table-column>
|
<el-table-column label="执法结果" prop="regionStatus" width="100">
|
<template #default="scope">
|
{{ refValue.regionStatus[scope.row.regionStatus] }}
|
</template>
|
</el-table-column>
|
<el-table-column label="是否通知企业" prop="isNoticeCompany" width="120">
|
<template #default="scope">
|
{{ refValue.isNoticeCompany[scope.row.isNoticeCompany] }}
|
</template>
|
</el-table-column>
|
</el-table>
|
<pagination v-show="refValue.quparams.total > 0" :total="refValue.quparams.total" v-model:page="refValue.quparams.pageNum" v-model:limit="refValue.quparams.pageSize" @pagination="getList" />
|
<detailsCom ref="refDetails"></detailsCom>
|
</div>
|
</template>
|
|
<script lang="ts" setup>
|
import { companyListEnforce } from '@/api/system/company/company'
|
import detailsCom from './component/details.vue'
|
const formRef = ref()
|
const refDetails = ref()
|
const { proxy } = getCurrentInstance()
|
const { enforce_type } = proxy.useDictPer("enforce_type");
|
const time = ref("")
|
const refValue: any = reactive({
|
tableData: [],
|
total: 1,
|
quparams: {
|
pageNum: 1,
|
pageSize: 10,
|
total: 1,
|
companyName: '',
|
enforceType: '',
|
applyDeptName: '',
|
orderStatus: "",
|
enforceReason: "",
|
isNoticeCompany: "",
|
enforceTime: "",
|
begineTime: "",
|
endTime: "",
|
},
|
orderStatusMap: {
|
'-1': '拒绝',
|
0: '待提交',
|
1: '已提交',
|
2: '待执行',
|
3: '待上报',
|
4: '已结束',
|
},
|
regionStatus: {
|
0: '正常',
|
1: '停业整顿',
|
},
|
isNoticeCompany: {
|
0: '否',
|
1: '是',
|
}
|
})
|
const form = reactive({
|
queryParams: {
|
content: ''
|
}
|
})
|
const dispImgType = (e: string) => {
|
return enforce_type.value.find((f: any) => f.value == e)?.label;
|
};
|
function getList(e: { limit: number; page: number }) {
|
refValue.quparams.pageSize = e.limit
|
refValue.quparams.pageNum = e.page
|
companyListEnforceHandle()
|
}
|
function companyListEnforceHandle() {
|
companyListEnforce(refValue.quparams).then(res => {
|
refValue.tableData = res.rows
|
refValue.quparams.total = res.total
|
})
|
}
|
companyListEnforceHandle()
|
function handleQuery() {
|
refValue.quparams.pageNum = 1
|
companyListEnforceHandle()
|
}
|
function timeChange(e: string[]) {
|
refValue.quparams.begineTime = e[0] + " " + "00:00:00"
|
refValue.quparams.endTime = e[1] + " " + "23:59:59"
|
}
|
function openDetails(item: any) {
|
refDetails.value.openDialog(item)
|
}
|
function resetQuery() {
|
refValue.quparams = {
|
pageNum: 1,
|
pageSize: 10,
|
total: 1,
|
companyName: '',
|
enforceType: '',
|
applyDeptName: '',
|
orderStatus: "",
|
enforceReason: "",
|
isNoticeCompany: "",
|
begineTime: "",
|
endTime: "",
|
}
|
formRef.value.resetFields()
|
companyListEnforceHandle()
|
|
}
|
</script>
|
|
<style scoped lang="scss">
|
.evenly-distributed-labels {
|
:deep(){
|
.el-form-item__label {
|
position: relative; /* 设置相对定位作为星号的定位基准 */
|
text-align: justify;
|
text-align-last: justify; /* 确保最后一行也两端对齐 */
|
padding-left: 10px; /* 为星号预留空间 */
|
display: inline-block;
|
}
|
}
|
}
|
</style>
|