|
|
@@ -0,0 +1,246 @@ |
|
|
|
import { PlusOutlined } from '@ant-design/icons'; |
|
|
|
import { Modal,Button, message, Input, Drawer } from 'antd'; |
|
|
|
import React, { useState, useRef } from 'react'; |
|
|
|
import { PageContainer, FooterToolbar } from '@ant-design/pro-layout'; |
|
|
|
import ProTable from '@ant-design/pro-table'; |
|
|
|
import QRCode from 'qrcode.react'; |
|
|
|
import ProDescriptions from '@ant-design/pro-descriptions'; |
|
|
|
import CreateForm from './components/CreateForm'; |
|
|
|
import { Getstorestaffpage, Addstorestaff, Updatestorestaff, Delstorestaff, } from "./services" |
|
|
|
|
|
|
|
const key = 'message'; |
|
|
|
|
|
|
|
//添加 |
|
|
|
const handleAdd = async (fields) => { |
|
|
|
try { |
|
|
|
message.loading('正在添加', key); |
|
|
|
await Addstorestaff(JSON.stringify(fields)).then((r) => { |
|
|
|
message.destroy(key); |
|
|
|
if (r.data) { |
|
|
|
message.success('添加成功'); |
|
|
|
return true; |
|
|
|
} else { |
|
|
|
message.error('添加失败'); |
|
|
|
return false; |
|
|
|
} |
|
|
|
}); |
|
|
|
} catch (error) { |
|
|
|
message.error('添加失败请重试!'); |
|
|
|
return false; |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
//修改 |
|
|
|
const handleUpdate = async (fields) => { |
|
|
|
try { |
|
|
|
message.loading('正在修改', key); |
|
|
|
message.destroy(key); |
|
|
|
await Updatestorestaff(JSON.stringify(fields)).then((r) => { |
|
|
|
message.destroy(key); |
|
|
|
if (r.data) { |
|
|
|
message.success('修改成功',); |
|
|
|
return true; |
|
|
|
} else { |
|
|
|
message.error('修改失败'); |
|
|
|
return false; |
|
|
|
} |
|
|
|
}); |
|
|
|
} catch (error) { |
|
|
|
message.error('修改失败请重试!'); |
|
|
|
return false; |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
//删除 |
|
|
|
const handleRemove = async (selectedRows) => { |
|
|
|
try { |
|
|
|
message.loading('正在删除'); |
|
|
|
let ids = []; |
|
|
|
selectedRows.forEach((item) => { |
|
|
|
ids.push(item.id); |
|
|
|
}); |
|
|
|
await Delstorestaff(ids).then((r) => { |
|
|
|
if (r.data) { |
|
|
|
message.success('删除成功'); |
|
|
|
return true; |
|
|
|
} else { |
|
|
|
message.error('删除失败'); |
|
|
|
return false; |
|
|
|
} |
|
|
|
}); |
|
|
|
} catch (error) { |
|
|
|
message.error('删除失败请重试!'); |
|
|
|
return false; |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
const GoodsTypeManage = () => { |
|
|
|
/** 新建/更新窗口的弹窗 */ |
|
|
|
const [createModalVisible, handleModalVisible] = useState(false); |
|
|
|
/** 分布更新窗口的弹窗 */ |
|
|
|
|
|
|
|
const [showDetail, setShowDetail] = useState(false); |
|
|
|
const actionRef = useRef(); |
|
|
|
const [currentRow, setCurrentRow] = useState(); |
|
|
|
const [selectedRowsState, setSelectedRows] = useState([]); |
|
|
|
/** 国际化配置 */ |
|
|
|
|
|
|
|
const columns = [ |
|
|
|
{ |
|
|
|
title: '主键', |
|
|
|
dataIndex: 'id', |
|
|
|
hideInSearch: true, |
|
|
|
hideInTable: true, |
|
|
|
tip: '规则名称是唯一的 key' |
|
|
|
}, |
|
|
|
{ |
|
|
|
title: '名称', |
|
|
|
dataIndex: 'name', |
|
|
|
valueType: 'textarea', |
|
|
|
search: false, |
|
|
|
|
|
|
|
}, |
|
|
|
{ |
|
|
|
title: '电话', |
|
|
|
dataIndex: 'phone', |
|
|
|
valueType: 'textarea', |
|
|
|
search: false, |
|
|
|
}, |
|
|
|
{ |
|
|
|
title: '职工编号', |
|
|
|
dataIndex: 'number', |
|
|
|
valueType: 'textarea', |
|
|
|
search: false, |
|
|
|
}, |
|
|
|
{ |
|
|
|
title: '状态', |
|
|
|
dataIndex: 'status', |
|
|
|
hideInForm: true, |
|
|
|
search: false, |
|
|
|
valueEnum: { |
|
|
|
0: { text: '正常', status: 'Processing' }, |
|
|
|
1: { text: '停用', status: 'Success' }, |
|
|
|
2: { text: '删除', status: 'Error' }, |
|
|
|
}, |
|
|
|
}, |
|
|
|
{ |
|
|
|
title: '创建时间', |
|
|
|
dataIndex: 'createAt', |
|
|
|
hideInForm: true, |
|
|
|
search: false, |
|
|
|
}, |
|
|
|
{ |
|
|
|
title: '操作', |
|
|
|
dataIndex: 'option', |
|
|
|
valueType: 'option', |
|
|
|
render: (_, record) => [ |
|
|
|
<a |
|
|
|
key="config" |
|
|
|
onClick={() => { |
|
|
|
handleModalVisible(true); |
|
|
|
setCurrentRow(record); |
|
|
|
}} > 更新</a> |
|
|
|
], |
|
|
|
}, |
|
|
|
]; |
|
|
|
|
|
|
|
return ( |
|
|
|
<PageContainer> |
|
|
|
<ProTable |
|
|
|
headerTitle="店铺类型" |
|
|
|
actionRef={actionRef} |
|
|
|
rowKey="id" |
|
|
|
search={{ |
|
|
|
labelWidth: 120, |
|
|
|
}} |
|
|
|
toolBarRender={() => [ |
|
|
|
<Button |
|
|
|
type="primary" |
|
|
|
key="primary" |
|
|
|
onClick={() => { |
|
|
|
handleModalVisible(true); |
|
|
|
}} > |
|
|
|
<PlusOutlined /> 新建 |
|
|
|
</Button>, |
|
|
|
]} |
|
|
|
request={async (params) => { |
|
|
|
var data = []; |
|
|
|
var total = 0; |
|
|
|
await Getstorestaffpage(params).then((r) => { |
|
|
|
data = r.data.data; |
|
|
|
total = r.data.total; |
|
|
|
}); |
|
|
|
return { |
|
|
|
data: data, |
|
|
|
success: true, |
|
|
|
total: total, |
|
|
|
}; |
|
|
|
}} |
|
|
|
columns={columns} |
|
|
|
rowSelection={{ |
|
|
|
onChange: (_, selectedRows) => { |
|
|
|
setSelectedRows(selectedRows); |
|
|
|
}, |
|
|
|
}} |
|
|
|
/> |
|
|
|
{selectedRowsState?.length > 0 && ( |
|
|
|
<FooterToolbar |
|
|
|
extra={ |
|
|
|
<div> |
|
|
|
已选择{' '} |
|
|
|
<a |
|
|
|
style={{ |
|
|
|
fontWeight: 600, |
|
|
|
}} |
|
|
|
> |
|
|
|
{selectedRowsState.length} |
|
|
|
</a>{' '} |
|
|
|
项 |
|
|
|
{/* <span> |
|
|
|
服务调用次数总计 {selectedRowsState.reduce((pre, item) => pre + item.id, 0)} 万 |
|
|
|
</span> */} |
|
|
|
</div> |
|
|
|
} |
|
|
|
> |
|
|
|
<Button |
|
|
|
onClick={async () => { |
|
|
|
await handleRemove(selectedRowsState); |
|
|
|
setSelectedRows([]); |
|
|
|
actionRef.current?.reloadAndRest?.(); |
|
|
|
}} |
|
|
|
> |
|
|
|
删除 |
|
|
|
</Button> |
|
|
|
{/* <Button type="primary">批量审批</Button> */} |
|
|
|
</FooterToolbar> |
|
|
|
)} |
|
|
|
|
|
|
|
|
|
|
|
<CreateForm |
|
|
|
onFinish={async (value) => { |
|
|
|
var success = false; |
|
|
|
if (value.id) { |
|
|
|
success = handleUpdate(value); |
|
|
|
} else { |
|
|
|
success = handleAdd(value); |
|
|
|
} |
|
|
|
if (success) { |
|
|
|
handleModalVisible(false); |
|
|
|
setCurrentRow(undefined); |
|
|
|
actionRef.current.reload(); |
|
|
|
} |
|
|
|
}} |
|
|
|
onCancel={() => { |
|
|
|
handleModalVisible(false); |
|
|
|
setCurrentRow(undefined); |
|
|
|
}} |
|
|
|
createModalVisible={createModalVisible} |
|
|
|
values={currentRow || {}} |
|
|
|
/> |
|
|
|
</PageContainer> |
|
|
|
); |
|
|
|
}; |
|
|
|
|
|
|
|
export default GoodsTypeManage; |