diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/src/utils/index.js b/src/utils/index.js index 1095ef0..0a17e69 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -327,3 +327,14 @@ ele.className = ele.className.replace(reg, ' ') } } + +/** + * 获取当前url + */ +export function getCurrentUrl(){ + if(process.env.NODE_ENV === 'development'){ + return location.protocol + "//" + window.location.host + }else{ + return location.protocol + "//" + window.location.host+'/callcenter/#/dashboard' + } +} diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/src/utils/index.js b/src/utils/index.js index 1095ef0..0a17e69 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -327,3 +327,14 @@ ele.className = ele.className.replace(reg, ' ') } } + +/** + * 获取当前url + */ +export function getCurrentUrl(){ + if(process.env.NODE_ENV === 'development'){ + return location.protocol + "//" + window.location.host + }else{ + return location.protocol + "//" + window.location.host+'/callcenter/#/dashboard' + } +} diff --git a/src/utils/request.js b/src/utils/request.js index 4213578..8e082ac 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,7 +1,9 @@ import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '../store' -import { getToken } from '@/utils/auth' +import { getToken, getTicket } from '@/utils/auth' +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' // 创建axios实例 const service = axios.create({ @@ -15,6 +17,7 @@ if (store.getters.token) { // console.log('request.js gettoken') config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + config.headers['ticket'] = getTicket() // 让每个请求携带自定义token 请根据实际情况自行修改 // console.log(config.headers['token']) } return config @@ -51,17 +54,31 @@ location.reload() // 为了重新实例化vue-router对象 避免bug }) }) - } else if (res.code === 402) { - console.log('402页面跳转') - // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' + } else if (res.code === 402 || res.code === 501) { + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('402 to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + } } else { - Message({ - showClose: true, - message: res.message, - type: 'error', - duration: 3000 - }) + if(res.message){ + Message({ + showClose: true, + message: res.message, + type: 'error', + duration: 3000 + }) + }else{ + Message({ + showClose: true, + message: '错误代码:'+res.code, + type: 'error', + duration: 3000 + }) + } + return Promise.reject(res) } // return Promise.reject(res) diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/src/utils/index.js b/src/utils/index.js index 1095ef0..0a17e69 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -327,3 +327,14 @@ ele.className = ele.className.replace(reg, ' ') } } + +/** + * 获取当前url + */ +export function getCurrentUrl(){ + if(process.env.NODE_ENV === 'development'){ + return location.protocol + "//" + window.location.host + }else{ + return location.protocol + "//" + window.location.host+'/callcenter/#/dashboard' + } +} diff --git a/src/utils/request.js b/src/utils/request.js index 4213578..8e082ac 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,7 +1,9 @@ import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '../store' -import { getToken } from '@/utils/auth' +import { getToken, getTicket } from '@/utils/auth' +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' // 创建axios实例 const service = axios.create({ @@ -15,6 +17,7 @@ if (store.getters.token) { // console.log('request.js gettoken') config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + config.headers['ticket'] = getTicket() // 让每个请求携带自定义token 请根据实际情况自行修改 // console.log(config.headers['token']) } return config @@ -51,17 +54,31 @@ location.reload() // 为了重新实例化vue-router对象 避免bug }) }) - } else if (res.code === 402) { - console.log('402页面跳转') - // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' + } else if (res.code === 402 || res.code === 501) { + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('402 to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + } } else { - Message({ - showClose: true, - message: res.message, - type: 'error', - duration: 3000 - }) + if(res.message){ + Message({ + showClose: true, + message: res.message, + type: 'error', + duration: 3000 + }) + }else{ + Message({ + showClose: true, + message: '错误代码:'+res.code, + type: 'error', + duration: 3000 + }) + } + return Promise.reject(res) } // return Promise.reject(res) diff --git a/src/views/caseManage/caseCommon/SwiperImg.vue b/src/views/caseManage/caseCommon/SwiperImg.vue new file mode 100644 index 0000000..4ff3fd2 --- /dev/null +++ b/src/views/caseManage/caseCommon/SwiperImg.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/src/utils/index.js b/src/utils/index.js index 1095ef0..0a17e69 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -327,3 +327,14 @@ ele.className = ele.className.replace(reg, ' ') } } + +/** + * 获取当前url + */ +export function getCurrentUrl(){ + if(process.env.NODE_ENV === 'development'){ + return location.protocol + "//" + window.location.host + }else{ + return location.protocol + "//" + window.location.host+'/callcenter/#/dashboard' + } +} diff --git a/src/utils/request.js b/src/utils/request.js index 4213578..8e082ac 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,7 +1,9 @@ import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '../store' -import { getToken } from '@/utils/auth' +import { getToken, getTicket } from '@/utils/auth' +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' // 创建axios实例 const service = axios.create({ @@ -15,6 +17,7 @@ if (store.getters.token) { // console.log('request.js gettoken') config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + config.headers['ticket'] = getTicket() // 让每个请求携带自定义token 请根据实际情况自行修改 // console.log(config.headers['token']) } return config @@ -51,17 +54,31 @@ location.reload() // 为了重新实例化vue-router对象 避免bug }) }) - } else if (res.code === 402) { - console.log('402页面跳转') - // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' + } else if (res.code === 402 || res.code === 501) { + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('402 to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + } } else { - Message({ - showClose: true, - message: res.message, - type: 'error', - duration: 3000 - }) + if(res.message){ + Message({ + showClose: true, + message: res.message, + type: 'error', + duration: 3000 + }) + }else{ + Message({ + showClose: true, + message: '错误代码:'+res.code, + type: 'error', + duration: 3000 + }) + } + return Promise.reject(res) } // return Promise.reject(res) diff --git a/src/views/caseManage/caseCommon/SwiperImg.vue b/src/views/caseManage/caseCommon/SwiperImg.vue new file mode 100644 index 0000000..4ff3fd2 --- /dev/null +++ b/src/views/caseManage/caseCommon/SwiperImg.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseFormProcess.vue b/src/views/caseManage/caseCommon/caseFormProcess.vue index ebe3d04..e53ee82 100644 --- a/src/views/caseManage/caseCommon/caseFormProcess.vue +++ b/src/views/caseManage/caseCommon/caseFormProcess.vue @@ -4,119 +4,201 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + - - - - - - + - - - + - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - 回访拨号 - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + +
+ 本地号码 + 外地号码 +
+ 回访拨号 +
+
+ + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
@@ -132,74 +214,132 @@ width="600px" append-to-body custom-class="sound-dialog" - @close="closeSound"> - + @close="closeSound" + > + + diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/src/utils/index.js b/src/utils/index.js index 1095ef0..0a17e69 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -327,3 +327,14 @@ ele.className = ele.className.replace(reg, ' ') } } + +/** + * 获取当前url + */ +export function getCurrentUrl(){ + if(process.env.NODE_ENV === 'development'){ + return location.protocol + "//" + window.location.host + }else{ + return location.protocol + "//" + window.location.host+'/callcenter/#/dashboard' + } +} diff --git a/src/utils/request.js b/src/utils/request.js index 4213578..8e082ac 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,7 +1,9 @@ import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '../store' -import { getToken } from '@/utils/auth' +import { getToken, getTicket } from '@/utils/auth' +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' // 创建axios实例 const service = axios.create({ @@ -15,6 +17,7 @@ if (store.getters.token) { // console.log('request.js gettoken') config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + config.headers['ticket'] = getTicket() // 让每个请求携带自定义token 请根据实际情况自行修改 // console.log(config.headers['token']) } return config @@ -51,17 +54,31 @@ location.reload() // 为了重新实例化vue-router对象 避免bug }) }) - } else if (res.code === 402) { - console.log('402页面跳转') - // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' + } else if (res.code === 402 || res.code === 501) { + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('402 to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + } } else { - Message({ - showClose: true, - message: res.message, - type: 'error', - duration: 3000 - }) + if(res.message){ + Message({ + showClose: true, + message: res.message, + type: 'error', + duration: 3000 + }) + }else{ + Message({ + showClose: true, + message: '错误代码:'+res.code, + type: 'error', + duration: 3000 + }) + } + return Promise.reject(res) } // return Promise.reject(res) diff --git a/src/views/caseManage/caseCommon/SwiperImg.vue b/src/views/caseManage/caseCommon/SwiperImg.vue new file mode 100644 index 0000000..4ff3fd2 --- /dev/null +++ b/src/views/caseManage/caseCommon/SwiperImg.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseFormProcess.vue b/src/views/caseManage/caseCommon/caseFormProcess.vue index ebe3d04..e53ee82 100644 --- a/src/views/caseManage/caseCommon/caseFormProcess.vue +++ b/src/views/caseManage/caseCommon/caseFormProcess.vue @@ -4,119 +4,201 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + - - - - - - + - - - + - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - 回访拨号 - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + +
+ 本地号码 + 外地号码 +
+ 回访拨号 +
+
+ + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
@@ -132,74 +214,132 @@ width="600px" append-to-body custom-class="sound-dialog" - @close="closeSound"> - + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/src/utils/index.js b/src/utils/index.js index 1095ef0..0a17e69 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -327,3 +327,14 @@ ele.className = ele.className.replace(reg, ' ') } } + +/** + * 获取当前url + */ +export function getCurrentUrl(){ + if(process.env.NODE_ENV === 'development'){ + return location.protocol + "//" + window.location.host + }else{ + return location.protocol + "//" + window.location.host+'/callcenter/#/dashboard' + } +} diff --git a/src/utils/request.js b/src/utils/request.js index 4213578..8e082ac 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,7 +1,9 @@ import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '../store' -import { getToken } from '@/utils/auth' +import { getToken, getTicket } from '@/utils/auth' +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' // 创建axios实例 const service = axios.create({ @@ -15,6 +17,7 @@ if (store.getters.token) { // console.log('request.js gettoken') config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + config.headers['ticket'] = getTicket() // 让每个请求携带自定义token 请根据实际情况自行修改 // console.log(config.headers['token']) } return config @@ -51,17 +54,31 @@ location.reload() // 为了重新实例化vue-router对象 避免bug }) }) - } else if (res.code === 402) { - console.log('402页面跳转') - // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' + } else if (res.code === 402 || res.code === 501) { + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('402 to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + } } else { - Message({ - showClose: true, - message: res.message, - type: 'error', - duration: 3000 - }) + if(res.message){ + Message({ + showClose: true, + message: res.message, + type: 'error', + duration: 3000 + }) + }else{ + Message({ + showClose: true, + message: '错误代码:'+res.code, + type: 'error', + duration: 3000 + }) + } + return Promise.reject(res) } // return Promise.reject(res) diff --git a/src/views/caseManage/caseCommon/SwiperImg.vue b/src/views/caseManage/caseCommon/SwiperImg.vue new file mode 100644 index 0000000..4ff3fd2 --- /dev/null +++ b/src/views/caseManage/caseCommon/SwiperImg.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseFormProcess.vue b/src/views/caseManage/caseCommon/caseFormProcess.vue index ebe3d04..e53ee82 100644 --- a/src/views/caseManage/caseCommon/caseFormProcess.vue +++ b/src/views/caseManage/caseCommon/caseFormProcess.vue @@ -4,119 +4,201 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + - - - - - - + - - - + - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - 回访拨号 - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + +
+ 本地号码 + 外地号码 +
+ 回访拨号 +
+
+ + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
@@ -132,74 +214,132 @@ width="600px" append-to-body custom-class="sound-dialog" - @close="closeSound"> - + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/src/utils/index.js b/src/utils/index.js index 1095ef0..0a17e69 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -327,3 +327,14 @@ ele.className = ele.className.replace(reg, ' ') } } + +/** + * 获取当前url + */ +export function getCurrentUrl(){ + if(process.env.NODE_ENV === 'development'){ + return location.protocol + "//" + window.location.host + }else{ + return location.protocol + "//" + window.location.host+'/callcenter/#/dashboard' + } +} diff --git a/src/utils/request.js b/src/utils/request.js index 4213578..8e082ac 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,7 +1,9 @@ import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '../store' -import { getToken } from '@/utils/auth' +import { getToken, getTicket } from '@/utils/auth' +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' // 创建axios实例 const service = axios.create({ @@ -15,6 +17,7 @@ if (store.getters.token) { // console.log('request.js gettoken') config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + config.headers['ticket'] = getTicket() // 让每个请求携带自定义token 请根据实际情况自行修改 // console.log(config.headers['token']) } return config @@ -51,17 +54,31 @@ location.reload() // 为了重新实例化vue-router对象 避免bug }) }) - } else if (res.code === 402) { - console.log('402页面跳转') - // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' + } else if (res.code === 402 || res.code === 501) { + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('402 to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + } } else { - Message({ - showClose: true, - message: res.message, - type: 'error', - duration: 3000 - }) + if(res.message){ + Message({ + showClose: true, + message: res.message, + type: 'error', + duration: 3000 + }) + }else{ + Message({ + showClose: true, + message: '错误代码:'+res.code, + type: 'error', + duration: 3000 + }) + } + return Promise.reject(res) } // return Promise.reject(res) diff --git a/src/views/caseManage/caseCommon/SwiperImg.vue b/src/views/caseManage/caseCommon/SwiperImg.vue new file mode 100644 index 0000000..4ff3fd2 --- /dev/null +++ b/src/views/caseManage/caseCommon/SwiperImg.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseFormProcess.vue b/src/views/caseManage/caseCommon/caseFormProcess.vue index ebe3d04..e53ee82 100644 --- a/src/views/caseManage/caseCommon/caseFormProcess.vue +++ b/src/views/caseManage/caseCommon/caseFormProcess.vue @@ -4,119 +4,201 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + - - - - - - + - - - + - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - 回访拨号 - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + +
+ 本地号码 + 外地号码 +
+ 回访拨号 +
+
+ + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
@@ -132,74 +214,132 @@ width="600px" append-to-body custom-class="sound-dialog" - @close="closeSound"> - + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseListTable.vue b/src/views/caseManage/caseCommon/caseListTable.vue index 64cc490..2e3b715 100644 --- a/src/views/caseManage/caseCommon/caseListTable.vue +++ b/src/views/caseManage/caseCommon/caseListTable.vue @@ -1,9 +1,11 @@ + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseListTable.vue b/src/views/caseManage/caseCommon/caseListTable.vue index 64cc490..2e3b715 100644 --- a/src/views/caseManage/caseCommon/caseListTable.vue +++ b/src/views/caseManage/caseCommon/caseListTable.vue @@ -1,9 +1,11 @@ + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseListTable.vue b/src/views/caseManage/caseCommon/caseListTable.vue index 64cc490..2e3b715 100644 --- a/src/views/caseManage/caseCommon/caseListTable.vue +++ b/src/views/caseManage/caseCommon/caseListTable.vue @@ -1,9 +1,11 @@ + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseListTable.vue b/src/views/caseManage/caseCommon/caseListTable.vue index 64cc490..2e3b715 100644 --- a/src/views/caseManage/caseCommon/caseListTable.vue +++ b/src/views/caseManage/caseCommon/caseListTable.vue @@ -1,9 +1,11 @@ + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseListTable.vue b/src/views/caseManage/caseCommon/caseListTable.vue index 64cc490..2e3b715 100644 --- a/src/views/caseManage/caseCommon/caseListTable.vue +++ b/src/views/caseManage/caseCommon/caseListTable.vue @@ -1,9 +1,11 @@ + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseListTable.vue b/src/views/caseManage/caseCommon/caseListTable.vue index 64cc490..2e3b715 100644 --- a/src/views/caseManage/caseCommon/caseListTable.vue +++ b/src/views/caseManage/caseCommon/caseListTable.vue @@ -1,9 +1,11 @@ + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseListTable.vue b/src/views/caseManage/caseCommon/caseListTable.vue index 64cc490..2e3b715 100644 --- a/src/views/caseManage/caseCommon/caseListTable.vue +++ b/src/views/caseManage/caseCommon/caseListTable.vue @@ -1,9 +1,11 @@ diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/src/utils/index.js b/src/utils/index.js index 1095ef0..0a17e69 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -327,3 +327,14 @@ ele.className = ele.className.replace(reg, ' ') } } + +/** + * 获取当前url + */ +export function getCurrentUrl(){ + if(process.env.NODE_ENV === 'development'){ + return location.protocol + "//" + window.location.host + }else{ + return location.protocol + "//" + window.location.host+'/callcenter/#/dashboard' + } +} diff --git a/src/utils/request.js b/src/utils/request.js index 4213578..8e082ac 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,7 +1,9 @@ import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '../store' -import { getToken } from '@/utils/auth' +import { getToken, getTicket } from '@/utils/auth' +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' // 创建axios实例 const service = axios.create({ @@ -15,6 +17,7 @@ if (store.getters.token) { // console.log('request.js gettoken') config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + config.headers['ticket'] = getTicket() // 让每个请求携带自定义token 请根据实际情况自行修改 // console.log(config.headers['token']) } return config @@ -51,17 +54,31 @@ location.reload() // 为了重新实例化vue-router对象 避免bug }) }) - } else if (res.code === 402) { - console.log('402页面跳转') - // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' + } else if (res.code === 402 || res.code === 501) { + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('402 to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + } } else { - Message({ - showClose: true, - message: res.message, - type: 'error', - duration: 3000 - }) + if(res.message){ + Message({ + showClose: true, + message: res.message, + type: 'error', + duration: 3000 + }) + }else{ + Message({ + showClose: true, + message: '错误代码:'+res.code, + type: 'error', + duration: 3000 + }) + } + return Promise.reject(res) } // return Promise.reject(res) diff --git a/src/views/caseManage/caseCommon/SwiperImg.vue b/src/views/caseManage/caseCommon/SwiperImg.vue new file mode 100644 index 0000000..4ff3fd2 --- /dev/null +++ b/src/views/caseManage/caseCommon/SwiperImg.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseFormProcess.vue b/src/views/caseManage/caseCommon/caseFormProcess.vue index ebe3d04..e53ee82 100644 --- a/src/views/caseManage/caseCommon/caseFormProcess.vue +++ b/src/views/caseManage/caseCommon/caseFormProcess.vue @@ -4,119 +4,201 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + - - - - - - + - - - + - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - 回访拨号 - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + +
+ 本地号码 + 外地号码 +
+ 回访拨号 +
+
+ + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
@@ -132,74 +214,132 @@ width="600px" append-to-body custom-class="sound-dialog" - @close="closeSound"> - + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseListTable.vue b/src/views/caseManage/caseCommon/caseListTable.vue index 64cc490..2e3b715 100644 --- a/src/views/caseManage/caseCommon/caseListTable.vue +++ b/src/views/caseManage/caseCommon/caseListTable.vue @@ -1,9 +1,11 @@ diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/src/utils/index.js b/src/utils/index.js index 1095ef0..0a17e69 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -327,3 +327,14 @@ ele.className = ele.className.replace(reg, ' ') } } + +/** + * 获取当前url + */ +export function getCurrentUrl(){ + if(process.env.NODE_ENV === 'development'){ + return location.protocol + "//" + window.location.host + }else{ + return location.protocol + "//" + window.location.host+'/callcenter/#/dashboard' + } +} diff --git a/src/utils/request.js b/src/utils/request.js index 4213578..8e082ac 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,7 +1,9 @@ import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '../store' -import { getToken } from '@/utils/auth' +import { getToken, getTicket } from '@/utils/auth' +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' // 创建axios实例 const service = axios.create({ @@ -15,6 +17,7 @@ if (store.getters.token) { // console.log('request.js gettoken') config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + config.headers['ticket'] = getTicket() // 让每个请求携带自定义token 请根据实际情况自行修改 // console.log(config.headers['token']) } return config @@ -51,17 +54,31 @@ location.reload() // 为了重新实例化vue-router对象 避免bug }) }) - } else if (res.code === 402) { - console.log('402页面跳转') - // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' + } else if (res.code === 402 || res.code === 501) { + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('402 to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + } } else { - Message({ - showClose: true, - message: res.message, - type: 'error', - duration: 3000 - }) + if(res.message){ + Message({ + showClose: true, + message: res.message, + type: 'error', + duration: 3000 + }) + }else{ + Message({ + showClose: true, + message: '错误代码:'+res.code, + type: 'error', + duration: 3000 + }) + } + return Promise.reject(res) } // return Promise.reject(res) diff --git a/src/views/caseManage/caseCommon/SwiperImg.vue b/src/views/caseManage/caseCommon/SwiperImg.vue new file mode 100644 index 0000000..4ff3fd2 --- /dev/null +++ b/src/views/caseManage/caseCommon/SwiperImg.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseFormProcess.vue b/src/views/caseManage/caseCommon/caseFormProcess.vue index ebe3d04..e53ee82 100644 --- a/src/views/caseManage/caseCommon/caseFormProcess.vue +++ b/src/views/caseManage/caseCommon/caseFormProcess.vue @@ -4,119 +4,201 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + - - - - - - + - - - + - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - 回访拨号 - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + +
+ 本地号码 + 外地号码 +
+ 回访拨号 +
+
+ + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
@@ -132,74 +214,132 @@ width="600px" append-to-body custom-class="sound-dialog" - @close="closeSound"> - + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseListTable.vue b/src/views/caseManage/caseCommon/caseListTable.vue index 64cc490..2e3b715 100644 --- a/src/views/caseManage/caseCommon/caseListTable.vue +++ b/src/views/caseManage/caseCommon/caseListTable.vue @@ -1,9 +1,11 @@ diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/src/utils/index.js b/src/utils/index.js index 1095ef0..0a17e69 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -327,3 +327,14 @@ ele.className = ele.className.replace(reg, ' ') } } + +/** + * 获取当前url + */ +export function getCurrentUrl(){ + if(process.env.NODE_ENV === 'development'){ + return location.protocol + "//" + window.location.host + }else{ + return location.protocol + "//" + window.location.host+'/callcenter/#/dashboard' + } +} diff --git a/src/utils/request.js b/src/utils/request.js index 4213578..8e082ac 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,7 +1,9 @@ import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '../store' -import { getToken } from '@/utils/auth' +import { getToken, getTicket } from '@/utils/auth' +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' // 创建axios实例 const service = axios.create({ @@ -15,6 +17,7 @@ if (store.getters.token) { // console.log('request.js gettoken') config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + config.headers['ticket'] = getTicket() // 让每个请求携带自定义token 请根据实际情况自行修改 // console.log(config.headers['token']) } return config @@ -51,17 +54,31 @@ location.reload() // 为了重新实例化vue-router对象 避免bug }) }) - } else if (res.code === 402) { - console.log('402页面跳转') - // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' + } else if (res.code === 402 || res.code === 501) { + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('402 to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + } } else { - Message({ - showClose: true, - message: res.message, - type: 'error', - duration: 3000 - }) + if(res.message){ + Message({ + showClose: true, + message: res.message, + type: 'error', + duration: 3000 + }) + }else{ + Message({ + showClose: true, + message: '错误代码:'+res.code, + type: 'error', + duration: 3000 + }) + } + return Promise.reject(res) } // return Promise.reject(res) diff --git a/src/views/caseManage/caseCommon/SwiperImg.vue b/src/views/caseManage/caseCommon/SwiperImg.vue new file mode 100644 index 0000000..4ff3fd2 --- /dev/null +++ b/src/views/caseManage/caseCommon/SwiperImg.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseFormProcess.vue b/src/views/caseManage/caseCommon/caseFormProcess.vue index ebe3d04..e53ee82 100644 --- a/src/views/caseManage/caseCommon/caseFormProcess.vue +++ b/src/views/caseManage/caseCommon/caseFormProcess.vue @@ -4,119 +4,201 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + - - - - - - + - - - + - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - 回访拨号 - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + +
+ 本地号码 + 外地号码 +
+ 回访拨号 +
+
+ + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
@@ -132,74 +214,132 @@ width="600px" append-to-body custom-class="sound-dialog" - @close="closeSound"> - + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseListTable.vue b/src/views/caseManage/caseCommon/caseListTable.vue index 64cc490..2e3b715 100644 --- a/src/views/caseManage/caseCommon/caseListTable.vue +++ b/src/views/caseManage/caseCommon/caseListTable.vue @@ -1,9 +1,11 @@ diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/src/utils/index.js b/src/utils/index.js index 1095ef0..0a17e69 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -327,3 +327,14 @@ ele.className = ele.className.replace(reg, ' ') } } + +/** + * 获取当前url + */ +export function getCurrentUrl(){ + if(process.env.NODE_ENV === 'development'){ + return location.protocol + "//" + window.location.host + }else{ + return location.protocol + "//" + window.location.host+'/callcenter/#/dashboard' + } +} diff --git a/src/utils/request.js b/src/utils/request.js index 4213578..8e082ac 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,7 +1,9 @@ import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '../store' -import { getToken } from '@/utils/auth' +import { getToken, getTicket } from '@/utils/auth' +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' // 创建axios实例 const service = axios.create({ @@ -15,6 +17,7 @@ if (store.getters.token) { // console.log('request.js gettoken') config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + config.headers['ticket'] = getTicket() // 让每个请求携带自定义token 请根据实际情况自行修改 // console.log(config.headers['token']) } return config @@ -51,17 +54,31 @@ location.reload() // 为了重新实例化vue-router对象 避免bug }) }) - } else if (res.code === 402) { - console.log('402页面跳转') - // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' + } else if (res.code === 402 || res.code === 501) { + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('402 to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + } } else { - Message({ - showClose: true, - message: res.message, - type: 'error', - duration: 3000 - }) + if(res.message){ + Message({ + showClose: true, + message: res.message, + type: 'error', + duration: 3000 + }) + }else{ + Message({ + showClose: true, + message: '错误代码:'+res.code, + type: 'error', + duration: 3000 + }) + } + return Promise.reject(res) } // return Promise.reject(res) diff --git a/src/views/caseManage/caseCommon/SwiperImg.vue b/src/views/caseManage/caseCommon/SwiperImg.vue new file mode 100644 index 0000000..4ff3fd2 --- /dev/null +++ b/src/views/caseManage/caseCommon/SwiperImg.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseFormProcess.vue b/src/views/caseManage/caseCommon/caseFormProcess.vue index ebe3d04..e53ee82 100644 --- a/src/views/caseManage/caseCommon/caseFormProcess.vue +++ b/src/views/caseManage/caseCommon/caseFormProcess.vue @@ -4,119 +4,201 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + - - - - - - + - - - + - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - 回访拨号 - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + +
+ 本地号码 + 外地号码 +
+ 回访拨号 +
+
+ + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
@@ -132,74 +214,132 @@ width="600px" append-to-body custom-class="sound-dialog" - @close="closeSound"> - + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseListTable.vue b/src/views/caseManage/caseCommon/caseListTable.vue index 64cc490..2e3b715 100644 --- a/src/views/caseManage/caseCommon/caseListTable.vue +++ b/src/views/caseManage/caseCommon/caseListTable.vue @@ -1,9 +1,11 @@ diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/src/utils/index.js b/src/utils/index.js index 1095ef0..0a17e69 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -327,3 +327,14 @@ ele.className = ele.className.replace(reg, ' ') } } + +/** + * 获取当前url + */ +export function getCurrentUrl(){ + if(process.env.NODE_ENV === 'development'){ + return location.protocol + "//" + window.location.host + }else{ + return location.protocol + "//" + window.location.host+'/callcenter/#/dashboard' + } +} diff --git a/src/utils/request.js b/src/utils/request.js index 4213578..8e082ac 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,7 +1,9 @@ import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '../store' -import { getToken } from '@/utils/auth' +import { getToken, getTicket } from '@/utils/auth' +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' // 创建axios实例 const service = axios.create({ @@ -15,6 +17,7 @@ if (store.getters.token) { // console.log('request.js gettoken') config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + config.headers['ticket'] = getTicket() // 让每个请求携带自定义token 请根据实际情况自行修改 // console.log(config.headers['token']) } return config @@ -51,17 +54,31 @@ location.reload() // 为了重新实例化vue-router对象 避免bug }) }) - } else if (res.code === 402) { - console.log('402页面跳转') - // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' + } else if (res.code === 402 || res.code === 501) { + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('402 to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + } } else { - Message({ - showClose: true, - message: res.message, - type: 'error', - duration: 3000 - }) + if(res.message){ + Message({ + showClose: true, + message: res.message, + type: 'error', + duration: 3000 + }) + }else{ + Message({ + showClose: true, + message: '错误代码:'+res.code, + type: 'error', + duration: 3000 + }) + } + return Promise.reject(res) } // return Promise.reject(res) diff --git a/src/views/caseManage/caseCommon/SwiperImg.vue b/src/views/caseManage/caseCommon/SwiperImg.vue new file mode 100644 index 0000000..4ff3fd2 --- /dev/null +++ b/src/views/caseManage/caseCommon/SwiperImg.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseFormProcess.vue b/src/views/caseManage/caseCommon/caseFormProcess.vue index ebe3d04..e53ee82 100644 --- a/src/views/caseManage/caseCommon/caseFormProcess.vue +++ b/src/views/caseManage/caseCommon/caseFormProcess.vue @@ -4,119 +4,201 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + - - - - - - + - - - + - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - 回访拨号 - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + +
+ 本地号码 + 外地号码 +
+ 回访拨号 +
+
+ + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
@@ -132,74 +214,132 @@ width="600px" append-to-body custom-class="sound-dialog" - @close="closeSound"> - + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseListTable.vue b/src/views/caseManage/caseCommon/caseListTable.vue index 64cc490..2e3b715 100644 --- a/src/views/caseManage/caseCommon/caseListTable.vue +++ b/src/views/caseManage/caseCommon/caseListTable.vue @@ -1,9 +1,11 @@ diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/src/utils/index.js b/src/utils/index.js index 1095ef0..0a17e69 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -327,3 +327,14 @@ ele.className = ele.className.replace(reg, ' ') } } + +/** + * 获取当前url + */ +export function getCurrentUrl(){ + if(process.env.NODE_ENV === 'development'){ + return location.protocol + "//" + window.location.host + }else{ + return location.protocol + "//" + window.location.host+'/callcenter/#/dashboard' + } +} diff --git a/src/utils/request.js b/src/utils/request.js index 4213578..8e082ac 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,7 +1,9 @@ import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '../store' -import { getToken } from '@/utils/auth' +import { getToken, getTicket } from '@/utils/auth' +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' // 创建axios实例 const service = axios.create({ @@ -15,6 +17,7 @@ if (store.getters.token) { // console.log('request.js gettoken') config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + config.headers['ticket'] = getTicket() // 让每个请求携带自定义token 请根据实际情况自行修改 // console.log(config.headers['token']) } return config @@ -51,17 +54,31 @@ location.reload() // 为了重新实例化vue-router对象 避免bug }) }) - } else if (res.code === 402) { - console.log('402页面跳转') - // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' + } else if (res.code === 402 || res.code === 501) { + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('402 to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + } } else { - Message({ - showClose: true, - message: res.message, - type: 'error', - duration: 3000 - }) + if(res.message){ + Message({ + showClose: true, + message: res.message, + type: 'error', + duration: 3000 + }) + }else{ + Message({ + showClose: true, + message: '错误代码:'+res.code, + type: 'error', + duration: 3000 + }) + } + return Promise.reject(res) } // return Promise.reject(res) diff --git a/src/views/caseManage/caseCommon/SwiperImg.vue b/src/views/caseManage/caseCommon/SwiperImg.vue new file mode 100644 index 0000000..4ff3fd2 --- /dev/null +++ b/src/views/caseManage/caseCommon/SwiperImg.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseFormProcess.vue b/src/views/caseManage/caseCommon/caseFormProcess.vue index ebe3d04..e53ee82 100644 --- a/src/views/caseManage/caseCommon/caseFormProcess.vue +++ b/src/views/caseManage/caseCommon/caseFormProcess.vue @@ -4,119 +4,201 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + - - - - - - + - - - + - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - 回访拨号 - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + +
+ 本地号码 + 外地号码 +
+ 回访拨号 +
+
+ + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
@@ -132,74 +214,132 @@ width="600px" append-to-body custom-class="sound-dialog" - @close="closeSound"> - + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseListTable.vue b/src/views/caseManage/caseCommon/caseListTable.vue index 64cc490..2e3b715 100644 --- a/src/views/caseManage/caseCommon/caseListTable.vue +++ b/src/views/caseManage/caseCommon/caseListTable.vue @@ -1,9 +1,11 @@ diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/src/utils/index.js b/src/utils/index.js index 1095ef0..0a17e69 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -327,3 +327,14 @@ ele.className = ele.className.replace(reg, ' ') } } + +/** + * 获取当前url + */ +export function getCurrentUrl(){ + if(process.env.NODE_ENV === 'development'){ + return location.protocol + "//" + window.location.host + }else{ + return location.protocol + "//" + window.location.host+'/callcenter/#/dashboard' + } +} diff --git a/src/utils/request.js b/src/utils/request.js index 4213578..8e082ac 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,7 +1,9 @@ import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '../store' -import { getToken } from '@/utils/auth' +import { getToken, getTicket } from '@/utils/auth' +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' // 创建axios实例 const service = axios.create({ @@ -15,6 +17,7 @@ if (store.getters.token) { // console.log('request.js gettoken') config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + config.headers['ticket'] = getTicket() // 让每个请求携带自定义token 请根据实际情况自行修改 // console.log(config.headers['token']) } return config @@ -51,17 +54,31 @@ location.reload() // 为了重新实例化vue-router对象 避免bug }) }) - } else if (res.code === 402) { - console.log('402页面跳转') - // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' + } else if (res.code === 402 || res.code === 501) { + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('402 to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + } } else { - Message({ - showClose: true, - message: res.message, - type: 'error', - duration: 3000 - }) + if(res.message){ + Message({ + showClose: true, + message: res.message, + type: 'error', + duration: 3000 + }) + }else{ + Message({ + showClose: true, + message: '错误代码:'+res.code, + type: 'error', + duration: 3000 + }) + } + return Promise.reject(res) } // return Promise.reject(res) diff --git a/src/views/caseManage/caseCommon/SwiperImg.vue b/src/views/caseManage/caseCommon/SwiperImg.vue new file mode 100644 index 0000000..4ff3fd2 --- /dev/null +++ b/src/views/caseManage/caseCommon/SwiperImg.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseFormProcess.vue b/src/views/caseManage/caseCommon/caseFormProcess.vue index ebe3d04..e53ee82 100644 --- a/src/views/caseManage/caseCommon/caseFormProcess.vue +++ b/src/views/caseManage/caseCommon/caseFormProcess.vue @@ -4,119 +4,201 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + - - - - - - + - - - + - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - 回访拨号 - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + +
+ 本地号码 + 外地号码 +
+ 回访拨号 +
+
+ + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
@@ -132,74 +214,132 @@ width="600px" append-to-body custom-class="sound-dialog" - @close="closeSound"> - + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseListTable.vue b/src/views/caseManage/caseCommon/caseListTable.vue index 64cc490..2e3b715 100644 --- a/src/views/caseManage/caseCommon/caseListTable.vue +++ b/src/views/caseManage/caseCommon/caseListTable.vue @@ -1,9 +1,11 @@ diff --git a/src/views/caseManage/delayApplyList.vue b/src/views/caseManage/delayApplyList.vue index 1eb2cf0..3a4db80 100644 --- a/src/views/caseManage/delayApplyList.vue +++ b/src/views/caseManage/delayApplyList.vue @@ -185,6 +185,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/src/utils/index.js b/src/utils/index.js index 1095ef0..0a17e69 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -327,3 +327,14 @@ ele.className = ele.className.replace(reg, ' ') } } + +/** + * 获取当前url + */ +export function getCurrentUrl(){ + if(process.env.NODE_ENV === 'development'){ + return location.protocol + "//" + window.location.host + }else{ + return location.protocol + "//" + window.location.host+'/callcenter/#/dashboard' + } +} diff --git a/src/utils/request.js b/src/utils/request.js index 4213578..8e082ac 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,7 +1,9 @@ import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '../store' -import { getToken } from '@/utils/auth' +import { getToken, getTicket } from '@/utils/auth' +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' // 创建axios实例 const service = axios.create({ @@ -15,6 +17,7 @@ if (store.getters.token) { // console.log('request.js gettoken') config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + config.headers['ticket'] = getTicket() // 让每个请求携带自定义token 请根据实际情况自行修改 // console.log(config.headers['token']) } return config @@ -51,17 +54,31 @@ location.reload() // 为了重新实例化vue-router对象 避免bug }) }) - } else if (res.code === 402) { - console.log('402页面跳转') - // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' + } else if (res.code === 402 || res.code === 501) { + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('402 to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + } } else { - Message({ - showClose: true, - message: res.message, - type: 'error', - duration: 3000 - }) + if(res.message){ + Message({ + showClose: true, + message: res.message, + type: 'error', + duration: 3000 + }) + }else{ + Message({ + showClose: true, + message: '错误代码:'+res.code, + type: 'error', + duration: 3000 + }) + } + return Promise.reject(res) } // return Promise.reject(res) diff --git a/src/views/caseManage/caseCommon/SwiperImg.vue b/src/views/caseManage/caseCommon/SwiperImg.vue new file mode 100644 index 0000000..4ff3fd2 --- /dev/null +++ b/src/views/caseManage/caseCommon/SwiperImg.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseFormProcess.vue b/src/views/caseManage/caseCommon/caseFormProcess.vue index ebe3d04..e53ee82 100644 --- a/src/views/caseManage/caseCommon/caseFormProcess.vue +++ b/src/views/caseManage/caseCommon/caseFormProcess.vue @@ -4,119 +4,201 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + - - - - - - + - - - + - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - 回访拨号 - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + +
+ 本地号码 + 外地号码 +
+ 回访拨号 +
+
+ + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
@@ -132,74 +214,132 @@ width="600px" append-to-body custom-class="sound-dialog" - @close="closeSound"> - + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseListTable.vue b/src/views/caseManage/caseCommon/caseListTable.vue index 64cc490..2e3b715 100644 --- a/src/views/caseManage/caseCommon/caseListTable.vue +++ b/src/views/caseManage/caseCommon/caseListTable.vue @@ -1,9 +1,11 @@ diff --git a/src/views/caseManage/delayApplyList.vue b/src/views/caseManage/delayApplyList.vue index 1eb2cf0..3a4db80 100644 --- a/src/views/caseManage/delayApplyList.vue +++ b/src/views/caseManage/delayApplyList.vue @@ -185,6 +185,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/delayList.vue b/src/views/caseManage/delayList.vue index e6af389..e9115aa 100644 --- a/src/views/caseManage/delayList.vue +++ b/src/views/caseManage/delayList.vue @@ -170,6 +170,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/src/utils/index.js b/src/utils/index.js index 1095ef0..0a17e69 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -327,3 +327,14 @@ ele.className = ele.className.replace(reg, ' ') } } + +/** + * 获取当前url + */ +export function getCurrentUrl(){ + if(process.env.NODE_ENV === 'development'){ + return location.protocol + "//" + window.location.host + }else{ + return location.protocol + "//" + window.location.host+'/callcenter/#/dashboard' + } +} diff --git a/src/utils/request.js b/src/utils/request.js index 4213578..8e082ac 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,7 +1,9 @@ import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '../store' -import { getToken } from '@/utils/auth' +import { getToken, getTicket } from '@/utils/auth' +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' // 创建axios实例 const service = axios.create({ @@ -15,6 +17,7 @@ if (store.getters.token) { // console.log('request.js gettoken') config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + config.headers['ticket'] = getTicket() // 让每个请求携带自定义token 请根据实际情况自行修改 // console.log(config.headers['token']) } return config @@ -51,17 +54,31 @@ location.reload() // 为了重新实例化vue-router对象 避免bug }) }) - } else if (res.code === 402) { - console.log('402页面跳转') - // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' + } else if (res.code === 402 || res.code === 501) { + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('402 to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + } } else { - Message({ - showClose: true, - message: res.message, - type: 'error', - duration: 3000 - }) + if(res.message){ + Message({ + showClose: true, + message: res.message, + type: 'error', + duration: 3000 + }) + }else{ + Message({ + showClose: true, + message: '错误代码:'+res.code, + type: 'error', + duration: 3000 + }) + } + return Promise.reject(res) } // return Promise.reject(res) diff --git a/src/views/caseManage/caseCommon/SwiperImg.vue b/src/views/caseManage/caseCommon/SwiperImg.vue new file mode 100644 index 0000000..4ff3fd2 --- /dev/null +++ b/src/views/caseManage/caseCommon/SwiperImg.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseFormProcess.vue b/src/views/caseManage/caseCommon/caseFormProcess.vue index ebe3d04..e53ee82 100644 --- a/src/views/caseManage/caseCommon/caseFormProcess.vue +++ b/src/views/caseManage/caseCommon/caseFormProcess.vue @@ -4,119 +4,201 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + - - - - - - + - - - + - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - 回访拨号 - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + +
+ 本地号码 + 外地号码 +
+ 回访拨号 +
+
+ + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
@@ -132,74 +214,132 @@ width="600px" append-to-body custom-class="sound-dialog" - @close="closeSound"> - + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseListTable.vue b/src/views/caseManage/caseCommon/caseListTable.vue index 64cc490..2e3b715 100644 --- a/src/views/caseManage/caseCommon/caseListTable.vue +++ b/src/views/caseManage/caseCommon/caseListTable.vue @@ -1,9 +1,11 @@ diff --git a/src/views/caseManage/delayApplyList.vue b/src/views/caseManage/delayApplyList.vue index 1eb2cf0..3a4db80 100644 --- a/src/views/caseManage/delayApplyList.vue +++ b/src/views/caseManage/delayApplyList.vue @@ -185,6 +185,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/delayList.vue b/src/views/caseManage/delayList.vue index e6af389..e9115aa 100644 --- a/src/views/caseManage/delayList.vue +++ b/src/views/caseManage/delayList.vue @@ -170,6 +170,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/reviewList.vue b/src/views/caseManage/reviewList.vue index 2a6460e..9a5c31e 100644 --- a/src/views/caseManage/reviewList.vue +++ b/src/views/caseManage/reviewList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/src/utils/index.js b/src/utils/index.js index 1095ef0..0a17e69 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -327,3 +327,14 @@ ele.className = ele.className.replace(reg, ' ') } } + +/** + * 获取当前url + */ +export function getCurrentUrl(){ + if(process.env.NODE_ENV === 'development'){ + return location.protocol + "//" + window.location.host + }else{ + return location.protocol + "//" + window.location.host+'/callcenter/#/dashboard' + } +} diff --git a/src/utils/request.js b/src/utils/request.js index 4213578..8e082ac 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,7 +1,9 @@ import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '../store' -import { getToken } from '@/utils/auth' +import { getToken, getTicket } from '@/utils/auth' +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' // 创建axios实例 const service = axios.create({ @@ -15,6 +17,7 @@ if (store.getters.token) { // console.log('request.js gettoken') config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + config.headers['ticket'] = getTicket() // 让每个请求携带自定义token 请根据实际情况自行修改 // console.log(config.headers['token']) } return config @@ -51,17 +54,31 @@ location.reload() // 为了重新实例化vue-router对象 避免bug }) }) - } else if (res.code === 402) { - console.log('402页面跳转') - // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' + } else if (res.code === 402 || res.code === 501) { + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('402 to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + } } else { - Message({ - showClose: true, - message: res.message, - type: 'error', - duration: 3000 - }) + if(res.message){ + Message({ + showClose: true, + message: res.message, + type: 'error', + duration: 3000 + }) + }else{ + Message({ + showClose: true, + message: '错误代码:'+res.code, + type: 'error', + duration: 3000 + }) + } + return Promise.reject(res) } // return Promise.reject(res) diff --git a/src/views/caseManage/caseCommon/SwiperImg.vue b/src/views/caseManage/caseCommon/SwiperImg.vue new file mode 100644 index 0000000..4ff3fd2 --- /dev/null +++ b/src/views/caseManage/caseCommon/SwiperImg.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseFormProcess.vue b/src/views/caseManage/caseCommon/caseFormProcess.vue index ebe3d04..e53ee82 100644 --- a/src/views/caseManage/caseCommon/caseFormProcess.vue +++ b/src/views/caseManage/caseCommon/caseFormProcess.vue @@ -4,119 +4,201 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + - - - - - - + - - - + - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - 回访拨号 - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + +
+ 本地号码 + 外地号码 +
+ 回访拨号 +
+
+ + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
@@ -132,74 +214,132 @@ width="600px" append-to-body custom-class="sound-dialog" - @close="closeSound"> - + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseListTable.vue b/src/views/caseManage/caseCommon/caseListTable.vue index 64cc490..2e3b715 100644 --- a/src/views/caseManage/caseCommon/caseListTable.vue +++ b/src/views/caseManage/caseCommon/caseListTable.vue @@ -1,9 +1,11 @@ diff --git a/src/views/caseManage/delayApplyList.vue b/src/views/caseManage/delayApplyList.vue index 1eb2cf0..3a4db80 100644 --- a/src/views/caseManage/delayApplyList.vue +++ b/src/views/caseManage/delayApplyList.vue @@ -185,6 +185,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/delayList.vue b/src/views/caseManage/delayList.vue index e6af389..e9115aa 100644 --- a/src/views/caseManage/delayList.vue +++ b/src/views/caseManage/delayList.vue @@ -170,6 +170,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/reviewList.vue b/src/views/caseManage/reviewList.vue index 2a6460e..9a5c31e 100644 --- a/src/views/caseManage/reviewList.vue +++ b/src/views/caseManage/reviewList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/revisitList.vue b/src/views/caseManage/revisitList.vue index 0ccd5ce..8fa2159 100644 --- a/src/views/caseManage/revisitList.vue +++ b/src/views/caseManage/revisitList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/src/utils/index.js b/src/utils/index.js index 1095ef0..0a17e69 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -327,3 +327,14 @@ ele.className = ele.className.replace(reg, ' ') } } + +/** + * 获取当前url + */ +export function getCurrentUrl(){ + if(process.env.NODE_ENV === 'development'){ + return location.protocol + "//" + window.location.host + }else{ + return location.protocol + "//" + window.location.host+'/callcenter/#/dashboard' + } +} diff --git a/src/utils/request.js b/src/utils/request.js index 4213578..8e082ac 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,7 +1,9 @@ import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '../store' -import { getToken } from '@/utils/auth' +import { getToken, getTicket } from '@/utils/auth' +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' // 创建axios实例 const service = axios.create({ @@ -15,6 +17,7 @@ if (store.getters.token) { // console.log('request.js gettoken') config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + config.headers['ticket'] = getTicket() // 让每个请求携带自定义token 请根据实际情况自行修改 // console.log(config.headers['token']) } return config @@ -51,17 +54,31 @@ location.reload() // 为了重新实例化vue-router对象 避免bug }) }) - } else if (res.code === 402) { - console.log('402页面跳转') - // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' + } else if (res.code === 402 || res.code === 501) { + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('402 to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + } } else { - Message({ - showClose: true, - message: res.message, - type: 'error', - duration: 3000 - }) + if(res.message){ + Message({ + showClose: true, + message: res.message, + type: 'error', + duration: 3000 + }) + }else{ + Message({ + showClose: true, + message: '错误代码:'+res.code, + type: 'error', + duration: 3000 + }) + } + return Promise.reject(res) } // return Promise.reject(res) diff --git a/src/views/caseManage/caseCommon/SwiperImg.vue b/src/views/caseManage/caseCommon/SwiperImg.vue new file mode 100644 index 0000000..4ff3fd2 --- /dev/null +++ b/src/views/caseManage/caseCommon/SwiperImg.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseFormProcess.vue b/src/views/caseManage/caseCommon/caseFormProcess.vue index ebe3d04..e53ee82 100644 --- a/src/views/caseManage/caseCommon/caseFormProcess.vue +++ b/src/views/caseManage/caseCommon/caseFormProcess.vue @@ -4,119 +4,201 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + - - - - - - + - - - + - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - 回访拨号 - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + +
+ 本地号码 + 外地号码 +
+ 回访拨号 +
+
+ + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
@@ -132,74 +214,132 @@ width="600px" append-to-body custom-class="sound-dialog" - @close="closeSound"> - + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseListTable.vue b/src/views/caseManage/caseCommon/caseListTable.vue index 64cc490..2e3b715 100644 --- a/src/views/caseManage/caseCommon/caseListTable.vue +++ b/src/views/caseManage/caseCommon/caseListTable.vue @@ -1,9 +1,11 @@ diff --git a/src/views/caseManage/delayApplyList.vue b/src/views/caseManage/delayApplyList.vue index 1eb2cf0..3a4db80 100644 --- a/src/views/caseManage/delayApplyList.vue +++ b/src/views/caseManage/delayApplyList.vue @@ -185,6 +185,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/delayList.vue b/src/views/caseManage/delayList.vue index e6af389..e9115aa 100644 --- a/src/views/caseManage/delayList.vue +++ b/src/views/caseManage/delayList.vue @@ -170,6 +170,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/reviewList.vue b/src/views/caseManage/reviewList.vue index 2a6460e..9a5c31e 100644 --- a/src/views/caseManage/reviewList.vue +++ b/src/views/caseManage/reviewList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/revisitList.vue b/src/views/caseManage/revisitList.vue index 0ccd5ce..8fa2159 100644 --- a/src/views/caseManage/revisitList.vue +++ b/src/views/caseManage/revisitList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/searchList.vue b/src/views/caseManage/searchList.vue index b5b9a5a..d80fece 100644 --- a/src/views/caseManage/searchList.vue +++ b/src/views/caseManage/searchList.vue @@ -120,6 +120,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/src/utils/index.js b/src/utils/index.js index 1095ef0..0a17e69 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -327,3 +327,14 @@ ele.className = ele.className.replace(reg, ' ') } } + +/** + * 获取当前url + */ +export function getCurrentUrl(){ + if(process.env.NODE_ENV === 'development'){ + return location.protocol + "//" + window.location.host + }else{ + return location.protocol + "//" + window.location.host+'/callcenter/#/dashboard' + } +} diff --git a/src/utils/request.js b/src/utils/request.js index 4213578..8e082ac 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,7 +1,9 @@ import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '../store' -import { getToken } from '@/utils/auth' +import { getToken, getTicket } from '@/utils/auth' +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' // 创建axios实例 const service = axios.create({ @@ -15,6 +17,7 @@ if (store.getters.token) { // console.log('request.js gettoken') config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + config.headers['ticket'] = getTicket() // 让每个请求携带自定义token 请根据实际情况自行修改 // console.log(config.headers['token']) } return config @@ -51,17 +54,31 @@ location.reload() // 为了重新实例化vue-router对象 避免bug }) }) - } else if (res.code === 402) { - console.log('402页面跳转') - // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' + } else if (res.code === 402 || res.code === 501) { + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('402 to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + } } else { - Message({ - showClose: true, - message: res.message, - type: 'error', - duration: 3000 - }) + if(res.message){ + Message({ + showClose: true, + message: res.message, + type: 'error', + duration: 3000 + }) + }else{ + Message({ + showClose: true, + message: '错误代码:'+res.code, + type: 'error', + duration: 3000 + }) + } + return Promise.reject(res) } // return Promise.reject(res) diff --git a/src/views/caseManage/caseCommon/SwiperImg.vue b/src/views/caseManage/caseCommon/SwiperImg.vue new file mode 100644 index 0000000..4ff3fd2 --- /dev/null +++ b/src/views/caseManage/caseCommon/SwiperImg.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseFormProcess.vue b/src/views/caseManage/caseCommon/caseFormProcess.vue index ebe3d04..e53ee82 100644 --- a/src/views/caseManage/caseCommon/caseFormProcess.vue +++ b/src/views/caseManage/caseCommon/caseFormProcess.vue @@ -4,119 +4,201 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + - - - - - - + - - - + - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - 回访拨号 - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + +
+ 本地号码 + 外地号码 +
+ 回访拨号 +
+
+ + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
@@ -132,74 +214,132 @@ width="600px" append-to-body custom-class="sound-dialog" - @close="closeSound"> - + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseListTable.vue b/src/views/caseManage/caseCommon/caseListTable.vue index 64cc490..2e3b715 100644 --- a/src/views/caseManage/caseCommon/caseListTable.vue +++ b/src/views/caseManage/caseCommon/caseListTable.vue @@ -1,9 +1,11 @@ diff --git a/src/views/caseManage/delayApplyList.vue b/src/views/caseManage/delayApplyList.vue index 1eb2cf0..3a4db80 100644 --- a/src/views/caseManage/delayApplyList.vue +++ b/src/views/caseManage/delayApplyList.vue @@ -185,6 +185,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/delayList.vue b/src/views/caseManage/delayList.vue index e6af389..e9115aa 100644 --- a/src/views/caseManage/delayList.vue +++ b/src/views/caseManage/delayList.vue @@ -170,6 +170,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/reviewList.vue b/src/views/caseManage/reviewList.vue index 2a6460e..9a5c31e 100644 --- a/src/views/caseManage/reviewList.vue +++ b/src/views/caseManage/reviewList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/revisitList.vue b/src/views/caseManage/revisitList.vue index 0ccd5ce..8fa2159 100644 --- a/src/views/caseManage/revisitList.vue +++ b/src/views/caseManage/revisitList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/searchList.vue b/src/views/caseManage/searchList.vue index b5b9a5a..d80fece 100644 --- a/src/views/caseManage/searchList.vue +++ b/src/views/caseManage/searchList.vue @@ -120,6 +120,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/urgeList.vue b/src/views/caseManage/urgeList.vue index d131895..b56f832 100644 --- a/src/views/caseManage/urgeList.vue +++ b/src/views/caseManage/urgeList.vue @@ -175,6 +175,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/src/utils/index.js b/src/utils/index.js index 1095ef0..0a17e69 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -327,3 +327,14 @@ ele.className = ele.className.replace(reg, ' ') } } + +/** + * 获取当前url + */ +export function getCurrentUrl(){ + if(process.env.NODE_ENV === 'development'){ + return location.protocol + "//" + window.location.host + }else{ + return location.protocol + "//" + window.location.host+'/callcenter/#/dashboard' + } +} diff --git a/src/utils/request.js b/src/utils/request.js index 4213578..8e082ac 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,7 +1,9 @@ import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '../store' -import { getToken } from '@/utils/auth' +import { getToken, getTicket } from '@/utils/auth' +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' // 创建axios实例 const service = axios.create({ @@ -15,6 +17,7 @@ if (store.getters.token) { // console.log('request.js gettoken') config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + config.headers['ticket'] = getTicket() // 让每个请求携带自定义token 请根据实际情况自行修改 // console.log(config.headers['token']) } return config @@ -51,17 +54,31 @@ location.reload() // 为了重新实例化vue-router对象 避免bug }) }) - } else if (res.code === 402) { - console.log('402页面跳转') - // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' + } else if (res.code === 402 || res.code === 501) { + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('402 to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + } } else { - Message({ - showClose: true, - message: res.message, - type: 'error', - duration: 3000 - }) + if(res.message){ + Message({ + showClose: true, + message: res.message, + type: 'error', + duration: 3000 + }) + }else{ + Message({ + showClose: true, + message: '错误代码:'+res.code, + type: 'error', + duration: 3000 + }) + } + return Promise.reject(res) } // return Promise.reject(res) diff --git a/src/views/caseManage/caseCommon/SwiperImg.vue b/src/views/caseManage/caseCommon/SwiperImg.vue new file mode 100644 index 0000000..4ff3fd2 --- /dev/null +++ b/src/views/caseManage/caseCommon/SwiperImg.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseFormProcess.vue b/src/views/caseManage/caseCommon/caseFormProcess.vue index ebe3d04..e53ee82 100644 --- a/src/views/caseManage/caseCommon/caseFormProcess.vue +++ b/src/views/caseManage/caseCommon/caseFormProcess.vue @@ -4,119 +4,201 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + - - - - - - + - - - + - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - 回访拨号 - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + +
+ 本地号码 + 外地号码 +
+ 回访拨号 +
+
+ + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
@@ -132,74 +214,132 @@ width="600px" append-to-body custom-class="sound-dialog" - @close="closeSound"> - + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseListTable.vue b/src/views/caseManage/caseCommon/caseListTable.vue index 64cc490..2e3b715 100644 --- a/src/views/caseManage/caseCommon/caseListTable.vue +++ b/src/views/caseManage/caseCommon/caseListTable.vue @@ -1,9 +1,11 @@ diff --git a/src/views/caseManage/delayApplyList.vue b/src/views/caseManage/delayApplyList.vue index 1eb2cf0..3a4db80 100644 --- a/src/views/caseManage/delayApplyList.vue +++ b/src/views/caseManage/delayApplyList.vue @@ -185,6 +185,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/delayList.vue b/src/views/caseManage/delayList.vue index e6af389..e9115aa 100644 --- a/src/views/caseManage/delayList.vue +++ b/src/views/caseManage/delayList.vue @@ -170,6 +170,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/reviewList.vue b/src/views/caseManage/reviewList.vue index 2a6460e..9a5c31e 100644 --- a/src/views/caseManage/reviewList.vue +++ b/src/views/caseManage/reviewList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/revisitList.vue b/src/views/caseManage/revisitList.vue index 0ccd5ce..8fa2159 100644 --- a/src/views/caseManage/revisitList.vue +++ b/src/views/caseManage/revisitList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/searchList.vue b/src/views/caseManage/searchList.vue index b5b9a5a..d80fece 100644 --- a/src/views/caseManage/searchList.vue +++ b/src/views/caseManage/searchList.vue @@ -120,6 +120,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/urgeList.vue b/src/views/caseManage/urgeList.vue index d131895..b56f832 100644 --- a/src/views/caseManage/urgeList.vue +++ b/src/views/caseManage/urgeList.vue @@ -175,6 +175,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/waitForCreate.vue b/src/views/caseManage/waitForCreate.vue index 6252460..52463e5 100644 --- a/src/views/caseManage/waitForCreate.vue +++ b/src/views/caseManage/waitForCreate.vue @@ -22,6 +22,9 @@ start-placeholder="来电开始时间" end-placeholder="来电结束时间"/> + + + diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/src/utils/index.js b/src/utils/index.js index 1095ef0..0a17e69 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -327,3 +327,14 @@ ele.className = ele.className.replace(reg, ' ') } } + +/** + * 获取当前url + */ +export function getCurrentUrl(){ + if(process.env.NODE_ENV === 'development'){ + return location.protocol + "//" + window.location.host + }else{ + return location.protocol + "//" + window.location.host+'/callcenter/#/dashboard' + } +} diff --git a/src/utils/request.js b/src/utils/request.js index 4213578..8e082ac 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,7 +1,9 @@ import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '../store' -import { getToken } from '@/utils/auth' +import { getToken, getTicket } from '@/utils/auth' +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' // 创建axios实例 const service = axios.create({ @@ -15,6 +17,7 @@ if (store.getters.token) { // console.log('request.js gettoken') config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + config.headers['ticket'] = getTicket() // 让每个请求携带自定义token 请根据实际情况自行修改 // console.log(config.headers['token']) } return config @@ -51,17 +54,31 @@ location.reload() // 为了重新实例化vue-router对象 避免bug }) }) - } else if (res.code === 402) { - console.log('402页面跳转') - // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' + } else if (res.code === 402 || res.code === 501) { + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('402 to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + } } else { - Message({ - showClose: true, - message: res.message, - type: 'error', - duration: 3000 - }) + if(res.message){ + Message({ + showClose: true, + message: res.message, + type: 'error', + duration: 3000 + }) + }else{ + Message({ + showClose: true, + message: '错误代码:'+res.code, + type: 'error', + duration: 3000 + }) + } + return Promise.reject(res) } // return Promise.reject(res) diff --git a/src/views/caseManage/caseCommon/SwiperImg.vue b/src/views/caseManage/caseCommon/SwiperImg.vue new file mode 100644 index 0000000..4ff3fd2 --- /dev/null +++ b/src/views/caseManage/caseCommon/SwiperImg.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseFormProcess.vue b/src/views/caseManage/caseCommon/caseFormProcess.vue index ebe3d04..e53ee82 100644 --- a/src/views/caseManage/caseCommon/caseFormProcess.vue +++ b/src/views/caseManage/caseCommon/caseFormProcess.vue @@ -4,119 +4,201 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + - - - - - - + - - - + - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - 回访拨号 - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + +
+ 本地号码 + 外地号码 +
+ 回访拨号 +
+
+ + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
@@ -132,74 +214,132 @@ width="600px" append-to-body custom-class="sound-dialog" - @close="closeSound"> - + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseListTable.vue b/src/views/caseManage/caseCommon/caseListTable.vue index 64cc490..2e3b715 100644 --- a/src/views/caseManage/caseCommon/caseListTable.vue +++ b/src/views/caseManage/caseCommon/caseListTable.vue @@ -1,9 +1,11 @@ diff --git a/src/views/caseManage/delayApplyList.vue b/src/views/caseManage/delayApplyList.vue index 1eb2cf0..3a4db80 100644 --- a/src/views/caseManage/delayApplyList.vue +++ b/src/views/caseManage/delayApplyList.vue @@ -185,6 +185,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/delayList.vue b/src/views/caseManage/delayList.vue index e6af389..e9115aa 100644 --- a/src/views/caseManage/delayList.vue +++ b/src/views/caseManage/delayList.vue @@ -170,6 +170,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/reviewList.vue b/src/views/caseManage/reviewList.vue index 2a6460e..9a5c31e 100644 --- a/src/views/caseManage/reviewList.vue +++ b/src/views/caseManage/reviewList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/revisitList.vue b/src/views/caseManage/revisitList.vue index 0ccd5ce..8fa2159 100644 --- a/src/views/caseManage/revisitList.vue +++ b/src/views/caseManage/revisitList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/searchList.vue b/src/views/caseManage/searchList.vue index b5b9a5a..d80fece 100644 --- a/src/views/caseManage/searchList.vue +++ b/src/views/caseManage/searchList.vue @@ -120,6 +120,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/urgeList.vue b/src/views/caseManage/urgeList.vue index d131895..b56f832 100644 --- a/src/views/caseManage/urgeList.vue +++ b/src/views/caseManage/urgeList.vue @@ -175,6 +175,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/waitForCreate.vue b/src/views/caseManage/waitForCreate.vue index 6252460..52463e5 100644 --- a/src/views/caseManage/waitForCreate.vue +++ b/src/views/caseManage/waitForCreate.vue @@ -22,6 +22,9 @@ start-placeholder="来电开始时间" end-placeholder="来电结束时间"/> + + + diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/src/utils/index.js b/src/utils/index.js index 1095ef0..0a17e69 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -327,3 +327,14 @@ ele.className = ele.className.replace(reg, ' ') } } + +/** + * 获取当前url + */ +export function getCurrentUrl(){ + if(process.env.NODE_ENV === 'development'){ + return location.protocol + "//" + window.location.host + }else{ + return location.protocol + "//" + window.location.host+'/callcenter/#/dashboard' + } +} diff --git a/src/utils/request.js b/src/utils/request.js index 4213578..8e082ac 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,7 +1,9 @@ import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '../store' -import { getToken } from '@/utils/auth' +import { getToken, getTicket } from '@/utils/auth' +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' // 创建axios实例 const service = axios.create({ @@ -15,6 +17,7 @@ if (store.getters.token) { // console.log('request.js gettoken') config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + config.headers['ticket'] = getTicket() // 让每个请求携带自定义token 请根据实际情况自行修改 // console.log(config.headers['token']) } return config @@ -51,17 +54,31 @@ location.reload() // 为了重新实例化vue-router对象 避免bug }) }) - } else if (res.code === 402) { - console.log('402页面跳转') - // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' + } else if (res.code === 402 || res.code === 501) { + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('402 to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + } } else { - Message({ - showClose: true, - message: res.message, - type: 'error', - duration: 3000 - }) + if(res.message){ + Message({ + showClose: true, + message: res.message, + type: 'error', + duration: 3000 + }) + }else{ + Message({ + showClose: true, + message: '错误代码:'+res.code, + type: 'error', + duration: 3000 + }) + } + return Promise.reject(res) } // return Promise.reject(res) diff --git a/src/views/caseManage/caseCommon/SwiperImg.vue b/src/views/caseManage/caseCommon/SwiperImg.vue new file mode 100644 index 0000000..4ff3fd2 --- /dev/null +++ b/src/views/caseManage/caseCommon/SwiperImg.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseFormProcess.vue b/src/views/caseManage/caseCommon/caseFormProcess.vue index ebe3d04..e53ee82 100644 --- a/src/views/caseManage/caseCommon/caseFormProcess.vue +++ b/src/views/caseManage/caseCommon/caseFormProcess.vue @@ -4,119 +4,201 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + - - - - - - + - - - + - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - 回访拨号 - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + +
+ 本地号码 + 外地号码 +
+ 回访拨号 +
+
+ + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
@@ -132,74 +214,132 @@ width="600px" append-to-body custom-class="sound-dialog" - @close="closeSound"> - + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseListTable.vue b/src/views/caseManage/caseCommon/caseListTable.vue index 64cc490..2e3b715 100644 --- a/src/views/caseManage/caseCommon/caseListTable.vue +++ b/src/views/caseManage/caseCommon/caseListTable.vue @@ -1,9 +1,11 @@ diff --git a/src/views/caseManage/delayApplyList.vue b/src/views/caseManage/delayApplyList.vue index 1eb2cf0..3a4db80 100644 --- a/src/views/caseManage/delayApplyList.vue +++ b/src/views/caseManage/delayApplyList.vue @@ -185,6 +185,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/delayList.vue b/src/views/caseManage/delayList.vue index e6af389..e9115aa 100644 --- a/src/views/caseManage/delayList.vue +++ b/src/views/caseManage/delayList.vue @@ -170,6 +170,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/reviewList.vue b/src/views/caseManage/reviewList.vue index 2a6460e..9a5c31e 100644 --- a/src/views/caseManage/reviewList.vue +++ b/src/views/caseManage/reviewList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/revisitList.vue b/src/views/caseManage/revisitList.vue index 0ccd5ce..8fa2159 100644 --- a/src/views/caseManage/revisitList.vue +++ b/src/views/caseManage/revisitList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/searchList.vue b/src/views/caseManage/searchList.vue index b5b9a5a..d80fece 100644 --- a/src/views/caseManage/searchList.vue +++ b/src/views/caseManage/searchList.vue @@ -120,6 +120,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/urgeList.vue b/src/views/caseManage/urgeList.vue index d131895..b56f832 100644 --- a/src/views/caseManage/urgeList.vue +++ b/src/views/caseManage/urgeList.vue @@ -175,6 +175,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/waitForCreate.vue b/src/views/caseManage/waitForCreate.vue index 6252460..52463e5 100644 --- a/src/views/caseManage/waitForCreate.vue +++ b/src/views/caseManage/waitForCreate.vue @@ -22,6 +22,9 @@ start-placeholder="来电开始时间" end-placeholder="来电结束时间"/> + + + diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/src/utils/index.js b/src/utils/index.js index 1095ef0..0a17e69 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -327,3 +327,14 @@ ele.className = ele.className.replace(reg, ' ') } } + +/** + * 获取当前url + */ +export function getCurrentUrl(){ + if(process.env.NODE_ENV === 'development'){ + return location.protocol + "//" + window.location.host + }else{ + return location.protocol + "//" + window.location.host+'/callcenter/#/dashboard' + } +} diff --git a/src/utils/request.js b/src/utils/request.js index 4213578..8e082ac 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,7 +1,9 @@ import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '../store' -import { getToken } from '@/utils/auth' +import { getToken, getTicket } from '@/utils/auth' +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' // 创建axios实例 const service = axios.create({ @@ -15,6 +17,7 @@ if (store.getters.token) { // console.log('request.js gettoken') config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + config.headers['ticket'] = getTicket() // 让每个请求携带自定义token 请根据实际情况自行修改 // console.log(config.headers['token']) } return config @@ -51,17 +54,31 @@ location.reload() // 为了重新实例化vue-router对象 避免bug }) }) - } else if (res.code === 402) { - console.log('402页面跳转') - // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' + } else if (res.code === 402 || res.code === 501) { + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('402 to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + } } else { - Message({ - showClose: true, - message: res.message, - type: 'error', - duration: 3000 - }) + if(res.message){ + Message({ + showClose: true, + message: res.message, + type: 'error', + duration: 3000 + }) + }else{ + Message({ + showClose: true, + message: '错误代码:'+res.code, + type: 'error', + duration: 3000 + }) + } + return Promise.reject(res) } // return Promise.reject(res) diff --git a/src/views/caseManage/caseCommon/SwiperImg.vue b/src/views/caseManage/caseCommon/SwiperImg.vue new file mode 100644 index 0000000..4ff3fd2 --- /dev/null +++ b/src/views/caseManage/caseCommon/SwiperImg.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseFormProcess.vue b/src/views/caseManage/caseCommon/caseFormProcess.vue index ebe3d04..e53ee82 100644 --- a/src/views/caseManage/caseCommon/caseFormProcess.vue +++ b/src/views/caseManage/caseCommon/caseFormProcess.vue @@ -4,119 +4,201 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + - - - - - - + - - - + - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - 回访拨号 - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + +
+ 本地号码 + 外地号码 +
+ 回访拨号 +
+
+ + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
@@ -132,74 +214,132 @@ width="600px" append-to-body custom-class="sound-dialog" - @close="closeSound"> - + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseListTable.vue b/src/views/caseManage/caseCommon/caseListTable.vue index 64cc490..2e3b715 100644 --- a/src/views/caseManage/caseCommon/caseListTable.vue +++ b/src/views/caseManage/caseCommon/caseListTable.vue @@ -1,9 +1,11 @@ diff --git a/src/views/caseManage/delayApplyList.vue b/src/views/caseManage/delayApplyList.vue index 1eb2cf0..3a4db80 100644 --- a/src/views/caseManage/delayApplyList.vue +++ b/src/views/caseManage/delayApplyList.vue @@ -185,6 +185,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/delayList.vue b/src/views/caseManage/delayList.vue index e6af389..e9115aa 100644 --- a/src/views/caseManage/delayList.vue +++ b/src/views/caseManage/delayList.vue @@ -170,6 +170,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/reviewList.vue b/src/views/caseManage/reviewList.vue index 2a6460e..9a5c31e 100644 --- a/src/views/caseManage/reviewList.vue +++ b/src/views/caseManage/reviewList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/revisitList.vue b/src/views/caseManage/revisitList.vue index 0ccd5ce..8fa2159 100644 --- a/src/views/caseManage/revisitList.vue +++ b/src/views/caseManage/revisitList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/searchList.vue b/src/views/caseManage/searchList.vue index b5b9a5a..d80fece 100644 --- a/src/views/caseManage/searchList.vue +++ b/src/views/caseManage/searchList.vue @@ -120,6 +120,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/urgeList.vue b/src/views/caseManage/urgeList.vue index d131895..b56f832 100644 --- a/src/views/caseManage/urgeList.vue +++ b/src/views/caseManage/urgeList.vue @@ -175,6 +175,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/waitForCreate.vue b/src/views/caseManage/waitForCreate.vue index 6252460..52463e5 100644 --- a/src/views/caseManage/waitForCreate.vue +++ b/src/views/caseManage/waitForCreate.vue @@ -22,6 +22,9 @@ start-placeholder="来电开始时间" end-placeholder="来电结束时间"/> + + + diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/src/utils/index.js b/src/utils/index.js index 1095ef0..0a17e69 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -327,3 +327,14 @@ ele.className = ele.className.replace(reg, ' ') } } + +/** + * 获取当前url + */ +export function getCurrentUrl(){ + if(process.env.NODE_ENV === 'development'){ + return location.protocol + "//" + window.location.host + }else{ + return location.protocol + "//" + window.location.host+'/callcenter/#/dashboard' + } +} diff --git a/src/utils/request.js b/src/utils/request.js index 4213578..8e082ac 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,7 +1,9 @@ import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '../store' -import { getToken } from '@/utils/auth' +import { getToken, getTicket } from '@/utils/auth' +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' // 创建axios实例 const service = axios.create({ @@ -15,6 +17,7 @@ if (store.getters.token) { // console.log('request.js gettoken') config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + config.headers['ticket'] = getTicket() // 让每个请求携带自定义token 请根据实际情况自行修改 // console.log(config.headers['token']) } return config @@ -51,17 +54,31 @@ location.reload() // 为了重新实例化vue-router对象 避免bug }) }) - } else if (res.code === 402) { - console.log('402页面跳转') - // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' + } else if (res.code === 402 || res.code === 501) { + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('402 to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + } } else { - Message({ - showClose: true, - message: res.message, - type: 'error', - duration: 3000 - }) + if(res.message){ + Message({ + showClose: true, + message: res.message, + type: 'error', + duration: 3000 + }) + }else{ + Message({ + showClose: true, + message: '错误代码:'+res.code, + type: 'error', + duration: 3000 + }) + } + return Promise.reject(res) } // return Promise.reject(res) diff --git a/src/views/caseManage/caseCommon/SwiperImg.vue b/src/views/caseManage/caseCommon/SwiperImg.vue new file mode 100644 index 0000000..4ff3fd2 --- /dev/null +++ b/src/views/caseManage/caseCommon/SwiperImg.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseFormProcess.vue b/src/views/caseManage/caseCommon/caseFormProcess.vue index ebe3d04..e53ee82 100644 --- a/src/views/caseManage/caseCommon/caseFormProcess.vue +++ b/src/views/caseManage/caseCommon/caseFormProcess.vue @@ -4,119 +4,201 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + - - - - - - + - - - + - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - 回访拨号 - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + +
+ 本地号码 + 外地号码 +
+ 回访拨号 +
+
+ + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
@@ -132,74 +214,132 @@ width="600px" append-to-body custom-class="sound-dialog" - @close="closeSound"> - + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseListTable.vue b/src/views/caseManage/caseCommon/caseListTable.vue index 64cc490..2e3b715 100644 --- a/src/views/caseManage/caseCommon/caseListTable.vue +++ b/src/views/caseManage/caseCommon/caseListTable.vue @@ -1,9 +1,11 @@ diff --git a/src/views/caseManage/delayApplyList.vue b/src/views/caseManage/delayApplyList.vue index 1eb2cf0..3a4db80 100644 --- a/src/views/caseManage/delayApplyList.vue +++ b/src/views/caseManage/delayApplyList.vue @@ -185,6 +185,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/delayList.vue b/src/views/caseManage/delayList.vue index e6af389..e9115aa 100644 --- a/src/views/caseManage/delayList.vue +++ b/src/views/caseManage/delayList.vue @@ -170,6 +170,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/reviewList.vue b/src/views/caseManage/reviewList.vue index 2a6460e..9a5c31e 100644 --- a/src/views/caseManage/reviewList.vue +++ b/src/views/caseManage/reviewList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/revisitList.vue b/src/views/caseManage/revisitList.vue index 0ccd5ce..8fa2159 100644 --- a/src/views/caseManage/revisitList.vue +++ b/src/views/caseManage/revisitList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/searchList.vue b/src/views/caseManage/searchList.vue index b5b9a5a..d80fece 100644 --- a/src/views/caseManage/searchList.vue +++ b/src/views/caseManage/searchList.vue @@ -120,6 +120,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/urgeList.vue b/src/views/caseManage/urgeList.vue index d131895..b56f832 100644 --- a/src/views/caseManage/urgeList.vue +++ b/src/views/caseManage/urgeList.vue @@ -175,6 +175,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/waitForCreate.vue b/src/views/caseManage/waitForCreate.vue index 6252460..52463e5 100644 --- a/src/views/caseManage/waitForCreate.vue +++ b/src/views/caseManage/waitForCreate.vue @@ -22,6 +22,9 @@ start-placeholder="来电开始时间" end-placeholder="来电结束时间"/> + + + diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/src/utils/index.js b/src/utils/index.js index 1095ef0..0a17e69 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -327,3 +327,14 @@ ele.className = ele.className.replace(reg, ' ') } } + +/** + * 获取当前url + */ +export function getCurrentUrl(){ + if(process.env.NODE_ENV === 'development'){ + return location.protocol + "//" + window.location.host + }else{ + return location.protocol + "//" + window.location.host+'/callcenter/#/dashboard' + } +} diff --git a/src/utils/request.js b/src/utils/request.js index 4213578..8e082ac 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,7 +1,9 @@ import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '../store' -import { getToken } from '@/utils/auth' +import { getToken, getTicket } from '@/utils/auth' +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' // 创建axios实例 const service = axios.create({ @@ -15,6 +17,7 @@ if (store.getters.token) { // console.log('request.js gettoken') config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + config.headers['ticket'] = getTicket() // 让每个请求携带自定义token 请根据实际情况自行修改 // console.log(config.headers['token']) } return config @@ -51,17 +54,31 @@ location.reload() // 为了重新实例化vue-router对象 避免bug }) }) - } else if (res.code === 402) { - console.log('402页面跳转') - // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' + } else if (res.code === 402 || res.code === 501) { + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('402 to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + } } else { - Message({ - showClose: true, - message: res.message, - type: 'error', - duration: 3000 - }) + if(res.message){ + Message({ + showClose: true, + message: res.message, + type: 'error', + duration: 3000 + }) + }else{ + Message({ + showClose: true, + message: '错误代码:'+res.code, + type: 'error', + duration: 3000 + }) + } + return Promise.reject(res) } // return Promise.reject(res) diff --git a/src/views/caseManage/caseCommon/SwiperImg.vue b/src/views/caseManage/caseCommon/SwiperImg.vue new file mode 100644 index 0000000..4ff3fd2 --- /dev/null +++ b/src/views/caseManage/caseCommon/SwiperImg.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseFormProcess.vue b/src/views/caseManage/caseCommon/caseFormProcess.vue index ebe3d04..e53ee82 100644 --- a/src/views/caseManage/caseCommon/caseFormProcess.vue +++ b/src/views/caseManage/caseCommon/caseFormProcess.vue @@ -4,119 +4,201 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + - - - - - - + - - - + - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - 回访拨号 - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + +
+ 本地号码 + 外地号码 +
+ 回访拨号 +
+
+ + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
@@ -132,74 +214,132 @@ width="600px" append-to-body custom-class="sound-dialog" - @close="closeSound"> - + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseListTable.vue b/src/views/caseManage/caseCommon/caseListTable.vue index 64cc490..2e3b715 100644 --- a/src/views/caseManage/caseCommon/caseListTable.vue +++ b/src/views/caseManage/caseCommon/caseListTable.vue @@ -1,9 +1,11 @@ diff --git a/src/views/caseManage/delayApplyList.vue b/src/views/caseManage/delayApplyList.vue index 1eb2cf0..3a4db80 100644 --- a/src/views/caseManage/delayApplyList.vue +++ b/src/views/caseManage/delayApplyList.vue @@ -185,6 +185,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/delayList.vue b/src/views/caseManage/delayList.vue index e6af389..e9115aa 100644 --- a/src/views/caseManage/delayList.vue +++ b/src/views/caseManage/delayList.vue @@ -170,6 +170,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/reviewList.vue b/src/views/caseManage/reviewList.vue index 2a6460e..9a5c31e 100644 --- a/src/views/caseManage/reviewList.vue +++ b/src/views/caseManage/reviewList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/revisitList.vue b/src/views/caseManage/revisitList.vue index 0ccd5ce..8fa2159 100644 --- a/src/views/caseManage/revisitList.vue +++ b/src/views/caseManage/revisitList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/searchList.vue b/src/views/caseManage/searchList.vue index b5b9a5a..d80fece 100644 --- a/src/views/caseManage/searchList.vue +++ b/src/views/caseManage/searchList.vue @@ -120,6 +120,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/urgeList.vue b/src/views/caseManage/urgeList.vue index d131895..b56f832 100644 --- a/src/views/caseManage/urgeList.vue +++ b/src/views/caseManage/urgeList.vue @@ -175,6 +175,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/waitForCreate.vue b/src/views/caseManage/waitForCreate.vue index 6252460..52463e5 100644 --- a/src/views/caseManage/waitForCreate.vue +++ b/src/views/caseManage/waitForCreate.vue @@ -22,6 +22,9 @@ start-placeholder="来电开始时间" end-placeholder="来电结束时间"/> + + + diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/src/utils/index.js b/src/utils/index.js index 1095ef0..0a17e69 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -327,3 +327,14 @@ ele.className = ele.className.replace(reg, ' ') } } + +/** + * 获取当前url + */ +export function getCurrentUrl(){ + if(process.env.NODE_ENV === 'development'){ + return location.protocol + "//" + window.location.host + }else{ + return location.protocol + "//" + window.location.host+'/callcenter/#/dashboard' + } +} diff --git a/src/utils/request.js b/src/utils/request.js index 4213578..8e082ac 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,7 +1,9 @@ import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '../store' -import { getToken } from '@/utils/auth' +import { getToken, getTicket } from '@/utils/auth' +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' // 创建axios实例 const service = axios.create({ @@ -15,6 +17,7 @@ if (store.getters.token) { // console.log('request.js gettoken') config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + config.headers['ticket'] = getTicket() // 让每个请求携带自定义token 请根据实际情况自行修改 // console.log(config.headers['token']) } return config @@ -51,17 +54,31 @@ location.reload() // 为了重新实例化vue-router对象 避免bug }) }) - } else if (res.code === 402) { - console.log('402页面跳转') - // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' + } else if (res.code === 402 || res.code === 501) { + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('402 to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + } } else { - Message({ - showClose: true, - message: res.message, - type: 'error', - duration: 3000 - }) + if(res.message){ + Message({ + showClose: true, + message: res.message, + type: 'error', + duration: 3000 + }) + }else{ + Message({ + showClose: true, + message: '错误代码:'+res.code, + type: 'error', + duration: 3000 + }) + } + return Promise.reject(res) } // return Promise.reject(res) diff --git a/src/views/caseManage/caseCommon/SwiperImg.vue b/src/views/caseManage/caseCommon/SwiperImg.vue new file mode 100644 index 0000000..4ff3fd2 --- /dev/null +++ b/src/views/caseManage/caseCommon/SwiperImg.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseFormProcess.vue b/src/views/caseManage/caseCommon/caseFormProcess.vue index ebe3d04..e53ee82 100644 --- a/src/views/caseManage/caseCommon/caseFormProcess.vue +++ b/src/views/caseManage/caseCommon/caseFormProcess.vue @@ -4,119 +4,201 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + - - - - - - + - - - + - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - 回访拨号 - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + +
+ 本地号码 + 外地号码 +
+ 回访拨号 +
+
+ + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
@@ -132,74 +214,132 @@ width="600px" append-to-body custom-class="sound-dialog" - @close="closeSound"> - + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseListTable.vue b/src/views/caseManage/caseCommon/caseListTable.vue index 64cc490..2e3b715 100644 --- a/src/views/caseManage/caseCommon/caseListTable.vue +++ b/src/views/caseManage/caseCommon/caseListTable.vue @@ -1,9 +1,11 @@ diff --git a/src/views/caseManage/delayApplyList.vue b/src/views/caseManage/delayApplyList.vue index 1eb2cf0..3a4db80 100644 --- a/src/views/caseManage/delayApplyList.vue +++ b/src/views/caseManage/delayApplyList.vue @@ -185,6 +185,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/delayList.vue b/src/views/caseManage/delayList.vue index e6af389..e9115aa 100644 --- a/src/views/caseManage/delayList.vue +++ b/src/views/caseManage/delayList.vue @@ -170,6 +170,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/reviewList.vue b/src/views/caseManage/reviewList.vue index 2a6460e..9a5c31e 100644 --- a/src/views/caseManage/reviewList.vue +++ b/src/views/caseManage/reviewList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/revisitList.vue b/src/views/caseManage/revisitList.vue index 0ccd5ce..8fa2159 100644 --- a/src/views/caseManage/revisitList.vue +++ b/src/views/caseManage/revisitList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/searchList.vue b/src/views/caseManage/searchList.vue index b5b9a5a..d80fece 100644 --- a/src/views/caseManage/searchList.vue +++ b/src/views/caseManage/searchList.vue @@ -120,6 +120,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/urgeList.vue b/src/views/caseManage/urgeList.vue index d131895..b56f832 100644 --- a/src/views/caseManage/urgeList.vue +++ b/src/views/caseManage/urgeList.vue @@ -175,6 +175,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/waitForCreate.vue b/src/views/caseManage/waitForCreate.vue index 6252460..52463e5 100644 --- a/src/views/caseManage/waitForCreate.vue +++ b/src/views/caseManage/waitForCreate.vue @@ -22,6 +22,9 @@ start-placeholder="来电开始时间" end-placeholder="来电结束时间"/> + + + diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/src/utils/index.js b/src/utils/index.js index 1095ef0..0a17e69 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -327,3 +327,14 @@ ele.className = ele.className.replace(reg, ' ') } } + +/** + * 获取当前url + */ +export function getCurrentUrl(){ + if(process.env.NODE_ENV === 'development'){ + return location.protocol + "//" + window.location.host + }else{ + return location.protocol + "//" + window.location.host+'/callcenter/#/dashboard' + } +} diff --git a/src/utils/request.js b/src/utils/request.js index 4213578..8e082ac 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,7 +1,9 @@ import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '../store' -import { getToken } from '@/utils/auth' +import { getToken, getTicket } from '@/utils/auth' +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' // 创建axios实例 const service = axios.create({ @@ -15,6 +17,7 @@ if (store.getters.token) { // console.log('request.js gettoken') config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + config.headers['ticket'] = getTicket() // 让每个请求携带自定义token 请根据实际情况自行修改 // console.log(config.headers['token']) } return config @@ -51,17 +54,31 @@ location.reload() // 为了重新实例化vue-router对象 避免bug }) }) - } else if (res.code === 402) { - console.log('402页面跳转') - // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' + } else if (res.code === 402 || res.code === 501) { + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('402 to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + } } else { - Message({ - showClose: true, - message: res.message, - type: 'error', - duration: 3000 - }) + if(res.message){ + Message({ + showClose: true, + message: res.message, + type: 'error', + duration: 3000 + }) + }else{ + Message({ + showClose: true, + message: '错误代码:'+res.code, + type: 'error', + duration: 3000 + }) + } + return Promise.reject(res) } // return Promise.reject(res) diff --git a/src/views/caseManage/caseCommon/SwiperImg.vue b/src/views/caseManage/caseCommon/SwiperImg.vue new file mode 100644 index 0000000..4ff3fd2 --- /dev/null +++ b/src/views/caseManage/caseCommon/SwiperImg.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseFormProcess.vue b/src/views/caseManage/caseCommon/caseFormProcess.vue index ebe3d04..e53ee82 100644 --- a/src/views/caseManage/caseCommon/caseFormProcess.vue +++ b/src/views/caseManage/caseCommon/caseFormProcess.vue @@ -4,119 +4,201 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + - - - - - - + - - - + - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - 回访拨号 - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + +
+ 本地号码 + 外地号码 +
+ 回访拨号 +
+
+ + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
@@ -132,74 +214,132 @@ width="600px" append-to-body custom-class="sound-dialog" - @close="closeSound"> - + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseListTable.vue b/src/views/caseManage/caseCommon/caseListTable.vue index 64cc490..2e3b715 100644 --- a/src/views/caseManage/caseCommon/caseListTable.vue +++ b/src/views/caseManage/caseCommon/caseListTable.vue @@ -1,9 +1,11 @@ diff --git a/src/views/caseManage/delayApplyList.vue b/src/views/caseManage/delayApplyList.vue index 1eb2cf0..3a4db80 100644 --- a/src/views/caseManage/delayApplyList.vue +++ b/src/views/caseManage/delayApplyList.vue @@ -185,6 +185,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/delayList.vue b/src/views/caseManage/delayList.vue index e6af389..e9115aa 100644 --- a/src/views/caseManage/delayList.vue +++ b/src/views/caseManage/delayList.vue @@ -170,6 +170,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/reviewList.vue b/src/views/caseManage/reviewList.vue index 2a6460e..9a5c31e 100644 --- a/src/views/caseManage/reviewList.vue +++ b/src/views/caseManage/reviewList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/revisitList.vue b/src/views/caseManage/revisitList.vue index 0ccd5ce..8fa2159 100644 --- a/src/views/caseManage/revisitList.vue +++ b/src/views/caseManage/revisitList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/searchList.vue b/src/views/caseManage/searchList.vue index b5b9a5a..d80fece 100644 --- a/src/views/caseManage/searchList.vue +++ b/src/views/caseManage/searchList.vue @@ -120,6 +120,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/urgeList.vue b/src/views/caseManage/urgeList.vue index d131895..b56f832 100644 --- a/src/views/caseManage/urgeList.vue +++ b/src/views/caseManage/urgeList.vue @@ -175,6 +175,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/waitForCreate.vue b/src/views/caseManage/waitForCreate.vue index 6252460..52463e5 100644 --- a/src/views/caseManage/waitForCreate.vue +++ b/src/views/caseManage/waitForCreate.vue @@ -22,6 +22,9 @@ start-placeholder="来电开始时间" end-placeholder="来电结束时间"/> + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/src/utils/index.js b/src/utils/index.js index 1095ef0..0a17e69 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -327,3 +327,14 @@ ele.className = ele.className.replace(reg, ' ') } } + +/** + * 获取当前url + */ +export function getCurrentUrl(){ + if(process.env.NODE_ENV === 'development'){ + return location.protocol + "//" + window.location.host + }else{ + return location.protocol + "//" + window.location.host+'/callcenter/#/dashboard' + } +} diff --git a/src/utils/request.js b/src/utils/request.js index 4213578..8e082ac 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,7 +1,9 @@ import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '../store' -import { getToken } from '@/utils/auth' +import { getToken, getTicket } from '@/utils/auth' +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' // 创建axios实例 const service = axios.create({ @@ -15,6 +17,7 @@ if (store.getters.token) { // console.log('request.js gettoken') config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + config.headers['ticket'] = getTicket() // 让每个请求携带自定义token 请根据实际情况自行修改 // console.log(config.headers['token']) } return config @@ -51,17 +54,31 @@ location.reload() // 为了重新实例化vue-router对象 避免bug }) }) - } else if (res.code === 402) { - console.log('402页面跳转') - // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' + } else if (res.code === 402 || res.code === 501) { + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('402 to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + } } else { - Message({ - showClose: true, - message: res.message, - type: 'error', - duration: 3000 - }) + if(res.message){ + Message({ + showClose: true, + message: res.message, + type: 'error', + duration: 3000 + }) + }else{ + Message({ + showClose: true, + message: '错误代码:'+res.code, + type: 'error', + duration: 3000 + }) + } + return Promise.reject(res) } // return Promise.reject(res) diff --git a/src/views/caseManage/caseCommon/SwiperImg.vue b/src/views/caseManage/caseCommon/SwiperImg.vue new file mode 100644 index 0000000..4ff3fd2 --- /dev/null +++ b/src/views/caseManage/caseCommon/SwiperImg.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseFormProcess.vue b/src/views/caseManage/caseCommon/caseFormProcess.vue index ebe3d04..e53ee82 100644 --- a/src/views/caseManage/caseCommon/caseFormProcess.vue +++ b/src/views/caseManage/caseCommon/caseFormProcess.vue @@ -4,119 +4,201 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + - - - - - - + - - - + - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - 回访拨号 - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + +
+ 本地号码 + 外地号码 +
+ 回访拨号 +
+
+ + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
@@ -132,74 +214,132 @@ width="600px" append-to-body custom-class="sound-dialog" - @close="closeSound"> - + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseListTable.vue b/src/views/caseManage/caseCommon/caseListTable.vue index 64cc490..2e3b715 100644 --- a/src/views/caseManage/caseCommon/caseListTable.vue +++ b/src/views/caseManage/caseCommon/caseListTable.vue @@ -1,9 +1,11 @@ diff --git a/src/views/caseManage/delayApplyList.vue b/src/views/caseManage/delayApplyList.vue index 1eb2cf0..3a4db80 100644 --- a/src/views/caseManage/delayApplyList.vue +++ b/src/views/caseManage/delayApplyList.vue @@ -185,6 +185,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/delayList.vue b/src/views/caseManage/delayList.vue index e6af389..e9115aa 100644 --- a/src/views/caseManage/delayList.vue +++ b/src/views/caseManage/delayList.vue @@ -170,6 +170,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/reviewList.vue b/src/views/caseManage/reviewList.vue index 2a6460e..9a5c31e 100644 --- a/src/views/caseManage/reviewList.vue +++ b/src/views/caseManage/reviewList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/revisitList.vue b/src/views/caseManage/revisitList.vue index 0ccd5ce..8fa2159 100644 --- a/src/views/caseManage/revisitList.vue +++ b/src/views/caseManage/revisitList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/searchList.vue b/src/views/caseManage/searchList.vue index b5b9a5a..d80fece 100644 --- a/src/views/caseManage/searchList.vue +++ b/src/views/caseManage/searchList.vue @@ -120,6 +120,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/urgeList.vue b/src/views/caseManage/urgeList.vue index d131895..b56f832 100644 --- a/src/views/caseManage/urgeList.vue +++ b/src/views/caseManage/urgeList.vue @@ -175,6 +175,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/waitForCreate.vue b/src/views/caseManage/waitForCreate.vue index 6252460..52463e5 100644 --- a/src/views/caseManage/waitForCreate.vue +++ b/src/views/caseManage/waitForCreate.vue @@ -22,6 +22,9 @@ start-placeholder="来电开始时间" end-placeholder="来电结束时间"/> + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/src/utils/index.js b/src/utils/index.js index 1095ef0..0a17e69 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -327,3 +327,14 @@ ele.className = ele.className.replace(reg, ' ') } } + +/** + * 获取当前url + */ +export function getCurrentUrl(){ + if(process.env.NODE_ENV === 'development'){ + return location.protocol + "//" + window.location.host + }else{ + return location.protocol + "//" + window.location.host+'/callcenter/#/dashboard' + } +} diff --git a/src/utils/request.js b/src/utils/request.js index 4213578..8e082ac 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,7 +1,9 @@ import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '../store' -import { getToken } from '@/utils/auth' +import { getToken, getTicket } from '@/utils/auth' +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' // 创建axios实例 const service = axios.create({ @@ -15,6 +17,7 @@ if (store.getters.token) { // console.log('request.js gettoken') config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + config.headers['ticket'] = getTicket() // 让每个请求携带自定义token 请根据实际情况自行修改 // console.log(config.headers['token']) } return config @@ -51,17 +54,31 @@ location.reload() // 为了重新实例化vue-router对象 避免bug }) }) - } else if (res.code === 402) { - console.log('402页面跳转') - // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' + } else if (res.code === 402 || res.code === 501) { + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('402 to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + } } else { - Message({ - showClose: true, - message: res.message, - type: 'error', - duration: 3000 - }) + if(res.message){ + Message({ + showClose: true, + message: res.message, + type: 'error', + duration: 3000 + }) + }else{ + Message({ + showClose: true, + message: '错误代码:'+res.code, + type: 'error', + duration: 3000 + }) + } + return Promise.reject(res) } // return Promise.reject(res) diff --git a/src/views/caseManage/caseCommon/SwiperImg.vue b/src/views/caseManage/caseCommon/SwiperImg.vue new file mode 100644 index 0000000..4ff3fd2 --- /dev/null +++ b/src/views/caseManage/caseCommon/SwiperImg.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseFormProcess.vue b/src/views/caseManage/caseCommon/caseFormProcess.vue index ebe3d04..e53ee82 100644 --- a/src/views/caseManage/caseCommon/caseFormProcess.vue +++ b/src/views/caseManage/caseCommon/caseFormProcess.vue @@ -4,119 +4,201 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + - - - - - - + - - - + - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - 回访拨号 - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + +
+ 本地号码 + 外地号码 +
+ 回访拨号 +
+
+ + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
@@ -132,74 +214,132 @@ width="600px" append-to-body custom-class="sound-dialog" - @close="closeSound"> - + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseListTable.vue b/src/views/caseManage/caseCommon/caseListTable.vue index 64cc490..2e3b715 100644 --- a/src/views/caseManage/caseCommon/caseListTable.vue +++ b/src/views/caseManage/caseCommon/caseListTable.vue @@ -1,9 +1,11 @@ diff --git a/src/views/caseManage/delayApplyList.vue b/src/views/caseManage/delayApplyList.vue index 1eb2cf0..3a4db80 100644 --- a/src/views/caseManage/delayApplyList.vue +++ b/src/views/caseManage/delayApplyList.vue @@ -185,6 +185,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/delayList.vue b/src/views/caseManage/delayList.vue index e6af389..e9115aa 100644 --- a/src/views/caseManage/delayList.vue +++ b/src/views/caseManage/delayList.vue @@ -170,6 +170,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/reviewList.vue b/src/views/caseManage/reviewList.vue index 2a6460e..9a5c31e 100644 --- a/src/views/caseManage/reviewList.vue +++ b/src/views/caseManage/reviewList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/revisitList.vue b/src/views/caseManage/revisitList.vue index 0ccd5ce..8fa2159 100644 --- a/src/views/caseManage/revisitList.vue +++ b/src/views/caseManage/revisitList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/searchList.vue b/src/views/caseManage/searchList.vue index b5b9a5a..d80fece 100644 --- a/src/views/caseManage/searchList.vue +++ b/src/views/caseManage/searchList.vue @@ -120,6 +120,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/urgeList.vue b/src/views/caseManage/urgeList.vue index d131895..b56f832 100644 --- a/src/views/caseManage/urgeList.vue +++ b/src/views/caseManage/urgeList.vue @@ -175,6 +175,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/waitForCreate.vue b/src/views/caseManage/waitForCreate.vue index 6252460..52463e5 100644 --- a/src/views/caseManage/waitForCreate.vue +++ b/src/views/caseManage/waitForCreate.vue @@ -22,6 +22,9 @@ start-placeholder="来电开始时间" end-placeholder="来电结束时间"/> + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/src/utils/index.js b/src/utils/index.js index 1095ef0..0a17e69 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -327,3 +327,14 @@ ele.className = ele.className.replace(reg, ' ') } } + +/** + * 获取当前url + */ +export function getCurrentUrl(){ + if(process.env.NODE_ENV === 'development'){ + return location.protocol + "//" + window.location.host + }else{ + return location.protocol + "//" + window.location.host+'/callcenter/#/dashboard' + } +} diff --git a/src/utils/request.js b/src/utils/request.js index 4213578..8e082ac 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,7 +1,9 @@ import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '../store' -import { getToken } from '@/utils/auth' +import { getToken, getTicket } from '@/utils/auth' +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' // 创建axios实例 const service = axios.create({ @@ -15,6 +17,7 @@ if (store.getters.token) { // console.log('request.js gettoken') config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + config.headers['ticket'] = getTicket() // 让每个请求携带自定义token 请根据实际情况自行修改 // console.log(config.headers['token']) } return config @@ -51,17 +54,31 @@ location.reload() // 为了重新实例化vue-router对象 避免bug }) }) - } else if (res.code === 402) { - console.log('402页面跳转') - // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' + } else if (res.code === 402 || res.code === 501) { + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('402 to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + } } else { - Message({ - showClose: true, - message: res.message, - type: 'error', - duration: 3000 - }) + if(res.message){ + Message({ + showClose: true, + message: res.message, + type: 'error', + duration: 3000 + }) + }else{ + Message({ + showClose: true, + message: '错误代码:'+res.code, + type: 'error', + duration: 3000 + }) + } + return Promise.reject(res) } // return Promise.reject(res) diff --git a/src/views/caseManage/caseCommon/SwiperImg.vue b/src/views/caseManage/caseCommon/SwiperImg.vue new file mode 100644 index 0000000..4ff3fd2 --- /dev/null +++ b/src/views/caseManage/caseCommon/SwiperImg.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseFormProcess.vue b/src/views/caseManage/caseCommon/caseFormProcess.vue index ebe3d04..e53ee82 100644 --- a/src/views/caseManage/caseCommon/caseFormProcess.vue +++ b/src/views/caseManage/caseCommon/caseFormProcess.vue @@ -4,119 +4,201 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + - - - - - - + - - - + - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - 回访拨号 - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + +
+ 本地号码 + 外地号码 +
+ 回访拨号 +
+
+ + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
@@ -132,74 +214,132 @@ width="600px" append-to-body custom-class="sound-dialog" - @close="closeSound"> - + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseListTable.vue b/src/views/caseManage/caseCommon/caseListTable.vue index 64cc490..2e3b715 100644 --- a/src/views/caseManage/caseCommon/caseListTable.vue +++ b/src/views/caseManage/caseCommon/caseListTable.vue @@ -1,9 +1,11 @@ diff --git a/src/views/caseManage/delayApplyList.vue b/src/views/caseManage/delayApplyList.vue index 1eb2cf0..3a4db80 100644 --- a/src/views/caseManage/delayApplyList.vue +++ b/src/views/caseManage/delayApplyList.vue @@ -185,6 +185,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/delayList.vue b/src/views/caseManage/delayList.vue index e6af389..e9115aa 100644 --- a/src/views/caseManage/delayList.vue +++ b/src/views/caseManage/delayList.vue @@ -170,6 +170,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/reviewList.vue b/src/views/caseManage/reviewList.vue index 2a6460e..9a5c31e 100644 --- a/src/views/caseManage/reviewList.vue +++ b/src/views/caseManage/reviewList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/revisitList.vue b/src/views/caseManage/revisitList.vue index 0ccd5ce..8fa2159 100644 --- a/src/views/caseManage/revisitList.vue +++ b/src/views/caseManage/revisitList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/searchList.vue b/src/views/caseManage/searchList.vue index b5b9a5a..d80fece 100644 --- a/src/views/caseManage/searchList.vue +++ b/src/views/caseManage/searchList.vue @@ -120,6 +120,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/urgeList.vue b/src/views/caseManage/urgeList.vue index d131895..b56f832 100644 --- a/src/views/caseManage/urgeList.vue +++ b/src/views/caseManage/urgeList.vue @@ -175,6 +175,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/waitForCreate.vue b/src/views/caseManage/waitForCreate.vue index 6252460..52463e5 100644 --- a/src/views/caseManage/waitForCreate.vue +++ b/src/views/caseManage/waitForCreate.vue @@ -22,6 +22,9 @@ start-placeholder="来电开始时间" end-placeholder="来电结束时间"/> + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/src/utils/index.js b/src/utils/index.js index 1095ef0..0a17e69 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -327,3 +327,14 @@ ele.className = ele.className.replace(reg, ' ') } } + +/** + * 获取当前url + */ +export function getCurrentUrl(){ + if(process.env.NODE_ENV === 'development'){ + return location.protocol + "//" + window.location.host + }else{ + return location.protocol + "//" + window.location.host+'/callcenter/#/dashboard' + } +} diff --git a/src/utils/request.js b/src/utils/request.js index 4213578..8e082ac 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,7 +1,9 @@ import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '../store' -import { getToken } from '@/utils/auth' +import { getToken, getTicket } from '@/utils/auth' +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' // 创建axios实例 const service = axios.create({ @@ -15,6 +17,7 @@ if (store.getters.token) { // console.log('request.js gettoken') config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + config.headers['ticket'] = getTicket() // 让每个请求携带自定义token 请根据实际情况自行修改 // console.log(config.headers['token']) } return config @@ -51,17 +54,31 @@ location.reload() // 为了重新实例化vue-router对象 避免bug }) }) - } else if (res.code === 402) { - console.log('402页面跳转') - // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' + } else if (res.code === 402 || res.code === 501) { + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('402 to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + } } else { - Message({ - showClose: true, - message: res.message, - type: 'error', - duration: 3000 - }) + if(res.message){ + Message({ + showClose: true, + message: res.message, + type: 'error', + duration: 3000 + }) + }else{ + Message({ + showClose: true, + message: '错误代码:'+res.code, + type: 'error', + duration: 3000 + }) + } + return Promise.reject(res) } // return Promise.reject(res) diff --git a/src/views/caseManage/caseCommon/SwiperImg.vue b/src/views/caseManage/caseCommon/SwiperImg.vue new file mode 100644 index 0000000..4ff3fd2 --- /dev/null +++ b/src/views/caseManage/caseCommon/SwiperImg.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseFormProcess.vue b/src/views/caseManage/caseCommon/caseFormProcess.vue index ebe3d04..e53ee82 100644 --- a/src/views/caseManage/caseCommon/caseFormProcess.vue +++ b/src/views/caseManage/caseCommon/caseFormProcess.vue @@ -4,119 +4,201 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + - - - - - - + - - - + - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - 回访拨号 - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + +
+ 本地号码 + 外地号码 +
+ 回访拨号 +
+
+ + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
@@ -132,74 +214,132 @@ width="600px" append-to-body custom-class="sound-dialog" - @close="closeSound"> - + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseListTable.vue b/src/views/caseManage/caseCommon/caseListTable.vue index 64cc490..2e3b715 100644 --- a/src/views/caseManage/caseCommon/caseListTable.vue +++ b/src/views/caseManage/caseCommon/caseListTable.vue @@ -1,9 +1,11 @@ diff --git a/src/views/caseManage/delayApplyList.vue b/src/views/caseManage/delayApplyList.vue index 1eb2cf0..3a4db80 100644 --- a/src/views/caseManage/delayApplyList.vue +++ b/src/views/caseManage/delayApplyList.vue @@ -185,6 +185,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/delayList.vue b/src/views/caseManage/delayList.vue index e6af389..e9115aa 100644 --- a/src/views/caseManage/delayList.vue +++ b/src/views/caseManage/delayList.vue @@ -170,6 +170,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/reviewList.vue b/src/views/caseManage/reviewList.vue index 2a6460e..9a5c31e 100644 --- a/src/views/caseManage/reviewList.vue +++ b/src/views/caseManage/reviewList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/revisitList.vue b/src/views/caseManage/revisitList.vue index 0ccd5ce..8fa2159 100644 --- a/src/views/caseManage/revisitList.vue +++ b/src/views/caseManage/revisitList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/searchList.vue b/src/views/caseManage/searchList.vue index b5b9a5a..d80fece 100644 --- a/src/views/caseManage/searchList.vue +++ b/src/views/caseManage/searchList.vue @@ -120,6 +120,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/urgeList.vue b/src/views/caseManage/urgeList.vue index d131895..b56f832 100644 --- a/src/views/caseManage/urgeList.vue +++ b/src/views/caseManage/urgeList.vue @@ -175,6 +175,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/waitForCreate.vue b/src/views/caseManage/waitForCreate.vue index 6252460..52463e5 100644 --- a/src/views/caseManage/waitForCreate.vue +++ b/src/views/caseManage/waitForCreate.vue @@ -22,6 +22,9 @@ start-placeholder="来电开始时间" end-placeholder="来电结束时间"/> + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/src/utils/index.js b/src/utils/index.js index 1095ef0..0a17e69 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -327,3 +327,14 @@ ele.className = ele.className.replace(reg, ' ') } } + +/** + * 获取当前url + */ +export function getCurrentUrl(){ + if(process.env.NODE_ENV === 'development'){ + return location.protocol + "//" + window.location.host + }else{ + return location.protocol + "//" + window.location.host+'/callcenter/#/dashboard' + } +} diff --git a/src/utils/request.js b/src/utils/request.js index 4213578..8e082ac 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,7 +1,9 @@ import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '../store' -import { getToken } from '@/utils/auth' +import { getToken, getTicket } from '@/utils/auth' +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' // 创建axios实例 const service = axios.create({ @@ -15,6 +17,7 @@ if (store.getters.token) { // console.log('request.js gettoken') config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + config.headers['ticket'] = getTicket() // 让每个请求携带自定义token 请根据实际情况自行修改 // console.log(config.headers['token']) } return config @@ -51,17 +54,31 @@ location.reload() // 为了重新实例化vue-router对象 避免bug }) }) - } else if (res.code === 402) { - console.log('402页面跳转') - // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' + } else if (res.code === 402 || res.code === 501) { + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('402 to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + } } else { - Message({ - showClose: true, - message: res.message, - type: 'error', - duration: 3000 - }) + if(res.message){ + Message({ + showClose: true, + message: res.message, + type: 'error', + duration: 3000 + }) + }else{ + Message({ + showClose: true, + message: '错误代码:'+res.code, + type: 'error', + duration: 3000 + }) + } + return Promise.reject(res) } // return Promise.reject(res) diff --git a/src/views/caseManage/caseCommon/SwiperImg.vue b/src/views/caseManage/caseCommon/SwiperImg.vue new file mode 100644 index 0000000..4ff3fd2 --- /dev/null +++ b/src/views/caseManage/caseCommon/SwiperImg.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseFormProcess.vue b/src/views/caseManage/caseCommon/caseFormProcess.vue index ebe3d04..e53ee82 100644 --- a/src/views/caseManage/caseCommon/caseFormProcess.vue +++ b/src/views/caseManage/caseCommon/caseFormProcess.vue @@ -4,119 +4,201 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + - - - - - - + - - - + - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - 回访拨号 - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + +
+ 本地号码 + 外地号码 +
+ 回访拨号 +
+
+ + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
@@ -132,74 +214,132 @@ width="600px" append-to-body custom-class="sound-dialog" - @close="closeSound"> - + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseListTable.vue b/src/views/caseManage/caseCommon/caseListTable.vue index 64cc490..2e3b715 100644 --- a/src/views/caseManage/caseCommon/caseListTable.vue +++ b/src/views/caseManage/caseCommon/caseListTable.vue @@ -1,9 +1,11 @@ diff --git a/src/views/caseManage/delayApplyList.vue b/src/views/caseManage/delayApplyList.vue index 1eb2cf0..3a4db80 100644 --- a/src/views/caseManage/delayApplyList.vue +++ b/src/views/caseManage/delayApplyList.vue @@ -185,6 +185,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/delayList.vue b/src/views/caseManage/delayList.vue index e6af389..e9115aa 100644 --- a/src/views/caseManage/delayList.vue +++ b/src/views/caseManage/delayList.vue @@ -170,6 +170,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/reviewList.vue b/src/views/caseManage/reviewList.vue index 2a6460e..9a5c31e 100644 --- a/src/views/caseManage/reviewList.vue +++ b/src/views/caseManage/reviewList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/revisitList.vue b/src/views/caseManage/revisitList.vue index 0ccd5ce..8fa2159 100644 --- a/src/views/caseManage/revisitList.vue +++ b/src/views/caseManage/revisitList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/searchList.vue b/src/views/caseManage/searchList.vue index b5b9a5a..d80fece 100644 --- a/src/views/caseManage/searchList.vue +++ b/src/views/caseManage/searchList.vue @@ -120,6 +120,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/urgeList.vue b/src/views/caseManage/urgeList.vue index d131895..b56f832 100644 --- a/src/views/caseManage/urgeList.vue +++ b/src/views/caseManage/urgeList.vue @@ -175,6 +175,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/waitForCreate.vue b/src/views/caseManage/waitForCreate.vue index 6252460..52463e5 100644 --- a/src/views/caseManage/waitForCreate.vue +++ b/src/views/caseManage/waitForCreate.vue @@ -22,6 +22,9 @@ start-placeholder="来电开始时间" end-placeholder="来电结束时间"/> + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/src/utils/index.js b/src/utils/index.js index 1095ef0..0a17e69 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -327,3 +327,14 @@ ele.className = ele.className.replace(reg, ' ') } } + +/** + * 获取当前url + */ +export function getCurrentUrl(){ + if(process.env.NODE_ENV === 'development'){ + return location.protocol + "//" + window.location.host + }else{ + return location.protocol + "//" + window.location.host+'/callcenter/#/dashboard' + } +} diff --git a/src/utils/request.js b/src/utils/request.js index 4213578..8e082ac 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,7 +1,9 @@ import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '../store' -import { getToken } from '@/utils/auth' +import { getToken, getTicket } from '@/utils/auth' +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' // 创建axios实例 const service = axios.create({ @@ -15,6 +17,7 @@ if (store.getters.token) { // console.log('request.js gettoken') config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + config.headers['ticket'] = getTicket() // 让每个请求携带自定义token 请根据实际情况自行修改 // console.log(config.headers['token']) } return config @@ -51,17 +54,31 @@ location.reload() // 为了重新实例化vue-router对象 避免bug }) }) - } else if (res.code === 402) { - console.log('402页面跳转') - // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' + } else if (res.code === 402 || res.code === 501) { + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('402 to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + } } else { - Message({ - showClose: true, - message: res.message, - type: 'error', - duration: 3000 - }) + if(res.message){ + Message({ + showClose: true, + message: res.message, + type: 'error', + duration: 3000 + }) + }else{ + Message({ + showClose: true, + message: '错误代码:'+res.code, + type: 'error', + duration: 3000 + }) + } + return Promise.reject(res) } // return Promise.reject(res) diff --git a/src/views/caseManage/caseCommon/SwiperImg.vue b/src/views/caseManage/caseCommon/SwiperImg.vue new file mode 100644 index 0000000..4ff3fd2 --- /dev/null +++ b/src/views/caseManage/caseCommon/SwiperImg.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseFormProcess.vue b/src/views/caseManage/caseCommon/caseFormProcess.vue index ebe3d04..e53ee82 100644 --- a/src/views/caseManage/caseCommon/caseFormProcess.vue +++ b/src/views/caseManage/caseCommon/caseFormProcess.vue @@ -4,119 +4,201 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + - - - - - - + - - - + - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - 回访拨号 - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + +
+ 本地号码 + 外地号码 +
+ 回访拨号 +
+
+ + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
@@ -132,74 +214,132 @@ width="600px" append-to-body custom-class="sound-dialog" - @close="closeSound"> - + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseListTable.vue b/src/views/caseManage/caseCommon/caseListTable.vue index 64cc490..2e3b715 100644 --- a/src/views/caseManage/caseCommon/caseListTable.vue +++ b/src/views/caseManage/caseCommon/caseListTable.vue @@ -1,9 +1,11 @@ diff --git a/src/views/caseManage/delayApplyList.vue b/src/views/caseManage/delayApplyList.vue index 1eb2cf0..3a4db80 100644 --- a/src/views/caseManage/delayApplyList.vue +++ b/src/views/caseManage/delayApplyList.vue @@ -185,6 +185,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/delayList.vue b/src/views/caseManage/delayList.vue index e6af389..e9115aa 100644 --- a/src/views/caseManage/delayList.vue +++ b/src/views/caseManage/delayList.vue @@ -170,6 +170,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/reviewList.vue b/src/views/caseManage/reviewList.vue index 2a6460e..9a5c31e 100644 --- a/src/views/caseManage/reviewList.vue +++ b/src/views/caseManage/reviewList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/revisitList.vue b/src/views/caseManage/revisitList.vue index 0ccd5ce..8fa2159 100644 --- a/src/views/caseManage/revisitList.vue +++ b/src/views/caseManage/revisitList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/searchList.vue b/src/views/caseManage/searchList.vue index b5b9a5a..d80fece 100644 --- a/src/views/caseManage/searchList.vue +++ b/src/views/caseManage/searchList.vue @@ -120,6 +120,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/urgeList.vue b/src/views/caseManage/urgeList.vue index d131895..b56f832 100644 --- a/src/views/caseManage/urgeList.vue +++ b/src/views/caseManage/urgeList.vue @@ -175,6 +175,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/waitForCreate.vue b/src/views/caseManage/waitForCreate.vue index 6252460..52463e5 100644 --- a/src/views/caseManage/waitForCreate.vue +++ b/src/views/caseManage/waitForCreate.vue @@ -22,6 +22,9 @@ start-placeholder="来电开始时间" end-placeholder="来电结束时间"/> + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/src/utils/index.js b/src/utils/index.js index 1095ef0..0a17e69 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -327,3 +327,14 @@ ele.className = ele.className.replace(reg, ' ') } } + +/** + * 获取当前url + */ +export function getCurrentUrl(){ + if(process.env.NODE_ENV === 'development'){ + return location.protocol + "//" + window.location.host + }else{ + return location.protocol + "//" + window.location.host+'/callcenter/#/dashboard' + } +} diff --git a/src/utils/request.js b/src/utils/request.js index 4213578..8e082ac 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,7 +1,9 @@ import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '../store' -import { getToken } from '@/utils/auth' +import { getToken, getTicket } from '@/utils/auth' +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' // 创建axios实例 const service = axios.create({ @@ -15,6 +17,7 @@ if (store.getters.token) { // console.log('request.js gettoken') config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + config.headers['ticket'] = getTicket() // 让每个请求携带自定义token 请根据实际情况自行修改 // console.log(config.headers['token']) } return config @@ -51,17 +54,31 @@ location.reload() // 为了重新实例化vue-router对象 避免bug }) }) - } else if (res.code === 402) { - console.log('402页面跳转') - // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' + } else if (res.code === 402 || res.code === 501) { + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('402 to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + } } else { - Message({ - showClose: true, - message: res.message, - type: 'error', - duration: 3000 - }) + if(res.message){ + Message({ + showClose: true, + message: res.message, + type: 'error', + duration: 3000 + }) + }else{ + Message({ + showClose: true, + message: '错误代码:'+res.code, + type: 'error', + duration: 3000 + }) + } + return Promise.reject(res) } // return Promise.reject(res) diff --git a/src/views/caseManage/caseCommon/SwiperImg.vue b/src/views/caseManage/caseCommon/SwiperImg.vue new file mode 100644 index 0000000..4ff3fd2 --- /dev/null +++ b/src/views/caseManage/caseCommon/SwiperImg.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseFormProcess.vue b/src/views/caseManage/caseCommon/caseFormProcess.vue index ebe3d04..e53ee82 100644 --- a/src/views/caseManage/caseCommon/caseFormProcess.vue +++ b/src/views/caseManage/caseCommon/caseFormProcess.vue @@ -4,119 +4,201 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + - - - - - - + - - - + - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - 回访拨号 - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + +
+ 本地号码 + 外地号码 +
+ 回访拨号 +
+
+ + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
@@ -132,74 +214,132 @@ width="600px" append-to-body custom-class="sound-dialog" - @close="closeSound"> - + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseListTable.vue b/src/views/caseManage/caseCommon/caseListTable.vue index 64cc490..2e3b715 100644 --- a/src/views/caseManage/caseCommon/caseListTable.vue +++ b/src/views/caseManage/caseCommon/caseListTable.vue @@ -1,9 +1,11 @@ diff --git a/src/views/caseManage/delayApplyList.vue b/src/views/caseManage/delayApplyList.vue index 1eb2cf0..3a4db80 100644 --- a/src/views/caseManage/delayApplyList.vue +++ b/src/views/caseManage/delayApplyList.vue @@ -185,6 +185,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/delayList.vue b/src/views/caseManage/delayList.vue index e6af389..e9115aa 100644 --- a/src/views/caseManage/delayList.vue +++ b/src/views/caseManage/delayList.vue @@ -170,6 +170,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/reviewList.vue b/src/views/caseManage/reviewList.vue index 2a6460e..9a5c31e 100644 --- a/src/views/caseManage/reviewList.vue +++ b/src/views/caseManage/reviewList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/revisitList.vue b/src/views/caseManage/revisitList.vue index 0ccd5ce..8fa2159 100644 --- a/src/views/caseManage/revisitList.vue +++ b/src/views/caseManage/revisitList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/searchList.vue b/src/views/caseManage/searchList.vue index b5b9a5a..d80fece 100644 --- a/src/views/caseManage/searchList.vue +++ b/src/views/caseManage/searchList.vue @@ -120,6 +120,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/urgeList.vue b/src/views/caseManage/urgeList.vue index d131895..b56f832 100644 --- a/src/views/caseManage/urgeList.vue +++ b/src/views/caseManage/urgeList.vue @@ -175,6 +175,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/waitForCreate.vue b/src/views/caseManage/waitForCreate.vue index 6252460..52463e5 100644 --- a/src/views/caseManage/waitForCreate.vue +++ b/src/views/caseManage/waitForCreate.vue @@ -22,6 +22,9 @@ start-placeholder="来电开始时间" end-placeholder="来电结束时间"/> + + + + diff --git a/build/webpack.base.conf.js b/build/webpack.base.conf.js index dec2bb9..b2f30b9 100644 --- a/build/webpack.base.conf.js +++ b/build/webpack.base.conf.js @@ -26,7 +26,8 @@ module.exports = { context: path.resolve(__dirname, '../'), entry: { - app: [ "babel-polyfill", "./src/main.js"] + // app: [ "babel-polyfill", "./src/main.js"] + app: ["./src/main.js"] }, output: { path: config.build.assetsRoot, @@ -51,7 +52,7 @@ }, module: { rules: [ - ...(config.dev.useEslint ? [createLintingRule()] : []), + // ...(config.dev.useEslint ? [createLintingRule()] : []), { test: /\.vue$/, loader: 'vue-loader', diff --git a/config/dev.env.js b/config/dev.env.js index 35311ea..8e2e117 100644 --- a/config/dev.env.js +++ b/config/dev.env.js @@ -1,8 +1,8 @@ -'use strict' +"use strict"; //引入webpack的merge插件,用来合并对象,也就是配置文件用的,相同的选项会被覆盖 -const merge = require('webpack-merge') +const merge = require("webpack-merge"); //导入prod.env.js配置文件 -const prodEnv = require('./prod.env') +const prodEnv = require("./prod.env"); // 将两个配置对象合并,最终结果是 NODE_ENV:‘"development"' module.exports = merge(prodEnv, { NODE_ENV: '"development"', @@ -10,10 +10,11 @@ // BASE_API: '"http://106.74.146.218:2031"' // BASE_API: '"http://192.168.0.212:8083"' // BASE_API: '"http://192.168.13.116:8085/callcenter/api"' - BASE_API: '"http://111.198.10.15:11402/callcenter/api"' + BASE_API: '"http://111.198.10.15:11402/callcenter/api"' // default + // BASE_API: '"http://11.100.6.163:8083/callcenter/api"' // BASE_API: '"http://11.100.6.163:8087/callcenter/api"' // BASE_API: '"http://192.168.0.123:20007"' // BASE_API: '"http://192.168.2.107:20007"' // BASE_API: '"http://192.170.1.102:8093"' // BASE_API: '"http://127.0.0.1:8083"' -}) +}); diff --git a/favicon.ico b/favicon.ico index 34b63ac..481fdb4 100644 --- a/favicon.ico +++ b/favicon.ico Binary files differ diff --git a/index.html b/index.html index b294ef8..28e062c 100644 --- a/index.html +++ b/index.html @@ -1,24 +1,61 @@ - - - - - - - + + + + + + + + + + + + + + + + + + + + -
+ + + + +
+
+
- + diff --git a/package.json b/package.json index fb32aa2..34dfc58 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,7 @@ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml" }, "dependencies": { + "@supermap/iclient-leaflet": "^11.0.1", "animate.css": "^3.7.2", "axios": "0.18.0", "babel-polyfill": "^6.26.0", @@ -23,6 +24,7 @@ "event-source-polyfill": "^1.0.5", "js-cookie": "2.2.0", "jsencrypt": "^3.0.0-rc.1", + "leaflet": "^1.9.3", "mockjs": "1.0.1-beta3", "normalize.css": "7.0.0", "nprogress": "0.2.0", @@ -31,6 +33,7 @@ "vue-amap": "^0.5.9", "vue-baidu-map": "^0.21.22", "vue-router": "3.0.1", + "vue-slide-mini": "^1.0.4", "vuex": "3.0.1", "wangeditor": "^3.1.1" }, diff --git a/src/api/callCase.js b/src/api/callCase.js index cd61986..859d7c2 100644 --- a/src/api/callCase.js +++ b/src/api/callCase.js @@ -126,3 +126,42 @@ } }) } + +// 社会治理事流转步骤接口 +export function eventStepList(params) { + return request({ + url: '/case/eventStepList', + // method: 'post', + params + }) +} + + +// 社会治理事流转步骤接口 运维 +export function eventCenterList(params) { + return request({ + url: '/case/eventCenterList', + // method: 'post', + params + }) +} + + +export function processPicture(params) { + return request({ + url: 'case/processPicture', + // method: 'post', + params + }) +} + + + +// 社会治理-事件详情查询接口 +export function socialDetail(params) { + return request({ + url: '/case/social-detail', + // method: 'post', + params + }) +} diff --git a/src/api/cti.js b/src/api/cti.js index 790c156..f4bd402 100644 --- a/src/api/cti.js +++ b/src/api/cti.js @@ -16,7 +16,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -31,7 +31,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -47,7 +47,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) @@ -62,7 +62,7 @@ type: 'get', params: { username: 'Admin', - password: 'admin' + password: 'admin123456' } } }) diff --git a/src/api/login.js b/src/api/login.js index 0f9f5b9..72792ee 100644 --- a/src/api/login.js +++ b/src/api/login.js @@ -8,10 +8,13 @@ }) } // 特殊登录,直接请求 -export function applogin() { +export function appLogin(ticket) { return request({ - url: '/app/token', - method: 'get' + url: '/client/getTokenByTicket', + method: 'post', + params:{ + ticket:ticket + } }) } // 获取用户信息 diff --git a/src/api/map.js b/src/api/map.js new file mode 100644 index 0000000..adc676d --- /dev/null +++ b/src/api/map.js @@ -0,0 +1,21 @@ +// 精一地图相关请求 + +import request from '@/utils/request' + +export function matchReverse(lng,lat) { + return request({ + url: 'http://11.100.6.5:8084/services/address/matchReverse', + method: 'post', + headers:{ + 'F-Auth-Key': '59T1JU2P28', + 'Content-Type': 'application/json;charset=UTF-8' + }, + data:{ + xcoord: lng, + ycoord: lat, + thresholdValue: 100, + dzlx: 1, + rownum: 1 + } + }) +} diff --git a/src/api/qualityCheck.js b/src/api/qualityCheck.js index 372fef3..9195ec1 100644 --- a/src/api/qualityCheck.js +++ b/src/api/qualityCheck.js @@ -144,3 +144,12 @@ } }) } + +// 获得处置人员列表 +export function getKefuList(params) { + return request({ + url: '/mgr/simpleAllList', + method: 'post', + params + }) +} diff --git "a/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" new file mode 100644 index 0000000..9926c89 --- /dev/null +++ "b/src/assets/global_images/appLogo - \345\211\257\346\234\254.png" Binary files differ diff --git a/src/assets/global_images/appLogo.png b/src/assets/global_images/appLogo.png index 9926c89..57ad74a 100644 --- a/src/assets/global_images/appLogo.png +++ b/src/assets/global_images/appLogo.png Binary files differ diff --git a/src/assets/global_images/done.png b/src/assets/global_images/done.png new file mode 100644 index 0000000..c9a2c5e --- /dev/null +++ b/src/assets/global_images/done.png Binary files differ diff --git a/src/assets/global_images/process.png b/src/assets/global_images/process.png new file mode 100644 index 0000000..311fe3a --- /dev/null +++ b/src/assets/global_images/process.png Binary files differ diff --git a/src/components/NomalTable/index.vue b/src/components/NomalTable/index.vue index 55a7378..8616987 100644 --- a/src/components/NomalTable/index.vue +++ b/src/components/NomalTable/index.vue @@ -55,7 +55,7 @@ - + @@ -176,7 +176,10 @@ refresh: false // 是否需要刷新按钮 } } - }// 表格工具配置 + },// 表格工具配置 + height:{ + type:String, + } }, data() { return { diff --git a/src/components/SelectTree/singleSelect.vue b/src/components/SelectTree/singleSelect.vue index ba15b20..3336346 100644 --- a/src/components/SelectTree/singleSelect.vue +++ b/src/components/SelectTree/singleSelect.vue @@ -6,7 +6,8 @@ trigger="click" class="select-tree scrollbar" @show="onShowPopover" - @hide="onHidePopover"> + @hide="onHidePopover" + > + @node-click="onClickNode" + /> + suffix-icon="el-icon-arrow-down" + /> diff --git a/src/components/fMap/components/fMap.vue b/src/components/fMap/components/fMap.vue index b0d6791..d4352b3 100644 --- a/src/components/fMap/components/fMap.vue +++ b/src/components/fMap/components/fMap.vue @@ -85,7 +85,11 @@ poiBaseUrl: { type: String, default: 'http://11.100.6.5:8084/services/resource/singleSearch/' - } + }, + matchServiceUrl:{ + type: String, + default: 'http://11.100.6.5:8084/services/address/matchReverse/' + } // 逆地址解析服务 }, data() { return { @@ -153,6 +157,7 @@ } } }, + // 查询位置 queryPoi(keyword) { // 清除之前的查询结果 this.fmap.clearLayer('poi') @@ -180,6 +185,10 @@ }) } }, + // 逆地址解析 + queryAddress(){ + + }, // 清空地图 clearMap() { this.fmap.clearMap() diff --git a/src/components/fdMap/index.vue b/src/components/fdMap/index.vue new file mode 100644 index 0000000..d1ca87b --- /dev/null +++ b/src/components/fdMap/index.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/src/components/fdSelectMap/data.js b/src/components/fdSelectMap/data.js new file mode 100644 index 0000000..0b569d4 --- /dev/null +++ b/src/components/fdSelectMap/data.js @@ -0,0 +1,408 @@ +export default { + "type": "GeometryCollection", + "geometries": [ + { + "type": "Polygon", + "coordinates": [ + [ + [ + 114.82727771820117, + 25.786379601991115 + ], + [ + 114.82866452104602, + 25.789702596409725 + ], + [ + 114.83335869255683, + 25.79238403648864 + ], + [ + 114.83787859110095, + 25.795224293254627 + ], + [ + 114.83874664726015, + 25.796489377505377 + ], + [ + 114.83874435663957, + 25.797914955134246 + ], + [ + 114.83717717250644, + 25.79855231774635 + ], + [ + 114.8323205726462, + 25.799567355499118 + ], + [ + 114.82825337853998, + 25.800277461563773 + ], + [ + 114.82567148888693, + 25.800955070758143 + ], + [ + 114.82342538796948, + 25.801278190137744 + ], + [ + 114.82081282054966, + 25.802710055357995 + ], + [ + 114.81959214624271, + 25.804296964710495 + ], + [ + 114.81802241697561, + 25.806518302465786 + ], + [ + 114.81680225169545, + 25.807788416789652 + ], + [ + 114.81401617484916, + 25.808903906154026 + ], + [ + 114.812796009569, + 25.81017402047789 + ], + [ + 114.81279397346181, + 25.811441200592437 + ], + [ + 114.81540272318063, + 25.812385298086955 + ], + [ + 114.82079729523232, + 25.812372303731415 + ], + [ + 114.82392911836459, + 25.812681553650386 + ], + [ + 114.82671239556349, + 25.813308436943515 + ], + [ + 114.83627501155175, + 25.818512500414258 + ], + [ + 114.84201253024204, + 25.821666617999572 + ], + [ + 114.84648576053405, + 25.823789983836047 + ], + [ + 114.86115099691534, + 25.823838074196512 + ], + [ + 114.86619931365428, + 25.822717135586267 + ], + [ + 114.87090035702685, + 25.821121842778577 + ], + [ + 114.87316412399991, + 25.820166008446797 + ], + [ + 114.87542636389254, + 25.82016055920093 + ], + [ + 114.87664245695832, + 25.82142480510616 + ], + [ + 114.87768325900383, + 25.823481457755744 + ], + [ + 114.87698362200311, + 25.825700699647236 + ], + [ + 114.87204700704874, + 25.83121472546547 + ], + [ + 114.87209287556692, + 25.833953351079085 + ], + [ + 114.87278374670524, + 25.836288870726875 + ], + [ + 114.87468294255684, + 25.837343646342433 + ], + [ + 114.87860044170971, + 25.83846699251721 + ], + [ + 114.88469468707076, + 25.838161388186084 + ], + [ + 114.88969097995196, + 25.833804895268294 + ], + [ + 114.89403801271267, + 25.827733568832063 + ], + [ + 114.89745551900472, + 25.82108003567267 + ], + [ + 114.90301535419461, + 25.815955453282488 + ], + [ + 114.90587812679937, + 25.814451953356055 + ], + [ + 114.90763250341945, + 25.812163136524546 + ], + [ + 114.90885266869961, + 25.810893022200684 + ], + [ + 114.91199721750182, + 25.803282396403734 + ], + [ + 114.91600498670867, + 25.799946407629587 + ], + [ + 114.91966013776776, + 25.799462412458684 + ], + [ + 114.92209461451989, + 25.800565326640285 + ], + [ + 114.92400652688539, + 25.8019862933688 + ], + [ + 114.92679005859769, + 25.802454779147606 + ], + [ + 114.92992544491753, + 25.800546463866116 + ], + [ + 114.93132090121796, + 25.798483942797905 + ], + [ + 114.93236959317882, + 25.795630272503622 + ], + [ + 114.93219837437294, + 25.793888319018876 + ], + [ + 114.93080851736728, + 25.792466094772088 + ], + [ + 114.9221185387794, + 25.785675960294363 + ], + [ + 114.91395392422555, + 25.776825400612218 + ], + [ + 114.91291286766666, + 25.77492714547695 + ], + [ + 114.915004906807, + 25.77254615268906 + ], + [ + 114.91709516435357, + 25.771273942501406 + ], + [ + 114.91709770948756, + 25.769689967358218 + ], + [ + 114.9157088705355, + 25.76763415305416 + ], + [ + 114.9129273749304, + 25.7658984871608 + ], + [ + 114.90614549100702, + 25.76290528212636 + ], + [ + 114.8979752771584, + 25.757539467759226 + ], + [ + 114.89258834050867, + 25.75280053668521 + ], + [ + 114.88668138460628, + 25.74679568301493 + ], + [ + 114.88477125383457, + 25.744265933686187 + ], + [ + 114.88217268465174, + 25.736985935618932 + ], + [ + 114.87505039922377, + 25.729241643500462 + ], + [ + 114.86357816149058, + 25.721191035672334 + ], + [ + 114.85158005069658, + 25.715517648077263 + ], + [ + 114.84079701491474, + 25.71174209644469 + ], + [ + 114.83731740938933, + 25.711275287356926 + ], + [ + 114.83522867892316, + 25.711597112458673 + ], + [ + 114.82982341730869, + 25.718262802415584 + ], + [ + 114.82842490684746, + 25.722226093655618 + ], + [ + 114.8292863456583, + 25.727609513278644 + ], + [ + 114.83119113164862, + 25.73346561040807 + ], + [ + 114.82978931251321, + 25.739488069334246 + ], + [ + 114.82804276514543, + 25.7434521989198 + ], + [ + 114.82663890990283, + 25.750741837960515 + ], + [ + 114.8245417804945, + 25.756290781034775 + ], + [ + 114.82297306928098, + 25.757878528732785 + ], + [ + 114.82036151991477, + 25.758676803895774 + ], + [ + 114.81026590449049, + 25.76028509105899 + ], + [ + 114.80434673194495, + 25.761883318075988 + ], + [ + 114.80068547256428, + 25.76616885359053 + ], + [ + 114.7996385621972, + 25.76791374128459 + ], + [ + 114.80050585481622, + 25.769654018078292 + ], + [ + 114.80485275296066, + 25.77186110395977 + ], + [ + 114.81041854381824, + 25.773590063088974 + ], + [ + 114.81615962569613, + 25.77452661547383 + ], + [ + 114.82103061530759, + 25.775465263722477 + ], + [ + 114.82415683914508, + 25.77925925895645 + ], + [ + 114.82537115061706, + 25.781632287461914 + ], + [ + 114.82727771820117, + 25.786379601991115 + ] + ] + ] + } + ] +} diff --git a/src/components/fdSelectMap/index.vue b/src/components/fdSelectMap/index.vue new file mode 100644 index 0000000..df82882 --- /dev/null +++ b/src/components/fdSelectMap/index.vue @@ -0,0 +1,156 @@ + + + + diff --git a/src/layout/components/AppHeader.vue b/src/layout/components/AppHeader.vue index 46e9054..ae241e2 100644 --- a/src/layout/components/AppHeader.vue +++ b/src/layout/components/AppHeader.vue @@ -66,7 +66,7 @@ // if (BASE_API.search('http://10.18.0.94') !== -1) { if (BASE_API.search('http://11.100.6.163') !== -1) { // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/logout' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/logout' } else { location.reload() // this.$router.replace('/') diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue index 193b604..fcee4da 100644 --- a/src/layout/components/Navbar.vue +++ b/src/layout/components/Navbar.vue @@ -38,6 +38,7 @@ height: 50px; line-height: 50px; box-shadow: 0 1px 3px 0 rgba(0,0,0,.12), 0 0 3px 0 rgba(0,0,0,.04); + background: #fff; .hamburger-container { line-height: 58px; height: 50px; diff --git a/src/main.js b/src/main.js index a1a5ee5..8a018b1 100644 --- a/src/main.js +++ b/src/main.js @@ -31,23 +31,22 @@ // } // 兼容IE11 -import 'babel-polyfill' +// import 'babel-polyfill' // 暂时取消 // 引入animate.css库,此处关闭eslint校验 // eslint-disable-next-line import animate from 'animate.css' import { hasPermission, isReceiver } from './utils/permission' - +// 引入全局标题 +import { getProject } from '@/utils/baseConfig' +// 引入v-charts +import VCharts from 'v-charts' Vue.prototype.hasPerm = hasPermission Vue.prototype.isReceiver = isReceiver // 引入Element-ui Vue.use(ElementUI, { locale }) - -// 引入全局标题 -import { getProject } from '@/utils/baseConfig' document.title = getProject().title - // 引入高德地图 /* import VueAMap from 'vue-amap' @@ -59,8 +58,7 @@ Vue.config.productionTip = false */ -// 引入v-charts -import VCharts from 'v-charts' + Vue.use(VCharts) // js禁止浏览器的回退快捷键 diff --git a/src/permission.js b/src/permission.js index 88cf056..ba18469 100644 --- a/src/permission.js +++ b/src/permission.js @@ -3,7 +3,9 @@ import NProgress from 'nprogress' // progress bar 进度条 import 'nprogress/nprogress.css' // progress bar style 进度条样式 import { Message } from 'element-ui' -import { getToken } from '@/utils/auth' // getToken from cookie +import { getToken, getQueryVariable, getCookie, setTicket } from '@/utils/auth' // getToken from cookie +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' NProgress.configure({ showSpinner: false })// NProgress configuration @@ -11,6 +13,15 @@ // 全局钩子 router.beforeEach((to, from, next) => { NProgress.start() // 加载进度条 + // 从地址获取ticket + let ticket= getQueryVariable("ticket") + // 没有从cookie找ticket + if(ticket==undefined||ticket==null||ticket=="null"){ + ticket = getCookie("ticket") + } + if(ticket){ + setTicket(ticket) + } // 如果有token if (getToken()) { // 登录后进入登录页 @@ -36,19 +47,31 @@ next() } } - } else { + } else { // 没有token if (whiteList.indexOf(to.path) !== -1) { // 免登录白名单,直接进入 next() - } else { - const token = to.query.sid - // 直接调用登录接口 - store.dispatch('AppLogin', token).then(() => { - Message.success('自动登录成功') - next({ path: '/' }) - }).catch(() => { - next(`/login`) // 否则全部重定向到登录页 - }) - NProgress.done() + }else{ + if(ticket){ // 有ticket + // 不在白名单,传ticket给后台, 换token + store.dispatch('AppLogin', ticket).then(() => { + Message.success('自动登录成功') + next({ path: '/' }) + }).catch(() => { + next(`/login`) // 否则全部重定向到登录页 + }) + NProgress.done() + }else{ // 没有ticket + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + // 不是localhost 跳转到单点登录 + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + }else{// 如果是localhost 直接下一步 + next(`/login`) + } + } } } }) diff --git a/src/router/index.js b/src/router/index.js index 223640d..a848e68 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -56,12 +56,14 @@ { path: '/', component: Layout, - redirect: 'dashboard', + // redirect: '', + // redirect: 'dashboard', name: 'Dashboard', hidden: true, children: [{ path: 'dashboard', name: 'Dashboard', + // component: () => import('@/views/test'), component: () => import('@/views/dashboard/index'), meta: { title: '首页', icon: 'dashboard', noCache: false, keepAlive: true, affix: true } }] diff --git a/src/settings.js b/src/settings.js index b8159bf..cb56a91 100644 --- a/src/settings.js +++ b/src/settings.js @@ -1,4 +1,10 @@ module.exports = { + // 单点登录sso地址 + // ssoServer: 'http://city.bushub.rj.prd/authCenter/ssoServer', + ssoServer: 'http://11.100.5.113:31102/ssoServer', // 正式 + // ssoServer: 'http://182.92.120.130:8808/ssoServer', // 测试 + // appId + appId: ' 887390570066092032', /** * @type {boolean} true | false * @description 是否显示设置按钮 diff --git a/src/store/modules/user.js b/src/store/modules/user.js index 2f05ac2..d955346 100644 --- a/src/store/modules/user.js +++ b/src/store/modules/user.js @@ -1,6 +1,8 @@ -import { login, logout, getInfo } from '@/api/login' -import { getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' +import { login, logout, getInfo, appLogin } from '@/api/login' +import { setTicket, getTicket, removeTicket, getToken, setToken, removeToken, getSeat, setSeat, removeSeat, getExten, setExten, removeExten } from '@/utils/auth' import { getProject } from '@/utils/baseConfig' +import defaultSettings from '@/settings' +import {getCurrentUrl} from '@/utils/index' const user = { state: { @@ -102,13 +104,19 @@ }) }, // 登录 - AppLogin({ commit }, token) { + AppLogin({ commit }, ticket) { + setTicket(ticket) return new Promise((resolve, reject) => { // 如果token存在直接setToken - if (token) { - setToken(token) - commit('SET_TOKEN', token) - resolve() + if (ticket) { + appLogin(ticket).then(response => { + if (response.code === 200) { + const token = response.data.token + setToken(token) + commit('SET_TOKEN', token) + resolve() + } + }) } else { // 判断是开发环境还是生产环境, // 生产环境不存在跳转到公共登陆平台 @@ -117,8 +125,8 @@ if (process.env.NODE_ENV === 'development' || BASE_API.search('http://11.100.6.163') === -1) { reject() } else { - const systemName = getProject().type - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName + // const systemName = getProject().type + // window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin?systemName=' + systemName } } }) @@ -168,6 +176,16 @@ removeExten() removeSeat() // removeOnline() + // 单点登出 + const ssoServerLogout = `${defaultSettings.ssoServer}/logout` + const currentUrl = getCurrentUrl() + // 获取ticket + const ticket = getTicket() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('logout:'+`${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}`) + window.location.href = `${ssoServerLogout}?ticket=${ticket}&redirect_url=${currentUrl}` + removeTicket() + } resolve() }).catch(error => { reject(error) diff --git a/src/styles/index.scss b/src/styles/index.scss index 3f18397..b3b0aa6 100644 --- a/src/styles/index.scss +++ b/src/styles/index.scss @@ -77,6 +77,7 @@ .app-container { padding: 20px; + background: #fff; } .app-header{ background-color:$themeColor; diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss index 65abe46..8236420 100644 --- a/src/styles/sidebar.scss +++ b/src/styles/sidebar.scss @@ -212,3 +212,8 @@ .is-active>.light-line{ background-color: $menuActiveText } + +.el-image-viewer__close{ + color: #fff !important; + font-size: 52px !important; +} \ No newline at end of file diff --git a/src/utils/auth.js b/src/utils/auth.js index 54fa9d7..c2bacf1 100644 --- a/src/utils/auth.js +++ b/src/utils/auth.js @@ -4,6 +4,7 @@ const PublicKey = 'public_key' const Seat = 'seat' const Exten = 'exten' +const Ticket = 'ticket' export function getToken() { return Cookies.get(TokenKey) @@ -17,6 +18,18 @@ return Cookies.remove(TokenKey) } +export function getTicket() { + return Cookies.get(Ticket) +} + +export function setTicket(ticket) { + return Cookies.set(Ticket, ticket) +} + +export function removeTicket() { + return Cookies.remove(Ticket) +} + export function getPublicKey() { return window.localStorage.getItem(PublicKey) } @@ -65,3 +78,36 @@ export function removeOnline() { return window.localStorage.removeItem('online') } + +//获取请求参数 +export function getQueryVariable(variable) +{ + var query = window.location.search.substring(1); + var vars = query.split("&"); + for (var i=0;i2){ + let times = pair.length-2 + let result = pair[1] + while(times>0){ + result+= '=' + times-=1 + } + return result; + }else if(pair.length==2){ + return pair[1] + } + } + } + return false +} +//获取cookie +export function getCookie(name){ + var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)"); + if(arr=document.cookie.match(reg)) + return unescape(arr[2]); + else + return null; +} + diff --git a/src/utils/index.js b/src/utils/index.js index 1095ef0..0a17e69 100644 --- a/src/utils/index.js +++ b/src/utils/index.js @@ -327,3 +327,14 @@ ele.className = ele.className.replace(reg, ' ') } } + +/** + * 获取当前url + */ +export function getCurrentUrl(){ + if(process.env.NODE_ENV === 'development'){ + return location.protocol + "//" + window.location.host + }else{ + return location.protocol + "//" + window.location.host+'/callcenter/#/dashboard' + } +} diff --git a/src/utils/request.js b/src/utils/request.js index 4213578..8e082ac 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -1,7 +1,9 @@ import axios from 'axios' import { Message, MessageBox } from 'element-ui' import store from '../store' -import { getToken } from '@/utils/auth' +import { getToken, getTicket } from '@/utils/auth' +import {getCurrentUrl} from '@/utils/index' +import defaultSettings from '@/settings' // 创建axios实例 const service = axios.create({ @@ -15,6 +17,7 @@ if (store.getters.token) { // console.log('request.js gettoken') config.headers['token'] = getToken() // 让每个请求携带自定义token 请根据实际情况自行修改 + config.headers['ticket'] = getTicket() // 让每个请求携带自定义token 请根据实际情况自行修改 // console.log(config.headers['token']) } return config @@ -51,17 +54,31 @@ location.reload() // 为了重新实例化vue-router对象 避免bug }) }) - } else if (res.code === 402) { - console.log('402页面跳转') - // window.location.href = 'http://10.18.0.50:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' - window.location.href = 'http://11.100.5.19:8086/platform-sso-server/login?service=' + process.env.BASE_API + '/app/caslogin' + } else if (res.code === 402 || res.code === 501) { + const ssoServerLogin = `${defaultSettings.ssoServer}/login` + const appId = defaultSettings.appId + const currentUrl = getCurrentUrl() + if(!(currentUrl.indexOf('localhost')!==-1||currentUrl.indexOf('111.198.10.15')!==-1)) { + console.log('402 to sso login:'+ ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl) + window.location.href = ssoServerLogin + "?&appId="+appId+"&redirect_url=" + currentUrl; + } } else { - Message({ - showClose: true, - message: res.message, - type: 'error', - duration: 3000 - }) + if(res.message){ + Message({ + showClose: true, + message: res.message, + type: 'error', + duration: 3000 + }) + }else{ + Message({ + showClose: true, + message: '错误代码:'+res.code, + type: 'error', + duration: 3000 + }) + } + return Promise.reject(res) } // return Promise.reject(res) diff --git a/src/views/caseManage/caseCommon/SwiperImg.vue b/src/views/caseManage/caseCommon/SwiperImg.vue new file mode 100644 index 0000000..4ff3fd2 --- /dev/null +++ b/src/views/caseManage/caseCommon/SwiperImg.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseFormProcess.vue b/src/views/caseManage/caseCommon/caseFormProcess.vue index ebe3d04..e53ee82 100644 --- a/src/views/caseManage/caseCommon/caseFormProcess.vue +++ b/src/views/caseManage/caseCommon/caseFormProcess.vue @@ -4,119 +4,201 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + - - - - - - + - - - + - - - - - - - - - - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - 回访拨号 - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + +
+ 本地号码 + 外地号码 +
+ 回访拨号 +
+
+ + + + + + + + + + + + + + + + + +
+ +
+
+
+
+
@@ -132,74 +214,132 @@ width="600px" append-to-body custom-class="sound-dialog" - @close="closeSound"> - + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseFormRead.vue b/src/views/caseManage/caseCommon/caseFormRead.vue index e754d2c..b203f96 100644 --- a/src/views/caseManage/caseCommon/caseFormRead.vue +++ b/src/views/caseManage/caseCommon/caseFormRead.vue @@ -4,125 +4,190 @@ - + - + - + - + - + - + + + + + + + + + + + + - - - - - - - - - - + + + + + - + - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - - - - - - - 播放录音 - - - - - - - - 播放录音 - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 播放录音 + + + + + + + + 播放录音 + + + + + + + + + + + + + + + + + + +
+ +
+
+
+ + + + + + + +
+
- + @close="closeSound" + > + + diff --git a/src/views/caseManage/caseCommon/caseImgShow.vue b/src/views/caseManage/caseCommon/caseImgShow.vue new file mode 100644 index 0000000..c6c911d --- /dev/null +++ b/src/views/caseManage/caseCommon/caseImgShow.vue @@ -0,0 +1,42 @@ + + + + + \ No newline at end of file diff --git a/src/views/caseManage/caseCommon/caseListTable.vue b/src/views/caseManage/caseCommon/caseListTable.vue index 64cc490..2e3b715 100644 --- a/src/views/caseManage/caseCommon/caseListTable.vue +++ b/src/views/caseManage/caseCommon/caseListTable.vue @@ -1,9 +1,11 @@ diff --git a/src/views/caseManage/delayApplyList.vue b/src/views/caseManage/delayApplyList.vue index 1eb2cf0..3a4db80 100644 --- a/src/views/caseManage/delayApplyList.vue +++ b/src/views/caseManage/delayApplyList.vue @@ -185,6 +185,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/delayList.vue b/src/views/caseManage/delayList.vue index e6af389..e9115aa 100644 --- a/src/views/caseManage/delayList.vue +++ b/src/views/caseManage/delayList.vue @@ -170,6 +170,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/reviewList.vue b/src/views/caseManage/reviewList.vue index 2a6460e..9a5c31e 100644 --- a/src/views/caseManage/reviewList.vue +++ b/src/views/caseManage/reviewList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/revisitList.vue b/src/views/caseManage/revisitList.vue index 0ccd5ce..8fa2159 100644 --- a/src/views/caseManage/revisitList.vue +++ b/src/views/caseManage/revisitList.vue @@ -74,6 +74,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: true } }) diff --git a/src/views/caseManage/searchList.vue b/src/views/caseManage/searchList.vue index b5b9a5a..d80fece 100644 --- a/src/views/caseManage/searchList.vue +++ b/src/views/caseManage/searchList.vue @@ -120,6 +120,7 @@ this.$router.push({ path: '/caseDetail/' + row.id, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/urgeList.vue b/src/views/caseManage/urgeList.vue index d131895..b56f832 100644 --- a/src/views/caseManage/urgeList.vue +++ b/src/views/caseManage/urgeList.vue @@ -175,6 +175,7 @@ this.$router.push({ path: '/caseDetail/' + row.caseId, query: { + caseType:row.eorc, showProcess: false } }) diff --git a/src/views/caseManage/waitForCreate.vue b/src/views/caseManage/waitForCreate.vue index 6252460..52463e5 100644 --- a/src/views/caseManage/waitForCreate.vue +++ b/src/views/caseManage/waitForCreate.vue @@ -22,6 +22,9 @@ start-placeholder="来电开始时间" end-placeholder="来电结束时间"/> + + + + diff --git a/static/images/well/pos.png b/static/images/well/pos.png new file mode 100644 index 0000000..95d1d03 --- /dev/null +++ b/static/images/well/pos.png Binary files differ