Browse Source

fix: 提交代码

sy-water-data-board-ui
panyuyi 1 month ago
parent
commit
a744c3b2f0
  1. 143
      src/views/dike/runManage/patrolMaintenance/overviewAnalysis/index.vue
  2. 4
      src/views/dike/runManage/patrolMaintenance/patrolItemsManage/index.vue
  3. 231
      src/views/dike/runManage/patrolMaintenance/statisticsAnalysis/index.vue

143
src/views/dike/runManage/patrolMaintenance/overviewAnalysis/index.vue

@ -30,6 +30,50 @@
>
<el-button @click="resetSearch()">重置</el-button>
</div>
<div class="content-box">
<div class="sum-box-list">
<div class="list-item">
<div class="item-title">巡查工程总数()</div>
<div class="item-value">
{{ projectSum == null ? "-" : projectSum }}
</div>
</div>
<div class="list-item">
<div class="item-title">巡查记录总数()</div>
<div class="item-value">
{{ xcRecordsSum == null ? "-" : xcRecordsSum }}
</div>
</div>
<div class="list-item">
<div class="item-title">巡查缺陷总数()</div>
<div class="item-value">
{{ flawSum == null ? "-" : flawSum }}
</div>
</div>
<div class="list-item">
<div class="item-title">缺陷养护总数()</div>
<div class="item-value">
{{ yhSum == null ? "-" : yhSum }}
</div>
</div>
</div>
<div class="echarts-box-list">
<div class="title">工程分布</div>
<div class="echarts-box" ref="proEchart"></div>
</div>
<div class="echarts-box-list">
<div class="title">巡查分析</div>
<div class="echarts-box" ref="patrolEchart"></div>
</div>
<div class="echarts-box-list">
<div class="title">缺陷和养护对比</div>
<div class="echarts-box" ref="compareEchart"></div>
</div>
</div>
</div>
</div>
</template>
@ -37,12 +81,18 @@
import TopBackTitle from "@/components/TopBackTitle/index.vue";
import { cascaderLazyLoad } from "@/utils/elUtils";
import { getV2PatrolStatisticChart } from "@/api/dike";
export default {
components: {
TopBackTitle,
},
data() {
return {
projectSum: null,
xcRecordsSum: null,
flawSum: null,
yhSum: null,
paramsData: {
timeRange: [],
adcd: [],
@ -58,6 +108,21 @@ export default {
},
created() {},
methods: {
getTableData() {
getV2PatrolStatisticChart({
startTime: this.paramsData.timeRange[0]
? this.paramsData[0] + " 00:00:00"
: null,
endTime: this.paramsData.timeRange[1]
? this.paramsData[1] + " 23:59:59"
: null,
adcd: this.paramsData.adcd.join(","),
}).then((res) => {
if (res.data) {
//
}
});
},
handleSearch() {},
resetSearch() {
this.paramsData.timeRange = [];
@ -68,5 +133,83 @@ export default {
</script>
<style scoped lang="scss">
.overview-analysis-page {
.slider-right-body {
padding: 0;
.top-search {
padding: 24px;
border-bottom: 1px solid #ccc;
}
.content-box {
padding: 24px;
.sum-box-list {
display: flex;
.list-item {
width: 25%;
height: 102px;
border: 1px solid #36b29e;
border-radius: 10px;
position: relative;
padding: 16px 24px;
margin-right: 16px;
margin-bottom: 12px;
background: linear-gradient(
180deg,
#eafffc 0%,
rgba(222, 255, 250, 0) 100%
),
#ffffff;
overflow: hidden;
&::after {
position: absolute;
content: "";
background: url("../../../../../assets/image/icon-attr-bg.png")
no-repeat center center;
width: 64px;
height: 64px;
right: -12px;
bottom: -12px;
}
.item-title {
font-size: 14px;
}
.item-value {
margin-top: 12px;
font-size: 32px;
color: #36b29e;
font-weight: 500;
}
}
}
.echarts-box-list {
.title {
padding-left: 10px;
font-size: 14px;
font-weight: 500;
margin-top: 12px;
margin-bottom: 12px;
position: relative;
&::before {
content: " ";
width: 4px;
height: 4px;
background: #36b29e;
position: absolute;
left: 1px;
top: 50%;
margin-top: -2px;
transform: rotate(45deg);
}
}
.echarts-box {
width: 100%;
height: 224px;
border: 1px solid #f0f0f0;
}
}
}
}
}
</style>

4
src/views/dike/runManage/patrolMaintenance/patrolItemsManage/index.vue

@ -104,7 +104,7 @@ export default {
//
handleGetInvoices(row) {
this.$router.push({
path: "/",
path: "inspectionRecordDetails",
query: {
id: row.id,
},
@ -172,7 +172,7 @@ export default {
class="search-btn"
style="float: right"
type="success"
v-hasPermi="['df:run:checking:item:add']"
v-hasPermi="['df:run:patrol:checking:item:add']"
@click="handleAddItem"
>添加</el-button
>

231
src/views/dike/runManage/patrolMaintenance/statisticsAnalysis/index.vue

@ -0,0 +1,231 @@
<template>
<div class="overview-analysis-page slider-right">
<TopBackTitle :showBackBtn="false"></TopBackTitle>
<div class="slider-right-body">
<div class="top-search">
<span class="ml-10">巡查周期</span>
<el-date-picker
v-model="paramsData.timeRange"
type="daterange"
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
value-format="yyyy-MM-dd"
></el-date-picker>
<span class="ml-10">工程</span>
<el-select
:disabled="!canEdit"
class="w-240"
size="small"
remote
filterable
reserve-keyword
:remote-method="handleGetRemoteDikeMethod"
@focus="handleGetRemoteDikeMethod('')"
@change="handleChangeDike"
v-model="paramsData.dikeCode"
placeholder="请选择堤防"
>
<el-option
v-for="item in dikeList"
:key="item.id"
:label="item.dikeName"
:value="item.dikeCode"
></el-option>
</el-select>
<el-button
class="search-btn !ml-16"
type="success"
@click="handleSearch()"
>查询</el-button
>
<el-button @click="resetSearch()">重置</el-button>
</div>
<div class="content-box">
<div class="sum-box-list">
<div class="list-item">
<div class="item-title">巡查项目总数()</div>
<div class="item-value">
{{ proSum == null ? "-" : proSum }}
</div>
</div>
<div class="list-item">
<div class="item-title">巡查记录总数()</div>
<div class="item-value">
{{ proSum == null ? "-" : proSum }}
</div>
</div>
<div class="list-item">
<div class="item-title">巡查缺陷总数()</div>
<div class="item-value">
{{ proSum == null ? "-" : proSum }}
</div>
</div>
<div class="list-item">
<div class="item-title">缺陷养护总数()</div>
<div class="item-value">
{{ proSum == null ? "-" : proSum }}
</div>
</div>
</div>
<div class="echarts-box-list">
<div class="title">巡查记录分析</div>
<div class="flex">
<div class="echarts-box echarts-box-left" ref="proEchartLeft"></div>
<div
class="echarts-box echarts-box-left"
ref="proEchartRight"
></div>
</div>
</div>
<div class="echarts-box-list">
<div class="title">巡查分析</div>
<div class="echarts-box" ref="patrolEchart"></div>
</div>
<div class="echarts-box-list">
<div class="title">缺陷和养护对比</div>
<div class="echarts-box" ref="compareEchart"></div>
</div>
</div>
</div>
</div>
</template>
<script>
import TopBackTitle from "@/components/TopBackTitle/index.vue";
import { cascaderLazyLoad } from "@/utils/elUtils";
import { getV2PatrolStatisticChart, getRunProjectList } from "@/api/dike";
export default {
components: {
TopBackTitle,
},
data() {
return {
dikeList: [],
paramsData: {
timeRange: [],
adcd: [],
},
areasOptionProps: {
emitPath: false,
checkStrictly: true, //
expandTrigger: "hover",
lazy: true,
lazyLoad: cascaderLazyLoad,
},
};
},
created() {},
methods: {
handleGetRemoteDikeMethod(query) {
getRunProjectList({
pageSize: 10,
pageNum: 1,
data: {
dikeName: query,
},
}).then((res) => {
if (res) {
this.dikeList = res.records;
}
});
},
getTableData() {
getV2PatrolStatisticChart().then((res) => {});
},
handleSearch() {},
resetSearch() {
this.paramsData.timeRange = [];
this.paramsData.adcd = [];
},
},
};
</script>
<style scoped lang="scss">
.overview-analysis-page {
.slider-right-body {
padding: 0;
.top-search {
padding: 24px;
border-bottom: 1px solid #ccc;
}
.content-box {
padding: 24px;
.sum-box-list {
display: flex;
.list-item {
width: 25%;
height: 102px;
border: 1px solid #36b29e;
border-radius: 10px;
position: relative;
padding: 16px 24px;
margin-right: 16px;
margin-bottom: 12px;
background: linear-gradient(
180deg,
#eafffc 0%,
rgba(222, 255, 250, 0) 100%
),
#ffffff;
overflow: hidden;
&::after {
position: absolute;
content: "";
background: url("../../../../../assets/image/icon-attr-bg.png")
no-repeat center center;
width: 64px;
height: 64px;
right: -12px;
bottom: -12px;
}
.item-title {
font-size: 14px;
}
.item-value {
margin-top: 12px;
font-size: 32px;
color: #36b29e;
font-weight: 500;
}
}
}
.echarts-box-list {
.title {
padding-left: 10px;
font-size: 14px;
font-weight: 500;
margin-top: 12px;
margin-bottom: 12px;
position: relative;
&::before {
content: " ";
width: 4px;
height: 4px;
background: #36b29e;
position: absolute;
left: 1px;
top: 50%;
margin-top: -2px;
transform: rotate(45deg);
}
}
.echarts-box {
width: 100%;
height: 224px;
border: 1px solid #f0f0f0;
}
}
}
}
}
</style>
Loading…
Cancel
Save