Commit 79cbb9a0 authored by leimo's avatar leimo

Merge branch 'v2-220418-fixPurchaseBid' into 'v2-220418'

V2 220418 fix purchase bid See merge request linkseeks-design/pro-platform!133
parents bd36983c 0f1af6c5
......@@ -67,4 +67,37 @@ export const BID_INTERNALSTATE_COLOR = (text) => {
// 13: 'warning',
// 14: 'warning',
// 15: 'warning',
// }
\ No newline at end of file
// }
export enum PurchaseBidButtons{
// 显示全部按钮
ALL = 1,
// 显示修改
UPDATE = 3,
// 显示删除
DELETE = 4,
// 显示作废
CANCEL = 5,
// 显示审核
AUDIT = 6,
// 显示提交审核
SUBMIT_REVIEW = 7,
// 显示提交采购竞价单
SUBMIT_A_PURCHASE_BID = 8,
// 显示竞价管理
BID_MANAGEMENT = 9,
// 显示提交审核竞价结果
SUBMIT_FOR_REVIEW_BIDDING_RESULTS = 10,
// 显示修改竞价结果
EDIT_AUCTION_RESULTS = 11,
// 显示审核竞价结果
REVIEW_AUCTION_RESULTS = 12,
// 显示确认竞价结果
CONFIRM__AUCTION_RESULTS = 13,
// 显示报名
SIGN_UP = 14,
// 显示重新报名
RE_SIGN_UP = 15,
// 显示开始竞价
START_BIDDING = 16
}
......@@ -8,6 +8,8 @@ import { formatTimeString } from '@/utils'
import EyePreview from '@/components/EyePreview';
import StatusTag from '@/components/StatusTag';
import { PurchaseBidButtons } from '../../constants/purchaseBid'
import Table from '../../components/table'
const intl = getIntl();
......@@ -82,15 +84,14 @@ const ReadyBid = () => {
dataIndex: 'operate',
align: 'center',
render: (text: any, record: any) =>
<AuthButton btnCode='readyBid.startStill'>
(record?.buttons?.indexOf(PurchaseBidButtons.START_BIDDING) >= 0 && <AuthButton btnCode='readyBid.startStill'>
<Button
// disabled={moment().isBetween(moment(record.biddingStartTime).format('YYYY-MM-DD HH:mm:ss'), moment(record.biddingStartTime).format('YYYY-MM-DD HH:mm:ss'))}
onClick={() => { history.push(`/memberCenter/procurementAbility/onlineBid/readyBid/bid?id=${record.id}&number=${record.biddingNo}&onlineId=${record.onlineBiddingId}`) }}
type='link'
>
{intl.formatMessage({ id: 'detail.purchase.startStill' })}
</Button>
</AuthButton>
</AuthButton>)
}];
return (
......
......@@ -10,6 +10,7 @@ import StatusTag from '@/components/StatusTag';
import { getPurchaseOnlineBiddingStayExamineBiddingSignup } from '@/services/PurchaseV2Api';
const intl = getIntl();
import { PurchaseBidButtons } from '../../constants/purchaseBid'
import Table from '../../components/table'
......@@ -80,16 +81,20 @@ const ReadySignUp = () => {
key: 'operate',
dataIndex: 'operate',
align: 'center',
render: (text: any, record: any) =>
<AuthButton btnCode='readySignUp.baoming'>
<Button
// disabled={moment().isBetween(moment(record.startSignUp).format('YYYY-MM-DD HH:mm:ss'), moment(record.endSignUp).format('YYYY-MM-DD HH:mm:ss'))}
onClick={() => { history.push(`/memberCenter/procurementAbility/onlineBid/readySignUp/signUp?id=${record.id}&number=${record.biddingNo}`) }}
type='link'
>
{record.button === 3 ? intl.formatMessage({ id: 'detail.purchase.label14' }) : intl.formatMessage({ id: 'detail.purchase.label15' })}
</Button>
</AuthButton>
render: (text: any, record: any) =>{
const _has = record?.buttons?.indexOf(PurchaseBidButtons.SIGN_UP) >= 0 || record?.buttons?.indexOf(PurchaseBidButtons.RE_SIGN_UP) >= 0
return (
_has && <AuthButton btnCode='readySignUp.baoming'>
<Button
onClick={() => { history.push(`/memberCenter/procurementAbility/onlineBid/readySignUp/signUp?id=${record.id}&number=${record.biddingNo}`) }}
type='link'
>
{record?.buttons?.indexOf(PurchaseBidButtons.SIGN_UP) >= 0 ? intl.formatMessage({ id: 'detail.purchase.label14' }) : intl.formatMessage({ id: 'detail.purchase.label15' })}
</Button>
</AuthButton>
)
}
}];
return (
......
......@@ -46,7 +46,7 @@ const TABLINK = [
{ id: 'signUpFileLayout', title: intl.formatMessage({ id: 'detail.purchase.signUpFileLayout' }), include: ['readyExamineSignUp'] },
{ id: 'conditionLayout', title: intl.formatMessage({ id: 'detail.purchase.conditionLayout' }), include: ['search', 'readyAdd', 'readyAddShop', 'readyExamineOne', 'readyExamineTwo', 'readySubmit', 'readySubmitExamineResult', 'readyBid', 'readyExamineResultOne', 'readyExamineResultTwo', 'readyConfirm'] },
{ id: 'fileLayout', title: intl.formatMessage({ id: 'detail.purchase.file' }), include: ['search', 'readyAdd', 'readyAddShop', 'readySubmitExamineResult', 'readyBid', 'readyExamineResultOne', 'readyExamineResultTwo', 'readyConfirm'] },
{ id: 'demandLayout', title: intl.formatMessage({ id: 'detail.purchase.demandLayout' }), include: ['search', 'readyAdd', 'readyAddShop', 'readyBid'] },
{ id: 'demandLayout', title: intl.formatMessage({ id: 'detail.purchase.demandLayout' }), include: ['search', 'readyAdd', 'readyAddShop', 'readyExamineOne', 'readyExamineTwo', 'readySubmit', 'readyBid'] },
{ id: 'resultLayout', title: intl.formatMessage({ id: 'detail.purchase.bidLayout' }), include: ['search', 'readyAdd', 'readyAddShop', 'readySubmitExamineResult', 'readyBid', 'readyExamineResultOne', 'readyExamineResultTwo', 'readyConfirm'] },
{ id: 'recordLayout', title: intl.formatMessage({ id: 'detail.purchase.recordLyout' }) },
]
......@@ -537,6 +537,9 @@ const SearchDetail = () => {
case 'search':
case 'readyAdd':
case 'readyAddShop':
case 'readyExamineOne':
case 'readyExamineTwo':
case 'readySubmit':
case 'readyBid':
return (
<DemandLayout
......@@ -551,7 +554,7 @@ const SearchDetail = () => {
}
}, [pathPci, id, number, storeList])
const _openQuotationDetailsDrawer = (data:any) => {
const _openQuotationDetailsDrawer = (data: any) => {
setQuotationDetailsId(data);
setQuotationDetailsVisible(true);
}
......
......@@ -14,7 +14,8 @@ import Table from '../../components/table'
import {
BID_EXTERNALSTATE_COLOR,
BID_INTERNALSTATE_COLOR
BID_INTERNALSTATE_COLOR,
PurchaseBidButtons
} from '../../constants/purchaseBid';
import AuthButton from '@/components/AuthButton';
......@@ -79,7 +80,7 @@ const ReadyAdd = () => {
key: 'operate',
dataIndex: 'operate',
render: (text: any, record: any) => <>
{record.button === 1 &&
{record?.buttons?.indexOf(PurchaseBidButtons.SUBMIT_REVIEW) >= 0 &&
<AuthButton btnCode='readyAdd.submit'>
<Popconfirm title={intl.formatMessage({ id: 'table.purchase.popconfirm1' })} okText={intl.formatMessage({ id: 'table.purchase.okText' })} cancelText={intl.formatMessage({ id: 'table.purchase.cancelText' })} onConfirm={() => fetchSubmitBatch(record.id)}>
<Button type='link'>
......@@ -106,10 +107,10 @@ const ReadyAdd = () => {
<Dropdown overlay={
<Menu onClick={(e) => handleMenuClick(e, record)}>
{/* <AuthButton btnCode='readyAdd.edit' key="1"> */}
<Menu.Item key="1">{intl.formatMessage({ id: 'detail.purchase.edit' })}</Menu.Item>
{record?.buttons?.indexOf(PurchaseBidButtons.UPDATE) >= 0 && <Menu.Item key="1">{intl.formatMessage({ id: 'detail.purchase.edit' })}</Menu.Item>}
{/* </AuthButton> */}
{/* <AuthButton btnCode='readyAdd.del' key="2"> */}
<Menu.Item key="2" disabled={!(record.button === 1)}>{intl.formatMessage({ id: 'table.purchase.delete' })}</Menu.Item>
{record?.buttons?.indexOf(PurchaseBidButtons.DELETE) >= 0 && <Menu.Item key="2" disabled={!(record.button === 1)}>{intl.formatMessage({ id: 'table.purchase.delete' })}</Menu.Item>}
{/* </AuthButton> */}
</Menu>
......
......@@ -15,7 +15,8 @@ const intl = getIntl();
import {
BID_EXTERNALSTATE_COLOR,
BID_INTERNALSTATE_COLOR
BID_INTERNALSTATE_COLOR,
PurchaseBidButtons
} from '../../constants/purchaseBid';
import AuthButton from '@/components/AuthButton';
......@@ -70,9 +71,9 @@ const ReadyBid = () => {
dataIndex: 'operate',
align: 'center',
render: (text: any, record: any) =>
<AuthButton btnCode='readyBid.manage'>
(record?.buttons?.indexOf(PurchaseBidButtons.BID_MANAGEMENT) >= 0 && <AuthButton btnCode='readyBid.manage'>
<Button onClick={() => history.push(`/memberCenter/procurementAbility/purchaseBid/readyBid/management?id=${record.id}&number=${record.biddingNo}`)} type='link'>{intl.formatMessage({ id: 'table.purchase.bidManage' })}</Button>
</AuthButton>
</AuthButton>)
}];
return (
......
......@@ -15,7 +15,8 @@ import Table from '../../components/table'
import {
BID_EXTERNALSTATE_COLOR,
BID_INTERNALSTATE_COLOR
BID_INTERNALSTATE_COLOR,
PurchaseBidButtons
} from '../../constants/purchaseBid';
import AuthButton from '@/components/AuthButton';
......@@ -82,9 +83,9 @@ const ReadyConfirm = () => {
dataIndex: 'operate',
align: 'center',
render: (text: any, record: any) =>
<AuthButton btnCode='readyConfirm.Confirm'>
(record?.buttons?.indexOf(PurchaseBidButtons.CONFIRM__AUCTION_RESULTS) >= 0 && <AuthButton btnCode='readyConfirm.Confirm'>
<Button onClick={() => { handleConfirm(record) }} type='link'>{intl.formatMessage({ id: 'table.purchase.confirm' })}</Button>
</AuthButton>
</AuthButton>)
}];
......
......@@ -15,7 +15,8 @@ import Table from '../../components/table'
import {
BID_EXTERNALSTATE_COLOR,
BID_INTERNALSTATE_COLOR
BID_INTERNALSTATE_COLOR,
PurchaseBidButtons
} from '../../constants/purchaseBid';
import AuthButton from '@/components/AuthButton';
......@@ -70,9 +71,9 @@ const ReadyExamineOne = () => {
dataIndex: 'operate',
align: 'center',
render: (text: any, record: any) =>
<AuthButton btnCode='readyExamineOne.shenhe'>
(record?.buttons?.indexOf(PurchaseBidButtons.AUDIT) >= 0 && <AuthButton btnCode='readyExamineOne.shenhe'>
<Button onClick={() => { handleExamine(record) }} type='link'>{intl.formatMessage({ id: 'table.purchase.audit' })}</Button>
</AuthButton>
</AuthButton>)
}];
......
......@@ -14,7 +14,8 @@ import Table from '../../components/table'
import {
BID_EXTERNALSTATE_COLOR,
BID_INTERNALSTATE_COLOR
BID_INTERNALSTATE_COLOR,
PurchaseBidButtons
} from '../../constants/purchaseBid';
import { getPurchaseBiddingStaySubmitBiddingList1, postPurchaseBiddingSubmitBidding1, postPurchaseBiddingSubmitBidding1Batch } from '@/services/PurchaseV2Api';
import AuthButton from '@/components/AuthButton';
......@@ -76,9 +77,9 @@ const ReadyExamineResultOne = () => {
dataIndex: 'operate',
align: 'center',
render: (text: any, record: any) =>
<AuthButton btnCode='readyExamineResultOne.shenhe'>
(record?.buttons?.indexOf(PurchaseBidButtons.REVIEW_AUCTION_RESULTS) >= 0 && <AuthButton btnCode='readyExamineResultOne.shenhe'>
<Button onClick={() => { handleExamine(record) }} type='link'>{intl.formatMessage({ id: 'table.purchase.audit' })}</Button>
</AuthButton>
</AuthButton>)
}];
......
......@@ -14,7 +14,8 @@ import Table from '../../components/table'
import {
BID_EXTERNALSTATE_COLOR,
BID_INTERNALSTATE_COLOR
BID_INTERNALSTATE_COLOR,
PurchaseBidButtons
} from '../../constants/purchaseBid';
import { getPurchaseBiddingStaySubmitBiddingList2, postPurchaseBiddingSubmitBidding2, postPurchaseBiddingSubmitBidding2Batch } from '@/services/PurchaseV2Api';
import AuthButton from '@/components/AuthButton';
......@@ -76,9 +77,9 @@ const ReadyExamineResultTwo = () => {
dataIndex: 'operate',
align: 'center',
render: (text: any, record: any) =>
<AuthButton btnCode='readyExamineResultTwo.shenhe'>
(record?.buttons?.indexOf(PurchaseBidButtons.REVIEW_AUCTION_RESULTS) >= 0 && <AuthButton btnCode='readyExamineResultTwo.shenhe'>
<Button onClick={() => { handleExamine(record) }} type='link'>{intl.formatMessage({ id: 'table.purchase.audit' })}</Button>
</AuthButton>
</AuthButton>)
}];
/** 批量审核 */
......
......@@ -14,7 +14,8 @@ import Table from '../../components/table'
import {
BID_EXTERNALSTATE_COLOR,
BID_INTERNALSTATE_COLOR
BID_INTERNALSTATE_COLOR,
PurchaseBidButtons
} from '../../constants/purchaseBid';
import { getPurchaseBiddingStayExamineList2, postPurchaseBiddingExamine2, postPurchaseBiddingExamine2Batch } from '@/services/PurchaseV2Api';
import AuthButton from '@/components/AuthButton';
......@@ -70,9 +71,9 @@ const ReadyExamineTwo = () => {
dataIndex: 'operate',
align: 'center',
render: (text: any, record: any) =>
<AuthButton btnCode='readyExamineTwo.shenhe'>
(record?.buttons?.indexOf(PurchaseBidButtons.AUDIT) >= 0 && <AuthButton btnCode='readyExamineTwo.shenhe'>
<Button onClick={() => { handleExamine(record) }} type='link'>{intl.formatMessage({ id: 'table.purchase.audit' })}</Button>
</AuthButton>
</AuthButton>)
}];
......
......@@ -14,7 +14,8 @@ import ModalOperate from '../../components/modalOperate';
import {
BID_EXTERNALSTATE_COLOR,
BID_INTERNALSTATE_COLOR
BID_INTERNALSTATE_COLOR,
PurchaseBidButtons
} from '../../constants/purchaseBid';
import { getPurchaseBiddingStaySubmitList, postPurchaseBiddingSubmit, postPurchaseBiddingSubmitBatch } from '@/services/PurchaseV2Api';
import AuthButton from '@/components/AuthButton';
......@@ -71,9 +72,9 @@ const ReadySubmit = () => {
align: 'center',
render: (text: any, record: any) =>
<AuthButton btnCode='readySubmit.shenhe' >
(record?.buttons?.indexOf(PurchaseBidButtons.SUBMIT_A_PURCHASE_BID) >= 0 && <AuthButton btnCode='readySubmit.shenhe' >
<Button onClick={() => { handleExamine(record) }} type='link'>{intl.formatMessage({ id: 'table.purchase.submit' })}</Button>
</AuthButton>
</AuthButton>)
}];
......
......@@ -15,7 +15,8 @@ const intl = getIntl();
import {
BID_EXTERNALSTATE_COLOR,
BID_INTERNALSTATE_COLOR
BID_INTERNALSTATE_COLOR,
PurchaseBidButtons
} from '../../constants/purchaseBid';
import { getPurchaseBiddingStaySubmitBiddingList, postPurchaseBiddingSubmitExamineBiddingReturn, postPurchaseBiddingUpdateBiddingReturn } from '@/services/PurchaseV2Api';
import AuthButton from '@/components/AuthButton';
......@@ -77,10 +78,15 @@ const ReadySubmitExamineResult = () => {
key: 'operate',
dataIndex: 'operate',
align: 'center',
render: (text: any, record: any) =>
<AuthButton btnCode='readySubmitExamineResult.shenhe'>
<Button disabled={!(record.button === 1 || record.button === 2)} onClick={() => handleSubmit(record)} type='link'>{record.button === 1 ? intl.formatMessage({ id: 'table.purchase.eidt' }) : intl.formatMessage({ id: 'detail.purchase.submit' })}</Button>
</AuthButton>
render: (text: any, record: any) => {
const _has = record?.buttons?.indexOf(PurchaseBidButtons.SUBMIT_FOR_REVIEW_BIDDING_RESULTS) >= 0 || record?.buttons?.indexOf(PurchaseBidButtons.EDIT_AUCTION_RESULTS) >= 0
return (
_has && <AuthButton btnCode='readySubmitExamineResult.shenhe'>
<Button disabled={!_has} onClick={() => handleSubmit(record)} type='link'>{record?.buttons?.indexOf(PurchaseBidButtons.SUBMIT_FOR_REVIEW_BIDDING_RESULTS) >= 0 ? intl.formatMessage({ id: 'table.purchase.eidt' }) : intl.formatMessage({ id: 'detail.purchase.submit' })}</Button>
</AuthButton>
)
}
}];
......
......@@ -6,13 +6,13 @@ import { PlayCircleOutlined, PoweroffOutlined } from '@ant-design/icons'
import { formatTimeString } from '@/utils'
import EyePreview from '@/components/EyePreview';
import StatusTag from '@/components/StatusTag';
import Table from '../../components/table'
import ModalOperate from '../../components/modalOperate';
import {
BID_EXTERNALSTATE_COLOR,
BID_INTERNALSTATE_COLOR
BID_INTERNALSTATE_COLOR,
PurchaseBidButtons
} from '../../constants/purchaseBid';
import { getPurchaseBiddingExternalStatus, getPurchaseBiddingInteriorStatus, getPurchaseBiddingList, postPurchaseBiddingDiscard } from '@/services/PurchaseV2Api';
import { getIntl } from 'umi';
......@@ -75,20 +75,21 @@ const Search = () => {
key: 'operate',
dataIndex: 'operate',
align: 'center',
render: (text: any, record: any) => (
<AuthButton btnCode='purchaseBid.undo' >
<Button
type='link'
onClick={() => {
setId(record.id);
setVisible(true);
}}
>
{intl.formatMessage({ id: 'table.purchase.undo' })}
</Button>
</AuthButton>
)
render: (text: any, record: any) => {
return (
record?.buttons?.indexOf(PurchaseBidButtons.CANCEL) >= 0 && (<AuthButton btnCode='purchaseBid.undo' >
<Button
type='link'
onClick={() => {
setId(record.id);
setVisible(true);
}}
>
{intl.formatMessage({ id: 'table.purchase.undo' })}
</Button>
</AuthButton>)
)
}
}];
const handleSubmit = () => {
......
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