提交图片、其他数据、词云的功能-liyuchen
This commit is contained in:
commit
0c4867e91d
|
@ -289,6 +289,20 @@
|
||||||
"@intlify/shared": "9.2.2"
|
"@intlify/shared": "9.2.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"@mapbox/leaflet-omnivore": {
|
||||||
|
"version": "0.3.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/@mapbox/leaflet-omnivore/-/leaflet-omnivore-0.3.4.tgz",
|
||||||
|
"integrity": "sha512-KHdJXk7EBBygCuErNkI981y51Fd80odYlBmWzsHPtmdzqmvV0D+allIi8uMiTzfW1K3aasOnOw4p6OV0rOs4TQ==",
|
||||||
|
"requires": {
|
||||||
|
"brfs": "1.4.3",
|
||||||
|
"corslite": "0.0.7",
|
||||||
|
"csv2geojson": "~5.0.0",
|
||||||
|
"polyline": "0.2.0",
|
||||||
|
"togeojson": "0.13.0",
|
||||||
|
"topojson": "1.6.26",
|
||||||
|
"wellknown": "0.4.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
"@nodelib/fs.scandir": {
|
"@nodelib/fs.scandir": {
|
||||||
"version": "2.1.5",
|
"version": "2.1.5",
|
||||||
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
|
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
|
||||||
|
@ -336,6 +350,11 @@
|
||||||
"integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==",
|
"integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"@types/geojson": {
|
||||||
|
"version": "1.0.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-1.0.6.tgz",
|
||||||
|
"integrity": "sha512-Xqg/lIZMrUd0VRmSRbCAewtwGZiAk3mEUDvV4op1tGl+LvyPcb/MIOSxTl9z+9+J+R4/vpjiCAT4xeKzH9ji1w=="
|
||||||
|
},
|
||||||
"@types/lodash": {
|
"@types/lodash": {
|
||||||
"version": "4.14.191",
|
"version": "4.14.191",
|
||||||
"resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.191.tgz",
|
"resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.191.tgz",
|
||||||
|
@ -512,6 +531,12 @@
|
||||||
"uri-js": "^4.2.2"
|
"uri-js": "^4.2.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"amdefine": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
"ansi-regex": {
|
"ansi-regex": {
|
||||||
"version": "5.0.1",
|
"version": "5.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
|
||||||
|
@ -600,6 +625,27 @@
|
||||||
"fill-range": "^7.0.1"
|
"fill-range": "^7.0.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"brfs": {
|
||||||
|
"version": "1.4.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/brfs/-/brfs-1.4.3.tgz",
|
||||||
|
"integrity": "sha512-fHHsBNkim3FJNT4j5GsfcCEEq5nZAZxKQl2L1haCkh41Q3+Ib0aX23PTCjWOGis/Ywx6IQ/OY/xj31z/k3j4qw==",
|
||||||
|
"requires": {
|
||||||
|
"quote-stream": "^1.0.1",
|
||||||
|
"resolve": "^1.1.5",
|
||||||
|
"static-module": "^1.1.0",
|
||||||
|
"through2": "^2.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"buffer-equal": {
|
||||||
|
"version": "0.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz",
|
||||||
|
"integrity": "sha512-RgSV6InVQ9ODPdLWJ5UAqBqJBOg370Nz6ZQtRzpt6nUjc8v0St97uJ4PYC6NztqIScrAXafKM3mZPMygSe1ggA=="
|
||||||
|
},
|
||||||
|
"buffer-from": {
|
||||||
|
"version": "1.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
|
||||||
|
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
|
||||||
|
},
|
||||||
"call-bind": {
|
"call-bind": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
|
||||||
|
@ -691,6 +737,27 @@
|
||||||
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
|
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"concat-stream": {
|
||||||
|
"version": "1.6.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
|
||||||
|
"integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
|
||||||
|
"requires": {
|
||||||
|
"buffer-from": "^1.0.0",
|
||||||
|
"inherits": "^2.0.3",
|
||||||
|
"readable-stream": "^2.2.2",
|
||||||
|
"typedarray": "^0.0.6"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"core-util-is": {
|
||||||
|
"version": "1.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
|
||||||
|
"integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
|
||||||
|
},
|
||||||
|
"corslite": {
|
||||||
|
"version": "0.0.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/corslite/-/corslite-0.0.7.tgz",
|
||||||
|
"integrity": "sha512-XJwov1fnFuhJBiBlAdu0eV8dVjif4TAbCPX3CzaG5dyfNvb/3GlyRk0t6yj31wiZOGqMReOTSVOgygaynSn0bg=="
|
||||||
|
},
|
||||||
"cross-spawn": {
|
"cross-spawn": {
|
||||||
"version": "7.0.3",
|
"version": "7.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
|
||||||
|
@ -713,6 +780,78 @@
|
||||||
"resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz",
|
"resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.21.tgz",
|
||||||
"integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w=="
|
"integrity": "sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w=="
|
||||||
},
|
},
|
||||||
|
"csv2geojson": {
|
||||||
|
"version": "5.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/csv2geojson/-/csv2geojson-5.0.2.tgz",
|
||||||
|
"integrity": "sha512-hcO+NVF6CO0ZtjwEJ4D7c/dVdiaEqqWZOpQvmNY7PS5LzQbpSKghQ9TuQTgzPCqlzcmrpfzPsA9rVENb5LRNAw==",
|
||||||
|
"requires": {
|
||||||
|
"concat-stream": "~1.5.1",
|
||||||
|
"d3-dsv": "1.0.1",
|
||||||
|
"optimist": "~0.6.1",
|
||||||
|
"sexagesimal": "0.5.0"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"concat-stream": {
|
||||||
|
"version": "1.5.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
|
||||||
|
"integrity": "sha512-H6xsIBfQ94aESBG8jGHXQ7i5AEpy5ZeVaLDOisDICiTCKpqEfr34/KmTrspKQNoLKNu9gTkovlpQcUi630AKiQ==",
|
||||||
|
"requires": {
|
||||||
|
"inherits": "~2.0.1",
|
||||||
|
"readable-stream": "~2.0.0",
|
||||||
|
"typedarray": "~0.0.5"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"process-nextick-args": {
|
||||||
|
"version": "1.0.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
|
||||||
|
"integrity": "sha512-yN0WQmuCX63LP/TMvAg31nvT6m4vDqJEiiv2CAZqWOGNWutc9DfDk1NPYYmKUFmaVM2UwDowH4u5AHWYP/jxKw=="
|
||||||
|
},
|
||||||
|
"readable-stream": {
|
||||||
|
"version": "2.0.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
|
||||||
|
"integrity": "sha512-TXcFfb63BQe1+ySzsHZI/5v1aJPCShfqvWJ64ayNImXMsN1Cd0YGk/wm8KB7/OeessgPc9QvS9Zou8QTkFzsLw==",
|
||||||
|
"requires": {
|
||||||
|
"core-util-is": "~1.0.0",
|
||||||
|
"inherits": "~2.0.1",
|
||||||
|
"isarray": "~1.0.0",
|
||||||
|
"process-nextick-args": "~1.0.6",
|
||||||
|
"string_decoder": "~0.10.x",
|
||||||
|
"util-deprecate": "~1.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"string_decoder": {
|
||||||
|
"version": "0.10.31",
|
||||||
|
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||||
|
"integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"d3": {
|
||||||
|
"version": "3.5.17",
|
||||||
|
"resolved": "https://registry.npmjs.org/d3/-/d3-3.5.17.tgz",
|
||||||
|
"integrity": "sha512-yFk/2idb8OHPKkbAL8QaOaqENNoMhIaSHZerk3oQsECwkObkCpJyjYwCe+OHiq6UEdhe1m8ZGARRRO3ljFjlKg=="
|
||||||
|
},
|
||||||
|
"d3-dsv": {
|
||||||
|
"version": "1.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.0.1.tgz",
|
||||||
|
"integrity": "sha512-VjRi8bmInbdZsnNr5inlWEEd7GutNcQUb+gXgr4LUyt+8lZjAxU2PBPMNMBBLHCPwosiFcmdwBfnWFpN4/khsQ==",
|
||||||
|
"requires": {
|
||||||
|
"rw": "1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"d3-geo-projection": {
|
||||||
|
"version": "0.2.16",
|
||||||
|
"resolved": "https://registry.npmjs.org/d3-geo-projection/-/d3-geo-projection-0.2.16.tgz",
|
||||||
|
"integrity": "sha512-NB4/NRMnfJnpodvRbNY/nOzuoU17P229ASYf2l1GwjZyfD7l5aIuMylDMbIBF4y42BGZZvGdUwFW8iFM/5UBzg==",
|
||||||
|
"requires": {
|
||||||
|
"brfs": "^1.3.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"d3-queue": {
|
||||||
|
"version": "2.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/d3-queue/-/d3-queue-2.0.3.tgz",
|
||||||
|
"integrity": "sha512-ejbdHqZYEmk9ns/ljSbEcD6VRiuNwAkZMdFf6rsUb3vHROK5iMFd8xewDQnUVr6m/ba2BG63KmR/LySfsluxbg=="
|
||||||
|
},
|
||||||
"dayjs": {
|
"dayjs": {
|
||||||
"version": "1.11.7",
|
"version": "1.11.7",
|
||||||
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz",
|
"resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz",
|
||||||
|
@ -752,6 +891,37 @@
|
||||||
"esutils": "^2.0.2"
|
"esutils": "^2.0.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"duplexer2": {
|
||||||
|
"version": "0.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz",
|
||||||
|
"integrity": "sha512-+AWBwjGadtksxjOQSFDhPNQbed7icNXApT4+2BNpsXzcCBiInq2H9XW0O8sfHFaPmnQRs7cg/P0fAr2IWQSW0g==",
|
||||||
|
"requires": {
|
||||||
|
"readable-stream": "~1.1.9"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"isarray": {
|
||||||
|
"version": "0.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
|
||||||
|
"integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ=="
|
||||||
|
},
|
||||||
|
"readable-stream": {
|
||||||
|
"version": "1.1.14",
|
||||||
|
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
|
||||||
|
"integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==",
|
||||||
|
"requires": {
|
||||||
|
"core-util-is": "~1.0.0",
|
||||||
|
"inherits": "~2.0.1",
|
||||||
|
"isarray": "0.0.1",
|
||||||
|
"string_decoder": "~0.10.x"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"string_decoder": {
|
||||||
|
"version": "0.10.31",
|
||||||
|
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||||
|
"integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"echarts": {
|
"echarts": {
|
||||||
"version": "5.4.2",
|
"version": "5.4.2",
|
||||||
"resolved": "https://registry.npmjs.org/echarts/-/echarts-5.4.2.tgz",
|
"resolved": "https://registry.npmjs.org/echarts/-/echarts-5.4.2.tgz",
|
||||||
|
@ -824,6 +994,38 @@
|
||||||
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
|
"integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"escodegen": {
|
||||||
|
"version": "1.3.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz",
|
||||||
|
"integrity": "sha512-z9FWgKc48wjMlpzF5ymKS1AF8OIgnKLp9VyN7KbdtyrP/9lndwUFqCtMm+TAJmJf7KJFFYc4cFJfVTTGkKEwsA==",
|
||||||
|
"requires": {
|
||||||
|
"esprima": "~1.1.1",
|
||||||
|
"estraverse": "~1.5.0",
|
||||||
|
"esutils": "~1.0.0",
|
||||||
|
"source-map": "~0.1.33"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"estraverse": {
|
||||||
|
"version": "1.5.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz",
|
||||||
|
"integrity": "sha512-FpCjJDfmo3vsc/1zKSeqR5k42tcIhxFIlvq+h9j0fO2q/h2uLKyweq7rYJ+0CoVvrGQOxIS5wyBrW/+vF58BUQ=="
|
||||||
|
},
|
||||||
|
"esutils": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-x/iYH53X3quDwfHRz4y8rn4XcEwwCJeWsul9pF1zldMbGtgOtMNBEOuYWwB1EQlK2LRa1fev3YAgym/RElp5Cg=="
|
||||||
|
},
|
||||||
|
"source-map": {
|
||||||
|
"version": "0.1.43",
|
||||||
|
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz",
|
||||||
|
"integrity": "sha512-VtCvB9SIQhk3aF6h+N85EaqIaBFIAfZ9Cu+NJHHVvc8BbEcnvDcFw6sqQ2dQrT6SlOrZq3tIvyD9+EGq/lJryQ==",
|
||||||
|
"optional": true,
|
||||||
|
"requires": {
|
||||||
|
"amdefine": ">=0.0.4"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"eslint": {
|
"eslint": {
|
||||||
"version": "8.36.0",
|
"version": "8.36.0",
|
||||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.36.0.tgz",
|
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.36.0.tgz",
|
||||||
|
@ -914,6 +1116,11 @@
|
||||||
"eslint-visitor-keys": "^3.3.0"
|
"eslint-visitor-keys": "^3.3.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"esprima": {
|
||||||
|
"version": "1.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz",
|
||||||
|
"integrity": "sha512-qxxB994/7NtERxgXdFgLHIs9M6bhLXc6qtUmWZ3L8+gTQ9qaoyki2887P2IqAYsoENyr8SUbTutStDniOHSDHg=="
|
||||||
|
},
|
||||||
"esquery": {
|
"esquery": {
|
||||||
"version": "1.5.0",
|
"version": "1.5.0",
|
||||||
"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
|
"resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz",
|
||||||
|
@ -949,6 +1156,27 @@
|
||||||
"integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
|
"integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"falafel": {
|
||||||
|
"version": "2.2.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/falafel/-/falafel-2.2.5.tgz",
|
||||||
|
"integrity": "sha512-HuC1qF9iTnHDnML9YZAdCDQwT0yKl/U55K4XSUXqGAA2GLoafFgWRqdAbhWJxXaYD4pyoVxAJ8wH670jMpI9DQ==",
|
||||||
|
"requires": {
|
||||||
|
"acorn": "^7.1.1",
|
||||||
|
"isarray": "^2.0.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"acorn": {
|
||||||
|
"version": "7.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
|
||||||
|
"integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A=="
|
||||||
|
},
|
||||||
|
"isarray": {
|
||||||
|
"version": "2.0.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
|
||||||
|
"integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"fast-deep-equal": {
|
"fast-deep-equal": {
|
||||||
"version": "3.1.3",
|
"version": "3.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
|
||||||
|
@ -1144,6 +1372,11 @@
|
||||||
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
|
||||||
"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
|
"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
|
||||||
},
|
},
|
||||||
|
"iconv-lite": {
|
||||||
|
"version": "0.2.11",
|
||||||
|
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz",
|
||||||
|
"integrity": "sha512-KhmFWgaQZY83Cbhi+ADInoUQ8Etn6BG5fikM9syeOjQltvR45h7cRKJ/9uvQEuD61I3Uju77yYce0/LhKVClQw=="
|
||||||
|
},
|
||||||
"ignore": {
|
"ignore": {
|
||||||
"version": "5.2.4",
|
"version": "5.2.4",
|
||||||
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
|
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
|
||||||
|
@ -1185,8 +1418,7 @@
|
||||||
"inherits": {
|
"inherits": {
|
||||||
"version": "2.0.4",
|
"version": "2.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
|
||||||
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
|
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"is-binary-path": {
|
"is-binary-path": {
|
||||||
"version": "2.1.0",
|
"version": "2.1.0",
|
||||||
|
@ -1201,7 +1433,6 @@
|
||||||
"version": "2.11.0",
|
"version": "2.11.0",
|
||||||
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
|
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
|
||||||
"integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
|
"integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"has": "^1.0.3"
|
"has": "^1.0.3"
|
||||||
}
|
}
|
||||||
|
@ -1242,6 +1473,11 @@
|
||||||
"@types/estree": "*"
|
"@types/estree": "*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"isarray": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
|
||||||
|
},
|
||||||
"isexe": {
|
"isexe": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
|
||||||
|
@ -1300,6 +1536,19 @@
|
||||||
"resolved": "https://registry.npmmirror.com/leaflet/-/leaflet-1.9.3.tgz",
|
"resolved": "https://registry.npmmirror.com/leaflet/-/leaflet-1.9.3.tgz",
|
||||||
"integrity": "sha512-iB2cR9vAkDOu5l3HAay2obcUHZ7xwUBBjph8+PGtmW/2lYhbLizWtG7nTeYht36WfOslixQF9D/uSIzhZgGMfQ=="
|
"integrity": "sha512-iB2cR9vAkDOu5l3HAay2obcUHZ7xwUBBjph8+PGtmW/2lYhbLizWtG7nTeYht36WfOslixQF9D/uSIzhZgGMfQ=="
|
||||||
},
|
},
|
||||||
|
"leaflet-draw": {
|
||||||
|
"version": "1.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/leaflet-draw/-/leaflet-draw-1.0.4.tgz",
|
||||||
|
"integrity": "sha512-rsQ6saQO5ST5Aj6XRFylr5zvarWgzWnrg46zQ1MEOEIHsppdC/8hnN8qMoFvACsPvTioAuysya/TVtog15tyAQ=="
|
||||||
|
},
|
||||||
|
"leaflet-imageoverlay-rotated": {
|
||||||
|
"version": "0.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/leaflet-imageoverlay-rotated/-/leaflet-imageoverlay-rotated-0.2.1.tgz",
|
||||||
|
"integrity": "sha512-8MsrIuW/aXI0EjDXgJSJJ67nqVNQJsP/glmND9g6yc6t+zQgdPUbTRHC65jSs/IBwzwyhggnDgDuydalcEX+ew==",
|
||||||
|
"requires": {
|
||||||
|
"leaflet": "^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"levn": {
|
"levn": {
|
||||||
"version": "0.4.1",
|
"version": "0.4.1",
|
||||||
"resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
|
||||||
|
@ -1384,6 +1633,11 @@
|
||||||
"brace-expansion": "^1.1.7"
|
"brace-expansion": "^1.1.7"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"minimist": {
|
||||||
|
"version": "1.2.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
|
||||||
|
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="
|
||||||
|
},
|
||||||
"mitt": {
|
"mitt": {
|
||||||
"version": "3.0.0",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.0.tgz",
|
||||||
|
@ -1436,6 +1690,11 @@
|
||||||
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
|
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
|
||||||
"integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g=="
|
"integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g=="
|
||||||
},
|
},
|
||||||
|
"object-keys": {
|
||||||
|
"version": "0.4.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz",
|
||||||
|
"integrity": "sha512-ncrLw+X55z7bkl5PnUvHwFK9FcGuFYo9gtjws2XtSzL+aZ8tm830P60WJ0dSmFVaSalWieW5MD7kEdnXda9yJw=="
|
||||||
|
},
|
||||||
"once": {
|
"once": {
|
||||||
"version": "1.4.0",
|
"version": "1.4.0",
|
||||||
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||||
|
@ -1445,6 +1704,22 @@
|
||||||
"wrappy": "1"
|
"wrappy": "1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"optimist": {
|
||||||
|
"version": "0.6.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
|
||||||
|
"integrity": "sha512-snN4O4TkigujZphWLN0E//nQmm7790RYaE53DdL7ZYwee2D8DDo9/EyYiKUfN3rneWUjhJnueija3G9I2i0h3g==",
|
||||||
|
"requires": {
|
||||||
|
"minimist": "~0.0.1",
|
||||||
|
"wordwrap": "~0.0.2"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"minimist": {
|
||||||
|
"version": "0.0.10",
|
||||||
|
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
|
||||||
|
"integrity": "sha512-iotkTvxc+TwOm5Ieim8VnSNvCDjCK9S8G3scJ50ZthspSxa7jx50jkhYduuAtAjvfDUwSgOwf8+If99AlOEhyw=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"optionator": {
|
"optionator": {
|
||||||
"version": "0.9.1",
|
"version": "0.9.1",
|
||||||
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
|
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
|
||||||
|
@ -1507,8 +1782,7 @@
|
||||||
"path-parse": {
|
"path-parse": {
|
||||||
"version": "1.0.7",
|
"version": "1.0.7",
|
||||||
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
|
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
|
||||||
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
|
"integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"picocolors": {
|
"picocolors": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
|
@ -1530,6 +1804,11 @@
|
||||||
"vue-demi": "*"
|
"vue-demi": "*"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"polyline": {
|
||||||
|
"version": "0.2.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/polyline/-/polyline-0.2.0.tgz",
|
||||||
|
"integrity": "sha512-rCJSkIHWZ/HOUoEWgjZ1DrRjLpTeTjgaktyJV0yhm8PugM5sKoavNjUHtI/amjsTn/Tq+Q3IIAuBD/dUSsWwxQ=="
|
||||||
|
},
|
||||||
"postcss": {
|
"postcss": {
|
||||||
"version": "8.4.21",
|
"version": "8.4.21",
|
||||||
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz",
|
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz",
|
||||||
|
@ -1562,6 +1841,11 @@
|
||||||
"integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==",
|
"integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"process-nextick-args": {
|
||||||
|
"version": "2.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
|
||||||
|
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
|
||||||
|
},
|
||||||
"proxy-from-env": {
|
"proxy-from-env": {
|
||||||
"version": "1.1.0",
|
"version": "1.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
|
||||||
|
@ -1592,6 +1876,30 @@
|
||||||
"integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
|
"integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"quote-stream": {
|
||||||
|
"version": "1.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/quote-stream/-/quote-stream-1.0.2.tgz",
|
||||||
|
"integrity": "sha512-kKr2uQ2AokadPjvTyKJQad9xELbZwYzWlNfI3Uz2j/ib5u6H9lDP7fUUR//rMycd0gv4Z5P1qXMfXR8YpIxrjQ==",
|
||||||
|
"requires": {
|
||||||
|
"buffer-equal": "0.0.1",
|
||||||
|
"minimist": "^1.1.3",
|
||||||
|
"through2": "^2.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"readable-stream": {
|
||||||
|
"version": "2.3.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
|
||||||
|
"integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
|
||||||
|
"requires": {
|
||||||
|
"core-util-is": "~1.0.0",
|
||||||
|
"inherits": "~2.0.3",
|
||||||
|
"isarray": "~1.0.0",
|
||||||
|
"process-nextick-args": "~2.0.0",
|
||||||
|
"safe-buffer": "~5.1.1",
|
||||||
|
"string_decoder": "~1.1.1",
|
||||||
|
"util-deprecate": "~1.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"readdirp": {
|
"readdirp": {
|
||||||
"version": "3.6.0",
|
"version": "3.6.0",
|
||||||
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
|
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
|
||||||
|
@ -1605,7 +1913,6 @@
|
||||||
"version": "1.22.1",
|
"version": "1.22.1",
|
||||||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
|
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
|
||||||
"integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
|
"integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"is-core-module": "^2.9.0",
|
"is-core-module": "^2.9.0",
|
||||||
"path-parse": "^1.0.7",
|
"path-parse": "^1.0.7",
|
||||||
|
@ -1651,6 +1958,16 @@
|
||||||
"queue-microtask": "^1.2.2"
|
"queue-microtask": "^1.2.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"rw": {
|
||||||
|
"version": "1.3.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz",
|
||||||
|
"integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ=="
|
||||||
|
},
|
||||||
|
"safe-buffer": {
|
||||||
|
"version": "5.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
|
||||||
|
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
|
||||||
|
},
|
||||||
"sass": {
|
"sass": {
|
||||||
"version": "1.60.0",
|
"version": "1.60.0",
|
||||||
"resolved": "https://registry.npmjs.org/sass/-/sass-1.60.0.tgz",
|
"resolved": "https://registry.npmjs.org/sass/-/sass-1.60.0.tgz",
|
||||||
|
@ -1681,6 +1998,41 @@
|
||||||
"lru-cache": "^6.0.0"
|
"lru-cache": "^6.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"sexagesimal": {
|
||||||
|
"version": "0.5.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/sexagesimal/-/sexagesimal-0.5.0.tgz",
|
||||||
|
"integrity": "sha512-xwbZEEGr5SQxON2PskNQQmPjrir+rnkaAoZqeHEDQ29fElSgpOh2rA5tBmZZd07NyBgUpU5/budc6wWm2Wjy+w=="
|
||||||
|
},
|
||||||
|
"shallow-copy": {
|
||||||
|
"version": "0.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz",
|
||||||
|
"integrity": "sha512-b6i4ZpVuUxB9h5gfCxPiusKYkqTMOjEbBs4wMaFbkfia4yFv92UKZ6Df8WXcKbn08JNL/abvg3FnMAOfakDvUw=="
|
||||||
|
},
|
||||||
|
"shapefile": {
|
||||||
|
"version": "0.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/shapefile/-/shapefile-0.3.1.tgz",
|
||||||
|
"integrity": "sha512-BZoPvnq4ULce0pyKiZUU4D8CdPl0Z1fpE73AeCkwyMbD2hpUeVA0s7jIE/wX8uWNruVeJV6e+rznPHBwuH5J6g==",
|
||||||
|
"requires": {
|
||||||
|
"d3-queue": "1",
|
||||||
|
"iconv-lite": "0.2",
|
||||||
|
"optimist": "0.3"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"d3-queue": {
|
||||||
|
"version": "1.2.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/d3-queue/-/d3-queue-1.2.3.tgz",
|
||||||
|
"integrity": "sha512-m6KtxX4V5pmVf1PqhH4SkQVMshSJfyCLM2vf2oFPi9FWFVT3+rtbCGerk766b/JXymHQDU3oqXHaZoiQ/e8yUQ=="
|
||||||
|
},
|
||||||
|
"optimist": {
|
||||||
|
"version": "0.3.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz",
|
||||||
|
"integrity": "sha512-TCx0dXQzVtSCg2OgY/bO9hjM9cV4XYx09TVK+s3+FhkjT6LovsLe+pPMzpWf+6yXK/hUizs2gUoTw3jHM0VaTQ==",
|
||||||
|
"requires": {
|
||||||
|
"wordwrap": "~0.0.2"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"shebang-command": {
|
"shebang-command": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
|
||||||
|
@ -1726,6 +2078,121 @@
|
||||||
"resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
|
"resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz",
|
||||||
"integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA=="
|
"integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA=="
|
||||||
},
|
},
|
||||||
|
"static-eval": {
|
||||||
|
"version": "0.2.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/static-eval/-/static-eval-0.2.4.tgz",
|
||||||
|
"integrity": "sha512-6dWWPfa/0+1zULdQi7ssT5EQZHsGK8LygBzhE/HdafNCo4e/Ibt7vLPfxBw9VcdVV+t0ARtN4ZAJKtApVc0A5Q==",
|
||||||
|
"requires": {
|
||||||
|
"escodegen": "~0.0.24"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"escodegen": {
|
||||||
|
"version": "0.0.28",
|
||||||
|
"resolved": "https://registry.npmjs.org/escodegen/-/escodegen-0.0.28.tgz",
|
||||||
|
"integrity": "sha512-6ioQhg16lFs5c7XJlJFXIDxBjO4yRvXC9yK6dLNNGuhI3a/fJukHanPF6qtpjGDgAFzI8Wuq3PSIarWmaOq/5A==",
|
||||||
|
"requires": {
|
||||||
|
"esprima": "~1.0.2",
|
||||||
|
"estraverse": "~1.3.0",
|
||||||
|
"source-map": ">= 0.1.2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"esprima": {
|
||||||
|
"version": "1.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz",
|
||||||
|
"integrity": "sha512-rp5dMKN8zEs9dfi9g0X1ClLmV//WRyk/R15mppFNICIFRG5P92VP7Z04p8pk++gABo9W2tY+kHyu6P1mEHgmTA=="
|
||||||
|
},
|
||||||
|
"estraverse": {
|
||||||
|
"version": "1.3.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.3.2.tgz",
|
||||||
|
"integrity": "sha512-OkbCPVUu8D9tbsLcUR+CKFRBbhZlogmkbWaP3BPERlkqzWL5Q6IdTz6eUk+b5cid2MTaCqJb2nNRGoJ8TpfPrg=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"static-module": {
|
||||||
|
"version": "1.5.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/static-module/-/static-module-1.5.0.tgz",
|
||||||
|
"integrity": "sha512-XTj7pQOHT33l77lK/Pu8UXqzI44C6LYAqwAc9hLTTESHRqJAFudBpReuopFPpoRr5CtOoSmGfFQC6FPlbDnyCw==",
|
||||||
|
"requires": {
|
||||||
|
"concat-stream": "~1.6.0",
|
||||||
|
"duplexer2": "~0.0.2",
|
||||||
|
"escodegen": "~1.3.2",
|
||||||
|
"falafel": "^2.1.0",
|
||||||
|
"has": "^1.0.0",
|
||||||
|
"object-inspect": "~0.4.0",
|
||||||
|
"quote-stream": "~0.0.0",
|
||||||
|
"readable-stream": "~1.0.27-1",
|
||||||
|
"shallow-copy": "~0.0.1",
|
||||||
|
"static-eval": "~0.2.0",
|
||||||
|
"through2": "~0.4.1"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"isarray": {
|
||||||
|
"version": "0.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
|
||||||
|
"integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ=="
|
||||||
|
},
|
||||||
|
"minimist": {
|
||||||
|
"version": "0.0.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
|
||||||
|
"integrity": "sha512-miQKw5Hv4NS1Psg2517mV4e4dYNaO3++hjAvLOAzKqZ61rH8NS1SK+vbfBWZ5PY/Me/bEWhUwqMghEW5Fb9T7Q=="
|
||||||
|
},
|
||||||
|
"object-inspect": {
|
||||||
|
"version": "0.4.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-0.4.0.tgz",
|
||||||
|
"integrity": "sha512-8WvkvUZiKAjjsy/63rJjA7jw9uyF0CLVLjBKEfnPHE3Jxvs1LgwqL2OmJN+LliIX1vrzKW+AAu02Cc+xv27ncQ=="
|
||||||
|
},
|
||||||
|
"quote-stream": {
|
||||||
|
"version": "0.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/quote-stream/-/quote-stream-0.0.0.tgz",
|
||||||
|
"integrity": "sha512-m4VtvjAMx00wgAS6eOy50ZDat1EBQeFKBIrtF/oxUt0MenEI33y7runJcRiOihc+JBBIt2aFFJhILIh4e9shJA==",
|
||||||
|
"requires": {
|
||||||
|
"minimist": "0.0.8",
|
||||||
|
"through2": "~0.4.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"readable-stream": {
|
||||||
|
"version": "1.0.34",
|
||||||
|
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz",
|
||||||
|
"integrity": "sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==",
|
||||||
|
"requires": {
|
||||||
|
"core-util-is": "~1.0.0",
|
||||||
|
"inherits": "~2.0.1",
|
||||||
|
"isarray": "0.0.1",
|
||||||
|
"string_decoder": "~0.10.x"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"string_decoder": {
|
||||||
|
"version": "0.10.31",
|
||||||
|
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||||
|
"integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ=="
|
||||||
|
},
|
||||||
|
"through2": {
|
||||||
|
"version": "0.4.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz",
|
||||||
|
"integrity": "sha512-45Llu+EwHKtAZYTPPVn3XZHBgakWMN3rokhEv5hu596XP+cNgplMg+Gj+1nmAvj+L0K7+N49zBKx5rah5u0QIQ==",
|
||||||
|
"requires": {
|
||||||
|
"readable-stream": "~1.0.17",
|
||||||
|
"xtend": "~2.1.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"xtend": {
|
||||||
|
"version": "2.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz",
|
||||||
|
"integrity": "sha512-vMNKzr2rHP9Dp/e1NQFnLQlwlhp9L/LfvnsVdHxN1f+uggyVI3i08uD14GPvCToPkdsRfyPqIyYGmIk58V98ZQ==",
|
||||||
|
"requires": {
|
||||||
|
"object-keys": "~0.4.0"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"string_decoder": {
|
||||||
|
"version": "1.1.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
|
||||||
|
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
|
||||||
|
"requires": {
|
||||||
|
"safe-buffer": "~5.1.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"strip-ansi": {
|
"strip-ansi": {
|
||||||
"version": "6.0.1",
|
"version": "6.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
||||||
|
@ -1753,8 +2220,24 @@
|
||||||
"supports-preserve-symlinks-flag": {
|
"supports-preserve-symlinks-flag": {
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
|
||||||
"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
|
"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="
|
||||||
"dev": true
|
},
|
||||||
|
"terraformer": {
|
||||||
|
"version": "1.0.12",
|
||||||
|
"resolved": "https://registry.npmjs.org/terraformer/-/terraformer-1.0.12.tgz",
|
||||||
|
"integrity": "sha512-MokUp0+MFal4CmJDVL6VAO1bKegeXcBM2RnPVfqcFIp2IIv8EbPAjG0j/vEy/vuKB8NVMMSF2vfpVS/QLe4DBg==",
|
||||||
|
"requires": {
|
||||||
|
"@types/geojson": "^7946.0.0 || ^1.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"terraformer-wkt-parser": {
|
||||||
|
"version": "1.2.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/terraformer-wkt-parser/-/terraformer-wkt-parser-1.2.1.tgz",
|
||||||
|
"integrity": "sha512-+CJyNLWb3lJ9RsZMTM66BY0MT3yIo4l4l22Jd9CrZuwzk54fsu4Sc7zejuS9fCITTuTQy3p06d4MZMVI7v5wSg==",
|
||||||
|
"requires": {
|
||||||
|
"@types/geojson": "^1.0.0",
|
||||||
|
"terraformer": "~1.0.5"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"text-table": {
|
"text-table": {
|
||||||
"version": "0.2.0",
|
"version": "0.2.0",
|
||||||
|
@ -1762,6 +2245,15 @@
|
||||||
"integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
|
"integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"through2": {
|
||||||
|
"version": "2.0.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
|
||||||
|
"integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
|
||||||
|
"requires": {
|
||||||
|
"readable-stream": "~2.3.6",
|
||||||
|
"xtend": "~4.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"tiny-emitter": {
|
"tiny-emitter": {
|
||||||
"version": "2.1.0",
|
"version": "2.1.0",
|
||||||
"resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz",
|
||||||
|
@ -1776,6 +2268,77 @@
|
||||||
"is-number": "^7.0.0"
|
"is-number": "^7.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"togeojson": {
|
||||||
|
"version": "0.13.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/togeojson/-/togeojson-0.13.0.tgz",
|
||||||
|
"integrity": "sha512-d8qA5mSUpnqYBQDuq0Lhgl1rMUOWwrHh50Qy00qkk3SuwjYnaxZR2h8pXMOrMGa6d/7m1YmStOI4CMRa14K46A==",
|
||||||
|
"requires": {
|
||||||
|
"concat-stream": "~1.4.5",
|
||||||
|
"minimist": "0.0.8",
|
||||||
|
"xmldom": "~0.1.19"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"concat-stream": {
|
||||||
|
"version": "1.4.11",
|
||||||
|
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.4.11.tgz",
|
||||||
|
"integrity": "sha512-X3JMh8+4je3U1cQpG87+f9lXHDrqcb2MVLg9L7o8b1UZ0DzhRrUpdn65ttzu10PpJPPI3MQNkis+oha6TSA9Mw==",
|
||||||
|
"requires": {
|
||||||
|
"inherits": "~2.0.1",
|
||||||
|
"readable-stream": "~1.1.9",
|
||||||
|
"typedarray": "~0.0.5"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"isarray": {
|
||||||
|
"version": "0.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
|
||||||
|
"integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ=="
|
||||||
|
},
|
||||||
|
"minimist": {
|
||||||
|
"version": "0.0.8",
|
||||||
|
"resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
|
||||||
|
"integrity": "sha512-miQKw5Hv4NS1Psg2517mV4e4dYNaO3++hjAvLOAzKqZ61rH8NS1SK+vbfBWZ5PY/Me/bEWhUwqMghEW5Fb9T7Q=="
|
||||||
|
},
|
||||||
|
"readable-stream": {
|
||||||
|
"version": "1.1.14",
|
||||||
|
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
|
||||||
|
"integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==",
|
||||||
|
"requires": {
|
||||||
|
"core-util-is": "~1.0.0",
|
||||||
|
"inherits": "~2.0.1",
|
||||||
|
"isarray": "0.0.1",
|
||||||
|
"string_decoder": "~0.10.x"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"string_decoder": {
|
||||||
|
"version": "0.10.31",
|
||||||
|
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||||
|
"integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"topojson": {
|
||||||
|
"version": "1.6.26",
|
||||||
|
"resolved": "https://registry.npmjs.org/topojson/-/topojson-1.6.26.tgz",
|
||||||
|
"integrity": "sha512-W0B6UMeC9ZzH6OQ4vWG8tGb6ITis7/gDG0nNq13GL/ysy1LKU07HM0GtjQMrecQ/Q8S5EP7sjpjBjoKiz6P3nQ==",
|
||||||
|
"requires": {
|
||||||
|
"d3": "3",
|
||||||
|
"d3-geo-projection": "0.2",
|
||||||
|
"d3-queue": "2",
|
||||||
|
"optimist": "0.3",
|
||||||
|
"rw": "1",
|
||||||
|
"shapefile": "0.3"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"optimist": {
|
||||||
|
"version": "0.3.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz",
|
||||||
|
"integrity": "sha512-TCx0dXQzVtSCg2OgY/bO9hjM9cV4XYx09TVK+s3+FhkjT6LovsLe+pPMzpWf+6yXK/hUizs2gUoTw3jHM0VaTQ==",
|
||||||
|
"requires": {
|
||||||
|
"wordwrap": "~0.0.2"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"tslib": {
|
"tslib": {
|
||||||
"version": "2.3.0",
|
"version": "2.3.0",
|
||||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
|
||||||
|
@ -1796,6 +2359,11 @@
|
||||||
"integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
|
"integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"typedarray": {
|
||||||
|
"version": "0.0.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
|
||||||
|
"integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="
|
||||||
|
},
|
||||||
"universalify": {
|
"universalify": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
|
||||||
|
@ -1814,8 +2382,7 @@
|
||||||
"util-deprecate": {
|
"util-deprecate": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
|
||||||
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
|
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"vite": {
|
"vite": {
|
||||||
"version": "4.2.1",
|
"version": "4.2.1",
|
||||||
|
@ -1937,6 +2504,55 @@
|
||||||
"@vue/devtools-api": "^6.4.5"
|
"@vue/devtools-api": "^6.4.5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"wellknown": {
|
||||||
|
"version": "0.4.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/wellknown/-/wellknown-0.4.2.tgz",
|
||||||
|
"integrity": "sha512-ivKT+rEy/GKU3q4Yi0dT/OnkMPXmUJF0SoPwthcCh2cr4PFeEeFjIENV3kB2WF7KgLakl2J0kbkcEMDl3WXSUA==",
|
||||||
|
"requires": {
|
||||||
|
"concat-stream": "~1.5.0",
|
||||||
|
"minimist": "~1.1.2"
|
||||||
|
},
|
||||||
|
"dependencies": {
|
||||||
|
"concat-stream": {
|
||||||
|
"version": "1.5.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.2.tgz",
|
||||||
|
"integrity": "sha512-H6xsIBfQ94aESBG8jGHXQ7i5AEpy5ZeVaLDOisDICiTCKpqEfr34/KmTrspKQNoLKNu9gTkovlpQcUi630AKiQ==",
|
||||||
|
"requires": {
|
||||||
|
"inherits": "~2.0.1",
|
||||||
|
"readable-stream": "~2.0.0",
|
||||||
|
"typedarray": "~0.0.5"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"minimist": {
|
||||||
|
"version": "1.1.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.1.3.tgz",
|
||||||
|
"integrity": "sha512-2RbeLaM/Hbo9vJ1+iRrxzfDnX9108qb2m923U+s+Ot2eMey0IYGdSjzHmvtg2XsxoCuMnzOMw7qc573RvnLgwg=="
|
||||||
|
},
|
||||||
|
"process-nextick-args": {
|
||||||
|
"version": "1.0.7",
|
||||||
|
"resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
|
||||||
|
"integrity": "sha512-yN0WQmuCX63LP/TMvAg31nvT6m4vDqJEiiv2CAZqWOGNWutc9DfDk1NPYYmKUFmaVM2UwDowH4u5AHWYP/jxKw=="
|
||||||
|
},
|
||||||
|
"readable-stream": {
|
||||||
|
"version": "2.0.6",
|
||||||
|
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
|
||||||
|
"integrity": "sha512-TXcFfb63BQe1+ySzsHZI/5v1aJPCShfqvWJ64ayNImXMsN1Cd0YGk/wm8KB7/OeessgPc9QvS9Zou8QTkFzsLw==",
|
||||||
|
"requires": {
|
||||||
|
"core-util-is": "~1.0.0",
|
||||||
|
"inherits": "~2.0.1",
|
||||||
|
"isarray": "~1.0.0",
|
||||||
|
"process-nextick-args": "~1.0.6",
|
||||||
|
"string_decoder": "~0.10.x",
|
||||||
|
"util-deprecate": "~1.0.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"string_decoder": {
|
||||||
|
"version": "0.10.31",
|
||||||
|
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||||
|
"integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ=="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
"which": {
|
"which": {
|
||||||
"version": "2.0.2",
|
"version": "2.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
|
||||||
|
@ -1952,6 +2568,11 @@
|
||||||
"integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
|
"integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"wordwrap": {
|
||||||
|
"version": "0.0.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
|
||||||
|
"integrity": "sha512-1tMA907+V4QmxV7dbRvb4/8MaRALK6q9Abid3ndMYnbyo8piisCmeONVqVSXqQA3KaP4SLt5b7ud6E2sqP8TFw=="
|
||||||
|
},
|
||||||
"wrappy": {
|
"wrappy": {
|
||||||
"version": "1.0.2",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||||
|
@ -1964,6 +2585,16 @@
|
||||||
"integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==",
|
"integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"xmldom": {
|
||||||
|
"version": "0.1.31",
|
||||||
|
"resolved": "https://registry.npmjs.org/xmldom/-/xmldom-0.1.31.tgz",
|
||||||
|
"integrity": "sha512-yS2uJflVQs6n+CyjHoaBmVSqIDevTAWrzMmjG1Gc7h1qQ7uVozNhEPJAwZXWyGQ/Gafo3fCwrcaokezLPupVyQ=="
|
||||||
|
},
|
||||||
|
"xtend": {
|
||||||
|
"version": "4.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
|
||||||
|
"integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
|
||||||
|
},
|
||||||
"yallist": {
|
"yallist": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
||||||
|
|
|
@ -11,12 +11,15 @@
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@element-plus/icons-vue": "^2.1.0",
|
"@element-plus/icons-vue": "^2.1.0",
|
||||||
|
"@mapbox/leaflet-omnivore": "^0.3.4",
|
||||||
"axios": "^1.3.4",
|
"axios": "^1.3.4",
|
||||||
"echarts": "^5.4.2",
|
"echarts": "^5.4.2",
|
||||||
"leaflet": "^1.9.3",
|
|
||||||
"element-plus": "^2.3.1",
|
"element-plus": "^2.3.1",
|
||||||
"js-cookie": "^3.0.1",
|
"js-cookie": "^3.0.1",
|
||||||
"js-md5": "^0.7.3",
|
"js-md5": "^0.7.3",
|
||||||
|
"leaflet": "^1.9.3",
|
||||||
|
"leaflet-draw": "^1.0.4",
|
||||||
|
"leaflet-imageoverlay-rotated": "^0.2.1",
|
||||||
"mitt": "^3.0.0",
|
"mitt": "^3.0.0",
|
||||||
"nprogress": "^0.2.0",
|
"nprogress": "^0.2.0",
|
||||||
"pinia": "^2.0.33",
|
"pinia": "^2.0.33",
|
||||||
|
@ -24,6 +27,7 @@
|
||||||
"qs": "^6.11.1",
|
"qs": "^6.11.1",
|
||||||
"screenfull": "^6.0.2",
|
"screenfull": "^6.0.2",
|
||||||
"sortablejs": "^1.15.0",
|
"sortablejs": "^1.15.0",
|
||||||
|
"terraformer-wkt-parser": "^1.2.1",
|
||||||
"vue": "^3.2.47",
|
"vue": "^3.2.47",
|
||||||
"vue-clipboard3": "^2.0.0",
|
"vue-clipboard3": "^2.0.0",
|
||||||
"vue-demi": "^0.13.11",
|
"vue-demi": "^0.13.11",
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
import request from '/@/utils/request';
|
||||||
|
import {moduleName} from '/@/utils/request';
|
||||||
|
export const getList = (current, size, param) => {
|
||||||
|
return request({
|
||||||
|
url: '/api/'+moduleName+'/ui/contact/list',
|
||||||
|
method: 'get',
|
||||||
|
params: {
|
||||||
|
current,
|
||||||
|
size,
|
||||||
|
param,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export const submit = (row) => {
|
||||||
|
return request({
|
||||||
|
url: '/api/'+moduleName+'/ui/contact/submit',
|
||||||
|
method: 'post',
|
||||||
|
data: row
|
||||||
|
})
|
||||||
|
}
|
||||||
|
export const remove = (ids) => {
|
||||||
|
return request({
|
||||||
|
url: '/api/'+moduleName+'/ui/contact/remove',
|
||||||
|
method: 'post',
|
||||||
|
data: {
|
||||||
|
ids,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export const detail = (id) => {
|
||||||
|
return request({
|
||||||
|
url: '/api/'+moduleName+'/ui/contact/data',
|
||||||
|
method: 'get',
|
||||||
|
params: {
|
||||||
|
id
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
|
@ -9,10 +9,10 @@ export function getList(params) {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
//review
|
//review
|
||||||
export function review(id) {
|
export function review(data) {
|
||||||
return request({
|
return request({
|
||||||
url: '/api/'+moduleName+'/ui/disasterInfo/review',
|
url: '/api/'+moduleName+'/ui/disasterInfo/review',
|
||||||
method: 'post',
|
method: 'post',
|
||||||
params: { id },
|
data: data,
|
||||||
});
|
});
|
||||||
}
|
}
|
|
@ -0,0 +1,39 @@
|
||||||
|
import request from '/@/utils/request';
|
||||||
|
import {moduleName} from '/@/utils/request';
|
||||||
|
export const getList = (current, size, param) => {
|
||||||
|
return request({
|
||||||
|
url: '/api/'+moduleName+'/ui/tool/list',
|
||||||
|
method: 'get',
|
||||||
|
params: {
|
||||||
|
current,
|
||||||
|
size,
|
||||||
|
param,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
}
|
||||||
|
export const submit = (row) => {
|
||||||
|
return request({
|
||||||
|
url: '/api/'+moduleName+'/ui/tool/submit',
|
||||||
|
method: 'post',
|
||||||
|
data: row
|
||||||
|
})
|
||||||
|
}
|
||||||
|
export const remove = (ids) => {
|
||||||
|
return request({
|
||||||
|
url: '/api/'+moduleName+'/ui/tool/remove',
|
||||||
|
method: 'post',
|
||||||
|
data: {
|
||||||
|
ids,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
export const detail = (id) => {
|
||||||
|
return request({
|
||||||
|
url: '/api/'+moduleName+'/ui/tool/data',
|
||||||
|
method: 'get',
|
||||||
|
params: {
|
||||||
|
id
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
|
@ -1,16 +1,28 @@
|
||||||
<template>
|
<template>
|
||||||
<div ref="map" class="container"></div>
|
<div ref="map"
|
||||||
|
class="container"></div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, onMounted } from 'vue';
|
import { ref, onMounted } from 'vue'
|
||||||
import L from "leaflet";
|
import WKT from 'terraformer-wkt-parser'
|
||||||
import "leaflet/dist/leaflet.css";
|
|
||||||
|
|
||||||
|
import L from 'leaflet'
|
||||||
|
import 'leaflet/dist/leaflet.css'
|
||||||
|
import 'leaflet-draw/dist/leaflet.draw'
|
||||||
|
import 'leaflet-draw/dist/leaflet.draw.css'
|
||||||
|
import 'Leaflet-ImageOverlay-Rotated'
|
||||||
|
import { useVariableStore } from '/@/stores/index.ts'
|
||||||
|
import * as omnivore from '@mapbox/leaflet-omnivore'
|
||||||
|
const variableStore = useVariableStore()
|
||||||
const map = ref()
|
const map = ref()
|
||||||
|
let homeMap = null
|
||||||
|
let text = null
|
||||||
|
let featureLayerG_area = null
|
||||||
|
let featureLayerG_point = null
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
const homeMap = L.map(map.value, {
|
homeMap = L.map(map.value, {
|
||||||
preferCanvas: true,
|
preferCanvas: true,
|
||||||
crs: L.CRS.EPSG4326,
|
crs: L.CRS.EPSG4326,
|
||||||
center: [29.563761, 106.550464],
|
center: [29.563761, 106.550464],
|
||||||
|
@ -18,12 +30,393 @@ onMounted(() => {
|
||||||
minZoom: 1,
|
minZoom: 1,
|
||||||
maxZoom: 18,
|
maxZoom: 18,
|
||||||
attributionControl: false, // 移除右下角leaflet标识
|
attributionControl: false, // 移除右下角leaflet标识
|
||||||
zoomControl: false
|
zoomControl: false,
|
||||||
});
|
})
|
||||||
const IMG_C = "http://t0.tianditu.com/img_c/wmts?layer=img&style=default&tilematrixset=c&Service=WMTS&Request=GetTile&Version=1.0.0&Format=tiles&TileMatrix={z}&TileCol={x}&TileRow={y}&tk=";
|
const IMG_C =
|
||||||
|
'http://t0.tianditu.com/img_c/wmts?layer=img&style=default&tilematrixset=c&Service=WMTS&Request=GetTile&Version=1.0.0&Format=tiles&TileMatrix={z}&TileCol={x}&TileRow={y}&tk='
|
||||||
// const CIA_C = "http://t0.tianditu.com/cia_c/wmts?layer=cia&style=default&tilematrixset=c&Service=WMTS&Request=GetTile&Version=1.0.0&Format=tiles&TileMatrix={z}&TileCol={x}&TileRow={y}&tk=";
|
// const CIA_C = "http://t0.tianditu.com/cia_c/wmts?layer=cia&style=default&tilematrixset=c&Service=WMTS&Request=GetTile&Version=1.0.0&Format=tiles&TileMatrix={z}&TileCol={x}&TileRow={y}&tk=";
|
||||||
const TK_KEY = "dc8182ebeca998e22154d404aa3c0c17";
|
const TK_KEY = 'dc8182ebeca998e22154d404aa3c0c17'
|
||||||
L.tileLayer(IMG_C + TK_KEY, { maxZoom: 20, tileSize: 256, zoomOffset: 1 }).addTo(homeMap);
|
L.tileLayer(IMG_C + TK_KEY, {
|
||||||
|
maxZoom: 20,
|
||||||
|
tileSize: 256,
|
||||||
|
zoomOffset: 1,
|
||||||
|
}).addTo(homeMap)
|
||||||
|
text = new L.Draw.Polygon(homeMap)
|
||||||
|
L.drawLocal = {
|
||||||
|
draw: {
|
||||||
|
handlers: {
|
||||||
|
circle: {
|
||||||
|
tooltip: {
|
||||||
|
start: '单击并拖动可绘制圆',
|
||||||
|
},
|
||||||
|
radius: '半径',
|
||||||
|
},
|
||||||
|
circlemarker: {
|
||||||
|
tooltip: {
|
||||||
|
start: '点击地图放置圆形标记',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
marker: {
|
||||||
|
tooltip: {
|
||||||
|
start: '点击地图放置标记,Esc取消',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
polygon: {
|
||||||
|
tooltip: {
|
||||||
|
start: '点击开始绘制,Esc取消',
|
||||||
|
cont: '单击以继续绘制,Esc取消',
|
||||||
|
end: '单击第一个点完成绘制,Esc取消',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
polyline: {
|
||||||
|
error: '<strong>异常:</strong> 形状边缘不能交叉!',
|
||||||
|
tooltip: {
|
||||||
|
start: '点击开始绘制,Esc取消',
|
||||||
|
cont: '单击以继续绘制,Esc取消',
|
||||||
|
end: '双击完成绘制,Esc取消',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
rectangle: {
|
||||||
|
tooltip: {
|
||||||
|
start: '单击并拖动以绘制矩形',
|
||||||
|
end: '完成',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
simpleshape: {
|
||||||
|
tooltip: {
|
||||||
|
end: '释放鼠标完成绘图',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
edit: {
|
||||||
|
toolbar: {
|
||||||
|
actions: {
|
||||||
|
save: {
|
||||||
|
title: '保存改动',
|
||||||
|
text: '保存',
|
||||||
|
},
|
||||||
|
cancel: {
|
||||||
|
title: '取消编辑,丢弃所有更改',
|
||||||
|
text: '取消',
|
||||||
|
},
|
||||||
|
clearAll: {
|
||||||
|
title: '清除所有标记',
|
||||||
|
text: '清除所有',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
buttons: {
|
||||||
|
edit: '编辑图层',
|
||||||
|
editDisabled: '不需要编辑图层',
|
||||||
|
remove: '删除图层',
|
||||||
|
removeDisabled: '没有要删除的图层',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
handlers: {
|
||||||
|
edit: {
|
||||||
|
tooltip: {
|
||||||
|
text: '拖动节点或标记来编辑图形',
|
||||||
|
subtext: '单击“取消”撤消更改',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
remove: {
|
||||||
|
tooltip: {
|
||||||
|
text: '单击某个标记进行删除',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
featureLayerG_area = L.layerGroup().addTo(homeMap)
|
||||||
|
featureLayerG_point = L.layerGroup().addTo(homeMap)
|
||||||
})
|
})
|
||||||
|
/** WKT加载点和多边形
|
||||||
|
* Object param 参数集合
|
||||||
|
* @param {
|
||||||
|
* res
|
||||||
|
* popup string 弹框内容
|
||||||
|
* }
|
||||||
|
*/
|
||||||
|
const mapOperations = {
|
||||||
|
wktParseToMap: (res) => {
|
||||||
|
return omnivore.wkt.parse(res).addTo(homeMap)
|
||||||
|
},
|
||||||
|
/** 添加点标注
|
||||||
|
* Object param 参数集合
|
||||||
|
* @param {
|
||||||
|
* x int 经度
|
||||||
|
* y int 经度
|
||||||
|
* iconUrl string 图片路径
|
||||||
|
* }
|
||||||
|
*/
|
||||||
|
addMarker: (param) => {
|
||||||
|
var markerInfo = L.marker(
|
||||||
|
new L.latLng(Number(param.y), Number(param.x)),
|
||||||
|
{
|
||||||
|
icon: new L.icon({
|
||||||
|
iconUrl:
|
||||||
|
param.iconUrl == null
|
||||||
|
? '../src/assets/map/eq.png'
|
||||||
|
: param.iconUrl,
|
||||||
|
}),
|
||||||
|
}
|
||||||
|
)
|
||||||
|
markerInfo.addTo(homeMap)
|
||||||
|
return markerInfo
|
||||||
|
},
|
||||||
|
addInteractMarker: (lat, lon) => {
|
||||||
|
featureLayerG_point.clearLayers()
|
||||||
|
variableStore.layerGroupPoint = null
|
||||||
|
var marker = L.marker([lat, lon], { draggable: true }).addTo(
|
||||||
|
featureLayerG_point
|
||||||
|
)
|
||||||
|
let features = featureLayerG_point.toGeoJSON().features
|
||||||
|
// console.log(features)
|
||||||
|
variableStore.layerGroupPoint = features.map(function (feature) {
|
||||||
|
return WKT.convert(feature.geometry)
|
||||||
|
})
|
||||||
|
variableStore.layerGroupPoint = variableStore.layerGroupPoint.join('\n')
|
||||||
|
console.log(variableStore.layerGroupPoint)
|
||||||
|
// marker.on('click',function(){
|
||||||
|
// featureLayerG_point.removeLayer(marker)
|
||||||
|
// })
|
||||||
|
},
|
||||||
|
/** 添加多边形标注
|
||||||
|
* Object param 参数集合
|
||||||
|
* @param {
|
||||||
|
* points 点数组 [[x, y],[x, y]...];
|
||||||
|
* color string 多边形颜色(合法的CSS颜色值)
|
||||||
|
* }
|
||||||
|
*/
|
||||||
|
addPolygon: (param) => {
|
||||||
|
const polygonInfo = L.polygon(param.points, { color: param.color })
|
||||||
|
polygonInfo.addTo(homeMap)
|
||||||
|
return polygonInfo
|
||||||
|
},
|
||||||
|
/** 添加矩形标注
|
||||||
|
* Object param 参数集合
|
||||||
|
* @param {
|
||||||
|
* bounds 地理边界 [[x, y],[x, y]];
|
||||||
|
* color string 矩形颜色(合法的CSS颜色值)
|
||||||
|
* }
|
||||||
|
*/
|
||||||
|
addRectangle: (param) => {
|
||||||
|
const rectangleInfo = L.rectangle(param.bounds, {
|
||||||
|
color: param.color,
|
||||||
|
weight: 1,
|
||||||
|
})
|
||||||
|
rectangleInfo.addTo(homeMap)
|
||||||
|
return rectangleInfo
|
||||||
|
},
|
||||||
|
/** 添加圆形标注
|
||||||
|
* Object param 参数集合
|
||||||
|
* @param {
|
||||||
|
* point [x,y] 中心点坐标
|
||||||
|
* radius int 范围半径
|
||||||
|
* }
|
||||||
|
*/
|
||||||
|
addCircle: (param) => {
|
||||||
|
const circleInfo = L.circle(param.point, { radius: param.radius })
|
||||||
|
circleInfo.addTo(homeMap)
|
||||||
|
return circleInfo
|
||||||
|
},
|
||||||
|
/** 添加图片标注
|
||||||
|
* Object param 参数集合
|
||||||
|
* @param {
|
||||||
|
* imageUrl string 图片链接
|
||||||
|
* imageBounds 点数组 [[x, y],[x, y]...];
|
||||||
|
* }
|
||||||
|
*/
|
||||||
|
addImageLayer: (param) => {
|
||||||
|
const imageInfo = L.imageOverlay(param.imageUrl, param.imageBounds)
|
||||||
|
imageInfo.addTo(homeMap)
|
||||||
|
return imageInfo
|
||||||
|
},
|
||||||
|
/** 添加旋转图片标注
|
||||||
|
* Object param 参数集合
|
||||||
|
* @param {
|
||||||
|
* imageUrl string 图片链接
|
||||||
|
* topleft L.latLng(40.52256691873593, -3.7743186950683594);
|
||||||
|
* topright L.latLng(40.52256691873593, -3.7743186950683594);
|
||||||
|
* bottom L.latLng(40.52256691873593, -3.7743186950683594);
|
||||||
|
* }
|
||||||
|
*/
|
||||||
|
addImageRotated: (imageUrl, topleft, topright, bottomleft) => {
|
||||||
|
const imageInfo = L.imageOverlay.rotated(
|
||||||
|
imageUrl,
|
||||||
|
topleft,
|
||||||
|
topright,
|
||||||
|
bottomleft
|
||||||
|
)
|
||||||
|
imageInfo.addTo(homeMap)
|
||||||
|
return imageInfo
|
||||||
|
},
|
||||||
|
/** 更换地图中心点
|
||||||
|
* Object param 参数集合
|
||||||
|
* @param {
|
||||||
|
* position 点数组 [lat,lon];
|
||||||
|
* zoom Int 6;
|
||||||
|
* }
|
||||||
|
*/
|
||||||
|
flyTo: (position, zoom) => {
|
||||||
|
return homeMap.flyTo(L.latLng(position), zoom)
|
||||||
|
// imageInfo.addTo(homeMap);
|
||||||
|
// return imageInfo;
|
||||||
|
},
|
||||||
|
/** 添加wms图层
|
||||||
|
* Object param 参数集合
|
||||||
|
* @param {
|
||||||
|
* wmsUrl link wms链接;
|
||||||
|
* layers string 图层名称;
|
||||||
|
* format 'image/png';
|
||||||
|
* transparent true;
|
||||||
|
* zIndex int 2
|
||||||
|
* }
|
||||||
|
*/
|
||||||
|
addWMSLayer: (wmsUrl, param) => {
|
||||||
|
const layerInfo = L.tileLayer.wms(wmsUrl, param)
|
||||||
|
layerInfo.addTo(homeMap);
|
||||||
|
return layerInfo;
|
||||||
|
},
|
||||||
|
/** 删除图层
|
||||||
|
* Object layerInfo 图层对象
|
||||||
|
*/
|
||||||
|
removeLayer: (layerInfo) => {
|
||||||
|
homeMap.removeLayer(layerInfo)
|
||||||
|
},
|
||||||
|
/** 根据点定位
|
||||||
|
* Object param 参数集合
|
||||||
|
* @param {
|
||||||
|
* x int 经度
|
||||||
|
* y int 经度
|
||||||
|
* zoom int 地图的比例尺级别,范围为1-18之间的整数。
|
||||||
|
* popup
|
||||||
|
* }
|
||||||
|
*/
|
||||||
|
goPosition: (param) => {
|
||||||
|
homeMap.setView(L.latLng(Number(param.y), Number(param.x)), param.zoom)
|
||||||
|
// console.log(homeMap);
|
||||||
|
},
|
||||||
|
/** 监听事件
|
||||||
|
* Object param 参数集合
|
||||||
|
* @param {
|
||||||
|
* event 事件
|
||||||
|
* function 回调函数
|
||||||
|
* }
|
||||||
|
*/
|
||||||
|
on: (event, func) => {
|
||||||
|
// console.log("1-1")
|
||||||
|
homeMap.on(event, func)
|
||||||
|
},
|
||||||
|
/** 事件注销
|
||||||
|
* Object param 参数集合
|
||||||
|
* @param {
|
||||||
|
* event 事件
|
||||||
|
* function 回调函数
|
||||||
|
* }
|
||||||
|
*/
|
||||||
|
off: (event, func) => {
|
||||||
|
// console.log('2-1')
|
||||||
|
homeMap.off(event, func)
|
||||||
|
},
|
||||||
|
/** 清除所有图层
|
||||||
|
* Object param 参数集合
|
||||||
|
* @param {
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* }
|
||||||
|
*/
|
||||||
|
removeAll: () => {
|
||||||
|
// homeMap.eachLayer(function(layer){
|
||||||
|
// if(layer instanceof L.TileLayer)return;
|
||||||
|
// homeMap.removeLayer(layer)
|
||||||
|
// })
|
||||||
|
featureLayerG_area.clearLayers()
|
||||||
|
featureLayerG_point.clearLayers()
|
||||||
|
variableStore.layerGroupPoint = null
|
||||||
|
variableStore.layerGroupPoly = null
|
||||||
|
if (variableStore.polygoncontrol == 'option2') {
|
||||||
|
text = new L.Draw.Polygon(homeMap)
|
||||||
|
text.enable()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/**
|
||||||
|
* 清楚wkt添加的所有
|
||||||
|
*/
|
||||||
|
removeWktAll: () => {
|
||||||
|
homeMap.eachLayer(function (layer) {
|
||||||
|
if (layer instanceof L.TileLayer) return;
|
||||||
|
homeMap.removeLayer(layer)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
/** 取消|绘制多边形
|
||||||
|
* Object param 参数集合
|
||||||
|
* @param {
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* }
|
||||||
|
*/
|
||||||
|
drawPolygon: () => {
|
||||||
|
// console.log('2-2')
|
||||||
|
variableStore.layerGroupPoint = null
|
||||||
|
featureLayerG_point.clearLayers()
|
||||||
|
// featureLayerG_area.clearLayers()
|
||||||
|
// variableStore.layerGroupPoly=null;
|
||||||
|
text = new L.Draw.Polygon(homeMap)
|
||||||
|
text.enable()
|
||||||
|
},
|
||||||
|
clearPolygon: () => {
|
||||||
|
// console.log('1-2')
|
||||||
|
text.disable()
|
||||||
|
featureLayerG_area.clearLayers()
|
||||||
|
variableStore.layerGroupPoly = null
|
||||||
|
// variableStore.layerGroupPoint=null
|
||||||
|
// featureLayerG_point.clearLayers()
|
||||||
|
},
|
||||||
|
drawCreated: () => {
|
||||||
|
// console.log("2-3")
|
||||||
|
homeMap.on('draw:created', function (elll) {
|
||||||
|
featureLayerG_area.clearLayers()
|
||||||
|
variableStore.layerGroupPoly = null
|
||||||
|
elll.layer.setStyle({
|
||||||
|
color: '#FF0080',
|
||||||
|
opacity: 1,
|
||||||
|
})
|
||||||
|
featureLayerG_area.addLayer(elll.layer)
|
||||||
|
let features = featureLayerG_area.toGeoJSON().features
|
||||||
|
// console.log(features)
|
||||||
|
variableStore.layerGroupPoly = features.map(function (feature) {
|
||||||
|
return WKT.convert(feature.geometry)
|
||||||
|
})
|
||||||
|
variableStore.layerGroupPoly =
|
||||||
|
variableStore.layerGroupPoly.join('\n')
|
||||||
|
console.log(variableStore.layerGroupPoly)
|
||||||
|
text.enable()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
drawDestroyed: () => {
|
||||||
|
homeMap.off('draw:created', function (elll) {
|
||||||
|
elll.layer.setStyle({
|
||||||
|
color: '#FF0080',
|
||||||
|
opacity: 1,
|
||||||
|
})
|
||||||
|
featureLayerG_area.addLayer(elll.layer)
|
||||||
|
let features = featureLayerG_area.toGeoJSON().features
|
||||||
|
// console.log(features)
|
||||||
|
variableStore.layerGroupPoly = features.map(function (feature) {
|
||||||
|
return WKT.convert(feature.geometry)
|
||||||
|
})
|
||||||
|
variableStore.layerGroupPoly =
|
||||||
|
variableStore.layerGroupPoly.join('\n')
|
||||||
|
console.log(variableStore.layerGroupPoly)
|
||||||
|
text = new L.Draw.Polygon(homeMap)
|
||||||
|
text.enable()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
}
|
||||||
|
//omnivore.wkt.parse('POINT(-80 0)').addTo(homeMap);
|
||||||
|
|
||||||
|
defineExpose({
|
||||||
|
mapOperations,
|
||||||
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -49,29 +49,31 @@
|
||||||
</template>
|
</template>
|
||||||
</el-popover>
|
</el-popover>
|
||||||
</div>
|
</div>
|
||||||
<el-dropdown :show-timeout="70" :hide-timeout="50" trigger="click" @command="onLanguageChange">
|
<el-dropdown :show-timeout="70"
|
||||||
<div class="layout-navbars-breadcrumb-user-icon">
|
:hide-timeout="50"
|
||||||
<i
|
trigger="click"
|
||||||
class="iconfont"
|
@command="onLanguageChange">
|
||||||
:class="state.disabledI18n === 'en' ? 'icon-fuhao-zhongwen' : 'icon-fuhao-yingwen'"
|
<div class="layout-navbars-breadcrumb-user-icon">
|
||||||
|
<i class="iconfont"
|
||||||
></i>
|
:class="state.disabledI18n === 'en' ? 'icon-fuhao-zhongwen' : 'icon-fuhao-yingwen'"></i>
|
||||||
</div>
|
</div>
|
||||||
<template #dropdown>
|
<template #dropdown>
|
||||||
<el-dropdown-menu>
|
<el-dropdown-menu>
|
||||||
<el-dropdown-item command="zh-cn" :disabled="state.disabledI18n === 'zh-cn'">English</el-dropdown-item>
|
<el-dropdown-item command="zh-cn"
|
||||||
<el-dropdown-item command="en" :disabled="state.disabledI18n === 'en'">简体中文</el-dropdown-item>
|
:disabled="state.disabledI18n === 'zh-cn'">English</el-dropdown-item>
|
||||||
<!-- <el-dropdown-item command="zh-tw" :disabled="state.disabledI18n === 'zh-tw'">繁體中文</el-dropdown-item> -->
|
<el-dropdown-item command="en"
|
||||||
</el-dropdown-menu>
|
:disabled="state.disabledI18n === 'en'">简体中文</el-dropdown-item>
|
||||||
</template>
|
<!-- <el-dropdown-item command="zh-cn" :disabled="state.disabledI18n === 'zh-cn'">简体中文</el-dropdown-item> -->
|
||||||
</el-dropdown>
|
</el-dropdown-menu>
|
||||||
|
</template>
|
||||||
|
</el-dropdown>
|
||||||
<div class="layout-navbars-breadcrumb-user-icon mr10"
|
<div class="layout-navbars-breadcrumb-user-icon mr10"
|
||||||
@click="onScreenfullClick">
|
@click="onScreenfullClick">
|
||||||
<i class="iconfont"
|
<i class="iconfont"
|
||||||
:title="state.isScreenfull ? '关全屏' : '开全屏'"
|
:title="state.isScreenfull ? '关全屏' : '开全屏'"
|
||||||
:class="!state.isScreenfull ? 'icon-fullscreen' : 'icon-tuichuquanping'"></i>
|
:class="!state.isScreenfull ? 'icon-fullscreen' : 'icon-tuichuquanping'"></i>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<el-dropdown :show-timeout="70"
|
<el-dropdown :show-timeout="70"
|
||||||
:hide-timeout="50"
|
:hide-timeout="50"
|
||||||
@command="onHandleCommandClick">
|
@command="onHandleCommandClick">
|
||||||
|
@ -94,7 +96,7 @@
|
||||||
</el-dropdown-menu>
|
</el-dropdown-menu>
|
||||||
</template>
|
</template>
|
||||||
</el-dropdown>
|
</el-dropdown>
|
||||||
|
|
||||||
<Search ref="searchRef" />
|
<Search ref="searchRef" />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -115,16 +117,16 @@ import other from '/@/utils/other';
|
||||||
// 引入组件
|
// 引入组件
|
||||||
const UserNews = defineAsyncComponent(() => import('/@/layout/navBars/breadcrumb/userNews.vue'));
|
const UserNews = defineAsyncComponent(() => import('/@/layout/navBars/breadcrumb/userNews.vue'));
|
||||||
const Search = defineAsyncComponent(() => import('/@/layout/navBars/breadcrumb/search.vue'));
|
const Search = defineAsyncComponent(() => import('/@/layout/navBars/breadcrumb/search.vue'));
|
||||||
const useTranslateStore=useTranslate()
|
const useTranslateStore = useTranslate()
|
||||||
const onLanguageChange = (lang) => {
|
const onLanguageChange = (lang) => {
|
||||||
if(lang=="en"){
|
if (lang == "en") {
|
||||||
state.disabledI18n="en"
|
state.disabledI18n = "en"
|
||||||
useTranslateStore.translate_control=0
|
useTranslateStore.translate_control = 0
|
||||||
}
|
}
|
||||||
else{
|
else {
|
||||||
state.disabledI18n="zh-cn"
|
state.disabledI18n = "zh-cn"
|
||||||
useTranslateStore.translate_control=1
|
useTranslateStore.translate_control = 1
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
// 定义变量内容
|
// 定义变量内容
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
|
@ -138,7 +140,7 @@ const state = reactive({
|
||||||
isScreenfull: false,
|
isScreenfull: false,
|
||||||
disabledSize: 'large',
|
disabledSize: 'large',
|
||||||
setIntervalId: null,
|
setIntervalId: null,
|
||||||
disabledI18n:"en",
|
disabledI18n: "en",
|
||||||
});
|
});
|
||||||
|
|
||||||
// 设置分割样式
|
// 设置分割样式
|
||||||
|
|
|
@ -73,7 +73,7 @@ export const dynamicRoutes = [
|
||||||
isAffix: false,
|
isAffix: false,
|
||||||
isIframe: false,
|
isIframe: false,
|
||||||
roles: ['admin', 'chief'],
|
roles: ['admin', 'chief'],
|
||||||
icon: 'iconfont icon-caidan',
|
icon: 'iconfont icon-caidan',
|
||||||
zh: '用户响应管理',
|
zh: '用户响应管理',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -93,6 +93,38 @@ export const dynamicRoutes = [
|
||||||
zh: '数据上传管理',
|
zh: '数据上传管理',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
path: '/responseManagement/tool',
|
||||||
|
name: 'tool-management',
|
||||||
|
component: () => import('/@/views/responseManagement/tool/index.vue'),
|
||||||
|
meta: {
|
||||||
|
title: 'Tool Management',
|
||||||
|
isLink: '',
|
||||||
|
isHide: false,
|
||||||
|
isKeepAlive: true,
|
||||||
|
isAffix: false,
|
||||||
|
isIframe: false,
|
||||||
|
roles: ['admin', 'chief'],
|
||||||
|
icon: 'iconfont icon-icon-',
|
||||||
|
zh: 'tool管理',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
path: '/responseManagement/contact',
|
||||||
|
name: 'contact-management',
|
||||||
|
component: () => import('/@/views/responseManagement/contact/index.vue'),
|
||||||
|
meta: {
|
||||||
|
title: 'Contact Management',
|
||||||
|
isLink: '',
|
||||||
|
isHide: false,
|
||||||
|
isKeepAlive: true,
|
||||||
|
isAffix: false,
|
||||||
|
isIframe: false,
|
||||||
|
roles: ['admin', 'chief'],
|
||||||
|
icon: 'iconfont icon-icon-',
|
||||||
|
zh: 'tool管理',
|
||||||
|
},
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -0,0 +1,80 @@
|
||||||
|
import { defineStore } from "pinia";
|
||||||
|
import { Names } from "./store_name";
|
||||||
|
|
||||||
|
export const useVariableStore = defineStore(Names.TEST, {
|
||||||
|
state: () => {
|
||||||
|
return {
|
||||||
|
OtherdataTag:1,
|
||||||
|
RemotesensingTag: 1,
|
||||||
|
remoteSensingDataTable: [
|
||||||
|
{
|
||||||
|
ID: 1,
|
||||||
|
Satellite_type:"Sentinel-2_Sentinel-2A",
|
||||||
|
Production_date:"2023-02-10 12:10:25",
|
||||||
|
Product_resolution: "10",
|
||||||
|
Cloud_coverage:'15.5191',
|
||||||
|
Central_longitude_and_latitude:'(96.6408,122.1683)',
|
||||||
|
Thumbnail:"../assets/home/1.jpg",
|
||||||
|
Download_link:"../assets/detail/list_download_icon.png",
|
||||||
|
Data_source:"",
|
||||||
|
Data_upload_agency:""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ID: 2,
|
||||||
|
Satellite_type:"Sentinel-2_Sentinel-2B",
|
||||||
|
Production_date:"2023-02-10 12:10:23",
|
||||||
|
Product_resolution: "10",
|
||||||
|
Cloud_coverage:'15.5256',
|
||||||
|
Central_longitude_and_latitude:'(96.6408,122.1683)',
|
||||||
|
Thumbnail:"../assets/home/5.jpg",
|
||||||
|
Download_link:'../assets/detail/list_download_icon.png',
|
||||||
|
Data_source:"",
|
||||||
|
Data_upload_agency:""
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ID: 3,
|
||||||
|
Satellite_type:"Landsat-8",
|
||||||
|
Production_date:"2023-02-10 12:01:34",
|
||||||
|
Product_resolution: "6",
|
||||||
|
Cloud_coverage:'13.5345',
|
||||||
|
Central_longitude_and_latitude:'(96.6408,122.1683)',
|
||||||
|
Thumbnail:"../assets/home/3.jpg",
|
||||||
|
Download_link:'../assets/detail/list_download_icon.png',
|
||||||
|
Data_source:"",
|
||||||
|
Data_upload_agency:""
|
||||||
|
}
|
||||||
|
// {
|
||||||
|
// ID: 1,
|
||||||
|
// Satellite_type:"Sentinel-2_Sentinel-2A",
|
||||||
|
// Production_date:"2023-02-10 12:10:25",
|
||||||
|
// Product_resolution(m):"10",
|
||||||
|
// Cloud_coverage(%):'15.5191',
|
||||||
|
// Central_longitude_and_latitude:'(96.6408,122.1683)',
|
||||||
|
// Thumbnail:"@/assets/home/1.jpg",
|
||||||
|
// Download_link:'',
|
||||||
|
// Data_source:"",
|
||||||
|
// Data_upload_agency:""
|
||||||
|
// }
|
||||||
|
],
|
||||||
|
layerGroupPoint:null,
|
||||||
|
layerGroupPoly:null,
|
||||||
|
polygoncontrol:null,
|
||||||
|
toolData:{
|
||||||
|
records:null,
|
||||||
|
total:null,
|
||||||
|
current:null,
|
||||||
|
size:null,
|
||||||
|
pages:null,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
getters: {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
actions: {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
|
@ -0,0 +1,4 @@
|
||||||
|
export const enum Names {
|
||||||
|
TEST = "TEST"
|
||||||
|
}
|
||||||
|
|
|
@ -147,8 +147,8 @@ export const useThemeConfig = defineStore('themeConfig', {
|
||||||
globalViceTitle: 'vueNextAdmin',
|
globalViceTitle: 'vueNextAdmin',
|
||||||
// 网站副标题(登录页顶部文字)
|
// 网站副标题(登录页顶部文字)
|
||||||
globalViceTitleMsg: '专注、免费、开源、维护、解疑',
|
globalViceTitleMsg: '专注、免费、开源、维护、解疑',
|
||||||
// 默认初始语言,可选值"<zh-cn|en|zh-tw>",默认 zh-cn
|
// 默认初始语言,可选值"<zh-cn|en|zh-tw>",默认 en
|
||||||
globalI18n: 'zh-cn',
|
globalI18n: 'en',
|
||||||
// 默认全局组件大小,可选值"<large|'default'|small>",默认 'large'
|
// 默认全局组件大小,可选值"<large|'default'|small>",默认 'large'
|
||||||
globalComponentSize: 'large',
|
globalComponentSize: 'large',
|
||||||
},
|
},
|
||||||
|
|
|
@ -3,7 +3,8 @@ import { ElMessage, ElMessageBox } from 'element-plus';
|
||||||
import qs from 'qs';
|
import qs from 'qs';
|
||||||
import { Session } from '/@/utils/storage';
|
import { Session } from '/@/utils/storage';
|
||||||
|
|
||||||
export const moduleName = 'yyhouc-biz-vordm';
|
// export const moduleName = 'zqq-biz-vordm';
|
||||||
|
export const moduleName = 'biz-vordm';
|
||||||
|
|
||||||
// 配置新建一个 axios 实例
|
// 配置新建一个 axios 实例
|
||||||
const service = axios.create({
|
const service = axios.create({
|
||||||
|
@ -60,9 +61,9 @@ service.interceptors.response.use(
|
||||||
ElMessage.error('网络超时');
|
ElMessage.error('网络超时');
|
||||||
} else if (error.message == 'Network Error') {
|
} else if (error.message == 'Network Error') {
|
||||||
ElMessage.error('网络连接错误');
|
ElMessage.error('网络连接错误');
|
||||||
} else if (error.response&&error.response.data.code == '500') {
|
} else if (error.response && error.response.data.code == '500') {
|
||||||
ElMessage.error(error.response.data.msg);
|
ElMessage.error(error.response.data.msg);
|
||||||
} else{
|
} else {
|
||||||
if (error.response.data.error_description) ElMessage.error(error.response.data.error_description);
|
if (error.response.data.error_description) ElMessage.error(error.response.data.error_description);
|
||||||
else {
|
else {
|
||||||
//if (error.response.data) ElMessage.error(error.response.statusText);
|
//if (error.response.data) ElMessage.error(error.response.statusText);
|
||||||
|
|
|
@ -136,7 +136,7 @@
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, reactive, onMounted } from 'vue';
|
import { ref, reactive, onMounted } from 'vue';
|
||||||
import { getRemoteSensingSourceData, getSelectionCondition } from "/@/api/remoteSensingSourceData/index.js";
|
import { getRemoteSensingSourceData, getSelectionCondition } from "/@/api/remoteSensingSourceData/remoteSensingSourceData.js";
|
||||||
|
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
tableData: {
|
tableData: {
|
||||||
|
@ -215,8 +215,8 @@ const searchDisasterType = () => {
|
||||||
state.options_disasterType = []
|
state.options_disasterType = []
|
||||||
for (let index = 0; index < res.length; index++) {
|
for (let index = 0; index < res.length; index++) {
|
||||||
let obj = {}
|
let obj = {}
|
||||||
obj.value = res[index].name
|
obj.value = res[index].dictValue
|
||||||
obj.label = res[index].name
|
obj.label = res[index].dictValue
|
||||||
state.options_disasterType.push(obj)
|
state.options_disasterType.push(obj)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,99 @@
|
||||||
|
<template>
|
||||||
|
<div class="system-add-dept-container">
|
||||||
|
<el-dialog :title="state.title" v-model="state.isShowDialog" width="769px">
|
||||||
|
<el-form :model="state.ruleForm" size="default" label-width="90px" ref="formRef" :rules="rules">
|
||||||
|
<el-row :gutter="35">
|
||||||
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||||
|
<el-form-item label="用户姓名" prop="userName">
|
||||||
|
<el-input v-model="state.ruleForm.userName" placeholder="请输入用户姓名" clearable></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||||
|
<el-form-item label="电子邮件" prop="email">
|
||||||
|
<el-input v-model="state.ruleForm.email" placeholder="请输入电子邮件" clearable></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||||
|
<el-form-item label="组织" prop="organization">
|
||||||
|
<el-input v-model="state.ruleForm.organization" placeholder="请输入组织" clearable></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||||
|
<el-form-item label="意见建议" prop="message">
|
||||||
|
<el-input v-model="state.ruleForm.message" placeholder="请输入意见建议" clearable></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||||
|
<el-form-item label="数据自增列" prop="id">
|
||||||
|
<el-input v-model="state.ruleForm.id" placeholder="请输入数据自增列" clearable></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
<template #footer>
|
||||||
|
<span class="dialog-footer">
|
||||||
|
<el-button @click="onCancel" size="default">取 消</el-button>
|
||||||
|
<el-button type="primary" @click="onSubmit(formRef)" size="default">{{state.title}}</el-button>
|
||||||
|
</span>
|
||||||
|
</template>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { ElMessage } from 'element-plus';
|
||||||
|
import { submit } from '/@/api/contact/index';
|
||||||
|
import { ref,reactive,onMounted,nextTick } from 'vue';
|
||||||
|
const formRef =ref();
|
||||||
|
const state = reactive({
|
||||||
|
isShowDialog: false,
|
||||||
|
ruleForm: {
|
||||||
|
},
|
||||||
|
deptData: [], // 部门数据
|
||||||
|
deptCategory:[],
|
||||||
|
title: '新增',
|
||||||
|
});
|
||||||
|
const rules = reactive({
|
||||||
|
userName: [{ required: true, message: '请输入用户姓名', trigger: 'blur' }],
|
||||||
|
email: [{ required: true, message: '请输入电子邮件', trigger: 'blur' }],
|
||||||
|
organization: [{ required: true, message: '请输入组织', trigger: 'blur' }],
|
||||||
|
message: [{ required: true, message: '请输入意见建议', trigger: 'blur' }],
|
||||||
|
id: [{ required: true, message: '请输入数据自增列', trigger: 'blur' }],
|
||||||
|
})
|
||||||
|
// 打开弹窗
|
||||||
|
const openDialog = (row) => {
|
||||||
|
if(row) {
|
||||||
|
state.title = '编辑';
|
||||||
|
state.ruleForm = row;
|
||||||
|
} else {
|
||||||
|
state.title = '新增';
|
||||||
|
state.ruleForm = {};
|
||||||
|
}
|
||||||
|
state.isShowDialog = true;
|
||||||
|
};
|
||||||
|
// 关闭弹窗
|
||||||
|
const closeDialog = () => {
|
||||||
|
formRef.value.resetFields();
|
||||||
|
state.isShowDialog = false;
|
||||||
|
};
|
||||||
|
// 取消
|
||||||
|
const onCancel = () => {
|
||||||
|
closeDialog();
|
||||||
|
};
|
||||||
|
const emit = defineEmits(['callback']);
|
||||||
|
// 新增
|
||||||
|
const onSubmit = async (el) => {
|
||||||
|
await el.validate((valid, fields) => {
|
||||||
|
if (valid) {
|
||||||
|
submit(state.ruleForm).then((res) => {
|
||||||
|
emit('callback');
|
||||||
|
ElMessage.success('操作成功');
|
||||||
|
closeDialog();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
defineExpose({
|
||||||
|
openDialog,
|
||||||
|
});
|
||||||
|
</script>
|
|
@ -0,0 +1,140 @@
|
||||||
|
<template>
|
||||||
|
<div class="system-user-container" style="width:calc(100% - 10px) !important ;">
|
||||||
|
<el-row :gutter="10" >
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-card shadow="hover">
|
||||||
|
<div class="system-user-search mb15">
|
||||||
|
<el-row>
|
||||||
|
<span class="label-span">名称:</span><el-input size="default" placeholder="请输入名称" style="max-width: 180px" v-model="state.query.name" clearable> </el-input>
|
||||||
|
<el-button size="default" type="primary" class="ml10" @click="initTableData" >
|
||||||
|
<el-icon>
|
||||||
|
<ele-Search />
|
||||||
|
</el-icon>
|
||||||
|
查询
|
||||||
|
</el-button>
|
||||||
|
</el-row>
|
||||||
|
<el-row style="margin-top: 20px; margin-left: -10px;">
|
||||||
|
<el-button size="default" type="success" class="ml10" @click="onOpenAdd" >
|
||||||
|
<el-icon>
|
||||||
|
<ele-FolderAdd />
|
||||||
|
</el-icon>
|
||||||
|
新增
|
||||||
|
</el-button>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
<el-table :data="state.tableData.data" style="width: 100%" v-loading="state.tableData.loading" @selection-change="handleSelectionChange">
|
||||||
|
<el-table-column type="selection" width="55"/>
|
||||||
|
<el-table-column prop="userName" label="用户姓名" > </el-table-column>
|
||||||
|
<el-table-column prop="email" label="电子邮件" > </el-table-column>
|
||||||
|
<el-table-column prop="organization" label="组织" > </el-table-column>
|
||||||
|
<el-table-column prop="message" label="意见建议" > </el-table-column>
|
||||||
|
<el-table-column prop="id" label="数据自增列" > </el-table-column>
|
||||||
|
<el-table-column label="操作" width="100">
|
||||||
|
<template #default="scope">
|
||||||
|
<el-button :disabled="scope.row.userName === 'admin'" size="small" text type="primary" @click="onOpenEdit(scope.row)">修改</el-button>
|
||||||
|
<el-button :disabled="scope.row.userName === 'admin'" size="small" text type="primary" @click="onRowDel(scope.row)">删除</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<el-pagination
|
||||||
|
@size-change="onHandleSizeChange"
|
||||||
|
@current-change="onHandleCurrentChange"
|
||||||
|
class="mt15"
|
||||||
|
:pager-count="5"
|
||||||
|
:page-sizes="[10, 20, 30]"
|
||||||
|
v-model:current-page="state.tableData.param.pageNum"
|
||||||
|
background
|
||||||
|
v-model:page-size="state.tableData.param.pageSize"
|
||||||
|
layout="total, sizes, prev, pager, next, jumper"
|
||||||
|
:total="state.tableData.total"
|
||||||
|
>
|
||||||
|
</el-pagination>
|
||||||
|
</el-card>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<Add ref = 'AddRef' @callback="initTableData"></Add>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup name="contact">
|
||||||
|
import { getList ,remove} from '/@/api/contact/index'
|
||||||
|
import { ElMessageBox, ElMessage } from 'element-plus';
|
||||||
|
import { ref,reactive,onMounted,nextTick } from 'vue';
|
||||||
|
import Add from '/@/views/responseManagement/contact/component/add.vue';
|
||||||
|
const AddRef = ref();
|
||||||
|
const state = reactive({
|
||||||
|
tableData: {
|
||||||
|
data: [],
|
||||||
|
total: 0,
|
||||||
|
loading: false,
|
||||||
|
param:{
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
//请求条件
|
||||||
|
query: {
|
||||||
|
},
|
||||||
|
selected: [],
|
||||||
|
//字典数据
|
||||||
|
});
|
||||||
|
// 初始化表格数据
|
||||||
|
const initTableData = () => {
|
||||||
|
state.tableData.loading = true;
|
||||||
|
getList(state.tableData.param.pageNum,state.tableData.param.pageSize,state.query).then(res=>{
|
||||||
|
state.tableData = {
|
||||||
|
data: res.records,
|
||||||
|
total: res.total,
|
||||||
|
loading :false,
|
||||||
|
param: {
|
||||||
|
pageNum: res.current,
|
||||||
|
pageSize: res.size,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
};
|
||||||
|
// 打开新增
|
||||||
|
const onOpenAdd = () => {
|
||||||
|
AddRef.value.openDialog();
|
||||||
|
};
|
||||||
|
// 打开修改用户弹窗
|
||||||
|
const onOpenEdit = (row) => {
|
||||||
|
AddRef.value.openDialog(row);
|
||||||
|
};
|
||||||
|
// 删除用户
|
||||||
|
const onRowDel = (row) => {
|
||||||
|
ElMessageBox.confirm(`此操作将永久此参数:“${row.name}”,是否继续?`, '提示', {
|
||||||
|
confirmButtonText: '确认',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning',
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
remove(row.id).then(res=>{
|
||||||
|
ElMessage.success('删除成功');
|
||||||
|
initTableData();
|
||||||
|
})
|
||||||
|
})
|
||||||
|
.catch(() => {});
|
||||||
|
};
|
||||||
|
// 分页改变
|
||||||
|
const onHandleSizeChange = (val) => {
|
||||||
|
state.tableData.param.pageSize = val;
|
||||||
|
initTableData();
|
||||||
|
};
|
||||||
|
// 多选
|
||||||
|
const handleSelectionChange = (val) => {
|
||||||
|
state.selected = val;
|
||||||
|
};
|
||||||
|
// 分页改变
|
||||||
|
const onHandleCurrentChange = (val) => {
|
||||||
|
state.tableData.param.pageNum = val;
|
||||||
|
initTableData();
|
||||||
|
};
|
||||||
|
onMounted(() => {
|
||||||
|
nextTick(() => {
|
||||||
|
initTableData();
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
</script>
|
|
@ -0,0 +1,153 @@
|
||||||
|
<template>
|
||||||
|
<div class="system-add-dept-container">
|
||||||
|
<el-dialog :title="state.title" v-model="state.isShowDialog" width="769px">
|
||||||
|
<el-form :model="state.ruleForm" size="default" label-width="90px" ref="formRef" :rules="rules">
|
||||||
|
<el-row :gutter="35">
|
||||||
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||||
|
<el-form-item label="数据自增列" prop="id">
|
||||||
|
<el-input v-model="state.ruleForm.id" placeholder="请输入数据自增列" clearable></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||||
|
<el-form-item label="工具名称" prop="toolName">
|
||||||
|
<el-input v-model="state.ruleForm.toolName" placeholder="请输入工具名称" clearable></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||||
|
<el-form-item label="数据标签" prop="label">
|
||||||
|
<el-input v-model="state.ruleForm.label" placeholder="请输入数据标签" clearable></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||||
|
<el-form-item label="导论" prop="introduction">
|
||||||
|
<el-input v-model="state.ruleForm.introduction" placeholder="请输入导论" clearable></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||||
|
<el-form-item label="工具链接" prop="link">
|
||||||
|
<el-input v-model="state.ruleForm.link" placeholder="请输入工具链接" clearable></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||||
|
<el-form-item label="对模型的进一步描述" prop="detail">
|
||||||
|
<el-input v-model="state.ruleForm.detail" placeholder="请输入对模型的进一步描述" clearable></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||||
|
<el-form-item label="数据条目创建时间" prop="createTime">
|
||||||
|
<el-input v-model="state.ruleForm.createTime" placeholder="请输入数据条目创建时间" clearable></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||||
|
<el-form-item label="用户上传者" prop="uploadId">
|
||||||
|
<el-input v-model="state.ruleForm.uploadId" placeholder="请输入用户上传者" clearable></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||||
|
<el-form-item label="管理者/审核者" prop="managerId">
|
||||||
|
<el-input v-model="state.ruleForm.managerId" placeholder="请输入管理者/审核者" clearable></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||||
|
<el-form-item label="审核时间" prop="reviewTime">
|
||||||
|
<el-input v-model="state.ruleForm.reviewTime" placeholder="请输入审核时间" clearable></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||||
|
<el-form-item label="分类" prop="type">
|
||||||
|
<el-input v-model="state.ruleForm.type" placeholder="请输入分类" clearable></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||||
|
<el-form-item label="是否由志愿者上传(0-不是;1-是)" prop="voluntaryFlag">
|
||||||
|
<el-input v-model="state.ruleForm.voluntaryFlag" placeholder="请输入是否由志愿者上传(0-不是;1-是)" clearable></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||||
|
<el-form-item label="上传人" prop="uploader">
|
||||||
|
<el-input v-model="state.ruleForm.uploader" placeholder="请输入上传人" clearable></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||||
|
<el-form-item label="用户名展示" prop="showName">
|
||||||
|
<el-input v-model="state.ruleForm.showName" placeholder="请输入用户名展示" clearable></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
<template #footer>
|
||||||
|
<span class="dialog-footer">
|
||||||
|
<el-button @click="onCancel" size="default">取 消</el-button>
|
||||||
|
<el-button type="primary" @click="onSubmit(formRef)" size="default">{{state.title}}</el-button>
|
||||||
|
</span>
|
||||||
|
</template>
|
||||||
|
</el-dialog>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { ElMessage } from 'element-plus';
|
||||||
|
import { submit } from '/@/api/tool/index';
|
||||||
|
import { ref, reactive } from 'vue';
|
||||||
|
const formRef =ref();
|
||||||
|
const state = reactive({
|
||||||
|
isShowDialog: false,
|
||||||
|
ruleForm: {
|
||||||
|
},
|
||||||
|
deptData: [], // 部门数据
|
||||||
|
deptCategory:[],
|
||||||
|
title: '新增',
|
||||||
|
});
|
||||||
|
const rules = reactive({
|
||||||
|
id: [{ required: true, message: '请输入数据自增列', trigger: 'blur' }],
|
||||||
|
toolName: [{ required: true, message: '请输入工具名称', trigger: 'blur' }],
|
||||||
|
label: [{ required: true, message: '请输入数据标签', trigger: 'blur' }],
|
||||||
|
introduction: [{ required: true, message: '请输入导论', trigger: 'blur' }],
|
||||||
|
link: [{ required: true, message: '请输入工具链接', trigger: 'blur' }],
|
||||||
|
detail: [{ required: true, message: '请输入对模型的进一步描述', trigger: 'blur' }],
|
||||||
|
createTime: [{ required: true, message: '请输入数据条目创建时间', trigger: 'blur' }],
|
||||||
|
uploadId: [{ required: true, message: '请输入用户上传者', trigger: 'blur' }],
|
||||||
|
managerId: [{ required: true, message: '请输入管理者/审核者', trigger: 'blur' }],
|
||||||
|
reviewTime: [{ required: true, message: '请输入审核时间', trigger: 'blur' }],
|
||||||
|
type: [{ required: true, message: '请输入分类', trigger: 'blur' }],
|
||||||
|
voluntaryFlag: [{ required: true, message: '请输入是否由志愿者上传(0-不是;1-是)', trigger: 'blur' }],
|
||||||
|
uploader: [{ required: true, message: '请输入上传人', trigger: 'blur' }],
|
||||||
|
showName: [{ required: true, message: '请输入用户名展示', trigger: 'blur' }],
|
||||||
|
})
|
||||||
|
// 打开弹窗
|
||||||
|
const openDialog = (row) => {
|
||||||
|
if(row) {
|
||||||
|
state.title = '编辑';
|
||||||
|
state.ruleForm = row;
|
||||||
|
} else {
|
||||||
|
state.title = '新增';
|
||||||
|
state.ruleForm = {};
|
||||||
|
}
|
||||||
|
state.isShowDialog = true;
|
||||||
|
};
|
||||||
|
// 关闭弹窗
|
||||||
|
const closeDialog = () => {
|
||||||
|
formRef.value.resetFields();
|
||||||
|
state.isShowDialog = false;
|
||||||
|
};
|
||||||
|
// 取消
|
||||||
|
const onCancel = () => {
|
||||||
|
closeDialog();
|
||||||
|
};
|
||||||
|
const emit = defineEmits(['callback']);
|
||||||
|
// 新增
|
||||||
|
const onSubmit = async (el) => {
|
||||||
|
await el.validate((valid, fields) => {
|
||||||
|
if (valid) {
|
||||||
|
submit(state.ruleForm).then((res) => {
|
||||||
|
emit('callback');
|
||||||
|
ElMessage.success('操作成功');
|
||||||
|
closeDialog();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
||||||
|
defineExpose({
|
||||||
|
openDialog,
|
||||||
|
});
|
||||||
|
</script>
|
|
@ -0,0 +1,142 @@
|
||||||
|
<template>
|
||||||
|
<div class="system-user-container" style="width:calc(100% - 10px) !important ;">
|
||||||
|
<el-row :gutter="10" >
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-card shadow="hover">
|
||||||
|
<div class="system-user-search mb15">
|
||||||
|
<el-row>
|
||||||
|
<span class="label-span">名称:</span><el-input size="default" placeholder="请输入名称" style="max-width: 180px" v-model="state.query.name" clearable> </el-input>
|
||||||
|
<el-button size="default" type="primary" class="ml10" @click="initTableData" >
|
||||||
|
<el-icon>
|
||||||
|
<ele-Search />
|
||||||
|
</el-icon>
|
||||||
|
查询
|
||||||
|
</el-button>
|
||||||
|
</el-row>
|
||||||
|
<el-row style="margin-top: 20px; margin-left: -10px;">
|
||||||
|
<el-button size="default" type="success" class="ml10" @click="onOpenAdd" >
|
||||||
|
<el-icon>
|
||||||
|
<ele-FolderAdd />
|
||||||
|
</el-icon>
|
||||||
|
新增
|
||||||
|
</el-button>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
<el-table :data="state.tableData.data" style="width: 100%" v-loading="state.tableData.loading" @selection-change="handleSelectionChange">
|
||||||
|
<el-table-column prop="toolName" label="Tool Name" >
|
||||||
|
<template #default="scope">
|
||||||
|
<a :href="scope.row.link" target="_blank">{{scope.row.toolName}}</a>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="label" label="label" > </el-table-column>
|
||||||
|
<el-table-column prop="introduction" label="introduction" > </el-table-column>
|
||||||
|
<el-table-column prop="showName" label="Show Name" ></el-table-column>
|
||||||
|
<el-table-column label="Operate" width="100">
|
||||||
|
<template #default="scope">
|
||||||
|
<el-button :disabled="scope.row.userName === 'admin'" size="small" text type="primary" @click="onOpenEdit(scope.row)">修改</el-button>
|
||||||
|
<el-button :disabled="scope.row.userName === 'admin'" size="small" text type="primary" @click="onRowDel(scope.row)">删除</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<el-pagination
|
||||||
|
@size-change="onHandleSizeChange"
|
||||||
|
@current-change="onHandleCurrentChange"
|
||||||
|
class="mt15"
|
||||||
|
:pager-count="5"
|
||||||
|
:page-sizes="[10, 20, 30]"
|
||||||
|
v-model:current-page="state.tableData.param.pageNum"
|
||||||
|
background
|
||||||
|
v-model:page-size="state.tableData.param.pageSize"
|
||||||
|
layout="total, sizes, prev, pager, next, jumper"
|
||||||
|
:total="state.tableData.total"
|
||||||
|
>
|
||||||
|
</el-pagination>
|
||||||
|
</el-card>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<Add ref = 'AddRef' @callback="initTableData"></Add>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup name="systemUser">
|
||||||
|
import { getList ,remove} from '/@/api/tool/index'
|
||||||
|
import { ElMessageBox, ElMessage } from 'element-plus';
|
||||||
|
import { reactive, ref,onMounted,nextTick } from 'vue';
|
||||||
|
import Add from '/@/views/responseManagement/tool/component/add.vue';
|
||||||
|
const AddRef = ref();
|
||||||
|
const state = reactive({
|
||||||
|
tableData: {
|
||||||
|
data: [],
|
||||||
|
total: 0,
|
||||||
|
loading: false,
|
||||||
|
param:{
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
//请求条件
|
||||||
|
query: {
|
||||||
|
},
|
||||||
|
selected: [],
|
||||||
|
//字典数据
|
||||||
|
});
|
||||||
|
// 初始化表格数据
|
||||||
|
const initTableData = () => {
|
||||||
|
state.tableData.loading = true;
|
||||||
|
getList(state.tableData.param.pageNum,state.tableData.param.pageSize,state.query).then(res=>{
|
||||||
|
state.tableData = {
|
||||||
|
data: res.records,
|
||||||
|
total: res.total,
|
||||||
|
loading :false,
|
||||||
|
param: {
|
||||||
|
pageNum: res.current,
|
||||||
|
pageSize: res.size,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
};
|
||||||
|
// 打开新增
|
||||||
|
const onOpenAdd = () => {
|
||||||
|
AddRef.value.openDialog();
|
||||||
|
};
|
||||||
|
// 打开修改用户弹窗
|
||||||
|
const onOpenEdit = (row) => {
|
||||||
|
AddRef.value.openDialog(row);
|
||||||
|
};
|
||||||
|
// 删除用户
|
||||||
|
const onRowDel = (row) => {
|
||||||
|
ElMessageBox.confirm(`此操作将永久此参数:“${row.name}”,是否继续?`, '提示', {
|
||||||
|
confirmButtonText: '确认',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning',
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
remove(row.id).then(res=>{
|
||||||
|
ElMessage.success('删除成功');
|
||||||
|
initTableData();
|
||||||
|
})
|
||||||
|
})
|
||||||
|
.catch(() => {});
|
||||||
|
};
|
||||||
|
// 分页改变
|
||||||
|
const onHandleSizeChange = (val) => {
|
||||||
|
state.tableData.param.pageSize = val;
|
||||||
|
initTableData();
|
||||||
|
};
|
||||||
|
// 多选
|
||||||
|
const handleSelectionChange = (val) => {
|
||||||
|
state.selected = val;
|
||||||
|
};
|
||||||
|
// 分页改变
|
||||||
|
const onHandleCurrentChange = (val) => {
|
||||||
|
state.tableData.param.pageNum = val;
|
||||||
|
initTableData();
|
||||||
|
};
|
||||||
|
onMounted(() => {
|
||||||
|
nextTick(() => {
|
||||||
|
initTableData();
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
</script>
|
|
@ -2,7 +2,7 @@
|
||||||
<div class="system-role-container layout-padding">
|
<div class="system-role-container layout-padding">
|
||||||
<div class="system-role-padding layout-padding-auto layout-padding-view">
|
<div class="system-role-padding layout-padding-auto layout-padding-view">
|
||||||
<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick" style="margin-left: 20px">
|
<el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick" style="margin-left: 20px">
|
||||||
<el-tab-pane label="Not reviewed" name="first">
|
<el-tab-pane label="unchecked" name="first">
|
||||||
<el-table :data="state.tableData.data" v-loading="state.tableData.loading" style="width: 100%">
|
<el-table :data="state.tableData.data" v-loading="state.tableData.loading" style="width: 100%">
|
||||||
<el-table-column type="index" label="ID" width="50" />
|
<el-table-column type="index" label="ID" width="50" />
|
||||||
<el-table-column prop="username" label="User name" show-overflow-tooltip></el-table-column>
|
<el-table-column prop="username" label="User name" show-overflow-tooltip></el-table-column>
|
||||||
|
@ -17,18 +17,22 @@
|
||||||
<!-- <el-table-column prop="affectedCountry" label="Affected country" show-overflow-tooltip></el-table-column> -->
|
<!-- <el-table-column prop="affectedCountry" label="Affected country" show-overflow-tooltip></el-table-column> -->
|
||||||
<!-- <el-table-column prop="Longitude" label="Longitude" show-overflow-tooltip></el-table-column>
|
<!-- <el-table-column prop="Longitude" label="Longitude" show-overflow-tooltip></el-table-column>
|
||||||
<el-table-column prop="Latitude" label="Latitude" show-overflow-tooltip></el-table-column> -->
|
<el-table-column prop="Latitude" label="Latitude" show-overflow-tooltip></el-table-column> -->
|
||||||
<el-table-column prop="disasterTime" label="Disaster time" show-overflow-tooltip></el-table-column>
|
<el-table-column prop="disasterTime" label="Disaster time" show-overflow-tooltip>
|
||||||
|
<template #default="scope">
|
||||||
|
<!-- 格式化去除时分秒 -->
|
||||||
|
{{ dateFormat(scope.row.disasterTime) }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<!-- <el-table-column prop="responseTime" label="Response time" show-overflow-tooltip></el-table-column> -->
|
<!-- <el-table-column prop="responseTime" label="Response time" show-overflow-tooltip></el-table-column> -->
|
||||||
<el-table-column prop="respondStatus" label="Response status" show-overflow-tooltip>
|
<el-table-column prop="respondStatus" label="Response status" show-overflow-tooltip>
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-tag type="info" v-if="scope.row.respondStatus===0">Not reviewed</el-tag>
|
<el-tag type="info" v-if="scope.row.respondStatus === 0">Not reviewed</el-tag>
|
||||||
|
<el-tag type="info" v-if="scope.row.respondStatus === 1">Failed</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="Operate" label="Operate" show-overflow-tooltip>
|
<el-table-column prop="Operate" label="Operate" show-overflow-tooltip>
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-button size="small" text type="primary" @click="onOpenEditRole('edit', scope.row)"
|
<el-button size="small" text type="primary" @click="onOpenEditRole('edit', scope.row)">Review</el-button>
|
||||||
>Review</el-button
|
|
||||||
>
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
|
||||||
|
@ -57,7 +61,7 @@
|
||||||
:total="state.tableData.total">
|
:total="state.tableData.total">
|
||||||
</el-pagination>
|
</el-pagination>
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
<el-tab-pane label="Reviewed" name="second">
|
<el-tab-pane label="checked" name="second">
|
||||||
<el-table :data="state.tableData.data" v-loading="state.tableData.loading" style="width: 100%">
|
<el-table :data="state.tableData.data" v-loading="state.tableData.loading" style="width: 100%">
|
||||||
<el-table-column type="index" label="ID" width="50" />
|
<el-table-column type="index" label="ID" width="50" />
|
||||||
<el-table-column prop="username" label="User name" show-overflow-tooltip></el-table-column>
|
<el-table-column prop="username" label="User name" show-overflow-tooltip></el-table-column>
|
||||||
|
@ -74,14 +78,19 @@
|
||||||
<!-- <el-table-column prop="Affected country" label="Affected country" show-overflow-tooltip></el-table-column> -->
|
<!-- <el-table-column prop="Affected country" label="Affected country" show-overflow-tooltip></el-table-column> -->
|
||||||
<!-- <el-table-column prop="Longitude" label="Longitude" show-overflow-tooltip></el-table-column>
|
<!-- <el-table-column prop="Longitude" label="Longitude" show-overflow-tooltip></el-table-column>
|
||||||
<el-table-column prop="Latitude" label="Latitude" show-overflow-tooltip></el-table-column> -->
|
<el-table-column prop="Latitude" label="Latitude" show-overflow-tooltip></el-table-column> -->
|
||||||
<el-table-column prop="disasterTime" label="Disaster time" show-overflow-tooltip></el-table-column>
|
<el-table-column prop="disasterTime" label="Disaster time" show-overflow-tooltip>
|
||||||
|
<template #default="scope">
|
||||||
|
<!-- 格式化去除时分秒 -->
|
||||||
|
{{ dateFormat(scope.row.disasterTime) }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<!-- <el-table-column prop="responseTime" label="Response time" show-overflow-tooltip></el-table-column> -->
|
<!-- <el-table-column prop="responseTime" label="Response time" show-overflow-tooltip></el-table-column> -->
|
||||||
<!-- <el-table-column prop="Operate" label="Operate" show-overflow-tooltip></el-table-column> -->
|
<!-- <el-table-column prop="Operate" label="Operate" show-overflow-tooltip></el-table-column> -->
|
||||||
<el-table-column prop="respondStatus" label="Response status" show-overflow-tooltip>
|
<el-table-column prop="respondStatus" label="Response status" show-overflow-tooltip>
|
||||||
|
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<el-tag type="info" v-if="scope.row.respondStatus===2">Reviewed</el-tag>
|
<el-tag type="info" v-if="scope.row.respondStatus === 2">Reviewed</el-tag>
|
||||||
<el-tag type="info" v-if="scope.row.respondStatus===1">Failed</el-tag>
|
<el-tag type="info" v-if="scope.row.respondStatus === 1">Failed</el-tag>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
@ -113,28 +122,65 @@
|
||||||
</el-tab-pane>
|
</el-tab-pane>
|
||||||
</el-tabs>
|
</el-tabs>
|
||||||
</div>
|
</div>
|
||||||
<RoleDialog ref="roleDialogRef" @refresh="getTableData()" />
|
<el-dialog v-model="state.dialogVisible" title="Review" width="30%" :before-close="handleClose">
|
||||||
|
<el-container style="margin-top: -2%;margin-bottom: 2%;">
|
||||||
|
<el-radio v-model="state.radio" label='1'>Point</el-radio>
|
||||||
|
<el-radio v-model="state.radio" label='2'>Area</el-radio>
|
||||||
|
<el-button type="primary" style="margin-left: 5%;">Clear</el-button>
|
||||||
|
</el-container>
|
||||||
|
<el-container style="margin-top: 2%;margin-bottom: 2%;" v-if="state.radio==='1'?true:false">
|
||||||
|
<span style="line-height: 35px;"> Latitude:</span>
|
||||||
|
<el-input v-model="input" placeholder="请输入内容" style="height:35px;margin-right: 1%;"></el-input>
|
||||||
|
<span style="line-height: 35px;">Longitude:</span>
|
||||||
|
<el-input v-model="input" placeholder="请输入内容" style="height:35px;"></el-input>
|
||||||
|
</el-container>
|
||||||
|
<Map style="height:350px ; width:100% ;margin-bottom: 10px;" ref="map"></Map>
|
||||||
|
<el-form-item label="Disaster Time">
|
||||||
|
<el-date-picker v-model="state.edit.disasterTime" type="date" value-format="YYYY-MM-DD"
|
||||||
|
placeholder="Select date and time" />
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<template #footer>
|
||||||
|
<span class="dialog-footer">
|
||||||
|
<el-button @click="dialogVisible = false">Cancel</el-button>
|
||||||
|
<el-button type="danger" @click="reviews(1)">
|
||||||
|
Not Review
|
||||||
|
</el-button>
|
||||||
|
<el-button type="primary" @click="reviews(2)">
|
||||||
|
Review
|
||||||
|
</el-button>
|
||||||
|
</span>
|
||||||
|
</template>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup name="userResponse">
|
<script setup name="userResponse">
|
||||||
import { defineAsyncComponent, reactive, onMounted, ref } from 'vue';
|
import { reactive, onMounted, ref, nextTick } from 'vue';
|
||||||
import { ElMessageBox, ElMessage} from 'element-plus';
|
import { ElMessageBox, ElMessage } from 'element-plus';
|
||||||
import {getList ,review } from '/@/api/disasterInfo/index';
|
import { getList, review } from '/@/api/disasterInfo/index';
|
||||||
import { getDictionary } from '/@/api/system/dictbiz';
|
import { getDictionary } from '/@/api/system/dictbiz';
|
||||||
|
//引入地图
|
||||||
|
import Map from '/@/components/Map.vue';
|
||||||
|
import { useDateFormat } from '@vueuse/shared';
|
||||||
|
import L from "leaflet";
|
||||||
|
import "leaflet/dist/leaflet.css";
|
||||||
|
import 'leaflet-draw/dist/leaflet.draw'
|
||||||
|
import 'leaflet-draw/dist/leaflet.draw.css'
|
||||||
|
const map = ref(null);
|
||||||
const activeName = ref('first');
|
const activeName = ref('first');
|
||||||
|
|
||||||
const handleClick = (tab ,event) => {
|
const handleClick = (tab, event) => {
|
||||||
state.selectName=tab.props.name;
|
state.selectName = tab.props.name;
|
||||||
getTableData();
|
getTableData();
|
||||||
};
|
};
|
||||||
// 引入组件
|
const dateFormat = (date) => {
|
||||||
const RoleDialog = defineAsyncComponent(() => import('/@/views/system/role/dialog.vue'));
|
return useDateFormat(date, 'YYYY-MM-DD').value;
|
||||||
|
}
|
||||||
// 定义变量内容
|
// 定义变量内容
|
||||||
const roleDialogRef = ref();
|
const roleDialogRef = ref();
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
|
dialogVisible: false,
|
||||||
tableData: {
|
tableData: {
|
||||||
data: [],
|
data: [],
|
||||||
total: 0,
|
total: 0,
|
||||||
|
@ -143,19 +189,21 @@ const state = reactive({
|
||||||
search: '',
|
search: '',
|
||||||
current: 1,
|
current: 1,
|
||||||
size: 10,
|
size: 10,
|
||||||
respondStatus:0,
|
respondStatus: 0,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
disasterTypeList: [],
|
disasterTypeList: [],
|
||||||
selectName: 'first',
|
selectName: 'first',
|
||||||
|
edit: {},
|
||||||
|
radio:null,
|
||||||
});
|
});
|
||||||
// 初始化表格数据
|
// 初始化表格数据
|
||||||
const getTableData = () => {
|
const getTableData = () => {
|
||||||
state.tableData.loading = true;
|
state.tableData.loading = true;
|
||||||
//根据activeName的值来判断是哪个tab页
|
//根据activeName的值来判断是哪个tab页
|
||||||
if(state.selectName === 'first'){
|
if (state.selectName === 'first') {
|
||||||
state.tableData.param.respondStatus = 0;
|
state.tableData.param.respondStatus = 0;
|
||||||
}else{
|
} else {
|
||||||
state.tableData.param.respondStatus = 2;
|
state.tableData.param.respondStatus = 2;
|
||||||
}
|
}
|
||||||
console.log(activeName.value);
|
console.log(activeName.value);
|
||||||
|
@ -170,31 +218,35 @@ const onHandleSizeChange = (val) => {
|
||||||
getTableData();
|
getTableData();
|
||||||
};
|
};
|
||||||
const onOpenEditRole = (type, row) => {
|
const onOpenEditRole = (type, row) => {
|
||||||
//使用英语提示用户是否进行审核
|
//深拷贝
|
||||||
ElMessageBox.confirm('Are you sure you want to review this data ?', 'Tips', {
|
state.edit = JSON.parse(JSON.stringify(row));
|
||||||
confirmButtonText: 'OK',
|
nextTick(() => {
|
||||||
cancelButtonText: 'Cancel',
|
console.log(map.value);
|
||||||
type: 'warning',
|
//赋值地图范围,并且可以修改点或者区域
|
||||||
})
|
//TODO
|
||||||
.then(() => {
|
map.mapOperations.wktParseToMap(row.geometry)
|
||||||
//审核通过
|
});
|
||||||
review(row.id).then(() => {
|
state.dialogVisible = true;
|
||||||
ElMessage({
|
|
||||||
type: 'success',
|
|
||||||
message: 'Review success!',
|
|
||||||
});
|
|
||||||
getTableData();
|
|
||||||
});
|
|
||||||
})
|
|
||||||
.catch(() => {
|
|
||||||
//审核不通过
|
|
||||||
ElMessage({
|
|
||||||
type: 'info',
|
|
||||||
message: 'Review failed!',
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
const reviews = (index) => {
|
||||||
|
//将修改后的地图位置赋值到state.edit.geometry
|
||||||
|
//TODO 修改地图赋值
|
||||||
|
//state.edit.geometry = map.mapOperations.getWkt();
|
||||||
|
|
||||||
|
//判断index的值来判断是审核通过还是不通过
|
||||||
|
if (index === 1) {
|
||||||
|
state.edit.respondStatus = 1;
|
||||||
|
} else {
|
||||||
|
state.edit.respondStatus = 2;
|
||||||
|
}
|
||||||
|
//时间格式化
|
||||||
|
state.edit.disasterTime = useDateFormat(state.edit.disasterTime, 'YYYY-MM-DD').value + " 00:00:00";
|
||||||
|
review(state.edit).then((res) => {
|
||||||
|
ElMessage.success('操作成功');
|
||||||
|
state.dialogVisible = false;
|
||||||
|
getTableData();
|
||||||
|
});
|
||||||
|
}
|
||||||
// 分页改变
|
// 分页改变
|
||||||
const onHandleCurrentChange = (val) => {
|
const onHandleCurrentChange = (val) => {
|
||||||
console.log(val);
|
console.log(val);
|
||||||
|
@ -204,13 +256,13 @@ const onHandleCurrentChange = (val) => {
|
||||||
// 页面加载时
|
// 页面加载时
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
getTableData();
|
getTableData();
|
||||||
getDictionary({code:'disaster'}).then((res) => {
|
getDictionary({ code: 'disaster' }).then((res) => {
|
||||||
state.disasterTypeList = res;
|
state.disasterTypeList = res;
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
const getValue = (key) => {
|
const getValue = (key) => {
|
||||||
//返回state.disasterTypeLis 对应的value
|
//返回state.disasterTypeLis 对应的value
|
||||||
return state.disasterTypeList.find((item) => item.dictKey === key)?.dictValue;
|
return state.disasterTypeList.find((item) => item.dictKey === key)?.dictValue;
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<style>
|
<style>
|
||||||
|
|
Loading…
Reference in New Issue