页面提交
This commit is contained in:
125
src/api/finance.ts
Normal file
125
src/api/finance.ts
Normal 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)
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user