Files
fe_service_ebtp_frontend/src/pages/ZZhaoMu/Tender/UploadResponse/index.tsx

113 lines
4.3 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import React, { useState, useEffect } from 'react';
import type { ReactText } from 'react';
import { Row, Col, Tag } from 'antd';
import { getPackages } from './service';
import '@/assets/ld_style.less';
import { getProId, getSessionProjectData } from '@/utils/session';
import ProList from '@ant-design/pro-list';
import TableLook from './TableLook';
import { getStatusByProId } from '@/services/downLoad';
import { ExclamationCircleOutlined } from '@ant-design/icons';
import SupplierCommitment from '@/pages/Tender/UploadResponse/components/SupplierCommitment';
const Index: React.FC<{}> = () => {
let projectId = getProId()
const [expandedRowKeys, setExpandedRowKeys] = useState<ReactText[]>([0]);
//供应商资质库显示状态
const [supplierStatus, setSupplierStatus] = useState<boolean>(false);
// 提示信息显隐
const [tip, setTip] = useState<boolean>(true);
//是否初始化列表-供应商承诺书用
const [isInit, setIsInit] = useState<boolean>(false);
/**
* 根据项目id获取供应商资质库信息引用状态
* @param id 项目id
* @returns true-有供应商资质库信息 false-无供应商资质库信息
*/
const getSupplierStatus = async (id: string) => {
await getStatusByProId({ id: id }).then(res => {
setTip(false)
if (res?.code == 200) {
setSupplierStatus(res?.data)
}
})
}
let listRender = (list: any[]) => list?.map((item: any, index: any) => ({
title: item.packageName + '—第' + item.roomSort + '轮',
description: (
<div>
<TableLook messProp={item} itemIndex={index} supplierStatus={supplierStatus} />
{/* {expandedRowKeys.includes(item.sectionVO.bsId) ? <TableLook messProp={item} itemIndex={index} /> : null} */}
</div>
)
}));
const changeList = (expanded: any, record: any) => { // 列表展开
}
useEffect(() => {
getSupplierStatus(projectId)
}, []);
return (
<>
<div className="uploadResponse">
<div>
<div>
<Row>
<Col span="24">
<div className="first-title"></div>
</Col>
<Col span="24" hidden={tip}>
<div><Tag hidden={!supplierStatus} style={{ marginBottom: "10px", marginLeft: "20px" }} icon={<ExclamationCircleOutlined />} color="warning"> --- </Tag></div>
<div><Tag hidden={getSessionProjectData().isIPassFile == '1' ? true : false} style={{ marginBottom: "20px" }} icon={<ExclamationCircleOutlined />} color="warning"> ipass</Tag></div>
</Col>
</Row>
</div>
</div>
{isInit && (
<ProList
className="pro-list"
rowKey="bsId"
params={{ "projectId": projectId }}
request={async (params) =>
await getPackages(params).then((res) => {
if (res.code == 200) {
let data = res.data;
// setDateList(res.data.records)
return Promise.resolve({
data: listRender(data.records),
success: res.success,
total: res.data.total,
current: res.data.current,
});
}
return Promise.resolve({
data: [],
success: false,
total: 0,
current: 1,
});
})
}
pagination={{
defaultPageSize: 10,
showSizeChanger: true,
}}
expandable={{ expandedRowKeys, onExpandedRowsChange: setExpandedRowKeys, onExpand: changeList }}
// dataSource={listDate}
metas={{
title: {},
content: {},
description: {}
}}
/>
)}
<SupplierCommitment projectId={projectId} callback={() => { setIsInit(true) }} />
</div>
</>
)
}
export default Index