You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
228 lines
6.2 KiB
228 lines
6.2 KiB
<!-- 维修养护管理页 -->
|
|
<template>
|
|
<div class="patrol-manage-page">
|
|
<div class="top-title">维修养护管理</div>
|
|
<div class="table-box">
|
|
<div class="top-search">
|
|
<span class="">堤防名称:</span>
|
|
<el-input
|
|
class="search-input"
|
|
v-model="searchDikeName"
|
|
placeholder="请输入堤防名称"
|
|
/>
|
|
<span>管理单位:</span>
|
|
<el-input
|
|
class="search-input"
|
|
v-model="engineeringManagementUnit"
|
|
placeholder="请输入"
|
|
/>
|
|
<!-- <span>行政主管部门:</span>
|
|
<el-select v-model="waterAdministrativeDepartment" placeholder="请选择">
|
|
<el-option :label="'全部'" :value="''"> </el-option>
|
|
<el-option
|
|
v-for="item in waterAdministrativeDepartmentList"
|
|
:key="item.dictValue"
|
|
:label="item.dictLabel"
|
|
:value="item.dictValue"
|
|
>
|
|
</el-option>
|
|
</el-select> -->
|
|
<el-button class="!ml-10" type="success" @click="getTableData()"
|
|
>搜索</el-button
|
|
>
|
|
<el-button @click="resetSearch()">重置</el-button>
|
|
</div>
|
|
<el-table class="mt-16" height="625" :data="tableData" border>
|
|
<el-table-column type="index" align="center" label="序号" width="80" />
|
|
<el-table-column prop="dikeName" align="center" label="堤防名称" />
|
|
<el-table-column prop="dikeCode" align="center" label="堤防代码" />
|
|
<el-table-column
|
|
prop="engineeringManagementUnit"
|
|
align="center"
|
|
label="管理单位"
|
|
/>
|
|
<el-table-column
|
|
prop="waterAdministrativeDepartment"
|
|
align="center"
|
|
label="行政主管部门"
|
|
>
|
|
<template #default="scope">{{
|
|
getDictLabel(scope.row.waterAdministrativeDepartment)
|
|
}}</template>
|
|
</el-table-column>
|
|
<el-table-column prop="lastTime" align="center" label="最近维养时间" />
|
|
<el-table-column prop="operate" align="center" label="操作">
|
|
<template slot-scope="scope">
|
|
<el-button
|
|
style="margin-right: 16px"
|
|
@click="handleGoPlan(scope.row)"
|
|
type="text"
|
|
size="small"
|
|
v-hasPermi="['df:run:main:plan:view']"
|
|
>维养计划管理</el-button
|
|
>
|
|
<el-button
|
|
@click="handleGoRecord(scope.row)"
|
|
type="text"
|
|
size="small"
|
|
v-hasPermi="['df:run:main:record:view']"
|
|
>维修养护记录</el-button
|
|
>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
<el-pagination
|
|
background
|
|
class="pagination"
|
|
style="margin-top: 16px; margin-right: 16px; float: right"
|
|
:current-page="pageData.pageNum"
|
|
:page-sizes="pageData.pageSizes"
|
|
layout="total, prev, pager, next, sizes, jumper"
|
|
:total="pageData.total"
|
|
@current-change="(e) => handleCurrentPageChange(e)"
|
|
@size-change="(e) => handlePageSizeChange(e)"
|
|
>
|
|
</el-pagination>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
<script>
|
|
import { getDikeYhProjectList } from "@/api/dike";
|
|
|
|
export default {
|
|
data() {
|
|
return {
|
|
dialogVisible: false,
|
|
queryDateArr: [],
|
|
waterAdministrativeDepartmentList: [],
|
|
manageUnitList: [
|
|
{
|
|
label: "全部",
|
|
value: "",
|
|
},
|
|
], // 管理单位列表
|
|
pageData: {
|
|
pageNum: 1,
|
|
pageSize: 10,
|
|
total: 0,
|
|
},
|
|
searchDikeName: "",
|
|
engineeringManagementUnit: "",
|
|
waterAdministrativeDepartment: "",
|
|
dikeTypeList: [
|
|
{
|
|
label: "全部",
|
|
value: "",
|
|
},
|
|
], // 堤防类型列表
|
|
tableData: [],
|
|
};
|
|
},
|
|
created() {
|
|
this.getDicts("embankment_type").then((response) => {
|
|
this.dikeTypeList = response.data;
|
|
});
|
|
this.getDicts("water_administrative_department").then((response) => {
|
|
this.waterAdministrativeDepartmentList = response.data;
|
|
});
|
|
},
|
|
mounted() {
|
|
this.getTableData();
|
|
},
|
|
methods: {
|
|
handleCurrentPageChange(page) {
|
|
this.pageData.pageNum = page;
|
|
this.getTableData();
|
|
},
|
|
handlePageSizeChange(pageSize) {
|
|
this.pageData.pageSize = pageSize;
|
|
this.getTableData();
|
|
},
|
|
// 获取列表信息
|
|
getTableData() {
|
|
getDikeYhProjectList({
|
|
pageNum: this.pageData.pageNum,
|
|
pageSize: this.pageData.pageSize,
|
|
data: {
|
|
dikeName: this.searchDikeName || null,
|
|
engineeringManagementUnit: this.engineeringManagementUnit || null,
|
|
waterAdministrativeDepartment:
|
|
this.waterAdministrativeDepartment || null,
|
|
},
|
|
}).then((res) => {
|
|
if (res) {
|
|
this.tableData = res.records;
|
|
this.pageData.total = res.total;
|
|
}
|
|
});
|
|
},
|
|
// 重置搜索条件
|
|
resetSearch() {
|
|
this.searchDikeName = "";
|
|
this.engineeringManagementUnit = "";
|
|
this.waterAdministrativeDepartment = "";
|
|
this.getTableData();
|
|
},
|
|
handleGoPlan(row) {
|
|
this.$router.push({
|
|
path: "maintenancePlan", //
|
|
query: {
|
|
dikeCode: row.dikeCode,
|
|
dikeName: row.dikeName,
|
|
},
|
|
});
|
|
},
|
|
handleGoRecord(row) {
|
|
this.$router.push({
|
|
path: "maintenanceRecords",
|
|
query: {
|
|
dikeCode: row.dikeCode,
|
|
dikeName: row.dikeName,
|
|
},
|
|
});
|
|
},
|
|
getDictLabel(val) {
|
|
return (
|
|
this.waterAdministrativeDepartmentList?.find((v) => v.dictValue === val)
|
|
?.dictLabel || val
|
|
);
|
|
},
|
|
},
|
|
};
|
|
</script>
|
|
<style scoped lang="scss">
|
|
.patrol-manage-page {
|
|
width: 100%;
|
|
min-height: calc(100vh - 56px);
|
|
padding-left: 24px;
|
|
.top-title {
|
|
height: 40px;
|
|
background-color: white;
|
|
display: flex;
|
|
padding-left: 16px;
|
|
align-items: center;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.table-box {
|
|
width: 100%;
|
|
min-height: calc(100vh - 56px - 64px);
|
|
margin-top: 24px;
|
|
padding: 16px;
|
|
background-color: white;
|
|
|
|
.top-search {
|
|
margin-bottom: 8px;
|
|
|
|
.search-input {
|
|
width: 202px;
|
|
margin-right: 10px;
|
|
}
|
|
}
|
|
|
|
.table {
|
|
height: calc(680px - 34px);
|
|
}
|
|
}
|
|
}
|
|
</style>
|
|
|