import React, { useState, useRef, useEffect, useMemo } from 'react';
import { history } from 'umi';
import { Form, Input, Popconfirm, Select, Button, Modal, InputNumber, message, Col, Row, DatePicker } from 'antd';
import { PlusOutlined } from '@ant-design/icons';
import moment from 'moment';
import locale from 'antd/es/date-picker/locale/zh_CN';
import PageTable from '@/components/PageTable';
import { saveInvoiceFill, updateInvoiceFill, getInvoiceFillDetail } from '@/services/invoiceFill'
import { saveInvoiceItemTpl, getInvoiceItemTplList, deleteInvoiceItemTpl } from '@/services/invoiceItemTpl'
import QRCode from './QRCode'
const FormItem = Form.Item;
const { Option } = Select;
const formItemLayout = { labelCol: { span: 6 }, wrapperCol: { span: 14 } };
const goBack = () => {
history.goBack();
};
export default (props) => {
const { invoiceId } = props
const [form] = Form.useForm();
const dateFormat = "YYYY-MM-DD HH:mm";
const [loading, setLoading] = useState(false);
const [formModel] = Form.useForm();
const [formData, setFormData] = useState()
const [editModal, setEditModal] = useState(false);
const [modelLoading, setModelLoading] = useState(false);
const actionRef = useRef();
const qrcodeText = useMemo(() =>
'http://h5.njyunzhi.com/state-grid/invoice-filling-h5/index.html?invoiceId=' +
invoiceId,
[invoiceId]
)
//保存班次
const onSubmit = (data) => {
var newData = { ...data, endDate: moment(data.endDate) };
setLoading(true);
if (invoiceId) {
updateInvoiceFill(invoiceId, newData)
.then(() => {
setLoading(false);
message.success('数据更新成功');
goBack();
})
.catch((err) => {
setLoading(false);
message.error(err.message || err);
});
} else {
saveInvoiceFill(newData)
.then((res) => {
setLoading(false);
message.success('数据保存成功');
history.replace(`./edit.jsx?id=${res.invoiceId}`);
})
.catch((err) => {
setLoading(false);
message.error(err.message || err);
});
}
};
//开票项目弹窗保存
const Submit = (val) => {
setModelLoading(true);
saveInvoiceItemTpl(val, invoiceId).then(res => {
message.success('添加成功')
setModelLoading(false)
actionRef.current.reload()
onCancel();
}).catch((err) => {
setModelLoading(false);
message.error(err.message || err);
});
}
// 弹窗关闭
const onCancel = () => {
setEditModal(false);
formModel.resetFields()
}
//弹起弹窗
const showModel = () => {
setEditModal(true);
}
//删除开票项目
const handleDelete = (invoiceItemTplId) => {
deleteInvoiceItemTpl(invoiceItemTplId).then(res => {
message.success('删除成功')
actionRef.current.reload()
}).catch((err) => {
message.error(err.message || err);
});
}
const actions = () => [
} onClick={showModel}>
新增开票项目
,
];
useEffect(() => {
if (invoiceId) {
getInvoiceFillDetail(invoiceId).then((res) => {
form.setFieldsValue({ ...res, endDate: moment(res.endDate) })
setFormData({ ...res, endDate: moment(res.endDate) })
}).catch((err) => {
message.error(err.message || err);
});
}
}, [invoiceId])
const columns = [
{
title: '开票项目名称',
dataIndex: 'name',
key: 'name',
},
{
title: '开票金额',
dataIndex: 'charge',
key: 'charge',
},
{
title: '操作',
valueType: 'option',
render: (_, record) => [
handleDelete(record.invoiceItemTplId)}
okText="确定"
cancelText="取消"
>
,
],
},
];
return (
<>
{
invoiceId &&
开票项目
}
>
)
}