西安三号线控制权调整&iscs调整
This commit is contained in:
parent
750af027b3
commit
8bf9f77e0b
@ -693,3 +693,10 @@ export function getTrainDetailBytripNumber(group, params) {
|
||||
params: params
|
||||
});
|
||||
}
|
||||
/** 根据memberId获取综合演练角色信息 */
|
||||
export function getMemberInfo(group, memberId) {
|
||||
return request({
|
||||
url: `/simulation/${group}/${memberId}/memberInfo`,
|
||||
method: 'get'
|
||||
});
|
||||
}
|
||||
|
@ -67,6 +67,10 @@ const map = {
|
||||
ElectricButterflyValve: {
|
||||
width: 39,
|
||||
path: 'M38,24V44H1V24H18.237L18,21s-6.5.6-9-8C7.705,8.542,10.288,2,20,2S31.849,8.083,31,13c-1.586,9.183-9,8-9,8v3H38Zm-3,4.077L24,34a4.361,4.361,0,0,1-3,5c-3.052,1.215-7,0-7,0L9,41H35V28.077ZM25.872,17.466A6.259,6.259,0,0,0,29,12a18.6,18.6,0,0,0-1-4L25,5H16L12.511,7.279C10.464,8.908,11.044,14.092,11,10.9a10.963,10.963,0,0,0,2.23,5.284L14,7h2l3.181,6.95L23,7h2Zm-1.924.915L23.261,10.13,19.91,17H18l-2.341-5.907L15.1,17.8A8.481,8.481,0,0,0,20,19C17.855,19.073,20.85,19.478,23.948,18.38ZM4,27V39.556L12,36a6.888,6.888,0,0,1,3-7c4.261-2.736,8,1,8,1l6-3H4Z'
|
||||
},
|
||||
StaircaseOneWay: {
|
||||
width: 51,
|
||||
path: 'M51,71H0V0H12V15H23V-1h4V15H39V0H51V71ZM23,19H12v4H23V19Zm0,8H12v3H23V27Zm0,7H12v3H23V34Zm0,7H12v3H23V41Zm0,7H12v3H23V48Zm0,7H12v4H23V55ZM39,19H27v4H39V19Zm0,8H27v3H39V27Zm0,7H27v3H39V34Zm0,7H27v3H39V41Zm0,7H27v3H39V48Zm0,7H27v4H39V55ZM43,4V63H8V4H4V66H47V4H43Z'
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -16,13 +16,30 @@ export default class Staircase extends Group {
|
||||
id: this.model.code,
|
||||
position: [this.model.point.x, this.model.point.y]
|
||||
});
|
||||
this.path = createPathSvg(this.model);
|
||||
this.add(this.grouper);
|
||||
if (this.model.isRight) {
|
||||
let model = {};
|
||||
let rotationAngle = this.model.rotationAngle;
|
||||
if (this.model.oneWay) {
|
||||
model = {
|
||||
_type: 'StaircaseOneWay',
|
||||
z:this.z,
|
||||
zlevel:this.zlevel,
|
||||
width: this.model.width,
|
||||
fill: '#FFF'
|
||||
};
|
||||
rotationAngle = rotationAngle - 90;
|
||||
this.grouper.origin = [this.model.width / 2, this.model.width * 0.718 / 2];
|
||||
} else {
|
||||
model = this.model;
|
||||
this.grouper.origin = [this.model.width / 2, this.model.width * 1.368 / 2];
|
||||
this.grouper.scale = [-1, 1];
|
||||
}
|
||||
this.grouper.rotation = Math.PI / 180 * (this.model.rotationAngle || 0);
|
||||
this.path = createPathSvg(model);
|
||||
this.add(this.grouper);
|
||||
if (this.model.isRight && !this.model.oneWay) {
|
||||
this.grouper.scale = [-1, 1];
|
||||
} else if (this.model.isRight && this.model.oneWay) {
|
||||
this.grouper.scale = [1, -1];
|
||||
}
|
||||
this.grouper.rotation = Math.PI / 180 * (rotationAngle || 0);
|
||||
this.grouper.add(this.path);
|
||||
}
|
||||
setModel(dx, dy) {
|
||||
|
@ -123,11 +123,9 @@ export default {
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.$emit('requestResult', {selection:this.operate.selection, operation: this.operation, flag: true});
|
||||
}
|
||||
}).catch(() => {
|
||||
this.$refs.noticeInfo.doShow();
|
||||
this.$emit('requestResult', {selection:this.operate.selection, operation: this.operation, flag: false});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -59,7 +59,7 @@
|
||||
</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<two-confirmation ref="twoConfirmation" @setOperate="getOperate" @requestResult="requestResult" />
|
||||
<two-confirmation ref="twoConfirmation" @setOperate="getOperate" />
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
@ -154,22 +154,26 @@ export default {
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
// '$store.state.socket.msgHead': function (elem) {
|
||||
// if (elem) {
|
||||
// this.flagListBit[this.selection.forEach(elem => { return elem.stationControlCode == elem.code; })] = false;
|
||||
// if (elem.hasOwnProperty('timeout')) {
|
||||
// this.updateTableValue(elem.stationControlCode, { result: this.$t('menu.menuDialog.acceptConversionResponseTimeout') }, false);
|
||||
// } else if (elem.hasOwnProperty('agree')) {
|
||||
// if (elem.agree) {
|
||||
// this.updateTableValue(elem.stationControlCode, { result: this.$t('menu.menuDialog.controlModeTransfersuccees') }, true);
|
||||
// } else {
|
||||
// this.updateTableValue(elem.stationControlCode, { result: this.$t('menu.menuDialog.controlModeTransferFailed') }, false);
|
||||
// }
|
||||
// }
|
||||
// this.disabledClose = false;
|
||||
// this.disabledSure = false;
|
||||
// }
|
||||
// },
|
||||
'$store.state.socket.msgHead': function (elem) {
|
||||
if (elem) {
|
||||
this.flagListBit[this.selection.forEach(elem => { return elem.stationControlCode == elem.code; })] = false;
|
||||
if (elem.hasOwnProperty('success')) {
|
||||
if (elem.success) {
|
||||
(elem.stationCodes || []).forEach(code => {
|
||||
this.updateTableValue(code, { result: this.$t('menu.menuDialog.controlModeTransfersuccees') }, true);
|
||||
this.removeSelection(code);
|
||||
});
|
||||
} else {
|
||||
(elem.stationCodes || []).forEach(code => {
|
||||
this.updateTableValue(code, { result: this.$t('menu.menuDialog.controlModeTransferFailed') }, false);
|
||||
this.removeSelection(code);
|
||||
});
|
||||
}
|
||||
}
|
||||
this.disabledClose = false;
|
||||
this.disabledSure = false;
|
||||
}
|
||||
},
|
||||
backOperate: function (operate) {
|
||||
if (this.dialogShow && operate) {
|
||||
if (operate.selection && operate.selection.length) {
|
||||
@ -327,18 +331,20 @@ export default {
|
||||
this.timer = null;
|
||||
}
|
||||
},
|
||||
setRequestTimeout(elem) {
|
||||
this.updateTableValue(elem.code, { result: this.$t('menu.menuDialog.acceptConversionResponseTimeout') }, false);
|
||||
},
|
||||
requestResult({selection, flag}) {
|
||||
selection.map(elem => {
|
||||
if (flag) {
|
||||
this.updateTableValue(elem.code, { result: this.$t('menu.menuDialog.controlModeTransfersuccees') }, true);
|
||||
} else {
|
||||
this.updateTableValue(elem.code, { result: this.$t('menu.menuDialog.controlModeTransferFailed') }, true);
|
||||
removeSelection(code) {
|
||||
let selectionIndex = -1;
|
||||
this.selection.forEach((item, index) => {
|
||||
if (item.code === code) {
|
||||
selectionIndex = index;
|
||||
}
|
||||
});
|
||||
this.disabledClose = false;
|
||||
if (selectionIndex > -1) {
|
||||
this.selection.splice(selectionIndex, 1);
|
||||
}
|
||||
},
|
||||
setRequestTimeout(elem) {
|
||||
this.updateTableValue(elem.code, { result: this.$t('menu.menuDialog.acceptConversionResponseTimeout') }, false);
|
||||
this.removeSelection(elem.code);
|
||||
},
|
||||
handleChooseChange(selection) {
|
||||
this.selection = selection;
|
||||
|
@ -62,6 +62,7 @@
|
||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||
import NoticeInfo from '../dialog/childDialog/childDialog/noticeInfo';
|
||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||
import {getMemberInfo} from '@/api/simulation';
|
||||
|
||||
export default {
|
||||
name: 'RequestControl',
|
||||
@ -75,24 +76,24 @@ export default {
|
||||
disabledRefuse: false,
|
||||
requestInfo: this.$t('menu.passiveDialog.dispatcherWorkstation'),
|
||||
controlProps: {
|
||||
'01': this.$t('menu.passiveDialog.inTheControl'),
|
||||
'02': this.$t('menu.passiveDialog.stationControl')
|
||||
'Center': this.$t('menu.passiveDialog.inTheControl'),
|
||||
'Local': this.$t('menu.passiveDialog.stationControl')
|
||||
},
|
||||
selection: [],
|
||||
tableData: [],
|
||||
timer: null,
|
||||
timeout: 61,
|
||||
timeout: 55,
|
||||
count: 0,
|
||||
commandId: ''
|
||||
sourceMemberId: ''
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
targetStatus() {
|
||||
if (this.$store.state.training.prdType == '01') {
|
||||
return '01';
|
||||
return 'Center';
|
||||
}
|
||||
if (this.$store.state.training.prdType == '02') {
|
||||
return '02';
|
||||
return 'Local';
|
||||
}
|
||||
return '';
|
||||
},
|
||||
@ -117,10 +118,10 @@ export default {
|
||||
deep: true
|
||||
},
|
||||
'$store.state.socket.msgHead': function (elem) {
|
||||
if (elem && elem.type == 'req') {
|
||||
if (elem.stationControlCode) {
|
||||
if (elem && (elem.operateType == 'CM_Apply_For_Station_Control' || elem.operateType == 'CM_Apply_For_Center_Control' || elem.operateType == 'CM_Force_Station_Control')) {
|
||||
if (elem.params.stationCodes && elem.params.stationCodes.length) {
|
||||
this.doShow(elem);
|
||||
this.commandId = elem.commandId;
|
||||
this.sourceMemberId = elem.sourceMemberId;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -164,9 +165,9 @@ export default {
|
||||
this.disabledAgree = this.selection.length <= 0;
|
||||
}
|
||||
},
|
||||
updateTableData(code) {
|
||||
updateTableData(codes) {
|
||||
this.tableData = [];
|
||||
|
||||
(codes || []).forEach(code=> {
|
||||
const model = {
|
||||
code: code,
|
||||
operate: '',
|
||||
@ -178,29 +179,27 @@ export default {
|
||||
|
||||
const device = this.$store.getters['map/getDeviceByCode'](code);
|
||||
if (device) {
|
||||
const control = (device || {}).state;
|
||||
const control = (device || {}).controlMode;
|
||||
if (control) {
|
||||
model.control = { status: control.status, name: this.controlProps[control.status] };
|
||||
model.control = { status: control, name: this.controlProps[control] };
|
||||
model.target = { status: this.targetStatus, name: this.controlProps[this.targetStatus] };
|
||||
}
|
||||
|
||||
const station = this.$store.getters['map/getDeviceByCode'](device.stationCode);
|
||||
if (station) {
|
||||
model.operate = station.name || '';
|
||||
model.operate = device.name || '';
|
||||
}
|
||||
}
|
||||
|
||||
console.log(code, device);
|
||||
this.tableData.push(model);
|
||||
});
|
||||
},
|
||||
doShow(msgHead) {
|
||||
this.requestInfo = `${msgHead.fromMember.deviceName}`;
|
||||
if (msgHead.fromMember.nickName) {
|
||||
this.requestInfo = `${msgHead.fromMember.deviceName}(${msgHead.fromMember.nickName})`;
|
||||
getMemberInfo(this.$route.query.group, msgHead.sourceMemberId).then(resp => {
|
||||
if (resp.data && resp.data.deviceName && resp.data.name) {
|
||||
this.requestInfo = `${ resp.data.deviceName}(${resp.data.name})`;
|
||||
}
|
||||
});
|
||||
this.dialogShow = true;
|
||||
this.disabledAgree = true;
|
||||
this.createTimer();
|
||||
this.updateTableData(msgHead.stationControlCode);
|
||||
this.updateTableData(msgHead.params.stationCodes);
|
||||
|
||||
const operate = {
|
||||
start: true,
|
||||
@ -220,7 +219,6 @@ export default {
|
||||
if (this.dialogShow) {
|
||||
this.$store.dispatch('socket/shiftMsgQueue');
|
||||
}
|
||||
|
||||
this.count = 0;
|
||||
this.dialogShow = false;
|
||||
this.clearTimer();
|
||||
@ -247,22 +245,27 @@ export default {
|
||||
}
|
||||
},
|
||||
agree() {
|
||||
const stationCodes = [];
|
||||
this.tableData.forEach(item => {
|
||||
if (item.agree) {
|
||||
stationCodes.push(item.code);
|
||||
}
|
||||
});
|
||||
const operate = {
|
||||
start: true,
|
||||
operation: OperationEvent.StationControl.controlResponse.agree.operation,
|
||||
code: this.tableData[0].code,
|
||||
val: this.commandId,
|
||||
send: true,
|
||||
cmdType: this.$store.state.training.prdType == '01' ? CMD.ControlConvertMenu.CMD_CM_REPLY_CENTER_CONTROL : CMD.ControlConvertMenu.CMD_CM_REPLY_STATION_CONTROL,
|
||||
param: {
|
||||
ControlMode_Code: this.tableData[0].code,
|
||||
Reply_Command_Id: this.commandId,
|
||||
ControlMode_Reply: true
|
||||
sourceMemberId: this.sourceMemberId,
|
||||
stationCodes: stationCodes,
|
||||
agree: true
|
||||
}
|
||||
};
|
||||
|
||||
this.clearTimer();
|
||||
this.disabledAgree = true;
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||
this.doClose();
|
||||
@ -272,22 +275,27 @@ export default {
|
||||
});
|
||||
},
|
||||
refuse() {
|
||||
const stationCodes = [];
|
||||
this.tableData.forEach(item => {
|
||||
if (item.agree) {
|
||||
stationCodes.push(item.code);
|
||||
}
|
||||
});
|
||||
const operate = {
|
||||
start: true,
|
||||
operation: OperationEvent.StationControl.controlResponse.refuse.operation,
|
||||
code: this.tableData[0].code,
|
||||
val: this.commandId,
|
||||
send: true,
|
||||
cmdType: this.$store.state.training.prdType == '01' ? CMD.ControlConvertMenu.CMD_CM_REPLY_CENTER_CONTROL : CMD.ControlConvertMenu.CMD_CM_REPLY_STATION_CONTROL,
|
||||
param: {
|
||||
ControlMode_Code: this.tableData[0].code,
|
||||
Reply_Command_Id: this.commandId,
|
||||
ControlMode_Reply: false
|
||||
sourceMemberId: this.sourceMemberId,
|
||||
stationCodes: stationCodes,
|
||||
agree: false
|
||||
}
|
||||
};
|
||||
|
||||
this.clearTimer();
|
||||
this.disabledAgree = true;
|
||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||
if (valid) {
|
||||
this.doClose();
|
||||
}
|
||||
|
@ -2,10 +2,10 @@ export function getBaseUrl() {
|
||||
let BASE_API;
|
||||
if (process.env.NODE_ENV === 'development') {
|
||||
// BASE_API = 'https://joylink.club/jlcloud';
|
||||
BASE_API = 'https://test.joylink.club/jlcloud';
|
||||
// BASE_API = 'https://test.joylink.club/jlcloud';
|
||||
// BASE_API = 'http://192.168.3.5:9000'; // 袁琪
|
||||
// BASE_API = 'http://192.168.3.6:9000'; // 旭强
|
||||
// BASE_API = 'http://192.168.3.41:9000'; // 张赛
|
||||
BASE_API = 'http://192.168.3.41:9000'; // 张赛
|
||||
// BASE_API = 'http://192.168.3.82:9000'; // 杜康
|
||||
// BASE_API = 'http://b29z135112.zicp.vip';
|
||||
// BASE_API = 'http://2925963m2a.zicp.vip'; // 杜康
|
||||
|
@ -10,6 +10,9 @@
|
||||
<el-form-item label="扶梯朝右" prop="isRight">
|
||||
<el-checkbox v-model="addModel.isRight" />
|
||||
</el-form-item>
|
||||
<el-form-item label="单向" prop="oneWay">
|
||||
<el-checkbox v-model="addModel.oneWay" />
|
||||
</el-form-item>
|
||||
<el-form-item label="旋转角度">
|
||||
<el-input-number v-model="addModel.rotationAngle" />
|
||||
</el-form-item>
|
||||
@ -41,7 +44,8 @@ export default {
|
||||
x: 10,
|
||||
y: 10,
|
||||
rotationAngle: 0,
|
||||
isRight:false
|
||||
isRight:false,
|
||||
oneWay: false
|
||||
},
|
||||
rules: {
|
||||
width:[{ required: true, message:'请输入设备图形宽度', trigger: 'blur' }],
|
||||
@ -71,6 +75,7 @@ export default {
|
||||
this.addModel.y = model.point.y;
|
||||
this.addModel.isRight = model.isRight;
|
||||
this.addModel.rotationAngle = model.rotationAngle || 0;
|
||||
this.addModel.oneWay = !!model.oneWay;
|
||||
}
|
||||
}
|
||||
},
|
||||
@ -88,7 +93,8 @@ export default {
|
||||
rotationAngle: this.addModel.rotationAngle,
|
||||
code: this.isUpdate ? this.addModel.code : getUID('Staircase', this.iscs.staircaseList),
|
||||
_type: 'Staircase',
|
||||
width: this.addModel.width
|
||||
width: this.addModel.width,
|
||||
oneWay: this.addModel.oneWay
|
||||
};
|
||||
this.$emit('createDataModel', staircaseModel);
|
||||
this.initPage();
|
||||
@ -107,7 +113,8 @@ export default {
|
||||
isRight: this.addModel.isRight,
|
||||
rotationAngle: this.addModel.rotationAngle,
|
||||
_type: 'Staircase',
|
||||
width: this.addModel.width
|
||||
width: this.addModel.width,
|
||||
oneWay: this.addModel.oneWay
|
||||
};
|
||||
this.$emit('deleteDataModel', staircaseModel);
|
||||
this.initPage();
|
||||
@ -122,7 +129,8 @@ export default {
|
||||
x: 10,
|
||||
y: 10,
|
||||
isRight:false,
|
||||
rotationAngle: 0
|
||||
rotationAngle: 0,
|
||||
oneWay: false
|
||||
};
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user