更新版本库
This commit is contained in:
@ -1,121 +1,145 @@
|
||||
import React, {useEffect, useState} from 'react';
|
||||
import {Button, Card, Collapse, Divider, List} from "antd";
|
||||
import style from "@/pages/BiddingAnnouncement/components/style.less";
|
||||
import {Button, Card, Collapse, Divider, List, message, Modal, Table} from "antd";
|
||||
import ProTable from "@ant-design/pro-table";
|
||||
import {DownloadOutlined, UnorderedListOutlined} from "@ant-design/icons/lib";
|
||||
import {getBidAssessmentResultsList} from "./service"
|
||||
import {getBidAssessmentResultList, getBidAssessmentResultsList, pushBidAssessmentResult} from "./service"
|
||||
import CurrentTable from "./components/currentTable"
|
||||
import {getProId} from "@/utils/session";
|
||||
|
||||
interface BiddingDocumentsDecryptProps {
|
||||
projectId: "1331563848498413568";/*?项目id*/
|
||||
}
|
||||
|
||||
const BidAssessmentResults: React.FC<BiddingDocumentsDecryptProps> = (props) => {
|
||||
|
||||
const BidAssessmentResults: React.FC<{}> = (props) => {
|
||||
const [pageloading, setPageloading] = useState<boolean>(false);
|
||||
const [ListData, setListData] = useState<any>();
|
||||
const [activeKey, setActiveKey] = useState<any>([]);
|
||||
const [assessRoomId, setAssessRoomId] = useState<any>();
|
||||
const [currentTable, setCurrentTable] = useState<boolean>(false);
|
||||
const [proID,setProID] = useState<any>(getProId);
|
||||
|
||||
const columns: any = [
|
||||
{
|
||||
title: '排名',
|
||||
dataIndex: 'xuhao',
|
||||
valueType: 'index'
|
||||
dataIndex: 'sort',
|
||||
valueType: 'text'
|
||||
},
|
||||
{
|
||||
title: '供应商名称',
|
||||
dataIndex: 'mingcheng',
|
||||
valueType: 'index'
|
||||
dataIndex: 'companyName',
|
||||
valueType: 'text'
|
||||
},
|
||||
{
|
||||
title: '报价(元)',
|
||||
dataIndex: 'xuhao',
|
||||
valueType: 'index'
|
||||
dataIndex: 'price',
|
||||
valueType: 'text'
|
||||
},
|
||||
{
|
||||
title: '评审价(元)',
|
||||
dataIndex: 'mingcheng',
|
||||
valueType: 'index'
|
||||
dataIndex: 'priceReview',
|
||||
valueType: 'text'
|
||||
},
|
||||
{
|
||||
title: '商务分',
|
||||
dataIndex: 'xuhao',
|
||||
valueType: 'index'
|
||||
dataIndex: 'businessScore',
|
||||
valueType: 'text'
|
||||
},
|
||||
{
|
||||
title: '技术分',
|
||||
dataIndex: 'mingcheng',
|
||||
valueType: 'index'
|
||||
dataIndex: 'technicalScore',
|
||||
valueType: 'text'
|
||||
},
|
||||
{
|
||||
title: '服务分',
|
||||
dataIndex: 'xuhao',
|
||||
valueType: 'index'
|
||||
dataIndex: 'serviceScore',
|
||||
valueType: 'text'
|
||||
},
|
||||
{
|
||||
title: '价格分',
|
||||
dataIndex: 'mingcheng',
|
||||
valueType: 'index'
|
||||
dataIndex: 'priceScore',
|
||||
valueType: 'text'
|
||||
},
|
||||
{
|
||||
title: '综合得分',
|
||||
dataIndex: 'mingcheng',
|
||||
valueType: 'index'
|
||||
dataIndex: 'totalScore',
|
||||
valueType: 'text'
|
||||
},
|
||||
{
|
||||
title: '拟签约金额(不含增值税)(元)',
|
||||
dataIndex: 'mingcheng',
|
||||
valueType: 'index'
|
||||
dataIndex: 'contractedMoney',
|
||||
valueType: 'text'
|
||||
},
|
||||
{
|
||||
title: '增值税金额(元)',
|
||||
dataIndex: 'mingcheng',
|
||||
valueType: 'index'
|
||||
dataIndex: 'taxRatePrice',
|
||||
valueType: 'text'
|
||||
},
|
||||
{
|
||||
title: '是否中标候选人',
|
||||
dataIndex: 'mingcheng',
|
||||
valueType: 'index'
|
||||
dataIndex: 'winnerCandidate',
|
||||
valueType: 'text',
|
||||
valueEnum: {
|
||||
0: {text: '否'},
|
||||
1: {text: '是'},
|
||||
},
|
||||
},
|
||||
{
|
||||
title: '是否通过初步评审',
|
||||
dataIndex: 'mingcheng',
|
||||
valueType: 'index'
|
||||
dataIndex: 'firstRvwResult',
|
||||
valueType: 'text',
|
||||
valueEnum: {
|
||||
0: {text: '未通过'},
|
||||
1: {text: '通过'},
|
||||
},
|
||||
},
|
||||
{
|
||||
title: '备注',
|
||||
dataIndex: 'mingcheng',
|
||||
valueType: 'index'
|
||||
dataIndex: 'remarks',
|
||||
valueType: 'text'
|
||||
},
|
||||
|
||||
]
|
||||
const data: any = [
|
||||
{
|
||||
mingcheng: "ddddd",
|
||||
},
|
||||
{
|
||||
mingcheng: "ssss",
|
||||
}
|
||||
|
||||
]
|
||||
const changeActiveKey=(param:string)=>{
|
||||
console.log(activeKey);
|
||||
const changeActiveKey = (param: string) => {
|
||||
|
||||
let arr=activeKey.concat();
|
||||
let arr = activeKey.concat();
|
||||
|
||||
if(arr.indexOf(param) > -1){
|
||||
if (arr.indexOf(param) > -1) {
|
||||
arr.splice(arr.indexOf(param), 1);
|
||||
} else{
|
||||
} else {
|
||||
arr.push(param);
|
||||
}
|
||||
setActiveKey([...arr]);
|
||||
|
||||
}
|
||||
useEffect(()=>{
|
||||
getBidAssessmentResultsList("1111111").then(res=>{
|
||||
console.log(res)
|
||||
useEffect(() => {
|
||||
/*projectType :2 评标 1 资审*/
|
||||
getBidAssessmentResultsList({"projectId":proID,"projectType":"2"}).then(res => {
|
||||
if (res != undefined && res.message == "success") {
|
||||
setListData(res.data);
|
||||
}else{
|
||||
message.warn("获取信息失败,请稍后")
|
||||
}
|
||||
})
|
||||
},[props.projectId])
|
||||
}, [proID])
|
||||
|
||||
const {Panel} = Collapse;
|
||||
/*推送评标结果*/
|
||||
const pushResult = (record: any) => {
|
||||
pushBidAssessmentResult({
|
||||
"projectId": proID,
|
||||
"sectionId": record.sectionId,
|
||||
}).then(res => {
|
||||
if (res != undefined && res.message == "success") {
|
||||
message.success('推送成功');
|
||||
} else {
|
||||
message.error('推送失败:'+res.message);
|
||||
}
|
||||
})
|
||||
}
|
||||
/*推送列表查看*/
|
||||
const getResultList = (record: any) => {
|
||||
setAssessRoomId(record.assesRoomId);
|
||||
setCurrentTable(true);
|
||||
}
|
||||
|
||||
|
||||
return (
|
||||
<>
|
||||
@ -129,40 +153,79 @@ const BidAssessmentResults: React.FC<BiddingDocumentsDecryptProps> = (props) =>
|
||||
xl: 1,
|
||||
xxl: 1,
|
||||
}}
|
||||
key={Math.random()}
|
||||
itemLayout="vertical"
|
||||
dataSource={[{"pdid": "11"}, {"pdid": "22"}]}
|
||||
dataSource={ListData}
|
||||
renderItem={item => (
|
||||
<List.Item>
|
||||
<List.Item key={Math.random()}>
|
||||
<Card
|
||||
title={"标段名-第几次评审"}
|
||||
title={item.sectionName}
|
||||
extra={
|
||||
<>
|
||||
<Button type="primary"> 推送评标结果 </Button>
|
||||
<Button> 推送列表</Button>
|
||||
<Button onClick={() => changeActiveKey(item.pdid)}> 展开/折叠</Button>
|
||||
<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.pdid}>
|
||||
<ProTable
|
||||
loading={pageloading}
|
||||
search={false}
|
||||
options={false}
|
||||
columns={columns}
|
||||
dataSource={data}
|
||||
/>
|
||||
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.reviewList}
|
||||
toolbar={{
|
||||
title: "第:" + item1.assesRoomSort + "轮",
|
||||
}}
|
||||
rowKey={() => Math.random().toString()}
|
||||
toolBarRender={(record: any) => [
|
||||
<>
|
||||
<Button onClick={() => pushResult(item1)} type="primary"> 推送评标结果 </Button>
|
||||
<Button onClick={() => getResultList(item1)} > 推送列表</Button>
|
||||
</>
|
||||
]}
|
||||
pagination={{
|
||||
pageSizeOptions:['10','20','50'],
|
||||
}}
|
||||
|
||||
/>
|
||||
</List.Item>
|
||||
)}
|
||||
>
|
||||
</List>
|
||||
|
||||
</Panel>
|
||||
</Collapse>
|
||||
</Card>
|
||||
</List.Item>
|
||||
)}
|
||||
/>
|
||||
<CurrentTable assessRoomId={assessRoomId} ChangeNoticeListVisible={currentTable} onCancel={()=>setCurrentTable(false)}/>
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
Reference in New Issue
Block a user