33 lines
897 B
TypeScript
33 lines
897 B
TypeScript
import { ref } from 'vue';
|
||
import { List as TenantList } from '@/api/imTenant';
|
||
|
||
export const policyTenantOptions = ref<any[]>([{ label: '全局默认', value: 0 }]);
|
||
|
||
export async function loadPolicyTenantOptions(includeGlobal = true) {
|
||
const res = await TenantList({ page: 1, perPage: 100 });
|
||
const tenants = (res?.list || []).map((item) => ({
|
||
label: `${item.name}(${item.code})`,
|
||
value: item.id,
|
||
}));
|
||
policyTenantOptions.value = includeGlobal
|
||
? [{ label: '全局默认', value: 0 }, ...tenants]
|
||
: tenants;
|
||
return policyTenantOptions.value;
|
||
}
|
||
|
||
export function parseJSON(value: string, fallback: any) {
|
||
try {
|
||
return value ? JSON.parse(value) : fallback;
|
||
} catch {
|
||
return fallback;
|
||
}
|
||
}
|
||
|
||
export function stringifyJSON(value: any, fallback = '{}') {
|
||
try {
|
||
return JSON.stringify(value ?? JSON.parse(fallback));
|
||
} catch {
|
||
return fallback;
|
||
}
|
||
}
|