|
@@ -133,69 +133,55 @@ const pageInfo = ref({
|
|
|
pageSize: 10
|
|
|
})
|
|
|
|
|
|
+const loading = ref(false)
|
|
|
const total = ref(0)
|
|
|
|
|
|
-// 选择地区
|
|
|
-// const handleMap = () => {
|
|
|
-// // 检测是否登录
|
|
|
-// // 未登录
|
|
|
-// if (!useUserStore.isLogin) {
|
|
|
-// console.log(111)
|
|
|
-// showAuthModal()
|
|
|
-// return
|
|
|
-// }
|
|
|
-// // 已登录
|
|
|
-
|
|
|
-// }
|
|
|
-// 切换同城、最新
|
|
|
-// const handleChoose = (item) => {
|
|
|
-// chooseItem.value = item
|
|
|
-// }
|
|
|
-
|
|
|
const loadingMore = (e) => {
|
|
|
- console.log(total.value, items.length)
|
|
|
+ // console.log(total.value, items.length)
|
|
|
if (total.value === items.length) {
|
|
|
return
|
|
|
}
|
|
|
+ if (loading.value) {
|
|
|
+ return
|
|
|
+ }
|
|
|
pageInfo.value.pageNo++
|
|
|
getList()
|
|
|
}
|
|
|
|
|
|
-// async function getRatio () {}
|
|
|
-
|
|
|
-// async function getDictionaries () {
|
|
|
-
|
|
|
-// const { data } = await getDict('menduner_pay_unit')
|
|
|
-// unitDict.value = data.data
|
|
|
-
|
|
|
-// const { data: _data } = await getDict('menduner_area_type')
|
|
|
-// areaDict.value = _data.data
|
|
|
-// getList()
|
|
|
+// function handleDetails (item) {
|
|
|
+// console.log(item)
|
|
|
// }
|
|
|
|
|
|
-
|
|
|
async function getList () {
|
|
|
- const { data } = await getJobAdvertisedHire({
|
|
|
- ...pageInfo.value
|
|
|
- })
|
|
|
- if (!data?.list) {
|
|
|
+ loading.value = true
|
|
|
+ try {
|
|
|
+ const { data } = await getJobAdvertisedHire({
|
|
|
+ ...pageInfo.value
|
|
|
+ })
|
|
|
+ if (!data?.list) {
|
|
|
+ pageInfo.pageNo--
|
|
|
+ return
|
|
|
+ }
|
|
|
+ const _items = dealDictArrayData([], data.list)
|
|
|
+ items.push(..._items.map(e => {
|
|
|
+ return {
|
|
|
+ job: e,
|
|
|
+ enterprise: {
|
|
|
+ welfareList: e.tagList,
|
|
|
+ logoUrl: e.logoUrl,
|
|
|
+ anotherName: e.anotherName,
|
|
|
+ industryName: e.industryName,
|
|
|
+ scaleName: e.scaleName
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }))
|
|
|
+ total.value = +data.total
|
|
|
+ } catch (error) {
|
|
|
pageInfo.pageNo--
|
|
|
- return
|
|
|
+ } finally {
|
|
|
+ loading.value = false
|
|
|
}
|
|
|
- const _items = dealDictArrayData([], data.list)
|
|
|
- items.push(..._items.map(e => {
|
|
|
- return {
|
|
|
- job: e,
|
|
|
- enterprise: {
|
|
|
- welfareList: e.tagList,
|
|
|
- logoUrl: e.logoUrl,
|
|
|
- anotherName: e.anotherName,
|
|
|
- industryName: e.industryName,
|
|
|
- scaleName: e.scaleName
|
|
|
- }
|
|
|
- }
|
|
|
- }))
|
|
|
- total.value = +data.total
|
|
|
+
|
|
|
}
|
|
|
|
|
|
getList()
|
|
@@ -204,7 +190,7 @@ getList()
|
|
|
<style scoped lang="scss">
|
|
|
$defaultColor: #999;
|
|
|
@mixin box {
|
|
|
- border-radius: 24rpx;
|
|
|
+ // border-radius: 24rpx;
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
background: #FFF;
|
|
@@ -242,7 +228,7 @@ $defaultColor: #999;
|
|
|
padding: 24rpx;
|
|
|
}
|
|
|
&-recommend {
|
|
|
- padding: 24rpx;
|
|
|
+ padding: 0 24rpx;
|
|
|
&-box {
|
|
|
@include box;
|
|
|
&-title {
|