根据段数动态生成洗车机继电器

This commit is contained in:
joylink_zhaoerwei 2024-04-02 14:43:14 +08:00
parent 107f3e50d9
commit 82754e40d9
4 changed files with 71 additions and 10 deletions

View File

@ -702,7 +702,7 @@ const garageDoorCjList = [
const floodGateCjList = garageDoorCjList; const floodGateCjList = garageDoorCjList;
//洗车机 //洗车机
const carWashingCjList = [ const threecarWashingCjList = [
{ {
code: 'XCJ1', code: 'XCJ1',
refDeviceCodesAndPos: [ refDeviceCodesAndPos: [
@ -743,13 +743,13 @@ const carWashingCjList = [
refDeviceCodesAndPos: [ refDeviceCodesAndPos: [
[ [
{ {
code: 'XCIXJ', code: 'XCJXJ',
position: PostionType.Q, position: PostionType.Q,
}, },
], ],
[ [
{ {
code: 'XCIXJ', code: 'XCJXJ',
position: PostionType.H, position: PostionType.H,
}, },
], ],
@ -829,6 +829,24 @@ const carWashingCjList = [
}, },
]; ];
const twocarWashingCjList = threecarWashingCjList.map((cjData) => ({
code: cjData.code,
refDeviceCodesAndPos: cjData.refDeviceCodesAndPos
.map((device) =>
device.filter((item) => item.code !== 'TWJ3' && item.code !== 'CFJ3')
)
.filter((item) => item.length > 0),
}));
const onecarWashingCjList = twocarWashingCjList.map((cjData) => ({
code: cjData.code,
refDeviceCodesAndPos: cjData.refDeviceCodesAndPos
.map((device) =>
device.filter((item) => item.code !== 'TWJ2' && item.code !== 'CFJ2')
)
.filter((item) => item.length > 0),
}));
const DeviceType = graphicData.RelatedRef.DeviceType; const DeviceType = graphicData.RelatedRef.DeviceType;
export const ciCjMap = new Map<string, CjData[]>([ export const ciCjMap = new Map<string, CjData[]>([
[ [
@ -872,6 +890,8 @@ export const ciCjMap = new Map<string, CjData[]>([
[`${DeviceType.Breakers}+undefined`, breakersCjList], [`${DeviceType.Breakers}+undefined`, breakersCjList],
[`${DeviceType.PowerScreen}+undefined`, powerScreenCjList], [`${DeviceType.PowerScreen}+undefined`, powerScreenCjList],
[`${DeviceType.GarageDoor}+undefined`, garageDoorCjList], [`${DeviceType.GarageDoor}+undefined`, garageDoorCjList],
[`${DeviceType.CarWashing}+undefined`, carWashingCjList], [`${DeviceType.CarWashing}+3`, threecarWashingCjList],
[`${DeviceType.CarWashing}+2`, twocarWashingCjList],
[`${DeviceType.CarWashing}+1`, onecarWashingCjList],
[`${DeviceType.FloodGate}+undefined`, floodGateCjList], [`${DeviceType.FloodGate}+undefined`, floodGateCjList],
]); ]);

View File

@ -105,13 +105,27 @@ const garageDoorQdList = [
const floodGateQdList = garageDoorQdList; const floodGateQdList = garageDoorQdList;
const carWashingQdList = [ const threecarWashingQdList = [
{ {
code: 'XCJ1', code: 'XCJ1',
refDeviceCodes: [['XQJ'], ['TWJ1'], ['TWJ2'], ['TWJ3'], ['TGQJ']], refDeviceCodes: [['XQJ'], ['TWJ1'], ['TWJ2'], ['TWJ3'], ['TGQJ']],
}, },
]; ];
const twocarWashingQdList = [
{
code: 'XCJ1',
refDeviceCodes: [['XQJ'], ['TWJ1'], ['TWJ2'], ['TGQJ']],
},
];
const onecarWashingQdList = [
{
code: 'XCJ1',
refDeviceCodes: [['XQJ'], ['TWJ1'], ['TGQJ']],
},
];
watch(changeScreenDoorGroup, (group) => { watch(changeScreenDoorGroup, (group) => {
downScreenDoorQdList[0].refDeviceCodes = [['XGMJ']]; downScreenDoorQdList[0].refDeviceCodes = [['XGMJ']];
if (group?.length == 1) { if (group?.length == 1) {
@ -177,6 +191,8 @@ export const ciQdMap = new Map<string, QdData[]>([
[`${DeviceType.ScreenDoor}+down`, downScreenDoorQdList], [`${DeviceType.ScreenDoor}+down`, downScreenDoorQdList],
[`${DeviceType.ScreenDoor}+up`, upScreenDoorQdList], [`${DeviceType.ScreenDoor}+up`, upScreenDoorQdList],
[`${DeviceType.GarageDoor}+undefined`, garageDoorQdList], [`${DeviceType.GarageDoor}+undefined`, garageDoorQdList],
[`${DeviceType.CarWashing}+undefined`, carWashingQdList], [`${DeviceType.CarWashing}+3`, threecarWashingQdList],
[`${DeviceType.CarWashing}+2`, twocarWashingQdList],
[`${DeviceType.CarWashing}+1`, onecarWashingQdList],
[`${DeviceType.FloodGate}+undefined`, floodGateQdList], [`${DeviceType.FloodGate}+undefined`, floodGateQdList],
]); ]);

View File

@ -468,7 +468,7 @@ const garageDoorCombinations = [
const floodGateCombinations = garageDoorCombinations; const floodGateCombinations = garageDoorCombinations;
//洗车机 //洗车机
const carWashingCombinations = [ const threeCarWashingCombinations = [
{ {
code: 'XCJ1', code: 'XCJ1',
refDeviceCodesAndModel: [ refDeviceCodesAndModel: [
@ -498,7 +498,7 @@ const carWashingCombinations = [
code: 'XCJ2', code: 'XCJ2',
refDeviceCodesAndModel: [ refDeviceCodesAndModel: [
{ {
code: 'XCIXJ', code: 'XCJXJ',
model: RelayModelType.JWXC_1700, model: RelayModelType.JWXC_1700,
}, },
{ {
@ -529,6 +529,24 @@ const carWashingCombinations = [
}, },
]; ];
const twoCarWashingCombinations = threeCarWashingCombinations.map(
(combination) => ({
code: combination.code,
refDeviceCodesAndModel: combination.refDeviceCodesAndModel.filter(
(item) => item.code !== 'TWJ3' && item.code !== 'CFJ3'
),
})
);
const oneCarWashingCombinations = twoCarWashingCombinations.map(
(combination) => ({
code: combination.code,
refDeviceCodesAndModel: combination.refDeviceCodesAndModel.filter(
(item) => item.code !== 'TWJ2' && item.code !== 'CFJ2'
),
})
);
const DeviceType = graphicData.RelatedRef.DeviceType; const DeviceType = graphicData.RelatedRef.DeviceType;
export const combinationsMap = new Map<string, Combinationtype[]>([ export const combinationsMap = new Map<string, Combinationtype[]>([
[ [
@ -572,6 +590,8 @@ export const combinationsMap = new Map<string, Combinationtype[]>([
[`${DeviceType.Breakers}`, breakersCombinations], [`${DeviceType.Breakers}`, breakersCombinations],
[`${DeviceType.PowerScreen}`, powerScreenCombinations], [`${DeviceType.PowerScreen}`, powerScreenCombinations],
[`${DeviceType.GarageDoor}`, garageDoorCombinations], [`${DeviceType.GarageDoor}`, garageDoorCombinations],
[`${DeviceType.CarWashing}`, carWashingCombinations], [`${DeviceType.CarWashing + '+' + '3'}`, threeCarWashingCombinations],
[`${DeviceType.CarWashing + '+' + '2'}`, twoCarWashingCombinations],
[`${DeviceType.CarWashing + '+' + '1'}`, oneCarWashingCombinations],
[`${DeviceType.FloodGate}`, floodGateCombinations], [`${DeviceType.FloodGate}`, floodGateCombinations],
]); ]);

View File

@ -770,8 +770,9 @@ function oneClickGeneraterRelayLayout() {
}); });
// //
storage.carWashings.forEach((carWashing) => { storage.carWashings.forEach((carWashing) => {
const duanNum = carWashing.duanNum || 3;
const deviceCombinations = combinationsMap.get( const deviceCombinations = combinationsMap.get(
`${DeviceType.CarWashing}` `${DeviceType.CarWashing}+${duanNum}`
); );
if ( if (
carWashing.centralizedStations.includes(concentrationStation) && carWashing.centralizedStations.includes(concentrationStation) &&
@ -782,6 +783,10 @@ function oneClickGeneraterRelayLayout() {
DeviceType.CarWashing, DeviceType.CarWashing,
carWashing.code carWashing.code
); );
allDeviceModelMap.set(
`${DeviceType.CarWashing}+${carWashing.code}`,
`${carWashing.duanNum}`
);
} }
}); });
//-- //--