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 = () => [ , ]; 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 && }
{ invoiceId && 开票项目 }
) }