// 模拟合同数据 const mockContracts = [ { id: 1, contract_no: 'HT-2025-001', contract_name: '蜜雪冰城加盟合同', type: '加盟合同', party_a: '蜜雪冰城股份有限公司', party_b: '张三', sign_date: '2025-01-15', start_date: '2025-02-01', end_date: '2028-01-31', amount: 300000, status: '生效中', remark: '三年期加盟合同', create_time: '2025-01-15 10:30:00' }, { id: 2, contract_no: 'HT-2025-002', contract_name: '原材料供货合同', type: '供货合同', party_a: '蜜雪冰城股份有限公司', party_b: '李四', sign_date: '2025-03-10', start_date: '2025-04-01', end_date: '2026-03-31', amount: 50000, status: '生效中', remark: '年度供货协议', create_time: '2025-03-10 09:15:00' }, { id: 3, contract_no: 'HT-2024-010', contract_name: '门店租赁合同', type: '租赁合同', party_a: '蜜雪冰城股份有限公司', party_b: '王五', sign_date: '2024-06-20', start_date: '2024-07-01', end_date: '2025-06-30', amount: 120000, status: '已到期', remark: '已续签', create_time: '2024-06-20 14:20:00' }, { id: 4, contract_no: 'HT-2025-003', contract_name: '设备维护服务合同', type: '服务合同', party_a: '蜜雪冰城股份有限公司', party_b: '赵六', sign_date: '2025-05-01', start_date: '2025-05-15', end_date: '2026-05-14', amount: 15000, status: '待审批', remark: '', create_time: '2025-05-01 11:00:00' } ] // 模拟网络延迟 const delay = (ms = 300) => new Promise(r => setTimeout(r, ms)) // Mock API export const mockContractAPI = { // 获取列表 async getList(params = {}) { await delay() let result = [...mockContracts] // 关键词搜索 if (params.keyword) { const keyword = params.keyword.toLowerCase() result = result.filter(item => item.contract_no.toLowerCase().includes(keyword) || item.contract_name.toLowerCase().includes(keyword) || item.party_b.toLowerCase().includes(keyword) ) } // 合同类型筛选 if (params.type) { result = result.filter(item => item.type === params.type) } // 日期范围筛选(按签订日期) if (params.startDate && params.endDate) { const start = new Date(params.startDate) const end = new Date(params.endDate) result = result.filter(item => { const signDate = new Date(item.sign_date) return signDate >= start && signDate <= end }) } // 状态筛选 if (params.status) { result = result.filter(item => item.status === params.status) } return { code: 200, data: result, total: result.length } }, // 获取详情 async getDetail(id) { await delay() const contract = mockContracts.find(item => item.id === id) if (contract) { return { code: 200, data: contract } } return { code: 404, message: '合同不存在' } }, // 新增 async create(data) { await delay() const newContract = { id: Date.now(), ...data, create_time: new Date().toISOString().replace('T', ' ').slice(0, 19) } mockContracts.push(newContract) return { code: 200, data: newContract, message: '新增成功' } }, // 更新 async update(id, data) { await delay() const index = mockContracts.findIndex(item => item.id === id) if (index !== -1) { mockContracts[index] = { ...mockContracts[index], ...data } return { code: 200, data: mockContracts[index], message: '更新成功' } } return { code: 404, message: '合同不存在' } }, // 删除 async delete(id) { await delay() const index = mockContracts.findIndex(item => item.id === id) if (index !== -1) { mockContracts.splice(index, 1) return { code: 200, message: '删除成功' } } return { code: 404, message: '合同不存在' } } }