diff --git a/public/drawIcon.svg b/public/drawIcon.svg index 15c7d92..4b12113 100644 --- a/public/drawIcon.svg +++ b/public/drawIcon.svg @@ -134,4 +134,10 @@ + + + + + + diff --git a/src/drawApp/graphics/FAS/AfcInteraction.ts b/src/drawApp/graphics/FAS/AfcInteraction.ts new file mode 100644 index 0000000..f2e350e --- /dev/null +++ b/src/drawApp/graphics/FAS/AfcInteraction.ts @@ -0,0 +1,38 @@ +import * as pb_1 from 'google-protobuf'; +import { GraphicDataBase } from '../GraphicDataBase'; +import { Afc, IAfcData } from 'src/graphics/FAS/afc/Afc'; +import { iscsGraphicData } from 'src/protos/iscs_graphic_data'; + +export class AfcData extends GraphicDataBase implements IAfcData { + constructor(data?: iscsGraphicData.Afc) { + let afc; + if (data) { + afc = data; + } else { + afc = new iscsGraphicData.Afc({ + common: GraphicDataBase.defaultCommonInfo(Afc.Type), + }); + } + super(afc); + } + + public get data(): iscsGraphicData.Afc { + return this.getData(); + } + + get code(): string { + return this.data.code; + } + set code(v: string) { + this.data.code = v; + } + clone(): AfcData { + return new AfcData(this.data.cloneMessage()); + } + copyFrom(data: AfcData): void { + pb_1.Message.copyInto(data.data, this.data); + } + eq(other: AfcData): boolean { + return pb_1.Message.equals(this.data, other.data); + } +} diff --git a/src/drawApp/iscsApp.ts b/src/drawApp/iscsApp.ts index c084758..f2f4f41 100644 --- a/src/drawApp/iscsApp.ts +++ b/src/drawApp/iscsApp.ts @@ -89,6 +89,9 @@ import { import { AcsDraw } from 'src/graphics/FAS/acs/AcsAssistant'; import { Acs, AcsTemplate } from 'src/graphics/FAS/acs/Acs'; import { AcsData } from './graphics/FAS/AcsInteraction'; +import { AfcDraw } from 'src/graphics/FAS/afc/AfcAssistant'; +import { Afc, AfcTemplate } from 'src/graphics/FAS/afc/Afc'; +import { AfcData } from './graphics/FAS/AfcInteraction'; // import { getOnlyToken } from 'src/configs/TokenManage'; let drawApp: IDrawApp | null = null; @@ -153,6 +156,7 @@ export function initIscsDrawApp(): IDrawApp { new StabilizedPressurePumpTemplate(new StabilizedPressurePumpData()) ); new AcsDraw(app, new AcsTemplate(new AcsData())); + new AfcDraw(app, new AfcTemplate(new AfcData())); app.addKeyboardListener( new KeyListener({ @@ -354,6 +358,9 @@ export async function loadDrawDatas(): Promise { fasOfPlatformAlarm.acs.forEach((acs) => { datas.push(new AcsData(acs)); }); + fasOfPlatformAlarm.afc.forEach((afc) => { + datas.push(new AfcData(afc)); + }); break; } } @@ -512,6 +519,9 @@ export function saveDrawDatas(app: IDrawApp) { } else if (g instanceof Acs) { const acsData = g.saveData(); fasStorage.acs.push((acsData as AcsData).data); + } else if (g instanceof Afc) { + const afcData = g.saveData(); + fasStorage.afc.push((afcData as AfcData).data); } }); storage.fasOfPlatformAlarmStorages[i] = fasStorage; diff --git a/src/graphics/FAS/acs/Acs.ts b/src/graphics/FAS/acs/Acs.ts index 025f053..dd5561b 100644 --- a/src/graphics/FAS/acs/Acs.ts +++ b/src/graphics/FAS/acs/Acs.ts @@ -28,7 +28,6 @@ export class Acs extends JlGraphic { rectGraphic: Graphics = new Graphics(); textGraphic: VectorText = new VectorText(); constructor() { - console.log('22222222'); super(Acs.Type); this.addChild(this.rectGraphic); this.addChild(this.textGraphic); @@ -38,7 +37,6 @@ export class Acs extends JlGraphic { return this.getDatas(); } doRepaint(): void { - console.log('111111111'); const rectGraphic = this.rectGraphic; rectGraphic.clear(); rectGraphic.beginFill(acsConsts.rectBackground); diff --git a/src/graphics/FAS/acs/AcsAssistant.ts b/src/graphics/FAS/acs/AcsAssistant.ts index e42164b..023b835 100644 --- a/src/graphics/FAS/acs/AcsAssistant.ts +++ b/src/graphics/FAS/acs/AcsAssistant.ts @@ -13,7 +13,7 @@ import { IAcsData, Acs, AcsTemplate } from './Acs'; export class AcsDraw extends GraphicDrawAssistant { _acs: Acs | null = null; constructor(app: IDrawApp, template: AcsTemplate) { - super(app, template, 'svguse:../drawIcon.svg#icon-fas-alarm', 'ACS'); + super(app, template, 'svguse:../drawIcon.svg#icon-acs', 'ACS'); AcsInteraction.init(app); } @@ -35,7 +35,6 @@ export class AcsDraw extends GraphicDrawAssistant { } redraw(cp: Point): void { - console.log(this.acs, '==='); this.acs.position.copyFrom(cp); } onLeftUp(e: FederatedMouseEvent): void { @@ -53,7 +52,7 @@ export class AcsDraw extends GraphicDrawAssistant { /** * 构建吸附线 - * @param fasAlarm + * @param acs */ function buildAbsorbablePositions(acs: Acs): AbsorbablePosition[] { const aps: AbsorbablePosition[] = []; diff --git a/src/graphics/FAS/afc/Afc.ts b/src/graphics/FAS/afc/Afc.ts new file mode 100644 index 0000000..0a9a974 --- /dev/null +++ b/src/graphics/FAS/afc/Afc.ts @@ -0,0 +1,68 @@ +import { Graphics } from 'pixi.js'; +import { + GraphicData, + JlGraphic, + JlGraphicTemplate, + VectorText, +} from 'jl-graphic'; + +export interface IAfcData extends GraphicData { + get code(): string; // 编号 + set code(v: string); + clone(): IAfcData; + copyFrom(data: IAfcData): void; + eq(other: IAfcData): boolean; +} + +const afcConsts = { + rectWidth: 64, + rectHeight: 24, + rectBackground: '0x99ccff', + textColor: '0x33cc00', + text: 'AFC联动', + fontSize: 12, +}; + +export class Afc extends JlGraphic { + static Type = 'Afc'; + rectGraphic: Graphics = new Graphics(); + textGraphic: VectorText = new VectorText(); + constructor() { + super(Afc.Type); + this.addChild(this.rectGraphic); + this.addChild(this.textGraphic); + } + + get datas(): IAfcData { + return this.getDatas(); + } + doRepaint(): void { + const rectGraphic = this.rectGraphic; + rectGraphic.clear(); + rectGraphic.beginFill(afcConsts.rectBackground); + rectGraphic.drawRect(0, 0, afcConsts.rectWidth, afcConsts.rectHeight); + rectGraphic.endFill(); + + this.textGraphic.text = afcConsts.text; + this.textGraphic.setVectorFontSize(afcConsts.fontSize); + this.textGraphic.anchor.set(0.5); + this.textGraphic.style.fill = afcConsts.textColor; + this.textGraphic.position.set( + afcConsts.rectWidth / 2, + afcConsts.rectHeight / 2 + ); + } +} + +export class AfcTemplate extends JlGraphicTemplate { + constructor(dataTemplate: IAfcData) { + super(Afc.Type, { + dataTemplate, + }); + } + new(): Afc { + const afc = new Afc(); + afc.loadData(this.datas); + return afc; + } +} diff --git a/src/graphics/FAS/afc/AfcAssistant.ts b/src/graphics/FAS/afc/AfcAssistant.ts new file mode 100644 index 0000000..a0d8127 --- /dev/null +++ b/src/graphics/FAS/afc/AfcAssistant.ts @@ -0,0 +1,111 @@ +import { DisplayObject, FederatedMouseEvent, Point } from 'pixi.js'; +import { + AbsorbableLine, + AbsorbablePosition, + GraphicDrawAssistant, + GraphicInteractionPlugin, + GraphicTransformEvent, + IDrawApp, + JlGraphic, +} from 'jl-graphic'; +import { IAfcData, Afc, AfcTemplate } from './Afc'; + +export class AfcDraw extends GraphicDrawAssistant { + _afc: Afc | null = null; + constructor(app: IDrawApp, template: AfcTemplate) { + super(app, template, 'svguse:../drawIcon.svg#icon-afc', 'Afc'); + AfcInteraction.init(app); + } + + bind(): void { + super.bind(); + if (!this._afc) { + this._afc = this.graphicTemplate.new(); + this.container.addChild(this._afc); + this._afc.doRepaint(); + } + } + + public get afc(): Afc { + if (!this._afc) { + this._afc = this.graphicTemplate.new(); + this.container.addChild(this._afc); + } + return this._afc; + } + + redraw(cp: Point): void { + this.afc.position.copyFrom(cp); + } + onLeftUp(e: FederatedMouseEvent): void { + this.afc.position.copyFrom(this.toCanvasCoordinates(e.global)); + this.createAndStore(true); + } + prepareData(data: IAfcData): boolean { + data.transform = this.afc.saveTransform(); + return true; + } + onEsc(): void { + this.finish(); + } +} + +/** + * 构建吸附线 + * @param afc + */ +function buildAbsorbablePositions(afc: Afc): AbsorbablePosition[] { + const aps: AbsorbablePosition[] = []; + const afcs = afc.queryStore.queryByType(Afc.Type); + const canvas = afc.getCanvas(); + afcs.forEach((item) => { + if (item.id === afc.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 AfcInteraction extends GraphicInteractionPlugin { + static Name = 'afc_transform'; + constructor(app: IDrawApp) { + super(AfcInteraction.Name, app); + } + static init(app: IDrawApp) { + return new AfcInteraction(app); + } + filter(...grahpics: JlGraphic[]): Afc[] | undefined { + return grahpics.filter((g) => g.type === Afc.Type).map((g) => g as Afc); + } + bind(g: Afc): void { + g.eventMode = 'static'; + g.cursor = 'pointer'; + g.scalable = true; + g.rotatable = true; + g.on('transformstart', this.transformstart, this); + } + unbind(g: Afc): 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 afc = target.getGraphic() as Afc; + afc.getGraphicApp().setOptions({ + absorbablePositions: buildAbsorbablePositions(afc), + }); + } +} diff --git a/src/graphics/FAS/pndDevice/FasDevice.png b/src/graphics/FAS/pndDevice/FasDevice.png new file mode 100644 index 0000000..5afbae5 Binary files /dev/null and b/src/graphics/FAS/pndDevice/FasDevice.png differ diff --git a/src/graphics/FAS/pndDevice/PngDevice.json b/src/graphics/FAS/pndDevice/PngDevice.json new file mode 100644 index 0000000..e6ef53c --- /dev/null +++ b/src/graphics/FAS/pndDevice/PngDevice.json @@ -0,0 +1,725 @@ +{ + "frames": { + "fasFailureControlHostNormal.png": { + "frame": { "x": 0, "y": 0, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "fasFailureControlHostFault.png": { + "frame": { "x": 32, "y": 0, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "fasFailureControlHostInterruption": { + "frame": { "x": 64, "y": 0, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "smokeDetectorFireAlarm": { + "frame": { "x": 96, "y": 0, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "smokeDetectorNormal": { + "frame": { "x": 128, "y": 0, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "smokeDetectorIsolate": { + "frame": { "x": 160, "y": 0, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "smokeDetectorFault": { + "frame": { "x": 192, "y": 0, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "smokeDetectorForewarning": { + "frame": { "x": 224, "y": 0, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "smokeDetectorInterruption": { + "frame": { "x": 256, "y": 0, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "temperatureDetectorFireAlarm": { + "frame": { "x": 288, "y": 0, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "temperatureDetectorNormal": { + "frame": { "x": 320, "y": 0, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "temperatureDetectorIsolate": { + "frame": { "x": 352, "y": 0, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "temperatureDetectorFault": { + "frame": { "x": 384, "y": 0, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "temperatureDetectorForewarning": { + "frame": { "x": 416, "y": 0, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "temperatureDetectorInterruption": { + "frame": { "x": 448, "y": 0, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "manualAlarmButtonFireAlarm": { + "frame": { "x": 0, "y": 32, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "manualAlarmButtonNormal": { + "frame": { "x": 32, "y": 32, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "manualAlarmButtonIsolate": { + "frame": { "x": 64, "y": 32, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "manualAlarmButtonFault": { + "frame": { "x": 96, "y": 32, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "manualAlarmButtonInterruption": { + "frame": { "x": 128, "y": 32, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "gasExtinguishingNormal": { + "frame": { "x": 160, "y": 32, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "gasExtinguishingFault": { + "frame": { "x": 192, "y": 32, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "gasExtinguishingIsolate": { + "frame": { "x": 224, "y": 32, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "gasExtinguishingForewarning": { + "frame": { "x": 256, "y": 32, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "gasExtinguishingAlarm": { + "frame": { "x": 288, "y": 32, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "gasExtinguishingInterruption": { + "frame": { "x": 320, "y": 32, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "fasAlarmAlarm": { + "frame": { "x": 356, "y": 32, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "fasAlarmNormal": { + "frame": { "x": 388, "y": 32, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "fasAlarmIsolate": { + "frame": { "x": 420, "y": 32, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "fasAlarmFault": { + "frame": { "x": 456, "y": 32, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "fasAlarmInterruption": { + "frame": { "x": 488, "y": 32, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "fireShutterNormal": { + "frame": { "x": 0, "y": 64, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "fireShutterAlarm": { + "frame": { "x": 32, "y": 64, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "fireShutterFall": { + "frame": { "x": 64, "y": 64, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "fireShutterInterruption": { + "frame": { "x": 96, "y": 64, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "fireShutterHalfFall": { + "frame": { "x": 128, "y": 64, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "firePumpRun": { + "frame": { "x": 160, "y": 64, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "firePumpStop": { + "frame": { "x": 192, "y": 64, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "firePumpFault": { + "frame": { "x": 224, "y": 64, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "firePumpInterruption": { + "frame": { "x": 256, "y": 64, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "sprayPumpRun": { + "frame": { "x": 288, "y": 64, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "sprayPumpStop": { + "frame": { "x": 320, "y": 64, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "sprayPumpFault": { + "frame": { "x": 356, "y": 64, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "sprayPumpInterruption": { + "frame": { "x": 388, "y": 64, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "stabilizedPressurePumpRun": { + "frame": { "x": 0, "y": 96, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "stabilizedPressurePumpStop": { + "frame": { "x": 32, "y": 96, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "stabilizedPressurePumpFault": { + "frame": { "x": 64, "y": 96, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "stabilizedPressurePumpInterruption": { + "frame": { "x": 96, "y": 96, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "nonFirePowerSupplyRun": { + "frame": { "x": 128, "y": 96, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "nonFirePowerSupplyNormal": { + "frame": { "x": 160, "y": 96, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "nonFirePowerSupplyFault": { + "frame": { "x": 192, "y": 96, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "nonFirePowerSupplyInterruption": { + "frame": { "x": 224, "y": 96, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "waterFlowIndicatorRun": { + "frame": { "x": 256, "y": 96, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "waterFlowIndicatorNormal": { + "frame": { "x": 288, "y": 96, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "waterFlowIndicatorStop": { + "frame": { "x": 320, "y": 96, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "waterFlowIndicatorInterruption": { + "frame": { "x": 352, "y": 96, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "signalButterflyValveRun": { + "frame": { "x": 384, "y": 96, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "signalButterflyValveNormal": { + "frame": { "x": 384, "y": 96, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "signalButterflyValveStop": { + "frame": { "x": 384, "y": 96, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "signalButterflyValveInterruption": { + "frame": { "x": 384, "y": 96, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "pressureSwitchRun": { + "frame": { "x": 0, "y": 128, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "pressureSwitchNormal": { + "frame": { "x": 32, "y": 128, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "pressureSwitchFault": { + "frame": { "x": 64, "y": 128, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "pressureSwitchInterruption": { + "frame": { "x": 96, "y": 128, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "faultValveRun": { + "frame": { "x": 128, "y": 128, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "faultValveNormal": { + "frame": { "x": 160, "y": 128, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "faultValveFault": { + "frame": { "x": 192, "y": 128, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "faultValveInterruption": { + "frame": { "x": 224, "y": 128, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "emergencyLightingRun": { + "frame": { "x": 256, "y": 128, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "emergencyLightingNormal": { + "frame": { "x": 288, "y": 128, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "emergencyLightingFault": { + "frame": { "x": 320, "y": 128, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "emergencyLightingInterruption": { + "frame": { "x": 352, "y": 128, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "elevatorLiftToTopFireFault": { + "frame": { "x": 384, "y": 128, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "elevatorLiftToTopNormal": { + "frame": { "x": 416, "y": 128, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "elevatorLiftToTopFault": { + "frame": { "x": 448, "y": 128, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "elevatorLiftToTopInterruption": { + "frame": { "x": 480, "y": 128, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "electricButterflyValveFireAlarm": { + "frame": { "x": 0, "y": 160, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "electricButterflyValveNormal": { + "frame": { "x": 32, "y": 160, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "electricButterflyValveFault": { + "frame": { "x": 64, "y": 160, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "electricButterflyValveInterruption": { + "frame": { "x": 96, "y": 160, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "fireValveFireAlarm": { + "frame": { "x": 128, "y": 160, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "fireValveNormal": { + "frame": { "x": 160, "y": 160, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "fireValveIsolate": { + "frame": { "x": 192, "y": 160, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "fireValveFault": { + "frame": { "x": 224, "y": 160, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "fireValveInterruption": { + "frame": { "x": 256, "y": 160, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "electricFireExtinguishingValveFireAlarm": { + "frame": { "x": 288, "y": 160, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "electricFireExtinguishingValveNormal": { + "frame": { "x": 320, "y": 160, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "electricFireExtinguishingValveFault": { + "frame": { "x": 352, "y": 160, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + }, + "electricFireExtinguishingValveInterruption": { + "frame": { "x": 352, "y": 160, "w": 32, "h": 32 }, + "rotated": false, + "trimmed": false, + "spriteSourceSize": { "x": 0, "y": 0, "w": 512, "h": 194 }, + "sourceSize": { "w": 512, "h": 194 }, + "anchor": { "x": 0.5, "y": 0.5 } + } + }, + "meta": { + "app": "https://www.codeandweb.com/texturepacker", + "version": "1.1", + "image": "FasDevice.png", + "format": "RGBA8888", + "size": { "w": 512, "h": 194 }, + "scale": "1", + "smartupdate": "$TexturePacker:SmartUpdate:e7620bd2d73cc0b3e2deea9704e7eefc:f129a1d9e4b9ba57720b3861c22b155b:eb2d421f7759984b7713aa4aa5354134$" + } +} diff --git a/src/layouts/IscsDrawLayout.vue b/src/layouts/IscsDrawLayout.vue index 1581f04..4db8bb8 100644 --- a/src/layouts/IscsDrawLayout.vue +++ b/src/layouts/IscsDrawLayout.vue @@ -268,6 +268,7 @@ @click="drawSelect(ctl.value)" :icon="ctl.icon" > + {{ ctl.tip }} @@ -318,6 +319,7 @@ import { SprayPump } from 'src/graphics/FAS/sprayPump/SprayPump'; import { StabilizedPressurePump } from 'src/graphics/FAS/stabilizedPressurePump/StabilizedPressurePump'; import { Acs } from 'src/graphics/FAS/acs/Acs'; import { VerticalElevator } from 'src/graphics/BAS/verticalElevator/VerticalElevator'; +import { Afc } from 'src/graphics/FAS/afc/Afc'; const $q = useQuasar(); const route = useRoute(); @@ -412,6 +414,7 @@ function handleUtilsOption() { drawAssistantsTypes.push(SprayPump.Type); drawAssistantsTypes.push(StabilizedPressurePump.Type); drawAssistantsTypes.push(Acs.Type); + drawAssistantsTypes.push(Afc.Type); break; } drawAssistantsTypes.forEach((type) => {