Commit d15d61b9 authored by 小费同学阿's avatar 小费同学阿 💬

Merge branch 'develop' of http://gitlab.91isoft.com:90/car-test/web into developer/feijinlian

parents 4d14c642 326171f0
......@@ -619,6 +619,7 @@ export default {
},
/* 返回跳转*/
goToProcessedReview() {
this.$modal.msgSuccess('确认提交成功')
this.$router.push('/task/on')
},
getRows(i) {
......
......@@ -129,6 +129,24 @@
/>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="保密等级" prop="confidentialityLevel">
<el-select
v-model="model.confidentialityLevel"
placeholder="请选择"
clearable
style="width: 100%"
>
<el-option
v-for="(item, index) in dict.type.confidentiality_level"
:key="index"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<div class="subtitle">小组信息</div>
<el-table
......@@ -151,6 +169,7 @@
:key="index"
:label="item.name"
:value="item.name"
:disabled="item.disabled"
>
</el-option>
</el-select>
......@@ -200,7 +219,7 @@
type="primary"
icon="el-icon-edit"
plain
@click="handleSavePeople()"
@click="handleSavePeople(scope.row)"
>
保存
</el-button>
......@@ -238,25 +257,30 @@
</el-col>
<el-col :span="8">
<el-form-item label="生产企业" prop="productionEnterprise">
<el-input
<el-select
v-model="model.productionEnterprise"
placeholder="请输入"
placeholder="请选择"
clearable
/>
filterable
style="width: 100%"
>
<el-option
v-for="(item, index) in productionEnterpriseList"
:key="index"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="商标" prop="trademark">
<el-upload
class="avatar-uploader"
action="https://jsonplaceholder.typicode.com/posts/"
:show-file-list="false"
:on-success="handleAvatarSuccess"
:before-upload="beforeAvatarUpload"
>
<img v-if="imageUrl" :src="imageUrl" class="avatar" />
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
<ImageUpload
v-model="model.trademark"
:is-show-tip="false"
:limit="1"
></ImageUpload>
</el-form-item>
</el-col>
<el-col :span="8">
......@@ -351,7 +375,7 @@
</template>
<script>
export default {
dicts: ['sys_task_status', 'sys_pro'],
dicts: ['sys_task_status', 'sys_pro', 'confidentiality_level'],
data() {
return {
name: '',
......@@ -366,7 +390,7 @@ export default {
{ required: true, message: '任务名称不能为空', trigger: 'blur' }
],
taskStatus: [
{ required: true, message: '任务状态不能为空', trigger: 'blur' }
{ required: true, message: '任务状态不能为空', trigger: 'change' }
],
productName: [
{ required: true, message: '产品名称不能为空', trigger: 'blur' }
......@@ -396,14 +420,17 @@ export default {
vehicleIdentificationNumber: [
{ required: true, message: '车辆识别码不能为空', trigger: 'blur' }
],
confidentialityLevel: [
{ required: true, message: '保密等级不能为空', trigger: 'change' }
],
sampleName: [
{ required: true, message: '样品名称不能为空', trigger: 'blur' }
],
productionEnterprise: [
{ required: true, message: '生产企业不能为空', trigger: 'blur' }
{ required: true, message: '生产企业不能为空', trigger: 'change' }
],
trademark: [
{ required: true, message: '商标不能为空', trigger: 'blur' }
{ required: true, message: '商标不能为空', trigger: 'change' }
],
sampleSender: [
{ required: true, message: '送样者不能为空', trigger: 'blur' }
......@@ -421,25 +448,63 @@ export default {
{ required: true, message: '检验依据不能为空', trigger: 'blur' }
],
inspectionItem: [
{ required: true, message: '检验项目不能为空', trigger: 'blur' }
{ required: true, message: '检验项目不能为空', trigger: 'change' }
]
},
userList: [
{ name: '小明', role: '组长', dept: '第一部门' },
{ name: '小华', role: '组员', dept: '第一部门' },
{ name: '小三', role: '组员', dept: '第一部门' },
{ name: '小四', role: '组员', dept: '第一部门' },
{ name: '小五', role: '组员', dept: '第一部门' }
{ name: '老大', role: '组长', dept: '第一部门' },
{ name: '老二', role: '组员', dept: '第一部门' },
{ name: '老三', role: '组员', dept: '第一部门' },
{ name: '老四', role: '组员', dept: '第一部门' },
{ name: '老五', role: '组员', dept: '第一部门' }
],
imageUrl: '',
productionEnterpriseList: [
{
value: 0,
label: '车企一'
},
{
value: 1,
label: '车企二'
},
{
value: 2,
label: '车企三'
},
{
value: 3,
label: '车企四'
},
{
value: 4,
label: '车企五'
}
]
}
},
watch: {
'model.trademark': {
handler(newValue, oldValue) {
if (newValue) {
console.log('aaa')
this.$refs.form.clearValidate('trademark')
} else {
this.$refs.form.validateField('trademark')
}
}
}
},
methods: {
/**
* 小组信息修改
* @param row 行内信息
*/
handleUpdate(row) {
row.name = ''
console.log('修改', row)
// 取消禁用
this.userList.find(item => item.name === row.name).disabled = false
this.tableData.find(item => item.name === row.name).name = ''
},
/**
* 小组信息删除
......@@ -456,18 +521,22 @@ export default {
confirmButtonClass: 'queryBtn'
}).then(() => {
this.tableData = this.tableData.filter(item => item.name !== row.name)
// 把当前人取消禁用
this.userList.find(item => item.name === row.name).disabled = false
})
},
/**
* 保存人员
* @param row
*/
handleSavePeople() {
console.log('name', this.name)
handleSavePeople(row) {
const obj = this.userList.find(item => item.name === this.name)
this.tableData[this.tableData.length - 1].name = this.name
this.tableData[this.tableData.length - 1].dept = obj.dept
this.tableData[this.tableData.length - 1].role = obj.role
const currentData = this.tableData.find(item => item.name === row.name)
currentData.name = this.name
currentData.dept = obj.dept
currentData.role = obj.role
// 已被选择的人做禁用
this.userList.find(item => item.name === this.name).disabled = true
this.name = ''
},
/**
......@@ -482,11 +551,17 @@ export default {
* 添加小组成员点击按钮
*/
handleAddNumber() {
console.log('aaa', this.tableData)
console.log('添加小组人', this.tableData)
// 检验
if (this.tableData.length >= 1) {
const lastObj = this.tableData[this.tableData.length - 1]
if (lastObj.name === '') {
let num = 0
this.tableData.forEach(item => {
if (item.name === '') {
num++
}
})
if (lastObj.name === '' || num === 1) {
this.$message.error('请填写完此成员信息')
return
} else {
......@@ -495,10 +570,6 @@ export default {
} else {
this.tableData.push({ name: '' })
}
// userList数组减去tableData数组相同的对象
this.userList = this.userList.filter(
itemA => !this.tableData.some(itemB => itemA.name === itemB.name)
)
},
handleNameChange(value) {},
handleAvatarSuccess(res, file) {
......@@ -520,7 +591,10 @@ export default {
handleAdd() {
this.$refs.form.validate(valid => {
if (valid) {
console.log('aaaa')
this.$modal.msgSuccess('发布成功')
this.$router.push({
path: '/task/on'
})
}
})
},
......@@ -528,7 +602,7 @@ export default {
handleSave() {
this.$refs.form.validate(valid => {
if (valid) {
console.log('aaaa')
this.$modal.msgSuccess('暂存成功')
}
})
}
......
......@@ -18,10 +18,17 @@
<el-row>
<!-- 步骤条 -->
<el-col :span="2">
<div class="left-content" style="height: 300px">
<div class="left-content" style="height: 300px; width: 110px">
<div v-for="(item, index) in circleList" :key="index">
<div
:class="{
'exclamation-point': item.problem === true,
'no-exclamation-point': item.problem === false
}"
>
<div v-show="item.problem" class="exclamation">!</div>
</div>
<div
v-for="(item, index) in circleList"
:key="index"
:class="{
'select-circle': item.checked === true,
'no-select-circle': item.checked === false
......@@ -30,6 +37,10 @@
>
<span class="inner-text">{{ item.id }}</span>
</div>
<span v-show="item.tick" class="tick-class">
<i class="el-icon-check" />
</span>
</div>
</div>
</el-col>
<!-- 内容 -->
......@@ -57,20 +68,22 @@
>车辆制造商是否能够提供/展示汽车信息安全管理制度文件,制度文件应定义信息安全政策以及信息安全规则和流程,信息安全政策应致力于管理与车辆制造商活动相关的信息安全风险。</span
>
</el-form-item>
<el-form-item label="符合场景">
<el-button type="warning" @click="handleAddScene">
新增场景
<el-form-item :label="'符合场景'">
<template slot="label">
<span>符合场景</span>
<el-button
class="label-btn"
size="mini"
type="warning"
@click="handleAddScene"
>
<span>新增场景</span>
</el-button>
</template>
<div class="match-scene">
<el-checkbox v-model="checked">
1.管理制度发布会红头文件
</el-checkbox>
<el-checkbox v-model="checkedTwo">
2.管理制度正式发布会议纪要
</el-checkbox>
<el-checkbox v-model="checkedThree">
3.专用系统正式发布流程或记录
</el-checkbox>
<div>1.管理制度发布会红头文件</div>
<div>2.管理制度正式发布会议纪要</div>
<div>3.专用系统正式发布流程或记录</div>
</div>
</el-form-item>
<el-form-item label="审查结果">
......@@ -216,22 +229,26 @@
</el-card>
</el-form-item>
<el-form-item label="条目填写人">
<span></span>
<span>小刚</span>
</el-form-item>
</el-form>
</el-col>
</el-row>
</div>
<div class="bottom-btn">
<el-button type="warning">保存当前条目</el-button>
<el-button type="primary">提交问卷</el-button>
<el-button type="warning" @click="saveCurrentItem">
保存当前条目
</el-button>
<el-button type="primary" @click="submitQuestionnaire"
>提交问卷</el-button
>
</div>
</el-card>
<!-- 新增场景对话框 -->
<el-dialog
title="新增场景对话框"
:visible.sync="senceDialogVisible"
width="30%"
width="35%"
append-to-body
:close-on-click-modal="false"
:close-on-press-escape="false"
......@@ -256,6 +273,7 @@
<el-select
v-model="sceneForm.reviewType"
placeholder="请选择评审类型"
style="width: 100%"
>
<el-option
v-for="item in reviewTypeOptions"
......@@ -269,6 +287,7 @@
<el-select
v-model="sceneForm.sceneClassification"
placeholder="请选择评审类型"
style="width: 100%"
>
<el-option
v-for="item in reviewTypeOptions"
......@@ -319,16 +338,16 @@ export default {
form: {},
checked: false,
circleList: [
{ id: 1, checked: true },
{ id: 2, checked: false },
{ id: 3, checked: false },
{ id: 4, checked: false },
{ id: 5, checked: false },
{ id: 6, checked: false },
{ id: 7, checked: false },
{ id: 8, checked: false },
{ id: 9, checked: false },
{ id: 10, checked: false }
{ id: 1, checked: false, problem: false, tick: true },
{ id: 2, checked: true, problem: false, tick: false },
{ id: 3, checked: false, problem: true, tick: false },
{ id: 4, checked: false, problem: false, tick: false },
{ id: 5, checked: false, problem: false, tick: false },
{ id: 6, checked: false, problem: false, tick: false },
{ id: 7, checked: false, problem: false, tick: false },
{ id: 8, checked: false, problem: false, tick: false },
{ id: 9, checked: false, problem: false, tick: false },
{ id: 10, checked: false, problem: false, tick: false }
],
fileRules: {
enterpriseName: [
......@@ -384,6 +403,9 @@ export default {
reviewTypeOptions: []
}
},
created() {
console.log('人', this.$store.state.user.name)
},
methods: {
/**
* 点击左侧圆圈触发的回调函数
......@@ -404,6 +426,14 @@ export default {
this.senceDialogVisible = true
console.log('a')
},
// 保存当前条目
saveCurrentItem() {
this.$modal.msgSuccess('保存当前条目成功')
},
submitQuestionnaire() {
this.$modal.msgSuccess('提交问卷成功')
this.$router.back()
},
// 新增场景对话框关闭时触发的回调函数
handleSceneClose() {
this.senceDialogVisible = false
......@@ -455,6 +485,43 @@ export default {
}
}
.left-content {
.tick-class {
float: right;
position: relative;
top: -1.8em;
left: -1em;
i {
color: #25c173;
}
}
.no-exclamation-point {
float: left;
width: 1px;
height: 1px;
padding-left: 30px;
}
.exclamation-point {
float: left;
margin-top: 6px;
margin-right: 10px;
position: relative;
width: 20px;
height: 20px;
border: 2px solid #f56c6c;
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
font-size: 24px;
font-weight: bold;
margin-bottom: 5px;
.exclamation {
position: absolute;
font-size: 12px;
color: #f56c6c;
font-weight: bold;
}
}
.no-select-circle {
cursor: pointer;
width: 35px;
......@@ -528,10 +595,11 @@ export default {
}
}
.file-prompt {
margin: 10px 0 10px 0;
margin: 0 0 10px 0;
padding: 10px;
background-color: #ebf5ff;
div {
font-size: 12px;
padding-left: 10px;
i {
color: #409eff;
......@@ -539,4 +607,12 @@ export default {
}
}
}
.label-btn {
width: 60px;
span {
font-size: 12px;
position: relative;
right: 9px;
}
}
</style>
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