diff --git a/src/api/company.js b/src/api/company.js index a940d8fc6..cb3c79ab1 100644 --- a/src/api/company.js +++ b/src/api/company.js @@ -89,21 +89,6 @@ export function getCompanyMemberPaging(companyId) { method: 'get' }); } -/** 更新单位成员信息 */ -export function putCompanyMember(companyId, data) { - return request({ - url: `/api/company/${companyId}/refUserInfo`, - method: 'put', - data - }); -} -/** 删除单位成员信息 */ -export function deleteCompanyMember(companyId, memberId) { - return request({ - url: `/api/company/${companyId}/refUserInfo/${memberId}`, - method: 'delete' - }); -} /** 查询职位信息 */ export function getPositionInfo(positionId) { return request({ @@ -187,3 +172,11 @@ export function queryDeptInfoPaging(params) { params }); } +/** 取消单位的部门成员关系 */ +export function deleteDepartUserRelation(data) { + return request({ + url: `/api/company/departUserInfo`, + method: 'delete', + data + }); +} diff --git a/src/api/iscs.js b/src/api/iscs.js index 0f15a31b9..2b81ddacb 100644 --- a/src/api/iscs.js +++ b/src/api/iscs.js @@ -41,3 +41,11 @@ export function deleteIscs(id) { method: 'delete' }); } +// 查询地图下是否有ISCS数据 +export function queryHasIscs(params) { + return request({ + url: `/api/v1/iscs/hasData`, + method: 'get', + params + }); +} diff --git a/src/jmapNew/config/keyboardEvents.js b/src/jmapNew/config/keyboardEvents.js index 4938ba94a..caf5f6021 100644 --- a/src/jmapNew/config/keyboardEvents.js +++ b/src/jmapNew/config/keyboardEvents.js @@ -12,6 +12,7 @@ export const keyboardEvents = { ALT_O: {altKey: true, ctrlKey: false, shiftKey: false, event: 'Alt_O'}, ALT_E: {altKey: true, ctrlKey: false, shiftKey: false, event: 'Alt_E'}, ALT_S: {altKey: true, ctrlKey: false, shiftKey: false, event: 'Alt_S'}, - ALT_D: {altKey: true, ctrlKey: false, shiftKey: false, event: 'Alt_D'} + ALT_D: {altKey: true, ctrlKey: false, shiftKey: false, event: 'Alt_D'}, + TAB: {altKey: false, ctrlKey: false, shiftKey: false, event: 'Tab'} }; diff --git a/src/jmapNew/config/skinCode/fuzhou_01.js b/src/jmapNew/config/skinCode/fuzhou_01.js index 6178586c2..c6b56ce65 100644 --- a/src/jmapNew/config/skinCode/fuzhou_01.js +++ b/src/jmapNew/config/skinCode/fuzhou_01.js @@ -153,7 +153,8 @@ class SkinCode extends defaultStyle { greenColor: '#00FF00', // 信号灯绿色 yellowColor: '#FFFF00', // 信号灯黄色 whiteColor: '#FFFFFF', // 信号灯白色 - blueColor: '#0070C0' // 信号灯蓝色 + blueColor: '#0070C0', // 信号灯蓝色 + faultType: 'flash' // 信号机故障类型 (flash为福州一号线与西安一三号线特殊类型,太阳) }, route: { direction: false, // 自动进路方向 diff --git a/src/layout/components/Logout.vue b/src/layout/components/Logout.vue index 1fa8f25be..c6fe3c6e2 100644 --- a/src/layout/components/Logout.vue +++ b/src/layout/components/Logout.vue @@ -10,9 +10,9 @@ {{ $t('global.personalDetails') }} - - - + + {{ $t('global.organization') }} + {{ $t('global.exit') }} @@ -37,6 +37,9 @@ export default { computed: { username() { return this.$store.state.user.nickname; + }, + companyAdmin() { + return this.$store.state.user.companyAdmin; } }, mounted() { diff --git a/src/permission.js b/src/permission.js index 118472c2e..b69fa3d35 100644 --- a/src/permission.js +++ b/src/permission.js @@ -7,12 +7,6 @@ import 'nprogress/nprogress.css'; import { getToken, removeToken, getSessionStorage } from '@/utils/auth'; import localStore from 'storejs'; -// function hasPermission(roles, permissionRoles) { -// if (roles.indexOf(admin) >= 0) return true; -// if (!permissionRoles) return true; -// return roles.some(role => permissionRoles.indexOf(role) >= 0); -// } - const whiteList = ['/login', '/design/login', '/gzzbxy/relay', '/authorization', '/AUSline', '/AUStool']; // 不重定向白名单 for (const val in loginInfo) { diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 189bd54c1..79d8e9da7 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -19,7 +19,9 @@ const user = { wxUnionId: '', account: '', projectDevice: '', - companyId: '' + companyId: '', + companyAdmin: false, + companyName: '' }, mutations: { @@ -53,6 +55,12 @@ const user = { SET_COMPANYID: (state, companyId) => { state.companyId = companyId; }, + SET_COMPANYADMIN: (state, companyAdmin) => { + state.companyAdmin = companyAdmin; + }, + SET_COMPANYNAME: (state, companyName) => { + state.companyName = companyName; + }, CLEAR_AUTO_PARAMS: () => { Cookies.remove('UserDesignName'); Cookies.remove('UserDesignToken'); @@ -128,6 +136,8 @@ const user = { commit('SET_WXID', user.wxId); commit('SET_WXUNIONID', user.wxUnionId); commit('SET_COMPANYID', user.companyId); + commit('SET_COMPANYADMIN', user.companyAdmin); + commit('SET_COMPANYNAME', user.companyName); resolve(user); }).catch(error => { reject(error); diff --git a/src/utils/baseUrl.js b/src/utils/baseUrl.js index 51ddbe296..1310fdfc7 100644 --- a/src/utils/baseUrl.js +++ b/src/utils/baseUrl.js @@ -2,11 +2,11 @@ export function getBaseUrl() { let BASE_API; if (process.env.NODE_ENV === 'development') { // BASE_API = 'https://api.joylink.club/jlcloud'; - BASE_API = 'https://test.joylink.club/jlcloud'; + // BASE_API = 'https://test.joylink.club/jlcloud'; // BASE_API = 'http://192.168.8.107:9000'; // 袁琪 // BASE_API = 'http://192.168.8.129:9000'; // 旭强 // BASE_API = 'http://192.168.8.119:9000'; // 张赛 - // BASE_API = 'http://192.168.8.140:9000'; // 杜康 + BASE_API = 'http://192.168.8.140:9000'; // 杜康 // BASE_API = 'http://b29z135112.zicp.vip'; // BASE_API = 'http://2925963m2a.zicp.vip'; // 杜康 // BASE_API = 'http://2i38984j47.qicp.vip'; // 张赛 diff --git a/src/views/iscs/iscsSystem/stationNav.vue b/src/views/iscs/iscsSystem/stationNav.vue index eb77d9498..8369846d0 100644 --- a/src/views/iscs/iscsSystem/stationNav.vue +++ b/src/views/iscs/iscsSystem/stationNav.vue @@ -56,7 +56,8 @@ -
返回
+
返回
+
退出
报警 @@ -308,6 +309,11 @@ export default { manage:{name:'管理', type:'totalSystem', id: 'manage', active:false, icon:iscs_icon9 } }; }, + computed: { + noPreLogout() { + return this.$route.query.noPreLogout; + } + }, watch:{ $route() { const data = Object.values(this.buttonList); @@ -453,6 +459,9 @@ export default { this.$message.error('清除仿真失败!'); }); } + }, + quit() { + window.close(); } } }; diff --git a/src/views/newMap/chatView/chatBox.vue b/src/views/newMap/chatView/chatBox.vue index 58644bd3b..699334f73 100644 --- a/src/views/newMap/chatView/chatBox.vue +++ b/src/views/newMap/chatView/chatBox.vue @@ -427,7 +427,9 @@ export default { } }); // { label: '全部集中站', value: 'allConcentrateStation', active: false, sign: 'DEVICE_STATION' }, - stationSupervisorList['ALL_STATION'] = { label: '所有车站', value: 'allStation', active: false, sign: 'ALL_STATION' }; + if (this.$store.state.training.prdType == '02') { + stationSupervisorList['ALL_STATION'] = { label: '所有车站', value: 'allStation', active: false, sign: 'ALL_STATION' }; + } driverList['ALL_TRAIN'] = { label: '所有司机', value: 'allTrain', show: false, active: false, sign: 'ALL_TRAIN' }; this.treeData = [{ label: '行调', @@ -663,8 +665,34 @@ export default { // this.$message.success('创建会话成功!'); this.createLoading = false; }).catch((error) => { - this.$message.error(error.code == '3005' ? '创建会话失败:仿真会话成员忙线中!' : '创建会话失败:' + error.message); + this.$message.error(error.code == '5000' ? '创建会话失败:仿真会话成员忙线中!' : '创建会话失败:' + error.message); this.createLoading = false; + // 待后端处理 + this.memberIdList.forEach(each=>{ + this.treeData.forEach(data => { + if (data.children) { + const member = data.children[each]; + if (member) { + member.isConnect = false; + member.loading = false; + member.active = false; + } + } + }); + }); + if (this.memberObject == 'ALL_STATION') { + const stationList = this.treeData[1].children; + const member = stationList['ALL_STATION']; + member.active = false; + member.loading = false; + member.isConnect = false; + } else if (this.memberObject == 'ALL_TRAIN') { + const trainList = this.treeData[2].children; + const train = trainList['ALL_TRAIN']; + train.active = false; + train.loading = false; + train.isConnect = false; + } }); } else { this.userString = '请选择人员'; diff --git a/src/views/newMap/displayNew/demon/faultChoose.vue b/src/views/newMap/displayNew/demon/faultChoose.vue index 4485d6738..59bddda19 100644 --- a/src/views/newMap/displayNew/demon/faultChoose.vue +++ b/src/views/newMap/displayNew/demon/faultChoose.vue @@ -4,9 +4,13 @@
+ - - + {{ isTableShow?'隐藏列表':'显示列表' }} + + @@ -21,7 +25,7 @@ - + @@ -31,12 +35,12 @@ - + - + @@ -143,6 +147,7 @@ export default { dialogShow: false, loading: false, isAdd:false, + isTableShow:true, deviceMap: {}, simulationFault:{}, faultList: [], @@ -582,7 +587,7 @@ export default { diff --git a/src/views/newMap/displayNew/menuSchema.vue b/src/views/newMap/displayNew/menuSchema.vue index 790f7f07e..aa3b1d634 100644 --- a/src/views/newMap/displayNew/menuSchema.vue +++ b/src/views/newMap/displayNew/menuSchema.vue @@ -14,7 +14,7 @@ {{ $t('display.schema.loadRunDiagram') }} - {{ faultMode?'切换到普通模式':'切换到故障模式' }} + {{ faultMode?'切换到普通模式[Tab]':'切换到故障模式[Tab]' }}
@@ -38,6 +38,7 @@ import { getSessionStorage } from '@/utils/auth'; import { getToken } from '@/utils/auth'; import { getIbpInfoByStation } from '@/api/ibp'; import { loadRunPlanData } from '@/utils/loaddata'; +import { EventBus } from '@/scripts/event-bus'; // 右上角操作 export default { @@ -128,6 +129,13 @@ export default { this.viewDisabled = false; } }, + mounted() { + EventBus.$on('CheckFaultModeEvent', () => { + if (!this.isScheduling) { + this.changeOperateMode(); + } + }); + }, methods: { loadRunData() { this.$store.dispatch('runPlan/clear').then(() => { diff --git a/src/views/newMap/displayNew/scriptDisplay/scriptPreview/scriptButtonGroup.vue b/src/views/newMap/displayNew/scriptDisplay/scriptPreview/scriptButtonGroup.vue index 37f700069..5a62a6a08 100644 --- a/src/views/newMap/displayNew/scriptDisplay/scriptPreview/scriptButtonGroup.vue +++ b/src/views/newMap/displayNew/scriptDisplay/scriptPreview/scriptButtonGroup.vue @@ -24,7 +24,7 @@ {{ $t('display.schema.previewRunDiagram') }} {{ $t('display.schema.loadRunDiagram') }} - {{ faultMode?'切换到普通模式':'切换到故障模式' }} + {{ faultMode?'切换到普通模式[Tab]':'切换到故障模式[Tab]' }} @@ -133,6 +133,11 @@ export default { } }, async mounted() { + EventBus.$on('CheckFaultModeEvent', () => { + if (!this.isScheduling) { + this.changeOperateMode(); + } + }); await this.initLoadData(); }, async beforeDestroy() { diff --git a/src/views/newMap/jlmapNew/index.vue b/src/views/newMap/jlmapNew/index.vue index e6faa0dc1..b2b4825c5 100644 --- a/src/views/newMap/jlmapNew/index.vue +++ b/src/views/newMap/jlmapNew/index.vue @@ -349,6 +349,8 @@ export default { switch (hook) { case 'Update': this.$store.dispatch('map/setKeyboardEnter'); break; + case 'Tab': EventBus.$emit('CheckFaultModeEvent'); + break; } }, async simulationReset() { diff --git a/src/views/newMap/jointTrainingNew/menuSchema.vue b/src/views/newMap/jointTrainingNew/menuSchema.vue index 939e8b49f..a6d4a2607 100644 --- a/src/views/newMap/jointTrainingNew/menuSchema.vue +++ b/src/views/newMap/jointTrainingNew/menuSchema.vue @@ -6,7 +6,7 @@ IBP盘 - 大屏 + 大屏 ISCS {{ $t('joinTraining.runGraphPreview') }} - {{ faultMode?' 切换到普通模式':'切换到故障模式' }} + {{ faultMode?' 切换到普通模式[Tab]':'切换到故障模式[Tab]' }} - {{ directiveMode? '切换到普通模式':'切换到指令模式' }} + {{ directiveMode? '切换到普通模式[Tab]':'切换到指令模式[Tab]' }} @@ -32,6 +32,8 @@ import JoinRunPlanView from '@/views/newMap/displayNew/demon/runPlanView'; import SelectIbp from '@/views/newMap/displayNew/demon/selectIbp'; import { getIbpInfoByStation } from '@/api/ibp'; import { loadRunPlanData } from '@/utils/loaddata'; +import { EventBus } from '@/scripts/event-bus'; +import { queryHasIscs } from '@/api/iscs'; export default { name: 'MenuDemonSchema', components:{ @@ -102,6 +104,9 @@ export default { ...mapGetters('runPlan', [ 'stations' ]), + ...mapGetters('map', [ + 'bigScreenConfig' + ]), running() { return this.$store.state.training.started; }, @@ -113,6 +118,9 @@ export default { }, isShowDirective() { // 哈尔滨项目 行调设备显示 return this.$route.query.type == 'CW' && this.project == 'heb'; + }, + hasBigScreen() { + return this.bigScreenConfig.bigScreenSplitConfig && this.bigScreenConfig.bigScreenSplitConfig.length; } }, watch: { @@ -139,6 +147,14 @@ export default { }, async mounted() { this.userId = this.$store.state.user.id; + EventBus.$on('CheckFaultModeEvent', () => { + if ((this.isAdmin || this.$route.query.type === 'ILW') && !this.dataError && !this.isScreen) { + this.changeOperateMode(); + } + if (this.isShowDirective) { + this.changeDirectiveMode(); + } + }); }, methods: { loadRunData(opt) { @@ -204,16 +220,24 @@ export default { window.open(routeData.href, '_blank', 'noopener noreferrer'); }, goIscs() { - const routeData = this.$router.resolve({ - path:`/displayIscs/system`, - query:{ - lineCode: this.$route.query.lineCode, - mapId: this.$route.query.mapId, - group: this.$route.query.group, - noPreLogout: true + queryHasIscs({mapId: this.$route.query.mapId}).then(resp => { + if (resp.data) { + const routeData = this.$router.resolve({ + path:`/displayIscs/system`, + query:{ + lineCode: this.$route.query.lineCode, + mapId: this.$route.query.mapId, + group: this.$route.query.group, + noPreLogout: true + } + }); + window.open(routeData.href, '_blank', 'noopener noreferrer'); + } else { + this.$messageBox('该地图线路暂无ISCS数据!'); } + }).catch(() => { + this.$message.error('查询ISCS数据异常'); }); - window.open(routeData.href, '_blank', 'noopener noreferrer'); }, // 点击ibp预览 goIbp() { diff --git a/src/views/organization/index.vue b/src/views/organization/index.vue index 00cb41a22..08ffc8367 100644 --- a/src/views/organization/index.vue +++ b/src/views/organization/index.vue @@ -1,7 +1,7 @@ - - diff --git a/src/views/trainingPlatform/demonList.vue b/src/views/trainingPlatform/demonList.vue index e09d0e9f6..807359f90 100644 --- a/src/views/trainingPlatform/demonList.vue +++ b/src/views/trainingPlatform/demonList.vue @@ -137,7 +137,6 @@ export default { }, forTree(item) { item.children && item.children.forEach(childrenItem => { - // childrenItem.key = item.id + childrenItem.id + childrenItem.type; childrenItem.key = item.key + '-' + childrenItem.id; if (childrenItem.children && childrenItem.children.length) { this.forTree(childrenItem);