|
|
@@ -10,6 +10,8 @@ export interface EnterpriseItem {
|
|
|
account_id: string;
|
|
|
name: string;
|
|
|
short_name?: string;
|
|
|
+ status?: string;
|
|
|
+ [key: string]: any;
|
|
|
}
|
|
|
|
|
|
export const useEnterpriseStore = defineStore("enterprise", {
|
|
|
@@ -20,38 +22,48 @@ export const useEnterpriseStore = defineStore("enterprise", {
|
|
|
|
|
|
getters: {
|
|
|
getEnterpriseList(state) {
|
|
|
- if (state.enterpriseList.length > 0) {
|
|
|
- return state.enterpriseList;
|
|
|
- }
|
|
|
- return JSON.parse(sessionStorage.getItem(ENTERPRISE_LIST_KEY) || "[]");
|
|
|
+ // if (state.enterpriseList.length > 0) {
|
|
|
+ // return state.enterpriseList;
|
|
|
+ // }
|
|
|
+ // return JSON.parse(sessionStorage.getItem(ENTERPRISE_LIST_KEY) || "[]");
|
|
|
+ return state.enterpriseList || [];
|
|
|
},
|
|
|
getCurrentEnterprise(state) {
|
|
|
+ // if (state.currentEnterprise) {
|
|
|
+ // return state.currentEnterprise;
|
|
|
+ // }
|
|
|
+ // const currentEnterpriseJson = sessionStorage.getItem(CURRENT_ENTERPRISE_KEY);
|
|
|
+ // if (currentEnterpriseJson) {
|
|
|
+ // return JSON.parse(currentEnterpriseJson);
|
|
|
+ // }
|
|
|
+ // return null;
|
|
|
+ // 如果当前有选中的企业,直接返回
|
|
|
if (state.currentEnterprise) {
|
|
|
return state.currentEnterprise;
|
|
|
}
|
|
|
- const currentEnterpriseJson = sessionStorage.getItem(CURRENT_ENTERPRISE_KEY);
|
|
|
- if (currentEnterpriseJson) {
|
|
|
- return JSON.parse(currentEnterpriseJson);
|
|
|
+ // 如果没有选中的企业,返回列表中的第一个企业
|
|
|
+ if (state.enterpriseList && state.enterpriseList.length > 0) {
|
|
|
+ return state.enterpriseList[0];
|
|
|
}
|
|
|
return null;
|
|
|
},
|
|
|
- hasEnterprise() {
|
|
|
- return this.getEnterpriseList.length > 0;
|
|
|
+ hasEnterprise(state) {
|
|
|
+ return state.enterpriseList && state.enterpriseList.length > 0;
|
|
|
},
|
|
|
},
|
|
|
|
|
|
actions: {
|
|
|
async fetchEnterpriseList() {
|
|
|
try {
|
|
|
- const res = await EnterpriseAPI.list(1, 100);
|
|
|
- const list = res.data.data?.items || [];
|
|
|
-
|
|
|
+ const res = await EnterpriseAPI.all();
|
|
|
+ const list = res.data.data || [];
|
|
|
return list.map((item: any) => ({
|
|
|
enterprise_id: item.enterprise_id,
|
|
|
account_id: item.account_id,
|
|
|
name: item.name,
|
|
|
short_name: item.short_name,
|
|
|
- ...item,
|
|
|
+ status: item.status,
|
|
|
+ // ...item,
|
|
|
}));
|
|
|
} catch (error) {
|
|
|
console.error("获取企业列表失败:", error);
|
|
|
@@ -60,24 +72,30 @@ export const useEnterpriseStore = defineStore("enterprise", {
|
|
|
|
|
|
async loadEnterpriseList() {
|
|
|
// 先从sessionStorage获取企业列表,避免重复请求
|
|
|
- const enterpriseListJson = sessionStorage.getItem(ENTERPRISE_LIST_KEY);
|
|
|
- if (enterpriseListJson) {
|
|
|
- this.enterpriseList = JSON.parse(enterpriseListJson);
|
|
|
- } else {
|
|
|
+ // const enterpriseListJson = sessionStorage.getItem(ENTERPRISE_LIST_KEY);
|
|
|
+ // if (enterpriseListJson) {
|
|
|
+ // this.enterpriseList = JSON.parse(enterpriseListJson);
|
|
|
+ // } else {
|
|
|
+ // this.enterpriseList = (await this.fetchEnterpriseList()) || [];
|
|
|
+ // if (this.enterpriseList.length > 0) {
|
|
|
+ // sessionStorage.setItem(ENTERPRISE_LIST_KEY, JSON.stringify(this.enterpriseList));
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ if (!this.enterpriseList || this.enterpriseList.length == 0) {
|
|
|
this.enterpriseList = (await this.fetchEnterpriseList()) || [];
|
|
|
- if (this.enterpriseList.length > 0) {
|
|
|
- sessionStorage.setItem(ENTERPRISE_LIST_KEY, JSON.stringify(this.enterpriseList));
|
|
|
- }
|
|
|
+ console.log("this.enterpriseList:", this.enterpriseList);
|
|
|
}
|
|
|
},
|
|
|
|
|
|
setCurrentEnterprise(enterpriseId: string) {
|
|
|
- this.currentEnterprise =
|
|
|
- this.getEnterpriseList.find((e: EnterpriseItem) => e.enterprise_id === enterpriseId) ||
|
|
|
- null;
|
|
|
- if (this.currentEnterprise) {
|
|
|
- sessionStorage.setItem(CURRENT_ENTERPRISE_KEY, JSON.stringify(this.currentEnterprise));
|
|
|
- }
|
|
|
+ // this.currentEnterprise =
|
|
|
+ // this.getEnterpriseList.find((e: EnterpriseItem) => e.enterprise_id === enterpriseId) ||
|
|
|
+ // null;
|
|
|
+ // if (this.currentEnterprise) {
|
|
|
+ // sessionStorage.setItem(CURRENT_ENTERPRISE_KEY, JSON.stringify(this.currentEnterprise));
|
|
|
+ // }
|
|
|
+ this.currentEnterprise =
|
|
|
+ this.enterpriseList.find((e: EnterpriseItem) => e.enterprise_id === enterpriseId) || null;
|
|
|
},
|
|
|
|
|
|
clearEnterprise() {
|