大屏BIM增加GIS功能
parent
55c5ed4cbc
commit
46222fa681
|
@ -1,3 +1,5 @@
|
||||||
|
import bimTools from "./bimTools";
|
||||||
|
|
||||||
const options = {
|
const options = {
|
||||||
taskMapping: {
|
taskMapping: {
|
||||||
progress: "percent",
|
progress: "percent",
|
||||||
|
@ -192,6 +194,7 @@ function initEngine(that) {
|
||||||
showAxes: true, // 是否显示XYZ轴线
|
showAxes: true, // 是否显示XYZ轴线
|
||||||
};
|
};
|
||||||
bim4DApi.Plugin.initNavCube(mapOptions);
|
bim4DApi.Plugin.initNavCube(mapOptions);
|
||||||
|
bimTools.initBimGis(that, bim4DApi)
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -231,6 +234,7 @@ function initLoadModel(that) {
|
||||||
item.gis = JSON.parse(item.gisJson);
|
item.gis = JSON.parse(item.gisJson);
|
||||||
addModel(that, item.lightweightName);
|
addModel(that, item.lightweightName);
|
||||||
});
|
});
|
||||||
|
bimTools.initLoadModel(that, bim4DApi)
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -242,7 +246,7 @@ function addModel(that, modelId, cb) {
|
||||||
api.Model.add(
|
api.Model.add(
|
||||||
url,
|
url,
|
||||||
modelId,
|
modelId,
|
||||||
() => {},
|
() => { },
|
||||||
() => {
|
() => {
|
||||||
cb && cb();
|
cb && cb();
|
||||||
console.log("加载模型成功");
|
console.log("加载模型成功");
|
||||||
|
@ -255,11 +259,11 @@ function addModel(that, modelId, cb) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
that.modelLoaded = true;
|
that.modelLoaded = true;
|
||||||
let fnInit=()=>{
|
let fnInit = () => {
|
||||||
if(that.planLoaded){
|
if (that.planLoaded) {
|
||||||
that.initPlay();
|
that.initPlay();
|
||||||
}else{
|
} else {
|
||||||
setTimeout(fnInit,100);
|
setTimeout(fnInit, 100);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
fnInit();
|
fnInit();
|
||||||
|
@ -286,7 +290,7 @@ function showBim(that, index) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
console.log(index,showFeatureIds,currFeatureIds)
|
console.log(index, showFeatureIds, currFeatureIds)
|
||||||
if (showFeatureIds.length > 0) {
|
if (showFeatureIds.length > 0) {
|
||||||
setFeatueVisible(showFeatureIds, true);
|
setFeatueVisible(showFeatureIds, true);
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,94 @@
|
||||||
|
function initBimCfg(that) {
|
||||||
|
if (!that.bimCfg) {
|
||||||
|
that.bimCfg = {}
|
||||||
|
}
|
||||||
|
if (!that.hideParts) {
|
||||||
|
that.hideParts = [];
|
||||||
|
}
|
||||||
|
let config = that.$tryToJson(that.selProject?.bimConfig, {})
|
||||||
|
that.bimCfg.background = config.background || ''
|
||||||
|
that.bimCfg.showGis = config.showGis || false
|
||||||
|
that.bimCfg.clientApi = config.clientApi || false
|
||||||
|
}
|
||||||
|
|
||||||
|
function initBimGis(that, api) {
|
||||||
|
if (that.bimCfg.showGis) {
|
||||||
|
api.Public.setGisState(true);
|
||||||
|
api.Public.setTerrainState(false, "http://113.201.2.107:9304/layer.json", false)
|
||||||
|
api.Public.setGisState(true);
|
||||||
|
} else if (that.bimCfg.background) {
|
||||||
|
api.Public.setGisState(false, that.bimCfg.background);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function initLoadModel(that, api) {
|
||||||
|
let fnInit = () => {
|
||||||
|
if (api.m_model.size > 0) {
|
||||||
|
setTimeout(() => {
|
||||||
|
initModelPosition(that, api)
|
||||||
|
}, 1000)
|
||||||
|
} else {
|
||||||
|
setTimeout(fnInit, 1000);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fnInit();
|
||||||
|
}
|
||||||
|
|
||||||
|
function initModelPosition(that, api) {
|
||||||
|
that.models.forEach(modelInfo => {
|
||||||
|
if (modelInfo) {
|
||||||
|
let modelId = modelInfo.lightweightName
|
||||||
|
let cfg = that.$tryToJson(modelInfo.bimConfig, {});
|
||||||
|
let x = cfg?.x || 0;
|
||||||
|
let y = cfg?.y || 0;
|
||||||
|
let z = cfg?.z || 0;
|
||||||
|
let rotateZ = cfg?.rotateZ || 0;
|
||||||
|
if (x * 1 + y * 1 + z * 1 != 0) {
|
||||||
|
console.log("移动模型", modelId, x, y, z)
|
||||||
|
api.Model.moveToPosition([x, y, z], 0, modelId)
|
||||||
|
}
|
||||||
|
if (rotateZ * 1 != 0) {
|
||||||
|
api.Model.rotate(0, 0, rotateZ, modelId)
|
||||||
|
}
|
||||||
|
if (cfg && cfg.hideParts) {
|
||||||
|
cfg.hideParts.forEach(it => {
|
||||||
|
that.hideParts.push(it);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
setTimeout(() => {
|
||||||
|
api.Model.location(modelId);
|
||||||
|
setTimeout(() => {
|
||||||
|
that.resetScene();
|
||||||
|
}, 1000);
|
||||||
|
}, 1000);
|
||||||
|
}
|
||||||
|
initHideParts(that, api)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function initHideParts(that, api) {
|
||||||
|
let hideCnt = 0;
|
||||||
|
let hideFn = () => {
|
||||||
|
hideCnt++;
|
||||||
|
if (hideCnt > 30) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
setTimeout(() => {
|
||||||
|
let featureIds = (that.hideParts || []).map(it => it.featureId);
|
||||||
|
if (featureIds.length > 0) {
|
||||||
|
api.Feature.setVisible(featureIds.join("#"), false);
|
||||||
|
}
|
||||||
|
hideFn();
|
||||||
|
}, 100)
|
||||||
|
};
|
||||||
|
hideFn();
|
||||||
|
}
|
||||||
|
|
||||||
|
export default {
|
||||||
|
initBimCfg,
|
||||||
|
initBimGis,
|
||||||
|
initLoadModel,
|
||||||
|
initModelPosition,
|
||||||
|
initHideParts
|
||||||
|
}
|
|
@ -73,6 +73,7 @@ import debounce from "lodash.debounce";
|
||||||
import ganttElastic from "gantt-elastic";
|
import ganttElastic from "gantt-elastic";
|
||||||
import ganttHeader from "gantt-elastic-header";
|
import ganttHeader from "gantt-elastic-header";
|
||||||
import bim4DTools from "./bim/bim4DTools";
|
import bim4DTools from "./bim/bim4DTools";
|
||||||
|
import bimTools from "./bim/bimTools";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
|
@ -167,6 +168,7 @@ export default {
|
||||||
},
|
},
|
||||||
initEngine() {
|
initEngine() {
|
||||||
this.elId++;
|
this.elId++;
|
||||||
|
bimTools.initBimCfg(this);
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
bim4DTools.initEngine(this);
|
bim4DTools.initEngine(this);
|
||||||
}, 10);
|
}, 10);
|
||||||
|
|
|
@ -12,19 +12,10 @@
|
||||||
模型结构树
|
模型结构树
|
||||||
</div>
|
</div>
|
||||||
<div class="model-tree scroll">
|
<div class="model-tree scroll">
|
||||||
<el-tree
|
<el-tree :key="treeKey" ref="tree" :default-expanded-keys="treeExpendedKeys" :props="{
|
||||||
:key="treeKey"
|
children: 'children',
|
||||||
ref="tree"
|
label: 'title',
|
||||||
:default-expanded-keys="treeExpendedKeys"
|
}" node-key="key" @check="onCheckTree" :load="loadNode" lazy show-checkbox></el-tree>
|
||||||
:props="{
|
|
||||||
children: 'children',
|
|
||||||
label: 'title',
|
|
||||||
}"
|
|
||||||
node-key="key"
|
|
||||||
@check="onCheckTree"
|
|
||||||
:load="loadNode"
|
|
||||||
lazy
|
|
||||||
show-checkbox></el-tree>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -119,7 +110,8 @@
|
||||||
<div class="hide-item-state">{{ item.show ? "隐藏" : "显示" }}</div>
|
<div class="hide-item-state">{{ item.show ? "隐藏" : "显示" }}</div>
|
||||||
<el-switch v-model="item.show" @change="changeSwitch(item)"></el-switch>
|
<el-switch v-model="item.show" @change="changeSwitch(item)"></el-switch>
|
||||||
<div class="hide-item-id">{{ item.id }}</div>
|
<div class="hide-item-id">{{ item.id }}</div>
|
||||||
<div class="hide-item-delete"><i class="el-icon-delete command" @click="deleteFeature(item)" /></div>
|
<div class="hide-item-delete"><i class="el-icon-delete command" @click="deleteFeature(item)" />
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -227,6 +219,8 @@ import debounce from "lodash.debounce";
|
||||||
import { MergeArray, DelArray } from "@/utils/tools";
|
import { MergeArray, DelArray } from "@/utils/tools";
|
||||||
import briefingTools from "./bim/briefingTools";
|
import briefingTools from "./bim/briefingTools";
|
||||||
import SvgIcon from "@/components/SvgIcon.vue";
|
import SvgIcon from "@/components/SvgIcon.vue";
|
||||||
|
import BimTools from './bim/bimTools'
|
||||||
|
import bimTools from "./bim/bimTools";
|
||||||
export default {
|
export default {
|
||||||
components: { SvgIcon },
|
components: { SvgIcon },
|
||||||
name: "BimBriefing",
|
name: "BimBriefing",
|
||||||
|
@ -288,7 +282,7 @@ export default {
|
||||||
});
|
});
|
||||||
this.hideFeatureIds = [];
|
this.hideFeatureIds = [];
|
||||||
})
|
})
|
||||||
.catch(() => {});
|
.catch(() => { });
|
||||||
},
|
},
|
||||||
changeSwitch(item) {
|
changeSwitch(item) {
|
||||||
let api = bimBriefingApi;
|
let api = bimBriefingApi;
|
||||||
|
@ -371,10 +365,10 @@ export default {
|
||||||
},
|
},
|
||||||
doSelectMenu(index) {
|
doSelectMenu(index) {
|
||||||
this.selectMenu = index;
|
this.selectMenu = index;
|
||||||
if(index==0){
|
if (index == 0) {
|
||||||
briefingTools.clearEvent(this);
|
briefingTools.clearEvent(this);
|
||||||
this.showClipping = false;
|
this.showClipping = false;
|
||||||
briefingTools.clearSelectFeature(this);
|
briefingTools.clearSelectFeature(this);
|
||||||
}
|
}
|
||||||
switch (index) {
|
switch (index) {
|
||||||
case 0:
|
case 0:
|
||||||
|
@ -513,6 +507,7 @@ export default {
|
||||||
this.viewPoint = [];
|
this.viewPoint = [];
|
||||||
this.info = [];
|
this.info = [];
|
||||||
this.attributeInformation = "";
|
this.attributeInformation = "";
|
||||||
|
bimTools.initBimCfg(this);
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.loadEngine();
|
this.loadEngine();
|
||||||
}, 10);
|
}, 10);
|
||||||
|
@ -566,11 +561,12 @@ export default {
|
||||||
showAxes: true, // 是否显示XYZ轴线
|
showAxes: true, // 是否显示XYZ轴线
|
||||||
};
|
};
|
||||||
bimBriefingApi.Plugin.initNavCube(mapOptions);
|
bimBriefingApi.Plugin.initNavCube(mapOptions);
|
||||||
|
bimTools.initBimGis(this, bimBriefingApi)
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
initLoadModel() {
|
initLoadModel() {
|
||||||
this.$api.bim.getDefaultViewPoint(this.selProject.id, 1).then((d) => {
|
this.$api.bim.getDefaultViewPoint(this.selProject.id, 1).then((d) => {
|
||||||
let pt = "";
|
let pt = "";
|
||||||
if (d.data && d.data.length > 0) {
|
if (d.data && d.data.length > 0) {
|
||||||
pt = d.data[0].viewPosition;
|
pt = d.data[0].viewPosition;
|
||||||
|
@ -608,11 +604,12 @@ export default {
|
||||||
}, 3000);
|
}, 3000);
|
||||||
});
|
});
|
||||||
this.treeKey++;
|
this.treeKey++;
|
||||||
|
bimTools.initLoadModel(this, bimBriefingApi)
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.init();
|
this.init();
|
||||||
},
|
},
|
||||||
init() {},
|
init() { },
|
||||||
loadModelTree() {
|
loadModelTree() {
|
||||||
this.modelTrees = [
|
this.modelTrees = [
|
||||||
{
|
{
|
||||||
|
@ -675,17 +672,17 @@ export default {
|
||||||
},
|
},
|
||||||
addModel(modelId, cb) {
|
addModel(modelId, cb) {
|
||||||
let url = `${window.config.modelUrl}/Tools/output/model/${modelId}/root.glt`;
|
let url = `${window.config.modelUrl}/Tools/output/model/${modelId}/root.glt`;
|
||||||
let api=bimBriefingApi
|
let api = bimBriefingApi
|
||||||
console.log(modelId, url);
|
console.log(modelId, url);
|
||||||
api.Model.add(
|
api.Model.add(
|
||||||
url,
|
url,
|
||||||
modelId,
|
modelId,
|
||||||
() => {},
|
() => { },
|
||||||
() => {
|
() => {
|
||||||
cb && cb();
|
cb && cb();
|
||||||
console.log("加载模型成功");
|
console.log("加载模型成功");
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
if (this.viewPoint) {
|
if (this.viewPoint) {
|
||||||
api.Camera.setViewPort(this.viewPoint);
|
api.Camera.setViewPort(this.viewPoint);
|
||||||
} else {
|
} else {
|
||||||
api.Camera.getViewPort((p) => {
|
api.Camera.getViewPort((p) => {
|
||||||
|
@ -715,30 +712,37 @@ export default {
|
||||||
.bim-briefing {
|
.bim-briefing {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
#bimBriefing {
|
#bimBriefing {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|
||||||
#bimBriefingContainer {
|
#bimBriefingContainer {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.div-left {
|
.div-left {
|
||||||
top: 10vh;
|
top: 10vh;
|
||||||
left: 5%;
|
left: 5%;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
height: 70vh;
|
height: 70vh;
|
||||||
width: 14%;
|
width: 14%;
|
||||||
|
|
||||||
&.isHide {
|
&.isHide {
|
||||||
left: 0%;
|
left: 0%;
|
||||||
wdith: 0%;
|
wdith: 0%;
|
||||||
|
|
||||||
#arrowLeft {
|
#arrowLeft {
|
||||||
left: 0px !important;
|
left: 0px !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#arrowLeft {
|
#arrowLeft {
|
||||||
top: calc(50% - 50px);
|
top: calc(50% - 50px);
|
||||||
right: -21px;
|
right: -21px;
|
||||||
left: unset !important;
|
left: unset !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.div-row {
|
.div-row {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
@ -750,45 +754,56 @@ export default {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
height: 70vh;
|
height: 70vh;
|
||||||
width: 14%;
|
width: 14%;
|
||||||
|
|
||||||
&.isHide {
|
&.isHide {
|
||||||
right: 0%;
|
right: 0%;
|
||||||
width: 0%;
|
width: 0%;
|
||||||
}
|
}
|
||||||
|
|
||||||
#arrowRight {
|
#arrowRight {
|
||||||
top: calc(50% - 50px);
|
top: calc(50% - 50px);
|
||||||
left: -21px;
|
left: -21px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.div-row {
|
.div-row {
|
||||||
&.r33 {
|
&.r33 {
|
||||||
height: 180px;
|
height: 180px;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.r66 {
|
&.r66 {
|
||||||
height: calc(100% - 180px);
|
height: calc(100% - 180px);
|
||||||
}
|
}
|
||||||
|
|
||||||
&.r100 {
|
&.r100 {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.clear-all-btn {
|
.clear-all-btn {
|
||||||
margin: 10px;
|
margin: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.hide-list {
|
.hide-list {
|
||||||
height: calc(100% - 60px);
|
height: calc(100% - 60px);
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
padding: 0px 10px;
|
padding: 0px 10px;
|
||||||
|
|
||||||
.hide-item {
|
.hide-item {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
display: flex;
|
display: flex;
|
||||||
margin-bottom: 8px;
|
margin-bottom: 8px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
.hide-item-state {
|
.hide-item-state {
|
||||||
color: #e4e7edcc;
|
color: #e4e7edcc;
|
||||||
}
|
}
|
||||||
|
|
||||||
.hide-item-id {
|
.hide-item-id {
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
margin: 0px 10px;
|
margin: 0px 10px;
|
||||||
color: #22d3f4;
|
color: #22d3f4;
|
||||||
}
|
}
|
||||||
|
|
||||||
.hide-item-delete {
|
.hide-item-delete {
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
color: #48f800;
|
color: #48f800;
|
||||||
|
@ -799,14 +814,17 @@ export default {
|
||||||
|
|
||||||
.data-content {
|
.data-content {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|
||||||
.div-row {
|
.div-row {
|
||||||
border: solid 1px #75fbfdaa;
|
border: solid 1px #75fbfdaa;
|
||||||
background-color: #06445b81;
|
background-color: #06445b81;
|
||||||
|
|
||||||
.row-title {
|
.row-title {
|
||||||
background: linear-gradient(0deg, #105696, #c0dafb00, #1765ae);
|
background: linear-gradient(0deg, #105696, #c0dafb00, #1765ae);
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
height: 36px;
|
height: 36px;
|
||||||
line-height: 36px;
|
line-height: 36px;
|
||||||
|
|
||||||
.svg-icon {
|
.svg-icon {
|
||||||
fill: #75fbfd;
|
fill: #75fbfd;
|
||||||
}
|
}
|
||||||
|
@ -822,23 +840,28 @@ export default {
|
||||||
display: flex;
|
display: flex;
|
||||||
background: #00000080;
|
background: #00000080;
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
|
|
||||||
.tool-item {
|
.tool-item {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-flow: column;
|
flex-flow: column;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
||||||
&.is-selected {
|
&.is-selected {
|
||||||
.icon {
|
.icon {
|
||||||
background: #097fca94;
|
background: #097fca94;
|
||||||
|
|
||||||
.svg-icon {
|
.svg-icon {
|
||||||
fill: #75fbfd;
|
fill: #75fbfd;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.sp-text {
|
.sp-text {
|
||||||
color: #75fbfd;
|
color: #75fbfd;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon {
|
.icon {
|
||||||
width: 30px;
|
width: 30px;
|
||||||
height: 30px;
|
height: 30px;
|
||||||
|
@ -847,11 +870,13 @@ export default {
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
border-radius: 15px;
|
border-radius: 15px;
|
||||||
|
|
||||||
.svg-icon {
|
.svg-icon {
|
||||||
width: 20px;
|
width: 20px;
|
||||||
height: 20px;
|
height: 20px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.sp-text {
|
.sp-text {
|
||||||
margin-top: 4px;
|
margin-top: 4px;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
|
@ -862,21 +887,26 @@ export default {
|
||||||
.model-tree {
|
.model-tree {
|
||||||
height: calc(100% - 36px);
|
height: calc(100% - 36px);
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
|
|
||||||
.el-tree {
|
.el-tree {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
color: #eee;
|
color: #eee;
|
||||||
|
|
||||||
.el-checkbox {
|
.el-checkbox {
|
||||||
color: #45fdfe;
|
color: #45fdfe;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-tree-node {
|
.el-tree-node {
|
||||||
&:focus {
|
&:focus {
|
||||||
& > .el-tree-node__content {
|
&>.el-tree-node__content {
|
||||||
background: #3489d966;
|
background: #3489d966;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background: #3489d966;
|
background: #3489d966;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-tree-node__content:hover {
|
.el-tree-node__content:hover {
|
||||||
background: #3489d966;
|
background: #3489d966;
|
||||||
}
|
}
|
||||||
|
@ -888,19 +918,24 @@ export default {
|
||||||
height: calc(100% - 46px);
|
height: calc(100% - 46px);
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
padding-bottom: 10px;
|
padding-bottom: 10px;
|
||||||
|
|
||||||
.model-property-nav {
|
.model-property-nav {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
margin: 8px;
|
margin: 8px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.model-property-list {
|
.model-property-list {
|
||||||
padding: 0px 10px;
|
padding: 0px 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.info-list {
|
.info-list {
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.model-progress {
|
.model-progress {
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
|
|
||||||
.el-progress-bar {
|
.el-progress-bar {
|
||||||
.el-progress-bar__innerText {
|
.el-progress-bar__innerText {
|
||||||
color: #fff !important;
|
color: #fff !important;
|
||||||
|
@ -915,17 +950,22 @@ export default {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
color: #edffff85;
|
color: #edffff85;
|
||||||
}
|
}
|
||||||
|
|
||||||
.group-info {
|
.group-info {
|
||||||
padding: 4px 0px;
|
padding: 4px 0px;
|
||||||
|
|
||||||
.svg-icon {
|
.svg-icon {
|
||||||
fill: #45fdfe;
|
fill: #45fdfe;
|
||||||
}
|
}
|
||||||
|
|
||||||
span {
|
span {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.my-table {
|
.my-table {
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
|
|
||||||
td,
|
td,
|
||||||
th {
|
th {
|
||||||
border: solid 1px #0e0f0f88;
|
border: solid 1px #0e0f0f88;
|
||||||
|
@ -934,19 +974,23 @@ export default {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
th {
|
th {
|
||||||
color: #22d3f4;
|
color: #22d3f4;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (min-width: 2561px) {
|
@media (min-width: 2561px) {
|
||||||
.data-content {
|
.data-content {
|
||||||
.div-row {
|
.div-row {
|
||||||
&.r33 {
|
&.r33 {
|
||||||
height: 210px;
|
height: 210px;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.r66 {
|
&.r66 {
|
||||||
height: calc(100% - 210px);
|
height: calc(100% - 210px);
|
||||||
}
|
}
|
||||||
|
|
||||||
.row-title {
|
.row-title {
|
||||||
height: 48px;
|
height: 48px;
|
||||||
line-height: 48px;
|
line-height: 48px;
|
||||||
|
@ -954,36 +998,45 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.div-right {
|
.div-right {
|
||||||
.clear-all-btn {
|
.clear-all-btn {
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
margin: 12px;
|
margin: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.hide-list {
|
.hide-list {
|
||||||
height: calc(100% - 80px);
|
height: calc(100% - 80px);
|
||||||
|
|
||||||
.hide-item {
|
.hide-item {
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
margin-bottom: 12px;
|
margin-bottom: 12px;
|
||||||
|
|
||||||
.hide-item-delete {
|
.hide-item-delete {
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.div-tools {
|
.div-tools {
|
||||||
margin-left: -300px;
|
margin-left: -300px;
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
|
|
||||||
.tool-item {
|
.tool-item {
|
||||||
padding: 10px 20px;
|
padding: 10px 20px;
|
||||||
|
|
||||||
.icon {
|
.icon {
|
||||||
width: 60px;
|
width: 60px;
|
||||||
height: 60px;
|
height: 60px;
|
||||||
border-radius: 30px;
|
border-radius: 30px;
|
||||||
|
|
||||||
.svg-icon {
|
.svg-icon {
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.sp-text {
|
.sp-text {
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
|
@ -994,18 +1047,23 @@ export default {
|
||||||
.model-tree {
|
.model-tree {
|
||||||
.el-tree {
|
.el-tree {
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
|
|
||||||
.el-tree-node__content {
|
.el-tree-node__content {
|
||||||
height: 36px;
|
height: 36px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-tree-node__expand-icon {
|
.el-tree-node__expand-icon {
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-checkbox {
|
.el-checkbox {
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-tree-node__label {
|
.el-tree-node__label {
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-tree__empty-text {
|
.el-tree__empty-text {
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
}
|
}
|
||||||
|
@ -1017,6 +1075,7 @@ export default {
|
||||||
width: 30px;
|
width: 30px;
|
||||||
height: 30px;
|
height: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
span {
|
span {
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
@ -1025,6 +1084,7 @@ export default {
|
||||||
}
|
}
|
||||||
|
|
||||||
.my-table {
|
.my-table {
|
||||||
|
|
||||||
td,
|
td,
|
||||||
th {
|
th {
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
|
|
|
@ -393,7 +393,7 @@ export default {
|
||||||
showGis: false,
|
showGis: false,
|
||||||
clientApi: false,
|
clientApi: false,
|
||||||
},
|
},
|
||||||
hideParts: []
|
hideParts: [],//后台配置的隐藏
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
|
|
|
@ -12,20 +12,11 @@
|
||||||
模型结构树
|
模型结构树
|
||||||
</div>
|
</div>
|
||||||
<div class="model-tree scroll">
|
<div class="model-tree scroll">
|
||||||
<el-tree
|
<el-tree :key="treeKey" ref="tree" :default-expanded-keys="treeExpendedKeys" :props="{
|
||||||
:key="treeKey"
|
children: 'children',
|
||||||
ref="tree"
|
label: 'title',
|
||||||
:default-expanded-keys="treeExpendedKeys"
|
isLeaf: 'leaf',
|
||||||
:props="{
|
}" node-key="key" @check="onCheckTree" :load="loadNode" lazy show-checkbox></el-tree>
|
||||||
children: 'children',
|
|
||||||
label: 'title',
|
|
||||||
isLeaf: 'leaf',
|
|
||||||
}"
|
|
||||||
node-key="key"
|
|
||||||
@check="onCheckTree"
|
|
||||||
:load="loadNode"
|
|
||||||
lazy
|
|
||||||
show-checkbox></el-tree>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -43,7 +34,8 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="roaming-list scroll">
|
<div class="roaming-list scroll">
|
||||||
<div v-if="roamingLoading" class="loading">暂无数据</div>
|
<div v-if="roamingLoading" class="loading">暂无数据</div>
|
||||||
<div v-for="(item, index) in roamingList" :key="index" :class="{ 'is-selected': item.play != 0 }" class="roaming-item">
|
<div v-for="(item, index) in roamingList" :key="index" :class="{ 'is-selected': item.play != 0 }"
|
||||||
|
class="roaming-item">
|
||||||
<el-tooltip :content="item.name">
|
<el-tooltip :content="item.name">
|
||||||
<span class="roam-text">{{ item.name }}</span>
|
<span class="roam-text">{{ item.name }}</span>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
|
@ -72,7 +64,9 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="view-point-list scroll">
|
<div class="view-point-list scroll">
|
||||||
<div v-if="viewPointLoading" class="loading">暂无数据</div>
|
<div v-if="viewPointLoading" class="loading">暂无数据</div>
|
||||||
<div v-for="(item, index) in viewpointList" :key="index" :class="{ 'is-selected': selectedViewpoint == item }" class="viewpoint-item" @click="ZoomViewpoint(item)">
|
<div v-for="(item, index) in viewpointList" :key="index"
|
||||||
|
:class="{ 'is-selected': selectedViewpoint == item }" class="viewpoint-item"
|
||||||
|
@click="ZoomViewpoint(item)">
|
||||||
<div class="viewpoint-content">
|
<div class="viewpoint-content">
|
||||||
<el-image :src="item.imgPath" alt class="viewpoint-image" fit="scale-down" />
|
<el-image :src="item.imgPath" alt class="viewpoint-image" fit="scale-down" />
|
||||||
<el-tooltip :content="item.remark" v-if="item.remark">
|
<el-tooltip :content="item.remark" v-if="item.remark">
|
||||||
|
@ -102,6 +96,7 @@
|
||||||
<script>
|
<script>
|
||||||
import debounce from "lodash.debounce";
|
import debounce from "lodash.debounce";
|
||||||
import { MergeArray, DelArray } from "@/utils/tools";
|
import { MergeArray, DelArray } from "@/utils/tools";
|
||||||
|
import bimTools from './bim/bimTools'
|
||||||
export default {
|
export default {
|
||||||
name: "BIMRoaming",
|
name: "BIMRoaming",
|
||||||
data() {
|
data() {
|
||||||
|
@ -377,8 +372,12 @@ export default {
|
||||||
initEngine() {
|
initEngine() {
|
||||||
this.elId++;
|
this.elId++;
|
||||||
this.activeMenu = 0;
|
this.activeMenu = 0;
|
||||||
|
bimTools.initBimCfg(this);
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.loadEngine();
|
if (this.bimCfg.clientApi) {
|
||||||
|
} else {
|
||||||
|
this.loadEngine();
|
||||||
|
}
|
||||||
}, 10);
|
}, 10);
|
||||||
},
|
},
|
||||||
loadEngine() {
|
loadEngine() {
|
||||||
|
@ -430,6 +429,7 @@ export default {
|
||||||
showAxes: true, // 是否显示XYZ轴线
|
showAxes: true, // 是否显示XYZ轴线
|
||||||
};
|
};
|
||||||
bimRoadmApi.Plugin.initNavCube(mapOptions);
|
bimRoadmApi.Plugin.initNavCube(mapOptions);
|
||||||
|
bimTools.initBimGis(this, bimRoadmApi)
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
@ -471,6 +471,9 @@ export default {
|
||||||
}, 3000);
|
}, 3000);
|
||||||
});
|
});
|
||||||
this.treeKey++;
|
this.treeKey++;
|
||||||
|
|
||||||
|
bimTools.initLoadModel(this, bimRoadmApi)
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.init();
|
this.init();
|
||||||
|
@ -586,7 +589,7 @@ export default {
|
||||||
api.Model.add(
|
api.Model.add(
|
||||||
url,
|
url,
|
||||||
modelId,
|
modelId,
|
||||||
() => {},
|
() => { },
|
||||||
() => {
|
() => {
|
||||||
cb && cb();
|
cb && cb();
|
||||||
console.log("加载模型成功");
|
console.log("加载模型成功");
|
||||||
|
@ -621,8 +624,10 @@ export default {
|
||||||
.bim-roaming {
|
.bim-roaming {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
#bimRoaming {
|
#bimRoaming {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|
||||||
#bimRoamingContainer {
|
#bimRoamingContainer {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
@ -634,40 +639,49 @@ export default {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
height: 70vh;
|
height: 70vh;
|
||||||
width: 14%;
|
width: 14%;
|
||||||
|
|
||||||
&.isHide {
|
&.isHide {
|
||||||
left: 0%;
|
left: 0%;
|
||||||
wdith: 0%;
|
wdith: 0%;
|
||||||
|
|
||||||
#arrowLeft {
|
#arrowLeft {
|
||||||
left: 0px !important;
|
left: 0px !important;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#arrowLeft {
|
#arrowLeft {
|
||||||
top: calc(50% - 50px);
|
top: calc(50% - 50px);
|
||||||
right: -21px;
|
right: -21px;
|
||||||
left: unset !important;
|
left: unset !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.div-row {
|
.div-row {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.div-right {
|
.div-right {
|
||||||
top: 10vh;
|
top: 10vh;
|
||||||
right: 5%;
|
right: 5%;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
height: 70vh;
|
height: 70vh;
|
||||||
width: 14%;
|
width: 14%;
|
||||||
|
|
||||||
&.isHide {
|
&.isHide {
|
||||||
right: 0%;
|
right: 0%;
|
||||||
width: 0%;
|
width: 0%;
|
||||||
}
|
}
|
||||||
|
|
||||||
#arrowRight {
|
#arrowRight {
|
||||||
top: calc(50% - 50px);
|
top: calc(50% - 50px);
|
||||||
left: -21px;
|
left: -21px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.div-row {
|
.div-row {
|
||||||
&.r33 {
|
&.r33 {
|
||||||
height: 33.33%;
|
height: 33.33%;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.r66 {
|
&.r66 {
|
||||||
height: 66.66%;
|
height: 66.66%;
|
||||||
}
|
}
|
||||||
|
@ -676,14 +690,17 @@ export default {
|
||||||
|
|
||||||
.data-content {
|
.data-content {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
|
|
||||||
.div-row {
|
.div-row {
|
||||||
border: solid 1px #75fbfdaa;
|
border: solid 1px #75fbfdaa;
|
||||||
background-color: #06445b81;
|
background-color: #06445b81;
|
||||||
|
|
||||||
.row-title {
|
.row-title {
|
||||||
background: linear-gradient(0deg, #105696, #c0dafb00, #1765ae);
|
background: linear-gradient(0deg, #105696, #c0dafb00, #1765ae);
|
||||||
padding-left: 10px;
|
padding-left: 10px;
|
||||||
height: 36px;
|
height: 36px;
|
||||||
line-height: 36px;
|
line-height: 36px;
|
||||||
|
|
||||||
.svg-icon {
|
.svg-icon {
|
||||||
fill: #75fbfd;
|
fill: #75fbfd;
|
||||||
}
|
}
|
||||||
|
@ -699,23 +716,28 @@ export default {
|
||||||
display: flex;
|
display: flex;
|
||||||
background: #00000080;
|
background: #00000080;
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
|
|
||||||
.tool-item {
|
.tool-item {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-flow: column;
|
flex-flow: column;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|
||||||
&.is-active {
|
&.is-active {
|
||||||
.icon {
|
.icon {
|
||||||
background: #097fca94;
|
background: #097fca94;
|
||||||
|
|
||||||
.svg-icon {
|
.svg-icon {
|
||||||
fill: #75fbfd;
|
fill: #75fbfd;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.sp-text {
|
.sp-text {
|
||||||
color: #75fbfd;
|
color: #75fbfd;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon {
|
.icon {
|
||||||
width: 30px;
|
width: 30px;
|
||||||
height: 30px;
|
height: 30px;
|
||||||
|
@ -724,61 +746,74 @@ export default {
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
border-radius: 15px;
|
border-radius: 15px;
|
||||||
|
|
||||||
.svg-icon {
|
.svg-icon {
|
||||||
width: 20px;
|
width: 20px;
|
||||||
height: 20px;
|
height: 20px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.sp-text {
|
.sp-text {
|
||||||
margin-top: 4px;
|
margin-top: 4px;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.model-tree {
|
.model-tree {
|
||||||
height: calc(100% - 36px);
|
height: calc(100% - 36px);
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
|
|
||||||
.el-tree {
|
.el-tree {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
color: #eee;
|
color: #eee;
|
||||||
|
|
||||||
.el-checkbox {
|
.el-checkbox {
|
||||||
color: #75fbfd;
|
color: #75fbfd;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-tree-node {
|
.el-tree-node {
|
||||||
&:focus {
|
&:focus {
|
||||||
& > .el-tree-node__content {
|
&>.el-tree-node__content {
|
||||||
background: #3489d966;
|
background: #3489d966;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background: #3489d966;
|
background: #3489d966;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-tree-node__content:hover {
|
.el-tree-node__content:hover {
|
||||||
background: #3489d966;
|
background: #3489d966;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.view-point-list {
|
.view-point-list {
|
||||||
height: calc(100% - 36px);
|
height: calc(100% - 36px);
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
|
|
||||||
.viewpoint-item {
|
.viewpoint-item {
|
||||||
margin: 10px 10px 0px;
|
margin: 10px 10px 0px;
|
||||||
|
|
||||||
&.is-selected {
|
&.is-selected {
|
||||||
.viewpoint-content {
|
.viewpoint-content {
|
||||||
background: #3489d966;
|
background: #3489d966;
|
||||||
border: solid 1px #75fbfd;
|
border: solid 1px #75fbfd;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.viewpoint-content {
|
.viewpoint-content {
|
||||||
position: relative;
|
position: relative;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
background: #ffffff2e;
|
background: #ffffff2e;
|
||||||
|
|
||||||
.el-image {
|
.el-image {
|
||||||
height: 120px;
|
height: 120px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.viewpoint-title {
|
.viewpoint-title {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
bottom: 0px;
|
bottom: 0px;
|
||||||
|
@ -796,9 +831,11 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.roaming-list {
|
.roaming-list {
|
||||||
height: calc(100% - 36px);
|
height: calc(100% - 36px);
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
|
|
||||||
.roaming-item {
|
.roaming-item {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-flow: row;
|
flex-flow: row;
|
||||||
|
@ -809,9 +846,11 @@ export default {
|
||||||
padding: 0px 10px;
|
padding: 0px 10px;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
&.is-selected {
|
&.is-selected {
|
||||||
background: #00aaff;
|
background: #00aaff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.roam-text {
|
.roam-text {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
|
@ -819,10 +858,12 @@ export default {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
|
|
||||||
.roam-tool {
|
.roam-tool {
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
|
||||||
.svg-icon {
|
.svg-icon {
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
fill: #75fbfd;
|
fill: #75fbfd;
|
||||||
|
@ -830,6 +871,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.loading {
|
.loading {
|
||||||
height: 50px;
|
height: 50px;
|
||||||
margin: 10px;
|
margin: 10px;
|
||||||
|
@ -838,12 +880,13 @@ export default {
|
||||||
color: #edffff85;
|
color: #edffff85;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 1920px) {
|
@media (max-width: 1920px) {}
|
||||||
}
|
|
||||||
@media (min-width: 2561px) {
|
@media (min-width: 2561px) {
|
||||||
.data-content {
|
.data-content {
|
||||||
.div-row {
|
.div-row {
|
||||||
min-height: 420px;
|
min-height: 420px;
|
||||||
|
|
||||||
.row-title {
|
.row-title {
|
||||||
height: 48px;
|
height: 48px;
|
||||||
line-height: 48px;
|
line-height: 48px;
|
||||||
|
@ -851,20 +894,25 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.div-tools {
|
.div-tools {
|
||||||
margin-left: -68px;
|
margin-left: -68px;
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
|
|
||||||
.tool-item {
|
.tool-item {
|
||||||
padding: 10px 20px;
|
padding: 10px 20px;
|
||||||
|
|
||||||
.icon {
|
.icon {
|
||||||
width: 60px;
|
width: 60px;
|
||||||
height: 60px;
|
height: 60px;
|
||||||
border-radius: 30px;
|
border-radius: 30px;
|
||||||
|
|
||||||
.svg-icon {
|
.svg-icon {
|
||||||
width: 40px;
|
width: 40px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.sp-text {
|
.sp-text {
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
|
@ -875,23 +923,29 @@ export default {
|
||||||
.model-tree {
|
.model-tree {
|
||||||
.el-tree {
|
.el-tree {
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
|
|
||||||
.el-tree-node__content {
|
.el-tree-node__content {
|
||||||
height: 36px;
|
height: 36px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-tree-node__expand-icon {
|
.el-tree-node__expand-icon {
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-checkbox {
|
.el-checkbox {
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-tree-node__label {
|
.el-tree-node__label {
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-tree__empty-text {
|
.el-tree__empty-text {
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.view-point-list {
|
.view-point-list {
|
||||||
height: calc(100% - 48px);
|
height: calc(100% - 48px);
|
||||||
|
|
||||||
|
@ -900,10 +954,12 @@ export default {
|
||||||
|
|
||||||
.viewpoint-content {
|
.viewpoint-content {
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
|
|
||||||
.el-image {
|
.el-image {
|
||||||
height: 160px;
|
height: 160px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.viewpoint-title {
|
.viewpoint-title {
|
||||||
width: calc(100% - 10px);
|
width: calc(100% - 10px);
|
||||||
line-height: 30px;
|
line-height: 30px;
|
||||||
|
@ -915,20 +971,25 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.roaming-list {
|
.roaming-list {
|
||||||
height: calc(100% - 48px);
|
height: calc(100% - 48px);
|
||||||
|
|
||||||
.roaming-item {
|
.roaming-item {
|
||||||
margin: 10px;
|
margin: 10px;
|
||||||
line-height: 48px;
|
line-height: 48px;
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
padding: 0px 10px;
|
padding: 0px 10px;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
|
|
||||||
.roam-text {
|
.roam-text {
|
||||||
max-width: calc(100% - 40px);
|
max-width: calc(100% - 40px);
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.roam-tool {
|
.roam-tool {
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
|
|
||||||
.svg-icon {
|
.svg-icon {
|
||||||
margin-right: 5px;
|
margin-right: 5px;
|
||||||
width: 24px;
|
width: 24px;
|
||||||
|
@ -937,6 +998,7 @@ export default {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.loading {
|
.loading {
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue