Commit b6dceeba authored by 盖献康's avatar 盖献康

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

parents b01ac001 ef1738fa
# 页面标题 # 页面标题
VUE_APP_TITLE = 安全信息检测平台 VUE_APP_TITLE = 周期性检测平台
# 开发环境配置 # 开发环境配置
ENV = 'development' ENV = 'development'
......
...@@ -4,10 +4,11 @@ VUE_APP_TITLE = 周期性检测平台 ...@@ -4,10 +4,11 @@ VUE_APP_TITLE = 周期性检测平台
# 生产环境配置 # 生产环境配置
ENV = 'production' ENV = 'production'
# 中汽研安全检测平台管理系统/生产环境 # 中汽研安全检测平台管理系统/生产环境
VUE_APP_BASE_API = '/prod-api' VUE_APP_BASE_API = '/prod-api'
# 图片服务器地址 # 图片服务器地址
VUE_APP_IMAGE_API ='/' VUE_APP_IMAGE_API ='https://10.12.48.78'
VUE_APP_CLIENT_API = 'http://10.12.48.78:8090' VUE_APP_CLIENT_API = 'https://10.12.48.78/vvmpapi'
# 页面标题 # 页面标题
VUE_APP_TITLE = 安全信息检测平台 VUE_APP_TITLE = 周期性检测平台
# 开发环境配置 # 开发环境配置
ENV = 'staging' ENV = 'staging'
...@@ -9,4 +9,4 @@ VUE_APP_BASE_API = 'http://49.232.167.247:22032' ...@@ -9,4 +9,4 @@ VUE_APP_BASE_API = 'http://49.232.167.247:22032'
# 图片服务器地址 # 图片服务器地址
VUE_APP_IMAGE_API = 'http://49.232.167.247:22037' VUE_APP_IMAGE_API = 'http://49.232.167.247:22037'
VUE_APP_CLIENT_API = 'http://10.12.48.78:8090' VUE_APP_CLIENT_API = 'https://10.12.48.78/vvmpapi'
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<link rel="icon" href="<%= BASE_URL %>favicon.ico"> <link rel="icon" href="<%= BASE_URL %>favicon.ico">
<!-- <link href="https://unpkg.com/tailwindcss@^2/dist/tailwind.min.css" rel="stylesheet"> --> <!-- <link href="https://unpkg.com/tailwindcss@^2/dist/tailwind.min.css" rel="stylesheet"> -->
<script src="https://lf1-cdn-tos.bytegoofy.com/obj/iconpark/icons_31435_85.f03f7ada23edcf4cd72e61338ed55693.js"></script> <script src="https://lf1-cdn-tos.bytegoofy.com/obj/iconpark/icons_31435_86.9b2d26764ccec5f05296d7ffca18aa56.js"></script>
<title><%= webpackConfig.name %></title> <title><%= webpackConfig.name %></title>
<!--[if lt IE 11]> <!--[if lt IE 11]>
<script>window.location.href = '/html/ie.html';</script><![endif]--> <script>window.location.href = '/html/ie.html';</script><![endif]-->
......
...@@ -217,4 +217,16 @@ export function geTaskCase(data) { ...@@ -217,4 +217,16 @@ export function geTaskCase(data) {
data data
}) })
} }
/**
*提交确认表单
*/
export function taskImageSubmit(data) {
return request({
url: '/car/test/task/submit',
method: 'post',
data
})
}
...@@ -92,7 +92,7 @@ ...@@ -92,7 +92,7 @@
width: calc(100% - 100px); width: calc(100% - 100px);
} }
.standard-title { .standard-title {
width: calc(100% - 10px); width: calc(70% - 40px);
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
...@@ -709,15 +709,13 @@ ...@@ -709,15 +709,13 @@
width: 120px !important; width: 120px !important;
// text-align: center !important; // text-align: center !important;
} }
.passed{ .el-progress {
.el-form-item__label{
margin-left: -10px;
}
}
.el-progress{
display: flex; display: flex;
} }
.empty-message{ .empty-message {
text-align: center;
margin: 0 10px; margin: 0 10px;
display: flex;
flex-flow: column;
align-items: center;
color: #ccc;
} }
...@@ -36,11 +36,7 @@ export default { ...@@ -36,11 +36,7 @@ export default {
}, },
methods: { methods: {
goBack() { goBack() {
// 获取当前路由信息 this.$router.back()
const currentRoute = this.$router.currentRoute
// 获取来源页面的路由信息
const fromRoute = currentRoute.from
console.log(currentRoute)
} }
} }
} }
...@@ -48,7 +44,7 @@ export default { ...@@ -48,7 +44,7 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.page-data { .page-data {
padding: 0 24px; padding: 0 24px;
padding-bottom: 24px; padding-bottom: 24px;
} }
.card-box { .card-box {
......
...@@ -19,7 +19,7 @@ export default { ...@@ -19,7 +19,7 @@ export default {
// 3.配置数据 // 3.配置数据
const option = { const option = {
title: { title: {
text: '任务保密等级占比', text: '用例风险程度概览',
left: 'left', left: 'left',
textStyle: { textStyle: {
color: '#606266', color: '#606266',
......
...@@ -104,7 +104,7 @@ ...@@ -104,7 +104,7 @@
size="36" size="36"
></iconpark-icon> ></iconpark-icon>
</div> </div>
<span>完成 :43个</span> <span>完成 :43个</span>
<div> <div>
<el-progress <el-progress
:percentage="40" :percentage="40"
...@@ -205,7 +205,7 @@ ...@@ -205,7 +205,7 @@
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<div class="cardStyle" style="height: 500px"> <div class="cardStyle" style="height: 500px">
<div class="cardTitle">任务完成情况占比</div> <div class="cardTitle">参与任务情况</div>
<div <div
style=" style="
display: flex; display: flex;
......
...@@ -212,13 +212,15 @@ ...@@ -212,13 +212,15 @@
<div v-else>__</div> <div v-else>__</div>
</td> </td>
<td align="center"> <td align="center">
<div <div v-if="reviewDetail.result">
v-if=" <div v-if="reviewDetail.result.fileList">
reviewDetail.result && reviewDetail.result.fileName <template v-for="i in reviewDetail.result.fileList">
" {{ i.fileName }}{{ i.catalogue }}
> </template>
{{ reviewDetail.result.fileName }} </div>
{{ reviewDetail.result.catalogue }} <div v-if="reviewDetail.result.comment">
{{ reviewDetail.result.comment }}
</div>
</div> </div>
<div v-else>__</div> <div v-else>__</div>
</td> </td>
......
...@@ -191,18 +191,21 @@ ...@@ -191,18 +191,21 @@
<tr :key="reviewDetailKey"> <tr :key="reviewDetailKey">
<td align="center">{{ reviewDetail.text }}</td> <td align="center">{{ reviewDetail.text }}</td>
<td align="center" class="investigate-result"> <td align="center" class="investigate-result">
<el-tag <div v-if="reviewDetail.result">
v-if="reviewDetail.result.passed === 1" <el-tag
size="medium" v-if="reviewDetail.result.passed === 1"
type="success" size="medium"
>符合</el-tag type="success"
> >符合</el-tag
<el-tag >
v-if="reviewDetail.result.passed === 0" <el-tag
size="medium" v-if="reviewDetail.result.passed === 0"
type="danger" size="medium"
>不符合</el-tag type="warning"
> >不符合</el-tag
>
</div>
<div v-else>__</div>
</td> </td>
<td align="center" class="written-by"> <td align="center" class="written-by">
{{ {{
...@@ -230,7 +233,16 @@ ...@@ -230,7 +233,16 @@
<span class="title-content">确定车型试验范围</span> <span class="title-content">确定车型试验范围</span>
</div> </div>
<div class="img-item"> <div class="img-item">
<div class="img-label" style="margin-top: 20px">选择测试场景</div> <div class="img-label" style="margin-top: 20px">
选择测试场景
<footer-button
style="width: 80px; height: 25px"
type="primary"
@click="selectAll"
>
全部选择
</footer-button>
</div>
</div> </div>
<!-- 测试场景 --> <!-- 测试场景 -->
<div class="test-scenario-container"> <div class="test-scenario-container">
...@@ -456,6 +468,14 @@ export default { ...@@ -456,6 +468,14 @@ export default {
}, },
closeAll() { closeAll() {
this.activeNames = [] this.activeNames = []
}, // 全选
selectAll() {
this.model.testScenarioList.forEach(obj => {
obj.check = true
})
this.selectedScenario = this.model.testScenarioList.map(obj => {
return obj.value
})
} }
} }
} }
......
...@@ -129,9 +129,6 @@ export default { ...@@ -129,9 +129,6 @@ export default {
], ],
identifyNumber: [ identifyNumber: [
{ required: true, message: '请输入文件识别号', trigger: 'blur' } { required: true, message: '请输入文件识别号', trigger: 'blur' }
],
photo: [
{ required: true, message: '请选择文件照片', trigger: 'change' }
] ]
}, },
model: this.$modelDataSource({ model: this.$modelDataSource({
......
...@@ -99,11 +99,15 @@ ...@@ -99,11 +99,15 @@
<div v-else>__</div> <div v-else>__</div>
</td> </td>
<td align="center"> <td align="center">
<div <div v-if="reviewDetail.result">
v-if="reviewDetail.result && reviewDetail.result.fileName" <div v-if="reviewDetail.result.fileList">
> <template v-for="i in reviewDetail.result.fileList">
{{ reviewDetail.result.fileName }} {{ i.fileName }}{{ i.catalogue }}
{{ reviewDetail.result.catalogue }} </template>
</div>
<div v-if="reviewDetail.result.comment">
{{ reviewDetail.result.comment }}
</div>
</div> </div>
<div v-else>__</div> <div v-else>__</div>
</td> </td>
......
...@@ -9,6 +9,13 @@ ...@@ -9,6 +9,13 @@
> >
预览表单 预览表单
</header-button> </header-button>
<header-button
v-if="model.carReviewTask.leaderId == userId"
type="default"
icon="check"
@click="submitFrom()"
>提交表单</header-button
>
<header-button icon="arrow-left" type="no-line" @click="goBack"> <header-button icon="arrow-left" type="no-line" @click="goBack">
返回 返回
</header-button> </header-button>
...@@ -214,54 +221,107 @@ ...@@ -214,54 +221,107 @@
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item class="right-content-item" label="相关记录"> <el-form-item class="right-content-item" label="相关记录">
<div style="display: flex; flex-flow: column">
<el-row v-for="(file, key) in form.fileList" :key="key">
<el-col :span="8">
<div>
<el-form-item
prop="fileName"
label-suffix=" "
label="文件名称"
>
<el-autocomplete
v-model="file.fileName"
style="width: 100%"
:fetch-suggestions="querySearch"
placeholder="请输入文件名称"
@select="
e => {
querySelect(file, e)
}
"
@input="
e => {
queryInput(file, e)
}
"
></el-autocomplete>
</el-form-item>
</div>
</el-col>
<el-col :span="8" :offset="1">
<div>
<el-form-item
prop="catalogue"
label-suffix=" "
label="章节条目或范围"
>
<el-input
v-model="file.catalogue"
placeholder="请输入具体章节条目或范围"
/>
</el-form-item>
</div>
</el-col>
<el-col :span="1" :offset="1">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
style="margin-top: 27px"
@click="form.fileList.splice(key, 1)"
></el-button>
</el-col>
<el-col :span="24">
<company-file
v-show="file.show"
:enterprise-name="model.carReviewTask.enterpriseName"
:file-name="file.fileName"
@fileNameUpdate="
name => {
file.fileName = name
}
"
@handleUpdate="
e => {
handleFileUpdate(file, e)
}
"
@handleSave="
e => {
handleFileSave(file, e)
}
"
></company-file>
</el-col>
</el-row>
<el-button
class="add-number"
icon="el-icon-circle-plus-outline"
@click="handleAddFile()"
>添加文件</el-button
>
</div>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="24">
<div> <el-form-item
<el-form-item prop="comment"
prop="fileName" label-suffix=" "
label-suffix=" " label="备注信息"
label="文件名称" >
> <el-input
<el-autocomplete v-model="form.comment"
v-model="form.fileName" placeholder="请输入备注信息"
style="width: 100%" type="textarea"
:fetch-suggestions="querySearch" :autosize="{ minRows: 4, maxRows: 4 }"
placeholder="请输入文件名称" clearable
@select="querySelect" />
></el-autocomplete> </el-form-item>
</el-form-item>
</div>
</el-col>
<el-col :span="8" :offset="1">
<div>
<el-form-item
prop="catalogue"
label-suffix=" "
label="章节条目或范围"
>
<el-input
v-model="form.catalogue"
placeholder="请输入具体章节条目或范围"
/>
</el-form-item>
</div>
</el-col> </el-col>
</el-row> </el-row>
<!-- //车企文件信息 -->
</el-form-item> </el-form-item>
<company-file
v-show="formManger.show"
style="margin-left: 125px"
:enterprise-name="model.carReviewTask.enterpriseName"
:file-name="form.fileName"
@fileNameUpdate="
name => {
form.fileName = name
}
"
@handleUpdate="handleFileUpdate"
@handleSave="handleFileSave"
></company-file>
</el-form> </el-form>
</div> </div>
</div> </div>
...@@ -277,13 +337,6 @@ ...@@ -277,13 +337,6 @@
> >
保存当前条目 保存当前条目
</footer-button> </footer-button>
<footer-button
v-if="model.carReviewTask.leaderId == userId"
type="primary"
icon="check"
@click="submitFrom()"
>提交表单</footer-button
>
</div> </div>
</div> </div>
</task-standard> </task-standard>
...@@ -339,18 +392,16 @@ export default { ...@@ -339,18 +392,16 @@ export default {
passed: '', passed: '',
reviewDetailsId: '', reviewDetailsId: '',
taskId: '', taskId: '',
fileName: '', comment: '',
catalogue: '', fileList: []
reviewEnterpriseArchiveId: ''
}, },
task: {}, task: {},
oldForm: { oldForm: {
passed: '', passed: '',
reviewDetailsId: '', reviewDetailsId: '',
taskId: '', taskId: '',
fileName: '', comment: '',
catalogue: '', fileList: []
reviewEnterpriseArchiveId: ''
}, },
model: { model: {
carReviewTask: {}, carReviewTask: {},
...@@ -361,34 +412,12 @@ export default { ...@@ -361,34 +412,12 @@ export default {
activeModel: 0, activeModel: 0,
checked: false, checked: false,
detailsList: [], detailsList: [],
rules: { rules: {},
passed: [
{ required: true, message: '请选择审查结果', trigger: 'blur' }
],
fileName: [
{
required: true,
message: '请输入文件名称',
trigger: ['change']
}
],
catalogue: [
{
required: true,
message: '请输入具体章节条目或范围',
trigger: 'blur'
}
]
},
changeTask: [], changeTask: [],
changeTaskDetails: [], changeTaskDetails: [],
value1: '', value1: '',
taskId: '', taskId: '',
options: [], options: [],
formManger: {
show: false,
fileName: ''
},
fileModel: this.$modelDataSource({ fileModel: this.$modelDataSource({
url: '/review/enterprise/archive', url: '/review/enterprise/archive',
dataKey: 'model', dataKey: 'model',
...@@ -396,7 +425,6 @@ export default { ...@@ -396,7 +425,6 @@ export default {
id: 0 id: 0
} }
}), }),
isFileUpdate: false,
loading: false loading: false
} }
}, },
...@@ -413,23 +441,6 @@ export default { ...@@ -413,23 +441,6 @@ export default {
...mapGetters(['name', 'companyFiles', 'userId']) ...mapGetters(['name', 'companyFiles', 'userId'])
}, },
watch: { watch: {
'form.fileName': function (newValue) {
if (newValue) {
const files = this.companyFiles
const query = files.filter(this.createFilter(newValue))
if (query.length === 0) {
this.formManger.show = true
this.isFileUpdate = true
this.formManger.fileName = newValue
} else {
this.isFileUpdate = false
this.formManger.show = false
}
} else {
this.isFileUpdate = false
this.formManger.show = false
}
},
checked(newV) { checked(newV) {
if (newV) { if (newV) {
this.detailsList = this.model.detailsList.filter(item => { this.detailsList = this.model.detailsList.filter(item => {
...@@ -454,23 +465,46 @@ export default { ...@@ -454,23 +465,46 @@ export default {
/** /**
* 企业文件保存回调 * 企业文件保存回调
*/ */
handleFileSave(element) { handleFileSave(file, element) {
this.form.reviewEnterpriseArchiveId = String(element) file.id = element
this.isFileUpdate = false file.isFileUpdate = false
this.formManger.show = false file.show = false
console.log('企业文件保存回调') this.$forceUpdate()
}, },
/** /**
* 企业文件表单内容修改回调 * 企业文件表单内容修改回调
* @param {*} element 返回值 * @param {*} element 返回值
*/ */
handleFileUpdate(element) { handleFileUpdate(file, element) {
this.isFileUpdate = element file.isFileUpdate = element
console.log('企业文件表单内容修改回调') console.log('企业文件表单内容修改回调')
}, },
querySelect(e) { handleAddFile() {
this.form.reviewEnterpriseArchiveId = e.id this.form.fileList.push({
console.log('企业文件筛选' + e.id) fileName: '',
catalogue: '',
id: ''
})
},
querySelect(file, e) {
file.id = e.id
},
queryInput(file, newValue) {
if (newValue) {
const files = this.companyFiles
const query = files.filter(this.createFilter(newValue))
if (query.length === 0) {
file.show = true
file.isFileUpdate = true
file.fileName = newValue
} else {
file.isFileUpdate = false
file.show = false
}
} else {
file.isFileUpdate = false
file.show = false
}
}, },
querySearch(queryString, cb) { querySearch(queryString, cb) {
const files = this.companyFiles const files = this.companyFiles
...@@ -583,16 +617,35 @@ export default { ...@@ -583,16 +617,35 @@ export default {
* @param item 圆圈对象 * @param item 圆圈对象
*/ */
changeStep(index) { changeStep(index) {
if (this.isAllPropertiesEqual() && !this.isFileUpdate) { if (
this.isAllPropertiesEqual() &&
!this.allPropertiesCheck(this.form.fileList, 'isFileUpdate')
) {
this.handleCircle(index) this.handleCircle(index)
} else { } else {
this.$message.error('您有未保存内容,请点击保存按钮') this.$message.error('您有未保存内容,请点击保存按钮')
} }
}, },
// 遍历数组中的对象判断某一属性的数值是否为true
allPropertiesCheck(obj, key) {
if (obj[key] !== '' && typeof obj[key] !== 'undefined' && obj[key]) {
return true
}
return false
},
/**
* 判断数组中对象的属性是否全部为空
* @param obj
* @returns {boolean}
*/
isAllPropertiesEqual() { isAllPropertiesEqual() {
for (var key in this.form) { for (var key in this.form) {
if (this.form[key] !== this.oldForm[key]) { if (key !== 'isFileUpdate') {
return false if (
JSON.stringify(this.form[key]) !== JSON.stringify(this.oldForm[key])
) {
return false
}
} }
} }
return true return true
...@@ -610,36 +663,30 @@ export default { ...@@ -610,36 +663,30 @@ export default {
passed: this.taskModel.result.passed, passed: this.taskModel.result.passed,
reviewDetailsId: this.taskModel.id, reviewDetailsId: this.taskModel.id,
taskId: this.taskId, taskId: this.taskId,
fileName: this.taskModel.result.fileName, comment: this.taskModel.result.comment,
catalogue: this.taskModel.result.catalogue, fileList: this.taskModel.result.fileList
reviewEnterpriseArchiveId:
this.taskModel.result.reviewEnterpriseArchiveId
} }
this.oldForm = { this.oldForm = {
passed: this.taskModel.result.passed, passed: this.taskModel.result.passed,
reviewDetailsId: this.taskModel.id, reviewDetailsId: this.taskModel.id,
taskId: this.taskId, taskId: this.taskId,
fileName: this.taskModel.result.fileName, comment: this.taskModel.result.comment,
catalogue: this.taskModel.result.catalogue, fileList: this.taskModel.result.fileList
reviewEnterpriseArchiveId:
this.taskModel.result.reviewEnterpriseArchiveId
} }
} else { } else {
this.form = { this.form = {
passed: '', passed: '',
reviewDetailsId: this.taskModel.id, reviewDetailsId: this.taskModel.id,
taskId: this.taskId, taskId: this.taskId,
fileName: '', comment: '',
catalogue: '', fileList: []
reviewEnterpriseArchiveId: ''
} }
this.oldForm = { this.oldForm = {
passed: '', passed: '',
reviewDetailsId: this.taskModel.id, reviewDetailsId: this.taskModel.id,
taskId: this.taskId, taskId: this.taskId,
fileName: '', comment: '',
catalogue: '', fileList: []
reviewEnterpriseArchiveId: ''
} }
} }
this.$nextTick(() => { this.$nextTick(() => {
...@@ -661,23 +708,28 @@ export default { ...@@ -661,23 +708,28 @@ export default {
submitQuestionnaire(type) { submitQuestionnaire(type) {
this.$refs.form.validate(valid => { this.$refs.form.validate(valid => {
if (valid) { if (valid) {
if (!this.isFileUpdate) { if (!this.allPropertiesCheck(this.form.fileList, 'isFileUpdate')) {
// 根据公司文件和文件名获取特定项目项,并据此更新表单中的审核企业档案ID // 根据公司文件和文件名获取特定项目项,并据此更新表单中的审核企业档案ID
const files = this.companyFiles // 获取公司文件列表 const files = this.companyFiles // 获取公司文件列表
const fileName = this.form.fileName // 获取表单中填写的文件名 this.form.fileList.map(file => {
// 根据文件名在公司文件列表中查找对应项目项 const fileName = file.fileName // 获取表单中填写的文件名
const item = this.getProjectByName(files, fileName) // 根据文件名在公司文件列表中查找对应项目项
if (item) { const item = this.getProjectByName(files, fileName)
this.form.reviewEnterpriseArchiveId = item.id // 找到项目项则更新表单的审核企业档案ID if (item) {
} else { file.id = item.id // 找到项目项则更新表单的审核企业档案ID
this.form.reviewEnterpriseArchiveId = null // 未找到则将审核企业档案ID设为null } else {
} file.id = null // 未找到则将审核企业档案ID设为null
}
})
reviewDetailsSubmit(this.form).then(async res => { reviewDetailsSubmit(this.form).then(async res => {
if (res.code === 200) { if (res.code === 200) {
await this.getTask() await this.getTask()
if (this.checked) { if (this.checked) {
this.handleCircle(0) this.handleCircle(0)
} }
this.form.fileList.map(i => {
i.isFileUpdate = false
})
this.oldForm = this.form this.oldForm = this.form
this.$modal.msgSuccess('保存当前条目成功') this.$modal.msgSuccess('保存当前条目成功')
this.$nextTick(() => { this.$nextTick(() => {
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
<div class="task-item"> <div class="task-item">
<span class="task-label">任务编号:</span> <span class="task-label">任务编号:</span>
<span class="task-content"> <span class="task-content">
{{ model.carReviewTask.taskNo }} {{ task.taskNo }}
</span> </span>
</div> </div>
<div class="task-item"> <div class="task-item">
...@@ -30,17 +30,12 @@ ...@@ -30,17 +30,12 @@
{{ task.entrustedUnit }} {{ task.entrustedUnit }}
</span> </span>
</div> </div>
<div class="task-item"> <!-- <div class="task-item">-->
<span class="task-label">任务状态:</span> <!-- <span class="task-label">任务状态:</span>-->
<span class="task-content"> <!-- <span class="task-content">-->
{{ <!-- {{ getDictData(dict.type.task_test_status, task.taskStatus) }}-->
getDictData( <!-- </span>-->
dict.type.test_cartype_type, <!-- </div>-->
model.carReviewTask.taskStatus
)
}}
</span>
</div>
</div> </div>
<div class="task-body"> <div class="task-body">
<!--card统计值--> <!--card统计值-->
...@@ -131,46 +126,58 @@ ...@@ -131,46 +126,58 @@
<col style="width: 100px" /> <col style="width: 100px" />
<thead> <thead>
<tr> <tr>
<th>章节号</th> <th style="width: 100px">章节号</th>
<th>标准技术要求</th> <th>标准技术要求</th>
<th>标准测试方法</th> <th>标准测试方法</th>
<th>测试场景</th> <th>测试场景</th>
<th>测试类型</th> <th>测试类型</th>
<th>用例编号</th> <th>用例编号</th>
<th>测试结果</th> <th>测试结果</th>
<!-- <th>用例名称</th>-->
<!-- <th>工具</th>-->
<!-- <th>对应输入</th>-->
<!-- <th style="width: 370px">测试用例</th>-->
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<!-- 循环遍历 keyPointList --> <template v-for="(i, PointIndex) in tableData">
<template v-for="(i, PointIndex) in tableData.keyPointList">
<tr :key="'PointIndex1' + PointIndex"> <tr :key="'PointIndex1' + PointIndex">
<td align="center" :rowspan="getRows(i)"> <td align="center" :rowspan="getRows3(i)">
{{ '7.1.1' }} {{ i.chapter }}
</td> </td>
<td align="center" :rowspan="getRows(i)"> <td align="center" :rowspan="getRows3(i)">
{{ i.text }} {{ i.text }}
</td> </td>
<td align="center" :rowspan="getRows(i)"> <td align="center" :rowspan="getRows3(i)">
{{ i.text }} {{ i.testMethod }}
</td> </td>
</tr> </tr>
<!-- 循环遍历 reviewDetailsList --> <template v-for="(v, testCaseIndex) in i.testCaseList">
<template v-for="(v, reviewDetailIndex) in i.reviewDetailsList"> <tr :key="'testCaseIndex' + PointIndex + testCaseIndex">
<tr <td align="center" rowspan="1">
:key="'reviewDetailIndex' + PointIndex + reviewDetailIndex" {{ v.testScenario }}
>
<td align="center">
{{ '测试场景' }}
</td> </td>
<td align="center"> <td align="center" rowspan="1">
{{ '测试类型' }} {{ v.testType }}
</td> </td>
<td align="center"> <td align="center" rowspan="1">
{{ '用例编号' }} {{ v.usecaseNo }}
</td> </td>
<td align="center"> <td align="center" rowspan="1">
{{ '测试结果' }} {{ '' }}
</td> </td>
<!-- <td align="center" rowspan="1">-->
<!-- {{ v.name }}-->
<!-- </td>-->
<!-- <td align="center" rowspan="1">-->
<!-- {{ v.tools }}-->
<!-- </td>-->
<!-- <td align="center" rowspan="1">-->
<!-- {{ v.input }}-->
<!-- </td>-->
<!-- <td align="center" rowspan="1">-->
<!-- {{ v.description }}-->
<!-- </td>-->
</tr> </tr>
</template> </template>
</template> </template>
...@@ -209,6 +216,7 @@ ...@@ -209,6 +216,7 @@
返回 返回
</footer-button> </footer-button>
<footer-button <footer-button
v-if="this.isLeader !== false"
type="primary" type="primary"
icon="hard-disk-one" icon="hard-disk-one"
@click="goToProcessedReview" @click="goToProcessedReview"
...@@ -223,11 +231,12 @@ ...@@ -223,11 +231,12 @@
<!--js逻辑--> <!--js逻辑-->
<script> <script>
import routerMixins from '@/mixins/router' import routerMixins from '@/mixins/router'
import { getRows, getRows2 } from '../../../../utils/reviewDetailsTable' import { getRows3 } from '../../../../utils/reviewDetailsTable'
import { listInspection } from '../../../../api/setting/standardTerms' import { testDetail } from '../../../../api/task/test'
import { getBySubtaskId, taskImageSubmit } from '../../../../api/task/task'
export default { export default {
name: 'Index', name: 'Index',
dicts: ['test_cartype_type'], dicts: ['task_test_status'],
mixins: [routerMixins], mixins: [routerMixins],
data() { data() {
return { return {
...@@ -243,95 +252,56 @@ export default { ...@@ -243,95 +252,56 @@ export default {
inspectionLeader: '', inspectionLeader: '',
result: [] result: []
}, },
rules: { loading: false,
enterpriseLeader: [ isLeader: ''
{ required: true, message: '请输入车企负责人', trigger: 'blur' }
],
inspectionLeader: [
{ required: true, message: '请输入检验负责人', trigger: 'blur' }
]
},
taskId: '',
loading: false
} }
}, },
// async mounted() {
// if (this.$route.query.id) {
// this.taskId = this.$route.query.id
// }
// await this.getTask()
// this.openAll()
// },
mounted() { mounted() {
this.init() this.getTest()
this.getTestDetail()
}, },
methods: { methods: {
getRows, getRows3,
getRows2, /* 返回跳转*/
/** 获取体系审查、车型审查检验内容 */ goToProcessedReview() {
init() { // this.ruleForm.taskId = '1771093631118106626'
const formData = {
// imagesUrl: [
// this.ruleForm.enterpriseLeader,
// this.ruleForm.inspectionLeader
// ],
imagesUrl: [{}],
taskId: this.$route.query.id
}
console.log('formData', formData)
taskImageSubmit(formData).then(res => {
if (res.code === 200) {
this.$modal.msgSuccess('确认提交成功')
this.$router.push({
path: '/processing/unprocessed-review'
})
} else {
this.$modal.msgError(res.msg)
}
})
},
/** 获取任务详情 */
getTest() {
getBySubtaskId({ id: this.$route.query.id }).then(res => {
if (res.code === 200) {
this.task = res.data
const auditors = res.data.auditors
this.isLeader = auditors.some(item => item.isLeader === 1)
console.log('found', this.isLeader) // 输出: true 如果找到,否则输出: false
}
})
},
getTestDetail() {
this.loading = true this.loading = true
listInspection({ id: '1744181159757221888' }).then(res => { testDetail({ taskId: this.$route.query.id }).then(res => {
this.tableData = res.data this.tableData = res.data
this.loading = false this.loading = false
}) })
},
/**
* 获取任务详情
*/
// async getTask() {
// this.loading = true
// const res = await checkTaskDetail({
// taskId: this.taskId
// })
// this.loading = false
// if (res.code === 200) {
// this.model = res.data
// await this.getTaskDetail()
// if (this.model.carReviewTask.imagesUrl) {
// const imgs = this.model.carReviewTask.imagesUrl.split(',')
// this.ruleForm.enterpriseLeader
// ? process.env.VUE_APP_IMAGE_API + imgs[0]
// : ''
// this.ruleForm.inspectionLeader
// ? process.env.VUE_APP_IMAGE_API + imgs[1]
// : ''
// }
// } else {
// this.$modal.msgError(res.msg)
// }
// },
/**
* 获取任务详情
*/
// async getTaskDetail() {
// const result = await getBySubtaskId({
// id: this.taskId
// })
// if (result.code === 200) {
// this.task = result.data
// }
// },
/* 返回跳转*/
goToProcessedReview() {
// this.ruleForm.taskId = this.taskId
// const formData = {
// imagesUrl: [
// this.ruleForm.enterpriseLeader,
// this.ruleForm.inspectionLeader
// ],
// taskId: this.taskId
// }
// carTaskSubmit(formData).then(res => {
// if (res.code === 200) {
// this.$modal.msgSuccess('确认提交成功')
// this.$router.push({
// path: '/processing/unprocessed-review'
// })
// } else {
// this.$modal.msgError(res.msg)
// }
// })
} }
} }
} }
......
<!-- 测试用例详情 --> <!-- 测试用例详情 -->
<template> <template>
<page-standard> <task-standard>
<div class="web-page"> <div class="web-page">
<iframe <iframe
:src="url" :src="url"
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
style="width: 100%; height: 100%" style="width: 100%; height: 100%"
></iframe> ></iframe>
</div> </div>
</page-standard> </task-standard>
</template> </template>
<script> <script>
...@@ -23,7 +23,7 @@ export default { ...@@ -23,7 +23,7 @@ export default {
}, },
mounted() { mounted() {
const id = this.$route.query.id const id = this.$route.query.id
this.url = `http://10.12.48.80:1234/car/complianceTestingCenter/projectOverView/${id}` this.url = `https://10.12.48.78:8090/car/complianceTestingCenter/projectOverView/${id}`
}, },
methods: {} methods: {}
} }
......
...@@ -139,7 +139,6 @@ export default { ...@@ -139,7 +139,6 @@ export default {
detailsList: [] detailsList: []
}, },
task: {}, task: {},
taskId: '',
loading: false loading: false
} }
}, },
...@@ -150,7 +149,7 @@ export default { ...@@ -150,7 +149,7 @@ export default {
methods: { methods: {
getRows3, getRows3,
getTest() { getTest() {
getBySubtaskId({ id: '1768527384203460609' }).then(res => { getBySubtaskId({ id: this.$route.query.id }).then(res => {
if (res.code === 200) { if (res.code === 200) {
this.task = res.data this.task = res.data
} }
...@@ -159,7 +158,7 @@ export default { ...@@ -159,7 +158,7 @@ export default {
/** 获取任务详情 */ /** 获取任务详情 */
getTestDetail() { getTestDetail() {
this.loading = true this.loading = true
testDetail({ taskId: '1768527384203460609' }).then(res => { testDetail({ taskId: this.$route.query.id }).then(res => {
this.tableData = res.data this.tableData = res.data
this.loading = false this.loading = false
}) })
......
...@@ -135,9 +135,6 @@ export default { ...@@ -135,9 +135,6 @@ export default {
], ],
identifyNumber: [ identifyNumber: [
{ required: true, message: '请输入文件识别号', trigger: 'blur' } { required: true, message: '请输入文件识别号', trigger: 'blur' }
],
photo: [
{ required: true, message: '请选择文件照片', trigger: 'change' }
] ]
} }
} }
......
...@@ -157,6 +157,7 @@ ...@@ -157,6 +157,7 @@
prop="createBy" prop="createBy"
label="创建人员" label="创建人员"
min-width="130" min-width="130"
show-overflow-tooltip
align="left" align="left"
> >
</el-table-column> </el-table-column>
......
...@@ -217,13 +217,15 @@ ...@@ -217,13 +217,15 @@
<div v-else>__</div> <div v-else>__</div>
</td> </td>
<td align="center"> <td align="center">
<div <div v-if="reviewDetail.result">
v-if=" <div v-if="reviewDetail.result.fileList">
reviewDetail.result && reviewDetail.result.fileName <template v-for="i in reviewDetail.result.fileList">
" {{ i.fileName }}{{ i.catalogue }}
> </template>
{{ reviewDetail.result.fileName }} </div>
{{ reviewDetail.result.catalogue }} <div v-if="reviewDetail.result.comment">
{{ reviewDetail.result.comment }}
</div>
</div> </div>
<div v-else>__</div> <div v-else>__</div>
</td> </td>
......
...@@ -129,9 +129,6 @@ export default { ...@@ -129,9 +129,6 @@ export default {
], ],
identifyNumber: [ identifyNumber: [
{ required: true, message: '请输入文件识别号', trigger: 'blur' } { required: true, message: '请输入文件识别号', trigger: 'blur' }
],
photo: [
{ required: true, message: '请选择文件照片', trigger: 'change' }
] ]
}, },
model: this.$modelDataSource({ model: this.$modelDataSource({
......
...@@ -99,11 +99,15 @@ ...@@ -99,11 +99,15 @@
<div v-else>__</div> <div v-else>__</div>
</td> </td>
<td align="center"> <td align="center">
<div <div v-if="reviewDetail.result">
v-if="reviewDetail.result && reviewDetail.result.fileName" <div v-if="reviewDetail.result.fileList">
> <template v-for="i in reviewDetail.result.fileList">
{{ reviewDetail.result.fileName }} {{ i.fileName }}{{ i.catalogue }}
{{ reviewDetail.result.catalogue }} </template>
</div>
<div v-if="reviewDetail.result.comment">
{{ reviewDetail.result.comment }}
</div>
</div> </div>
<div v-else>__</div> <div v-else>__</div>
</td> </td>
......
<template> <template>
<div> <div>
<task-standard v-loading="loading"> <task-standard>
<div slot="header-right"> <div slot="header-right">
<header-button <header-button
icon="preview-open" icon="preview-open"
...@@ -9,6 +9,13 @@ ...@@ -9,6 +9,13 @@
> >
预览表单 预览表单
</header-button> </header-button>
<header-button
v-if="model.systemReviewTask.leaderId == userId"
type="default"
icon="check"
@click="submitFrom()"
>提交表单</header-button
>
<header-button <header-button
icon="arrow-left" icon="arrow-left"
class="back-btn" class="back-btn"
...@@ -130,13 +137,15 @@ ...@@ -130,13 +137,15 @@
:rules="rules" :rules="rules"
> >
<el-form-item class="right-content-item" label="标准章节"> <el-form-item class="right-content-item" label="标准章节">
<span>{{ taskModel.chapter }}</span> <div style="display: flex">{{ taskModel.chapter }}</div>
</el-form-item> </el-form-item>
<el-form-item class="right-content-item" label="标准要求"> <el-form-item class="right-content-item" label="标准要求">
<span>{{ taskModel.standardText }}</span> <div style="display: flex">{{ taskModel.standardText }}</div>
</el-form-item> </el-form-item>
<el-form-item class="right-content-item" label="审查要点"> <el-form-item class="right-content-item" label="审查要点">
<span>{{ taskModel.reviewKeypointText }}</span> <div style="display: flex">
{{ taskModel.reviewKeypointText }}
</div>
</el-form-item> </el-form-item>
<el-form-item class="right-content-item" label="审查细则"> <el-form-item class="right-content-item" label="审查细则">
<div class="scene-content"> <div class="scene-content">
...@@ -224,58 +233,116 @@ ...@@ -224,58 +233,116 @@
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<el-form-item class="right-content-item" label="相关记录"> <el-form-item class="right-content-item" label="相关记录">
<div style="display: flex; flex-flow: column">
<el-row v-for="(file, key) in form.fileList" :key="key">
<el-col :span="8">
<div>
<el-form-item
prop="fileName"
label-suffix=" "
label="文件名称"
>
<el-autocomplete
v-model="file.fileName"
style="width: 100%"
:fetch-suggestions="querySearch"
placeholder="请输入文件名称"
@select="
e => {
querySelect(file, e)
}
"
@input="
e => {
queryInput(file, e)
}
"
></el-autocomplete>
</el-form-item>
</div>
</el-col>
<el-col :span="8" :offset="1">
<div>
<el-form-item
prop="catalogue"
label-suffix=" "
label="章节条目或范围"
>
<el-input
v-model="file.catalogue"
placeholder="请输入具体章节条目或范围"
/>
</el-form-item>
</div>
</el-col>
<el-col :span="1" :offset="1">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
style="margin-top: 27px"
@click="form.fileList.splice(key, 1)"
></el-button>
</el-col>
<el-col :span="24">
<company-file
v-show="file.show"
:enterprise-name="
model.systemReviewTask.enterpriseName
"
:file-name="file.fileName"
@fileNameUpdate="
name => {
file.fileName = name
}
"
@handleUpdate="
e => {
handleFileUpdate(file, e)
}
"
@handleSave="
e => {
handleFileSave(file, e)
}
"
></company-file>
</el-col>
</el-row>
<el-button
class="add-number"
icon="el-icon-circle-plus-outline"
@click="handleAddFile()"
>添加文件</el-button
>
</div>
<el-row> <el-row>
<el-col :span="8"> <el-col :span="24">
<div> <el-form-item
<el-form-item prop="comment"
prop="fileName" label-suffix=" "
label-suffix=" " label="备注信息"
label="文件名称" >
> <el-input
<el-autocomplete v-model="form.comment"
v-model="form.fileName" placeholder="请输入备注信息"
style="width: 100%" type="textarea"
:fetch-suggestions="querySearch" :autosize="{ minRows: 4, maxRows: 4 }"
placeholder="请输入文件名称" clearable
@select="querySelect" />
></el-autocomplete> </el-form-item>
</el-form-item>
</div>
</el-col>
<el-col :span="8" :offset="1">
<div>
<el-form-item
prop="catalogue"
label-suffix=" "
label="章节条目或范围"
>
<el-input
v-model="form.catalogue"
placeholder="请输入具体章节条目或范围"
/>
</el-form-item>
</div>
</el-col> </el-col>
</el-row> </el-row>
<!-- //车企文件信息 -->
</el-form-item> </el-form-item>
<company-file
v-show="formManger.show"
style="margin-left: 125px"
:enterprise-name="model.systemReviewTask.enterpriseName"
:file-name="form.fileName"
@fileNameUpdate="
name => {
form.fileName = name
}
"
@handleUpdate="handleFileUpdate"
@handleSave="handleFileSave"
></company-file>
</el-form> </el-form>
</div> </div>
</div> </div>
<div v-else class="empty-message">-暂无未完成条目-</div> <div v-else class="empty-message">
<iconpark-icon name="wutiaomu" size="120px"></iconpark-icon>
<span> 无未完成条目 </span>
</div>
</div> </div>
<div class="bottom-btn"> <div class="bottom-btn">
<footer-button <footer-button
...@@ -287,13 +354,6 @@ ...@@ -287,13 +354,6 @@
> >
保存当前条目 保存当前条目
</footer-button> </footer-button>
<footer-button
v-if="model.systemReviewTask.leaderId == userId"
type="primary"
icon="check"
@click="submitFrom()"
>提交表单</footer-button
>
</div> </div>
</div> </div>
</task-standard> </task-standard>
...@@ -349,18 +409,16 @@ export default { ...@@ -349,18 +409,16 @@ export default {
passed: '', passed: '',
reviewDetailsId: '', reviewDetailsId: '',
taskId: '', taskId: '',
fileName: '', comment: '',
catalogue: '', fileList: []
reviewEnterpriseArchiveId: ''
}, },
task: {}, task: {},
oldForm: { oldForm: {
passed: '', passed: '',
reviewDetailsId: '', reviewDetailsId: '',
taskId: '', taskId: '',
fileName: '', comment: '',
catalogue: '', fileList: []
reviewEnterpriseArchiveId: ''
}, },
model: { model: {
systemReviewTask: {}, systemReviewTask: {},
...@@ -371,33 +429,10 @@ export default { ...@@ -371,33 +429,10 @@ export default {
activeModel: 0, activeModel: 0,
checked: false, checked: false,
detailsList: [], detailsList: [],
rules: { rules: {},
passed: [
{ required: true, message: '请选择审查结果', trigger: 'blur' }
],
fileName: [
{
required: true,
message: '请输入文件名称',
trigger: ['change']
}
],
catalogue: [
{
required: true,
message: '请输入具体章节条目或范围',
trigger: 'blur'
}
]
},
// TODO 删除 // TODO 删除
checkedTwo: false, checkedTwo: false,
checkedThree: false, checkedThree: false,
radio: 1,
addData: {
fileName: '',
chapterEntry: ''
},
changeTask: [], changeTask: [],
changeTaskDetails: [], changeTaskDetails: [],
value1: '', value1: '',
...@@ -414,7 +449,6 @@ export default { ...@@ -414,7 +449,6 @@ export default {
id: 0 id: 0
} }
}), }),
isFileUpdate: false,
loading: false loading: false
} }
}, },
...@@ -432,23 +466,6 @@ export default { ...@@ -432,23 +466,6 @@ export default {
...mapGetters(['name', 'companyFiles', 'userId']) ...mapGetters(['name', 'companyFiles', 'userId'])
}, },
watch: { watch: {
'form.fileName': function (newValue) {
if (newValue) {
const files = this.companyFiles
const query = files.filter(this.createFilter(newValue))
if (query.length === 0) {
this.formManger.show = true
this.isFileUpdate = true
this.formManger.fileName = newValue
} else {
this.isFileUpdate = false
this.formManger.show = false
}
} else {
this.isFileUpdate = false
this.formManger.show = false
}
},
checked(newV) { checked(newV) {
if (newV) { if (newV) {
this.detailsList = this.model.detailsList.filter(item => { this.detailsList = this.model.detailsList.filter(item => {
...@@ -472,20 +489,45 @@ export default { ...@@ -472,20 +489,45 @@ export default {
/** /**
* 企业文件保存回调 * 企业文件保存回调
*/ */
handleFileSave(element) { handleFileSave(file, element) {
this.form.reviewEnterpriseArchiveId = element file.id = element
this.isFileUpdate = false file.isFileUpdate = false
this.formManger.show = false file.show = false
this.$forceUpdate()
}, },
/** /**
* 企业文件表单内容修改回调 * 企业文件表单内容修改回调
* @param {*} element 返回值 * @param {*} element 返回值
*/ */
handleFileUpdate(element) { handleFileUpdate(file, element) {
this.isFileUpdate = element file.isFileUpdate = element
},
handleAddFile() {
this.form.fileList.push({
fileName: '',
catalogue: '',
id: ''
})
}, },
querySelect(e) { querySelect(file, e) {
this.form.reviewEnterpriseArchiveId = e.id file.id = e.id
},
queryInput(file, newValue) {
if (newValue) {
const files = this.companyFiles
const query = files.filter(this.createFilter(newValue))
if (query.length === 0) {
file.show = true
file.isFileUpdate = true
file.fileName = newValue
} else {
file.isFileUpdate = false
file.show = false
}
} else {
file.isFileUpdate = false
file.show = false
}
}, },
querySearch(queryString, cb) { querySearch(queryString, cb) {
const files = this.companyFiles const files = this.companyFiles
...@@ -593,12 +635,22 @@ export default { ...@@ -593,12 +635,22 @@ export default {
this.sceneViewManger.dialogVisible = true this.sceneViewManger.dialogVisible = true
this.sceneViewManger.data = data this.sceneViewManger.data = data
}, },
// 遍历数组中的对象判断某一属性的数值是否为true
allPropertiesCheck(obj, key) {
if (obj[key] !== '' && typeof obj[key] !== 'undefined' && obj[key]) {
return true
}
return false
},
/** /**
* 点击左侧圆圈触发的回调函数 * 点击左侧圆圈触发的回调函数
* @param item 圆圈对象 * @param item 圆圈对象
*/ */
changeStep(index) { changeStep(index) {
if (this.isAllPropertiesEqual() && !this.isFileUpdate) { if (
this.isAllPropertiesEqual() &&
!this.allPropertiesCheck(this.form.fileList, 'isFileUpdate')
) {
this.handleCircle(index) this.handleCircle(index)
} else { } else {
this.$message.error('您有未保存内容,请点击保存按钮') this.$message.error('您有未保存内容,请点击保存按钮')
...@@ -606,7 +658,27 @@ export default { ...@@ -606,7 +658,27 @@ export default {
}, },
isAllPropertiesEqual() { isAllPropertiesEqual() {
for (var key in this.form) { for (var key in this.form) {
if (this.form[key] !== this.oldForm[key]) { if (key !== 'isFileUpdate') {
if (
JSON.stringify(this.form[key]) !== JSON.stringify(this.oldForm[key])
) {
return false
}
}
}
return true
},
/**
*判断两个数组是否一样
* @param {*} item
* @param {*} oldItem
*/
isAllPropertiesEqualArray(item, oldItem) {
if (item.length !== oldItem.length) {
return false
}
for (var i = 0; i < item.length; i++) {
if (item[i].chapter !== oldItem[i].chapter) {
return false return false
} }
} }
...@@ -625,36 +697,30 @@ export default { ...@@ -625,36 +697,30 @@ export default {
passed: this.taskModel.result.passed, passed: this.taskModel.result.passed,
reviewDetailsId: this.taskModel.id, reviewDetailsId: this.taskModel.id,
taskId: this.taskId, taskId: this.taskId,
fileName: this.taskModel.result.fileName, comment: this.taskModel.result.comment,
catalogue: this.taskModel.result.catalogue, fileList: this.taskModel.result.fileList || []
reviewEnterpriseArchiveId:
this.taskModel.result.reviewEnterpriseArchiveId
} }
this.oldForm = { this.oldForm = {
passed: this.taskModel.result.passed, passed: this.taskModel.result.passed,
reviewDetailsId: this.taskModel.id, reviewDetailsId: this.taskModel.id,
taskId: this.taskId, taskId: this.taskId,
fileName: this.taskModel.result.fileName, comment: this.taskModel.result.comment,
catalogue: this.taskModel.result.catalogue, fileList: this.taskModel.result.fileList || []
reviewEnterpriseArchiveId:
this.taskModel.result.reviewEnterpriseArchiveId
} }
} else { } else {
this.form = { this.form = {
passed: '', passed: '',
reviewDetailsId: this.taskModel.id, reviewDetailsId: this.taskModel.id,
taskId: this.taskId, taskId: this.taskId,
fileName: '', comment: '',
catalogue: '', fileList: []
reviewEnterpriseArchiveId: ''
} }
this.oldForm = { this.oldForm = {
passed: '', passed: '',
reviewDetailsId: this.taskModel.id, reviewDetailsId: this.taskModel.id,
taskId: this.taskId, taskId: this.taskId,
fileName: '', comment: '',
catalogue: '', fileList: []
reviewEnterpriseArchiveId: ''
} }
} }
this.$nextTick(() => { this.$nextTick(() => {
...@@ -676,23 +742,28 @@ export default { ...@@ -676,23 +742,28 @@ export default {
submitQuestionnaire(type) { submitQuestionnaire(type) {
this.$refs.form.validate(valid => { this.$refs.form.validate(valid => {
if (valid) { if (valid) {
if (!this.isFileUpdate) { if (!this.allPropertiesCheck(this.form.fileList, 'isFileUpdate')) {
// 根据公司文件和文件名获取特定项目项,并据此更新表单中的审核企业档案ID // 根据公司文件和文件名获取特定项目项,并据此更新表单中的审核企业档案ID
const files = this.companyFiles // 获取公司文件列表 const files = this.companyFiles // 获取公司文件列表
const fileName = this.form.fileName // 获取表单中填写的文件名 this.form.fileList.map(file => {
// 根据文件名在公司文件列表中查找对应项目项 const fileName = file.fileName // 获取表单中填写的文件名
const item = this.getProjectByName(files, fileName) // 根据文件名在公司文件列表中查找对应项目项
if (item) { const item = this.getProjectByName(files, fileName)
this.form.reviewEnterpriseArchiveId = item.id // 找到项目项则更新表单的审核企业档案ID if (item) {
} else { file.id = item.id // 找到项目项则更新表单的审核企业档案ID
this.form.reviewEnterpriseArchiveId = null // 未找到则将审核企业档案ID设为null } else {
} file.id = null // 未找到则将审核企业档案ID设为null
}
})
reviewDetailsSubmit(this.form).then(async res => { reviewDetailsSubmit(this.form).then(async res => {
if (res.code === 200) { if (res.code === 200) {
await this.getTask() await this.getTask()
if (this.checked) { if (this.checked) {
this.handleCircle(0) this.handleCircle(0)
} }
this.form.fileList.map(i => {
i.isFileUpdate = false
})
this.oldForm = this.form this.oldForm = this.form
this.$modal.msgSuccess('保存当前条目成功') this.$modal.msgSuccess('保存当前条目成功')
this.$nextTick(() => { this.$nextTick(() => {
......
...@@ -600,7 +600,7 @@ export default { ...@@ -600,7 +600,7 @@ export default {
// 确认测试结果 // 确认测试结果
case 'SIGNED': case 'SIGNED':
this.$router.push({ this.$router.push({
ath: `/processing/carTest/confirmation-test??id=${id}` path: `/processing/carTest/confirmation-test??id=${id}`
}) })
break break
case 'FINISH': case 'FINISH':
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
title="检验内容" title="检验内容"
:visible.sync="dialogManger.dialogVisible" :visible.sync="dialogManger.dialogVisible"
direction="rtl" direction="rtl"
size="40%" size="80%"
:before-close="handleClose" :before-close="handleClose"
> >
<template slot="title"> <template slot="title">
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<el-drawer <el-drawer
:visible.sync="dialogManger.dialogVisible" :visible.sync="dialogManger.dialogVisible"
direction="rtl" direction="rtl"
size="40%" size="80%"
:before-close="handleClose" :before-close="handleClose"
> >
<template slot="title"> <template slot="title">
......
...@@ -18,12 +18,11 @@ export default { ...@@ -18,12 +18,11 @@ export default {
return { return {
id: this.$route.query, id: this.$route.query,
url: '' url: ''
// http://10.12.48.78:8090/car/caseManage/case/casePublishDetail/case_items;375
} }
}, },
mounted() { mounted() {
const id = this.$route.query.id const id = this.$route.query.id
this.url = `http://10.12.48.78:8090/car/caseManage/case/casePublishDetail/${id}` this.url = `https://10.12.48.78:8090/car/caseManage/case/casePublishDetail/${id}`
}, },
methods: {} methods: {}
} }
......
...@@ -239,6 +239,8 @@ export default { ...@@ -239,6 +239,8 @@ export default {
const roleId = this.queryParams.roleId const roleId = this.queryParams.roleId
this.$modal this.$modal
.confirm('确认要取消该用户"' + row.userName + '"角色吗?', { .confirm('确认要取消该用户"' + row.userName + '"角色吗?', {
type: 'warning',
title: '取消授权',
closeOnClickModal: false closeOnClickModal: false
}) })
.then(function () { .then(function () {
...@@ -256,6 +258,8 @@ export default { ...@@ -256,6 +258,8 @@ export default {
const userIds = this.userIds.join(',') const userIds = this.userIds.join(',')
this.$modal this.$modal
.confirm('是否取消选中用户授权数据项?', { .confirm('是否取消选中用户授权数据项?', {
type: 'warning',
title: '取消授权',
closeOnClickModal: false closeOnClickModal: false
}) })
.then(function () { .then(function () {
......
...@@ -196,12 +196,12 @@ ...@@ -196,12 +196,12 @@
>更多</el-button >更多</el-button
> >
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item <!-- <el-dropdown-item
v-hasPermi="['system:role:edit']" v-hasPermi="['system:role:edit']"
command="handleDataScope" command="handleDataScope"
icon="el-icon-circle-check" icon="el-icon-circle-check"
>数据权限</el-dropdown-item >数据权限</el-dropdown-item
> > -->
<el-dropdown-item <el-dropdown-item
v-hasPermi="['system:role:edit']" v-hasPermi="['system:role:edit']"
command="handleAuthUser" command="handleAuthUser"
......
...@@ -42,7 +42,7 @@ module.exports = { ...@@ -42,7 +42,7 @@ module.exports = {
} }
}, },
[process.env.VUE_APP_CLIENT_API]: { [process.env.VUE_APP_CLIENT_API]: {
target: `http://10.12.48.78:8090`, target: `https://10.12.48.78/vvmpapi`,
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
['^' + process.env.VUE_APP_CLIENT_API]: '' ['^' + process.env.VUE_APP_CLIENT_API]: ''
...@@ -116,7 +116,7 @@ module.exports = { ...@@ -116,7 +116,7 @@ module.exports = {
.use('graphql-tag/loader') .use('graphql-tag/loader')
.loader('graphql-tag/loader') .loader('graphql-tag/loader')
.end(); .end();
config.when(process.env.NODE_ENV !== 'development', config => { config.when(process.env.NODE_ENV === 'production', config => {
config config
.plugin('ScriptExtHtmlWebpackPlugin') .plugin('ScriptExtHtmlWebpackPlugin')
.after('html') .after('html')
......
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