diff --git a/src/api/demo/formScheme.ts b/src/api/demo/formScheme.ts index aeb8dea0..47b48979 100644 --- a/src/api/demo/formScheme.ts +++ b/src/api/demo/formScheme.ts @@ -190,37 +190,6 @@ export function functionGetSchemePageList(params: schemePageListModel) { }); } -// 获取表单分页数据 【先不写】 -export function functionGetFormDataPage(params: AccountParams) { - return defHttp.post({ - url: Api.GetFormDataPage, - params, - }); -} -// 获取表单分页数据【先不写】 -export function functionGetFormDataList(params: AccountParams) { - return defHttp.post({ - url: Api.GetFormDataList, - params, - }); -} - -// 获取表单数据【先不写】 -export function functionGetFormDataFormScheme(params: AccountParams) { - return defHttp.get({ - url: Api.GetFormDataFormScheme, - params, - }); -} - -// 保存自定表单数据【先不写】 -export function functionsaveForm(params: AccountParams) { - return defHttp.post({ - url: Api.saveForm, - params, - }); -} - // CodeTable 数据对象模型管理 // 获取CodeTable的分页数据 export function function_Get_LoadCodeTablePage( @@ -280,10 +249,10 @@ export function LoadFormScheme(params) { export function AddTable(params) { params.dbColumnInfoList.push({ tableName: params.tableName, - dbColumnName: 'gemo', + dbColumnName: 'geom', dataType: 'geometry', length: 0, - columnDescription: 'gemo', + columnDescription: 'geom', isNullable: 0, isIdentity: 0, isPrimarykey: 0, @@ -296,6 +265,7 @@ export function AddTable(params) { } // 创建字段 + export function AddColumn(params) { return defHttp.post({ url: Api.AddColumn, diff --git a/src/components/MapboxMaps/InsertShp/index.vue b/src/components/MapboxMaps/InsertShp/index.vue index 459ae03c..f8bb2661 100644 --- a/src/components/MapboxMaps/InsertShp/index.vue +++ b/src/components/MapboxMaps/InsertShp/index.vue @@ -1,5 +1,11 @@ - - + + \ No newline at end of file diff --git a/src/components/MapboxMaps/Modal/ServeResource/index.vue b/src/components/MapboxMaps/Modal/ServeResource/index.vue index 6347d727..a5573758 100644 --- a/src/components/MapboxMaps/Modal/ServeResource/index.vue +++ b/src/components/MapboxMaps/Modal/ServeResource/index.vue @@ -20,7 +20,7 @@
-
+
-
名称: {{ "费县行政边界" }}
-
描述: {{ "山东省临沂市费县行政边界" }}
+
名称: {{ item.name }}
+
描述: {{ item.description }}
- + + +>>>>>>> 2aed0750b8d9679d2f0bc47b0c629ecf78313c2c @@ -97,12 +102,28 @@ const key = ref('') const current = ref() const pageSize = ref() const jsonData = ref('') +const dataList = ref([ + { + id:1, + name:'test', + description:'test111asdf asdf asdf asdf s', + table:'test', + }, + { + id:2, + name:'TEST', + description:'啊士大夫啊手动阀撒地方', + table:'a_test', + } +]) const mapOptions = { center: [116.404, 39.905], zoom: 8, }; const mapDrawControl: DrawingType[] = [DrawingType.Polygon, DrawingType.Line]; +const useMap = ref() const mapOnLoad = (map) => { + useMap.value = map // map 对象 console.log('map::: ', map); // mapU封装对象 @@ -122,7 +143,33 @@ const handlerMapDraw = (type: string, data: any) => { console.log('type::: ', type); }; -const showInfo = () => { +const showInfo = (item) => { + // useMap.value.removeLayer('street-border') + // useMap.value.removeSource('wmsSource') + if (useMap.value.getLayer('street-border')) useMap.value.removeLayer('street-border') + if(useMap.value.getSource('wmsSource')) useMap.value.removeSource('wmsSource') + useMap.value.addSource("wmsSource",{ + type: "raster", + tiles: [ + "http://123.132.248.154:9235" + + "/geoserver/ksp/wms?service=WMS&version=1.1.0&request=GetMap&layers=ksp:" + + item.table + + "&styles=&bbox={bbox-epsg-3857}&width=256&height=256&srs=EPSG:3857&format=image/png&TRANSPARENT=TRUE", + ], + }) + useMap.value.addLayer({ + id: "street-border", + type: "raster", + source: "wmsSource", + layout: { + visibility: "visible", + }, + }); + console.log(item,useMap.value,'11111') + useMap.value.flyTo({ + center:[117.9838535, 35.4819155], + zoom: 12, + }) console.log(111111) let data = { sources:{ @@ -207,6 +254,7 @@ const handlerAddToLayerList = (item) => { max-height: 565px; overflow: auto; margin-bottom: 8px; + height: 565px; .show-item{ background-color: #fff; height: 119px; diff --git a/src/components/MapboxMaps/RightShowInfo/index.vue b/src/components/MapboxMaps/RightShowInfo/index.vue index 57343ab0..d3b9b15a 100644 --- a/src/components/MapboxMaps/RightShowInfo/index.vue +++ b/src/components/MapboxMaps/RightShowInfo/index.vue @@ -1,5 +1,9 @@ diff --git a/src/components/MapboxMaps/util.ts b/src/components/MapboxMaps/util.ts index e1cc3298..1e988d0c 100644 --- a/src/components/MapboxMaps/util.ts +++ b/src/components/MapboxMaps/util.ts @@ -1 +1,5 @@ -export const errorImage = "data:image/png;base64,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" \ No newline at end of file +export const errorImage = "data:image/png;base64,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" +export enum FILETYPE { + ZIP = 'application/x-zip-compressed', + XLSX = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', +} \ No newline at end of file diff --git a/src/views/demo/form-design/components/VFormDesign/components/FormItemProps.vue b/src/views/demo/form-design/components/VFormDesign/components/FormItemProps.vue index 6f0f1cd4..f4e9506a 100644 --- a/src/views/demo/form-design/components/VFormDesign/components/FormItemProps.vue +++ b/src/views/demo/form-design/components/VFormDesign/components/FormItemProps.vue @@ -5,6 +5,35 @@
+
+ + + + + + + + + + + + + + + +
@@ -14,10 +43,7 @@ v-bind="item.componentProps" :is="item.component" v-model:value="formConfig.currentItem[item.name]" - :disabled=" - formConfig.currentItem.field == 'MapGemo' && - (item.name == 'field' || item.name == 'component' || item.name == 'label') - " + :key="formConfig.currentItem.component + '===' + formConfig.currentItem.label" />
@@ -78,7 +104,7 @@ } from '../../VFormDesign/config/formItemPropsConfig'; import { Empty, Input, Form, FormItem, Switch, Checkbox, Col, SelectProps } from 'ant-design-vue'; - + import { PercentageOutlined } from '@ant-design/icons-vue'; import RuleProps from './RuleProps.vue'; import { useFormDesignState } from '../../../hooks/useFormDesignState'; import { isArray } from 'lodash-es'; @@ -94,6 +120,7 @@ formConfig.value.currentItem.itemProps.labelCol || {}; formConfig.value.currentItem.itemProps.wrapperCol = formConfig.value.currentItem.itemProps.wrapperCol || {}; + formConfig.value.mapSetData = formConfig.value.mapSetData || {}; } }, { deep: true, immediate: true }, diff --git a/src/views/demo/form-design/components/VFormDesign/config/formItemPropsConfig.ts b/src/views/demo/form-design/components/VFormDesign/config/formItemPropsConfig.ts index 363ad037..76b6c237 100644 --- a/src/views/demo/form-design/components/VFormDesign/config/formItemPropsConfig.ts +++ b/src/views/demo/form-design/components/VFormDesign/config/formItemPropsConfig.ts @@ -185,9 +185,11 @@ export const baseFormItemProps: IBaseFormAttrs[] = [ label: '控件-FormItem', component: Select, componentProps: { - options: baseComponents - .concat(customComponents) - .map((item) => ({ value: item.component, label: item.label })), + options: baseComponents.concat(customComponents[0]).map((item) => ({ + value: item.component, + label: item.label, + key: item.component + '===' + item.label, + })), }, }, { diff --git a/src/views/demo/form-design/components/VFormItem/index.vue b/src/views/demo/form-design/components/VFormItem/index.vue index e8844fec..0f591606 100644 --- a/src/views/demo/form-design/components/VFormItem/index.vue +++ b/src/views/demo/form-design/components/VFormItem/index.vue @@ -28,7 +28,7 @@
; } +/** + * 图层字段 + */ +export interface LayerFields { + // GID字段 + gidField?: string; + // 标注字段 + labelField?: string; + // geom字段 + geomField?: string; + // 标注字段options + labelFieldOptions?: any[]; +} +/** + * 地图属性 + */ +export interface MapComponent { + // 地图宽度 + width?: string; + // 选择图层 + chooseLayer: string; + // 图层字段解析 + layerFields?: LayerFields; + // 是否允许添加图斑 + isAllowAddPolygon?: boolean; + // 是否允许编辑图斑 + isAllowEditPolygon?: boolean; + // 是否开启位置跳转 + isEnablePostionJump?: boolean; +} + declare type namesType = string | string[]; /** @@ -98,6 +129,7 @@ export interface IFormConfig extends PickAntFormConfig { activeKey?: PropsTabKey; status?: string; defaultValue?: string; + mapSetData?: MapComponent; } export interface AForm { diff --git a/src/views/demo/onlineform/formCall/CreateFlow.vue b/src/views/demo/onlineform/formCall/CreateFlow.vue index a75fdb38..62ea7bd5 100644 --- a/src/views/demo/onlineform/formCall/CreateFlow.vue +++ b/src/views/demo/onlineform/formCall/CreateFlow.vue @@ -100,6 +100,7 @@ return {}; }, }, + isUpdate: Boolean, }); const emit = defineEmits(['closeModel']); const keyValue = ref(''); @@ -177,7 +178,7 @@ var processId = buildGUID(); var querys = { schemeId: designerData.formCurrentNode.formVerison, - isUpdate: false, + isUpdate: props.isUpdate, pkey: keyValue.value, pkeyValue: processId, }; diff --git a/src/views/demo/onlineform/formCall/index.vue b/src/views/demo/onlineform/formCall/index.vue index 9b34ccb8..97493f56 100644 --- a/src/views/demo/onlineform/formCall/index.vue +++ b/src/views/demo/onlineform/formCall/index.vue @@ -33,14 +33,20 @@ :destroyOnClose="true" > - +