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
3c61b7b4
Commit
3c61b7b4
authored
Apr 09, 2024
by
jiaxu.yan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat: 增加开始任务选择场景
parent
7b7f99a0
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
208 additions
and
182 deletions
+208
-182
task.js
src/api/task/task.js
+26
-0
index.vue
src/views/informationBase/viewUseCaseLibrary/index.vue
+1
-1
index.vue
src/views/processing/carReview/vehicle-type/index.vue
+1
-68
dialog.vue
...views/processing/unprocessed-review/components/dialog.vue
+141
-56
index.vue
src/views/processing/unprocessed-review/index.vue
+38
-57
vue.config.js
vue.config.js
+1
-0
No files found.
src/api/task/task.js
View file @
3c61b7b4
...
@@ -217,6 +217,8 @@ export function geTaskCase(data) {
...
@@ -217,6 +217,8 @@ export function geTaskCase(data) {
data
data
})
})
}
}
/**
/**
*提交确认表单
*提交确认表单
*/
*/
...
@@ -229,4 +231,28 @@ export function taskImageSubmit(data) {
...
@@ -229,4 +231,28 @@ export function taskImageSubmit(data) {
}
}
/**
* 获取试验场景
* @param {*} data
* @returns
*/
export
function
getScenarioList
(
data
)
{
return
request
({
url
:
'/system/scenario/getScenarioList'
,
method
:
'post'
,
data
})
}
/**
* 获取试验场景下的测试用例
* @param {*} data
* @returns
*/
export
function
getCaseByScenario
(
data
)
{
return
request
({
url
:
'/system/testCase/getCaseByScenario'
,
method
:
'post'
,
data
})
}
src/views/informationBase/viewUseCaseLibrary/index.vue
View file @
3c61b7b4
...
@@ -83,7 +83,7 @@
...
@@ -83,7 +83,7 @@
<el-table-column
label=
"测试方法"
align=
"left"
sortable
prop=
"testType"
/>
<el-table-column
label=
"测试方法"
align=
"left"
sortable
prop=
"testType"
/>
<el-table-column
label=
"用例编号"
align=
"left"
prop=
"usecaseNo"
/>
<el-table-column
label=
"用例编号"
align=
"left"
prop=
"usecaseNo"
/>
<el-table-column
label=
"用例名称"
align=
"left"
prop=
"name"
/>
<el-table-column
label=
"用例名称"
align=
"left"
prop=
"name"
/>
<
el-table-column
label=
"工具"
align=
"left"
prop=
"tools"
/
>
<
!-- <el-table-column label="工具" align="left" prop="tools" /> --
>
<el-table-column
label=
"对应输入"
align=
"left"
prop=
"input"
>
<el-table-column
label=
"对应输入"
align=
"left"
prop=
"input"
>
<
template
slot-scope=
"scope"
>
<
template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
input
||
'--'
}}
</span>
<span>
{{
scope
.
row
.
input
||
'--'
}}
</span>
...
...
src/views/processing/carReview/vehicle-type/index.vue
View file @
3c61b7b4
...
@@ -233,42 +233,6 @@
...
@@ -233,42 +233,6 @@
</collapse-item>
</collapse-item>
</collapse>
</collapse>
</div>
</div>
<!--确定车型试验范围-->
<div
v-if=
"model.testScenarioList && model.testScenarioList.length > 0"
class=
"form-review-questionnaire"
>
<div
class=
"title-display"
>
<span
class=
"title-i"
></span>
<span
class=
"title-content"
>
确定车型试验范围
</span>
</div>
<div
class=
"img-item"
>
<div
class=
"img-label"
style=
"margin-top: 20px"
>
选择测试场景
<footer-button
style=
"width: 80px; height: 25px"
type=
"primary"
@
click=
"selectAll"
>
全部选择
</footer-button>
</div>
</div>
<!-- 测试场景 -->
<div
class=
"test-scenario-container"
>
<div
v-for=
"(item, index) in model.testScenarioList"
:key=
"index"
:class=
"{
'test-scenario': item.check === false,
'check-test-scenario': item.check === true
}"
@
click=
"handleTestScenario(item)"
>
<div>
{{ item.label }}
</div>
</div>
</div>
</div>
<!--签字确认-->
<!--签字确认-->
<div
class=
"form-signature-confirmation"
>
<div
class=
"form-signature-confirmation"
>
<div
class=
"title-display"
>
<div
class=
"title-display"
>
...
@@ -346,8 +310,7 @@ export default {
...
@@ -346,8 +310,7 @@ export default {
model
:
{
model
:
{
carReviewTask
:
{},
carReviewTask
:
{},
reviewSceneChangeTasks
:
{},
reviewSceneChangeTasks
:
{},
detailsList
:
[],
detailsList
:
[]
testScenarioList
:
[]
},
},
selectedScenario
:
[],
selectedScenario
:
[],
columns
:
[],
columns
:
[],
...
@@ -408,19 +371,6 @@ export default {
...
@@ -408,19 +371,6 @@ export default {
?
process
.
env
.
VUE_APP_IMAGE_API
+
imgs
[
1
]
?
process
.
env
.
VUE_APP_IMAGE_API
+
imgs
[
1
]
:
''
:
''
}
}
if
(
this
.
model
.
testScenarioList
&&
this
.
model
.
testScenarioList
.
length
>
0
)
{
this
.
model
.
testScenarioList
=
this
.
model
.
testScenarioList
.
map
(
({
id
,
testScenario
,
...
rest
})
=>
({
label
:
testScenario
,
value
:
parseInt
(
id
),
check
:
false
,
...
rest
})
)
}
}
else
{
}
else
{
this
.
$modal
.
msgError
(
res
.
msg
)
this
.
$modal
.
msgError
(
res
.
msg
)
}
}
...
@@ -454,15 +404,6 @@ export default {
...
@@ -454,15 +404,6 @@ export default {
],
],
taskId
:
this
.
taskId
taskId
:
this
.
taskId
}
}
formData
.
testScenarioList
=
this
.
selectedScenario
if
(
this
.
model
.
testScenarioList
&&
this
.
model
.
testScenarioList
.
length
>
0
&&
this
.
selectedScenario
.
length
===
0
)
{
this
.
$message
.
error
(
'请至少选择一个场景!'
)
return
}
carTaskSubmit
(
formData
).
then
(
res
=>
{
carTaskSubmit
(
formData
).
then
(
res
=>
{
if
(
res
.
code
===
200
)
{
if
(
res
.
code
===
200
)
{
this
.
$modal
.
msgSuccess
(
'确认提交成功'
)
this
.
$modal
.
msgSuccess
(
'确认提交成功'
)
...
@@ -493,14 +434,6 @@ export default {
...
@@ -493,14 +434,6 @@ export default {
},
},
closeAll
()
{
closeAll
()
{
this
.
activeNames
=
[]
this
.
activeNames
=
[]
},
// 全选
selectAll
()
{
this
.
model
.
testScenarioList
.
forEach
(
obj
=>
{
obj
.
check
=
true
})
this
.
selectedScenario
=
this
.
model
.
testScenarioList
.
map
(
obj
=>
{
return
obj
.
value
})
}
}
}
}
}
}
...
...
src/views/processing/unprocessed-review/components/dialog.vue
View file @
3c61b7b4
<
template
>
<
template
>
<el-dialog
<el-dialog
:visible
.
sync=
"dialogVisible"
:visible
.
sync=
"dialog
Manger.dialog
Visible"
title=
"
移交任务
"
title=
"
选择测试场景
"
width=
"
1200
"
width=
"
80%
"
append-to-body
append-to-body
destroy-on-close
destroy-on-close
:close-on-click-modal=
"false"
:close-on-click-modal=
"false"
:before-close=
"handleClose"
:before-close=
"handleClose"
>
>
<el-form
ref=
"form"
:model=
"model"
:rules=
"rules"
>
<el-form
v-loading=
"loading"
>
<el-form-item
label=
"接受人员"
prop=
"people"
>
<el-row
:gutter=
"20"
>
<el-cascader
v-model=
"model.people"
:options=
"options"
></el-cascader>
<el-col
:span=
"24"
>
</el-form-item>
<el-form-item
label=
"请选择测试场景(可多选)"
prop=
"testScenarioList"
>
<el-form-item
label=
"是否继续关注"
prop=
"isContinue"
>
<footer-button
<el-radio-group
v-model=
"model.isContinue"
>
style=
"width: 80px; height: 25px"
<el-radio
:label=
"3"
>
是
</el-radio>
type=
"primary"
<el-radio
:label=
"6"
>
否
</el-radio>
@
click=
"selectAll"
</el-radio-group>
>
</el-form-item>
全部选择
</footer-button>
<div
class=
"test-scenario-container"
>
<div
v-for=
"(item, index) in testScenarioList"
:key=
"index"
:class=
"
{
'test-scenario': item.check === false,
'check-test-scenario': item.check === true
}"
@click="handleTestScenario(item)"
>
<div>
{{
item
.
label
}}
</div>
</div>
</div>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-form>
<div
slot=
"footer"
>
<div
slot=
"footer"
>
<el-button
@
click=
"handleClose()"
>
取消
</el-button>
<el-button
@
click=
"handleClose()"
>
取消
</el-button>
<el-button
type=
"primary"
@
click=
"handle
Close()"
>
保存
</el-button>
<el-button
type=
"primary"
@
click=
"handle
Submit()"
>
开始
</el-button>
</div>
</div>
</el-dialog>
</el-dialog>
</
template
>
</
template
>
<
script
>
<
script
>
import
{
getCaseByScenario
,
getScenarioList
,
reviewTaskStart
}
from
'@/api/task/task'
import
{
FastTestProject
}
from
'@/api/graphql/client.graphql'
export
default
{
export
default
{
props
:
{
props
:
{
dialogVisible
:
{
dialogManger
:
{
default
:
false
,
default
:
()
=>
{
type
:
Boolean
return
{
dialogVisible
:
false
,
item
:
null
}
},
type
:
Object
}
}
},
},
data
()
{
data
()
{
return
{
return
{
options
:
[
model
:
{
{
scenarioNameList
:
[]
value
:
'总裁办'
,
},
label
:
'总裁办'
,
loading
:
false
,
children
:
[
testScenarioList
:
[]
{
}
value
:
'张小刚'
,
},
label
:
'张小刚'
watch
:
{
},
'dialogManger.dialogVisible'
(
newValue
)
{
{
if
(
newValue
)
{
value
:
'李晓红'
,
this
.
getScenario
()
label
:
'李晓红'
this
.
model
=
{
},
scenarioNameList
:
[]
{
value
:
'王小明'
,
label
:
'王小明'
},
{
value
:
'周小伟'
,
label
:
'周小伟'
}
]
},
{
value
:
'技术部'
,
label
:
'技术部'
},
{
value
:
'销售部'
,
label
:
'销售部'
}
}
],
model
:
{},
rules
:
{
people
:
[
{
required
:
true
,
message
:
'请选择接收人员'
,
trigger
:
'change'
}
],
isContinue
:
[
{
required
:
true
,
message
:
'请选择是否关注'
,
trigger
:
'change'
}
]
}
}
}
}
},
},
...
@@ -82,6 +84,89 @@ export default {
...
@@ -82,6 +84,89 @@ export default {
methods
:
{
methods
:
{
handleClose
()
{
handleClose
()
{
this
.
$emit
(
'close'
,
'123'
)
this
.
$emit
(
'close'
,
'123'
)
},
async
handleSubmit
()
{
this
.
loading
=
true
const
params
=
{
id
:
this
.
dialogManger
.
item
.
id
}
const
res
=
await
getCaseByScenario
(
this
.
model
)
if
(
res
.
code
===
200
)
{
const
resp
=
await
this
.
newFileTest
({
name
:
this
.
dialogManger
.
item
.
taskName
,
caseIdList
:
res
.
data
})
params
.
testSchemeId
=
resp
.
data
.
projectMutation
.
project
.
id
this
.
startTaskModel
(
params
)
}
},
/**
* 开始
* @param {*} params
*/
async
startTaskModel
(
params
)
{
const
res
=
await
reviewTaskStart
(
params
)
if
(
res
.
code
===
200
)
{
this
.
$message
.
success
(
'操作成功'
)
this
.
$emit
(
'submit'
)
this
.
loading
=
false
}
else
{
if
(
res
.
msg
)
{
this
.
$message
.
error
(
res
.
msg
)
this
.
loading
=
false
}
}
},
/**
* 对接车联网新建测试项目
*/
async
newFileTest
(
task
)
{
const
res
=
await
this
.
$apollo
.
mutate
({
// fetchPolicy: 'no-cache',
mutation
:
FastTestProject
,
variables
:
{
name
:
task
.
name
,
lawId
:
'law_items;106'
,
principalUserId
:
'user_items;2'
,
systemId
:
'system;1'
,
caseIdList
:
task
.
caseIdList
,
fileList
:
[
'file_management_items;2'
]
}
})
return
res
},
getScenario
()
{
getScenarioList
({}).
then
(
res
=>
{
console
.
log
(
res
)
this
.
testScenarioList
=
res
.
data
.
map
((
i
,
k
)
=>
{
return
{
label
:
i
,
value
:
k
,
check
:
false
}
})
})
},
handleTestScenario
(
item
)
{
if
(
this
.
model
.
scenarioNameList
.
includes
(
item
.
name
))
{
this
.
model
.
scenarioNameList
.
splice
(
this
.
model
.
scenarioNameList
.
indexOf
(
item
.
name
),
1
)
item
.
check
=
false
}
else
{
item
.
check
=
true
this
.
model
.
scenarioNameList
.
push
(
item
.
name
)
}
},
// 全选
selectAll
()
{
this
.
testScenarioList
.
forEach
(
obj
=>
{
obj
.
check
=
true
})
this
.
model
.
scenarioNameList
=
this
.
testScenarioList
.
map
(
obj
=>
{
return
obj
.
name
})
}
}
}
}
}
}
...
...
src/views/processing/unprocessed-review/index.vue
View file @
3c61b7b4
...
@@ -389,8 +389,12 @@
...
@@ -389,8 +389,12 @@
<empty-data
v-else
message=
"暂无数据"
></empty-data>
<empty-data
v-else
message=
"暂无数据"
></empty-data>
</div>
</div>
<task-dialog
<task-dialog
:dialog-visible=
"dialogVisible"
:dialog-manger=
"dialogManager"
@
close=
"closeDialog"
@
submit=
"
dialogManager.dialogVisible = false
loadData()
"
@
close=
"dialogManager.dialogVisible = false"
></task-dialog>
></task-dialog>
</page-standard>
</page-standard>
</template>
</template>
...
@@ -399,8 +403,12 @@ import page from '@/mixins/page'
...
@@ -399,8 +403,12 @@ import page from '@/mixins/page'
import
taskDialog
from
'./components/dialog'
import
taskDialog
from
'./components/dialog'
import
{
getHourDiff
}
from
'@/utils/diff'
import
{
getHourDiff
}
from
'@/utils/diff'
import
{
mapGetters
}
from
'vuex'
import
{
mapGetters
}
from
'vuex'
import
{
geTaskCase
,
reviewTaskStart
}
from
'@/api/task/task'
import
{
import
{
FastTestProject
}
from
'@/api/graphql/client.graphql'
getCaseByScenario
,
getScenarioList
,
reviewTaskStart
}
from
'@/api/task/task'
export
default
{
export
default
{
dicts
:
[
dicts
:
[
'inspection_item'
,
'inspection_item'
,
...
@@ -416,7 +424,11 @@ export default {
...
@@ -416,7 +424,11 @@ export default {
data
()
{
data
()
{
return
{
return
{
// 子任务内容跳转文字map
// 子任务内容跳转文字map
dialogVisible
:
false
,
dialogManager
:
{
dialogVisible
:
false
,
item
:
{}
},
listUrl
:
'/task/findPending'
,
listUrl
:
'/task/findPending'
,
queryParams
:
{
queryParams
:
{
taskStatus
:
''
,
taskStatus
:
''
,
...
@@ -463,36 +475,30 @@ export default {
...
@@ -463,36 +475,30 @@ export default {
* @param {} type 单项数据
* @param {} type 单项数据
*/
*/
async
startTask
(
item
)
{
async
startTask
(
item
)
{
this
.
$modal
if
(
item
.
nextSubTask
===
'trfis'
)
{
.
confirm
(
'是否确认开始?'
,
{
this
.
dialogManager
.
dialogVisible
=
true
type
:
'warning'
,
this
.
dialogManager
.
item
=
item
title
:
'提示'
,
}
else
{
closeOnClickModal
:
false
this
.
$modal
})
.
confirm
(
'是否确认开始?'
,
{
.
then
(
async
()
=>
{
type
:
'warning'
,
// if(item)
title
:
'提示'
,
console
.
log
(
item
)
closeOnClickModal
:
false
const
params
=
{
})
id
:
item
.
id
.
then
(
async
()
=>
{
}
const
params
=
{
if
(
item
.
nextSubTask
===
'trfis'
)
{
id
:
item
.
id
const
res
=
await
geTaskCase
({
modelTestId
:
item
.
modelTestTaskId
})
if
(
res
.
code
===
200
)
{
const
resp
=
await
this
.
newFileTest
({
name
:
item
.
taskName
,
caseIdList
:
res
.
data
})
params
.
testSchemeId
=
resp
.
data
.
projectMutation
.
project
.
id
this
.
startTaskModel
(
params
)
}
}
}
else
{
this
.
startTaskModel
(
params
)
this
.
startTaskModel
(
params
)
}
}
)
})
.
catch
(()
=>
{
})
.
catch
(()
=>
{})
}
},
},
/**
* 开始
* @param {*} params
*/
async
startTaskModel
(
params
)
{
async
startTaskModel
(
params
)
{
const
res
=
await
reviewTaskStart
(
params
)
const
res
=
await
reviewTaskStart
(
params
)
if
(
res
.
code
===
200
)
{
if
(
res
.
code
===
200
)
{
...
@@ -508,13 +514,6 @@ export default {
...
@@ -508,13 +514,6 @@ export default {
path
:
'/task/task-detail?id='
+
id
path
:
'/task/task-detail?id='
+
id
})
})
},
},
closeDialog
()
{
this
.
dialogVisible
=
false
},
// 打开移交任务弹窗
openTaskDialog
()
{
this
.
dialogVisible
=
true
},
// 体系审查
// 体系审查
handleSystemReviewTestContent
(
status
,
id
,
taskId
)
{
handleSystemReviewTestContent
(
status
,
id
,
taskId
)
{
switch
(
status
)
{
switch
(
status
)
{
...
@@ -571,24 +570,6 @@ export default {
...
@@ -571,24 +570,6 @@ export default {
})
})
}
}
},
},
/**
* 对接车联网新建测试项目
*/
async
newFileTest
(
task
)
{
const
res
=
await
this
.
$apollo
.
mutate
({
// fetchPolicy: 'no-cache',
mutation
:
FastTestProject
,
variables
:
{
name
:
task
.
name
,
lawId
:
'law_items;106'
,
principalUserId
:
'user_items;2'
,
systemId
:
'system;1'
,
caseIdList
:
task
.
caseIdList
,
fileList
:
[
'file_management_items;2'
]
}
})
return
res
},
// 车型测试
// 车型测试
handleCarTypeTestTaskContent
(
status
,
id
,
taskId
,
testSchemeId
)
{
handleCarTypeTestTaskContent
(
status
,
id
,
taskId
,
testSchemeId
)
{
switch
(
status
)
{
switch
(
status
)
{
...
...
vue.config.js
View file @
3c61b7b4
...
@@ -36,6 +36,7 @@ module.exports = {
...
@@ -36,6 +36,7 @@ module.exports = {
// detail: https://cli.vuejs.org/config/#devserver-proxy
// detail: https://cli.vuejs.org/config/#devserver-proxy
[
process
.
env
.
VUE_APP_BASE_API
]:
{
[
process
.
env
.
VUE_APP_BASE_API
]:
{
target
:
`http://49.232.167.247:22032`
,
target
:
`http://49.232.167.247:22032`
,
// target: `https://10.12.48.78/prod-api`,
changeOrigin
:
true
,
changeOrigin
:
true
,
pathRewrite
:
{
pathRewrite
:
{
[
'^'
+
process
.
env
.
VUE_APP_BASE_API
]:
''
[
'^'
+
process
.
env
.
VUE_APP_BASE_API
]:
''
...
...
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