9 changed files with 124 additions and 489 deletions
@ -1,54 +0,0 @@ |
|||||||
import request from '@/config/axios' |
|
||||||
|
|
||||||
// 企业 VO
|
|
||||||
export interface EnterpriseVO { |
|
||||||
id: number // 企业ID,主键
|
|
||||||
departmentId: number // 所属部门ID
|
|
||||||
userId: number // 管辖人员ID
|
|
||||||
type: string // 企业类型:1.大型、2.中型、3.小型、4.环保重点
|
|
||||||
region: string // 企业所属区域:1.东区、2.西区、3.北区、4.南区
|
|
||||||
enterprisesName: string // 企业名称
|
|
||||||
address: string // 企业地址
|
|
||||||
contactName: string // 环保负责人姓名
|
|
||||||
environmentalContactPhone: string // 企业环保负责人联系电话
|
|
||||||
registrationNumber: string // 企业注册号
|
|
||||||
introduction: string // 企业图文介绍
|
|
||||||
establishmentDate: Date // 企业成立时间
|
|
||||||
gpsLocation: string // 企业经纬度
|
|
||||||
createBy: string // 创建人
|
|
||||||
updateBy: string // 修改人
|
|
||||||
managerDeptId: number // 管理部门
|
|
||||||
} |
|
||||||
|
|
||||||
// 企业 API
|
|
||||||
export const EnterpriseApi = { |
|
||||||
// 查询企业分页
|
|
||||||
getEnterprisePage: async (params: any) => { |
|
||||||
return await request.get({ url: `/system/enterprise/page`, params }) |
|
||||||
}, |
|
||||||
|
|
||||||
// 查询企业详情
|
|
||||||
getEnterprise: async (id: number) => { |
|
||||||
return await request.get({ url: `/system/enterprise/get?id=` + id }) |
|
||||||
}, |
|
||||||
|
|
||||||
// 新增企业
|
|
||||||
createEnterprise: async (data: EnterpriseVO) => { |
|
||||||
return await request.post({ url: `/system/enterprise/create`, data }) |
|
||||||
}, |
|
||||||
|
|
||||||
// 修改企业
|
|
||||||
updateEnterprise: async (data: EnterpriseVO) => { |
|
||||||
return await request.put({ url: `/system/enterprise/update`, data }) |
|
||||||
}, |
|
||||||
|
|
||||||
// 删除企业
|
|
||||||
deleteEnterprise: async (id: number) => { |
|
||||||
return await request.delete({ url: `/system/enterprise/delete?id=` + id }) |
|
||||||
}, |
|
||||||
|
|
||||||
// 导出企业 Excel
|
|
||||||
exportEnterprise: async (params) => { |
|
||||||
return await request.download({ url: `/system/enterprise/export-excel`, params }) |
|
||||||
}, |
|
||||||
} |
|
@ -0,0 +1,59 @@ |
|||||||
|
import request from '@/config/axios' |
||||||
|
|
||||||
|
// 附件信息 VO
|
||||||
|
export interface FileInfoVO { |
||||||
|
id: number // ID
|
||||||
|
attachmentName: string // 文件名
|
||||||
|
attachmentPath: string // 文件路径
|
||||||
|
attachmentMd5: string // 文件MD5
|
||||||
|
unitId: number // 关联ID(日报/案件/行动...)
|
||||||
|
type: number // 类别
|
||||||
|
status: number // 状态
|
||||||
|
deptId: number // 部门ID
|
||||||
|
groupId: number // 文件分组ID
|
||||||
|
level: number // 文件等级
|
||||||
|
permissions: string // 文件权限
|
||||||
|
} |
||||||
|
|
||||||
|
// 附件信息 API
|
||||||
|
export const FileInfoApi = { |
||||||
|
// 查询附件信息分页
|
||||||
|
getFileInfoPage: async (params: any) => { |
||||||
|
return await request.get({ url: `/system/file-info/page`, params }) |
||||||
|
}, |
||||||
|
|
||||||
|
// 查询附件信息详情
|
||||||
|
getFileInfo: async (id: number) => { |
||||||
|
return await request.get({ url: `/system/file-info/get?id=` + id }) |
||||||
|
}, |
||||||
|
|
||||||
|
// 新增附件信息
|
||||||
|
createFileInfo: async (data: any) => { |
||||||
|
return await request.post({ url: `/system/file-info/create`, data }) |
||||||
|
}, |
||||||
|
|
||||||
|
// 新增附件信息
|
||||||
|
createbatchFileInfo: async (data: any) => { |
||||||
|
return await request.post({ url: `/system/file-info/createbatch`, data }) |
||||||
|
}, |
||||||
|
|
||||||
|
// 修改附件信息
|
||||||
|
updateFileInfo: async (data) => { |
||||||
|
return await request.put({ url: `/system/file-info/update`, data }) |
||||||
|
}, |
||||||
|
|
||||||
|
// 删除附件信息
|
||||||
|
deleteFileInfo: async (id: number) => { |
||||||
|
return await request.delete({ url: `/system/file-info/delete?id=` + id }) |
||||||
|
}, |
||||||
|
|
||||||
|
// 导出附件信息 Excel
|
||||||
|
exportFileInfo: async (params) => { |
||||||
|
return await request.download({ url: `/system/file-info/export-excel`, params }) |
||||||
|
}, |
||||||
|
|
||||||
|
// 查询附件信息分页
|
||||||
|
getFileInfoList: async (params: any) => { |
||||||
|
return await request.get({ url: `/system/file-info/list`, params }) |
||||||
|
}, |
||||||
|
} |
@ -0,0 +1,52 @@ |
|||||||
|
import request from '@/config/axios' |
||||||
|
|
||||||
|
// 企业 VO
|
||||||
|
export interface EnterprisesVO { |
||||||
|
id: number // 企业ID,主键
|
||||||
|
departmentId: number // 所属部门ID
|
||||||
|
userId: number // 邀请人
|
||||||
|
type: string // 企业类型
|
||||||
|
region: string // 企业所属区域
|
||||||
|
enterprisesName: string // 企业名称
|
||||||
|
address: string // 企业地址
|
||||||
|
contactName: string // 环保负责人姓名
|
||||||
|
environmentalContactPhone: string // 企业环保负责人联系电话
|
||||||
|
registrationNumber: string // 企业注册号
|
||||||
|
introduction: string // 企业图文介绍
|
||||||
|
establishmentDate: Date // 企业成立时间
|
||||||
|
gpsLocation: string // 企业经纬度
|
||||||
|
managerDeptId: number // 管理部门
|
||||||
|
} |
||||||
|
|
||||||
|
// 企业 API
|
||||||
|
export const EnterprisesApi = { |
||||||
|
// 查询企业分页
|
||||||
|
getEnterprisesPage: async (params: any) => { |
||||||
|
return await request.get({ url: `/system/enterprises/page`, params }) |
||||||
|
}, |
||||||
|
|
||||||
|
// 查询企业详情
|
||||||
|
getEnterprises: async (id: number) => { |
||||||
|
return await request.get({ url: `/system/enterprises/get?id=` + id }) |
||||||
|
}, |
||||||
|
|
||||||
|
// 新增企业
|
||||||
|
createEnterprises: async (data: EnterprisesVO) => { |
||||||
|
return await request.post({ url: `/system/enterprises/create`, data }) |
||||||
|
}, |
||||||
|
|
||||||
|
// 修改企业
|
||||||
|
updateEnterprises: async (data: EnterprisesVO) => { |
||||||
|
return await request.put({ url: `/system/enterprises/update`, data }) |
||||||
|
}, |
||||||
|
|
||||||
|
// 删除企业
|
||||||
|
deleteEnterprises: async (id: number) => { |
||||||
|
return await request.delete({ url: `/system/enterprises/delete?id=` + id }) |
||||||
|
}, |
||||||
|
|
||||||
|
// 导出企业 Excel
|
||||||
|
exportEnterprises: async (params) => { |
||||||
|
return await request.download({ url: `/system/enterprises/export-excel`, params }) |
||||||
|
}, |
||||||
|
} |
@ -1,171 +0,0 @@ |
|||||||
<template> |
|
||||||
<Dialog :title="dialogTitle" v-model="dialogVisible"> |
|
||||||
<el-form |
|
||||||
ref="formRef" |
|
||||||
:model="formData" |
|
||||||
:rules="formRules" |
|
||||||
label-width="100px" |
|
||||||
v-loading="formLoading" |
|
||||||
> |
|
||||||
<el-form-item label="所属部门ID" prop="departmentId"> |
|
||||||
<el-input v-model="formData.departmentId" placeholder="请输入所属部门ID" /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="管辖人员ID" prop="userId"> |
|
||||||
<el-input v-model="formData.userId" placeholder="请输入管辖人员ID" /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="企业类型:1.大型、2.中型、3.小型、4.环保重点" prop="type"> |
|
||||||
<el-select v-model="formData.type" placeholder="请选择企业类型:1.大型、2.中型、3.小型、4.环保重点"> |
|
||||||
<el-option label="请选择字典生成" value="" /> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="企业所属区域:1.东区、2.西区、3.北区、4.南区" prop="region"> |
|
||||||
<el-input v-model="formData.region" placeholder="请输入企业所属区域:1.东区、2.西区、3.北区、4.南区" /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="企业名称" prop="enterprisesName"> |
|
||||||
<el-input v-model="formData.enterprisesName" placeholder="请输入企业名称" /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="企业地址" prop="address"> |
|
||||||
<el-input v-model="formData.address" placeholder="请输入企业地址" /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="环保负责人姓名" prop="contactName"> |
|
||||||
<el-input v-model="formData.contactName" placeholder="请输入环保负责人姓名" /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="企业环保负责人联系电话" prop="environmentalContactPhone"> |
|
||||||
<el-input v-model="formData.environmentalContactPhone" placeholder="请输入企业环保负责人联系电话" /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="企业注册号" prop="registrationNumber"> |
|
||||||
<el-input v-model="formData.registrationNumber" placeholder="请输入企业注册号" /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="企业图文介绍" prop="introduction"> |
|
||||||
<el-input v-model="formData.introduction" placeholder="请输入企业图文介绍" /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="企业成立时间" prop="establishmentDate"> |
|
||||||
<el-date-picker |
|
||||||
v-model="formData.establishmentDate" |
|
||||||
type="date" |
|
||||||
value-format="x" |
|
||||||
placeholder="选择企业成立时间" |
|
||||||
/> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="企业经纬度" prop="gpsLocation"> |
|
||||||
<el-input v-model="formData.gpsLocation" placeholder="请输入企业经纬度" /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="创建人" prop="createBy"> |
|
||||||
<el-input v-model="formData.createBy" placeholder="请输入创建人" /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="修改人" prop="updateBy"> |
|
||||||
<el-input v-model="formData.updateBy" placeholder="请输入修改人" /> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="管理部门" prop="managerDeptId"> |
|
||||||
<el-input v-model="formData.managerDeptId" placeholder="请输入管理部门" /> |
|
||||||
</el-form-item> |
|
||||||
</el-form> |
|
||||||
<template #footer> |
|
||||||
<el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button> |
|
||||||
<el-button @click="dialogVisible = false">取 消</el-button> |
|
||||||
</template> |
|
||||||
</Dialog> |
|
||||||
</template> |
|
||||||
<script setup lang="ts"> |
|
||||||
import { EnterpriseApi, EnterpriseVO } from '@/api/enterprise' |
|
||||||
|
|
||||||
/** 企业 表单 */ |
|
||||||
defineOptions({ name: 'EnterpriseForm' }) |
|
||||||
|
|
||||||
const { t } = useI18n() // 国际化 |
|
||||||
const message = useMessage() // 消息弹窗 |
|
||||||
|
|
||||||
const dialogVisible = ref(false) // 弹窗的是否展示 |
|
||||||
const dialogTitle = ref('') // 弹窗的标题 |
|
||||||
const formLoading = ref(false) // 表单的加载中:1)修改时的数据加载;2)提交的按钮禁用 |
|
||||||
const formType = ref('') // 表单的类型:create - 新增;update - 修改 |
|
||||||
const formData = ref({ |
|
||||||
id: undefined, |
|
||||||
departmentId: undefined, |
|
||||||
userId: undefined, |
|
||||||
type: undefined, |
|
||||||
region: undefined, |
|
||||||
enterprisesName: undefined, |
|
||||||
address: undefined, |
|
||||||
contactName: undefined, |
|
||||||
environmentalContactPhone: undefined, |
|
||||||
registrationNumber: undefined, |
|
||||||
introduction: undefined, |
|
||||||
establishmentDate: undefined, |
|
||||||
gpsLocation: undefined, |
|
||||||
createBy: undefined, |
|
||||||
updateBy: undefined, |
|
||||||
managerDeptId: undefined, |
|
||||||
}) |
|
||||||
const formRules = reactive({ |
|
||||||
type: [{ required: true, message: '企业类型:1.大型、2.中型、3.小型、4.环保重点不能为空', trigger: 'change' }], |
|
||||||
region: [{ required: true, message: '企业所属区域:1.东区、2.西区、3.北区、4.南区不能为空', trigger: 'blur' }], |
|
||||||
enterprisesName: [{ required: true, message: '企业名称不能为空', trigger: 'blur' }], |
|
||||||
}) |
|
||||||
const formRef = ref() // 表单 Ref |
|
||||||
|
|
||||||
/** 打开弹窗 */ |
|
||||||
const open = async (type: string, id?: number) => { |
|
||||||
dialogVisible.value = true |
|
||||||
dialogTitle.value = t('action.' + type) |
|
||||||
formType.value = type |
|
||||||
resetForm() |
|
||||||
// 修改时,设置数据 |
|
||||||
if (id) { |
|
||||||
formLoading.value = true |
|
||||||
try { |
|
||||||
formData.value = await EnterpriseApi.getEnterprise(id) |
|
||||||
} finally { |
|
||||||
formLoading.value = false |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
||||||
defineExpose({ open }) // 提供 open 方法,用于打开弹窗 |
|
||||||
|
|
||||||
/** 提交表单 */ |
|
||||||
const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调 |
|
||||||
const submitForm = async () => { |
|
||||||
// 校验表单 |
|
||||||
await formRef.value.validate() |
|
||||||
// 提交请求 |
|
||||||
formLoading.value = true |
|
||||||
try { |
|
||||||
const data = formData.value as unknown as EnterpriseVO |
|
||||||
if (formType.value === 'create') { |
|
||||||
await EnterpriseApi.createEnterprise(data) |
|
||||||
message.success(t('common.createSuccess')) |
|
||||||
} else { |
|
||||||
await EnterpriseApi.updateEnterprise(data) |
|
||||||
message.success(t('common.updateSuccess')) |
|
||||||
} |
|
||||||
dialogVisible.value = false |
|
||||||
// 发送操作成功的事件 |
|
||||||
emit('success') |
|
||||||
} finally { |
|
||||||
formLoading.value = false |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/** 重置表单 */ |
|
||||||
const resetForm = () => { |
|
||||||
formData.value = { |
|
||||||
id: undefined, |
|
||||||
departmentId: undefined, |
|
||||||
userId: undefined, |
|
||||||
type: undefined, |
|
||||||
region: undefined, |
|
||||||
enterprisesName: undefined, |
|
||||||
address: undefined, |
|
||||||
contactName: undefined, |
|
||||||
environmentalContactPhone: undefined, |
|
||||||
registrationNumber: undefined, |
|
||||||
introduction: undefined, |
|
||||||
establishmentDate: undefined, |
|
||||||
gpsLocation: undefined, |
|
||||||
createBy: undefined, |
|
||||||
updateBy: undefined, |
|
||||||
managerDeptId: undefined, |
|
||||||
} |
|
||||||
formRef.value?.resetFields() |
|
||||||
} |
|
||||||
</script> |
|
@ -1,259 +0,0 @@ |
|||||||
<template> |
|
||||||
<ContentWrap> |
|
||||||
<!-- 搜索工作栏 --> |
|
||||||
<el-form |
|
||||||
class="-mb-15px" |
|
||||||
:model="queryParams" |
|
||||||
ref="queryFormRef" |
|
||||||
:inline="true" |
|
||||||
label-width="120px" |
|
||||||
style="height: 150px" |
|
||||||
> |
|
||||||
<el-form-item label="企业名称" prop="enterprisesName"> |
|
||||||
<el-input |
|
||||||
v-model="queryParams.enterprisesName" |
|
||||||
placeholder="请输入企业名称" |
|
||||||
clearables |
|
||||||
@keyup.enter="handleQuery" |
|
||||||
class="!w-240px" |
|
||||||
/> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="专管员" prop="userId"> |
|
||||||
<el-input |
|
||||||
v-model="queryParams.userId" |
|
||||||
placeholder="请输入专管员" |
|
||||||
clearable |
|
||||||
@keyup.enter="handleQuery" |
|
||||||
/> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="企业类型" prop="type"> |
|
||||||
<el-select |
|
||||||
v-model="queryParams.type" |
|
||||||
placeholder="请选择企业类型" |
|
||||||
clearable |
|
||||||
class="!w-240px" |
|
||||||
> |
|
||||||
<el-option label="请选择字典生成" value="" /> |
|
||||||
</el-select> |
|
||||||
</el-form-item> |
|
||||||
|
|
||||||
|
|
||||||
<el-form-item label="企业地址" prop="address"> |
|
||||||
<el-input |
|
||||||
v-model="queryParams.address" |
|
||||||
placeholder="请输入企业地址" |
|
||||||
clearable |
|
||||||
@keyup.enter="handleQuery" |
|
||||||
class="!w-240px" |
|
||||||
/> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="环保负责人姓名" prop="contactName"> |
|
||||||
<el-input |
|
||||||
v-model="queryParams.contactName" |
|
||||||
placeholder="请输入环保负责人姓名" |
|
||||||
clearable |
|
||||||
@keyup.enter="handleQuery" |
|
||||||
class="!w-240px" |
|
||||||
/> |
|
||||||
</el-form-item> |
|
||||||
<el-form-item label="负责人联系电话" prop="environmentalContactPhone"> |
|
||||||
<el-input |
|
||||||
v-model="queryParams.environmentalContactPhone" |
|
||||||
placeholder="请输入企业环保负责人联系电话" |
|
||||||
clearable |
|
||||||
@keyup.enter="handleQuery" |
|
||||||
class="!w-240px" |
|
||||||
/> |
|
||||||
</el-form-item> |
|
||||||
|
|
||||||
|
|
||||||
<el-form-item label="企业成立时间" prop="establishmentDate"> |
|
||||||
<el-date-picker |
|
||||||
v-model="queryParams.establishmentDate" |
|
||||||
value-format="YYYY-MM-DD HH:mm:ss" |
|
||||||
type="daterange" |
|
||||||
start-placeholder="开始日期" |
|
||||||
end-placeholder="结束日期" |
|
||||||
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]" |
|
||||||
class="!w-220px" |
|
||||||
/> |
|
||||||
</el-form-item> |
|
||||||
|
|
||||||
|
|
||||||
<el-form-item> |
|
||||||
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> |
|
||||||
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> |
|
||||||
<el-button |
|
||||||
type="primary" |
|
||||||
plain |
|
||||||
@click="openForm('create')" |
|
||||||
> |
|
||||||
<Icon icon="ep:plus" class="mr-5px" /> 新增 |
|
||||||
</el-button> |
|
||||||
<el-button |
|
||||||
type="success" |
|
||||||
plain |
|
||||||
@click="handleExport" |
|
||||||
:loading="exportLoading" |
|
||||||
> |
|
||||||
<Icon icon="ep:download" class="mr-5px" /> 导出 |
|
||||||
</el-button> |
|
||||||
</el-form-item> |
|
||||||
</el-form> |
|
||||||
</ContentWrap> |
|
||||||
|
|
||||||
<!-- 列表 --> |
|
||||||
<ContentWrap> |
|
||||||
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true"> |
|
||||||
<el-table-column label="企业名称" fixed="left" width="180px" align="center" prop="enterprisesName" /> |
|
||||||
<el-table-column label="企业地址" align="center" width="130px" prop="address" /> |
|
||||||
<el-table-column label="环保负责人姓名" align="center" width="130px" prop="contactName" /> |
|
||||||
<el-table-column label="企业环保负责人联系电话" align="center" width="130px" prop="environmentalContactPhone" /> |
|
||||||
<el-table-column label="企业注册号" align="center" width="130px" prop="registrationNumber" /> |
|
||||||
<el-table-column label="企业图文介绍" align="center" width="130px" prop="introduction" /> |
|
||||||
<el-table-column label="企业成立时间" align="center" width="130px" prop="establishmentDate" /> |
|
||||||
<el-table-column label="企业经纬度" align="center" width="130px" prop="gpsLocation" /> |
|
||||||
<el-table-column label="创建人" align="center" prop="createBy" /> |
|
||||||
|
|
||||||
<el-table-column |
|
||||||
label="创建时间" |
|
||||||
align="center" |
|
||||||
prop="createTime" |
|
||||||
:formatter="dateFormatter" |
|
||||||
width="180px" |
|
||||||
/> |
|
||||||
<el-table-column label="修改人" align="center" prop="updateBy" /> |
|
||||||
<el-table-column label="管理部门" align="center" prop="managerDeptId" /> |
|
||||||
<el-table-column label="操作" align="center" min-width="120px"> |
|
||||||
<template #default="scope"> |
|
||||||
<el-button |
|
||||||
link |
|
||||||
type="primary" |
|
||||||
@click="openForm('update', scope.row.id)" |
|
||||||
> |
|
||||||
编辑 |
|
||||||
</el-button> |
|
||||||
<el-button |
|
||||||
link |
|
||||||
type="danger" |
|
||||||
@click="handleDelete(scope.row.id)" |
|
||||||
> |
|
||||||
删除 |
|
||||||
</el-button> |
|
||||||
</template> |
|
||||||
</el-table-column> |
|
||||||
</el-table> |
|
||||||
<!-- 分页 --> |
|
||||||
<Pagination |
|
||||||
:total="total" |
|
||||||
v-model:page="queryParams.pageNo" |
|
||||||
v-model:limit="queryParams.pageSize" |
|
||||||
@pagination="getList" |
|
||||||
/> |
|
||||||
</ContentWrap> |
|
||||||
|
|
||||||
<!-- 表单弹窗:添加/修改 --> |
|
||||||
<EnterpriseForm ref="formRef" @success="getList" /> |
|
||||||
</template> |
|
||||||
|
|
||||||
<script setup lang="ts"> |
|
||||||
import { dateFormatter } from '@/utils/formatTime' |
|
||||||
import download from '@/utils/download' |
|
||||||
import { EnterpriseApi, EnterpriseVO } from '@/api/enterprise' |
|
||||||
import EnterpriseForm from './EnterpriseForm.vue' |
|
||||||
|
|
||||||
/** 企业 列表 */ |
|
||||||
defineOptions({ name: 'Enterprise' }) |
|
||||||
|
|
||||||
const message = useMessage() // 消息弹窗 |
|
||||||
const { t } = useI18n() // 国际化 |
|
||||||
|
|
||||||
const loading = ref(true) // 列表的加载中 |
|
||||||
const list = ref<EnterpriseVO[]>([]) // 列表的数据 |
|
||||||
const total = ref(0) // 列表的总页数 |
|
||||||
const queryParams = reactive({ |
|
||||||
pageNo: 1, |
|
||||||
pageSize: 10, |
|
||||||
departmentId: undefined, |
|
||||||
userId: undefined, |
|
||||||
type: undefined, |
|
||||||
region: undefined, |
|
||||||
enterprisesName: undefined, |
|
||||||
address: undefined, |
|
||||||
contactName: undefined, |
|
||||||
environmentalContactPhone: undefined, |
|
||||||
registrationNumber: undefined, |
|
||||||
introduction: undefined, |
|
||||||
establishmentDate: [], |
|
||||||
gpsLocation: undefined, |
|
||||||
createBy: undefined, |
|
||||||
createTime: [], |
|
||||||
updateBy: undefined, |
|
||||||
managerDeptId: undefined, |
|
||||||
}) |
|
||||||
const queryFormRef = ref() // 搜索的表单 |
|
||||||
const exportLoading = ref(false) // 导出的加载中 |
|
||||||
|
|
||||||
/** 查询列表 */ |
|
||||||
const getList = async () => { |
|
||||||
loading.value = true |
|
||||||
try { |
|
||||||
const data = await EnterpriseApi.getEnterprisePage(queryParams) |
|
||||||
list.value = data.list |
|
||||||
total.value = data.total |
|
||||||
} finally { |
|
||||||
loading.value = false |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/** 搜索按钮操作 */ |
|
||||||
const handleQuery = () => { |
|
||||||
queryParams.pageNo = 1 |
|
||||||
getList() |
|
||||||
} |
|
||||||
|
|
||||||
/** 重置按钮操作 */ |
|
||||||
const resetQuery = () => { |
|
||||||
queryFormRef.value.resetFields() |
|
||||||
handleQuery() |
|
||||||
} |
|
||||||
|
|
||||||
/** 添加/修改操作 */ |
|
||||||
const formRef = ref() |
|
||||||
const openForm = (type: string, id?: number) => { |
|
||||||
formRef.value.open(type, id) |
|
||||||
} |
|
||||||
|
|
||||||
/** 删除按钮操作 */ |
|
||||||
const handleDelete = async (id: number) => { |
|
||||||
try { |
|
||||||
// 删除的二次确认 |
|
||||||
await message.delConfirm() |
|
||||||
// 发起删除 |
|
||||||
await EnterpriseApi.deleteEnterprise(id) |
|
||||||
message.success(t('common.delSuccess')) |
|
||||||
// 刷新列表 |
|
||||||
await getList() |
|
||||||
} catch {} |
|
||||||
} |
|
||||||
|
|
||||||
/** 导出按钮操作 */ |
|
||||||
const handleExport = async () => { |
|
||||||
try { |
|
||||||
// 导出的二次确认 |
|
||||||
await message.exportConfirm() |
|
||||||
// 发起导出 |
|
||||||
exportLoading.value = true |
|
||||||
const data = await EnterpriseApi.exportEnterprise(queryParams) |
|
||||||
download.excel(data, '企业.xls') |
|
||||||
} catch { |
|
||||||
} finally { |
|
||||||
exportLoading.value = false |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/** 初始化 **/ |
|
||||||
onMounted(() => { |
|
||||||
getList() |
|
||||||
}) |
|
||||||
</script> |
|
@ -0,0 +1,9 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
<module type="WEB_MODULE" version="4"> |
||||||
|
<component name="NewModuleRootManager" inherit-compiler-output="true"> |
||||||
|
<exclude-output /> |
||||||
|
<content url="file://$MODULE_DIR$" /> |
||||||
|
<orderEntry type="inheritedJdk" /> |
||||||
|
<orderEntry type="sourceFolder" forTests="false" /> |
||||||
|
</component> |
||||||
|
</module> |
Loading…
Reference in new issue