diff --git a/src/assets/AlarmSoundUrgent.wav b/src/assets/AlarmSoundUrgent.wav
new file mode 100644
index 000000000..9327a8f9a
Binary files /dev/null and b/src/assets/AlarmSoundUrgent.wav differ
diff --git a/src/assets/icon/favicon_bjd.png b/src/assets/icon/favicon_bjd.png
index b2d5e932d..935c38c76 100644
Binary files a/src/assets/icon/favicon_bjd.png and b/src/assets/icon/favicon_bjd.png differ
diff --git a/src/assets/icon/link_bjd.png b/src/assets/icon/link_bjd.png
new file mode 100644
index 000000000..68e2801bd
Binary files /dev/null and b/src/assets/icon/link_bjd.png differ
diff --git a/src/iscs/shape/button.js b/src/iscs/shape/button.js
index 000eb663a..e18fd1896 100644
--- a/src/iscs/shape/button.js
+++ b/src/iscs/shape/button.js
@@ -152,6 +152,9 @@ export default class Button extends Group {
this.on('mouseout', (e) => { this.buttonText && this.buttonText.setStyle({textFill: model.textColor || '#FFF'}); });
this.on('mouseover', (e) => { this.buttonText && this.buttonText.setStyle({textFill: model.textColorActive || '#000'}); });
}
+ setState(model) {
+ this.textButtonRect.setStyle('fill', model.backgroundColor);
+ }
setModel(dx, dy) {
this.model.point.x += dx;
this.model.point.y += dy;
diff --git a/src/iscs/shape/line.js b/src/iscs/shape/line.js
index 7a84b3b90..e4e19e6fe 100644
--- a/src/iscs/shape/line.js
+++ b/src/iscs/shape/line.js
@@ -137,6 +137,9 @@ export default class line extends Group {
this.grouper.add(this.iscsLine);
this.add(this.grouper);
}
+ setState(model) {
+ this.iscsLine.setStyle('stroke', model.strokeColor);
+ }
setModel(dx, dy) {
this.model.points.forEach(item => {
item.x += dx;
diff --git a/src/router/index_Common.js b/src/router/index_Common.js
index 6114aa638..05bf07043 100644
--- a/src/router/index_Common.js
+++ b/src/router/index_Common.js
@@ -129,6 +129,7 @@ const Approval = () => import('@/views/approval/index');
const CompanyManage = () => import('@/views/system/companyManage/index');
const QuestionsRuleManage = () => import('@/views/system/questionsRuleManage/index');
const PreTheoryImport = () => import('@/views/competitionManage/bankList/preImport');
+const PlanScheduleWicket = () => import('@/views/newMap/displayNew/demon/planSchedule');
import { GenerateRouteProjectList } from '@/scripts/ProjectConfig';
// import { getSessionStorage } from '@/utils/auth';
@@ -368,6 +369,11 @@ export const publicAsyncRoute = [
path: '/device/result/:userExamId',
component: ExamResult,
hidden: true
+ },
+ {// 运行图预览
+ path: '/planSchedule/window',
+ component: PlanScheduleWicket,
+ hidden: true
}
];
// 城市轨道项目
diff --git a/src/scripts/ProjectConfig.js b/src/scripts/ProjectConfig.js
index b2ee27436..5c44e5b17 100644
--- a/src/scripts/ProjectConfig.js
+++ b/src/scripts/ProjectConfig.js
@@ -16,6 +16,7 @@ import FaviconBjd from '@/assets/icon/favicon_bjd.png';
import Link_Bxkc from '@/assets/icon/link_bxkc.png';
import Link_Crsc from '@/assets/icon/link_crsc.png';
import Link_Hls from '@/assets/icon/link_hls.png';
+import Link_Bjd from '@/assets/icon/link_bjd.png';
// title:页面title; loginPath:退出登录跳转路径; loginParam:登录接口参数project;loginTitle:登录页左上角title;logoWidth:登录页左上角logo宽度;
// homeTitle:导航栏title(没有采用title); browserTitle:浏览器窗口title;bottomColumn:底部栏描述;bottomIcon:底部栏Icon;linkIcon:浏览器窗口icon(没有采用ProjectIcon)
@@ -37,7 +38,7 @@ export const loginInfo = {
bottomIcon: FaviconBjd,
bottomColumn: '',
loginTitle: '空串',
- linkIcon: FaviconBjd,
+ linkIcon: Link_Bjd,
loginParam: 'BJD',
navigationLogoWidth: '160px',
navigationMarginLeft: '175px',
@@ -395,7 +396,9 @@ export const ProjectCode = {
drts: 'DRTS',
designdrts: 'DRTS',
nty: 'NTY',
- designnty: 'NTY'
+ designnty: 'NTY',
+ bjd: 'BJD',
+ designbjd: 'BJD'
};
export const BottomColumnOnlyConInfo = ['heb', 'designheb', 'jyd', 'designjyd', 'tky', 'designtky', 'bxkc', 'designbxkc', 'crsc', 'designcrsc', 'hls', 'designhls', 'hyd', 'designhyd']; // 底部栏仅展示公司信息不展示备案号
export const GetMapListByProjectList = ['xty', 'designxty', 'gzb', 'designgzb', 'xadt', 'designxadt', 'heb', 'designheb', 'designdrts', 'drts', 'nty', 'designnty']; // 实训设计平台通过项目code获取地图列表的项目
@@ -429,7 +432,9 @@ export const goOtherPlatformMenu = { // 导航栏快速切换平台
hyd: '/design/login?project=hyd',
designhyd: '/login?project=hyd',
nty: '/design/login?project=nty',
- designnty: '/login?project=nty'
+ designnty: '/login?project=nty',
+ bjd: '/design/login?project=bjd',
+ designbjd: '/login?project=bjd'
};
export const ProjectList = [
{value:'xty', label:'西铁院'},
@@ -437,5 +442,6 @@ export const ProjectList = [
{value: 'xadt', label: '西安地铁'},
{value: 'heb', label: '哈尔滨'},
{value: 'drts', label: '调度大赛'},
- {value: 'nty', label: '南铁院'}
+ {value: 'nty', label: '南铁院'},
+ {value: 'bjd', label: '北交大'}
];
diff --git a/src/store/modules/iscs.js b/src/store/modules/iscs.js
index b26e74f82..93e2d9b26 100644
--- a/src/store/modules/iscs.js
+++ b/src/store/modules/iscs.js
@@ -11,6 +11,8 @@ const iscs = {
rightClickCount: 0, // 右键点击设备
selected: '', // 左键选中设备
selectedCount: 0, // 左键选中
+ closeMusicNum: 0, // 关闭音乐标识
+ faultList: [], // 故障 元素状态
incidentList: [], // 事件列表
alarmList: [] // 报警列表
},
@@ -173,6 +175,12 @@ const iscs = {
},
setAddIncidentList: (state, device) => {
state.incidentList.unshift(device);
+ },
+ setFaultList: (state, list) => {
+ state.faultList = list;
+ },
+ setCloseMusic: (state, num) => {
+ state.closeMusicNum = num;
}
},
diff --git a/src/utils/baseUrl.js b/src/utils/baseUrl.js
index a3670f04d..89ce9ee58 100644
--- a/src/utils/baseUrl.js
+++ b/src/utils/baseUrl.js
@@ -1,10 +1,10 @@
export function getBaseUrl() {
let BASE_API;
if (process.env.NODE_ENV === 'development') {
- BASE_API = 'https://joylink.club/jlcloud';
- // BASE_API = 'https://test.joylink.club/jlcloud';
+ // BASE_API = 'https://joylink.club/jlcloud';
+ BASE_API = 'https://test.joylink.club/jlcloud';
// BASE_API = 'http://192.168.8.107:9000'; // 袁琪
- // BASE_API = 'http://192.168.8.144:9000'; // 旭强
+ // BASE_API = 'http://192.168.8.114:9000'; // 旭强
// BASE_API = 'http://192.168.3.175:9000'; // 张赛
// BASE_API = 'http://192.168.8.110:9000'; // 杜康
// BASE_API = 'http://b29z135112.zicp.vip';
diff --git a/src/views/iscs/iscsDesign/demonList.vue b/src/views/iscs/iscsDesign/demonList.vue
index f1344c0d6..ad7d37808 100644
--- a/src/views/iscs/iscsDesign/demonList.vue
+++ b/src/views/iscs/iscsDesign/demonList.vue
@@ -89,7 +89,27 @@ export default {
name: '牵引降压混合变电所主接线图',
mode: 'powerMonitoring02',
id: 'combined',
- type: 'interface'
+ type: 'system',
+ children: [
+ {
+ name: '象峰站牵引降压混合变电所主接线图',
+ mode: 'powerMonitoring02',
+ id: 'combined01',
+ type: 'interface'
+ },
+ {
+ name: '罗汉山牵引降压混合变电所主接线图',
+ mode: 'powerMonitoring02',
+ id: 'combined02',
+ type: 'interface'
+ },
+ {
+ name: '树兜站牵引降压混合变电所主接线图',
+ mode: 'powerMonitoring02',
+ id: 'combined03',
+ type: 'interface'
+ }
+ ]
},
{
name: '停车场接触网图',
diff --git a/src/views/iscs/iscsDraw/group/tab-template.vue b/src/views/iscs/iscsDraw/group/tab-template.vue
index 0f2527af6..0db62438e 100644
--- a/src/views/iscs/iscsDraw/group/tab-template.vue
+++ b/src/views/iscs/iscsDraw/group/tab-template.vue
@@ -32,6 +32,9 @@
全部显示
全部隐藏
+
@@ -52,7 +55,8 @@ export default {
},
computed: {
...mapGetters('iscs', [
- 'iscsGroupList'
+ 'iscsGroupList',
+ 'iscs'
])
},
methods: {
@@ -94,14 +98,15 @@ export default {
elemList: []
};
},
- doDeleteGroup() {
+ doDeleteGroup(data) {
const Model = {
- code: this.formModel.code,
+ code: data && data.code ? data.code : this.formModel.code,
_type: 'IscsGroup'
};
this.$emit('deleteDataModel', Model);
const modelList = [];
- for (const key in this.formModel.elemMap) {
+ const elemMap = data ? data.elemMap : this.formModel.elemMap;
+ for (const key in elemMap) {
const device = this.$iscs.iscsDevice[key];
if (device && device.model) {
device.model['groupId'] = '';
@@ -126,6 +131,26 @@ export default {
const device = this.$iscs.iscsDevice[group.code];
device.instance.hide();
});
+ },
+ deleteAll() {
+ this.$confirm('此操作将删除所有编组, 是否继续?', '提示', {
+ confirmButtonText: '确定',
+ cancelButtonText: '取消',
+ type: 'warning'
+ }).then(() => {
+ this.iscs.iscsGroupList.forEach(item => {
+ this.doDeleteGroup(item);
+ });
+ this.$message({
+ type: 'success',
+ message: '删除成功!'
+ });
+ }).catch(() => {
+ this.$message({
+ type: 'info',
+ message: '已取消删除'
+ });
+ });
}
}
};
diff --git a/src/views/iscs/iscsDraw/icscComponents/line.vue b/src/views/iscs/iscsDraw/icscComponents/line.vue
index b9a736930..3b362403e 100644
--- a/src/views/iscs/iscsDraw/icscComponents/line.vue
+++ b/src/views/iscs/iscsDraw/icscComponents/line.vue
@@ -62,6 +62,12 @@
+
+
+
+
+ 添加
+
坐标点
@@ -118,7 +124,9 @@
+
+
diff --git a/src/views/iscs/iscsSystem/stationConfig/dialog/valve.vue b/src/views/iscs/iscsSystem/stationConfig/dialog/valve.vue
index b7b079b69..bb0578aa8 100644
--- a/src/views/iscs/iscsSystem/stationConfig/dialog/valve.vue
+++ b/src/views/iscs/iscsSystem/stationConfig/dialog/valve.vue
@@ -135,6 +135,18 @@ export default {
console.log('不允许点击');
}
}
+ } else if (this.model.code == 'group_24' || this.model.code == 'group_53' || this.model.code == 'group_35' || this.model.code == 'group_43' || this.model.code == 'group_47' || this.model.code == 'group_48') {
+ if (this.rowData[this.rowData.key]) {
+ this.model[this.rowData.key] = this.rowData[this.rowData.key];
+ this.handleModel(this.model);
+ } else {
+ if (!this.$iscs.iscsDevice['IscsButton_6'].model['fault']) {
+ this.model[this.rowData.key] = this.rowData[this.rowData.key];
+ this.handleModel(this.model);
+ } else {
+ console.log('不允许点击');
+ }
+ }
} else {
this.model[this.rowData.key] = this.rowData[this.rowData.key];
this.handleModel(this.model);
@@ -224,6 +236,13 @@ export default {
const device = deviceFactory(el._type, el);
return device.model;
}));
+ if (model.lineCode) {
+ // 关联接触网 颜色处理
+ arr.push({
+ code: model.lineCode,
+ strokeColor: model.valve ? '#00FF1E' : '#FF0000'
+ });
+ }
// 改变元素状态
arr.forEach(el => {
const device = this.$iscs.iscsDevice[el.code];
@@ -247,6 +266,19 @@ export default {
};
this.$store.dispatch('iscs/setAddAlarmList', params);
this.$store.dispatch('iscs/setAddIncidentList', params);
+
+ const arrList = [];
+ this.$store.state.iscs.faultList.forEach(item => {
+ if (item.stationName == this.$route.query.stationName) {
+ item.list.forEach(ele => {
+ if (ele.code == model.code) {
+ ele.valve = false;
+ }
+ });
+ }
+ arrList.push(item);
+ });
+ this.$store.commit('iscs/setFaultList', arrList);
},
doClose() {
this.dialogShow = false;
diff --git a/src/views/iscs/iscsSystem/stationConfig/environment/index.vue b/src/views/iscs/iscsSystem/stationConfig/environment/index.vue
index 45b5e45a8..328967856 100644
--- a/src/views/iscs/iscsSystem/stationConfig/environment/index.vue
+++ b/src/views/iscs/iscsSystem/stationConfig/environment/index.vue
@@ -168,6 +168,7 @@ export default {
text-align: center;
margin-top: 15px;
color: #d8e9a5;
+ font-size: 25px;
}
.Substation{
display: inline-block;
diff --git a/src/views/iscs/iscsSystem/stationConfig/powerMonitor/substation.vue b/src/views/iscs/iscsSystem/stationConfig/powerMonitor/substation.vue
index 815523ab7..956b4d281 100644
--- a/src/views/iscs/iscsSystem/stationConfig/powerMonitor/substation.vue
+++ b/src/views/iscs/iscsSystem/stationConfig/powerMonitor/substation.vue
@@ -85,7 +85,16 @@ export default {
const tractionList = ['象峰站', '罗汉山站', '树兜站', '东街口站', '达道站', '三叉街站', '葫芦阵站', '城门站', '胪雷站', '安平站', '梁厝站', '三江口站'];
if (tractionList.includes(this.stationName)) {
this.title = this.stationName + ' 牵引降压混合变电所主接线图';
- params.userInterface = 'combined';
+ if (this.stationName == '象峰站') {
+ params.userInterface = 'combined01';
+ } else if (this.stationName == '罗汉山站') {
+ params.userInterface = 'combined02';
+ } else if (this.stationName == '树兜站') {
+ params.userInterface = 'combined03';
+ } else {
+ params.userInterface = 'combined02';
+ }
+ params.system = 'combined';
} else {
this.title = this.stationName + ' 降压变电所主接线图';
params.userInterface = 'stepDown';
@@ -113,6 +122,7 @@ export default {
text-align: center;
margin-top: 15px;
color: #d8e9a5;
+ font-size: 25px;
}
.Substation{
display: inline-block;
diff --git a/src/views/iscs/iscsSystem/stationConfig/psdSystem/index.vue b/src/views/iscs/iscsSystem/stationConfig/psdSystem/index.vue
index 34c733e92..8a9104f85 100644
--- a/src/views/iscs/iscsSystem/stationConfig/psdSystem/index.vue
+++ b/src/views/iscs/iscsSystem/stationConfig/psdSystem/index.vue
@@ -57,6 +57,7 @@ export default {
text-align: center;
margin-top: 15px;
color: #d8e9a5;
+ font-size: 25px;
}
.psdSystem{
diff --git a/src/views/login/index.vue b/src/views/login/index.vue
index 28de988db..043905dde 100644
--- a/src/views/login/index.vue
+++ b/src/views/login/index.vue
@@ -304,6 +304,8 @@ export default {
this.tipsMsg = this.$t('login.accountOrPasswordIsIncorrect');
} else if (error.code == '10001') {
this.tipsMsg = '教员机尚未登录,请稍后重试!';
+ } else if (error.code == '10013' || error.code == '10014') {
+ this.tipsMsg = '该账号权限不足!';
} else {
this.tipsMsg = error.message;
}
@@ -452,6 +454,8 @@ export default {
this.tipsMsg = this.$t('login.accountOrPasswordIsIncorrect');
} else if (error.code == '10001') {
this.tipsMsg = '教员机尚未登录,请稍后重试!';
+ } else if (error.code == '10013' || error.code == '10014') {
+ this.tipsMsg = '该账号权限不足';
} else {
this.tipsMsg = error.message;
}
@@ -544,14 +548,6 @@ export default {
};
this.$router.push({ path: `/jlmap3d/sandbox`, query: sandboxQuery });
} else if (this.$route.query.type === 'ILW') {
- // const ilwQuery = {
- // mapid: query.mapId,
- // group: query.group,
- // project: getSessionStorage('project'),
- // token: getToken(),
- // projectDevice: this.$route.query.projectDevice,
- // type: this.$route.query.type
- // };
this.$router.push({ path: `/jointTrainingNew`, query: query });
} else {
this.$router.push({ path: `/jointTrainingNew`, query: query });
@@ -575,6 +571,20 @@ export default {
launchFullscreen();
});
});
+ } else if (this.project === 'bjd') {
+ getLoginInfo(getToken()).then(res => {
+ getSimulationInfoNew(res.data.group).then(resp => {
+ this.$store.dispatch('app/transitionAnimations');
+ this.$router.push({ path: `/jointTrainingNew`, query: {
+ lineCode: resp.data.map.lineCode,
+ group: res.data.group,
+ mapId: resp.data.map.id,
+ project:this.project
+ }});
+ this.loading = false;
+ launchFullscreen();
+ });
+ });
} else if (!this.$route.path.includes('jsxt/login') && !this.$route.path.includes('refereeJsxt/login')) {
this.$router.push({ path: this.path });
} else {
diff --git a/src/views/newMap/displayNew/demon/planSchedule.vue b/src/views/newMap/displayNew/demon/planSchedule.vue
new file mode 100644
index 000000000..fab66f278
--- /dev/null
+++ b/src/views/newMap/displayNew/demon/planSchedule.vue
@@ -0,0 +1,577 @@
+
+
+
+
+
+
+
diff --git a/src/views/newMap/displayNew/exam/index.vue b/src/views/newMap/displayNew/exam/index.vue
index 8035738a0..1ddd34df5 100644
--- a/src/views/newMap/displayNew/exam/index.vue
+++ b/src/views/newMap/displayNew/exam/index.vue
@@ -96,7 +96,6 @@ export default {
this.startLoading = true;
if (this.$route.query.trainingId) {
this.isDisable = true;
- this.$store.dispatch('training/setMapDefaultState');
startTrainingNew({ id: this.$route.query.trainingId }, this.group).then(response => {
this.$store.dispatch('training/setTrainingStart', true);
this.$store.dispatch('training/examModeStart');
diff --git a/src/views/newMap/displayNew/lesson/index.vue b/src/views/newMap/displayNew/lesson/index.vue
index 4947fee8d..4325a7afd 100644
--- a/src/views/newMap/displayNew/lesson/index.vue
+++ b/src/views/newMap/displayNew/lesson/index.vue
@@ -154,7 +154,6 @@ export default {
start() {
// 清空按钮操作
this.$store.dispatch('menuOperation/setButtonOperation', null);
- this.$store.dispatch('training/setMapDefaultState');
this.startLoading = true;
if (this.trainingObj && this.trainingObj.id) {
startTrainingNew(this.trainingObj, this.group).then(response => {
diff --git a/src/views/newMap/jointTrainingNew/menuDemon.vue b/src/views/newMap/jointTrainingNew/menuDemon.vue
index c023906b9..13e431c95 100644
--- a/src/views/newMap/jointTrainingNew/menuDemon.vue
+++ b/src/views/newMap/jointTrainingNew/menuDemon.vue
@@ -346,7 +346,7 @@ export default {
this.$store.dispatch('training/over').then(() => {
this.backLoading = true;
this.$store.dispatch('map/resetActiveTrainList', true);
- if (this.$route.query.projectDevice) {
+ if (this.$route.query.projectDevice || this.$route.query.project === 'bjd') {
this.$store.dispatch('LogOut').then(() => {
location.reload();
});
diff --git a/src/views/newMap/jointTrainingNew/menuSchema.vue b/src/views/newMap/jointTrainingNew/menuSchema.vue
index 02db231ae..4d386a28a 100644
--- a/src/views/newMap/jointTrainingNew/menuSchema.vue
+++ b/src/views/newMap/jointTrainingNew/menuSchema.vue
@@ -190,7 +190,22 @@ export default {
this.$emit('runPlanLoadShow');
},
viewRunPlan() {
- this.$refs.runPlanView.doShow();
+ if (this.$route.query.project === 'bjd') {
+ const routeData = this.$router.resolve({
+ path:'/planSchedule/window',
+ query:{
+ mapId:this.$route.query.mapId,
+ group:this.$route.query.group,
+ lineCode: this.$route.query.lineCode,
+ project: this.$route.query.project,
+ noPreLogout: true,
+ initTime: this.$store.state.training.initTime
+ }
+ });
+ window.open(routeData.href, '_blank', 'noopener noreferrer');
+ } else {
+ this.$refs.runPlanView.doShow();
+ }
},
// 选择车站
switchStationMode(stationCode) {