import { getCategoryList } from './../service' import { ref } from 'vue' import { defineStore } from 'pinia' import type { Category, CategoryRootType } from '@/type' export const useCategoryStore = defineStore('category', () => { const list = ref<CategoryRootType[]>([]) const selectedCategory = ref('') // 选中的一级类别 const selectedSubCategory = ref('') // 选中的二级类别 const selectedFuncCategory = ref('') let resetFuncValue = '' let resetCategoryValue = '' const getList = () => { getCategoryList().then((res) => { const rootList = res.data?.data?.rootCategoryList list.value = rootList || [] resetCategoryValue = selectedCategory.value = rootList[0].categoryDisplayName selectedSubCategory.value = rootList[0].list[0].id resetFuncValue = selectedFuncCategory.value = rootList[0].productFunctions[0].id }) } const updateCategory = (value: string) => { console.log('%c [ value ]-25', 'font-size:13px; background:pink; color:#bf2c9f;', value) selectedCategory.value = value updateFuncCategory(value === resetCategoryValue ? resetFuncValue : '') } const updateSubCategory = (value: string) => { selectedSubCategory.value = value } const updateFuncCategory = (value?: string) => { selectedFuncCategory.value = value || '' } return { list, selectedCategory, selectedSubCategory, selectedFuncCategory, resetCategoryValue, getList, updateCategory, updateSubCategory, updateFuncCategory } })