修改任务确认流程

This commit is contained in:
qq787203167
2022-05-23 11:19:00 +08:00
parent e22fae8f07
commit e631b10af4
9 changed files with 155 additions and 299 deletions
@@ -17,46 +17,8 @@
<span slot="approvalResult" slot-scope="text,result">
{{approvalResult[text]}}
</span>
<span slot="approvalFile" slot-scope="text,result">
<a v-if="text" @click="clickButtonToUpload(text)">
{{$t('viewFile')}}
</a>
<span v-else>--</span>
</span>
</a-table>
</div>
<a-modal
:title="$t('deliverableTemplate')"
:width="600"
:visible="visibleFile"
:maskClosable="false"
@cancel="visibleFile = false"
>
<template slot="footer">
<a-button key="back" @click="visibleFile = false">
{{$t('cancel')}}
</a-button>
</template>
<a-table
class="table"
:columns="columnsFile"
:pagination="false"
:scroll="{x:500,y: 400}"
:data-source="dataSourceFile"
:loading="loading"
>
<span slot="fileOperation" slot-scope="record">
<a class="text" @click="pdfPreview(record)"
:disabled="record.fileSuffix == '.pdf' || record.fileSuffix == '.docx'
|| record.fileSuffix == '.xlsx' || record.fileSuffix == '.xls' ? false : true">
{{$t('See')}}
</a>
<a class="text" @click="download(record)">
{{ $t('download') }}
</a>
</span>
</a-table>
</a-modal>
</div>
</template>
@@ -78,60 +40,41 @@
3: this.$t('issue')
},
columns: [
{
title: this.$t('operationNode'),
dataIndex: 'name',
align: 'center',
width:'20%',
},
{
title: this.$t('Operator'),
dataIndex: 'assignee',
align: 'center',
width:'20%',
},
{
title: this.$t('result'),
dataIndex: 'approvalResult',
align: 'center',
width:'20%',
scopedSlots: { customRender: 'approvalResult' }
},
{
title: this.$t('opinion'),
dataIndex: 'approvalOpinion',
align: 'center'
},
{
title: this.$t('enclosure'),
dataIndex: 'approvalFile',
align: 'center',
scopedSlots: { customRender: 'approvalFile' }
},
{
title: this.$t('operationNode'),
dataIndex: 'name',
align: 'center'
},
{
title: this.$t('Operator'),
dataIndex: 'assignee',
align: 'center'
width:'20%',
},
{
title: this.$t('operationTime'),
dataIndex: 'createTime',
align: 'center',
width:'20%',
customRender: function(t, r, index) {
return moment(t).format('YYYY-MM-DD HH:mm:ss')
}
}
],
visibleFile: false,
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
dataSourceFile: [],
columnsFile: [
{
title: this.$t('enclosure'),
dataIndex: 'fileName',
align: 'center',
width: 260,
ellipsis: true
},
{
title: this.$t('operation'),
align: 'center',
width: 130,
scopedSlots: { customRender: 'fileOperation' }
}
]
}
},
mounted() {
@@ -147,46 +90,6 @@
this.dataSource = res
})
},
clickButtonToUpload(item) {
this.loading = true
this.visibleFile = true
getAction('sys/common/getFileInfos', { id: item }).then((res) => {
if (res.success) {
this.dataSourceFile = res.result
this.dataSourceFile.forEach((val) => {
let fileName = val.fileName
let index1 = fileName.lastIndexOf('.')
let index2 = fileName.length
let fileSuffix = fileName.substring(index1, index2)
val.fileSuffix = fileSuffix
})
this.loading = false
} else {
this.dataSourceFile = []
this.loading = false
}
})
},
pdfPreview(fileQuery) {
let fileName = fileQuery.fileName
let index1 = fileName.lastIndexOf('.')
let index2 = fileName.length
let fileSuffix = fileName.substring(index1, index2)
if (fileSuffix == '.pdf') {
window.open('/pdf/web/viewer.html?file=' + encodeURIComponent('/jero-boot/sys/common/pdf/viewFile?id=' + fileQuery.id))
} else if (fileSuffix == '.docx') {
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
window.open(url, '_blank')
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id + fileSuffix)
window.open(url, '_blank')
} else {
downloadFile('/sys/common/downLoadFile', fileQuery.fileName, { id: fileQuery.id })
}
},
download(item) {
downloadFile('/sys/common/downLoadFile', item.fileName, { id: item.id })
}
}
}
</script>
@@ -2,18 +2,18 @@
<div class="box">
<div class="box-text">
<div class="header-text">
{{$t('circulationInformation')}}
{{title}}
</div>
</div>
<a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">
<a-row :gutter="24" v-if="isFlag">
<a-col :span="24">
<div class="box-title-text">
<div class="title-text">
<span class="Required">*</span>
<span class="title-text-text" :title="$t('reviewResults')">{{$t('reviewResults')}}</span>
</div>
<a-form-model-item class="itemModel" prop="flag">
<!-- <div class="title-text">-->
<!-- <span class="Required">*</span>-->
<!-- <span class="title-text-text" :title="$t('reviewResults')">{{$t('reviewResults')}}</span>-->
<!-- </div>-->
<a-form-model-item style="margin-left: 36px" class="itemModel" prop="flag">
<a-radio-group style="margin-top: 2px" @change="flagChange" class="box-input" v-model="formInline.flag">
<a-radio value="0">
{{$t('agree')}}
@@ -22,7 +22,7 @@
{{$t('disagree')}}
</a-radio>
<a-radio value="3" v-if="issue">
{{$t('issue')}}
{{$t('inquiry')}}
</a-radio>
</a-radio-group>
</a-form-model-item>
@@ -34,12 +34,12 @@
<div class="box-title-text">
<div class="title-text">
<span class="Required">*</span>
<span class="title-text-text" :title="$t('selectIssuer')">{{$t('selectIssuer')}}</span>
<span class="title-text-text" :title="$t('selectInquiry')">{{$t('selectInquiry')}}</span>
</div>
<a-form-model-item class="itemModel" prop="dreUserIdName">
<PersonnelSelection class="box-input"
:personneQuery="formInline"
:query="{db_field_name:'dreUserId',db_field_txt:$t('selectIssuer')}"
:query="{db_field_name:'dreUserId',db_field_txt:$t('selectInquiry')}"
:isInput="true"
@change="PersonnelSelectionChange"
v-model="formInline.dreUserIdName"/>
@@ -101,7 +101,11 @@
isApprovalOpinion: {
type: Boolean,
default: false
}
},
title:{
type: String,
default: ''
},
},
components: {
uploadFile,
@@ -10,11 +10,11 @@
<a-button class="header-btn prese" v-if="isPreservation" @click="preservation">{{$t('preservation')}}</a-button>
<!-- 下发-->
<a-button class="header-btn issue" v-if="isIssue" @click="issue" type="primary" ghost>{{$t('issue')}}</a-button>
<!-- 提交-->
<a-button class="header-btn submit" v-if="isSubmit" @click="submit" type="primary">{{$t('submit')}}</a-button>
<a-button class="header-btn termin" v-if="isSendBack" @click="sendBackCkick" type="danger" ghost>
{{$t('sendBack')}}
</a-button>
<!-- 提交-->
<a-button class="header-btn submit" v-if="isSubmit" @click="submit" type="primary">{{$t('submit')}}</a-button>
<a-button class="header-btn submit" v-if="isResubmit" @click="Resubmit" type="primary">{{$t('Resubmit')}}</a-button>
<a-button class="header-btn submit" v-if="isAdopt" @click="adopt" type="primary">{{$t('submit')}}</a-button>
</div>
@@ -2,7 +2,10 @@
<div class="box">
<div class="box-text">
<div class="header-text">
{{$t('standardContent')}}
{{title}}
</div>
<div v-if="isConfirmationDeadline" class="header-text" style="margin-right: 20px">
{{this.$t('ConfirmationDeadline')}} : {{this.queryForm.taskAffirmDueDate}}
</div>
</div>
<div class="content-text">
@@ -54,7 +57,15 @@
standardContentQuery: {
type: Object,
default: {}
}
},
title:{
type:String,
default:'',
},
isConfirmationDeadline:{
type:Boolean,
default:false,
},
},
components: {
viewFileModel
@@ -9,33 +9,12 @@
:columns="columns"
>
<span slot="designDeliverableTemplateName" slot-scope="text,record">
<span>{{ record.designDeliverableType_dictText }}</span><br v-if="record.designDeliverableType_dictText">
<a v-if="record.designDeliverableTemplate && record.designDeliverableTemplate.split(',').length == 1"
@click="pdfPreviewClick(record.designDeliverableTemplateName,record.designDeliverableTemplate)">
{{ record.designDeliverableTemplateName }}
<a v-if="record.DeliverableTemplate && record.DeliverableTemplate.split(',').length == 1"
@click="pdfPreviewClick(record.DeliverableTemplateName,record.DeliverableTemplate)">
{{ record.DeliverableTemplateName }}
</a>
<a v-else-if="record.designDeliverableTemplate && record.designDeliverableTemplate.split(',').length > 1"
@click="clickButtonToUpload(record.designDeliverableTemplate)">{{ $t('viewFile') }}</a>
<span v-else>--</span>
</span>
<span slot="prehomoDeliverableTemplateName" slot-scope="text,record">
<span>{{ record.prehomoDeliverableType_dictText }}</span><br v-if="record.prehomoDeliverableType_dictText">
<a v-if="record.prehomoDeliverableTemplate && record.prehomoDeliverableTemplate.split(',').length == 1"
@click="pdfPreviewClick(record.prehomoDeliverableTemplateName,record.prehomoDeliverableTemplate)">
{{ record.prehomoDeliverableTemplateName }}
</a>
<a v-else-if="record.prehomoDeliverableTemplate && record.prehomoDeliverableTemplate.split(',').length > 1"
@click="clickButtonToUpload(record.prehomoDeliverableTemplate)">{{ $t('viewFile') }}</a>
<span v-else>--</span>
</span>
<span slot="verifyDeliverableTemplateName" slot-scope="text,record">
<span>{{ record.verifyDeliverableType_dictText }}</span><br v-if="record.verifyDeliverableType_dictText">
<a v-if="record.verifyDeliverableTemplate && record.verifyDeliverableTemplate.split(',').length == 1"
@click="pdfPreviewClick(record.verifyDeliverableTemplateName,record.verifyDeliverableTemplate)">
{{ record.verifyDeliverableTemplateName }}
</a>
<a v-else-if="record.verifyDeliverableTemplate && record.verifyDeliverableTemplate.split(',').length > 1"
@click="clickButtonToUpload(record.verifyDeliverableTemplate)">{{ $t('viewFile') }}</a>
<a v-else-if="record.DeliverableTemplate && record.DeliverableTemplate.split(',').length > 1"
@click="clickButtonToUpload(record.DeliverableTemplate)">{{ $t('viewFile') }}</a>
<span v-else>--</span>
</span>
</a-table>
@@ -55,7 +34,7 @@
class="table"
:columns="columnsFile"
:pagination="false"
:scroll="{x:500,y: 400}"
:scroll="{x:true,y: 400}"
:data-source="dataSourceFile"
:loading="loading"
>
@@ -92,82 +71,47 @@
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
columns: [
{
title: this.$t('confirmationOfDesignConformity'),
children: [
{
title: this.$t('Deliverables'),
dataIndex: 'designDeliverableTemplateName',
align: 'center',
scopedSlots: { customRender: 'designDeliverableTemplateName' }
},
{
title: this.$t('Sponsor'),
dataIndex: 'designInitiatorName',
align: 'center'
},
{
title: this.$t('personLiable'),
dataIndex: 'designDutyName',
align: 'center'
},
{
title: this.$t('TaskCutOffTime'),
dataIndex: 'designDueDate',
align: 'center'
}
]
title: this.$t('ProcessType'),
dataIndex: 'ProcessType',
align: 'center',
width:200,
},
{
title: this.$t('PrehomoConfirmation'),
children: [
{
title: this.$t('Deliverables'),
dataIndex: 'prehomoDeliverableTemplateName',
align: 'center',
scopedSlots: { customRender: 'prehomoDeliverableTemplateName' }
},
{
title: this.$t('Sponsor'),
dataIndex: 'prehomoInitiatorName',
align: 'center'
},
{
title: this.$t('personLiable'),
dataIndex: 'prehomoDutyName',
align: 'center'
},
{
title: this.$t('TaskCutOffTime'),
dataIndex: 'prehomoDueDate',
align: 'center'
}
]
title: this.$t('Sponsor'),
dataIndex: 'InitiatorName',
align: 'center',
width:160,
},
{
title: this.$t('verificationAndConformityconfirmation'),
children: [
{
title: this.$t('Deliverables'),
dataIndex: 'verifyDeliverableTemplateName',
align: 'center',
scopedSlots: { customRender: 'verifyDeliverableTemplateName' }
},
{
title: this.$t('Sponsor'),
dataIndex: 'verifyInitiatorName',
align: 'center'
},
{
title: this.$t('personLiable'),
dataIndex: 'verifyDutyName',
align: 'center'
},
{
title: this.$t('TaskCutOffTime'),
dataIndex: 'verifyDueDate',
align: 'center'
}
]
title: this.$t('personLiable'),
dataIndex: 'DutyName',
align: 'center',
width:160,
},
{
title: this.$t('TaskCutOffTime'),
dataIndex: 'DueDate',
align: 'center',
width:160,
},
{
title: this.$t('typeOfDeliverables'),
dataIndex: 'DeliverableType',
align: 'center',
width:160,
},
{
title: this.$t('deliverableTemplate'),
dataIndex: 'DeliverableTemplateName',
align: 'center',
width:260,
scopedSlots: { customRender: 'designDeliverableTemplateName' }
},
{
title: this.$t('descriptionDeliverables'),
dataIndex: 'remark',
align: 'center',
width:300,
}
],
loading: false,
@@ -192,7 +136,36 @@
},
mounted() {
this.dataSource = []
this.dataSource.push(this.standardContentListQuery)
this.dataSource.push({
ProcessType: this.$t('designComplianceReview'),
InitiatorName: this.standardContentListQuery.designInitiatorName,
DutyName: this.standardContentListQuery.designDutyName,
DueDate: this.standardContentListQuery.designDueDate,
DeliverableType: this.standardContentListQuery.designDeliverableType_dictText,
DeliverableTemplate: this.standardContentListQuery.designDeliverableTemplate,
DeliverableTemplateName: this.standardContentListQuery.designDeliverableTemplateName,
remark: this.standardContentListQuery.designRemark
})
this.dataSource.push({
ProcessType: this.$t('preHomeConfirmation'),
InitiatorName: this.standardContentListQuery.prehomoInitiatorName,
DutyName: this.standardContentListQuery.prehomoDutyName,
DueDate: this.standardContentListQuery.prehomoDueDate,
DeliverableType: this.standardContentListQuery.prehomoDeliverableType_dictText,
DeliverableTemplate: this.standardContentListQuery.prehomoDeliverableTemplate,
DeliverableTemplateName: this.standardContentListQuery.prehomoDeliverableTemplateName,
remark: this.standardContentListQuery.prehomoRemark
})
this.dataSource.push({
ProcessType: this.$t('verificationComplianceReview'),
InitiatorName: this.standardContentListQuery.verifyInitiatorName,
DutyName: this.standardContentListQuery.verifyDutyName,
DueDate: this.standardContentListQuery.verifyDueDate,
DeliverableType: this.standardContentListQuery.verifyDeliverableType_dictText,
DeliverableTemplate: this.standardContentListQuery.verifyDeliverableTemplate,
DeliverableTemplateName: this.standardContentListQuery.verifyDeliverableTemplateName,
remark: this.standardContentListQuery.verifyRemark
})
},
methods: {
pdfPreview(fileQuery) {