查看修改

This commit is contained in:
liuh
2022-08-25 23:04:00 +08:00
parent a68735b641
commit 009c9ef311

View File

@ -7,13 +7,21 @@ import { getURLInformation, isNotEmpty } from '@/utils/CommonUtils';
import MeetingReservation from '@/components/ElecBidEvaluation/MeetingReservation'; import MeetingReservation from '@/components/ElecBidEvaluation/MeetingReservation';
const { TabPane } = Tabs; const { TabPane } = Tabs;
const statusEnum = {
//"状态:-1-待确认 0-未开启 1-进行中 2-已结束 3-已取消 4-结束未使用"
'-1': { text: '待确认' },
'0': { text: '未开启' },
'1': { text: '进行中' },
'2': { text: '已结束' },
'3': { text: '已取消' },
'4': { text: '结束未使用' },
};
const Index: React.FC<{}> = () => { const Index: React.FC<{}> = () => {
const checkRelationRef = useRef<ActionType>(); //操作数据后刷新列表 const checkRelationRef = useRef<ActionType>(); //操作数据后刷新列表
const [areaNameList, setAreaNameList] = useState<any>(); const [areaNameList, setAreaNameList] = useState<any>();
const [areaList, setAreaList] = useState<any>(); const [areaList, setAreaList] = useState<any>();
//预约id //预约id
const [meetId, setMeetId] = useState<string>(""); const [meetId, setMeetId] = useState<string>('');
//预约弹窗 //预约弹窗
const [modalVisible, setModalVisible] = useState<boolean>(false); const [modalVisible, setModalVisible] = useState<boolean>(false);
//刷新参数 //刷新参数
@ -25,41 +33,40 @@ const Index: React.FC<{}> = () => {
}, []); }, []);
const initAreaNameList = async () => { const initAreaNameList = async () => {
await roomList().then((res) => { await roomList().then((res) => {
if (res.success ==true) { if (res.success == true) {
// let areaNameList: any[] = []; // let areaNameList: any[] = [];
// console.log(res.data) // console.log(res.data)
// res.data.forEach((item: { areaName: string; id: string; }) => { // res.data.forEach((item: { areaName: string; id: string; }) => {
// const tempDetail = { label: '', value: '', }; // const tempDetail = { label: '', value: '', };
// tempDetail.label = item.areaName; // tempDetail.label = item.areaName;
// tempDetail.value = item.id; // tempDetail.value = item.id;
// areaNameList.push(tempDetail); // areaNameList.push(tempDetail);
// }) // })
let areaNameList = {}; let areaNameList = {};
setAreaList(res.data); setAreaList(res.data);
//将拿到的返回值遍历 //将拿到的返回值遍历
res.data.map((item: { id: string | number; areaName: any; })=>{ res.data.map((item: { id: string | number; areaName: any }) => {
//使用接口返回值的id做为 代替原本的01 //使用接口返回值的id做为 代替原本的01
areaNameList[item.id]={ areaNameList[item.id] = {
//使用接口返回值中的overdueValue属性作为原本的text:后面的值 //使用接口返回值中的overdueValue属性作为原本的text:后面的值
text: item.areaName, text: item.areaName,
} };
}) });
setAreaNameList(areaNameList) setAreaNameList(areaNameList);
} }
}) });
}; };
//查看预约 //查看预约
const viewMeet = (id: any) => { const viewMeet = (id: any) => {
setMeetId(id); setMeetId(id);
setModalVisible(true); setModalVisible(true);
} };
/** /**
* 取消预约 * 取消预约
* @param record * @param record
*/ */
const cancel = async (record: any) => { const cancel = async (record: any) => {
cancelReserve(record.id).then((res) => {
cancelReserve(record.id).then(res => {
if (res.code == 200 && res.data) { if (res.code == 200 && res.data) {
message.success('预约取消成功'); message.success('预约取消成功');
} }
@ -121,6 +128,14 @@ const Index: React.FC<{}> = () => {
search: false, search: false,
width: '10%', width: '10%',
}, },
{
title: '状态',
dataIndex: 'status',
width: '10%',
valueType: 'select',
valueEnum: statusEnum,
search: true,
},
{ {
title: '操作', title: '操作',
width: '7%', width: '7%',
@ -128,7 +143,15 @@ const Index: React.FC<{}> = () => {
render: (text: any, record: any) => { render: (text: any, record: any) => {
return ( return (
<> <>
<Button hidden={ record.status > 0 } type="text" onClick={() => cancel(record)} danger> <Button type="text" onClick={() => viewMeet(record.id)} danger>
</Button>
<Button
hidden={record.status > 0 && record.timeOut == '1'}
type="text"
onClick={() => cancel(record)}
danger
>
</Button> </Button>
</> </>
@ -196,135 +219,151 @@ const Index: React.FC<{}> = () => {
width: '7%', width: '7%',
search: false, search: false,
render: (text: any, record: any) => { render: (text: any, record: any) => {
return ( return (
<> <>
<Button type="text" onClick={() => viewMeet(record.id)} danger> <Button type="text" onClick={() => viewMeet(record.id)} danger>
</Button> </Button>
<Button hidden={ record.status > 0 } type="text" onClick={() => cancel(record)} danger> <Button
hidden={record.status > 0 && record.timeOut == '1'}
type="text"
onClick={() => cancel(record)}
danger
>
</Button> </Button>
</> </>
); );
}, },
}, },
]; ];
return ( return (
<> <>
<Card title="预约管理"> <Card title="预约管理">
<Tabs defaultActiveKey="1"> <Tabs defaultActiveKey="1">
<TabPane tab="评标预约" key="1"> <TabPane tab="评标预约" key="1">
{areaNameList && <ProTable {areaNameList && (
actionRef={checkRelationRef} <ProTable
className="proSearch" actionRef={checkRelationRef}
columns={columns} className="proSearch"
params={{ reserveType: 'eval' }} columns={columns}
size="small" params={{ reserveType: 'eval' }}
request={async (params) => size="small"
await reserveList(params).then((res) => { request={async (params) =>
if (res.code == 200) { await reserveList(params).then((res) => {
let data = res.data; if (res.code == 200) {
return Promise.resolve({ let data = res.data;
data: data.records, return Promise.resolve({
success: res.success, data: data.records,
total: res.data.total, success: res.success,
current: res.data.current, total: res.data.total,
}); current: res.data.current,
}
return Promise.resolve({
data: [],
success: false,
total: 0,
current: 1,
});
})
}
search={{
filterType: 'query',
optionRender: (searchConfig: any, { form }) => {
return [
<Button
key="resetText"
onClick={() => {
form?.setFieldsValue({
current: 1,
}); });
form?.submit(); }
}} return Promise.resolve({
> data: [],
{searchConfig?.resetText} success: false,
</Button>, total: 0,
<Button current: 1,
key="searchText" });
type="primary" })
onClick={() => {
form?.submit();
}}
>
{searchConfig?.searchText}
</Button>,
];
},
labelWidth: 'auto',
span: 4,
}}
pagination={{
defaultCurrent: isNotEmpty(current) ? Number(current) : 1,
defaultPageSize: 10,
showSizeChanger: false,
}} //默认显示条数
toolBarRender={false}
/>}
</TabPane>
<TabPane tab="会议预约" key="2">
{areaNameList && <ProTable
className="proSearch"
columns={otherColumns}
params={{ reserveType: 'meeting' }}
size="small"
search={{
labelWidth: 'auto',
span: 4,
}}
request={async (params) =>
await reserveList(params).then((res) => {
if (res.code == 200) {
let data = res.data;
return Promise.resolve({
data: data.records,
success: res.success,
total: res.data.total,
current: res.data.current,
});
} }
return Promise.resolve({ search={{
data: [], filterType: 'query',
success: false, optionRender: (searchConfig: any, { form }) => {
total: 0, return [
current: 1, <Button
}); key="resetText"
}) onClick={() => {
} form?.setFieldsValue({
pagination={{ current: 1,
defaultCurrent: isNotEmpty(current) ? Number(current) : 1, });
defaultPageSize: 10, form?.submit();
showSizeChanger: false, }}
}} //默认显示条数 >
toolBarRender={false} {searchConfig?.resetText}
/>} </Button>,
</TabPane> <Button
</Tabs> key="searchText"
{modalVisible && <MeetingReservation modalVisible={modalVisible} onCancel={() => { setModalVisible(false); }} roomList={areaList} status={'2'} meetId={meetId} onSubmit={() => { setModalVisible(false); setRefresh(refresh => refresh + 1) }} />} type="primary"
onClick={() => {
form?.submit();
}}
>
{searchConfig?.searchText}
</Button>,
];
},
labelWidth: 'auto',
span: 4,
}}
pagination={{
defaultCurrent: isNotEmpty(current) ? Number(current) : 1,
defaultPageSize: 10,
showSizeChanger: false,
}} //默认显示条数
toolBarRender={false}
/>
)}
</TabPane>
<TabPane tab="会议预约" key="2">
{areaNameList && (
<ProTable
className="proSearch"
columns={otherColumns}
params={{ reserveType: 'meeting' }}
size="small"
search={{
labelWidth: 'auto',
span: 4,
}}
request={async (params) =>
await reserveList(params).then((res) => {
if (res.code == 200) {
let data = res.data;
return Promise.resolve({
data: data.records,
success: res.success,
total: res.data.total,
current: res.data.current,
});
}
return Promise.resolve({
data: [],
success: false,
total: 0,
current: 1,
});
})
}
pagination={{
defaultCurrent: isNotEmpty(current) ? Number(current) : 1,
defaultPageSize: 10,
showSizeChanger: false,
}} //默认显示条数
toolBarRender={false}
/>
)}
</TabPane>
</Tabs>
{modalVisible && (
<MeetingReservation
modalVisible={modalVisible}
onCancel={() => {
setModalVisible(false);
}}
roomList={areaList}
status={'2'}
meetId={meetId}
onSubmit={() => {
setModalVisible(false);
setRefresh((refresh) => refresh + 1);
}}
/>
)}
</Card> </Card>
</> </>
); );
}; };
export default Index export default Index