502 lines
17 KiB
Vue
502 lines
17 KiB
Vue
<template>
|
|
<div>
|
|
<!-- 搜索区域 -->
|
|
<div class="table-page-search-wrapper">
|
|
<a-form layout="inline" @keyup.enter.native="searchQuery">
|
|
<a-row :gutter="24">
|
|
<!-- 流程名称 -->
|
|
<a-col :span="6">
|
|
<a-form-item :label="$t('processName')" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
|
<a-input :placeholder="$t('pleaseEnter')+$t('processName')" v-model="queryParam.prcName"></a-input>
|
|
</a-form-item>
|
|
</a-col>
|
|
<!-- 流程编号 -->
|
|
<a-col :span="6">
|
|
<a-form-item :label="$t('workCenter.processCenter.processNumber')" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
|
<a-input :placeholder="$t('pleaseEnter')+$t('workCenter.processCenter.processNumber')" v-model="queryParam.prcNum"></a-input>
|
|
</a-form-item>
|
|
</a-col>
|
|
<!-- 流程类型 -->
|
|
<a-col :span="6">
|
|
<a-form-item :label="$t('workCenter.processCenter.processType')" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
|
<j-dict-select-tag
|
|
:placeholder="$t('pleaseSelect')+$t('workCenter.processCenter.processType')"
|
|
dict-code="prc_type"
|
|
:dropdownMatchSelectWidth="false"
|
|
v-model="queryParam.prcType">
|
|
</j-dict-select-tag>
|
|
</a-form-item>
|
|
</a-col>
|
|
|
|
<div style="float: right;overflow: hidden;" class="table-page-search-submitButtons">
|
|
<a-button type="primary" @click="searchQuery" icon="search" style="margin-left: 8px">{{ $t('query') }}</a-button>
|
|
<a-button type="primary" ghost @click="searchReset" icon="reload" style="margin-left: 8px">{{ $t('reset') }}</a-button>
|
|
</div>
|
|
|
|
</a-row>
|
|
</a-form>
|
|
</div>
|
|
|
|
<div>
|
|
<j-table
|
|
:can-drag="true"
|
|
:scroll="{x: '100%'}"
|
|
ref="table"
|
|
rowKey="taskId"
|
|
:columns="columns"
|
|
:dataSource="dataSource"
|
|
:pagination="ipagination"
|
|
:loading="loading"
|
|
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
|
|
@change="handleTableChange">
|
|
|
|
<!-- 操作栏 -->
|
|
<div slot="action" slot-scope="{record}" class="action-span-cell">
|
|
<!-- 办理 -->
|
|
<a @click="handleTransact(record)" class="table-ope-btn">{{ $t('transact') }}</a>
|
|
<a-divider v-if="isShowTurnTo(record)" type="vertical" />
|
|
<!-- 转办 -->
|
|
<a v-if="isShowTurnTo(record)" @click="handleTurnTo(record)" class="table-ope-btn">{{ $t('turnTo') }}</a>
|
|
</div>
|
|
|
|
</j-table>
|
|
</div>
|
|
<!-- 转办需要选人 -->
|
|
<user-select-modal ref="userSelectModal" type="radio" @change="userSelectChange"></user-select-modal>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import JTable from '@/components/jero/JTable'
|
|
import { JeroListMixin } from '@/mixins/JeroListMixin'
|
|
import UserSelectModal from '@/components/selection/UserSelectModal'
|
|
import {
|
|
activelyReportTurnTo,
|
|
enStandardAnnulTurnTo,
|
|
enStandardChangeTurnTo,
|
|
enStandardEditTurnTo,
|
|
enStandardRecheckTurnTo,
|
|
enStandardSealSaveTurnTo,
|
|
enStandardStartUseTurnTo,
|
|
enterprisePlanApprovalTurnTo,
|
|
processTransfer,
|
|
standardizationInitTurnTo,
|
|
transferConsultationProcess,
|
|
transferInspectExtension,
|
|
transferInspectPlan,
|
|
transferInspectProcess,
|
|
transferInspectRectify,
|
|
transferPermissionApply,
|
|
transferPostMeetingManage,
|
|
transferProcurementProcess,
|
|
turnToStandardECProcess
|
|
} from '../../../../api/workCenter'
|
|
import {
|
|
ProcessType,
|
|
EsAnnulNodes,
|
|
EsChangeNodes,
|
|
EsInitChangeNodes,
|
|
EsRecheckNodes,
|
|
EsRevisionNodes,
|
|
EsRevisionPlanActivityReportNodes,
|
|
EsRevisionPlanStandardizationInitNodes,
|
|
EsSealSaveNodes,
|
|
EsStartUseNodes,
|
|
EsInspectionPlan,
|
|
EsInspectionProcess,
|
|
InspectionExtensionRequestProcess,
|
|
PermissionApply,
|
|
PostMeetingManage,
|
|
FGEntryChangeProcessNode,
|
|
ConsultationProcess,
|
|
ProjectComplianceEvaluationProcessNode,
|
|
ProcurementProcessNodes,
|
|
StandardPromotion,
|
|
NoMatchTrackingNodes,
|
|
StandardComplianceNodes
|
|
} from '@/enums/commonEnums'
|
|
|
|
export default {
|
|
name: 'TodoList',
|
|
components: { JTable, UserSelectModal },
|
|
mixins: [JeroListMixin],
|
|
data () {
|
|
return {
|
|
labelCol: {
|
|
span: 4
|
|
},
|
|
wrapperCol: {
|
|
span: 14
|
|
},
|
|
/* 排序参数 */
|
|
isorter: {
|
|
column: 'receivedTaskTime',
|
|
order: 'desc'
|
|
},
|
|
columns: [
|
|
{ // 流程编号
|
|
title: this.$t('workCenter.processCenter.processNumber'),
|
|
align: 'center',
|
|
width: 180,
|
|
dataIndex: 'prcNum',
|
|
scopedSlots: { customRender: 'text' }
|
|
},
|
|
{ // 流程类型
|
|
title: this.$t('workCenter.processCenter.processType'),
|
|
align: 'center',
|
|
width: 180,
|
|
dataIndex: 'prcType_dictText',
|
|
scopedSlots: { customRender: 'text' }
|
|
},
|
|
{ // 流程名称
|
|
title: this.$t('processName'),
|
|
align: 'center',
|
|
width: 180,
|
|
dataIndex: 'prcName',
|
|
scopedSlots: { customRender: 'text' }
|
|
},
|
|
{ // 发起人
|
|
title: this.$t('workCenter.processCenter.initiator'),
|
|
align: 'center',
|
|
width: 180,
|
|
dataIndex: 'createUserId_dictText',
|
|
scopedSlots: { customRender: 'text' }
|
|
},
|
|
{ // 接收任务时间
|
|
title: this.$t('workCenter.processCenter.receivingTaskTime'),
|
|
align: 'center',
|
|
width: 180,
|
|
dataIndex: 'receivedTaskTime',
|
|
sorter: true,
|
|
scopedSlots: { customRender: 'text' }
|
|
},
|
|
{
|
|
title: this.$t('operation'),
|
|
scopedSlots: { customRender: 'action' },
|
|
align: 'center',
|
|
fixed: 'right',
|
|
width: 200
|
|
}
|
|
],
|
|
url: {
|
|
list: '/workCenter/getTodoList'
|
|
},
|
|
currentTurnTo: {}, // 当前转办
|
|
// 每个流程不显示待办按钮的节点nodeId
|
|
notTurnToBtn: {
|
|
// 标准法规入库/变更流程
|
|
[ProcessType.FB_ENTRY_CHANGE.value]: [FGEntryChangeProcessNode.initiate.value],
|
|
// 征求意见流程
|
|
[ProcessType.CONSULTATION.value]: [ConsultationProcess.initiate.value],
|
|
// 项目合规评估流程
|
|
[ProcessType.PROJECT_COMPLIANCE_EVALUATION.value]: [ProjectComplianceEvaluationProcessNode.initiate.value],
|
|
// 未符合项跟踪流程
|
|
[ProcessType.NO_MATCH_TRACKING.value]: [NoMatchTrackingNodes.initial.value],
|
|
// 法规合规评估流程
|
|
[ProcessType.REGULATORY_COMPLIANCE_ASSESSMENT.value]: [
|
|
StandardComplianceNodes.initial.value, StandardComplianceNodes.designEngineerWriteProject.value
|
|
],
|
|
// 法规采购流程
|
|
[ProcessType.LEGAL_PROCUREMENT.value]: [ProcurementProcessNodes.initiate.value, ProcurementProcessNodes.regulatoryEngineerConfirmation.value],
|
|
// 企标立项/变更计划
|
|
[ProcessType.ES_INIT_CHANGE.value]: [
|
|
EsInitChangeNodes.mainDrafterStart.value,
|
|
EsInitChangeNodes.mainDrafterCopy.value
|
|
],
|
|
// 年度制修订-各部门主动上报
|
|
[ProcessType.ES_ANNUAL_REPORT.value]: [
|
|
EsRevisionPlanActivityReportNodes.standardizationStart.value,
|
|
EsRevisionPlanActivityReportNodes.standardizationSumUp.value
|
|
],
|
|
// 年度制修订-标准化部门主动发起
|
|
[ProcessType.ES_ANNUAL_INIT.value]: [
|
|
EsRevisionPlanStandardizationInitNodes.standardizationStart.value,
|
|
EsRevisionPlanStandardizationInitNodes.standardizationUpdate.value,
|
|
EsRevisionPlanStandardizationInitNodes.mainDrafterEnterInfo.value,
|
|
EsRevisionPlanStandardizationInitNodes.standardizationSumUp.value,
|
|
EsRevisionPlanStandardizationInitNodes.standardizationTwoUpdate.value
|
|
],
|
|
// 企标制修订流程
|
|
[ProcessType.ES_EDIT.value]: [
|
|
EsRevisionNodes.mainDrafterSend.value,
|
|
EsRevisionNodes.mainDrafterPublish.value
|
|
],
|
|
// 企标更改流程
|
|
[ProcessType.ES_CHANGE.value]: [
|
|
EsChangeNodes.mainDrafterStart.value
|
|
],
|
|
// 企标复审流程
|
|
[ProcessType.ES_RECHECK.value]: [
|
|
EsRecheckNodes.standardizationSelectContact.value,
|
|
EsRecheckNodes.initiatorStart.value
|
|
],
|
|
// 企标废止流程
|
|
[ProcessType.ES_ABOLISH.value]: [
|
|
EsAnnulNodes.initiatorStart.value
|
|
],
|
|
// 企标封存流程
|
|
[ProcessType.ES_ARCHIVE.value]: [
|
|
EsSealSaveNodes.initiatorStart.value
|
|
],
|
|
// 已封存企标启用流程
|
|
[ProcessType.ES_ENABLE.value]: [
|
|
EsStartUseNodes.initiatorStart.value
|
|
],
|
|
// 企标稽查计划
|
|
[ProcessType.ES_INSPECTION_PLAN.value]: [
|
|
EsInspectionPlan.initiate.value,
|
|
EsInspectionPlan.fillInComments.value,
|
|
EsInspectionPlan.liaisonCollect.value
|
|
],
|
|
// 企标稽查流程
|
|
[ProcessType.ES_INSPECTION_PROCESS.value]: [EsInspectionProcess.initiate.value],
|
|
// 稽查延期申请流程
|
|
[ProcessType.INSPECTION_EXTENSION_REQUEST_PROCESS.value]: [InspectionExtensionRequestProcess.initiate.value],
|
|
// 企标稽查整改
|
|
[ProcessType.ES_INSPECTION_RECTIFICATION.value]: [],
|
|
// 权限申请流程
|
|
[ProcessType.PERMISSION_APPLY.value]: [PermissionApply.initiate.value],
|
|
// 标准宣贯流程
|
|
[ProcessType.STANDARD_PROMOTION.value]: [StandardPromotion.initiate.value],
|
|
// 会后管理流程
|
|
[ProcessType.POST_MEETING_MANAGE.value]: [PostMeetingManage.initiate.value]
|
|
}
|
|
}
|
|
},
|
|
methods: {
|
|
handleTableChange (pagination, filters, sorter) {
|
|
// 分页、排序、筛选变化时触发
|
|
if (Object.keys(sorter).length > 0) {
|
|
this.isorter.column = sorter.order ? sorter.field : 'receivedTaskTime'
|
|
this.isorter.order = sorter.order === 'ascend' ? 'asc' : 'desc'
|
|
}
|
|
this.ipagination = pagination
|
|
this.loadData()
|
|
},
|
|
// 办理
|
|
handleTransact (record) {
|
|
let path = ''
|
|
// 跳转到对应流程页面
|
|
switch (record.prcType + '') {
|
|
// 标准法规入库/变更流程
|
|
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
|
|
}
|
|
this.$router.push({
|
|
path: path,
|
|
query: {
|
|
projectId: record.projectId,
|
|
taskName: record.taskName,
|
|
taskId: record.taskId, // 任务id
|
|
processInstanceId: record.processInstanceId, // 流程实例id,必须传人员信息右侧表格查询需要用
|
|
nodeId: record.nodeId // 节点的id
|
|
}
|
|
})
|
|
},
|
|
// 是否显示转办按钮
|
|
isShowTurnTo (record) {
|
|
if (record.prcType && record.nodeId) {
|
|
return !this.notTurnToBtn[record.prcType + ''].some(tt => record.nodeId.indexOf(tt) !== -1)
|
|
} else {
|
|
return false
|
|
}
|
|
},
|
|
// 转办
|
|
handleTurnTo (record) {
|
|
this.currentTurnTo = record
|
|
this.$refs.userSelectModal.open()
|
|
},
|
|
// 转办选完人的回调
|
|
userSelectChange (value) {
|
|
if (value) {
|
|
let func
|
|
const param = {}
|
|
switch (this.currentTurnTo.prcType + '') {
|
|
// 标准法规入库/变更流程
|
|
case '1':
|
|
func = turnToStandardECProcess
|
|
break
|
|
// 标准征求意见流程
|
|
case '2':
|
|
func = transferConsultationProcess
|
|
param.projectId = this.currentTurnTo.projectId
|
|
break
|
|
// 项目合规评估流程
|
|
case '3':
|
|
// 未符合项跟踪流程
|
|
case '4':
|
|
// 法规合规评估
|
|
case '5':
|
|
func = processTransfer
|
|
break
|
|
// 法规采购流程
|
|
case '6':
|
|
func = transferProcurementProcess
|
|
break
|
|
// 企标立项、变更计划
|
|
case '7':
|
|
func = enterprisePlanApprovalTurnTo
|
|
break
|
|
// 年度制修订计划(各部门主动上报)
|
|
case '8':
|
|
func = activelyReportTurnTo
|
|
break
|
|
// 年度制修订计划(标准化发起)
|
|
case '9':
|
|
func = standardizationInitTurnTo
|
|
break
|
|
// 企标制修订流程
|
|
case '10':
|
|
func = enStandardEditTurnTo
|
|
break
|
|
// 企标更改流程
|
|
case '11':
|
|
func = enStandardChangeTurnTo
|
|
break
|
|
// 企标复审流程
|
|
case '12':
|
|
func = enStandardRecheckTurnTo
|
|
break
|
|
// 企标废止流程
|
|
case '13':
|
|
func = enStandardAnnulTurnTo
|
|
break
|
|
// 企标封存流程
|
|
case '14':
|
|
func = enStandardSealSaveTurnTo
|
|
break
|
|
// 已封存企标启用流程
|
|
case '15':
|
|
func = enStandardStartUseTurnTo
|
|
break
|
|
// 企标稽查计划
|
|
case '16':
|
|
func = transferInspectPlan
|
|
break
|
|
// 企标稽查流程
|
|
case '17':
|
|
func = transferInspectProcess
|
|
break
|
|
// 稽查延期申请流程
|
|
case '18':
|
|
func = transferInspectExtension
|
|
break
|
|
// 企标稽查整改
|
|
case '19':
|
|
func = transferInspectRectify
|
|
break
|
|
// 权限申请流程
|
|
case '20':
|
|
func = transferPermissionApply
|
|
break
|
|
// 标准宣贯流程
|
|
// 会后管理流程
|
|
case '22':
|
|
func = transferPostMeetingManage
|
|
break
|
|
}
|
|
param.userId = value
|
|
param.taskId = this.currentTurnTo.taskId
|
|
func(param).then(res => {
|
|
if (res.success) {
|
|
this.$message.success(res.message)
|
|
this.loadData()
|
|
} else {
|
|
this.$message.warning(res.message)
|
|
}
|
|
})
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style scoped>
|
|
|
|
</style>
|