Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
W
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
中汽测评-信息安全测评系统
web
Commits
56834dbc
Commit
56834dbc
authored
Jan 30, 2024
by
mzx
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
审查内容库管理页面完善,发起新任务页面websocket调试,测试矩阵页面开发
parent
4f03e36f
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
368 additions
and
26 deletions
+368
-26
vehicleModelDialog.vue
...s/setting/standardTerms/components/vehicleModelDialog.vue
+89
-0
index.vue
src/views/setting/standardTerms/index.vue
+92
-25
index.vue
src/views/setting/testMatrix/index.vue
+151
-0
index.vue
src/views/task/new/index.vue
+36
-1
No files found.
src/views/setting/standardTerms/components/vehicleModelDialog.vue
0 → 100644
View file @
56834dbc
<
template
>
<el-dialog
:visible
.
sync=
"dialogManger.dialogVisible"
:title=
"modelTitle"
width=
"1200"
append-to-body
destroy-on-close
:before-close=
"handleClose"
>
<el-table
v-loading=
"loading"
style=
"width: 100%; min-height: 50vh"
border
:scroll-x=
"'1500px'"
:default-sort=
"
{ prop: 'createTime', order: 'descending' }"
:data="tableData"
>
<el-table-column
type=
"index"
width=
"60"
label=
"序号"
align=
"center"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
$index
+
1
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"section"
label=
"测试场景"
min-width=
"200"
align=
"center"
>
</el-table-column>
<el-table-column
prop=
"require"
label=
"测试类型"
min-width=
"200"
align=
"center"
>
</el-table-column>
<el-table-column
prop=
"test"
label=
"用例编号"
min-width=
"200"
align=
"center"
>
</el-table-column>
<el-table-column
prop=
"test"
label=
"用例名称"
min-width=
"200"
align=
"center"
>
</el-table-column>
</el-table>
</el-dialog>
</template>
<
script
>
import
page
from
'@/mixins/page'
export
default
{
mixins
:
[
page
],
props
:
{
dialogManger
:
{
type
:
Object
,
default
:
()
=>
{
return
{
dialogVisible
:
false
,
source
:
{}
}
}
}
},
data
()
{
return
{
tableData
:
[]
}
},
computed
:
{
modelTitle
:
function
()
{
return
'检验内容'
}
},
created
()
{},
methods
:
{
handleClose
()
{
this
.
dialogManger
.
dialogVisible
=
false
}
}
}
</
script
>
<
style
scoped
></
style
>
src/views/setting/standardTerms/index.vue
View file @
56834dbc
...
@@ -87,14 +87,8 @@
...
@@ -87,14 +87,8 @@
></right-toolbar>
></right-toolbar>
</el-row>
</el-row>
<div
v-if=
"refreshTable && Number(queryParams.type) === 1"
>
{{
'体系审查'
}}
</div>
<div
v-if=
"refreshTable && Number(queryParams.type) === 2"
>
{{
'车型审查'
}}
</div>
<el-table
<el-table
v-if=
"refreshTable && Number(queryParams.type)
=
== 3"
v-if=
"refreshTable && Number(queryParams.type)
!
== 3"
v-loading=
"loading"
v-loading=
"loading"
style=
"width: 100%; min-height: 50vh"
style=
"width: 100%; min-height: 50vh"
border
border
...
@@ -122,24 +116,74 @@
...
@@ -122,24 +116,74 @@
>
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"
test
"
prop=
"
resultNO
"
label=
"
检验结果描述(符合)
"
label=
"
更新时间
"
min-width=
"200"
min-width=
"200"
align=
"center"
align=
"center"
>
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</span>
</
template
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"check"
label=
"操作"
label=
"检验结果描述(不符合)"
min-width=
"200"
align=
"left"
align=
"left"
min-width=
"160"
fixed=
"right"
class-name=
"fixed-width"
>
<
template
slot-scope=
"scope"
>
<el-button
v-hasPermi=
"['setting:standard:update']"
plain
size=
"mini"
type=
"text"
@
click=
"handleUpdate(scope.row)"
>
检验内容
</el-button
>
</
template
>
</el-table-column>
</el-table>
<el-table
v-if=
"refreshTable && Number(queryParams.type) === 3"
v-loading=
"loading"
style=
"width: 100%; min-height: 50vh"
border
:scroll-x=
"'1500px'"
:default-sort=
"{ prop: 'createTime', order: 'descending' }"
:data=
"tableData"
>
<el-table-column
type=
"index"
width=
"60"
label=
"序号"
align=
"center"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
$index
+
1
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"section"
label=
"标准章节"
min-width=
"200"
align=
"center"
>
</el-table-column>
<el-table-column
prop=
"require"
label=
"标准要求"
min-width=
"200"
align=
"center"
>
</el-table-column>
<el-table-column
prop=
"test"
label=
"标准测试方法"
min-width=
"200"
align=
"center"
>
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"resultNO"
prop=
"resultNO"
label=
"更新时间"
label=
"更新时间"
min-width=
"200"
min-width=
"200"
align=
"
left
"
align=
"
center
"
>
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</span>
<span>
{{
parseTime
(
scope
.
row
.
createTime
)
}}
</span>
...
@@ -158,15 +202,13 @@
...
@@ -158,15 +202,13 @@
plain
plain
size=
"mini"
size=
"mini"
type=
"text"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(3, scope.row)"
@
click=
"handleUpdate(scope.row)"
>
检验内容
</el-button
>
修改
</el-button
>
>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
<pagination
<pagination
v-if=
"queryParams.type > 1"
v-show=
"total > 0"
v-show=
"total > 0"
:total=
"total"
:total=
"total"
:page
.
sync=
"queryParams.page"
:page
.
sync=
"queryParams.page"
...
@@ -174,13 +216,21 @@
...
@@ -174,13 +216,21 @@
@
pagination=
"loadData"
@
pagination=
"loadData"
>
>
</pagination>
</pagination>
<vehiclemodel-dialog
:dialog-manger=
"vehicleModelDialogManger"
@
close=
"vehicleModelDialogManger.dialogVisible = false"
>
</vehiclemodel-dialog>
</page-standard-option>
</page-standard-option>
</template>
</template>
<
script
>
<
script
>
import
page
from
'@/mixins/page'
import
page
from
'@/mixins/page'
import
{
mapGetters
}
from
'vuex'
import
{
mapGetters
}
from
'vuex'
import
vehicleModelDialog
from
'./components/vehicleModelDialog'
export
default
{
export
default
{
components
:
{},
components
:
{
'vehiclemodel-dialog'
:
vehicleModelDialog
},
dicts
:
[
'sys_scene_type'
],
dicts
:
[
'sys_scene_type'
],
mixins
:
[
page
],
mixins
:
[
page
],
data
()
{
data
()
{
...
@@ -196,12 +246,17 @@ export default {
...
@@ -196,12 +246,17 @@ export default {
ask
:
'2'
,
ask
:
'2'
,
type
:
'3'
type
:
'3'
},
},
vehicleModelDialogManger
:
{
dialogVisible
:
false
,
refreshList
:
false
,
source
:
{}
},
refreshList
:
false
refreshList
:
false
}
}
},
},
computed
:
{
//
computed: {
...
mapGetters
([
'standard'
])
//
...mapGetters(['standard'])
},
//
},
watch
:
{
watch
:
{
refreshList
(
val
)
{
refreshList
(
val
)
{
if
(
val
)
{
if
(
val
)
{
...
@@ -209,15 +264,27 @@ export default {
...
@@ -209,15 +264,27 @@ export default {
this
.
refreshList
=
false
this
.
refreshList
=
false
}
}
},
},
standard
(
val
)
{
'vehicleModelDialogManger.refreshList'
(
val
)
{
if
(
val
)
{
if
(
val
)
{
console
.
log
(
val
)
this
.
loadData
()
this
.
vehicleModelDialogManger
.
refreshList
=
false
}
}
}
}
// standard(val) {
// if (val) {
// console.log(val)
// }
// }
},
},
methods
:
{
methods
:
{
handlePointUpdate
()
{},
handleUpdate
(
id
,
row
)
{
handleUpdate
()
{}
switch
(
id
)
{
case
3
:
this
.
vehicleModelDialogManger
.
dialogVisible
=
true
this
.
vehicleModelDialogManger
.
dialogEditId
=
row
break
}
}
}
}
}
}
</
script
>
</
script
>
...
...
src/views/setting/testMatrix/index.vue
0 → 100644
View file @
56834dbc
<
template
>
<page-standard>
<el-table
:data=
"tableData"
style=
"width: 100%"
border
@
cell-mouse-enter=
"cellMouseEnter"
@
cell-mouse-leave=
"cellMouseLeave"
>
<el-table-column
prop=
"test"
width=
"240"
align=
"center"
label=
"测试场景\测试类型"
/>
<el-table-column
prop=
"file"
align=
"center"
label=
"文件审核"
>
<template
slot-scope=
"scope"
>
<div
v-if=
"scope.row.file === '1'"
class=
"table-span-style"
>
{{
'√'
}}
</div>
</
template
>
</el-table-column>
<el-table-column
prop=
"missedScan"
align=
"center"
label=
"系统服务漏扫"
/>
<el-table-column
prop=
"portScanning"
align=
"center"
label=
"端口扫描"
/>
<el-table-column
prop=
"tampering"
align=
"center"
label=
"篡改伪造"
/>
<el-table-column
prop=
"fuzzing"
align=
"center"
label=
"模糊测试"
/>
<el-table-column
prop=
"fuzzing"
align=
"center"
label=
"重放攻击"
/>
<el-table-column
prop=
"fuzzing"
align=
"center"
label=
"非授权安装"
/>
<el-table-column
prop=
"fuzzing"
align=
"center"
label=
"非授权访问"
/>
<el-table-column
prop=
"fuzzing"
align=
"center"
label=
"非授权写入"
/>
<el-table-column
prop=
"fuzzing"
align=
"center"
label=
"防病毒测试"
/>
<el-table-column
prop=
"fuzzing"
align=
"center"
label=
"数据泄露"
/>
</el-table>
</page-standard>
</template>
<
script
>
export
default
{
name
:
'Index'
,
data
()
{
return
{
tableData
:
[
{
test
:
'TBOX-蜂窝以太网接口'
,
file
:
'1'
,
missedScan
:
''
,
portScanning
:
''
,
tampering
:
''
,
fuzzing
:
''
},
{
test
:
'WiFi AP接口'
,
file
:
''
,
missedScan
:
''
,
portScanning
:
''
,
tampering
:
''
,
fuzzing
:
''
},
{
test
:
'WiFi Client接口'
,
file
:
'1'
,
missedScan
:
''
,
portScanning
:
''
,
tampering
:
''
,
fuzzing
:
''
},
{
test
:
'充电以太网接口'
,
file
:
''
,
missedScan
:
''
,
portScanning
:
''
,
tampering
:
''
,
fuzzing
:
''
},
{
test
:
'CAN 诊断接口(OBD)'
,
file
:
''
,
missedScan
:
''
,
portScanning
:
''
,
tampering
:
''
,
fuzzing
:
''
},
{
test
:
'以太网诊断接口(OBD)'
,
file
:
''
,
missedScan
:
''
,
portScanning
:
''
,
tampering
:
''
,
fuzzing
:
''
},
{
test
:
'车载摄像头以太网接口(无线)'
,
file
:
''
,
missedScan
:
''
,
portScanning
:
''
,
tampering
:
''
,
fuzzing
:
''
},
{
test
:
'第三方应用软件'
,
file
:
''
,
missedScan
:
''
,
portScanning
:
''
,
tampering
:
''
,
fuzzing
:
''
}
],
formConfig
:
{
isNoHoverColor
:
''
}
}
},
methods
:
{
/** 鼠标悬浮时的操作 */
cellMouseEnter
(
e
,
row
,
cell
,
column
)
{
var
selrange
=
document
.
getElementsByClassName
(
row
.
id
)
console
.
log
(
'row'
,
row
)
console
.
log
(
'cell'
,
cell
)
console
.
log
(
'selrange'
,
selrange
)
if
(
this
.
formConfig
.
isNoHoverColor
)
{
cell
.
style
.
backgroundColor
=
''
for
(
var
i
=
0
;
i
<
selrange
.
length
;
i
++
)
{
selrange
[
i
].
style
.
backgroundColor
=
''
}
}
else
{
cell
.
style
.
backgroundColor
=
'pink'
for
(
var
i
=
0
;
i
<
selrange
.
length
;
i
++
)
{
selrange
[
i
].
style
.
backgroundColor
=
'#fec171'
}
}
},
/** 鼠标离开时的操作 */
cellMouseLeave
(
e
,
row
,
cell
)
{
var
selrange
=
document
.
getElementsByClassName
(
row
.
id
)
for
(
var
i
=
0
;
i
<
selrange
.
length
;
i
++
)
{
selrange
[
i
].
style
.
backgroundColor
=
''
}
}
}
}
</
script
>
<
style
scoped
>
::v-deep
.el-table__body
tr
:hover
>
td
{
background-color
:
#fec171
!important
;
}
.table-span-style
{
text-align
:
center
;
color
:
#1890ff
;
}
</
style
>
src/views/task/new/index.vue
View file @
56834dbc
...
@@ -50,8 +50,8 @@
...
@@ -50,8 +50,8 @@
<el-col
:span=
"8"
>
<el-col
:span=
"8"
>
<el-form-item
label=
"任务状态"
prop=
"taskStatus"
>
<el-form-item
label=
"任务状态"
prop=
"taskStatus"
>
<el-select
<el-select
disabled
v-model=
"model.taskStatus"
v-model=
"model.taskStatus"
disabled
style=
"width: 100%"
style=
"width: 100%"
placeholder=
"请选择"
placeholder=
"请选择"
clearable
clearable
...
@@ -421,6 +421,7 @@ export default {
...
@@ -421,6 +421,7 @@ export default {
],
],
data
()
{
data
()
{
return
{
return
{
websock
:
null
,
name
:
''
,
name
:
''
,
formType
:
'1'
,
formType
:
'1'
,
showTestScenario
:
false
,
showTestScenario
:
false
,
...
@@ -561,13 +562,47 @@ export default {
...
@@ -561,13 +562,47 @@ export default {
}
}
},
},
created
()
{
created
()
{
this
.
initWebSocket
()
this
.
getManufacturer
()
this
.
getManufacturer
()
this
.
$nextTick
(()
=>
{
this
.
$nextTick
(()
=>
{
this
.
leaderTop
()
this
.
leaderTop
()
this
.
rowDrop
()
this
.
rowDrop
()
})
})
},
},
destroyed
()
{
this
.
websock
.
close
()
// 离开路由之后断开websocket连接
},
methods
:
{
methods
:
{
initWebSocket
()
{
// 初始化weosocket
const
wsuri
=
'ws://49.232.167.247:22032/websocket/1'
this
.
websock
=
new
WebSocket
(
wsuri
)
this
.
websock
.
onmessage
=
this
.
websocketonmessage
// this.websock.onopen = this.websocketonopen
this
.
websock
.
onerror
=
this
.
websocketonerror
this
.
websock
.
onclose
=
this
.
websocketclose
},
// websocketonopen() {
// // 连接建立之后执行send方法发送数据
// const actions = { test: '12345' }
// this.websocketsend(JSON.stringify(actions))
// },
websocketonerror
()
{
// 连接建立失败重连
this
.
initWebSocket
()
},
websocketonmessage
(
e
)
{
// 数据接收
console
.
log
(
'后端返回数据'
,
e
)
},
// websocketsend(Data) {
// // 数据发送
// this.websock.send(Data)
// },
websocketclose
(
e
)
{
// 关闭
console
.
log
(
'断开连接'
,
e
)
},
/** 组长角色置顶逻辑 */
/** 组长角色置顶逻辑 */
leaderTop
()
{
leaderTop
()
{
if
(
this
.
tableData
.
length
!==
0
)
{
if
(
this
.
tableData
.
length
!==
0
)
{
...
...
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