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
aa5c813c
Commit
aa5c813c
authored
Feb 23, 2024
by
hanshaozhuang
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev-hanshaozhuang' into develop
parents
367b17f3
19c0703d
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
409 additions
and
73 deletions
+409
-73
xuanzepinshen.png
src/assets/images/createReview/xuanzepinshen.png
+0
-0
index.vue
src/views/review/createReview/index.vue
+51
-27
index.vue
src/views/review/createReview/reviewData/index.vue
+77
-35
CarInfo.vue
src/views/task/new/components/CarInfo.vue
+125
-0
PartInfo.vue
src/views/task/new/components/PartInfo.vue
+113
-0
index.vue
src/views/task/new/index.vue
+43
-11
No files found.
src/assets/images/createReview/xuanzepinshen.png
0 → 100644
View file @
aa5c813c
9.03 KB
src/views/review/createReview/index.vue
View file @
aa5c813c
...
...
@@ -10,7 +10,7 @@
:inline=
"true"
>
<el-form-item
label=
"对应标准"
>
<el-select
v-model=
"formModel.ask"
clearable
style=
"width: 100%"
>
<el-select
v-model=
"formModel.ask"
style=
"width: 100%"
>
<el-option
key=
"1"
value=
"1"
...
...
@@ -20,8 +20,8 @@
</el-select>
</el-form-item>
</el-form>
<div
v-if=
"pageIndex === 1"
style=
"display: flex"
>
<div
style=
"flex-shrink: 0
"
>
<div
v-if=
"pageIndex === 1"
>
<div
class=
"review-data-title
"
>
发起评审(
{{
selectDictLabel
(
dict
.
type
.
create_review_type
,
...
...
@@ -33,24 +33,18 @@
formModel
.
reviewSubtype
)
}}
)
</div>
<div
style=
"
flex-grow: 1;
text-align: right;
color: #1890ff;
text-decoration: underline;
cursor: pointer;
"
@
click=
"handleGoBack"
>
返回
<div
class=
"review-data-return"
@
click=
"handleGoBack"
>
<span
class=
"el-icon-back"
/>
返回
</div>
</div>
</div>
</div>
<div
v-if=
"pageIndex === 0"
class=
"create-review-content"
>
<div
class=
"center-tip"
>
<div
class=
"el-icon-time icon-custon-style"
/>
<el-image
:src=
"require('@/assets/images/createReview/xuanzepinshen.png')"
class=
"icon-custon-style"
></el-image>
<div
class=
"center-tip-text"
>
请选择要发起的评审类型
</div>
<div
class=
"center-top-text-small"
>
只能选择一种类型
</div>
</div>
...
...
@@ -75,7 +69,10 @@
</div>
<div
class=
"create-review-footer"
>
<el-button
type=
"primary"
class=
"next-button"
@
click=
"pageIndex = 1"
>
下一步
</el-button
><span
class=
"el-icon-check"
style=
"margin-right: 6px"
/>
下一步
</el-button
>
</div>
</div>
...
...
@@ -122,6 +119,28 @@ export default {
</
script
>
<
style
lang=
"scss"
scoped
>
.create-review
{
.review-data-title
{
text-align
:
center
;
position
:
relative
;
font-size
:
20px
;
font-family
:
Microsoft
YaHei
,
Microsoft
YaHei-700
;
font-weight
:
700
;
color
:
#303133
;
line-height
:
18px
;
.review-data-return
{
position
:
absolute
;
top
:
0
;
right
:
0
;
text-align
:
right
;
cursor
:
pointer
;
font-size
:
14px
;
font-family
:
Microsoft
YaHei
,
Microsoft
YaHei-400
;
font-weight
:
400
;
color
:
#1a6fd7
;
}
}
}
.create-review-content
{
width
:
100%
;
margin-top
:
50px
;
...
...
@@ -130,9 +149,9 @@ export default {
flex-direction
:
column
;
align-items
:
center
;
.center-tip
{
width
:
400
px
;
height
:
2
00
px
;
border
:
1px
solid
#
bbbbb
b
;
width
:
574
px
;
height
:
2
52
px
;
border
:
1px
solid
#
ebebe
b
;
margin-bottom
:
50px
;
display
:
flex
;
flex-direction
:
column
;
...
...
@@ -140,17 +159,22 @@ export default {
align-items
:
center
;
text-align
:
center
;
.icon-custon-style
{
font-size
:
90px
;
color
:
#00afff
;
width
:
139px
;
height
:
124px
;
border
:
1px
dashed
#ebebeb
;
}
.center-tip-text
{
font-size
:
18px
;
font-weight
:
bold
;
color
:
#303133
;
font-size
:
16px
;
font-family
:
Microsoft
YaHei
,
Microsoft
YaHei-400
;
font-weight
:
400
;
margin
:
10px
0
;
}
.center-top-text-small
{
font-size
:
12px
;
color
:
#bbbbbb
;
font-size
:
14px
;
font-family
:
Microsoft
YaHei
,
Microsoft
YaHei-400
;
font-weight
:
400
;
color
:
#f9a221
;
}
}
.review-type-content
{
...
...
@@ -168,7 +192,7 @@ export default {
display
:
flex
;
justify-content
:
center
;
.next-button
{
width
:
1
5
0px
;
width
:
1
3
0px
;
}
}
}
...
...
src/views/review/createReview/reviewData/index.vue
View file @
aa5c813c
...
...
@@ -3,15 +3,17 @@
<el-form
:model=
"formModel"
:rules=
"formRules"
label-suffix=
":"
label-width=
"200px"
label-position=
"top"
>
<el-form-item
label=
"对应标准"
label-width=
"72px"
>
汽车整车信息安全技术要求
</el-form-item>
<div
class=
"standard-text"
>
对应标准:汽车整车信息安全技术要求
</div>
<div
class=
"subtitle"
>
评审对象
</div>
<el-form-item
label=
"条款分类"
prop=
"tiaokuanfenlei"
>
<el-select
v-model=
"formModel.tiaokuanfenlei"
clearable
>
<el-select
v-model=
"formModel.tiaokuanfenlei"
style=
"width: 421px"
clearable
>
<el-option
v-for=
"dict in dict.type.sys_scene_type"
:key=
"dict.value"
...
...
@@ -20,7 +22,7 @@
/>
</el-select>
</el-form-item>
<el-form-item
label=
"
条款分类
"
prop=
"biaozhuntiuaokuan"
>
<el-form-item
label=
"
标准条款
"
prop=
"biaozhuntiuaokuan"
>
<el-button
type=
"primary"
plain
@
click=
"handleReSelect"
>
重新选择标准条款
</el-button
>
...
...
@@ -55,35 +57,43 @@
</div>
</div>
</el-form-item>
<el-form-item
label=
"审查要点"
prop=
"shenchayaodian"
>
<el-input
v-model=
"formModel.shenchayaodian"
type=
"textarea"
placeholder=
"请输入审查要点"
maxlength=
"100"
show-word-limit
:autosize=
"
{ minRows: 6, maxRows: 6 }"
style="width: 350px"
>
</el-input>
</el-form-item>
<el-form-item
label=
"审查细则"
prop=
"shenchaxize"
>
<el-input
v-model=
"formModel.shenchaxize"
type=
"textarea"
placeholder=
"请输入审查细则"
maxlength=
"100"
show-word-limit
:autosize=
"
{ minRows: 6, maxRows: 6 }"
style="width: 350px"
>
</el-input>
</el-form-item>
<el-row
:gutter=
"41"
>
<el-col
span=
"12"
>
<el-form-item
label=
"审查要点"
prop=
"shenchayaodian"
>
<el-input
v-model=
"formModel.shenchayaodian"
type=
"textarea"
placeholder=
"请输入审查要点"
maxlength=
"100"
show-word-limit
:autosize=
"
{ minRows: 4, maxRows: 6 }"
resize="none"
>
</el-input>
</el-form-item>
</el-col>
<el-col
span=
"12"
>
<el-form-item
label=
"审查细则"
prop=
"shenchaxize"
>
<el-input
v-model=
"formModel.shenchaxize"
type=
"textarea"
placeholder=
"请输入审查细则"
maxlength=
"100"
show-word-limit
:autosize=
"
{ minRows: 4, maxRows: 6 }"
resize="none"
>
</el-input>
</el-form-item>
</el-col>
</el-row>
<div
class=
"subtitle"
>
评审成员
</div>
<el-form-item
label=
"评审人员"
>
<div>
组长-xxx
</div>
<div>
组员-xxx、xxx、xxx
</div>
<div
class=
"assessor-text"
>
<div
style=
"margin-bottom: 10px"
>
组长-xxx
</div>
<div>
组员-xxx、xxx、xxx
</div>
</div>
</el-form-item>
<div
class=
"subtitle"
>
附加信息
</div>
<el-form-item
label=
"备注信息"
>
...
...
@@ -93,15 +103,18 @@
placeholder=
"请输入备注信息"
maxlength=
"100"
show-word-limit
:autosize=
"
{ minRows:
6
, maxRows: 6 }"
style="width: 350px
"
:autosize=
"
{ minRows:
3
, maxRows: 6 }"
resize="none
"
>
</el-input>
</el-form-item>
</el-form>
<div
class=
"create-review-footer"
>
<el-button
type=
"primary"
class=
"next-button"
@
click=
"handleConfirm"
>
确认发起
</el-button
><span
class=
"el-icon-check"
style=
"margin-right: 6px"
/>
确认发起
</el-button
>
</div>
</div>
...
...
@@ -151,6 +164,15 @@ export default {
<
style
lang=
"scss"
scoped
>
.review-data
{
.standard-text
{
width
:
100%
;
text-align
:
center
;
font-size
:
14px
;
font-family
:
Microsoft
YaHei
,
Microsoft
YaHei-400
;
font-weight
:
400
;
color
:
#606266
;
line-height
:
18px
;
}
.create-review-footer
{
margin-top
:
50px
;
text-align
:
center
;
...
...
@@ -160,5 +182,25 @@ export default {
width
:
150px
;
}
}
.assessor-text
{
background
:
#f5f5f5
;
border
:
1px
solid
#d9d9d9
;
border-radius
:
4px
;
padding
:
7px
10px
;
font-family
:
Microsoft
YaHei
,
Microsoft
YaHei-400
;
font-weight
:
400
;
text-align
:
left
;
color
:
#606266
;
line-height
:
16px
;
}
::v-deep
.el-form-item.is-required
:not
(
.is-no-asterisk
)
>
.el-form-item__label
:before
,
.el-form-item.is-required
:not
(
.is-no-asterisk
)
.el-form-item__label-wrap
>
.el-form-item__label
:before
{
float
:
right
;
margin-left
:
4px
;
margin-right
:
0
;
}
}
</
style
>
src/views/task/new/components/CarInfo.vue
0 → 100644
View file @
aa5c813c
<
template
>
<div
class=
"car-info"
>
<el-card
v-for=
"(card, index) in cards"
:key=
"index"
class=
"box-card"
>
<div
style=
"text-align: right"
>
<span
type=
"text"
class=
"el-icon-close"
style=
"cursor: pointer"
@
click=
"removeCard(index)"
/>
</div>
<el-form
label-position=
"top"
>
<el-form-item
label=
"车辆识别码(VIN)"
>
<el-select
v-model=
"card.code"
clearable
>
<el-option
key=
"1"
value=
"1"
label=
"汽车整车信息安全技术要求"
></el-option>
<el-option
key=
"2"
value=
"2"
label=
"xxxxx软件升级要求"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"样品编号"
>
<el-select
v-model=
"card.number"
clearable
>
<el-option
key=
"1"
value=
"1"
label=
"汽车整车信息安全技术要求"
></el-option>
<el-option
key=
"2"
value=
"2"
label=
"xxxxx软件升级要求"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"样品名称"
>
<el-input
v-model=
"card.name"
disabled
/>
</el-form-item>
</el-form>
</el-card>
<div
class=
"box-card-add"
@
click=
"addCard"
>
<span
class=
"el-icon-plus"
/>
</div>
</div>
</
template
>
<
script
>
export
default
{
name
:
'CarInfo'
,
model
:
{
prop
:
'cards'
,
event
:
'change'
},
props
:
{
cards
:
{
type
:
Array
,
default
:
()
=>
[]
}
},
methods
:
{
addCard
()
{
this
.
cards
.
push
({
code
:
''
,
number
:
''
,
name
:
''
})
this
.
emitChange
()
},
removeCard
(
index
)
{
this
.
cards
.
splice
(
index
,
1
)
this
.
emitChange
()
},
emitChange
()
{
this
.
$emit
(
'change'
,
this
.
cards
)
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.car-info
{
display
:
flex
;
justify-content
:
flex-start
;
flex-wrap
:
wrap
;
.box-card
{
width
:
500px
;
height
:
277px
;
margin-bottom
:
20px
;
margin-right
:
40px
;
}
.box-card-add
{
width
:
500px
;
height
:
277px
;
background
:
#f3f8fd
;
border
:
2px
dashed
#d9d9d9
;
border-radius
:
4px
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
font-size
:
60px
;
color
:
#969696
;
cursor
:
pointer
;
}
.box-card
,
.box-card-add
{
flex
:
0
0
500px
;
// 不允许子元素在主轴方向上伸缩
height
:
277px
;
}
.select-group
{
margin-top
:
15px
;
}
.card-header-btn
{
float
:
right
;
}
::v-deep
.el-select
,
.el-input
{
width
:
463
.44px
;
}
::v-deep
.el-form-item
{
margin-bottom
:
0
;
}
::v-deep
.el-form--label-top
.el-form-item__label
{
padding-bottom
:
0px
;
}
}
</
style
>
src/views/task/new/components/PartInfo.vue
0 → 100644
View file @
aa5c813c
<
template
>
<div
class=
"part-info"
>
<el-card
v-for=
"(card, index) in cards"
:key=
"index"
class=
"box-card"
>
<div
style=
"text-align: right"
>
<span
type=
"text"
class=
"el-icon-close"
style=
"cursor: pointer"
@
click=
"removeCard(index)"
/>
</div>
<el-form
label-position=
"top"
>
<el-form-item
label=
"样品编号"
>
<el-select
v-model=
"card.number"
clearable
>
<el-option
key=
"1"
value=
"1"
label=
"汽车整车信息安全技术要求"
></el-option>
<el-option
key=
"2"
value=
"2"
label=
"xxxxx软件升级要求"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"样品名称"
>
<el-input
v-model=
"card.name"
disabled
/>
</el-form-item>
</el-form>
</el-card>
<div
class=
"box-card-add"
@
click=
"addCard"
>
<span
class=
"el-icon-plus"
/>
</div>
</div>
</
template
>
<
script
>
export
default
{
name
:
'PartInfo'
,
model
:
{
prop
:
'cards'
,
event
:
'change'
},
props
:
{
cards
:
{
type
:
Array
,
default
:
()
=>
[]
}
},
methods
:
{
addCard
()
{
this
.
cards
.
push
({
code
:
''
,
number
:
''
,
name
:
''
})
this
.
emitChange
()
},
removeCard
(
index
)
{
this
.
cards
.
splice
(
index
,
1
)
this
.
emitChange
()
},
emitChange
()
{
this
.
$emit
(
'change'
,
this
.
cards
)
}
}
}
</
script
>
<
style
lang=
"scss"
scoped
>
.part-info
{
display
:
flex
;
justify-content
:
flex-start
;
flex-wrap
:
wrap
;
.box-card
{
width
:
500px
;
margin-bottom
:
20px
;
margin-right
:
40px
;
}
.box-card-add
{
width
:
500px
;
background
:
#f3f8fd
;
border
:
2px
dashed
#d9d9d9
;
border-radius
:
4px
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
font-size
:
60px
;
color
:
#969696
;
cursor
:
pointer
;
}
.box-card
,
.box-card-add
{
flex
:
0
0
500px
;
// 不允许子元素在主轴方向上伸缩
height
:
201px
;
}
.select-group
{
margin-top
:
15px
;
}
.card-header-btn
{
float
:
right
;
}
::v-deep
.el-select
,
.el-input
{
width
:
463
.44px
;
}
::v-deep
.el-form-item
{
margin-bottom
:
0
;
}
::v-deep
.el-form--label-top
.el-form-item__label
{
padding-bottom
:
0px
;
}
}
</
style
>
src/views/task/new/index.vue
View file @
aa5c813c
...
...
@@ -24,18 +24,25 @@
<!-- >车型检验任务-->
<!--
</el-button>
-->
<!--
</el-form-item>
-->
<el-form-item
label=
"对应标准"
>
<el-select
v-model=
"formType"
clearable
>
<el-option
key=
"1"
value=
"1"
label=
"汽车整车信息安全技术要求"
></el-option>
<el-option
key=
"2"
value=
"2"
label=
"xxxxx软件升级要求"
></el-option>
</el-select>
</el-form-item>
<div
class=
"subtitle"
>
基础信息
</div>
<el-row
:gutter=
"20"
>
<el-col
:span=
"8"
>
<el-form-item
label=
"对应标准"
>
<el-select
v-model=
"formType"
style=
"width: 100%"
clearable
>
<el-option
key=
"1"
value=
"1"
label=
"汽车整车信息安全技术要求"
></el-option>
<el-option
key=
"2"
value=
"2"
label=
"xxxxx软件升级要求"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row
:gutter=
"20"
>
<el-col
:span=
"8"
>
<el-form-item
label=
"任务编号"
prop=
"no"
>
...
...
@@ -388,6 +395,12 @@
</div>
</div>
</div>
<!-- 整车样品信息 -->
<div
class=
"subtitle"
style=
"margin-top: 20px"
>
整车样品信息
</div>
<CarInfo
v-model=
"carInfoArr"
/>
<!-- 零件样品信息 -->
<div
class=
"subtitle"
style=
"margin-top: 20px"
>
零件样品信息
</div>
<PartInfo
v-model=
"partInfoArr"
/>
</el-form>
<div
class=
"bottom-button"
>
...
...
@@ -412,6 +425,8 @@
<
script
>
import
Sortable
from
'sortablejs'
import
{
manufacturerData
}
from
'../../../api/task/new'
import
CarInfo
from
'./components/CarInfo'
import
PartInfo
from
'./components/PartInfo'
export
default
{
dicts
:
[
'sys_task_status'
,
...
...
@@ -419,8 +434,25 @@ export default {
'confidentiality_level'
,
'test_scenario'
],
components
:
{
CarInfo
,
PartInfo
},
data
()
{
return
{
carInfoArr
:
[
{
code
:
''
,
number
:
''
,
name
:
''
}
],
partInfoArr
:
[
{
number
:
''
,
name
:
''
}
],
websock
:
null
,
name
:
''
,
formType
:
'1'
,
...
...
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