flat: 优化,还是使用原生Tabbar,empty优化

This commit is contained in:
Apcallover
2025-11-30 14:08:16 +08:00
parent 63d0cdb5ad
commit 0dec1618fa
23 changed files with 229 additions and 105 deletions

View File

@@ -1,13 +1,13 @@
<template>
<view class="collection-content">
<renderDeliveryRecord
<renderDeliveryRecord
v-if="pageState.list.length"
seeDate="applyTime"
:list="pageState.list"
:longitude="longitudeVal"
:latitude="latitudeVal">
</renderDeliveryRecord>
<empty v-else pdTop="200"></empty>
:latitude="latitudeVal"
></renderDeliveryRecord>
<empty v-else :is-position="true"></empty>
</view>
</template>
@@ -75,7 +75,8 @@ function getJobList(type = 'add') {
.collection-content{
padding: 1rpx 28rpx 20rpx 28rpx;
background: #F4F4F4;
height: 100%
height: 100%;
min-height: calc(100vh - var(--window-top) - var(--status-bar-height) - var(--window-bottom));
position: relative;
}
</style>

View File

@@ -62,7 +62,7 @@
:longitude="longitudeVal"
:latitude="latitudeVal"
></renderJobs>
<empty v-else pdTop="200"></empty>
<empty v-else :is-position="true"></empty>
</view>
</scroll-view>
</view>
@@ -96,7 +96,7 @@ onLoad((options) => {
console.log(options);
dataType.value = options.dataType ? parseInt(options.dataType) : 1;
pageOptions.value = options;
if (dataType.value === 2) {
// 第三方数据
getCompanyInfo(options.companyId, options.zphId);
@@ -170,7 +170,7 @@ function getJobsList(type = 'add') {
function getThirdPartyJobsList(type = 'add') {
const { companyId, companyName, zphId } = pageOptions.value;
if (type === 'refresh') {
pageState.current = 1;
pageState.maxPage = 1;
@@ -178,16 +178,18 @@ function getThirdPartyJobsList(type = 'add') {
if (type === 'add' && pageState.current < pageState.maxPage) {
pageState.current += 1;
}
let params = {
current: pageState.current,
pageSize: pageState.pageSize,
};
$api.createRequest(`/app/internal/jobThirdPart?gsID=${companyId}&gsmc=${companyName}&zphID=${zphId}`, params).then((resData) => {
const { rows, total } = resData;
handleJobsListResponse(type, rows, total, 'current');
});
$api.createRequest(`/app/internal/jobThirdPart?gsID=${companyId}&gsmc=${companyName}&zphID=${zphId}`, params).then(
(resData) => {
const { rows, total } = resData;
handleJobsListResponse(type, rows, total, 'current');
}
);
}
function getOriginalJobsList(type = 'add') {
@@ -198,12 +200,12 @@ function getOriginalJobsList(type = 'add') {
if (type === 'add' && pageState.page < pageState.maxPage) {
pageState.page += 1;
}
let params = {
current: pageState.page,
pageSize: pageState.pageSize,
};
$api.createRequest(`/app/company/job/${companyInfo.value.companyId}`, params).then((resData) => {
const { rows, total } = resData;
handleJobsListResponse(type, rows, total, 'page');
@@ -322,6 +324,8 @@ image {
background: #F4F4F4;
.views{
padding: 28rpx
min-height: calc(100% - 56rpx)
position: relative
.Detail-title{
font-weight: 600;
font-size: 32rpx;
@@ -402,4 +406,4 @@ image {
}
}
}
</style>
</style>

View File

@@ -24,15 +24,14 @@
</view>
<scroll-view scroll-y class="main-scroll" @scrolltolower="getJobList('add')">
<view class="one-cards">
<renderJobViewRecord
:list="pageState.list"
v-if="pageState.list.length"
:longitude="longitudeVal"
:latitude="latitudeVal"
></renderJobViewRecord>
<empty v-else pdTop="200"></empty>
<!-- <loadmore ref="loadmoreRef"></loadmore> -->
<renderJobViewRecord
:list="pageState.list"
v-if="pageState.list.length"
:longitude="longitudeVal"
:latitude="latitudeVal"
></renderJobViewRecord>
<empty v-else></empty>
<!-- <loadmore ref="loadmoreRef"></loadmore> -->
</view>
</scroll-view>
</view>
@@ -87,8 +86,6 @@ function toSelectDate() {
});
}
function searchCollection(e) {
const value = e.detail.value;
pageState.search.jobTitle = value;
@@ -216,6 +213,6 @@ image {
.one-cards{
padding: 0 20rpx 20rpx 20rpx;
background: #f4f4f4
height: 100%
}
</style>
</style>

View File

@@ -27,7 +27,7 @@
:longitude="longitudeVal"
:latitude="latitudeVal"
></renderCompanys>
<empty v-else pdTop="200"></empty>
<empty v-else is-position></empty>
</view>
</AppLayout>
</template>
@@ -151,6 +151,8 @@ image {
}
.main-list{
background-color: #F4F4F4;
padding: 1rpx 28rpx 28rpx 28rpx
padding: 1rpx 28rpx 28rpx 28rpx;
min-height: calc(100% - 29rpx);
position: relative
}
</style>

View File

@@ -26,7 +26,7 @@
:longitude="longitudeVal"
:latitude="latitudeVal"
></renderJobCollectionRecord>
<empty v-else pdTop="200"></empty>
<empty v-else></empty>
</view>
</scroll-view>
</swiper-item>
@@ -44,7 +44,7 @@
:longitude="longitudeVal"
:latitude="latitudeVal"
></renderCompanyCollectionRecord>
<empty v-else pdTop="200"></empty>
<empty v-else></empty>
</view>
</scroll-view>
</swiper-item>
@@ -262,6 +262,7 @@ function getCompanyList(type = 'add') {
.swiper{
height: 100%
.mian{
height: 100%
padding: 0 28rpx 28rpx 28rpx
}
}

View File

@@ -83,7 +83,7 @@
:longitude="longitudeVal"
:latitude="latitudeVal"
></renderCompanysOutData>
<empty v-else pdTop="200"></empty>
<empty v-else is-position></empty>
</view>
</scroll-view>
</view>
@@ -433,6 +433,8 @@ image {
background: #F4F4F4;
.views{
padding: 28rpx
min-height: calc(100% - 56rpx);
position: relative
.Detail-title{
font-weight: 600;
font-size: 32rpx;

View File

@@ -12,10 +12,19 @@
</view>
</view>
<view class="main">
<scroll-view scroll-y>
<scroll-view class="height-100" scroll-y>
<view v-if="pageState.list.length">
<view class="card" v-for="(item, index) in pageState.list" :key="index">
<view @click="navTo('/packageA/pages/exhibitors/exhibitors?jobFairId=' + item.zphID + '&jobFairName=' + item.zphmc)">
<view
@click="
navTo(
'/packageA/pages/exhibitors/exhibitors?jobFairId=' +
item.zphID +
'&jobFairName=' +
item.zphmc
)
"
>
<view class="card-row">
<Countdown :startTime="item.zphjbsj" :endTime="item.zphjzsj" />
</view>
@@ -37,7 +46,7 @@
</view>
</view>
</view>
<empty v-else pdTop="200"></empty>
<empty v-else></empty>
</scroll-view>
</view>
</view>
@@ -72,7 +81,7 @@ const ranOptions = ref([
]);
function isTimePassed(timeStr) {
if(!timeStr) return false
if (!timeStr) return false;
const targetTime = new Date(timeStr.replace(/-/g, '/')).getTime(); // 兼容格式
const now = Date.now();
return now < targetTime;
@@ -95,16 +104,14 @@ function updateCancel(item) {
content: '确定要取消预约吗?',
showCancel: true,
success: ({ confirm, cancel }) => {
if(confirm){
$api.createRequest(`/app/fair/collection/${fairId}`, {}, 'DELETE').then((resData) => {
if (confirm) {
$api.createRequest(`/app/fair/collection/${fairId}`, {}, 'DELETE').then((resData) => {
getList('refresh');
$api.msg('取消预约成功');
});
}
}
})
},
});
}
function getList(type = 'add', loading = true) {
@@ -178,7 +185,7 @@ function getList(type = 'add', loading = true) {
display: flex
align-items: center
}
}
.card-Title{
font-family: 'PingFangSC-Medium', 'PingFang SC', 'Helvetica Neue', Helvetica, Arial, 'Microsoft YaHei', sans-serif;