Commit d19ed750 authored by 前端-钟卫鹏's avatar 前端-钟卫鹏

fix: 招投标详情流转记录对接

parent b412ed8e
......@@ -3,6 +3,7 @@ import { useCallback, useState, useEffect } from 'react'
import { usePageStatus } from '@/hooks/usePageStatus'
import { PublicApi } from '@/services/api'
import { message } from 'antd'
import { processLogResponses } from '@/pages/procurement/constants'
interface OrderDetailHookProps {
/** 招标-招标详情,投标-投标详情,招标-投标详情,投标-招标详情,custom自定义 配合requestApi字段 */
......@@ -132,11 +133,15 @@ export const useBidDetail = (options: OrderDetailHookProps) => {
}
// 流程状态(内/外)
// 招投标
const processRes = await PublicApi.getPurchaseInviteTenderGetInviteTenderProcess({ inviteTenderId: searchId })
// 招投标 投标里面的投标流程单独调接口
const processRes = type === 'tender' ?
await PublicApi.getPurchaseSubmitTenderGetSubmitTenderProcess({ submitTenderId: id })
:
await PublicApi.getPurchaseInviteTenderGetInviteTenderProcess({ inviteTenderId: searchId })
if(processRes.code === 1000 && processRes.data) {
setInteriorWorkflowFlowRecordLogResponses(processRes.data.subProcess.userTaskList)
setExternalWorkflowFlowRecordLogResponses(processRes.data.userTaskList)
const { interiorLogs, externalLogs } = processLogResponses(processRes.data)
setInteriorWorkflowFlowRecordLogResponses(interiorLogs)
setExternalWorkflowFlowRecordLogResponses(externalLogs)
}
}
}, [id])
......
......@@ -3,6 +3,7 @@ import { useCallback, useState, useEffect } from 'react'
import { usePageStatus } from '@/hooks/usePageStatus'
import { PublicApi } from '@/services/api'
import { message } from 'antd'
import { processLogResponses } from '@/pages/procurement/constants'
/**
* 待定标(审核定标、确认定标)详情context共用逻辑
......@@ -63,8 +64,9 @@ export const useConfirmDetail = (options: {}) => {
// 招投标
const processRes = await PublicApi.getPurchaseInviteTenderGetInviteTenderProcess({ inviteTenderId: searchId })
if(processRes.code === 1000 && processRes.data) {
setInteriorWorkflowFlowRecordLogResponses(processRes.data.subProcess.userTaskList)
setExternalWorkflowFlowRecordLogResponses(processRes.data.userTaskList)
const { interiorLogs, externalLogs } = processLogResponses(processRes.data)
setInteriorWorkflowFlowRecordLogResponses(interiorLogs)
setExternalWorkflowFlowRecordLogResponses(externalLogs)
}
}
}, [id])
......
......@@ -753,7 +753,7 @@ const bidPattern: ISchema = {
required: true,
enum: [
{
label: '{{help("公开招标", "招标发布至企业商城招标频道")}}',
label: '{{help("公开招标", "招标发布至采购门户")}}',
value: 1
},
// {
......
......@@ -21,8 +21,8 @@ export const publicBidModalSchema: ISchema = {
properties: {
publishShop: {
type: 'checkbox',
title: '{{help("发布商城", "已发布的商城为已勾选的商城,不可选择,只可以选择未勾选的商城。")}}',
enum: shopInfo.filter(item => item.type === 1).map(item => ({ label: item.name, value: item.id }))
title: '{{help("已发布的采购门户", "已发布的采购门户为已勾选的采购门户,不可选择,只可以选择未勾选的采购门户。")}}',
enum: shopInfo.filter(item => item.type === 6).map(item => ({ label: item.name, value: item.id }))
}
}
}
......
......@@ -3,6 +3,7 @@ import { useCallback, useState, useEffect } from 'react'
import { usePageStatus } from '@/hooks/usePageStatus'
import { PublicApi } from '@/services/api'
import { message } from 'antd'
import { processLogResponses } from '@/pages/procurement/constants'
interface DetailHookProps {
......@@ -55,8 +56,9 @@ export const useRemarkDetail = (options: DetailHookProps) => {
// 招投标
const processRes = await PublicApi.getPurchaseInviteTenderGetInviteTenderProcess({ inviteTenderId: searchId })
if(processRes.code === 1000 && processRes.data) {
setInteriorWorkflowFlowRecordLogResponses(processRes.data.subProcess.userTaskList)
setExternalWorkflowFlowRecordLogResponses(processRes.data.userTaskList)
const { interiorLogs, externalLogs } = processLogResponses(processRes.data)
setInteriorWorkflowFlowRecordLogResponses(interiorLogs)
setExternalWorkflowFlowRecordLogResponses(externalLogs)
}
}
}, [id])
......
......@@ -3,6 +3,7 @@ import { useCallback, useState, useEffect } from 'react'
import { usePageStatus } from '@/hooks/usePageStatus'
import { PublicApi } from '@/services/api'
import { message } from 'antd'
import { processLogResponses } from '@/pages/procurement/constants'
interface DetailHookProps {
......@@ -57,8 +58,9 @@ export const useNoticeDetail = (options: DetailHookProps) => {
// 招投标
const processRes = await PublicApi.getPurchaseInviteTenderGetInviteTenderProcess({ inviteTenderId: searchId })
if(processRes.code === 1000 && processRes.data) {
setInteriorWorkflowFlowRecordLogResponses(processRes.data.subProcess.userTaskList)
setExternalWorkflowFlowRecordLogResponses(processRes.data.userTaskList)
const { interiorLogs, externalLogs } = processLogResponses(processRes.data)
setInteriorWorkflowFlowRecordLogResponses(interiorLogs)
setExternalWorkflowFlowRecordLogResponses(externalLogs)
}
}
}, [id])
......
......@@ -3,6 +3,7 @@ import { useCallback, useState, useEffect } from 'react'
import { usePageStatus } from '@/hooks/usePageStatus'
import { PublicApi } from '@/services/api'
import { message } from 'antd'
import { processLogResponses } from '@/pages/procurement/constants'
interface DetailHookProps {
......@@ -59,8 +60,9 @@ export const useReportDetail = (options: DetailHookProps) => {
// 招投标
const processRes = await PublicApi.getPurchaseInviteTenderGetInviteTenderProcess({ inviteTenderId: searchId })
if(processRes.code === 1000 && processRes.data) {
setInteriorWorkflowFlowRecordLogResponses(processRes.data.subProcess.userTaskList)
setExternalWorkflowFlowRecordLogResponses(processRes.data.userTaskList)
const { interiorLogs, externalLogs } = processLogResponses(processRes.data)
setInteriorWorkflowFlowRecordLogResponses(interiorLogs)
setExternalWorkflowFlowRecordLogResponses(externalLogs)
}
}
}, [id])
......
import React, { useEffect } from 'react'
import { findLastIndexFlowState } from '@/utils'
import { Skeleton } from 'antd';
import style from './index.less'
import TransferProcess from '../transferProcess'
import DescriptionsInfo from '../descriptionsInfo'
......@@ -136,11 +137,12 @@ const BidDetailSection:React.FC<BidDetailSectionProps> = ({
}
return (
formContext.data &&
<div className={[style.anchorContentWrap, "anchorContent"].join(' ')}>
<RenderDetailSection componentList={anchorList} />
</div>
// formContext.data &&
<Skeleton active loading={!(formContext.externalWorkflowFlowRecordLogResponses || formContext.interiorWorkflowFlowRecordLogResponses)}>
<div className={[style.anchorContentWrap, "anchorContent"].join(' ')}>
<RenderDetailSection componentList={anchorList} />
</div>
</Skeleton>
)
}
......
......@@ -19,6 +19,28 @@ import { CALLFORBID_TYPE, PURCHASE_TYPE } from '@/constants/procurement'
}, {});
}
/** 根据招投标流程api返回的字段 处理成组件需要的状态数据格式 */
export const processLogResponses = (resData) => {
const { currentInnerStep, currentOuterStep, externalTasks } = resData
const externalLogs = externalTasks.map(item => ({
id: item.taskStep,
name: item.taskName,
operationRole: item.userRoleName,
isActive: item.taskStep <= currentOuterStep
}))
const subTasks = externalTasks.filter(item => item.taskStep === currentOuterStep)
const interiorLogs = subTasks.length ? subTasks[0]['subTasks'].map(item => ({
id: item.taskStep,
name: item.taskName,
operationRole: item.userRoleName,
isActive: item.taskStep <= currentInnerStep
})) : null
return {
interiorLogs,
externalLogs
}
}
// 招投标内部状态
export const insideStatusText = [
"待提交审核",
......
......@@ -146,7 +146,7 @@ export const useProductTableChangeForPay = (ctx: ISchemaFormActions | ISchemaFor
export const useOrderFormInitEffect = (ctx: ISchemaFormActions | ISchemaFormAsyncActions) => {
const { modelType = 0, spam_id } = history.location.query
const typeEnums = parseInt(modelType)
let auth = JSON.parse(localStorage.getItem('auth'))
let auth = JSON.parse(localStorage.getItem('auth') || localStorage.getItem('AUTH'))
FormEffectHooks.onFormMount$().subscribe(async () => {
ctx.setFieldState('orderModel', state => {
......
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