| | |
| | | * @Author: Morpheus |
| | | * @Date: 2021-05-06 16:10:30 |
| | | * @Last Modified by: Morpheus |
| | | * @Last Modified time: 2021-11-01 15:40:19 |
| | | * @Last Modified time: 2022-07-21 17:48:24 |
| | | */ |
| | | <template> |
| | | <el-card class="reservoir-box"> |
| | | <!-- 头部 --> |
| | | <div v-show='boxShow' |
| | | class="header"> |
| | | |
| | | <el-radio v-model="newOrCustomValue" |
| | | @change="newOrCustomValueChange" |
| | | label="最新">最新</el-radio> |
| | | <el-radio v-model="newOrCustomValue" |
| | | @change="newOrCustomValueChange" |
| | | label="自定义">自定义</el-radio> |
| | | |
| | | <div v-show="boxShow" class="header"> |
| | | <el-radio v-model="newOrCustomValue" @change="newOrCustomValueChange" label="最新">最新</el-radio> |
| | | <el-radio v-model="newOrCustomValue" @change="newOrCustomValueChange" label="自定义">自定义</el-radio> |
| | | </div> |
| | | |
| | | <!-- 搜索条件等 --> |
| | | <div v-show="realOrCustom && boxShow" |
| | | class="search-condition"> |
| | | <el-date-picker v-model="customTime" |
| | | type="datetimerange" |
| | | format="yyyy-MM-dd HH" |
| | | :picker-options="pickerOptions" |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | align="right" |
| | | size="small" |
| | | :editable="false" |
| | | @change="pickerDateChange"> |
| | | </el-date-picker> |
| | | <el-button size="small" |
| | | type="primary" |
| | | @click="searchCustom" |
| | | icon="el-icon-search">查询</el-button> |
| | | <div v-show="realOrCustom && boxShow" class="search-condition"> |
| | | <el-date-picker |
| | | v-model="customTime" |
| | | type="datetimerange" |
| | | format="yyyy-MM-dd HH" |
| | | :picker-options="pickerOptions" |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | align="right" |
| | | size="small" |
| | | :editable="false" |
| | | @change="pickerDateChange" |
| | | ></el-date-picker> |
| | | <el-button size="small" type="primary" @click="searchCustom" icon="el-icon-search">查询</el-button> |
| | | </div> |
| | | |
| | | <div v-show='boxShow' |
| | | class="reservoir-content" |
| | | v-loading="loading"> |
| | | <div v-show="boxShow" class="reservoir-content" v-loading="loading"> |
| | | <!-- 文字概况 --> |
| | | <div class="text-overview"> |
| | | <p v-html="textarea" |
| | | @click="retailOpen($event)"></p> |
| | | <p v-html="textarea" @click="retailOpen($event)"></p> |
| | | </div> |
| | | <div class="statistics"> |
| | | <div> |
| | | 超汛限水位: |
| | | <el-button @click="openDialog('yj')" |
| | | type="danger" |
| | | size="small"> |
| | | {{ yjNum }} |
| | | </el-button> |
| | | <el-button @click="openDialog('yj')" type="danger" size="small">{{ yjNum }}</el-button> |
| | | </div> |
| | | <div> |
| | | 正常水位: |
| | | <el-button @click="openDialog('zc')" |
| | | type="success" |
| | | size="small"> |
| | | {{ zcNum }} |
| | | </el-button> |
| | | <el-button @click="openDialog('zc')" type="success" size="small">{{ zcNum }}</el-button> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div v-show="reservoirDetailPopupFlag" |
| | | class="reservoir-detail-popup" |
| | | id="reservoirDetailPopup"> |
| | | <div |
| | | v-show="reservoirDetailPopupFlag" |
| | | class="reservoir-detail-popup" |
| | | id="reservoirDetailPopup" |
| | | > |
| | | <ul v-html="detailPopupContent"></ul> |
| | | </div> |
| | | |
| | | <layerControl ref='layer-control' |
| | | :legendsDetail="legendData"></layerControl> |
| | | <layerControl ref="layer-control" :legendsDetail="legendData"></layerControl> |
| | | |
| | | <el-dialog title="" |
| | | :visible.sync="dialogVisible" |
| | | width="width" |
| | | :modal="false" |
| | | :modal-append-to-body="false" |
| | | :fullscreen="true"> |
| | | <el-dialog |
| | | title |
| | | :visible.sync="dialogVisible" |
| | | width="width" |
| | | :modal="false" |
| | | :modal-append-to-body="false" |
| | | :fullscreen="true" |
| | | > |
| | | <!-- 数据表格 --> |
| | | <Dialog-search slot="title" |
| | | :yjOrZc="yjOrZc" |
| | | :yjData="yjData" |
| | | :zcData="zcData" |
| | | :baseData="false" |
| | | @changeDialogTable="changeTable" |
| | | @exportParent="exportExcel" |
| | | ref="dialogSearch"></Dialog-search> |
| | | <Dialog-search |
| | | slot="title" |
| | | :yjOrZc="yjOrZc" |
| | | :yjData="yjData" |
| | | :zcData="zcData" |
| | | :baseData="false" |
| | | @changeDialogTable="changeTable" |
| | | @exportParent="exportExcel" |
| | | ref="dialogSearch" |
| | | ></Dialog-search> |
| | | <div class="dialog-data-table"> |
| | | <el-table :data=" |
| | | <el-table |
| | | :data=" |
| | | tableData.slice( |
| | | (currpage - 1) * pagesize, |
| | | currpage * pagesize |
| | | ) |
| | | " |
| | | @sort-change="onSortChange" |
| | | style="width: 100%"> |
| | | <el-table-column align="center" |
| | | prop="ind" |
| | | label="序号" |
| | | width="60"> |
| | | </el-table-column> |
| | | <el-table-column align="center" |
| | | prop="STCD" |
| | | label="站码"> |
| | | </el-table-column> |
| | | <el-table-column align="center" |
| | | prop="STNM" |
| | | label="站名"> |
| | | </el-table-column> |
| | | <el-table-column align="center" |
| | | prop="ADDVNM" |
| | | label="行政区"> |
| | | </el-table-column> |
| | | <el-table-column align="center" |
| | | prop="TM" |
| | | label="时间" |
| | | width="180"> |
| | | </el-table-column> |
| | | <el-table-column align="center" |
| | | prop="FSLTDZ" |
| | | sortable='custom' |
| | | label="汛限水位(m)"> |
| | | </el-table-column> |
| | | <el-table-column align="center" |
| | | prop="RZ" |
| | | sortable='custom' |
| | | label="实时水位(m)"> |
| | | </el-table-column> |
| | | <el-table-column align="center" |
| | | prop="RZchange" |
| | | label="昨日水位对比(m)" |
| | | v-if="!realOrCustom"> |
| | | </el-table-column> |
| | | @sort-change="onSortChange" |
| | | style="width: 100%" |
| | | > |
| | | <el-table-column align="center" prop="ind" label="序号" width="60"></el-table-column> |
| | | <el-table-column align="center" prop="STCD" label="站码"></el-table-column> |
| | | <el-table-column align="center" prop="STNM" label="站名"></el-table-column> |
| | | <el-table-column align="center" prop="ADDVNM" label="行政区"></el-table-column> |
| | | <el-table-column align="center" prop="TM" label="时间" width="180"></el-table-column> |
| | | <el-table-column align="center" prop="FSLTDZ" sortable="custom" label="汛限水位(m)"></el-table-column> |
| | | <el-table-column align="center" prop="RZ" sortable="custom" label="实时水位(m)"></el-table-column> |
| | | <el-table-column |
| | | align="center" |
| | | prop="RZchange" |
| | | label="昨日水位对比(m)" |
| | | v-if="!realOrCustom" |
| | | ></el-table-column> |
| | | |
| | | <el-table-column align="center" |
| | | label="趋势" |
| | | v-if="!realOrCustom"> |
| | | <el-table-column align="center" label="趋势" v-if="!realOrCustom"> |
| | | <template slot-scope="scope"> |
| | | <img :src="scope.row.icon" |
| | | style="height: 20px;" |
| | | alt=""> |
| | | <img :src="scope.row.icon" style="height: 20px;" alt /> |
| | | </template> |
| | | </el-table-column> |
| | | |
| | | <el-table-column align="center" |
| | | sortable='custom' |
| | | label="超汛限水位(m)" |
| | | prop="limited"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | align="center" |
| | | sortable="custom" |
| | | label="超汛限水位(m)" |
| | | prop="limited" |
| | | ></el-table-column> |
| | | |
| | | <el-table-column align="center" |
| | | sortable='custom' |
| | | label="蓄水量(10⁶m³)" |
| | | prop="W"> |
| | | </el-table-column> |
| | | <el-table-column align="center" sortable="custom" label="蓄水量(10⁶m³)" prop="W"></el-table-column> |
| | | |
| | | <el-table-column align="center" |
| | | sortable='custom' |
| | | label="蓄满率(%)" |
| | | prop="XML"> |
| | | </el-table-column> |
| | | <el-table-column align="center" sortable="custom" label="蓄满率(%)" prop="XML"></el-table-column> |
| | | |
| | | <!-- <el-table-column align="center" |
| | | sortable='custom' |
| | | label="变幅(m)" |
| | | prop="change" |
| | | v-if="realOrCustom"> |
| | | </el-table-column> --> |
| | | </el-table-column>--> |
| | | </el-table> |
| | | <div ref="tablePagination"> |
| | | <el-pagination :pager-count="5" |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | background |
| | | :page-sizes="[20, 40, 60, 100]" |
| | | layout="sizes, prev, pager, next" |
| | | :current-page="currpage" |
| | | :page-size="pagesize" |
| | | :total="tableData.length"> |
| | | </el-pagination> |
| | | <el-pagination |
| | | :pager-count="5" |
| | | @size-change="handleSizeChange" |
| | | @current-change="handleCurrentChange" |
| | | background |
| | | :page-sizes="[20, 40, 60, 100]" |
| | | layout="sizes, prev, pager, next" |
| | | :current-page="currpage" |
| | | :page-size="pagesize" |
| | | :total="tableData.length" |
| | | ></el-pagination> |
| | | </div> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <el-dialog :title="retailTitle" |
| | | :visible.sync="retailShowFlag" |
| | | width="width" |
| | | :modal="false" |
| | | :modal-append-to-body="false" |
| | | :fullscreen="true" |
| | | class="retail-popup"> |
| | | <iframe :src="retailSrc" |
| | | frameborder="0"></iframe> |
| | | <el-dialog |
| | | :title="retailTitle" |
| | | :visible.sync="retailShowFlag" |
| | | width="width" |
| | | :modal="false" |
| | | :modal-append-to-body="false" |
| | | :fullscreen="true" |
| | | class="retail-popup" |
| | | > |
| | | <iframe :src="retailSrc" frameborder="0"></iframe> |
| | | </el-dialog> |
| | | </el-card> |
| | | </template> |
| | |
| | | this.reservoirIconLayer.getSource().clear() |
| | | this.reservoirIconLayerYJ.getSource().clear() |
| | | }, |
| | | // 大型水库放前面 |
| | | sortArr (array) { |
| | | var arr = [] |
| | | |
| | | array.forEach((item, index) => { |
| | | if (item.STNM.indexOf('洪门') != -1 || item.STNM.indexOf('廖坊') != -1) { |
| | | arr.concat(array.splice(index, 1)) |
| | | } |
| | | }) |
| | | |
| | | arr.concat(array) |
| | | |
| | | return arr |
| | | }, |
| | | // 打开弹框 |
| | | openDialog (val) { |
| | | this.yjOrZc = val |
| | | |
| | | if (val == 'yj') { |
| | | this.tableData = this.yjData |
| | | this.tableData = this.sortArr(this.yjData) |
| | | } else { |
| | | this.tableData = this.zcData |
| | | this.tableData = this.sortArr(this.zcData) |
| | | } |
| | | this.$refs.dialogSearch.inputOrSelectClear() |
| | | this.dialogVisible = true |