Files
laws_weilai/jero-web/src/views/processCenter/processForm/handshakeProcess/index.vue
T
2022-04-25 17:50:35 +08:00

222 lines
6.2 KiB
Java

<template>
<div>
<headerProcess
:title="'工程接口人确认符合性要求'"
is-termination-process
is-submit
@terminationProcess="terminationProcess"
@submit="submit"
/>
<a-spin tip="加载中..." :spinning="loading">
<div class="detail-box" v-if="!loading">
<div class="detail-content" style="height: 100%">
<projectInformation
:projectInformationList="projectInformationList"
:url="url"
:projectInformationId="this.queryBy.projectLibraryId"
/>
<standardContent
:standardContentList="standardContentList"
:url="url"
:standardContentQuery="queryProject"
/>
<standardContentListTable
:standardContentListQuery="queryProject"
:url="url
"/>
<examineInformation
isFlag
isViewUploadedFiles
isApprovalOpinion
ref="examineInformationRef"
:url="url"/>
<circulationHistory :url="url"/>
</div>
</div>
</a-spin>
<div>
</div>
</div>
</template>
<script>
import headerProcess from '../../components/headerProcess'
import projectInformation from '../../components/projectInformation'
import standardContent from '../../components/standardContent'
import standardContentListTable from '../../components/standardContentList'
import examineInformation from '../../components/examineInformation'
import circulationHistory from '../../components/circulationHistory'
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
import { mapGetters } from 'vuex'
export default {
name: 'handshakeProcess',
components: {
headerProcess,
projectInformation,
standardContent,
standardContentListTable,
examineInformation,
circulationHistory
},
data() {
return {
projectInformationList: [
{
title: this.$t('entryName'),
value: 'projectName'
},
{
title: this.$t('targetMarket'),
value: 'targetMarket_dictText'
},
{
title: this.$t('projectStatus'),
value: 'projectStatus_dictText'
},
{
title: this.$t('StudioEngineer'),
value: 'studioEngineerName'
},
{
title: this.$t('certifiedEngineer'),
value: 'certificationEngineerName'
},
{},
{
title: this.$t('DigitalPlatform'),
value: 'digitalPlatform_dictText'
},
{
title: this.$t('ModelPlatform'),
value: 'vehiclePlatform_dictText'
},
{},
{
title: this.$t('IPDInformation'),
value: 'ipdInfo'
},
{
title: this.$t('certificationProgram'),
value: 'attestationPlan'
},
{
title: this.$t('dehicleDevelopmentPlan'),
value: 'vehicleDevelopmentPlan'
}
],
standardContentList: [
{
title: this.$t('standard'),
value: 'serialNumber'
},
{
title: this.$t('title'),
value: 'title'
},
{
title: this.$t('subtitle'),
value: 'subtitle'
},
{
title: this.$t('areaOfResponsibility'),
value: 'dutyTerritory_dictText'
},
{
title: this.$t('implementationCategory'),
value: 'implementType_dictText'
},
{
title: this.$t('correspondingStandard'),
value: 'correspondingStandard'
},
{
title: this.$t('engineeringInterfacePerson'),
value: 'engineeringInterfacePersonName'
},
{
title: this.$t('regulatoryEngineer'),
value: 'regulationOwnerName'
},
{
title: this.$t('certifiedEngineer'),
value: 'homologationEngineerName'
},
{
title: this.$t('remarks'),
value: 'remark'
}
],
url: {
urlFrom: 'project/projectLibraryBase/queryById',
queryProjectLawsInventoryInfoById: 'project/projectLawsInventoryEO/queryProjectLawsInventoryInfoById'
},
queryBy: {},
queryProject: {},
loading: false
}
},
mounted() {
if (this.$route.query.mes) {
this.queryBy = eval('(' + JSON.parse(this.$route.query.mes) + ')')
}
this.queryProjectLawsInventoryInfo()
},
methods: {
...mapGetters(['userInfo']),
terminationProcess() {
},
submit() {
this.$refs.examineInformationRef.submit(function(res) {
this.completeTask(res)
})
},
completeTask(value) {
let json = Object.assign({}, value, this.queryBy)
let data = JSON.stringify(json).replace(/\"/g, '\'')
let query = {
userid: this.userInfo().id,
taskId: this.$route.query.taskId || this.$route.query.taskIds,
json: data
}
postAction('/workFlow/completeTask', query).then((res) => {
if (res.success) {
this.$message.success(this.$t('OperationSuccessful'))
this.$router.push({
path: '/ProcessCenter'
})
} else {
this.$message.warning(this.$t('operationFailed'))
}
})
},
queryProjectLawsInventoryInfo() {
this.loading = true
let query = {
id: this.queryBy.id,
operatorType: 'taskAffirmQuery'
}
getAction(this.url.queryProjectLawsInventoryInfoById, query).then((res) => {
if (res.success) {
this.queryProject = res.result.projectLawsInventory || {}
this.loading = false
} else {
this.queryProject = {}
this.loading = false
}
})
}
}
}
</script>
<style scoped>
.detail-box {
padding: 67px 0 0 0;
background: #ffffff;
height: 100%;
overflow: auto;
}
</style>