forked from integrated_whb/integrated_whb_vue
定位管理
parent
dd513a4120
commit
ff65a74e6d
|
@ -406,3 +406,7 @@
|
||||||
--el-notification-close-hover-color: #000 !important;
|
--el-notification-close-hover-color: #000 !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.el-color-predefine__color-selector.selected {
|
||||||
|
--el-color-primary: #fff !important;
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
<template>
|
||||||
|
<index-view type="3" />
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import IndexView from "@/views/map_settings/assignment_ticket_area_settings/index.vue";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss"></style>
|
|
@ -0,0 +1,9 @@
|
||||||
|
<template>
|
||||||
|
<index-view is-gathering-alarm="1" />
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import IndexView from "@/views/alarm_configuration/other_alarm_configurations/index.vue";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss"></style>
|
|
@ -0,0 +1,9 @@
|
||||||
|
<template>
|
||||||
|
<index-view type="2" />
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import IndexView from "@/views/map_settings/assignment_ticket_area_settings/index.vue";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped lang="scss"></style>
|
|
@ -11,82 +11,232 @@
|
||||||
<el-input v-model="form.eleName" />
|
<el-input v-model="form.eleName" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="24">
|
<template v-if="isGatheringAlarm === '0'">
|
||||||
<el-form-item label="所属图层" prop="regId">
|
<el-col :span="24">
|
||||||
<el-select v-model="form.regId" filterable multiple>
|
<el-form-item label="所属图层" prop="regId">
|
||||||
<el-option
|
<el-select v-model="form.regId" filterable multiple>
|
||||||
v-for="item in regionList"
|
<el-option
|
||||||
:key="item.id"
|
v-for="item in regionList"
|
||||||
:value="item.id"
|
:key="item.id"
|
||||||
:disabled="item.list.length === 0 || item.status === '1'"
|
:value="item.id"
|
||||||
:label="`${item.regName}(${item.layName})`"
|
:disabled="item.list.length === 0 || item.status === '1'"
|
||||||
>
|
:label="`${item.regName}(${item.layName})`"
|
||||||
<div style="display: flex; justify-content: space-between">
|
>
|
||||||
<div>{{ item.regName }}(图层:{{ item.layName }})</div>
|
<div style="display: flex; justify-content: space-between">
|
||||||
<div>
|
<div>{{ item.regName }}(图层:{{ item.layName }})</div>
|
||||||
<span v-if="item.list.length === 0" class="text-red">
|
<div>
|
||||||
[未选点]
|
<span v-if="item.list.length === 0" class="text-red">
|
||||||
</span>
|
[未选点]
|
||||||
<span v-if="item.status === '1'" class="text-red ml-10">
|
</span>
|
||||||
[已停用]
|
<span v-if="item.status === '1'" class="text-red ml-10">
|
||||||
</span>
|
[已停用]
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</el-option>
|
||||||
</el-option>
|
</el-select>
|
||||||
</el-select>
|
</el-form-item>
|
||||||
</el-form-item>
|
</el-col>
|
||||||
</el-col>
|
<el-col :span="12">
|
||||||
<el-col :span="12">
|
<el-form-item label="告警类型" prop="eleType">
|
||||||
<el-form-item label="告警类型" prop="eleType">
|
<el-select v-model="form.eleType" multiple>
|
||||||
<el-select v-model="form.eleType" multiple>
|
<el-option
|
||||||
<el-option
|
v-for="item in alarmTypeList"
|
||||||
v-for="item in alarmTypeList"
|
:key="item.id"
|
||||||
:key="item.id"
|
:label="item.label"
|
||||||
:label="item.label"
|
:value="item.id"
|
||||||
:value="item.id"
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="围栏颜色" prop="color">
|
||||||
|
<el-color-picker v-model="form.color" :predefine="predefine" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<template v-if="form.eleType.includes('1')">
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-divider>滞留告警参数</el-divider>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="滞留时间(秒)" prop="resTime">
|
||||||
|
<el-select v-model="form.resTime">
|
||||||
|
<el-option
|
||||||
|
v-for="item in timeList"
|
||||||
|
:key="item"
|
||||||
|
:label="item"
|
||||||
|
:value="item"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</template>
|
||||||
|
<template v-if="form.eleType.includes('2')">
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-divider>越界告警参数</el-divider>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="告警间隔(秒)" prop="eleTimeCrossed">
|
||||||
|
<el-select v-model="form.eleTimeCrossed">
|
||||||
|
<el-option
|
||||||
|
v-for="item in timeList"
|
||||||
|
:key="item"
|
||||||
|
:label="item"
|
||||||
|
:value="item"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="允许进入人员" prop="eleCrossed">
|
||||||
|
<el-select v-model="form.eleCrossed" multiple>
|
||||||
|
<el-option
|
||||||
|
v-for="item in timeList"
|
||||||
|
:key="item"
|
||||||
|
:label="item"
|
||||||
|
:value="item"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</template>
|
||||||
|
<template v-if="form.eleType.includes('3')">
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-divider>超员告警参数</el-divider>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="告警间隔(秒)" prop="eleTimeOver">
|
||||||
|
<el-select v-model="form.eleTimeOver">
|
||||||
|
<el-option
|
||||||
|
v-for="item in timeList"
|
||||||
|
:key="item"
|
||||||
|
:label="item"
|
||||||
|
:value="item"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="最大人数" prop="overNum">
|
||||||
|
<el-input v-model.number="form.overNum" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</template>
|
||||||
|
<template v-if="form.eleType.includes('4')">
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-divider>缺员告警参数</el-divider>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="告警间隔(秒)" prop="eleTimeLack">
|
||||||
|
<el-select v-model="form.eleTimeLack">
|
||||||
|
<el-option
|
||||||
|
v-for="item in timeList"
|
||||||
|
:key="item"
|
||||||
|
:label="item"
|
||||||
|
:value="item"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="最小人数" prop="lackNum">
|
||||||
|
<el-input v-model.number="form.lackNum" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</template>
|
||||||
|
<template v-if="form.eleType.includes('5')">
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-divider>静止告警参数</el-divider>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="静止时间(秒)" prop="stillTime">
|
||||||
|
<el-select v-model="form.stillTime">
|
||||||
|
<el-option
|
||||||
|
v-for="item in timeList"
|
||||||
|
:key="item"
|
||||||
|
:label="item"
|
||||||
|
:value="item"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</template>
|
||||||
|
<template v-if="form.eleType.includes('7')">
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-divider>串岗告警参数</el-divider>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="告警间隔(秒)" prop="eleTimeDept">
|
||||||
|
<el-select v-model="form.eleTimeDept">
|
||||||
|
<el-option
|
||||||
|
v-for="item in timeList"
|
||||||
|
:key="item"
|
||||||
|
:label="item"
|
||||||
|
:value="item"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="允许进入部门" prop="eleDept">
|
||||||
|
<el-select v-model="form.eleDept" multiple>
|
||||||
|
<el-option
|
||||||
|
v-for="item in timeList"
|
||||||
|
:key="item"
|
||||||
|
:label="item"
|
||||||
|
:value="item"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</template>
|
||||||
|
</template>
|
||||||
|
<template v-if="isGatheringAlarm === '1'">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="聚集告警区域" prop="regGatherId">
|
||||||
|
<el-select v-model="form.regGatherId" multiple>
|
||||||
|
<el-option
|
||||||
|
v-for="item in clusterAlarmAreaList"
|
||||||
|
:key="item.id"
|
||||||
|
:label="`${item.regName}(${item.layName})`"
|
||||||
|
:value="item.id"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="围栏颜色" prop="gatherColor">
|
||||||
|
<el-color-picker
|
||||||
|
v-model="form.gatherColor"
|
||||||
|
:predefine="predefine"
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-form-item>
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="围栏颜色" prop="color">
|
|
||||||
<el-color-picker
|
|
||||||
v-model="form.color"
|
|
||||||
:predefine="[
|
|
||||||
'#ff1900',
|
|
||||||
'#ff8c00',
|
|
||||||
'#fff200',
|
|
||||||
'#006aff',
|
|
||||||
'#00ff1e',
|
|
||||||
'#000000',
|
|
||||||
]"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
<template v-if="form.eleType.includes('1')">
|
|
||||||
<el-col :span="24">
|
|
||||||
<el-divider>滞留告警参数</el-divider>
|
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="滞留时间(秒)" prop="resTime">
|
<el-form-item label="聚集静默区域" prop="regId">
|
||||||
<el-select v-model="form.resTime">
|
<el-select v-model="form.regId" multiple>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in timeList"
|
v-for="item in gatheringSilentAreasList"
|
||||||
:key="item"
|
:key="item.id"
|
||||||
:label="item"
|
:label="`${item.regName}(${item.layName})`"
|
||||||
:value="item"
|
:value="item.id"
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</template>
|
<el-col :span="12">
|
||||||
<template v-if="form.eleType.includes('2')">
|
<el-form-item label="围栏颜色" prop="color">
|
||||||
<el-col :span="24">
|
<el-color-picker v-model="form.color" :predefine="predefine" />
|
||||||
<el-divider>越界告警参数</el-divider>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="告警间隔(秒)" prop="eleTimeCrossed">
|
<el-form-item label="聚集半径(米)" prop="triggerRadius">
|
||||||
<el-select v-model="form.eleTimeCrossed">
|
<el-input v-model.number="form.triggerRadius" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="聚集时间(秒)" prop="eleTimeGather">
|
||||||
|
<el-select v-model="form.eleTimeGather">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in timeList"
|
v-for="item in timeList"
|
||||||
:key="item"
|
:key="item"
|
||||||
|
@ -97,105 +247,42 @@
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="允许进入人员" prop="eleCrossed">
|
<el-form-item label="一级聚集阈值" prop="gatherParameterA">
|
||||||
<el-select v-model="form.eleCrossed" multiple>
|
<el-input v-model.number="form.gatherParameterA" />
|
||||||
<el-option
|
|
||||||
v-for="item in timeList"
|
|
||||||
:key="item"
|
|
||||||
:label="item"
|
|
||||||
:value="item"
|
|
||||||
/>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</template>
|
|
||||||
<template v-if="form.eleType.includes('3')">
|
|
||||||
<el-col :span="24">
|
|
||||||
<el-divider>超员告警参数</el-divider>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="告警间隔(秒)" prop="eleTimeOver">
|
|
||||||
<el-select v-model="form.eleTimeOver">
|
|
||||||
<el-option
|
|
||||||
v-for="item in timeList"
|
|
||||||
:key="item"
|
|
||||||
:label="item"
|
|
||||||
:value="item"
|
|
||||||
/>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="最大人数" prop="overNum">
|
<el-form-item label="一级聚集颜色" prop="gatherParameterColorA">
|
||||||
<el-input v-model="form.overNum" />
|
<el-color-picker
|
||||||
</el-form-item>
|
v-model="form.gatherParameterColorA"
|
||||||
</el-col>
|
:predefine="predefine"
|
||||||
</template>
|
/>
|
||||||
<template v-if="form.eleType.includes('4')">
|
|
||||||
<el-col :span="24">
|
|
||||||
<el-divider>缺员告警参数</el-divider>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="告警间隔(秒)" prop="eleTimeLack">
|
|
||||||
<el-select v-model="form.eleTimeLack">
|
|
||||||
<el-option
|
|
||||||
v-for="item in timeList"
|
|
||||||
:key="item"
|
|
||||||
:label="item"
|
|
||||||
:value="item"
|
|
||||||
/>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="最小人数" prop="lackNum">
|
<el-form-item label="二级聚集阈值" prop="gatherParameterB">
|
||||||
<el-input v-model="form.lackNum" />
|
<el-input v-model.number="form.gatherParameterB" />
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</template>
|
|
||||||
<template v-if="form.eleType.includes('5')">
|
|
||||||
<el-col :span="24">
|
|
||||||
<el-divider>静止告警参数</el-divider>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="静止时间(秒)" prop="stillTime">
|
|
||||||
<el-select v-model="form.stillTime">
|
|
||||||
<el-option
|
|
||||||
v-for="item in timeList"
|
|
||||||
:key="item"
|
|
||||||
:label="item"
|
|
||||||
:value="item"
|
|
||||||
/>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-col>
|
|
||||||
</template>
|
|
||||||
<template v-if="form.eleType.includes('7')">
|
|
||||||
<el-col :span="24">
|
|
||||||
<el-divider>串岗告警参数</el-divider>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-form-item label="告警间隔(秒)" prop="eleTimeDept">
|
|
||||||
<el-select v-model="form.eleTimeDept">
|
|
||||||
<el-option
|
|
||||||
v-for="item in timeList"
|
|
||||||
:key="item"
|
|
||||||
:label="item"
|
|
||||||
:value="item"
|
|
||||||
/>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="允许进入部门" prop="eleDept">
|
<el-form-item label="二级聚集颜色" prop="gatherParameterColorB">
|
||||||
<el-select v-model="form.eleDept" multiple>
|
<el-color-picker
|
||||||
<el-option
|
v-model="form.gatherParameterColorB"
|
||||||
v-for="item in timeList"
|
:predefine="predefine"
|
||||||
:key="item"
|
/>
|
||||||
:label="item"
|
</el-form-item>
|
||||||
:value="item"
|
</el-col>
|
||||||
/>
|
<el-col :span="12">
|
||||||
</el-select>
|
<el-form-item label="三级聚集阈值" prop="gatherParameterC">
|
||||||
|
<el-input v-model.number="form.gatherParameterC" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="三级聚集颜色" prop="gatherParameterColorC">
|
||||||
|
<el-color-picker
|
||||||
|
v-model="form.gatherParameterColorC"
|
||||||
|
:predefine="predefine"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</template>
|
</template>
|
||||||
|
@ -236,6 +323,11 @@ const props = defineProps({
|
||||||
required: true,
|
required: true,
|
||||||
default: "",
|
default: "",
|
||||||
},
|
},
|
||||||
|
isGatheringAlarm: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
default: "",
|
||||||
|
},
|
||||||
});
|
});
|
||||||
const emits = defineEmits(["update:visible", "update:form", "get-data"]);
|
const emits = defineEmits(["update:visible", "update:form", "get-data"]);
|
||||||
const { visible, form } = useVModels(props, emits);
|
const { visible, form } = useVModels(props, emits);
|
||||||
|
@ -248,9 +340,23 @@ const alarmTypeList = [
|
||||||
{ id: "7", label: "越界报警" },
|
{ id: "7", label: "越界报警" },
|
||||||
];
|
];
|
||||||
const timeList = [10, 20, 30, 60, 120, 300, 600];
|
const timeList = [10, 20, 30, 60, 120, 300, 600];
|
||||||
|
const predefine = [
|
||||||
|
"#ff1900",
|
||||||
|
"#ff8c00",
|
||||||
|
"#fff200",
|
||||||
|
"#006aff",
|
||||||
|
"#00ff1e",
|
||||||
|
"#000000",
|
||||||
|
];
|
||||||
const rules = {
|
const rules = {
|
||||||
eleName: [{ required: true, message: "请输入名称", trigger: "blur" }],
|
eleName: [{ required: true, message: "请输入名称", trigger: "blur" }],
|
||||||
regId: [{ required: true, message: "请选择所属图层", trigger: "change" }],
|
regId: [
|
||||||
|
{
|
||||||
|
required: props.isGatheringAlarm === "0",
|
||||||
|
message: "请选择所属图层",
|
||||||
|
trigger: "change",
|
||||||
|
},
|
||||||
|
],
|
||||||
eleType: [{ required: true, message: "请选择告警类型", trigger: "change" }],
|
eleType: [{ required: true, message: "请选择告警类型", trigger: "change" }],
|
||||||
color: [{ required: true, message: "请选择围栏颜色", trigger: "change" }],
|
color: [{ required: true, message: "请选择围栏颜色", trigger: "change" }],
|
||||||
resTime: [{ required: true, message: "请选择滞留时间", trigger: "change" }],
|
resTime: [{ required: true, message: "请选择滞留时间", trigger: "change" }],
|
||||||
|
@ -275,18 +381,58 @@ const rules = {
|
||||||
eleTimeDept: [
|
eleTimeDept: [
|
||||||
{ required: true, message: "请选择告警间隔", trigger: "change" },
|
{ required: true, message: "请选择告警间隔", trigger: "change" },
|
||||||
],
|
],
|
||||||
|
regGatherId: [
|
||||||
|
{ required: true, message: "请选择聚集告警区域", trigger: "change" },
|
||||||
|
],
|
||||||
|
gatherColor: [
|
||||||
|
{ required: true, message: "请选择围栏颜色", trigger: "change" },
|
||||||
|
],
|
||||||
|
triggerRadius: [
|
||||||
|
{ required: true, message: "请输入聚集半径", trigger: "blur" },
|
||||||
|
{ type: "number", message: "请输入数字", trigger: "blur" },
|
||||||
|
],
|
||||||
|
eleTimeGather: [
|
||||||
|
{ required: true, message: "请选择聚集时间", trigger: "change" },
|
||||||
|
],
|
||||||
|
gatherParameterA: [
|
||||||
|
{ required: true, message: "请输入一级聚集阈值", trigger: "blur" },
|
||||||
|
{ type: "number", message: "请输入数字", trigger: "blur" },
|
||||||
|
],
|
||||||
|
gatherParameterColorA: [
|
||||||
|
{ required: true, message: "请选择一级聚集颜色", trigger: "change" },
|
||||||
|
],
|
||||||
|
gatherParameterB: [
|
||||||
|
{ required: true, message: "请输入二级聚集阈值", trigger: "blur" },
|
||||||
|
{ type: "number", message: "请输入数字", trigger: "blur" },
|
||||||
|
],
|
||||||
|
gatherParameterColorB: [
|
||||||
|
{ required: true, message: "请选择二级聚集颜色", trigger: "change" },
|
||||||
|
],
|
||||||
|
gatherParameterC: [
|
||||||
|
{ required: true, message: "请输入三级聚集阈值", trigger: "blur" },
|
||||||
|
{ type: "number", message: "请输入数字", trigger: "blur" },
|
||||||
|
],
|
||||||
|
gatherParameterColorC: [
|
||||||
|
{ required: true, message: "请选择三级聚集颜色", trigger: "change" },
|
||||||
|
],
|
||||||
};
|
};
|
||||||
const formRef = ref(null);
|
const formRef = ref(null);
|
||||||
const regionList = ref([]);
|
const regionList = ref([]);
|
||||||
const fnGetRegionList = async () => {
|
const clusterAlarmAreaList = ref([]);
|
||||||
|
const gatheringSilentAreasList = ref([]);
|
||||||
|
const fnGetRegionList = async (type) => {
|
||||||
const resData = await getAssignmentTicketAreaSettingsList({
|
const resData = await getAssignmentTicketAreaSettingsList({
|
||||||
currentPage: 1,
|
currentPage: 1,
|
||||||
showCount: 99999,
|
showCount: 99999,
|
||||||
type: 0,
|
type,
|
||||||
});
|
});
|
||||||
regionList.value = resData.rows;
|
if (type === 0) regionList.value = resData.rows;
|
||||||
|
if (type === 2) gatheringSilentAreasList.value = resData.rows;
|
||||||
|
if (type === 3) clusterAlarmAreaList.value = resData.rows;
|
||||||
};
|
};
|
||||||
fnGetRegionList();
|
props.isGatheringAlarm === "0" && fnGetRegionList(0);
|
||||||
|
props.isGatheringAlarm === "1" && fnGetRegionList(2);
|
||||||
|
props.isGatheringAlarm === "1" && fnGetRegionList(3);
|
||||||
const fnClose = () => {
|
const fnClose = () => {
|
||||||
formRef.value.resetFields();
|
formRef.value.resetFields();
|
||||||
visible.value = false;
|
visible.value = false;
|
||||||
|
@ -297,12 +443,13 @@ const fnSubmit = debounce(
|
||||||
await useFormValidate(formRef);
|
await useFormValidate(formRef);
|
||||||
const params = {
|
const params = {
|
||||||
...form.value,
|
...form.value,
|
||||||
|
isGatheringAlarm: props.isGatheringAlarm,
|
||||||
regId: JSON.stringify(form.value.regId),
|
regId: JSON.stringify(form.value.regId),
|
||||||
eleType: JSON.stringify(form.value.eleType),
|
eleType: JSON.stringify(form.value.eleType),
|
||||||
eleCrossed: JSON.stringify(form.value.eleCrossed),
|
eleCrossed: JSON.stringify(form.value.eleCrossed),
|
||||||
eleDept: JSON.stringify(form.value.eleDept),
|
eleDept: JSON.stringify(form.value.eleDept),
|
||||||
|
regGatherId: JSON.stringify(form.value.regGatherId),
|
||||||
};
|
};
|
||||||
console.log(params);
|
|
||||||
props.type === "add"
|
props.type === "add"
|
||||||
? await setOtherAlarmConfigurationsAdd(params)
|
? await setOtherAlarmConfigurationsAdd(params)
|
||||||
: await setOtherAlarmConfigurationsEdit(params);
|
: await setOtherAlarmConfigurationsEdit(params);
|
||||||
|
|
|
@ -40,10 +40,12 @@
|
||||||
<el-table-column label="名称" prop="eleName" />
|
<el-table-column label="名称" prop="eleName" />
|
||||||
<el-table-column label="所属图层区域">
|
<el-table-column label="所属图层区域">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
{{ row.regions.map((item) => item.regName).join("、") }}
|
{{ row.regions?.map((item) => item.regName).join("、") }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="类型">其它告警</el-table-column>
|
<el-table-column label="类型">
|
||||||
|
{{ typeList[isGatheringAlarm] }}
|
||||||
|
</el-table-column>
|
||||||
<el-table-column label="状态" width="100">
|
<el-table-column label="状态" width="100">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
{{ row.status === "1" ? "停用" : "启用" }}
|
{{ row.status === "1" ? "停用" : "启用" }}
|
||||||
|
@ -86,6 +88,7 @@
|
||||||
v-model:visible="data.addOrEditDialog.visible"
|
v-model:visible="data.addOrEditDialog.visible"
|
||||||
v-model:form="data.addOrEditDialog.form"
|
v-model:form="data.addOrEditDialog.form"
|
||||||
:type="data.addOrEditDialog.type"
|
:type="data.addOrEditDialog.type"
|
||||||
|
:is-gathering-alarm="isGatheringAlarm"
|
||||||
@get-data="fnResetPagination"
|
@get-data="fnResetPagination"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
@ -105,9 +108,20 @@ import {
|
||||||
import Add from "./components/add.vue";
|
import Add from "./components/add.vue";
|
||||||
import { nextTick, reactive } from "vue";
|
import { nextTick, reactive } from "vue";
|
||||||
|
|
||||||
|
const props = defineProps({
|
||||||
|
isGatheringAlarm: {
|
||||||
|
type: String,
|
||||||
|
required: true,
|
||||||
|
default: "0",
|
||||||
|
},
|
||||||
|
});
|
||||||
|
const typeList = {
|
||||||
|
0: "其它告警",
|
||||||
|
1: "聚集告警",
|
||||||
|
};
|
||||||
const { list, searchForm, tableRef, pagination, fnGetData, fnResetPagination } =
|
const { list, searchForm, tableRef, pagination, fnGetData, fnResetPagination } =
|
||||||
useListData(getOtherAlarmConfigurationsList, {
|
useListData(getOtherAlarmConfigurationsList, {
|
||||||
otherParams: { isGatheringAlarm: 0 },
|
otherParams: { isGatheringAlarm: props.isGatheringAlarm },
|
||||||
defaultSearchForm: { str: "" },
|
defaultSearchForm: { str: "" },
|
||||||
key: "rows",
|
key: "rows",
|
||||||
});
|
});
|
||||||
|
@ -130,6 +144,16 @@ const data = reactive({
|
||||||
stillTime: "",
|
stillTime: "",
|
||||||
eleTimeDept: "",
|
eleTimeDept: "",
|
||||||
eleDept: [],
|
eleDept: [],
|
||||||
|
regGatherId: [],
|
||||||
|
gatherColor: "#ff1900",
|
||||||
|
triggerRadius: "",
|
||||||
|
eleTimeGather: "",
|
||||||
|
gatherParameterA: "",
|
||||||
|
gatherParameterColorA: "#ff1900",
|
||||||
|
gatherParameterB: "",
|
||||||
|
gatherParameterColorB: "#ff8c00",
|
||||||
|
gatherParameterC: "",
|
||||||
|
gatherParameterColorC: "#fff200",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
@ -177,6 +201,7 @@ const fnAddOrEdit = async (id, type) => {
|
||||||
if (type === "edit") {
|
if (type === "edit") {
|
||||||
const resData = await getOtherAlarmConfigurationsView({ id });
|
const resData = await getOtherAlarmConfigurationsView({ id });
|
||||||
resData.data.regId = resData.data.regId.map(Number);
|
resData.data.regId = resData.data.regId.map(Number);
|
||||||
|
resData.data.regGatherId = resData.data.regGatherId.map(Number);
|
||||||
data.addOrEditDialog.form = resData.data;
|
data.addOrEditDialog.form = resData.data;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -8,7 +8,11 @@
|
||||||
<el-form-item label="名称" prop="regName">
|
<el-form-item label="名称" prop="regName">
|
||||||
<el-input v-model="form.regName" />
|
<el-input v-model="form.regName" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="所属图层" prop="layId">
|
<el-form-item
|
||||||
|
v-if="queryType === '1' || queryType === '0'"
|
||||||
|
label="所属图层"
|
||||||
|
prop="layId"
|
||||||
|
>
|
||||||
<el-select v-model="form.layId" filterable>
|
<el-select v-model="form.layId" filterable>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in selectRegionTreeVoList"
|
v-for="item in selectRegionTreeVoList"
|
||||||
|
@ -72,7 +76,8 @@ const fnGetSelectRegionTreeVo = async () => {
|
||||||
const resData = await getSelectRegionTreeVo();
|
const resData = await getSelectRegionTreeVo();
|
||||||
selectRegionTreeVoList.value = resData.data;
|
selectRegionTreeVoList.value = resData.data;
|
||||||
};
|
};
|
||||||
fnGetSelectRegionTreeVo();
|
(props.queryType === "1" || props.queryType === "0") &&
|
||||||
|
fnGetSelectRegionTreeVo();
|
||||||
const fnClose = () => {
|
const fnClose = () => {
|
||||||
formRef.value.resetFields();
|
formRef.value.resetFields();
|
||||||
visible.value = false;
|
visible.value = false;
|
||||||
|
|
|
@ -38,10 +38,12 @@
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="名称" prop="regName" />
|
<el-table-column label="名称" prop="regName" />
|
||||||
<el-table-column label="类型">
|
<el-table-column label="类型">{{ typeList[type] }}</el-table-column>
|
||||||
{{ type === 1 ? "作业票区域" : "告警区域" }}
|
<el-table-column
|
||||||
</el-table-column>
|
v-if="type === '1' || type === '0'"
|
||||||
<el-table-column label="所属图层" prop="layName" />
|
label="所属图层"
|
||||||
|
prop="layName"
|
||||||
|
/>
|
||||||
<el-table-column label="定位状态" width="100">
|
<el-table-column label="定位状态" width="100">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
{{ row.list.length > 0 ? "已定位" : "未选点" }}
|
{{ row.list.length > 0 ? "已定位" : "未选点" }}
|
||||||
|
@ -126,9 +128,16 @@ import SelectingPoints from "./components/selecting_points.vue";
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
type: {
|
type: {
|
||||||
type: String,
|
type: String,
|
||||||
|
required: true,
|
||||||
default: "1",
|
default: "1",
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
const typeList = {
|
||||||
|
1: "作业票区域",
|
||||||
|
0: "告警区域",
|
||||||
|
3: "聚集告警区域",
|
||||||
|
2: "聚集静默区域",
|
||||||
|
};
|
||||||
const { list, searchForm, tableRef, pagination, fnGetData, fnResetPagination } =
|
const { list, searchForm, tableRef, pagination, fnGetData, fnResetPagination } =
|
||||||
useListData(getAssignmentTicketAreaSettingsList, {
|
useListData(getAssignmentTicketAreaSettingsList, {
|
||||||
otherParams: { type: props.type },
|
otherParams: { type: props.type },
|
||||||
|
|
Loading…
Reference in New Issue