@vtx/ol-map 1.0.124 → 1.0.126

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -15,6 +15,7 @@ var _format = require("ol/format");
15
15
  var _utils = require("@vtx/utils");
16
16
  var _useProps2 = _interopRequireDefault(require("../../use-props"));
17
17
  var _ToolItem = _interopRequireDefault(require("../components/ToolItem"));
18
+ var _WmsLayer = _interopRequireDefault(require("../../wms-layer/WmsLayer"));
18
19
  var _http = _interopRequireDefault(require("../../_util/http"));
19
20
  var _encryptParams = _interopRequireDefault(require("../../_util/encryptParams"));
20
21
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -40,21 +41,24 @@ var getMapFeatureInfoByText = function getMapFeatureInfoByText(map, searchText)
40
41
  if (layer.getVisible() && layer.key) {
41
42
  var label = layer.name;
42
43
  var field = layer.labelField;
43
- if (layer instanceof _layer.Vector && layer.getSource()) {
44
- var features = getVectorFeatureInfoByText(layer, field || 'name', searchText);
45
- if (features !== null && features !== void 0 && features.length) {
46
- list.push({
47
- label: label,
48
- options: features
49
- });
44
+ var source = layer === null || layer === void 0 ? void 0 : layer.getSource();
45
+ if (source) {
46
+ if (layer instanceof _layer.Vector) {
47
+ var features = getVectorFeatureInfoByText(layer, field || 'name', searchText);
48
+ if (features !== null && features !== void 0 && features.length) {
49
+ list.push({
50
+ label: label,
51
+ options: features
52
+ });
53
+ }
54
+ } else if (layer instanceof _layer.Image || layer instanceof _WmsLayer["default"]) {
55
+ reqList.push(getWmsFeatureInfoByText(layer, field || 'code', searchText).then(function (features) {
56
+ return {
57
+ label: label,
58
+ options: features
59
+ };
60
+ }));
50
61
  }
51
- } else if (layer instanceof _layer.Image && layer.getSource()) {
52
- reqList.push(getWmsFeatureInfoByText(layer, field || 'code', searchText).then(function (features) {
53
- return {
54
- label: label,
55
- options: features
56
- };
57
- }));
58
62
  }
59
63
  }
60
64
  });
@@ -100,16 +104,22 @@ var getWmsFeatureInfoByText = function getWmsFeatureInfoByText(layer, field, sea
100
104
  service: 'WFS',
101
105
  request: 'GetFeature',
102
106
  outputFormat: 'application/json',
103
- geoserverUrl: source.url_,
107
+ geoserverUrl: source.url_ || layer.url,
104
108
  version: source.params_.VERSION,
105
109
  typeName: layer.params.QUERY_LAYERS || source.params_.QUERY_LAYERS,
106
110
  cql_filter: layer.params.cql_filter || source.params_.cql_filter,
107
111
  viewparams: "tenantId:".concat(tenantId)
108
112
  };
109
- var cql_filter = "".concat(field, " like %27%25").concat(searchText, "%25%27");
113
+ var cql_filter = "".concat(field, " like '%").concat(searchText, "%'");
114
+ // let cql_filter = layer.encrypt
115
+ // ? `${field} like '%${searchText}%'`
116
+ // : encodeURI(`${field} like '%${searchText}%'`);
117
+
110
118
  params.cql_filter = params.cql_filter ? "(".concat(params.cql_filter, ") and ").concat(cql_filter) : cql_filter;
111
119
  if (layer.encrypt) {
112
120
  params = (0, _encryptParams["default"])(params, layer.encrypt);
121
+ } else {
122
+ params.cql_filter = encodeURI(params.cql_filter);
113
123
  }
114
124
  var queryString = Object.entries(params).reduce(function (acc, _ref) {
115
125
  var _ref2 = _slicedToArray(_ref, 2),
@@ -117,7 +127,7 @@ var getWmsFeatureInfoByText = function getWmsFeatureInfoByText(layer, field, sea
117
127
  value = _ref2[1];
118
128
  return "".concat(acc).concat(key, "=").concat(value, "&");
119
129
  }, '?').slice(0, -1);
120
- return _http["default"].get("".concat(source.url_).concat(queryString)).then(function (data) {
130
+ return _http["default"].get("".concat(source.url_ || layer.url).concat(queryString)).then(function (data) {
121
131
  var _data$features;
122
132
  var features = [];
123
133
  if (data !== null && data !== void 0 && (_data$features = data.features) !== null && _data$features !== void 0 && _data$features.length) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_antd","_icons","_ItemWrap","_interopRequireDefault","_layer","_format","_utils","_useProps2","_ToolItem","_http","_encryptParams","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","length","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","getMapFeatureInfoByText","map","searchText","Promise","resolve","list","reqList","getAllLayers","layer","getVisible","label","field","labelField","VectorLayer","getSource","features","getVectorFeatureInfoByText","options","ImageLayer","getWmsFeatureInfoByText","then","all","res","v","_v$options","exports","source","getFeatures","_features","filter","_v$values_","values_","indexOf","handleResult","_getVtxToken","getVtxToken","tenantId","params","maxFeatures","service","request","outputFormat","geoserverUrl","url_","version","params_","VERSION","typeName","QUERY_LAYERS","cql_filter","viewparams","concat","encrypt","encryptParams","queryString","entries","reduce","acc","_ref","_ref2","http","data","_data$features","geoJsonFormat","GeoJSON","readFeatures","_v$values_2","_v$values_3","_v$values_4","_v$values_5","id","facilityId","layerKey","toolOptions","icon","Search","props","active","setActive","_useProps","useProps","time","useRef","_useState","useState","_useState2","setOptions","_useState3","_useState4","setValue","itemWrapRef","onSearch","current","clearTimeout","setTimeout","onChange","_value","useEffect","closeToolbox","onActive","closeAnalysis","toolboxActive","onSelect","e","feature","_v$options2","showTemplate","fitView","onClear","hideTemplate","createElement","Fragment","ref","content","SearchOutlined","AutoComplete","placeholder","style","width","allowClear","onFocus","show","onClick","setVisible","defaultProps","boxSelect","circleSelect","polygonSelect","spaceQuery"],"sources":["tools/Search/index.js"],"sourcesContent":["import React, { useState, useRef, useEffect } from 'react';\nimport { AutoComplete } from 'antd';\nimport { SearchOutlined } from '@ant-design/icons';\nimport ItemWrap from '../components/ItemWrap';\nimport { Image as ImageLayer, Vector as VectorLayer } from 'ol/layer';\nimport { GeoJSON } from 'ol/format';\nimport { getUrlParam, getVtxToken } from '@vtx/utils';\nimport useProps from \"../../use-props\";\nimport ToolItem from '../components/ToolItem';\nimport http from \"../../_util/http\";\nimport encryptParams from \"../../_util/encryptParams\";\n\n/**\n * 根据关键字获取图形信息\n * @param map\n * @param searchText\n * @returns {Promise<unknown>} [{label: '图层名称', options: [{label: '', value: ''}]}]\n */\nexport const getMapFeatureInfoByText = (map, searchText) => {\n return new Promise(resolve => {\n let list = [],\n reqList = [];\n map.getAllLayers().map(layer => {\n if (layer.getVisible() && layer.key) {\n let label = layer.name;\n let field = layer.labelField;\n if (layer instanceof VectorLayer && layer.getSource()) {\n let features = getVectorFeatureInfoByText(layer, field || 'name', searchText);\n if (features?.length) {\n list.push({ label, options: features });\n }\n } else if (layer instanceof ImageLayer && layer.getSource()) {\n reqList.push(\n getWmsFeatureInfoByText(layer, field || 'code', searchText).then(\n features => ({\n label,\n options: features,\n }),\n ),\n );\n }\n }\n });\n\n if (reqList?.length) {\n Promise.all(reqList).then(res => {\n res.map(v => {\n if (v.options?.length) {\n list.push(v);\n }\n });\n resolve(list);\n });\n } else {\n resolve(list);\n }\n });\n};\n\n// 根据关键字获取图形信息\nconst getVectorFeatureInfoByText = (layer, field, searchText) => {\n const source = layer.getSource().source || layer.getSource();\n let features = source.getFeatures();\n if (features?.length) {\n let _features = features.filter(\n v => (v?.values_?.[field] || '').indexOf(searchText) !== -1,\n );\n if (_features?.length) {\n return handleResult(_features, layer, field);\n }\n }\n};\n\n// 根据关键字获取图形信息\nconst getWmsFeatureInfoByText = (layer, field, searchText) => {\n const { tenantId } = getVtxToken();\n let source = layer.getSource();\n let params = {\n maxFeatures: 50,\n service: 'WFS',\n request: 'GetFeature',\n outputFormat: 'application/json',\n geoserverUrl: source.url_,\n version: source.params_.VERSION,\n typeName: layer.params.QUERY_LAYERS || source.params_.QUERY_LAYERS,\n cql_filter: layer.params.cql_filter || source.params_.cql_filter,\n viewparams: `tenantId:${tenantId}`,\n };\n\n let cql_filter = `${field} like %27%25${searchText}%25%27`;\n\n params.cql_filter = params.cql_filter ? `(${params.cql_filter}) and ${cql_filter}` : cql_filter;\n\n if (layer.encrypt) {\n params = encryptParams(params, layer.encrypt);\n }\n\n const queryString = Object.entries(params)\n .reduce((acc, [key, value]) => {\n return `${acc}${key}=${value}&`;\n }, '?')\n .slice(0, -1);\n\n return http.get(`${source.url_}${queryString}`)\n .then(data => {\n let features = [];\n if (data?.features?.length) {\n const geoJsonFormat = new GeoJSON();\n features = geoJsonFormat.readFeatures(data);\n\n features = handleResult(features, layer, field);\n }\n return features;\n })\n .catch(() => {\n return [];\n });\n};\n\nconst handleResult = (features, layer, field) => {\n return features.map(v => {\n v.label = v?.values_?.[field];\n v.value = v?.values_?.id || v?.values_?.facilityId || v?.values_?.[field];\n v.layerKey = layer.key;\n\n return v;\n });\n};\n\nexport const toolOptions = [\n // { label: '点选', icon: 'icon-dianxuan', active: true, key: 'pointSelect' },\n { label: '框选', icon: 'icon-kuangxuan', key: 'boxSelect' },\n { label: '圈选', icon: 'icon-quanxuan', key: 'circleSelect' },\n { label: '多边形选择', icon: 'icon-duobianxingxuanze', key: 'polygonSelect' },\n // { label: '空间定位查询', icon: 'icon-kuangxuan', key: 'spaceQuery' },\n];\n\nexport default function Search(props) {\n const {active, setActive} = props;\n const { map } = useProps();\n const time = useRef(null);\n const [options, setOptions] = useState([]);\n const [value, setValue] = useState('');\n\n const itemWrapRef = useRef();\n\n // 地址查询\n const onSearch = searchText => {\n if (time.current) {\n clearTimeout(time.current);\n }\n\n if (searchText) {\n time.current = setTimeout(() => {\n getMapFeatureInfoByText(map, searchText).then(data => {\n setOptions(data);\n });\n }, 500);\n } else {\n setOptions([]);\n }\n };\n\n const onChange = _value => {\n setValue(_value);\n };\n\n\n useEffect(() => {\n // 挂载关闭工具方法\n map.closeToolbox = () => {\n setActive('');\n };\n\n return () => {\n // 移除关闭工具方法\n delete map.closeToolbox;\n };\n }, []);\n\n const onActive = v => {\n if (!v.key) {\n return;\n }\n\n const value = active && v.key === active ? '' : v.key;\n\n // 执行关闭分析\n map.closeAnalysis && map.closeAnalysis();\n\n // 增加当前激活的工具属性\n map.toolboxActive = value;\n\n setActive(value);\n };\n\n const onSelect = (_value, e) => {\n let feature;\n options.map(v => {\n if (v?.options?.length) {\n v.options.map(o => {\n if (o.value === _value) {\n feature = o;\n }\n });\n }\n });\n map.showTemplate(feature);\n\n map.fitView(e);\n\n setValue(e.label);\n };\n\n const onClear = () => {\n map.fitView();\n map.hideTemplate();\n };\n return (\n <>\n <ItemWrap ref={itemWrapRef} content={<SearchOutlined />}>\n <AutoComplete\n placeholder=\"请输入\"\n options={options}\n style={{ width: 200 }}\n value={value}\n onSearch={onSearch}\n onChange={onChange}\n onSelect={onSelect}\n allowClear\n onClear={onClear}\n onFocus={() => setActive('')}\n />\n {toolOptions &&\n toolOptions.length > 0 &&\n toolOptions.map(v => {\n const params = props[v.key];\n if (params?.show) {\n return (\n <ToolItem\n key={v.label}\n onClick={() => {\n itemWrapRef.current.setVisible(false);\n onActive(v);\n }}\n label={v.label}\n icon={v.icon}\n active={active === v.key || v.active}\n />\n );\n } else {\n return null;\n }\n })}\n </ItemWrap>\n </>\n\n );\n}\n\nSearch.defaultProps = {\n boxSelect: { show: true },\n circleSelect: { show: true },\n polygonSelect: { show: true },\n spaceQuery: { show: true },\n};\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,OAAA,GAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AACA,IAAAQ,UAAA,GAAAJ,sBAAA,CAAAJ,OAAA;AACA,IAAAS,SAAA,GAAAL,sBAAA,CAAAJ,OAAA;AACA,IAAAU,KAAA,GAAAN,sBAAA,CAAAJ,OAAA;AACA,IAAAW,cAAA,GAAAP,sBAAA,CAAAJ,OAAA;AAAsD,SAAAI,uBAAAQ,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAAA,SAAAE,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAhB,wBAAAa,GAAA,EAAAG,WAAA,SAAAA,WAAA,IAAAH,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAO,OAAA,CAAAP,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAQ,KAAA,GAAAN,wBAAA,CAAAC,WAAA,OAAAK,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,cAAAX,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAAA,SAAAW,eAAAC,GAAA,EAAAC,CAAA,WAAAC,eAAA,CAAAF,GAAA,KAAAG,qBAAA,CAAAH,GAAA,EAAAC,CAAA,KAAAG,2BAAA,CAAAJ,GAAA,EAAAC,CAAA,KAAAI,gBAAA;AAAA,SAAAA,iBAAA,cAAAC,SAAA;AAAA,SAAAF,4BAAAG,CAAA,EAAAC,MAAA,SAAAD,CAAA,qBAAAA,CAAA,sBAAAE,iBAAA,CAAAF,CAAA,EAAAC,MAAA,OAAAE,CAAA,GAAApB,MAAA,CAAAI,SAAA,CAAAiB,QAAA,CAAAf,IAAA,CAAAW,CAAA,EAAAK,KAAA,aAAAF,CAAA,iBAAAH,CAAA,CAAAM,WAAA,EAAAH,CAAA,GAAAH,CAAA,CAAAM,WAAA,CAAAC,IAAA,MAAAJ,CAAA,cAAAA,CAAA,mBAAAK,KAAA,CAAAC,IAAA,CAAAT,CAAA,OAAAG,CAAA,+DAAAO,IAAA,CAAAP,CAAA,UAAAD,iBAAA,CAAAF,CAAA,EAAAC,MAAA;AAAA,SAAAC,kBAAAT,GAAA,EAAAkB,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAAlB,GAAA,CAAAmB,MAAA,EAAAD,GAAA,GAAAlB,GAAA,CAAAmB,MAAA,WAAAlB,CAAA,MAAAmB,IAAA,OAAAL,KAAA,CAAAG,GAAA,GAAAjB,CAAA,GAAAiB,GAAA,EAAAjB,CAAA,IAAAmB,IAAA,CAAAnB,CAAA,IAAAD,GAAA,CAAAC,CAAA,UAAAmB,IAAA;AAAA,SAAAjB,sBAAAH,GAAA,EAAAC,CAAA,QAAAoB,EAAA,WAAArB,GAAA,gCAAAsB,MAAA,IAAAtB,GAAA,CAAAsB,MAAA,CAAAC,QAAA,KAAAvB,GAAA,4BAAAqB,EAAA,QAAAG,EAAA,EAAAC,EAAA,EAAAC,EAAA,EAAAC,EAAA,EAAAC,IAAA,OAAAC,EAAA,OAAAC,EAAA,iBAAAJ,EAAA,IAAAL,EAAA,GAAAA,EAAA,CAAAzB,IAAA,CAAAI,GAAA,GAAA+B,IAAA,QAAA9B,CAAA,QAAAX,MAAA,CAAA+B,EAAA,MAAAA,EAAA,UAAAQ,EAAA,uBAAAA,EAAA,IAAAL,EAAA,GAAAE,EAAA,CAAA9B,IAAA,CAAAyB,EAAA,GAAAW,IAAA,MAAAJ,IAAA,CAAAK,IAAA,CAAAT,EAAA,CAAAU,KAAA,GAAAN,IAAA,CAAAT,MAAA,KAAAlB,CAAA,GAAA4B,EAAA,iBAAAM,GAAA,IAAAL,EAAA,OAAAL,EAAA,GAAAU,GAAA,yBAAAN,EAAA,YAAAR,EAAA,eAAAM,EAAA,GAAAN,EAAA,cAAA/B,MAAA,CAAAqC,EAAA,MAAAA,EAAA,2BAAAG,EAAA,QAAAL,EAAA,aAAAG,IAAA;AAAA,SAAA1B,gBAAAF,GAAA,QAAAe,KAAA,CAAAqB,OAAA,CAAApC,GAAA,UAAAA,GAAA;AAEtD;AACA;AACA;AACA;AACA;AACA;AACO,IAAMqC,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAIC,GAAG,EAAEC,UAAU,EAAK;EACxD,OAAO,IAAIC,OAAO,CAAC,UAAAC,OAAO,EAAI;IAC1B,IAAIC,IAAI,GAAG,EAAE;MACTC,OAAO,GAAG,EAAE;IAChBL,GAAG,CAACM,YAAY,CAAC,CAAC,CAACN,GAAG,CAAC,UAAAO,KAAK,EAAI;MAC5B,IAAIA,KAAK,CAACC,UAAU,CAAC,CAAC,IAAID,KAAK,CAACpD,GAAG,EAAE;QACjC,IAAIsD,KAAK,GAAGF,KAAK,CAAC/B,IAAI;QACtB,IAAIkC,KAAK,GAAGH,KAAK,CAACI,UAAU;QAC5B,IAAIJ,KAAK,YAAYK,aAAW,IAAIL,KAAK,CAACM,SAAS,CAAC,CAAC,EAAE;UACnD,IAAIC,QAAQ,GAAGC,0BAA0B,CAACR,KAAK,EAAEG,KAAK,IAAI,MAAM,EAAET,UAAU,CAAC;UAC7E,IAAIa,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEjC,MAAM,EAAE;YAClBuB,IAAI,CAACT,IAAI,CAAC;cAAEc,KAAK,EAALA,KAAK;cAAEO,OAAO,EAAEF;YAAS,CAAC,CAAC;UAC3C;QACJ,CAAC,MAAM,IAAIP,KAAK,YAAYU,YAAU,IAAIV,KAAK,CAACM,SAAS,CAAC,CAAC,EAAE;UACzDR,OAAO,CAACV,IAAI,CACRuB,uBAAuB,CAACX,KAAK,EAAEG,KAAK,IAAI,MAAM,EAAET,UAAU,CAAC,CAACkB,IAAI,CAC5D,UAAAL,QAAQ;YAAA,OAAK;cACTL,KAAK,EAALA,KAAK;cACLO,OAAO,EAAEF;YACb,CAAC;UAAA,CACL,CACJ,CAAC;QACL;MACJ;IACJ,CAAC,CAAC;IAEF,IAAIT,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAExB,MAAM,EAAE;MACjBqB,OAAO,CAACkB,GAAG,CAACf,OAAO,CAAC,CAACc,IAAI,CAAC,UAAAE,GAAG,EAAI;QAC7BA,GAAG,CAACrB,GAAG,CAAC,UAAAsB,CAAC,EAAI;UAAA,IAAAC,UAAA;UACT,KAAAA,UAAA,GAAID,CAAC,CAACN,OAAO,cAAAO,UAAA,eAATA,UAAA,CAAW1C,MAAM,EAAE;YACnBuB,IAAI,CAACT,IAAI,CAAC2B,CAAC,CAAC;UAChB;QACJ,CAAC,CAAC;QACFnB,OAAO,CAACC,IAAI,CAAC;MACjB,CAAC,CAAC;IACN,CAAC,MAAM;MACHD,OAAO,CAACC,IAAI,CAAC;IACjB;EACJ,CAAC,CAAC;AACN,CAAC;;AAED;AAAAoB,OAAA,CAAAzB,uBAAA,GAAAA,uBAAA;AACA,IAAMgB,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAIR,KAAK,EAAEG,KAAK,EAAET,UAAU,EAAK;EAC7D,IAAMwB,MAAM,GAAGlB,KAAK,CAACM,SAAS,CAAC,CAAC,CAACY,MAAM,IAAIlB,KAAK,CAACM,SAAS,CAAC,CAAC;EAC5D,IAAIC,QAAQ,GAAGW,MAAM,CAACC,WAAW,CAAC,CAAC;EACnC,IAAIZ,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEjC,MAAM,EAAE;IAClB,IAAI8C,SAAS,GAAGb,QAAQ,CAACc,MAAM,CAC3B,UAAAN,CAAC;MAAA,IAAAO,UAAA;MAAA,OAAI,CAAC,CAAAP,CAAC,aAADA,CAAC,wBAAAO,UAAA,GAADP,CAAC,CAAEQ,OAAO,cAAAD,UAAA,uBAAVA,UAAA,CAAanB,KAAK,CAAC,KAAI,EAAE,EAAEqB,OAAO,CAAC9B,UAAU,CAAC,KAAK,CAAC,CAAC;IAAA,CAC/D,CAAC;IACD,IAAI0B,SAAS,aAATA,SAAS,eAATA,SAAS,CAAE9C,MAAM,EAAE;MACnB,OAAOmD,YAAY,CAACL,SAAS,EAAEpB,KAAK,EAAEG,KAAK,CAAC;IAChD;EACJ;AACJ,CAAC;;AAED;AACA,IAAMQ,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAIX,KAAK,EAAEG,KAAK,EAAET,UAAU,EAAK;EAC1D,IAAAgC,YAAA,GAAqB,IAAAC,kBAAW,EAAC,CAAC;IAA1BC,QAAQ,GAAAF,YAAA,CAARE,QAAQ;EAChB,IAAIV,MAAM,GAAGlB,KAAK,CAACM,SAAS,CAAC,CAAC;EAC9B,IAAIuB,MAAM,GAAG;IACTC,WAAW,EAAE,EAAE;IACfC,OAAO,EAAE,KAAK;IACdC,OAAO,EAAE,YAAY;IACrBC,YAAY,EAAE,kBAAkB;IAChCC,YAAY,EAAEhB,MAAM,CAACiB,IAAI;IACzBC,OAAO,EAAElB,MAAM,CAACmB,OAAO,CAACC,OAAO;IAC/BC,QAAQ,EAAEvC,KAAK,CAAC6B,MAAM,CAACW,YAAY,IAAItB,MAAM,CAACmB,OAAO,CAACG,YAAY;IAClEC,UAAU,EAAEzC,KAAK,CAAC6B,MAAM,CAACY,UAAU,IAAIvB,MAAM,CAACmB,OAAO,CAACI,UAAU;IAChEC,UAAU,cAAAC,MAAA,CAAcf,QAAQ;EACpC,CAAC;EAED,IAAIa,UAAU,MAAAE,MAAA,CAAMxC,KAAK,kBAAAwC,MAAA,CAAejD,UAAU,WAAQ;EAE1DmC,MAAM,CAACY,UAAU,GAAGZ,MAAM,CAACY,UAAU,OAAAE,MAAA,CAAOd,MAAM,CAACY,UAAU,YAAAE,MAAA,CAASF,UAAU,IAAKA,UAAU;EAE/F,IAAIzC,KAAK,CAAC4C,OAAO,EAAE;IACff,MAAM,GAAG,IAAAgB,yBAAa,EAAChB,MAAM,EAAE7B,KAAK,CAAC4C,OAAO,CAAC;EACjD;EAEA,IAAME,WAAW,GAAGrG,MAAM,CAACsG,OAAO,CAAClB,MAAM,CAAC,CACrCmB,MAAM,CAAC,UAACC,GAAG,EAAAC,IAAA,EAAmB;IAAA,IAAAC,KAAA,GAAAjG,cAAA,CAAAgG,IAAA;MAAhBtG,GAAG,GAAAuG,KAAA;MAAE9D,KAAK,GAAA8D,KAAA;IACrB,UAAAR,MAAA,CAAUM,GAAG,EAAAN,MAAA,CAAG/F,GAAG,OAAA+F,MAAA,CAAItD,KAAK;EAChC,CAAC,EAAE,GAAG,CAAC,CACNtB,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAEjB,OAAOqF,gBAAI,CAAC9G,GAAG,IAAAqG,MAAA,CAAIzB,MAAM,CAACiB,IAAI,EAAAQ,MAAA,CAAGG,WAAW,CAAE,CAAC,CAC1ClC,IAAI,CAAC,UAAAyC,IAAI,EAAI;IAAA,IAAAC,cAAA;IACV,IAAI/C,QAAQ,GAAG,EAAE;IACjB,IAAI8C,IAAI,aAAJA,IAAI,gBAAAC,cAAA,GAAJD,IAAI,CAAE9C,QAAQ,cAAA+C,cAAA,eAAdA,cAAA,CAAgBhF,MAAM,EAAE;MACxB,IAAMiF,aAAa,GAAG,IAAIC,eAAO,CAAC,CAAC;MACnCjD,QAAQ,GAAGgD,aAAa,CAACE,YAAY,CAACJ,IAAI,CAAC;MAE3C9C,QAAQ,GAAGkB,YAAY,CAAClB,QAAQ,EAAEP,KAAK,EAAEG,KAAK,CAAC;IACnD;IACA,OAAOI,QAAQ;EACnB,CAAC,CAAC,SACI,CAAC,YAAM;IACT,OAAO,EAAE;EACb,CAAC,CAAC;AACV,CAAC;AAED,IAAMkB,YAAY,GAAG,SAAfA,YAAYA,CAAIlB,QAAQ,EAAEP,KAAK,EAAEG,KAAK,EAAK;EAC7C,OAAOI,QAAQ,CAACd,GAAG,CAAC,UAAAsB,CAAC,EAAI;IAAA,IAAA2C,WAAA,EAAAC,WAAA,EAAAC,WAAA,EAAAC,WAAA;IACrB9C,CAAC,CAACb,KAAK,GAAGa,CAAC,aAADA,CAAC,wBAAA2C,WAAA,GAAD3C,CAAC,CAAEQ,OAAO,cAAAmC,WAAA,uBAAVA,WAAA,CAAavD,KAAK,CAAC;IAC7BY,CAAC,CAAC1B,KAAK,GAAG,CAAA0B,CAAC,aAADA,CAAC,wBAAA4C,WAAA,GAAD5C,CAAC,CAAEQ,OAAO,cAAAoC,WAAA,uBAAVA,WAAA,CAAYG,EAAE,MAAI/C,CAAC,aAADA,CAAC,wBAAA6C,WAAA,GAAD7C,CAAC,CAAEQ,OAAO,cAAAqC,WAAA,uBAAVA,WAAA,CAAYG,UAAU,MAAIhD,CAAC,aAADA,CAAC,wBAAA8C,WAAA,GAAD9C,CAAC,CAAEQ,OAAO,cAAAsC,WAAA,uBAAVA,WAAA,CAAa1D,KAAK,CAAC;IACzEY,CAAC,CAACiD,QAAQ,GAAGhE,KAAK,CAACpD,GAAG;IAEtB,OAAOmE,CAAC;EACZ,CAAC,CAAC;AACN,CAAC;AAEM,IAAMkD,WAAW,GAAG;AACvB;AACA;EAAE/D,KAAK,EAAE,IAAI;EAAEgE,IAAI,EAAE,gBAAgB;EAAEtH,GAAG,EAAE;AAAY,CAAC,EACzD;EAAEsD,KAAK,EAAE,IAAI;EAAEgE,IAAI,EAAE,eAAe;EAAEtH,GAAG,EAAE;AAAe,CAAC,EAC3D;EAAEsD,KAAK,EAAE,OAAO;EAAEgE,IAAI,EAAE,wBAAwB;EAAEtH,GAAG,EAAE;AAAgB;AACvE;AAAA,CACH;AAACqE,OAAA,CAAAgD,WAAA,GAAAA,WAAA;AAEa,SAASE,MAAMA,CAACC,KAAK,EAAE;EAClC,IAAOC,MAAM,GAAeD,KAAK,CAA1BC,MAAM;IAAEC,SAAS,GAAIF,KAAK,CAAlBE,SAAS;EACxB,IAAAC,SAAA,GAAgB,IAAAC,qBAAQ,EAAC,CAAC;IAAlB/E,GAAG,GAAA8E,SAAA,CAAH9E,GAAG;EACX,IAAMgF,IAAI,GAAG,IAAAC,aAAM,EAAC,IAAI,CAAC;EACzB,IAAAC,SAAA,GAA8B,IAAAC,eAAQ,EAAC,EAAE,CAAC;IAAAC,UAAA,GAAA3H,cAAA,CAAAyH,SAAA;IAAnClE,OAAO,GAAAoE,UAAA;IAAEC,UAAU,GAAAD,UAAA;EAC1B,IAAAE,UAAA,GAA0B,IAAAH,eAAQ,EAAC,EAAE,CAAC;IAAAI,UAAA,GAAA9H,cAAA,CAAA6H,UAAA;IAA/B1F,KAAK,GAAA2F,UAAA;IAAEC,QAAQ,GAAAD,UAAA;EAEtB,IAAME,WAAW,GAAG,IAAAR,aAAM,EAAC,CAAC;;EAE5B;EACA,IAAMS,QAAQ,GAAG,SAAXA,QAAQA,CAAGzF,UAAU,EAAI;IAC3B,IAAI+E,IAAI,CAACW,OAAO,EAAE;MACdC,YAAY,CAACZ,IAAI,CAACW,OAAO,CAAC;IAC9B;IAEA,IAAI1F,UAAU,EAAE;MACZ+E,IAAI,CAACW,OAAO,GAAGE,UAAU,CAAC,YAAM;QAC5B9F,uBAAuB,CAACC,GAAG,EAAEC,UAAU,CAAC,CAACkB,IAAI,CAAC,UAAAyC,IAAI,EAAI;UAClDyB,UAAU,CAACzB,IAAI,CAAC;QACpB,CAAC,CAAC;MACN,CAAC,EAAE,GAAG,CAAC;IACX,CAAC,MAAM;MACHyB,UAAU,CAAC,EAAE,CAAC;IAClB;EACJ,CAAC;EAED,IAAMS,QAAQ,GAAG,SAAXA,QAAQA,CAAGC,MAAM,EAAI;IACvBP,QAAQ,CAACO,MAAM,CAAC;EACpB,CAAC;EAGD,IAAAC,gBAAS,EAAC,YAAM;IACZ;IACAhG,GAAG,CAACiG,YAAY,GAAG,YAAM;MACrBpB,SAAS,CAAC,EAAE,CAAC;IACjB,CAAC;IAED,OAAO,YAAM;MACT;MACA,OAAO7E,GAAG,CAACiG,YAAY;IAC3B,CAAC;EACL,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMC,QAAQ,GAAG,SAAXA,QAAQA,CAAG5E,CAAC,EAAI;IAClB,IAAI,CAACA,CAAC,CAACnE,GAAG,EAAE;MACR;IACJ;IAEA,IAAMyC,KAAK,GAAGgF,MAAM,IAAItD,CAAC,CAACnE,GAAG,KAAKyH,MAAM,GAAG,EAAE,GAAGtD,CAAC,CAACnE,GAAG;;IAErD;IACA6C,GAAG,CAACmG,aAAa,IAAInG,GAAG,CAACmG,aAAa,CAAC,CAAC;;IAExC;IACAnG,GAAG,CAACoG,aAAa,GAAGxG,KAAK;IAEzBiF,SAAS,CAACjF,KAAK,CAAC;EACpB,CAAC;EAED,IAAMyG,QAAQ,GAAG,SAAXA,QAAQA,CAAIN,MAAM,EAAEO,CAAC,EAAK;IAC5B,IAAIC,OAAO;IACXvF,OAAO,CAAChB,GAAG,CAAC,UAAAsB,CAAC,EAAI;MAAA,IAAAkF,WAAA;MACb,IAAIlF,CAAC,aAADA,CAAC,gBAAAkF,WAAA,GAADlF,CAAC,CAAEN,OAAO,cAAAwF,WAAA,eAAVA,WAAA,CAAY3H,MAAM,EAAE;QACpByC,CAAC,CAACN,OAAO,CAAChB,GAAG,CAAC,UAAA/B,CAAC,EAAI;UACf,IAAIA,CAAC,CAAC2B,KAAK,KAAKmG,MAAM,EAAE;YACpBQ,OAAO,GAAGtI,CAAC;UACf;QACJ,CAAC,CAAC;MACN;IACJ,CAAC,CAAC;IACF+B,GAAG,CAACyG,YAAY,CAACF,OAAO,CAAC;IAEzBvG,GAAG,CAAC0G,OAAO,CAACJ,CAAC,CAAC;IAEdd,QAAQ,CAACc,CAAC,CAAC7F,KAAK,CAAC;EACrB,CAAC;EAED,IAAMkG,OAAO,GAAG,SAAVA,OAAOA,CAAA,EAAS;IAClB3G,GAAG,CAAC0G,OAAO,CAAC,CAAC;IACb1G,GAAG,CAAC4G,YAAY,CAAC,CAAC;EACtB,CAAC;EACD,oBACIvL,MAAA,YAAAwL,aAAA,CAAAxL,MAAA,YAAAyL,QAAA,qBACIzL,MAAA,YAAAwL,aAAA,CAACnL,SAAA,WAAQ;IAACqL,GAAG,EAAEtB,WAAY;IAACuB,OAAO,eAAE3L,MAAA,YAAAwL,aAAA,CAACpL,MAAA,CAAAwL,cAAc,MAAE;EAAE,gBACpD5L,MAAA,YAAAwL,aAAA,CAACrL,KAAA,CAAA0L,YAAY;IACTC,WAAW,EAAC,oBAAK;IACjBnG,OAAO,EAAEA,OAAQ;IACjBoG,KAAK,EAAE;MAAEC,KAAK,EAAE;IAAI,CAAE;IACtBzH,KAAK,EAAEA,KAAM;IACb8F,QAAQ,EAAEA,QAAS;IACnBI,QAAQ,EAAEA,QAAS;IACnBO,QAAQ,EAAEA,QAAS;IACnBiB,UAAU;IACVX,OAAO,EAAEA,OAAQ;IACjBY,OAAO,EAAE,SAAAA,QAAA;MAAA,OAAM1C,SAAS,CAAC,EAAE,CAAC;IAAA;EAAC,CAChC,CAAC,EACDL,WAAW,IACRA,WAAW,CAAC3F,MAAM,GAAG,CAAC,IACtB2F,WAAW,CAACxE,GAAG,CAAC,UAAAsB,CAAC,EAAI;IACjB,IAAMc,MAAM,GAAGuC,KAAK,CAACrD,CAAC,CAACnE,GAAG,CAAC;IAC3B,IAAIiF,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEoF,IAAI,EAAE;MACd,oBACInM,MAAA,YAAAwL,aAAA,CAAC7K,SAAA,WAAQ;QACLmB,GAAG,EAAEmE,CAAC,CAACb,KAAM;QACbgH,OAAO,EAAE,SAAAA,QAAA,EAAM;UACXhC,WAAW,CAACE,OAAO,CAAC+B,UAAU,CAAC,KAAK,CAAC;UACrCxB,QAAQ,CAAC5E,CAAC,CAAC;QACf,CAAE;QACFb,KAAK,EAAEa,CAAC,CAACb,KAAM;QACfgE,IAAI,EAAEnD,CAAC,CAACmD,IAAK;QACbG,MAAM,EAAEA,MAAM,KAAKtD,CAAC,CAACnE,GAAG,IAAImE,CAAC,CAACsD;MAAO,CACxC,CAAC;IAEV,CAAC,MAAM;MACH,OAAO,IAAI;IACf;EACJ,CAAC,CACC,CACZ,CAAC;AAGX;AAEAF,MAAM,CAACiD,YAAY,GAAG;EAClBC,SAAS,EAAE;IAAEJ,IAAI,EAAE;EAAK,CAAC;EACzBK,YAAY,EAAE;IAAEL,IAAI,EAAE;EAAK,CAAC;EAC5BM,aAAa,EAAE;IAAEN,IAAI,EAAE;EAAK,CAAC;EAC7BO,UAAU,EAAE;IAAEP,IAAI,EAAE;EAAK;AAC7B,CAAC"}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_antd","_icons","_ItemWrap","_interopRequireDefault","_layer","_format","_utils","_useProps2","_ToolItem","_WmsLayer","_http","_encryptParams","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","length","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","getMapFeatureInfoByText","map","searchText","Promise","resolve","list","reqList","getAllLayers","layer","getVisible","label","field","labelField","source","getSource","VectorLayer","features","getVectorFeatureInfoByText","options","ImageLayer","WmsLayer","getWmsFeatureInfoByText","then","all","res","v","_v$options","exports","getFeatures","_features","filter","_v$values_","values_","indexOf","handleResult","_getVtxToken","getVtxToken","tenantId","params","maxFeatures","service","request","outputFormat","geoserverUrl","url_","url","version","params_","VERSION","typeName","QUERY_LAYERS","cql_filter","viewparams","concat","encrypt","encryptParams","encodeURI","queryString","entries","reduce","acc","_ref","_ref2","http","data","_data$features","geoJsonFormat","GeoJSON","readFeatures","_v$values_2","_v$values_3","_v$values_4","_v$values_5","id","facilityId","layerKey","toolOptions","icon","Search","props","active","setActive","_useProps","useProps","time","useRef","_useState","useState","_useState2","setOptions","_useState3","_useState4","setValue","itemWrapRef","onSearch","current","clearTimeout","setTimeout","onChange","_value","useEffect","closeToolbox","onActive","closeAnalysis","toolboxActive","onSelect","e","feature","_v$options2","showTemplate","fitView","onClear","hideTemplate","createElement","Fragment","ref","content","SearchOutlined","AutoComplete","placeholder","style","width","allowClear","onFocus","show","onClick","setVisible","defaultProps","boxSelect","circleSelect","polygonSelect","spaceQuery"],"sources":["tools/Search/index.js"],"sourcesContent":["import React, { useState, useRef, useEffect } from 'react';\nimport { AutoComplete } from 'antd';\nimport { SearchOutlined } from '@ant-design/icons';\nimport ItemWrap from '../components/ItemWrap';\nimport { Image as ImageLayer, Vector as VectorLayer } from 'ol/layer';\nimport { GeoJSON } from 'ol/format';\nimport { getUrlParam, getVtxToken } from '@vtx/utils';\nimport useProps from '../../use-props';\nimport ToolItem from '../components/ToolItem';\nimport WmsLayer from '../../wms-layer/WmsLayer';\nimport http from '../../_util/http';\nimport encryptParams from '../../_util/encryptParams';\n\n/**\n * 根据关键字获取图形信息\n * @param map\n * @param searchText\n * @returns {Promise<unknown>} [{label: '图层名称', options: [{label: '', value: ''}]}]\n */\nexport const getMapFeatureInfoByText = (map, searchText) => {\n return new Promise(resolve => {\n let list = [],\n reqList = [];\n map.getAllLayers().map(layer => {\n if (layer.getVisible() && layer.key) {\n let label = layer.name;\n let field = layer.labelField;\n const source = layer?.getSource();\n if (source) {\n if (layer instanceof VectorLayer) {\n let features = getVectorFeatureInfoByText(\n layer,\n field || 'name',\n searchText,\n );\n if (features?.length) {\n list.push({ label, options: features });\n }\n } else if (layer instanceof ImageLayer || layer instanceof WmsLayer) {\n reqList.push(\n getWmsFeatureInfoByText(layer, field || 'code', searchText).then(\n features => ({\n label,\n options: features,\n }),\n ),\n );\n }\n }\n }\n });\n\n if (reqList?.length) {\n Promise.all(reqList).then(res => {\n res.map(v => {\n if (v.options?.length) {\n list.push(v);\n }\n });\n resolve(list);\n });\n } else {\n resolve(list);\n }\n });\n};\n\n// 根据关键字获取图形信息\nconst getVectorFeatureInfoByText = (layer, field, searchText) => {\n const source = layer.getSource().source || layer.getSource();\n let features = source.getFeatures();\n if (features?.length) {\n let _features = features.filter(\n v => (v?.values_?.[field] || '').indexOf(searchText) !== -1,\n );\n if (_features?.length) {\n return handleResult(_features, layer, field);\n }\n }\n};\n\n// 根据关键字获取图形信息\nconst getWmsFeatureInfoByText = (layer, field, searchText) => {\n const { tenantId } = getVtxToken();\n let source = layer.getSource();\n let params = {\n maxFeatures: 50,\n service: 'WFS',\n request: 'GetFeature',\n outputFormat: 'application/json',\n geoserverUrl: source.url_ || layer.url,\n version: source.params_.VERSION,\n typeName: layer.params.QUERY_LAYERS || source.params_.QUERY_LAYERS,\n cql_filter: layer.params.cql_filter || source.params_.cql_filter,\n viewparams: `tenantId:${tenantId}`,\n };\n\n let cql_filter = `${field} like '%${searchText}%'`;\n // let cql_filter = layer.encrypt\n // ? `${field} like '%${searchText}%'`\n // : encodeURI(`${field} like '%${searchText}%'`);\n\n params.cql_filter = params.cql_filter ? `(${params.cql_filter}) and ${cql_filter}` : cql_filter;\n\n if (layer.encrypt) {\n params = encryptParams(params, layer.encrypt);\n } else {\n params.cql_filter = encodeURI(params.cql_filter);\n }\n\n const queryString = Object.entries(params)\n .reduce((acc, [key, value]) => {\n return `${acc}${key}=${value}&`;\n }, '?')\n .slice(0, -1);\n\n return http\n .get(`${source.url_ || layer.url}${queryString}`)\n .then(data => {\n let features = [];\n if (data?.features?.length) {\n const geoJsonFormat = new GeoJSON();\n features = geoJsonFormat.readFeatures(data);\n\n features = handleResult(features, layer, field);\n }\n return features;\n })\n .catch(() => {\n return [];\n });\n};\n\nconst handleResult = (features, layer, field) => {\n return features.map(v => {\n v.label = v?.values_?.[field];\n v.value = v?.values_?.id || v?.values_?.facilityId || v?.values_?.[field];\n v.layerKey = layer.key;\n\n return v;\n });\n};\n\nexport const toolOptions = [\n // { label: '点选', icon: 'icon-dianxuan', active: true, key: 'pointSelect' },\n { label: '框选', icon: 'icon-kuangxuan', key: 'boxSelect' },\n { label: '圈选', icon: 'icon-quanxuan', key: 'circleSelect' },\n { label: '多边形选择', icon: 'icon-duobianxingxuanze', key: 'polygonSelect' },\n // { label: '空间定位查询', icon: 'icon-kuangxuan', key: 'spaceQuery' },\n];\n\nexport default function Search(props) {\n const { active, setActive } = props;\n const { map } = useProps();\n const time = useRef(null);\n const [options, setOptions] = useState([]);\n const [value, setValue] = useState('');\n\n const itemWrapRef = useRef();\n\n // 地址查询\n const onSearch = searchText => {\n if (time.current) {\n clearTimeout(time.current);\n }\n\n if (searchText) {\n time.current = setTimeout(() => {\n getMapFeatureInfoByText(map, searchText).then(data => {\n setOptions(data);\n });\n }, 500);\n } else {\n setOptions([]);\n }\n };\n\n const onChange = _value => {\n setValue(_value);\n };\n\n useEffect(() => {\n // 挂载关闭工具方法\n map.closeToolbox = () => {\n setActive('');\n };\n\n return () => {\n // 移除关闭工具方法\n delete map.closeToolbox;\n };\n }, []);\n\n const onActive = v => {\n if (!v.key) {\n return;\n }\n\n const value = active && v.key === active ? '' : v.key;\n\n // 执行关闭分析\n map.closeAnalysis && map.closeAnalysis();\n\n // 增加当前激活的工具属性\n map.toolboxActive = value;\n\n setActive(value);\n };\n\n const onSelect = (_value, e) => {\n let feature;\n options.map(v => {\n if (v?.options?.length) {\n v.options.map(o => {\n if (o.value === _value) {\n feature = o;\n }\n });\n }\n });\n map.showTemplate(feature);\n\n map.fitView(e);\n\n setValue(e.label);\n };\n\n const onClear = () => {\n map.fitView();\n map.hideTemplate();\n };\n return (\n <>\n <ItemWrap ref={itemWrapRef} content={<SearchOutlined />}>\n <AutoComplete\n placeholder=\"请输入\"\n options={options}\n style={{ width: 200 }}\n value={value}\n onSearch={onSearch}\n onChange={onChange}\n onSelect={onSelect}\n allowClear\n onClear={onClear}\n onFocus={() => setActive('')}\n />\n {toolOptions &&\n toolOptions.length > 0 &&\n toolOptions.map(v => {\n const params = props[v.key];\n if (params?.show) {\n return (\n <ToolItem\n key={v.label}\n onClick={() => {\n itemWrapRef.current.setVisible(false);\n onActive(v);\n }}\n label={v.label}\n icon={v.icon}\n active={active === v.key || v.active}\n />\n );\n } else {\n return null;\n }\n })}\n </ItemWrap>\n </>\n );\n}\n\nSearch.defaultProps = {\n boxSelect: { show: true },\n circleSelect: { show: true },\n polygonSelect: { show: true },\n spaceQuery: { show: true },\n};\n"],"mappings":"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"}
@@ -19,6 +19,7 @@ var _useProps3 = _interopRequireDefault(require("../../../use-props"));
19
19
  var _classnames2 = _interopRequireDefault(require("classnames"));
20
20
  var _ahooks = require("ahooks");
21
21
  var _ImageLayer = require("../../../image-layer/ImageLayer");
22
+ var _WmsLayer = _interopRequireDefault(require("../../../wms-layer/WmsLayer"));
22
23
  var _turf = require("@turf/turf");
23
24
  var _Info = _interopRequireDefault(require("../../components/Info"));
24
25
  var _Chart = _interopRequireDefault(require("../../components/Chart"));
@@ -568,7 +569,7 @@ var _default = function _default(props) {
568
569
  var _opts$;
569
570
  var opts = [];
570
571
  var layers = map.getAllLayers().filter(function (v) {
571
- return !v.viewOnly && v.key && v.name && v.layerControl && v.show && v.key !== "Highlight";
572
+ return !v.viewOnly && v.key && v.name && v.layerControl && v.show && v.key !== 'Highlight';
572
573
  });
573
574
  layers.map(function (v) {
574
575
  opts.push(_objectSpread(_objectSpread({}, v), {}, {
@@ -601,7 +602,7 @@ var _default = function _default(props) {
601
602
  if (geometry && currentLayerKey && layer) {
602
603
  var tableData = [];
603
604
  // wms图层
604
- if (layer instanceof _layer2.Image) {
605
+ if (layer instanceof _layer2.Image || layer instanceof _WmsLayer["default"]) {
605
606
  getWmsData(geometry, layer, tableData);
606
607
  } else if (layer instanceof _layer2.Vector) {
607
608
  getWfsData(geometry, layer, tableData);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_antd","_icons","_Table","_interopRequireDefault","_Modal","_layer","_layer2","_Polygon","_Draw","_useProps3","_classnames2","_ahooks","_ImageLayer","_turf","_Info","_Chart","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","iter","Symbol","iterator","Array","from","isArray","_arrayLikeToArray","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","o","minLen","n","toString","slice","constructor","name","test","len","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","err","classPrefix","getFeatureIntersects","polygon","feature","_feature$getGeometry","_feature$getGeometry2","_feature$getGeometry3","_lngLat$","lngLat","getGeometry","getCoordinates","poly","TurfPolygon","pt","B","getType","map","v","TurfPoint","intersects","TurfBooleanPointInPolygon","_lngLat$2","item","LayerSelect","props","_list","_props$options","options","onChange","currentKey","_useState","useState","_useState2","open","setOpen","_useState3","_useState4","active","setActive","time","useRef","useUpdateEffect","createElement","Fragment","showOpen","list","onClick","current","clearTimeout","setTimeout","className","classnames","concat","Space","size","wrap","index","label","Divider","style","margin","Button","icon","VerticalAlignTopOutlined","VerticalAlignBottomOutlined","type","TableView","dataSource","otherColumns","columns","info","_useProps","useProps","_useState5","_useState6","title","dataIndex","width","render","text","record","_map$getViewport","doc","document","getElementsByClassName","rect","getBoundingClientRect","parentRect","getViewport","left","showTemplate","fitViewOptions","padding","minHeight","rowKey","CaretUpOutlined","CaretDownOutlined","TYPE","TableOutlined","BarChartOutlined","LineChartOutlined","PieChartOutlined","ChartView","data","height","yAxis","show","legend","xAxis","field","unit","series","radius","center","position","formatter","PipeDataView","_TYPE$","_useState7","_useState8","setType","chartData","useMemo","ds","d","totalLength","reduce","prev","cur","Segmented","toFixed","DEVICE_STATUS_NAME","color","DeviceInfo","val","deviceValues","device","factorValues","factor","monitorItemName","formatValue","collectFrequency","dataVal","maxValue","Math","max","minValue","min","avgValue","DeviceDataView","_useState9","_useState10","setFilter","_DEVICE_STATUS_NAME$t","tableData","status","getTotal","_default","onClose","drawType","renderTableActive","statistic","_useProps2","_useState11","_useState12","currentLayerKey","setCurrentLayerKey","_useState13","_useState14","setDataSource","_useState15","_useState16","loading","setLoading","_useState17","_useState18","layersOpts","setLayersOpts","_useState19","_useState20","setFeature","draw","useDeepCompareEffect","useEffect","layersChange","getOptions","layers","on","un","Draw","zIndex","destroy","hideTemplate","_opts$","opts","getAllLayers","viewOnly","layerControl","_key","layer","getLayerByKey","_feature$getGeometry4","geometry","Image","getWmsData","Vector","getWfsData","message","extent","getExtent","getSource","features","getFeatureInfo","listKeys","getKeys","labelField","NAME","forEachFeatureIntersectingExtent","featureList","addTableData","f","polygonGeometry","fromCircle","featureIntersects","setHighlightFeature","_layer$getSource","_layer$getSource$para","_layer$group","_filter","params_","cql_filter","group","getFilter","coorStr","coordinates","getWFSFeatureInfoByLayer","then","line_length","lineLength","isDeviceLayer","_layer$params","_layer$url","deviceTypeId","params","url","indexOf","Boolean","isPipeLineLayer","toUpperCase","Spin","spinning","exports"],"sources":["tools/Toolbox/SelectTools/index.js"],"sourcesContent":["/*\n * @Description:框选、圈选、多边形选择\n */\nimport React, { useEffect, useRef, useState, useMemo } from 'react';\nimport { message, Space, Divider, Button, Spin, Segmented } from 'antd';\nimport {\n CaretUpOutlined,\n CaretDownOutlined,\n TableOutlined,\n PieChartOutlined,\n BarChartOutlined,\n LineChartOutlined,\n} from '@ant-design/icons';\nimport Table from '../../components/Table';\nimport Modal from '../../components/Modal';\nimport { getWFSFeatureInfoByLayer } from '../../../_util/layer';\nimport { Image, Vector } from 'ol/layer';\nimport { fromCircle } from 'ol/geom/Polygon';\nimport Draw from '../../Utils/Draw';\nimport './index.less';\nimport useProps from '../../../use-props';\nimport classnames from 'classnames';\nimport { useUpdateEffect, useDeepCompareEffect } from 'ahooks';\nimport { VerticalAlignBottomOutlined, VerticalAlignTopOutlined } from '@ant-design/icons';\nimport { getFilter } from '../../../image-layer/ImageLayer';\nimport {\n booleanPointInPolygon as TurfBooleanPointInPolygon,\n point as TurfPoint,\n polygon as TurfPolygon,\n} from '@turf/turf';\nimport Info from '../../components/Info';\nimport Chart from '../../components/Chart';\n\nconst classPrefix = 'selectTools';\n\nconst getFeatureIntersects = (polygon, feature) => {\n let lngLat = feature?.getGeometry()?.getCoordinates();\n const poly = TurfPolygon(polygon.getCoordinates());\n\n let pt;\n let B = false;\n\n if (feature?.getGeometry()?.getType() === 'Point') {\n lngLat.map(v => Number(v));\n pt = TurfPoint(lngLat);\n // 判断在点在多边形内\n if (poly && pt) {\n const intersects = TurfBooleanPointInPolygon(pt, poly);\n if (intersects) {\n B = true;\n }\n }\n }\n\n if (feature?.getGeometry()?.getType() === 'Polygon' && lngLat?.[0]?.length) {\n lngLat?.[0].map(v => Number(v));\n lngLat?.[0]?.map(item => {\n pt = TurfPoint(item);\n if (poly && pt) {\n const intersects = TurfBooleanPointInPolygon(pt, poly);\n if (intersects) {\n B = true;\n }\n }\n });\n }\n\n return B;\n};\n\nconst LayerSelect = props => {\n const { options = [], value, onChange, currentKey } = props;\n const [open, setOpen] = useState(false);\n const [active, setActive] = useState(value);\n const time = useRef();\n\n useUpdateEffect(() => {\n setActive(value);\n }, [value]);\n\n if (!options?.length) {\n return <></>;\n }\n const showOpen = options?.length > 9;\n\n let list = options;\n if (options?.length) {\n if (!open) {\n if (options.length > 9) {\n list = options.slice(0, 9);\n }\n } else {\n list = options;\n }\n }\n\n const onClick = value => {\n setActive(value);\n currentKey.current = value;\n\n if (time.current) {\n clearTimeout(time.current);\n }\n\n time.current = setTimeout(() => {\n onChange?.(value);\n }, 500);\n };\n\n return (\n <div\n className={classnames(`${classPrefix}-layer-select`, {\n 'selectTools-layer-select-scroll': open,\n })}\n >\n <Space size={[8, 8]} wrap>\n {list?.length > 0 &&\n list.map((item, index) => (\n <div\n key={index}\n className={classnames(`${classPrefix}-layer-select-item`, {\n [`${classPrefix}-layer-select-item-active`]: active === item.value,\n })}\n onClick={() => onClick(item.value)}\n >\n {item.label}\n </div>\n ))}\n </Space>\n\n {showOpen && (\n <Divider style={{ margin: 0 }}>\n <Button\n icon={open ? <VerticalAlignTopOutlined /> : <VerticalAlignBottomOutlined />}\n onClick={() => setOpen(!open)}\n type=\"link\"\n >\n {open ? '收起' : '展开'}\n </Button>\n </Divider>\n )}\n </div>\n );\n};\n\nconst TableView = props => {\n const { dataSource, columns: otherColumns, info } = props;\n const { map } = useProps();\n const [open, setOpen] = useState(true);\n\n const columns = [\n {\n title: '编码/名称',\n dataIndex: 'NAME',\n width: 180,\n render: (text, record) => {\n return (\n <a\n onClick={() => {\n let doc = document.getElementsByClassName('ol-map-tools')[0];\n let rect = doc?.getBoundingClientRect();\n let parentRect = map.getViewport()?.getBoundingClientRect();\n let left = 400;\n if (rect && parentRect) {\n left = rect?.left - parentRect?.left + 12 + 350 + 150;\n }\n map.showTemplate(record.feature, {\n fitViewOptions: { padding: [100, 400, 100, left] },\n });\n }}\n >\n {text}\n </a>\n );\n },\n },\n ...(otherColumns || []),\n ];\n\n return (\n <>\n <div style={{ minHeight: 20 }}>\n {open && (\n <>\n {info}\n <Table\n rowKey=\"code\"\n dataSource={dataSource}\n columns={columns}\n size=\"small\"\n />\n </>\n )}\n </div>\n\n {dataSource?.length > 0 && (\n <div className=\"ol-map-search-result-button\" onClick={() => setOpen(!open)}>\n {open ? '收起' : '展开'}\n {open ? <CaretUpOutlined /> : <CaretDownOutlined />}\n </div>\n )}\n </>\n );\n};\n\nconst TYPE = [\n { label: '表格', value: 'table', icon: <TableOutlined /> },\n { label: '柱状图', value: 'bar', icon: <BarChartOutlined /> },\n { label: '折线图', value: 'line', icon: <LineChartOutlined /> },\n { label: '饼图', value: 'pie', icon: <PieChartOutlined /> },\n];\n\nconst ChartView = props => {\n const { type, data } = props;\n return (\n <Chart\n style={{ height: 300 }}\n yAxis={{\n show: type !== 'pie',\n name: '条',\n }}\n legend={{ show: false }}\n xAxis={{\n show: type !== 'pie',\n field: 'name',\n }}\n unit=\"条\"\n series={[\n {\n type,\n name: '管线',\n radius: ['30%', '50%'],\n center: ['50%', '50%'],\n // data: data['供水量'] || [1000, 1200],\n ...(type === 'pie'\n ? {\n data,\n label: {\n show: true,\n position: 'outside',\n formatter: '{b}\\n{c}条',\n },\n }\n : {\n field: 'value',\n label: {\n show: true,\n position: 'top',\n formatter: '{c}条',\n },\n }),\n },\n ]}\n data={data}\n />\n );\n};\nconst PipeDataView = props => {\n const { dataSource } = props;\n const [type, setType] = useState(TYPE[0]?.value);\n\n const chartData = useMemo(() => {\n const data = [\n { name: '50mm以下', value: 0, filter: item => item.ds < 50 },\n { name: '50-100mm', value: 0, filter: item => item.ds >= 50 && item.ds < 100 },\n { name: '100-300mm', value: 0, filter: item => item.ds >= 100 && item.ds < 300 },\n { name: '300-600mm', value: 0, filter: item => item.ds >= 300 && item.ds < 600 },\n { name: '600-1000mm', value: 0, filter: item => item.ds >= 600 && item.ds < 1000 },\n { name: '1000mm以上', value: 0, filter: item => item.ds >= 1000 },\n ];\n dataSource.map(item => {\n item.ds = item.ds ? Number(item.ds) : 0;\n data.map(d => {\n if (d.filter(item)) {\n d.value += 1;\n }\n });\n });\n\n return data.filter(v => v.value > 0);\n }, [dataSource]);\n\n const columns = [\n {\n title: '长度(m)',\n dataIndex: 'lineLength',\n width: 100,\n },\n ];\n\n let totalLength = 0;\n if (dataSource?.length) {\n totalLength =\n dataSource.reduce((prev, cur) => {\n return prev + (cur['lineLength'] || 0);\n }, 0) / 1000;\n }\n return (\n <>\n <Segmented options={TYPE} value={type} onChange={setType} />\n\n {type === 'table' ? (\n <TableView\n columns={columns}\n dataSource={dataSource}\n info={\n <Info\n list={[\n { label: '管线总数', value: dataSource?.length || 0, unit: '条' },\n {\n label: '管线总长',\n value: totalLength\n ? Number(totalLength).toFixed(2)\n : totalLength,\n unit: 'km',\n },\n ]}\n />\n }\n />\n ) : (\n <ChartView data={chartData} type={type} />\n )}\n </>\n );\n};\n\nconst DEVICE_STATUS_NAME = {\n 1: { label: '在线', color: '#119FFB' }, // 正常/在线\n 2: { label: '报警', color: '#CE3739' }, // 报警/异常\n 3: { label: '离线', color: '#AAAAAD' }, // 离线\n 4: { label: '故障', color: '#CE3739' }, // 故障/堵塞\n};\nconst DeviceInfo = props => {\n const { data } = props;\n\n const list = useMemo(() => {\n const val = {};\n data.map(item => {\n const { deviceValues } = item;\n if (deviceValues?.length) {\n deviceValues.map(device => {\n const { factorValues } = device;\n if (factorValues?.length) {\n factorValues.map(factor => {\n const { monitorItemName, formatValue, unit, collectFrequency } = factor;\n if (collectFrequency === 'realtime' && formatValue) {\n val[monitorItemName] = val[monitorItemName] || {\n name: monitorItemName,\n unit: unit,\n data: [],\n };\n val[monitorItemName].data.push(Number(formatValue));\n }\n });\n }\n });\n }\n });\n\n const dataVal = [];\n for (let i in val) {\n const { data } = val[i];\n const maxValue = Math.max(...data);\n const minValue = Math.min(...data);\n const avgValue =\n data.reduce((prev, cur) => {\n return prev + cur;\n }, 0) / data.length;\n\n dataVal.push({\n ...val[i],\n maxValue,\n minValue,\n avgValue: avgValue ? Number(avgValue).toFixed(2) : avgValue,\n });\n }\n\n return dataVal;\n }, [data?.length]);\n\n if (!list?.length) {\n return <></>;\n }\n\n return (\n <div className={classnames(`${classPrefix}-device`)}>\n <div className={classnames(`${classPrefix}-device-top`)}>\n <div>监测项</div>\n <div>最大值</div>\n <div>最小值</div>\n <div>平均值</div>\n </div>\n <div className={classnames(`${classPrefix}-device-content`)}>\n {list?.length > 0 &&\n list.map((item, index) => (\n <div\n key={index}\n className={classnames(`${classPrefix}-device-content-item`)}\n >\n <div>{item.name}</div>\n <div>\n {item.maxValue}\n <span>{item.unit}</span>\n </div>\n <div>\n {item.minValue}\n <span>{item.unit}</span>\n </div>\n <div>\n {item.avgValue}\n <span>{item.unit}</span>\n </div>\n </div>\n ))}\n </div>\n </div>\n );\n};\nconst DeviceDataView = props => {\n const { dataSource } = props;\n const [filter, setFilter] = useState(null);\n\n const columns = [\n {\n title: '状态',\n dataIndex: 'status',\n width: 100,\n render: text => {\n if (DEVICE_STATUS_NAME[text]) {\n const { color, label } = DEVICE_STATUS_NAME[text];\n return <span style={{ color }}>{label}</span>;\n }\n return '-';\n },\n },\n ];\n\n const tableData = useMemo(() => {\n return filter ? dataSource.filter(item => Number(item.status) === filter) : dataSource;\n }, [filter, dataSource?.length]);\n\n const getTotal = value => {\n return dataSource.filter(item => Number(item.status) === value).length;\n };\n return (\n <TableView\n columns={columns}\n dataSource={tableData}\n info={\n <div>\n <Info\n list={[\n {\n label: '总数',\n value: dataSource?.length || 0,\n unit: '个',\n onClick: () => setFilter(null),\n },\n {\n label: '在线',\n value: getTotal(1),\n unit: '个',\n onClick: () => setFilter(1),\n },\n {\n label: '报警',\n value: getTotal(2),\n unit: '个',\n onClick: () => setFilter(2),\n },\n {\n label: '离线',\n value: getTotal(3),\n unit: '个',\n onClick: () => setFilter(3),\n },\n ]}\n />\n <DeviceInfo data={dataSource} />\n </div>\n }\n />\n );\n};\n\nexport default props => {\n const { onClose, drawType, title, renderTableActive, statistic } = props;\n const { map } = useProps();\n const [currentLayerKey, setCurrentLayerKey] = useState('');\n const [dataSource, setDataSource] = useState([]);\n const [loading, setLoading] = useState(false);\n\n const [layersOpts, setLayersOpts] = useState([]);\n const [feature, setFeature] = useState({});\n\n const draw = useRef();\n const currentKey = useRef();\n\n useDeepCompareEffect(() => {\n onClick();\n }, [currentLayerKey, feature, layersOpts]);\n\n useEffect(() => {\n const layersChange = () => {\n getOptions();\n };\n\n layersChange();\n\n // 添加图层变化监听事件\n map.layers.on('change', layersChange);\n\n return () => {\n // 移除图层变化监听事件\n map.layers.un('change', layersChange);\n };\n }, []);\n\n useEffect(() => {\n draw.current = new Draw({ map, zIndex: 80 });\n draw.current.draw(drawType, feature => {\n setFeature(feature);\n });\n return () => {\n draw.current.destroy();\n map.hideTemplate();\n currentKey.current = null;\n };\n }, []);\n\n const getOptions = () => {\n if (map) {\n let opts = [];\n let layers = map.getAllLayers().filter(v => {\n return !v.viewOnly && v.key && v.name && v.layerControl && v.show && v.key !== \"Highlight\";\n });\n layers.map(v => {\n opts.push({\n ...v,\n value: v.key,\n label: v.name,\n });\n });\n\n // 当前key对应的图层还显示的话取当前的key否者取第一个layersOpts的key\n let _key = opts?.[0]?.value;\n if (currentKey.current) {\n let layer = map.layers.getLayerByKey(currentKey.current);\n if (layer && layer?.show) {\n _key = currentKey.current;\n }\n }\n currentKey.current = _key;\n setCurrentLayerKey(_key);\n setLayersOpts(opts);\n }\n };\n\n const onClick = () => {\n setDataSource([]);\n if (!feature) return;\n let geometry = feature?.getGeometry?.();\n if (!geometry) return;\n setLoading(true);\n\n let layer = map.layers.getLayerByKey(currentLayerKey);\n if (geometry && currentLayerKey && layer) {\n let tableData = [];\n // wms图层\n if (layer instanceof Image) {\n getWmsData(geometry, layer, tableData);\n } else if (layer instanceof Vector) {\n getWfsData(geometry, layer, tableData);\n }\n } else {\n setLoading(false);\n if (!geometry) {\n message.destroy();\n message.info('请先框选图层', 2);\n }\n if (!currentLayerKey) {\n message.destroy();\n message.info('请先选择图层', 2);\n }\n }\n };\n\n /**\n * @description: wfs图层时获取框选数据\n * @param {*} geometry\n * @param {*} layer\n * @param {*} tableData\n * @return {*}\n */\n const getWfsData = (geometry, layer, tableData) => {\n let extent = geometry.getExtent();\n let source = layer.getSource();\n let features = [];\n const getFeatureInfo = feature => {\n let listKeys = feature.getKeys();\n let data = {};\n listKeys.forEach(item => {\n if (feature.get(item)) {\n data[item] = feature.get(item);\n\n if (layer.labelField) {\n data.NAME = feature.get(layer.labelField);\n }\n\n data.feature = feature;\n }\n });\n return data;\n };\n if (source.forEachFeatureIntersectingExtent && extent) {\n source.forEachFeatureIntersectingExtent(extent, feature => {\n let featureList = feature.get('features');\n\n const addTableData = f => {\n let data = getFeatureInfo(f);\n tableData.push(data);\n features.push(f);\n };\n if (featureList?.length > 1) {\n featureList.forEach(f => {\n // 圈选处理\n if (drawType === 'Circle') {\n const polygonGeometry = new fromCircle(geometry);\n const featureIntersects = getFeatureIntersects(polygonGeometry, f);\n if (!featureIntersects) {\n return;\n }\n }\n\n addTableData(f);\n });\n } else {\n // 圈选处理\n if (drawType === 'Circle') {\n const polygonGeometry = new fromCircle(geometry);\n const featureIntersects = getFeatureIntersects(polygonGeometry, feature);\n if (!featureIntersects) {\n return;\n }\n }\n\n addTableData(feature);\n }\n });\n setLoading(false);\n map.setHighlightFeature(features);\n setDataSource(tableData);\n } else {\n setLoading(false);\n }\n };\n\n /**\n * @description: wms图层时获取框选数据\n * @return {*}\n */\n const getWmsData = (geometry, layer, tableData) => {\n let _filter = layer?.getSource()?.params_?.cql_filter || '';\n\n if (layer?.group?.length) {\n _filter = getFilter(layer.group);\n }\n\n let coorStr = '';\n let coordinates = geometry.getCoordinates();\n\n // 圈选处理\n if (drawType === 'Circle') {\n let polygonGeometry = new fromCircle(geometry);\n coordinates = polygonGeometry.getCoordinates();\n }\n\n coordinates[0].forEach((v, i) => {\n if (i == 0) {\n coorStr += `${v[0]} ${v[1]}`;\n } else {\n coorStr += `, ${v[0]} ${v[1]}`;\n }\n });\n // 增加图层的其他过滤\n const filter = _filter ? `(${_filter}) and ` : '';\n\n getWFSFeatureInfoByLayer(\n layer,\n `${filter}INTERSECTS(geo_location, POLYGON((${coorStr})))`,\n ).then(features => {\n setLoading(false);\n map.setHighlightFeature(features);\n if (features?.length) {\n features.forEach(item => {\n let listKeys = item.getKeys();\n let data = {};\n listKeys.forEach(key => {\n if (item.get(key)) {\n data[key] = item.get(key);\n data.feature = item;\n }\n });\n if (layer.labelField) {\n data.NAME = item.get(layer.labelField) || '';\n }\n\n // 处理管线长度字段\n if (data.line_length) {\n data.lineLength = data.lineLength || data.line_length;\n }\n\n tableData.push(data);\n });\n setDataSource(tableData);\n } else {\n message.destroy();\n message.info('暂无数据', 2);\n }\n });\n };\n\n // 判断是否是设备图层\n const isDeviceLayer = useMemo(() => {\n const layer = map?.getLayerByKey(currentLayerKey);\n const deviceTypeId = layer?.params?.deviceTypeId;\n const url = layer?.url?.indexOf('/cloud/device/deviceMap/list') !== -1;\n return Boolean(deviceTypeId && url);\n }, [currentLayerKey]);\n\n // 判断是否是管线图层\n const isPipeLineLayer = currentLayerKey && currentLayerKey.toUpperCase().indexOf('LINE') !== -1;\n\n return (\n <Modal title={title || ''} onClose={onClose} width={300}>\n <Spin spinning={loading}>\n <LayerSelect\n options={layersOpts}\n value={currentLayerKey}\n onChange={setCurrentLayerKey}\n currentKey={currentKey}\n />\n\n {renderTableActive && renderTableActive(dataSource, currentLayerKey, onClick)}\n\n {statistic ? (\n isPipeLineLayer ? (\n <PipeDataView dataSource={dataSource} />\n ) : isDeviceLayer ? (\n <DeviceDataView dataSource={dataSource} />\n ) : (\n <TableView dataSource={dataSource} />\n )\n ) : (\n <TableView dataSource={dataSource} />\n )}\n </Spin>\n </Modal>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireWildcard","require","_antd","_icons","_Table","_interopRequireDefault","_Modal","_layer","_layer2","_Polygon","_Draw","_useProps3","_classnames2","_ahooks","_ImageLayer","_WmsLayer","_turf","_Info","_Chart","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","iter","Symbol","iterator","Array","from","isArray","_arrayLikeToArray","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","o","minLen","n","toString","slice","constructor","name","test","len","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","err","classPrefix","getFeatureIntersects","polygon","feature","_feature$getGeometry","_feature$getGeometry2","_feature$getGeometry3","_lngLat$","lngLat","getGeometry","getCoordinates","poly","TurfPolygon","pt","B","getType","map","v","TurfPoint","intersects","TurfBooleanPointInPolygon","_lngLat$2","item","LayerSelect","props","_list","_props$options","options","onChange","currentKey","_useState","useState","_useState2","open","setOpen","_useState3","_useState4","active","setActive","time","useRef","useUpdateEffect","createElement","Fragment","showOpen","list","onClick","current","clearTimeout","setTimeout","className","classnames","concat","Space","size","wrap","index","label","Divider","style","margin","Button","icon","VerticalAlignTopOutlined","VerticalAlignBottomOutlined","type","TableView","dataSource","otherColumns","columns","info","_useProps","useProps","_useState5","_useState6","title","dataIndex","width","render","text","record","_map$getViewport","doc","document","getElementsByClassName","rect","getBoundingClientRect","parentRect","getViewport","left","showTemplate","fitViewOptions","padding","minHeight","rowKey","CaretUpOutlined","CaretDownOutlined","TYPE","TableOutlined","BarChartOutlined","LineChartOutlined","PieChartOutlined","ChartView","data","height","yAxis","show","legend","xAxis","field","unit","series","radius","center","position","formatter","PipeDataView","_TYPE$","_useState7","_useState8","setType","chartData","useMemo","ds","d","totalLength","reduce","prev","cur","Segmented","toFixed","DEVICE_STATUS_NAME","color","DeviceInfo","val","deviceValues","device","factorValues","factor","monitorItemName","formatValue","collectFrequency","dataVal","maxValue","Math","max","minValue","min","avgValue","DeviceDataView","_useState9","_useState10","setFilter","_DEVICE_STATUS_NAME$t","tableData","status","getTotal","_default","onClose","drawType","renderTableActive","statistic","_useProps2","_useState11","_useState12","currentLayerKey","setCurrentLayerKey","_useState13","_useState14","setDataSource","_useState15","_useState16","loading","setLoading","_useState17","_useState18","layersOpts","setLayersOpts","_useState19","_useState20","setFeature","draw","useDeepCompareEffect","useEffect","layersChange","getOptions","layers","on","un","Draw","zIndex","destroy","hideTemplate","_opts$","opts","getAllLayers","viewOnly","layerControl","_key","layer","getLayerByKey","_feature$getGeometry4","geometry","Image","WmsLayer","getWmsData","Vector","getWfsData","message","extent","getExtent","getSource","features","getFeatureInfo","listKeys","getKeys","labelField","NAME","forEachFeatureIntersectingExtent","featureList","addTableData","f","polygonGeometry","fromCircle","featureIntersects","setHighlightFeature","_layer$getSource","_layer$getSource$para","_layer$group","_filter","params_","cql_filter","group","getFilter","coorStr","coordinates","getWFSFeatureInfoByLayer","then","line_length","lineLength","isDeviceLayer","_layer$params","_layer$url","deviceTypeId","params","url","indexOf","Boolean","isPipeLineLayer","toUpperCase","Spin","spinning","exports"],"sources":["tools/Toolbox/SelectTools/index.js"],"sourcesContent":["/*\n * @Description:框选、圈选、多边形选择\n */\nimport React, { useEffect, useRef, useState, useMemo } from 'react';\nimport { message, Space, Divider, Button, Spin, Segmented } from 'antd';\nimport {\n CaretUpOutlined,\n CaretDownOutlined,\n TableOutlined,\n PieChartOutlined,\n BarChartOutlined,\n LineChartOutlined,\n} from '@ant-design/icons';\nimport Table from '../../components/Table';\nimport Modal from '../../components/Modal';\nimport { getWFSFeatureInfoByLayer } from '../../../_util/layer';\nimport { Image, Vector } from 'ol/layer';\nimport { fromCircle } from 'ol/geom/Polygon';\nimport Draw from '../../Utils/Draw';\nimport './index.less';\nimport useProps from '../../../use-props';\nimport classnames from 'classnames';\nimport { useUpdateEffect, useDeepCompareEffect } from 'ahooks';\nimport { VerticalAlignBottomOutlined, VerticalAlignTopOutlined } from '@ant-design/icons';\nimport { getFilter } from '../../../image-layer/ImageLayer';\nimport WmsLayer from '../../../wms-layer/WmsLayer';\nimport {\n booleanPointInPolygon as TurfBooleanPointInPolygon,\n point as TurfPoint,\n polygon as TurfPolygon,\n} from '@turf/turf';\nimport Info from '../../components/Info';\nimport Chart from '../../components/Chart';\n\nconst classPrefix = 'selectTools';\n\nconst getFeatureIntersects = (polygon, feature) => {\n let lngLat = feature?.getGeometry()?.getCoordinates();\n const poly = TurfPolygon(polygon.getCoordinates());\n\n let pt;\n let B = false;\n\n if (feature?.getGeometry()?.getType() === 'Point') {\n lngLat.map(v => Number(v));\n pt = TurfPoint(lngLat);\n // 判断在点在多边形内\n if (poly && pt) {\n const intersects = TurfBooleanPointInPolygon(pt, poly);\n if (intersects) {\n B = true;\n }\n }\n }\n\n if (feature?.getGeometry()?.getType() === 'Polygon' && lngLat?.[0]?.length) {\n lngLat?.[0].map(v => Number(v));\n lngLat?.[0]?.map(item => {\n pt = TurfPoint(item);\n if (poly && pt) {\n const intersects = TurfBooleanPointInPolygon(pt, poly);\n if (intersects) {\n B = true;\n }\n }\n });\n }\n\n return B;\n};\n\nconst LayerSelect = props => {\n const { options = [], value, onChange, currentKey } = props;\n const [open, setOpen] = useState(false);\n const [active, setActive] = useState(value);\n const time = useRef();\n\n useUpdateEffect(() => {\n setActive(value);\n }, [value]);\n\n if (!options?.length) {\n return <></>;\n }\n const showOpen = options?.length > 9;\n\n let list = options;\n if (options?.length) {\n if (!open) {\n if (options.length > 9) {\n list = options.slice(0, 9);\n }\n } else {\n list = options;\n }\n }\n\n const onClick = value => {\n setActive(value);\n currentKey.current = value;\n\n if (time.current) {\n clearTimeout(time.current);\n }\n\n time.current = setTimeout(() => {\n onChange?.(value);\n }, 500);\n };\n\n return (\n <div\n className={classnames(`${classPrefix}-layer-select`, {\n 'selectTools-layer-select-scroll': open,\n })}\n >\n <Space size={[8, 8]} wrap>\n {list?.length > 0 &&\n list.map((item, index) => (\n <div\n key={index}\n className={classnames(`${classPrefix}-layer-select-item`, {\n [`${classPrefix}-layer-select-item-active`]: active === item.value,\n })}\n onClick={() => onClick(item.value)}\n >\n {item.label}\n </div>\n ))}\n </Space>\n\n {showOpen && (\n <Divider style={{ margin: 0 }}>\n <Button\n icon={open ? <VerticalAlignTopOutlined /> : <VerticalAlignBottomOutlined />}\n onClick={() => setOpen(!open)}\n type=\"link\"\n >\n {open ? '收起' : '展开'}\n </Button>\n </Divider>\n )}\n </div>\n );\n};\n\nconst TableView = props => {\n const { dataSource, columns: otherColumns, info } = props;\n const { map } = useProps();\n const [open, setOpen] = useState(true);\n\n const columns = [\n {\n title: '编码/名称',\n dataIndex: 'NAME',\n width: 180,\n render: (text, record) => {\n return (\n <a\n onClick={() => {\n let doc = document.getElementsByClassName('ol-map-tools')[0];\n let rect = doc?.getBoundingClientRect();\n let parentRect = map.getViewport()?.getBoundingClientRect();\n let left = 400;\n if (rect && parentRect) {\n left = rect?.left - parentRect?.left + 12 + 350 + 150;\n }\n map.showTemplate(record.feature, {\n fitViewOptions: { padding: [100, 400, 100, left] },\n });\n }}\n >\n {text}\n </a>\n );\n },\n },\n ...(otherColumns || []),\n ];\n\n return (\n <>\n <div style={{ minHeight: 20 }}>\n {open && (\n <>\n {info}\n <Table\n rowKey=\"code\"\n dataSource={dataSource}\n columns={columns}\n size=\"small\"\n />\n </>\n )}\n </div>\n\n {dataSource?.length > 0 && (\n <div className=\"ol-map-search-result-button\" onClick={() => setOpen(!open)}>\n {open ? '收起' : '展开'}\n {open ? <CaretUpOutlined /> : <CaretDownOutlined />}\n </div>\n )}\n </>\n );\n};\n\nconst TYPE = [\n { label: '表格', value: 'table', icon: <TableOutlined /> },\n { label: '柱状图', value: 'bar', icon: <BarChartOutlined /> },\n { label: '折线图', value: 'line', icon: <LineChartOutlined /> },\n { label: '饼图', value: 'pie', icon: <PieChartOutlined /> },\n];\n\nconst ChartView = props => {\n const { type, data } = props;\n return (\n <Chart\n style={{ height: 300 }}\n yAxis={{\n show: type !== 'pie',\n name: '条',\n }}\n legend={{ show: false }}\n xAxis={{\n show: type !== 'pie',\n field: 'name',\n }}\n unit=\"条\"\n series={[\n {\n type,\n name: '管线',\n radius: ['30%', '50%'],\n center: ['50%', '50%'],\n // data: data['供水量'] || [1000, 1200],\n ...(type === 'pie'\n ? {\n data,\n label: {\n show: true,\n position: 'outside',\n formatter: '{b}\\n{c}条',\n },\n }\n : {\n field: 'value',\n label: {\n show: true,\n position: 'top',\n formatter: '{c}条',\n },\n }),\n },\n ]}\n data={data}\n />\n );\n};\nconst PipeDataView = props => {\n const { dataSource } = props;\n const [type, setType] = useState(TYPE[0]?.value);\n\n const chartData = useMemo(() => {\n const data = [\n { name: '50mm以下', value: 0, filter: item => item.ds < 50 },\n { name: '50-100mm', value: 0, filter: item => item.ds >= 50 && item.ds < 100 },\n { name: '100-300mm', value: 0, filter: item => item.ds >= 100 && item.ds < 300 },\n { name: '300-600mm', value: 0, filter: item => item.ds >= 300 && item.ds < 600 },\n { name: '600-1000mm', value: 0, filter: item => item.ds >= 600 && item.ds < 1000 },\n { name: '1000mm以上', value: 0, filter: item => item.ds >= 1000 },\n ];\n dataSource.map(item => {\n item.ds = item.ds ? Number(item.ds) : 0;\n data.map(d => {\n if (d.filter(item)) {\n d.value += 1;\n }\n });\n });\n\n return data.filter(v => v.value > 0);\n }, [dataSource]);\n\n const columns = [\n {\n title: '长度(m)',\n dataIndex: 'lineLength',\n width: 100,\n },\n ];\n\n let totalLength = 0;\n if (dataSource?.length) {\n totalLength =\n dataSource.reduce((prev, cur) => {\n return prev + (cur['lineLength'] || 0);\n }, 0) / 1000;\n }\n return (\n <>\n <Segmented options={TYPE} value={type} onChange={setType} />\n\n {type === 'table' ? (\n <TableView\n columns={columns}\n dataSource={dataSource}\n info={\n <Info\n list={[\n { label: '管线总数', value: dataSource?.length || 0, unit: '条' },\n {\n label: '管线总长',\n value: totalLength\n ? Number(totalLength).toFixed(2)\n : totalLength,\n unit: 'km',\n },\n ]}\n />\n }\n />\n ) : (\n <ChartView data={chartData} type={type} />\n )}\n </>\n );\n};\n\nconst DEVICE_STATUS_NAME = {\n 1: { label: '在线', color: '#119FFB' }, // 正常/在线\n 2: { label: '报警', color: '#CE3739' }, // 报警/异常\n 3: { label: '离线', color: '#AAAAAD' }, // 离线\n 4: { label: '故障', color: '#CE3739' }, // 故障/堵塞\n};\nconst DeviceInfo = props => {\n const { data } = props;\n\n const list = useMemo(() => {\n const val = {};\n data.map(item => {\n const { deviceValues } = item;\n if (deviceValues?.length) {\n deviceValues.map(device => {\n const { factorValues } = device;\n if (factorValues?.length) {\n factorValues.map(factor => {\n const { monitorItemName, formatValue, unit, collectFrequency } = factor;\n if (collectFrequency === 'realtime' && formatValue) {\n val[monitorItemName] = val[monitorItemName] || {\n name: monitorItemName,\n unit: unit,\n data: [],\n };\n val[monitorItemName].data.push(Number(formatValue));\n }\n });\n }\n });\n }\n });\n\n const dataVal = [];\n for (let i in val) {\n const { data } = val[i];\n const maxValue = Math.max(...data);\n const minValue = Math.min(...data);\n const avgValue =\n data.reduce((prev, cur) => {\n return prev + cur;\n }, 0) / data.length;\n\n dataVal.push({\n ...val[i],\n maxValue,\n minValue,\n avgValue: avgValue ? Number(avgValue).toFixed(2) : avgValue,\n });\n }\n\n return dataVal;\n }, [data?.length]);\n\n if (!list?.length) {\n return <></>;\n }\n\n return (\n <div className={classnames(`${classPrefix}-device`)}>\n <div className={classnames(`${classPrefix}-device-top`)}>\n <div>监测项</div>\n <div>最大值</div>\n <div>最小值</div>\n <div>平均值</div>\n </div>\n <div className={classnames(`${classPrefix}-device-content`)}>\n {list?.length > 0 &&\n list.map((item, index) => (\n <div\n key={index}\n className={classnames(`${classPrefix}-device-content-item`)}\n >\n <div>{item.name}</div>\n <div>\n {item.maxValue}\n <span>{item.unit}</span>\n </div>\n <div>\n {item.minValue}\n <span>{item.unit}</span>\n </div>\n <div>\n {item.avgValue}\n <span>{item.unit}</span>\n </div>\n </div>\n ))}\n </div>\n </div>\n );\n};\nconst DeviceDataView = props => {\n const { dataSource } = props;\n const [filter, setFilter] = useState(null);\n\n const columns = [\n {\n title: '状态',\n dataIndex: 'status',\n width: 100,\n render: text => {\n if (DEVICE_STATUS_NAME[text]) {\n const { color, label } = DEVICE_STATUS_NAME[text];\n return <span style={{ color }}>{label}</span>;\n }\n return '-';\n },\n },\n ];\n\n const tableData = useMemo(() => {\n return filter ? dataSource.filter(item => Number(item.status) === filter) : dataSource;\n }, [filter, dataSource?.length]);\n\n const getTotal = value => {\n return dataSource.filter(item => Number(item.status) === value).length;\n };\n return (\n <TableView\n columns={columns}\n dataSource={tableData}\n info={\n <div>\n <Info\n list={[\n {\n label: '总数',\n value: dataSource?.length || 0,\n unit: '个',\n onClick: () => setFilter(null),\n },\n {\n label: '在线',\n value: getTotal(1),\n unit: '个',\n onClick: () => setFilter(1),\n },\n {\n label: '报警',\n value: getTotal(2),\n unit: '个',\n onClick: () => setFilter(2),\n },\n {\n label: '离线',\n value: getTotal(3),\n unit: '个',\n onClick: () => setFilter(3),\n },\n ]}\n />\n <DeviceInfo data={dataSource} />\n </div>\n }\n />\n );\n};\n\nexport default props => {\n const { onClose, drawType, title, renderTableActive, statistic } = props;\n const { map } = useProps();\n const [currentLayerKey, setCurrentLayerKey] = useState('');\n const [dataSource, setDataSource] = useState([]);\n const [loading, setLoading] = useState(false);\n\n const [layersOpts, setLayersOpts] = useState([]);\n const [feature, setFeature] = useState({});\n\n const draw = useRef();\n const currentKey = useRef();\n\n useDeepCompareEffect(() => {\n onClick();\n }, [currentLayerKey, feature, layersOpts]);\n\n useEffect(() => {\n const layersChange = () => {\n getOptions();\n };\n\n layersChange();\n\n // 添加图层变化监听事件\n map.layers.on('change', layersChange);\n\n return () => {\n // 移除图层变化监听事件\n map.layers.un('change', layersChange);\n };\n }, []);\n\n useEffect(() => {\n draw.current = new Draw({ map, zIndex: 80 });\n draw.current.draw(drawType, feature => {\n setFeature(feature);\n });\n return () => {\n draw.current.destroy();\n map.hideTemplate();\n currentKey.current = null;\n };\n }, []);\n\n const getOptions = () => {\n if (map) {\n let opts = [];\n let layers = map.getAllLayers().filter(v => {\n return (\n !v.viewOnly &&\n v.key &&\n v.name &&\n v.layerControl &&\n v.show &&\n v.key !== 'Highlight'\n );\n });\n layers.map(v => {\n opts.push({\n ...v,\n value: v.key,\n label: v.name,\n });\n });\n\n // 当前key对应的图层还显示的话取当前的key否者取第一个layersOpts的key\n let _key = opts?.[0]?.value;\n if (currentKey.current) {\n let layer = map.layers.getLayerByKey(currentKey.current);\n if (layer && layer?.show) {\n _key = currentKey.current;\n }\n }\n currentKey.current = _key;\n setCurrentLayerKey(_key);\n setLayersOpts(opts);\n }\n };\n\n const onClick = () => {\n setDataSource([]);\n if (!feature) return;\n let geometry = feature?.getGeometry?.();\n if (!geometry) return;\n setLoading(true);\n\n let layer = map.layers.getLayerByKey(currentLayerKey);\n if (geometry && currentLayerKey && layer) {\n let tableData = [];\n // wms图层\n if (layer instanceof Image || layer instanceof WmsLayer) {\n getWmsData(geometry, layer, tableData);\n } else if (layer instanceof Vector) {\n getWfsData(geometry, layer, tableData);\n }\n } else {\n setLoading(false);\n if (!geometry) {\n message.destroy();\n message.info('请先框选图层', 2);\n }\n if (!currentLayerKey) {\n message.destroy();\n message.info('请先选择图层', 2);\n }\n }\n };\n\n /**\n * @description: wfs图层时获取框选数据\n * @param {*} geometry\n * @param {*} layer\n * @param {*} tableData\n * @return {*}\n */\n const getWfsData = (geometry, layer, tableData) => {\n let extent = geometry.getExtent();\n let source = layer.getSource();\n let features = [];\n const getFeatureInfo = feature => {\n let listKeys = feature.getKeys();\n let data = {};\n listKeys.forEach(item => {\n if (feature.get(item)) {\n data[item] = feature.get(item);\n\n if (layer.labelField) {\n data.NAME = feature.get(layer.labelField);\n }\n\n data.feature = feature;\n }\n });\n return data;\n };\n if (source.forEachFeatureIntersectingExtent && extent) {\n source.forEachFeatureIntersectingExtent(extent, feature => {\n let featureList = feature.get('features');\n\n const addTableData = f => {\n let data = getFeatureInfo(f);\n tableData.push(data);\n features.push(f);\n };\n if (featureList?.length > 1) {\n featureList.forEach(f => {\n // 圈选处理\n if (drawType === 'Circle') {\n const polygonGeometry = new fromCircle(geometry);\n const featureIntersects = getFeatureIntersects(polygonGeometry, f);\n if (!featureIntersects) {\n return;\n }\n }\n\n addTableData(f);\n });\n } else {\n // 圈选处理\n if (drawType === 'Circle') {\n const polygonGeometry = new fromCircle(geometry);\n const featureIntersects = getFeatureIntersects(polygonGeometry, feature);\n if (!featureIntersects) {\n return;\n }\n }\n\n addTableData(feature);\n }\n });\n setLoading(false);\n map.setHighlightFeature(features);\n setDataSource(tableData);\n } else {\n setLoading(false);\n }\n };\n\n /**\n * @description: wms图层时获取框选数据\n * @return {*}\n */\n const getWmsData = (geometry, layer, tableData) => {\n let _filter = layer?.getSource()?.params_?.cql_filter || '';\n\n if (layer?.group?.length) {\n _filter = getFilter(layer.group);\n }\n\n let coorStr = '';\n let coordinates = geometry.getCoordinates();\n\n // 圈选处理\n if (drawType === 'Circle') {\n let polygonGeometry = new fromCircle(geometry);\n coordinates = polygonGeometry.getCoordinates();\n }\n\n coordinates[0].forEach((v, i) => {\n if (i == 0) {\n coorStr += `${v[0]} ${v[1]}`;\n } else {\n coorStr += `, ${v[0]} ${v[1]}`;\n }\n });\n // 增加图层的其他过滤\n const filter = _filter ? `(${_filter}) and ` : '';\n\n getWFSFeatureInfoByLayer(\n layer,\n `${filter}INTERSECTS(geo_location, POLYGON((${coorStr})))`,\n ).then(features => {\n setLoading(false);\n map.setHighlightFeature(features);\n if (features?.length) {\n features.forEach(item => {\n let listKeys = item.getKeys();\n let data = {};\n listKeys.forEach(key => {\n if (item.get(key)) {\n data[key] = item.get(key);\n data.feature = item;\n }\n });\n if (layer.labelField) {\n data.NAME = item.get(layer.labelField) || '';\n }\n\n // 处理管线长度字段\n if (data.line_length) {\n data.lineLength = data.lineLength || data.line_length;\n }\n\n tableData.push(data);\n });\n setDataSource(tableData);\n } else {\n message.destroy();\n message.info('暂无数据', 2);\n }\n });\n };\n\n // 判断是否是设备图层\n const isDeviceLayer = useMemo(() => {\n const layer = map?.getLayerByKey(currentLayerKey);\n const deviceTypeId = layer?.params?.deviceTypeId;\n const url = layer?.url?.indexOf('/cloud/device/deviceMap/list') !== -1;\n return Boolean(deviceTypeId && url);\n }, [currentLayerKey]);\n\n // 判断是否是管线图层\n const isPipeLineLayer = currentLayerKey && currentLayerKey.toUpperCase().indexOf('LINE') !== -1;\n\n return (\n <Modal title={title || ''} onClose={onClose} width={300}>\n <Spin spinning={loading}>\n <LayerSelect\n options={layersOpts}\n value={currentLayerKey}\n onChange={setCurrentLayerKey}\n currentKey={currentKey}\n />\n\n {renderTableActive && renderTableActive(dataSource, currentLayerKey, onClick)}\n\n {statistic ? (\n isPipeLineLayer ? (\n <PipeDataView dataSource={dataSource} />\n ) : isDeviceLayer ? (\n <DeviceDataView dataSource={dataSource} />\n ) : (\n <TableView dataSource={dataSource} />\n )\n ) : (\n <TableView dataSource={dataSource} />\n )}\n </Spin>\n </Modal>\n );\n};\n"],"mappings":"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"}