import React, { useState, useRef, useImperativeHandle, forwardRef } from 'react';
import { Form, Input, Button, Modal, message, Popconfirm, Radio } from 'antd';
import { getInvoiceDetailList, updateInvoiceDetail, deleteInvoiceDetail } from '@/services/invoiceDetail'
import { getExport } from '@/services/invoiceFill'
import PageTable from '@/components/PageTable';
const FormItem = Form.Item;
const formItemLayout = { labelCol: { span: 6 }, wrapperCol: { span: 14 } };
export default forwardRef((props, ref) => {
const { invoiceId } = props
const [form] = Form.useForm();
const [editModal, setEditModal] = useState(false);
const [modelLoading, setModelLoading] = useState(false);
const [invoiceDetail, setInvoiceDetail] = useState()
const actionRef = useRef();
//弹窗保存
const Submit = (val) => {
updateInvoiceDetail(invoiceId, { ...invoiceDetail, ...val }).then((res) => {
message.success('修改成功')
setModelLoading(false)
refrash()
onCancel()
}).catch((err) => {
setModelLoading(false);
message.error(err.message || err);
});
}
// 弹窗关闭
const onCancel = () => {
setEditModal(false);
setInvoiceDetail()
form.resetFields()
}
const showModel = (value) => {
form.setFieldsValue({ ...value, name: value.itemName, mergeRemark: value.mergeRemark || 0 })
setInvoiceDetail({ ...value, name: value.itemName, mergeRemark: value.mergeRemark || 0 })
setEditModal(true);
}
const refrash = () => {
actionRef.current.reload()
}
useImperativeHandle(ref, () => ({
refrash
}))
const handleDelete = (val) => {
deleteInvoiceDetail(val.invoiceId,val.invoiceItemId).then(res => {
message.success('删除成功')
refrash()
}).catch((err) => {
message.error(err.message || err);
});
}
const columns = [
{
title: '姓名',
dataIndex: 'personName',
key: 'personName',
},
{
title: '项目',
dataIndex: 'itemName',
key: 'itemName',
},
{
title: '开票金额',
dataIndex: 'charge',
key: 'charge',
search: false
},
{
title: '操作',
valueType: 'option',
render: (_, record) => [
,
handleDelete(record)}
okText="确定"
cancelText="取消"
>
,
],
},
];
return (
<>
(record, index)}
expfunc={getExport}
invoiceId={invoiceId}
options={false}
search={false}
params={{ invoiceId }}
/>
>
)
})