diff --git a/yanzhu-bigscreen/public/index.html b/yanzhu-bigscreen/public/index.html
index 83e09a54..7f78b80e 100644
--- a/yanzhu-bigscreen/public/index.html
+++ b/yanzhu-bigscreen/public/index.html
@@ -30,7 +30,7 @@
-
+
diff --git a/yanzhu-bigscreen/src/views/bim/bim4DTools.js b/yanzhu-bigscreen/src/views/bim/bim4DTools.js
index 83cd0ded..b0d393bd 100644
--- a/yanzhu-bigscreen/src/views/bim/bim4DTools.js
+++ b/yanzhu-bigscreen/src/views/bim/bim4DTools.js
@@ -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,
};
diff --git a/yanzhu-bigscreen/src/views/bim4DSimulation.vue b/yanzhu-bigscreen/src/views/bim4DSimulation.vue
index ed47f018..49071d5b 100644
--- a/yanzhu-bigscreen/src/views/bim4DSimulation.vue
+++ b/yanzhu-bigscreen/src/views/bim4DSimulation.vue
@@ -11,7 +11,20 @@
-
+
+
+
+
+ 设置间隔时间(单位:毫秒,最小值为500)
+
+
+
+ 确定
+ 取消
+
+
+
+
@@ -27,6 +40,9 @@
+
+
+
@@ -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();
- }
- }, this.playTime);
+ bim4DTools.original();
+ bim4DTools.resetScene(this);
+ this.lastFeatureIds = [];
+ if (!bim4DTools.getFirstFeatureId(this)) {
+ this.$message.error("未配置计划进度,无法播放!");
+ return;
+ }
+ 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;
}
}
}
diff --git a/yanzhu-bigscreen/src/views/bimBriefing.vue b/yanzhu-bigscreen/src/views/bimBriefing.vue
index 3a322728..4fa09ac7 100644
--- a/yanzhu-bigscreen/src/views/bimBriefing.vue
+++ b/yanzhu-bigscreen/src/views/bimBriefing.vue
@@ -115,7 +115,7 @@
-
+
进度信息
@@ -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 = [];
@@ -421,7 +424,7 @@ export default {
api.Model.setVisible(node.modelId, true);
this.models.find((mm) => mm.modelId == node.modelId).visible = true;
api.Model.original(node.modelId);
- if(tmps.length>0){
+ if (tmps.length > 0) {
let tmpsIds2 = tmps.splice(0, 1000);
api.Feature.showFeatures(tmpsIds2.join("#"));
this.setFeatueVisible(tmps, true);
@@ -707,7 +710,7 @@ export default {
&.r66 {
height: calc(100% - 180px);
}
- &.r100{
+ &.r100 {
height: 100%;
}
}
diff --git a/yanzhu-bigscreen/src/views/bimManage.vue b/yanzhu-bigscreen/src/views/bimManage.vue
index 16071f7a..fc38b477 100644
--- a/yanzhu-bigscreen/src/views/bimManage.vue
+++ b/yanzhu-bigscreen/src/views/bimManage.vue
@@ -223,58 +223,6 @@
电箱监控
-
-
-
-
高度:15m
-
高度:15m
-
高度:15m
-
高度:15m
-
高度:15m
-
高度:15m
-
高度:15m
-
高度:15m
-
高度:15m
-
-

-

-
-
-
-
-
-
-
-
- |
- 电压 |
- 电流 |
- 功率 |
-
-
- A向 |
- 1 |
- 2 |
- 3 |
-
-
- A向 |
- 1 |
- 2 |
- 3 |
-
-
- A向 |
- 1 |
- 2 |
- 3 |
-
-
-
-

-

-
-
diff --git a/yanzhu-bigscreen/src/views/bimRoaming.vue b/yanzhu-bigscreen/src/views/bimRoaming.vue
index c122500c..5cf02872 100644
--- a/yanzhu-bigscreen/src/views/bimRoaming.vue
+++ b/yanzhu-bigscreen/src/views/bimRoaming.vue
@@ -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 = [];
diff --git a/yanzhu-bigscreen/src/views/greenCarbon.vue b/yanzhu-bigscreen/src/views/greenCarbon.vue
index 7ee955eb..a3f9b9c3 100644
--- a/yanzhu-bigscreen/src/views/greenCarbon.vue
+++ b/yanzhu-bigscreen/src/views/greenCarbon.vue
@@ -767,7 +767,6 @@ export default {
},
],
}
- console.log(option)
return option
},
renderChart7() {
diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/trouble/SmzSspProblemmodifyMapper.xml b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/trouble/SmzSspProblemmodifyMapper.xml
index 1585fee2..202a836e 100644
--- a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/trouble/SmzSspProblemmodifyMapper.xml
+++ b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/trouble/SmzSspProblemmodifyMapper.xml
@@ -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}
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)
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)
diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/SmzSspProblemmodifyController.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/SmzSspProblemmodifyController.java
index 6ed51ff2..9ae37b71 100644
--- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/SmzSspProblemmodifyController.java
+++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/SmzSspProblemmodifyController.java
@@ -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 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 result=smzSspProblemmodifyService.getListCount(where);
return AjaxResult.success(result);
}