diff --git a/config/index.js b/config/index.js
index 0d96846..52762df 100644
--- a/config/index.js
+++ b/config/index.js
@@ -56,10 +56,10 @@
build: {
// Template for index.html
- index: path.resolve(__dirname, '../smartwell/index.html'),
+ index: path.resolve(__dirname, '../dist/index.html'),
// Paths
- assetsRoot: path.resolve(__dirname, '../smartwell'),
+ assetsRoot: path.resolve(__dirname, '../dist'),
assetsSubDirectory: 'static',
/**
diff --git a/config/index.js b/config/index.js
index 0d96846..52762df 100644
--- a/config/index.js
+++ b/config/index.js
@@ -56,10 +56,10 @@
build: {
// Template for index.html
- index: path.resolve(__dirname, '../smartwell/index.html'),
+ index: path.resolve(__dirname, '../dist/index.html'),
// Paths
- assetsRoot: path.resolve(__dirname, '../smartwell'),
+ assetsRoot: path.resolve(__dirname, '../dist'),
assetsSubDirectory: 'static',
/**
diff --git a/favicon.ico b/favicon.ico
index 34b63ac..586e43b 100644
--- a/favicon.ico
+++ b/favicon.ico
Binary files differ
diff --git a/config/index.js b/config/index.js
index 0d96846..52762df 100644
--- a/config/index.js
+++ b/config/index.js
@@ -56,10 +56,10 @@
build: {
// Template for index.html
- index: path.resolve(__dirname, '../smartwell/index.html'),
+ index: path.resolve(__dirname, '../dist/index.html'),
// Paths
- assetsRoot: path.resolve(__dirname, '../smartwell'),
+ assetsRoot: path.resolve(__dirname, '../dist'),
assetsSubDirectory: 'static',
/**
diff --git a/favicon.ico b/favicon.ico
index 34b63ac..586e43b 100644
--- a/favicon.ico
+++ b/favicon.ico
Binary files differ
diff --git a/package.json b/package.json
index db879d6..4b9d52d 100644
--- a/package.json
+++ b/package.json
@@ -15,18 +15,26 @@
"svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml"
},
"dependencies": {
- "animate.css": "^3.7.2",
- "axios": "0.18.0",
+ "animate.css": "^4.1.1",
+ "axios": "^0.19.0",
"babel-polyfill": "^6.26.0",
"cesium": "^1.81.0",
- "echarts": "^4.2.1",
- "element-ui": "2.13.0",
+ "echarts": "^4.3.0",
+ "element-ui": "^2.14.1",
+ "esri": "0.0.1-security",
+ "esri-leaflet": "^3.0.1",
+ "esri-leaflet-renderers": "^2.1.2",
+ "esri-loader": "^3.0.0",
"event-source-polyfill": "^1.0.5",
+ "jquery": "1.11.3",
"js-cookie": "2.2.0",
"jsencrypt": "^3.0.0-rc.1",
"leaflet": "^1.7.1",
"leaflet-draw": "^1.0.4",
- "mars3d": "^3.0.26",
+ "leaflet-rotatedmarker": "^0.2.0",
+ "leaflet.markercluster": "^1.5.3",
+ "mars3d": "^3.0.30",
+ "mars3d-cesium": "1.83.0",
"mockjs": "1.0.1-beta3",
"normalize.css": "7.0.0",
"nprogress": "0.2.0",
@@ -35,12 +43,12 @@
"vue-amap": "^0.5.9",
"vue-baidu-map": "^0.21.22",
"vue-router": "3.0.1",
- "vuex": "3.0.1"
+ "vuex": "^3.1.1"
},
"devDependencies": {
"autoprefixer": "8.5.0",
"babel-core": "6.26.0",
- "babel-eslint": "8.2.6",
+ "babel-eslint": "7.2.3",
"babel-helper-vue-jsx-merge-props": "2.0.3",
"babel-loader": "7.1.5",
"babel-plugin-syntax-jsx": "6.18.0",
diff --git a/config/index.js b/config/index.js
index 0d96846..52762df 100644
--- a/config/index.js
+++ b/config/index.js
@@ -56,10 +56,10 @@
build: {
// Template for index.html
- index: path.resolve(__dirname, '../smartwell/index.html'),
+ index: path.resolve(__dirname, '../dist/index.html'),
// Paths
- assetsRoot: path.resolve(__dirname, '../smartwell'),
+ assetsRoot: path.resolve(__dirname, '../dist'),
assetsSubDirectory: 'static',
/**
diff --git a/favicon.ico b/favicon.ico
index 34b63ac..586e43b 100644
--- a/favicon.ico
+++ b/favicon.ico
Binary files differ
diff --git a/package.json b/package.json
index db879d6..4b9d52d 100644
--- a/package.json
+++ b/package.json
@@ -15,18 +15,26 @@
"svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml"
},
"dependencies": {
- "animate.css": "^3.7.2",
- "axios": "0.18.0",
+ "animate.css": "^4.1.1",
+ "axios": "^0.19.0",
"babel-polyfill": "^6.26.0",
"cesium": "^1.81.0",
- "echarts": "^4.2.1",
- "element-ui": "2.13.0",
+ "echarts": "^4.3.0",
+ "element-ui": "^2.14.1",
+ "esri": "0.0.1-security",
+ "esri-leaflet": "^3.0.1",
+ "esri-leaflet-renderers": "^2.1.2",
+ "esri-loader": "^3.0.0",
"event-source-polyfill": "^1.0.5",
+ "jquery": "1.11.3",
"js-cookie": "2.2.0",
"jsencrypt": "^3.0.0-rc.1",
"leaflet": "^1.7.1",
"leaflet-draw": "^1.0.4",
- "mars3d": "^3.0.26",
+ "leaflet-rotatedmarker": "^0.2.0",
+ "leaflet.markercluster": "^1.5.3",
+ "mars3d": "^3.0.30",
+ "mars3d-cesium": "1.83.0",
"mockjs": "1.0.1-beta3",
"normalize.css": "7.0.0",
"nprogress": "0.2.0",
@@ -35,12 +43,12 @@
"vue-amap": "^0.5.9",
"vue-baidu-map": "^0.21.22",
"vue-router": "3.0.1",
- "vuex": "3.0.1"
+ "vuex": "^3.1.1"
},
"devDependencies": {
"autoprefixer": "8.5.0",
"babel-core": "6.26.0",
- "babel-eslint": "8.2.6",
+ "babel-eslint": "7.2.3",
"babel-helper-vue-jsx-merge-props": "2.0.3",
"babel-loader": "7.1.5",
"babel-plugin-syntax-jsx": "6.18.0",
diff --git a/src/api/common.js b/src/api/common.js
index 4c38684..4d989f8 100644
--- a/src/api/common.js
+++ b/src/api/common.js
@@ -5,7 +5,7 @@
// 模板下载
export function downloadTemplate(fileName) {
return request({
- url: 'template/download',
+ url: '/smartwell/template/download',
method: 'get',
params: {
filename: fileName
diff --git a/config/index.js b/config/index.js
index 0d96846..52762df 100644
--- a/config/index.js
+++ b/config/index.js
@@ -56,10 +56,10 @@
build: {
// Template for index.html
- index: path.resolve(__dirname, '../smartwell/index.html'),
+ index: path.resolve(__dirname, '../dist/index.html'),
// Paths
- assetsRoot: path.resolve(__dirname, '../smartwell'),
+ assetsRoot: path.resolve(__dirname, '../dist'),
assetsSubDirectory: 'static',
/**
diff --git a/favicon.ico b/favicon.ico
index 34b63ac..586e43b 100644
--- a/favicon.ico
+++ b/favicon.ico
Binary files differ
diff --git a/package.json b/package.json
index db879d6..4b9d52d 100644
--- a/package.json
+++ b/package.json
@@ -15,18 +15,26 @@
"svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml"
},
"dependencies": {
- "animate.css": "^3.7.2",
- "axios": "0.18.0",
+ "animate.css": "^4.1.1",
+ "axios": "^0.19.0",
"babel-polyfill": "^6.26.0",
"cesium": "^1.81.0",
- "echarts": "^4.2.1",
- "element-ui": "2.13.0",
+ "echarts": "^4.3.0",
+ "element-ui": "^2.14.1",
+ "esri": "0.0.1-security",
+ "esri-leaflet": "^3.0.1",
+ "esri-leaflet-renderers": "^2.1.2",
+ "esri-loader": "^3.0.0",
"event-source-polyfill": "^1.0.5",
+ "jquery": "1.11.3",
"js-cookie": "2.2.0",
"jsencrypt": "^3.0.0-rc.1",
"leaflet": "^1.7.1",
"leaflet-draw": "^1.0.4",
- "mars3d": "^3.0.26",
+ "leaflet-rotatedmarker": "^0.2.0",
+ "leaflet.markercluster": "^1.5.3",
+ "mars3d": "^3.0.30",
+ "mars3d-cesium": "1.83.0",
"mockjs": "1.0.1-beta3",
"normalize.css": "7.0.0",
"nprogress": "0.2.0",
@@ -35,12 +43,12 @@
"vue-amap": "^0.5.9",
"vue-baidu-map": "^0.21.22",
"vue-router": "3.0.1",
- "vuex": "3.0.1"
+ "vuex": "^3.1.1"
},
"devDependencies": {
"autoprefixer": "8.5.0",
"babel-core": "6.26.0",
- "babel-eslint": "8.2.6",
+ "babel-eslint": "7.2.3",
"babel-helper-vue-jsx-merge-props": "2.0.3",
"babel-loader": "7.1.5",
"babel-plugin-syntax-jsx": "6.18.0",
diff --git a/src/api/common.js b/src/api/common.js
index 4c38684..4d989f8 100644
--- a/src/api/common.js
+++ b/src/api/common.js
@@ -5,7 +5,7 @@
// 模板下载
export function downloadTemplate(fileName) {
return request({
- url: 'template/download',
+ url: '/smartwell/template/download',
method: 'get',
params: {
filename: fileName
diff --git a/src/assets/map/marker-icon-2x.png b/src/assets/map/marker-icon-2x.png
new file mode 100644
index 0000000..88f9e50
--- /dev/null
+++ b/src/assets/map/marker-icon-2x.png
Binary files differ
diff --git a/config/index.js b/config/index.js
index 0d96846..52762df 100644
--- a/config/index.js
+++ b/config/index.js
@@ -56,10 +56,10 @@
build: {
// Template for index.html
- index: path.resolve(__dirname, '../smartwell/index.html'),
+ index: path.resolve(__dirname, '../dist/index.html'),
// Paths
- assetsRoot: path.resolve(__dirname, '../smartwell'),
+ assetsRoot: path.resolve(__dirname, '../dist'),
assetsSubDirectory: 'static',
/**
diff --git a/favicon.ico b/favicon.ico
index 34b63ac..586e43b 100644
--- a/favicon.ico
+++ b/favicon.ico
Binary files differ
diff --git a/package.json b/package.json
index db879d6..4b9d52d 100644
--- a/package.json
+++ b/package.json
@@ -15,18 +15,26 @@
"svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml"
},
"dependencies": {
- "animate.css": "^3.7.2",
- "axios": "0.18.0",
+ "animate.css": "^4.1.1",
+ "axios": "^0.19.0",
"babel-polyfill": "^6.26.0",
"cesium": "^1.81.0",
- "echarts": "^4.2.1",
- "element-ui": "2.13.0",
+ "echarts": "^4.3.0",
+ "element-ui": "^2.14.1",
+ "esri": "0.0.1-security",
+ "esri-leaflet": "^3.0.1",
+ "esri-leaflet-renderers": "^2.1.2",
+ "esri-loader": "^3.0.0",
"event-source-polyfill": "^1.0.5",
+ "jquery": "1.11.3",
"js-cookie": "2.2.0",
"jsencrypt": "^3.0.0-rc.1",
"leaflet": "^1.7.1",
"leaflet-draw": "^1.0.4",
- "mars3d": "^3.0.26",
+ "leaflet-rotatedmarker": "^0.2.0",
+ "leaflet.markercluster": "^1.5.3",
+ "mars3d": "^3.0.30",
+ "mars3d-cesium": "1.83.0",
"mockjs": "1.0.1-beta3",
"normalize.css": "7.0.0",
"nprogress": "0.2.0",
@@ -35,12 +43,12 @@
"vue-amap": "^0.5.9",
"vue-baidu-map": "^0.21.22",
"vue-router": "3.0.1",
- "vuex": "3.0.1"
+ "vuex": "^3.1.1"
},
"devDependencies": {
"autoprefixer": "8.5.0",
"babel-core": "6.26.0",
- "babel-eslint": "8.2.6",
+ "babel-eslint": "7.2.3",
"babel-helper-vue-jsx-merge-props": "2.0.3",
"babel-loader": "7.1.5",
"babel-plugin-syntax-jsx": "6.18.0",
diff --git a/src/api/common.js b/src/api/common.js
index 4c38684..4d989f8 100644
--- a/src/api/common.js
+++ b/src/api/common.js
@@ -5,7 +5,7 @@
// 模板下载
export function downloadTemplate(fileName) {
return request({
- url: 'template/download',
+ url: '/smartwell/template/download',
method: 'get',
params: {
filename: fileName
diff --git a/src/assets/map/marker-icon-2x.png b/src/assets/map/marker-icon-2x.png
new file mode 100644
index 0000000..88f9e50
--- /dev/null
+++ b/src/assets/map/marker-icon-2x.png
Binary files differ
diff --git a/src/assets/map/marker.png b/src/assets/map/marker.png
new file mode 100644
index 0000000..fea9fe9
--- /dev/null
+++ b/src/assets/map/marker.png
Binary files differ
diff --git a/config/index.js b/config/index.js
index 0d96846..52762df 100644
--- a/config/index.js
+++ b/config/index.js
@@ -56,10 +56,10 @@
build: {
// Template for index.html
- index: path.resolve(__dirname, '../smartwell/index.html'),
+ index: path.resolve(__dirname, '../dist/index.html'),
// Paths
- assetsRoot: path.resolve(__dirname, '../smartwell'),
+ assetsRoot: path.resolve(__dirname, '../dist'),
assetsSubDirectory: 'static',
/**
diff --git a/favicon.ico b/favicon.ico
index 34b63ac..586e43b 100644
--- a/favicon.ico
+++ b/favicon.ico
Binary files differ
diff --git a/package.json b/package.json
index db879d6..4b9d52d 100644
--- a/package.json
+++ b/package.json
@@ -15,18 +15,26 @@
"svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml"
},
"dependencies": {
- "animate.css": "^3.7.2",
- "axios": "0.18.0",
+ "animate.css": "^4.1.1",
+ "axios": "^0.19.0",
"babel-polyfill": "^6.26.0",
"cesium": "^1.81.0",
- "echarts": "^4.2.1",
- "element-ui": "2.13.0",
+ "echarts": "^4.3.0",
+ "element-ui": "^2.14.1",
+ "esri": "0.0.1-security",
+ "esri-leaflet": "^3.0.1",
+ "esri-leaflet-renderers": "^2.1.2",
+ "esri-loader": "^3.0.0",
"event-source-polyfill": "^1.0.5",
+ "jquery": "1.11.3",
"js-cookie": "2.2.0",
"jsencrypt": "^3.0.0-rc.1",
"leaflet": "^1.7.1",
"leaflet-draw": "^1.0.4",
- "mars3d": "^3.0.26",
+ "leaflet-rotatedmarker": "^0.2.0",
+ "leaflet.markercluster": "^1.5.3",
+ "mars3d": "^3.0.30",
+ "mars3d-cesium": "1.83.0",
"mockjs": "1.0.1-beta3",
"normalize.css": "7.0.0",
"nprogress": "0.2.0",
@@ -35,12 +43,12 @@
"vue-amap": "^0.5.9",
"vue-baidu-map": "^0.21.22",
"vue-router": "3.0.1",
- "vuex": "3.0.1"
+ "vuex": "^3.1.1"
},
"devDependencies": {
"autoprefixer": "8.5.0",
"babel-core": "6.26.0",
- "babel-eslint": "8.2.6",
+ "babel-eslint": "7.2.3",
"babel-helper-vue-jsx-merge-props": "2.0.3",
"babel-loader": "7.1.5",
"babel-plugin-syntax-jsx": "6.18.0",
diff --git a/src/api/common.js b/src/api/common.js
index 4c38684..4d989f8 100644
--- a/src/api/common.js
+++ b/src/api/common.js
@@ -5,7 +5,7 @@
// 模板下载
export function downloadTemplate(fileName) {
return request({
- url: 'template/download',
+ url: '/smartwell/template/download',
method: 'get',
params: {
filename: fileName
diff --git a/src/assets/map/marker-icon-2x.png b/src/assets/map/marker-icon-2x.png
new file mode 100644
index 0000000..88f9e50
--- /dev/null
+++ b/src/assets/map/marker-icon-2x.png
Binary files differ
diff --git a/src/assets/map/marker.png b/src/assets/map/marker.png
new file mode 100644
index 0000000..fea9fe9
--- /dev/null
+++ b/src/assets/map/marker.png
Binary files differ
diff --git a/src/assets/map/markerAlarm.png b/src/assets/map/markerAlarm.png
new file mode 100644
index 0000000..9b3ecb8
--- /dev/null
+++ b/src/assets/map/markerAlarm.png
Binary files differ
diff --git a/config/index.js b/config/index.js
index 0d96846..52762df 100644
--- a/config/index.js
+++ b/config/index.js
@@ -56,10 +56,10 @@
build: {
// Template for index.html
- index: path.resolve(__dirname, '../smartwell/index.html'),
+ index: path.resolve(__dirname, '../dist/index.html'),
// Paths
- assetsRoot: path.resolve(__dirname, '../smartwell'),
+ assetsRoot: path.resolve(__dirname, '../dist'),
assetsSubDirectory: 'static',
/**
diff --git a/favicon.ico b/favicon.ico
index 34b63ac..586e43b 100644
--- a/favicon.ico
+++ b/favicon.ico
Binary files differ
diff --git a/package.json b/package.json
index db879d6..4b9d52d 100644
--- a/package.json
+++ b/package.json
@@ -15,18 +15,26 @@
"svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml"
},
"dependencies": {
- "animate.css": "^3.7.2",
- "axios": "0.18.0",
+ "animate.css": "^4.1.1",
+ "axios": "^0.19.0",
"babel-polyfill": "^6.26.0",
"cesium": "^1.81.0",
- "echarts": "^4.2.1",
- "element-ui": "2.13.0",
+ "echarts": "^4.3.0",
+ "element-ui": "^2.14.1",
+ "esri": "0.0.1-security",
+ "esri-leaflet": "^3.0.1",
+ "esri-leaflet-renderers": "^2.1.2",
+ "esri-loader": "^3.0.0",
"event-source-polyfill": "^1.0.5",
+ "jquery": "1.11.3",
"js-cookie": "2.2.0",
"jsencrypt": "^3.0.0-rc.1",
"leaflet": "^1.7.1",
"leaflet-draw": "^1.0.4",
- "mars3d": "^3.0.26",
+ "leaflet-rotatedmarker": "^0.2.0",
+ "leaflet.markercluster": "^1.5.3",
+ "mars3d": "^3.0.30",
+ "mars3d-cesium": "1.83.0",
"mockjs": "1.0.1-beta3",
"normalize.css": "7.0.0",
"nprogress": "0.2.0",
@@ -35,12 +43,12 @@
"vue-amap": "^0.5.9",
"vue-baidu-map": "^0.21.22",
"vue-router": "3.0.1",
- "vuex": "3.0.1"
+ "vuex": "^3.1.1"
},
"devDependencies": {
"autoprefixer": "8.5.0",
"babel-core": "6.26.0",
- "babel-eslint": "8.2.6",
+ "babel-eslint": "7.2.3",
"babel-helper-vue-jsx-merge-props": "2.0.3",
"babel-loader": "7.1.5",
"babel-plugin-syntax-jsx": "6.18.0",
diff --git a/src/api/common.js b/src/api/common.js
index 4c38684..4d989f8 100644
--- a/src/api/common.js
+++ b/src/api/common.js
@@ -5,7 +5,7 @@
// 模板下载
export function downloadTemplate(fileName) {
return request({
- url: 'template/download',
+ url: '/smartwell/template/download',
method: 'get',
params: {
filename: fileName
diff --git a/src/assets/map/marker-icon-2x.png b/src/assets/map/marker-icon-2x.png
new file mode 100644
index 0000000..88f9e50
--- /dev/null
+++ b/src/assets/map/marker-icon-2x.png
Binary files differ
diff --git a/src/assets/map/marker.png b/src/assets/map/marker.png
new file mode 100644
index 0000000..fea9fe9
--- /dev/null
+++ b/src/assets/map/marker.png
Binary files differ
diff --git a/src/assets/map/markerAlarm.png b/src/assets/map/markerAlarm.png
new file mode 100644
index 0000000..9b3ecb8
--- /dev/null
+++ b/src/assets/map/markerAlarm.png
Binary files differ
diff --git a/src/components/mapWindow/base/mixins/abstract.js b/src/components/mapWindow/base/mixins/abstract.js
new file mode 100644
index 0000000..9cf6d52
--- /dev/null
+++ b/src/components/mapWindow/base/mixins/abstract.js
@@ -0,0 +1,13 @@
+class Mixin {
+ constructor({ component, props, events, extraProps, exceptProps }) {
+ this.render = function(h) {
+ return h(component, {
+ props: props.reduce((obj, key) => Object.assign(obj, { [key]: this[key] }), {}),
+ on: events.reduce((obj, key) => Object.assign(obj, { [key]: this.transmitEvent }), {})
+ })
+ }
+ this.props = [...extraProps, ...props.filter(prop => exceptProps.indexOf(prop))]
+ }
+}
+
+export default prop => new Mixin(prop)
diff --git a/config/index.js b/config/index.js
index 0d96846..52762df 100644
--- a/config/index.js
+++ b/config/index.js
@@ -56,10 +56,10 @@
build: {
// Template for index.html
- index: path.resolve(__dirname, '../smartwell/index.html'),
+ index: path.resolve(__dirname, '../dist/index.html'),
// Paths
- assetsRoot: path.resolve(__dirname, '../smartwell'),
+ assetsRoot: path.resolve(__dirname, '../dist'),
assetsSubDirectory: 'static',
/**
diff --git a/favicon.ico b/favicon.ico
index 34b63ac..586e43b 100644
--- a/favicon.ico
+++ b/favicon.ico
Binary files differ
diff --git a/package.json b/package.json
index db879d6..4b9d52d 100644
--- a/package.json
+++ b/package.json
@@ -15,18 +15,26 @@
"svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml"
},
"dependencies": {
- "animate.css": "^3.7.2",
- "axios": "0.18.0",
+ "animate.css": "^4.1.1",
+ "axios": "^0.19.0",
"babel-polyfill": "^6.26.0",
"cesium": "^1.81.0",
- "echarts": "^4.2.1",
- "element-ui": "2.13.0",
+ "echarts": "^4.3.0",
+ "element-ui": "^2.14.1",
+ "esri": "0.0.1-security",
+ "esri-leaflet": "^3.0.1",
+ "esri-leaflet-renderers": "^2.1.2",
+ "esri-loader": "^3.0.0",
"event-source-polyfill": "^1.0.5",
+ "jquery": "1.11.3",
"js-cookie": "2.2.0",
"jsencrypt": "^3.0.0-rc.1",
"leaflet": "^1.7.1",
"leaflet-draw": "^1.0.4",
- "mars3d": "^3.0.26",
+ "leaflet-rotatedmarker": "^0.2.0",
+ "leaflet.markercluster": "^1.5.3",
+ "mars3d": "^3.0.30",
+ "mars3d-cesium": "1.83.0",
"mockjs": "1.0.1-beta3",
"normalize.css": "7.0.0",
"nprogress": "0.2.0",
@@ -35,12 +43,12 @@
"vue-amap": "^0.5.9",
"vue-baidu-map": "^0.21.22",
"vue-router": "3.0.1",
- "vuex": "3.0.1"
+ "vuex": "^3.1.1"
},
"devDependencies": {
"autoprefixer": "8.5.0",
"babel-core": "6.26.0",
- "babel-eslint": "8.2.6",
+ "babel-eslint": "7.2.3",
"babel-helper-vue-jsx-merge-props": "2.0.3",
"babel-loader": "7.1.5",
"babel-plugin-syntax-jsx": "6.18.0",
diff --git a/src/api/common.js b/src/api/common.js
index 4c38684..4d989f8 100644
--- a/src/api/common.js
+++ b/src/api/common.js
@@ -5,7 +5,7 @@
// 模板下载
export function downloadTemplate(fileName) {
return request({
- url: 'template/download',
+ url: '/smartwell/template/download',
method: 'get',
params: {
filename: fileName
diff --git a/src/assets/map/marker-icon-2x.png b/src/assets/map/marker-icon-2x.png
new file mode 100644
index 0000000..88f9e50
--- /dev/null
+++ b/src/assets/map/marker-icon-2x.png
Binary files differ
diff --git a/src/assets/map/marker.png b/src/assets/map/marker.png
new file mode 100644
index 0000000..fea9fe9
--- /dev/null
+++ b/src/assets/map/marker.png
Binary files differ
diff --git a/src/assets/map/markerAlarm.png b/src/assets/map/markerAlarm.png
new file mode 100644
index 0000000..9b3ecb8
--- /dev/null
+++ b/src/assets/map/markerAlarm.png
Binary files differ
diff --git a/src/components/mapWindow/base/mixins/abstract.js b/src/components/mapWindow/base/mixins/abstract.js
new file mode 100644
index 0000000..9cf6d52
--- /dev/null
+++ b/src/components/mapWindow/base/mixins/abstract.js
@@ -0,0 +1,13 @@
+class Mixin {
+ constructor({ component, props, events, extraProps, exceptProps }) {
+ this.render = function(h) {
+ return h(component, {
+ props: props.reduce((obj, key) => Object.assign(obj, { [key]: this[key] }), {}),
+ on: events.reduce((obj, key) => Object.assign(obj, { [key]: this.transmitEvent }), {})
+ })
+ }
+ this.props = [...extraProps, ...props.filter(prop => exceptProps.indexOf(prop))]
+ }
+}
+
+export default prop => new Mixin(prop)
diff --git a/src/components/mapWindow/base/mixins/common.js b/src/components/mapWindow/base/mixins/common.js
new file mode 100644
index 0000000..2fd1a28
--- /dev/null
+++ b/src/components/mapWindow/base/mixins/common.js
@@ -0,0 +1,82 @@
+const types = {
+ map: {
+ unload: 'clearMap'
+ },
+ control: {
+ unload: 'removeControl'
+ },
+ layer: {
+ unload: 'removeLayer'
+ },
+ features: {
+ unload: 'removeFeatures'
+ },
+ listener: {
+ unload: 'removeListener'
+ }
+}
+
+const getParent = $component => ($component.abstract || $component.$el === $component.$children[0].$el) ? getParent($component.$parent) : $component
+
+function destroyInstance () {
+ const { unload, renderByParent, $parent } = this
+ if (renderByParent) {
+ $parent.reload()
+ }
+ unload()
+}
+
+class Mixin {
+ constructor (prop) {
+ this.methods = {
+ ready () {
+ const $parent = getParent(this.$parent)
+ const map = this.map = $parent.map
+ this.load()
+ this.$emit('ready', {
+ map
+ })
+ },
+ transmitEvent (e) {
+ this.$emit(e.type.replace(/^on/, ''), e)
+ },
+ reload () {
+ this && this.$nextTick(() => {
+ this.unload()
+ this.$nextTick(this.load)
+ })
+ },
+ unload () {
+ const { map, originInstance } = this
+ try {
+ switch (prop.type) {
+ case 'search':
+ return originInstance.clearResults()
+ case 'autoComplete':
+ case 'lushu':
+ return originInstance.dispose()
+ case 'markerClusterer':
+ return originInstance.clearMarkers()
+ default:
+ map[types[prop.type].unload](originInstance)
+ }
+ } catch (e) {}
+ }
+ }
+ this.computed = {
+ renderByParent () {
+ return this.$parent.preventChildrenRender
+ }
+ }
+ this.mounted = function () {
+ console.log('common mounted')
+ const $parent = getParent(this.$parent)
+ const map = $parent.map
+ const { ready } = this
+ console.log(map)
+ map ? ready() : $parent.$on('onload', ready)
+ }
+ }
+}
+
+export default type => new Mixin({ type })
diff --git a/config/index.js b/config/index.js
index 0d96846..52762df 100644
--- a/config/index.js
+++ b/config/index.js
@@ -56,10 +56,10 @@
build: {
// Template for index.html
- index: path.resolve(__dirname, '../smartwell/index.html'),
+ index: path.resolve(__dirname, '../dist/index.html'),
// Paths
- assetsRoot: path.resolve(__dirname, '../smartwell'),
+ assetsRoot: path.resolve(__dirname, '../dist'),
assetsSubDirectory: 'static',
/**
diff --git a/favicon.ico b/favicon.ico
index 34b63ac..586e43b 100644
--- a/favicon.ico
+++ b/favicon.ico
Binary files differ
diff --git a/package.json b/package.json
index db879d6..4b9d52d 100644
--- a/package.json
+++ b/package.json
@@ -15,18 +15,26 @@
"svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml"
},
"dependencies": {
- "animate.css": "^3.7.2",
- "axios": "0.18.0",
+ "animate.css": "^4.1.1",
+ "axios": "^0.19.0",
"babel-polyfill": "^6.26.0",
"cesium": "^1.81.0",
- "echarts": "^4.2.1",
- "element-ui": "2.13.0",
+ "echarts": "^4.3.0",
+ "element-ui": "^2.14.1",
+ "esri": "0.0.1-security",
+ "esri-leaflet": "^3.0.1",
+ "esri-leaflet-renderers": "^2.1.2",
+ "esri-loader": "^3.0.0",
"event-source-polyfill": "^1.0.5",
+ "jquery": "1.11.3",
"js-cookie": "2.2.0",
"jsencrypt": "^3.0.0-rc.1",
"leaflet": "^1.7.1",
"leaflet-draw": "^1.0.4",
- "mars3d": "^3.0.26",
+ "leaflet-rotatedmarker": "^0.2.0",
+ "leaflet.markercluster": "^1.5.3",
+ "mars3d": "^3.0.30",
+ "mars3d-cesium": "1.83.0",
"mockjs": "1.0.1-beta3",
"normalize.css": "7.0.0",
"nprogress": "0.2.0",
@@ -35,12 +43,12 @@
"vue-amap": "^0.5.9",
"vue-baidu-map": "^0.21.22",
"vue-router": "3.0.1",
- "vuex": "3.0.1"
+ "vuex": "^3.1.1"
},
"devDependencies": {
"autoprefixer": "8.5.0",
"babel-core": "6.26.0",
- "babel-eslint": "8.2.6",
+ "babel-eslint": "7.2.3",
"babel-helper-vue-jsx-merge-props": "2.0.3",
"babel-loader": "7.1.5",
"babel-plugin-syntax-jsx": "6.18.0",
diff --git a/src/api/common.js b/src/api/common.js
index 4c38684..4d989f8 100644
--- a/src/api/common.js
+++ b/src/api/common.js
@@ -5,7 +5,7 @@
// 模板下载
export function downloadTemplate(fileName) {
return request({
- url: 'template/download',
+ url: '/smartwell/template/download',
method: 'get',
params: {
filename: fileName
diff --git a/src/assets/map/marker-icon-2x.png b/src/assets/map/marker-icon-2x.png
new file mode 100644
index 0000000..88f9e50
--- /dev/null
+++ b/src/assets/map/marker-icon-2x.png
Binary files differ
diff --git a/src/assets/map/marker.png b/src/assets/map/marker.png
new file mode 100644
index 0000000..fea9fe9
--- /dev/null
+++ b/src/assets/map/marker.png
Binary files differ
diff --git a/src/assets/map/markerAlarm.png b/src/assets/map/markerAlarm.png
new file mode 100644
index 0000000..9b3ecb8
--- /dev/null
+++ b/src/assets/map/markerAlarm.png
Binary files differ
diff --git a/src/components/mapWindow/base/mixins/abstract.js b/src/components/mapWindow/base/mixins/abstract.js
new file mode 100644
index 0000000..9cf6d52
--- /dev/null
+++ b/src/components/mapWindow/base/mixins/abstract.js
@@ -0,0 +1,13 @@
+class Mixin {
+ constructor({ component, props, events, extraProps, exceptProps }) {
+ this.render = function(h) {
+ return h(component, {
+ props: props.reduce((obj, key) => Object.assign(obj, { [key]: this[key] }), {}),
+ on: events.reduce((obj, key) => Object.assign(obj, { [key]: this.transmitEvent }), {})
+ })
+ }
+ this.props = [...extraProps, ...props.filter(prop => exceptProps.indexOf(prop))]
+ }
+}
+
+export default prop => new Mixin(prop)
diff --git a/src/components/mapWindow/base/mixins/common.js b/src/components/mapWindow/base/mixins/common.js
new file mode 100644
index 0000000..2fd1a28
--- /dev/null
+++ b/src/components/mapWindow/base/mixins/common.js
@@ -0,0 +1,82 @@
+const types = {
+ map: {
+ unload: 'clearMap'
+ },
+ control: {
+ unload: 'removeControl'
+ },
+ layer: {
+ unload: 'removeLayer'
+ },
+ features: {
+ unload: 'removeFeatures'
+ },
+ listener: {
+ unload: 'removeListener'
+ }
+}
+
+const getParent = $component => ($component.abstract || $component.$el === $component.$children[0].$el) ? getParent($component.$parent) : $component
+
+function destroyInstance () {
+ const { unload, renderByParent, $parent } = this
+ if (renderByParent) {
+ $parent.reload()
+ }
+ unload()
+}
+
+class Mixin {
+ constructor (prop) {
+ this.methods = {
+ ready () {
+ const $parent = getParent(this.$parent)
+ const map = this.map = $parent.map
+ this.load()
+ this.$emit('ready', {
+ map
+ })
+ },
+ transmitEvent (e) {
+ this.$emit(e.type.replace(/^on/, ''), e)
+ },
+ reload () {
+ this && this.$nextTick(() => {
+ this.unload()
+ this.$nextTick(this.load)
+ })
+ },
+ unload () {
+ const { map, originInstance } = this
+ try {
+ switch (prop.type) {
+ case 'search':
+ return originInstance.clearResults()
+ case 'autoComplete':
+ case 'lushu':
+ return originInstance.dispose()
+ case 'markerClusterer':
+ return originInstance.clearMarkers()
+ default:
+ map[types[prop.type].unload](originInstance)
+ }
+ } catch (e) {}
+ }
+ }
+ this.computed = {
+ renderByParent () {
+ return this.$parent.preventChildrenRender
+ }
+ }
+ this.mounted = function () {
+ console.log('common mounted')
+ const $parent = getParent(this.$parent)
+ const map = $parent.map
+ const { ready } = this
+ console.log(map)
+ map ? ready() : $parent.$on('onload', ready)
+ }
+ }
+}
+
+export default type => new Mixin({ type })
diff --git a/src/components/mapWindow/leafletMap.vue b/src/components/mapWindow/leafletMap.vue
new file mode 100644
index 0000000..4ec7b61
--- /dev/null
+++ b/src/components/mapWindow/leafletMap.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/config/index.js b/config/index.js
index 0d96846..52762df 100644
--- a/config/index.js
+++ b/config/index.js
@@ -56,10 +56,10 @@
build: {
// Template for index.html
- index: path.resolve(__dirname, '../smartwell/index.html'),
+ index: path.resolve(__dirname, '../dist/index.html'),
// Paths
- assetsRoot: path.resolve(__dirname, '../smartwell'),
+ assetsRoot: path.resolve(__dirname, '../dist'),
assetsSubDirectory: 'static',
/**
diff --git a/favicon.ico b/favicon.ico
index 34b63ac..586e43b 100644
--- a/favicon.ico
+++ b/favicon.ico
Binary files differ
diff --git a/package.json b/package.json
index db879d6..4b9d52d 100644
--- a/package.json
+++ b/package.json
@@ -15,18 +15,26 @@
"svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml"
},
"dependencies": {
- "animate.css": "^3.7.2",
- "axios": "0.18.0",
+ "animate.css": "^4.1.1",
+ "axios": "^0.19.0",
"babel-polyfill": "^6.26.0",
"cesium": "^1.81.0",
- "echarts": "^4.2.1",
- "element-ui": "2.13.0",
+ "echarts": "^4.3.0",
+ "element-ui": "^2.14.1",
+ "esri": "0.0.1-security",
+ "esri-leaflet": "^3.0.1",
+ "esri-leaflet-renderers": "^2.1.2",
+ "esri-loader": "^3.0.0",
"event-source-polyfill": "^1.0.5",
+ "jquery": "1.11.3",
"js-cookie": "2.2.0",
"jsencrypt": "^3.0.0-rc.1",
"leaflet": "^1.7.1",
"leaflet-draw": "^1.0.4",
- "mars3d": "^3.0.26",
+ "leaflet-rotatedmarker": "^0.2.0",
+ "leaflet.markercluster": "^1.5.3",
+ "mars3d": "^3.0.30",
+ "mars3d-cesium": "1.83.0",
"mockjs": "1.0.1-beta3",
"normalize.css": "7.0.0",
"nprogress": "0.2.0",
@@ -35,12 +43,12 @@
"vue-amap": "^0.5.9",
"vue-baidu-map": "^0.21.22",
"vue-router": "3.0.1",
- "vuex": "3.0.1"
+ "vuex": "^3.1.1"
},
"devDependencies": {
"autoprefixer": "8.5.0",
"babel-core": "6.26.0",
- "babel-eslint": "8.2.6",
+ "babel-eslint": "7.2.3",
"babel-helper-vue-jsx-merge-props": "2.0.3",
"babel-loader": "7.1.5",
"babel-plugin-syntax-jsx": "6.18.0",
diff --git a/src/api/common.js b/src/api/common.js
index 4c38684..4d989f8 100644
--- a/src/api/common.js
+++ b/src/api/common.js
@@ -5,7 +5,7 @@
// 模板下载
export function downloadTemplate(fileName) {
return request({
- url: 'template/download',
+ url: '/smartwell/template/download',
method: 'get',
params: {
filename: fileName
diff --git a/src/assets/map/marker-icon-2x.png b/src/assets/map/marker-icon-2x.png
new file mode 100644
index 0000000..88f9e50
--- /dev/null
+++ b/src/assets/map/marker-icon-2x.png
Binary files differ
diff --git a/src/assets/map/marker.png b/src/assets/map/marker.png
new file mode 100644
index 0000000..fea9fe9
--- /dev/null
+++ b/src/assets/map/marker.png
Binary files differ
diff --git a/src/assets/map/markerAlarm.png b/src/assets/map/markerAlarm.png
new file mode 100644
index 0000000..9b3ecb8
--- /dev/null
+++ b/src/assets/map/markerAlarm.png
Binary files differ
diff --git a/src/components/mapWindow/base/mixins/abstract.js b/src/components/mapWindow/base/mixins/abstract.js
new file mode 100644
index 0000000..9cf6d52
--- /dev/null
+++ b/src/components/mapWindow/base/mixins/abstract.js
@@ -0,0 +1,13 @@
+class Mixin {
+ constructor({ component, props, events, extraProps, exceptProps }) {
+ this.render = function(h) {
+ return h(component, {
+ props: props.reduce((obj, key) => Object.assign(obj, { [key]: this[key] }), {}),
+ on: events.reduce((obj, key) => Object.assign(obj, { [key]: this.transmitEvent }), {})
+ })
+ }
+ this.props = [...extraProps, ...props.filter(prop => exceptProps.indexOf(prop))]
+ }
+}
+
+export default prop => new Mixin(prop)
diff --git a/src/components/mapWindow/base/mixins/common.js b/src/components/mapWindow/base/mixins/common.js
new file mode 100644
index 0000000..2fd1a28
--- /dev/null
+++ b/src/components/mapWindow/base/mixins/common.js
@@ -0,0 +1,82 @@
+const types = {
+ map: {
+ unload: 'clearMap'
+ },
+ control: {
+ unload: 'removeControl'
+ },
+ layer: {
+ unload: 'removeLayer'
+ },
+ features: {
+ unload: 'removeFeatures'
+ },
+ listener: {
+ unload: 'removeListener'
+ }
+}
+
+const getParent = $component => ($component.abstract || $component.$el === $component.$children[0].$el) ? getParent($component.$parent) : $component
+
+function destroyInstance () {
+ const { unload, renderByParent, $parent } = this
+ if (renderByParent) {
+ $parent.reload()
+ }
+ unload()
+}
+
+class Mixin {
+ constructor (prop) {
+ this.methods = {
+ ready () {
+ const $parent = getParent(this.$parent)
+ const map = this.map = $parent.map
+ this.load()
+ this.$emit('ready', {
+ map
+ })
+ },
+ transmitEvent (e) {
+ this.$emit(e.type.replace(/^on/, ''), e)
+ },
+ reload () {
+ this && this.$nextTick(() => {
+ this.unload()
+ this.$nextTick(this.load)
+ })
+ },
+ unload () {
+ const { map, originInstance } = this
+ try {
+ switch (prop.type) {
+ case 'search':
+ return originInstance.clearResults()
+ case 'autoComplete':
+ case 'lushu':
+ return originInstance.dispose()
+ case 'markerClusterer':
+ return originInstance.clearMarkers()
+ default:
+ map[types[prop.type].unload](originInstance)
+ }
+ } catch (e) {}
+ }
+ }
+ this.computed = {
+ renderByParent () {
+ return this.$parent.preventChildrenRender
+ }
+ }
+ this.mounted = function () {
+ console.log('common mounted')
+ const $parent = getParent(this.$parent)
+ const map = $parent.map
+ const { ready } = this
+ console.log(map)
+ map ? ready() : $parent.$on('onload', ready)
+ }
+ }
+}
+
+export default type => new Mixin({ type })
diff --git a/src/components/mapWindow/leafletMap.vue b/src/components/mapWindow/leafletMap.vue
new file mode 100644
index 0000000..4ec7b61
--- /dev/null
+++ b/src/components/mapWindow/leafletMap.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/mapWindow/mapWindow.vue b/src/components/mapWindow/mapWindow.vue
new file mode 100644
index 0000000..9ced291
--- /dev/null
+++ b/src/components/mapWindow/mapWindow.vue
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/config/index.js b/config/index.js
index 0d96846..52762df 100644
--- a/config/index.js
+++ b/config/index.js
@@ -56,10 +56,10 @@
build: {
// Template for index.html
- index: path.resolve(__dirname, '../smartwell/index.html'),
+ index: path.resolve(__dirname, '../dist/index.html'),
// Paths
- assetsRoot: path.resolve(__dirname, '../smartwell'),
+ assetsRoot: path.resolve(__dirname, '../dist'),
assetsSubDirectory: 'static',
/**
diff --git a/favicon.ico b/favicon.ico
index 34b63ac..586e43b 100644
--- a/favicon.ico
+++ b/favicon.ico
Binary files differ
diff --git a/package.json b/package.json
index db879d6..4b9d52d 100644
--- a/package.json
+++ b/package.json
@@ -15,18 +15,26 @@
"svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml"
},
"dependencies": {
- "animate.css": "^3.7.2",
- "axios": "0.18.0",
+ "animate.css": "^4.1.1",
+ "axios": "^0.19.0",
"babel-polyfill": "^6.26.0",
"cesium": "^1.81.0",
- "echarts": "^4.2.1",
- "element-ui": "2.13.0",
+ "echarts": "^4.3.0",
+ "element-ui": "^2.14.1",
+ "esri": "0.0.1-security",
+ "esri-leaflet": "^3.0.1",
+ "esri-leaflet-renderers": "^2.1.2",
+ "esri-loader": "^3.0.0",
"event-source-polyfill": "^1.0.5",
+ "jquery": "1.11.3",
"js-cookie": "2.2.0",
"jsencrypt": "^3.0.0-rc.1",
"leaflet": "^1.7.1",
"leaflet-draw": "^1.0.4",
- "mars3d": "^3.0.26",
+ "leaflet-rotatedmarker": "^0.2.0",
+ "leaflet.markercluster": "^1.5.3",
+ "mars3d": "^3.0.30",
+ "mars3d-cesium": "1.83.0",
"mockjs": "1.0.1-beta3",
"normalize.css": "7.0.0",
"nprogress": "0.2.0",
@@ -35,12 +43,12 @@
"vue-amap": "^0.5.9",
"vue-baidu-map": "^0.21.22",
"vue-router": "3.0.1",
- "vuex": "3.0.1"
+ "vuex": "^3.1.1"
},
"devDependencies": {
"autoprefixer": "8.5.0",
"babel-core": "6.26.0",
- "babel-eslint": "8.2.6",
+ "babel-eslint": "7.2.3",
"babel-helper-vue-jsx-merge-props": "2.0.3",
"babel-loader": "7.1.5",
"babel-plugin-syntax-jsx": "6.18.0",
diff --git a/src/api/common.js b/src/api/common.js
index 4c38684..4d989f8 100644
--- a/src/api/common.js
+++ b/src/api/common.js
@@ -5,7 +5,7 @@
// 模板下载
export function downloadTemplate(fileName) {
return request({
- url: 'template/download',
+ url: '/smartwell/template/download',
method: 'get',
params: {
filename: fileName
diff --git a/src/assets/map/marker-icon-2x.png b/src/assets/map/marker-icon-2x.png
new file mode 100644
index 0000000..88f9e50
--- /dev/null
+++ b/src/assets/map/marker-icon-2x.png
Binary files differ
diff --git a/src/assets/map/marker.png b/src/assets/map/marker.png
new file mode 100644
index 0000000..fea9fe9
--- /dev/null
+++ b/src/assets/map/marker.png
Binary files differ
diff --git a/src/assets/map/markerAlarm.png b/src/assets/map/markerAlarm.png
new file mode 100644
index 0000000..9b3ecb8
--- /dev/null
+++ b/src/assets/map/markerAlarm.png
Binary files differ
diff --git a/src/components/mapWindow/base/mixins/abstract.js b/src/components/mapWindow/base/mixins/abstract.js
new file mode 100644
index 0000000..9cf6d52
--- /dev/null
+++ b/src/components/mapWindow/base/mixins/abstract.js
@@ -0,0 +1,13 @@
+class Mixin {
+ constructor({ component, props, events, extraProps, exceptProps }) {
+ this.render = function(h) {
+ return h(component, {
+ props: props.reduce((obj, key) => Object.assign(obj, { [key]: this[key] }), {}),
+ on: events.reduce((obj, key) => Object.assign(obj, { [key]: this.transmitEvent }), {})
+ })
+ }
+ this.props = [...extraProps, ...props.filter(prop => exceptProps.indexOf(prop))]
+ }
+}
+
+export default prop => new Mixin(prop)
diff --git a/src/components/mapWindow/base/mixins/common.js b/src/components/mapWindow/base/mixins/common.js
new file mode 100644
index 0000000..2fd1a28
--- /dev/null
+++ b/src/components/mapWindow/base/mixins/common.js
@@ -0,0 +1,82 @@
+const types = {
+ map: {
+ unload: 'clearMap'
+ },
+ control: {
+ unload: 'removeControl'
+ },
+ layer: {
+ unload: 'removeLayer'
+ },
+ features: {
+ unload: 'removeFeatures'
+ },
+ listener: {
+ unload: 'removeListener'
+ }
+}
+
+const getParent = $component => ($component.abstract || $component.$el === $component.$children[0].$el) ? getParent($component.$parent) : $component
+
+function destroyInstance () {
+ const { unload, renderByParent, $parent } = this
+ if (renderByParent) {
+ $parent.reload()
+ }
+ unload()
+}
+
+class Mixin {
+ constructor (prop) {
+ this.methods = {
+ ready () {
+ const $parent = getParent(this.$parent)
+ const map = this.map = $parent.map
+ this.load()
+ this.$emit('ready', {
+ map
+ })
+ },
+ transmitEvent (e) {
+ this.$emit(e.type.replace(/^on/, ''), e)
+ },
+ reload () {
+ this && this.$nextTick(() => {
+ this.unload()
+ this.$nextTick(this.load)
+ })
+ },
+ unload () {
+ const { map, originInstance } = this
+ try {
+ switch (prop.type) {
+ case 'search':
+ return originInstance.clearResults()
+ case 'autoComplete':
+ case 'lushu':
+ return originInstance.dispose()
+ case 'markerClusterer':
+ return originInstance.clearMarkers()
+ default:
+ map[types[prop.type].unload](originInstance)
+ }
+ } catch (e) {}
+ }
+ }
+ this.computed = {
+ renderByParent () {
+ return this.$parent.preventChildrenRender
+ }
+ }
+ this.mounted = function () {
+ console.log('common mounted')
+ const $parent = getParent(this.$parent)
+ const map = $parent.map
+ const { ready } = this
+ console.log(map)
+ map ? ready() : $parent.$on('onload', ready)
+ }
+ }
+}
+
+export default type => new Mixin({ type })
diff --git a/src/components/mapWindow/leafletMap.vue b/src/components/mapWindow/leafletMap.vue
new file mode 100644
index 0000000..4ec7b61
--- /dev/null
+++ b/src/components/mapWindow/leafletMap.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/mapWindow/mapWindow.vue b/src/components/mapWindow/mapWindow.vue
new file mode 100644
index 0000000..9ced291
--- /dev/null
+++ b/src/components/mapWindow/mapWindow.vue
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/icons/svg/icon-order.svg b/src/icons/svg/icon-order.svg
new file mode 100644
index 0000000..62d7666
--- /dev/null
+++ b/src/icons/svg/icon-order.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/config/index.js b/config/index.js
index 0d96846..52762df 100644
--- a/config/index.js
+++ b/config/index.js
@@ -56,10 +56,10 @@
build: {
// Template for index.html
- index: path.resolve(__dirname, '../smartwell/index.html'),
+ index: path.resolve(__dirname, '../dist/index.html'),
// Paths
- assetsRoot: path.resolve(__dirname, '../smartwell'),
+ assetsRoot: path.resolve(__dirname, '../dist'),
assetsSubDirectory: 'static',
/**
diff --git a/favicon.ico b/favicon.ico
index 34b63ac..586e43b 100644
--- a/favicon.ico
+++ b/favicon.ico
Binary files differ
diff --git a/package.json b/package.json
index db879d6..4b9d52d 100644
--- a/package.json
+++ b/package.json
@@ -15,18 +15,26 @@
"svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml"
},
"dependencies": {
- "animate.css": "^3.7.2",
- "axios": "0.18.0",
+ "animate.css": "^4.1.1",
+ "axios": "^0.19.0",
"babel-polyfill": "^6.26.0",
"cesium": "^1.81.0",
- "echarts": "^4.2.1",
- "element-ui": "2.13.0",
+ "echarts": "^4.3.0",
+ "element-ui": "^2.14.1",
+ "esri": "0.0.1-security",
+ "esri-leaflet": "^3.0.1",
+ "esri-leaflet-renderers": "^2.1.2",
+ "esri-loader": "^3.0.0",
"event-source-polyfill": "^1.0.5",
+ "jquery": "1.11.3",
"js-cookie": "2.2.0",
"jsencrypt": "^3.0.0-rc.1",
"leaflet": "^1.7.1",
"leaflet-draw": "^1.0.4",
- "mars3d": "^3.0.26",
+ "leaflet-rotatedmarker": "^0.2.0",
+ "leaflet.markercluster": "^1.5.3",
+ "mars3d": "^3.0.30",
+ "mars3d-cesium": "1.83.0",
"mockjs": "1.0.1-beta3",
"normalize.css": "7.0.0",
"nprogress": "0.2.0",
@@ -35,12 +43,12 @@
"vue-amap": "^0.5.9",
"vue-baidu-map": "^0.21.22",
"vue-router": "3.0.1",
- "vuex": "3.0.1"
+ "vuex": "^3.1.1"
},
"devDependencies": {
"autoprefixer": "8.5.0",
"babel-core": "6.26.0",
- "babel-eslint": "8.2.6",
+ "babel-eslint": "7.2.3",
"babel-helper-vue-jsx-merge-props": "2.0.3",
"babel-loader": "7.1.5",
"babel-plugin-syntax-jsx": "6.18.0",
diff --git a/src/api/common.js b/src/api/common.js
index 4c38684..4d989f8 100644
--- a/src/api/common.js
+++ b/src/api/common.js
@@ -5,7 +5,7 @@
// 模板下载
export function downloadTemplate(fileName) {
return request({
- url: 'template/download',
+ url: '/smartwell/template/download',
method: 'get',
params: {
filename: fileName
diff --git a/src/assets/map/marker-icon-2x.png b/src/assets/map/marker-icon-2x.png
new file mode 100644
index 0000000..88f9e50
--- /dev/null
+++ b/src/assets/map/marker-icon-2x.png
Binary files differ
diff --git a/src/assets/map/marker.png b/src/assets/map/marker.png
new file mode 100644
index 0000000..fea9fe9
--- /dev/null
+++ b/src/assets/map/marker.png
Binary files differ
diff --git a/src/assets/map/markerAlarm.png b/src/assets/map/markerAlarm.png
new file mode 100644
index 0000000..9b3ecb8
--- /dev/null
+++ b/src/assets/map/markerAlarm.png
Binary files differ
diff --git a/src/components/mapWindow/base/mixins/abstract.js b/src/components/mapWindow/base/mixins/abstract.js
new file mode 100644
index 0000000..9cf6d52
--- /dev/null
+++ b/src/components/mapWindow/base/mixins/abstract.js
@@ -0,0 +1,13 @@
+class Mixin {
+ constructor({ component, props, events, extraProps, exceptProps }) {
+ this.render = function(h) {
+ return h(component, {
+ props: props.reduce((obj, key) => Object.assign(obj, { [key]: this[key] }), {}),
+ on: events.reduce((obj, key) => Object.assign(obj, { [key]: this.transmitEvent }), {})
+ })
+ }
+ this.props = [...extraProps, ...props.filter(prop => exceptProps.indexOf(prop))]
+ }
+}
+
+export default prop => new Mixin(prop)
diff --git a/src/components/mapWindow/base/mixins/common.js b/src/components/mapWindow/base/mixins/common.js
new file mode 100644
index 0000000..2fd1a28
--- /dev/null
+++ b/src/components/mapWindow/base/mixins/common.js
@@ -0,0 +1,82 @@
+const types = {
+ map: {
+ unload: 'clearMap'
+ },
+ control: {
+ unload: 'removeControl'
+ },
+ layer: {
+ unload: 'removeLayer'
+ },
+ features: {
+ unload: 'removeFeatures'
+ },
+ listener: {
+ unload: 'removeListener'
+ }
+}
+
+const getParent = $component => ($component.abstract || $component.$el === $component.$children[0].$el) ? getParent($component.$parent) : $component
+
+function destroyInstance () {
+ const { unload, renderByParent, $parent } = this
+ if (renderByParent) {
+ $parent.reload()
+ }
+ unload()
+}
+
+class Mixin {
+ constructor (prop) {
+ this.methods = {
+ ready () {
+ const $parent = getParent(this.$parent)
+ const map = this.map = $parent.map
+ this.load()
+ this.$emit('ready', {
+ map
+ })
+ },
+ transmitEvent (e) {
+ this.$emit(e.type.replace(/^on/, ''), e)
+ },
+ reload () {
+ this && this.$nextTick(() => {
+ this.unload()
+ this.$nextTick(this.load)
+ })
+ },
+ unload () {
+ const { map, originInstance } = this
+ try {
+ switch (prop.type) {
+ case 'search':
+ return originInstance.clearResults()
+ case 'autoComplete':
+ case 'lushu':
+ return originInstance.dispose()
+ case 'markerClusterer':
+ return originInstance.clearMarkers()
+ default:
+ map[types[prop.type].unload](originInstance)
+ }
+ } catch (e) {}
+ }
+ }
+ this.computed = {
+ renderByParent () {
+ return this.$parent.preventChildrenRender
+ }
+ }
+ this.mounted = function () {
+ console.log('common mounted')
+ const $parent = getParent(this.$parent)
+ const map = $parent.map
+ const { ready } = this
+ console.log(map)
+ map ? ready() : $parent.$on('onload', ready)
+ }
+ }
+}
+
+export default type => new Mixin({ type })
diff --git a/src/components/mapWindow/leafletMap.vue b/src/components/mapWindow/leafletMap.vue
new file mode 100644
index 0000000..4ec7b61
--- /dev/null
+++ b/src/components/mapWindow/leafletMap.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/mapWindow/mapWindow.vue b/src/components/mapWindow/mapWindow.vue
new file mode 100644
index 0000000..9ced291
--- /dev/null
+++ b/src/components/mapWindow/mapWindow.vue
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/icons/svg/icon-order.svg b/src/icons/svg/icon-order.svg
new file mode 100644
index 0000000..62d7666
--- /dev/null
+++ b/src/icons/svg/icon-order.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/icons/svg/icon-overview.svg b/src/icons/svg/icon-overview.svg
index a2f9449..9dc3936 100644
--- a/src/icons/svg/icon-overview.svg
+++ b/src/icons/svg/icon-overview.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/config/index.js b/config/index.js
index 0d96846..52762df 100644
--- a/config/index.js
+++ b/config/index.js
@@ -56,10 +56,10 @@
build: {
// Template for index.html
- index: path.resolve(__dirname, '../smartwell/index.html'),
+ index: path.resolve(__dirname, '../dist/index.html'),
// Paths
- assetsRoot: path.resolve(__dirname, '../smartwell'),
+ assetsRoot: path.resolve(__dirname, '../dist'),
assetsSubDirectory: 'static',
/**
diff --git a/favicon.ico b/favicon.ico
index 34b63ac..586e43b 100644
--- a/favicon.ico
+++ b/favicon.ico
Binary files differ
diff --git a/package.json b/package.json
index db879d6..4b9d52d 100644
--- a/package.json
+++ b/package.json
@@ -15,18 +15,26 @@
"svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml"
},
"dependencies": {
- "animate.css": "^3.7.2",
- "axios": "0.18.0",
+ "animate.css": "^4.1.1",
+ "axios": "^0.19.0",
"babel-polyfill": "^6.26.0",
"cesium": "^1.81.0",
- "echarts": "^4.2.1",
- "element-ui": "2.13.0",
+ "echarts": "^4.3.0",
+ "element-ui": "^2.14.1",
+ "esri": "0.0.1-security",
+ "esri-leaflet": "^3.0.1",
+ "esri-leaflet-renderers": "^2.1.2",
+ "esri-loader": "^3.0.0",
"event-source-polyfill": "^1.0.5",
+ "jquery": "1.11.3",
"js-cookie": "2.2.0",
"jsencrypt": "^3.0.0-rc.1",
"leaflet": "^1.7.1",
"leaflet-draw": "^1.0.4",
- "mars3d": "^3.0.26",
+ "leaflet-rotatedmarker": "^0.2.0",
+ "leaflet.markercluster": "^1.5.3",
+ "mars3d": "^3.0.30",
+ "mars3d-cesium": "1.83.0",
"mockjs": "1.0.1-beta3",
"normalize.css": "7.0.0",
"nprogress": "0.2.0",
@@ -35,12 +43,12 @@
"vue-amap": "^0.5.9",
"vue-baidu-map": "^0.21.22",
"vue-router": "3.0.1",
- "vuex": "3.0.1"
+ "vuex": "^3.1.1"
},
"devDependencies": {
"autoprefixer": "8.5.0",
"babel-core": "6.26.0",
- "babel-eslint": "8.2.6",
+ "babel-eslint": "7.2.3",
"babel-helper-vue-jsx-merge-props": "2.0.3",
"babel-loader": "7.1.5",
"babel-plugin-syntax-jsx": "6.18.0",
diff --git a/src/api/common.js b/src/api/common.js
index 4c38684..4d989f8 100644
--- a/src/api/common.js
+++ b/src/api/common.js
@@ -5,7 +5,7 @@
// 模板下载
export function downloadTemplate(fileName) {
return request({
- url: 'template/download',
+ url: '/smartwell/template/download',
method: 'get',
params: {
filename: fileName
diff --git a/src/assets/map/marker-icon-2x.png b/src/assets/map/marker-icon-2x.png
new file mode 100644
index 0000000..88f9e50
--- /dev/null
+++ b/src/assets/map/marker-icon-2x.png
Binary files differ
diff --git a/src/assets/map/marker.png b/src/assets/map/marker.png
new file mode 100644
index 0000000..fea9fe9
--- /dev/null
+++ b/src/assets/map/marker.png
Binary files differ
diff --git a/src/assets/map/markerAlarm.png b/src/assets/map/markerAlarm.png
new file mode 100644
index 0000000..9b3ecb8
--- /dev/null
+++ b/src/assets/map/markerAlarm.png
Binary files differ
diff --git a/src/components/mapWindow/base/mixins/abstract.js b/src/components/mapWindow/base/mixins/abstract.js
new file mode 100644
index 0000000..9cf6d52
--- /dev/null
+++ b/src/components/mapWindow/base/mixins/abstract.js
@@ -0,0 +1,13 @@
+class Mixin {
+ constructor({ component, props, events, extraProps, exceptProps }) {
+ this.render = function(h) {
+ return h(component, {
+ props: props.reduce((obj, key) => Object.assign(obj, { [key]: this[key] }), {}),
+ on: events.reduce((obj, key) => Object.assign(obj, { [key]: this.transmitEvent }), {})
+ })
+ }
+ this.props = [...extraProps, ...props.filter(prop => exceptProps.indexOf(prop))]
+ }
+}
+
+export default prop => new Mixin(prop)
diff --git a/src/components/mapWindow/base/mixins/common.js b/src/components/mapWindow/base/mixins/common.js
new file mode 100644
index 0000000..2fd1a28
--- /dev/null
+++ b/src/components/mapWindow/base/mixins/common.js
@@ -0,0 +1,82 @@
+const types = {
+ map: {
+ unload: 'clearMap'
+ },
+ control: {
+ unload: 'removeControl'
+ },
+ layer: {
+ unload: 'removeLayer'
+ },
+ features: {
+ unload: 'removeFeatures'
+ },
+ listener: {
+ unload: 'removeListener'
+ }
+}
+
+const getParent = $component => ($component.abstract || $component.$el === $component.$children[0].$el) ? getParent($component.$parent) : $component
+
+function destroyInstance () {
+ const { unload, renderByParent, $parent } = this
+ if (renderByParent) {
+ $parent.reload()
+ }
+ unload()
+}
+
+class Mixin {
+ constructor (prop) {
+ this.methods = {
+ ready () {
+ const $parent = getParent(this.$parent)
+ const map = this.map = $parent.map
+ this.load()
+ this.$emit('ready', {
+ map
+ })
+ },
+ transmitEvent (e) {
+ this.$emit(e.type.replace(/^on/, ''), e)
+ },
+ reload () {
+ this && this.$nextTick(() => {
+ this.unload()
+ this.$nextTick(this.load)
+ })
+ },
+ unload () {
+ const { map, originInstance } = this
+ try {
+ switch (prop.type) {
+ case 'search':
+ return originInstance.clearResults()
+ case 'autoComplete':
+ case 'lushu':
+ return originInstance.dispose()
+ case 'markerClusterer':
+ return originInstance.clearMarkers()
+ default:
+ map[types[prop.type].unload](originInstance)
+ }
+ } catch (e) {}
+ }
+ }
+ this.computed = {
+ renderByParent () {
+ return this.$parent.preventChildrenRender
+ }
+ }
+ this.mounted = function () {
+ console.log('common mounted')
+ const $parent = getParent(this.$parent)
+ const map = $parent.map
+ const { ready } = this
+ console.log(map)
+ map ? ready() : $parent.$on('onload', ready)
+ }
+ }
+}
+
+export default type => new Mixin({ type })
diff --git a/src/components/mapWindow/leafletMap.vue b/src/components/mapWindow/leafletMap.vue
new file mode 100644
index 0000000..4ec7b61
--- /dev/null
+++ b/src/components/mapWindow/leafletMap.vue
@@ -0,0 +1,270 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/mapWindow/mapWindow.vue b/src/components/mapWindow/mapWindow.vue
new file mode 100644
index 0000000..9ced291
--- /dev/null
+++ b/src/components/mapWindow/mapWindow.vue
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/icons/svg/icon-order.svg b/src/icons/svg/icon-order.svg
new file mode 100644
index 0000000..62d7666
--- /dev/null
+++ b/src/icons/svg/icon-order.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/icons/svg/icon-overview.svg b/src/icons/svg/icon-overview.svg
index a2f9449..9dc3936 100644
--- a/src/icons/svg/icon-overview.svg
+++ b/src/icons/svg/icon-overview.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue
index 8d8912e..375c71c 100644
--- a/src/layout/components/AppHeader.vue
+++ b/src/layout/components/AppHeader.vue
@@ -2,7 +2,7 @@