import { getDict } from '@/hooks/web/useDictionaries' import commonPath from './conditionFilter/commonPath.vue' // import areaType from './conditionFilter/areaType.vue' // toFilterDictName: 查数据回显(一维数组字典),dictShow: 用户操作的字典(用户看到的数据) // 当type是tree类型的数据的时候需要提供dictType const dictList = [ // { // toFilterDictName: 'menduner_area_type', // toFilterApiType: 'areaList', // displayDictName: 'areaTreeData', // displayApiType: 'areaTreeData', // displayParams: {}, // key: 'cityId_1', // cityLevel: 1, // itemKey: 'id', // itemText: 'name', // title: '工作城市', // isSingle: true, // path: commonPath, // toFilterDictDataList: [] // }, { toFilterDictName: 'menduner_area_type', toFilterApiType: 'areaList', key: 'city', isSlot: true, itemKey: 'id', itemText: 'nameCn', title: '工作城市', path: commonPath, toFilterDictDataList: [] }, { toFilterDictName: 'menduner_industry_type', toFilterApiType: 'industryList', key: 'industryIds', isSlot: true, itemKey: 'id', itemText: 'nameCn', title: '行业类型', path: commonPath, toFilterDictDataList: [] }, { toFilterDictName: 'positionData', toFilterApiType: 'positionData', key: 'positionId', isSlot: true, itemKey: 'id', itemText: 'nameCn', title: '职位类型', isSingle: true, path: commonPath, toFilterDictDataList: [] }, { displayDictName: 'menduner_job_type', key: 'jobType', itemKey: 'value', itemText: 'label', title: '求职类型', path: commonPath, toFilterDictDataList: [] }, { displayDictName: 'menduner_exp_type', key: 'expType', itemKey: 'value', itemText: 'label', title: '工作经验', path: commonPath, toFilterDictDataList: [] }, { displayDictName: 'menduner_pay_scope', key: 'payScope', itemKey: 'value', itemText: 'label', title: '薪资待遇', isSingle: true, path: commonPath, toFilterDictDataList: [] }, { displayDictName: 'menduner_education_type', key: 'eduType', itemKey: 'value', itemText: 'label', title: '学历要求', path: commonPath, toFilterDictDataList: [] }, { displayDictName: 'menduner_scale', key: 'scale', itemKey: 'value', itemText: 'label', title: '公司规模', path: commonPath, toFilterDictDataList: [] }, { displayDictName: 'menduner_financing_status', key: 'financingStatus', itemKey: 'value', itemText: 'label', title: '融资阶段', path: commonPath, toFilterDictDataList: [] }, ] export const filterList = dictList // 字典 const getDictList = async () => { dictList.forEach(async (dictListItem) => { const toFilterDictName = dictListItem.toFilterDictName || dictListItem.displayDictName if (!toFilterDictName) return const { data } = await getDict(toFilterDictName, dictListItem.params, dictListItem.toFilterApiType) dictListItem.toFilterDictDataList = data }) } const getData = async () => { await getDictList() } getData() export const getItemObj = ({ key, ids = [], dictArr = [] }) => { if (!dictArr?.length) dictArr = dictList // const item = dictArr.find(dictListItem => dictListItem.key === key) const checkedItems = ids.map(id => { if (!item?.toFilterDictDataList?.length) return '' const obj = item.toFilterDictDataList.find(e => e[item.itemKey] === id) return obj ? { text: obj[item.itemText], value: obj[item.itemKey] } : '' }).filter(Boolean) return checkedItems?.length ? { key, title: item.title, checkedItems } : '' }