更新版本库
This commit is contained in:
234
src/pages/Calibration/BidReceiveCalibrationResult/index.tsx
Normal file
234
src/pages/Calibration/BidReceiveCalibrationResult/index.tsx
Normal file
@ -0,0 +1,234 @@
|
||||
import React, {useEffect, useState} from 'react';
|
||||
import {Button, Card, Collapse, Divider, List, message, Modal, Table} from "antd";
|
||||
import ProTable from "@ant-design/pro-table";
|
||||
import {getBidAssessmentResultList, getBidAssessmentResultsList, pushBidAssessmentResult} from "./service"
|
||||
import {getProId} from "@/utils/session";
|
||||
|
||||
|
||||
/*接收定标结果*/
|
||||
const BidReceiveCalibrationResult: React.FC<{}> = (props) => {
|
||||
const [pageloading, setPageloading] = useState<boolean>(false);
|
||||
const [ListData, setListData] = useState<any>();
|
||||
const [activeKey, setActiveKey] = useState<any>([]);
|
||||
const [proID,setProID] = useState<any>(getProId);
|
||||
|
||||
const columns: any = [
|
||||
{
|
||||
title: '排名',
|
||||
dataIndex: 'sort',
|
||||
valueType: 'text'
|
||||
},
|
||||
{
|
||||
title: '供应商名称',
|
||||
dataIndex: 'companyName',
|
||||
valueType: 'text'
|
||||
},
|
||||
{
|
||||
title: '报价(元)',
|
||||
dataIndex: 'price',
|
||||
valueType: 'text'
|
||||
},
|
||||
{
|
||||
title: '评审价(元)',
|
||||
dataIndex: 'priceReview',
|
||||
valueType: 'text'
|
||||
},
|
||||
{
|
||||
title: '商务分',
|
||||
dataIndex: 'businessScore',
|
||||
valueType: 'text'
|
||||
},
|
||||
{
|
||||
title: '技术分',
|
||||
dataIndex: 'technicalScore',
|
||||
valueType: 'text'
|
||||
},
|
||||
{
|
||||
title: '服务分',
|
||||
dataIndex: 'serviceScore',
|
||||
valueType: 'text'
|
||||
},
|
||||
{
|
||||
title: '价格分',
|
||||
dataIndex: 'priceScore',
|
||||
valueType: 'text'
|
||||
},
|
||||
{
|
||||
title: '综合得分',
|
||||
dataIndex: 'totalScore',
|
||||
valueType: 'text'
|
||||
},
|
||||
{
|
||||
title: '拟签约金额(不含增值税)(元)',
|
||||
dataIndex: 'contractedMoney',
|
||||
valueType: 'text'
|
||||
},
|
||||
|
||||
{
|
||||
title: '增值税金额(元)',
|
||||
dataIndex: 'taxRatePrice',
|
||||
valueType: 'text'
|
||||
},
|
||||
|
||||
{
|
||||
title: '是否通过初步评审',
|
||||
dataIndex: 'firstRvwResult',
|
||||
valueType: 'text',
|
||||
valueEnum: {
|
||||
0: {text: '未通过'},
|
||||
1: {text: '通过'},
|
||||
},
|
||||
},
|
||||
/*未完成*/
|
||||
{
|
||||
title: '是否中标',
|
||||
dataIndex: 'winnerCandidate',
|
||||
valueType: 'text',
|
||||
valueEnum: {
|
||||
0: {text: '否'},
|
||||
1: {text: '是'},
|
||||
},
|
||||
},
|
||||
/*未完成 end*/
|
||||
{
|
||||
title: '备注',
|
||||
dataIndex: 'remarks',
|
||||
align: 'center',
|
||||
render: (_: any, record: any) => {
|
||||
return(
|
||||
<>
|
||||
<a onClick={() =>showRemarks(record.remarks)}>查看备注</a><Divider type="vertical"/>
|
||||
</>
|
||||
)
|
||||
}
|
||||
},
|
||||
|
||||
]
|
||||
|
||||
const showRemarks=(Msg:any)=>{
|
||||
if(Msg!=null&&Msg!=""){
|
||||
Modal.info({
|
||||
title: 'This is a notification message',
|
||||
content: (
|
||||
<div>
|
||||
<p>Msg</p>
|
||||
</div>
|
||||
),
|
||||
onOk() {},
|
||||
});
|
||||
} else{
|
||||
message.success("无备注信息!")
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
const changeActiveKey = (param: string) => {
|
||||
|
||||
let arr = activeKey.concat();
|
||||
|
||||
if (arr.indexOf(param) > -1) {
|
||||
arr.splice(arr.indexOf(param), 1);
|
||||
} else {
|
||||
arr.push(param);
|
||||
}
|
||||
setActiveKey([...arr]);
|
||||
|
||||
}
|
||||
useEffect(() => {
|
||||
/*projectType :2 评标 1 资审*/
|
||||
getBidAssessmentResultsList({"tpId":proID,"projectType":"2"}).then(res => {
|
||||
if (res != undefined && res.message == "success") {
|
||||
setListData(res.data);
|
||||
}else{
|
||||
message.warn("获取信息失败,请稍后")
|
||||
}
|
||||
})
|
||||
}, [proID])
|
||||
|
||||
const {Panel} = Collapse;
|
||||
|
||||
|
||||
return (
|
||||
<>
|
||||
<List
|
||||
grid={{
|
||||
gutter: 16,
|
||||
xs: 1,
|
||||
sm: 1,
|
||||
md: 1,
|
||||
lg: 1,
|
||||
xl: 1,
|
||||
xxl: 1,
|
||||
}}
|
||||
key={Math.random()}
|
||||
itemLayout="vertical"
|
||||
dataSource={ListData}
|
||||
renderItem={item => (
|
||||
<List.Item key={Math.random()}>
|
||||
<Card
|
||||
title={item.sectionName}
|
||||
extra={
|
||||
<>
|
||||
<Button onClick={() => changeActiveKey(item.sectionId)}> 展开/折叠</Button>
|
||||
</>
|
||||
}
|
||||
key={Math.random()}
|
||||
>
|
||||
<Collapse
|
||||
activeKey={activeKey}
|
||||
bordered={false}
|
||||
ghost={true}
|
||||
key={Math.random()}
|
||||
>
|
||||
|
||||
<Panel
|
||||
header={""} showArrow={false} key={item.sectionId}>
|
||||
<List
|
||||
grid={{
|
||||
gutter: 16,
|
||||
xs: 1,
|
||||
sm: 1,
|
||||
md: 1,
|
||||
lg: 1,
|
||||
xl: 1,
|
||||
xxl: 1,
|
||||
}}
|
||||
itemLayout="vertical"
|
||||
key={Math.random()}
|
||||
dataSource={item.assesList}
|
||||
renderItem={item1 => (
|
||||
<List.Item key={Math.random()}>
|
||||
<ProTable
|
||||
key={Math.random()}
|
||||
bordered={true}
|
||||
loading={pageloading}
|
||||
search={false}
|
||||
options={false}
|
||||
columns={columns}
|
||||
dataSource={item1.winnerList}
|
||||
toolbar={{
|
||||
title: "第:" + item1.assesRoomSort + "轮",
|
||||
}}
|
||||
rowKey={() => Math.random().toString()}
|
||||
|
||||
pagination={{
|
||||
pageSizeOptions:['10','20','50'],
|
||||
}}
|
||||
|
||||
/>
|
||||
</List.Item>
|
||||
)}
|
||||
>
|
||||
</List>
|
||||
|
||||
</Panel>
|
||||
</Collapse>
|
||||
</Card>
|
||||
</List.Item>
|
||||
)}
|
||||
/>
|
||||
|
||||
</>
|
||||
)
|
||||
}
|
||||
export default BidReceiveCalibrationResult
|
13
src/pages/Calibration/BidReceiveCalibrationResult/service.ts
Normal file
13
src/pages/Calibration/BidReceiveCalibrationResult/service.ts
Normal file
@ -0,0 +1,13 @@
|
||||
import request from '@/utils/request';
|
||||
// import {demo} from './data.d';
|
||||
|
||||
export async function getBidAssessmentResultsList(params?:any) {
|
||||
return request('/api/biz-service-ebtp-calibration/v1/bizbidwinnercompany/getSectionAssesslist',{
|
||||
method:'post' ,
|
||||
data:{
|
||||
...params
|
||||
|
||||
}
|
||||
})
|
||||
}
|
||||
|
Reference in New Issue
Block a user