Merge branch 'test' of https://git.code.tencent.com/lian-cbtc/jl-client into test
This commit is contained in:
commit
006fd8f0a3
@ -31,6 +31,11 @@ export default {
|
|||||||
this.subscribeMessage(val);
|
this.subscribeMessage(val);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
'$store.state.socket.roomInvite': function (val) {
|
||||||
|
if (val.creator) {
|
||||||
|
this.subscribeMessage(val);
|
||||||
|
}
|
||||||
|
},
|
||||||
'$store.state.socket.beLogoutCount': async function(val) {
|
'$store.state.socket.beLogoutCount': async function(val) {
|
||||||
this.$store.dispatch('disconnect').then(()=>{
|
this.$store.dispatch('disconnect').then(()=>{
|
||||||
this.$alert(this.$t('tip.logoutTips'), this.$t('tip.hint'), {
|
this.$alert(this.$t('tip.logoutTips'), this.$t('tip.hint'), {
|
||||||
@ -74,6 +79,7 @@ export default {
|
|||||||
this.$refs.deomonTopic.doShow(res);
|
this.$refs.deomonTopic.doShow(res);
|
||||||
}
|
}
|
||||||
this.$store.dispatch('socket/setSimulationInvite');
|
this.$store.dispatch('socket/setSimulationInvite');
|
||||||
|
this.$store.dispatch('socket/setRoomInvite');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
subscribe() {
|
subscribe() {
|
||||||
|
@ -142,7 +142,8 @@ export function loadDraftScript(scriptId, memberId, group) {
|
|||||||
/** 剧本预览选择角色 */
|
/** 剧本预览选择角色 */
|
||||||
export function loadDraftScriptNew(memberId, group) {
|
export function loadDraftScriptNew(memberId, group) {
|
||||||
return request({
|
return request({
|
||||||
url: `/simulation/${group}/choosePlay?memberId=${memberId}`,
|
// url: `/simulation/${group}/choosePlay?memberId=${memberId}`,
|
||||||
|
url: `/api/scriptSimulation/${group}/chooseMember/${memberId}/StartScript`,
|
||||||
method: 'put'
|
method: 'put'
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -77,9 +77,9 @@ export function getAllDeviceInProject(params) {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
/** 添加/修改ibp设备配置 */
|
/** 添加/修改ibp设备配置 */
|
||||||
export function setIbpConfig(id, data) {
|
export function setVrIbpConfig(id, data) {
|
||||||
return request({
|
return request({
|
||||||
url: `/api/device/${id}/config/ibp`,
|
url: `/api/device/${id}/config/vribp`,
|
||||||
method: 'put',
|
method: 'put',
|
||||||
data: data
|
data: data
|
||||||
});
|
});
|
||||||
|
@ -757,13 +757,6 @@ export function getTrainDetailBytripNumber(group, params) {
|
|||||||
params: params
|
params: params
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/** 根据memberId获取综合演练角色信息 */
|
|
||||||
export function getMemberInfo(group, memberId) {
|
|
||||||
return request({
|
|
||||||
url: `/simulation/${group}/${memberId}/memberInfo`,
|
|
||||||
method: 'get'
|
|
||||||
});
|
|
||||||
}
|
|
||||||
/** 获取新版综合仿真仿真成员列表 */
|
/** 获取新版综合仿真仿真成员列表 */
|
||||||
export function getSimulationMemberList(group) {
|
export function getSimulationMemberList(group) {
|
||||||
return request({
|
return request({
|
||||||
|
@ -96,8 +96,8 @@ export default {
|
|||||||
synthesisTrainingTitle: 'Synthesis Training Fast Entrance',
|
synthesisTrainingTitle: 'Synthesis Training Fast Entrance',
|
||||||
pleaseChooseRoom: 'You did not choose a room',
|
pleaseChooseRoom: 'You did not choose a room',
|
||||||
inviteJoinRoom: 'Invite you to join the synthesis training!',
|
inviteJoinRoom: 'Invite you to join the synthesis training!',
|
||||||
trainingHasStart: "{name}'s room (starting)",
|
trainingHasStart: "{name}'s room",
|
||||||
trainingNotStart: "{name}'s room (not starting)",
|
trainingNotStart: "{name}'s room",
|
||||||
inputRoomNumber: 'Please enter the room number.',
|
inputRoomNumber: 'Please enter the room number.',
|
||||||
chooseRoom: 'Choose Room',
|
chooseRoom: 'Choose Room',
|
||||||
codeError: 'The captcha is incorrect',
|
codeError: 'The captcha is incorrect',
|
||||||
|
@ -63,7 +63,7 @@ export default {
|
|||||||
examRuleMaking: 'Exam Rule Making',
|
examRuleMaking: 'Exam Rule Making',
|
||||||
testName: 'Test name',
|
testName: 'Test name',
|
||||||
inputTestName: 'Please input test name',
|
inputTestName: 'Please input test name',
|
||||||
testScope: 'Test scope',
|
testScope: 'Attribution course',
|
||||||
selectTestScope: 'Please select test scope',
|
selectTestScope: 'Please select test scope',
|
||||||
testDuration: 'duration',
|
testDuration: 'duration',
|
||||||
testDate: 'Test time',
|
testDate: 'Test time',
|
||||||
|
@ -97,8 +97,8 @@ export default {
|
|||||||
synthesisTrainingTitle: '综合演练快速入口',
|
synthesisTrainingTitle: '综合演练快速入口',
|
||||||
pleaseChooseRoom: '您没有选择房间',
|
pleaseChooseRoom: '您没有选择房间',
|
||||||
inviteJoinRoom: '邀请你加入综合演练!',
|
inviteJoinRoom: '邀请你加入综合演练!',
|
||||||
trainingHasStart: '{name}的房间(已开始)',
|
trainingHasStart: '{name}的房间',
|
||||||
trainingNotStart: '{name}的房间(未开始)',
|
trainingNotStart: '{name}的房间',
|
||||||
inputRoomNumber: '请输入房间号',
|
inputRoomNumber: '请输入房间号',
|
||||||
chooseRoom: '选择房间',
|
chooseRoom: '选择房间',
|
||||||
month: '月',
|
month: '月',
|
||||||
|
@ -65,7 +65,7 @@ export default {
|
|||||||
examRuleMaking: '考试规则制定',
|
examRuleMaking: '考试规则制定',
|
||||||
testName: '试卷名称',
|
testName: '试卷名称',
|
||||||
inputTestName: '请填写试卷名称',
|
inputTestName: '请填写试卷名称',
|
||||||
testScope: '试题范围',
|
testScope: '归属课程',
|
||||||
selectTestScope: '请选择试题范围',
|
selectTestScope: '请选择试题范围',
|
||||||
testDuration: '时长',
|
testDuration: '时长',
|
||||||
testDate: '考试时间',
|
testDate: '考试时间',
|
||||||
|
@ -12,12 +12,14 @@
|
|||||||
<train-set-head ref="trainSetHead" />
|
<train-set-head ref="trainSetHead" />
|
||||||
<train-set-work ref="trainSetWork" />
|
<train-set-work ref="trainSetWork" />
|
||||||
<train-flag ref="trainFlag" />
|
<train-flag ref="trainFlag" />
|
||||||
|
<set-fault ref="setFault" pop-class="beijing-01__systerm" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import PopMenu from '@/components/PopMenu';
|
import PopMenu from '@/components/PopMenu';
|
||||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||||
|
import SetFault from '@/jmapNew/theme/components/menus/dialog/setFault';
|
||||||
import { mapGetters } from 'vuex';
|
import { mapGetters } from 'vuex';
|
||||||
import { OperateMode } from '@/scripts/ConstDic';
|
import { OperateMode } from '@/scripts/ConstDic';
|
||||||
import { DeviceMenu } from '@/scripts/ConstDic';
|
import { DeviceMenu } from '@/scripts/ConstDic';
|
||||||
@ -31,9 +33,10 @@ import TrainDeletePlan from './dialog/trainDeletePlan';
|
|||||||
import TrainSetHead from './dialog/trainSetHead';
|
import TrainSetHead from './dialog/trainSetHead';
|
||||||
import TrainSetWork from './dialog/trainSetWork';
|
import TrainSetWork from './dialog/trainSetWork';
|
||||||
import TrainFlag from './dialog/trainFlag';
|
import TrainFlag from './dialog/trainFlag';
|
||||||
import { mouseCancelState } from '@/jmapNew/theme/components/utils/menuItemStatus';
|
// import { mouseCancelState } from '@/jmapNew/theme/components/utils/menuItemStatus';
|
||||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
||||||
|
import { menuOperate, commitOperate } from '@/jmapNew/theme/components/utils/menuOperate';
|
||||||
// import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
// import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@ -50,7 +53,8 @@ export default {
|
|||||||
TrainDeletePlan,
|
TrainDeletePlan,
|
||||||
TrainSetHead,
|
TrainSetHead,
|
||||||
TrainSetWork,
|
TrainSetWork,
|
||||||
TrainFlag
|
TrainFlag,
|
||||||
|
SetFault
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
selected: {
|
selected: {
|
||||||
@ -216,6 +220,14 @@ export default {
|
|||||||
{
|
{
|
||||||
label: '取消通信故障',
|
label: '取消通信故障',
|
||||||
handler: this.cancelStoppage
|
handler: this.cancelStoppage
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '确认运行至前方站',
|
||||||
|
handler: this.nextStation
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '进路闭塞法行车',
|
||||||
|
handler: this.routeBlockRun
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
menuSpeed: [
|
menuSpeed: [
|
||||||
@ -261,7 +273,8 @@ export default {
|
|||||||
|
|
||||||
// 故障模式菜单列表
|
// 故障模式菜单列表
|
||||||
if (this.operatemode === OperateMode.FAULT) {
|
if (this.operatemode === OperateMode.FAULT) {
|
||||||
this.menu = [...this.menuForce, ...this.menuSpeed];
|
this.menu = [...this.menuForce];
|
||||||
|
// ...this.menuSpeed
|
||||||
}
|
}
|
||||||
|
|
||||||
// this.menu = menuConvert(this.menu);
|
// this.menu = menuConvert(this.menu);
|
||||||
@ -282,42 +295,30 @@ export default {
|
|||||||
},
|
},
|
||||||
// 设置故障
|
// 设置故障
|
||||||
setStoppage() {
|
setStoppage() {
|
||||||
const operate = {
|
commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
|
||||||
start: true,
|
|
||||||
send: true,
|
|
||||||
code: this.selected.code,
|
|
||||||
operation: OperationEvent.Train.stoppage.menu.operation
|
|
||||||
};
|
|
||||||
|
|
||||||
mouseCancelState(this.selected);
|
|
||||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
|
||||||
} else {
|
|
||||||
this.$refs.noticeInfo.doShow(operate);
|
|
||||||
}
|
}
|
||||||
}).catch(() => {
|
|
||||||
this.$refs.noticeInfo.doShow(operate);
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 取消故障
|
// 取消故障
|
||||||
cancelStoppage() {
|
cancelStoppage() {
|
||||||
const operate = {
|
commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
|
||||||
start: true,
|
|
||||||
send: true,
|
|
||||||
code: this.selected.code,
|
|
||||||
operation: OperationEvent.Train.cancelStoppage.menu.operation
|
|
||||||
};
|
|
||||||
|
|
||||||
mouseCancelState(this.selected);
|
|
||||||
this.$store.dispatch('training/next', operate).then(({ valid }) => {
|
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
|
||||||
} else {
|
|
||||||
this.$refs.noticeInfo.doShow(operate);
|
|
||||||
}
|
}
|
||||||
}).catch(() => {
|
});
|
||||||
this.$refs.noticeInfo.doShow(operate);
|
},
|
||||||
|
nextStation() {
|
||||||
|
commitOperate(menuOperate.Train.nextStation, { groupNumber: this.selected.code }, 3).then(({valid, operate})=>{
|
||||||
|
}).catch((error) => {
|
||||||
|
this.$refs.noticeInfo.doShow(error.message);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
routeBlockRun() {
|
||||||
|
commitOperate(menuOperate.Train.routeBlockRun, { groupNumber: this.selected.code }, 3).then(({valid, operate})=>{
|
||||||
|
}).catch((error) => {
|
||||||
|
this.$refs.noticeInfo.doShow(error.message);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 限速行驶
|
// 限速行驶
|
||||||
|
@ -2,18 +2,21 @@
|
|||||||
<div>
|
<div>
|
||||||
<pop-menu ref="popMenu" :menu="menu" />
|
<pop-menu ref="popMenu" :menu="menu" />
|
||||||
<notice-info ref="noticeInfo" pop-class="chengdou-01__system" />
|
<notice-info ref="noticeInfo" pop-class="chengdou-01__system" />
|
||||||
|
<set-fault ref="setFault" pop-class="chengdou-01__system" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import PopMenu from '@/components/PopMenu';
|
import PopMenu from '@/components/PopMenu';
|
||||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||||
|
import SetFault from '@/jmapNew/theme/components/menus/dialog/setFault';
|
||||||
import { mapGetters } from 'vuex';
|
import { mapGetters } from 'vuex';
|
||||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
||||||
// import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
// import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||||
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
||||||
import CancelMouseState from '@/mixin/CancelMouseState';
|
import CancelMouseState from '@/mixin/CancelMouseState';
|
||||||
|
import { menuOperate, commitOperate } from '@/jmapNew/theme/components/utils/menuOperate';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'MenuTrain',
|
name: 'MenuTrain',
|
||||||
@ -22,7 +25,8 @@ export default {
|
|||||||
NoticeInfo
|
NoticeInfo
|
||||||
},
|
},
|
||||||
mixins: [
|
mixins: [
|
||||||
CancelMouseState
|
CancelMouseState,
|
||||||
|
SetFault
|
||||||
],
|
],
|
||||||
props: {
|
props: {
|
||||||
selected: {
|
selected: {
|
||||||
@ -129,6 +133,14 @@ export default {
|
|||||||
{
|
{
|
||||||
label: '取消通信故障',
|
label: '取消通信故障',
|
||||||
handler: this.cancelStoppage
|
handler: this.cancelStoppage
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '确认运行至前方站',
|
||||||
|
handler: this.nextStation
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '进路闭塞法行车',
|
||||||
|
handler: this.routeBlockRun
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
menuSpeed: [
|
menuSpeed: [
|
||||||
@ -190,44 +202,30 @@ export default {
|
|||||||
},
|
},
|
||||||
// 设置故障
|
// 设置故障
|
||||||
setStoppage() {
|
setStoppage() {
|
||||||
const operate = {
|
commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
|
||||||
start: true,
|
|
||||||
send: true,
|
|
||||||
code: this.selected.code,
|
|
||||||
|
|
||||||
operation: OperationEvent.Train.stoppage.menu.operation
|
|
||||||
};
|
|
||||||
|
|
||||||
this.mouseCancelState(this.selected);
|
|
||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
|
||||||
} else {
|
|
||||||
this.$refs.noticeInfo.doShow(operate);
|
|
||||||
}
|
}
|
||||||
}).catch(() => {
|
|
||||||
this.$refs.noticeInfo.doShow(operate);
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 取消故障
|
// 取消故障
|
||||||
cancelStoppage() {
|
cancelStoppage() {
|
||||||
const operate = {
|
commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
|
||||||
start: true,
|
|
||||||
send: true,
|
|
||||||
code: this.selected.code,
|
|
||||||
|
|
||||||
operation: OperationEvent.Train.cancelStoppage.menu.operation
|
|
||||||
};
|
|
||||||
|
|
||||||
this.mouseCancelState(this.selected);
|
|
||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
|
||||||
} else {
|
|
||||||
this.$refs.noticeInfo.doShow(operate);
|
|
||||||
}
|
}
|
||||||
}).catch(() => {
|
});
|
||||||
this.$refs.noticeInfo.doShow(operate);
|
},
|
||||||
|
nextStation() {
|
||||||
|
commitOperate(menuOperate.Train.nextStation, { groupNumber: this.selected.code }, 3).then(({valid, operate})=>{
|
||||||
|
}).catch((error) => {
|
||||||
|
this.$refs.noticeInfo.doShow(error.message);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
routeBlockRun() {
|
||||||
|
commitOperate(menuOperate.Train.routeBlockRun, { groupNumber: this.selected.code }, 3).then(({valid, operate})=>{
|
||||||
|
}).catch((error) => {
|
||||||
|
this.$refs.noticeInfo.doShow(error.message);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 限速行驶
|
// 限速行驶
|
||||||
|
@ -8,12 +8,14 @@
|
|||||||
<train-move-number ref="trainMoveNumber" />
|
<train-move-number ref="trainMoveNumber" />
|
||||||
<train-delete-number ref="trainDeleteNumber" />
|
<train-delete-number ref="trainDeleteNumber" />
|
||||||
<train-detail-info ref="trainDetailInfo" />
|
<train-detail-info ref="trainDetailInfo" />
|
||||||
|
<set-fault ref="setFault" pop-class="chengdou-03__systerm" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import PopMenu from '@/components/PopMenu';
|
import PopMenu from '@/components/PopMenu';
|
||||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||||
|
import SetFault from '@/jmapNew/theme/components/menus/dialog/setFault';
|
||||||
import { mapGetters } from 'vuex';
|
import { mapGetters } from 'vuex';
|
||||||
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
||||||
import TrainControl from './dialog/trainControl';
|
import TrainControl from './dialog/trainControl';
|
||||||
@ -26,6 +28,7 @@ import CancelMouseState from '@/mixin/CancelMouseState';
|
|||||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
||||||
|
import { menuOperate, commitOperate } from '@/jmapNew/theme/components/utils/menuOperate';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'MenuTrain',
|
name: 'MenuTrain',
|
||||||
@ -37,7 +40,8 @@ export default {
|
|||||||
TrainMoveNumber,
|
TrainMoveNumber,
|
||||||
TrainCreateNumber,
|
TrainCreateNumber,
|
||||||
TrainDeleteNumber,
|
TrainDeleteNumber,
|
||||||
TrainDetailInfo
|
TrainDetailInfo,
|
||||||
|
SetFault
|
||||||
},
|
},
|
||||||
mixins: [
|
mixins: [
|
||||||
CancelMouseState
|
CancelMouseState
|
||||||
@ -112,6 +116,14 @@ export default {
|
|||||||
{
|
{
|
||||||
label: '取消通信故障',
|
label: '取消通信故障',
|
||||||
handler: this.cancelStoppage
|
handler: this.cancelStoppage
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '确认运行至前方站',
|
||||||
|
handler: this.nextStation
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '进路闭塞法行车',
|
||||||
|
handler: this.routeBlockRun
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
menuSpeed: [
|
menuSpeed: [
|
||||||
@ -170,44 +182,30 @@ export default {
|
|||||||
},
|
},
|
||||||
// 设置故障
|
// 设置故障
|
||||||
setStoppage() {
|
setStoppage() {
|
||||||
const operate = {
|
commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
|
||||||
start: true,
|
|
||||||
send: true,
|
|
||||||
code: this.selected.code,
|
|
||||||
|
|
||||||
operation: OperationEvent.Train.stoppage.menu.operation
|
|
||||||
};
|
|
||||||
|
|
||||||
this.mouseCancelState(this.selected);
|
|
||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
|
||||||
} else {
|
|
||||||
this.$refs.noticeInfo.doShow(operate);
|
|
||||||
}
|
}
|
||||||
}).catch(() => {
|
|
||||||
this.$refs.noticeInfo.doShow(operate);
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 取消故障
|
// 取消故障
|
||||||
cancelStoppage() {
|
cancelStoppage() {
|
||||||
const operate = {
|
commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
|
||||||
start: true,
|
|
||||||
send: true,
|
|
||||||
code: this.selected.code,
|
|
||||||
|
|
||||||
operation: OperationEvent.Train.cancelStoppage.menu.operation
|
|
||||||
};
|
|
||||||
|
|
||||||
this.mouseCancelState(this.selected);
|
|
||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
|
||||||
} else {
|
|
||||||
this.$refs.noticeInfo.doShow(operate);
|
|
||||||
}
|
}
|
||||||
}).catch(() => {
|
});
|
||||||
this.$refs.noticeInfo.doShow(operate);
|
},
|
||||||
|
nextStation() {
|
||||||
|
commitOperate(menuOperate.Train.nextStation, { groupNumber: this.selected.code }, 3).then(({valid, operate})=>{
|
||||||
|
}).catch((error) => {
|
||||||
|
this.$refs.noticeInfo.doShow(error.message);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
routeBlockRun() {
|
||||||
|
commitOperate(menuOperate.Train.routeBlockRun, { groupNumber: this.selected.code }, 3).then(({valid, operate})=>{
|
||||||
|
}).catch((error) => {
|
||||||
|
this.$refs.noticeInfo.doShow(error.message);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 限速行驶
|
// 限速行驶
|
||||||
|
@ -62,7 +62,7 @@
|
|||||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||||
import {getMemberInfo} from '@/api/simulation';
|
import {SimulationType} from '@/scripts/ConstDic';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'RequestControl',
|
name: 'RequestControl',
|
||||||
@ -191,11 +191,23 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
doShow(msgHead) {
|
doShow(msgHead) {
|
||||||
getMemberInfo(this.$route.query.group, msgHead.sourceMemberId).then(resp => {
|
const member = this.$store.state.training.memberData[msgHead.sourceMemberId];
|
||||||
if (resp.data && resp.data.deviceName && resp.data.name) {
|
const simulationUserList = this.$store.state.training.simulationUserList;
|
||||||
this.requestInfo = `${ resp.data.deviceName}(${resp.data.name})`;
|
if (member) {
|
||||||
|
let info = SimulationType[member.type];
|
||||||
|
if (member.deviceCode) {
|
||||||
|
const device = this.$store.getters['map/getDeviceByCode'](member.deviceCode);
|
||||||
|
info = info + `(${device.name})`;
|
||||||
}
|
}
|
||||||
});
|
if (member.userId) {
|
||||||
|
simulationUserList.forEach(item => {
|
||||||
|
if (item.userId === member.userId) {
|
||||||
|
info = info + '-' + item.nickName;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
this.requestInfo = info;
|
||||||
|
}
|
||||||
this.dialogShow = true;
|
this.dialogShow = true;
|
||||||
this.disabledAgree = true;
|
this.disabledAgree = true;
|
||||||
this.createTimer();
|
this.createTimer();
|
||||||
|
@ -108,7 +108,11 @@ export default {
|
|||||||
selected._type = '';
|
selected._type = '';
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
this.deviceName = deviceType[selected._type] + '-' + selected.name;
|
let name = selected.name;
|
||||||
|
if (selected._type == 'Train') {
|
||||||
|
name = selected.serviceNumber;
|
||||||
|
}
|
||||||
|
this.deviceName = deviceType[selected._type] + '-' + name;
|
||||||
this.faultList = deviceFaultType[selected._type];
|
this.faultList = deviceFaultType[selected._type];
|
||||||
if (this.faultList && this.faultList.length) {
|
if (this.faultList && this.faultList.length) {
|
||||||
this.form.faultType = this.faultList[0].value;
|
this.form.faultType = this.faultList[0].value;
|
||||||
|
@ -405,6 +405,16 @@ export const menuOperate = {
|
|||||||
createPlanTrain:{
|
createPlanTrain:{
|
||||||
operation: OperationEvent.Train.createPlanTrain.menu.operation,
|
operation: OperationEvent.Train.createPlanTrain.menu.operation,
|
||||||
cmdType: CMD.Section.CMD_Train_Init_Plan
|
cmdType: CMD.Section.CMD_Train_Init_Plan
|
||||||
|
},
|
||||||
|
// 确认列车行驶之前方站台
|
||||||
|
nextStation:{
|
||||||
|
operation: OperationEvent.Train.nextStation.menu.operation,
|
||||||
|
cmdType: CMD.Driver.CMD_DRIVER_NEXT_STATION
|
||||||
|
},
|
||||||
|
// 进路闭塞法行车
|
||||||
|
routeBlockRun:{
|
||||||
|
operation: OperationEvent.Train.routeBlockRun.menu.operation,
|
||||||
|
cmdType: CMD.Driver.CMD_DRIVER_BLOCK_ROUTE
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -12,12 +12,14 @@
|
|||||||
<train-set-head ref="trainSetHead" />
|
<train-set-head ref="trainSetHead" />
|
||||||
<train-set-work ref="trainSetWork" />
|
<train-set-work ref="trainSetWork" />
|
||||||
<trainSetWorkATP ref="trainSetWorkATP" />
|
<trainSetWorkATP ref="trainSetWorkATP" />
|
||||||
|
<set-fault ref="setFault" pop-class="foshan-01__systerm" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import PopMenu from '@/components/PopMenu';
|
import PopMenu from '@/components/PopMenu';
|
||||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||||
|
import SetFault from '@/jmapNew/theme/components/menus/dialog/setFault';
|
||||||
import TrainDelete from './dialog/trainDelete';
|
import TrainDelete from './dialog/trainDelete';
|
||||||
import TrainDefine from './dialog/trainDefine';
|
import TrainDefine from './dialog/trainDefine';
|
||||||
import TrainMove from './dialog/trainMove';
|
import TrainMove from './dialog/trainMove';
|
||||||
@ -35,6 +37,7 @@ import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
|||||||
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
||||||
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
||||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||||
|
import { menuOperate, commitOperate } from '@/jmapNew/theme/components/utils/menuOperate';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'MenuTrain',
|
name: 'MenuTrain',
|
||||||
@ -50,7 +53,8 @@ export default {
|
|||||||
// TrainDeletePlan,
|
// TrainDeletePlan,
|
||||||
TrainSetHead,
|
TrainSetHead,
|
||||||
TrainSetWork,
|
TrainSetWork,
|
||||||
trainSetWorkATP
|
trainSetWorkATP,
|
||||||
|
SetFault
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
selected: {
|
selected: {
|
||||||
@ -121,6 +125,14 @@ export default {
|
|||||||
{
|
{
|
||||||
label: '取消通信故障',
|
label: '取消通信故障',
|
||||||
handler: this.cancelStoppage
|
handler: this.cancelStoppage
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '确认运行至前方站',
|
||||||
|
handler: this.nextStation
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '进路闭塞法行车',
|
||||||
|
handler: this.routeBlockRun
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
menuSpeed: [
|
menuSpeed: [
|
||||||
@ -180,42 +192,30 @@ export default {
|
|||||||
},
|
},
|
||||||
// 设置故障
|
// 设置故障
|
||||||
setStoppage() {
|
setStoppage() {
|
||||||
const step = {
|
commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
|
||||||
start: true,
|
|
||||||
operation: OperationEvent.Train.stoppage.menu.operation,
|
|
||||||
cmdType: CMD.Train.CMD_STOPPAGE,
|
|
||||||
param: {
|
|
||||||
code: this.selected.code
|
|
||||||
}
|
|
||||||
};
|
|
||||||
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
|
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
|
||||||
} else {
|
|
||||||
this.$refs.noticeInfo.doShow();
|
|
||||||
}
|
}
|
||||||
}).catch(() => {
|
|
||||||
this.$refs.noticeInfo.doShow();
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 取消故障
|
// 取消故障
|
||||||
cancelStoppage() {
|
cancelStoppage() {
|
||||||
const step = {
|
commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
|
||||||
start: true,
|
|
||||||
operation: OperationEvent.Train.cancelStoppage.menu.operation,
|
|
||||||
cmdType: CMD.Train.CMD_CANCEL_STOPPAGE,
|
|
||||||
param: {
|
|
||||||
code: this.selected.code
|
|
||||||
}
|
|
||||||
};
|
|
||||||
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
|
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
|
||||||
} else {
|
|
||||||
this.$refs.noticeInfo.doShow();
|
|
||||||
}
|
}
|
||||||
}).catch(() => {
|
});
|
||||||
this.$refs.noticeInfo.doShow();
|
},
|
||||||
|
nextStation() {
|
||||||
|
commitOperate(menuOperate.Train.nextStation, { groupNumber: this.selected.code }, 3).then(({valid, operate})=>{
|
||||||
|
}).catch((error) => {
|
||||||
|
this.$refs.noticeInfo.doShow(error.message);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
routeBlockRun() {
|
||||||
|
commitOperate(menuOperate.Train.routeBlockRun, { groupNumber: this.selected.code }, 3).then(({valid, operate})=>{
|
||||||
|
}).catch((error) => {
|
||||||
|
this.$refs.noticeInfo.doShow(error.message);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 限速行驶
|
// 限速行驶
|
||||||
|
@ -62,7 +62,7 @@
|
|||||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||||
import {getMemberInfo} from '@/api/simulation';
|
import {SimulationType} from '@/scripts/ConstDic';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'RequestControl',
|
name: 'RequestControl',
|
||||||
@ -190,11 +190,23 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
doShow(msgHead) {
|
doShow(msgHead) {
|
||||||
getMemberInfo(this.$route.query.group, msgHead.sourceMemberId).then(resp => {
|
const member = this.$store.state.training.memberData[msgHead.sourceMemberId];
|
||||||
if (resp.data && resp.data.deviceName && resp.data.name) {
|
const simulationUserList = this.$store.state.training.simulationUserList;
|
||||||
this.requestInfo = `${ resp.data.deviceName}(${resp.data.name})`;
|
if (member) {
|
||||||
|
let info = SimulationType[member.type];
|
||||||
|
if (member.deviceCode) {
|
||||||
|
const device = this.$store.getters['map/getDeviceByCode'](member.deviceCode);
|
||||||
|
info = info + `(${device.name})`;
|
||||||
}
|
}
|
||||||
});
|
if (member.userId) {
|
||||||
|
simulationUserList.forEach(item => {
|
||||||
|
if (item.userId === member.userId) {
|
||||||
|
info = info + '-' + item.nickName;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
this.requestInfo = info;
|
||||||
|
}
|
||||||
this.dialogShow = true;
|
this.dialogShow = true;
|
||||||
this.disabledAgree = true;
|
this.disabledAgree = true;
|
||||||
this.createTimer();
|
this.createTimer();
|
||||||
|
@ -7,12 +7,14 @@
|
|||||||
<train-move ref="trainMove" />
|
<train-move ref="trainMove" />
|
||||||
<train-switch ref="trainSwitch" />
|
<train-switch ref="trainSwitch" />
|
||||||
<train-edit-number ref="trainEditNumber" />
|
<train-edit-number ref="trainEditNumber" />
|
||||||
|
<set-fault ref="setFault" pop-class="fuzhou-01__systerm" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import PopMenu from '@/components/PopMenu';
|
import PopMenu from '@/components/PopMenu';
|
||||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||||
|
import SetFault from '@/jmapNew/theme/components/menus/dialog/setFault';
|
||||||
import { mapGetters } from 'vuex';
|
import { mapGetters } from 'vuex';
|
||||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
||||||
@ -23,6 +25,7 @@ import TrainMove from './dialog/trainMove';
|
|||||||
import TrainSwitch from './dialog/trainSwitch';
|
import TrainSwitch from './dialog/trainSwitch';
|
||||||
import TrainEditNumber from './dialog/trainEditNumber';
|
import TrainEditNumber from './dialog/trainEditNumber';
|
||||||
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
||||||
|
import { menuOperate, commitOperate } from '@/jmapNew/theme/components/utils/menuOperate';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'MenuTrain',
|
name: 'MenuTrain',
|
||||||
@ -33,7 +36,8 @@ export default {
|
|||||||
TrainDelete,
|
TrainDelete,
|
||||||
TrainMove,
|
TrainMove,
|
||||||
TrainSwitch,
|
TrainSwitch,
|
||||||
TrainEditNumber
|
TrainEditNumber,
|
||||||
|
SetFault
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
selected: {
|
selected: {
|
||||||
@ -84,13 +88,20 @@ export default {
|
|||||||
menuForce: [
|
menuForce: [
|
||||||
{
|
{
|
||||||
label: this.$t('menu.menuTrain.setCommunicationFault'),
|
label: this.$t('menu.menuTrain.setCommunicationFault'),
|
||||||
handler: this.undeveloped,
|
handler: this.setStoppage
|
||||||
cmdType:CMD.Train.CMD_TRAIN_ADD_FAULT
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: this.$t('menu.menuTrain.cancelCommunicationFault'),
|
label: this.$t('menu.menuTrain.cancelCommunicationFault'),
|
||||||
handler: this.undeveloped,
|
handler: this.undeveloped,
|
||||||
cmdType:CMD.Train.CMD_TRAIN_REMOVE_FAULT
|
cmdType:CMD.Train.CMD_TRAIN_REMOVE_FAULT
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '确认运行至前方站',
|
||||||
|
handler: this.nextStation
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '进路闭塞法行车',
|
||||||
|
handler: this.routeBlockRun
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
menuSpeed: [
|
menuSpeed: [
|
||||||
@ -145,7 +156,8 @@ export default {
|
|||||||
|
|
||||||
// 故障模式菜单列表
|
// 故障模式菜单列表
|
||||||
if (this.operatemode === OperateMode.FAULT) {
|
if (this.operatemode === OperateMode.FAULT) {
|
||||||
this.menu = [...this.menuForce, ...this.menuSpeed];
|
this.menu = [...this.menuForce];
|
||||||
|
// ...this.menuSpeed
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
doShow(point) {
|
doShow(point) {
|
||||||
@ -164,44 +176,31 @@ export default {
|
|||||||
},
|
},
|
||||||
// 设置故障
|
// 设置故障
|
||||||
setStoppage() {
|
setStoppage() {
|
||||||
// const step = {
|
commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
|
||||||
// start: true,
|
if (valid) {
|
||||||
// operation: OperationEvent.Train.stoppage.menu.operation,
|
this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
|
||||||
// cmdType: CMD.Train.CMD_STOPPAGE,
|
}
|
||||||
// param: {
|
});
|
||||||
// code: this.selected.code
|
|
||||||
// }
|
|
||||||
// };
|
|
||||||
// this.$store.dispatch('training/next', step).then(({ valid }) => {
|
|
||||||
// if (valid) {
|
|
||||||
// this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
|
||||||
// } else {
|
|
||||||
// this.$refs.noticeInfo.doShow(step);
|
|
||||||
// }
|
|
||||||
// }).catch(() => {
|
|
||||||
// this.$refs.noticeInfo.doShow(step);
|
|
||||||
// });
|
|
||||||
},
|
},
|
||||||
// 取消故障
|
// 取消故障
|
||||||
cancelStoppage() {
|
cancelStoppage() {
|
||||||
// const step = {
|
commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
|
||||||
// start: true,
|
if (valid) {
|
||||||
//
|
this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
|
||||||
// operation: OperationEvent.Train.cancelStoppage.menu.operation,
|
}
|
||||||
// cmdType: CMD.Train.CMD_CANCEL_STOPPAGE,
|
});
|
||||||
// param: {
|
},
|
||||||
// code: this.selected.code
|
nextStation() {
|
||||||
// }
|
commitOperate(menuOperate.Train.nextStation, { groupNumber: this.selected.code }, 3).then(({valid, operate})=>{
|
||||||
// };
|
}).catch((error) => {
|
||||||
// this.$store.dispatch('training/next', step).then(({ valid }) => {
|
this.$refs.noticeInfo.doShow(error.message);
|
||||||
// if (valid) {
|
});
|
||||||
// this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
},
|
||||||
// } else {
|
routeBlockRun() {
|
||||||
// this.$refs.noticeInfo.doShow(step);
|
commitOperate(menuOperate.Train.routeBlockRun, { groupNumber: this.selected.code }, 3).then(({valid, operate})=>{
|
||||||
// }
|
}).catch((error) => {
|
||||||
// }).catch(() => {
|
this.$refs.noticeInfo.doShow(error.message);
|
||||||
// this.$refs.noticeInfo.doShow(step);
|
});
|
||||||
// });
|
|
||||||
},
|
},
|
||||||
// 限速行驶
|
// 限速行驶
|
||||||
limitSpeed() {
|
limitSpeed() {
|
||||||
|
@ -62,7 +62,7 @@
|
|||||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||||
import {getMemberInfo} from '@/api/simulation';
|
import {SimulationType} from '@/scripts/ConstDic';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'RequestControl',
|
name: 'RequestControl',
|
||||||
@ -190,11 +190,23 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
doShow(msgHead) {
|
doShow(msgHead) {
|
||||||
getMemberInfo(this.$route.query.group, msgHead.sourceMemberId).then(resp => {
|
const member = this.$store.state.training.memberData[msgHead.sourceMemberId];
|
||||||
if (resp.data && resp.data.deviceName && resp.data.name) {
|
const simulationUserList = this.$store.state.training.simulationUserList;
|
||||||
this.requestInfo = `${ resp.data.deviceName}(${resp.data.name})`;
|
if (member) {
|
||||||
|
let info = SimulationType[member.type];
|
||||||
|
if (member.deviceCode) {
|
||||||
|
const device = this.$store.getters['map/getDeviceByCode'](member.deviceCode);
|
||||||
|
info = info + `(${device.name})`;
|
||||||
}
|
}
|
||||||
});
|
if (member.userId) {
|
||||||
|
simulationUserList.forEach(item => {
|
||||||
|
if (item.userId === member.userId) {
|
||||||
|
info = info + '-' + item.nickName;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
this.requestInfo = info;
|
||||||
|
}
|
||||||
this.dialogShow = true;
|
this.dialogShow = true;
|
||||||
this.disabledAgree = true;
|
this.disabledAgree = true;
|
||||||
this.createTimer();
|
this.createTimer();
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="menus" :style="{width: width + 'px'}">
|
<div class="menus" :style="{width: width + 'px'}">
|
||||||
<menu-cancel ref="menuCancel" />
|
<menu-cancel ref="menuCancel" />
|
||||||
<menu-bar v-if="isShowBar" ref="menuBar" :selected="selected" />
|
<menu-bar v-if="$store.state.training.prdType === '01'" ref="menuBar" :selected="selected" />
|
||||||
<menu-station-stand ref="menuStationStand" :selected="selected" />
|
<!--<menu-station-stand ref="menuStationStand" :selected="selected" />-->
|
||||||
<menu-switch ref="menuSwitch" :selected="selected" />
|
<!--<menu-switch ref="menuSwitch" :selected="selected" />-->
|
||||||
<menu-signal ref="menuSignal" :selected="selected" />
|
<!--<menu-signal ref="menuSignal" :selected="selected" />-->
|
||||||
<menu-section ref="menuSection" :selected="selected" />
|
<!--<menu-section ref="menuSection" :selected="selected" />-->
|
||||||
<menu-train ref="menuTrain" :selected="selected" />
|
<menu-train ref="menuTrain" :selected="selected" />
|
||||||
<menu-station ref="menuStation" :selected="selected" />
|
<!--<menu-station ref="menuStation" :selected="selected" />-->
|
||||||
<menu-button v-if="isShowBar" ref="menuButton" :selected="selected" />
|
<menu-button v-if="isShowBar" ref="menuButton" :selected="selected" />
|
||||||
<passive-alarm ref="passiveAlarm" />
|
<passive-alarm ref="passiveAlarm" />
|
||||||
<passive-contorl ref="passiveControl" />
|
<passive-contorl ref="passiveControl" />
|
||||||
@ -59,7 +59,7 @@ export default {
|
|||||||
'width'
|
'width'
|
||||||
]),
|
]),
|
||||||
isShowBar() {
|
isShowBar() {
|
||||||
return this.$store.state.training.prdType === '01' && this.$store.state.training.prdType !== '07';
|
return this.$store.state.training.prdType === '01' || this.$store.state.training.prdType === '02';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<el-row class="nav-border-row">
|
<el-row class="nav-border-row">
|
||||||
<template v-for="(item, index) in centralizedStationList">
|
<template v-for="(item, index) in centralizedStationList">
|
||||||
<div :key="index" class="nav-border-row row-width-box flex-row">
|
<div :key="index" class="nav-border-row row-width-box flex-row">
|
||||||
<div v-if="item.name" :id="item.operate.domId" class="fake-button-active" :class="{'active': item.show}" @click="clickCommand(item)">{{ item.name }}</div>
|
<div v-if="item.name" :id="item.operate.domId" class="fake-button-active" :class="{'active': item.show}" :style="{background: item.securityCommand ? '#87CEFA': '#E0E0E0'}" @click="clickCommand(item)">{{ item.name }}</div>
|
||||||
<div v-else class="fake-button" />
|
<div v-else class="fake-button" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -31,7 +31,6 @@
|
|||||||
class="haerbin_table"
|
class="haerbin_table"
|
||||||
highlight-current-row
|
highlight-current-row
|
||||||
:show-header="false"
|
:show-header="false"
|
||||||
@row-click="clickEvent"
|
|
||||||
>
|
>
|
||||||
<el-table-column prop="name" style="margin-left:10px" class-name="abc" />
|
<el-table-column prop="name" style="margin-left:10px" class-name="abc" />
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -85,48 +84,9 @@ export default {
|
|||||||
oldClickObj: null, // 上一次点击对象
|
oldClickObj: null, // 上一次点击对象
|
||||||
route: null, // 进路对象
|
route: null, // 进路对象
|
||||||
centralizedStationList: new Array(15).fill({}),
|
centralizedStationList: new Array(15).fill({}),
|
||||||
swicthParamList: [
|
ciStationParamList: [],
|
||||||
{ name: '封锁道岔', cmdType: CMD.Switch.CMD_SWITCH_BLOCK, operate: OperationEvent.Switch.block.menu, show: false },
|
startVirtual: false,
|
||||||
{ name: '解封道岔', cmdType: CMD.Switch.CMD_SWITCH_UNBLOCK, operate: OperationEvent.Switch.unblock.menu, show: false },
|
endVirtual: false
|
||||||
{ name: '取消锁定', cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK, operate: OperationEvent.Switch.unlock.menu, show: false },
|
|
||||||
{ name: '单锁道岔', cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK, operate: OperationEvent.Switch.lock.menu, show: false },
|
|
||||||
{ name: '转换定位', cmdType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION, operate: OperationEvent.Switch.locate.menu, show: false },
|
|
||||||
{ name: '转换反位', cmdType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION, operate: OperationEvent.Switch.reverse.menu, show: false },
|
|
||||||
{ name: '封锁区段', cmdType: CMD.Switch.CMD_SWITCH_SECTION_BLOCK, operate: OperationEvent.Section.lock.menu, show: false },
|
|
||||||
{ name: '解封区段', cmdType: CMD.Switch.CMD_SWITCH_SECTION_UNBLOCK, operate: OperationEvent.Section.unlock.menu, show: false },
|
|
||||||
{ name: '轨区消限', cmdType: CMD.Switch.CMD_SWITCH_CANCEL_LIMIT_SPEED, operate: OperationEvent.Switch.cancelSpeed.menu, show: false },
|
|
||||||
{ name: '轨区设限', cmdType: CMD.Switch.CMD_SWITCH_SET_LIMIT_SPEED, operate: OperationEvent.Switch.setSpeed.menu, show: false },
|
|
||||||
{ name: '强解区段', cmdType: CMD.Switch.CMD_SWITCH_FAULT_UNLOCK, operate: OperationEvent.Section.fault.menu, show: false }
|
|
||||||
],
|
|
||||||
signalParamList: [
|
|
||||||
{ name: '追踪单开', cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO, operate: OperationEvent.Signal.setAutoInterlock.menu, show: false },
|
|
||||||
{ name: '追踪单关', cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO, operate: OperationEvent.Signal.cancelAutoInterlock.menu, show: false },
|
|
||||||
{ name: '自排单开', cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING, operate: OperationEvent.Signal.atsAutoControl.menu, show: false },
|
|
||||||
{ name: '自排单关', cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING, operate: OperationEvent.Signal.humanControl.menu, show: false },
|
|
||||||
{ name: '重复开放', cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL, operate: OperationEvent.Signal.reopenSignal.menu, show: false },
|
|
||||||
{ name: '封锁信号', cmdType: CMD.Signal.CMD_SIGNAL_BLOCK, operate: OperationEvent.Signal.lock.menu, show: false },
|
|
||||||
{ name: '解封信号', cmdType: CMD.Signal.CMD_SIGNAL_UNBLOCK, operate: OperationEvent.Signal.unlock.menu, show: false },
|
|
||||||
{ name: '关单信号', cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL, operate: OperationEvent.Signal.signalClose.menu, show: false }
|
|
||||||
],
|
|
||||||
routeParamList: [
|
|
||||||
{ name: 'ATP进路', cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE, operate: OperationEvent.Signal.arrangementRoute.menu, show: false },
|
|
||||||
{ name: '取消ATP', cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE, operate: OperationEvent.Signal.cancelTrainRoute.menu, show: false },
|
|
||||||
{ name: '联锁进路', cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE, operate: OperationEvent.Signal.arrangementRoute.menu, show: false },
|
|
||||||
{ name: '取消联锁', cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE, operate: OperationEvent.Signal.cancelTrainRoute.menu, show: false },
|
|
||||||
{ name: '引导进路', cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE, operate: OperationEvent.Signal.guide.menu, show: false },
|
|
||||||
{ name: '取消引导', cmdType: CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE, operate: OperationEvent.Signal.humanTrainRoute.menu, show: false }
|
|
||||||
],
|
|
||||||
sectionParamList: [
|
|
||||||
{ name: '封锁区段', cmdType: CMD.Section.CMD_SECTION_BLOCK, operate: OperationEvent.Section.lock.menu, show: false },
|
|
||||||
{ name: '解封区段', cmdType: CMD.Section.CMD_SECTION_UNBLOCK, operate: OperationEvent.Section.unlock.menu, show: false },
|
|
||||||
{ name: '轨区消限', cmdType: CMD.Section.CMD_SECTION_CANCEL_LIMIT_SPEED, operate: OperationEvent.Section.cancelSpeed.menu, show: false },
|
|
||||||
{ name: '轨区设限', cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED, operate: OperationEvent.Section.setSpeed.menu, show: false },
|
|
||||||
{ name: '强解区段', cmdType: CMD.Section.CMD_SECTION_FAULT_UNLOCK, operate: OperationEvent.Section.fault.menu, show: false }
|
|
||||||
],
|
|
||||||
stationParamList: [
|
|
||||||
{ name: '关站信号', cmdType: CMD.Section.CMD_SECTION_BLOCK, operate: OperationEvent.Signal.cancelTrainRoute.menu, show: false } // 流程未处理
|
|
||||||
],
|
|
||||||
ciStationParamList: []
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -135,6 +95,118 @@ export default {
|
|||||||
]),
|
]),
|
||||||
commandId() {
|
commandId() {
|
||||||
return OperationEvent.Command.commandHaerbin.confirm.domId;
|
return OperationEvent.Command.commandHaerbin.confirm.domId;
|
||||||
|
},
|
||||||
|
basicParamList() {
|
||||||
|
return this.$store.state.training.prdType === '01' ? [
|
||||||
|
{ name: '接收控制', cmdType: CMD.Section.CMD_SECTION_BLOCK, operate: OperationEvent.Section.lock.menu, show:false },
|
||||||
|
{ name: '交出控制', cmdType: CMD.Section.CMD_SECTION_BLOCK, operate: OperationEvent.Section.lock.menu, show:false },
|
||||||
|
{ name: '强行站控', cmdType: CMD.Section.CMD_SECTION_BLOCK, operate: OperationEvent.Section.lock.menu, show:false, securityCommand: true },
|
||||||
|
{ name: '重启另解', cmdType: CMD.Section.CMD_SECTION_BLOCK, operate: OperationEvent.Section.lock.menu, show:false, securityCommand: true },
|
||||||
|
{ name: '追踪全开', cmdType: CMD.Section.CMD_SECTION_BLOCK, operate: OperationEvent.Section.lock.menu, show:false },
|
||||||
|
{ name: '追踪全关', cmdType: CMD.Section.CMD_SECTION_BLOCK, operate: OperationEvent.Section.lock.menu, show:false },
|
||||||
|
{ name: '关区信号', cmdType: CMD.Section.CMD_SECTION_BLOCK, operate: OperationEvent.Section.lock.menu, show:false },
|
||||||
|
{ name: '自排全开', cmdType: CMD.Section.CMD_SECTION_BLOCK, operate: OperationEvent.Section.lock.menu, show:false },
|
||||||
|
{ name: '自排全关', cmdType: CMD.Section.CMD_SECTION_BLOCK, operate: OperationEvent.Section.lock.menu, show:false }
|
||||||
|
] : [];
|
||||||
|
},
|
||||||
|
sectionParamList() {
|
||||||
|
return this.$store.state.training.prdType === '01' ? [
|
||||||
|
{ name: '封锁区段', cmdType: CMD.Section.CMD_SECTION_BLOCK, operate: OperationEvent.Section.lock.menu, show: false },
|
||||||
|
{ name: '解封区段', cmdType: CMD.Section.CMD_SECTION_UNBLOCK, operate: OperationEvent.Section.unlock.menu, show: false, securityCommand: true },
|
||||||
|
{ name: '轨区消限', cmdType: CMD.Section.CMD_SECTION_CANCEL_LIMIT_SPEED, operate: OperationEvent.Section.cancelSpeed.menu, show: false, securityCommand: true },
|
||||||
|
{ name: '轨区设限', cmdType: CMD.Section.CMD_SECTION_SET_LIMIT_SPEED, operate: OperationEvent.Section.setSpeed.menu, show: false, securityCommand: true },
|
||||||
|
{ name: '强解区段', cmdType: CMD.Section.CMD_SECTION_FAULT_UNLOCK, operate: OperationEvent.Section.fault.menu, show: false, securityCommand: true }
|
||||||
|
] : [
|
||||||
|
{ name: '封锁区段', cmdType: CMD.Section.CMD_SECTION_BLOCK, operate: OperationEvent.Section.lock.menu, show: false }
|
||||||
|
];
|
||||||
|
},
|
||||||
|
swicthParamList() {
|
||||||
|
return this.$store.state.training.prdType === '01' ? [
|
||||||
|
{ name: '封锁道岔', cmdType: CMD.Switch.CMD_SWITCH_BLOCK, operate: OperationEvent.Switch.block.menu, show: false },
|
||||||
|
{ name: '解封道岔', cmdType: CMD.Switch.CMD_SWITCH_UNBLOCK, operate: OperationEvent.Switch.unblock.menu, show: false, securityCommand: true },
|
||||||
|
{ name: '取消锁定', cmdType: CMD.Switch.CMD_SWITCH_SINGLE_UNLOCK, operate: OperationEvent.Switch.unlock.menu, show: false, securityCommand: true },
|
||||||
|
{ name: '单锁道岔', cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK, operate: OperationEvent.Switch.lock.menu, show: false },
|
||||||
|
{ name: '转换定位', cmdType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION, operate: OperationEvent.Switch.locate.menu, show: false },
|
||||||
|
{ name: '转换反位', cmdType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION, operate: OperationEvent.Switch.reverse.menu, show: false },
|
||||||
|
{ name: '封锁区段', cmdType: CMD.Switch.CMD_SWITCH_SECTION_BLOCK, operate: OperationEvent.Section.lock.menu, show: false },
|
||||||
|
{ name: '解封区段', cmdType: CMD.Switch.CMD_SWITCH_SECTION_UNBLOCK, operate: OperationEvent.Section.unlock.menu, show: false, securityCommand: true },
|
||||||
|
{ name: '轨区消限', cmdType: CMD.Switch.CMD_SWITCH_CANCEL_LIMIT_SPEED, operate: OperationEvent.Switch.cancelSpeed.menu, show: false, securityCommand: true },
|
||||||
|
{ name: '轨区设限', cmdType: CMD.Switch.CMD_SWITCH_SET_LIMIT_SPEED, operate: OperationEvent.Switch.setSpeed.menu, show: false, securityCommand: true},
|
||||||
|
{ name: '强解区段', cmdType: CMD.Switch.CMD_SWITCH_FAULT_UNLOCK, operate: OperationEvent.Section.fault.menu, show: false, securityCommand: true }
|
||||||
|
] : [
|
||||||
|
{ name: '封锁道岔', cmdType: CMD.Switch.CMD_SWITCH_BLOCK, operate: OperationEvent.Switch.block.menu, show: false },
|
||||||
|
{ name: '单锁道岔', cmdType: CMD.Switch.CMD_SWITCH_SINGLE_LOCK, operate: OperationEvent.Switch.lock.menu, show: false },
|
||||||
|
{ name: '转换定位', cmdType: CMD.Switch.CMD_SWITCH_NORMAL_POSITION, operate: OperationEvent.Switch.locate.menu, show: false },
|
||||||
|
{ name: '转换反位', cmdType: CMD.Switch.CMD_SWITCH_REVERSE_POSITION, operate: OperationEvent.Switch.reverse.menu, show: false },
|
||||||
|
{ name: '解封区段', cmdType: CMD.Switch.CMD_SWITCH_SECTION_UNBLOCK, operate: OperationEvent.Section.unlock.menu, show: false}
|
||||||
|
];
|
||||||
|
},
|
||||||
|
signalParamList() {
|
||||||
|
return this.$store.state.training.prdType === '01' ? [
|
||||||
|
{ name: '追踪单开', cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO, operate: OperationEvent.Signal.setAutoInterlock.menu, show: false },
|
||||||
|
{ name: '追踪单关', cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO, operate: OperationEvent.Signal.cancelAutoInterlock.menu, show: false },
|
||||||
|
{ name: '自排单开', cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING, operate: OperationEvent.Signal.atsAutoControl.menu, show: false },
|
||||||
|
{ name: '自排单关', cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING, operate: OperationEvent.Signal.humanControl.menu, show: false },
|
||||||
|
{ name: '重复开放', cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL, operate: OperationEvent.Signal.reopenSignal.menu, show: false },
|
||||||
|
{ name: '封锁信号', cmdType: CMD.Signal.CMD_SIGNAL_BLOCK, operate: OperationEvent.Signal.lock.menu, show: false },
|
||||||
|
{ name: '解封信号', cmdType: CMD.Signal.CMD_SIGNAL_UNBLOCK, operate: OperationEvent.Signal.unlock.menu, show: false, securityCommand: true },
|
||||||
|
{ name: '关单信号', cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL, operate: OperationEvent.Signal.signalClose.menu, show: false }
|
||||||
|
] : [
|
||||||
|
{ name: '追踪单开', cmdType: CMD.Signal.CMD_SIGNAL_SET_CI_AUTO, operate: OperationEvent.Signal.setAutoInterlock.menu, show: false },
|
||||||
|
{ name: '追踪单关', cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_CI_AUTO, operate: OperationEvent.Signal.cancelAutoInterlock.menu, show: false },
|
||||||
|
{ name: '自排单开', cmdType: CMD.Signal.CMD_SIGNAL_OPEN_AUTO_SETTING, operate: OperationEvent.Signal.atsAutoControl.menu, show: false },
|
||||||
|
{ name: '自排单关', cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_AUTO_SETTING, operate: OperationEvent.Signal.humanControl.menu, show: false },
|
||||||
|
{ name: '封锁信号', cmdType: CMD.Signal.CMD_SIGNAL_BLOCK, operate: OperationEvent.Signal.lock.menu, show: false },
|
||||||
|
{ name: '重复开放', cmdType: CMD.Signal.CMD_SIGNAL_REOPEN_SIGNAL, operate: OperationEvent.Signal.reopenSignal.menu, show: false },
|
||||||
|
{ name: '关单信号', cmdType: CMD.Signal.CMD_SIGNAL_CLOSE_SIGNAL, operate: OperationEvent.Signal.signalClose.menu, show: false }
|
||||||
|
];
|
||||||
|
},
|
||||||
|
stationParamList() {
|
||||||
|
return this.$store.state.training.prdType === '01' ? [
|
||||||
|
{ name: '关站信号', cmdType: CMD.Station.CMD_STATION_CLOSE_ALLSIGNAL, operate: OperationEvent.Station.closeAllSignal.menu, show: false } // 流程未处理
|
||||||
|
] : [
|
||||||
|
{ name: '接收控制', cmdType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_STATION_CONTROL, operate: OperationEvent.StationControl.requestStationControl.menu, show: false },
|
||||||
|
{ name: '交出控制', cmdType: CMD.ControlConvertMenu.CMD_CM_APPLY_FOR_CENTER_CONTROL, operate: OperationEvent.StationControl.requestCentralControl.menu, show: false },
|
||||||
|
{ name: '追踪全开', cmdType: CMD.Station.CMD_STATION_SET_CI_AUTO_TRIGGER, operate: OperationEvent.Station.setAutoTrigger.menu, show: false },
|
||||||
|
{ name: '追踪全关', cmdType: CMD.Station.CMD_STATION_CANCEL_CI_AUTO_TRIGGER, operate: OperationEvent.Station.cancelAutoTrigger.menu, show: false },
|
||||||
|
{ name: '关区信号', cmdType: CMD.Station.CMD_STATION_CIAREA_CLOSE_ALLSIGNAL, operate: OperationEvent.Station.ciAreaCloseAllSignal.menu, show: false },
|
||||||
|
{ name: '自排全开', cmdType: CMD.Section.CMD_STATION_OPEN_AUTO_SETTING, operate: OperationEvent.Station.atsAutoControlALL.menu, show: false },
|
||||||
|
{ name: '自排全关', cmdType: CMD.Section.CMD_STATION_CLOSE_AUTO_SETTING, operate: OperationEvent.Station.humanControlALL.menu, show: false },
|
||||||
|
{ name: '关站信号', cmdType: CMD.Station.CMD_STATION_CLOSE_ALLSIGNAL, operate: OperationEvent.Station.closeAllSignal.menu, show: false }
|
||||||
|
];
|
||||||
|
},
|
||||||
|
routeParamList() {
|
||||||
|
if (this.$store.state.training.prdType === '01') {
|
||||||
|
return [
|
||||||
|
{ name: 'ATP进路', cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE, operate: OperationEvent.Signal.arrangementRoute.menu, show: false },
|
||||||
|
{ name: '取消ATP', cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE, operate: OperationEvent.Signal.cancelTrainRoute.menu, show: false },
|
||||||
|
{ name: '联锁进路', cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE, operate: OperationEvent.Signal.arrangementRoute.menu, show: false },
|
||||||
|
{ name: '取消联锁', cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE, operate: OperationEvent.Signal.cancelTrainRoute.menu, show: false },
|
||||||
|
{ name: '引导进路', cmdType: CMD.Signal.CMD_SIGNAL_ROUTE_GUIDE, operate: OperationEvent.Signal.guide.menu, show: false, securityCommand: true },
|
||||||
|
{ name: '取消引导', cmdType: CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE, operate: OperationEvent.Signal.humanTrainRoute.menu, show: false }
|
||||||
|
];
|
||||||
|
} else if (this.$store.state.training.prdType === '02' && this.startVirtual) {
|
||||||
|
return [
|
||||||
|
{ name: 'ATP进路', cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE, operate: OperationEvent.Signal.arrangementRoute.menu, show: false },
|
||||||
|
{ name: '取消ATP', cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE, operate: OperationEvent.Signal.cancelTrainRoute.menu, show: false }
|
||||||
|
];
|
||||||
|
} else if (this.$store.state.training.prdType === '02' && this.endVirtual) {
|
||||||
|
return [
|
||||||
|
{ name: '联锁进路', cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE, operate: OperationEvent.Signal.arrangementRoute.menu, show: false },
|
||||||
|
{ name: '取消联锁', cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE, operate: OperationEvent.Signal.cancelTrainRoute.menu, show: false },
|
||||||
|
{ name: '取消引导', cmdType: CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE, operate: OperationEvent.Signal.humanTrainRoute.menu, show: false },
|
||||||
|
{ name: 'ATP进路', cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE, operate: OperationEvent.Signal.arrangementRoute.menu, show: false },
|
||||||
|
{ name: '取消ATP', cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE, operate: OperationEvent.Signal.cancelTrainRoute.menu, show: false }
|
||||||
|
];
|
||||||
|
} else if (this.$store.state.training.prdType === '02') {
|
||||||
|
return [
|
||||||
|
{ name: '联锁进路', cmdType: CMD.Signal.CMD_SIGNAL_SET_ROUTE, operate: OperationEvent.Signal.arrangementRoute.menu, show: false },
|
||||||
|
{ name: '取消联锁', cmdType: CMD.Signal.CMD_SIGNAL_CANCEL_ROUTE, operate: OperationEvent.Signal.cancelTrainRoute.menu, show: false },
|
||||||
|
{ name: '取消引导', cmdType: CMD.Signal.CMD_SIGNAL_HUMAN_RELEASE_ROUTE, operate: OperationEvent.Signal.humanTrainRoute.menu, show: false }
|
||||||
|
];
|
||||||
|
} else {
|
||||||
|
return [];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
@ -176,9 +248,14 @@ export default {
|
|||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
this.$refs.noticeInfo.doShow({}, error.message);
|
this.$refs.noticeInfo.doShow({}, error.message);
|
||||||
});
|
});
|
||||||
|
} else {
|
||||||
|
this.handleBasicMenu();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
mounted() {
|
||||||
|
this.handleBasicMenu();
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 高亮设备
|
// 高亮设备
|
||||||
deviceHighLight(device, flag) {
|
deviceHighLight(device, flag) {
|
||||||
@ -289,6 +366,10 @@ export default {
|
|||||||
this.route = null;
|
this.route = null;
|
||||||
this.routeList.forEach(item => {
|
this.routeList.forEach(item => {
|
||||||
if (item.startSignalCode == this.oldClickObj.code && item.endSignalCode == this.selected.code) {
|
if (item.startSignalCode == this.oldClickObj.code && item.endSignalCode == this.selected.code) {
|
||||||
|
const startSignal = this.$store.getters['map/getDeviceByCode'](item.startSignalCode);
|
||||||
|
const endSignal = this.$store.getters['map/getDeviceByCode'](item.endSignalCode);
|
||||||
|
this.startVirtual = startSignal.virtual;
|
||||||
|
this.endVirtual = endSignal.virtual;
|
||||||
this.route = item;
|
this.route = item;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -316,6 +397,18 @@ export default {
|
|||||||
speedLimitValue: '5'
|
speedLimitValue: '5'
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
handleBasicMenu() {
|
||||||
|
this.centralizedStationList = new Array(15).fill({});
|
||||||
|
this.basicParamList.forEach((basic, index) => {
|
||||||
|
this.centralizedStationList[index] = basic;
|
||||||
|
});
|
||||||
|
this.tempData = [];
|
||||||
|
const station = this.$store.getters['map/getDeviceByCode'](this.$store.state.map.showCentralizedStationCode);
|
||||||
|
this.tempData.push(station);
|
||||||
|
this.param = {
|
||||||
|
stationCode: this.$store.state.map.showCentralizedStationCode
|
||||||
|
};
|
||||||
|
},
|
||||||
handleStationMenu() {
|
handleStationMenu() {
|
||||||
this.centralizedStationList = new Array(15).fill({});
|
this.centralizedStationList = new Array(15).fill({});
|
||||||
this.stationParamList.forEach((swicth, index) => {
|
this.stationParamList.forEach((swicth, index) => {
|
||||||
@ -348,7 +441,6 @@ export default {
|
|||||||
const step = {
|
const step = {
|
||||||
over: true,
|
over: true,
|
||||||
cmdType: this.cmdType,
|
cmdType: this.cmdType,
|
||||||
// operation: this.operate,
|
|
||||||
operation: OperationEvent.Command.commandHaerbin.confirm.operation,
|
operation: OperationEvent.Command.commandHaerbin.confirm.operation,
|
||||||
param: this.param
|
param: this.param
|
||||||
};
|
};
|
||||||
|
@ -7,12 +7,14 @@
|
|||||||
<train-move ref="trainMove" />
|
<train-move ref="trainMove" />
|
||||||
<train-switch ref="trainSwitch" />
|
<train-switch ref="trainSwitch" />
|
||||||
<train-edit-number ref="trainEditNumber" />
|
<train-edit-number ref="trainEditNumber" />
|
||||||
|
<set-fault ref="setFault" pop-class="haerbin-01__systerm" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import PopMenu from '@/components/PopMenu';
|
import PopMenu from '@/components/PopMenu';
|
||||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||||
|
import SetFault from '@/jmapNew/theme/components/menus/dialog/setFault';
|
||||||
import { mapGetters } from 'vuex';
|
import { mapGetters } from 'vuex';
|
||||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
||||||
@ -23,6 +25,7 @@ import TrainMove from './dialog/trainMove';
|
|||||||
import TrainSwitch from './dialog/trainSwitch';
|
import TrainSwitch from './dialog/trainSwitch';
|
||||||
import TrainEditNumber from './dialog/trainEditNumber';
|
import TrainEditNumber from './dialog/trainEditNumber';
|
||||||
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
||||||
|
import { menuOperate, commitOperate } from '@/jmapNew/theme/components/utils/menuOperate';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'MenuTrain',
|
name: 'MenuTrain',
|
||||||
@ -33,7 +36,8 @@ export default {
|
|||||||
TrainDelete,
|
TrainDelete,
|
||||||
TrainMove,
|
TrainMove,
|
||||||
TrainSwitch,
|
TrainSwitch,
|
||||||
TrainEditNumber
|
TrainEditNumber,
|
||||||
|
SetFault
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
selected: {
|
selected: {
|
||||||
@ -64,19 +68,26 @@ export default {
|
|||||||
},
|
},
|
||||||
menuForce: [
|
menuForce: [
|
||||||
{
|
{
|
||||||
label: this.$t('menu.menuTrain.setCommunicationFault'),
|
label: '设置故障',
|
||||||
handler: this.setStoppage,
|
handler: this.setStoppage
|
||||||
cmdType:CMD.Train.CMD_TRAIN_ADD_FAULT
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: this.$t('menu.menuTrain.cancelCommunicationFault'),
|
label: this.$t('menu.menuTrain.cancelCommunicationFault'),
|
||||||
handler: this.cancelStoppage,
|
handler: this.cancelStoppage,
|
||||||
cmdType:CMD.Train.CMD_TRAIN_REMOVE_FAULT
|
cmdType:CMD.Train.CMD_TRAIN_REMOVE_FAULT
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '确认运行至前方站',
|
||||||
|
handler: this.nextStation
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '进路闭塞法行车',
|
||||||
|
handler: this.routeBlockRun
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
menuSpeed: [
|
menuSpeed: [
|
||||||
{
|
{
|
||||||
label: this.$t('menu.menuTrain.confirmRunToFrontStation'),
|
label: '限速行驶',
|
||||||
handler: this.limitSpeed,
|
handler: this.limitSpeed,
|
||||||
cmdType:CMD.Train.CMD_TRAIN_MANUAL_LIMIT_DRIVE
|
cmdType:CMD.Train.CMD_TRAIN_MANUAL_LIMIT_DRIVE
|
||||||
}
|
}
|
||||||
@ -118,7 +129,8 @@ export default {
|
|||||||
|
|
||||||
// 故障模式菜单列表
|
// 故障模式菜单列表
|
||||||
if (this.operatemode === OperateMode.FAULT) {
|
if (this.operatemode === OperateMode.FAULT) {
|
||||||
this.menu = [...this.menuForce, ...this.menuSpeed];
|
this.menu = [...this.menuForce];
|
||||||
|
// ...this.menuSpeed
|
||||||
}
|
}
|
||||||
|
|
||||||
// this.menu = MenuContextHandler.covert(this.menu);
|
// this.menu = MenuContextHandler.covert(this.menu);
|
||||||
@ -139,44 +151,18 @@ export default {
|
|||||||
},
|
},
|
||||||
// 设置故障
|
// 设置故障
|
||||||
setStoppage() {
|
setStoppage() {
|
||||||
const step = {
|
commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
|
||||||
start: true,
|
|
||||||
|
|
||||||
operation: OperationEvent.Train.stoppage.menu.operation,
|
|
||||||
cmdType: CMD.Train.CMD_STOPPAGE,
|
|
||||||
param: {
|
|
||||||
code: this.selected.code
|
|
||||||
}
|
|
||||||
};
|
|
||||||
this.$store.dispatch('training/next', step).then(({ valid }) => {
|
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
|
||||||
} else {
|
|
||||||
this.$refs.noticeInfo.doShow(step);
|
|
||||||
}
|
}
|
||||||
}).catch(() => {
|
|
||||||
this.$refs.noticeInfo.doShow(step);
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 取消故障
|
// 取消故障
|
||||||
cancelStoppage() {
|
cancelStoppage() {
|
||||||
const step = {
|
commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
|
||||||
start: true,
|
|
||||||
|
|
||||||
operation: OperationEvent.Train.cancelStoppage.menu.operation,
|
|
||||||
cmdType: CMD.Train.CMD_CANCEL_STOPPAGE,
|
|
||||||
param: {
|
|
||||||
code: this.selected.code
|
|
||||||
}
|
|
||||||
};
|
|
||||||
this.$store.dispatch('training/next', step).then(({ valid }) => {
|
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
|
||||||
} else {
|
|
||||||
this.$refs.noticeInfo.doShow(step);
|
|
||||||
}
|
}
|
||||||
}).catch(() => {
|
|
||||||
this.$refs.noticeInfo.doShow(step);
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 限速行驶
|
// 限速行驶
|
||||||
@ -200,6 +186,18 @@ export default {
|
|||||||
this.$refs.noticeInfo.doShow(step);
|
this.$refs.noticeInfo.doShow(step);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
nextStation() {
|
||||||
|
commitOperate(menuOperate.Train.nextStation, { groupNumber: this.selected.code }, 3).then(({valid, operate})=>{
|
||||||
|
}).catch((error) => {
|
||||||
|
this.$refs.noticeInfo.doShow(error.message);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
routeBlockRun() {
|
||||||
|
commitOperate(menuOperate.Train.routeBlockRun, { groupNumber: this.selected.code }, 3).then(({valid, operate})=>{
|
||||||
|
}).catch((error) => {
|
||||||
|
this.$refs.noticeInfo.doShow(error.message);
|
||||||
|
});
|
||||||
|
},
|
||||||
// 添加列车识别号
|
// 添加列车识别号
|
||||||
addTrainId() {
|
addTrainId() {
|
||||||
const step = {
|
const step = {
|
||||||
|
@ -12,12 +12,14 @@
|
|||||||
<train-set-head ref="trainSetHead" />
|
<train-set-head ref="trainSetHead" />
|
||||||
<train-set-work ref="trainSetWork" />
|
<train-set-work ref="trainSetWork" />
|
||||||
<trainSetWorkATP ref="trainSetWorkATP" />
|
<trainSetWorkATP ref="trainSetWorkATP" />
|
||||||
|
<set-fault ref="setFault" pop-class="ningbo-01__systerm" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import PopMenu from '@/components/PopMenu';
|
import PopMenu from '@/components/PopMenu';
|
||||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||||
|
import SetFault from '@/jmapNew/theme/components/menus/dialog/setFault';
|
||||||
import TrainDelete from './dialog/trainDelete';
|
import TrainDelete from './dialog/trainDelete';
|
||||||
import TrainDefine from './dialog/trainDefine';
|
import TrainDefine from './dialog/trainDefine';
|
||||||
import TrainMove from './dialog/trainMove';
|
import TrainMove from './dialog/trainMove';
|
||||||
@ -31,7 +33,8 @@ import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
|||||||
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
||||||
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
||||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||||
import {mouseCancelState} from '@/jmapNew/theme/components/utils/menuItemStatus';
|
// import {mouseCancelState} from '@/jmapNew/theme/components/utils/menuItemStatus';
|
||||||
|
import { menuOperate, commitOperate } from '@/jmapNew/theme/components/utils/menuOperate';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'MenuTrain',
|
name: 'MenuTrain',
|
||||||
@ -44,7 +47,8 @@ export default {
|
|||||||
TrainSetPlan,
|
TrainSetPlan,
|
||||||
TrainSetHead,
|
TrainSetHead,
|
||||||
TrainSetWork,
|
TrainSetWork,
|
||||||
trainSetWorkATP
|
trainSetWorkATP,
|
||||||
|
SetFault
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
selected: {
|
selected: {
|
||||||
@ -199,16 +203,24 @@ export default {
|
|||||||
menuForce: [
|
menuForce: [
|
||||||
{
|
{
|
||||||
label: '设置故障',
|
label: '设置故障',
|
||||||
handler: this.undeveloped
|
handler: this.setStoppage
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '取消故障',
|
label: '取消故障',
|
||||||
handler: this.undeveloped
|
handler: this.cancelStoppage
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '确认运行至前方站',
|
||||||
|
handler: this.nextStation
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '进路闭塞法行车',
|
||||||
|
handler: this.routeBlockRun
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
menuSpeed: [
|
menuSpeed: [
|
||||||
{
|
{
|
||||||
label: '确认运行至前方站',
|
label: '限速行驶',
|
||||||
handler: this.limitSpeed
|
handler: this.limitSpeed
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -263,44 +275,72 @@ export default {
|
|||||||
},
|
},
|
||||||
// 设置故障
|
// 设置故障
|
||||||
setStoppage() {
|
setStoppage() {
|
||||||
const operate = {
|
commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
|
||||||
start: true,
|
|
||||||
send: true,
|
|
||||||
code: this.selected.code,
|
|
||||||
operation: OperationEvent.Train.stoppage.menu.operation
|
|
||||||
};
|
|
||||||
|
|
||||||
mouseCancelState(this.selected);
|
|
||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
|
||||||
} else {
|
|
||||||
this.$refs.noticeInfo.doShow();
|
|
||||||
}
|
}
|
||||||
}).catch(() => {
|
|
||||||
this.$refs.noticeInfo.doShow();
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 取消故障
|
// 取消故障
|
||||||
cancelStoppage() {
|
cancelStoppage() {
|
||||||
const operate = {
|
commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
|
||||||
start: true,
|
|
||||||
send: true,
|
|
||||||
code: this.selected.code,
|
|
||||||
operation: OperationEvent.Train.cancelStoppage.menu.operation
|
|
||||||
};
|
|
||||||
|
|
||||||
mouseCancelState(this.selected);
|
|
||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
|
||||||
} else {
|
|
||||||
this.$refs.noticeInfo.doShow();
|
|
||||||
}
|
}
|
||||||
}).catch(() => {
|
|
||||||
this.$refs.noticeInfo.doShow();
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
nextStation() {
|
||||||
|
commitOperate(menuOperate.Train.nextStation, { groupNumber: this.selected.code }, 3).then(({valid, operate})=>{
|
||||||
|
}).catch((error) => {
|
||||||
|
this.$refs.noticeInfo.doShow(error.message);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
routeBlockRun() {
|
||||||
|
commitOperate(menuOperate.Train.routeBlockRun, { groupNumber: this.selected.code }, 3).then(({valid, operate})=>{
|
||||||
|
}).catch((error) => {
|
||||||
|
this.$refs.noticeInfo.doShow(error.message);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// // 设置故障
|
||||||
|
// setStoppage() {
|
||||||
|
// const operate = {
|
||||||
|
// start: true,
|
||||||
|
// send: true,
|
||||||
|
// code: this.selected.code,
|
||||||
|
// operation: OperationEvent.Train.stoppage.menu.operation
|
||||||
|
// };
|
||||||
|
|
||||||
|
// mouseCancelState(this.selected);
|
||||||
|
// this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||||
|
// if (valid) {
|
||||||
|
// this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||||
|
// } else {
|
||||||
|
// this.$refs.noticeInfo.doShow();
|
||||||
|
// }
|
||||||
|
// }).catch(() => {
|
||||||
|
// this.$refs.noticeInfo.doShow();
|
||||||
|
// });
|
||||||
|
// },
|
||||||
|
// // 取消故障
|
||||||
|
// cancelStoppage() {
|
||||||
|
// const operate = {
|
||||||
|
// start: true,
|
||||||
|
// send: true,
|
||||||
|
// code: this.selected.code,
|
||||||
|
// operation: OperationEvent.Train.cancelStoppage.menu.operation
|
||||||
|
// };
|
||||||
|
|
||||||
|
// mouseCancelState(this.selected);
|
||||||
|
// this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
||||||
|
// if (valid) {
|
||||||
|
// this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
||||||
|
// } else {
|
||||||
|
// this.$refs.noticeInfo.doShow();
|
||||||
|
// }
|
||||||
|
// }).catch(() => {
|
||||||
|
// this.$refs.noticeInfo.doShow();
|
||||||
|
// });
|
||||||
|
// },
|
||||||
// 限速行驶
|
// 限速行驶
|
||||||
limitSpeed() {
|
limitSpeed() {
|
||||||
const operate = {
|
const operate = {
|
||||||
|
@ -8,12 +8,14 @@
|
|||||||
<train-switch ref="trainSwitch" />
|
<train-switch ref="trainSwitch" />
|
||||||
<train-edit-number ref="trainEditNumber" />
|
<train-edit-number ref="trainEditNumber" />
|
||||||
<train-detail ref="trainDetail" />
|
<train-detail ref="trainDetail" />
|
||||||
|
<set-fault ref="setFault" pop-class="xian-01__systerm" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import PopMenu from '@/components/PopMenu';
|
import PopMenu from '@/components/PopMenu';
|
||||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||||
|
import SetFault from '@/jmapNew/theme/components/menus/dialog/setFault';
|
||||||
import { mapGetters } from 'vuex';
|
import { mapGetters } from 'vuex';
|
||||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
||||||
@ -25,6 +27,7 @@ import TrainSwitch from './dialog/trainSwitch';
|
|||||||
import TrainEditNumber from './dialog/trainEditNumber';
|
import TrainEditNumber from './dialog/trainEditNumber';
|
||||||
import TrainDetail from './dialog/trainDetail';
|
import TrainDetail from './dialog/trainDetail';
|
||||||
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
||||||
|
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'MenuTrain',
|
name: 'MenuTrain',
|
||||||
@ -36,7 +39,8 @@ export default {
|
|||||||
TrainMove,
|
TrainMove,
|
||||||
TrainSwitch,
|
TrainSwitch,
|
||||||
TrainEditNumber,
|
TrainEditNumber,
|
||||||
TrainDetail
|
TrainDetail,
|
||||||
|
SetFault
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
selected: {
|
selected: {
|
||||||
@ -102,18 +106,25 @@ export default {
|
|||||||
menuForce: [
|
menuForce: [
|
||||||
{
|
{
|
||||||
label: '设置故障',
|
label: '设置故障',
|
||||||
handler: this.undeveloped,
|
handler: this.setStoppage
|
||||||
cmdType:CMD.Train.CMD_TRAIN_ADD_FAULT
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '取消故障',
|
label: '取消故障',
|
||||||
handler: this.undeveloped,
|
handler: this.undeveloped,
|
||||||
cmdType:CMD.Train.CMD_TRAIN_REMOVE_FAULT
|
cmdType:CMD.Train.CMD_TRAIN_REMOVE_FAULT
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '确认运行至前方站',
|
||||||
|
handler: this.nextStation
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '进路闭塞法行车',
|
||||||
|
handler: this.routeBlockRun
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
menuSpeed: [
|
menuSpeed: [
|
||||||
{
|
{
|
||||||
label: this.$t('menu.menuTrain.confirmRunToFrontStation'),
|
label: '限速行驶',
|
||||||
handler: this.limitSpeed,
|
handler: this.limitSpeed,
|
||||||
cmdType:CMD.Train.CMD_TRAIN_MANUAL_LIMIT_DRIVE
|
cmdType:CMD.Train.CMD_TRAIN_MANUAL_LIMIT_DRIVE
|
||||||
}
|
}
|
||||||
@ -154,7 +165,8 @@ export default {
|
|||||||
|
|
||||||
// 故障模式菜单列表
|
// 故障模式菜单列表
|
||||||
if (this.operatemode === OperateMode.FAULT) {
|
if (this.operatemode === OperateMode.FAULT) {
|
||||||
this.menu = [...this.menuForce, ...this.menuSpeed];
|
this.menu = [...this.menuForce];
|
||||||
|
// ...this.menuSpeed
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
doShow(point) {
|
doShow(point) {
|
||||||
@ -172,42 +184,18 @@ export default {
|
|||||||
},
|
},
|
||||||
// 设置故障
|
// 设置故障
|
||||||
setStoppage() {
|
setStoppage() {
|
||||||
const step = {
|
commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
|
||||||
start: true,
|
|
||||||
operation: OperationEvent.Train.stoppage.menu.operation,
|
|
||||||
cmdType: CMD.Train.CMD_STOPPAGE,
|
|
||||||
param: {
|
|
||||||
code: this.selected.code
|
|
||||||
}
|
|
||||||
};
|
|
||||||
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
|
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
|
||||||
} else {
|
|
||||||
this.$refs.noticeInfo.doShow();
|
|
||||||
}
|
}
|
||||||
}).catch(() => {
|
|
||||||
this.$refs.noticeInfo.doShow();
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 取消故障
|
// 取消故障
|
||||||
cancelStoppage() {
|
cancelStoppage() {
|
||||||
const step = {
|
commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
|
||||||
start: true,
|
|
||||||
operation: OperationEvent.Train.cancelStoppage.menu.operation,
|
|
||||||
cmdType: CMD.Train.CMD_CANCEL_STOPPAGE,
|
|
||||||
param: {
|
|
||||||
code: this.selected.code
|
|
||||||
}
|
|
||||||
};
|
|
||||||
this.$store.dispatch('training/nextNew', step).then(({ valid }) => {
|
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
|
||||||
} else {
|
|
||||||
this.$refs.noticeInfo.doShow();
|
|
||||||
}
|
}
|
||||||
}).catch(() => {
|
|
||||||
this.$refs.noticeInfo.doShow();
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 限速行驶
|
// 限速行驶
|
||||||
@ -310,6 +298,18 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
nextStation() {
|
||||||
|
commitOperate(menuOperate.Train.nextStation, { groupNumber: this.selected.code }, 3).then(({valid, operate})=>{
|
||||||
|
}).catch((error) => {
|
||||||
|
this.$refs.noticeInfo.doShow(error.message);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
routeBlockRun() {
|
||||||
|
commitOperate(menuOperate.Train.routeBlockRun, { groupNumber: this.selected.code }, 3).then(({valid, operate})=>{
|
||||||
|
}).catch((error) => {
|
||||||
|
this.$refs.noticeInfo.doShow(error.message);
|
||||||
|
});
|
||||||
|
},
|
||||||
undeveloped() {
|
undeveloped() {
|
||||||
this.doClose();
|
this.doClose();
|
||||||
this.$alert('实现中......', '提示', {
|
this.$alert('实现中......', '提示', {
|
||||||
|
@ -62,7 +62,7 @@
|
|||||||
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
||||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||||
import {getMemberInfo} from '@/api/simulation';
|
import {SimulationType} from '@/scripts/ConstDic';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'RequestControl',
|
name: 'RequestControl',
|
||||||
@ -190,11 +190,23 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
doShow(msgHead) {
|
doShow(msgHead) {
|
||||||
getMemberInfo(this.$route.query.group, msgHead.sourceMemberId).then(resp => {
|
const member = this.$store.state.training.memberData[msgHead.sourceMemberId];
|
||||||
if (resp.data && resp.data.deviceName && resp.data.name) {
|
const simulationUserList = this.$store.state.training.simulationUserList;
|
||||||
this.requestInfo = `${ resp.data.deviceName}(${resp.data.name})`;
|
if (member) {
|
||||||
|
let info = SimulationType[member.type];
|
||||||
|
if (member.deviceCode) {
|
||||||
|
const device = this.$store.getters['map/getDeviceByCode'](member.deviceCode);
|
||||||
|
info = info + `(${device.name})`;
|
||||||
}
|
}
|
||||||
});
|
if (member.userId) {
|
||||||
|
simulationUserList.forEach(item => {
|
||||||
|
if (item.userId === member.userId) {
|
||||||
|
info = info + '-' + item.nickName;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
this.requestInfo = info;
|
||||||
|
}
|
||||||
this.dialogShow = true;
|
this.dialogShow = true;
|
||||||
this.disabledAgree = true;
|
this.disabledAgree = true;
|
||||||
this.createTimer();
|
this.createTimer();
|
||||||
|
@ -10,12 +10,14 @@
|
|||||||
<train-set-work ref="trainSetWork" />
|
<train-set-work ref="trainSetWork" />
|
||||||
<trainSetWorkATP ref="trainSetWorkATP" />
|
<trainSetWorkATP ref="trainSetWorkATP" />
|
||||||
<train-destination ref="trainDestination" />
|
<train-destination ref="trainDestination" />
|
||||||
|
<set-fault ref="setFault" pop-class="xian-02__system" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import PopMenu from '@/components/PopMenu/index';
|
import PopMenu from '@/components/PopMenu/index';
|
||||||
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
|
||||||
|
import SetFault from '@/jmapNew/theme/components/menus/dialog/setFault';
|
||||||
import TrainDelete from './dialog/trainDelete';
|
import TrainDelete from './dialog/trainDelete';
|
||||||
import TrainDefine from './dialog/trainDefine';
|
import TrainDefine from './dialog/trainDefine';
|
||||||
import TrainMove from './dialog/trainMove';
|
import TrainMove from './dialog/trainMove';
|
||||||
@ -30,6 +32,7 @@ import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
|
|||||||
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
import { DeviceMenu, OperateMode } from '@/scripts/ConstDic';
|
||||||
// import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
// import MenuContextHandler from '@/scripts/cmdPlugin/MenuContextHandler';
|
||||||
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
import CMD from '@/scripts/cmdPlugin/CommandEnum';
|
||||||
|
import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'MenuTrain',
|
name: 'MenuTrain',
|
||||||
@ -43,7 +46,8 @@ export default {
|
|||||||
TrainSetHead,
|
TrainSetHead,
|
||||||
TrainSetWork,
|
TrainSetWork,
|
||||||
trainSetWorkATP,
|
trainSetWorkATP,
|
||||||
TrainDestination
|
TrainDestination,
|
||||||
|
SetFault
|
||||||
},
|
},
|
||||||
props: {
|
props: {
|
||||||
selected: {
|
selected: {
|
||||||
@ -213,16 +217,24 @@ export default {
|
|||||||
menuForce: [
|
menuForce: [
|
||||||
{
|
{
|
||||||
label: '设置故障',
|
label: '设置故障',
|
||||||
handler: this.undeveloped
|
handler: this.setStoppage
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: '取消故障',
|
label: '取消故障',
|
||||||
handler: this.undeveloped
|
handler: this.undeveloped
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '确认运行至前方站',
|
||||||
|
handler: this.nextStation
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: '进路闭塞法行车',
|
||||||
|
handler: this.routeBlockRun
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
menuSpeed: [
|
menuSpeed: [
|
||||||
{
|
{
|
||||||
label: '确认运行至前方站',
|
label: '限速行驶',
|
||||||
handler: this.limitSpeed
|
handler: this.limitSpeed
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
@ -280,40 +292,30 @@ export default {
|
|||||||
},
|
},
|
||||||
// 设置故障
|
// 设置故障
|
||||||
setStoppage() {
|
setStoppage() {
|
||||||
const operate = {
|
commitOperate(menuOperate.Common.setFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
|
||||||
start: true,
|
|
||||||
send: true,
|
|
||||||
code: this.selected.code,
|
|
||||||
operation: OperationEvent.Train.stoppage.menu.operation
|
|
||||||
};
|
|
||||||
|
|
||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
this.$refs.setFault.doShow(menuOperate.Common.setFault, this.selected);
|
||||||
} else {
|
|
||||||
this.$refs.noticeInfo.doShow(operate);
|
|
||||||
}
|
}
|
||||||
}).catch(() => {
|
|
||||||
this.$refs.noticeInfo.doShow(operate);
|
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 取消故障
|
// 取消故障
|
||||||
cancelStoppage() {
|
cancelStoppage() {
|
||||||
const operate = {
|
commitOperate(menuOperate.Common.cancelFault, { code: this.selected.code }, 0).then(({valid, operate})=>{
|
||||||
start: true,
|
|
||||||
send: true,
|
|
||||||
code: this.selected.code,
|
|
||||||
operation: OperationEvent.Train.cancelStoppage.menu.operation
|
|
||||||
};
|
|
||||||
|
|
||||||
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
|
|
||||||
if (valid) {
|
if (valid) {
|
||||||
this.$store.dispatch('menuOperation/handleBreakFlag', { break: true });
|
this.$refs.setFault.doShow(menuOperate.Common.cancelFault, this.selected);
|
||||||
} else {
|
|
||||||
this.$refs.noticeInfo.doShow(operate);
|
|
||||||
}
|
}
|
||||||
}).catch(() => {
|
});
|
||||||
this.$refs.noticeInfo.doShow(operate);
|
},
|
||||||
|
nextStation() {
|
||||||
|
commitOperate(menuOperate.Train.nextStation, { code: this.selected.code }, 3).then(({valid, operate})=>{
|
||||||
|
}).catch((error) => {
|
||||||
|
this.$refs.noticeInfo.doShow(error.message);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
routeBlockRun() {
|
||||||
|
commitOperate(menuOperate.Train.routeBlockRun, { code: this.selected.code }, 3).then(({valid, operate})=>{
|
||||||
|
}).catch((error) => {
|
||||||
|
this.$refs.noticeInfo.doShow(error.message);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
// 限速行驶
|
// 限速行驶
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog v-dialogDrag title="选择仿真" :visible.sync="dialogShow" width="30%" center>
|
<el-dialog v-dialogDrag title="选择仿真" :visible.sync="dialogShow" width="30%" center>
|
||||||
<el-input v-model="input" placeholder="请输入仿真号" />
|
<el-input v-model="input" placeholder="请输入仿真号" />
|
||||||
|
<el-checkbox v-if="!isShow" v-model="isNewMap">是否新版地图房间</el-checkbox>
|
||||||
<span slot="footer" class="dialog-footer">
|
<span slot="footer" class="dialog-footer">
|
||||||
<el-button @click="dialogShow = false">{{ $t('global.cancel') }}</el-button>
|
<el-button @click="dialogShow = false">{{ $t('global.cancel') }}</el-button>
|
||||||
<el-button v-loading="loading" :disabled="!input.length" type="primary" @click="comit">{{ $t('global.confirm') }}</el-button>
|
<el-button v-loading="loading" :disabled="!input.length" type="primary" @click="comit">{{ $t('global.confirm') }}</el-button>
|
||||||
@ -10,6 +11,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { jointSimulationByPermission } from '@/api/jointSimulation';
|
import { jointSimulationByPermission } from '@/api/jointSimulation';
|
||||||
|
import { getPermissionJoint } from '@/api/chat';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Dashboard',
|
name: 'Dashboard',
|
||||||
@ -17,7 +19,8 @@ export default {
|
|||||||
return {
|
return {
|
||||||
input: '',
|
input: '',
|
||||||
dialogShow: false,
|
dialogShow: false,
|
||||||
loading: false
|
loading: false,
|
||||||
|
isNewMap: true
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -35,7 +38,11 @@ export default {
|
|||||||
async comit() {
|
async comit() {
|
||||||
try {
|
try {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
await jointSimulationByPermission(`${this.input}`);
|
if (this.isNewMap || this.isShow) {
|
||||||
|
await jointSimulationByPermission(`${this.input}`);
|
||||||
|
} else {
|
||||||
|
await getPermissionJoint(`${this.input}`);
|
||||||
|
}
|
||||||
this.dialogShow = false;
|
this.dialogShow = false;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
const errorMessage = this.isShow ? this.$t('tip.failedToAddNewRoom') : this.$t('error.scanningError');
|
const errorMessage = this.isShow ? this.$t('tip.failedToAddNewRoom') : this.$t('error.scanningError');
|
||||||
|
@ -59,7 +59,6 @@ function getRouteInfo(to) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function handleRoute(to, next, loginPath) {
|
function handleRoute(to, next, loginPath) {
|
||||||
console.log(store.getters.roles, 'roles');
|
|
||||||
if (store.getters.roles.length == 0) {
|
if (store.getters.roles.length == 0) {
|
||||||
store.dispatch('GetInfo', getToken()).then(res => {
|
store.dispatch('GetInfo', getToken()).then(res => {
|
||||||
// 根据roles权限生成可访问的路由表
|
// 根据roles权限生成可访问的路由表
|
||||||
@ -88,8 +87,6 @@ function handleRoute(to, next, loginPath) {
|
|||||||
} else {
|
} else {
|
||||||
next();
|
next();
|
||||||
}
|
}
|
||||||
// } else {
|
|
||||||
// next({ path: '/401', replace: true, query: { noGoBack: true } });
|
|
||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -27,7 +27,6 @@ const TrainRoom = () => import('@/views/trainRoom/index');
|
|||||||
const JointTraining = () => import('@/views/jointTraining/index');
|
const JointTraining = () => import('@/views/jointTraining/index');
|
||||||
const JointTrainingNew = () => import('@/views/newMap/jointTrainingNew/index');
|
const JointTrainingNew = () => import('@/views/newMap/jointTrainingNew/index');
|
||||||
|
|
||||||
// const Error401 = () => import('@/views/error-page/401');
|
|
||||||
const Errpr404 = () => import('@/views/error-page/404');
|
const Errpr404 = () => import('@/views/error-page/404');
|
||||||
|
|
||||||
const Dictionary = () => import('@/views/system/dictionary/index');
|
const Dictionary = () => import('@/views/system/dictionary/index');
|
||||||
|
@ -23,7 +23,6 @@ const TrainRoom = () => import('@/views/trainRoom/index');
|
|||||||
const JointTraining = () => import('@/views/jointTraining/index');
|
const JointTraining = () => import('@/views/jointTraining/index');
|
||||||
const JointTrainingNew = () => import('@/views/newMap/jointTrainingNew/index');
|
const JointTrainingNew = () => import('@/views/newMap/jointTrainingNew/index');
|
||||||
|
|
||||||
// const Error401 = () => import('@/views/error-page/401');
|
|
||||||
const Errpr404 = () => import('@/views/error-page/404');
|
const Errpr404 = () => import('@/views/error-page/404');
|
||||||
|
|
||||||
const Dictionary = () => import('@/views/system/dictionary/index');
|
const Dictionary = () => import('@/views/system/dictionary/index');
|
||||||
@ -194,11 +193,6 @@ export const constantRoutes = [
|
|||||||
component: Jlmap3dTrain,
|
component: Jlmap3dTrain,
|
||||||
hidden: true
|
hidden: true
|
||||||
},
|
},
|
||||||
// {
|
|
||||||
// path: '/401',
|
|
||||||
// component: Error401,
|
|
||||||
// hidden: true
|
|
||||||
// },
|
|
||||||
{
|
{
|
||||||
path: '/404',
|
path: '/404',
|
||||||
component: Errpr404,
|
component: Errpr404,
|
||||||
|
@ -148,7 +148,8 @@ export default {
|
|||||||
{ label: '车站', value: 'Station' },
|
{ label: '车站', value: 'Station' },
|
||||||
{ label: '控制模式', value: 'ControlConvertMenu' },
|
{ label: '控制模式', value: 'ControlConvertMenu' },
|
||||||
{ label: '车次窗', value: 'TrainWindow' },
|
{ label: '车次窗', value: 'TrainWindow' },
|
||||||
{ label: '全线限速', value: 'LimitControl' }
|
{ label: '全线限速', value: 'LimitControl' },
|
||||||
|
{ label: '司机', value: 'Driver' }
|
||||||
],
|
],
|
||||||
|
|
||||||
simulationDeviceList:[
|
simulationDeviceList:[
|
||||||
@ -218,6 +219,7 @@ export default {
|
|||||||
{label: '信号机', value:'SIGNAL'},
|
{label: '信号机', value:'SIGNAL'},
|
||||||
{label: '屏蔽门', value: 'PSD'},
|
{label: '屏蔽门', value: 'PSD'},
|
||||||
{label: 'IBP盘', value: 'IBP'},
|
{label: 'IBP盘', value: 'IBP'},
|
||||||
|
{label: '虚拟IBP盘', value: 'VR_IBP'},
|
||||||
{label: '教员机', value: 'IM'},
|
{label: '教员机', value: 'IM'},
|
||||||
{label: '行调工作站', value: 'CW'},
|
{label: '行调工作站', value: 'CW'},
|
||||||
{label: '现地工作站', value: 'LW'},
|
{label: '现地工作站', value: 'LW'},
|
||||||
@ -227,7 +229,8 @@ export default {
|
|||||||
{label: '现地综合监控', value: 'ISCS_LW'},
|
{label: '现地综合监控', value: 'ISCS_LW'},
|
||||||
{label: '中心综合监控', value: 'ISCS_CW'},
|
{label: '中心综合监控', value: 'ISCS_CW'},
|
||||||
{label: '车辆段终端', value: 'DEPOT'},
|
{label: '车辆段终端', value: 'DEPOT'},
|
||||||
{label: '虚拟CCTV', value: 'CCTV'}
|
{label: '虚拟CCTV', value: 'CCTV'},
|
||||||
|
{label: 'PLC网关', value: 'PLC_GATEWAY'}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -2218,6 +2218,13 @@ export const TrainType = {
|
|||||||
HEAD: '头码车',
|
HEAD: '头码车',
|
||||||
MANUAL: '人工车'
|
MANUAL: '人工车'
|
||||||
};
|
};
|
||||||
|
/** 仿真成员类型 */
|
||||||
|
export const SimulationType = {
|
||||||
|
DISPATCHER: '行调',
|
||||||
|
STATION_SUPERVISOR: '车站值班员',
|
||||||
|
DRIVER: '司机',
|
||||||
|
MAINTAINER: '通号'
|
||||||
|
};
|
||||||
export const UrlConfig = {
|
export const UrlConfig = {
|
||||||
display: '/display',
|
display: '/display',
|
||||||
displayNew: '/displayNew',
|
displayNew: '/displayNew',
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
export const FaultStatusEnum = {
|
export const FaultStatusEnum = {
|
||||||
Section: {
|
Section: {
|
||||||
'01': '占用',
|
'01': '占用'
|
||||||
},
|
},
|
||||||
Switch: {
|
Switch: {
|
||||||
|
|
||||||
|
@ -1,9 +1,5 @@
|
|||||||
export default {
|
export default {
|
||||||
Switch: {
|
Switch: {
|
||||||
/** 设置故障 */
|
|
||||||
CMD_SWITCH_ADD_FAULT: {value:'Switch_Add_Fault', label: '设置道岔故障'},
|
|
||||||
/** 清除故障 */
|
|
||||||
CMD_SWITCH_REMOVE_FAULT: {value:'Switch_Remove_Fault', label: '清除道岔故障'},
|
|
||||||
/** 单锁 */
|
/** 单锁 */
|
||||||
CMD_SWITCH_SINGLE_LOCK: {value:'Switch_Single_Lock', label: '单锁'},
|
CMD_SWITCH_SINGLE_LOCK: {value:'Switch_Single_Lock', label: '单锁'},
|
||||||
/** 单解 */
|
/** 单解 */
|
||||||
@ -75,15 +71,13 @@ export default {
|
|||||||
CMD_DRIVER_ATP_CHANGE:{value:'Driver_ATP_Change', label:'改变ATP状态'},
|
CMD_DRIVER_ATP_CHANGE:{value:'Driver_ATP_Change', label:'改变ATP状态'},
|
||||||
CMD_DRIVER_DRIVE_MODE_CHANGE:{value:'Driver_Drive_Mode_Change', label:'改变列车运行模式'},
|
CMD_DRIVER_DRIVE_MODE_CHANGE:{value:'Driver_Drive_Mode_Change', label:'改变列车运行模式'},
|
||||||
CMD_DRIVER_CHANGE_HEAD:{value:'Driver_Change_Head', label:'换端'},
|
CMD_DRIVER_CHANGE_HEAD:{value:'Driver_Change_Head', label:'换端'},
|
||||||
CMD_DRIVER_DOOR_ON_OFF:{value:'Driver_Door_On_Off', label:'列车车门开关'}
|
CMD_DRIVER_DOOR_ON_OFF:{value:'Driver_Door_On_Off', label:'列车车门开关'},
|
||||||
|
CMD_DRIVER_NEXT_STATION:{value:'Driver_Next_Station', label:'确认列车行驶之前方站台'},
|
||||||
|
CMD_DRIVER_BLOCK_ROUTE:{value:'Driver_Block_Route', label:'进路闭塞法行车'}
|
||||||
},
|
},
|
||||||
|
|
||||||
// 信号机操作
|
// 信号机操作
|
||||||
Signal: {
|
Signal: {
|
||||||
/** 设置故障 */
|
|
||||||
CMD_SIGNAL_ADD_FAULT: {value:'Signal_Add_Fault', label: '设置信号机故障'},
|
|
||||||
/** 清除故障 */
|
|
||||||
CMD_SIGNAL_REMOVE_FAULT: {value:'Signal_Remove_Fault', label: '清除信号机故障'},
|
|
||||||
/** 封锁 */
|
/** 封锁 */
|
||||||
CMD_SIGNAL_BLOCK: {value:'Signal_Block', label: '封锁'},
|
CMD_SIGNAL_BLOCK: {value:'Signal_Block', label: '封锁'},
|
||||||
/** 解封 */
|
/** 解封 */
|
||||||
@ -128,10 +122,6 @@ export default {
|
|||||||
|
|
||||||
// 物理区段操作
|
// 物理区段操作
|
||||||
Section: {
|
Section: {
|
||||||
/** 设置故障 */
|
|
||||||
CMD_SECTION_ADD_FAULT: {value:'Section_Add_Fault', label: '设置区段故障'},
|
|
||||||
/** 清除故障 */
|
|
||||||
CMD_SECTION_REMOVE_FAULT: {value:'Section_Remove_Fault', label: '清除区段故障'},
|
|
||||||
/** 封锁 */
|
/** 封锁 */
|
||||||
CMD_SECTION_BLOCK: {value:'Section_Block', label: '封锁'},
|
CMD_SECTION_BLOCK: {value:'Section_Block', label: '封锁'},
|
||||||
/** 解封 */
|
/** 解封 */
|
||||||
@ -158,10 +148,6 @@ export default {
|
|||||||
|
|
||||||
// 站台
|
// 站台
|
||||||
Stand: {
|
Stand: {
|
||||||
/** 设置故障 */
|
|
||||||
CMD_STAND_ADD_FAULT: {value:'Stand_Add_Fault', label: '设置站台故障'},
|
|
||||||
/** 清除故障 */
|
|
||||||
CMD_STAND_REMOVE_FAULT: {value:'Stand_Remove_Fault', label: '清除站台故障'},
|
|
||||||
/** 设置跳停 */
|
/** 设置跳停 */
|
||||||
CMD_STAND_SET_JUMP_STOP: {value:'Stand_Set_Jump_Stop', label: '设置跳停'},
|
CMD_STAND_SET_JUMP_STOP: {value:'Stand_Set_Jump_Stop', label: '设置跳停'},
|
||||||
/** 取消跳停 */
|
/** 取消跳停 */
|
||||||
@ -197,10 +183,6 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
Station: {
|
Station: {
|
||||||
/** 设置故障 */
|
|
||||||
CMD_STATION_ADD_FAULT: {value:'Station_Add_Fault', label: '设置车站故障'},
|
|
||||||
/** 清除故障 */
|
|
||||||
CMD_STATION_REMOVE_FAULT: {value:'Station_Remove_Fault', label: '清除车站故障'},
|
|
||||||
/** 全站设置联锁自动触发 */
|
/** 全站设置联锁自动触发 */
|
||||||
CMD_STATION_SET_CI_AUTO_TRIGGER: {value:'Station_Set_CI_Auto_Trigger', label: '全站设置联锁自动触发'},
|
CMD_STATION_SET_CI_AUTO_TRIGGER: {value:'Station_Set_CI_Auto_Trigger', label: '全站设置联锁自动触发'},
|
||||||
/** 全站取消联锁自动触发 */
|
/** 全站取消联锁自动触发 */
|
||||||
@ -220,15 +202,15 @@ export default {
|
|||||||
/** 执行关键操作测试 */
|
/** 执行关键操作测试 */
|
||||||
CMD_STATION_KEY_OPERATION_TEST: {value: 'Station_Key_Operation_Test', label: '执行关键操作测试'},
|
CMD_STATION_KEY_OPERATION_TEST: {value: 'Station_Key_Operation_Test', label: '执行关键操作测试'},
|
||||||
// 设置折返策略
|
// 设置折返策略
|
||||||
CMD_STATION_SET_TURN_BACK_STRATEGY: {value: 'Station_Set_Turn_Back_Strategy', label: '设置折返策略'}
|
CMD_STATION_SET_TURN_BACK_STRATEGY: {value: 'Station_Set_Turn_Back_Strategy', label: '设置折返策略'},
|
||||||
|
/** 关站信号 */
|
||||||
|
CMD_STATION_CLOSE_ALLSIGNAL: {value: 'Station_Close_AllSignal', label:'关站信号'},
|
||||||
|
/** 关区信号 */
|
||||||
|
CMD_STATION_CIAREA_CLOSE_ALLSIGNAL: {value: 'Station_CIArea_Close_AllSignal', label: '关区信号'}
|
||||||
},
|
},
|
||||||
|
|
||||||
// 列车
|
// 列车
|
||||||
Train: {
|
Train: {
|
||||||
/** 设置故障 */
|
|
||||||
CMD_TRAIN_ADD_FAULT: {value:'Train_Add_Fault', label: '设置列车故障'},
|
|
||||||
/** 清除故障 */
|
|
||||||
CMD_TRAIN_REMOVE_FAULT: {value:'Train_Remove_Fault', label: '清除列车故障'},
|
|
||||||
/** 人工限速行驶 */
|
/** 人工限速行驶 */
|
||||||
CMD_TRAIN_MANUAL_LIMIT_DRIVE: {value:'Train_Manual_Limit_Drive', label: '人工限速行驶'},
|
CMD_TRAIN_MANUAL_LIMIT_DRIVE: {value:'Train_Manual_Limit_Drive', label: '人工限速行驶'},
|
||||||
/** 按进路闭塞法行车 */
|
/** 按进路闭塞法行车 */
|
||||||
|
@ -43,6 +43,9 @@ export const deviceFaultType = {
|
|||||||
],
|
],
|
||||||
ZcControl:[
|
ZcControl:[
|
||||||
{label: 'zc故障', value: 'FAULT'}
|
{label: 'zc故障', value: 'FAULT'}
|
||||||
|
],
|
||||||
|
Train: [
|
||||||
|
{label: '通信异常', value: 'COMMUNICATION_ABNORMAL'}
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
/** 设备类型 */
|
/** 设备类型 */
|
||||||
|
@ -1741,6 +1741,42 @@ export const OperationEvent = {
|
|||||||
operation: '6102',
|
operation: '6102',
|
||||||
domId: '_Tips-Station-setBackStrategy-confirm'
|
domId: '_Tips-Station-setBackStrategy-confirm'
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
closeAllSignal: {
|
||||||
|
menu: {
|
||||||
|
operation: '611',
|
||||||
|
domId: '_Tips-Station-closeAllSignal-menu'
|
||||||
|
},
|
||||||
|
mbar: {
|
||||||
|
operation: '6111',
|
||||||
|
domId: '_Tips-Station-closeAllSignal-Mbar'
|
||||||
|
},
|
||||||
|
choose: {
|
||||||
|
operation: '6112',
|
||||||
|
domId: '_Tips-Station-closeAllSignal-Choose'
|
||||||
|
},
|
||||||
|
confirm: {
|
||||||
|
operation: '6113',
|
||||||
|
domId: '_Tips-Station-closeAllSignal-confirm'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
ciAreaCloseAllSignal: {
|
||||||
|
menu: {
|
||||||
|
operation: '612',
|
||||||
|
domId: '_Tips-Station-ciAreaCloseAllSignal-menu'
|
||||||
|
},
|
||||||
|
mbar: {
|
||||||
|
operation: '6121',
|
||||||
|
domId: '_Tips-Station-ciAreaCloseAllSignal-Mbar'
|
||||||
|
},
|
||||||
|
choose: {
|
||||||
|
operation: '6122',
|
||||||
|
domId: '_Tips-Station-ciAreaCloseAllSignal-Choose'
|
||||||
|
},
|
||||||
|
confirm: {
|
||||||
|
operation: '6123',
|
||||||
|
domId: '_Tips-Station-ciAreaCloseAllSignal-Confirm'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -2007,6 +2043,20 @@ export const OperationEvent = {
|
|||||||
operation: '70f1',
|
operation: '70f1',
|
||||||
domId: '_Tips-Train-trainDetailInfo-Confirm'
|
domId: '_Tips-Train-trainDetailInfo-Confirm'
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
// 确认列车行驶之前方站台
|
||||||
|
nextStation:{
|
||||||
|
menu:{
|
||||||
|
operation: '70g',
|
||||||
|
domId: '_Tip-Train_nextStation-Menu'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 进路闭塞法行车
|
||||||
|
routeBlockRun:{
|
||||||
|
menu:{
|
||||||
|
operation: '70h',
|
||||||
|
domId: '_Tip-Train_routeBlockRun-Menu'
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -87,6 +87,9 @@ function handle(state, data) {
|
|||||||
case 'Simulation_Invite': // 综合演练-仿真邀请消息
|
case 'Simulation_Invite': // 综合演练-仿真邀请消息
|
||||||
state.simulationInvite = msg;
|
state.simulationInvite = msg;
|
||||||
break;
|
break;
|
||||||
|
case 'JointTraining_Room_Invite': // 综合演练室-房间邀请消息
|
||||||
|
state.roomInvite = msg;
|
||||||
|
break;
|
||||||
case 'Big_Screen_Simulation_DeviceStatus': // 大屏仿真状态数据
|
case 'Big_Screen_Simulation_DeviceStatus': // 大屏仿真状态数据
|
||||||
state.equipmentStatus = msg;
|
state.equipmentStatus = msg;
|
||||||
break;
|
break;
|
||||||
@ -253,7 +256,8 @@ const socket = {
|
|||||||
realDeviceInfo: 0, // 真实设备信息
|
realDeviceInfo: 0, // 真实设备信息
|
||||||
beLogoutCount: 0, // 被登出
|
beLogoutCount: 0, // 被登出
|
||||||
runPlanReloadCount: 0, // 仿真运行图变更
|
runPlanReloadCount: 0, // 仿真运行图变更
|
||||||
memberChangeCount: 0 // 仿真成员变更
|
memberChangeCount: 0, // 仿真成员变更
|
||||||
|
roomInvite: {}
|
||||||
},
|
},
|
||||||
getters: {
|
getters: {
|
||||||
},
|
},
|
||||||
@ -298,6 +302,9 @@ const socket = {
|
|||||||
setSimulationInvite: (state, simulationInvite) => {
|
setSimulationInvite: (state, simulationInvite) => {
|
||||||
state.simulationInvite = simulationInvite;
|
state.simulationInvite = simulationInvite;
|
||||||
},
|
},
|
||||||
|
setRoomInvite: (state, roomInvite) => {
|
||||||
|
state.roomInvite = roomInvite;
|
||||||
|
},
|
||||||
setRoomSubscribe:(state, roomIsSubscribe)=>{
|
setRoomSubscribe:(state, roomIsSubscribe)=>{
|
||||||
state.roomIsSubscribe = roomIsSubscribe;
|
state.roomIsSubscribe = roomIsSubscribe;
|
||||||
},
|
},
|
||||||
@ -341,7 +348,9 @@ const socket = {
|
|||||||
setSimulationInvite: ({ commit }) => {
|
setSimulationInvite: ({ commit }) => {
|
||||||
commit('setSimulationInvite', {});
|
commit('setSimulationInvite', {});
|
||||||
},
|
},
|
||||||
|
setRoomInvite: ({ commit }) => {
|
||||||
|
commit('setRoomInvite', {});
|
||||||
|
},
|
||||||
setMessage: ({ state }, data) => {
|
setMessage: ({ state }, data) => {
|
||||||
if (!state.message[data.key]) {
|
if (!state.message[data.key]) {
|
||||||
state.message[data.key] = [];
|
state.message[data.key] = [];
|
||||||
|
@ -240,6 +240,7 @@ const training = {
|
|||||||
state.memberData[newMemberId].name = name;
|
state.memberData[newMemberId].name = name;
|
||||||
state.memberData[newMemberId].disabled = true;
|
state.memberData[newMemberId].disabled = true;
|
||||||
},
|
},
|
||||||
|
|
||||||
updateMemberAndUser: (state, {simulationUserList, userId}) => {
|
updateMemberAndUser: (state, {simulationUserList, userId}) => {
|
||||||
simulationUserList.forEach(item => {
|
simulationUserList.forEach(item => {
|
||||||
let memberIndex = -1;
|
let memberIndex = -1;
|
||||||
|
@ -22,8 +22,7 @@
|
|||||||
:style="{height: height+'px'}"
|
:style="{height: height+'px'}"
|
||||||
>
|
>
|
||||||
<div slot-scope="{ node, data }" class="list-elem custom-tree-node">
|
<div slot-scope="{ node, data }" class="list-elem custom-tree-node">
|
||||||
<span v-if="data.state=='01'">{{ '['+data.map.name+']'+($t('global.trainingNotStart').replace('{name}', data.creator.nickname)) }}</span>
|
<span>{{ '['+data.map.name+']'+($t('global.trainingHasStart').replace('{name}', data.creator.nickname)) }}</span>
|
||||||
<span v-else>{{ '['+data.map.name+']'+($t('global.trainingHasStart').replace('{name}', data.creator.nickname)) }}</span>
|
|
||||||
<el-button
|
<el-button
|
||||||
type="text"
|
type="text"
|
||||||
size="mini"
|
size="mini"
|
||||||
@ -43,6 +42,8 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import { getjointTrainList, getjointTraining, putJointTrainingSimulationEntrance } from '@/api/chat';
|
||||||
|
import { getPublishMapInfo } from '@/api/jmap/map';
|
||||||
import { getSimulationListCantainUser } from '@/api/jointSimulation';
|
import { getSimulationListCantainUser } from '@/api/jointSimulation';
|
||||||
import { launchFullscreen } from '@/utils/screen';
|
import { launchFullscreen } from '@/utils/screen';
|
||||||
import { getToken } from '@/utils/auth';
|
import { getToken } from '@/utils/auth';
|
||||||
@ -115,9 +116,17 @@ export default {
|
|||||||
},
|
},
|
||||||
async handleJoinRoom(data) {
|
async handleJoinRoom(data) {
|
||||||
try {
|
try {
|
||||||
|
const rest = await getPublishMapInfo(data.map.id);
|
||||||
launchFullscreen();
|
launchFullscreen();
|
||||||
const query = { lineCode: data.map.lineCode, mapId: data.map.id, group: data.group};
|
if (rest.data.drawWay) {
|
||||||
this.$router.push({path:'/jointTrainingNew', query:query});
|
const query = { lineCode: data.map.lineCode, mapId: data.map.id, group: data.group};
|
||||||
|
this.$router.push({path:'/jointTrainingNew', query:query});
|
||||||
|
} else {
|
||||||
|
await getjointTraining(data.group);
|
||||||
|
const query = { group: data.group, drawWay: rest.data.drawWay };
|
||||||
|
this.$router.push({ path: `/trainroom`, query: query });
|
||||||
|
}
|
||||||
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error(e);
|
console.error(e);
|
||||||
} finally {
|
} finally {
|
||||||
|
@ -19,7 +19,11 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { launchFullscreen } from '@/utils/screen';
|
import { launchFullscreen } from '@/utils/screen';
|
||||||
|
import { getjointTraining, putJointTrainingSimulationEntrance } from '@/api/chat';
|
||||||
|
import { getPublishMapInfo } from '@/api/jmap/map';
|
||||||
|
import { getToken } from '@/utils/auth';
|
||||||
|
import { creatSubscribe, clearSubscribe, roomTopic} from '@/utils/stomp';
|
||||||
|
// 仿真邀请消息
|
||||||
export default {
|
export default {
|
||||||
name: 'DeomonList',
|
name: 'DeomonList',
|
||||||
data() {
|
data() {
|
||||||
@ -27,6 +31,7 @@ export default {
|
|||||||
dialogShow: false,
|
dialogShow: false,
|
||||||
group: '',
|
group: '',
|
||||||
roomName: '',
|
roomName: '',
|
||||||
|
state: '',
|
||||||
mapId: '',
|
mapId: '',
|
||||||
lineCode: '',
|
lineCode: '',
|
||||||
loading: false
|
loading: false
|
||||||
@ -46,20 +51,49 @@ export default {
|
|||||||
doShow(data) {
|
doShow(data) {
|
||||||
this.roomName = data.creator.nickname;
|
this.roomName = data.creator.nickname;
|
||||||
this.group = data.group;
|
this.group = data.group;
|
||||||
this.mapId = data.map.id;
|
this.mapId = data.mapId || data.map.id;
|
||||||
this.lineCode = data.map.lineCode;
|
this.lineCode = (data.map || {}).lineCode;
|
||||||
|
this.state = data.state;
|
||||||
this.dialogShow = true;
|
this.dialogShow = true;
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
},
|
},
|
||||||
doClose() {
|
doClose() {
|
||||||
this.dialogShow = false;
|
this.dialogShow = false;
|
||||||
},
|
},
|
||||||
|
async subscribe() {
|
||||||
|
if (!this.$store.state.socket.roomIsSubscribe) {
|
||||||
|
this.clearSubscribe();
|
||||||
|
const header = { group: this.group || '', 'X-Token': getToken() };
|
||||||
|
creatSubscribe(`${roomTopic}\/${this.group}`, header);
|
||||||
|
await this.$store.dispatch('socket/setRoomSubscribe', true);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async clearSubscribe() {
|
||||||
|
clearSubscribe(`${roomTopic}\/${this.group}`);
|
||||||
|
await this.$store.dispatch('socket/setRoomSubscribe', false);
|
||||||
|
},
|
||||||
async handleJoin() {
|
async handleJoin() {
|
||||||
try {
|
try {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
launchFullscreen();
|
const rest = await getPublishMapInfo(this.mapId);
|
||||||
const query = { lineCode: this.lineCode, mapId: this.mapId, group: this.group};
|
const drawWay = rest.data.drawWay;
|
||||||
this.$router.push({path: `/jointTrainingNew`, query: query});
|
if (drawWay) {
|
||||||
|
launchFullscreen();
|
||||||
|
const query = { lineCode: this.lineCode, mapId: this.mapId, group: this.group};
|
||||||
|
this.$router.push({path: `/jointTrainingNew`, query: query});
|
||||||
|
} else {
|
||||||
|
await getjointTraining(this.group);
|
||||||
|
if (this.state == '02') {
|
||||||
|
this.subscribe();
|
||||||
|
launchFullscreen();
|
||||||
|
const query = { lineCode: rest.data.lineCode, mapId: this.mapId, group: this.group, drawWay: drawWay };
|
||||||
|
await putJointTrainingSimulationEntrance(this.group);
|
||||||
|
this.$router.push({ path: `/jointTraining`, query: query });
|
||||||
|
} else if (this.state == '01') {
|
||||||
|
const query = { group: this.group, drawWay: drawWay };
|
||||||
|
this.$router.push({ path: `/trainroom`, query: query });
|
||||||
|
}
|
||||||
|
}
|
||||||
this.dialogShow = false;
|
this.dialogShow = false;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
this.$messageBox(this.$t('tip.enterTrainingRoomFailed'));
|
this.$messageBox(this.$t('tip.enterTrainingRoomFailed'));
|
||||||
|
@ -17,6 +17,8 @@
|
|||||||
<el-button v-if="!isLocal" type="success" :disabled="disabled" @click="buy">{{ $t('global.buy') }}</el-button>
|
<el-button v-if="!isLocal" type="success" :disabled="disabled" @click="buy">{{ $t('global.buy') }}</el-button>
|
||||||
<el-button v-if="hasPermssion && !isComprehensive && !isLocal" type="primary" :disabled="disabled" @click="distribute">{{ $t('global.distributePermission') }}</el-button>
|
<el-button v-if="hasPermssion && !isComprehensive && !isLocal" type="primary" :disabled="disabled" @click="distribute">{{ $t('global.distributePermission') }}</el-button>
|
||||||
<el-button v-show="isStartDemon" :disabled="disabled" type="primary" @click="start">{{ $t('demonstration.startSimulation') }}</el-button>
|
<el-button v-show="isStartDemon" :disabled="disabled" type="primary" @click="start">{{ $t('demonstration.startSimulation') }}</el-button>
|
||||||
|
<el-button v-show="isCreateRoom" :disabled="disabled" type="primary" @click="start">{{ $t('demonstration.createRoom') }}</el-button>
|
||||||
|
<el-button v-show="isInRoom" :disabled="disabled" type="primary" @click="joinRoom">{{ $t('demonstration.enterRoom') }}</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
@ -26,12 +28,13 @@ import { getPublishMapInfo } from '@/api/jmap/map';
|
|||||||
import { getGoodsTryUse } from '@/api/management/goods';
|
import { getGoodsTryUse } from '@/api/management/goods';
|
||||||
import { PermissionType, UrlConfig } from '@/scripts/ConstDic';
|
import { PermissionType, UrlConfig } from '@/scripts/ConstDic';
|
||||||
import { launchFullscreen } from '@/utils/screen';
|
import { launchFullscreen } from '@/utils/screen';
|
||||||
import { } from '@/scripts/ConstDic';
|
|
||||||
import { simulationNotify, schedulingNotify, createSimulationNew } from '@/api/simulation';
|
import { simulationNotify, schedulingNotify, createSimulationNew } from '@/api/simulation';
|
||||||
import LimitList from '@/views/components/limits/index';
|
import LimitList from '@/views/components/limits/index';
|
||||||
import { getSubSystemDetail } from '@/api/trainingPlatform';
|
import { getSubSystemDetail } from '@/api/trainingPlatform';
|
||||||
import { getSessionStorage } from '@/utils/auth';
|
import { getSessionStorage } from '@/utils/auth';
|
||||||
import localStore from 'storejs';
|
import localStore from 'storejs';
|
||||||
|
import { postCreateRoom, getjointTraining } from '@/api/chat';
|
||||||
|
import { checkRoomExistNew } from '@/api/jointTraining';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'ExamDetailList',
|
name: 'ExamDetailList',
|
||||||
@ -57,6 +60,8 @@ export default {
|
|||||||
prdType: '',
|
prdType: '',
|
||||||
pmsList: []
|
pmsList: []
|
||||||
},
|
},
|
||||||
|
jointShow: false,
|
||||||
|
jointGroup: '',
|
||||||
lineCode:'',
|
lineCode:'',
|
||||||
drawWay: false // 是否新版地图
|
drawWay: false // 是否新版地图
|
||||||
};
|
};
|
||||||
@ -82,13 +87,19 @@ export default {
|
|||||||
return this.courseModel.prdType === '03';
|
return this.courseModel.prdType === '03';
|
||||||
},
|
},
|
||||||
isStartDemon() {
|
isStartDemon() {
|
||||||
return this.hasPermssion || this.tryTime > 0;
|
return (this.hasPermssion || this.tryTime > 0) && !(this.courseModel.prdType === '03' && !this.drawWay);
|
||||||
},
|
},
|
||||||
mapId() {
|
mapId() {
|
||||||
return this.$route.query.mapId;
|
return this.$route.query.mapId;
|
||||||
},
|
},
|
||||||
project() {
|
project() {
|
||||||
return getSessionStorage('project');
|
return getSessionStorage('project');
|
||||||
|
},
|
||||||
|
isCreateRoom() {
|
||||||
|
return this.courseModel.prdType === '03' && this.hasPermssion && !this.jointShow && !this.drawWay;
|
||||||
|
},
|
||||||
|
isInRoom() {
|
||||||
|
return this.courseModel.prdType === '03' && this.hasPermssion && this.jointShow && !this.drawWay;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
@ -119,7 +130,15 @@ export default {
|
|||||||
this.tryUser = 0;
|
this.tryUser = 0;
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
this.drawWay = res.data.drawWay;
|
this.drawWay = res.data.drawWay;
|
||||||
const remarksList = {'01':'ATS现地工作站原理级仿真系统,实现车站值班员培训功能。', '02':'ATS行调工作站原理级仿真系统,实现行车调度员培训功能。', '03':'各岗位应急综合演练', '04':'桌面版模拟驾驶系统,实现列车驾驶员培训功能。', '05':'派班工作站主要是供车辆段/停车场派班员进行派班操作,可以自动生成派班计划,极大的简化了派班计划管理的复杂性。', '06': '综合监控工作站原理级仿真系统,实现电调、环调及车站值班员培训功能。', '07':'大屏仿真系统,可显示全线全站场实时状况,便于教学及观摩使用。'};
|
const remarksList = {
|
||||||
|
'01':'ATS现地工作站原理级仿真系统,实现车站值班员培训功能。',
|
||||||
|
'02':'ATS行调工作站原理级仿真系统,实现行车调度员培训功能。',
|
||||||
|
'03':'各岗位应急综合演练',
|
||||||
|
'04':'桌面版模拟驾驶系统,实现列车驾驶员培训功能。',
|
||||||
|
'05':'派班工作站主要是供车辆段/停车场派班员进行派班操作,可以自动生成派班计划,极大的简化了派班计划管理的复杂性。',
|
||||||
|
'06': '综合监控工作站原理级仿真系统,实现电调、环调及车站值班员培训功能。',
|
||||||
|
'07':'大屏仿真系统,可显示全线全站场实时状况,便于教学及观摩使用。'
|
||||||
|
};
|
||||||
this.courseModel = {
|
this.courseModel = {
|
||||||
id: resp.data.id,
|
id: resp.data.id,
|
||||||
name: resp.data.name,
|
name: resp.data.name,
|
||||||
@ -131,6 +150,9 @@ export default {
|
|||||||
PermissionType: PermissionType.SIMULATION
|
PermissionType: PermissionType.SIMULATION
|
||||||
};
|
};
|
||||||
this.currentPrdType = resp.data.prdType;
|
this.currentPrdType = resp.data.prdType;
|
||||||
|
if (resp.data.prdType === '03' && !this.drawWay) {
|
||||||
|
this.getJointTrainingList();
|
||||||
|
}
|
||||||
if (!this.courseModel.pmsList) {
|
if (!this.courseModel.pmsList) {
|
||||||
this.tryUser = 1;
|
this.tryUser = 1;
|
||||||
const paras = {
|
const paras = {
|
||||||
@ -159,6 +181,53 @@ export default {
|
|||||||
refresh() {
|
refresh() {
|
||||||
this.loadInitData();
|
this.loadInitData();
|
||||||
},
|
},
|
||||||
|
async getJointTrainingList() {
|
||||||
|
try {
|
||||||
|
if (this.mapId) {
|
||||||
|
const res = await checkRoomExistNew({mapId: this.mapId});
|
||||||
|
this.jointGroup = res.data;
|
||||||
|
this.jointShow = false;
|
||||||
|
if (res.data) {
|
||||||
|
this.jointShow = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error(error, '获取是否拥有综合演练房间');
|
||||||
|
}
|
||||||
|
},
|
||||||
|
async joinRoom() {
|
||||||
|
this.disabled = true;
|
||||||
|
await getjointTraining(this.jointGroup);
|
||||||
|
this.$store.dispatch('socket/setInRoom', true);
|
||||||
|
const query = { lineCode: this.courseModel.lineCode, group: this.jointGroup, drawWay: this.drawWay};
|
||||||
|
this.$router.push({ path: `/trainroom`, query: query });
|
||||||
|
},
|
||||||
|
async createRoom() {
|
||||||
|
try {
|
||||||
|
this.disabled = true;
|
||||||
|
const param = {
|
||||||
|
mapId: Number(this.mapId),
|
||||||
|
prdType: this.courseModel.prdType
|
||||||
|
};
|
||||||
|
const res = await postCreateRoom(param);
|
||||||
|
if (res && res.code == 200) {
|
||||||
|
const query = { lineCode: this.courseModel.lineCode, group: res.data, drawWay: this.drawWay };
|
||||||
|
this.$router.push({ path: `/trainroom`, query: query });
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
this.disabled = false;
|
||||||
|
if (error.code == 20001) {
|
||||||
|
this.$confirm(this.$t('tip.createRoomFailedHint'), this.$t('global.tips'), {
|
||||||
|
confirmButtonText: this.$t('global.confirm'),
|
||||||
|
cancelButtonText: this.$t('global.cancel'),
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {}).catch(() => {});
|
||||||
|
}
|
||||||
|
if (error.code == 500009) {
|
||||||
|
this.$messageBox(error.message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
async enterIntegratedSimulation() {
|
async enterIntegratedSimulation() {
|
||||||
const data = { mapId: this.courseModel.mapId, prdType: this.currentPrdType };
|
const data = { mapId: this.courseModel.mapId, prdType: this.currentPrdType };
|
||||||
createSimulationNew(data).then(resp => {
|
createSimulationNew(data).then(resp => {
|
||||||
@ -202,27 +271,14 @@ export default {
|
|||||||
if (this.courseModel.prdType == '05') {
|
if (this.courseModel.prdType == '05') {
|
||||||
this.jumpScheduling();
|
this.jumpScheduling();
|
||||||
} else if (this.courseModel.prdType == '03') {
|
} else if (this.courseModel.prdType == '03') {
|
||||||
this.enterIntegratedSimulation();
|
this.drawWay && this.enterIntegratedSimulation();
|
||||||
|
!this.drawWay && this.createRoom();
|
||||||
} else if (this.courseModel.prdType == '06') {
|
} else if (this.courseModel.prdType == '06') {
|
||||||
this.enterISCS();
|
this.enterISCS();
|
||||||
} else if (this.courseModel.prdType == '07') {
|
} else if (this.courseModel.prdType == '07') {
|
||||||
this.enterScreen();
|
this.enterScreen();
|
||||||
} else {
|
} else {
|
||||||
if (this.courseModel.pmsList && this.courseModel.pmsList.length) {
|
this.jump();
|
||||||
this.jump();
|
|
||||||
} else {
|
|
||||||
if (this.tryTime <= 1) {
|
|
||||||
this.$confirm(this.$t('tip.noPermissionHint'), this.$t('global.tips'), {
|
|
||||||
confirmButtonText: this.$t('global.confirm'),
|
|
||||||
cancelButtonText: this.$t('global.cancel'),
|
|
||||||
type: 'warning'
|
|
||||||
}).then(() => {
|
|
||||||
this.buy();
|
|
||||||
}).catch(() => { });
|
|
||||||
} else {
|
|
||||||
this.jump();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
jumpScheduling() {
|
jumpScheduling() {
|
||||||
|
@ -215,11 +215,11 @@ export default {
|
|||||||
},
|
},
|
||||||
bgImg() {
|
bgImg() {
|
||||||
const bgImgAll = process.env.VUE_APP_PRO === 'local' || this.$route.query.project == 'heb' ? '' : bgImg;
|
const bgImgAll = process.env.VUE_APP_PRO === 'local' || this.$route.query.project == 'heb' ? '' : bgImg;
|
||||||
const synchronousLogin = ['IBP', 'LSW', 'CCTV', 'ISCS_LW', 'ISCS_CW', 'VR_PSD'];
|
const synchronousLogin = ['VR_IBP', 'LSW', 'CCTV', 'ISCS_LW', 'ISCS_CW', 'VR_PSD'];
|
||||||
const imgMap = {
|
const imgMap = {
|
||||||
ISCS_LW: bgIscsImg,
|
ISCS_LW: bgIscsImg,
|
||||||
ISCS_CW: bgIscsImg,
|
ISCS_CW: bgIscsImg,
|
||||||
IBP: bgIbpImg,
|
VR_IBP: bgIbpImg,
|
||||||
CCTV: bgCctvImg,
|
CCTV: bgCctvImg,
|
||||||
VR_PSD: bgPsdImg,
|
VR_PSD: bgPsdImg,
|
||||||
LSW: bgLswImg
|
LSW: bgLswImg
|
||||||
@ -227,14 +227,14 @@ export default {
|
|||||||
return synchronousLogin.includes(this.$route.query.type) ? imgMap[this.$route.query.type] : bgImgAll;
|
return synchronousLogin.includes(this.$route.query.type) ? imgMap[this.$route.query.type] : bgImgAll;
|
||||||
},
|
},
|
||||||
syncLogin() {
|
syncLogin() {
|
||||||
const synchronousLogin = ['IBP', 'LSW', 'CCTV', 'ISCS_LW', 'ISCS_CW', 'VR_PSD'];
|
const synchronousLogin = ['VR_IBP', 'LSW', 'CCTV', 'ISCS_LW', 'ISCS_CW', 'VR_PSD'];
|
||||||
return this.$route.query.type ? synchronousLogin.includes(this.$route.query.type) : false;
|
return this.$route.query.type ? synchronousLogin.includes(this.$route.query.type) : false;
|
||||||
},
|
},
|
||||||
loadingText() {
|
loadingText() {
|
||||||
const textMap = {
|
const textMap = {
|
||||||
ISCS_LW: '检测现地工作站登录中',
|
ISCS_LW: '检测现地工作站登录中',
|
||||||
ISCS_CW: '检测行调工作站登录中',
|
ISCS_CW: '检测行调工作站登录中',
|
||||||
IBP: '检测现地工作站登陆中',
|
VR_IBP: '检测现地工作站登陆中',
|
||||||
CCTV: '检测教员机登录中',
|
CCTV: '检测教员机登录中',
|
||||||
VR_PSD: '检测教员机登录中',
|
VR_PSD: '检测教员机登录中',
|
||||||
LSW: '检测教员机登录中'
|
LSW: '检测教员机登录中'
|
||||||
|
@ -109,13 +109,6 @@ export default {
|
|||||||
},
|
},
|
||||||
clearSubscribe() {
|
clearSubscribe() {
|
||||||
clearSubscribe(`${displayTopic}\/${this.group}`);
|
clearSubscribe(`${displayTopic}\/${this.group}`);
|
||||||
},
|
|
||||||
sendDeviceChangeEvent(data, header) {
|
|
||||||
// 发送设备操作事件到服务器
|
|
||||||
sendCommand('', data).then(response => {
|
|
||||||
}).catch(error => {
|
|
||||||
console.error(error);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
:key="member.id"
|
:key="member.id"
|
||||||
class="each-chat-member"
|
class="each-chat-member"
|
||||||
:label="member"
|
:label="member"
|
||||||
:disabled="member.userId === userId"
|
:disabled="member.disabled"
|
||||||
>{{ member.memberName }}</el-checkbox>
|
>{{ member.memberName }}</el-checkbox>
|
||||||
</el-checkbox-group>
|
</el-checkbox-group>
|
||||||
</div>
|
</div>
|
||||||
|
@ -30,13 +30,13 @@
|
|||||||
<div>
|
<div>
|
||||||
<el-form ref="ruleForm" :model="form" label-width="50px">
|
<el-form ref="ruleForm" :model="form" label-width="50px">
|
||||||
<el-form-item :label="$t('display.script.role')" prop="role">
|
<el-form-item :label="$t('display.script.role')" prop="role">
|
||||||
<el-select v-model="form.role" :placeholder="$t('display.script.pleaseSelect')">
|
<el-select v-model="form.type" :placeholder="$t('display.script.pleaseSelect')">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in memberList"
|
v-for="item in memberList"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
:label="(roleConfig[item.role]?roleConfig[item.role]: '')+(item.name?item.name: '')"
|
:label="(roleConfig[item.type]?roleConfig[item.type]: '')+(item.name?item.name: '')"
|
||||||
:value="item.id"
|
:value="item.id"
|
||||||
:disabled="checkDisabled(item.role)"
|
:disabled="checkDisabled(item.type)"
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -82,7 +82,7 @@ export default {
|
|||||||
},
|
},
|
||||||
row: {},
|
row: {},
|
||||||
form: {
|
form: {
|
||||||
role: ''
|
type: ''
|
||||||
},
|
},
|
||||||
memberList: [],
|
memberList: [],
|
||||||
mapLocation:null,
|
mapLocation:null,
|
||||||
@ -229,8 +229,8 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
confirm() {
|
confirm() {
|
||||||
const roleName = this.memberList.find(elem=>{ return elem.id == this.form.role; });
|
const roleName = this.memberList.find(elem=>{ return elem.id == this.form.type; });
|
||||||
this.$emit('selectQuest', this.row, this.form.role, this.mapLocation, roleName.role);
|
this.$emit('selectQuest', this.row, this.form.type, this.mapLocation, roleName.type);
|
||||||
this.doClose();
|
this.doClose();
|
||||||
this.roleDoClose();
|
this.roleDoClose();
|
||||||
},
|
},
|
||||||
@ -260,7 +260,7 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
handleName(item) {
|
handleName(item) {
|
||||||
return this.roleConfig[item.role] ? this.roleConfig[item.role] : '' + (item.name ? item.name : '');
|
return this.roleConfig[item.type] ? this.roleConfig[item.type] : '' + (item.name ? item.name : '');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -230,7 +230,6 @@ export default {
|
|||||||
},
|
},
|
||||||
getFailureRulesNew(params) {
|
getFailureRulesNew(params) {
|
||||||
if (this.dialogShow) {
|
if (this.dialogShow) {
|
||||||
console.log(params, this.dialogShow, '=====');
|
|
||||||
params['lineCode'] = this.$route.query.lineCode;
|
params['lineCode'] = this.$route.query.lineCode;
|
||||||
return getFailureRulesNew(params);
|
return getFailureRulesNew(params);
|
||||||
}
|
}
|
||||||
|
@ -18,9 +18,7 @@
|
|||||||
|
|
||||||
<chat-box ref="chatbox" :group="group" :user-role="userRole" />
|
<chat-box ref="chatbox" :group="group" :user-role="userRole" />
|
||||||
<div class="display-draft">
|
<div class="display-draft">
|
||||||
<template v-if="isscriptRun">
|
<el-button v-if="isscriptRun&&!dataError" type="danger" @click="handleQuitQuest">{{ $t('display.demon.exitScript') }}</el-button>
|
||||||
<el-button v-if="!dataError" type="danger" @click="handleQuitQuest">{{ $t('display.demon.exitScript') }}</el-button>
|
|
||||||
</template>
|
|
||||||
<el-button type="primary" @click="back">{{ $t('display.demon.back') }}</el-button>
|
<el-button type="primary" @click="back">{{ $t('display.demon.back') }}</el-button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -117,7 +115,7 @@ export default {
|
|||||||
'04': '02', // 司机 => 行调
|
'04': '02', // 司机 => 行调
|
||||||
'05': '' // 派班 => null
|
'05': '' // 派班 => null
|
||||||
},
|
},
|
||||||
userRole:'ADMIN',
|
userRole:'AUDIENCE',
|
||||||
isDrive: this.prdType == '04'
|
isDrive: this.prdType == '04'
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@ -345,14 +343,6 @@ export default {
|
|||||||
},
|
},
|
||||||
// 选择脚本
|
// 选择脚本
|
||||||
async selectQuest(row) {
|
async selectQuest(row) {
|
||||||
debugger;
|
|
||||||
this.scriptId = parseInt(row.id);
|
|
||||||
if (this.isDemon) {
|
|
||||||
this.$refs.menuDemon.initLoadPage();
|
|
||||||
}
|
|
||||||
if (this.isScript) {
|
|
||||||
this.$refs.menuScript.initLoadPage();
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
// 退出剧本
|
// 退出剧本
|
||||||
handleQuitQuest() {
|
handleQuitQuest() {
|
||||||
@ -473,4 +463,10 @@ export default {
|
|||||||
-ms-user-select: none;
|
-ms-user-select: none;
|
||||||
user-select: none;
|
user-select: none;
|
||||||
}
|
}
|
||||||
|
.display-draft {
|
||||||
|
position: absolute;
|
||||||
|
float: right;
|
||||||
|
right: 20px;
|
||||||
|
bottom: 15px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -353,7 +353,7 @@ export default {
|
|||||||
this.$store.dispatch('training/changeOperateMode', { mode: OperateMode.NORMAL }); // 默认为正常模式
|
this.$store.dispatch('training/changeOperateMode', { mode: OperateMode.NORMAL }); // 默认为正常模式
|
||||||
this.switchMode('01');
|
this.switchMode('01');
|
||||||
|
|
||||||
if (parseInt(this.mapId)) {
|
if (this.mapId) {
|
||||||
await this.loadNewMapDataByGroup(this.group);
|
await this.loadNewMapDataByGroup(this.group);
|
||||||
} else {
|
} else {
|
||||||
this.endViewLoading();
|
this.endViewLoading();
|
||||||
|
@ -1,14 +1,12 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<chat-box ref="chatbox" :group="group" :user-role="userRole" />
|
<chat-box ref="chatbox" :group="group" :user-role="userRole" />
|
||||||
<!-- :style="{top: offset+'px'}" -->
|
<div class="display-card" :style="{top: offset+'px'}">
|
||||||
<div class="display-card">
|
|
||||||
<el-row>
|
<el-row>
|
||||||
<span v-if="countTime" class="display-score">{{ $t('display.demon.trialTime') }} {{ countTime }}</span>
|
<span v-if="countTime" class="display-score">{{ $t('display.demon.trialTime') }} {{ countTime }}</span>
|
||||||
</el-row>
|
</el-row>
|
||||||
</div>
|
</div>
|
||||||
<!-- :style="{bottom: offsetBottom + 'px'}" -->
|
<div class="display-draft" :style="{bottom: offsetBottom + 'px'}">
|
||||||
<div class="display-draft">
|
|
||||||
<el-button-group>
|
<el-button-group>
|
||||||
<el-button v-if="isShowScheduling && !dataError" type="primary" @click="jumpScheduling">{{ $t('display.demon.dispatchingPlan') }}</el-button>
|
<el-button v-if="isShowScheduling && !dataError" type="primary" @click="jumpScheduling">{{ $t('display.demon.dispatchingPlan') }}</el-button>
|
||||||
<el-button v-if="!isShowScheduling && !dataError" type="jl3dpassflow" @click="jumpjl3dpassflow">{{ jl3dpassflow }}</el-button>
|
<el-button v-if="!isShowScheduling && !dataError" type="jl3dpassflow" @click="jumpjl3dpassflow">{{ jl3dpassflow }}</el-button>
|
||||||
@ -91,7 +89,8 @@ export default {
|
|||||||
jl3dname: this.$t('display.demon.threeDimensionalView'),
|
jl3dname: this.$t('display.demon.threeDimensionalView'),
|
||||||
jl3dstation: this.$t('display.demon.threeDimensionalStation'),
|
jl3dstation: this.$t('display.demon.threeDimensionalStation'),
|
||||||
jl3dmodel: this.$t('display.demon.deviceView'),
|
jl3dmodel: this.$t('display.demon.deviceView'),
|
||||||
isShow3dmodel :false
|
isShow3dmodel :false,
|
||||||
|
isGoback: false
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -139,12 +138,12 @@ export default {
|
|||||||
'$store.state.socket.simulationRoleList':function(val) {
|
'$store.state.socket.simulationRoleList':function(val) {
|
||||||
(val || []).forEach(item => {
|
(val || []).forEach(item => {
|
||||||
if (item.messageType === 'KICK_OUT' && item.userId == this.$store.state.user.id) {
|
if (item.messageType === 'KICK_OUT' && item.userId == this.$store.state.user.id) {
|
||||||
this.back();
|
!this.isGoback && this.back();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
'$store.state.socket.simulationOver':function(val) {
|
'$store.state.socket.simulationOver':function(val) {
|
||||||
this.back();
|
!this.isGoback && this.back();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
@ -268,6 +267,7 @@ export default {
|
|||||||
this.$refs.chatbox.clearAllData();
|
this.$refs.chatbox.clearAllData();
|
||||||
},
|
},
|
||||||
async back() {
|
async back() {
|
||||||
|
this.isGoback = true;
|
||||||
if (this.projectDevice) {
|
if (this.projectDevice) {
|
||||||
this.$store.dispatch('training/over').then(() => {
|
this.$store.dispatch('training/over').then(() => {
|
||||||
this.$store.dispatch('LogOut').then(() => {
|
this.$store.dispatch('LogOut').then(() => {
|
||||||
|
@ -183,15 +183,15 @@ export default {
|
|||||||
},
|
},
|
||||||
'$store.state.training.prdType': function (val) {
|
'$store.state.training.prdType': function (val) {
|
||||||
this.setPosition();
|
this.setPosition();
|
||||||
if (val === '01' && this.$route.query.lineCode === '06') {
|
if (val == '01' && this.$route.query.lineCode == '06') {
|
||||||
this.showSelectStation = true;
|
this.showSelectStation = true;
|
||||||
this.mapViewLoadedOver && this.setShowStation(this.showStation);
|
this.mapViewLoadedOver && this.setShowStation(this.showStation);
|
||||||
this.cancelBigScreenMode();
|
this.cancelBigScreenMode();
|
||||||
} else if (val === '02' && this.$route.query.lineCode === '06') {
|
} else if (val == '02' && this.$route.query.lineCode == '06') {
|
||||||
this.showSelectStation = false;
|
this.showSelectStation = false;
|
||||||
this.mapViewLoadedOver && this.setShowStation('');
|
this.mapViewLoadedOver && this.setShowStation('');
|
||||||
this.cancelBigScreenMode();
|
this.cancelBigScreenMode();
|
||||||
} else if (val === '07') { // 大屏
|
} else if (val == '07') { // 大屏
|
||||||
this.setBigScreenMode();
|
this.setBigScreenMode();
|
||||||
} else {
|
} else {
|
||||||
this.cancelBigScreenMode();
|
this.cancelBigScreenMode();
|
||||||
@ -248,7 +248,7 @@ export default {
|
|||||||
this.group = this.$route.query.group;
|
this.group = this.$route.query.group;
|
||||||
this.mapId = this.$route.query.mapId;
|
this.mapId = this.$route.query.mapId;
|
||||||
this.lineCode = this.$route.query.lineCode;
|
this.lineCode = this.$route.query.lineCode;
|
||||||
this.drawWay = this.$route.query.drawWay;
|
// this.drawWay = this.$route.query.drawWay;
|
||||||
Message.closeAll();
|
Message.closeAll();
|
||||||
},
|
},
|
||||||
async mounted() {
|
async mounted() {
|
||||||
@ -413,7 +413,7 @@ export default {
|
|||||||
this.isAdmin = data.admin;
|
this.isAdmin = data.admin;
|
||||||
|
|
||||||
const deviceVO = this.$store.state.user.projectDevice;
|
const deviceVO = this.$store.state.user.projectDevice;
|
||||||
if (deviceVO && deviceVO.type === 'IBP') {
|
if (deviceVO && deviceVO.type === 'VR_IBP') {
|
||||||
this.showIbp(this.deviceCode);
|
this.showIbp(this.deviceCode);
|
||||||
const config = JSON.parse(deviceVO.config);
|
const config = JSON.parse(deviceVO.config);
|
||||||
this.ibpPart = config.part.toLowerCase();
|
this.ibpPart = config.part.toLowerCase();
|
||||||
@ -458,7 +458,6 @@ export default {
|
|||||||
resp = await this.getUserRole();
|
resp = await this.getUserRole();
|
||||||
}
|
}
|
||||||
if (resp && resp.code == 200) {
|
if (resp && resp.code == 200) {
|
||||||
this.userRole = resp.data.type || 'AUDIENCE';
|
|
||||||
this.setSimulationPrdType();
|
this.setSimulationPrdType();
|
||||||
}
|
}
|
||||||
await this.getTrainDetail();
|
await this.getTrainDetail();
|
||||||
@ -471,11 +470,33 @@ export default {
|
|||||||
// Admin 管理员 Dispatcher 行调 STATION_SUPERVISOR 车站 Audience 观众 Driver 司机 MAINTAINER 通号 IBP:IBP盘
|
// Admin 管理员 Dispatcher 行调 STATION_SUPERVISOR 车站 Audience 观众 Driver 司机 MAINTAINER 通号 IBP:IBP盘
|
||||||
switch (this.userRole) {
|
switch (this.userRole) {
|
||||||
// case 'ADMIN': this.$store.dispatch('training/setPrdType', '02'); this.$store.dispatch('training/setRoles', 'ADMIN'); this.hideIbp(); break;
|
// case 'ADMIN': this.$store.dispatch('training/setPrdType', '02'); this.$store.dispatch('training/setRoles', 'ADMIN'); this.hideIbp(); break;
|
||||||
case 'DISPATCHER': this.$store.dispatch('training/setPrdType', '02'); this.$store.dispatch('training/setRoles', 'DISPATCHER'); this.hideIbp(); this.drivingShow = false; break;
|
case 'DISPATCHER':
|
||||||
case 'STATION_SUPERVISOR': this.$store.dispatch('training/setPrdType', '01'); this.$store.dispatch('training/setRoles', 'STATION_SUPERVISOR'); this.hideIbp(); this.drivingShow = false; break;
|
this.$store.dispatch('training/setPrdType', '02');
|
||||||
case 'AUDIENCE': this.$store.dispatch('training/setPrdType', ''); this.$store.dispatch('training/setRoles', 'AUDIENCE'); this.hideIbp(); break;
|
this.$store.dispatch('training/setRoles', 'DISPATCHER');
|
||||||
case 'DRIVER': this.$store.dispatch('training/setPrdType', ''); this.$store.dispatch('training/setRoles', 'DRIVER'); break;
|
this.hideIbp();
|
||||||
case 'MAINTAINER': this.$store.dispatch('training/setPrdType', ''); this.$store.dispatch('training/setRoles', 'MAINTAINER'); this.hideIbp(); this.jl3dmaintainershow = true; break;
|
this.drivingShow = false;
|
||||||
|
break;
|
||||||
|
case 'STATION_SUPERVISOR':
|
||||||
|
this.$store.dispatch('training/setPrdType', '01');
|
||||||
|
this.$store.dispatch('training/setRoles', 'STATION_SUPERVISOR');
|
||||||
|
this.hideIbp();
|
||||||
|
this.drivingShow = false;
|
||||||
|
break;
|
||||||
|
case 'AUDIENCE':
|
||||||
|
this.$store.dispatch('training/setPrdType', '');
|
||||||
|
this.$store.dispatch('training/setRoles', 'AUDIENCE');
|
||||||
|
this.hideIbp();
|
||||||
|
break;
|
||||||
|
case 'DRIVER':
|
||||||
|
this.$store.dispatch('training/setPrdType', '');
|
||||||
|
this.$store.dispatch('training/setRoles', 'DRIVER');
|
||||||
|
break;
|
||||||
|
case 'MAINTAINER':
|
||||||
|
this.$store.dispatch('training/setPrdType', '');
|
||||||
|
this.$store.dispatch('training/setRoles', 'MAINTAINER');
|
||||||
|
this.hideIbp();
|
||||||
|
this.jl3dmaintainershow = true;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
if (this.isAdmin && this.adminMode) {
|
if (this.isAdmin && this.adminMode) {
|
||||||
this.$store.dispatch('training/setPrdType', swch || '02');
|
this.$store.dispatch('training/setPrdType', swch || '02');
|
||||||
@ -658,7 +679,7 @@ export default {
|
|||||||
addSimulationMember() {
|
addSimulationMember() {
|
||||||
this.$refs.addMember.doShow();
|
this.$refs.addMember.doShow();
|
||||||
},
|
},
|
||||||
changeAdminMode(adminMode, swch) {
|
changeAdminMode(adminMode, swch) { // (管理/演练)模式
|
||||||
this.adminMode = adminMode;
|
this.adminMode = adminMode;
|
||||||
this.setSimulationPrdType(swch);
|
this.setSimulationPrdType(swch);
|
||||||
},
|
},
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="member__container">
|
<div class="member__container">
|
||||||
<el-input v-model="filterText" :placeholder="this.$t('global.enterNameToFilter')" clearable />
|
<el-input v-model="filterText" :placeholder="this.$t('global.enterNameToFilter')" clearable />
|
||||||
<el-scrollbar class="member__container--list" wrap-class="scrollbar-wrapper" :style="{height: treeHeight+'px'}">
|
<el-scrollbar class="member__container--list" wrap-class="scrollbar-wrapper" style="{height: calc(100% - 64px)}">
|
||||||
<el-tree
|
<el-tree
|
||||||
ref="tree"
|
ref="tree"
|
||||||
:data="filterMembers"
|
:data="filterMembers"
|
||||||
@ -43,10 +43,6 @@ export default {
|
|||||||
type: Array,
|
type: Array,
|
||||||
required: true
|
required: true
|
||||||
},
|
},
|
||||||
height: {
|
|
||||||
type: Number,
|
|
||||||
required: true
|
|
||||||
},
|
|
||||||
isAdmin: {
|
isAdmin: {
|
||||||
type: Boolean,
|
type: Boolean,
|
||||||
default() {
|
default() {
|
||||||
@ -66,9 +62,6 @@ export default {
|
|||||||
defaultProps() {
|
defaultProps() {
|
||||||
return { label: 'nickName' };
|
return { label: 'nickName' };
|
||||||
},
|
},
|
||||||
treeHeight() {
|
|
||||||
return this.height - 64;
|
|
||||||
},
|
|
||||||
filterMembers() {
|
filterMembers() {
|
||||||
return this.members.filter(e =>{ return e.nickName.includes(this.filterText); });
|
return this.members.filter(e =>{ return e.nickName.includes(this.filterText); });
|
||||||
},
|
},
|
||||||
@ -144,11 +137,10 @@ export default {
|
|||||||
|
|
||||||
&__container {
|
&__container {
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
|
height: 520px;
|
||||||
&--list {
|
&--list {
|
||||||
background: #fff;
|
background: #fff;
|
||||||
height: auto;
|
height: 490px;
|
||||||
min-height: calc(100% - 200px);
|
|
||||||
max-height: calc(100% - 200px);
|
|
||||||
border-bottom: 1px #ccc solid;
|
border-bottom: 1px #ccc solid;
|
||||||
|
|
||||||
&::-webkit-scrollbar {
|
&::-webkit-scrollbar {
|
||||||
|
@ -3,11 +3,10 @@
|
|||||||
v-dialogDrag
|
v-dialogDrag
|
||||||
title="仿真成员管理"
|
title="仿真成员管理"
|
||||||
:visible.sync="show"
|
:visible.sync="show"
|
||||||
width="100%"
|
width="75%"
|
||||||
:before-close="doClose"
|
:before-close="doClose"
|
||||||
:z-index="2000"
|
:z-index="2000"
|
||||||
:modal="false"
|
:modal="false"
|
||||||
fullscreen
|
|
||||||
:close-on-click-modal="false"
|
:close-on-click-modal="false"
|
||||||
center
|
center
|
||||||
>
|
>
|
||||||
@ -25,8 +24,7 @@
|
|||||||
:data="treeData"
|
:data="treeData"
|
||||||
:props="defaultProps"
|
:props="defaultProps"
|
||||||
default-expand-all
|
default-expand-all
|
||||||
style="margin: 10px;margin-bottom: 0;border: 1px solid #ccc;overflow-y: auto;"
|
style="margin: 10px;margin-bottom: 0;border: 1px solid #ccc;overflow-y: auto;height: 520px;"
|
||||||
:style="{height: height - 35 + 'px'}"
|
|
||||||
:filter-node-method="filterNode"
|
:filter-node-method="filterNode"
|
||||||
@node-click="handleNodeClick"
|
@node-click="handleNodeClick"
|
||||||
>
|
>
|
||||||
@ -50,7 +48,7 @@
|
|||||||
:room="room"
|
:room="room"
|
||||||
:members="simulationUserList"
|
:members="simulationUserList"
|
||||||
:is-admin="isAdmin"
|
:is-admin="isAdmin"
|
||||||
:height="height"
|
style="height:570px"
|
||||||
@message="messageInfo"
|
@message="messageInfo"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
@ -291,7 +289,7 @@ export default {
|
|||||||
}
|
}
|
||||||
.room {
|
.room {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 600px;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
|
@ -316,6 +316,8 @@ export default {
|
|||||||
if (this.isAdmin) {
|
if (this.isAdmin) {
|
||||||
await clearSimulation(this.group);
|
await clearSimulation(this.group);
|
||||||
}
|
}
|
||||||
|
this.$store.dispatch('training/setMemberList', {memberList:[], userId: this.$store.state.user.id});
|
||||||
|
this.$store.dispatch('training/setSimulationUserList', []);
|
||||||
this.$store.dispatch('training/over').then(() => {
|
this.$store.dispatch('training/over').then(() => {
|
||||||
this.backLoading = true;
|
this.backLoading = true;
|
||||||
this.$store.dispatch('map/resetActiveTrainList');
|
this.$store.dispatch('map/resetActiveTrainList');
|
||||||
|
@ -5,7 +5,6 @@
|
|||||||
v-model="swch"
|
v-model="swch"
|
||||||
size="small"
|
size="small"
|
||||||
style="width: 100px;"
|
style="width: 100px;"
|
||||||
:placeholder="this.$t('rules.productTypeInput')"
|
|
||||||
@change="switchMode"
|
@change="switchMode"
|
||||||
>
|
>
|
||||||
<el-option v-for="item in swchList" :key="item.value" :label="item.name" :value="item.value" />
|
<el-option v-for="item in swchList" :key="item.value" :label="item.name" :value="item.value" />
|
||||||
@ -19,7 +18,7 @@
|
|||||||
</template>
|
</template>
|
||||||
<template v-if="isAdmin && adminMode">
|
<template v-if="isAdmin && adminMode">
|
||||||
<el-button v-if="!runing && !dataError" size="small" type="warning" @click="loadRunPlan">
|
<el-button v-if="!runing && !dataError" size="small" type="warning" @click="loadRunPlan">
|
||||||
{{ $t('joinTraining.runGraphLoading') }}</el-button>
|
{{ $t('joinTraining.runGraphLoading') }}</el-button><!-- 运行图加载 -->
|
||||||
</template>
|
</template>
|
||||||
<template v-if="isAdmin && adminMode">
|
<template v-if="isAdmin && adminMode">
|
||||||
<el-button v-if="mode==OperateMode.FAULT && !dataError" size="small" type="danger" @click="setFault">{{ $t('joinTraining.faultSetting') }}</el-button>
|
<el-button v-if="mode==OperateMode.FAULT && !dataError" size="small" type="danger" @click="setFault">{{ $t('joinTraining.faultSetting') }}</el-button>
|
||||||
|
@ -50,7 +50,7 @@ export default {
|
|||||||
},
|
},
|
||||||
methods:{
|
methods:{
|
||||||
computedStyle(member) {
|
computedStyle(member) {
|
||||||
const userId = this.memberData[member.memberId].userId;
|
const userId = (this.memberData[member.memberId] || {}).userId;
|
||||||
if (userId && userId == this.userId) {
|
if (userId && userId == this.userId) {
|
||||||
return {color: 'red'};
|
return {color: 'red'};
|
||||||
} else {
|
} else {
|
||||||
|
@ -8,7 +8,6 @@
|
|||||||
import MapCommon from './common/index';
|
import MapCommon from './common/index';
|
||||||
import { getToken } from '@/utils/auth';
|
import { getToken } from '@/utils/auth';
|
||||||
import { creatSubscribe, clearSubscribe, displayTopic} from '@/utils/stomp';
|
import { creatSubscribe, clearSubscribe, displayTopic} from '@/utils/stomp';
|
||||||
import { sendCommand } from '@/api/jmap/training';
|
|
||||||
import { getSessionStorage } from '@/utils/auth';
|
import { getSessionStorage } from '@/utils/auth';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@ -112,13 +111,6 @@ export default {
|
|||||||
},
|
},
|
||||||
setCenter(code) {
|
setCenter(code) {
|
||||||
this.$refs.mapCommon && this.$refs.mapCommon.setCenter(code);
|
this.$refs.mapCommon && this.$refs.mapCommon.setCenter(code);
|
||||||
},
|
|
||||||
sendDeviceChangeEvent(data, header) {
|
|
||||||
// 发送设备操作事件到服务器
|
|
||||||
sendCommand('', data).then(response => {
|
|
||||||
}).catch(error => {
|
|
||||||
console.error(error);
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -128,7 +128,7 @@ export default {
|
|||||||
},
|
},
|
||||||
hover(field) {
|
hover(field) {
|
||||||
this.field = field === this.field ? '' : field;
|
this.field = field === this.field ? '' : field;
|
||||||
this.$emit('standStationCode', this.field);
|
this.$emit('espCode', this.field);
|
||||||
},
|
},
|
||||||
deviceSelect(selected) {
|
deviceSelect(selected) {
|
||||||
if (selected && selected._type.toUpperCase() === 'Esp'.toUpperCase()) {
|
if (selected && selected._type.toUpperCase() === 'Esp'.toUpperCase()) {
|
||||||
@ -140,7 +140,7 @@ export default {
|
|||||||
this.addModel.standCode = selected.code;
|
this.addModel.standCode = selected.code;
|
||||||
this.activeName = 'second';
|
this.activeName = 'second';
|
||||||
this.field = '';
|
this.field = '';
|
||||||
this.$emit('standStationCode', '');
|
this.$emit('espCode', '');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
hasPSD(data) {
|
hasPSD(data) {
|
||||||
|
@ -21,183 +21,24 @@
|
|||||||
<el-button type="text" style="float: right; padding: 3px 0; margin-right: 5px;" @click="showMap">绘图显隐</el-button>
|
<el-button type="text" style="float: right; padding: 3px 0; margin-right: 5px;" @click="showMap">绘图显隐</el-button>
|
||||||
</div>
|
</div>
|
||||||
<el-tabs v-show="projectType" v-model="enabledTab" class="mapEdit" type="card">
|
<el-tabs v-show="projectType" v-model="enabledTab" class="mapEdit" type="card">
|
||||||
<el-tab-pane :label="$t('map.section')" class="tab_pane_box" name="Section" :lazy="lazy">
|
<el-tab-pane v-for="(each,index) in tabList" :key="index" :label="each.label" class="tab_pane_box" :name="each.name" :lazy="lazy">
|
||||||
<section-draft
|
<component
|
||||||
ref="Section"
|
:is="each.menus"
|
||||||
|
:ref="each.name"
|
||||||
:selected="selected"
|
:selected="selected"
|
||||||
@updateMapModel="updateMapModel"
|
@updateMapModel="updateMapModel"
|
||||||
@setCenter="setCenter"
|
@setCenter="setCenter"
|
||||||
@fieldSelect="fieldSelect"
|
@fieldSelect="fieldSelect"
|
||||||
/>
|
|
||||||
</el-tab-pane>
|
|
||||||
<el-tab-pane :label="$t('map.switch')" class="tab_pane_box" name="Switch" :lazy="lazy">
|
|
||||||
<switch-draft
|
|
||||||
ref="Switch"
|
|
||||||
:selected="selected"
|
|
||||||
@updateMapModel="updateMapModel"
|
|
||||||
@setCenter="setCenter"
|
|
||||||
@fieldSelectSwitchSection="fieldSelectSwitchSection"
|
@fieldSelectSwitchSection="fieldSelectSwitchSection"
|
||||||
/>
|
|
||||||
</el-tab-pane>
|
|
||||||
<el-tab-pane :label="$t('map.station')" class="tab_pane_box" name="Station" :lazy="lazy">
|
|
||||||
<station-draft
|
|
||||||
ref="Station"
|
|
||||||
:selected="selected"
|
|
||||||
@updateMapModel="updateMapModel"
|
|
||||||
@setCenter="setCenter"
|
|
||||||
@stationSectionCode="stationEnabledTab"
|
@stationSectionCode="stationEnabledTab"
|
||||||
/>
|
|
||||||
</el-tab-pane>
|
|
||||||
<el-tab-pane :label="$t('map.signal')" class="tab_pane_box" name="Signal" :lazy="lazy">
|
|
||||||
<signal-draft
|
|
||||||
ref="Signal"
|
|
||||||
:selected="selected"
|
|
||||||
@updateMapModel="updateMapModel"
|
|
||||||
@setCenter="setCenter"
|
|
||||||
@signalSectionCode="selectEnabledTab"
|
@signalSectionCode="selectEnabledTab"
|
||||||
/>
|
|
||||||
</el-tab-pane>
|
|
||||||
<el-tab-pane :label="$t('map.platform')" class="tab_pane_box" name="StationStand" :lazy="lazy">
|
|
||||||
<station-stand-draft
|
|
||||||
ref="StationStand"
|
|
||||||
:selected="selected"
|
|
||||||
@updateMapModel="updateMapModel"
|
|
||||||
@setCenter="setCenter"
|
|
||||||
@standStationCode="standStationTab"
|
@standStationCode="standStationTab"
|
||||||
/>
|
|
||||||
</el-tab-pane>
|
|
||||||
<el-tab-pane :label="$t('map.psd')" class="tab_pane_box" name="Psd" :lazy="lazy">
|
|
||||||
<psd-draft
|
|
||||||
ref="Psd"
|
|
||||||
:selected="selected"
|
|
||||||
@updateMapModel="updateMapModel"
|
|
||||||
@setCenter="setCenter"
|
|
||||||
@standStationCode="psdTab"
|
|
||||||
/>
|
|
||||||
</el-tab-pane>
|
|
||||||
<el-tab-pane :label="$t('map.platformEmergencyStop')" class="tab_pane_box" name="Esp" :lazy="lazy">
|
|
||||||
<esp-draft
|
|
||||||
ref="Esp"
|
|
||||||
:selected="selected"
|
|
||||||
@updateMapModel="updateMapModel"
|
|
||||||
@setCenter="setCenter"
|
|
||||||
@standStationCode="esqTab"
|
|
||||||
/>
|
|
||||||
</el-tab-pane>
|
|
||||||
<el-tab-pane :label="$t('map.trainWindow')" class="tab_pane_box" name="TrainWindow" :lazy="lazy">
|
|
||||||
<train-window-draft
|
|
||||||
ref="TrainWindow"
|
|
||||||
:selected="selected"
|
|
||||||
@updateMapModel="updateMapModel"
|
|
||||||
@setCenter="setCenter"
|
|
||||||
/>
|
|
||||||
</el-tab-pane>
|
|
||||||
<el-tab-pane :label="$t('map.zcZoneControl')" class="tab_pane_box" name="ZcControl" :lazy="lazy">
|
|
||||||
<zc-control-draft
|
|
||||||
ref="ZcControl"
|
|
||||||
:selected="selected"
|
|
||||||
@updateMapModel="updateMapModel"
|
|
||||||
@setCenter="setCenter"
|
|
||||||
/>
|
|
||||||
</el-tab-pane>
|
|
||||||
<el-tab-pane :label="$t('map.functionButton')" class="tab_pane_box" name="ControlDraft" :lazy="lazy">
|
|
||||||
<control-draft
|
|
||||||
ref="ControlDraft"
|
|
||||||
:selected="selected"
|
|
||||||
@updateMapModel="updateMapModel"
|
|
||||||
@setCenter="setCenter"
|
|
||||||
@selectFiled="selectFiled"
|
@selectFiled="selectFiled"
|
||||||
/>
|
@psdCode="psdTab"
|
||||||
</el-tab-pane>
|
@espCode="esqTab"
|
||||||
<el-tab-pane :label="$t('map.saidLamp')" class="tab_pane_box" name="ControlLamp" :lazy="lazy">
|
|
||||||
<control-lamp
|
|
||||||
ref="ControlLamp"
|
|
||||||
:selected="selected"
|
|
||||||
@updateMapModel="updateMapModel"
|
|
||||||
@setCenter="setCenter"
|
|
||||||
@saidLampHover="saidLampTab"
|
@saidLampHover="saidLampTab"
|
||||||
/>
|
/>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane :label="$t('map.train')" class="tab_pane_box" name="Train" :lazy="lazy">
|
|
||||||
<train-draft
|
|
||||||
ref="Train"
|
|
||||||
:selected="selected"
|
|
||||||
@updateMapModel="updateMapModel"
|
|
||||||
@setCenter="setCenter"
|
|
||||||
/>
|
|
||||||
</el-tab-pane>
|
|
||||||
<el-tab-pane :label="$t('map.line')" class="tab_pane_box" name="Line" :lazy="lazy">
|
|
||||||
<line-draft
|
|
||||||
ref="Line"
|
|
||||||
:selected="selected"
|
|
||||||
@updateMapModel="updateMapModel"
|
|
||||||
@setCenter="setCenter"
|
|
||||||
/>
|
|
||||||
</el-tab-pane>
|
|
||||||
<el-tab-pane label="供电线" class="tab_pane_box" name="Power" :lazy="lazy">
|
|
||||||
<power-draft
|
|
||||||
ref="Power"
|
|
||||||
:selected="selected"
|
|
||||||
@updateMapModel="updateMapModel"
|
|
||||||
@setCenter="setCenter"
|
|
||||||
/>
|
|
||||||
</el-tab-pane>
|
|
||||||
<el-tab-pane :label="$t('map.text')" class="tab_pane_box" name="Text" :lazy="lazy">
|
|
||||||
<text-draft
|
|
||||||
ref="Text"
|
|
||||||
:selected="selected"
|
|
||||||
@updateMapModel="updateMapModel"
|
|
||||||
@setCenter="setCenter"
|
|
||||||
/>
|
|
||||||
</el-tab-pane>
|
|
||||||
<el-tab-pane :label="$t('map.lcControl')" class="tab_pane_box" name="LcControl" :lazy="lazy">
|
|
||||||
<lc-control-draft
|
|
||||||
ref="LcControl"
|
|
||||||
:selected="selected"
|
|
||||||
@updateMapModel="updateMapModel"
|
|
||||||
@setCenter="setCenter"
|
|
||||||
/>
|
|
||||||
</el-tab-pane>
|
|
||||||
<el-tab-pane :label="$t('map.rectangularBox')" class="tab_pane_box" name="OutFrame" :lazy="lazy">
|
|
||||||
<out-frame-draft
|
|
||||||
ref="OutFrame"
|
|
||||||
:selected="selected"
|
|
||||||
@updateMapModel="updateMapModel"
|
|
||||||
@setCenter="setCenter"
|
|
||||||
/>
|
|
||||||
</el-tab-pane>
|
|
||||||
<el-tab-pane :label="$t('map.image')" class="tab_pane_box" name="Resource" :lazy="lazy">
|
|
||||||
<Image-control-draft
|
|
||||||
ref="Resource"
|
|
||||||
:selected="selected"
|
|
||||||
@updateMapModel="updateMapModel"
|
|
||||||
@setCenter="setCenter"
|
|
||||||
/>
|
|
||||||
</el-tab-pane>
|
|
||||||
<el-tab-pane :label="$t('map.boundingBox')" class="tab_pane_box" name="CheckBox" :lazy="lazy">
|
|
||||||
<checkbox-draft
|
|
||||||
ref="CheckBox"
|
|
||||||
:selected="selected"
|
|
||||||
@updateMapModel="updateMapModel"
|
|
||||||
@setCenter="setCenter"
|
|
||||||
/>
|
|
||||||
</el-tab-pane>
|
|
||||||
<el-tab-pane label="站间分隔" class="tab_pane_box" name="SplitStation" :lazy="lazy">
|
|
||||||
<split-station
|
|
||||||
ref="SplitStation"
|
|
||||||
:selected="selected"
|
|
||||||
@updateMapModel="updateMapModel"
|
|
||||||
@setCenter="setCenter"
|
|
||||||
/>
|
|
||||||
</el-tab-pane>
|
|
||||||
<el-tab-pane label="箭头" class="tab_pane_box" name="Arrow" :lazy="lazy">
|
|
||||||
<arrow
|
|
||||||
ref="Arrow"
|
|
||||||
:selected="selected"
|
|
||||||
@updateMapModel="updateMapModel"
|
|
||||||
@setCenter="setCenter"
|
|
||||||
/>
|
|
||||||
</el-tab-pane>
|
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
<template v-show="!projectType">
|
<template v-show="!projectType">
|
||||||
<split-screen
|
<split-screen
|
||||||
@ -280,6 +121,29 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
lazy: true,
|
lazy: true,
|
||||||
|
tabList:[
|
||||||
|
{label:this.$t('map.section'), name:'Section', menus:SectionDraft},
|
||||||
|
{label:this.$t('map.switch'), name:'Switch', menus:SwitchDraft},
|
||||||
|
{label:this.$t('map.station'), name:'Station', menus:StationDraft},
|
||||||
|
{label:this.$t('map.signal'), name:'Signal', menus:SignalDraft},
|
||||||
|
{label:this.$t('map.platform'), name:'StationStand', menus:StationStandDraft},
|
||||||
|
{label:this.$t('map.psd'), name:'Psd', menus:PsdDraft},
|
||||||
|
{label:this.$t('map.platformEmergencyStop'), name:'Esp', menus:EspDraft},
|
||||||
|
{label:this.$t('map.trainWindow'), name:'TrainWindow', menus:TrainWindowDraft},
|
||||||
|
{label:this.$t('map.zcZoneControl'), name:'ZcControl', menus:ZcControlDraft},
|
||||||
|
{label:this.$t('map.functionButton'), name:'ControlDraft', menus:ControlDraft},
|
||||||
|
{label:this.$t('map.saidLamp'), name:'ControlLamp', menus:ControlLamp},
|
||||||
|
{label:this.$t('map.train'), name:'Train', menus:TrainDraft},
|
||||||
|
{label:this.$t('map.line'), name:'Line', menus:LineDraft},
|
||||||
|
{label:'供电线', name:'Power', menus:PowerDraft},
|
||||||
|
{label:this.$t('map.text'), name:'Text', menus:TextDraft},
|
||||||
|
{label:this.$t('map.lcControl'), name:'LcControl', menus:LcControlDraft},
|
||||||
|
{label:this.$t('map.rectangularBox'), name:'OutFrame', menus:OutFrameDraft},
|
||||||
|
{label:this.$t('map.image'), name:'Resource', menus:ImageControlDraft},
|
||||||
|
{label:this.$t('map.boundingBox'), name:'CheckBox', menus:CheckboxDraft},
|
||||||
|
{label:'站间分隔', name:'SplitStation', menus:SplitStation},
|
||||||
|
{label:'箭头', name:'Arrow', menus:Arrow}
|
||||||
|
],
|
||||||
feild: '',
|
feild: '',
|
||||||
singlaType: '',
|
singlaType: '',
|
||||||
stationType: '',
|
stationType: '',
|
||||||
@ -306,16 +170,16 @@ export default {
|
|||||||
watch: {
|
watch: {
|
||||||
'$store.state.map.deleteCount': function (val) {
|
'$store.state.map.deleteCount': function (val) {
|
||||||
if (this.selected) {
|
if (this.selected) {
|
||||||
this.$refs[this.enabledTab].deleteObj();
|
this.$refs[this.enabledTab][0].deleteObj();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
'$store.state.map.updateCount': function (val) {
|
'$store.state.map.updateCount': function (val) {
|
||||||
this.$refs[this.enabledTab].edit();
|
this.$refs[this.enabledTab][0].edit();
|
||||||
},
|
},
|
||||||
selected(val, oldVal) {
|
selected(val, oldVal) {
|
||||||
if (this.selected) {
|
if (this.selected) {
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.$refs[this.enabledTab].deviceSelect(val);
|
this.$refs[this.enabledTab][0].deviceSelect(val);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -211,7 +211,7 @@ export default {
|
|||||||
},
|
},
|
||||||
hover(field) {
|
hover(field) {
|
||||||
this.field = field === this.field ? '' : field;
|
this.field = field === this.field ? '' : field;
|
||||||
this.$emit('standStationCode', this.field);
|
this.$emit('psdCode', this.field);
|
||||||
},
|
},
|
||||||
deviceSelect(selected) {
|
deviceSelect(selected) {
|
||||||
if (selected && selected._type.toUpperCase() === 'Psd'.toUpperCase()) {
|
if (selected && selected._type.toUpperCase() === 'Psd'.toUpperCase()) {
|
||||||
@ -223,7 +223,7 @@ export default {
|
|||||||
this.addModel.standCode = selected.code;
|
this.addModel.standCode = selected.code;
|
||||||
this.activeName = 'second';
|
this.activeName = 'second';
|
||||||
this.field = '';
|
this.field = '';
|
||||||
this.$emit('standStationCode', '');
|
this.$emit('psdCode', '');
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
create() {
|
create() {
|
||||||
|
@ -158,21 +158,23 @@ export default {
|
|||||||
},
|
},
|
||||||
handleList(data) {
|
handleList(data) {
|
||||||
this.tableData = [];
|
this.tableData = [];
|
||||||
data.bigScreenSplitConfig.forEach(item => {
|
if (data.bigScreenSplitConfig) {
|
||||||
const section = this.$store.getters['map/getDeviceByCode'](item.sectionCode);
|
data.bigScreenSplitConfig.forEach(item => {
|
||||||
const param = {
|
const section = this.$store.getters['map/getDeviceByCode'](item.sectionCode);
|
||||||
position: String(section.points[section.points.length - 1].x),
|
const param = {
|
||||||
name: `${section.name}(${section.code})`,
|
position: String(section.points[section.points.length - 1].x),
|
||||||
offsetTop: 0,
|
name: `${section.name}(${section.code})`,
|
||||||
sectionCode: section.code
|
offsetTop: 0,
|
||||||
|
sectionCode: section.code
|
||||||
|
};
|
||||||
|
this.tableData.push(param);
|
||||||
|
});
|
||||||
|
this.formData = {
|
||||||
|
width: data.width,
|
||||||
|
height: data.height
|
||||||
};
|
};
|
||||||
this.tableData.push(param);
|
}
|
||||||
});
|
if (data.offsetList && data.offsetList.length) {
|
||||||
this.formData = {
|
|
||||||
width: data.width,
|
|
||||||
height: data.height
|
|
||||||
};
|
|
||||||
if (data.offsetList.length) {
|
|
||||||
this.list = [];
|
this.list = [];
|
||||||
data.offsetList.forEach(item => {
|
data.offsetList.forEach(item => {
|
||||||
const param = {offsetTop: item};
|
const param = {offsetTop: item};
|
||||||
|
@ -258,10 +258,10 @@ export default {
|
|||||||
this.$refs['form'].validate((valid) => {
|
this.$refs['form'].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.startDate) {
|
if (this.form.startDate) {
|
||||||
this.form.startDate = this.getDate(this.form.startDate);
|
this.form.startTime = this.getDate(this.form.startDate);
|
||||||
}
|
}
|
||||||
if (this.form.endDate) {
|
if (this.form.endDate) {
|
||||||
this.form.endDate = this.getDate(this.form.endDate);
|
this.form.endTime = this.getDate(this.form.endDate);
|
||||||
}
|
}
|
||||||
this.form['trial'] = this.trial;
|
this.form['trial'] = this.trial;
|
||||||
this.$store.dispatch('exam/setCourseDetail', this.form);
|
this.$store.dispatch('exam/setCourseDetail', this.form);
|
||||||
@ -273,10 +273,10 @@ export default {
|
|||||||
this.$refs['form'].validate((valid) => {
|
this.$refs['form'].validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (this.form.startDate) {
|
if (this.form.startDate) {
|
||||||
this.form.startDate = this.getDate(this.form.startDate);
|
this.form.startTime = this.getDate(this.form.startDate);
|
||||||
}
|
}
|
||||||
if (this.form.endDate) {
|
if (this.form.endDate) {
|
||||||
this.form.endDate = this.getDate(this.form.endDate);
|
this.form.endTime = this.getDate(this.form.endDate);
|
||||||
}
|
}
|
||||||
this.form['trial'] = this.trial;
|
this.form['trial'] = this.trial;
|
||||||
this.$store.dispatch('exam/setCourseDetail', this.form);
|
this.$store.dispatch('exam/setCourseDetail', this.form);
|
||||||
|
@ -136,8 +136,8 @@ export default {
|
|||||||
name: data.name, // 名称
|
name: data.name, // 名称
|
||||||
passingPoint: Number(data.passMark), // 及格分
|
passingPoint: Number(data.passMark), // 及格分
|
||||||
remarks: data.desc, // 考试说明
|
remarks: data.desc, // 考试说明
|
||||||
endTime: data.endDate,
|
endTime: data.endTime,
|
||||||
startTime: data.startDate,
|
startTime: data.startTime,
|
||||||
type: data.type, // 类型
|
type: data.type, // 类型
|
||||||
trial: data.trial == 2 // 权限判断
|
trial: data.trial == 2 // 权限判断
|
||||||
};
|
};
|
||||||
|
@ -211,8 +211,8 @@ export default {
|
|||||||
name: this.course.name, // 名称
|
name: this.course.name, // 名称
|
||||||
passingPoint: Number(this.course.passMark), // 及格分
|
passingPoint: Number(this.course.passMark), // 及格分
|
||||||
remarks: this.course.desc, // 考试说明
|
remarks: this.course.desc, // 考试说明
|
||||||
endTime: this.course.endDate,
|
endTime: this.course.endTime,
|
||||||
startTime: this.course.startDate,
|
startTime: this.course.startTime,
|
||||||
type: this.course.type, // 类型
|
type: this.course.type, // 类型
|
||||||
trial: this.course.trial == 2 // 权限判断
|
trial: this.course.trial == 2 // 权限判断
|
||||||
};
|
};
|
||||||
|
@ -455,8 +455,8 @@ export default {
|
|||||||
});
|
});
|
||||||
that.$message.success('学生信息导入成功!');
|
that.$message.success('学生信息导入成功!');
|
||||||
|
|
||||||
}).catch(() => {
|
}).catch((err) => {
|
||||||
that.$message.error('学生信息导入失败!');
|
that.$message.error('学生信息导入失败:' + err.message);
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
that.$message.warning(`解析成绩单失败:${error}`);
|
that.$message.warning(`解析成绩单失败:${error}`);
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog v-dialogDrag :title="title" :visible.sync="dialogVisible" width="500px" :before-close="handleClose" center :close-on-click-modal="false">
|
<el-dialog v-dialogDrag :title="title" :visible.sync="dialogVisible" width="500px" :before-close="handleClose" center :close-on-click-modal="false">
|
||||||
<el-form v-show="data.type === 'IBP'" ref="formIbp" :model="formIbp" label-width="100px" :rules="rulesIbp">
|
<el-form v-show="data.type === 'VR_IBP'" ref="formIbp" :model="formIbp" label-width="100px" :rules="rulesIbp">
|
||||||
<el-form-item label="显示位置:" prop="part">
|
<el-form-item label="显示位置:" prop="part">
|
||||||
<el-select v-model="formIbp.part" placeholder="请选择" size="small">
|
<el-select v-model="formIbp.part" placeholder="请选择" size="small">
|
||||||
<el-option
|
<el-option
|
||||||
@ -64,7 +64,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getDeviceDetail, setIbpConfig, setLwConfig, getDevicesByType, setIscsLwConfig, setIscsCwConfig } from '@/api/project';
|
import { getDeviceDetail, setVrIbpConfig, setLwConfig, getDevicesByType, setIscsLwConfig, setIscsCwConfig } from '@/api/project';
|
||||||
import { getAllMapOnline, getStationListNeedAttendant } from '@/api/jmap/map';
|
import { getAllMapOnline, getStationListNeedAttendant } from '@/api/jmap/map';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@ -122,7 +122,7 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
initData(row) {
|
initData(row) {
|
||||||
getDeviceDetail(row.id).then(resp => {
|
getDeviceDetail(row.id).then(resp => {
|
||||||
if (resp.data.config && resp.data.type === 'IBP') {
|
if (resp.data.config && resp.data.type === 'VR_IBP') {
|
||||||
this.formIbp = JSON.parse(resp.data.config);
|
this.formIbp = JSON.parse(resp.data.config);
|
||||||
} else if (resp.data.config && resp.data.type === 'LW') {
|
} else if (resp.data.config && resp.data.type === 'LW') {
|
||||||
this.formLw = JSON.parse(resp.data.config);
|
this.formLw = JSON.parse(resp.data.config);
|
||||||
@ -139,7 +139,7 @@ export default {
|
|||||||
this.data = row;
|
this.data = row;
|
||||||
this.mapList = [];
|
this.mapList = [];
|
||||||
this.stationList = [];
|
this.stationList = [];
|
||||||
if (this.data.type === 'IBP' || this.data.type === 'ISCS_LW') {
|
if (this.data.type === 'VR_IBP' || this.data.type === 'ISCS_LW') {
|
||||||
getDevicesByType('LW').then(res => {
|
getDevicesByType('LW').then(res => {
|
||||||
if (res.data && res.data.length) {
|
if (res.data && res.data.length) {
|
||||||
this.lwList = res.data;
|
this.lwList = res.data;
|
||||||
@ -170,10 +170,10 @@ export default {
|
|||||||
},
|
},
|
||||||
doSave() {
|
doSave() {
|
||||||
const self = this;
|
const self = this;
|
||||||
if (this.data.type === 'IBP') {
|
if (this.data.type === 'VR_IBP') {
|
||||||
this.$refs.formIbp.validate(() => {
|
this.$refs.formIbp.validate(() => {
|
||||||
setIbpConfig(this.data.id, this.formIbp).then(response => {
|
setVrIbpConfig(this.data.id, this.formIbp).then(response => {
|
||||||
self.$message.success('设置IBP设备配置成功');
|
self.$message.success('设置虚拟IBP设备配置成功');
|
||||||
self.handleClose();
|
self.handleClose();
|
||||||
self.$emit('reloadTable');
|
self.$emit('reloadTable');
|
||||||
}).catch(error => {
|
}).catch(error => {
|
||||||
|
@ -175,7 +175,7 @@ export default {
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
editConfig(index, row) {
|
editConfig(index, row) {
|
||||||
if (row.type === 'LW' || row.type === 'IBP' || row.type === 'ISCS_LW' || row.type === 'ISCS_CW') {
|
if (row.type === 'LW' || row.type === 'VR_IBP' || row.type === 'ISCS_LW' || row.type === 'ISCS_CW') {
|
||||||
this.$refs.editConfig.doShow(row);
|
this.$refs.editConfig.doShow(row);
|
||||||
} else if (row.type === 'SWITCH' || row.type === 'SIGNAL' || row.type === 'PSD') {
|
} else if (row.type === 'SWITCH' || row.type === 'SIGNAL' || row.type === 'PSD') {
|
||||||
this.$refs.editConfigGateway.doShow(row);
|
this.$refs.editConfigGateway.doShow(row);
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import PopMenu from '@/components/PopMenu';
|
import PopMenu from '@/components/PopMenu';
|
||||||
import { DeviceMenu } from '@/scripts/ConstDic';
|
import { DeviceMenu } from '@/scripts/ConstDic';
|
||||||
import { kickOutMember } from '@/api/jointSimulation';
|
import { putJointTrainingUserkicked } from '@/api/chat';
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
@ -17,18 +17,14 @@ export default {
|
|||||||
clickUserId: {
|
clickUserId: {
|
||||||
type: String,
|
type: String,
|
||||||
default: ''
|
default: ''
|
||||||
},
|
|
||||||
menuDisabled: {
|
|
||||||
type: Boolean,
|
|
||||||
default: false
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
// menu: [{
|
menu: [{
|
||||||
// label: this.$t('trainRoom.kickOutTheRoom'),
|
label: this.$t('trainRoom.kickOutTheRoom'),
|
||||||
// handler: this.kicked
|
handler: this.kicked
|
||||||
// }]
|
}]
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -40,13 +36,6 @@ export default {
|
|||||||
},
|
},
|
||||||
drawWay() {
|
drawWay() {
|
||||||
return this.$route.query.drawWay + '';
|
return this.$route.query.drawWay + '';
|
||||||
},
|
|
||||||
menu() {
|
|
||||||
return [{
|
|
||||||
label: this.$t('trainRoom.kickOutTheRoom'),
|
|
||||||
handler: this.kicked,
|
|
||||||
disabled: this.menuDisabled
|
|
||||||
}];
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
@ -83,7 +72,7 @@ export default {
|
|||||||
},
|
},
|
||||||
async kicked() {
|
async kicked() {
|
||||||
try {
|
try {
|
||||||
await kickOutMember(this.$route.query.group, this.clickUserId);
|
await putJointTrainingUserkicked(this.clickUserId, this.$route.query.group);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(error);
|
console.error(error);
|
||||||
}
|
}
|
||||||
|
@ -16,13 +16,13 @@
|
|||||||
@node-contextmenu="handleShowContextMenu"
|
@node-contextmenu="handleShowContextMenu"
|
||||||
>
|
>
|
||||||
<span slot-scope="{ node, data }">
|
<span slot-scope="{ node, data }">
|
||||||
<span v-if="node.data.online" style="color: green;">{{ data.nickName + (data.admin? '【管理员】':'') + (data.referee? '【裁判员】':'') + (data.deviceVO? ` -- (${data.deviceVO.code})`:'') }}</span>
|
<span v-if="node.data.inRoom" style="color: green;">{{ data.nickName }}</span>
|
||||||
<span v-else style="color: #ccc;">{{ data.nickName + (data.admin? '【管理员】':'') + (data.referee? '【裁判员】':'') + (data.deviceVO? ` -- (${data.deviceVO.code})`:'') }}</span>
|
<span v-else style="color: #ccc;">{{ data.nickName }}</span>
|
||||||
</span>
|
</span>
|
||||||
</el-tree>
|
</el-tree>
|
||||||
</el-scrollbar>
|
</el-scrollbar>
|
||||||
</div>
|
</div>
|
||||||
<content-menu ref="menu" :click-user-id="clickUserId" :menu-disabled="menuDisabled" />
|
<content-menu ref="menu" :click-user-id="clickUserId" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -46,19 +46,12 @@ export default {
|
|||||||
height: {
|
height: {
|
||||||
type: Number,
|
type: Number,
|
||||||
required: true
|
required: true
|
||||||
},
|
|
||||||
isAdmin: {
|
|
||||||
type: Boolean,
|
|
||||||
default() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
filterText: '',
|
filterText: '',
|
||||||
clickUserId: '',
|
clickUserId: ''
|
||||||
menuDisabled: false
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
@ -86,9 +79,8 @@ export default {
|
|||||||
x: e.clientX,
|
x: e.clientX,
|
||||||
y: e.clientY
|
y: e.clientY
|
||||||
};
|
};
|
||||||
if (this.isAdmin) {
|
if (this.userId == this.room.creatorId) {
|
||||||
this.clickUserId = `${obj.userId || ''}`;
|
this.clickUserId = `${obj.id || ''}`;
|
||||||
this.menuDisabled = !!obj.deviceVO;
|
|
||||||
this.$store.dispatch('menuOperation/setPopMenu', { position, menu: DeviceMenu.JointRoom });
|
this.$store.dispatch('menuOperation/setPopMenu', { position, menu: DeviceMenu.JointRoom });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -129,8 +121,8 @@ export default {
|
|||||||
&--list {
|
&--list {
|
||||||
background: #fff;
|
background: #fff;
|
||||||
height: auto;
|
height: auto;
|
||||||
min-height: calc(100% - 200px);
|
min-height: calc(100% - 40px);
|
||||||
max-height: calc(100% - 200px);
|
max-height: calc(100% - 40px);
|
||||||
border-bottom: 1px #ccc solid;
|
border-bottom: 1px #ccc solid;
|
||||||
|
|
||||||
&::-webkit-scrollbar {
|
&::-webkit-scrollbar {
|
||||||
|
Loading…
Reference in New Issue
Block a user