From ce658042246b6425bbb015c2d271e2b3f9c9d83e Mon Sep 17 00:00:00 2001
From: chenzeping <ChenZeping02609@163.com>
Date: 星期一, 15 三月 2021 09:14:01 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master
---
src/components/panel/RightSearchPanel.vue | 173 ++++--
src/components/panel/MenuTopic.vue | 1
src/components/table/enterprise.vue | 62 ++
src/conf/Topic.js | 18
vue.config.js | 10
public/index.html | 14
src/assets/css/map/map-panel-style.less | 92 +++
src/assets/images/map-pages/icon/map/warn.png | 0
src/components/table/components/IndexStatistics.vue | 263 ++++++++++
src/utils/dialogDrag.js | 80 +++
src/assets/css/map/map-popup.less | 13
src/views/MapTemplate.vue | 19
src/components/panel/LegendPanel.vue | 216 +++-----
src/views/popup/Dialog.vue | 37 +
src/assets/images/map-pages/icon/map/company.png | 0
src/assets/css/map/_map-variable.less | 5
/dev/null | 62 --
src/components/plugin/DialogDrag.js | 49 ++
src/components/table/summarySheets.vue | 21
src/main.js | 3
package.json | 2
src/components/panel/topicSearch/SewersSearch.vue | 49 +
src/App.vue | 5
src/components/table/components/Warn.vue | 232 +++++++++
24 files changed, 1,129 insertions(+), 297 deletions(-)
diff --git a/package.json b/package.json
index 1e6e4b7..1004223 100644
--- a/package.json
+++ b/package.json
@@ -30,7 +30,9 @@
"nprogress": "^0.2.0",
"rbush": "^3.0.1",
"screenfull": "^3.3.3",
+ "style-resources-loader": "^1.4.1",
"vue": "^2.6.11",
+ "vue-cli-plugin-style-resources-loader": "^0.1.4",
"vue-count-to": "^1.0.13",
"vue-focus": "^2.1.0",
"vue-fullscreen": "^2.2.0",
diff --git a/public/index.html b/public/index.html
index 6c18cb7..396d79c 100644
--- a/public/index.html
+++ b/public/index.html
@@ -15,5 +15,19 @@
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
+ <script type="text/javascript">
+ /* 杩欓噷鎴戜滑鍒╃敤浜嗕竴涓嚜鎵ц鍑芥暟 */
+ (function(){
+ change();
+ function change(){
+ console.log( document.documentElement.clientWidth*12/640 +'px')
+ //html鐨� font-size 鐨勫ぇ灏忓昂瀵�
+ //杩欓噷鐨刪tml瀛椾綋澶у皬鍒╃敤浜嗕竴涓畝鍗曠殑鏁板鍏紡锛屽綋鎴戜滑榛樿璁剧疆浠ュ睆骞�320px浣嶅熀鍑嗘鏃剁殑瀛椾綋澶у皬涓�20px(320 20px),閭d箞娴忚鍣ㄧ獥鍙eぇ灏忔敼鍙樼殑鏃跺�欐柊鐨刪tml鐨刦ontSize锛坈lientWidth 鏂扮殑鍊硷級灏辨槸clientWidth*20/320
+ document.documentElement.style.fontSize = document.documentElement.clientWidth/12 +'px';
+ }
+ /* 鐩戝惉绐楀彛澶у皬鍙戠敓鏀瑰彉鏃�*/
+ window.addEventListener('resize',change,false);
+ })();
+ </script>
</body>
</html>
diff --git a/src/App.vue b/src/App.vue
index 6cd8911..89338ed 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -13,9 +13,9 @@
}
</script>
-<style>
+<style lang="less">
html, body, #app{
- color: #2c3e50;
+ color: @color;
height: 100vh;
width: 100vw;
margin: 0;
@@ -27,6 +27,7 @@
}
body{
-ms-overflow-style: none;
+ font-size: 12px;
}
</style>
diff --git a/src/assets/css/map/_map-variable.less b/src/assets/css/map/_map-variable.less
index aad5b7b..caba7bb 100644
--- a/src/assets/css/map/_map-variable.less
+++ b/src/assets/css/map/_map-variable.less
@@ -1,4 +1,9 @@
@color:#00fff6;
@color-highlight:#fff700;
+@color-gray:#C0C4CC;
+@color-title:white;
+@color-over:white;
@background-color:rgba(0,16,30,.8);
@background-color-light:rgba(40,50,100,.4);
+@background-color-split:rgba(0,255,246,.14);
+@border-radius: .03rem;
diff --git a/src/assets/css/map/map-elem-ui.less b/src/assets/css/map/map-elem-ui.less
deleted file mode 100644
index 1f6fd20..0000000
--- a/src/assets/css/map/map-elem-ui.less
+++ /dev/null
@@ -1,62 +0,0 @@
-@import "_map-variable";
-.el-button--primary{
- color: @color;
- background-color: @background-color;
- border-color: @color;
-}
-
-.el-tabs{
- .el-tabs__item{
- padding: 0 10px;
- text-align: center;
- height: 20px;
- line-height: 20px;
- }
-}
-.select-down {
- border: none !important;
- background-color: @background-color !important;
-
- //.el-scrollbar{
- //
- // background-color: @background-color !important;
- // }
- // .el-scrollbar__view .el-select-dropdown__list{
- // background-color: @background-color !important;
- // }
- .el-select-dropdown__item.hover{
- background-color: @background-color-light;
- }
- .el-select-dropdown__item {
- color: @color;
- //background-color: @background-color;
- }
- // .el-select-dropdown{
- // border: none !important;
- // background-color: @background-color !important;
- // }
- // .el-select-dropdown__empty{
- // color: @color;
- // background-color: @background-color;
- // }
- .popper__arrow::after{
- border-bottom-color: @color !important;
- }
-}
-.sewers-search{
- display: block;
- //width: calc(100% - 10px);
- height:512px;
- .search-btn{
-
-
- }
- //location-btn{
- //
- //}
-
- .location-btn:hover,.el-input__icon:hover{
- color: @color;
- cursor: pointer;
- }
-}
diff --git a/src/assets/css/map/map-panel-style.less b/src/assets/css/map/map-panel-style.less
new file mode 100644
index 0000000..94824fb
--- /dev/null
+++ b/src/assets/css/map/map-panel-style.less
@@ -0,0 +1,92 @@
+@import "_map-variable";
+.el-button--primary{
+ color: @color;
+ background-color: @background-color;
+ border-color: @color;
+}
+
+.el-tabs{
+ .el-tabs__item{
+ padding: 0 10px;
+ text-align: center;
+ height: 20px;
+ line-height: 20px;
+ }
+}
+.select-down {
+ border: none !important;
+ background-color: @background-color ;
+
+ //.el-scrollbar{
+ //
+ // background-color: @background-color !important;
+ // }
+ // .el-scrollbar__view .el-select-dropdown__list{
+ // background-color: @background-color !important;
+ // }
+ .el-select-dropdown__item.hover{
+ background-color: @background-color-light;
+ }
+ .el-select-dropdown__item {
+ color: @color;
+ //background-color: @background-color;
+ }
+ // .el-select-dropdown{
+ // border: none !important;
+ // background-color: @background-color !important;
+ // }
+ // .el-select-dropdown__empty{
+ // color: @color;
+ // background-color: @background-color;
+ // }
+ .popper__arrow::after{
+ border-bottom-color: @color ;
+ }
+
+
+}
+.map-input{
+ input{
+ border-radius: 0;
+ background-color: @background-color-light ;
+ border: solid 1px @color ;
+ }
+}
+
+.map-tooltip.is-dark{
+ font-size: .08333rem ;
+ color: @color-highlight ;
+ background: @background-color ;
+ border-radius: .03rem;
+ padding: .05rem ;
+}
+.map-btn-unactive{
+ color: @color ;
+ border: .00521rem solid @color ;
+ box-shadow: 0 0 .03rem @color ;
+}
+.map-btn-active{
+ color: @color-highlight ;
+ border: .00521rem solid @color-highlight ;
+ box-shadow: 0 0 .03rem @color-highlight ;
+}
+.map-btn-background{
+ background: @background-color;
+ //border: .00521rem solid @color;
+ //box-shadow: 0 0 .03rem @color;
+ //border-radius: .05208rem;
+}
+.map-background{
+ //color: @color;
+ border: .00521rem solid @color;
+ box-shadow: 0 0 .03rem @color;
+ background: @background-color;
+ //padding: .05rem !important;
+ border-radius: .05208rem;
+}
+.map-under-line {
+ height: 1px;
+ background: @background-color-split;
+ margin-block-start: 0;
+ margin-block-end: 0;
+}
diff --git a/src/assets/css/map/map-popup.less b/src/assets/css/map/map-popup.less
index 9384d92..d451294 100644
--- a/src/assets/css/map/map-popup.less
+++ b/src/assets/css/map/map-popup.less
@@ -6,12 +6,13 @@
background-color: @background-color;
/*background-color: transparent;*/
border: .00521rem solid @color;
- padding: .10417rem;
+ padding: .05rem;
//-webkit-box-shadow: 0 0 0.03125rem 0 @color;
//box-shadow: 0 0 0.03125rem 0 @color;
-webkit-box-shadow: 0 0 10px 0 @color;
- box-shadow: 0 0 10px @color;
- border-radius: 1rem;
+ box-shadow: 0 0 .03rem @color;
+ //border-radius: .03rem;
+ border-radius: 10px;
}
.leaflet-popup-tip-container {
@@ -22,15 +23,15 @@
content: "";
position: absolute;
left: 50%;
- bottom: -.3rem;
+ bottom: -.03rem;
-webkit-transform: translateX(-50%) rotate(
45deg
);
transform: translateX(-50%) rotate(
45deg
);
- width: .6rem;
- height: .6rem;
+ width: .06rem;
+ height: .06rem;
background-color: @background-color;
border-right: .00521rem solid @color;
border-bottom: .00521rem solid @color;
diff --git a/src/assets/images/map-pages/icon/map/company.png b/src/assets/images/map-pages/icon/map/company.png
new file mode 100644
index 0000000..28a279a
--- /dev/null
+++ b/src/assets/images/map-pages/icon/map/company.png
Binary files differ
diff --git a/src/assets/images/map-pages/icon/map/warn.png b/src/assets/images/map-pages/icon/map/warn.png
new file mode 100644
index 0000000..3533b7c
--- /dev/null
+++ b/src/assets/images/map-pages/icon/map/warn.png
Binary files differ
diff --git a/src/components/panel/LegendPanel.vue b/src/components/panel/LegendPanel.vue
index a70ef75..383aea2 100644
--- a/src/components/panel/LegendPanel.vue
+++ b/src/components/panel/LegendPanel.vue
@@ -1,28 +1,27 @@
<template>
<div class="legend-panel">
- <div class="legend-icon unactive" @click="legendChange()">
- <i class="el-icon-more-outline"></i>
- <span>鍥句緥</span>
- </div>
<transition name="fade">
- <div class="legend-content" v-show="legendControl">
+ <div :class="'legend-content map-background'" v-show="legendControl">
<div class="legend-content-box" v-for="(item,index) in legendContents" :key="index">
- <p>{{ item.title }}</p>
+ <p><span>{{ item.title }}</span></p>
+ <div :class="index === 5 ? '':'map-under-line'"></div>
<ul>
- <div v-for="(ite,inde) in item.items" :key="inde">
- <li>
- <img :src='ite.legendImage' alt=''>
- <span>{{ ite.legendContent }}</span>
- </li>
- </div>
+ <li v-for="(ite,inde) in item.items" :key="inde">
+ <img :src='ite.legendImage' alt=''>
+ <span>{{ ite.legendContent }}</span>
+ </li>
</ul>
- <div :class="index === 5 ? '':'under-line'"></div>
</div>
</div>
</transition>
+ <el-tooltip :popper-class="'map-tooltip'" effect="dark" content="鍥句緥" placement="left">
+ <div :class="this.legendControl?'legend-btn map-btn-active':'legend-btn map-btn-unactive'"
+ @click="legendChange()">
+ <i class="el-icon-more-outline"></i>
+ </div>
+ </el-tooltip>
</div>
</template>
-
<script>
export default {
name: 'LegendPanel',
@@ -32,75 +31,6 @@
legendControl: false,
// 鍥鹃噷瀛樺偍鏁版嵁
legendContents: [
- {
- title: '棰勮',
- items: [
- {
- legendImage: '../.././assets/images/map-pages/setting.png',
- legendContent: '鏆撮洦绾㈣壊棰勮'
- },
- {
- legendImage: '../.././assets/images/map-pages/setting.png',
- legendContent: '鏆撮洦姗欒壊棰勮'
- },
- {
- legendImage: '../.././assets/images/map-pages/setting.png',
- legendContent: '鏆撮洦榛勮壊棰勮'
- },
- {
- legendImage: '../.././assets/images/map-pages/setting.png',
- legendContent: '鏆撮洦钃濊壊棰勮'
- },
- {
- legendImage: '../.././assets/images/map-pages/setting.png',
- legendContent: '鏆撮绾㈣壊棰勮'
- },
- {
- legendImage: '../.././assets/images/map-pages/setting.png',
- legendContent: '鏆撮绾㈣壊棰勮'
- },
- {
- legendImage: '../.././assets/images/map-pages/setting.png',
- legendContent: '鏆撮绾㈣壊棰勮'
- },
- {
- legendImage: '../.././assets/images/map-pages/setting.png',
- legendContent: '鏆撮绾㈣壊棰勮'
- },
- {
- legendImage: '../.././assets/images/map-pages/setting.png',
- legendContent: '鏆撮绾㈣壊棰勮'
- },
- {
- legendImage: '../.././assets/images/map-pages/setting.png',
- legendContent: '鏆撮绾㈣壊棰勮'
- },
- {
- legendImage: '../.././assets/images/map-pages/setting.png',
- legendContent: '鏆撮绾㈣壊棰勮'
- },
- {
- legendImage: '../.././assets/images/map-pages/setting.png',
- legendContent: '鏆撮绾㈣壊棰勮'
- },
- {
- legendImage: '../.././assets/images/map-pages/setting.png',
- legendContent: '鏆撮绾㈣壊棰勮'
- },
- {
- legendImage: '../.././assets/images/map-pages/setting.png',
- legendContent: '鏆撮绾㈣壊棰勮'
- },
- {
- legendImage: '../.././assets/images/map-pages/setting.png',
- legendContent: '鏆撮绾㈣壊棰勮'
- },
- {
- legendImage: '../.././assets/images/map-pages/setting.png',
- legendContent: '鏆撮绾㈣壊棰勮'
- }
- ]
- },
{
title: '浼佷笟',
items: [
@@ -214,7 +144,7 @@
}
</script>
-<style lang="less" scoped>
+<style lang="less">
.legend-panel {
position: absolute;
z-index: 502;
@@ -225,14 +155,35 @@
flex-direction: column;
-webkit-box-align: end;
-ms-flex-align: end;
- align-items: flex-end;
+ //align-items: flex-end;
+ transition: all .5s;
- .legend-icon {
- width: 3.4rem;
- height: 1.6rem;
- border-radius: 0.3rem;
- background: white;
+ .legend-btn {
+ width: .2rem;
+ height: .2rem;
+ //font-size: .08333rem;
+ border: .00521rem solid @background-color-light;
+ border-radius: @border-radius;
text-align: center;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: vertical;
+ -webkit-box-direction: normal;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-pack: center;
+ -ms-flex-pack: center;
+ justify-content: center;
+ background: @background-color;
+ margin-top: .04167rem;
+ cursor: pointer;
+ //color: @color;
+ margin-left: auto;
+ font-size: 0.08333rem;
}
@keyframes bounce-in {
@@ -248,72 +199,81 @@
.fade-enter-active {
transform-origin: right bottom;
- animation: bounce-in .5s;
+ animation: bounce-in .2s;
}
.fade-leave-active {
transform-origin: right bottom;
- animation: bounce-in .5s reverse;
+ animation: bounce-in .2s reverse;
}
.legend-content {
- position: absolute;
- right: 0.3rem;
- bottom: 3rem;
- width: 30rem;
- border-radius: 1rem;
- background: #3c7699;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-orient: horizontal;
+ -webkit-box-direction: reverse;
+ -ms-flex-direction: row-reverse;
+ flex-direction: row-reverse;
+
+ width: -webkit-max-content;
+ width: -moz-max-content;
+ width: max-content;
+
+ overflow: hidden;
+ min-height: 1.28646rem;
.legend-content-box {
+ font-size: 0.07292rem;
+ padding: .10417rem;
+ border-left: .00521rem solid @background-color-split;
+
p {
text-align: center;
- color: #ffffff;
- font-size: 14px;
+ margin: 0 !important;
+ //padding: 0;
+ //color: @color-title;
+ -webkit-margin-before: 0.3rem;
margin-block-start: 0.3rem;
+ -webkit-margin-after: 0.2rem;
margin-block-end: 0.2rem;
+ margin-bottom: 0.05208rem !important;
+
+ span {
+ color: @color-title;
+ font-size: .08333rem;
+ font-weight: 600;
+ }
}
ul {
list-style: none;
- display: flex;
flex-wrap: wrap;
- padding: 0;
+ margin: 0 !important;
+ padding: 0 !important;;
padding-inline: 0;
+ font-size: .08333rem;
- div {
- width: 25%;
+ li {
+ list-style: none;
display: flex;
- justify-content: center;
- margin: 0.1rem 0;
+ -webkit-box-align: center;
+ align-items: center;
+ margin: 0.05208rem 0;
- li {
- width: 100%;
- display: flex;
- justify-content: space-around;
- margin-left: 15px;
- margin-right: 15px;
+ img {
+ width: .08333rem;
+ height: .08333rem;
+ margin-right: .01042rem;
+ }
- img {
- height: 18px;
- width: 18px;
- }
-
- span {
- width: 80px;
- font-size: 12px;
- color: white;
- }
+ span {
+ color: @color;
}
}
}
}
- .under-line {
- height: 2px;
- background: #7bc5ef;
- margin-block-start: 0;
- margin-block-end: 0;
- }
}
}
</style>
diff --git a/src/components/panel/MenuTopic.vue b/src/components/panel/MenuTopic.vue
index 5b2018b..bf13eeb 100644
--- a/src/components/panel/MenuTopic.vue
+++ b/src/components/panel/MenuTopic.vue
@@ -66,7 +66,6 @@
</script>
<style lang="less" >
-@import '@assets/css/map/_map-variable';
.menu-special {
position: absolute;
left: 1rem;
diff --git a/src/components/panel/RightSearchPanel.vue b/src/components/panel/RightSearchPanel.vue
index 650c599..ea52369 100644
--- a/src/components/panel/RightSearchPanel.vue
+++ b/src/components/panel/RightSearchPanel.vue
@@ -1,10 +1,22 @@
<template>
- <div id="right-panel">
+ <div class="panel-right" v-show="isShow">
<div class="panel-tab">
- <div v-for="item in topicMenu" :key="item.id" :title="item.name" class="tab-item" @click="handleGd" :class="{'B-TMT-tab-waybill-isActive': isWaybillHover}">
- <img :src="item.icon" style="width: 24px;height: 24px;"></div>
-<!-- <div class="tab-item" @click="handleHb" :class="{'B-TMT-tab-route-isActive': isRouteHover}"></div>-->
-<!-- <div class="tab-item" @click="handlePk" :class="{'B-TMT-tab-route-isActive': isRouteHover}"></div>-->
+<!-- <div v-for="item in topicMenu" :key="item.id" :title="item.name" class="tab-item" @click="handleGd"-->
+<!-- :class="{'B-TMT-tab-waybill-isActive': isWaybillHover}">-->
+<!-- <img :src="item.icon" style="width: 24px;height: 24px;"></div>-->
+ <div class="container">
+ <ul v-for="item in topicList" :key="item.name" :class="item.checked?'module-wrap map-btn-active':'module-wrap map-btn-unactive'" @click="()=>{selected(item)}" >
+ <el-tooltip :popper-class="'map-tooltip'" effect="dark" :content="item.name" placement="left">
+ <li style=" ">
+<!-- <span>{{item.name}}</span>-->
+
+<!-- <div >-->
+ <img src="../../assets/images/map-pages/icon/sl.png" class="icon">
+<!-- </div>-->
+ </li>
+ </el-tooltip>
+ </ul>
+ </div>
</div>
<!-- <div class="panel-fold-btn" >-->
<!-- <div class="btn-stretch" @click="toggleMonitorPanel"></div>-->
@@ -29,7 +41,6 @@
</template>
<script>
-// import $ from 'jquery'
import EnvProtectSearch from './topicSearch/EnvProtectSearch'
import DischargeSearch from './topicSearch/DischargeSearch'
import { TopicList } from '../../conf/Topic'
@@ -40,6 +51,7 @@
components: { EnvProtectSearch, DischargeSearch },
data () {
return {
+ isShow: true,
topicMenu: [],
topicList: TopicList,
topicCheckedList: [],
@@ -52,8 +64,7 @@
toggleMonitorStyle: 'right:0px',
title: '姹¢洦姘寸缃�',
-
- isCollapse: false
+ isCollapse: true
}
},
computed: {},
@@ -66,7 +77,6 @@
this.topicList.forEach((item) => {
this.topicCheckedList.forEach((itm) => {
if (item.name === itm) {
- // item.checked = tr
this.topicMenu.push(item)
}
})
@@ -77,7 +87,12 @@
handleClose (done) {
console.log(done)
},
-
+ selected (val) {
+ console.log(val)
+ this.topicList.forEach((itm) => {
+ itm.checked = val.name === itm.name
+ })
+ },
handlePage (page) {
},
handleGd () {
@@ -90,8 +105,8 @@
// const el = document.getElementsByClassName('.btn-stretch')
// const el2 = document.getElementsByClassName('.panel-fold-btn')
// let = 'btn-stretch-active'
- // var rightControl = $('#right-panel')
- // var rightControl = document.getElementById('#right-panel')
+ // var rightControl = $('#panel-right')
+ // var rightControl = document.getElementById('#panel-right')
// const right = rightControl.css('right')
// const rightit = rightControl.ownerDocument.defaultView
// const right = rightit.getComputedStyle(rightit, null).right
@@ -130,31 +145,66 @@
</script>
<style lang="less">
-@import '@assets/css/map/_map-variable';
-#right-panel {
- width: 322px;
- //height: 573px;
- height: 100%;
+.module-wrap{
+ width: 0.15rem;
+ height: 0.15rem;
+ padding: .04167rem;
+ //padding: .00521rem;
+ background: rgba(0,16,30,.5);
+ border-radius: .03125rem;
+ border: .00521rem solid rgba(255,247,0,.5);
+ margin: .04167rem 0;
+ font-size: .08333rem;
+ -webkit-transition: all .2s linear;
+ transition: all .2s linear;
+ cursor: pointer;
+ position: relative;
+ line-height: 0.15rem;
+ li{
+ margin: 0.00521rem 0;
+ text-align: center;
+ img{
+ width: 0.1rem;
+ height: 0.1rem;
+
+ }
+ }
+}
+.panel-right {
+ display: inline-flex;
+ //width: 322px;
+ //height: 100%;
+ //position: absolute;
+ //right: 10px;
+ //top: 10px;
+ height: 0;
position: absolute;
- right: 10px;
- top: 10px;
+ top: .4rem;
+ right: .08333rem;
+ z-index: 501;
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-align: start;
+ -ms-flex-align: start;
+ align-items: flex-start;
- .el-card__body {
- padding: 7px;
- }
- .el-form-item__content {
- color: rgb(52, 224, 255);
- }
-
- .el-picker-panel {
- background-color: #061e51 !important;
- }
-
- .el-input__inner {
- border-radius: 0 !important;
- background-color: #061e51 !important;
- border: solid 1px #0e639e !important;
- }
+ //.el-card__body {
+ // padding: 7px;
+ //}
+ //.el-form-item__content {
+ // color: rgb(52, 224, 255);
+ //}
+ //
+ //.el-picker-panel {
+ // background-color: #061e51 !important;
+ //}
+ //
+ //.el-input__inner {
+ // border-radius: 0 !important;
+ // background-color: #061e51 !important;
+ // border: solid 1px #0e639e !important;
+ //}
.el-form-item__label {
color: rgb(52, 224, 255);
@@ -262,8 +312,8 @@
background-color: rgba(5,24,66,.8);
border-radius: 10px 0 0 10px;
.btn-stretch {
- width: 20px;
- height: 40px;
+ //width: 20px;
+ //height: 40px;
background: url('../../assets/images/map-pages/icon/icon.png') no-repeat -408px 5px;
cursor: pointer;
/*margin-left: -20px;*/
@@ -285,8 +335,8 @@
}
.tab-item {
- width: 32px;
- height: 30px;
+ //width: .2rem;
+ //height: .2rem;
color: @color;
font-size: 12px;
background-color: #0B3B6D;
@@ -295,13 +345,16 @@
cursor: pointer;
}
.panel-tab {
- position: absolute;
- left: 0;
- //height: 120px;
- top: 0;
- width: 32px;
+ position: relative;
z-index: 500;
- background: url('../../assets/images/map-pages/icon/caidan.png') no-repeat;
+ margin-right: .025rem;
+ .container{
+ max-height: 3.125rem;
+ overflow: hidden;
+ position: relative;
+ position: relative;
+ }
+
}
.right-control {
@@ -309,11 +362,11 @@
//height: 573px;
height: 100%;
position: relative;
- top: 0;
- right: 0;
- z-index: 999;
- background: url('../../assets/images/map-pages/icon/bgc.png') no-repeat;
- background-size: 100% 98%;
+ //top: 0;
+ //right: 0;
+ z-index: 500;
+ //background: url('../../assets/images/map-pages/icon/bgc.png') no-repeat;
+ //background-size: 100% 98%;
}
.a{
transform: translateX(328px);
@@ -352,16 +405,16 @@
font-size: 18px;
}
- .search-panel {
- border: #07325B;
- background-color: #07325B !important;
- margin-top: 0px;
-
- .el-input__inner {
- border-radius: 0px !important;
- background-color: #061e51 !important;
- }
- }
+ //.search-panel {
+ // border: #07325B;
+ // background-color: #07325B !important;
+ // margin-top: 0px;
+ //
+ // .el-input__inner {
+ // border-radius: 0px !important;
+ // background-color: #061e51 !important;
+ // }
+ //}
input::-webkit-input-placeholder {
color: #569ee1;
diff --git a/src/components/panel/topicSearch/SewersSearch.vue b/src/components/panel/topicSearch/SewersSearch.vue
index 9a67eea..b9d023e 100644
--- a/src/components/panel/topicSearch/SewersSearch.vue
+++ b/src/components/panel/topicSearch/SewersSearch.vue
@@ -1,12 +1,12 @@
<template>
- <div class="sewers-search">
+ <div :class="'sewers-search map-background'">
<div class="el-message-box__content" style="padding:6px;font-size: 13px;">
<div class="box__content" v-if="gdVisible">
<div>
- <el-card class="search-panel">
+ <div class="search-panel ">
<el-form ref="form" :model="form" label-width="90px" class="search-form">
<el-form-item label="璁炬柦绫诲瀷锛�" size="mini" class="search-panel-item">
- <el-select v-model="form.pipelineType" @change="handlePipelineType" popper-class="select-down">
+ <el-select style="width: 100%" :popper-append-to-body="false" v-model="form.pipelineType" @change="handlePipelineType" :popper-class="'select-down'">
<el-option
v-for="item in pipelineTypeOptions"
:key="item.value"
@@ -16,7 +16,7 @@
</el-select>
</el-form-item>
<el-form-item :label="form.pipelineType+'锛�'" size="mini">
- <el-select v-model="form.dataType" @change="handleDataType" popper-class="select-down">
+ <el-select style="width: 100%" :popper-append-to-body="false" v-model="form.dataType" @change="handleDataType" :popper-class="'select-down'">
<el-option
v-for="item in dataTypeOptions"
:key="item.value"
@@ -38,7 +38,7 @@
<!-- <input type="button" class="btn-reset" @click="handleSearch" value="閲嶇疆">-->
<!-- </el-form-item>-->
</el-form>
- </el-card>
+ </div>
<el-scrollbar style="height:100%">
<el-card class="search-result" >
<div class="B-TMD-table-list" v-for="(item,index) in list" :key="index">
@@ -187,6 +187,41 @@
}
</script>
-<style lang="less">
-@import '@assets/css/map/map-elem-ui';
+<style lang="less" scoped>
+.sewers-search{
+ position: relative;
+ width: 1.79167rem;
+ height: 3.4375rem;
+ overflow: hidden;
+ .search-panel{
+ background-color: transparent;
+ border: 1px solid @background-color-split;
+ padding: 10px;
+
+ /deep/ input {
+ border-radius: 0;
+ background-color: @background-color-split ;
+ border: solid 1px @color ;
+ color: @color-gray;
+ font-size: 0.01rem;
+ .el-select .el-input.is-focus .el-input__inner{
+ border-color: @color;
+ }
+ }
+ /deep/ input:focus{
+ border-color: @color;
+ }
+ }
+ .search-btn{
+
+ }
+ //location-btn{
+ //
+ //}
+
+ .location-btn:hover,.el-input__icon:hover{
+ color: @color;
+ cursor: pointer;
+ }
+}
</style>
diff --git a/src/components/plugin/DialogDrag.js b/src/components/plugin/DialogDrag.js
new file mode 100644
index 0000000..2972234
--- /dev/null
+++ b/src/components/plugin/DialogDrag.js
@@ -0,0 +1,49 @@
+import Vue from 'vue'
+
+// v-dialogDrag: 寮圭獥鎷栨嫿
+Vue.directive('dialogDrag', {
+ bind (el, binding, vnode, oldVnode) {
+ const dialogHeaderEl = el.querySelector('.el-dialog__header')
+ const dragDom = el.querySelector('.el-dialog')
+ dialogHeaderEl.style.cursor = 'move'
+
+ // 鑾峰彇鍘熸湁灞炴�� ie dom鍏冪礌.currentStyle 鐏嫄璋锋瓕 window.getComputedStyle(dom鍏冪礌, null);
+ const sty = dragDom.currentStyle || window.getComputedStyle(dragDom, null)
+
+ dialogHeaderEl.onmousedown = (e) => {
+ // 榧犳爣鎸変笅锛岃绠楀綋鍓嶅厓绱犺窛绂诲彲瑙嗗尯鐨勮窛绂�
+ const disX = e.clientX - dialogHeaderEl.offsetLeft
+ const disY = e.clientY - dialogHeaderEl.offsetTop
+
+ // 鑾峰彇鍒扮殑鍊煎甫px 姝e垯鍖归厤鏇挎崲
+ let styL, styT
+
+ // 娉ㄦ剰鍦╥e涓� 绗竴娆¤幏鍙栧埌鐨勫�间负缁勪欢鑷甫50% 绉诲姩涔嬪悗璧嬪�间负px
+ if (sty.left.includes('%')) {
+ styL = +document.body.clientWidth * (+sty.left.replace(/\%/g, '') / 100)
+ styT = +document.body.clientHeight * (+sty.top.replace(/\%/g, '') / 100)
+ } else {
+ styL = +sty.left.replace(/\px/g, '')
+ styT = +sty.top.replace(/\px/g, '')
+ }
+
+ document.onmousemove = function (e) {
+ // 閫氳繃浜嬩欢濮旀墭锛岃绠楃Щ鍔ㄧ殑璺濈
+ const l = e.clientX - disX
+ const t = e.clientY - disY
+
+ // 绉诲姩褰撳墠鍏冪礌
+ dragDom.style.left = `${l + styL}px`
+ dragDom.style.top = `${t + styT}px`
+
+ // 灏嗘鏃剁殑浣嶇疆浼犲嚭鍘�
+ // binding.value({x:e.pageX,y:e.pageY})
+ }
+
+ document.onmouseup = function (e) {
+ document.onmousemove = null
+ document.onmouseup = null
+ }
+ }
+ }
+})
diff --git a/src/components/table/components/IndexStatistics.vue b/src/components/table/components/IndexStatistics.vue
new file mode 100644
index 0000000..f38b288
--- /dev/null
+++ b/src/components/table/components/IndexStatistics.vue
@@ -0,0 +1,263 @@
+<template>
+ <el-tabs v-model="activeName">
+ <el-tab-pane label="鎸囨爣缁熻" name="first"><el-table
+ :data="tableData"
+ style="width: 100%">
+ <el-table-column
+ prop="date"
+ label="搴忓彿"
+ width="150">
+ </el-table-column>
+ <el-table-column
+ prop="date"
+ label="鍗曚綅鍚嶇О"
+ width="150">
+ </el-table-column>
+ <el-table-column
+ prop="date"
+ label="宸ヤ笟鍙栨按閲�(m3)"
+ width="150">
+ </el-table-column>
+ <el-table-column
+ prop="date"
+ label="澶栨帓搴熸按閲�(m3)"
+ width="150">
+ </el-table-column>
+ <el-table-column
+ prop="date"
+ label="宸ヤ笟搴熸皵鎺掓斁閲�(m3)"
+ width="150">
+ </el-table-column>
+ <el-table-column label="COD(t)">
+ <el-table-column
+ prop="province"
+ label="绱浜х敓閲�"
+ width="120">
+ </el-table-column>
+ <el-table-column
+ prop="city"
+ label="褰撴湀浜х敓閲�"
+ width="120">
+ </el-table-column>
+ </el-table-column>
+ <el-table-column label="姘ㄦ爱(t)">
+ <el-table-column
+ prop="province"
+ label="绱浜х敓閲�"
+ width="120">
+ </el-table-column>
+ <el-table-column
+ prop="city"
+ label="褰撴湀浜х敓閲�"
+ width="120">
+ </el-table-column>
+ </el-table-column>
+ <el-table-column label="浜屾哀鍖栫~(t)">
+ <el-table-column
+ prop="province"
+ label="绱浜х敓閲�"
+ width="120">
+ </el-table-column>
+ <el-table-column
+ prop="city"
+ label="褰撴湀浜х敓閲�"
+ width="120">
+ </el-table-column>
+ </el-table-column>
+ <el-table-column label="姘哀鍖栫墿(t)">
+ <el-table-column
+ prop="province"
+ label="绱浜х敓閲�"
+ width="120">
+ </el-table-column>
+ <el-table-column
+ prop="city"
+ label="褰撴湀浜х敓閲�"
+ width="120">
+ </el-table-column>
+ </el-table-column>
+ <el-table-column label="VOCs(t)">
+ <el-table-column
+ prop="province"
+ label="绱浜х敓閲�"
+ width="120">
+ </el-table-column>
+ <el-table-column
+ prop="city"
+ label="褰撴湀浜х敓閲�"
+ width="120">
+ </el-table-column>
+ </el-table-column>
+ <el-table-column label="鍥哄簾(t)">
+ <el-table-column
+ prop="province"
+ label="绱浜х敓閲�"
+ width="120">
+ </el-table-column>
+ <el-table-column
+ prop="city"
+ label="褰撴湀浜х敓閲�"
+ width="120">
+ </el-table-column>
+ </el-table-column>
+ </el-table></el-tab-pane>
+ <el-tab-pane label="浼佷笟鎺掑悕" name="second"><el-table
+ :data="tableData"
+ style="width: 100%"
+ max-height="250">
+ <el-table-column
+ fixed
+ prop="date"
+ label="浼佷笟鍚嶇О"
+ width="150">
+ </el-table-column>
+ <el-table-column
+ prop="name"
+ label="搴熸按杈炬爣鐜�"
+ width="120">
+ </el-table-column>
+ <el-table-column
+ prop="province"
+ label="鍚嶆"
+ width="120">
+ </el-table-column>
+ <el-table-column
+ prop="city"
+ label="搴熸皵杈炬爣鐜�"
+ width="120">
+ </el-table-column>
+ <el-table-column
+ prop="address"
+ label="鍚嶆"
+ width="300">
+ </el-table-column>
+ <el-table-column
+ prop="zip"
+ label="浼犺緭鐜�"
+ width="120">
+ </el-table-column>
+ <el-table-column
+ prop="zip"
+ label="鍚嶆"
+ width="120">
+ </el-table-column>
+ <el-table-column
+ prop="zip"
+ label="璁惧瀹屽ソ鐜�"
+ width="120">
+ </el-table-column>
+ <el-table-column
+ prop="zip"
+ label="鎺掑悕"
+ width="120">
+ </el-table-column>
+ </el-table></el-tab-pane>
+ <el-tab-pane label="鎺掓斁鐐规帓鍚�" name="third"><el-table
+ :data="tableData"
+ style="width: 100%"
+ max-height="250">
+ <el-table-column
+ fixed
+ prop="date"
+ label="鎺掓斁鐐瑰悕绉�"
+ width="150">
+ </el-table-column>
+ <el-table-column
+ prop="name"
+ label="鎺掓斁绫诲瀷"
+ width="120">
+ </el-table-column>
+ <el-table-column
+ prop="province"
+ label="杈炬爣鐜�"
+ width="120">
+ </el-table-column>
+ <el-table-column
+ prop="city"
+ label="鍚嶆"
+ width="120">
+ </el-table-column>
+ <el-table-column
+ prop="address"
+ label="浼犺緭鐜�"
+ width="300">
+ </el-table-column>
+ <el-table-column
+ prop="zip"
+ label="鍚嶆"
+ width="120">
+ </el-table-column>
+ <el-table-column
+ prop="zip"
+ label="璁惧瀹屽ソ鐜�"
+ width="120">
+ </el-table-column>
+ <el-table-column
+ prop="zip"
+ label="鍚嶆"
+ width="120">
+ </el-table-column>
+ </el-table></el-tab-pane>
+ </el-tabs>
+
+</template>
+
+<script>
+export default {
+ data () {
+ return {
+ activeName: 'first',
+ tableData: [{
+ date: '2016-05-03',
+ name: '鐜嬪皬铏�',
+ province: '涓婃捣',
+ city: '鏅檧鍖�',
+ address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�',
+ zip: 200333
+ }, {
+ date: '2016-05-02',
+ name: '鐜嬪皬铏�',
+ province: '涓婃捣',
+ city: '鏅檧鍖�',
+ address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�',
+ zip: 200333
+ }, {
+ date: '2016-05-04',
+ name: '鐜嬪皬铏�',
+ province: '涓婃捣',
+ city: '鏅檧鍖�',
+ address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�',
+ zip: 200333
+ }, {
+ date: '2016-05-01',
+ name: '鐜嬪皬铏�',
+ province: '涓婃捣',
+ city: '鏅檧鍖�',
+ address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�',
+ zip: 200333
+ }, {
+ date: '2016-05-08',
+ name: '鐜嬪皬铏�',
+ province: '涓婃捣',
+ city: '鏅檧鍖�',
+ address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�',
+ zip: 200333
+ }, {
+ date: '2016-05-06',
+ name: '鐜嬪皬铏�',
+ province: '涓婃捣',
+ city: '鏅檧鍖�',
+ address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�',
+ zip: 200333
+ }, {
+ date: '2016-05-07',
+ name: '鐜嬪皬铏�',
+ province: '涓婃捣',
+ city: '鏅檧鍖�',
+ address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�',
+ zip: 200333
+ }]
+ }
+ }
+}
+</script>
diff --git a/src/components/table/components/Warn.vue b/src/components/table/components/Warn.vue
new file mode 100644
index 0000000..efc2577
--- /dev/null
+++ b/src/components/table/components/Warn.vue
@@ -0,0 +1,232 @@
+<template>
+ <el-tabs v-model="activeName">
+ <el-tab-pane label="瀹炴椂缁熻" name="first">
+ <el-table
+ :data="tableData"
+ style="width: 100%">
+ <el-table-column
+ prop="date"
+ label="浼佷笟鍚嶇О"
+ width="150">
+ </el-table-column>
+ <el-table-column label="搴熸按(涓�)">
+ <el-table-column
+ prop="name"
+ label="棰勮"
+ width="120">
+ </el-table-column>
+ <el-table-column
+ prop="name"
+ label="鎶ヨ"
+ width="120">
+ </el-table-column>
+ </el-table-column>
+ <el-table-column label="搴熸皵(涓�)">
+ <el-table-column
+ prop="name"
+ label="棰勮"
+ width="120">
+ </el-table-column>
+ <el-table-column
+ prop="name"
+ label="鎶ヨ"
+ width="120">
+ </el-table-column>
+ </el-table-column>
+ <el-table-column label="鍥哄簾(涓�)">
+ <el-table-column
+ prop="name"
+ label="棰勮"
+ width="120">
+ </el-table-column>
+ </el-table-column>
+ <el-table-column label="纭寲姘�(涓�)">
+ <el-table-column
+ prop="name"
+ label="棰勮"
+ width="120">
+ </el-table-column>
+ </el-table-column>
+ <el-table-column label="鍙噧姘斾綋(涓�)">
+ <el-table-column
+ prop="name"
+ label="棰勮"
+ width="120">
+ </el-table-column>
+ </el-table-column>
+ </el-table>
+ </el-tab-pane>
+ <el-tab-pane label="褰撴湀缁熻" name="second">
+ <el-table
+ :data="tableData"
+ style="width: 100%">
+ <el-table-column
+ prop="date"
+ label="浼佷笟鍚嶇О"
+ width="150">
+ </el-table-column>
+ <el-table-column label="搴熸按(涓�)">
+ <el-table-column
+ prop="name"
+ label="棰勮"
+ width="120">
+ </el-table-column>
+ <el-table-column
+ prop="name"
+ label="鎶ヨ"
+ width="120">
+ </el-table-column>
+ </el-table-column>
+ <el-table-column label="搴熸皵(涓�)">
+ <el-table-column
+ prop="name"
+ label="棰勮"
+ width="120">
+ </el-table-column>
+ <el-table-column
+ prop="name"
+ label="鎶ヨ"
+ width="120">
+ </el-table-column>
+ </el-table-column>
+ <el-table-column label="鍥哄簾(涓�)">
+ <el-table-column
+ prop="name"
+ label="棰勮"
+ width="120">
+ </el-table-column>
+ </el-table-column>
+ <el-table-column label="纭寲姘�(涓�)">
+ <el-table-column
+ prop="name"
+ label="棰勮"
+ width="120">
+ </el-table-column>
+ </el-table-column>
+ <el-table-column label="鍙噧姘斾綋(涓�)">
+ <el-table-column
+ prop="name"
+ label="棰勮"
+ width="120">
+ </el-table-column>
+ </el-table-column>
+ </el-table>
+ </el-tab-pane>
+ <el-tab-pane label="涓婃湀缁熻" name="third">
+ <el-table
+ :data="tableData"
+ style="width: 100%">
+ <el-table-column
+ prop="date"
+ label="浼佷笟鍚嶇О"
+ width="150">
+ </el-table-column>
+ <el-table-column label="搴熸按(涓�)">
+ <el-table-column
+ prop="name"
+ label="棰勮"
+ width="120">
+ </el-table-column>
+ <el-table-column
+ prop="name"
+ label="鎶ヨ"
+ width="120">
+ </el-table-column>
+ </el-table-column>
+ <el-table-column label="搴熸皵(涓�)">
+ <el-table-column
+ prop="name"
+ label="棰勮"
+ width="120">
+ </el-table-column>
+ <el-table-column
+ prop="name"
+ label="鎶ヨ"
+ width="120">
+ </el-table-column>
+ </el-table-column>
+ <el-table-column label="鍥哄簾(涓�)">
+ <el-table-column
+ prop="name"
+ label="棰勮"
+ width="120">
+ </el-table-column>
+ </el-table-column>
+ <el-table-column label="纭寲姘�(涓�)">
+ <el-table-column
+ prop="name"
+ label="棰勮"
+ width="120">
+ </el-table-column>
+ </el-table-column>
+ <el-table-column label="鍙噧姘斾綋(涓�)">
+ <el-table-column
+ prop="name"
+ label="棰勮"
+ width="120">
+ </el-table-column>
+ </el-table-column>
+ </el-table>
+ </el-tab-pane>
+ </el-tabs>
+</template>
+
+<script>
+export default {
+ data () {
+ return {
+ activeName: 'first',
+ tableData: [{
+ date: '2016-05-03',
+ name: '鐜嬪皬铏�',
+ province: '涓婃捣',
+ city: '鏅檧鍖�',
+ address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�',
+ zip: 200333
+ }, {
+ date: '2016-05-02',
+ name: '鐜嬪皬铏�',
+ province: '涓婃捣',
+ city: '鏅檧鍖�',
+ address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�',
+ zip: 200333
+ }, {
+ date: '2016-05-04',
+ name: '鐜嬪皬铏�',
+ province: '涓婃捣',
+ city: '鏅檧鍖�',
+ address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�',
+ zip: 200333
+ }, {
+ date: '2016-05-01',
+ name: '鐜嬪皬铏�',
+ province: '涓婃捣',
+ city: '鏅檧鍖�',
+ address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�',
+ zip: 200333
+ }, {
+ date: '2016-05-08',
+ name: '鐜嬪皬铏�',
+ province: '涓婃捣',
+ city: '鏅檧鍖�',
+ address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�',
+ zip: 200333
+ }, {
+ date: '2016-05-06',
+ name: '鐜嬪皬铏�',
+ province: '涓婃捣',
+ city: '鏅檧鍖�',
+ address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�',
+ zip: 200333
+ }, {
+ date: '2016-05-07',
+ name: '鐜嬪皬铏�',
+ province: '涓婃捣',
+ city: '鏅檧鍖�',
+ address: '涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�',
+ zip: 200333
+ }]
+ }
+ }
+}
+</script>
diff --git a/src/components/table/enterprise.vue b/src/components/table/enterprise.vue
new file mode 100644
index 0000000..f024ad2
--- /dev/null
+++ b/src/components/table/enterprise.vue
@@ -0,0 +1,62 @@
+<template>
+ <div class="enterprise-panel">
+ <div class="enterprise-function" @click="showWarnDialog()">
+ <img src="@/assets/images/map-pages/icon/map/warn.png" alt="" width="32px">
+ </div>
+ <div class="enterprise-function" @click="showStatisDialog()">
+ <img src="@/assets/images/map-pages/icon/map/company.png" alt="" width="32px">
+ </div>
+ <Dialog ref="warnDialog" title="浼佷笟棰勮鎶ヨ鍒嗙被缁熻">
+ <warn></warn>
+ </Dialog>
+ <Dialog ref="indexStatisticsDialog" title="浼佷笟鎸囨爣鍒嗙被缁熻">
+ <index-statistics></index-statistics>
+ </Dialog>
+ </div>
+</template>
+
+<script>
+import Dialog from '../../views/popup/Dialog'
+import Warn from './components/Warn'
+import IndexStatistics from './components/IndexStatistics'
+export default {
+ name: 'Enterprise',
+ components: {
+ Dialog,
+ Warn,
+ IndexStatistics
+ },
+ data () {
+ return {
+ comp: Warn
+ }
+ },
+ methods: {
+ // 鍥炬爣 鎺у埗鍐呭鐨勫睍绀轰笌闅愯棌
+ show () {
+ this.legendControl = !this.legendControl
+ },
+ showWarnDialog () {
+ this.$refs.warnDialog.show()
+ },
+ showStatisDialog () {
+ this.$refs.indexStatisticsDialog.show()
+ }
+ }
+}
+</script>
+
+<style lang="less" scoped>
+.enterprise-panel{
+ position: absolute;
+ right: 5px;
+ top:5px;
+ z-index: 9999;
+
+ .enterprise-function{
+ width: 40px;
+ float: left;
+ cursor: pointer;
+ }
+}
+</style>
diff --git a/src/components/table/summarySheets.vue b/src/components/table/summarySheets.vue
index 2a45071..e4bd2ef 100644
--- a/src/components/table/summarySheets.vue
+++ b/src/components/table/summarySheets.vue
@@ -1,17 +1,18 @@
<template>
<div class="summary-sheets">
+ <div id="summary">
<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-button style="float: right; padding: 3px 0" icon="el-icon-close" type="info" @click="closebtn"></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-tabs class="tabs-text" v-model="activeName" type="border-card" @tab-click="handleClick">
<el-tab-pane label="搴熸按" name="first">
<waste-water></waste-water>
</el-tab-pane>
@@ -27,6 +28,7 @@
</el-tabs>
</el-col>
</el-row>
+ </div>
</div>
</template>
@@ -51,6 +53,11 @@
methods: {
handleClick (tab, event) {
console.log(tab, event)
+ },
+ closebtn () {
+ const summary = document.getElementById('summary')
+ summary.style.display = 'none'
+ console.log(1)
}
}
}
@@ -58,12 +65,11 @@
<style>
.summary-sheets {
- /*overflow: hidden;*/
position: absolute;
top: 50px;
left: 50px;
- width: 850px;
- height: 265px;
+ /*width: 850px;*/
+ /*height: 265px;*/
border: #90c8e0 1px solid;
z-index:9999999;
background-color: rgba(26, 73, 81, 0.901960784313726);
@@ -82,8 +88,7 @@
.head-area-button{
margin-right: 5px;
}
- .el-rowscol{
- width: 100%;
- height: 100%;
+ .tabs-text{
+ background-color: rgba(26, 73, 81, 0.901960784313726);
}
</style>
diff --git a/src/conf/Topic.js b/src/conf/Topic.js
index a8e25e4..07f0f3f 100644
--- a/src/conf/Topic.js
+++ b/src/conf/Topic.js
@@ -52,22 +52,4 @@
checked: false,
icon: '/assets/images/menu/special.png',
comp: 'envProtectSearch'
-}, {
- name: '棰勮鎶ヨ',
- id: 8,
- checked: false,
- icon: '/assets/images/menu/special.png',
- comp: 'sewersSearch'
-}, {
- name: '鎸囨爣缁熻',
- id: 9,
- checked: false,
- icon: '/assets/images/menu/special.png',
- comp: 'envProtectSearch'
-}, {
- name: '搴旀�ュ湴鍥�',
- id: 10,
- checked: false,
- icon: '/assets/images/menu/special.png',
- comp: 'sewersSearch'
}]
diff --git a/src/main.js b/src/main.js
index b2139c0..8ca4020 100644
--- a/src/main.js
+++ b/src/main.js
@@ -8,8 +8,11 @@
import echartsDarkTheme from '@/styles/theme-dark/echarts/theme.json'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
+import '@assets/css/map/_map-variable.less'
+import '@assets/css/map/map-panel-style.less'
import 'leaflet/dist/leaflet.css'
import L from 'leaflet'
+import '@/utils/dialogDrag.js'
Vue.config.productionTip = false
diff --git a/src/utils/dialogDrag.js b/src/utils/dialogDrag.js
new file mode 100644
index 0000000..6f845f5
--- /dev/null
+++ b/src/utils/dialogDrag.js
@@ -0,0 +1,80 @@
+/* eslint-disable */
+import Vue from 'vue'
+
+// v-dialogDrag: 寮圭獥鎷栨嫿灞炴��
+Vue.directive('dialogDrag', {
+ bind (el, binding, vnode, oldVnode) {
+ const dialogHeaderEl = el.querySelector('.el-dialog__header')
+ const dragDom = el.querySelector('.el-dialog')
+ // dialogHeaderEl.style.cursor = 'move';
+ dialogHeaderEl.style.cssText += ';cursor:move;'
+ dragDom.style.cssText += ';top:0px;'
+
+ // 鑾峰彇鍘熸湁灞炴�� ie dom鍏冪礌.currentStyle 鐏嫄璋锋瓕 window.getComputedStyle(dom鍏冪礌, null);
+ const sty = (function () {
+ if (window.document.currentStyle) {
+ return (dom, attr) => dom.currentStyle[attr]
+ } else {
+ return (dom, attr) => getComputedStyle(dom, false)[attr]
+ }
+ })()
+
+ dialogHeaderEl.onmousedown = (e) => {
+ // 榧犳爣鎸変笅锛岃绠楀綋鍓嶅厓绱犺窛绂诲彲瑙嗗尯鐨勮窛绂�
+ const disX = e.clientX - dialogHeaderEl.offsetLeft
+ const disY = e.clientY - dialogHeaderEl.offsetTop
+
+ const screenWidth = document.body.clientWidth // body褰撳墠瀹藉害
+ const screenHeight = document.documentElement.clientHeight // 鍙鍖哄煙楂樺害(搴斾负body楂樺害锛屽彲鏌愪簺鐜涓嬫棤娉曡幏鍙�)
+
+ const dragDomWidth = dragDom.offsetWidth // 瀵硅瘽妗嗗搴�
+ const dragDomheight = dragDom.offsetHeight // 瀵硅瘽妗嗛珮搴�
+
+ const minDragDomLeft = dragDom.offsetLeft
+ const maxDragDomLeft = screenWidth - dragDom.offsetLeft - dragDomWidth
+
+ const minDragDomTop = dragDom.offsetTop
+ const maxDragDomTop = screenHeight - dragDom.offsetTop - dragDomheight
+
+ // 鑾峰彇鍒扮殑鍊煎甫px 姝e垯鍖归厤鏇挎崲
+ let styL = sty(dragDom, 'left')
+ let styT = sty(dragDom, 'top')
+
+ // 娉ㄦ剰鍦╥e涓� 绗竴娆¤幏鍙栧埌鐨勫�间负缁勪欢鑷甫50% 绉诲姩涔嬪悗璧嬪�间负px
+ if (styL.includes('%')) {
+ styL = +document.body.clientWidth * (+styL.replace(/\%/g, '') / 100)
+ styT = +document.body.clientHeight * (+styT.replace(/\%/g, '') / 100)
+ } else {
+ styL = +styL.replace(/\px/g, '')
+ styT = +styT.replace(/\px/g, '')
+ };
+
+ document.onmousemove = function (e) {
+ // 閫氳繃浜嬩欢濮旀墭锛岃绠楃Щ鍔ㄧ殑璺濈
+ let left = e.clientX - disX
+ let top = e.clientY - disY
+
+ // 杈圭晫澶勭悊
+ if (-(left) > minDragDomLeft) {
+ left = -(minDragDomLeft)
+ } else if (left > maxDragDomLeft) {
+ left = maxDragDomLeft
+ }
+
+ if (-(top) > minDragDomTop) {
+ top = -(minDragDomTop)
+ } else if (top > maxDragDomTop) {
+ top = maxDragDomTop
+ }
+
+ // 绉诲姩褰撳墠鍏冪礌
+ dragDom.style.cssText += `;left:${left + styL}px;top:${top + styT}px;`
+ }
+
+ document.onmouseup = function (e) {
+ document.onmousemove = null
+ document.onmouseup = null
+ }
+ }
+ }
+})
diff --git a/src/views/MapTemplate.vue b/src/views/MapTemplate.vue
index ce5e3cc..4d8b9d7 100644
--- a/src/views/MapTemplate.vue
+++ b/src/views/MapTemplate.vue
@@ -11,8 +11,11 @@
<monitor-panel></monitor-panel>
<!-- <top-enterprise-panel></top-enterprise-panel>-->
<tool-box-panel ref="toolBox"></tool-box-panel>
- <menu-special></menu-special>
+<!-- <menu-special></menu-special>-->
<legend-panel></legend-panel>
+ <summary-sheets v-show="isShowbtn"></summary-sheets>
+ <enterprise></enterprise>
+ <el-button id="mapbtn" type="primary" icon="el-icon-c-scale-to-original" circle @click="isshowhidden"></el-button>
</div>
</template>
@@ -25,26 +28,31 @@
import LcServiceLayer from '@components/LayerController/modules/LcServiceLayer'
import MonitorPanel from '@components/panel/RightSearchPanel'
// import TopEnterprisePanel from '@components/panel/TopEnterprisePanel'
+import summarySheets from '@components/table/summarySheets.vue'
import ToolBoxPanel from '@components/panel/ToolBoxPanel'
import Popup from '@views/popup/Popup'
-import MenuSpecial from '@components/panel/MenuTopic'
+// import MenuSpecial from '@components/panel/MenuTopic'
import LegendPanel from '@components/panel/LegendPanel'
+import Enterprise from '../components/table/enterprise'
export default {
name: 'MapTemplate',
components: {
+ Enterprise,
LegendPanel,
- MenuSpecial,
+ // MenuSpecial,
ToolBoxPanel,
// TopEnterprisePanel,
SgisLayerController,
MonitorPanel,
LcBasemap,
LcServiceLayer,
- Popup
+ Popup,
+ summarySheets
},
data () {
return {
+ isShowbtn: false,
map: null,
lcServiceLayerVisible: false,
basemapHelper: {},
@@ -63,6 +71,9 @@
})
},
methods: {
+ isshowhidden () {
+ this.isShowbtn = !this.isShowbtn
+ },
saveMapStatus () {
window.serviceLayerHelper = this.serviceLayerHelper
this.$store.commit('setMapObj', this.map)
diff --git a/src/views/popup/Dialog.vue b/src/views/popup/Dialog.vue
new file mode 100644
index 0000000..58e7407
--- /dev/null
+++ b/src/views/popup/Dialog.vue
@@ -0,0 +1,37 @@
+<template>
+ <el-dialog v-dialogDrag
+ :title="title"
+ :visible.sync="centerDialogVisible"
+ width="30%"
+ :modal="false"
+ :close-on-click-modal="false"
+ center>
+ <slot></slot>
+ </el-dialog>
+</template>
+<script>
+
+export default {
+ name: 'Dialog',
+ props: {
+ title: {
+ type: String,
+ default: '鏍囬'
+ }
+ },
+ data () {
+ return {
+ centerDialogVisible: false
+ }
+ },
+ methods: {
+ show () {
+ this.centerDialogVisible = true
+ }
+ }
+}
+
+</script>
+<style lang="less">
+
+</style>
diff --git a/vue.config.js b/vue.config.js
index be07b5a..07df932 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -1,5 +1,5 @@
const appConfig = require('./src/app.config')
-
+const path = require('path')
module.exports = {
publicPath: process.env.NODE_ENV === 'production' ? `/${appConfig.projectName}/` : '/',
configureWebpack: config => {
@@ -16,6 +16,14 @@
},
parallel: require('os').cpus().length > 1, // 鏋勫缓鏃跺紑鍚杩涚▼澶勭悊babel缂栬瘧
productionSourceMap: false,
+ pluginOptions: {
+ 'style-resources-loader': {
+ preProcessor: 'less',
+ patterns: [
+ path.resolve(__dirname, './src/assets/css/map/_map-variable.less')
+ ]
+ }
+ },
devServer: {
// host: 'localhost',
// open: true,
--
Gitblit v1.8.0