Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
mp-enterprise-people-recruitment-h5
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
彭佳妮(贵阳日报)
mp-enterprise-people-recruitment-h5
Commits
d5b47d7d
Commit
d5b47d7d
authored
Nov 28, 2024
by
李明环(东信)
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
24.11.28问题修复
parent
75c0201a
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
99 additions
and
58 deletions
+99
-58
index.vue
src/components/filter/index.vue
+2
-2
index.vue
src/pages/recommend/index.vue
+42
-6
step1.vue
src/pages/recommend/releasePostion/step1.vue
+1
-1
step2.vue
src/pages/recommend/releasePostion/step2.vue
+1
-1
step4.vue
src/pages/recommend/releasePostion/step4.vue
+11
-10
step5.vue
src/pages/recommend/releasePostion/step5.vue
+35
-34
store.js
src/pages/recommend/releasePostion/store.js
+2
-2
utils.js
src/utils/utils.js
+5
-2
No files found.
src/components/filter/index.vue
View file @
d5b47d7d
...
...
@@ -23,7 +23,7 @@
<div
class=
"filter-item age"
>
<p
class=
"title"
style=
"margin-top: 0"
>
年龄
</p>
<wd-slider
style=
"margin: 0
2
5rpx"
style=
"margin: 0
7
5rpx"
v-model=
"age"
:step=
"1"
hide-min-max
...
...
@@ -125,7 +125,7 @@ const onClickEducation = v => {
v
.
active
=
true
;
};
// 年龄
const
age
=
ref
([
0
,
100
]);
const
age
=
ref
([
16
,
100
]);
// 性别
const
genderList
=
ref
([]);
const
onClickGender
=
v
=>
{
...
...
src/pages/recommend/index.vue
View file @
d5b47d7d
...
...
@@ -10,8 +10,8 @@
<!-- 筛选 -->
<view
class=
"filter flex-between"
v-show=
"activeTab == '求职推荐'"
>
<view
class=
"filter-opstion"
>
<view
class=
"t1"
>
按
以下职位
推荐
</view>
<wd-picker
<view
class=
"t1"
>
按
职位类型
推荐
</view>
<
!--
<
wd-picker
:columns=
"jobListColumns"
value-key=
"id"
label-key=
"name"
...
...
@@ -21,7 +21,19 @@
>
<view
class=
"t2"
>
{{
jobTypeText
||
"无"
}}
</view>
<view
class=
"arrow"
></view>
</wd-picker>
</wd-picker>
-->
<wd-col-picker
v-model=
"value"
:columns=
"columns"
:column-change=
"columnChange"
@
confirm=
"handleConfirm"
label-key=
"name"
value-key=
"id"
use-default-slot
>
<view
class=
"t2"
>
{{
jobTypeText
||
"无"
}}
</view>
<view
class=
"arrow"
></view>
</wd-col-picker>
</view>
<view
class=
"filter-other flex-between"
>
...
...
@@ -87,7 +99,7 @@
import
{
ref
}
from
"vue"
;
import
jobSeekersCard
from
"@/components/jobSeekersCard/index.vue"
;
import
{
getJobListApi
,
getApplicationListApi
,
getRecommendedResumeListApi
,
getPositionListApi
}
from
"@/api/postion"
;
import
{
getTreeListApi
}
from
"@/api/common"
;
import
{
getTreeListApi
,
dictJobTypeApi
}
from
"@/api/common"
;
import
{
getLoginUserApi
,
companyReviewInfo
}
from
"@/api/user"
;
import
{
getMajorTreeApi
}
from
"@/api/common"
;
import
{
getEumData
,
getEnumText
}
from
"@/utils/utils"
;
...
...
@@ -127,7 +139,7 @@ function getJobListApiFn() {
}
});
}
getJobListApiFn
();
//
getJobListApiFn();
const
jobTypeText
=
ref
(
""
);
function
fresherrefresh
()
{
refresherEnabled
.
value
=
true
;
...
...
@@ -266,6 +278,7 @@ const getResumeRecommendList = () => {
});
}
};
getResumeRecommendList
();
const
companyReviewInfoFn
=
()
=>
{
companyReviewInfo
().
then
(
res
=>
{
if
(
!
res
.
data
)
{
...
...
@@ -380,6 +393,29 @@ getMajorTreeApi().then(res => {
});
}
});
/* 职业类型 */
const
value
=
ref
([]);
const
columns
=
ref
([]);
const
getJobType
=
()
=>
{
dictJobTypeApi
({}).
then
(
res
=>
{
columns
.
value
.
push
(
res
.
data
);
});
};
getJobType
();
const
columnChange
=
({
selectedItem
,
resolve
,
finish
})
=>
{
if
(
selectedItem
.
children
?.
length
>
0
)
{
resolve
(
selectedItem
.
children
);
}
else
{
finish
();
}
};
const
handleConfirm
=
({
selectedItems
,
value
})
=>
{
jobTypeText
.
value
=
selectedItems
[
1
].
name
;
getResumeRecommendListParams
.
value
.
jobType
=
selectedItems
[
1
].
id
;
resetPageParams
();
getResumeRecommendListParams
.
value
.
recommend
=
false
;
getResumeRecommendList
();
};
// 显示其他筛选
const
showOtherFilter
=
ref
(
false
);
const
filterConfirm
=
data
=>
{
...
...
@@ -466,7 +502,7 @@ onLoad(() => {
padding
:
0
32rpx
0
44rpx
;
.filter-opstion
{
max-width
:
230rpx
;
:deep
(
.wd-picker__field
)
{
:deep
(
.wd-
col-
picker__field
)
{
display
:
flex
;
align-items
:
center
;
}
...
...
src/pages/recommend/releasePostion/step1.vue
View file @
d5b47d7d
...
...
@@ -4,7 +4,7 @@
<!--
<Filter
/>
-->
<view
class=
"title"
>
<view
class=
"t1"
>
1/5填写岗位信息
</view>
<view
class=
"t2"
>
新
选择对应的职位类别填写岗位信息
</view>
<view
class=
"t2"
>
请
选择对应的职位类别填写岗位信息
</view>
</view>
<view
class=
"content"
>
<selectbox
...
...
src/pages/recommend/releasePostion/step2.vue
View file @
d5b47d7d
...
...
@@ -249,7 +249,7 @@ const next = () => {
if
(
pinias
.
formData
.
negotiableSalary
==
0
)
{
if
(
!
(
pinias
.
formData
.
maxSalary
&&
pinias
.
formData
.
minSalary
))
{
xma
.
showToast
({
title
:
"请输选择薪资"
,
title
:
"请输选择
岗位
薪资"
,
icon
:
"none"
});
return
;
...
...
src/pages/recommend/releasePostion/step4.vue
View file @
d5b47d7d
...
...
@@ -269,12 +269,12 @@ const columnChangeMajor = ({ selectedItem, resolve, finish }) => {
}
};
const
handleConfirmMajor
=
({
value
})
=>
{
console
.
log
(
value
);
if
(
value
[
1
])
{
majorText
.
value
=
value
[
1
];
pinias
.
formData
.
majorRequirement
=
value
.
join
(
"-"
);
}
else
{
majorText
.
value
=
""
;
majorText
.
value
=
"不限"
;
pinias
.
formData
.
majorRequirement
=
""
;
}
};
const
majorText
=
ref
(
""
);
...
...
@@ -343,14 +343,15 @@ const next = () => {
pinias
.
formData
.
positionalTitle
=
majorInputValue
.
value
+
"-"
+
majorSelectValue
.
value
;
if
(
certificateInputValue
.
value
&&
certificateSelectValue
.
value
)
pinias
.
formData
.
professionalCertificates
=
certificateInputValue
.
value
+
"-"
+
certificateSelectValue
.
value
;
console
.
log
(
pinias
.
formData
);
if
(
validateForm
(
pinias
.
formData
,
[
"identityRequirement"
,
"educationRequirement"
,
"maxAgeRequirement"
,
"majorRequirement"
],
"post"
)
)
{
if
(
!
majorText
.
value
)
{
uni
.
showToast
({
title
:
`请完善专业!`
,
icon
:
"none"
,
duration
:
2000
});
return
;
}
if
(
validateForm
(
pinias
.
formData
,
[
"identityRequirement"
,
"educationRequirement"
,
"maxAgeRequirement"
],
"post"
))
{
/* uni.redirectTo({
url: "/pages/recommend/releasePostion/step5"
}); */
...
...
src/pages/recommend/releasePostion/step5.vue
View file @
d5b47d7d
...
...
@@ -50,6 +50,9 @@ import { useReleasePostionStore } from "./store";
const
pinias
=
useReleasePostionStore
();
import
{
validateForm
}
from
"@/utils/utils"
;
const
submit
=
()
=>
{
if
(
!
validateForm
(
pinias
.
formData
,
[
"number"
,
"contactPhone"
,
"contactPerson"
],
"post"
))
{
return
;
}
xma
.
hideKeyboard
();
xma
.
showLoading
({
title
:
"提交中"
,
...
...
@@ -96,42 +99,40 @@ const submit = () => {
uni
.
hideLoading
();
});
}
else
{
if
(
validateForm
(
pinias
.
formData
,
[
"contactPhone"
,
"contactPerson"
],
"post"
))
{
// 提交
createJobApi
(
pinias
.
formData
)
.
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
setTimeout
(()
=>
{
wx
.
hideLoading
({
complete
:
complete
=>
{
if
(
complete
.
errMsg
==
"hideLoading:ok"
)
{
wx
.
showToast
({
title
:
"发布成功"
,
icon
:
"none"
});
}
// 提交
createJobApi
(
pinias
.
formData
)
.
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
setTimeout
(()
=>
{
wx
.
hideLoading
({
complete
:
complete
=>
{
if
(
complete
.
errMsg
==
"hideLoading:ok"
)
{
wx
.
showToast
({
title
:
"提交成功"
,
icon
:
"none"
});
}
});
},
2000
);
setTimeout
(()
=>
{
pinias
.
resetForm
();
uni
.
switchTab
({
url
:
"/pages/user/index"
});
},
3000
);
}
else
{
uni
.
showToast
({
title
:
res
.
msg
,
icon
:
"none"
,
duration
:
2000
}
});
},
2000
);
setTimeout
(()
=>
{
pinias
.
resetForm
();
uni
.
switchTab
({
url
:
"/pages/user/index"
});
}
})
.
catch
(
err
=>
{
console
.
log
(
err
);
uni
.
hideLoading
();
});
}
},
3000
);
}
else
{
uni
.
showToast
({
title
:
res
.
msg
,
icon
:
"none"
,
duration
:
2000
});
}
})
.
catch
(
err
=>
{
console
.
log
(
err
);
uni
.
hideLoading
();
});
}
};
</
script
>
...
...
src/pages/recommend/releasePostion/store.js
View file @
d5b47d7d
...
...
@@ -42,7 +42,7 @@ export const useReleasePostionStore = defineStore("useReleasePostionStore", () =
minSalary
:
null
,
maxSalary
:
null
,
benefits
:
""
,
identityRequirement
:
1
,
identityRequirement
:
null
,
educationRequirement
:
null
,
minAgeRequirement
:
null
,
maxAgeRequirement
:
null
,
...
...
@@ -79,7 +79,7 @@ export const useReleasePostionStore = defineStore("useReleasePostionStore", () =
maxSalary
:
null
,
majorRequirement
:
""
,
benefits
:
""
,
identityRequirement
:
1
,
identityRequirement
:
null
,
educationRequirement
:
1
,
minAgeRequirement
:
null
,
maxAgeRequirement
:
null
,
...
...
src/utils/utils.js
View file @
d5b47d7d
...
...
@@ -85,16 +85,19 @@ export const validateForm = (formData, requiredFields, type) => {
const
phoneRegex
=
/^1
[
3-9
]\d{9}
$/
;
// 正则表达式匹配中国大陆手机号码
const
fieldMapping
=
{
jobTypeText
:
"职位类型"
,
jobTypeId
:
"职位类型"
,
postitDesc
:
"职位描述"
,
jobName
:
"职位名称"
,
address
:
"工作地址"
,
identityRequirement
:
"
人员类别
"
,
identityRequirement
:
"
身份
"
,
educationRequirement
:
"学历"
,
maxAgeRequirement
:
"年龄"
,
number
:
"招聘人数"
,
contactPerson
:
"联系人"
,
jobType
:
"职位类型"
,
position
:
"职位"
,
name
:
"名字"
,
name
:
"职位名字"
,
positionDesc
:
"职位描述"
,
majorRequirement
:
"专业"
,
positionalTitle
:
"专业技术职称"
,
professionalCertificates
:
"职业等级证书"
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment