Commit 391a63dd authored by jiaxu.yan's avatar jiaxu.yan

feat: 我的任务,企业文件库

parent 33f759d2
......@@ -128,7 +128,7 @@ export function carReviewTaskConfirm(data) {
data
})
}
/// 任务创建
export function createTask(data) {
return request({
url: '/task/createTask',
......@@ -136,3 +136,13 @@ export function createTask(data) {
data
})
}
/// 任务删除
export function removeTask(data) {
return request({
url: '/task/remove',
method: 'post',
data
})
}
......@@ -14,8 +14,7 @@ const actions = {
getCompanyFiles({ commit }, data) {
getCompanyFile(data).then(res => {
// 筛选数组返回其中某一个元素成为新数组
const resData = res.rows.map(item => { return { "value": item.fileName } })
console.log(resData);
const resData = res.rows.map(item => { return { "value": item.fileName, "id": item.id } })
commit('SET_FILES', resData)
})
}
......
......@@ -61,7 +61,7 @@ ModelDataSource.prototype = {
}
}
successCallback(response)
successCallback()
})
.catch(function (error) {
failedCallback()
......@@ -102,7 +102,7 @@ ModelDataSource.prototype = {
self[key] = response.data[key]
}
}
successCallback()
successCallback(response)
})
.catch(function (error) {
// console.log(error.response)
......
......@@ -150,6 +150,7 @@
<th>审查要点</th>
<th>审查细则</th>
<th>审查结果</th>
<th>记录</th>
<th>填写人</th>
</tr>
<template v-for="(keyPoint, keyPointKey) in item.keyPointList">
......@@ -176,6 +177,12 @@
: '__'
}}
</td>
<td align="center">
<div v-if="reviewDetail.result">
{{ reviewDetail.result.catalogue }}
</div>
<div v-else>__</div>
</td>
<td align="center">
{{
reviewDetail.result
......
......@@ -150,7 +150,6 @@
<th>审查要点</th>
<th>审查细则</th>
<th>审查结果</th>
<th>记录</th>
<th>填写人</th>
</tr>
<template v-for="(keyPoint, keyPointKey) in item.keyPointList">
......@@ -169,16 +168,17 @@
<td align="center">
<el-tag
v-if="reviewDetail.result.passed === 1"
size="medium"
type="success"
>通过</el-tag
>
<el-tag
v-if="reviewDetail.result.passed === 0"
size="medium"
type="danger"
>不通过</el-tag
>
</td>
<td align="center">{{ reviewDetail.result }}</td>
<td align="center">
{{
reviewDetail.result
......
......@@ -160,7 +160,7 @@ export default {
}
},
created() {
this.model.taskId = this.$route.query.id
this.model.taskId = this.$route.query.taskId
},
methods: {
/**
......@@ -183,10 +183,11 @@ export default {
if (valid) {
this.model.save(
res => {
this.$emit('handleSave', res.data)
this.$store.dispatch('processing/getCompanyFiles', {
taskId: this.$route.query.id
taskId: this.$route.query.taskId
})
this.$emit('handleSave', res.data)
this.$modal.msgSuccess('提交文件成功')
},
errors => {}
)
......
......@@ -13,7 +13,7 @@
<div class="form-review-questionnaire" style="margin: 0">
<div class="title-display">
<span class="title-i"></span>
<span class="title-content">审查问卷概要</span>
<span class="title-content">预览审查表单</span>
<div class="control-btns">
<div class="control-btn" @click="openAll()">
<icon-park
......@@ -76,18 +76,28 @@
<tr :key="reviewDetailKey">
<td align="center">{{ reviewDetail.text }}</td>
<td align="center">
<div v-if="reviewDetail.result">
<el-tag
v-if="reviewDetail.result.passed === 1"
size="medium"
type="success"
>通过</el-tag
>
<el-tag
v-if="reviewDetail.result.passed === 0"
size="medium"
type="danger"
>不通过</el-tag
>
</div>
<div v-else>__</div>
</td>
<td align="center">
<div v-if="reviewDetail.result">
{{ reviewDetail.result.catalogue }}
</div>
<div v-else>__</div>
</td>
<td align="center">{{ reviewDetail.result }}</td>
<td align="center">
{{
reviewDetail.result
......@@ -137,6 +147,15 @@ export default {
activeNames: []
}
},
watch: {
'dialogManger.dialogVisible': {
handler(newValue, oldValue) {
if (newValue) {
this.openAll()
}
}
}
},
methods: {
// 关闭预览
handleClose() {
......
......@@ -208,6 +208,7 @@
style="width: 100%"
:fetch-suggestions="querySearch"
placeholder="请输入文件名称"
@select="querySelect"
></el-autocomplete>
</div>
</el-col>
......@@ -331,6 +332,13 @@ export default {
show: false,
fileName: ''
},
fileModel: this.$modelDataSource({
url: '/review/enterprise/archive',
dataKey: 'model',
attributes: {
id: 0
}
}),
isFileUpdate: false,
loading: false
}
......@@ -354,6 +362,7 @@ export default {
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
......@@ -379,7 +388,7 @@ export default {
async mounted() {
this.taskId = this.$route.query.id
this.$store.dispatch('processing/getCompanyFiles', {
taskId: this.$route.query.id
taskId: this.$route.query.taskId
})
await this.getTask()
this.handleCircle(0)
......@@ -389,9 +398,10 @@ export default {
* 企业文件保存回调
*/
handleFileSave(element) {
this.form.reviewEnterpriseArchiveId = element
this.form.reviewEnterpriseArchiveId = String(element)
this.isFileUpdate = false
this.formManger.show = false
console.log('企业文件保存回调')
},
/**
* 企业文件表单内容修改回调
......@@ -399,6 +409,10 @@ export default {
*/
handleFileUpdate(element) {
this.isFileUpdate = element
console.log('企业文件表单内容修改回调')
},
querySelect(e) {
this.form.reviewEnterpriseArchiveId = e.id
},
querySearch(queryString, cb) {
const files = this.companyFiles
......@@ -543,6 +557,16 @@ export default {
reviewEnterpriseArchiveId:
this.taskModel.result.reviewEnterpriseArchiveId
}
if (this.taskModel.result.reviewEnterpriseArchiveId) {
this.fileModel.fetch(
this.taskModel.result.reviewEnterpriseArchiveId,
{},
() => {
this.oldForm.fileName = this.fileModel.fileName
this.form.fileName = this.fileModel.fileName
}
)
}
} else {
this.form = {
passed: '',
......@@ -573,6 +597,7 @@ export default {
submitQuestionnaire(type) {
this.$refs.form.validate(valid => {
if (valid) {
if (!this.isFileUpdate) {
reviewDetailsSubmit(this.form).then(async res => {
if (res.code === 200) {
await this.getTask()
......@@ -585,6 +610,9 @@ export default {
this.$modal.msgError(res.msg)
}
})
} else {
this.$message.error('您有未保存内容,请点击保存按钮')
}
}
})
},
......
......@@ -219,7 +219,6 @@
import page from '@/mixins/page'
import { mapGetters } from 'vuex'
export default {
dicts: ['system_task_status', 'sys_scene_type', 'task_type'],
mixins: [page],
data() {
return {
......
......@@ -150,7 +150,6 @@
<th>审查要点</th>
<th>审查细则</th>
<th>审查结果</th>
<th>记录</th>
<th>填写人</th>
</tr>
<template v-for="(keyPoint, keyPointKey) in item.keyPointList">
......@@ -169,16 +168,17 @@
<td align="center">
<el-tag
v-if="reviewDetail.result.passed === 1"
size="medium"
type="success"
>通过</el-tag
>
<el-tag
v-if="reviewDetail.result.passed === 0"
size="medium"
type="danger"
>不通过</el-tag
>
</td>
<td align="center">{{ reviewDetail.result }}</td>
<td align="center">
{{
reviewDetail.result
......
......@@ -169,16 +169,23 @@
<td align="center">
<el-tag
v-if="reviewDetail.result.passed === 1"
size="medium"
type="success"
>通过</el-tag
>
<el-tag
v-if="reviewDetail.result.passed === 0"
size="medium"
type="danger"
>不通过</el-tag
>
</td>
<td align="center">{{ reviewDetail.result }}</td>
<td align="center">
<div v-if="reviewDetail.result">
{{ reviewDetail.result.catalogue }}
</div>
<div v-else>__</div>
</td>
<td align="center">
{{
reviewDetail.result
......
......@@ -160,7 +160,7 @@ export default {
}
},
created() {
this.model.taskId = this.$route.query.id
this.model.taskId = this.$route.query.taskId
},
methods: {
/**
......@@ -184,9 +184,10 @@ export default {
this.model.save(
res => {
this.$store.dispatch('processing/getCompanyFiles', {
taskId: this.$route.query.id
taskId: this.$route.query.taskId
})
this.$emit('handleSave', res.data)
this.$modal.msgSuccess('提交文件成功')
},
errors => {}
)
......
......@@ -13,7 +13,7 @@
<div class="form-review-questionnaire" style="margin: 0">
<div class="title-display">
<span class="title-i"></span>
<span class="title-content">审查问卷概要</span>
<span class="title-content">预览审查表单</span>
<div class="control-btns">
<div class="control-btn" @click="openAll()">
<icon-park
......@@ -76,18 +76,28 @@
<tr :key="reviewDetailKey">
<td align="center">{{ reviewDetail.text }}</td>
<td align="center">
<div v-if="reviewDetail.result">
<el-tag
v-if="reviewDetail.result.passed === 1"
size="medium"
type="success"
>通过</el-tag
>
<el-tag
v-if="reviewDetail.result.passed === 0"
size="medium"
type="danger"
>不通过</el-tag
>
</div>
<div v-else>__</div>
</td>
<td align="center">
<div v-if="reviewDetail.result">
{{ reviewDetail.result.catalogue }}
</div>
<div v-else>__</div>
</td>
<td align="center">{{ reviewDetail.result }}</td>
<td align="center">
{{
reviewDetail.result
......@@ -137,6 +147,15 @@ export default {
activeNames: []
}
},
watch: {
'dialogManger.dialogVisible': {
handler(newValue, oldValue) {
if (newValue) {
this.openAll()
}
}
}
},
methods: {
// 关闭预览
handleClose() {
......
......@@ -213,6 +213,7 @@
style="width: 100%"
:fetch-suggestions="querySearch"
placeholder="请输入文件名称"
@select="querySelect"
></el-autocomplete>
</div>
</el-col>
......@@ -220,7 +221,7 @@
<div>
章节条目或范围
<el-input
v-model="form.chapterEntry"
v-model="form.catalogue"
placeholder="请输入具体章节条目或范围"
/>
</div>
......@@ -344,6 +345,13 @@ export default {
show: false,
fileName: ''
},
fileModel: this.$modelDataSource({
url: '/review/enterprise/archive',
dataKey: 'model',
attributes: {
id: 0
}
}),
isFileUpdate: false,
loading: false
}
......@@ -367,6 +375,7 @@ export default {
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
......@@ -390,6 +399,9 @@ export default {
},
async mounted() {
this.taskId = this.$route.query.id
this.$store.dispatch('processing/getCompanyFiles', {
taskId: this.$route.query.taskId
})
await this.getTask()
this.handleCircle(0)
},
......@@ -409,6 +421,9 @@ export default {
handleFileUpdate(element) {
this.isFileUpdate = element
},
querySelect(e) {
this.form.reviewEnterpriseArchiveId = e.id
},
querySearch(queryString, cb) {
const files = this.companyFiles
const results = queryString
......@@ -551,6 +566,16 @@ export default {
reviewEnterpriseArchiveId:
this.taskModel.result.reviewEnterpriseArchiveId
}
if (this.taskModel.result.reviewEnterpriseArchiveId) {
this.fileModel.fetch(
this.taskModel.result.reviewEnterpriseArchiveId,
{},
() => {
this.oldForm.fileName = this.fileModel.fileName
this.form.fileName = this.fileModel.fileName
}
)
}
} else {
this.form = {
passed: '',
......@@ -581,6 +606,7 @@ export default {
submitQuestionnaire(type) {
this.$refs.form.validate(valid => {
if (valid) {
if (!this.isFileUpdate) {
reviewDetailsSubmit(this.form).then(async res => {
if (res.code === 200) {
await this.getTask()
......@@ -594,6 +620,7 @@ export default {
}
})
}
}
})
},
/**
......
......@@ -139,7 +139,8 @@
@click="
handleSystemReviewTestContent(
item.reviewStatus,
item.systemReviewTaskId
item.systemReviewTaskId,
item.id
)
"
>
......@@ -162,7 +163,8 @@
@click="
handleCarTypeReviewTaskContent(
item.carReviewStatus,
item.carReviewTaskId
item.carReviewTaskId,
item.id
)
"
>
......@@ -418,31 +420,6 @@ export default {
this.$store.dispatch('standard/setStandardList')
},
methods: {
loadData() {
this.loading = true
request({
url: this.listUrl,
method: 'post',
data: this.queryParams
})
.then(res => {
if (res.code === 200) {
console.log(res.rows)
// res.rows[0].carReviewStatus = 'FINISH'
res.rows[0].carReviewStatus = 'PENDING'
// res.rows[0].carReviewStatus = 'FINISH'
this.tableData = res.rows
this.total = res.total
}
this.loading = false
})
.catch(error => {
if (error.msg) {
this.$message.error(error.msg)
}
this.loading = false
})
},
/**
* 企业留档文件
* @param item 对象
......@@ -565,7 +542,7 @@ export default {
this.dialogVisible = true
},
// 体系审查
handleSystemReviewTestContent(status, id) {
handleSystemReviewTestContent(status, id, taskId) {
switch (status) {
// 查看体系审查检查表单
case 'NEW':
......@@ -576,7 +553,7 @@ export default {
// 体系审查填写审查问卷
case 'PENDING':
this.$router.push({
path: '/processing/systemReview/write-check-form?id=' + id
path: `/processing/systemReview/write-check-form?id=${id}&taskId=${taskId}`
})
break
// 确认体系审查检查表单
......@@ -593,7 +570,7 @@ export default {
}
},
// 处理车型审查任务内容
handleCarTypeReviewTaskContent(status, id) {
handleCarTypeReviewTaskContent(status, id, taskId) {
switch (status) {
// 查看车型检查表单
case 'NEW':
......@@ -604,7 +581,7 @@ export default {
// 填写车型检查表单
case 'PENDING':
this.$router.push({
path: '/processing/carReview/write-check-form?id=' + id
path: `/processing/carReview/write-check-form?id=${id}&taskId=${taskId}`
})
break
// 确认车型检验结果
......
......@@ -137,7 +137,8 @@
@click="
handleSystemReviewTestContent(
item.reviewStatus,
item.systemReviewTaskId
item.systemReviewTaskId,
item.id
)
"
>
......@@ -160,7 +161,8 @@
@click="
handleCarTypeReviewTaskContent(
item.carReviewStatus,
item.carReviewTaskId
item.carReviewTaskId,
item.id
)
"
>
......@@ -329,29 +331,24 @@
</div>
<div class="card-cell option-cell">
<page-button
icon="view-list"
title="任务详情"
class="button-item"
@click.native="goDetail(item.id)"
></page-button>
<page-button
icon="file-display"
title="预览企业留档文件"
v-if="item.runStatus === 'RUNNABLE'"
icon="play-one"
title="开始"
class="button-item"
@click.native="handleRetentionFile(item)"
@click.native="startTask(item)"
></page-button>
<page-button
icon="folder-close"
title="车企文件库"
icon="edit"
title="修改"
class="button-item"
@click.native="handleFileLibrary(item)"
@click.native="goNext(item.id)"
></page-button>
<page-button
v-if="item.runStatus === 'RUNNABLE'"
icon="play-one"
title="开始体系审查"
v-if="item.taskStatus === 'NEW'"
icon="delete"
title="删除"
class="button-item"
@click.native="startTask(item)"
@click.native="teakDelete(item.id)"
></page-button>
</div>
</div>
......@@ -491,7 +488,11 @@
import page from '@/mixins/page'
import { getHourDiff } from '@/utils/diff'
import { mapGetters } from 'vuex'
import { reviewTaskStart, reviewCarTaskStart } from '@/api/task/task'
import {
reviewTaskStart,
reviewCarTaskStart,
removeTask
} from '@/api/task/task'
import request from '@/utils/request'
export default {
dicts: [
......@@ -667,27 +668,38 @@ export default {
}
}
},
goDetail(id) {
console.log(111)
this.$router.push({
path: '/task/task-detail?id=' + id
})
},
closeDialog() {
this.dialogVisible = false
/* 跳转到问卷详情*/
goNext(url) {
this.$router.push({ path: url })
},
// 打开移交任务弹窗
openTaskDialog() {
this.dialogVisible = true
teakDelete(id) {
this.$modal
.confirm('是否确定删除该条数据?')
.then(() => {
removeTask({
id
})
.then(() => {
this.loadData()
this.$message({
type: 'success',
message: '删除成功!'
})
})
.catch(() => {
this.$message.error('删除失败')
})
})
.catch(() => {})
},
/** 预览报告按钮操作 */
previewReport() {
previewReport(id) {
this.$router.push({
path: '/processing/reviewReport'
path: '/processing/reviewReport?id=' + id
})
},
// 体系审查
handleSystemReviewTestContent(status, id) {
handleSystemReviewTestContent(status, id, taskId) {
switch (status) {
// 查看体系审查检查表单
case 'NEW':
......@@ -698,7 +710,7 @@ export default {
// 体系审查填写审查问卷
case 'PENDING':
this.$router.push({
path: '/processing/systemReview/write-check-form?id=' + id
path: `/processing/systemReview/write-check-form?id=${id}&taskId=${taskId}`
})
break
// 确认体系审查检查表单
......@@ -714,55 +726,55 @@ export default {
break
}
},
// 车型测试
handleCarTypeTestTaskContent(status, id) {
// 处理车型审查任务内容
handleCarTypeReviewTaskContent(status, id, taskId) {
switch (status) {
// 查看试验方案
// 查看车型检查表单
case 'NEW':
this.$router.push({
path: '/processing/review-form?type=3&id=' + id
path: '/processing/carReview/review-form?id=' + id
})
break
// 执行试验方案
// 填写车型检查表单
case 'PENDING':
this.$router.push({
path: '/processing/vehicle-type'
path: `/processing/carReview/write-check-form?id=${id}&taskId=${taskId}`
})
break
// 确认测试结果
// 确认车型检验结果
case 'SIGNED':
this.$router.push({
path: '/processing/vehicle-type'
path: '/processing/carReview/vehicle-type?id=' + id
})
break
// 查看车型审查记录
case 'FINISH':
this.$router.push({
path: '/processing/carReview/source-record?id=' + id
})
}
},
// 车型检验
handleCarTypeReviewTaskContent(status, id) {
// 车型测试
handleCarTypeTestTaskContent(status, id) {
switch (status) {
// 查看车型检查表单
// 查看试验方案
case 'NEW':
this.$router.push({
path: '/processing/carReview/review-form?id=' + id
path: '/processing/review-form?type=3&id=' + id
})
break
// 填写车型检查表单
// 执行试验方案
case 'PENDING':
this.$router.push({
path: '/processing/carReview/write-check-form?id=' + id
path: '/processing/vehicle-type'
})
break
// 确认车型检验结果
// 确认测试结果
case 'SIGNED':
this.$router.push({
path: '/processing/carReview/vehicle-type?id=' + id
path: '/processing/vehicle-type'
})
break
// 查看车型审查记录
case 'FINISH':
this.$router.push({
path: '/processing/carReview/source-record?id=' + id
})
}
},
getDictData(options, value) {
......
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