Commit bbbf7e22 authored by 高滢's avatar 高滢

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

parents c5f3d8f2 0a109fa5
......@@ -7,5 +7,5 @@ ENV = 'staging'
# 中汽研安全检测平台管理系统/开发环境
VUE_APP_BASE_API = 'http://49.232.167.247:22032'
# 图片服务器地址
VUE_APP_IMAGE_API = http://49.232.167.247:22039
VUE_APP_IMAGE_API = http://49.232.167.247:22037
......@@ -385,3 +385,10 @@ aside {
// background-color: #ffffff;
color: #1a6fd7;
}
.el-textarea__inner {
font-family: 微软雅黑;
}
.el-input__inner{
font-family: 微软雅黑;
}
......@@ -16,7 +16,7 @@ const service = axios.create({
// axios中请求配置有baseURL选项,表示请求URL公共部分
baseURL: process.env.VUE_APP_BASE_API,
// 超时
timeout: 10000
timeout: 100000
})
// request拦截器
......
......@@ -193,13 +193,13 @@
v-if="reviewDetail.result.passed === 1"
size="medium"
type="success"
>通过</el-tag
>符合</el-tag
>
<el-tag
v-if="reviewDetail.result.passed === 0"
size="medium"
type="danger"
>通过</el-tag
>符合</el-tag
>
</div>
<div v-else>__</div>
......
......@@ -190,13 +190,13 @@
v-if="reviewDetail.result.passed === 1"
size="medium"
type="success"
>通过</el-tag
>符合</el-tag
>
<el-tag
v-if="reviewDetail.result.passed === 0"
size="medium"
type="danger"
>通过</el-tag
>符合</el-tag
>
</td>
<td align="center">
......
......@@ -4,7 +4,7 @@
<div class="warn-prompt">该文件第一次出现,请维护如下相关信息</div>
<div class="file-box">
<div class="file-box-header">企业文件信息</div>
<div class="file-box-header">车企文件信息</div>
<el-form
ref="fileRef"
:model="model"
......
......@@ -81,13 +81,13 @@
v-if="reviewDetail.result.passed === 1"
size="medium"
type="success"
>通过</el-tag
>符合</el-tag
>
<el-tag
v-if="reviewDetail.result.passed === 0"
size="medium"
type="danger"
>通过</el-tag
>符合</el-tag
>
</div>
<div v-else>__</div>
......
......@@ -9,14 +9,14 @@
>
返回
</header-button>
<header-button
<!-- <header-button
class="back-btn"
icon="to-bottom"
type="default"
@click="download()"
>
下载文件
</header-button>
</header-button> -->
</div>
<div class="task">
<div class="task-item">
......
......@@ -190,13 +190,13 @@
v-if="reviewDetail.result.passed === 1"
size="medium"
type="success"
>通过</el-tag
>符合</el-tag
>
<el-tag
v-if="reviewDetail.result.passed === 0"
size="medium"
type="danger"
>通过</el-tag
>符合</el-tag
>
</td>
<td align="center">
......
......@@ -25,7 +25,7 @@
</span>
</div>
<div class="task-item">
<span class="task-label">委托单位:</span>
<span class="task-label">任务状态:</span>
<span class="task-content">
{{
getDictData(
......
......@@ -193,13 +193,13 @@
v-if="reviewDetail.result.passed === 1"
size="medium"
type="success"
>通过</el-tag
>符合</el-tag
>
<el-tag
v-if="reviewDetail.result.passed === 0"
size="medium"
type="danger"
>通过</el-tag
>符合</el-tag
>
</div>
<div v-else>__</div>
......
......@@ -4,7 +4,7 @@
<div class="warn-prompt">该文件第一次出现,请维护如下相关信息</div>
<div class="file-box">
<div class="file-box-header">企业文件信息</div>
<div class="file-box-header">车企文件信息</div>
<el-form
ref="fileRef"
:model="model"
......
......@@ -81,13 +81,13 @@
v-if="reviewDetail.result.passed === 1"
size="medium"
type="success"
>通过</el-tag
>符合</el-tag
>
<el-tag
v-if="reviewDetail.result.passed === 0"
size="medium"
type="danger"
>通过</el-tag
>符合</el-tag
>
</div>
<div v-else>__</div>
......
......@@ -354,9 +354,9 @@
@click.native="handleFileLibrary(item)"
></page-button>
<page-button
v-if="item.runStatus === 'RUNNABLE'"
v-if="item.runStatus === 'RUNNABLE' && userId == item.leaderId"
icon="play-one"
title="开始体系审查"
title="开始"
class="button-item"
@click.native="startTask(item)"
></page-button>
......@@ -386,7 +386,7 @@ import page from '@/mixins/page'
import taskDialog from './components/dialog'
import { getHourDiff } from '@/utils/diff'
import { mapGetters } from 'vuex'
import { reviewTaskStart, reviewCarTaskStart } from '@/api/task/task'
import { reviewTaskStart } from '@/api/task/task'
import request from '@/utils/request'
export default {
dicts: [
......@@ -446,74 +446,6 @@ export default {
path: '/processing/fileLibrary?id=' + item.id
})
},
/**
* 体系审查开始按钮状态
* @param {*} item 单项数据
*/
systemReviewTaskShow(item) {
let status = false
// 体系审查为New
if (item.systemReview === 'NEW') {
status = true
} else {
status = false
}
// 判断是否是审核组长id
if (this.userId === item.leaderId) {
status = true
} else {
status = false
}
return status
},
/**
* 车型审查开始按钮状态
* @param {*} item 单项数据
*/
carReviewTaskShow(item) {
let status = false
// 车型审查为New 体系审查已完成或未选
if (
(item.systemReview === 'NONE' || item.systemReview === 'FINISH') &&
item.carReviewStatus === 'NEW'
) {
status = true
} else {
status = false
}
// 判断是否是审核组长id
if (this.userId === item.leaderId) {
status = true
} else {
status = false
}
return status
},
/**
* 测试任务开始按钮状态
* @param {*} item 单项数据
*/
carTestTaskShow(item) {
let status = false
// 体系测试为New 体系审查已完成或未选 车型审查已完成或未选
if (
(item.systemReview === 'NONE' || item.systemReview === 'FINISH') &&
(item.carReviewStatus === 'NONE' ||
item.carReviewStatus === 'FINISH') &&
item.carTestStatus === 'NEW'
) {
status = true
} else {
status = false
}
// 判断是否是审核组长id
if (this.userId === item.leaderId) {
status = true
} else {
status = false
}
return status
},
/**
* 开始任务
* @param {} item 单项数据
......
......@@ -23,18 +23,18 @@
placeholder="请输入企业名称"
/>
</el-form-item>
<el-form-item label="车企地址" prop="address">
<el-form-item label="企业地址" prop="address">
<el-input
v-model="model.address"
type="textarea"
:rows="4"
maxlength="200"
show-word-limit
placeholder="请输入车企地址"
placeholder="请输入企业地址"
/>
</el-form-item>
<el-form-item label="车企邮编" prop="postcode">
<el-input v-model="model.postcode" placeholder="请输入车企邮编" />
<el-form-item label="企业邮编" prop="postcode">
<el-input v-model="model.postcode" placeholder="请输入企业邮编" />
</el-form-item>
<el-form-item label="企业联系人" prop="enterpriseContact">
<el-input
......@@ -86,10 +86,10 @@ export default {
{ required: true, message: '请输入企业名称', trigger: 'blur' }
],
address: [
{ required: true, message: '请输入车企地址', trigger: 'blur' }
{ required: true, message: '请输入企业地址', trigger: 'blur' }
],
postcode: [
{ required: true, message: '请输入车企邮编', trigger: 'blur' }
{ required: true, message: '请输入企业邮编', trigger: 'blur' }
],
enterpriseContact: [
{ required: true, message: '请输入企业联系人', trigger: 'blur' }
......
......@@ -114,6 +114,7 @@
>
</el-table-column>
<el-table-column
v-if="view == 2"
label="创建人员"
prop="createBy"
min-width="200"
......@@ -214,9 +215,7 @@ export default {
methods: {
handleDelete(id) {
this.$modal
.confirm('是否确定删除该条数据?', '操作确认', {
closeOnClickModal: false
})
.then(() => {
this.model.uuid = id
this.model.destroy(() => {
......
......@@ -362,7 +362,8 @@ export default {
handleDelete(node, data) {
// console.log(node, data)
this.$modal
.confirm('是否确定删除该条数据?', '操作确认', {
.confirm('是否确定删除该条数据?', {
title: '操作确认',
closeOnClickModal: false
})
.then(() => {
......
......@@ -642,6 +642,7 @@ export default {
this.$confirm('是否确定删除该条数据?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
closeOnClickModal: false,
type: 'warning'
}).then(() => {
removeSample({ id: id }).then(() => {
......@@ -673,7 +674,4 @@ export default {
.custom-link:hover {
text-decoration: underline;
}
::v-deep .el-textarea__inner {
font-family: 微软雅黑;
}
</style>
......@@ -166,6 +166,7 @@ export default {
handleDelete(row) {
this.$modal
.confirm('是否确定删除该条数据?', {
title: '操作确认',
closeOnClickModal: false
})
.then(() => {
......
......@@ -185,7 +185,8 @@ export default {
},
handleDelete(row) {
this.$modal
.confirm('是否确定删除该条数据?', '操作确认', {
.confirm('是否确定删除该条数据?', {
title: '操作确认',
closeOnClickModal: false
})
.then(() => {
......
......@@ -550,6 +550,7 @@ export default {
handleDelete(row) {
this.$modal
.confirm('是否确定删除该条数据?', {
title: '操作确认',
closeOnClickModal: false
})
.then(function () {
......
......@@ -43,10 +43,7 @@
</el-form-item>
</el-col>
</el-row>
<el-row
v-show="model.inspectionItemList.includes('trfis')"
:gutter="20"
>
<el-row v-show="testScenarioShow" :gutter="20">
<el-col :span="24">
<el-form-item
label="请选择测试场景(可多选)"
......@@ -172,7 +169,12 @@
<el-table-column label="姓名" align="left" prop="nickName">
<template slot-scope="{ row }">
<span v-if="row.userId !== ''">{{ row.nickName }}</span>
<el-select v-else v-model="userId" placeholder="请选择">
<el-select
v-else
v-model="userId"
placeholder="请选择"
@change="handleNameChange"
>
<el-option
v-for="(item, index) in userList"
:key="index"
......@@ -200,9 +202,12 @@
</el-table-column>
<el-table-column prop="orderIndex" label="排序">
<template slot-scope="scope">
<div v-if="scope.row.isLeader !== 2" class="sortable-handle">
<div v-if="scope.row.userId !== ''" class="sortable-handle">
<icon-park type="sort-three" size="14" fill="#F9A221" />
</div>
<div v-else>
<span>-</span>
</div>
</template>
</el-table-column>
<el-table-column
......@@ -213,13 +218,14 @@
>
<template slot-scope="scope">
<div class="actions-container">
<page-button
v-show="scope.row.userId === ''"
icon="hard-disk-one"
title="保存"
class="button-item"
@click.native="handleSavePeople(scope.row)"
></page-button>
<span v-show="scope.row.userId === ''">-</span>
<!-- <page-button-->
<!-- v-show="scope.row.userId === ''"-->
<!-- icon="hard-disk-one"-->
<!-- title="保存"-->
<!-- class="button-item"-->
<!-- @click.native="handleSavePeople(scope.row)"-->
<!-- ></page-button>-->
<page-button
v-show="scope.row.userId !== ''"
icon="edit"
......@@ -235,13 +241,13 @@
class="button-item"
@click.native="handleDelete(scope.row)"
></page-button>
<page-button
v-show="scope.row.userId === ''"
icon="delete"
title="取消"
class="button-item"
@click.native="handleCancelPeople()"
></page-button>
<!-- <page-button-->
<!-- v-show="scope.row.userId === ''"-->
<!-- icon="delete"-->
<!-- title="取消"-->
<!-- class="button-item"-->
<!-- @click.native="handleCancelPeople()"-->
<!-- ></page-button>-->
</div>
</template>
</el-table-column>
......@@ -382,6 +388,7 @@ export default {
// 零件样品信息结合
partSampleInformationList: [],
websock: null,
testScenarioShow: false,
userId: '',
standardId: '1',
showTestScenario: false,
......@@ -413,13 +420,13 @@ export default {
// { value: 2, label: '汽车信息安全技术要求', check: false }
],
testScenarioList: [
{ value: 0, label: '文档审核', check: false },
{ value: 1, label: 'TBOX-蜂窝以太网接口', check: false },
{ value: 2, label: 'WiFi AP接口', check: false },
{ value: 3, label: 'WiFi Client接口', check: false },
{ value: 4, label: '充电以太网接口', check: false },
{ value: 5, label: 'CAN 诊断接口(OBD)', check: false },
{ value: 6, label: '以太网诊断接口(OBD)', check: false },
{ value: 6, label: '车载摄像头以太网接口(无线)', check: false },
{ value: 7, label: '第三方应用软件', check: false },
{ value: 8, label: '远程控车应用', check: false },
{ value: 9, label: 'USB接口', check: false },
......@@ -432,7 +439,6 @@ export default {
{ value: 16, label: 'BLE', check: false },
{ value: 17, label: 'NFC', check: false },
{ value: 18, label: '射频钥匙', check: false },
{ value: 19, label: '远程控车', check: false },
{ value: 20, label: '软件升级', check: false },
{ value: 21, label: 'ECU固件', check: false }
],
......@@ -568,17 +574,24 @@ export default {
},
'model.inspectionItemList': {
handler(newValue, oldValue) {
console.log('bne', newValue)
if (newValue.length > 0) {
this.$refs.form.clearValidate('inspectionItemList')
} else {
this.$refs.form.validateField('inspectionItemList')
}
console.log('model.inspectionItemList', newValue)
if (newValue.includes(2)) {
if (newValue.includes('trfis')) {
this.rules.testScenarioList[0].required = true
} else {
this.rules.testScenarioList[0].required = false
}
this.rules.inspectionItemList[0].required = true
if (newValue.length === 1 && newValue.includes('trfis')) {
this.testScenarioShow = true
} else {
this.testScenarioShow = false
}
}
},
'model.testScenarioList': {
......@@ -894,11 +907,12 @@ export default {
).userId = ''
},
handleInspectionItem(item) {
console.log('字典', item)
// 查看item.value在this.checkTestScenarioList里面存不存在
// 存在则删除
if (this.model.inspectionItemList.includes(item.value)) {
this.model.inspectionItemList.splice(
this.model.inspectionItemList.indexOf(item.label),
this.model.inspectionItemList.indexOf(item.value),
1
)
item.check = false
......@@ -950,27 +964,49 @@ export default {
})
})
},
/**
* 保存人员
* @param row
*/
handleSavePeople(row) {
const obj = this.userList.find(item => item.userId === this.userId)
const currentData = this.tableData.find(
item => item.userId === row.userId
)
currentData.userId = this.userId
currentData.nickName = obj.nickName
currentData.dept = obj.dept
handleNameChange(value) {
console.log('value', value)
this.userId = value
const selectData = this.userList.find(item => item.userId === value)
this.tableData.forEach(data => {
if (data.userId === '') {
data.nickName = selectData.nickName
data.userId = selectData.userId
data.dept = selectData.dept
}
})
// 已被选择的人做禁用
this.userList.find(item => item.userId === this.userId).disabled = true
this.userId = ''
this.leaderTop()
if (this.tableData.length === 1) {
currentData.isLeader = 1
this.tableData[0].isLeader = 1
} else {
currentData.isLeader = 0
this.tableData[this.tableData.length - 1].isLeader = 0
}
},
/**
* 保存人员
* @param row
*/
handleSavePeople(row) {
console.log('保存小组有', row)
// const obj = this.userList.find(item => item.userId === this.userId)
// const currentData = this.tableData.find(
// item => item.userId === row.userId
// )
// currentData.userId = this.userId
// currentData.nickName = obj.nickName
// currentData.dept = obj.dept
// // 已被选择的人做禁用
// this.userList.find(item => item.userId === this.userId).disabled = true
// this.userId = ''
// this.leaderTop()
// if (this.tableData.length === 1) {
// currentData.isLeader = 1
// } else {
// currentData.isLeader = 0
// }
console.log('现在的对象', this.tableData)
},
/**
......@@ -1010,8 +1046,15 @@ export default {
this.$refs.form.validate(valid => {
if (valid) {
// 判断小组信息、整车样品信息、零件样品信息有无数据
console.log()
if (this.tableData.length === 0) {
this.$message.error('请添加小组信息')
this.$message.error('请添加检验小组信息')
return
} else if (
this.tableData.length > 0 &&
this.tableData[this.tableData.length - 1].userId === ''
) {
this.$message.error('请保存小组成员信息')
return
} else if (this.currentVehicleSampleInformation.length === 0) {
this.$message.error('请填写整车样品信息')
......@@ -1205,7 +1248,7 @@ export default {
display: flex;
flex-wrap: wrap;
.test-scenario {
width: 237px;
width: 228px;
height: 32px;
border: 1px solid #dcdfe6;
background-color: #ffffff;
......@@ -1217,7 +1260,7 @@ export default {
}
}
.check-test-scenario {
width: 237px;
width: 228px;
height: 32px;
border: 1px solid #1a6fd7;
background-color: #e3eefc;
......
......@@ -334,11 +334,10 @@
</div>
<div class="card-cell option-cell">
<page-button
v-if="item.runStatus === 'RUNNABLE'"
icon="play-one"
title="开始"
icon="view-list"
title="任务详情"
class="button-item"
@click.native="startTask(item)"
@click.native="goNext('/task/task-detail?taskId=' + item.id)"
></page-button>
<page-button
icon="edit"
......@@ -579,74 +578,6 @@ export default {
path: '/processing/fileLibrary?id=' + item.id
})
},
/**
* 体系审查开始按钮状态
* @param {*} item 单项数据
*/
systemReviewTaskShow(item) {
let status = false
// 体系审查为New
if (item.systemReview === 'NEW') {
status = true
} else {
status = false
}
// 判断是否是审核组长id
if (this.userId === item.leaderId) {
status = true
} else {
status = false
}
return status
},
/**
* 车型审查开始按钮状态
* @param {*} item 单项数据
*/
carReviewTaskShow(item) {
let status = false
// 车型审查为New 体系审查已完成或未选
if (
(item.systemReview === 'NONE' || item.systemReview === 'FINISH') &&
item.carReviewStatus === 'NEW'
) {
status = true
} else {
status = false
}
// 判断是否是审核组长id
if (this.userId === item.leaderId) {
status = true
} else {
status = false
}
return status
},
/**
* 测试任务开始按钮状态
* @param {*} item 单项数据
*/
carTestTaskShow(item) {
let status = false
// 体系测试为New 体系审查已完成或未选 车型审查已完成或未选
if (
(item.systemReview === 'NONE' || item.systemReview === 'FINISH') &&
(item.carReviewStatus === 'NONE' ||
item.carReviewStatus === 'FINISH') &&
item.carTestStatus === 'NEW'
) {
status = true
} else {
status = false
}
// 判断是否是审核组长id
if (this.userId === item.leaderId) {
status = true
} else {
status = false
}
return status
},
/**
* 开始任务
* @param {} item 单项数据
......@@ -672,7 +603,8 @@ export default {
},
teakDelete(id) {
this.$modal
.confirm('是否确定删除该条数据?', '操作确认', {
.confirm('是否确定删除该条数据?', {
title: '操作确认',
closeOnClickModal: false
})
.then(() => {
......
......@@ -56,10 +56,7 @@
</el-form-item>
</el-col>
</el-row>
<el-row
v-show="model.inspectionItemList.includes('trfis')"
:gutter="20"
>
<el-row v-show="testScenarioShow" :gutter="20">
<el-col :span="24">
<el-form-item
label="请选择测试场景(可多选)"
......@@ -186,7 +183,7 @@
</div>
<div class="tip-navigation">
<div class="tip"></div>
<div class="tip-title">小组信息</div>
<div class="tip-title">检验小组</div>
</div>
<div class="global-left-margin" style="padding-bottom: 18px">
<el-table
......@@ -231,7 +228,7 @@
<!-- 零件样品信息 -->
<div class="tip-navigation">
<div class="tip"></div>
<div class="tip-title">零件样品信息</div>
<div class="tip-title">件样品信息</div>
</div>
<PartInfo
v-model="partInfoArr"
......@@ -495,7 +492,8 @@ export default {
}
],
// 任务详情
taskDetail: {}
taskDetail: {},
testScenarioShow: false
}
},
watch: {
......@@ -584,16 +582,29 @@ export default {
this.tableData = this.taskDetail.auditors
// 整车样品信息
this.carInfoArr = this.taskDetail.completeVehicleSample
if (this.carInfoArr.length > 0) {
this.carInfoArr.forEach(item => {
item.sampleId = item.id
item.flag = 0
})
}
// 零件样品信息
this.partInfoArr = this.taskDetail.partVehicleSample
if (this.partInfoArr.length > 0) {
this.partInfoArr.forEach(item => {
item.sampleId = item.id
item.flag = 1
})
}
if (
this.taskDetail.taskList.split(',').length === 1 &&
this.taskDetail.taskList.split(',').includes('trfis')
) {
this.testScenarioShow = true
} else {
this.testScenarioShow = false
}
console.log('哈哈哈', this.testScenarioShow)
console.log('零件样品信息', this.partInfoArr)
console.log('model', this.model)
})
......@@ -811,7 +822,7 @@ export default {
display: flex;
flex-wrap: wrap;
.test-scenario {
width: 237px;
width: 228px;
height: 32px;
border: 1px solid #dcdfe6;
background-color: #ffffff;
......@@ -823,7 +834,7 @@ export default {
}
}
.check-test-scenario {
width: 237px;
width: 228px;
height: 32px;
border: 1px solid #1a6fd7;
background-color: #e3eefc;
......
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