vue2-client 1.4.34 → 1.4.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +430 -426
- package/index.js +30 -30
- package/package.json +78 -78
- package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +225 -225
- package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +777 -777
- package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +165 -165
- package/src/base-client/components/common/JSONToTree/jsontotree.vue +275 -275
- package/src/base-client/components/common/XAddForm/XAddForm.vue +354 -354
- package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +327 -327
- package/src/base-client/components/common/XCard/XCard.vue +64 -64
- package/src/base-client/components/common/XForm/XForm.vue +274 -274
- package/src/base-client/components/common/XFormTable/XFormTable.vue +2 -2
- package/src/base-client/components/common/XFormTable/index.md +96 -96
- package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
- package/src/base-client/components/ticket/TicketDetailsView/TicketDetailsView.vue +807 -807
- package/src/base-client/components/ticket/TicketDetailsView/index.md +29 -29
- package/src/base-client/components/ticket/TicketDetailsView/part/TicketDetailsFlow.vue +260 -260
- package/src/base-client/components/ticket/TicketSubmitSuccessView/TicketSubmitSuccessView.vue +532 -532
- package/src/base-client/components/ticket/TicketSubmitSuccessView/index.md +29 -29
- package/src/base-client/plugins/AppData.js +73 -73
- package/src/base-client/plugins/GetLoginInfoService.js +179 -179
- package/src/base-client/plugins/PagedList.js +177 -177
- package/src/base-client/plugins/compatible/LoginServiceOA.js +20 -20
- package/src/base-client/plugins/i18n-extend.js +32 -32
- package/src/components/Ellipsis/index.md +38 -38
- package/src/components/NumberInfo/index.md +43 -43
- package/src/components/STable/README.md +341 -341
- package/src/components/STable/index.js +318 -318
- package/src/components/Trend/index.md +45 -45
- package/src/components/checkbox/ColorCheckbox.vue +157 -157
- package/src/components/checkbox/ImgCheckbox.vue +163 -163
- package/src/components/form/FormRow.vue +52 -52
- package/src/components/index.js +36 -36
- package/src/components/menu/SideMenu.vue +62 -62
- package/src/components/menu/menu.js +273 -273
- package/src/components/page/header/index.less +40 -40
- package/src/components/setting/Setting.vue +235 -235
- package/src/components/table/StandardTable.vue +141 -141
- package/src/components/table/advance/ActionColumns.vue +158 -158
- package/src/components/table/advance/SearchArea.vue +355 -355
- package/src/components/tool/AStepItem.vue +60 -60
- package/src/components/tool/AvatarList.vue +68 -68
- package/src/components/tool/Drawer.vue +142 -142
- package/src/components/tool/TagSelect.vue +83 -83
- package/src/components/transition/PageToggleTransition.vue +97 -97
- package/src/config/replacer/resolve.config.js +67 -67
- package/src/layouts/AdminLayout.vue +174 -174
- package/src/layouts/PageLayout.vue +151 -151
- package/src/layouts/SinglePageView.vue +105 -105
- package/src/layouts/header/AdminHeader.vue +104 -104
- package/src/layouts/header/HeaderNotice.vue +167 -167
- package/src/layouts/header/HeaderSearch.vue +67 -67
- package/src/layouts/header/InstitutionDetail.vue +181 -181
- package/src/layouts/header/index.less +92 -92
- package/src/layouts/tabs/TabsHead.vue +190 -190
- package/src/layouts/tabs/TabsView.vue +379 -379
- package/src/mock/goods/index.js +108 -108
- package/src/pages/CreateQueryPage.vue +65 -65
- package/src/pages/login/Login.vue +345 -345
- package/src/pages/report/ReportTable.js +124 -124
- package/src/pages/report/ReportTableHome.vue +28 -28
- package/src/pages/resourceManage/orgListManage.vue +98 -98
- package/src/pages/system/dictionary/index.vue +43 -43
- package/src/pages/system/file/index.vue +317 -317
- package/src/pages/system/monitor/loginInfor/index.vue +36 -36
- package/src/pages/system/monitor/operLog/index.vue +36 -36
- package/src/pages/system/queryParams/index.vue +43 -43
- package/src/router/async/config.async.js +27 -27
- package/src/router/async/router.map.js +65 -65
- package/src/router/index.js +27 -27
- package/src/services/api/DictionaryDetailsViewApi.js +6 -6
- package/src/services/api/LogDetailsViewApi.js +10 -10
- package/src/services/api/QueryParamsDetailsViewApi.js +6 -6
- package/src/services/api/TicketDetailsViewApi.js +34 -34
- package/src/services/api/cas.js +83 -83
- package/src/services/api/commonTempTable.js +10 -10
- package/src/services/api/index.js +17 -17
- package/src/services/api/manage.js +8 -8
- package/src/services/apiService.js +13 -13
- package/src/services/user.js +53 -53
- package/src/store/modules/index.js +4 -4
- package/src/theme/default/nprogress.less +76 -76
- package/src/theme/default/style.less +47 -47
- package/src/utils/colors.js +103 -103
- package/src/utils/excel/Blob.js +180 -180
- package/src/utils/excel/Export2Excel.js +141 -141
- package/src/utils/formatter.js +68 -68
- package/src/utils/i18n.js +80 -80
- package/src/utils/routerUtil.js +364 -364
- package/src/utils/theme-color-replacer-extend.js +91 -91
- package/src/utils/themeUtil.js +100 -100
- package/src/utils/util.js +230 -230
package/src/services/api/cas.js
CHANGED
|
@@ -1,83 +1,83 @@
|
|
|
1
|
-
import { post } from '@vue2-client/services/api/restTools'
|
|
2
|
-
import notification from 'ant-design-vue/lib/notification'
|
|
3
|
-
import { logout } from '@vue2-client/services/user'
|
|
4
|
-
import Cookie from 'js-cookie'
|
|
5
|
-
|
|
6
|
-
const casApi = {
|
|
7
|
-
// 根据用户信息校验服务访问权限并生成ST
|
|
8
|
-
createSTByUserInfo: '/api/af-sso/logic/createSTByUserInfo',
|
|
9
|
-
// 根据TGC生成ST
|
|
10
|
-
createSTByTGC: '/api/af-sso/logic/createSTByTGC',
|
|
11
|
-
// 验证ST
|
|
12
|
-
serviceValidate: '/api/af-sso/logic/serviceValidate',
|
|
13
|
-
// 其他验证
|
|
14
|
-
otherValidate: '/api/af-sso/logic'
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
function setTGTCookie (cookie) {
|
|
18
|
-
return Cookie.set('TGT-Cookie', cookie)
|
|
19
|
-
}
|
|
20
|
-
function removeTGTCookie () {
|
|
21
|
-
return Cookie.remove('TGT-Cookie')
|
|
22
|
-
}
|
|
23
|
-
export function getTGTCookie () {
|
|
24
|
-
return Cookie.get('TGT-Cookie')
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export function CASLoginByAuth (serviceKey) {
|
|
28
|
-
return new Promise((resolve, reject) => {
|
|
29
|
-
post(casApi.createSTByUserInfo, {
|
|
30
|
-
serviceKey: serviceKey
|
|
31
|
-
}).then(res => {
|
|
32
|
-
setTGTCookie(res.tgc)
|
|
33
|
-
resolve(res)
|
|
34
|
-
}).catch(msg => {
|
|
35
|
-
reject(msg)
|
|
36
|
-
})
|
|
37
|
-
})
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export function CASLogin (serviceKey, inner) {
|
|
41
|
-
// 从第三方跳转登录
|
|
42
|
-
const tgc = getTGTCookie()
|
|
43
|
-
if (tgc) {
|
|
44
|
-
return new Promise((resolve, reject) => {
|
|
45
|
-
post(casApi.createSTByTGC, {
|
|
46
|
-
serviceKey: serviceKey,
|
|
47
|
-
tgc: tgc
|
|
48
|
-
}).then(res => {
|
|
49
|
-
resolve(res)
|
|
50
|
-
}).catch(msg => {
|
|
51
|
-
if (msg === '当前操作没有权限') {
|
|
52
|
-
removeTGTCookie()
|
|
53
|
-
notification.error({
|
|
54
|
-
message: '授权已过期,请重新登录',
|
|
55
|
-
description: '2秒后自动跳转回登陆页面'
|
|
56
|
-
})
|
|
57
|
-
logout().then(() => {
|
|
58
|
-
setTimeout(() => {
|
|
59
|
-
if (inner) {
|
|
60
|
-
window.location.href = '/login'
|
|
61
|
-
} else {
|
|
62
|
-
window.location.href = '/login?serviceKey=' + serviceKey
|
|
63
|
-
}
|
|
64
|
-
}, 1500)
|
|
65
|
-
})
|
|
66
|
-
} else {
|
|
67
|
-
reject(msg)
|
|
68
|
-
}
|
|
69
|
-
})
|
|
70
|
-
})
|
|
71
|
-
} else {
|
|
72
|
-
return CASLoginByAuth(serviceKey)
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
export function doOtherValidate (logicName, st, serviceKey) {
|
|
77
|
-
return post(casApi.otherValidate + '/' + logicName, {
|
|
78
|
-
st: st,
|
|
79
|
-
serviceKey: serviceKey
|
|
80
|
-
}, null)
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
export default casApi
|
|
1
|
+
import { post } from '@vue2-client/services/api/restTools'
|
|
2
|
+
import notification from 'ant-design-vue/lib/notification'
|
|
3
|
+
import { logout } from '@vue2-client/services/user'
|
|
4
|
+
import Cookie from 'js-cookie'
|
|
5
|
+
|
|
6
|
+
const casApi = {
|
|
7
|
+
// 根据用户信息校验服务访问权限并生成ST
|
|
8
|
+
createSTByUserInfo: '/api/af-sso/logic/createSTByUserInfo',
|
|
9
|
+
// 根据TGC生成ST
|
|
10
|
+
createSTByTGC: '/api/af-sso/logic/createSTByTGC',
|
|
11
|
+
// 验证ST
|
|
12
|
+
serviceValidate: '/api/af-sso/logic/serviceValidate',
|
|
13
|
+
// 其他验证
|
|
14
|
+
otherValidate: '/api/af-sso/logic'
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
function setTGTCookie (cookie) {
|
|
18
|
+
return Cookie.set('TGT-Cookie', cookie)
|
|
19
|
+
}
|
|
20
|
+
function removeTGTCookie () {
|
|
21
|
+
return Cookie.remove('TGT-Cookie')
|
|
22
|
+
}
|
|
23
|
+
export function getTGTCookie () {
|
|
24
|
+
return Cookie.get('TGT-Cookie')
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export function CASLoginByAuth (serviceKey) {
|
|
28
|
+
return new Promise((resolve, reject) => {
|
|
29
|
+
post(casApi.createSTByUserInfo, {
|
|
30
|
+
serviceKey: serviceKey
|
|
31
|
+
}).then(res => {
|
|
32
|
+
setTGTCookie(res.tgc)
|
|
33
|
+
resolve(res)
|
|
34
|
+
}).catch(msg => {
|
|
35
|
+
reject(msg)
|
|
36
|
+
})
|
|
37
|
+
})
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export function CASLogin (serviceKey, inner) {
|
|
41
|
+
// 从第三方跳转登录
|
|
42
|
+
const tgc = getTGTCookie()
|
|
43
|
+
if (tgc) {
|
|
44
|
+
return new Promise((resolve, reject) => {
|
|
45
|
+
post(casApi.createSTByTGC, {
|
|
46
|
+
serviceKey: serviceKey,
|
|
47
|
+
tgc: tgc
|
|
48
|
+
}).then(res => {
|
|
49
|
+
resolve(res)
|
|
50
|
+
}).catch(msg => {
|
|
51
|
+
if (msg === '当前操作没有权限') {
|
|
52
|
+
removeTGTCookie()
|
|
53
|
+
notification.error({
|
|
54
|
+
message: '授权已过期,请重新登录',
|
|
55
|
+
description: '2秒后自动跳转回登陆页面'
|
|
56
|
+
})
|
|
57
|
+
logout().then(() => {
|
|
58
|
+
setTimeout(() => {
|
|
59
|
+
if (inner) {
|
|
60
|
+
window.location.href = '/login'
|
|
61
|
+
} else {
|
|
62
|
+
window.location.href = '/login?serviceKey=' + serviceKey
|
|
63
|
+
}
|
|
64
|
+
}, 1500)
|
|
65
|
+
})
|
|
66
|
+
} else {
|
|
67
|
+
reject(msg)
|
|
68
|
+
}
|
|
69
|
+
})
|
|
70
|
+
})
|
|
71
|
+
} else {
|
|
72
|
+
return CASLoginByAuth(serviceKey)
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export function doOtherValidate (logicName, st, serviceKey) {
|
|
77
|
+
return post(casApi.otherValidate + '/' + logicName, {
|
|
78
|
+
st: st,
|
|
79
|
+
serviceKey: serviceKey
|
|
80
|
+
}, null)
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export default casApi
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
const CommonTempTable = {
|
|
2
|
-
// 初始化子表
|
|
3
|
-
initApplySubTable: '/api/af-system/logic/initApplySubTable',
|
|
4
|
-
// 创建临时表,根据配置文件动态生成
|
|
5
|
-
createTempTable: '/api/af-system/logic/createTempTable',
|
|
6
|
-
// 向临时表中插入数据
|
|
7
|
-
insertDataToTempTable: '/api/af-system/logic/insertDataToTempTable'
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export { CommonTempTable }
|
|
1
|
+
const CommonTempTable = {
|
|
2
|
+
// 初始化子表
|
|
3
|
+
initApplySubTable: '/api/af-system/logic/initApplySubTable',
|
|
4
|
+
// 创建临时表,根据配置文件动态生成
|
|
5
|
+
createTempTable: '/api/af-system/logic/createTempTable',
|
|
6
|
+
// 向临时表中插入数据
|
|
7
|
+
insertDataToTempTable: '/api/af-system/logic/insertDataToTempTable'
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export { CommonTempTable }
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
import { commonApi, getColumnsJson, query, addOrModify, remove } from '@vue2-client/services/api/common'
|
|
2
|
-
import { QueryParamsDetailsViewApi } from '@vue2-client/services/api/QueryParamsDetailsViewApi'
|
|
3
|
-
import { DictionaryDetailsViewApi } from '@vue2-client/services/api/DictionaryDetailsViewApi'
|
|
4
|
-
import { LogDetailsViewApi } from '@vue2-client/services/api/LogDetailsViewApi'
|
|
5
|
-
import { manageApi } from '@vue2-client/services/api/manage'
|
|
6
|
-
import { get, post } from '@vue2-client/services/api/restTools'
|
|
7
|
-
import { TicketDetailsViewApi } from '@vue2-client/services/api/TicketDetailsViewApi'
|
|
8
|
-
|
|
9
|
-
export {
|
|
10
|
-
commonApi, getColumnsJson, query, addOrModify, remove,
|
|
11
|
-
DictionaryDetailsViewApi,
|
|
12
|
-
LogDetailsViewApi,
|
|
13
|
-
manageApi,
|
|
14
|
-
QueryParamsDetailsViewApi,
|
|
15
|
-
get, post,
|
|
16
|
-
TicketDetailsViewApi
|
|
17
|
-
}
|
|
1
|
+
import { commonApi, getColumnsJson, query, addOrModify, remove } from '@vue2-client/services/api/common'
|
|
2
|
+
import { QueryParamsDetailsViewApi } from '@vue2-client/services/api/QueryParamsDetailsViewApi'
|
|
3
|
+
import { DictionaryDetailsViewApi } from '@vue2-client/services/api/DictionaryDetailsViewApi'
|
|
4
|
+
import { LogDetailsViewApi } from '@vue2-client/services/api/LogDetailsViewApi'
|
|
5
|
+
import { manageApi } from '@vue2-client/services/api/manage'
|
|
6
|
+
import { get, post } from '@vue2-client/services/api/restTools'
|
|
7
|
+
import { TicketDetailsViewApi } from '@vue2-client/services/api/TicketDetailsViewApi'
|
|
8
|
+
|
|
9
|
+
export {
|
|
10
|
+
commonApi, getColumnsJson, query, addOrModify, remove,
|
|
11
|
+
DictionaryDetailsViewApi,
|
|
12
|
+
LogDetailsViewApi,
|
|
13
|
+
manageApi,
|
|
14
|
+
QueryParamsDetailsViewApi,
|
|
15
|
+
get, post,
|
|
16
|
+
TicketDetailsViewApi
|
|
17
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
const manageApi = {
|
|
2
|
-
// 查询:获取字典键列表
|
|
3
|
-
getDictionaryValue: '/api/af-system/logic/getDictionaryValue',
|
|
4
|
-
// 查询:获取省市区街道三级分类
|
|
5
|
-
getDivisionsOhChina: '/api/af-system/logic/getDivisionsOhChina'
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
export { manageApi }
|
|
1
|
+
const manageApi = {
|
|
2
|
+
// 查询:获取字典键列表
|
|
3
|
+
getDictionaryValue: '/api/af-system/logic/getDictionaryValue',
|
|
4
|
+
// 查询:获取省市区街道三级分类
|
|
5
|
+
getDivisionsOhChina: '/api/af-system/logic/getDivisionsOhChina'
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export { manageApi }
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
// 跨域代理前缀
|
|
2
|
-
// const API_PROXY_PREFIX='/api'
|
|
3
|
-
// const BASE_URL = process.env.NODE_ENV === 'production' ? process.env.VUE_APP_API_BASE_URL : API_PROXY_PREFIX
|
|
4
|
-
|
|
5
|
-
module.exports = {
|
|
6
|
-
LOGIN: `/rs/logic/getLogin`,
|
|
7
|
-
V4_LOGIN: '/auth/login',
|
|
8
|
-
V4_LOGOUT: '/auth/logout',
|
|
9
|
-
ROUTES: `/rs/user/userLogin/智慧燃气`,
|
|
10
|
-
SEARCH: `/rs/search`,
|
|
11
|
-
GOODS: `/goods`,
|
|
12
|
-
GOODS_COLUMNS: `/columns`
|
|
13
|
-
}
|
|
1
|
+
// 跨域代理前缀
|
|
2
|
+
// const API_PROXY_PREFIX='/api'
|
|
3
|
+
// const BASE_URL = process.env.NODE_ENV === 'production' ? process.env.VUE_APP_API_BASE_URL : API_PROXY_PREFIX
|
|
4
|
+
|
|
5
|
+
module.exports = {
|
|
6
|
+
LOGIN: `/rs/logic/getLogin`,
|
|
7
|
+
V4_LOGIN: '/auth/login',
|
|
8
|
+
V4_LOGOUT: '/auth/logout',
|
|
9
|
+
ROUTES: `/rs/user/userLogin/智慧燃气`,
|
|
10
|
+
SEARCH: `/rs/search`,
|
|
11
|
+
GOODS: `/goods`,
|
|
12
|
+
GOODS_COLUMNS: `/columns`
|
|
13
|
+
}
|
package/src/services/user.js
CHANGED
|
@@ -1,53 +1,53 @@
|
|
|
1
|
-
import { LOGIN, ROUTES, V4_GET_INFO, V4_LOGIN, V4_LOGOUT } from '@vue2-client/services/apiService'
|
|
2
|
-
import { request, METHOD, removeAuthorization } from '@vue2-client/utils/request'
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* 登录服务
|
|
6
|
-
* @param name 账户名
|
|
7
|
-
* @param password 账户密码
|
|
8
|
-
* @returns {Promise<AxiosResponse<T>>}
|
|
9
|
-
*/
|
|
10
|
-
export async function login (name, password) {
|
|
11
|
-
return request(LOGIN, METHOD.POST, {
|
|
12
|
-
name: name,
|
|
13
|
-
password: password
|
|
14
|
-
})
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export async function V4Login (name, password) {
|
|
18
|
-
return request(V4_LOGIN, METHOD.POST, {
|
|
19
|
-
username: name,
|
|
20
|
-
password: password
|
|
21
|
-
})
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export async function V4GetInfo () {
|
|
25
|
-
return request(V4_GET_INFO, METHOD.POST, {})
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export async function getRoutesConfig (value) {
|
|
29
|
-
return request(ROUTES, METHOD.POST, value)
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
/**
|
|
33
|
-
* 退出登录
|
|
34
|
-
*/
|
|
35
|
-
export function logout () {
|
|
36
|
-
return new Promise((resolve, reject) => {
|
|
37
|
-
request(V4_LOGOUT, METHOD.DELETE, {}).then(() => {
|
|
38
|
-
resolve()
|
|
39
|
-
}).catch(error => {
|
|
40
|
-
reject(error)
|
|
41
|
-
}).finally(() => {
|
|
42
|
-
localStorage.removeItem(process.env.VUE_APP_ROUTES_KEY)
|
|
43
|
-
localStorage.removeItem(process.env.VUE_APP_PERMISSIONS_KEY)
|
|
44
|
-
localStorage.removeItem(process.env.VUE_APP_ROLES_KEY)
|
|
45
|
-
removeAuthorization()
|
|
46
|
-
})
|
|
47
|
-
})
|
|
48
|
-
}
|
|
49
|
-
export default {
|
|
50
|
-
login,
|
|
51
|
-
logout,
|
|
52
|
-
getRoutesConfig
|
|
53
|
-
}
|
|
1
|
+
import { LOGIN, ROUTES, V4_GET_INFO, V4_LOGIN, V4_LOGOUT } from '@vue2-client/services/apiService'
|
|
2
|
+
import { request, METHOD, removeAuthorization } from '@vue2-client/utils/request'
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* 登录服务
|
|
6
|
+
* @param name 账户名
|
|
7
|
+
* @param password 账户密码
|
|
8
|
+
* @returns {Promise<AxiosResponse<T>>}
|
|
9
|
+
*/
|
|
10
|
+
export async function login (name, password) {
|
|
11
|
+
return request(LOGIN, METHOD.POST, {
|
|
12
|
+
name: name,
|
|
13
|
+
password: password
|
|
14
|
+
})
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export async function V4Login (name, password) {
|
|
18
|
+
return request(V4_LOGIN, METHOD.POST, {
|
|
19
|
+
username: name,
|
|
20
|
+
password: password
|
|
21
|
+
})
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export async function V4GetInfo () {
|
|
25
|
+
return request(V4_GET_INFO, METHOD.POST, {})
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export async function getRoutesConfig (value) {
|
|
29
|
+
return request(ROUTES, METHOD.POST, value)
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* 退出登录
|
|
34
|
+
*/
|
|
35
|
+
export function logout () {
|
|
36
|
+
return new Promise((resolve, reject) => {
|
|
37
|
+
request(V4_LOGOUT, METHOD.DELETE, {}).then(() => {
|
|
38
|
+
resolve()
|
|
39
|
+
}).catch(error => {
|
|
40
|
+
reject(error)
|
|
41
|
+
}).finally(() => {
|
|
42
|
+
localStorage.removeItem(process.env.VUE_APP_ROUTES_KEY)
|
|
43
|
+
localStorage.removeItem(process.env.VUE_APP_PERMISSIONS_KEY)
|
|
44
|
+
localStorage.removeItem(process.env.VUE_APP_ROLES_KEY)
|
|
45
|
+
removeAuthorization()
|
|
46
|
+
})
|
|
47
|
+
})
|
|
48
|
+
}
|
|
49
|
+
export default {
|
|
50
|
+
login,
|
|
51
|
+
logout,
|
|
52
|
+
getRoutesConfig
|
|
53
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import account from './account'
|
|
2
|
-
import setting from './setting'
|
|
3
|
-
|
|
4
|
-
export default { account, setting }
|
|
1
|
+
import account from './account'
|
|
2
|
+
import setting from './setting'
|
|
3
|
+
|
|
4
|
+
export default { account, setting }
|
|
@@ -1,76 +1,76 @@
|
|
|
1
|
-
@import '~ant-design-vue/lib/style/themes/default';
|
|
2
|
-
|
|
3
|
-
/* Make clicks pass-through */
|
|
4
|
-
#nprogress {
|
|
5
|
-
pointer-events: none;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
#nprogress .bar {
|
|
9
|
-
background: @primary-color;
|
|
10
|
-
|
|
11
|
-
position: fixed;
|
|
12
|
-
z-index: 1031;
|
|
13
|
-
top: 0;
|
|
14
|
-
left: 0;
|
|
15
|
-
|
|
16
|
-
width: 100%;
|
|
17
|
-
height: 2px;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/* Fancy blur effect */
|
|
21
|
-
#nprogress .peg {
|
|
22
|
-
display: block;
|
|
23
|
-
position: absolute;
|
|
24
|
-
right: 0;
|
|
25
|
-
width: 100px;
|
|
26
|
-
height: 100%;
|
|
27
|
-
box-shadow: 0 0 10px @primary-color, 0 0 5px @primary-color;
|
|
28
|
-
opacity: 1.0;
|
|
29
|
-
|
|
30
|
-
-webkit-transform: rotate(3deg) translate(0px, -4px);
|
|
31
|
-
-ms-transform: rotate(3deg) translate(0px, -4px);
|
|
32
|
-
transform: rotate(3deg) translate(0px, -4px);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/* Remove these to get rid of the spinner */
|
|
36
|
-
#nprogress .spinner {
|
|
37
|
-
display: block;
|
|
38
|
-
position: fixed;
|
|
39
|
-
z-index: 1031;
|
|
40
|
-
top: 15px;
|
|
41
|
-
right: 15px;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
#nprogress .spinner-icon {
|
|
45
|
-
width: 18px;
|
|
46
|
-
height: 18px;
|
|
47
|
-
box-sizing: border-box;
|
|
48
|
-
|
|
49
|
-
border: solid 2px transparent;
|
|
50
|
-
border-top-color: @primary-color;
|
|
51
|
-
border-left-color: @primary-color;
|
|
52
|
-
border-radius: 50%;
|
|
53
|
-
|
|
54
|
-
-webkit-animation: nprogress-spinner 400ms linear infinite;
|
|
55
|
-
animation: nprogress-spinner 400ms linear infinite;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
.nprogress-custom-parent {
|
|
59
|
-
overflow: hidden;
|
|
60
|
-
position: relative;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
.nprogress-custom-parent #nprogress .spinner,
|
|
64
|
-
.nprogress-custom-parent #nprogress .bar {
|
|
65
|
-
position: absolute;
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
@-webkit-keyframes nprogress-spinner {
|
|
69
|
-
0% { -webkit-transform: rotate(0deg); }
|
|
70
|
-
100% { -webkit-transform: rotate(360deg); }
|
|
71
|
-
}
|
|
72
|
-
@keyframes nprogress-spinner {
|
|
73
|
-
0% { transform: rotate(0deg); }
|
|
74
|
-
100% { transform: rotate(360deg); }
|
|
75
|
-
}
|
|
76
|
-
|
|
1
|
+
@import '~ant-design-vue/lib/style/themes/default';
|
|
2
|
+
|
|
3
|
+
/* Make clicks pass-through */
|
|
4
|
+
#nprogress {
|
|
5
|
+
pointer-events: none;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
#nprogress .bar {
|
|
9
|
+
background: @primary-color;
|
|
10
|
+
|
|
11
|
+
position: fixed;
|
|
12
|
+
z-index: 1031;
|
|
13
|
+
top: 0;
|
|
14
|
+
left: 0;
|
|
15
|
+
|
|
16
|
+
width: 100%;
|
|
17
|
+
height: 2px;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/* Fancy blur effect */
|
|
21
|
+
#nprogress .peg {
|
|
22
|
+
display: block;
|
|
23
|
+
position: absolute;
|
|
24
|
+
right: 0;
|
|
25
|
+
width: 100px;
|
|
26
|
+
height: 100%;
|
|
27
|
+
box-shadow: 0 0 10px @primary-color, 0 0 5px @primary-color;
|
|
28
|
+
opacity: 1.0;
|
|
29
|
+
|
|
30
|
+
-webkit-transform: rotate(3deg) translate(0px, -4px);
|
|
31
|
+
-ms-transform: rotate(3deg) translate(0px, -4px);
|
|
32
|
+
transform: rotate(3deg) translate(0px, -4px);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/* Remove these to get rid of the spinner */
|
|
36
|
+
#nprogress .spinner {
|
|
37
|
+
display: block;
|
|
38
|
+
position: fixed;
|
|
39
|
+
z-index: 1031;
|
|
40
|
+
top: 15px;
|
|
41
|
+
right: 15px;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
#nprogress .spinner-icon {
|
|
45
|
+
width: 18px;
|
|
46
|
+
height: 18px;
|
|
47
|
+
box-sizing: border-box;
|
|
48
|
+
|
|
49
|
+
border: solid 2px transparent;
|
|
50
|
+
border-top-color: @primary-color;
|
|
51
|
+
border-left-color: @primary-color;
|
|
52
|
+
border-radius: 50%;
|
|
53
|
+
|
|
54
|
+
-webkit-animation: nprogress-spinner 400ms linear infinite;
|
|
55
|
+
animation: nprogress-spinner 400ms linear infinite;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.nprogress-custom-parent {
|
|
59
|
+
overflow: hidden;
|
|
60
|
+
position: relative;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.nprogress-custom-parent #nprogress .spinner,
|
|
64
|
+
.nprogress-custom-parent #nprogress .bar {
|
|
65
|
+
position: absolute;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
@-webkit-keyframes nprogress-spinner {
|
|
69
|
+
0% { -webkit-transform: rotate(0deg); }
|
|
70
|
+
100% { -webkit-transform: rotate(360deg); }
|
|
71
|
+
}
|
|
72
|
+
@keyframes nprogress-spinner {
|
|
73
|
+
0% { transform: rotate(0deg); }
|
|
74
|
+
100% { transform: rotate(360deg); }
|
|
75
|
+
}
|
|
76
|
+
|
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
.week-mode{
|
|
2
|
-
overflow: hidden;
|
|
3
|
-
filter: invert(80%);
|
|
4
|
-
}
|
|
5
|
-
.beauty-scroll{
|
|
6
|
-
scrollbar-color: @primary-color @primary-2;
|
|
7
|
-
scrollbar-width: thin;
|
|
8
|
-
-ms-overflow-style:none;
|
|
9
|
-
position: relative;
|
|
10
|
-
&::-webkit-scrollbar{
|
|
11
|
-
width: 3px;
|
|
12
|
-
height: 1px;
|
|
13
|
-
}
|
|
14
|
-
&::-webkit-scrollbar-thumb {
|
|
15
|
-
border-radius: 3px;
|
|
16
|
-
background: @primary-color;
|
|
17
|
-
}
|
|
18
|
-
&::-webkit-scrollbar-track {
|
|
19
|
-
-webkit-box-shadow: inset 0 0 1px rgba(0,0,0,0);
|
|
20
|
-
border-radius: 3px;
|
|
21
|
-
background: @primary-3;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
.split-right{
|
|
25
|
-
&:not(:last-child) {
|
|
26
|
-
border-right: 1px solid rgba(98, 98, 98, 0.2);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
.disabled{
|
|
30
|
-
cursor: not-allowed;
|
|
31
|
-
color: @disabled-color;
|
|
32
|
-
pointer-events: none;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
::-webkit-scrollbar{
|
|
36
|
-
width: 5px;
|
|
37
|
-
height: 5px;
|
|
38
|
-
}
|
|
39
|
-
::-webkit-scrollbar-thumb {
|
|
40
|
-
border-radius: 3px;
|
|
41
|
-
background: @primary-3;
|
|
42
|
-
}
|
|
43
|
-
::-webkit-scrollbar-track {
|
|
44
|
-
-webkit-box-shadow: inset 0 0 1px rgba(0,0,0,0);
|
|
45
|
-
border-radius: 3px;
|
|
46
|
-
background: @primary-1;
|
|
47
|
-
}
|
|
1
|
+
.week-mode{
|
|
2
|
+
overflow: hidden;
|
|
3
|
+
filter: invert(80%);
|
|
4
|
+
}
|
|
5
|
+
.beauty-scroll{
|
|
6
|
+
scrollbar-color: @primary-color @primary-2;
|
|
7
|
+
scrollbar-width: thin;
|
|
8
|
+
-ms-overflow-style:none;
|
|
9
|
+
position: relative;
|
|
10
|
+
&::-webkit-scrollbar{
|
|
11
|
+
width: 3px;
|
|
12
|
+
height: 1px;
|
|
13
|
+
}
|
|
14
|
+
&::-webkit-scrollbar-thumb {
|
|
15
|
+
border-radius: 3px;
|
|
16
|
+
background: @primary-color;
|
|
17
|
+
}
|
|
18
|
+
&::-webkit-scrollbar-track {
|
|
19
|
+
-webkit-box-shadow: inset 0 0 1px rgba(0,0,0,0);
|
|
20
|
+
border-radius: 3px;
|
|
21
|
+
background: @primary-3;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
.split-right{
|
|
25
|
+
&:not(:last-child) {
|
|
26
|
+
border-right: 1px solid rgba(98, 98, 98, 0.2);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
.disabled{
|
|
30
|
+
cursor: not-allowed;
|
|
31
|
+
color: @disabled-color;
|
|
32
|
+
pointer-events: none;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
::-webkit-scrollbar{
|
|
36
|
+
width: 5px;
|
|
37
|
+
height: 5px;
|
|
38
|
+
}
|
|
39
|
+
::-webkit-scrollbar-thumb {
|
|
40
|
+
border-radius: 3px;
|
|
41
|
+
background: @primary-3;
|
|
42
|
+
}
|
|
43
|
+
::-webkit-scrollbar-track {
|
|
44
|
+
-webkit-box-shadow: inset 0 0 1px rgba(0,0,0,0);
|
|
45
|
+
border-radius: 3px;
|
|
46
|
+
background: @primary-1;
|
|
47
|
+
}
|