feat: 第二阶段核心业务模块(CRM/房务/护理/月子餐)
后端: - 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个业务页面(线索/客户/合同/渠道/投诉/房型/房间/预定/护理档案/护理计划/护理记录/菜品/排餐)
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
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)
|
||||
}
|
||||
Reference in New Issue
Block a user