Merge remote-tracking branch 'origin/test'

This commit is contained in:
thesai 2021-12-06 21:19:18 +08:00
commit 9631685998
28 changed files with 683 additions and 206 deletions

View File

@ -3,6 +3,16 @@
<router-view /> <router-view />
<deomon-topic ref="deomonTopic" /> <deomon-topic ref="deomonTopic" />
<img v-show="loading" :src="loadingImg" class="AppAll"> <img v-show="loading" :src="loadingImg" class="AppAll">
<div
v-if="!$store.state.user.baseUrl"
v-loading="!$store.state.user.baseUrl"
element-loading-text="拼命加载中"
element-loading-background="rgba(0, 0, 0, 0)"
element-loading-spinner="el-icon-loading"
style="width: 100%;height: 100%;"
>
<img :src="appLoading" class="centerImg">
</div>
</div> </div>
</template> </template>
@ -13,6 +23,7 @@ import { loginInfo, ProjectIcon } from '@/scripts/ProjectConfig';
import DeomonTopic from '@/views/demonstration/deomonTopic'; import DeomonTopic from '@/views/demonstration/deomonTopic';
import WindowResizeHandler from '@/mixin/WindowResizeHandler'; import WindowResizeHandler from '@/mixin/WindowResizeHandler';
import LoadingImg from '@/assets/loading.gif'; import LoadingImg from '@/assets/loading.gif';
import AppLoading from '@/assets/appLoading.png';
import { openIndexedDB } from '@/utils/indexedDb'; import { openIndexedDB } from '@/utils/indexedDb';
export default { export default {
@ -26,6 +37,7 @@ export default {
data() { data() {
return { return {
loadingImg: LoadingImg, loadingImg: LoadingImg,
appLoading: AppLoading,
loading: false loading: false
}; };
}, },
@ -113,4 +125,13 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.AppAll{position: absolute;top: 0;left: 0;width: 100%;height: 100%;z-index: 2003} .AppAll{position: absolute;top: 0;left: 0;width: 100%;height: 100%;z-index: 2003}
.centerImg {
position: absolute;
left:50%;
top: 50%;
width: 480px;
height: 456px;
margin-left: -240px;
margin-top: -228px;
}
</style> </style>

40
src/api/projectServer.js Normal file
View File

@ -0,0 +1,40 @@
import request from '@/utils/request';
/** 获取请求baseURL */
export function getBaseUrlByProject(project) {
return request({
url: `/api/projectServer/project/${project}`,
method: 'get'
});
}
/** 分页查询项目服务器 */
export function projectServerPaging(params) {
return request({
url: `/api/projectServer/paging`,
method: 'get',
params
});
}
/** 创建项目服务器数据 */
export function createProjectServer(data) {
return request({
url: `/api/projectServer`,
method: 'post',
data
});
}
/** 修改项目服务器数据 */
export function updateProjectServer(id, data) {
return request({
url: `/api/projectServer/${id}`,
method: 'put',
data
});
}
/** 删除项目服务器数据 */
export function deleteProjectServer(id) {
return request({
url: `/api/projectServer/${id}`,
method: 'delete'
});
}

BIN
src/assets/appLoading.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

View File

@ -99,5 +99,6 @@ export default {
publishISCSManage:'publish ISCS Manage', publishISCSManage:'publish ISCS Manage',
voiceTraining: 'Voice Training', voiceTraining: 'Voice Training',
mapGroup: 'Map Group', mapGroup: 'Map Group',
drawingMange:'Drawing Mange' drawingMange:'Drawing Mange',
projectServer: 'Project Server'
}; };

View File

@ -103,5 +103,6 @@ export default {
publishISCSManage:'发布ISCS管理', publishISCSManage:'发布ISCS管理',
voiceTraining: '语音训练', voiceTraining: '语音训练',
mapGroup: '地图分组', mapGroup: '地图分组',
drawingMange:'图纸管理' drawingMange:'图纸管理',
projectServer: '项目域名'
}; };

View File

@ -408,8 +408,15 @@ export default class ELines extends Group {
} }
} }
setCrossBlock() { setCrossBlock(routeLock) {
this.crossSection && this.crossSection.setStyle({fill:this.model.style.Section.cross.centerSquare.blockColor}); this.centerSquare && this.centerSquare.setStyle({fill:this.model.style.Section.cross.centerSquare.blockColor});
if (routeLock) {
this.centerSquare && this.centerSquare.animateStyle(true)
.when(0, { fill: this.model.style.Section.cross.centerSquare.blockColor })
.when(1000, { fill: this.model.style.backgroundColor })
.when(2000, { fill: this.model.style.Section.cross.centerSquare.blockColor })
.start();
}
} }
setCrossUnBlock() { setCrossUnBlock() {
this.crossSection && this.crossSection.setStyle({fill:this.model.style.Section.cross.centerSquare.defaultColor}); this.crossSection && this.crossSection.setStyle({fill:this.model.style.Section.cross.centerSquare.defaultColor});
@ -582,6 +589,8 @@ export default class ELines extends Group {
recover() { recover() {
this.section && this.section.show(); this.section && this.section.show();
this.centerSquare && this.centerSquare.stopAnimation(true);
this.centerSquare && this.centerSquare.setStyle({fill: this.model.style.Section.cross.centerSquare.defaultColor});
} }
setState() { setState() {

View File

@ -198,16 +198,17 @@ export default class Section extends Group {
stroke: this.style.Section.line.communicationOccupiedColor, stroke: this.style.Section.line.communicationOccupiedColor,
lineWidth: this.style.Section.line.width + this.style.Section.line.beyondWidth lineWidth: this.style.Section.line.width + this.style.Section.line.beyondWidth
}); });
this.line.setCrossRouteLock();
} }
this.axle && this.axle.setStyle({ this.axle && this.axle.setStyle({
stroke: this.style.Section.line.communicationOccupiedColor, stroke: this.style.Section.line.communicationOccupiedColor,
fill:this.style.Section.line.communicationOccupiedColor fill:this.style.Section.line.communicationOccupiedColor
}); });
if (this.model.parentCode && this.model.type == '01') { // if (this.model.parentCode && this.model.type == '01') {
const section = this.mapDevice[this.model.parentCode]; // const section = this.mapDevice[this.model.parentCode];
section && section.instance && section.instance.line.setCrossRouteLock(); // section && section.instance && section.instance.line.setCrossRouteLock();
} // }
} }
closeSection() { closeSection() {
if (this.line) { if (this.line) {
@ -225,6 +226,7 @@ export default class Section extends Group {
stroke: this.style.Section.line.unCommunicationOccupiedColor, stroke: this.style.Section.line.unCommunicationOccupiedColor,
lineWidth: this.style.Section.line.width + this.style.Section.line.beyondWidth lineWidth: this.style.Section.line.width + this.style.Section.line.beyondWidth
}); });
this.line.setCrossRouteLock();
} }
this.axle && this.axle.setStyle({ this.axle && this.axle.setStyle({
stroke: this.style.Section.line.unCommunicationOccupiedColor, stroke: this.style.Section.line.unCommunicationOccupiedColor,
@ -234,10 +236,10 @@ export default class Section extends Group {
this.name.setStyle({ textFill: this.style.Section.name.occupyColor }); this.name.setStyle({ textFill: this.style.Section.name.occupyColor });
} }
if (this.model.parentCode && this.model.type == '01') { // if (this.model.parentCode && this.model.type == '01') {
const section = this.mapDevice[this.model.parentCode]; // const section = this.mapDevice[this.model.parentCode];
section && section.instance && section.instance.line.setCrossRouteLock(); // section && section.instance && section.instance.line.setCrossRouteLock();
} // }
} }
/** ARB故障 */ /** ARB故障 */
invalid() { invalid() {
@ -290,7 +292,7 @@ export default class Section extends Group {
}); });
} }
if (this.style.Section.cross && this.model.type == '05') { if (this.style.Section.cross && this.model.type == '05') {
this.line.setCrossBlock(); this.line.setCrossBlock(routeLock);
} }
if (this.style.Section.block && this.style.Section.block.blockGlint && this.line && this.model.type !== '03') { if (this.style.Section.block && this.style.Section.block.blockGlint && this.line && this.model.type !== '03') {
this.line.animateStyle(true, [ this.line.animateStyle(true, [
@ -388,6 +390,9 @@ export default class Section extends Group {
this.sectionMiddle && this.sectionMiddle.setStyle({stroke: this.style.Section.sectionMiddle.preResetColor}); this.sectionMiddle && this.sectionMiddle.setStyle({stroke: this.style.Section.sectionMiddle.preResetColor});
this.sectionMiddle && this.sectionMiddle.show(); this.sectionMiddle && this.sectionMiddle.show();
} }
if (this.model.type == '05') {
this.line && this.line.setCross({fill: this.style.Section.sectionMiddle.preResetColor});
}
} }
// 延时解锁 // 延时解锁
delayUnlock() { delayUnlock() {
@ -505,7 +510,7 @@ export default class Section extends Group {
model.speedUpLimit > 0 && this.setSpeedUpperLimit(model.speedUpLimit); model.speedUpLimit > 0 && this.setSpeedUpperLimit(model.speedUpLimit);
// 区段计轴预复位状态 (未处理) // 区段计轴预复位状态 (未处理)
// 区段延时解锁 // 区段延时解锁
model.delayUnlock && this.delayUnlock(); model.remain > 0 && this.delayUnlock();
// 设置灰显 // 设置灰显
if (model.noStatus || (model.atsNoStatus && store.state.training.prdType == '02')) { if (model.noStatus || (model.atsNoStatus && store.state.training.prdType == '02')) {
this.setAshShow(); this.setAshShow();

View File

@ -617,6 +617,10 @@ export default class Switch extends Group {
// 空闲 // 空闲
section.setStyle({'stroke': this.style.Section.line.spareColor}); section.setStyle({'stroke': this.style.Section.line.spareColor});
section.show(); section.show();
if (sectionModel.faultLock) {
section.setStyle({'stroke': this.style.Section.line.faultLockColor });
section.show();
}
// 道岔保护区段锁闭 // 道岔保护区段锁闭
if (sectionModel.overlapLock) { if (sectionModel.overlapLock) {
section.setStyle({'stroke': this.style.Section.line.protectiveLockColor}); section.setStyle({'stroke': this.style.Section.line.protectiveLockColor});

View File

@ -248,16 +248,26 @@ export default class Train extends Group {
} }
} }
// 设置列车停止方向类型 // 设置列车停止方向类型
setDirectionStopType(right) { setDirectionStopType(right, flag) {
if (this.style.Train.trainStatusStyle.directionStopType.length > 0) { if (this.style.Train.trainStatusStyle.directionStopType.length > 0) {
this.style.Train.trainStatusStyle.directionStopType.forEach((item) => { this.style.Train.trainStatusStyle.directionStopType.forEach((item) => {
if (right == item.type) { if (right == item.type) {
if (this.style.Train.trainHead.directionStopType == 'special') { if (this.style.Train.trainHead.directionStopType == 'special') {
this.trainL && this.trainL.setArrowShow(item.lineLShow); if (flag) {
this.trainR && this.trainR.setArrowShow(item.lineRShow); this.trainL && this.trainL.setArrowShow(!item.lineLShow);
this.trainR && this.trainR.setArrowShow(!item.lineRShow);
} else {
this.trainL && this.trainL.setArrowShow(item.lineLShow);
this.trainR && this.trainR.setArrowShow(item.lineRShow);
}
} else { } else {
this.trainL && this.trainL.setLineShow(item.lineLShow); if (flag) {
this.trainR && this.trainR.setLineShow(item.lineRShow); this.trainL && this.trainL.setLineShow(!item.lineLShow);
this.trainR && this.trainR.setLineShow(!item.lineRShow);
} else {
this.trainL && this.trainL.setLineShow(item.lineLShow);
this.trainR && this.trainR.setLineShow(item.lineRShow);
}
this.triangle && this.triangle.setStopShow(true); // 停车 this.triangle && this.triangle.setStopShow(true); // 停车
} }
return true; return true;
@ -268,7 +278,7 @@ export default class Train extends Group {
// 设置运行状态 // 设置运行状态
setRunStatus(status, flag) { setRunStatus(status, flag) {
if (status) { if (status) {
this.setDirectionStopType(this.model.right); // 设置运行方向状态类型 this.setDirectionStopType(this.model.right, flag); // 设置运行方向状态类型
} else { } else {
this.setDirectionType(this.model.right, flag); // 设置运行方向状态类型 this.setDirectionType(this.model.right, flag); // 设置运行方向状态类型
} }

View File

@ -229,7 +229,7 @@ export default {
} else if (selected._type === 'Switch' && this.popClass === 'nanjing-02__systerm' ) { } else if (selected._type === 'Switch' && this.popClass === 'nanjing-02__systerm' ) {
this.faultList = [ this.faultList = [
{label: '短闪', value: 'SPLIT'}, {label: '短闪', value: 'SPLIT'},
{label: '短闪(4次恢复', value: 'SPLIT_4'}, {label: '短闪(转动后恢复)', value: 'SPLIT_1'},
{label: '定位短闪', value: 'NORMAL_SPLIT'}, {label: '定位短闪', value: 'NORMAL_SPLIT'},
{label: '反位短闪', value: 'REVERSE_SPLIT'}, {label: '反位短闪', value: 'REVERSE_SPLIT'},
{label: '长闪', value: 'SQUEEZE'}, {label: '长闪', value: 'SQUEEZE'},

View File

@ -82,6 +82,7 @@ import UserLogout from './Logout';
import QuickEntry from './Entry'; import QuickEntry from './Entry';
import SystemTitle from './Title'; import SystemTitle from './Title';
import {getSessionStorage } from '@/utils/auth'; import {getSessionStorage } from '@/utils/auth';
import { ThirdLoginList } from '@/scripts/ProjectConfig';
export default { export default {
components: { components: {
@ -94,15 +95,17 @@ export default {
routes: [], routes: [],
isShow: false, isShow: false,
activePath: '', activePath: '',
index: '', index: ''
thirdLogin:''
}; };
}, },
computed: { computed: {
...mapGetters([ ...mapGetters([
'avatar', 'avatar',
'routers' 'routers'
]) ]),
thirdLogin() {
return ThirdLoginList.includes(getSessionStorage('project'));
}
}, },
watch: { watch: {
@ -115,7 +118,6 @@ export default {
} }
}, },
mounted() { mounted() {
this.thirdLogin = getSessionStorage('project') == 'richor';
this.routes = this.$router.options.routes; this.routes = this.$router.options.routes;
if (this.$route.fullPath.indexOf('design/usermap') >= 0) { if (this.$route.fullPath.indexOf('design/usermap') >= 0) {
this.activePath = '/design/usermap/home'; this.activePath = '/design/usermap/home';

View File

@ -1,11 +1,13 @@
import Vue from 'vue'; import Vue from 'vue';
import store from '@/store/index'; import store from '@/store/index';
import router from './router/index'; import router from './router/index';
import {loginInfo} from '@/scripts/ProjectConfig'; import {loginInfo, ProjectCode, localPackageProject} from '@/scripts/ProjectConfig';
import NProgress from 'nprogress'; import NProgress from 'nprogress';
import 'nprogress/nprogress.css'; import 'nprogress/nprogress.css';
import { setToken, getToken, removeToken, getSessionStorage } from '@/utils/auth'; import { setToken, getToken, removeToken, getSessionStorage } from '@/utils/auth';
import { getBaseUrlByProject } from '@/api/projectServer';
import localStore from 'storejs'; import localStore from 'storejs';
import { getBaseUrl } from '@/utils/baseUrl';
const whiteList = ['/login', '/design/login', '/gzzbxy/relay', '/authorization', '/AUSline', '/AUStool', '/demo', '/thirdLogin']; // 不重定向白名单 const whiteList = ['/login', '/design/login', '/gzzbxy/relay', '/authorization', '/AUSline', '/AUStool', '/demo', '/thirdLogin']; // 不重定向白名单
@ -66,8 +68,37 @@ function handleRoute(to, next, loginPath) {
} }
} }
router.beforeEach((to, from, next) => { router.beforeEach( async (to, from, next) => {
const project = getSessionStorage('project'); let project = '';
if (to.path.includes('login')) {
project = to.query.project;
const split = to.path.split('/')[1];
if (process.env.VUE_APP_PRO) {
project = localPackageProject[process.env.VUE_APP_PRO + split];
} else if (split == 'design') {
project = project ? split + project : split;
} else if (split == 'login') {
project = project || 'login';
} else {
project = split;
}
} else if (to.path.includes('thirdLogin')) {
project = to.query.project;
} else {
project = getSessionStorage('project');
}
if (!store.state.user.baseUrl && project) {
try {
const resp = await getBaseUrlByProject(ProjectCode[project]);
if (resp && resp.data && resp.data.domainName) {
store.dispatch('setBaseUrl', resp.data.domainName);
} else {
store.dispatch('setBaseUrl', getBaseUrl());
}
} catch (e) {
store.dispatch('setBaseUrl', getBaseUrl());
}
}
document.title = loginInfo[project || 'login'].browserTitle || loginInfo[project || 'login'].title; document.title = loginInfo[project || 'login'].browserTitle || loginInfo[project || 'login'].title;
NProgress.start(); NProgress.start();
const loginPath = getRouteInfo(to); const loginPath = getRouteInfo(to);

View File

@ -21,8 +21,6 @@ const Jlmap3dZzwwTest = () => import('@/views/jlmap3d/otherproject/zzww/zzwwtest
const XzExam = () => import('@/views/jlmap3d/otherproject/xzexam/xzexam'); const XzExam = () => import('@/views/jlmap3d/otherproject/xzexam/xzexam');
const LcJy = () => import('@/views/jlmap3d/otherproject/xzexam/lcjy'); const LcJy = () => import('@/views/jlmap3d/otherproject/xzexam/lcjy');
const Jlmap3d = () => import('@/views/jlmap3d/drive/jl3ddrive'); const Jlmap3d = () => import('@/views/jlmap3d/drive/jl3ddrive');
const Jlmap3dSandbox = () => import('@/views/jlmap3d/simulation/jl3dsimulation'); const Jlmap3dSandbox = () => import('@/views/jlmap3d/simulation/jl3dsimulation');
const Jlmap3dPassFlow = () => import('@/views/jlmap3d/passflow/jl3dpassflow'); const Jlmap3dPassFlow = () => import('@/views/jlmap3d/passflow/jl3dpassflow');
@ -193,6 +191,7 @@ const UeditorDraftList = () => import('@/views/editor/listDraft');
const UploadPdfList = () => import('@/views/uploadPdf/list'); const UploadPdfList = () => import('@/views/uploadPdf/list');
const ThirdLogin = () => import('@/views/thirdLogin'); const ThirdLogin = () => import('@/views/thirdLogin');
const ProjectServer = () => import('@/views/system/serverManage');
// import { GenerateRouteProjectList } from '@/scripts/ProjectConfig'; // import { GenerateRouteProjectList } from '@/scripts/ProjectConfig';
// import { getSessionStorage } from '@/utils/auth'; // import { getSessionStorage } from '@/utils/auth';
@ -1203,6 +1202,13 @@ export const asyncRouter = [
meta: { meta: {
i18n: 'router.voiceTraining' i18n: 'router.voiceTraining'
} }
},
{
path: 'projectServer',
component: ProjectServer,
meta: {
i18n: 'router.projectServer'
}
} }
// { // {
// path: 'deviceManage', // path: 'deviceManage',

View File

@ -547,7 +547,10 @@ export const loginInfo = {
designrichorygy: { designrichorygy: {
title: '扬州工业职业技术学院城市轨道交通设计平台', title: '扬州工业职业技术学院城市轨道交通设计平台',
loginPath: '/design/login?project=richorygy', loginPath: '/design/login?project=richorygy',
bottomColumn: '中航锐创(北京)科技发展有限公司 联系电话:4000500081',
loginParam: 'RICHOR_YGY', loginParam: 'RICHOR_YGY',
linkIcon: FaviconRichor,
titleIcon: FaviconRichor,
titleDistance: '-150px', titleDistance: '-150px',
navigationLogoWidth: '40px', navigationLogoWidth: '40px',
navigationMarginLeft: '60px', navigationMarginLeft: '60px',
@ -556,7 +559,10 @@ export const loginInfo = {
richorygy: { richorygy: {
title: '扬州工业职业技术学院城市轨道交通实训平台', title: '扬州工业职业技术学院城市轨道交通实训平台',
loginPath: '/login?project=richorygy', loginPath: '/login?project=richorygy',
bottomColumn: '中航锐创(北京)科技发展有限公司 联系电话:4000500081',
loginParam: 'RICHOR_YGY', loginParam: 'RICHOR_YGY',
linkIcon: FaviconRichor,
titleIcon: FaviconRichor,
titleDistance: '-150px', titleDistance: '-150px',
navigationLogoWidth: '40px', navigationLogoWidth: '40px',
navigationMarginLeft: '60px', navigationMarginLeft: '60px',
@ -702,9 +708,12 @@ export const ProjectCode = {
hls: 'DEFAULT', hls: 'DEFAULT',
designhls: 'DEFAULT' designhls: 'DEFAULT'
}; };
/** 嵌入第三方平台 导航栏右上角 清空 */
export const ThirdLoginList = ['richor', 'designrichor', 'richorygy', 'designrichorygy'];
/** 底部栏仅展示公司信息不展示备案号 */ /** 底部栏仅展示公司信息不展示备案号 */
export const BottomColumnOnlyConInfo = ['heb', 'designheb', 'jyd', 'designjyd', 'tky', 'designtky', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls', export const BottomColumnOnlyConInfo = ['heb', 'designheb', 'jyd', 'designjyd', 'tky', 'designtky', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls',
'designhls', 'hyd', 'designhyd', 'cgy', 'designcgy', 'richor', 'richorlesson3d', 'richorjoint', 'designrichorjoint', 'nologo', 'designnologo']; 'designhls', 'hyd', 'designhyd', 'cgy', 'designcgy', 'richor', 'richorlesson3d', 'richorjoint', 'designrichorjoint', 'nologo', 'designnologo', 'richorygy',
'designrichorygy'];
/** 实训设计平台通过项目code获取地图列表的项目 */ /** 实训设计平台通过项目code获取地图列表的项目 */
export const GetMapListByProjectList = ['xty', 'designxty', 'gzb', 'designgzb', 'xadt', 'designxadt', 'heb', 'designheb', 'designdrts', 'drts', 'wjls', export const GetMapListByProjectList = ['xty', 'designxty', 'gzb', 'designgzb', 'xadt', 'designxadt', 'heb', 'designheb', 'designdrts', 'drts', 'wjls',
'nty', 'designnty', 'sdy', 'designsdy', 'ntyc', 'designntyc', 'ntyl', 'designntyl', 'designbjd', 'cgy', 'designcgy', 'zzww', 'zzwwtest', 'richor', 'nty', 'designnty', 'sdy', 'designsdy', 'ntyc', 'designntyc', 'ntyl', 'designntyl', 'designbjd', 'cgy', 'designcgy', 'zzww', 'zzwwtest', 'richor',
@ -772,9 +781,7 @@ export const goOtherPlatformMenu = {
srsandbox: '/design/login?project=srsandbox', srsandbox: '/design/login?project=srsandbox',
designsrsandbox: '/login?project=srsandbox', designsrsandbox: '/login?project=srsandbox',
jxgm: '/design/login?project=jxgm', jxgm: '/design/login?project=jxgm',
designjxgm: '/login?project=jxgm', designjxgm: '/login?project=jxgm'
richorygy: '/design/login?project=richorygy',
designrichorygy: '/login?project=richorygy'
}; };
export const ProjectList = [ export const ProjectList = [
{value:'xty', label:'西铁院'}, {value:'xty', label:'西铁院'},

View File

@ -19,7 +19,7 @@ const service = axios.create({
timeout: 600000 // 请求超时时间 timeout: 600000 // 请求超时时间
}); });
// request拦截器 // request拦截器108
service.interceptors.request.use(config => { service.interceptors.request.use(config => {
if (getToken()) { if (getToken()) {
config.headers['X-Token'] = getToken(); // 让每个请求携带自定义token 请根据实际情况自行修改 config.headers['X-Token'] = getToken(); // 让每个请求携带自定义token 请根据实际情况自行修改

View File

@ -8,10 +8,10 @@ export function EbUiData() {
{ {
name:"ATON", name:"ATON",
label:"ATO", label:"ATO",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -19,10 +19,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"ATPN", name:"ATPN",
label:"ATP", label:"ATP",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -30,10 +30,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"BCN", name:"BCN",
label:"制动控制", label:"制动控制",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -41,10 +41,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"BVN", name:"BVN",
label:"司控器制动控制", label:"司控器制动控制",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -52,10 +52,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"CABN", name:"CABN",
label:"司机室激活", label:"司机室激活",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -63,10 +63,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"CEHECN", name:"CEHECN",
label:"司机室电热设备控制", label:"司机室电热设备控制",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -75,10 +75,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"CLN", name:"CLN",
label:"司机室灯", label:"司机室灯",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -86,10 +86,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"CMCN", name:"CMCN",
label:"空压机控制", label:"空压机控制",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -98,10 +98,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"CVSN", name:"CVSN",
label:"CVS控制", label:"CVS控制",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -109,10 +109,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"DACUN", name:"DACUN",
label:"广播控制盒", label:"广播控制盒",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -121,10 +121,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"DC24M1N", name:"DC24M1N",
label:"DC24V电源1", label:"DC24V电源1",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -132,10 +132,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"DC24M2N", name:"DC24M2N",
label:"DC24V电源2", label:"DC24V电源2",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -144,10 +144,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"DCN", name:"DCN",
label:"车门控制", label:"车门控制",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -155,10 +155,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"DFVN", name:"DFVN",
label:"蓄电池电压表", label:"蓄电池电压表",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -167,10 +167,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"EBCN", name:"EBCN",
label:"紧急制动控制", label:"紧急制动控制",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -178,10 +178,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"FPCN", name:"FPCN",
label:"废排风机控制", label:"废排风机控制",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -190,10 +190,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"HMIN", name:"HMIN",
label:"信号显示屏", label:"信号显示屏",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -201,10 +201,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"PACN", name:"PACN",
label:"PA司机室", label:"PA司机室",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -213,10 +213,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"PANCN", name:"PANCN",
label:"受电弓控制", label:"受电弓控制",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -224,10 +224,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"PCN", name:"PCN",
label:"司控器牵引控制", label:"司控器牵引控制",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -236,10 +236,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"PEHCN", name:"PEHCN",
label:"客室电加热器控制", label:"客室电加热器控制",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -247,10 +247,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"EHVN", name:"EHVN",
label:"备用", label:"备用",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -262,10 +262,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"PISCN", name:"PISCN",
label:"司机室信显", label:"司机室信显",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -273,10 +273,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"PLCN", name:"PLCN",
label:"客室照明控制", label:"客室照明控制",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -285,10 +285,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"RBN", name:"RBN",
label:"雨刷", label:"雨刷",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -296,10 +296,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"RCSN", name:"RCSN",
label:"信号无线", label:"信号无线",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -308,10 +308,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"RN", name:"RN",
label:"车载无线电台", label:"车载无线电台",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -319,10 +319,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"SILN", name:"SILN",
label:"信号灯", label:"信号灯",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -331,10 +331,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"TCMSDPN", name:"TCMSDPN",
label:"TCMS显示屏", label:"TCMS显示屏",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -342,10 +342,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"TCMSN", name:"TCMSN",
label:"TCMS", label:"TCMS",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -354,10 +354,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"WFLN", name:"WFLN",
label:"轮缘润滑装置", label:"轮缘润滑装置",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -365,10 +365,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"CLBPN", name:"CLBPN",
label:"导光板", label:"导光板",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -377,10 +377,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"HLN", name:"HLN",
label:"前照灯", label:"前照灯",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -388,10 +388,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"MSRN", name:"MSRN",
label:"司控器电位计", label:"司控器电位计",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -400,10 +400,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"RPLN", name:"RPLN",
label:"防护灯", label:"防护灯",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -411,10 +411,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"VSN", name:"VSN",
label:"网压传感器", label:"网压传感器",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -423,10 +423,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"备用", name:"备用",
label:"备用", label:"备用",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -434,10 +434,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"CVN", name:"CVN",
label:"司机室通风", label:"司机室通风",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"4.5%", width:"4.5%",
@ -446,10 +446,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"SLPN", name:"SLPN",
label:"漏电保护", label:"漏电保护",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"non", lighttype:"non",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close1.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open1.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"9%", width:"9%",
@ -457,10 +457,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"EHGN", name:"EHGN",
label:"电热玻璃", label:"电热玻璃",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"two", lighttype:"two",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close2.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open2.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"9%", width:"9%",
@ -469,10 +469,10 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
{ {
name:"CEHN", name:"CEHN",
label:"司机室电加热", label:"司机室电加热",
light:"#6C6C6C", light:"#FF2D2D",
lighttype:"two", lighttype:"two",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close2.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/open2.png",
bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png", bgpic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/normalswitchbg.png",
top:"5%", top:"5%",
width:"9%", width:"9%",
@ -485,7 +485,7 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
name:"BNBB", name:"BNBB",
label:"制动不缓解旁路", label:"制动不缓解旁路",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png",
top:"5%", top:"5%",
width:"11%", width:"11%",
@ -494,7 +494,7 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
name:"PABB", name:"PABB",
label:"停放制动旁路", label:"停放制动旁路",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png",
top:"5%", top:"5%",
width:"11%", width:"11%",
@ -503,7 +503,7 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
name:"DCBB", name:"DCBB",
label:"门安全旁路", label:"门安全旁路",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png",
top:"5%", top:"5%",
width:"11%", width:"11%",
@ -512,7 +512,7 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
name:"DSBB", name:"DSBB",
label:"门选择旁路", label:"门选择旁路",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png",
top:"5%", top:"5%",
width:"11%", width:"11%",
@ -521,7 +521,7 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
name:"DMBB", name:"DMBB",
label:"警惕旁路", label:"警惕旁路",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png",
top:"5%", top:"5%",
width:"11%", width:"11%",
@ -530,7 +530,7 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
name:"TOWB", name:"TOWB",
label:"回送", label:"回送",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png",
top:"5%", top:"5%",
width:"11%", width:"11%",
@ -539,7 +539,7 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
name:"CFB", name:"CFB",
label:"换端", label:"换端",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/green.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/green.png",
top:"5%", top:"5%",
width:"11%", width:"11%",
@ -548,7 +548,7 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
name:"BATOB", name:"BATOB",
label:"蓄电池断", label:"蓄电池断",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/red.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/red.png",
top:"5%", top:"5%",
width:"11%", width:"11%",
@ -557,7 +557,7 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
name:"DMTB", name:"DMTB",
label:"警惕测试", label:"警惕测试",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/yellow.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/yellow.png",
top:"5%", top:"5%",
width:"11%", width:"11%",
@ -566,7 +566,7 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
name:"ADDCB", name:"ADDCB",
label:"ADD切除", label:"ADD切除",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png",
top:"5%", top:"5%",
width:"11%", width:"11%",
@ -575,7 +575,7 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
name:"BACKMB", name:"BACKMB",
label:"后背模式", label:"后背模式",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png",
top:"5%", top:"5%",
width:"11%", width:"11%",
@ -584,7 +584,7 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
name:"EBSB", name:"EBSB",
label:"紧急制动环路短接", label:"紧急制动环路短接",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png",
top:"5%", top:"5%",
width:"11%", width:"11%",
@ -593,7 +593,7 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
name:"E3B", name:"E3B",
label:"紧急按钮旁路", label:"紧急按钮旁路",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png",
top:"5%", top:"5%",
width:"11%", width:"11%",
@ -602,7 +602,7 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
name:"LD1BB", name:"LD1BB",
label:"左门1km/h旁路", label:"左门1km/h旁路",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png",
top:"5%", top:"5%",
width:"11%", width:"11%",
@ -611,7 +611,7 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
name:"RD1BB", name:"RD1BB",
label:"右门1km/h旁路", label:"右门1km/h旁路",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png",
top:"5%", top:"5%",
width:"11%", width:"11%",
@ -620,7 +620,7 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
name:"", name:"",
label:"备用", label:"备用",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/gai2.png",
top:"5%", top:"5%",
width:"11%", width:"11%",
@ -629,7 +629,7 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
name:"BATCB", name:"BATCB",
label:"蓄电池合", label:"蓄电池合",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/green.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/green.png",
top:"5%", top:"5%",
width:"11%", width:"11%",
@ -638,7 +638,7 @@ statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/close.png",
name:"FRB", name:"FRB",
label:"初次升弓", label:"初次升弓",
lighttype:"normal", lighttype:"normal",
status:false, status:true,
statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/green.png", statuspic:JL3D_LOCAL_STATIC+"/jl3d/equipbox/green.png",
top:"5%", top:"5%",
width:"11%", width:"11%",

View File

@ -593,7 +593,7 @@ export default {
}); });
} else if (this.project === 'zzwwtest') { } else if (this.project === 'zzwwtest') {
this.$router.push({ path: '/jlmap3d/zzwwtest', query: {lessonId:'35'} }); this.$router.push({ path: '/jlmap3d/zzwwtest', query: {lessonId:'35'} });
}else if (this.project === 'xzexam') { } else if (this.project === 'xzexam') {
this.$router.push({ path: '/jlmap3d/xzexam', query: {} }); this.$router.push({ path: '/jlmap3d/xzexam', query: {} });
} else if (this.project === 'richorlesson3d') { } else if (this.project === 'richorlesson3d') {
this.$router.push({ path: '/jlmap3d/lesson3dselect', query: {} }); this.$router.push({ path: '/jlmap3d/lesson3dselect', query: {} });

View File

@ -30,9 +30,9 @@
<el-button type="danger" size="small" @click="handleQuitQuest">退出剧本</el-button> <el-button type="danger" size="small" @click="handleQuitQuest">退出剧本</el-button>
</template> </template>
<template v-else-if="!projectDevice"> <template v-else-if="!projectDevice">
<el-button v-if="!isDepoltSim && project !== 'srsandbox'" type="success" :disabled="isDisable" size="small" @click="selectBeginTime">{{ $t('display.demon.drivingByPlan') }}</el-button> <el-button v-if="project !== 'srsandbox'" type="success" :disabled="isDisable" size="small" @click="selectBeginTime">{{ $t('display.demon.drivingByPlan') }}</el-button>
<!-- isDisable&& --> <!-- isDisable&& -->
<el-button v-if="isAdmin&&!isDepoltSim" v-loading="pauseLoading" :type="simulationPaused?'warning':'primary'" size="small" @click="startOrPause">{{ simulationPaused?'开始':'暂停' }}</el-button> <el-button v-if="isAdmin" v-loading="pauseLoading" :type="simulationPaused?'warning':'primary'" size="small" @click="startOrPause">{{ simulationPaused?'开始':'暂停' }}</el-button>
<el-button type="danger" size="small" @click="end">{{ $t('display.demon.initialize') }}</el-button> <el-button type="danger" size="small" @click="end">{{ $t('display.demon.initialize') }}</el-button>
</template> </template>
</template> </template>
@ -164,9 +164,6 @@ export default {
simulationPaused() { simulationPaused() {
return this.$store.state.socket.simulationPause; return this.$store.state.socket.simulationPause;
}, },
isDepoltSim() {
return this.$route.query.prdType === '09';
},
noChatBox() { noChatBox() {
return this.project.includes('srsandbox') || this.project.includes('jxgm'); return this.project.includes('srsandbox') || this.project.includes('jxgm');
} }

View File

@ -2,7 +2,7 @@
<div> <div>
<div class="schema" :style="{top: offset+'px'}"> <div class="schema" :style="{top: offset+'px'}">
<select-station v-if="isShowSelectStation && !isScript" ref="selectStation" :style-css="'width: 100px;'" /> <select-station v-if="isShowSelectStation && !isScript" ref="selectStation" :style-css="'width: 100px;'" />
<el-select v-if="!isDepoltSim" v-model="speed" style="width: 100px;" size="small" @change="speedChange"> <el-select v-model="speed" style="width: 100px;" size="small" @change="speedChange">
<el-option <el-option
v-for="item in speedList" v-for="item in speedList"
:key="item.value" :key="item.value"
@ -10,12 +10,12 @@
:value="item.value" :value="item.value"
/> />
</el-select> </el-select>
<template v-if="!dataError && !isDepoltSim"> <template v-if="!dataError">
<el-button-group v-if="project !== 'bjd'"> <el-button-group v-if="project !== 'bjd'">
<el-button v-if="isLocalStation && $route.query.lineCode!='08'" size="small" @click="goIbp">IBP盘</el-button> <el-button v-if="isLocalStation && $route.query.lineCode!='08'" size="small" @click="goIbp">IBP盘</el-button>
<el-button v-if="isScheduling && isDepot" size="small" type="primary" @click="runPlanEditShow">运行图编辑</el-button> <el-button v-if="isScheduling && isDepot" size="small" type="primary" @click="runPlanEditShow">运行图编辑</el-button>
<!-- 加载剧本 --> <!-- 加载剧本 -->
<el-button v-if="isDemon && !isScheduling && !isContest" size="small" :disabled="viewDisabled" type="success" @click="viewRunQuest">{{ $t('display.schema.loadScript') }}</el-button> <el-button v-if="isDemon && !isScheduling && !isContest && !isDepoltSim" size="small" :disabled="viewDisabled" type="success" @click="viewRunQuest">{{ $t('display.schema.loadScript') }}</el-button>
<!-- 运行图加载 --> <!-- 运行图加载 -->
<!-- notScript && --> <!-- notScript && -->
<el-button v-if="running" size="small" :disabled="viewDisabled" @click="viewRunPlan">{{ $t('display.schema.previewRunDiagram') }}</el-button> <el-button v-if="running" size="small" :disabled="viewDisabled" @click="viewRunPlan">{{ $t('display.schema.previewRunDiagram') }}</el-button>

View File

@ -93,7 +93,7 @@ export default {
'routeNameUseEndOppositeSignalName', 'generateTbRoute', 'tbRouteNameUseEndOppositeSignalName', 'routeSignalAlwaysGreen', 'routeNameUseEndOppositeSignalName', 'generateTbRoute', 'tbRouteNameUseEndOppositeSignalName', 'routeSignalAlwaysGreen',
'routeApartByOverlap', 'overlapOnlySwitch', 'overlapSwitchNpOnly', 'overlapSignalOppositeSwitchNpOnly', 'routeApartByOverlap', 'overlapOnlySwitch', 'overlapSwitchNpOnly', 'overlapSignalOppositeSwitchNpOnly',
'generateCycle', 'routeButton', 'likeHa1', 'getNearlySignal', 'overlapSettingByTrigger', 'generateFls', 'signalApproachNotPassPreSignal', 'generateCycle', 'routeButton', 'likeHa1', 'getNearlySignal', 'overlapSettingByTrigger', 'generateFls', 'signalApproachNotPassPreSignal',
'generateDestination', 'ctcOverlapOnlyTurnBackStationLock', 'routeInterlockDoNotIncludeStandHoldTrain' 'generateDestination', 'ctcOverlapOnlyTurnBackStationLock', 'routeInterlockDoNotIncludeStandHoldTrain', 'handleDepot'
], ],
multipleList: ['sharingECStations'], multipleList: ['sharingECStations'],
selectList: [], selectList: [],
@ -128,7 +128,8 @@ export default {
generateDestination: '是否生成目的地码定义(泰雷兹)', generateDestination: '是否生成目的地码定义(泰雷兹)',
sharingECStations: '共享紧急关闭效果的车站', sharingECStations: '共享紧急关闭效果的车站',
ctcOverlapOnlyTurnBackStationLock: 'CTC列车进路延续保护仅折返站处锁闭', ctcOverlapOnlyTurnBackStationLock: 'CTC列车进路延续保护仅折返站处锁闭',
routeInterlockDoNotIncludeStandHoldTrain: '进路联锁不包含站台扣车' routeInterlockDoNotIncludeStandHoldTrain: '进路联锁不包含站台扣车',
handleDepot: '是否处理停车场/车辆段逻辑'
} }
}; };
}, },

View File

@ -274,7 +274,6 @@ export default {
loadInitPage() { loadInitPage() {
this.$store.dispatch('training/changeMode', { mode: TrainingMode.MAP_EDIT }); this.$store.dispatch('training/changeMode', { mode: TrainingMode.MAP_EDIT });
this.mapInfo = { name: this.$t('map.pleaseSelectMap'), id: this.$route.params.mapId }; this.mapInfo = { name: this.$t('map.pleaseSelectMap'), id: this.$route.params.mapId };
console.log(this.mapInfo, '======================');
if (parseInt(this.mapInfo.id)) { if (parseInt(this.mapInfo.id)) {
this.mapInfo.name = this.$route.query.name; this.mapInfo.name = this.$route.query.name;
getMapDetail(this.$route.params.mapId) getMapDetail(this.$route.params.mapId)

View File

@ -41,19 +41,40 @@
<el-button type="" size="mini" @click="clearList">清空</el-button> <el-button type="" size="mini" @click="clearList">清空</el-button>
</div> </div>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="批量车头翻转" name="fifth">
<el-button type="primary" size="mini" @click="handleTrainReverse">批量车头翻转</el-button>
<el-button type="" size="mini" @click="clearList">清空</el-button>
</el-tab-pane>
</el-tabs> </el-tabs>
<div v-for="item in modelList" :key="item.type" class="content-box-list" style="margin-top: 10px"> <template v-if="activeName != 'fifth'">
<div class="title-box">{{ item.name }}</div> <div v-for="item in modelList" :key="item.type" class="content-box-list" style="margin-top: 10px">
<div class="title-box">{{ item.name }}</div>
<div class="list-box">
<div
v-for="nor in item.list"
:key="nor.code"
class="list-content"
@mouseenter="mouseenter(nor)"
@mouseleave="mouseleave(nor)"
>
<div class="name">{{ nor.name }}</div>
<div class="close" @click="delList(nor, item.list)"><i class="el-icon-close" /></div>
</div>
</div>
</div>
</template>
<div v-if="activeName == 'fifth'" class="content-box-list" style="margin-top: 10px">
<div class="title-box">车次窗列表</div>
<div class="list-box"> <div class="list-box">
<div <div
v-for="nor in item.list" v-for="nor in trainWindowList"
:key="nor.code" :key="nor.code"
class="list-content" class="list-content"
@mouseenter="mouseenter(nor)" @mouseenter="mouseenter(nor)"
@mouseleave="mouseleave(nor)" @mouseleave="mouseleave(nor)"
> >
<div class="name">{{ nor.name }}</div> <div class="name">{{ nor.code }}</div>
<div class="close" @click="delList(nor, item.list)"><i class="el-icon-close" /></div> <div class="close" @click="delList(nor, trainWindowList)"><i class="el-icon-close" /></div>
</div> </div>
</div> </div>
</div> </div>
@ -81,6 +102,7 @@ export default {
stationCode: '', stationCode: '',
belongStationCode: '', belongStationCode: '',
activeName: 'first', activeName: 'first',
trainWindowList: [],
modelList: [ modelList: [
{ {
type: 'Section', type: 'Section',
@ -129,6 +151,7 @@ export default {
} else { } else {
this.modelList[0].logicSectionList.push(item); this.modelList[0].logicSectionList.push(item);
} }
if (item.trainWindowCode) { this.trainWindowList.push(this.$store.getters['map/getDeviceByCode'](item.trainWindowCode)); }
} else if (item._type == 'Switch') { } else if (item._type == 'Switch') {
this.modelList[1].list.push(item); this.modelList[1].list.push(item);
} else if (item._type == 'Signal') { } else if (item._type == 'Signal') {
@ -226,6 +249,16 @@ export default {
el.click(); el.click();
URL.revokeObjectURL(url); URL.revokeObjectURL(url);
}, },
handleTrainReverse() {
const models = [];
this.trainWindowList.forEach(item => {
const Model = deepAssign({}, this.$store.getters['map/getDeviceByCode'](item.code));
Model.reversal = !Model.reversal;
models.push(Model);
});
this.$emit('updateMapModel', models);
this.$message.success('批量车头翻转设置成功!');
},
handleReverse() { handleReverse() {
const models = []; const models = [];
this.modelList.forEach(model => { this.modelList.forEach(model => {
@ -266,6 +299,7 @@ export default {
// //
this.stationCode = ''; this.stationCode = '';
this.belongStationCode = ''; this.belongStationCode = '';
this.trainWindowList = [];
this.$store.commit('map/setSeclectDeviceList', []); this.$store.commit('map/setSeclectDeviceList', []);
this.modelList = [ this.modelList = [
{ {

View File

@ -29,6 +29,7 @@ class Model {
this.transferTrack = false; // 是否转换轨 this.transferTrack = false; // 是否转换轨
this.transferTrackName = ''; this.transferTrackName = '';
this.transferTrackNamePosition = { x: 0, y: 0 }; this.transferTrackNamePosition = { x: 0, y: 0 };
this.parkingTrack = false; // 是否停车轨
this.switchSection = false; // 是否关联道岔 this.switchSection = false; // 是否关联道岔
this.relSwitchCode = ''; this.relSwitchCode = '';
this.stationCode = ''; this.stationCode = '';

View File

@ -148,7 +148,7 @@ export default {
{ prop: 'roadType', label: '线路类型:', type: 'select', optionLabel: 'name', optionValue: 'code', options: this.sectionRoadTypeList, clearable: true, isHidden: !this.isSwitchSectionType || !this.isCrossSectionType, deviceChange: this.roadTypeChange }, { prop: 'roadType', label: '线路类型:', type: 'select', optionLabel: 'name', optionValue: 'code', options: this.sectionRoadTypeList, clearable: true, isHidden: !this.isSwitchSectionType || !this.isCrossSectionType, deviceChange: this.roadTypeChange },
{ prop: 'leftSectionCode', label: this.$t('map.leftAssociatedSection'), type: 'selectHover', optionLabel: 'name&&code', optionValue: 'code', clearable: true, options: this.switchAndPhySicalSectionList, hover: this.hover, buttonType: 'leftSection', buttonShowType: this.isLeftSectionButtonShow, isHidden: !this.hasAssociatedSection }, // { prop: 'leftSectionCode', label: this.$t('map.leftAssociatedSection'), type: 'selectHover', optionLabel: 'name&&code', optionValue: 'code', clearable: true, options: this.switchAndPhySicalSectionList, hover: this.hover, buttonType: 'leftSection', buttonShowType: this.isLeftSectionButtonShow, isHidden: !this.hasAssociatedSection }, //
{ prop: 'rightSectionCode', label: this.$t('map.rightAssociatedSection'), type: 'selectHover', optionLabel: 'name&&code', optionValue: 'code', clearable: true, options: this.switchAndPhySicalSectionList, hover: this.hover, buttonType: 'rightSection', buttonShowType: this.isRightSectionButtonShow, isHidden: !this.hasAssociatedSection }, // { prop: 'rightSectionCode', label: this.$t('map.rightAssociatedSection'), type: 'selectHover', optionLabel: 'name&&code', optionValue: 'code', clearable: true, options: this.switchAndPhySicalSectionList, hover: this.hover, buttonType: 'rightSection', buttonShowType: this.isRightSectionButtonShow, isHidden: !this.hasAssociatedSection }, //
{ prop: 'parentCode', label: this.$t('map.associatedSection'), type: 'select', mode: true, optionLabel: 'name&&code', optionValue: 'code', disabled: true, options: this.sectionList, isHidden: !this.isParentCode }, // /code { prop: 'parentCode', label: this.$t('map.associatedSection'), type: 'select', mode: true, optionLabel: 'name&&code', optionValue: 'code', disabled: this.isCrossSectionType, options: this.sectionList, isHidden: !this.isParentCode }, // /code
{ prop: 'sepTypeLeft', label: this.$t('map.sepTypeLeft'), type: 'select', optionLabel: 'name', optionValue: 'code', options: this.SectionSepTypeList, isHidden: !this.isSwitchSectionType || !this.isCrossSectionType }, { prop: 'sepTypeLeft', label: this.$t('map.sepTypeLeft'), type: 'select', optionLabel: 'name', optionValue: 'code', options: this.SectionSepTypeList, isHidden: !this.isSwitchSectionType || !this.isCrossSectionType },
{ prop: 'sepTypeRight', label: this.$t('map.sepTypeRight'), type: 'select', optionLabel: 'name', optionValue: 'code', options: this.SectionSepTypeList, isHidden: !this.isSwitchSectionType || !this.isCrossSectionType }, { prop: 'sepTypeRight', label: this.$t('map.sepTypeRight'), type: 'select', optionLabel: 'name', optionValue: 'code', options: this.SectionSepTypeList, isHidden: !this.isSwitchSectionType || !this.isCrossSectionType },
{ prop: 'points', label: this.$t('map.segmentCoordinates'), type: 'points', width: '100px', isHidden: !this.isPointsShow, addPoint: this.addPoint, delPoint: this.delPoint, lastDisabled: true }, { prop: 'points', label: this.$t('map.segmentCoordinates'), type: 'points', width: '100px', isHidden: !this.isPointsShow, addPoint: this.addPoint, delPoint: this.delPoint, lastDisabled: true },
@ -181,7 +181,7 @@ export default {
{ prop: 'destinationCodePoint.x', firstLevel: 'destinationCodePoint', secondLevel: 'x', label: 'x:', type: 'number', labelWidth: '20px' }, { prop: 'destinationCodePoint.x', firstLevel: 'destinationCodePoint', secondLevel: 'x', label: 'x:', type: 'number', labelWidth: '20px' },
{ prop: 'destinationCodePoint.y', firstLevel: 'destinationCodePoint', secondLevel: 'y', label: 'y:', type: 'number', labelWidth: '20px' } { prop: 'destinationCodePoint.y', firstLevel: 'destinationCodePoint', secondLevel: 'y', label: 'y:', type: 'number', labelWidth: '20px' }
] }, // ] }, //
{ prop: 'parkingTrack', label: '是否停车轨:', type: 'checkbox' },
{ prop: 'switchSection', label: this.$t('map.isSwitchSection'), type: 'checkbox', disabled: true, isHidden: !this.isRelevanceSwitchShow }, // { prop: 'switchSection', label: this.$t('map.isSwitchSection'), type: 'checkbox', disabled: true, isHidden: !this.isRelevanceSwitchShow }, //
{ prop: 'relSwitchCode', label: this.$t('map.relSwitchCode'), type: 'select', optionLabel: 'name&&code', optionValue: 'code', options: this.switchList, isHidden: !this.isRelevanceSwitchShow, disabled: true }, // { prop: 'relSwitchCode', label: this.$t('map.relSwitchCode'), type: 'select', optionLabel: 'name&&code', optionValue: 'code', options: this.switchList, isHidden: !this.isRelevanceSwitchShow, disabled: true }, //
{ prop: 'logicSectionNameSort', label: this.$t('map.logicSectionNameSort'), type: 'radio', optionLabel: 'label', optionValue: 'value', isHidden: !this.isLogicSectionNameSort, radioList: [ { prop: 'logicSectionNameSort', label: this.$t('map.logicSectionNameSort'), type: 'radio', optionLabel: 'label', optionValue: 'value', isHidden: !this.isLogicSectionNameSort, radioList: [
@ -332,7 +332,7 @@ export default {
return this.hasAssociatedSection && this.editModel.rightAxlePosition; return this.hasAssociatedSection && this.editModel.rightAxlePosition;
}, },
isParentCode() { isParentCode() {
return this.editModel.type == '02' || this.editModel.type == '03' || (this.editModel.type == '01' && this.editModel.parentCode); return this.editModel.type == '02' || this.editModel.type == '03' || (this.editModel.type == '01' && this.editModel.parentCode) || this.editModel.type == '05';
}, },
isstandTrackNameShow() { isstandTrackNameShow() {
return this.editModel.type == '01' && this.editModel.standTrack; return this.editModel.type == '01' && this.editModel.standTrack;
@ -353,7 +353,7 @@ export default {
return this.hasAssociatedSection && (this.editModel.reentryTrack || this.editModel.transferTrack); return this.hasAssociatedSection && (this.editModel.reentryTrack || this.editModel.transferTrack);
}, },
isStopPointOffset() { isStopPointOffset() {
return this.editModel.type !== '04' && (this.editModel.reentryTrack || this.editModel.standTrack || this.editModel.transferTrack); return this.editModel.type !== '04' && (this.editModel.reentryTrack || this.editModel.standTrack || this.editModel.transferTrack || this.editModel.parkingTrack);
}, },
isHasLogicPhysicalSection() { // isHasLogicPhysicalSection() { //
return this.editModel.type == '01' && this.editModel.logicSectionCodeList && this.editModel.logicSectionCodeList.length; return this.editModel.type == '01' && this.editModel.logicSectionCodeList && this.editModel.logicSectionCodeList.length;

View File

@ -11,7 +11,7 @@
<el-radio label="01">{{ $t('map.create') }}</el-radio> <el-radio label="01">{{ $t('map.create') }}</el-radio>
<el-radio label="02">{{ $t('map.createBatch') }}</el-radio> <el-radio label="02">{{ $t('map.createBatch') }}</el-radio>
</el-radio-group> </el-radio-group>
<el-form ref="form" :model="addModel" label-width="90px" size="mini" :rules="rules"> <el-form ref="form" :model="addModel" label-width="120px" size="mini" :rules="rules">
<el-form-item v-if="mode == '01'" :label="$t('map.groupNumber')" prop="groupNumber"> <el-form-item v-if="mode == '01'" :label="$t('map.groupNumber')" prop="groupNumber">
<el-input v-model="addModel.groupNumber" /> <el-input v-model="addModel.groupNumber" />
</el-form-item> </el-form-item>
@ -36,6 +36,16 @@
</el-button> </el-button>
</el-button-group> </el-button-group>
</el-form-item> </el-form-item>
<el-form-item label="车辆段/停车场:" prop="stationCode">
<el-select v-model="addModel.stationCode" filterable>
<el-option
v-for="item in depotStationList"
:key="item.code"
:label="item.name"
:value="item.code"
/>
</el-select>
</el-form-item>
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
@ -54,6 +64,10 @@ export default {
trainModelList: { trainModelList: {
type: Array, type: Array,
required: true required: true
},
depotStationList: {
type: Array,
required: true
} }
}, },
data() { data() {
@ -65,6 +79,7 @@ export default {
beg: 1, beg: 1,
end: 1 end: 1
}, },
stationCode: '',
groupNumber: '', groupNumber: '',
modelCode: '' modelCode: ''
}, },
@ -94,6 +109,9 @@ export default {
], ],
modelCode: [ modelCode: [
{ required: true, message: this.$t('rules.selectTrainType'), trigger: 'change' } { required: true, message: this.$t('rules.selectTrainType'), trigger: 'change' }
],
stationCode: [
{ required: true, message: '请选择车辆段/停车场', trigger: 'change' }
] ]
}; };
} }
@ -115,6 +133,7 @@ export default {
this.addModel.modelCode = ''; this.addModel.modelCode = '';
this.$emit('dispatch', { callback: 'delTrainMode', params: code}); this.$emit('dispatch', { callback: 'delTrainMode', params: code});
}, },
// 14
handleConfirm() { handleConfirm() {
this.$refs['form'].validate((valid) => { this.$refs['form'].validate((valid) => {
if (valid) { if (valid) {
@ -125,6 +144,7 @@ export default {
_type: 'Train', _type: 'Train',
code: getUID('Train', [...this.trainList, ...list]), code: getUID('Train', [...this.trainList, ...list]),
modelCode: this.addModel.modelCode, modelCode: this.addModel.modelCode,
stationCode: this.addModel.stationCode,
groupNumber: this.addModel.groupNumber groupNumber: this.addModel.groupNumber
}); });
break; break;
@ -134,6 +154,7 @@ export default {
_type: 'Train', _type: 'Train',
code: getUID('Train', [...this.trainList, ...list]), code: getUID('Train', [...this.trainList, ...list]),
modelCode: this.addModel.modelCode, modelCode: this.addModel.modelCode,
stationCode: this.addModel.stationCode,
groupNumber: ('000' + num).slice(-3) groupNumber: ('000' + num).slice(-3)
}); });
} }

View File

@ -2,14 +2,24 @@
<el-tabs v-model="activeName" class="card"> <el-tabs v-model="activeName" class="card">
<el-tab-pane class="view-control" :label="$t('map.operation')" name="second"> <el-tab-pane class="view-control" :label="$t('map.operation')" name="second">
<div class="view-control-content"> <div class="view-control-content">
<el-input v-model="search" style="margin:10px 20px; width: 480px;" prefix-icon="el-icon-search" size="mini" placeholder="请输入内容" />
<el-scrollbar wrap-class="scrollbar-wrapper"> <el-scrollbar wrap-class="scrollbar-wrapper">
<el-table :data="trainList.filter(data => !search || data.groupNumber.toLowerCase().includes(search.toLowerCase()))" style="width: 100%"> <el-table :data="trainList.filter(data => !search || data.groupNumber.toLowerCase().includes(search.toLowerCase()))" style="width: 100%">
<el-table-column :label="$t('map.trainNumber')" prop="groupNumber" /> <el-table-column :label="$t('map.trainNumber')" align="center" width="65px" prop="groupNumber" />
<el-table-column :label="$t('map.codeC')" prop="code" /> <el-table-column :label="$t('map.codeC')" align="center" width="110px" prop="code" />
<el-table-column align="right"> <el-table-column label="所属车辆段/停车场" align="center">
<template slot="header"> <template slot-scope="scope">
<el-input v-model="search" size="mini" :placeholder="$t('map.pleaseSelect')" /> <el-select v-model="scope.row.stationCode" size="mini" clearable placeholder="请选择">
<el-option
v-for="item in depotStationList"
:key="item.code"
:label="item.name"
:value="item.code"
/>
</el-select>
</template> </template>
</el-table-column>
<el-table-column label="操作" width="110px" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="danger" @click="handleDelete(scope.$index, scope.row)">{{ $t('map.deleteObj') }}</el-button> <el-button size="mini" type="danger" @click="handleDelete(scope.$index, scope.row)">{{ $t('map.deleteObj') }}</el-button>
</template> </template>
@ -25,7 +35,7 @@
</div> </div>
</el-tab-pane> </el-tab-pane>
<train-model ref="trainMode" /> <train-model ref="trainMode" />
<create ref="create" :train-model-list="trainModelList" @dispatch="dispatch" /> <create ref="create" :train-model-list="trainModelList" :depot-station-list="depotStationList" @dispatch="dispatch" />
</el-tabs> </el-tabs>
</template> </template>
@ -75,8 +85,12 @@ export default {
...mapGetters('map', [ ...mapGetters('map', [
'trainList', 'trainList',
'trainModelList', 'trainModelList',
'lineCode' 'lineCode',
]) 'stationList'
]),
depotStationList() {
return this.stationList.filter(station => station.depot);
}
}, },
methods: { methods: {
deviceChange(code) { deviceChange(code) {

View File

@ -0,0 +1,110 @@
<template>
<el-dialog v-dialogDrag :title="title" :visible.sync="dialogVisible" width="30%" :before-close="handleClose" center :close-on-click-modal="false">
<data-form ref="dataform" :form="form" :form-model="formModel" :rules="rules" />
<span slot="footer" class="dialog-footer">
<el-button v-loading="loading" type="primary" @click="doSave">{{ $t('global.confirm') }}</el-button>
<el-button @click="handleClose">{{ $t('global.cancel') }}</el-button>
</span>
</el-dialog>
</template>
<script>
import { createProjectServer, updateProjectServer } from '@/api/projectServer';
export default {
name: 'DeviceAdd',
props: {
projectList: {
type: Array,
required: true
}
},
data() {
return {
dialogVisible: false,
formModel: {
id: '',
domainName: '',
project: ''
},
loading: false
};
},
computed: {
form() {
const form = {
labelWidth: '120px',
items: [
{ prop: 'domainName', label: '域名', type: 'text', required: true, placeholder: '请输入域名' },
{ prop: 'project', label: '项目', type: 'select', required: true, options: this.projectList, placeholder: '请选择项目' }
]
};
return form;
},
rules() {
const crules = {
domainName: [
{ required: true, message: '请输入域名', trigger: 'blur' }
],
project: [
{ required: true, message: '请选择项目', trigger: 'change' }
]
};
return crules;
},
title() {
return this.formModel.id ? '修改项目域名' : '创建项目域名';
}
},
mounted() {
},
methods: {
show(data) {
if (data) {
this.formModel.id = data.id;
this.formModel.domainName = data.domainName;
this.formModel.project = data.project;
}
this.dialogVisible = true;
},
doSave() {
this.$refs.dataform.validateForm(() => {
this.loading = true;
const data = {
id: this.formModel.id,
domainName: this.formModel.domainName,
project: this.formModel.project.toUpperCase()
};
if (data.id) {
updateProjectServer(data.id, data).then(resp => {
this.$message.success('修改项目域名数据成功!');
this.handleClose();
this.$emit('reloadTable');
}).catch(error => {
this.$message.error(error.message);
this.loading = false;
});
} else {
createProjectServer(data).then(resp => {
this.$message.success('创建项目域名数据成功!');
this.handleClose();
this.$emit('reloadTable');
}).catch(error => {
this.$message.error(error.message);
this.loading = false;
});
}
});
},
handleClose() {
this.formModel = {
id: '',
domainName: '',
project: ''
};
this.$refs.dataform.resetForm();
this.dialogVisible = false;
this.loading = false;
}
}
};
</script>

View File

@ -0,0 +1,163 @@
<template>
<div>
<QueryListPage ref="queryListPage" :pager-config="pagerConfig" :query-form="queryForm" :query-list="queryList" />
<add-server ref="addServer" :project-list="projectList" @reloadTable="reloadTable" />
</div>
</template>
<script>
import { projectServerPaging, deleteProjectServer } from '@/api/projectServer';
import { getSessionStorage } from '@/utils/auth';
import { ProjectList } from '@/scripts/ProjectConfig';
import AddServer from './add';
export default {
name: 'DeviceManage',
components: {
AddServer
},
data() {
return {
examResultList: [],
url: '',
pagerConfig: {
pageSize: 'pageSize',
pageIndex: 'pageNum'
},
queryForm: {
labelWidth: '120px',
beforeQuery: this.beforeQuery,
reset: true,
queryObject: {
project: {
type: 'select',
label: '项目:',
config: {
data: []
}
}
}
},
queryList: {
query: projectServerPaging,
selectCheckShow: false,
indexShow: true,
columns: [
{
title: '域名',
prop: 'domainName'
},
{
title: '项目名称',
prop: 'projectCode',
type: 'tag',
columnValue: (row) => { return this.handleProjectName(row.project, this.projectList); },
tagType: (row) => { return 'success'; }
},
{
title: '创建时间',
prop: 'createTime',
type: 'tag',
columnValue: (row) => { return this.handleTime(row.createTime); },
tagType: (row) => { return 'success'; }
},
{
type: 'button',
title: this.$t('global.operate'),
width: '300',
buttons: [
{
name: '编辑',
handleClick: this.editConfig
},
{
name: this.$t('global.delete'),
handleClick: this.handleDelete,
type: 'danger'
}
]
}
],
actions: [
{ text: this.$t('global.add'), handler: this.createProjectServer}
]
},
currentModel: {}
};
},
computed: {
projectCode() {
return this.projectMap[getSessionStorage('project')];
},
projectList() {
return [{value: 'default', label: '默认'}, ...ProjectList];
}
},
mounted() {
this.queryForm.queryObject.project.config.data = this.projectList;
},
methods: {
createProjectDevice() {
this.$refs.add.show();
},
beforeQuery(params) {
params.project = params.project.toUpperCase();
return params;
},
computation(fieldValue, type) {
let list = [];
if (type === 'projectType') {
list = this.projectList;
} else if ( type === 'deviceType' ) {
list = this.deviceTypeList;
}
let value = '';
list.forEach((elem) => {
elem.label = fieldValue;
value = elem.value;
});
console.log(value, fieldValue, type);
return value;
},
handleTime(time) {
const timeList = time.split('T');
let newTime = '';
if (timeList.length > 1) {
newTime = timeList[0] + ' ' + timeList[1];
} else {
newTime = time;
}
return newTime;
},
//
handleDelete(index, row) {
this.$confirm('此操作将删除该域名数据!', this.$t('global.tips'), {
confirmButtonText: this.$t('global.confirm'),
cancelButtonText: this.$t('global.cancel'),
type: 'warning'
}).then(() => {
deleteProjectServer(row.id).then(response => {
this.$message.success(this.$t('system.deleteSuccess'));
this.reloadTable();
}).catch(() => {
this.reloadTable();
this.$messageBox(this.$t('error.deleteFailed'));
});
});
},
handleProjectName(projectCode, projectList) {
const project = projectList.find(elem => elem.value.toUpperCase() === projectCode);
return project ? project.label : '无效项目';
},
createProjectServer() {
this.$refs.addServer.show();
},
editConfig(index, row) {
this.$refs.addServer.show(row);
},
reloadTable() {
this.queryList.reload();
}
}
};
</script>