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
b6dceeba
Commit
b6dceeba
authored
Mar 26, 2024
by
盖献康
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' of
http://gitlab.91isoft.com:90/car-test/web
into developer/gaixiankang
parents
b01ac001
ef1738fa
Changes
30
Hide whitespace changes
Inline
Side-by-side
Showing
30 changed files
with
598 additions
and
472 deletions
+598
-472
.env.development
.env.development
+1
-1
.env.production
.env.production
+3
-2
.env.staging
.env.staging
+2
-2
index.html
public/index.html
+1
-1
task.js
src/api/task/task.js
+12
-0
process.scss
src/assets/styles/process.scss
+7
-9
TaskStandard.vue
src/components/Page/TaskStandard.vue
+2
-6
useCaseRisk.vue
src/views/echartHome/useCaseRisk.vue
+1
-1
index.vue
src/views/index.vue
+2
-2
index.vue
src/views/processing/carReview/source-record/index.vue
+9
-7
index.vue
src/views/processing/carReview/vehicle-type/index.vue
+33
-13
companyFile.vue
...ing/carReview/write-check-form/components/companyFile.vue
+0
-3
previewView.vue
...ing/carReview/write-check-form/components/previewView.vue
+9
-5
index.vue
src/views/processing/carReview/write-check-form/index.vue
+186
-134
index.vue
src/views/processing/carTest/confirmation-test/index.vue
+86
-116
index.vue
src/views/processing/carTest/execution-test-plan/index.vue
+3
-3
index.vue
src/views/processing/carTest/review-form/index.vue
+2
-3
dialog.vue
src/views/processing/fileLibrary/components/dialog.vue
+0
-3
index.vue
src/views/processing/fileLibrary/index.vue
+1
-0
index.vue
src/views/processing/systemReview/source-record/index.vue
+9
-7
companyFile.vue
.../systemReview/write-check-form/components/companyFile.vue
+0
-3
previewView.vue
.../systemReview/write-check-form/components/previewView.vue
+9
-5
index.vue
src/views/processing/systemReview/write-check-form/index.vue
+208
-137
index.vue
src/views/processing/unprocessed-review/index.vue
+1
-1
documentReviewDialog.vue
...setting/standardTerms/components/documentReviewDialog.vue
+1
-1
vehicleModelDialog.vue
...s/setting/standardTerms/components/vehicleModelDialog.vue
+1
-1
index.vue
src/views/setting/testMatrix/useCaseDetails/index.vue
+1
-2
authUser.vue
src/views/system/role/authUser.vue
+4
-0
index.vue
src/views/system/role/index.vue
+2
-2
vue.config.js
vue.config.js
+2
-2
No files found.
.env.development
View file @
b6dceeba
# 页面标题
VUE_APP_TITLE =
安全信息
检测平台
VUE_APP_TITLE =
周期性
检测平台
# 开发环境配置
ENV = 'development'
...
...
.env.production
View file @
b6dceeba
...
...
@@ -4,10 +4,11 @@ VUE_APP_TITLE = 周期性检测平台
# 生产环境配置
ENV = 'production'
# 中汽研安全检测平台管理系统/生产环境
VUE_APP_BASE_API = '/prod-api'
# 图片服务器地址
VUE_APP_IMAGE_API ='
/
'
VUE_APP_IMAGE_API ='
https://10.12.48.78
'
VUE_APP_CLIENT_API = 'http
://10.12.48.78:8090
'
VUE_APP_CLIENT_API = 'http
s://10.12.48.78/vvmpapi
'
.env.staging
View file @
b6dceeba
# 页面标题
VUE_APP_TITLE =
安全信息
检测平台
VUE_APP_TITLE =
周期性
检测平台
# 开发环境配置
ENV = 'staging'
...
...
@@ -9,4 +9,4 @@ VUE_APP_BASE_API = 'http://49.232.167.247:22032'
# 图片服务器地址
VUE_APP_IMAGE_API = 'http://49.232.167.247:22037'
VUE_APP_CLIENT_API = 'http
://10.12.48.78:8090
'
VUE_APP_CLIENT_API = 'http
s://10.12.48.78/vvmpapi
'
public/index.html
View file @
b6dceeba
...
...
@@ -10,7 +10,7 @@
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"
>
<link
rel=
"icon"
href=
"<%= BASE_URL %>favicon.ico"
>
<!-- <link href="https://unpkg.com/tailwindcss@^2/dist/tailwind.min.css" rel="stylesheet"> -->
<script
src=
"https://lf1-cdn-tos.bytegoofy.com/obj/iconpark/icons_31435_85.f03f7ada23edcf4cd72e61338ed55693
.js"
></script>
<script
src=
"https://lf1-cdn-tos.bytegoofy.com/obj/iconpark/icons_31435_86.9b2d26764ccec5f05296d7ffca18aa56
.js"
></script>
<title><
%=
webpackConfig
.
name
%
></title>
<!--[if lt IE 11]>
<script>window.location.href = '/html/ie.html';</script><![endif]-->
...
...
src/api/task/task.js
View file @
b6dceeba
...
...
@@ -217,4 +217,16 @@ export function geTaskCase(data) {
data
})
}
/**
*提交确认表单
*/
export
function
taskImageSubmit
(
data
)
{
return
request
({
url
:
'/car/test/task/submit'
,
method
:
'post'
,
data
})
}
src/assets/styles/process.scss
View file @
b6dceeba
...
...
@@ -92,7 +92,7 @@
width
:
calc
(
100%
-
100px
);
}
.standard-title
{
width
:
calc
(
100%
-
1
0px
);
width
:
calc
(
70%
-
4
0px
);
overflow
:
hidden
;
text-overflow
:
ellipsis
;
white-space
:
nowrap
;
...
...
@@ -709,15 +709,13 @@
width
:
120px
!
important
;
// text-align: center !important;
}
.passed
{
.el-form-item__label
{
margin-left
:
-10px
;
}
}
.el-progress
{
.el-progress
{
display
:
flex
;
}
.empty-message
{
text-align
:
center
;
.empty-message
{
margin
:
0
10px
;
display
:
flex
;
flex-flow
:
column
;
align-items
:
center
;
color
:
#ccc
;
}
src/components/Page/TaskStandard.vue
View file @
b6dceeba
...
...
@@ -36,11 +36,7 @@ export default {
},
methods
:
{
goBack
()
{
// 获取当前路由信息
const
currentRoute
=
this
.
$router
.
currentRoute
// 获取来源页面的路由信息
const
fromRoute
=
currentRoute
.
from
console
.
log
(
currentRoute
)
this
.
$router
.
back
()
}
}
}
...
...
@@ -48,7 +44,7 @@ export default {
<
style
lang=
"scss"
scoped
>
.page-data
{
padding
:
0
24px
;
padding-bottom
:
24px
;
padding-bottom
:
24px
;
}
.card-box
{
...
...
src/views/echartHome/useCaseRisk.vue
View file @
b6dceeba
...
...
@@ -19,7 +19,7 @@ export default {
// 3.配置数据
const
option
=
{
title
:
{
text
:
'
任务保密等级占比
'
,
text
:
'
用例风险程度概览
'
,
left
:
'left'
,
textStyle
:
{
color
:
'#606266'
,
...
...
src/views/index.vue
View file @
b6dceeba
...
...
@@ -104,7 +104,7 @@
size=
"36"
></iconpark-icon>
</div>
<span>
已
完成 :43个
</span>
<span>
未
完成 :43个
</span>
<div>
<el-progress
:percentage=
"40"
...
...
@@ -205,7 +205,7 @@
<el-row>
<el-col
:span=
"24"
>
<div
class=
"cardStyle"
style=
"height: 500px"
>
<div
class=
"cardTitle"
>
任务完成情况占比
</div>
<div
class=
"cardTitle"
>
参与任务情况
</div>
<div
style=
"
display: flex;
...
...
src/views/processing/carReview/source-record/index.vue
View file @
b6dceeba
...
...
@@ -212,13 +212,15 @@
<div
v-else
>
__
</div>
</td>
<td
align=
"center"
>
<div
v-if=
"
reviewDetail.result && reviewDetail.result.fileName
"
>
《
{{
reviewDetail
.
result
.
fileName
}}
》
{{
reviewDetail
.
result
.
catalogue
}}
<div
v-if=
"reviewDetail.result"
>
<div
v-if=
"reviewDetail.result.fileList"
>
<template
v-for=
"i in reviewDetail.result.fileList"
>
《
{{
i
.
fileName
}}
》
{{
i
.
catalogue
}}
</
template
>
</div>
<div
v-if=
"reviewDetail.result.comment"
>
{{ reviewDetail.result.comment }}
</div>
</div>
<div
v-else
>
__
</div>
</td>
...
...
src/views/processing/carReview/vehicle-type/index.vue
View file @
b6dceeba
...
...
@@ -191,18 +191,21 @@
<tr
:key=
"reviewDetailKey"
>
<td
align=
"center"
>
{{
reviewDetail
.
text
}}
</td>
<td
align=
"center"
class=
"investigate-result"
>
<el-tag
v-if=
"reviewDetail.result.passed === 1"
size=
"medium"
type=
"success"
>
符合
</el-tag
>
<el-tag
v-if=
"reviewDetail.result.passed === 0"
size=
"medium"
type=
"danger"
>
不符合
</el-tag
>
<div
v-if=
"reviewDetail.result"
>
<el-tag
v-if=
"reviewDetail.result.passed === 1"
size=
"medium"
type=
"success"
>
符合
</el-tag
>
<el-tag
v-if=
"reviewDetail.result.passed === 0"
size=
"medium"
type=
"warning"
>
不符合
</el-tag
>
</div>
<div
v-else
>
__
</div>
</td>
<td
align=
"center"
class=
"written-by"
>
{{
...
...
@@ -230,7 +233,16 @@
<span
class=
"title-content"
>
确定车型试验范围
</span>
</div>
<div
class=
"img-item"
>
<div
class=
"img-label"
style=
"margin-top: 20px"
>
选择测试场景
</div>
<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"
>
...
...
@@ -456,6 +468,14 @@ export default {
},
closeAll
()
{
this
.
activeNames
=
[]
},
// 全选
selectAll
()
{
this
.
model
.
testScenarioList
.
forEach
(
obj
=>
{
obj
.
check
=
true
})
this
.
selectedScenario
=
this
.
model
.
testScenarioList
.
map
(
obj
=>
{
return
obj
.
value
})
}
}
}
...
...
src/views/processing/carReview/write-check-form/components/companyFile.vue
View file @
b6dceeba
...
...
@@ -129,9 +129,6 @@ export default {
],
identifyNumber
:
[
{
required
:
true
,
message
:
'请输入文件识别号'
,
trigger
:
'blur'
}
],
photo
:
[
{
required
:
true
,
message
:
'请选择文件照片'
,
trigger
:
'change'
}
]
},
model
:
this
.
$modelDataSource
({
...
...
src/views/processing/carReview/write-check-form/components/previewView.vue
View file @
b6dceeba
...
...
@@ -99,11 +99,15 @@
<div
v-else
>
__
</div>
</td>
<td
align=
"center"
>
<div
v-if=
"reviewDetail.result && reviewDetail.result.fileName"
>
《
{{
reviewDetail
.
result
.
fileName
}}
》
{{
reviewDetail
.
result
.
catalogue
}}
<div
v-if=
"reviewDetail.result"
>
<div
v-if=
"reviewDetail.result.fileList"
>
<template
v-for=
"i in reviewDetail.result.fileList"
>
《
{{
i
.
fileName
}}
》
{{
i
.
catalogue
}}
</
template
>
</div>
<div
v-if=
"reviewDetail.result.comment"
>
{{ reviewDetail.result.comment }}
</div>
</div>
<div
v-else
>
__
</div>
</td>
...
...
src/views/processing/carReview/write-check-form/index.vue
View file @
b6dceeba
...
...
@@ -9,6 +9,13 @@
>
预览表单
</header-button>
<header-button
v-if=
"model.carReviewTask.leaderId == userId"
type=
"default"
icon=
"check"
@
click=
"submitFrom()"
>
提交表单
</header-button
>
<header-button
icon=
"arrow-left"
type=
"no-line"
@
click=
"goBack"
>
返回
</header-button>
...
...
@@ -214,54 +221,107 @@
</el-radio-group>
</el-form-item>
<el-form-item
class=
"right-content-item"
label=
"相关记录"
>
<div
style=
"display: flex; flex-flow: column"
>
<el-row
v-for=
"(file, key) in form.fileList"
:key=
"key"
>
<el-col
:span=
"8"
>
<div>
<el-form-item
prop=
"fileName"
label-suffix=
" "
label=
"文件名称"
>
<el-autocomplete
v-model=
"file.fileName"
style=
"width: 100%"
:fetch-suggestions=
"querySearch"
placeholder=
"请输入文件名称"
@
select=
"
e => {
querySelect(file, e)
}
"
@
input=
"
e => {
queryInput(file, e)
}
"
></el-autocomplete>
</el-form-item>
</div>
</el-col>
<el-col
:span=
"8"
:offset=
"1"
>
<div>
<el-form-item
prop=
"catalogue"
label-suffix=
" "
label=
"章节条目或范围"
>
<el-input
v-model=
"file.catalogue"
placeholder=
"请输入具体章节条目或范围"
/>
</el-form-item>
</div>
</el-col>
<el-col
:span=
"1"
:offset=
"1"
>
<el-button
type=
"danger"
plain
icon=
"el-icon-delete"
size=
"mini"
style=
"margin-top: 27px"
@
click=
"form.fileList.splice(key, 1)"
></el-button>
</el-col>
<el-col
:span=
"24"
>
<company-file
v-show=
"file.show"
:enterprise-name=
"model.carReviewTask.enterpriseName"
:file-name=
"file.fileName"
@
fileNameUpdate=
"
name => {
file.fileName = name
}
"
@
handleUpdate=
"
e => {
handleFileUpdate(file, e)
}
"
@
handleSave=
"
e => {
handleFileSave(file, e)
}
"
></company-file>
</el-col>
</el-row>
<el-button
class=
"add-number"
icon=
"el-icon-circle-plus-outline"
@
click=
"handleAddFile()"
>
添加文件
</el-button
>
</div>
<el-row>
<el-col
:span=
"8"
>
<div>
<el-form-item
prop=
"fileName"
label-suffix=
" "
label=
"文件名称"
>
<el-autocomplete
v-model=
"form.fileName"
style=
"width: 100%"
:fetch-suggestions=
"querySearch"
placeholder=
"请输入文件名称"
@
select=
"querySelect"
></el-autocomplete>
</el-form-item>
</div>
</el-col>
<el-col
:span=
"8"
:offset=
"1"
>
<div>
<el-form-item
prop=
"catalogue"
label-suffix=
" "
label=
"章节条目或范围"
>
<el-input
v-model=
"form.catalogue"
placeholder=
"请输入具体章节条目或范围"
/>
</el-form-item>
</div>
<el-col
:span=
"24"
>
<el-form-item
prop=
"comment"
label-suffix=
" "
label=
"备注信息"
>
<el-input
v-model=
"form.comment"
placeholder=
"请输入备注信息"
type=
"textarea"
:autosize=
"{ minRows: 4, maxRows: 4 }"
clearable
/>
</el-form-item>
</el-col>
</el-row>
<!-- //车企文件信息 -->
</el-form-item>
<company-file
v-show=
"formManger.show"
style=
"margin-left: 125px"
:enterprise-name=
"model.carReviewTask.enterpriseName"
:file-name=
"form.fileName"
@
fileNameUpdate=
"
name => {
form.fileName = name
}
"
@
handleUpdate=
"handleFileUpdate"
@
handleSave=
"handleFileSave"
></company-file>
</el-form>
</div>
</div>
...
...
@@ -277,13 +337,6 @@
>
保存当前条目
</footer-button>
<footer-button
v-if=
"model.carReviewTask.leaderId == userId"
type=
"primary"
icon=
"check"
@
click=
"submitFrom()"
>
提交表单
</footer-button
>
</div>
</div>
</task-standard>
...
...
@@ -339,18 +392,16 @@ export default {
passed
:
''
,
reviewDetailsId
:
''
,
taskId
:
''
,
fileName
:
''
,
catalogue
:
''
,
reviewEnterpriseArchiveId
:
''
comment
:
''
,
fileList
:
[]
},
task
:
{},
oldForm
:
{
passed
:
''
,
reviewDetailsId
:
''
,
taskId
:
''
,
fileName
:
''
,
catalogue
:
''
,
reviewEnterpriseArchiveId
:
''
comment
:
''
,
fileList
:
[]
},
model
:
{
carReviewTask
:
{},
...
...
@@ -361,34 +412,12 @@ export default {
activeModel
:
0
,
checked
:
false
,
detailsList
:
[],
rules
:
{
passed
:
[
{
required
:
true
,
message
:
'请选择审查结果'
,
trigger
:
'blur'
}
],
fileName
:
[
{
required
:
true
,
message
:
'请输入文件名称'
,
trigger
:
[
'change'
]
}
],
catalogue
:
[
{
required
:
true
,
message
:
'请输入具体章节条目或范围'
,
trigger
:
'blur'
}
]
},
rules
:
{},
changeTask
:
[],
changeTaskDetails
:
[],
value1
:
''
,
taskId
:
''
,
options
:
[],
formManger
:
{
show
:
false
,
fileName
:
''
},
fileModel
:
this
.
$modelDataSource
({
url
:
'/review/enterprise/archive'
,
dataKey
:
'model'
,
...
...
@@ -396,7 +425,6 @@ export default {
id
:
0
}
}),
isFileUpdate
:
false
,
loading
:
false
}
},
...
...
@@ -413,23 +441,6 @@ export default {
...
mapGetters
([
'name'
,
'companyFiles'
,
'userId'
])
},
watch
:
{
'form.fileName'
:
function
(
newValue
)
{
if
(
newValue
)
{
const
files
=
this
.
companyFiles
const
query
=
files
.
filter
(
this
.
createFilter
(
newValue
))
if
(
query
.
length
===
0
)
{
this
.
formManger
.
show
=
true
this
.
isFileUpdate
=
true
this
.
formManger
.
fileName
=
newValue
}
else
{
this
.
isFileUpdate
=
false
this
.
formManger
.
show
=
false
}
}
else
{
this
.
isFileUpdate
=
false
this
.
formManger
.
show
=
false
}
},
checked
(
newV
)
{
if
(
newV
)
{
this
.
detailsList
=
this
.
model
.
detailsList
.
filter
(
item
=>
{
...
...
@@ -454,23 +465,46 @@ export default {
/**
* 企业文件保存回调
*/
handleFileSave
(
element
)
{
this
.
form
.
reviewEnterpriseArchiveId
=
String
(
element
)
this
.
isFileUpdate
=
false
this
.
formManger
.
show
=
false
console
.
log
(
'企业文件保存回调'
)
handleFileSave
(
file
,
element
)
{
file
.
id
=
element
file
.
isFileUpdate
=
false
file
.
show
=
false
this
.
$forceUpdate
(
)
},
/**
* 企业文件表单内容修改回调
* @param {*} element 返回值
*/
handleFileUpdate
(
element
)
{
this
.
isFileUpdate
=
element
handleFileUpdate
(
file
,
element
)
{
file
.
isFileUpdate
=
element
console
.
log
(
'企业文件表单内容修改回调'
)
},
querySelect
(
e
)
{
this
.
form
.
reviewEnterpriseArchiveId
=
e
.
id
console
.
log
(
'企业文件筛选'
+
e
.
id
)
handleAddFile
()
{
this
.
form
.
fileList
.
push
({
fileName
:
''
,
catalogue
:
''
,
id
:
''
})
},
querySelect
(
file
,
e
)
{
file
.
id
=
e
.
id
},
queryInput
(
file
,
newValue
)
{
if
(
newValue
)
{
const
files
=
this
.
companyFiles
const
query
=
files
.
filter
(
this
.
createFilter
(
newValue
))
if
(
query
.
length
===
0
)
{
file
.
show
=
true
file
.
isFileUpdate
=
true
file
.
fileName
=
newValue
}
else
{
file
.
isFileUpdate
=
false
file
.
show
=
false
}
}
else
{
file
.
isFileUpdate
=
false
file
.
show
=
false
}
},
querySearch
(
queryString
,
cb
)
{
const
files
=
this
.
companyFiles
...
...
@@ -583,16 +617,35 @@ export default {
* @param item 圆圈对象
*/
changeStep
(
index
)
{
if
(
this
.
isAllPropertiesEqual
()
&&
!
this
.
isFileUpdate
)
{
if
(
this
.
isAllPropertiesEqual
()
&&
!
this
.
allPropertiesCheck
(
this
.
form
.
fileList
,
'isFileUpdate'
)
)
{
this
.
handleCircle
(
index
)
}
else
{
this
.
$message
.
error
(
'您有未保存内容,请点击保存按钮'
)
}
},
// 遍历数组中的对象判断某一属性的数值是否为true
allPropertiesCheck
(
obj
,
key
)
{
if
(
obj
[
key
]
!==
''
&&
typeof
obj
[
key
]
!==
'undefined'
&&
obj
[
key
])
{
return
true
}
return
false
},
/**
* 判断数组中对象的属性是否全部为空
* @param obj
* @returns {boolean}
*/
isAllPropertiesEqual
()
{
for
(
var
key
in
this
.
form
)
{
if
(
this
.
form
[
key
]
!==
this
.
oldForm
[
key
])
{
return
false
if
(
key
!==
'isFileUpdate'
)
{
if
(
JSON
.
stringify
(
this
.
form
[
key
])
!==
JSON
.
stringify
(
this
.
oldForm
[
key
])
)
{
return
false
}
}
}
return
true
...
...
@@ -610,36 +663,30 @@ export default {
passed
:
this
.
taskModel
.
result
.
passed
,
reviewDetailsId
:
this
.
taskModel
.
id
,
taskId
:
this
.
taskId
,
fileName
:
this
.
taskModel
.
result
.
fileName
,
catalogue
:
this
.
taskModel
.
result
.
catalogue
,
reviewEnterpriseArchiveId
:
this
.
taskModel
.
result
.
reviewEnterpriseArchiveId
comment
:
this
.
taskModel
.
result
.
comment
,
fileList
:
this
.
taskModel
.
result
.
fileList
}
this
.
oldForm
=
{
passed
:
this
.
taskModel
.
result
.
passed
,
reviewDetailsId
:
this
.
taskModel
.
id
,
taskId
:
this
.
taskId
,
fileName
:
this
.
taskModel
.
result
.
fileName
,
catalogue
:
this
.
taskModel
.
result
.
catalogue
,
reviewEnterpriseArchiveId
:
this
.
taskModel
.
result
.
reviewEnterpriseArchiveId
comment
:
this
.
taskModel
.
result
.
comment
,
fileList
:
this
.
taskModel
.
result
.
fileList
}
}
else
{
this
.
form
=
{
passed
:
''
,
reviewDetailsId
:
this
.
taskModel
.
id
,
taskId
:
this
.
taskId
,
fileName
:
''
,
catalogue
:
''
,
reviewEnterpriseArchiveId
:
''
comment
:
''
,
fileList
:
[]
}
this
.
oldForm
=
{
passed
:
''
,
reviewDetailsId
:
this
.
taskModel
.
id
,
taskId
:
this
.
taskId
,
fileName
:
''
,
catalogue
:
''
,
reviewEnterpriseArchiveId
:
''
comment
:
''
,
fileList
:
[]
}
}
this
.
$nextTick
(()
=>
{
...
...
@@ -661,23 +708,28 @@ export default {
submitQuestionnaire
(
type
)
{
this
.
$refs
.
form
.
validate
(
valid
=>
{
if
(
valid
)
{
if
(
!
this
.
isFileUpdate
)
{
if
(
!
this
.
allPropertiesCheck
(
this
.
form
.
fileList
,
'isFileUpdate'
)
)
{
// 根据公司文件和文件名获取特定项目项,并据此更新表单中的审核企业档案ID
const
files
=
this
.
companyFiles
// 获取公司文件列表
const
fileName
=
this
.
form
.
fileName
// 获取表单中填写的文件名
// 根据文件名在公司文件列表中查找对应项目项
const
item
=
this
.
getProjectByName
(
files
,
fileName
)
if
(
item
)
{
this
.
form
.
reviewEnterpriseArchiveId
=
item
.
id
// 找到项目项则更新表单的审核企业档案ID
}
else
{
this
.
form
.
reviewEnterpriseArchiveId
=
null
// 未找到则将审核企业档案ID设为null
}
this
.
form
.
fileList
.
map
(
file
=>
{
const
fileName
=
file
.
fileName
// 获取表单中填写的文件名
// 根据文件名在公司文件列表中查找对应项目项
const
item
=
this
.
getProjectByName
(
files
,
fileName
)
if
(
item
)
{
file
.
id
=
item
.
id
// 找到项目项则更新表单的审核企业档案ID
}
else
{
file
.
id
=
null
// 未找到则将审核企业档案ID设为null
}
})
reviewDetailsSubmit
(
this
.
form
).
then
(
async
res
=>
{
if
(
res
.
code
===
200
)
{
await
this
.
getTask
()
if
(
this
.
checked
)
{
this
.
handleCircle
(
0
)
}
this
.
form
.
fileList
.
map
(
i
=>
{
i
.
isFileUpdate
=
false
})
this
.
oldForm
=
this
.
form
this
.
$modal
.
msgSuccess
(
'保存当前条目成功'
)
this
.
$nextTick
(()
=>
{
...
...
src/views/processing/carTest/confirmation-test/index.vue
View file @
b6dceeba
...
...
@@ -15,7 +15,7 @@
<div
class=
"task-item"
>
<span
class=
"task-label"
>
任务编号:
</span>
<span
class=
"task-content"
>
{{
model
.
carReviewT
ask
.
taskNo
}}
{{
t
ask
.
taskNo
}}
</span>
</div>
<div
class=
"task-item"
>
...
...
@@ -30,17 +30,12 @@
{{
task
.
entrustedUnit
}}
</span>
</div>
<div
class=
"task-item"
>
<span
class=
"task-label"
>
任务状态:
</span>
<span
class=
"task-content"
>
{{
getDictData
(
dict
.
type
.
test_cartype_type
,
model
.
carReviewTask
.
taskStatus
)
}}
</span>
</div>
<!--
<div
class=
"task-item"
>
-->
<!--
<span
class=
"task-label"
>
任务状态:
</span>
-->
<!--
<span
class=
"task-content"
>
-->
<!--
{{
getDictData
(
dict
.
type
.
task_test_status
,
task
.
taskStatus
)
}}
-->
<!--
</span>
-->
<!--
</div>
-->
</div>
<div
class=
"task-body"
>
<!--card统计值-->
...
...
@@ -131,46 +126,58 @@
<col
style=
"width: 100px"
/>
<thead>
<tr>
<th>
章节号
</th>
<th
style=
"width: 100px"
>
章节号
</th>
<th>
标准技术要求
</th>
<th>
标准测试方法
</th>
<th>
测试场景
</th>
<th>
测试类型
</th>
<th>
用例编号
</th>
<th>
测试结果
</th>
<!--
<th>
用例名称
</th>
-->
<!--
<th>
工具
</th>
-->
<!--
<th>
对应输入
</th>
-->
<!--
<th
style=
"width: 370px"
>
测试用例
</th>
-->
</tr>
</thead>
<tbody>
<!-- 循环遍历 keyPointList -->
<template
v-for=
"(i, PointIndex) in tableData.keyPointList"
>
<template
v-for=
"(i, PointIndex) in tableData"
>
<tr
:key=
"'PointIndex1' + PointIndex"
>
<td
align=
"center"
:rowspan=
"getRows(i)"
>
{{
'7.1.1'
}}
<td
align=
"center"
:rowspan=
"getRows
3
(i)"
>
{{
i
.
chapter
}}
</td>
<td
align=
"center"
:rowspan=
"getRows(i)"
>
<td
align=
"center"
:rowspan=
"getRows
3
(i)"
>
{{
i
.
text
}}
</td>
<td
align=
"center"
:rowspan=
"getRows(i)"
>
{{
i
.
te
xt
}}
<td
align=
"center"
:rowspan=
"getRows
3
(i)"
>
{{
i
.
te
stMethod
}}
</td>
</tr>
<!-- 循环遍历 reviewDetailsList -->
<template
v-for=
"(v, reviewDetailIndex) in i.reviewDetailsList"
>
<tr
:key=
"'reviewDetailIndex' + PointIndex + reviewDetailIndex"
>
<td
align=
"center"
>
{{
'测试场景'
}}
<template
v-for=
"(v, testCaseIndex) in i.testCaseList"
>
<tr
:key=
"'testCaseIndex' + PointIndex + testCaseIndex"
>
<td
align=
"center"
rowspan=
"1"
>
{{
v
.
testScenario
}}
</td>
<td
align=
"center"
>
{{
'测试类型'
}}
<td
align=
"center"
rowspan=
"1"
>
{{
v
.
testType
}}
</td>
<td
align=
"center"
>
{{
'用例编号'
}}
<td
align=
"center"
rowspan=
"1"
>
{{
v
.
usecaseNo
}}
</td>
<td
align=
"center"
>
{{
'
测试结果
'
}}
<td
align=
"center"
rowspan=
"1"
>
{{
''
}}
</td>
<!--
<td
align=
"center"
rowspan=
"1"
>
-->
<!--
{{
v
.
name
}}
-->
<!--
</td>
-->
<!--
<td
align=
"center"
rowspan=
"1"
>
-->
<!--
{{
v
.
tools
}}
-->
<!--
</td>
-->
<!--
<td
align=
"center"
rowspan=
"1"
>
-->
<!--
{{
v
.
input
}}
-->
<!--
</td>
-->
<!--
<td
align=
"center"
rowspan=
"1"
>
-->
<!--
{{
v
.
description
}}
-->
<!--
</td>
-->
</tr>
</
template
>
</template>
...
...
@@ -209,6 +216,7 @@
返回
</footer-button>
<footer-button
v-if=
"this.isLeader !== false"
type=
"primary"
icon=
"hard-disk-one"
@
click=
"goToProcessedReview"
...
...
@@ -223,11 +231,12 @@
<!--js逻辑-->
<
script
>
import
routerMixins
from
'@/mixins/router'
import
{
getRows
,
getRows2
}
from
'../../../../utils/reviewDetailsTable'
import
{
listInspection
}
from
'../../../../api/setting/standardTerms'
import
{
getRows3
}
from
'../../../../utils/reviewDetailsTable'
import
{
testDetail
}
from
'../../../../api/task/test'
import
{
getBySubtaskId
,
taskImageSubmit
}
from
'../../../../api/task/task'
export
default
{
name
:
'Index'
,
dicts
:
[
't
est_cartype_type
'
],
dicts
:
[
't
ask_test_status
'
],
mixins
:
[
routerMixins
],
data
()
{
return
{
...
...
@@ -243,95 +252,56 @@ export default {
inspectionLeader
:
''
,
result
:
[]
},
rules
:
{
enterpriseLeader
:
[
{
required
:
true
,
message
:
'请输入车企负责人'
,
trigger
:
'blur'
}
],
inspectionLeader
:
[
{
required
:
true
,
message
:
'请输入检验负责人'
,
trigger
:
'blur'
}
]
},
taskId
:
''
,
loading
:
false
loading
:
false
,
isLeader
:
''
}
},
// async mounted() {
// if (this.$route.query.id) {
// this.taskId = this.$route.query.id
// }
// await this.getTask()
// this.openAll()
// },
mounted
()
{
this
.
init
()
this
.
getTest
()
this
.
getTestDetail
()
},
methods
:
{
getRows
,
getRows2
,
/** 获取体系审查、车型审查检验内容 */
init
()
{
getRows3
,
/* 返回跳转*/
goToProcessedReview
()
{
// this.ruleForm.taskId = '1771093631118106626'
const
formData
=
{
// imagesUrl: [
// this.ruleForm.enterpriseLeader,
// this.ruleForm.inspectionLeader
// ],
imagesUrl
:
[{}],
taskId
:
this
.
$route
.
query
.
id
}
console
.
log
(
'formData'
,
formData
)
taskImageSubmit
(
formData
).
then
(
res
=>
{
if
(
res
.
code
===
200
)
{
this
.
$modal
.
msgSuccess
(
'确认提交成功'
)
this
.
$router
.
push
({
path
:
'/processing/unprocessed-review'
})
}
else
{
this
.
$modal
.
msgError
(
res
.
msg
)
}
})
},
/** 获取任务详情 */
getTest
()
{
getBySubtaskId
({
id
:
this
.
$route
.
query
.
id
}).
then
(
res
=>
{
if
(
res
.
code
===
200
)
{
this
.
task
=
res
.
data
const
auditors
=
res
.
data
.
auditors
this
.
isLeader
=
auditors
.
some
(
item
=>
item
.
isLeader
===
1
)
console
.
log
(
'found'
,
this
.
isLeader
)
// 输出: true 如果找到,否则输出: false
}
})
},
getTestDetail
()
{
this
.
loading
=
true
listInspection
({
id
:
'1744181159757221888'
}).
then
(
res
=>
{
testDetail
({
taskId
:
this
.
$route
.
query
.
id
}).
then
(
res
=>
{
this
.
tableData
=
res
.
data
this
.
loading
=
false
})
},
/**
* 获取任务详情
*/
// async getTask() {
// this.loading = true
// const res = await checkTaskDetail({
// taskId: this.taskId
// })
// this.loading = false
// if (res.code === 200) {
// this.model = res.data
// await this.getTaskDetail()
// if (this.model.carReviewTask.imagesUrl) {
// const imgs = this.model.carReviewTask.imagesUrl.split(',')
// this.ruleForm.enterpriseLeader
// ? process.env.VUE_APP_IMAGE_API + imgs[0]
// : ''
// this.ruleForm.inspectionLeader
// ? process.env.VUE_APP_IMAGE_API + imgs[1]
// : ''
// }
// } else {
// this.$modal.msgError(res.msg)
// }
// },
/**
* 获取任务详情
*/
// async getTaskDetail() {
// const result = await getBySubtaskId({
// id: this.taskId
// })
// if (result.code === 200) {
// this.task = result.data
// }
// },
/* 返回跳转*/
goToProcessedReview
()
{
// this.ruleForm.taskId = this.taskId
// const formData = {
// imagesUrl: [
// this.ruleForm.enterpriseLeader,
// this.ruleForm.inspectionLeader
// ],
// taskId: this.taskId
// }
// carTaskSubmit(formData).then(res => {
// if (res.code === 200) {
// this.$modal.msgSuccess('确认提交成功')
// this.$router.push({
// path: '/processing/unprocessed-review'
// })
// } else {
// this.$modal.msgError(res.msg)
// }
// })
}
}
}
...
...
src/views/processing/carTest/execution-test-plan/index.vue
View file @
b6dceeba
<!-- 测试用例详情 -->
<
template
>
<
page
-standard>
<
task
-standard>
<div
class=
"web-page"
>
<iframe
:src=
"url"
...
...
@@ -8,7 +8,7 @@
style=
"width: 100%; height: 100%"
></iframe>
</div>
</
page
-standard>
</
task
-standard>
</
template
>
<
script
>
...
...
@@ -23,7 +23,7 @@ export default {
},
mounted
()
{
const
id
=
this
.
$route
.
query
.
id
this
.
url
=
`http
://10.12.48.80:1234
/car/complianceTestingCenter/projectOverView/
${
id
}
`
this
.
url
=
`http
s://10.12.48.78:8090
/car/complianceTestingCenter/projectOverView/
${
id
}
`
},
methods
:
{}
}
...
...
src/views/processing/carTest/review-form/index.vue
View file @
b6dceeba
...
...
@@ -139,7 +139,6 @@ export default {
detailsList
:
[]
},
task
:
{},
taskId
:
''
,
loading
:
false
}
},
...
...
@@ -150,7 +149,7 @@ export default {
methods
:
{
getRows3
,
getTest
()
{
getBySubtaskId
({
id
:
'1768527384203460609'
}).
then
(
res
=>
{
getBySubtaskId
({
id
:
this
.
$route
.
query
.
id
}).
then
(
res
=>
{
if
(
res
.
code
===
200
)
{
this
.
task
=
res
.
data
}
...
...
@@ -159,7 +158,7 @@ export default {
/** 获取任务详情 */
getTestDetail
()
{
this
.
loading
=
true
testDetail
({
taskId
:
'1768527384203460609'
}).
then
(
res
=>
{
testDetail
({
taskId
:
this
.
$route
.
query
.
id
}).
then
(
res
=>
{
this
.
tableData
=
res
.
data
this
.
loading
=
false
})
...
...
src/views/processing/fileLibrary/components/dialog.vue
View file @
b6dceeba
...
...
@@ -135,9 +135,6 @@ export default {
],
identifyNumber
:
[
{
required
:
true
,
message
:
'请输入文件识别号'
,
trigger
:
'blur'
}
],
photo
:
[
{
required
:
true
,
message
:
'请选择文件照片'
,
trigger
:
'change'
}
]
}
}
...
...
src/views/processing/fileLibrary/index.vue
View file @
b6dceeba
...
...
@@ -157,6 +157,7 @@
prop
=
"createBy"
label
=
"创建人员"
min
-
width
=
"130"
show
-
overflow
-
tooltip
align
=
"left"
>
<
/el-table-column
>
...
...
src/views/processing/systemReview/source-record/index.vue
View file @
b6dceeba
...
...
@@ -217,13 +217,15 @@
<div
v-else
>
__
</div>
</td>
<td
align=
"center"
>
<div
v-if=
"
reviewDetail.result && reviewDetail.result.fileName
"
>
《
{{
reviewDetail
.
result
.
fileName
}}
》
{{
reviewDetail
.
result
.
catalogue
}}
<div
v-if=
"reviewDetail.result"
>
<div
v-if=
"reviewDetail.result.fileList"
>
<template
v-for=
"i in reviewDetail.result.fileList"
>
《
{{
i
.
fileName
}}
》
{{
i
.
catalogue
}}
</
template
>
</div>
<div
v-if=
"reviewDetail.result.comment"
>
{{ reviewDetail.result.comment }}
</div>
</div>
<div
v-else
>
__
</div>
</td>
...
...
src/views/processing/systemReview/write-check-form/components/companyFile.vue
View file @
b6dceeba
...
...
@@ -129,9 +129,6 @@ export default {
],
identifyNumber
:
[
{
required
:
true
,
message
:
'请输入文件识别号'
,
trigger
:
'blur'
}
],
photo
:
[
{
required
:
true
,
message
:
'请选择文件照片'
,
trigger
:
'change'
}
]
},
model
:
this
.
$modelDataSource
({
...
...
src/views/processing/systemReview/write-check-form/components/previewView.vue
View file @
b6dceeba
...
...
@@ -99,11 +99,15 @@
<div
v-else
>
__
</div>
</td>
<td
align=
"center"
>
<div
v-if=
"reviewDetail.result && reviewDetail.result.fileName"
>
《
{{
reviewDetail
.
result
.
fileName
}}
》
{{
reviewDetail
.
result
.
catalogue
}}
<div
v-if=
"reviewDetail.result"
>
<div
v-if=
"reviewDetail.result.fileList"
>
<template
v-for=
"i in reviewDetail.result.fileList"
>
《
{{
i
.
fileName
}}
》
{{
i
.
catalogue
}}
</
template
>
</div>
<div
v-if=
"reviewDetail.result.comment"
>
{{ reviewDetail.result.comment }}
</div>
</div>
<div
v-else
>
__
</div>
</td>
...
...
src/views/processing/systemReview/write-check-form/index.vue
View file @
b6dceeba
<
template
>
<div>
<task-standard
v-loading=
"loading"
>
<task-standard>
<div
slot=
"header-right"
>
<header-button
icon=
"preview-open"
...
...
@@ -9,6 +9,13 @@
>
预览表单
</header-button>
<header-button
v-if=
"model.systemReviewTask.leaderId == userId"
type=
"default"
icon=
"check"
@
click=
"submitFrom()"
>
提交表单
</header-button
>
<header-button
icon=
"arrow-left"
class=
"back-btn"
...
...
@@ -130,13 +137,15 @@
:rules=
"rules"
>
<el-form-item
class=
"right-content-item"
label=
"标准章节"
>
<
span>
{{
taskModel
.
chapter
}}
</span
>
<
div
style=
"display: flex"
>
{{
taskModel
.
chapter
}}
</div
>
</el-form-item>
<el-form-item
class=
"right-content-item"
label=
"标准要求"
>
<
span>
{{
taskModel
.
standardText
}}
</span
>
<
div
style=
"display: flex"
>
{{
taskModel
.
standardText
}}
</div
>
</el-form-item>
<el-form-item
class=
"right-content-item"
label=
"审查要点"
>
<span>
{{
taskModel
.
reviewKeypointText
}}
</span>
<div
style=
"display: flex"
>
{{
taskModel
.
reviewKeypointText
}}
</div>
</el-form-item>
<el-form-item
class=
"right-content-item"
label=
"审查细则"
>
<div
class=
"scene-content"
>
...
...
@@ -224,58 +233,116 @@
</el-radio-group>
</el-form-item>
<el-form-item
class=
"right-content-item"
label=
"相关记录"
>
<div
style=
"display: flex; flex-flow: column"
>
<el-row
v-for=
"(file, key) in form.fileList"
:key=
"key"
>
<el-col
:span=
"8"
>
<div>
<el-form-item
prop=
"fileName"
label-suffix=
" "
label=
"文件名称"
>
<el-autocomplete
v-model=
"file.fileName"
style=
"width: 100%"
:fetch-suggestions=
"querySearch"
placeholder=
"请输入文件名称"
@
select=
"
e => {
querySelect(file, e)
}
"
@
input=
"
e => {
queryInput(file, e)
}
"
></el-autocomplete>
</el-form-item>
</div>
</el-col>
<el-col
:span=
"8"
:offset=
"1"
>
<div>
<el-form-item
prop=
"catalogue"
label-suffix=
" "
label=
"章节条目或范围"
>
<el-input
v-model=
"file.catalogue"
placeholder=
"请输入具体章节条目或范围"
/>
</el-form-item>
</div>
</el-col>
<el-col
:span=
"1"
:offset=
"1"
>
<el-button
type=
"danger"
plain
icon=
"el-icon-delete"
size=
"mini"
style=
"margin-top: 27px"
@
click=
"form.fileList.splice(key, 1)"
></el-button>
</el-col>
<el-col
:span=
"24"
>
<company-file
v-show=
"file.show"
:enterprise-name=
"
model.systemReviewTask.enterpriseName
"
:file-name=
"file.fileName"
@
fileNameUpdate=
"
name => {
file.fileName = name
}
"
@
handleUpdate=
"
e => {
handleFileUpdate(file, e)
}
"
@
handleSave=
"
e => {
handleFileSave(file, e)
}
"
></company-file>
</el-col>
</el-row>
<el-button
class=
"add-number"
icon=
"el-icon-circle-plus-outline"
@
click=
"handleAddFile()"
>
添加文件
</el-button
>
</div>
<el-row>
<el-col
:span=
"8"
>
<div>
<el-form-item
prop=
"fileName"
label-suffix=
" "
label=
"文件名称"
>
<el-autocomplete
v-model=
"form.fileName"
style=
"width: 100%"
:fetch-suggestions=
"querySearch"
placeholder=
"请输入文件名称"
@
select=
"querySelect"
></el-autocomplete>
</el-form-item>
</div>
</el-col>
<el-col
:span=
"8"
:offset=
"1"
>
<div>
<el-form-item
prop=
"catalogue"
label-suffix=
" "
label=
"章节条目或范围"
>
<el-input
v-model=
"form.catalogue"
placeholder=
"请输入具体章节条目或范围"
/>
</el-form-item>
</div>
<el-col
:span=
"24"
>
<el-form-item
prop=
"comment"
label-suffix=
" "
label=
"备注信息"
>
<el-input
v-model=
"form.comment"
placeholder=
"请输入备注信息"
type=
"textarea"
:autosize=
"{ minRows: 4, maxRows: 4 }"
clearable
/>
</el-form-item>
</el-col>
</el-row>
<!-- //车企文件信息 -->
</el-form-item>
<company-file
v-show=
"formManger.show"
style=
"margin-left: 125px"
:enterprise-name=
"model.systemReviewTask.enterpriseName"
:file-name=
"form.fileName"
@
fileNameUpdate=
"
name => {
form.fileName = name
}
"
@
handleUpdate=
"handleFileUpdate"
@
handleSave=
"handleFileSave"
></company-file>
</el-form>
</div>
</div>
<div
v-else
class=
"empty-message"
>
-暂无未完成条目-
</div>
<div
v-else
class=
"empty-message"
>
<iconpark-icon
name=
"wutiaomu"
size=
"120px"
></iconpark-icon>
<span>
无未完成条目
</span>
</div>
</div>
<div
class=
"bottom-btn"
>
<footer-button
...
...
@@ -287,13 +354,6 @@
>
保存当前条目
</footer-button>
<footer-button
v-if=
"model.systemReviewTask.leaderId == userId"
type=
"primary"
icon=
"check"
@
click=
"submitFrom()"
>
提交表单
</footer-button
>
</div>
</div>
</task-standard>
...
...
@@ -349,18 +409,16 @@ export default {
passed
:
''
,
reviewDetailsId
:
''
,
taskId
:
''
,
fileName
:
''
,
catalogue
:
''
,
reviewEnterpriseArchiveId
:
''
comment
:
''
,
fileList
:
[]
},
task
:
{},
oldForm
:
{
passed
:
''
,
reviewDetailsId
:
''
,
taskId
:
''
,
fileName
:
''
,
catalogue
:
''
,
reviewEnterpriseArchiveId
:
''
comment
:
''
,
fileList
:
[]
},
model
:
{
systemReviewTask
:
{},
...
...
@@ -371,33 +429,10 @@ export default {
activeModel
:
0
,
checked
:
false
,
detailsList
:
[],
rules
:
{
passed
:
[
{
required
:
true
,
message
:
'请选择审查结果'
,
trigger
:
'blur'
}
],
fileName
:
[
{
required
:
true
,
message
:
'请输入文件名称'
,
trigger
:
[
'change'
]
}
],
catalogue
:
[
{
required
:
true
,
message
:
'请输入具体章节条目或范围'
,
trigger
:
'blur'
}
]
},
rules
:
{},
// TODO 删除
checkedTwo
:
false
,
checkedThree
:
false
,
radio
:
1
,
addData
:
{
fileName
:
''
,
chapterEntry
:
''
},
changeTask
:
[],
changeTaskDetails
:
[],
value1
:
''
,
...
...
@@ -414,7 +449,6 @@ export default {
id
:
0
}
}),
isFileUpdate
:
false
,
loading
:
false
}
},
...
...
@@ -432,23 +466,6 @@ export default {
...
mapGetters
([
'name'
,
'companyFiles'
,
'userId'
])
},
watch
:
{
'form.fileName'
:
function
(
newValue
)
{
if
(
newValue
)
{
const
files
=
this
.
companyFiles
const
query
=
files
.
filter
(
this
.
createFilter
(
newValue
))
if
(
query
.
length
===
0
)
{
this
.
formManger
.
show
=
true
this
.
isFileUpdate
=
true
this
.
formManger
.
fileName
=
newValue
}
else
{
this
.
isFileUpdate
=
false
this
.
formManger
.
show
=
false
}
}
else
{
this
.
isFileUpdate
=
false
this
.
formManger
.
show
=
false
}
},
checked
(
newV
)
{
if
(
newV
)
{
this
.
detailsList
=
this
.
model
.
detailsList
.
filter
(
item
=>
{
...
...
@@ -472,20 +489,45 @@ export default {
/**
* 企业文件保存回调
*/
handleFileSave
(
element
)
{
this
.
form
.
reviewEnterpriseArchiveId
=
element
this
.
isFileUpdate
=
false
this
.
formManger
.
show
=
false
handleFileSave
(
file
,
element
)
{
file
.
id
=
element
file
.
isFileUpdate
=
false
file
.
show
=
false
this
.
$forceUpdate
()
},
/**
* 企业文件表单内容修改回调
* @param {*} element 返回值
*/
handleFileUpdate
(
element
)
{
this
.
isFileUpdate
=
element
handleFileUpdate
(
file
,
element
)
{
file
.
isFileUpdate
=
element
},
handleAddFile
()
{
this
.
form
.
fileList
.
push
({
fileName
:
''
,
catalogue
:
''
,
id
:
''
})
},
querySelect
(
e
)
{
this
.
form
.
reviewEnterpriseArchiveId
=
e
.
id
querySelect
(
file
,
e
)
{
file
.
id
=
e
.
id
},
queryInput
(
file
,
newValue
)
{
if
(
newValue
)
{
const
files
=
this
.
companyFiles
const
query
=
files
.
filter
(
this
.
createFilter
(
newValue
))
if
(
query
.
length
===
0
)
{
file
.
show
=
true
file
.
isFileUpdate
=
true
file
.
fileName
=
newValue
}
else
{
file
.
isFileUpdate
=
false
file
.
show
=
false
}
}
else
{
file
.
isFileUpdate
=
false
file
.
show
=
false
}
},
querySearch
(
queryString
,
cb
)
{
const
files
=
this
.
companyFiles
...
...
@@ -593,12 +635,22 @@ export default {
this
.
sceneViewManger
.
dialogVisible
=
true
this
.
sceneViewManger
.
data
=
data
},
// 遍历数组中的对象判断某一属性的数值是否为true
allPropertiesCheck
(
obj
,
key
)
{
if
(
obj
[
key
]
!==
''
&&
typeof
obj
[
key
]
!==
'undefined'
&&
obj
[
key
])
{
return
true
}
return
false
},
/**
* 点击左侧圆圈触发的回调函数
* @param item 圆圈对象
*/
changeStep
(
index
)
{
if
(
this
.
isAllPropertiesEqual
()
&&
!
this
.
isFileUpdate
)
{
if
(
this
.
isAllPropertiesEqual
()
&&
!
this
.
allPropertiesCheck
(
this
.
form
.
fileList
,
'isFileUpdate'
)
)
{
this
.
handleCircle
(
index
)
}
else
{
this
.
$message
.
error
(
'您有未保存内容,请点击保存按钮'
)
...
...
@@ -606,7 +658,27 @@ export default {
},
isAllPropertiesEqual
()
{
for
(
var
key
in
this
.
form
)
{
if
(
this
.
form
[
key
]
!==
this
.
oldForm
[
key
])
{
if
(
key
!==
'isFileUpdate'
)
{
if
(
JSON
.
stringify
(
this
.
form
[
key
])
!==
JSON
.
stringify
(
this
.
oldForm
[
key
])
)
{
return
false
}
}
}
return
true
},
/**
*判断两个数组是否一样
* @param {*} item
* @param {*} oldItem
*/
isAllPropertiesEqualArray
(
item
,
oldItem
)
{
if
(
item
.
length
!==
oldItem
.
length
)
{
return
false
}
for
(
var
i
=
0
;
i
<
item
.
length
;
i
++
)
{
if
(
item
[
i
].
chapter
!==
oldItem
[
i
].
chapter
)
{
return
false
}
}
...
...
@@ -625,36 +697,30 @@ export default {
passed
:
this
.
taskModel
.
result
.
passed
,
reviewDetailsId
:
this
.
taskModel
.
id
,
taskId
:
this
.
taskId
,
fileName
:
this
.
taskModel
.
result
.
fileName
,
catalogue
:
this
.
taskModel
.
result
.
catalogue
,
reviewEnterpriseArchiveId
:
this
.
taskModel
.
result
.
reviewEnterpriseArchiveId
comment
:
this
.
taskModel
.
result
.
comment
,
fileList
:
this
.
taskModel
.
result
.
fileList
||
[]
}
this
.
oldForm
=
{
passed
:
this
.
taskModel
.
result
.
passed
,
reviewDetailsId
:
this
.
taskModel
.
id
,
taskId
:
this
.
taskId
,
fileName
:
this
.
taskModel
.
result
.
fileName
,
catalogue
:
this
.
taskModel
.
result
.
catalogue
,
reviewEnterpriseArchiveId
:
this
.
taskModel
.
result
.
reviewEnterpriseArchiveId
comment
:
this
.
taskModel
.
result
.
comment
,
fileList
:
this
.
taskModel
.
result
.
fileList
||
[]
}
}
else
{
this
.
form
=
{
passed
:
''
,
reviewDetailsId
:
this
.
taskModel
.
id
,
taskId
:
this
.
taskId
,
fileName
:
''
,
catalogue
:
''
,
reviewEnterpriseArchiveId
:
''
comment
:
''
,
fileList
:
[]
}
this
.
oldForm
=
{
passed
:
''
,
reviewDetailsId
:
this
.
taskModel
.
id
,
taskId
:
this
.
taskId
,
fileName
:
''
,
catalogue
:
''
,
reviewEnterpriseArchiveId
:
''
comment
:
''
,
fileList
:
[]
}
}
this
.
$nextTick
(()
=>
{
...
...
@@ -676,23 +742,28 @@ export default {
submitQuestionnaire
(
type
)
{
this
.
$refs
.
form
.
validate
(
valid
=>
{
if
(
valid
)
{
if
(
!
this
.
isFileUpdate
)
{
if
(
!
this
.
allPropertiesCheck
(
this
.
form
.
fileList
,
'isFileUpdate'
)
)
{
// 根据公司文件和文件名获取特定项目项,并据此更新表单中的审核企业档案ID
const
files
=
this
.
companyFiles
// 获取公司文件列表
const
fileName
=
this
.
form
.
fileName
// 获取表单中填写的文件名
// 根据文件名在公司文件列表中查找对应项目项
const
item
=
this
.
getProjectByName
(
files
,
fileName
)
if
(
item
)
{
this
.
form
.
reviewEnterpriseArchiveId
=
item
.
id
// 找到项目项则更新表单的审核企业档案ID
}
else
{
this
.
form
.
reviewEnterpriseArchiveId
=
null
// 未找到则将审核企业档案ID设为null
}
this
.
form
.
fileList
.
map
(
file
=>
{
const
fileName
=
file
.
fileName
// 获取表单中填写的文件名
// 根据文件名在公司文件列表中查找对应项目项
const
item
=
this
.
getProjectByName
(
files
,
fileName
)
if
(
item
)
{
file
.
id
=
item
.
id
// 找到项目项则更新表单的审核企业档案ID
}
else
{
file
.
id
=
null
// 未找到则将审核企业档案ID设为null
}
})
reviewDetailsSubmit
(
this
.
form
).
then
(
async
res
=>
{
if
(
res
.
code
===
200
)
{
await
this
.
getTask
()
if
(
this
.
checked
)
{
this
.
handleCircle
(
0
)
}
this
.
form
.
fileList
.
map
(
i
=>
{
i
.
isFileUpdate
=
false
})
this
.
oldForm
=
this
.
form
this
.
$modal
.
msgSuccess
(
'保存当前条目成功'
)
this
.
$nextTick
(()
=>
{
...
...
src/views/processing/unprocessed-review/index.vue
View file @
b6dceeba
...
...
@@ -600,7 +600,7 @@ export default {
// 确认测试结果
case
'SIGNED'
:
this
.
$router
.
push
({
ath
:
`/processing/carTest/confirmation-test??id=
${
id
}
`
p
ath
:
`/processing/carTest/confirmation-test??id=
${
id
}
`
})
break
case
'FINISH'
:
...
...
src/views/setting/standardTerms/components/documentReviewDialog.vue
View file @
b6dceeba
...
...
@@ -3,7 +3,7 @@
title=
"检验内容"
:visible
.
sync=
"dialogManger.dialogVisible"
direction=
"rtl"
size=
"
4
0%"
size=
"
8
0%"
:before-close=
"handleClose"
>
<template
slot=
"title"
>
...
...
src/views/setting/standardTerms/components/vehicleModelDialog.vue
View file @
b6dceeba
...
...
@@ -2,7 +2,7 @@
<el-drawer
:visible
.
sync=
"dialogManger.dialogVisible"
direction=
"rtl"
size=
"
4
0%"
size=
"
8
0%"
:before-close=
"handleClose"
>
<template
slot=
"title"
>
...
...
src/views/setting/testMatrix/useCaseDetails/index.vue
View file @
b6dceeba
...
...
@@ -18,12 +18,11 @@ export default {
return
{
id
:
this
.
$route
.
query
,
url
:
''
// http://10.12.48.78:8090/car/caseManage/case/casePublishDetail/case_items;375
}
},
mounted
()
{
const
id
=
this
.
$route
.
query
.
id
this
.
url
=
`http://10.12.48.78:8090/car/caseManage/case/casePublishDetail/
${
id
}
`
this
.
url
=
`http
s
://10.12.48.78:8090/car/caseManage/case/casePublishDetail/
${
id
}
`
},
methods
:
{}
}
...
...
src/views/system/role/authUser.vue
View file @
b6dceeba
...
...
@@ -239,6 +239,8 @@ export default {
const
roleId
=
this
.
queryParams
.
roleId
this
.
$modal
.
confirm
(
'确认要取消该用户"'
+
row
.
userName
+
'"角色吗?'
,
{
type
:
'warning'
,
title
:
'取消授权'
,
closeOnClickModal
:
false
})
.
then
(
function
()
{
...
...
@@ -256,6 +258,8 @@ export default {
const
userIds
=
this
.
userIds
.
join
(
','
)
this
.
$modal
.
confirm
(
'是否取消选中用户授权数据项?'
,
{
type
:
'warning'
,
title
:
'取消授权'
,
closeOnClickModal
:
false
})
.
then
(
function
()
{
...
...
src/views/system/role/index.vue
View file @
b6dceeba
...
...
@@ -196,12 +196,12 @@
>
更多
</el-button
>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
<
!--
<
el-dropdown-item
v-hasPermi=
"['system:role:edit']"
command=
"handleDataScope"
icon=
"el-icon-circle-check"
>
数据权限
</el-dropdown-item
>
>
-->
<el-dropdown-item
v-hasPermi=
"['system:role:edit']"
command=
"handleAuthUser"
...
...
vue.config.js
View file @
b6dceeba
...
...
@@ -42,7 +42,7 @@ module.exports = {
}
},
[
process
.
env
.
VUE_APP_CLIENT_API
]:
{
target
:
`http
://10.12.48.78:8090
`
,
target
:
`http
s://10.12.48.78/vvmpapi
`
,
changeOrigin
:
true
,
pathRewrite
:
{
[
'^'
+
process
.
env
.
VUE_APP_CLIENT_API
]:
''
...
...
@@ -116,7 +116,7 @@ module.exports = {
.
use
(
'graphql-tag/loader'
)
.
loader
(
'graphql-tag/loader'
)
.
end
();
config
.
when
(
process
.
env
.
NODE_ENV
!==
'development
'
,
config
=>
{
config
.
when
(
process
.
env
.
NODE_ENV
===
'production
'
,
config
=>
{
config
.
plugin
(
'ScriptExtHtmlWebpackPlugin'
)
.
after
(
'html'
)
...
...
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