页面提交

This commit is contained in:
FlowerWater
2025-11-29 17:20:17 +08:00
parent 95832a6288
commit 0eb8ac9181
50 changed files with 8471 additions and 63 deletions

125
src/api/finance.ts Normal file
View File

@@ -0,0 +1,125 @@
import { mockCreditLimitList, mockSettlementList, mockWriteOffList } from '@/mock/finance'
import { WriteOffStatus } from '@/typings/mall'
import type { SettlementStatus, WriteOff } from '@/typings/mall'
/**
* 金融相关 API
*/
// 获取信用额度
export function getCreditLimit() {
return new Promise((resolve) => {
setTimeout(() => {
resolve({
code: 0,
data: mockCreditLimitList,
})
}, 300)
})
}
// 获取应结账款列表
export function getSettlementList(params?: {
status?: SettlementStatus
merchantId?: string
}) {
return new Promise((resolve) => {
setTimeout(() => {
let list = [...mockSettlementList]
// 筛选
if (params?.status) {
// 如果查询未结,则包含逾期状态
if (params.status === 'unsettled') {
list = list.filter(item => item.status === 'unsettled' || item.status === 'overdue')
} else {
list = list.filter(item => item.status === params.status)
}
}
if (params?.merchantId) {
list = list.filter(item => item.merchantId === params.merchantId)
}
resolve({
code: 0,
data: list,
})
}, 300)
})
}
// 获取到期订单
export function getDueOrders() {
return new Promise((resolve) => {
setTimeout(() => {
const now = new Date()
// 7天后
const sevenDaysLater = new Date(now.getTime() + 7 * 24 * 60 * 60 * 1000)
// 筛选7天内到期的未结账款包括已逾期
const list = mockSettlementList.filter((item) => {
// 只关注未结和逾期状态
if (item.status !== 'unsettled' && item.status !== 'overdue')
return false
const dueDate = new Date(item.dueDate)
// 只要到期时间在7天内包括过去的时间即已逾期都应该提醒
return dueDate <= sevenDaysLater
})
resolve({
code: 0,
data: list,
})
}, 300)
})
}
// 提交消账申请
export function submitWriteOff(data: {
settlementId: string
amount: number
proof: string[]
remark: string
}) {
return new Promise((resolve) => {
setTimeout(() => {
const newWriteOff: WriteOff = {
id: `writeoff_${Date.now()}`,
settlementId: data.settlementId,
amount: data.amount,
proof: data.proof,
remark: data.remark,
submitTime: new Date().toISOString(),
status: WriteOffStatus.PENDING,
}
// 模拟添加到列表
mockWriteOffList.push(newWriteOff)
resolve({
code: 0,
data: newWriteOff,
message: '提交成功,等待审核',
})
}, 500)
})
}
// 获取消账记录
export function getWriteOffList(settlementId?: string) {
return new Promise((resolve) => {
setTimeout(() => {
let list = [...mockWriteOffList]
if (settlementId) {
list = list.filter(item => item.settlementId === settlementId)
}
resolve({
code: 0,
data: list,
})
}, 300)
})
}