diff --git a/yanzhu-auth/src/main/resources/bootstrap.yml b/yanzhu-auth/src/main/resources/bootstrap.yml index dd3900fe..7b45ed9c 100644 --- a/yanzhu-auth/src/main/resources/bootstrap.yml +++ b/yanzhu-auth/src/main/resources/bootstrap.yml @@ -16,7 +16,7 @@ spring: # 服务注册地址 server-addr: @discovery.server-addr@ # 服务分组 - group: lijun + # group: lijun config: # 配置中心地址 server-addr: @discovery.server-addr@ diff --git a/yanzhu-bigscreen/public/bimImages/1.png b/yanzhu-bigscreen/public/bimImages/1.png new file mode 100644 index 00000000..ad43a030 Binary files /dev/null and b/yanzhu-bigscreen/public/bimImages/1.png differ diff --git a/yanzhu-bigscreen/public/bimImages/2.png b/yanzhu-bigscreen/public/bimImages/2.png new file mode 100644 index 00000000..67d50585 Binary files /dev/null and b/yanzhu-bigscreen/public/bimImages/2.png differ diff --git a/yanzhu-bigscreen/public/bimImages/3.png b/yanzhu-bigscreen/public/bimImages/3.png new file mode 100644 index 00000000..cfe8c4d6 Binary files /dev/null and b/yanzhu-bigscreen/public/bimImages/3.png differ diff --git a/yanzhu-bigscreen/public/bimImages/4.png b/yanzhu-bigscreen/public/bimImages/4.png new file mode 100644 index 00000000..da30b944 Binary files /dev/null and b/yanzhu-bigscreen/public/bimImages/4.png differ diff --git a/yanzhu-bigscreen/public/bimImages/5.png b/yanzhu-bigscreen/public/bimImages/5.png new file mode 100644 index 00000000..7073fa73 Binary files /dev/null and b/yanzhu-bigscreen/public/bimImages/5.png differ diff --git a/yanzhu-bigscreen/public/bimImages/arrow_left_open.png b/yanzhu-bigscreen/public/bimImages/arrow_left_open.png new file mode 100644 index 00000000..510ff821 Binary files /dev/null and b/yanzhu-bigscreen/public/bimImages/arrow_left_open.png differ diff --git a/yanzhu-bigscreen/public/bimImages/arrow_left_retract.png b/yanzhu-bigscreen/public/bimImages/arrow_left_retract.png new file mode 100644 index 00000000..62835fe2 Binary files /dev/null and b/yanzhu-bigscreen/public/bimImages/arrow_left_retract.png differ diff --git a/yanzhu-bigscreen/public/bimImages/arrow_right_open.png b/yanzhu-bigscreen/public/bimImages/arrow_right_open.png new file mode 100644 index 00000000..e786809d Binary files /dev/null and b/yanzhu-bigscreen/public/bimImages/arrow_right_open.png differ diff --git a/yanzhu-bigscreen/public/bimImages/arrow_right_retract.png b/yanzhu-bigscreen/public/bimImages/arrow_right_retract.png new file mode 100644 index 00000000..c2cca0f7 Binary files /dev/null and b/yanzhu-bigscreen/public/bimImages/arrow_right_retract.png differ diff --git a/yanzhu-bigscreen/public/bimImages/pitMonitor.png b/yanzhu-bigscreen/public/bimImages/pitMonitor.png new file mode 100644 index 00000000..0ed75985 Binary files /dev/null and b/yanzhu-bigscreen/public/bimImages/pitMonitor.png differ diff --git a/yanzhu-bigscreen/public/bimImages/power.png b/yanzhu-bigscreen/public/bimImages/power.png new file mode 100644 index 00000000..af6da13c Binary files /dev/null and b/yanzhu-bigscreen/public/bimImages/power.png differ diff --git a/yanzhu-bigscreen/public/bimImages/towerMonitor.png b/yanzhu-bigscreen/public/bimImages/towerMonitor.png new file mode 100644 index 00000000..12d0093e Binary files /dev/null and b/yanzhu-bigscreen/public/bimImages/towerMonitor.png differ diff --git a/yanzhu-bigscreen/public/bimImages/videoMonitor.png b/yanzhu-bigscreen/public/bimImages/videoMonitor.png new file mode 100644 index 00000000..95eea9df Binary files /dev/null and b/yanzhu-bigscreen/public/bimImages/videoMonitor.png differ diff --git a/yanzhu-bigscreen/public/index.html b/yanzhu-bigscreen/public/index.html index 58ed880d..3b6e819f 100644 --- a/yanzhu-bigscreen/public/index.html +++ b/yanzhu-bigscreen/public/index.html @@ -25,6 +25,8 @@ + + @@ -49,7 +51,8 @@ - + + \ No newline at end of file + diff --git a/yanzhu-bigscreen/src/router/index.js b/yanzhu-bigscreen/src/router/index.js index 591d0c04..cb5a0210 100644 --- a/yanzhu-bigscreen/src/router/index.js +++ b/yanzhu-bigscreen/src/router/index.js @@ -1,6 +1,11 @@ import Vue from "vue"; import VueRouter from "vue-router"; +const originalPush = VueRouter.prototype.push +// 解决ElementUI导航栏中的vue-router在3.0版本以上重复点菜单报错问题 +VueRouter.prototype.push = function push(location) { + return originalPush.call(this, location).catch(err => err) +} Vue.use(VueRouter); const routes = [ @@ -49,9 +54,23 @@ const routes = [ { path: "/greenCarbon", name: "greenCarbon", - meta: { nav: 23 }, + meta: { nav: 6 }, component: () => - import(/* webpackChunkName: "progress" */ "../views/greenCarbon.vue"), + import(/* webpackChunkName: "greenCarbon" */ "../views/greenCarbon.vue"), + }, + { + path: "/bimManage", + name: "bimManage", + meta: { nav: 701 }, + component: () => + import(/* webpackChunkName: "bimManage" */ "../views/bimManage.vue"), + }, + { + path: "/bimRoaming", + name: "bimRoaming", + meta: { nav: 702 }, + component: () => + import(/* webpackChunkName: "bimRoaming" */ "../views/bimRoaming.vue"), }, { path: "/videoMonitor", diff --git a/yanzhu-bigscreen/src/views/bim/001.png b/yanzhu-bigscreen/src/views/bim/001.png new file mode 100644 index 00000000..f992ef90 Binary files /dev/null and b/yanzhu-bigscreen/src/views/bim/001.png differ diff --git a/yanzhu-bigscreen/src/views/bim/videoDialog.vue b/yanzhu-bigscreen/src/views/bim/videoDialog.vue new file mode 100644 index 00000000..dfc6e1c0 --- /dev/null +++ b/yanzhu-bigscreen/src/views/bim/videoDialog.vue @@ -0,0 +1,63 @@ + + + {{ title }} + + + + + + + diff --git a/yanzhu-bigscreen/src/views/bimManage.vue b/yanzhu-bigscreen/src/views/bimManage.vue new file mode 100644 index 00000000..caeb689d --- /dev/null +++ b/yanzhu-bigscreen/src/views/bimManage.vue @@ -0,0 +1,1701 @@ + + + + + + + + + + + + 项目概况 + + + + {{ prj.floorArea }} + 建筑面积:单位(平方米) + + + + 项目名称 + {{ prj.projectName }} + + + 建设单位 + {{ prj.constructionUnit }} + + + 总包单位 + {{ prj.packageUnit }} + + + 开工日期 + {{ prj.startDate | toDate }} + + + 计划完工日期 + {{ prj.endDate | toDate }} + + + + + + + + 成本产值 + + + + + 总投资(万元) + {{ prj.totalCost }} + + + 年度投资(万元) + {{ prj.annualCost }} + + + 本月完成(万元) + {{ prj.monthCost }} + + + 开累完成(万元) + {{ prj.accumulatedCost }} + + + + + + + + + + 人员 + + + + + {{ wk.value }} + + + + + + {{ wk.text }} + + + + + + + + + + + + + + + 工程进度 + + + + + 计划完成 + + + + 实际完成 + + + + + + + 安全检查 + + + + + + + + {{ safetyInfo.safetyCount }} + 问题数 + + + + + + + + {{ safetyInfo.safetyRectifyCount }} + 整改数 + + + + + + + + {{ safetyInfo.safetyRectifyRate }}% + 整改率 + + + + + + + + {{ safetyInfo.safetyTimeoutCount }} + 超时数 + + + + + + 项目全景 + + + + + + + + 您的浏览器不支持Video标签。 + + + {{ item.videoDate }} + + + + + + + + + + + + + + 暂无数据 + + + + + + + + + + + + + + + 默认视点 + + + + + + + 视频监控 + + + + + + 基坑监控 + + + + + + 塔机监控 + + + + + + 电箱监控 + + + + + + 高度: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 copy.vue b/yanzhu-bigscreen/src/views/bimRoaming copy.vue new file mode 100644 index 00000000..eb03bedb --- /dev/null +++ b/yanzhu-bigscreen/src/views/bimRoaming copy.vue @@ -0,0 +1,398 @@ + + + + + + + + + + + + 模型结构树 + + + + + + + + + + + + + + + + + 漫游方案 + + + + + + + 视点列表 + + + + + + + + + + + + + + 默认视点 + + + + + + + + diff --git a/yanzhu-bigscreen/src/views/bimRoaming.vue b/yanzhu-bigscreen/src/views/bimRoaming.vue new file mode 100644 index 00000000..1a373779 --- /dev/null +++ b/yanzhu-bigscreen/src/views/bimRoaming.vue @@ -0,0 +1,857 @@ + + + + + + + + + + + + 模型结构树 + + + + + + + + + + + + + + + + + 漫游方案 + + + 暂无数据 + + + {{ item.name }} + + + + + + + + + + + + + + + + + + + + + + + 视点列表 + + + 暂无数据 + + + + + {{ item.name }} + + {{ item.name }} + + + + + + + + + + + + + + + + 默认视点 + + + + + + + + diff --git a/yanzhu-bigscreen/src/views/greenCarbon.vue b/yanzhu-bigscreen/src/views/greenCarbon.vue index f599dede..1abb8851 100644 --- a/yanzhu-bigscreen/src/views/greenCarbon.vue +++ b/yanzhu-bigscreen/src/views/greenCarbon.vue @@ -268,7 +268,7 @@ export default { series: [ { type: 'pie', - radius: '70%', + radius: '50%', avoidLabelOverlap: false, bottom: is1K ? '5%' : is2K ? '15%' : '10%', top: '-10%', diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/ProProjectInfoMapper.xml b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/ProProjectInfoMapper.xml index 341e7fd0..af45bfb8 100644 --- a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/ProProjectInfoMapper.xml +++ b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/ProProjectInfoMapper.xml @@ -109,7 +109,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and pi.project_person_phone = #{projectPersonPhone} and pi.project_status = #{projectStatus} and pi.is_del = #{isDel} - and pi.is_del !=2 + and pi.is_del not in (1,2) order by pi.project_sort, pi.id desc order by psu.sort_by, pi.id desc @@ -423,7 +423,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and pi.project_person_phone = #{projectPersonPhone} and pi.project_status = #{projectStatus} and pi.is_del = #{isDel} - and pi.is_del!= 2 + and pi.is_del=0 order by pi.project_sort, pi.id desc order by psu.sort_by, pi.id desc diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/system/SysDeptMapper.xml b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/system/SysDeptMapper.xml index 8c5c99bf..63e3dece 100644 --- a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/system/SysDeptMapper.xml +++ b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/system/SysDeptMapper.xml @@ -71,7 +71,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select d.dept_id from sys_dept d left join sys_role_dept rd on d.dept_id = rd.dept_id - where rd.role_id = #{roleId} + where d.del_flag = '0' and + rd.role_id = #{roleId} and d.dept_id not in (select d.parent_id from sys_dept d inner join sys_role_dept rd on d.dept_id = rd.dept_id and rd.role_id = #{roleId}) @@ -80,7 +81,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - where dept_id = #{deptId} + where del_flag = '0' and dept_id = #{deptId} @@ -93,7 +94,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - select * from sys_dept where find_in_set(#{deptId}, ancestors) + select * from sys_dept where find_in_set(#{deptId}, ancestors) and del_flag = '0' diff --git a/yanzhu-gateway/src/main/resources/bootstrap.yml b/yanzhu-gateway/src/main/resources/bootstrap.yml index 884c5efc..0619ac37 100644 --- a/yanzhu-gateway/src/main/resources/bootstrap.yml +++ b/yanzhu-gateway/src/main/resources/bootstrap.yml @@ -16,7 +16,7 @@ spring: # 服务注册地址 server-addr: @discovery.server-addr@ # 服务分组 - group: lijun + # group: lijun config: # 配置中心地址 server-addr: @discovery.server-addr@ diff --git a/yanzhu-modules/yanzhu-file/src/main/resources/bootstrap.yml b/yanzhu-modules/yanzhu-file/src/main/resources/bootstrap.yml index 284fda00..bb6b8808 100644 --- a/yanzhu-modules/yanzhu-file/src/main/resources/bootstrap.yml +++ b/yanzhu-modules/yanzhu-file/src/main/resources/bootstrap.yml @@ -16,7 +16,7 @@ spring: # 服务注册地址 server-addr: @discovery.server-addr@ # 服务分组 - group: lijun + # group: lijun config: # 配置中心地址 server-addr: @discovery.server-addr@ diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/bim/BimDataSource.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/bim/BimDataSource.java index 7e037f18..a670f8de 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/bim/BimDataSource.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/bim/BimDataSource.java @@ -30,6 +30,7 @@ public class BimDataSource { HikariConfig config = new HikariConfig(); config.setDriverClassName(driverName); config.setJdbcUrl(url); + config.setConnectionTimeout(120*1000L); config.setMaximumPoolSize(100); config.setConnectionTestQuery("SELECT 1"); DataSource ds= new HikariDataSource(config); diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/ProProjectInfoController.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/ProProjectInfoController.java index deb1da4f..d79c66ce 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/ProProjectInfoController.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/ProProjectInfoController.java @@ -13,6 +13,7 @@ import com.yanzhu.common.security.annotation.RequiresPermissions; import com.yanzhu.common.security.utils.SecurityUtils; import com.yanzhu.manage.domain.ProProjectInfo; import com.yanzhu.manage.service.IProProjectInfoService; +import com.yanzhu.system.api.domain.SysDept; import com.yanzhu.system.api.model.LoginUser; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/bim/BimModelController.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/bim/BimModelController.java index 2404e81f..4c5762e1 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/bim/BimModelController.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/bim/BimModelController.java @@ -4,6 +4,7 @@ import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; import com.yanzhu.common.core.utils.StringUtils; import com.yanzhu.common.core.web.domain.AjaxResult; +import com.yanzhu.common.redis.service.RedisService; import com.yanzhu.manage.bim.BimDataSource; import com.yanzhu.manage.bim.BimDataSourceConfig; import com.yanzhu.manage.domain.bim.ModelPropertyVo; @@ -18,7 +19,10 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.Statement; import java.util.ArrayList; +import java.util.Collection; import java.util.List; +import java.util.Set; +import java.util.concurrent.TimeUnit; @RestController @RequestMapping("/bim/modelInfo") @@ -27,6 +31,21 @@ public class BimModelController { @Autowired private BimDataSource bimDataSource; + @Autowired + private RedisService redisService; + + @GetMapping("/clearCache/{key}") + public AjaxResult clearCache(@PathVariable("key") String key){ + // 依据前缀获取所有匹配的键 + Collection keys = redisService.keys(key + "*"); + if (!keys.isEmpty()) { + // 删除所有匹配的键 + redisService.deleteObject(keys); + return AjaxResult.success("缓存清除成功"); + } + return AjaxResult.success("未找到匹配的缓存"); + } + /** * 带子节点的model_tree查询 * @param name @@ -38,6 +57,11 @@ public class BimModelController { if(StringUtils.isEmpty(name)){ return AjaxResult.error("name is null"); } + String key="BimModelController.getModelTreeAllChild."+name+"."+pid; + if(redisService.hasKey(key)){ + Object list=redisService.getCacheObject(key); + return AjaxResult.success(list); + } String sql=""; if(StringUtils.isEmpty(pid)){ sql="select * from model_tree "; @@ -73,6 +97,7 @@ public class BimModelController { modelTreeVo.setPGlid(rs.getString("pGlid")); list.add(modelTreeVo); } + redisService.setCacheObject(key,list,60*60*24L, TimeUnit.SECONDS); return AjaxResult.success(list); } catch (Exception e) { return AjaxResult.error(e.getMessage()); @@ -91,6 +116,11 @@ public class BimModelController { if(StringUtils.isEmpty(name)){ return AjaxResult.error("name is null"); } + String key="BimModelController.getModelTreeAllLeafChild."+name+"."+pid; + if(redisService.hasKey(key)){ + Object list=redisService.getCacheObject(key); + return AjaxResult.success(list); + } String sql=""; if(StringUtils.isEmpty(pid)){ sql="select * from model_tree "; @@ -118,6 +148,7 @@ public class BimModelController { while (rs.next()) { list.add(rs.getString("glid")); } + redisService.setCacheObject(key,list,60*60*24L, TimeUnit.SECONDS); return AjaxResult.success(list); } catch (Exception e) { return AjaxResult.error(e.getMessage()); @@ -135,6 +166,11 @@ public class BimModelController { if(StringUtils.isEmpty(name)){ return AjaxResult.error("name is null"); } + String key="BimModelController.getModelTree."+name+"."+pid; + if(redisService.hasKey(key)){ + Object list=redisService.getCacheObject(key); + return AjaxResult.success(list); + } String sql=""; if(StringUtils.isEmpty(pid)){ sql="select * from model_tree where level=0"; @@ -164,6 +200,7 @@ public class BimModelController { modelTreeVo.setPGlid(rs.getString("pGlid")); list.add(modelTreeVo); } + redisService.setCacheObject(key,list,60*60*24L, TimeUnit.SECONDS); return AjaxResult.success(list); } catch (Exception e) { return AjaxResult.error(e.getMessage()); @@ -181,6 +218,11 @@ public class BimModelController { if(StringUtils.isEmpty(name)){ return AjaxResult.error("name is null"); } + String key="BimModelController.getModelTypeAllChild."+name+"."+pid; + if(redisService.hasKey(key)){ + Object list=redisService.getCacheObject(key); + return AjaxResult.success(list); + } String sql=""; if(StringUtils.isEmpty(pid)){ sql="select * from model_type "; @@ -216,6 +258,7 @@ public class BimModelController { vo.setId(rs.getLong("id")); list.add(vo); } + redisService.setCacheObject(key,list,60*60*24L, TimeUnit.SECONDS); return AjaxResult.success(list); } catch (Exception e) { return AjaxResult.error(e.getMessage()); @@ -233,6 +276,11 @@ public class BimModelController { if(StringUtils.isEmpty(name)){ return AjaxResult.error("name is null"); } + String key="BimModelController.getModelType."+name+"."+pid; + if(redisService.hasKey(key)){ + Object list=redisService.getCacheObject(key); + return AjaxResult.success(list); + } String sql=""; if(StringUtils.isEmpty(pid)){ sql="select * from model_type where level=0"; @@ -262,6 +310,7 @@ public class BimModelController { vo.setId(rs.getLong("id")); list.add(vo); } + redisService.setCacheObject(key,list,60*60*24L, TimeUnit.SECONDS); return AjaxResult.success(list); } catch (Exception e) { return AjaxResult.error(e.getMessage()); @@ -273,11 +322,17 @@ public class BimModelController { if(CollectionUtil.isEmpty(glids)){ return AjaxResult.error("glids is null"); } + StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < glids.size(); i++) { stringBuilder.append("?,"); } + String key="BimModelController.getModelProperty."+name+"."+stringBuilder.toString(); + if(redisService.hasKey(key)){ + Object list=redisService.getCacheObject(key); + return AjaxResult.success(list); + } String placeHolders = stringBuilder.deleteCharAt(stringBuilder.length() - 1) .toString(); String sql="select * from model_property where glid in ("+placeHolders+")"; @@ -308,6 +363,7 @@ public class BimModelController { vo.setPropertyTypeName(rs.getString("propertyTypeName")); list.add(vo); } + redisService.setCacheObject(key,list,60*60*24L, TimeUnit.SECONDS); return AjaxResult.success(list); } catch (Exception e) { return AjaxResult.error(e.getMessage()); diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/hasor/HasorModule.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/hasor/HasorModule.java index 1459ff91..98f80b35 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/hasor/HasorModule.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/hasor/HasorModule.java @@ -1,19 +1,19 @@ package com.yanzhu.manage.hasor; +import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONArray; +import com.alibaba.fastjson2.JSONObject; +import com.yanzhu.common.core.utils.StringUtils; +import com.yanzhu.common.redis.service.RedisService; import com.yanzhu.common.security.utils.SecurityUtils; import com.yanzhu.system.api.domain.SysUser; import net.hasor.core.ApiBinder; import net.hasor.core.DimModule; import net.hasor.dataql.DataQL; import net.hasor.dataql.compiler.qil.QIL; -import net.hasor.dataway.DatawayApi; -import net.hasor.dataway.authorization.PermissionType; import net.hasor.dataway.dal.FieldDef; import net.hasor.dataway.service.InterfaceApiFilter; -import net.hasor.dataway.spi.ApiInfo; -import net.hasor.dataway.spi.AuthorizationChainSpi; -import net.hasor.dataway.spi.CompilerSpiListener; -import net.hasor.dataway.spi.PreExecuteChainSpi; +import net.hasor.dataway.spi.*; import net.hasor.db.JdbcModule; import net.hasor.db.Level; import net.hasor.spring.SpringModule; @@ -22,9 +22,7 @@ import org.springframework.stereotype.Component; import javax.sql.DataSource; import java.io.IOException; -import java.lang.reflect.Method; import java.util.Map; -import java.util.Set; @DimModule @Component @@ -32,20 +30,68 @@ public class HasorModule implements SpringModule { @Autowired private DataSource dataSource = null; + @Autowired + private RedisService redisService; + + private String getKey(ApiInfo apiInfo){ + Map map = apiInfo.getObj(); + if (map == null) { + return ""; + } + String header = map.get(FieldDef.REQ_HEADER_SAMPLE); + if (StringUtils.isBlank(header)) { + return ""; + } + try { + JSONArray jsonObject = JSON.parseArray(header); + for (int i = 0; i < jsonObject.size(); i++) { + JSONObject obj = jsonObject.getJSONObject(i); + if ("cache".equals(obj.getString("name"))) { + String value = obj.getString("value"); + return value; + } + } + + + } catch (Exception ex) { + + } + return ""; + } + private boolean isCache(ApiInfo apiInfo) { + String key=getKey(apiInfo); + if(StringUtils.isBlank(key)){ + return false; + } + String keyLower=key.toLowerCase(); + return !"0".equals(keyLower) && !"false".equals(keyLower); + } + + public String getCacheKey(ApiInfo apiInfo) { + return getKey(apiInfo)+"."+ apiInfo.getApiPath() + JSON.toJSONString(apiInfo.getParameterMap()); + } + public void loadModule(ApiBinder apiBinder) throws Throwable { // .DataSource form Spring boot into Hasor apiBinder.installModule(new JdbcModule(Level.Full, this.dataSource)); InterfaceApiFilter f; apiBinder.bindSpiListener(PreExecuteChainSpi.class, (apiInfo, future) -> { - try{ + try { SysUser user = SecurityUtils.getLoginUser().getSysUser(); - if(user!=null) { + if (user != null) { apiInfo.getParameterMap().put("currentUser", user.getUserName() + " " + user.getPhonenumber()); - }else{ + } else { apiInfo.getParameterMap().put("currentUser", "system"); } - }catch (Exception ex){ + if (isCache(apiInfo)) { + String key = getCacheKey(apiInfo); + Object obj = redisService.getCacheObject(key); + if (obj != null) { + future.completed(obj); + } + } + } catch (Exception ex) { } //String apiPath = apiInfo.getApiPath(); @@ -58,12 +104,28 @@ public class HasorModule implements SpringModule { // } }); apiBinder.bindSpiListener(CompilerSpiListener.class, new CompilerSpiListener() { - @Override - public QIL compiler(ApiInfo apiInfo, String query, DataQL dataQL) throws IOException { - query = "hint FRAGMENT_SQL_COLUMN_CASE=\"hump\"\n hint FRAGMENT_SQL_QUERY_BY_PAGE_NUMBER_OFFSET = 1 \n hint FRAGMENT_SQL_OPEN_PACKAGE = 'off' \n" + query; - return CompilerSpiListener.super.compiler(apiInfo, query, dataQL); - } - }); + @Override + public QIL compiler(ApiInfo apiInfo, String query, DataQL dataQL) throws IOException { + query = "hint FRAGMENT_SQL_COLUMN_CASE=\"hump\"\n hint FRAGMENT_SQL_QUERY_BY_PAGE_NUMBER_OFFSET = 1 \n hint FRAGMENT_SQL_OPEN_PACKAGE = 'off' \n" + query; + return CompilerSpiListener.super.compiler(apiInfo, query, dataQL); + } + }); + apiBinder.bindSpiListener(ResultProcessChainSpi.class, new ResultProcessChainSpi() { + @Override + public Object callAfter(boolean formPre, ApiInfo apiInfo, Object result) { + if (formPre || !isCache(apiInfo) || apiInfo.getCallSource() == CallSource.InterfaceUI) { + return ResultProcessChainSpi.super.callAfter(formPre, apiInfo, result); + } + try { + String key = getCacheKey(apiInfo); + redisService.setCacheObject(key, result, 60L, java.util.concurrent.TimeUnit.MINUTES); + } catch (Exception ex) { + } + return ResultProcessChainSpi.super.callAfter(formPre, apiInfo, result); + } + }); } + + } diff --git a/yanzhu-modules/yanzhu-manage/src/main/resources/bootstrap.yml b/yanzhu-modules/yanzhu-manage/src/main/resources/bootstrap.yml index 4393a936..f7c13a8b 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/resources/bootstrap.yml +++ b/yanzhu-modules/yanzhu-manage/src/main/resources/bootstrap.yml @@ -21,7 +21,7 @@ spring: # 服务注册地址 server-addr: @discovery.server-addr@ # 工作空间配置 - namespace: a113aa27-4d61-46e0-81d6-9cede0457f0d + # namespace: a113aa27-4d61-46e0-81d6-9cede0457f0d # 服务分组 #group: lijun config: diff --git a/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/controller/SysUserController.java b/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/controller/SysUserController.java index 25e3ab96..2de76f76 100644 --- a/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/controller/SysUserController.java +++ b/yanzhu-modules/yanzhu-system/src/main/java/com/yanzhu/system/controller/SysUserController.java @@ -276,6 +276,10 @@ public class SysUserController extends BaseController { @GetMapping("/getInfo") public AjaxResult getInfo() { SysUser user = SecurityUtils.getLoginUser().getSysUser(); + SysDept dept= deptService.selectDeptById(user.getDeptId()); + user.setComId(dept.getComId()); + user.setActiveComId(dept.getComId()); + user.setDept(dept); AjaxResult ajax = AjaxResult.success(); ajax.put("user", user); if(Objects.nonNull(user.getRoles()) && user.getRoles().size()>0){ diff --git a/yanzhu-modules/yanzhu-system/src/main/resources/bootstrap.yml b/yanzhu-modules/yanzhu-system/src/main/resources/bootstrap.yml index 6ee499db..c4a82879 100644 --- a/yanzhu-modules/yanzhu-system/src/main/resources/bootstrap.yml +++ b/yanzhu-modules/yanzhu-system/src/main/resources/bootstrap.yml @@ -16,7 +16,7 @@ spring: # 服务注册地址 server-addr: @discovery.server-addr@ # 服务分组 - group: JiangYuQi + # group: JiangYuQi config: # 配置中心地址 server-addr: @discovery.server-addr@ diff --git a/yanzhu-ui-vue3/public/images/pitMonitor.png b/yanzhu-ui-vue3/public/images/pitMonitor.png new file mode 100644 index 00000000..0ed75985 Binary files /dev/null and b/yanzhu-ui-vue3/public/images/pitMonitor.png differ diff --git a/yanzhu-ui-vue3/public/images/pitMonitor.svg b/yanzhu-ui-vue3/public/images/pitMonitor.svg index e72ff1c2..d6f7ee8c 100644 --- a/yanzhu-ui-vue3/public/images/pitMonitor.svg +++ b/yanzhu-ui-vue3/public/images/pitMonitor.svg @@ -1 +1,2 @@ - \ No newline at end of file + + \ No newline at end of file diff --git a/yanzhu-ui-vue3/public/images/power.png b/yanzhu-ui-vue3/public/images/power.png new file mode 100644 index 00000000..af6da13c Binary files /dev/null and b/yanzhu-ui-vue3/public/images/power.png differ diff --git a/yanzhu-ui-vue3/public/images/power.svg b/yanzhu-ui-vue3/public/images/power.svg index fbf095fc..45203192 100644 --- a/yanzhu-ui-vue3/public/images/power.svg +++ b/yanzhu-ui-vue3/public/images/power.svg @@ -1,2 +1,2 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/yanzhu-ui-vue3/public/images/towerMonitor.png b/yanzhu-ui-vue3/public/images/towerMonitor.png new file mode 100644 index 00000000..12d0093e Binary files /dev/null and b/yanzhu-ui-vue3/public/images/towerMonitor.png differ diff --git a/yanzhu-ui-vue3/public/images/towerMonitor.svg b/yanzhu-ui-vue3/public/images/towerMonitor.svg index 3c372688..8bb95249 100644 --- a/yanzhu-ui-vue3/public/images/towerMonitor.svg +++ b/yanzhu-ui-vue3/public/images/towerMonitor.svg @@ -1,3 +1,3 @@ - - \ No newline at end of file + + \ No newline at end of file diff --git a/yanzhu-ui-vue3/public/images/videoMonitor.png b/yanzhu-ui-vue3/public/images/videoMonitor.png new file mode 100644 index 00000000..95eea9df Binary files /dev/null and b/yanzhu-ui-vue3/public/images/videoMonitor.png differ diff --git a/yanzhu-ui-vue3/src/api/bim/bim.js b/yanzhu-ui-vue3/src/api/bim/bim.js index c31354f5..41899dd4 100644 --- a/yanzhu-ui-vue3/src/api/bim/bim.js +++ b/yanzhu-ui-vue3/src/api/bim/bim.js @@ -69,3 +69,19 @@ export function devicePositionGet(data) { params: data, }); } + +export function devicePositionAddItems(data) { + return request({ + url: "/manage/api/bim/devicePosition/addItems", + method: "post", + data: data, + }); +} + +export function devicePositionUpdateItems(data) { + return request({ + url: "/manage/api/bim/devicePosition/updatePosition", + method: "post", + data: data, + }); +} \ No newline at end of file diff --git a/yanzhu-ui-vue3/src/api/bim/bimModel.js b/yanzhu-ui-vue3/src/api/bim/bimModel.js index 87324390..9c37f77b 100755 --- a/yanzhu-ui-vue3/src/api/bim/bimModel.js +++ b/yanzhu-ui-vue3/src/api/bim/bimModel.js @@ -53,14 +53,14 @@ export function checkLightweightName(data) { export function getModelTree(name, pid) { return request({ - url: "/manage//bim/modelInfo/modelTree/" + name + "?pid=" + pid, + url: "/manage/bim/modelInfo/modelTree/" + name + "?pid=" + pid, method: "get", }); } export function getTreeAllLeafChild(name, pid) { return request({ - url: "/manage//bim/modelInfo/modelTreeAllLeafChild/" + name + "?pid=" + pid, + url: "/manage/bim/modelInfo/modelTreeAllLeafChild/" + name + "?pid=" + pid, method: "get", }); } diff --git a/yanzhu-ui-vue3/src/api/system/bigscreenMenu.js b/yanzhu-ui-vue3/src/api/system/bigscreenMenu.js new file mode 100644 index 00000000..1a06f02f --- /dev/null +++ b/yanzhu-ui-vue3/src/api/system/bigscreenMenu.js @@ -0,0 +1,31 @@ +import request from '@/utils/request' +export function getMenuByProjectId(query) { + return request({ + url: '/manage/api/project/bigscreenMenu/getMenuByProjectId', + method: 'get', + params: query + }) + } + + export function addMenus(data) { + return request({ + url: '/manage/api/project/bigscreenMenu/addMenus', + method: 'post', + data: data + }) + } + + export function updateMenus(data) { + return request({ + url: '/manage/api/project/bigscreenMenu/updateMenus', + method: 'post', + data: data + }) + } + + export function clearCache(key) { + return request({ + url: "/manage/bim/modelInfo/clearCache/" +key, + method: "get", + }); + } \ No newline at end of file diff --git a/yanzhu-ui-vue3/src/layout/components/Sidebar/index.vue b/yanzhu-ui-vue3/src/layout/components/Sidebar/index.vue index 9b14dfc0..57b7b2f7 100644 --- a/yanzhu-ui-vue3/src/layout/components/Sidebar/index.vue +++ b/yanzhu-ui-vue3/src/layout/components/Sidebar/index.vue @@ -1,12 +1,28 @@ - + diff --git a/yanzhu-ui-vue3/src/views/bim/bimModel/index.vue b/yanzhu-ui-vue3/src/views/bim/bimModel/index.vue index fb07c927..7fc30708 100755 --- a/yanzhu-ui-vue3/src/views/bim/bimModel/index.vue +++ b/yanzhu-ui-vue3/src/views/bim/bimModel/index.vue @@ -6,11 +6,11 @@ - + @@ -61,12 +61,15 @@ - + + + 从模型服务器选择模型 + @@ -142,7 +145,6 @@ const data = reactive({ rules: { comId: [{ required: true, message: '租户id不能为空', trigger: 'blur' }], projectId: [{ required: true, message: '项目id不能为空', trigger: 'blur' }], - deptId: [{ required: true, message: '单位id不能为空', trigger: 'blur' }], }, isAdmin: false, projects: [], diff --git a/yanzhu-ui-vue3/src/views/bim/bimModel/modelDialog.vue b/yanzhu-ui-vue3/src/views/bim/bimModel/modelDialog.vue index 5bdb938e..f51968e2 100644 --- a/yanzhu-ui-vue3/src/views/bim/bimModel/modelDialog.vue +++ b/yanzhu-ui-vue3/src/views/bim/bimModel/modelDialog.vue @@ -1,6 +1,7 @@ - + @@ -15,8 +16,23 @@ export default { title: '', row: null, bimStore: null, - sapi_1: null, elId: 'gis' + +new Date(), + defaults: { + serverIP: `model.jhncidg.com`, //服务IP地址 具体见引擎服务控制台 + port: 8000, //HTTP端口 具体见引擎服务控制台 + useHttps: true, //是否使用Https + container: `UEgineContainer`, //[必须]引擎场景容器ID + // Token 可从引擎工作站下载 (必须)不传入则无法加载模型 + secretKey: + "cbe8c300dfb0280d71bf6546087c6d2fa49260085f53fca86c69755ac3a39199e08cb605efce617acfa509d5f3ee4d7f67a84d7c36cc175589405fde5d995a24258c47f45b34485a2edb350010e2f42cd5b388af45c6b070850288d284cbbbcd51e36f41b756a25f38d27dbe2e47e96b9eb56a96b59d61e02a467e881f70b21989b1a50685b6fc0265f528fc20b876d425a89c4bf6b33f829177fda27027e65b8a94867b381ae88ecd6668e8ca6b6d286dce7e5d799b0a1791905fc1eba1be4bd6b2a0d0983e9fd1184d8dbba49a8569257e195e636a849299be5a52d738b8218ae3e55ca95ec2999742c749dda98108ecfe0622c0e7fe1d76ad60b6c191c99adca5f9cf5e5f096c599f1874ee756fe16dce7e5d799b0a175d5afe5554a4332203e774bed8a045353e9bf5abfe83ffe0cca50ef6c618828a9d63dac2d06e44c19cc1e4d0220e60c6fb1ba2643538d1973ae24d1650ef196ed32b1cdbecb9bf3ae2651ff226b8a2383977aeaabb9225d76f8b62bd8891c29bfb1ba2643538d1973ae24d1650ef196ed32b1cdbecb9bf3aded264d2944b7de536ca05b5a67eccf9e531630520dbe46651d2e0212a534b5d37e40a524d2bbb8599a991777d21e7823e88c9264a91404ad3c355b1486472d2d33d2024825618176f3ca316f1c8864c67da113f439417e93a3a6e65f3b5b13e02b4cf797dd3ef437d453436628b776f17b592e82465766524d976e07cb995f7aeea64611acbe5c7afafd0506174e868b868cd5190eb2aca665e8d49164a81ede6cd674b6676107f753151533a277044030c6924517e4349b5024217bdf743a670fd5d571139e4f0e6cd674b6676107fc8b14b44ceeed441af4b194f05a9561933be0b316b16d035cf14829a5847f70377d6c12f1649400fcab44f4ff52989cf214f8b93be10da84253a49595b8ffa60e29586b86ee4d866c8ffcb81b934e9b51cd8670938da55d3ee5940a08809fab6f7c0a1702e2a8a95cc2ddffad05ffd7c7b7134e53eaa4f83b046182095e9d992f79b33aea9c3effbffbe7fd817b3e44233aa4802e15dfc49a29aa59c8f2497fa711bc068a62def563d8f10f7e48a08896850e0b312512643a819d6c108898dd8a2266bc2bd5ee75d866f1d98d020cafd7bd5f9c0972b08b652da3f7d8f2395dcf14e1860b5a41f63ca076947bd189a6df6b34a0d3b48e62299da383acb371030673a18f4f42a3e1ef21654bc56ed57d610df6c47a708c020420446a051fcfcfe2ec33e49302a9c7b920088012936f0e4972bd8f261f7b7345b2b4c07b28f439b8c363d561580eba60124eaa5aa0834e124254c2ea7e8b20334d705a519dd901833639d7019f49033c4bbb34a5481d3485125cdd7384aad1b3050717025af01dcfac91bea061f4ff485af667dd7ebaf4baeea64611acbe5c740e3c5229a33a810e6eb28a4163283ccebc424f09f933d0eb1a881ed05ca8d5c70958237eb5b91d4e574440ea0c9179a582dc966bcfc1f21cf3630a2823a9a2d22bd09a00b213aae3866768ae2f24dde59f3f21ab1f820a9d2bc9b9c79ecfe3a853fcb2bc95ee8056cd5b4826fa55926733ef859a5f169e6afafd0506174e86864d53d967da98ab0b0e08d14be6d452c753151533a2770444dc3bda33a30522cafafd0506174e868ad58c88e87a3bfc170e2ffb0f223e4e27d1f9f3c7343796941187054ec673ebdbd57ea3b34f9c6ccd2a3c00a7ba1a999546538785d7cc0b40a683a8bbd9cb842f96b87b99f2b3a0e241e69a6993bcca387380d5ea2d8e077753151533a277044c81e5b8a22ff6bdf23c4b6186d657cedfff99a50bc0729d1d320606a1d80beb0", //token + openearth: false, //[可选]是否开启GIS场景 + bgcolor: "rgba(135 ,206 ,250,1)", //[可选]BIM模式场景背景色 + }, + // 此处传入模型访问地址 -可通过serverAPI接口获取该地址 + modelPath: + "https://model.jhncidg.com:18086/Tools/output/model/4720827559401934284/root.glt", + // 模型ID 由用户自定义 + modelID: "4720827559401934284", } }, mounted() { @@ -34,6 +50,52 @@ export default { }) }, initCesium() { + window.api = new SAPI( + { + serverIP: `model.jhncidg.com`, //服务ip地址 + port: 8000, //HTTP端口 + useHttps: true, //使用Https + container: this.elId, //[必须]容器id + secretKey: "cbe8c300dfb0280d71bf6546087c6d2fa49260085f53fca86c69755ac3a39199e08cb605efce617acfa509d5f3ee4d7f67a84d7c36cc175589405fde5d995a24258c47f45b34485a2edb350010e2f42cd5b388af45c6b070850288d284cbbbcd51e36f41b756a25f38d27dbe2e47e96b9eb56a96b59d61e02a467e881f70b21989b1a50685b6fc0265f528fc20b876d425a89c4bf6b33f829177fda27027e65b8a94867b381ae88ecd6668e8ca6b6d286dce7e5d799b0a1791905fc1eba1be4bd6b2a0d0983e9fd1184d8dbba49a8569257e195e636a849299be5a52d738b8218ae3e55ca95ec2999742c749dda98108ecfe0622c0e7fe1d76ad60b6c191c99adca5f9cf5e5f096c599f1874ee756fe16dce7e5d799b0a175d5afe5554a4332203e774bed8a045353e9bf5abfe83ffe0cca50ef6c618828a9d63dac2d06e44c19cc1e4d0220e60c6fb1ba2643538d1973ae24d1650ef196ed32b1cdbecb9bf3ae2651ff226b8a2383977aeaabb9225d76f8b62bd8891c29bfb1ba2643538d1973ae24d1650ef196ed32b1cdbecb9bf3aded264d2944b7de536ca05b5a67eccf9e531630520dbe4663b2d265fe6a4c8877fcba7ce8189fbc216cdeb3ecbc1d365395fd220141d4e6d9fd317e3dac7bb223013404ec41c18c9cc748e652ce16fe7061c32d550edfda330c1555e0c08e51f698f96b91615d8229cf32d2e110ec91f1211e23c769b5bbe1aa9a9191a2d3da09800e6efdee12ee04fdc9df330134f94052efc320a8c1a143e939c0e3b1ad476cf3630a2823a9a2dc2a17ec077fd21bfa7550ed054853e32510f8a6ea5c1dff9c3d61f7cf5f649cb25f0dbad9f7f66e3b446946685cead0cfac91bea061f4ff49a2f853c245297edc3d61f7cf5f649cb0f9b84173857a7b67c27928b58b4a6a65f517a43f106335ecc43571d292f54baa4596f82cf86665b367e01045009c18a2b543696b93a5bd44ca8168b525235150ffadf3f628aa7e8a20b9e74d76bd3a1e26b026e5297005a780f011db11ddb55fbabdc0f876c1cdfa5ef7db74bbc52e19c6396ffcf10044da26ecd334722494fc515b205e9624a4468762f63f0143583d1eeaaa85ff95ee50d8f953f44140ab40f29957f914b2241fd1309b7be0d5f9e55207069d393244a5be14de83e99956e957e025b859c7dd3cebcdd4589bf15942a17f162a5b95af68b416632dbf24db069995334a82a49d6060f7a5b770b6e18ecf8cb01c0e21b608156b326e2f4461369f266ad62ac2edf64d1767ac6ea3d83c9ba33a4517541406791c384c597539cc1ffcdbe8f3563a125da5d3905c7f92abef0fe8b967e5bc2832940bf4230fe93bdd44267922427c4db140fd5cb164da87f17f480c39e9c1c17bd48d031e3ce8ab3a49456b48f3b49549c2da3f62d2a8da7d5f36e39ce04af5e3f8253971ef20b10b7b200fbc7c3d3f71e19f74e660313cf3630a2823a9a2d0acd9cb22f32e975d8b70082aab5ddbcb644d89a77efad286dee59796b124081510f8a6ea5c1dff9cb0f31d9a93422d1de95a0001376b8d685af667dd7ebaf4bdfc4840ac1126277417910a2ed0df6e3ca2026459a491059689206d702832f51afafd0506174e868c12cc462769b2e685be04514c976edd04ca2ef020dc56bee8321afe91a1dcbb1afafd0506174e8680f18f43fcd13957eef440c21db889c81888bce192514399191b48af868eda487753151533a27704469e5635404d6fdfb753151533a277044afdd825f7197f289753151533a27704484b9cf9eccaf749638930dbe9049f2ae36689b286e75a81e016aa63061505f57a8c1113b833628e3a18dff8ae8ac8eaae0e7c3406ae4dd4e10880b34c16e1b7405884ca1d5603015a7b0730878fafb08", + openEarth: false, //[可选]开启Gis场景 + bgColor: 'rgba(135 ,206 ,250,1)', //[可选]bim场景背景色, 传值即为纯色天空盒 + tintColor: 'rgba(255,255,0,1)', //[可选]osgb单体化颜色 + sceneTime: ['13:00', '6:00', '18:00'], //[可选]分别为当前时间、日出时间、日落时间 + cadMode: false, // 是否是Cad图纸预览模式 + }, + () => { + console.log(this.row) + //this.row.modelAccessAddress + console.log("场景初始化完成"); + window.api.Public.setSkyBoxState(0); + this.addModels(); + + } + ) + console.log('---->', api) + }, + addModels() { + let modelPath=this.row.modelAccessAddress; + if(modelPath.indexOf("model.jhncidg.com")==-1){ + modelPath="https://model.jhncidg.com:18086"+modelPath + } + window.api.Model.add( + // 此处传入模型访问地址 -可通过serverAPI接口获取该地址 + modelPath, + // 模型ID 由用户自定义 + this.row.lightweightName, + (res) => { + console.log("模型开始加载"); + }, + (res) => { + console.log("模型加载完毕"); + }, + { + FlyTo: true, + } + ); + }, + initCesium2() { // const defaults = { ...this.bimStore.defaults } let defaults = { container: 'cesiumContainer', //[必须]容器id @@ -116,4 +178,10 @@ export default { } - \ No newline at end of file + \ No newline at end of file diff --git a/yanzhu-ui-vue3/src/views/bim/bimSetting/ModelFloorTree.vue b/yanzhu-ui-vue3/src/views/bim/bimSetting/ModelFloorTree.vue index f92d70b4..bc62848b 100644 --- a/yanzhu-ui-vue3/src/views/bim/bimSetting/ModelFloorTree.vue +++ b/yanzhu-ui-vue3/src/views/bim/bimSetting/ModelFloorTree.vue @@ -144,6 +144,11 @@ export default { console.log("加载模型成功"); cb && cb(); this.$emit("change"); + setTimeout(()=>{ + api.Camera.getViewPort(p=>{ + this.$emit("modelAdd",p); + }); + },1000); } ); }, diff --git a/yanzhu-ui-vue3/src/views/bim/bimSetting/index.vue b/yanzhu-ui-vue3/src/views/bim/bimSetting/index.vue index e9c84683..393c0463 100644 --- a/yanzhu-ui-vue3/src/views/bim/bimSetting/index.vue +++ b/yanzhu-ui-vue3/src/views/bim/bimSetting/index.vue @@ -1,55 +1,30 @@ - +