diff --git a/yanzhu-bigscreen/src/api/bim.js b/yanzhu-bigscreen/src/api/bim.js
index 46236016..f3c4dc76 100644
--- a/yanzhu-bigscreen/src/api/bim.js
+++ b/yanzhu-bigscreen/src/api/bim.js
@@ -7,6 +7,14 @@ const listBimModel = (query) => {
params: query,
});
};
+
+const modelPropertyByExternalId = (modelName,externalId) => {
+ return request({
+ url: `/manage/bim/modelInfo/modelPropertyByExternalId/${modelName}?externalId=${externalId}`,
+ method: "get"
+ });
+};
+
//获取BIM设备位置
const devicePositionGet = (data) => {
return request({
@@ -102,6 +110,7 @@ const roamingGet=data=>{
export default {
listBimModel,
+ modelPropertyByExternalId,
devicePositionGet,
devTowerBimData,
videoMonitorBimData,
diff --git a/yanzhu-bigscreen/src/assets/icons/svg/area2.svg b/yanzhu-bigscreen/src/assets/icons/svg/area2.svg
new file mode 100644
index 00000000..bd8e8b57
--- /dev/null
+++ b/yanzhu-bigscreen/src/assets/icons/svg/area2.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/yanzhu-bigscreen/src/assets/icons/svg/attribute.svg b/yanzhu-bigscreen/src/assets/icons/svg/attribute.svg
new file mode 100644
index 00000000..130181f3
--- /dev/null
+++ b/yanzhu-bigscreen/src/assets/icons/svg/attribute.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/yanzhu-bigscreen/src/assets/icons/svg/distance.svg b/yanzhu-bigscreen/src/assets/icons/svg/distance.svg
new file mode 100644
index 00000000..30ddbfcf
--- /dev/null
+++ b/yanzhu-bigscreen/src/assets/icons/svg/distance.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/yanzhu-bigscreen/src/assets/icons/svg/hide.svg b/yanzhu-bigscreen/src/assets/icons/svg/hide.svg
new file mode 100644
index 00000000..4bd3283d
--- /dev/null
+++ b/yanzhu-bigscreen/src/assets/icons/svg/hide.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/yanzhu-bigscreen/src/assets/icons/svg/info.svg b/yanzhu-bigscreen/src/assets/icons/svg/info.svg
new file mode 100644
index 00000000..955d4357
--- /dev/null
+++ b/yanzhu-bigscreen/src/assets/icons/svg/info.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/yanzhu-bigscreen/src/assets/icons/svg/sectioning.svg b/yanzhu-bigscreen/src/assets/icons/svg/sectioning.svg
new file mode 100644
index 00000000..1fb87bf7
--- /dev/null
+++ b/yanzhu-bigscreen/src/assets/icons/svg/sectioning.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/yanzhu-bigscreen/src/assets/icons/svg/size2.svg b/yanzhu-bigscreen/src/assets/icons/svg/size2.svg
new file mode 100644
index 00000000..77286650
--- /dev/null
+++ b/yanzhu-bigscreen/src/assets/icons/svg/size2.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/yanzhu-bigscreen/src/assets/icons/svg/volume.svg b/yanzhu-bigscreen/src/assets/icons/svg/volume.svg
new file mode 100644
index 00000000..2eab283e
--- /dev/null
+++ b/yanzhu-bigscreen/src/assets/icons/svg/volume.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/yanzhu-bigscreen/src/components/header.vue b/yanzhu-bigscreen/src/components/header.vue
index 1a7ed031..13ede69b 100644
--- a/yanzhu-bigscreen/src/components/header.vue
+++ b/yanzhu-bigscreen/src/components/header.vue
@@ -235,7 +235,7 @@ export default {
this.showMenus = objs;
this.showMenusNavIds = this.showMenus.map((d) => d.navId);
let tmps = this.showMenusNavIds.filter((item) => [1, 2, 3, 4, 5, 6, 7].includes(+item));
- if (!tmps.includes(2)) {
+ if (!tmps.includes(2) && !this.showMenusNavIds.includes(""+this.nav)) {
let nav = tmps[0];
nav = tmps[0];
tmps = this.showMenusNavIds.filter((item) => String(item).startsWith(nav + ""));
@@ -246,7 +246,6 @@ export default {
this.doNav(+nav);
this.notDetail = true;
}
- console.log(this.showMenusNavIds);
});
},
doNav(n) {
diff --git a/yanzhu-bigscreen/src/utils/tools.js b/yanzhu-bigscreen/src/utils/tools.js
index d05e6d14..7b080fd9 100644
--- a/yanzhu-bigscreen/src/utils/tools.js
+++ b/yanzhu-bigscreen/src/utils/tools.js
@@ -8,3 +8,38 @@ export function tryToJson(str,def=null){
return def;
}
}
+
+ export function MergeArray(arr1, arr2) {
+ var _arr = new Array();
+ for (var i = 0; i < arr1.length; i++) {
+ _arr.push(arr1[i]);
+ }
+ for (var i = 0; i < arr2.length; i++) {
+ var flag = true;
+ for (var j = 0; j < arr1.length; j++) {
+ if (arr2[i] == arr1[j]) {
+ flag = false;
+ break;
+ }
+ }
+ if (flag) {
+ _arr.push(arr2[i]);
+ }
+ }
+ return _arr;
+}
+export function DelArray(array1, array2) {
+ var result = [];
+ for (var i = 0; i < array1.length; i++) {
+ var k = 0;
+ for (var j = 0; j < array2.length; j++) {
+ if (array1[i] != array2[j]) {
+ k++;
+ if (k == array2.length) {
+ result.push(array1[i]);
+ }
+ }
+ }
+ }
+ return result;
+}
\ No newline at end of file
diff --git a/yanzhu-bigscreen/src/views/bim/001.png b/yanzhu-bigscreen/src/views/bim/001.png
deleted file mode 100644
index f992ef90..00000000
Binary files a/yanzhu-bigscreen/src/views/bim/001.png and /dev/null differ
diff --git a/yanzhu-bigscreen/src/views/bim/briefingProperty.js b/yanzhu-bigscreen/src/views/bim/briefingProperty.js
new file mode 100644
index 00000000..ebfdeaaa
--- /dev/null
+++ b/yanzhu-bigscreen/src/views/bim/briefingProperty.js
@@ -0,0 +1,81 @@
+function groupData(data) {
+ let tmps = [];
+ let obj = {};
+ data.forEach((item) => {
+ let setName = item.propertySetName;
+ if (!obj[setName]) {
+ obj[setName] = [];
+ }
+ obj[setName].push(item);
+ });
+ for (let key in obj) {
+ tmps.push({
+ name: key,
+ data: obj[key],
+ });
+ }
+ return tmps;
+}
+function dataFiltering(that, id) {
+ const gild = id.split("^");
+ let modelName = "";
+ that.models.forEach((item) => {
+ if (item.gis?.lightweightName == gild[0]) {
+ modelName = item.gis.name;
+ }
+ });
+ if (!modelName || !gild[1]) {
+ return false;
+ }
+ let featureId = gild[1].split("_")[0];
+ that.$api.bim.modelPropertyByExternalId(gild[0], featureId).then((d) => {
+ let tmps = d.data || [];
+ that.propertyAttr = groupData(tmps.filter((d) => d.propertyTypeName == "properties"));
+ that.propertyType = groupData(tmps.filter((d) => d.propertyTypeName != "properties"));
+ that.propertyLoad = "end";
+ });
+}
+/**
+ * 获取构件属性信息
+ */
+export function getProperty(that) {
+ let api = bimBriefingApi;
+ api.Feature.getByEvent(true, (n) => {
+ console.log(n);
+ if (n && n["id"]) {
+ let featureId = n.id;
+
+ if (featureId.split("^")[1]) {
+ let modelId = featureId.split("^")[0];
+ if (that.selFeatureId) {
+ api.Feature.setColor(that.selFeatureId, "rgba(255,255,255,1)", modelId);
+ }
+ api.Feature.setColor(featureId, "rgba(255,0,255,1)", modelId);
+ that.selFeatureId = featureId;
+ dataFiltering(that, featureId);
+ that.propertyLoad = "start";
+ that.attributeInformation = "查询中,请稍候~";
+ }
+ } else {
+ that.attributeInformation = "未选中构件";
+ }
+ });
+}
+
+/**
+ * 获取构件尺寸信息
+ */
+export function subFeatureSize(that) {
+ let api = bimBriefingApi;
+ api.Public.clearHandler(),
+ api.Measurement.clearAllTrace();
+ api.Feature.getByEvent(true, (n) => {
+ console.log(n);
+ if (n && n["id"]) {
+ let featureId = n.id;
+ api.Feature.getGeometrySizeById(featureId, (res) => {
+ console.log(res);
+ });
+ }
+ });
+}
diff --git a/yanzhu-bigscreen/src/views/bimBriefing.vue b/yanzhu-bigscreen/src/views/bimBriefing.vue
index 30469e62..c1f3c065 100644
--- a/yanzhu-bigscreen/src/views/bimBriefing.vue
+++ b/yanzhu-bigscreen/src/views/bimBriefing.vue
@@ -1,25 +1,692 @@
- 111
+
+
+
+
+
+
+
+
+
+ 模型结构树
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 属性
+
+
+
+ {{ attributeInformation }}
+
+
+
+ 属性
+ 类型
+
+
+
+
+
+
+ {{ item.name }}
+
+
+
+
{{ item2.propertyName }}
+
{{ item2.value }}
+
+
+
+
+
+
+
+
+
+
+ 进度信息
+
+
+
+
+
计划开始时间
+
2025-01-02
+
+
+
计划结束时间
+
2025-12-31
+
+
+
+
+ 当前进度
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
+
diff --git a/yanzhu-bigscreen/src/views/bimRoaming.vue b/yanzhu-bigscreen/src/views/bimRoaming.vue
index 762dc48d..0e68e3e1 100644
--- a/yanzhu-bigscreen/src/views/bimRoaming.vue
+++ b/yanzhu-bigscreen/src/views/bimRoaming.vue
@@ -2,89 +2,88 @@