This commit is contained in:
2025-03-22 00:01:11 +08:00
commit 2920a8d602
155 changed files with 11347 additions and 0 deletions

View File

@@ -0,0 +1,82 @@
import { RecordType } from '@/components/Stars/interface';
import { StarModel } from '@/components/Stars/StarModel';
import StarTable from '@/components/Stars/StarTable';
import { StarTableProps } from '@/components/Stars/StarTable/interface';
import { observer } from 'mobx-react';
import { useEffect } from 'react';
const PageTable = (
props: StarTableProps & {
model: StarModel;
defaultParams?: RecordType;
defaultOrders?: RecordType;
onLoading?: () => void;
},
) => {
const {
model,
model: {
data: { page: data },
params: { page: params },
},
columns,
defaultParams,
defaultOrders,
onLoading,
onQueryClick,
...rest
} = props;
/**
* 页面初始化加载数据
*/
useEffect(() => {
onLoading ? onLoading!() : model.page({ page: 1, size: 10, params: defaultParams, orders: defaultOrders });
}, []);
const ds = data && data.data ? data.data.map((d: any) => ({ key: d.id, ...d })) : [];
return (
<StarTable
columns={columns}
dataSource={ds}
pagination={{
pageSize: data.size,
current: data.page,
total: data.total,
}}
onQueryClick={(values: RecordType) => {
params.page = 1;
params.params = { ...defaultParams };
for (const key of Object.keys(values)) {
if (values[key] !== undefined && values[key] !== null && values[key] !== '') {
params.params[key] = values[key];
}
}
model.page(params);
onQueryClick && onQueryClick(values);
}}
onPageChanged={(page, size) => {
params.page = page;
params.size = size;
model.page(params);
}}
onRemoveClick={async (v) => {
await model.remove(v);
model.page(params);
}}
onSaveClick={async (values: any, mode) => {
if (mode === 'add') await model.add(values);
else await model.update(values);
model.page(params);
}}
operation
toolbar
autoForm
autoQuery
{...rest}
/>
);
};
const ObserverPageTable = observer(PageTable);
export default ObserverPageTable;