| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
 | | import { store } from '@/store'; |  | import { defineStore } from 'pinia'; |  | import * as baseModuleServices from '@/services/api/BaseModule'; |  |   |  | export interface SubModuleState { |  |   subModuleMap: Record<string, API.AllSubModule>; |  | } |  |   |  | export const useSubModuleStore = defineStore({ |  |   id: 'subModule', |  |   state: (): SubModuleState => ({ |  |     subModuleMap: {}, |  |   }), |  |   actions: { |  |     async getCurrentSubModuleList(moduleId: string) { |  |       try { |  |         if (!moduleId) return; |  |   |  |         if (this.subModuleMap[moduleId]) { |  |           return this.subModuleMap[moduleId]; |  |         } |  |   |  |         const subModule = await baseModuleServices.getCurrentSubModuleList( |  |           { moduleId }, |  |           { showLoading: false } |  |         ); |  |         this.subModuleMap[moduleId] = subModule; |  |         return subModule; |  |       } catch (error) { |  |         return { |  |           pageButton: [], |  |           column: [], |  |           dataButton: [], |  |         } as API.AllSubModule; |  |       } |  |     }, |  |     clearSubModule() { |  |       this.subModuleMap = {}; |  |     }, |  |   }, |  | }); |  |   |  | export function useSubModuleStoreHook() { |  |   return useSubModuleStore(store); |  | } | 
 |