洗车机调整
This commit is contained in:
parent
7c8bd92030
commit
5f7c04ee99
@ -9,7 +9,7 @@ function getHost(): string {
|
|||||||
// return '192.168.3.7:9091';
|
// return '192.168.3.7:9091';
|
||||||
// return '192.168.3.47:9091';
|
// return '192.168.3.47:9091';
|
||||||
// return '192.168.3.37:9091';
|
// return '192.168.3.37:9091';
|
||||||
return '192.168.33.207:9091'; // 张骞
|
// return '192.168.33.207:9091'; // 张骞
|
||||||
// return '192.168.33.93:9091';
|
// return '192.168.33.93:9091';
|
||||||
// return '192.168.3.37:9091'; //卫志宏
|
// return '192.168.3.37:9091'; //卫志宏
|
||||||
// return 'test.joylink.club/bjrtsts-service'; // 测试
|
// return 'test.joylink.club/bjrtsts-service'; // 测试
|
||||||
|
@ -20,6 +20,7 @@ import { request } from 'src/protos/request';
|
|||||||
import { useLineStore } from 'src/stores/line-store';
|
import { useLineStore } from 'src/stores/line-store';
|
||||||
import { Dialog } from 'quasar';
|
import { Dialog } from 'quasar';
|
||||||
import XcjOperation from 'src/components/draw-app/dialogs/XcjOperation.vue';
|
import XcjOperation from 'src/components/draw-app/dialogs/XcjOperation.vue';
|
||||||
|
import { CarWashingGraphicHitArea } from 'src/graphics/carWashing/CarWashingDrawAssistant';
|
||||||
|
|
||||||
export class CarWashingData extends GraphicDataBase implements ICarWashingData {
|
export class CarWashingData extends GraphicDataBase implements ICarWashingData {
|
||||||
constructor(data?: graphicData.CarWashing) {
|
constructor(data?: graphicData.CarWashing) {
|
||||||
@ -192,6 +193,7 @@ export class CarWashingOperationInteraction extends GraphicInteractionPlugin<Car
|
|||||||
bind(g: CarWashing): void {
|
bind(g: CarWashing): void {
|
||||||
g.eventMode = 'static';
|
g.eventMode = 'static';
|
||||||
g.cursor = 'pointer';
|
g.cursor = 'pointer';
|
||||||
|
g.rectBody.hitArea = new CarWashingGraphicHitArea(g);
|
||||||
g.selectable = true;
|
g.selectable = true;
|
||||||
g.on('mousedown', this.onPress, this);
|
g.on('mousedown', this.onPress, this);
|
||||||
g.on('_rightclick', this.onContextMenu);
|
g.on('_rightclick', this.onContextMenu);
|
||||||
|
@ -48,11 +48,11 @@ export interface ICarWashingState extends GraphicState {
|
|||||||
set tgyxj(v: boolean);
|
set tgyxj(v: boolean);
|
||||||
}
|
}
|
||||||
|
|
||||||
const carWashingConsts = {
|
export const carWashingConsts = {
|
||||||
codeFontSize: 12,
|
codeFontSize: 12,
|
||||||
codeColor: 0xffffff,
|
codeColor: 0xffffff,
|
||||||
bodyRectLineColor: 0xffffff,
|
bodyRectLineColor: 0xffffff,
|
||||||
bodyRectLineWidth: 2,
|
bodyRectLineWidth: 6,
|
||||||
bodyRectWidth: 60,
|
bodyRectWidth: 60,
|
||||||
bodyRectHeight: 40,
|
bodyRectHeight: 40,
|
||||||
bodyColor: 0xffffff,
|
bodyColor: 0xffffff,
|
||||||
@ -99,7 +99,11 @@ export class CarWashing extends JlGraphic {
|
|||||||
codeGraph.position.set(0, -30);
|
codeGraph.position.set(0, -30);
|
||||||
}
|
}
|
||||||
this.rectBody.clear();
|
this.rectBody.clear();
|
||||||
this.rectBody.beginFill(carWashingConsts.bodyColor, 1);
|
this.rectBody.lineStyle(
|
||||||
|
carWashingConsts.bodyRectLineWidth,
|
||||||
|
carWashingConsts.bodyRectLineColor
|
||||||
|
);
|
||||||
|
this.rectBody.beginFill(carWashingConsts.bodyColor, 0);
|
||||||
const width = this.datas.width || carWashingConsts.bodyRectWidth;
|
const width = this.datas.width || carWashingConsts.bodyRectWidth;
|
||||||
this.rectBody.drawRect(
|
this.rectBody.drawRect(
|
||||||
-width / 2,
|
-width / 2,
|
||||||
@ -108,6 +112,7 @@ export class CarWashing extends JlGraphic {
|
|||||||
carWashingConsts.bodyRectHeight
|
carWashingConsts.bodyRectHeight
|
||||||
);
|
);
|
||||||
this.rectBody.endFill();
|
this.rectBody.endFill();
|
||||||
|
this.stopText.text = '';
|
||||||
if (this.states.jtj) {
|
if (this.states.jtj) {
|
||||||
this.stopText.text = '紧';
|
this.stopText.text = '紧';
|
||||||
this.stopText.style.fill = carWashingConsts.codeColor;
|
this.stopText.style.fill = carWashingConsts.codeColor;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { DisplayObject, FederatedMouseEvent, Point } from 'pixi.js';
|
import { DisplayObject, FederatedMouseEvent, Point, IHitArea } from 'pixi.js';
|
||||||
import {
|
import {
|
||||||
AbsorbableLine,
|
AbsorbableLine,
|
||||||
AbsorbablePosition,
|
AbsorbablePosition,
|
||||||
@ -8,7 +8,12 @@ import {
|
|||||||
IDrawApp,
|
IDrawApp,
|
||||||
JlGraphic,
|
JlGraphic,
|
||||||
} from 'jl-graphic';
|
} from 'jl-graphic';
|
||||||
import { CarWashing, CarWashingTemplate, ICarWashingData } from './CarWashing';
|
import {
|
||||||
|
CarWashing,
|
||||||
|
CarWashingTemplate,
|
||||||
|
ICarWashingData,
|
||||||
|
carWashingConsts,
|
||||||
|
} from './CarWashing';
|
||||||
import { Section } from '../section/Section';
|
import { Section } from '../section/Section';
|
||||||
|
|
||||||
export interface ICarWashingDataDrawOptions {
|
export interface ICarWashingDataDrawOptions {
|
||||||
@ -75,6 +80,33 @@ function buildAbsorbablePositions(
|
|||||||
return aps;
|
return aps;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export class CarWashingGraphicHitArea implements IHitArea {
|
||||||
|
carWashing: CarWashing;
|
||||||
|
constructor(carWashing: CarWashing) {
|
||||||
|
this.carWashing = carWashing;
|
||||||
|
}
|
||||||
|
contains(x: number, y: number): boolean {
|
||||||
|
const bound = this.carWashing.rectBody.getLocalBounds();
|
||||||
|
const maxX = bound.x + bound.width;
|
||||||
|
const minX = bound.x;
|
||||||
|
const maxY = bound.y + bound.height;
|
||||||
|
const minY = bound.y;
|
||||||
|
const flag1 = maxX >= x && x >= minX && maxY >= y && y >= minY;
|
||||||
|
const maxX1 = bound.x + bound.width - carWashingConsts.bodyRectLineWidth;
|
||||||
|
const minX1 = bound.x + carWashingConsts.bodyRectLineWidth;
|
||||||
|
const maxY1 = bound.y + bound.height - carWashingConsts.bodyRectLineWidth;
|
||||||
|
const minY1 = bound.y + carWashingConsts.bodyRectLineWidth;
|
||||||
|
const flag2 = maxX1 >= x && x >= minX1 && maxY1 >= y && y >= minY1;
|
||||||
|
const bound1 = this.carWashing.codeGraph.getLocalBounds();
|
||||||
|
const maxX2 = bound1.x + bound1.width;
|
||||||
|
const minX2 = bound1.x;
|
||||||
|
const maxY2 = bound1.y + bound1.height;
|
||||||
|
const minY2 = bound1.y;
|
||||||
|
const flag3 = maxX2 >= x && x >= minX2 && maxY2 >= y && y >= minY2;
|
||||||
|
return (flag1 && !flag2) || flag3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
export class CarWashingInteraction extends GraphicInteractionPlugin<CarWashing> {
|
export class CarWashingInteraction extends GraphicInteractionPlugin<CarWashing> {
|
||||||
static Name = 'car_washing_transform';
|
static Name = 'car_washing_transform';
|
||||||
constructor(app: IDrawApp) {
|
constructor(app: IDrawApp) {
|
||||||
@ -93,6 +125,8 @@ export class CarWashingInteraction extends GraphicInteractionPlugin<CarWashing>
|
|||||||
g.cursor = 'pointer';
|
g.cursor = 'pointer';
|
||||||
g.scalable = true;
|
g.scalable = true;
|
||||||
g.rotatable = true;
|
g.rotatable = true;
|
||||||
|
g.rectBody.hitArea = new CarWashingGraphicHitArea(g);
|
||||||
|
g.codeGraph.cursor = 'pointer';
|
||||||
g.codeGraph.draggable = true;
|
g.codeGraph.draggable = true;
|
||||||
g.codeGraph.selectable = true;
|
g.codeGraph.selectable = true;
|
||||||
g.codeGraph.rotatable = true;
|
g.codeGraph.rotatable = true;
|
||||||
|
Loading…
Reference in New Issue
Block a user