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
2a23704a
Commit
2a23704a
authored
Jan 04, 2024
by
高滢
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat(全局): 规范化
parent
5e80c73f
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
183 additions
and
185 deletions
+183
-185
month.vue
src/components/Crontab/month.vue
+1
-1
page.js
src/mixins/page.js
+1
-1
table.js
src/utils/table.js
+38
-41
index.vue
src/views/processing/review-form/index.vue
+51
-53
index.vue
src/views/processing/review-questionnaire/index.vue
+49
-47
index.vue
src/views/task/task-detail/index.vue
+43
-42
No files found.
src/components/Crontab/month.vue
View file @
2a23704a
...
...
@@ -111,7 +111,7 @@ export default {
},
computed
:
{
// 计算两个周期值
cycleTotal
:
function
()
{
const
cycle01
=
this
.
checkNum
(
this
.
cycle01
,
1
,
11
)
const
cycle02
=
this
.
checkNum
(
this
.
cycle02
,
cycle01
?
cycle01
+
1
:
2
,
12
)
...
...
src/mixins/page.js
View file @
2a23704a
...
...
@@ -51,7 +51,7 @@ export default {
.
then
(
res
=>
{
if
(
res
.
code
===
200
)
{
this
.
tableData
=
res
.
rows
console
.
log
(
res
.
rows
)
;
console
.
log
(
res
.
rows
)
this
.
total
=
res
.
total
}
this
.
loading
=
false
...
...
src/utils/table.js
View file @
2a23704a
import
d
from
'highlight.js/lib/languages/d'
export
function
geSpanList
(
list
,
cellList
)
{
const
cellLength
=
cellList
.
length
if
(
cellLength
==
0
)
{
return
list
}
console
.
log
(
getCell
(
list
,
cellList
,
cellLength
))
return
getCell
(
list
,
cellList
,
cellLength
)
const
cellLength
=
cellList
.
length
if
(
cellLength
==
0
)
{
return
list
}
console
.
log
(
getCell
(
list
,
cellList
,
cellLength
))
return
getCell
(
list
,
cellList
,
cellLength
)
}
/**
*
...
...
@@ -17,45 +17,42 @@ export function geSpanList(list, cellList) {
* @param {*} level
*/
function
getCell
(
list
,
cellList
,
cellLength
)
{
let
arr
=
[]
list
.
map
(
i
=>
{
let
b
=
[]
let
cList
=
[]
getLine
(
b
,
cellList
,
cellLength
,
0
,
i
[
cellList
[
0
]],
{})
if
(
b
.
length
)
{
b
.
map
(
item
=>
{
cList
.
push
(
Object
.
assign
({},
item
,
i
))
})
arr
=
[...
cList
,
...
arr
]
console
.
log
(
arr
)
}
else
{
arr
.
push
(
i
)
}
})
return
arr
let
arr
=
[]
list
.
map
(
i
=>
{
let
b
=
[]
let
cList
=
[]
getLine
(
b
,
cellList
,
cellLength
,
0
,
i
[
cellList
[
0
]],
{})
if
(
b
.
length
)
{
b
.
map
(
item
=>
{
cList
.
push
(
Object
.
assign
({},
item
,
i
))
})
arr
=
[...
cList
,
...
arr
]
console
.
log
(
arr
)
}
else
{
arr
.
push
(
i
)
}
})
return
arr
}
function
getLine
(
arr
,
cellList
,
cellLength
,
level
,
i
,
mergeData
)
{
if
(
cellLength
-
1
>
level
)
{
let
obj
=
JSON
.
parse
(
JSON
.
stringify
(
mergeData
))
obj
[
cellList
[
level
]
+
'Item'
]
=
i
.
text
if
(
i
[
cellList
[
level
+
1
]].
length
)
{
i
[
cellList
[
level
+
1
]].
map
(
k
=>
{
getLine
(
arr
,
cellList
,
cellLength
,
level
+
1
,
k
,
obj
)
})
}
else
{
return
}
}
else
if
(
cellLength
-
1
==
level
)
{
let
obj
=
JSON
.
parse
(
JSON
.
stringify
(
mergeData
))
obj
[
cellList
[
level
]
+
'Item'
]
=
i
.
text
arr
.
push
(
obj
)
if
(
cellLength
-
1
>
level
)
{
let
obj
=
JSON
.
parse
(
JSON
.
stringify
(
mergeData
))
obj
[
cellList
[
level
]
+
'Item'
]
=
i
.
text
if
(
i
[
cellList
[
level
+
1
]].
length
)
{
i
[
cellList
[
level
+
1
]].
map
(
k
=>
{
getLine
(
arr
,
cellList
,
cellLength
,
level
+
1
,
k
,
obj
)
})
}
else
{
return
return
}
}
else
if
(
cellLength
-
1
==
level
)
{
let
obj
=
JSON
.
parse
(
JSON
.
stringify
(
mergeData
))
obj
[
cellList
[
level
]
+
'Item'
]
=
i
.
text
arr
.
push
(
obj
)
}
else
{
return
}
return
}
export
function
geSpanCell
(
row
,
column
,
rowIndex
,
columnIndex
,
cellList
)
{
}
export
function
geSpanCell
(
row
,
column
,
rowIndex
,
columnIndex
,
cellList
)
{}
src/views/processing/review-form/index.vue
View file @
2a23704a
...
...
@@ -38,50 +38,50 @@
<div
class=
"form-review-questionnaire"
>
<table
class=
"table"
style=
"width: 100%"
>
<thead>
<tr>
<th>
标准章节
</th>
<th>
标准要求
</th>
<th>
审查要点
</th>
<th>
审查细则
</th>
<th>
符合场景
</th>
<th>
审查结果
</th>
<th
:colspan=
"2"
>
记录
</th>
<th>
填写人
</th>
</tr>
<tr>
<th>
标准章节
</th>
<th>
标准要求
</th>
<th>
审查要点
</th>
<th>
审查细则
</th>
<th>
符合场景
</th>
<th>
审查结果
</th>
<th
:colspan=
"2"
>
记录
</th>
<th>
填写人
</th>
</tr>
</thead>
<tbody>
<!-- 循环遍历 arr -->
<template
v-for=
"(item, index) in questionnaireSummary"
>
<tr
:key=
"index"
>
<td
:rowspan=
"getRows2(item)"
>
{{
item
.
chapter
}}
</td>
<td
:rowspan=
"getRows2(item)"
>
{{
item
.
text
}}
</td>
</tr>
<!-- 循环遍历 keyPointList -->
<template
v-for=
"(i, keyPointIndex) in item.keyPointList"
>
<tr
:key=
"keyPointIndex"
>
<td
:rowspan=
"getRows(i)"
>
{{
i
.
text
}}
</td>
<!-- 循环遍历 arr -->
<template
v-for=
"(item, index) in questionnaireSummary"
>
<tr
:key=
"index"
>
<td
:rowspan=
"getRows2(item)"
>
{{
item
.
chapter
}}
</td>
<td
:rowspan=
"getRows2(item)"
>
{{
item
.
text
}}
</td>
</tr>
<!-- 循环遍历 reviewDetailsList -->
<template
v-for=
"(v, reviewDetailIndex) in i.reviewDetailsList"
>
<tr
:key=
"reviewDetailIndex"
>
<td>
{{
v
.
id
}}
</td>
<td>
{{
v
.
text
}}
</td>
<td>
{{
v
.
text
}}
</td>
<td>
{{
v
.
text
}}
</td>
<td>
{{
v
.
text
}}
</td>
<td>
{{
v
.
text
}}
</td>
<!-- 循环遍历 keyPointList -->
<template
v-for=
"(i, keyPointIndex) in item.keyPointList"
>
<tr
:key=
"keyPointIndex"
>
<td
:rowspan=
"getRows(i)"
>
{{
i
.
text
}}
</td>
</tr>
<!-- 循环遍历 reviewDetailsList -->
<template
v-for=
"(v, reviewDetailIndex) in i.reviewDetailsList"
>
<tr
:key=
"reviewDetailIndex"
>
<td>
{{
v
.
id
}}
</td>
<td>
{{
v
.
text
}}
</td>
<td>
{{
v
.
text
}}
</td>
<td>
{{
v
.
text
}}
</td>
<td>
{{
v
.
text
}}
</td>
<td>
{{
v
.
text
}}
</td>
</tr>
</
template
>
</template>
</template>
</template>
</tbody>
</table>
</div>
...
...
@@ -92,7 +92,7 @@
type=
"primary"
plain
@
click=
"goToProcessedReview"
>
返 回
>
返 回
</el-button>
</div>
</div>
...
...
@@ -150,7 +150,7 @@ export default {
reviewKeypointId
:
1734848011609182209
}
]
}
,
}
]
}
],
...
...
@@ -168,16 +168,14 @@ export default {
}
}
},
created
()
{
},
created
()
{},
methods
:
{
getRows
(
i
)
{
let
n
=
0
if
(
i
.
reviewDetailsList
)
{
n
=
i
.
reviewDetailsList
.
length
}
return
n
+
1
return
n
+
1
},
getRows2
(
item
)
{
let
n
=
0
...
...
@@ -187,7 +185,7 @@ export default {
item
.
keyPointList
.
map
(
i
=>
{
n
+=
i
.
reviewDetailsList
.
length
})
return
n
+
1
return
n
+
1
},
/* 返回跳转*/
goToProcessedReview
()
{
...
...
@@ -230,11 +228,11 @@ export default {
margin
:
0
8rem
8rem
4rem
;
width
:
5rem
;
}
.main-statistics
{
.main-statistics
{
display
:
flex
;
margin
:
0
65px
;
justify-content
:
space-between
;
.statistics-card
{
.statistics-card
{
width
:
320px
;
height
:
120px
;
background
:
#5ad8a6
;
...
...
@@ -242,12 +240,12 @@ export default {
display
:
flex
;
justify-content
:
space-between
;
padding
:
30px
;
.card-left
{
.card-left
{
color
:
#f3f3f3
;
font-size
:
20px
;
font-weight
:
bold
;
}
.card-right
{
.card-right
{
::v-deep
.iconfont
{
font-size
:
50px
;
}
...
...
@@ -255,8 +253,8 @@ export default {
}
}
}
.form-custom
{
margin-top
:
3rem
;
.form-custom
{
margin-top
:
3rem
;
}
/* 任务编号,名称,单位样式 */
.task
{
...
...
@@ -302,8 +300,8 @@ export default {
::v-deep
.el-table--border
{
width
:
unset
!
important
;
}
.table
{
th
{
.table
{
th
{
text-align
:
center
;
}
}
...
...
src/views/processing/review-questionnaire/index.vue
View file @
2a23704a
...
...
@@ -36,7 +36,7 @@
</el-form>
<div
class=
"main-statistics"
>
<div
class=
"statistics-card"
style=
"background-color: #5ad8a6"
>
<div
class=
"statistics-card"
style=
"background-color: #5ad8a6"
>
<div
class=
"card-left"
>
<div>
90
</div>
<div>
审查通过率
</div>
...
...
@@ -48,7 +48,7 @@
/>
</div>
</div>
<div
class=
"statistics-card"
style=
"background-color: #ff99c3"
>
<div
class=
"statistics-card"
style=
"background-color: #ff99c3"
>
<div
class=
"card-left"
>
<div>
90
</div>
<div>
审查失败率
</div>
...
...
@@ -60,7 +60,7 @@
/>
</div>
</div>
<div
class=
"statistics-card"
style=
"background-color: #6dc8ec"
>
<div
class=
"statistics-card"
style=
"background-color: #6dc8ec"
>
<div
class=
"card-left"
>
<div>
90
</div>
<div>
审查细则数
</div>
...
...
@@ -72,7 +72,7 @@
/>
</div>
</div>
<div
class=
"statistics-card"
style=
"background-color: #5b8ff9"
>
<div
class=
"statistics-card"
style=
"background-color: #5b8ff9"
>
<div
class=
"card-left"
>
<div>
90
</div>
<div>
参与审查人数
</div>
...
...
@@ -105,37 +105,37 @@
</tr>
</thead>
<tbody>
<!-- 循环遍历 arr -->
<!-- 循环遍历 arr -->
<template
v-for=
"(item, index) in questionnaireSummary"
>
<tr
:key=
"index"
>
<td
:rowspan=
"getRows2(item)"
>
<td
:rowspan=
"getRows2(item)"
>
{{
item
.
chapter
}}
</td>
<td
:rowspan=
"getRows2(item)"
>
<td
:rowspan=
"getRows2(item)"
>
{{
item
.
text
}}
</td>
</tr>
<!-- 循环遍历 keyPointList -->
<template
v-for=
"(i, keyPointIndex) in item.keyPointList"
>
<tr
:key=
"keyPointIndex"
>
<td
:rowspan=
"getRows(i)"
>
{{
i
.
text
}}
</td>
<template
v-for=
"(i, keyPointIndex) in item.keyPointList"
>
<tr
:key=
"keyPointIndex"
>
<td
:rowspan=
"getRows(i)"
>
{{
i
.
text
}}
</td>
</tr>
<!-- 循环遍历 reviewDetailsList -->
<template
v-for=
"(v, reviewDetailIndex) in i.reviewDetailsList"
>
<tr
:key=
"reviewDetailIndex"
>
<td>
{{
v
.
id
}}
</td>
<td>
{{
v
.
text
}}
</td>
<td>
{{
v
.
text
}}
</td>
<td>
{{
v
.
text
}}
</td>
<td>
{{
v
.
text
}}
</td>
<td>
{{
v
.
text
}}
</td>
</tr>
<!-- 循环遍历 reviewDetailsList -->
<template
v-for=
"(v, reviewDetailIndex) in i.reviewDetailsList"
>
<tr
:key=
"reviewDetailIndex"
>
<td>
{{
v
.
id
}}
</td>
<td>
{{
v
.
text
}}
</td>
<td>
{{
v
.
text
}}
</td>
<td>
{{
v
.
text
}}
</td>
<td>
{{
v
.
text
}}
</td>
<td>
{{
v
.
text
}}
</td>
</tr>
</
template
>
</
template
>
</template>
</template>
</tbody>
</table>
...
...
@@ -148,16 +148,26 @@
<span
class=
"title-content"
>
签字确认
</span>
</div>
<div>
<el-form
label-width=
"9.25rem"
label-position=
"top"
class=
"form-custom"
>
<el-form
label-width=
"9.25rem"
label-position=
"top"
class=
"form-custom"
>
<el-row
:gutter=
"41"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"车企负责人:"
>
<image-preview
width=
"400px"
height=
"300px"
></image-preview>
<image-preview
width=
"400px"
height=
"300px"
></image-preview>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"检验负责人:"
>
<image-preview
width=
"400px"
height=
"300px"
></image-preview>
<image-preview
width=
"400px"
height=
"300px"
></image-preview>
</el-form-item>
</el-col>
</el-row>
...
...
@@ -193,11 +203,6 @@ export default {
text
:
'车辆制造商汽车信息安全管理制度是否明确与其它管理流程(如QMS、ISMS)的适配性。'
,
reviewStandardId
:
1734848011609182208
,
reviewDetailsList
:
[
{
id
:
1734848013714722817
,
text
:
'车辆制造商应提供信息安全管理制度在建设实施中与企业其他管理流程相适配的证明材料。'
,
reviewKeypointId
:
1734848013714722816
},
{
id
:
1734848013714722817
,
text
:
'车辆制造商应提供信息安全管理制度在建设实施中与企业其他管理流程相适配的证明材料。'
,
...
...
@@ -228,7 +233,7 @@ export default {
reviewKeypointId
:
1734848011609182209
}
]
}
,
}
]
}
],
...
...
@@ -245,9 +250,6 @@ export default {
]
}
}
},
created
()
{
},
methods
:
{
getRows
(
i
)
{
...
...
@@ -255,7 +257,7 @@ export default {
if
(
i
.
reviewDetailsList
)
{
n
=
i
.
reviewDetailsList
.
length
}
return
n
+
1
return
n
+
1
},
getRows2
(
item
)
{
let
n
=
0
...
...
@@ -265,7 +267,7 @@ export default {
item
.
keyPointList
.
map
(
i
=>
{
n
+=
i
.
reviewDetailsList
.
length
})
return
n
+
1
return
n
+
1
},
/* 返回跳转*/
goToProcessedReview
()
{
...
...
@@ -308,11 +310,11 @@ export default {
margin
:
0
8rem
8rem
4rem
;
width
:
5rem
;
}
.main-statistics
{
.main-statistics
{
display
:
flex
;
margin
:
0
65px
;
justify-content
:
space-between
;
.statistics-card
{
.statistics-card
{
width
:
320px
;
height
:
120px
;
background
:
#5ad8a6
;
...
...
@@ -320,12 +322,12 @@ export default {
display
:
flex
;
justify-content
:
space-between
;
padding
:
30px
;
.card-left
{
.card-left
{
color
:
#f3f3f3
;
font-size
:
20px
;
font-weight
:
bold
;
}
.card-right
{
.card-right
{
/*图片*/
.img
{
width
:
3rem
;
...
...
@@ -335,8 +337,8 @@ export default {
}
}
}
.form-custom
{
margin-top
:
3rem
;
.form-custom
{
margin-top
:
3rem
;
}
/* 任务编号,名称,单位样式 */
.task
{
...
...
@@ -382,8 +384,8 @@ export default {
::v-deep
.el-table--border
{
width
:
unset
!
important
;
}
.table
{
th
{
.table
{
th
{
text-align
:
center
;
}
}
...
...
src/views/task/task-detail/index.vue
View file @
2a23704a
...
...
@@ -190,53 +190,54 @@
</el-table-column>
</el-table>
<div
class=
"subtitle"
style=
"margin-top: 20px"
>
报告信息
</div>
<el-row
style=
"display: flex"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"12"
>
<el-form-item
label=
"样品名称"
prop=
"yangpin"
>
<el-input
v-model=
"model.yangpin"
placeholder=
"请输入"
clearable
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"生产企业"
prop=
"shengchan"
>
<el-input
v-model=
"model.shengchan"
placeholder=
"请输入"
clearable
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"送样者"
prop=
"songyangzhe"
>
<el-input
v-model=
"model.songyangzhe"
placeholder=
"请输入"
clearable
/>
</el-form-item>
</el-col>
<el-col
:span=
"12"
>
<el-form-item
label=
"送样日期 "
prop=
"songyangdata"
>
<el-date-picker
v-model=
"model.songyangdata"
style=
"width: 100%"
type=
"date"
placeholder=
"选择日期"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-col
:span=
"6"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"8"
>
<el-form-item
label=
"样品名称"
prop=
"yangpin"
>
<el-input
v-model=
"model.yangpin"
placeholder=
"请输入"
clearable
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"生产企业"
prop=
"shengchan"
>
<el-input
v-model=
"model.shengchan"
placeholder=
"请输入"
clearable
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"商标"
prop=
"shangbiao"
>
<image-preview
:src=
"image"
/>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"8"
>
<el-form-item
label=
"送样者"
prop=
"songyangzhe"
>
<el-input
v-model=
"model.songyangzhe"
placeholder=
"请输入"
clearable
/>
</el-form-item>
</el-col>
<el-col
:span=
"8"
>
<el-form-item
label=
"送样日期 "
prop=
"songyangdata"
>
<el-date-picker
v-model=
"model.songyangdata"
style=
"width: 100%"
type=
"date"
placeholder=
"选择日期"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"8"
>
<el-form-item
label=
"样品数量"
prop=
"shuliang"
>
...
...
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