3.10 工程代码同步master
This commit is contained in:
@ -1,8 +1,9 @@
|
||||
import React, {useEffect, useState} from 'react';
|
||||
import {Button, Card, Collapse, Divider, List, message, Modal, Table} from "antd";
|
||||
import React, { useEffect, useState } from 'react';
|
||||
import { Button, Card, Collapse, Input, List, message, Modal, Space, Spin } from "antd";
|
||||
import ProTable from "@ant-design/pro-table";
|
||||
import {getBidAssessmentResultList, getBidAssessmentResultsList, pushBidAssessmentResult} from "./service"
|
||||
import {getProId} from "@/utils/session";
|
||||
import { getBidAssessmentResultsList } from "./service"
|
||||
import { getDefId, getProId, getProMethod } from "@/utils/session";
|
||||
import { isEmpty } from '@/utils/CommonUtils';
|
||||
|
||||
|
||||
/*接收定标结果*/
|
||||
@ -10,116 +11,54 @@ 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 [proID, setProID] = useState<any>(getProId);
|
||||
const [spintype, setSpintype] = useState<boolean>(false);
|
||||
//查询条件-包件名称
|
||||
const [name, setName] = useState<string>('');
|
||||
const [Refresh, setRefresh] = useState<number>(0);
|
||||
|
||||
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("无备注信息!")
|
||||
}
|
||||
let name1 = "中标";
|
||||
let name2 = "评标";
|
||||
let name3 = "标段";
|
||||
let TpPackageName = "";
|
||||
let type1 = false;
|
||||
let type2 = false;
|
||||
let type3 = false;
|
||||
let type4 = false;
|
||||
|
||||
let proDict = getProMethod();
|
||||
let defId = getDefId();
|
||||
if (proDict == "procurement_mode_1" || proDict == "procurement_mode_2") {
|
||||
TpPackageName = "招标";
|
||||
name1 = "中标";
|
||||
name2 = "评标";
|
||||
name3 = "标段";
|
||||
} else if (proDict == "procurement_mode_3") {
|
||||
TpPackageName = "比选";
|
||||
name1 = "中选";
|
||||
name2 = "评审";
|
||||
name3 = "采购包";
|
||||
} else if (proDict == "procurement_mode_5" || proDict == "procurement_mode_6") {
|
||||
TpPackageName = "谈判";
|
||||
name1 = "中选";
|
||||
name2 = "评审";
|
||||
name3 = "采购包";
|
||||
} else if (proDict == "procurement_mode_4") {
|
||||
TpPackageName = "招募";
|
||||
name1 = "中选";
|
||||
name2 = "评审";
|
||||
name3 = "包件";
|
||||
type1 = true;
|
||||
type2 = true;
|
||||
type3 = true;
|
||||
type4 = true;
|
||||
} else if (proDict == "procurement_mode_7") {
|
||||
TpPackageName = "询价";
|
||||
name1 = "中选";
|
||||
name2 = "评审";
|
||||
name3 = "采购包";
|
||||
type3 = true;
|
||||
type4 = true;
|
||||
}
|
||||
|
||||
const changeActiveKey = (param: string) => {
|
||||
@ -136,53 +75,51 @@ const BidReceiveCalibrationResult: React.FC<{}> = (props) => {
|
||||
}
|
||||
useEffect(() => {
|
||||
/*projectType :2 评标 1 资审*/
|
||||
getBidAssessmentResultsList({"tpId":proID,"projectType":"2"}).then(res => {
|
||||
if (res != undefined && res.message == "success") {
|
||||
setSpintype(true);
|
||||
getBidAssessmentResultsList({ "tpId": proID, "roomType": "2", "sectionName": name }).then(res => {
|
||||
if (res.code == 200) {
|
||||
setListData(res.data);
|
||||
}else{
|
||||
message.warn("获取信息失败,请稍后")
|
||||
}
|
||||
}).finally(() => {
|
||||
setSpintype(false)
|
||||
})
|
||||
}, [proID])
|
||||
}, [proID, Refresh])
|
||||
|
||||
const {Panel} = Collapse;
|
||||
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()}
|
||||
>
|
||||
|
||||
<Spin spinning={spintype}>
|
||||
<Card bordered={false} bodyStyle={{ padding: '0px 24px' }}>
|
||||
<div style={{ textAlign: 'right' }}>
|
||||
<Space style={{ margin: '16px 0px' }}>
|
||||
<Input type="text" placeholder={`${name3}名称`} value={name} onChange={(event) => setName(event.target.value)} />
|
||||
<Button type="primary" key='c' onClick={() => {
|
||||
setRefresh(Refresh + 1);
|
||||
}}>查询</Button>
|
||||
<Button key='reload' onClick={() => {
|
||||
setName('');
|
||||
setRefresh(Refresh + 1);
|
||||
}}>重置</Button>
|
||||
</Space>
|
||||
</div>
|
||||
<List
|
||||
grid={{
|
||||
gutter: 16,
|
||||
xs: 1,
|
||||
sm: 1,
|
||||
md: 1,
|
||||
lg: 1,
|
||||
xl: 1,
|
||||
xxl: 1,
|
||||
}}
|
||||
itemLayout="vertical"
|
||||
dataSource={ListData}
|
||||
renderItem={(item: any, index: any) => (
|
||||
<Collapse defaultActiveKey={index == 0 ? item.sectionId : ""} className="calibration-panel">
|
||||
<Panel
|
||||
header={""} showArrow={false} key={item.sectionId}>
|
||||
header={item.sectionName} key={item.sectionId}>
|
||||
<List
|
||||
grid={{
|
||||
gutter: 16,
|
||||
@ -194,39 +131,123 @@ const BidReceiveCalibrationResult: React.FC<{}> = (props) => {
|
||||
xxl: 1,
|
||||
}}
|
||||
itemLayout="vertical"
|
||||
key={Math.random()}
|
||||
dataSource={item.assesList}
|
||||
renderItem={item1 => (
|
||||
<List.Item key={Math.random()}>
|
||||
renderItem={(item1: any) => {
|
||||
//标段上的报价类型确认 1-% 0-元
|
||||
let sectionQuot = item?.quotationMethodDict == 'quotation_method_2' || item?.quotationMethodDict == 'quotation_method_3' ? '1' : '0'
|
||||
const columns: any = [
|
||||
{
|
||||
title: '排名',
|
||||
dataIndex: 'sort',
|
||||
valueType: 'text'
|
||||
},
|
||||
{
|
||||
title: '供应商名称',
|
||||
dataIndex: 'companyName',
|
||||
valueType: 'text'
|
||||
},
|
||||
{
|
||||
hideInTable: type1,
|
||||
title: proDict == 'procurement_mode_7' ? '报价总金额净价(元)' : sectionQuot == '1' ? '报价(%)' : '报价(元)',
|
||||
dataIndex: 'price',
|
||||
valueType: 'text'
|
||||
},
|
||||
{
|
||||
hideInTable: type2,
|
||||
title: proDict == 'procurement_mode_7' ? '报价总金额含税价(元)' : sectionQuot == '1' ? '评审价(%)' : '评审价(元)',
|
||||
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'
|
||||
},
|
||||
{
|
||||
hideInTable: type3,
|
||||
title: '拟签约金额(不含增值税)(元)',
|
||||
dataIndex: 'contractedMoney',
|
||||
valueType: 'text'
|
||||
},
|
||||
|
||||
{
|
||||
hideInTable: type4,
|
||||
title: '增值税金额(元)',
|
||||
dataIndex: 'taxRatePrice',
|
||||
valueType: 'text'
|
||||
},
|
||||
|
||||
{
|
||||
title: '是否通过初步评审',
|
||||
dataIndex: 'firstRvwResult',
|
||||
valueType: 'text',
|
||||
valueEnum: {
|
||||
0: { text: '未通过' },
|
||||
1: { text: '通过' },
|
||||
},
|
||||
},
|
||||
/*未完成*/
|
||||
{
|
||||
title: '是否' + name1,
|
||||
dataIndex: 'winnerCandidate',
|
||||
valueType: 'text',
|
||||
valueEnum: {
|
||||
1: { text: name1 },
|
||||
2: { text: '候选' },
|
||||
3: { text: '落选' },
|
||||
},
|
||||
},
|
||||
]
|
||||
return (
|
||||
<ProTable
|
||||
key={Math.random()}
|
||||
bordered={true}
|
||||
size={"small"}
|
||||
loading={pageloading}
|
||||
search={false}
|
||||
options={false}
|
||||
columns={columns}
|
||||
dataSource={item1.winnerList}
|
||||
toolbar={{
|
||||
title: "第:" + item1.assesRoomSort + "轮",
|
||||
title: item1.againEvaluationSort == 'null' || isEmpty(item1.againEvaluationSort) ? null : `第${item1.againEvaluationSort}次重审`,
|
||||
}}
|
||||
rowKey={() => Math.random().toString()}
|
||||
|
||||
pagination={{
|
||||
pageSizeOptions:['10','20','50'],
|
||||
showSizeChanger: false,
|
||||
defaultPageSize: 10,
|
||||
}}
|
||||
|
||||
/>
|
||||
</List.Item>
|
||||
)}
|
||||
)
|
||||
}
|
||||
}
|
||||
>
|
||||
</List>
|
||||
|
||||
</Panel>
|
||||
</Collapse>
|
||||
</Card>
|
||||
</List.Item>
|
||||
)}
|
||||
/>
|
||||
)}
|
||||
/>
|
||||
</Card>
|
||||
</Spin>
|
||||
|
||||
</>
|
||||
)
|
||||
|
Reference in New Issue
Block a user