Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
car-database-web
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
中汽研标准应用数据库
car-database-web
Commits
028a3763
Commit
028a3763
authored
Sep 09, 2024
by
baiyanhao
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.91isoft.com:90/car-database/car-database-web
parents
e085b2e8
070f431d
Changes
15
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
392 additions
and
138 deletions
+392
-138
home.scss
src/assets/styles/home.scss
+67
-25
checkInputUpload.vue
src/components/CheckCoiumns/checkInputUpload.vue
+17
-7
checkboxUpload.vue
src/components/CheckCoiumns/checkboxUpload.vue
+21
-17
inputUpload.vue
src/components/CheckCoiumns/inputUpload.vue
+22
-11
radioUpload.vue
src/components/CheckCoiumns/radioUpload.vue
+18
-8
pieChart.vue
src/components/homeComponents/pieChart.vue
+4
-4
planChart.vue
src/components/homeComponents/planChart.vue
+3
-2
planChart2.vue
src/components/homeComponents/planChart2.vue
+47
-19
table.vue
src/components/homeComponents/table.vue
+7
-6
table2.vue
src/components/homeComponents/table2.vue
+86
-0
index.vue
src/views/index.vue
+78
-33
login.vue
src/views/login.vue
+2
-2
detail.vue
src/views/plan/customized/detail.vue
+2
-2
index.vue
src/views/plan/list/index.vue
+13
-1
index.vue
src/views/setting/template/index.vue
+5
-1
No files found.
src/assets/styles/home.scss
View file @
028a3763
...
...
@@ -26,6 +26,7 @@
}
.home-page
{
position
:
absolute
;
overflow
:
hidden
;
left
:
0
;
right
:
0
;
top
:
0
;
...
...
@@ -44,8 +45,7 @@
margin-top
:
10%
;
width
:
40%
;
height
:
100%
;
background
:
url('../images/home/huxian.png')
no-repeat
;
background-size
:
100%
75%
;
position
:
relative
;
.center-item-1
{
...
...
@@ -204,8 +204,44 @@
flex-wrap
:
wrap
;
margin-right
:
3%
;
align-items
:
center
;
justify-content
:
center
;
.bottom-item
{
flex
:
1
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
}
}
}
}
.bottom-card
{
width
:
8rem
;
padding
:
0
10px
;
cursor
:
pointer
;
&
:hover
{
animation
:
jump
2s
linear
infinite
;
@keyframes
jump
{
0
%
,
100
%
{
transform
:
translateY
(
20px
);
}
50
%
{
transform
:
translateY
(
-20px
);
}
}
}
&
-img
{
width
:
40px
;
height
:
40px
;
}
&
-title
{
font-size
:
14px
;
font-family
:
Microsoft
YaHei
;
font-weight
:
400
;
text-align
:
center
;
color
:
#ffffff
;
line-height
:
16px
;
}
}
.card-box
{
height
:
34%
;
...
...
@@ -225,35 +261,59 @@
}
&
-title
{
position
:
absolute
;
font-size
:
18
px
;
font-size
:
20
px
;
font-family
:
Microsoft
YaHei
,
Microsoft
YaHei-700
;
font-weight
:
700
;
color
:
#ffffff
;
line-height
:
20px
;
letter-spacing
:
0
.24px
;
left
:
50
px
;
left
:
65
px
;
top
:
0
;
}
&
-title2
{
position
:
absolute
;
font-size
:
18
px
;
font-size
:
20
px
;
font-family
:
Microsoft
YaHei
,
Microsoft
YaHei-700
;
font-weight
:
700
;
color
:
#ffffff
;
line-height
:
20px
;
letter-spacing
:
0
.24px
;
right
:
50
px
;
right
:
65
px
;
top
:
0
;
}
&
-body
{
padding
:
5px
20px
;
}
}
.center-back
{
background
:
url('../images/home/huxian.png')
no-repeat
;
background-size
:
100%
100%
;
position
:
absolute
;
left
:
-35px
;
top
:
-30px
;
width
:
821px
;
height
:
673px
;
animation
:
rotate
5s
linear
infinite
;
@keyframes
rotate
{
0
%
{
transform
:
scale
(
1
.1
);
}
50
%
{
transform
:
scale
(
0
.9
);
}
100
%
{
transform
:
scale
(
1
.1
);
}
}
}
.show-card
{
display
:
flex
;
align-items
:
center
;
justify-content
:
flex-start
;
height
:
6rem
;
height
:
8rem
;
&
-img
{
width
:
100px
;
height
:
100px
;
...
...
@@ -279,21 +339,3 @@
}
}
}
.bottom-card
{
width
:
14%
;
margin
:
0
1%
;
padding
:
0
10px
;
cursor
:
pointer
;
&
-img
{
width
:
40px
;
height
:
40px
;
}
&
-title
{
font-size
:
14px
;
font-family
:
Microsoft
YaHei
;
font-weight
:
400
;
text-align
:
center
;
color
:
#ffffff
;
line-height
:
16px
;
}
}
src/components/CheckCoiumns/checkInputUpload.vue
View file @
028a3763
...
...
@@ -27,6 +27,7 @@
</div>
<el-upload
class=
"upload-demo"
ref=
"fileUpload"
:action=
"uploadImgUrl"
:on-preview=
"handlePreview"
v-model=
"model.file"
...
...
@@ -36,11 +37,16 @@
:limit=
"1"
:on-success=
"handleSuccess"
:on-exceed=
"handleExceed"
:headers=
"headers"
>
<el-button
size=
"small"
:disabled=
"status"
type=
"primary"
>
上传文件
</el-button
>
<div
slot=
"tip"
class=
"el-upload__tip"
></div>
<div
slot=
"tip"
class=
"el-upload__tip"
>
<div
v-if=
"model.path"
>
<el-link
:href=
"model.path"
>
{{
model
.
name
}}
</el-link>
</div>
</div>
</el-upload>
</div>
</
template
>
...
...
@@ -60,7 +66,6 @@ export default {
default
:
false
},
defaultValue
:
{
default
:
''
}
},
...
...
@@ -70,7 +75,11 @@ export default {
value
:
''
,
list
:
[],
file
:
''
,
path
:
''
path
:
''
,
name
:
''
},
headers
:
{
Authorization
:
'Bearer '
+
this
.
$store
.
getters
.
token
},
uploadImgUrl
:
process
.
env
.
VUE_APP_BASE_API
+
'/common/uploadMinio'
// 上传的图片服务器地址
}
...
...
@@ -92,7 +101,7 @@ export default {
mounted
()
{
if
(
this
.
defaultValue
)
{
this
.
model
=
this
.
defaultValue
this
.
$emit
(
'changeVal'
,
{
name
:
this
.
prop
,
val
:
this
.
result
})
this
.
$emit
(
'changeVal'
,
{
name
:
this
.
prop
,
val
:
this
.
result
})
this
.
$emit
(
'makeRecord'
,
{
name
:
this
.
prop
,
record
:
this
.
model
})
}
else
{
this
.
reset
()
...
...
@@ -127,12 +136,13 @@ export default {
console
.
log
(
file
)
},
handleSuccess
(
res
,
file
)
{
if
(
res
===
200
)
{
this
.
model
.
path
=
res
.
url
if
(
res
.
code
===
200
)
{
this
.
model
.
path
=
process
.
env
.
VUE_APP_IMAGE_API
+
res
.
url
this
.
model
.
name
=
res
.
originalFilename
this
.
$refs
.
fileUpload
.
clearFiles
()
this
.
$message
.
success
(
'上传成功'
)
}
else
{
this
.
$message
.
error
(
'error'
)
console
.
log
(
res
,
file
)
}
},
handleExceed
(
files
,
fileList
)
{
...
...
src/components/CheckCoiumns/checkboxUpload.vue
View file @
028a3763
<
template
>
<div
class=
"checkbox-upload"
>
<el-checkbox-group
:disabled=
"status"
v-model=
"model.value"
@
change=
"input"
>
<el-checkbox
v-for=
"(i, k) in items.options"
:label=
"i.id"
:key=
"k"
>
{{
i
.
object
}}
<el-checkbox
v-for=
"(i, k) in items.options"
:label=
"i.id"
:key=
"k"
>
{{
i
.
object
}}
</el-checkbox>
</el-checkbox-group>
<el-upload
...
...
@@ -18,13 +14,19 @@
:before-remove=
"beforeRemove"
:show-file-list=
"false"
:limit=
"1"
ref=
"fileUpload"
:on-success=
"handleSuccess"
:on-exceed=
"handleExceed"
:headers=
"headers"
>
<el-button
size=
"small"
:disabled=
"status"
type=
"primary"
>
上传文件
</el-button
>
<div
slot=
"tip"
class=
"el-upload__tip"
></div>
<div
slot=
"tip"
class=
"el-upload__tip"
>
<div
v-if=
"model.path"
>
<el-link
:href=
"model.path"
>
{{
model
.
name
}}
</el-link>
</div>
</div>
</el-upload>
</div>
</
template
>
...
...
@@ -44,7 +46,6 @@ export default {
default
:
false
},
defaultValue
:
{
default
:
''
}
},
...
...
@@ -53,7 +54,11 @@ export default {
model
:
{
value
:
[],
file
:
''
,
path
:
''
path
:
''
,
name
:
''
},
headers
:
{
Authorization
:
'Bearer '
+
this
.
$store
.
getters
.
token
},
uploadImgUrl
:
process
.
env
.
VUE_APP_BASE_API
+
'/common/uploadMinio'
// 上传的图片服务器地址
}
...
...
@@ -71,7 +76,7 @@ export default {
mounted
()
{
if
(
this
.
defaultValue
)
{
this
.
model
=
this
.
defaultValue
this
.
$emit
(
'changeVal'
,
{
name
:
this
.
prop
,
val
:
this
.
value
})
this
.
$emit
(
'changeVal'
,
{
name
:
this
.
prop
,
val
:
this
.
value
})
this
.
$emit
(
'makeRecord'
,
{
name
:
this
.
prop
,
record
:
this
.
result
})
}
else
{
this
.
reset
()
...
...
@@ -81,9 +86,6 @@ export default {
input
()
{
let
arr
=
[]
this
.
items
.
options
.
map
(
i
=>
{
console
.
log
(
this
.
model
.
value
)
console
.
log
(
i
)
if
(
this
.
model
.
value
.
includes
(
i
.
id
))
{
arr
.
push
(
i
.
useCaseNo
)
}
...
...
@@ -99,7 +101,8 @@ export default {
this
.
model
=
{
value
:
[],
file
:
''
,
path
:
''
path
:
''
,
name
:
''
}
},
setDefaultValue
(
val
)
{
...
...
@@ -112,12 +115,13 @@ export default {
console
.
log
(
file
)
},
handleSuccess
(
res
,
file
)
{
if
(
res
===
200
)
{
this
.
model
.
path
=
res
.
url
if
(
res
.
code
===
200
)
{
this
.
model
.
path
=
process
.
env
.
VUE_APP_IMAGE_API
+
res
.
url
this
.
model
.
name
=
res
.
originalFilename
this
.
$refs
.
fileUpload
.
clearFiles
()
this
.
$message
.
success
(
'上传成功'
)
}
else
{
this
.
$message
.
error
(
'error'
)
console
.
log
(
res
,
file
)
}
},
handleExceed
(
files
,
fileList
)
{
...
...
src/components/CheckCoiumns/inputUpload.vue
View file @
028a3763
...
...
@@ -14,17 +14,23 @@
:action=
"uploadImgUrl"
:on-preview=
"handlePreview"
v-model=
"model.file"
ref=
"fileUpload"
:on-remove=
"handleRemove"
:before-remove=
"beforeRemove"
:show-file-list=
"false"
:limit=
"1"
:on-success=
"handleSuccess"
:on-exceed=
"handleExceed"
:headers=
"headers"
>
<el-button
size=
"small"
:disabled=
"status"
type=
"primary"
>
上传文件
</el-button
>
<div
slot=
"tip"
class=
"el-upload__tip"
></div>
<div
slot=
"tip"
class=
"el-upload__tip"
>
<div
v-if=
"model.path"
>
<el-link
:href=
"model.path"
>
{{
model
.
name
}}
</el-link>
</div>
</div>
</el-upload>
</div>
</
template
>
...
...
@@ -44,7 +50,6 @@ export default {
default
:
false
},
defaultValue
:
{
default
:
''
}
},
...
...
@@ -53,7 +58,11 @@ export default {
model
:
{
value
:
''
,
file
:
''
,
path
:
''
path
:
''
,
name
:
''
},
headers
:
{
Authorization
:
'Bearer '
+
this
.
$store
.
getters
.
token
},
uploadImgUrl
:
process
.
env
.
VUE_APP_BASE_API
+
'/common/uploadMinio'
// 上传的图片服务器地址
}
...
...
@@ -65,13 +74,13 @@ export default {
status
(
newVal
)
{
this
.
reset
()
this
.
$emit
(
'changeVal'
,
{
name
:
this
.
prop
,
val
:
[]
})
this
.
$emit
(
'makeRecord'
,
{
name
:
this
.
prop
,
record
:{}
})
this
.
$emit
(
'makeRecord'
,
{
name
:
this
.
prop
,
record
:
{}
})
}
},
mounted
()
{
if
(
this
.
defaultValue
)
{
this
.
model
=
this
.
defaultValue
this
.
$emit
(
'changeVal'
,
{
name
:
this
.
prop
,
val
:
this
.
result
})
this
.
$emit
(
'changeVal'
,
{
name
:
this
.
prop
,
val
:
this
.
result
})
this
.
$emit
(
'makeRecord'
,
{
name
:
this
.
prop
,
record
:
this
.
model
})
}
else
{
this
.
reset
()
...
...
@@ -85,8 +94,8 @@ export default {
arr
.
push
(
i
.
useCaseNo
)
})
}
console
.
log
(
arr
)
;
console
.
log
(
arr
)
this
.
$emit
(
'changeVal'
,
{
name
:
this
.
prop
,
val
:
arr
.
join
(
','
)
})
this
.
$emit
(
'makeRecord'
,
{
name
:
this
.
prop
,
record
:
this
.
model
})
},
...
...
@@ -94,7 +103,8 @@ export default {
this
.
model
=
{
value
:
''
,
file
:
''
,
path
:
''
path
:
''
,
name
:
''
}
},
setDefaultValue
(
val
)
{
...
...
@@ -107,12 +117,13 @@ export default {
console
.
log
(
file
)
},
handleSuccess
(
res
,
file
)
{
if
(
res
===
200
)
{
this
.
model
.
path
=
res
.
url
if
(
res
.
code
===
200
)
{
this
.
model
.
path
=
process
.
env
.
VUE_APP_IMAGE_API
+
res
.
url
this
.
model
.
name
=
res
.
originalFilename
this
.
$refs
.
fileUpload
.
clearFiles
()
this
.
$message
.
success
(
'上传成功'
)
}
else
{
this
.
$message
.
error
(
'error'
)
console
.
log
(
res
,
file
)
}
},
handleExceed
(
files
,
fileList
)
{
...
...
src/components/CheckCoiumns/radioUpload.vue
View file @
028a3763
...
...
@@ -7,6 +7,7 @@
</el-radio-group>
<el-upload
class=
"upload-demo"
ref=
"fileUpload"
:action=
"uploadImgUrl"
:on-preview=
"handlePreview"
v-model=
"model.file"
...
...
@@ -16,11 +17,16 @@
:limit=
"1"
:on-success=
"handleSuccess"
:on-exceed=
"handleExceed"
:headers=
"headers"
>
<el-button
size=
"small"
:disabled=
"status"
type=
"primary"
>
上传文件
</el-button
>
<div
slot=
"tip"
class=
"el-upload__tip"
></div>
<div
slot=
"tip"
class=
"el-upload__tip"
>
<div
v-if=
"model.path"
>
<el-link
:href=
"model.path"
>
{{
model
.
name
}}
</el-link>
</div>
</div>
</el-upload>
</div>
</
template
>
...
...
@@ -40,7 +46,6 @@ export default {
default
:
false
},
defaultValue
:
{
default
:
''
}
},
...
...
@@ -49,9 +54,12 @@ export default {
model
:
{
value
:
''
,
file
:
''
,
path
:
''
path
:
''
,
name
:
''
},
headers
:
{
Authorization
:
'Bearer '
+
this
.
$store
.
getters
.
token
},
uploadImgUrl
:
process
.
env
.
VUE_APP_BASE_API
+
'/common/uploadMinio'
// 上传的图片服务器地址
}
},
...
...
@@ -89,7 +97,8 @@ export default {
this
.
model
=
{
value
:
''
,
file
:
''
,
path
:
''
path
:
''
,
name
:
''
}
},
setDefaultValue
(
val
)
{
...
...
@@ -102,12 +111,13 @@ export default {
console
.
log
(
file
)
},
handleSuccess
(
res
,
file
)
{
if
(
res
===
200
)
{
this
.
model
.
path
=
res
.
url
if
(
res
.
code
===
200
)
{
this
.
model
.
path
=
process
.
env
.
VUE_APP_IMAGE_API
+
res
.
url
this
.
model
.
name
=
res
.
originalFilename
this
.
$refs
.
fileUpload
.
clearFiles
()
this
.
$message
.
success
(
'上传成功'
)
}
else
{
this
.
$message
.
error
(
'error'
)
console
.
log
(
res
,
file
)
}
},
handleExceed
(
files
,
fileList
)
{
...
...
src/components/homeComponents/pieChart.vue
View file @
028a3763
<
template
>
<div
ref=
"chart"
style=
"width: 100%; height: 10rem; display: flex; justify-content: center"
style=
"width: 100%; height: 10rem; display: flex;
margin-top: 2rem;
justify-content: center"
></div>
</
template
>
<
script
>
...
...
@@ -41,7 +41,7 @@ export default {
value
:
1
}
],
radius
:
'
6
5%'
,
radius
:
'
7
5%'
,
// 水球颜色
color
:
[
'#49d088'
,
'#38b470'
,
'#2aaf66'
],
center
:
[
'15%'
,
'55%'
],
...
...
@@ -83,7 +83,7 @@ export default {
}
],
name
:
'修改'
,
radius
:
'
6
5%'
,
radius
:
'
7
5%'
,
// 水球颜色
color
:
[
'#FE5555'
,
'#F07581'
,
'#FB5E61'
],
center
:
[
'50%'
,
'55%'
],
...
...
@@ -126,7 +126,7 @@ export default {
],
//data: [0.6, 0.5, 0.4, 0.3],
data
:
[
0
,
0
,
0
,
0
],
radius
:
'
6
5%'
,
radius
:
'
7
5%'
,
// 水球颜色
color
:
[
'#FFBF11'
,
'#F4B30E'
,
'#EACE36'
],
center
:
[
'85%'
,
'55%'
],
...
...
src/components/homeComponents/planChart.vue
View file @
028a3763
...
...
@@ -30,7 +30,7 @@ export default {
// 3.配置数据
const
option
=
{
grid
:
{
top
:
'1
0
%'
,
top
:
'1
5
%'
,
bottom
:
'20%'
,
//也可设置left和right设置距离来控制图表的大小
left
:
'10%'
,
right
:
'10%'
...
...
@@ -65,6 +65,7 @@ export default {
},
yAxis
:
{
type
:
'value'
,
name
:
'(个)'
,
nameTextStyle
:
{
color
:
'#b4dbfc'
},
...
...
@@ -108,7 +109,7 @@ export default {
])
}
},
data
:
[
12
0
,
380
,
248
,
135
,
290
,
280
,
320
,
125
]
data
:
[
12
,
38
,
24
,
13
,
20
,
28
,
32
,
12
]
}
]
}
...
...
src/components/homeComponents/planChart2.vue
View file @
028a3763
<
template
>
<div
ref=
"chart"
style=
"width: 100%; height: 100%; display: flex; justify-content: center"
></div>
<div
class=
"chart-box"
>
<div
ref=
"chart"
style=
"width: 130%; height: 100%; display: flex; justify-content: center"
></div>
<div
class=
"chart-x"
>
● 攻击手段
</div>
<div
class=
"chart-y"
>
攻击方式
</div>
</div>
</
template
>
<
script
>
import
{
Left
}
from
'@icon-park/vue'
export
default
{
name
:
'AverageTest'
,
props
:
{
...
...
@@ -30,23 +33,24 @@ export default {
// 3.配置数据
const
option
=
{
grid
:
{
top
:
'1
0
%'
,
bottom
:
'
2
0%'
,
//也可设置left和right设置距离来控制图表的大小
left
:
'
10
%'
,
right
:
'
10
%'
top
:
'1
5
%'
,
bottom
:
'
3
0%'
,
//也可设置left和right设置距离来控制图表的大小
left
:
'
8
%'
,
right
:
'
2
%'
},
xAxis
:
{
data
:
[
'信息收集'
,
'环境控制'
,
'初始访问'
,
'命令
/脚本
执行'
,
'持久
化控
制'
,
'权限提升'
,
'信息
\
n
收集'
,
'环境
\
n
控制'
,
'初始
\
n
访问'
,
'命令
\
n/脚本
\
n
执行'
,
'持久
\
n化控
\
n
制'
,
'权限
\
n
提升'
,
'绕过'
,
'凭证获取'
,
'信息发现'
,
'横向移动'
'凭证
\
n
获取'
,
'信息
\
n
发现'
,
'横向
\
n
移动'
],
axisLine
:
{
show
:
false
,
//隐藏X轴轴线
...
...
@@ -67,6 +71,7 @@ export default {
},
yAxis
:
{
type
:
'value'
,
name
:
'(个)'
,
nameTextStyle
:
{
color
:
'#b4dbfc'
},
...
...
@@ -119,4 +124,27 @@ export default {
}
}
</
script
>
<
style
lang=
"scss"
scoped
></
style
>
<
style
lang=
"scss"
scoped
>
.chart-box
{
position
:
relative
;
height
:
100%
;
.chart-x
{
color
:
#00FFE3
;
position
:
absolute
;
z-index
:
100
;
right
:
10px
;
top
:
5px
;
font-weight
:
bold
;
font-size
:
12px
;
}
.chart-y
{
color
:
#fff
;
font-size
:
12px
;
position
:
absolute
;
z-index
:
100
;
right
:
10px
;
bottom
:
10px
;
font-weight
:
bold
;
}
}
</
style
>
src/components/homeComponents/table.vue
View file @
028a3763
...
...
@@ -15,21 +15,22 @@
<td>
发布第一版,V20240901
</td>
</tr>
<tr>
<td>
02
</td>
<td>
2024.09.01
</td>
<td><el-tag
type=
"
success"
effect=
"plain"
>
车型检验
</el-tag></td>
<td>
发布第一版,
V
20240901
</td>
<td><el-tag
type=
"
danger"
effect=
"plain"
>
车型审查
</el-tag></td>
<td>
发布第一版,
v
20240901
</td>
</tr>
<tr>
<td>
03
</td>
<td>
2024.09.01
</td>
<td><el-tag
type=
"
warning"
effect=
"plain"
>
体系审查
</el-tag></td>
<td>
发布第一版,
v
20240901
</td>
<td><el-tag
type=
"
success"
effect=
"plain"
>
车型检验
</el-tag></td>
<td>
发布第一版,
V
20240901
</td>
</tr>
</table>
<
div
class=
"desc"
>
检验标准:汽车整车信息安全技术要求
</div
>
<
!--
<div
class=
"desc"
>
检验标准:汽车整车信息安全技术要求
</div>
--
>
</div>
</
template
>
<
script
>
...
...
src/components/homeComponents/table2.vue
0 → 100644
View file @
028a3763
<
template
>
<div>
<table
class=
"chart-table"
>
<tr>
<th>
名称
</th>
<th>
更新时间
</th>
<th>
检验类型
</th>
<th>
内容详情
</th>
</tr>
<tr>
<td>
01
</td>
<td>
2024.09.01
</td>
<td><el-tag
type=
"warning"
effect=
"plain"
>
体系审查
</el-tag></td>
<td>
发布第一版,V20240901
</td>
</tr>
<tr>
<td>
02
</td>
<td>
2024.09.01
</td>
<td><el-tag
type=
"danger"
effect=
"plain"
>
车型审查
</el-tag></td>
<td>
发布第一版,v20240901
</td>
</tr>
<tr>
<td>
03
</td>
<td>
2024.09.01
</td>
<td><el-tag
type=
"success"
effect=
"plain"
>
车型检验
</el-tag></td>
<td>
发布第一版,V20240901
</td>
</tr>
</table>
<!--
<div
class=
"desc"
>
检验标准:汽车整车信息安全技术要求
</div>
-->
</div>
</
template
>
<
script
>
export
default
{
name
:
'card'
,
props
:
{
title
:
String
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.chart-table
{
width
:
100%
;
border-collapse
:
collapse
;
}
th
{
background
:
#2c89f2
;
color
:
#fff
;
}
td
{
font-size
:
14px
;
font-family
:
Microsoft
YaHei
,
Microsoft
YaHei-400
;
font-weight
:
400
;
text-align
:
LEFT
;
color
:
#b4dbfc
;
background
:
rgba
(
44
,
137
,
242
,
0
.15
);
}
th
,
td
{
padding
:
10px
;
text-align
:
center
;
border-top
:
rgba
(
255
,
255
,
255
,
0
.3
);
border-bottom
:
rgba
(
255
,
255
,
255
,
0
.3
);
}
::v-deep
{
.el-tag--plain
{
background
:
transparent
;
width
:
100px
;
height
:
30px
;
line-height
:
30px
;
font-size
:
14px
;
}
}
.desc
{
font-size
:
12px
;
font-family
:
Microsoft
YaHei
,
Microsoft
YaHei-400
;
font-weight
:
400
;
text-align
:
center
;
color
:
#ffffff
;
line-height
:
24px
;
margin-top
:
10px
;
}
</
style
>
src/views/index.vue
View file @
028a3763
...
...
@@ -38,12 +38,13 @@
</card>
</div>
<div
class=
"home-page-center"
>
<div
class=
"center-back"
></div>
<div
v-for=
"(item, key) in center"
:key=
"key"
:class=
"'center-item-' + (key + 1)"
>
<el-image
:src=
"item.img"
alt=
""
class=
"center-item-img"
/>
<el-image
:src=
"item.img"
alt=
""
class=
"center-item-img"
/>
<div
class=
"center-item-title"
>
{{
item
.
title
}}
</div>
...
...
@@ -53,13 +54,13 @@
</div>
</div>
<div
class=
"home-page-other"
>
<cardRight
title=
"
变更检验内容-重点
"
>
<cardRight
title=
"
信息安全变更的检验内容
"
>
<table-chart></table-chart>
</cardRight>
<cardRight
title=
"
检验内容变更方式占比
"
>
<
pieChart></pieChart
>
<cardRight
title=
"
软件升级变更的检验内容
"
>
<
table-chart-2></table-chart-2
>
</cardRight>
<cardRight
title=
"知识库"
>
<cardRight
title=
"
汽车安全场景
知识库"
>
<div
style=
"height: 24vh"
>
<planChart2></planChart2>
</div>
...
...
@@ -71,13 +72,15 @@
<div
v-for=
"(item, key) in bottom"
:key=
"key"
class=
"bottom-
card
"
class=
"bottom-
item
"
@
click=
"$router.push(item.link)"
>
<div
class=
"bottom-card"
>
<el-image
:src=
"item.img"
class=
"bottomd-card-img"
/>
<div
class=
"bottom-card-title"
>
{{
item
.
title
}}
</div>
</div>
</div>
</div>
</div>
...
...
@@ -90,6 +93,8 @@ import planChart from '../components/homeComponents/planChart.vue'
import
planChart2
from
'../components/homeComponents/planChart2.vue'
import
pieChart
from
'../components/homeComponents/pieChart.vue'
import
table
from
'../components/homeComponents/table.vue'
import
table2
from
'../components/homeComponents/table2.vue'
import
{
mapGetters
}
from
'vuex'
export
default
{
name
:
'HomePage'
,
components
:
{
...
...
@@ -98,7 +103,8 @@ export default {
cardRight
,
pieChart
,
planChart2
,
'table-chart'
:
table
'table-chart'
:
table
,
'table-chart-2'
:
table2
},
data
()
{
return
{
...
...
@@ -152,63 +158,102 @@ export default {
link
:
'/setting/standard'
,
img
:
require
(
'@/assets/images/home/bottom1.png'
)
},
{
title
:
'检测要点'
,
link
:
'/setting/standardPoint'
,
img
:
require
(
'@/assets/images/home/bottom2.png'
)
},
{
title
:
'实施细则'
,
link
:
'/setting/standardTerms'
,
img
:
require
(
'@/assets/images/home/bottom3.png'
)
},
{
title
:
'测试用例'
,
link
:
'/setting/standardTerms'
,
img
:
require
(
'@/assets/images/home/bottom4.png'
)
},
{
title
:
'检测方案'
,
link
:
'/plan/customized'
,
img
:
require
(
'@/assets/images/home/bottom5.png'
)
},
{
title
:
'内容评审'
,
link
:
'/review/review/createReview'
,
img
:
require
(
'@/assets/images/home/bottom6.png'
)
}
],
center
:
[
{
title
:
'数据抓包'
,
number
:
13
,
number
:
13
,
img
:
require
(
'@/assets/images/home/box1.png'
)
},
{
title
:
'访问控制'
,
number
:
9
,
number
:
9
,
img
:
require
(
'@/assets/images/home/box2.png'
)
},
{
title
:
'扫描漏洞'
,
number
:
9
,
number
:
9
,
img
:
require
(
'@/assets/images/home/box5.png'
)
},
{
title
:
'拒绝服务'
,
number
:
9
,
number
:
9
,
img
:
require
(
'@/assets/images/home/box4.png'
)
},
{
title
:
'非授权访问写入'
,
number
:
13
,
number
:
13
,
img
:
require
(
'@/assets/images/home/box3.png'
)
}
]
}
},
cumputed
:
{
...
mapGetters
([
'roles'
])
},
created
()
{},
mounted
()
{},
mounted
()
{
let
role
=
this
.
$store
.
state
.
user
.
roles
[
0
]
this
.
bottom
.
push
()
switch
(
role
)
{
case
'testing-institution'
:
this
.
bottom
=
this
.
bottom
.
concat
(
{
title
:
'检测方案'
,
link
:
'/plan/customized'
,
img
:
require
(
'@/assets/images/home/bottom5.png'
)
},
{
title
:
'内容评审'
,
link
:
'/review/review/createReview'
,
img
:
require
(
'@/assets/images/home/bottom6.png'
)
}
)
break
case
'government-department'
:
this
.
bottom
=
this
.
bottom
.
concat
({
title
:
'车企档案'
,
link
:
'/basic/archives?view=2'
,
img
:
require
(
'@/assets/images/home/bottom5.png'
)
})
break
case
'standard_change_review'
:
this
.
bottom
=
this
.
bottom
.
concat
(
{
title
:
'我的待审'
,
link
:
'/review/wait'
,
img
:
require
(
'@/assets/images/home/bottom5.png'
)
},
{
title
:
'我的已审'
,
link
:
'/review/already'
,
img
:
require
(
'@/assets/images/home/bottom6.png'
)
}
)
break
case
'admin'
:
this
.
bottom
=
this
.
bottom
.
concat
(
{
title
:
'车企档案'
,
link
:
'/basic/archives?view=2'
,
img
:
require
(
'@/assets/images/home/bottom5.png'
)
},
{
title
:
'权限管理'
,
link
:
'/system/role'
,
img
:
require
(
'@/assets/images/home/bottom6.png'
)
}
)
break
default
:
break
}
},
methods
:
{}
}
</
script
>
src/views/login.vue
View file @
028a3763
...
...
@@ -91,8 +91,8 @@ export default {
logoImg
:
logoImg
,
codeUrl
:
''
,
loginForm
:
{
username
:
'
admin
'
,
password
:
'
123456@a
'
,
username
:
''
,
password
:
''
,
rememberMe
:
false
,
code
:
''
,
uuid
:
''
...
...
src/views/plan/customized/detail.vue
View file @
028a3763
...
...
@@ -248,10 +248,10 @@ export default {
let
queryParams
=
{
inspectionTtem
:
this
.
inspectionItem
,
inspectionStandardId
:
this
.
task
.
inspectionStandardId
,
inspection
s
tandardName
:
this
.
task
.
inspectionStandardName
,
inspection
S
tandardName
:
this
.
task
.
inspectionStandardName
,
inspectCarCompanyName
:
this
.
task
.
inspectCarCompanyName
,
carModel
:
this
.
task
.
carModel
,
test
o
rganizationName
:
this
.
task
.
testOrganizationName
,
test
O
rganizationName
:
this
.
task
.
testOrganizationName
,
createTime
:
this
.
task
.
createTime
,
carExperimentRequest
:
{
regulationName
:
this
.
task
.
inspectionStandardName
,
...
...
src/views/plan/list/index.vue
View file @
028a3763
...
...
@@ -45,6 +45,14 @@
></right-toolbar>
</el-form-item> -->
</el-form>
<el-button
type=
"primary"
icon=
"el-icon-plus"
size=
"mini"
style=
"margin-bottom: 10px"
@
click=
"handleAdd"
>
定制方案
</el-button
>
<el-table
v-if=
"refreshTable"
v-loading=
"loading"
...
...
@@ -263,7 +271,11 @@ export default {
path
:
'/plan/customized?id='
+
id
})
},
handleAdd
()
{
this
.
$router
.
push
({
path
:
'/plan/customized'
})
},
getComponentSelect
()
{
componentSelect
({
pageNum
:
1
,
...
...
src/views/setting/template/index.vue
View file @
028a3763
...
...
@@ -95,7 +95,11 @@
:
file
-
list
=
"fileList"
>
<
el
-
button
size
=
"small"
type
=
"primary"
>
更新模板文件
<
/el-button
>
<
div
slot
=
"tip"
class
=
"el-upload__tip"
><
/div
>
<
div
slot
=
"tip"
class
=
"el-upload__tip"
>
<
div
v
-
if
=
"model.path"
>
<
el
-
link
:
href
=
"model.path"
>
{{
model
.
name
}}
<
/el-link
>
<
/div
>
<
/div
>
<
/el-upload
>
<
/el-form-item
>
<
el
-
form
-
item
label
=
"检验结论"
prop
=
"conclusion"
>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment