|
@@ -6,39 +6,34 @@ import commonPath from './conditionFilter/commonPath.vue'
|
|
|
// 当type是tree类型的数据的时候需要提供dictType
|
|
|
const dictList = [
|
|
|
{
|
|
|
- displayDictName: 'menduner_area_type',
|
|
|
- apiType: 'areaList',
|
|
|
- key: 'areaIds',
|
|
|
+ toFilterDictName: 'menduner_area_type',
|
|
|
+ toFilterApiType: 'areaList',
|
|
|
+ displayDictName: 'areaTreeData',
|
|
|
+ displayApiType: 'areaTreeData',
|
|
|
+ displayParams: {},
|
|
|
+ key: 'cityId_1',
|
|
|
+ cityLevel: 1,
|
|
|
itemKey: 'id',
|
|
|
itemText: 'name',
|
|
|
- title: '工作地点',
|
|
|
- path: commonPath,
|
|
|
- data: []
|
|
|
- },
|
|
|
- {
|
|
|
- displayDictName: 'menduner_area_type',
|
|
|
- apiType: 'areaList',
|
|
|
- key: 'areaIds',
|
|
|
- itemKey: 'id',
|
|
|
- itemText: 'name',
|
|
|
- title: '工作地点',
|
|
|
+ title: '工作城市',
|
|
|
+ isSingle: true,
|
|
|
path: commonPath,
|
|
|
- data: []
|
|
|
+ toFilterDictDataList: []
|
|
|
},
|
|
|
{
|
|
|
toFilterDictName: 'menduner_industry_type',
|
|
|
- apiType: 'industryList',
|
|
|
+ toFilterApiType: 'industryList',
|
|
|
key: 'industryIds',
|
|
|
isSlot: true,
|
|
|
itemKey: 'id',
|
|
|
itemText: 'nameCn',
|
|
|
title: '行业类型',
|
|
|
path: commonPath,
|
|
|
- data: []
|
|
|
+ toFilterDictDataList: []
|
|
|
},
|
|
|
{
|
|
|
toFilterDictName: 'positionData',
|
|
|
- apiType: 'positionData',
|
|
|
+ toFilterApiType: 'positionData',
|
|
|
key: 'positionId',
|
|
|
isSlot: true,
|
|
|
itemKey: 'id',
|
|
@@ -46,7 +41,7 @@ const dictList = [
|
|
|
title: '职位类型',
|
|
|
isSingle: true,
|
|
|
path: commonPath,
|
|
|
- data: []
|
|
|
+ toFilterDictDataList: []
|
|
|
},
|
|
|
{
|
|
|
displayDictName: 'menduner_job_type',
|
|
@@ -55,7 +50,7 @@ const dictList = [
|
|
|
itemText: 'label',
|
|
|
title: '求职类型',
|
|
|
path: commonPath,
|
|
|
- data: []
|
|
|
+ toFilterDictDataList: []
|
|
|
},
|
|
|
{
|
|
|
displayDictName: 'menduner_exp_type',
|
|
@@ -64,7 +59,7 @@ const dictList = [
|
|
|
itemText: 'label',
|
|
|
title: '工作经验',
|
|
|
path: commonPath,
|
|
|
- data: []
|
|
|
+ toFilterDictDataList: []
|
|
|
},
|
|
|
{
|
|
|
displayDictName: 'menduner_pay_scope',
|
|
@@ -73,9 +68,8 @@ const dictList = [
|
|
|
itemText: 'label',
|
|
|
title: '薪资待遇',
|
|
|
isSingle: true,
|
|
|
- isString: true,
|
|
|
path: commonPath,
|
|
|
- data: []
|
|
|
+ toFilterDictDataList: []
|
|
|
},
|
|
|
{
|
|
|
displayDictName: 'menduner_education_type',
|
|
@@ -84,7 +78,7 @@ const dictList = [
|
|
|
itemText: 'label',
|
|
|
title: '学历要求',
|
|
|
path: commonPath,
|
|
|
- data: []
|
|
|
+ toFilterDictDataList: []
|
|
|
},
|
|
|
{
|
|
|
displayDictName: 'menduner_scale',
|
|
@@ -93,7 +87,7 @@ const dictList = [
|
|
|
itemText: 'label',
|
|
|
title: '公司规模',
|
|
|
path: commonPath,
|
|
|
- data: []
|
|
|
+ toFilterDictDataList: []
|
|
|
},
|
|
|
{
|
|
|
displayDictName: 'menduner_financing_status',
|
|
@@ -102,7 +96,7 @@ const dictList = [
|
|
|
itemText: 'label',
|
|
|
title: '融资阶段',
|
|
|
path: commonPath,
|
|
|
- data: []
|
|
|
+ toFilterDictDataList: []
|
|
|
},
|
|
|
]
|
|
|
export const filterList = dictList
|
|
@@ -111,8 +105,9 @@ export const filterList = dictList
|
|
|
const getDictList = async () => {
|
|
|
dictList.forEach(async (dictListItem) => {
|
|
|
const toFilterDictName = dictListItem.toFilterDictName || dictListItem.displayDictName
|
|
|
- const { data } = await getDict(toFilterDictName, dictListItem.params, dictListItem.apiType)
|
|
|
- dictListItem.data = data
|
|
|
+ if (!toFilterDictName) return
|
|
|
+ const { data } = await getDict(toFilterDictName, dictListItem.params, dictListItem.toFilterApiType)
|
|
|
+ dictListItem.toFilterDictDataList = data
|
|
|
})
|
|
|
}
|
|
|
|
|
@@ -121,13 +116,15 @@ const getData = async () => {
|
|
|
}
|
|
|
getData()
|
|
|
|
|
|
-export const getItemObj = ({ key, ids = [] }) => {
|
|
|
- const item = dictList.find(dictListItem => dictListItem.key === key)
|
|
|
+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?.data?.length) return ''
|
|
|
- const obj = item.data.find(e => e[item.itemKey] === 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, ref: item.ref } : ''
|
|
|
+ return checkedItems?.length ? { key, title: item.title, checkedItems } : ''
|
|
|
}
|