import * as React from 'react';
import { useState, useMemo, useRef } from 'react';
import DrawerPro from '@/components/DrawerPro';
import AutoTable from '@/components/AutoTable';
import PremButton from '@/components/PremButton';
import getcolumns from './columns';
import { useRequest } from 'ahooks';
import { doFetch,getFetch } from '@/utils/doFetch';
import { ExportOutlined, ImportOutlined } from '@ant-design/icons';
import dayjs from 'dayjs';
import { Modal, message } from 'antd';
function Port(props) {
const actionRef = useRef(),
formRef = useRef(),
formRefs = useRef();
const [drawer, setdrawer] = useState({
open: false,
});
const [selectedRowKeys, onChange] = useState([]);
const pathconfig = useMemo(() => {
let pathconf = getcolumns(setdrawer)?.pathconfig ?? {};
return pathconf;
}, []);
const { run, loading } = useRequest(doFetch, {
manual: true,
onSuccess: (res, params) => {
if (res?.code == '0000') {
actionRef?.current?.reload();
setdrawer((s) => ({
...s,
open: false,
}));
}
},
});
const detail = (text, row, _, action) => {
return (
{
setdrawer((s) => ({
...s,
open: true,
item: row,
title: '详情',
val: 'detail',
title: '详细信息',
}));
},
}}
>
详情
);
};
const edit = (text, row, _, action) => {
return (
{
setdrawer((s) => ({
...s,
open: true,
item: row,
title: '编辑',
val: 'edit',
}));
},
}}
>
编辑
);
};
const remove = (text, row, _, action) => {
return (
{
run({ url: pathconfig?.delete + "/" + row?.id, params: {}, method: "DELETE" });
},
}}
btn={{
size: 'small',
type: 'text',
danger:true
}}
>
删除
);
};
const columns = useMemo(() => {
let defcolumn = getcolumns(setdrawer)?.columns;
return defcolumn.concat({
title: '操作',
valueType: 'option',
width: 150,
render: (text, row, _, action) => [
pathconfig?.enabledetail && detail(text, row, _, action),
pathconfig?.enableedit && edit(text, row, _, action),
pathconfig?.enabledelete && remove(text, row, _, action),
],
});
}, []);
return (
{
return (
);
}}
addconfig={{
// access: 'sysDepartment_save',
btn: {
disabled: false,
onClick: () => {
setdrawer((s) => ({
...s,
open: true,
item: null,
title: '新增',
val: 'add',
}));
},
},
}}
importconfig={{
btn: {
disabled: false,
type:"primary",
icon: ,
onClick: () => {
setdrawer((s) => ({
...s,
open: true,
item: null,
title: '导入',
val: 'import',
importurl:'/webtool/v1/storebulkCreate',
refresh:() => {
actionRef?.current?.reload();
}
}));
},
},
}}
exportconfig={{
btn: {
disabled: false,
type:"primary",
icon: ,
ghost:true,
onClick: () => {
let search = formRefs?.current?.getFieldsValue();
if(search?.date){
search.date = search.date?.map(it=>dayjs(it).format("YYYY-MM-DD")).toString();
}
getFetch({
url: '/webtool/v1/storeexport',
params: {
...search,
filename: `报单${dayjs().format("YYYY-MM-DD HH:mm:ss")}`,
},
});
},
},
}}
/>
{
setdrawer((s) => ({
...s,
open: false,
}));
}}
{...drawer}
onFinish={(vals) => {
if (drawer?.val == 'add') {
run({ url: pathconfig?.add, params: { ...vals } });
} else if (drawer?.val == 'edit') {
run({ url: pathconfig?.edit + "/" + drawer?.item?.id, params: { ...vals }, method: "PUT" });
}
}}
/>
);
}
export default Port;