From 5a927effd46214f70044451cbd7df8240f07f40d Mon Sep 17 00:00:00 2001 From: panyuyi Date: Wed, 12 Jun 2024 16:02:25 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Dbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/styles/space.scss | 4 + src/views/components/SyMixMap.vue | 133 +++++++++++------- .../inspectionPlan/components/PlanDetail.vue | 7 +- .../enginerring/inspectionPlan/index.vue | 15 +- .../components/NewRecord.vue | 11 +- .../components/RecordDetails.vue | 15 +- .../enginerring/inspectionRecords/index.vue | 36 ++++- .../components/RouteDetail.vue | 10 +- 8 files changed, 149 insertions(+), 82 deletions(-) diff --git a/src/assets/styles/space.scss b/src/assets/styles/space.scss index 7d697e6..a1c1684 100644 --- a/src/assets/styles/space.scss +++ b/src/assets/styles/space.scss @@ -131,3 +131,7 @@ .w-360{ width: 360px !important; } + +.h-124{ + height: 124px !important; +} diff --git a/src/views/components/SyMixMap.vue b/src/views/components/SyMixMap.vue index a3e2a91..2a1b9cb 100644 --- a/src/views/components/SyMixMap.vue +++ b/src/views/components/SyMixMap.vue @@ -67,8 +67,8 @@ export default { }, canEdit: Boolean, entries: { - type: Array, - default: () => [], + type: Object, + default: () => {}, }, }, data() { @@ -89,8 +89,8 @@ export default { }, entries: { handler(val) { - console.log('entries >>>>> ', val) - if (val && Array.isArray(val)) { + console.log('地图entries >>>>> ', val) + if (val) { setTimeout(() => { this.initEntries(val); }, 100); @@ -175,59 +175,73 @@ export default { }, // 根据传入的entries还原点线等 initEntries(entries){ - console.log('initEntries >>>>> ', entries) layer?.clear() if(!layer){ layer = new sycim.EntityLayer('layer').addTo(viewer) } - entries.forEach(item=>{ - let graphicItem - if(item.type === 'billboard'){ - graphicItem = new sycim.Billboard(item.position, `/icons/${item.icon}`); - graphicItem.setStyle({ - canEdit: this.canEdit, - horizontalOrigin: sycim.HorizontalOrigin.CENTER, - verticalOrigin: sycim.VerticalOrigin.BOTTOM, - }) - }else if(item.type === 'polyline'){ - graphicItem = new sycim.Polyline(item.positions); - graphicItem.setStyle({ - canEdit: this.canEdit, - width: 16, - clampToGround: true, - lineType: '1', - speed_s: 2, - horizontalOrigin: sycim.HorizontalOrigin.CENTER, - verticalOrigin: sycim.VerticalOrigin.BOTTOM, + // 旧数据是数组 + if(Array.isArray(entries)) return + if(entries.viewpoint){ + viewer.scene.camera.flyTo({ + destination: entries.viewpoint.position, + orientation: { + heading: entries.viewpoint.heading, + pitch: entries.viewpoint.pitch, + roll: entries.viewpoint.roll, + }, + duration: 2, + }); + } + if(entries.graphicsList){ + entries.graphicsList.forEach(item=>{ + let graphicItem + if(item.type === 'billboard'){ + graphicItem = new sycim.Billboard(item.position, `/icons/${item.icon}`); + graphicItem.setStyle({ + canEdit: this.canEdit, + horizontalOrigin: sycim.HorizontalOrigin.CENTER, + verticalOrigin: sycim.VerticalOrigin.BOTTOM, + }) + }else if(item.type === 'polyline'){ + graphicItem = new sycim.Polyline(item.positions); + graphicItem.setStyle({ + canEdit: this.canEdit, + width: 16, + clampToGround: true, + lineType: '1', + speed_s: 2, + horizontalOrigin: sycim.HorizontalOrigin.CENTER, + verticalOrigin: sycim.VerticalOrigin.BOTTOM, - material: new sycim.PolylineImageTrailMaterialProperty({ - speed: 2, - image: `/icons/${item.icon}`, - repeat: { - x: 50, - y: 1 - } + material: new sycim.PolylineImageTrailMaterialProperty({ + speed: 2, + image: `/icons/${item.icon}`, + repeat: { + x: 50, + y: 1 + } + }) }) - }) - } - if(graphicItem){ - layer.addGraphic(graphicItem); - graphicsList.push({ - id: graphicItem.id, - graphicId: graphicItem.graphicId, - type: item.type, - position: graphicItem.position, - positions: graphicItem.positions, - icon: item.icon, - }); - viewerRemoveEventListener(); - viewerAddEventListener(); - // plot.edit(graphicItem, () => { - // graphicItem.setStyle({ noPushMid: true }); - // }); - } + } + if(graphicItem){ + layer.addGraphic(graphicItem); + graphicsList.push({ + id: graphicItem.id, + graphicId: graphicItem.graphicId, + type: item.type, + position: graphicItem.position, + positions: graphicItem.positions, + icon: item.icon, + }); + viewerRemoveEventListener(); + viewerAddEventListener(); + // plot.edit(graphicItem, () => { + // graphicItem.setStyle({ noPushMid: true }); + // }); + } - }) + }) + } }, // 画点线等 @@ -265,7 +279,6 @@ export default { speed_s: 2, horizontalOrigin: sycim.HorizontalOrigin.CENTER, verticalOrigin: sycim.VerticalOrigin.BOTTOM, - material: new sycim.PolylineImageTrailMaterialProperty({ speed: 2, image: `/icons/${iconName}`, @@ -277,7 +290,6 @@ export default { }) } if(graphicItem){ - console.log('最终的graphicItem >>>>> ', graphicItem) layer.addGraphic(graphicItem); graphicsList.push({ graphicId: graphicItem.id, @@ -286,7 +298,6 @@ export default { positions: graphicItem.positions, icon: iconName, }); - console.log('graphicsList >>>>> ', graphicsList) plot.edit(graphicItem, () => { graphicItem.setStyle({ noPushMid: true }); viewerRemoveEventListener(); @@ -301,8 +312,22 @@ export default { // 提交获取点线等数据 submit(){ console.log('map -submit >>>>> ', graphicsList) + const position = viewer.camera.positionWC.clone() // 当前视点中心点位 + const heading = viewer.camera.heading // 偏航角 + const pitch = viewer.camera.pitch // 俯仰角 + const roll = viewer.camera.roll // 翻滚角 plot?.stop() - return graphicsList || [] + let data = { + // 当前相机视点 + viewpoint: { + position: position, + heading: heading, + pitch: pitch, + roll: roll, + }, + graphicsList: graphicsList, + } + return data }, reset(){ plot?.stop() diff --git a/src/views/dike/runManage/enginerring/inspectionPlan/components/PlanDetail.vue b/src/views/dike/runManage/enginerring/inspectionPlan/components/PlanDetail.vue index a97d822..ad6fe71 100644 --- a/src/views/dike/runManage/enginerring/inspectionPlan/components/PlanDetail.vue +++ b/src/views/dike/runManage/enginerring/inspectionPlan/components/PlanDetail.vue @@ -170,7 +170,6 @@ :before-upload="beforeUpload" :before-remove="beforeRemove" accept=".docx,.doc,.pdf" - :limit="5" :file-list="filesList" > 点击上传 @@ -438,7 +437,11 @@ export default { // 上传前 beforeUpload(e) { if (this.formData.files?.length >= 5) { - this.$message.warning("最多上传5份"); + // this.$message.warning("最多上传5份"); + this.$message({ + message: "最多上传5份", + type: "warning", + }); return false; } return true; diff --git a/src/views/dike/runManage/enginerring/inspectionPlan/index.vue b/src/views/dike/runManage/enginerring/inspectionPlan/index.vue index 059dc7d..8c7135e 100644 --- a/src/views/dike/runManage/enginerring/inspectionPlan/index.vue +++ b/src/views/dike/runManage/enginerring/inspectionPlan/index.vue @@ -275,6 +275,15 @@ export default { this.pageData.pageNum = 1; this.getTableData(); }, + getDikeTypeName(type) { + let name = ""; + this.embankmentTypeOptions.forEach((element) => { + if (element.dictValue === type) { + name = element.dictLabel; + } + }); + return name; + }, }, created() { this.getDicts("embankment_type").then((response) => { @@ -405,7 +414,11 @@ export default { - + + + - + + + - + + + - + 取消
结束巡查完成巡查
diff --git a/src/views/dike/runManage/enginerring/inspectionRouteManage/components/RouteDetail.vue b/src/views/dike/runManage/enginerring/inspectionRouteManage/components/RouteDetail.vue index e8ce47b..0e80050 100644 --- a/src/views/dike/runManage/enginerring/inspectionRouteManage/components/RouteDetail.vue +++ b/src/views/dike/runManage/enginerring/inspectionRouteManage/components/RouteDetail.vue @@ -18,7 +18,7 @@ filterable reserve-keyword :remote-method="handleGetRemoteDikeMethod" - @focus="handleGetRemoteDikeMethod" + @focus="handleGetRemoteDikeMethod('')" @change="handleChangeDike" v-model="formData.dikeName" placeholder="请选择堤防" @@ -217,7 +217,7 @@ export default { { required: true, message: "请选择巡查项目", trigger: "change" }, ], }, - entries: [], + entries: {}, filterText: "", xcProjectList: [], projectTypeOptions: [], @@ -276,10 +276,8 @@ export default { getRunProjectList({ pageSize: 10, pageNum: 1, - cv: { - name: "dikeName", - type: "like", - value: query, + data: { + dikeName: query, }, }).then((res) => { if (res) {