Squashed commit of the following:
All checks were successful
master分支构建发布到公网服务器 / Build-Publish (push) Successful in 10m24s
All checks were successful
master分支构建发布到公网服务器 / Build-Publish (push) Successful in 10m24s
commit1b0ddc2740
Author: joylink_zhaoerwei <Bob_Engineer@163.com> Date: Mon May 27 17:39:39 2024 +0800 Squashed commit of the following: commitcef55a4c6b
Author: joylink_zhaoerwei <Bob_Engineer@163.com> Date: Mon May 27 17:09:01 2024 +0800 三维url调整 commit869c86b94d
Author: joylink_zhaoerwei <Bob_Engineer@163.com> Date: Mon May 27 16:57:01 2024 +0800 更改三维地址 commitdc2165733e
Author: joylink_zhaoerwei <Bob_Engineer@163.com> Date: Mon May 27 16:33:48 2024 +0800 场景添加三维场景,实训中可根据url打开三维场景(待测试) commit7d774db362
Merge:b66515eba
0c5bba7c0
Author: joylink_fanyuhong <18706759286@163.com> Date: Tue May 21 16:48:35 2024 +0800 Merge remote-tracking branch 'origin/develop' into local-test commit0c5bba7c0f
Author: joylink_fanyuhong <18706759286@163.com> Date: Tue May 21 16:47:37 2024 +0800 传输信号机调整 commitef9165faa4
Author: joylink_fanyuhong <18706759286@163.com> Date: Thu May 16 15:43:56 2024 +0800 third commitae74123f18
Author: joylink_fanyuhong <18706759286@163.com> Date: Wed May 8 09:17:37 2024 +0800 成都工学院第三方登录调整 commitb1baeaabcd
Author: joylink_fanyuhong <18706759286@163.com> Date: Tue May 7 15:46:29 2024 +0800 成都工业学院第三方登录调整 commitb66515ebad
Merge:5cf57c4d2
91a8410dc
Author: joylink_fanyuhong <18706759286@163.com> Date: Wed Apr 24 11:01:32 2024 +0800 Merge remote-tracking branch 'origin/develop' into local-test commit91a8410dc2
Author: joylink_fanyuhong <18706759286@163.com> Date: Wed Apr 24 10:58:02 2024 +0800 道岔名称背景颜色更换透明色 commit5cf57c4d2f
Merge:5ca4f2be8
c97def5fc
Author: joylink_fanyuhong <18706759286@163.com> Date: Mon Apr 22 17:16:40 2024 +0800 Merge remote-tracking branch 'origin/develop' into local-test commit5ca4f2be8d
Merge:66a376298
31376bc22
Author: joylink_fanyuhong <18706759286@163.com> Date: Mon Apr 22 16:10:23 2024 +0800 Merge remote-tracking branch 'origin/develop' into local-test commit66a3762987
Merge:9dab09e4d
5be2cea1c
Author: joylink_fanyuhong <18706759286@163.com> Date: Mon Apr 22 15:53:54 2024 +0800 Merge remote-tracking branch 'origin/develop' into local-test commit9dab09e4d0
Merge:b8f90509e
dda44c870
Author: joylink_fanyuhong <18706759286@163.com> Date: Mon Apr 22 09:33:42 2024 +0800 Merge remote-tracking branch 'origin/develop' into local-test commitb8f90509eb
Merge:26d9cc892
5548806ea
Author: joylink_fanyuhong <18706759286@163.com> Date: Sun Apr 21 17:51:33 2024 +0800 Merge remote-tracking branch 'origin/develop' into local-test commit26d9cc892f
Merge:ce8d3f453
3fc31777a
Author: joylink_fanyuhong <18706759286@163.com> Date: Fri Apr 19 22:27:07 2024 +0800 Merge remote-tracking branch 'origin/develop' into local-test commitce8d3f4531
Author: fan <fanyuhong@joylink.club> Date: Fri Apr 19 22:25:43 2024 +0800 iscs退出仿真调整&iscs绘制地图调整 commit98662ec177
Author: fan <fanyuhong@joylink.club> Date: Fri Apr 19 18:25:09 2024 +0800 实时广播问题调整&注释iscs信号系统&stationNav换成车站名称&iscs点击修改mode
This commit is contained in:
parent
c97def5fca
commit
27418dc041
@ -323,3 +323,11 @@ export function isExistEmail(params) {
|
||||
});
|
||||
}
|
||||
|
||||
// 成工院第三方登录
|
||||
export function cgyThirdLogin(data) {
|
||||
return request({
|
||||
url: '/api/login/cgy/third',
|
||||
method: 'post',
|
||||
data
|
||||
});
|
||||
}
|
||||
|
@ -189,6 +189,13 @@ class SkinCode extends defaultStyle {
|
||||
},
|
||||
lowButton:{
|
||||
display: false // 现地 信号机按钮
|
||||
},
|
||||
transmission: { // 传输信号机
|
||||
fillColor: '#f00',
|
||||
fillColorVirtual: '#f00',
|
||||
sideLength: 20,
|
||||
textColor: '#fff',
|
||||
strokeColor: '#00FFFF'
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -233,6 +233,13 @@ class SkinCode extends defaultStyle {
|
||||
fontSize: 12,
|
||||
distance: 20,
|
||||
defaultText: 'E'
|
||||
},
|
||||
transmission: { // 传输信号机
|
||||
fillColor: '#f00',
|
||||
fillColorVirtual: '#f00',
|
||||
sideLength: 20,
|
||||
textColor: '#fff',
|
||||
strokeColor: '#00FFFF'
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -931,8 +931,8 @@ class Signal extends Group {
|
||||
// 隐藏自动信号和自动进路
|
||||
setAutoClose() {
|
||||
if (this.style.Signal.auto.autoRouteType != 'text') {
|
||||
this.sigAuto.hide();
|
||||
this.sigAuto.setColor(this.style.backgroundColor);
|
||||
this.sigAuto && this.sigAuto.hide();
|
||||
this.sigAuto && this.sigAuto.setColor(this.style.backgroundColor);
|
||||
} else {
|
||||
this.sigName.setColor(this.style.Signal.text.defaultColor);
|
||||
}
|
||||
|
@ -326,9 +326,9 @@ export default class Switch extends Group {
|
||||
}
|
||||
|
||||
this.name.getTextRect().animateStyle(true)
|
||||
.when(0, { textFill: this.style.backgroundColor })
|
||||
.when(0, { textFill: this.style.transparentColor })
|
||||
.when(1000, { textFill: this.style.Switch.text.borderColor })
|
||||
.when(2000, { textFill: this.style.backgroundColor })
|
||||
.when(2000, { textFill: this.style.transparentColor })
|
||||
.start();
|
||||
}
|
||||
|
||||
@ -354,7 +354,7 @@ export default class Switch extends Group {
|
||||
this.lockCircle && this.lockCircle.hide(); // 圆形包围框
|
||||
this.lockArc && this.lockArc.hide(); // 圆形单锁框
|
||||
this.name.getNameText().stopAnimation(false);
|
||||
this.name.getTextRect().setStyle({ fill: this.style.backgroundColor });
|
||||
this.name.getTextRect().setStyle({ fill: this.style.transparentColor });
|
||||
this.shapeModelC && this.shapeModelC.hide(); // 形状 C
|
||||
this.shapeModelA && this.shapeModelA.hide(); // 形状 A
|
||||
this.shapeModelB && this.shapeModelB.hide(); // 形状 B
|
||||
@ -626,7 +626,7 @@ export default class Switch extends Group {
|
||||
}
|
||||
|
||||
if (this.style.Switch.core.specialCircle) {
|
||||
this.name.getTextRect().setStyle({ fill: this.style.backgroundColor });
|
||||
this.name.getTextRect().setStyle({ fill: this.style.transparentColor });
|
||||
this.setTextColor(this.style.Switch.text.guideMasterLockColor);
|
||||
} else {
|
||||
this.setTextColor(this.style.Switch.text.monolockLocationColor);
|
||||
@ -911,7 +911,7 @@ export default class Switch extends Group {
|
||||
this.setHasTextBorder(1, this.style.Switch.text.fpLockBorderColor);
|
||||
}
|
||||
if (this.style.Switch.core.specialCircle) {
|
||||
this.name.getTextRect().setStyle({ fill: this.style.backgroundColor });
|
||||
this.name.getTextRect().setStyle({ fill: this.style.transparentColor });
|
||||
this.setTextColor(this.style.Switch.text.fpLockColor);
|
||||
}
|
||||
}
|
||||
|
@ -8,7 +8,7 @@ import { getFrontProjectConfigByLogin} from '@/api/projectConfig';
|
||||
import localStore from 'storejs';
|
||||
import { handlerUrl } from '@/utils/baseUrl';
|
||||
|
||||
const whiteList = ['/login', '/design/login', '/loginNew', '/gzzbxy/relay', '/authorization', '/AUSline', '/AUStool', '/demo', '/thirdLogin']; // 不重定向白名单
|
||||
const whiteList = ['/login', '/design/login', '/loginNew', '/gzzbxy/relay', '/authorization', '/AUSline', '/AUStool', '/demo', '/thirdLogin', '/cgyLogin']; // 不重定向白名单
|
||||
|
||||
// 登录路径判断获取
|
||||
function getRouteInfo(to) {
|
||||
|
@ -220,6 +220,7 @@ const UserRulesManage = () => import('@/views/userRulesManage/index');
|
||||
const AuthorityTransfer = () => import('@/views/authorityTransfer/index');
|
||||
const CreateDistribute = () => import('@/views/authorityTransfer/create/index');
|
||||
const ThirdJumpSim = () => import('@/views/newMap/display/thirdJump');
|
||||
const CgyLogin = () => import('@/views/thirdLogin/cgyLogin');
|
||||
const TmsPage = () => import('@/views/jlmap3d/drive/sceneview/tmsPage');
|
||||
|
||||
const ContestSubjectManage = () => import('@/views/contestDataManage/contestSubjectManage/ContestSubjectManage');
|
||||
@ -430,6 +431,11 @@ export const constantRoutes = [
|
||||
component: ThirdJumpSim,
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: '/cgyLogin',
|
||||
component: CgyLogin,
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: '/404',
|
||||
component: Errpr404,
|
||||
|
@ -44,7 +44,8 @@
|
||||
</div>
|
||||
<div style="text-align: center;margin-top: 15px;">
|
||||
<el-button v-show="nowData.ruleId" v-loading="loading" type="primary" @click="showScoreRule">评分表</el-button>
|
||||
<el-button v-show="nowData.sceneId&&nowData.scenetype!=='Video'" v-loading="loading" type="primary" @click="startTask">开始任务</el-button>
|
||||
<el-button v-show="nowData.sceneId&&nowData.scenetype=='Local'" v-loading="loading" type="primary" @click="startTask">开始任务</el-button>
|
||||
<el-button v-show="nowData.sceneId&&nowData.scenetype=='Link'" v-loading="loading" type="primary" @click="startThreeTask">开始任务</el-button>
|
||||
<el-button v-show="nowData.sceneId&&nowData.scenetype=='Video'" type="primary" @click="playSceneVideo">播放视频</el-button>
|
||||
<el-button v-loading="loading" type="primary" :disabled="nowKey === taskList.length-1" @click="nextTask">下一任务</el-button>
|
||||
</div>
|
||||
@ -58,6 +59,7 @@
|
||||
<script>
|
||||
import { getTaskTree, getContextSenceDetail} from '@/api/contest';
|
||||
import { createSimulationNoFunction } from '@/api/simulation';
|
||||
import { getToken } from '@/utils/auth';
|
||||
import { getPublishMapInfo } from '@/api/jmap/map';
|
||||
import ScoreRule from './scoreRule';
|
||||
import PlayVideo from './PlayVideo';
|
||||
@ -180,6 +182,17 @@ export default {
|
||||
this.loading = false;
|
||||
}
|
||||
},
|
||||
startThreeTask() {
|
||||
this.loading = true;
|
||||
getContextSenceDetail(this.nowData.sceneId).then((res) => {
|
||||
const url = res.data.scene.url;
|
||||
const token = getToken();
|
||||
window.open(`${url}${token}`, '_blank');
|
||||
this.loading = false;
|
||||
}).catch(error => {
|
||||
this.$message.error(error.message);
|
||||
});
|
||||
},
|
||||
showScoreRule() {
|
||||
this.$refs.scoreRule.doShow(this.nowData.ruleId);
|
||||
},
|
||||
|
@ -2,16 +2,18 @@
|
||||
<div>
|
||||
<query-list-page ref="user" :card-padding="10" :pager-config="pagerConfig" :query-form="queryForm" :query-list="queryList" />
|
||||
<upload-Video ref="uploadVideo" @reloadTable="reloadTable" />
|
||||
<add-three ref="upThree" @reloadTable="reloadTable" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { queryContestSencePaged, deleteContestSence } from '@/api/contest';
|
||||
import UploadVideo from './UploadVideo';
|
||||
import addThree from './addThree';
|
||||
export default {
|
||||
name: 'ContestSeasonManage',
|
||||
components: {
|
||||
UploadVideo
|
||||
UploadVideo, addThree
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@ -92,6 +94,13 @@ export default {
|
||||
return row.type == 'Video';
|
||||
}
|
||||
},
|
||||
{
|
||||
name: '编辑',
|
||||
handleClick: this.doEditLink,
|
||||
showControl: row => {
|
||||
return row.type == 'Link';
|
||||
}
|
||||
},
|
||||
{
|
||||
name: '删 除',
|
||||
handleClick: this.doDelete,
|
||||
@ -101,7 +110,8 @@ export default {
|
||||
}
|
||||
],
|
||||
actions: [
|
||||
{ text: '上 传', handler: this.doUpload }
|
||||
{ text: '上 传', handler: this.doUpload },
|
||||
{ text: '添 加', handler: this.doUpThree }
|
||||
]
|
||||
}
|
||||
};
|
||||
@ -116,6 +126,12 @@ export default {
|
||||
doEdit(index, row) {
|
||||
this.$refs.uploadVideo.doShow(row.id);
|
||||
},
|
||||
doUpThree() {
|
||||
this.$refs.upThree.doShow();
|
||||
},
|
||||
doEditLink(index, row) {
|
||||
this.$refs.upThree.doShow(row.id);
|
||||
},
|
||||
doDelete(index, row) {
|
||||
this.$confirm('该操作将删除竞赛场景,是否继续?', '提 示', {
|
||||
confirmButtonText: '确 定',
|
||||
|
108
src/views/contestDataManage/contestSceneManage/addThree.vue
Normal file
108
src/views/contestDataManage/contestSceneManage/addThree.vue
Normal file
@ -0,0 +1,108 @@
|
||||
<template>
|
||||
<el-dialog v-dialogDrag :title="title" :visible.sync="dialogVisible" width="500px" :before-close="handleClose" center :close-on-click-modal="false">
|
||||
<el-form ref="ruleForm" :model="formModel" :rules="rules" label-width="100px">
|
||||
<el-form-item label="场景名称:" prop="name">
|
||||
<el-input v-model="formModel.name" style="width: 350px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="场景url:" prop="url">
|
||||
<el-input v-model="formModel.url" type="textarea" style="width:350px;" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<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 { saveSceneVideo, editSceneVideo, getContextSenceDetail } from '@/api/contest';
|
||||
export default {
|
||||
name: 'AddContestTask',
|
||||
data() {
|
||||
return {
|
||||
dialogVisible: false,
|
||||
formModel: {
|
||||
id: '',
|
||||
name: '',
|
||||
url: ''
|
||||
},
|
||||
loading: false
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
rules() {
|
||||
const crules = {
|
||||
name: [
|
||||
{ required: true, message: '请输入场景名称', trigger: 'blur' }
|
||||
],
|
||||
url: [
|
||||
{ required: true, message: '请输入场景url', trigger: 'blur' }
|
||||
]
|
||||
};
|
||||
return crules;
|
||||
},
|
||||
title() {
|
||||
return this.formModel.id ? '修改三维场景' : '新建三维场景';
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
doShow(sceneId) {
|
||||
this.dialogVisible = true;
|
||||
if (sceneId) {
|
||||
this.formModel.id = sceneId;
|
||||
getContextSenceDetail(sceneId).then((res) => {
|
||||
this.formModel.name = res.data.name;
|
||||
this.formModel.url = res.data.scene.url;
|
||||
}).catch(error => {
|
||||
this.$message.error(error.message);
|
||||
});
|
||||
} else {
|
||||
this.formModel = {
|
||||
id: '',
|
||||
name: '',
|
||||
url: ''
|
||||
};
|
||||
}
|
||||
},
|
||||
handleClose() {
|
||||
this.formModel = {
|
||||
id: '',
|
||||
name: '',
|
||||
url: ''
|
||||
};
|
||||
this.dialogVisible = false;
|
||||
this.loading = false;
|
||||
},
|
||||
doSave() {
|
||||
this.$refs.ruleForm.validate((valid) => {
|
||||
if (valid) {
|
||||
this.loading = true;
|
||||
const data = { name:this.formModel.name, type:'Link',
|
||||
scene:{url:this.formModel.url}};
|
||||
if (this.formModel.id) {
|
||||
editSceneVideo(this.formModel.id, data).then(() => {
|
||||
this.$message.success('修改三维场景成功!');
|
||||
this.handleClose();
|
||||
this.$emit('reloadTable');
|
||||
}).catch(error => {
|
||||
this.$message.error(error.message);
|
||||
this.loading = false;
|
||||
});
|
||||
} else {
|
||||
saveSceneVideo(data).then(() => {
|
||||
this.$message.success('创建三维场景成功!');
|
||||
this.handleClose();
|
||||
this.$emit('reloadTable');
|
||||
}).catch(error => {
|
||||
this.$message.error(error.message);
|
||||
this.loading = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
94
src/views/thirdLogin/cgyLogin.vue
Normal file
94
src/views/thirdLogin/cgyLogin.vue
Normal file
@ -0,0 +1,94 @@
|
||||
<template>
|
||||
<div class="thirdLoginContainer">
|
||||
<div class="thirdLoginMessage">
|
||||
{{ message }}
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { cgyThirdLogin } from '@/api/management/user';
|
||||
import { setToken } from '@/utils/auth';
|
||||
import { createSimulation } from '@/api/simulation';
|
||||
import { launchFullscreen } from '@/utils/screen';
|
||||
import { getMapFunctioById } from '@/api/trainingPlatform';
|
||||
import { getPublishMapInfo } from '@/api/jmap/map';
|
||||
|
||||
export default {
|
||||
name:'CgyLogin',
|
||||
data() {
|
||||
return {
|
||||
message:''
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
project() {
|
||||
const project = this.$route.query.project;
|
||||
return project || 'login';
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
const appId = this.$route.query.appId;
|
||||
const sessionId = this.$route.query.sessionId;
|
||||
const timeStamp = this.$route.query.timeStamp;
|
||||
const account = this.$route.query.account;
|
||||
const name = this.$route.query.name;
|
||||
const parentAccount = this.$route.query.parentAccount;
|
||||
const functionId = this.$route.query.functionId;
|
||||
if (appId && account && name) {
|
||||
const data = {
|
||||
appId,
|
||||
sessionId,
|
||||
timeStamp,
|
||||
account,
|
||||
name,
|
||||
parentAccount,
|
||||
functionId
|
||||
};
|
||||
this.message = '正在登陆中......';
|
||||
cgyThirdLogin(data).then(resp=> {
|
||||
const token = resp.data;
|
||||
const header = { group: '', 'X-Token': token };
|
||||
setToken(token);
|
||||
this.$store.dispatch('setToken', token);
|
||||
this.$store.dispatch('subscribe', {header, type:'class'});
|
||||
this.enterSimulation();
|
||||
}).catch(() => {
|
||||
this.message = '参数有误,请检查';
|
||||
});
|
||||
} else {
|
||||
this.message = '参数有误,请检查';
|
||||
}
|
||||
},
|
||||
methods:{
|
||||
async enterSimulation() {
|
||||
const query = {
|
||||
third: true,
|
||||
query: 'cgy'
|
||||
};
|
||||
const resp = await getMapFunctioById(this.$route.query.systemId);
|
||||
query.mapId = resp.data.mapId;
|
||||
query.simType = resp.data.simType;
|
||||
const resp1 = await getPublishMapInfo(resp.data.mapId);
|
||||
query.lineCode = resp1.data.lineCode;
|
||||
createSimulation(this.$route.query.systemId).then(resp => {
|
||||
query.group = resp.data;
|
||||
this.$router.replace({ path: `/display/demon`, query: query });
|
||||
launchFullscreen();
|
||||
}).catch(error=>{
|
||||
if (error.code == 10003) {
|
||||
this.$messageBox(this.$t('error.createSimulationFailed') + ':您的仿真权限不足!');
|
||||
} else {
|
||||
this.$messageBox(this.$t('error.createSimulationFailed') + error.message);
|
||||
}
|
||||
this.disabled = false;
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.thirdLoginMessage{
|
||||
padding: 20px;
|
||||
font-size: 20px;
|
||||
}
|
||||
</style>
|
Loading…
Reference in New Issue
Block a user