沈丘营商办后台前端项目
wjt
2024-06-24 69a9c21a3c4559e5ce9ec88c30955b38118e0693
src/views/infomanger/enforcement/index.vue
@@ -1,67 +1,188 @@
<template>
  <div  class="app-container">
    <el-form inline class="evenly-distributed-labels" ref="formRef" :model="form.queryParams" label-width="80px">
      <el-form-item label="执法记录" prop="content">
        <el-input placeholder="请输入" v-model="form.queryParams.content"></el-input>
    <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="执法类型">
        <el-input placeholder="请输入"></el-input>
      <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="执法时间">
        <el-input placeholder="请输入"></el-input>
      <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="企业">
        <el-input placeholder="请输入"></el-input>
      <el-form-item label="企业"  prop="companyName">
        <el-input placeholder="请输入" v-model="refValue.quparams.companyName"></el-input>
      </el-form-item>
      <el-form-item label="执法部门">
        <el-input placeholder="请输入"></el-input>
      <el-form-item label="执法部门" prop="applyDeptName">
        <el-input placeholder="请输入" v-model="refValue.quparams.applyDeptName"></el-input>
      </el-form-item>
      <el-form-item label="状态">
        <el-input placeholder="请输入"></el-input>
      <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="执法结果">
        <el-input placeholder="请输入"></el-input>
      <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="是否通知">
        <el-input placeholder="请输入"></el-input>
      <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-row class="mt20 mb10">
      <el-col>
        <el-button icon="Download" type="primary" plain>导出</el-button>
      </el-col>
    </el-row>
    <el-table>
      <el-table-column label="企业"></el-table-column>
      <el-table-column label="执法部门"></el-table-column>
      <el-table-column label="执法人"></el-table-column>
      <el-table-column label="执法类型"></el-table-column>
      <el-table-column label="执法主题"></el-table-column>
      <el-table-column label="申请时间"></el-table-column>
      <el-table-column label="执法时间"></el-table-column>
      <el-table-column label="状态"></el-table-column>
      <el-table-column label="执法结果"></el-table-column>
      <el-table-column label="是否通知企业"></el-table-column>
    </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>