import type { TransformData } from '#/api'; import { http } from '#/api'; import { fromDict, type DictItem } from '#/api/model/dict'; export namespace DictModel { export type Item = DictItem; } function normalizeDictList(data: unknown): TransformData[] { if (Array.isArray(data)) return data; if (data && typeof data === 'object') { const record = data as TransformData; if (Array.isArray(record.rows)) return record.rows; if (Array.isArray(record.list)) return record.list; if (Array.isArray(record.items)) return record.items; } return []; } /** 按字典编码获取字典项列表 */ export function listDictByCodeMethod(dictCode: string) { return http.get( `/manager/tcmp-pc/dict/list`, { params: { dictCode }, cacheFor: 60_000, transform(data) { return normalizeDictList(data) .map((item) => fromDict(item)) .sort((a, b) => (a.dictSort ?? 0) - (b.dictSort ?? 0)); }, }, ); } /** 机构类型字典(dept_type) */ export function listDeptTypeDictMethod() { return listDictByCodeMethod('dept_type'); } /** 企业类型字典(enterprise_type) */ export function listEnterpriseTypeDictMethod() { return listDictByCodeMethod('enterprise_type'); } /** 流程状态/流程节点字典(proccess_node) */ export function listProcessNodeDictMethod() { return listDictByCodeMethod('proccess_node'); } /** 配送方式字典(delivery_method) */ export function listDeliveryMethodDictMethod() { return listDictByCodeMethod('delivery_method'); } /** 物流公司字典(logistics_company) */ export function listLogisticsCompanyDictMethod() { return listDictByCodeMethod('logistics_company'); } /** 中药剂型字典(zyjx) */ export function listZyjxDictMethod() { return listDictByCodeMethod('zyjx'); } /** 用药途径字典(zy_route) */ export function listZyRouteDictMethod() { return listDictByCodeMethod('zy_route'); } /** 中药特殊煎煮法字典(mat_usage_name) */ export function listMatUsageNameDictMethod() { return listDictByCodeMethod('mat_usage_name'); } /** 物流配送状态字典(express_state) */ export function listExpressStateDictMethod() { return listDictByCodeMethod('express_state'); }