| | |
| | | <template> |
| | | <div class="sewers-analysis-tab"> |
| | | <!-- <transition name="el-fade-in-linear">--> |
| | | <!-- <el-card>--> |
| | | <!--<transition name="el-fade-in-linear">--> |
| | | <!--<el-card>--> |
| | | <el-tabs v-model="activeName" type="border-card" @tab-click="handleClick"> |
| | | <el-tab-pane label="连通性" name="first"> |
| | | <el-button type="primary" @click="linkClickStart" size="mini" style="margin-bottom: 5px;" |
| | |
| | | <!-- <el-card shadow="hover">--> |
| | | <span class="fixed-style">起始管段</span> |
| | | <el-table |
| | | class="tableBox" |
| | | :data="tableDataLinkStart" |
| | | max-height="200" |
| | | max-height="100" |
| | | @row-click="linkSelectStart" |
| | | style="width: 100%" size="mini"> |
| | | <el-table-column |
| | |
| | | </el-table-column> |
| | | <el-table-column |
| | | class-name="fixed-table" |
| | | fixed="right" |
| | | label="操作" |
| | | > |
| | | <template slot-scope="scope"> |
| | |
| | | </el-table> |
| | | <span class="fixed-style">结束管段</span> |
| | | <el-table |
| | | class="tableBox" |
| | | height="100" |
| | | max-height="200" |
| | | highlight-current-row |
| | |
| | | </el-table-column> |
| | | <el-table-column |
| | | class-name="fixed-table" |
| | | fixed="right" |
| | | |
| | | label="操作" |
| | | > |
| | | <template slot-scope="scope"> |
| | |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <span class="fixed-style">分析结果:<span style="color: red;">{{ currentLinkIsTrue }}</span></span> |
| | | <span class="fixed-style">分析结果:<span style="color: red;margin-left: 15px">{{ currentLinkIsTrue }}</span></span> |
| | | <el-table |
| | | class="tableBox" |
| | | highlight-current-row |
| | | max-height="200" |
| | | :data="tableDataLinkResult" |
| | |
| | | style="width: 100%" size="mini"> |
| | | |
| | | <el-table-column |
| | | prop="lineloopna" |
| | | prop="material" |
| | | label="管线类型" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | :show-overflow-tooltip="true" |
| | | sortable |
| | | width="100" |
| | | prop="pipecode" |
| | |
| | | <el-table-column |
| | | sortable |
| | | width="100" |
| | | prop="startpoint" |
| | | prop="material" |
| | | label="起点编号" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | sortable |
| | | width="100" |
| | | prop="endpointnu" |
| | | prop="material" |
| | | label="终点编号" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | class-name="fixed-table" |
| | | fixed="right" |
| | | |
| | | label="操作" |
| | | > |
| | | <template slot-scope="scope"> |
| | |
| | | </el-table-column> |
| | | |
| | | </el-table> |
| | | <!-- </el-card>--> |
| | | <!-- </el-scrollbar>--> |
| | | <!--</el-card>--> |
| | | <!--</el-scrollbar>--> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="爆管" style=";color: #cccccc" name="second"> |
| | | <el-row> |
| | |
| | | <!-- <el-card shadow="hover">--> |
| | | <span class="fixed-style">发生爆裂的管段</span> |
| | | <el-table |
| | | max-height="200" |
| | | class="tableBox" |
| | | ref="singleTable" |
| | | highlight-current-row |
| | | :data="bgPipeLine" |
| | | style="width: 100%" size="mini"> |
| | | <el-table-column |
| | | :show-overflow-tooltip="true" |
| | | prop="pipecode" |
| | | label="管线类型" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | :show-overflow-tooltip="true" |
| | | sortable |
| | | width="100" |
| | | prop="pipecode" |
| | |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | :show-overflow-tooltip="true" |
| | | sortable |
| | | width="100" |
| | | prop="pipecode" |
| | |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | :show-overflow-tooltip="true" |
| | | sortable |
| | | width="100" |
| | | prop="pipecode" |
| | |
| | | </el-table-column> |
| | | <el-table-column |
| | | class-name="fixed-table" |
| | | fixed="right" |
| | | |
| | | label="操作" |
| | | > |
| | | <template slot-scope="scope"> |
| | |
| | | </el-table> |
| | | <span class="fixed-style">需要关闭的阀门</span> |
| | | <el-table |
| | | class="tableBox" |
| | | highlight-current-row |
| | | max-height="200" |
| | | :data="bgFm" |
| | | @row-click="bgFmClick" |
| | | style="width: 100%" size="mini"> |
| | | <el-table-column |
| | | :show-overflow-tooltip="true" |
| | | prop="lineloopna" |
| | | label="管线类型" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | sortable |
| | | :show-overflow-tooltip="true" |
| | | width="100" |
| | | prop="pipecode" |
| | | label="管线名称" |
| | |
| | | </el-table-column> |
| | | <el-table-column |
| | | sortable |
| | | :show-overflow-tooltip="true" |
| | | width="100" |
| | | prop="startpoint" |
| | | label="起点编号" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | :show-overflow-tooltip="true" |
| | | sortable |
| | | width="100" |
| | | prop="endpointnu" |
| | |
| | | |
| | | <el-table-column |
| | | class-name="fixed-table" |
| | | fixed="right" |
| | | |
| | | label="操作" |
| | | > |
| | | <template slot-scope="scope"> |
| | |
| | | 选择管段 |
| | | </el-button> |
| | | <el-table |
| | | max-height="200" |
| | | class="tableBox" |
| | | :data="tableDataLiuxiang" size="mini"> |
| | | <el-table-column |
| | | prop="lineloopna" |
| | | :show-overflow-tooltip="true" |
| | | prop="pipecode" |
| | | label="管线类型" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | :show-overflow-tooltip="true" |
| | | sortable |
| | | width="100" |
| | | prop="pipecode" |
| | |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | :show-overflow-tooltip="true" |
| | | sortable |
| | | width="100" |
| | | prop="startpoint" |
| | | prop="pipecode" |
| | | label="起点编号" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | :show-overflow-tooltip="true" |
| | | sortable |
| | | width="100" |
| | | prop="endpointnu" |
| | | prop="pipecode" |
| | | label="终点编号" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | class-name="fixed-table" |
| | | fixed="right" |
| | | label="操作" |
| | | width="100" |
| | | > |
| | |
| | | </el-table> |
| | | <span class="fixed-style">分析结果</span> |
| | | <el-table |
| | | class="tableBox" |
| | | highlight-current-row |
| | | max-height="200" |
| | | :data="lxTableDataResult" |
| | |
| | | style="width: 100%" size="mini"> |
| | | |
| | | <el-table-column |
| | | prop="lineloopna" |
| | | :show-overflow-tooltip="true" |
| | | prop="pipecode" |
| | | label="管线类型" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | :show-overflow-tooltip="true" |
| | | width="100" |
| | | sortable |
| | | prop="pipecode" |
| | |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | :show-overflow-tooltip="true" |
| | | sortable |
| | | width="100" |
| | | prop="startpoint" |
| | | prop="pipecode" |
| | | label="起点编号" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | :show-overflow-tooltip="true" |
| | | sortable |
| | | width="100" |
| | | prop="endpointnu" |
| | | prop="pipecode" |
| | | label="终点编号" |
| | | > |
| | | </el-table-column> |
| | | <el-table-column |
| | | class-name="fixed-table" |
| | | fixed="right" |
| | | label="操作" |
| | | > |
| | | <template slot-scope="scope"> |
| | |
| | | <span>管线查询结果</span> |
| | | </div> |
| | | <el-table |
| | | class="tableBox" |
| | | :data="tableData" |
| | | max-height="200" |
| | | style="width: 100%" @row-click="selectRow" size="mini"> |
| | | <el-table-column |
| | | prop="name" |
| | | prop="pipename" |
| | | label="管线名称" |
| | | width="180"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | prop="type" |
| | | prop="mediumtype" |
| | | label="管线类型" |
| | | width="180"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | class-name="fixed-table" |
| | | fixed="right" |
| | | |
| | | label="图表查看" |
| | | > |
| | | <template slot-scope="scope"> |
| | |
| | | </el-card> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | <!-- </el-card>--> |
| | | <!-- </transition>--> |
| | | <!--</el-card>--> |
| | | <!--</transition>--> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | this.clearLX() |
| | | this.linkClear() |
| | | this.jdmClear() |
| | | this.currentLinkIsTrue = '' |
| | | this.bgFm = [] |
| | | this.bgPipeLine = [] |
| | | this.tableData = [] |
| | |
| | | this.tableDataLinkStart = [] |
| | | this.tableDataLinkEnd = [] |
| | | this.tableDataLinkResult = [] |
| | | this.lxTableDataResult = [] |
| | | }, |
| | | |
| | | // 流向地图上点击 |
| | |
| | | this.bgPipeLine = res.data |
| | | } else if (this.activeName === 'third') { |
| | | this.tableDataLiuxiang = res.data |
| | | } else if (this.activeName === 'fourth') {} |
| | | } else if (this.activeName === 'fourth') { |
| | | } |
| | | // debugger |
| | | console.log(res.data) |
| | | }, |
| | | // 流向显示 的方法参数封 |
| | |
| | | const flowLine = window.L.polyline(param.points, param.option) |
| | | flowLine.addTo(window.map) |
| | | return flowLine |
| | | }, |
| | | createFlowMarker (point) { |
| | | return window.L.marker(point, { |
| | | icon: window.L.divIcon({ |
| | | className: 'dIcon', |
| | | html: '<div class="plane live">' + |
| | | // '<img src="'+require("../../assets/images/map/ship.png")+ |
| | | '<div style="position: absolute;' + |
| | | ' width: 20px;' + |
| | | ' height: 20px;' + |
| | | ' border-radius: 50%;' + |
| | | ' content: \'\'; background-color: #FF664A;"/>' + |
| | | '<span></span><span></span></div></>', |
| | | iconSize: [90, 36] |
| | | }) |
| | | }) |
| | | }, |
| | | |
| | | // 连通性 ===> 地图点击起始管段e |
| | |
| | | this.$message('请选择起始管段和结束管段') |
| | | return false |
| | | } |
| | | |
| | | // 请求数据时的参数 |
| | | const param = { |
| | | startLineID: this.currentSelectStart.id, |
| | | endLineID: this.currentSelectEnd.id |
| | | startLineID: this.currentSelectStart.pipesegcode, |
| | | endLineID: this.currentSelectEnd.pipesegcode |
| | | } |
| | | console.log(param) |
| | | // 请求接口和数据 |
| | | const res = await mapApi.findConnectedPipelines(param) |
| | | console.log(res) |
| | |
| | | }, |
| | | // 连通性 分析结果table列表数据选择点击事件 |
| | | linkResultSelect (e) { |
| | | // console.log('连通性分析结果列表点击') |
| | | // console.log(e) |
| | | console.log('连通性分析结果列表点击') |
| | | console.log(e) |
| | | |
| | | // const geom = JSON.parse(e.geomText) |
| | | // if (this.currentSelectResultLine != null) { |
| | | // this.currentSelectResultLine.remove() |
| | | // this.currentSelectResultLine = null |
| | | // } |
| | | // this.currentSelectResultLine = L.geoJSON(geom, { |
| | | // style: function (feature) { |
| | | // return { |
| | | // color: 'rgba(255,0,0,.6)', |
| | | // weight: 6 |
| | | // } |
| | | // } |
| | | // }).addTo(this.map) |
| | | // this.map.panInsideBounds(this.currentSelectResultLine.getBounds()) |
| | | const geom = JSON.parse(e.geomText) |
| | | if (this.currentSelectResultLine != null) { |
| | | this.currentSelectResultLine.remove() |
| | | this.currentSelectResultLine = null |
| | | } |
| | | this.currentSelectResultLine = window.L.geoJSON(geom, { |
| | | style: function (feature) { |
| | | return { |
| | | color: 'rgba(255,0,0,.6)', |
| | | weight: 6 |
| | | } |
| | | } |
| | | }).addTo(window.map) |
| | | window.map.panInsideBounds(this.currentSelectResultLine.getBounds()) |
| | | }, |
| | | // 连通性的清除功能 |
| | | linkClear () { |
| | |
| | | |
| | | // 数据请求参数 |
| | | const param = { |
| | | lineID: e.id |
| | | lineID: e.pipesegcode |
| | | } |
| | | const res = await mapApi.findLeakages(param) |
| | | console.log(res) |
| | |
| | | } |
| | | res.data.reverse() |
| | | this.bgFm = res.data |
| | | console.log(res.data) |
| | | |
| | | this.bgPoint = res.data[0].startControlPoint |
| | | |
| | |
| | | |
| | | const p = [point.coordinates[1], point.coordinates[0]] |
| | | |
| | | // this.bgMarker = main.createFlowMarker(p) |
| | | this.bgMarker = this.createFlowMarker(p) |
| | | this.bgMarker.bindTooltip(this.bgPoint.pointnumbe) |
| | | this.bgMarker.addTo(this.map) |
| | | this.map.flyTo(p) |
| | | this.bgMarker.addTo(window.map) |
| | | window.map.flyTo(p) |
| | | |
| | | const linkPipe = [] |
| | | res.data.forEach((itm, idx) => { |
| | |
| | | geom.coordinates.forEach((it, id) => { |
| | | points.push(it.reverse()) |
| | | }) |
| | | |
| | | linkPipe.push(points) |
| | | }) |
| | | |
| | |
| | | |
| | | // 流向分析结果table列表数据点击 |
| | | lxResultSelect (e) { |
| | | console.log('连通性分析结果列表点击') |
| | | console.log(e) |
| | | // console.log('连通性分析结果列表点击') |
| | | // console.log(e) |
| | | |
| | | const geom = JSON.parse(e.geomText) |
| | | if (this.currentSelectResultLine != null) { |
| | |
| | | }, |
| | | // 点击显示流向 table列表中的数据 => 进行官网流向的显示 |
| | | async lxQuery (e) { |
| | | // console.log(e) |
| | | console.log(e) |
| | | this.clearLinkPipe() |
| | | const param = { |
| | | // lineNodeID: e.startpoint |
| | | lineNodeID: e.gid |
| | | lineNodeID: e.startpointnumber |
| | | } |
| | | const res = await mapApi.findFlowDirection(param) |
| | | this.getres(res) |
| | | }, |
| | | // 点击显示流向 table列表中的数据 => 进行官网流向的显示 的数据处理方法 |
| | | getres (res) { |
| | | this.lxTableDataResult = res.data |
| | | const linkPipe = [] |
| | | res.data.forEach((itm, idx) => { |
| | |
| | | this.linkPipeline.push(line) |
| | | }) |
| | | }, |
| | | // 点击显示流向 table列表中的数据 => 进行官网流向的显示 的数据处理方法 |
| | | // getres (res) { |
| | | // |
| | | // }, |
| | | // 清除流向 |
| | | clearLX () { |
| | | if (this.flowPipeLine != null) { |
| | |
| | | // 已绘制线图 进行绘制横断面数据分析 |
| | | const res = await mapApi.getCrossSection(this.hdmParam) |
| | | console.log(res) |
| | | const dataPoint = res.data.point |
| | | console.log(dataPoint) |
| | | // this.tableData = dataPoint.pipelines.extraData |
| | | for (let i = 0; i < dataPoint.length; i++) { |
| | | const obj = { |
| | | pipename: dataPoint[i].pipelines.extraData.pipename, |
| | | mediumtype: dataPoint[i].pipelines.extraData.mediumtype |
| | | } |
| | | this.tableData.push(obj) |
| | | } |
| | | }, |
| | | // 横断面绘制完成后 进行横断面数据分析 进行图表展示 |
| | | async selectRow (e) { |
| | | console.log(e) |
| | | // option 数据处理 const dataSeries = e.data.pointInterval |
| | | // 3. 使用刚指定的配置项和数据,显示图表 |
| | | const option = { |
| | | xAxis: { |
| | | type: 'category', |
| | | // data: ['井1', '井2', '井3', '井4', '井5', '井6', '井7'] |
| | | data: ['井1', '井2', '井3', '井4', '井5', '井6', '井7'] |
| | | }, |
| | | yAxis: { |
| | |
| | | }, |
| | | series: [{ |
| | | data: [820, 932, 901, 934, 1290, 1330, 1320], |
| | | // data: dataSeries, |
| | | type: 'line' |
| | | }] |
| | | } |
| | | // this.myChartShow = true |
| | | this.myChartShow = true |
| | | this.myChart.setOption(option) |
| | | }, |
| | | // 横断面清除 |
| | |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | ///deep/ .el-table__row:hover > td { |
| | | // background: none !important; |
| | | //} |
| | | // |
| | | ///deep/ .el-table__row--striped:hover > td { |
| | | // background: none !important; |
| | | //} |
| | | /*****滚动条***/ |
| | | /deep/ .tableBox { |
| | | .el-table__fixed-right-patch { |
| | | display: none; |
| | | } |
| | | } |
| | | |
| | | ///deep/ .el-table__row.hover-row { |
| | | // background: rgba(0, 16, 30, 0.9) !important |
| | | //} |
| | | /deep/ .tableBox::-webkit-scrollbar { |
| | | /*滚动条整体样式*/ |
| | | width: 10px; /*高宽分别对应横竖滚动条的尺寸*/ |
| | | height: 10px; |
| | | } |
| | | |
| | | /deep/ .tableBox::-webkit-scrollbar-thumb { |
| | | /*滚动条里面小方块*/ |
| | | border-radius: 10px; |
| | | background: #000; |
| | | } |
| | | |
| | | /deep/ .tableBox::-webkit-scrollbar-track { |
| | | /*滚动条里面轨道*/ |
| | | box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2); |
| | | background: @background-color; |
| | | border-radius: 10px; |
| | | } |
| | | |
| | | /deep/ .el-table .has-gutter tr th { |
| | | border: none !important; |