Merge remote-tracking branch 'origin/bin' into media-css
This commit is contained in:
@@ -45,56 +45,59 @@
|
||||
<view class="container-main">
|
||||
<scroll-view scroll-y class="main-scroll" @scrolltolower="handleScrollToLower">
|
||||
<view class="cards">
|
||||
<view
|
||||
class="card press-button"
|
||||
v-for="(item, index) in fairList"
|
||||
:key="index"
|
||||
@click="
|
||||
navTo(
|
||||
'/packageA/pages/exhibitors/exhibitors?jobFairId=' +
|
||||
item.zphID +
|
||||
'&jobFairName=' +
|
||||
item.zphmc
|
||||
)
|
||||
"
|
||||
>
|
||||
<view class="card-title">{{ item.zphmc }}</view>
|
||||
<view class="card-row">
|
||||
<text class="">{{ item.jbf }}</text>
|
||||
<text class="">
|
||||
<!-- <convert-distance
|
||||
<transition-group name="stagger" tag="view" :css="true">
|
||||
<view
|
||||
class="card press-button"
|
||||
v-for="(item, index) in fairList"
|
||||
:key="item.zphID"
|
||||
:style="{ '--i': index }"
|
||||
@click="
|
||||
navTo(
|
||||
'/packageA/pages/exhibitors/exhibitors?jobFairId=' +
|
||||
item.zphID +
|
||||
'&jobFairName=' +
|
||||
item.zphmc
|
||||
)
|
||||
"
|
||||
>
|
||||
<view class="card-title">{{ item.zphmc }}</view>
|
||||
<view class="card-row">
|
||||
<text class="">{{ item.jbf }}</text>
|
||||
<text class="">
|
||||
<!-- <convert-distance
|
||||
:alat="item.latitude"
|
||||
:along="item.longitude"
|
||||
:blat="latitudeVal"
|
||||
:blong="longitudeVal"
|
||||
></convert-distance> -->
|
||||
</text>
|
||||
</view>
|
||||
<view class="card-times">
|
||||
<view class="time-left">
|
||||
<view class="left-date">{{ parseDateTime(item.zphjbsj).time }}</view>
|
||||
<view class="left-dateDay">{{ parseDateTime(item.zphjbsj).date }}</view>
|
||||
</text>
|
||||
</view>
|
||||
<view class="line"></view>
|
||||
<view class="time-center">
|
||||
<view class="center-date">
|
||||
{{ getTimeStatus(item.zphjbsj, item.zphjzsj).statusText }}
|
||||
<view class="card-times">
|
||||
<view class="time-left">
|
||||
<view class="left-date">{{ parseDateTime(item.zphjbsj).time }}</view>
|
||||
<view class="left-dateDay">{{ parseDateTime(item.zphjbsj).date }}</view>
|
||||
</view>
|
||||
<view class="center-dateDay">
|
||||
{{ getHoursBetween(item.zphjbsj, item.zphjzsj) }}小时
|
||||
<view class="line"></view>
|
||||
<view class="time-center">
|
||||
<view class="center-date">
|
||||
{{ getTimeStatus(item.zphjbsj, item.zphjzsj).statusText }}
|
||||
</view>
|
||||
<view class="center-dateDay">
|
||||
{{ getHoursBetween(item.zphjbsj, item.zphjzsj) }}小时
|
||||
</view>
|
||||
</view>
|
||||
<view class="line"></view>
|
||||
<view class="time-right">
|
||||
<view class="left-date">{{ parseDateTime(item.zphjzsj).time }}</view>
|
||||
<view class="left-dateDay">{{ parseDateTime(item.zphjzsj).date }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="line"></view>
|
||||
<view class="time-right">
|
||||
<view class="left-date">{{ parseDateTime(item.zphjzsj).time }}</view>
|
||||
<view class="left-dateDay">{{ parseDateTime(item.zphjzsj).date }}</view>
|
||||
</view>
|
||||
<view class="recommend-card-line"></view>
|
||||
<view class="card-footer">内容简介:{{ item.zphjj }}</view>
|
||||
</view>
|
||||
<view class="recommend-card-line"></view>
|
||||
<view class="card-footer">内容简介:{{ item.zphjj }}</view>
|
||||
</view>
|
||||
</transition-group>
|
||||
</view>
|
||||
<empty v-if="!fairList.length"></empty>
|
||||
<empty v-if="!fairList.length" content="暂时没有结果,下一天也许就有惊喜"></empty>
|
||||
</scroll-view>
|
||||
</view>
|
||||
<!-- <Tabbar :currentpage="1"></Tabbar> -->
|
||||
|
||||
@@ -111,16 +111,16 @@ onHide(() => {
|
||||
paging.value?.handleTouchCancel();
|
||||
if (isDrawerOpen.value) {
|
||||
isDrawerOpen.value = false;
|
||||
// uni.showTabBar();
|
||||
uni.showTabBar();
|
||||
}
|
||||
});
|
||||
|
||||
const toggleDrawer = () => {
|
||||
isDrawerOpen.value = !isDrawerOpen.value;
|
||||
if (isDrawerOpen.value) {
|
||||
// uni.hideTabBar();
|
||||
uni.hideTabBar();
|
||||
} else {
|
||||
// uni.showTabBar();
|
||||
uni.showTabBar();
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -240,7 +240,7 @@
|
||||
</scroll-view>
|
||||
</view>
|
||||
</view>
|
||||
<PopupFeeBack ref="feeback" @onSend="confirmFeeBack"></PopupFeeBack>
|
||||
<PopupFeeBack ref="feeback" @onClose="colseFeeBack" @onSend="confirmFeeBack"></PopupFeeBack>
|
||||
<MsgTips ref="feeBackTips" content="已收到反馈,感谢您的关注" title="反馈成功" :icon="successIcon"></MsgTips>
|
||||
</view>
|
||||
</template>
|
||||
@@ -268,9 +268,9 @@ import WaveDisplay from './WaveDisplay.vue';
|
||||
import FileIcon from './fileIcon.vue';
|
||||
import FileText from './fileText.vue';
|
||||
// 系统功能hook和阿里云hook
|
||||
import { useAudioRecorder } from '@/hook/useRealtimeRecorder.js';
|
||||
import { useAudioRecorder } from '@/hook/useRealtimeRecorder2.js';
|
||||
// import { useAudioRecorder } from '@/hook/useSystemSpeechReader.js';
|
||||
import { useTTSPlayer } from '@/hook/useTTSPlayer.js';
|
||||
import { useTTSPlayer } from '@/hook/useTTSPlayer2.js';
|
||||
// import { useTTSPlayer } from '@/hook/useSystemPlayer.js';
|
||||
// 全局
|
||||
const { $api, navTo, throttle } = inject('globalFunction');
|
||||
@@ -612,17 +612,23 @@ function userGoodFeedback(msg) {
|
||||
// $api.msg('该功能正在开发中,敬请期待后续更新!');
|
||||
feeback.value?.open();
|
||||
feebackData.value = msg;
|
||||
uni.hideTabBar()
|
||||
}
|
||||
|
||||
function confirmFeeBack(value) {
|
||||
useChatGroupDBStore()
|
||||
.badFeedback(feebackData.value, value)
|
||||
.then(() => {
|
||||
uni.showTabBar()
|
||||
feeback.value?.close();
|
||||
feeBackTips.value?.open();
|
||||
});
|
||||
}
|
||||
|
||||
function colseFeeBack() {
|
||||
uni.showTabBar()
|
||||
}
|
||||
|
||||
function readMarkdown(value, index) {
|
||||
speechIndex.value = index;
|
||||
if (speechIndex.value !== index) {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<uni-popup ref="popup" type="bottom" borderRadius="12px 12px 0 0" background-color="#F6F6F6">
|
||||
<uni-popup ref="popup" type="bottom" borderRadius="12px 12px 0 0" @change="changePopup" background-color="#F6F6F6">
|
||||
<view class="feeback">
|
||||
<view class="titile">反馈</view>
|
||||
<view class="pop-h3">针对问题</view>
|
||||
@@ -38,7 +38,7 @@
|
||||
|
||||
<script setup>
|
||||
import { ref, inject } from 'vue';
|
||||
const emit = defineEmits(['onSend']);
|
||||
const emit = defineEmits(['onSend', 'onClose']);
|
||||
const { $api } = inject('globalFunction');
|
||||
const popup = ref(null);
|
||||
const inputText = ref('');
|
||||
@@ -66,6 +66,13 @@ function close() {
|
||||
popup.value.close();
|
||||
}
|
||||
|
||||
function changePopup(e) {
|
||||
if (e.show) {
|
||||
} else {
|
||||
emit('onClose');
|
||||
}
|
||||
}
|
||||
|
||||
function send() {
|
||||
const text = getLabel();
|
||||
if (text) {
|
||||
|
||||
@@ -1,64 +1,70 @@
|
||||
<template>
|
||||
<scroll-view :scroll-y="true" class="app-container" :scroll-top="scrollTop" @scroll="checkStickyStatus" @scrolltolower="scrollBottom">
|
||||
<view class="nav-hidden">
|
||||
<view class="container-search">
|
||||
<image class="bg-text" mode="widthFix" src="@/static/icon/index-text-bg.png"></image>
|
||||
<view class="search-inner">
|
||||
<view class="inner-left">
|
||||
<image class="bg-text2" mode="widthFix" src="@/static/icon/index-text-bg2.png"></image>
|
||||
<view class="search-input button-click" @click="navTo('/pages/search/search')">
|
||||
<image class="icon" src="@/static/icon/index-search.png"></image>
|
||||
<text class="inpute">请告诉我想找什么工作</text>
|
||||
</view>
|
||||
</view>
|
||||
<image class="bg-robot button-click" mode="widthFix" src="@/static/icon/index-robot.png"></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="ai-card-out">
|
||||
<view class="ai-card">
|
||||
<image class="ai-card-bg" src="@/static/icon/ai-card-bg.png" />
|
||||
<view class="ai-card-inner">
|
||||
<view class="title">人工智能专区</view>
|
||||
<view class="item-box">
|
||||
<view class="box-l">
|
||||
<view class="item1 button-click" @click="handleItemClick">
|
||||
<view class="title">AI素质测评</view>
|
||||
<view class="des">提高个人素质</view>
|
||||
<image class="bg-text" mode="widthFix" src="@/static/icon/item-bg-text.png"></image>
|
||||
<image class="bg-img" mode="widthFix" src="@/static/icon/item-bg-img1.png"></image>
|
||||
<scroll-view
|
||||
:scroll-y="true"
|
||||
class="app-container"
|
||||
:scroll-top="scrollTop"
|
||||
@scroll="checkStickyStatus"
|
||||
@scrolltolower="scrollBottom"
|
||||
>
|
||||
<view class="nav-hidden">
|
||||
<view class="container-search">
|
||||
<image class="bg-text" mode="widthFix" src="@/static/icon/index-text-bg.png"></image>
|
||||
<view class="search-inner">
|
||||
<view class="inner-left">
|
||||
<image class="bg-text2" mode="widthFix" src="@/static/icon/index-text-bg2.png"></image>
|
||||
<view class="search-input button-click" @click="navTo('/pages/search/search')">
|
||||
<image class="icon" src="@/static/icon/index-search.png"></image>
|
||||
<text class="inpute">请告诉我想找什么工作</text>
|
||||
</view>
|
||||
</view>
|
||||
<image class="bg-robot button-click" mode="widthFix" src="@/static/icon/index-robot.png"></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="box-r">
|
||||
<view class="item2 button-click" @click="handleItemClick">
|
||||
<view class="title">就业指导</view>
|
||||
<view class="des">根据个人建议</view>
|
||||
<image class="bg" src="@/static/icon/top-card-bg.png" />
|
||||
<image class="bg-img" mode="widthFix" src="@/static/icon/item-bg-img2.png"></image>
|
||||
</view>
|
||||
<view class="item3 button-click" @click="handleItemClick">
|
||||
<view class="title">AI模拟面试</view>
|
||||
<view class="des">提高面试成功率</view>
|
||||
<image class="bg" src="@/static/icon/bottom-card-bg.png" />
|
||||
<image class="bg-img" mode="widthFix" src="@/static/icon/item-bg-img3.png"></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="tip" @click="navTo('/packageA/pages/myResume/myResume')">
|
||||
<image class="icon" src="@/static/icon/leart-gold.png" />
|
||||
<view class="text">使用人工智能需要先完成素质测评、完善简历 ></view>
|
||||
<view class="ai-card-out">
|
||||
<view class="ai-card">
|
||||
<image class="ai-card-bg" src="@/static/icon/ai-card-bg.png" />
|
||||
<view class="ai-card-inner">
|
||||
<view class="title">人工智能专区</view>
|
||||
<view class="item-box">
|
||||
<view class="box-l">
|
||||
<view class="item1 button-click" @click="handleItemClick('素质测评')">
|
||||
<view class="title">AI素质测评</view>
|
||||
<view class="des">提高个人素质</view>
|
||||
<image class="bg-text" mode="widthFix" src="@/static/icon/item-bg-text.png"></image>
|
||||
<image class="bg-img" src="@/static/icon/item-bg-img1.png"></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="box-r">
|
||||
<view class="item2 button-click" @click="handleItemClick('就业指导')">
|
||||
<view class="title">就业指导</view>
|
||||
<view class="des">根据个人建议</view>
|
||||
<image class="bg" src="@/static/icon/top-card-bg.png" />
|
||||
<image class="bg-img" src="@/static/icon/item-bg-img2.png"></image>
|
||||
</view>
|
||||
<view class="item3 button-click" @click="handleItemClick('模拟面试')">
|
||||
<view class="title">AI模拟面试</view>
|
||||
<view class="des">提高面试成功率</view>
|
||||
<image class="bg" src="@/static/icon/bottom-card-bg.png" />
|
||||
<image class="bg-img" src="@/static/icon/item-bg-img3.png"></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="tip button-click" @click="navTo('/packageA/pages/myResume/myResume')">
|
||||
<image class="icon" src="@/static/icon/leart-gold.png" />
|
||||
<view class="text">使用人工智能需要先完成素质测评、完善简历 ></view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="match-card-out">
|
||||
<view class="match-card">
|
||||
<image class="match-card-bg" src="@/static/icon/match-card-bg.png" />
|
||||
<view class="title">简历匹配职位</view>
|
||||
<view class="match-item-container">
|
||||
<AIMatch @tag-click="handleTagClick"></AIMatch>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="match-card-out">
|
||||
<view class="match-card">
|
||||
<image class="match-card-bg" src="@/static/icon/match-card-bg.png" />
|
||||
<view class="title">简历匹配职位</view>
|
||||
<view class="match-item-container">
|
||||
<AIMatch @tag-click="handleTagClick"></AIMatch>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="cards">
|
||||
<view class="card card1 press-button" @click="navTo('/pages/nearby/nearby')">
|
||||
@@ -173,30 +179,32 @@
|
||||
<view class=""><matchingDegree :job="job"></matchingDegree></view>
|
||||
<uni-icons type="star" size="30"></uni-icons>
|
||||
</view> -->
|
||||
</view>
|
||||
<view v-if="!job.education" class="recommend-card" :class="{ isBut: job.isBut }">
|
||||
<view class="card-content">
|
||||
<view class="recommend-card-title"> 在找岗位:{{ job.jobCategory }}的工作吗? </view>
|
||||
<!-- <view class="recommend-card-tip">{{ job.tip }}</view> -->
|
||||
<view class="recommend-card-tip">确认您的兴趣,为您推荐更多合适的岗位</view>
|
||||
<!-- <view class="recommend-card-line"></view> -->
|
||||
<view class="recommend-card-controll">
|
||||
<view class="controll-no" @click="clearfindJob(job)">不是</view>
|
||||
<view class="controll-yes" @click="findJob(job)">是的</view>
|
||||
</view>
|
||||
</view>
|
||||
<view v-if="!job.education" class="recommend-card" :class="{ isBut: job.isBut }">
|
||||
<view class="card-content">
|
||||
<view class="recommend-card-title">
|
||||
在找岗位:{{ job.jobCategory }}的工作吗?
|
||||
</view>
|
||||
<!-- <view class="recommend-card-tip">{{ job.tip }}</view> -->
|
||||
<view class="recommend-card-tip">确认您的兴趣,为您推荐更多合适的岗位</view>
|
||||
<!-- <view class="recommend-card-line"></view> -->
|
||||
<view class="recommend-card-controll">
|
||||
<view class="controll-no" @click="clearfindJob(job)">不是</view>
|
||||
<view class="controll-yes" @click="findJob(job)">是的</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="card-bottom"></view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
</custom-waterfalls-flow>
|
||||
<loadmore ref="loadmoreRef"></loadmore>
|
||||
<view v-if="showScrollBottom" style="height: 200px"></view>
|
||||
</view>
|
||||
<view class="card-bottom"></view>
|
||||
</view>
|
||||
<empty v-else is-position></empty>
|
||||
</view>
|
||||
</template>
|
||||
</custom-waterfalls-flow>
|
||||
<loadmore ref="loadmoreRef"></loadmore>
|
||||
<view v-if="showScrollBottom" style="height: 200px"></view>
|
||||
</view>
|
||||
<empty v-else pdTop="200"></empty>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 筛选 -->
|
||||
<select-filter ref="selectFilterModel"></select-filter>
|
||||
@@ -229,7 +237,8 @@ import { useScrollDirection } from "@/hook/useScrollDirection";
|
||||
import { useColumnCount } from "@/hook/useColumnCount";
|
||||
const { isScrollingDown, handleScroll } = useScrollDirection();
|
||||
const recommedIndexDb = useRecommedIndexedDBStore();
|
||||
import AIMatch from "./AIMatch.vue";
|
||||
import config from '@/config';
|
||||
import AIMatch from './AIMatch.vue';
|
||||
|
||||
const { proxy } = getCurrentInstance();
|
||||
|
||||
@@ -304,12 +313,30 @@ function closeVideoTip() {
|
||||
}
|
||||
|
||||
const handleTagClick = (tagInfo) => {
|
||||
console.log("点击的标签信息:", tagInfo);
|
||||
$api.msg("暂未开放");
|
||||
console.log('点击的标签信息:', tagInfo);
|
||||
$api.msg('暂未开放');
|
||||
};
|
||||
|
||||
const handleItemClick = () => {
|
||||
$api.msg("暂未开放");
|
||||
const handleItemClick = (item) => {
|
||||
switch (item) {
|
||||
case '素质测评':
|
||||
lightAppJssdk.navigation.hide({
|
||||
url: config.Quality_assessment_URL,
|
||||
});
|
||||
break;
|
||||
case '就业指导':
|
||||
lightAppJssdk.navigation.hide({
|
||||
url: config.Career_guidance,
|
||||
});
|
||||
break;
|
||||
case '模拟面试':
|
||||
lightAppJssdk.navigation.hide({
|
||||
url: config.mock_interview,
|
||||
});
|
||||
break;
|
||||
default:
|
||||
$api.msg('暂未开放');
|
||||
}
|
||||
};
|
||||
|
||||
const hexToRgba = (hex, opacity) => {
|
||||
@@ -1115,6 +1142,8 @@ defineExpose({ loadData });
|
||||
.falls-scroll
|
||||
width: 100%
|
||||
height: 100%
|
||||
min-height: 100vh;
|
||||
position: relative
|
||||
.falls
|
||||
padding: 28rpx 28rpx;
|
||||
.item,.m-height{
|
||||
|
||||
@@ -1,51 +1,73 @@
|
||||
<template>
|
||||
<view class="app-container">
|
||||
<view class="nav-filter">
|
||||
<view class="filter-top" @touchmove.stop.prevent>
|
||||
<scroll-view :scroll-x="true" :show-scrollbar="false" class="tab-scroll">
|
||||
<view class="jobs-left">
|
||||
<view class="job button-click" :class="{ active: state.tabIndex === 'all' }" @click="choosePosition('all')"> 全部 </view>
|
||||
<view class="job button-click" :class="{ active: state.tabIndex === index }" v-for="(item, index) in userInfo.jobTitle" :key="index" @click="choosePosition(index)">
|
||||
{{ item }}
|
||||
<view class="app-container">
|
||||
<view class="nav-filter">
|
||||
<view class="filter-top" @touchmove.stop.prevent>
|
||||
<scroll-view :scroll-x="true" :show-scrollbar="false" class="tab-scroll">
|
||||
<view class="jobs-left">
|
||||
<view
|
||||
class="job button-click"
|
||||
:class="{ active: state.tabIndex === 'all' }"
|
||||
@click="choosePosition('all')"
|
||||
>
|
||||
全部
|
||||
</view>
|
||||
<view
|
||||
class="job button-click"
|
||||
:class="{ active: state.tabIndex === index }"
|
||||
v-for="(item, index) in userInfo.jobTitle"
|
||||
:key="index"
|
||||
@click="choosePosition(index)"
|
||||
>
|
||||
{{ item }}
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
<view class="jobs-add button-click" @click="navTo('/pages/search/search')">
|
||||
<uni-icons class="iconsearch" color="#666D7F" type="search" size="18"></uni-icons>
|
||||
<text>搜索</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
<view class="jobs-add button-click" @click="navTo('/pages/search/search')">
|
||||
<uni-icons class="iconsearch" color="#666D7F" type="search" size="18"></uni-icons>
|
||||
<text>搜索</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="cards">
|
||||
<scroll-view :scroll-y="true" class="tab-scroll" @scrolltolower="scrollBottom">
|
||||
<view class="scroll-content">
|
||||
<custom-waterfalls-flow ref="waterfallsFlowRef" :column="columnCount" :columnSpace="columnSpace" :value="list">
|
||||
<template v-slot:default="job">
|
||||
<view class="slot-item">
|
||||
<view class="job-image btn-feel" @click="nextVideo(job)">
|
||||
<image class="cover-image" :src="job.cover" mode="aspectFill"></image>
|
||||
<view class="cover-triangle"></view>
|
||||
<view class="cards">
|
||||
<scroll-view :scroll-y="true" class="tab-scroll" @scrolltolower="scrollBottom">
|
||||
<view class="scroll-content">
|
||||
<custom-waterfalls-flow
|
||||
ref="waterfallsFlowRef"
|
||||
:column="columnCount"
|
||||
:columnSpace="columnSpace"
|
||||
:value="list"
|
||||
>
|
||||
<template v-slot:default="job">
|
||||
<view class="slot-item">
|
||||
<view class="job-image btn-feel" @click="nextVideo(job)">
|
||||
<image class="cover-image" :src="job.cover" mode="aspectFill"></image>
|
||||
<view class="cover-triangle"></view>
|
||||
</view>
|
||||
<view class="job-info" @click="nextDetail(job)">
|
||||
<view class="salary">
|
||||
<Salary-Expectation
|
||||
:max-salary="job.maxSalary"
|
||||
:min-salary="job.minSalary"
|
||||
:is-month="true"
|
||||
></Salary-Expectation>
|
||||
<image v-if="job.isHot" class="flame" src="/static/icon/flame.png"></image>
|
||||
</view>
|
||||
<view class="title">{{ job.jobTitle }}</view>
|
||||
<view class="desc">
|
||||
<image class="point3" src="/static/icon/point3.png"></image>
|
||||
<!-- <uni-icons type="location" size="14"></uni-icons> -->
|
||||
<view class="descText">{{ job.companyName }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
</custom-waterfalls-flow>
|
||||
<empty v-if="!list.length"></empty>
|
||||
<loadmore v-if="list.length >= pageSize" ref="loadmoreRef"></loadmore>
|
||||
</view>
|
||||
<view class="job-info" @click="nextDetail(job)">
|
||||
<view class="salary">
|
||||
<Salary-Expectation :max-salary="job.maxSalary" :min-salary="job.minSalary" :is-month="true"></Salary-Expectation>
|
||||
<image v-if="job.isHot" class="flame" src="/static/icon/flame.png"></image>
|
||||
</view>
|
||||
<view class="title">{{ job.jobTitle }}</view>
|
||||
<view class="desc">
|
||||
<image class="point3" src="/static/icon/point3.png"></image>
|
||||
<!-- <uni-icons type="location" size="14"></uni-icons> -->
|
||||
<view class="descText">{{ job.companyName }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
</custom-waterfalls-flow>
|
||||
<loadmore ref="loadmoreRef"></loadmore>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
@@ -188,6 +210,7 @@ defineExpose({ loadData });
|
||||
text-overflow: clip;
|
||||
.scroll-content{
|
||||
padding: 24rpx
|
||||
height: calc(100% - 48rpx)
|
||||
}
|
||||
|
||||
.nav-filter
|
||||
|
||||
@@ -91,7 +91,9 @@ onLoad(() => {
|
||||
uni.preloadPage({ url: '/pages/nearby/nearby' });
|
||||
uni.preloadPage({ url: '/pages/chat/chat' });
|
||||
uni.preloadPage({ url: '/packageA/pages/choiceness/choiceness' });
|
||||
}, 3000);
|
||||
uni.preloadPage({ url: '/packageA/pages/reservation/reservation' });
|
||||
uni.preloadPage({ url: '/packageA/pages/Intendedposition/Intendedposition' });
|
||||
}, 1000);
|
||||
});
|
||||
|
||||
onShow(() => {
|
||||
|
||||
@@ -312,8 +312,8 @@ function complete() {
|
||||
<style lang="stylus" scoped>
|
||||
.backdoor{
|
||||
position: fixed;
|
||||
left: 0;
|
||||
bottom: 200rpx;
|
||||
left: 24rpx;
|
||||
top: 10rpx;
|
||||
}
|
||||
.input-nx
|
||||
position: relative
|
||||
|
||||
@@ -280,6 +280,7 @@ function chooseFileUploadTest(pam) {}
|
||||
overflow: hidden
|
||||
border-radius: 50%
|
||||
margin-right: 22rpx;
|
||||
background: #e8e8e8;
|
||||
.userindo-head-img
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
|
||||
@@ -15,14 +15,15 @@
|
||||
></image>
|
||||
<image
|
||||
class="card-img-flame"
|
||||
v-if="item.title === '职位上新'"
|
||||
v-else-if="item.title === '职位上新'"
|
||||
src="/static/icon/msgtype2.png"
|
||||
></image>
|
||||
<image
|
||||
class="card-img-flame"
|
||||
v-if="item.title === '系统通知'"
|
||||
v-else-if="item.title === '系统通知'"
|
||||
src="/static/icon/msgtype3.png"
|
||||
></image>
|
||||
<image class="card-img-flame" v-else src="/static/icon/msgtype3.png"></image>
|
||||
<view class="subscript" v-if="item.notReadCount || !item.isRead">
|
||||
{{ item.notReadCount || '' }}
|
||||
</view>
|
||||
@@ -72,6 +73,9 @@ function seeDetail(item, index) {
|
||||
case '系统通知':
|
||||
navTo('/packageA/pages/systemNotification/systemNotification');
|
||||
break;
|
||||
default:
|
||||
useReadMsg().markAsRead(item, index);
|
||||
navTo('/packageA/pages/newJobPosition/newJobPosition');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -15,14 +15,15 @@
|
||||
></image>
|
||||
<image
|
||||
class="card-img-flame"
|
||||
v-if="item.title === '职位上新'"
|
||||
v-else-if="item.title === '职位上新'"
|
||||
src="/static/icon/msgtype2.png"
|
||||
></image>
|
||||
<image
|
||||
class="card-img-flame"
|
||||
v-if="item.title === '系统通知'"
|
||||
v-else-if="item.title === '系统通知'"
|
||||
src="/static/icon/msgtype3.png"
|
||||
></image>
|
||||
<image class="card-img-flame" v-else src="/static/icon/msgtype3.png"></image>
|
||||
<view class="subscript" v-if="item.notReadCount">{{ item.notReadCount }}</view>
|
||||
</view>
|
||||
<view class="card-info">
|
||||
@@ -59,6 +60,19 @@ async function loadData() {
|
||||
|
||||
function seeDetail(item) {
|
||||
console.log(item);
|
||||
switch (item.title) {
|
||||
case '职位上新':
|
||||
useReadMsg().markAsRead(item, index);
|
||||
navTo('/packageA/pages/newJobPosition/newJobPosition');
|
||||
break;
|
||||
case '招聘会预约提醒':
|
||||
useReadMsg().markAsRead(item, index);
|
||||
navTo('/packageA/pages/reservation/reservation');
|
||||
break;
|
||||
case '系统通知':
|
||||
navTo('/packageA/pages/systemNotification/systemNotification');
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
defineExpose({ loadData });
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<AppLayout title="附近" :use-scroll-view="false" :show-bg-image="false">
|
||||
<template #headerleft>
|
||||
<template #headerleft v-if="isMiniProgram">
|
||||
<view class="btnback">
|
||||
<image src="@/static/icon/back.png" @click="navBack"></image>
|
||||
</view>
|
||||
@@ -50,6 +50,9 @@ import threeComponent from './components/three.vue';
|
||||
import fourComponent from './components/four.vue';
|
||||
import { reactive, inject, watch, ref, onMounted } from 'vue';
|
||||
import { onLoad, onShow } from '@dcloudio/uni-app';
|
||||
import { storeToRefs } from 'pinia';
|
||||
import useUserStore from '@/stores/useUserStore';
|
||||
const { isMiniProgram } = storeToRefs(useUserStore());
|
||||
const { $api, debounce, throttle, navBack } = inject('globalFunction');
|
||||
const loadedMap = reactive([false, false, false, false]);
|
||||
const swiperRefs = [ref(null), ref(null), ref(null), ref(null)];
|
||||
|
||||
Reference in New Issue
Block a user