Merge branch 'main' of http://124.243.245.42:3000/sdz/ks-app-employment-service
This commit is contained in:
@@ -323,6 +323,14 @@
|
|||||||
const deliveringJobs = reactive({});
|
const deliveringJobs = reactive({});
|
||||||
// 岗位投递
|
// 岗位投递
|
||||||
function deliverResume(job) {
|
function deliverResume(job) {
|
||||||
|
uni.showModal({
|
||||||
|
title: "提示",
|
||||||
|
content: "请确认是否投递简历?",
|
||||||
|
showCancel: true,
|
||||||
|
confirmText: "确定",
|
||||||
|
cancelText: "取消",
|
||||||
|
success: (res) => {
|
||||||
|
if(res.confirm){
|
||||||
if(deliveringJobs[job.jobId]) return
|
if(deliveringJobs[job.jobId]) return
|
||||||
deliveringJobs[job.jobId] = true
|
deliveringJobs[job.jobId] = true
|
||||||
const raw = uni.getStorageSync("Padmin-Token");
|
const raw = uni.getStorageSync("Padmin-Token");
|
||||||
@@ -365,6 +373,11 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// 提交面试邀请
|
// 提交面试邀请
|
||||||
const submitInterview = () => {
|
const submitInterview = () => {
|
||||||
if (!interviewForm.date) {
|
if (!interviewForm.date) {
|
||||||
|
|||||||
@@ -109,7 +109,7 @@
|
|||||||
<div>题号</div>
|
<div>题号</div>
|
||||||
<div style="font-size: 40rpx;" @click="clones()">×</div>
|
<div style="font-size: 40rpx;" @click="clones()">×</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="questionNums">
|
<div class="questionNums" style = "height:77vh;overflow: auto;">
|
||||||
<div class="questions" :class="item.whether=='正确'?'questionCorrect':item.whether=='错误'?'questionError':questionIndex==(index+1)?'questionsActive':''" @click="switchs(index)" v-for="(item,index) in problemList" :key="index">{{index+1}}</div>
|
<div class="questions" :class="item.whether=='正确'?'questionCorrect':item.whether=='错误'?'questionError':questionIndex==(index+1)?'questionsActive':''" @click="switchs(index)" v-for="(item,index) in problemList" :key="index">{{index+1}}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -126,10 +126,11 @@ function getDataList(type = 'add') {
|
|||||||
pageSize:pageSize.value,
|
pageSize:pageSize.value,
|
||||||
pageNum:pageNum.value
|
pageNum:pageNum.value
|
||||||
}
|
}
|
||||||
$api.myRequest('/train/public/trainVideo/trainVideoList', params).then((resData) => {
|
$api.myRequest('/train/public/trainQuestion/getQuestionTypes', params).then((resData) => {
|
||||||
dataList.value=dataList.value.concat(resData.rows)
|
dataList.value=dataList.value.concat(resData.rows)
|
||||||
totalNum.value=resData.total
|
totalNum.value=resData.total
|
||||||
});
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
let baseUrl = ""
|
// let baseUrl = ""
|
||||||
// #ifdef MP-WEIXIN
|
// // #ifdef MP-WEIXIN
|
||||||
// 编译项目,因为使用插件lime-echart,echart文件过大,需要非压缩代码方式编译,不然会很慢,发布的时候才压缩代码方式编译
|
// // 编译项目,因为使用插件lime-echart,echart文件过大,需要非压缩代码方式编译,不然会很慢,发布的时候才压缩代码方式编译
|
||||||
|
|
||||||
baseUrl = 'https://www.xjksly.cn/career' // 生产环境
|
// baseUrl = 'https://www.xjksly.cn/career' // 生产环境
|
||||||
// #endif
|
// // #endif
|
||||||
|
|
||||||
export {
|
// export {
|
||||||
baseUrl
|
// baseUrl
|
||||||
}
|
// }
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { baseUrl} from './config.js'
|
// const baseUrl = "https://localhost:7026/career";
|
||||||
|
const baseUrl = "https://www.xjksly.cn/career";
|
||||||
const request = {}
|
const request = {}
|
||||||
const headers = {}
|
const headers = {}
|
||||||
|
|
||||||
|
|||||||
@@ -22,9 +22,65 @@
|
|||||||
@click="getFair('refresh')"></uni-icons>
|
@click="getFair('refresh')"></uni-icons>
|
||||||
<input class="input" placeholder="招聘会" placeholder-class="inputplace"
|
<input class="input" placeholder="招聘会" placeholder-class="inputplace"
|
||||||
v-model="pageState.jobFairTitle" />
|
v-model="pageState.jobFairTitle" />
|
||||||
|
<view class="btn-feel" v-show="state.current != 3" @click="openFilter">筛选</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<uni-popup
|
||||||
|
ref="selectFilterModel"
|
||||||
|
type="bottom"
|
||||||
|
borderRadius="10px 10px 0 0"
|
||||||
|
background-color="#FFFFFF"
|
||||||
|
class="popup-fix"
|
||||||
|
>
|
||||||
|
<view class="popup-content">
|
||||||
|
<view class="popup-list">
|
||||||
|
<view class="content-wrapper">
|
||||||
|
<!-- 左侧筛选类别 -->
|
||||||
|
<!-- <scroll-view class="filter-nav" scroll-y>
|
||||||
|
<view
|
||||||
|
v-for="(item, index) in filterOptions"
|
||||||
|
:key="index"
|
||||||
|
class="nav-item button-click"
|
||||||
|
:class="{ active: activeTab === item.key }"
|
||||||
|
@click="scrollTo(item.key)"
|
||||||
|
>
|
||||||
|
{{ item.label }}
|
||||||
|
</view>
|
||||||
|
</scroll-view> -->
|
||||||
|
|
||||||
|
<!-- 右侧筛选内容 -->
|
||||||
|
<scroll-view class="filter-content" :scroll-into-view="activeTab" scroll-y>
|
||||||
|
<view v-for="(item, index) in filterOptions" :key="index">
|
||||||
|
<view class="content-item">
|
||||||
|
<view class="item-title" :id="item.key">{{ item.label }}</view>
|
||||||
|
<radio-group class="check-content" @change="handleSelect">
|
||||||
|
<label
|
||||||
|
v-for="option in item.options"
|
||||||
|
:key="option.value"
|
||||||
|
class="checkbox-item button-click"
|
||||||
|
:class="{
|
||||||
|
checkedstyle: selectedValues === String(option.value),
|
||||||
|
}"
|
||||||
|
>
|
||||||
|
<radio
|
||||||
|
style="display: none"
|
||||||
|
:value="String(option.value)"
|
||||||
|
:checked="selectedValues === String(option.value)"
|
||||||
|
/>
|
||||||
|
<text class="option-label">{{ option.label }}</text>
|
||||||
|
</label>
|
||||||
|
</radio-group>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</scroll-view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="popup-bottom">
|
||||||
|
<view class="btn-cancel btn-feel" @click="cleanup">重置</view>
|
||||||
|
<view class="btn-confirm btn-feel" @click="confirm">确认</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</uni-popup>
|
||||||
<!-- 主体内容区域 -->
|
<!-- 主体内容区域 -->
|
||||||
<view class="container-main">
|
<view class="container-main">
|
||||||
<scroll-view scroll-y class="main-scroll" :class="{fullHeightScroll:!showTabar}" @scrolltolower="handleScrollToLower">
|
<scroll-view scroll-y class="main-scroll" :class="{fullHeightScroll:!showTabar}" @scrolltolower="handleScrollToLower">
|
||||||
@@ -151,10 +207,57 @@
|
|||||||
onShow(() => {
|
onShow(() => {
|
||||||
// 更新自定义tabbar选中状态
|
// 更新自定义tabbar选中状态
|
||||||
tabbarManager.updateSelected(1);
|
tabbarManager.updateSelected(1);
|
||||||
|
getoptions();
|
||||||
});//
|
});//
|
||||||
|
//筛选
|
||||||
|
const filterOptions = ref([]);
|
||||||
|
const activeTab = ref('');
|
||||||
|
const selectFilterModel = ref(null);
|
||||||
|
const selectedValues = ref(null);
|
||||||
|
function openFilter() {
|
||||||
|
selectFilterModel.value?.open();
|
||||||
|
}
|
||||||
|
const scrollTo = (key) => {
|
||||||
|
activeTab.value = key;
|
||||||
|
};
|
||||||
|
|
||||||
|
const handleSelect = (e) => {
|
||||||
|
selectedValues.value = e.detail.value
|
||||||
|
};
|
||||||
|
function cleanup(){
|
||||||
|
selectedValues.value = null
|
||||||
|
confirm()
|
||||||
|
}
|
||||||
|
function confirm(){
|
||||||
|
getFair("refresh");
|
||||||
|
selectFilterModel.value?.close();
|
||||||
|
}
|
||||||
|
function getoptions() {
|
||||||
|
let headers = {
|
||||||
|
'Content-Type': 'application/x-www-form-urlencoded',
|
||||||
|
}
|
||||||
|
let params = {
|
||||||
|
dictType:'administrative_division',
|
||||||
|
dictParentValue:'653100000000',
|
||||||
|
childFlag:'1',
|
||||||
|
}
|
||||||
|
filterOptions.value = [{
|
||||||
|
label: '所在区域',
|
||||||
|
key: 'area',
|
||||||
|
options: []
|
||||||
|
}];
|
||||||
|
$api.myRequest('/system/public/dict/data/getByParentValue',params,'POST',9100,headers).then(res=>{
|
||||||
|
if (res.code == 200) {
|
||||||
|
filterOptions.value[0].options = res.data.map(item=>{
|
||||||
|
return {
|
||||||
|
label: item.dictLabel,
|
||||||
|
value: item.dictValue,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
activeTab.value = 'area';
|
||||||
|
}
|
||||||
async function thirdLogin(needToast){
|
async function thirdLogin(needToast){
|
||||||
let form={}
|
let form={}
|
||||||
if (uni.getStorageSync('userInfo') && (uni.getStorageSync('userInfo').isCompanyUser=='1' || uni.getStorageSync('userInfo').isCompanyUser=='2')) {
|
if (uni.getStorageSync('userInfo') && (uni.getStorageSync('userInfo').isCompanyUser=='1' || uni.getStorageSync('userInfo').isCompanyUser=='2')) {
|
||||||
@@ -339,11 +442,27 @@
|
|||||||
// 正确映射响应为用户信息(优先使用 data 字段)
|
// 正确映射响应为用户信息(优先使用 data 字段)
|
||||||
const data = resData?.data ?? resData;
|
const data = resData?.data ?? resData;
|
||||||
userInfo.value = data || {};
|
userInfo.value = data || {};
|
||||||
|
if(data?.info?.entCreditCode && data?.info?.userId){
|
||||||
|
updateEnterpriseId({
|
||||||
|
unifiedSocialCreditCode: data?.info?.entCreditCode,
|
||||||
|
userId: data?.info?.userId,
|
||||||
|
})
|
||||||
|
}
|
||||||
getFair("refresh");
|
getFair("refresh");
|
||||||
return userInfo.value;
|
return userInfo.value;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
function updateEnterpriseId(params){
|
||||||
|
const headers = {
|
||||||
|
'Content-Type':'application/json'
|
||||||
|
}
|
||||||
|
return $api.myRequest("/jobfair/public/job-fair-sign-up-enterprise/update-enterprise-id", params, "POST", 9100, headers).then((resData) => {
|
||||||
|
if(resData.code == 200 && resData.data !=0){
|
||||||
|
state.current = 3
|
||||||
|
getMyFair("refresh");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
function getMyFair(type = "add") {
|
function getMyFair(type = "add") {
|
||||||
if (type === "refresh") {
|
if (type === "refresh") {
|
||||||
pageState.pageNum = 1;
|
pageState.pageNum = 1;
|
||||||
@@ -404,6 +523,7 @@
|
|||||||
pageSize: pageState.pageSize,
|
pageSize: pageState.pageSize,
|
||||||
jobFairTitle: pageState.jobFairTitle,
|
jobFairTitle: pageState.jobFairTitle,
|
||||||
jobFairType: state.current,
|
jobFairType: state.current,
|
||||||
|
dictValue: selectedValues.value,
|
||||||
};
|
};
|
||||||
if (isLogin.value) {
|
if (isLogin.value) {
|
||||||
if (userInfo.value.userType == "ent") {
|
if (userInfo.value.userType == "ent") {
|
||||||
@@ -561,7 +681,168 @@
|
|||||||
return dates;
|
return dates;
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.popup-fix {
|
||||||
|
z-index: 9999 !important;
|
||||||
|
}
|
||||||
|
.popup-content {
|
||||||
|
color: #000000;
|
||||||
|
height: 70vh;
|
||||||
|
padding-bottom: 20rpx;
|
||||||
|
}
|
||||||
|
.popup-bottom {
|
||||||
|
padding: 40rpx 28rpx 20rpx 28rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
.btn-cancel {
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 32rpx;
|
||||||
|
color: #666d7f;
|
||||||
|
line-height: 90rpx;
|
||||||
|
width: 33%;
|
||||||
|
min-width: 222rpx;
|
||||||
|
height: 90rpx;
|
||||||
|
background: #f5f5f5;
|
||||||
|
border-radius: 12rpx 12rpx 12rpx 12rpx;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.btn-confirm {
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 32rpx;
|
||||||
|
color: #ffffff;
|
||||||
|
text-align: center;
|
||||||
|
width: 67%;
|
||||||
|
height: 90rpx;
|
||||||
|
margin-left: 28rpx;
|
||||||
|
line-height: 90rpx;
|
||||||
|
background: #256bfa;
|
||||||
|
min-width: 444rpx;
|
||||||
|
border-radius: 12rpx 12rpx 12rpx 12rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.popup-list {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
flex-wrap: nowrap;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-evenly;
|
||||||
|
height: calc(77vh - 100rpx - 150rpx);
|
||||||
|
overflow: hidden;
|
||||||
|
.picker-view {
|
||||||
|
width: 100%;
|
||||||
|
height: 500rpx;
|
||||||
|
margin-top: 20rpx;
|
||||||
|
.uni-picker-view-mask {
|
||||||
|
background: rgba(0, 0, 0, 0);
|
||||||
|
}
|
||||||
|
.item {
|
||||||
|
line-height: 84rpx;
|
||||||
|
height: 84rpx;
|
||||||
|
text-align: center;
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 32rpx;
|
||||||
|
color: #cccccc;
|
||||||
|
}
|
||||||
|
.item-active {
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
.uni-picker-view-indicator:after {
|
||||||
|
border-color: #e3e3e3;
|
||||||
|
}
|
||||||
|
.uni-picker-view-indicator:before {
|
||||||
|
border-color: #e3e3e3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// .list {
|
||||||
|
// .row {
|
||||||
|
// font-weight: 400;
|
||||||
|
// font-size: 32rpx;
|
||||||
|
// color: #333333;
|
||||||
|
// line-height: 84rpx;
|
||||||
|
// text-align: center;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-wrapper {
|
||||||
|
flex: 1;
|
||||||
|
display: flex;
|
||||||
|
overflow: hidden;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.filter-nav {
|
||||||
|
width: 200rpx;
|
||||||
|
background-color: #ffffff;
|
||||||
|
|
||||||
|
.nav-item {
|
||||||
|
height: 100rpx;
|
||||||
|
line-height: 100rpx;
|
||||||
|
text-align: center;
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #666d7f;
|
||||||
|
&.active {
|
||||||
|
font-weight: 500;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #256bfa;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.filter-content {
|
||||||
|
flex: 1;
|
||||||
|
padding: 20rpx;
|
||||||
|
background-color: #f6f6f6;
|
||||||
|
|
||||||
|
.content-item {
|
||||||
|
margin-top: 30rpx;
|
||||||
|
.item-title {
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #333333;
|
||||||
|
margin-bottom: 15rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.content-item:first-child {
|
||||||
|
margin-top: 0rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.check-content {
|
||||||
|
display: grid;
|
||||||
|
gap: 16rpx;
|
||||||
|
grid-template-columns: repeat(auto-fill, minmax(300rpx, 1fr));
|
||||||
|
place-items: stretch;
|
||||||
|
|
||||||
|
.checkbox-item {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
text-align: center;
|
||||||
|
background-color: #d9d9d9;
|
||||||
|
|
||||||
|
min-width: 0;
|
||||||
|
padding: 0 10rpx;
|
||||||
|
height: 80rpx;
|
||||||
|
background: #e8eaee;
|
||||||
|
border-radius: 12rpx 12rpx 12rpx 12rpx;
|
||||||
|
|
||||||
|
.option-label {
|
||||||
|
font-size: 28rpx;
|
||||||
|
width: 100%;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.checkedstyle {
|
||||||
|
height: 76rpx;
|
||||||
|
background: rgba(37, 107, 250, 0.06);
|
||||||
|
border-radius: 12rpx 12rpx 12rpx 12rpx;
|
||||||
|
border: 2rpx solid #256bfa;
|
||||||
|
color: #256bfa;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
<style scoped lang="stylus">
|
<style scoped lang="stylus">
|
||||||
.app-custom-root {
|
.app-custom-root {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
@@ -623,6 +904,8 @@
|
|||||||
padding: 0 24rpx;
|
padding: 0 24rpx;
|
||||||
width: calc(100% - 48rpx);
|
width: calc(100% - 48rpx);
|
||||||
position: relative;
|
position: relative;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.app-container .container-header .header-input .iconsearch {
|
.app-container .container-header .header-input .iconsearch {
|
||||||
@@ -638,6 +921,7 @@
|
|||||||
background: #ffffff;
|
background: #ffffff;
|
||||||
border-radius: 75rpx;
|
border-radius: 75rpx;
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
|
flex:1
|
||||||
}
|
}
|
||||||
|
|
||||||
.app-container .container-header .header-input .inputplace {
|
.app-container .container-header .header-input .inputplace {
|
||||||
@@ -645,7 +929,13 @@
|
|||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
color: #b5b5b5;
|
color: #b5b5b5;
|
||||||
}
|
}
|
||||||
|
.app-container .container-header .header-input .btn-feel {
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 28rpx;
|
||||||
|
text-align: center;
|
||||||
|
color: #484444;
|
||||||
|
width: 80rpx;
|
||||||
|
}
|
||||||
.app-container .container-header .header-date {
|
.app-container .container-header .header-date {
|
||||||
padding: 28rpx;
|
padding: 28rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|||||||
Reference in New Issue
Block a user