You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
119 lines
3.0 KiB
119 lines
3.0 KiB
import { defineStore } from 'pinia'
|
|
import { store } from '@/store'
|
|
import { getFilter } from '@/api/home/filter'
|
|
import { getConfig } from '@/api/system/user'
|
|
import { asideMap } from "@/config/final";
|
|
import { cloneDeep, isEqual } from "lodash-es";
|
|
|
|
import type { AsideConfig } from '/#/api'
|
|
|
|
export interface ConfigState {
|
|
systemConfig: AsideConfig | null
|
|
customConfig: string[] | null
|
|
asideValue: any
|
|
listKey: number
|
|
searchValue: string
|
|
isAllowDownload: boolean
|
|
timeNum: number
|
|
filterConfig: string[] // 过滤筛选条件
|
|
}
|
|
|
|
export const useFinalStore = defineStore({
|
|
id: 'app-final',
|
|
state: (): ConfigState => ({
|
|
systemConfig: null,
|
|
customConfig: null,
|
|
asideValue: null,
|
|
listKey: 0,
|
|
searchValue: "",
|
|
isAllowDownload: true,
|
|
timeNum: 0,
|
|
filterConfig: [],
|
|
}),
|
|
getters: {
|
|
getSystemConfig(): AsideConfig | null {
|
|
return this.systemConfig
|
|
},
|
|
getCustomConfig(): string[] | null {
|
|
return this.customConfig
|
|
},
|
|
getAsideValue(): any {
|
|
return this.asideValue
|
|
},
|
|
getSearchValue(): any {
|
|
return this.searchValue
|
|
},
|
|
getIsAllowDownload(): any {
|
|
return this.isAllowDownload
|
|
},
|
|
getTimeNum(): any {
|
|
return this.timeNum
|
|
},
|
|
getFilterConfig(): any {
|
|
return this.filterConfig
|
|
},
|
|
},
|
|
actions: {
|
|
setSystemConfig(config: AsideConfig) {
|
|
this.systemConfig = config
|
|
console.log("systemConfig----------", config);
|
|
},
|
|
setAsideValue(value) {
|
|
this.asideValue = value
|
|
},
|
|
setListKey() {
|
|
this.listKey = new Date().getTime()
|
|
},
|
|
setSearchValue(value) {
|
|
this.searchValue = value
|
|
},
|
|
setIsAllowDownload(value) {
|
|
this.isAllowDownload = value
|
|
},
|
|
setTimeNum(value) {
|
|
this.timeNum = value
|
|
},
|
|
// 设置个性化配置
|
|
setCustomConfig(value) {
|
|
this.customConfig = value
|
|
},
|
|
setFilterConfig(value) {
|
|
this.filterConfig = value
|
|
},
|
|
// 获取系统配置信息
|
|
async fetchConfig() {
|
|
const response = await getConfig()
|
|
console.log("response.data----------", response.data);
|
|
this.setSystemConfig(response.data)
|
|
return response.data
|
|
},
|
|
// // 获取终审个性化配置
|
|
// async fetchCustomConfig() {
|
|
// const res = await getFilter(1)
|
|
// const { data } = res
|
|
// const list = data && data.searchcount ? data.searchcount.split(',') : [];
|
|
// console.log("listkey---------------", list);
|
|
// this.customConfig = list
|
|
// return list
|
|
// },
|
|
// 获取终审个性化配置
|
|
async fetchCustomConfig() {
|
|
let list: any = [];
|
|
let tempAsideMap = cloneDeep(asideMap);
|
|
Object.keys(tempAsideMap).map(key => {
|
|
if(!tempAsideMap[key].isDefaultFilter) {
|
|
list.push(key);
|
|
}
|
|
});
|
|
console.log("listkey---------------", list);
|
|
this.customConfig = list
|
|
return list
|
|
},
|
|
},
|
|
})
|
|
|
|
// Need to be used outside the setup
|
|
export function useFinal() {
|
|
return useFinalStore(store)
|
|
}
|