import { computed, reactive, ref } from 'vue' import { initialRequests } from '../data/requests.js' export function useRequests() { const requests = ref(initialRequests) const search = ref('') const filters = reactive({ entity: '全部主体', category: '全部费用', risk: '全部风险' }) const ranges = ['今日', '本周', '本月'] const activeRange = ref('今日') const filteredRequests = computed(() => { const key = search.value.trim().toLowerCase() return requests.value.filter((item) => { const matchesSearch = !key || `${item.id}${item.person}${item.category}${item.risk}`.toLowerCase().includes(key) const matchesCategory = filters.category === '全部费用' || item.category.includes(filters.category.replace('交通', '')) const matchesRisk = filters.risk === '全部风险' || (filters.risk === '高风险' ? item.status === 'danger' : item.verdict.includes(filters.risk.replace('低风险', '通过'))) return matchesSearch && matchesCategory && matchesRisk }) }) function approveRequest(request) { request.verdict = '已通过' request.status = 'success' return `${request.id} 已标记为通过,审计日志已更新。` } function rejectRequest(request) { request.verdict = '已退回补件' request.status = 'danger' return `${request.id} 已退回,系统将通知申请人补充材料。` } return { requests, search, filters, ranges, activeRange, filteredRequests, approveRequest, rejectRequest } }