import { defineStore } from 'pinia'; import { DictionaryStates } from './interface'; import { request } from '../utils/service'; export const urlPrefix = '/api/init/dictionary/' export const BUTTON_VALUE_TO_COLOR_MAPPING: any = { 1: 'success', true: 'success', 0: 'danger', false: 'danger', Search: 'warning', // 查询 Update: 'primary', // 编辑 Create: 'success', // 新增 Retrieve: 'info', // 单例 Delete: 'danger' // 删除 } export function getButtonSettings(objectSettings: any) { return objectSettings.map((item: any) => ({ label: item.label, value: item.value, color: item.color || BUTTON_VALUE_TO_COLOR_MAPPING[item.value] })) } /** * 字典管理数据 * @methods getSystemDictionarys 获取系统字典数据 */ export const DictionaryStore = defineStore('Dictionary', { state: (): DictionaryStates => ({ data: {} }), actions: { async getSystemDictionarys() { request({ url: '/api/init/dictionary/?dictionary_key=all', method: 'get', }).then((ret: { data: [] }) => { // 转换数据格式并保存到pinia let dataList = ret.data dataList.forEach((item: any) => { let childrens = item.children this.data[item.value] = childrens }) }) }, }, });