修改地图
This commit is contained in:
BIN
src/assets/imgs/m0.png
Normal file
BIN
src/assets/imgs/m0.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.9 KiB |
BIN
src/assets/imgs/m1.png
Normal file
BIN
src/assets/imgs/m1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.2 KiB |
BIN
src/assets/imgs/m2.png
Normal file
BIN
src/assets/imgs/m2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.9 KiB |
BIN
src/assets/imgs/m3.png
Normal file
BIN
src/assets/imgs/m3.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.6 KiB |
BIN
src/assets/imgs/m4.png
Normal file
BIN
src/assets/imgs/m4.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.7 KiB |
@@ -27,8 +27,8 @@ class MQTT {
|
|||||||
clean: true,
|
clean: true,
|
||||||
connectTimeout: 30 * 1000,
|
connectTimeout: 30 * 1000,
|
||||||
clientId: `mqttjs_${Math.random().toString(16).substr(2, 8)}`,
|
clientId: `mqttjs_${Math.random().toString(16).substr(2, 8)}`,
|
||||||
username: 't_user',
|
username: '',
|
||||||
password: 'njcnpqs',
|
password: '',
|
||||||
reconnectPeriod: 1000, // 默认1秒重试一次
|
reconnectPeriod: 1000, // 默认1秒重试一次
|
||||||
maxReconnectTimes: 3 // 默认最大重连5次
|
maxReconnectTimes: 3 // 默认最大重连5次
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,7 +56,6 @@ export default class SocketService {
|
|||||||
this.ws.onmessage = event => this.handleMessage(event)
|
this.ws.onmessage = event => this.handleMessage(event)
|
||||||
}, 0)
|
}, 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 处理连接成功事件
|
// 处理连接成功事件
|
||||||
private handleOpen(): void {
|
private handleOpen(): void {
|
||||||
ElMessage.success('webSocket连接服务端成功了')
|
ElMessage.success('webSocket连接服务端成功了')
|
||||||
|
|||||||
@@ -90,7 +90,6 @@ const loading = ref(false)
|
|||||||
const statistics = ref()
|
const statistics = ref()
|
||||||
|
|
||||||
const flg = ref(true)
|
const flg = ref(true)
|
||||||
const showMqtt = ref(false)
|
|
||||||
const zoom = ref('') //图表焦点校验
|
const zoom = ref('') //图表焦点校验
|
||||||
|
|
||||||
const resultList = ref([
|
const resultList = ref([
|
||||||
|
|||||||
@@ -10,81 +10,39 @@
|
|||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="筛选数据">
|
<el-form-item label="筛选数据">
|
||||||
<el-input
|
<el-input v-model="tableStore.table.params.searchValue" clearable placeholder="输入关键字筛选"
|
||||||
v-model="tableStore.table.params.searchValue"
|
style="width: 200px" maxlength="32" show-word-limit />
|
||||||
clearable
|
|
||||||
placeholder="输入关键字筛选"
|
|
||||||
style="width: 200px"
|
|
||||||
maxlength="32"
|
|
||||||
show-word-limit
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="触发类型">
|
<el-form-item label="触发类型">
|
||||||
<el-select
|
<el-select v-model="tableStore.table.params.waveType" placeholder="请选择触发类型" clearable multiple
|
||||||
v-model="tableStore.table.params.waveType"
|
collapse-tags style="width: 100%">
|
||||||
placeholder="请选择触发类型"
|
<el-option v-for="item in triggeroptions" :key="item.id" :label="item.name"
|
||||||
clearable
|
:value="item.id"></el-option>
|
||||||
multiple
|
|
||||||
collapse-tags
|
|
||||||
style="width: 100%"
|
|
||||||
>
|
|
||||||
<el-option
|
|
||||||
v-for="item in triggeroptions"
|
|
||||||
:key="item.id"
|
|
||||||
:label="item.name"
|
|
||||||
:value="item.id"
|
|
||||||
></el-option>
|
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="是否有波形">
|
<el-form-item label="是否有波形">
|
||||||
<el-select
|
<el-select v-model="tableStore.table.params.fileFlag" placeholder="请选择是否存在波形" clearable
|
||||||
v-model="tableStore.table.params.fileFlag"
|
style="width: 100%">
|
||||||
placeholder="请选择是否存在波形"
|
<el-option v-for="item in wareaoptions" :key="item.id" :label="item.label"
|
||||||
clearable
|
:value="item.id"></el-option>
|
||||||
style="width: 100%"
|
|
||||||
>
|
|
||||||
<el-option
|
|
||||||
v-for="item in wareaoptions"
|
|
||||||
:key="item.id"
|
|
||||||
:label="item.label"
|
|
||||||
:value="item.id"
|
|
||||||
></el-option>
|
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="暂态持续时间(s)">
|
<el-form-item label="暂态持续时间(s)">
|
||||||
<el-input
|
<el-input v-model="tableStore.table.params.persistMin" placeholder="请输入X秒"
|
||||||
v-model="tableStore.table.params.persistMin"
|
onkeyup="value=value.replace(/[^\d.]/g,'')" clearable style="width: 94px"></el-input>
|
||||||
placeholder="请输入X秒"
|
|
||||||
onkeyup="value=value.replace(/[^\d.]/g,'')"
|
|
||||||
clearable
|
|
||||||
style="width: 94px"
|
|
||||||
></el-input>
|
|
||||||
<el-tag style="margin-left: 5px">< 时间数 <</el-tag>
|
<el-tag style="margin-left: 5px">< 时间数 <</el-tag>
|
||||||
<el-input
|
<el-input v-model="tableStore.table.params.persistMax" placeholder="请输入X秒"
|
||||||
v-model="tableStore.table.params.persistMax"
|
onkeyup="value=value.replace(/[^\d.]/g,'')" clearable
|
||||||
placeholder="请输入X秒"
|
style="margin-left: 5px; width: 94px"></el-input>
|
||||||
onkeyup="value=value.replace(/[^\d.]/g,'')"
|
|
||||||
clearable
|
|
||||||
style="margin-left: 5px; width: 94px"
|
|
||||||
></el-input>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="事件严重度">
|
<el-form-item label="事件严重度">
|
||||||
<el-input
|
<el-input v-model="tableStore.table.params.severityMin" placeholder="请输入正负数"
|
||||||
v-model="tableStore.table.params.severityMin"
|
onkeyup="value=value.replace(/[^\d\.-]/g,'')" clearable style="width: 94px"></el-input>
|
||||||
placeholder="请输入正负数"
|
|
||||||
onkeyup="value=value.replace(/[^\d\.-]/g,'')"
|
|
||||||
clearable
|
|
||||||
style="width: 94px"
|
|
||||||
></el-input>
|
|
||||||
<el-tag style="margin-left: 5px">< 严重度 <</el-tag>
|
<el-tag style="margin-left: 5px">< 严重度 <</el-tag>
|
||||||
<el-input
|
<el-input v-model="tableStore.table.params.severityMax" placeholder="请输入正负数"
|
||||||
v-model="tableStore.table.params.severityMax"
|
onkeyup="value=value.replace(/[^\d\.-]/g,'')" clearable
|
||||||
placeholder="请输入正负数"
|
style="margin-left: 5px; width: 94px"></el-input>
|
||||||
onkeyup="value=value.replace(/[^\d\.-]/g,'')"
|
|
||||||
clearable
|
|
||||||
style="margin-left: 5px; width: 94px"
|
|
||||||
></el-input>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<!-- <el-form-item label="触发类型:">
|
<!-- <el-form-item label="触发类型:">
|
||||||
@@ -95,52 +53,23 @@
|
|||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item> -->
|
</el-form-item> -->
|
||||||
<el-form-item label="暂态原因">
|
<el-form-item label="暂态原因">
|
||||||
<el-select
|
<el-select v-model="tableStore.table.params.eventReason" placeholder="请选择暂态原因" clearable
|
||||||
v-model="tableStore.table.params.eventReason"
|
multiple collapse-tags style="width: 100%">
|
||||||
placeholder="请选择暂态原因"
|
<el-option v-for="item in reasonoptions" :key="item.id" :label="item.name"
|
||||||
clearable
|
:value="item.id"></el-option>
|
||||||
multiple
|
|
||||||
collapse-tags
|
|
||||||
style="width: 100%"
|
|
||||||
>
|
|
||||||
<el-option
|
|
||||||
v-for="item in reasonoptions"
|
|
||||||
:key="item.id"
|
|
||||||
:label="item.name"
|
|
||||||
:value="item.id"
|
|
||||||
></el-option>
|
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="暂态核实原因">
|
<el-form-item label="暂态核实原因">
|
||||||
<el-select
|
<el-select v-model="tableStore.table.params.verifyReason" placeholder="请选择暂态核实原因" clearable
|
||||||
v-model="tableStore.table.params.verifyReason"
|
multiple collapse-tags collapse-tags-tooltip>
|
||||||
placeholder="请选择暂态核实原因"
|
<el-option v-for="item in verifyReasonList" :key="item.id" :label="item.name"
|
||||||
clearable
|
:value="item.id"></el-option>
|
||||||
multiple
|
|
||||||
collapse-tags
|
|
||||||
collapse-tags-tooltip
|
|
||||||
>
|
|
||||||
<el-option
|
|
||||||
v-for="item in verifyReasonList"
|
|
||||||
:key="item.id"
|
|
||||||
:label="item.name"
|
|
||||||
:value="item.id"
|
|
||||||
></el-option>
|
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="变电站(监测点)">
|
<el-form-item label="变电站(监测点)">
|
||||||
<el-cascader
|
<el-cascader v-model="tableStore.table.params.lineIds" :options="options" :props="defaultProps"
|
||||||
v-model="tableStore.table.params.lineIds"
|
collapse-tags-tooltip style="width: 257px" filterable clearable collapse-tags
|
||||||
:options="options"
|
placeholder="请选择变电站(监测点)" :show-all-levels="true" />
|
||||||
:props="defaultProps"
|
|
||||||
collapse-tags-tooltip
|
|
||||||
style="width: 257px"
|
|
||||||
filterable
|
|
||||||
clearable
|
|
||||||
collapse-tags
|
|
||||||
placeholder="请选择变电站(监测点)"
|
|
||||||
:show-all-levels="true"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</template>
|
</template>
|
||||||
<template #operation>
|
<template #operation>
|
||||||
@@ -272,10 +201,10 @@ const tableStore = new TableStore({
|
|||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
title: '操作',fixed: 'right',
|
title: '操作', fixed: 'right',
|
||||||
width: '150',
|
width: '150',
|
||||||
render: 'buttons',
|
render: 'buttons',
|
||||||
|
|
||||||
buttons: [
|
buttons: [
|
||||||
{
|
{
|
||||||
name: 'edit',
|
name: 'edit',
|
||||||
@@ -330,7 +259,7 @@ const tableStore = new TableStore({
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
||||||
loadCallback: () => {}
|
loadCallback: () => { }
|
||||||
})
|
})
|
||||||
const options = ref([])
|
const options = ref([])
|
||||||
const defaultProps = {
|
const defaultProps = {
|
||||||
|
|||||||
@@ -68,7 +68,7 @@
|
|||||||
></bm-marker>
|
></bm-marker>
|
||||||
</template>
|
</template>
|
||||||
<!-- 点 -->
|
<!-- 点 -->
|
||||||
<BmlMarkerClusterer maxZoom="12">
|
<BmlMarkerClusterer maxZoom="12" :styles="styles">
|
||||||
<bm-marker
|
<bm-marker
|
||||||
:position="path"
|
:position="path"
|
||||||
v-for="path in areaLineInfo"
|
v-for="path in areaLineInfo"
|
||||||
@@ -163,6 +163,44 @@ const areaLineInfo = ref<any>([])
|
|||||||
const siteList = ref<any>([])
|
const siteList = ref<any>([])
|
||||||
const polyline = ref<any>([])
|
const polyline = ref<any>([])
|
||||||
const lineId = ref('')
|
const lineId = ref('')
|
||||||
|
const imageUrl = new URL('@/assets/imgs/m0.png', import.meta.url).href
|
||||||
|
const imageUrl1 = new URL('@/assets/imgs/m1.png', import.meta.url).href
|
||||||
|
const imageUrl2 = new URL('@/assets/imgs/m3.png', import.meta.url).href
|
||||||
|
const imageUrl3 = new URL('@/assets/imgs/m4.png', import.meta.url).href
|
||||||
|
const styles = [
|
||||||
|
{
|
||||||
|
url: imageUrl,
|
||||||
|
size: {
|
||||||
|
width: 53,
|
||||||
|
height: 52
|
||||||
|
},
|
||||||
|
opt_textSize: 10
|
||||||
|
},
|
||||||
|
{
|
||||||
|
url: imageUrl1,
|
||||||
|
size: {
|
||||||
|
width: 56,
|
||||||
|
height: 55
|
||||||
|
},
|
||||||
|
opt_textSize: 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
url: imageUrl2,
|
||||||
|
size: {
|
||||||
|
width: 78,
|
||||||
|
height: 77
|
||||||
|
},
|
||||||
|
opt_textSize: 14
|
||||||
|
},
|
||||||
|
{
|
||||||
|
url: imageUrl3,
|
||||||
|
size: {
|
||||||
|
width: 90,
|
||||||
|
height: 89
|
||||||
|
},
|
||||||
|
opt_textSize: 14
|
||||||
|
},
|
||||||
|
]
|
||||||
const handler = async ({ BMap, map }: any) => {
|
const handler = async ({ BMap, map }: any) => {
|
||||||
let data = props.mapList
|
let data = props.mapList
|
||||||
let r = 0.0035
|
let r = 0.0035
|
||||||
|
|||||||
@@ -82,7 +82,7 @@
|
|||||||
></bm-marker>
|
></bm-marker>
|
||||||
</template>
|
</template>
|
||||||
<!-- 点 -->
|
<!-- 点 -->
|
||||||
<BmlMarkerClusterer maxZoom="12">
|
<BmlMarkerClusterer maxZoom="12" :styles="styles">
|
||||||
<bm-marker
|
<bm-marker
|
||||||
:position="path"
|
:position="path"
|
||||||
v-for="path in areaLineInfo"
|
v-for="path in areaLineInfo"
|
||||||
@@ -196,6 +196,44 @@ const areaLineInfo = ref<any>([])
|
|||||||
const siteList = ref<any>([])
|
const siteList = ref<any>([])
|
||||||
const polyline = ref<any>([])
|
const polyline = ref<any>([])
|
||||||
const lineId = ref('')
|
const lineId = ref('')
|
||||||
|
const imageUrl = new URL('@/assets/imgs/m0.png', import.meta.url).href
|
||||||
|
const imageUrl1 = new URL('@/assets/imgs/m1.png', import.meta.url).href
|
||||||
|
const imageUrl2 = new URL('@/assets/imgs/m3.png', import.meta.url).href
|
||||||
|
const imageUrl3 = new URL('@/assets/imgs/m4.png', import.meta.url).href
|
||||||
|
const styles = [
|
||||||
|
{
|
||||||
|
url: imageUrl,
|
||||||
|
size: {
|
||||||
|
width: 53,
|
||||||
|
height: 52
|
||||||
|
},
|
||||||
|
opt_textSize: 10
|
||||||
|
},
|
||||||
|
{
|
||||||
|
url: imageUrl1,
|
||||||
|
size: {
|
||||||
|
width: 56,
|
||||||
|
height: 55
|
||||||
|
},
|
||||||
|
opt_textSize: 12
|
||||||
|
},
|
||||||
|
{
|
||||||
|
url: imageUrl2,
|
||||||
|
size: {
|
||||||
|
width: 78,
|
||||||
|
height: 77
|
||||||
|
},
|
||||||
|
opt_textSize: 14
|
||||||
|
},
|
||||||
|
{
|
||||||
|
url: imageUrl3,
|
||||||
|
size: {
|
||||||
|
width: 90,
|
||||||
|
height: 89
|
||||||
|
},
|
||||||
|
opt_textSize: 14
|
||||||
|
},
|
||||||
|
]
|
||||||
const handler = async ({ BMap, map }: any) => {
|
const handler = async ({ BMap, map }: any) => {
|
||||||
params.value.deptIndex = adminInfo.$state.deptId
|
params.value.deptIndex = adminInfo.$state.deptId
|
||||||
params.value.searchBeginTime = datePickerRef.value.timeValue[0]
|
params.value.searchBeginTime = datePickerRef.value.timeValue[0]
|
||||||
|
|||||||
Reference in New Issue
Block a user