|
@@ -1,237 +1,263 @@
|
|
|
<template>
|
|
<template>
|
|
|
<div class="safety-platform-container">
|
|
<div class="safety-platform-container">
|
|
|
<header class="safety-platform-container__header">
|
|
<header class="safety-platform-container__header">
|
|
|
- <div class="breadcrumb-title"> 特种设备设施管理 </div>
|
|
|
|
|
|
|
+ <div class="breadcrumb-title">特种设备设施管理</div>
|
|
|
</header>
|
|
</header>
|
|
|
<main class="safety-platform-container__main">
|
|
<main class="safety-platform-container__main">
|
|
|
- <div class="search-form">
|
|
|
|
|
- <el-form :inline="true">
|
|
|
|
|
- <el-form-item label="搜索">
|
|
|
|
|
- <el-input
|
|
|
|
|
- v-model="queryParams.queryParam.mergeFiled"
|
|
|
|
|
- placeholder="搜索楼号/楼宇/楼层/房间"
|
|
|
|
|
- style="width: 170px"
|
|
|
|
|
- />
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item label="状态">
|
|
|
|
|
- <el-select v-model="queryParams.queryParam.status" clearable placeholder="状态" style="width: 170px">
|
|
|
|
|
- <el-option :value="1" label="正常" />
|
|
|
|
|
- <el-option :value="2" label="待确认" />
|
|
|
|
|
- </el-select>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item label="部门名称">
|
|
|
|
|
- <el-cascader
|
|
|
|
|
- v-model="queryParams.queryParam.responsibleDepartmentId"
|
|
|
|
|
- style="width: 170px"
|
|
|
|
|
- ref="cascaderRef"
|
|
|
|
|
- :options="firstLevelDepts"
|
|
|
|
|
- :props="cascaderProp"
|
|
|
|
|
- :show-all-levels="false"
|
|
|
|
|
- placeholder="部门名称"
|
|
|
|
|
- filterable
|
|
|
|
|
- @change="handleChangeDept"
|
|
|
|
|
- />
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item label="风险类型">
|
|
|
|
|
- <el-select
|
|
|
|
|
- v-model="queryParams.queryParam.riskCategory"
|
|
|
|
|
- clearable
|
|
|
|
|
- placeholder="风险类型"
|
|
|
|
|
- style="width: 170px"
|
|
|
|
|
|
|
+ <div class="search-table-container">
|
|
|
|
|
+ <header>
|
|
|
|
|
+ <div style="position: relative">
|
|
|
|
|
+ <el-button
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ class="search-table-container--button"
|
|
|
|
|
+ @click="$router.push({ name: 'specialEquipmentManageAdd' })"
|
|
|
>
|
|
>
|
|
|
- <el-option :value="1" label="III级危险点" />
|
|
|
|
|
- <el-option :value="2" label="II级危险点" />
|
|
|
|
|
- <el-option :value="3" label="I级危险点" />
|
|
|
|
|
- <el-option :value="4" label="UPS" />
|
|
|
|
|
- <el-option :value="5" label="电力设施(强电)" />
|
|
|
|
|
- <el-option :value="6" label="高低温气体液体、高压气体" />
|
|
|
|
|
- <el-option :value="7" label="试验设施设备" />
|
|
|
|
|
- <el-option :value="8" label="特种设备" />
|
|
|
|
|
- <el-option :value="9" label="危化品、易燃易爆固液气体" />
|
|
|
|
|
- <el-option :value="10" label="有限空间" />
|
|
|
|
|
- </el-select>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- <el-form-item label="风险级别">
|
|
|
|
|
- <el-select v-model="queryParams.queryParam.riskLevel" clearable placeholder="风险类型" style="width: 170px">
|
|
|
|
|
- <el-option :value="1" label="B" />
|
|
|
|
|
- <el-option :value="2" label="C" />
|
|
|
|
|
- </el-select>
|
|
|
|
|
- </el-form-item>
|
|
|
|
|
- </el-form>
|
|
|
|
|
|
|
+ 添加
|
|
|
|
|
+ </el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
|
|
|
- <div>
|
|
|
|
|
- <el-button type="primary" @click="$router.push({ name: 'riskManageAdd' })">添加 </el-button>
|
|
|
|
|
- <el-button type="primary" @click="queryTableList">查询</el-button>
|
|
|
|
|
- <el-button @click="handleRestParams">重置</el-button>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <div class="act-search">
|
|
|
|
|
+ <section class="select-box">
|
|
|
|
|
+ <div class="select-box--item">
|
|
|
|
|
+ <span>设备名称:</span>
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ v-model="queryParams.queryParam.deviceName"
|
|
|
|
|
+ placeholder="请输入设备名称"
|
|
|
|
|
+ class="act-search-input"
|
|
|
|
|
+ clearable
|
|
|
|
|
+ />
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="select-box--item">
|
|
|
|
|
+ <span>状态:</span>
|
|
|
|
|
+ <el-select
|
|
|
|
|
+ v-model="queryParams.queryParam.deviceStatus"
|
|
|
|
|
+ placeholder="请选择状态"
|
|
|
|
|
+ clearable
|
|
|
|
|
+ class="act-search-input"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-option label="在用" :value="1" />
|
|
|
|
|
+ <el-option label="停用" :value="2" />
|
|
|
|
|
+ <el-option label="报废" :value="3" />
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="select-box--item">
|
|
|
|
|
+ <span>是否使用部门:</span>
|
|
|
|
|
+ <el-select
|
|
|
|
|
+ v-model="queryParams.queryParam.isUseDepartment"
|
|
|
|
|
+ placeholder="是否使用部门"
|
|
|
|
|
+ clearable
|
|
|
|
|
+ class="act-search-input"
|
|
|
|
|
+ >
|
|
|
|
|
+ <el-option label="是" :value="1" />
|
|
|
|
|
+ <el-option label="否" :value="0" />
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="select-box--item">
|
|
|
|
|
+ <span>责任部门:</span>
|
|
|
|
|
+ <el-cascader
|
|
|
|
|
+ v-model="responsibilityDeptPath"
|
|
|
|
|
+ :options="deptOptions"
|
|
|
|
|
+ :props="deptCascaderProps"
|
|
|
|
|
+ :show-all-levels="false"
|
|
|
|
|
+ placeholder="请选择责任部门"
|
|
|
|
|
+ class="act-search-input"
|
|
|
|
|
+ filterable
|
|
|
|
|
+ clearable
|
|
|
|
|
+ @change="handleDeptChange"
|
|
|
|
|
+ />
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div class="select-box--item">
|
|
|
|
|
+ <span>使用单位:</span>
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ v-model="queryParams.queryParam.useUnit"
|
|
|
|
|
+ placeholder="请输入使用单位"
|
|
|
|
|
+ class="act-search-input"
|
|
|
|
|
+ clearable
|
|
|
|
|
+ />
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </section>
|
|
|
|
|
+ <section class="search-btn">
|
|
|
|
|
+ <el-button type="primary" @click="queryTableList">查询</el-button>
|
|
|
|
|
+ <el-button @click="handleRestParams">重置</el-button>
|
|
|
|
|
+ </section>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </header>
|
|
|
|
|
|
|
|
- <div class="table-content">
|
|
|
|
|
- <el-table :data="tableData.data">
|
|
|
|
|
- <el-table-column type="index" label="序号" width="80" />
|
|
|
|
|
- <el-table-column label="楼号/区域" prop="buildingArea" width="180" />
|
|
|
|
|
- <el-table-column label="楼宇名称" prop="buildingName" width="180" />
|
|
|
|
|
- <el-table-column label="楼层/位置" prop="floorLocation" width="180" />
|
|
|
|
|
- <el-table-column label="房间号(名称)" prop="roomName" width="180" />
|
|
|
|
|
- <el-table-column label="安全责任人" prop="roomSafetyResponsibleName" width="180" />
|
|
|
|
|
- <el-table-column label="是否存在风险点" prop="hasRiskPointName" width="180" />
|
|
|
|
|
- <el-table-column label="风险点类别" prop="riskCategoryName" width="180" />
|
|
|
|
|
- <el-table-column label="变更原因" prop="changeReason" width="170" />
|
|
|
|
|
- <el-table-column label="状态" prop="statusName" width="100" />
|
|
|
|
|
- <el-table-column fixed="right" min-width="240" label="操作">
|
|
|
|
|
- <template #default="scope">
|
|
|
|
|
- <el-button
|
|
|
|
|
- type="primary"
|
|
|
|
|
- link
|
|
|
|
|
- @click="$router.push({ name: 'riskManageEdit', query: { id: scope.row.id } })"
|
|
|
|
|
- >编辑</el-button
|
|
|
|
|
- >
|
|
|
|
|
- <el-button type="primary" link @click="handleConfirmDeleteRow(scope)">删除</el-button>
|
|
|
|
|
- <el-button type="primary" link>查看</el-button>
|
|
|
|
|
- <el-button
|
|
|
|
|
- type="primary"
|
|
|
|
|
- link
|
|
|
|
|
- @click="$router.push({ name: 'riskManageChange', query: { id: scope.row.id } })"
|
|
|
|
|
- >变更</el-button
|
|
|
|
|
- >
|
|
|
|
|
- <el-button type="primary" link @click="handleApprove(scope, 1)">确认</el-button>
|
|
|
|
|
- <el-button type="primary" link @click="handleApprove(scope, 0)">拒绝</el-button>
|
|
|
|
|
- <el-button type="primary" link @click="handleApprove(scope, 0)">撤回</el-button>
|
|
|
|
|
|
|
+ <div class="batch-table">
|
|
|
|
|
+ <BasicTable
|
|
|
|
|
+ ref="basicTableRef"
|
|
|
|
|
+ :tableData="tableData"
|
|
|
|
|
+ :tableConfig="tableConfig"
|
|
|
|
|
+ @update:pageSize="handleSizeChange"
|
|
|
|
|
+ @update:pageNumber="handleCurrentChange"
|
|
|
|
|
+ >
|
|
|
|
|
+ <template #deviceStatus="scope">
|
|
|
|
|
+ <span>
|
|
|
|
|
+ {{ getStatusText(scope.row.deviceStatus, scope.row.deviceStatusName) }}
|
|
|
|
|
+ </span>
|
|
|
</template>
|
|
</template>
|
|
|
- </el-table-column>
|
|
|
|
|
- </el-table>
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="pagination-container" v-if="tableData.total > 0">
|
|
|
|
|
- <el-pagination
|
|
|
|
|
- background
|
|
|
|
|
- :current-page="queryParams.pageNumber"
|
|
|
|
|
- :page-size="queryParams.pageSize"
|
|
|
|
|
- :total="tableData.total"
|
|
|
|
|
- @size-change="handleSizeChange"
|
|
|
|
|
- @current-change="handleCurrentChange"
|
|
|
|
|
- />
|
|
|
|
|
|
|
+ <template #action="scope">
|
|
|
|
|
+ <div class="action-container--div" style="justify-content: left">
|
|
|
|
|
+ <ActionButton
|
|
|
|
|
+ text="查看"
|
|
|
|
|
+ @click="$router.push({ name: 'specialEquipmentManageView', query: { id: scope.row.id } })"
|
|
|
|
|
+ />
|
|
|
|
|
+ <ActionButton
|
|
|
|
|
+ text="编辑"
|
|
|
|
|
+ @click="$router.push({ name: 'specialEquipmentManageEdit', query: { id: scope.row.id } })"
|
|
|
|
|
+ />
|
|
|
|
|
+ <ActionButton
|
|
|
|
|
+ text="删除"
|
|
|
|
|
+ :popconfirm="{ title: '确定要删除该特种设备设施吗?' }"
|
|
|
|
|
+ @confirm="handleDelete(scope.row)"
|
|
|
|
|
+ />
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </BasicTable>
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
</main>
|
|
</main>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
+
|
|
|
<script lang="ts" setup>
|
|
<script lang="ts" setup>
|
|
|
import { onMounted, reactive, ref } from 'vue';
|
|
import { onMounted, reactive, ref } from 'vue';
|
|
|
- import dayjs from 'dayjs';
|
|
|
|
|
import { ElMessage } from 'element-plus';
|
|
import { ElMessage } from 'element-plus';
|
|
|
- import { useRouter } from 'vue-router';
|
|
|
|
|
|
|
+ import type { QueryPageRequest } from '@/types/basic-query';
|
|
|
import {
|
|
import {
|
|
|
- safetyRiskListQueryPage,
|
|
|
|
|
- safetyRiskListDelete,
|
|
|
|
|
- safetyRiskListApprove,
|
|
|
|
|
- } from '@/api/production-safety/responsibility-implementation';
|
|
|
|
|
- import { omit } from 'lodash-es';
|
|
|
|
|
- import { useUserInfoHook } from '@/hooks/useUserInfoHook';
|
|
|
|
|
- import { unformatAttachment } from '@/components/UploadFiles/utils';
|
|
|
|
|
- import { downloadFile } from '@/views/disaster/utils';
|
|
|
|
|
- import { formatDeptTree } from '@/views/disaster/utils/formatDeptTree';
|
|
|
|
|
|
|
+ querySpecialEquipmentPage,
|
|
|
|
|
+ deleteSpecialEquipment,
|
|
|
|
|
+ type SpecialEquipment,
|
|
|
|
|
+ type SpecialEquipmentQueryParam,
|
|
|
|
|
+ } from '@/api/production-safety/special-equipment';
|
|
|
import { getAllDepartments } from '@/api/auth/dept';
|
|
import { getAllDepartments } from '@/api/auth/dept';
|
|
|
|
|
+ import { formatDeptTree } from '@/views/disaster/utils/formatDeptTree';
|
|
|
|
|
+ import BasicTable from '@/components/BasicTable.vue';
|
|
|
|
|
+ import useTableConfig from '@/hooks/useTableConfigHook';
|
|
|
|
|
+ import ActionButton from '@/components/ActionButton.vue';
|
|
|
|
|
+ import { TABLE_OPTIONS, SPECIAL_EQUIPMENT_TABLE_COLUMNS } from './configs/tables';
|
|
|
|
|
|
|
|
- const router = useRouter();
|
|
|
|
|
- const { id } = useUserInfoHook();
|
|
|
|
|
- const firstLevelDepts = ref<any[]>([]);
|
|
|
|
|
- const cascaderProp = {
|
|
|
|
|
- expandTrigger: 'click',
|
|
|
|
|
- checkStrictly: true,
|
|
|
|
|
- // emitPath: false,
|
|
|
|
|
- value: 'id',
|
|
|
|
|
- label: 'deptName',
|
|
|
|
|
- };
|
|
|
|
|
- const queryParams = reactive<any>({
|
|
|
|
|
|
|
+ const loading = ref(false);
|
|
|
|
|
+
|
|
|
|
|
+ // BasicTable
|
|
|
|
|
+ const basicTableRef = ref<InstanceType<typeof BasicTable>>();
|
|
|
|
|
+ const { tableConfig, pagination } = useTableConfig(SPECIAL_EQUIPMENT_TABLE_COLUMNS, TABLE_OPTIONS);
|
|
|
|
|
+
|
|
|
|
|
+ const queryParams = reactive<QueryPageRequest<SpecialEquipmentQueryParam>>({
|
|
|
pageNumber: 1,
|
|
pageNumber: 1,
|
|
|
pageSize: 10,
|
|
pageSize: 10,
|
|
|
queryParam: {
|
|
queryParam: {
|
|
|
- mergeFiled: '',
|
|
|
|
|
- status: '',
|
|
|
|
|
- responsibleDepartment: '',
|
|
|
|
|
- riskCategory: '',
|
|
|
|
|
- riskLevel: '',
|
|
|
|
|
- userId: id,
|
|
|
|
|
- responsibleDepartmentId: [],
|
|
|
|
|
|
|
+ deviceName: '',
|
|
|
|
|
+ deviceStatus: undefined,
|
|
|
|
|
+ categoryId: undefined,
|
|
|
|
|
+ typeId: undefined,
|
|
|
|
|
+ isUseDepartment: undefined,
|
|
|
|
|
+ responsibilityDeptId: undefined,
|
|
|
|
|
+ useUnit: '',
|
|
|
},
|
|
},
|
|
|
});
|
|
});
|
|
|
- const cascaderRef = ref();
|
|
|
|
|
|
|
|
|
|
- const tableData = reactive({
|
|
|
|
|
- data: [],
|
|
|
|
|
- total: 0,
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ // 类别/种类名称(目前接口只支持按 ID 查,这里仅作为显示搜索占位)
|
|
|
|
|
+ const categoryName = ref('');
|
|
|
|
|
+ const typeName = ref('');
|
|
|
|
|
+
|
|
|
|
|
+ // 部门树(queryAllDeptTree 样式)
|
|
|
|
|
+ const deptOptions = ref<any[]>([]);
|
|
|
|
|
+ const responsibilityDeptPath = ref<number[]>([]);
|
|
|
|
|
+ const deptCascaderProps = {
|
|
|
|
|
+ expandTrigger: 'click',
|
|
|
|
|
+ checkStrictly: true,
|
|
|
|
|
+ value: 'id',
|
|
|
|
|
+ label: 'deptName',
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ const tableData = ref<SpecialEquipment[]>([]);
|
|
|
|
|
|
|
|
- const handleSizeChange = (value) => {};
|
|
|
|
|
- const handleCurrentChange = (value) => {
|
|
|
|
|
|
|
+ const handleSizeChange = (value: number) => {
|
|
|
|
|
+ pagination.pageSize = value;
|
|
|
|
|
+ queryParams.pageSize = value;
|
|
|
|
|
+ queryParams.pageNumber = 1;
|
|
|
|
|
+ queryTableList();
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ const handleCurrentChange = (value: number) => {
|
|
|
|
|
+ pagination.pageNumber = value;
|
|
|
queryParams.pageNumber = value;
|
|
queryParams.pageNumber = value;
|
|
|
queryTableList();
|
|
queryTableList();
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
- const getDeptData = () => {
|
|
|
|
|
- getAllDepartments().then((res) => {
|
|
|
|
|
- firstLevelDepts.value = formatDeptTree(res);
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ const getStatusText = (status?: number, statusName?: string) => {
|
|
|
|
|
+ if (statusName) return statusName;
|
|
|
|
|
+ if (status === 1) return '在用';
|
|
|
|
|
+ if (status === 2) return '停用';
|
|
|
|
|
+ if (status === 3) return '报废';
|
|
|
|
|
+ return '-';
|
|
|
};
|
|
};
|
|
|
- const handleChangeDept = () => {
|
|
|
|
|
- const deptInfo = cascaderRef.value?.getCheckedNodes();
|
|
|
|
|
- if (deptInfo?.[0]) {
|
|
|
|
|
- queryParams.queryParam.responsibleDepartment = deptInfo[0].label;
|
|
|
|
|
|
|
+
|
|
|
|
|
+ const loadDeptTree = async () => {
|
|
|
|
|
+ try {
|
|
|
|
|
+ const res = await getAllDepartments();
|
|
|
|
|
+ deptOptions.value = formatDeptTree(res);
|
|
|
|
|
+ } catch (e) {
|
|
|
|
|
+ console.error('获取部门树失败:', e);
|
|
|
|
|
+ deptOptions.value = [];
|
|
|
}
|
|
}
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
- const handleApprove = (scope, approveType) => {
|
|
|
|
|
- safetyRiskListApprove({
|
|
|
|
|
- id: scope.row.id,
|
|
|
|
|
- approveType,
|
|
|
|
|
- }).then(() => {
|
|
|
|
|
- ElMessage.success('操作成功!');
|
|
|
|
|
- queryTableList();
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ const handleDeptChange = (val: number[]) => {
|
|
|
|
|
+ if (Array.isArray(val) && val.length) {
|
|
|
|
|
+ queryParams.queryParam.responsibilityDeptId = val[val.length - 1];
|
|
|
|
|
+ } else {
|
|
|
|
|
+ queryParams.queryParam.responsibilityDeptId = undefined;
|
|
|
|
|
+ }
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
- const handleDownloadLink = (scope) => {
|
|
|
|
|
- const attachment = unformatAttachment(scope.row.attachment);
|
|
|
|
|
- attachment?.forEach((item: any) => {
|
|
|
|
|
- downloadFile(item.fileUrl, item.fileName);
|
|
|
|
|
- });
|
|
|
|
|
- };
|
|
|
|
|
- const handleConfirmDeleteRow = (scope) => {
|
|
|
|
|
- safetyRiskListDelete(scope.row.id).then(() => {
|
|
|
|
|
- ElMessage.success('删除成功!');
|
|
|
|
|
- queryTableList();
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ const queryTableList = () => {
|
|
|
|
|
+ loading.value = true;
|
|
|
|
|
+ tableConfig.loading = true;
|
|
|
|
|
+ querySpecialEquipmentPage(queryParams)
|
|
|
|
|
+ .then((res: any) => {
|
|
|
|
|
+ tableData.value = (res?.records ?? res?.list ?? []) as SpecialEquipment[];
|
|
|
|
|
+ pagination.total = res?.totalRow ?? res?.total ?? 0;
|
|
|
|
|
+ })
|
|
|
|
|
+ .finally(() => {
|
|
|
|
|
+ loading.value = false;
|
|
|
|
|
+ tableConfig.loading = false;
|
|
|
|
|
+ });
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
- const queryTableList = () => {
|
|
|
|
|
- safetyRiskListQueryPage({
|
|
|
|
|
- ...queryParams,
|
|
|
|
|
- queryParam: {
|
|
|
|
|
- ...omit(queryParams.queryParam, 'responsibleDepartmentId'),
|
|
|
|
|
- },
|
|
|
|
|
- }).then((res) => {
|
|
|
|
|
- tableData.data = res.records;
|
|
|
|
|
- tableData.total = res.totalRow;
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ const handleDelete = (row: SpecialEquipment) => {
|
|
|
|
|
+ if (!row.id) return;
|
|
|
|
|
+ deleteSpecialEquipment(row.id!)
|
|
|
|
|
+ .then(() => {
|
|
|
|
|
+ ElMessage.success('删除成功');
|
|
|
|
|
+ queryTableList();
|
|
|
|
|
+ })
|
|
|
|
|
+ .catch(() => {});
|
|
|
};
|
|
};
|
|
|
|
|
+
|
|
|
const handleRestParams = () => {
|
|
const handleRestParams = () => {
|
|
|
- Object.assign(queryParams, {
|
|
|
|
|
- pageNumber: 1,
|
|
|
|
|
- pageSize: 10,
|
|
|
|
|
- queryParam: {
|
|
|
|
|
- ...queryParams.queryParam,
|
|
|
|
|
- mergeFiled: '',
|
|
|
|
|
- status: '',
|
|
|
|
|
- responsibleDepartment: '',
|
|
|
|
|
- riskCategory: '',
|
|
|
|
|
- riskLevel: '',
|
|
|
|
|
- responsibleDepartmentId: [],
|
|
|
|
|
- },
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ pagination.pageNumber = 1;
|
|
|
|
|
+ pagination.pageSize = 10;
|
|
|
|
|
+ queryParams.pageNumber = 1;
|
|
|
|
|
+ queryParams.pageSize = 10;
|
|
|
|
|
+ queryParams.queryParam = {
|
|
|
|
|
+ deviceName: '',
|
|
|
|
|
+ deviceStatus: undefined,
|
|
|
|
|
+ categoryId: undefined,
|
|
|
|
|
+ typeId: undefined,
|
|
|
|
|
+ isUseDepartment: undefined,
|
|
|
|
|
+ responsibilityDeptId: undefined,
|
|
|
|
|
+ useUnit: '',
|
|
|
|
|
+ };
|
|
|
|
|
+ categoryName.value = '';
|
|
|
|
|
+ typeName.value = '';
|
|
|
|
|
+ responsibilityDeptPath.value = [];
|
|
|
queryTableList();
|
|
queryTableList();
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
- onMounted(async () => {
|
|
|
|
|
- await getDeptData();
|
|
|
|
|
|
|
+ onMounted(() => {
|
|
|
|
|
+ loadDeptTree();
|
|
|
queryTableList();
|
|
queryTableList();
|
|
|
});
|
|
});
|
|
|
</script>
|
|
</script>
|
|
@@ -240,52 +266,5 @@
|
|
|
@use '@/styles/page-details-layout.scss' as *;
|
|
@use '@/styles/page-details-layout.scss' as *;
|
|
|
@use '@/styles/page-main-layout.scss' as *;
|
|
@use '@/styles/page-main-layout.scss' as *;
|
|
|
@use '@/styles/basic-table-action.scss' as *;
|
|
@use '@/styles/basic-table-action.scss' as *;
|
|
|
-
|
|
|
|
|
- :deep(.el-tabs__header) {
|
|
|
|
|
- margin: 0;
|
|
|
|
|
- }
|
|
|
|
|
- :deep(.el-tabs__item) {
|
|
|
|
|
- font-size: 14px !important;
|
|
|
|
|
- }
|
|
|
|
|
- :deep(.flexContent) {
|
|
|
|
|
- display: flex;
|
|
|
|
|
- }
|
|
|
|
|
- :deep(.breadcrumb .title) {
|
|
|
|
|
- margin-left: 0;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- :deep(.el-form) {
|
|
|
|
|
- flex: 1;
|
|
|
|
|
- display: flex;
|
|
|
|
|
- row-gap: 15px;
|
|
|
|
|
- flex-wrap: wrap;
|
|
|
|
|
- }
|
|
|
|
|
- :deep(.el-form-item) {
|
|
|
|
|
- margin-bottom: 0;
|
|
|
|
|
- }
|
|
|
|
|
- :deep(main) {
|
|
|
|
|
- display: flex;
|
|
|
|
|
- flex-direction: column;
|
|
|
|
|
- }
|
|
|
|
|
- .search-form {
|
|
|
|
|
- min-width: 800px;
|
|
|
|
|
- display: flex;
|
|
|
|
|
-
|
|
|
|
|
- justify-content: space-between;
|
|
|
|
|
- align-items: center;
|
|
|
|
|
- margin-bottom: 20px;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- .button-content {
|
|
|
|
|
- margin-bottom: 20px;
|
|
|
|
|
- }
|
|
|
|
|
- .table-content {
|
|
|
|
|
- flex: 1;
|
|
|
|
|
- overflow: hidden;
|
|
|
|
|
- overflow-y: auto;
|
|
|
|
|
- }
|
|
|
|
|
- .page-content {
|
|
|
|
|
- display: flex;
|
|
|
|
|
- justify-content: flex-end;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ @use '@/views/traffic/violation/style/act-search-table.scss' as *;
|
|
|
</style>
|
|
</style>
|