123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- <!-- 检索列表页 - 职位检索 -->
- <template>
- <div class="default-width">
- <div style="width: 100%; height: 20px;"></div>
- <v-card style="z-index: 998">
- <div class="stickyBox my-5">
- <headSearch></headSearch>
- </div>
- <cityFilter class="mx-5 mb-3"></cityFilter>
- <conditionFilter class="mx-5 mb-5"></conditionFilter>
- </v-card>
- <div class="d-flex mt-5">
- <div class="mr-3">
- <PositionLongStrip :items="items"></PositionLongStrip>
- </div>
- <div>右侧列表</div>
- </div>
- <CtPagination
- v-if="total > 0"
- :total="total"
- :page="pageInfo.pageNo"
- :limit="pageInfo.pageSize"
- @handleChange="handleChangePage"
- ></CtPagination>
- </div>
- </template>
- <script setup>
- import cityFilter from './components/cityFilter'
- import conditionFilter from './components/conditionFilter'
- import headSearch from '@/components/headSearch'
- import PositionLongStrip from '@/components/PositionLongStrip/item.vue'
- import { getJobAdvertisedSearch } from '@/api/position'
- import CtPagination from '@/components/CtPagination'
- // import { dealDictData } from '@/views/recruit/position/components/dict'
- import { ref } from 'vue'
- import { useRoute } from 'vue-router'
- defineOptions({name: 'retrieval-position-page'})
- const route = useRoute()
- console.log('to:/recruit/position-> query', route.query)
- const pageInfo = { pageNo: 1, pageSize: 20}
- const items = ref([])
- const total = ref(0)
- // 测试数据
- const test = {
- job: {
- id: 1,
- pos: "广州",
- name: "测试数据",
- positionId: 1,
- payFrom: 5000,
- payTo: 12000,
- payUnit: 1,
- areaId: 110000,
- expType: 0,
- eduType: 0,
- tagList: [
- "无经验要求",
- "金融产品",
- ]
- },
- enterprise: {
- id: 1,
- name: "广州门墩儿科技有限公司",
- anotherName: "门墩儿科技",
- industryId: 1,
- scale: 0,
- financingStatus: 0,
- logoUrl: "https://img.bosszhipin.com/beijin/mcs/chatphoto/20171009/8b09998594701c82c6d9932c6f5d3ea293cf1c0a52480018916865cbf3ed2c2f.jpg?x-oss-process=image/resize,w_120,limit_0",
- tags: [ "培训/辅导机构", "天使轮", "100-499人"],
- tags1: [ '就近分配', '室内清洁', '系统接单', '无需坐班', '日常保洁', '简单易上手', '日常保洁', '简单易上手'],
- welfareList: ['周末双休', '五险一金', '包餐', '节日福利', '员工旅游', '定期体检', '全勤奖', '带薪年假,年底双薪等福利多多']
- },
- contact: {
- enterpriseId: 1,
- userId: 1,
- avatar: "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fsafe-img.xhscdn.com%2Fbw1%2F5bbef4cc-6268-46d9-87b3-3aa7d2168aad%3FimageView2%2F2%2Fw%2F1080%2Fformat%2Fjpg&refer=http%3A%2F%2Fsafe-img.xhscdn.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1718339519&t=6ff0d47abd90d209ca81b671e898deb8",
- name: "ces女士",
- status: 1,
- postNameCn: "人事经理",
- postNameEn: "uman resources",
- postCode: "HR"
- }
- }
- // 测试数据
- // 职位搜索
- const getPositionList = async () => {
- const pageReqVO = {
- ...pageInfo,
- content: '', // 搜索内容,示例值(xx科技/xx经理)
- areaIds: [], //工作地区id集合,示例值([])
- expType: 0, // 工作经验(menduner_exp_type),示例值(1)
- eduType: 0, // 学历要求(menduner_education_type),示例值(1)
- payType: 0, // 薪酬待遇范围(menduner_pay_scope),示例值(12)
- jobType: 0, // 求职类型(menduner_job_type),示例值(2)
- positionId: 0, // 职位类型,示例值(2)
- enterpriseType: 0, // 企业类型(menduner_enterprise_type)
- industryIds: [], // 行业信息id集合,示例值([])
- scale: 0, // 人员规模(0-20人,20-99人)示例值(1)
- financingStatus: 0 // 融资阶段(未融资,天使轮,A轮,不需要融资),示例值(1)
- }
- const res = await getJobAdvertisedSearch({ pageReqVO })
- // items.value = res.list
- items.value = [...res.list, test]
- total.value = res.total
- }
- getPositionList()
- const handleChangePage = (index) => {
- pageInfo.pageNo = index
- getPositionList()
- }
- </script>
|