zksu
/
WEB
forked from yoone/WEB
1
0
Fork 0
WEB/src/pages/Logistics/Services/index.tsx

111 lines
2.8 KiB
TypeScript

import {
logisticscontrollerGetservicelist,
logisticscontrollerSyncservices,
logisticscontrollerToggleactive,
} from '@/servers/api/logistics';
import {
ActionType,
PageContainer,
ProColumns,
ProFormSwitch,
ProTable,
} from '@ant-design/pro-components';
import { App, Button } from 'antd';
import { useRef } from 'react';
const ListPage: React.FC = () => {
const actionRef = useRef<ActionType>();
const { message } = App.useApp();
const columns: ProColumns<API.Service>[] = [
{
title: '服务商 ID',
dataIndex: 'id',
hideInSearch: true,
},
{
title: '运营商名称',
dataIndex: 'carrier_name',
},
{
title: '服务商名称',
dataIndex: 'service_name',
hideInSearch: true,
},
{
title: '启用',
dataIndex: 'isActive',
valueType: 'switch',
render(_, record) {
return (
<ProFormSwitch
fieldProps={{
checked: record.isActive,
onChange: async (value) => {
try {
const { success } = await logisticscontrollerToggleactive({
id: record.id,
isActive: value,
});
if (!success) {
throw new Error('启动失败');
}
actionRef.current?.reload();
} catch (e: any) {
message.error(e?.message || '启动失败');
}
},
}}
/>
);
},
},
];
return (
<PageContainer ghost>
<ProTable
headerTitle="查询表格"
actionRef={actionRef}
rowKey="id"
toolBarRender={() => [
// <Button
// key="syncSite"
// type="primary"
// onClick={async () => {
// try {
// const { success } = await logisticscontrollerSyncservices();
// if (!success) {
// throw new Error('同步失败');
// }
// actionRef.current?.reload();
// } catch (e: any) {
// message.error(e?.message || '同步失败');
// }
// }}
// >
// 同步服务商
// </Button>,
]}
request={async (values) => {
console.log(values);
const { data, success } = await logisticscontrollerGetservicelist(
values,
);
if (success) {
return {
total: data?.total || 0,
data: data?.items || [],
};
}
return {
data: [],
};
}}
columns={columns}
/>
</PageContainer>
);
};
export default ListPage;