diff --git a/.env b/.env
new file mode 100644
index 0000000..020fafd
--- /dev/null
+++ b/.env
@@ -0,0 +1,7 @@
+# .env 文件
+VUE_APP_URL=http://192.168.10.54:9100/v1/v1
+
+# title
+VITE_GLOB_APP_TITLE = AAF 美通官网
+
+
diff --git a/new-com.zip b/new-com.zip
new file mode 100644
index 0000000..49a2464
Binary files /dev/null and b/new-com.zip differ
diff --git a/package-lock.json b/package-lock.json
index 1add3e6..d9b9212 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -17,6 +17,7 @@
"echarts-gl": "^2.0.9",
"element-theme-chalk": "^2.15.14",
"element-ui": "^2.15.14",
+ "view-design": "^4.7.0",
"vue": "^2.6.11",
"vue-particles": "^1.0.9",
"vue-router": "^3.1.3",
@@ -2619,6 +2620,11 @@
"integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==",
"dev": true
},
+ "node_modules/batch-processor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/batch-processor/-/batch-processor-1.0.0.tgz",
+ "integrity": "sha512-xoLQD8gmmR32MeuBHgH0Tzd5PuSZx71ZsbhVxOCRbgktZEPe4SQy7s9Z50uPp0F/f7iw2XmkHN2xkgbMfckMDA=="
+ },
"node_modules/bcrypt-pbkdf": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
@@ -4873,12 +4879,12 @@
}
},
"node_modules/echarts": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.0.1.tgz",
- "integrity": "sha512-JYn22Dolt2esY2jEzUsw1OxbobuW67oGjIoTjZO3rW89SWkfJ4kbrmC2OW9JjsBrD1rdkmaWBuZZ2HgmThyxJw==",
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.5.0.tgz",
+ "integrity": "sha512-rNYnNCzqDAPCr4m/fqyUFv7fD9qIsd50S6GDFgO1DxZhncCsNsG7IfUlAlvZe5oSEQxtsjnHiUuppzccry93Xw==",
"dependencies": {
- "tslib": "2.0.3",
- "zrender": "5.0.3"
+ "tslib": "2.3.0",
+ "zrender": "5.5.0"
}
},
"node_modules/echarts-gl": {
@@ -4894,17 +4900,9 @@
}
},
"node_modules/echarts/node_modules/tslib": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz",
- "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ=="
- },
- "node_modules/echarts/node_modules/zrender": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.0.3.tgz",
- "integrity": "sha512-TVcN2IMdo7je3GEq/E4CER4AGBe/n50/izILdupppyHf/hVHuiXCRliqdu8+32Z1OmGg6RfKt5qQlkX+bOtU0g==",
- "dependencies": {
- "tslib": "2.0.3"
- }
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
+ "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
},
"node_modules/ee-first": {
"version": "1.1.1",
@@ -4927,6 +4925,14 @@
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.738.tgz",
"integrity": "sha512-lwKft2CLFztD+vEIpesrOtCrko/TFnEJlHFdRhazU7Y/jx5qc4cqsocfVrBg4So4gGe9lvxnbLIoev47WMpg+A=="
},
+ "node_modules/element-resize-detector": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/element-resize-detector/-/element-resize-detector-1.2.4.tgz",
+ "integrity": "sha512-Fl5Ftk6WwXE0wqCgNoseKWndjzZlDCwuPTcoVZfCP9R3EHQF8qUtr3YUPNETegRBOKqQKPW3n4kiIWngGi8tKg==",
+ "dependencies": {
+ "batch-processor": "1.0.0"
+ }
+ },
"node_modules/element-theme-chalk": {
"version": "2.15.14",
"resolved": "https://registry.npmjs.org/element-theme-chalk/-/element-theme-chalk-2.15.14.tgz",
@@ -7835,6 +7841,11 @@
"node": ">=8"
}
},
+ "node_modules/js-calendar": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/js-calendar/-/js-calendar-1.2.3.tgz",
+ "integrity": "sha512-dAA1/Zbp4+c5E+ARCVTIuKepXsNLzSYfzvOimiYD4S5eeP9QuplSHLcdhfqFSwyM1o1u6ku6RRRCyaZ0YAjiBw=="
+ },
"node_modules/js-message": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.7.tgz",
@@ -8111,6 +8122,11 @@
"resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
"integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4="
},
+ "node_modules/lodash.throttle": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz",
+ "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ=="
+ },
"node_modules/lodash.transform": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/lodash.transform/-/lodash.transform-4.6.0.tgz",
@@ -11639,6 +11655,11 @@
"resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz",
"integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q="
},
+ "node_modules/tinycolor2": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz",
+ "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw=="
+ },
"node_modules/tmp": {
"version": "0.0.33",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
@@ -12092,6 +12113,15 @@
"integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
"dev": true
},
+ "node_modules/v-click-outside-x": {
+ "version": "3.7.1",
+ "resolved": "https://registry.npmjs.org/v-click-outside-x/-/v-click-outside-x-3.7.1.tgz",
+ "integrity": "sha512-WmUgmcIXr9clVpm1AYS/FgHtcDicfnfoxgQCNg4O6vfk9GVnxA0vSqO321ogUo0b7czYTidj7fQENvWFMWOkUg==",
+ "engines": {
+ "node": ">=8.11.4",
+ "npm": "6.4.1"
+ }
+ },
"node_modules/validate-npm-package-license": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
@@ -12130,6 +12160,42 @@
"extsprintf": "^1.2.0"
}
},
+ "node_modules/view-design": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/view-design/-/view-design-4.7.0.tgz",
+ "integrity": "sha512-WRvVRfsZciN0aJYlz+6b1zxs5G8tLFb4OUKOu+PiN0QyIGmdgWVziEyEmioYtJahQpueWiQpRYGzyxrpz3UkWQ==",
+ "dependencies": {
+ "async-validator": "^3.3.0",
+ "deepmerge": "^2.2.1",
+ "element-resize-detector": "^1.2.0",
+ "js-calendar": "^1.2.3",
+ "lodash.throttle": "^4.1.1",
+ "popper.js": "^1.14.6",
+ "tinycolor2": "^1.4.1",
+ "v-click-outside-x": "^3.7.1"
+ },
+ "engines": {
+ "node": ">=8.9.1",
+ "npm": ">=5.5.1",
+ "yarn": ">=1.3.2"
+ },
+ "peerDependencies": {
+ "vue": "^2.6.10"
+ }
+ },
+ "node_modules/view-design/node_modules/async-validator": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-3.5.2.tgz",
+ "integrity": "sha512-8eLCg00W9pIRZSB781UUX/H6Oskmm8xloZfr09lz5bikRpBVDlJ3hRVuxxP1SxcwsEYfJ4IU8Q19Y8/893r3rQ=="
+ },
+ "node_modules/view-design/node_modules/deepmerge": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz",
+ "integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/vm-browserify": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
@@ -15835,6 +15901,11 @@
"integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==",
"dev": true
},
+ "batch-processor": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/batch-processor/-/batch-processor-1.0.0.tgz",
+ "integrity": "sha512-xoLQD8gmmR32MeuBHgH0Tzd5PuSZx71ZsbhVxOCRbgktZEPe4SQy7s9Z50uPp0F/f7iw2XmkHN2xkgbMfckMDA=="
+ },
"bcrypt-pbkdf": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz",
@@ -17861,26 +17932,18 @@
}
},
"echarts": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.0.1.tgz",
- "integrity": "sha512-JYn22Dolt2esY2jEzUsw1OxbobuW67oGjIoTjZO3rW89SWkfJ4kbrmC2OW9JjsBrD1rdkmaWBuZZ2HgmThyxJw==",
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.5.0.tgz",
+ "integrity": "sha512-rNYnNCzqDAPCr4m/fqyUFv7fD9qIsd50S6GDFgO1DxZhncCsNsG7IfUlAlvZe5oSEQxtsjnHiUuppzccry93Xw==",
"requires": {
- "tslib": "2.0.3",
- "zrender": "5.0.3"
+ "tslib": "2.3.0",
+ "zrender": "5.5.0"
},
"dependencies": {
"tslib": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz",
- "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ=="
- },
- "zrender": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.0.3.tgz",
- "integrity": "sha512-TVcN2IMdo7je3GEq/E4CER4AGBe/n50/izILdupppyHf/hVHuiXCRliqdu8+32Z1OmGg6RfKt5qQlkX+bOtU0g==",
- "requires": {
- "tslib": "2.0.3"
- }
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
+ "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
}
}
},
@@ -17910,6 +17973,14 @@
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.738.tgz",
"integrity": "sha512-lwKft2CLFztD+vEIpesrOtCrko/TFnEJlHFdRhazU7Y/jx5qc4cqsocfVrBg4So4gGe9lvxnbLIoev47WMpg+A=="
},
+ "element-resize-detector": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/element-resize-detector/-/element-resize-detector-1.2.4.tgz",
+ "integrity": "sha512-Fl5Ftk6WwXE0wqCgNoseKWndjzZlDCwuPTcoVZfCP9R3EHQF8qUtr3YUPNETegRBOKqQKPW3n4kiIWngGi8tKg==",
+ "requires": {
+ "batch-processor": "1.0.0"
+ }
+ },
"element-theme-chalk": {
"version": "2.15.14",
"resolved": "https://registry.npmjs.org/element-theme-chalk/-/element-theme-chalk-2.15.14.tgz",
@@ -20440,6 +20511,11 @@
}
}
},
+ "js-calendar": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/js-calendar/-/js-calendar-1.2.3.tgz",
+ "integrity": "sha512-dAA1/Zbp4+c5E+ARCVTIuKepXsNLzSYfzvOimiYD4S5eeP9QuplSHLcdhfqFSwyM1o1u6ku6RRRCyaZ0YAjiBw=="
+ },
"js-message": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.7.tgz",
@@ -20708,6 +20784,11 @@
"resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
"integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4="
},
+ "lodash.throttle": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz",
+ "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ=="
+ },
"lodash.transform": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/lodash.transform/-/lodash.transform-4.6.0.tgz",
@@ -23987,6 +24068,11 @@
"resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz",
"integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q="
},
+ "tinycolor2": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz",
+ "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw=="
+ },
"tmp": {
"version": "0.0.33",
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
@@ -24408,6 +24494,11 @@
"integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==",
"dev": true
},
+ "v-click-outside-x": {
+ "version": "3.7.1",
+ "resolved": "https://registry.npmjs.org/v-click-outside-x/-/v-click-outside-x-3.7.1.tgz",
+ "integrity": "sha512-WmUgmcIXr9clVpm1AYS/FgHtcDicfnfoxgQCNg4O6vfk9GVnxA0vSqO321ogUo0b7czYTidj7fQENvWFMWOkUg=="
+ },
"validate-npm-package-license": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
@@ -24440,6 +24531,33 @@
"extsprintf": "^1.2.0"
}
},
+ "view-design": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/view-design/-/view-design-4.7.0.tgz",
+ "integrity": "sha512-WRvVRfsZciN0aJYlz+6b1zxs5G8tLFb4OUKOu+PiN0QyIGmdgWVziEyEmioYtJahQpueWiQpRYGzyxrpz3UkWQ==",
+ "requires": {
+ "async-validator": "^3.3.0",
+ "deepmerge": "^2.2.1",
+ "element-resize-detector": "^1.2.0",
+ "js-calendar": "^1.2.3",
+ "lodash.throttle": "^4.1.1",
+ "popper.js": "^1.14.6",
+ "tinycolor2": "^1.4.1",
+ "v-click-outside-x": "^3.7.1"
+ },
+ "dependencies": {
+ "async-validator": {
+ "version": "3.5.2",
+ "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-3.5.2.tgz",
+ "integrity": "sha512-8eLCg00W9pIRZSB781UUX/H6Oskmm8xloZfr09lz5bikRpBVDlJ3hRVuxxP1SxcwsEYfJ4IU8Q19Y8/893r3rQ=="
+ },
+ "deepmerge": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz",
+ "integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA=="
+ }
+ }
+ },
"vm-browserify": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
diff --git a/package.json b/package.json
index 9cf0f7a..77674ec 100644
--- a/package.json
+++ b/package.json
@@ -18,6 +18,7 @@
"echarts-gl": "^2.0.9",
"element-theme-chalk": "^2.15.14",
"element-ui": "^2.15.14",
+ "view-design": "^4.7.0",
"vue": "^2.6.11",
"vue-particles": "^1.0.9",
"vue-router": "^3.1.3",
diff --git a/src/api/home.js b/src/api/home.js
index a3e8330..a3c43fa 100644
--- a/src/api/home.js
+++ b/src/api/home.js
@@ -1,8 +1,16 @@
-import { fetch,get } from '@/utils/request.js';
+import request from '@/utils/request.js';
+// 请求方法
+// 'getlist': function (data) {
+// return request.get('/api/getdata/getlist', data, {}, 'pro')
+// },
+// 'getDIST': function (options) {
+// return request.post('/api/getdata/getDIST', {}, options, 'pro')
+// },
+
/**
* @name 首页模块
*/
// 获取地址列表
export const ceshi =(params) => {
- return fetch('/sys/baseDict/queryChannleDict',params);
+ return request.get('/sys/baseDict/queryChannleDict',params,{},'pro');
}
diff --git a/src/components/tabbar/navbar.vue b/src/components/tabbar/navbar.vue
index 10eafeb..60bf9a5 100644
--- a/src/components/tabbar/navbar.vue
+++ b/src/components/tabbar/navbar.vue
@@ -28,7 +28,7 @@
全球网络
- 平台专区
+ 平台专区
关于我们
@@ -81,7 +81,7 @@
全球网络
- 平台专区
+ 平台专区
关于我们
diff --git a/src/main.js b/src/main.js
index 362c1ff..00bf39a 100644
--- a/src/main.js
+++ b/src/main.js
@@ -6,13 +6,14 @@ import ElementUI from 'element-ui';
// import 'element-theme-chalk';
import App from "./App.vue";
-import router from "./router";
import Scrollspy from 'vue2-scrollspy';
import BootstrapVue from 'bootstrap-vue'
import VueYoutube from 'vue-youtube'
import VueParticles from 'vue-particles'
import http from 'axios'
Vue.prototype.$http = http
+import router from "./router";
+
diff --git a/src/router/index.js b/src/router/index.js
index 3e29f47..f87b0f7 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -1,18 +1,26 @@
import Vue from "vue";
import VueRouter from "vue-router";
-
+// 没啥子用
+import Login from "./pages/login.vue";
+import Signup from "./pages/signup.vue";
+import Forgotpassword from './pages/password-forgot.vue';
+// 首页
import home from "../view/home/index.vue";
+import news from "../view/home/news/index.vue";
+import newsDetail from "../view/home/news/detail.vue";
+// 业务介绍
import business from "../view/business/index.vue";
import sea from "../view/business/tab/sea.vue"
import air from "../view/business/tab/air.vue"
import road from "../view/business/tab/road.vue"
-import news from "../view/news/index.vue";
-import newsDetail from "../view/news/detail.vue";
+// 全球网络
import globalNetwork from "../view/globalNetwork/index.vue";
+// 平台专区
+import platform from "../view/platform/index.vue"
+import warehouseMap from "../view/platform/tab/warehouseMap.vue"
+import AMAZON from "../view/platform/tab/AMAZON.vue"
+
-import Login from "./pages/login.vue";
-import Signup from "./pages/signup.vue";
-import Forgotpassword from './pages/password-forgot.vue';
Vue.use(VueRouter);
@@ -20,8 +28,17 @@ const routes = [
{
path: "/home",
name: "home",
- component: home,
- // redirect: "/Index-1"
+ component: home
+ },
+ {
+ path: "/news",
+ name: "news",
+ component: news
+ },
+ {
+ path: "/newsDetail",
+ name: "newsDetail",
+ component: newsDetail
},
{
path: "/business",
@@ -44,19 +61,24 @@ const routes = [
component: road,
},
{
- path: "/news",
- name: "news",
- component: news
+ path: "/globalNetwork",
+ name: "globalNetwork",
+ component: globalNetwork
},
{
- path: "/newsDetail",
- name: "newsDetail",
- component: newsDetail
+ path: "/platform",
+ name: "platform",
+ component: platform
},
{
- path: "/globalNetwork",
- name: "globalNetwork",
- component: globalNetwork
+ path: "/warehouseMap",
+ name: "warehouseMap",
+ component: warehouseMap
+ },
+ {
+ path: "/AMAZON",
+ name: "AMAZON",
+ component: AMAZON
},
{
path: "/login",
diff --git a/src/router/pages/index1.vue b/src/router/pages/index1.vue
deleted file mode 100644
index f5661a3..0000000
--- a/src/router/pages/index1.vue
+++ /dev/null
@@ -1,233 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Awesome Design
-
We love make things amazing and simple
-
- Maecenas class semper class semper sollicitudin lectus lorem
- iaculis imperdiet aliquam vehicula tempor auctor curabitur pede
- aenean ornare.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/utils/bus.js b/src/utils/bus.js
new file mode 100644
index 0000000..7122ca0
--- /dev/null
+++ b/src/utils/bus.js
@@ -0,0 +1,3 @@
+import vue from 'vue'
+// 全局通知事件
+export default new vue({});
diff --git a/src/utils/request.js b/src/utils/request.js
index 77cd8c4..413fb76 100644
--- a/src/utils/request.js
+++ b/src/utils/request.js
@@ -1,157 +1,157 @@
-import axios from 'axios';
-
-axios.defaults.timeout = 5000;
-axios.defaults.baseURL ='http://192.168.10.53:9100/v1/v1'; //填写域名
-// axios.defaults.baseURL ='http://47.119.163.201:81/#/'; //填写域名
-
-//http request 拦截器
-axios.interceptors.request.use(
- config => {
- config.data = JSON.stringify(config.data);
- config.headers = {
- 'Content-Type':'application/x-www-form-urlencoded'
- }
- return config;
- },
- error => {
- return Promise.reject(error);
- }
-);
-
-//响应拦截器即异常处理
-axios.interceptors.response.use(response => {
- return response
-}, err => {
- if (err && err.response) {
- switch (err.response.status) {
- case 400:
- console.log('错误请求')
- break;
- case 401:
- console.log('未授权,请重新登录')
- break;
- case 403:
- console.log('拒绝访问')
- break;
- case 404:
- console.log('请求错误,未找到该资源')
- break;
- case 405:
- console.log('请求方法未允许')
- break;
- case 408:
- console.log('请求超时')
- break;
- case 500:
- console.log('服务器端出错')
- break;
- case 501:
- console.log('网络未实现')
- break;
- case 502:
- console.log('网络错误')
- break;
- case 503:
- console.log('服务不可用')
- break;
- case 504:
- console.log('网络超时')
- break;
- case 505:
- console.log('http版本不支持该请求')
- break;
- default:
- console.log(`连接错误${err.response.status}`)
- }
- } else {
- console.log('连接到服务器失败')
- }
- return Promise.resolve(err.response)
-})
-
-
-/**
- * 封装get方法
- * @param url
- * @param data
- * @returns {Promise}
- */
-
-export function fetch(url,params={}){
- return new Promise((resolve,reject) => {
- axios.get(url,{
- params:params
+import axios from 'axios'
+import Bus from './bus'
+import util from './util.js';
+
+import ViewUI from 'view-design';
+
+// http request 拦截器
+axios.interceptors.response.use(
+ response => {
+ return response
+ },
+ //接口错误状态处理,也就是说无响应时的处理
+ error => {
+ if (error.response.status == 403) {
+ Bus.$emit('Illegalcalls');
+ } else if (error.response.status == 400) {
+ ViewUI.Notice.error({ title: 'Service Error 400', desc: '参数错误,请检查参数信息' });
+ } else if (error.response.status == 404) {
+ ViewUI.Notice.error({ title: 'Service Error 404', desc: '未找到接口,请检查链接地址' });
+ } else if (error.response.status == 500) {
+ ViewUI.Notice.error({ title: 'Service Error 500', desc: '服务器出现错误' });
+ } else if (error.response.status == 502) {
+ ViewUI.Notice.error({ title: 'Service Error 502', desc: '服务器响应出现错误' });
+ } else {
+ ViewUI.Notice.error({ title: 'Service Error' + error.response.status, desc: '链接异常,请检查错误信息' });
+ }
+ return Promise.reject(error) // 返回接口返回的错误信息
+ // return Promise.reject(error.response.status) // 返回接口返回的错误信息
})
- .then(response => {
- resolve(response.data);
- })
- .catch(err => {
- reject(err)
- })
- })
-}
-
-
+
+let AxiosEventCatch = {};
+
/**
- * 封装post请求
- * @param url
- * @param data
- * @returns {Promise}
+ * 隐藏 loading 方法
+ *
+ * @param {*} id
+ * @memberof Request
*/
-
- export function post(url,data = {}){
- return new Promise((resolve,reject) => {
- axios.post(url,data)
- .then(response => {
- resolve(response.data);
- },err => {
- reject(err)
- })
- })
- }
-
- /**
- * 封装patch请求
- * @param url
- * @param data
- * @returns {Promise}
- */
-
-export function patch(url,data = {}){
- return new Promise((resolve,reject) => {
- axios.patch(url,data)
- .then(response => {
- resolve(response.data);
- },err => {
- reject(err)
- })
- })
+const hideLoading = function (id) {
+ delete AxiosEventCatch[id];
+ if (Object.keys(AxiosEventCatch).length == 0) {
+ Bus.$emit('loading-change', false)
+ }
}
-
- /**
- * 封装put请求
- * @param url
- * @param data
- * @returns {Promise}
- */
-
-export function put(url,data = {}){
- return new Promise((resolve,reject) => {
- axios.put(url,data)
- .then(response => {
- resolve(response.data);
- },err => {
- reject(err)
- })
- })
+
+const Event = function (options) {
+ console.log(options)
+ var id = util.Guid();
+ if (options.loading !== false) {
+ AxiosEventCatch[id] = '';
+ Bus.$emit('loading-change', true)
+ }
+ var baseUrlPath = ''
+ // if (process.env.NODE_ENV == 'development') {
+ // try {
+ // baseUrlPath = window.WIN_COMFIG.service[options.reqType]
+ // } catch (error) {
+ // baseUrlPath = window.WIN_COMFIG.service.pro
+ // }
+ // } else {
+ // baseUrlPath = location.protocol
+ if(options.reqType == 'pro'){
+ console.log('baseUrlPath',process.env.VUE_APP_URL)
+ baseUrlPath = `${process.env.VUE_APP_URL}`
+ }else {
+ baseUrlPath = `${process.env.VUE_APP_URL}`
+ }
+
+ // }
+
+ var _url = baseUrlPath + options.url;
+ if(options.params) {
+ var _params = JSON.parse(JSON.stringify(options.params));
+ _url = _url.replace(/\{\w+\}/g, function (i) {
+ var _src = i.replace('{', '').replace('}', '');
+ if (_params.hasOwnProperty(_src)) {
+ var _value = _params[_src];
+ delete _params[_src];
+ return _value;
+ }
+ });
+ }else {
+ _params = {}
+ }
+
+
+ return axios({
+ method: options.type,
+ url: _url,
+ params: _params,
+ data: options.data
+ }).then(function (res) {
+ if (options.loading !== false) {
+ hideLoading(id);
+ }
+ return res.data;
+ }).catch(function (err) {
+ if (options.loading !== false) {
+ hideLoading(id);
+ }
+ throw err.response
+ });
}
-
-/**
-* 下面是获取数据的接口
-*/
-export const ceshi = {
- exam: function(paramObj){
- return fetch('/sys/baseDict/queryChannleDict',paramObj);
+
+export default {
+
+ /**
+ * apis 接口调用参数
+ *
+ * @param {String} url 链接地址
+ * @param {Object} params Url 传参对象
+ * @param {Object} data PostData 传参对象
+ * @param {String} reqType 开发模式下, 链接地址指向
+ * @param {Blob} loading 是否显示loading 开关
+ * @return {axios} 接口异步对象
+ */
+ post(url, params, data, reqType, loading) {
+ var _data = {};
+ _data.type = 'post';
+ _data.data = data || {};
+ _data.reqType = reqType;
+ _data.params = params;
+ _data.url = url;
+ _data.loading = loading
+ return Event(_data)
+ },
+ get(url, params, data, reqType, loading) {
+ var _data = {};
+ _data.type = 'get';
+ _data.data = data || {};
+ _data.reqType = reqType;
+ _data.params = params;
+ _data.url = url;
+ _data.loading = loading
+ return Event(_data)
+ },
+ put(url, params, data, reqType, loading) {
+ var _data = {};
+ _data.type = 'put';
+ _data.data = data || {};
+ _data.reqType = reqType;
+ _data.params = params;
+ _data.url = url;
+ _data.loading = loading
+ return Event(_data)
+ },
+ delete(url, params, data, reqType, loading) {
+ var _data = {};
+ _data.type = 'delete';
+ _data.data = data || {};
+ _data.reqType = reqType;
+ _data.params = params;
+ _data.url = url;
+ _data.loading = loading
+ return Event(_data)
}
}
-
\ No newline at end of file
diff --git a/src/utils/util.js b/src/utils/util.js
new file mode 100644
index 0000000..7022422
--- /dev/null
+++ b/src/utils/util.js
@@ -0,0 +1,992 @@
+ // 整理基本库方法
+/** @type {Object} 正则库 */
+var regulars = {
+ year: {
+ regExp: /^(19|20)\d{2}$/,
+ message: "只能为年份(四位,1900-2099)"
+ },
+ number: {
+ regExp: /^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$/,
+ message: "只能为数字"
+ },
+ bankNum: {
+ regExp: /^\d{16}|\d{19}$/,
+ message: "格式错误"
+ },
+ telephone: {
+ regExp: /^(0[0-9]{2,3}-)?([2-9][0-9]{6,7})+(-[0-9]{1,4})?$/,
+ message: "格式错误"
+ },
+ int: {
+ regExp: /^[0-9]*$/,
+ message: "只能为正整数"
+ },
+ phone: {
+ regExp: /^[1][0-9]{10}$/,
+ message: "格式错误"
+ },
+ allChinese: {
+ regExp: /^([\u4E00-\u9FA5]+,?)+$/,
+ message: "只能为中文"
+ },
+ haveChinese: {
+ regExp: "[\\u4E00-\\u9FFF]+",
+ message: "中含有汉字"
+ },
+ idCard15: {
+ regExp: /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/,
+ message: "格式错误"
+ },
+ idCard18: {
+ regExp: /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])((\d{4})|\d{3}[Xx])$/,
+ message: "格式错误"
+ },
+ url: {
+ regExp: /^((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+/,
+ message: "格式错误"
+ },
+ email: {
+ regExp: /^[-_A-Za-z0-9]+@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/,
+ message: "格式错误"
+ },
+ Special: {
+ regExp: ["~", "`", "!", "@", "#", "$", "%", "^", "&", "*", "{", "}", "[", "]", "(", ")", ":", ";", "'", "|", "\\", "<", ">", "?", "/", "<<", ">>", "||", "//", "administrators", "administrator", "管理员", "系统管理员", "admin", "select", "delete", "update", "insert", "create", "drop", "alter", "trancate"],
+ message: "不能包含特殊字符"
+ },
+ null: {
+ regExp: "^[ ]+$",
+ message: "不能为空"
+ },
+};
+
+/**
+ *
+ * 判断对象是否完全一致
+ * @param {*} a
+ * @param {*} b
+ * @return {*}
+ */
+const isEqual = function (a, b) {
+ if (a === b) {
+ return a !== 0 || 1 / a === 1 / b;
+ };
+ if (a == null || b == null) {
+ return a === b;
+ };
+ var A = Object.prototype.toString.call(a);
+ var B = Object.prototype.toString.call(b);
+ if (A !== B) {
+ return false;
+ };
+ switch (A) {
+ case '[object RegExp]':
+ case '[object String]':
+ return '' + a === '' + b;
+ case '[object Number]':
+ if (+a !== +a) {
+ return +b !== +b;
+ };
+ return +a === 0 ? 1 / +a === 1 / b : +a === +b;
+ case '[object Date]':
+ case '[object Boolean]':
+ return +a === +b;
+ };
+ if (A == '[object Object]') {
+ if (JSON.stringify(a) != JSON.stringify(b)) {
+ return false;
+ };
+ return true;
+ };
+ if (A == '[object Array]') {
+ if (a.toString() == b.toString()) {
+ return true;
+ }
+ return false;
+ };
+};
+/**
+ * 判断是否在数组中,(
+ *
+ * @param {*} str
+ * @param {*} _array
+ * @return {*}
+ */
+const inArray = function (str, _array) {
+ let isInArray = -1;
+ for (let i = 0; i < _array.length; i++) {
+ const element = _array[i];
+ if (isEqual(element, str)) {
+ isInArray = i;
+ break;
+ };
+ };
+ return isInArray;
+};
+
+//
+
+/**
+ * 获取对象key值列表
+ *
+ * @param {*} obj
+ * @return {*}
+ */
+const getKeyArray = function (obj) {
+ var _array = [];
+ eachObject(obj, function (item, key) {
+ _array.push(key);
+ });
+ return _array;
+};
+
+//
+/**
+ * 将数组以 key 对应属性 为键值 转换为对象,key值默认为ID;
+ *
+ * @param {*} _array
+ * @param {*} key
+ * @return {*}
+ */
+const converArrayToObj = function (_array, key) {
+ var obj = {};
+ key = key || 'id';
+
+ var canConver = true;
+ for (let i = 0; i < _array.length; i++) {
+ const element = _array[i];
+ if (element.hasOwnProperty(key)) {
+ obj[element[key].toString()] = element;
+ } else {
+ canConver = false;
+ }
+ };
+ if (canConver) {
+ return obj;
+ } else {
+ console.error('对象转换错误 :未找到对应Key值');
+ return obj;
+ };
+};
+
+//
+
+/**
+ * 历遍对象,并执行方法
+ *
+ * @param {*} obj
+ * @param {*} callback
+ */
+const eachObject = function (obj, callback) {
+ for (const key in obj) {
+ if (obj.hasOwnProperty(key)) {
+ const element = obj[key];
+ var value = callback(element, key);
+ if (value === false) {
+ break;
+ };
+ }
+ };
+};
+
+
+/**
+ * 验证方法
+ *
+ * @param {*} type
+ * @param {*} str
+ * @return {*}
+ */
+function test(type, str) {
+ var re = new RegExp(regulars[type].regExp);
+ return !re.test(str) ? true : false;
+};
+
+// 验证用方法集合
+var verifyObj = {
+ year: {
+ event: value => { return test('year', value) },
+ message: regulars.year.message,
+ },
+ number: {
+ event: value => { return test('number', value) },
+ message: regulars.number.message
+ },
+ bankNum: {
+ event: value => { return test('bankNum', value) },
+ message: regulars.bankNum.message
+ },
+ telephone: {
+ event: value => { return test('telephone', value) },
+ message: regulars.telephone.message
+ },
+ int: {
+ event: value => { return test('int', value) },
+ message: regulars.int.message
+ },
+ phone: {
+ event: value => { return test('phone', value) },
+ message: regulars.phone.message
+ },
+ url: {
+ event: value => { return test('url', value) },
+ message: regulars.url.message
+ },
+ email: {
+ event: value => { return test('email', value) },
+ message: regulars.email.message
+ },
+ allChinese: {
+ event: value => { return test('allChinese', value) },
+ message: regulars.allChinese.message
+ },
+ haveChinese: {
+ event: function (str) {
+ var re = new RegExp(regulars.haveChinese.regExp);
+ return re.test(str) ? true : false;
+ },
+ message: regulars.haveChinese.message
+ },
+ notNull: {
+ event: function (str) {
+ if (str == "" || str == undefined || str == null || str == NaN) return !false;
+ var re = new RegExp(regulars.null.regExp);
+ return re.test(str);
+ },
+ message: regulars.null.message
+ },
+ isSpecial: {
+ event: function (str) {
+ str = str.toLowerCase();
+ for (var i = 0; i < regulars.Special.regExp.length; i++) {
+ if (str.indexOf(regulars.Special.regExp[i]) >= 0) {
+ return false;
+ }
+ }
+ return true;
+ },
+ message: regulars.Special.message
+ },
+ isIdCard: {
+ event: function (str) {
+ var re1 = new RegExp(regulars.idCard15.regExp);
+ var re2 = new RegExp(regulars.idCard18.regExp);
+ return !(re1.test(str) || re2.test(str) ? true : false);
+ },
+ message: regulars.idCard18.message
+ }
+};
+
+//
+
+/**
+ * 判断变量是否为某一值
+ *
+ * @param {*} obj
+ * @param {*} type
+ * @return {*}
+ */
+const is = function (obj, type) {
+ if (type) {
+ var result = null;
+ var objectString = Object.prototype.toString.call(obj);
+ switch (type) {
+ case "string":
+ result = objectString == "[object String]";
+ break;
+ case "function":
+ result = objectString == "[object Function]";
+ break;
+ case "array":
+ result = objectString == "[object Array]";
+ break;
+ case "number":
+ result = objectString == "[object Number]" && obj === obj;
+ break;
+ case "date":
+ result = objectString == "[object Date]";
+ break;
+ case "object":
+ result = objectString == "[object Object]";
+ break;
+ case "bool":
+ result = objectString == "[object Boolean]";
+ break;
+ case "regExp":
+ result = objectString == "[object RegExp]";
+ break;
+ case "null":
+ result = objectString == "[object Null]";
+ break;
+ case "undefined":
+ result = objectString == "[object Undefined]";
+ break;
+ case "NaN":
+ result = (obj !== obj);
+ break;
+ };
+ return result;
+ } else {
+ var mold = null;
+ var objectString = Object.prototype.toString.call(obj);
+ switch (objectString) {
+ case "[object String]":
+ mold = "string";
+ break;
+ case "[object Function]":
+ mold = "function";
+ break;
+ case "[object Array]":
+ mold = "array";
+ break;
+ case "[object Number]":
+ if (obj !== obj) {
+ mold = "NaN";
+ } else {
+ mold = "number"
+ };
+ break;
+ case "[object Date]":
+ mold = "date";
+ break;
+ case "[object Object]":
+ mold = "object";
+ break;
+ case "[object Boolean]":
+ mold = "bool";
+ break;
+ case "[object RegExp]":
+ mold = "regExp";
+ break;
+ case "[object Null]":
+ mold = "null";
+ break;
+ case "[object Undefined]":
+ mold = "undefined";
+ break;
+ };
+ return mold;
+ };
+};
+
+/**
+ * 自定义判断位数区间
+ *
+ * @param {*} type
+ * @param {*} str
+ * @return {*}
+ */
+const customLength = function (type, str) {
+ var name = type.split('$');
+ var length = str.toString().length;
+ var nums = parseInt(name[1]);
+ if (name[0] == 'les') {
+ return !(length > nums) ? '不能小于' + nums + '位' : false;
+ } else if (name[0] == 'gre') {
+ var nums = parseInt(name[1]);
+ return !(length <= nums) ? '不能大于' + nums + '位' : false;
+ } else {
+ console.error('error => 未找到验证规则:' + type);
+ };
+};
+
+//
+
+/**
+ * 正则验证方法
+ *
+ * @param {*} value
+ * @param {*} type
+ * @return {*}
+ */
+const jude = function (value, type) {
+ var keyArray = getKeyArray(verifyObj);
+ if (type.indexOf('$') != -1) {
+ return customLength(type, value);
+ } else if (inArray(type, keyArray) != -1) {
+ var answer = verifyObj[type].event(value);
+ return answer ? verifyObj[type].message : false;
+ } else {
+ console.error('error => 未找到验证规则:' + type);
+ };
+};
+
+
+/**
+ * 按照规则进行验证
+ *
+ * @param {*} singleRule
+ * @param {*} value
+ * @param {*} text
+ * @return {*}
+ */
+const verifyRule = function (singleRule, value, text) {
+ // 返回对象类型
+ var ruleType = is(singleRule);
+ if (ruleType == 'string') {
+ // 当为String类型时,去默认验证方法中寻找
+ var result = jude(value, singleRule);
+ if (result) {
+ return text + result;
+ } else {
+ return false;
+ };
+ } else if (ruleType == 'function') {
+ // 当为方法类型时,执行方法,并返回验证 (方法通过,返回false,否则返回错误语句);
+ var result = singleRule(value);
+ if (result) {
+ return result;
+ } else {
+ return false;
+ };
+ } else if (ruleType == 'object' && singleRule.regExp && is(singleRule.regExp, 'regExp')) {
+ // 当对象方法为正则表达式时,直接使用正则表达式进行判断
+ var errorText = singleRule.errorText;
+ var regular = singleRule.regExp;
+ var re = new RegExp(regular);
+ if (re.test(value)) {
+ return false;
+ } else {
+ return errorText;
+ };
+ } else {
+ // 其他类型直接跳过,控制台输出错误信息
+ console.error('rule模块 : 未识别的判断类型');
+ return false;
+ };
+};
+
+
+/**
+ * 规则验证
+ *
+ * @param {*} rulesObj
+ * @param {*} value
+ * @return {*}
+ */
+const rules = function (rulesObj, value) {
+ var text = rulesObj.text;
+ var rulesArray = rulesObj.rules;
+ if (!rulesArray) {
+ return false;
+ };
+ // 判断是否为数组
+ if (is(rulesArray, 'array')) {
+ // 跳过非空验证
+ // if ($.inArray("notNull", rulesArray) == -1 && (value == '' || value === null)) {
+ // return false;
+ // };
+ // 进行循环验证
+ var _text = false;
+ for (var i = 0; i < rulesArray.length; i++) {
+ var element = rulesArray[i];
+ var result = verifyRule(element, value, text);
+ if (result) {
+ _text = result;
+ break;
+ };
+ };
+ if (_text) {
+ return _text;
+ } else {
+ return false;
+ };
+ } else if (is(rulesArray, 'string')) {
+ // 进行单条验证
+ var result = verifyRule(rulesArray, value, text);
+ if (result) {
+ return result;
+ } else {
+ return false;
+ };
+ } else if (is(rulesArray, 'function')) {
+ // 进行单条验证
+ var result = verifyRule(rulesArray, value, text);
+ if (result) {
+ return result;
+ } else {
+ return false;
+ };
+ }
+};
+
+
+/**
+ * 深拷贝对象
+ *
+ * @param {*} obj
+ * @return {*}
+ */
+var clone = function (obj) {
+ if (obj === null) return null
+ if (typeof obj !== 'object') return obj;
+ if (obj.constructor === Date) return new Date(obj);
+ var newObj = new obj.constructor(); //保持继承链
+ for (var key in obj) {
+ if (obj.hasOwnProperty(key)) { //不遍历其原型链上的属性
+ var val = obj[key];
+ newObj[key] = typeof val === 'object' ? clone(val) : val;
+ }
+ }
+ return newObj;
+}
+
+//
+
+
+/**
+ * 添加验证方法
+ *
+ * @param {*} obj
+ * @param {*} key
+ * @return {*}
+ */
+const setJudeRule = function (obj, key) {
+ if (verifyObj.hasOwnProperty(key)) {
+ console.error('key值重复,不可添加');
+ return;
+ };
+ if (obj.hasOwnProperty('event') && obj.hasOwnProperty('message')) {
+ verifyObj[key] = obj;
+ } else {
+ console.error('添加的验证方法不符合规范');
+ return;
+ }
+};
+
+
+/**
+ * 获取嵌套层级
+ *
+ * @param {*} treeData
+ * @param {*} key
+ * @return {*}
+ */
+var getMaxFloor = function (treeData, key) {
+ let floor = 0
+ let v = this
+ let max = 0
+ function each(data, floor) {
+ data.forEach(e => {
+ e.floor = floor
+ if (floor > max) {
+ max = floor
+ }
+ if (e.hasOwnProperty(key)) {
+ const element = e[key];
+ if (element.length > 0) {
+ each(element, floor + 1)
+ }
+ };
+ })
+ }
+ each(treeData, 1)
+ return max
+};
+
+/**
+ * 生成GUID
+ *
+ * @return {*}
+ */
+var Guid = function () {
+ var guid = '';
+ for (var i = 1; i <= 32; i++) {
+ var n = Math.floor(Math.random() * 16.0).toString(16);
+ guid += n;
+ if ((i == 8) || (i == 12) || (i == 16) || (i == 20))
+ guid += '-';
+ }
+ return guid;
+};
+
+
+/**
+ * 生成UUID
+ *
+ * @return {*}
+ */
+var uuid = function () {
+ var uuid = '';
+ for (var i = 1; i <= 32; i++) {
+ var n = Math.floor(Math.random() * 16.0).toString(16);
+ uuid += n;
+ }
+ return uuid;
+};
+
+var fileType = {
+ 'image': ['webp', 'baidubmp', 'pcx', 'tif', 'gif', 'jpeg', 'jpg', 'tga', 'exif', 'fpx', 'svg', 'pcd', 'dxf', 'ufo', 'png', 'hdri', 'wmf', 'flic', 'emf', 'ico'],
+ 'psd': ['psd'],
+ 'cad': ['cdr', 'ai', 'eps', 'raw'],
+ 'text': ['txt'],
+ 'html': ['htm', 'html'],
+ 'mirror': ['iso', 'bin', 'img', 'tao', 'dao', 'cif', 'fcd'],
+ 'video': ['avi', 'mpeg', 'mpg', 'flv', 'dat', 'ra', 'rm', 'rmvb', 'mov', 'qt', 'asf', 'wmv', 'mkv'],
+ 'mp3': ['mp3', 'wma', 'mpg', 'wav', 'mv'],
+ 'zip': ['rar', 'zip', '7z', 'tar', 'xz', 'gz'],
+ 'xsl': ['xls', 'xlsx'],
+ 'ppt': ['ppt', 'pptx'],
+ 'doc': ['doc', 'docx'],
+ 'pdf': ['pdf'],
+ 'config': ['conf', 'config', 'ini'],
+};
+
+var fileTypeMapping = {};
+for (const key in fileType) {
+ if (fileType.hasOwnProperty(key)) {
+ for (let i = 0; i < fileType[key].length; i++) {
+ const element = fileType[key][i];
+ fileTypeMapping[element] = key
+ };
+ }
+}
+
+/**
+ * 获取后缀名图标类别
+ *
+ * @param {*} url
+ * @return {*}
+ */
+var getSuffixType = function (url) {
+ var suffix = url.substring(url.lastIndexOf(".") + 1, url.length);
+ if (fileTypeMapping.hasOwnProperty(suffix.toLowerCase())) {
+ const element = fileTypeMapping[suffix.toLowerCase()];
+ return element;
+ } else {
+ return 'file'
+ }
+};
+
+
+/**
+ * 获取Url参数
+ *
+ * @param {*} variable
+ * @return {*}
+ */
+function getQueryVariable(variable) {
+ var query = window.location.search.substring(1);
+ var vars = query.split("&");
+ for (var i = 0; i < vars.length; i++) {
+ var pair = vars[i].split("=");
+ if (pair[0] == variable) { return pair[1]; }
+ }
+ return (false);
+};
+
+/**
+ * 获取浏览器信息
+ *
+ * @param {*} key
+ * @return {*}
+ */
+function device(key) {
+ var agent = navigator.userAgent.toLowerCase();
+
+ //获取版本号
+ var getVersion = function (label) {
+ var exp = new RegExp(label + '/([^\\s\\_\\-]+)');
+ label = (agent.match(exp) || [])[1];
+ return label || false;
+ };
+
+ //返回结果集
+ var result = {
+ os: function () { //底层操作系统
+ if (/windows/.test(agent)) {
+ return 'windows';
+ } else if (/linux/.test(agent)) {
+ return 'linux';
+ } else if (/iphone|ipod|ipad|ios/.test(agent)) {
+ return 'ios';
+ } else if (/mac/.test(agent)) {
+ return 'mac';
+ }
+ }(),
+ ie: function () { //ie版本
+ return (!!window.ActiveXObject || "ActiveXObject" in window) ? (
+ (agent.match(/msie\s(\d+)/) || [])[1] || '11' //由于ie11并没有msie的标识
+ ) : false;
+ }(),
+ weixin: getVersion('micromessenger') //是否微信
+ };
+
+ //任意的key
+ if (key && !result[key]) {
+ result[key] = getVersion(key);
+ }
+
+ //移动设备
+ result.android = /android/.test(agent);
+ result.ios = result.os === 'ios';
+ result.mobile = (result.android || result.ios) ? true : false;
+
+ return result;
+};
+
+
+//拆分整数与小数
+function splits(tranvalue) {
+ var value = new Array('', '');
+ var temp = tranvalue.split(".");
+ for (var i = 0; i < temp.length; i++) {
+ value[i] = temp[i];
+ }
+ return value;
+}
+
+/**
+ * 数字转汉字
+ *
+ * @param {*} tranvalue
+ * @return {*}
+ */
+function transformSmallNumber(tranvalue) {
+ try {
+ tranvalue = tranvalue.toString();
+ var i = 1;
+ var dw2 = new Array("", "万", "亿");//大单位
+ var dw1 = new Array("十", "百", "千");//小单位
+ var dw = new Array("零", "一", "二", "三", "四", "五", "六", "七", "八", "九");//整数部分用
+ //以下是小写转换成大写显示在合计大写的文本框中
+ //分离整数与小数
+ var source = splits(tranvalue);
+ var num = source[0];
+ var dig = source[1];
+
+ //转换整数部分
+ var k1 = 0;//计小单位
+ var k2 = 0;//计大单位
+ var sum = 0;
+ var str = "";
+ var len = source[0].length;//整数的长度
+ for (i = 1; i <= len; i++) {
+ var n = source[0].charAt(len - i);//取得某个位数上的数字
+ var bn = 0;
+ if (len - i - 1 >= 0) {
+ bn = source[0].charAt(len - i - 1);//取得某个位数前一位上的数字
+ }
+ sum = sum + Number(n);
+ if (sum != 0) {
+ str = dw[Number(n)].concat(str);//取得该数字对应的大写数字,并插入到str字符串的前面
+ if (n == '0') sum = 0;
+ }
+ if (len - i - 1 >= 0) {//在数字范围内
+ if (k1 != 3) {//加小单位
+ if (bn != 0) {
+ str = dw1[k1].concat(str);
+ }
+ k1++;
+ } else {//不加小单位,加大单位
+ k1 = 0;
+ var temp = str.charAt(0);
+ if (temp == "万" || temp == "亿")//若大单位前没有数字则舍去大单位
+ str = str.substr(1, str.length - 1);
+ str = dw2[k2].concat(str);
+ sum = 0;
+ }
+ }
+ if (k1 == 3)//小单位到千则大单位进一
+ { k2++; }
+ };
+ // //转换小数部分
+ var strdig = "";
+ if (dig != "") {
+ var n = dig.charAt(0);
+ if (n != 0) {
+ strdig += '点' + dw[Number(n)];//加数字
+ }
+ var n = dig.charAt(1);
+ if (n != 0) {
+ strdig += dw[Number(n)];//加数字
+ };
+ var n = dig.charAt(2);
+ if (n != 0) {
+ strdig += dw[Number(n)];//加数字
+ };
+ var n = dig.charAt(3);
+ if (n != 0) {
+ strdig += dw[Number(n)];//加数字
+ };
+ var n = dig.charAt(4);
+ if (n != 0) {
+ strdig += dw[Number(n)];//加数字
+ }
+ }
+ str += strdig;
+
+ str = str.replace(/^一十/, '十');
+
+ } catch (e) {
+ return "转换错误";
+ }
+ return str;
+};
+
+// 定义转换函数
+
+/**
+ * 钱数转大写
+ *
+ * @param {*} tranvalue
+ * @return {*}
+ */
+function transformBigNumber(tranvalue) {
+ try {
+ tranvalue = tranvalue.toString();
+ var i = 1;
+ var dw2 = new Array("", "万", "亿");//大单位
+ var dw1 = new Array("拾", "佰", "仟");//小单位
+ var dw = new Array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖");//整数部分用
+ //以下是小写转换成大写显示在合计大写的文本框中
+ //分离整数与小数
+ var source = splits(tranvalue);
+ var num = source[0];
+ var dig = source[1];
+
+ //转换整数部分
+ var k1 = 0;//计小单位
+ var k2 = 0;//计大单位
+ var sum = 0;
+ var str = "";
+ var len = source[0].length;//整数的长度
+ for (i = 1; i <= len; i++) {
+ var n = source[0].charAt(len - i);//取得某个位数上的数字
+ var bn = 0;
+ if (len - i - 1 >= 0) {
+ bn = source[0].charAt(len - i - 1);//取得某个位数前一位上的数字
+ }
+ sum = sum + Number(n);
+ if (sum != 0) {
+ str = dw[Number(n)].concat(str);//取得该数字对应的大写数字,并插入到str字符串的前面
+ if (n == '0') sum = 0;
+ }
+ if (len - i - 1 >= 0) {//在数字范围内
+ if (k1 != 3) {//加小单位
+ if (bn != 0) {
+ str = dw1[k1].concat(str);
+ }
+ k1++;
+ } else {//不加小单位,加大单位
+ k1 = 0;
+ var temp = str.charAt(0);
+ if (temp == "万" || temp == "亿")//若大单位前没有数字则舍去大单位
+ str = str.substr(1, str.length - 1);
+ str = dw2[k2].concat(str);
+ sum = 0;
+ }
+ }
+ if (k1 == 3)//小单位到千则大单位进一
+ { k2++; }
+ }
+
+ //转换小数部分
+ var strdig = "";
+ if (dig != "") {
+ var n = dig.charAt(0);
+ if (n != 0) {
+ strdig += dw[Number(n)] + "角";//加数字
+ }
+ var n = dig.charAt(1);
+ if (n != 0) {
+ strdig += dw[Number(n)] + "分";//加数字
+ }
+ }
+ str += "元" + strdig;
+ } catch (e) {
+ return "0元";
+ }
+ return str;
+}
+
+/**
+ * 是否为链接地址 验证方法
+ *
+ * @param {string} path
+ * @returns {Boolean}
+ */
+function isExternal(path) {
+ return /^(https?:|mailto:|tel:)/.test(path)
+}
+
+
+/**
+ * 通过 URL 地址获取参数
+ */
+function getUrlParam() {
+ let href = window.location.href
+ if (href.indexOf('?') > -1) {
+ let paramStr = href.split('?')[1]
+ let paramArr = paramStr.split('&')
+ let returnObj = {}
+ for (let i = 0; i < paramArr.length; i++) {
+ let paramItem = paramArr[i].split('=')
+ returnObj[paramItem[0]] = paramItem[1]
+ }
+ return returnObj
+ } else {
+ return {}
+ }
+}
+
+/**
+ * 判断是否为数字
+ *
+ * @param {*} obj
+ * @return {*}
+ */
+function isNumber(obj) {
+ return obj == +obj
+}
+
+
+/**
+ * @param {Object} fmt 如:YYYY-mm-dd HH:MM:SS表示2019-06-06 19:45:00
+ * @notice 苹果环境、safari 浏览器建议日期格式使用 YYYY/mm/dd
+ */
+function format(date, fmt) {
+ let ret
+ const opt = {
+ "Y+": date.getFullYear().toString(), // 年
+ "m+": (date.getMonth() + 1).toString(), // 月
+ "d+": date.getDate().toString(), // 日
+ "H+": date.getHours().toString(), // 时
+ "M+": date.getMinutes().toString(), // 分
+ "S+": date.getSeconds().toString() // 秒
+ // 有其他格式化字符需求可以继续添加,必须转化成字符串
+ }
+ for (let k in opt) {
+ ret = new RegExp("(" + k + ")").exec(fmt)
+ if (ret) {
+ fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
+ }
+ }
+ return fmt
+}
+
+
+
+export default {
+ getUrlParam,
+ device,
+ rules,
+ uuid,
+ Guid,
+ inArray,
+ getKeyArray,
+ eachObject,
+ is,
+ jude,
+ isEqual,
+ setJudeRule,
+ converArrayToObj,
+ clone,
+ getMaxFloor,
+ getSuffixType,// 获取文件后缀名
+ getQueryVariable,
+ transformBigNumber,
+ transformSmallNumber,
+ isExternal,
+ isNumber,
+ format
+}
diff --git a/src/view/home/homeComponents/earth.vue b/src/view/home/homeComponents/earth.vue
index 708dab5..c6a4ec3 100644
--- a/src/view/home/homeComponents/earth.vue
+++ b/src/view/home/homeComponents/earth.vue
@@ -7,7 +7,7 @@
+
\ No newline at end of file
diff --git a/src/view/platform/tab/AMAZON.vue b/src/view/platform/tab/AMAZON.vue
new file mode 100644
index 0000000..64ef4ab
--- /dev/null
+++ b/src/view/platform/tab/AMAZON.vue
@@ -0,0 +1,73 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/view/platform/tab/sea.vue b/src/view/platform/tab/sea.vue
new file mode 100644
index 0000000..8704713
--- /dev/null
+++ b/src/view/platform/tab/sea.vue
@@ -0,0 +1,275 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/view/platform/tab/warehouseMap.vue b/src/view/platform/tab/warehouseMap.vue
new file mode 100644
index 0000000..f0e4ff9
--- /dev/null
+++ b/src/view/platform/tab/warehouseMap.vue
@@ -0,0 +1,74 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/vue.config.js b/vue.config.js
index 3692170..1647e04 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -1,11 +1,11 @@
const CssMinimizerPlugin = require('css-minimizer-webpack-plugin');
-const path = require('path');
module.exports = {
devServer:{
- proxy:{
+
+ proxy: {
'/api':{
- target:'http://192.168.10.53:9100/v1/v1',
+ target:'http://192.168.10.54:9100/v1',
changOrigin:true,
pathRewrite:{
'^/api':''
@@ -20,8 +20,4 @@ module.exports = {
],
}
}
-
-
-
-
}
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index bfea17c..fb27a2a 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1731,6 +1731,11 @@
"resolved" "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz"
"version" "1.0.1"
+"async-validator@^3.3.0":
+ "integrity" "sha512-8eLCg00W9pIRZSB781UUX/H6Oskmm8xloZfr09lz5bikRpBVDlJ3hRVuxxP1SxcwsEYfJ4IU8Q19Y8/893r3rQ=="
+ "resolved" "https://registry.npmjs.org/async-validator/-/async-validator-3.5.2.tgz"
+ "version" "3.5.2"
+
"async-validator@~1.8.1":
"integrity" "sha512-tXBM+1m056MAX0E8TL2iCjg8WvSyXu0Zc8LNtYqrVeyoL3+esHRZ4SieE9fKQyyU09uONjnMEjrNBMqT0mbvmA=="
"resolved" "https://registry.npmjs.org/async-validator/-/async-validator-1.8.5.tgz"
@@ -1852,6 +1857,11 @@
"resolved" "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz"
"version" "1.5.1"
+"batch-processor@1.0.0":
+ "integrity" "sha512-xoLQD8gmmR32MeuBHgH0Tzd5PuSZx71ZsbhVxOCRbgktZEPe4SQy7s9Z50uPp0F/f7iw2XmkHN2xkgbMfckMDA=="
+ "resolved" "https://registry.npmjs.org/batch-processor/-/batch-processor-1.0.0.tgz"
+ "version" "1.0.0"
+
"batch@0.6.1":
"integrity" "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw=="
"resolved" "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz"
@@ -3080,6 +3090,11 @@
"resolved" "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz"
"version" "1.5.2"
+"deepmerge@^2.2.1":
+ "integrity" "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA=="
+ "resolved" "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz"
+ "version" "2.2.1"
+
"default-gateway@^4.2.0":
"integrity" "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA=="
"resolved" "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz"
@@ -3338,12 +3353,12 @@
"zrender" "^5.1.1"
"echarts@^5.0.1", "echarts@^5.1.2":
- "integrity" "sha512-JYn22Dolt2esY2jEzUsw1OxbobuW67oGjIoTjZO3rW89SWkfJ4kbrmC2OW9JjsBrD1rdkmaWBuZZ2HgmThyxJw=="
- "resolved" "https://registry.npmjs.org/echarts/-/echarts-5.0.1.tgz"
- "version" "5.0.1"
+ "integrity" "sha512-rNYnNCzqDAPCr4m/fqyUFv7fD9qIsd50S6GDFgO1DxZhncCsNsG7IfUlAlvZe5oSEQxtsjnHiUuppzccry93Xw=="
+ "resolved" "https://registry.npmjs.org/echarts/-/echarts-5.5.0.tgz"
+ "version" "5.5.0"
dependencies:
- "tslib" "2.0.3"
- "zrender" "5.0.3"
+ "tslib" "2.3.0"
+ "zrender" "5.5.0"
"ee-first@1.1.1":
"integrity" "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
@@ -3360,6 +3375,13 @@
"resolved" "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.738.tgz"
"version" "1.4.738"
+"element-resize-detector@^1.2.0":
+ "integrity" "sha512-Fl5Ftk6WwXE0wqCgNoseKWndjzZlDCwuPTcoVZfCP9R3EHQF8qUtr3YUPNETegRBOKqQKPW3n4kiIWngGi8tKg=="
+ "resolved" "https://registry.npmjs.org/element-resize-detector/-/element-resize-detector-1.2.4.tgz"
+ "version" "1.2.4"
+ dependencies:
+ "batch-processor" "1.0.0"
+
"element-theme-chalk@^2.15.14":
"integrity" "sha512-jgMTD6Qg6UPRDjBzARl42xit7lfCg+gE8x+QaUmmrhWv2TsnFoerhOupn0smxKTfO0Oh9Kh53Q+thXeZO7/0rQ=="
"resolved" "https://registry.npmjs.org/element-theme-chalk/-/element-theme-chalk-2.15.14.tgz"
@@ -5078,6 +5100,11 @@
"merge-stream" "^2.0.0"
"supports-color" "^7.0.0"
+"js-calendar@^1.2.3":
+ "integrity" "sha512-dAA1/Zbp4+c5E+ARCVTIuKepXsNLzSYfzvOimiYD4S5eeP9QuplSHLcdhfqFSwyM1o1u6ku6RRRCyaZ0YAjiBw=="
+ "resolved" "https://registry.npmjs.org/js-calendar/-/js-calendar-1.2.3.tgz"
+ "version" "1.2.3"
+
"js-message@1.0.7":
"integrity" "sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA=="
"resolved" "https://registry.npmjs.org/js-message/-/js-message-1.0.7.tgz"
@@ -5334,6 +5361,11 @@
"resolved" "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz"
"version" "4.1.2"
+"lodash.throttle@^4.1.1":
+ "integrity" "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ=="
+ "resolved" "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz"
+ "version" "4.1.1"
+
"lodash.transform@^4.6.0":
"integrity" "sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A="
"resolved" "https://registry.npmjs.org/lodash.transform/-/lodash.transform-4.6.0.tgz"
@@ -6396,7 +6428,7 @@
dependencies:
"ts-pnp" "^1.1.6"
-"popper.js@^1.16.1":
+"popper.js@^1.14.6", "popper.js@^1.16.1":
"integrity" "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ=="
"resolved" "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz"
"version" "1.16.1"
@@ -8165,6 +8197,11 @@
"resolved" "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz"
"version" "0.3.0"
+"tinycolor2@^1.4.1":
+ "integrity" "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw=="
+ "resolved" "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz"
+ "version" "1.6.0"
+
"tmp@^0.0.33":
"integrity" "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw=="
"resolved" "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz"
@@ -8247,11 +8284,6 @@
"resolved" "https://registry.npmjs.org/tslib/-/tslib-1.10.0.tgz"
"version" "1.10.0"
-"tslib@2.0.3":
- "integrity" "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ=="
- "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz"
- "version" "2.0.3"
-
"tslib@2.3.0":
"integrity" "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
"resolved" "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz"
@@ -8504,6 +8536,11 @@
"resolved" "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz"
"version" "8.3.2"
+"v-click-outside-x@^3.7.1":
+ "integrity" "sha512-WmUgmcIXr9clVpm1AYS/FgHtcDicfnfoxgQCNg4O6vfk9GVnxA0vSqO321ogUo0b7czYTidj7fQENvWFMWOkUg=="
+ "resolved" "https://registry.npmjs.org/v-click-outside-x/-/v-click-outside-x-3.7.1.tgz"
+ "version" "3.7.1"
+
"validate-npm-package-license@^3.0.1":
"integrity" "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew=="
"resolved" "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz"
@@ -8531,6 +8568,20 @@
"core-util-is" "1.0.2"
"extsprintf" "^1.2.0"
+"view-design@^4.7.0":
+ "integrity" "sha512-WRvVRfsZciN0aJYlz+6b1zxs5G8tLFb4OUKOu+PiN0QyIGmdgWVziEyEmioYtJahQpueWiQpRYGzyxrpz3UkWQ=="
+ "resolved" "https://registry.npmjs.org/view-design/-/view-design-4.7.0.tgz"
+ "version" "4.7.0"
+ dependencies:
+ "async-validator" "^3.3.0"
+ "deepmerge" "^2.2.1"
+ "element-resize-detector" "^1.2.0"
+ "js-calendar" "^1.2.3"
+ "lodash.throttle" "^4.1.1"
+ "popper.js" "^1.14.6"
+ "tinycolor2" "^1.4.1"
+ "v-click-outside-x" "^3.7.1"
+
"vm-browserify@^1.0.1":
"integrity" "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ=="
"resolved" "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz"
@@ -8627,7 +8678,7 @@
"get-youtube-id" "^1.0.0"
"youtube-player" "^5.4.0"
-"vue@^2.2.6", "vue@^2.5.17", "vue@^2.6.11":
+"vue@^2.2.6", "vue@^2.5.17", "vue@^2.6.10", "vue@^2.6.11":
"integrity" "sha512-VfPwgcGABbGAue9+sfrD4PuwFar7gPb1yl1UK1MwXoQPAw0BKSqWfoYCT/ThFrdEVWoI51dBuyCoiNU9bZDZxQ=="
"resolved" "https://registry.npmjs.org/vue/-/vue-2.6.11.tgz"
"version" "2.6.11"
@@ -8981,16 +9032,9 @@
"load-script" "^1.0.0"
"sister" "^3.0.0"
-"zrender@^5.1.1":
+"zrender@^5.1.1", "zrender@5.5.0":
"integrity" "sha512-O3MilSi/9mwoovx77m6ROZM7sXShR/O/JIanvzTwjN3FORfLSr81PsUGd7jlaYOeds9d8tw82oP44+3YucVo+w=="
"resolved" "https://registry.npmjs.org/zrender/-/zrender-5.5.0.tgz"
"version" "5.5.0"
dependencies:
"tslib" "2.3.0"
-
-"zrender@5.0.3":
- "integrity" "sha512-TVcN2IMdo7je3GEq/E4CER4AGBe/n50/izILdupppyHf/hVHuiXCRliqdu8+32Z1OmGg6RfKt5qQlkX+bOtU0g=="
- "resolved" "https://registry.npmjs.org/zrender/-/zrender-5.0.3.tgz"
- "version" "5.0.3"
- dependencies:
- "tslib" "2.0.3"