diff --git a/components/renderDeliveryRecord/renderDeliveryRecord.vue b/components/renderDeliveryRecord/renderDeliveryRecord.vue
index 07967ef..111a610 100644
--- a/components/renderDeliveryRecord/renderDeliveryRecord.vue
+++ b/components/renderDeliveryRecord/renderDeliveryRecord.vue
@@ -46,10 +46,10 @@
{{ job.companyName }}
-
+ {{job.education == '不限' ? '学历不限' : job.education}}
-
+ {{job.experience == '不限' ? '经验不限' : job.experience}}
{{ vacanciesTo(job.vacancies) }}
@@ -129,7 +129,7 @@ function parseDateTime(datetimeStr) {
}
function nextDetail(job) {
- navTo(`/packageA/pages/post/post?jobId=${btoa(job.jobId)}`);
+ navTo(`/packageA/pages/post/post?jobId=${btoa(job.jobId)}&dataType=${job.dataType}`);
}
diff --git a/config.js b/config.js
index 6b16e54..74e3c87 100644
--- a/config.js
+++ b/config.js
@@ -2,10 +2,7 @@ export default {
// baseUrl: 'https://fw.rc.qingdao.gov.cn/rgpp-api/api', // 内网
baseUrl: 'https://qd.zhaopinzao8dian.com/api', // 测试
// baseUrl: 'http://192.168.3.29:8081',
- // sseAI+
- // StreamBaseURl: 'http://39.98.44.136:8000',
- StreamBaseURl: 'https://qd.zhaopinzao8dian.com/ai',
- // StreamBaseURl: 'https://qd.zhaopinzao8dian.com/ai/test',
+ // baseUrl: 'http://10.213.6.207:19010/api',
// 语音转文字
// vioceBaseURl: 'ws://39.98.44.136:8080/speech-recognition',
vioceBaseURl: 'wss://qd.zhaopinzao8dian.com/api/speech-recognition',
diff --git a/main.js b/main.js
index 5255af7..671b533 100644
--- a/main.js
+++ b/main.js
@@ -20,6 +20,7 @@ import renderCompanyCollectionRecord from '@/components/renderCompanyCollectionR
import renderJobViewRecord from '@/components/renderJobViewRecord/renderJobViewRecord.vue';
// import Tabbar from '@/components/tabbar/midell-box.vue'
// 自动导入 directives 目录下所有指令
+console.log(lightAppJssdk)
const directives = import.meta.glob('./directives/*.js', {
eager: true
});
diff --git a/packageA/pages/Intendedposition/Intendedposition.vue b/packageA/pages/Intendedposition/Intendedposition.vue
index edc81c5..a9c4e57 100644
--- a/packageA/pages/Intendedposition/Intendedposition.vue
+++ b/packageA/pages/Intendedposition/Intendedposition.vue
@@ -41,8 +41,6 @@ onReachBottom(() => {
getJobList();
});
-
-
function getJobList(type = 'add') {
if (type === 'refresh') {
pageState.page = 1;
diff --git a/packageA/pages/browseJob/browseJob.vue b/packageA/pages/browseJob/browseJob.vue
index 0f9aa20..c9cbc26 100644
--- a/packageA/pages/browseJob/browseJob.vue
+++ b/packageA/pages/browseJob/browseJob.vue
@@ -24,7 +24,6 @@
-
-
+
diff --git a/packageA/pages/collection/collection.vue b/packageA/pages/collection/collection.vue
index d1204c9..d181d7b 100644
--- a/packageA/pages/collection/collection.vue
+++ b/packageA/pages/collection/collection.vue
@@ -11,21 +11,31 @@
公司企业
-
-
+
+
-
-
+ :latitude="latitudeVal"
+ >
-
+
{
getJobList();
getCompanyList();
});
+function handleTouchStart(e) {
+ // 确保有触摸点
+ if (e.touches.length > 0) {
+ startPointX.value = e.touches[0].clientX;
+ disableTouch.value = false;
+ }
+}
+
+function handleTouchMove(e) {
+ if (e.touches.length === 0) return;
+
+ const currentX = e.touches[0].clientX;
+ const diffX = currentX - startPointX.value;
+
+ if (type.value === 0) {
+ if (diffX > THRESHOLD) {
+ disableTouch.value = true;
+ } else {
+ disableTouch.value = false;
+ }
+ return;
+ }
+
+ if (type.value === totalPage - 1) {
+ if (diffX < -THRESHOLD) {
+ disableTouch.value = true;
+ } else {
+ disableTouch.value = false;
+ }
+ return;
+ }
+ disableTouch.value = false;
+}
+
function changeSwiperType(e) {
+ const newIndex = e.detail.current;
+ const lastIndex = type.value;
+
+ const isSwipingRight = newIndex < lastIndex;
+ const isSwipingLeft = newIndex > lastIndex;
+
+ if (lastIndex === 0 && isSwipingRight) {
+ disableTouch.value = true;
+ type.value = 0;
+ setTimeout(() => {
+ disableTouch.value = false;
+ }, 50);
+ return;
+ }
+
+ if (lastIndex === totalPage - 1 && isSwipingLeft) {
+ disableTouch.value = true;
+ type.value = lastIndex;
+
+ setTimeout(() => {
+ disableTouch.value = false;
+ }, 50);
+ return;
+ }
+
const current = e.detail.current;
type.value = current;
+ disableTouch.value = false;
}
function changeType(e) {
diff --git a/packageA/pages/exhibitors/exhibitors.vue b/packageA/pages/exhibitors/exhibitors.vue
index 171d0eb..a4b7827 100644
--- a/packageA/pages/exhibitors/exhibitors.vue
+++ b/packageA/pages/exhibitors/exhibitors.vue
@@ -11,9 +11,9 @@
- {{ fairInfo?.zphmc }}
+ {{ fairInfo?.zphmc }}
- {{ fairInfo.jbf }}
+ {{ fairInfo.jbf }}
@@ -122,23 +124,23 @@ const pageState = reactive({
const hasnext = ref(true);
const zphId = ref('');
-const pageOptions = ref({})
+const pageOptions = ref({});
onLoad((options) => {
- zphId.value = options.jobFairId
- pageOptions.value = options
+ zphId.value = options.jobFairId;
+ pageOptions.value = options;
getJobFairInfo(options.jobFairId, options.jobFairName);
getCompanyList('refresh');
});
-function getJobFairInfo(id,name) {
+function getJobFairInfo(id, name) {
$api.createRequest(`/app/internal/jobFairThirdPart/${id}`).then((resData) => {
fairInfo.value = resData.data;
hasAppointment();
});
}
-function getCompanyList(type='add') {
- const { jobFairId,jobFairName} = pageOptions.value
+function getCompanyList(type = 'add') {
+ const { jobFairId, jobFairName } = pageOptions.value;
if (type === 'refresh') {
pageState.current = 1;
pageState.maxPage = 1;
@@ -150,24 +152,26 @@ function getCompanyList(type='add') {
current: pageState.current,
pageSize: pageState.pageSize,
};
- $api.createRequest(`/app/internal/companyThirdPart/?zphID=${jobFairId}&zphmc=${jobFairName}`,params ).then((resData) => {
- const { rows, total } = resData;
- if (type === 'add') {
- const str = pageState.pageSize * (pageState.current - 1);
- const end = pageState.list.length;
- const reslist = rows;
- pageState.list.splice(str, end, ...reslist);
- } else {
- pageState.list = rows;
+ $api.createRequest(`/app/internal/companyThirdPart/?zphID=${jobFairId}&zphmc=${jobFairName}`, params).then(
+ (resData) => {
+ const { rows, total } = resData;
+ if (type === 'add') {
+ const str = pageState.pageSize * (pageState.current - 1);
+ const end = pageState.list.length;
+ const reslist = rows;
+ pageState.list.splice(str, end, ...reslist);
+ } else {
+ pageState.list = rows;
+ }
+ pageState.total = resData.total;
+ pageState.maxPage = Math.ceil(pageState.total / pageState.pageSize);
}
- pageState.total = resData.total;
- pageState.maxPage = Math.ceil(pageState.total / pageState.pageSize);
- });
+ );
}
const hasAppointment = () => {
const 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;
diff --git a/packageA/pages/myResume/myResume.vue b/packageA/pages/myResume/myResume.vue
index 78e47e4..4ee9721 100644
--- a/packageA/pages/myResume/myResume.vue
+++ b/packageA/pages/myResume/myResume.vue
@@ -1,241 +1,212 @@
-
-
-
-
-
-
-
-
-
- {{userInfo.resumeOcrStatus}}
-
-
-
-
-
-
-
-
-
- {{ userInfo.name || "编辑用户名" }}
-
-
-
+
+
+
+
-
-
- {{ userInfo.age }}岁
-
-
-
- {{ userInfo.phone }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 求职期望
-
-
-
- 期望薪资:
- {{ userInfo.salaryMin / 1000 }}k-{{
- userInfo.salaryMax / 1000
- }}k
-
-
- 期望工作地:
- 青岛市-
-
-
-
-
- {{ title }}
-
-
-
-
-
-
-
- 工作经历
-
-
- 添加
-
-
-
-
- {{ item.company }}
-
-
-
- {{ item.position }}
- {{ item.startTime }}--{{ item.endTime || "至今" }}
-
-
- {{ item.duty }}
-
-
-
-
-
-
-
-
+
+
+ {{ userInfo.resumeOcrStatus }}
+
+
+
+
+
+
+
+
+
+ {{ userInfo.name || '编辑用户名' }}
+
+
+
+
+
+
+ {{ userInfo.age }}岁
+
+
+
+ {{ userInfo.phone }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 求职期望
+
+
+
+ 期望薪资:
+ {{ userInfo.salaryMin / 1000 }}k-{{ userInfo.salaryMax / 1000 }}k
+
+
+ 期望工作地:
+ 青岛市-
+
+
+
+
+ {{ title }}
+
+
+
+
+
+
+
+ 工作经历
+
+
+ 添加
+
+
+
+
+ {{ item.company }}
+
+
+
+ {{ item.position }}
+ {{ item.startTime }}--{{ item.endTime || '至今' }}
+
+
+ {{ item.duty }}
+
+
+
+
+
+
+
+
+
@@ -286,7 +257,7 @@ function uploadResume(tempFilePath, loading) {
.close
width:25rpx;
height:25rpx;
-
+
.notice-line.blue{
background: #E8F1FF
color: #1677ff
diff --git a/packageA/pages/post/component/videoPlayer.vue b/packageA/pages/post/component/videoPlayer.vue
index d118dba..17af6d1 100644
--- a/packageA/pages/post/component/videoPlayer.vue
+++ b/packageA/pages/post/component/videoPlayer.vue
@@ -9,8 +9,8 @@
width: isFullScreen ? '100%' : videoWidth + 'rpx',
height: isFullScreen ? '100vh' : videoHeight + 'rpx',
}"
- @touchstart="handleTouchStart"
- @touchmove="handleTouchMove"
+ @touchstart.passive="handleTouchStart"
+ @touchmove.passive="handleTouchMove"
@touchend="handleTouchEnd"
@touchmove.stop.prevent
>
@@ -187,4 +187,4 @@ defineExpose({ open });
background: rgba(255, 255, 255, 0.2);
border-radius: 4rpx;
}
-
\ No newline at end of file
+
diff --git a/packageA/pages/post/post.vue b/packageA/pages/post/post.vue
index d3932aa..fe84ac0 100644
--- a/packageA/pages/post/post.vue
+++ b/packageA/pages/post/post.vue
@@ -162,8 +162,13 @@
@@ -308,19 +313,18 @@ function getCompetivetuveness(jobId) {
// 申请岗位
function jobApply() {
if (dataType.value === 2) {
- $api.msg('敬请期待');
- return
// 第三方数据申请逻辑
- const jobId = jobInfo.value.id;
+ const params = {
+ jobid:jobInfo.value.id,
+ jobname:jobInfo.value.gwmc
+ }
if (jobInfo.value.isApply) {
- const jobUrl = jobInfo.value.jobUrl;
- return window.open(jobUrl);
+ $api.msg('已经投递过该岗位了~');
+ return ;
} else {
- $api.createRequest(`/app/job/apply/${jobId}`, {}, 'GET').then((resData) => {
- getDetail(jobIdRef.value);
+ $api.createRequest(`/app/internal/sendResume`, params, 'POST').then((resData) => {
$api.msg('投递成功');
- const jobUrl = jobInfo.value.jobUrl;
- return window.open(jobUrl);
+ getDetail(jobIdRef.value);
});
}
} else {
@@ -651,5 +655,9 @@ for i in 0..100
text-align: center;
line-height: 90rpx
}
+ .btn-des{
+ background: #6697FB;
+ box-shadow: 0rpx -4rpx 24rpx 0rpx rgba(11,44,112,0.12);
+ }
}
\ No newline at end of file
diff --git a/pages/careerfair/careerfair.vue b/pages/careerfair/careerfair.vue
index 4fe0789..69b88ae 100644
--- a/pages/careerfair/careerfair.vue
+++ b/pages/careerfair/careerfair.vue
@@ -259,8 +259,8 @@ function getHoursBetween(startTimeStr, endTimeStr) {
const selectDate = (item) => {
if (currentDay.value?.fullDate === item.fullDate) {
- currentDay.value = {};
- getFair('refresh');
+ // currentDay.value = {};
+ // getFair('refresh');
return;
}
currentDay.value = item;
diff --git a/pages/chat/components/ai-paging.vue b/pages/chat/components/ai-paging.vue
index 42699bc..0dc6d79 100644
--- a/pages/chat/components/ai-paging.vue
+++ b/pages/chat/components/ai-paging.vue
@@ -148,7 +148,7 @@
-
-
+
+
+
{
// 判断浏览器是否有 fristEntry 第一次进入
let fristEntry = uni.getStorageSync('fristEntry') === false ? false : true; // 默认未读
@@ -87,15 +105,69 @@ const handelComponentsRef = (el, index) => {
}
};
+function handleTouchStart(e) {
+ startPointX.value = e.touches[0].clientX;
+ disableTouch.value = false;
+}
+function handleTouchMove(e) {
+ const currentX = e.touches[0].clientX;
+ const diffX = currentX - startPointX.value;
+
+ if (state.current === 0) {
+ if (diffX > THRESHOLD) {
+ disableTouch.value = true;
+ } else {
+ disableTouch.value = false;
+ }
+ return;
+ }
+ if (state.current === totalPage - 1) {
+ if (diffX < -THRESHOLD) {
+ disableTouch.value = true;
+ } else {
+ disableTouch.value = false;
+ }
+ return;
+ }
+
+ disableTouch.value = false;
+}
+
function changeShowTabbar(val) {
showTabbar.value = val;
}
//1 查看消息类型
function changeSwiperType(e) {
+ const newIndex = e.detail.current;
+ const lastIndex = state.current;
+
+ const isSwipingRight = newIndex < lastIndex;
+ const isSwipingLeft = newIndex > lastIndex;
+
+ if (lastIndex === 0 && isSwipingRight) {
+ disableTouch.value = true;
+ state.current = 0;
+ setTimeout(() => {
+ disableTouch.value = false;
+ }, 50);
+ return;
+ }
+
+ if (lastIndex === totalPage - 1 && isSwipingLeft) {
+ disableTouch.value = true;
+ state.current = lastIndex;
+
+ setTimeout(() => {
+ disableTouch.value = false;
+ }, 50);
+ return;
+ }
+
const index = e.detail.current;
state.current = index;
handleTabChange(index);
+ disableTouch.value = false;
}
function changeType(index) {
state.current = index;
diff --git a/pages/login/login.vue b/pages/login/login.vue
index 35c4bd9..096b691 100644
--- a/pages/login/login.vue
+++ b/pages/login/login.vue
@@ -109,7 +109,9 @@
- 后门
+
+
+
@@ -310,8 +312,7 @@ function complete() {
.backdoor{
position: fixed;
left: 0;
- top: 500rpx;
- background: red
+ bottom: 200rpx;
}
.input-nx
position: relative
@@ -425,6 +426,7 @@ function complete() {
font-size: 28rpx;
color: #6A6A6A;
.input-con
+ pointer-events: none;
font-weight: 400;
font-size: 32rpx;
color: #333333;
diff --git a/pages/mine/mine.vue b/pages/mine/mine.vue
index ca342f7..71f5645 100644
--- a/pages/mine/mine.vue
+++ b/pages/mine/mine.vue
@@ -49,7 +49,7 @@
服务专区
-
+
实名认证
@@ -106,6 +106,7 @@ import { reactive, inject, watch, ref, onMounted } from 'vue';
import { storeToRefs } from 'pinia';
import Tabbar from '@/components/tabbar/midell-box.vue';
import { onLoad, onShow } from '@dcloudio/uni-app';
+import FileUploader from '@/utils/FileUploader.js';
const { $api, navTo } = inject('globalFunction');
import useUserStore from '@/stores/useUserStore';
const popup = ref(null);
@@ -133,6 +134,15 @@ function getUserstatistics() {
counts.value = resData.data;
});
}
+
+function selectFile() {
+ // FileUploader.showMenuAndUpload({
+ // success: function (res) {
+ // alert('上传成功: ' + JSON.stringify(res));
+ // },
+ // });
+}
+function chooseFileUploadTest(pam) {}