import request from '@/utils/request' // 字典类型常量 (前端统一引用,避免拼写错误) export const DICT_TYPE = { DEPARTMENT: 'department', // 科室 TITLE: 'title' // 医生职称 } /** * 拉取某类型字典的启用项 (匿名可访问) * @param {string} type - DICT_TYPE.* * @returns {Promise<{value: number, label: string, raw: object}[]>} * - value: deptId/titleId * - label: name * - raw: 完整字段 (含 sort/status/...) */ export async function getActiveDict(type) { const url = `/business/dict/${type}/active` const r = await request({ url, method: 'get' }) const raw = r.data || r || [] const idField = type === DICT_TYPE.DEPARTMENT ? 'deptId' : 'titleId' return raw.map(item => ({ value: item[idField], label: item.name, raw: item })) } // ===== 管理员维护接口 ===== export function listDepartments(query) { return request({ url: '/business/dict/department/list', method: 'get', params: query }) } export function addDepartment(data) { return request({ url: '/business/dict/department', method: 'post', data }) } export function updateDepartment(data) { return request({ url: '/business/dict/department', method: 'put', data }) } export function deleteDepartments(ids) { return request({ url: `/business/dict/department/${ids}`, method: 'delete' }) } export function listTitles(query) { return request({ url: '/business/dict/title/list', method: 'get', params: query }) } export function addTitle(data) { return request({ url: '/business/dict/title', method: 'post', data }) } export function updateTitle(data) { return request({ url: '/business/dict/title', method: 'put', data }) } export function deleteTitles(ids) { return request({ url: `/business/dict/title/${ids}`, method: 'delete' }) }