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

<!-- 维修养护管理页 -->
<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>