Merge branch 'dev_xd' of http://62.234.3.186:3000/jiangyq/YZProjectCloud into dev_xd
commit
c88e94c366
|
@ -30,7 +30,7 @@
|
|||
<link rel="stylesheet" href="/cesium/Widgets/widgets.css" />
|
||||
<!-- <script src="/cesium/jquery-3.0.0.min.js"></script> -->
|
||||
<script src="/cesium/Cesium.js?v=20230913"></script>
|
||||
<script src="/cesium/BIMGISEngine.js?v=20230920"></script>
|
||||
<script src="/cesium/BIMGISEngine-min.js?v=20230920"></script>
|
||||
<script src="/cesium/initApi.js?v=20230920"></script>
|
||||
<!--<script src="/cdn/map/initApi.js"></script> -->
|
||||
<script src="/cdn/map/mapmodle.js?v=2024032501"></script>
|
||||
|
|
|
@ -143,7 +143,7 @@ const ganttStyle = {
|
|||
};
|
||||
|
||||
function initEngine(that) {
|
||||
console.log("开始初始化引擎")
|
||||
console.log("开始初始化引擎");
|
||||
window.bim4DApi = new SAPI(
|
||||
{
|
||||
serverIP: window.config.serverIP, //服务ip地址
|
||||
|
@ -240,6 +240,7 @@ function addModel(that, modelId, cb) {
|
|||
that.viewPoint = p;
|
||||
that.modelLoaded = true;
|
||||
});
|
||||
that.initPlay();
|
||||
}, 1000);
|
||||
}
|
||||
);
|
||||
|
@ -251,9 +252,8 @@ function showBim(that, index) {
|
|||
if (index <= 0) {
|
||||
index = getCurrentTaskIndex(that);
|
||||
}
|
||||
console.log(index);
|
||||
let showFeatureIds = [];
|
||||
let currFeatureId = [];
|
||||
let currFeatureIds = [];
|
||||
for (let i = 0; i <= that.taskList.length; i++) {
|
||||
if (i <= index) {
|
||||
that.taskList[i].gis.forEach((item) => {
|
||||
|
@ -265,13 +265,20 @@ function showBim(that, index) {
|
|||
}
|
||||
}
|
||||
if (showFeatureIds.length > 0) {
|
||||
let featureId = showFeatureIds[0];
|
||||
let modelId = featureId.split("_")[0];
|
||||
let tmpsIds2 = showFeatureIds.splice(0, maxLen);
|
||||
api.Model.original(modelId);
|
||||
api.Feature.showFeatures(tmpsIds2.join("#"));
|
||||
setFeatueVisible(showFeatureIds, true);
|
||||
}
|
||||
setTimeout(() => {
|
||||
that.lastFeatureIds.forEach((it) => {
|
||||
api.Feature.setColor(it, "rgba(255,255,255,1)");
|
||||
});
|
||||
currFeatureIds = that.taskList[index].gis.map((item) => item.featureId);
|
||||
if (currFeatureIds.length > 0) {
|
||||
currFeatureIds.forEach((it) => {
|
||||
api.Feature.setColor(it, "rgba(255,0,255,1)");
|
||||
});
|
||||
}
|
||||
that.lastFeatureIds = currFeatureIds;
|
||||
}, 0);
|
||||
}
|
||||
|
||||
function setFeatueVisible(featureIds, show) {
|
||||
|
@ -299,10 +306,95 @@ function getCurrentTaskIndex(that) {
|
|||
return index;
|
||||
}
|
||||
|
||||
function resetScene(that) {
|
||||
let api = bim4DApi;
|
||||
api.Camera.stopImmersiveRoam();
|
||||
api.Model.location(api.m_model.keys().toArray()[0]);
|
||||
api.Plugin.deleteMiniMap();
|
||||
if (that.viewPoint) {
|
||||
api.Camera.setViewPort(that.viewPoint);
|
||||
}
|
||||
}
|
||||
|
||||
function original() {
|
||||
let api = bim4DApi;
|
||||
for (let modelId in api.m_model) {
|
||||
api.Model.original(modelId);
|
||||
}
|
||||
}
|
||||
|
||||
function getFirstFeatureId(that) {
|
||||
for (let i = 0; i < that.taskList.length; i++) {
|
||||
let task = that.taskList[i];
|
||||
if (task.gis.length > 0) {
|
||||
return task.gis[0].featureId;
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
function preparePlay(that) {
|
||||
let featureId = getFirstFeatureId(that);
|
||||
if (!featureId) {
|
||||
return;
|
||||
}
|
||||
let api = bim4DApi;
|
||||
api.Feature.showFeatures(featureId);
|
||||
api.Feature.setColor(featureId, "rgba(255,255,255,0)");
|
||||
}
|
||||
|
||||
function playStop(that) {
|
||||
let api = bim4DApi;
|
||||
that.lastFeatureIds.forEach((it) => {
|
||||
api.Feature.setColor(it, "rgba(255,255,255,1)");
|
||||
});
|
||||
}
|
||||
|
||||
function doPLay(that) {
|
||||
that.playTimer = setInterval(() => {
|
||||
that.playValue++;
|
||||
if (that.playValue >= that.taskList.length) {
|
||||
playStop(that);
|
||||
that.doStop();
|
||||
} else {
|
||||
that.doPlayPan(that.playValue);
|
||||
}
|
||||
}, that.playTime);
|
||||
}
|
||||
function modelRotate(that) {
|
||||
let api = bim4DApi;
|
||||
if(that.isPlay!=0){
|
||||
return;
|
||||
}
|
||||
if (that.models.length > 0) {
|
||||
api.Model.getCenter(that.models[0].modelId, (data) => {
|
||||
data.xx = 0.5;
|
||||
api.Camera.autoRotate({
|
||||
Speed: 0.5,
|
||||
Position: data.position,
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
function modelClearRotate() {
|
||||
let api = window.bim4DApi;
|
||||
if (api) {
|
||||
api.Camera.stopAutoRotate();
|
||||
}
|
||||
}
|
||||
export default {
|
||||
options,
|
||||
ganttStyle,
|
||||
initEngine,
|
||||
initLoadModel,
|
||||
showBim,
|
||||
resetScene,
|
||||
original,
|
||||
getFirstFeatureId,
|
||||
preparePlay,
|
||||
playStop,
|
||||
getCurrentTaskIndex,
|
||||
doPLay,
|
||||
modelRotate,
|
||||
modelClearRotate,
|
||||
};
|
||||
|
|
|
@ -11,7 +11,20 @@
|
|||
<div class="icon" @click="doPlay">
|
||||
<svg-icon icon-class="play" />
|
||||
</div>
|
||||
<div class="icon"><svg-icon icon-class="tools" /></div>
|
||||
<el-popover title="" trigger="click" placement="top" ref="popSetting" @show="showSetting">
|
||||
<div>
|
||||
<div>
|
||||
<i class="el-icon-info" style="color: orange"></i>
|
||||
设置间隔时间(单位:毫秒,最小值为500)
|
||||
</div>
|
||||
<el-input v-model="playTime" placeholder="请输入播放速度" />
|
||||
<div style="margin-top: 10px; text-align: right">
|
||||
<el-button type="primary" size="mini" @click="doSaveSetting">确定</el-button>
|
||||
<el-button size="mini" @click="doCancelSetting">取消</el-button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="icon" slot="reference"><svg-icon icon-class="tools" /></div>
|
||||
</el-popover>
|
||||
</template>
|
||||
|
||||
<template v-if="isPlay == 1">
|
||||
|
@ -27,6 +40,9 @@
|
|||
<div class="icon" @click="doContinue">
|
||||
<svg-icon icon-class="play" />
|
||||
</div>
|
||||
<div class="icon" @click="doStop">
|
||||
<svg-icon icon-class="stop" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<el-slider v-model="playValue" :max="taskList.length" class="slider" @change="doSliderChange" />
|
||||
|
@ -66,14 +82,36 @@ export default {
|
|||
planStyle: bim4DTools.ganttStyle,
|
||||
playValue: 0,
|
||||
isPlay: 0,
|
||||
playTime: 300,
|
||||
playTime: 500,
|
||||
showPlan: true,
|
||||
lastFeatureIds: [],
|
||||
};
|
||||
},
|
||||
beforeDestroy() {
|
||||
document.body.classList.remove("is-sapi");
|
||||
},
|
||||
mounted() {
|
||||
let timer;
|
||||
const resetTimer = () => {
|
||||
clearTimeout(timer);
|
||||
bim4DTools.modelClearRotate();
|
||||
timer = setTimeout(() => {
|
||||
bim4DTools.modelRotate(this)
|
||||
clearTimeout(timer);
|
||||
}, 1000 * 60 * 5);
|
||||
};
|
||||
|
||||
document.addEventListener('mousemove', resetTimer);
|
||||
document.addEventListener('keydown', resetTimer);
|
||||
|
||||
resetTimer();
|
||||
|
||||
this.$once('hook:beforeDestroy', () => {
|
||||
document.removeEventListener('mousemove', resetTimer);
|
||||
document.removeEventListener('keydown', resetTimer);
|
||||
clearTimeout(timer);
|
||||
});
|
||||
|
||||
this.$store.dispatch("ChangeNav", 705);
|
||||
this.dpi = this.$dpi();
|
||||
window.addEventListener("resize", () => {
|
||||
|
@ -97,6 +135,22 @@ export default {
|
|||
window.D4App = this;
|
||||
},
|
||||
methods: {
|
||||
doSaveSetting() {
|
||||
if (isNaN(parseInt(this.playTime))) {
|
||||
this.playTime = 500;
|
||||
}
|
||||
if (this.playTime < 500) {
|
||||
this.playTime = 500;
|
||||
}
|
||||
this.$refs.popSetting.showPopper = false;
|
||||
},
|
||||
doCancelSetting() {
|
||||
this.playTime = this.oldPlayTime;
|
||||
this.$refs.popSetting.showPopper = false;
|
||||
},
|
||||
showSetting() {
|
||||
this.oldPlayTime = this.playTime;
|
||||
},
|
||||
initEngine() {
|
||||
this.elId++;
|
||||
setTimeout(() => {
|
||||
|
@ -106,6 +160,17 @@ export default {
|
|||
doSwitchPlan() {
|
||||
this.showPlan = !this.showPlan;
|
||||
},
|
||||
initPlay() {
|
||||
if (!bim4DTools.getFirstFeatureId(this)) {
|
||||
this.$message.error("未配置计划进度,无法播放!");
|
||||
return;
|
||||
}
|
||||
let playIndex = bim4DTools.getCurrentTaskIndex(this);
|
||||
if (playIndex > 0) {
|
||||
bim4DTools.preparePlay(this);
|
||||
this.doPlayPan(playIndex);
|
||||
}
|
||||
},
|
||||
initPlanList() {
|
||||
if (this.selProject?.id) {
|
||||
this.$api.bim.getPlanList(this.selProject.id).then((res) => {
|
||||
|
@ -116,6 +181,7 @@ export default {
|
|||
label: item.taskName,
|
||||
start: item.planStartDate,
|
||||
end: item.planEndDate,
|
||||
percent: 100,
|
||||
duration: item.taskDuation * 24 * 60 * 60 * 1000,
|
||||
days: item.taskDuation + "(天)",
|
||||
collapsed: false,
|
||||
|
@ -136,19 +202,23 @@ export default {
|
|||
}
|
||||
},
|
||||
playPlay() {
|
||||
this.playTimer = setInterval(() => {
|
||||
this.playValue++;
|
||||
if (this.playValue > this.taskList.length) {
|
||||
this.doStop();
|
||||
} else {
|
||||
this.doSliderChange();
|
||||
bim4DTools.original();
|
||||
bim4DTools.resetScene(this);
|
||||
this.lastFeatureIds = [];
|
||||
if (!bim4DTools.getFirstFeatureId(this)) {
|
||||
this.$message.error("未配置计划进度,无法播放!");
|
||||
return;
|
||||
}
|
||||
}, this.playTime);
|
||||
bim4DTools.preparePlay(this);
|
||||
bim4DTools.doPLay(this);
|
||||
},
|
||||
doSliderChange() {
|
||||
let task = this.taskList[this.playValue];
|
||||
doPlayPan(playIndex) {
|
||||
if (playIndex >= this.taskList.length) {
|
||||
return;
|
||||
}
|
||||
let task = this.taskList[playIndex];
|
||||
this.$refs.gantt.scrollToTime(this.$dt(task.start));
|
||||
console.log(task.start);
|
||||
|
||||
let d = this.$dt(task.start).$d;
|
||||
const current = +d;
|
||||
const currentOffset = this.$refs.gantt.timeToPixelOffsetX(current);
|
||||
|
@ -157,8 +227,21 @@ export default {
|
|||
el.setAttribute("x1", currentOffset);
|
||||
el.setAttribute("x2", currentOffset);
|
||||
}
|
||||
this.$refs.gantt.scrollTo(null, 36 * this.playValue);
|
||||
bim4DTools.showBim(this, this.playValue);
|
||||
this.$refs.gantt.scrollTo(null, 36 * playIndex);
|
||||
bim4DTools.showBim(this, playIndex);
|
||||
},
|
||||
doSliderChange() {
|
||||
this.isPlay = 0;
|
||||
clearInterval(this.playTimer);
|
||||
bim4DTools.original();
|
||||
bim4DTools.resetScene(this);
|
||||
this.lastFeatureIds = [];
|
||||
if (!bim4DTools.getFirstFeatureId(this)) {
|
||||
this.$message.error("未配置计划进度,无法播放!");
|
||||
return;
|
||||
}
|
||||
bim4DTools.preparePlay(this);
|
||||
this.doPlayPan(this.playValue);
|
||||
},
|
||||
doPlay() {
|
||||
this.isPlay = 1;
|
||||
|
@ -176,7 +259,7 @@ export default {
|
|||
},
|
||||
doContinue() {
|
||||
this.isPlay = 1;
|
||||
this.playPlay();
|
||||
bim4DTools.doPLay(this);
|
||||
},
|
||||
},
|
||||
};
|
||||
|
@ -264,6 +347,7 @@ export default {
|
|||
.svg-icon {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
fill: deepskyblue;
|
||||
}
|
||||
}
|
||||
.el-slider {
|
||||
|
@ -291,12 +375,14 @@ export default {
|
|||
}
|
||||
.icon-switch-plan {
|
||||
position: absolute;
|
||||
top: 40px;
|
||||
top: 100px;
|
||||
right: 40px;
|
||||
cursor: pointer;
|
||||
z-index: 9999;
|
||||
.svg-icon {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
fill: darkturquoise;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -278,7 +278,10 @@ export default {
|
|||
|
||||
resolve(nd);
|
||||
setTimeout(() => {
|
||||
document.querySelectorAll(".bim-briefing .model-tree .el-tree-node")[0].click();
|
||||
let els = document.querySelectorAll(".bim-briefing .model-tree .el-tree-node");
|
||||
if (els.length > 0) {
|
||||
els[0].click();
|
||||
}
|
||||
}, 1000);
|
||||
} else if (node.level == 1) {
|
||||
let nd = [];
|
||||
|
|
|
@ -223,58 +223,6 @@
|
|||
<span class="sp-text">电箱监控</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="test-box">
|
||||
<div class="tag-box box-type-3">
|
||||
<div class="tag-txt">
|
||||
<div class="data-item"><span class="data-label">高度:</span><span class="data-value">15m</span></div>
|
||||
<div class="data-item"><span class="data-label">高度:</span><span class="data-value">15m</span></div>
|
||||
<div class="data-item"><span class="data-label">高度:</span><span class="data-value">15m</span></div>
|
||||
<div class="data-item"><span class="data-label">高度:</span><span class="data-value">15m</span></div>
|
||||
<div class="data-item"><span class="data-label">高度:</span><span class="data-value">15m</span></div>
|
||||
<div class="data-item"><span class="data-label">高度:</span><span class="data-value">15m</span></div>
|
||||
<div class="data-item"><span class="data-label">高度:</span><span class="data-value">15m</span></div>
|
||||
<div class="data-item"><span class="data-label">高度:</span><span class="data-value">15m</span></div>
|
||||
<div class="data-item"><span class="data-label">高度:</span><span class="data-value">15m</span></div>
|
||||
</div>
|
||||
<img src="bimImages/4.png" alt="" class="tag-bg-img" />
|
||||
<img src="bimImages/towerMonitor.png" class="tag-img" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="test-box" style="left: 400px">
|
||||
<div class="tag-box box-type-3">
|
||||
<div class="tag-txt">
|
||||
<table class="tb-power">
|
||||
<tr>
|
||||
<td></td>
|
||||
<td width="150">电压</td>
|
||||
<td width="150">电流</td>
|
||||
<td width="150">功率</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>A向</td>
|
||||
<td>1</td>
|
||||
<td>2</td>
|
||||
<td>3</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>A向</td>
|
||||
<td>1</td>
|
||||
<td>2</td>
|
||||
<td>3</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>A向</td>
|
||||
<td>1</td>
|
||||
<td>2</td>
|
||||
<td>3</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<img src="bimImages/4.png" alt="" class="tag-bg-img" />
|
||||
<img src="bimImages/towerMonitor.png" class="tag-img" />
|
||||
</div>
|
||||
</div>
|
||||
<video-dialog ref="videoDlg"></video-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
|
|
@ -164,7 +164,10 @@ export default {
|
|||
|
||||
resolve(nd);
|
||||
setTimeout(() => {
|
||||
document.querySelectorAll(".bim-roaming .model-tree .el-tree-node")[0].click();
|
||||
let els = document.querySelectorAll(".bim-roaming .model-tree .el-tree-node");
|
||||
if (els.length > 0) {
|
||||
els[0].click();
|
||||
}
|
||||
}, 1000);
|
||||
} else if (node.level == 1) {
|
||||
let nd = [];
|
||||
|
|
|
@ -767,7 +767,6 @@ export default {
|
|||
},
|
||||
],
|
||||
}
|
||||
console.log(option)
|
||||
return option
|
||||
},
|
||||
renderChart7() {
|
||||
|
|
|
@ -318,7 +318,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
select 'a' projectName, count(1) id ,'全部' remark from smz_ssp_problemmodify a where a.projectId=#{projectId} and a.infoType=#{infoType}
|
||||
<include refid="countUserWhere"></include>
|
||||
union
|
||||
select 'b' projectName, count(1) id,'待整改' remark from smz_ssp_problemmodify a where a.projectId=#{projectId} and a.infoType=#{infoType}
|
||||
select 'b' projectName, count(1) id,'待整改' remark from smz_ssp_problemmodify a where a.projectId=#{projectId} and a.infoType=#{infoType} and a.checkState in (0)
|
||||
<include refid="countUserWhere"></include>
|
||||
union
|
||||
select 'c' projectName, count(1) id,'待复检' remark from smz_ssp_problemmodify a where a.projectId=#{projectId} and a.infoType=#{infoType} and a.checkState in (1)
|
||||
|
|
|
@ -58,11 +58,11 @@ public class SmzSspProblemmodifyController extends BaseController
|
|||
SysUser user = SecurityUtils.getLoginUser().getSysUser();
|
||||
where.setProjectId(user.getActiveProjectId());
|
||||
//where.setComId(user.getActiveComId());
|
||||
if(SecurityUtils.isAdmin(SecurityUtils.getUserId()) || SecurityUtils.isGSAdmin()) {
|
||||
where.setCurrentUserId(null);
|
||||
}else{
|
||||
where.setCurrentUserId(user.getUserId());
|
||||
}
|
||||
// if(SecurityUtils.isAdmin(SecurityUtils.getUserId()) || SecurityUtils.isGSAdmin()) {
|
||||
// where.setCurrentUserId(null);
|
||||
// }else{
|
||||
// where.setCurrentUserId(user.getUserId());
|
||||
// }
|
||||
startPage();
|
||||
List<SmzSspProblemmodify> list = smzSspProblemmodifyService.selectList(where);
|
||||
return getDataTable(list);
|
||||
|
@ -98,11 +98,11 @@ public class SmzSspProblemmodifyController extends BaseController
|
|||
SysUser user=SecurityUtils.getLoginUser().getSysUser();
|
||||
where.setProjectId(user.getActiveProjectId());
|
||||
//where.setComId(user.getActiveComId());
|
||||
if(SecurityUtils.isAdmin(SecurityUtils.getUserId()) || SecurityUtils.isGSAdmin()) {
|
||||
where.setCurrentUserId(null);
|
||||
}else{
|
||||
where.setCurrentUserId(user.getUserId());
|
||||
}
|
||||
// if(SecurityUtils.isAdmin(SecurityUtils.getUserId()) || SecurityUtils.isGSAdmin()) {
|
||||
// where.setCurrentUserId(null);
|
||||
// }else{
|
||||
// where.setCurrentUserId(user.getUserId());
|
||||
// }
|
||||
List<SmzSspProblemmodify> result=smzSspProblemmodifyService.getListCount(where);
|
||||
return AjaxResult.success(result);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue