[update] 已封存企标启用流程的查看详情

This commit is contained in:
lideqin
2024-07-22 16:13:57 +08:00
parent 31b25424af
commit f65e2e303e
8 changed files with 230 additions and 17 deletions
+6
View File
@@ -6,6 +6,10 @@ const getProcessNodeList = (params) => getAction('/activiti/getNodeList', params
const urgeProcessNode = (params) => postAction('/workCenter/urging', params)
// 获取taskName
const queryTaskNameByTaskId = (params) => getAction('/workCenter/getByTaskId', params)
// 流程中心-保存快照
const saveSnapShot = (params) => getAction('/workCenter/snapshotSave', params)
// 流程中心-查看-获取数据
const getLookData = (params) => getAction('/workCenter/snapshotHandle', params)
// 流程配置-部署
const deployWorkFlow = (params) => getAction('/activitiModel/deploy', params)
@@ -448,6 +452,8 @@ export {
getProcessNodeList,
urgeProcessNode,
queryTaskNameByTaskId,
saveSnapShot,
getLookData,
deployWorkFlow,
getFlowNodeList,
+132
View File
@@ -56,6 +56,16 @@
<!-- </a-tooltip>-->
<!--</template>-->
<!-- 任务节点 -->
<template v-slot:taskNode="{text, record}">
<a-tooltip overlay-class-name="tooltip-style">
<template slot="title">{{ text || text === 0 ? text : global.emptyLine }}</template>
<a v-if="text && record.snapshotId" class="link-a" @click="handleLookDetail(record)">{{ text }}</a>
<div v-else-if="text && !record.snapshotId" class="table-text">{{ text }}</div>
<div v-else class="table-text">{{ global.emptyLine }}</div>
</a-tooltip>
</template>
<!--审批意见-->
<template v-slot:approvalOpinion="{text, record}">
<a-tooltip overlay-class-name="tooltip-style">
@@ -147,6 +157,18 @@ export default {
type: Boolean,
required: false,
default: false
},
// 是否可以点击节点名称跳转
nodeNameClick: {
type: Boolean,
required: false,
default: false
},
// 详情页从哪里点进来的(已办,已发还是监控流程)
detailFrom: {
type: String,
required: false,
default: ''
}
},
computed: {
@@ -248,6 +270,10 @@ export default {
if (this.$route.query.source === 'monitorList' && this.$route.query.prcStatus === '3') {
params.finishFlagSearch = '2,3,4'
}
// 是已办,已发还是监控流程的查审批记录
if (this.detailFrom) {
params.type = this.detailFrom
}
if (this.$route.query.processInstanceId) {
params.processInstanceId = this.$route.query.processInstanceId
} else {
@@ -372,6 +398,112 @@ export default {
}
// 其余可预览文件仍使用KKFile进行预览
kkFilePreview(fileFullUrl)
},
// 跳转流程基本信息页面
handleLookDetail (record) {
let path = ''
console.log('-------processKey', this.$route.query.processKey)
// 跳转到对应流程页面
switch (this.$route.query.processKey + '') {
// 标准法规入库/变更流程
case '1':
path = '/workCenter/StandardEntryOrChangeProcess'
break
// 标准征求意见流程
case '2':
path = '/workCenter/StandardConsultationProcess'
break
// 项目合规评估流程
case '3':
path = '/workCenter/ProjectComplianceEvaluationProcess'
break
// 未符合项跟踪流程
case '4':
path = '/workCenter/NoMatchTrackingProcess'
break
// 法规合规评估流程
case '5':
path = '/workCenter/StandardComplianceProcess'
break
// 法规采购流程
case '6':
path = '/workCenter/StandardProcurementProcess'
break
// 企标立项、变更计划
case '7':
path = '/workCenter/enterpriseStandardInitChange/planApprovalChangeFlow'
break
// 年度制修订计划(各部门主动上报)
case '8':
path = '/workCenter/annualRevisionPlanActivelyReport/revisionPlanActivelyReportFlow'
break
// 年度制修订计划(标准化发起)
case '9':
path = '/workCenter/annualRevisionPlanStandardizationInit/revisionPlanStandardizationInitFlow'
break
// 企标制修订流程
case '10':
path = '/workCenter/enterpriseStandardRevision/enterpriseStandardRevisionFlow'
break
// 企标更改流程
case '11':
path = '/workCenter/enterpriseStandardChange/enterpriseStandardChangeFlow'
break
// 企标复审流程
case '12':
path = '/workCenter/enterpriseStandardRecheck/enterpriseStandardRecheckFlow'
break
// 企标废止流程
case '13':
path = '/workCenter/enterpriseStandardAnnul/enterpriseStandardAnnulFlow'
break
// 企标封存流程
case '14':
path = '/workCenter/enterpriseStandardSealSave/enterpriseStandardSealSaveFlow'
break
// 已封存企标启用流程
case '15':
path = '/workCenter/enterpriseStandardStartUse/enterpriseStandardStartUseFlow'
break
// 企标稽查计划
case '16':
path = '/workCenter/EnterpriseStandardInspectionPlan'
break
// 企标稽查流程
case '17':
path = '/workCenter/EnterpriseStandardInspectionProcess'
break
// 稽查延期申请流程
case '18':
path = '/workCenter/InspectionExtensionRequestProcess'
break
// 企标稽查整改
case '19':
path = '/workCenter/EnterpriseStandardInspectionRectification'
break
// 权限申请流程
case '20':
path = '/workCenter/PermissionApplicationProcess'
break
// 标准宣贯流程
case '21':
path = '/workCenter/StandardPromotionProcess'
break
// 会后管理流程
case '22':
path = '/workCenter/PostMeetingManageProcess'
break
}
const query = {}
query.taskName = record.taskName
query.taskId = record.taskId // 为了不影响部分节点的导出
query.snapshotId = record.snapshotId // 快照id
query.nodeId = record.nodeId // 节点的id
query.isLook = 1
this.$router.push({
path: path,
query: query
})
}
}
}
+9
View File
@@ -170,6 +170,15 @@ export const EnterpriseStandardStatus = {
ARCHIVE: { text: '封存', value: '10' }
}
// 流程中心-查看跳转详情需要传是已办,已发还是监控流程
export const Process = {
TO_DO: { text: '待办流程', value: 'todo' },
DONE: { text: '已办流程', value: '1' },
SENT: { text: '已发流程', value: '2' },
MONITOR: { text: '监控流程', value: '3' },
DRAFT: { text: '草稿', value: 'draft' }
}
// 流程key,获取人员信息前需要获取流程定义id,传这里的名字到WorkCenterMixin的getFlowDefinition方法中
export const ProcessKey = {
// 企标立项/变更计划
@@ -1,7 +1,7 @@
<template>
<internal-detail-page :title="pageTitle" :content-padding="0" :loading="loading">
<!-- 标题右侧tab -->
<template v-slot:titleRightCustom>
<template v-slot:titleRightCustom v-if="!isLook">
<div class="table-operator-tab">
<a class="switch-item" :class="switchValue === 'base' ? 'table-operator-tab-active' : ''"
@click="switchChange('base')">{{ $t('basicInformation') }}
@@ -31,7 +31,7 @@
<a-form-item :labelCol="labelCol" :wrapperCol="wrapperCol" :label="$t('expirationDate')" :colon="formItemColon">
<a-date-picker :placeholder="$t('pleaseSelect') + $t('expirationDate')"
style="width: 100%"
:disabled="disabled"
:disabled="disabled || isLook"
value-format="YYYY-MM-DD"
v-decorator="['dueTime']" />
</a-form-item>
@@ -42,7 +42,7 @@
<a-textarea :placeholder="$t('pleaseEnter') + $t('processExplain')"
:maxLength="500"
:rows="4"
:disabled="disabled"
:disabled="disabled || isLook"
v-decorator="['prcMes']" />
</a-form-item>
</a-col>
@@ -52,7 +52,7 @@
<!-- 业务基本信息 -->
<div class="process-part-title">{{ $t('basicServiceInformation') }}</div>
<!-- 节点1发起人发起 -->
<base-info-form v-if="currentNode === 1" ref="baseInfoRef" @processNameChange="processNameChange"></base-info-form>
<base-info-form v-if="currentNode === 1" ref="baseInfoRef" :disabled="isLook" @processNameChange="processNameChange"></base-info-form>
<!-- 节点2相关人员会签 -->
<!-- 节点3起草人和会签人主管级领导审批 -->
<!-- 节点4标准化审批 -->
@@ -66,11 +66,12 @@
<a-textarea :placeholder="$t('pleaseEnter') + $t('remarks')"
:maxLength="500"
:rows="4"
:disabled="isLook"
v-decorator="['commitText', validatorRules.commitText]" />
</a-form-item>
<!--附件-->
<a-form-item :labelCol="longLabelCol" :wrapperCol="longWrapperCol" :label="$t('attach')" :colon="formItemColon">
<j-upload v-decorator="['commitFile']" return-id multiple />
<j-upload v-decorator="['commitFile']" return-id multiple :disabled="isLook" />
</a-form-item>
</a-form>
</div>
@@ -81,7 +82,7 @@
</process-detail-list>
</div>
<!-- 操作按钮 -->
<div class="detail-page-bottom-operate-box">
<div v-if="!isLook" class="detail-page-bottom-operate-box">
<!-- 发起节点 -->
<template v-if="currentNode === 1">
<!-- 保存 -->
@@ -119,11 +120,13 @@ import {
enStandardStartUseApproval,
enStandardStartUseTurnTo,
enStandardStartUseAgree,
enStandardStartUseReject
enStandardStartUseReject,
getLookData
} from '@/api/workCenter'
import BaseInfoForm from './modules/BaseInfoForm'
import { WorkCenterMixin } from '@/mixins/WorkCenterMixin'
import { ProcessKey, EsStartUseNodes } from '@/enums/commonEnums'
import { saveSnapShot } from '../../../api/workCenter'
export default {
name: 'EnterpriseStandardStartUseFlow',
@@ -183,6 +186,14 @@ export default {
// 有草稿id,说明是从流程中心-草稿来的,需要初始化数据
this.getProcessData('draft', { draftId: this.$route.query.draftId, projectId: this.$route.query.projectId })
}
if (this.$route.query.isLook + '' === '1') {
// 是查看
this.isLook = true
// 人员信息全部不可选
this.initPersonInfoData(false)
// 查询数据
this.getProcessData('look', { snapshotId: this.$route.query.snapshotId })
}
if (this.$route.query.taskName) {
// 说明是已发起流程
this.currentNodeName = this.$route.query.taskName
@@ -238,7 +249,8 @@ export default {
url: {
list: '' // 人员信息的右侧表格获取接口
},
onlySelectFromFlowStation: [EsStartUseNodes.standardizationApproval.value] // 只能在标准与流程所里选人的节点
onlySelectFromFlowStation: [EsStartUseNodes.standardizationApproval.value], // 只能在标准与流程所里选人的节点
isLook: false
}
},
methods: {
@@ -250,6 +262,9 @@ export default {
if (type === 'todo') {
func = enStandardStartUseGetDataById
params = param.taskId
} else if (type === 'look') {
func = getLookData
params = param
} else {
func = enStandardStartUseGetDataDraft
params = param
@@ -360,6 +375,48 @@ export default {
}
})
},
// 获取快照json
getParamJsonStr () {
// 流程信息表单
const processInfoForm = this.processInfoForm.getFieldsValue()
// 流程审批信息
const approvalInfoForm = this.approvalInfoForm.getFieldsValue()
// 人员信息的数据, 处理成对象
const personnelObj = this.$refs.personnelInfo.getDataObj()
// 业务基本信息
const baseInfo = this.$refs.baseInfoRef.getData()
const infoJsonStr = JSON.stringify({
basicProcessInfoDTO: processInfoForm,
basicTaskInfoDTO: approvalInfoForm,
data: baseInfo.formInline,
personnelObj: personnelObj
})
return infoJsonStr
},
// 保存快照
saveParamJsonStr () {
// 流程信息表单
const processInfoForm = this.processInfoForm.getFieldsValue()
// 流程审批信息
const approvalInfoForm = this.approvalInfoForm.getFieldsValue()
// 人员信息的数据, 处理成对象
const personnelObj = this.$refs.personnelInfo.getDataObj()
// 业务基本信息
const baseInfo = this.$refs.baseInfoRef.getData()
const params = {}
params.infoJsonStr = JSON.stringify({
basicProcessInfoDTO: processInfoForm,
basicTaskInfoDTO: approvalInfoForm,
data: baseInfo.formInline,
personnelObj: personnelObj
})
params.taskId = this.$route.query.taskId
saveSnapShot(params).then(res => {
if (!res.success) {
console.log(res.message)
}
})
},
// 节点一时候的提交
handleStart () {
if (this.loading) return
@@ -384,6 +441,8 @@ export default {
}
paramObj.flowUser = personnelObj
paramObj.data = data.formInline
// 快照JSON
paramObj.common.infoJsonStr = this.getParamJsonStr()
let func
if (this.$route.query.taskId) {
// 有taskId说明是驳回的提交
@@ -446,9 +505,11 @@ export default {
const param = {}
param.common = Object.assign({}, values)
param.common.taskId = this.$route.query.taskId
enStandardStartUseAgree(param).then(res => {
enStandardStartUseAgree(param).then(async res => {
if (res.success) {
this.$message.success(res.message)
// 保存快照
await this.saveParamJsonStr()
this.goBack()
} else {
this.$message.warning(res.message)
@@ -473,9 +534,11 @@ export default {
const param = {}
param.common = Object.assign({}, values)
param.common.taskId = this.$route.query.taskId
enStandardStartUseReject(param).then(res => {
enStandardStartUseReject(param).then(async res => {
if (res.success) {
this.$message.success(res.message)
// 保存快照
await this.saveParamJsonStr()
this.goBack()
} else {
this.$message.warning(res.message)
@@ -1,6 +1,6 @@
<template>
<internal-detail-page :title="pageTitle" :content-padding="0" :loading="loading">
<process-detail-list :processKey="processKey" show-urge-button>
<process-detail-list :processKey="processKey" show-urge-button nodeNameClick :detailFrom="$route.query.detailFrom">
<personnel-info slot="personnelInfo" ref="personnelInfo" :data="personnelInfoData"></personnel-info>
</process-detail-list>
</internal-detail-page>
@@ -76,7 +76,7 @@
<script>
import JTable from '@/components/jero/JTable'
import { JeroListMixin } from '@/mixins/JeroListMixin'
import { ProcessType, ProcessKey } from '../../../../enums/commonEnums'
import { ProcessType, ProcessKey, Process } from '../../../../enums/commonEnums'
import { getAction } from '../../../../api/manage'
export default {
@@ -309,7 +309,8 @@ export default {
query: {
processKey: processKey,
processDefinitionId: record.processDefinitionId,
processInstanceId: record.processInstanceId
processInstanceId: record.processInstanceId,
detailFrom: Process.DONE.value
}
})
}
@@ -82,7 +82,7 @@
import JTable from '@/components/jero/JTable'
import { JeroListMixin } from '@/mixins/JeroListMixin'
import { compulsoryWithdrawal } from '@/api/workCenter'
import { ProcessType, ProcessKey } from '@/enums/commonEnums'
import { ProcessType, ProcessKey, Process } from '@/enums/commonEnums'
import { mapGetters } from 'vuex'
export default {
@@ -291,7 +291,8 @@ export default {
processInstanceId: record.processInstanceId,
// 流程监控并且是已撤回,详情不查进行中的
source: 'monitorList',
prcStatus: record.prcStatus
prcStatus: record.prcStatus,
detailFrom: Process.MONITOR.value
}
})
},
@@ -90,7 +90,7 @@
import JTable from '@/components/jero/JTable'
import { JeroListMixin } from '@/mixins/JeroListMixin'
import { compulsoryWithdrawal } from '@/api/workCenter'
import { ProcessType, ProcessKey } from '@/enums/commonEnums'
import { ProcessType, ProcessKey, Process } from '@/enums/commonEnums'
export default {
name: 'SentList',
@@ -289,7 +289,8 @@ export default {
query: {
processKey: processKey,
processDefinitionId: record.processDefinitionId,
processInstanceId: record.processInstanceId
processInstanceId: record.processInstanceId,
detailFrom: Process.SENT.value
}
})
},