|
|
@ -11,12 +11,25 @@
|
|
|
|
v-if="queryParams.title"
|
|
|
|
v-if="queryParams.title"
|
|
|
|
class="el-icon-close el-input__icon"
|
|
|
|
class="el-icon-close el-input__icon"
|
|
|
|
slot="suffix"
|
|
|
|
slot="suffix"
|
|
|
|
@click="handleIconClick">
|
|
|
|
@click="handleIconClick"
|
|
|
|
|
|
|
|
>
|
|
|
|
</i>
|
|
|
|
</i>
|
|
|
|
<el-button type="primary" size="medium" @click="query" slot="append" icon="el-icon-search"></el-button>
|
|
|
|
<el-button
|
|
|
|
|
|
|
|
type="primary"
|
|
|
|
|
|
|
|
size="medium"
|
|
|
|
|
|
|
|
@click="query"
|
|
|
|
|
|
|
|
slot="append"
|
|
|
|
|
|
|
|
icon="el-icon-search"
|
|
|
|
|
|
|
|
></el-button>
|
|
|
|
</el-input>
|
|
|
|
</el-input>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<el-radio-group v-model="queryParams.isReport" @change="getList" class="years-select" size="small" fill="#1890FF">
|
|
|
|
<el-radio-group
|
|
|
|
|
|
|
|
v-model="queryParams.isReport"
|
|
|
|
|
|
|
|
@change="getList"
|
|
|
|
|
|
|
|
class="years-select"
|
|
|
|
|
|
|
|
size="small"
|
|
|
|
|
|
|
|
fill="#1890FF"
|
|
|
|
|
|
|
|
>
|
|
|
|
<el-radio-button :label="6">全部</el-radio-button>
|
|
|
|
<el-radio-button :label="6">全部</el-radio-button>
|
|
|
|
<el-radio-button :label="4">待审核</el-radio-button>
|
|
|
|
<el-radio-button :label="4">待审核</el-radio-button>
|
|
|
|
<el-radio-button :label="5">已审核</el-radio-button>
|
|
|
|
<el-radio-button :label="5">已审核</el-radio-button>
|
|
|
@ -24,25 +37,50 @@
|
|
|
|
</el-radio-group>
|
|
|
|
</el-radio-group>
|
|
|
|
<div class="warning-list-list" v-loading="loading">
|
|
|
|
<div class="warning-list-list" v-loading="loading">
|
|
|
|
<div v-if="eventList.length > 0">
|
|
|
|
<div v-if="eventList.length > 0">
|
|
|
|
<div class="lists" v-for="(item,index) in eventList">
|
|
|
|
<div class="lists" v-for="(item, index) in eventList">
|
|
|
|
<div class="hearder">
|
|
|
|
<div class="hearder">
|
|
|
|
<!--【群体事件】1【同人同诉】2【紧急事件】3【重点人员】4【一人多诉】5 -->
|
|
|
|
<!--【群体事件】1【同人同诉】2【紧急事件】3【重点人员】4【一人多诉】5 -->
|
|
|
|
<div class="anniu" :class="item.msgType == '1' ? 'qunti' : item.msgType == '2' ? 'tongren' : item.msgType == '3' ? 'jinji' : item.msgType == '4' ? 'zhongdian' : item.msgType == '5' ? 'yiren' : '' ">{{ item.msgTypeName }}</div>
|
|
|
|
<div
|
|
|
|
|
|
|
|
class="anniu"
|
|
|
|
|
|
|
|
:class="
|
|
|
|
|
|
|
|
item.msgType == '1'
|
|
|
|
|
|
|
|
? 'qunti'
|
|
|
|
|
|
|
|
: item.msgType == '2'
|
|
|
|
|
|
|
|
? 'tongren'
|
|
|
|
|
|
|
|
: item.msgType == '3'
|
|
|
|
|
|
|
|
? 'jinji'
|
|
|
|
|
|
|
|
: item.msgType == '4'
|
|
|
|
|
|
|
|
? 'zhongdian'
|
|
|
|
|
|
|
|
: item.msgType == '5'
|
|
|
|
|
|
|
|
? 'yiren'
|
|
|
|
|
|
|
|
: ''
|
|
|
|
|
|
|
|
"
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
{{ item.msgTypeName }}
|
|
|
|
|
|
|
|
</div>
|
|
|
|
<div class="warning-title">{{ item.title }}</div>
|
|
|
|
<div class="warning-title">{{ item.title }}</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="content">
|
|
|
|
<div class="content">
|
|
|
|
<div class="content-top">
|
|
|
|
<div class="content-top">
|
|
|
|
<img src="@/assets/images/address.png" alt="">
|
|
|
|
<img src="@/assets/images/address.png" alt="" />
|
|
|
|
<span>{{ item.address }}</span>
|
|
|
|
<span>{{ item.address }}</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="content-bottom">
|
|
|
|
<div class="content-bottom">
|
|
|
|
<img src="@/assets/images/time.png" alt="">
|
|
|
|
<img src="@/assets/images/time.png" alt="" />
|
|
|
|
<span>{{ item.firstWarnTimeDate }}</span>
|
|
|
|
<span>{{ item.firstWarnTimeDate }}</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="foot">
|
|
|
|
<div class="foot">
|
|
|
|
<el-button v-if="!item.isReport" type="primary" size="mini" @click="audit(item)">审核</el-button>
|
|
|
|
<el-button
|
|
|
|
<el-button v-else size="mini" @click="detailInfo(item)">查看详情</el-button>
|
|
|
|
v-if="!item.isReport"
|
|
|
|
|
|
|
|
type="primary"
|
|
|
|
|
|
|
|
size="mini"
|
|
|
|
|
|
|
|
@click="audit(item)"
|
|
|
|
|
|
|
|
>审核</el-button
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
<el-button v-else size="mini" @click="detailInfo(item)"
|
|
|
|
|
|
|
|
>查看详情</el-button
|
|
|
|
|
|
|
|
>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
@ -52,7 +90,7 @@
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="warning-list-footer">
|
|
|
|
<div class="warning-list-footer">
|
|
|
|
<pagination
|
|
|
|
<pagination
|
|
|
|
v-show="total>0"
|
|
|
|
v-show="total > 0"
|
|
|
|
:total="total"
|
|
|
|
:total="total"
|
|
|
|
layout="total, prev, pager, next, jumper"
|
|
|
|
layout="total, prev, pager, next, jumper"
|
|
|
|
:pagerCount="5"
|
|
|
|
:pagerCount="5"
|
|
|
@ -66,78 +104,94 @@
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="warning-events">
|
|
|
|
<div class="warning-events">
|
|
|
|
<div class="warning-events-event" v-for="(item,index) in event">
|
|
|
|
<div class="warning-events-event" v-for="(item, index) in event">
|
|
|
|
<img class="warning-events-event-img" :src="item.img" alt="">
|
|
|
|
<img class="warning-events-event-img" :src="item.img" alt="" />
|
|
|
|
<!-- :style="{color:item.color}" -->
|
|
|
|
<!-- :style="{color:item.color}" -->
|
|
|
|
<div class="warning-events-event-text">{{ item.text }}</div>
|
|
|
|
<div class="warning-events-event-text">{{ item.text }}</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div id="newmap" v-loading="mapLoading"></div>
|
|
|
|
<div id="newmap" v-loading="mapLoading"></div>
|
|
|
|
<event-audit :title="urgencyTitle" ref="eventAudit" :auditStatus="auditStatus" @closeDialog="mountedMethods"></event-audit>
|
|
|
|
<event-audit
|
|
|
|
<urgency-audit :title="urgencyTitle" ref="urgencyAudit" :auditStatus="auditStatus" @closeDialog="mountedMethods"></urgency-audit>
|
|
|
|
:title="urgencyTitle"
|
|
|
|
|
|
|
|
ref="eventAudit"
|
|
|
|
|
|
|
|
:auditStatus="auditStatus"
|
|
|
|
|
|
|
|
@closeDialog="mountedMethods"
|
|
|
|
|
|
|
|
></event-audit>
|
|
|
|
|
|
|
|
<urgency-audit
|
|
|
|
|
|
|
|
:title="urgencyTitle"
|
|
|
|
|
|
|
|
ref="urgencyAudit"
|
|
|
|
|
|
|
|
:auditStatus="auditStatus"
|
|
|
|
|
|
|
|
@closeDialog="mountedMethods"
|
|
|
|
|
|
|
|
></urgency-audit>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
<script>
|
|
|
|
<script>
|
|
|
|
import L from "leaflet";
|
|
|
|
import L from "leaflet";
|
|
|
|
import 'leaflet.markercluster';
|
|
|
|
import "leaflet.markercluster";
|
|
|
|
import "leaflet.markercluster/dist/MarkerCluster.css"
|
|
|
|
import "leaflet.markercluster/dist/MarkerCluster.css";
|
|
|
|
import "proj4";
|
|
|
|
import "proj4";
|
|
|
|
import "proj4leaflet";
|
|
|
|
import "proj4leaflet";
|
|
|
|
import "@/utils/lib/leaflet.ChineseTmsProviders.js";
|
|
|
|
import "@/utils/lib/leaflet.ChineseTmsProviders.js";
|
|
|
|
import "@/utils/lib/leaflet.mapCorrection.min.js";
|
|
|
|
import "@/utils/lib/leaflet.mapCorrection.min.js";
|
|
|
|
import { new100Page, colonyPage, login, verify, verificationCode } from "@/api/eventPage"
|
|
|
|
import {
|
|
|
|
import { setToken } from '@/utils/auth'
|
|
|
|
new100Page,
|
|
|
|
import { encrypt } from '@/utils/jsencrypt'
|
|
|
|
colonyPage,
|
|
|
|
import urgencyAudit from '@/views/components/urgencyAudit.vue'
|
|
|
|
login,
|
|
|
|
import EventAudit from '@/views/components/eventAudit.vue'
|
|
|
|
verify,
|
|
|
|
|
|
|
|
verificationCode,
|
|
|
|
|
|
|
|
} from "@/api/eventPage";
|
|
|
|
|
|
|
|
import { setToken } from "@/utils/auth";
|
|
|
|
|
|
|
|
import { encrypt } from "@/utils/jsencrypt";
|
|
|
|
|
|
|
|
import urgencyAudit from "@/views/components/urgencyAudit.vue";
|
|
|
|
|
|
|
|
import EventAudit from "@/views/components/eventAudit.vue";
|
|
|
|
export default {
|
|
|
|
export default {
|
|
|
|
components:{
|
|
|
|
components: {
|
|
|
|
EventAudit,
|
|
|
|
EventAudit,
|
|
|
|
urgencyAudit
|
|
|
|
urgencyAudit,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
data() {
|
|
|
|
data() {
|
|
|
|
return {
|
|
|
|
return {
|
|
|
|
input:"",
|
|
|
|
input: "",
|
|
|
|
event:[
|
|
|
|
event: [
|
|
|
|
{
|
|
|
|
{
|
|
|
|
img: require('../../assets/images/icon-qtsj-1@2x.png'),
|
|
|
|
img: require("../../assets/images/icon-qtsj-1@2x.png"),
|
|
|
|
text:"群体事件",
|
|
|
|
text: "群体事件",
|
|
|
|
color:"#d9001b"
|
|
|
|
color: "#d9001b",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
img: require('../../assets/images/icon-jjsj-1@2x.png'),
|
|
|
|
img: require("../../assets/images/icon-jjsj-1@2x.png"),
|
|
|
|
text:"紧急事件",
|
|
|
|
text: "紧急事件",
|
|
|
|
color:"#f59a23"
|
|
|
|
color: "#f59a23",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
img: require('../../assets/images/icon-yrds-1@2x.png'),
|
|
|
|
img: require("../../assets/images/icon-yrds-1@2x.png"),
|
|
|
|
text:"一人多诉",
|
|
|
|
text: "一人多诉",
|
|
|
|
color:"#d22379"
|
|
|
|
color: "#d22379",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
img: require('../../assets/images/icon-trts-1@2x.png'),
|
|
|
|
img: require("../../assets/images/icon-trts-1@2x.png"),
|
|
|
|
text:"同人同诉",
|
|
|
|
text: "同人同诉",
|
|
|
|
color:"#2aa515"
|
|
|
|
color: "#2aa515",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{
|
|
|
|
img: require('../../assets/images/icon-zdry-1@2x.png'),
|
|
|
|
img: require("../../assets/images/icon-zdry-1@2x.png"),
|
|
|
|
text:"重点人员",
|
|
|
|
text: "重点人员",
|
|
|
|
color:"#8400ff"
|
|
|
|
color: "#8400ff",
|
|
|
|
},
|
|
|
|
},
|
|
|
|
],
|
|
|
|
],
|
|
|
|
queryParams:{
|
|
|
|
queryParams: {
|
|
|
|
current: 1,
|
|
|
|
current: 1,
|
|
|
|
size: 10,
|
|
|
|
size: 10,
|
|
|
|
title:"",
|
|
|
|
title: "",
|
|
|
|
isReport: 6,
|
|
|
|
isReport: 6,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
total: 0,
|
|
|
|
total: 0,
|
|
|
|
eventList:[],
|
|
|
|
eventList: [],
|
|
|
|
map:null,
|
|
|
|
map: null,
|
|
|
|
basemap:null,
|
|
|
|
basemap: null,
|
|
|
|
layerVectorLabel: null,
|
|
|
|
layerVectorLabel: null,
|
|
|
|
loading:false,
|
|
|
|
loading: false,
|
|
|
|
mapLoading:false,
|
|
|
|
mapLoading: false,
|
|
|
|
mapLayers: {
|
|
|
|
mapLayers: {
|
|
|
|
mapLayer1: null,
|
|
|
|
mapLayer1: null,
|
|
|
|
mapLayer2: null,
|
|
|
|
mapLayer2: null,
|
|
|
@ -146,79 +200,88 @@ export default {
|
|
|
|
mapLayer5: null,
|
|
|
|
mapLayer5: null,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
auditStatus: 1,
|
|
|
|
auditStatus: 1,
|
|
|
|
urgencyTitle:'事件详情',
|
|
|
|
urgencyTitle: "事件详情",
|
|
|
|
}
|
|
|
|
};
|
|
|
|
},
|
|
|
|
},
|
|
|
|
mounted() {
|
|
|
|
mounted() {
|
|
|
|
// const currentDate = new Date();
|
|
|
|
// const currentDate = new Date();
|
|
|
|
// const targetDate = new Date(2024, 10, 1, 0, 0, 0);
|
|
|
|
// const targetDate = new Date(2024, 10, 1, 0, 0, 0);
|
|
|
|
// 正式环境使用
|
|
|
|
// 正式环境使用
|
|
|
|
verify().then(res=>{
|
|
|
|
if (JSON.parse(process.env.VUE_APP_ISTEST)) {
|
|
|
|
if(!res.data) {
|
|
|
|
verify().then((res) => {
|
|
|
|
this.$prompt('<div>算法已有3个月未迭代,请联系算法人员进行迭代优化。</div><div class="warningText">正式使用码(签约合同有效期2年,有效期至2026年11月1日)</div>', '提示', {
|
|
|
|
if (!res.data) {
|
|
|
|
confirmButtonText: '确定',
|
|
|
|
this.$prompt(
|
|
|
|
type:"warning",
|
|
|
|
'<div>算法已有3个月未迭代,请联系算法人员进行迭代优化。</div><div class="warningText">正式使用码(签约合同有效期2年,有效期至2026年11月1日)</div>',
|
|
|
|
closeOnPressEscape:false,
|
|
|
|
"提示",
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
confirmButtonText: "确定",
|
|
|
|
|
|
|
|
type: "warning",
|
|
|
|
|
|
|
|
closeOnPressEscape: false,
|
|
|
|
showCancelButton: false,
|
|
|
|
showCancelButton: false,
|
|
|
|
closeOnClickModal:false,
|
|
|
|
closeOnClickModal: false,
|
|
|
|
dangerouslyUseHTMLString:true,
|
|
|
|
dangerouslyUseHTMLString: true,
|
|
|
|
showInput:true,
|
|
|
|
showInput: true,
|
|
|
|
showClose:false,
|
|
|
|
showClose: false,
|
|
|
|
beforeClose:(action, instance, done)=>{
|
|
|
|
beforeClose: (action, instance, done) => {
|
|
|
|
if (action === 'confirm') {
|
|
|
|
if (action === "confirm") {
|
|
|
|
if(instance.inputValue == "88888888") {
|
|
|
|
if (instance.inputValue == "88888888") {
|
|
|
|
done();
|
|
|
|
done();
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
this.$message.error('试用码错误!');
|
|
|
|
this.$message.error("试用码错误!");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
},
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}).then(({ value }) => {
|
|
|
|
).then(({ value }) => {
|
|
|
|
verificationCode({verificationCode:value}).then(res=>{
|
|
|
|
verificationCode({ verificationCode: value }).then((res) => {
|
|
|
|
login("admin",encrypt("Suanfa@2024//**...")).then(res=>{
|
|
|
|
login("admin", encrypt("Suanfa@2024//**...")).then((res) => {
|
|
|
|
localStorage.setItem('Admin-Token',res.token)
|
|
|
|
localStorage.setItem("Admin-Token", res.token);
|
|
|
|
// setToken(res.token)
|
|
|
|
// setToken(res.token)
|
|
|
|
this.$nextTick(() => {
|
|
|
|
this.$nextTick(() => {
|
|
|
|
this.initMap();
|
|
|
|
this.initMap();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
this.getList();
|
|
|
|
this.getList();
|
|
|
|
})
|
|
|
|
});
|
|
|
|
})
|
|
|
|
});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
login("admin",encrypt("Suanfa@2024//**...")).then(res=>{
|
|
|
|
login("admin", encrypt("Suanfa@2024//**...")).then((res) => {
|
|
|
|
localStorage.setItem('Admin-Token',res.token)
|
|
|
|
localStorage.setItem("Admin-Token", res.token);
|
|
|
|
this.$nextTick(() => {
|
|
|
|
this.$nextTick(() => {
|
|
|
|
this.initMap();
|
|
|
|
this.initMap();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
this.getList();
|
|
|
|
this.getList();
|
|
|
|
})
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
});
|
|
|
|
|
|
|
|
} else {
|
|
|
|
// 测试环境使用
|
|
|
|
// 测试环境使用
|
|
|
|
// this.$nextTick(() => {
|
|
|
|
this.$nextTick(() => {
|
|
|
|
// this.initMap();
|
|
|
|
this.initMap();
|
|
|
|
// });
|
|
|
|
});
|
|
|
|
// this.getList();
|
|
|
|
this.getList();
|
|
|
|
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
methods:{
|
|
|
|
methods: {
|
|
|
|
mountedMethods(){
|
|
|
|
mountedMethods() {
|
|
|
|
this.$nextTick(() => {
|
|
|
|
this.$nextTick(() => {
|
|
|
|
this.initMap();
|
|
|
|
this.initMap();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
this.getList();
|
|
|
|
this.getList();
|
|
|
|
},
|
|
|
|
},
|
|
|
|
getList(){
|
|
|
|
getList() {
|
|
|
|
this.loading = true;
|
|
|
|
this.loading = true;
|
|
|
|
colonyPage(this.queryParams).then(res=>{
|
|
|
|
colonyPage(this.queryParams)
|
|
|
|
|
|
|
|
.then((res) => {
|
|
|
|
this.eventList = res.data.records;
|
|
|
|
this.eventList = res.data.records;
|
|
|
|
this.total = res.data.total;
|
|
|
|
this.total = res.data.total;
|
|
|
|
this.loading = false;
|
|
|
|
this.loading = false;
|
|
|
|
}).catch(err=>{
|
|
|
|
|
|
|
|
this.loading = false;
|
|
|
|
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
.catch((err) => {
|
|
|
|
|
|
|
|
this.loading = false;
|
|
|
|
|
|
|
|
});
|
|
|
|
},
|
|
|
|
},
|
|
|
|
initMap(){
|
|
|
|
initMap() {
|
|
|
|
this.map = L.map("newmap", {
|
|
|
|
this.map = L.map("newmap", {
|
|
|
|
// crs: L.CRS.Baidu,
|
|
|
|
// crs: L.CRS.Baidu,
|
|
|
|
center: [31.324624, 120.582904],
|
|
|
|
center: [31.324624, 120.582904],
|
|
|
@ -278,9 +341,10 @@ export default {
|
|
|
|
|
|
|
|
|
|
|
|
this.getPosition();
|
|
|
|
this.getPosition();
|
|
|
|
},
|
|
|
|
},
|
|
|
|
getPosition(){
|
|
|
|
getPosition() {
|
|
|
|
this.mapLoading = true;
|
|
|
|
this.mapLoading = true;
|
|
|
|
new100Page().then(res=>{
|
|
|
|
new100Page()
|
|
|
|
|
|
|
|
.then((res) => {
|
|
|
|
let iconUrl1 = require("@/assets/images/icon1.png");
|
|
|
|
let iconUrl1 = require("@/assets/images/icon1.png");
|
|
|
|
let iconUrl2 = require("@/assets/images/icon2.png");
|
|
|
|
let iconUrl2 = require("@/assets/images/icon2.png");
|
|
|
|
let iconUrl3 = require("@/assets/images/icon3.png");
|
|
|
|
let iconUrl3 = require("@/assets/images/icon3.png");
|
|
|
@ -316,67 +380,54 @@ export default {
|
|
|
|
iconAnchor: [19, 29], // 图标 "tip" 的坐标(相对于其左上角)。图标将被对齐,使该点位于标记的地理位置。如果指定了尺寸,默认为居中,也可以在CSS中设置负的边距。
|
|
|
|
iconAnchor: [19, 29], // 图标 "tip" 的坐标(相对于其左上角)。图标将被对齐,使该点位于标记的地理位置。如果指定了尺寸,默认为居中,也可以在CSS中设置负的边距。
|
|
|
|
popupAnchor: [-3, -76], // 弹出窗口(popup)的坐标,相对于图标锚点而言,将从该点打开。
|
|
|
|
popupAnchor: [-3, -76], // 弹出窗口(popup)的坐标,相对于图标锚点而言,将从该点打开。
|
|
|
|
});
|
|
|
|
});
|
|
|
|
let arr = [...res.data]
|
|
|
|
let arr = [...res.data];
|
|
|
|
arr.map((item,index)=>{
|
|
|
|
arr.map((item, index) => {
|
|
|
|
// 1【群体事件】2【同人同诉】3【紧急事件】4【重点人员】5【一人多诉】
|
|
|
|
// 1【群体事件】2【同人同诉】3【紧急事件】4【重点人员】5【一人多诉】
|
|
|
|
if(item.msgType == '1') {
|
|
|
|
if (item.msgType == "1") {
|
|
|
|
let lat = item.caseLnglat.split(",")[1];
|
|
|
|
let lat = item.caseLnglat.split(",")[1];
|
|
|
|
let lon = item.caseLnglat.split(",")[0];
|
|
|
|
let lon = item.caseLnglat.split(",")[0];
|
|
|
|
let marker = L.marker(
|
|
|
|
let marker = L.marker(L.latLng(lat, lon), { icon: myIcon1 });
|
|
|
|
L.latLng(lat, lon),
|
|
|
|
|
|
|
|
{ icon: myIcon1 }
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
this.mapLayers.mapLayer1.addLayer(marker);
|
|
|
|
this.mapLayers.mapLayer1.addLayer(marker);
|
|
|
|
this.markerClick(marker, index, item);
|
|
|
|
this.markerClick(marker, index, item);
|
|
|
|
} else if(item.msgType == '3'){
|
|
|
|
} else if (item.msgType == "3") {
|
|
|
|
let lat = item.caseLnglat.split(",")[1];
|
|
|
|
let lat = item.caseLnglat.split(",")[1];
|
|
|
|
let lon = item.caseLnglat.split(",")[0];
|
|
|
|
let lon = item.caseLnglat.split(",")[0];
|
|
|
|
let marker = L.marker(
|
|
|
|
let marker = L.marker(L.latLng(lat, lon), { icon: myIcon2 });
|
|
|
|
L.latLng(lat, lon),
|
|
|
|
|
|
|
|
{ icon: myIcon2 }
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
this.mapLayers.mapLayer2.addLayer(marker);
|
|
|
|
this.mapLayers.mapLayer2.addLayer(marker);
|
|
|
|
this.markerClick(marker, index, item);
|
|
|
|
this.markerClick(marker, index, item);
|
|
|
|
} else if(item.msgType == '5'){
|
|
|
|
} else if (item.msgType == "5") {
|
|
|
|
let lat = item.caseLnglat.split(",")[1];
|
|
|
|
let lat = item.caseLnglat.split(",")[1];
|
|
|
|
let lon = item.caseLnglat.split(",")[0];
|
|
|
|
let lon = item.caseLnglat.split(",")[0];
|
|
|
|
let marker = L.marker(
|
|
|
|
let marker = L.marker(L.latLng(lat, lon), { icon: myIcon3 });
|
|
|
|
L.latLng(lat, lon),
|
|
|
|
|
|
|
|
{ icon: myIcon3 }
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
this.mapLayers.mapLayer3.addLayer(marker);
|
|
|
|
this.mapLayers.mapLayer3.addLayer(marker);
|
|
|
|
this.markerClick(marker, index, item);
|
|
|
|
this.markerClick(marker, index, item);
|
|
|
|
} else if(item.msgType == '2'){
|
|
|
|
} else if (item.msgType == "2") {
|
|
|
|
let lat = item.caseLnglat.split(",")[1];
|
|
|
|
let lat = item.caseLnglat.split(",")[1];
|
|
|
|
let lon = item.caseLnglat.split(",")[0];
|
|
|
|
let lon = item.caseLnglat.split(",")[0];
|
|
|
|
let marker = L.marker(
|
|
|
|
let marker = L.marker(L.latLng(lat, lon), { icon: myIcon4 });
|
|
|
|
L.latLng(lat, lon),
|
|
|
|
|
|
|
|
{ icon: myIcon4 }
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
this.mapLayers.mapLayer4.addLayer(marker);
|
|
|
|
this.mapLayers.mapLayer4.addLayer(marker);
|
|
|
|
this.markerClick(marker, index, item);
|
|
|
|
this.markerClick(marker, index, item);
|
|
|
|
} else if(item.msgType == '4'){
|
|
|
|
} else if (item.msgType == "4") {
|
|
|
|
let lat = item.caseLnglat.split(",")[1];
|
|
|
|
let lat = item.caseLnglat.split(",")[1];
|
|
|
|
let lon = item.caseLnglat.split(",")[0];
|
|
|
|
let lon = item.caseLnglat.split(",")[0];
|
|
|
|
let marker = L.marker(
|
|
|
|
let marker = L.marker(L.latLng(lat, lon), { icon: myIcon5 });
|
|
|
|
L.latLng(lat, lon),
|
|
|
|
|
|
|
|
{ icon: myIcon5 }
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
this.mapLayers.mapLayer5.addLayer(marker);
|
|
|
|
this.mapLayers.mapLayer5.addLayer(marker);
|
|
|
|
this.markerClick(marker, index, item);
|
|
|
|
this.markerClick(marker, index, item);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
})
|
|
|
|
});
|
|
|
|
this.mapLoading = false;
|
|
|
|
|
|
|
|
}).catch(err=>{
|
|
|
|
|
|
|
|
this.mapLoading = false;
|
|
|
|
this.mapLoading = false;
|
|
|
|
})
|
|
|
|
})
|
|
|
|
|
|
|
|
.catch((err) => {
|
|
|
|
|
|
|
|
this.mapLoading = false;
|
|
|
|
|
|
|
|
});
|
|
|
|
},
|
|
|
|
},
|
|
|
|
markerClick(marker, index, item){
|
|
|
|
markerClick(marker, index, item) {
|
|
|
|
const that = this;
|
|
|
|
const that = this;
|
|
|
|
marker.on("click", (e) => {
|
|
|
|
marker.on("click", (e) => {
|
|
|
|
// 在重新绑定弹窗之前,确保移除旧的弹窗绑定,以避免内容冲突。
|
|
|
|
// 在重新绑定弹窗之前,确保移除旧的弹窗绑定,以避免内容冲突。
|
|
|
|
marker.unbindPopup();
|
|
|
|
marker.unbindPopup();
|
|
|
|
marker.bindPopup(
|
|
|
|
marker
|
|
|
|
|
|
|
|
.bindPopup(
|
|
|
|
`<div class="markerDialog">
|
|
|
|
`<div class="markerDialog">
|
|
|
|
<div class="markerTitle">
|
|
|
|
<div class="markerTitle">
|
|
|
|
<span class="marker-msgTitle">${item.title}</span>
|
|
|
|
<span class="marker-msgTitle">${item.title}</span>
|
|
|
@ -395,7 +446,19 @@ export default {
|
|
|
|
<div class="labelBox">预警类别</div>
|
|
|
|
<div class="labelBox">预警类别</div>
|
|
|
|
<span>:</span>
|
|
|
|
<span>:</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="infoValue">${item.msgType == '1' ? "群体事件" : item.msgType == '2' ? "同人同诉" : item.msgType == '3' ? "紧急事件" : item.msgType == '4' ? "重点人员" : item.msgType == '5' ? "一人多诉" : ""}</div>
|
|
|
|
<div class="infoValue">${
|
|
|
|
|
|
|
|
item.msgType == "1"
|
|
|
|
|
|
|
|
? "群体事件"
|
|
|
|
|
|
|
|
: item.msgType == "2"
|
|
|
|
|
|
|
|
? "同人同诉"
|
|
|
|
|
|
|
|
: item.msgType == "3"
|
|
|
|
|
|
|
|
? "紧急事件"
|
|
|
|
|
|
|
|
: item.msgType == "4"
|
|
|
|
|
|
|
|
? "重点人员"
|
|
|
|
|
|
|
|
: item.msgType == "5"
|
|
|
|
|
|
|
|
? "一人多诉"
|
|
|
|
|
|
|
|
: ""
|
|
|
|
|
|
|
|
}</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="contentInfo">
|
|
|
|
<div class="contentInfo">
|
|
|
|
<div class="infoLabel">
|
|
|
|
<div class="infoLabel">
|
|
|
@ -419,27 +482,34 @@ export default {
|
|
|
|
</div>`,
|
|
|
|
</div>`,
|
|
|
|
{
|
|
|
|
{
|
|
|
|
className: "marsk-box",
|
|
|
|
className: "marsk-box",
|
|
|
|
offset: L.point(0,75)
|
|
|
|
offset: L.point(0, 75),
|
|
|
|
}
|
|
|
|
}
|
|
|
|
).openPopup();
|
|
|
|
)
|
|
|
|
|
|
|
|
.openPopup();
|
|
|
|
//通过个体ElementsById()方法获得的element对象中的addEventListener()方法用于添加事件监听器,第一个参数设置事件类型,第二个参数可用来设置具体事件
|
|
|
|
//通过个体ElementsById()方法获得的element对象中的addEventListener()方法用于添加事件监听器,第一个参数设置事件类型,第二个参数可用来设置具体事件
|
|
|
|
document.querySelector(`#markerClose` + index).addEventListener("click", function () {
|
|
|
|
document
|
|
|
|
|
|
|
|
.querySelector(`#markerClose` + index)
|
|
|
|
|
|
|
|
.addEventListener("click", function () {
|
|
|
|
marker.closePopup();
|
|
|
|
marker.closePopup();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
// 审核
|
|
|
|
// 审核
|
|
|
|
document.querySelector(`#markerAudit` + index).addEventListener("click", function () {
|
|
|
|
document
|
|
|
|
that.urgencyTitle = "事件审核"
|
|
|
|
.querySelector(`#markerAudit` + index)
|
|
|
|
|
|
|
|
.addEventListener("click", function () {
|
|
|
|
|
|
|
|
that.urgencyTitle = "事件审核";
|
|
|
|
that.auditStatus = 1;
|
|
|
|
that.auditStatus = 1;
|
|
|
|
if(item.msgType == '3') {
|
|
|
|
if (item.msgType == "3") {
|
|
|
|
that.$refs.urgencyAudit.open(item);
|
|
|
|
that.$refs.urgencyAudit.open(item);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
that.$refs.eventAudit.open(item);
|
|
|
|
that.$refs.eventAudit.open(item);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
// 查看详情
|
|
|
|
// 查看详情
|
|
|
|
document.querySelector(`#markerInfo` + index).addEventListener("click", function () {
|
|
|
|
document
|
|
|
|
that.urgencyTitle = "事件详情"
|
|
|
|
.querySelector(`#markerInfo` + index)
|
|
|
|
if(item.msgType == '3') {
|
|
|
|
.addEventListener("click", function () {
|
|
|
|
|
|
|
|
that.urgencyTitle = "事件详情";
|
|
|
|
|
|
|
|
if (item.msgType == "3") {
|
|
|
|
that.auditStatus = 2;
|
|
|
|
that.auditStatus = 2;
|
|
|
|
that.$refs.urgencyAudit.open(item);
|
|
|
|
that.$refs.urgencyAudit.open(item);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
@ -447,24 +517,24 @@ export default {
|
|
|
|
that.$refs.eventAudit.open(item);
|
|
|
|
that.$refs.eventAudit.open(item);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
})
|
|
|
|
});
|
|
|
|
},
|
|
|
|
},
|
|
|
|
// 预警列表查询
|
|
|
|
// 预警列表查询
|
|
|
|
query(){
|
|
|
|
query() {
|
|
|
|
this.queryParams.current = 1;
|
|
|
|
this.queryParams.current = 1;
|
|
|
|
this.queryParams.size = 10;
|
|
|
|
this.queryParams.size = 10;
|
|
|
|
this.getList();
|
|
|
|
this.getList();
|
|
|
|
},
|
|
|
|
},
|
|
|
|
handleIconClick(){
|
|
|
|
handleIconClick() {
|
|
|
|
this.queryParams.title = ''
|
|
|
|
this.queryParams.title = "";
|
|
|
|
this.queryParams.current = 1;
|
|
|
|
this.queryParams.current = 1;
|
|
|
|
this.queryParams.size = 10;
|
|
|
|
this.queryParams.size = 10;
|
|
|
|
this.getList();
|
|
|
|
this.getList();
|
|
|
|
},
|
|
|
|
},
|
|
|
|
// 审核
|
|
|
|
// 审核
|
|
|
|
audit(item){
|
|
|
|
audit(item) {
|
|
|
|
this.urgencyTitle = "事件审核"
|
|
|
|
this.urgencyTitle = "事件审核";
|
|
|
|
if(item.msgType == '3') {
|
|
|
|
if (item.msgType == "3") {
|
|
|
|
this.auditStatus = 1;
|
|
|
|
this.auditStatus = 1;
|
|
|
|
this.$refs.urgencyAudit.open(item);
|
|
|
|
this.$refs.urgencyAudit.open(item);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
@ -473,13 +543,11 @@ export default {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
// 审核通过
|
|
|
|
// 审核通过
|
|
|
|
auditPass(){
|
|
|
|
auditPass() {},
|
|
|
|
|
|
|
|
|
|
|
|
},
|
|
|
|
|
|
|
|
// 查看详情
|
|
|
|
// 查看详情
|
|
|
|
detailInfo(item){
|
|
|
|
detailInfo(item) {
|
|
|
|
this.urgencyTitle = "事件详情"
|
|
|
|
this.urgencyTitle = "事件详情";
|
|
|
|
if(item.msgType == '3') {
|
|
|
|
if (item.msgType == "3") {
|
|
|
|
this.auditStatus = 2;
|
|
|
|
this.auditStatus = 2;
|
|
|
|
this.$refs.urgencyAudit.open(item);
|
|
|
|
this.$refs.urgencyAudit.open(item);
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
@ -488,5 +556,5 @@ export default {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
|
|
|
};
|
|
|
|
</script>
|
|
|
|
</script>
|
|
|
|