Commit aa5c813c authored by hanshaozhuang's avatar hanshaozhuang

Merge remote-tracking branch 'origin/dev-hanshaozhuang' into develop

parents 367b17f3 19c0703d
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
:inline="true" :inline="true"
> >
<el-form-item label="对应标准"> <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 <el-option
key="1" key="1"
value="1" value="1"
...@@ -20,8 +20,8 @@ ...@@ -20,8 +20,8 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div v-if="pageIndex === 1" style="display: flex"> <div v-if="pageIndex === 1">
<div style="flex-shrink: 0"> <div class="review-data-title">
发起评审({{ 发起评审({{
selectDictLabel( selectDictLabel(
dict.type.create_review_type, dict.type.create_review_type,
...@@ -33,24 +33,18 @@ ...@@ -33,24 +33,18 @@
formModel.reviewSubtype formModel.reviewSubtype
) )
}} }}
<div class="review-data-return" @click="handleGoBack">
<span class="el-icon-back" />返回
</div> </div>
<div
style="
flex-grow: 1;
text-align: right;
color: #1890ff;
text-decoration: underline;
cursor: pointer;
"
@click="handleGoBack"
>
返回
</div> </div>
</div> </div>
</div> </div>
<div v-if="pageIndex === 0" class="create-review-content"> <div v-if="pageIndex === 0" class="create-review-content">
<div class="center-tip"> <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-tip-text">请选择要发起的评审类型</div>
<div class="center-top-text-small">只能选择一种类型</div> <div class="center-top-text-small">只能选择一种类型</div>
</div> </div>
...@@ -75,7 +69,10 @@ ...@@ -75,7 +69,10 @@
</div> </div>
<div class="create-review-footer"> <div class="create-review-footer">
<el-button type="primary" class="next-button" @click="pageIndex = 1" <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>
</div> </div>
...@@ -122,6 +119,28 @@ export default { ...@@ -122,6 +119,28 @@ export default {
</script> </script>
<style lang="scss" scoped> <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 { .create-review-content {
width: 100%; width: 100%;
margin-top: 50px; margin-top: 50px;
...@@ -130,9 +149,9 @@ export default { ...@@ -130,9 +149,9 @@ export default {
flex-direction: column; flex-direction: column;
align-items: center; align-items: center;
.center-tip { .center-tip {
width: 400px; width: 574px;
height: 200px; height: 252px;
border: 1px solid #bbbbbb; border: 1px solid #ebebeb;
margin-bottom: 50px; margin-bottom: 50px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
...@@ -140,17 +159,22 @@ export default { ...@@ -140,17 +159,22 @@ export default {
align-items: center; align-items: center;
text-align: center; text-align: center;
.icon-custon-style { .icon-custon-style {
font-size: 90px; width: 139px;
color: #00afff; height: 124px;
border: 1px dashed #ebebeb;
} }
.center-tip-text { .center-tip-text {
font-size: 18px; color: #303133;
font-weight: bold; font-size: 16px;
font-family: Microsoft YaHei, Microsoft YaHei-400;
font-weight: 400;
margin: 10px 0; margin: 10px 0;
} }
.center-top-text-small { .center-top-text-small {
font-size: 12px; font-size: 14px;
color: #bbbbbb; font-family: Microsoft YaHei, Microsoft YaHei-400;
font-weight: 400;
color: #f9a221;
} }
} }
.review-type-content { .review-type-content {
...@@ -168,7 +192,7 @@ export default { ...@@ -168,7 +192,7 @@ export default {
display: flex; display: flex;
justify-content: center; justify-content: center;
.next-button { .next-button {
width: 150px; width: 130px;
} }
} }
} }
......
...@@ -3,15 +3,17 @@ ...@@ -3,15 +3,17 @@
<el-form <el-form
:model="formModel" :model="formModel"
:rules="formRules" :rules="formRules"
label-suffix=":"
label-width="200px" label-width="200px"
label-position="top"
> >
<el-form-item label="对应标准" label-width="72px"> <div class="standard-text">对应标准:汽车整车信息安全技术要求</div>
汽车整车信息安全技术要求
</el-form-item>
<div class="subtitle">评审对象</div> <div class="subtitle">评审对象</div>
<el-form-item label="条款分类" prop="tiaokuanfenlei"> <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 <el-option
v-for="dict in dict.type.sys_scene_type" v-for="dict in dict.type.sys_scene_type"
:key="dict.value" :key="dict.value"
...@@ -20,7 +22,7 @@ ...@@ -20,7 +22,7 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="条款分类" prop="biaozhuntiuaokuan"> <el-form-item label="标准条款" prop="biaozhuntiuaokuan">
<el-button type="primary" plain @click="handleReSelect" <el-button type="primary" plain @click="handleReSelect"
>重新选择标准条款</el-button >重新选择标准条款</el-button
> >
...@@ -55,6 +57,8 @@ ...@@ -55,6 +57,8 @@
</div> </div>
</div> </div>
</el-form-item> </el-form-item>
<el-row :gutter="41">
<el-col span="12">
<el-form-item label="审查要点" prop="shenchayaodian"> <el-form-item label="审查要点" prop="shenchayaodian">
<el-input <el-input
v-model="formModel.shenchayaodian" v-model="formModel.shenchayaodian"
...@@ -62,11 +66,13 @@ ...@@ -62,11 +66,13 @@
placeholder="请输入审查要点" placeholder="请输入审查要点"
maxlength="100" maxlength="100"
show-word-limit show-word-limit
:autosize="{ minRows: 6, maxRows: 6 }" :autosize="{ minRows: 4, maxRows: 6 }"
style="width: 350px" resize="none"
> >
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-col>
<el-col span="12">
<el-form-item label="审查细则" prop="shenchaxize"> <el-form-item label="审查细则" prop="shenchaxize">
<el-input <el-input
v-model="formModel.shenchaxize" v-model="formModel.shenchaxize"
...@@ -74,16 +80,20 @@ ...@@ -74,16 +80,20 @@
placeholder="请输入审查细则" placeholder="请输入审查细则"
maxlength="100" maxlength="100"
show-word-limit show-word-limit
:autosize="{ minRows: 6, maxRows: 6 }" :autosize="{ minRows: 4, maxRows: 6 }"
style="width: 350px" resize="none"
> >
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-col>
</el-row>
<div class="subtitle">评审成员</div> <div class="subtitle">评审成员</div>
<el-form-item label="评审人员"> <el-form-item label="评审人员">
<div>组长-xxx</div> <div class="assessor-text">
<div style="margin-bottom: 10px">组长-xxx</div>
<div>组员-xxx、xxx、xxx</div> <div>组员-xxx、xxx、xxx</div>
</div>
</el-form-item> </el-form-item>
<div class="subtitle">附加信息</div> <div class="subtitle">附加信息</div>
<el-form-item label="备注信息"> <el-form-item label="备注信息">
...@@ -93,15 +103,18 @@ ...@@ -93,15 +103,18 @@
placeholder="请输入备注信息" placeholder="请输入备注信息"
maxlength="100" maxlength="100"
show-word-limit show-word-limit
:autosize="{ minRows: 6, maxRows: 6 }" :autosize="{ minRows: 3, maxRows: 6 }"
style="width: 350px" resize="none"
> >
</el-input> </el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="create-review-footer"> <div class="create-review-footer">
<el-button type="primary" class="next-button" @click="handleConfirm" <el-button type="primary" class="next-button" @click="handleConfirm"
>确认发起</el-button ><span
class="el-icon-check"
style="margin-right: 6px"
/>确认发起</el-button
> >
</div> </div>
</div> </div>
...@@ -151,6 +164,15 @@ export default { ...@@ -151,6 +164,15 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.review-data { .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 { .create-review-footer {
margin-top: 50px; margin-top: 50px;
text-align: center; text-align: center;
...@@ -160,5 +182,25 @@ export default { ...@@ -160,5 +182,25 @@ export default {
width: 150px; 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> </style>
<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>
<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>
...@@ -24,18 +24,25 @@ ...@@ -24,18 +24,25 @@
<!-- >车型检验任务--> <!-- >车型检验任务-->
<!-- </el-button>--> <!-- </el-button>-->
<!-- </el-form-item>--> <!-- </el-form-item>-->
<div class="subtitle">基础信息</div>
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="对应标准"> <el-form-item label="对应标准">
<el-select v-model="formType" clearable> <el-select v-model="formType" style="width: 100%" clearable>
<el-option <el-option
key="1" key="1"
value="1" value="1"
label="汽车整车信息安全技术要求" label="汽车整车信息安全技术要求"
></el-option> ></el-option>
<el-option key="2" value="2" label="xxxxx软件升级要求"></el-option> <el-option
key="2"
value="2"
label="xxxxx软件升级要求"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col>
<div class="subtitle">基础信息</div> </el-row>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="任务编号" prop="no"> <el-form-item label="任务编号" prop="no">
...@@ -388,6 +395,12 @@ ...@@ -388,6 +395,12 @@
</div> </div>
</div> </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> </el-form>
<div class="bottom-button"> <div class="bottom-button">
...@@ -412,6 +425,8 @@ ...@@ -412,6 +425,8 @@
<script> <script>
import Sortable from 'sortablejs' import Sortable from 'sortablejs'
import { manufacturerData } from '../../../api/task/new' import { manufacturerData } from '../../../api/task/new'
import CarInfo from './components/CarInfo'
import PartInfo from './components/PartInfo'
export default { export default {
dicts: [ dicts: [
'sys_task_status', 'sys_task_status',
...@@ -419,8 +434,25 @@ export default { ...@@ -419,8 +434,25 @@ export default {
'confidentiality_level', 'confidentiality_level',
'test_scenario' 'test_scenario'
], ],
components: {
CarInfo,
PartInfo
},
data() { data() {
return { return {
carInfoArr: [
{
code: '',
number: '',
name: ''
}
],
partInfoArr: [
{
number: '',
name: ''
}
],
websock: null, websock: null,
name: '', name: '',
formType: '1', formType: '1',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment