diff --git a/src/api/company.js b/src/api/company.js new file mode 100644 index 000000000..a7c1ff06e --- /dev/null +++ b/src/api/company.js @@ -0,0 +1,47 @@ +import request from '@/utils/request'; + +/** 获取公司列表 */ +export function getCompanyList() { + return request({ + url: '/api/company', + method: 'get' + }); +} +/** 添加公司信息 */ +export function addCompany(data) { + return request({ + url: '/api/company', + method: 'post', + data: data + }); +} +/** 删除公司信息 */ +export function deleteCompany(id) { + return request({ + url: `/api/company/${id}`, + method: 'delete' + }); +} +/** 根据id查询公司信心 */ +export function getCompanyById(id) { + return request({ + url: `/api/company/${id}`, + method: 'get' + }); +} +/** 更新公司信息 */ +export function updateCompany(id, data) { + return request({ + url: `/api/company/${id}`, + method: 'put', + data + }); +} +/** 分页查询公司列表 */ +export function getCompanyListPaging(params) { + return request({ + url: `/api/company/paging`, + method: 'get', + params + }); +} diff --git a/src/api/questionsRule.js b/src/api/questionsRule.js new file mode 100644 index 000000000..a9d6668e7 --- /dev/null +++ b/src/api/questionsRule.js @@ -0,0 +1,47 @@ +import request from '@/utils/request'; + +/** 获取出题规则列表 */ +export function getQuestionRuleList() { + return request({ + url: `/api/questionsRule`, + method: 'get' + }); +} +/** 添加出题规则 */ +export function addQuestionRule(data) { + return request({ + url: `/api/questionsRule`, + method: 'post', + data + }); +} +/** 分页获取规则列表 */ +export function getQustionRuleListPage(params) { + return request({ + url: `/api/questionsRule/paging`, + method: 'get', + params + }); +} +/** 删除出题规则 */ +export function deleteQuestionRule(id) { + return request({ + url: `/api/questionsRule/${id}`, + method: 'delete' + }); +} +/** 查询单个出题规则 */ +export function selectedQuestionRule(id) { + return request({ + url: `/api/questionsRule/${id}`, + method: 'get' + }); +} +/** 更改出题规则内容 */ +export function updateQuestionRule(id, data) { + return request({ + url: `/api/questionsRule/${id}`, + method: 'put', + data: data + }); +} diff --git a/src/i18n/langs/en/router.js b/src/i18n/langs/en/router.js index fe7e4b7a6..1ecff02c9 100644 --- a/src/i18n/langs/en/router.js +++ b/src/i18n/langs/en/router.js @@ -81,5 +81,6 @@ export default { raceManage: 'Race manage', practiceManage:'Practice manage', bankManage: 'Bank manage', - sceneManage:'Scene manage' + sceneManage:'Scene manage', + companyManage: 'Company manage' }; diff --git a/src/i18n/langs/zh/router.js b/src/i18n/langs/zh/router.js index 9c8e44e11..dc0645d33 100644 --- a/src/i18n/langs/zh/router.js +++ b/src/i18n/langs/zh/router.js @@ -86,5 +86,6 @@ export default { recaList: '报名列表', bankManage: '题库列表', practiceManage:'实操列表', - sceneManage:'场景列表' + sceneManage:'场景列表', + companyManage: '单位管理' }; diff --git a/src/jlmap3d/jl3ddrive/jl3ddrive.js b/src/jlmap3d/jl3ddrive/jl3ddrive.js index da1487815..39f4274e1 100644 --- a/src/jlmap3d/jl3ddrive/jl3ddrive.js +++ b/src/jlmap3d/jl3ddrive/jl3ddrive.js @@ -437,7 +437,7 @@ export function JLmapDriving(dom,data,mapId,storemod,translation,routegroup,proj rails = loadrails; console.log(trainlisttest.group.children[0]); - trainlisttest.group.children[0].getObjectByName("c1").add(cameracctv); + trainlisttest.group.children[0].getObjectByName("c3").add(cameracctv); } this.eventon = function() { diff --git a/src/jlmap3d/jl3dmaintainer/jl3dFaultDeviceVr/jl3dFaultDeviceVr.js b/src/jlmap3d/jl3dmaintainer/jl3dFaultDeviceVr/jl3dFaultDeviceVr.js index 7bd1dea90..b927972e3 100644 --- a/src/jlmap3d/jl3dmaintainer/jl3dFaultDeviceVr/jl3dFaultDeviceVr.js +++ b/src/jlmap3d/jl3dmaintainer/jl3dFaultDeviceVr/jl3dFaultDeviceVr.js @@ -306,13 +306,17 @@ export function jl3dFaultDeviceVr(dom,group,skinCode) { if(event.data.type == "topTrain"){ if(trainControl.toptrain.status != 1){ - trainControl.toptrain.position.copy(trainControl.toptrain.curve.getPointAt(event.data.offset)); + if(event.data.offset>=0.0360){ + trainControl.toptrain.position.copy(trainControl.toptrain.curve.getPointAt(event.data.offset)); + } } } if(event.data.type == "downTrain"){ if(trainControl.downtrain.status != 1){ - trainControl.downtrain.position.copy(trainControl.downtrain.curve.getPointAt(event.data.offset)); + if(event.data.offset<=0.965){ + trainControl.downtrain.position.copy(trainControl.downtrain.curve.getPointAt(event.data.offset)); + } } } //上行列车车门控制 @@ -322,6 +326,7 @@ export function jl3dFaultDeviceVr(dom,group,skinCode) { trainControl.closetraindoor(trainControl.toptrain,event.data.doorCode,positionStatus,"top"); // trainLeaveStation("top"); }else{ + trainControl.toptrain.position.copy(trainControl.toptrain.curve.getPointAt(0.0365)); trainControl.opentraindoor(trainControl.toptrain,event.data.doorCode,"top"); trainControl.toptrain.status = 1; } @@ -333,6 +338,7 @@ export function jl3dFaultDeviceVr(dom,group,skinCode) { trainControl.closetraindoor(trainControl.downtrain,event.data.doorCode,positionStatus,"down"); // trainLeaveStation("down"); }else{ + trainControl.downtrain.position.copy(trainControl.downtrain.curve.getPointAt(0.961)); trainControl.opentraindoor(trainControl.downtrain,event.data.doorCode,"down"); trainControl.downtrain.status = 1; } diff --git a/src/router/index_Common.js b/src/router/index_Common.js index 001e2136b..f51fea47c 100644 --- a/src/router/index_Common.js +++ b/src/router/index_Common.js @@ -147,6 +147,7 @@ const JsxtApply = () => import('@/views/jsxt/apply/index'); const RefereeList = () => import('@/views/jsxt/refereeList/index'); const RefereeDisplay = () => import('@/views/jsxt/refereeList/display'); const Approval = () => import('@/views/approval/index'); +const CompanyManage = () => import('@/views/system/companyManage/index'); import { GenerateRouteProjectList } from '@/scripts/ProjectConfig'; // import { getSessionStorage } from '@/utils/auth'; @@ -380,7 +381,7 @@ export const publicAsyncRoute = [ path: '/plan/tool', component: PlanMonitorEditTool, hidden: true - }, + }, { path: '/displayIscs/system', component: IscsSystem, @@ -796,6 +797,15 @@ export const asyncRouter = [ i18n: 'router.userManage' } }, + { + // 单位管理 + path: 'companyManage', + hidden: true, + component: CompanyManage, + meta: { + i18n: 'router.companyManage' + } + }, { // 缓存管理 path: 'cache', @@ -948,8 +958,8 @@ export const asyncRouter = [ }, children: [ { - path:'design', - redirect: '/iscs/design/edit', + path:'design', + redirect: '/iscs/design/edit', component: IscsDesign, meta: { i18n: 'router.iscsDraw', @@ -962,8 +972,8 @@ export const asyncRouter = [ hidden: true } ] - }, - { + }, + { path: 'system', component: IscsSystem, meta: { diff --git a/src/views/iscs/iscsSystem/stationConfig/environment/index.vue b/src/views/iscs/iscsSystem/stationConfig/environment/index.vue index c6c6d7571..c83ae2d71 100644 --- a/src/views/iscs/iscsSystem/stationConfig/environment/index.vue +++ b/src/views/iscs/iscsSystem/stationConfig/environment/index.vue @@ -2,6 +2,19 @@
{{ title }}
+
+
小系统1模式
+
小系统2模式
+
小系统3模式
+
+
+
照明系统
+
照明系统监测
+
+
+
人防门
+
防淹门
+
@@ -22,12 +35,14 @@ export default { }, data() { return { - title:'', - bacground:'rgba(0,0,0,0)', - loading:false, - width:window.innerWidth, - scaleRate:window.innerWidth / 1920, - height:1000 + title: '', + bacground: 'rgba(0,0,0,0)', + loading: false, + width: window.innerWidth, + scaleRate: window.innerWidth / 1920, + height: 1000, + mode: '', + system: '' }; }, computed:{ @@ -36,21 +51,47 @@ export default { }, stationId() { return this.$route.query.stationId; - }, - mode() { - return this.$route.params.mode; } }, watch:{ $route() { + this.mode = this.$route.params.mode; this.getInitData(); } }, + created() { + this.mode = this.$route.params.mode; + }, mounted() { this.getInitData(); }, methods:{ + handleButton(type, judge) { + if (!judge) { + this.mode = `environmentFive${type}`; + this.system = 'environmentFive'; + this.title = `${this.stationName} 小系统${Number(type)}原理图`; + this.getDetail(); + } + + }, + handleIllumination(type, judge) { + if (!judge) { + this.mode = `environmentNine${type}`; + this.system = 'environmentNine'; + this.title = `${this.stationName} 照明系统`; + this.getDetail(); + } + }, + handleEnvironment(type, judge, name) { + if (!judge) { + this.mode = type; + this.title = `${this.stationName} ${name}`; + this.getDetail(); + } + }, getInitData() { + this.system = 'environment'; if (this.mode == 'environmentThree') { this.title = this.stationName + ' 隧道通风系统'; this.scaleRate = window.innerWidth / 2000; @@ -60,6 +101,12 @@ export default { this.title = this.stationName + ' 大系统'; this.scaleRate = window.innerWidth / 2000; this.height = 900; + } else if (this.mode == 'environmentFive') { + this.mode = 'environmentFive01'; + this.system = 'environmentFive'; + this.title = this.stationName + ' 小系统1原理图'; + this.scaleRate = window.innerWidth / 2000; + this.height = 800; } else if (this.mode == 'environmentSix') { this.title = this.stationName + ' 冷水系统 原理图'; this.scaleRate = window.innerWidth / 2000; @@ -73,9 +120,11 @@ export default { this.scaleRate = window.innerWidth / 1920; this.height = 900; } else if (this.mode == 'environmentNine') { + this.system = 'environmentNine'; + this.mode = 'environmentNine01'; this.title = this.stationName + ' 照明系统'; this.scaleRate = window.innerWidth / 1920; - this.height = 900; + this.height = 800; } else if (this.mode == 'environmentTen') { this.title = this.stationName + ' 自动扶梯系统'; this.scaleRate = window.innerWidth / 1920; @@ -84,10 +133,21 @@ export default { this.title = this.stationName + ' 传感器'; this.scaleRate = window.innerWidth / 1920; this.height = 1000; + } else if (this.mode == 'environmentEleven') { + this.title = this.stationName + ' 人防门'; + this.scaleRate = window.innerWidth / 1920; + this.height = 900; + } else if (this.mode == 'environmentTwelve') { + this.title = this.stationName + ' 防淹门系统'; + this.scaleRate = window.innerWidth / 1920; + this.height = 900; } + this.getDetail(); + }, + getDetail() { const params = { lineCode: this.$route.query.lineCode, - system: 'environment', + system: this.system, totalSystem :'environment02', userInterface : this.mode }; @@ -122,4 +182,21 @@ export default { .SubstationIn{ display: inline-block; } +.environmentFive-box{ + position: absolute; + right: 60px; + top: 68px; + z-index: 100; + .button_box{ + background: #D1C1C4; + border: 1px solid #fff; + float: left; + padding: 8px 10px; + cursor: pointer; + font-size: 14px; + &.active{ + color: #939393; + } + } +} diff --git a/src/views/iscs/iscsSystem/stationConfig/index.vue b/src/views/iscs/iscsSystem/stationConfig/index.vue index 47debbe6a..b13b24a60 100644 --- a/src/views/iscs/iscsSystem/stationConfig/index.vue +++ b/src/views/iscs/iscsSystem/stationConfig/index.vue @@ -5,12 +5,15 @@ + + +
diff --git a/src/views/iscs/iscsSystem/stationConfig/powerMonitor/substation.vue b/src/views/iscs/iscsSystem/stationConfig/powerMonitor/substation.vue index d4badadc2..815523ab7 100644 --- a/src/views/iscs/iscsSystem/stationConfig/powerMonitor/substation.vue +++ b/src/views/iscs/iscsSystem/stationConfig/powerMonitor/substation.vue @@ -90,7 +90,7 @@ export default { this.title = this.stationName + ' 降压变电所主接线图'; params.userInterface = 'stepDown'; } - this.scaleRate = window.innerWidth / 2200; + this.scaleRate = window.innerWidth / 2000; this.bacground = 'rgba(0,0,0,0)'; } diff --git a/src/views/newMap/chatView/chatContent.vue b/src/views/newMap/chatView/chatContent.vue index 7a904971d..92151015e 100644 --- a/src/views/newMap/chatView/chatContent.vue +++ b/src/views/newMap/chatView/chatContent.vue @@ -10,7 +10,7 @@
- playicon1 +
diff --git a/src/views/newMap/displayNew/dispatherContest/index.vue b/src/views/newMap/displayNew/dispatherContest/index.vue index a75e1b8df..da24e692f 100644 --- a/src/views/newMap/displayNew/dispatherContest/index.vue +++ b/src/views/newMap/displayNew/dispatherContest/index.vue @@ -75,6 +75,8 @@ + +
@@ -106,6 +108,7 @@ import { launchFullscreen } from '@/utils/screen'; import { EventBus } from '@/scripts/event-bus'; import { createSimulationNew } from '@/api/simulation'; import OperationalStatistic from './operationalStatistic.vue'; +import TestResult from './testResult.vue'; import Vue from 'vue'; export default { @@ -119,6 +122,7 @@ export default { TheoryExamSelect, TheoryExam, OperationalStatistic, + TestResult, // TheoryQuiz, // ThroryResult, SelectRole @@ -166,6 +170,7 @@ export default { scriptMode: ScriptMode.TEACH, mapLocation:{}, playerList:[], + actionList:[], currentPlayList:[], // formatUsedTime:'', formatScore:0, @@ -449,11 +454,12 @@ export default { // this.$refs.menuScript.initLoadPage(); // } }, - selectScript({playerList, mapLocation}) { + selectScript({playerList, mapLocation, actionList}) { this.changeScriptMode(this.scriptMode); this.isScriptLoad = true; this.playerList = playerList; this.mapLocation = mapLocation; + this.actionList = actionList; this.userRole = 'AUDIENCE'; this.$store.dispatch('training/setRoles', 'AUDIENCE'); }, @@ -463,15 +469,21 @@ export default { (this.$store.state.training.memberData[role.id] || {}).disabled = true; this.runScriptMode(memberId); }, - finishTraining() { + finishTraining(data) { this.isScriptRun = false; + this.showResultData(data); + }, + showResultData(data) { + this.$refs.testResult.doShow({data:data, actionList:this.actionList}); }, endTraining() { competitionPracticalSceneFinish(this.group, {operationStatisticVO:{}}).then(res=>{ this.isScriptRun = false; // if (this.scriptMode == ScriptMode.TEST) { - this.formatScore = res.data; - this.$messageBox('得分:' + this.formatScore); + // this.formatScore = res.data; + // this. + this.showResultData(res.data); + // this.$messageBox('得分:' + this.formatScore); // } // this.userRole = 'AUDIENCE'; // this.$store.dispatch('training/setRoles', 'AUDIENCE'); diff --git a/src/views/newMap/displayNew/dispatherContest/operationalStatistic.vue b/src/views/newMap/displayNew/dispatherContest/operationalStatistic.vue index 1e41eb191..942abc0d4 100644 --- a/src/views/newMap/displayNew/dispatherContest/operationalStatistic.vue +++ b/src/views/newMap/displayNew/dispatherContest/operationalStatistic.vue @@ -78,9 +78,9 @@ export default { } else { competitionPracticalSceneFinish(this.$route.query.group, this.resultData).then(res=>{ this.$message.success('运营统计数据提交成功'); - this.formatScore = res.data; - this.$messageBox('得分:' + this.formatScore); - this.$emit('finishTraining'); + // this.formatScore = res.data; + // this.$messageBox('得分:' + this.formatScore); + this.$emit('finishTraining', res.data); this.$store.dispatch('scriptRecord/updateOperationalItemVOs', this.resultData.itemVOS); this.dialogShow = false; }).catch(error=>{ diff --git a/src/views/newMap/displayNew/dispatherContest/sceneList.vue b/src/views/newMap/displayNew/dispatherContest/sceneList.vue index ca01dc10f..cb195b5ca 100644 --- a/src/views/newMap/displayNew/dispatherContest/sceneList.vue +++ b/src/views/newMap/displayNew/dispatherContest/sceneList.vue @@ -120,6 +120,7 @@ export default { const playerList = []; EventBus.$emit('clearRunSeries'); EventBus.$emit('loadScene'); + const actionList = {}; if (res.data.memberList && res.data.memberList.length > 0) { this.form.type = ''; res.data.memberList.sort((a, b) => { @@ -128,6 +129,7 @@ export default { this.$store.dispatch('training/setMemberList', {memberList:res.data.memberList, userId:this.$store.state.user.id}); const activeMemberList = []; res.data.actionList.forEach((activeMember)=>{ + actionList[activeMember.id] = activeMember; if (!(activeMemberList.length > 0 && activeMemberList.includes(activeMember.memberId))) { activeMemberList.push(activeMember.memberId); } @@ -177,14 +179,14 @@ export default { if (res.data.mapLocation) { this.mapLocation = res.data.mapLocation; } - this.confirm(playerList); + this.confirm(playerList, actionList); } } }, - confirm(playerList) { + confirm(playerList, actionList) { // this.$store.dispatch('training/setScriptOperationType', this.operationType); // operationType:ScriptMode[this.operationType] - this.$emit('selectScript', {playerList:playerList, mapLocation:this.mapLocation}); + this.$emit('selectScript', {playerList:playerList, mapLocation:this.mapLocation, actionList:actionList}); this.doClose(); }, objectSpanMethod({ row, column, rowIndex, columnIndex }) { diff --git a/src/views/newMap/displayNew/dispatherContest/testResult.vue b/src/views/newMap/displayNew/dispatherContest/testResult.vue new file mode 100644 index 000000000..e15a04959 --- /dev/null +++ b/src/views/newMap/displayNew/dispatherContest/testResult.vue @@ -0,0 +1,263 @@ + + + + + diff --git a/src/views/system/companyManage/add.vue b/src/views/system/companyManage/add.vue new file mode 100644 index 000000000..c776c0ba0 --- /dev/null +++ b/src/views/system/companyManage/add.vue @@ -0,0 +1,106 @@ + + + + + diff --git a/src/views/system/companyManage/index.vue b/src/views/system/companyManage/index.vue new file mode 100644 index 000000000..fa6beabad --- /dev/null +++ b/src/views/system/companyManage/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/views/system/userControl/index.vue b/src/views/system/userControl/index.vue index aab1bcdfc..dd9faddc0 100644 --- a/src/views/system/userControl/index.vue +++ b/src/views/system/userControl/index.vue @@ -90,7 +90,8 @@ export default { } ], actions: [ - { text: '创建本地用户', btnCode: 'employee_auto', handler: this.createLocalUsers } + { text: '创建本地用户', btnCode: 'employee_auto', handler: this.createLocalUsers }, + { text: '单位管理', btnCode: 'company_manage', handler: this.companyManage } ] }, currentModel: {} @@ -132,6 +133,9 @@ export default { }, createLocalUsers() { this.$refs.createUser.doShow(); + }, + companyManage() { + this.$router.push({ path: `/system/companyManage`}); } } }; diff --git a/static/vrtest/stationIn.FBX b/static/vrtest/stationIn.FBX index eb7ef69da..9e502a04a 100644 Binary files a/static/vrtest/stationIn.FBX and b/static/vrtest/stationIn.FBX differ