From 4df0471b7dff0494625ff09969b1a13b5359a26e Mon Sep 17 00:00:00 2001 From: XingChuan <m17600301067@163.com> Date: 星期一, 31 五月 2021 22:41:47 +0800 Subject: [PATCH] 统计表弹框UI优化;增加点击企业名称缩放至企业;二级表展示功能优化。 --- src/components/table/summarySheets.vue | 220 ++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 161 insertions(+), 59 deletions(-) diff --git a/src/components/table/summarySheets.vue b/src/components/table/summarySheets.vue index 02400d1..914a8ee 100644 --- a/src/components/table/summarySheets.vue +++ b/src/components/table/summarySheets.vue @@ -1,85 +1,187 @@ <template> <div class="summary-sheets"> - <el-row type="flex" class="head-area" align="middle"> - <el-col> - <span>浼佷笟鎸囨爣鍒嗙被缁熻</span> - </el-col> - <el-col class="head-area-button"> - <el-button style="float: right; padding: 3px 0" icon="el-icon-close" type="info"></el-button> - </el-col> - </el-row> -<!-- <el-tabs class="tabs-text">--> - <el-row :gutter="20" class="el-rowscol"> - <el-col> - <el-tabs class="tabs-text" v-model="activeName" type="card" @tab-click="handleClick"> - <el-tab-pane label="搴熸按" name="first"> - <waste-water></waste-water> - </el-tab-pane> - <el-tab-pane label="搴熸皵" name="second"> - <waste-gas></waste-gas> - </el-tab-pane> - <el-tab-pane label="鍥哄簾" name="third"> - <solid-waste></solid-waste> - </el-tab-pane> - <el-tab-pane label="绌烘皵璐ㄩ噺" name="fourth"> - <AirQuality></AirQuality> - </el-tab-pane> - </el-tabs> - </el-col> - </el-row> + <el-tooltip :popper-class="'map-tooltip'" effect="dark" content="鎶ヨ〃" placement="left"> + <div :class='["iconBtn",selectGroup ? "active-button" : ""]' @click="subtopicBtn"> + <i class="el-icon-tickets icon"></i> + </div> + </el-tooltip> + <transition name="animationChange"> + <div class="subtopic" v-show="selectGroup"> + <el-tooltip :popper-class="'map-tooltip'" effect="dark" content="缁熻琛�" placement="bottom"> + <div :class='["iconBtn",summaryVisible ? "active-button" : ""]' @click="closeBtn"> + <!-- --> + <i class="icon iconfont iconbiaoge2"></i> + <!--<span class="icon-name">缁熻琛�</span>--> + </div> + </el-tooltip> + <el-tooltip :popper-class="'map-tooltip'" effect="dark" content="鎸囨爣" placement="bottom"> + <div :class='["iconBtn",companyVisible ? "active-button" : ""]' @click="showStatisDialog()"> + <!-- <img src="@/assets/images/map-pages/icon/map/company.png" alt="" class="icon"> --> + <i class="el-icon-office-building icon"></i> + </div> + </el-tooltip> + <el-tooltip :popper-class="'map-tooltip'" effect="dark" content="棰勬姤璀�" placement="bottom"> + <div :class='["iconBtn",warnVisible ? "active-button" : ""]' @click="showWarnDialog()"> + <i class="icon iconfont iconbaojing01"></i> + <!--<span class="icon-name">棰勬姤璀�</span>--> + </div> + </el-tooltip> + </div> + </transition> + <Dialog ref="summarySheets" title="鎶ヨ〃" class="baoBiao"> + <tab-handover></tab-handover> + </Dialog> + <Dialog ref="warnDialog" title="棰勬姤璀�"> + <warn></warn> + </Dialog> + <Dialog ref="indexStatisticsDialog" title="浼佷笟鎸囨爣鍒嗙被缁熻"> + <index-statistics></index-statistics> + </Dialog> </div> </template> <script> -import WasteWater from '@/components/table/components/WasteWater.vue' -import WasteGas from './components/WasteGas' -import SolidWaste from './components/SolidWaste' -import AirQuality from './components/AirQuality' +import tabHandover from '@components/table/components/tabHandover' +// import Dialog from '@views/popup/Dialog' +import Dialog from '../../views/popup/Dialog' +import Warn from './components/Warn' +import IndexStatistics from './components/IndexStatistics' + +// import '@/components/base-page/SolidWaste/directive/dir' +// import '@/components/plugin/DialogDrag' + +import bus from '@/eventBus' + export default { - name: 'summary sheet.vue', + name: 'summary-sheet.vue', components: { - WasteWater, - WasteGas, - SolidWaste, - AirQuality + tabHandover, + Dialog, + Warn, + IndexStatistics + // Dialog }, data () { return { - activeName: 'first' + summaryVisible: false, + dialogShow: false, + comp: Warn, + warnVisible: false, + companyVisible: false, + selectGroup: false } }, + mounted () { + const that = this + // 鐩戝惉鏄惁鐐瑰嚮浜嗗綋鍓嶅浘鏍囨寜閽� + bus.$on('changeState', function (state) { + if (state.num !== 2 && state.type) { + that.selectGroup = false + } + }) + // 澶栭儴璋冪敤 涓庢姤璀﹀脊妗� + bus.$on('forecastWarningDetails', function (state) { + that.showWarnDialog() + }) + // 瀛愮粍浠朵簨浠舵帶鍒跺綋鍓嶅彉閲� + this.$nextTick(() => { + this.$refs.summarySheets.$on('closeDialog', () => { + that.summaryVisible = false + }) + this.$refs.warnDialog.$on('closeDialog', () => { + that.warnVisible = false + }) + this.$refs.indexStatisticsDialog.$on('closeDialog', () => { + that.companyVisible = false + }) + }) + }, methods: { - handleClick (tab, event) { - console.log(tab, event) + closeBtn () { + this.$refs.summarySheets.show() + this.summaryVisible = true + }, + showWarnDialog () { + this.$refs.warnDialog.show() + this.warnVisible = true + }, + showStatisDialog () { + this.$refs.indexStatisticsDialog.show() + this.companyVisible = true + }, + subtopicBtn () { + this.selectGroup = !this.selectGroup + const state = { + type: this.selectGroup, + num: 2 + } + bus.$emit('changeState', state) } } } </script> -<style> +<style lang="less"> .summary-sheets { - /*overflow: hidden;*/ position: absolute; - top: 50px; - left: 50px; + display: inline-flex; + overflow: hidden; + top: 0.42979rem; + left: 0.14583rem; /*width: 850px;*/ /*height: 265px;*/ - border: #90c8e0 1px solid; - z-index:9999999; - background-color: rgba(26, 73, 81, 0.901960784313726); + z-index: 500; + .el-dialog__header { + padding: 10px 20px 10px !important; + .el-dialog__headerbtn{ + top: 16px; + right: 16px; + } + } + .subtopic { + display: inline-flex; + + .iconBtn { + margin-left: 0.03rem; + border-color: #00fff6; + color: #00fff6; + } + + .iconBtn.active-button { + //border-color:#00fff6 !important; + //color:#00fff6 !important; + } + } + + .dialog { + //width: 800px; + //height: 300px; + position: absolute; + top: 15%; + left: 3rem; + } + + .animationChange-enter-active, .animationChange-leave-active { + transition: all 0.5s; + } + + .animationChange-enter, .animationChange-leave-to { + opacity: 0; + transform: translateX(-100px); + } + /*color: #fff;*/ - } - .head-area{ - color: #fff; - width: 100%; - height: 40px; - background-color: #002433; - font-size: 16px; - border-bottom: #90c8e0 2px solid; - padding-left: 16px; - /*line-height: 40px;*/ - } - .head-area-button{ - margin-right: 5px; + + .el-icon-c-scale-to-original { + width: 30px; + height: 30px; + font-size: 30px; + } + + .el-dialog.el-dialog--center { + left: 0.45rem; + top: 0.73979rem; + } + } </style> -- Gitblit v1.8.0