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 | 200 ++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 154 insertions(+), 46 deletions(-) diff --git a/src/components/table/summarySheets.vue b/src/components/table/summarySheets.vue index 9411a28..914a8ee 100644 --- a/src/components/table/summarySheets.vue +++ b/src/components/table/summarySheets.vue @@ -1,79 +1,187 @@ <template> - <div class="summary-sheets"> - <el-tooltip :popper-class="'map-tooltip'" effect="dark" content="缁熻琛�" placement="left"> - <div :class='["iconBtn",summaryVisible ? "active-button" : ""]' @click="closeBtn"> - <img src="@assets/images/map-pages/icon/toolbox/table.png" alt="" class="icon"> - <!--<span class="icon-name">缁熻琛�</span>--> - </div> - </el-tooltip> - <!-- <Dialog ref="summarySheets" title="浼佷笟鎸囨爣鍒嗙被缁熻">--> - <!-- <tab-handover></tab-handover>--> - <!-- </Dialog >--> - <div class="dialog" v-drag> - <tab-handover></tab-handover> + <div class="summary-sheets"> + <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> - </div> </template> <script> 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/BaseNav/SolidWaste/directive/dir' +// import '@/components/base-page/SolidWaste/directive/dir' +// import '@/components/plugin/DialogDrag' + +import bus from '@/eventBus' export default { name: 'summary-sheet.vue', components: { - tabHandover + tabHandover, + Dialog, + Warn, + IndexStatistics // Dialog }, data () { return { - summaryVisible: false - } - }, - methods: { - closeBtn () { - // const summary = document.getElementById('summary') - // summary.style.display = 'none' - this.$refs.summarySheets.show() - this.summaryVisible = true + 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: { + 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 scoped lang="less"> -.summary-sheets { - position: absolute; - top: 0.42979rem; - left: 0.14583rem; - /*width: 850px;*/ - /*height: 265px;*/ - z-index: 500; +<style lang="less"> + .summary-sheets { + position: absolute; + display: inline-flex; + overflow: hidden; + top: 0.42979rem; + left: 0.14583rem; + /*width: 850px;*/ + /*height: 265px;*/ + z-index: 500; + .el-dialog__header { + padding: 10px 20px 10px !important; + .el-dialog__headerbtn{ + top: 16px; + right: 16px; + } + } + .subtopic { + display: inline-flex; - .dialog { - width: 800px; - height: 300px; - position: absolute; - top: 15%; - left: 3rem; - } + .iconBtn { + margin-left: 0.03rem; + border-color: #00fff6; + color: #00fff6; + } - /*color: #fff;*/ + .iconBtn.active-button { + //border-color:#00fff6 !important; + //color:#00fff6 !important; + } + } - .el-icon-c-scale-to-original { - width: 30px; - height: 30px; - font-size: 30px; - } -} + .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;*/ + + .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