diff --git a/src/assets/zjl_style.less b/src/assets/zjl_style.less index 61fc6f7..db3887f 100644 --- a/src/assets/zjl_style.less +++ b/src/assets/zjl_style.less @@ -193,4 +193,36 @@ .ant-pro-table-alert { display: none; } +} + +.screen-reserve-table { + .ant-table-small .ant-table-thead>tr>th { + background-color: #fff + } + + .ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>thead>tr>th, + .ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>thead>tr>th, + .ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>thead>tr>th, + .ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tbody>tr>td, + .ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tbody>tr>td, + .ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tbody>tr>td, + .ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tfoot>tr>th, + .ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tfoot>tr>th, + .ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tfoot>tr>th, + .ant-table.ant-table-bordered>.ant-table-container>.ant-table-content>table>tfoot>tr>td, + .ant-table.ant-table-bordered>.ant-table-container>.ant-table-header>table>tfoot>tr>td, + .ant-table.ant-table-bordered>.ant-table-container>.ant-table-body>table>tfoot>tr>td { + border-right: 1px solid #eaeaea; + } + + .ant-table-thead>tr>th, + .ant-table-tbody>tr>td { + border-bottom: 1px solid #eaeaea; + } +} + +.screen-reserve-collapse { + .ant-collapse-content>.ant-collapse-content-box { + padding: 16px 0; + } } \ No newline at end of file diff --git a/src/pages/ElecEvaluation/AppointmentManage/index.tsx b/src/pages/ElecEvaluation/AppointmentManage/index.tsx index 5a7876b..37ecc5f 100644 --- a/src/pages/ElecEvaluation/AppointmentManage/index.tsx +++ b/src/pages/ElecEvaluation/AppointmentManage/index.tsx @@ -1,17 +1,19 @@ -import ProList from '@ant-design/pro-list'; import type { ActionType, ProColumns } from '@ant-design/pro-table'; import ProTable from '@ant-design/pro-table'; -import { Button, Card, Space, Tag } from 'antd'; -import React, { ReactText, useEffect, useState } from 'react'; +import { Button, Card, Collapse, Space, Tag } from 'antd'; +import React, { useEffect, useState } from 'react'; import { useRef } from 'react'; import MeetingReservation from '@/components/ElecBidEvaluation/MeetingReservation'; import { getRecordData, getSiteList } from './service'; import { isEmpty } from '@/utils/CommonUtils'; -const orange_bg = { background: '#f59a23', color: '#0000ff', cursor: 'pointer', width: '100%', overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }; -const green_bg = { background: '#4b7902' }; +const orange_bg = { background: '#ffbc83', color: '#333333', cursor: 'pointer', width: '100%', overflow: 'hidden', textOverflow: 'ellipsis', whiteSpace: 'nowrap' }; +const light_orange_bg = { background: '#faf7e5' }; const align_middle = { display: 'flex', alignItems: 'center' }; const tag_size = { height: '20px', width: '20px' }; +const panel_title = { fontWeight: 500 }; +const panel_sub_title = { ...panel_title, color: '#999999' }; +const { Panel } = Collapse; const ScreenTable = (props: { record: any, onCellClick: (id: any) => void, refresh: number }) => { const { record, onCellClick, refresh } = props; @@ -27,55 +29,9 @@ const ScreenTable = (props: { record: any, onCellClick: (id: any) => void, refre const columnsSplice = (weeksData: any[]) => { const columns: ProColumns[] = [ { - title: '评标室名称', - dataIndex: 'name', - align: 'center', - render: (_, record, index) => { - return { - children: _, - props: { - rowSpan: index % 24 == 0 ? 24 : 0, - } - } - } - }, - { - title: '可容纳人数(人)', - dataIndex: 'rs', - align: 'center', - render: (_, record, index) => { - return { - children: _, - props: { - rowSpan: index % 24 == 0 ? 24 : 0, - } - } - } - }, - { - title: '场次', - align: 'center', - colSpan: 2, - render: (_, record, index) => { - return { - children: "07:00 ~ 18:00", - props: { - rowSpan: index % 24 == 0 ? 24 : 0, - } - } - } - }, - { + title: '时段场次', dataIndex: "time", - align: 'right', - width: '100px', - colSpan: 0, - }, - { - title: '预约时间', - dataIndex: "info_time", - valueType: 'date', - hideInTable: true, + align: 'center', }, ]; for (const ite of weeksData) { @@ -86,7 +42,7 @@ const ScreenTable = (props: { record: any, onCellClick: (id: any) => void, refre ellipsis: true, onCell: (record) => { return { - style: record[ite.id]?.iskssj ? orange_bg : green_bg, + style: record[ite.id]?.iskssj ? orange_bg : light_orange_bg, onClick: record[ite.id]?.iskssj ? () => onCellClick(record[ite.id]?.id) : void 0, } }, @@ -127,14 +83,20 @@ const ScreenTable = (props: { record: any, onCellClick: (id: any) => void, refre return (
{tableData.length > 0 && ( - - - - +
+ + + + + +
可预约电子评标室
+
已预约电子评标室
+
+
)} columns={tableColumns} @@ -142,6 +104,7 @@ const ScreenTable = (props: { record: any, onCellClick: (id: any) => void, refre bordered size='small' dataSource={tableData} + className="screen-reserve-table" rowKey="time" search={false} pagination={false} @@ -158,7 +121,7 @@ export default () => { //评标场所列表数据 const [siteListData, setSiteListData] = useState([]); //评标场所列表展开 - const [expandedRowKeys, setExpandedRowKeys] = useState([]); + const [expandedRowKeys, setExpandedRowKeys] = useState([]); //预约状态 const [meetStatus, setMeetStatus] = useState("2"); //预约id @@ -200,8 +163,8 @@ export default () => { }, []) return ( - -
+ +
- -
已预约
-
未预约
-
- - rowKey="id" - expandable={{ - expandedRowKeys, onExpandedRowsChange: setExpandedRowKeys, - }} - dataSource={siteListData} - toolBarRender={false} - metas={{ - title: { - render: (_: any, record: any) => setExpandedRowKeys(keys => keys.includes(record.id) ? [] : [record.id])}>{record.areaName}, - }, - subTitle: { - render: (_: any, record: any) => `可容纳人数:${isEmpty(record.areaNumber) ? '' : record.areaNumber}人`, - }, - description: { - render: (_: any, record: any) => , - }, - }} - /> + setExpandedRowKeys(value as any[])} className="screen-reserve-collapse" style={{ margin: '0 36px' }}> + {siteListData.map(item => ( + + {item.areaName} + (可容纳{isEmpty(item.areaNumber) ? '' : item.areaNumber}人) + } + extra={ + <> + 时间:07:00 ~ 18:00 + + } + key={item.id} + > + + + ))} + {modalVisible && { setModalVisible(false); getSiteListData("1") }} roomList={siteListData} status={meetStatus} meetId={meetId} onSubmit={() => { setModalVisible(false); setRefresh(refresh => refresh + 1) }} />}
); diff --git a/src/pages/ElecEvaluation/EvalSiteManage/SitePerson/components/SitePersonModal.tsx b/src/pages/ElecEvaluation/EvalSiteManage/SitePerson/components/SitePersonModal.tsx index 975df92..1353619 100644 --- a/src/pages/ElecEvaluation/EvalSiteManage/SitePerson/components/SitePersonModal.tsx +++ b/src/pages/ElecEvaluation/EvalSiteManage/SitePerson/components/SitePersonModal.tsx @@ -173,7 +173,7 @@ const SitePersonModal: React.FC = (props) => { message: '当前项不可为空', }, ]}> - + diff --git a/src/pages/Tender/ProjectManager/JudgingPanel/List/index.tsx b/src/pages/Tender/ProjectManager/JudgingPanel/List/index.tsx index 1504273..a12ace8 100644 --- a/src/pages/Tender/ProjectManager/JudgingPanel/List/index.tsx +++ b/src/pages/Tender/ProjectManager/JudgingPanel/List/index.tsx @@ -1409,7 +1409,7 @@ const JudgingPanel: React.FC<{}> = () => { name="faceId" style={{ display: 'inline-block', width: '60%' }} > - + = () => { name="faceId" style={{ display: 'inline-block', width: '60%' }} > - +