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
1606855d
Commit
1606855d
authored
Oct 16, 2024
by
石建新(贵阳日报)
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
1b2b1be9
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
254 additions
and
105 deletions
+254
-105
index.vue
src/pages/articleDetails/index.vue
+6
-1
index.vue
src/pages/dynamic/index.vue
+2
-1
index.vue
src/pages/messageList/index.vue
+3
-2
index.vue
src/pages/policy/index.vue
+15
-2
index.vue
src/pages/recommend/index.vue
+22
-8
index.vue
src/pages/recommend/invitation/index.vue
+2
-2
step1.vue
src/pages/recommend/releasePostion/step1.vue
+28
-2
step2.vue
src/pages/recommend/releasePostion/step2.vue
+13
-19
step3.vue
src/pages/recommend/releasePostion/step3.vue
+1
-1
step4.vue
src/pages/recommend/releasePostion/step4.vue
+1
-1
step5.vue
src/pages/recommend/releasePostion/step5.vue
+40
-21
store.js
src/pages/recommend/releasePostion/store.js
+1
-1
addPost.vue
src/pages/signUp/addPost.vue
+0
-0
index.scss
src/pages/signUp/index.scss
+22
-5
index.vue
src/pages/signUp/index.vue
+41
-6
index.vue
src/pages/user/editUserInfo/index.vue
+20
-6
index.vue
src/pages/user/index.vue
+13
-13
index.vue
src/pages/user/myCompany/index.vue
+2
-2
licenseInfo.vue
src/pages/user/myCompany/licenseInfo.vue
+20
-10
request.js
src/utils/request.js
+2
-2
No files found.
src/pages/articleDetails/index.vue
View file @
1606855d
...
@@ -2,7 +2,11 @@
...
@@ -2,7 +2,11 @@
<NavBar
:showIcon=
"true"
:showTitle=
"true"
title=
"文章详情"
backgroundBox=
"#FFFFFF"
></NavBar>
<NavBar
:showIcon=
"true"
:showTitle=
"true"
title=
"文章详情"
backgroundBox=
"#FFFFFF"
></NavBar>
<div
class=
"page"
>
<div
class=
"page"
>
<div
class=
"top"
>
<div
class=
"top"
>
<video
:src=
"evn.APP_IMAGE_BASE_API + data.videoPath"
v-if=
"data.infoType === 2"
></video>
<video
:poster=
"evn.APP_IMAGE_BASE_API + data.thumbnailPath"
:src=
"evn.APP_IMAGE_BASE_API + data.videoPath"
v-if=
"data.infoType === 2"
></video>
<div
class=
"title"
>
{{
data
.
title
}}
</div>
<div
class=
"title"
>
{{
data
.
title
}}
</div>
<div
class=
"flex-between"
>
<div
class=
"flex-between"
>
<div
class=
"publisher"
>
{{
data
.
publisher
}}
</div>
<div
class=
"publisher"
>
{{
data
.
publisher
}}
</div>
...
@@ -53,6 +57,7 @@ onLoad(({ id }) => {
...
@@ -53,6 +57,7 @@ onLoad(({ id }) => {
data
.
value
.
bmStutas
=
Res
.
data
;
data
.
value
.
bmStutas
=
Res
.
data
;
});
});
});
});
function
next
()
{
function
next
()
{
xma
.
navigateTo
({
xma
.
navigateTo
({
url
:
`/pages/signUp/index?articleId=
${
articleId
.
value
}
`
url
:
`/pages/signUp/index?articleId=
${
articleId
.
value
}
`
...
...
src/pages/dynamic/index.vue
View file @
1606855d
<
template
>
<
template
>
<NavBar
:showIcon=
"false"
:showTitle=
"true"
title=
"动态"
></NavBar>
<div
class=
"policy"
>
<div
class=
"policy"
>
<NavBar
:showIcon=
"false"
:showTitle=
"true"
title=
"动态"
></NavBar>
<div
class=
"tab-name"
:style=
"
{ position: sticky, top: contentHeight }" :enable-flex="true" :scroll-x="true">
<div
class=
"tab-name"
:style=
"
{ position: sticky, top: contentHeight }" :enable-flex="true" :scroll-x="true">
<view
:class=
"
{ item: 1, active: active == v.id }" v-for="v in typeList" :key="v.id" @click="changeType(v)">
{{
<view
:class=
"
{ item: 1, active: active == v.id }" v-for="v in typeList" :key="v.id" @click="changeType(v)">
{{
v
.
name
v
.
name
...
...
src/pages/messageList/index.vue
View file @
1606855d
...
@@ -13,12 +13,13 @@
...
@@ -13,12 +13,13 @@
<view
class=
"message flex-between"
>
<view
class=
"message flex-between"
>
<text>
{{
v
.
content
}}
</text>
<text>
{{
v
.
content
}}
</text>
<view
class=
"flex-align-center"
>
<view
class=
"flex-align-center"
>
<text
class=
"link"
>
立即前往
</text>
<text
class=
"link"
v-if=
"[2, 3, 4, 7].includes(v.type)"
>
立即前往
</text>
<view
class=
"arrow"
></view>
<view
class=
"arrow"
></view>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
<wd-status-tip
v-if=
"list.length == 0"
image=
"../.././static/image/enmpty-dt.png"
tip=
"暂无消息"
/>
</view>
</view>
</scroll-view>
</scroll-view>
</div>
</div>
...
@@ -37,7 +38,7 @@ const params = ref({
...
@@ -37,7 +38,7 @@ const params = ref({
isEnd
:
false
isEnd
:
false
});
});
const
goToDetail
=
item
=>
{
const
goToDetail
=
item
=>
{
if
(
item
.
type
==
3
||
item
.
type
==
4
)
{
if
(
[
3
,
4
,
7
].
includes
(
item
.
type
)
)
{
xma
.
navigateTo
({
xma
.
navigateTo
({
url
:
`/pages/user/myCompany/licenseInfo?id=
${
item
.
id
}
`
url
:
`/pages/user/myCompany/licenseInfo?id=
${
item
.
id
}
`
});
});
...
...
src/pages/policy/index.vue
View file @
1606855d
<
template
>
<
template
>
<NavBar
:showIcon=
"false"
:showTitle=
"true"
title=
"政策"
></NavBar>
<div
class=
"policy"
>
<div
class=
"policy"
>
<div
class=
"tab-name"
:enable-flex=
"true"
:scroll-x=
"true"
>
<NavBar
:showIcon=
"false"
:showTitle=
"true"
title=
"政策"
></NavBar>
<div
class=
"tab-name"
:style=
"
{ position: sticky, top: contentHeight }" :enable-flex="true" :scroll-x="true">
<view
:class=
"
{ item: 1, active: active == v.id }" v-for="v in typeList" :key="v.id" @click="changeType(v)">
{{
<view
:class=
"
{ item: 1, active: active == v.id }" v-for="v in typeList" :key="v.id" @click="changeType(v)">
{{
v
.
name
v
.
name
}}
</view>
}}
</view>
...
@@ -18,6 +18,7 @@ import articleList from "@/components/articleList/index.vue";
...
@@ -18,6 +18,7 @@ import articleList from "@/components/articleList/index.vue";
import
{
getArticleListApi
,
getArticleTypesApi
}
from
"@/api/article.js"
;
import
{
getArticleListApi
,
getArticleTypesApi
}
from
"@/api/article.js"
;
import
{
reactive
,
ref
}
from
"vue"
;
import
{
reactive
,
ref
}
from
"vue"
;
const
active
=
ref
(
""
);
const
active
=
ref
(
""
);
const
contentHeight
=
ref
(
"100rpx"
);
const
typeList
=
ref
([{
id
:
""
,
name
:
"全部"
}]);
const
typeList
=
ref
([{
id
:
""
,
name
:
"全部"
}]);
getArticleTypesApi
(
1
).
then
(
res
=>
{
getArticleTypesApi
(
1
).
then
(
res
=>
{
typeList
.
value
.
push
(...
res
.
data
);
typeList
.
value
.
push
(...
res
.
data
);
...
@@ -73,6 +74,18 @@ onPullDownRefresh(() => {
...
@@ -73,6 +74,18 @@ onPullDownRefresh(() => {
});
});
});
});
});
});
onLoad
(()
=>
{
xma
.
xh
.
getSystemInfo
({
success
(
res
)
{
// console.log('设备信息', res); // 设备信息
}
});
xma
.
xh
.
getMenuButtonBoundingClientRect
({
success
(
res
)
{
contentHeight
.
value
=
(
res
.
top
+
res
.
bottom
)
/
2
+
25
+
"px"
;
}
});
});
// 触底加载
// 触底加载
onReachBottom
(()
=>
{
onReachBottom
(()
=>
{
feedbackListFn
();
feedbackListFn
();
...
...
src/pages/recommend/index.vue
View file @
1606855d
<
template
>
<
template
>
<NavBar
:showIcon=
"false"
:showTitle=
"true"
title=
"推荐"
></NavBar>
<div
class=
"page"
>
<div
class=
"page"
>
<view
class=
"tabs"
>
<NavBar
:showIcon=
"false"
:showTitle=
"true"
title=
"推荐"
></NavBar>
<view
class=
"tabs"
:style=
"
{ position: sticky, top: contentHeight }">
<text
@
tap=
"changeActiveTab('求职推荐')"
:class=
"activeTab == '求职推荐' ? 'active' : ''"
>
求职推荐
</text>
<text
@
tap=
"changeActiveTab('求职推荐')"
:class=
"activeTab == '求职推荐' ? 'active' : ''"
>
求职推荐
</text>
<text
@
tap=
"changeActiveTab('职位管理')"
:class=
"activeTab == '职位管理' ? 'active' : ''"
>
职位管理
</text>
<text
@
tap=
"changeActiveTab('职位管理')"
:class=
"activeTab == '职位管理' ? 'active' : ''"
>
职位管理
</text>
</view>
</view>
...
@@ -139,6 +139,9 @@
...
@@ -139,6 +139,9 @@
</scroll-view>
</scroll-view>
</view>
</view>
<view
class=
"release-postion"
@
tap=
"releasePostion"
>
发布
</view>
<view
class=
"release-postion"
@
tap=
"releasePostion"
>
发布
</view>
<!--
<wd-fab
:draggable=
"true"
>
</wd-fab>
-->
</view>
</view>
</div>
</div>
</
template
>
</
template
>
...
@@ -172,6 +175,7 @@ import { useAsync } from "@/hooks/useAsync";
...
@@ -172,6 +175,7 @@ import { useAsync } from "@/hooks/useAsync";
import
_
from
"lodash"
;
import
_
from
"lodash"
;
import
{
useReleasePostionStore
}
from
"./releasePostion/store"
;
import
{
useReleasePostionStore
}
from
"./releasePostion/store"
;
/* tab */
/* tab */
const
contentHeight
=
ref
(
"100rpx"
);
const
pinias
=
useReleasePostionStore
();
const
pinias
=
useReleasePostionStore
();
const
activeTab
=
ref
(
"求职推荐"
);
const
activeTab
=
ref
(
"求职推荐"
);
const
changeActiveTab
=
tab
=>
{
const
changeActiveTab
=
tab
=>
{
...
@@ -229,9 +233,7 @@ const getApplicationListParams = ref({
...
@@ -229,9 +233,7 @@ const getApplicationListParams = ref({
pageSize
:
10
pageSize
:
10
});
});
const
getResumeRecommendList
=
()
=>
{
const
getResumeRecommendList
=
()
=>
{
getResumeRecommendListApi
(
getApplicationListParams
.
value
).
then
(
res
=>
{
getResumeRecommendListApi
(
getApplicationListParams
.
value
).
then
(
res
=>
{});
console
.
log
(
"resresresres"
,
res
);
});
};
};
// 城市筛选
// 城市筛选
const
valueCity
=
ref
([]);
const
valueCity
=
ref
([]);
...
@@ -356,9 +358,21 @@ const getJobList = (status = "") => {
...
@@ -356,9 +358,21 @@ const getJobList = (status = "") => {
v
.
workModeText
=
workModeText
;
v
.
workModeText
=
workModeText
;
v
.
statusText
=
statusText
;
v
.
statusText
=
statusText
;
});
});
jobList
.
value
=
res
.
data
;
jobList
.
value
=
[...
res
.
data
]
;
});
});
};
};
onLoad
(()
=>
{
xma
.
xh
.
getSystemInfo
({
success
(
res
)
{
// console.log('设备信息', res); // 设备信息
}
});
xma
.
xh
.
getMenuButtonBoundingClientRect
({
success
(
res
)
{
contentHeight
.
value
=
(
res
.
top
+
res
.
bottom
)
/
2
+
25
+
"px"
;
}
});
});
onShow
(()
=>
{
onShow
(()
=>
{
getTopFilter
();
getTopFilter
();
getJobList
();
getJobList
();
...
@@ -383,6 +397,7 @@ const switchJobStatus = async v => {
...
@@ -383,6 +397,7 @@ const switchJobStatus = async v => {
title
:
"操作成功"
,
title
:
"操作成功"
,
icon
:
"none"
icon
:
"none"
});
});
getJobList
();
}
else
{
}
else
{
uni
.
showToast
({
uni
.
showToast
({
title
:
res
.
message
,
title
:
res
.
message
,
...
@@ -505,12 +520,11 @@ const editJob = ({ id, status }) => {
...
@@ -505,12 +520,11 @@ const editJob = ({ id, status }) => {
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
flex-direction
:
column
;
flex-grow
:
1
;
flex-grow
:
1
;
height
:
200rpx
;
.release-postion
{
.release-postion
{
position
:
fixed
;
position
:
fixed
;
right
:
22rpx
;
right
:
22rpx
;
bottom
:
1
2
0rpx
;
bottom
:
1
5
0rpx
;
z-index
:
1
;
z-index
:
1
;
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
flex-direction
:
column
;
...
...
src/pages/recommend/invitation/index.vue
View file @
1606855d
...
@@ -19,7 +19,8 @@
...
@@ -19,7 +19,8 @@
<veiw
class=
"label"
>
面试时间
</veiw>
<veiw
class=
"label"
>
面试时间
</veiw>
<wd-datetime-picker
<wd-datetime-picker
v-model=
"date"
v-model=
"date"
:min-date=
"new Date().getTime()"
style=
"z-index: 999 !important"
:min-date=
"new Date(new Date().setHours(0, 0, 0, 0)).getTime()"
use-default-slot
use-default-slot
label=
"日期选择"
label=
"日期选择"
@
confirm=
"dateConfirm"
@
confirm=
"dateConfirm"
...
@@ -60,7 +61,6 @@
...
@@ -60,7 +61,6 @@
</
template
>
</
template
>
<
script
setup
>
<
script
setup
>
import
navBar
from
"@/components/navBar/index.vue"
;
import
dayjs
from
"dayjs"
;
import
dayjs
from
"dayjs"
;
import
{
getApplicationByIdApi
,
inviteInterviewApi
}
from
"@/api/postion"
;
import
{
getApplicationByIdApi
,
inviteInterviewApi
}
from
"@/api/postion"
;
import
{
reactive
,
ref
}
from
"vue"
;
import
{
reactive
,
ref
}
from
"vue"
;
...
...
src/pages/recommend/releasePostion/step1.vue
View file @
1606855d
<
template
>
<
template
>
<NavBar
:showIcon=
"true"
:showTitle=
"false"
title=
""
backgroundBox=
"#FFFFFF"
></NavBar>
<div
class=
"page"
>
<div
class=
"page"
>
<NavBar
:showIcon=
"true"
:showTitle=
"false"
title=
""
backgroundBox=
"#FFFFFF"
></NavBar>
<view
class=
"title"
>
<view
class=
"title"
>
<view
class=
"t1"
>
1/5填写职位信息
</view>
<view
class=
"t1"
>
1/5填写职位信息
</view>
<view
class=
"t2"
>
选择对应的职位并填写职位信息
</view>
<view
class=
"t2"
>
选择对应的职位并填写职位信息
</view>
...
@@ -47,7 +47,13 @@
...
@@ -47,7 +47,13 @@
</view>
</view>
<view
class=
"form-item describe"
style=
"border: 0"
>
<view
class=
"form-item describe"
style=
"border: 0"
>
<view
class=
"form-item-title"
>
职位描述
</view>
<view
class=
"form-item-title"
>
职位描述
</view>
<textarea
maxlength=
"500"
v-model=
"pinias.formData.jobDesc"
placeholder=
"请输入你的职位描述"
/>
<wd-textarea
custom-class=
"textarea"
show-word-limit
maxlength=
"500"
v-model=
"pinias.formData.jobDesc"
placeholder=
"请输入你的职位描述"
/>
</view>
</view>
</view>
</view>
...
@@ -94,6 +100,8 @@ const changeWorkMode = mode => {
...
@@ -94,6 +100,8 @@ const changeWorkMode = mode => {
pinias
.
setFormDataKey
(
"workMode"
,
mode
);
pinias
.
setFormDataKey
(
"workMode"
,
mode
);
pinias
.
setFormDataKey
(
"minSalary"
,
0
);
pinias
.
setFormDataKey
(
"minSalary"
,
0
);
pinias
.
setFormDataKey
(
"maxSalary"
,
0
);
pinias
.
setFormDataKey
(
"maxSalary"
,
0
);
console
.
log
(
"mode"
,
mode
);
if
(
mode
==
2
)
{
if
(
mode
==
2
)
{
// 小时
// 小时
pinias
.
setFormDataKey
(
"settlementType"
,
1
);
pinias
.
setFormDataKey
(
"settlementType"
,
1
);
...
@@ -124,6 +132,7 @@ const handleConfirm = ({ selectedItems, value }) => {
...
@@ -124,6 +132,7 @@ const handleConfirm = ({ selectedItems, value }) => {
pinias
.
setFormDataKey
(
"jobType"
,
taget
.
id
);
pinias
.
setFormDataKey
(
"jobType"
,
taget
.
id
);
};
};
const
next
=
()
=>
{
const
next
=
()
=>
{
xma
.
hideKeyboard
();
if
(
validateForm
(
pinias
.
formData
,
[
"jobType"
,
"jobTypeText"
,
"jobName"
,
"jobDesc"
]))
{
if
(
validateForm
(
pinias
.
formData
,
[
"jobType"
,
"jobTypeText"
,
"jobName"
,
"jobDesc"
]))
{
uni
.
navigateTo
({
uni
.
navigateTo
({
url
:
"/pages/recommend/releasePostion/step2"
url
:
"/pages/recommend/releasePostion/step2"
...
@@ -145,6 +154,23 @@ const next = () => {
...
@@ -145,6 +154,23 @@ const next = () => {
opacity
:
1
;
opacity
:
1
;
}
}
}
}
.page
{
.textarea
{
margin-top
:
32rpx
;
background
:
#f2f5fb
;
max-height
:
272rpx
;
:deep
(
.wd-textarea__value
)
{
background
:
#f2f5fb
!
important
;
max-height
:
272rpx
;
width
:
100%
;
padding
:
0
!
important
;
}
:deep
(
.wd-textarea__count
)
{
background
:
none
!
important
;
}
}
}
.switch
{
.switch
{
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
...
...
src/pages/recommend/releasePostion/step2.vue
View file @
1606855d
<
template
>
<
template
>
<NavBar
:showIcon=
"true"
:showTitle=
"false"
title=
""
backgroundBox=
"#FFFFFF"
></NavBar>
<div
class=
"page"
>
<div
class=
"page"
>
<NavBar
:showIcon=
"true"
:showTitle=
"false"
title=
""
backgroundBox=
"#FFFFFF"
></NavBar>
<view
class=
"title"
>
<view
class=
"title"
>
<view
class=
"t1"
>
2/5福利待遇
</view>
<view
class=
"t1"
>
2/5福利待遇
</view>
<view
class=
"t2"
>
给岗位选择对应福利待遇
</view>
<view
class=
"t2"
>
给岗位选择对应福利待遇
</view>
...
@@ -33,15 +33,12 @@
...
@@ -33,15 +33,12 @@
<view
class=
"title-box"
<view
class=
"title-box"
><view></view>
><view></view>
<view
class=
"title"
>
薪资选择
</view>
<view
class=
"title"
>
薪资选择
</view>
<wd-icon
name=
"close"
size=
"30rpx"
></wd-icon>
<wd-icon
@
click=
"handleClose"
name=
"close"
size=
"30rpx"
></wd-icon>
</view>
</view>
<wd-picker-view
<wd-picker-view
@
change=
"handleConfirm"
use-default-slot
:columns=
"columns"
v-model=
"value"
></wd-picker-view>
@
change=
"handleConfirm"
<view
style=
"width: 100%; display: flex; justify-content: center"
use-default-slot
><wd-button
style=
"width: 80%"
@
click=
"handleClose"
block
:round=
"false"
>
确定
</wd-button></view
:columns=
"columns"
>
v-model=
"value"
@
close=
"handleClose"
></wd-picker-view>
</wd-popup>
</wd-popup>
</view>
</view>
<view
class=
"form-item"
>
<view
class=
"form-item"
>
...
@@ -176,6 +173,13 @@ function onOpen() {
...
@@ -176,6 +173,13 @@ function onOpen() {
show
.
value
=
true
;
show
.
value
=
true
;
}
}
function
handleClose
()
{
function
handleClose
()
{
if
(
value
.
value
[
1
]
<
value
.
value
[
0
])
{
xma
.
showToast
({
title
:
"最高薪资不能小于最低薪资"
,
icon
:
"none"
});
return
;
}
show
.
value
=
false
;
show
.
value
=
false
;
}
}
/* 是否提供住宿 */
/* 是否提供住宿 */
...
@@ -264,16 +268,6 @@ initViewData();
...
@@ -264,16 +268,6 @@ initViewData();
:deep
(
.uni-checkbox-input
)
{
:deep
(
.uni-checkbox-input
)
{
border-radius
:
50%
!
important
;
border-radius
:
50%
!
important
;
}
}
.title-box
{
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
box-sizing
:
border-box
;
padding
:
0
32rpx
;
.title
{
font-weight
:
bold
;
}
}
.welfare
{
.welfare
{
display
:
flex
;
display
:
flex
;
flex-wrap
:
wrap
;
flex-wrap
:
wrap
;
...
...
src/pages/recommend/releasePostion/step3.vue
View file @
1606855d
<
template
>
<
template
>
<NavBar
v-if=
"showTab"
:showIcon=
"true"
:showTitle=
"false"
title=
""
backgroundBox=
"#FFFFFF"
></NavBar>
<div
class=
"page"
>
<div
class=
"page"
>
<NavBar
v-if=
"showTab"
:showIcon=
"true"
:showTitle=
"false"
title=
""
backgroundBox=
"#FFFFFF"
></NavBar>
<view
class=
"title"
>
<view
class=
"title"
>
<view
class=
"t1"
>
3/5工作地点
</view>
<view
class=
"t1"
>
3/5工作地点
</view>
<view
class=
"t2"
>
添加准确的就职工作地址
</view>
<view
class=
"t2"
>
添加准确的就职工作地址
</view>
...
...
src/pages/recommend/releasePostion/step4.vue
View file @
1606855d
<
template
>
<
template
>
<NavBar
:showIcon=
"true"
:showTitle=
"false"
title=
""
backgroundBox=
"#FFFFFF"
></NavBar>
<div
class=
"page"
>
<div
class=
"page"
>
<NavBar
:showIcon=
"true"
:showTitle=
"false"
title=
""
backgroundBox=
"#FFFFFF"
></NavBar>
<view
class=
"title"
>
<view
class=
"title"
>
<view
class=
"t1"
>
4/5填写职位信息
</view>
<view
class=
"t1"
>
4/5填写职位信息
</view>
<view
class=
"t2"
>
设置招聘偏好,让报名更精准
</view>
<view
class=
"t2"
>
设置招聘偏好,让报名更精准
</view>
...
...
src/pages/recommend/releasePostion/step5.vue
View file @
1606855d
<
template
>
<
template
>
<NavBar
:showIcon=
"true"
:showTitle=
"false"
title=
""
backgroundBox=
"#FFFFFF"
></NavBar>
<div
class=
"page"
>
<div
class=
"page"
>
<NavBar
:showIcon=
"true"
:showTitle=
"false"
title=
""
backgroundBox=
"#FFFFFF"
></NavBar>
<view
class=
"title"
>
<view
class=
"title"
>
<view
class=
"t1"
>
5/5 更多要求
</view>
<view
class=
"t1"
>
5/5 更多要求
</view>
<view
class=
"t2"
>
设置招聘偏好,让报名更精准
</view>
<view
class=
"t2"
>
设置招聘偏好,让报名更精准
</view>
...
@@ -46,21 +46,33 @@ import { useReleasePostionStore } from "./store";
...
@@ -46,21 +46,33 @@ import { useReleasePostionStore } from "./store";
const
pinias
=
useReleasePostionStore
();
const
pinias
=
useReleasePostionStore
();
import
{
validateForm
}
from
"@/utils/utils"
;
import
{
validateForm
}
from
"@/utils/utils"
;
const
submit
=
()
=>
{
const
submit
=
()
=>
{
xma
.
hideKeyboard
();
xma
.
showLoading
({
title
:
"提交中"
,
mask
:
true
});
if
(
pinias
.
formData
.
id
)
{
if
(
pinias
.
formData
.
id
)
{
// 更新
// 更新
updateJobApi
(
pinias
.
formData
).
then
(
res
=>
{
updateJobApi
(
pinias
.
formData
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
)
{
pinias
.
resetForm
();
pinias
.
resetForm
();
uni
.
showToast
({
setTimeout
(()
=>
{
title
:
"更新成功"
,
wx
.
hideLoading
({
icon
:
"none"
,
complete
:
complete
=>
{
duration
:
2000
,
if
(
complete
.
errMsg
==
"hideLoading:ok"
)
{
success
:
()
=>
{
wx
.
showToast
({
uni
.
switchTab
({
title
:
"更新成功"
,
url
:
"/pages/recommend/index"
icon
:
"none"
});
});
}
}
});
}
});
},
2000
);
setTimeout
(()
=>
{
uni
.
switchTab
({
url
:
"/pages/recommend/index"
});
},
3000
);
}
else
{
}
else
{
uni
.
showToast
({
uni
.
showToast
({
title
:
res
.
msg
,
title
:
res
.
msg
,
...
@@ -75,16 +87,23 @@ const submit = () => {
...
@@ -75,16 +87,23 @@ const submit = () => {
createJobApi
(
pinias
.
formData
).
then
(
res
=>
{
createJobApi
(
pinias
.
formData
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
if
(
res
.
code
==
200
)
{
pinias
.
resetForm
();
pinias
.
resetForm
();
uni
.
showToast
({
setTimeout
(()
=>
{
title
:
"发布成功"
,
wx
.
hideLoading
({
icon
:
"none"
,
complete
:
complete
=>
{
duration
:
2000
,
if
(
complete
.
errMsg
==
"hideLoading:ok"
)
{
success
:
()
=>
{
wx
.
showToast
({
uni
.
switchTab
({
title
:
"发布成功"
,
url
:
"/pages/recommend/index"
icon
:
"none"
});
});
}
}
});
}
});
},
2000
);
setTimeout
(()
=>
{
uni
.
switchTab
({
url
:
"/pages/recommend/index"
});
},
3000
);
}
else
{
}
else
{
uni
.
showToast
({
uni
.
showToast
({
title
:
res
.
msg
,
title
:
res
.
msg
,
...
...
src/pages/recommend/releasePostion/store.js
View file @
1606855d
...
@@ -42,7 +42,7 @@ export const useReleasePostionStore = defineStore("useReleasePostionStore", ()=>
...
@@ -42,7 +42,7 @@ export const useReleasePostionStore = defineStore("useReleasePostionStore", ()=>
jobTypeText
:
""
,
jobTypeText
:
""
,
jobDesc
:
""
,
jobDesc
:
""
,
negotiableSalary
:
0
,
negotiableSalary
:
0
,
settlementType
:
1
,
settlementType
:
4
,
minSalary
:
0
,
minSalary
:
0
,
maxSalary
:
0
,
maxSalary
:
0
,
benefits
:
""
,
benefits
:
""
,
...
...
src/pages/signUp/addPost.vue
View file @
1606855d
This diff is collapsed.
Click to expand it.
src/pages/signUp/index.scss
View file @
1606855d
...
@@ -2,27 +2,44 @@
...
@@ -2,27 +2,44 @@
box-sizing
:
border-box
;
box-sizing
:
border-box
;
display
:
flex
;
display
:
flex
;
flex-direction
:
column
;
flex-direction
:
column
;
height
:
100%
;
background
:
#F3F4F8
;
min-height
:
100vh
;
.title
{
.title
{
padding
:
32rpx
;
padding
:
32rpx
0
;
font-size
:
48rpx
;
font-size
:
48rpx
;
font-weight
:
normal
;
font-weight
:
normal
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
width
:
100%
;
line-height
:
54rpx
;
line-height
:
54rpx
;
white-space
:
nowrap
;
color
:
#1b2026
;
color
:
#1b2026
;
}
}
.form
{
.form
{
flex
:
1
;
flex
:
1
;
padding
:
32rpx
;
font-size
:
28rpx
;
font-size
:
28rpx
;
.from-item
{
margin-top
:
32rpx
;
background-color
:
#fff
;
box-sizing
:
border-box
;
padding
:
0
32rpx
;
}
input
{
input
{
font-size
:
28rpx
;
font-size
:
28rpx
;
}
}
.placeholder
{
.placeholder
{
color
:
#77818f
;
color
:
#77818f
;
}
}
.from-item
:nth-child
(
1
)
{
margin-top
:
0
;
}
}
}
.footer
{
.footer
{
padding
:
16rpx
0
;
display
:
flex
;
border-top
:
2rpx
solid
rgb
(
31
35
41
/
15%
);
align-items
:
center
;
justify-content
:
space-around
;
width
:
100%
;
height
:
100%
;
}
}
}
}
src/pages/signUp/index.vue
View file @
1606855d
<
template
>
<
template
>
<div
class=
"page"
>
<div
class=
"page
1
"
>
<NavBar
:showIcon=
"true"
:showTitle=
"true"
title=
"岗位信息"
backgroundBox=
"#FFFFFF"
></NavBar>
<NavBar
:showIcon=
"true"
:showTitle=
"true"
title=
"岗位信息"
backgroundBox=
"#FFFFFF"
></NavBar>
<div
class=
"title"
>
填写企业信息
</div>
<div
class=
"title
1
"
>
填写企业信息
</div>
<div
class=
"form"
>
<div
class=
"form"
>
<formItem
title=
"企业(单位)名称"
>
<formItem
title=
"企业(单位)名称"
>
<input
type=
"text"
v-model=
"pinias.formData.companyName"
placeholder=
"请填写单位名称"
/>
<input
type=
"text"
v-model=
"pinias.formData.companyName"
placeholder=
"请填写单位名称"
/>
...
@@ -16,9 +16,15 @@
...
@@ -16,9 +16,15 @@
<textarea
type=
"text"
v-model=
"pinias.formData.companyIntro"
placeholder=
"请输入简介"
/>
<textarea
type=
"text"
v-model=
"pinias.formData.companyIntro"
placeholder=
"请输入简介"
/>
</formItem>
</formItem>
</div>
</div>
<div
class=
"footer"
>
<wd-tabbar
<button
class=
"bottom-btn"
@
click=
"next"
>
下一步
</button>
@
tap=
"next"
</div>
custom-style=
"display: flex;justify-content: center !important;z-index:1;"
fixed
placeholder
safeAreaInsetBottom
>
<view
class=
"footer"
>
<button
class=
"foot-btn"
@
click=
"next"
>
下一步
</button></view>
</wd-tabbar>
</div>
</div>
</
template
>
</
template
>
...
@@ -47,8 +53,37 @@ const next = () => {
...
@@ -47,8 +53,37 @@ const next = () => {
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
@import
"./index.scss"
;
@import
"./index.scss"
;
.page1
{
background
:
#fff
;
box-sizing
:
border-box
;
padding
:
0
32rpx
;
.title1
{
padding
:
32rpx
0
;
font-size
:
48rpx
;
font-weight
:
normal
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
width
:
100%
;
line-height
:
54rpx
;
white-space
:
nowrap
;
color
:
#1b2026
;
}
.foot-btn
{
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
width
:
622rpx
;
height
:
80rpx
;
color
:
#ffffff
;
background
:
#1f86ff
;
border-radius
:
12rpx
;
}
}
textarea
{
textarea
{
width
:
100%
;
width
:
100%
;
height
:
108
px
;
height
:
216r
px
;
}
}
</
style
>
</
style
>
src/pages/user/editUserInfo/index.vue
View file @
1606855d
...
@@ -23,9 +23,15 @@
...
@@ -23,9 +23,15 @@
<input
type=
"number"
v-model=
"params.phone"
placeholder=
"请输入电话"
/>
<input
type=
"number"
v-model=
"params.phone"
placeholder=
"请输入电话"
/>
</div>
</div>
</div>
</div>
<div
class=
"footer"
>
<wd-tabbar
<button
class=
"bottom-btn"
@
click=
"submit"
>
保存
</button>
@
tap=
"next"
</div>
custom-style=
"display: flex;justify-content: center !important;z-index:1;"
fixed
placeholder
safeAreaInsetBottom
>
<view
class=
"foot-btn"
@
click=
"submit"
>
保存
</view>
</wd-tabbar>
</div>
</div>
</
template
>
</
template
>
...
@@ -123,9 +129,17 @@ const submit = () => {
...
@@ -123,9 +129,17 @@ const submit = () => {
}
}
}
}
}
}
.footer
{
padding
:
8px
0
;
.foot-btn
{
border-top
:
1rpx
solid
#1f2329
18
;
position
:
fixed
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
width
:
622rpx
;
height
:
80rpx
;
color
:
#ffffff
;
background
:
#1f86ff
;
border-radius
:
12rpx
;
}
}
}
}
</
style
>
</
style
>
src/pages/user/index.vue
View file @
1606855d
...
@@ -98,20 +98,20 @@ const navList = reactive([
...
@@ -98,20 +98,20 @@ const navList = reactive([
removeToken
();
removeToken
();
},
},
text
:
"退出登录"
text
:
"退出登录"
},
{
icon
:
new
URL
(
"@/static/image/user/loginout.png"
,
import
.
meta
.
url
).
href
,
url
:
"/pages/login/test"
,
fn
:
()
=>
{
removeToken
();
},
text
:
"退出登录(去测试登录)"
},
{
icon
:
new
URL
(
"@/static/image/user/loginout.png"
,
import
.
meta
.
url
).
href
,
url
:
"/pages/user/businessLicense/fillIn"
,
text
:
"企业认证"
}
}
// {
// icon: new URL("@/static/image/user/loginout.png", import.meta.url).href,
// url: "/pages/login/test",
// fn: () => {
// removeToken();
// },
// text: "退出登录(去测试登录)"
// },
// {
// icon: new URL("@/static/image/user/loginout.png", import.meta.url).href,
// url: "/pages/user/businessLicense/fillIn",
// text: "企业认证"
// }
//
//
]);
]);
/* 个人信息 */
/* 个人信息 */
...
...
src/pages/user/myCompany/index.vue
View file @
1606855d
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
<img
v-if=
"params.logoPath"
:src=
"evn.APP_IMAGE_BASE_API + params.logoPath"
@
click=
"chooseImage"
/>
<img
v-if=
"params.logoPath"
:src=
"evn.APP_IMAGE_BASE_API + params.logoPath"
@
click=
"chooseImage"
/>
<img
v-else
src=
"@/static/image/temp/defaultCompany.png"
alt=
""
@
click=
"chooseImage"
/>
<img
v-else
src=
"@/static/image/temp/defaultCompany.png"
alt=
""
@
click=
"chooseImage"
/>
<div
class=
"name"
>
{{
companyInfo
.
name
}}
</div>
<div
class=
"name"
>
{{
companyInfo
.
name
}}
</div>
<formItem
title=
"营业执照"
arrow
:border=
"false"
@
click=
"jupmLicenseInfo"
>
<formItem
style=
"margin-top: 80rpx"
title=
"营业执照"
arrow
:border=
"false"
@
click=
"jupmLicenseInfo"
>
<p
:class=
"`status$
{companyInfo.companyAudit?.status}`">
{{
auditStatus
}}
</p>
<p
:class=
"`status$
{companyInfo.companyAudit?.status}`">
{{
auditStatus
}}
</p>
</formItem>
</formItem>
</div>
</div>
...
@@ -35,7 +35,7 @@
...
@@ -35,7 +35,7 @@
</formItem>
</formItem>
<div
class=
"textarea-wrap"
>
<div
class=
"textarea-wrap"
>
<p
class=
"label"
>
公司介绍
</p>
<p
class=
"label"
>
公司介绍
</p>
<textarea
placeholder=
"请输入公司介绍"
v-model=
"params.companyIntro"
/>
<textarea
maxlength=
"500"
placeholder=
"请输入公司介绍"
v-model=
"params.companyIntro"
/>
</div>
</div>
</div>
</div>
</div>
</div>
...
...
src/pages/user/myCompany/licenseInfo.vue
View file @
1606855d
...
@@ -49,7 +49,7 @@
...
@@ -49,7 +49,7 @@
<view
class=
"item"
>
<view
class=
"item"
>
<view
class=
"label"
>
有效期
</view>
<view
class=
"label"
>
有效期
</view>
<view
class=
"content"
>
<view
class=
"content"
>
<wd-radio-group
v-model=
"radio"
shape=
"dot"
inline
:disabled=
"status != 2"
>
<wd-radio-group
@
change=
"change"
v-model=
"radio"
shape=
"dot"
inline
:disabled=
"status != 2"
>
<wd-radio
:value=
"1"
>
长期
</wd-radio>
<wd-radio
:value=
"1"
>
长期
</wd-radio>
<wd-radio
:value=
"2"
>
具体时间
</wd-radio>
<wd-radio
:value=
"2"
>
具体时间
</wd-radio>
</wd-radio-group>
</wd-radio-group>
...
@@ -60,12 +60,12 @@
...
@@ -60,12 +60,12 @@
<wd-calendar
<wd-calendar
v-model=
"myLicenseValidityPeriod"
v-model=
"myLicenseValidityPeriod"
:disabled=
"radio == 1 && status != 2"
:disabled=
"radio == 1 && status != 2"
:min-date=
"
new Date().getTime()
"
:min-date=
"
minDate
"
:max-date=
"
new Date('2059/01/01').getTime()
"
:max-date=
"
maxDate
"
use-default-slot
use-default-slot
>
>
<view
:class=
"`content ${radio == 1 ? 'disabled' : ''}`"
>
<view
:class=
"`content ${radio == 1 ? 'disabled' : ''}`"
>
{{ (myLicenseValidityPeriod
&&
dayjs(myLicenseValidityPeriod).format(
"YYYY-MM-DD")) || "请选择" }}
{{ (myLicenseValidityPeriod
&&
$formatTimestamp(myLicenseValidityPeriod,
"YYYY-MM-DD")) || "请选择" }}
</view>
</view>
</wd-calendar>
</wd-calendar>
</view>
</view>
...
@@ -88,11 +88,21 @@ const companyName = ref("");
...
@@ -88,11 +88,21 @@ const companyName = ref("");
const
myCode
=
ref
(
""
);
const
myCode
=
ref
(
""
);
const
myLicensePath
=
ref
(
""
);
const
myLicensePath
=
ref
(
""
);
let
status
=
ref
(
1
);
let
status
=
ref
(
1
);
let
myLicenseValidityPeriod
=
ref
(
4102329600000
);
let
myLicenseValidityPeriod
=
ref
(
new
Date
().
getTime
()
);
let
companyInfo
=
reactive
({});
let
companyInfo
=
reactive
({});
let
minDate
=
ref
(
new
Date
().
getTime
());
let
maxDate
=
ref
(
new
Date
().
getTime
()
+
1000
*
60
*
60
*
24
*
365
);
onReady
(()
=>
{
onReady
(()
=>
{
getCompanyInfoApiFn
();
getCompanyInfoApiFn
();
});
});
function
change
(
e
)
{
console
.
log
(
e
);
if
(
e
.
value
==
2
)
{
myLicenseValidityPeriod
.
value
=
new
Date
().
getTime
();
}
else
{
myLicenseValidityPeriod
.
value
=
4102329600000
;
}
}
function
getCompanyInfoApiFn
()
{
function
getCompanyInfoApiFn
()
{
getCompanyInfoApi
().
then
(
res
=>
{
getCompanyInfoApi
().
then
(
res
=>
{
companyInfo
=
res
.
data
;
companyInfo
=
res
.
data
;
...
@@ -102,11 +112,11 @@ function getCompanyInfoApiFn() {
...
@@ -102,11 +112,11 @@ function getCompanyInfoApiFn() {
myCode
.
value
=
res
.
data
.
companyAudit
.
creditCode
;
myCode
.
value
=
res
.
data
.
companyAudit
.
creditCode
;
myLicenseValidityPeriod
.
value
=
res
.
data
.
licenseValidityPeriod
;
myLicenseValidityPeriod
.
value
=
res
.
data
.
licenseValidityPeriod
;
if
(
res
.
data
.
licenseValidityPeriod
==
4102329600000
)
{
//
if (res.data.licenseValidityPeriod == 4102329600000) {
radio
.
value
=
1
;
//
radio.value = 1;
}
else
{
//
} else {
radio
.
value
=
2
;
//
radio.value = 2;
}
//
}
});
});
}
}
/* 选择图片 */
/* 选择图片 */
...
...
src/utils/request.js
View file @
1606855d
import
axios
from
"axios"
;
import
axios
from
"axios"
;
import
{
getToken
,
removeToken
}
from
"@/utils/token"
;
import
{
getToken
,
removeToken
}
from
"@/utils/token"
;
//
const baseURL = "https://lygsh-api.wjzpgz.com/";
const
baseURL
=
"https://lygsh-api.wjzpgz.com/"
;
const
baseURL
=
"http://192.168.11.179
:8080/"
;
// const baseURL = "http://192.168.11.181
:8080/";
// 创建一个 axios 实例
// 创建一个 axios 实例
const
instance
=
axios
.
create
({
const
instance
=
axios
.
create
({
baseURL
,
// 设置基础 URL
baseURL
,
// 设置基础 URL
...
...
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