From d76a4d042396a6208b0f31fd402a7637e4d6b418 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BB=95=E5=B5=A9?= <17854119262@163.com> Date: Wed, 26 Mar 2025 16:41:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=99=BA=E5=A4=84-=E9=98=B2=E7=81=AD=E7=81=AB?= =?UTF-8?q?=E8=B5=84=E6=BA=90=E8=A1=A8=E6=A0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 1 + .../images/chart/tables/table_filter.png | Bin 0 -> 191980 bytes .../Tables/Tables/TableFilter/config.ts | 67 + .../Tables/Tables/TableFilter/config.vue | 826 +++++++++++++ .../Tables/Tables/TableFilter/data.json | 186 +++ .../Tables/Tables/TableFilter/index.ts | 14 + .../Tables/Tables/TableFilter/index.vue | 823 +++++++++++++ .../Tables/TableFilter}/svg/button1.vue | 1 - .../Tables/Tables/TableFilter/svg/button2.vue | 69 ++ .../Zhichu/Zhichu/ZhiChu_ModalTable/config.ts | 74 +- .../Zhichu/ZhiChu_ModalTable/config.vue | 791 ++++++------ .../Zhichu/Zhichu/ZhiChu_ModalTable/data.json | 202 +-- .../Zhichu/Zhichu/ZhiChu_ModalTable/index.vue | 1097 ++++++----------- .../ZhiChu_ModalTable/source/barrack.vue | 158 +++ .../ZhiChu_ModalTable/source/button1.vue | 96 ++ .../{svg => source}/button2.vue | 4 +- .../Zhichu/ZhiChu_ModalTable/source/goods.vue | 156 +++ .../Zhichu/ZhiChu_ModalTable/source/water.vue | 282 +++++ .../ZhiChu_ModalTable/ts/handleGeojson.ts | 226 ++++ .../Zhichu/ZhiChu_ModalTable/ts/routePath.ts | 742 +++++++++++ .../Zhichu/ZhiChu_ModalTable/ts/urlFormat.ts | 28 + .../ZhiLan_ZhongZhiShuLiangMianJi/config.ts | 2 +- .../ZhiLan_ZhongZhiShuLiangMianJi/index.vue | 2 +- 23 files changed, 4623 insertions(+), 1224 deletions(-) create mode 100644 src/assets/images/chart/tables/table_filter.png create mode 100644 src/packages/components/Tables/Tables/TableFilter/config.ts create mode 100644 src/packages/components/Tables/Tables/TableFilter/config.vue create mode 100644 src/packages/components/Tables/Tables/TableFilter/data.json create mode 100644 src/packages/components/Tables/Tables/TableFilter/index.ts create mode 100644 src/packages/components/Tables/Tables/TableFilter/index.vue rename src/packages/components/{Zhichu/Zhichu/ZhiChu_ModalTable => Tables/Tables/TableFilter}/svg/button1.vue (99%) create mode 100644 src/packages/components/Tables/Tables/TableFilter/svg/button2.vue create mode 100644 src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/source/barrack.vue create mode 100644 src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/source/button1.vue rename src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/{svg => source}/button2.vue (97%) create mode 100644 src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/source/goods.vue create mode 100644 src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/source/water.vue create mode 100644 src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/ts/handleGeojson.ts create mode 100644 src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/ts/routePath.ts create mode 100644 src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/ts/urlFormat.ts diff --git a/package.json b/package.json index 529d078..4d9cbbd 100644 --- a/package.json +++ b/package.json @@ -98,6 +98,7 @@ "axios": "^1.6.4", "codemirror": "^5.65.16", "color": "^4.2.3", + "coordtransform": "^2.1.2", "cropperjs": "^1.6.1", "crypto-js": "^4.2.0", "dayjs": "^1.11.10", diff --git a/src/assets/images/chart/tables/table_filter.png b/src/assets/images/chart/tables/table_filter.png new file mode 100644 index 0000000000000000000000000000000000000000..58e002be5c204e9593fdd3cece2897df8caac13c GIT binary patch literal 191980 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�_>!51lWrmLjZ zJTn8OP%VW@QG2Bj=_c!3Ina~&lAVY=+H4=%MXe4#PPmUS-6@-;5~u;DhJZ9IGX%UJ z{=;oGr2bh@(dWa+X0l|zBcK3bsV)VVfs%4f{cCd3Q~j&jKjZkQfy{3Ysdn9}5nC5~ zS3cP$Guudi&!&$$2M&`uOnb>NKjf&B-XO#9>Fl;FE1eynS^<#8OQFJs#V$${n|@

4a=?IZW4HZE=Q^~ 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ͭW`N<~JbCh}U5I4*N-0eRIC!BMFque1 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 + + + 筛选项字段与类型 +

+ + + + + + + + + + + + + + + + + + + +
+ + +
+ + + + +
+ + +
+ + + + 名称 + 值 + 操作 + + + + + + + + + + + +
+ + + + + + - + +
+ + + +
+
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 表格数据(请先确定数据部分,再确定表格数据) + +
+ + + + + 表头名称 + 表格字段 + 操作 + + + + + + {{ index + 1 }} + + + + + + + + +
+ + + + + + - + +
+ + + +
+
+ + + + + + + + + + + + + + 表格数据(前缀和后缀) +
+ + + + 表头名称 + 前缀 + 后缀 + + + + + + {{ item.title }} + + + + + + + + + + +
+ +
+ 表格数据(数据格式转换) +
+ + + + 表头名称 + 数据格式转换 + + + + + + {{ item.title }} + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/packages/components/Tables/Tables/TableFilter/data.json b/src/packages/components/Tables/Tables/TableFilter/data.json new file mode 100644 index 0000000..1d6f880 --- /dev/null +++ b/src/packages/components/Tables/Tables/TableFilter/data.json @@ -0,0 +1,186 @@ +{ + "header": [ + { + "title": "名称", + "key": "name", + "align": "center", + "width": "250", + "prefix": null, + "suffix": null, + "convert": null + }, + { + "title": "面积", + "key": "area", + "align": "center", + "width": "200", + "prefix": null, + "suffix": "m²", + "convert": null + }, + { + "title": "时间", + "key": "time", + "align": "center", + "width": "200", + "prefix": null, + "suffix": "小时", + "convert": "0" + }, + { + "title": "路程", + "key": "distance", + "align": "center", + "width": "200", + "prefix": "路程", + "suffix": "km", + "convert": null + }, + { + "title": "预计时间", + "key": "estimatedTime", + "align": "center", + "width": "300", + "prefix": "预计", + "suffix": null, + "convert": "1" + } + ], + "filterset": [ + { + "title": "地图显示", + "field": "type", + "compareType": "contain", + "showType": "checkbox", + "value": [ "水源", "物资", "营房", "防火通道", "三轮通道", "步行道" ], + "options": [ + { "label": "水源", "value": "水源" }, + { "label": "物资", "value": "物资" }, + { "label": "营房", "value": "营房" }, + { "label": "防火通道", "value": "防火通道" }, + { "label": "三轮通道", "value": "三轮通道" }, + { "label": "步行道", "value": "步行道" } + ] + }, + { + "title": "资源列表", + "field": "type", + "compareType": "equal", + "showType": "buttonGroup", + "value": null, + "options": [ + { "label": "水源", "value": "水源" }, + { "label": "物资", "value": "物资" }, + { "label": "营房", "value": "营房" } + ] + }, + { + "title": "重点资源", + "field": null, + "compareType": null, + "showType": null, + "value": null, + "options": [ + { "label": null, "value": null } + ] + }, + { + "title": "距离", + "field": "distance", + "compareType": "lessAndEqual", + "showType": "radio", + "value": null, + "options": [ + { "label": "1km以内", "value": "1" }, + { "label": "5km以内", "value": "5" }, + { "label": "10km以内", "value": "10" }, + { "label": "20km以内", "value": "20" }, + { "label": "全部", "value": null } + ] + } + ], + "source": [ + { + "name": "坑塘", + "type": "水源", + "area": null, + "time": null, + "distance": "21.14", + "estimatedTime": "00:05:45", + "date": "2025-03-01 00:05:45" + }, + { + "name": "东蒙布袋口检查", + "type": "物资", + "area": "300", + "time": "12.50", + "distance": "14.14", + "estimatedTime": "00:05:45", + "date": "2025-03-11 00:05:45" + }, + { + "name": "北刘家庄蓄水池", + "type": "营房", + "area": "300", + "time": "12.50", + "distance": "0.14", + "estimatedTime": "00:05:45", + "date": "2025/03/01 00:05:45" + + }, + { + "name": "防火通道", + "type": "防火通道", + "area": null, + "time": null, + "distance": "2.14", + "estimatedTime": "00:05:45", + "date": "2025-12-01 00:05:45" + }, + { + "name": "步行道", + "type": "步行道", + "area": "300", + "time": "5.50", + "distance": "1.14", + "estimatedTime": "00:05:45", + "date": "2025-08-01 00:05:45" + }, + { + "name": "三轮通道", + "type": "三轮通道", + "area": "300", + "time": "9.50", + "distance": "5.14", + "estimatedTime": "00:05:45", + "date": "2025-10-21 00:05:45" + }, + { + "name": "坑塘", + "type": "水源", + "area": null, + "time": null, + "distance": "10.14", + "estimatedTime": "00:05:45", + "date": "2025-06-01 00:05:45" + }, + { + "name": "东蒙布袋口检查", + "type": "物资", + "area": "300", + "time": "12.50", + "distance": "10.14", + "estimatedTime": "00:05:45", + "date": "2025-06-12 00:05:45" + }, + { + "name": "北刘家庄蓄水池", + "type": "营房", + "area": "300", + "time": "12.50", + "distance": "19.14", + "estimatedTime": "00:05:45", + "date": "2025-05-01 00:05:45" + } + ] +} diff --git a/src/packages/components/Tables/Tables/TableFilter/index.ts b/src/packages/components/Tables/Tables/TableFilter/index.ts new file mode 100644 index 0000000..bf918a1 --- /dev/null +++ b/src/packages/components/Tables/Tables/TableFilter/index.ts @@ -0,0 +1,14 @@ +import { ConfigType, PackagesCategoryEnum, ChartFrameEnum } from '@/packages/index.d' +import { ChatCategoryEnum, ChatCategoryEnumName } from '../../index.d' + +export const TableFilterConfig: ConfigType = { + key: 'TableFilter', + chartKey: 'VTableFilter', + conKey: 'VCTableFilter', + title: '自定义筛选表格', + category: ChatCategoryEnum.TABLE, + categoryName: ChatCategoryEnumName.TABLE, + package: PackagesCategoryEnum.TABLES, + chartFrame: ChartFrameEnum.COMMON, + image: 'table_filter.png' +} diff --git a/src/packages/components/Tables/Tables/TableFilter/index.vue b/src/packages/components/Tables/Tables/TableFilter/index.vue new file mode 100644 index 0000000..3c4b78e --- /dev/null +++ b/src/packages/components/Tables/Tables/TableFilter/index.vue @@ -0,0 +1,823 @@ + + + + + diff --git a/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/svg/button1.vue b/src/packages/components/Tables/Tables/TableFilter/svg/button1.vue similarity index 99% rename from src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/svg/button1.vue rename to src/packages/components/Tables/Tables/TableFilter/svg/button1.vue index 1b54b1a..3578a91 100644 --- a/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/svg/button1.vue +++ b/src/packages/components/Tables/Tables/TableFilter/svg/button1.vue @@ -8,7 +8,6 @@ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" > - 编组 16 +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + diff --git a/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/config.ts b/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/config.ts index 764b155..b0007ab 100644 --- a/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/config.ts +++ b/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/config.ts @@ -5,57 +5,99 @@ import { chartInitConfig } from '@/settings/designSetting' import { ZhiChu_ModalTableConfig } from './index' import dataJson from './data.json' -const {header, source, filterset} = dataJson; +const {header, source} = dataJson; export const option = { header: header, dataset: source, - filterset: filterset, dataStyle: { colLeft: 4, + mapListValue: ['water', 'goods', 'barrack'], + buttonValue: '0', + distanceradio: '1', + // 筛选项 filterMarginTop: 20, filterMarginLeft: 50, filterItemHeight: 45, - filterTitleAlign: 'left', filterTitleFontSize: 24, filterTitleFontColor: '#ADFFC0', - filterContentAlign: 'left', filterChooseFontSize: 18, filterChooseFontColor: '#FFFFFF', + // 水源-表格 tableMarginTop: 20, tableMarginLeft: 20, tableBordered: false, tableSigleColumn: true, tableSingleLine: true, - tableStriped: false, tableSize: 'small', tableAlign: 'center', // 表头 tableHeaderShow: false, // 序号 - orderBumberShow: false, + tableOrderBumberShow: false, // 操作 - buttonDivShow: true, - buttonDivShow1: true, - buttonDivShow2: true, - buttonWidth: 22, - buttonHeight: 22, + tableButtonDivShow: true, + tableButtonWidth: 22, + tableButtonHeight: 22, // 宽度 - orderDivWidth: 50, - buttonDivWidth: 100, + tableOrderDivWidth: 50, + tableButtonDivWidth: 100, // 字体 tableHeaderBackgroud: '#FFFFFF', tableHeaderFontSize: 20, tableHeaderFontColor: '#000000', - - tableDataBackgroudShow: false, - tableDataBackgroud: '#FFFFFF', tableDataFontSize: 20, tableDataFontColor: '#FFFFFF', + + // 物资-队列 + goodsMarginTop: 20, + goodsMarginLeft: 20, + goodsDivMarginTop: 20, + goodsDivMarginLeft: 20, + // 标题 + goodsTitleFontSize1: 18, + goodsTitleFontColor1: '#FFFFFF', + goodsTitleFontSize2: 14, + goodsTitleFontColor2: '#FFFFFF', + goodsTitleFontSize3: 16, + goodsTitleFontColor3: '#FFFFFF', + // 按钮 + goodsButtonBackgroud: '#409EFF', + goodsButtonFontSize: 16, + goodsButtonFontColor: '#FFFFFF', + // 线 + goodsLineStartColor: '#4DFFB5', + goodsLineEndColor: '#0B4D2C', + // text + goodsTextFontSize: 16, + goodsTextFontColor: '#FFFFFF', + + // 营房-队列 + barrackMarginTop: 20, + barrackMarginLeft: 20, + barrackDivMarginTop: 20, + barrackDivMarginLeft: 20, + // 标题 + barrackTitleFontSize1: 18, + barrackTitleFontColor1: '#FFFFFF', + barrackTitleFontSize2: 14, + barrackTitleFontColor2: '#FFFFFF', + barrackTitleFontSize3: 16, + barrackTitleFontColor3: '#FFFFFF', + // 按钮 + barrackButtonBackgroud: '#409EFF', + barrackButtonFontSize: 16, + barrackButtonFontColor: '#FFFFFF', + // 线 + barrackLineStartColor: '#4DFFB5', + barrackLineEndColor: '#0B4D2C', + // text + barrackTextFontSize: 16, + barrackTextFontColor: '#FFFFFF', }, } diff --git a/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/config.vue b/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/config.vue index ec15759..0b89e58 100644 --- a/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/config.vue +++ b/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/config.vue @@ -1,261 +1,5 @@ diff --git a/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/data.json b/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/data.json index 1d6f880..b9fefaa 100644 --- a/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/data.json +++ b/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/data.json @@ -46,141 +46,141 @@ "convert": "1" } ], - "filterset": [ - { - "title": "地图显示", - "field": "type", - "compareType": "contain", - "showType": "checkbox", - "value": [ "水源", "物资", "营房", "防火通道", "三轮通道", "步行道" ], - "options": [ - { "label": "水源", "value": "水源" }, - { "label": "物资", "value": "物资" }, - { "label": "营房", "value": "营房" }, - { "label": "防火通道", "value": "防火通道" }, - { "label": "三轮通道", "value": "三轮通道" }, - { "label": "步行道", "value": "步行道" } - ] - }, - { - "title": "资源列表", - "field": "type", - "compareType": "equal", - "showType": "buttonGroup", - "value": null, - "options": [ - { "label": "水源", "value": "水源" }, - { "label": "物资", "value": "物资" }, - { "label": "营房", "value": "营房" } - ] - }, - { - "title": "重点资源", - "field": null, - "compareType": null, - "showType": null, - "value": null, - "options": [ - { "label": null, "value": null } - ] - }, - { - "title": "距离", - "field": "distance", - "compareType": "lessAndEqual", - "showType": "radio", - "value": null, - "options": [ - { "label": "1km以内", "value": "1" }, - { "label": "5km以内", "value": "5" }, - { "label": "10km以内", "value": "10" }, - { "label": "20km以内", "value": "20" }, - { "label": "全部", "value": null } - ] - } - ], "source": [ { + "id": "1", "name": "坑塘", - "type": "水源", + "type": "0", "area": null, "time": null, - "distance": "21.14", - "estimatedTime": "00:05:45", - "date": "2025-03-01 00:05:45" - }, - { - "name": "东蒙布袋口检查", - "type": "物资", - "area": "300", - "time": "12.50", - "distance": "14.14", - "estimatedTime": "00:05:45", - "date": "2025-03-11 00:05:45" - }, - { - "name": "北刘家庄蓄水池", - "type": "营房", - "area": "300", - "time": "12.50", "distance": "0.14", "estimatedTime": "00:05:45", - "date": "2025/03/01 00:05:45" - + "date": "2025-03-01 00:05:45", + "goodsDetail": null, + "situation": null, + "teamLocation": null, + "lng": "118.16247495", + "lat": "35.36599084" }, { - "name": "防火通道", - "type": "防火通道", - "area": null, - "time": null, - "distance": "2.14", - "estimatedTime": "00:05:45", - "date": "2025-12-01 00:05:45" - }, - { - "name": "步行道", - "type": "步行道", + "id": "2", + "name": "东蒙布袋口检查", + "type": "0", "area": "300", - "time": "5.50", + "time": "12.50", "distance": "1.14", "estimatedTime": "00:05:45", - "date": "2025-08-01 00:05:45" + "date": "2025-03-11 00:05:45", + "goodsDetail": null, + "situation": null, + "teamLocation": null, + "lng": "118.153507", + "lat": "35.369431" }, { - "name": "三轮通道", - "type": "三轮通道", + "id": "3", + "name": "北刘家庄蓄水池", + "type": "0", "area": "300", - "time": "9.50", + "time": "12.50", "distance": "5.14", "estimatedTime": "00:05:45", - "date": "2025-10-21 00:05:45" + "date": "2025/03/01 00:05:45", + "goodsDetail": null, + "situation": null, + "teamLocation": null, + "lng": "118.16339875", + "lat": "35.35693363" }, { - "name": "坑塘", - "type": "水源", + "id": "4", + "name": "塔山林场物资储备库", + "type": "1", "area": null, "time": null, - "distance": "10.14", + "distance": "3.14", "estimatedTime": "00:05:45", - "date": "2025-06-01 00:05:45" + "date": "2025/03/01 00:05:45", + "goodsDetail": "1、打草机 10个 2、干粉灭火弹 69箱 3、水剂灭火弹 45箱 4、高压细水雾 4台 5、斯蒂尔灭火机 13台 6、华盛泰山灭火机 2台 7、华盛泰山制草机 1台 8、打孔机 2台 9、肩抗灭火器 4个 10、森林灭火弹 6箱 11、扫把,20把 12、铁耙子 30把, 13、斯蒂尔制草机, 6个 14、高枝油锯 6个 15、水泵 2台 16、水枪 17个", + "situation": null, + "teamLocation": null, + "lng": "118.11856589", + "lat": "35.37110306" }, { + "id": "5", + "name": "东蒙中队驻防地", + "type": "2", + "area": null, + "time": null, + "distance": "0.60", + "estimatedTime": "00:05:45", + "date": "2025/03/01 00:05:45", + "goodsDetail": null, + "situation": "2辆皮卡、2辆运兵车、5台水泵、管带:2760米(92节)、22台风力灭火机、二号工具20个", + "teamLocation": "东蒙中队驻地", + "lng": "118.03173443854365", + "lat": "35.43087222278798" + }, + { + "id": "6", "name": "东蒙布袋口检查", - "type": "物资", + "type": "0", "area": "300", "time": "12.50", - "distance": "10.14", + "distance": "1.14", "estimatedTime": "00:05:45", - "date": "2025-06-12 00:05:45" + "date": "2025-03-11 00:05:45", + "goodsDetail": null, + "situation": null, + "teamLocation": null, + "lng": "118.19313469", + "lat": "35.35926978" }, { + "id": "7", "name": "北刘家庄蓄水池", - "type": "营房", + "type": "0", "area": "300", "time": "12.50", - "distance": "19.14", + "distance": "5.14", "estimatedTime": "00:05:45", - "date": "2025-05-01 00:05:45" + "date": "2025/03/01 00:05:45", + "goodsDetail": null, + "situation": null, + "teamLocation": null, + "lng": "118.16693284", + "lat": "35.39109119" + }, + { + "id": "8", + "name": "塔山林场物资储备库", + "type": "1", + "area": null, + "time": null, + "distance": "3.14", + "estimatedTime": "00:05:45", + "date": "2025/03/01 00:05:45", + "goodsDetail": "1、打草机 10个 2、干粉灭火弹 69箱 3、水剂灭火弹 45箱 4、高压细水雾 4台 5、斯蒂尔灭火机 13台 6、华盛泰山灭火机 2台 7、华盛泰山制草机 1台 8、打孔机 2台 9、肩抗灭火器 4个 10、森林灭火弹 6箱 11、扫把,20把 12、铁耙子 30把, 13、斯蒂尔制草机, 6个 14、高枝油锯 6个 15、水泵 2台 16、水枪 17个", + "situation": null, + "teamLocation": null, + "lng": "118.16142131", + "lat": "35.36308522" + }, + { + "id": "9", + "name": "薛庄镇9号蓄水池", + "type": "0", + "area": null, + "time": null, + "distance": "0.60", + "estimatedTime": "00:05:45", + "date": "2025/03/01 00:05:45", + "goodsDetail": null, + "situation": "2辆皮卡、2辆运兵车、5台水泵、管带:2760米(92节)、22台风力灭火机、二号工具20个", + "teamLocation": "东蒙中队驻地", + "lng": "118.16303303", + "lat": "35.36772074" } ] } diff --git a/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/index.vue b/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/index.vue index e96291a..905e538 100644 --- a/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/index.vue +++ b/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/index.vue @@ -1,330 +1,156 @@ @@ -335,10 +161,22 @@ import { icon } from '@/plugins'; import { useChartEditStore } from '@/store/modules/chartEditStore/chartEditStore'; import { useChartDataFetch } from '@/hooks'; + import { + getRouterFunc, + handlerStartRoaming, + handlerStopRoaming, + drawRouterFunc, + clearRouterFunc, + } from './ts/routePath'; import dayjs from 'dayjs'; import { cloneDeep } from 'lodash-es'; - import Button1 from './svg/button1.vue'; - import Button2 from './svg/button2.vue'; + import * as mars3d from 'mars3d'; + import Water from './source/water.vue'; + import Goods from './source/goods.vue'; + import Barrack from './source/barrack.vue'; + + import dataJson from './data.json'; + const { source } = dataJson; const props = defineProps({ chartConfig: { @@ -352,334 +190,253 @@ const option = reactive({ header: props.chartConfig.option.header, dataset: props.chartConfig.option.dataset, - filterset: props.chartConfig.option.filterset, dataStyle: props.chartConfig.option.dataStyle, + status: props.chartConfig.status, }); + // 搜索 + const searchValue = ref(); // 表头高度 - const headHeight: any = computed(() => { - if (option.dataStyle.tableHeaderShow) { - return document.querySelector('.theadDiv')?.offsetHeight + 10; - } else { - return 0; - } + const filterDivHeight: any = computed(() => { + return option.dataStyle.buttonValue == '1' + ? option.dataStyle.filterItemHeight * 5 + : option.dataStyle.filterItemHeight * 4; }); - // 数据表实际宽度 - const headWidths = computed(() => { - let widths: any = []; - if (option.dataStyle.tableHeaderShow) { - setTimeout(() => { - if (option.dataStyle.orderBumberShow) { - widths.push(document.getElementById('dataTd_order')?.offsetWidth); - } - option.header.forEach((item, index) => { - let td = document.getElementById('dataTd_' + index); - widths.push(td?.offsetWidth); - }); - if (option.dataStyle.buttonDivShow) { - widths.push(document.getElementById('dataTd_button')?.offsetWidth); - } - console.log(widths); - }, 500); - } - return widths; - }); + let waterGraphicLayerArr: any = []; + let waterGraphicLayers = new mars3d.layer.GraphicLayer(); + let goodsGraphicLayerArr: any = []; + let goodsGraphicLayers = new mars3d.layer.GraphicLayer(); + let barrackGraphicLayerArr: any = []; + let barrackGraphicLayers = new mars3d.layer.GraphicLayer(); - // 搜索框 - const searchFlag = ref(false); - const searchAllFlag = ref(false); - - function search() { - searchFlag.value = true; - } - function searchAll() { - searchAllFlag.value = true; - } - - // 数据过滤 - const filterData = computed(() => { - let data = cloneDeep(option.dataset); - option.filterset.forEach((filtersetItem) => { - // console.log(filtersetItem); - if ( - (filtersetItem.field && filtersetItem.value) || - (!filtersetItem.field && filtersetItem.showType == 'inputSearchAll') - ) { - switch (filtersetItem.compareType) { - // 大于 - case 'greater': - if (['timePicker'].includes(filtersetItem.showType)) { - data = data.filter( - (d) => - dayjs(d[filtersetItem.field], 'HH:mm:ss').diff( - dayjs(filtersetItem.value, 'HH:mm:ss'), - ) > 0, - ); - } else { - data = data.filter( - (d) => Number(d[filtersetItem.field]) > Number(filtersetItem.value), - ); - } - break; - // 小于 - case 'less': - if (['timePicker'].includes(filtersetItem.showType)) { - data = data.filter( - (d) => - dayjs(d[filtersetItem.field], 'HH:mm:ss').diff( - dayjs(filtersetItem.value, 'HH:mm:ss'), - ) < 0, - ); - } else { - data = data.filter( - (d) => Number(d[filtersetItem.field]) < Number(filtersetItem.value), - ); - } - break; - // 大于等于 - case 'greaterAndEqual': - if (['timePicker'].includes(filtersetItem.showType)) { - data = data.filter( - (d) => - dayjs(d[filtersetItem.field], 'HH:mm:ss').diff( - dayjs(filtersetItem.value, 'HH:mm:ss'), - ) >= 0, - ); - } else { - data = data.filter( - (d) => Number(d[filtersetItem.field]) >= Number(filtersetItem.value), - ); - } - break; - // 小于等于 - case 'lessAndEqual': - if (['timePicker'].includes(filtersetItem.showType)) { - data = data.filter( - (d) => - dayjs(d[filtersetItem.field], 'HH:mm:ss').diff( - dayjs(filtersetItem.value, 'HH:mm:ss'), - ) <= 0, - ); - } else { - data = data.filter( - (d) => Number(d[filtersetItem.field]) <= Number(filtersetItem.value), - ); - } - break; - // 等于 - case 'equal': - if (['checkbox'].includes(filtersetItem.showType)) { - // 多选框不选中时,不展示 - data = data.filter((d) => - filtersetItem.value.some((li) => d[filtersetItem.field].includes(li)), - ); - } else if (['selectGroup', 'buttonGroupList'].includes(filtersetItem.showType)) { - // 下拉框(多选)、按钮组(多选)不选中时,全展示 - if (filtersetItem.value.length > 0) { - data = data.filter((d) => - filtersetItem.value.some((li) => d[filtersetItem.field].includes(li)), - ); - } - } else { - // 其他统一 - data = data.filter((d) => d[filtersetItem.field] == filtersetItem.value); - } - break; - // 不等于 - case 'notequal': - if (['checkbox'].includes(filtersetItem.showType)) { - // 多选框不选中时,不展示 - data = data.filter((d) => - filtersetItem.value.some((li) => !d[filtersetItem.field].includes(li)), - ); - } else if (['selectGroup', 'buttonGroupList'].includes(filtersetItem.showType)) { - // 下拉框(多选)、按钮组(多选)不选中时,全展示 - if (filtersetItem.value.length > 0) { - data = data.filter((d) => - filtersetItem.value.some((li) => !d[filtersetItem.field].includes(li)), - ); - } - } else { - // 其他统一 - data = data.filter((d) => d[filtersetItem.field] !== filtersetItem.value); - } - break; - // 含有 - case 'contain': - if (['checkbox'].includes(filtersetItem.showType)) { - // 多选框不选中时,不展示 - data = data.filter((d) => - filtersetItem.value.some((li) => d[filtersetItem.field].includes(li)), - ); - } else if (['selectGroup', 'buttonGroupList'].includes(filtersetItem.showType)) { - // 下拉框(多选)、按钮组(多选)不选中时,全展示 - if (filtersetItem.value.length > 0) { - data = data.filter((d) => - filtersetItem.value.some((li) => d[filtersetItem.field].includes(li)), - ); - } - } else if (['inputSearch'].includes(filtersetItem.showType)) { - // 搜索框单独处理 - if (searchFlag.value) { - data = data.filter( - (d) => d[filtersetItem.field].indexOf(filtersetItem.value) !== -1, - ); - searchFlag.value = false; - } - } else if (['inputSearchAll'].includes(filtersetItem.showType)) { - // 全数据搜索框单独处理 - if (searchAllFlag.value) { - data = data.filter((d) => { - let flag = false; - option.header.some((headerLi) => { - if (d[headerLi.key]) { - flag = flag ? true : d[headerLi.key].includes(filtersetItem.value); - } - }); - return flag; - }); - searchAllFlag.value = false; - } - } else { - // 其他统一 - data = data.filter((d) => d[filtersetItem.field].indexOf(filtersetItem.value) !== -1); - } - break; - // 不含有 - case 'notcontain': - if (['checkbox'].includes(filtersetItem.showType)) { - // 多选框不选中时,不展示 - data = data.filter((d) => - filtersetItem.value.some((li) => !d[filtersetItem.field].includes(li)), - ); - } else if (['selectGroup', 'buttonGroupList'].includes(filtersetItem.showType)) { - // 下拉框(多选)、按钮组(多选)不选中时,全展示 - if (filtersetItem.value.length > 0) { - data = data.filter((d) => - filtersetItem.value.some((li) => !d[filtersetItem.field].includes(li)), - ); - } - } else { - // 其他统一 - data = data.filter((d) => d[filtersetItem.field].indexOf(filtersetItem.value) == -1); - } - break; - // 两者之间 - case 'between': - if (['timeRange'].includes(filtersetItem.showType)) { - data = data.filter((d) => { - const time = dayjs(d[filtersetItem.field], 'HH:mm:ss'); - const startTime = dayjs(filtersetItem.value, 'HH:mm:ss'); - const endTime = dayjs(filtersetItem.value2, 'HH:mm:ss'); - return time.diff(startTime) >= 0 && time.diff(endTime) <= 0; - }); - } - if (['dateRange'].includes(filtersetItem.showType)) { - data = data.filter((d) => { - const time = dayjs(d[filtersetItem.field], 'YYYY-MM-DD HH:mm:ss'); - const startTime = dayjs(filtersetItem.value[0], 'YYYY-MM-DD HH:mm:ss'); - const endTime = dayjs(filtersetItem.value[1], 'YYYY-MM-DD HH:mm:ss'); - return time.diff(startTime) >= 0 && time.diff(endTime) <= 0; - }); - } - break; + // 多选框-地图显示 + watch( + () => option.dataStyle.mapListValue, + (newValue) => { + // 水源 + if (newValue.includes('water')) { + mapListShow_water(); + } else { + if (waterGraphicLayerArr.length > 0) { + waterGraphicLayerArr?.forEach((graphicLayer) => { + waterGraphicLayers.removeGraphic(graphicLayer); + }); } } + // 物资 + if (newValue.includes('goods')) { + mapListShow_goods(); + } else { + if (goodsGraphicLayerArr.length > 0) { + goodsGraphicLayerArr?.forEach((graphicLayer) => { + goodsGraphicLayers.removeGraphic(graphicLayer); + }); + } + } + // 营房 + if (newValue.includes('barrack')) { + mapListShow_barrack(); + } else { + if (barrackGraphicLayerArr.length > 0) { + barrackGraphicLayerArr?.forEach((graphicLayer) => { + barrackGraphicLayers.removeGraphic(graphicLayer); + }); + } + } + // // 防火通道 + // if (newValue.includes('fanghuotongdao')) { + // } + // // 三轮通道 + // if (newValue.includes('sanluntongdao')) { + // } + // // 步行道 + // if (newValue.includes('buxingdao')) { + // } + }, + { + immediate: true, + deep: true, + }, + ); + watch( + () => option.status.hide, + () => { + if (option.status.hide) { + // 表格隐藏,则删除地图的数据 + hideMapGraphicLayer(); + } else { + // 表格展示,则显示地图的数据 + if (waterGraphicLayerArr.length > 0) { + mapListShow_water(); + } + if (goodsGraphicLayerArr.length > 0) { + mapListShow_goods(); + } + if (barrackGraphicLayerArr.length > 0) { + mapListShow_barrack(); + } + } + }, + ); + + // 水源 + function mapListShow_water() { + setTimeout(() => { + let data: any = source.filter((item) => parseInt(item.type) == 0); + // 删除旧数据 + waterGraphicLayerArr?.forEach((graphicLayer) => { + waterGraphicLayers.removeGraphic(graphicLayer); + }); + // 图层 + window.globalMap.addLayer(waterGraphicLayers); + // 图层数据 + waterGraphicLayerArr = []; + data.forEach((dataItem, dataIndex) => { + let waterGraphic = new mars3d.graphic.BillboardEntity({ + id: 'ZhiChu_ModalTable' + '_water_' + dataIndex + '_' + dataItem.id, + position: [parseFloat(dataItem.lng), parseFloat(dataItem.lat)], + style: { + image: '/src/assets/images/chart/zhichu/component/TuLi_ShuiYuan.png', + clampToGround: true, + scale: 1, + }, + }); + + // 绑定点击事件 + waterGraphic.on('click', (event) => { + const graphic = event.graphic; // 获取被点击的图形对象 + const attributes = graphic.options; // 获取图形的属性 + // console.log(attributes); + + // 动态生成弹窗内容 + const popupContent = ` + + `; + // // 显示弹窗 + // window.globalMap.openPopup({ + // content: popupContent, + // location: [118.02841, 35.417686], // 弹窗位置 + // }); + }); + + // 将新图形添加到图层中 + waterGraphicLayers.addGraphic(waterGraphic); + waterGraphicLayerArr.push(waterGraphic); + }); + }, 1000); + } + // 物资 + function mapListShow_goods() { + setTimeout(() => { + let data: any = source.filter((item) => parseInt(item.type) == 1); + // 删除旧数据 + goodsGraphicLayerArr?.forEach((graphicLayer) => { + goodsGraphicLayers.removeGraphic(graphicLayer); + }); + // 图层 + window.globalMap.addLayer(goodsGraphicLayers); + // 图层数据 + goodsGraphicLayerArr = []; + data.forEach((dataItem, dataIndex) => { + let goodsGraphic = new mars3d.graphic.BillboardEntity({ + id: 'ZhiChu_ModalTable' + '_goods_' + dataIndex + '_' + data.id, + position: [parseFloat(dataItem.lng), parseFloat(dataItem.lat)], + style: { + image: '/src/assets/images/chart/zhichu/component/TuLi_WuZi.png', + clampToGround: true, + scale: 1, + }, + }); + goodsGraphicLayerArr.push(goodsGraphic); + goodsGraphicLayers.addGraphic(goodsGraphic); + }); + }, 1000); + } + // 营房 + function mapListShow_barrack() { + setTimeout(() => { + let data: any = source.filter((item) => parseInt(item.type) == 2); + // 删除旧数据 + barrackGraphicLayerArr?.forEach((graphicLayer) => { + barrackGraphicLayers.removeGraphic(graphicLayer); + }); + // 图层 + window.globalMap.addLayer(barrackGraphicLayers); + // 图层数据 + barrackGraphicLayerArr = []; + data.forEach((dataItem, dataIndex) => { + let barrackGraphic = new mars3d.graphic.BillboardEntity({ + id: 'ZhiChu_ModalTable' + '_barrack_' + dataIndex + '_' + data.id, + position: [parseFloat(dataItem.lng), parseFloat(dataItem.lat)], + style: { + image: '/src/assets/images/chart/zhichu/component/TuLi_YingFang.png', + clampToGround: true, + scale: 1, + }, + }); + barrackGraphicLayerArr.push(barrackGraphic); + barrackGraphicLayers.addGraphic(barrackGraphic); + }); + }, 1000); + } + + // 删除地图的数据 + function hideMapGraphicLayer() { + if (waterGraphicLayerArr.length > 0) { + waterGraphicLayerArr?.forEach((graphicLayer) => { + waterGraphicLayers.removeGraphic(graphicLayer); + }); + } + if (goodsGraphicLayerArr.length > 0) { + goodsGraphicLayerArr?.forEach((graphicLayer) => { + goodsGraphicLayers.removeGraphic(graphicLayer); + }); + } + if (barrackGraphicLayerArr.length > 0) { + barrackGraphicLayerArr?.forEach((graphicLayer) => { + barrackGraphicLayers.removeGraphic(graphicLayer); + }); + } + } + + // 移动位置 + let startCoor: any; + function moveLocation(lngLat) { + // window.globalMap.flyToGraphic(lngLat); + startCoor = lngLat; + window.globalMap.flyToPoint(lngLat, { + alt: 4269.7, + heading: 359.2, + pitch: -51.9, }); - return data; - }); - - // 筛选-按钮点击事件 - function clickFilterButton(item, buttonItem) { - if (item.value == buttonItem.value) { - item.value = ''; - } else { - item.value = buttonItem.value; - } } - // 筛选-按钮点击事件(多选) - function clickFilterButtonList(item, buttonItem) { - if (!item.value) { - item.value = []; - } - if (item.value.includes(buttonItem.value)) { - item.value.splice(item.value.indexOf(buttonItem.value), 1); - } else { - item.value.push(buttonItem.value); - } + // 漫游 + async function roamLocation(startCoor) { + let endCoor = [118.031528, 35.431473]; + let params: any = { + startlng: parseFloat(startCoor[0]), + startlat: parseFloat(startCoor[1]), + endlng: parseFloat(endCoor[0]), + endlat: parseFloat(endCoor[1]), + areaname: 'feixian', + }; + getRouterFunc(params) + .then((res) => { + handlerStopRoaming(); + drawRouterFunc(res); + handlerStartRoaming(res.allCoordinates, false); + }) + .catch((err) => { + clearRouterFunc(); + }); } - // 数据转换 - function convertData(header, data) { - let prefix = header.prefix ? header.prefix : ''; - let suffix = header.suffix ? header.suffix : ''; - let convertData = data[header.key]; - - // 小数点保留后两位 - if (convertData && header.convert == '0' && isValidNumber(convertData)) { - convertData = - typeof convertData === 'string' - ? String(parseFloat(convertData).toFixed(2)) - : String(convertData.toFixed(2)); - } - // 转换时间格式(例:0小时0分钟0秒) - if (convertData && header.convert == '1' && isValidTime(convertData)) { - convertData = - dayjs(convertData, 'HH:mm:ss').hour() + - '小时' + - dayjs(convertData, 'HH:mm:ss').minute() + - '分钟' + - dayjs(convertData, 'HH:mm:ss').second() + - '秒'; - } - // 转换日期格式(例:YYYY-MM-DD HH:mm:ss) - let format = 'YYYY-MM-DD HH:mm:ss'; - if (header.convert == '2') { - format = 'YYYY-MM-DD'; - } - if (header.convert == '3') { - format = 'YYYY/MM/DD'; - } - if ( - convertData && - ['2', '3', '4'].includes(header.convert) && - isValidDate(convertData, format) - ) { - convertData = dayjs(convertData).format(format); - } - return prefix + convertData + suffix; - } - - // 检查字符串可否转成数字 - function isValidNumber(str) { - const regex = /^-?\d+(\.\d+)?$/; - return regex.test(String(str).trim()); - } - // 检查字符串可否转成时间 - function isValidTime(str) { - const parsedDate = dayjs(str, 'HH:mm:ss'); - if (parsedDate.isValid()) { - return true; - } else { - return false; - } - } - // 检查字符串可否转成日期 - function isValidDate(str, format) { - const parsedDate = dayjs(str, format); - if (parsedDate.isValid()) { - return true; - } else { - return false; - } - } - - // 表格按钮方法 - function pitchLocation(dataItem, dataIndex) {} - - function moveLocation(dataItem, dataIndex) {} - // setdata 数据监听与更改 useChartDataFetch(props.chartConfig, useChartEditStore, (newData: any) => { props.chartConfig.option.dataset = newData; @@ -740,7 +497,7 @@ height: v-bind('`${option.dataStyle.filterChooseFontSize}px`') !important; } - .filterContentFont_nochoose { + .nochoose { background: #1c211f; color: #18d09d; border: 1px solid #18d09d; @@ -750,8 +507,9 @@ border-radius: v-bind('`${option.dataStyle.filterChooseFontSize + 12}px`'); text-align: center; line-height: v-bind('`${option.dataStyle.filterChooseFontSize + 12}px`'); + margin-right: v-bind('`${option.dataStyle.filterTitleFontSize}px`'); } - .filterContentFont_choose { + .choose { background: #26d1ad; color: #0d2822; font-size: v-bind('`${option.dataStyle.filterChooseFontSize}px`'); @@ -760,64 +518,19 @@ border-radius: v-bind('`${option.dataStyle.filterChooseFontSize + 12}px`'); text-align: center; line-height: v-bind('`${option.dataStyle.filterChooseFontSize + 12}px`'); + margin-right: v-bind('`${option.dataStyle.filterTitleFontSize}px`'); } - // 表头 - .theadDiv { - margin-top: v-bind('`${option.dataStyle.tableMarginTop}px`'); - padding-left: v-bind('`${option.dataStyle.tableMarginLeft}px`'); - padding-right: v-bind('`${option.dataStyle.tableMarginLeft}px`'); + .popup { + background: white; + padding: 10px; + border-radius: 5px; + box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2); } - // 表格部分 - .tbodyDiv { - overflow-y: auto; + + .dataDiv { height: v-bind( - '`${h - headHeight - option.dataStyle.filterMarginTop - option.dataStyle.filterItemHeight * option.filterset.length - option.dataStyle.tableMarginTop}px`' + '`${h - option.dataStyle.filterMarginTop - filterDivHeight - option.dataStyle.tableMarginTop}px`' ); - padding-left: v-bind('`${option.dataStyle.tableMarginLeft}px`'); - padding-right: v-bind('`${option.dataStyle.tableMarginLeft}px`'); - } - .tbodyDiv::-webkit-scrollbar { - display: none; - } - .tbodyDiv { - scrollbar-width: none; - -ms-overflow-style: none; - } - - .th { - background: v-bind('`${option.dataStyle.tableHeaderBackgroud}`'); - text-align: v-bind('`${option.dataStyle.tableAlign}`'); - color: v-bind('`${option.dataStyle.tableHeaderFontColor}`'); - font-size: v-bind('`${option.dataStyle.tableHeaderFontSize}px`'); - } - td { - text-align: v-bind('`${option.dataStyle.tableAlign}`'); - background: #ffffff00; - color: v-bind('`${option.dataStyle.tableDataFontColor}`'); - font-size: v-bind('`${option.dataStyle.tableDataFontSize}px`'); - border-bottom: 0px; - } - .td_background { - background: v-bind('`${option.dataStyle.tableDataBackgroud}`'); - } - .td_image1 { - background-image: url('@/assets/images/chart/zhichu/component/ModalTable_td1.png'); - background-size: 100% 100%; - } - .td_image2 { - background-image: url('@/assets/images/chart/zhichu/component/ModalTable_td2.png'); - background-size: 100% 100%; - } - - .buttonDiv { - display: flex; - align-items: v-bind('`${option.dataStyle.tableAlign}`'); - justify-content: center; - width: v-bind('`${option.dataStyle.buttonDivWidth}px`'); - } - - .buttonDivspan { - color: #00611a; } diff --git a/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/source/barrack.vue b/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/source/barrack.vue new file mode 100644 index 0000000..c9b5af7 --- /dev/null +++ b/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/source/barrack.vue @@ -0,0 +1,158 @@ + + + + + diff --git a/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/source/button1.vue b/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/source/button1.vue new file mode 100644 index 0000000..cf3707e --- /dev/null +++ b/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/source/button1.vue @@ -0,0 +1,96 @@ + + + diff --git a/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/svg/button2.vue b/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/source/button2.vue similarity index 97% rename from src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/svg/button2.vue rename to src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/source/button2.vue index ccb6647..041b56a 100644 --- a/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/svg/button2.vue +++ b/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/source/button2.vue @@ -1,8 +1,8 @@ + + + + diff --git a/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/source/water.vue b/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/source/water.vue new file mode 100644 index 0000000..4af3299 --- /dev/null +++ b/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/source/water.vue @@ -0,0 +1,282 @@ + + + + + diff --git a/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/ts/handleGeojson.ts b/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/ts/handleGeojson.ts new file mode 100644 index 0000000..c5b5e37 --- /dev/null +++ b/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/ts/handleGeojson.ts @@ -0,0 +1,226 @@ +var numberRegexp = /[-+]?([0-9]*\.[0-9]+|[0-9]+)([eE][-+]?[0-9]+)?/; +// Matches sequences like '100 100' or '100 100 100'. +var tuples = new RegExp('^' + numberRegexp.source + '(\\s' + numberRegexp.source + '){1,}'); +/* + * Parse WKT and return GeoJSON. + * + * @param {string} _ A WKT geometry + * @return {?Object} A GeoJSON geometry object + */ +function parse(input) { + if (!input) { + return { + "coordinates": [], + "type": "LineString" + } + } + var parts = input.split(';'); + var _ = parts.pop(); + var srid = (parts.shift() || '').split('=').pop(); + + var i = 0; + + function $(re) { + var match = _.substring(i).match(re); + if (!match) return null; + else { + i += match[0].length; + return match[0]; + } + } + + function crs(obj) { + if (obj && srid.match(/\d+/)) { + obj.crs = { + type: 'name', + properties: { + name: 'urn:ogc:def:crs:EPSG::' + srid + } + }; + } + + return obj; + } + + function white() { $(/^\s*/); } + + function multicoords() { + white(); + var depth = 0; + var rings = []; + var stack = [rings]; + var pointer = rings; + var elem; + + while (elem = + $(/^(\()/) || + $(/^(\))/) || + $(/^(,)/) || + $(tuples)) { + if (elem === '(') { + stack.push(pointer); + pointer = []; + stack[stack.length - 1].push(pointer); + depth++; + } else if (elem === ')') { + // For the case: Polygon(), ... + if (pointer.length === 0) return null; + + pointer = stack.pop(); + // the stack was empty, input was malformed + if (!pointer) return null; + depth--; + if (depth === 0) break; + } else if (elem === ',') { + pointer = []; + stack[stack.length - 1].push(pointer); + } else if (!elem.split(/\s/g).some(isNaN)) { + Array.prototype.push.apply(pointer, elem.split(/\s/g).map(parseFloat)); + } else { + return null; + } + white(); + } + + if (depth !== 0) return null; + + return rings; + } + + function coords() { + var list = []; + var item; + var pt; + while (pt = + $(tuples) || + $(/^(,)/)) { + if (pt === ',') { + list.push(item); + item = []; + } else if (!pt.split(/\s/g).some(isNaN)) { + if (!item) item = []; + Array.prototype.push.apply(item, pt.split(/\s/g).map(parseFloat)); + } + white(); + } + + if (item) list.push(item); + else return null; + + return list.length ? list : null; + } + + function point() { + if (!$(/^(point(\sz)?)/i)) return null; + white(); + if (!$(/^(\()/)) return null; + var c = coords(); + if (!c) return null; + white(); + if (!$(/^(\))/)) return null; + return { + type: 'Point', + coordinates: c[0] + }; + } + + function multipoint() { + if (!$(/^(multipoint)/i)) return null; + white(); + var newCoordsFormat = _ + .substring(_.indexOf('(') + 1, _.length - 1) + .replace(/\(/g, '') + .replace(/\)/g, ''); + _ = 'MULTIPOINT (' + newCoordsFormat + ')'; + var c = multicoords(); + if (!c) return null; + white(); + return { + type: 'MultiPoint', + coordinates: c + }; + } + + function multilinestring() { + if (!$(/^(multilinestring)/i)) return null; + white(); + var c = multicoords(); + if (!c) return null; + white(); + return { + type: 'MultiLineString', + coordinates: c + }; + } + + function linestring() { + if (!$(/^(linestring(\sz)?)/i)) return null; + white(); + if (!$(/^(\()/)) return null; + var c = coords(); + if (!c) return null; + if (!$(/^(\))/)) return null; + return { + type: 'LineString', + coordinates: c + }; + } + + function polygon() { + if (!$(/^(polygon(\sz)?)/i)) return null; + white(); + var c = multicoords(); + if (!c) return null; + return { + type: 'Polygon', + coordinates: c + }; + } + + function multipolygon() { + if (!$(/^(multipolygon)/i)) return null; + white(); + var c = multicoords(); + if (!c) return null; + return { + type: 'MultiPolygon', + coordinates: c + }; + } + + function geometrycollection() { + var geometries = []; + var geometry; + + if (!$(/^(geometrycollection)/i)) return null; + white(); + + if (!$(/^(\()/)) return null; + while (geometry = root()) { + geometries.push(geometry); + white(); + $(/^(,)/); + white(); + } + if (!$(/^(\))/)) return null; + + return { + type: 'GeometryCollection', + geometries: geometries + }; + } + + function root() { + return point() || + linestring() || + polygon() || + multipoint() || + multilinestring() || + multipolygon() || + geometrycollection(); + } + + return crs(root()); +} + +export { parse } \ No newline at end of file diff --git a/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/ts/routePath.ts b/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/ts/routePath.ts new file mode 100644 index 0000000..694409b --- /dev/null +++ b/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/ts/routePath.ts @@ -0,0 +1,742 @@ +import axios from "axios"; +import { gcj02towgs84, wgs84togcj02 } from 'coordtransform' +import * as turf from '@turf/turf' +import { Url } from "./urlFormat"; +import { getAppEnvConfig } from '@/utils/env'; +import * as mars3d from 'mars3d'; +import { parse } from "./handleGeojson"; +import { cloneDeep } from 'lodash-es'; + +const urls = new Url() +const GD_URL = "https://restapi.amap.com/v5/direction/driving" +const GD_KEY = "6af6a87038f44c8c793aa70331f2b7ca" +const { VITE_GLOB_API_URL } = getAppEnvConfig(); + + + +//路线的图层 +let pathGraphicLayers: any = null +let pathOneGraphicLayers: any = null +let pathWaterGraphicLayers: any = null +let pathRoadGraphicLayers: any = null +let pathRoadGraphicLayers1: any = null +let pathRoadGraphicLayers2: any = null + + + +//导航寻路 +export const getRouterFunc = (params, method = 'all') => { + /** + * method: + * 当为 postgis时,仅仅使用postgis导航 + * 默认:all :高德 + postgis + * gaode:高德 + */ + let { startlng, startlat, endlng, endlat } = params + + if (method == 'postgis') { + //使用gpostgis进行导航 + return new Promise((resolve, reject) => { + let postgisParams = { + startlng: startlng, + startlat: startlat, + endlng: endlng, + endlat: endlat, + areaname: 'feixian', + } + getRouterByPostGis(postgisParams).then(geojson => { + //postGisCoordinates:postgis返回的geojson取出坐标数组 + let postGisCoordinates = getOneLineCoordinatesFromGeometry(geojson) + let startRouterLngLat = postGisCoordinates[0] + let endRouterLngLat = postGisCoordinates.at(-1) + let resObject = { + allCoordinates: postGisCoordinates, //全部线路的合集 + postGisRoute: postGisCoordinates, // postgis线路 + gdRoute: [], + startLngLat: [startlng, startlat], // 起点 + endLngLat: [endlng, endlat], //终点 + startRouterLngLat: startRouterLngLat, // 路线查询结果的起点 + endRouterLngLat: endRouterLngLat, //路线查询结果的终点 + } + let simpleRoute = getMinimumRoute(resObject) + resolve(simpleRoute) + }) + }).catch(err => { + + }) + } + if (method == 'all') { + // 先用高德进行导航 + return new Promise((resolve, reject) => { + getRouterByGD(params).then(solution => { + // solution 为多条线路的数组,现在先用第一条线路 solution.path[0] + let gdRoute = solution.path[0] + let postgisParams = { + startlng: gdRoute.endCoordinates[0], + startlat: gdRoute.endCoordinates[1], + endlng: endlng, + endlat: endlat, + areaname: 'feixian', + } + //使用gpostgis求出剩下的路线 + getRouterByPostGis(postgisParams).then(geojson => { + //postGisCoordinates:postgis返回的geojson取出坐标数组 + let postGisCoordinates = getOneLineCoordinatesFromGeometry(geojson) + // 高德返回的第一条线路的坐标数组 + let path_gd = gdRoute.path_polyline + //合并高德和postgis的路线 + let allCoordinates = path_gd.concat(postGisCoordinates) + //导航线路的起点和终点 + let startRouterLngLat = allCoordinates[0] + let endRouterLngLat = allCoordinates.at(-1) + let resObject = { + allCoordinates: allCoordinates, //全部线路 + gdRoute: path_gd, //高德的线路 + postGisRoute: postGisCoordinates, // postgis的线路 + startLngLat: [startlng, startlat], // 起点 + endLngLat: [endlng, endlat], //终点 + startRouterLngLat: startRouterLngLat, // 路线查询结果的起点 + endRouterLngLat: endRouterLngLat, //路线查询结果的终点 + } + let simpleRoute = getMinimumRoute(resObject) + resolve(simpleRoute) + }) + }) + }) + } +} + + + + +//高德路线导航 +export const getRouterByGD = (params) => { + /** + * type:Object + */ + let { startlng, startlat, endlng, endlat } = params + //wgs84转火星坐标系 + var gcj02StartLngLat = wgs84togcj02(startlng, startlat); + var gcj02EndLngLat = wgs84togcj02(endlng, endlat); + let gd_params = { + origin: `${gcj02StartLngLat[0]},${gcj02StartLngLat[1]}`, + destination: `${gcj02EndLngLat[0]},${gcj02EndLngLat[1]}`, + show_fields: 'polyline', + key: GD_KEY, + strategy:2 + } + let new_url = urls.getUrl(GD_URL, gd_params) + return new Promise((resolve, reject) => { + axios({ + method: "get", + url: new_url, + }).then((res) => { + if (res.status === 200) { + let solution = [] + //处理数据 + res.data.route.paths.map(path => { + let route_len = path.distance + let path_polyline = path.steps.map(step => { + return step.polyline + }) + let router_path_str = [] //暂时存放 ['117.927498,35.263264'] + path_polyline.forEach(polyline => { + let step = polyline.split(';') + router_path_str = router_path_str.concat(step) + }); + // 去掉重复点 + let unique_router_path_str = [...new Set(router_path_str)] + // 坐标转数组 + let unique_router_path = unique_router_path_str.map(path_str => { + let lng_lat_list = path_str.split(',') + //高德坐标系转wgs84坐标系 + var wgs84Coordinate = gcj02towgs84(...lng_lat_list); + return wgs84Coordinate + }) + //高德导航的起点和终点 + let startCoordinates = unique_router_path[0] + let endCoordinates = unique_router_path.at(-1) + // 高德地图返回的结果:方案一。长度,线 + solution.push( + { + route_len: route_len, + path_polyline: unique_router_path, + startCoordinates: startCoordinates, + endCoordinates: endCoordinates + } + ) + }) + let result = { + routerCount: parseInt(res.data.count), + path: solution + } + resolve(result) + } else { + reject(res) + } + }).catch(err => { + reject(err) + }) + }) +} + +//使用postgres + postgis寻路 +export const getRouterByPostGis = (params) => { + return new Promise((resolve, reject) => { + axios.get("http://221.2.83.254:9001/api/FirePrevention/LoadRoad" + + "?startlng=" + params.startlng + + "&startlat=" + params.startlat + + "&endlng=" + params.endlng + + "&endlat=" + params.endlat + + "&areaname=" + params.areaname + ).then((res) => { + if (res.data.length > 0) { + console.log('res.data::: ', res.data); + let LineString = res.data[0].route; + if (LineString == null || LineString == "null") { + //没有找到路线,返回空 + console.log('PostGIS未找到合适了路线') + resolve(parse(null)) + } else { + resolve(parse(LineString)) + } + } else { + console.log('PostGIS未找到合适了路线') + resolve(parse(null)) + } + }).catch(err => { + console.log('PostGIS寻路算法服务端错误') + resolve(parse(null)) + }) + }) +} + +// 绘制线路 +export const drawRouterFunc = (pathObject) => { + let { allCoordinates, startLngLat, endLngLat, startRouterLngLat, endRouterLngLat, gdRoute, postGisRoute } = pathObject + // 添加graphic + if (pathGraphicLayers == null) { + pathGraphicLayers = new mars3d.layer.GraphicLayer(); + window.globalMap.addLayer(pathGraphicLayers); + } else { + // pathGraphicLayers.clear(); + } + //当只有两组数据时,说明没有导航的路线,直接使用虚线连接 + + if (allCoordinates.length == 2) { + //只绘制开头到结尾的路线的路段 + let endPathGraphic = drawPolylineDashEntity([startLngLat, endLngLat], 'YELLOW') + pathGraphicLayers.addGraphic(endPathGraphic); + } else { + // 导航数据路段 + // let gdPathGraphic = drawLineFlowEntity(gdRoute, 'YELLOW',10) + // let postgisPathGraphic = drawLineFlowEntity(postGisRoute, 'RED',10) + let pathGraphic = drawLineFlowEntity(allCoordinates, '#E6472B') + + //开始的路段 + let startPathGraphic = drawPolylineDashEntity([startLngLat, startRouterLngLat], 'YELLOW') + + //结尾的路段 + let endPathGraphic = drawPolylineDashEntity([endRouterLngLat, endLngLat], 'YELLOW') + + // pathGraphicLayers.addGraphic(gdPathGraphic); + // pathGraphicLayers.addGraphic(postgisPathGraphic); + pathGraphicLayers.addGraphic(pathGraphic); + pathGraphicLayers.addGraphic(startPathGraphic); + pathGraphicLayers.addGraphic(endPathGraphic); + } +} + +// 绘制线路 +export const drawRoutersFunc = (pathObject) => { + let { allCoordinates, startLngLat, endLngLat, startRouterLngLat, endRouterLngLat, gdRoute, postGisRoute } = pathObject + // 添加graphic + if (pathGraphicLayers == null) { + pathGraphicLayers = new mars3d.layer.GraphicLayer(); + window.globalMap.addLayer(pathGraphicLayers); + } else { + + } + //当只有两组数据时,说明没有导航的路线,直接使用虚线连接 + + if (allCoordinates.length == 2) { + //只绘制开头到结尾的路线的路段 + // let endPathGraphic = drawPolylineDashEntity([startLngLat, endLngLat], 'YELLOW') + // pathGraphicLayers.addGraphic(endPathGraphic); + } else { + // 导航数据路段 + // let gdPathGraphic = drawLineFlowEntity(gdRoute, 'YELLOW',10) + // let postgisPathGraphic = drawLineFlowEntity(postGisRoute, 'RED',10) + let pathGraphic = drawLineFlowEntityColor(allCoordinates, '#E6472B') + + //开始的路段 + // let startPathGraphic = drawPolylineDashEntity([startLngLat, startRouterLngLat], 'YELLOW') + + //结尾的路段 + // let endPathGraphic = drawPolylineDashEntity([endRouterLngLat, endLngLat], 'YELLOW') + let endPathGraphic = drawPolylineEntity([endRouterLngLat, endLngLat], 'YELLOW') + + + // pathGraphicLayers.addGraphic(gdPathGraphic); + // pathGraphicLayers.addGraphic(postgisPathGraphic); + pathGraphicLayers.addGraphic(pathGraphic); + // pathGraphicLayers.addGraphic(startPathGraphic); + pathGraphicLayers.addGraphic(endPathGraphic); + } +} + +export const drawRoutersFuncWaterGrid = (pathObject) => { + let { pointArr } = pathObject + // 添加graphic + if (pathWaterGraphicLayers == null) { + pathWaterGraphicLayers = new mars3d.layer.GraphicLayer(); + window.globalMap.addLayer(pathWaterGraphicLayers); + } else { + + } + //当只有两组数据时,说明没有导航的路线,直接使用虚线连接 + + if (pointArr.length == 2) { + + } else { + // 导航数据路段 + let pathGraphic + pathGraphic = drawLineFlowEntityColor2(pointArr, '#56C3F9') + + pathWaterGraphicLayers.addGraphic(pathGraphic); + + } +} +export const drawRoutersFuncGrid = (pathObject) => { + let { pointArr, Type } = pathObject + // 添加graphic + if (pathRoadGraphicLayers == null) { + pathRoadGraphicLayers = new mars3d.layer.GraphicLayer(); + window.globalMap.addLayer(pathRoadGraphicLayers); + } + //当只有两组数据时,说明没有导航的路线,直接使用虚线连接 + + if (pointArr.length == 2) { + + } else { + // 导航数据路段 + + let pathGraphic; + pathGraphic = drawLineFlowEntityColor1(pointArr, '#E6472B') + pathRoadGraphicLayers.addGraphic(pathGraphic); + } +} +export const drawRoutersFuncGrid1 = (pathObject) => { + let { pointArr, Type } = pathObject + // 添加graphic + if (pathRoadGraphicLayers1 == null) { + pathRoadGraphicLayers1 = new mars3d.layer.GraphicLayer(); + window.globalMap.addLayer(pathRoadGraphicLayers1); + } + //当只有两组数据时,说明没有导航的路线,直接使用虚线连接 + + if (pointArr.length == 2) { + + } else { + // 导航数据路段 + let pathGraphic1; + pathGraphic1 = drawLineFlowEntityColor2(pointArr, '#1F5FDE') + pathRoadGraphicLayers1.addGraphic(pathGraphic1); + + } +} +export const drawRoutersFuncGrid2 = (pathObject) => { + let { pointArr, Type } = pathObject + // 添加graphic + if (pathRoadGraphicLayers2 == null) { + pathRoadGraphicLayers2 = new mars3d.layer.GraphicLayer(); + window.globalMap.addLayer(pathRoadGraphicLayers2); + } + //当只有两组数据时,说明没有导航的路线,直接使用虚线连接 + + if (pointArr.length == 2) { + + } else { + // 导航数据路段 + let pathGraphic2; + pathGraphic2 = drawLineFlowEntityColor2(pointArr, '#9C9C9C') + pathRoadGraphicLayers2.addGraphic(pathGraphic2); + + } +} + + +// 高亮路线 +export const drawOneRouterFunc = (pathObject) => { + let { allCoordinates, startLngLat, endLngLat, startRouterLngLat, endRouterLngLat, gdRoute, postGisRoute } = pathObject + // 添加graphic + if (pathOneGraphicLayers == null) { + pathOneGraphicLayers = new mars3d.layer.GraphicLayer(); + window.globalMap.addLayer(pathOneGraphicLayers); + } else { + pathOneGraphicLayers.clear(); + } + //当只有两组数据时,说明没有导航的路线,直接使用虚线连接 + + if (allCoordinates.length == 2) { + //只绘制开头到结尾的路线的路段 + let endPathGraphic = drawPolylineDashEntity([startLngLat, endLngLat], 'YELLOW') + pathOneGraphicLayers.addGraphic(endPathGraphic); + } else { + // 导航数据路段 + // let gdPathGraphic = drawLineFlowEntity(gdRoute, 'YELLOW',10) + // let postgisPathGraphic = drawLineFlowEntity(postGisRoute, 'RED',10) + let pathGraphic = drawLineFlowEntity(allCoordinates, 'CYAN') + + //开始的路段 + // let startPathGraphic = drawPolylineDashEntity([startLngLat, startRouterLngLat], 'YELLOW') + + //结尾的路段 + // let endPathGraphic = drawPolylineDashEntity([endRouterLngLat, endLngLat], 'YELLOW') + + // pathGraphicLayers.addGraphic(gdPathGraphic); + // pathGraphicLayers.addGraphic(postgisPathGraphic); + pathOneGraphicLayers.addGraphic(pathGraphic); + // pathGraphicLayers.addGraphic(startPathGraphic); + // pathGraphicLayers.addGraphic(endPathGraphic); + } +} + +// 生成虚线实体 +const drawPolylineDashEntity = (positions, cesiumColor,width=5) => { + return new mars3d.graphic.PolylineEntity({ + positions: positions, + style: { + width: width, + clampToGround: true, + materialType: mars3d.MaterialType.PolylineDash, + materialOptions: { + color: '#FFFF00', + dashLength: 8.0, + }, + }, + }); +} + +const drawPolylineEntity = (positions, cesiumColor,width=5) => { + return new mars3d.graphic.PolylineEntity({ + positions: positions, + style: { + width: width, + clampToGround: true, + // materialType: mars3d.MaterialType.PolylineDash, + materialOptions: { + color: '#FF0000', + // dashLength: 8.0, + }, + }, + }); +} + +// 生成动态线实体 +const drawLineFlowEntity = (positions, cesiumColor,width=5) => { + return new mars3d.graphic.PolylineEntity({ + positions: positions, + style: { + width: width, + clampToGround: true, + materialType: mars3d.MaterialType.LineFlowColor, + materialOptions: { + color: cesiumColor, + speed: 1000, + percent: 1, + alpha: 1 + }, + }, + }); +} + +const drawLineFlowEntityColor = (positions, cesiumColor,width=5) => { + return new mars3d.graphic.PolylineEntity({ + positions: positions, + style: { + width: width, + clampToGround: true, + materialType: mars3d.MaterialType.LineFlowColor, + materialOptions: { + color: cesiumColor, + speed: 1000, + percent: 1, + alpha: 1 + }, + }, + }); +} +const drawLineFlowEntityColor1 = (positions, cesiumColor,width=5) => { + return new mars3d.graphic.PolylineEntity({ + positions: positions, + style: { + width: width, + clampToGround: true, + materialType: mars3d.MaterialType.LineFlowColor, + materialOptions: { + color: cesiumColor, + speed: 1000, + percent: 1, + alpha: 1 + }, + }, + }); +} + +const drawLineFlowEntityColor2 = (positions, cesiumColor,width=5) => { + return new mars3d.graphic.PolylineEntity({ + positions: positions, + style: { + width: width, + clampToGround: true, + materialType: mars3d.MaterialType.LineFlowColor, + materialOptions: { + color: cesiumColor, + speed: 1000, + percent: 1, + alpha: 1 + }, + }, + }); +} + + + +//删除路线 +export const clearRouterFunc = () => { + if (pathGraphicLayers == null) { + return false + } else { + pathGraphicLayers.clear(); + } + + + if (pathOneGraphicLayers == null) { + return false + } else { + pathOneGraphicLayers.clear(); + + } +} +//删除水网路线 +export const clearWaterRouterFunc = () => { + if (pathWaterGraphicLayers == null) { + return false + } else { + pathWaterGraphicLayers.clear(); + } +} +//删除路网路线 +export const clearRoadRouterFunc = () => { + if (pathRoadGraphicLayers == null) { + return false + } else { + pathRoadGraphicLayers.clear(); + } +} +export const clearRoadRouterFunc1 = () => { + if (pathRoadGraphicLayers1 == null) { + return false + } else { + pathRoadGraphicLayers1.clear(); + } +} +export const clearRoadRouterFunc2 = () => { + if (pathRoadGraphicLayers2 == null) { + return false + } else { + pathRoadGraphicLayers2.clear(); + } +} + +//计算最近路线 +const getMinimumRoute = (pathObject) => { + //备份Object + let pathObjectClone = cloneDeep(pathObject) + let { allCoordinates, startLngLat, endLngLat, startRouterLngLat, endRouterLngLat, gdRoute, postGisRoute } = pathObjectClone + // 当只有一个点时(终点),说明高德地图和postgis都未查询到线路,直接返回两点 + if (allCoordinates.length <= 1) { + pathObjectClone.allCoordinates = [startLngLat, endLngLat] + return pathObjectClone + } + //当postgis寻路时,计算两条线路的重叠之处 + if (postGisRoute.length && gdRoute.length) { + //实例化turf标准格式 + let gdRouteLine = turf.lineString(gdRoute); + let postGisRouteLine = turf.lineString(postGisRoute); + //获取postgis和高德寻路的所有交点 + let intersectsGeojson = turf.lineIntersect(gdRouteLine, postGisRouteLine); + let intersectsCoordinates = getMultPointCoordinatesFromGeoJson(intersectsGeojson) + //如果相交点大于1,说明路线有重复部分 + if (intersectsCoordinates.length > 1) { + let lastIntersectsCoordinates = intersectsCoordinates[0] + let [slicedGdCoordinates, slicedPostGisCoordinates] = sliceByPoint(startRouterLngLat, gdRouteLine, endRouterLngLat, postGisRoute, lastIntersectsCoordinates) + allCoordinates = slicedGdCoordinates.concat(slicedPostGisCoordinates) + //处理后的结果赋值给pathObjectClone + pathObjectClone.gdRoute = slicedGdCoordinates + pathObjectClone.postGisRoute = slicedPostGisCoordinates + gdRouteLine = turf.lineString(slicedGdCoordinates); + postGisRouteLine = turf.lineString(slicedPostGisCoordinates); + } + // 阈值计算重复路线,去除重复线路 + let overlapping = turf.lineOverlap(gdRouteLine, postGisRouteLine, { tolerance: 0.1 }); + + if (overlapping.features.length) { + let lastOverlapPoint = overlapping.features.at(-1).geometry.coordinates[0] + let [overlapGdCoordinates, overlapPostGisCoordinates] = sliceByPoint(startRouterLngLat, gdRouteLine, endRouterLngLat, postGisRoute, lastOverlapPoint) + allCoordinates = overlapGdCoordinates.concat(overlapPostGisCoordinates) + // 连接路段平滑过渡 + } + + } + // 转成turf标准线格式 + let allRouteLine = turf.lineString(allCoordinates); + // 转成turf标准点格式 + let startLngLatPoint = turf.point(startLngLat); + let startRouterLngLatPoint = turf.point(startRouterLngLat); + let endLngLatPoint = turf.point(endLngLat); + let endRouterLngLatPoint = turf.point(endRouterLngLat); + //获取终点到导航线最近的点 + let snappedGeojson = turf.nearestPointOnLine(allRouteLine, endLngLatPoint, { units: 'miles' }); + let snappedCoordinates = getOnePointCoordinatesFromGeoJson(snappedGeojson) + // 根据最近的点截取路线,取前半部分 + let slicedGeojson = turf.lineSlice(startRouterLngLat, turf.point(snappedCoordinates), allRouteLine); + let slicedCoordinates = getOnePointCoordinatesFromGeoJson(slicedGeojson) + //把截取后的路线赋值给pathObjectClone + pathObjectClone.allCoordinates = slicedCoordinates + //计算出发地到目的地的图上距离(直线) + let distanceStartToEnd = turf.distance(startLngLatPoint, endLngLatPoint) + //计算出发点到出发导航路线出发点的步行距离 + let distanceStartToStartRoute = turf.distance(startLngLatPoint, startRouterLngLatPoint) + //计算终点到出发导航路线终点的步行距离 + let distanceEndToEndRoute = turf.distance(endLngLatPoint, endRouterLngLatPoint) + //如果出发点与目的地的实际距离小于步行的距离,直接使用出发点到目的地的距离,导航此时不适用 + if (distanceStartToEnd < (distanceStartToStartRoute + distanceEndToEndRoute)) { + pathObjectClone.allCoordinates = [startLngLat, endLngLat] + } + //把终点到导航终点改为距离线路的最近的的点 + pathObjectClone.endRouterLngLat = snappedCoordinates + return pathObjectClone +} + +const sliceByPoint = (line1Start, line1, line2End, line2, point) => { + /** + * 根据点point把line1的前半部分和line2的后半部分进行拼接 + * line1Start:line1的起始点 [lng.lat] + * line2End:line2 的终止点 [lng,lat] + */ + //拷贝line2的坐标数组进行倒序排列 + let line2Copy = [...line2] + line2Copy.reverse() + let line2CopyReverseLineString = turf.lineString(line2Copy); + // 根据point截取路线,line1取前半部分 + // 根据point截取路线,line2取后半部分 + //然后将两部分拼接,让line1路线从第一个交点处转向line2路段 + let slicedLine1Geojson = turf.lineSlice(line1Start, turf.point(point), line1); + let slicedLine1Coordinates = getOnePointCoordinatesFromGeoJson(slicedLine1Geojson) + let slicedLine2Geojson = turf.lineSlice(line2End, turf.point(point), line2CopyReverseLineString); + let slicedLine2Coordinates = getOnePointCoordinatesFromGeoJson(slicedLine2Geojson) + slicedLine2Coordinates.reverse() + return [slicedLine1Coordinates, slicedLine2Coordinates] +} + + +// 坐标转geoJson +const comLineStringGeoJson = (coordinates) => { + return { + "type": "Feature", + "properties": {}, + "geometry": { + "coordinates": coordinates, + "type": "LineString" + } + } +} +// 从一条线的geometry中获取坐标 +const getOneLineCoordinatesFromGeometry = (geometry) => { + let coordinates = geometry.coordinates + // console.log('geometry::: ', geometry); + let list = [] + if (geometry.type == "MultiLineString") { + coordinates.map(coord => { + list = list.concat(coord) + }) + } else if (geometry.type == 'LineString') { + list = list.concat(geometry.coordinates) + } else { + list = [] + } + return list + +} +//从一个点的geojson中返回坐标点 +const getOnePointCoordinatesFromGeoJson = (geojson) => { + return geojson.geometry.coordinates +} +//从多个点的geojson中返回坐标点 +const getMultPointCoordinatesFromGeoJson = (geojson) => { + // console.log('geojson::: ', geojson); + return geojson.features.map(feature => { + return feature.geometry.coordinates + }) +} + + + +// 全局漫游 +let carGraphicEntity: any = null; +let carGraphicLayer: any = null; + +export const handlerStartRoaming = (coordinates,roaming=true)=>{ + if(carGraphicLayer == null){ + carGraphicLayer = new mars3d.layer.GraphicLayer(); + window.globalMap.addLayer(carGraphicLayer); + }else{ + carGraphicLayer.clear(); + } + + carGraphicEntity = new mars3d.graphic.FixedRoute({ + name: "步行路线", + frameRate: 1, + speed: 500, + autoStop: false, // 到达终点自动停止 + clockLoop: true, // 循环播放 + positions: coordinates, + pauseTime: 0, + camera: { + type: "gs", + radius: 2500 + }, + model: { + // url: "//data.mars3d.cn/gltf/mars/car/bus3.gltf", + url:"http://221.2.83.254:9010/cartoon_fire_truck/xiaofangche.gltf", + scale: 5, + minimumPixelSize: 50, + clampToGround: true + }, + circle: { + radius: 10, + materialType: mars3d.MaterialType.CircleWave, + materialOptions: { + color: "#ffff00", + opacity: 0.3, + speed: 10, + count: 3, + gradient: 0.1 + }, + clampToGround: true + } + }) + carGraphicLayer.addGraphic(carGraphicEntity) + // 开始漫游 + carGraphicEntity.enabled = roaming; + carGraphicEntity.start() +} + +export const handlerStopRoaming = ()=>{ + if(carGraphicEntity){ + carGraphicLayer.removeGraphic(carGraphicEntity); + carGraphicEntity = null; + } +} diff --git a/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/ts/urlFormat.ts b/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/ts/urlFormat.ts new file mode 100644 index 0000000..54dc04b --- /dev/null +++ b/src/packages/components/Zhichu/Zhichu/ZhiChu_ModalTable/ts/urlFormat.ts @@ -0,0 +1,28 @@ +export class Url { + /** + * 传入对象返回url参数 + * @param {Object} data {a:1} + * @returns {string} + */ + getParam(data) { + let url = ''; + for (let k in data) { + let value = data[k] !== undefined ? data[k] : ''; + if (value !== undefined && value !== "" && value !== null) { + url += `&${k}=${encodeURIComponent(value)}` + } + } + return url ? url.substring(1) : '' + } + + /** + * 将url和参数拼接成完整地址 + * @param {string} url url地址 + * @param {Json} data json对象 + * @returns {string} + */ + getUrl(url, data) { + //看原始url地址中开头是否带?,然后拼接处理好的参数 + return url += (url.indexOf('?') < 0 ? '?' : '') + this.getParam(data) + } +} diff --git a/src/packages/components/Zhilan/Zhilan/ZhiLan_ZhongZhiShuLiangMianJi/config.ts b/src/packages/components/Zhilan/Zhilan/ZhiLan_ZhongZhiShuLiangMianJi/config.ts index 7f38c00..9d1c4f9 100644 --- a/src/packages/components/Zhilan/Zhilan/ZhiLan_ZhongZhiShuLiangMianJi/config.ts +++ b/src/packages/components/Zhilan/Zhilan/ZhiLan_ZhongZhiShuLiangMianJi/config.ts @@ -33,7 +33,7 @@ export const option = { lineBackgroud: '#000000', lineBorderWidth: 1, - lineBorderColor: '#ffffff', + lineBorderColor: '#4D6647', lineHeight: 15, lineStartColor: '#0B4D2C', lineEndColor: '#4DFFB5', diff --git a/src/packages/components/Zhilan/Zhilan/ZhiLan_ZhongZhiShuLiangMianJi/index.vue b/src/packages/components/Zhilan/Zhilan/ZhiLan_ZhongZhiShuLiangMianJi/index.vue index 33d52af..c285097 100644 --- a/src/packages/components/Zhilan/Zhilan/ZhiLan_ZhongZhiShuLiangMianJi/index.vue +++ b/src/packages/components/Zhilan/Zhilan/ZhiLan_ZhongZhiShuLiangMianJi/index.vue @@ -135,7 +135,7 @@ align-items: center; justify-content: v-bind('`${option.dataStyle.labelAlign}`'); width: v-bind('`${option.dataStyle.labelWidth}px`'); - border-right: 1px solid #ffffff; + border-right: 1px solid v-bind('`${option.dataStyle.lineBorderColor}`'); color: v-bind('`${option.dataStyle.labelFontColor}`'); font-size: v-bind('`${option.dataStyle.labelFontSize}px`');