派生自 wuyushui/SewerAndRainNetwork

陈泽平
2021-05-31 38bcd6306f20787e394347a34e50fcf80b265fc6
src/components/base-page/enterprise-emergency/events-reported/ReportLocationSection.vue
@@ -1,160 +1,165 @@
<template>
    <div class="ReportLocationSection">
        <el-form :model="form" label-width="90px">
            <el-row class="pipe-line-search">
                <el-col :span="12">
                    <el-form-item label="管线名称:">
                        <el-input v-model="form.pipeName">
                            <el-button style="padding-right:10px;" slot="suffix" type="text" @click="pipelineSearch">
                                <img src="../../../../../public/assets/images/map/emergency/search.png" alt="">
                            </el-button>
                        </el-input>
                    </el-form-item>
                </el-col>
                <el-col :span="8">
                    <el-button type="primary" size="small" icon="el-icon-location-outline" @click="pipeClickLocation">定位
                    </el-button>
                </el-col>
            </el-row>
            <el-row>
                <el-col :span="12">
                    <el-form-item label="管段编码:">
                        <el-input v-model="form.sectionName" disabled></el-input>
                    </el-form-item>
                </el-col>
                <el-col :span="12">
                    <el-form-item label="附属设施:">
                        <el-input v-model="form.affiliatedFacilities" disabled></el-input>
                    </el-form-item>
                </el-col>
            </el-row>
        </el-form>
        <div class="pipe-table" v-show="this.tableList.length>=1">
            <el-card>
                <span class="fixed-style" style="display: block">管线名称</span>
                <el-table
                        :data="tableList"
                        border
                        height="120"
                        max-height="140"
                        @row-click="sectionShowClick"
                        style="width: 100%">
                    <el-table-column
                            label="序号"
                            type="index"
                    >
                    </el-table-column>
                    <el-table-column
                            show-overflow-tooltip
                            prop="properties.pipename"
                            label="管线名称">
                    </el-table-column>
                    <el-table-column
                            show-overflow-tooltip
                            prop="properties.subchaname"
                            label="支线名称">
                    </el-table-column>
                    <el-table-column
                            show-overflow-tooltip
                            prop="properties.mediumtype"
                            label="管线类型">
                    </el-table-column>
                    <el-table-column width="40" fixed="right" label="操作">
                        <template slot-scope="scope">
                            <el-button @click="localAdr(scope.row)" type="text" size="small">定位</el-button>
                        </template>
                    </el-table-column>
                </el-table>
            </el-card>
            <el-card>
                <span class="fixed-style" style="display: block">管段列表</span>
                <el-table
                        :data="tableListSection"
                        border
                        @row-click="sectionCode"
                        height="100"
                        max-height="100"
                        style="width: 100%">
                    <el-table-column
                            show-overflow-tooltip
                            prop="properties.pipesegcode"
                            label="管段编码">
                    </el-table-column>
                    <el-table-column
                            show-overflow-tooltip
                            prop="properties.startpointnumber"
                            label="起点探查号">
                    </el-table-column>
                    <el-table-column
                            show-overflow-tooltip
                            prop="properties.endpointnumber"
                            label="终点探查号">
                    </el-table-column>
                    <el-table-column
                            show-overflow-tooltip
                            prop="properties.material"
                            label="材质">
                    </el-table-column>
                    <el-table-column
                            show-overflow-tooltip
                            prop="properties.embeddingmode"
                            label="埋设方式">
                    </el-table-column>
                    <el-table-column width="40" fixed="right" label="操作">
                        <template slot-scope="scope">
                            <el-button @click="localAdr(scope.row)" type="text" size="small">定位</el-button>
                        </template>
                    </el-table-column>
                </el-table>
                <span class="fixed-style" style="display: block">附属设施列表</span>
                <el-table
                        :data="tableDataAffFac"
                        border
                        @row-click="affFacName"
                        height="120"
                        max-height="140"
                        style="width: 100%">
                    <el-table-column
                            show-overflow-tooltip
                            width="150"
                            prop="properties.code"
                            label="编号">
                    </el-table-column>
                    <el-table-column
                            show-overflow-tooltip
                            width="150"
                            prop="properties.name"
                            label="附属设施名称">
                    </el-table-column>
                    <el-table-column
                            width="150"
                            show-overflow-tooltip
                            prop="properties.type"
                            label="类型">
                    </el-table-column>
                    <el-table-column width="90" fixed="right" label="操作">
                        <template slot-scope="scope">
                            <el-button @click="localAdr(scope.row)" type="text" size="small">定位</el-button>
                        </template>
                    </el-table-column>
                </el-table>
            </el-card>
        </div>
        <el-row style="text-align: right;margin: 10px">
            <el-button type="primary" @click="confirm">确认</el-button>
        </el-row>
  <div class="ReportLocationSection">
    <el-form :model="form" label-width="120px">
      <el-row class="pipe-line-search">
        <el-col :span="18">
          <el-form-item label="管线名称:">
            <el-input v-model="form.pipeName" @change="pipelineSearch">
              <el-button style="padding-right:10px;" slot="suffix" type="text" @click="pipelineSearch">
                <img src="../../../../../public/assets/images/map/emergency/search.png" alt="">
              </el-button>
            </el-input>
          </el-form-item>
        </el-col>
        <el-col :span="6">
          <el-button type="primary" size="small" icon="el-icon-location-outline" @click="pipeClickLocation">定位
          </el-button>
        </el-col>
      </el-row>
      <el-row>
        <el-col :span="18">
          <el-form-item label="管段编:">
            <el-input v-model="form.sectionName" disabled></el-input>
          </el-form-item>
        </el-col>
      </el-row>
      <el-row>
        <el-col :span="12">
          <el-form-item label="附属设施编码:">
            <el-input v-model="form.affiliatedFacilities" disabled></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="12">
          <el-form-item label="附属设施类型:">
            <el-input v-model="form.affiliatedFacilitiesCode" disabled></el-input>
          </el-form-item>
        </el-col>
      </el-row>
    </el-form>
    <div class="pipe-table" v-show="this.tableList.length>=1">
      <el-card>
        <span class="fixed-style" style="display: block">管线名称</span>
        <el-table
            :data="tableList"
            border
            height="120"
            max-height="140"
            @row-click="sectionShowClick"
            style="width: 100%">
          <el-table-column
              label="序号"
              type="index"
          >
          </el-table-column>
          <el-table-column
              show-overflow-tooltip
              prop="properties.pipename"
              label="管线名称">
          </el-table-column>
          <el-table-column
              show-overflow-tooltip
              prop="properties.subchaname"
              label="支线名称">
          </el-table-column>
          <el-table-column
              show-overflow-tooltip
              prop="properties.mediumtype"
              label="管线类型">
          </el-table-column>
          <el-table-column width="40" fixed="right" label="操作">
            <template slot-scope="scope">
              <el-button @click="localAdr(scope.row)" type="text" size="small">定位</el-button>
            </template>
          </el-table-column>
        </el-table>
      </el-card>
      <el-card>
        <span class="fixed-style" style="display: block">管段列表</span>
        <el-table
            :data="tableListSection"
            border
            @row-click="sectionCode"
            height="100"
            max-height="100"
            style="width: 100%">
          <el-table-column
              show-overflow-tooltip
              prop="properties.pipesegcode"
              label="管段编码">
          </el-table-column>
          <el-table-column
              show-overflow-tooltip
              prop="properties.startpointnumber"
              label="起点探查号">
          </el-table-column>
          <el-table-column
              show-overflow-tooltip
              prop="properties.endpointnumber"
              label="终点探查号">
          </el-table-column>
          <el-table-column
              show-overflow-tooltip
              prop="properties.material"
              label="材质">
          </el-table-column>
          <el-table-column
              show-overflow-tooltip
              prop="properties.embeddingmode"
              label="埋设方式">
          </el-table-column>
          <el-table-column width="40" fixed="right" label="操作">
            <template slot-scope="scope">
              <el-button @click="localAdr(scope.row)" type="text" size="small">定位</el-button>
            </template>
          </el-table-column>
        </el-table>
        <span class="fixed-style" style="display: block">附属设施列表</span>
        <el-table
            :data="tableDataAffFac"
            border
            @row-click="affFacName"
            height="120"
            max-height="140"
            style="width: 100%">
          <el-table-column
              show-overflow-tooltip
              width="150"
              prop="properties.pipecode"
              label="管线编号">
          </el-table-column>
          <el-table-column
              show-overflow-tooltip
              width="150"
              prop="properties.name"
              label="附属设施名称">
          </el-table-column>
          <el-table-column
              width="150"
              show-overflow-tooltip
              prop="properties.type"
              label="设施类型">
          </el-table-column>
          <el-table-column width="90" fixed="right" label="操作">
            <template slot-scope="scope">
              <el-button @click="localAdr(scope.row)" type="text" size="small">定位</el-button>
            </template>
          </el-table-column>
        </el-table>
      </el-card>
    </div>
    <el-row style="text-align: right;margin: 10px">
      <el-button type="primary" @click="confirm" size="small">确认</el-button>
    </el-row>
  </div>
</template>
<script>
// import { pulseEffect } from '../../../../utils/utils'
// import mapApi from '../../../../api/mapApi'
import { highlight, fitBounds } from '../../../helpers/LocateHelper'
import WfsHelper from '@components/helpers/WfsHelper'
import AjaxUtils from '@utils/AjaxUtils'
import { fitBounds, highlight } from '../../../../components/helpers/LocateHelper'
import eventBus from '../../../../eventBus'
import { WMS_URL } from '../../../../conf/Constants'
import { publicLocationStore } from './ReportLocation'
export default {
  name: 'ReportLocationSection',
@@ -163,7 +168,8 @@
      form: {
        pipeName: '',
        sectionName: '',
        affiliatedFacilities: ''
        affiliatedFacilities: '',
        affiliatedFacilitiesCode: ''
      },
      // 管线查询数据列表
      tableList: [],
@@ -179,184 +185,6 @@
    this.wfsHelper = new WfsHelper()
  },
  methods: {
    // 点击管线列表 展示管段内容 和附属设施内容
    async sectionShowClick (val) {
      console.log(val)
      // 如果 SectionAndAffFacTableJudge === true 是搜索数据结果的列表 可以进行 管段 附属设施交互 点击定位查询结果 不进行点击交互
      if (this.SectionAndAffFacTableJudge === true) {
        // 管段查询
        const sectionNameSearch = val.properties.pipename
        this.tableListSection = []
        this.wfsHelper.clearFilter()
        this.wfsHelper.setTypeName(['sewer:pipesegment'])
        this.wfsHelper.addLike('pipename', sectionNameSearch)
        this.wfsHelper.addEquals('pipename', '\'' + sectionNameSearch + '\'')
        const res = await AjaxUtils.GetDataAsynByUrl(this.wfsHelper.getUrl(), {})
        // console.log(res)
        if (res instanceof Object && Object.prototype.hasOwnProperty.call(res, 'features')) {
          this.tableListSection = res.features
        }
        this.wfsHelper = new WfsHelper()
        // 附属设施查询
        this.tableDataAffFac = []
        const AffFacSearch = val.properties.pipecode
        console.log(AffFacSearch)
        this.wfsHelper.clearFilter()
        this.wfsHelper.setTypeName(['sewer:view_pipeline'])
        this.wfsHelper.addLike('pipecode', AffFacSearch)
        // this.wfsHelper.addEquals('type', '\'' + AffFacSearch + '\'')
        const resAffFac = await AjaxUtils.GetDataAsynByUrl(this.wfsHelper.getUrl(), {})
        console.log(resAffFac)
        if (resAffFac instanceof Object && Object.prototype.hasOwnProperty.call(resAffFac, 'features')) {
          // console.log(resAffFac.features)
          // for (let i = 0; i < resAffFac.features.length; i++) {
          //   console.log(resAffFac.features[i])
          // }
          this.tableDataAffFac = resAffFac.features
        }
        this.wfsHelper = new WfsHelper()
      }
    },
    // 点击管段列表 管段编码传递
    sectionCode (val) {
      // console.log(val)
      this.form.sectionName = val.properties.pipecode
    },
    // 点击附属设施列表 管段编码传递
    affFacName (val) {
      // console.log(val)
      this.form.affiliatedFacilities = val.properties.name
    },
    // 定位功能
    localAdr (val) {
      // console.log(val)
      fitBounds(val)
      highlight(val)
    },
    // 管线 点击定位管段的选择功能
    pipeClickLocation () {
      // 设施不进行 管线表格数据的点击交互
      this.SectionAndAffFacTableJudge = false
      window.mapManager.clickDialogSwitch = false
      // this.tableList = []
      // 点击获取数据
      window.map.on('click', (e) => {
        // window.mapManager.loadWfsDatas(e.latlng).then((res) => {
        //   console.log(res)
        //   for (let i = 0; i < res.features.length; i++) {
        //     this.tableList.push(res.features[i])
        //     this.tableListSection.push(res.features[i])
        //     this.tableDataAffFac.push(res.features[i])
        //   }
        // })
        // return new Promise((resolve, reject) => {
        const size = window.map.getSize()
        var point = window.map.latLngToContainerPoint(e.latlng, window.map.getZoom())
        const wmsParams = Object.assign({
          LAYERS: 'pipeline_group',
          QUERY_LAYERS: 'pipeline_group',
          WIDTH: size.x,
          HEIGHT: size.y,
          X: Math.round(point.x),
          Y: Math.round(point.y),
          BBOX: window.map.getBounds().toBBoxString()
        }, {
          VERSION: '1.1.1',
          SERVICE: 'WMS',
          REQUEST: 'GetFeatureInfo',
          // bbox: bbox,
          FORMAT: 'image/png',
          INFO_FORMAT: 'application/json',
          TRANSPARENT: true,
          FEATURE_COUNT: 50,
          SRS: 'EPSG:4326',
          EXCEPTIONS: 'application/vnd.ogc.se_inimage'
        })
        AjaxUtils.get4JsonDataByUrl(WMS_URL, wmsParams, (res) => {
          console.log(res)
          for (let i = 0; i < res.data.features.length; i++) {
            // console.log(res.data.features[i])
            this.tableList.push(res.data.features[i])
          }
        })
        // 管段
        this.sectionData(e)
        // 附属设施
        this.affFacData(e)
        // })
      })
      // 数据 重新获取 进行置空
      this.tableList = []
      this.tableListSection = []
      this.form.pipeName = ''
      this.tableDataAffFac = []
      this.form.sectionName = ''
      this.form.affiliatedFacilities = ''
    },
    // 点击定位 擦寻管段
    sectionData (e) {
      const size = window.map.getSize()
      var point = window.map.latLngToContainerPoint(e.latlng, window.map.getZoom())
      const wmsParams = Object.assign({
        LAYERS: 'sewer:pipesegment',
        QUERY_LAYERS: 'sewer:pipesegment',
        WIDTH: size.x,
        HEIGHT: size.y,
        X: Math.round(point.x),
        Y: Math.round(point.y),
        BBOX: window.map.getBounds().toBBoxString()
      }, {
        VERSION: '1.1.1',
        SERVICE: 'WMS',
        REQUEST: 'GetFeatureInfo',
        // bbox: bbox,
        FORMAT: 'image/png',
        INFO_FORMAT: 'application/json',
        TRANSPARENT: true,
        FEATURE_COUNT: 50,
        SRS: 'EPSG:4326',
        EXCEPTIONS: 'application/vnd.ogc.se_inimage'
      })
      AjaxUtils.get4JsonDataByUrl(WMS_URL, wmsParams, (res) => {
        // console.log(res)
        for (let i = 0; i < res.data.features.length; i++) {
          this.tableListSection.push(res.data.features[i])
        }
      })
    },
    // 附属设施
    affFacData (e) {
      const size = window.map.getSize()
      var point = window.map.latLngToContainerPoint(e.latlng, window.map.getZoom())
      const wmsParams = Object.assign({
        LAYERS: 'sewer:view_pipeline',
        QUERY_LAYERS: 'sewer:view_pipeline',
        // LAYERS: 'pipeline_fs',
        // QUERY_LAYERS: 'pipeline_fs',
        WIDTH: size.x,
        HEIGHT: size.y,
        X: Math.round(point.x),
        Y: Math.round(point.y),
        BBOX: window.map.getBounds().toBBoxString()
      }, {
        VERSION: '1.1.1',
        SERVICE: 'WMS',
        REQUEST: 'GetFeatureInfo',
        // bbox: bbox,
        FORMAT: 'image/png',
        INFO_FORMAT: 'application/json',
        TRANSPARENT: true,
        FEATURE_COUNT: 50,
        SRS: 'EPSG:4326',
        EXCEPTIONS: 'application/vnd.ogc.se_inimage'
      })
      AjaxUtils.get4JsonDataByUrl(WMS_URL, wmsParams, (res) => {
        // console.log(res)
        for (let i = 0; i < res.data.features.length; i++) {
          this.tableDataAffFac.push(res.data.features[i])
        }
      })
    },
    // 管线搜索
    async pipelineSearch () {
      this.SectionAndAffFacTableJudge = true
@@ -377,17 +205,178 @@
        this.tableList = res.features
      }
      this.wfsHelper = new WfsHelper()
      // this.form.pipeName = ''
      this.form.sectionName = ''
      this.form.affiliatedFacilities = ''
      this.form.affiliatedFacilitiesCode = ''
    },
    // 点击管线列表 展示管段内容 和附属设施内容
    sectionShowClick (val) {
      // console.log(val)
      // this.SectionAndAffFacTableJudge = true
      if (this.SectionAndAffFacTableJudge === true) {
        this.searchSection(val)
        this.searchAffFacData(val)
      }
    },
    // 管段查询
    async searchSection (val) {
      const sectionNameSearch = val.properties.pipename
      this.tableListSection = []
      this.wfsHelper.clearFilter()
      this.wfsHelper.setTypeName(['sewer:pipesegment'])
      this.wfsHelper.addLike('pipename', sectionNameSearch)
      this.wfsHelper.addEquals('pipename', '\'' + sectionNameSearch + '\'')
      const res = await AjaxUtils.GetDataAsynByUrl(this.wfsHelper.getUrl(), {})
      // console.log(res)
      if (res instanceof Object && Object.prototype.hasOwnProperty.call(res, 'features')) {
        this.tableListSection = res.features
      }
    },
    // 附属设施查询
    async searchAffFacData (val) {
      this.tableDataAffFac = []
      const AffFacSearch = val.properties.pipecode
      this.wfsHelper.clearFilter()
      this.wfsHelper.setTypeName(['sewer:view_pipeline'])
      this.wfsHelper.addLike('pipecode', AffFacSearch)
      // this.wfsHelper.addEquals('type', '\'' + AffFacSearch + '\'')
      const resAffFac = await AjaxUtils.GetDataAsynByUrl(this.wfsHelper.getUrl(), {})
      console.log(resAffFac)
      if (resAffFac instanceof Object && Object.prototype.hasOwnProperty.call(resAffFac, 'features')) {
        this.tableDataAffFac = resAffFac.features
      }
    },
    // 搜索的公共方法优化
    async publicSearch (searchVal, searchKeyword, searchTypeName, tableListData) {
      tableListData = []
      this.wfsHelper = new WfsHelper()
      this.wfsHelper.clearFilter()
      this.wfsHelper.setTypeName(searchTypeName)
      this.wfsHelper.addLike(searchKeyword, searchVal)
      this.wfsHelper.addEquals(searchKeyword, '\'' + searchVal + '\'')
      const res = await AjaxUtils.GetDataAsynByUrl(this.wfsHelper.getUrl(), {})
      // console.log(res)
      if (res instanceof Object && Object.prototype.hasOwnProperty.call(res, 'features')) {
        tableListData = res.features
      }
    },
    // 点击管段列表 管段编码传递
    sectionCode (val) {
      // console.log(val)
      this.form.sectionName = val.properties.pipesegcode
    },
    // 点击附属设施列表 管段编码传递
    affFacName (val) {
      console.log(val)
      // this.form.affiliatedFacilities = val.properties.code
      this.form.affiliatedFacilities = val.properties.name
      this.form.affiliatedFacilitiesCode = val.properties.type
    },
    // 定位功能
    localAdr (val) {
      // console.log(val)
      fitBounds(val)
      highlight(val)
    },
    // 管线 点击定位管段的选择功能
    pipeClickLocation () {
      // 设施不进行 管线表格数据的点击交互
      this.SectionAndAffFacTableJudge = false
      if (this.SectionAndAffFacTableJudge === false) {
        // 点击获取数据
        window.map.on('click', (e) => {
          this.SectionAndAffFacTableJudge = false
          // 点击地图关闭弹框
          window.mapManager.clickDialogSwitch = false
          // 管线点击数据
          this.pipeData(e)
          // 管段点击数据
          this.sectionData(e)
          // 附属设施数据
          this.affFacData(e)
          // 关闭点击事件
          window.map.off('click')
        })
      }
      // 数据 重新获取 进行置空
      this.form.pipeName = ''
      this.form.sectionName = ''
      this.form.affiliatedFacilities = ''
      this.form.affiliatedFacilitiesCode = ''
      this.tableList = []
      this.tableListSection = []
      this.tableDataAffFac = []
    },
    // 点击定位区域 搜寻管线数据
    pipeData (e) {
      this.publicWay(e, 'sewer:pipeline', 'sewer:pipeline', this.tableList)
    },
    // 点击定位区域 搜寻管段数据
    sectionData (e) {
      this.publicWay(e, 'sewer:pipesegment', 'sewer:pipesegment', this.tableListSection)
    },
    // 点击定位区域 搜寻附属设施数据
    affFacData (e) {
      this.publicWay(e, 'sewer:view_pipeline', 'sewer:view_pipeline', this.tableDataAffFac, 'pipecode <> \'\'')
    },
    // 点击按钮定位 的公共事件
    publicWay (e, layer, queryLayer, dataList, cqlfilter) {
      const defaultWmsParams = {
        VERSION: '1.1.1',
        SERVICE: 'WMS',
        REQUEST: 'GetFeatureInfo',
        FORMAT: 'image/png',
        INFO_FORMAT: 'application/json',
        TRANSPARENT: true,
        FEATURE_COUNT: 50,
        SRS: 'EPSG:4326',
        cql_filter: cqlfilter,
        EXCEPTIONS: 'application/vnd.ogc.se_inimage'
      }
      const size = window.map.getSize()
      const point = window.map.latLngToContainerPoint(e.latlng, window.map.getZoom())
      const wmsParams = Object.assign({
        LAYERS: layer,
        QUERY_LAYERS: queryLayer,
        WIDTH: size.x,
        HEIGHT: size.y,
        X: Math.round(point.x),
        Y: Math.round(point.y),
        BBOX: window.map.getBounds().toBBoxString()
      }, defaultWmsParams)
      AjaxUtils.get4JsonDataByUrl(WMS_URL, wmsParams, (res) => {
        // console.log(res)
        for (let i = 0; i < res.data.features.length; i++) {
          dataList.push(res.data.features[i])
        }
      })
    },
    // 点击确认
    confirm () {
      // console.log('点击确定选择完成')
      eventBus.$emit('location-setChange', true)
      // 事件上报 位置信息 存储数据库
      const data = {
        ID: '',
        EventID: '',
        EventPipeline: this.form.pipeName,
        EventPipeSeg: this.form.sectionName,
        EventAffType: this.form.affiliatedFacilitiesCode,
        EventAffCode: this.form.affiliatedFacilities,
        EventAffPointNum: '',
        EventPosX: '',
        EventPosY: '',
        AcquisitionPeople: '',
        AcquisitionDate: ''
      }
      // 通过方法 存储数据 进行 数据库存储数据
      publicLocationStore(data)
      // 数据置空
      this.form.pipeName = ''
      this.form.sectionName = ''
      this.form.affiliatedFacilities = ''
      this.form.affiliatedFacilitiesCode = ''
      this.tableList = []
      this.tableListSection = []
      this.tableDataAffFac = []
@@ -398,86 +387,23 @@
</script>
<style lang="less" scoped>
    /*/deep/ .el-input {*/
    /*    width: 0.74353rem;*/
    /*}*/
    .pipe-line-search {
        display: flex;
        align-items: center;
.pipe-line-search {
  display: flex;
  align-items: center;
        .el-button {
            margin: 0 15px;
        }
  .el-button {
    margin: 0 15px;
  }
}
.pipe-table {
  /deep/ .el-card {
    .el-table {
      margin: 0.05345rem auto;
    }
  }
}
    .pipe-table {
        /*display: flex;*/
        /*align-items: center;*/
        /*justify-content: space-around;*/
        /deep/ .el-card {
            /*width: 1.39523rem;*/
            /*max-width: 1.39523rem;*/
            /*height: 0.9343rem;*/
            /*max-height: 0.9343rem;*/
            .el-table {
                margin: 0.05345rem auto;
            }
        }
    }
    .fixed-style {
        color: @color;
    }
    /deep/
    .warnPagination {
        .btn-quicknext, .btn-quickprev {
            color: #e4e8f1 !important;
            background-color: transparent;
            // border: 1px solid #25AECD;
            border-left: 1px solid #25AECD;
            border-bottom: 1px solid #25AECD;
            border-top: 1px solid #25AECD;
            color: #e4e8f1;
        }
        .el-pager li {
            color: #e4e8f1;
            background: transparent;
            // border: 1px solid #25AECD;
            border-left: 1px solid #25AECD;
            border-bottom: 1px solid #25AECD;
            border-top: 1px solid #25AECD;
        }
        .el-pager li.active {
            border-color: #25AECD;
            background-color: rgba(38, 222, 253, 0.3);
            color: #e4e8f1;
        }
        .el-pager li:hover {
            border-color: #25AECD;
            background-color: rgba(38, 222, 253, 0.3);
            color: #34e0ff;
        }
        .btn-prev {
            background-color: transparent;
            // border: 1px solid #25AECD;
            border-left: 1px solid #25AECD;
            border-bottom: 1px solid #25AECD;
            border-top: 1px solid #25AECD;
            color: #e4e8f1;
        }
        .btn-next {
            background-color: transparent;
            border: 1px solid #25AECD;
            color: #e4e8f1;
        }
    }
</style>