Merge branch 'develop' of https://gitea.joylink.club/joylink/rtss-simulation-app-client into develop
This commit is contained in:
commit
61911d9ee5
@ -1 +1 @@
|
|||||||
Subproject commit cf2e52a1e02d3f8c001c05ba6480fc201b016bef
|
Subproject commit 236252fc0fa258e6beaae5b5ac0a7e28ebbcb04b
|
@ -2,8 +2,8 @@
|
|||||||
<div>
|
<div>
|
||||||
<div class="monitoring-title">{{ props.stationName }}摄像头监控</div>
|
<div class="monitoring-title">{{ props.stationName }}摄像头监控</div>
|
||||||
<div class="monitoring-layout">
|
<div class="monitoring-layout">
|
||||||
<div class="video-control">
|
<div class="video-control-text">视频控制</div>
|
||||||
<div class="video-text">视频控制</div>
|
<div class="video-control-content">
|
||||||
<div>
|
<div>
|
||||||
<div class="video-control-item">
|
<div class="video-control-item">
|
||||||
<div>画面布局:</div>
|
<div>画面布局:</div>
|
||||||
@ -11,7 +11,15 @@
|
|||||||
dense
|
dense
|
||||||
outlined
|
outlined
|
||||||
v-model="pictureLayout"
|
v-model="pictureLayout"
|
||||||
:options="options"
|
:options="pictureLayoutOtions"
|
||||||
|
style="width: 125px"
|
||||||
|
/>
|
||||||
|
<q-btn
|
||||||
|
class="btn-padding"
|
||||||
|
style="margin-left: 15px"
|
||||||
|
label="全屏显示"
|
||||||
|
color="white"
|
||||||
|
text-color="black"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="video-control-item">
|
<div class="video-control-item">
|
||||||
@ -20,8 +28,9 @@
|
|||||||
dense
|
dense
|
||||||
outlined
|
outlined
|
||||||
disable
|
disable
|
||||||
v-model="pictureLayout"
|
v-model="chooseStation"
|
||||||
:options="options"
|
:options="stationOptions"
|
||||||
|
style="width: 220px"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="video-control-item">
|
<div class="video-control-item">
|
||||||
@ -30,8 +39,9 @@
|
|||||||
dense
|
dense
|
||||||
outlined
|
outlined
|
||||||
disable
|
disable
|
||||||
v-model="pictureLayout"
|
v-model="chooseTrain"
|
||||||
:options="options"
|
:options="trainOptions"
|
||||||
|
style="width: 220px"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="video-control-item">
|
<div class="video-control-item">
|
||||||
@ -39,80 +49,293 @@
|
|||||||
<q-select
|
<q-select
|
||||||
dense
|
dense
|
||||||
outlined
|
outlined
|
||||||
v-model="pictureLayout"
|
v-model="chooseCamera"
|
||||||
:options="options"
|
:options="cameraOptions"
|
||||||
|
emit-value
|
||||||
|
map-options
|
||||||
|
options-dense
|
||||||
|
style="width: 205px"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<q-separator />
|
||||||
|
<div class="mode-handle">
|
||||||
<div>模式操作</div>
|
<div>模式操作</div>
|
||||||
<div class="video-control-item">
|
<div class="video-control-item">
|
||||||
<div>显示模式操作:</div>
|
<div>显示模式选择:</div>
|
||||||
<q-select
|
<q-select
|
||||||
dense
|
dense
|
||||||
outlined
|
outlined
|
||||||
v-model="pictureLayout"
|
v-model="chooseDisplayMode"
|
||||||
:options="options"
|
:options="displayModeOptions"
|
||||||
|
style="width: 190px"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="q-gutter-sm">
|
<div class="display-mode-button">
|
||||||
<q-btn label="新增" color="white" text-color="black" />
|
<q-btn
|
||||||
<q-btn label="删除" color="white" text-color="black" />
|
class="btn-padding"
|
||||||
|
label="新增"
|
||||||
|
color="white"
|
||||||
|
text-color="black"
|
||||||
|
/>
|
||||||
|
<q-btn
|
||||||
|
class="btn-padding"
|
||||||
|
label="删除"
|
||||||
|
color="white"
|
||||||
|
text-color="black"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="video-control-item">
|
<div class="video-control-item poll-mode">
|
||||||
<div>轮询模式操作:</div>
|
<div>轮询模式选择:</div>
|
||||||
<q-select
|
<q-select
|
||||||
dense
|
dense
|
||||||
outlined
|
outlined
|
||||||
v-model="pictureLayout"
|
v-model="choosePollMode"
|
||||||
:options="options"
|
:options="pollModeOptions"
|
||||||
|
style="width: 190px"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div class="q-gutter-sm">
|
<div class="poll-mode-button">
|
||||||
<q-btn label="启动" color="white" text-color="black" />
|
<q-btn
|
||||||
<q-btn label="停止" color="white" text-color="black" />
|
class="btn-padding"
|
||||||
<q-btn label="新增" color="white" text-color="black" />
|
label="启动"
|
||||||
<q-btn label="修改" color="white" text-color="black" />
|
color="white"
|
||||||
<q-btn label="删除" color="white" text-color="black" />
|
text-color="black"
|
||||||
|
/>
|
||||||
|
<q-btn
|
||||||
|
class="btn-padding"
|
||||||
|
label="停止"
|
||||||
|
color="white"
|
||||||
|
text-color="black"
|
||||||
|
/>
|
||||||
|
<q-btn
|
||||||
|
class="btn-padding"
|
||||||
|
label="新增"
|
||||||
|
color="white"
|
||||||
|
text-color="black"
|
||||||
|
/>
|
||||||
|
<q-btn
|
||||||
|
class="btn-padding"
|
||||||
|
label="修改"
|
||||||
|
color="white"
|
||||||
|
text-color="black"
|
||||||
|
/>
|
||||||
|
<q-btn
|
||||||
|
class="btn-padding"
|
||||||
|
label="删除"
|
||||||
|
color="white"
|
||||||
|
text-color="black"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<q-separator />
|
||||||
<div>
|
<div>
|
||||||
<div>预置位管理</div>
|
<div>预置位管理</div>
|
||||||
<div class="video-control-item">
|
<div class="preset-manage">
|
||||||
<div>预置位选择:</div>
|
<div class="video-control-item">
|
||||||
<q-select
|
<div>预置位选择:</div>
|
||||||
dense
|
<q-select
|
||||||
outlined
|
dense
|
||||||
v-model="pictureLayout"
|
outlined
|
||||||
:options="options"
|
v-model="choosePresetPosition"
|
||||||
/>
|
:options="presetPositionOptions"
|
||||||
</div>
|
style="width: 175px"
|
||||||
<div class="video-control-item">
|
/>
|
||||||
<div>预置位名称:</div>
|
</div>
|
||||||
<q-input dense outlined v-model="presetPositionName" />
|
<div class="video-control-item">
|
||||||
</div>
|
<div>预置位名称:</div>
|
||||||
<div class="q-gutter-sm">
|
<q-input
|
||||||
<q-btn label="保存" color="white" text-color="black" />
|
dense
|
||||||
<q-btn label="重命名" color="white" text-color="black" />
|
outlined
|
||||||
<q-btn label="删除" color="white" text-color="black" />
|
v-model="presetPositionName"
|
||||||
|
style="width: 175px"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
<div class="perset-button">
|
||||||
|
<q-btn
|
||||||
|
class="btn-padding"
|
||||||
|
label="保存"
|
||||||
|
color="white"
|
||||||
|
text-color="black"
|
||||||
|
/>
|
||||||
|
<q-btn
|
||||||
|
class="btn-padding"
|
||||||
|
label="重命名"
|
||||||
|
color="white"
|
||||||
|
text-color="black"
|
||||||
|
/>
|
||||||
|
<q-btn
|
||||||
|
class="btn-padding"
|
||||||
|
label="删除"
|
||||||
|
color="white"
|
||||||
|
text-color="black"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>云台控制</div>
|
<q-separator />
|
||||||
|
<div class="ptz-control">云台控制</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { ref } from 'vue';
|
import { onMounted, ref } from 'vue';
|
||||||
|
import { CCTV_Camera_name } from 'src/configs/cctvCamera';
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
stationName: string;
|
stationName: string;
|
||||||
}>();
|
}>();
|
||||||
|
|
||||||
const pictureLayout = ref('2x2');
|
const pictureLayout = ref('2x2');
|
||||||
const options = ['1x1', '2x2'];
|
const pictureLayoutOtions = ['1x1', '2x2'];
|
||||||
|
const chooseStation = ref('');
|
||||||
|
const stationOptions = [];
|
||||||
|
const chooseTrain = ref('');
|
||||||
|
const trainOptions = [];
|
||||||
|
const chooseCamera = ref(0);
|
||||||
|
const cameraOptions = [
|
||||||
|
{
|
||||||
|
label: '备品柜',
|
||||||
|
value: CCTV_Camera_name.SparePartsCabinet,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '备品区',
|
||||||
|
value: CCTV_Camera_name.PartsArea,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '站厅',
|
||||||
|
value: CCTV_Camera_name.StationHall,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '上行站台',
|
||||||
|
value: CCTV_Camera_name.UpPlatform,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '下行站台',
|
||||||
|
value: CCTV_Camera_name.DownPlatform,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '站厅A出口',
|
||||||
|
value: CCTV_Camera_name.StationHallAExit,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'A入口',
|
||||||
|
value: CCTV_Camera_name.AEntrance,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'A口通道',
|
||||||
|
value: CCTV_Camera_name.APassage,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '站厅B出口',
|
||||||
|
value: CCTV_Camera_name.StationHallBExit,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'B入口',
|
||||||
|
value: CCTV_Camera_name.BEntrance,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'B口通道',
|
||||||
|
value: CCTV_Camera_name.BPassage,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '站厅C出口',
|
||||||
|
value: CCTV_Camera_name.StationHallCExit,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'C入口',
|
||||||
|
value: CCTV_Camera_name.CEntrance,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'C口通道',
|
||||||
|
value: CCTV_Camera_name.CPassage,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '站厅D出口',
|
||||||
|
value: CCTV_Camera_name.StationHallDExit,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'D入口',
|
||||||
|
value: CCTV_Camera_name.DEntrance,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'D口通道',
|
||||||
|
value: CCTV_Camera_name.DPassage,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'A端扶梯下部开关',
|
||||||
|
value: CCTV_Camera_name.ALowerStepSwitch,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'A端TVM',
|
||||||
|
value: CCTV_Camera_name.ATVM,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'A端进站闸机',
|
||||||
|
value: CCTV_Camera_name.AInboundGate,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'A端出站闸机',
|
||||||
|
value: CCTV_Camera_name.AExitGate,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'A端扶梯上部',
|
||||||
|
value: CCTV_Camera_name.AUpperStep,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'A端扶梯下部',
|
||||||
|
value: CCTV_Camera_name.ALowerStep,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'A端站厅步梯口',
|
||||||
|
value: CCTV_Camera_name.AGangway,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'B端扶梯下部开关',
|
||||||
|
value: CCTV_Camera_name.BLowerStepSwitch,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'B端TVM',
|
||||||
|
value: CCTV_Camera_name.BTVM,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'B端进站闸机',
|
||||||
|
value: CCTV_Camera_name.BInboundGate,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'B端出站闸机',
|
||||||
|
value: CCTV_Camera_name.BExitGate,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'B端扶梯上部',
|
||||||
|
value: CCTV_Camera_name.BUpperStep,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'B端扶梯下部',
|
||||||
|
value: CCTV_Camera_name.BLowerStep,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: 'B端站厅步梯口',
|
||||||
|
value: CCTV_Camera_name.BGangway,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '商铺',
|
||||||
|
value: CCTV_Camera_name.Shop,
|
||||||
|
},
|
||||||
|
];
|
||||||
|
const chooseDisplayMode = ref('');
|
||||||
|
const displayModeOptions = [];
|
||||||
|
const choosePollMode = ref('');
|
||||||
|
const pollModeOptions = [];
|
||||||
|
const choosePresetPosition = ref('');
|
||||||
|
const presetPositionOptions = [];
|
||||||
const presetPositionName = ref('');
|
const presetPositionName = ref('');
|
||||||
|
|
||||||
|
onMounted(() => {
|
||||||
|
chooseStation.value = props.stationName;
|
||||||
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@ -124,18 +347,54 @@ const presetPositionName = ref('');
|
|||||||
font-size: 28px;
|
font-size: 28px;
|
||||||
}
|
}
|
||||||
.monitoring-layout {
|
.monitoring-layout {
|
||||||
width: 370px;
|
width: 320px;
|
||||||
background-color: white;
|
background-color: white;
|
||||||
.video-control {
|
.video-control-text {
|
||||||
padding: 10px;
|
margin-left: 5px;
|
||||||
.video-text {
|
font-size: 16px;
|
||||||
font-size: 16px;
|
font-weight: 600;
|
||||||
}
|
}
|
||||||
|
.video-control-content {
|
||||||
|
margin-bottom: 8px;
|
||||||
|
padding: 0 15px;
|
||||||
.video-control-item {
|
.video-control-item {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
}
|
}
|
||||||
|
.mode-handle {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
.display-mode-button {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
padding: 0 45px;
|
||||||
|
}
|
||||||
|
.poll-mode {
|
||||||
|
margin-top: 10px;
|
||||||
|
}
|
||||||
|
.poll-mode-button {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.preset-manage {
|
||||||
|
margin-left: 28px;
|
||||||
|
}
|
||||||
|
.perset-button {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.ptz-control {
|
||||||
|
margin-left: 5px;
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
.btn-padding {
|
||||||
|
padding: 0px 10px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
41
src/configs/cctvCamera.ts
Normal file
41
src/configs/cctvCamera.ts
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
export enum CCTV_Camera_name{
|
||||||
|
//VehicleControlRoom,//车控室
|
||||||
|
SparePartsCabinet,//备品柜
|
||||||
|
PartsArea,//备品区
|
||||||
|
StationHall,//站厅
|
||||||
|
UpPlatform,//上行站台
|
||||||
|
DownPlatform,//下行站台
|
||||||
|
//APassageway,//A出入口
|
||||||
|
StationHallAExit,//站厅A出口
|
||||||
|
AEntrance,//A入口
|
||||||
|
APassage,//A口通道
|
||||||
|
//BPassageway,//B出入口
|
||||||
|
StationHallBExit,//站厅B出口
|
||||||
|
BEntrance,//B入口
|
||||||
|
BPassage,//B口通道
|
||||||
|
//CPassageway,//C出入口
|
||||||
|
StationHallCExit,//站厅C出口
|
||||||
|
CEntrance,//C入口
|
||||||
|
CPassage,//C口通道
|
||||||
|
//DPassageway,//D出入口
|
||||||
|
StationHallDExit,//站厅D出口
|
||||||
|
DEntrance,//D入口
|
||||||
|
DPassage,//D口通道
|
||||||
|
//StaionHallA,//站厅A端
|
||||||
|
ALowerStepSwitch,//A端扶梯下部开关
|
||||||
|
ATVM,//A端TVM
|
||||||
|
AInboundGate,//A端进站闸机
|
||||||
|
AExitGate,//A端出站闸机
|
||||||
|
AUpperStep,//A端扶梯上部
|
||||||
|
ALowerStep,//A端扶梯下部
|
||||||
|
AGangway,//A端站厅步梯口
|
||||||
|
//StationHallB,//站厅B端
|
||||||
|
BLowerStepSwitch,//B端扶梯下部开关
|
||||||
|
BTVM,//B端TVM
|
||||||
|
BInboundGate,//B端进站闸机
|
||||||
|
BExitGate,//B端出站闸机
|
||||||
|
BUpperStep,//B端扶梯上部
|
||||||
|
BLowerStep,//B端扶梯下部
|
||||||
|
BGangway,//B端站厅步梯口
|
||||||
|
Shop,//商铺
|
||||||
|
}
|
41
src/drawApp/graphics/BAS/EscalatorInteraction.ts
Normal file
41
src/drawApp/graphics/BAS/EscalatorInteraction.ts
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
import * as pb_1 from 'google-protobuf';
|
||||||
|
import {
|
||||||
|
IescalatorData,
|
||||||
|
Escalator,
|
||||||
|
} from 'src/graphics/BAS/escalator/Escalator';
|
||||||
|
import { GraphicDataBase } from '../GraphicDataBase';
|
||||||
|
import { iscsGraphicData } from 'src/protos/iscs_graphic_data';
|
||||||
|
|
||||||
|
export class EscalatorData extends GraphicDataBase implements IescalatorData {
|
||||||
|
constructor(data?: iscsGraphicData.Escalator) {
|
||||||
|
let escalator;
|
||||||
|
if (data) {
|
||||||
|
escalator = data;
|
||||||
|
} else {
|
||||||
|
escalator = new iscsGraphicData.Escalator({
|
||||||
|
common: GraphicDataBase.defaultCommonInfo(Escalator.Type),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
super(escalator);
|
||||||
|
}
|
||||||
|
|
||||||
|
public get data(): iscsGraphicData.Escalator {
|
||||||
|
return this.getData<iscsGraphicData.Escalator>();
|
||||||
|
}
|
||||||
|
|
||||||
|
get code(): string {
|
||||||
|
return this.data.code;
|
||||||
|
}
|
||||||
|
set code(v: string) {
|
||||||
|
this.data.code = v;
|
||||||
|
}
|
||||||
|
clone(): EscalatorData {
|
||||||
|
return new EscalatorData(this.data.cloneMessage());
|
||||||
|
}
|
||||||
|
copyFrom(data: EscalatorData): void {
|
||||||
|
pb_1.Message.copyInto(data.data, this.data);
|
||||||
|
}
|
||||||
|
eq(other: EscalatorData): boolean {
|
||||||
|
return pb_1.Message.equals(this.data, other.data);
|
||||||
|
}
|
||||||
|
}
|
@ -59,6 +59,12 @@ import {
|
|||||||
} from 'src/graphics/FAS/fireShutter/FireShutter';
|
} from 'src/graphics/FAS/fireShutter/FireShutter';
|
||||||
import { FireShutterData } from './graphics/FAS/FireShutterInteraction';
|
import { FireShutterData } from './graphics/FAS/FireShutterInteraction';
|
||||||
import { FireShutterDraw } from 'src/graphics/FAS/fireShutter/FireShutterAssistant';
|
import { FireShutterDraw } from 'src/graphics/FAS/fireShutter/FireShutterAssistant';
|
||||||
|
import { EscalatorDraw } from 'src/graphics/BAS/escalator/EscalatorDrawAssistant';
|
||||||
|
import {
|
||||||
|
Escalator,
|
||||||
|
EscalatorTemplate,
|
||||||
|
} from 'src/graphics/BAS/escalator/Escalator';
|
||||||
|
import { EscalatorData } from './graphics/BAS/EscalatorInteraction';
|
||||||
// import { getOnlyToken } from 'src/configs/TokenManage';
|
// import { getOnlyToken } from 'src/configs/TokenManage';
|
||||||
|
|
||||||
let drawApp: IDrawApp | null = null;
|
let drawApp: IDrawApp | null = null;
|
||||||
@ -93,6 +99,7 @@ export function initIscsDrawApp(): IDrawApp {
|
|||||||
|
|
||||||
const app = drawApp;
|
const app = drawApp;
|
||||||
initCommonDrawApp(app);
|
initCommonDrawApp(app);
|
||||||
|
new EscalatorDraw(app, new EscalatorTemplate(new EscalatorData()));
|
||||||
new FasFailureControlHostDraw(
|
new FasFailureControlHostDraw(
|
||||||
app,
|
app,
|
||||||
new FasFailureControlHostTemplate(new FasFailureControlHostData())
|
new FasFailureControlHostTemplate(new FasFailureControlHostData())
|
||||||
@ -316,6 +323,21 @@ export async function loadDrawDatas(): Promise<IGraphicStorage> {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
case '电扶梯':
|
||||||
|
for (let i = 0; i < storage.basOfEscalatorStorages.length; i++) {
|
||||||
|
const basOfEscalator = storage.basOfEscalatorStorages[i];
|
||||||
|
if (
|
||||||
|
basOfEscalator.stationName ==
|
||||||
|
drawStore.selectSubmenuAndStation.station
|
||||||
|
) {
|
||||||
|
canvasProperty = basOfEscalator.canvas;
|
||||||
|
datas = loadCommonDrawDatas(basOfEscalator);
|
||||||
|
basOfEscalator.escalators.forEach((escalator) => {
|
||||||
|
datas.push(new EscalatorData(escalator));
|
||||||
|
});
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -363,6 +385,16 @@ export function saveDrawDatas(app: IDrawApp) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
if (!storage?.basOfEscalatorStorages.length) {
|
||||||
|
stationOption.forEach((station) =>
|
||||||
|
storage?.basOfEscalatorStorages.push(
|
||||||
|
new iscsGraphicData.BASOfEscalatorStorage({
|
||||||
|
stationName: station,
|
||||||
|
commonGraphicStorage: new iscsGraphicData.CommonGraphicStorage(),
|
||||||
|
})
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
const graphics = app.queryStore.getAllGraphics();
|
const graphics = app.queryStore.getAllGraphics();
|
||||||
switch (drawStore.selectSubmenuAndStation.submenu) {
|
switch (drawStore.selectSubmenuAndStation.submenu) {
|
||||||
case '火灾报警平面图':
|
case '火灾报警平面图':
|
||||||
@ -447,6 +479,35 @@ export function saveDrawDatas(app: IDrawApp) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case '电扶梯':
|
||||||
|
for (let i = 0; i < storage.basOfEscalatorStorages.length; i++) {
|
||||||
|
let basOfEscalator = storage.basOfEscalatorStorages[i];
|
||||||
|
if (
|
||||||
|
basOfEscalator.stationName ==
|
||||||
|
drawStore.selectSubmenuAndStation.station
|
||||||
|
) {
|
||||||
|
basOfEscalator = new iscsGraphicData.BASOfEscalatorStorage({
|
||||||
|
stationName: drawStore.selectSubmenuAndStation.station,
|
||||||
|
commonGraphicStorage: new iscsGraphicData.CommonGraphicStorage(),
|
||||||
|
});
|
||||||
|
const basOfEscalatorStorage = saveCommonDrawDatas(
|
||||||
|
app,
|
||||||
|
basOfEscalator
|
||||||
|
) as iscsGraphicData.BASOfEscalatorStorage;
|
||||||
|
|
||||||
|
graphics.forEach((g) => {
|
||||||
|
if (g instanceof Escalator) {
|
||||||
|
const escalatorData = g.saveData();
|
||||||
|
basOfEscalatorStorage.escalators.push(
|
||||||
|
(escalatorData as EscalatorData).data
|
||||||
|
);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
storage.basOfEscalatorStorages[i] = basOfEscalatorStorage;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
75
src/graphics/BAS/escalator/Escalator.ts
Normal file
75
src/graphics/BAS/escalator/Escalator.ts
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
import { GraphicData, JlGraphic, JlGraphicTemplate } from 'jl-graphic';
|
||||||
|
import tcc_Light_Assets from './escalator-spritesheet.png';
|
||||||
|
import tcc_Light_JSON from './escalator-data.json';
|
||||||
|
|
||||||
|
import { Assets, Sprite, Spritesheet, Texture } from 'pixi.js';
|
||||||
|
|
||||||
|
interface EscalatorTextures {
|
||||||
|
redOn: Texture;
|
||||||
|
redOff: Texture;
|
||||||
|
greenOn: Texture;
|
||||||
|
greenOff: Texture;
|
||||||
|
blueOn: Texture;
|
||||||
|
blueOff: Texture;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface IescalatorData extends GraphicData {
|
||||||
|
get code(): string;
|
||||||
|
set code(v: string);
|
||||||
|
}
|
||||||
|
|
||||||
|
export class Escalator extends JlGraphic {
|
||||||
|
static Type = 'Escalator';
|
||||||
|
_escalator: Sprite;
|
||||||
|
escalatorTextures: EscalatorTextures;
|
||||||
|
__state = 0;
|
||||||
|
|
||||||
|
constructor(escalatorTextures: EscalatorTextures) {
|
||||||
|
super(Escalator.Type);
|
||||||
|
this.escalatorTextures = escalatorTextures;
|
||||||
|
this._escalator = new Sprite();
|
||||||
|
this._escalator.texture = this.escalatorTextures.greenOff;
|
||||||
|
this._escalator.scale.set(0.25);
|
||||||
|
this._escalator.anchor.set(0.5);
|
||||||
|
this.addChild(this._escalator);
|
||||||
|
}
|
||||||
|
get code(): string {
|
||||||
|
return this.datas.code;
|
||||||
|
}
|
||||||
|
get datas(): IescalatorData {
|
||||||
|
return this.getDatas<IescalatorData>();
|
||||||
|
}
|
||||||
|
doRepaint(): void {
|
||||||
|
this._escalator.texture = this.escalatorTextures.greenOn;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export class EscalatorTemplate extends JlGraphicTemplate<Escalator> {
|
||||||
|
escalatorTextures?: EscalatorTextures;
|
||||||
|
constructor(dataTemplate: IescalatorData) {
|
||||||
|
super(Escalator.Type, { dataTemplate });
|
||||||
|
this.loadAssets();
|
||||||
|
}
|
||||||
|
new(): Escalator {
|
||||||
|
if (this.escalatorTextures) {
|
||||||
|
const g = new Escalator(this.escalatorTextures);
|
||||||
|
g.loadData(this.datas);
|
||||||
|
return g;
|
||||||
|
}
|
||||||
|
throw new Error('资源未加载/加载失败');
|
||||||
|
}
|
||||||
|
async loadAssets(): Promise<EscalatorTextures> {
|
||||||
|
const texture = await Assets.load(tcc_Light_Assets);
|
||||||
|
const escalatorSheet = new Spritesheet(texture, tcc_Light_JSON);
|
||||||
|
const result = await escalatorSheet.parse();
|
||||||
|
this.escalatorTextures = {
|
||||||
|
redOff: result['red-off.png'],
|
||||||
|
redOn: result['red-on.png'],
|
||||||
|
blueOff: result['blue-off.png'],
|
||||||
|
blueOn: result['blue-on.png'],
|
||||||
|
greenOff: result['green-off.png'],
|
||||||
|
greenOn: result['green-on.png'],
|
||||||
|
};
|
||||||
|
return this.escalatorTextures as EscalatorTextures;
|
||||||
|
}
|
||||||
|
}
|
117
src/graphics/BAS/escalator/EscalatorDrawAssistant.ts
Normal file
117
src/graphics/BAS/escalator/EscalatorDrawAssistant.ts
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
import { DisplayObject, FederatedMouseEvent, Point } from 'pixi.js';
|
||||||
|
import {
|
||||||
|
AbsorbableLine,
|
||||||
|
AbsorbablePosition,
|
||||||
|
GraphicDrawAssistant,
|
||||||
|
GraphicInteractionPlugin,
|
||||||
|
GraphicTransformEvent,
|
||||||
|
IDrawApp,
|
||||||
|
JlGraphic,
|
||||||
|
} from 'jl-graphic';
|
||||||
|
import { IescalatorData, Escalator, EscalatorTemplate } from './Escalator';
|
||||||
|
|
||||||
|
export class EscalatorDraw extends GraphicDrawAssistant<
|
||||||
|
EscalatorTemplate,
|
||||||
|
IescalatorData
|
||||||
|
> {
|
||||||
|
_escalator: Escalator | null = null;
|
||||||
|
constructor(app: IDrawApp, template: EscalatorTemplate) {
|
||||||
|
super(app, template, 'sym_o_lightbulb', '自动扶梯');
|
||||||
|
EscalatorInteraction.init(app);
|
||||||
|
}
|
||||||
|
|
||||||
|
bind(): void {
|
||||||
|
super.bind();
|
||||||
|
if (!this._escalator) {
|
||||||
|
this._escalator = this.graphicTemplate.new();
|
||||||
|
this.container.addChild(this._escalator);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public get escalator(): Escalator {
|
||||||
|
if (!this._escalator) {
|
||||||
|
this._escalator = this.graphicTemplate.new();
|
||||||
|
this.container.addChild(this._escalator);
|
||||||
|
}
|
||||||
|
return this._escalator;
|
||||||
|
}
|
||||||
|
|
||||||
|
redraw(cp: Point): void {
|
||||||
|
this.escalator.position.copyFrom(cp);
|
||||||
|
}
|
||||||
|
onLeftUp(e: FederatedMouseEvent): void {
|
||||||
|
this.escalator.position.copyFrom(this.toCanvasCoordinates(e.global));
|
||||||
|
this.createAndStore(true);
|
||||||
|
}
|
||||||
|
prepareData(data: IescalatorData): boolean {
|
||||||
|
data.transform = this.escalator.saveTransform();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
onEsc(): void {
|
||||||
|
this.finish();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 构建吸附线
|
||||||
|
* @param escalator
|
||||||
|
*/
|
||||||
|
function buildAbsorbablePositions(escalator: Escalator): AbsorbablePosition[] {
|
||||||
|
const aps: AbsorbablePosition[] = [];
|
||||||
|
const escalators = escalator.queryStore.queryByType<Escalator>(
|
||||||
|
Escalator.Type
|
||||||
|
);
|
||||||
|
const canvas = escalator.getCanvas();
|
||||||
|
escalators.forEach((item) => {
|
||||||
|
if (item.id === escalator.id) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
const ala = new AbsorbableLine(
|
||||||
|
new Point(item.x, 0),
|
||||||
|
new Point(item.x, canvas.height)
|
||||||
|
);
|
||||||
|
const alb = new AbsorbableLine(
|
||||||
|
new Point(0, item.y),
|
||||||
|
new Point(canvas.width, item.y)
|
||||||
|
);
|
||||||
|
aps.push(ala);
|
||||||
|
aps.push(alb);
|
||||||
|
});
|
||||||
|
|
||||||
|
return aps;
|
||||||
|
}
|
||||||
|
|
||||||
|
export class EscalatorInteraction extends GraphicInteractionPlugin<Escalator> {
|
||||||
|
static Name = 'tcc_light_transform';
|
||||||
|
constructor(app: IDrawApp) {
|
||||||
|
super(EscalatorInteraction.Name, app);
|
||||||
|
}
|
||||||
|
static init(app: IDrawApp) {
|
||||||
|
return new EscalatorInteraction(app);
|
||||||
|
}
|
||||||
|
filter(...grahpics: JlGraphic[]): Escalator[] | undefined {
|
||||||
|
return grahpics
|
||||||
|
.filter((g) => g.type === Escalator.Type)
|
||||||
|
.map((g) => g as Escalator);
|
||||||
|
}
|
||||||
|
bind(g: Escalator): void {
|
||||||
|
g.eventMode = 'static';
|
||||||
|
g.cursor = 'pointer';
|
||||||
|
g.scalable = true;
|
||||||
|
g.rotatable = true;
|
||||||
|
g.on('transformstart', this.transformstart, this);
|
||||||
|
}
|
||||||
|
unbind(g: Escalator): void {
|
||||||
|
g.eventMode = 'none';
|
||||||
|
g.scalable = false;
|
||||||
|
g.rotatable = false;
|
||||||
|
g.off('transformstart', this.transformstart, this);
|
||||||
|
}
|
||||||
|
transformstart(e: GraphicTransformEvent) {
|
||||||
|
const target = e.target as DisplayObject;
|
||||||
|
const escalator = target.getGraphic() as Escalator;
|
||||||
|
escalator.getGraphicApp().setOptions({
|
||||||
|
absorbablePositions: buildAbsorbablePositions(escalator),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
29
src/graphics/BAS/escalator/escalator-data.json
Normal file
29
src/graphics/BAS/escalator/escalator-data.json
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
{
|
||||||
|
"frames": {
|
||||||
|
"green-off.png": {
|
||||||
|
"frame": { "x": 0, "y": 0, "w": 128, "h": 128 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 128, "h": 128 },
|
||||||
|
"sourceSize": { "w": 128, "h": 128 },
|
||||||
|
"anchor": { "x": 0.5, "y": 0.5 }
|
||||||
|
},
|
||||||
|
"green-on.png": {
|
||||||
|
"frame": { "x": 128, "y": 0, "w": 128, "h": 128 },
|
||||||
|
"rotated": false,
|
||||||
|
"trimmed": false,
|
||||||
|
"spriteSourceSize": { "x": 0, "y": 0, "w": 128, "h": 128 },
|
||||||
|
"sourceSize": { "w": 128, "h": 64 },
|
||||||
|
"anchor": { "x": 0.5, "y": 0.5 }
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"meta": {
|
||||||
|
"app": "https://www.codeandweb.com/texturepacker",
|
||||||
|
"version": "1.1",
|
||||||
|
"image": "tcc-light.png",
|
||||||
|
"format": "RGBA8888",
|
||||||
|
"size": { "w": 256, "h": 128 },
|
||||||
|
"scale": "0.5",
|
||||||
|
"smartupdate": "$TexturePacker:SmartUpdate:e7620bd2d73cc0b3e2deea9704e7eefc:f129a1d9e4b9ba57720b3861c22b155b:eb2d421f7759984b7713aa4aa5354134$"
|
||||||
|
}
|
||||||
|
}
|
BIN
src/graphics/BAS/escalator/escalator-spritesheet.png
Normal file
BIN
src/graphics/BAS/escalator/escalator-spritesheet.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 24 KiB |
@ -155,7 +155,7 @@
|
|||||||
id="component-container"
|
id="component-container"
|
||||||
>
|
>
|
||||||
<q-scroll-area
|
<q-scroll-area
|
||||||
:style="`width: ${showComponent.width}px;height: ${showComponent.height}px`"
|
:style="`width: ${showComponent.width}px;height: ${showComponent.height}px;background-color: #c8d0f1;`"
|
||||||
>
|
>
|
||||||
<div class="show-component">
|
<div class="show-component">
|
||||||
<cCTV-monitoring
|
<cCTV-monitoring
|
||||||
@ -310,6 +310,7 @@ import { FasFailureControlHost } from 'src/graphics/FAS/fireFailureControlHost/F
|
|||||||
import { FasAlarm } from 'src/graphics/FAS/fasAlarm/FasAlarm';
|
import { FasAlarm } from 'src/graphics/FAS/fasAlarm/FasAlarm';
|
||||||
import { ManualAlarmButton } from 'src/graphics/FAS/manualAlarmButton/ManualAlarmButton';
|
import { ManualAlarmButton } from 'src/graphics/FAS/manualAlarmButton/ManualAlarmButton';
|
||||||
import { SmokeDetector } from 'src/graphics/FAS/smokeDetector/SmokeDetector';
|
import { SmokeDetector } from 'src/graphics/FAS/smokeDetector/SmokeDetector';
|
||||||
|
import { Escalator } from 'src/graphics/BAS/escalator/Escalator';
|
||||||
import { TemperatureDetector } from 'src/graphics/FAS/temperatureDetector/TemperatureDetector';
|
import { TemperatureDetector } from 'src/graphics/FAS/temperatureDetector/TemperatureDetector';
|
||||||
import { FireShutter } from 'src/graphics/FAS/fireShutter/FireShutter';
|
import { FireShutter } from 'src/graphics/FAS/fireShutter/FireShutter';
|
||||||
|
|
||||||
@ -392,8 +393,8 @@ function handleUtilsOption() {
|
|||||||
Button.Type,
|
Button.Type,
|
||||||
];
|
];
|
||||||
switch (drawStore.selectSubmenuAndStation.submenu) {
|
switch (drawStore.selectSubmenuAndStation.submenu) {
|
||||||
case 'CCTV设备布局图':
|
case '电扶梯':
|
||||||
//drawAssistantsTypes.push(CCTVButton.Type);
|
drawAssistantsTypes.push(Escalator.Type);
|
||||||
break;
|
break;
|
||||||
case '火灾报警平面图':
|
case '火灾报警平面图':
|
||||||
drawAssistantsTypes.push(FasFailureControlHost.Type);
|
drawAssistantsTypes.push(FasFailureControlHost.Type);
|
||||||
@ -1023,7 +1024,6 @@ onUnmounted(() => {
|
|||||||
.show-component {
|
.show-component {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
background-color: #c8d0f1;
|
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -11,9 +11,10 @@ export namespace iscsGraphicData {
|
|||||||
constructor(data?: any[] | {
|
constructor(data?: any[] | {
|
||||||
cctvOfEquipmentLayoutStorages?: CCTVOfEquipmentLayoutStorage[];
|
cctvOfEquipmentLayoutStorages?: CCTVOfEquipmentLayoutStorage[];
|
||||||
fasOfPlatformAlarmStorages?: FASOfPlatformAlarmStorage[];
|
fasOfPlatformAlarmStorages?: FASOfPlatformAlarmStorage[];
|
||||||
|
basOfEscalatorStorages?: BASOfEscalatorStorage[];
|
||||||
}) {
|
}) {
|
||||||
super();
|
super();
|
||||||
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1, 2], this.#one_of_decls);
|
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [1, 2, 3], this.#one_of_decls);
|
||||||
if (!Array.isArray(data) && typeof data == "object") {
|
if (!Array.isArray(data) && typeof data == "object") {
|
||||||
if ("cctvOfEquipmentLayoutStorages" in data && data.cctvOfEquipmentLayoutStorages != undefined) {
|
if ("cctvOfEquipmentLayoutStorages" in data && data.cctvOfEquipmentLayoutStorages != undefined) {
|
||||||
this.cctvOfEquipmentLayoutStorages = data.cctvOfEquipmentLayoutStorages;
|
this.cctvOfEquipmentLayoutStorages = data.cctvOfEquipmentLayoutStorages;
|
||||||
@ -21,6 +22,9 @@ export namespace iscsGraphicData {
|
|||||||
if ("fasOfPlatformAlarmStorages" in data && data.fasOfPlatformAlarmStorages != undefined) {
|
if ("fasOfPlatformAlarmStorages" in data && data.fasOfPlatformAlarmStorages != undefined) {
|
||||||
this.fasOfPlatformAlarmStorages = data.fasOfPlatformAlarmStorages;
|
this.fasOfPlatformAlarmStorages = data.fasOfPlatformAlarmStorages;
|
||||||
}
|
}
|
||||||
|
if ("basOfEscalatorStorages" in data && data.basOfEscalatorStorages != undefined) {
|
||||||
|
this.basOfEscalatorStorages = data.basOfEscalatorStorages;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
get cctvOfEquipmentLayoutStorages() {
|
get cctvOfEquipmentLayoutStorages() {
|
||||||
@ -35,9 +39,16 @@ export namespace iscsGraphicData {
|
|||||||
set fasOfPlatformAlarmStorages(value: FASOfPlatformAlarmStorage[]) {
|
set fasOfPlatformAlarmStorages(value: FASOfPlatformAlarmStorage[]) {
|
||||||
pb_1.Message.setRepeatedWrapperField(this, 2, value);
|
pb_1.Message.setRepeatedWrapperField(this, 2, value);
|
||||||
}
|
}
|
||||||
|
get basOfEscalatorStorages() {
|
||||||
|
return pb_1.Message.getRepeatedWrapperField(this, BASOfEscalatorStorage, 3) as BASOfEscalatorStorage[];
|
||||||
|
}
|
||||||
|
set basOfEscalatorStorages(value: BASOfEscalatorStorage[]) {
|
||||||
|
pb_1.Message.setRepeatedWrapperField(this, 3, value);
|
||||||
|
}
|
||||||
static fromObject(data: {
|
static fromObject(data: {
|
||||||
cctvOfEquipmentLayoutStorages?: ReturnType<typeof CCTVOfEquipmentLayoutStorage.prototype.toObject>[];
|
cctvOfEquipmentLayoutStorages?: ReturnType<typeof CCTVOfEquipmentLayoutStorage.prototype.toObject>[];
|
||||||
fasOfPlatformAlarmStorages?: ReturnType<typeof FASOfPlatformAlarmStorage.prototype.toObject>[];
|
fasOfPlatformAlarmStorages?: ReturnType<typeof FASOfPlatformAlarmStorage.prototype.toObject>[];
|
||||||
|
basOfEscalatorStorages?: ReturnType<typeof BASOfEscalatorStorage.prototype.toObject>[];
|
||||||
}): IscsGraphicStorage {
|
}): IscsGraphicStorage {
|
||||||
const message = new IscsGraphicStorage({});
|
const message = new IscsGraphicStorage({});
|
||||||
if (data.cctvOfEquipmentLayoutStorages != null) {
|
if (data.cctvOfEquipmentLayoutStorages != null) {
|
||||||
@ -46,12 +57,16 @@ export namespace iscsGraphicData {
|
|||||||
if (data.fasOfPlatformAlarmStorages != null) {
|
if (data.fasOfPlatformAlarmStorages != null) {
|
||||||
message.fasOfPlatformAlarmStorages = data.fasOfPlatformAlarmStorages.map(item => FASOfPlatformAlarmStorage.fromObject(item));
|
message.fasOfPlatformAlarmStorages = data.fasOfPlatformAlarmStorages.map(item => FASOfPlatformAlarmStorage.fromObject(item));
|
||||||
}
|
}
|
||||||
|
if (data.basOfEscalatorStorages != null) {
|
||||||
|
message.basOfEscalatorStorages = data.basOfEscalatorStorages.map(item => BASOfEscalatorStorage.fromObject(item));
|
||||||
|
}
|
||||||
return message;
|
return message;
|
||||||
}
|
}
|
||||||
toObject() {
|
toObject() {
|
||||||
const data: {
|
const data: {
|
||||||
cctvOfEquipmentLayoutStorages?: ReturnType<typeof CCTVOfEquipmentLayoutStorage.prototype.toObject>[];
|
cctvOfEquipmentLayoutStorages?: ReturnType<typeof CCTVOfEquipmentLayoutStorage.prototype.toObject>[];
|
||||||
fasOfPlatformAlarmStorages?: ReturnType<typeof FASOfPlatformAlarmStorage.prototype.toObject>[];
|
fasOfPlatformAlarmStorages?: ReturnType<typeof FASOfPlatformAlarmStorage.prototype.toObject>[];
|
||||||
|
basOfEscalatorStorages?: ReturnType<typeof BASOfEscalatorStorage.prototype.toObject>[];
|
||||||
} = {};
|
} = {};
|
||||||
if (this.cctvOfEquipmentLayoutStorages != null) {
|
if (this.cctvOfEquipmentLayoutStorages != null) {
|
||||||
data.cctvOfEquipmentLayoutStorages = this.cctvOfEquipmentLayoutStorages.map((item: CCTVOfEquipmentLayoutStorage) => item.toObject());
|
data.cctvOfEquipmentLayoutStorages = this.cctvOfEquipmentLayoutStorages.map((item: CCTVOfEquipmentLayoutStorage) => item.toObject());
|
||||||
@ -59,6 +74,9 @@ export namespace iscsGraphicData {
|
|||||||
if (this.fasOfPlatformAlarmStorages != null) {
|
if (this.fasOfPlatformAlarmStorages != null) {
|
||||||
data.fasOfPlatformAlarmStorages = this.fasOfPlatformAlarmStorages.map((item: FASOfPlatformAlarmStorage) => item.toObject());
|
data.fasOfPlatformAlarmStorages = this.fasOfPlatformAlarmStorages.map((item: FASOfPlatformAlarmStorage) => item.toObject());
|
||||||
}
|
}
|
||||||
|
if (this.basOfEscalatorStorages != null) {
|
||||||
|
data.basOfEscalatorStorages = this.basOfEscalatorStorages.map((item: BASOfEscalatorStorage) => item.toObject());
|
||||||
|
}
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
serialize(): Uint8Array;
|
serialize(): Uint8Array;
|
||||||
@ -69,6 +87,8 @@ export namespace iscsGraphicData {
|
|||||||
writer.writeRepeatedMessage(1, this.cctvOfEquipmentLayoutStorages, (item: CCTVOfEquipmentLayoutStorage) => item.serialize(writer));
|
writer.writeRepeatedMessage(1, this.cctvOfEquipmentLayoutStorages, (item: CCTVOfEquipmentLayoutStorage) => item.serialize(writer));
|
||||||
if (this.fasOfPlatformAlarmStorages.length)
|
if (this.fasOfPlatformAlarmStorages.length)
|
||||||
writer.writeRepeatedMessage(2, this.fasOfPlatformAlarmStorages, (item: FASOfPlatformAlarmStorage) => item.serialize(writer));
|
writer.writeRepeatedMessage(2, this.fasOfPlatformAlarmStorages, (item: FASOfPlatformAlarmStorage) => item.serialize(writer));
|
||||||
|
if (this.basOfEscalatorStorages.length)
|
||||||
|
writer.writeRepeatedMessage(3, this.basOfEscalatorStorages, (item: BASOfEscalatorStorage) => item.serialize(writer));
|
||||||
if (!w)
|
if (!w)
|
||||||
return writer.getResultBuffer();
|
return writer.getResultBuffer();
|
||||||
}
|
}
|
||||||
@ -84,6 +104,9 @@ export namespace iscsGraphicData {
|
|||||||
case 2:
|
case 2:
|
||||||
reader.readMessage(message.fasOfPlatformAlarmStorages, () => pb_1.Message.addToRepeatedWrapperField(message, 2, FASOfPlatformAlarmStorage.deserialize(reader), FASOfPlatformAlarmStorage));
|
reader.readMessage(message.fasOfPlatformAlarmStorages, () => pb_1.Message.addToRepeatedWrapperField(message, 2, FASOfPlatformAlarmStorage.deserialize(reader), FASOfPlatformAlarmStorage));
|
||||||
break;
|
break;
|
||||||
|
case 3:
|
||||||
|
reader.readMessage(message.basOfEscalatorStorages, () => pb_1.Message.addToRepeatedWrapperField(message, 3, BASOfEscalatorStorage.deserialize(reader), BASOfEscalatorStorage));
|
||||||
|
break;
|
||||||
default: reader.skipField();
|
default: reader.skipField();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2164,6 +2187,357 @@ export namespace iscsGraphicData {
|
|||||||
return TemperatureDetector.deserialize(bytes);
|
return TemperatureDetector.deserialize(bytes);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
export class BASOfEscalatorStorage extends pb_1.Message {
|
||||||
|
#one_of_decls: number[][] = [];
|
||||||
|
constructor(data?: any[] | {
|
||||||
|
stationName?: string;
|
||||||
|
canvas?: dependency_1.common.Canvas;
|
||||||
|
commonGraphicStorage?: CommonGraphicStorage;
|
||||||
|
escalators?: Escalator[];
|
||||||
|
verticalElevator?: VerticalElevator[];
|
||||||
|
}) {
|
||||||
|
super();
|
||||||
|
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [4, 5], this.#one_of_decls);
|
||||||
|
if (!Array.isArray(data) && typeof data == "object") {
|
||||||
|
if ("stationName" in data && data.stationName != undefined) {
|
||||||
|
this.stationName = data.stationName;
|
||||||
|
}
|
||||||
|
if ("canvas" in data && data.canvas != undefined) {
|
||||||
|
this.canvas = data.canvas;
|
||||||
|
}
|
||||||
|
if ("commonGraphicStorage" in data && data.commonGraphicStorage != undefined) {
|
||||||
|
this.commonGraphicStorage = data.commonGraphicStorage;
|
||||||
|
}
|
||||||
|
if ("escalators" in data && data.escalators != undefined) {
|
||||||
|
this.escalators = data.escalators;
|
||||||
|
}
|
||||||
|
if ("verticalElevator" in data && data.verticalElevator != undefined) {
|
||||||
|
this.verticalElevator = data.verticalElevator;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
get stationName() {
|
||||||
|
return pb_1.Message.getFieldWithDefault(this, 1, "") as string;
|
||||||
|
}
|
||||||
|
set stationName(value: string) {
|
||||||
|
pb_1.Message.setField(this, 1, value);
|
||||||
|
}
|
||||||
|
get canvas() {
|
||||||
|
return pb_1.Message.getWrapperField(this, dependency_1.common.Canvas, 2) as dependency_1.common.Canvas;
|
||||||
|
}
|
||||||
|
set canvas(value: dependency_1.common.Canvas) {
|
||||||
|
pb_1.Message.setWrapperField(this, 2, value);
|
||||||
|
}
|
||||||
|
get has_canvas() {
|
||||||
|
return pb_1.Message.getField(this, 2) != null;
|
||||||
|
}
|
||||||
|
get commonGraphicStorage() {
|
||||||
|
return pb_1.Message.getWrapperField(this, CommonGraphicStorage, 3) as CommonGraphicStorage;
|
||||||
|
}
|
||||||
|
set commonGraphicStorage(value: CommonGraphicStorage) {
|
||||||
|
pb_1.Message.setWrapperField(this, 3, value);
|
||||||
|
}
|
||||||
|
get has_commonGraphicStorage() {
|
||||||
|
return pb_1.Message.getField(this, 3) != null;
|
||||||
|
}
|
||||||
|
get escalators() {
|
||||||
|
return pb_1.Message.getRepeatedWrapperField(this, Escalator, 4) as Escalator[];
|
||||||
|
}
|
||||||
|
set escalators(value: Escalator[]) {
|
||||||
|
pb_1.Message.setRepeatedWrapperField(this, 4, value);
|
||||||
|
}
|
||||||
|
get verticalElevator() {
|
||||||
|
return pb_1.Message.getRepeatedWrapperField(this, VerticalElevator, 5) as VerticalElevator[];
|
||||||
|
}
|
||||||
|
set verticalElevator(value: VerticalElevator[]) {
|
||||||
|
pb_1.Message.setRepeatedWrapperField(this, 5, value);
|
||||||
|
}
|
||||||
|
static fromObject(data: {
|
||||||
|
stationName?: string;
|
||||||
|
canvas?: ReturnType<typeof dependency_1.common.Canvas.prototype.toObject>;
|
||||||
|
commonGraphicStorage?: ReturnType<typeof CommonGraphicStorage.prototype.toObject>;
|
||||||
|
escalators?: ReturnType<typeof Escalator.prototype.toObject>[];
|
||||||
|
verticalElevator?: ReturnType<typeof VerticalElevator.prototype.toObject>[];
|
||||||
|
}): BASOfEscalatorStorage {
|
||||||
|
const message = new BASOfEscalatorStorage({});
|
||||||
|
if (data.stationName != null) {
|
||||||
|
message.stationName = data.stationName;
|
||||||
|
}
|
||||||
|
if (data.canvas != null) {
|
||||||
|
message.canvas = dependency_1.common.Canvas.fromObject(data.canvas);
|
||||||
|
}
|
||||||
|
if (data.commonGraphicStorage != null) {
|
||||||
|
message.commonGraphicStorage = CommonGraphicStorage.fromObject(data.commonGraphicStorage);
|
||||||
|
}
|
||||||
|
if (data.escalators != null) {
|
||||||
|
message.escalators = data.escalators.map(item => Escalator.fromObject(item));
|
||||||
|
}
|
||||||
|
if (data.verticalElevator != null) {
|
||||||
|
message.verticalElevator = data.verticalElevator.map(item => VerticalElevator.fromObject(item));
|
||||||
|
}
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
toObject() {
|
||||||
|
const data: {
|
||||||
|
stationName?: string;
|
||||||
|
canvas?: ReturnType<typeof dependency_1.common.Canvas.prototype.toObject>;
|
||||||
|
commonGraphicStorage?: ReturnType<typeof CommonGraphicStorage.prototype.toObject>;
|
||||||
|
escalators?: ReturnType<typeof Escalator.prototype.toObject>[];
|
||||||
|
verticalElevator?: ReturnType<typeof VerticalElevator.prototype.toObject>[];
|
||||||
|
} = {};
|
||||||
|
if (this.stationName != null) {
|
||||||
|
data.stationName = this.stationName;
|
||||||
|
}
|
||||||
|
if (this.canvas != null) {
|
||||||
|
data.canvas = this.canvas.toObject();
|
||||||
|
}
|
||||||
|
if (this.commonGraphicStorage != null) {
|
||||||
|
data.commonGraphicStorage = this.commonGraphicStorage.toObject();
|
||||||
|
}
|
||||||
|
if (this.escalators != null) {
|
||||||
|
data.escalators = this.escalators.map((item: Escalator) => item.toObject());
|
||||||
|
}
|
||||||
|
if (this.verticalElevator != null) {
|
||||||
|
data.verticalElevator = this.verticalElevator.map((item: VerticalElevator) => item.toObject());
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
serialize(): Uint8Array;
|
||||||
|
serialize(w: pb_1.BinaryWriter): void;
|
||||||
|
serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
|
||||||
|
const writer = w || new pb_1.BinaryWriter();
|
||||||
|
if (this.stationName.length)
|
||||||
|
writer.writeString(1, this.stationName);
|
||||||
|
if (this.has_canvas)
|
||||||
|
writer.writeMessage(2, this.canvas, () => this.canvas.serialize(writer));
|
||||||
|
if (this.has_commonGraphicStorage)
|
||||||
|
writer.writeMessage(3, this.commonGraphicStorage, () => this.commonGraphicStorage.serialize(writer));
|
||||||
|
if (this.escalators.length)
|
||||||
|
writer.writeRepeatedMessage(4, this.escalators, (item: Escalator) => item.serialize(writer));
|
||||||
|
if (this.verticalElevator.length)
|
||||||
|
writer.writeRepeatedMessage(5, this.verticalElevator, (item: VerticalElevator) => item.serialize(writer));
|
||||||
|
if (!w)
|
||||||
|
return writer.getResultBuffer();
|
||||||
|
}
|
||||||
|
static deserialize(bytes: Uint8Array | pb_1.BinaryReader): BASOfEscalatorStorage {
|
||||||
|
const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new BASOfEscalatorStorage();
|
||||||
|
while (reader.nextField()) {
|
||||||
|
if (reader.isEndGroup())
|
||||||
|
break;
|
||||||
|
switch (reader.getFieldNumber()) {
|
||||||
|
case 1:
|
||||||
|
message.stationName = reader.readString();
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
reader.readMessage(message.canvas, () => message.canvas = dependency_1.common.Canvas.deserialize(reader));
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
reader.readMessage(message.commonGraphicStorage, () => message.commonGraphicStorage = CommonGraphicStorage.deserialize(reader));
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
reader.readMessage(message.escalators, () => pb_1.Message.addToRepeatedWrapperField(message, 4, Escalator.deserialize(reader), Escalator));
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
reader.readMessage(message.verticalElevator, () => pb_1.Message.addToRepeatedWrapperField(message, 5, VerticalElevator.deserialize(reader), VerticalElevator));
|
||||||
|
break;
|
||||||
|
default: reader.skipField();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
serializeBinary(): Uint8Array {
|
||||||
|
return this.serialize();
|
||||||
|
}
|
||||||
|
static deserializeBinary(bytes: Uint8Array): BASOfEscalatorStorage {
|
||||||
|
return BASOfEscalatorStorage.deserialize(bytes);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
export class Escalator extends pb_1.Message {
|
||||||
|
#one_of_decls: number[][] = [];
|
||||||
|
constructor(data?: any[] | {
|
||||||
|
common?: dependency_1.common.CommonInfo;
|
||||||
|
code?: string;
|
||||||
|
}) {
|
||||||
|
super();
|
||||||
|
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
|
||||||
|
if (!Array.isArray(data) && typeof data == "object") {
|
||||||
|
if ("common" in data && data.common != undefined) {
|
||||||
|
this.common = data.common;
|
||||||
|
}
|
||||||
|
if ("code" in data && data.code != undefined) {
|
||||||
|
this.code = data.code;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
get common() {
|
||||||
|
return pb_1.Message.getWrapperField(this, dependency_1.common.CommonInfo, 1) as dependency_1.common.CommonInfo;
|
||||||
|
}
|
||||||
|
set common(value: dependency_1.common.CommonInfo) {
|
||||||
|
pb_1.Message.setWrapperField(this, 1, value);
|
||||||
|
}
|
||||||
|
get has_common() {
|
||||||
|
return pb_1.Message.getField(this, 1) != null;
|
||||||
|
}
|
||||||
|
get code() {
|
||||||
|
return pb_1.Message.getFieldWithDefault(this, 2, "") as string;
|
||||||
|
}
|
||||||
|
set code(value: string) {
|
||||||
|
pb_1.Message.setField(this, 2, value);
|
||||||
|
}
|
||||||
|
static fromObject(data: {
|
||||||
|
common?: ReturnType<typeof dependency_1.common.CommonInfo.prototype.toObject>;
|
||||||
|
code?: string;
|
||||||
|
}): Escalator {
|
||||||
|
const message = new Escalator({});
|
||||||
|
if (data.common != null) {
|
||||||
|
message.common = dependency_1.common.CommonInfo.fromObject(data.common);
|
||||||
|
}
|
||||||
|
if (data.code != null) {
|
||||||
|
message.code = data.code;
|
||||||
|
}
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
toObject() {
|
||||||
|
const data: {
|
||||||
|
common?: ReturnType<typeof dependency_1.common.CommonInfo.prototype.toObject>;
|
||||||
|
code?: string;
|
||||||
|
} = {};
|
||||||
|
if (this.common != null) {
|
||||||
|
data.common = this.common.toObject();
|
||||||
|
}
|
||||||
|
if (this.code != null) {
|
||||||
|
data.code = this.code;
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
serialize(): Uint8Array;
|
||||||
|
serialize(w: pb_1.BinaryWriter): void;
|
||||||
|
serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
|
||||||
|
const writer = w || new pb_1.BinaryWriter();
|
||||||
|
if (this.has_common)
|
||||||
|
writer.writeMessage(1, this.common, () => this.common.serialize(writer));
|
||||||
|
if (this.code.length)
|
||||||
|
writer.writeString(2, this.code);
|
||||||
|
if (!w)
|
||||||
|
return writer.getResultBuffer();
|
||||||
|
}
|
||||||
|
static deserialize(bytes: Uint8Array | pb_1.BinaryReader): Escalator {
|
||||||
|
const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new Escalator();
|
||||||
|
while (reader.nextField()) {
|
||||||
|
if (reader.isEndGroup())
|
||||||
|
break;
|
||||||
|
switch (reader.getFieldNumber()) {
|
||||||
|
case 1:
|
||||||
|
reader.readMessage(message.common, () => message.common = dependency_1.common.CommonInfo.deserialize(reader));
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
message.code = reader.readString();
|
||||||
|
break;
|
||||||
|
default: reader.skipField();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
serializeBinary(): Uint8Array {
|
||||||
|
return this.serialize();
|
||||||
|
}
|
||||||
|
static deserializeBinary(bytes: Uint8Array): Escalator {
|
||||||
|
return Escalator.deserialize(bytes);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
export class VerticalElevator extends pb_1.Message {
|
||||||
|
#one_of_decls: number[][] = [];
|
||||||
|
constructor(data?: any[] | {
|
||||||
|
common?: dependency_1.common.CommonInfo;
|
||||||
|
code?: string;
|
||||||
|
}) {
|
||||||
|
super();
|
||||||
|
pb_1.Message.initialize(this, Array.isArray(data) ? data : [], 0, -1, [], this.#one_of_decls);
|
||||||
|
if (!Array.isArray(data) && typeof data == "object") {
|
||||||
|
if ("common" in data && data.common != undefined) {
|
||||||
|
this.common = data.common;
|
||||||
|
}
|
||||||
|
if ("code" in data && data.code != undefined) {
|
||||||
|
this.code = data.code;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
get common() {
|
||||||
|
return pb_1.Message.getWrapperField(this, dependency_1.common.CommonInfo, 1) as dependency_1.common.CommonInfo;
|
||||||
|
}
|
||||||
|
set common(value: dependency_1.common.CommonInfo) {
|
||||||
|
pb_1.Message.setWrapperField(this, 1, value);
|
||||||
|
}
|
||||||
|
get has_common() {
|
||||||
|
return pb_1.Message.getField(this, 1) != null;
|
||||||
|
}
|
||||||
|
get code() {
|
||||||
|
return pb_1.Message.getFieldWithDefault(this, 2, "") as string;
|
||||||
|
}
|
||||||
|
set code(value: string) {
|
||||||
|
pb_1.Message.setField(this, 2, value);
|
||||||
|
}
|
||||||
|
static fromObject(data: {
|
||||||
|
common?: ReturnType<typeof dependency_1.common.CommonInfo.prototype.toObject>;
|
||||||
|
code?: string;
|
||||||
|
}): VerticalElevator {
|
||||||
|
const message = new VerticalElevator({});
|
||||||
|
if (data.common != null) {
|
||||||
|
message.common = dependency_1.common.CommonInfo.fromObject(data.common);
|
||||||
|
}
|
||||||
|
if (data.code != null) {
|
||||||
|
message.code = data.code;
|
||||||
|
}
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
toObject() {
|
||||||
|
const data: {
|
||||||
|
common?: ReturnType<typeof dependency_1.common.CommonInfo.prototype.toObject>;
|
||||||
|
code?: string;
|
||||||
|
} = {};
|
||||||
|
if (this.common != null) {
|
||||||
|
data.common = this.common.toObject();
|
||||||
|
}
|
||||||
|
if (this.code != null) {
|
||||||
|
data.code = this.code;
|
||||||
|
}
|
||||||
|
return data;
|
||||||
|
}
|
||||||
|
serialize(): Uint8Array;
|
||||||
|
serialize(w: pb_1.BinaryWriter): void;
|
||||||
|
serialize(w?: pb_1.BinaryWriter): Uint8Array | void {
|
||||||
|
const writer = w || new pb_1.BinaryWriter();
|
||||||
|
if (this.has_common)
|
||||||
|
writer.writeMessage(1, this.common, () => this.common.serialize(writer));
|
||||||
|
if (this.code.length)
|
||||||
|
writer.writeString(2, this.code);
|
||||||
|
if (!w)
|
||||||
|
return writer.getResultBuffer();
|
||||||
|
}
|
||||||
|
static deserialize(bytes: Uint8Array | pb_1.BinaryReader): VerticalElevator {
|
||||||
|
const reader = bytes instanceof pb_1.BinaryReader ? bytes : new pb_1.BinaryReader(bytes), message = new VerticalElevator();
|
||||||
|
while (reader.nextField()) {
|
||||||
|
if (reader.isEndGroup())
|
||||||
|
break;
|
||||||
|
switch (reader.getFieldNumber()) {
|
||||||
|
case 1:
|
||||||
|
reader.readMessage(message.common, () => message.common = dependency_1.common.CommonInfo.deserialize(reader));
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
message.code = reader.readString();
|
||||||
|
break;
|
||||||
|
default: reader.skipField();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
serializeBinary(): Uint8Array {
|
||||||
|
return this.serialize();
|
||||||
|
}
|
||||||
|
static deserializeBinary(bytes: Uint8Array): VerticalElevator {
|
||||||
|
return VerticalElevator.deserialize(bytes);
|
||||||
|
}
|
||||||
|
}
|
||||||
export class CCTVOfEquipmentLayoutStorage extends pb_1.Message {
|
export class CCTVOfEquipmentLayoutStorage extends pb_1.Message {
|
||||||
#one_of_decls: number[][] = [];
|
#one_of_decls: number[][] = [];
|
||||||
constructor(data?: any[] | {
|
constructor(data?: any[] | {
|
||||||
|
Loading…
Reference in New Issue
Block a user