三维编辑器修改,三维cctv仿真结束登出
This commit is contained in:
parent
2a0a45ccef
commit
9c0df60188
259
src/jlmap3d/edit/config/editassetconfig.js
Normal file
259
src/jlmap3d/edit/config/editassetconfig.js
Normal file
@ -0,0 +1,259 @@
|
|||||||
|
export let driverListConfig = [
|
||||||
|
{
|
||||||
|
assetname:"列车模型",
|
||||||
|
id:'',
|
||||||
|
packageName:'',
|
||||||
|
type:'',
|
||||||
|
url:''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
assetname:"信号机模型",
|
||||||
|
id:'',
|
||||||
|
packageName:'',
|
||||||
|
type:'',
|
||||||
|
url:''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
assetname:"道岔模型",
|
||||||
|
id:'',
|
||||||
|
packageName:'',
|
||||||
|
type:'',
|
||||||
|
url:''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
assetname:"内侧车站",
|
||||||
|
id:'',
|
||||||
|
packageName:'',
|
||||||
|
type:'',
|
||||||
|
url:''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
assetname:"外侧车站",
|
||||||
|
id:'',
|
||||||
|
packageName:'',
|
||||||
|
type:'',
|
||||||
|
url:''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
assetname:"三站台",
|
||||||
|
id:'',
|
||||||
|
packageName:'',
|
||||||
|
type:'',
|
||||||
|
url:''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
assetname:"隧道背景",
|
||||||
|
id:'',
|
||||||
|
packageName:'',
|
||||||
|
type:'',
|
||||||
|
url:''
|
||||||
|
}
|
||||||
|
];
|
||||||
|
export let sceneListConfig = [
|
||||||
|
{
|
||||||
|
assetname:"列车模型",
|
||||||
|
id:'',
|
||||||
|
packageName:'',
|
||||||
|
type:'',
|
||||||
|
url:''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
assetname:"信号机模型",
|
||||||
|
id:'',
|
||||||
|
packageName:'',
|
||||||
|
type:'',
|
||||||
|
url:''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
assetname:"道岔模型",
|
||||||
|
id:'',
|
||||||
|
packageName:'',
|
||||||
|
type:'',
|
||||||
|
url:''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
assetname:"内侧车站",
|
||||||
|
id:'',
|
||||||
|
packageName:'',
|
||||||
|
type:'',
|
||||||
|
url:''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
assetname:"外侧车站",
|
||||||
|
id:'',
|
||||||
|
packageName:'',
|
||||||
|
type:'',
|
||||||
|
url:''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
assetname:"三站台",
|
||||||
|
id:'',
|
||||||
|
packageName:'',
|
||||||
|
type:'',
|
||||||
|
url:''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
assetname:"隧道背景",
|
||||||
|
id:'',
|
||||||
|
packageName:'',
|
||||||
|
type:'',
|
||||||
|
url:''
|
||||||
|
}
|
||||||
|
];
|
||||||
|
export let deviceListConfig = [
|
||||||
|
{
|
||||||
|
assetname:"信号机模型",
|
||||||
|
id:'',
|
||||||
|
packageName:'',
|
||||||
|
type:'',
|
||||||
|
url:''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
assetname:"道岔模型",
|
||||||
|
id:'',
|
||||||
|
name:'',
|
||||||
|
type:'',
|
||||||
|
url:''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
assetname:"屏蔽门",
|
||||||
|
id:'',
|
||||||
|
packageName:'',
|
||||||
|
type:'',
|
||||||
|
url:''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
assetname:"区段铁轨",
|
||||||
|
id:'',
|
||||||
|
packageName:'',
|
||||||
|
type:'',
|
||||||
|
url:''
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
export let maintainerListConfig = [
|
||||||
|
{
|
||||||
|
assetname:"信号机模型",
|
||||||
|
id:'',
|
||||||
|
packageName:'',
|
||||||
|
type:'',
|
||||||
|
url:''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
assetname:"道岔模型",
|
||||||
|
id:'',
|
||||||
|
packageName:'',
|
||||||
|
type:'',
|
||||||
|
url:''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
assetname:"屏蔽门",
|
||||||
|
id:'',
|
||||||
|
packageName:'',
|
||||||
|
type:'',
|
||||||
|
url:''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
assetname:"区段铁轨",
|
||||||
|
id:'',
|
||||||
|
packageName:'',
|
||||||
|
type:'',
|
||||||
|
url:''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
assetname:"设备间",
|
||||||
|
id:'',
|
||||||
|
packageName:'',
|
||||||
|
type:'',
|
||||||
|
url:''
|
||||||
|
},
|
||||||
|
];
|
||||||
|
|
||||||
|
export let cctvListConfig = [
|
||||||
|
{
|
||||||
|
assetname:"人物1",
|
||||||
|
id:'',
|
||||||
|
packageName:'',
|
||||||
|
type:'',
|
||||||
|
url:''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
assetname:"人物2",
|
||||||
|
id:'',
|
||||||
|
packageName:'',
|
||||||
|
url:''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
assetname:"cctv车站",
|
||||||
|
id:'',
|
||||||
|
packageName:'',
|
||||||
|
url:''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
assetname:"进站闸机",
|
||||||
|
id:'',
|
||||||
|
packageName:'',
|
||||||
|
url:''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
assetname:"出站闸机",
|
||||||
|
id:'',
|
||||||
|
packageName:'',
|
||||||
|
type:'',
|
||||||
|
url:''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
assetname:"监控设备",
|
||||||
|
id:'',
|
||||||
|
packageName:'',
|
||||||
|
type:'',
|
||||||
|
url:''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
assetname:"列车",
|
||||||
|
id:'',
|
||||||
|
packageName:'',
|
||||||
|
type:'',
|
||||||
|
url:''
|
||||||
|
},
|
||||||
|
{
|
||||||
|
assetname:"站台轨",
|
||||||
|
id:'',
|
||||||
|
packageName:'',
|
||||||
|
type:'',
|
||||||
|
url:''
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
export let stationTextureListConfig = [
|
||||||
|
{
|
||||||
|
assetname:"车站站台贴图包",
|
||||||
|
id:'',
|
||||||
|
packageName:'',
|
||||||
|
type:'',
|
||||||
|
name:[],
|
||||||
|
urls:[],
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
export let deviceTextureListConfig = [
|
||||||
|
{
|
||||||
|
assetname:"设备贴图列表包",
|
||||||
|
id:'',
|
||||||
|
packageName:'',
|
||||||
|
type:'',
|
||||||
|
name:[],
|
||||||
|
urls:[],
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
export let signalTextureListConfig = [
|
||||||
|
{
|
||||||
|
assetname:"信号机灯光贴图包",
|
||||||
|
id:'',
|
||||||
|
packageName:'',
|
||||||
|
type:'',
|
||||||
|
name:[],
|
||||||
|
urls:[],
|
||||||
|
}
|
||||||
|
];
|
@ -1,6 +1,7 @@
|
|||||||
import StompClient from '@/utils/sock';
|
import StompClient from '@/utils/sock';
|
||||||
import { getBaseUrl } from '@/utils/baseUrl'
|
import { getBaseUrl } from '@/utils/baseUrl'
|
||||||
import { getToken } from '@/utils/auth';
|
import { getToken } from '@/utils/auth';
|
||||||
|
import { logout } from '@/api/login';
|
||||||
|
|
||||||
// 定于仿真socket接口
|
// 定于仿真socket接口
|
||||||
export function PassflowConnect(jl3dpass,deviceaction,toptrain,downtrain,routegroup) {
|
export function PassflowConnect(jl3dpass,deviceaction,toptrain,downtrain,routegroup) {
|
||||||
@ -9,7 +10,7 @@ export function PassflowConnect(jl3dpass,deviceaction,toptrain,downtrain,routegr
|
|||||||
|
|
||||||
let topic = '/user/queue/simulation/jl3d/'+routegroup;
|
let topic = '/user/queue/simulation/jl3d/'+routegroup;
|
||||||
let header = {'X-Token': getToken() };
|
let header = {'X-Token': getToken() };
|
||||||
|
|
||||||
socketon(topic);
|
socketon(topic);
|
||||||
|
|
||||||
function socketon(topic) {
|
function socketon(topic) {
|
||||||
@ -28,6 +29,7 @@ export function PassflowConnect(jl3dpass,deviceaction,toptrain,downtrain,routegr
|
|||||||
// 仿真socket接口回调函数
|
// 仿真socket接口回调函数
|
||||||
function callback(Response) {
|
function callback(Response) {
|
||||||
const data = JSON.parse(Response.body);
|
const data = JSON.parse(Response.body);
|
||||||
|
|
||||||
if(data.type == "DeviceCtrl_3D"){
|
if(data.type == "DeviceCtrl_3D"){
|
||||||
if(data.body.type == "PSD"){
|
if(data.body.type == "PSD"){
|
||||||
if(data.body.code == jl3dpass.nowstation.toppsd){
|
if(data.body.code == jl3dpass.nowstation.toppsd){
|
||||||
@ -120,7 +122,13 @@ export function PassflowConnect(jl3dpass,deviceaction,toptrain,downtrain,routegr
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// console.log(data);
|
if(data.type == 'Simulation_Over'){
|
||||||
|
logout(getToken()).then(() => {
|
||||||
|
window.location.reload();
|
||||||
|
}).catch(error => {
|
||||||
|
|
||||||
|
});;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
let actions;
|
let actions;
|
||||||
|
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
|
|
||||||
<div class="mapControl">
|
|
||||||
|
|
||||||
<el-tabs :tab-position="tabPosition" v-model="activeName" type="card" @tab-click="handleClick">
|
<el-tabs class="mapControl" :tab-position="tabPosition" v-model="activeName" type="card" @tab-click="handleClick" >
|
||||||
|
|
||||||
<!-- <el-tab-pane label="路径绘制" name="pathedit" >
|
<!-- <el-tab-pane label="路径绘制" name="pathedit" >
|
||||||
<el-row>
|
<el-row>
|
||||||
@ -49,7 +48,7 @@
|
|||||||
|
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
|
|
||||||
<el-tab-pane label="列车模型配置" name="trainedit">
|
<!-- <el-tab-pane label="列车模型配置" name="trainedit">
|
||||||
<div >
|
<div >
|
||||||
<div>当前线路列车模型</div>
|
<div>当前线路列车模型</div>
|
||||||
<div>
|
<div>
|
||||||
@ -57,51 +56,158 @@
|
|||||||
</div>
|
</div>
|
||||||
<div style="width:128px;height:128px;background-image: url('/static/texture/add.png');background-size: 100% 100%;"></div>
|
<div style="width:128px;height:128px;background-image: url('/static/texture/add.png');background-size: 100% 100%;"></div>
|
||||||
</div>
|
</div>
|
||||||
|
</el-tab-pane> -->
|
||||||
|
|
||||||
|
|
||||||
|
<el-tab-pane label="驾驶场景配置" name="driveEdit">
|
||||||
|
<div class= "editmodelconfig" :class="{active:index==isActive}" v-for="(asset,index) in driverAssetList" @click="assetSelect(driverAssetList[index],index)">
|
||||||
|
<div>{{asset.assetname}}</div>
|
||||||
|
<div>
|
||||||
|
资源id:
|
||||||
|
<el-input v-model="asset.id"></el-input>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
资源名称:
|
||||||
|
<el-input v-model="asset.packageName"></el-input>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
资源地址:
|
||||||
|
<el-input v-model="asset.url"></el-input>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</el-tab-pane>
|
||||||
|
|
||||||
|
<el-tab-pane label="沙盘场景配置" name="sceneEdit">
|
||||||
|
<div class= "editmodelconfig" :class="{active:index==isActive}" v-for="(asset,index) in sceneAssetList" @click="assetSelect(sceneAssetList[index],index)">
|
||||||
|
<div>{{asset.assetname}}</div>
|
||||||
|
<div>
|
||||||
|
资源id:
|
||||||
|
<el-input v-model="asset.id"></el-input>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
资源名称:
|
||||||
|
<el-input v-model="asset.packageName"></el-input>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
资源地址:
|
||||||
|
<el-input v-model="asset.url"></el-input>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
|
|
||||||
|
|
||||||
<el-tab-pane label="背景模型配置" name="sceneedit">
|
<el-tab-pane label="设备展示模型配置" name="deviceEdit">
|
||||||
|
<div class= "editmodelconfig" :class="{active:index==isActive}" v-for="(asset,index) in deviceAssetList" @click="assetSelect(deviceAssetList[index],index)">
|
||||||
|
<div>{{asset.assetname}}</div>
|
||||||
|
<div>
|
||||||
|
资源id:
|
||||||
|
<el-input v-model="asset.id"></el-input>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
资源名称:
|
||||||
|
<el-input v-model="asset.packageName"></el-input>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
资源地址:
|
||||||
|
<el-input v-model="asset.url"></el-input>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
|
|
||||||
|
|
||||||
<el-tab-pane label="设备展示模型配置" name="deviceedit">
|
<el-tab-pane label="cctv模型配置" name="cctvEdit">
|
||||||
|
<div class= "editmodelconfig" :class="{active:index==isActive}" v-for="(asset,index) in cctvAssetList" @click="assetSelect(cctvAssetList[index],index)">
|
||||||
|
<div>{{asset.assetname}}</div>
|
||||||
|
<div>
|
||||||
|
资源id:
|
||||||
|
<el-input v-model="asset.id"></el-input>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
资源名称:
|
||||||
|
<el-input v-model="asset.packageName"></el-input>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
资源地址:
|
||||||
|
<el-input v-model="asset.url"></el-input>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
|
|
||||||
|
|
||||||
<el-tab-pane label="cctv模型配置" name="cctvedit">
|
<el-tab-pane label="通号模型配置" name="maintainerEdit">
|
||||||
|
<div class= "editmodelconfig" :class="{active:index==isActive}" v-for="(asset,index) in maintainerAssetList" @click="assetSelect(maintainerAssetList[index],index)">
|
||||||
</el-tab-pane>
|
<div>{{asset.assetname}}</div>
|
||||||
|
<div>
|
||||||
|
资源id:
|
||||||
<el-tab-pane label="通号模型配置" name="maintaineredit">
|
<el-input v-model="asset.id"></el-input>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
资源名称:
|
||||||
|
<el-input v-model="asset.packageName"></el-input>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
资源地址:
|
||||||
|
<el-input v-model="asset.url"></el-input>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
|
|
||||||
|
|
||||||
<el-tab-pane label="车站名称列表贴图" name="stationTextures">
|
<el-tab-pane label="车站名称列表贴图" name="stationTextures">
|
||||||
|
<div class= "editmodelconfig" :class="{active:index==isActive}" v-for="(asset,index) in stationTextureList" @click="assetSelect(stationTextureList[index],index)">
|
||||||
|
<div>{{asset.assetname}}</div>
|
||||||
|
<div>
|
||||||
|
资源id:
|
||||||
|
<el-input v-model="asset.id"></el-input>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
资源名称:
|
||||||
|
<el-input v-model="asset.packageName"></el-input>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
|
|
||||||
|
|
||||||
<el-tab-pane label="单体设备展示贴图" name="deviceTextures">
|
<el-tab-pane label="单体设备展示贴图" name="deviceTextures">
|
||||||
|
<div class= "editmodelconfig" :class="{active:index==isActive}" v-for="(asset,index) in deviceTextureList" @click="assetSelect(deviceTextureList[index],index)">
|
||||||
|
<div>{{asset.assetname}}</div>
|
||||||
|
<div>
|
||||||
|
资源id:
|
||||||
|
<el-input v-model="asset.id"></el-input>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
资源名称:
|
||||||
|
<el-input v-model="asset.packageName"></el-input>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
|
|
||||||
|
|
||||||
<el-tab-pane label="信号机灯光贴图" name="signalLightTextures">
|
<el-tab-pane label="信号机灯光贴图" name="signalLightTextures">
|
||||||
|
<div class= "editmodelconfig" :class="{active:index==isActive}" v-for="(asset,index) in signalTextureAssetList" @click="assetSelect(signalTextureAssetList[index],index)">
|
||||||
|
<div>{{asset.assetname}}</div>
|
||||||
|
<div>
|
||||||
|
资源id:
|
||||||
|
<el-input v-model="asset.id"></el-input>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
资源名称:
|
||||||
|
<el-input v-model="asset.packageName"></el-input>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
|
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
|
<!-- <div class="mapControl">
|
||||||
|
|
||||||
</div>
|
</div> -->
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getMap3dModelDataAll,getMap3dModelData } from '@/api/jlmap3d/assets3d.js'
|
|
||||||
|
|
||||||
|
import {driverListConfig,sceneListConfig,deviceListConfig,maintainerListConfig,cctvListConfig,stationTextureListConfig,deviceTextureListConfig,signalTextureListConfig} from '@/jlmap3d/edit/config/editassetconfig.js'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'EditAction',
|
name: 'EditAction',
|
||||||
@ -112,7 +218,18 @@ export default {
|
|||||||
return {
|
return {
|
||||||
activeName: '',
|
activeName: '',
|
||||||
tabPosition:'left',
|
tabPosition:'left',
|
||||||
size:'medium'
|
size:'medium',
|
||||||
|
isActive:-1,
|
||||||
|
nowSelect:null,
|
||||||
|
driverAssetList:driverListConfig,
|
||||||
|
sceneAssetList:sceneListConfig,
|
||||||
|
deviceAssetList:deviceListConfig,
|
||||||
|
cctvAssetList:maintainerListConfig,
|
||||||
|
maintainerAssetList:cctvListConfig,
|
||||||
|
|
||||||
|
stationTextureList:stationTextureListConfig,
|
||||||
|
deviceTextureList:deviceTextureListConfig,
|
||||||
|
signalTextureAssetList:signalTextureListConfig,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
@ -120,13 +237,7 @@ export default {
|
|||||||
|
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
getMap3dModelDataAll().then(netdata => {
|
window.updateSelectAsset = this.updateSelectAsset;
|
||||||
|
|
||||||
|
|
||||||
console.log(netdata);
|
|
||||||
}).catch(error => {
|
|
||||||
console.log(error);
|
|
||||||
});
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
|
||||||
@ -137,39 +248,114 @@ export default {
|
|||||||
|
|
||||||
},
|
},
|
||||||
handleClick(tab, event) {
|
handleClick(tab, event) {
|
||||||
console.log(tab);
|
// console.log(tab);
|
||||||
if(tab.name == "pathedit"){
|
// if(tab.name == "pathedit"){
|
||||||
|
// this.$emit('saction',this.activeName);
|
||||||
|
// }
|
||||||
|
this.isActive = -1;
|
||||||
|
this.nowSelect = null;
|
||||||
|
if(tab.name == "trackedit"){
|
||||||
this.$emit('saction',this.activeName);
|
this.$emit('saction',this.activeName);
|
||||||
|
this.$emit('actionevent',"trackreplace");
|
||||||
}
|
}
|
||||||
if(tab.name == "switchedit"){
|
if(tab.name == "switchedit"){
|
||||||
this.$emit('saction',this.activeName);
|
this.$emit('saction',this.activeName);
|
||||||
this.$emit('actionevent',"switchreplace");
|
this.$emit('actionevent',"switchreplace");
|
||||||
}
|
}
|
||||||
if(tab.name == "trackedit"){
|
|
||||||
this.$emit('saction',this.activeName);
|
|
||||||
this.$emit('actionevent',"trackreplace");
|
|
||||||
}
|
|
||||||
if(tab.name == "signaledit"){
|
if(tab.name == "signaledit"){
|
||||||
|
|
||||||
this.$emit('saction',this.activeName);
|
this.$emit('saction',this.activeName);
|
||||||
|
|
||||||
}
|
}
|
||||||
if(tab.name == "stationedit"){
|
if(tab.name == "stationedit"){
|
||||||
this.$emit('saction',this.activeName);
|
this.$emit('saction',this.activeName);
|
||||||
this.$emit('actionevent',"stationreplace");
|
this.$emit('actionevent',"stationreplace");
|
||||||
}
|
}
|
||||||
if(tab.name == "trainedit"){
|
|
||||||
this.$emit('saction',this.activeName);
|
if(tab.name == "sceneEdit" ||tab.name == "driveEdit"||tab.name == "deviceEdit"||tab.name == "maintainerEdit"||tab.name == "cctvEdit" ){
|
||||||
|
updateAssetList(this.activeName,"model");
|
||||||
}
|
}
|
||||||
if(tab.name == "sceneedit"){
|
|
||||||
this.$emit('saction',this.activeName);
|
if(tab.name == "stationTextures" ||tab.name == "deviceTextures"||tab.name == "signalLightTextures"){
|
||||||
|
updateAssetList(this.activeName,"texture");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
//选中需要更新的资源
|
||||||
|
assetSelect(assetData,index){
|
||||||
|
this.isActive=index;
|
||||||
|
console.log(index);
|
||||||
|
this.nowSelect = index;
|
||||||
|
},
|
||||||
|
//切换资源库内容
|
||||||
|
updateSelectAsset(selectData){
|
||||||
|
if(this.nowSelect != null){
|
||||||
|
if(selectData.fileType == "model"){
|
||||||
|
if(selectData.resourceType == "SandboxScene"){
|
||||||
|
this.sceneAssetList[this.nowSelect].id = selectData.id;
|
||||||
|
this.sceneAssetList[this.nowSelect].packageName = selectData.packageName;
|
||||||
|
this.sceneAssetList[this.nowSelect].type = selectData.deviceType;
|
||||||
|
this.sceneAssetList[this.nowSelect].url = selectData.url;
|
||||||
|
console.log(this.sceneAssetList);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(selectData.resourceType == "DriveScene"){
|
||||||
|
this.driverAssetList[this.nowSelect].id = selectData.id;
|
||||||
|
this.driverAssetList[this.nowSelect].packageName = selectData.packageName;
|
||||||
|
this.driverAssetList[this.nowSelect].type = selectData.deviceType;
|
||||||
|
this.driverAssetList[this.nowSelect].url = selectData.url;
|
||||||
|
console.log(this.driverAssetList);
|
||||||
|
}
|
||||||
|
if(selectData.resourceType == "DeviceScene"){
|
||||||
|
this.deviceAssetList[this.nowSelect].id = selectData.id;
|
||||||
|
this.deviceAssetList[this.nowSelect].packageName = selectData.packageName;
|
||||||
|
this.deviceAssetList[this.nowSelect].type = selectData.deviceType;
|
||||||
|
this.deviceAssetList[this.nowSelect].url = selectData.url;
|
||||||
|
console.log(this.deviceAssetList);
|
||||||
|
}
|
||||||
|
if(selectData.resourceType == "CctvScene"){
|
||||||
|
this.cctvAssetList[this.nowSelect].id = selectData.id;
|
||||||
|
this.cctvAssetList[this.nowSelect].packageName = selectData.packageName;
|
||||||
|
this.cctvAssetList[this.nowSelect].type = selectData.deviceType;
|
||||||
|
this.cctvAssetList[this.nowSelect].url = selectData.url;
|
||||||
|
console.log(this.cctvAssetList);
|
||||||
|
}
|
||||||
|
if(selectData.resourceType == "MaintainerScene"){
|
||||||
|
this.maintainerAssetList[this.nowSelect].id = selectData.id;
|
||||||
|
this.maintainerAssetList[this.nowSelect].packageName = selectData.packageName;
|
||||||
|
this.maintainerAssetList[this.nowSelect].type = selectData.deviceType;
|
||||||
|
this.maintainerAssetList[this.nowSelect].url = selectData.url;
|
||||||
|
console.log(this.maintainerAssetList);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(selectData.fileType == "texture"){
|
||||||
|
if(selectData.resourceType == "textureStation"){
|
||||||
|
this.stationTextureList[this.nowSelect].id = selectData.id;
|
||||||
|
this.stationTextureList[this.nowSelect].packageName = selectData.packageName;
|
||||||
|
this.stationTextureList[this.nowSelect].type = selectData.deviceType;
|
||||||
|
console.log(this.stationTextureList);
|
||||||
|
}
|
||||||
|
if(selectData.resourceType == "textureSignal"){
|
||||||
|
this.signalTextureAssetList[this.nowSelect].id = selectData.id;
|
||||||
|
this.signalTextureAssetList[this.nowSelect].packageName = selectData.packageName;
|
||||||
|
this.signalTextureAssetList[this.nowSelect].type = selectData.deviceType;
|
||||||
|
console.log(this.signalTextureAssetList);
|
||||||
|
}
|
||||||
|
if(selectData.resourceType == "textureDevice"){
|
||||||
|
this.deviceTextureList[this.nowSelect].id = selectData.id;
|
||||||
|
this.deviceTextureList[this.nowSelect].packageName = selectData.packageName;
|
||||||
|
this.deviceTextureList[this.nowSelect].type = selectData.deviceType;
|
||||||
|
console.log(this.deviceTextureList);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
actionevent(event){
|
actionevent(event){
|
||||||
console.log(event.currentTarget.id);
|
console.log(event.currentTarget.id);
|
||||||
this.$emit('actionevent',event.currentTarget.id);
|
this.$emit('actionevent',event.currentTarget.id);
|
||||||
//console.log();
|
//console.log();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -187,10 +373,20 @@ export default {
|
|||||||
width: 20%;
|
width: 20%;
|
||||||
height:100%;
|
height:100%;
|
||||||
background:#fff;
|
background:#fff;
|
||||||
border-radius:5px;
|
overflow-y:auto
|
||||||
text-align: center;
|
// border-radius:5px;
|
||||||
|
// text-align: center;
|
||||||
|
}
|
||||||
|
.editmodelconfig{
|
||||||
|
left:0;
|
||||||
|
margin-top:5px;
|
||||||
|
width:98%;
|
||||||
|
border-radius:5px;
|
||||||
|
border:solid 2px #000
|
||||||
|
}
|
||||||
|
.active{
|
||||||
|
background-color:blue;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editbutton{
|
.editbutton{
|
||||||
padding: 1cm
|
padding: 1cm
|
||||||
}
|
}
|
||||||
|
@ -3,32 +3,20 @@
|
|||||||
<div class="asset-list">
|
<div class="asset-list">
|
||||||
<el-tabs v-model="activeName">
|
<el-tabs v-model="activeName">
|
||||||
|
|
||||||
<el-tab-pane label="模型" name="models">
|
<el-tab-pane label="资源" name="models">
|
||||||
<el-scrollbar style="margin-bottom:1px">
|
<el-scrollbar style="margin-bottom:1px">
|
||||||
<el-form ref="form" label-width="130px" size="mini">
|
<el-form ref="form" label-width="130px" size="mini">
|
||||||
<div class="modellist" v-for="(asset,index) in modellist" @click="modelselect(index)">
|
<div class="modellist" v-for="(asset,index) in nowassetlist" @click="modelSelect(index)">
|
||||||
<div >
|
<div >
|
||||||
<img class="modelpic" draggable="true" >
|
<img class="modelpic" draggable="true" >
|
||||||
<p class="modelp">{{asset.name }}</p>
|
<div class="modelid">资源ID:{{asset.id }}</div>
|
||||||
|
<div class="modelname">{{asset.packageName }}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-form>
|
</el-form>
|
||||||
</el-scrollbar>
|
</el-scrollbar>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
|
|
||||||
<el-tab-pane label="贴图" name="textures">
|
|
||||||
<el-scrollbar wrapClass="scrollbar-wrapper">
|
|
||||||
<el-form ref="form" label-width="130px" size="mini" >
|
|
||||||
<div class="modellist" v-for="(texture,index) in texturelist" @click="textureselect(index)" v-show="texture.classtype==modelcalsstype" >
|
|
||||||
<div >
|
|
||||||
<img class="modelpic" :src="texture.asseturl">
|
|
||||||
<p class="modelp">{{texture.name }}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</el-form>
|
|
||||||
</el-scrollbar>
|
|
||||||
</el-tab-pane>
|
|
||||||
|
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
</div>
|
</div>
|
||||||
@ -43,7 +31,7 @@
|
|||||||
|
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
import {loadmap3dModel} from '@/api/jlmap3d/load3ddata';
|
import {loadmap3dModel} from '@/api/jlmap3d/load3ddata';
|
||||||
|
import { getMap3dModelDataAll,getMap3dModelData } from '@/api/jlmap3d/assets3d.js'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'EditAssets',
|
name: 'EditAssets',
|
||||||
@ -53,27 +41,21 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
activeName: 'models',
|
activeName: 'models',
|
||||||
|
nowassetlist: '',
|
||||||
filterText: '',
|
filterText: '',
|
||||||
defaultProps: {
|
defaultProps: {
|
||||||
children: 'children',
|
children: 'children',
|
||||||
label: 'label'
|
label: 'label'
|
||||||
},
|
},
|
||||||
modellist:[
|
modelList:[],
|
||||||
{
|
textureList:[],
|
||||||
name:1,
|
assetList:{
|
||||||
},
|
model:[
|
||||||
{
|
],
|
||||||
name:1,
|
texture:[
|
||||||
},
|
]
|
||||||
{
|
},
|
||||||
name:1,
|
modelClassType:"signal"
|
||||||
},
|
|
||||||
{
|
|
||||||
name:1,
|
|
||||||
},
|
|
||||||
],
|
|
||||||
texturelist:[],
|
|
||||||
modelcalsstype:"signal"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
@ -81,30 +63,115 @@ export default {
|
|||||||
|
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
filterText(val) {
|
filterText(val) {
|
||||||
this.$refs.tree2.filter(val);
|
this.$refs.tree2.filter(val);
|
||||||
},
|
|
||||||
modellist: function() {
|
|
||||||
this.$nextTick(function(){
|
|
||||||
////console.log("nextTick");
|
|
||||||
})
|
|
||||||
},
|
|
||||||
texturelist: function() {
|
|
||||||
this.$nextTick(function(){
|
|
||||||
////console.log("nextTick");
|
|
||||||
})
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
modelselect(index){
|
|
||||||
// //console.log(this.modellist);
|
|
||||||
// //console.log(index);
|
|
||||||
this.$emit('smodel',this.modellist[index]);
|
|
||||||
},
|
},
|
||||||
textureselect(index){
|
modelList: function() {
|
||||||
// //console.log(this.texturelist);
|
this.$nextTick(function(){
|
||||||
// //console.log(index);
|
////console.log("nextTick");
|
||||||
this.$emit('stexture',this.texturelist[index]);
|
})
|
||||||
|
},
|
||||||
|
textureList: function() {
|
||||||
|
this.$nextTick(function(){
|
||||||
|
////console.log("nextTick");
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
window.updateAssetList = this.updateAssetList;
|
||||||
|
this.assetList.model["sceneEdit"] = [];
|
||||||
|
this.assetList.model["driveEdit"] = [];
|
||||||
|
this.assetList.model["deviceEdit"] = [];
|
||||||
|
this.assetList.model["maintainerEdit"] = [];
|
||||||
|
this.assetList.model["cctvEdit"] = [];
|
||||||
|
|
||||||
|
this.assetList.texture["stationTextures"] = [];
|
||||||
|
this.assetList.texture["signalLightTextures"] = [];
|
||||||
|
this.assetList.texture["deviceTextures"] = [];
|
||||||
|
|
||||||
|
getMap3dModelDataAll().then(netdata => {
|
||||||
|
console.log(netdata);
|
||||||
|
let assetdata = netdata.data;
|
||||||
|
let newtexturesdata = [];
|
||||||
|
for(let i=0,leni=assetdata.length;i<leni;i++){
|
||||||
|
if(assetdata[i].fileType == "model"){
|
||||||
|
if(assetdata[i].resourceType == "SandboxScene"){
|
||||||
|
this.assetList.model["sceneEdit"].push(assetdata[i]);
|
||||||
|
}
|
||||||
|
if(assetdata[i].resourceType == "DriveScene"){
|
||||||
|
this.assetList.model["driveEdit"].push(assetdata[i]);
|
||||||
|
}
|
||||||
|
if(assetdata[i].resourceType == "DeviceScene"){
|
||||||
|
this.assetList.model["deviceEdit"].push(assetdata[i]);
|
||||||
|
}
|
||||||
|
if(assetdata[i].resourceType == "MaintainerScene"){
|
||||||
|
this.assetList.model["maintainerEdit"].push(assetdata[i]);
|
||||||
|
}
|
||||||
|
if(assetdata[i].resourceType == "CctvScene"){
|
||||||
|
this.assetList.model["cctvEdit"].push(assetdata[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(assetdata[i].fileType == "texture"){
|
||||||
|
let newtexture = {
|
||||||
|
id:"图包",
|
||||||
|
packageName:assetdata[i].packageName,
|
||||||
|
fileType:assetdata[i].fileType,
|
||||||
|
resourceType:assetdata[i].resourceType,
|
||||||
|
data:[]
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
let index = null;
|
||||||
|
for(let j=0,lenj=newtexturesdata.length;j<lenj;j++){
|
||||||
|
|
||||||
|
if(newtexture.packageName == newtexturesdata[j].packageName){
|
||||||
|
|
||||||
|
index = j;
|
||||||
|
j = lenj;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(index != null){
|
||||||
|
newtexturesdata[index].data[assetdata[i].name.split(".")[0]] = assetdata[i].url;
|
||||||
|
}else{
|
||||||
|
newtexture.data[assetdata[i].name.split(".")[0]] = assetdata[i].url;
|
||||||
|
newtexturesdata.push(newtexture)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for(let i=0,leni=newtexturesdata.length;i<leni;i++){
|
||||||
|
if(newtexturesdata[i].resourceType == "textureStation"){
|
||||||
|
this.assetList.texture["stationTextures"].push(newtexturesdata[i]);
|
||||||
|
}
|
||||||
|
if(newtexturesdata[i].resourceType == "textureSignal"){
|
||||||
|
this.assetList.texture["signalLightTextures"].push(newtexturesdata[i]);
|
||||||
|
}
|
||||||
|
if(newtexturesdata[i].resourceType == "textureDevice"){
|
||||||
|
this.assetList.texture["deviceTextures"].push(newtexturesdata[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
console.log( this.assetList.texture);
|
||||||
|
}).catch(error => {
|
||||||
|
console.log(error);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
modelSelect(index){
|
||||||
|
// //console.log(this.modelList);
|
||||||
|
console.log(this.nowassetlist[index]);
|
||||||
|
// this.$emit('smodel',this.modelList[index]);
|
||||||
|
updateSelectAsset(this.nowassetlist[index]);
|
||||||
|
},
|
||||||
|
//刷新资源库显示
|
||||||
|
updateAssetList(newdata,newtype){
|
||||||
|
if(newtype == "model"){
|
||||||
|
this.nowassetlist = this.assetList.model[newdata];
|
||||||
|
}
|
||||||
|
if(newtype == "texture"){
|
||||||
|
this.nowassetlist = this.assetList.texture[newdata];
|
||||||
|
}
|
||||||
|
console.log(this.nowassetlist);
|
||||||
},
|
},
|
||||||
filterNode(value, data) {
|
filterNode(value, data) {
|
||||||
if (!value) return true;
|
if (!value) return true;
|
||||||
@ -116,7 +183,7 @@ export default {
|
|||||||
back() {
|
back() {
|
||||||
|
|
||||||
},
|
},
|
||||||
togglelist(actionname){
|
toggleList(actionname){
|
||||||
//console.log(actionname);
|
//console.log(actionname);
|
||||||
let nowasset = null;
|
let nowasset = null;
|
||||||
if(actionname == "pathedit"){
|
if(actionname == "pathedit"){
|
||||||
@ -140,32 +207,10 @@ export default {
|
|||||||
if(actionname == "sceneedit"){
|
if(actionname == "sceneedit"){
|
||||||
nowasset = "scene";
|
nowasset = "scene";
|
||||||
}
|
}
|
||||||
this.modelcalsstype = nowasset;
|
this.modelClassType = nowasset;
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
},
|
|
||||||
mounted() {
|
|
||||||
var modellist = this.modellist;
|
|
||||||
// let url1 = "http://localhost:1337/model_load";
|
|
||||||
// // let url2 = "http://localhost:1337/texture_load";
|
|
||||||
//
|
|
||||||
// axios.get(url1).then( (result)=> {
|
|
||||||
// this.modellist = result.data;
|
|
||||||
// ////console.log(this.modellist);
|
|
||||||
// });
|
|
||||||
|
|
||||||
// loadmap3dModel().then(data => {
|
|
||||||
// if(data.code == "200"){
|
|
||||||
// //console.log(data);
|
|
||||||
// this.modellist = data.data;
|
|
||||||
// //console.log(this.modellist);
|
|
||||||
// }
|
|
||||||
// }).catch(error => {
|
|
||||||
// //console.log(error);
|
|
||||||
// });
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
@ -200,22 +245,32 @@ export default {
|
|||||||
.modellist {
|
.modellist {
|
||||||
float:left;
|
float:left;
|
||||||
position: relative;
|
position: relative;
|
||||||
width:120px;
|
width:100px;
|
||||||
height:120px;
|
height:100px;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
|
border-radius:5px;
|
||||||
|
border:solid 2px #000;
|
||||||
}
|
}
|
||||||
.modelpic{
|
.modelpic{
|
||||||
left:0;
|
left:20%;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
|
top:0;
|
||||||
width:60%;
|
width:60%;
|
||||||
height:60%;
|
height:60%;
|
||||||
text-align:center;
|
text-align:center;
|
||||||
background-image: url('/static/texture/modelfile.png');
|
background-image: url('/static/texture/modelfile.png');
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
.modelp{
|
.modelid{
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom:0;
|
top:60%;
|
||||||
|
height:20%;
|
||||||
|
z-index:0;
|
||||||
|
}
|
||||||
|
.modelname{
|
||||||
|
position: absolute;
|
||||||
|
top:80%;
|
||||||
|
height:20%;
|
||||||
z-index:0;
|
z-index:0;
|
||||||
}
|
}
|
||||||
.map-draft {
|
.map-draft {
|
||||||
|
@ -134,7 +134,7 @@
|
|||||||
this.jlmap3dedit.editmode = editmode;
|
this.jlmap3dedit.editmode = editmode;
|
||||||
this.jlmap3dedit.actionmode = editmode;
|
this.jlmap3dedit.actionmode = editmode;
|
||||||
//this.jlmap3dedit.actionmode();
|
//this.jlmap3dedit.actionmode();
|
||||||
this.$refs.assets.togglelist(editmode);
|
this.$refs.assets.toggleList(editmode);
|
||||||
},
|
},
|
||||||
actionevent(eventname) {
|
actionevent(eventname) {
|
||||||
//console.log(eventname);
|
//console.log(eventname);
|
||||||
|
Loading…
Reference in New Issue
Block a user