From 6e0bd3b2b8ebad13c35116852dd6294196038ca4 Mon Sep 17 00:00:00 2001 From: helloxujingliang <3225043@qq.com> Date: Thu, 13 Jun 2024 18:02:33 +0800 Subject: [PATCH] merge --- src/components/MapboxMaps/InsertShp/index.vue | 129 ++++++++++++------ src/components/MapboxMaps/MapComponent.vue | 96 +++++++++++-- src/views/demo/onlineform/formCall/index.vue | 41 ++++-- .../onlineform/formdesign/form/DataObject.vue | 45 +++--- .../demo/onlineform/formdesign/form/index.vue | 1 + 5 files changed, 231 insertions(+), 81 deletions(-) diff --git a/src/components/MapboxMaps/InsertShp/index.vue b/src/components/MapboxMaps/InsertShp/index.vue index b1f97b6f..16155ba3 100644 --- a/src/components/MapboxMaps/InsertShp/index.vue +++ b/src/components/MapboxMaps/InsertShp/index.vue @@ -95,23 +95,8 @@ - - - - - - - + + @@ -226,23 +211,7 @@ - - - - - - - + @@ -258,12 +227,16 @@ + + + + + \ No newline at end of file diff --git a/src/views/demo/onlineform/formCall/index.vue b/src/views/demo/onlineform/formCall/index.vue index 2f27a3b2..03fb32ee 100644 --- a/src/views/demo/onlineform/formCall/index.vue +++ b/src/views/demo/onlineform/formCall/index.vue @@ -101,8 +101,7 @@ // import MapboxMap from '@/components/MapboxMaps/MapComponent.vue' import ShowFormModal from './ShowFormModal/index.vue'; import { v4 as uuidv4 } from 'uuid'; - import { cardNestStructure } from '@/views/demo/onlineform/util.ts'; - + import { changeCardStructure, cardNestStructure } from '@/views/demo/onlineform/util.ts'; const MapboxMap = defineAsyncComponent(() => import('@/components/MapboxMaps/MapComponent.vue')); const { createConfirm, createMessage } = useMessage(); @@ -563,22 +562,42 @@ } }; + const chooseLayer = ref("") + const geomfield = ref(""); + function findValue(obj, targetKey) { + for (var key in obj) { + if (typeof obj[key] === 'object') { + // 如果当前值是对象,则递归调用findValue + var result = findValue(obj[key], targetKey); + if (result !== undefined && result == 'MapGeom') { + return result; + } + } else if (key === targetKey && obj[key] == 'MapGeom') { + // 如果当前键等于目标键,则返回对应的值 + chooseLayer.value = obj['mapSetData'].chooseLayer; + geomfield.value = obj['field'] + return obj[key]; + } + } + } async function handlerShowGeomtrys(currentNode,rows){ - + findValue(currentNode.value.schemas,"component") + let info = currentNode.value.schemas?.find((item,index)=>{ - return item.component == "MapGeom" + return item.component.match(/mapgeom/i) }) - let layer:string=""; - // let layer:string="drone_shp_data"; - if(info){ - layer = info?.mapSetData?.chooseLayer - } + // console.log("info",info); + let layer:string=chooseLayer.value; + // // let layer:string="drone_shp_data"; + // if(info){ + // layer = info?.mapSetData?.chooseLayer + // } if(!layer){ createMessage.error("图斑未绑定图层服务!"); return; } - let geomfiledValue = info.field; + let geomfiledValue = geomfield.value; let gids = ""; try { // geomfiledValue = geomfiledValue.charAt(0).toLowerCase(); @@ -683,8 +702,6 @@ width: 50, layerFields: {}, }; - - // 设置geom保存表单 } codeId.value = res.entity.id; paramsId.value = res.formScheme.id; diff --git a/src/views/demo/onlineform/formdesign/form/DataObject.vue b/src/views/demo/onlineform/formdesign/form/DataObject.vue index dacf8658..a2803b89 100644 --- a/src/views/demo/onlineform/formdesign/form/DataObject.vue +++ b/src/views/demo/onlineform/formdesign/form/DataObject.vue @@ -10,30 +10,31 @@ @ok="dataBaseClick" > + - - -