宁波三号线菜单调整&宁波分割符调整&教学系统班级显示调整

This commit is contained in:
fan 2020-09-08 09:49:49 +08:00
parent 878b62e494
commit fadcb630ab
17 changed files with 515 additions and 19 deletions

View File

@ -112,7 +112,7 @@ class SkinCode extends defaultStyle {
nameShow: false // 名称显示 nameShow: false // 名称显示
}, },
separator: { separator: {
z: 1, // 分割符层级 z: 3, // 分割符层级
width: 1.5, // 分隔符宽度 width: 1.5, // 分隔符宽度
endWidth: 1.5, // 尽头分隔符宽度 endWidth: 1.5, // 尽头分隔符宽度
endColor: '#7F7F7F', // 尽头分隔符颜色 endColor: '#7F7F7F', // 尽头分隔符颜色

View File

@ -111,7 +111,7 @@ class SkinCode extends defaultStyle {
drogueHeight: 12 // 浮标高度 drogueHeight: 12 // 浮标高度
}, },
separator: { separator: {
z: 6, // 分割符层级 z: 3, // 分割符层级
width: 1.5, // 分隔符宽度 width: 1.5, // 分隔符宽度
endWidth: 1.5, // 尽头分隔符宽度 endWidth: 1.5, // 尽头分隔符宽度
endColor: '#FFFFFF', // 尽头分隔符颜色 endColor: '#FFFFFF', // 尽头分隔符颜色

View File

@ -111,7 +111,7 @@ class SkinCode extends defaultStyle {
drogueHeight: 12 // 浮标高度 drogueHeight: 12 // 浮标高度
}, },
separator: { separator: {
z: 6, // 分割符层级 z: 3, // 分割符层级
width: 1.5, // 分隔符宽度 width: 1.5, // 分隔符宽度
endWidth: 1.5, // 尽头分隔符宽度 endWidth: 1.5, // 尽头分隔符宽度
endColor: '#FFFFFF', // 尽头分隔符颜色 endColor: '#FFFFFF', // 尽头分隔符颜色

View File

@ -104,7 +104,7 @@ class SkinCode extends defaultStyle {
nameShow: false // 名称显示 nameShow: false // 名称显示
}, },
separator: { separator: {
z: 6, // 分割符层级 z: 3, // 分割符层级
width: 1.2, // 分隔符宽度 width: 1.2, // 分隔符宽度
endWidth: 3.5, // 尽头分隔符宽度 endWidth: 3.5, // 尽头分隔符宽度
endColor: '#3F3F3F', // 尽头分隔符颜色 endColor: '#3F3F3F', // 尽头分隔符颜色

View File

@ -104,7 +104,7 @@ class SkinCode extends defaultStyle {
nameShow: false // 名称显示 nameShow: false // 名称显示
}, },
separator: { separator: {
z: 6, // 分割符层级 z: 3, // 分割符层级
width: 1.2, // 分隔符宽度 width: 1.2, // 分隔符宽度
endWidth: 3.5, // 尽头分隔符宽度 endWidth: 3.5, // 尽头分隔符宽度
endColor: '#3F3F3F', // 尽头分隔符颜色 endColor: '#3F3F3F', // 尽头分隔符颜色

View File

@ -105,7 +105,7 @@ class SkinCode extends defaultStyle {
nameShow: false // 名称显示 nameShow: false // 名称显示
}, },
separator: { separator: {
z: 6, // 分割符层级 z: 3, // 分割符层级
width: 1.2, // 分隔符宽度 width: 1.2, // 分隔符宽度
endWidth: 3.5, // 尽头分隔符宽度 endWidth: 3.5, // 尽头分隔符宽度
endColor: '#3F3F3F', // 尽头分隔符颜色 endColor: '#3F3F3F', // 尽头分隔符颜色

View File

@ -111,7 +111,7 @@ class SkinCode extends defaultStyle {
drogueHeight: 12 // 浮标高度 drogueHeight: 12 // 浮标高度
}, },
separator: { separator: {
z: 6, // 分割符层级 z: 3, // 分割符层级
width: 1.5, // 分隔符宽度 width: 1.5, // 分隔符宽度
endWidth: 1.5, // 尽头分隔符宽度 endWidth: 1.5, // 尽头分隔符宽度
endColor: '#FFFFFF', // 尽头分隔符颜色 endColor: '#FFFFFF', // 尽头分隔符颜色

View File

@ -142,7 +142,7 @@ class SkinCode extends defaultStyle {
drogueHeight: 12 // 浮标高度 drogueHeight: 12 // 浮标高度
}, },
separator: { separator: {
z: 3, // 分割符层级 z: -1, // 分割符层级
width: 1.5, // 分隔符宽度 width: 1.5, // 分隔符宽度
endWidth: 1.5, // 尽头分隔符宽度 endWidth: 1.5, // 尽头分隔符宽度
endColor: '#000000', // 尽头分隔符颜色 endColor: '#000000', // 尽头分隔符颜色

View File

@ -112,7 +112,7 @@ class SkinCode extends defaultStyle {
nameShow: false // 名称显示 nameShow: false // 名称显示
}, },
separator: { separator: {
z: 6, // 分割符层级 z: 3, // 分割符层级
width: 1.2, // 分隔符宽度 width: 1.2, // 分隔符宽度
endWidth: 3.5, // 尽头分隔符宽度 endWidth: 3.5, // 尽头分隔符宽度
endColor: '#3F3F3F', // 尽头分隔符颜色 endColor: '#3F3F3F', // 尽头分隔符颜色

View File

@ -127,7 +127,7 @@ class SkinCode extends defaultStyle {
drogueHeight: 12 // 浮标高度 drogueHeight: 12 // 浮标高度
}, },
separator: { separator: {
z: 6, // 分割符层级 z: 3, // 分割符层级
width: 1.5, // 分隔符宽度 width: 1.5, // 分隔符宽度
endWidth: 1.5, // 尽头分隔符宽度 endWidth: 1.5, // 尽头分隔符宽度
endColor: '#FFFFFF', // 尽头分隔符颜色 endColor: '#FFFFFF', // 尽头分隔符颜色

View File

@ -497,7 +497,7 @@ export default class Section extends Group {
this.lPartition = new ESeparator({ this.lPartition = new ESeparator({
style: style, style: style,
zlevel: this.zlevel, zlevel: this.zlevel,
z: this.z + 3, z: this.z + style.Section.separator.z,
traingle: traingle, traingle: traingle,
point: { point: {
x: model.points[0].x, x: model.points[0].x,
@ -512,7 +512,7 @@ export default class Section extends Group {
this.rPartition = new ESeparator({ this.rPartition = new ESeparator({
style: style, style: style,
zlevel: this.zlevel, zlevel: this.zlevel,
z: this.z + 3, z: this.z + style.Section.separator.z,
traingle: traingle, traingle: traingle,
point: { point: {
x: model.points[model.points.length - 1].x, x: model.points[model.points.length - 1].x,
@ -521,7 +521,6 @@ export default class Section extends Group {
sepType: model.sepTypeRight, sepType: model.sepTypeRight,
drict: 1 // 方向 drict: 1 // 方向
}); });
/** 添加视图*/ /** 添加视图*/
this.add(this.lPartition); this.add(this.lPartition);
this.add(this.rPartition); this.add(this.rPartition);

View File

@ -114,6 +114,8 @@
<init-signal-block ref="initSignalBlock" /> <init-signal-block ref="initSignalBlock" />
<signal-block ref="signalBlock" /> <signal-block ref="signalBlock" />
<signal-detail ref="signalDetail" /> <signal-detail ref="signalDetail" />
<init-signal-mode ref="initSignalMode" />
<signal-mode ref="signalMode" />
</div> </div>
</template> </template>
<script> <script>
@ -150,6 +152,8 @@ import SignalModel from './menuDialog/signalModel';
import InitSignalBlock from './menuDialog/initSignalBlock'; import InitSignalBlock from './menuDialog/initSignalBlock';
import SignalBlock from './menuDialog/signalBlock'; import SignalBlock from './menuDialog/signalBlock';
import SignalDetail from './menuDialog/signalDetail'; import SignalDetail from './menuDialog/signalDetail';
import InitSignalMode from './menuDialog/initSignalMode';
import SignalMode from './menuDialog/signalMode';
export default { export default {
name: 'MenuBar', name: 'MenuBar',
@ -180,7 +184,9 @@ export default {
SectionOpen, SectionOpen,
SectionLimitSpeed, SectionLimitSpeed,
SectionShow, SectionShow,
SectionLock SectionLock,
InitSignalMode,
SignalMode
}, },
props: { props: {
selected: { selected: {
@ -545,11 +551,11 @@ export default {
children: [ children: [
{ {
title: 'CBTC', title: 'CBTC',
click: this.undeveloped click: this.setCbtcMode
}, },
{ {
title: '后备', title: '后备',
click: this.undeveloped click: this.setReserveMode
} }
] ]
}, },
@ -1012,11 +1018,11 @@ export default {
children: [ children: [
{ {
title: 'CBTC', title: 'CBTC',
click: this.undeveloped click: this.setCbtcMode
}, },
{ {
title: '后备', title: '后备',
click: this.undeveloped click: this.setReserveMode
} }
] ]
}, },
@ -1652,6 +1658,32 @@ export default {
this.$refs.signalDetail.doShow(operate); this.$refs.signalDetail.doShow(operate);
} }
}); });
},
setCbtcMode() {
const operate = {
type: 'bar',
operation: OperationEvent.Command.mBar.cbtcMode.operation
};
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
if (valid) {
this.closeMenu(true);
this.$store.dispatch('menuOperation/handleBreakFlag', {break: true});
this.$refs.initSignalMode.doShow(operate);
}
});
},
setReserveMode() {
const operate = {
type: 'bar',
operation: OperationEvent.Command.mBar.reserveMode.operation
};
this.$store.dispatch('training/nextNew', operate).then(({valid}) => {
if (valid) {
this.closeMenu(true);
this.$store.dispatch('menuOperation/handleBreakFlag', {break: true});
this.$refs.initSignalMode.doShow(operate);
}
});
} }
} }
}; };

View File

@ -0,0 +1,149 @@
<template>
<el-dialog v-dialogDrag class="ningbo-01__systerm route-setting" :title="title" :visible.sync="show" width="600px" :before-close="doClose" :z-index="2000" :modal="false" :close-on-click-modal="false">
<el-row>
<el-table :data="signalList" height="300px">
<el-table-column prop="id" label="ID" />
<el-table-column prop="mode" label="信号模式" />
<el-table-column v-if="isCbtc" prop="status" label="CBTC可命令" />
<el-table-column v-if="isCbtc" prop="status" label="CBTC模式进程" />
<el-table-column v-if="!isCbtc" prop="status" label="后备模式可命令" />
<el-table-column v-if="!isCbtc" prop="status" label="后备模式进程" />
</el-table>
</el-row>
<el-row justify="center" class="button-group">
<el-col :span="4" :offset="1">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定(O)</el-button>
</el-col>
<el-col :span="4" :offset="2">
<el-button>应用(A)</el-button>
</el-col>
<el-col :span="4" :offset="2">
<el-button :id="domIdCancel" @click="cancel">关闭(C)</el-button>
</el-col>
<el-col :span="4" :offset="2">
<el-button>帮助(H)</el-button>
</el-col>
</el-row>
<notice-info ref="noticeInfo" pop-class="ningbo-01__systerm" />
</el-dialog>
</template>
<script>
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
// import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
import { mapGetters } from 'vuex';
export default {
name: 'InitCbtcMode',
components: {
NoticeInfo
},
data() {
return {
status: false,
signalModel: true,
allChecked: false,
dialogShow: false,
loading: false,
selected: null,
operate: {}
};
},
computed: {
...mapGetters('map', [
'signalList'
]),
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
isCbtc() {
return this.operate.operation === OperationEvent.Command.mBar.cbtcMode.operation;
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
},
domIdChoose() {
return this.dialogShow ? OperationEvent.Signal.arrangementRoute.choose.domId : '';
},
domIdConfirm() {
return this.dialogShow ? OperationEvent.Signal.arrangementRoute.menu.domId : '';
},
title() {
return this.isCbtc ? '初始化CBTC' : '初始化后备模式';
}
},
watch: {
'$store.state.map.keyboardEnterCount': function (val) {
if (this.show) {
this.commit();
}
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
doShow(operate, selected) {
this.selected = selected;
this.operate = operate;
//
this.dialogShow = true;
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
},
doClose() {
this.loading = false;
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
},
commit() {
},
handleClick() {
},
cancel() {
const operate = {
operation: OperationEvent.Command.cancel.menu.operation
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(() => {
this.doClose();
});
}
}
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
.menu-li {
height: 30px;
line-height: 30px;
text-align: left;
list-style:none;
padding-left: 5px;
border-right: 2px solid #696969;
color: #000;
}
.set-status-box {
position: relative;
top: 100px;
border: 1px solid #AFAFAF;
padding-left: 10px;
padding-top: 8px;
}
.set-status-title{
position: relative;
top: 115px;
background: #F0F0F0;
width: 40px;
text-align: center;
z-index: 22;
left: 10px;
}
</style>

View File

@ -0,0 +1,159 @@
<template>
<el-dialog v-dialogDrag class="ningbo-01__systerm route-setting" :title="title" :visible.sync="show" width="750px" :before-close="doClose" :z-index="2000" :modal="false" :close-on-click-modal="false">
<el-row>
<el-col :span="18">
<el-table :data="signalList" height="300px">
<el-table-column prop="id" label="ID" />
<el-table-column prop="mode" label="信号模式" />
<el-table-column v-if="isCbtc" prop="status" label="CBTC可命令" />
<el-table-column v-if="isCbtc" prop="status" label="CBTC模式进程" />
<el-table-column v-if="!isCbtc" prop="status" label="后备模式可命令" />
<el-table-column v-if="!isCbtc" prop="status" label="后备模式进程" />
</el-table>
</el-col>
<el-col :span="5" :offset="1">
<div class="set-status-title">命令</div>
<div class="set-status-box">
<el-radio v-model="command" :disabled="true" :label="true">确认</el-radio>
<br>
<el-radio v-model="command" :label="false">取消</el-radio>
</div>
</el-col>
</el-row>
<el-row justify="center" class="button-group">
<el-col :span="4" :offset="1">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定(O)</el-button>
</el-col>
<el-col :span="4" :offset="2">
<el-button>应用(A)</el-button>
</el-col>
<el-col :span="4" :offset="2">
<el-button :id="domIdCancel" @click="cancel">关闭(C)</el-button>
</el-col>
<el-col :span="4" :offset="2">
<el-button>帮助(H)</el-button>
</el-col>
</el-row>
<notice-info ref="noticeInfo" pop-class="ningbo-01__systerm" />
</el-dialog>
</template>
<script>
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
// import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
import { mapGetters } from 'vuex';
export default {
name: 'SignalBlock',
components: {
NoticeInfo
},
data() {
return {
status: false,
command: true,
allChecked: false,
dialogShow: false,
loading: false,
selected: null,
operate: {}
};
},
computed: {
...mapGetters('map', [
'signalList'
]),
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
isCbtc() {
return this.operate.operation === OperationEvent.Command.mBar.cbtcMode.operation;
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
},
domIdChoose() {
return this.dialogShow ? OperationEvent.Signal.arrangementRoute.choose.domId : '';
},
domIdConfirm() {
return this.dialogShow ? OperationEvent.Signal.arrangementRoute.menu.domId : '';
},
title() {
return this.isCbtc ? '确认/取消CBTC模式' : '确认/取消后备模式';
}
},
watch: {
'$store.state.map.keyboardEnterCount': function (val) {
if (this.show) {
this.commit();
}
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
doShow(operate, selected) {
this.selected = selected;
this.operate = operate;
//
this.dialogShow = true;
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
},
doClose() {
this.loading = false;
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
},
commit() {
},
handleClick() {
},
cancel() {
const operate = {
operation: OperationEvent.Command.cancel.menu.operation
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(() => {
this.doClose();
});
}
}
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
.menu-li {
height: 30px;
line-height: 30px;
text-align: left;
list-style:none;
padding-left: 5px;
border-right: 2px solid #696969;
color: #000;
}
.set-status-box {
position: relative;
top: 100px;
border: 1px solid #AFAFAF;
padding-left: 10px;
padding-top: 8px;
}
.set-status-title{
position: relative;
top: 115px;
background: #F0F0F0;
width: 40px;
text-align: center;
z-index: 22;
left: 10px;
}
</style>

View File

@ -0,0 +1,144 @@
<template>
<el-dialog v-dialogDrag class="ningbo-01__systerm route-setting" :title="title" :visible.sync="show" width="750px" :before-close="doClose" :z-index="2000" :modal="false" :close-on-click-modal="false">
<el-row>
<el-col :span="19">
</el-col>
</el-row>
<el-row justify="center" class="button-group">
<el-col :span="4" :offset="1">
<el-button :id="domIdConfirm" type="primary" :loading="loading" @click="commit">确定(O)</el-button>
</el-col>
<el-col :span="4" :offset="2">
<el-button>应用(A)</el-button>
</el-col>
<el-col :span="4" :offset="2">
<el-button :id="domIdCancel" @click="cancel">关闭(C)</el-button>
</el-col>
<el-col :span="4" :offset="2">
<el-button>帮助(H)</el-button>
</el-col>
</el-row>
<notice-info ref="noticeInfo" pop-class="ningbo-01__systerm" />
</el-dialog>
</template>
<script>
import { OperationEvent } from '@/scripts/cmdPlugin/OperationHandler';
import NoticeInfo from '@/jmapNew/theme/components/menus/childDialog/noticeInfo';
// import {menuOperate, commitOperate} from '@/jmapNew/theme/components/utils/menuOperate';
import { mapGetters } from 'vuex';
export default {
name: 'SignalBlock',
components: {
NoticeInfo
},
data() {
return {
status: false,
command: true,
allChecked: false,
dialogShow: false,
loading: false,
selected: null,
operate: {}
};
},
computed: {
...mapGetters('map', [
'signalList'
]),
show() {
return this.dialogShow && !this.$store.state.menuOperation.break;
},
isCbtc() {
return this.operate.operation === OperationEvent.Command.mBar.cbtcMode.operation;
},
domIdCancel() {
return this.dialogShow ? OperationEvent.Command.cancel.menu.domId : '';
},
domIdChoose() {
return this.dialogShow ? OperationEvent.Signal.arrangementRoute.choose.domId : '';
},
domIdConfirm() {
return this.dialogShow ? OperationEvent.Signal.arrangementRoute.menu.domId : '';
},
title() {
return this.isCbtc ? '确认/取消CBTC模式' : '确认/取消后备模式';
}
},
watch: {
'$store.state.map.keyboardEnterCount': function (val) {
if (this.show) {
this.commit();
}
}
},
mounted() {
this.$nextTick(() => {
this.$store.dispatch('training/tipReload');
});
},
methods: {
doShow(operate, selected) {
this.selected = selected;
this.operate = operate;
//
this.dialogShow = true;
this.$nextTick(function () {
this.$store.dispatch('training/emitTipFresh');
});
},
doClose() {
this.loading = false;
this.dialogShow = false;
this.$store.dispatch('training/emitTipFresh');
},
commit() {
},
handleClick() {
},
cancel() {
const operate = {
operation: OperationEvent.Command.cancel.menu.operation
};
this.$store.dispatch('training/nextNew', operate).then(({ valid }) => {
if (valid) {
this.doClose();
}
}).catch(() => {
this.doClose();
});
}
}
};
</script>
<style rel="stylesheet/scss" lang="scss" scoped>
.menu-li {
height: 30px;
line-height: 30px;
text-align: left;
list-style:none;
padding-left: 5px;
border-right: 2px solid #696969;
color: #000;
}
.set-status-box {
position: relative;
top: 100px;
border: 1px solid #AFAFAF;
padding-left: 10px;
padding-top: 8px;
}
.set-status-title{
position: relative;
top: 115px;
background: #F0F0F0;
width: 40px;
text-align: center;
z-index: 22;
left: 10px;
}
</style>

View File

@ -95,6 +95,14 @@ export const OperationEvent = {
detainControl: { detainControl: {
operation: '00291', operation: '00291',
domId: '_Tips-Mbar-0-detainControl' domId: '_Tips-Mbar-0-detainControl'
},
cbtcMode: {
operation: '0030',
domId: '_Tips-Mbar-0-cbtcMode'
},
reserveMode: {
operation: '0031',
domId: '_Tips-Mbar-0-reserveMode'
} }
}, },
// 前端视图指令 // 前端视图指令

View File

@ -8,7 +8,7 @@
<el-card v-loading="loading"> <el-card v-loading="loading">
<el-table :data="tableData" border style="width: 100%"> <el-table :data="tableData" border style="width: 100%">
<el-table-column prop="name" :label="this.$t('teach.courseName')" /> <el-table-column prop="name" :label="this.$t('teach.courseName')" />
<el-table-column prop="classNames" label="所属班级"> <el-table-column v-if="isGzbShow" prop="classNames" label="所属班级">
<template slot-scope="scope"> <template slot-scope="scope">
<el-tag v-for="(item, index) in scope.row.classNames" :key="index" type="success">{{ item }}</el-tag> <el-tag v-for="(item, index) in scope.row.classNames" :key="index" type="success">{{ item }}</el-tag>
</template> </template>
@ -48,6 +48,11 @@ export default {
userId: '' userId: ''
}; };
}, },
computed: {
isGzbShow() {
return getSessionStorage('project').startsWith('gzb');
}
},
watch: { watch: {
'$route.params.subSystem': function(newVal) { '$route.params.subSystem': function(newVal) {
this.loadInitPage(); this.loadInitPage();