后端: - 4个迁移文件新增23张业务表 - 23个Eloquent Model(含关联/类型转换/门店隔离) - 20个Controller(含CRUD+业务操作: 合同审核/入住退房/护理异常处理等) - 110+条API路由(crm/room/care/meal四大前缀) 前端: - 4个API模块(crm.js/room.js/care.js/meal.js) - 13个业务页面(线索/客户/合同/渠道/投诉/房型/房间/预定/护理档案/护理计划/护理记录/菜品/排餐)
62 lines
3.7 KiB
JavaScript
62 lines
3.7 KiB
JavaScript
import request from '@/utils/request.js'
|
|
|
|
// ─── Channels ─────────────────────────────────────────────────────────────────
|
|
export const channelApi = {
|
|
getList: (params) => request.get('/crm/channels', { params }),
|
|
getDetail: (id) => request.get(`/crm/channels/${id}`),
|
|
create: (data) => request.post('/crm/channels', data),
|
|
update: (id, data) => request.put(`/crm/channels/${id}`, data),
|
|
delete: (id) => request.delete(`/crm/channels/${id}`)
|
|
}
|
|
|
|
// ─── Leads ────────────────────────────────────────────────────────────────────
|
|
export const leadApi = {
|
|
getList: (params) => request.get('/crm/leads', { params }),
|
|
getDetail: (id) => request.get(`/crm/leads/${id}`),
|
|
create: (data) => request.post('/crm/leads', data),
|
|
update: (id, data) => request.put(`/crm/leads/${id}`, data),
|
|
delete: (id) => request.delete(`/crm/leads/${id}`),
|
|
follow: (id, data) => request.post(`/crm/leads/${id}/follow`, data),
|
|
assign: (id, data) => request.put(`/crm/leads/${id}/assign`, data)
|
|
}
|
|
|
|
// ─── Customers ────────────────────────────────────────────────────────────────
|
|
export const customerApi = {
|
|
getList: (params) => request.get('/crm/customers', { params }),
|
|
getDetail: (id) => request.get(`/crm/customers/${id}`),
|
|
create: (data) => request.post('/crm/customers', data),
|
|
update: (id, data) => request.put(`/crm/customers/${id}`, data),
|
|
delete: (id) => request.delete(`/crm/customers/${id}`)
|
|
}
|
|
|
|
// ─── Contracts ────────────────────────────────────────────────────────────────
|
|
export const contractApi = {
|
|
getList: (params) => request.get('/crm/contracts', { params }),
|
|
getDetail: (id) => request.get(`/crm/contracts/${id}`),
|
|
create: (data) => request.post('/crm/contracts', data),
|
|
update: (id, data) => request.put(`/crm/contracts/${id}`, data),
|
|
delete: (id) => request.delete(`/crm/contracts/${id}`),
|
|
audit: (id, data) => request.put(`/crm/contracts/${id}/audit`, data)
|
|
}
|
|
|
|
// ─── Questionnaires ───────────────────────────────────────────────────────────
|
|
export const questionnaireApi = {
|
|
getList: (params) => request.get('/crm/questionnaires', { params }),
|
|
getDetail: (id) => request.get(`/crm/questionnaires/${id}`),
|
|
create: (data) => request.post('/crm/questionnaires', data),
|
|
update: (id, data) => request.put(`/crm/questionnaires/${id}`, data),
|
|
delete: (id) => request.delete(`/crm/questionnaires/${id}`),
|
|
submitAnswer: (data) => request.post('/crm/questionnaire-answers', data),
|
|
getAnswers: (params) => request.get('/crm/questionnaire-answers', { params })
|
|
}
|
|
|
|
// ─── Complaints ───────────────────────────────────────────────────────────────
|
|
export const complaintApi = {
|
|
getList: (params) => request.get('/crm/complaints', { params }),
|
|
getDetail: (id) => request.get(`/crm/complaints/${id}`),
|
|
create: (data) => request.post('/crm/complaints', data),
|
|
update: (id, data) => request.put(`/crm/complaints/${id}`, data),
|
|
delete: (id) => request.delete(`/crm/complaints/${id}`),
|
|
handle: (id, data) => request.put(`/crm/complaints/${id}/handle`, data)
|
|
}
|