Compare commits
No commits in common. "develop-20231222" and "main" have entirely different histories.
develop-20
...
main
14
.eslintrc.js
@ -53,7 +53,7 @@ module.exports = {
|
|||||||
'after': true
|
'after': true
|
||||||
}],
|
}],
|
||||||
'handle-callback-err': [2, '^(err|error)$'],
|
'handle-callback-err': [2, '^(err|error)$'],
|
||||||
'indent': ['off', 2, 2, {
|
'indent': [2, 2, {
|
||||||
'SwitchCase': 1
|
'SwitchCase': 1
|
||||||
}],
|
}],
|
||||||
'jsx-quotes': [2, 'prefer-single'],
|
'jsx-quotes': [2, 'prefer-single'],
|
||||||
@ -193,16 +193,6 @@ module.exports = {
|
|||||||
'object-curly-spacing': [2, 'always', {
|
'object-curly-spacing': [2, 'always', {
|
||||||
objectsInObjects: false
|
objectsInObjects: false
|
||||||
}],
|
}],
|
||||||
'array-bracket-spacing': [2, 'never'],
|
'array-bracket-spacing': [2, 'never']
|
||||||
"vue/mustache-interpolation-spacing": ["error", "always" | "never"],
|
|
||||||
"vue/html-self-closing": ["error",{
|
|
||||||
"html": {
|
|
||||||
"void": "never",
|
|
||||||
"normal": "any",
|
|
||||||
"component": "any"
|
|
||||||
},
|
|
||||||
"svg": "always",
|
|
||||||
"math": "always"
|
|
||||||
}],
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -67,13 +67,6 @@ server {
|
|||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
}
|
}
|
||||||
|
|
||||||
location /salpa/ {
|
|
||||||
proxy_pass http://192.168.1.217:9080/;
|
|
||||||
proxy_set_header Host $proxy_host;
|
|
||||||
proxy_set_header X-Real-IP $remote_addr;
|
|
||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
||||||
}
|
|
||||||
|
|
||||||
#error_page 404 /404.html;
|
#error_page 404 /404.html;
|
||||||
|
|
||||||
# redirect server error pages to the static page /50x.html
|
# redirect server error pages to the static page /50x.html
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "micro-ui",
|
"name": "micro-ui",
|
||||||
"version": "0.4.3",
|
"version": "0.4.3",
|
||||||
"description": "数据标准符合性检测工具-前端项目",
|
"description": "AllData科学护城河-前端项目",
|
||||||
"author": "AllDataDC",
|
"author": "AllDataDC",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 18 KiB |
@ -1,513 +0,0 @@
|
|||||||
检测报告
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
数据标准结构符合性检测报告
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
项目:演示项目 检测时间:2023-12-26 09:44:29
|
|
||||||
检测指标统计分析
|
|
||||||
检测表总数
|
|
||||||
检测总耗时(毫秒)
|
|
||||||
不合规总数
|
|
||||||
不合规率
|
|
||||||
527
|
|
||||||
19143
|
|
||||||
39
|
|
||||||
7.40%
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
不合规统计分析
|
|
||||||
按数据源统计不合规数量
|
|
||||||
数据源
|
|
||||||
数据源版本
|
|
||||||
耗时(毫秒)
|
|
||||||
检测表数
|
|
||||||
不合规数
|
|
||||||
综合服务
|
|
||||||
1.0
|
|
||||||
3879
|
|
||||||
78
|
|
||||||
9
|
|
||||||
智瑞服务
|
|
||||||
1.0
|
|
||||||
15264
|
|
||||||
449
|
|
||||||
30
|
|
||||||
|
|
||||||
按用例类型统计不合规数量
|
|
||||||
用例名称
|
|
||||||
不合规总数
|
|
||||||
表字段标准检测
|
|
||||||
5
|
|
||||||
长度标准检测
|
|
||||||
10
|
|
||||||
空值标准检测
|
|
||||||
9
|
|
||||||
主键标准检测
|
|
||||||
13
|
|
||||||
外键标准检测
|
|
||||||
2
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
用例类型统计分析
|
|
||||||
表字段标准检测用例
|
|
||||||
用例名称
|
|
||||||
数据源
|
|
||||||
数据源版本
|
|
||||||
检测数
|
|
||||||
不合规数
|
|
||||||
检测表字段是否一致
|
|
||||||
综合服务
|
|
||||||
1.0
|
|
||||||
78
|
|
||||||
1
|
|
||||||
检测表字段名是否与标准一致
|
|
||||||
智瑞服务
|
|
||||||
1.0
|
|
||||||
449
|
|
||||||
4
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
> 不合规明细
|
|
||||||
用例名称
|
|
||||||
数据源
|
|
||||||
数据表
|
|
||||||
实际表名
|
|
||||||
标准表名
|
|
||||||
实际字段
|
|
||||||
标准字段
|
|
||||||
不合规原因
|
|
||||||
检测表字段是否一致
|
|
||||||
综合服务
|
|
||||||
TABLE_A
|
|
||||||
TABLE_A
|
|
||||||
TABLE_A
|
|
||||||
column_AAA
|
|
||||||
column_AAC
|
|
||||||
字段名与标准不一致
|
|
||||||
检测表字段是否一致
|
|
||||||
智瑞服务
|
|
||||||
TABLE_D
|
|
||||||
TABLE_D
|
|
||||||
TABLE_K
|
|
||||||
|
|
||||||
|
|
||||||
表名与标准不一致
|
|
||||||
检测表字段名是否与标准一致
|
|
||||||
智瑞服务
|
|
||||||
TABLE_E
|
|
||||||
TABLE_E
|
|
||||||
TABLE_E
|
|
||||||
columnE
|
|
||||||
column_E
|
|
||||||
字段名与标准不一致
|
|
||||||
表字段标准检测用例
|
|
||||||
智瑞服务
|
|
||||||
TABLE_F
|
|
||||||
TABLE_F
|
|
||||||
TABLE_F
|
|
||||||
columnF
|
|
||||||
column_F
|
|
||||||
字段名与标准不一致
|
|
||||||
表字段标准检测用例
|
|
||||||
智瑞服务
|
|
||||||
TABLE_G
|
|
||||||
TABLE_G
|
|
||||||
TABLE_G
|
|
||||||
columnG
|
|
||||||
column_G
|
|
||||||
字段名与标准不一致
|
|
||||||
|
|
||||||
长度标准检测用例
|
|
||||||
用例名称
|
|
||||||
数据源
|
|
||||||
数据源版本
|
|
||||||
检测数
|
|
||||||
不合规数
|
|
||||||
检测字段长度是否符合约束
|
|
||||||
智瑞服务
|
|
||||||
1.0
|
|
||||||
449
|
|
||||||
10
|
|
||||||
检测字段长度是否符合标准约束
|
|
||||||
综合服务
|
|
||||||
1.0
|
|
||||||
78
|
|
||||||
0
|
|
||||||
|
|
||||||
> 不合规明细
|
|
||||||
用例名称
|
|
||||||
数据源
|
|
||||||
数据表
|
|
||||||
标准字段
|
|
||||||
标准长度
|
|
||||||
实际长度
|
|
||||||
不合规原因
|
|
||||||
检测字段长度是否符合标准约束
|
|
||||||
智瑞服务
|
|
||||||
TABLE_A
|
|
||||||
column_C
|
|
||||||
200
|
|
||||||
2000
|
|
||||||
字段长度不符合标准约束
|
|
||||||
检测字段长度是否符合标准约束
|
|
||||||
智瑞服务
|
|
||||||
TABLE_B
|
|
||||||
column_C
|
|
||||||
100
|
|
||||||
150
|
|
||||||
字段长度不符合标准约束
|
|
||||||
检测字段长度是否符合标准约束
|
|
||||||
智瑞服务
|
|
||||||
TABLE_C
|
|
||||||
column_C
|
|
||||||
200
|
|
||||||
4000
|
|
||||||
字段长度不符合标准约束
|
|
||||||
检测字段长度是否符合标准约束
|
|
||||||
智瑞服务
|
|
||||||
TABLE_D
|
|
||||||
column_C
|
|
||||||
200
|
|
||||||
2000
|
|
||||||
字段长度不符合标准约束
|
|
||||||
检测字段长度是否符合标准约束
|
|
||||||
智瑞服务
|
|
||||||
TABLE_E
|
|
||||||
column_C
|
|
||||||
200
|
|
||||||
2000
|
|
||||||
字段长度不符合标准约束
|
|
||||||
检测字段长度是否符合标准约束
|
|
||||||
智瑞服务
|
|
||||||
TABLE_F
|
|
||||||
column_C
|
|
||||||
200
|
|
||||||
2000
|
|
||||||
字段长度不符合标准约束
|
|
||||||
检测字段长度是否符合标准约束
|
|
||||||
智瑞服务
|
|
||||||
TABLE_G
|
|
||||||
column_C
|
|
||||||
2000
|
|
||||||
4000
|
|
||||||
字段长度不符合标准约束
|
|
||||||
检测字段长度是否符合标准约束
|
|
||||||
智瑞服务
|
|
||||||
TABLE_H
|
|
||||||
column_C
|
|
||||||
100
|
|
||||||
150
|
|
||||||
字段长度不符合标准约束
|
|
||||||
检测字段长度是否符合标准约束
|
|
||||||
智瑞服务
|
|
||||||
TABLE_I
|
|
||||||
column_C
|
|
||||||
200
|
|
||||||
2000
|
|
||||||
字段长度不符合标准约束
|
|
||||||
检测字段长度是否符合标准约束
|
|
||||||
智瑞服务
|
|
||||||
TABLE_J
|
|
||||||
column_C
|
|
||||||
200
|
|
||||||
2000
|
|
||||||
字段长度不符合标准约束
|
|
||||||
空值标准检测用例
|
|
||||||
用例名称
|
|
||||||
数据源
|
|
||||||
版本
|
|
||||||
检测数
|
|
||||||
不合规数
|
|
||||||
检测字段空值是否符合标准约束
|
|
||||||
智瑞服务
|
|
||||||
1.0
|
|
||||||
449
|
|
||||||
9
|
|
||||||
检测字段空值是否符合标准约束
|
|
||||||
综合服务
|
|
||||||
1.0
|
|
||||||
78
|
|
||||||
0
|
|
||||||
|
|
||||||
|
|
||||||
> 不合规明细
|
|
||||||
用例名称
|
|
||||||
数据源
|
|
||||||
数据表
|
|
||||||
标准字段
|
|
||||||
标准字段是否空值
|
|
||||||
实际字段
|
|
||||||
实际字段是否空值
|
|
||||||
不合规原因
|
|
||||||
检测字段空值是否符合标准约束
|
|
||||||
智瑞服务
|
|
||||||
TABLE_A
|
|
||||||
column_AAA
|
|
||||||
否
|
|
||||||
column_AAA
|
|
||||||
是
|
|
||||||
表字段不符合空值校验
|
|
||||||
检测字段空值是否符合标准约束
|
|
||||||
智瑞服务
|
|
||||||
TABLE_B
|
|
||||||
column_BBB
|
|
||||||
是
|
|
||||||
column_BBB
|
|
||||||
否
|
|
||||||
表字段不符合空值校验
|
|
||||||
检测字段空值是否符合标准约束
|
|
||||||
智瑞服务
|
|
||||||
TABLE_Y
|
|
||||||
column_AAA
|
|
||||||
否
|
|
||||||
column_AAA
|
|
||||||
是
|
|
||||||
表字段不符合空值校验
|
|
||||||
检测字段空值是否符合标准约束
|
|
||||||
智瑞服务
|
|
||||||
TABLE_W
|
|
||||||
column_BBB
|
|
||||||
是
|
|
||||||
column_BBB
|
|
||||||
否
|
|
||||||
表字段不符合空值校验
|
|
||||||
检测字段空值是否符合标准约束
|
|
||||||
智瑞服务
|
|
||||||
TABLE_H
|
|
||||||
column_AAA
|
|
||||||
否
|
|
||||||
column_AAA
|
|
||||||
是
|
|
||||||
表字段不符合空值校验
|
|
||||||
检测字段空值是否符合标准约束
|
|
||||||
智瑞服务
|
|
||||||
TABLE_UU
|
|
||||||
column_BBB
|
|
||||||
是
|
|
||||||
column_BBB
|
|
||||||
否
|
|
||||||
表字段不符合空值校验
|
|
||||||
检测字段空值是否符合标准约束
|
|
||||||
智瑞服务
|
|
||||||
TABLE_QQ
|
|
||||||
column_AAA
|
|
||||||
否
|
|
||||||
column_AAA
|
|
||||||
是
|
|
||||||
表字段不符合空值校验
|
|
||||||
检测字段空值是否符合标准约束
|
|
||||||
智瑞服务
|
|
||||||
TABLE_PP
|
|
||||||
column_BBB
|
|
||||||
是
|
|
||||||
column_BBB
|
|
||||||
否
|
|
||||||
表字段不符合空值校验
|
|
||||||
检测字段空值是否符合标准约束
|
|
||||||
智瑞服务
|
|
||||||
TABLE_K
|
|
||||||
column_BBB
|
|
||||||
是
|
|
||||||
column_BBB
|
|
||||||
否
|
|
||||||
表字段不符合空值校验
|
|
||||||
|
|
||||||
主键标准检测用例
|
|
||||||
用例名称
|
|
||||||
数据源
|
|
||||||
版本
|
|
||||||
检测数
|
|
||||||
不合规数
|
|
||||||
主键标准检测用例
|
|
||||||
演示应用
|
|
||||||
1.0
|
|
||||||
449
|
|
||||||
5
|
|
||||||
主键标准检测用例
|
|
||||||
数据平台
|
|
||||||
1.0
|
|
||||||
78
|
|
||||||
8
|
|
||||||
|
|
||||||
> 不合规明细
|
|
||||||
用例名称
|
|
||||||
数据源
|
|
||||||
数据表
|
|
||||||
标准字段
|
|
||||||
标准字段是否主键
|
|
||||||
实际字段
|
|
||||||
实际字段是否主键
|
|
||||||
不合规原因
|
|
||||||
主键标准检测用例
|
|
||||||
演示应用
|
|
||||||
TABLE_A
|
|
||||||
column_AAA
|
|
||||||
否
|
|
||||||
column_AAA
|
|
||||||
是
|
|
||||||
表字段不符合主键标准约束
|
|
||||||
主键标准检测用例
|
|
||||||
演示应用
|
|
||||||
TABLE_W
|
|
||||||
column_AAA
|
|
||||||
是
|
|
||||||
column_AAA
|
|
||||||
否
|
|
||||||
表字段不符合主键标准约束
|
|
||||||
主键标准检测用例
|
|
||||||
演示应用
|
|
||||||
TABLE_Q
|
|
||||||
column_AAA
|
|
||||||
否
|
|
||||||
column_AAA
|
|
||||||
是
|
|
||||||
表字段不符合主键标准约束
|
|
||||||
主键标准检测用例
|
|
||||||
演示应用
|
|
||||||
TABLE_E
|
|
||||||
column_AAA
|
|
||||||
是
|
|
||||||
column_AAA
|
|
||||||
否
|
|
||||||
表字段不符合主键标准约束
|
|
||||||
主键标准检测用例
|
|
||||||
演示应用
|
|
||||||
TABLE_R
|
|
||||||
column_AAA
|
|
||||||
否
|
|
||||||
column_AAA
|
|
||||||
是
|
|
||||||
表字段不符合主键标准约束
|
|
||||||
主键标准检测用例
|
|
||||||
数据平台
|
|
||||||
TABLE_A
|
|
||||||
column_AAA
|
|
||||||
是
|
|
||||||
column_AAA
|
|
||||||
否
|
|
||||||
表字段不符合主键标准约束
|
|
||||||
主键标准检测用例
|
|
||||||
数据平台
|
|
||||||
TABLE_D
|
|
||||||
column_AAA
|
|
||||||
否
|
|
||||||
column_AAA
|
|
||||||
是
|
|
||||||
表字段不符合主键标准约束
|
|
||||||
主键标准检测用例
|
|
||||||
数据平台
|
|
||||||
TABLE_W
|
|
||||||
column_AAA
|
|
||||||
是
|
|
||||||
column_AAA
|
|
||||||
否
|
|
||||||
表字段不符合主键标准约束
|
|
||||||
主键标准检测用例
|
|
||||||
数据平台
|
|
||||||
TABLE_G
|
|
||||||
column_AAA
|
|
||||||
否
|
|
||||||
column_AAA
|
|
||||||
是
|
|
||||||
表字段不符合主键标准约束
|
|
||||||
主键标准检测用例
|
|
||||||
数据平台
|
|
||||||
TABLE_L
|
|
||||||
column_AAA
|
|
||||||
是
|
|
||||||
column_AAA
|
|
||||||
否
|
|
||||||
表字段不符合主键标准约束
|
|
||||||
主键标准检测用例
|
|
||||||
数据平台
|
|
||||||
TABLE_P
|
|
||||||
column_AAA
|
|
||||||
否
|
|
||||||
column_AAA
|
|
||||||
是
|
|
||||||
表字段不符合主键标准约束
|
|
||||||
主键标准检测用例
|
|
||||||
数据平台
|
|
||||||
TABLE_U
|
|
||||||
column_AAA
|
|
||||||
是
|
|
||||||
column_AAA
|
|
||||||
否
|
|
||||||
表字段不符合主键标准约束
|
|
||||||
主键标准检测用例
|
|
||||||
数据平台
|
|
||||||
TABLE_M
|
|
||||||
column_AAA
|
|
||||||
否
|
|
||||||
column_AAA
|
|
||||||
是
|
|
||||||
表字段不符合主键标准约束
|
|
||||||
外键标准检测用例
|
|
||||||
用例名称
|
|
||||||
数据源
|
|
||||||
版本
|
|
||||||
检测数
|
|
||||||
不合规数
|
|
||||||
主键标准检测用例
|
|
||||||
演示应用
|
|
||||||
1.0
|
|
||||||
449
|
|
||||||
2
|
|
||||||
|
|
||||||
|
|
||||||
> 不合规明细
|
|
||||||
用例名称
|
|
||||||
数据源
|
|
||||||
数据表
|
|
||||||
标准字段
|
|
||||||
标准字段是否外键
|
|
||||||
实际字段
|
|
||||||
实际字段是否外键
|
|
||||||
不合规原因
|
|
||||||
外键标准检测用例
|
|
||||||
演示应用
|
|
||||||
TABLE_A
|
|
||||||
column_AAA
|
|
||||||
否
|
|
||||||
column_AAA
|
|
||||||
是
|
|
||||||
表字段不符合主键标准约束
|
|
||||||
外键标准检测用例
|
|
||||||
演示应用
|
|
||||||
TABLE_B
|
|
||||||
column_BBB
|
|
||||||
是
|
|
||||||
column_BBB
|
|
||||||
否
|
|
||||||
表字段不符合外键标准约束
|
|
@ -1,18 +0,0 @@
|
|||||||
import request from '@/utils/request'
|
|
||||||
|
|
||||||
export function createDataSource(data) {
|
|
||||||
return request({
|
|
||||||
url: '/salpa/subject/project/createDataSource',
|
|
||||||
method: 'post',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
export function editDataSource(data) {
|
|
||||||
return request({
|
|
||||||
url: '/salpa/subject/project/updateDataSource',
|
|
||||||
method: 'put',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
@ -105,29 +105,3 @@ export function word(id) {
|
|||||||
responseType: 'blob'
|
responseType: 'blob'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getMetadatablood(data) {
|
|
||||||
return request({
|
|
||||||
url: '/data/metadata/sources/getMetadatablood',
|
|
||||||
method: 'post',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
export function uploadFile(data, type) {
|
|
||||||
return request({
|
|
||||||
url: '/data/metadata/sources/upload/' + type,
|
|
||||||
method: 'post',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
export function pageOfflineData(data) {
|
|
||||||
return request({
|
|
||||||
url: '/data/metadata/offline/page',
|
|
||||||
method: 'get',
|
|
||||||
params: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,39 +0,0 @@
|
|||||||
import request from '@/utils/request'
|
|
||||||
export function pageProjectList(data) {
|
|
||||||
console.log('data==', data)
|
|
||||||
return request({
|
|
||||||
url: '/salpa/subject/project/pageList',
|
|
||||||
method: 'post',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
export function addProject(data) {
|
|
||||||
return request({
|
|
||||||
url: '/salpa/subject/project/addProject',
|
|
||||||
method: 'post',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
export function getProjectById(id) {
|
|
||||||
return request({
|
|
||||||
url: '/salpa/subject/project/getNewProjectById?id=' + id,
|
|
||||||
method: 'get'
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
export function updateProject(data) {
|
|
||||||
return request({
|
|
||||||
url: '/salpa/subject/project/updateNewProject',
|
|
||||||
method: 'post',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
export function delNewProject(id) {
|
|
||||||
return request({
|
|
||||||
url: '/salpa/subject/project/deleteNewProject?id=' + id,
|
|
||||||
method: 'delete'
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
@ -8,36 +8,6 @@ export function pageCheckJob(data) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function saveCheckJob(data) {
|
|
||||||
return request({
|
|
||||||
url: '/data/quality/scheduleJobs',
|
|
||||||
method: 'post',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
export function updateCheckJob(data) {
|
|
||||||
return request({
|
|
||||||
url: '/data/quality/scheduleJobs/' + data.id,
|
|
||||||
method: 'put',
|
|
||||||
data: data
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
export function delCheckJob(id) {
|
|
||||||
return request({
|
|
||||||
url: '/data/quality/scheduleJobs/' + id,
|
|
||||||
method: 'delete'
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
export function delCheckJobs(ids) {
|
|
||||||
return request({
|
|
||||||
url: '/data/quality/scheduleJobs/batch/' + ids,
|
|
||||||
method: 'delete'
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
export function pauseCheckJob(id) {
|
export function pauseCheckJob(id) {
|
||||||
return request({
|
return request({
|
||||||
url: '/data/quality/scheduleJobs/pause/' + id,
|
url: '/data/quality/scheduleJobs/pause/' + id,
|
||||||
@ -59,10 +29,3 @@ export function runCheckJob(id) {
|
|||||||
method: 'post'
|
method: 'post'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getScheduleJobById(id) {
|
|
||||||
return request({
|
|
||||||
url: '/data/quality/scheduleJobs/' + id,
|
|
||||||
method: 'get'
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
@ -68,10 +68,3 @@ export function updateCheckRule(data) {
|
|||||||
data: data
|
data: data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export function listSourceIdBytable(id, ruleId) {
|
|
||||||
return request({
|
|
||||||
url: '/data/quality/checkRules/listSourceIdBytable/' + id + '/ruleId/' + ruleId,
|
|
||||||
method: 'get'
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
Before Width: | Height: | Size: 19 KiB |
@ -1,15 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<svg xmlns="http://www.w3.org/2000/svg" id="Layer_1" data-name="Layer 1" viewBox="0 0 789.1 195.64" height="48">
|
|
||||||
<defs>
|
|
||||||
<style>.cls-1{fill:#003545;}</style>
|
|
||||||
</defs>
|
|
||||||
<title>MDB-HLogo_RGB</title>
|
|
||||||
<path class="cls-1" d="M378.08,70l18.52,71.5h-14L370.26,90l-23.17,51.5H335.3l-23.07-51.2-12.68,51.2H285.89L304.21,70h12.08l24.95,55.36L366.1,70Z" transform="translate(0 -3.38)"></path>
|
|
||||||
<path class="cls-1" d="M449.27,97.64V89.32h13.47v52.19H449.27v-8.42c-3.56,6-10.89,9.51-19.8,9.51-18.62,0-29-13.08-29-28.23,0-14.55,9.9-26.24,27-26.24C437.29,88.13,445.41,91.5,449.27,97.64Zm-34.46,17.43c0,9.6,6,17.82,17.72,17.82,11.29,0,17.43-8,17.43-17.53s-6.33-17.62-18-17.62C420.65,97.74,414.81,105.86,414.81,115.07Z" transform="translate(0 -3.38)"></path>
|
|
||||||
<path class="cls-1" d="M493.13,141.51H479.66V89.32h13.47V101c3.56-8,10.79-12.87,18.81-12.87a24.2,24.2,0,0,1,8.42,1.39l-2.87,9.9a29.66,29.66,0,0,0-7.13-1c-9.71,0-17.23,7.33-17.23,18.12Z" transform="translate(0 -3.38)"></path>
|
|
||||||
<path class="cls-1" d="M527.09,75.55a6.86,6.86,0,0,1,7.23-7,7.1,7.1,0,0,1,7.33,7.23c0,3.47-2.38,6.93-7.33,6.93A6.93,6.93,0,0,1,527.09,75.55Zm.59,13.77h13.47v38.13c0,2.37.5,4.06,2.48,4.06a14.37,14.37,0,0,0,2.57-.3l2.08,9.8a23.72,23.72,0,0,1-8.91,1.59c-5.65,0-11.69-1.69-11.69-14.46Z" transform="translate(0 -3.38)"></path>
|
|
||||||
<path class="cls-1" d="M601.36,97.64V89.32h13.46v52.19H601.36v-8.42c-3.57,6-10.9,9.51-19.81,9.51-18.62,0-29-13.08-29-28.23,0-14.55,9.91-26.24,27-26.24C589.37,88.13,597.49,91.5,601.36,97.64Zm-34.47,17.43c0,9.6,6,17.82,17.73,17.82,11.29,0,17.43-8,17.43-17.53s-6.34-17.62-18-17.62C572.74,97.74,566.89,105.86,566.89,115.07Z" transform="translate(0 -3.38)"></path>
|
|
||||||
<path class="cls-1" d="M635.51,70H667.8c27.13,0,40.7,14.95,40.5,35.75.2,21.59-14.76,35.75-38.13,35.75H635.51Zm8.91,6.34v58.92H669c21.59,0,29.81-14.56,29.81-29.71,0-17.13-10.3-29.21-29.81-29.21Z" transform="translate(0 -3.38)"></path>
|
|
||||||
<path class="cls-1" d="M763.35,141.51h-41V70h36.94c14.16,0,27.63,2.67,27.43,18.52,0,11.19-6.93,14.26-14.26,15.45,10.4.89,16.64,7.52,16.64,18.22C789.19,138.24,775.13,141.51,763.35,141.51Zm-3.07-40.31c14.16,0,17.33-5.44,17.33-12.38,0-10.39-6.34-12.77-17.33-12.77H730.87V101.2Zm.39,6h-29.8v28.23H762c8.72,0,17.93-2.88,17.93-13.87C779.89,108.93,769.29,107.24,760.67,107.24Z" transform="translate(0 -3.38)"></path>
|
|
||||||
<path class="cls-1" d="M299.2,4.34a4.35,4.35,0,0,0-2.92-1c-2.9,0-6.65,2-8.66,3-.35.19-.62.33-.81.41A27.32,27.32,0,0,1,276,9.53c-3.86.12-7.19.35-11.5.8C238.82,13,227.43,32.6,216.42,51.6c-6,10.32-12.18,21-20.67,29.28a54.92,54.92,0,0,1-5.59,4.74c-8.78,6.54-19.81,11.17-28.43,14.47-8.26,3.15-17.28,6-26,8.74-8,2.51-15.51,4.89-22.44,7.46-3.13,1.16-5.79,2-8.13,2.83-6.31,2.1-10.87,3.62-17.51,8.17-2.59,1.77-5.19,3.69-7,5.14A73.46,73.46,0,0,0,66.8,147.05a86.62,86.62,0,0,1-11.6,14c-1.4,1.37-3.89,2-7.62,2-4.37,0-9.67-.9-15.28-1.85-5.77-1-11.75-2-16.87-2-4.17,0-7.35.67-9.74,2.06,0,0-4,2.34-5.69,5.36l1.66.75a34.71,34.71,0,0,1,7.1,5.07,35.39,35.39,0,0,0,7.37,5.25,6.61,6.61,0,0,1,2.27,1.51c-.7,1-1.73,2.35-2.8,3.76-5.92,7.74-9.37,12.63-7.39,15.29a6.09,6.09,0,0,0,3,.71c12.9,0,19.82-3.36,28.59-7.6,2.54-1.23,5.16-2.5,8.16-3.8,5.12-2.22,10.64-5.76,16.48-9.52,7.74-5,15.74-10.11,23.49-12.6a64,64,0,0,1,19.71-2.77c8.23,0,16.83,1.1,25.15,2.17,6.21.79,12.63,1.61,18.93,2,2.45.15,4.72.22,6.92.22a77.2,77.2,0,0,0,8.83-.47l.7-.24c4.42-2.72,6.49-8.55,8.5-14.18,1.29-3.63,2.37-6.89,4.05-9a2.79,2.79,0,0,1,.34-.28.4.4,0,0,1,.5.09s0,.05,0,.15c-1.06,22.06-9.9,36.05-18.88,48.49l-6,6.43s8.39,0,13.16-1.84c17.42-5.21,30.58-16.69,40.15-35a149.42,149.42,0,0,0,6.32-14.44c.16-.41,1.68-1.17,1.53.95,0,.63-.09,1.32-.14,2h0c0,.43-.06.87-.08,1.31-.25,3-1,9.57-1,9.57l5.38-2.88c13-8.22,23-24.74,30.56-50.47,3.16-10.72,5.47-21.37,7.51-30.76,2.44-11.23,4.55-20.93,7-24.68,3.78-5.89,9.55-9.87,15.13-13.73l2.28-1.58c7-4.93,14-10.62,15.54-21.22l0-.24C301.22,7.29,300.27,5.27,299.2,4.34Z" transform="translate(0 -3.38)"></path>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 3.9 KiB |
@ -1 +0,0 @@
|
|||||||
<?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="1645770420428" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1363" width="48" height="48" xmlns:xlink="http://www.w3.org/1999/xlink"><defs><style type="text/css"></style></defs><path d="M1017.6 521.6c-3.2-3.2-6.4-6.4-6.4-9.6-6.4-12.8-16-22.4-28.8-32-9.6-6.4-28.8-16-32-25.6 6.4 0 12.8-3.2 19.2-3.2 9.6-3.2 16-3.2 25.6-3.2 3.2 0 9.6-3.2 12.8-3.2v-3.2c-3.2-6.4-9.6-12.8-12.8-19.2-12.8-12.8-28.8-25.6-44.8-38.4-9.6-6.4-19.2-9.6-28.8-16-3.2-3.2-9.6-3.2-9.6-6.4-3.2-6.4-6.4-16-9.6-22.4-6.4-16-16-35.2-22.4-54.4-3.2-12.8-6.4-25.6-12.8-35.2-28.8-51.2-57.6-83.2-102.4-115.2-9.6-6.4-22.4-9.6-35.2-12.8h-19.2c-3.2-3.2-9.6-6.4-12.8-9.6-16-9.6-54.4-35.2-67.2-3.2-6.4 19.2 9.6 38.4 16 48 3.2 6.4 9.6 16 12.8 22.4 3.2 6.4 3.2 9.6 3.2 16 6.4 12.8 9.6 28.8 16 41.6l9.6 19.2c3.2 3.2 6.4 6.4 6.4 9.6-3.2 6.4-3.2 16-6.4 22.4-9.6 35.2-6.4 76.8 6.4 102.4 3.2 6.4 16 25.6 28.8 19.2 12.8-6.4 9.6-22.4 12.8-38.4 0-3.2 0-6.4 3.2-9.6 3.2 9.6 6.4 16 9.6 25.6 9.6 16 22.4 32 35.2 41.6 6.4 6.4 12.8 16 19.2 19.2l-6.4-6.4c-6.4-6.4-9.6-12.8-12.8-19.2-12.8-19.2-22.4-35.2-28.8-54.4-3.2-9.6-9.6-19.2-12.8-28.8-3.2-3.2-3.2-9.6-3.2-9.6-3.2 6.4-9.6 12.8-12.8 19.2-6.4 12.8-6.4 28.8-6.4 44.8-9.6-3.2-12.8-12.8-16-22.4-6.4-22.4-9.6-57.6-3.2-83.2 3.2-6.4 9.6-25.6 6.4-32-3.2-6.4-6.4-9.6-9.6-12.8l-9.6-19.2c-6.4-16-9.6-35.2-16-54.4-3.2-6.4-9.6-16-12.8-22.4-6.4-9.6-9.6-12.8-16-22.4 0-3.2-3.2-9.6 0-12.8 0-3.2 3.2-3.2 3.2-3.2 3.2-3.2 12.8 0 16 3.2 9.6 3.2 19.2 9.6 25.6 16 3.2 3.2 6.4 9.6 12.8 9.6h6.4c9.6 3.2 19.2 0 25.6 3.2 12.8 6.4 25.6 12.8 38.4 22.4 35.2 25.6 64 60.8 83.2 105.6 3.2 6.4 3.2 12.8 6.4 22.4 6.4 16 12.8 28.8 19.2 44.8 6.4 12.8 9.6 28.8 19.2 41.6 3.2 6.4 19.2 9.6 28.8 12.8l19.2 9.6c9.6 6.4 19.2 12.8 25.6 19.2 3.2 3.2 19.2 9.6 19.2 16-22.4 0-38.4 3.2-51.2 9.6-6.4-3.2-12.8-3.2-12.8 3.2 3.2 3.2 3.2 6.4 3.2 9.6 3.2 6.4 9.6 12.8 12.8 19.2 6.4 6.4 12.8 9.6 16 12.8 9.6 6.4 22.4 12.8 32 19.2 6.4 3.2 12.8 9.6 19.2 12.8 3.2 3.2 3.2 6.4 9.6 6.4-3.2 0-3.2-3.2-3.2-6.4z" fill="#02608A" p-id="1364"></path><path d="M713.6 166.4c-3.2 0-6.4 0-9.6 3.2 3.2 0 12.8 25.6 16 25.6 3.2-3.2 6.4-9.6 6.4-12.8 0-6.4-3.2-9.6-9.6-12.8 0-3.2 0-3.2-3.2-3.2zM198.4 518.4l-57.6 201.6-57.6-201.6H32c-9.6 86.4-19.2 176-22.4 275.2h44.8c0-73.6 0-137.6 6.4-208l57.6 208h38.4l57.6-208c6.4 73.6 6.4 137.6 9.6 208h48c-3.2-83.2-12.8-172.8-22.4-275.2H198.4zM390.4 588.8c-6.4 60.8-9.6 112-28.8 163.2 0-12.8-3.2-19.2-9.6-44.8l-32-118.4H275.2l44.8 156.8c6.4 22.4 9.6 38.4 9.6 48 0 9.6 0 16-3.2 19.2-6.4 6.4-16 9.6-28.8 9.6h-16v35.2c6.4 3.2 16 6.4 22.4 6.4 25.6 0 48-16 67.2-54.4 25.6-44.8 48-118.4 64-220.8h-44.8z" fill="#02608A" p-id="1365"></path><path d="M953.6 748.8v-230.4h-48v272h115.2v-41.6zM832 771.2c3.2-3.2 6.4-6.4 9.6-12.8 19.2-25.6 28.8-60.8 28.8-112 0-89.6-32-134.4-92.8-134.4-32 0-54.4 12.8-70.4 35.2-19.2 25.6-28.8 60.8-28.8 112 0 48 9.6 83.2 25.6 105.6 16 19.2 38.4 28.8 67.2 28.8 12.8 0 22.4-3.2 32-3.2l57.6 38.4 16-32-44.8-25.6z m-54.4-25.6c-16 0-28.8-6.4-35.2-22.4-9.6-16-12.8-41.6-12.8-73.6 0-60.8 16-89.6 48-89.6 16 0 28.8 6.4 35.2 22.4 9.6 16 12.8 38.4 12.8 73.6 0 60.8-16 89.6-48 89.6zM633.6 656s-35.2-22.4-51.2-32c-19.2-12.8-32-25.6-32-41.6 0-9.6 6.4-16 12.8-25.6 6.4-6.4 16-9.6 28.8-9.6 16 0 32 6.4 44.8 16l9.6-35.2c-19.2-12.8-38.4-19.2-60.8-19.2s-38.4 6.4-54.4 19.2c-12.8 12.8-25.6 38.4-25.6 60.8 0 25.6 9.6 41.6 28.8 57.6 0 0 32 22.4 51.2 32 19.2 12.8 28.8 25.6 28.8 41.6 0 12.8-3.2 22.4-12.8 28.8-9.6 6.4-19.2 3.2-28.8 3.2-16 0-32-6.4-51.2-16l-9.6 32c22.4 16 44.8 25.6 67.2 25.6 25.6 0 44.8-6.4 60.8-22.4 16-16 22.4-35.2 22.4-57.6 0-25.6-9.6-41.6-28.8-57.6z" fill="#E58E01" p-id="1366"></path></svg>
|
|
Before Width: | Height: | Size: 3.7 KiB |
@ -1 +0,0 @@
|
|||||||
<?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="1650692654847" class="icon" viewBox="0 0 8165 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="988" xmlns:xlink="http://www.w3.org/1999/xlink" width="255.15625" height="48"><defs><style type="text/css"></style></defs><path d="M3398.499037 666.115306h520.24153l-274.800972-442.904953-504.499351 800.60224-229.885787 0.187407 614.069914-961.397353A143.303803 143.303803 0 0 1 3643.564782 0.008746c48.350978 0 92.703942 22.801172 118.878438 60.907239l616.193859 963.084015-230.073194-0.187407-107.883901-178.973581h-527.175585l-114.942893-178.723706z m2386.751699 178.911113V10.00378h-195.090574v916.669574c0 25.362399 10.307379 49.600357 28.423379 67.716357 19.115503 18.928096 44.352964 29.360413 71.464494 29.360413h888.995824l114.693017-178.661236H5785.250736z m-3225.2726-149.425762a342.829673 342.829673 0 0 0 0-685.596877H1706.777029v1013.808813h194.903167V188.665016h644.867113a163.856092 163.856092 0 0 1 164.043499 164.105968 163.98103 163.98103 0 0 1-164.043499 164.168437l-549.414537-0.187407 581.77346 507.060579h283.234282l-391.430527-328.399343 89.268149 0.187407zM506.935641 1023.812593a506.873172 506.873172 0 1 1 0-1013.808813h589.269735a506.935641 506.935641 0 0 1 506.873173 506.935641 506.935641 506.935641 0 0 1-506.873173 507.060579l-589.269735-0.187407z m576.151253-178.661236a328.086998 328.086998 0 0 0 328.149467-328.211936 328.086998 328.086998 0 0 0-328.149467-328.211936H519.991655a328.274405 328.274405 0 0 0 0 656.423872h563.095239z m3702.285608 178.661236a506.935641 506.935641 0 1 1 0-1013.808813h700.277084l-114.755487 178.723705h-572.340646a328.274405 328.274405 0 1 0 0 656.423872h702.838312l-114.505611 178.661236h-601.576121z m2384.752692-178.661236a328.086998 328.086998 0 0 1-315.593205-238.506504h833.335977l114.755486-178.723705-948.341339-0.062469a328.211936 328.211936 0 0 1 315.843081-239.193663l572.028302 0.062469 114.942893-178.723705h-700.277084a506.935641 506.935641 0 0 0 0 1013.808813h601.576121l114.505611-178.661236h-702.775843zM7961.482027 117.950149a89.455556 89.455556 0 1 1 179.036051 0 89.455556 89.455556 0 1 1-179.036051 0z m89.580494 114.318204l0 0z m-10.744661-181.597278c17.553779 0 24.800179 0.187407 33.420895 3.435793 22.488827 7.558745 24.800179 28.235972 24.800179 35.794717a49.975171 49.975171 0 0 1-1.374317 10.494785 34.795213 34.795213 0 0 1-15.867117 21.926607c-1.311848 0.999503-2.061476 1.624193-5.747145 2.99851l29.672758 53.098619h-28.673254l-25.987089-48.850729h-17.303903v48.78826h-24.987586V50.671075h32.046579z m8.933061 57.721323c7.683683-0.124938 16.241931-0.687159 21.239448-7.996028a18.990565 18.990565 0 0 0 2.873572-10.932068 16.86662 16.86662 0 0 0-9.62022-15.492303c-5.747145-2.248883-11.619227-2.248883-23.425861-2.248883h-7.058993v36.669282h15.992054z" fill="#d81e06" p-id="989"></path></svg>
|
|
Before Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 24 KiB |
@ -1 +0,0 @@
|
|||||||
<svg height="2222" viewBox="0 0 9 8" width="2500" xmlns="http://www.w3.org/2000/svg"><path d="m0 7h1v1h-1z" fill="#f00"/><path d="m0 0h1v7h-1zm2 0h1v8h-1zm2 0h1v8h-1zm2 0h1v8h-1zm2 3.25h1v1.5h-1z" fill="#fc0"/></svg>
|
|
Before Width: | Height: | Size: 216 B |
@ -1 +0,0 @@
|
|||||||
<?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="1652175124881" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="42276" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"><defs><style type="text/css"></style></defs><path d="M64 154.944a411.52 154.944 0 1 0 823.04 0 411.52 154.944 0 1 0-823.04 0Z" fill="#434343" p-id="42277"></path><path d="M477.632 709.12c-225.024 0-412.608-62.72-412.608-104.704v209.216c0 76.032 184.768 137.344 412.608 137.344s412.608-61.376 412.608-137.344V604.416c0 41.984-187.584 104.704-412.608 104.704z" fill="#434343" p-id="42278"></path><path d="M479.616 387.264C254.592 387.264 67.008 323.136 67.008 280.128v214.144c0 77.696 184.768 140.544 412.608 140.544s412.608-62.848 412.608-140.544V280.128c0 43.008-187.584 107.136-412.608 107.136z" fill="#434343" p-id="42279"></path></svg>
|
|
Before Width: | Height: | Size: 961 B |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 20 KiB |
@ -1 +0,0 @@
|
|||||||
<svg width="2500" height="2500" viewBox="0 0 256 256" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMinYMin meet"><path d="M255.96 134.393c0-21.521-13.373-40.117-33.223-47.43a75.239 75.239 0 0 0 1.253-13.791c0-39.909-32.386-72.295-72.295-72.295-23.193 0-44.923 11.074-58.505 30.088-6.686-5.224-14.835-7.94-23.402-7.94-21.104 0-38.446 17.133-38.446 38.446 0 4.597.836 9.194 2.298 13.373C13.582 81.739 0 100.962 0 122.274c0 21.522 13.373 40.327 33.431 47.64-.835 4.388-1.253 8.985-1.253 13.79 0 39.7 32.386 72.087 72.086 72.087 23.402 0 44.924-11.283 58.505-30.088 6.686 5.223 15.044 8.149 23.611 8.149 21.104 0 38.446-17.134 38.446-38.446 0-4.597-.836-9.194-2.298-13.373 19.64-7.104 33.431-26.327 33.431-47.64z" fill="#FFF"/><path d="M100.085 110.364l57.043 26.119 57.669-50.565a64.312 64.312 0 0 0 1.253-12.746c0-35.52-28.834-64.355-64.355-64.355-21.313 0-41.162 10.447-53.072 27.998l-9.612 49.73 11.074 23.82z" fill="#F4BD19"/><path d="M40.953 170.75c-.835 4.179-1.253 8.567-1.253 12.955 0 35.52 29.043 64.564 64.564 64.564 21.522 0 41.372-10.656 53.49-28.208l9.403-49.729-12.746-24.238-57.251-26.118-56.207 50.774z" fill="#3CBEB1"/><path d="M40.536 71.918l39.073 9.194 8.775-44.506c-5.432-4.179-11.91-6.268-18.805-6.268-16.925 0-30.924 13.79-30.924 30.924 0 3.552.627 7.313 1.88 10.656z" fill="#E9478C"/><path d="M37.192 81.32c-17.551 5.642-29.67 22.567-29.67 40.954 0 17.97 11.074 34.059 27.79 40.327l54.953-49.73-10.03-21.52-43.043-10.03z" fill="#2C458F"/><path d="M167.784 219.852c5.432 4.18 11.91 6.478 18.596 6.478 16.925 0 30.924-13.79 30.924-30.924 0-3.761-.627-7.314-1.88-10.657l-39.073-9.193-8.567 44.296z" fill="#95C63D"/><path d="M175.724 165.317l43.043 10.03c17.551-5.85 29.67-22.566 29.67-40.954 0-17.97-11.074-33.849-27.79-40.326l-56.415 49.311 11.492 21.94z" fill="#176655"/></svg>
|
|
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 3.3 MiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 8.0 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 40 KiB |
@ -1 +0,0 @@
|
|||||||
<svg width="2500" height="2500" viewBox="0 0 256 256" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMidYMid"><rect width="256" height="256" rx="18"/><path d="M230.118 128.531c0 7.047-5.713 12.76-12.761 12.76-7.047 0-12.76-5.713-12.76-12.76 0-7.048 5.713-12.761 12.76-12.761 7.048 0 12.761 5.713 12.761 12.761" fill="#669CFE"/><path d="M203.806 154.531c0 7.047-5.713 12.76-12.761 12.76-7.048 0-12.761-5.713-12.761-12.76 0-7.048 5.713-12.761 12.761-12.761 7.048 0 12.761 5.713 12.761 12.761" fill="#3FE7FE"/><path d="M177.451 181.072c0 7.048-5.713 12.761-12.76 12.761-7.048 0-12.761-5.713-12.761-12.761 0-7.047 5.713-12.76 12.761-12.76 7.047 0 12.76 5.713 12.76 12.76" fill="#FFF"/><path d="M202.993 102.336c0 6.597-5.348 11.944-11.944 11.944-6.597 0-11.945-5.347-11.945-11.944s5.348-11.945 11.945-11.945c6.596 0 11.944 5.348 11.944 11.945" fill="#669CFE"/><path d="M176.738 128.298c0 6.597-5.348 11.945-11.944 11.945-6.597 0-11.945-5.348-11.945-11.945s5.348-11.945 11.945-11.945c6.596 0 11.944 5.348 11.944 11.945" fill="#3FE7FE"/><path d="M150.569 154.642c0 6.597-5.347 11.945-11.944 11.945s-11.945-5.348-11.945-11.945 5.348-11.944 11.945-11.944 11.944 5.347 11.944 11.944" fill="#FFF"/><path d="M175.743 76.235c0 5.991-4.857 10.849-10.849 10.849s-10.849-4.858-10.849-10.849c0-5.992 4.857-10.849 10.849-10.849s10.849 4.857 10.849 10.849" fill="#669CFE"/><path d="M149.522 102.191c0 5.991-4.858 10.849-10.85 10.849-5.991 0-10.849-4.858-10.849-10.849 0-5.992 4.858-10.85 10.849-10.85 5.992 0 10.85 4.858 10.85 10.85" fill="#3FE7FE"/><path d="M123.253 128.618c0 5.992-4.857 10.849-10.849 10.849s-10.849-4.857-10.849-10.849c0-5.991 4.857-10.849 10.849-10.849s10.849 4.858 10.849 10.849" fill="#FFF"/><path d="M148.618 50.008c0 5.386-4.366 9.752-9.752 9.752-5.386 0-9.752-4.366-9.752-9.752 0-5.387 4.366-9.753 9.752-9.753 5.386 0 9.752 4.366 9.752 9.753" fill="#669CFE"/><path d="M122.297 76.089c0 5.386-4.366 9.753-9.752 9.753-5.386 0-9.752-4.367-9.752-9.753s4.366-9.752 9.752-9.752c5.386 0 9.752 4.366 9.752 9.752" fill="#3FE7FE"/><path d="M96.06 102.471c0 5.386-4.367 9.752-9.753 9.752s-9.752-4.366-9.752-9.752c0-5.386 4.366-9.753 9.752-9.753 5.386 0 9.753 4.367 9.753 9.753" fill="#FFF"/><path d="M95.06 154.721a8.67 8.67 0 1 1-17.338-.002 8.67 8.67 0 0 1 17.338.002M121.185 180.846a8.67 8.67 0 1 1-17.338-.002 8.67 8.67 0 0 1 17.338.002M147.268 206.929a8.669 8.669 0 0 1-8.669 8.669 8.669 8.669 0 0 1-8.669-8.669 8.669 8.669 0 0 1 8.669-8.669 8.669 8.669 0 0 1 8.669 8.669M95.185 206.929a8.67 8.67 0 1 1-17.339 0 8.67 8.67 0 0 1 17.339 0M42.601 206.929a8.67 8.67 0 1 1-17.337 0 8.67 8.67 0 0 1 17.337 0M68.726 180.804a8.67 8.67 0 1 1-17.337 0 8.67 8.67 0 0 1 17.337 0" fill="#6A9EFE"/><path d="M95.172 50.032a9.06 9.06 0 0 1-18.118 0 9.06 9.06 0 1 1 18.118 0" fill="#3FE7FE"/><path d="M68.799 76.538a9.06 9.06 0 1 1-18.12 0 9.06 9.06 0 0 1 18.12 0M41.174 49.663a7.31 7.31 0 1 1-14.62 0 7.31 7.31 0 0 1 14.62 0" fill="#FFF"/></svg>
|
|
Before Width: | Height: | Size: 2.9 KiB |
@ -1 +0,0 @@
|
|||||||
<svg width="2500" height="2148" viewBox="0 0 256 220" xmlns="http://www.w3.org/2000/svg" preserveAspectRatio="xMinYMin meet"><path d="M245.97 168.943c-13.662 7.121-84.434 36.22-99.501 44.075-15.067 7.856-23.437 7.78-35.34 2.09-11.902-5.69-87.216-36.112-100.783-42.597C3.566 169.271 0 166.535 0 163.951v-25.876s98.05-21.345 113.879-27.024c15.828-5.679 21.32-5.884 34.79-.95 13.472 4.936 94.018 19.468 107.331 24.344l-.006 25.51c.002 2.558-3.07 5.364-10.024 8.988" fill="#912626"/><path d="M245.965 143.22c-13.661 7.118-84.431 36.218-99.498 44.072-15.066 7.857-23.436 7.78-35.338 2.09-11.903-5.686-87.214-36.113-100.78-42.594-13.566-6.485-13.85-10.948-.524-16.166 13.326-5.22 88.224-34.605 104.055-40.284 15.828-5.677 21.319-5.884 34.789-.948 13.471 4.934 83.819 32.935 97.13 37.81 13.316 4.881 13.827 8.9.166 16.02" fill="#C6302B"/><path d="M245.97 127.074c-13.662 7.122-84.434 36.22-99.501 44.078-15.067 7.853-23.437 7.777-35.34 2.087-11.903-5.687-87.216-36.112-100.783-42.597C3.566 127.402 0 124.67 0 122.085V96.206s98.05-21.344 113.879-27.023c15.828-5.679 21.32-5.885 34.79-.95C162.142 73.168 242.688 87.697 256 92.574l-.006 25.513c.002 2.557-3.07 5.363-10.024 8.987" fill="#912626"/><path d="M245.965 101.351c-13.661 7.12-84.431 36.218-99.498 44.075-15.066 7.854-23.436 7.777-35.338 2.087-11.903-5.686-87.214-36.112-100.78-42.594-13.566-6.483-13.85-10.947-.524-16.167C23.151 83.535 98.05 54.148 113.88 48.47c15.828-5.678 21.319-5.884 34.789-.949 13.471 4.934 83.819 32.933 97.13 37.81 13.316 4.88 13.827 8.9.166 16.02" fill="#C6302B"/><path d="M245.97 83.653c-13.662 7.12-84.434 36.22-99.501 44.078-15.067 7.854-23.437 7.777-35.34 2.087-11.903-5.687-87.216-36.113-100.783-42.595C3.566 83.98 0 81.247 0 78.665v-25.88s98.05-21.343 113.879-27.021c15.828-5.68 21.32-5.884 34.79-.95C162.142 29.749 242.688 44.278 256 49.155l-.006 25.512c.002 2.555-3.07 5.361-10.024 8.986" fill="#912626"/><path d="M245.965 57.93c-13.661 7.12-84.431 36.22-99.498 44.074-15.066 7.854-23.436 7.777-35.338 2.09C99.227 98.404 23.915 67.98 10.35 61.497-3.217 55.015-3.5 50.55 9.825 45.331 23.151 40.113 98.05 10.73 113.88 5.05c15.828-5.679 21.319-5.883 34.789-.948 13.471 4.935 83.819 32.934 97.13 37.811 13.316 4.876 13.827 8.897.166 16.017" fill="#C6302B"/><path d="M159.283 32.757l-22.01 2.285-4.927 11.856-7.958-13.23-25.415-2.284 18.964-6.839-5.69-10.498 17.755 6.944 16.738-5.48-4.524 10.855 17.067 6.391M131.032 90.275L89.955 73.238l58.86-9.035-17.783 26.072M74.082 39.347c17.375 0 31.46 5.46 31.46 12.194 0 6.736-14.085 12.195-31.46 12.195s-31.46-5.46-31.46-12.195c0-6.734 14.085-12.194 31.46-12.194" fill="#FFF"/><path d="M185.295 35.998l34.836 13.766-34.806 13.753-.03-27.52" fill="#621B1C"/><path d="M146.755 51.243l38.54-15.245.03 27.519-3.779 1.478-34.791-13.752" fill="#9A2928"/></svg>
|
|
Before Width: | Height: | Size: 2.7 KiB |
@ -1 +0,0 @@
|
|||||||
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 42.1 62.45"><defs><style>.cls-1{fill:#fff;}.cls-2{fill:#dd00a1;}.cls-3{fill:#f9d8d2;}.cls-4{fill:#10110e;}.cls-5{fill:#e5e5e5;}.cls-6{fill:#8accce;opacity:0.2;isolation:isolate;}.cls-7{fill:#515151;}</style></defs><path class="cls-1" d="M14.24,55.36c.92-.61-1.49-.38-1.69-.79a15,15,0,0,1-2.82-.51C8,53.62,3.9,50.85,3.47,48.25s0-7.65,1.83-10.61A17,17,0,0,1,9.73,33S6.16,24.51,5.85,18.1,6,.21,10.24,0s3.49,10.48,2.82,17.43a89.47,89.47,0,0,0-.21,13.89,19.45,19.45,0,0,1,5.51-.92,21.2,21.2,0,0,1,4.9.46S24.58,21,29,14.86,38,2.4,41,4.19s-.81,8.19-3.46,11.52-7.25,8.33-8.78,11a47.26,47.26,0,0,0-2.65,5.51,15,15,0,0,1,6.4,6.32c2.07,4.28,2.27,9.59,1.15,11.83a8.1,8.1,0,0,1-5.61,4c-1.32.1-6.91,1.48-6.91,1.48Z" transform="translate(0 0)"/><path class="cls-2" d="M24,30.94s3.33-8.7,6.32-13.6,7-8.59,8.26-7.84S36,14.85,32.66,19.32a112.3,112.3,0,0,0-7.44,12.37Z" transform="translate(0 0)"/><path class="cls-2" d="M10.64,32.44l.95-.75s-.13-8.7,0-14S12,5.78,10.23,5.85,7.23,11,7.92,18.23A86.92,86.92,0,0,0,10.64,32.44Z" transform="translate(0 0)"/><circle class="cls-3" cx="7.65" cy="49.17" r="1.94"/><circle class="cls-3" cx="30.57" cy="49.17" r="1.94"/><path class="cls-4" d="M22.33,49a.19.19,0,0,0-.25,0h0s-.57,1-1.41,1.06a2.11,2.11,0,0,1-1.5-.7V48c.54-.29,1.41-1.19,1.41-1.5a1.4,1.4,0,0,0-1.5-1.09c-1,0-1.7.65-1.7,1.19s1.1,1.23,1.41,1.44v1.45a1.77,1.77,0,0,1-1.3.7c-.8,0-1.4-1.08-1.4-1.09a.19.19,0,0,0-.25-.08h0a.18.18,0,0,0-.08.23h0c0,.06.71,1.29,1.73,1.29a2.07,2.07,0,0,0,1.5-.72,2.46,2.46,0,0,0,1.59.73h.14a2.47,2.47,0,0,0,1.71-1.25.18.18,0,0,0,0-.25A.24.24,0,0,0,22.33,49Z" transform="translate(0 0)"/><path class="cls-5" d="M9.73,33S7,26,6.42,22.29s-1-9.78-.3-13.85A46.3,46.3,0,0,1,7.31,2.85S6,12.34,6.49,16.49,9.73,33,9.73,33Z" transform="translate(0 0)"/><path class="cls-5" d="M23.26,30.85s2-10.59,4.91-14.76S34.73,6.9,36.52,5.62l1.82-1.28S31,12,28.17,18.34,23.26,30.85,23.26,30.85Z" transform="translate(0 0)"/><path class="cls-4" d="M11.6,42.85a1.52,1.52,0,1,0,1.52,1.52h0a1.52,1.52,0,0,0-1.5-1.52Zm.4,1.41a.42.42,0,1,1,.42-.42h0a.42.42,0,0,1-.41.43h0Z" transform="translate(0 0)"/><path class="cls-4" d="M26.55,42.85a1.52,1.52,0,1,0,1.51,1.53h0a1.52,1.52,0,0,0-1.51-1.53ZM27,44.26a.42.42,0,0,1-.43-.41h0a.43.43,0,0,1,.41-.43.42.42,0,0,1,.43.41h0a.41.41,0,0,1-.4.42h0Z" transform="translate(0 0)"/><ellipse class="cls-6" cx="19.36" cy="44.95" rx="14.1" ry="10.16"/><path class="cls-1" d="M36.43,39.3V32.58a2.46,2.46,0,0,0,1.91-2.29,2.65,2.65,0,0,0-5.27,0A2.48,2.48,0,0,0,35,32.58v6.55h-.2c-2-6.94-7.91-11.28-15.63-11.28S5.51,32.15,3.55,39.13H2.88A2.76,2.76,0,0,0,0,41.71v5.14a2.75,2.75,0,0,0,2.88,2.59h.91a13,13,0,0,0,3.59,5.11L6.09,55.72A.78.78,0,0,0,6,56.82l0,0H6c2.93,3.53,7.72,5.6,13.13,5.6s10.21-2,13.14-5.6a.79.79,0,0,0-.09-1.11h0l-1.3-1.19a13,13,0,0,0,3.59-5.08h1a2.74,2.74,0,0,0,2.87-2.6V41.71A2.58,2.58,0,0,0,36.43,39.3Zm-17.26-4c7.14,0,12.94,4.7,12.94,10.47,0,6.25-6.51,9-12.94,9S6.23,52,6.23,45.72C6.23,40,12,35.25,19.17,35.25Z" transform="translate(0 0)"/><path class="cls-7" d="M36.91,45.16H35v-1a18.61,18.61,0,0,0-.39-3.79h.82a1.35,1.35,0,0,1,1.44,1.25h0Z" transform="translate(0 0)"/><path class="cls-7" d="M35.47,48.18h-1A16.13,16.13,0,0,0,34.89,46h2v.85a1.34,1.34,0,0,1-1.36,1.32h-.06Z" transform="translate(0 0)"/><path class="cls-7" d="M19.17,61.1c-4.79,0-9.06-1.72-11.74-4.78l1.3-1.21a17.87,17.87,0,0,0,10.4,3,17.73,17.73,0,0,0,10.4-3l1.35,1.21C28.23,59.38,24,61.1,19.17,61.1Z" transform="translate(0 0)"/><path class="cls-7" d="M2.88,40.42h.85a19.33,19.33,0,0,0-.38,3.79,8.34,8.34,0,0,0,0,1H1.49v-3.5a1.27,1.27,0,0,1,1.24-1.29Z" transform="translate(0 0)"/><path d="M19.17,34.39a17.66,17.66,0,0,0-4.79.69V29.85a17.23,17.23,0,0,1,4.79-.64,17.3,17.3,0,0,1,4.8.64v5.26A15.91,15.91,0,0,0,19.17,34.39Z" transform="translate(0 0)"/><path class="cls-7" d="M1.44,46h2a17.56,17.56,0,0,0,.43,2.16h-1a1.35,1.35,0,0,1-1.44-1.25h0V46Z" transform="translate(0 0)"/><ellipse class="cls-7" cx="35.71" cy="30.29" rx="1.2" ry="1.08"/></svg>
|
|
Before Width: | Height: | Size: 3.9 KiB |
@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200" class="icon" p-id="6717" t="1547360688278" version="1.1" viewBox="0 0 1024 1024"><defs><style type="text/css"/></defs><path fill="#000" d="M890 120H134a70 70 0 0 0-70 70v500a70 70 0 0 0 70 70h756a70 70 0 0 0 70-70V190a70 70 0 0 0-70-70z m-10 520a40 40 0 0 1-40 40H712V448a40 40 0 0 0-80 0v232h-80V368a40 40 0 0 0-80 0v312h-80V512a40 40 0 0 0-80 0v168H184a40 40 0 0 1-40-40V240a40 40 0 0 1 40-40h656a40 40 0 0 1 40 40zM696 824H328a40 40 0 0 0 0 80h368a40 40 0 0 0 0-80z" p-id="6718"/></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200" class="icon" p-id="6717" t="1547360688278" version="1.1" viewBox="0 0 1024 1024"><defs><style type="text/css"/></defs><path fill="#bfbfbf" d="M890 120H134a70 70 0 0 0-70 70v500a70 70 0 0 0 70 70h756a70 70 0 0 0 70-70V190a70 70 0 0 0-70-70z m-10 520a40 40 0 0 1-40 40H712V448a40 40 0 0 0-80 0v232h-80V368a40 40 0 0 0-80 0v312h-80V512a40 40 0 0 0-80 0v168H184a40 40 0 0 1-40-40V240a40 40 0 0 1 40-40h656a40 40 0 0 1 40 40zM696 824H328a40 40 0 0 0 0 80h368a40 40 0 0 0 0-80z" p-id="6718"/></svg>
|
Before Width: | Height: | Size: 598 B After Width: | Height: | Size: 600 B |
@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200" class="icon" p-id="2807" t="1547195013953" version="1.1" viewBox="0 0 1024 1024"><defs><style type="text/css"/></defs><path fill="#000" d="M529.0496 527.616l-30.7712-30.7456 85.0688-85.0944 30.7712 30.7712z" p-id="2808"/><path fill="#000" d="M0 340.48l427.52 256 248.32 427.52L1024 0l-1024 340.48zM665.6 921.6l-207.36-355.84-355.84-212.48L911.36 81.92l-243.2 243.2 30.72 30.72 243.2-243.2L665.6 921.6z" p-id="2809"/></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200" class="icon" p-id="2807" t="1547195013953" version="1.1" viewBox="0 0 1024 1024"><defs><style type="text/css"/></defs><path fill="#cdcdcd" d="M529.0496 527.616l-30.7712-30.7456 85.0688-85.0944 30.7712 30.7712z" p-id="2808"/><path fill="#cdcdcd" d="M0 340.48l427.52 256 248.32 427.52L1024 0l-1024 340.48zM665.6 921.6l-207.36-355.84-355.84-212.48L911.36 81.92l-243.2 243.2 30.72 30.72 243.2-243.2L665.6 921.6z" p-id="2809"/></svg>
|
Before Width: | Height: | Size: 531 B After Width: | Height: | Size: 536 B |
@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200" class="icon" p-id="1497" t="1554868028575" version="1.1" viewBox="0 0 1024 1024"><defs><style type="text/css"/></defs><path fill="#000" d="M558.409143 658.285714h-92.818286l-28.379428 62.427429a18.285714 18.285714 0 1 1-33.28-15.140572l91.428571-201.142857a18.285714 18.285714 0 0 1 33.28 0l91.428571 201.142857a18.285714 18.285714 0 1 1-33.28 15.140572L558.409143 658.285714z m-16.64-36.571428L512 556.178286 482.230857 621.714286h59.538286zM329.142857 128h475.428572a18.285714 18.285714 0 1 1 0 36.571429H329.142857a91.428571 91.428571 0 0 0 0 182.857142h475.428572a18.285714 18.285714 0 0 1 18.285714 18.285715v512a18.285714 18.285714 0 0 1-18.285714 18.285714H329.142857A128 128 0 0 1 201.142857 768V256A128 128 0 0 1 329.142857 128zM237.714286 345.6V768A91.428571 91.428571 0 0 0 329.142857 859.428571h457.142857v-475.428571H329.142857a127.634286 127.634286 0 0 1-91.428571-38.4zM329.142857 274.285714a18.285714 18.285714 0 0 1 0-36.571428h438.857143a18.285714 18.285714 0 1 1 0 36.571428H329.142857z" p-id="1498"/></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200" class="icon" p-id="1497" t="1554868028575" version="1.1" viewBox="0 0 1024 1024"><defs><style type="text/css"/></defs><path fill="#bfbfbf" d="M558.409143 658.285714h-92.818286l-28.379428 62.427429a18.285714 18.285714 0 1 1-33.28-15.140572l91.428571-201.142857a18.285714 18.285714 0 0 1 33.28 0l91.428571 201.142857a18.285714 18.285714 0 1 1-33.28 15.140572L558.409143 658.285714z m-16.64-36.571428L512 556.178286 482.230857 621.714286h59.538286zM329.142857 128h475.428572a18.285714 18.285714 0 1 1 0 36.571429H329.142857a91.428571 91.428571 0 0 0 0 182.857142h475.428572a18.285714 18.285714 0 0 1 18.285714 18.285715v512a18.285714 18.285714 0 0 1-18.285714 18.285714H329.142857A128 128 0 0 1 201.142857 768V256A128 128 0 0 1 329.142857 128zM237.714286 345.6V768A91.428571 91.428571 0 0 0 329.142857 859.428571h457.142857v-475.428571H329.142857a127.634286 127.634286 0 0 1-91.428571-38.4zM329.142857 274.285714a18.285714 18.285714 0 0 1 0-36.571428h438.857143a18.285714 18.285714 0 1 1 0 36.571428H329.142857z" p-id="1498"/></svg>
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
@ -1 +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="1572170050760" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5149" xmlns:xlink="http://www.w3.org/1999/xlink" width="400" height="400"><defs><style type="text/css"></style></defs><path d="M219.428571 658.285714q0-30.285714-21.428571-51.714285T146.285714 585.142857t-51.714285 21.428572T73.142857 658.285714t21.428572 51.714286T146.285714 731.428571t51.714286-21.428571T219.428571 658.285714z m109.714286-256q0-30.285714-21.428571-51.714285T256 329.142857t-51.714286 21.428572T182.857143 402.285714t21.428571 51.714286T256 475.428571t51.714286-21.428571T329.142857 402.285714z m244.571429 274.857143l57.714285-218.285714q3.428571-14.857143-4.285714-27.714286T605.142857 414.285714t-27.428571 3.714286-17.142857 22.571429l-57.714286 218.285714q-34.285714 2.857143-61.142857 24.857143t-36 56.285714q-11.428571 44 11.428571 83.428571t66.857143 50.857143 83.428571-11.428571 50.857143-66.857143q9.142857-34.285714-3.428571-66.857143t-41.142857-52z m377.142857-18.857143q0-30.285714-21.428572-51.714285T877.714286 585.142857t-51.714286 21.428572-21.428571 51.714285 21.428571 51.714286 51.714286 21.428571 51.714285-21.428571 21.428572-51.714286z m-365.714286-365.714285q0-30.285714-21.428571-51.714286T512 219.428571t-51.714286 21.428572T438.857143 292.571429t21.428571 51.714285T512 365.714286t51.714286-21.428572T585.142857 292.571429z m256 109.714285q0-30.285714-21.428571-51.714285T768 329.142857t-51.714286 21.428572T694.857143 402.285714t21.428571 51.714286T768 475.428571t51.714286-21.428571T841.142857 402.285714z m182.857143 256q0 149.142857-80.571429 276-10.857143 16.571429-30.857142 16.571429H111.428571q-20 0-30.857142-16.571429Q0 808 0 658.285714q0-104 40.571429-198.857143t109.142857-163.428571 163.428571-109.142857 198.857143-40.571429 198.857143 40.571429 163.428571 109.142857 109.142857 163.428571 40.571429 198.857143z" p-id="5150" fill="#000"></path></svg>
|
<?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="1572170050760" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5149" xmlns:xlink="http://www.w3.org/1999/xlink" width="400" height="400"><defs><style type="text/css"></style></defs><path d="M219.428571 658.285714q0-30.285714-21.428571-51.714285T146.285714 585.142857t-51.714285 21.428572T73.142857 658.285714t21.428572 51.714286T146.285714 731.428571t51.714286-21.428571T219.428571 658.285714z m109.714286-256q0-30.285714-21.428571-51.714285T256 329.142857t-51.714286 21.428572T182.857143 402.285714t21.428571 51.714286T256 475.428571t51.714286-21.428571T329.142857 402.285714z m244.571429 274.857143l57.714285-218.285714q3.428571-14.857143-4.285714-27.714286T605.142857 414.285714t-27.428571 3.714286-17.142857 22.571429l-57.714286 218.285714q-34.285714 2.857143-61.142857 24.857143t-36 56.285714q-11.428571 44 11.428571 83.428571t66.857143 50.857143 83.428571-11.428571 50.857143-66.857143q9.142857-34.285714-3.428571-66.857143t-41.142857-52z m377.142857-18.857143q0-30.285714-21.428572-51.714285T877.714286 585.142857t-51.714286 21.428572-21.428571 51.714285 21.428571 51.714286 51.714286 21.428571 51.714285-21.428571 21.428572-51.714286z m-365.714286-365.714285q0-30.285714-21.428571-51.714286T512 219.428571t-51.714286 21.428572T438.857143 292.571429t21.428571 51.714285T512 365.714286t51.714286-21.428572T585.142857 292.571429z m256 109.714285q0-30.285714-21.428571-51.714285T768 329.142857t-51.714286 21.428572T694.857143 402.285714t21.428571 51.714286T768 475.428571t51.714286-21.428571T841.142857 402.285714z m182.857143 256q0 149.142857-80.571429 276-10.857143 16.571429-30.857142 16.571429H111.428571q-20 0-30.857142-16.571429Q0 808 0 658.285714q0-104 40.571429-198.857143t109.142857-163.428571 163.428571-109.142857 198.857143-40.571429 198.857143 40.571429 163.428571 109.142857 109.142857 163.428571 40.571429 198.857143z" p-id="5150" fill="#bfbfbf"></path></svg>
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
@ -1 +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="1649727721107" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="21653" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M554.666667 896v85.333333h-85.333334v-85.333333h-341.333333A42.666667 42.666667 0 0 1 85.333333 853.333333V256h853.333334V853.333333a42.666667 42.666667 0 0 1-42.666667 42.666667h-341.333333zM341.333333 426.666667a128 128 0 1 0 128 128H341.333333V426.666667z m213.333334 0V512h256V426.666667h-256z m0 170.666666V682.666667h256v-85.333334h-256zM85.333333 128h853.333334v85.333333h-853.333334v-85.333333z" p-id="21654" fill="#000"></path></svg>
|
<?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="1649727721107" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="21653" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M554.666667 896v85.333333h-85.333334v-85.333333h-341.333333A42.666667 42.666667 0 0 1 85.333333 853.333333V256h853.333334V853.333333a42.666667 42.666667 0 0 1-42.666667 42.666667h-341.333333zM341.333333 426.666667a128 128 0 1 0 128 128H341.333333V426.666667z m213.333334 0V512h256V426.666667h-256z m0 170.666666V682.666667h256v-85.333334h-256zM85.333333 128h853.333334v85.333333h-853.333334v-85.333333z" p-id="21654" fill="#bfbfbf"></path></svg>
|
Before Width: | Height: | Size: 821 B After Width: | Height: | Size: 823 B |
@ -1 +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="1574576420335" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="9530" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M915.94 827.89h-91.42a12.5 12.5 0 0 1 0-25h78.92v-535h-78.92a12.5 12.5 0 1 1 0-25h91.42a12.5 12.5 0 0 1 12.5 12.5v560a12.5 12.5 0 0 1-12.5 12.5z" fill="#000" p-id="9531"></path><path d="M915.94 547.91h-91.42a12.5 12.5 0 0 1 0-25h91.42a12.5 12.5 0 0 1 0 25z" fill="#000" p-id="9532"></path><path d="M774.6 231.51a90.63 90.63 0 0 1-90.37 90.37H215.94a90.62 90.62 0 0 1-81.18-50.81 88.92 88.92 0 0 0 15.4 1.33h468.29a90.26 90.26 0 0 0 81.18-129.92c42.44 7.35 74.97 44.57 74.97 89.03z" fill="#000" p-id="9533"></path><path d="M684.23 334.38H215.94a102.23 102.23 0 0 1-55.12-16.11 103.66 103.66 0 0 1-37.28-41.69 12.5 12.5 0 0 1 13.38-17.82 76.71 76.71 0 0 0 13.24 1.14h468.29a77.76 77.76 0 0 0 70-111.91 12.5 12.5 0 0 1 13.35-17.83 103.18 103.18 0 0 1 85.3 101.35 103.13 103.13 0 0 1-102.87 102.87zM159.46 284.9a78.31 78.31 0 0 0 56.48 24.48h468.29a77.75 77.75 0 0 0 59.28-128.2 78.73 78.73 0 0 0-24.14-19.08 103.06 103.06 0 0 1-100.92 122.8z" fill="#000" p-id="9534"></path><path d="M618.45 284.91H150.16a102.86 102.86 0 1 1 0-205.73h468.29a102.86 102.86 0 0 1 0 205.73zM150.16 104.18a77.86 77.86 0 1 0 0 155.73h468.29a77.86 77.86 0 0 0 0-155.73z" fill="#000" p-id="9535"></path><path d="M176.2 235.43A53.39 53.39 0 1 1 229.59 182a53.45 53.45 0 0 1-53.39 53.43z m0-81.78A28.39 28.39 0 1 0 204.59 182a28.43 28.43 0 0 0-28.39-28.35zM551.12 194.54H423a12.5 12.5 0 0 1 0-25h128.12a12.5 12.5 0 0 1 0 25z" fill="#000" p-id="9536"></path><path d="M774.6 534.74a90.63 90.63 0 0 1-90.37 90.37H215.94a90.62 90.62 0 0 1-81.18-50.81 88.92 88.92 0 0 0 15.4 1.33h468.29a90.26 90.26 0 0 0 81.18-129.92c42.44 7.35 74.97 44.57 74.97 89.03z" fill="#000" p-id="9537"></path><path d="M684.23 637.61H215.94a102.23 102.23 0 0 1-55.12-16.11 103.66 103.66 0 0 1-37.28-41.69A12.5 12.5 0 0 1 136.92 562a76.71 76.71 0 0 0 13.24 1.14h468.29a77.76 77.76 0 0 0 70-111.91 12.5 12.5 0 0 1 13.35-17.83 103.18 103.18 0 0 1 85.3 101.34 103.13 103.13 0 0 1-102.87 102.87z m-524.77-49.48a78.31 78.31 0 0 0 56.48 24.48h468.29a77.75 77.75 0 0 0 59.28-128.2 78.73 78.73 0 0 0-24.14-19.08 103.06 103.06 0 0 1-100.92 122.8z" fill="#000" p-id="9538"></path><path d="M618.45 588.13H150.16a102.86 102.86 0 1 1 0-205.73h468.29a102.86 102.86 0 0 1 0 205.73zM150.16 407.4a77.86 77.86 0 1 0 0 155.73h468.29a77.86 77.86 0 0 0 0-155.73z" fill="#000" p-id="9539"></path><path d="M176.2 538.66a53.39 53.39 0 1 1 53.39-53.39 53.45 53.45 0 0 1-53.39 53.39z m0-81.78a28.39 28.39 0 1 0 28.39 28.39 28.43 28.43 0 0 0-28.39-28.39zM551.12 497.77H423a12.5 12.5 0 0 1 0-25h128.12a12.5 12.5 0 0 1 0 25z" fill="#000" p-id="9540"></path><path d="M774.6 869.33a90.63 90.63 0 0 1-90.37 90.37H215.94a90.62 90.62 0 0 1-81.18-50.81 88.92 88.92 0 0 0 15.4 1.33h468.29a90.26 90.26 0 0 0 81.18-129.92c42.44 7.35 74.97 44.57 74.97 89.03z" fill="#000" p-id="9541"></path><path d="M684.23 972.2H215.94a102.23 102.23 0 0 1-55.12-16.11 103.66 103.66 0 0 1-37.28-41.69 12.5 12.5 0 0 1 13.38-17.82 76.71 76.71 0 0 0 13.24 1.14h468.29a77.76 77.76 0 0 0 70-111.91A12.5 12.5 0 0 1 701.76 768a102.73 102.73 0 0 1 55.14 174 102.16 102.16 0 0 1-72.67 30.2z m-524.77-49.48a78.31 78.31 0 0 0 56.48 24.48h468.29A77.75 77.75 0 0 0 743.51 819a78.71 78.71 0 0 0-24.14-19.08 103.06 103.06 0 0 1-100.92 122.8z" fill="#000" p-id="9542"></path><path d="M618.45 922.72H150.16a102.86 102.86 0 1 1 0-205.73h468.29a102.86 102.86 0 0 1 0 205.73zM150.16 742a77.86 77.86 0 1 0 0 155.73h468.29a77.86 77.86 0 1 0 0-155.73z" fill="#000" p-id="9543"></path><path d="M176.2 873.25a53.39 53.39 0 1 1 53.39-53.39 53.45 53.45 0 0 1-53.39 53.39z m0-81.78a28.39 28.39 0 1 0 28.39 28.39 28.42 28.42 0 0 0-28.39-28.4zM551.12 832.35H423a12.5 12.5 0 0 1 0-25h128.12a12.5 12.5 0 0 1 0 25z" fill="#000" p-id="9544"></path></svg>
|
<?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="1574576420335" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="9530" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><defs><style type="text/css"></style></defs><path d="M915.94 827.89h-91.42a12.5 12.5 0 0 1 0-25h78.92v-535h-78.92a12.5 12.5 0 1 1 0-25h91.42a12.5 12.5 0 0 1 12.5 12.5v560a12.5 12.5 0 0 1-12.5 12.5z" fill="#cdcdcd" p-id="9531"></path><path d="M915.94 547.91h-91.42a12.5 12.5 0 0 1 0-25h91.42a12.5 12.5 0 0 1 0 25z" fill="#cdcdcd" p-id="9532"></path><path d="M774.6 231.51a90.63 90.63 0 0 1-90.37 90.37H215.94a90.62 90.62 0 0 1-81.18-50.81 88.92 88.92 0 0 0 15.4 1.33h468.29a90.26 90.26 0 0 0 81.18-129.92c42.44 7.35 74.97 44.57 74.97 89.03z" fill="#cdcdcd" p-id="9533"></path><path d="M684.23 334.38H215.94a102.23 102.23 0 0 1-55.12-16.11 103.66 103.66 0 0 1-37.28-41.69 12.5 12.5 0 0 1 13.38-17.82 76.71 76.71 0 0 0 13.24 1.14h468.29a77.76 77.76 0 0 0 70-111.91 12.5 12.5 0 0 1 13.35-17.83 103.18 103.18 0 0 1 85.3 101.35 103.13 103.13 0 0 1-102.87 102.87zM159.46 284.9a78.31 78.31 0 0 0 56.48 24.48h468.29a77.75 77.75 0 0 0 59.28-128.2 78.73 78.73 0 0 0-24.14-19.08 103.06 103.06 0 0 1-100.92 122.8z" fill="#cdcdcd" p-id="9534"></path><path d="M618.45 284.91H150.16a102.86 102.86 0 1 1 0-205.73h468.29a102.86 102.86 0 0 1 0 205.73zM150.16 104.18a77.86 77.86 0 1 0 0 155.73h468.29a77.86 77.86 0 0 0 0-155.73z" fill="#cdcdcd" p-id="9535"></path><path d="M176.2 235.43A53.39 53.39 0 1 1 229.59 182a53.45 53.45 0 0 1-53.39 53.43z m0-81.78A28.39 28.39 0 1 0 204.59 182a28.43 28.43 0 0 0-28.39-28.35zM551.12 194.54H423a12.5 12.5 0 0 1 0-25h128.12a12.5 12.5 0 0 1 0 25z" fill="#cdcdcd" p-id="9536"></path><path d="M774.6 534.74a90.63 90.63 0 0 1-90.37 90.37H215.94a90.62 90.62 0 0 1-81.18-50.81 88.92 88.92 0 0 0 15.4 1.33h468.29a90.26 90.26 0 0 0 81.18-129.92c42.44 7.35 74.97 44.57 74.97 89.03z" fill="#cdcdcd" p-id="9537"></path><path d="M684.23 637.61H215.94a102.23 102.23 0 0 1-55.12-16.11 103.66 103.66 0 0 1-37.28-41.69A12.5 12.5 0 0 1 136.92 562a76.71 76.71 0 0 0 13.24 1.14h468.29a77.76 77.76 0 0 0 70-111.91 12.5 12.5 0 0 1 13.35-17.83 103.18 103.18 0 0 1 85.3 101.34 103.13 103.13 0 0 1-102.87 102.87z m-524.77-49.48a78.31 78.31 0 0 0 56.48 24.48h468.29a77.75 77.75 0 0 0 59.28-128.2 78.73 78.73 0 0 0-24.14-19.08 103.06 103.06 0 0 1-100.92 122.8z" fill="#cdcdcd" p-id="9538"></path><path d="M618.45 588.13H150.16a102.86 102.86 0 1 1 0-205.73h468.29a102.86 102.86 0 0 1 0 205.73zM150.16 407.4a77.86 77.86 0 1 0 0 155.73h468.29a77.86 77.86 0 0 0 0-155.73z" fill="#cdcdcd" p-id="9539"></path><path d="M176.2 538.66a53.39 53.39 0 1 1 53.39-53.39 53.45 53.45 0 0 1-53.39 53.39z m0-81.78a28.39 28.39 0 1 0 28.39 28.39 28.43 28.43 0 0 0-28.39-28.39zM551.12 497.77H423a12.5 12.5 0 0 1 0-25h128.12a12.5 12.5 0 0 1 0 25z" fill="#cdcdcd" p-id="9540"></path><path d="M774.6 869.33a90.63 90.63 0 0 1-90.37 90.37H215.94a90.62 90.62 0 0 1-81.18-50.81 88.92 88.92 0 0 0 15.4 1.33h468.29a90.26 90.26 0 0 0 81.18-129.92c42.44 7.35 74.97 44.57 74.97 89.03z" fill="#cdcdcd" p-id="9541"></path><path d="M684.23 972.2H215.94a102.23 102.23 0 0 1-55.12-16.11 103.66 103.66 0 0 1-37.28-41.69 12.5 12.5 0 0 1 13.38-17.82 76.71 76.71 0 0 0 13.24 1.14h468.29a77.76 77.76 0 0 0 70-111.91A12.5 12.5 0 0 1 701.76 768a102.73 102.73 0 0 1 55.14 174 102.16 102.16 0 0 1-72.67 30.2z m-524.77-49.48a78.31 78.31 0 0 0 56.48 24.48h468.29A77.75 77.75 0 0 0 743.51 819a78.71 78.71 0 0 0-24.14-19.08 103.06 103.06 0 0 1-100.92 122.8z" fill="#cdcdcd" p-id="9542"></path><path d="M618.45 922.72H150.16a102.86 102.86 0 1 1 0-205.73h468.29a102.86 102.86 0 0 1 0 205.73zM150.16 742a77.86 77.86 0 1 0 0 155.73h468.29a77.86 77.86 0 1 0 0-155.73z" fill="#cdcdcd" p-id="9543"></path><path d="M176.2 873.25a53.39 53.39 0 1 1 53.39-53.39 53.45 53.45 0 0 1-53.39 53.39z m0-81.78a28.39 28.39 0 1 0 28.39 28.39 28.42 28.42 0 0 0-28.39-28.4zM551.12 832.35H423a12.5 12.5 0 0 1 0-25h128.12a12.5 12.5 0 0 1 0 25z" fill="#cdcdcd" p-id="9544"></path></svg>
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
@ -1 +1 @@
|
|||||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="211.719" height="200" class="icon" p-id="10233" t="1543827724451" version="1.1" viewBox="0 0 1084 1024"><defs><style type="text/css">@font-face{font-family:rbicon;src:url(chrome-extension://dipiagiiohfljcicegpgffpbnjmgjcnf/fonts/rbicon.woff2) format("woff2");font-weight:400;font-style:normal}</style></defs><path fill="#000" d="M1080.09609 434.500756c-4.216302-23.731757-26.9241-47.945376-50.595623-53.185637l-17.648235-4.095836a175.940257 175.940257 0 0 1-101.612877-80.832531 177.807476 177.807476 0 0 1-18.732427-129.801867l5.541425-16.684509c7.10748-23.129428-2.108151-54.992624-20.599646-70.833873 0 0-16.624276-14.094495-63.244529-41.199293-46.800951-26.984332-66.858502-34.513443-66.858502-34.513443-22.76803-8.372371-54.631227-0.361397-71.255503 17.407304l-12.287509 13.251234a173.470708 173.470708 0 0 1-120.465769 48.065842A174.13327 174.13327 0 0 1 421.329029 33.590675L409.583617 20.761071C393.140039 2.99237 361.096144-4.898138 338.267881 3.353767c0 0-20.358715 7.529111-67.099434 34.513443-46.800951 27.34573-63.244529 41.440225-63.244529 41.440225-18.431263 15.66055-27.646894 47.222582-20.539413 70.592941l5.059562 16.865207a178.048407 178.048407 0 0 1-18.672194 129.621169 174.916297 174.916297 0 0 1-102.275439 81.073463l-17.045906 3.854904c-23.310126 5.42096-46.258856 29.333415-50.595623 53.185637 0 0-3.854905 21.382674-3.854905 75.712737 0 54.330062 3.854905 75.712736 3.854905 75.712736 4.216302 23.972688 26.9241 47.945376 50.595623 53.185637l16.624276 3.854905a174.253736 174.253736 0 0 1 102.395904 81.314394c23.310126 40.837896 28.911785 87.337683 18.732427 129.801867l-4.81863 16.443578c-7.10748 23.129428 2.108151 54.992624 20.599646 70.833872 0 0 16.624276 14.094495 63.244529 41.199293 46.800951 27.104798 66.918735 34.513443 66.918735 34.513443 22.707798 8.372371 54.631227 0.361397 71.255503-17.407303l11.624947-12.588673a175.096996 175.096996 0 0 1 242.256662 0.120465l11.624947 12.648906c16.383345 17.708468 48.427239 25.598976 71.255503 17.347071 0 0 20.358715-7.529111 67.159666-34.513443 46.740719-27.104798 63.124063-41.199293 63.124064-41.199293 18.491496-15.600317 27.707127-47.463513 20.599646-70.833873l-5.059562-17.106139a176.723284 176.723284 0 0 1 18.672194-129.139305 176.060722 176.060722 0 0 1 102.395904-81.314394l16.68451-3.854905c23.310126-5.42096 46.258856-29.333415 50.595623-53.185637 0 0 3.854905-21.382674 3.854904-75.712737-0.240932-54.330062-4.095836-75.833202-4.095836-75.833202z m-537.819428 293.334149c-119.261112 0-216.175824-97.336342-216.175824-217.621412a216.657687 216.657687 0 0 1 216.236057-217.320249c119.200879 0 216.115591 97.276109 216.11559 217.56118-0.240932 120.044139-96.974945 217.320248-216.175823 217.320249z" p-id="10234"/></svg>
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="211.719" height="200" class="icon" p-id="10233" t="1543827724451" version="1.1" viewBox="0 0 1084 1024"><defs><style type="text/css">@font-face{font-family:rbicon;src:url(chrome-extension://dipiagiiohfljcicegpgffpbnjmgjcnf/fonts/rbicon.woff2) format("woff2");font-weight:400;font-style:normal}</style></defs><path fill="#bfbfbf" d="M1080.09609 434.500756c-4.216302-23.731757-26.9241-47.945376-50.595623-53.185637l-17.648235-4.095836a175.940257 175.940257 0 0 1-101.612877-80.832531 177.807476 177.807476 0 0 1-18.732427-129.801867l5.541425-16.684509c7.10748-23.129428-2.108151-54.992624-20.599646-70.833873 0 0-16.624276-14.094495-63.244529-41.199293-46.800951-26.984332-66.858502-34.513443-66.858502-34.513443-22.76803-8.372371-54.631227-0.361397-71.255503 17.407304l-12.287509 13.251234a173.470708 173.470708 0 0 1-120.465769 48.065842A174.13327 174.13327 0 0 1 421.329029 33.590675L409.583617 20.761071C393.140039 2.99237 361.096144-4.898138 338.267881 3.353767c0 0-20.358715 7.529111-67.099434 34.513443-46.800951 27.34573-63.244529 41.440225-63.244529 41.440225-18.431263 15.66055-27.646894 47.222582-20.539413 70.592941l5.059562 16.865207a178.048407 178.048407 0 0 1-18.672194 129.621169 174.916297 174.916297 0 0 1-102.275439 81.073463l-17.045906 3.854904c-23.310126 5.42096-46.258856 29.333415-50.595623 53.185637 0 0-3.854905 21.382674-3.854905 75.712737 0 54.330062 3.854905 75.712736 3.854905 75.712736 4.216302 23.972688 26.9241 47.945376 50.595623 53.185637l16.624276 3.854905a174.253736 174.253736 0 0 1 102.395904 81.314394c23.310126 40.837896 28.911785 87.337683 18.732427 129.801867l-4.81863 16.443578c-7.10748 23.129428 2.108151 54.992624 20.599646 70.833872 0 0 16.624276 14.094495 63.244529 41.199293 46.800951 27.104798 66.918735 34.513443 66.918735 34.513443 22.707798 8.372371 54.631227 0.361397 71.255503-17.407303l11.624947-12.588673a175.096996 175.096996 0 0 1 242.256662 0.120465l11.624947 12.648906c16.383345 17.708468 48.427239 25.598976 71.255503 17.347071 0 0 20.358715-7.529111 67.159666-34.513443 46.740719-27.104798 63.124063-41.199293 63.124064-41.199293 18.491496-15.600317 27.707127-47.463513 20.599646-70.833873l-5.059562-17.106139a176.723284 176.723284 0 0 1 18.672194-129.139305 176.060722 176.060722 0 0 1 102.395904-81.314394l16.68451-3.854905c23.310126-5.42096 46.258856-29.333415 50.595623-53.185637 0 0 3.854905-21.382674 3.854904-75.712737-0.240932-54.330062-4.095836-75.833202-4.095836-75.833202z m-537.819428 293.334149c-119.261112 0-216.175824-97.336342-216.175824-217.621412a216.657687 216.657687 0 0 1 216.236057-217.320249c119.200879 0 216.115591 97.276109 216.11559 217.56118-0.240932 120.044139-96.974945 217.320248-216.175823 217.320249z" p-id="10234"/></svg>
|
||||||
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 3.6 KiB |
@ -1,3 +0,0 @@
|
|||||||
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M3.79171 4.37499C3.79171 2.60308 5.22813 1.16666 7.00004 1.16666C8.77196 1.16666 10.2084 2.60308 10.2084 4.37499H9.04171C9.04171 3.24741 8.12762 2.33332 7.00004 2.33332C5.87246 2.33332 4.95837 3.24741 4.95837 4.37499V5.54166H11.6667C12.15 5.54166 12.5417 5.93341 12.5417 6.41666V11.6667C12.5417 12.1499 12.15 12.5417 11.6667 12.5417H2.33337C1.85013 12.5417 1.45837 12.1499 1.45837 11.6667V6.41666C1.45837 5.93341 1.85012 5.54166 2.33337 5.54166H3.79171V4.37499ZM2.62504 6.70832V11.375H11.375V6.70832H2.62504ZM7.58337 10.5V7.58332H6.41671V10.5H7.58337Z" fill="#4E5969"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 722 B |
@ -1,3 +0,0 @@
|
|||||||
<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M5.25004 4.375C5.25004 3.4085 6.03354 2.62499 7.00004 2.62499C7.96654 2.62499 8.75004 3.4085 8.75004 4.375C8.75004 5.34149 7.96654 6.125 7.00004 6.125C6.03354 6.125 5.25004 5.34149 5.25004 4.375ZM7.00004 1.45833C5.38921 1.45833 4.08337 2.76416 4.08337 4.375C4.08337 5.98583 5.38921 7.29166 7.00004 7.29166C8.61087 7.29166 9.91671 5.98583 9.91671 4.375C9.91671 2.76416 8.61087 1.45833 7.00004 1.45833ZM4.66671 7.875C3.82716 7.875 3.03057 8.13082 2.43366 8.63611C1.8275 9.14923 1.45837 9.8955 1.45837 10.7917V11.6667C1.45837 12.1499 1.85013 12.5417 2.33337 12.5417H11.6667C12.15 12.5417 12.5417 12.1499 12.5417 11.6667V10.7917C12.5417 9.8955 12.1726 9.14923 11.5664 8.63611C10.9695 8.13082 10.1729 7.875 9.33337 7.875H4.66671ZM2.62504 10.7917C2.62504 10.2381 2.84354 9.81768 3.18744 9.52657C3.54059 9.22763 4.0565 9.04166 4.66671 9.04166H9.33337C9.94358 9.04166 10.4595 9.22763 10.8126 9.52657C11.1565 9.81768 11.375 10.2381 11.375 10.7917V11.375H2.62504V10.7917Z" fill="#4E5969"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 1.1 KiB |
@ -1,5 +0,0 @@
|
|||||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<rect x="1" y="1" width="14" height="14" rx="2" fill="#233A82"/>
|
|
||||||
<path d="M10.6625 3.56079H5.26806C4.32646 3.56079 3.56006 4.32719 3.56006 5.26879V10.7288C3.56006 11.6704 4.32646 12.4368 5.26806 12.4368H10.6625C11.6041 12.4368 12.3705 11.6704 12.3705 10.7288V5.26879C12.3713 4.32719 11.6049 3.56079 10.6625 3.56079ZM6.07926 10.4432C5.42886 10.4432 4.89926 9.91359 4.89926 9.26319C4.89926 8.61279 5.42886 8.08319 6.07926 8.08319C6.72966 8.08319 7.25926 8.61279 7.25926 9.26319C7.25926 9.91439 6.72966 10.4432 6.07926 10.4432ZM7.43286 6.07519L6.25286 7.22159C6.17046 7.30159 6.06086 7.34639 5.94646 7.34639H5.93926C5.88126 7.34555 5.82401 7.33316 5.77085 7.30995C5.7177 7.28673 5.6697 7.25316 5.62966 7.21119L4.94006 6.49359C4.85925 6.4094 4.81513 6.29659 4.81738 6.17991C4.81963 6.06323 4.86806 5.95221 4.95206 5.87119C5.03625 5.79038 5.14906 5.74626 5.26574 5.74851C5.38242 5.75076 5.49344 5.79919 5.57446 5.88319L5.95766 6.28159L6.82006 5.44399C6.86149 5.40367 6.91046 5.37192 6.96417 5.35054C7.01788 5.32916 7.07528 5.31858 7.13308 5.31939C7.19089 5.32021 7.24796 5.33241 7.30105 5.3553C7.35413 5.37819 7.40218 5.41132 7.44246 5.45279C7.52325 5.53684 7.56757 5.6494 7.56577 5.76597C7.56397 5.88253 7.5162 5.99367 7.43286 6.07519ZM10.7977 9.78159H8.25446C7.98966 9.78159 7.77446 9.56639 7.77446 9.30159C7.77446 9.03679 7.98966 8.82159 8.25446 8.82159H10.7977C11.0625 8.82159 11.2777 9.03679 11.2777 9.30159C11.2777 9.56639 11.0625 9.78159 10.7977 9.78159ZM10.7977 6.90559H8.25446C7.98966 6.90559 7.77446 6.69039 7.77446 6.42559C7.77446 6.16079 7.98966 5.94559 8.25446 5.94559H10.7977C11.0625 5.94559 11.2777 6.16079 11.2777 6.42559C11.2777 6.69039 11.0625 6.90559 10.7977 6.90559Z" fill="white"/>
|
|
||||||
<path d="M6.00159 8.87109C5.77919 8.87109 5.59839 9.05189 5.59839 9.27429C5.59839 9.49669 5.77919 9.67749 6.00159 9.67749C6.22399 9.67749 6.40479 9.49669 6.40479 9.27429C6.40479 9.05189 6.22399 8.87109 6.00159 8.87109Z" fill="white"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 2.0 KiB |
@ -1,4 +0,0 @@
|
|||||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<rect x="1" y="1" width="14" height="14" rx="2" fill="#3491FA"/>
|
|
||||||
<path d="M7.99326 2.81006C5.13086 2.81006 2.81006 5.13086 2.81006 7.99326C2.81006 10.8557 5.13086 13.1765 7.99326 13.1765C10.8557 13.1765 13.1765 10.8557 13.1765 7.99326C13.1765 5.13086 10.8557 2.81006 7.99326 2.81006ZM10.0005 8.98046H7.54686C7.40873 8.98046 7.27627 8.92559 7.1786 8.82792C7.08093 8.73025 7.02606 8.59778 7.02606 8.45966V5.61166C7.02606 5.47353 7.08093 5.34107 7.1786 5.2434C7.27627 5.14573 7.40873 5.09086 7.54686 5.09086C7.68498 5.09086 7.81745 5.14573 7.91512 5.2434C8.01279 5.34107 8.06766 5.47353 8.06766 5.61166V7.93886H10.0005C10.1386 7.93886 10.2711 7.99373 10.3687 8.0914C10.4664 8.18907 10.5213 8.32153 10.5213 8.45966C10.5213 8.74766 10.2885 8.98046 10.0005 8.98046Z" fill="white"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 879 B |
@ -1,4 +0,0 @@
|
|||||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<rect x="1" y="1" width="14" height="14" rx="2" fill="#F53F3F"/>
|
|
||||||
<path d="M7.71483 3.27373C6.72523 2.95373 5.76843 3.31693 5.10843 3.70653C4.99243 3.32333 4.63323 3.05453 4.22363 3.10653C3.85483 3.15293 3.55403 3.46813 3.50683 3.85933C3.46603 4.20093 3.61163 4.50973 3.85003 4.68813V12.6521C3.85003 12.9273 4.05003 13.1673 4.31003 13.1761C4.57883 13.1849 4.79883 12.9561 4.79883 12.6737V9.94893C7.47963 8.18173 9.11003 9.41773 10.2492 9.69533C11.1788 9.92173 11.9716 9.55853 12.2732 9.38813C12.354 9.34253 12.4036 9.25293 12.4036 9.15613V4.21773C12.4036 4.02013 12.2076 3.89693 12.0412 3.98413C10.6996 4.69053 9.35963 3.80573 7.71483 3.27373ZM9.92043 6.09693C9.52043 6.00733 8.99403 5.81853 8.35083 5.43693C7.21963 4.76653 6.23403 5.39693 6.19323 5.42413C5.97643 5.56653 5.69003 5.49773 5.55403 5.26813C5.41803 5.03933 5.48123 4.73773 5.69643 4.59213C5.75643 4.55213 7.17803 3.61293 8.80443 4.57773C9.36923 4.91213 9.80763 5.06573 10.114 5.13453C10.3276 5.18253 10.4788 5.38413 10.4788 5.61533C10.478 5.92653 10.2084 6.16093 9.92043 6.09693Z" fill="white"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 1.1 KiB |
@ -1,4 +0,0 @@
|
|||||||
<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<rect x="1" y="1" width="14" height="14" rx="2" fill="#F77234"/>
|
|
||||||
<path fill-rule="evenodd" clip-rule="evenodd" d="M13.3488 7.76984L12.036 6.45704C11.9757 6.39681 11.9417 6.31509 11.9416 6.22984V4.37224C11.9416 4.19464 11.7976 4.05144 11.6208 4.05144H9.76399C9.67919 4.05144 9.59679 4.01784 9.53679 3.95704L8.22399 2.64424C8.19417 2.61438 8.15875 2.59069 8.11977 2.57453C8.08078 2.55837 8.03899 2.55005 7.99679 2.55005C7.95459 2.55005 7.9128 2.55837 7.87382 2.57453C7.83483 2.59069 7.79942 2.61438 7.76959 2.64424L6.45599 3.95704C6.39576 4.01737 6.31404 4.05133 6.22879 4.05144H4.37199C4.32986 4.05144 4.28815 4.05973 4.24923 4.07586C4.21031 4.09198 4.17494 4.11561 4.14515 4.1454C4.11536 4.17519 4.09173 4.21055 4.07561 4.24947C4.05949 4.28839 4.05119 4.33011 4.05119 4.37224V6.22904C4.05119 6.31384 4.01759 6.39624 3.95679 6.45624L2.64399 7.76984C2.61413 7.79966 2.59045 7.83508 2.57428 7.87406C2.55812 7.91305 2.5498 7.95483 2.5498 7.99704C2.5498 8.03924 2.55812 8.08103 2.57428 8.12001C2.59045 8.159 2.61413 8.19441 2.64399 8.22424L3.95679 9.53704C4.01713 9.59726 4.05108 9.67898 4.05119 9.76424V11.621C4.05119 11.7986 4.19519 11.9418 4.37199 11.9418H6.22879C6.31359 11.9418 6.39599 11.9754 6.45599 12.0362L7.76879 13.349C7.79862 13.3789 7.83403 13.4026 7.87302 13.4187C7.912 13.4349 7.95379 13.4432 7.99599 13.4432C8.03819 13.4432 8.07998 13.4349 8.11897 13.4187C8.15795 13.4026 8.19337 13.3789 8.22319 13.349L9.53599 12.0362C9.59622 11.9759 9.67794 11.9419 9.76319 11.9418H11.62C11.7976 11.9418 11.9408 11.7978 11.9408 11.621V9.76424C11.9408 9.67944 11.9744 9.59704 12.0352 9.53704L13.348 8.22424C13.378 8.19451 13.4018 8.15915 13.4181 8.12019C13.4344 8.08123 13.4428 8.03943 13.4429 7.9972C13.443 7.95497 13.4347 7.91315 13.4185 7.87413C13.4024 7.83511 13.3787 7.79966 13.3488 7.76984ZM5.44559 6.59864C5.44559 5.83624 5.90959 5.23944 6.50239 5.23944C7.09519 5.23944 7.55919 5.83624 7.55919 6.59864C7.55919 7.36104 7.09519 7.95784 6.50239 7.95784C5.90959 7.95784 5.44559 7.36104 5.44559 6.59864ZM7.29919 10.6354C7.26265 10.7068 7.20706 10.7668 7.13859 10.8086C7.07011 10.8503 6.99141 10.8724 6.91119 10.8722C6.83657 10.8722 6.7632 10.8531 6.69812 10.8165C6.63305 10.78 6.57845 10.7274 6.53958 10.6637C6.5007 10.6 6.47885 10.5274 6.47612 10.4528C6.47339 10.3782 6.48988 10.3042 6.52399 10.2378L8.79679 5.80344C8.8228 5.75245 8.85863 5.7071 8.90221 5.66999C8.9458 5.63288 8.99628 5.60475 9.05077 5.58721C9.10525 5.56966 9.16267 5.56306 9.21972 5.56776C9.27676 5.57247 9.33232 5.5884 9.38319 5.61464C9.43412 5.64072 9.4794 5.67658 9.51645 5.72018C9.55351 5.76377 9.5816 5.81424 9.59914 5.8687C9.61667 5.92316 9.6233 5.98055 9.61864 6.03757C9.61399 6.0946 9.59813 6.15014 9.57199 6.20104L7.29919 10.6354ZM9.88399 10.6098C9.29119 10.6098 8.82719 10.013 8.82719 9.25064C8.82719 8.48824 9.29119 7.89144 9.88399 7.89144C10.4768 7.89144 10.9408 8.48824 10.9408 9.25064C10.9408 10.013 10.476 10.6098 9.88399 10.6098ZM9.83644 8.79917C9.77912 8.86492 9.69824 9.01737 9.69824 9.2507C9.69824 9.5603 9.84064 9.7283 9.88544 9.7387C9.9002 9.73464 9.92826 9.71018 9.95806 9.66594C10.0154 9.60092 10.0972 9.44762 10.0972 9.213C10.0972 8.9034 9.95481 8.7354 9.91001 8.725C9.89509 8.72909 9.86659 8.75404 9.83644 8.79917ZM6.49961 6.1106C6.54441 6.121 6.68681 6.289 6.68681 6.5986C6.68681 6.9082 6.54521 7.0754 6.50361 7.0866C6.45881 7.0762 6.31641 6.9082 6.31641 6.5986C6.31641 6.289 6.45881 6.1218 6.49961 6.1106Z" fill="white"/>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 473 KiB |
@ -23,8 +23,8 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click">
|
<el-dropdown class="avatar-container right-menu-item hover-effect" trigger="click">
|
||||||
<div>
|
<div class="avatar-wrapper">
|
||||||
<el-avatar :style="`background:${extractColorByName(user.nickName)}`">{{ extractName(user.nickName) }}</el-avatar>
|
<img :src="user.avatarName ? baseApi + '/system/avatar/' + user.avatarName : Avatar" class="user-avatar">
|
||||||
<i class="el-icon-caret-bottom" />
|
<i class="el-icon-caret-bottom" />
|
||||||
</div>
|
</div>
|
||||||
<el-dropdown-menu slot="dropdown">
|
<el-dropdown-menu slot="dropdown">
|
||||||
@ -110,17 +110,6 @@ export default {
|
|||||||
this.$store.dispatch('LogOut').then(() => {
|
this.$store.dispatch('LogOut').then(() => {
|
||||||
location.reload()
|
location.reload()
|
||||||
})
|
})
|
||||||
},
|
|
||||||
extractColorByName(name) {
|
|
||||||
var temp = []
|
|
||||||
temp.push('#')
|
|
||||||
for (let index = 0; index < name.length; index++) {
|
|
||||||
temp.push(parseInt(name[index].charCodeAt(0), 10).toString(16))
|
|
||||||
}
|
|
||||||
return temp.slice(0, 5).join('').slice(0, 4)
|
|
||||||
},
|
|
||||||
extractName(name) {
|
|
||||||
return name.slice(0, 1)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import Logo from '@/assets/images/data.png'
|
import Logo from '@/assets/images/logo.png'
|
||||||
export default {
|
export default {
|
||||||
name: 'SidebarLogo',
|
name: 'SidebarLogo',
|
||||||
props: {
|
props: {
|
||||||
@ -25,7 +25,7 @@ export default {
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
title: '数据标准符合性检测工具',
|
title: 'AllData科学护城河',
|
||||||
logo: Logo
|
logo: Logo
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,6 @@ import Vue from 'vue'
|
|||||||
import Cookies from 'js-cookie'
|
import Cookies from 'js-cookie'
|
||||||
|
|
||||||
import 'normalize.css/normalize.css'
|
import 'normalize.css/normalize.css'
|
||||||
import './styles/datastyle.css'
|
|
||||||
|
|
||||||
import Element from 'element-ui'
|
import Element from 'element-ui'
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ module.exports = {
|
|||||||
/**
|
/**
|
||||||
* @description 网站标题
|
* @description 网站标题
|
||||||
*/
|
*/
|
||||||
title: '数据标准符合性检测工具',
|
title: 'AllData科学护城河',
|
||||||
/**
|
/**
|
||||||
* @description 是否显示 tagsView
|
* @description 是否显示 tagsView
|
||||||
*/
|
*/
|
||||||
|
@ -1,893 +0,0 @@
|
|||||||
/*sidebar-container*/
|
|
||||||
body #app .sidebar-container{
|
|
||||||
background: #f5f6fd;
|
|
||||||
border-right: 1px solid #E5E6EB;
|
|
||||||
}
|
|
||||||
body .sidebar-logo-container {
|
|
||||||
padding: 8px 0;
|
|
||||||
height: 66px !important;
|
|
||||||
}
|
|
||||||
body .sidebar-logo-container .sidebar-logo-link .sidebar-title{
|
|
||||||
color: #1D2129 !important;
|
|
||||||
font-size: 16px !important;
|
|
||||||
}
|
|
||||||
body #app .sidebar-container .el-scrollbar__view>.el-menu{
|
|
||||||
padding: 0 8px;
|
|
||||||
}
|
|
||||||
body #app .sidebar-container .el-scrollbar__view>.el-menu .menu-wrapper+.menu-wrapper{
|
|
||||||
margin-top: 4px;
|
|
||||||
}
|
|
||||||
body #app .sidebar-container .el-menu{
|
|
||||||
background: #f5f6fd !important;
|
|
||||||
}
|
|
||||||
body #app .sidebar-container .el-submenu .el-menu-item {
|
|
||||||
height: 40px;
|
|
||||||
line-height: 40px;
|
|
||||||
}
|
|
||||||
body #app .sidebar-container .el-menu .el-menu-item{
|
|
||||||
background: #f5f6fd !important;
|
|
||||||
color: #4E5969 !important;
|
|
||||||
height: 40px;
|
|
||||||
line-height: 40px;
|
|
||||||
}
|
|
||||||
body #app .sidebar-container .el-submenu>.el-submenu__title .svg-icon{
|
|
||||||
fill:currentColor;
|
|
||||||
color:#4E5969;
|
|
||||||
}
|
|
||||||
body #app .sidebar-container .el-menu .el-menu .el-menu-item .svg-icon{
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
body #app .sidebar-container .el-menu .el-menu .el-menu-item .svg-icon+span{
|
|
||||||
margin-left: 10px;
|
|
||||||
}
|
|
||||||
body #app .sidebar-container .submenu-title-noDropdown:hover,
|
|
||||||
body #app .sidebar-container .el-submenu__title:hover {
|
|
||||||
background-color: #f5f6fd !important;
|
|
||||||
}
|
|
||||||
body #app .sidebar-container .el-submenu>.el-submenu__title{
|
|
||||||
height: 40px;
|
|
||||||
line-height: 40px;
|
|
||||||
background: #f5f6fd !important;
|
|
||||||
color: #4E5969 !important;
|
|
||||||
}
|
|
||||||
body #app .sidebar-container .is-active>.el-submenu__title{
|
|
||||||
color: #233A82;
|
|
||||||
}
|
|
||||||
body #app .sidebar-container .nest-menu .el-submenu>.el-submenu__title:hover,
|
|
||||||
body #app .sidebar-container .el-submenu .el-menu-item:hover {
|
|
||||||
background: #f5f6fd !important;
|
|
||||||
color: #4E5969 !important;
|
|
||||||
}
|
|
||||||
body #app .sidebar-container .el-submenu .el-menu-item.is-active,
|
|
||||||
body #app .sidebar-container .el-submenu .el-menu-item.is-active:hover{
|
|
||||||
background: #E9ECF4 !important;
|
|
||||||
color: #233A82 !important;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
body #app .hideSidebar .submenu-title-noDropdown .el-tooltip .svg-icon,
|
|
||||||
body #app .hideSidebar .el-submenu>.el-submenu__title .svg-icon{
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
body #app .hideSidebar .submenu-title-noDropdown .el-tooltip,
|
|
||||||
body #app .hideSidebar .el-submenu>.el-submenu__title{
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
body #app .openSidebar .sidebar-logo-container .sidebar-logo-link .sidebar-logo{
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
body #app .hideSidebar .sidebar-logo-container .sidebar-logo-link .sidebar-logo{
|
|
||||||
display: block;
|
|
||||||
margin: 0 auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*main-container*/
|
|
||||||
|
|
||||||
/*fixed-header*/
|
|
||||||
body .main-container .fixed-header{
|
|
||||||
z-index: 1002 !important;
|
|
||||||
}
|
|
||||||
body .main-container .fixed-header .navbar .hamburger-container{
|
|
||||||
padding: 0 !important;
|
|
||||||
text-align: center;
|
|
||||||
line-height: 40px;
|
|
||||||
background: #f5f6fd;
|
|
||||||
color: #4E5969;
|
|
||||||
position: fixed;
|
|
||||||
bottom: 0;
|
|
||||||
left: 150px;
|
|
||||||
width: 40px;
|
|
||||||
height: 40px;
|
|
||||||
float: inherit;
|
|
||||||
transition:transform .28s;
|
|
||||||
}
|
|
||||||
body .hideSidebar .main-container .fixed-header .navbar .hamburger-container{
|
|
||||||
left: 7px;
|
|
||||||
}
|
|
||||||
body .main-container .fixed-header .navbar{
|
|
||||||
box-shadow: none !important;
|
|
||||||
border-bottom: 1px solid #E5E6EB;
|
|
||||||
padding: 0 20px;
|
|
||||||
}
|
|
||||||
body .main-container .fixed-header .navbar .app-breadcrumb.el-breadcrumb{
|
|
||||||
margin-left: 0;
|
|
||||||
}
|
|
||||||
body .main-container .fixed-header .navbar .app-breadcrumb.el-breadcrumb .el-breadcrumb__item .el-breadcrumb__inner.is-link,
|
|
||||||
body .main-container .fixed-header .navbar .app-breadcrumb.el-breadcrumb .el-breadcrumb__item .el-breadcrumb__inner a{
|
|
||||||
color: #4E5969 !important;
|
|
||||||
}
|
|
||||||
body .main-container .fixed-header .navbar .app-breadcrumb.el-breadcrumb .el-breadcrumb__item .no-redirect{
|
|
||||||
color: #4E5969 !important;
|
|
||||||
}
|
|
||||||
body .main-container .fixed-header .navbar .app-breadcrumb.el-breadcrumb .el-breadcrumb__item:last-child .no-redirect{
|
|
||||||
color: #1D2129 !important;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
body .main-container .fixed-header .tags-view-container{
|
|
||||||
box-shadow: none !important;
|
|
||||||
border-bottom: 1px solid #E5E6EB;
|
|
||||||
background: #F7F8FA;
|
|
||||||
height: 40px;
|
|
||||||
}
|
|
||||||
body .main-container .fixed-header .tags-view-container .tags-view-wrapper .tags-view-item{
|
|
||||||
background: transparent;
|
|
||||||
border-color: transparent;
|
|
||||||
color: #4E5969;
|
|
||||||
margin-top: 6px;
|
|
||||||
padding: 0 5px 0 16px;
|
|
||||||
margin-left: 6px;
|
|
||||||
}
|
|
||||||
body .main-container .fixed-header .tags-view-container .tags-view-wrapper .tags-view-item:first-of-type {
|
|
||||||
margin-left: 20px;
|
|
||||||
padding: 0 16px;
|
|
||||||
}
|
|
||||||
body .main-container .fixed-header .tags-view-container .tags-view-wrapper .tags-view-item.active{
|
|
||||||
background-color: #fff;
|
|
||||||
color: #233a82;
|
|
||||||
border-color: #fff;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
body .main-container .fixed-header .tags-view-container .tags-view-wrapper .tags-view-item.active::before{
|
|
||||||
content: none;
|
|
||||||
}
|
|
||||||
body .main-container .fixed-header .tags-view-container .tags-view-wrapper .tags-view-item .el-icon-close{
|
|
||||||
background: transparent !important;
|
|
||||||
font-size: 16px;
|
|
||||||
}
|
|
||||||
body .main-container .fixed-header .tags-view-container .tags-view-wrapper .tags-view-item .el-icon-close:hover,
|
|
||||||
body .main-container .fixed-header .tags-view-container .tags-view-wrapper .tags-view-item.active .el-icon-close:hover{
|
|
||||||
color: #233a82;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*app-main*/
|
|
||||||
body .hasTagsView .fixed-header+.app-main{
|
|
||||||
padding-top: 90px !important;
|
|
||||||
}
|
|
||||||
body .hasTagsView .app-main{
|
|
||||||
min-height: calc(100vh - 90px) !important;
|
|
||||||
}
|
|
||||||
body .hasTagsView .app-main .el-card{
|
|
||||||
border: 0;
|
|
||||||
border-radius: 0;
|
|
||||||
}
|
|
||||||
body .el-card.box-card.is-always-shadow,
|
|
||||||
body .hasTagsView .app-main .el-card.box-card.is-always-shadow{
|
|
||||||
box-shadow: none;
|
|
||||||
}
|
|
||||||
body .el-card .el-card__header,
|
|
||||||
body .hasTagsView .app-main .el-card .el-card__header{
|
|
||||||
border-bottom: 1px solid #E5E6EB;
|
|
||||||
padding: 10px 20px;
|
|
||||||
}
|
|
||||||
body .el-card .el-card__header .clearfix::before,
|
|
||||||
body .el-card .el-card__header .clearfix::after{
|
|
||||||
content: "";
|
|
||||||
display: table;
|
|
||||||
}
|
|
||||||
body .el-card .el-card__header .clearfix::after{
|
|
||||||
clear: both;
|
|
||||||
}
|
|
||||||
body .hasTagsView .app-main .el-card .el-card__header>.clearfix>span{
|
|
||||||
line-height: 29px;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #1D2129 ;
|
|
||||||
}
|
|
||||||
body .hasTagsView .app-main .el-card .el-card__body{
|
|
||||||
padding: 20px;
|
|
||||||
}
|
|
||||||
body .hasTagsView .app-main .dashboard-editor-container{
|
|
||||||
padding: 20px;
|
|
||||||
background-color: #f7f8fa;
|
|
||||||
}
|
|
||||||
body .hasTagsView .app-main .dashboard-editor-container .panel-group:first-child,
|
|
||||||
body .hasTagsView .app-main .dashboard-editor-container .github-corner+.panel-group{
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
||||||
body .hasTagsView .app-main .dashboard-editor-container .github-corner{
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*.app-container*/
|
|
||||||
body .hasTagsView .app-main>.app-container{
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
body .hasTagsView .app-main>.app-container>.el-row{
|
|
||||||
margin-left: 0 !important;
|
|
||||||
margin-right: 0 !important;
|
|
||||||
}
|
|
||||||
body .hasTagsView .app-main>.app-container>.el-row>.el-col{
|
|
||||||
padding-left: 0 !important;
|
|
||||||
padding-right: 0 !important;
|
|
||||||
}
|
|
||||||
body .hasTagsView .app-main>.app-container>.el-row>.el-col.el-col-6{
|
|
||||||
width: 248px;
|
|
||||||
}
|
|
||||||
body .hasTagsView .app-main>.app-container>.el-row>.el-col.el-col-6+.el-col-18{
|
|
||||||
width: calc(100% - 248px);
|
|
||||||
}
|
|
||||||
body .hasTagsView .app-main>.app-container>.el-row>.el-col.el-col-6>.el-card>.el-card__body{
|
|
||||||
height: calc(100vh - 90px);
|
|
||||||
overflow: auto;
|
|
||||||
border-right: 1px solid #e5e6eb;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*el-button*/
|
|
||||||
body .el-button,
|
|
||||||
body .el-button:focus{
|
|
||||||
color:#4E5969;
|
|
||||||
background-color:#fff;
|
|
||||||
border-color:#E5E6EB;
|
|
||||||
}
|
|
||||||
body .el-button:hover{
|
|
||||||
color:#4E5969;
|
|
||||||
background-color:#fff;
|
|
||||||
border-color:#C9CDD4;
|
|
||||||
}
|
|
||||||
body .el-button:active{
|
|
||||||
color:#4E5969;
|
|
||||||
background-color:#fff;
|
|
||||||
border-color:#86909C;
|
|
||||||
}
|
|
||||||
body .el-button.is-disabled,
|
|
||||||
body .el-button.is-disabled:active,
|
|
||||||
body .el-button.is-disabled:focus,
|
|
||||||
body .el-button.is-disabled:hover {
|
|
||||||
color: #C9CDD4;
|
|
||||||
background-color: #fff;
|
|
||||||
border-color: #E5E6EB;
|
|
||||||
}
|
|
||||||
body .el-button--primary,
|
|
||||||
body .el-button--primary:focus,
|
|
||||||
body .el-button.ms-btn,
|
|
||||||
body .el-button.ms-btn:focus{
|
|
||||||
color:#fff;
|
|
||||||
background-color:#233A82;
|
|
||||||
border-color:#233A82;
|
|
||||||
}
|
|
||||||
body .el-button--primary:hover,
|
|
||||||
body .el-button.ms-btn:hover{
|
|
||||||
color:#fff;
|
|
||||||
background:#2B50C4;
|
|
||||||
border-color:#2B50C4;
|
|
||||||
}
|
|
||||||
body .el-button--primary:active,
|
|
||||||
body .el-button--primary.is-active,
|
|
||||||
body .el-button.ms-btn:active,
|
|
||||||
body .el-button.ms-btn.is-active{
|
|
||||||
color:#fff;
|
|
||||||
background:#042281;
|
|
||||||
border-color:#042281;
|
|
||||||
}
|
|
||||||
body .el-button--primary.is-disabled,
|
|
||||||
body .el-button--primary.is-disabled:active,
|
|
||||||
body .el-button--primary.is-disabled:focus,
|
|
||||||
body .el-button--primary.is-disabled:hover ,
|
|
||||||
body .el-button.ms-btn.is-disabled,
|
|
||||||
body .el-button.ms-btn.is-disabled:active,
|
|
||||||
body .el-button.ms-btn.is-disabled:focus,
|
|
||||||
body .el-button.ms-btn.is-disabled:hover{
|
|
||||||
color: #fff;
|
|
||||||
background-color: #93A7E4;
|
|
||||||
border-color: #93A7E4;
|
|
||||||
}
|
|
||||||
body .el-button.is-plain,
|
|
||||||
body .el-button.is-plain:focus{
|
|
||||||
color:#4E5969;
|
|
||||||
background-color:#fff;
|
|
||||||
border-color:#E5E6EB;
|
|
||||||
}
|
|
||||||
body .el-button.is-plain:hover{
|
|
||||||
color:#4E5969;
|
|
||||||
background-color:#fff;
|
|
||||||
border-color:#C9CDD4;
|
|
||||||
}
|
|
||||||
body .el-button.is-plain:active{
|
|
||||||
color:#4E5969;
|
|
||||||
background-color:#fff;
|
|
||||||
border-color:#86909C;
|
|
||||||
}
|
|
||||||
body .el-button.is-plain.is-disabled,
|
|
||||||
body .el-button.is-plain.is-disabled:active,
|
|
||||||
body .el-button.is-plain.is-disabled:focus,
|
|
||||||
body .el-button.is-plain.is-disabled:hover {
|
|
||||||
color: #C9CDD4;
|
|
||||||
background-color: #fff;
|
|
||||||
border-color: #E5E6EB;
|
|
||||||
}
|
|
||||||
body .el-button--primary.is-plain,
|
|
||||||
body .el-button--primary.is-plain:focus{
|
|
||||||
color: #4e5969;
|
|
||||||
background: #f2f3f5;
|
|
||||||
border-color: #f2f3f5;
|
|
||||||
}
|
|
||||||
body .el-button--primary.is-plain:hover{
|
|
||||||
color: #4e5969;
|
|
||||||
background: #e5e6eb;
|
|
||||||
border-color: #e5e6eb;
|
|
||||||
}
|
|
||||||
body .el-button--primary.is-plain:active{
|
|
||||||
color: #4e5969;
|
|
||||||
background: #c9cdd4;
|
|
||||||
border-color: #c9cdd4;
|
|
||||||
}
|
|
||||||
body .el-button--primary.is-plain.is-disabled,
|
|
||||||
body .el-button--primary.is-plain.is-disabled:active,
|
|
||||||
body .el-button--primary.is-plain.is-disabled:focus,
|
|
||||||
body .el-button--primary.is-plain.is-disabled:hover {
|
|
||||||
color: #c9cdd4;
|
|
||||||
background-color: #f7f8fa;
|
|
||||||
border-color: #f7f8fa;
|
|
||||||
}
|
|
||||||
body .el-button--text,
|
|
||||||
body .el-button--text:focus{
|
|
||||||
color: #233A82;
|
|
||||||
background-color: transparent;
|
|
||||||
border: 0;
|
|
||||||
padding: 0 !important;
|
|
||||||
width: auto !important;
|
|
||||||
}
|
|
||||||
body .el-button--text:hover{
|
|
||||||
color:#2B50C4;
|
|
||||||
background-color:transparent;
|
|
||||||
}
|
|
||||||
body .el-button--text:active{
|
|
||||||
color:#042281;
|
|
||||||
background-color:transparent;
|
|
||||||
}
|
|
||||||
body .el-button--text.is-disabled,
|
|
||||||
body .el-button--text.is-disabled:active,
|
|
||||||
body .el-button--text.is-disabled:focus,
|
|
||||||
body .el-button--text.is-disabled:hover {
|
|
||||||
color:#93A7E4;
|
|
||||||
background-color:transparent;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*el-tag*/
|
|
||||||
body .el-tag{
|
|
||||||
background: #E8F7FF;
|
|
||||||
border-color: #E8F7FF;
|
|
||||||
color: #3491fa;
|
|
||||||
}
|
|
||||||
body .el-tag.el-tag--success{
|
|
||||||
background: #E8FFEA;
|
|
||||||
border-color: #E8FFEA;
|
|
||||||
color: #00b42a;
|
|
||||||
}
|
|
||||||
body .el-tag.el-tag--warning{
|
|
||||||
background: #FFF7E8;
|
|
||||||
border-color: #FFF7E8;
|
|
||||||
color: #ff7d00;
|
|
||||||
}
|
|
||||||
body .el-tag.el-tag--danger{
|
|
||||||
background: #FFECE8;
|
|
||||||
border-color: #FFECE8;
|
|
||||||
color: #f53f3f;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*el-table*/
|
|
||||||
body .el-table{
|
|
||||||
color: #1d2129;
|
|
||||||
}
|
|
||||||
body .el-table::before{
|
|
||||||
content: none;
|
|
||||||
}
|
|
||||||
body .el-table-column--selection .cell {
|
|
||||||
padding-left: 10px;
|
|
||||||
padding-right: 10px;
|
|
||||||
}
|
|
||||||
body .el-table .el-table__cell.is-center {
|
|
||||||
text-align: left;
|
|
||||||
}
|
|
||||||
body .el-table th.el-table__cell{
|
|
||||||
background: #f2f3f5;
|
|
||||||
color: #1d2129;
|
|
||||||
}
|
|
||||||
body .el-table th.el-table__cell.is-leaf,
|
|
||||||
body .el-table td.el-table__cell{
|
|
||||||
border-color: #e5e6eb ;
|
|
||||||
}
|
|
||||||
body .el-table--medium .el-table__cell {
|
|
||||||
padding: 8px 0;
|
|
||||||
}
|
|
||||||
body .el-table--border {
|
|
||||||
border: 0;
|
|
||||||
}
|
|
||||||
body .el-table--border::after,
|
|
||||||
body .el-table--group::after,
|
|
||||||
body .el-table::before {
|
|
||||||
background-color: #e5e6eb;
|
|
||||||
}
|
|
||||||
body .el-table--border::after {
|
|
||||||
content: none;
|
|
||||||
}
|
|
||||||
body .el-table--border.btable::after {
|
|
||||||
content: "";
|
|
||||||
}
|
|
||||||
body .el-table--border .el-table__cell {
|
|
||||||
border-right: 0;
|
|
||||||
}
|
|
||||||
body .el-table.btable{
|
|
||||||
border-top: 1px solid #e5e6eb !important;
|
|
||||||
border-left: 1px solid #e5e6eb !important;
|
|
||||||
}
|
|
||||||
body .el-table.btable .el-table__cell {
|
|
||||||
border-right: 1px solid #EBEEF5;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*el-tree*/
|
|
||||||
body .el-tree {
|
|
||||||
color: #1d2129;
|
|
||||||
}
|
|
||||||
body .el-tree-node+.el-tree-node{
|
|
||||||
margin-top: 4px;
|
|
||||||
}
|
|
||||||
body .el-tree-node__content{
|
|
||||||
height: 34px;
|
|
||||||
}
|
|
||||||
body .el-tree-node.is-current>.el-tree-node__content {
|
|
||||||
background-color: #f2f3f5;
|
|
||||||
color: #233A82;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
body .el-tree-node .el-tree-node__content:hover{
|
|
||||||
background-color: #f2f3f5;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*el-checkbox*/
|
|
||||||
body .el-checkbox__inner:hover,
|
|
||||||
body .el-checkbox__input.is-focus .el-checkbox__inner{
|
|
||||||
border-color: #233A82;
|
|
||||||
}
|
|
||||||
body .el-checkbox__input.is-checked .el-checkbox__inner {
|
|
||||||
background-color: #233A82;
|
|
||||||
border-color: #233A82;
|
|
||||||
}
|
|
||||||
body .el-checkbox__input.is-checked+.el-checkbox__label {
|
|
||||||
color: #233A82;
|
|
||||||
}
|
|
||||||
body .el-checkbox__input.is-indeterminate .el-checkbox__inner {
|
|
||||||
background-color: #233A82;
|
|
||||||
border-color: #233A82;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*el-radio*/
|
|
||||||
body .el-radio__inner:hover,
|
|
||||||
body .el-.el-radio__input.is-focus .el-.el-radio__inner {
|
|
||||||
border-color: #233A82;
|
|
||||||
}
|
|
||||||
body .el-radio__input.is-checked .el-radio__inner {
|
|
||||||
border-color: #233A82;
|
|
||||||
background: #233A82;
|
|
||||||
}
|
|
||||||
body .el-radio__input.is-checked+.el-radio__label {
|
|
||||||
color: #233A82;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*el-input*/
|
|
||||||
body .el-textarea__inner:focus,
|
|
||||||
body .el-input__inner:focus,
|
|
||||||
body .el-select .el-input__inner:focus{
|
|
||||||
border-color:#233A82
|
|
||||||
}
|
|
||||||
|
|
||||||
/*el-select-dropdown*/
|
|
||||||
body .el-select .el-input.is-focus .el-input__inner,
|
|
||||||
body .el-pagination__sizes .el-input .el-input__inner:hover{
|
|
||||||
border-color:#233A82
|
|
||||||
}
|
|
||||||
body .el-select-dropdown__item.hover,
|
|
||||||
body .el-select-dropdown__item:hover {
|
|
||||||
background-color: #f2f3f5;
|
|
||||||
}
|
|
||||||
body .el-select-dropdown__item.selected {
|
|
||||||
color: #233A82;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*el-pager*/
|
|
||||||
body .el-pager li:hover,
|
|
||||||
body .el-pager li.active {
|
|
||||||
color: #233A82;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*el-main-footer*/
|
|
||||||
body #el-main-footer{
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*el-switch*/
|
|
||||||
body .el-switch.is-checked .el-switch__core {
|
|
||||||
border-color: #233a82;
|
|
||||||
background-color: #233a82;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*el-step*/
|
|
||||||
body .el-step__title {
|
|
||||||
font-size: 14px;
|
|
||||||
line-height: 32px;
|
|
||||||
}
|
|
||||||
body .el-step__line {
|
|
||||||
background-color: #E5E6EB;
|
|
||||||
}
|
|
||||||
body .el-step__head.is-success {
|
|
||||||
color: #00B42A;
|
|
||||||
border-color: #00B42A;
|
|
||||||
}
|
|
||||||
body .el-step__title.is-success {
|
|
||||||
color: #00B42A;
|
|
||||||
}
|
|
||||||
body .el-step__head.is-process {
|
|
||||||
color: #4E5969;
|
|
||||||
border-color: #4E5969;
|
|
||||||
}
|
|
||||||
body .el-step__title.is-process {
|
|
||||||
color: #4E5969;
|
|
||||||
}
|
|
||||||
body .el-step__icon.is-text {
|
|
||||||
border-width: 1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*el-form*/
|
|
||||||
body .el-form-item .el-form-item__label {
|
|
||||||
font-size: 14px;
|
|
||||||
color: #4E5969;
|
|
||||||
padding: 0 6px 0 0;
|
|
||||||
font-weight: normal;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*el-progress*/
|
|
||||||
body .el-progress-bar__inner {
|
|
||||||
background-color: #233A82 !important;
|
|
||||||
}
|
|
||||||
body .pro1 .el-progress-bar__inner {
|
|
||||||
background-color: #F53F3F !important;
|
|
||||||
}
|
|
||||||
body .el-progress-bar__inner .el-progress-bar__innerText{
|
|
||||||
color: #fff !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*modellist*/
|
|
||||||
.modellist{
|
|
||||||
display: flex;
|
|
||||||
flex-wrap: wrap;
|
|
||||||
}
|
|
||||||
.modellist .list{
|
|
||||||
display: block;
|
|
||||||
position: relative;
|
|
||||||
border: 1px solid #E5E6EB;
|
|
||||||
padding: 20px;
|
|
||||||
width: calc((100% - 60px) / 4);
|
|
||||||
margin: 10px 20px 10px 0;
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
.modellist .list:nth-child(4n){
|
|
||||||
margin-right: 0;
|
|
||||||
}
|
|
||||||
.modellist .list:hover {
|
|
||||||
border-color: transparent;
|
|
||||||
box-shadow: 0 1px 2px -2px rgb(0 0 0 / 16%), 0 3px 6px 0 rgb(0 0 0 / 12%), 0 5px 12px 4px rgb(0 0 0 / 9%);
|
|
||||||
}
|
|
||||||
.modellist .list .limg{
|
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
.modellist .list .limg img{
|
|
||||||
display: block;
|
|
||||||
width: 100px;
|
|
||||||
height: 100px;
|
|
||||||
}
|
|
||||||
.modellist .list .ltitle{
|
|
||||||
display: block;
|
|
||||||
margin: 12px 0 0 0;
|
|
||||||
}
|
|
||||||
.modellist .list .ltitle .title{
|
|
||||||
display: inline-block;
|
|
||||||
color: #4E5969 ;
|
|
||||||
font-size: 14px;
|
|
||||||
line-height: 24px;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
.modellist .list:hover .ltitle .title,
|
|
||||||
.modellist .list .ltitle .title:hover{
|
|
||||||
color: #233A82;
|
|
||||||
}
|
|
||||||
.modellist .list .lbtn{
|
|
||||||
display: none;
|
|
||||||
position: absolute;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: space-between;
|
|
||||||
height: 100%;
|
|
||||||
padding: 20px 10px;
|
|
||||||
right: 0;
|
|
||||||
top: 0;
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
.modellist .list:hover .lbtn{
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
.modellist .list .lbtn i{
|
|
||||||
line-height: 24px;
|
|
||||||
padding: 0 10px;
|
|
||||||
font-size: 14px;
|
|
||||||
color: #4E5969;
|
|
||||||
}
|
|
||||||
.modellist .list .lbtn i:hover{
|
|
||||||
color: #165DFF;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*login-page*/
|
|
||||||
body ,html{
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
.login-page{
|
|
||||||
display: flex;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
position: fixed;
|
|
||||||
}
|
|
||||||
.login-page .loleft{
|
|
||||||
display: block;
|
|
||||||
width: 66%;
|
|
||||||
background: url("../assets/images/login-bg.jpg") no-repeat center;
|
|
||||||
background-size: cover;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
.login-page .loright{
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
justify-content: center;
|
|
||||||
width: 34%;
|
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
.login-page .loright .locont{
|
|
||||||
display: block;
|
|
||||||
width: 100%;
|
|
||||||
width: 300px;
|
|
||||||
}
|
|
||||||
.login-page .loright .locont .title{
|
|
||||||
display: block;
|
|
||||||
color: #1D2129;
|
|
||||||
text-align: center;
|
|
||||||
font-size: 26px;
|
|
||||||
font-style: normal;
|
|
||||||
font-weight: bold;
|
|
||||||
line-height: 50px;
|
|
||||||
letter-spacing:0;
|
|
||||||
margin: 0 0 60px 0;
|
|
||||||
}
|
|
||||||
.login-page .loright .locont .el-form-item{
|
|
||||||
margin-bottom: 20px;
|
|
||||||
}
|
|
||||||
.login-page .loright .locont .el-form-item:last-child{
|
|
||||||
margin-bottom: 0;
|
|
||||||
}
|
|
||||||
.login-page .loright .locont .el-form-item .el-button{
|
|
||||||
display: block;
|
|
||||||
width: 100%;
|
|
||||||
}
|
|
||||||
.login-page .loright .locont .el-input__icon.el-icon-user{
|
|
||||||
background: url("../assets/images/icon-user.svg") no-repeat center;
|
|
||||||
box-sizing: 14px;
|
|
||||||
color: transparent;
|
|
||||||
}
|
|
||||||
.login-page .loright .locont .el-input__icon.el-icon-view{
|
|
||||||
background: url("../assets/images/icon-unlock.svg") no-repeat center;
|
|
||||||
box-sizing: 14px;
|
|
||||||
color: transparent;
|
|
||||||
}
|
|
||||||
.login-page .loright .locont .el-input__inner,
|
|
||||||
.login-page .loright .locont .el-button{
|
|
||||||
border-radius: 2px;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
* {
|
|
||||||
--color: #233A82;
|
|
||||||
--color_shallow: #233A82;
|
|
||||||
--count_number: #233A82;
|
|
||||||
--count_number_shallow: #233A82;
|
|
||||||
--primary_color: #233A82;
|
|
||||||
--aside_color: #233A82;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.ftitle{
|
|
||||||
display: block;
|
|
||||||
text-align: center;
|
|
||||||
font-size: 20px;
|
|
||||||
line-height: 28px;
|
|
||||||
font-weight: bold;
|
|
||||||
color: #1D2129;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
.stitle{
|
|
||||||
display: block;
|
|
||||||
text-align: left;
|
|
||||||
color: #1D2129;
|
|
||||||
font-size: 16px;
|
|
||||||
font-weight: bold;
|
|
||||||
line-height: 24px;
|
|
||||||
padding: 0 0 8px 0;
|
|
||||||
margin: 30px 0 0 0;
|
|
||||||
border-bottom: 1px solid #e5e6eb;
|
|
||||||
}
|
|
||||||
.ttitle{
|
|
||||||
display: block;
|
|
||||||
text-align: left;
|
|
||||||
color: #1D2129;
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: bold;
|
|
||||||
line-height: 22px;
|
|
||||||
padding: 0 0 8px 0;
|
|
||||||
margin: 24px 0 0 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*test-list*/
|
|
||||||
.test-list{
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
.test-list .list{
|
|
||||||
display: block;
|
|
||||||
flex: 1;
|
|
||||||
padding: 24px 24px 0 24px;
|
|
||||||
}
|
|
||||||
.test-list .list+.list{
|
|
||||||
margin-left: 24px;
|
|
||||||
}
|
|
||||||
.test-list .list .title{
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
.test-list .list .title img{
|
|
||||||
display: block;
|
|
||||||
width: 16px;
|
|
||||||
margin: 0 4px 0 0;
|
|
||||||
}
|
|
||||||
.test-list .list .title .tit{
|
|
||||||
display: block;
|
|
||||||
color: #86909C;
|
|
||||||
font-size: 14px;
|
|
||||||
line-height: 22px;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
.test-list .list .figure{
|
|
||||||
display: block;
|
|
||||||
margin: 12px 0 0 0;
|
|
||||||
padding: 0;
|
|
||||||
color: #1D2129;
|
|
||||||
font-size: 24px;
|
|
||||||
line-height: 32px;
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*badge*/
|
|
||||||
body .el-badge.newbadge{
|
|
||||||
display: inline-flex;
|
|
||||||
flex-direction: row-reverse;
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
body .el-badge.newbadge+.el-badge.newbadge{
|
|
||||||
margin-left: 20px;
|
|
||||||
}
|
|
||||||
body .el-badge.newbadge .sz{
|
|
||||||
color: #1D2129;
|
|
||||||
font-size: 14px;
|
|
||||||
font-weight: 300;
|
|
||||||
line-height: 22px;
|
|
||||||
margin: 0 0 0 10px;
|
|
||||||
}
|
|
||||||
body .el-badge.newbadge .el-badge__content.is-fixed{
|
|
||||||
position: inherit;
|
|
||||||
transform: inherit;
|
|
||||||
right: 0;
|
|
||||||
width: 18px;
|
|
||||||
height: 18px;
|
|
||||||
line-height: 18px;
|
|
||||||
text-align: center;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
font-size: 12px;
|
|
||||||
}
|
|
||||||
body .el-badge__content{
|
|
||||||
background-color: #F53F3F;
|
|
||||||
}
|
|
||||||
body .el-badge__content--warning {
|
|
||||||
background-color: #F7BA1E;
|
|
||||||
}
|
|
||||||
body .el-badge__content--primary {
|
|
||||||
background-color: #0FC6C2;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*ncoll*/
|
|
||||||
body .ncoll{
|
|
||||||
margin: 5px 0 0 0;
|
|
||||||
}
|
|
||||||
body .ncoll.el-collapse{
|
|
||||||
border: 0;
|
|
||||||
}
|
|
||||||
body .ncoll.el-collapse .el-collapse-item>div:first-child{
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
body .ncoll.el-collapse .el-collapse-item__header{
|
|
||||||
border-bottom: 0;
|
|
||||||
height: 30px;
|
|
||||||
line-height: 30px;
|
|
||||||
justify-content: center;
|
|
||||||
display: inline-flex;
|
|
||||||
color: #233A82;
|
|
||||||
}
|
|
||||||
body .ncoll.el-collapse .el-collapse-item__header:hover{
|
|
||||||
color: #2B50C4;
|
|
||||||
}
|
|
||||||
body .ncoll.el-collapse .el-collapse-item__header .tit{
|
|
||||||
display: block;
|
|
||||||
margin: 0;
|
|
||||||
display: block;
|
|
||||||
text-align: left;
|
|
||||||
font-size: 12px;
|
|
||||||
font-weight: normal;
|
|
||||||
line-height: 20px;
|
|
||||||
}
|
|
||||||
body .ncoll.el-collapse .el-collapse-item__header .el-collapse-item__arrow{
|
|
||||||
display: block;
|
|
||||||
width: 18px;
|
|
||||||
height: 18px;
|
|
||||||
text-align: center;
|
|
||||||
line-height: 18px;
|
|
||||||
padding: 0;
|
|
||||||
font-size: 14px;
|
|
||||||
margin: 0;
|
|
||||||
-webkit-transform: rotate(90deg);
|
|
||||||
transform: rotate(90deg);
|
|
||||||
}
|
|
||||||
body .ncoll.el-collapse .el-collapse-item__arrow.is-active {
|
|
||||||
-webkit-transform: rotate(-90deg);
|
|
||||||
transform: rotate(-90deg);
|
|
||||||
}
|
|
||||||
body .ncoll.el-collapse .el-collapse-item__wrap{
|
|
||||||
border-bottom: 0;
|
|
||||||
}
|
|
||||||
body .ncoll.el-collapse .el-collapse-item__wrap .el-collapse-item__content{
|
|
||||||
padding: 5px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dbox{
|
|
||||||
border: 1px dashed #e5e6eb;
|
|
||||||
padding: 10px;
|
|
||||||
box-sizing: border-box;
|
|
||||||
margin: 10px 0 0 0;
|
|
||||||
border-radius: 4px;
|
|
||||||
}
|
|
||||||
.dbox .ttitle:first-child{
|
|
||||||
margin-top: 0;
|
|
||||||
}
|
|
@ -7,9 +7,9 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="card-panel-description">
|
<div class="card-panel-description">
|
||||||
<div class="card-panel-text">
|
<div class="card-panel-text">
|
||||||
接入数据源数量
|
New Visits
|
||||||
</div>
|
</div>
|
||||||
<count-to :start-val="0" :end-val="5" :duration="2600" class="card-panel-num" />
|
<count-to :start-val="0" :end-val="102400" :duration="2600" class="card-panel-num" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-col>
|
</el-col>
|
||||||
@ -20,7 +20,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="card-panel-description">
|
<div class="card-panel-description">
|
||||||
<div class="card-panel-text">
|
<div class="card-panel-text">
|
||||||
数据模型总数
|
Messages
|
||||||
</div>
|
</div>
|
||||||
<count-to :start-val="0" :end-val="81212" :duration="3000" class="card-panel-num" />
|
<count-to :start-val="0" :end-val="81212" :duration="3000" class="card-panel-num" />
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
<template>
|
<template>
|
||||||
<!--<div class="login" :style="'background-image:url('+ Background +');'">
|
<div class="login" :style="'background-image:url('+ Background +');'">
|
||||||
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" label-position="left" label-width="0px" class="login-form">
|
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" label-position="left" label-width="0px" class="login-form">
|
||||||
<div style="text-align: center;"> <img :src="allDataIcon" alt=""></div>
|
<div style="text-align: center;"> <img :src="allDataIcon" alt=""></div>
|
||||||
<h3 class="title">
|
<h3 class="title">
|
||||||
数据标准符合性检测工具
|
AllData科学护城河
|
||||||
</h3>
|
</h3>
|
||||||
<el-form-item prop="username">
|
<el-form-item prop="username">
|
||||||
<el-input v-model="loginForm.username" type="text" auto-complete="off" placeholder="账号">
|
<el-input v-model="loginForm.username" type="text" auto-complete="off" placeholder="账号">
|
||||||
@ -33,37 +33,12 @@
|
|||||||
</el-button>
|
</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<!– 底部 –>
|
<!-- 底部 -->
|
||||||
<div v-if="$store.state.settings.showFooter" id="el-login-footer">
|
<div v-if="$store.state.settings.showFooter" id="el-login-footer">
|
||||||
<span v-html="$store.state.settings.footerTxt" />
|
<span v-html="$store.state.settings.footerTxt" />
|
||||||
<span v-if="$store.state.settings.caseNumber"> ⋅ </span>
|
<span v-if="$store.state.settings.caseNumber"> ⋅ </span>
|
||||||
<a href="https://beian.miit.gov.cn/#/Integrated/index" target="_blank">{{ $store.state.settings.caseNumber }}</a>
|
<a href="https://beian.miit.gov.cn/#/Integrated/index" target="_blank">{{ $store.state.settings.caseNumber }}</a>
|
||||||
</div>
|
</div>
|
||||||
</div>-->
|
|
||||||
|
|
||||||
<div id="app">
|
|
||||||
<div class="login-page">
|
|
||||||
<div class="loleft"></div>
|
|
||||||
<div class="loright">
|
|
||||||
<div class="locont">
|
|
||||||
<div class="title">数据标准符合性检测工具</div>
|
|
||||||
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" label-position="left" label-width="0px" class="login-form">
|
|
||||||
<el-form-item prop="username">
|
|
||||||
<el-input v-model="loginForm.username" prefix-icon="el-icon-user" type="text" auto-complete="off" placeholder="请输入账号"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item prop="password">
|
|
||||||
<el-input v-model="loginForm.password" prefix-icon="el-icon-view" type="password" auto-complete="off" placeholder="请输入密码" @keyup.enter.native="handleLogin"></el-input>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item>
|
|
||||||
<el-button :loading="loading" type="primary" style="width:100%;" @click.native.prevent="handleLogin">
|
|
||||||
<span v-if="!loading">登 录</span>
|
|
||||||
<span v-else>登 录 中...</span>
|
|
||||||
</el-button>
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div><!--login-page-->
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -74,7 +49,7 @@ import { getCodeImg } from '@/api/login'
|
|||||||
import Cookies from 'js-cookie'
|
import Cookies from 'js-cookie'
|
||||||
import qs from 'qs'
|
import qs from 'qs'
|
||||||
import Background from '@/assets/images/background.webp'
|
import Background from '@/assets/images/background.webp'
|
||||||
import allDataIcon from '@/assets/images/data.png'
|
import allDataIcon from '@/assets/images/avatar.png'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Login',
|
name: 'Login',
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
<el-tooltip content="密度" effect="dark" placement="top">
|
<el-tooltip content="密度" effect="dark" placement="top">
|
||||||
<el-dropdown trigger="click" @command="handleCommand">
|
<el-dropdown trigger="click" @command="handleCommand">
|
||||||
<el-button circle size="mini">
|
<el-button circle size="mini">
|
||||||
<i class="el-icon-s-grid"></i>
|
<svg-icon class-name="size-icon" icon-class="colum-height" />
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-dropdown-menu slot="dropdown">
|
<el-dropdown-menu slot="dropdown">
|
||||||
<el-dropdown-item command="medium">正常</el-dropdown-item>
|
<el-dropdown-item command="medium">正常</el-dropdown-item>
|
||||||
@ -36,7 +36,7 @@
|
|||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip content="刷新" effect="dark" placement="top">
|
<el-tooltip content="刷新" effect="dark" placement="top">
|
||||||
<el-button circle size="mini" @click="handleRefresh">
|
<el-button circle size="mini" @click="handleRefresh">
|
||||||
<i class="el-icon-refresh"></i>
|
<svg-icon class-name="size-icon" icon-class="shuaxin" />
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip content="列设置" effect="dark" placement="top">
|
<el-tooltip content="列设置" effect="dark" placement="top">
|
||||||
@ -50,7 +50,7 @@
|
|||||||
</el-checkbox-group>
|
</el-checkbox-group>
|
||||||
<span slot="reference">
|
<span slot="reference">
|
||||||
<el-button circle size="mini">
|
<el-button circle size="mini">
|
||||||
<i class="el-icon-setting"></i>
|
<svg-icon class-name="size-icon" icon-class="shezhi" />
|
||||||
</el-button>
|
</el-button>
|
||||||
</span>
|
</span>
|
||||||
</el-popover>
|
</el-popover>
|
||||||
@ -92,12 +92,14 @@
|
|||||||
trigger="click"
|
trigger="click"
|
||||||
>
|
>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-hasPerm="['market:api:log:detail']"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-view"
|
icon="el-icon-view"
|
||||||
@click="handleDetail(scope.row)"
|
@click="handleDetail(scope.row)"
|
||||||
>详情</el-button>
|
>详情</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-hasPerm="['market:api:log:remove']"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-delete"
|
icon="el-icon-delete"
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
<span>{{ title }}</span>
|
<span>{{ title }}</span>
|
||||||
<el-button-group style="float: right;">
|
<el-button-group style="float: right;">
|
||||||
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
|
<el-button v-hasPerm="['market:mask:add']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
|
||||||
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
|
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
|
||||||
</el-button-group>
|
</el-button-group>
|
||||||
</div>
|
</div>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
<span>{{ title }}</span>
|
<span>{{ title }}</span>
|
||||||
<el-button-group style="float: right;">
|
<el-button-group style="float: right;">
|
||||||
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
|
<el-button v-hasPerm="['market:mask:edit']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
|
||||||
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
|
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
|
||||||
</el-button-group>
|
</el-button-group>
|
||||||
</div>
|
</div>
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-button-group>
|
<el-button-group>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-hasPerm="['market:mask:add']"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="el-icon-plus"
|
icon="el-icon-plus"
|
||||||
size="mini"
|
size="mini"
|
||||||
@ -32,7 +33,7 @@
|
|||||||
<el-tooltip content="密度" effect="dark" placement="top">
|
<el-tooltip content="密度" effect="dark" placement="top">
|
||||||
<el-dropdown trigger="click" @command="handleCommand">
|
<el-dropdown trigger="click" @command="handleCommand">
|
||||||
<el-button circle size="mini">
|
<el-button circle size="mini">
|
||||||
<i class="el-icon-s-grid"></i>
|
<svg-icon class-name="size-icon" icon-class="colum-height" />
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-dropdown-menu slot="dropdown">
|
<el-dropdown-menu slot="dropdown">
|
||||||
<el-dropdown-item command="medium">正常</el-dropdown-item>
|
<el-dropdown-item command="medium">正常</el-dropdown-item>
|
||||||
@ -43,7 +44,7 @@
|
|||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip content="刷新" effect="dark" placement="top">
|
<el-tooltip content="刷新" effect="dark" placement="top">
|
||||||
<el-button circle size="mini" @click="handleRefresh">
|
<el-button circle size="mini" @click="handleRefresh">
|
||||||
<i class="el-icon-refresh"></i>
|
<svg-icon class-name="size-icon" icon-class="shuaxin" />
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip content="列设置" effect="dark" placement="top">
|
<el-tooltip content="列设置" effect="dark" placement="top">
|
||||||
@ -57,7 +58,7 @@
|
|||||||
</el-checkbox-group>
|
</el-checkbox-group>
|
||||||
<span slot="reference">
|
<span slot="reference">
|
||||||
<el-button circle size="mini">
|
<el-button circle size="mini">
|
||||||
<i class="el-icon-setting"></i>
|
<svg-icon class-name="size-icon" icon-class="shezhi" />
|
||||||
</el-button>
|
</el-button>
|
||||||
</span>
|
</span>
|
||||||
</el-popover>
|
</el-popover>
|
||||||
@ -99,18 +100,21 @@
|
|||||||
trigger="click"
|
trigger="click"
|
||||||
>
|
>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-hasPerm="['market:mask:edit']"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-edit-outline"
|
icon="el-icon-edit-outline"
|
||||||
@click="handleEdit(scope.row)"
|
@click="handleEdit(scope.row)"
|
||||||
>修改</el-button>
|
>修改</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-hasPerm="['market:mask:detail']"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-view"
|
icon="el-icon-view"
|
||||||
@click="handleDetail(scope.row)"
|
@click="handleDetail(scope.row)"
|
||||||
>详情</el-button>
|
>详情</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-hasPerm="['market:mask:remove']"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-delete"
|
icon="el-icon-delete"
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
<span>{{ title }}</span>
|
<span>{{ title }}</span>
|
||||||
<el-button-group style="float: right;">
|
<el-button-group style="float: right;">
|
||||||
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
|
<el-button v-hasPerm="['market:api:add']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
|
||||||
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
|
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
|
||||||
</el-button-group>
|
</el-button-group>
|
||||||
</div>
|
</div>
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
<span>{{ title }}</span>
|
<span>{{ title }}</span>
|
||||||
<el-button-group style="float: right;">
|
<el-button-group style="float: right;">
|
||||||
<el-button size="mini" icon="el-icon-coin" round @click="handleWord">接口文档</el-button>
|
<el-button v-hasPerm="['market:api:word']" size="mini" icon="el-icon-coin" round @click="handleWord">接口文档</el-button>
|
||||||
<el-button size="mini" icon="el-icon-s-data" round @click="handleExample">接口示例</el-button>
|
<el-button v-hasPerm="['market:api:example']" size="mini" icon="el-icon-s-data" round @click="handleExample">接口示例</el-button>
|
||||||
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
|
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
|
||||||
</el-button-group>
|
</el-button-group>
|
||||||
</div>
|
</div>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
<span>{{ title }}</span>
|
<span>{{ title }}</span>
|
||||||
<el-button-group style="float: right;">
|
<el-button-group style="float: right;">
|
||||||
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
|
<el-button v-hasPerm="['market:api:edit']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
|
||||||
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
|
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
|
||||||
</el-button-group>
|
</el-button-group>
|
||||||
</div>
|
</div>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
<span>{{ title }}</span>
|
<span>{{ title }}</span>
|
||||||
<el-button-group style="float: right;">
|
<el-button-group style="float: right;">
|
||||||
<el-button size="mini" icon="el-icon-s-data" round @click="handleCall">接口调用</el-button>
|
<el-button v-hasPerm="['market:api:example']" size="mini" icon="el-icon-s-data" round @click="handleCall">接口调用</el-button>
|
||||||
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
|
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
|
||||||
</el-button-group>
|
</el-button-group>
|
||||||
</div>
|
</div>
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-button-group>
|
<el-button-group>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-hasPerm="['market:api:add']"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="el-icon-plus"
|
icon="el-icon-plus"
|
||||||
size="mini"
|
size="mini"
|
||||||
@ -32,7 +33,7 @@
|
|||||||
<el-tooltip content="密度" effect="dark" placement="top">
|
<el-tooltip content="密度" effect="dark" placement="top">
|
||||||
<el-dropdown trigger="click" @command="handleCommand">
|
<el-dropdown trigger="click" @command="handleCommand">
|
||||||
<el-button circle size="mini">
|
<el-button circle size="mini">
|
||||||
<i class="el-icon-s-grid"></i>
|
<svg-icon class-name="size-icon" icon-class="colum-height" />
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-dropdown-menu slot="dropdown">
|
<el-dropdown-menu slot="dropdown">
|
||||||
<el-dropdown-item command="medium">正常</el-dropdown-item>
|
<el-dropdown-item command="medium">正常</el-dropdown-item>
|
||||||
@ -43,7 +44,7 @@
|
|||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip content="刷新" effect="dark" placement="top">
|
<el-tooltip content="刷新" effect="dark" placement="top">
|
||||||
<el-button circle size="mini" @click="handleRefresh">
|
<el-button circle size="mini" @click="handleRefresh">
|
||||||
<i class="el-icon-refresh"></i>
|
<svg-icon class-name="size-icon" icon-class="shuaxin" />
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip content="列设置" effect="dark" placement="top">
|
<el-tooltip content="列设置" effect="dark" placement="top">
|
||||||
@ -57,7 +58,7 @@
|
|||||||
</el-checkbox-group>
|
</el-checkbox-group>
|
||||||
<span slot="reference">
|
<span slot="reference">
|
||||||
<el-button circle size="mini">
|
<el-button circle size="mini">
|
||||||
<i class="el-icon-setting"></i>
|
<svg-icon class-name="size-icon" icon-class="shezhi" />
|
||||||
</el-button>
|
</el-button>
|
||||||
</span>
|
</span>
|
||||||
</el-popover>
|
</el-popover>
|
||||||
@ -99,24 +100,28 @@
|
|||||||
trigger="click"
|
trigger="click"
|
||||||
>
|
>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-hasPerm="['market:api:edit']"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-edit-outline"
|
icon="el-icon-edit-outline"
|
||||||
@click="handleEdit(scope.row)"
|
@click="handleEdit(scope.row)"
|
||||||
>修改</el-button>
|
>修改</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-hasPerm="['market:api:detail']"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-view"
|
icon="el-icon-view"
|
||||||
@click="handleDetail(scope.row)"
|
@click="handleDetail(scope.row)"
|
||||||
>详情</el-button>
|
>详情</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-hasPerm="['market:api:remove']"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-delete"
|
icon="el-icon-delete"
|
||||||
@click="handleDelete(scope.row)"
|
@click="handleDelete(scope.row)"
|
||||||
>删除</el-button>
|
>删除</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-hasPerm="['market:api:copy']"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-copy-document"
|
icon="el-icon-copy-document"
|
||||||
@ -124,6 +129,7 @@
|
|||||||
>拷贝</el-button>
|
>拷贝</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="scope.row.status !== '2'"
|
v-if="scope.row.status !== '2'"
|
||||||
|
v-hasPerm="['market:api:release']"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-upload2"
|
icon="el-icon-upload2"
|
||||||
@ -131,6 +137,7 @@
|
|||||||
>发布</el-button>
|
>发布</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
v-if="scope.row.status === '2'"
|
v-if="scope.row.status === '2'"
|
||||||
|
v-hasPerm="['market:api:cancel']"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-download"
|
icon="el-icon-download"
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
<span>{{ title }}</span>
|
<span>{{ title }}</span>
|
||||||
<el-button-group style="float: right;">
|
<el-button-group style="float: right;">
|
||||||
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
|
<el-button v-hasPerm="['market:service:add']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
|
||||||
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
|
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
|
||||||
</el-button-group>
|
</el-button-group>
|
||||||
</div>
|
</div>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
<span>{{ title }}</span>
|
<span>{{ title }}</span>
|
||||||
<el-button-group style="float: right;">
|
<el-button-group style="float: right;">
|
||||||
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
|
<el-button v-hasPerm="['market:service:edit']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
|
||||||
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
|
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
|
||||||
</el-button-group>
|
</el-button-group>
|
||||||
</div>
|
</div>
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-button-group>
|
<el-button-group>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-hasPerm="['market:service:add']"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="el-icon-plus"
|
icon="el-icon-plus"
|
||||||
size="mini"
|
size="mini"
|
||||||
@ -32,7 +33,7 @@
|
|||||||
<el-tooltip content="密度" effect="dark" placement="top">
|
<el-tooltip content="密度" effect="dark" placement="top">
|
||||||
<el-dropdown trigger="click" @command="handleCommand">
|
<el-dropdown trigger="click" @command="handleCommand">
|
||||||
<el-button circle size="mini">
|
<el-button circle size="mini">
|
||||||
<i class="el-icon-s-grid"></i>
|
<svg-icon class-name="size-icon" icon-class="colum-height" />
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-dropdown-menu slot="dropdown">
|
<el-dropdown-menu slot="dropdown">
|
||||||
<el-dropdown-item command="medium">正常</el-dropdown-item>
|
<el-dropdown-item command="medium">正常</el-dropdown-item>
|
||||||
@ -43,7 +44,7 @@
|
|||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip content="刷新" effect="dark" placement="top">
|
<el-tooltip content="刷新" effect="dark" placement="top">
|
||||||
<el-button circle size="mini" @click="handleRefresh">
|
<el-button circle size="mini" @click="handleRefresh">
|
||||||
<i class="el-icon-refresh"></i>
|
<svg-icon class-name="size-icon" icon-class="shuaxin" />
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip content="列设置" effect="dark" placement="top">
|
<el-tooltip content="列设置" effect="dark" placement="top">
|
||||||
@ -57,7 +58,7 @@
|
|||||||
</el-checkbox-group>
|
</el-checkbox-group>
|
||||||
<span slot="reference">
|
<span slot="reference">
|
||||||
<el-button circle size="mini">
|
<el-button circle size="mini">
|
||||||
<i class="el-icon-setting"></i>
|
<svg-icon class-name="size-icon" icon-class="shezhi" />
|
||||||
</el-button>
|
</el-button>
|
||||||
</span>
|
</span>
|
||||||
</el-popover>
|
</el-popover>
|
||||||
@ -99,18 +100,21 @@
|
|||||||
trigger="click"
|
trigger="click"
|
||||||
>
|
>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-hasPerm="['market:service:edit']"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-edit-outline"
|
icon="el-icon-edit-outline"
|
||||||
@click="handleEdit(scope.row)"
|
@click="handleEdit(scope.row)"
|
||||||
>修改</el-button>
|
>修改</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-hasPerm="['market:service:detail']"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-view"
|
icon="el-icon-view"
|
||||||
@click="handleDetail(scope.row)"
|
@click="handleDetail(scope.row)"
|
||||||
>详情</el-button>
|
>详情</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-hasPerm="['market:service:remove']"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-delete"
|
icon="el-icon-delete"
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
<el-tooltip content="密度" effect="dark" placement="top">
|
<el-tooltip content="密度" effect="dark" placement="top">
|
||||||
<el-dropdown trigger="click" @command="handleCommand">
|
<el-dropdown trigger="click" @command="handleCommand">
|
||||||
<el-button circle size="mini">
|
<el-button circle size="mini">
|
||||||
<i class="el-icon-s-grid"></i>
|
<svg-icon class-name="size-icon" icon-class="colum-height" />
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-dropdown-menu slot="dropdown">
|
<el-dropdown-menu slot="dropdown">
|
||||||
<el-dropdown-item command="medium">正常</el-dropdown-item>
|
<el-dropdown-item command="medium">正常</el-dropdown-item>
|
||||||
@ -36,7 +36,7 @@
|
|||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip content="刷新" effect="dark" placement="top">
|
<el-tooltip content="刷新" effect="dark" placement="top">
|
||||||
<el-button circle size="mini" @click="handleRefresh">
|
<el-button circle size="mini" @click="handleRefresh">
|
||||||
<i class="el-icon-refresh"></i>
|
<svg-icon class-name="size-icon" icon-class="shuaxin" />
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip content="列设置" effect="dark" placement="top">
|
<el-tooltip content="列设置" effect="dark" placement="top">
|
||||||
@ -50,7 +50,7 @@
|
|||||||
</el-checkbox-group>
|
</el-checkbox-group>
|
||||||
<span slot="reference">
|
<span slot="reference">
|
||||||
<el-button circle size="mini">
|
<el-button circle size="mini">
|
||||||
<i class="el-icon-setting"></i>
|
<svg-icon class-name="size-icon" icon-class="shezhi" />
|
||||||
</el-button>
|
</el-button>
|
||||||
</span>
|
</span>
|
||||||
</el-popover>
|
</el-popover>
|
||||||
@ -92,12 +92,14 @@
|
|||||||
trigger="click"
|
trigger="click"
|
||||||
>
|
>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-hasPerm="['market:service:log:detail']"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-view"
|
icon="el-icon-view"
|
||||||
@click="handleDetail(scope.row)"
|
@click="handleDetail(scope.row)"
|
||||||
>详情</el-button>
|
>详情</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-hasPerm="['market:service:log:remove']"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-delete"
|
icon="el-icon-delete"
|
||||||
|
@ -3,14 +3,14 @@
|
|||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
<span>{{ title }}</span>
|
<span>{{ title }}</span>
|
||||||
<el-button-group style="float: right;">
|
<el-button-group style="float: right;">
|
||||||
<el-button type="primary" size="mini" icon="el-icon-finished" :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
|
<el-button v-hasPerm="['masterdata:data:add']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
|
||||||
<el-button size="mini" icon="el-icon-back" @click="showCard">返回</el-button>
|
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
|
||||||
</el-button-group>
|
</el-button-group>
|
||||||
</div>
|
</div>
|
||||||
<div class="body-wrapper">
|
<div class="body-wrapper">
|
||||||
<el-form ref="form" :model="form" label-width="80px">
|
<el-form ref="form" :model="form" label-width="80px">
|
||||||
<el-form-item
|
<el-form-item
|
||||||
v-for="(item) in columnList"
|
v-for="(item, index) in columnList"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
:label="item.columnComment"
|
:label="item.columnComment"
|
||||||
:prop="item.columnName"
|
:prop="item.columnName"
|
||||||
@ -42,10 +42,10 @@
|
|||||||
<template v-if="item.isBindDict === '1' && item.dictList && item.dictList.length > 0">
|
<template v-if="item.isBindDict === '1' && item.dictList && item.dictList.length > 0">
|
||||||
<el-select v-model.trim="form[item.columnName]" placeholder="请选择">
|
<el-select v-model.trim="form[item.columnName]" placeholder="请选择">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="dictitem in item.dictList"
|
v-for="item in item.dictList"
|
||||||
:key="dictitem.id"
|
:key="item.id"
|
||||||
:label="dictitem.label"
|
:label="item.label"
|
||||||
:value="dictitem.value"
|
:value="item.value"
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</template>
|
</template>
|
||||||
@ -54,9 +54,9 @@
|
|||||||
<template v-if="item.isBindDict === '1' && item.dictList && item.dictList.length > 0">
|
<template v-if="item.isBindDict === '1' && item.dictList && item.dictList.length > 0">
|
||||||
<el-radio-group v-model.trim="form[item.columnName]">
|
<el-radio-group v-model.trim="form[item.columnName]">
|
||||||
<el-radio
|
<el-radio
|
||||||
v-for="dictitem in item.dictList"
|
v-for="item in item.dictList"
|
||||||
:key="dictitem.id"
|
:key="item.id"
|
||||||
:label="dictitem.value"
|
:label="item.value"
|
||||||
>{{ item.label }}</el-radio>
|
>{{ item.label }}</el-radio>
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
</template>
|
</template>
|
||||||
@ -65,9 +65,9 @@
|
|||||||
<template v-if="item.isBindDict === '1' && item.dictList && item.dictList.length > 0">
|
<template v-if="item.isBindDict === '1' && item.dictList && item.dictList.length > 0">
|
||||||
<el-checkbox-group v-model.trim="form[item.columnName]">
|
<el-checkbox-group v-model.trim="form[item.columnName]">
|
||||||
<el-checkbox
|
<el-checkbox
|
||||||
v-for="dictitem in item.dictList"
|
v-for="item in item.dictList"
|
||||||
:key="dictitem.id"
|
:key="item.id"
|
||||||
:label="dictitem.value"
|
:label="item.value"
|
||||||
>{{ item.label }}</el-checkbox>
|
>{{ item.label }}</el-checkbox>
|
||||||
</el-checkbox-group>
|
</el-checkbox-group>
|
||||||
</template>
|
</template>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
<span>{{ title }}</span>
|
<span>{{ title }}</span>
|
||||||
<el-button-group style="float: right;">
|
<el-button-group style="float: right;">
|
||||||
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
|
<el-button v-hasPerm="['masterdata:data:edit']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
|
||||||
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
|
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
|
||||||
</el-button-group>
|
</el-button-group>
|
||||||
</div>
|
</div>
|
||||||
|
@ -208,6 +208,7 @@
|
|||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-button-group>
|
<el-button-group>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-hasPerm="['masterdata:data:add']"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="el-icon-plus"
|
icon="el-icon-plus"
|
||||||
size="mini"
|
size="mini"
|
||||||
@ -247,18 +248,21 @@
|
|||||||
trigger="click"
|
trigger="click"
|
||||||
>
|
>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-hasPerm="['masterdata:data:edit']"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-edit-outline"
|
icon="el-icon-edit-outline"
|
||||||
@click="handleEdit(scope.row)"
|
@click="handleEdit(scope.row)"
|
||||||
>修改</el-button>
|
>修改</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-hasPerm="['masterdata:data:detail']"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-view"
|
icon="el-icon-view"
|
||||||
@click="handleDetail(scope.row)"
|
@click="handleDetail(scope.row)"
|
||||||
>详情</el-button>
|
>详情</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-hasPerm="['masterdata:data:remove']"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-delete"
|
icon="el-icon-delete"
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
<span>{{ title }}</span>
|
<span>{{ title }}</span>
|
||||||
<el-button-group style="float: right;">
|
<el-button-group style="float: right;">
|
||||||
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
|
<el-button v-hasPerm="['masterdata:model:add']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
|
||||||
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
|
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
|
||||||
</el-button-group>
|
</el-button-group>
|
||||||
</div>
|
</div>
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
<span>{{ title }}</span>
|
<span>{{ title }}</span>
|
||||||
<el-button-group style="float: right;">
|
<el-button-group style="float: right;">
|
||||||
<el-button v-if="form.flowStatus === '1' || form.flowStatus === '6'" size="mini" icon="el-icon-s-data" round @click="submit">提交</el-button>
|
<el-button v-if="form.flowStatus === '1' || form.flowStatus === '6'" v-hasPerm="['masterdata:model:submit']" size="mini" icon="el-icon-s-data" round @click="submit">提交</el-button>
|
||||||
<el-button v-if="form.flowStatus === '4'" :disabled="form.isSync === '1'" size="mini" icon="el-icon-s-data" round @click="createTable">建模</el-button>
|
<el-button v-if="form.flowStatus === '4'" v-hasPerm="['masterdata:model:create']" :disabled="form.isSync === '1'" size="mini" icon="el-icon-s-data" round @click="createTable">建模</el-button>
|
||||||
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
|
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
|
||||||
</el-button-group>
|
</el-button-group>
|
||||||
</div>
|
</div>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
<span>{{ title }}</span>
|
<span>{{ title }}</span>
|
||||||
<el-button-group style="float: right;">
|
<el-button-group style="float: right;">
|
||||||
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
|
<el-button v-hasPerm="['masterdata:model:edit']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
|
||||||
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
|
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
|
||||||
</el-button-group>
|
</el-button-group>
|
||||||
</div>
|
</div>
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-button-group>
|
<el-button-group>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-hasPerm="['masterdata:model:add']"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="el-icon-plus"
|
icon="el-icon-plus"
|
||||||
size="mini"
|
size="mini"
|
||||||
@ -32,7 +33,7 @@
|
|||||||
<el-tooltip content="密度" effect="dark" placement="top">
|
<el-tooltip content="密度" effect="dark" placement="top">
|
||||||
<el-dropdown trigger="click" @command="handleCommand">
|
<el-dropdown trigger="click" @command="handleCommand">
|
||||||
<el-button circle size="mini">
|
<el-button circle size="mini">
|
||||||
<i class="el-icon-s-grid"></i>
|
<svg-icon class-name="size-icon" icon-class="colum-height" />
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-dropdown-menu slot="dropdown">
|
<el-dropdown-menu slot="dropdown">
|
||||||
<el-dropdown-item command="medium">正常</el-dropdown-item>
|
<el-dropdown-item command="medium">正常</el-dropdown-item>
|
||||||
@ -43,7 +44,7 @@
|
|||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip content="刷新" effect="dark" placement="top">
|
<el-tooltip content="刷新" effect="dark" placement="top">
|
||||||
<el-button circle size="mini" @click="handleRefresh">
|
<el-button circle size="mini" @click="handleRefresh">
|
||||||
<i class="el-icon-refresh"></i>
|
<svg-icon class-name="size-icon" icon-class="shuaxin" />
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip content="列设置" effect="dark" placement="top">
|
<el-tooltip content="列设置" effect="dark" placement="top">
|
||||||
@ -57,7 +58,7 @@
|
|||||||
</el-checkbox-group>
|
</el-checkbox-group>
|
||||||
<span slot="reference">
|
<span slot="reference">
|
||||||
<el-button circle size="mini">
|
<el-button circle size="mini">
|
||||||
<i class="el-icon-setting"></i>
|
<svg-icon class-name="size-icon" icon-class="shezhi" />
|
||||||
</el-button>
|
</el-button>
|
||||||
</span>
|
</span>
|
||||||
</el-popover>
|
</el-popover>
|
||||||
@ -99,6 +100,7 @@
|
|||||||
trigger="click"
|
trigger="click"
|
||||||
>
|
>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-hasPerm="['masterdata:model:edit']"
|
||||||
v-flow-edit="scope.row.flowStatus"
|
v-flow-edit="scope.row.flowStatus"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
@ -106,12 +108,14 @@
|
|||||||
@click="handleEdit(scope.row)"
|
@click="handleEdit(scope.row)"
|
||||||
>修改</el-button>
|
>修改</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-hasPerm="['masterdata:model:detail']"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-view"
|
icon="el-icon-view"
|
||||||
@click="handleDetail(scope.row)"
|
@click="handleDetail(scope.row)"
|
||||||
>详情</el-button>
|
>详情</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-hasPerm="['masterdata:model:remove']"
|
||||||
v-flow-del="scope.row.flowStatus"
|
v-flow-del="scope.row.flowStatus"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
|
@ -1,36 +1,44 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-card class="box-card" shadow="always">
|
<transition name="el-zoom-in-center">
|
||||||
<el-form ref="queryForm" :model="queryParams" :inline="true">
|
<data-model-list v-if="options.showList" @showCard="showCard" />
|
||||||
<el-form-item label="项目" prop="projectId">
|
</transition>
|
||||||
<el-select v-model="queryParams.projectId" clearable size="small" placeholder="项目" class="filter-item">
|
<transition name="el-zoom-in-top">
|
||||||
<el-option v-for="item in projectsOptions" :key="item.id" :label="item.projectName" :value="item.id" />
|
<data-model-add v-if="options.showAdd" :data="options.data" @showCard="showCard" />
|
||||||
</el-select>
|
</transition>
|
||||||
</el-form-item>
|
<transition name="el-zoom-in-top">
|
||||||
</el-form>
|
<data-model-edit v-if="options.showEdit" :data="options.data" @showCard="showCard" />
|
||||||
<iframe src="http://192.168.1.217:8001/model/modelChildren?hideInMenu=true" width="100%" height="850px" frameborder="0" />
|
</transition>
|
||||||
</el-card>
|
<transition name="el-zoom-in-bottom">
|
||||||
|
<data-model-detail v-if="options.showDetail" :data="options.data" @showCard="showCard" />
|
||||||
|
</transition>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import DataModelList from './DataModelList'
|
||||||
|
import DataModelAdd from './DataModelAdd'
|
||||||
|
import DataModelEdit from './DataModelEdit'
|
||||||
|
import DataModelDetail from './DataModelDetail'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'DataModel',
|
name: 'DataModel',
|
||||||
|
components: { DataModelList, DataModelAdd, DataModelEdit, DataModelDetail },
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
projectsOptions: [
|
options: {
|
||||||
{id: '1111', projectName: '演示项目'}
|
data: {},
|
||||||
],
|
showList: true,
|
||||||
// 查询参数
|
showAdd: false,
|
||||||
queryParams: {
|
showEdit: false,
|
||||||
pageNum: 1,
|
showDetail: false
|
||||||
pageSize: 20,
|
|
||||||
projectId: '1111',
|
|
||||||
fileName: ''
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
showCard(data) {
|
||||||
|
Object.assign(this.options, data)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
<span>{{ title }}</span>
|
<span>{{ title }}</span>
|
||||||
<el-button-group style="float: right;">
|
<el-button-group style="float: right;">
|
||||||
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
|
<el-button v-hasPerm="['metadata:changerecord:add']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
|
||||||
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
|
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
|
||||||
</el-button-group>
|
</el-button-group>
|
||||||
</div>
|
</div>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
<span>{{ title }}</span>
|
<span>{{ title }}</span>
|
||||||
<el-button-group style="float: right;">
|
<el-button-group style="float: right;">
|
||||||
<el-button size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
|
<el-button v-hasPerm="['metadata:changerecord:edit']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
|
||||||
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
|
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
|
||||||
</el-button-group>
|
</el-button-group>
|
||||||
</div>
|
</div>
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
<el-tooltip content="密度" effect="dark" placement="top">
|
<el-tooltip content="密度" effect="dark" placement="top">
|
||||||
<el-dropdown trigger="click" @command="handleCommand">
|
<el-dropdown trigger="click" @command="handleCommand">
|
||||||
<el-button circle size="mini">
|
<el-button circle size="mini">
|
||||||
<i class="el-icon-s-grid"></i>
|
<svg-icon class-name="size-icon" icon-class="colum-height" />
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-dropdown-menu slot="dropdown">
|
<el-dropdown-menu slot="dropdown">
|
||||||
<el-dropdown-item command="medium">正常</el-dropdown-item>
|
<el-dropdown-item command="medium">正常</el-dropdown-item>
|
||||||
@ -36,7 +36,7 @@
|
|||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip content="刷新" effect="dark" placement="top">
|
<el-tooltip content="刷新" effect="dark" placement="top">
|
||||||
<el-button circle size="mini" @click="handleRefresh">
|
<el-button circle size="mini" @click="handleRefresh">
|
||||||
<i class="el-icon-refresh"></i>
|
<svg-icon class-name="size-icon" icon-class="shuaxin" />
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip content="列设置" effect="dark" placement="top">
|
<el-tooltip content="列设置" effect="dark" placement="top">
|
||||||
@ -50,7 +50,7 @@
|
|||||||
</el-checkbox-group>
|
</el-checkbox-group>
|
||||||
<span slot="reference">
|
<span slot="reference">
|
||||||
<el-button circle size="mini">
|
<el-button circle size="mini">
|
||||||
<i class="el-icon-setting"></i>
|
<svg-icon class-name="size-icon" icon-class="shezhi" />
|
||||||
</el-button>
|
</el-button>
|
||||||
</span>
|
</span>
|
||||||
</el-popover>
|
</el-popover>
|
||||||
@ -92,18 +92,21 @@
|
|||||||
trigger="click"
|
trigger="click"
|
||||||
>
|
>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-hasPerm="['metadata:changerecord:edit']"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-edit-outline"
|
icon="el-icon-edit-outline"
|
||||||
@click="handleEdit(scope.row)"
|
@click="handleEdit(scope.row)"
|
||||||
>修改</el-button>
|
>修改</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-hasPerm="['metadata:changerecord:detail']"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-view"
|
icon="el-icon-view"
|
||||||
@click="handleDetail(scope.row)"
|
@click="handleDetail(scope.row)"
|
||||||
>详情</el-button>
|
>详情</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-hasPerm="['metadata:changerecord:remove']"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-delete"
|
icon="el-icon-delete"
|
||||||
|
@ -1,22 +1,197 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<iframe src="http://192.168.1.217:8001/modelMonitor/dataextension" width="100%" height="850px" frameborder="0" />
|
<el-row :gutter="20">
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-card class="box-card tree-wrapper" shadow="always">
|
||||||
|
<el-tree
|
||||||
|
ref="leftTree"
|
||||||
|
:data="leftTreeOptions"
|
||||||
|
node-key="id"
|
||||||
|
empty-text="加载中,请稍后"
|
||||||
|
:props="leftTreeDefaultProps"
|
||||||
|
default-expand-all
|
||||||
|
highlight-current
|
||||||
|
:expand-on-click-node="false"
|
||||||
|
@node-click="handleNodeClick"
|
||||||
|
>
|
||||||
|
<span slot-scope="{ node, data }" class="custom-tree-node">
|
||||||
|
<span><i v-if="node.level === 1" class="iconfont icon-zuzhi tree-folder" />{{ node.label }}</span>
|
||||||
|
</span>
|
||||||
|
</el-tree>
|
||||||
|
</el-card>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="18">
|
||||||
|
<el-card class="box-card tree-wrapper" shadow="always">
|
||||||
|
<el-row type="flex" justify="space-between">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-button-group>
|
||||||
|
<el-button
|
||||||
|
v-hasPerm="['metadata:dataauthorize:refresh']"
|
||||||
|
type="warning"
|
||||||
|
icon="el-icon-refresh"
|
||||||
|
size="mini"
|
||||||
|
@click="handleCacheRefresh"
|
||||||
|
>刷新缓存</el-button>
|
||||||
|
</el-button-group>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-button-group style="float: right;">
|
||||||
|
<template v-if="showBtns">
|
||||||
|
<el-button v-if="disabled" v-hasPerm="['metadata:dataauthorize:edit']" size="mini" round @click="disabled = false">修改</el-button>
|
||||||
|
<el-button v-else v-hasPerm="['metadata:dataauthorize:edit']" size="mini" round @click="handSubmit">保存</el-button>
|
||||||
|
</template>
|
||||||
|
</el-button-group>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-divider />
|
||||||
|
<el-form ref="form" :model="form" :disabled="disabled">
|
||||||
|
<el-tree
|
||||||
|
ref="rightTree"
|
||||||
|
:data="rightTreeOptions"
|
||||||
|
show-checkbox
|
||||||
|
accordion
|
||||||
|
node-key="id"
|
||||||
|
empty-text="加载中,请稍后"
|
||||||
|
:props="rightTreeDefaultProps"
|
||||||
|
highlight-current
|
||||||
|
:expand-on-click-node="false"
|
||||||
|
:check-strictly="checkStrictly"
|
||||||
|
>
|
||||||
|
<span slot-scope="{ node, data }" class="custom-tree-node">
|
||||||
|
<span>
|
||||||
|
<i v-if="node.level === 1" class="iconfont icon-shujuku tree-folder" />
|
||||||
|
<i v-else-if="node.level === 2" class="iconfont icon-shujubiao tree-folder" />
|
||||||
|
<i v-else-if="node.level === 3" class="iconfont icon-shujuziduan tree-folder" />
|
||||||
|
{{ data.code ? (data.name ? data.code + '(' + data.name + ')' : data.code) : data.name }}
|
||||||
|
</span>
|
||||||
|
</span>
|
||||||
|
</el-tree>
|
||||||
|
</el-form>
|
||||||
|
</el-card>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import { listRole } from '@/api/systemMarket/role'
|
||||||
|
import { getDataMetadataTree } from '@/api/metadata/datacolumn'
|
||||||
|
import { getAuthorizedMetadata, metadataAuthorize, refreshAuthorize } from '@/api/metadata/dataauthorize'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'DataAuthorize',
|
name: 'DataAuthorize',
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
tableHeight: document.body.offsetHeight - 310 + 'px',
|
||||||
|
// 左侧树
|
||||||
|
leftTreeOptions: [],
|
||||||
|
leftTreeDefaultProps: {
|
||||||
|
children: 'children',
|
||||||
|
label: 'roleName'
|
||||||
|
},
|
||||||
|
// 右侧树
|
||||||
|
rightTreeOptions: [],
|
||||||
|
rightTreeDefaultProps: {
|
||||||
|
children: 'children',
|
||||||
|
label: 'label'
|
||||||
|
},
|
||||||
|
checkStrictly: false,
|
||||||
|
form: {},
|
||||||
|
disabled: true,
|
||||||
|
showBtns: false,
|
||||||
|
btnSubmitEnable: false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
this.getLeftTree()
|
||||||
|
this.getRightTree()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
getLeftTree() {
|
||||||
|
listRole().then(response => {
|
||||||
|
if (response.success) {
|
||||||
|
const { data } = response
|
||||||
|
const tree = {}
|
||||||
|
tree.roleName = '角色组'
|
||||||
|
tree.children = data
|
||||||
|
this.leftTreeOptions = []
|
||||||
|
this.leftTreeOptions.push(tree)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleNodeClick(data) {
|
||||||
|
if (data.id) {
|
||||||
|
this.form.roleId = data.id
|
||||||
|
getAuthorizedMetadata(data.id).then(response => {
|
||||||
|
if (response.success) {
|
||||||
|
this.$refs.rightTree.setCheckedKeys([])
|
||||||
|
const checkedKeys = response.data || []
|
||||||
|
if (checkedKeys && checkedKeys.length > 0) {
|
||||||
|
this.checkStrictly = true
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.$refs.rightTree.setCheckedKeys(checkedKeys)
|
||||||
|
this.checkStrictly = false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
this.showBtns = true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
getRightTree() {
|
||||||
|
getDataMetadataTree('column').then(response => {
|
||||||
|
if (response.success) {
|
||||||
|
const { data } = response
|
||||||
|
this.rightTreeOptions = data
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handSubmit() {
|
||||||
|
const data = []
|
||||||
|
const checkedNodes = this.$refs.rightTree.getCheckedNodes(false, true)
|
||||||
|
checkedNodes.forEach((item, index, arr) => {
|
||||||
|
const obj = {}
|
||||||
|
obj.objectId = item.id
|
||||||
|
obj.roleId = this.form.roleId
|
||||||
|
obj.objectType = item.type
|
||||||
|
data.push(obj)
|
||||||
|
})
|
||||||
|
metadataAuthorize({ roleId: this.form.roleId, authorizeDataList: data }).then(response => {
|
||||||
|
if (response.success) {
|
||||||
|
this.$message.success('保存成功')
|
||||||
|
this.disabled = true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleCacheRefresh() {
|
||||||
|
refreshAuthorize().then(response => {
|
||||||
|
if (response.success) {
|
||||||
|
this.$message.success('刷新缓存成功')
|
||||||
|
} else {
|
||||||
|
this.$message.error('刷新缓存失败')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
.el-card ::v-deep .el-card__body {
|
||||||
|
height: calc(100vh - 170px);
|
||||||
|
}
|
||||||
|
.tree-wrapper {
|
||||||
|
overflow-y: auto;
|
||||||
|
::v-deep .custom-tree-node {
|
||||||
|
flex: 1;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
font-size: 14px;
|
||||||
|
.tree-folder {
|
||||||
|
margin-right: 5px;
|
||||||
|
color: #f6cf07;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -1,101 +1,66 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-card class="box-card" shadow="always">
|
<el-card class="box-card" shadow="always">
|
||||||
<div class="body-wrapper">
|
<el-row>
|
||||||
<el-form :inline="true" :model="searchForm">
|
<el-col :span="24">
|
||||||
<el-form-item label="数据库">
|
<el-form ref="queryForm" :model="queryParams" :inline="true" class="demo-form-inline">
|
||||||
<el-select v-model="searchForm.sourceId" placeholder="数据库">
|
<el-form-item label="数据表名">
|
||||||
<el-option
|
<el-input
|
||||||
v-for="item in sourceOptions"
|
v-model="queryParams.tableName"
|
||||||
:key="item.id"
|
placeholder="请输入数据表名"
|
||||||
:label="item.sourceName"
|
clearable
|
||||||
:value="item.id"
|
size="small"
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-form-item>
|
||||||
</el-form-item>
|
<el-form-item>
|
||||||
<el-form-item label="数据表">
|
<el-button type="primary" @click="handleQuery">查询</el-button>
|
||||||
<el-select v-model="searchForm.tableId" clearable placeholder="数据表">
|
</el-form-item>
|
||||||
<el-option
|
</el-form>
|
||||||
v-for="item in tableOptions"
|
</el-col>
|
||||||
:key="item.id"
|
</el-row>
|
||||||
:label="item.tableComment ? item.tableComment : item.tableName"
|
<el-row>
|
||||||
:value="item.id"
|
<el-col :span="24">
|
||||||
/>
|
<el-table
|
||||||
</el-select>
|
:data="tableDataList"
|
||||||
</el-form-item>
|
stripe
|
||||||
<el-form-item>
|
border
|
||||||
<el-button type="primary" @click="handleQuery">查询</el-button>
|
:max-height="200"
|
||||||
</el-form-item>
|
style="width: 100%; margin: 15px 0;"
|
||||||
</el-form>
|
>
|
||||||
<el-divider />
|
<el-table-column prop="subjectArea" label="数据主题域" align="center" show-overflow-tooltip />
|
||||||
<el-row>
|
<el-table-column prop="mappingName" label="映射名称" align="center" show-overflow-tooltip />
|
||||||
<el-col :span="24">
|
<el-table-column prop="sourceTable" label="源表" align="center" show-overflow-tooltip />
|
||||||
<el-table
|
<el-table-column prop="targetTable" label="目标表" align="center" show-overflow-tooltip />
|
||||||
:data="tableDataList"
|
</el-table>
|
||||||
stripe
|
</el-col>
|
||||||
border
|
</el-row>
|
||||||
:max-height="200"
|
<el-row>
|
||||||
style="width: 100%; margin: 15px 0;"
|
<el-col :span="24">
|
||||||
>
|
<div id="chart" style="width: 100%; height: 300px;" />
|
||||||
<el-table-column prop="CONSTRAINT_NAME" label="映射名称" align="center" show-overflow-tooltip />
|
</el-col>
|
||||||
<el-table-column prop="TABLE_NAME" label="源表" align="center" show-overflow-tooltip />
|
</el-row>
|
||||||
<el-table-column prop="REFERENCED_TABLE_NAME" label="目标表" align="center" show-overflow-tooltip />
|
|
||||||
<el-table-column prop="COLUMN_NAME" label="映射字段" align="center" show-overflow-tooltip />
|
|
||||||
</el-table>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
<el-row>
|
|
||||||
<el-col :span="24">
|
|
||||||
<div id="chart" style="width: 100%; height: 500px;" />
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
</div>
|
|
||||||
</el-card>
|
</el-card>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import echarts from 'echarts'
|
import echarts from 'echarts'
|
||||||
import { listDataSource } from '@/api/metadata/datasource'
|
|
||||||
import { listDataTable } from '@/api/metadata/datatable'
|
|
||||||
import { getMetadatablood } from '@/api/metadata/datasource'
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'DataBlood',
|
name: 'DataBlood',
|
||||||
data: function() {
|
data: function() {
|
||||||
return {
|
return {
|
||||||
searchForm: {
|
|
||||||
sourceId: '',
|
|
||||||
tableId: ''
|
|
||||||
},
|
|
||||||
queryParams: {
|
queryParams: {
|
||||||
tableName: ''
|
tableName: ''
|
||||||
},
|
},
|
||||||
sourceOptions: [],
|
|
||||||
tableOptions: [],
|
|
||||||
chart: null,
|
chart: null,
|
||||||
tableDataList: []
|
tableDataList: []
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
|
||||||
'searchForm.sourceId': {
|
|
||||||
immediate: true,
|
|
||||||
// handler:是一个回调函数,即监听到变化应该执行的函数
|
|
||||||
handler(value) {
|
|
||||||
if (value) {
|
|
||||||
// 清空数据
|
|
||||||
this.searchForm.tableId = ''
|
|
||||||
this.getDataTableList(value)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
created() {
|
created() {
|
||||||
this.getDataSourceList()
|
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.chart = echarts.init(document.getElementById('chart'))
|
this.chart = echarts.init(document.getElementById('chart'))
|
||||||
this.handleQuery()
|
|
||||||
},
|
},
|
||||||
beforeDestroy() {
|
beforeDestroy() {
|
||||||
if (!this.chart) {
|
if (!this.chart) {
|
||||||
@ -105,43 +70,20 @@ export default {
|
|||||||
this.chart = null
|
this.chart = null
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
getDataSourceList() {
|
|
||||||
listDataSource().then(response => {
|
|
||||||
if (response.success) {
|
|
||||||
this.sourceOptions = response.data
|
|
||||||
this.searchForm.sourceId = this.sourceOptions[0].id
|
|
||||||
this.getDataTableList(this.sourceOptions[0].id)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
getDataTableList(sourceId) {
|
|
||||||
const data = {}
|
|
||||||
data.sourceId = sourceId
|
|
||||||
listDataTable(data).then(response => {
|
|
||||||
if (response.success) {
|
|
||||||
console.log('ddddddd', response)
|
|
||||||
this.tableOptions = response.data
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
handleQuery() {
|
handleQuery() {
|
||||||
getMetadatablood({ sourceId: this.searchForm.sourceId, tableId: this.searchForm.tableId }).then(response => {
|
this.tableDataList = [
|
||||||
if (response.success) {
|
{ subjectArea: 'DataCenter', mappingName: 'm_ts_test_table_inc', sourceTable: 'src_test_table', targetTable: 'ts_test_table' },
|
||||||
const { data } = response
|
{ subjectArea: 'DataCenter', mappingName: 'm_ts_test_table_inc', sourceTable: 'ts_test_table', targetTable: 'th_test_table' },
|
||||||
this.tableDataList = data
|
{ subjectArea: 'DataCenter', mappingName: 'm_ts_test_table_inc', sourceTable: 'ts_test_table', targetTable: 'ti_test_table' },
|
||||||
console.log('datadata', data)
|
{ subjectArea: 'DataCenter', mappingName: 'm_ods_test_table_inc', sourceTable: 'ti_test_table', targetTable: 't_test_table' }
|
||||||
this.reloadData()
|
]
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
reloadData() {
|
|
||||||
let data = { nodes: [], links: [] }
|
let data = { nodes: [], links: [] }
|
||||||
const nodes = []
|
const nodes = []
|
||||||
const links = []
|
const links = []
|
||||||
const colors = ['#fbb4ae', '#b3cde3', '#ccebc5', '#decbe4']
|
const colors = ['#fbb4ae', '#b3cde3', '#ccebc5', '#decbe4']
|
||||||
this.tableDataList.forEach(item => {
|
this.tableDataList.forEach(item => {
|
||||||
nodes.push({
|
nodes.push({
|
||||||
name: item.TABLE_NAME,
|
name: item.sourceTable,
|
||||||
itemStyle: {
|
itemStyle: {
|
||||||
normal: {
|
normal: {
|
||||||
color: colors[Math.floor(Math.random() * colors.length)]
|
color: colors[Math.floor(Math.random() * colors.length)]
|
||||||
@ -149,7 +91,7 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
nodes.push({
|
nodes.push({
|
||||||
name: item.REFERENCED_TABLE_NAME,
|
name: item.targetTable,
|
||||||
itemStyle: {
|
itemStyle: {
|
||||||
normal: {
|
normal: {
|
||||||
color: colors[Math.floor(Math.random() * colors.length)]
|
color: colors[Math.floor(Math.random() * colors.length)]
|
||||||
@ -157,10 +99,10 @@ export default {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
links.push({
|
links.push({
|
||||||
source: item.TABLE_NAME,
|
source: item.sourceTable,
|
||||||
target: item.REFERENCED_TABLE_NAME,
|
target: item.targetTable,
|
||||||
value: item.CONSTRAINT_NAME.length,
|
value: item.mappingName.length,
|
||||||
mapping: item.CONSTRAINT_NAME
|
mapping: item.mappingName
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
// nodes数组去重
|
// nodes数组去重
|
||||||
|
@ -12,21 +12,21 @@
|
|||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="字段名称" prop="columnName">
|
<el-form-item label="字段名称" prop="columnName">
|
||||||
<el-input v-model="form.columnName" disabled>
|
<el-input v-model="form.columnName" disabled>
|
||||||
<el-button slot="append" icon="el-icon-edit-outline" @click="changeRecord('columnName')" />
|
<el-button slot="append" v-hasPerm="['metadata:changerecord:add']" icon="el-icon-edit-outline" @click="changeRecord('columnName')" />
|
||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="字段注释" prop="columnComment">
|
<el-form-item label="字段注释" prop="columnComment">
|
||||||
<el-input v-model="form.columnComment" disabled>
|
<el-input v-model="form.columnComment" disabled>
|
||||||
<el-button slot="append" icon="el-icon-edit-outline" @click="changeRecord('columnComment')" />
|
<el-button slot="append" v-hasPerm="['metadata:changerecord:add']" icon="el-icon-edit-outline" @click="changeRecord('columnComment')" />
|
||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="8">
|
<el-col :span="8">
|
||||||
<el-form-item label="数据默认值" prop="dataDefault">
|
<el-form-item label="数据默认值" prop="dataDefault">
|
||||||
<el-input v-model="form.dataDefault" disabled>
|
<el-input v-model="form.dataDefault" disabled>
|
||||||
<el-button slot="append" icon="el-icon-edit-outline" @click="changeRecord('dataDefault')" />
|
<el-button slot="append" v-hasPerm="['metadata:changerecord:add']" icon="el-icon-edit-outline" @click="changeRecord('dataDefault')" />
|
||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
@ -48,7 +48,7 @@
|
|||||||
<el-tooltip content="密度" effect="dark" placement="top">
|
<el-tooltip content="密度" effect="dark" placement="top">
|
||||||
<el-dropdown trigger="click" @command="handleCommand">
|
<el-dropdown trigger="click" @command="handleCommand">
|
||||||
<el-button circle size="mini">
|
<el-button circle size="mini">
|
||||||
<i class="el-icon-s-grid"></i>
|
<svg-icon class-name="size-icon" icon-class="colum-height" />
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-dropdown-menu slot="dropdown">
|
<el-dropdown-menu slot="dropdown">
|
||||||
<el-dropdown-item command="medium">正常</el-dropdown-item>
|
<el-dropdown-item command="medium">正常</el-dropdown-item>
|
||||||
@ -59,7 +59,7 @@
|
|||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip content="刷新" effect="dark" placement="top">
|
<el-tooltip content="刷新" effect="dark" placement="top">
|
||||||
<el-button circle size="mini" @click="handleRefresh">
|
<el-button circle size="mini" @click="handleRefresh">
|
||||||
<i class="el-icon-refresh"></i>
|
<svg-icon class-name="size-icon" icon-class="shuaxin" />
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip content="列设置" effect="dark" placement="top">
|
<el-tooltip content="列设置" effect="dark" placement="top">
|
||||||
@ -76,7 +76,7 @@
|
|||||||
</el-checkbox-group>
|
</el-checkbox-group>
|
||||||
<span slot="reference">
|
<span slot="reference">
|
||||||
<el-button circle size="mini">
|
<el-button circle size="mini">
|
||||||
<i class="el-icon-setting"></i>
|
<svg-icon class-name="size-icon" icon-class="shezhi" />
|
||||||
</el-button>
|
</el-button>
|
||||||
</span>
|
</span>
|
||||||
</el-popover>
|
</el-popover>
|
||||||
@ -118,6 +118,7 @@
|
|||||||
trigger="click"
|
trigger="click"
|
||||||
>
|
>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-hasPerm="['metadata:datacolumn:detail']"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-view"
|
icon="el-icon-view"
|
||||||
|
@ -131,8 +131,6 @@ export default {
|
|||||||
listDataSource().then(response => {
|
listDataSource().then(response => {
|
||||||
if (response.success) {
|
if (response.success) {
|
||||||
this.sourceOptions = response.data
|
this.sourceOptions = response.data
|
||||||
this.searchForm.sourceId = this.sourceOptions[0].id
|
|
||||||
this.getDataTableList(this.sourceOptions[0].id)
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@ -142,7 +140,6 @@ export default {
|
|||||||
listDataTable(data).then(response => {
|
listDataTable(data).then(response => {
|
||||||
if (response.success) {
|
if (response.success) {
|
||||||
this.tableOptions = response.data
|
this.tableOptions = response.data
|
||||||
this.searchForm.tableId = this.tableOptions.id
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
@ -2,19 +2,66 @@
|
|||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-card class="box-card" shadow="always">
|
<el-card class="box-card" shadow="always">
|
||||||
<div class="body-wrapper">
|
<div class="body-wrapper">
|
||||||
待开发~~~
|
<div v-if="searchExecuting">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="12" :offset="6">
|
||||||
|
<el-input v-model="keyword" placeholder="请输入内容">
|
||||||
|
<el-select slot="prepend" v-model="type" placeholder="请选择" style="width: 100px;" @change="typeSelectChanged">
|
||||||
|
<el-option label="数据库" value="1" />
|
||||||
|
<el-option label="数据表" value="2" />
|
||||||
|
<el-option label="数据元" value="3" />
|
||||||
|
</el-select>
|
||||||
|
<el-button slot="append" :disabled="btnEnable" icon="el-icon-search" @click="search" />
|
||||||
|
</el-input>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-divider />
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<source-pane v-if="type === '1'" :data="dataList" />
|
||||||
|
<table-pane v-if="type === '2'" :data="dataList" />
|
||||||
|
<column-pane v-if="type === '3'" :data="dataList" />
|
||||||
|
<el-pagination
|
||||||
|
:page-sizes="[10, 20, 50, 100]"
|
||||||
|
layout="total, sizes, prev, pager, next, jumper"
|
||||||
|
:current-page.sync="queryParams.pageNum"
|
||||||
|
:page-size.sync="queryParams.pageSize"
|
||||||
|
:total="total"
|
||||||
|
@size-change="handleSizeChange"
|
||||||
|
@current-change="handleCurrentChange"
|
||||||
|
/>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
<div v-else>
|
||||||
|
<div class="search-container">
|
||||||
|
<el-input v-model="keyword" placeholder="请输入内容">
|
||||||
|
<el-select slot="prepend" v-model="type" placeholder="请选择" style="width: 100px;">
|
||||||
|
<el-option label="数据库" value="1" />
|
||||||
|
<el-option label="数据表" value="2" />
|
||||||
|
<el-option label="数据元" value="3" />
|
||||||
|
</el-select>
|
||||||
|
<el-button slot="append" icon="el-icon-search" :disabled="btnEnable" @click="search" />
|
||||||
|
</el-input>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import SourcePane from './SourcePane'
|
||||||
|
import TablePane from './TablePane'
|
||||||
|
import ColumnPane from './ColumnPane'
|
||||||
|
|
||||||
import { pageDataSource } from '@/api/metadata/datasource'
|
import { pageDataSource } from '@/api/metadata/datasource'
|
||||||
import { pageDataTable } from '@/api/metadata/datatable'
|
import { pageDataTable } from '@/api/metadata/datatable'
|
||||||
import { pageDataColumn } from '@/api/metadata/datacolumn'
|
import { pageDataColumn } from '@/api/metadata/datacolumn'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'DataSearch',
|
name: 'DataSearch',
|
||||||
|
components: { SourcePane, TablePane, ColumnPane },
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
searchExecuting: false,
|
searchExecuting: false,
|
||||||
|
@ -3,164 +3,73 @@
|
|||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
<span>{{ title }}</span>
|
<span>{{ title }}</span>
|
||||||
<el-button-group style="float: right;">
|
<el-button-group style="float: right;">
|
||||||
<el-button v-if="active == 3" type="primary" size="mini" icon="el-icon-finished" :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
|
<el-button v-if="active == 2" v-hasPerm="['metadata:datasource:add']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
|
||||||
<el-button v-if="active != 3" size="mini" type="primary" @click="handleNextStep">下一步</el-button>
|
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
|
||||||
<el-button v-if="active != 1" size="mini" type="primary" @click="handleLastStep">上一步</el-button>
|
|
||||||
<el-button size="mini" icon="el-icon-back" @click="showCard">返回</el-button>
|
|
||||||
</el-button-group>
|
</el-button-group>
|
||||||
</div>
|
</div>
|
||||||
<div class="body-wrapper" style="padding-left: 20%">
|
<div class="body-wrapper">
|
||||||
<el-steps :active="active" finish-status="success" align-center style="width: 900px">
|
<el-steps :active="active" finish-status="success" align-center>
|
||||||
<el-step title="填写数据源信息" />
|
<el-step title="数据源信息" />
|
||||||
<el-step title="选择数据库类型" />
|
<el-step title="连接信息" />
|
||||||
<el-step title="填写连接信息" />
|
|
||||||
</el-steps>
|
</el-steps>
|
||||||
<el-form v-if="active == 1" ref="form" :model="form" :rules="rules" label-width="120px" style="width: 900px">
|
<el-form v-if="active == 1" ref="form" :model="form" :rules="rules" label-width="80px">
|
||||||
<div style="padding: 20px 0px">
|
<el-form-item label="数据源类型" prop="dbType">
|
||||||
<el-form-item label="数据源名称" prop="sourceName">
|
<el-select v-model="form.dbType">
|
||||||
<el-input v-model="form.sourceName" placeholder="请输入数据源名称" />
|
<el-option
|
||||||
</el-form-item>
|
v-for="item in dbTypeOptions"
|
||||||
<el-form-item label="状态" prop="status">
|
:key="item.id"
|
||||||
<el-radio-group v-model="form.status">
|
:label="item.itemValue"
|
||||||
<el-radio
|
:value="item.itemText"
|
||||||
v-for="dict in statusOptions"
|
/>
|
||||||
:key="dict.id"
|
</el-select>
|
||||||
:label="dict.itemText"
|
</el-form-item>
|
||||||
>{{ dict.itemValue }}</el-radio>
|
<el-form-item label="数据源名称" prop="sourceName">
|
||||||
</el-radio-group>
|
<el-input v-model="form.sourceName" placeholder="请输入数据源名称" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="备注" prop="remark">
|
<el-form-item label="状态" prop="status">
|
||||||
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
|
<el-radio-group v-model="form.status">
|
||||||
</el-form-item>
|
<el-radio
|
||||||
</div>
|
v-for="dict in statusOptions"
|
||||||
|
:key="dict.id"
|
||||||
|
:label="dict.itemText"
|
||||||
|
>{{ dict.itemValue }}</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="备注" prop="remark">
|
||||||
|
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
|
||||||
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-form v-if="active == 2" ref="form" :model="form" :rules="rules" label-width="120px" style="width: 900px">
|
<el-form v-if="active == 2" ref="form2" :model="form2" :rules="rules2" label-width="80px">
|
||||||
<div class="modellist" style="padding: 20px 0px">
|
<el-form-item label="主机" prop="host">
|
||||||
<div :class="[form.dbType =='1' ? 'choosedDbType' : '','list']" @click="chooseDbType('1')">
|
<el-input v-model="form2.host" placeholder="请输入主机" />
|
||||||
<div class="limg"><img :src="databaseImg.imgMySQL"></div>
|
</el-form-item>
|
||||||
<div class="ltitle">
|
<el-form-item label="端口" prop="port">
|
||||||
<el-tooltip content="mysql数据库" placement="bottom" effect="light">
|
<el-input v-model="form2.port" placeholder="请输入端口" />
|
||||||
<p class="title">mysql</p>
|
</el-form-item>
|
||||||
</el-tooltip>
|
<el-form-item v-if="form.dbType === '3' || form.dbType === '4'" label="服务名" prop="sid">
|
||||||
</div>
|
<el-input v-model="form2.sid" placeholder="请输入服务名" />
|
||||||
</div>
|
</el-form-item>
|
||||||
<div :class="[form.dbType =='2' ? 'choosedDbType' : '','list']" @click="chooseDbType('2')">
|
<el-form-item v-if="form.dbType !== '3' && form.dbType !== '4'" label="数据库" prop="dbName">
|
||||||
<div class="limg"><img :src="databaseImg.imgMariaDB"></div>
|
<el-input v-model="form2.dbName" placeholder="请输入数据库" />
|
||||||
<div class="ltitle">
|
</el-form-item>
|
||||||
<el-tooltip content="mariadb-3.0.3数据库" placement="bottom" effect="light">
|
<el-form-item label="用户名" prop="username">
|
||||||
<p class="title">mariadb-3.0.3</p>
|
<el-input v-model="form2.username" placeholder="请输入用户名" />
|
||||||
</el-tooltip>
|
</el-form-item>
|
||||||
</div>
|
<el-form-item label="密码" prop="password">
|
||||||
</div>
|
<el-input v-model="form2.password" placeholder="请输入密码" />
|
||||||
<div :class="[form.dbType =='3' ? 'choosedDbType' : '','list']" @click="chooseDbType('3')">
|
</el-form-item>
|
||||||
<div class="limg"><img :src="databaseImg.imgOracle"></div>
|
<el-form-item>
|
||||||
<div class="ltitle">
|
<el-button v-hasPerm="['metadata:datasource:connect']" size="mini" type="primary" @click="handleCheckConnection">连通性检测</el-button>
|
||||||
<el-tooltip content="oracle数据库" placement="bottom" effect="light">
|
</el-form-item>
|
||||||
<p class="title">oracle</p>
|
|
||||||
</el-tooltip>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div :class="[form.dbType =='9' ? 'choosedDbType' : '','list']" @click="chooseDbType('9')">
|
|
||||||
<div class="limg"><img :src="databaseImg.imgdm8"></div>
|
|
||||||
<div class="ltitle">
|
|
||||||
<el-tooltip content="dm数据库" placement="bottom" effect="light">
|
|
||||||
<p class="title">dm</p>
|
|
||||||
</el-tooltip>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div :class="[form.dbType =='8' ? 'choosedDbType' : '','list']" @click="chooseDbType('8')">
|
|
||||||
<div class="limg"><img :src="databaseImg.imgibmdb2"></div>
|
|
||||||
<div class="ltitle">
|
|
||||||
<el-tooltip content="db2数据库" placement="bottom" effect="light">
|
|
||||||
<p class="title">db2</p>
|
|
||||||
</el-tooltip>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div :class="[form.dbType =='5' ? 'choosedDbType' : '','list']" @click="chooseDbType('5')">
|
|
||||||
<div class="limg"><img :src="databaseImg.imgPostgreSQL"></div>
|
|
||||||
<div class="ltitle">
|
|
||||||
<el-tooltip content="PostgreSQ数据库" placement="bottom" effect="light">
|
|
||||||
<p class="title">PostgreSQ</p>
|
|
||||||
</el-tooltip>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div :class="[form.dbType =='6' ? 'choosedDbType' : '','list']" @click="chooseDbType('6')">
|
|
||||||
<div class="limg"><img :src="databaseImg.imgSqlserver"></div>
|
|
||||||
<div class="ltitle">
|
|
||||||
<el-tooltip content="Sqlserver数据库" placement="bottom" effect="light">
|
|
||||||
<p class="title">Sqlserver</p>
|
|
||||||
</el-tooltip>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div :class="[form.dbType =='7' ? 'choosedDbType' : '','list']" @click="chooseDbType('7')">
|
|
||||||
<div class="limg"><img :src="databaseImg.imgkingbase"></div>
|
|
||||||
<div class="ltitle">
|
|
||||||
<el-tooltip content="kingbase数据库" placement="bottom" effect="light">
|
|
||||||
<p class="title">kingbase</p>
|
|
||||||
</el-tooltip>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div :class="[form.dbType =='10' ? 'choosedDbType' : '','list']" @click="chooseDbType('10')">
|
|
||||||
<div class="limg"><img :src="databaseImg.imggaussdb"></div>
|
|
||||||
<div class="ltitle">
|
|
||||||
<el-tooltip content="GaussDB数据库" placement="bottom" effect="light">
|
|
||||||
<p class="title">GaussDB</p>
|
|
||||||
</el-tooltip>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div :class="[form.dbType =='4' ? 'choosedDbType' : '','list']" @click="chooseDbType('4')">
|
|
||||||
<div class="limg"><img :src="databaseImg.imgdefault"></div>
|
|
||||||
<div class="ltitle">
|
|
||||||
<el-tooltip content="MaxCompute数据库" placement="bottom" effect="light">
|
|
||||||
<p class="title">MaxCompute</p>
|
|
||||||
</el-tooltip>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div><!--modellist 模型监控列表-->
|
|
||||||
|
|
||||||
</el-form>
|
|
||||||
<el-form v-if="active == 3" ref="form2" :model="form2" :rules="rules2" label-width="80px" style="width: 900px">
|
|
||||||
<div style="padding: 20px 0px">
|
|
||||||
<el-form-item label="主机" prop="host">
|
|
||||||
<el-input v-model="form2.host" placeholder="请输入主机" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="端口" prop="port">
|
|
||||||
<el-input v-model="form2.port" placeholder="请输入端口" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item v-if="form.dbType === '3' || form.dbType === '4'" label="服务名" prop="sid">
|
|
||||||
<el-input v-model="form2.sid" placeholder="请输入服务名" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item v-if="form.dbType !== '3' && form.dbType !== '4'" label="数据库" prop="dbName">
|
|
||||||
<el-input v-model="form2.dbName" placeholder="请输入数据库" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="用户名" prop="username">
|
|
||||||
<el-input v-model="form2.username" placeholder="请输入用户名" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="密码" prop="password">
|
|
||||||
<el-input v-model="form2.password" placeholder="请输入密码" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item>
|
|
||||||
<el-button size="mini" type="primary" @click="handleCheckConnection">连通性检测</el-button>
|
|
||||||
</el-form-item>
|
|
||||||
</div>
|
|
||||||
</el-form>
|
</el-form>
|
||||||
|
<el-button v-if="active == 1" style="margin-top: 12px;" @click="handleNextStep">下一步</el-button>
|
||||||
|
<el-button v-if="active == 2" style="margin-top: 12px;" @click="handleLastStep">上一步</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { addDataSource, checkConnection } from '@/api/metadata/datasource'
|
import { addDataSource, checkConnection } from '@/api/metadata/datasource'
|
||||||
import { createDataSource } from '@/api/datamodel/model'
|
|
||||||
import imgMySQL from '@/assets/database/MySQL.svg'
|
|
||||||
import imgMariaDB from '@/assets/database/MariaDB.svg'
|
|
||||||
import imgOracle from '@/assets/database/Oracle.svg'
|
|
||||||
import imgdm8 from '@/assets/database/dm8.png'
|
|
||||||
import imgibmdb2 from '@/assets/database/ibmdb2.png'
|
|
||||||
import imgPostgreSQL from '@/assets/database/PostgreSQL.svg'
|
|
||||||
import imgSqlserver from '@/assets/database/Sqlserver.svg'
|
|
||||||
import imgdefault from '@/assets/database/default.svg'
|
|
||||||
import imgkingbase from '@/assets/database/kingbase.png'
|
|
||||||
import imggaussdb from '@/assets/database/gaussdb.png'
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'DataSourceAdd',
|
name: 'DataSourceAdd',
|
||||||
@ -175,19 +84,6 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
title: '数据源新增',
|
title: '数据源新增',
|
||||||
databaseImg: {
|
|
||||||
isActive: true,
|
|
||||||
imgMySQL: imgMySQL,
|
|
||||||
imgMariaDB: imgMariaDB,
|
|
||||||
imgOracle: imgOracle,
|
|
||||||
imgdm8: imgdm8,
|
|
||||||
imgibmdb2: imgibmdb2,
|
|
||||||
imgPostgreSQL: imgPostgreSQL,
|
|
||||||
imgSqlserver: imgSqlserver,
|
|
||||||
imgdefault: imgdefault,
|
|
||||||
imgkingbase: imgkingbase,
|
|
||||||
imggaussdb: imggaussdb
|
|
||||||
},
|
|
||||||
// 展示切换
|
// 展示切换
|
||||||
showOptions: {
|
showOptions: {
|
||||||
data: {},
|
data: {},
|
||||||
@ -228,8 +124,7 @@ export default {
|
|||||||
dbName: undefined,
|
dbName: undefined,
|
||||||
username: undefined,
|
username: undefined,
|
||||||
password: undefined,
|
password: undefined,
|
||||||
sid: undefined,
|
sid: undefined
|
||||||
schema: ''
|
|
||||||
},
|
},
|
||||||
rules2: {
|
rules2: {
|
||||||
host: [
|
host: [
|
||||||
@ -285,9 +180,6 @@ export default {
|
|||||||
handleLastStep() {
|
handleLastStep() {
|
||||||
this.active--
|
this.active--
|
||||||
},
|
},
|
||||||
chooseDbType(type) {
|
|
||||||
this.form.dbType = type
|
|
||||||
},
|
|
||||||
/** 检测数据库连通性 */
|
/** 检测数据库连通性 */
|
||||||
handleCheckConnection() {
|
handleCheckConnection() {
|
||||||
this.$refs['form2'].validate(valid => {
|
this.$refs['form2'].validate(valid => {
|
||||||
@ -312,7 +204,6 @@ export default {
|
|||||||
addDataSource(this.form).then(response => {
|
addDataSource(this.form).then(response => {
|
||||||
if (response.success) {
|
if (response.success) {
|
||||||
this.$message.success('保存成功')
|
this.$message.success('保存成功')
|
||||||
this.saveModelDataSource()
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
// 2秒后跳转列表页
|
// 2秒后跳转列表页
|
||||||
this.$emit('showCard', this.showOptions)
|
this.$emit('showCard', this.showOptions)
|
||||||
@ -330,21 +221,6 @@ export default {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
|
||||||
saveModelDataSource() {
|
|
||||||
const dbType = this.form.dbType
|
|
||||||
const dataSource = {
|
|
||||||
projectId: this.form2.dbName,
|
|
||||||
databaseName: this.form2.dbName,
|
|
||||||
schemaName: this.form2.schema === '' ? this.form2.dbName : this.form2.schema,
|
|
||||||
databaseType: dbType,
|
|
||||||
url: this.form2.host + ':' + this.form2.port + '/' + this.form2.dbName,
|
|
||||||
username: this.form2.username,
|
|
||||||
password: this.form2.password
|
|
||||||
}
|
|
||||||
createDataSource(dataSource).then(() => {
|
|
||||||
}).catch(() => {
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -355,7 +231,4 @@ export default {
|
|||||||
height: calc(100vh - 230px);
|
height: calc(100vh - 230px);
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
.choosedDbType{
|
|
||||||
border: 1px solid #165DFF;
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
@ -4,191 +4,74 @@
|
|||||||
<span>{{ title }}</span>
|
<span>{{ title }}</span>
|
||||||
<el-button-group style="float: right;">
|
<el-button-group style="float: right;">
|
||||||
<!-- zrx add-->
|
<!-- zrx add-->
|
||||||
<el-button v-if="form.isSync === '0'" type="primary" size="mini" icon="el-icon-coin" @click="handleSync">元数据同步</el-button>
|
<el-button v-if="form.isSync === '0'" v-hasPerm="['metadata:datasource:sync']" size="mini" icon="el-icon-coin" round @click="handleSync">元数据同步</el-button>
|
||||||
<el-button v-if="form.isSync === '2'" type="primary" size="mini" icon="el-icon-coin" @click="handleSync">元数据更新</el-button>
|
<el-button v-if="form.isSync === '2'" v-hasPerm="['metadata:datasource:sync']" size="mini" icon="el-icon-coin" round @click="handleSync">元数据更新</el-button>
|
||||||
<el-button v-if="form.isSync === '2'" type="primary" size="mini" icon="el-icon-coin" @click="handleWord">数据库文档</el-button>
|
<el-button v-if="form.isSync === '2'" v-hasPerm="['metadata:datasource:word']" size="mini" icon="el-icon-coin" round @click="handleWord">数据库文档</el-button>
|
||||||
<el-button v-if="form.isSync === '3'" type="primary" size="mini" icon="el-icon-coin" @click="handleSync">元数据再次同步</el-button>
|
<el-button v-if="form.isSync === '3'" v-hasPerm="['metadata:datasource:sync']" size="mini" icon="el-icon-coin" round @click="handleSync">元数据再次同步</el-button>
|
||||||
<el-button type="primary" size="mini" icon="el-icon-coin" @click="handleCheckConnection">连通性检测</el-button>
|
<el-button v-hasPerm="['metadata:datasource:connect']" size="mini" icon="el-icon-coin" round @click="handleCheckConnection">连通性检测</el-button>
|
||||||
<el-button size="mini" icon="el-icon-back" @click="showCard">返回</el-button>
|
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
|
||||||
</el-button-group>
|
</el-button-group>
|
||||||
</div>
|
</div>
|
||||||
<div class="body-wrapper">
|
<div class="body-wrapper">
|
||||||
<el-descriptions style="margin-top: 20px" title="数据源信息" :column="2" border size="medium" >
|
<el-steps :active="active" finish-status="success" align-center>
|
||||||
<el-descriptions-item :labelStyle="{width: '200px'}" :contentStyle="{width: '35%'}">
|
<el-step title="数据源信息" />
|
||||||
<template slot="label">
|
<el-step title="连接信息" />
|
||||||
<i class="el-icon-tickets"></i>
|
</el-steps>
|
||||||
数据源名称
|
<el-form v-if="active == 1" ref="form" :model="form" label-width="80px" disabled>
|
||||||
</template>
|
<el-form-item label="数据源类型" prop="dbType">
|
||||||
{{form.sourceName}}
|
<el-select v-model="form.dbType">
|
||||||
</el-descriptions-item>
|
<el-option
|
||||||
<el-descriptions-item :labelStyle="{width: '200px'}">
|
v-for="item in dbTypeOptions"
|
||||||
<template slot="label">
|
:key="item.id"
|
||||||
<i class="el-icon-star-off"></i>
|
:label="item.itemValue"
|
||||||
状态
|
:value="item.itemText"
|
||||||
</template>
|
/>
|
||||||
<template v-for="dict in statusOptions">
|
</el-select>
|
||||||
<el-tag v-if="form.status == dict.itemText && form.status == '1' " size="small" type="success">{{ dict.itemValue }}</el-tag>
|
</el-form-item>
|
||||||
<el-tag v-if="form.status == dict.itemText && form.status != '1' " size="small" type="warning">{{ dict.itemValue }}</el-tag>
|
<el-form-item label="数据源名称" prop="sourceName">
|
||||||
</template>
|
<el-input v-model="form.sourceName" placeholder="请输入数据源名称" />
|
||||||
</el-descriptions-item>
|
</el-form-item>
|
||||||
<el-descriptions-item :labelStyle="{width: '200px'}">
|
<el-form-item label="状态" prop="status">
|
||||||
<template slot="label">
|
<el-radio-group v-model="form.status">
|
||||||
<i class="el-icon-document"></i>
|
<el-radio
|
||||||
备注
|
v-for="dict in statusOptions"
|
||||||
</template>
|
:key="dict.id"
|
||||||
{{form.remark}}
|
:label="dict.itemText"
|
||||||
</el-descriptions-item>
|
>{{ dict.itemValue }}</el-radio>
|
||||||
</el-descriptions >
|
</el-radio-group>
|
||||||
<el-descriptions style="margin-top: 20px" title="数据库类型" :column="1" :colon="false" border size="medium">
|
</el-form-item>
|
||||||
<el-descriptions-item :labelStyle="{width: '200px'}">
|
<el-form-item label="备注" prop="remark">
|
||||||
<template slot="label">
|
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
|
||||||
<i class="el-icon-menu"></i>
|
</el-form-item>
|
||||||
数据库类型
|
</el-form>
|
||||||
</template>
|
<el-form v-if="active == 2" ref="form2" :model="form2" label-width="80px" disabled>
|
||||||
<div class="modellist" style="width:100%">
|
<el-form-item label="主机" prop="host">
|
||||||
<div v-if="form.dbType =='1'" class="list" @click="chooseDbType('1')">
|
<el-input v-model="form2.host" placeholder="请输入主机" />
|
||||||
<div class="limg"><img :src="databaseImg.imgMySQL"></div>
|
</el-form-item>
|
||||||
<div class="ltitle">
|
<el-form-item label="端口" prop="port">
|
||||||
<el-tooltip content="mysql数据库" placement="bottom" effect="light">
|
<el-input v-model="form2.port" placeholder="请输入端口" />
|
||||||
<p class="title">mysql</p>
|
</el-form-item>
|
||||||
</el-tooltip>
|
<el-form-item v-if="form.dbType === '3' || form.dbType === '4'" label="服务名" prop="sid">
|
||||||
</div>
|
<el-input v-model="form2.sid" placeholder="请输入服务名" />
|
||||||
</div>
|
</el-form-item>
|
||||||
<div v-if="form.dbType =='2'" class="list" @click="chooseDbType('2')">
|
<el-form-item v-if="form.dbType !== '3' && form.dbType !== '4'" label="数据库" prop="dbName">
|
||||||
<div class="limg"><img :src="databaseImg.imgMariaDB"></div>
|
<el-input v-model="form2.dbName" placeholder="请输入数据库" />
|
||||||
<div class="ltitle">
|
</el-form-item>
|
||||||
<el-tooltip content="mariadb-3.0.3数据库" placement="bottom" effect="light">
|
<el-form-item label="用户名" prop="username">
|
||||||
<p class="title">mariadb-3.0.3</p>
|
<el-input v-model="form2.username" placeholder="请输入用户名" />
|
||||||
</el-tooltip>
|
</el-form-item>
|
||||||
</div>
|
<el-form-item label="密码" prop="password">
|
||||||
</div>
|
<el-input v-model="form2.password" placeholder="请输入密码" />
|
||||||
<div v-if="form.dbType =='3'" class="list" @click="chooseDbType('3')">
|
</el-form-item>
|
||||||
<div class="limg"><img :src="databaseImg.imgOracle"></div>
|
</el-form>
|
||||||
<div class="ltitle">
|
<el-button v-if="active == 1" style="margin-top: 12px;" @click="handleNextStep">下一步</el-button>
|
||||||
<el-tooltip content="oracle数据库" placement="bottom" effect="light">
|
<el-button v-if="active == 2" style="margin-top: 12px;" @click="handleLastStep">上一步</el-button>
|
||||||
<p class="title">oracle</p>
|
|
||||||
</el-tooltip>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div v-if="form.dbType =='9'" class="list" @click="chooseDbType('9')">
|
|
||||||
<div class="limg"><img :src="databaseImg.imgdm8"></div>
|
|
||||||
<div class="ltitle">
|
|
||||||
<el-tooltip content="dm数据库" placement="bottom" effect="light">
|
|
||||||
<p class="title">dm</p>
|
|
||||||
</el-tooltip>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div v-if="form.dbType =='8'" class="list" @click="chooseDbType('8')">
|
|
||||||
<div class="limg"><img :src="databaseImg.imgibmdb2"></div>
|
|
||||||
<div class="ltitle">
|
|
||||||
<el-tooltip content="db2数据库" placement="bottom" effect="light">
|
|
||||||
<p class="title">db2</p>
|
|
||||||
</el-tooltip>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div v-if="form.dbType =='5'" class="list" @click="chooseDbType('5')">
|
|
||||||
<div class="limg"><img :src="databaseImg.imgPostgreSQL"></div>
|
|
||||||
<div class="ltitle">
|
|
||||||
<el-tooltip content="PostgreSQ数据库" placement="bottom" effect="light">
|
|
||||||
<p class="title">PostgreSQ</p>
|
|
||||||
</el-tooltip>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div v-if="form.dbType =='6'" class="list" @click="chooseDbType('6')">
|
|
||||||
<div class="limg"><img :src="databaseImg.imgSqlserver"></div>
|
|
||||||
<div class="ltitle">
|
|
||||||
<el-tooltip content="Sqlserver数据库" placement="bottom" effect="light">
|
|
||||||
<p class="title">Sqlserver</p>
|
|
||||||
</el-tooltip>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div v-if="form.dbType =='7'" class="list" @click="chooseDbType('7')">
|
|
||||||
<div class="limg"><img :src="databaseImg.imgkingbase"></div>
|
|
||||||
<div class="ltitle">
|
|
||||||
<el-tooltip content="kingbase数据库" placement="bottom" effect="light">
|
|
||||||
<p class="title">kingbase</p>
|
|
||||||
</el-tooltip>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div v-if="form.dbType =='10'" class="list" @click="chooseDbType('10')">
|
|
||||||
<div class="limg"><img :src="databaseImg.imggaussdb"></div>
|
|
||||||
<div class="ltitle">
|
|
||||||
<el-tooltip content="GaussDB数据库" placement="bottom" effect="light">
|
|
||||||
<p class="title">GaussDB</p>
|
|
||||||
</el-tooltip>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div v-if="form.dbType =='4'" class="list" @click="chooseDbType('4')">
|
|
||||||
<div class="limg"><img :src="databaseImg.imgdefault"></div>
|
|
||||||
<div class="ltitle">
|
|
||||||
<el-tooltip content="MaxCompute数据库" placement="bottom" effect="light">
|
|
||||||
<p class="title">MaxCompute</p>
|
|
||||||
</el-tooltip>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div><!--modellist 模型监控列表-->
|
|
||||||
</el-descriptions-item>
|
|
||||||
</el-descriptions>
|
|
||||||
<el-descriptions style="margin-top: 20px" title="连接信息" :column="2" border size="medium">
|
|
||||||
<el-descriptions-item :labelStyle="{width: '200px'}" :contentStyle="{width: '35%'}">
|
|
||||||
<template slot="label">
|
|
||||||
<i class="el-icon-coin"></i>
|
|
||||||
主机
|
|
||||||
</template>
|
|
||||||
{{form2.host}}
|
|
||||||
</el-descriptions-item>
|
|
||||||
<el-descriptions-item :labelStyle="{width: '200px'}">
|
|
||||||
<template slot="label">
|
|
||||||
<i class="el-icon-thumb"></i>
|
|
||||||
端口
|
|
||||||
</template>
|
|
||||||
{{form2.port}}
|
|
||||||
</el-descriptions-item>
|
|
||||||
<el-descriptions-item v-if="form.dbType === '3' || form.dbType === '4'">
|
|
||||||
<template slot="label">
|
|
||||||
<i class="el-icon-user"></i>
|
|
||||||
服务名
|
|
||||||
</template>
|
|
||||||
{{form2.sid}}
|
|
||||||
</el-descriptions-item>
|
|
||||||
<el-descriptions-item >
|
|
||||||
<template slot="label">
|
|
||||||
<i class="el-icon-coin"></i>
|
|
||||||
数据库
|
|
||||||
</template>
|
|
||||||
{{form2.dbName}}
|
|
||||||
</el-descriptions-item>
|
|
||||||
<el-descriptions-item>
|
|
||||||
<template slot="label">
|
|
||||||
<i class="el-icon-user"></i>
|
|
||||||
用户名
|
|
||||||
</template>
|
|
||||||
{{form2.username}}
|
|
||||||
</el-descriptions-item>
|
|
||||||
<el-descriptions-item>
|
|
||||||
<template slot="label">
|
|
||||||
<i class="el-icon-s-check"></i>
|
|
||||||
密码
|
|
||||||
</template>
|
|
||||||
{{form2.password}}
|
|
||||||
</el-descriptions-item>
|
|
||||||
</el-descriptions>
|
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getDataSource, checkConnection, sync, word } from '@/api/metadata/datasource'
|
import { getDataSource, checkConnection, sync, word } from '@/api/metadata/datasource'
|
||||||
import imgMySQL from '@/assets/database/MySQL.svg'
|
|
||||||
import imgMariaDB from '@/assets/database/MariaDB.svg'
|
|
||||||
import imgOracle from '@/assets/database/Oracle.svg'
|
|
||||||
import imgdm8 from '@/assets/database/dm8.png'
|
|
||||||
import imgibmdb2 from '@/assets/database/ibmdb2.png'
|
|
||||||
import imgPostgreSQL from '@/assets/database/PostgreSQL.svg'
|
|
||||||
import imgSqlserver from '@/assets/database/Sqlserver.svg'
|
|
||||||
import imgdefault from '@/assets/database/default.svg'
|
|
||||||
import imgkingbase from '@/assets/database/kingbase.png'
|
|
||||||
import imggaussdb from '@/assets/database/gaussdb.png'
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'DataSourceDetail',
|
name: 'DataSourceDetail',
|
||||||
@ -203,18 +86,6 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
title: '数据源详情',
|
title: '数据源详情',
|
||||||
databaseImg: {
|
|
||||||
imgMySQL: imgMySQL,
|
|
||||||
imgMariaDB: imgMariaDB,
|
|
||||||
imgOracle: imgOracle,
|
|
||||||
imgdm8: imgdm8,
|
|
||||||
imgibmdb2: imgibmdb2,
|
|
||||||
imgPostgreSQL: imgPostgreSQL,
|
|
||||||
imgSqlserver: imgSqlserver,
|
|
||||||
imgdefault: imgdefault,
|
|
||||||
imgkingbase: imgkingbase,
|
|
||||||
imggaussdb: imggaussdb
|
|
||||||
},
|
|
||||||
// 展示切换
|
// 展示切换
|
||||||
showOptions: {
|
showOptions: {
|
||||||
data: {},
|
data: {},
|
||||||
@ -258,7 +129,6 @@ export default {
|
|||||||
getDataSource(id).then(response => {
|
getDataSource(id).then(response => {
|
||||||
if (response.success) {
|
if (response.success) {
|
||||||
this.form = response.data
|
this.form = response.data
|
||||||
console.log('ddd', this.form)
|
|
||||||
this.form2 = this.form.dbSchema
|
this.form2 = this.form.dbSchema
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -3,164 +3,73 @@
|
|||||||
<div slot="header" class="clearfix">
|
<div slot="header" class="clearfix">
|
||||||
<span>{{ title }}</span>
|
<span>{{ title }}</span>
|
||||||
<el-button-group style="float: right;">
|
<el-button-group style="float: right;">
|
||||||
<el-button v-if="active == 3" type="primary" size="mini" icon="el-icon-plus" :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
|
<el-button v-if="active == 2" v-hasPerm="['metadata:datasource:edit']" size="mini" icon="el-icon-plus" round :loading="loadingOptions.loading" :disabled="loadingOptions.isDisabled" @click="submitForm">{{ loadingOptions.loadingText }}</el-button>
|
||||||
<el-button v-if="active != 3" size="mini" type="primary" @click="handleNextStep">下一步</el-button>
|
<el-button size="mini" icon="el-icon-back" round @click="showCard">返回</el-button>
|
||||||
<el-button v-if="active != 1" size="mini" type="primary" @click="handleLastStep">上一步</el-button>
|
|
||||||
<el-button size="mini" icon="el-icon-back" @click="showCard">返回</el-button>
|
|
||||||
</el-button-group>
|
</el-button-group>
|
||||||
</div>
|
</div>
|
||||||
<div class="body-wrapper">
|
<div class="body-wrapper">
|
||||||
<el-steps :active="active" finish-status="success" align-center>
|
<el-steps :active="active" finish-status="success" align-center>
|
||||||
<el-step title="填写数据源信息" />
|
<el-step title="数据源信息" />
|
||||||
<el-step title="选择数据库类型" />
|
<el-step title="连接信息" />
|
||||||
<el-step title="填写连接信息" />
|
|
||||||
</el-steps>
|
</el-steps>
|
||||||
<el-form v-if="active == 1" ref="form" :model="form" :rules="rules" label-width="120px">
|
<el-form v-if="active == 1" ref="form" :model="form" :rules="rules" label-width="80px">
|
||||||
<div style="padding: 20px 200px">
|
<el-form-item label="数据源类型" prop="dbType">
|
||||||
<el-form-item label="数据源名称" prop="sourceName">
|
<el-select v-model="form.dbType">
|
||||||
<el-input v-model="form.sourceName" placeholder="请输入数据源名称" />
|
<el-option
|
||||||
</el-form-item>
|
v-for="item in dbTypeOptions"
|
||||||
<el-form-item label="状态" prop="status">
|
:key="item.id"
|
||||||
<el-radio-group v-model="form.status">
|
:label="item.itemValue"
|
||||||
<el-radio
|
:value="item.itemText"
|
||||||
v-for="dict in statusOptions"
|
/>
|
||||||
:key="dict.id"
|
</el-select>
|
||||||
:label="dict.itemText"
|
</el-form-item>
|
||||||
>{{ dict.itemValue }}</el-radio>
|
<el-form-item label="数据源名称" prop="sourceName">
|
||||||
</el-radio-group>
|
<el-input v-model="form.sourceName" placeholder="请输入数据源名称" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="备注" prop="remark">
|
<el-form-item label="状态" prop="status">
|
||||||
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
|
<el-radio-group v-model="form.status">
|
||||||
</el-form-item>
|
<el-radio
|
||||||
</div>
|
v-for="dict in statusOptions"
|
||||||
|
:key="dict.id"
|
||||||
|
:label="dict.itemText"
|
||||||
|
>{{ dict.itemValue }}</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="备注" prop="remark">
|
||||||
|
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
|
||||||
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<el-form v-if="active == 2" ref="form" :model="form" :rules="rules" label-width="120px">
|
<el-form v-if="active == 2" ref="form2" :model="form2" :rules="rules2" label-width="80px">
|
||||||
<div class="modellist" style="padding: 20px 200px">
|
<el-form-item label="主机" prop="host">
|
||||||
<div :class="[form.dbType =='1' ? 'choosedDbType' : '','list']" @click="chooseDbType('1')">
|
<el-input v-model="form2.host" placeholder="请输入主机" />
|
||||||
<div class="limg"><img :src="databaseImg.imgMySQL"></div>
|
</el-form-item>
|
||||||
<div class="ltitle">
|
<el-form-item label="端口" prop="port">
|
||||||
<el-tooltip content="mysql数据库" placement="bottom" effect="light">
|
<el-input v-model="form2.port" placeholder="请输入端口" />
|
||||||
<p class="title">mysql</p>
|
</el-form-item>
|
||||||
</el-tooltip>
|
<el-form-item v-if="form.dbType === '3' || form.dbType === '4'" label="服务名" prop="sid">
|
||||||
</div>
|
<el-input v-model="form2.sid" placeholder="请输入服务名" />
|
||||||
</div>
|
</el-form-item>
|
||||||
<div :class="[form.dbType =='2' ? 'choosedDbType' : '','list']" @click="chooseDbType('2')">
|
<el-form-item v-if="form.dbType !== '3' && form.dbType !== '4'" label="数据库" prop="dbName">
|
||||||
<div class="limg"><img :src="databaseImg.imgMariaDB"></div>
|
<el-input v-model="form2.dbName" placeholder="请输入数据库" />
|
||||||
<div class="ltitle">
|
</el-form-item>
|
||||||
<el-tooltip content="mariadb-3.0.3数据库" placement="bottom" effect="light">
|
<el-form-item label="用户名" prop="username">
|
||||||
<p class="title">mariadb-3.0.3</p>
|
<el-input v-model="form2.username" placeholder="请输入用户名" />
|
||||||
</el-tooltip>
|
</el-form-item>
|
||||||
</div>
|
<el-form-item label="密码" prop="password">
|
||||||
</div>
|
<el-input v-model="form2.password" placeholder="请输入密码" />
|
||||||
<div :class="[form.dbType =='3' ? 'choosedDbType' : '','list']" @click="chooseDbType('3')">
|
</el-form-item>
|
||||||
<div class="limg"><img :src="databaseImg.imgOracle"></div>
|
<el-form-item>
|
||||||
<div class="ltitle">
|
<el-button v-hasPerm="['metadata:datasource:connect']" size="mini" type="primary" @click="handleCheckConnection">连通性检测</el-button>
|
||||||
<el-tooltip content="oracle数据库" placement="bottom" effect="light">
|
</el-form-item>
|
||||||
<p class="title">oracle</p>
|
|
||||||
</el-tooltip>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div :class="[form.dbType =='9' ? 'choosedDbType' : '','list']" @click="chooseDbType('9')">
|
|
||||||
<div class="limg"><img :src="databaseImg.imgdm8"></div>
|
|
||||||
<div class="ltitle">
|
|
||||||
<el-tooltip content="dm数据库" placement="bottom" effect="light">
|
|
||||||
<p class="title">dm</p>
|
|
||||||
</el-tooltip>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div :class="[form.dbType =='8' ? 'choosedDbType' : '','list']" @click="chooseDbType('8')">
|
|
||||||
<div class="limg"><img :src="databaseImg.imgibmdb2"></div>
|
|
||||||
<div class="ltitle">
|
|
||||||
<el-tooltip content="db2数据库" placement="bottom" effect="light">
|
|
||||||
<p class="title">db2</p>
|
|
||||||
</el-tooltip>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div :class="[form.dbType =='5' ? 'choosedDbType' : '','list']" @click="chooseDbType('5')">
|
|
||||||
<div class="limg"><img :src="databaseImg.imgPostgreSQL"></div>
|
|
||||||
<div class="ltitle">
|
|
||||||
<el-tooltip content="PostgreSQ数据库" placement="bottom" effect="light">
|
|
||||||
<p class="title">PostgreSQ</p>
|
|
||||||
</el-tooltip>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div :class="[form.dbType =='6' ? 'choosedDbType' : '','list']" @click="chooseDbType('6')">
|
|
||||||
<div class="limg"><img :src="databaseImg.imgSqlserver"></div>
|
|
||||||
<div class="ltitle">
|
|
||||||
<el-tooltip content="Sqlserver数据库" placement="bottom" effect="light">
|
|
||||||
<p class="title">Sqlserver</p>
|
|
||||||
</el-tooltip>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div :class="[form.dbType =='7' ? 'choosedDbType' : '','list']" @click="chooseDbType('7')">
|
|
||||||
<div class="limg"><img :src="databaseImg.imgkingbase"></div>
|
|
||||||
<div class="ltitle">
|
|
||||||
<el-tooltip content="kingbase数据库" placement="bottom" effect="light">
|
|
||||||
<p class="title">kingbase</p>
|
|
||||||
</el-tooltip>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div :class="[form.dbType =='10' ? 'choosedDbType' : '','list']" @click="chooseDbType('10')">
|
|
||||||
<div class="limg"><img :src="databaseImg.imggaussdb"></div>
|
|
||||||
<div class="ltitle">
|
|
||||||
<el-tooltip content="GaussDB数据库" placement="bottom" effect="light">
|
|
||||||
<p class="title">GaussDB</p>
|
|
||||||
</el-tooltip>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div :class="[form.dbType =='4' ? 'choosedDbType' : '','list']" @click="chooseDbType('4')">
|
|
||||||
<div class="limg"><img :src="databaseImg.imgdefault"></div>
|
|
||||||
<div class="ltitle">
|
|
||||||
<el-tooltip content="MaxCompute数据库" placement="bottom" effect="light">
|
|
||||||
<p class="title">MaxCompute</p>
|
|
||||||
</el-tooltip>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div><!--modellist 模型监控列表-->
|
|
||||||
|
|
||||||
</el-form>
|
|
||||||
<el-form v-if="active == 3" ref="form2" :model="form2" :rules="rules2" label-width="80px">
|
|
||||||
<div style="padding: 20px 200px">
|
|
||||||
<el-form-item label="主机" prop="host">
|
|
||||||
<el-input v-model="form2.host" placeholder="请输入主机" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="端口" prop="port">
|
|
||||||
<el-input v-model="form2.port" placeholder="请输入端口" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item v-if="form.dbType === '3' || form.dbType === '4'" label="服务名" prop="sid">
|
|
||||||
<el-input v-model="form2.sid" placeholder="请输入服务名" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item v-if="form.dbType !== '3' && form.dbType !== '4'" label="数据库" prop="dbName">
|
|
||||||
<el-input v-model="form2.dbName" placeholder="请输入数据库" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="用户名" prop="username">
|
|
||||||
<el-input v-model="form2.username" placeholder="请输入用户名" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="密码" prop="password">
|
|
||||||
<el-input v-model="form2.password" placeholder="请输入密码" />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item>
|
|
||||||
<el-button size="mini" type="primary" @click="handleCheckConnection">连通性检测</el-button>
|
|
||||||
</el-form-item>
|
|
||||||
</div>
|
|
||||||
</el-form>
|
</el-form>
|
||||||
|
<el-button v-if="active == 1" style="margin-top: 12px;" @click="handleNextStep">下一步</el-button>
|
||||||
|
<el-button v-if="active == 2" style="margin-top: 12px;" @click="handleLastStep">上一步</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { getDataSource, updateDataSource, checkConnection } from '@/api/metadata/datasource'
|
import { getDataSource, updateDataSource, checkConnection } from '@/api/metadata/datasource'
|
||||||
import { editDataSource } from '@/api/datamodel/model'
|
|
||||||
import imgMySQL from '@/assets/database/MySQL.svg'
|
|
||||||
import imgMariaDB from '@/assets/database/MariaDB.svg'
|
|
||||||
import imgOracle from '@/assets/database/Oracle.svg'
|
|
||||||
import imgdm8 from '@/assets/database/dm8.png'
|
|
||||||
import imgibmdb2 from '@/assets/database/ibmdb2.png'
|
|
||||||
import imgPostgreSQL from '@/assets/database/PostgreSQL.svg'
|
|
||||||
import imgSqlserver from '@/assets/database/Sqlserver.svg'
|
|
||||||
import imgdefault from '@/assets/database/default.svg'
|
|
||||||
import imgkingbase from '@/assets/database/kingbase.png'
|
|
||||||
import imggaussdb from '@/assets/database/gaussdb.png'
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'DataSourceEdit',
|
name: 'DataSourceEdit',
|
||||||
@ -175,19 +84,6 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
title: '数据源编辑',
|
title: '数据源编辑',
|
||||||
databaseImg: {
|
|
||||||
isActive: true,
|
|
||||||
imgMySQL: imgMySQL,
|
|
||||||
imgMariaDB: imgMariaDB,
|
|
||||||
imgOracle: imgOracle,
|
|
||||||
imgdm8: imgdm8,
|
|
||||||
imgibmdb2: imgibmdb2,
|
|
||||||
imgPostgreSQL: imgPostgreSQL,
|
|
||||||
imgSqlserver: imgSqlserver,
|
|
||||||
imgdefault: imgdefault,
|
|
||||||
imgkingbase: imgkingbase,
|
|
||||||
imggaussdb: imggaussdb
|
|
||||||
},
|
|
||||||
// 展示切换
|
// 展示切换
|
||||||
showOptions: {
|
showOptions: {
|
||||||
data: {},
|
data: {},
|
||||||
@ -306,7 +202,6 @@ export default {
|
|||||||
updateDataSource(this.form).then(response => {
|
updateDataSource(this.form).then(response => {
|
||||||
if (response.success) {
|
if (response.success) {
|
||||||
this.$message.success('保存成功')
|
this.$message.success('保存成功')
|
||||||
this.updateModelDataSource()
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
// 2秒后跳转列表页
|
// 2秒后跳转列表页
|
||||||
this.$emit('showCard', this.showOptions)
|
this.$emit('showCard', this.showOptions)
|
||||||
@ -324,21 +219,6 @@ export default {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
|
||||||
updateModelDataSource() {
|
|
||||||
const dbType = this.form.dbType
|
|
||||||
const dataSource = {
|
|
||||||
projectId: this.form2.dbName,
|
|
||||||
databaseName: this.form2.dbName,
|
|
||||||
schemaName: this.form2.schema === '' ? this.form2.dbName : this.form2.schema,
|
|
||||||
databaseType: dbType,
|
|
||||||
url: this.form2.host + ':' + this.form2.port + '/' + this.form2.dbName,
|
|
||||||
username: this.form2.username,
|
|
||||||
password: this.form2.password
|
|
||||||
}
|
|
||||||
editDataSource(dataSource).then(() => {
|
|
||||||
}).catch(() => {
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -349,7 +229,4 @@ export default {
|
|||||||
height: calc(100vh - 230px);
|
height: calc(100vh - 230px);
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
.choosedDbType{
|
|
||||||
border: 1px solid #165DFF;
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
@ -1,11 +1,6 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-card class="box-card" shadow="always">
|
<el-card class="box-card" shadow="always">
|
||||||
<el-form ref="queryForm" :model="queryParams" :inline="true">
|
<el-form ref="queryForm" :model="queryParams" :inline="true">
|
||||||
<el-form-item label="项目" prop="projectId">
|
|
||||||
<el-select v-model="queryParams.projectId" clearable size="small" placeholder="项目" class="filter-item" @change="handleQuery">
|
|
||||||
<el-option v-for="item in projectsOptions" :key="item.id" :label="item.projectName" :value="item.id" />
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="数据源名称" prop="sourceName">
|
<el-form-item label="数据源名称" prop="sourceName">
|
||||||
<el-input
|
<el-input
|
||||||
v-model="queryParams.sourceName"
|
v-model="queryParams.sourceName"
|
||||||
@ -25,12 +20,14 @@
|
|||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-button-group>
|
<el-button-group>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-hasPerm="['metadata:datasource:add']"
|
||||||
type="primary"
|
type="primary"
|
||||||
icon="el-icon-plus"
|
icon="el-icon-plus"
|
||||||
size="mini"
|
size="mini"
|
||||||
@click="handleAdd"
|
@click="handleAdd"
|
||||||
>新增</el-button>
|
>新增</el-button>
|
||||||
<el-button
|
<el-button
|
||||||
|
v-hasPerm="['metadata:datasource:refresh']"
|
||||||
type="warning"
|
type="warning"
|
||||||
icon="el-icon-refresh"
|
icon="el-icon-refresh"
|
||||||
size="mini"
|
size="mini"
|
||||||
@ -43,7 +40,7 @@
|
|||||||
<el-tooltip content="密度" effect="dark" placement="top">
|
<el-tooltip content="密度" effect="dark" placement="top">
|
||||||
<el-dropdown trigger="click" @command="handleCommand">
|
<el-dropdown trigger="click" @command="handleCommand">
|
||||||
<el-button circle size="mini">
|
<el-button circle size="mini">
|
||||||
<i class="el-icon-s-grid"></i>
|
<svg-icon class-name="size-icon" icon-class="colum-height" />
|
||||||
</el-button>
|
</el-button>
|
||||||
<el-dropdown-menu slot="dropdown">
|
<el-dropdown-menu slot="dropdown">
|
||||||
<el-dropdown-item command="medium">正常</el-dropdown-item>
|
<el-dropdown-item command="medium">正常</el-dropdown-item>
|
||||||
@ -54,7 +51,7 @@
|
|||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip content="刷新" effect="dark" placement="top">
|
<el-tooltip content="刷新" effect="dark" placement="top">
|
||||||
<el-button circle size="mini" @click="handleRefresh">
|
<el-button circle size="mini" @click="handleRefresh">
|
||||||
<i class="el-icon-refresh"></i>
|
<svg-icon class-name="size-icon" icon-class="shuaxin" />
|
||||||
</el-button>
|
</el-button>
|
||||||
</el-tooltip>
|
</el-tooltip>
|
||||||
<el-tooltip content="列设置" effect="dark" placement="top">
|
<el-tooltip content="列设置" effect="dark" placement="top">
|
||||||
@ -68,7 +65,7 @@
|
|||||||
</el-checkbox-group>
|
</el-checkbox-group>
|
||||||
<span slot="reference">
|
<span slot="reference">
|
||||||
<el-button circle size="mini">
|
<el-button circle size="mini">
|
||||||
<i class="el-icon-setting"></i>
|
<svg-icon class-name="size-icon" icon-class="shezhi" />
|
||||||
</el-button>
|
</el-button>
|
||||||
</span>
|
</span>
|
||||||
</el-popover>
|
</el-popover>
|
||||||
@ -105,24 +102,33 @@
|
|||||||
</template>
|
</template>
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-button
|
<el-popover
|
||||||
size="mini"
|
placement="left"
|
||||||
type="text"
|
trigger="click"
|
||||||
icon="el-icon-edit-outline"
|
>
|
||||||
@click="handleEdit(scope.row)"
|
<el-button
|
||||||
>修改</el-button>
|
v-hasPerm="['metadata:datasource:edit']"
|
||||||
<el-button
|
size="mini"
|
||||||
size="mini"
|
type="text"
|
||||||
type="text"
|
icon="el-icon-edit-outline"
|
||||||
icon="el-icon-view"
|
@click="handleEdit(scope.row)"
|
||||||
@click="handleDetail(scope.row)"
|
>修改</el-button>
|
||||||
>详情</el-button>
|
<el-button
|
||||||
<el-button
|
v-hasPerm="['metadata:datasource:detail']"
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
icon="el-icon-delete"
|
icon="el-icon-view"
|
||||||
@click="handleDelete(scope.row)"
|
@click="handleDetail(scope.row)"
|
||||||
>删除</el-button>
|
>详情</el-button>
|
||||||
|
<el-button
|
||||||
|
v-hasPerm="['metadata:datasource:remove']"
|
||||||
|
size="mini"
|
||||||
|
type="text"
|
||||||
|
icon="el-icon-delete"
|
||||||
|
@click="handleDelete(scope.row)"
|
||||||
|
>删除</el-button>
|
||||||
|
<el-button slot="reference">操作</el-button>
|
||||||
|
</el-popover>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
@ -146,7 +152,7 @@ export default {
|
|||||||
name: 'DataSourceList',
|
name: 'DataSourceList',
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
tableHeight: document.body.offsetHeight - 330 + 'px',
|
tableHeight: document.body.offsetHeight - 310 + 'px',
|
||||||
// 展示切换
|
// 展示切换
|
||||||
showOptions: {
|
showOptions: {
|
||||||
data: {},
|
data: {},
|
||||||
@ -160,12 +166,6 @@ export default {
|
|||||||
// 表格头
|
// 表格头
|
||||||
tableColumns: [
|
tableColumns: [
|
||||||
{ prop: 'sourceName', label: '数据源名称', show: true },
|
{ prop: 'sourceName', label: '数据源名称', show: true },
|
||||||
{
|
|
||||||
prop: 'dbType',
|
|
||||||
label: '数据库类型',
|
|
||||||
show: true,
|
|
||||||
formatter: this.dbTypeFormatter
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
prop: 'isSync',
|
prop: 'isSync',
|
||||||
label: '同步状态',
|
label: '同步状态',
|
||||||
@ -180,15 +180,11 @@ export default {
|
|||||||
},
|
},
|
||||||
{ prop: 'createTime', label: '创建时间', show: true }
|
{ prop: 'createTime', label: '创建时间', show: true }
|
||||||
],
|
],
|
||||||
projectsOptions: [
|
|
||||||
{ id: '1111', projectName: '演示项目' }
|
|
||||||
],
|
|
||||||
// 默认选择中表格头
|
// 默认选择中表格头
|
||||||
checkedTableColumns: [],
|
checkedTableColumns: [],
|
||||||
tableSize: 'medium',
|
tableSize: 'medium',
|
||||||
// 状态数据字典
|
// 状态数据字典
|
||||||
statusOptions: [],
|
statusOptions: [],
|
||||||
dbTypeOptions: [],
|
|
||||||
// 数据源表格数据
|
// 数据源表格数据
|
||||||
dataSourceList: [],
|
dataSourceList: [],
|
||||||
// 总数据条数
|
// 总数据条数
|
||||||
@ -197,7 +193,6 @@ export default {
|
|||||||
queryParams: {
|
queryParams: {
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
pageSize: 20,
|
pageSize: 20,
|
||||||
projectId: '1111',
|
|
||||||
sourceName: ''
|
sourceName: ''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -208,11 +203,6 @@ export default {
|
|||||||
this.statusOptions = response.data
|
this.statusOptions = response.data
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
this.getDicts('data_db_type').then(response => {
|
|
||||||
if (response.success) {
|
|
||||||
this.dbTypeOptions = response.data
|
|
||||||
}
|
|
||||||
})
|
|
||||||
this.getList()
|
this.getList()
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
@ -328,10 +318,6 @@ export default {
|
|||||||
this.queryParams.pageNum = val
|
this.queryParams.pageNum = val
|
||||||
this.getList()
|
this.getList()
|
||||||
},
|
},
|
||||||
dbTypeFormatter(row, column, cellValue, index) {
|
|
||||||
const dictLabel = this.selectDictLabel(this.dbTypeOptions, cellValue)
|
|
||||||
return dictLabel
|
|
||||||
},
|
|
||||||
syncFormatter(row, column, cellValue, index) {
|
syncFormatter(row, column, cellValue, index) {
|
||||||
if (cellValue === '0') {
|
if (cellValue === '0') {
|
||||||
return <el-tag type='warning'>未同步</el-tag>
|
return <el-tag type='warning'>未同步</el-tag>
|
||||||
|
@ -1,40 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="app-container">
|
|
||||||
<el-card class="box-card" shadow="always">
|
|
||||||
<el-form ref="queryForm" :model="queryParams" :inline="true">
|
|
||||||
<el-form-item label="项目" prop="projectId">
|
|
||||||
<el-select v-model="queryParams.projectId" clearable size="small" placeholder="项目" class="filter-item">
|
|
||||||
<el-option v-for="item in projectsOptions" :key="item.id" :label="item.projectName" :value="item.id" />
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
|
||||||
<iframe src="http://192.168.1.217:8001/model/modelChildren?hideInMenu=true&projectId=1" width="100%" height="850px" frameborder="0" />
|
|
||||||
</el-card>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
name: 'OfflineDataDetail',
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
projectsOptions: [
|
|
||||||
{ id: '1111', projectName: '演示项目' }
|
|
||||||
],
|
|
||||||
// 查询参数
|
|
||||||
queryParams: {
|
|
||||||
pageNum: 1,
|
|
||||||
pageSize: 20,
|
|
||||||
projectId: '1111',
|
|
||||||
fileName: ''
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped>
|
|
||||||
|
|
||||||
</style>
|
|
@ -1,355 +0,0 @@
|
|||||||
<template>
|
|
||||||
<el-card v-loading="boxCardLoading" class="box-card" shadow="always">
|
|
||||||
<el-form ref="queryForm" :model="queryParams" :inline="true">
|
|
||||||
<el-form-item label="项目" prop="projectId">
|
|
||||||
<el-select v-model="queryParams.projectId" clearable size="small" placeholder="项目" class="filter-item" @change="handleQuery">
|
|
||||||
<el-option v-for="item in projectsOptions" :key="item.id" :label="item.projectName" :value="item.id" />
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item label="离线文件名称" prop="sourceName">
|
|
||||||
<el-input
|
|
||||||
v-model="queryParams.fileName"
|
|
||||||
placeholder="请输入离线文件名称"
|
|
||||||
clearable
|
|
||||||
size="small"
|
|
||||||
@keyup.enter.native="handleQuery"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item>
|
|
||||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
|
||||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
|
||||||
</el-form-item>
|
|
||||||
</el-form>
|
|
||||||
|
|
||||||
<el-row type="flex" justify="space-between">
|
|
||||||
<el-col :span="12">
|
|
||||||
<el-button-group>
|
|
||||||
<el-upload
|
|
||||||
class="upload-demo"
|
|
||||||
action="#"
|
|
||||||
:show-file-list="false"
|
|
||||||
:http-request="uploadOfflineFile"
|
|
||||||
>
|
|
||||||
<el-button size="mini" type="primary" icon="el-icon-upload2">上传</el-button>
|
|
||||||
</el-upload>
|
|
||||||
</el-button-group>
|
|
||||||
</el-col>
|
|
||||||
<el-col :span="12">
|
|
||||||
<div class="right-toolbar">
|
|
||||||
<el-tooltip content="密度" effect="dark" placement="top">
|
|
||||||
<el-dropdown trigger="click" @command="handleCommand">
|
|
||||||
<el-button circle size="mini">
|
|
||||||
<i class="el-icon-s-grid"></i>
|
|
||||||
</el-button>
|
|
||||||
<el-dropdown-menu slot="dropdown">
|
|
||||||
<el-dropdown-item command="medium">正常</el-dropdown-item>
|
|
||||||
<el-dropdown-item command="small">中等</el-dropdown-item>
|
|
||||||
<el-dropdown-item command="mini">紧凑</el-dropdown-item>
|
|
||||||
</el-dropdown-menu>
|
|
||||||
</el-dropdown>
|
|
||||||
</el-tooltip>
|
|
||||||
<el-tooltip content="刷新" effect="dark" placement="top">
|
|
||||||
<el-button circle size="mini" @click="handleRefresh">
|
|
||||||
<i class="el-icon-refresh"></i>
|
|
||||||
</el-button>
|
|
||||||
</el-tooltip>
|
|
||||||
<el-tooltip content="列设置" effect="dark" placement="top">
|
|
||||||
<el-popover placement="bottom" width="100" trigger="click">
|
|
||||||
<el-checkbox-group v-model="checkedTableColumns" @change="handleCheckedColsChange">
|
|
||||||
<el-checkbox
|
|
||||||
v-for="(item, index) in tableColumns"
|
|
||||||
:key="index"
|
|
||||||
:label="item.prop"
|
|
||||||
>{{ item.label }}</el-checkbox>
|
|
||||||
</el-checkbox-group>
|
|
||||||
<span slot="reference">
|
|
||||||
<el-button circle size="mini">
|
|
||||||
<i class="el-icon-setting"></i>
|
|
||||||
</el-button>
|
|
||||||
</span>
|
|
||||||
</el-popover>
|
|
||||||
</el-tooltip>
|
|
||||||
</div>
|
|
||||||
</el-col>
|
|
||||||
</el-row>
|
|
||||||
|
|
||||||
<el-table
|
|
||||||
v-loading="loading"
|
|
||||||
:data="tableDataList"
|
|
||||||
border
|
|
||||||
tooltip-effect="dark"
|
|
||||||
:size="tableSize"
|
|
||||||
:height="tableHeight"
|
|
||||||
style="width: 100%;margin: 15px 0;"
|
|
||||||
>
|
|
||||||
<el-table-column type="selection" width="55" align="center" />
|
|
||||||
<el-table-column label="序号" width="55" align="center">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<span>{{ scope.$index +1 }}</span>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
<template v-for="(item, index) in tableColumns">
|
|
||||||
<el-table-column
|
|
||||||
v-if="item.show"
|
|
||||||
:key="index"
|
|
||||||
:prop="item.prop"
|
|
||||||
:label="item.label"
|
|
||||||
:formatter="item.formatter"
|
|
||||||
align="center"
|
|
||||||
show-overflow-tooltip
|
|
||||||
/>
|
|
||||||
</template>
|
|
||||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="300">
|
|
||||||
<template slot-scope="scope">
|
|
||||||
<el-button
|
|
||||||
v-if="scope.row.isSwitch != 'jrcg'"
|
|
||||||
size="mini"
|
|
||||||
type="text"
|
|
||||||
icon="el-icon-sort"
|
|
||||||
@click="handleSwitch(scope.row)"
|
|
||||||
>执行接入</el-button>
|
|
||||||
<el-button
|
|
||||||
v-if="scope.row.isSwitch == 'jrcg'"
|
|
||||||
size="mini"
|
|
||||||
type="text"
|
|
||||||
icon="el-icon-view"
|
|
||||||
@click="handleDetail(scope.row)"
|
|
||||||
>查看接入数据</el-button>
|
|
||||||
<el-button
|
|
||||||
size="mini"
|
|
||||||
type="text"
|
|
||||||
icon="el-icon-download"
|
|
||||||
@click="handleDownload(scope.row)"
|
|
||||||
>下载</el-button>
|
|
||||||
<el-button
|
|
||||||
size="mini"
|
|
||||||
type="text"
|
|
||||||
icon="el-icon-delete"
|
|
||||||
@click="handleDetail(scope.row)"
|
|
||||||
>删除</el-button>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
</el-table>
|
|
||||||
|
|
||||||
<el-pagination
|
|
||||||
:page-sizes="[10, 20, 50, 100]"
|
|
||||||
layout="total, sizes, prev, pager, next, jumper"
|
|
||||||
:current-page.sync="queryParams.pageNum"
|
|
||||||
:page-size.sync="queryParams.pageSize"
|
|
||||||
:total="total"
|
|
||||||
@size-change="handleSizeChange"
|
|
||||||
@current-change="handleCurrentChange"
|
|
||||||
/>
|
|
||||||
</el-card>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import { pageOfflineData, delDataSource, uploadFile } from '@/api/metadata/datasource'
|
|
||||||
|
|
||||||
export default {
|
|
||||||
name: 'OfflineDataList',
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
tableHeight: document.body.offsetHeight - 330 + 'px',
|
|
||||||
// 展示切换
|
|
||||||
showOptions: {
|
|
||||||
data: {},
|
|
||||||
showList: true,
|
|
||||||
showAdd: false,
|
|
||||||
showEdit: false,
|
|
||||||
showDetail: false
|
|
||||||
},
|
|
||||||
// 遮罩层
|
|
||||||
loading: true,
|
|
||||||
boxCardLoading: false,
|
|
||||||
// 表格头
|
|
||||||
tableColumns: [
|
|
||||||
{ prop: 'fileName', label: '离线文件名称', show: true },
|
|
||||||
{
|
|
||||||
prop: 'offlineType',
|
|
||||||
label: '离线文件类型',
|
|
||||||
show: true,
|
|
||||||
formatter: this.offlineTypeeFormatter
|
|
||||||
},
|
|
||||||
{
|
|
||||||
prop: 'isSwitch',
|
|
||||||
label: '接入状态',
|
|
||||||
show: true,
|
|
||||||
formatter: this.isSwitchFormatter
|
|
||||||
},
|
|
||||||
{ prop: 'createTime', label: '上传时间', show: true },
|
|
||||||
{ prop: 'switchTime', label: '接入时间', show: true }
|
|
||||||
],
|
|
||||||
projectsOptions: [
|
|
||||||
{ id: '1111', projectName: '演示项目' }
|
|
||||||
],
|
|
||||||
// 默认选择中表格头
|
|
||||||
checkedTableColumns: [],
|
|
||||||
tableSize: 'medium',
|
|
||||||
// 状态数据字典
|
|
||||||
statusOptions: [],
|
|
||||||
dbTypeOptions: [],
|
|
||||||
// 数据源表格数据
|
|
||||||
tableDataList: [],
|
|
||||||
// 总数据条数
|
|
||||||
total: 0,
|
|
||||||
// 查询参数
|
|
||||||
queryParams: {
|
|
||||||
pageNum: 1,
|
|
||||||
pageSize: 20,
|
|
||||||
projectId: '1111',
|
|
||||||
fileName: ''
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
created() {
|
|
||||||
this.getDicts('sys_common_status').then(response => {
|
|
||||||
if (response.success) {
|
|
||||||
this.statusOptions = response.data
|
|
||||||
}
|
|
||||||
})
|
|
||||||
this.getDicts('data_db_type').then(response => {
|
|
||||||
if (response.success) {
|
|
||||||
this.dbTypeOptions = response.data
|
|
||||||
}
|
|
||||||
})
|
|
||||||
this.getList()
|
|
||||||
},
|
|
||||||
mounted() {
|
|
||||||
this.initCols()
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
/** 查询数据源列表 */
|
|
||||||
getList() {
|
|
||||||
this.loading = true
|
|
||||||
pageOfflineData(this.queryParams).then(response => {
|
|
||||||
this.loading = false
|
|
||||||
if (response.success) {
|
|
||||||
const { data } = response
|
|
||||||
this.tableDataList = data.data
|
|
||||||
this.total = data.total
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
initCols() {
|
|
||||||
this.checkedTableColumns = this.tableColumns.map(col => col.prop)
|
|
||||||
},
|
|
||||||
handleSwitch(row) {
|
|
||||||
this.boxCardLoading = true
|
|
||||||
setTimeout(() => {
|
|
||||||
row.isSwitch = 'jrcg'
|
|
||||||
this.boxCardLoading = false
|
|
||||||
this.$message.success('接入成功')
|
|
||||||
}, 2000)
|
|
||||||
},
|
|
||||||
/** 详情按钮操作 */
|
|
||||||
handleDetail(row) {
|
|
||||||
this.showOptions.data.id = row.id
|
|
||||||
this.showOptions.showList = false
|
|
||||||
this.showOptions.showDetail = true
|
|
||||||
this.$emit('showCard', this.showOptions)
|
|
||||||
},
|
|
||||||
handleCheckedColsChange(val) {
|
|
||||||
this.tableColumns.forEach(col => {
|
|
||||||
if (!this.checkedTableColumns.includes(col.prop)) {
|
|
||||||
col.show = false
|
|
||||||
} else {
|
|
||||||
col.show = true
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
handleCommand(command) {
|
|
||||||
this.tableSize = command
|
|
||||||
},
|
|
||||||
/** 搜索按钮操作 */
|
|
||||||
handleQuery() {
|
|
||||||
this.queryParams.pageNum = 1
|
|
||||||
this.getList()
|
|
||||||
},
|
|
||||||
/** 重置按钮操作 */
|
|
||||||
resetQuery() {
|
|
||||||
this.queryParams = {
|
|
||||||
pageNum: 1,
|
|
||||||
pageSize: 20,
|
|
||||||
fileName: ''
|
|
||||||
}
|
|
||||||
this.handleQuery()
|
|
||||||
},
|
|
||||||
/** 刷新列表 */
|
|
||||||
handleRefresh() {
|
|
||||||
this.getList()
|
|
||||||
},
|
|
||||||
handleUpload() {
|
|
||||||
|
|
||||||
},
|
|
||||||
handleDownload(row) {
|
|
||||||
|
|
||||||
},
|
|
||||||
/** 删除按钮操作 */
|
|
||||||
handleDelete(row) {
|
|
||||||
this.$confirm('选中数据将被永久删除, 是否继续?', '提示', {
|
|
||||||
confirmButtonText: '确定',
|
|
||||||
cancelButtonText: '取消',
|
|
||||||
type: 'warning'
|
|
||||||
}).then(() => {
|
|
||||||
delDataSource(row.id).then(response => {
|
|
||||||
if (response.success) {
|
|
||||||
this.$message.success('删除成功')
|
|
||||||
this.getList()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}).catch(() => {
|
|
||||||
})
|
|
||||||
},
|
|
||||||
handleSizeChange(val) {
|
|
||||||
console.log(`每页 ${val} 条`)
|
|
||||||
this.queryParams.pageNum = 1
|
|
||||||
this.queryParams.pageSize = val
|
|
||||||
this.getList()
|
|
||||||
},
|
|
||||||
handleCurrentChange(val) {
|
|
||||||
console.log(`当前页: ${val}`)
|
|
||||||
this.queryParams.pageNum = val
|
|
||||||
this.getList()
|
|
||||||
},
|
|
||||||
offlineTypeeFormatter(row, column, cellValue, index) {
|
|
||||||
if (cellValue === 'sjy') {
|
|
||||||
return '数据源文件'
|
|
||||||
} else if (cellValue === 'sj') {
|
|
||||||
return '数据文件'
|
|
||||||
}
|
|
||||||
},
|
|
||||||
isSwitchFormatter(row, column, cellValue, index) {
|
|
||||||
if (cellValue === 'djr') {
|
|
||||||
return <el-tag type='info'>待接入</el-tag>
|
|
||||||
} else if (cellValue === 'jrcg') {
|
|
||||||
return <el-tag type='success'>接入成功</el-tag>
|
|
||||||
} else if (cellValue === 'jrsb') {
|
|
||||||
return <el-tag type='error'>接入失败</el-tag>
|
|
||||||
}
|
|
||||||
},
|
|
||||||
uploadOfflineFile(file) {
|
|
||||||
this.formData = new FormData()
|
|
||||||
this.formData.append('file', file.file)
|
|
||||||
// 请求接口
|
|
||||||
uploadFile(this.formData, 'sjy').then((response) => {
|
|
||||||
if (response.success) {
|
|
||||||
this.$message.success('上传成功')
|
|
||||||
} else {
|
|
||||||
this.$message.error('上传失败')
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
.right-toolbar {
|
|
||||||
float: right;
|
|
||||||
}
|
|
||||||
.el-card ::v-deep .el-card__body {
|
|
||||||
height: calc(100vh - 170px);
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|
@ -1,36 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="app-container">
|
|
||||||
<transition name="el-zoom-in-center">
|
|
||||||
<offline-data-list v-if="options.showList" @showCard="showCard" />
|
|
||||||
<offline-data-detail v-if="options.showDetail" @showCard="showCard" />
|
|
||||||
</transition>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import OfflineDataList from './OfflineDataList'
|
|
||||||
import OfflineDataDetail from './OfflineDataDetail'
|
|
||||||
|
|
||||||
export default {
|
|
||||||
name: 'OfflineData',
|
|
||||||
components: { OfflineDataList, OfflineDataDetail },
|
|
||||||
data() {
|
|
||||||
return {
|
|
||||||
options: {
|
|
||||||
data: {},
|
|
||||||
showList: true,
|
|
||||||
showDetail: true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
showCard(data) {
|
|
||||||
Object.assign(this.options, data)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
|
||||||
|
|
||||||
</style>
|
|
@ -1,23 +1,189 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<iframe src="http://192.168.1.217:8001/OnlinInquiry/OnlinInquiryChildren" width="100%" height="850px" frameborder="0" />
|
<el-card class="box-card" shadow="always">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form :inline="true" class="demo-form-inline">
|
||||||
|
<el-form-item label="数据源">
|
||||||
|
<el-select v-model="sqlDataSource" placeholder="请选择数据源">
|
||||||
|
<el-option
|
||||||
|
v-for="source in sourceOptions"
|
||||||
|
:key="source.id"
|
||||||
|
:label="source.sourceName"
|
||||||
|
:value="source.id"
|
||||||
|
:disabled="source.status === '0'"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button size="mini" round :disabled="sqlExecuting" @click="runData">运行</el-button>
|
||||||
|
<el-button size="mini" round :disabled="!sqlExecuting" @click="stopData">停止</el-button>
|
||||||
|
<el-button size="mini" round :disabled="sqlExecuting" @click="formaterSql">格式化</el-button>
|
||||||
|
<el-button size="mini" round :disabled="sqlExecuting" @click="refreshData">重置</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="24">
|
||||||
|
<sql-editor
|
||||||
|
ref="sqleditor"
|
||||||
|
:value="sqlText"
|
||||||
|
style="height: 300px; margin: 20px 0;"
|
||||||
|
@changeTextarea="changeTextarea($event)"
|
||||||
|
/>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col>
|
||||||
|
<div v-if="sqlExecuting" v-loading="sqlExecuting">数据加载中...</div>
|
||||||
|
<div v-else>
|
||||||
|
<div v-if="sqlConsole.length > 0">
|
||||||
|
<el-tabs v-model="activeTabName" type="border-card">
|
||||||
|
<el-tab-pane label="信息" name="table0">
|
||||||
|
<pre>{{ executeResultInfo }}</pre>
|
||||||
|
</el-tab-pane>
|
||||||
|
<el-tab-pane v-for="(item,index) in sqlConsole" :key="(index+1)" :name="'table'+(index+1)" :label="'结果'+(index+1)">
|
||||||
|
<el-table
|
||||||
|
:data="item.dataList"
|
||||||
|
stripe
|
||||||
|
border
|
||||||
|
:max-height="300"
|
||||||
|
style="width: 100%; margin: 15px 0;"
|
||||||
|
>
|
||||||
|
<el-table-column label="序号" width="55" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ scope.$index + 1 }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<template v-for="(column, index) in item.columnList">
|
||||||
|
<el-table-column
|
||||||
|
:key="index"
|
||||||
|
:prop="column"
|
||||||
|
:label="column"
|
||||||
|
align="center"
|
||||||
|
show-overflow-tooltip
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</el-table>
|
||||||
|
</el-tab-pane>
|
||||||
|
</el-tabs>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-card>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
|
import sqlFormatter from 'sql-formatter'
|
||||||
|
import SqlEditor from '@/components/SqlEditor'
|
||||||
|
import { listDataSource } from '@/api/metadata/datasource'
|
||||||
|
import { runSql, stopSql } from '@/api/metadata/sqlconsole'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'SqlConsole',
|
name: 'SqlConsole',
|
||||||
|
components: {
|
||||||
|
SqlEditor
|
||||||
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
// 数据源数据字典
|
||||||
|
sourceOptions: [],
|
||||||
|
sqlDataSource: undefined,
|
||||||
|
sqlText: undefined,
|
||||||
|
sqlExecuting: false,
|
||||||
|
activeTabName: 'table0',
|
||||||
|
sqlExecutorId: undefined,
|
||||||
|
sqlConsole: [],
|
||||||
|
executeResultInfo: undefined
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
this.getDataSourceList()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
getDataSourceList() {
|
||||||
|
listDataSource().then(response => {
|
||||||
|
if (response.success) {
|
||||||
|
this.sourceOptions = response.data
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
runData() {
|
||||||
|
if (!this.sqlDataSource) {
|
||||||
|
this.$message.error('数据源不能为空')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (!this.sqlText) {
|
||||||
|
this.$message.error('查询SQL不能为空')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.sqlExecuting = true
|
||||||
|
this.sqlExecutorId = (new Date()).getTime() + Math.ceil(Math.random() * 1000)
|
||||||
|
this.sqlConsole = []
|
||||||
|
const data = {}
|
||||||
|
data.sqlKey = this.sqlExecutorId
|
||||||
|
data.sourceId = this.sqlDataSource
|
||||||
|
data.sqlText = this.sqlText
|
||||||
|
runSql(data).then(response => {
|
||||||
|
if (response.success) {
|
||||||
|
const { data } = response
|
||||||
|
let resultStr = ''
|
||||||
|
for (let i = 0; i < data.length; i++) {
|
||||||
|
const item = data[i]
|
||||||
|
resultStr += item.sql
|
||||||
|
resultStr += '\n> 状态:' + ((item.success) ? '成功' : '失败')
|
||||||
|
if (item.count && item.count >= 0) {
|
||||||
|
resultStr += '\n> 影响行数:' + item.count
|
||||||
|
}
|
||||||
|
resultStr += '\n> 耗时:' + (item.time || 0) / 1000 + 's'
|
||||||
|
resultStr += '\n\n'
|
||||||
|
}
|
||||||
|
this.executeResultInfo = resultStr
|
||||||
|
this.sqlConsole = data
|
||||||
|
}
|
||||||
|
this.sqlExecuting = false
|
||||||
|
})
|
||||||
|
},
|
||||||
|
stopData() {
|
||||||
|
const data = {}
|
||||||
|
data.sqlKey = this.sqlExecutorId
|
||||||
|
stopSql(data).then(response => {
|
||||||
|
if (response.success) {
|
||||||
|
this.$message.success('停止成功')
|
||||||
|
}
|
||||||
|
this.sqlExecuting = false
|
||||||
|
})
|
||||||
|
},
|
||||||
|
changeTextarea(val) {
|
||||||
|
this.sqlText = val
|
||||||
|
},
|
||||||
|
formaterSql() {
|
||||||
|
if (!this.sqlText) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.$refs.sqleditor.editor.setValue(sqlFormatter.format(this.$refs.sqleditor.editor.getValue()))
|
||||||
|
},
|
||||||
|
refreshData() {
|
||||||
|
if (!this.sqlText) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.sqlExecuting = false
|
||||||
|
this.activeTabName = 'table0'
|
||||||
|
this.sqlExecutorId = undefined
|
||||||
|
this.sqlText = undefined
|
||||||
|
this.$refs.sqleditor.editor.setValue('')
|
||||||
|
this.sqlConsole = []
|
||||||
|
this.executeResultInfo = undefined
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
.el-card ::v-deep .el-card__body {
|
||||||
|
height: calc(100vh - 170px);
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
@ -1,78 +1,76 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-card class="box-card" shadow="always">
|
<!--工具栏-->
|
||||||
<!--工具栏-->
|
<div class="head-container">
|
||||||
<div class="head-container">
|
<div v-if="crud.props.searchToggle">
|
||||||
<div v-if="crud.props.searchToggle">
|
<!-- 搜索 -->
|
||||||
<!-- 搜索 -->
|
<el-input v-model="query.name" clearable placeholder="输入名称搜索" style="width: 200px" class="filter-item" @keyup.enter.native="crud.toQuery" />
|
||||||
<el-input v-model="query.name" clearable placeholder="输入名称搜索" style="width: 200px" class="filter-item" @keyup.enter.native="crud.toQuery" />
|
<date-range-picker v-model="query.createTime" class="date-item" />
|
||||||
<date-range-picker v-model="query.createTime" class="date-item" />
|
<rrOperation />
|
||||||
<rrOperation />
|
|
||||||
</div>
|
|
||||||
<crudOperation :permission="permission">
|
|
||||||
<el-button
|
|
||||||
slot="left"
|
|
||||||
v-permission="['admin','app:add']"
|
|
||||||
:disabled="!currentRow"
|
|
||||||
class="filter-item"
|
|
||||||
size="mini"
|
|
||||||
type="primary"
|
|
||||||
icon="el-icon-plus"
|
|
||||||
@click="copy"
|
|
||||||
>复制</el-button>
|
|
||||||
</crudOperation>
|
|
||||||
</div>
|
</div>
|
||||||
<!--表单组件-->
|
<crudOperation :permission="permission">
|
||||||
<el-dialog append-to-body :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="800px">
|
<el-button
|
||||||
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="100px">
|
slot="left"
|
||||||
<el-form-item label="应用名称" prop="name">
|
v-permission="['admin','app:add']"
|
||||||
<el-input v-model="form.name" style="width: 670px" placeholder="部署后的文件或者目录名称,用于备份" />
|
:disabled="!currentRow"
|
||||||
</el-form-item>
|
class="filter-item"
|
||||||
<el-form-item label="应用端口" prop="port">
|
size="mini"
|
||||||
<el-input-number v-model.number="form.port" placeholder="例如:8080" />
|
type="primary"
|
||||||
</el-form-item>
|
icon="el-icon-plus"
|
||||||
<el-form-item label="上传目录" prop="uploadPath">
|
@click="copy"
|
||||||
<el-input v-model="form.uploadPath" style="width: 670px" placeholder="例如: /opt/upload" />
|
>复制</el-button>
|
||||||
</el-form-item>
|
</crudOperation>
|
||||||
<el-form-item label="部署目录" prop="deployPath">
|
</div>
|
||||||
<el-input v-model="form.deployPath" style="width: 670px" placeholder="例如: /opt/app" />
|
<!--表单组件-->
|
||||||
</el-form-item>
|
<el-dialog append-to-body :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="800px">
|
||||||
<el-form-item label="备份目录" prop="backupPath">
|
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="100px">
|
||||||
<el-input v-model="form.backupPath" style="width: 670px" placeholder="例如: /opt/backup" />
|
<el-form-item label="应用名称" prop="name">
|
||||||
</el-form-item>
|
<el-input v-model="form.name" style="width: 670px" placeholder="部署后的文件或者目录名称,用于备份" />
|
||||||
<el-form-item label="部署脚本" prop="deployScript">
|
</el-form-item>
|
||||||
<el-input v-model="form.deployScript" :rows="3" type="textarea" autosize style="width: 670px" placeholder="" />
|
<el-form-item label="应用端口" prop="port">
|
||||||
</el-form-item>
|
<el-input-number v-model.number="form.port" placeholder="例如:8080" />
|
||||||
<el-form-item label="启动脚本" prop="startScript">
|
</el-form-item>
|
||||||
<el-input v-model="form.startScript" :rows="3" type="textarea" autosize style="width: 670px" placeholder="" />
|
<el-form-item label="上传目录" prop="uploadPath">
|
||||||
</el-form-item>
|
<el-input v-model="form.uploadPath" style="width: 670px" placeholder="例如: /opt/upload" />
|
||||||
</el-form>
|
</el-form-item>
|
||||||
<div slot="footer" class="dialog-footer">
|
<el-form-item label="部署目录" prop="deployPath">
|
||||||
<el-button type="text" @click="crud.cancelCU">取消</el-button>
|
<el-input v-model="form.deployPath" style="width: 670px" placeholder="例如: /opt/app" />
|
||||||
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
|
</el-form-item>
|
||||||
</div>
|
<el-form-item label="备份目录" prop="backupPath">
|
||||||
</el-dialog>
|
<el-input v-model="form.backupPath" style="width: 670px" placeholder="例如: /opt/backup" />
|
||||||
<!--表格渲染-->
|
</el-form-item>
|
||||||
<el-table ref="table" v-loading="crud.loading" :data="crud.data" highlight-current-row style="width: 100%" @selection-change="crud.selectionChangeHandler" @current-change="handleCurrentChange">
|
<el-form-item label="部署脚本" prop="deployScript">
|
||||||
<el-table-column type="selection" width="55" />
|
<el-input v-model="form.deployScript" :rows="3" type="textarea" autosize style="width: 670px" placeholder="" />
|
||||||
<el-table-column prop="name" label="应用名称" />
|
</el-form-item>
|
||||||
<el-table-column prop="port" label="端口号" />
|
<el-form-item label="启动脚本" prop="startScript">
|
||||||
<el-table-column prop="uploadPath" label="上传目录" />
|
<el-input v-model="form.startScript" :rows="3" type="textarea" autosize style="width: 670px" placeholder="" />
|
||||||
<el-table-column prop="deployPath" label="部署目录" />
|
</el-form-item>
|
||||||
<el-table-column prop="backupPath" label="备份目录" />
|
</el-form>
|
||||||
<el-table-column prop="createTime" label="创建日期" />
|
<div slot="footer" class="dialog-footer">
|
||||||
<el-table-column v-if="checkPer(['admin','app:edit','app:del'])" label="操作" width="150px" align="center">
|
<el-button type="text" @click="crud.cancelCU">取消</el-button>
|
||||||
<template slot-scope="scope">
|
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
|
||||||
<udOperation
|
</div>
|
||||||
:data="scope.row"
|
</el-dialog>
|
||||||
:permission="permission"
|
<!--表格渲染-->
|
||||||
/>
|
<el-table ref="table" v-loading="crud.loading" :data="crud.data" highlight-current-row style="width: 100%" @selection-change="crud.selectionChangeHandler" @current-change="handleCurrentChange">
|
||||||
</template>
|
<el-table-column type="selection" width="55" />
|
||||||
</el-table-column>
|
<el-table-column prop="name" label="应用名称" />
|
||||||
</el-table>
|
<el-table-column prop="port" label="端口号" />
|
||||||
<!--分页组件-->
|
<el-table-column prop="uploadPath" label="上传目录" />
|
||||||
<pagination />
|
<el-table-column prop="deployPath" label="部署目录" />
|
||||||
</el-card>
|
<el-table-column prop="backupPath" label="备份目录" />
|
||||||
|
<el-table-column prop="createTime" label="创建日期" />
|
||||||
|
<el-table-column v-if="checkPer(['admin','app:edit','app:del'])" label="操作" width="150px" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<udOperation
|
||||||
|
:data="scope.row"
|
||||||
|
:permission="permission"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<!--分页组件-->
|
||||||
|
<pagination />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -1,70 +1,68 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-card class="box-card" shadow="always">
|
<!--工具栏-->
|
||||||
<!--工具栏-->
|
<div class="head-container">
|
||||||
<div class="head-container">
|
<div v-if="crud.props.searchToggle">
|
||||||
<div v-if="crud.props.searchToggle">
|
<!-- 搜索 -->
|
||||||
<!-- 搜索 -->
|
<el-input v-model="query.blurry" clearable placeholder="模糊搜索" style="width: 200px" class="filter-item" @keyup.enter.native="crud.toQuery" />
|
||||||
<el-input v-model="query.blurry" clearable placeholder="模糊搜索" style="width: 200px" class="filter-item" @keyup.enter.native="crud.toQuery" />
|
<date-range-picker v-model="query.createTime" class="date-item" />
|
||||||
<date-range-picker v-model="query.createTime" class="date-item" />
|
<rrOperation />
|
||||||
<rrOperation />
|
|
||||||
</div>
|
|
||||||
<crudOperation :permission="permission">
|
|
||||||
<el-button
|
|
||||||
slot="right"
|
|
||||||
v-permission="['admin','database:add']"
|
|
||||||
:disabled="!selectIndex"
|
|
||||||
class="filter-item"
|
|
||||||
size="mini"
|
|
||||||
type="warning"
|
|
||||||
icon="el-icon-upload"
|
|
||||||
@click="execute"
|
|
||||||
>执行脚本
|
|
||||||
</el-button>
|
|
||||||
</crudOperation>
|
|
||||||
</div>
|
</div>
|
||||||
<!--表单组件-->
|
<crudOperation :permission="permission">
|
||||||
<eForm ref="execute" :database-info="currentRow" />
|
<el-button
|
||||||
<el-dialog append-to-body :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="530px">
|
slot="right"
|
||||||
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="100px">
|
v-permission="['admin','database:add']"
|
||||||
<el-form-item label="连接名称" prop="name">
|
:disabled="!selectIndex"
|
||||||
<el-input v-model="form.name" style="width: 370px" />
|
class="filter-item"
|
||||||
</el-form-item>
|
size="mini"
|
||||||
<el-form-item label="JDBC地址" prop="jdbcUrl">
|
type="warning"
|
||||||
<el-input v-model="form.jdbcUrl" style="width: 300px" />
|
icon="el-icon-upload"
|
||||||
<el-button :loading="loading" type="success" @click="testConnectDatabase">测试</el-button>
|
@click="execute"
|
||||||
</el-form-item>
|
>执行脚本
|
||||||
<el-form-item label="用户" prop="userName">
|
</el-button>
|
||||||
<el-input v-model="form.userName" style="width: 370px" />
|
</crudOperation>
|
||||||
</el-form-item>
|
</div>
|
||||||
<el-form-item label="密码" prop="pwd">
|
<!--表单组件-->
|
||||||
<el-input v-model="form.pwd" type="password" style="width: 370px" />
|
<eForm ref="execute" :database-info="currentRow" />
|
||||||
</el-form-item>
|
<el-dialog append-to-body :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="530px">
|
||||||
</el-form>
|
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="100px">
|
||||||
<div slot="footer" class="dialog-footer">
|
<el-form-item label="连接名称" prop="name">
|
||||||
<el-button type="text" @click="crud.cancelCU">取消</el-button>
|
<el-input v-model="form.name" style="width: 370px" />
|
||||||
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
|
</el-form-item>
|
||||||
</div>
|
<el-form-item label="JDBC地址" prop="jdbcUrl">
|
||||||
</el-dialog>
|
<el-input v-model="form.jdbcUrl" style="width: 300px" />
|
||||||
<!--表格渲染-->
|
<el-button :loading="loading" type="success" @click="testConnectDatabase">测试</el-button>
|
||||||
<el-table ref="table" v-loading="crud.loading" :data="crud.data" highlight-current-row stripe style="width: 100%" @selection-change="handleCurrentChange">
|
</el-form-item>
|
||||||
<el-table-column type="selection" width="55" />
|
<el-form-item label="用户" prop="userName">
|
||||||
<el-table-column prop="name" width="130px" label="数据库名称" />
|
<el-input v-model="form.userName" style="width: 370px" />
|
||||||
<el-table-column prop="jdbcUrl" label="连接地址" />
|
</el-form-item>
|
||||||
<el-table-column prop="userName" width="200px" label="用户名" />
|
<el-form-item label="密码" prop="pwd">
|
||||||
<el-table-column prop="createTime" width="200px" label="创建日期" />
|
<el-input v-model="form.pwd" type="password" style="width: 370px" />
|
||||||
<el-table-column v-if="checkPer(['admin','database:edit','database:del'])" label="操作" width="150px" align="center">
|
</el-form-item>
|
||||||
<template slot-scope="scope">
|
</el-form>
|
||||||
<udOperation
|
<div slot="footer" class="dialog-footer">
|
||||||
:data="scope.row"
|
<el-button type="text" @click="crud.cancelCU">取消</el-button>
|
||||||
:permission="permission"
|
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
|
||||||
/>
|
</div>
|
||||||
</template>
|
</el-dialog>
|
||||||
</el-table-column>
|
<!--表格渲染-->
|
||||||
</el-table>
|
<el-table ref="table" v-loading="crud.loading" :data="crud.data" highlight-current-row stripe style="width: 100%" @selection-change="handleCurrentChange">
|
||||||
<!--分页组件-->
|
<el-table-column type="selection" width="55" />
|
||||||
<pagination />
|
<el-table-column prop="name" width="130px" label="数据库名称" />
|
||||||
</el-card>
|
<el-table-column prop="jdbcUrl" label="连接地址" />
|
||||||
|
<el-table-column prop="userName" width="200px" label="用户名" />
|
||||||
|
<el-table-column prop="createTime" width="200px" label="创建日期" />
|
||||||
|
<el-table-column v-if="checkPer(['admin','database:edit','database:del'])" label="操作" width="150px" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<udOperation
|
||||||
|
:data="scope.row"
|
||||||
|
:permission="permission"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<!--分页组件-->
|
||||||
|
<pagination />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -1,109 +1,107 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-card class="box-card" shadow="always">
|
<!--工具栏-->
|
||||||
<!--工具栏-->
|
<div class="head-container">
|
||||||
<div class="head-container">
|
<div v-if="crud.props.searchToggle">
|
||||||
<div v-if="crud.props.searchToggle">
|
<!-- 搜索 -->
|
||||||
<!-- 搜索 -->
|
<el-input v-model="query.appName" clearable placeholder="输入应用名称查询" style="width: 200px" class="filter-item" @keyup.enter.native="crud.toQuery" />
|
||||||
<el-input v-model="query.appName" clearable placeholder="输入应用名称查询" style="width: 200px" class="filter-item" @keyup.enter.native="crud.toQuery" />
|
<date-range-picker v-model="query.createTime" class="date-item" />
|
||||||
<date-range-picker v-model="query.createTime" class="date-item" />
|
<rrOperation />
|
||||||
<rrOperation />
|
|
||||||
</div>
|
|
||||||
<crudOperation :permission="permission">
|
|
||||||
<template slot="right">
|
|
||||||
<el-button
|
|
||||||
v-permission="['admin','deploy:add']"
|
|
||||||
:disabled="!selectIndex"
|
|
||||||
class="filter-item"
|
|
||||||
size="mini"
|
|
||||||
type="primary"
|
|
||||||
icon="el-icon-upload"
|
|
||||||
@click="sysRestore"
|
|
||||||
>系统还原
|
|
||||||
</el-button>
|
|
||||||
<el-button
|
|
||||||
v-permission="['admin','deploy:add']"
|
|
||||||
:disabled="!selectIndex"
|
|
||||||
class="filter-item"
|
|
||||||
size="mini"
|
|
||||||
type="primary"
|
|
||||||
icon="el-icon-upload"
|
|
||||||
@click="serverStatus"
|
|
||||||
>状态查询
|
|
||||||
</el-button>
|
|
||||||
<el-button
|
|
||||||
v-permission="['admin','deploy:add']"
|
|
||||||
:disabled="!selectIndex"
|
|
||||||
class="filter-item"
|
|
||||||
size="mini"
|
|
||||||
type="success"
|
|
||||||
icon="el-icon-upload"
|
|
||||||
@click="startServer"
|
|
||||||
>启动
|
|
||||||
</el-button>
|
|
||||||
<el-button
|
|
||||||
v-permission="['admin','deploy:add']"
|
|
||||||
:disabled="!selectIndex"
|
|
||||||
class="filter-item"
|
|
||||||
size="mini"
|
|
||||||
type="danger"
|
|
||||||
icon="el-icon-upload"
|
|
||||||
@click="stopServer"
|
|
||||||
>停止
|
|
||||||
</el-button>
|
|
||||||
<el-button
|
|
||||||
v-permission="['admin','deploy:add']"
|
|
||||||
:disabled="!selectIndex"
|
|
||||||
class="filter-item"
|
|
||||||
size="mini"
|
|
||||||
type="warning"
|
|
||||||
icon="el-icon-upload"
|
|
||||||
@click="deploy"
|
|
||||||
>一键部署
|
|
||||||
</el-button>
|
|
||||||
</template>
|
|
||||||
</crudOperation>
|
|
||||||
</div>
|
</div>
|
||||||
<!--表单组件-->
|
<crudOperation :permission="permission">
|
||||||
<el-dialog append-to-body :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="500px">
|
<template slot="right">
|
||||||
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px">
|
<el-button
|
||||||
<el-form-item label="应用" prop="app.id">
|
v-permission="['admin','deploy:add']"
|
||||||
<el-select v-model.number="form.app.id" placeholder="请选择" style="width: 370px">
|
:disabled="!selectIndex"
|
||||||
<el-option v-for="item in apps" :key="item.id" :label="item.name" :value="item.id" />
|
class="filter-item"
|
||||||
</el-select>
|
size="mini"
|
||||||
</el-form-item>
|
type="primary"
|
||||||
<el-form-item label="服务器" prop="deploys">
|
icon="el-icon-upload"
|
||||||
<el-select v-model="form.deploys" multiple placeholder="请选择" style="width: 370px">
|
@click="sysRestore"
|
||||||
<el-option v-for="item in servers" :key="item.id" :label="item.name" :value="item.id" />
|
>系统还原
|
||||||
</el-select>
|
</el-button>
|
||||||
</el-form-item>
|
<el-button
|
||||||
</el-form>
|
v-permission="['admin','deploy:add']"
|
||||||
<div slot="footer" class="dialog-footer">
|
:disabled="!selectIndex"
|
||||||
<el-button type="text" @click="crud.cancelCU">取消</el-button>
|
class="filter-item"
|
||||||
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
|
size="mini"
|
||||||
</div>
|
type="primary"
|
||||||
</el-dialog>
|
icon="el-icon-upload"
|
||||||
<!--统还原组件-->
|
@click="serverStatus"
|
||||||
<fForm ref="sysRestore" :key="times" :app-name="appName" />
|
>状态查询
|
||||||
<dForm ref="deploy" />
|
</el-button>
|
||||||
<!--表格渲染-->
|
<el-button
|
||||||
<el-table ref="table" v-loading="crud.loading" :data="crud.data" highlight-current-row stripe style="width: 100%" @selection-change="handleCurrentChange">
|
v-permission="['admin','deploy:add']"
|
||||||
<el-table-column type="selection" width="55" />
|
:disabled="!selectIndex"
|
||||||
<el-table-column prop="app.name" label="应用名称" />
|
class="filter-item"
|
||||||
<el-table-column prop="servers" label="服务器列表" />
|
size="mini"
|
||||||
<el-table-column prop="createTime" label="部署日期" />
|
type="success"
|
||||||
<el-table-column v-if="checkPer(['admin','deploy:edit','deploy:del'])" label="操作" width="150px" align="center">
|
icon="el-icon-upload"
|
||||||
<template slot-scope="scope">
|
@click="startServer"
|
||||||
<udOperation
|
>启动
|
||||||
:data="scope.row"
|
</el-button>
|
||||||
:permission="permission"
|
<el-button
|
||||||
/>
|
v-permission="['admin','deploy:add']"
|
||||||
</template>
|
:disabled="!selectIndex"
|
||||||
</el-table-column>
|
class="filter-item"
|
||||||
</el-table>
|
size="mini"
|
||||||
<!--分页组件-->
|
type="danger"
|
||||||
<pagination />
|
icon="el-icon-upload"
|
||||||
</el-card>
|
@click="stopServer"
|
||||||
|
>停止
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
v-permission="['admin','deploy:add']"
|
||||||
|
:disabled="!selectIndex"
|
||||||
|
class="filter-item"
|
||||||
|
size="mini"
|
||||||
|
type="warning"
|
||||||
|
icon="el-icon-upload"
|
||||||
|
@click="deploy"
|
||||||
|
>一键部署
|
||||||
|
</el-button>
|
||||||
|
</template>
|
||||||
|
</crudOperation>
|
||||||
|
</div>
|
||||||
|
<!--表单组件-->
|
||||||
|
<el-dialog append-to-body :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="500px">
|
||||||
|
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px">
|
||||||
|
<el-form-item label="应用" prop="app.id">
|
||||||
|
<el-select v-model.number="form.app.id" placeholder="请选择" style="width: 370px">
|
||||||
|
<el-option v-for="item in apps" :key="item.id" :label="item.name" :value="item.id" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="服务器" prop="deploys">
|
||||||
|
<el-select v-model="form.deploys" multiple placeholder="请选择" style="width: 370px">
|
||||||
|
<el-option v-for="item in servers" :key="item.id" :label="item.name" :value="item.id" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button type="text" @click="crud.cancelCU">取消</el-button>
|
||||||
|
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
<!--统还原组件-->
|
||||||
|
<fForm ref="sysRestore" :key="times" :app-name="appName" />
|
||||||
|
<dForm ref="deploy" />
|
||||||
|
<!--表格渲染-->
|
||||||
|
<el-table ref="table" v-loading="crud.loading" :data="crud.data" highlight-current-row stripe style="width: 100%" @selection-change="handleCurrentChange">
|
||||||
|
<el-table-column type="selection" width="55" />
|
||||||
|
<el-table-column prop="app.name" label="应用名称" />
|
||||||
|
<el-table-column prop="servers" label="服务器列表" />
|
||||||
|
<el-table-column prop="createTime" label="部署日期" />
|
||||||
|
<el-table-column v-if="checkPer(['admin','deploy:edit','deploy:del'])" label="操作" width="150px" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<udOperation
|
||||||
|
:data="scope.row"
|
||||||
|
:permission="permission"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<!--分页组件-->
|
||||||
|
<pagination />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -1,44 +1,42 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-card class="box-card" shadow="always">
|
<!--工具栏-->
|
||||||
<!--工具栏-->
|
<div class="head-container">
|
||||||
<div class="head-container">
|
<div v-if="crud.props.searchToggle">
|
||||||
<div v-if="crud.props.searchToggle">
|
<!-- 搜索 -->
|
||||||
<!-- 搜索 -->
|
<el-input v-model="query.blurry" clearable placeholder="输入搜索内容" style="width: 200px" class="filter-item" @keyup.enter.native="crud.toQuery" />
|
||||||
<el-input v-model="query.blurry" clearable placeholder="输入搜索内容" style="width: 200px" class="filter-item" @keyup.enter.native="crud.toQuery" />
|
<date-range-picker v-model="query.deployDate" class="date-item" />
|
||||||
<date-range-picker v-model="query.deployDate" class="date-item" />
|
<rrOperation />
|
||||||
<rrOperation />
|
|
||||||
</div>
|
|
||||||
<crudOperation :permission="permission" />
|
|
||||||
</div>
|
</div>
|
||||||
<!--表格渲染-->
|
<crudOperation :permission="permission" />
|
||||||
<el-table ref="table" v-loading="crud.loading" :data="crud.data" style="width: 100%" @selection-change="crud.selectionChangeHandler">
|
</div>
|
||||||
<el-table-column type="selection" width="55" />
|
<!--表格渲染-->
|
||||||
<el-table-column prop="appName" label="应用名称" />
|
<el-table ref="table" v-loading="crud.loading" :data="crud.data" style="width: 100%" @selection-change="crud.selectionChangeHandler">
|
||||||
<el-table-column prop="ip" label="部署IP" />
|
<el-table-column type="selection" width="55" />
|
||||||
<el-table-column prop="deployUser" label="部署人员" />
|
<el-table-column prop="appName" label="应用名称" />
|
||||||
<el-table-column prop="deployDate" label="部署时间" />
|
<el-table-column prop="ip" label="部署IP" />
|
||||||
<el-table-column v-if="checkPer(['admin','deployHistory:del'])" label="操作" width="100px" align="center">
|
<el-table-column prop="deployUser" label="部署人员" />
|
||||||
<template slot-scope="scope">
|
<el-table-column prop="deployDate" label="部署时间" />
|
||||||
<el-popover
|
<el-table-column v-if="checkPer(['admin','deployHistory:del'])" label="操作" width="100px" align="center">
|
||||||
:ref="scope.row.id"
|
<template slot-scope="scope">
|
||||||
v-permission="['admin','deployHistory:del']"
|
<el-popover
|
||||||
placement="top"
|
:ref="scope.row.id"
|
||||||
width="180"
|
v-permission="['admin','deployHistory:del']"
|
||||||
>
|
placement="top"
|
||||||
<p>确定删除本条数据吗?</p>
|
width="180"
|
||||||
<div style="text-align: right; margin: 0">
|
>
|
||||||
<el-button size="mini" type="text" @click="$refs[scope.row.id].doClose()">取消</el-button>
|
<p>确定删除本条数据吗?</p>
|
||||||
<el-button :loading="delLoading" type="primary" size="mini" @click="delMethod(scope.row.id)">确定</el-button>
|
<div style="text-align: right; margin: 0">
|
||||||
</div>
|
<el-button size="mini" type="text" @click="$refs[scope.row.id].doClose()">取消</el-button>
|
||||||
<el-button slot="reference" type="danger" icon="el-icon-delete" size="mini" />
|
<el-button :loading="delLoading" type="primary" size="mini" @click="delMethod(scope.row.id)">确定</el-button>
|
||||||
</el-popover>
|
</div>
|
||||||
</template>
|
<el-button slot="reference" type="danger" icon="el-icon-delete" size="mini" />
|
||||||
</el-table-column>
|
</el-popover>
|
||||||
</el-table>
|
</template>
|
||||||
<!--分页组件-->
|
</el-table-column>
|
||||||
<pagination />
|
</el-table>
|
||||||
</el-card>
|
<!--分页组件-->
|
||||||
|
<pagination />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -1,61 +1,59 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-card class="box-card" shadow="always">
|
<!--工具栏-->
|
||||||
<!--工具栏-->
|
<div class="head-container">
|
||||||
<div class="head-container">
|
<div v-if="crud.props.searchToggle">
|
||||||
<div v-if="crud.props.searchToggle">
|
<!-- 搜索 -->
|
||||||
<!-- 搜索 -->
|
<el-input v-model="query.id" clearable placeholder="输入名称或IP搜索" style="width: 200px" class="filter-item" @keyup.enter.native="crud.toQuery" />
|
||||||
<el-input v-model="query.id" clearable placeholder="输入名称或IP搜索" style="width: 200px" class="filter-item" @keyup.enter.native="crud.toQuery" />
|
<date-range-picker v-model="query.createTime" class="date-item" />
|
||||||
<date-range-picker v-model="query.createTime" class="date-item" />
|
<rrOperation />
|
||||||
<rrOperation />
|
|
||||||
</div>
|
|
||||||
<crudOperation :permission="permission" />
|
|
||||||
</div>
|
</div>
|
||||||
<!--表单组件-->
|
<crudOperation :permission="permission" />
|
||||||
<el-dialog append-to-body :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="470px">
|
</div>
|
||||||
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="55px">
|
<!--表单组件-->
|
||||||
<el-form-item label="名称" prop="name">
|
<el-dialog append-to-body :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="470px">
|
||||||
<el-input v-model="form.name" style="width: 370px" />
|
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="55px">
|
||||||
</el-form-item>
|
<el-form-item label="名称" prop="name">
|
||||||
<el-form-item label="IP" prop="ip">
|
<el-input v-model="form.name" style="width: 370px" />
|
||||||
<el-input v-model="form.ip" style="width: 370px" />
|
</el-form-item>
|
||||||
</el-form-item>
|
<el-form-item label="IP" prop="ip">
|
||||||
<el-form-item label="端口" prop="port">
|
<el-input v-model="form.ip" style="width: 370px" />
|
||||||
<el-input-number v-model.number="form.port" controls-position="right" style="width: 370px;" />
|
</el-form-item>
|
||||||
</el-form-item>
|
<el-form-item label="端口" prop="port">
|
||||||
<el-form-item label="账号" prop="account">
|
<el-input-number v-model.number="form.port" controls-position="right" style="width: 370px;" />
|
||||||
<el-input v-model="form.account" style="width: 370px" />
|
</el-form-item>
|
||||||
</el-form-item>
|
<el-form-item label="账号" prop="account">
|
||||||
<el-form-item label="密码" prop="password">
|
<el-input v-model="form.account" style="width: 370px" />
|
||||||
<el-input v-model="form.password" type="password" style="width: 200px" />
|
</el-form-item>
|
||||||
<el-button :loading="loading" type="success" style="align: right;" @click="testConnectServer">测试连接</el-button>
|
<el-form-item label="密码" prop="password">
|
||||||
</el-form-item>
|
<el-input v-model="form.password" type="password" style="width: 200px" />
|
||||||
</el-form>
|
<el-button :loading="loading" type="success" style="align: right;" @click="testConnectServer">测试连接</el-button>
|
||||||
<div slot="footer" class="dialog-footer">
|
</el-form-item>
|
||||||
<el-button type="text" @click="crud.cancelCU">取消</el-button>
|
</el-form>
|
||||||
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
|
<div slot="footer" class="dialog-footer">
|
||||||
</div>
|
<el-button type="text" @click="crud.cancelCU">取消</el-button>
|
||||||
</el-dialog>
|
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
|
||||||
<!--表格渲染-->
|
</div>
|
||||||
<el-table ref="table" v-loading="crud.loading" :data="crud.data" style="width: 100%" @selection-change="crud.selectionChangeHandler">
|
</el-dialog>
|
||||||
<el-table-column type="selection" width="55" />
|
<!--表格渲染-->
|
||||||
<el-table-column prop="name" label="名称" />
|
<el-table ref="table" v-loading="crud.loading" :data="crud.data" style="width: 100%" @selection-change="crud.selectionChangeHandler">
|
||||||
<el-table-column prop="ip" label="IP" />
|
<el-table-column type="selection" width="55" />
|
||||||
<el-table-column prop="port" label="端口" />
|
<el-table-column prop="name" label="名称" />
|
||||||
<el-table-column prop="account" label="账号" />
|
<el-table-column prop="ip" label="IP" />
|
||||||
<el-table-column prop="createTime" label="创建日期" />
|
<el-table-column prop="port" label="端口" />
|
||||||
<el-table-column v-if="checkPer(['admin','serverDeploy:edit','serverDeploy:del'])" label="操作" width="150px" align="center">
|
<el-table-column prop="account" label="账号" />
|
||||||
<template slot-scope="scope">
|
<el-table-column prop="createTime" label="创建日期" />
|
||||||
<udOperation
|
<el-table-column v-if="checkPer(['admin','serverDeploy:edit','serverDeploy:del'])" label="操作" width="150px" align="center">
|
||||||
:data="scope.row"
|
<template slot-scope="scope">
|
||||||
:permission="permission"
|
<udOperation
|
||||||
/>
|
:data="scope.row"
|
||||||
</template>
|
:permission="permission"
|
||||||
</el-table-column>
|
/>
|
||||||
</el-table>
|
</template>
|
||||||
<!--分页组件-->
|
</el-table-column>
|
||||||
<pagination />
|
</el-table>
|
||||||
</el-card>
|
<!--分页组件-->
|
||||||
|
<pagination />
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -1,54 +1,52 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-card class="box-card" shadow="always">
|
<div class="head-container">
|
||||||
<div class="head-container">
|
<Search />
|
||||||
<Search />
|
<crudOperation>
|
||||||
<crudOperation>
|
<el-button
|
||||||
<el-button
|
slot="left"
|
||||||
slot="left"
|
class="filter-item"
|
||||||
class="filter-item"
|
type="danger"
|
||||||
type="danger"
|
icon="el-icon-delete"
|
||||||
icon="el-icon-delete"
|
size="mini"
|
||||||
size="mini"
|
:loading="crud.delAllLoading"
|
||||||
:loading="crud.delAllLoading"
|
@click="confirmDelAll()"
|
||||||
@click="confirmDelAll()"
|
>
|
||||||
>
|
清空
|
||||||
清空
|
</el-button>
|
||||||
</el-button>
|
</crudOperation>
|
||||||
</crudOperation>
|
</div>
|
||||||
</div>
|
<!--表格渲染-->
|
||||||
<!--表格渲染-->
|
<el-table ref="table" v-loading="crud.loading" :data="crud.data" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
|
||||||
<el-table ref="table" v-loading="crud.loading" :data="crud.data" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
|
<el-table-column type="expand">
|
||||||
<el-table-column type="expand">
|
<template slot-scope="props">
|
||||||
<template slot-scope="props">
|
<el-form label-position="left" inline class="demo-table-expand">
|
||||||
<el-form label-position="left" inline class="demo-table-expand">
|
<el-form-item label="请求方法">
|
||||||
<el-form-item label="请求方法">
|
<span>{{ props.row.method }}</span>
|
||||||
<span>{{ props.row.method }}</span>
|
</el-form-item>
|
||||||
</el-form-item>
|
<el-form-item label="请求参数">
|
||||||
<el-form-item label="请求参数">
|
<span>{{ props.row.params }}</span>
|
||||||
<span>{{ props.row.params }}</span>
|
</el-form-item>
|
||||||
</el-form-item>
|
</el-form>
|
||||||
</el-form>
|
</template>
|
||||||
</template>
|
</el-table-column>
|
||||||
</el-table-column>
|
<el-table-column prop="username" label="用户名" />
|
||||||
<el-table-column prop="username" label="用户名" />
|
<el-table-column prop="requestIp" label="IP" />
|
||||||
<el-table-column prop="requestIp" label="IP" />
|
<el-table-column :show-overflow-tooltip="true" prop="address" label="IP来源" />
|
||||||
<el-table-column :show-overflow-tooltip="true" prop="address" label="IP来源" />
|
<el-table-column prop="description" label="描述" />
|
||||||
<el-table-column prop="description" label="描述" />
|
<el-table-column prop="browser" label="浏览器" />
|
||||||
<el-table-column prop="browser" label="浏览器" />
|
<el-table-column prop="createTime" label="创建日期" />
|
||||||
<el-table-column prop="createTime" label="创建日期" />
|
<el-table-column label="异常详情" width="100px">
|
||||||
<el-table-column label="异常详情" width="100px">
|
<template slot-scope="scope">
|
||||||
<template slot-scope="scope">
|
<el-button size="mini" type="text" @click="info(scope.row.id)">查看详情</el-button>
|
||||||
<el-button size="mini" type="text" @click="info(scope.row.id)">查看详情</el-button>
|
</template>
|
||||||
</template>
|
</el-table-column>
|
||||||
</el-table-column>
|
</el-table>
|
||||||
</el-table>
|
<el-dialog :visible.sync="dialog" title="异常详情" append-to-body top="30px" width="85%">
|
||||||
<el-dialog :visible.sync="dialog" title="异常详情" append-to-body top="30px" width="85%">
|
<pre>{{ errorInfo }}</pre>
|
||||||
<pre>{{ errorInfo }}</pre>
|
</el-dialog>
|
||||||
</el-dialog>
|
<!--分页组件-->
|
||||||
<!--分页组件-->
|
<pagination />
|
||||||
<pagination />
|
|
||||||
</el-card>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -1,53 +1,51 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<el-card class="box-card" shadow="always">
|
<div class="head-container">
|
||||||
<div class="head-container">
|
<Search />
|
||||||
<Search />
|
<crudOperation>
|
||||||
<crudOperation>
|
<el-button
|
||||||
<el-button
|
slot="left"
|
||||||
slot="left"
|
class="filter-item"
|
||||||
class="filter-item"
|
type="danger"
|
||||||
type="danger"
|
icon="el-icon-delete"
|
||||||
icon="el-icon-delete"
|
size="mini"
|
||||||
size="mini"
|
:loading="crud.delAllLoading"
|
||||||
:loading="crud.delAllLoading"
|
@click="confirmDelAll()"
|
||||||
@click="confirmDelAll()"
|
>
|
||||||
>
|
清空
|
||||||
清空
|
</el-button>
|
||||||
</el-button>
|
</crudOperation>
|
||||||
</crudOperation>
|
</div>
|
||||||
</div>
|
<!--表格渲染-->
|
||||||
<!--表格渲染-->
|
<el-table ref="table" v-loading="crud.loading" :data="crud.data" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
|
||||||
<el-table ref="table" v-loading="crud.loading" :data="crud.data" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
|
<el-table-column type="expand">
|
||||||
<el-table-column type="expand">
|
<template slot-scope="props">
|
||||||
<template slot-scope="props">
|
<el-form label-position="left" inline class="demo-table-expand">
|
||||||
<el-form label-position="left" inline class="demo-table-expand">
|
<el-form-item label="请求方法">
|
||||||
<el-form-item label="请求方法">
|
<span>{{ props.row.method }}</span>
|
||||||
<span>{{ props.row.method }}</span>
|
</el-form-item>
|
||||||
</el-form-item>
|
<el-form-item label="请求参数">
|
||||||
<el-form-item label="请求参数">
|
<span>{{ props.row.params }}</span>
|
||||||
<span>{{ props.row.params }}</span>
|
</el-form-item>
|
||||||
</el-form-item>
|
</el-form>
|
||||||
</el-form>
|
</template>
|
||||||
</template>
|
</el-table-column>
|
||||||
</el-table-column>
|
<el-table-column prop="username" label="用户名" />
|
||||||
<el-table-column prop="username" label="用户名" />
|
<el-table-column prop="requestIp" label="IP" />
|
||||||
<el-table-column prop="requestIp" label="IP" />
|
<el-table-column :show-overflow-tooltip="true" prop="address" label="IP来源" />
|
||||||
<el-table-column :show-overflow-tooltip="true" prop="address" label="IP来源" />
|
<el-table-column prop="description" label="描述" />
|
||||||
<el-table-column prop="description" label="描述" />
|
<el-table-column prop="browser" label="浏览器" />
|
||||||
<el-table-column prop="browser" label="浏览器" />
|
<el-table-column prop="time" label="请求耗时" align="center">
|
||||||
<el-table-column prop="time" label="请求耗时" align="center">
|
<template slot-scope="scope">
|
||||||
<template slot-scope="scope">
|
<el-tag v-if="scope.row.time <= 300">{{ scope.row.time }}ms</el-tag>
|
||||||
<el-tag v-if="scope.row.time <= 300">{{ scope.row.time }}ms</el-tag>
|
<el-tag v-else-if="scope.row.time <= 1000" type="warning">{{ scope.row.time }}ms</el-tag>
|
||||||
<el-tag v-else-if="scope.row.time <= 1000" type="warning">{{ scope.row.time }}ms</el-tag>
|
<el-tag v-else type="danger">{{ scope.row.time }}ms</el-tag>
|
||||||
<el-tag v-else type="danger">{{ scope.row.time }}ms</el-tag>
|
</template>
|
||||||
</template>
|
</el-table-column>
|
||||||
</el-table-column>
|
<el-table-column prop="createTime" label="创建日期" width="180px" />
|
||||||
<el-table-column prop="createTime" label="创建日期" width="180px" />
|
</el-table>
|
||||||
</el-table>
|
<!--分页组件-->
|
||||||
<!--分页组件-->
|
<pagination />
|
||||||
<pagination />
|
|
||||||
</el-card>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|