123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- 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 } : ''
- }
|