From 71a7d1da8a740f1579a8d9f658182e6f9d2e116a Mon Sep 17 00:00:00 2001
From: guanqb <18720758508@163.com>
Date: Tue, 15 Nov 2022 14:44:53 +0800
Subject: [PATCH] 弹窗样式内容
---
src/store/modules/popupParams.js | 6 +
src/store/getters.js | 3
src/views/home/components/rightContainer.vue | 18 +++++
src/views/home/components/bottomContainer.vue | 1
src/components/map/components/mapPopup.vue | 104 ++++++++++++++++++++++++++++++++--
5 files changed, 121 insertions(+), 11 deletions(-)
diff --git a/src/components/map/components/mapPopup.vue b/src/components/map/components/mapPopup.vue
index f771936..520a729 100644
--- a/src/components/map/components/mapPopup.vue
+++ b/src/components/map/components/mapPopup.vue
@@ -1,6 +1,43 @@
<template>
<div>
- <div v-if="detailsPopup" id="divFormsDomBox" class="wwwwwwwww">55555555555</div>
+ <div v-if="detailsPopup" id="divFormsDomBox" class="container">
+ <div class="title">
+ 详细信息
+ <div class="close" @click="closePopup"></div>
+ </div>
+ <div class="item">
+ <div>所属派出所:</div>
+ <div>{{dataPopup.policeName}}</div>
+ </div>
+ <div class="item">
+ <div>警情类别:</div>
+ <div>{{dataPopup.type}}</div>
+ </div>
+ <div class="item">
+ <div>警情状态:</div>
+ <div>{{dataPopup.state}}</div>
+ </div>
+ <div class="item">
+ <div>报警电话:</div>
+ <div>{{dataPopup.comingPhone}}</div>
+ </div>
+ <div class="item">
+ <div>接警时间:</div>
+ <div>{{dataPopup.dealTime}}</div>
+ </div>
+ <div class="item">
+ <div>经办民警:</div>
+ <div>{{dataPopup.dealPolice}}</div>
+ </div>
+ <div class="item">
+ <div>报警人:</div>
+ <div>{{dataPopup.callPeople}}</div>
+ </div>
+ <div class="item">
+ <div>报警人联系人:</div>
+ <div>{{dataPopup.callPhone}}</div>
+ </div>
+ </div>
</div>
</template>
@@ -10,19 +47,72 @@
name: 'mapPopup',
computed: {
...mapGetters([
- 'detailsPopup'
+ 'detailsPopup',
+ 'dataPopup'
])
+ },
+ methods: {
+ closePopup () {
+ this.$store.commit('SET_DETAILSPOPUP', false)
+ }
}
}
</script>
-<style>
-.wwwwwwwww {
+<style lang="scss" scoped>
+.container {
position: fixed;
left: 0;
z-index: 1 !important;
- width: 200px;
- height: 300px;
- background: red;
+ width: 280px;
+ height: 360px;
+ background: $bg-color;
+ color: #fff;
+ display: flex;
+ flex-direction: row;
+ flex-wrap: wrap;
+ justify-self: flex-start;
+ align-content: flex-start;
+ .title {
+ height: 40px;
+ line-height: 30px;
+ width: 100%;
+ position: relative;
+ .close {
+ position: absolute;
+ right: 5px;
+ top: -5px;
+ }
+ .close::before {
+ font-family: element-icons;
+ content: '\e6db';
+ cursor: pointer;
+ font-size: 16px;
+ }
+ .close:hover::before {
+ color: #3d95f3;
+ }
+ }
+ .item {
+ display: flex;
+ flex-direction: row;
+ width: calc(100% - 20px);
+ height: 36px;
+ line-height: 36px;
+ margin: 0 10px;
+ text-align: left;
+
+ & > div:first-child {
+ width: 100px;
+ text-align: justify;
+ display: inline-block;
+ text-align-last: justify;
+ margin-right: 20px;
+ }
+
+ & > div:nth-of-type(2) {
+ width: calc(100% - 120px);
+ }
+ }
}
</style>
\ No newline at end of file
diff --git a/src/store/getters.js b/src/store/getters.js
index d8a8728..3182418 100644
--- a/src/store/getters.js
+++ b/src/store/getters.js
@@ -1,4 +1,5 @@
const getters = {
- detailsPopup: (state) => state.popupParams.detailsPopup
+ detailsPopup: (state) => state.popupParams.detailsPopup,
+ dataPopup: (state) => state.popupParams.dataPopup
}
export default getters
diff --git a/src/store/modules/popupParams.js b/src/store/modules/popupParams.js
index a20c749..773cc5f 100644
--- a/src/store/modules/popupParams.js
+++ b/src/store/modules/popupParams.js
@@ -1,10 +1,14 @@
const popupParams = {
state: {
- detailsPopup: false
+ detailsPopup: false,
+ dataPopup: {}
},
mutations: {
SET_DETAILSPOPUP (state, detailsPopup) {
state.detailsPopup = detailsPopup
+ },
+ SET_DATAPOPUP (state, dataPopup) {
+ state.dataPopup = dataPopup
}
},
actions: {
diff --git a/src/views/home/components/bottomContainer.vue b/src/views/home/components/bottomContainer.vue
index 5a5650a..5bdc827 100644
--- a/src/views/home/components/bottomContainer.vue
+++ b/src/views/home/components/bottomContainer.vue
@@ -179,6 +179,7 @@
siteWd: Number(item.position[1])
})
this.$store.commit('SET_DETAILSPOPUP', true)
+ this.$store.commit('SET_DATAPOPUP', item)
var popup = new global.DC.DivForms(global.viewer, {
domId: 'divFormsDomBox',
position: [
diff --git a/src/views/home/components/rightContainer.vue b/src/views/home/components/rightContainer.vue
index fbeef66..511e11c 100644
--- a/src/views/home/components/rightContainer.vue
+++ b/src/views/home/components/rightContainer.vue
@@ -168,7 +168,7 @@
formatter: function (params) {
let tipHtml = ``
if ('carCount' in params.data) {
- tipHtml = `<span style="display: inline-block; margin-right: 4px; border-radius: 10px; width: 10px; height: 10px;background-color: #91cc75;"></span> ${params.data.name}<strong style="margin-left:10px">${params.data.value}台</strong><strong style="margin-left:10px;color:#5c7bd9">${params.percent}%</strong><br /><span style="color:#00fe01">警车:${params.data.carCount}台</span><span style="margin-left:10px;color:#949494">监控:${params.data.monitorCount}台</span><br /><span style="color:#fe2929">手台${params.data.phoneCount}台</span><span style="margin-left:10px;color:#69a9ff">手持记录仪:${params.data.recorderCount}台</span>`
+ tipHtml = `<span style="display: inline-block; margin-right: 4px; border-radius: 10px; width: 10px; height: 10px;background-color: #91cc75;"></span> ${params.data.name}<strong style="margin-left:10px">${params.data.value}台</strong><strong style="margin-left:10px;color:#5c7bd9">${params.percent}%</strong><br /><span style="color:#5470c6">警车:${params.data.carCount}台</span><span style="margin-left:10px;color:#91cc75">监控:${params.data.monitorCount}台</span><br /><span style="color:#fac858">手台:${params.data.phoneCount}台</span><span style="margin-left:10px;color:#ee6666">手持记录仪:${params.data.recorderCount}台</span>`
} else {
tipHtml = `<span style="display: inline-block; margin-right: 4px; border-radius: 10px; width: 10px; height: 10px;background-color: #91cc75;"></span> ${params.data.name}<strong style="margin-left:10px">${params.data.value}台</strong><strong style="margin-left:10px;color:#5c7bd9">${params.percent}%</strong><br /><span style="color:#00fe01">运行:${params.data.working}台</span><span style="margin-left:10px;color:#949494">备用:${params.data.spare}台</span><br /><span style="color:#fe2929">检修:${params.data.overhaul}台</span><span style="margin-left:10px;color:#69a9ff">禁用:${params.data.disable}台</span>`
}
@@ -230,7 +230,20 @@
labelLine: {
show: false
},
- data: dataArr
+ data: dataArr,
+ itemStyle: {
+ normal: {
+ color: function (params) {
+ let colorList = []
+ if ('carCount' in params.data) {
+ colorList = ['#00fe01', '#949494', '#fe2929', '#69a9ff']
+ } else {
+ colorList = ['#5470c6', '#91cc75', '#fac858', '#ee6666', '#73c0de', '#3ba272', '#fc8452', '#9a60b4', '#ea7ccc']
+ }
+ return colorList[params.dataIndex]
+ }
+ }
+ }
}
],
grid: {
@@ -507,6 +520,7 @@
}
return dataArr
},
+
getEquimentChartStateData (newArr) {
let working = 0
let spare = 0
--
Gitblit v1.9.3