报警弹框操作增加禁用逻辑和禁选逻辑
This commit is contained in:
parent
330f7cc809
commit
3ecc0558b1
@ -63,6 +63,8 @@ export interface Item {
|
|||||||
drivingInfo: string;
|
drivingInfo: string;
|
||||||
submissionInfo: string;
|
submissionInfo: string;
|
||||||
alarmStatus: number;
|
alarmStatus: number;
|
||||||
|
lineId: number;
|
||||||
|
lineType: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -49,11 +49,22 @@
|
|||||||
/>
|
/>
|
||||||
<q-card-actions align="left">
|
<q-card-actions align="left">
|
||||||
<div class="q-gutter-md">
|
<div class="q-gutter-md">
|
||||||
<q-btn color="primary" label="确认" type="submit" />
|
<q-btn
|
||||||
<q-btn color="red" label="误报" @click="falseAlarm" />
|
color="primary"
|
||||||
|
label="确认"
|
||||||
|
:disable="operateDisabled"
|
||||||
|
type="submit"
|
||||||
|
/>
|
||||||
|
<q-btn
|
||||||
|
color="red"
|
||||||
|
label="误报"
|
||||||
|
:disable="operateDisabled"
|
||||||
|
@click="falseAlarm"
|
||||||
|
/>
|
||||||
<q-btn
|
<q-btn
|
||||||
color="primary"
|
color="primary"
|
||||||
label="人工接警"
|
label="人工接警"
|
||||||
|
:disable="operateDisabled"
|
||||||
@click="manualAlarm"
|
@click="manualAlarm"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@ -88,7 +99,7 @@
|
|||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import DraggableDialog from '../common/DraggableDialog.vue';
|
import DraggableDialog from '../common/DraggableDialog.vue';
|
||||||
import { useLineNetStore, AlarmInfo } from 'src/stores/line-net-store';
|
import { useLineNetStore, AlarmInfo } from 'src/stores/line-net-store';
|
||||||
import { onMounted, ref } from 'vue';
|
import { computed, onMounted, ref } from 'vue';
|
||||||
import { QForm, useQuasar } from 'quasar';
|
import { QForm, useQuasar } from 'quasar';
|
||||||
import { saveAlertTypeData, showAlertTypeData } from './alarmInfoEnum';
|
import { saveAlertTypeData, showAlertTypeData } from './alarmInfoEnum';
|
||||||
import {
|
import {
|
||||||
@ -97,6 +108,8 @@ import {
|
|||||||
recordManualAlarmInfoById,
|
recordManualAlarmInfoById,
|
||||||
} from 'src/api/AlertMock';
|
} from 'src/api/AlertMock';
|
||||||
import { queryAlarmInfoById } from 'src/api/DecisionInfo';
|
import { queryAlarmInfoById } from 'src/api/DecisionInfo';
|
||||||
|
import { useUserStore } from 'src/stores/user-store';
|
||||||
|
import { getMonitorPath } from 'src/router/routes';
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
alarmMeaasge?: AlarmInfo;
|
alarmMeaasge?: AlarmInfo;
|
||||||
@ -124,6 +137,7 @@ const alarmInfo = ref({
|
|||||||
level: '',
|
level: '',
|
||||||
time: '',
|
time: '',
|
||||||
lineId: '',
|
lineId: '',
|
||||||
|
lineType: '',
|
||||||
alertObject: '',
|
alertObject: '',
|
||||||
alertType: '',
|
alertType: '',
|
||||||
locator_device_id: '',
|
locator_device_id: '',
|
||||||
@ -203,6 +217,7 @@ function updata() {
|
|||||||
];
|
];
|
||||||
alarmInfo.value.alertObject = messageUse.alert_object.replace(/\[|]/g, '');
|
alarmInfo.value.alertObject = messageUse.alert_object.replace(/\[|]/g, '');
|
||||||
alarmInfo.value.lineId = messageUse.line_id;
|
alarmInfo.value.lineId = messageUse.line_id;
|
||||||
|
alarmInfo.value.lineType = messageUse.line_type;
|
||||||
}
|
}
|
||||||
|
|
||||||
async function searchByTipType() {
|
async function searchByTipType() {
|
||||||
@ -237,6 +252,15 @@ async function searchById() {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const userStore = useUserStore();
|
||||||
|
const operateDisabled = computed(() => {
|
||||||
|
const config = getMonitorPath(userStore.roles);
|
||||||
|
const disabled =
|
||||||
|
config.lineType == alarmInfo.value.lineType &&
|
||||||
|
config.lineIds.includes(+alarmInfo.value.lineId);
|
||||||
|
return !disabled;
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang='scss' scoped>
|
<style lang='scss' scoped>
|
||||||
|
@ -274,6 +274,13 @@ const columnDefs: QTableColumn[] = [
|
|||||||
field: 'lineId',
|
field: 'lineId',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: 'lineType',
|
||||||
|
label: '线路类型',
|
||||||
|
field: 'lineType',
|
||||||
|
required: true,
|
||||||
|
align: 'center',
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: 'alertObject',
|
name: 'alertObject',
|
||||||
label: '设备',
|
label: '设备',
|
||||||
@ -392,8 +399,12 @@ watch(
|
|||||||
);
|
);
|
||||||
|
|
||||||
function updateSelect() {
|
function updateSelect() {
|
||||||
|
const config = getMonitorPath(userStore.roles);
|
||||||
for (let i = 0; i < selected.value.length; i++) {
|
for (let i = 0; i < selected.value.length; i++) {
|
||||||
if (selected.value[i].alarmStatus !== -1) {
|
const canSelect =
|
||||||
|
config.lineType == selected.value[i].lineType &&
|
||||||
|
config.lineIds.includes(+selected.value[i].lineId);
|
||||||
|
if (selected.value[i].alarmStatus !== -1 || !canSelect) {
|
||||||
selected.value.splice(i, 1);
|
selected.value.splice(i, 1);
|
||||||
i--;
|
i--;
|
||||||
}
|
}
|
||||||
@ -538,6 +549,7 @@ function openAlarmDialog(row: any) {
|
|||||||
row.alert_time = row.alertTime;
|
row.alert_time = row.alertTime;
|
||||||
row.alert_type = row.alertType;
|
row.alert_type = row.alertType;
|
||||||
row.line_id = row.lineId;
|
row.line_id = row.lineId;
|
||||||
|
row.line_type = row.lineType;
|
||||||
row.alert_object = row.alertObject;
|
row.alert_object = row.alertObject;
|
||||||
row.alert_tip_id = row.alertTipId;
|
row.alert_tip_id = row.alertTipId;
|
||||||
row.alert_location_id = row.alertLocationId;
|
row.alert_location_id = row.alertLocationId;
|
||||||
|
@ -87,6 +87,7 @@ export namespace alert {
|
|||||||
locator_device_id?: string;
|
locator_device_id?: string;
|
||||||
alert_location_id?: number;
|
alert_location_id?: number;
|
||||||
mock?: boolean;
|
mock?: boolean;
|
||||||
|
line_type?: string;
|
||||||
}) {
|
}) {
|
||||||
super();
|
super();
|
||||||
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
|
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
|
||||||
@ -121,6 +122,9 @@ export namespace alert {
|
|||||||
if ("mock" in data && data.mock != undefined) {
|
if ("mock" in data && data.mock != undefined) {
|
||||||
this.mock = data.mock;
|
this.mock = data.mock;
|
||||||
}
|
}
|
||||||
|
if ("line_type" in data && data.line_type != undefined) {
|
||||||
|
this.line_type = data.line_type;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
get id() {
|
get id() {
|
||||||
@ -183,6 +187,12 @@ export namespace alert {
|
|||||||
set mock(value: boolean) {
|
set mock(value: boolean) {
|
||||||
pb_1.Message.setField(this, 10, value);
|
pb_1.Message.setField(this, 10, value);
|
||||||
}
|
}
|
||||||
|
get line_type() {
|
||||||
|
return pb_1.Message.getFieldWithDefault(this, 11, "") as string;
|
||||||
|
}
|
||||||
|
set line_type(value: string) {
|
||||||
|
pb_1.Message.setField(this, 11, value);
|
||||||
|
}
|
||||||
static fromObject(data: {
|
static fromObject(data: {
|
||||||
id?: string;
|
id?: string;
|
||||||
level?: string;
|
level?: string;
|
||||||
@ -194,6 +204,7 @@ export namespace alert {
|
|||||||
locator_device_id?: string;
|
locator_device_id?: string;
|
||||||
alert_location_id?: number;
|
alert_location_id?: number;
|
||||||
mock?: boolean;
|
mock?: boolean;
|
||||||
|
line_type?: string;
|
||||||
}): Message {
|
}): Message {
|
||||||
const message = new Message({});
|
const message = new Message({});
|
||||||
if (data.id != null) {
|
if (data.id != null) {
|
||||||
@ -226,6 +237,9 @@ export namespace alert {
|
|||||||
if (data.mock != null) {
|
if (data.mock != null) {
|
||||||
message.mock = data.mock;
|
message.mock = data.mock;
|
||||||
}
|
}
|
||||||
|
if (data.line_type != null) {
|
||||||
|
message.line_type = data.line_type;
|
||||||
|
}
|
||||||
return message;
|
return message;
|
||||||
}
|
}
|
||||||
toObject() {
|
toObject() {
|
||||||
@ -240,6 +254,7 @@ export namespace alert {
|
|||||||
locator_device_id?: string;
|
locator_device_id?: string;
|
||||||
alert_location_id?: number;
|
alert_location_id?: number;
|
||||||
mock?: boolean;
|
mock?: boolean;
|
||||||
|
line_type?: string;
|
||||||
} = {};
|
} = {};
|
||||||
if (this.id != null) {
|
if (this.id != null) {
|
||||||
data.id = this.id;
|
data.id = this.id;
|
||||||
@ -271,6 +286,9 @@ export namespace alert {
|
|||||||
if (this.mock != null) {
|
if (this.mock != null) {
|
||||||
data.mock = this.mock;
|
data.mock = this.mock;
|
||||||
}
|
}
|
||||||
|
if (this.line_type != null) {
|
||||||
|
data.line_type = this.line_type;
|
||||||
|
}
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
serialize(): Uint8Array;
|
serialize(): Uint8Array;
|
||||||
@ -297,6 +315,8 @@ export namespace alert {
|
|||||||
writer.writeInt64(9, this.alert_location_id);
|
writer.writeInt64(9, this.alert_location_id);
|
||||||
if (this.mock != false)
|
if (this.mock != false)
|
||||||
writer.writeBool(10, this.mock);
|
writer.writeBool(10, this.mock);
|
||||||
|
if (this.line_type.length)
|
||||||
|
writer.writeString(11, this.line_type);
|
||||||
if (!w)
|
if (!w)
|
||||||
return writer.getResultBuffer();
|
return writer.getResultBuffer();
|
||||||
}
|
}
|
||||||
@ -336,6 +356,9 @@ export namespace alert {
|
|||||||
case 10:
|
case 10:
|
||||||
message.mock = reader.readBool();
|
message.mock = reader.readBool();
|
||||||
break;
|
break;
|
||||||
|
case 11:
|
||||||
|
message.line_type = reader.readString();
|
||||||
|
break;
|
||||||
default: reader.skipField();
|
default: reader.skipField();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -14,6 +14,7 @@ export interface AlarmInfo {
|
|||||||
alert_time: string;
|
alert_time: string;
|
||||||
alert_tip_id: number;
|
alert_tip_id: number;
|
||||||
line_id: string;
|
line_id: string;
|
||||||
|
line_type: string;
|
||||||
alert_object: string;
|
alert_object: string;
|
||||||
alert_type: number;
|
alert_type: number;
|
||||||
locator_device_id: string;
|
locator_device_id: string;
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit c20feed4b6ae3bdd02cb21b4cc5af03c55be869b
|
Subproject commit 4f9012b0795f62bf352b078ebbc1b1fffa86849d
|
Loading…
Reference in New Issue
Block a user