From 5fbd906269e694b7b69671616ec6ecf1456025b4 Mon Sep 17 00:00:00 2001 From: "hong.yang" Date: Thu, 7 Sep 2023 16:43:47 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=9C=B0=E5=9B=BE=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E5=8A=9F=E8=83=BD=E9=A1=B5=E9=9D=A2=E5=BC=80?= =?UTF-8?q?=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 地图数据管理功能页面开发 --- .../Layout/BigScreenHomeLayout/index.vue | 6 + .../packages/MapDataManagement/index.js | 7 + .../MapDataManagement/src/AddForm.vue | 338 ++++++++++++++ .../MapDataManagement/src/EditForm.vue | 273 +++++++++++ .../packages/MapDataManagement/src/index.vue | 426 ++++++++++++++++++ .../packages/assets/style/bsTheme.scss | 1 + .../packages/js/utils/mapDataService.js | 71 +++ .../packages/js/utils/registerConfig.js | 7 + 8 files changed, 1129 insertions(+) create mode 100644 data-room-ui/packages/MapDataManagement/index.js create mode 100644 data-room-ui/packages/MapDataManagement/src/AddForm.vue create mode 100644 data-room-ui/packages/MapDataManagement/src/EditForm.vue create mode 100644 data-room-ui/packages/MapDataManagement/src/index.vue create mode 100644 data-room-ui/packages/js/utils/mapDataService.js diff --git a/data-room-ui/packages/Layout/BigScreenHomeLayout/index.vue b/data-room-ui/packages/Layout/BigScreenHomeLayout/index.vue index 41017ac9..e5f63ccc 100644 --- a/data-room-ui/packages/Layout/BigScreenHomeLayout/index.vue +++ b/data-room-ui/packages/Layout/BigScreenHomeLayout/index.vue @@ -113,6 +113,12 @@ export default { name: '数据集管理', path: window?.BS_CONFIG?.routers?.dataSetUrl || '/big-screen-dataSet', icon: 'icon-data' + }, + { + id: 5, + name: '地图数据管理', + path: '/big-screen-map-data', + icon: 'icon-data' } ] } diff --git a/data-room-ui/packages/MapDataManagement/index.js b/data-room-ui/packages/MapDataManagement/index.js new file mode 100644 index 00000000..a7d5862b --- /dev/null +++ b/data-room-ui/packages/MapDataManagement/index.js @@ -0,0 +1,7 @@ +import MapDataManagement from './src/index.vue' + +MapDataManagement.install = function (Vue) { + Vue.component(MapDataManagement.name, MapDataManagement) +} + +export default MapDataManagement diff --git a/data-room-ui/packages/MapDataManagement/src/AddForm.vue b/data-room-ui/packages/MapDataManagement/src/AddForm.vue new file mode 100644 index 00000000..5307c092 --- /dev/null +++ b/data-room-ui/packages/MapDataManagement/src/AddForm.vue @@ -0,0 +1,338 @@ + + + + + + diff --git a/data-room-ui/packages/MapDataManagement/src/EditForm.vue b/data-room-ui/packages/MapDataManagement/src/EditForm.vue new file mode 100644 index 00000000..4565f174 --- /dev/null +++ b/data-room-ui/packages/MapDataManagement/src/EditForm.vue @@ -0,0 +1,273 @@ + + + + + + diff --git a/data-room-ui/packages/MapDataManagement/src/index.vue b/data-room-ui/packages/MapDataManagement/src/index.vue new file mode 100644 index 00000000..7a3546d6 --- /dev/null +++ b/data-room-ui/packages/MapDataManagement/src/index.vue @@ -0,0 +1,426 @@ + + + + + diff --git a/data-room-ui/packages/assets/style/bsTheme.scss b/data-room-ui/packages/assets/style/bsTheme.scss index 2db7795e..52098ed7 100644 --- a/data-room-ui/packages/assets/style/bsTheme.scss +++ b/data-room-ui/packages/assets/style/bsTheme.scss @@ -610,6 +610,7 @@ .el-switch__core { background: var(--bs-el-background-1); background-color: var(--bs-el-background-1); + border-color: var(--bs-el-border); } } diff --git a/data-room-ui/packages/js/utils/mapDataService.js b/data-room-ui/packages/js/utils/mapDataService.js new file mode 100644 index 00000000..c4ea6a38 --- /dev/null +++ b/data-room-ui/packages/js/utils/mapDataService.js @@ -0,0 +1,71 @@ +/*! + * 地图数据管理 + */ +import Vue from 'vue' + +/** + * 获取地图列表 + * @param params + * @param flag + * @returns {*} + */ +const mapList = (params = {}, flag = false) => Vue.prototype.$dataRoomAxios.get('/bigScreen/map/list', params, flag) + +/** + * 新增地图 + * @param params + * @param flag + * @returns {*} + */ +const mapAdd = (params = {}, flag = false) => Vue.prototype.$dataRoomAxios.post('/bigScreen/map/add', params, flag) + +/** + * 更新地图 + * @param params + * @param flag + * @returns {*} + */ +const mapUpdate = (params = {}, flag = false) => Vue.prototype.$dataRoomAxios.post('/bigScreen/map/update', params, flag) + +/** + * 删除地图 + * @param id + */ +const mapDelete = (id = '-1') => Vue.prototype.$dataRoomAxios.post(`/bigScreen/map/delete/${id}`) + +/** + * 级联删除地图 + * @param id + */ +const mapCascadeDelete = (id = '-1') => Vue.prototype.$dataRoomAxios.post(`/bigScreen/map/cascadeDelete/${id}`) + +/** + * 根据父编码解析父级json中的子级 + * @param code + */ +const getMapChildFromGeoJson = (code = '-1') => Vue.prototype.$dataRoomAxios.get(`/bigScreen/map/getMapChildFromGeoJson/${code}`) + +/** + * 上传地图json + * @param params + * @param flag + */ +const uploadGeoJson = (params = {}, flag = false) => Vue.prototype.$dataRoomAxios.post('/bigScreen/map/upload', params, flag) + +/** + * 编码重复校验 + * @param params + * @param flag + */ +const repeatCheck = (params = {}, flag = false) => Vue.prototype.$dataRoomAxios.post('/bigScreen/map/repeat', params, flag) + +export { + mapList, + mapAdd, + mapUpdate, + mapDelete, + mapCascadeDelete, + getMapChildFromGeoJson, + uploadGeoJson, + repeatCheck +} diff --git a/data-room-ui/packages/js/utils/registerConfig.js b/data-room-ui/packages/js/utils/registerConfig.js index 260540d3..02c4eb21 100644 --- a/data-room-ui/packages/js/utils/registerConfig.js +++ b/data-room-ui/packages/js/utils/registerConfig.js @@ -72,6 +72,13 @@ function registerRouters (config, router) { title: '数据集管理' } }, + { + path: '/big-screen-map-data', + component: () => import('data-room-ui/MapDataManagement'), + meta: { + title: '地图数据管理' + } + }, { path: config?.routers?.SourceUrl || '/big-screen-source', component: () => import('data-room-ui/SourceManagement'),