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
48d47073
Commit
48d47073
authored
Nov 15, 2024
by
李明环(东信)
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
问题修改
parent
a3fb5021
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
203 additions
and
138 deletions
+203
-138
form-item.vue
src/components/form/form-item.vue
+1
-1
index.vue
src/pages/recommend/index.vue
+5
-5
index.vue
src/pages/recommend/invitation/index.vue
+72
-13
common.scss
src/pages/recommend/releasePostion/common.scss
+1
-1
step1.vue
src/pages/recommend/releasePostion/step1.vue
+7
-4
step2.vue
src/pages/recommend/releasePostion/step2.vue
+69
-56
step3.vue
src/pages/recommend/releasePostion/step3.vue
+13
-33
step4.vue
src/pages/recommend/releasePostion/step4.vue
+8
-5
step5.vue
src/pages/recommend/releasePostion/step5.vue
+25
-18
index.vue
src/pages/user/resume/index.vue
+2
-2
No files found.
src/components/form/form-item.vue
View file @
48d47073
...
@@ -66,7 +66,7 @@ const iconPath = new URL(`../../static/image/icon/${props.icon}.png`, import.met
...
@@ -66,7 +66,7 @@ const iconPath = new URL(`../../static/image/icon/${props.icon}.png`, import.met
}
}
}
}
.temp
{
.temp
{
margin-top
:
36
px
;
margin-top
:
72r
px
;
}
}
.icon
{
.icon
{
position
:
absolute
;
position
:
absolute
;
...
...
src/pages/recommend/index.vue
View file @
48d47073
...
@@ -35,7 +35,7 @@
...
@@ -35,7 +35,7 @@
value-key=
"code"
value-key=
"code"
use-default-slot
use-default-slot
>
>
<view
class=
"item"
>
{{
cityText
}}
<view
class=
"arrow"
></view>
</view>
<view
class=
"item"
>
{{
cityText
||
"意向地"
}}
<view
class=
"arrow"
></view>
</view>
</wd-col-picker>
</wd-col-picker>
<view
class=
"filter-opstion"
>
<view
class=
"filter-opstion"
>
<wd-col-picker
<wd-col-picker
...
@@ -47,11 +47,11 @@
...
@@ -47,11 +47,11 @@
@
confirm=
"handleConfirmMajor"
@
confirm=
"handleConfirmMajor"
use-default-slot
use-default-slot
>
>
<view
class=
"item"
>
{{
majorText
||
"
不限
"
}}
<view
class=
"arrow"
></view>
</view>
<view
class=
"item"
>
{{
majorText
||
"
专业
"
}}
<view
class=
"arrow"
></view>
</view>
</wd-col-picker>
</wd-col-picker>
</view>
</view>
<!--
<view
class=
"item"
>
默认排序
<view
class=
"arrow"
></view>
</view>
-->
<!--
<view
class=
"item"
>
默认排序
<view
class=
"arrow"
></view>
</view>
-->
<view
class=
"item"
@
click=
"showOtherFilter = true"
>
筛选
<view
class=
"arrow"
></view>
</view>
<view
class=
"item"
@
click=
"showOtherFilter = true"
>
更多
筛选
<view
class=
"arrow"
></view>
</view>
</view>
</view>
</view>
</view>
<scroll-view
<scroll-view
...
@@ -282,7 +282,7 @@ onShow(() => {
...
@@ -282,7 +282,7 @@ onShow(() => {
});
});
// 城市筛选
// 城市筛选
const
valueCity
=
ref
([]);
const
valueCity
=
ref
([]);
const
cityText
=
ref
(
"
全国
"
);
const
cityText
=
ref
(
""
);
const
columnsCity
=
ref
([]);
const
columnsCity
=
ref
([]);
const
getColumnsCity
=
()
=>
{
const
getColumnsCity
=
()
=>
{
getTreeListApi
().
then
(
res
=>
{
getTreeListApi
().
then
(
res
=>
{
...
@@ -351,7 +351,7 @@ const columnChangeMajor = ({ selectedItem, resolve, finish }) => {
...
@@ -351,7 +351,7 @@ const columnChangeMajor = ({ selectedItem, resolve, finish }) => {
const
handleConfirmMajor
=
({
value
})
=>
{
const
handleConfirmMajor
=
({
value
})
=>
{
if
(
value
[
1
])
{
if
(
value
[
1
])
{
majorText
.
value
=
value
[
1
];
majorText
.
value
=
value
[
1
];
getResumeRecommendListParams
.
value
.
major
=
value
.
join
(
'-'
);
getResumeRecommendListParams
.
value
.
major
=
value
.
join
(
"-"
);
}
else
{
}
else
{
majorText
.
value
=
"不限"
;
majorText
.
value
=
"不限"
;
getResumeRecommendListParams
.
value
.
major
=
""
;
getResumeRecommendListParams
.
value
.
major
=
""
;
...
...
src/pages/recommend/invitation/index.vue
View file @
48d47073
...
@@ -17,16 +17,17 @@
...
@@ -17,16 +17,17 @@
<view
class=
"info-list"
>
<view
class=
"info-list"
>
<view
class=
"info flex-between"
>
<view
class=
"info flex-between"
>
<veiw
class=
"label"
>
面试时间
</veiw>
<veiw
class=
"label"
>
面试时间
</veiw>
<wd-datetime-picker
<
!--
<
wd-datetime-picker
v-model=
"date"
v-model=
"date"
:min-date=
"new Date(new Date().setHours(0, 0, 0, 0)).getTime()"
type=
"date"
:min-date=
"new Date().getTime()"
use-default-slot
use-default-slot
@
confirm=
"dateConfirm"
@
confirm=
"dateConfirm"
>
>
<view
:class=
"
{ data: 1, placeholder: !date }">
{{
</wd-datetime-picker>
-->
date
?
dayjs
(
date
).
format
(
"YYYY-MM-DD HH:mm"
)
:
"选择面试时间"
<view
:class=
"
{ data: 1, placeholder: !date }" @click="isShowDateSelect = true">
{{
}}
</view>
dateText
||
"选择面试时间"
</wd-datetime-picker
>
}}
</view
>
<view
class=
"arrow"
></view>
<view
class=
"arrow"
></view>
</view>
</view>
<view
class=
"info flex-between"
>
<view
class=
"info flex-between"
>
...
@@ -62,12 +63,28 @@
...
@@ -62,12 +63,28 @@
</view>
</view>
<view
class=
"info flex-between"
>
<view
class=
"info flex-between"
>
<veiw
class=
"label"
>
面试地址
</veiw>
<veiw
class=
"label"
>
面试地址
</veiw>
<view
class=
"data"
>
{{ data.interviewLocation }}
</view>
<!-- <view class="data">{{ data.interviewLocation }}</view> -->
<input
type=
"text"
v-model=
"data.interviewLocation"
placeholder=
"请输入面试地址"
/>
<view
class=
"arrow"
></view>
<view
class=
"arrow"
></view>
</view>
</view>
</view>
</view>
</view>
</view>
<wd-action-sheet
v-model=
"isShowDateSelect"
@
close=
"isShowDateSelect = false"
>
<div
class=
"action-sheet-header"
>
<wd-text
text=
"取消"
@
click=
"isShowDateSelect = false"
></wd-text>
<wd-text
type=
"primary"
text=
"确认"
@
click=
"selectDateConfirm"
></wd-text>
</div>
<div
class=
"date-sheet-wrap"
v-if=
"isShowDateSelect"
>
<div
class=
"date"
style=
"width: 75%"
>
<wd-datetime-picker-view
type=
"date"
v-model=
"date"
:min-date=
"new Date().getTime()"
/>
</div>
<div
class=
"time-slot"
style=
"width: 25%"
>
<wd-picker-view
:columns=
"columns"
v-model=
"timeSlot"
/>
</div>
</div>
</wd-action-sheet>
<view
class=
"btn-wrap"
>
<view
class=
"btn-wrap"
>
<button
class=
"bottom-btn"
@
click=
"submit"
>
确定邀请
</button>
<button
class=
"bottom-btn"
@
click=
"submit"
>
确定邀请
</button>
</view>
</view>
...
@@ -78,9 +95,26 @@
...
@@ -78,9 +95,26 @@
import
dayjs
from
"dayjs"
;
import
dayjs
from
"dayjs"
;
import
{
getApplicationByIdApi
,
inviteInterviewApi
,
getJobByIdApi
,
getPositionListApi
,
getResumeByUserId
}
from
"@/api/postion"
;
import
{
getApplicationByIdApi
,
inviteInterviewApi
,
getJobByIdApi
,
getPositionListApi
,
getResumeByUserId
}
from
"@/api/postion"
;
import
{
reactive
,
ref
}
from
"vue"
;
import
{
reactive
,
ref
}
from
"vue"
;
/* 时间选择器 */
const
isShowDateSelect
=
ref
(
false
);
const
date
=
ref
(
""
);
const
date
=
ref
(
""
);
const
dateConfirm
=
e
=>
{
const
columns
=
ref
([
console
.
log
(
e
);
[
{
label
:
"上午"
,
value
:
"上午"
},
{
label
:
"下午"
,
value
:
"下午"
}
]
]);
const
timeSlot
=
ref
(
"上午"
);
const
dateText
=
ref
(
""
);
const
selectDateConfirm
=
e
=>
{
isShowDateSelect
.
value
=
false
;
dateText
.
value
=
dayjs
(
date
.
value
).
format
(
"YYYY-MM-DD"
)
+
" "
+
timeSlot
.
value
;
};
};
const
jobIdTemp
=
ref
(
""
);
const
jobIdTemp
=
ref
(
""
);
let
userIdTemp
=
""
;
let
userIdTemp
=
""
;
...
@@ -96,8 +130,6 @@ function getJobListApiFn() {
...
@@ -96,8 +130,6 @@ function getJobListApiFn() {
}
}
getJobListApiFn
();
getJobListApiFn
();
const
positionConfirm
=
({
selectedItems
})
=>
{
const
positionConfirm
=
({
selectedItems
})
=>
{
console
.
log
(
selectedItems
);
data
.
value
=
selectedItems
;
data
.
value
=
selectedItems
;
data
.
value
.
interviewLocation
=
selectedItems
.
address
;
data
.
value
.
interviewLocation
=
selectedItems
.
address
;
data
.
value
.
salary
=
selectedItems
.
minSalary
+
"~"
+
selectedItems
.
maxSalary
;
data
.
value
.
salary
=
selectedItems
.
minSalary
+
"~"
+
selectedItems
.
maxSalary
;
...
@@ -139,7 +171,7 @@ const getJobById = jobId => {
...
@@ -139,7 +171,7 @@ const getJobById = jobId => {
getJobByIdApi
(
jobId
).
then
(
res
=>
{
getJobByIdApi
(
jobId
).
then
(
res
=>
{
res
.
data
.
salary
=
res
.
data
.
minSalary
+
"~"
+
res
.
data
.
maxSalary
;
res
.
data
.
salary
=
res
.
data
.
minSalary
+
"~"
+
res
.
data
.
maxSalary
;
res
.
data
.
positionName
=
res
.
data
.
name
;
res
.
data
.
positionName
=
res
.
data
.
name
;
res
.
data
.
interviewLocation
=
res
.
data
.
address
;
//
res.data.interviewLocation = res.data.address;
jobIdTemp
.
value
=
jobId
;
jobIdTemp
.
value
=
jobId
;
data
.
value
=
res
.
data
;
data
.
value
=
res
.
data
;
...
@@ -165,9 +197,24 @@ const submit = () => {
...
@@ -165,9 +197,24 @@ const submit = () => {
});
});
return
;
return
;
}
}
if
(
!
data
.
value
.
interviewLocation
)
{
uni
.
showToast
({
title
:
"请输入面试地址"
,
icon
:
"none"
});
return
;
}
/* 时间拼接 */
let
dateTemp
=
dayjs
(
date
.
value
).
format
(
"YYYY-MM-DD"
);
if
(
timeSlot
.
value
==
"上午"
)
{
dateTemp
+=
" 09:00:00"
;
}
else
{
dateTemp
+=
" 15:00:00"
;
}
inviteInterviewApi
({
inviteInterviewApi
({
...
data
.
value
,
...
data
.
value
,
interviewTime
:
date
.
value
,
// interviewTime: date.value,
interviewTime
:
dateTemp
,
userId
:
userIdTemp
,
userId
:
userIdTemp
,
positionId
:
jobIdTemp
.
value
positionId
:
jobIdTemp
.
value
}).
then
(
res
=>
{
}).
then
(
res
=>
{
...
@@ -268,6 +315,9 @@ const submit = () => {
...
@@ -268,6 +315,9 @@ const submit = () => {
line-height
:
36rpx
;
line-height
:
36rpx
;
color
:
#1b2026
;
color
:
#1b2026
;
}
}
input
{
flex
:
1
;
}
.placeholder
{
.placeholder
{
color
:
#bfcacf
;
color
:
#bfcacf
;
}
}
...
@@ -277,6 +327,15 @@ const submit = () => {
...
@@ -277,6 +327,15 @@ const submit = () => {
}
}
}
}
}
}
.action-sheet-header
{
display
:
flex
;
justify-content
:
space-between
;
padding
:
36rpx
;
}
.date-sheet-wrap
{
display
:
flex
;
padding
:
32rpx
0
;
}
.btn-wrap
{
.btn-wrap
{
position
:
fixed
;
position
:
fixed
;
bottom
:
0
;
bottom
:
0
;
...
...
src/pages/recommend/releasePostion/common.scss
View file @
48d47073
...
@@ -22,7 +22,7 @@
...
@@ -22,7 +22,7 @@
flex-grow
:
1
;
flex-grow
:
1
;
padding
:
32rpx
;
padding
:
32rpx
;
.form-item
{
.form-item
{
padding-top
:
32rpx
;
padding-top
:
0
;
padding-bottom
:
16rpx
;
padding-bottom
:
16rpx
;
border-bottom
:
2rpx
solid
rgb
(
31
35
41
/
15%
);
border-bottom
:
2rpx
solid
rgb
(
31
35
41
/
15%
);
.arrow
{
.arrow
{
...
...
src/pages/recommend/releasePostion/step1.vue
View file @
48d47073
...
@@ -15,7 +15,7 @@
...
@@ -15,7 +15,7 @@
v-model=
"pinias.formData.workMode"
v-model=
"pinias.formData.workMode"
></selectbox>
></selectbox>
<form-row>
<form-row>
<form-item
title=
"职位类型"
>
<form-item
title=
"职位类型"
required
>
<wd-col-picker
<wd-col-picker
v-model=
"value"
v-model=
"value"
:columns=
"columns"
:columns=
"columns"
...
@@ -32,12 +32,12 @@
...
@@ -32,12 +32,12 @@
</form-item>
</form-item>
</form-row>
</form-row>
<form-row>
<form-row>
<form-item
title=
"岗位名称"
icon=
"edit"
>
<form-item
required
title=
"岗位名称"
icon=
"edit"
>
<input
type=
"text"
v-model=
"pinias.formData.name"
placeholder=
"输入岗位名称"
/>
<input
type=
"text"
v-model=
"pinias.formData.name"
placeholder=
"输入岗位名称"
/>
</form-item>
</form-item>
</form-row>
</form-row>
<form-row>
<form-row>
<form-item
title=
"岗位描述"
:border=
"false"
icon=
""
>
<form-item
required
title=
"岗位描述"
:border=
"false"
icon=
""
>
<textarea
v-model=
"pinias.formData.positionDesc"
placeholder=
"请输入您的岗位描述"
maxlength=
"800"
></textarea>
<textarea
v-model=
"pinias.formData.positionDesc"
placeholder=
"请输入您的岗位描述"
maxlength=
"800"
></textarea>
</form-item>
</form-item>
</form-row>
</form-row>
...
@@ -123,7 +123,10 @@ const next = () => {
...
@@ -123,7 +123,10 @@ const next = () => {
console
.
log
(
pinias
.
formData
);
console
.
log
(
pinias
.
formData
);
if
(
validateForm
(
pinias
.
formData
,
[
"jobTypeId"
,
"jobTypeName"
,
"name"
,
"positionDesc"
],
"post"
))
{
if
(
validateForm
(
pinias
.
formData
,
[
"jobTypeId"
,
"jobTypeName"
,
"name"
,
"positionDesc"
],
"post"
))
{
uni
.
redirectTo
({
/* uni.redirectTo({
url: "/pages/recommend/releasePostion/step2"
}); */
uni
.
navigateTo
({
url
:
"/pages/recommend/releasePostion/step2"
url
:
"/pages/recommend/releasePostion/step2"
});
});
}
}
...
...
src/pages/recommend/releasePostion/step2.vue
View file @
48d47073
...
@@ -6,63 +6,69 @@
...
@@ -6,63 +6,69 @@
<view
class=
"t2"
>
请选择岗位对应的福利待遇
</view>
<view
class=
"t2"
>
请选择岗位对应的福利待遇
</view>
</view>
</view>
<view
class=
"content"
>
<view
class=
"content"
>
<view
class=
"form-item"
>
<form-row>
<view
class=
"form-item-title"
>
岗位薪资
</view>
<form-item
title=
"岗位薪资"
icon=
""
required
>
<view
<view
v-if=
"pinias.formData.settlementType == 4"
v-if=
"pinias.formData.settlementType == 4"
:class=
"`inner flex-between $
{salaryText ? '' : 'placeholder'}`"
:class=
"`inner flex-between $
{salaryText ? '' : 'placeholder'}`"
@click="onOpen"
@click="onOpen"
>
>
{{
salaryText
||
"请选择岗位薪资待遇(月薪)"
}}
{{
salaryText
||
"请选择岗位薪资待遇"
}}
<!--
<view
class=
"arrow"
></view>
-->
<!--
<view
class=
"arrow"
></view>
-->
<checkbox
class=
"checkbox"
@
click=
"onChecked"
:checked=
"my"
>
面议
</checkbox>
<checkbox
class=
"checkbox"
@
click=
"onChecked"
:checked=
"my"
>
面议
</checkbox>
</view>
<view
v-else
:class=
"`inner flex-between $
{salaryText ? '' : 'placeholder'}`" @click="onOpen">
{{
salaryText
||
"请选择岗位薪资待遇"
}}
<!--
<view
class=
"arrow"
></view>
-->
<checkbox
class=
"checkbox"
@
click=
"onChecked"
:checked=
"my"
>
面议
</checkbox>
</view>
<wd-popup
v-model=
"show"
position=
"bottom"
custom-style=
"height:40%;border-radius: 20rpx;z-index:999;"
@
close=
"handleClose"
>
<view
class=
"title-box"
><view></view>
<view
class=
"title"
>
薪资选择
</view>
<wd-icon
@
click=
"handleClose"
name=
"close"
size=
"30rpx"
></wd-icon>
</view>
</view>
<wd-picker-view
@
change=
"handleConfirm"
use-default-slot
:columns=
"columns"
v-model=
"value"
></wd-picker-view>
<view
v-else
:class=
"`inner flex-between $
{salaryText ? '' : 'placeholder'}`" @click="onOpen">
<view
style=
"display: flex; justify-content: center; width: 100%"
{{
salaryText
||
"请选择岗位薪资待遇(时薪)"
}}
><wd-button
style=
"width: 80%"
@
click=
"handleClose"
block
:round=
"false"
>
确定
</wd-button></view
<!--
<view
class=
"arrow"
></view>
-->
>
<checkbox
class=
"checkbox"
@
click=
"onChecked"
:checked=
"my"
>
面议
</checkbox>
</wd-popup>
</view>
</view>
<wd-popup
<view
class=
"form-item"
>
v-model=
"show"
<view
class=
"form-item-title"
>
是否提供食宿
</view>
position=
"bottom"
<view
class=
"inner flex-between"
>
custom-style=
"height:40%;border-radius: 20rpx;z-index:999;"
<wd-radio-group
v-model=
"pinias.formData.accommodation"
inline
shape=
"dot"
>
@
close=
"handleClose"
<wd-radio
v-for=
"(v, n) in radioOpstion"
:value=
"v.code"
:key=
"n"
>
{{
v
.
text
}}
</wd-radio>
</wd-radio-group>
</view>
</view>
<view
class=
"form-item describe"
style=
"border: 0"
>
<view
class=
"form-item-title"
>
福利待遇
<text
style=
"font-size: 24rpx; font-weight: normal; color: #77818f"
>
(选填)
</text>
</view>
<view
class=
"welfare"
>
<view
v-for=
"(item, index) in benefits"
:class=
"`t $
{item.active ? 'active' : ''}`"
@tap="onChangeBenefits(item)"
:key="index"
>
{{
item
.
text
}}
</view
>
>
</view>
<view
class=
"title-box"
</view>
><view></view>
<view
class=
"title"
>
薪资选择
</view>
<wd-icon
@
click=
"handleClose"
name=
"close"
size=
"30rpx"
></wd-icon>
</view>
<wd-picker-view
@
change=
"handleConfirm"
use-default-slot
:columns=
"columns"
v-model=
"value"
></wd-picker-view>
<view
style=
"display: flex; justify-content: center; width: 100%"
><wd-button
style=
"width: 80%"
@
click=
"handleClose"
block
:round=
"false"
>
确定
</wd-button></view
>
</wd-popup>
</form-item>
</form-row>
<form-row>
<form-item
title=
"是否提供食宿"
icon=
""
required
>
<view
class=
"inner flex-between"
>
<wd-radio-group
v-model=
"pinias.formData.accommodation"
inline
shape=
"dot"
>
<wd-radio
v-for=
"(v, n) in radioOpstion"
:value=
"v.code"
:key=
"n"
>
{{
v
.
text
}}
</wd-radio>
</wd-radio-group>
</view>
</form-item>
</form-row>
<form-row>
<form-item
:border=
"false"
title=
"福利待遇"
sub-title=
"(选填)"
icon=
""
>
<view
class=
"welfare"
>
<view
v-for=
"(item, index) in benefits"
:class=
"`t $
{item.active ? 'active' : ''}`"
@tap="onChangeBenefits(item)"
:key="index"
>
{{
item
.
text
}}
</view
>
</view>
</form-item>
</form-row>
</view>
</view>
<wd-tabbar
<wd-tabbar
@
tap=
"next"
@
tap=
"next"
...
@@ -78,7 +84,8 @@
...
@@ -78,7 +84,8 @@
<
script
setup
>
<
script
setup
>
import
{
getEumData
}
from
"@/utils/utils"
;
import
{
getEumData
}
from
"@/utils/utils"
;
import
FormItem
from
"@/components/form/form-item.vue"
;
import
FormRow
from
"@/components/form/form-row.vue"
;
import
{
useReleasePostionStore
}
from
"./store"
;
import
{
useReleasePostionStore
}
from
"./store"
;
/* tab */
/* tab */
const
pinias
=
useReleasePostionStore
();
const
pinias
=
useReleasePostionStore
();
...
@@ -248,9 +255,12 @@ const next = () => {
...
@@ -248,9 +255,12 @@ const next = () => {
return
;
return
;
}
}
}
}
uni
.
redirect
To
({
uni
.
navigate
To
({
url
:
"/pages/recommend/releasePostion/step3"
url
:
"/pages/recommend/releasePostion/step3"
});
});
/* uni.redirectTo({
url: "/pages/recommend/releasePostion/step3"
}); */
};
};
/* 初始化 */
/* 初始化 */
...
@@ -274,6 +284,9 @@ initViewData();
...
@@ -274,6 +284,9 @@ initViewData();
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
@import
"./common.scss"
;
@import
"./common.scss"
;
.content
{
.content
{
.form-item
{
padding-top
:
0
;
}
van-radio-group
{
van-radio-group
{
.van-radio-group
{
.van-radio-group
{
display
:
flex
;
display
:
flex
;
...
...
src/pages/recommend/releasePostion/step3.vue
View file @
48d47073
...
@@ -6,9 +6,8 @@
...
@@ -6,9 +6,8 @@
<view
class=
"t2"
>
请选择准确的岗位工作地点
</view>
<view
class=
"t2"
>
请选择准确的岗位工作地点
</view>
</view>
</view>
<view
class=
"content"
>
<view
class=
"content"
>
<view
class=
"form-item"
>
<form-row>
<view
class=
"form-item-title"
>
工作地点
</view>
<form-item
title=
"工作地点"
icon=
"arrow"
required
>
<view
:class=
"`inner flex-between $
{cityText ? '' : 'placeholder'}`">
<wd-col-picker
<wd-col-picker
v-model=
"cityValue"
v-model=
"cityValue"
:columns=
"cityOpstion"
:columns=
"cityOpstion"
...
@@ -23,9 +22,8 @@
...
@@ -23,9 +22,8 @@
{{
cityText
||
"请选择岗位工作地点"
}}
{{
cityText
||
"请选择岗位工作地点"
}}
</p>
</p>
</wd-col-picker>
</wd-col-picker>
<view
class=
"arrow"
></view>
</form-item>
</view>
</form-row>
</view>
</view>
</view>
<wd-tabbar
<wd-tabbar
...
@@ -42,10 +40,10 @@
...
@@ -42,10 +40,10 @@
<
script
setup
>
<
script
setup
>
import
{
ref
}
from
"vue"
;
import
{
ref
}
from
"vue"
;
import
AddressSelect
from
"@/components/form/address-select.vue"
;
import
{
getTreeListApi
,
getAreaListApi
}
from
"@/api/common"
;
import
{
getTreeListApi
,
getAreaListApi
}
from
"@/api/common"
;
import
{
useReleasePostionStore
}
from
"./store"
;
import
{
useReleasePostionStore
}
from
"./store"
;
import
town
from
"@/assets/town.json"
;
import
FormItem
from
"@/components/form/form-item.vue"
;
import
FormRow
from
"@/components/form/form-row.vue"
;
/* tab */
/* tab */
const
pinias
=
useReleasePostionStore
();
const
pinias
=
useReleasePostionStore
();
const
showTab
=
ref
(
true
);
const
showTab
=
ref
(
true
);
...
@@ -125,7 +123,10 @@ onLoad(() => {
...
@@ -125,7 +123,10 @@ onLoad(() => {
});
});
const
next
=
()
=>
{
const
next
=
()
=>
{
if
(
validateForm
(
pinias
.
formData
,
[
"address"
]))
{
if
(
validateForm
(
pinias
.
formData
,
[
"address"
]))
{
uni
.
redirectTo
({
/* uni.redirectTo({
url: "/pages/recommend/releasePostion/step4"
}); */
uni
.
navigateTo
({
url
:
"/pages/recommend/releasePostion/step4"
url
:
"/pages/recommend/releasePostion/step4"
});
});
}
}
...
@@ -134,30 +135,9 @@ const next = () => {
...
@@ -134,30 +135,9 @@ const next = () => {
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
@import
"./common.scss"
;
@import
"./common.scss"
;
image
{
.content
{
width
:
12px
;
.form-item
{
height
:
13px
;
padding-top
:
0
;
}
:deep
(
#u-a-c
)
{
.uni-system-choose-location
.nav
{
top
:
20px
!
important
;
background-image
:
none
;
}
.uni-system-choose-location
.nav-btn
{
background-color
:
#007aff
;
border-radius
:
10px
;
}
.uni-system-choose-location
.nav-btn.back
{
top
:
50px
;
left
:
10px
;
background-color
:
#007aff
;
border-radius
:
10px
;
}
.uni-system-choose-location
.nav-btn.confirm
{
top
:
50px
;
right
:
10px
;
background-color
:
#007aff
;
border-radius
:
10px
;
}
}
}
}
.foot-btn
{
.foot-btn
{
...
...
src/pages/recommend/releasePostion/step4.vue
View file @
48d47073
...
@@ -7,7 +7,7 @@
...
@@ -7,7 +7,7 @@
</view>
</view>
<view
class=
"content"
>
<view
class=
"content"
>
<form-row>
<form-row>
<form-item
title=
"身份"
>
<form-item
title=
"身份"
required
>
<wd-picker
<wd-picker
:columns=
"identityPostion"
:columns=
"identityPostion"
value-key=
"code"
value-key=
"code"
...
@@ -26,7 +26,7 @@
...
@@ -26,7 +26,7 @@
</form-row>
</form-row>
<form-row
:fill=
"false"
>
<form-row
:fill=
"false"
>
<form-item
title=
"学历"
>
<form-item
title=
"学历"
required
>
<wd-picker
<wd-picker
:columns=
"educationPostion"
:columns=
"educationPostion"
value-key=
"code"
value-key=
"code"
...
@@ -42,7 +42,7 @@
...
@@ -42,7 +42,7 @@
</view>
</view>
</wd-picker>
</wd-picker>
</form-item>
</form-item>
<form-item
title=
"年龄"
>
<form-item
title=
"年龄"
required
>
<!--
<wd-col-picker
<!--
<wd-col-picker
v-model=
"value"
v-model=
"value"
:columns=
"columns"
:columns=
"columns"
...
@@ -61,7 +61,7 @@
...
@@ -61,7 +61,7 @@
</form-item>
</form-item>
</form-row>
</form-row>
<form-row>
<form-row>
<form-item
title=
"专业"
class=
"major"
>
<form-item
title=
"专业"
class=
"major"
required
>
<wd-col-picker
<wd-col-picker
v-model=
"majorValue"
v-model=
"majorValue"
:columns=
"majorOpstion"
:columns=
"majorOpstion"
...
@@ -347,7 +347,10 @@ const next = () => {
...
@@ -347,7 +347,10 @@ const next = () => {
pinias
.
formData
.
professionalCertificates
=
certificateInputValue
.
value
+
"-"
+
certificateSelectValue
.
value
;
pinias
.
formData
.
professionalCertificates
=
certificateInputValue
.
value
+
"-"
+
certificateSelectValue
.
value
;
console
.
log
(
pinias
.
formData
);
console
.
log
(
pinias
.
formData
);
if
(
validateForm
(
pinias
.
formData
,
[
"identityRequirement"
,
"educationRequirement"
],
"post"
))
{
if
(
validateForm
(
pinias
.
formData
,
[
"identityRequirement"
,
"educationRequirement"
],
"post"
))
{
uni
.
redirectTo
({
/* uni.redirectTo({
url: "/pages/recommend/releasePostion/step5"
}); */
uni
.
navigateTo
({
url
:
"/pages/recommend/releasePostion/step5"
url
:
"/pages/recommend/releasePostion/step5"
});
});
}
}
...
...
src/pages/recommend/releasePostion/step5.vue
View file @
48d47073
...
@@ -6,24 +6,25 @@
...
@@ -6,24 +6,25 @@
<view
class=
"t2"
>
请继续完善相关信息
</view>
<view
class=
"t2"
>
请继续完善相关信息
</view>
</view>
</view>
<view
class=
"content"
>
<view
class=
"content"
>
<view
class=
"form-item"
>
<FormRow>
<view
class=
"form-item-title"
>
招聘人数
</view>
<FormItem
title=
"招聘人数"
icon=
"edit"
required
>
<view
class=
"inner felx-between"
>
<input
type=
"number"
v-model=
"pinias.formData.recruitmentNumber"
placeholder=
"请输入招聘人数"
/>
<input
type=
"number"
v-model=
"pinias.formData.recruitmentNumber"
placeholder=
"请输入招聘人数"
/>
</view>
</FormItem>
</view>
</FormRow>
<view
class=
"form-item"
>
<FormRow>
<view
class=
"form-item-title"
>
联系电话
</view>
<FormItem
title=
"联系电话"
icon=
"edit"
required
>
<view
class=
"inner felx-between"
>
<view
class=
"inner felx-between"
>
<input
type=
"number"
v-model=
"pinias.formData.contactPhone"
placeholder=
"请输入联系电话"
/>
<input
type=
"number"
v-model=
"pinias.formData.contactPhone"
placeholder=
"请输入联系电话"
/>
</view>
</view>
</view>
</FormItem>
<view
class=
"form-item"
>
</FormRow>
<view
class=
"form-item-title"
>
联系人
</view>
<FormRow>
<view
class=
"inner felx-between"
>
<FormItem
title=
"联系人"
icon=
"edit"
required
>
<input
type=
"text"
v-model=
"pinias.formData.contactPerson"
placeholder=
"请输入联系人"
/>
<view
class=
"inner felx-between"
>
</view>
<input
type=
"text"
v-model=
"pinias.formData.contactPerson"
placeholder=
"请输入联系人"
/>
</view>
</view>
</FormItem>
</FormRow>
</view>
</view>
<wd-tabbar
<wd-tabbar
...
@@ -39,6 +40,9 @@
...
@@ -39,6 +40,9 @@
</
template
>
</
template
>
<
script
setup
>
<
script
setup
>
import
FormItem
from
"@/components/form/form-item.vue"
;
import
FormRow
from
"@/components/form/form-row.vue"
;
import
{
createJobApi
,
updateJobApi
}
from
"@/api/postion"
;
import
{
createJobApi
,
updateJobApi
}
from
"@/api/postion"
;
import
{
useReleasePostionStore
}
from
"./store"
;
import
{
useReleasePostionStore
}
from
"./store"
;
...
@@ -74,7 +78,10 @@ const submit = () => {
...
@@ -74,7 +78,10 @@ const submit = () => {
/* uni.n({
/* uni.n({
url: "/pages/user/positionManagement/index"
url: "/pages/user/positionManagement/index"
}); */
}); */
uni
.
navigateBack
();
uni
.
navigateBack
({
delta
:
5
});
},
3000
);
},
3000
);
}
else
{
}
else
{
uni
.
showToast
({
uni
.
showToast
({
...
...
src/pages/user/resume/index.vue
View file @
48d47073
...
@@ -130,7 +130,7 @@
...
@@ -130,7 +130,7 @@
<
template
v-else
>
<
template
v-else
>
<div
class=
"f-btn-box"
>
<div
class=
"f-btn-box"
>
<button
class=
"b3"
:class=
"`style$
{status}`">
{{
btnText
}}
</button>
<button
class=
"b3"
:class=
"`style$
{status}`">
{{
btnText
}}
</button>
<div
class=
"b4"
v-if=
"!(applicationData.status == 4 ||
!applicationIdTemp
)"
>
<div
class=
"b4"
v-if=
"!(applicationData.status == 4 ||
applicationData.applicationType != 0
)"
>
<div
@
click=
"callPhone"
>
<div
@
click=
"callPhone"
>
<img
src=
"@/static/image/icon/telephone.png"
alt=
""
/>
<img
src=
"@/static/image/icon/telephone.png"
alt=
""
/>
<p>
立即联系
</p>
<p>
立即联系
</p>
...
@@ -149,7 +149,7 @@
...
@@ -149,7 +149,7 @@
<
template
v-else
>
<
template
v-else
>
<div
class=
"f-btn-box"
>
<div
class=
"f-btn-box"
>
<button
class=
"b3"
:class=
"`style$
{applicationData.status}`">
{{
applicationText
}}
</button>
<button
class=
"b3"
:class=
"`style$
{applicationData.status}`">
{{
applicationText
}}
</button>
<div
class=
"b4"
v-if=
"!(applicationData.status == 4 ||
!applicationIdTemp
)"
>
<div
class=
"b4"
v-if=
"!(applicationData.status == 4 ||
applicationData.applicationType != 0
)"
>
<div
@
click=
"callPhone"
:href=
"`tel:$
{applicationData.userPhone}`">
<div
@
click=
"callPhone"
:href=
"`tel:$
{applicationData.userPhone}`">
<img
src=
"@/static/image/icon/telephone.png"
alt=
""
/>
<img
src=
"@/static/image/icon/telephone.png"
alt=
""
/>
<p>
立即联系
</p>
<p>
立即联系
</p>
...
...
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