jinhui.wang

Merge remote-tracking branch 'origin/release-pdd-cache-v1.0.12' into dev

Showing 128 changed files with 2940 additions and 1058 deletions
1 -NODE_ENV = production
2 -
3 -# 演示环境配置
4 -ENV = 'demo'
5 -VUE_APP_BASE_ENV = "demo"
6 -
7 -VUE_APP_Version = '1.0.0'
8 -
9 -#测试环境
10 -VUE_APP_BASE_API = 'http://192.168.1.251:7023/Exp'
11 -
12 -VUE_APP_BASE_ROUTE = '/EcomDemo'
13 -
14 -VUE_APP_BASE_LOGINOUT = '/EcomDemo'
15 -
16 -#后端版本校验版本号
17 -VUE_APP_APIVERSION = 'BD6DBD063F5AB7394879E3C08781CD72.A3889C390C14952AD666ABC3BE46BE40'
18 -
19 -#iclearEmp系统地址
20 -VUE_APP_REDIRECT_EMP = 'http://192.168.1.251/Emp/#login'
21 -#Fcl登录地址
22 -VUE_APP_REDIRECT_FCL = 'https://www.fedex.com/secure-login/#login-credentials?redirectUrl=https://iclearuat.cndcdmz.apac.fedex.com/Exp/sysUserController/wlgnForward'
23 -#图文版使用指南
24 -VUE_APP_FEDEX_HANDBOOK = 'http://192.168.1.251/Emp/FedEx.pdf'
25 -#视频版使用指南
26 -VUE_APP_FEDEX_VIDEO = '/manager-server/OperationManual_cp.mp4'
27 -#隐私政策
28 -VUE_APP_PRIVACT_POLICY = 'https://www.fedex.com/zh-cn/privacy-policy.html'
29 -#使用条款
30 -VUE_APP_TERMS_OF_USE = 'https://www.fedex.com/zh-cn/terms-of-use.html'
31 -#营业执照
32 -VUE_APP_BUSINESS_LICENSE = 'https://www.fedex.com/content/dam/fedex/apac-asia-pacific/MVP-APAC/images/2019/Q3/CN_EN_2019_1_Master_image_NA_business_license_marketing_913515423.jpg'
33 -#快递业务经营许可证
34 -VUE_APP_BUSINESS_PERMIT = 'https://www.fedex.com/content/dam/fedex/apac-asia-pacific/downloads/fedex-express-delivery-business-permit-cn.jpg'
35 -#沪公网安备号
36 -VUE_APP_SHANGHAI_FILLING_NUMBER = 'http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=31010102007222'
37 -#京ICP
38 -VUE_APP_BEIJING_FILLING_NUMBER = 'https://beian.miit.gov.cn/#/Integrated/recordQuery'
39 -
40 -VUE_APP_BASE_API_dev = 'http://192.168.1.251:7021/Exp'
41 -VUE_APP_BASE_API_test = 'http://192.168.1.251:7022/Exp'
42 -VUE_APP_BASE_API_demo = 'http://192.168.1.251:7023/Exp'
43 -VUE_APP_BASE_API_uat = 'https://declarationuat.fedex.com.cn/Exp'
44 -VUE_APP_BASE_API_pre = 'https://iclearexpuat.fedex.com.cn/Exp'
45 -VUE_APP_BASE_API_prod = 'https://declaration.fedex.com.cn/Exp'
...\ No newline at end of file ...\ No newline at end of file
...@@ -3,27 +3,29 @@ ENV = 'development' ...@@ -3,27 +3,29 @@ ENV = 'development'
3 3
4 VUE_APP_BASE_ENV = "dev" 4 VUE_APP_BASE_ENV = "dev"
5 5
6 -VUE_APP_Version = '1.0.0' 6 +VUE_APP_Version = '1.0.12'
7 7
8 +VUE_APP_BASE_URL = 'http://101.132.100.41:7001/EcomExp'
8 # FedEx 在线申报工具/开发环境 9 # FedEx 在线申报工具/开发环境
9 -VUE_APP_BASE_API = 'http://101.132.100.41:7001/Ecom' 10 +# http://101.132.100.41:7001/EcomExp
11 +VUE_APP_BASE_API = /EcomExp
10 12
11 -VUE_APP_BASE_ROUTE = '/Ecom' 13 +VUE_APP_BASE_ROUTE = '/EcomDev'
12 14
13 -VUE_APP_BASE_LOGINOUT = '/Ecom' 15 +VUE_APP_BASE_LOGINOUT = '/EcomDev'
14 16
15 #后端版本校验版本号 17 #后端版本校验版本号
16 -VUE_APP_APIVERSION = 'BFEDDF560FF988C07141DF6135A9BFCF.A3889C390C14952AD666ABC3BE46BE40' 18 +VUE_APP_APIVERSION = 'BFEDDF560FF988C07141DF6135A9BFCF.AD2F981820C1E26B9C95B61832AF190A'
17 19
18 #路由懒加载 20 #路由懒加载
19 VUE_CLI_BABEL_TRANSPILE_MODULES = true 21 VUE_CLI_BABEL_TRANSPILE_MODULES = true
20 22
21 #iclearEmp系统地址 23 #iclearEmp系统地址
22 -VUE_APP_REDIRECT_EMP = 'http://192.168.1.251/Emp/#login' 24 +# VUE_APP_REDIRECT_EMP = 'http://192.168.1.251/Emp/#login'
23 #Fcl登录地址 25 #Fcl登录地址
24 -VUE_APP_REDIRECT_FCL = 'https://www.fedex.com/secure-login/#login-credentials?redirectUrl=https://iclearuat.cndcdmz.apac.fedex.com/Exp/sysUserController/wlgnForward' 26 +# VUE_APP_REDIRECT_FCL = 'https://www.fedex.com/secure-login/#login-credentials?redirectUrl=https://iclearuat.cndcdmz.apac.fedex.com/Exp/sysUserController/wlgnForward'
25 #图文版使用指南 27 #图文版使用指南
26 -VUE_APP_FEDEX_HANDBOOK = 'http://192.168.1.251/Emp/FedEx.pdf' 28 +# VUE_APP_FEDEX_HANDBOOK = 'http://192.168.1.251/Emp/FedEx.pdf'
27 #视频版使用指南 29 #视频版使用指南
28 VUE_APP_FEDEX_VIDEO = '/manager-server/OperationManual_cp.mp4' 30 VUE_APP_FEDEX_VIDEO = '/manager-server/OperationManual_cp.mp4'
29 #隐私政策 31 #隐私政策
...@@ -37,11 +39,14 @@ VUE_APP_BUSINESS_PERMIT = 'https://www.fedex.com/content/dam/fedex/apac-asia-pac ...@@ -37,11 +39,14 @@ VUE_APP_BUSINESS_PERMIT = 'https://www.fedex.com/content/dam/fedex/apac-asia-pac
37 #沪公网安备号 39 #沪公网安备号
38 VUE_APP_SHANGHAI_FILLING_NUMBER = 'http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=31010102007222' 40 VUE_APP_SHANGHAI_FILLING_NUMBER = 'http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=31010102007222'
39 #京ICP 41 #京ICP
40 -VUE_APP_BEIJING_FILLING_NUMBER = 'https://beian.miit.gov.cn/#/Integrated/recordQuery'
41 -
42 -VUE_APP_BASE_API_dev = 'http://192.168.1.251:7021/Exp'
43 -VUE_APP_BASE_API_test = 'http://192.168.1.251:7022/Exp'
44 -VUE_APP_BASE_API_demo = 'http://192.168.1.251:7023/Exp'
45 -VUE_APP_BASE_API_uat = 'https://declarationuat.fedex.com.cn/Exp'
46 -VUE_APP_BASE_API_pre = 'https://iclearexpuat.fedex.com.cn/Exp'
47 -VUE_APP_BASE_API_prod = 'https://declaration.fedex.com.cn/Exp'
...\ No newline at end of file ...\ No newline at end of file
42 +VUE_APP_BEIJING_FILLING_NUMBER = 'https://beian.miit.gov.cn/#/Integrated/recordQuery'
43 +
44 +# VUE_APP_BASE_API_dev = 'http://192.168.1.251:7021/Exp'
45 +# VUE_APP_BASE_API_test = 'http://192.168.1.251:7022/Exp'
46 +# VUE_APP_BASE_API_demo = 'http://192.168.1.251:7023/Exp'
47 +# VUE_APP_BASE_API_uat = 'https://declarationuat.fedex.com.cn/Exp'
48 +# VUE_APP_BASE_API_pre = 'https://iclearexpuat.fedex.com.cn/Exp'
49 +# VUE_APP_BASE_API_prod = 'https://declaration.fedex.com.cn/Exp'
50 +
51 +
52 +
......
1 NODE_ENV = production 1 NODE_ENV = production
2 2
3 # 开发环境配置 3 # 开发环境配置
4 -ENV = 'deving' 4 +ENV = 'dev_erry'
5 -VUE_APP_BASE_ENV = "deving"
6 5
7 -VUE_APP_Version = '1.0.0' 6 +VUE_APP_BASE_ENV = "dev"
7 +
8 +VUE_APP_Version = '1.0.12'
8 9
9 #测试环境 10 #测试环境
10 -VUE_APP_BASE_API = 'http://101.132.100.41:7001/Ecom' 11 +VUE_APP_BASE_API = 'http://101.132.100.41:7008/EcomExp'
11 12
12 VUE_APP_BASE_ROUTE = '/EcomDev' 13 VUE_APP_BASE_ROUTE = '/EcomDev'
13 14
14 VUE_APP_BASE_LOGINOUT = '/EcomDev' 15 VUE_APP_BASE_LOGINOUT = '/EcomDev'
15 16
16 #后端版本校验版本号 17 #后端版本校验版本号
17 -VUE_APP_APIVERSION = 'BFEDDF560FF988C07141DF6135A9BFCF.A3889C390C14952AD666ABC3BE46BE40' 18 +VUE_APP_APIVERSION = 'BFEDDF560FF988C07141DF6135A9BFCF.AD2F981820C1E26B9C95B61832AF190A'
18 19
19 #iclearEmp系统地址 20 #iclearEmp系统地址
20 -VUE_APP_REDIRECT_EMP = 'http://192.168.1.251/Emp/#login' 21 +# VUE_APP_REDIRECT_EMP = 'http://192.168.1.251/Emp/#login'
21 #Fcl登录地址 22 #Fcl登录地址
22 -VUE_APP_REDIRECT_FCL = 'https://www.fedex.com/secure-login/#login-credentials?redirectUrl=https://iclearuat.cndcdmz.apac.fedex.com/Exp/sysUserController/wlgnForward' 23 +# VUE_APP_REDIRECT_FCL = 'https://www.fedex.com/secure-login/#login-credentials?redirectUrl=https://iclearuat.cndcdmz.apac.fedex.com/Exp/sysUserController/wlgnForward'
23 #图文版使用指南 24 #图文版使用指南
24 -VUE_APP_FEDEX_HANDBOOK = 'http://192.168.1.251/Emp/FedEx.pdf' 25 +# VUE_APP_FEDEX_HANDBOOK = 'http://192.168.1.251/Emp/FedEx.pdf'
25 #视频版使用指南 26 #视频版使用指南
26 VUE_APP_FEDEX_VIDEO = '/manager-server/OperationManual_cp.mp4' 27 VUE_APP_FEDEX_VIDEO = '/manager-server/OperationManual_cp.mp4'
27 #隐私政策 28 #隐私政策
...@@ -35,11 +36,11 @@ VUE_APP_BUSINESS_PERMIT = 'https://www.fedex.com/content/dam/fedex/apac-asia-pac ...@@ -35,11 +36,11 @@ VUE_APP_BUSINESS_PERMIT = 'https://www.fedex.com/content/dam/fedex/apac-asia-pac
35 #沪公网安备号 36 #沪公网安备号
36 VUE_APP_SHANGHAI_FILLING_NUMBER = 'http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=31010102007222' 37 VUE_APP_SHANGHAI_FILLING_NUMBER = 'http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=31010102007222'
37 #京ICP 38 #京ICP
38 -VUE_APP_BEIJING_FILLING_NUMBER = 'https://beian.miit.gov.cn/#/Integrated/recordQuery'
39 -
40 -VUE_APP_BASE_API_dev = 'http://192.168.1.251:7021/Exp'
41 -VUE_APP_BASE_API_test = 'http://192.168.1.251:7022/Exp'
42 -VUE_APP_BASE_API_demo = 'http://192.168.1.251:7023/Exp'
43 -VUE_APP_BASE_API_uat = 'https://declarationuat.fedex.com.cn/Exp'
44 -VUE_APP_BASE_API_pre = 'https://iclearexpuat.fedex.com.cn/Exp'
45 -VUE_APP_BASE_API_prod = 'https://declaration.fedex.com.cn/Exp'
...\ No newline at end of file ...\ No newline at end of file
39 +VUE_APP_BEIJING_FILLING_NUMBER = 'https://beian.miit.gov.cn/#/Integrated/recordQuery'
40 +
41 +# VUE_APP_BASE_API_dev = 'http://192.168.1.251:7021/Exp'
42 +# VUE_APP_BASE_API_test = 'http://192.168.1.251:7022/Exp'
43 +# VUE_APP_BASE_API_demo = 'http://192.168.1.251:7023/Exp'
44 +# VUE_APP_BASE_API_uat = 'https://declarationuat.fedex.com.cn/Exp'
45 +# VUE_APP_BASE_API_pre = 'https://iclearexpuat.fedex.com.cn/Exp'
46 +# VUE_APP_BASE_API_prod = 'https://declaration.fedex.com.cn/Exp'
......
1 NODE_ENV = production 1 NODE_ENV = production
2 2
3 # 预生产环境配置 3 # 预生产环境配置
4 -ENV = 'pre' 4 +
5 +# 文件名
6 +ENV = 'pre_fedex'
7 +# 没用到
5 VUE_APP_BASE_ENV = "pre" 8 VUE_APP_BASE_ENV = "pre"
6 9
7 -VUE_APP_Version = '1.0.0' 10 +VUE_APP_Version = '1.0.12'
8 11
9 -#测试环境 12 +#预生产UAT测试环境 https://declarationuat.fedex.com.cn
10 -VUE_APP_BASE_API = 'https://iclearexpuat.fedex.com.cn/Exp' 13 +VUE_APP_BASE_API = 'https://declarationuat.fedex.com.cn/EcomExp'
11 14
12 -VUE_APP_BASE_ROUTE = '/Ecom' 15 +VUE_APP_BASE_ROUTE = '/EcomExp'
13 16
14 -VUE_APP_BASE_LOGINOUT = '/Ecom' 17 +VUE_APP_BASE_LOGINOUT = '/EcomExp'
15 18
16 #后端版本校验版本号 19 #后端版本校验版本号
17 -VUE_APP_APIVERSION = 'D5B582ED9ED4002BF2BCB386A68519CF.A3889C390C14952AD666ABC3BE46BE40' 20 +VUE_APP_APIVERSION = '19DD6C1CEC504AC854645F352EB03209.AD2F981820C1E26B9C95B61832AF190A'
18 21
19 #iclearEmp系统地址 22 #iclearEmp系统地址
20 -VUE_APP_REDIRECT_EMP = 'https://iclearexpuat.fedex.com.cn/Emp/#/login' 23 +# VUE_APP_REDIRECT_EMP = 'https://iclearexpuat.fedex.com.cn/Emp/#/login'
21 #Fcl登录地址 24 #Fcl登录地址
22 -VUE_APP_REDIRECT_FCL = 'https://www.fedex.com/secure-login/#login-credentials?redirectUrl=https://iclearuat.cndcdmz.apac.fedex.com/Exp/sysUserController/wlgnForward' 25 +# VUE_APP_REDIRECT_FCL = 'https://www.fedex.com/secure-login/#login-credentials?redirectUrl=https://iclearuat.cndcdmz.apac.fedex.com/Exp/sysUserController/wlgnForward'
23 #图文版使用指南 26 #图文版使用指南
24 -VUE_APP_FEDEX_HANDBOOK = 'https://iclearexpuat.fedex.com.cn/Exp/manager-server/FedEx.pdf' 27 +# VUE_APP_FEDEX_HANDBOOK = 'https://iclearexpuat.fedex.com.cn/Exp/manager-server/FedEx.pdf'
25 #视频版使用指南 28 #视频版使用指南
26 VUE_APP_FEDEX_VIDEO = '/manager-server/OperationManual_cp.mp4' 29 VUE_APP_FEDEX_VIDEO = '/manager-server/OperationManual_cp.mp4'
27 #隐私政策 30 #隐私政策
...@@ -37,9 +40,9 @@ VUE_APP_SHANGHAI_FILLING_NUMBER = 'http://www.beian.gov.cn/portal/registerSystem ...@@ -37,9 +40,9 @@ VUE_APP_SHANGHAI_FILLING_NUMBER = 'http://www.beian.gov.cn/portal/registerSystem
37 #京ICP 40 #京ICP
38 VUE_APP_BEIJING_FILLING_NUMBER = 'https://beian.miit.gov.cn/#/Integrated/recordQuery' 41 VUE_APP_BEIJING_FILLING_NUMBER = 'https://beian.miit.gov.cn/#/Integrated/recordQuery'
39 42
40 -VUE_APP_BASE_API_dev = 'https://iclearexpuat.fedex.com.cn/Exp'
41 -VUE_APP_BASE_API_test = 'https://iclearexpuat.fedex.com.cn/Exp'
42 -VUE_APP_BASE_API_demo = 'https://iclearexpuat.fedex.com.cn/Exp'
43 -VUE_APP_BASE_API_uat = 'https://declarationuat.fedex.com.cn/Exp'
44 -VUE_APP_BASE_API_pre = 'https://iclearexpuat.fedex.com.cn/Exp'
45 -VUE_APP_BASE_API_prod = 'https://declaration.fedex.com.cn/Exp'
...\ No newline at end of file ...\ No newline at end of file
43 +# VUE_APP_BASE_API_dev = 'https://iclearexpuat.fedex.com.cn/Exp'
44 +# VUE_APP_BASE_API_test = 'https://iclearexpuat.fedex.com.cn/Exp'
45 +# VUE_APP_BASE_API_demo = 'https://iclearexpuat.fedex.com.cn/Exp'
46 +# VUE_APP_BASE_API_uat = 'https://declarationuat.fedex.com.cn/Exp'
47 +# VUE_APP_BASE_API_pre = 'https://iclearexpuat.fedex.com.cn/Exp'
48 +# VUE_APP_BASE_API_prod = 'https://declaration.fedex.com.cn/Exp'
...\ No newline at end of file ...\ No newline at end of file
......
1 # 生产环境配置 1 # 生产环境配置
2 -ENV = 'production' 2 +ENV = 'production_fedex'
3 3
4 VUE_APP_BASE_ENV = "prod" 4 VUE_APP_BASE_ENV = "prod"
5 5
6 -# FedEx 在线申报工具/生产环境 6 +VUE_APP_Version = '1.0.12'
7 -VUE_APP_BASE_API = '/prod-api'
8 7
9 -VUE_APP_Version = '1.0.0' 8 +#生产环境
9 +VUE_APP_BASE_API = 'https://declaration.fedex.com.cn/EcomExp'
10 10
11 -#测试环境 11 +VUE_APP_BASE_ROUTE = '/EcomExp'
12 -VUE_APP_BASE_API = 'https://declaration.fedex.com.cn/Exp'
13 12
14 -VUE_APP_BASE_ROUTE = '/Ecom' 13 +VUE_APP_BASE_LOGINOUT = '/EcomExp'
15 -
16 -VUE_APP_BASE_LOGINOUT = '/Ecom'
17 14
18 #后端版本校验版本号 15 #后端版本校验版本号
19 -VUE_APP_APIVERSION = 'C8074BB318FB85693233E64ACC64C1ED.A3889C390C14952AD666ABC3BE46BE40' 16 +VUE_APP_APIVERSION = 'C8074BB318FB85693233E64ACC64C1ED.AD2F981820C1E26B9C95B61832AF190A'
20 17
21 #iclearEmp系统地址 18 #iclearEmp系统地址
22 -VUE_APP_REDIRECT_EMP = 'https://declaration.fedex.com.cn/Emp/#/login' 19 +# VUE_APP_REDIRECT_EMP = 'https://declaration.fedex.com.cn/Emp/#/login'
23 #Fcl登录地址 20 #Fcl登录地址
24 -VUE_APP_REDIRECT_FCL = 'https://www.fedex.com/secure-login/#login-credentials?redirectUrl=https://iclearuat.cndcdmz.apac.fedex.com/Exp/sysUserController/wlgnForward' 21 +# VUE_APP_REDIRECT_FCL = 'https://www.fedex.com/secure-login/#login-credentials?redirectUrl=https://iclearuat.cndcdmz.apac.fedex.com/Exp/sysUserController/wlgnForward'
25 #图文版使用指南 22 #图文版使用指南
26 -VUE_APP_FEDEX_HANDBOOK = 'https://declaration.fedex.com.cn/Exp/manager-server/FedEx.pdf' 23 +# VUE_APP_FEDEX_HANDBOOK = 'https://declaration.fedex.com.cn/Exp/manager-server/FedEx.pdf'
27 #视频版使用指南 24 #视频版使用指南
28 VUE_APP_FEDEX_VIDEO = '/manager-server/OperationManual_cp.mp4' 25 VUE_APP_FEDEX_VIDEO = '/manager-server/OperationManual_cp.mp4'
29 #隐私政策 26 #隐私政策
...@@ -37,11 +34,11 @@ VUE_APP_BUSINESS_PERMIT = 'https://www.fedex.com/content/dam/fedex/apac-asia-pac ...@@ -37,11 +34,11 @@ VUE_APP_BUSINESS_PERMIT = 'https://www.fedex.com/content/dam/fedex/apac-asia-pac
37 #沪公网安备号 34 #沪公网安备号
38 VUE_APP_SHANGHAI_FILLING_NUMBER = 'http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=31010102007222' 35 VUE_APP_SHANGHAI_FILLING_NUMBER = 'http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=31010102007222'
39 #京ICP 36 #京ICP
40 -VUE_APP_BEIJING_FILLING_NUMBER = 'https://beian.miit.gov.cn/#/Integrated/recordQuery'
41 -
42 -VUE_APP_BASE_API_dev = 'https://declaration.fedex.com.cn/Exp'
43 -VUE_APP_BASE_API_test = 'https://declaration.fedex.com.cn/Exp'
44 -VUE_APP_BASE_API_demo = 'https://declaration.fedex.com.cn/Exp'
45 -VUE_APP_BASE_API_uat = 'https://declaration.fedex.com.cn/Exp'
46 -VUE_APP_BASE_API_pre = 'https://declaration.fedex.com.cn/Exp'
47 -VUE_APP_BASE_API_prod = 'https://declaration.fedex.com.cn/Exp'
...\ No newline at end of file ...\ No newline at end of file
37 +VUE_APP_BEIJING_FILLING_NUMBER = 'https://beian.miit.gov.cn/#/Integrated/recordQuery'
38 +
39 +# VUE_APP_BASE_API_dev = 'https://declaration.fedex.com.cn/Exp'
40 +# VUE_APP_BASE_API_test = 'https://declaration.fedex.com.cn/Exp'
41 +# VUE_APP_BASE_API_demo = 'https://declaration.fedex.com.cn/Exp'
42 +# VUE_APP_BASE_API_uat = 'https://declaration.fedex.com.cn/Exp'
43 +# VUE_APP_BASE_API_pre = 'https://declaration.fedex.com.cn/Exp'
44 +# VUE_APP_BASE_API_prod = 'https://declaration.fedex.com.cn/Exp'
......
1 NODE_ENV = production 1 NODE_ENV = production
2 2
3 # 测试环境配置 3 # 测试环境配置
4 -ENV = 'staging' 4 +ENV = 'test_erry'
5 5
6 -VUE_APP_BASE_ENV = "staging" 6 +VUE_APP_BASE_ENV = "test"
7 7
8 -VUE_APP_Version = '1.0.0' 8 +VUE_APP_Version = '1.0.12'
9 9
10 #测试环境 10 #测试环境
11 -VUE_APP_BASE_API = 'http://101.132.100.41:7001/Ecom' 11 +VUE_APP_BASE_API = 'http://101.132.100.41:7001/EcomExp'
12 12
13 -VUE_APP_BASE_ROUTE = '/EcomTest' 13 +VUE_APP_BASE_ROUTE = '/EcomExpTest'
14 14
15 -VUE_APP_BASE_LOGINOUT = '/EcomTest' 15 +VUE_APP_BASE_LOGINOUT = '/EcomExpTest'
16 16
17 #后端版本校验版本号 17 #后端版本校验版本号
18 -VUE_APP_APIVERSION = '033BD94B1168D7E4F0D644C3C95E35BF.A3889C390C14952AD666ABC3BE46BE40' 18 +VUE_APP_APIVERSION = '033BD94B1168D7E4F0D644C3C95E35BF.AD2F981820C1E26B9C95B61832AF190A'
19 19
20 #iclearEmp系统地址 20 #iclearEmp系统地址
21 -VUE_APP_REDIRECT_EMP = 'http://192.168.1.251/Emp/#login' 21 +# VUE_APP_REDIRECT_EMP = 'http://192.168.1.251/Emp/#login'
22 #Fcl登录地址 22 #Fcl登录地址
23 -VUE_APP_REDIRECT_FCL = 'https://www.fedex.com/secure-login/#login-credentials?redirectUrl=https://iclearuat.cndcdmz.apac.fedex.com/Exp/sysUserController/wlgnForward' 23 +# VUE_APP_REDIRECT_FCL = 'https://www.fedex.com/secure-login/#login-credentials?redirectUrl=https://iclearuat.cndcdmz.apac.fedex.com/Exp/sysUserController/wlgnForward'
24 #图文版使用指南 24 #图文版使用指南
25 -VUE_APP_FEDEX_HANDBOOK = 'http://192.168.1.251/Emp/FedEx.pdf' 25 +# VUE_APP_FEDEX_HANDBOOK = 'http://192.168.1.251/Emp/FedEx.pdf'
26 #视频版使用指南 26 #视频版使用指南
27 VUE_APP_FEDEX_VIDEO = '/manager-server/OperationManual_cp.mp4' 27 VUE_APP_FEDEX_VIDEO = '/manager-server/OperationManual_cp.mp4'
28 #隐私政策 28 #隐私政策
...@@ -38,9 +38,9 @@ VUE_APP_SHANGHAI_FILLING_NUMBER = 'http://www.beian.gov.cn/portal/registerSystem ...@@ -38,9 +38,9 @@ VUE_APP_SHANGHAI_FILLING_NUMBER = 'http://www.beian.gov.cn/portal/registerSystem
38 #京ICP 38 #京ICP
39 VUE_APP_BEIJING_FILLING_NUMBER = 'https://beian.miit.gov.cn/#/Integrated/recordQuery' 39 VUE_APP_BEIJING_FILLING_NUMBER = 'https://beian.miit.gov.cn/#/Integrated/recordQuery'
40 40
41 -VUE_APP_BASE_API_dev = 'http://192.168.1.251:7021/Exp'
42 -VUE_APP_BASE_API_test = 'http://192.168.1.251:7022/Exp'
43 -VUE_APP_BASE_API_demo = 'http://192.168.1.251:7023/Exp'
44 -VUE_APP_BASE_API_uat = 'https://declarationuat.fedex.com.cn/Exp'
45 -VUE_APP_BASE_API_pre = 'https://iclearexpuat.fedex.com.cn/Exp'
46 -VUE_APP_BASE_API_prod = 'https://declaration.fedex.com.cn/Exp'
...\ No newline at end of file ...\ No newline at end of file
41 +# VUE_APP_BASE_API_dev = 'http://192.168.1.251:7021/Exp'
42 +# VUE_APP_BASE_API_test = 'http://192.168.1.251:7022/Exp'
43 +# VUE_APP_BASE_API_demo = 'http://192.168.1.251:7023/Exp'
44 +# VUE_APP_BASE_API_uat = 'https://declarationuat.fedex.com.cn/Exp'
45 +# VUE_APP_BASE_API_pre = 'https://iclearexpuat.fedex.com.cn/Exp'
46 +# VUE_APP_BASE_API_prod = 'https://declaration.fedex.com.cn/Exp'
...\ No newline at end of file ...\ No newline at end of file
......
1 NODE_ENV = production 1 NODE_ENV = production
2 2
3 -# uat环境配置 3 +# 测试环境配置
4 -ENV = 'uat' 4 +ENV = 'uat_erry'
5 5
6 VUE_APP_BASE_ENV = "uat" 6 VUE_APP_BASE_ENV = "uat"
7 7
8 -VUE_APP_Version = '1.0.0' 8 +VUE_APP_Version = '1.0.12'
9 9
10 #测试环境 10 #测试环境
11 -VUE_APP_BASE_API = 'https://declarationuat.fedex.com.cn/Exp' 11 +VUE_APP_BASE_API = 'http://101.132.100.41:7023/EcomExp'
12 12
13 -VUE_APP_BASE_ROUTE = '/Ecom' 13 +#VUE_APP_BASE_ROUTE = '/EcomUat'
14 +# VUE_APP_BASE_ROUTE = '/Ecom'
15 +VUE_APP_BASE_ROUTE = '/EcomExp'
14 16
15 -VUE_APP_BASE_LOGINOUT = '/Ecom' 17 +#VUE_APP_BASE_LOGINOUT = '/EcomUat'
18 +# VUE_APP_BASE_LOGINOUT = '/Ecom'
19 +VUE_APP_BASE_LOGINOUT = '/EcomExp'
16 20
17 #后端版本校验版本号 21 #后端版本校验版本号
18 -VUE_APP_APIVERSION = '19DD6C1CEC504AC854645F352EB03209.A3889C390C14952AD666ABC3BE46BE40' 22 +VUE_APP_APIVERSION = '19DD6C1CEC504AC854645F352EB03209.AD2F981820C1E26B9C95B61832AF190A'
19 23
20 #iclearEmp系统地址 24 #iclearEmp系统地址
21 -VUE_APP_REDIRECT_EMP = 'https://declarationuat.fedex.com.cn/Emp/#/login' 25 +# VUE_APP_REDIRECT_EMP = 'http://192.168.1.251/Emp/#login'
22 #Fcl登录地址 26 #Fcl登录地址
23 -VUE_APP_REDIRECT_FCL = 'https://www.fedex.com/secure-login/#login-credentials?redirectUrl=https://iclearuat.cndcdmz.apac.fedex.com/Exp/sysUserController/wlgnForward' 27 +# VUE_APP_REDIRECT_FCL = 'https://www.fedex.com/secure-login/#login-credentials?redirectUrl=https://iclearuat.cndcdmz.apac.fedex.com/Exp/sysUserController/wlgnForward'
24 #图文版使用指南 28 #图文版使用指南
25 -VUE_APP_FEDEX_HANDBOOK = 'https://declarationuat.fedex.com.cn/Exp/manager-server/FedEx.pdf' 29 +# VUE_APP_FEDEX_HANDBOOK = 'http://192.168.1.251/Emp/FedEx.pdf'
26 #视频版使用指南 30 #视频版使用指南
27 VUE_APP_FEDEX_VIDEO = '/manager-server/OperationManual_cp.mp4' 31 VUE_APP_FEDEX_VIDEO = '/manager-server/OperationManual_cp.mp4'
28 #隐私政策 32 #隐私政策
...@@ -38,9 +42,9 @@ VUE_APP_SHANGHAI_FILLING_NUMBER = 'http://www.beian.gov.cn/portal/registerSystem ...@@ -38,9 +42,9 @@ VUE_APP_SHANGHAI_FILLING_NUMBER = 'http://www.beian.gov.cn/portal/registerSystem
38 #京ICP 42 #京ICP
39 VUE_APP_BEIJING_FILLING_NUMBER = 'https://beian.miit.gov.cn/#/Integrated/recordQuery' 43 VUE_APP_BEIJING_FILLING_NUMBER = 'https://beian.miit.gov.cn/#/Integrated/recordQuery'
40 44
41 -VUE_APP_BASE_API_dev = 'https://declarationuat.fedex.com.cn/Exp'
42 -VUE_APP_BASE_API_test = 'https://declarationuat.fedex.com.cn/Exp'
43 -VUE_APP_BASE_API_demo = 'https://declarationuat.fedex.com.cn/Exp'
44 -VUE_APP_BASE_API_uat = 'https://declarationuat.fedex.com.cn/Exp'
45 -VUE_APP_BASE_API_pre = 'https://iclearexpuat.fedex.com.cn/Exp'
46 -VUE_APP_BASE_API_prod = 'https://declaration.fedex.com.cn/Exp'
...\ No newline at end of file ...\ No newline at end of file
45 +# VUE_APP_BASE_API_dev = 'http://192.168.1.251:7021/Exp'
46 +# VUE_APP_BASE_API_test = 'http://192.168.1.251:7022/Exp'
47 +# VUE_APP_BASE_API_demo = 'http://192.168.1.251:7023/Exp'
48 +# VUE_APP_BASE_API_uat = 'https://declarationuat.fedex.com.cn/Exp'
49 +# VUE_APP_BASE_API_pre = 'https://iclearexpuat.fedex.com.cn/Exp'
50 +# VUE_APP_BASE_API_prod = 'https://declaration.fedex.com.cn/Exp'
...\ No newline at end of file ...\ No newline at end of file
......
...@@ -39,3 +39,6 @@ build/ ...@@ -39,3 +39,6 @@ build/
39 /out/ 39 /out/
40 40
41 package-lock.json 41 package-lock.json
42 +
43 +dist_staging
44 +dist_uat
...\ No newline at end of file ...\ No newline at end of file
......
1 { 1 {
2 "name": "iCearExport", 2 "name": "iCearExport",
3 - "version": "1.0.0", 3 + "version": "1.0.12",
4 "description": "FedEx 在线申报工具", 4 "description": "FedEx 在线申报工具",
5 "author": "ICE", 5 "author": "ICE",
6 "license": "MIT", 6 "license": "MIT",
......
1 { 1 {
2 - "name": "iCearExport", 2 + "name": "FedEx",
3 - "version": "1.0.0", 3 + "version": "1.0.12",
4 "description": "FedEx 在线申报工具", 4 "description": "FedEx 在线申报工具",
5 "author": "ICE", 5 "author": "ICE",
6 "license": "MIT", 6 "license": "MIT",
7 "scripts": { 7 "scripts": {
8 "dev": "vue-cli-service serve", 8 "dev": "vue-cli-service serve",
9 - "build:deving": "vue-cli-service build --mode deving", 9 + "build:dev": "vue-cli-service build --mode deving",
10 - "build:stage": "vue-cli-service build --mode staging", 10 + "build:test": "vue-cli-service build --mode test",
11 - "build:demo": "vue-cli-service build --mode demo",
12 "build:uat": "vue-cli-service build --mode uat", 11 "build:uat": "vue-cli-service build --mode uat",
13 - "build:pre": "vue-cli-service build --mode pre", 12 + "build:pre:fedex": "vue-cli-service build --mode pre",
14 - "build:prod": "vue-cli-service build", 13 + "build:prod:fedex": "vue-cli-service build",
15 "preview": "node build/index.js --preview", 14 "preview": "node build/index.js --preview",
16 "lint": "eslint --ext .js,.vue src" 15 "lint": "eslint --ext .js,.vue src"
17 }, 16 },
...@@ -41,13 +40,16 @@ ...@@ -41,13 +40,16 @@
41 }, 40 },
42 "dependencies": { 41 "dependencies": {
43 "axios": "0.21.1", 42 "axios": "0.21.1",
43 + "big.js": "^7.0.1",
44 "core-js": "3.8.3", 44 "core-js": "3.8.3",
45 + "crypto-js": "^4.2.0",
45 "docx-preview": "^0.1.20", 46 "docx-preview": "^0.1.20",
46 "element-ui": "^2.15.14", 47 "element-ui": "^2.15.14",
47 "vue": "2.6.14", 48 "vue": "2.6.14",
48 "vue-i18n": "^8.28.2", 49 "vue-i18n": "^8.28.2",
49 "vue-router": "3.5.2", 50 "vue-router": "3.5.2",
50 - "vuex": "3.6.2" 51 + "vuex": "3.6.2",
52 + "vxe-table": "^3.15.34"
51 }, 53 },
52 "devDependencies": { 54 "devDependencies": {
53 "@vue/cli-plugin-babel": "4.5.13", 55 "@vue/cli-plugin-babel": "4.5.13",
...@@ -56,7 +58,7 @@ ...@@ -56,7 +58,7 @@
56 "babel-eslint": "10.1.0", 58 "babel-eslint": "10.1.0",
57 "chalk": "4.1.1", 59 "chalk": "4.1.1",
58 "connect": "3.6.6", 60 "connect": "3.6.6",
59 - "eslint": "7.30.0", 61 + "eslint": "^6.8.0",
60 "eslint-plugin-vue": "7.12.1", 62 "eslint-plugin-vue": "7.12.1",
61 "lint-staged": "10.5.4", 63 "lint-staged": "10.5.4",
62 "runjs": "4.4.2", 64 "runjs": "4.4.2",
......
...@@ -28,15 +28,16 @@ ...@@ -28,15 +28,16 @@
28 size="mini" 28 size="mini"
29 :loading="closeLoading" 29 :loading="closeLoading"
30 @click="close" 30 @click="close"
31 - >{{ $t("system.confirm") }}</el-button
32 > 31 >
32 + {{ $t("system.confirm") }}
33 + </el-button>
33 </span> 34 </span>
34 </el-dialog> 35 </el-dialog>
35 </div> 36 </div>
36 </template> 37 </template>
37 38
38 <script> 39 <script>
39 -import { setTime, getTime, getToken, removeToken } from "@/utils/auth"; 40 +import { setTime } from "@/utils/auth";
40 import { getTokenTime } from "@/api/system/user.js"; 41 import { getTokenTime } from "@/api/system/user.js";
41 export default { 42 export default {
42 name: "App", 43 name: "App",
...@@ -63,13 +64,11 @@ export default { ...@@ -63,13 +64,11 @@ export default {
63 // if (getToken()) { 64 // if (getToken()) {
64 // this.upDateTokenTime(); 65 // this.upDateTokenTime();
65 // } 66 // }
66 -
67 // let upDateTime = setInterval(() => { 67 // let upDateTime = setInterval(() => {
68 // if (getToken()) { 68 // if (getToken()) {
69 // this.upDateTokenTime(); 69 // this.upDateTokenTime();
70 // } 70 // }
71 // }, this.timeOption.updateTime); 71 // }, this.timeOption.updateTime);
72 -
73 // let timeInterval = setInterval(() => { 72 // let timeInterval = setInterval(() => {
74 // if (getTime() && getToken()) { 73 // if (getTime() && getToken()) {
75 // let three = 1000 * 60 * this.timeOption.tokenTimeLength; 74 // let three = 1000 * 60 * this.timeOption.tokenTimeLength;
......
1 +import request from "@/utils/request";
2 +
3 +// 删除用户key
4 +// POST
5 +// /applyKey/deleteKey/{id}
6 +export function deleteKey(id) {
7 + return request({
8 + url: "/bus-customer/applyKey/deleteKey/" + id,
9 + method: "post",
10 + });
11 +}
12 +// 申请key
13 +// /applyKey/generateKey
14 +export function generateKey(params) {
15 + return request({
16 + url: `/bus-customer/applyKey/generateKey`,
17 + method: "post",
18 + data: params.toString(),
19 + headers: {
20 + "Content-Type": "application/x-www-form-urlencoded",
21 + },
22 + });
23 +}
24 +// 获取用户key列表
25 +// POST
26 +// /applyKey/queryKeyList
27 +export function queryKeyList(data) {
28 + return request({
29 + url: "/bus-customer/applyKey/queryKeyList",
30 + method: "post",
31 + data: data,
32 + });
33 +}
34 +// 修改用户key相关信息
35 +// POST
36 +// /applyKey/updateKeyInfo
37 +export function updateKeyInfo(data) {
38 + return request({
39 + url: "/bus-customer/applyKey/updateKeyInfo",
40 + method: "post",
41 + data: data,
42 + });
43 +}
1 +import request from "@/utils/request";
2 +// /exportArrivalIn/getExportArrivalInList
3 +export function getExportArrivalInList(data) {
4 + return request({
5 + url: "/bus-customer/exportArrivalIn/getExportArrivalInList",
6 + method: "post",
7 + data: data,
8 + });
9 +}
10 +
11 +// GET ​/exportArrivalIn​/receipt​/{copNo} 运抵单回执
12 +export function getExportArrivalInReceipt({ copNo }) {
13 + return request({
14 + url: `/bus-customer/exportArrivalIn/receipt/${copNo}`,
15 + method: "get",
16 + });
17 +}
18 +// GET ​/exportArrivalIn​/details​/{id} 查询运抵单详情
19 +export function getExportArrivalInDetails({ id }) {
20 + return request({
21 + url: `/bus-customer/exportArrivalIn/details/${id}`,
22 + method: "get",
23 + });
24 +}
25 +
26 +// /hsCodeMgr/getHsCodeList
27 +export function getHsCodeList(data) {
28 + return request({
29 + url: "/bus-customer/hsCodeMgr/getHsCodeList",
30 + method: "post",
31 + data: data,
32 + });
33 +}
34 +
35 +// GET
36 +// ​/hsCodeMgr​/hsCodeIncr
37 +// 增量数据同步
38 +export function getHsCodeIncr({ beginDate }) {
39 + return request({
40 + url: `/bus-customer/hsCodeMgr/hsCodeIncr/${beginDate}`,
41 + method: "get",
42 + });
43 +}
44 +
45 +// GET
46 +// ​/hsCodeMgr​/singleSync​/{id}
47 +// 单条hsCode同步更新;
48 +export function getHsCodeSingleSync({ id }) {
49 + return request({
50 + url: `/bus-customer/hsCodeMgr/singleSync/${id}`,
51 + method: "get",
52 + });
53 +}
1 +import request from "@/utils/request";
2 +
3 +/**
4 + * @description 获取配置
5 + * @param {Object} data
6 + * @method GET
7 + */
8 +export function getConfigList(data) {
9 + return request({
10 + url: "/bus-customer/sysConfigCenter/getConfigList",
11 + method: "post",
12 + data,
13 + });
14 +}
15 +
16 +/**
17 + * @description 刷新配置
18 + * */
19 +export function refreshConfig(data) {
20 + return request({
21 + url: `/bus-customer/sysConfigCenter/refreshConfig/${data.id}`,
22 + method: "get",
23 + });
24 +}
25 +
26 +/**
27 + * @description 添加配置
28 + * @param {Object} data
29 + * @method POST
30 + */
31 +export function addConfig(data) {
32 + return request({
33 + url: "/bus-customer/sysConfigCenter/addConfig",
34 + method: "post",
35 + data,
36 + });
37 +}
38 +
39 +/**
40 + * @description 修改配置
41 + * @param {Object} data
42 + * @method POST
43 + */
44 +export function updateConfig(data) {
45 + return request({
46 + url: "/bus-customer/sysConfigCenter/updateConfig",
47 + method: "post",
48 + data,
49 + });
50 +}
1 -import request from '@/utils/request' 1 +import request from "@/utils/request";
2 2
3 //获取自定义设置数据 3 //获取自定义设置数据
4 /** 4 /**
...@@ -6,11 +6,15 @@ import request from '@/utils/request' ...@@ -6,11 +6,15 @@ import request from '@/utils/request'
6 * @param queryType * 查询分类(1#查询条件,2#显示及导出) 6 * @param queryType * 查询分类(1#查询条件,2#显示及导出)
7 */ 7 */
8 export function getCustomData(data) { 8 export function getCustomData(data) {
9 - return request({ 9 + return request({
10 - url: '/bus-employees/custom/setting/pool/query/' + data.queryType + '/' + data.belongBizType, 10 + url:
11 - method: 'get', 11 + "/bus-employees/custom/setting/pool/query/" +
12 - data: data, 12 + data.queryType +
13 - }) 13 + "/" +
14 + data.belongBizType,
15 + method: "get",
16 + data: data,
17 + });
14 } 18 }
15 19
16 //保存自定义设置数据 20 //保存自定义设置数据
...@@ -25,11 +29,11 @@ export function getCustomData(data) { ...@@ -25,11 +29,11 @@ export function getCustomData(data) {
25 * poolCode 对应在待选池里的ID(source.poolCode) } } 29 * poolCode 对应在待选池里的ID(source.poolCode) } }
26 */ 30 */
27 export function setCustomData(data) { 31 export function setCustomData(data) {
28 - return request({ 32 + return request({
29 - url: '/bus-employees/custom/setting/pool/merge', 33 + url: "/bus-employees/custom/setting/pool/merge",
30 - method: 'post', 34 + method: "post",
31 - data: data, 35 + data: data,
32 - }) 36 + });
33 } 37 }
34 38
35 //获取查询条件数据 39 //获取查询条件数据
...@@ -37,11 +41,11 @@ export function setCustomData(data) { ...@@ -37,11 +41,11 @@ export function setCustomData(data) {
37 * @param belongBizType * 所属业务功能类型(11#员工端预审,12#员工端站点,13#员工端口岸,14#员工端运单查询) 41 * @param belongBizType * 所属业务功能类型(11#员工端预审,12#员工端站点,13#员工端口岸,14#员工端运单查询)
38 */ 42 */
39 export function getSreachFormData(data) { 43 export function getSreachFormData(data) {
40 - return request({ 44 + return request({
41 - url: '/bus-employees/custom/setting/condition/' + data.belongBizType, 45 + url: "/bus-employees/custom/setting/condition/" + data.belongBizType,
42 - method: 'get', 46 + method: "get",
43 - data: data, 47 + data: data,
44 - }) 48 + });
45 } 49 }
46 50
47 //获取表头数据 51 //获取表头数据
...@@ -49,11 +53,11 @@ export function getSreachFormData(data) { ...@@ -49,11 +53,11 @@ export function getSreachFormData(data) {
49 * @param belongBizType * 所属业务功能类型(11#员工端预审,12#员工端站点,13#员工端口岸,14#员工端运单查询) 53 * @param belongBizType * 所属业务功能类型(11#员工端预审,12#员工端站点,13#员工端口岸,14#员工端运单查询)
50 */ 54 */
51 export function getTableData(data) { 55 export function getTableData(data) {
52 - return request({ 56 + return request({
53 - url: '/bus-employees/custom/setting/display/' + data.belongBizType, 57 + url: "/bus-employees/custom/setting/display/" + data.belongBizType,
54 - method: 'get', 58 + method: "get",
55 - data: data, 59 + data: data,
56 - }) 60 + });
57 } 61 }
58 62
59 //自定义查询接口 63 //自定义查询接口
...@@ -72,18 +76,18 @@ export function getTableData(data) { ...@@ -72,18 +76,18 @@ export function getTableData(data) {
72 * @param osprVaildFlag 站点页面操作ospr功能 76 * @param osprVaildFlag 站点页面操作ospr功能
73 */ 77 */
74 export function auditionEntrySreachCustomData(data) { 78 export function auditionEntrySreachCustomData(data) {
75 - return request({ 79 + return request({
76 - url: '/bus-employees' + data.url, 80 + url: "/bus-employees" + data.url,
77 - method: 'post', 81 + method: "post",
78 - data: data.data, 82 + data: data.data,
79 - }) 83 + });
80 } 84 }
81 85
82 //获取查询导出是否完成 86 //获取查询导出是否完成
83 export function getdownloadExlFileType(data) { 87 export function getdownloadExlFileType(data) {
84 - return request({
85 - url: '/bus-employees/export/custom/exportResult?exportSign=' + data,
86 - method: 'get',
87 - data: data,
88 - })
89 -}
...\ No newline at end of file ...\ No newline at end of file
88 + return request({
89 + url: "/bus-employees/export/custom/exportResult?exportSign=" + data,
90 + method: "get",
91 + data: data,
92 + });
93 +}
......
1 -import request from '@/utils/request' 1 +import request from "@/utils/request";
2 +const baseUrl = process.env.VUE_APP_BASE_API; //接口地址
2 3
3 //获取自定义设置数据 4 //获取自定义设置数据
4 /** 5 /**
...@@ -13,11 +14,11 @@ import request from '@/utils/request' ...@@ -13,11 +14,11 @@ import request from '@/utils/request'
13 * @param pageSize * 14 * @param pageSize *
14 */ 15 */
15 export function searchDeclareData(data) { 16 export function searchDeclareData(data) {
16 - return request({ 17 + return request({
17 - url: '/bus-customer/declareData/getDeclareDataList', 18 + url: "/bus-customer/declareData/getDeclareDataList",
18 - method: 'post', 19 + method: "post",
19 - data: data, 20 + data: data,
20 - }) 21 + });
21 } 22 }
22 23
23 //申报数据导入 24 //申报数据导入
...@@ -25,26 +26,44 @@ export function searchDeclareData(data) { ...@@ -25,26 +26,44 @@ export function searchDeclareData(data) {
25 * @param multipartFile * 提运单号 26 * @param multipartFile * 提运单号
26 */ 27 */
27 export function uploadDeclareData(data) { 28 export function uploadDeclareData(data) {
28 - let formData = new FormData 29 + let formData = new FormData();
29 - formData.append("multipartFile", data.multipartFile); 30 + formData.append("multipartFile", data.multipartFile);
30 - return request({ 31 + return request({
31 - url: '/bus-customer/declareData/import', 32 + url: "/bus-customer/declareData/import",
32 - method: 'post', 33 + method: "post",
33 - data: formData, 34 + data: formData,
34 - }) 35 + });
35 } 36 }
36 37
37 //数据申报 38 //数据申报
38 /** 39 /**
39 * @param declareIds * id list 40 * @param declareIds * id list
40 - * @param type * 41 + * @param type *
41 */ 42 */
42 export function declareDataUpload(data) { 43 export function declareDataUpload(data) {
43 - return request({ 44 + return request({
44 - url: '/bus-customer/declareData/' + data.type, 45 + url: "/bus-customer/declareData/" + data.type,
45 - method: 'post', 46 + method: "post",
46 - data: data.declareIds, 47 + data: {
47 - }) 48 + cancellationReason: data.cancellationReason,
49 + declareIds: data.declareIds,
50 + changeFlag: data?.changeFlag || false,
51 + },
52 + });
53 +}
54 +// 删单deleteFlag:true,note:删单原因
55 +// 变更changeFlag:true
56 +export function declareDataUploadNew(data) {
57 + return request({
58 + url: "/bus-customer/declareData/" + data.type,
59 + method: "post",
60 + data: {
61 + declareIds: data.declareIds, //申报id
62 + deleteFlag: data?.deleteFlag || false, // 是否删单
63 + changeFlag: data?.changeFlag || false,
64 + note: data.note || null, // 删单原因
65 + },
66 + });
48 } 67 }
49 68
50 //查询订单回执 69 //查询订单回执
...@@ -52,36 +71,35 @@ export function declareDataUpload(data) { ...@@ -52,36 +71,35 @@ export function declareDataUpload(data) {
52 * @param declareId * id 71 * @param declareId * id
53 */ 72 */
54 export function getOrderReceipt(data) { 73 export function getOrderReceipt(data) {
55 - return request({ 74 + return request({
56 - url: '/bus-customer/declareData/orderReceipt', 75 + url: "/bus-customer/declareData/orderReceipt",
57 - method: 'get', 76 + method: "get",
58 - params: data, 77 + params: data,
59 - }) 78 + });
60 } 79 }
61 80
62 -//查询物流单回执 81 +//查看离境回执
63 /** 82 /**
64 * @param declareId * id 83 * @param declareId * id
65 */ 84 */
66 export function getLogisticsReceipt(data) { 85 export function getLogisticsReceipt(data) {
67 - return request({ 86 + return request({
68 - url: '/bus-customer/declareData/wayBillReceipt', 87 + url: "/bus-customer/declareData/logisticsReceipt",
69 - method: 'get', 88 + method: "get",
70 - params: data, 89 + params: data,
71 - }) 90 + });
72 } 91 }
73 92
74 -
75 //查询清单回执 93 //查询清单回执
76 /** 94 /**
77 * @param declareId * id 95 * @param declareId * id
78 */ 96 */
79 export function getListReceipt(data) { 97 export function getListReceipt(data) {
80 - return request({ 98 + return request({
81 - url: '/bus-customer/declareData/listReceipt', 99 + url: "/bus-customer/declareData/listReceipt",
82 - method: 'get', 100 + method: "get",
83 - params: data, 101 + params: data,
84 - }) 102 + });
85 } 103 }
86 104
87 //查询清单总分单回执 105 //查询清单总分单回执
...@@ -89,11 +107,250 @@ export function getListReceipt(data) { ...@@ -89,11 +107,250 @@ export function getListReceipt(data) {
89 * @param declareId * id 107 * @param declareId * id
90 */ 108 */
91 export function getTotalReceipt(data) { 109 export function getTotalReceipt(data) {
92 - return request({ 110 + return request({
93 - url: '/bus-customer/declareData/totalReceipt', 111 + url: "/bus-customer/declareData/totalReceipt",
94 - method: 'get', 112 + method: "get",
95 - params: data, 113 + params: data,
114 + });
115 +}
116 +/**
117 + * 查看物流回执
118 + * @param {*} data
119 + * @returns
120 + */
121 +export function getWayBillReceipt(data) {
122 + return request({
123 + url: "/bus-customer/declareData/wayBillReceipt",
124 + method: "get",
125 + params: data,
126 + });
127 +}
128 +
129 +/**
130 + * 查询总申报日志
131 + * @param data id---->申报id
132 + */
133 +export function getDeclarationLog(data) {
134 + return request({
135 + url: "/bus-customer/declareData/getDeclarationLog/" + data,
136 + method: "get",
137 + params: data,
138 + });
139 +}
140 +
141 +// GET
142 +// ​/declareData​/arrivalInReceipt
143 +// 运抵单回执
144 +export function arrivalInReceipt(data) {
145 + return request({
146 + url: "/bus-customer/declareData/arrivalInReceipt",
147 + method: "get",
148 + params: data,
149 + });
150 +}
151 +
152 +/**
153 + * 导出回执数据
154 + * @param {*} data
155 + * @returns
156 + */
157 +export function exportDeclareData(data) {
158 + return new Promise((resolve, reject) => {
159 + var url = baseUrl + "/bus-customer/declareData/exportDeclareData";
160 + request({
161 + url: url,
162 + method: "post",
163 + responseType: "blob", // 确保响应类型为 blob
164 + data: data,
96 }) 165 })
166 + .then((res) => {
167 + const aLink = document.createElement("a");
168 + aLink.href = URL.createObjectURL(res);
169 + aLink.setAttribute("download", "申报数据.xlsx"); // 设置下载文件名称
170 + document.body.appendChild(aLink);
171 + aLink.click();
172 + document.body.removeChild(aLink);
173 + resolve(res);
174 + })
175 + .catch((err) => {
176 + reject(err);
177 + });
178 + });
179 +}
180 +
181 +//获取客户列表
182 +export function getCustomerList(data) {
183 + return request({
184 + url: "/bus-customer/customers/getCustomerList",
185 + method: "post",
186 + data: {
187 + pageIndex: 1,
188 + pageSize: 1000,
189 + },
190 + });
191 +}
192 +// /exportSummary/exportSummaryList
193 +export function getNewCustomerList(data) {
194 + return request({
195 + url: "/bus-customer/exportSummary/get/customers",
196 + method: "post",
197 + data: {
198 + pageIndex: 1,
199 + pageSize: 1000,
200 + ...data,
201 + },
202 + });
97 } 203 }
98 204
205 +//获取口岸表数据
206 +export function getPortList(data) {
207 + return request({
208 + url: "/bus-customer/portInfo/getPortList",
209 + method: "post",
210 + data: {
211 + pageIndex: 1,
212 + pageSize: 1000,
213 + },
214 + });
215 +}
99 216
217 +//获取申报信息
218 +export function getDeclareData(data) {
219 + return request({
220 + url: "/bus-customer/declareData/get/" + data.declareId,
221 + method: "get",
222 + params: data,
223 + });
224 +}
225 +//更新申报信息
226 +export function updateDeclareData(data) {
227 + return request({
228 + url: "/bus-customer/declareData/update",
229 + method: "post",
230 + data,
231 + });
232 +}
233 +//申报数据批量修改-航班号,运单号
234 +export function bathDeclareDate(data) {
235 + return request({
236 + url: "/bus-customer/declareData/bathDeclareDate",
237 + method: "post",
238 + data,
239 + });
240 +}
241 +
242 +// GET
243 +// ​/operatorPlace​/getCurrUserOperatorCode
244 +// 获取当前用户监管场所代码
245 +export function getCurrUserOperatorCode() {
246 + return request({
247 + url: "/bus-customer/operatorPlace/getCurrUserOperatorCode",
248 + method: "get",
249 + });
250 +}
251 +
252 +export function declareUpload(data) {
253 + return request({
254 + url: "/bus-customer/declareData/" + data.type,
255 + method: "post",
256 + data: {
257 + ...data,
258 + },
259 + });
260 +}
261 +
262 +// 根据提运单号 查询提运单号下的所有物流运单号
263 +// bus-customer/declareData/checkBillNo
264 +export function checkBillNo(data) {
265 + return request({
266 + url: "/bus-customer/declareData/checkBillNo",
267 + method: "post",
268 + data: data.declareIds,
269 + });
270 +}
271 +
272 +// /declareData/getArrivalIneList
273 +// 运抵单申报列表
274 +export function getArrivalIneList(data) {
275 + return request({
276 + url: "/bus-customer/declareData/getArrivalIneList",
277 + method: "post",
278 + data: data,
279 + });
280 +}
281 +
282 +// /declareData/getWeight/{billNo}
283 +export function getWeight(data) {
284 + return request({
285 + url: "/bus-customer/declareData/getWeight/" + data.billNo,
286 + method: "get",
287 + data: data,
288 + });
289 +}
290 +
291 +// POST
292 +// ​/declareData​/modifyWeight
293 +// 修改重量
294 +export function modifyWeight(data) {
295 + return request({
296 + url: "/bus-customer/declareData/modifyWeight",
297 + method: "post",
298 + data: data,
299 + });
300 +}
301 +
302 +// GET /declareData/getTotalDocumentsLevelLog​/{billNo}
303 +export function getTotalDocumentsLevelLog(data) {
304 + return request({
305 + url: "/bus-customer/declareData/getTotalDocumentsLevelLog/" + data.billNo,
306 + method: "get",
307 + data: data,
308 + });
309 +}
310 +
311 +// 分单级 根据提运单号获取操作日志
312 +export function getOperationLogByLogisticsNo(data) {
313 + return request({
314 + url:
315 + "/bus-customer/declareData/getOperationLogByLogisticsNo/" +
316 + data.LogisticsNo,
317 + method: "get",
318 + data: data,
319 + });
320 +}
321 +
322 +// ​/declareData​/getOperationLogByBillNo​/{billNo}
323 +// 总 根据提运单号获取操作日志
324 +export function getOperationLogByBillNo(data) {
325 + return request({
326 + url: "/bus-customer/declareData/getOperationLogByBillNo/" + data.billNo,
327 + method: "get",
328 + data: data,
329 + });
330 +}
331 +
332 +// 查询导出的任务ID
333 +
334 +// POST
335 +// /exportList/submitExportTask
336 +export function getSubmitExportTask(data) {
337 + return request({
338 + url: "/bus-customer/declareData/submitExportTask",
339 + method: "post",
340 + data: data,
341 + });
342 +}
343 +// /asyncExport/taskStatus/{taskId}
344 +export function getTaskStatus(data) {
345 + return request({
346 + url: "/bus-customer/asyncExport/taskStatus/" + data.taskId,
347 + method: "get",
348 + });
349 +}
350 +// /asyncExport/download/{taskId}
351 +export function getDownload(data) {
352 + return request({
353 + url: "/bus-customer/asyncExport/download/" + data.taskId,
354 + method: "get",
355 + });
356 +}
......
1 -import request from '@/utils/request' 1 +import request from "@/utils/request";
2 2
3 //清单总分单查询 3 //清单总分单查询
4 /** 4 /**
...@@ -14,21 +14,79 @@ import request from '@/utils/request' ...@@ -14,21 +14,79 @@ import request from '@/utils/request'
14 * @param pageSize * 14 * @param pageSize *
15 */ 15 */
16 export function getAllexportList(data) { 16 export function getAllexportList(data) {
17 - return request({ 17 + return request({
18 - url: '/bus-customer/exportList/search', 18 + url: "/bus-customer/exportList/search",
19 - method: 'post', 19 + method: "post",
20 - data: data, 20 + data: data,
21 - }) 21 + });
22 } 22 }
23 23
24 -
25 //清单回执 24 //清单回执
26 /** 25 /**
27 * @param copNo * 运单id 26 * @param copNo * 运单id
28 */ 27 */
29 export function getListReceiptData(data) { 28 export function getListReceiptData(data) {
30 - return request({
31 - url: '/bus-customer/exportList/receipt/' + data.copNo,
32 - method: 'get',
33 - })
34 -}
...\ No newline at end of file ...\ No newline at end of file
29 + return request({
30 + url: "/bus-customer/exportList/receipt/" + data.copNo,
31 + method: "get",
32 + });
33 +}
34 +
35 +// POST
36 +// /exportList/customizeExcelFormat
37 +// 自定义清单表格导出格式
38 +export function getCustomizeExcelFormat(data) {
39 + return request({
40 + url: "/bus-customer/exportList/customizeExcelFormat",
41 + method: "post",
42 + data: data,
43 + });
44 +}
45 +
46 +// POST
47 +// /exportList/listExport
48 +// 清单导出
49 +export function getListExport(data) {
50 + return request({
51 + url: "/bus-customer/exportList/listExport",
52 + method: "post",
53 + data: data,
54 + });
55 +}
56 +
57 +// GET
58 +// /exportList/getCustomizeExcelFormat
59 +// 获取自定义清单导出格式
60 +export function getCustomizeExcel(data) {
61 + return request({
62 + url: "/bus-customer/exportList/getCustomizeExcelFormat",
63 + method: "get",
64 + data: data,
65 + });
66 +}
67 +
68 +// 查询导出的任务ID
69 +
70 +// POST
71 +// /exportList/submitExportTask
72 +export function getSubmitExportTask(data) {
73 + return request({
74 + url: "/bus-customer/exportList/submitExportTask",
75 + method: "post",
76 + data: data,
77 + });
78 +}
79 +// /asyncExport/taskStatus/{taskId}
80 +export function getTaskStatus(data) {
81 + return request({
82 + url: "/bus-customer/asyncExport/taskStatus/" + data.taskId,
83 + method: "get",
84 + });
85 +}
86 +// /asyncExport/download/{taskId}
87 +export function getDownload(data) {
88 + return request({
89 + url: "/bus-customer/asyncExport/download/" + data.taskId,
90 + method: "get",
91 + });
92 +}
......
...@@ -15,4 +15,14 @@ export function getAllCancellation(data) { ...@@ -15,4 +15,14 @@ export function getAllCancellation(data) {
15 method: 'post', 15 method: 'post',
16 data: data, 16 data: data,
17 }) 17 })
18 +}
19 +//出口撤销单回执
20 +/**
21 + * @param copNo * 清单总分单号
22 + */
23 +export function getExportCancellationReceiptData(data) {
24 + return request({
25 + url: '/bus-customer/exportCancellation/receipt/' + data.copNo,
26 + method: 'get',
27 + })
18 } 28 }
...\ No newline at end of file ...\ No newline at end of file
......
1 +import request from "@/utils/request";
2 +
3 +/**
4 + * 汇总申请单查询
5 + * @param data.billNo 提运单号
6 + * @param data.preNo 预录入编号
7 + * @param data.agentCode 电商企业代码
8 + * @param data.startTime 汇总开始时间
9 + * @param data.endTime 汇总结束时间
10 + * @param data.sumNo 汇总申请编号
11 + * @param data.declagAgentCode 报关企业代码
12 + * @param data.returnStatus 业务状态
13 + * @param data.msgSeqNo 报文序号
14 + * @param data.pageIndex 当前页码
15 + * @param data.pageSize 分页最大数据量
16 + */
17 +export function searchExportSummaryList(data) {
18 + return request({
19 + url: "/bus-customer/exportSummary/exportSummaryList",
20 + method: "post",
21 + data: data,
22 + });
23 +}
24 +
25 +/**
26 + * 查询汇总回执
27 + * @param data.copNo 企业唯一编号
28 + */
29 +export function getExportSummaryReceiptData(data) {
30 + return request({
31 + url: "/bus-customer/exportSummary/receipt/" + data.copNo,
32 + method: "get",
33 + });
34 +}
35 +
36 +/**
37 + * 获取汇总申请单详情
38 + * @param data.id 汇总申请单id
39 + */
40 +export function getExportSummaryDetail(data) {
41 + return request({
42 + url: "/bus-customer/exportSummary/exportSummaryDetail/" + data.id,
43 + method: "get",
44 + });
45 +}
46 +
47 +/**
48 + * 汇总申报
49 + * @param data
50 + * @returns {*}
51 + */
52 +export function declareSummaryApplication(data) {
53 + return request({
54 + url: "/bus-customer/exportSummary/declare",
55 + method: "post",
56 + data: data,
57 + });
58 +}
59 +
60 +// POST
61 +// ​/exportSummary​/get​/customers
62 +// 根据条件获取可以汇总申报的企业
63 +export function getCustomers(data) {
64 + return request({
65 + url: "/bus-customer/exportSummary/get/customers",
66 + method: "post",
67 + data: data,
68 + });
69 +}
70 +
71 +// POST /exportSummary​/preview 预览
72 +export function preview(data) {
73 + return request({
74 + url: "/bus-customer/exportSummary/preview",
75 + method: "post",
76 + data: data,
77 + });
78 +}
1 +import request from "@/utils/request";
2 +
3 +// POST
4 +// ​/operationLog​/getOperationLogList
5 +// 查询操作日志列表
6 +export function getOperationLogList(data) {
7 + return request({
8 + url: "/bus-customer/operationLog/getOperationLogList",
9 + method: "post",
10 + data: data,
11 + });
12 +}
1 import request from '@/utils/request' 1 import request from '@/utils/request'
2 2
3 -// 登录方法
4 export function login(loginName, password, rememberMe, equipmentType, userAgent, selectedLocale) { 3 export function login(loginName, password, rememberMe, equipmentType, userAgent, selectedLocale) {
5 // const data = { 4 // const data = {
6 // loginName, 5 // loginName,
7 // password, 6 // password,
8 // rememberMe 7 // rememberMe
9 // } 8 // }
9 + // const data = {
10 + // "email": "247908967@qq.com",
11 + // "name": "测试用户",
12 + // "phone": 18221643976,
13 + // "port": "TSN",
14 + // "purpleId": '测试用户',
15 + // "role": 170
16 + // }
17 + // return request({
18 + // url: '/bus-customer/login',
19 + // method: 'post',
20 + // data: data
21 + // })
10 const data = { 22 const data = {
11 - "email": "247908967@qq.com", 23 + "loginName":loginName,
12 - "name": "肖玉兰", 24 + "password":password,
13 - "phone": 18221643976,
14 - "port": "TSN",
15 - "purpleId": '肖玉兰',
16 - "role": 170
17 } 25 }
18 return request({ 26 return request({
19 - url: '/bus-customer/login', 27 + url: '/bus-customer/customerLogin',
20 - method: 'post', 28 + method: 'post',
21 - data: data 29 + data: data
22 - }) 30 + })
23 } 31 }
24 32
25 // 退出方法 33 // 退出方法
......
1 -import request from '@/utils/request' 1 +import request from "@/utils/request";
2 2
3 -// 获取路由 3 +// 获取路由所有路由
4 export const getRouters = () => { 4 export const getRouters = () => {
5 return request({ 5 return request({
6 - url: '/bus-customer/menu/selectMenu', 6 + url: "/bus-customer/menu/selectMenu",
7 - method: 'get' 7 + method: "get",
8 - }) 8 + });
9 -} 9 +};
10 10
11 +//获取用户可访问的路由
12 +export const getUserRouters = () => {
13 + return request({
14 + url: "/bus-customer/obtainUserRights",
15 + method: "post",
16 + });
17 +};
18 +
19 +// /menu/addMenu 添加菜单
20 +export const addMenu = (data) => {
21 + return request({
22 + url: "/bus-customer/menu/addMenu",
23 + method: "post",
24 + data: data,
25 + });
26 +};
27 +
28 +// PUT /menu​/deleteMenu 删除菜单
29 +export const deleteMenu = (data) => {
30 + return request({
31 + url: `/bus-customer/menu/deleteMenu?menuId=${data.menuId}`,
32 + method: "put",
33 + });
34 +};
35 +
36 +// POST /menu​/updateMenu 更新菜单
37 +export const updateMenu = (data) => {
38 + return request({
39 + url: "/bus-customer/menu/updateMenu",
40 + method: "post",
41 + data: data,
42 + });
43 +};
......
1 +import request from "@/utils/request";
2 +// GET
3 +// /customerDeclareData/info/{customerDeclareDataId}
4 +// 查询客户申报数据信息
5 +export function getCustomerDeclareDataId({ customerDeclareDataId }) {
6 + return request({
7 + url: `/bus-customer/customerDeclareData/info/${customerDeclareDataId}`,
8 + method: "get",
9 + });
10 +}
11 +
12 +// POST
13 +// /customerDeclareData/search
14 +// 查询客户申报数据列表
15 +export function getPddInfo(data) {
16 + return request({
17 + url: "/bus-customer/customerDeclareData/search",
18 + method: "post",
19 + data: data,
20 + });
21 +}
22 +
23 +// GET
24 +// /customerDeclareData/resend/{id}
25 +// 重新发送申报数据
26 +export function getResend({ id }) {
27 + return request({
28 + url: `/bus-customer/customerDeclareData/resend/${id}`,
29 + method: "get",
30 + });
31 +}
32 +
33 +//提交广州客户申报数据异步导出任务
34 +export function getSubmitExportTask(data) {
35 + return request({
36 + url: `/bus-customer/customerDeclareData/submitExportTask`,
37 + method: "post",
38 + data: data,
39 + });
40 +}
...\ No newline at end of file ...\ No newline at end of file
1 +import request from "@/utils/request";
2 +
3 +// POST
4 +// /mockReceipt/add
5 +// 新增模拟回执
6 +export function addInfo(data) {
7 + return request({
8 + url: "/bus-customer/mockReceipt/add",
9 + method: "post",
10 + data: data,
11 + });
12 +}
13 +
14 +// POST
15 +// /mockReceipt/generateReceiptXml
16 +// 生成回执xml
17 +export function generateReceiptXml(data) {
18 + return request({
19 + url: "/bus-customer/mockReceipt/generateReceiptXml",
20 + method: "post",
21 + data: data,
22 + });
23 +}
24 +
25 +// POST
26 +// /mockReceipt/search
27 +// 搜索
28 +export function searchList(data) {
29 + return request({
30 + url: "/bus-customer/mockReceipt/search",
31 + method: "post",
32 + data: data,
33 + });
34 +}
35 +
36 +// GET
37 +// /mockReceipt/searchOrderNo
38 +// 搜索订单号
39 +export function searchOrderNo(data) {
40 + return request({
41 + url: "/bus-customer/mockReceipt/searchLogisticsNo",
42 + method: "get",
43 + params: data,
44 + });
45 +}
46 +
47 +// /mockReceipt/getListInfo/{logisticsNo}
48 +export function getListInfo(logisticsNo) {
49 + return request({
50 + url: "/bus-customer/mockReceipt/getListInfo/" + logisticsNo,
51 + method: "get",
52 + });
53 +}
54 +
55 +// name 收发货人名称 搜索模拟回执汇总申报下拉信息
56 +export function searchMockReceiptSummary(data) {
57 + return request({
58 + url: `/bus-customer/mockReceipt/searchMockReceiptSummary?name=${data.name}`,
59 + method: "get",
60 + });
61 +}
62 +
63 +//获取清单模拟回执信息
64 +export function getListInfoByLogisticsNo(data) {
65 + return request({
66 + url: `/bus-customer/mockReceipt/getListInfo/${data.logisticsNo}`,
67 + method: "get",
68 + });
69 +}
1 +import request from "@/utils/request";
2 +
3 +// POST
4 +// ​/operatorPlace​/addOperatorPlace
5 +// 新增监管场所
6 +export function addOperatorPlace(data) {
7 + return request({
8 + url: "/bus-customer/operatorPlace/addOperatorPlace",
9 + method: "post",
10 + data: data,
11 + });
12 +}
13 +
14 +// POST
15 +// ​/operatorPlace​/getOperatorPlaceList
16 +// 查询监管场所列表
17 +export function getOperatorPlaceList(data) {
18 + return request({
19 + url: "/bus-customer/operatorPlace/getOperatorPlaceList",
20 + method: "post",
21 + data: data,
22 + });
23 +}
24 +
25 +// POST
26 +// ​/operatorPlace​/updateOperatorPlace
27 +// 修改监管场所
28 +export function updateOperatorPlace(data) {
29 + return request({
30 + url: "/bus-customer/operatorPlace/updateOperatorPlace",
31 + method: "post",
32 + data: data,
33 + });
34 +}
35 +
36 +// GET
37 +// ​/portInfo​/getPortCodeList
38 +// 获取口岸列表作用于条件查询的下拉框
39 +export function getPortCodeList() {
40 + return request({
41 + url: "/bus-customer/portInfo/getPortCodeList",
42 + method: "get",
43 + });
44 +}
1 -import request from '@/utils/request' 1 +import request from "@/utils/request";
2 +import axios from "axios";
3 +
4 +const baseUrl = process.env.VUE_APP_BASE_API; //接口地址
2 5
3 // 查询客户数据 6 // 查询客户数据
4 /** 7 /**
...@@ -12,11 +15,11 @@ import request from '@/utils/request' ...@@ -12,11 +15,11 @@ import request from '@/utils/request'
12 * @param pageSize * 15 * @param pageSize *
13 */ 16 */
14 export function getCustomerList(data) { 17 export function getCustomerList(data) {
15 - return request({ 18 + return request({
16 - url: '/bus-customer/customers/getCustomerList', 19 + url: "/bus-customer/customers/getCustomerList",
17 - method: 'post', 20 + method: "post",
18 - data: data 21 + data: data,
19 - }) 22 + });
20 } 23 }
21 24
22 // 新增客户数据 25 // 新增客户数据
...@@ -34,22 +37,118 @@ export function getCustomerList(data) { ...@@ -34,22 +37,118 @@ export function getCustomerList(data) {
34 * @param qingdaoUserId 青岛用户ID 37 * @param qingdaoUserId 青岛用户ID
35 */ 38 */
36 export function addCustomerData(data) { 39 export function addCustomerData(data) {
37 - let formData = new FormData 40 + // let formData = new FormData
38 - formData.append("beijingDxpid", data.beijingDxpid); 41 + // formData.append("beijingDxpid", data.beijingDxpid);
39 - formData.append("certificare", data.certificare); 42 + // formData.append("certificare", data.certificare);
40 - formData.append("clientId", data.clientId); 43 + // formData.append("clientId", data.clientId);
41 - formData.append("ecomEntCode", data.ecomEntCode); 44 + // formData.append("ecomEntCode", data.ecomEntCode);
42 - formData.append("ecomEntEmail", data.ecomEntEmail); 45 + // formData.append("ecomEntEmail", data.ecomEntEmail);
43 - formData.append("orderRequester", data.orderRequester); 46 + // formData.append("orderRequester", data.orderRequester);
44 - formData.append("qingdaoDanyiUserDxpid", data.qingdaoDanyiUserDxpid); 47 + // formData.append("qingdaoDanyiUserDxpid", data.qingdaoDanyiUserDxpid);
45 - formData.append("qingdaoKey", data.qingdaoKey); 48 + // formData.append("qingdaoKey", data.qingdaoKey);
46 - formData.append("qingdaoUserDxpid", data.qingdaoUserDxpid); 49 + // formData.append("qingdaoUserDxpid", data.qingdaoUserDxpid);
47 - formData.append("qingdaoUserId", data.qingdaoUserId); 50 + // formData.append("qingdaoUserId", data.qingdaoUserId);
48 - return request({ 51 + console.log(data);
49 - url: '/bus-customer/customers/add', 52 + return request({
50 - method: 'post', 53 + url: "/bus-customer/customers/add",
51 - data: formData 54 + method: "post",
55 + data: data,
56 + });
57 +}
58 +
59 +//上传证书
60 +export function uploadCertificate(ecomEntCode, certificate) {
61 + const formData = new FormData();
62 + formData.append("certificate", certificate);
63 + formData.append("ecomEntCode", ecomEntCode);
64 + return request({
65 + url: "/bus-customer/customers/uploadCertificate",
66 + method: "post",
67 + data: formData,
68 + });
69 +}
70 +//上传青岛证书
71 +export function uploadQingdaoCertificate(ecomEntCode, certificate) {
72 + const formData = new FormData();
73 + formData.append("certificate", certificate);
74 + formData.append("ecomEntCode", ecomEntCode);
75 + return request({
76 + url: "/bus-customer/customers/uploadQingDaoCertificate",
77 + method: "post",
78 + data: formData,
79 + });
80 +}
81 +
82 +//删除证书
83 +export function delCertificate(id, certificate) {
84 + return request({
85 + url: "/bus-customer/customers/deleteCertificate",
86 + method: "post",
87 + params: { id: id, certificate: certificate },
88 + });
89 +}
90 +//删除青岛证书
91 +export function delQingdaoCertificate(id, certificate) {
92 + return request({
93 + url: "/bus-customer/customers/deleteQingdaoCertificate",
94 + method: "post",
95 + params: { id: id, certificatePath: certificate },
96 + });
97 +}
98 +
99 +//下载证书
100 +export function downloadCertificate(id, filename) {
101 + console.log("fileName" + filename);
102 + return new Promise((resolve, reject) => {
103 + // axios({
104 + // method: "get",
105 + // url: '/bus-customer/customers/getCertificate/' + id,
106 + // responseType: "blob",
107 + // })
108 + var url = baseUrl + "/bus-customer/customers/getCertificate/" + id;
109 + request({
110 + url: url,
111 + method: "get",
112 + responseType: "blob", // 确保响应类型为 blob
113 + params: id,
114 + })
115 + .then((res) => {
116 + const aLink = document.createElement("a");
117 + aLink.href = URL.createObjectURL(res);
118 + aLink.setAttribute("download", filename); // 设置下载文件名称
119 + document.body.appendChild(aLink);
120 + aLink.click();
121 + document.body.removeChild(aLink);
122 + resolve(res);
123 + })
124 + .catch((err) => {
125 + reject(err);
126 + });
127 + });
128 +}
129 +//下载青岛证书
130 +export function downloadQingdaoCertificate(id, filename) {
131 + return new Promise((resolve, reject) => {
132 + var url = baseUrl + "/bus-customer/customers/getQingDaoCertificate/" + id;
133 + request({
134 + url: url,
135 + method: "get",
136 + responseType: "blob", // 确保响应类型为 blob
137 + params: id,
52 }) 138 })
139 + .then((res) => {
140 + const aLink = document.createElement("a");
141 + aLink.href = URL.createObjectURL(res);
142 + aLink.setAttribute("download", filename); // 设置下载文件名称
143 + document.body.appendChild(aLink);
144 + aLink.click();
145 + document.body.removeChild(aLink);
146 + resolve(res);
147 + })
148 + .catch((err) => {
149 + reject(err);
150 + });
151 + });
53 } 152 }
54 153
55 // 修改客户数据 154 // 修改客户数据
...@@ -68,21 +167,39 @@ export function addCustomerData(data) { ...@@ -68,21 +167,39 @@ export function addCustomerData(data) {
68 * @param qingdaoUserId 青岛用户ID 167 * @param qingdaoUserId 青岛用户ID
69 */ 168 */
70 export function updateCustomerData(data) { 169 export function updateCustomerData(data) {
71 - let formData = new FormData
72 - formData.append("id", data.id);
73 - formData.append("beijingDxpid", data.beijingDxpid);
74 - formData.append("certificare", data.certificare);
75 - formData.append("clientId", data.clientId);
76 - formData.append("ecomEntCode", data.ecomEntCode);
77 - formData.append("ecomEntEmail", data.ecomEntEmail);
78 - formData.append("orderRequester", data.orderRequester);
79 - formData.append("qingdaoDanyiUserDxpid", data.qingdaoDanyiUserDxpid);
80 - formData.append("qingdaoKey", data.qingdaoKey);
81 - formData.append("qingdaoUserDxpid", data.qingdaoUserDxpid);
82 - formData.append("qingdaoUserId", data.qingdaoUserId);
83 - return request({
84 - url: '/bus-customer/customers/update',
85 - method: 'put',
86 - data: formData
87 - })
88 -}
...\ No newline at end of file ...\ No newline at end of file
170 + // let formData = new FormData
171 + // formData.append("id", data.id);
172 + // formData.append("beijingDxpid", data.beijingDxpid);
173 + // formData.append("certificare", data.certificare);
174 + // formData.append("clientId", data.clientId);
175 + // formData.append("ecomEntCode", data.ecomEntCode);
176 + // formData.append("ecomEntEmail", data.ecomEntEmail);
177 + // formData.append("orderRequester", data.orderRequester);
178 + // formData.append("qingdaoDanyiUserDxpid", data.qingdaoDanyiUserDxpid);
179 + // formData.append("qingdaoKey", data.qingdaoKey);
180 + // formData.append("qingdaoUserDxpid", data.qingdaoUserDxpid);
181 + // formData.append("qingdaoUserId", data.qingdaoUserId);
182 + return request({
183 + url: "/bus-customer/customers/update",
184 + method: "put",
185 + data: data,
186 + });
187 +}
188 +// /portInfo
189 +export function getPortInfo(data) {
190 + return request({
191 + url: "/bus-customer/portInfo/getAllPort",
192 + method: "get",
193 + data: data,
194 + });
195 +}
196 +
197 +// GET
198 +// ​/customers​/customerDetails​/{id}
199 +// 获取客户详情
200 +export function getCustomerDetails(data) {
201 + return request({
202 + url: "/bus-customer/customers/customerDetails/" + data.id,
203 + method: "get",
204 + });
205 +}
......
...@@ -50,4 +50,16 @@ export function updatePortData(data) { ...@@ -50,4 +50,16 @@ export function updatePortData(data) {
50 method: 'put', 50 method: 'put',
51 data: data 51 data: data
52 }) 52 })
53 -}
...\ No newline at end of file ...\ No newline at end of file
53 +}
54 +
55 +// 获取口岸字典
56 +/**
57 + * @param
58 + */
59 +export function getPortCodeList() {
60 + return request({
61 + url: '/bus-customer/portInfo/getPortCodeList',
62 + method: 'get',
63 + // params: data
64 + })
65 + }
...\ No newline at end of file ...\ No newline at end of file
......
1 +import request from "@/utils/request";
2 +
3 +// POST
4 +// ​/operatorPlace​/addOperatorPlace
5 +// 新增监管场所
6 +export function addOperatorPlace(data) {
7 + return request({
8 + url: "/bus-customer/operatorPlace/addOperatorPlace",
9 + method: "post",
10 + data: data,
11 + });
12 +}
13 +
14 +// POST
15 +// ​/operatorPlace​/getOperatorPlaceList
16 +// 查询监管场所列表
17 +export function getOperatorPlaceList(data) {
18 + return request({
19 + url: "/bus-customer/operatorPlace/getOperatorPlaceList",
20 + method: "post",
21 + data: data,
22 + });
23 +}
24 +
25 +// POST
26 +// ​/operatorPlace​/updateOperatorPlace
27 +// 修改监管场所
28 +export function updateOperatorPlace(data) {
29 + return request({
30 + url: "/bus-customer/operatorPlace/updateOperatorPlace",
31 + method: "post",
32 + data: data,
33 + });
34 +}
...@@ -66,7 +66,7 @@ export function updateRoleMenuData(data) { ...@@ -66,7 +66,7 @@ export function updateRoleMenuData(data) {
66 * @param userName 用户名称 66 * @param userName 用户名称
67 * @param port 口岸 67 * @param port 口岸
68 * @param roleIds list 68 * @param roleIds list
69 - * @param pageIndex * 69 + * @param pageIndex *
70 * @param pageSize * 70 * @param pageSize *
71 */ 71 */
72 export function getUserData(data) { 72 export function getUserData(data) {
...@@ -95,7 +95,7 @@ export function getUserDetailData(data) { ...@@ -95,7 +95,7 @@ export function getUserDetailData(data) {
95 * @param userName 用户名称 95 * @param userName 用户名称
96 * @param port 口岸 96 * @param port 口岸
97 * @param email 邮件 97 * @param email 邮件
98 - * @param id * 98 + * @param id *
99 * @param remark 备注 99 * @param remark 备注
100 * @param phone 口岸 100 * @param phone 口岸
101 */ 101 */
...@@ -113,21 +113,21 @@ export function updateUserData(data) { ...@@ -113,21 +113,21 @@ export function updateUserData(data) {
113 * @param userName 用户名称 113 * @param userName 用户名称
114 * @param port 口岸 114 * @param port 口岸
115 * @param email 邮件 115 * @param email 邮件
116 - * @param id * 116 + * @param id *
117 * @param remark 备注 117 * @param remark 备注
118 * @param phone 口岸 118 * @param phone 口岸
119 */ 119 */
120 export function updateUserRoleChange(data) { 120 export function updateUserRoleChange(data) {
121 return request({ 121 return request({
122 - url: '/bus-customer/user/updateUser', 122 + url: '/bus-customer/user/roleEditing',
123 method: 'put', 123 method: 'put',
124 data: data 124 data: data
125 }) 125 })
126 } 126 }
127 127
128 -// 获取口岸字典 128 +// 获取用户口岸字典
129 /** 129 /**
130 - * @param 130 + * @param
131 */ 131 */
132 export function getPortList(data) { 132 export function getPortList(data) {
133 return request({ 133 return request({
...@@ -139,7 +139,7 @@ export function getPortList(data) { ...@@ -139,7 +139,7 @@ export function getPortList(data) {
139 139
140 // 获取角色字典 140 // 获取角色字典
141 /** 141 /**
142 - * @param 142 + * @param
143 */ 143 */
144 export function getRoleDict(data) { 144 export function getRoleDict(data) {
145 return request({ 145 return request({
...@@ -159,4 +159,27 @@ export function getUserRoleType(data) { ...@@ -159,4 +159,27 @@ export function getUserRoleType(data) {
159 method: 'get', 159 method: 'get',
160 params: data 160 params: data
161 }) 161 })
162 -}
...\ No newline at end of file ...\ No newline at end of file
162 +}
163 +/**
164 + * 获取role已绑定的Menue
165 + * @param {} roleId
166 + * @returns
167 + */
168 +export function getMenuByRoleId(roleId) {
169 + return request({
170 + url: '/bus-customer/role/selectMenu?roleId='+roleId,
171 + method: 'get',
172 + // params: data
173 + })
174 +}
175 +
176 +/**
177 + * 获取当前用户的口岸信息
178 + * @returns {AxiosPromise}
179 + */
180 +export function getCurrUserPortInfo(){
181 + return request({
182 + url:'/bus-customer/user/getCurrUserPortInfo',
183 + method:'get'
184 + })
185 +}
......
No preview for this file type
1 +<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1763694170210" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3134" id="mx_n_1763694170211" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><path d="M682.666667 0a42.666667 42.666667 0 0 1 25.941333 8.789333l4.266667 3.712 207.061333 207.061334a64 64 0 0 1 18.432 38.954666l0.298667 6.314667V469.333333a42.666667 42.666667 0 0 1-85.034667 4.992L853.333333 469.333333v-128h-192a64 64 0 0 1-63.701333-57.856l-0.298667-6.144v-192h-426.666666v853.333334h256a42.666667 42.666667 0 0 1 42.325333 37.674666l0.298667 4.992a42.666667 42.666667 0 0 1-37.674667 42.368l-4.992 0.298667H149.333333a64 64 0 0 1-63.701333-57.856l-0.298667-6.144v-896a64 64 0 0 1 57.856-63.701333l6.144-0.298667H682.666667z m153.045333 256l-153.045333-152.96V256h153.045333z" fill="#191919" p-id="3135"></path><path d="M298.666667 341.333333m42.666666 0l128 0q42.666667 0 42.666667 42.666667l0 0q0 42.666667-42.666667 42.666667l-128 0q-42.666667 0-42.666666-42.666667l0 0q0-42.666667 42.666666-42.666667Z" fill="#191919" p-id="3136"></path><path d="M298.666667 512m42.666666 0l128 0q42.666667 0 42.666667 42.666667l0 0q0 42.666667-42.666667 42.666666l-128 0q-42.666667 0-42.666666-42.666666l0 0q0-42.666667 42.666666-42.666667Z" fill="#191919" p-id="3137"></path><path d="M298.666667 682.666667m42.666666 0l128 0q42.666667 0 42.666667 42.666666l0 0q0 42.666667-42.666667 42.666667l-128 0q-42.666667 0-42.666666-42.666667l0 0q0-42.666667 42.666666-42.666666Z" fill="#191919" p-id="3138"></path><path d="M828.970667 517.376a21.333333 21.333333 0 0 1 3.029333 10.965333v70.058667A213.333333 213.333333 0 1 1 597.333333 810.666667a38.826667 38.826667 0 1 1 77.568 0 135.765333 135.765333 0 1 0 157.141334-134.101334l-0.042667 32.426667a21.333333 21.333333 0 0 1-32.298667 18.304l-150.528-90.325333a21.333333 21.333333 0 0 1 0-36.608l150.528-90.325334a21.333333 21.333333 0 0 1 29.269334 7.338667z" fill="#191919" p-id="3139"></path></svg>
...\ No newline at end of file ...\ No newline at end of file
1 +<svg width="23" height="23" viewBox="0 0 23 23" fill="none" xmlns="http://www.w3.org/2000/svg">
2 +<path d="M12.937 21.5617H0V1.4375H18.6868V11.4996H17.2493V2.87495H1.43745V20.1243H11.4996L12.937 21.5617Z" fill="#333333"/>
3 +<path d="M16.5307 11.4996C19.2619 11.4996 21.5618 13.7995 21.5618 16.5306C21.5618 19.2618 19.2619 21.5617 16.5307 21.5617C13.7996 21.5617 11.4997 19.2618 11.4997 16.5306C11.4997 13.7995 13.7996 11.4996 16.5307 11.4996ZM16.5307 10.0621C12.9371 10.0621 10.0622 12.937 10.0622 16.5306C10.0622 20.1242 12.9371 22.9991 16.5307 22.9991C20.1243 22.9991 22.9992 20.1242 22.9992 16.5306C22.9992 12.937 20.1243 10.0621 16.5307 10.0621ZM4.31245 0H5.74989V4.31234H4.31245V0ZM12.9371 0H14.3746V4.31234H12.9371V0ZM2.875 7.18723H15.812V8.62467H2.875V7.18723ZM2.875 11.4996H10.0622V12.937H2.875V11.4996ZM2.875 15.8119H8.62478V17.2493H2.875V15.8119Z" fill="#333333"/>
4 +<path d="M20.1248 18.6873H15.8125V12.9375H17.2499V17.2498H20.1248V18.6873Z" fill="#333333"/>
5 +</svg>
1 +<svg width="21" height="23" viewBox="0 0 21 23" fill="none" xmlns="http://www.w3.org/2000/svg">
2 +<path d="M18.6508 17.8358H12.1641C11.6754 17.8358 11.3555 17.5101 11.3555 17.0273C11.3555 16.5387 11.6813 16.2188 12.1641 16.2188H18.6508C19.1395 16.2188 19.4594 16.5445 19.4594 17.0273C19.4594 17.5101 18.9766 17.8358 18.6508 17.8358Z" fill="#333333"/>
3 +<path d="M20.2746 17.8456C20.1117 17.8456 19.7859 17.8456 19.623 17.6827L16.8654 14.9255C16.5396 14.5997 16.5396 14.1169 16.8654 13.7912C17.1912 13.4654 17.6741 13.4654 17.9999 13.7912L20.7574 16.5484C21.0832 16.8741 21.0832 17.3569 20.7574 17.6827C20.6004 17.8456 20.4375 17.8456 20.2746 17.8456Z" fill="#333333"/>
4 +<path d="M17.354 20.5976C17.1911 20.5976 16.8653 20.5976 16.7024 20.4347C16.3766 20.109 16.3766 19.6262 16.7024 19.3004L19.46 16.5432C19.7858 16.2175 20.2686 16.2175 20.5944 16.5432C20.9202 16.869 20.9202 17.3518 20.5944 17.6775L17.8369 20.4347C17.6614 20.5227 17.6798 20.5976 17.354 20.5976ZM11.356 22.0576H1.62312C0.651575 22.0576 0 21.4061 0 20.4347V1.62291C0 0.651491 0.651575 0 1.62312 0H18.1627C19.1342 0 19.7858 0.651491 19.7858 1.62291V9.56878C19.7858 10.0574 19.46 10.3773 18.9771 10.3773C18.4884 10.3773 18.1685 10.0516 18.1685 9.56878V1.62291H1.62312V20.4347H11.1931C11.6818 20.4347 12.1647 20.7605 12.1647 21.2433C12.1647 21.7319 11.676 22.0576 11.356 22.0576Z" fill="#333333"/>
5 +<path d="M13.7884 6.64053H5.51568C5.027 6.64053 4.70703 6.31479 4.70703 5.83198C4.70703 5.34337 5.03282 5.02344 5.51568 5.02344H13.7884C14.277 5.02344 14.597 5.34918 14.597 5.83198C14.597 6.3206 14.2712 6.64053 13.7884 6.64053ZM11.3566 11.3464H5.51568C5.027 11.3464 4.70703 11.0206 4.70703 10.5378C4.70703 10.0492 5.03282 9.7293 5.51568 9.7293H11.3566C11.6824 9.7293 12.1652 10.055 12.1652 10.5378C12.1652 11.0206 11.6766 11.3464 11.3566 11.3464ZM9.57057 16.2093H5.51568C5.027 16.2093 4.70703 15.8836 4.70703 15.4008C4.70703 14.9121 5.03282 14.5922 5.51568 14.5922H9.57057C10.0593 14.5922 10.3792 14.918 10.3792 15.4008C10.3792 15.8836 9.89636 16.2093 9.57057 16.2093Z" fill="#333333"/>
6 +</svg>
1 +<svg width="16" height="12" viewBox="0 0 16 12" fill="none" xmlns="http://www.w3.org/2000/svg">
2 +<path d="M0 1H16" stroke="#FF6600" stroke-miterlimit="10"/>
3 +<path d="M2 6H14" stroke="#FF6600" stroke-miterlimit="10"/>
4 +<path d="M4 11H12" stroke="#FF6600" stroke-miterlimit="10"/>
5 +</svg>
This diff is collapsed. Click to expand it.
1 - /** 1 +/**
2 * 通用css样式布局处理 2 * 通用css样式布局处理
3 * Copyright (c) 2019 ruoyi 3 * Copyright (c) 2019 ruoyi
4 */ 4 */
5 5
6 - /** 基础通用 **/
7 - .pt5 {
8 - padding-top: 5px;
9 - }
10 -
11 - .pr5 {
12 - padding-right: 5px;
13 - }
14 -
15 - .pb5 {
16 - padding-bottom: 5px;
17 - }
18 -
19 - .pl10 {
20 - padding-left: 10px;
21 - }
22 -
23 - .mt5 {
24 - margin-top: 5px;
25 - }
26 -
27 - .mr5 {
28 - margin-right: 5px;
29 - }
30 -
31 - .mb5 {
32 - margin-bottom: 5px;
33 - }
34 -
35 - .mb8 {
36 - margin-bottom: 8px;
37 - }
38 -
39 - .ml5 {
40 - margin-left: 5px;
41 - }
42 -
43 - .mt10 {
44 - margin-top: 10px;
45 - }
46 -
47 - .mr10 {
48 - margin-right: 10px;
49 - }
50 -
51 - .mb10 {
52 - margin-bottom: 10px;
53 - }
54 -
55 - .ml0 {
56 - margin-left: 10px;
57 - }
58 -
59 - .mt20 {
60 - margin-top: 20px;
61 - }
62 -
63 - .mr20 {
64 - margin-right: 20px;
65 - }
66 -
67 - .mb20 {
68 - margin-bottom: 20px;
69 - }
70 -
71 - .m20 {
72 - margin-left: 20px;
73 - }
74 -
75 - .el-dialog:not(.is-fullscreen) {
76 - margin-top: 6vh !important;
77 - }
78 -
79 - .textCenter {
80 - text-align: center;
81 - }
82 -
83 - /** 表单布局 **/
84 - .form-header {
85 - font-size: 15px;
86 - color: #6379bb;
87 - border-bottom: 1px solid #ddd;
88 - margin: 8px 10px 25px 10px;
89 - padding-bottom: 5px
90 - }
91 -
92 - /** 表格布局 **/
93 - .pagination-container {
94 - position: relative;
95 - height: 25px;
96 - margin-bottom: 10px;
97 - margin-top: 15px;
98 - padding: 10px 20px !important;
99 - }
100 -
101 - /* tree border */
102 - .tree-border {
103 - margin-top: 5px;
104 - border: 1px solid #e5e6e7;
105 - background: #FFFFFF none;
106 - border-radius: 4px;
107 - }
108 -
109 - .pagination-container .el-pagination {
110 - right: 0;
111 - position: absolute;
112 - }
113 -
114 - .el-table .fixed-width .el-button--mini {
115 - padding-left: 0;
116 - padding-right: 0;
117 - width: inherit;
118 - }
119 -
120 - .el-tree-node__content>.el-checkbox {
121 - margin-right: 8px;
122 - }
123 -
124 - .list-group-striped>.list-group-item {
125 - border-left: 0;
126 - border-right: 0;
127 - border-radius: 0;
128 - padding-left: 0;
129 - padding-right: 0;
130 - }
131 -
132 - .list-group {
133 - padding-left: 0px;
134 - list-style: none;
135 - }
136 -
137 - .list-group-item {
138 - border-bottom: 1px solid #e7eaec;
139 - border-top: 1px solid #e7eaec;
140 - margin-bottom: -1px;
141 - padding: 11px 0px;
142 - font-size: 13px;
143 - }
144 -
145 - .pull-right {
146 - float: right !important;
147 - }
148 -
149 - .el-card__header {
150 - padding: 14px 15px 7px;
151 - min-height: 40px;
152 - }
153 -
154 - .el-card__body {
155 - padding: 15px 20px 20px 20px;
156 - }
157 -
158 - .card-box {
159 - padding-right: 15px;
160 - padding-left: 15px;
161 - margin-bottom: 10px;
162 - }
163 -
164 - /* button color */
165 - .el-button--cyan.is-active,
166 - .el-button--cyan:active {
167 - background: #20B2AA;
168 - border-color: #20B2AA;
169 - color: #FFFFFF;
170 - }
171 -
172 - .el-button--cyan:focus,
173 - .el-button--cyan:hover {
174 - background: #48D1CC;
175 - border-color: #48D1CC;
176 - color: #FFFFFF;
177 - }
178 -
179 - .el-button--cyan {
180 - background-color: #20B2AA;
181 - border-color: #20B2AA;
182 - color: #FFFFFF;
183 - }
184 -
185 - /* text color */
186 - .text-navy {
187 - color: #1ab394;
188 - }
189 -
190 - .text-primary {
191 - color: inherit;
192 - }
193 -
194 - .text-success {
195 - color: #1c84c6;
196 - }
197 -
198 - .text-info {
199 - color: #23c6c8;
200 - }
201 -
202 - .text-warning {
203 - color: #f8ac59;
204 - }
205 -
206 - .text-danger {
207 - color: #ed5565;
208 - }
209 -
210 - .text-muted {
211 - color: #888888;
212 - }
213 -
214 - /* image */
215 - .img-circle {
216 - border-radius: 50%;
217 - }
218 -
219 - .img-lg {
220 - width: 120px;
221 - height: 120px;
222 - }
223 -
224 - .avatar-upload-preview {
225 - position: absolute;
226 - top: 50%;
227 - transform: translate(50%, -50%);
228 - width: 200px;
229 - height: 200px;
230 - border-radius: 50%;
231 - box-shadow: 0 0 4px #ccc;
232 - overflow: hidden;
233 - }
234 -
235 - /* 拖拽列样式 */
236 - .sortable-ghost {
237 - opacity: .8;
238 - color: #fff !important;
239 - background: #42b983 !important;
240 - }
241 -
242 - .top-right-btn {
243 - position: relative;
244 - float: right;
245 - }
...\ No newline at end of file ...\ No newline at end of file
6 +/** 基础通用 **/
7 +.pt5 {
8 + padding-top: 5px;
9 +}
10 +
11 +.pr5 {
12 + padding-right: 5px;
13 +}
14 +
15 +.pb5 {
16 + padding-bottom: 5px;
17 +}
18 +
19 +.pl10 {
20 + padding-left: 10px;
21 +}
22 +
23 +.mt5 {
24 + margin-top: 5px;
25 +}
26 +
27 +.mr5 {
28 + margin-right: 5px;
29 +}
30 +
31 +.mb5 {
32 + margin-bottom: 5px;
33 +}
34 +
35 +.mb8 {
36 + margin-bottom: 8px;
37 +}
38 +
39 +.ml5 {
40 + margin-left: 5px;
41 +}
42 +
43 +.mt10 {
44 + margin-top: 10px;
45 +}
46 +
47 +.mr10 {
48 + margin-right: 10px;
49 +}
50 +
51 +.mb10 {
52 + margin-bottom: 10px;
53 +}
54 +
55 +.ml0 {
56 + margin-left: 10px;
57 +}
58 +
59 +.mt20 {
60 + margin-top: 20px;
61 +}
62 +
63 +.mr20 {
64 + margin-right: 20px;
65 +}
66 +
67 +.mb20 {
68 + margin-bottom: 20px;
69 +}
70 +
71 +.m20 {
72 + margin-left: 20px;
73 +}
74 +
75 +.el-dialog:not(.is-fullscreen) {
76 + margin-top: 1vh !important;
77 +}
78 +.el-dialog {
79 + top: 40% !important;
80 +}
81 +.textCenter {
82 + text-align: center;
83 +}
84 +
85 +/** 表单布局 **/
86 +.form-header {
87 + font-size: 15px;
88 + color: #6379bb;
89 + border-bottom: 1px solid #ddd;
90 + margin: 8px 10px 25px 10px;
91 + padding-bottom: 5px;
92 +}
93 +
94 +/** 表格布局 **/
95 +.pagination-container {
96 + position: relative;
97 + height: 25px;
98 + margin-bottom: 10px;
99 + margin-top: 15px;
100 + padding: 10px 20px !important;
101 +}
102 +
103 +/* tree border */
104 +.tree-border {
105 + margin-top: 5px;
106 + border: 1px solid #e5e6e7;
107 + background: #ffffff none;
108 + border-radius: 4px;
109 +}
110 +
111 +.pagination-container .el-pagination {
112 + right: 0;
113 + position: absolute;
114 +}
115 +
116 +.el-table .fixed-width .el-button--mini {
117 + padding-left: 0;
118 + padding-right: 0;
119 + width: inherit;
120 +}
121 +
122 +.el-tree-node__content > .el-checkbox {
123 + margin-right: 8px;
124 +}
125 +
126 +.list-group-striped > .list-group-item {
127 + border-left: 0;
128 + border-right: 0;
129 + border-radius: 0;
130 + padding-left: 0;
131 + padding-right: 0;
132 +}
133 +
134 +.list-group {
135 + padding-left: 0px;
136 + list-style: none;
137 +}
138 +
139 +.list-group-item {
140 + border-bottom: 1px solid #e7eaec;
141 + border-top: 1px solid #e7eaec;
142 + margin-bottom: -1px;
143 + padding: 11px 0px;
144 + font-size: 13px;
145 +}
146 +
147 +.pull-right {
148 + float: right !important;
149 +}
150 +
151 +.el-card__header {
152 + padding: 14px 15px 7px;
153 + min-height: 40px;
154 +}
155 +
156 +.el-card__body {
157 + padding: 15px 20px 20px 20px;
158 +}
159 +
160 +.card-box {
161 + padding-right: 15px;
162 + padding-left: 15px;
163 + margin-bottom: 10px;
164 +}
165 +
166 +/* button color */
167 +.el-button--cyan.is-active,
168 +.el-button--cyan:active {
169 + background: #20b2aa;
170 + border-color: #20b2aa;
171 + color: #ffffff;
172 +}
173 +
174 +.el-button--cyan:focus,
175 +.el-button--cyan:hover {
176 + background: #48d1cc;
177 + border-color: #48d1cc;
178 + color: #ffffff;
179 +}
180 +
181 +.el-button--cyan {
182 + background-color: #20b2aa;
183 + border-color: #20b2aa;
184 + color: #ffffff;
185 +}
186 +
187 +/* text color */
188 +.text-navy {
189 + color: #1ab394;
190 +}
191 +
192 +.text-primary {
193 + color: inherit;
194 +}
195 +
196 +.text-success {
197 + color: #1c84c6;
198 +}
199 +
200 +.text-info {
201 + color: #23c6c8;
202 +}
203 +
204 +.text-warning {
205 + color: #f8ac59;
206 +}
207 +
208 +.text-danger {
209 + color: #ed5565;
210 +}
211 +
212 +.text-muted {
213 + color: #888888;
214 +}
215 +
216 +/* image */
217 +.img-circle {
218 + border-radius: 50%;
219 +}
220 +
221 +.img-lg {
222 + width: 120px;
223 + height: 120px;
224 +}
225 +
226 +.avatar-upload-preview {
227 + position: absolute;
228 + top: 50%;
229 + transform: translate(50%, -50%);
230 + width: 200px;
231 + height: 200px;
232 + border-radius: 50%;
233 + box-shadow: 0 0 4px #ccc;
234 + overflow: hidden;
235 +}
236 +
237 +/* 拖拽列样式 */
238 +.sortable-ghost {
239 + opacity: 0.8;
240 + color: #fff !important;
241 + background: #42b983 !important;
242 +}
243 +
244 +.top-right-btn {
245 + position: relative;
246 + float: right;
247 +}
......
1 -@import './variables.scss'; 1 +@import "./variables.scss";
2 -@import './mixin.scss'; 2 +@import "./mixin.scss";
3 -@import './transition.scss'; 3 +@import "./transition.scss";
4 -@import './element-ui.scss'; 4 +@import "./element-ui.scss";
5 -@import './sidebar.scss'; 5 +@import "./sidebar.scss";
6 -@import './btn.scss'; 6 +@import "./btn.scss";
7 7
8 @font-face { 8 @font-face {
9 font-family: FedExSans; 9 font-family: FedExSans;
10 font-style: normal; 10 font-style: normal;
11 font-weight: 300; 11 font-weight: 300;
12 - src: url('../fonts/FedExSans_W-Light.woff') format("woff") 12 + src: url("../fonts/FedExSans_W-Light.woff") format("woff");
13 } 13 }
14 14
15 @font-face { 15 @font-face {
16 font-family: FedExSans; 16 font-family: FedExSans;
17 font-style: normal; 17 font-style: normal;
18 font-weight: 400; 18 font-weight: 400;
19 - src: url('../fonts/FedExSans_W-Regular.woff') format("woff") 19 + src: url("../fonts/FedExSans_W-Regular.woff") format("woff");
20 } 20 }
21 21
22 -
23 @font-face { 22 @font-face {
24 font-family: FedExSans; 23 font-family: FedExSans;
25 font-style: normal; 24 font-style: normal;
26 font-weight: 700; 25 font-weight: 700;
27 - src: url('../fonts/FedExSans_W-Bold.woff') format("woff") 26 + src: url("../fonts/FedExSans_W-Bold.woff") format("woff");
28 } 27 }
29 28
30 @font-face { 29 @font-face {
31 font-family: FedExSansArabic; 30 font-family: FedExSansArabic;
32 font-style: normal; 31 font-style: normal;
33 font-weight: 700; 32 font-weight: 700;
34 - src: url('../fonts/FedExSans_W-Bold.woff') format("woff") 33 + src: url("../fonts/FedExSans_W-Bold.woff") format("woff");
35 } 34 }
36 35
37 @font-face { 36 @font-face {
38 font-family: FedExSansArabic; 37 font-family: FedExSansArabic;
39 font-style: normal; 38 font-style: normal;
40 font-weight: 300; 39 font-weight: 300;
41 - src: url('../fonts/FedExSans_W-Light.woff') format("woff") 40 + src: url("../fonts/FedExSans_W-Light.woff") format("woff");
42 } 41 }
43 42
44 @font-face { 43 @font-face {
45 font-family: FedExSansArabic; 44 font-family: FedExSansArabic;
46 font-style: normal; 45 font-style: normal;
47 font-weight: 400; 46 font-weight: 400;
48 - src: url('../fonts/FedExSans_W-Regular.woff') format("woff") 47 + src: url("../fonts/FedExSans_W-Regular.woff") format("woff");
48 +}
49 +
50 +@font-face {
51 + font-family: "iconfont";
52 + font-style: normal;
53 + font-weight: 200;
54 + src: url("../fonts/fedex_table_fonticon.ttf?t=1748505224980")
55 + format("truetype");
49 } 56 }
50 57
51 html, 58 html,
52 body { 59 body {
53 - font-family: sans-serif !important; 60 + font-family: sans-serif !important;
54 } 61 }
55 62
56 body { 63 body {
...@@ -58,7 +65,7 @@ body { ...@@ -58,7 +65,7 @@ body {
58 -moz-osx-font-smoothing: grayscale; 65 -moz-osx-font-smoothing: grayscale;
59 -webkit-font-smoothing: antialiased; 66 -webkit-font-smoothing: antialiased;
60 text-rendering: optimizeLegibility; 67 text-rendering: optimizeLegibility;
61 - font-family: sans-serif !important; 68 + font-family: sans-serif !important;
62 } 69 }
63 70
64 label { 71 label {
...@@ -160,7 +167,8 @@ aside { ...@@ -160,7 +167,8 @@ aside {
160 display: block; 167 display: block;
161 line-height: 32px; 168 line-height: 32px;
162 font-size: 16px; 169 font-size: 16px;
163 - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif; 170 + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen,
171 + Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
164 color: #2c3e50; 172 color: #2c3e50;
165 -webkit-font-smoothing: antialiased; 173 -webkit-font-smoothing: antialiased;
166 -moz-osx-font-smoothing: grayscale; 174 -moz-osx-font-smoothing: grayscale;
...@@ -190,7 +198,7 @@ aside { ...@@ -190,7 +198,7 @@ aside {
190 } 198 }
191 199
192 .text-center { 200 .text-center {
193 - text-align: center 201 + text-align: center;
194 } 202 }
195 203
196 .sub-navbar { 204 .sub-navbar {
...@@ -201,7 +209,13 @@ aside { ...@@ -201,7 +209,13 @@ aside {
201 text-align: right; 209 text-align: right;
202 padding-right: 20px; 210 padding-right: 20px;
203 transition: 600ms ease position; 211 transition: 600ms ease position;
204 - background: linear-gradient(90deg, rgba(32, 182, 249, 1) 0%, rgba(32, 182, 249, 1) 0%, rgba(33, 120, 241, 1) 100%, rgba(33, 120, 241, 1) 100%); 212 + background: linear-gradient(
213 + 90deg,
214 + rgba(32, 182, 249, 1) 0%,
215 + rgba(32, 182, 249, 1) 0%,
216 + rgba(33, 120, 241, 1) 100%,
217 + rgba(33, 120, 241, 1) 100%
218 + );
205 219
206 .subtitle { 220 .subtitle {
207 font-size: 20px; 221 font-size: 20px;
...@@ -246,7 +260,10 @@ aside { ...@@ -246,7 +260,10 @@ aside {
246 z-index: 1000 !important; 260 z-index: 1000 !important;
247 } 261 }
248 262
249 - 263 +.el-checkbox__input.is-checked + .el-checkbox__label {
250 -.el-checkbox__input.is-checked+.el-checkbox__label {
251 color: #333333 !important; 264 color: #333333 !important;
252 -}
...\ No newline at end of file ...\ No newline at end of file
265 +}
266 +
267 +html {
268 + --vxe-ui-font-primary-color: #007ab7 !important;
269 +}
......
1 // base color 1 // base color
2 $blue: #324157; 2 $blue: #324157;
3 -$light-blue: #3A71A8; 3 +$light-blue: #3a71a8;
4 -$red: #C03639; 4 +$red: #c03639;
5 -$pink: #E65D6E; 5 +$pink: #e65d6e;
6 -$green: #30B08F; 6 +$green: #30b08f;
7 -$tiffany: #4AB7BD; 7 +$tiffany: #4ab7bd;
8 -$yellow: #FEC171; 8 +$yellow: #fec171;
9 -$panGreen: #30B08F; 9 +$panGreen: #30b08f;
10 10
11 // sidebar 11 // sidebar
12 $menuText: #bfcbd9; 12 $menuText: #bfcbd9;
13 -$menuActiveText: #4D148C; 13 +$menuActiveText: #4d148c;
14 -$subMenuActiveText: #4D148C; // https://github.com/ElemeFE/element/issues/12951 14 +$subMenuActiveText: #4d148c; // https://github.com/ElemeFE/element/issues/12951
15 15
16 $menuBg: #304156; 16 $menuBg: #304156;
17 $menuHover: #263445; 17 $menuHover: #263445;
...@@ -24,16 +24,16 @@ $sidebarLightTitle: #001529; ...@@ -24,16 +24,16 @@ $sidebarLightTitle: #001529;
24 $subMenuBg: #1f2d3d; 24 $subMenuBg: #1f2d3d;
25 $subMenuHover: #001528; 25 $subMenuHover: #001528;
26 26
27 -$sideBarWidth: 220px; 27 +$sideBarWidth: 210px;
28 -$fedexColor: #4D148C; 28 +$fedexColor: #4d148c;
29 -$fedexBorder: #E3E3E3; 29 +$fedexBorder: #e3e3e3;
30 -$fedexButton: #007AB7; 30 +$fedexButton: #007ab7;
31 $fedexError: #de002e; 31 $fedexError: #de002e;
32 -$fedexBottonColor: #FF6200; 32 +$fedexBottonColor: #ff6200;
33 -$formItemBackgroundColor: #F2F2F2; 33 +$formItemBackgroundColor: #f2f2f2;
34 -$fedexTablebackgroundColor: #FAFAFA; 34 +$fedexTablebackgroundColor: #fafafa;
35 $fedexTableBorderColor: #e3e3e3; 35 $fedexTableBorderColor: #e3e3e3;
36 -$formDisabledColor: #8E8E8E; 36 +$formDisabledColor: #8e8e8e;
37 37
38 // the :export directive is the magic sauce for webpack 38 // the :export directive is the magic sauce for webpack
39 // https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass 39 // https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass
...@@ -59,5 +59,4 @@ $formDisabledColor: #8E8E8E; ...@@ -59,5 +59,4 @@ $formDisabledColor: #8E8E8E;
59 formDisabledColor: $formDisabledColor; 59 formDisabledColor: $formDisabledColor;
60 fedexTablebackgroundColor: $fedexTablebackgroundColor; 60 fedexTablebackgroundColor: $fedexTablebackgroundColor;
61 fedexTableBorderColor: $fedexTableBorderColor; 61 fedexTableBorderColor: $fedexTableBorderColor;
62 -
63 -}
...\ No newline at end of file ...\ No newline at end of file
62 +}
......
...@@ -8,10 +8,10 @@ ...@@ -8,10 +8,10 @@
8 v-model="textareaVisible" 8 v-model="textareaVisible"
9 > 9 >
10 <el-input 10 <el-input
11 - :name="`${dataKey}-textarea`" 11 + :name="`${dataKey}${curKey}-textarea`"
12 type="textarea" 12 type="textarea"
13 :rows="5" 13 :rows="5"
14 - :id="`popoverInput${dataKey}`" 14 + :id="`popoverInput${dataKey}${curKey}`"
15 class="inputShadow textareaPopover" 15 class="inputShadow textareaPopover"
16 v-model="formData[dataKey]" 16 v-model="formData[dataKey]"
17 resize="none" 17 resize="none"
...@@ -63,29 +63,45 @@ export default { ...@@ -63,29 +63,45 @@ export default {
63 type: String, 63 type: String,
64 default: "", 64 default: "",
65 }, 65 },
66 + curKey: {
67 + type: Number,
68 + default: 1,
69 + },
66 }, 70 },
67 data() { 71 data() {
68 return { 72 return {
69 textareaVisible: false, 73 textareaVisible: false,
70 }; 74 };
71 }, 75 },
76 + watch: {
77 + formData: {
78 + handler(val) {
79 + if (!val[this.dataKey] || val[this.dataKey].length <= 0) {
80 + this.textareaVisible = false;
81 + let inputInner = document.querySelector(
82 + "#inputInner--" + this.dataKey
83 + );
84 + inputInner?.classList.remove("inputFocus");
85 + }
86 + },
87 + deep: true,
88 + },
89 + },
90 +
72 methods: { 91 methods: {
73 //文本域展示状态切换 92 //文本域展示状态切换
74 textareaFocus(val) { 93 textareaFocus(val) {
75 this.textareaVisible = true; 94 this.textareaVisible = true;
76 this.$nextTick(() => { 95 this.$nextTick(() => {
77 document 96 document
78 - .querySelector("#popoverInput" + val.target.name.split("-")[0]) 97 + .querySelector(`#popoverInput${this.dataKey}${this.curKey}`)
79 .focus(); 98 .focus();
80 - document.querySelector( 99 + document.querySelector("#inputInner--" + this.dataKey).style.display =
81 - "#inputInner--" + val.target.name.split("-")[0] 100 + "none";
82 - ).style.display = "none";
83 }); 101 });
84 }, 102 },
85 textareaBlur(val) { 103 textareaBlur(val) {
86 - let inputInner = document.querySelector( 104 + let inputInner = document.querySelector("#inputInner--" + this.dataKey);
87 - "#inputInner--" + val.target.name.split("-")[0]
88 - );
89 this.textareaVisible = false; 105 this.textareaVisible = false;
90 inputInner.style.display = "block"; 106 inputInner.style.display = "block";
91 this.$nextTick(() => { 107 this.$nextTick(() => {
...@@ -101,7 +117,7 @@ export default { ...@@ -101,7 +117,7 @@ export default {
101 } 117 }
102 }); 118 });
103 let arr = []; 119 let arr = [];
104 - this.formData[val.target.name.split("-")[0]] 120 + this.formData[this.dataKey]
105 .replace(/[\n\,\;\;]/g, ",") 121 .replace(/[\n\,\;\;]/g, ",")
106 .replace(/[\t]/g, "") 122 .replace(/[\t]/g, "")
107 .split(",") 123 .split(",")
...@@ -110,7 +126,7 @@ export default { ...@@ -110,7 +126,7 @@ export default {
110 arr.push(str.trim()); 126 arr.push(str.trim());
111 } 127 }
112 }); 128 });
113 - this.formData[val.target.name.split("-")[0]] = arr.join("\n"); 129 + this.formData[this.dataKey] = arr.join("\n");
114 this.$emit("formChange", this.formData); 130 this.$emit("formChange", this.formData);
115 this.$forceUpdate(); 131 this.$forceUpdate();
116 }, 132 },
......
1 <template> 1 <template>
2 <!-- <div> --> 2 <!-- <div> -->
3 - <el-form-item 3 + <el-form-item
4 - class="fedexFormItem" 4 + class="fedexFormItem"
5 - :label="itemLabel" 5 + :label="itemLabel"
6 - :prop="prop" 6 + :prop="prop"
7 - :required="required" 7 + :required="required"
8 - :error="error" 8 + :error="error"
9 - :id="'inputOuter-' + type + '-' + prop" 9 + :id="'inputOuter-' + type + '-' + prop"
10 - style="pointer-events: auto" 10 + style="pointer-events: auto"
11 - @click="formItemClick" 11 + @click="formItemClick"
12 + >
13 + <slot name="title" slot="label"></slot>
14 + <el-tooltip
15 + v-if="toolyipShow"
16 + class="item"
17 + effect="dark"
18 + :content="content"
19 + :disabled="tooltipDisabled"
20 + placement="top"
12 > 21 >
13 - <slot name="title" slot="label"></slot> 22 + <slot></slot>
14 - <el-tooltip 23 + </el-tooltip>
15 - v-if="toolyipShow" 24 + <slot v-else></slot>
16 - class="item" 25 + <template v-slot:error="scoped">
17 - effect="dark" 26 + <div class="formError">{{ scoped.error }}</div>
18 - :content="content" 27 + </template>
19 - :disabled="tooltipDisabled" 28 + </el-form-item>
20 - placement="top"
21 - >
22 - <slot></slot>
23 - </el-tooltip>
24 - <slot v-else></slot>
25 - <template v-slot:error="scoped">
26 - <div class="formError">{{ scoped.error }}</div>
27 - </template>
28 - </el-form-item>
29 <!-- </div> --> 29 <!-- </div> -->
30 </template> 30 </template>
31 31
...@@ -68,6 +68,10 @@ export default { ...@@ -68,6 +68,10 @@ export default {
68 type: Boolean, 68 type: Boolean,
69 default: false, 69 default: false,
70 }, 70 },
71 + rules: {
72 + type: Array,
73 + default: () => [],
74 + },
71 }, 75 },
72 data() { 76 data() {
73 return { 77 return {
......
...@@ -12,7 +12,6 @@ ...@@ -12,7 +12,6 @@
12 :show-header="showHeader" 12 :show-header="showHeader"
13 :show-summary="showSummary" 13 :show-summary="showSummary"
14 :summary-method="getSummaries" 14 :summary-method="getSummaries"
15 - :height="height"
16 :empty-text="emptyText" 15 :empty-text="emptyText"
17 :max-height="maxHeight" 16 :max-height="maxHeight"
18 :highlight-current-row="highlightCurrentRow" 17 :highlight-current-row="highlightCurrentRow"
...@@ -38,6 +37,7 @@ ...@@ -38,6 +37,7 @@
38 @header-dragend="headerDragend" 37 @header-dragend="headerDragend"
39 @cell-mouse-leave="cellMouseLeave" 38 @cell-mouse-leave="cellMouseLeave"
40 @cell-mouse-enter="cellMouseEnter" 39 @cell-mouse-enter="cellMouseEnter"
40 + @filter-change="filterChange"
41 > 41 >
42 <!-- 多选框 --> 42 <!-- 多选框 -->
43 <el-table-column 43 <el-table-column
...@@ -79,6 +79,9 @@ ...@@ -79,6 +79,9 @@
79 :header-align="item.align" 79 :header-align="item.align"
80 :sort-orders="['descending', 'ascending', null]" 80 :sort-orders="['descending', 'ascending', null]"
81 :key="index" 81 :key="index"
82 + :filters="item.filters"
83 + :filter-method="item.filterMethod"
84 + :column-key="item.columnKey || index.toString()"
82 > 85 >
83 <template slot="header" slot-scope="scope"> 86 <template slot="header" slot-scope="scope">
84 <Tooltip 87 <Tooltip
...@@ -102,7 +105,7 @@ ...@@ -102,7 +105,7 @@
102 :align="item.align ? item.align : 'center'" 105 :align="item.align ? item.align : 'center'"
103 :fixed="item.fixed ? item.fixed : false" 106 :fixed="item.fixed ? item.fixed : false"
104 :sortable="item.sorTable ? true : false" 107 :sortable="item.sorTable ? true : false"
105 - :column-key="index.toString()" 108 + :column-key="item.columnKey || index.toString()"
106 :show-overflow-tooltip=" 109 :show-overflow-tooltip="
107 item.showOverflowTooltip != undefined 110 item.showOverflowTooltip != undefined
108 ? item.showOverflowTooltip 111 ? item.showOverflowTooltip
...@@ -111,6 +114,8 @@ ...@@ -111,6 +114,8 @@
111 :header-align="item.align" 114 :header-align="item.align"
112 :sort-orders="['descending', 'ascending', null]" 115 :sort-orders="['descending', 'ascending', null]"
113 :formatter="formatter" 116 :formatter="formatter"
117 + :filters="item.filters"
118 + :filter-method="item.filterMethod"
114 :key="index" 119 :key="index"
115 > 120 >
116 <template slot="header" slot-scope="scope"> 121 <template slot="header" slot-scope="scope">
...@@ -134,7 +139,7 @@ ...@@ -134,7 +139,7 @@
134 :align="item.align ? item.align : 'center'" 139 :align="item.align ? item.align : 'center'"
135 :fixed="item.fixed ? item.fixed : false" 140 :fixed="item.fixed ? item.fixed : false"
136 :sortable="item.sorTable ? true : false" 141 :sortable="item.sorTable ? true : false"
137 - :column-key="index.toString()" 142 + :column-key="item.columnKey || index.toString()"
138 :show-overflow-tooltip=" 143 :show-overflow-tooltip="
139 item.showOverflowTooltip != undefined 144 item.showOverflowTooltip != undefined
140 ? item.showOverflowTooltip 145 ? item.showOverflowTooltip
...@@ -143,6 +148,8 @@ ...@@ -143,6 +148,8 @@
143 :header-align="item.align" 148 :header-align="item.align"
144 :sort-orders="['descending', 'ascending', null]" 149 :sort-orders="['descending', 'ascending', null]"
145 :formatter="formatter" 150 :formatter="formatter"
151 + :filters="item.filters"
152 + :filter-method="item.filterMethod"
146 :key="index" 153 :key="index"
147 > 154 >
148 <template slot="header" slot-scope="scope"> 155 <template slot="header" slot-scope="scope">
...@@ -303,7 +310,9 @@ export default { ...@@ -303,7 +310,9 @@ export default {
303 }, 310 },
304 pageSizes: { 311 pageSizes: {
305 type: Array, 312 type: Array,
306 - default: [10, 20, 30, 40, 50, 100], 313 + default() {
314 + return [10, 20, 50, 100, 500, 1000];
315 + },
307 }, 316 },
308 expandRowKeys: { 317 expandRowKeys: {
309 type: Array, 318 type: Array,
...@@ -425,25 +434,28 @@ export default { ...@@ -425,25 +434,28 @@ export default {
425 limitSize() { 434 limitSize() {
426 this.sizes = this.limitSize; 435 this.sizes = this.limitSize;
427 }, 436 },
428 - data(val) { 437 + // data(val) {
429 - let table = document.querySelector(".el-table__body-wrapper"); 438 + // let table = document.querySelector(".el-table__body-wrapper");
430 - let tableBody = document.querySelector(".el-table__body"); 439 + // let tableBody = document.querySelector(".el-table__body");
431 - if (this.data != null && this.data.length > 0) { 440 + // if (this.data != null && this.data.length > 0) {
432 - this.rowData = [this.data[0]]; 441 + // this.rowData = [this.data[0]];
433 - this.data.forEach((item, index) => { 442 + // this.data.forEach((item, index) => {
434 - item.index = index; 443 + // item.index = index;
435 - }); 444 + // });
436 - } 445 + // }
437 - this.$nextTick(() => { 446 + // this.$nextTick(() => {
438 - if (table) { 447 + // if (table) {
439 - table.style.maxHeight = this.maxHeight; 448 + // table.style.maxHeight = this.maxHeight + "px";
440 - tableBody.clientHeight >= this.maxHeight 449 + // if (val.length * 50 > this.maxHeight) {
441 - ? (table.style.height = this.maxHeight - 40 + "px") 450 + // table.style.height = this.maxHeight + "px";
442 - : (table.style.height = tableBody.clientHeight + "px"); 451 + // } else {
443 - this.$refs.tables.doLayout(); 452 + // table.style.height = val.length * 50 + "px";
444 - } 453 + // }
445 - }); 454 + // console.log(table);
446 - }, 455 + // this.$refs.tables.doLayout();
456 + // }
457 + // });
458 + // },
447 expandRowKeys(val) { 459 expandRowKeys(val) {
448 let tableBodyRow = document.getElementsByClassName("el-table__row"); 460 let tableBodyRow = document.getElementsByClassName("el-table__row");
449 if (val.length > 0) { 461 if (val.length > 0) {
...@@ -464,8 +476,13 @@ export default { ...@@ -464,8 +476,13 @@ export default {
464 }, 476 },
465 }, 477 },
466 mounted() { 478 mounted() {
467 - let table = document.querySelector(".el-table__body-wrapper"); 479 + // this.$nextTick(() => {
468 - table.style.maxHeight = this.maxHeight + "px"; 480 + // let table = document.querySelector(".el-table__body-wrapper");
481 + // console.log(this.maxHeight, this.maxHeight);
482 + // table.style.maxHeight = this.maxHeight + "px";
483 + // // table.style.height = this.maxHeight + "px";
484 + // console.log(table.style.maxHeight);
485 + // });
469 }, 486 },
470 methods: { 487 methods: {
471 sizeChange(val) { 488 sizeChange(val) {
...@@ -536,6 +553,11 @@ export default { ...@@ -536,6 +553,11 @@ export default {
536 this.selectTable = []; 553 this.selectTable = [];
537 this.$emit("sortChange", { prop: prop, order: order }); 554 this.$emit("sortChange", { prop: prop, order: order });
538 }, 555 },
556 + //
557 + filterChange(filters) {
558 + console.log(filters);
559 + this.$emit("filterChange", filters);
560 + },
539 //双击行 561 //双击行
540 dblclick(val) { 562 dblclick(val) {
541 this.$emit("dblclick", val); 563 this.$emit("dblclick", val);
......
...@@ -17,26 +17,34 @@ ...@@ -17,26 +17,34 @@
17 </div> 17 </div>
18 <div v-loading="tableLoading"> 18 <div v-loading="tableLoading">
19 <slot name="title"></slot> 19 <slot name="title"></slot>
20 - <Table 20 + <div style="height: 10px"></div>
21 - class="fedexDetialTable mt20" 21 + <el-table
22 - :data="rowData.popoverData"
23 - :headerData="receiptDataHead"
24 - :selection="false"
25 - :selectFixed="false"
26 - :order="false"
27 - :border="true"
28 - :rowSelectDataType="false"
29 :pagination="false" 22 :pagination="false"
30 - :page="1" 23 + :border="true"
31 - :pageSizes="[20, 30, 50, 100]" 24 + tooltip-effect="dark"
32 - :totalCount="0" 25 + max-height="300px"
33 - :loading="tableLoading" 26 + :empty-text="
34 - :emptyText="$t('portEntry.emptyText')" 27 + loadingDatas &&
35 - height="350px" 28 + rowData &&
36 - maxHeight="500px" 29 + rowData.popoverData &&
30 + !rowData.popoverData.length
31 + ? '数据加载中'
32 + : $t('portEntry.emptyText')
33 + "
34 + :data="rowData.popoverData"
37 rowKey="id" 35 rowKey="id"
38 > 36 >
39 - </Table> 37 + <el-table-column
38 + v-for="(item, index) in receiptDataHead"
39 + :key="index"
40 + :prop="item.value"
41 + :label="item.name"
42 + :align="item.align"
43 + :width="item.width"
44 + :show-overflow-tooltip="true"
45 + >
46 + </el-table-column>
47 + </el-table>
40 </div> 48 </div>
41 <el-button 49 <el-button
42 slot="reference" 50 slot="reference"
...@@ -85,14 +93,24 @@ export default { ...@@ -85,14 +93,24 @@ export default {
85 tableLoading: false, 93 tableLoading: false,
86 }; 94 };
87 }, 95 },
96 + computed: {
97 + loadingDatas() {
98 + return this.$store.state.viewOption.loadingDatas;
99 + },
100 + },
101 +
88 methods: { 102 methods: {
89 //弹框关闭 103 //弹框关闭
90 popoverClose() { 104 popoverClose() {
91 this.$emit("popoverClose"); 105 this.$emit("popoverClose");
92 - this.parentDom.$refs.tables.$refs.bodyWrapper.style.overflowY = "auto"; 106 + if (this.parentDom.$refs.tables) {
107 + this.parentDom.$refs.tables.$refs.bodyWrapper.style.overflowY = "auto";
108 + }
109 + this.$store.dispatch("setLoadingState", true);
93 }, 110 },
94 //弹框状态改版 111 //弹框状态改版
95 popoverChange(data, type) { 112 popoverChange(data, type) {
113 + console.log(data, type);
96 this.popoverClose(); 114 this.popoverClose();
97 let arr = JSON.parse(JSON.stringify(this.tableData)); 115 let arr = JSON.parse(JSON.stringify(this.tableData));
98 arr.forEach((item) => { 116 arr.forEach((item) => {
...@@ -107,12 +125,16 @@ export default { ...@@ -107,12 +125,16 @@ export default {
107 ); 125 );
108 } 126 }
109 }); 127 });
110 - if (!data[`${type}PopoverType`]) { 128 + if (this.parentDom.$refs.tables) {
111 - this.parentDom.$refs.tables.$refs.bodyWrapper.style.overflowY = 129 + if (!data[`${type}PopoverType`]) {
112 - "hidden"; 130 + this.parentDom.$refs.tables.$refs.bodyWrapper.style.overflowY =
113 - } else { 131 + "hidden";
114 - this.parentDom.$refs.tables.$refs.bodyWrapper.style.overflowY = "auto"; 132 + } else {
133 + this.parentDom.$refs.tables.$refs.bodyWrapper.style.overflowY =
134 + "auto";
135 + }
115 } 136 }
137 +
116 this.$emit("popoverChange", { 138 this.$emit("popoverChange", {
117 tableData: arr, 139 tableData: arr,
118 data: data, 140 data: data,
...@@ -151,4 +173,18 @@ export default { ...@@ -151,4 +173,18 @@ export default {
151 }; 173 };
152 </script> 174 </script>
153 175
154 -<style></style> 176 +<style lang="scss" scoped>
177 +.tableList {
178 + width: 200px;
179 + max-height: 500px;
180 + padding: 5px;
181 + margin: 0;
182 + position: absolute;
183 + bottom: 35px;
184 + right: 0px;
185 + border: 1px solid #ccc;
186 + border-radius: 3%;
187 + background: #fff;
188 + overflow-y: scroll;
189 +}
190 +</style>
......
1 <template> 1 <template>
2 <section class="app-main"> 2 <section class="app-main">
3 <transition name="fade-transform" mode="out-in"> 3 <transition name="fade-transform" mode="out-in">
4 - <keep-alive :include="cachedViews"> 4 + <!-- <keep-alive :include="cachedViews">
5 <router-view :key="key" /> 5 <router-view :key="key" />
6 + </keep-alive> -->
7 + <!-- <router-view v-if="!cachedViews.includes(cachesName)"></router-view> -->
8 + <keep-alive :include="tagsViewNames">
9 + <router-view :key="key"></router-view>
6 </keep-alive> 10 </keep-alive>
7 </transition> 11 </transition>
8 </section> 12 </section>
...@@ -13,11 +17,20 @@ export default { ...@@ -13,11 +17,20 @@ export default {
13 name: "AppMain", 17 name: "AppMain",
14 computed: { 18 computed: {
15 cachedViews() { 19 cachedViews() {
20 + console.log(this.$store.state.tagsView);
16 return this.$store.state.tagsView.cachedViews; 21 return this.$store.state.tagsView.cachedViews;
17 }, 22 },
23 + tagsViewNames() {
24 + console.log(this.$store.state.tagsView);
25 + return this.$store.state.tagsView.tagsViewNames;
26 + },
18 key() { 27 key() {
28 + console.log(this.$route, this.$route.fullPath);
19 return this.$route.fullPath; 29 return this.$route.fullPath;
20 }, 30 },
31 + cachesName() {
32 + return this.$route.name;
33 + },
21 }, 34 },
22 }; 35 };
23 </script> 36 </script>
...@@ -42,7 +55,7 @@ export default { ...@@ -42,7 +55,7 @@ export default {
42 .hasTagsView { 55 .hasTagsView {
43 .app-main { 56 .app-main {
44 /* 84 = navbar + tags-view = 50 + 34 */ 57 /* 84 = navbar + tags-view = 50 + 34 */
45 - min-height: calc(100vh - 84px); 58 + min-height: calc(100vh - 98px);
46 } 59 }
47 60
48 .fixed-header + .app-main { 61 .fixed-header + .app-main {
......
...@@ -5,39 +5,41 @@ ...@@ -5,39 +5,41 @@
5 </template> 5 </template>
6 6
7 <script> 7 <script>
8 -import { isExternal } from '@/utils/validate' 8 +import { isExternal } from "@/utils/validate";
9 9
10 export default { 10 export default {
11 props: { 11 props: {
12 to: { 12 to: {
13 type: String, 13 type: String,
14 - required: true 14 + required: true,
15 - } 15 + },
16 }, 16 },
17 computed: { 17 computed: {
18 isExternal() { 18 isExternal() {
19 - return isExternal(this.to) 19 + return isExternal(this.to);
20 }, 20 },
21 type() { 21 type() {
22 if (this.isExternal) { 22 if (this.isExternal) {
23 - return 'a' 23 + return "a";
24 } 24 }
25 - return 'router-link' 25 + return "router-link";
26 - } 26 + },
27 }, 27 },
28 methods: { 28 methods: {
29 linkProps(to) { 29 linkProps(to) {
30 + // console.log(to);
31 +
30 if (this.isExternal) { 32 if (this.isExternal) {
31 return { 33 return {
32 href: to, 34 href: to,
33 - target: '_blank', 35 + target: "_blank",
34 - rel: 'noopener' 36 + rel: "noopener",
35 - } 37 + };
36 } 38 }
37 return { 39 return {
38 - to: to 40 + to: to,
39 - } 41 + };
40 - } 42 + },
41 - } 43 + },
42 -} 44 +};
43 </script> 45 </script>
......
This diff is collapsed. Click to expand it.
1 +export const routeNameMap = {
2 + "/reportingData": "ReportingData", // 分单级申报数据
3 + "/editReportingData": "EditReportingData", // 申报数据编辑
4 + "/arrival-declare": "ArrivalDeclare", // 总单级申报数据
5 + "/receipt-management": "ReceiptManagement", //模拟回执管理
6 + "/exportBillQuery": "ExportBillQuery",
7 + "/exportBillDetail": "ExportBillDetail",
8 + "/exportTransportBillQuery": "ExportTransportBillQuery",
9 + "/exportTransportDetail": "ExportTransportDetail", //出口运单详情
10 + "/exportListQuery": "ExportListQuery",
11 + "/exportListDetail": "ExportListDetail",
12 + "/listBranchQuery": "ListBranchQuery",
13 + "/listBranchDetail": "ListBranchDetail",
14 + "/arrival-list": "ArrivalList",
15 + "/arrival-list-detail": "ArrivalListDetail",
16 + "/logisticsExitQuery": "LogisticsExitQuery",
17 + "/logisticsExitDetail": "LogisticsExitDetail",
18 + "/exportRevokeBillQuery": "ExportRevokeBillQuery",
19 + "/pdd-info": "PddList",
20 + "/pdd-detail": "PddListDetail",
21 + "/summaryEdit": "SummaryEdit",
22 + "/summaryDetail": "SummaryDetail",
23 + "/summaryDataSearch": "SummaryDataSearch",
24 + "/log-search": "LogSearch",
25 + "/portConfig": "PortConfig",
26 + "/customerConfig": "CustomerConfig",
27 + "/hs-code": "HsCode",
28 + "/cipherMachineConfig": "CipherMachineConfig",
29 + "/api-key": "ApiKey",
30 + "/supervise-place-manage": "SupervisePlaceManage",
31 + "/userRoleConfig": "UserRoleConfig",
32 + "/roleConfig": "RoleConfig",
33 +};
...@@ -99,15 +99,15 @@ export default { ...@@ -99,15 +99,15 @@ export default {
99 watch: { 99 watch: {
100 $route(val) { 100 $route(val) {
101 this.activeRoute = val; 101 this.activeRoute = val;
102 - this.setMainHeight(); 102 + // this.setMainHeight();
103 }, 103 },
104 }, 104 },
105 mounted() {}, 105 mounted() {},
106 methods: { 106 methods: {
107 - setMainHeight(val) { 107 + // setMainHeight(val) {
108 - document.querySelector(".main-container").style.height = 108 + // document.querySelector(".main-container").style.height =
109 - "calc(100% - 64px)"; 109 + // "calc(100% - 64px)";
110 - }, 110 + // },
111 handleClickOutside() { 111 handleClickOutside() {
112 this.$store.dispatch("app/closeSideBar", { withoutAnimation: false }); 112 this.$store.dispatch("app/closeSideBar", { withoutAnimation: false });
113 }, 113 },
...@@ -127,6 +127,10 @@ export default { ...@@ -127,6 +127,10 @@ export default {
127 @import "~@/assets/styles/mixin.scss"; 127 @import "~@/assets/styles/mixin.scss";
128 @import "~@/assets/styles/variables.scss"; 128 @import "~@/assets/styles/variables.scss";
129 129
130 +.main-container {
131 + height: calc(100vh - 98px) !important;
132 +}
133 +
130 .app-wrapper { 134 .app-wrapper {
131 @include clearfix; 135 @include clearfix;
132 position: relative; 136 position: relative;
......
1 -import Vue from 'vue' 1 +import Vue from "vue";
2 - 2 +
3 -import Element from 'element-ui' 3 +import Element from "element-ui";
4 -import './assets/styles/element-variables.scss' 4 +import "./assets/styles/element-variables.scss";
5 - 5 +
6 -import '@/assets/styles/index.scss' // global css 6 +import "@/assets/styles/index.scss"; // global css
7 -import '@/assets/styles/iClearExp.scss' // iClearExp css 7 +import "@/assets/styles/iClearExp.scss"; // iClearExp css
8 -import '@/assets/styles/variables.scss' 8 +import "@/assets/styles/variables.scss";
9 -import '@/assets/styles/fedex.scss' 9 +import "@/assets/styles/fedex.scss";
10 -import App from './App' 10 +import App from "./App";
11 -import store from './store' 11 +import store from "./store";
12 -import router from './router' 12 +import router from "./router";
13 -import i18n from '@/assets/languages' 13 +import i18n from "@/assets/languages";
14 -import permission from './directive/permission' 14 +import permission from "./directive/permission";
15 - 15 +
16 -import './assets/icons' // icon 16 +import "./assets/icons"; // icon
17 -import './permission' // permission control 17 +import "./permission"; // permission control
18 -import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, download, handleTree, hscodeElementInfo, elementTostring, numberRound, detailUnitConversion, setDict, sendNotificationHandler, promptMessage, upDateTokenTime, sreachEntryLock, tableFixedTypeChange, getDownLoadFileStatus, approvalPortType, getSystemOption, currencySystemDisableType, imageTaskStatusShowType } from "@/utils/iClearExp"; 18 +import {
19 -import { formatDate, debounce, alertWarningMsg, alertSuccessMsg, alertErrorMsg, alertInfoMsg, toHead, compare, createRandom, ctho, base64ConvertFile } from "@/utils/index"; 19 + parseTime,
20 -import * as fileDownload from '@/utils/zipdownload.js' 20 + resetForm,
21 -import * as filters from '@/utils/filters.js' 21 + addDateRange,
22 -import dictData from '@/utils/dict.js' 22 + selectDictLabel,
23 -import regExp from '@/utils/regExp.js' 23 + selectDictLabels,
24 + download,
25 + handleTree,
26 + hscodeElementInfo,
27 + elementTostring,
28 + numberRound,
29 + detailUnitConversion,
30 + setDict,
31 + sendNotificationHandler,
32 + promptMessage,
33 + upDateTokenTime,
34 + sreachEntryLock,
35 + tableFixedTypeChange,
36 + getDownLoadFileStatus,
37 + approvalPortType,
38 + getSystemOption,
39 + currencySystemDisableType,
40 + imageTaskStatusShowType,
41 +} from "@/utils/iClearExp";
42 +import {
43 + formatDate,
44 + debounce,
45 + alertWarningMsg,
46 + alertSuccessMsg,
47 + alertErrorMsg,
48 + alertInfoMsg,
49 + toHead,
50 + compare,
51 + createRandom,
52 + ctho,
53 + base64ConvertFile,
54 +} from "@/utils/index";
55 +import * as fileDownload from "@/utils/zipdownload.js";
56 +import * as filters from "@/utils/filters.js";
57 +import dictData from "@/utils/dict.js";
58 +import regExp from "@/utils/regExp.js";
24 import Pagination from "@/components/Pagination"; 59 import Pagination from "@/components/Pagination";
25 // 自定义表格工具扩展 60 // 自定义表格工具扩展
26 -import RightToolbar from "@/components/RightToolbar" 61 +import RightToolbar from "@/components/RightToolbar";
27 -import Table from "@/components/Table" 62 +import Table from "@/components/Table";
28 -import Formitem from "@/components/Formitem" 63 +import Formitem from "@/components/Formitem";
29 -import EditStep from "@/components/EditStep" 64 +import EditStep from "@/components/EditStep";
30 -import FedexAlert from "@/components/FedexAlert" 65 +import FedexAlert from "@/components/FedexAlert";
31 -import FedexEdit from "@/components/FedexEdit" 66 +import FedexEdit from "@/components/FedexEdit";
32 -import Tooltip from "@/components/Tooltip" 67 +import Tooltip from "@/components/Tooltip";
33 -import InputNodes from '@/components/InputNodes' 68 +import InputNodes from "@/components/InputNodes";
34 -import AlterDialog from '@/components/AlterDialog' 69 +import AlterDialog from "@/components/AlterDialog";
35 -import CustomTransfer from '@/components/CustomTransfer' 70 +import CustomTransfer from "@/components/CustomTransfer";
36 -import CustomForm from '@/components/CustomForm' 71 +import CustomForm from "@/components/CustomForm";
37 -import CustomTable from '@/components/CustomTable' 72 +import CustomTable from "@/components/CustomTable";
38 -import EditTag from '@/components/EditTag' 73 +import EditTag from "@/components/EditTag";
39 -import TablePopover from '@/components/TablePopover' 74 +import TablePopover from "@/components/TablePopover";
40 -import FormTextareaInput from '@/components/FormTextareaInput' 75 +import FormTextareaInput from "@/components/FormTextareaInput";
76 +
77 +import VxeUITable from "vxe-table";
78 +import "vxe-table/lib/style.css";
79 +
41 (function () { 80 (function () {
42 if (typeof EventTarget !== "undefined") { 81 if (typeof EventTarget !== "undefined") {
43 let func = EventTarget.prototype.addEventListener; 82 let func = EventTarget.prototype.addEventListener;
...@@ -49,89 +88,87 @@ import FormTextareaInput from '@/components/FormTextareaInput' ...@@ -49,89 +88,87 @@ import FormTextareaInput from '@/components/FormTextareaInput'
49 } 88 }
50 this.func(type, fn, capture); 89 this.func(type, fn, capture);
51 }; 90 };
52 - }; 91 + }
53 -}()); 92 +})();
54 93
55 // 全局方法挂载 94 // 全局方法挂载
56 -Vue.prototype.parseTime = parseTime 95 +Vue.prototype.parseTime = parseTime;
57 -Vue.prototype.resetForm = resetForm 96 +Vue.prototype.resetForm = resetForm;
58 -Vue.prototype.addDateRange = addDateRange 97 +Vue.prototype.addDateRange = addDateRange;
59 -Vue.prototype.selectDictLabel = selectDictLabel 98 +Vue.prototype.selectDictLabel = selectDictLabel;
60 -Vue.prototype.selectDictLabels = selectDictLabels 99 +Vue.prototype.selectDictLabels = selectDictLabels;
61 -Vue.prototype.download = download 100 +Vue.prototype.download = download;
62 -Vue.prototype.handleTree = handleTree 101 +Vue.prototype.handleTree = handleTree;
63 -Vue.prototype.hscodeElementInfo = hscodeElementInfo 102 +Vue.prototype.hscodeElementInfo = hscodeElementInfo;
64 -Vue.prototype.elementTostring = elementTostring 103 +Vue.prototype.elementTostring = elementTostring;
65 -Vue.prototype.formatDate = formatDate 104 +Vue.prototype.formatDate = formatDate;
66 -Vue.prototype.debounce = debounce 105 +Vue.prototype.debounce = debounce;
67 -Vue.prototype.regExp = regExp 106 +Vue.prototype.regExp = regExp;
68 -Vue.prototype.numberRound = numberRound 107 +Vue.prototype.numberRound = numberRound;
69 -Vue.prototype.detailUnitConversion = detailUnitConversion 108 +Vue.prototype.detailUnitConversion = detailUnitConversion;
70 -Vue.prototype.fileDownload = fileDownload 109 +Vue.prototype.fileDownload = fileDownload;
71 -Vue.prototype.alertWarningMsg = alertWarningMsg 110 +Vue.prototype.alertWarningMsg = alertWarningMsg;
72 -Vue.prototype.alertSuccessMsg = alertSuccessMsg 111 +Vue.prototype.alertSuccessMsg = alertSuccessMsg;
73 -Vue.prototype.alertErrorMsg = alertErrorMsg 112 +Vue.prototype.alertErrorMsg = alertErrorMsg;
74 -Vue.prototype.alertInfoMsg = alertInfoMsg 113 +Vue.prototype.alertInfoMsg = alertInfoMsg;
75 -Vue.prototype.toHead = toHead 114 +Vue.prototype.toHead = toHead;
76 -Vue.prototype.setDict = setDict 115 +Vue.prototype.setDict = setDict;
77 -Vue.prototype.compare = compare 116 +Vue.prototype.compare = compare;
78 -Vue.prototype.sendNotificationHandler = sendNotificationHandler 117 +Vue.prototype.sendNotificationHandler = sendNotificationHandler;
79 -Vue.prototype.promptMessage = promptMessage 118 +Vue.prototype.promptMessage = promptMessage;
80 -Vue.prototype.createRandom = createRandom 119 +Vue.prototype.createRandom = createRandom;
81 -Vue.prototype.upDateTokenTime = upDateTokenTime 120 +Vue.prototype.upDateTokenTime = upDateTokenTime;
82 -Vue.prototype.sreachEntryLock = sreachEntryLock 121 +Vue.prototype.sreachEntryLock = sreachEntryLock;
83 -Vue.prototype.tableFixedTypeChange = tableFixedTypeChange 122 +Vue.prototype.tableFixedTypeChange = tableFixedTypeChange;
84 -Vue.prototype.ctho = ctho 123 +Vue.prototype.ctho = ctho;
85 -Vue.prototype.getDownLoadFileStatus = getDownLoadFileStatus 124 +Vue.prototype.getDownLoadFileStatus = getDownLoadFileStatus;
86 -Vue.prototype.base64ConvertFile = base64ConvertFile 125 +Vue.prototype.base64ConvertFile = base64ConvertFile;
87 -Vue.prototype.approvalPortType = approvalPortType 126 +Vue.prototype.approvalPortType = approvalPortType;
88 -Vue.prototype.getSystemOption = getSystemOption 127 +Vue.prototype.getSystemOption = getSystemOption;
89 -Vue.prototype.currencySystemDisableType = currencySystemDisableType 128 +Vue.prototype.currencySystemDisableType = currencySystemDisableType;
90 -Vue.prototype.imageTaskStatusShowType = imageTaskStatusShowType 129 +Vue.prototype.imageTaskStatusShowType = imageTaskStatusShowType;
91 -Vue.prototype.dictData = dictData 130 +Vue.prototype.dictData = dictData;
92 131
93 Vue.prototype.msgSuccess = function (msg) { 132 Vue.prototype.msgSuccess = function (msg) {
94 this.$message({ showClose: true, message: msg, type: "success" }); 133 this.$message({ showClose: true, message: msg, type: "success" });
95 -} 134 +};
96 135
97 Vue.prototype.msgError = function (msg) { 136 Vue.prototype.msgError = function (msg) {
98 this.$message({ showClose: true, message: msg, type: "error" }); 137 this.$message({ showClose: true, message: msg, type: "error" });
99 -} 138 +};
100 139
101 Vue.prototype.msgWarning = function (msg) { 140 Vue.prototype.msgWarning = function (msg) {
102 this.$message({ showClose: true, message: msg, type: "warning" }); 141 this.$message({ showClose: true, message: msg, type: "warning" });
103 -} 142 +};
104 143
105 Vue.prototype.msgInfo = function (msg) { 144 Vue.prototype.msgInfo = function (msg) {
106 this.$message.info(msg); 145 this.$message.info(msg);
107 -} 146 +};
108 147
109 // 全局组件挂载 148 // 全局组件挂载
110 -Vue.component('Pagination', Pagination) 149 +Vue.component("Pagination", Pagination);
111 -Vue.component('RightToolbar', RightToolbar) 150 +Vue.component("RightToolbar", RightToolbar);
112 -Vue.component('InputNodes', InputNodes) 151 +Vue.component("InputNodes", InputNodes);
113 -Vue.component('Table', Table) 152 +Vue.component("Table", Table);
114 -Vue.component('Formitem', Formitem) 153 +Vue.component("Formitem", Formitem);
115 -Vue.component('EditStep', EditStep) 154 +Vue.component("EditStep", EditStep);
116 -Vue.component('FedexAlert', FedexAlert) 155 +Vue.component("FedexAlert", FedexAlert);
117 -Vue.component('FedexEdit', FedexEdit) 156 +Vue.component("FedexEdit", FedexEdit);
118 -Vue.component('Tooltip', Tooltip) 157 +Vue.component("Tooltip", Tooltip);
119 -Vue.component('AlterDialog', AlterDialog) 158 +Vue.component("AlterDialog", AlterDialog);
120 -Vue.component('CustomTransfer', CustomTransfer) 159 +Vue.component("CustomTransfer", CustomTransfer);
121 -Vue.component('CustomForm', CustomForm) 160 +Vue.component("CustomForm", CustomForm);
122 -Vue.component('CustomTable', CustomTable) 161 +Vue.component("CustomTable", CustomTable);
123 -Vue.component('EditTag', EditTag) 162 +Vue.component("EditTag", EditTag);
124 -Vue.component('TablePopover', TablePopover) 163 +Vue.component("TablePopover", TablePopover);
125 -Vue.component('FormTextareaInput', FormTextareaInput) 164 +Vue.component("FormTextareaInput", FormTextareaInput);
126 - 165 +
127 -Vue.use(permission) 166 +Vue.use(permission);
128 - 167 +Vue.use(VxeUITable);
129 - 168 +
130 -Object.keys(filters).forEach(key => { 169 +Object.keys(filters).forEach((key) => {
131 - Vue.filter(key, filters[key]) 170 + Vue.filter(key, filters[key]);
132 -}) 171 +});
133 -
134 -
135 172
136 // window.addEventListener('resize', () => { 173 // window.addEventListener('resize', () => {
137 // // 获取当前的缩放级别 174 // // 获取当前的缩放级别
...@@ -154,15 +191,15 @@ Object.keys(filters).forEach(key => { ...@@ -154,15 +191,15 @@ Object.keys(filters).forEach(key => {
154 */ 191 */
155 192
156 Vue.use(Element, { 193 Vue.use(Element, {
157 - size: localStorage.getItem('size') || 'medium' // set element-ui default size 194 + size: localStorage.getItem("size") || "medium", // set element-ui default size
158 -}) 195 +});
159 196
160 -Vue.config.productionTip = false 197 +Vue.config.productionTip = false;
161 198
162 new Vue({ 199 new Vue({
163 - el: '#app', 200 + el: "#app",
164 router, 201 router,
165 store, 202 store,
166 i18n, 203 i18n,
167 - render: h => h(App) 204 + render: (h) => h(App),
168 -}) 205 +});
......
1 -import router from './router' 1 +import router from "./router";
2 -import store from './store' 2 +import store from "./store";
3 -import { Message, MessageBox } from 'element-ui' 3 +import { getToken } from "@/utils/auth";
4 -import { getToken, getLoginType } from '@/utils/auth' 4 +import { getParamsObj } from "@/utils/parseUrlParams";
5 -import { alertWarningMsg, alertSuccessMsg, alertErrorMsg } from "@/utils/index"; 5 +const whiteList = [
6 + "/login",
7 + "/auth-redirect",
8 + "/bind",
9 + "/register",
10 + "/relogin",
11 +];
6 12
7 - 13 +const userToken = getParamsObj(location.href).token;
8 -const whiteList = ['/login', '/auth-redirect', '/bind', '/register', '/relogin']
9 14
10 router.beforeEach((to, from, next) => { 15 router.beforeEach((to, from, next) => {
11 - if (to.path == '/relogin') { 16 + if (userToken) {
12 - next() 17 + store.dispatch("LoginWithoutPassword", userToken).then(() => {});
18 + }
19 + if (to.path == "/relogin") {
20 + next();
13 } else { 21 } else {
14 if (getToken()) { 22 if (getToken()) {
15 - let path = '' 23 + let path = "";
16 /* has token*/ 24 /* has token*/
17 25
18 - if (to.path === '/login') { 26 + if (to.path === "/login") {
19 - next({ path: path }) 27 + next({ path: path });
20 } else { 28 } else {
21 if (store.getters.userData == null) { 29 if (store.getters.userData == null) {
22 // 判断当前用户是否已拉取完user_info信息 30 // 判断当前用户是否已拉取完user_info信息
23 - store.dispatch('GetInfo').then((res) => { 31 + store
24 - // if (res.success) { 32 + .dispatch("GetInfo")
25 - store.dispatch('GenerateRoutes').then(accessRoutes => { 33 + .then((res) => {
26 - store.dispatch("GetDict", ['DECLARE_F_FLAG', 'MEASUREMENT_UNIT', 'RECEIPT_STATUS', 'DECLARE_APPTYPE', 'CURRENCY', 'DECLARE_STATISTICS_FLAG', 'ORDER_DECLARATION_PARTY']); 34 + // if (res.success) {
27 - // 根据roles权限生成可访问的路由表 35 + store.dispatch("GenerateRoutes").then((accessRoutes) => {
28 - router.addRoutes(accessRoutes) // 动态添加可访问路由表 36 + store.dispatch("GetDict", [
29 - next({ ...to, replace: true }) // hack方法 确保addRoutes已完成 37 + "DECLARE_F_FLAG",
38 + "MEASUREMENT_UNIT",
39 + "TEMPLATE_TYPE",
40 + "PACKAGE_TYPE_CODE",
41 + "RECEIPT_STATUS",
42 + "DECLARE_APPTYPE",
43 + "CURRENCY",
44 + "COUNTRY_REGION_CODE",
45 + "DECLARE_STATISTICS_FLAG",
46 + "ORDER_DECLARATION_PARTY",
47 + "APP_STATUS",
48 + "METHOD_OF_SIGNATURE",
49 + "ORDER_DECLARE_CHANNEL",
50 + "DECLARE_STATISTICS_FLAG",
51 + "RETURN_STATUS",
52 + "FORWARD_STATUS",
53 + "DATA_SOURCE_IMPORT",
54 + "DECLARE_TRAFMODE",
55 + ]);
56 + // 根据roles权限生成可访问的路由表
57 + router.addRoutes(accessRoutes); // 动态添加可访问路由表
58 + next({ ...to, replace: true }); // hack方法 确保addRoutes已完成
59 + });
60 + // }
30 }) 61 })
31 - // } 62 + .catch((err) => {
32 - }).catch(err => { 63 + if (err != undefined) {
33 - if (err != undefined) { 64 + store.dispatch("FedLogOut");
34 - store.dispatch('FedLogOut') 65 + }
35 - } 66 + });
36 - })
37 } else { 67 } else {
38 - next() 68 + next();
39 } 69 }
40 } 70 }
41 } else { 71 } else {
42 // 没有token 72 // 没有token
43 if (whiteList.indexOf(to.path) !== -1) { 73 if (whiteList.indexOf(to.path) !== -1) {
44 // 在免登录白名单,直接进入 74 // 在免登录白名单,直接进入
45 - next() 75 + next();
46 } else { 76 } else {
47 - next(`/login`) // 否则全部重定向到登录页 77 + if (to.path === "/reportingData") {
78 + store.dispatch("LoginWithoutPassword", userToken).then(() => {
79 + next(`/reportingData`);
80 + });
81 + } else {
82 + next(`/login`); // 否则全部重定向到登录页
83 + }
48 } 84 }
49 } 85 }
50 } 86 }
51 -}) 87 +});
52 88
53 -router.afterEach(() => { 89 +router.afterEach(() => {});
54 -})
......
This diff is collapsed. Click to expand it.
1 module.exports = { 1 module.exports = {
2 - title: '跨境电商在线申报', 2 + title: "跨境电商在线申报",
3 3
4 /** 4 /**
5 * 侧边栏主题 深色主题theme-dark,浅色主题theme-light 5 * 侧边栏主题 深色主题theme-dark,浅色主题theme-light
6 */ 6 */
7 - sideTheme: 'theme-light', 7 + sideTheme: "theme-light",
8 8
9 /** 9 /**
10 * 是否系统布局配置 10 * 是否系统布局配置
...@@ -19,7 +19,7 @@ module.exports = { ...@@ -19,7 +19,7 @@ module.exports = {
19 /** 19 /**
20 * 是否显示 tagsView 20 * 是否显示 tagsView
21 */ 21 */
22 - tagsView: false, 22 + tagsView: true,
23 23
24 /** 24 /**
25 * 是否固定头部 25 * 是否固定头部
...@@ -37,5 +37,5 @@ module.exports = { ...@@ -37,5 +37,5 @@ module.exports = {
37 * The default is only used in the production env 37 * The default is only used in the production env
38 * If you want to also use it in dev, you can pass ['production', 'development'] 38 * If you want to also use it in dev, you can pass ['production', 'development']
39 */ 39 */
40 - errorLog: 'production' 40 + errorLog: "production",
41 -} 41 +};
......
This diff is collapsed. Click to expand it.
1 +import { routeNameMap } from "../../layout/components/TagsView/route";
2 +
1 const state = { 3 const state = {
2 visitedViews: [], 4 visitedViews: [],
3 - cachedViews: [] 5 + cachedViews: [],
4 -} 6 + tagsViewNames: [],
7 +};
5 8
6 const mutations = { 9 const mutations = {
7 ADD_VISITED_VIEW: (state, view) => { 10 ADD_VISITED_VIEW: (state, view) => {
8 - if (state.visitedViews.some(v => v.path === view.path)) return 11 + if (state.visitedViews.some((v) => v.path === view.path)) return;
9 state.visitedViews.push( 12 state.visitedViews.push(
10 Object.assign({}, view, { 13 Object.assign({}, view, {
11 - title: view.meta.title || 'no-name' 14 + title: view.meta.title || "no-name",
12 }) 15 })
13 - ) 16 + );
14 }, 17 },
15 ADD_CACHED_VIEW: (state, view) => { 18 ADD_CACHED_VIEW: (state, view) => {
16 - if (state.cachedViews.includes(view.name)) return 19 + if (state.cachedViews.includes(view.name)) return;
17 if (!view.meta.noCache) { 20 if (!view.meta.noCache) {
18 - state.cachedViews.push(view.name) 21 + state.cachedViews.push(view.name);
19 } 22 }
20 }, 23 },
21 24
22 DEL_VISITED_VIEW: (state, view) => { 25 DEL_VISITED_VIEW: (state, view) => {
23 for (const [i, v] of state.visitedViews.entries()) { 26 for (const [i, v] of state.visitedViews.entries()) {
24 if (v.path === view.path) { 27 if (v.path === view.path) {
25 - state.visitedViews.splice(i, 1) 28 + state.visitedViews.splice(i, 1);
26 - break 29 + break;
27 } 30 }
28 } 31 }
29 }, 32 },
30 DEL_CACHED_VIEW: (state, view) => { 33 DEL_CACHED_VIEW: (state, view) => {
31 - const index = state.cachedViews.indexOf(view.name) 34 + const index = state.cachedViews.indexOf(view.name);
32 - index > -1 && state.cachedViews.splice(index, 1) 35 + index > -1 && state.cachedViews.splice(index, 1);
33 }, 36 },
34 37
35 DEL_OTHERS_VISITED_VIEWS: (state, view) => { 38 DEL_OTHERS_VISITED_VIEWS: (state, view) => {
36 - state.visitedViews = state.visitedViews.filter(v => { 39 + state.visitedViews = state.visitedViews.filter((v) => {
37 - return v.meta.affix || v.path === view.path 40 + return v.meta.affix || v.path === view.path;
38 - }) 41 + });
39 }, 42 },
40 DEL_OTHERS_CACHED_VIEWS: (state, view) => { 43 DEL_OTHERS_CACHED_VIEWS: (state, view) => {
41 - const index = state.cachedViews.indexOf(view.name) 44 + const index = state.cachedViews.indexOf(view.name);
42 if (index > -1) { 45 if (index > -1) {
43 - state.cachedViews = state.cachedViews.slice(index, index + 1) 46 + state.cachedViews = state.cachedViews.slice(index, index + 1);
44 } else { 47 } else {
45 - state.cachedViews = [] 48 + state.cachedViews = [];
46 } 49 }
47 }, 50 },
48 51
49 - DEL_ALL_VISITED_VIEWS: state => { 52 + DEL_ALL_VISITED_VIEWS: (state) => {
50 // keep affix tags 53 // keep affix tags
51 - const affixTags = state.visitedViews.filter(tag => tag.meta.affix) 54 + const affixTags = state.visitedViews.filter((tag) => tag.meta.affix);
52 - state.visitedViews = affixTags 55 + state.visitedViews = affixTags;
53 }, 56 },
54 - DEL_ALL_CACHED_VIEWS: state => { 57 + DEL_ALL_CACHED_VIEWS: (state) => {
55 - state.cachedViews = [] 58 + state.cachedViews = [];
56 }, 59 },
57 60
58 UPDATE_VISITED_VIEW: (state, view) => { 61 UPDATE_VISITED_VIEW: (state, view) => {
59 for (let v of state.visitedViews) { 62 for (let v of state.visitedViews) {
60 if (v.path === view.path) { 63 if (v.path === view.path) {
61 - v = Object.assign(v, view) 64 + v = Object.assign(v, view);
62 - break 65 + break;
63 } 66 }
64 } 67 }
65 }, 68 },
66 69
67 DEL_RIGHT_VIEWS: (state, view) => { 70 DEL_RIGHT_VIEWS: (state, view) => {
68 - const index = state.visitedViews.findIndex(v => v.path === view.path) 71 + const index = state.visitedViews.findIndex((v) => v.path === view.path);
69 if (index === -1) { 72 if (index === -1) {
70 - return 73 + return;
71 } 74 }
72 state.visitedViews = state.visitedViews.filter((item, idx) => { 75 state.visitedViews = state.visitedViews.filter((item, idx) => {
73 if (idx <= index || (item.meta && item.meta.affix)) { 76 if (idx <= index || (item.meta && item.meta.affix)) {
74 - return true 77 + return true;
75 } 78 }
76 - const i = state.cachedViews.indexOf(item.name) 79 + const i = state.cachedViews.indexOf(item.name);
77 if (i > -1) { 80 if (i > -1) {
78 - state.cachedViews.splice(i, 1) 81 + state.cachedViews.splice(i, 1);
82 + state.tagsViewNames.splice(i, 1);
79 } 83 }
80 - return false 84 +
81 - }) 85 + return false;
82 - } 86 + });
83 -} 87 + },
88 + // add Name tagsViewNames
89 + ADD_CACHED_NAME: (state, view) => {
90 + const name = routeNameMap[view.path];
91 + if (state.tagsViewNames.includes(name)) return;
92 + if (!view.meta.noCache) {
93 + state.tagsViewNames.push(name);
94 + }
95 + },
96 + DEL_CACHED_NAME: (state, view) => {
97 + const name = routeNameMap[view.path];
98 + const index = state.tagsViewNames.indexOf(name);
99 + index > -1 && state.tagsViewNames.splice(index, 1);
100 + },
101 + DEL_OTHERS_CACHED_NAMES: (state, view) => {
102 + const name = routeNameMap[view.path];
103 + const index = state.tagsViewNames.indexOf(name);
104 + if (index > -1) {
105 + state.tagsViewNames = state.tagsViewNames.slice(index, index + 1);
106 + } else {
107 + state.tagsViewNames = [];
108 + }
109 + },
110 + DEL_ALL_CACHED_NAMES: (state) => {
111 + state.tagsViewNames = [];
112 + },
113 +};
84 114
85 const actions = { 115 const actions = {
86 addView({ dispatch }, view) { 116 addView({ dispatch }, view) {
87 - dispatch('addVisitedView', view) 117 + dispatch("addVisitedView", view);
88 - dispatch('addCachedView', view) 118 + dispatch("addCachedView", view);
119 + dispatch("addCachedName", view);
120 + console.log("addView", view);
89 }, 121 },
90 addVisitedView({ commit }, view) { 122 addVisitedView({ commit }, view) {
91 - commit('ADD_VISITED_VIEW', view) 123 + commit("ADD_VISITED_VIEW", view);
92 }, 124 },
93 addCachedView({ commit }, view) { 125 addCachedView({ commit }, view) {
94 - commit('ADD_CACHED_VIEW', view) 126 + commit("ADD_CACHED_VIEW", view);
127 + },
128 + addCachedName({ commit }, view) {
129 + commit("ADD_CACHED_NAME", view);
95 }, 130 },
96 131
97 delView({ dispatch, state }, view) { 132 delView({ dispatch, state }, view) {
98 - return new Promise(resolve => { 133 + return new Promise((resolve) => {
99 - dispatch('delVisitedView', view) 134 + dispatch("delVisitedView", view);
100 - dispatch('delCachedView', view) 135 + dispatch("delCachedView", view);
136 + dispatch("delCachedName", view);
101 resolve({ 137 resolve({
102 visitedViews: [...state.visitedViews], 138 visitedViews: [...state.visitedViews],
103 - cachedViews: [...state.cachedViews] 139 + cachedViews: [...state.cachedViews],
104 - }) 140 + tagsViewNames: [...state.tagsViewNames],
105 - }) 141 + });
142 + });
106 }, 143 },
107 delVisitedView({ commit, state }, view) { 144 delVisitedView({ commit, state }, view) {
108 - return new Promise(resolve => { 145 + return new Promise((resolve) => {
109 - commit('DEL_VISITED_VIEW', view) 146 + commit("DEL_VISITED_VIEW", view);
110 - resolve([...state.visitedViews]) 147 + resolve([...state.visitedViews]);
111 - }) 148 + });
112 }, 149 },
113 delCachedView({ commit, state }, view) { 150 delCachedView({ commit, state }, view) {
114 - return new Promise(resolve => { 151 + return new Promise((resolve) => {
115 - commit('DEL_CACHED_VIEW', view) 152 + commit("DEL_CACHED_VIEW", view);
116 - resolve([...state.cachedViews]) 153 + resolve([...state.cachedViews]);
117 - }) 154 + });
155 + },
156 + delCachedName({ commit, state }, view) {
157 + return new Promise((resolve) => {
158 + commit("DEL_CACHED_NAME", view);
159 + resolve([...state.tagsViewNames]);
160 + });
118 }, 161 },
119 162
120 delOthersViews({ dispatch, state }, view) { 163 delOthersViews({ dispatch, state }, view) {
121 - return new Promise(resolve => { 164 + return new Promise((resolve) => {
122 - dispatch('delOthersVisitedViews', view) 165 + dispatch("delOthersVisitedViews", view);
123 - dispatch('delOthersCachedViews', view) 166 + dispatch("delOthersCachedViews", view);
167 + dispatch("delOthersCachedName", view);
124 resolve({ 168 resolve({
125 visitedViews: [...state.visitedViews], 169 visitedViews: [...state.visitedViews],
126 - cachedViews: [...state.cachedViews] 170 + cachedViews: [...state.cachedViews],
127 - }) 171 + tagsViewNames: [...state.tagsViewNames],
128 - }) 172 + });
173 + });
129 }, 174 },
130 delOthersVisitedViews({ commit, state }, view) { 175 delOthersVisitedViews({ commit, state }, view) {
131 - return new Promise(resolve => { 176 + return new Promise((resolve) => {
132 - commit('DEL_OTHERS_VISITED_VIEWS', view) 177 + commit("DEL_OTHERS_VISITED_VIEWS", view);
133 - resolve([...state.visitedViews]) 178 + resolve([...state.visitedViews]);
134 - }) 179 + });
135 }, 180 },
136 delOthersCachedViews({ commit, state }, view) { 181 delOthersCachedViews({ commit, state }, view) {
137 - return new Promise(resolve => { 182 + return new Promise((resolve) => {
138 - commit('DEL_OTHERS_CACHED_VIEWS', view) 183 + commit("DEL_OTHERS_CACHED_VIEWS", view);
139 - resolve([...state.cachedViews]) 184 + resolve([...state.cachedViews]);
140 - }) 185 + });
186 + },
187 + delOthersCachedName({ commit, state }, view) {
188 + return new Promise((resolve) => {
189 + commit("DEL_OTHERS_CACHED_NAMES", view);
190 + resolve([...state.tagsViewNames]);
191 + });
141 }, 192 },
142 193
143 delAllViews({ dispatch, state }, view) { 194 delAllViews({ dispatch, state }, view) {
144 - return new Promise(resolve => { 195 + return new Promise((resolve) => {
145 - dispatch('delAllVisitedViews', view) 196 + dispatch("delAllVisitedViews", view);
146 - dispatch('delAllCachedViews', view) 197 + dispatch("delAllCachedViews", view);
198 + dispatch("delAllCachedName", view);
147 resolve({ 199 resolve({
148 visitedViews: [...state.visitedViews], 200 visitedViews: [...state.visitedViews],
149 - cachedViews: [...state.cachedViews] 201 + cachedViews: [...state.cachedViews],
150 - }) 202 + tagsViewNames: [...state.tagsViewNames],
151 - }) 203 + });
204 + });
152 }, 205 },
153 delAllVisitedViews({ commit, state }) { 206 delAllVisitedViews({ commit, state }) {
154 - return new Promise(resolve => { 207 + return new Promise((resolve) => {
155 - commit('DEL_ALL_VISITED_VIEWS') 208 + commit("DEL_ALL_VISITED_VIEWS");
156 - resolve([...state.visitedViews]) 209 + resolve([...state.visitedViews]);
157 - }) 210 + });
158 }, 211 },
159 delAllCachedViews({ commit, state }) { 212 delAllCachedViews({ commit, state }) {
160 - return new Promise(resolve => { 213 + return new Promise((resolve) => {
161 - commit('DEL_ALL_CACHED_VIEWS') 214 + commit("DEL_ALL_CACHED_VIEWS");
162 - resolve([...state.cachedViews]) 215 + resolve([...state.cachedViews]);
163 - }) 216 + });
217 + },
218 + delAllCachedName({ commit, state }) {
219 + return new Promise((resolve) => {
220 + commit("DEL_ALL_CACHED_NAMES");
221 + resolve([...state.tagsViewNames]);
222 + });
164 }, 223 },
165 224
166 updateVisitedView({ commit }, view) { 225 updateVisitedView({ commit }, view) {
167 - commit('UPDATE_VISITED_VIEW', view) 226 + commit("UPDATE_VISITED_VIEW", view);
168 }, 227 },
169 228
170 delRightTags({ commit }, view) { 229 delRightTags({ commit }, view) {
171 - return new Promise(resolve => { 230 + return new Promise((resolve) => {
172 - commit('DEL_RIGHT_VIEWS', view) 231 + commit("DEL_RIGHT_VIEWS", view);
173 - resolve([...state.visitedViews]) 232 + resolve([...state.visitedViews]);
174 - }) 233 + });
175 - } 234 + },
176 -} 235 +};
177 236
178 export default { 237 export default {
179 namespaced: true, 238 namespaced: true,
180 state, 239 state,
181 mutations, 240 mutations,
182 - actions 241 + actions,
183 -} 242 +};
......
1 -import { login, logout } from '@/api/login' 1 +import { login, logout } from "@/api/login";
2 -import { getInfo } from '@/api/system/user.js' 2 +import { getInfo } from "@/api/system/user.js";
3 -import { getLogisticsCodeLis, getDictData } from '@/api/system/dict-api.js' 3 +import { getDictData } from "@/api/system/dict-api.js";
4 -import { getToken, setToken, removeToken, removeUserId, removeTime } from '@/utils/auth' 4 +import {
5 -import { alertWarningMsg } from '@/utils/index.js' 5 + getToken,
6 + setToken,
7 + removeToken,
8 + removeUserId,
9 + removeTime,
10 +} from "@/utils/auth";
11 +import { removeAuthCode } from "../../utils/auth";
6 12
7 const user = { 13 const user = {
8 state: { 14 state: {
9 token: getToken(), 15 token: getToken(),
10 userData: null, 16 userData: null,
11 - name: '', 17 + name: "",
12 - avatar: '', 18 + avatar: "",
13 roles: [], 19 roles: [],
14 permissions: [], 20 permissions: [],
15 linkList: [], 21 linkList: [],
16 dict: { 22 dict: {
17 - DECLARE_TRAFMODE: [{ itemCode: 'DECLARE_TRAFMODE_AVIATION', itemChineseName: '航空运输', itemValue: '5' }] 23 + // DECLARE_TRAFMODE: [
24 + // {
25 + // itemCode: "DECLARE_TRAFMODE_AVIATION",
26 + // itemChineseName: "航空运输",
27 + // itemValue: "5",
28 + // },
29 + // ],
18 }, 30 },
19 loading: { 31 loading: {
20 type: false, 32 type: false,
21 - text: '拼命加载中"' 33 + text: '拼命加载中"',
22 - } 34 + },
23 }, 35 },
24 36
25 mutations: { 37 mutations: {
26 SET_TOKEN: (state, token) => { 38 SET_TOKEN: (state, token) => {
27 - state.token = token 39 + state.token = token;
28 }, 40 },
29 SET_USERDATA: (state, data) => { 41 SET_USERDATA: (state, data) => {
30 - state.userData = data 42 + state.userData = data;
31 }, 43 },
32 SET_NAME: (state, name) => { 44 SET_NAME: (state, name) => {
33 - state.name = name 45 + state.name = name;
34 }, 46 },
35 SET_AVATAR: (state, avatar) => { 47 SET_AVATAR: (state, avatar) => {
36 - state.avatar = avatar 48 + state.avatar = avatar;
37 }, 49 },
38 SET_ROLES: (state, roles) => { 50 SET_ROLES: (state, roles) => {
39 - state.roles = roles 51 + state.roles = roles;
40 }, 52 },
41 SET_PERMISSIONS: (state, permissions) => { 53 SET_PERMISSIONS: (state, permissions) => {
42 - state.permissions = permissions 54 + state.permissions = permissions;
43 }, 55 },
44 SET_LINKLIST: (state, linkList) => { 56 SET_LINKLIST: (state, linkList) => {
45 - state.linkList = linkList 57 + state.linkList = linkList;
46 }, 58 },
47 SET_DICT: (state, dict) => { 59 SET_DICT: (state, dict) => {
48 - state.dict = dict 60 + state.dict = dict;
49 }, 61 },
50 SET_LOAD: (state, loading) => { 62 SET_LOAD: (state, loading) => {
51 - state.loading.type = loading.type 63 + state.loading.type = loading.type;
52 - state.loading.text = loading.text 64 + state.loading.text = loading.text;
53 }, 65 },
54 }, 66 },
55 67
56 actions: { 68 actions: {
57 // 登录 69 // 登录
58 Login({ commit, state }, userInfo) { 70 Login({ commit, state }, userInfo) {
59 - const loginName = userInfo.userName.trim() 71 + const loginName = userInfo.userName.trim();
60 - const password = userInfo.password 72 + const password = userInfo.password;
61 - const rememberMe = userInfo.rememberMe 73 + const rememberMe = userInfo.rememberMe;
62 return new Promise((resolve, reject) => { 74 return new Promise((resolve, reject) => {
63 - login(loginName, password, rememberMe).then(res => { 75 + login(loginName, password, rememberMe)
64 - if (res.code != '200') { 76 + .then((res) => {
65 - reject(res) 77 + if (res.code != "200") {
66 - } else { 78 + reject(res);
67 - if (!getToken()) {
68 - setToken(res.data)
69 - commit('SET_TOKEN', res.data)
70 - resolve(res)
71 } else { 79 } else {
72 - resolve(res) 80 + if (!getToken()) {
81 + setToken(res.data);
82 + commit("SET_TOKEN", res.data);
83 + resolve(res);
84 + } else {
85 + resolve(res);
86 + }
73 } 87 }
74 - } 88 + })
75 - }).catch(error => { 89 + .catch((error) => {
76 - reject(error) 90 + reject(error);
77 - }) 91 + });
78 - }) 92 + });
93 + },
94 + //非账号密码登录
95 + LoginWithoutPassword({ commit }, token) {
96 + return new Promise((resolve) => {
97 + setToken(token);
98 + commit("SET_TOKEN", token);
99 + resolve(token);
100 + // if (!getToken()) {
101 + // setToken(token);
102 + // commit("SET_TOKEN", token);
103 + // resolve(token);
104 + // } else {
105 + // resolve(token);
106 + // }
107 + });
79 }, 108 },
80 109
81 // 获取用户信息 110 // 获取用户信息
82 async GetInfo({ commit, state }) { 111 async GetInfo({ commit, state }) {
83 return new Promise((resolve, reject) => { 112 return new Promise((resolve, reject) => {
84 - getInfo().then(res => { 113 + getInfo()
85 - if (res.code === '200') { 114 + .then((res) => {
86 - commit("SET_USERDATA", res.data); 115 + if (res.code === "200") {
87 - resolve(res) 116 + commit("SET_USERDATA", res.data);
88 - } else { 117 + resolve(res);
89 - reject(res) 118 + } else {
90 - } 119 + reject(res);
91 - }).catch(error => { 120 + }
92 - reject(error) 121 + })
93 - }) 122 + .catch((error) => {
94 - }) 123 + reject(error);
124 + });
125 + });
95 }, 126 },
96 127
97 //获取字典数据 128 //获取字典数据
98 async GetDict({ commit, state }, codeList) { 129 async GetDict({ commit, state }, codeList) {
99 - let obj = state.dict 130 + let obj = state.dict;
100 codeList.forEach((item, idx) => { 131 codeList.forEach((item, idx) => {
101 if (obj[item] == undefined || obj[item].length == 0) { 132 if (obj[item] == undefined || obj[item].length == 0) {
102 - obj[item] = [] 133 + obj[item] = [];
103 - getDictData({ doctCode: item }).then(res => { 134 + getDictData({ doctCode: item })
104 - if (res.code === '200') { 135 + .then((res) => {
105 - obj[item] = res.data 136 + if (res.code === "200") {
106 - } 137 + obj[item] = res.data;
107 - }).catch(err => { 138 + }
108 - console.log(err); 139 + })
109 - }).finally(() => { 140 + .catch((err) => {
110 - if (idx == codeList.length - 1) { 141 + console.log(err);
111 - console.log(obj); 142 + })
112 - commit('SET_DICT', obj) 143 + .finally(() => {
113 - } 144 + if (idx == codeList.length - 1) {
114 - }) 145 + console.log(obj);
146 + commit("SET_DICT", obj);
147 + }
148 + });
115 } else { 149 } else {
116 if (idx == codeList.length - 1) { 150 if (idx == codeList.length - 1) {
117 console.log(obj); 151 console.log(obj);
118 - commit('SET_DICT', obj) 152 + commit("SET_DICT", obj);
119 } 153 }
120 } 154 }
121 - }) 155 + });
122 }, 156 },
123 157
124 //退出系统 158 //退出系统
125 LogOut({ commit, state }) { 159 LogOut({ commit, state }) {
126 return new Promise((resolve, reject) => { 160 return new Promise((resolve, reject) => {
127 - logout(state.token).then(() => { 161 + logout(state.token)
128 - commit('SET_TOKEN', '') 162 + .then(() => {
129 - commit('SET_USERDATA', null) 163 + commit("SET_TOKEN", "");
130 - removeToken() 164 + commit("SET_USERDATA", null);
131 - removeTime() 165 + removeToken();
132 - resolve() 166 + removeTime();
133 - }).catch(error => { 167 + removeAuthCode();
134 - reject(error) 168 + resolve();
135 - }) 169 + })
136 - }) 170 + .catch((error) => {
171 + reject(error);
172 + });
173 + });
137 }, 174 },
138 175
139 // 前端 登出 176 // 前端 登出
140 FedLogOut({ commit, state }) { 177 FedLogOut({ commit, state }) {
141 - return new Promise(resolve => { 178 + return new Promise((resolve) => {
142 - commit('SET_TOKEN', '') 179 + commit("SET_TOKEN", "");
143 - commit('SET_USERDATA', null) 180 + commit("SET_USERDATA", null);
144 - removeToken() 181 + removeToken();
145 - removeTime() 182 + removeTime();
146 - removeUserId() 183 + removeUserId();
147 - location.replace(process.env.VUE_APP_BASE_ROUTE); 184 + window.location.replace(process.env.VUE_APP_BASE_ROUTE);
148 - resolve() 185 + resolve();
149 - }) 186 + });
150 - } 187 + },
151 - } 188 + },
152 -} 189 +};
153 190
154 function getLogisticsCode() { 191 function getLogisticsCode() {
155 return new Promise((resolve, reject) => { 192 return new Promise((resolve, reject) => {
156 - getLogisticsCodeList().then(res => { 193 + getLogisticsCodeList()
157 - if (res.code === '200') { 194 + .then((res) => {
158 - resolve(res.data) 195 + if (res.code === "200") {
159 - } else { 196 + resolve(res.data);
160 - reject() 197 + } else {
161 - } 198 + reject();
162 - }).catch(err => { 199 + }
163 - console.log(err); 200 + })
164 - reject() 201 + .catch((err) => {
165 - }) 202 + console.log(err);
166 - }) 203 + reject();
204 + });
205 + });
167 } 206 }
168 207
169 - 208 +export default user;
170 -export default user
171 -
......
...@@ -7,13 +7,17 @@ const viewOption = { ...@@ -7,13 +7,17 @@ const viewOption = {
7 tab: '', 7 tab: '',
8 submitType: false, 8 submitType: false,
9 updateType: false, 9 updateType: false,
10 - } 10 + },
11 + loadingDatas:true
11 }, 12 },
12 13
13 mutations: { 14 mutations: {
14 SET_ENTRYDATA(state, entryData) { 15 SET_ENTRYDATA(state, entryData) {
15 state.entryEdit = entryData 16 state.entryEdit = entryData
16 - } 17 + },
18 + SET_LOADINGDATA(state, isLoading) {
19 + state.loadingDatas = isLoading
20 + },
17 }, 21 },
18 22
19 actions: { 23 actions: {
...@@ -28,7 +32,10 @@ const viewOption = { ...@@ -28,7 +32,10 @@ const viewOption = {
28 submitType: false, 32 submitType: false,
29 updateType: false, 33 updateType: false,
30 }) 34 })
31 - } 35 + },
36 + setLoadingState({ commit, state }, data) {
37 + commit('SET_LOADINGDATA', data)
38 + },
32 } 39 }
33 } 40 }
34 41
......
1 - 1 +const TokenKey = "Ecom-Token";
2 -const TokenKey = 'Ecom-Token' 2 +export const auth_code = "PERMISSION_AUTH_CODE";
3 -
4 export function getToken() { 3 export function getToken() {
5 - return localStorage.getItem(TokenKey) 4 + return localStorage.getItem(TokenKey);
6 // return sessionStorage.getItem(TokenKey) 5 // return sessionStorage.getItem(TokenKey)
7 } 6 }
8 7
9 export function setToken(token) { 8 export function setToken(token) {
10 - setTime(new Date().getTime()) 9 + setTime(new Date().getTime());
11 - return localStorage.setItem(TokenKey, token) 10 + return localStorage.setItem(TokenKey, token);
12 // return sessionStorage.setItem(TokenKey, token) 11 // return sessionStorage.setItem(TokenKey, token)
13 } 12 }
14 13
15 export function removeToken() { 14 export function removeToken() {
16 - sessionStorage.removeItem('magicFcl') 15 + sessionStorage.removeItem("magicFcl");
17 - return localStorage.removeItem(TokenKey) 16 + return localStorage.removeItem(TokenKey);
18 // return sessionStorage.removeItem(TokenKey) 17 // return sessionStorage.removeItem(TokenKey)
19 } 18 }
20 19
21 export function getUserId() { 20 export function getUserId() {
22 - return localStorage.getItem('EcomUser') 21 + return localStorage.getItem("EcomUser");
23 // return sessionStorage.getItem(TokenKey) 22 // return sessionStorage.getItem(TokenKey)
24 } 23 }
25 24
26 export function setUserId(id) { 25 export function setUserId(id) {
27 - return localStorage.setItem('EcomUser', id) 26 + return localStorage.setItem("EcomUser", id);
28 // return sessionStorage.setItem(TokenKey, token) 27 // return sessionStorage.setItem(TokenKey, token)
29 } 28 }
30 29
31 export function removeUserId() { 30 export function removeUserId() {
32 - return localStorage.removeItem('EcomUser') 31 + return localStorage.removeItem("EcomUser");
33 // return sessionStorage.getItem(TokenKey) 32 // return sessionStorage.getItem(TokenKey)
34 } 33 }
35 34
36 export function setCookie(cookie) { 35 export function setCookie(cookie) {
37 - return localStorage.setItem('EcomLoginTIp', cookie) 36 + return localStorage.setItem("EcomLoginTIp", cookie);
38 } 37 }
39 38
40 export function getCookie() { 39 export function getCookie() {
41 - return localStorage.getItem('EcomLoginTIp') 40 + return localStorage.getItem("EcomLoginTIp");
42 } 41 }
43 42
44 export function setTime(date) { 43 export function setTime(date) {
45 - return localStorage.setItem('EcomLoginTime', date) 44 + return localStorage.setItem("EcomLoginTime", date);
46 } 45 }
47 46
48 export function getTime() { 47 export function getTime() {
49 - return localStorage.getItem('EcomLoginTime') 48 + return localStorage.getItem("EcomLoginTime");
50 } 49 }
51 50
52 export function removeTime() { 51 export function removeTime() {
53 - return localStorage.removeItem('EcomLoginTime') 52 + return localStorage.removeItem("EcomLoginTime");
54 } 53 }
55 54
56 export function setLoginType(type) { 55 export function setLoginType(type) {
57 - return sessionStorage.setItem('magicFcl', type) 56 + return sessionStorage.setItem("magicFcl", type);
58 } 57 }
59 58
60 export function getLoginType() { 59 export function getLoginType() {
61 - return sessionStorage.getItem('magicFcl') 60 + return sessionStorage.getItem("magicFcl");
62 } 61 }
63 62
64 export function removeLoginType() { 63 export function removeLoginType() {
65 - return sessionStorage.removeItem('magicFcl') 64 + return sessionStorage.removeItem("magicFcl");
66 } 65 }
67 66
68 export function setEntrySreachType(type) { 67 export function setEntrySreachType(type) {
69 - return sessionStorage.setItem('sreachEntryType', type) 68 + return sessionStorage.setItem("sreachEntryType", type);
70 } 69 }
71 70
72 export function getEntrySreachType() { 71 export function getEntrySreachType() {
73 - return sessionStorage.getItem('sreachEntryType') 72 + return sessionStorage.getItem("sreachEntryType");
74 } 73 }
75 74
76 export function removeEntrySreachType() { 75 export function removeEntrySreachType() {
77 - return sessionStorage.removeItem('sreachEntryType')
78 -}
...\ No newline at end of file ...\ No newline at end of file
76 + return sessionStorage.removeItem("sreachEntryType");
77 +}
78 +
79 +// 用于解放权限
80 +export function removeAuthCode() {
81 + return localStorage.removeItem(auth_code);
82 +}
83 +
84 +// 获取权限 并判断传进来的code 是否有权限
85 +export function isHasAuth(code) {
86 + const authCode = localStorage.getItem(auth_code);
87 + const stored = authCode ? JSON.parse(authCode) : [];
88 + // console.log(stored);
89 +
90 + if (stored.includes(code)) {
91 + return true;
92 + } else {
93 + return false;
94 + }
95 +}
......
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
1 +export function buildMenuTree(menuList) {
2 + // 创建一个映射,用于快速查找菜单项
3 + const menuMap = new Map();
4 + const tree = [];
5 +
6 + // 首先将所有菜单项放入映射中
7 + menuList.forEach((menu) => {
8 + menuMap.set(menu.menuId, { ...menu, children: [] });
9 + });
10 +
11 + // 构建树形结构
12 + menuList.forEach((menu) => {
13 + const menuItem = menuMap.get(menu.menuId);
14 + if (menu.parentMenuId === 0) {
15 + // 如果是顶级菜单,直接添加到树中
16 + tree.push(menuItem);
17 + } else {
18 + // 如果不是顶级菜单,找到其父菜单并添加到父菜单的children中
19 + const parent = menuMap.get(menu.parentMenuId);
20 + if (parent) {
21 + parent.children.push(menuItem);
22 + }
23 + }
24 + });
25 +
26 + return tree;
27 +}
28 +
29 +export function getBindingLeafMenuIds(menuList) {
30 + // 创建一个映射,用于快速查找菜单项
31 + const menuMap = new Map();
32 + const bindingMenuIds = new Set();
33 + const parentMenuIds = new Set();
34 +
35 + // 首先处理所有菜单项
36 + menuList.forEach((menu) => {
37 + menuMap.set(menu.menuId, menu);
38 + // 记录所有父级menuId
39 + if (menu.parentMenuId !== 0) {
40 + parentMenuIds.add(menu.parentMenuId);
41 + }
42 + // 记录所有isBinding为true的menuId
43 + if (menu.isBinding) {
44 + bindingMenuIds.add(menu.menuId);
45 + }
46 + });
47 +
48 + // 从bindingMenuIds中移除所有父级menuId
49 + parentMenuIds.forEach((parentId) => {
50 + bindingMenuIds.delete(parentId);
51 + });
52 +
53 + return Array.from(bindingMenuIds);
54 +}
1 +export const getParamsObj = (url) => {
2 + const params = new URLSearchParams(url.split('?')[1]);
3 + const paramObj = {};
4 + for (const [key, value] of params) {
5 + paramObj[key] = value;
6 + }
7 + return paramObj;
8 + }
...\ No newline at end of file ...\ No newline at end of file
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
1 +<template>
2 + <el-dialog
3 + class="entryDialog classCUploadDialog"
4 + :title="title"
5 + :visible.sync="outerVisible"
6 + :show-close="false"
7 + width="40%"
8 + :close-on-click-modal="false"
9 + v-loading="loadings.dialogLoading"
10 + @close="close(false)"
11 + >
12 + <div class="modelItem">
13 + <el-form
14 + class="fedexFormStyle"
15 + ref="formData"
16 + :model="formData"
17 + :rules="type == 'roleChange' ? {} : rules"
18 + label-position="top"
19 + :disabled="type == 'roleChange'"
20 + size="small"
21 + >
22 + <el-row :gutter="5">
23 + <!-- 用户ID -->
24 + <el-col :span="12">
25 + <Formitem label="用户ID" prop="userId" type="edit">
26 + <el-input
27 + type="text"
28 + class="inputShadow"
29 + id="inputInner-edit-userId"
30 + resize="none"
31 + v-model="formData.userId"
32 + clearable
33 + placeholder=""
34 + ></el-input>
35 + </Formitem>
36 + </el-col>
37 + <!-- key -->
38 + <el-col :span="12">
39 + <Formitem label="KEY" prop="key" type="edit">
40 + <el-input
41 + type="text"
42 + class="inputShadow"
43 + id="inputInner-edit-key"
44 + resize="none"
45 + v-model="formData.key"
46 + clearable
47 + placeholder=""
48 + ></el-input>
49 + </Formitem>
50 + </el-col>
51 + <!-- 说明 -->
52 + <el-col :span="24">
53 + <Formitem label="说明" prop="description" type="edit">
54 + <el-input
55 + type="text"
56 + class="inputShadow"
57 + id="inputInner-edit-description"
58 + resize="none"
59 + v-model="formData.description"
60 + clearable
61 + placeholder=""
62 + ></el-input>
63 + </Formitem>
64 + </el-col>
65 + </el-row>
66 + </el-form>
67 + </div>
68 + <div class="dialogOption entrySave">
69 + <el-button
70 + class="entrySaveButton"
71 + :disabled="loadings.submitLoading"
72 + @click="submit"
73 + >确 定</el-button
74 + >
75 + <el-button
76 + class="entrySaveButton"
77 + :disabled="loadings.uploadLoading"
78 + @click="close(false)"
79 + >关 闭</el-button
80 + >
81 + </div>
82 + </el-dialog>
83 +</template>
84 +
85 +<script>
86 +import { generateKey, updateKeyInfo } from "@/api/api-key.js";
87 +export default {
88 + props: {
89 + outerVisible: {
90 + type: Boolean,
91 + default: false,
92 + },
93 + title: {
94 + type: String,
95 + default: "新增密码机",
96 + },
97 + type: {
98 + type: String,
99 + default: "",
100 + },
101 + active: {
102 + type: Object,
103 + default: null,
104 + },
105 + },
106 + data() {
107 + return {
108 + formData: {
109 + description: "",
110 + userId: "",
111 + key: "",
112 + id: undefined,
113 + },
114 + rules: {
115 + key: [
116 + {
117 + required: false,
118 + trigger: "blur",
119 + message: "用户ID不能为空!",
120 + },
121 + ],
122 + userId: [
123 + {
124 + required: true,
125 + trigger: "blur",
126 + message: "KEY不能为空!",
127 + },
128 + ],
129 + },
130 + loadings: {
131 + dialogLoading: false,
132 + uploadLoading: false,
133 + submitLoading: false,
134 + },
135 + loadingText: "",
136 + };
137 + },
138 + watch: {
139 + outerVisible(val) {
140 + if (val) {
141 + this.loadings.dialogLoading = false;
142 + if (this.type == "update") {
143 + this.formData = JSON.parse(JSON.stringify(this.active));
144 + }
145 + }
146 + },
147 + },
148 + methods: {
149 + //数据保存
150 + submit() {
151 + this.loadings.dialogLoading = true;
152 + let obj = {};
153 + if (this.type == "add") {
154 + this.$refs.formData.validate((valid) => {
155 + if (valid) {
156 + obj = this.formData;
157 + this.addApi(obj);
158 + } else {
159 + this.loadings.dialogLoading = false;
160 + }
161 + });
162 + } else if (this.type == "update") {
163 + this.$refs.formData.validate((valid) => {
164 + if (valid) {
165 + obj.description = this.formData.description;
166 + obj.userId = this.formData.userId;
167 + obj.key = this.formData.key;
168 + obj.id = this.formData.id;
169 + this.updateapi(obj);
170 + } else {
171 + this.loadings.dialogLoading = false;
172 + }
173 + });
174 + }
175 + },
176 + //新增
177 + addApi(val) {
178 + const { description = "", userId = "", key = "" } = val;
179 + const params = new URLSearchParams();
180 + params.append("description", description);
181 + params.append("userId", userId);
182 + params.append("key", key);
183 +
184 + generateKey(params)
185 + .then((res) => {
186 + if (res.code === "200") {
187 + this.msgSuccess(res.message);
188 + this.close(true);
189 + } else {
190 + this.alertWarningMsg(res.message);
191 + this.loadings.dialogLoading = false;
192 + }
193 + })
194 + .catch((err) => {
195 + console.log(err);
196 + this.loadings.dialogLoading = false;
197 + });
198 + },
199 + //修改
200 + updateapi(val) {
201 + updateKeyInfo(val)
202 + .then((res) => {
203 + if (res.code === "200") {
204 + this.msgSuccess(res.message);
205 + this.close(true);
206 + } else {
207 + this.alertWarningMsg(res.message);
208 + this.loadings.dialogLoading = false;
209 + }
210 + })
211 + .catch((err) => {
212 + console.log(err);
213 + this.loadings.dialogLoading = false;
214 + });
215 + },
216 + close(flag) {
217 + this.formData = {
218 + description: "",
219 + userId: "",
220 + key: "",
221 + };
222 + this.$emit("close", flag);
223 + },
224 + },
225 +};
226 +</script>
227 +
228 +<style lang="scss" scoped>
229 +@import "@/assets/styles/variables.scss";
230 +</style>
1 +<template>
2 + <div class="entrySreach">
3 + <el-form
4 + class="fedexFormStyle fedexformSreach fedexformSreachBottomBorder"
5 + ref="sreachForm"
6 + :model="sreachFormData"
7 + label-position="top"
8 + size="small"
9 + >
10 + <el-row class="row-border">
11 + <!-- 角色名称 -->
12 + <el-col :span="5">
13 + <Formitem label="用户ID" prop="userId">
14 + <el-input
15 + type="text"
16 + class="inputShadow"
17 + id="inputInner--userId"
18 + resize="none"
19 + v-model="sreachFormData.userId"
20 + clearable
21 + placeholder=""
22 + ></el-input>
23 + </Formitem>
24 + </el-col>
25 +
26 + <el-col :span="2">
27 + <el-form-item class="textCenter">
28 + <el-button
29 + class="entrySreachButton"
30 + type="text"
31 + icon="el-icon-search"
32 + :loading="loadings.searchLoading"
33 + @click="search(0)"
34 + ></el-button>
35 + </el-form-item>
36 + </el-col>
37 + <el-col :span="2">
38 + <!-- 清空查询条件-->
39 + <el-form-item class="textLeft textCenter">
40 + <el-button
41 + type="text"
42 + size="small"
43 + icon="el-icon-refresh"
44 + @click="clear"
45 + >
46 + 重置
47 + </el-button>
48 + </el-form-item>
49 + </el-col>
50 + </el-row>
51 + </el-form>
52 + <div class="optionButton">
53 + <el-button
54 + class="entrySaveButton"
55 + icon="el-icon-plus"
56 + size="small"
57 + @click="addcipherMachine"
58 + >
59 + 新 增
60 + </el-button>
61 + </div>
62 + <Table
63 + class="fedexDetialTable fedexSreachTable"
64 + ref="entryTable"
65 + :data="tableData"
66 + :headerData="headerData"
67 + :maxHeight="tableMaxheight"
68 + :border="true"
69 + :pagination="true"
70 + :order="true"
71 + noLabel="序号"
72 + :loading="loadings.searchLoading"
73 + :page="page.pageIndex"
74 + :totalCount="page.total"
75 + @sizeChange="sizeChange"
76 + @currentChange="currentChange"
77 + :selection="false"
78 + :selectFixed="false"
79 + :rowSelectDataType="false"
80 + >
81 + <template v-slot:key="scope">
82 + <template v-if="!scope.row.show">
83 + {{ scope.row.key.replace(/(?<=.{4}).(?=.{4})/g, "*") }}
84 + <span style="margin-left: 8px; cursor: pointer"" @click="scope.row.show = true">
85 + <svg-icon
86 + class="el-icon-user-solid"
87 + icon-class="eye-open"
88 + ></svg-icon
89 + ></span>
90 + </template>
91 + <template v-else
92 + >{{ scope.row.noKey }}
93 + <span
94 + style="margin-left: 8px; cursor: pointer"
95 + @click="scope.row.show = false"
96 + >
97 + <svg-icon class="el-icon-user-solid" icon-class="eye"></svg-icon
98 + ></span>
99 + </template>
100 + </template>
101 + <template slot="optionColumn">
102 + <el-table-column align="left" label="操作" width="100">
103 + <template slot-scope="scope">
104 + <el-button type="text" @click="update(scope.row)"> 修改 </el-button>
105 + <el-button type="text" @click="deleteRow(scope.row)">
106 + 删除
107 + </el-button>
108 + </template>
109 + </el-table-column>
110 + </template>
111 + </Table>
112 + <DialogVue
113 + :outerVisible="outerVisible"
114 + :title="dialogTitle"
115 + :type="editType"
116 + :active="activeData"
117 + @close="dialogClose"
118 + />
119 + </div>
120 +</template>
121 +
122 +<script>
123 +import { queryKeyList, deleteKey } from "@/api/api-key.js";
124 +import DialogVue from "./dialog.vue";
125 +export default {
126 + name: "ApiKey",
127 + components: {
128 + DialogVue,
129 + },
130 + data() {
131 + return {
132 + sreachFormData: {
133 + userId: "",
134 + },
135 + page: {
136 + pageIndex: 1,
137 + pageSize: 20,
138 + total: 0,
139 + },
140 + activeData: null,
141 + tableData: [], // 用户ID KEY 说明 操作(新增、删除、修改) key 控制显示,点击眼睛可查看全部
142 + headerData: [
143 + {
144 + name: "用户ID",
145 + value: "userId",
146 + width: "",
147 + align: "left",
148 + },
149 + {
150 + name: "KEY",
151 + value: "key",
152 + width: "",
153 + align: "left",
154 + slot: true,
155 + },
156 + {
157 + name: "说明",
158 + value: "description",
159 + width: "",
160 + align: "left",
161 + },
162 + ],
163 + loadings: {
164 + searchLoading: false,
165 + },
166 + tableMaxheight: null,
167 + outerVisible: false,
168 + dialogTitle: "",
169 + editType: "",
170 + };
171 + },
172 + created() {
173 + this.search(0);
174 + },
175 + mounted() {
176 + this.tableMaxheight = window.innerHeight - 300;
177 + },
178 + methods: {
179 + //查询
180 +
181 + search(val) {
182 + this.loadings.searchLoading = true;
183 + if (val == 0) {
184 + this.page.pageIndex = 1;
185 + }
186 + let obj = this.sreachFormData;
187 + obj.pageIndex = this.page.pageIndex;
188 + obj.pageSize = this.page.pageSize;
189 +
190 + queryKeyList(obj)
191 + .then((res) => {
192 + if (res.code === "200") {
193 + this.page.total = res.data.totalItems;
194 + this.tableData = res.data.value.map((item, index) => {
195 + item.index = index;
196 + item.noKey = item.key;
197 + item.show = false;
198 + return item;
199 + });
200 + } else {
201 + this.alertWarningMsg(res.message);
202 + }
203 + this.loadings.searchLoading = false;
204 + })
205 + .catch((err) => {
206 + console.log(err);
207 + this.loadings.searchLoading = false;
208 + });
209 + },
210 + addcipherMachine() {
211 + this.dialogTitle = "新增";
212 + this.editType = "add";
213 + this.outerVisible = true;
214 + },
215 + update(val) {
216 + this.dialogTitle = "修改";
217 + this.editType = "update";
218 + this.outerVisible = true;
219 + this.activeData = val;
220 + },
221 + deleteRow(row) {
222 +
223 + this.$confirm("是否确认删除?", "提示", {
224 + confirmButtonText: "确定",
225 + cancelButtonText: "取消",
226 + type: "warning",
227 + })
228 + .then(() => {
229 + deleteKey(row.id).then((res) => {
230 + if (+res.code === 200) {
231 + this.alertSuccessMsg(res.message);
232 + this.search(0);
233 + } else {
234 + this.alertWarningMsg(res.message);
235 + }
236 + });
237 + })
238 + .catch((e) => {
239 + console.log(e);
240 + });
241 + },
242 + dialogClose(flag = false) {
243 + this.outerVisible = false;
244 + this.activeData = null;
245 + if (flag) {
246 + this.search(0);
247 + }
248 + },
249 + //分页
250 + currentChange(val) {
251 + this.page.pageIndex = val.page;
252 + this.search(1);
253 + },
254 + sizeChange(val) {
255 + this.page.pageSize = val;
256 + this.search(1);
257 + },
258 + input() {
259 + this.$forceUpdate();
260 + },
261 + dateChange(val) {
262 + if (val == "" || val == null) {
263 + this.$nextTick(() => {
264 + this.sreachFormData.creationTime = [];
265 + });
266 + }
267 + },
268 + clear() {
269 + this.sreachFormData = {
270 + userId: "",
271 + };
272 + },
273 + },
274 +};
275 +</script>
276 +
277 +<style scoped lang="scss">
278 +@import "@/assets/styles/variables.scss";
279 +.entrySreach {
280 + height: 100%;
281 + background-color: $menuLightBg;
282 +
283 + .entrySreachButton {
284 + display: inline-block;
285 + font-size: 20px;
286 + color: $fedexButton !important;
287 + }
288 +
289 + .optionButton {
290 + padding: 10px;
291 + text-align: left;
292 +
293 + .el-button {
294 + color: $fedexButton;
295 + border-color: $fedexButton !important;
296 +
297 + svg {
298 + display: inline-block;
299 + margin-right: 5px;
300 + fill: $fedexButton;
301 + }
302 + }
303 +
304 + .entrySaveButton:hover,
305 + .entrySaveButton:focus {
306 + color: $menuLightBg !important;
307 + background-color: $fedexButton !important;
308 + }
309 + }
310 +}
311 +
312 +.texttareaTip {
313 + position: absolute;
314 + top: 52%;
315 + right: 20px;
316 + transform: translate(0, -50%);
317 + z-index: 10;
318 +}
319 +</style>
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.
This diff is collapsed. Click to expand it.