zxh vor 3 Jahren
Ursprung
Commit
2f9e2ff8ff

+ 48 - 1
src/views/spectrum/reform/api/api.ts

@@ -33,4 +33,51 @@ export function editorPartition(data) {
         method: 'put',
         data
     })
-}
+}
+
+// 缺陷定位,分页查询
+export function getFlawLocation(params) {
+    return request({
+        url: '/survey/flawLocation/page',
+        method: 'get',
+        params
+    })
+}
+
+
+// 按管网评估情况统计
+export function getReportCondision(params) {
+    return request({
+        url: '/survey/hiddenDangerAnalyse/getReportCondision',
+        method: 'get',
+        params
+    })
+}
+
+// 隐患统计信息
+export function getHiddenDangerCount(params) {
+    return request({
+        url: '/survey/hiddenDangerAnalyse/hiddenDangerCount',
+        method: 'get',
+        params
+    })
+}
+
+// 分页查询
+export function getHiddenDangerAnalyse(params) {
+    return request({
+        url: '/survey/hiddenDangerAnalyse/page',
+        method: 'get',
+        params
+    })
+}
+
+
+// 分页查询
+export function getWarningPage(params) {
+    return request({
+        url: '/survey/hiddenDangerAnalyse/warningPage',
+        method: 'get',
+        params
+    })
+}

+ 38 - 0
src/views/spectrum/reform/defectLocation/defectPopup/index.vue

@@ -0,0 +1,38 @@
+<template>
+  <MapPopup ref="MapPopup" :id="id" :mapContainerId="'cesiumContainer'">
+    <div class="dd">123</div>
+  </MapPopup>
+</template>
+
+<script lang="ts">
+import MapPopup from '@/components/ComPopup/index.vue'
+import { Vue, Component, Prop, Watch } from 'vue-property-decorator'
+//属性查看
+@Component({ name: 'serachInfo', components: { MapPopup } })
+export default class serachInfo extends Vue {
+  position: Array<any> = []
+  id='hhh'
+  mounted() {
+    this.initInfoPop(this.position)
+  }
+
+  initInfoPop(position) {
+    ;(this.$refs['MapPopup'] as any).initBox()
+    ;(this.$refs['MapPopup'] as any).setPosition(position)
+  }
+
+  remove() {
+    ;(this.$refs['MapPopup'] as any).remove()
+  }
+}
+</script>
+
+<style lang='scss' scoped>
+.dd{
+    width: 200px;
+    height: 200px;
+    background-color: #f40;
+    z-index: 99999;
+    position: absolute;
+}
+</style>

+ 81 - 21
src/views/spectrum/reform/defectLocation/widget.vue

@@ -7,26 +7,26 @@
           <el-input v-model="form.name" placeholder="支持搜索管段编号" clearable></el-input>
         </el-form-item>
         <el-form-item label="缺陷类型">
-          <el-select v-model="model" placeholder="请选择" style="width:150px">
+          <el-select v-model="form.model" placeholder="请选择" style="width:150px">
             <el-option v-for="item in []" :key="item.value" :label="item.label" :value="item.value">
             </el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="缺陷等级">
-          <el-select v-model="model" placeholder="请选择" style="width:150px">
+          <el-select v-model="form.model" placeholder="请选择" style="width:150px">
             <el-option v-for="item in []" :key="item.value" :label="item.label" :value="item.value">
             </el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="管径" label-width="40px">
-          <el-select v-model="model" placeholder="请选择" style="width:100px">
+          <el-select v-model="form.model" placeholder="请选择" style="width:120px">
             <el-option v-for="item in []" :key="item.value" :label="item.label" :value="item.value">
             </el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="排水类型">
-          <el-checkbox v-model="form.checked1">雨水</el-checkbox>
-          <el-checkbox v-model="form.checked2">污水</el-checkbox>
+          <el-checkbox v-model="form.drainageTypes" label="雨水">雨水</el-checkbox>
+          <el-checkbox v-model="form.drainageTypes" label="污水">污水</el-checkbox>
         </el-form-item>
         <el-form-item label="管道级别" style="margin-left:30px;">
           <el-checkbox v-model="form.checked3">主管道</el-checkbox>
@@ -40,46 +40,103 @@
     </div>
     <!-- 表格 -->
     <div class="content-body">
-      <el-table :data="tableData" stripe height="100%" ref="dTable" @row-dbclick="rowDbclick" :header-cell-style="{background:'#eaf1fd',color:'rgb(50,59,65)',height:'39px',textAlign:'center'}">
+      <el-table :data="tableData" stripe height="100%" ref="dTable" :header-cell-style="{background:'#eaf1fd',color:'rgb(50,59,65)',height:'39px',textAlign:'center'}" @cell-dblclick="rowdbClick">
         <template slot="empty">
           <img src="@/assets/icon/null.png" alt />
         </template>
-        <el-table-column prop="date" label="序号" align="center">
+        <el-table-column prop="date" label="序号" align="center" width="50">
           <template slot-scope="scope">{{scope.$index+1}}</template>
         </el-table-column>
-        <el-table-column prop="name" label="管道编号" align="center"></el-table-column>
-        <el-table-column prop="name" label="所在道路" align="center"></el-table-column>
-        <el-table-column prop="name" label="排水类型" align="center"></el-table-column>
-        <el-table-column prop="name" label="管道级别" align="center"></el-table-column>
-        <el-table-column prop="name" label="管径(mm)" align="center"></el-table-column>
-        <el-table-column prop="name" label="材质" align="center"></el-table-column>
-        <el-table-column prop="name" label="长度(m)" align="center"></el-table-column>
-        <el-table-column prop="name" label="健康等级" align="center"></el-table-column>
-        <el-table-column prop="name" label="管网破损" align="center"></el-table-column>
-        <el-table-column prop="name" label="地下水入侵" align="center"></el-table-column>
-        <el-table-column prop="name" label="污水直排" align="center"></el-table-column>
-        <el-table-column prop="name" label="雨污混接" align="center"></el-table-column>
+        <el-table-column prop="pipeNo" label="管道编号" align="center" width="200" show-overflow-tooltip></el-table-column>
+        <el-table-column prop="roadName" label="所在道路" align="center" show-overflow-tooltip></el-table-column>
+        <el-table-column prop="drainageType" label="排水类型" align="center" show-overflow-tooltip></el-table-column>
+        <el-table-column prop="pipelineLevel" label="管道级别" align="center" show-overflow-tooltip></el-table-column>
+        <el-table-column prop="pipeDiameter" label="管径(mm)" align="center" show-overflow-tooltip></el-table-column>
+        <el-table-column prop="texture" label="材质" align="center" show-overflow-tooltip></el-table-column>
+        <el-table-column prop="length" label="长度(m)" align="center" show-overflow-tooltip></el-table-column>
+        <el-table-column prop="healthLever" label="健康等级" align="center" show-overflow-tooltip></el-table-column>
+        <el-table-column prop="networkBroken" label="管网破损" align="center" show-overflow-tooltip>
+          <template slot-scope="{row}">
+            {{row.networkBroken || '/'}}
+          </template>
+        </el-table-column>
+        <el-table-column prop="groundwaterIntrusion" label="地下水入侵" align="center" show-overflow-tooltip>
+          <template slot-scope="{row}">
+            {{row.groundwaterIntrusion || '/'}}
+          </template>
+        </el-table-column>
+        <el-table-column prop="sewageStraightLine" label="污水直排" align="center" show-overflow-tooltip>
+          <template slot-scope="{row}">
+            {{row.sewageStraightLine || '/'}}
+          </template>
+        </el-table-column>
+        <el-table-column prop="rainSewageHybrid" label="雨污混接" align="center" show-overflow-tooltip>
+          <template slot-scope="{row}">
+            {{row.rainSewageHybrid || '/'}}
+          </template>
+        </el-table-column>
       </el-table>
     </div>
     <!-- 分页 -->
     <div class="content-footer">
-      <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="pagination.current" :page-sizes="[10, 25, 50, 100]" :page-size="pagination.size" layout="total, sizes, prev, pager, next, jumper" :total="pagination.total"></el-pagination>
+      <el-pagination :current-page="pagination.current" :page-sizes="[20, 50, 100]" :page-size="pagination.size" layout="total, sizes, prev, pager, next, jumper" :total="pagination.total"></el-pagination>
     </div>
   </div>
 </template>
 
 <script>
+import Vue from 'vue'
+import { getFlawLocation } from '../api/api'
+import defectPopup from './defectPopup/index.vue'
 export default {
   data() {
     return {
       form: {},
       tableData: [],
-      pagination: { current: 1, size: 100, total: 0 },
+      pagination: { current: 1, size: 20, total: 0 },
       dialogVisible: false,
       handler: null,
       polygonDraw: null,
       opType: 1
     }
+  },
+  mounted() {
+    this.getPages()
+  },
+  methods: {
+    getPages() {
+      let params = JSON.parse(JSON.stringify(this.pagination))
+      let p = {
+        // pipeNo:'YYS',
+        // flawType:'管网破损',
+        // flawLevel:'2级',
+        // pipeDiameter:300,
+        // drainageTypes:'污水',
+        // drainageTypes:'雨水',
+        // pipelineLevels:'排水管'
+      }
+      Object.assign(params, p)
+      getFlawLocation(params).then((res) => {
+        if (res.code == 1) {
+          this.tableData = res.result.records
+          this.pagination.total = parseInt(res.result.total)
+        }
+      })
+    },
+    /**
+     * 行双击事件
+     */
+    rowdbClick(row) {
+      console.log('iiii',row);
+      const defectPopup2 = Vue.extend(defectPopup)
+      let searinfoModule = new defectPopup2({
+        data: {
+          id: 'gu',
+          position:Cesium.Cartesian3.fromDegrees(row.longitude, row.latitude)
+        },
+        store: this.$store
+      }).$mount()
+    }
   }
 }
 </script>
@@ -97,6 +154,9 @@ export default {
         margin-bottom: 0 !important;
       }
     }
+    >>> .el-checkbox {
+      margin-right: 10px !important;
+    }
   }
   .content-body {
     width: 100%;

+ 94 - 67
src/views/spectrum/reform/sewageDirect/widget.vue

@@ -17,7 +17,7 @@
         <div class="chart-box" style="padding:0 20px 0 10px;">
           <div style="width:100%;height:100%;background-color:#f9f9f9;overflow:hidden;padding:10px">
             <p style="margin:10px 0;color:#2d74e7;margin-top:50px">污水直排:</p>
-            <p style="margin:10px 0;color:#3f3f3f">雨水管网共布设4个监测点位,其中2个监测点位发现污水直排隐患</p>
+            <p style="margin:10px 0;color:#3f3f3f">雨水管网共布设{{allCount}}个监测点位,其中{{wsCount}}个监测点位发现污水直排隐患</p>
           </div>
         </div>
         <div class="chart-box" style="padding-left:20px" ref="chart1"></div>
@@ -80,18 +80,18 @@
           <el-table-column label="序号" align="center">
             <template slot-scope="scope">{{scope.$index+1}}</template>
           </el-table-column>
-          <el-table-column prop="address1" label="监测日期" align="center"></el-table-column>
-          <el-table-column prop="address2" label="监测点" align="center"></el-table-column>
-          <el-table-column prop="address3" label="日降雨量" align="center"></el-table-column>
-          <el-table-column prop="address4" label="告警原因" align="center"></el-table-column>
-          <el-table-column prop="address5" label="监测曲线" align="center">
+          <el-table-column prop="monitorDate" label="监测日期" align="center"></el-table-column>
+          <el-table-column prop="siteName" label="监测点" align="center"></el-table-column>
+          <el-table-column prop="dailyRainfall" label="日降雨量" align="center"></el-table-column>
+          <el-table-column prop="warningCause" label="告警原因" align="center"></el-table-column>
+          <el-table-column label="监测曲线" align="center">
             <template slot-scope="{row}">
               <el-button type="text" style="padding:0" @click="viewCurve(row)">查看</el-button>
             </template>
           </el-table-column>
         </el-table>
         <div class="pagination" style="padding-top:10px">
-          <el-pagination :current-page="1" :page-sizes="[100, 200, 300, 400]" :page-size="100" layout="total, sizes, prev, pager, next, jumper" :total="400">
+          <el-pagination :current-page="pagination.current" :page-sizes="[100, 200, 300, 400]" :page-size="pagination.size" layout="total, sizes, prev, pager, next, jumper" :total="pagination.total">
           </el-pagination>
         </div>
       </div>
@@ -104,6 +104,8 @@ import miniMap from '@/views/widgets/miniMap/index.vue'
 import moniterSee from '@/views/spectrum/reform/monitorSee/index.vue'
 import thematicMap from '@/views/widgets/thematicMap/index.vue'
 import * as echarts from 'echarts'
+
+import { getReportCondision, getHiddenDangerCount, getWarningPage } from '@/views/spectrum/reform/api/api'
 export default {
   components: {
     miniMap,
@@ -118,77 +120,102 @@ export default {
       tableData2: [],
       tableData3: [],
       activeName: 'first',
-      moniterVisible: false
+      moniterVisible: false,
+      allCount: 0,
+      wsCount: 0,
+      pagination: { current: 1, size: 100, total: 0 }
     }
   },
   mounted() {
-    for (let index = 0; index < 10; index++) {
-      this.tableData1.push({
-        name1: '管网水质检测仪',
-        name2: '青羊区6号',
-        name3: '青年之南',
-        name4: '污水W01',
-        name5: '2022-6-18',
-        name6: '2022-6-19',
-        name7: '10个 1593km'
-      })
-      this.tableData2.push({
-        address1: '立即处理',
-        address2: '雨水',
-        address3: '主干管网',
-        address4: '2563km',
-        address5: '5563km',
-        address6: '63km'
-      })
-      this.tableData3.push({
-        address1: '2022-3-12',
-        address2: '青羊区6号',
-        address3: '0.418mm',
-        address4: '警告原因内容'
-      })
-    }
+    // for (let index = 0; index < 10; index++) {
+    //   this.tableData1.push({
+    //     name1: '管网水质检测仪',
+    //     name2: '青羊区6号',
+    //     name3: '青年之南',
+    //     name4: '污水W01',
+    //     name5: '2022-6-18',
+    //     name6: '2022-6-19',
+    //     name7: '10个 1593km'
+    //   })
+    //   this.tableData2.push({
+    //     address1: '立即处理',
+    //     address2: '雨水',
+    //     address3: '主干管网',
+    //     address4: '2563km',
+    //     address5: '5563km',
+    //     address6: '63km'
+    //   })
+    //   this.tableData3.push({
+    //     address1: '2022-3-12',
+    //     address2: '青羊区6号',
+    //     address3: '0.418mm',
+    //     address4: '警告原因内容'
+    //   })
+    // }
+    this.getHiddenDangerCount()
+    this.getWarningPage()
     this.loadChart()
   },
   methods: {
+    /**
+     * 按管网评估情况统计
+     */
     loadChart() {
-      // let chartDom = document.getElementById('chart1')
       let chartDom = this.$refs.chart1
       let myChart = echarts.init(chartDom)
-      let option = {
-        tooltip: {
-          trigger: 'item'
-        },
-        // legend: {
-        //   orient: 'vertical',
-        //   left: 'left'
-        // },
-        color: ['#15d0ea', '#f6b638'],
-        series: [
-          {
-            name: 'Access From',
-            type: 'pie',
-            radius: '80%',
-            data: [
-              { value: 1048, name: 'Search Engine' },
-              { value: 735, name: 'Direct' }
-            ],
-            label: {
-              formatter: '{b}\n{d}%',
-              fontSize: 14,
-              fontWeight: 500
-            },
-            emphasis: {
-              itemStyle: {
-                shadowBlur: 10,
-                shadowOffsetX: 0,
-                shadowColor: 'rgba(0, 0, 0, 0.5)'
+      getReportCondision().then((res) => {
+        let result = res.result
+        let option = {
+          tooltip: {
+            trigger: 'item'
+          },
+          color: ['#15d0ea', '#f6b638'],
+          series: [
+            {
+              name: '管网评估情况',
+              type: 'pie',
+              radius: '80%',
+              data: result,
+              label: {
+                formatter: '{b}\n{d}%',
+                fontSize: 14,
+                fontWeight: 500
+              },
+              emphasis: {
+                itemStyle: {
+                  shadowBlur: 10,
+                  shadowOffsetX: 0,
+                  shadowColor: 'rgba(0, 0, 0, 0.5)'
+                }
               }
             }
-          }
-        ]
-      }
-      myChart.clear()
-      option && myChart.setOption(option)
+          ]
+        }
+        myChart.clear()
+        option && myChart.setOption(option)
+      })
+    },
+    /**
+     * 隐患统计信息
+     */
+    getHiddenDangerCount() {
+      getHiddenDangerCount({ hiddenDangerType: 3 }).then((res) => {
+        this.allCount = res.result.allCount
+        this.wsCount = res.result.wsCount
+      })
+    },
+    /**
+     *监测点告警情况分页查询
+     */
+    getWarningPage() {
+      let params = JSON.parse(JSON.stringify(this.pagination))
+      getWarningPage(params).then((res) => {
+        if (res.code == 1) {
+          console.log('res', res)
+          this.tableData3 = res.result.records
+          this.pagination.total = res.result.total
+        }
+      })
     },
     viewCurve(row = null) {
       this.moniterVisible = true