feat: cost CRUD + monthly summary + expiry alerts
Some checks failed
Deploy Admin Frontend / build-and-deploy (push) Failing after 0s
Some checks failed
Deploy Admin Frontend / build-and-deploy (push) Failing after 0s
This commit is contained in:
parent
22e716129e
commit
769d50bf5a
@ -3,7 +3,7 @@ import { useQuery, useQueryClient } from '@tanstack/react-query'
|
||||
import { Card, Row, Col, Statistic, Button, Tag, Space, Typography, App, Table, Modal, Form, Input, Select, DatePicker, InputNumber } from 'antd'
|
||||
import { DollarOutlined, ReloadOutlined, LinkOutlined, PlusOutlined, DeleteOutlined, EditOutlined } from '@ant-design/icons'
|
||||
import { getBilling, type BillingInfo } from '@/services/billing-api'
|
||||
import { getCostSummary, createCost, updateCost, deleteCost, type CostSummary, type CostItem } from '@/services/costs-api'
|
||||
import { getCostSummary, createCost, updateCost, deleteCost as deleteCostApi, type CostSummary, type CostItem } from '@/services/costs-api'
|
||||
import dayjs from 'dayjs'
|
||||
|
||||
const { Text, Title } = Typography
|
||||
@ -43,7 +43,7 @@ function BillingContent() {
|
||||
|
||||
const deleteCost = (item: CostItem) => modal.confirm({
|
||||
title: '删除费用', content: `确定删除「${item.name}」?`, okType: 'danger', okText: '删除',
|
||||
onOk: async () => { await deleteCost(item.id); qc.invalidateQueries({ queryKey: ['costs', 'summary'] }) },
|
||||
onOk: async () => { await deleteCostApi(item.id); qc.invalidateQueries({ queryKey: ['costs', 'summary'] }) },
|
||||
})
|
||||
|
||||
const openEdit = (item: CostItem) => { setEditing(item); form.setFieldsValue({ ...item, purchaseDate: dayjs(item.purchaseDate), expiryDate: item.expiryDate ? dayjs(item.expiryDate) : null }); setModalOpen(true) }
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user