import { request } from '@eciol/request'; import { resolveOptions } from '@eciol/shared'; import { useUserStoreWithOut } from '@/store/modules/user'; enum Api { GetCatToolsOptions = '/system-partner/dict/getcattools', GetTimezoneOptions = '/system-partner/dict/gettimezones', GetPreferredOptions = '/system-partner/dict/getresim', GetMajorOptions = '/system-partner/dict/getmajor', GetDegreeOptions = '/system-partner/dict/getdegree', GetCountryOptions = '/system-partner/dict/getcountrylist', } /** * 获取CAT工具options */ async function getCatToolsOptions() { const res = await request.post({ url: Api.GetCatToolsOptions, }); return resolveOptions(res).filter((item) => item.value !== 15); } /** * 获取时区options */ async function getTimezoneOptions() { const res = await request.post({ url: Api.GetTimezoneOptions, }); return resolveOptions(res, { labelField: 'displayName', valueField: 'id', }); } /** * 获取国家options */ async function getCountryOptions() { const { langIsChinese } = useUserStoreWithOut(); const res = await request.post({ url: Api.GetCountryOptions, }); return resolveOptions(res, { labelField: langIsChinese ? 'countryNameCn' : 'countryName', valueField: 'id', }); } /** * 获取联系方式options */ async function getPreferredOptions() { const res = await request.post({ url: Api.GetPreferredOptions, }); return resolveOptions(res, { labelField: 'imName', valueField: 'id', }); } /** * 获取专业options */ async function getMajorOptions() { const res = await request.post({ url: Api.GetMajorOptions, }); const { langIsChinese } = useUserStoreWithOut(); return resolveOptions(res, { labelField: langIsChinese ? 'zhName' : 'enName', valueField: 'id', }); } /** * 获取学位options */ async function getDegreeOptions() { const res = await request.post({ url: Api.GetDegreeOptions, }); const { langIsChinese } = useUserStoreWithOut(); return resolveOptions(res, { labelField: langIsChinese ? 'degreeNameCn' : 'degreeName', valueField: 'id', }); } export { getCatToolsOptions, getCountryOptions, getDegreeOptions, getMajorOptions, getPreferredOptions, getTimezoneOptions, };