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 @@
+
+
小系统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 @@
-
+
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 @@
+
+
+
+
+ 竞赛{{ completed?'已完成':'未完成' }}
+ 竞赛总分:{{ totalScore }} 分
+ 用户得分:{{ userScore }} 分
+
+
关键步骤信息
+
+
+
+ {{ covert(scope.row.actionId) }}
+
+
+
+
+ {{ tag }}
+
+
+
+
+
+ {{ scope.row.timeOut?scope.row.timeOut+'s':'' }}
+
+
+
+
+
+
运营统计信息
+
+
+
+
+ {{ scope.row.time }}
+ {{ scope.row.standardAnswer }}
+
+
+
+
+ {{ scope.row.timeFilledInByUser }}
+ {{ scope.row.userAnswer }}
+
+
+
+
+
运营指标信息
+
+ 因竞赛未完成,运营指标不得分
+
+
晚点列车信息
+
+
+
+
+ {{ scope.row.dt }} s
+
+
+
+
区间停车信息
+
+
+
+
+ {{ scope.row.duration }} s
+
+
+
+
+ 运营指标总扣分:{{ finalPointsDeducted4OperationIndex }}
+
+
+
+
+
+
+
+
+
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