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
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
518 additions
and
315 deletions
+518
-315
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
+264
-210
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 @@
<NavBar
:showIcon=
"true"
:showTitle=
"true"
title=
"文章详情"
backgroundBox=
"#FFFFFF"
></NavBar>
<div
class=
"page"
>
<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=
"flex-between"
>
<div
class=
"publisher"
>
{{
data
.
publisher
}}
</div>
...
...
@@ -53,6 +57,7 @@ onLoad(({ id }) => {
data
.
value
.
bmStutas
=
Res
.
data
;
});
});
function
next
()
{
xma
.
navigateTo
({
url
:
`/pages/signUp/index?articleId=
${
articleId
.
value
}
`
...
...
src/pages/dynamic/index.vue
View file @
1606855d
<
template
>
<NavBar
:showIcon=
"false"
:showTitle=
"true"
title=
"动态"
></NavBar>
<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">
<view
:class=
"
{ item: 1, active: active == v.id }" v-for="v in typeList" :key="v.id" @click="changeType(v)">
{{
v
.
name
...
...
src/pages/messageList/index.vue
View file @
1606855d
...
...
@@ -13,12 +13,13 @@
<view
class=
"message flex-between"
>
<text>
{{
v
.
content
}}
</text>
<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>
</view>
</view>
</view>
<wd-status-tip
v-if=
"list.length == 0"
image=
"../.././static/image/enmpty-dt.png"
tip=
"暂无消息"
/>
</view>
</scroll-view>
</div>
...
...
@@ -37,7 +38,7 @@ const params = ref({
isEnd
:
false
});
const
goToDetail
=
item
=>
{
if
(
item
.
type
==
3
||
item
.
type
==
4
)
{
if
(
[
3
,
4
,
7
].
includes
(
item
.
type
)
)
{
xma
.
navigateTo
({
url
:
`/pages/user/myCompany/licenseInfo?id=
${
item
.
id
}
`
});
...
...
src/pages/policy/index.vue
View file @
1606855d
<
template
>
<NavBar
:showIcon=
"false"
:showTitle=
"true"
title=
"政策"
></NavBar>
<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)">
{{
v
.
name
}}
</view>
...
...
@@ -18,6 +18,7 @@ import articleList from "@/components/articleList/index.vue";
import
{
getArticleListApi
,
getArticleTypesApi
}
from
"@/api/article.js"
;
import
{
reactive
,
ref
}
from
"vue"
;
const
active
=
ref
(
""
);
const
contentHeight
=
ref
(
"100rpx"
);
const
typeList
=
ref
([{
id
:
""
,
name
:
"全部"
}]);
getArticleTypesApi
(
1
).
then
(
res
=>
{
typeList
.
value
.
push
(...
res
.
data
);
...
...
@@ -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
(()
=>
{
feedbackListFn
();
...
...
src/pages/recommend/index.vue
View file @
1606855d
<
template
>
<NavBar
:showIcon=
"false"
:showTitle=
"true"
title=
"推荐"
></NavBar>
<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>
</view>
...
...
@@ -139,6 +139,9 @@
</scroll-view>
</view>
<view
class=
"release-postion"
@
tap=
"releasePostion"
>
发布
</view>
<!--
<wd-fab
:draggable=
"true"
>
</wd-fab>
-->
</view>
</div>
</
template
>
...
...
@@ -172,6 +175,7 @@ import { useAsync } from "@/hooks/useAsync";
import
_
from
"lodash"
;
import
{
useReleasePostionStore
}
from
"./releasePostion/store"
;
/* tab */
const
contentHeight
=
ref
(
"100rpx"
);
const
pinias
=
useReleasePostionStore
();
const
activeTab
=
ref
(
"求职推荐"
);
const
changeActiveTab
=
tab
=>
{
...
...
@@ -229,9 +233,7 @@ const getApplicationListParams = ref({
pageSize
:
10
});
const
getResumeRecommendList
=
()
=>
{
getResumeRecommendListApi
(
getApplicationListParams
.
value
).
then
(
res
=>
{
console
.
log
(
"resresresres"
,
res
);
});
getResumeRecommendListApi
(
getApplicationListParams
.
value
).
then
(
res
=>
{});
};
// 城市筛选
const
valueCity
=
ref
([]);
...
...
@@ -356,9 +358,21 @@ const getJobList = (status = "") => {
v
.
workModeText
=
workModeText
;
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
(()
=>
{
getTopFilter
();
getJobList
();
...
...
@@ -383,6 +397,7 @@ const switchJobStatus = async v => {
title
:
"操作成功"
,
icon
:
"none"
});
getJobList
();
}
else
{
uni
.
showToast
({
title
:
res
.
message
,
...
...
@@ -505,12 +520,11 @@ const editJob = ({ id, status }) => {
display
:
flex
;
flex-direction
:
column
;
flex-grow
:
1
;
height
:
200rpx
;
.release-postion
{
position
:
fixed
;
right
:
22rpx
;
bottom
:
1
2
0rpx
;
bottom
:
1
5
0rpx
;
z-index
:
1
;
display
:
flex
;
flex-direction
:
column
;
...
...
src/pages/recommend/invitation/index.vue
View file @
1606855d
...
...
@@ -19,7 +19,8 @@
<veiw
class=
"label"
>
面试时间
</veiw>
<wd-datetime-picker
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
label=
"日期选择"
@
confirm=
"dateConfirm"
...
...
@@ -60,7 +61,6 @@
</
template
>
<
script
setup
>
import
navBar
from
"@/components/navBar/index.vue"
;
import
dayjs
from
"dayjs"
;
import
{
getApplicationByIdApi
,
inviteInterviewApi
}
from
"@/api/postion"
;
import
{
reactive
,
ref
}
from
"vue"
;
...
...
src/pages/recommend/releasePostion/step1.vue
View file @
1606855d
<
template
>
<NavBar
:showIcon=
"true"
:showTitle=
"false"
title=
""
backgroundBox=
"#FFFFFF"
></NavBar>
<div
class=
"page"
>
<NavBar
:showIcon=
"true"
:showTitle=
"false"
title=
""
backgroundBox=
"#FFFFFF"
></NavBar>
<view
class=
"title"
>
<view
class=
"t1"
>
1/5填写职位信息
</view>
<view
class=
"t2"
>
选择对应的职位并填写职位信息
</view>
...
...
@@ -47,7 +47,13 @@
</view>
<view
class=
"form-item describe"
style=
"border: 0"
>
<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>
...
...
@@ -94,6 +100,8 @@ const changeWorkMode = mode => {
pinias
.
setFormDataKey
(
"workMode"
,
mode
);
pinias
.
setFormDataKey
(
"minSalary"
,
0
);
pinias
.
setFormDataKey
(
"maxSalary"
,
0
);
console
.
log
(
"mode"
,
mode
);
if
(
mode
==
2
)
{
// 小时
pinias
.
setFormDataKey
(
"settlementType"
,
1
);
...
...
@@ -124,6 +132,7 @@ const handleConfirm = ({ selectedItems, value }) => {
pinias
.
setFormDataKey
(
"jobType"
,
taget
.
id
);
};
const
next
=
()
=>
{
xma
.
hideKeyboard
();
if
(
validateForm
(
pinias
.
formData
,
[
"jobType"
,
"jobTypeText"
,
"jobName"
,
"jobDesc"
]))
{
uni
.
navigateTo
({
url
:
"/pages/recommend/releasePostion/step2"
...
...
@@ -145,6 +154,23 @@ const next = () => {
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
{
display
:
flex
;
align-items
:
center
;
...
...
src/pages/recommend/releasePostion/step2.vue
View file @
1606855d
<
template
>
<NavBar
:showIcon=
"true"
:showTitle=
"false"
title=
""
backgroundBox=
"#FFFFFF"
></NavBar>
<div
class=
"page"
>
<NavBar
:showIcon=
"true"
:showTitle=
"false"
title=
""
backgroundBox=
"#FFFFFF"
></NavBar>
<view
class=
"title"
>
<view
class=
"t1"
>
2/5福利待遇
</view>
<view
class=
"t2"
>
给岗位选择对应福利待遇
</view>
...
...
@@ -33,15 +33,12 @@
<view
class=
"title-box"
><view></view>
<view
class=
"title"
>
薪资选择
</view>
<wd-icon
name=
"close"
size=
"30rpx"
></wd-icon>
<wd-icon
@
click=
"handleClose"
name=
"close"
size=
"30rpx"
></wd-icon>
</view>
<wd-picker-view
@
change=
"handleConfirm"
use-default-slot
:columns=
"columns"
v-model=
"value"
@
close=
"handleClose"
></wd-picker-view>
<wd-picker-view
@
change=
"handleConfirm"
use-default-slot
:columns=
"columns"
v-model=
"value"
></wd-picker-view>
<view
style=
"width: 100%; display: flex; justify-content: center"
><wd-button
style=
"width: 80%"
@
click=
"handleClose"
block
:round=
"false"
>
确定
</wd-button></view
>
</wd-popup>
</view>
<view
class=
"form-item"
>
...
...
@@ -176,6 +173,13 @@ function onOpen() {
show
.
value
=
true
;
}
function
handleClose
()
{
if
(
value
.
value
[
1
]
<
value
.
value
[
0
])
{
xma
.
showToast
({
title
:
"最高薪资不能小于最低薪资"
,
icon
:
"none"
});
return
;
}
show
.
value
=
false
;
}
/* 是否提供住宿 */
...
...
@@ -264,16 +268,6 @@ initViewData();
:deep
(
.uni-checkbox-input
)
{
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
{
display
:
flex
;
flex-wrap
:
wrap
;
...
...
src/pages/recommend/releasePostion/step3.vue
View file @
1606855d
<
template
>
<NavBar
v-if=
"showTab"
:showIcon=
"true"
:showTitle=
"false"
title=
""
backgroundBox=
"#FFFFFF"
></NavBar>
<div
class=
"page"
>
<NavBar
v-if=
"showTab"
:showIcon=
"true"
:showTitle=
"false"
title=
""
backgroundBox=
"#FFFFFF"
></NavBar>
<view
class=
"title"
>
<view
class=
"t1"
>
3/5工作地点
</view>
<view
class=
"t2"
>
添加准确的就职工作地址
</view>
...
...
src/pages/recommend/releasePostion/step4.vue
View file @
1606855d
<
template
>
<NavBar
:showIcon=
"true"
:showTitle=
"false"
title=
""
backgroundBox=
"#FFFFFF"
></NavBar>
<div
class=
"page"
>
<NavBar
:showIcon=
"true"
:showTitle=
"false"
title=
""
backgroundBox=
"#FFFFFF"
></NavBar>
<view
class=
"title"
>
<view
class=
"t1"
>
4/5填写职位信息
</view>
<view
class=
"t2"
>
设置招聘偏好,让报名更精准
</view>
...
...
src/pages/recommend/releasePostion/step5.vue
View file @
1606855d
<
template
>
<NavBar
:showIcon=
"true"
:showTitle=
"false"
title=
""
backgroundBox=
"#FFFFFF"
></NavBar>
<div
class=
"page"
>
<NavBar
:showIcon=
"true"
:showTitle=
"false"
title=
""
backgroundBox=
"#FFFFFF"
></NavBar>
<view
class=
"title"
>
<view
class=
"t1"
>
5/5 更多要求
</view>
<view
class=
"t2"
>
设置招聘偏好,让报名更精准
</view>
...
...
@@ -46,21 +46,33 @@ import { useReleasePostionStore } from "./store";
const
pinias
=
useReleasePostionStore
();
import
{
validateForm
}
from
"@/utils/utils"
;
const
submit
=
()
=>
{
xma
.
hideKeyboard
();
xma
.
showLoading
({
title
:
"提交中"
,
mask
:
true
});
if
(
pinias
.
formData
.
id
)
{
// 更新
updateJobApi
(
pinias
.
formData
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
pinias
.
resetForm
();
uni
.
showToast
({
title
:
"更新成功"
,
icon
:
"none"
,
duration
:
2000
,
success
:
()
=>
{
uni
.
switchTab
({
url
:
"/pages/recommend/index"
});
}
});
setTimeout
(()
=>
{
wx
.
hideLoading
({
complete
:
complete
=>
{
if
(
complete
.
errMsg
==
"hideLoading:ok"
)
{
wx
.
showToast
({
title
:
"更新成功"
,
icon
:
"none"
});
}
}
});
},
2000
);
setTimeout
(()
=>
{
uni
.
switchTab
({
url
:
"/pages/recommend/index"
});
},
3000
);
}
else
{
uni
.
showToast
({
title
:
res
.
msg
,
...
...
@@ -75,16 +87,23 @@ const submit = () => {
createJobApi
(
pinias
.
formData
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
pinias
.
resetForm
();
uni
.
showToast
({
title
:
"发布成功"
,
icon
:
"none"
,
duration
:
2000
,
success
:
()
=>
{
uni
.
switchTab
({
url
:
"/pages/recommend/index"
});
}
});
setTimeout
(()
=>
{
wx
.
hideLoading
({
complete
:
complete
=>
{
if
(
complete
.
errMsg
==
"hideLoading:ok"
)
{
wx
.
showToast
({
title
:
"发布成功"
,
icon
:
"none"
});
}
}
});
},
2000
);
setTimeout
(()
=>
{
uni
.
switchTab
({
url
:
"/pages/recommend/index"
});
},
3000
);
}
else
{
uni
.
showToast
({
title
:
res
.
msg
,
...
...
src/pages/recommend/releasePostion/store.js
View file @
1606855d
...
...
@@ -42,7 +42,7 @@ export const useReleasePostionStore = defineStore("useReleasePostionStore", ()=>
jobTypeText
:
""
,
jobDesc
:
""
,
negotiableSalary
:
0
,
settlementType
:
1
,
settlementType
:
4
,
minSalary
:
0
,
maxSalary
:
0
,
benefits
:
""
,
...
...
src/pages/signUp/addPost.vue
View file @
1606855d
<
template
>
<div
class=
"page"
>
<div
class=
"title"
>
添加岗位信息
{{
pinias
.
formData
.
positionList
.
length
+
1
}}
</div>
<div
class=
"form"
>
<div
class=
"grid"
>
<div
class=
"from-item"
v-for=
"(item, index) in postItem"
:key=
"index + Math.random()"
>
<div
class=
"title"
>
<view>
添加岗位信息
{{
index
+
1
}}
</view>
<wd-icon
v-if=
"index > 0"
@
click=
"deleteItem(index)"
name=
"close-outline"
size=
"34rpx"
></wd-icon>
</div>
<formItem
full
title=
"岗位名称"
>
<input
type=
"text"
v-model=
"postItem.jobName"
placeholder=
"请填写岗位名称"
/>
<input
type=
"text"
@
input=
"changeInput($event, 'jobName', index)"
v-model=
"item.jobName"
placeholder=
"请填写岗位名称"
/>
</formItem>
<formItem
title=
"招聘人数"
>
<input
type=
"number"
v-model=
"postItem.recruitmentNumber"
placeholder=
"请填写招聘的人数"
/>
<input
type=
"number"
@
input=
"changeInput($event, 'recruitmentNumber', index)"
v-model=
"item.recruitmentNumber"
placeholder=
"请填写招聘的人数"
/>
</formItem>
<formItem
title=
"年龄要求"
>
<wd-col-picker
v-model=
"age"
:columns=
"ageColumns"
:close-on-click-modal=
"false"
:column-change=
"changeAge"
@
confirm=
"confirmAge"
use-default-slot
>
<view
:class=
"`inner flex-between $
{
ageText ? '' : 'placeholder'}`" bind:tap="onOpen
">
{{
ageText
||
"请选择年龄要求"
}}
<view
:class=
"`inner flex-between $
{
item.ageText ? '' : 'placeholder'}`" @tap="changePicker(index)
">
{{
item
.
ageText
||
"请选择年龄要求"
}}
<view
class=
"arrow"
></view>
</view>
</wd-col-picker>
...
...
@@ -28,21 +42,48 @@
:columns=
"educationColumns"
value-key=
"code"
label-key=
"text"
v-model=
"
postI
tem.educationRequirement"
v-model=
"
i
tem.educationRequirement"
@
confirm=
"confirmEducation"
use-default-slot
>
<view
:class=
"`inner flex-between $
{
educationText ? '' : 'placeholder'}`
">
<view
:class=
"`inner flex-between $
{
item.educationText ? '' : 'placeholder'}`" @tap="changePicker(index)
">
<view
class=
"flex-align-center"
bind:tap=
"onShowIdentitySelect"
>
{{
educationText
||
"请选择学历"
}}
{{
item
.
educationText
||
"请选择学历"
}}
</view>
<view
class=
"arrow"
></view>
</view>
</wd-picker>
</formItem>
<formItem
title=
"薪资待遇"
>
<wd-col-picker
<formItem
title=
"薪资待遇"
><view
:class=
"`inner flex-between $
{item.salaryText ? '' : 'placeholder'}`" @click="onOpen(index)">
{{
item
.
salaryText
||
"请选择月薪范围"
}}
<!--
<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>
<wd-picker-view
@
change=
"handleConfirm"
use-default-slot
:columns=
"salaryColumns"
v-model=
"moneyValue"
></wd-picker-view>
<view
style=
"width: 100%; display: flex; justify-content: center"
><wd-button
:data-index=
"index"
style=
"width: 80%"
@
click=
"handleClose"
block
:round=
"false"
>
确定
</wd-button
></view
>
</wd-popup>
<!--
<wd-col-picker
v-model=
"salary"
:columns=
"salaryColumns"
:column-change=
"changeSalary"
...
...
@@ -53,45 +94,39 @@
{{
salaryText
||
"请选择薪资"
}}
<view
class=
"arrow"
></view>
</view>
</wd-col-picker>
</wd-col-picker>
-->
</formItem>
<formItem
title=
"是否提供食宿"
full
>
<wd-radio-group
shape=
"dot"
inline
v-model=
"
postI
tem.accommodation"
>
<wd-radio-group
shape=
"dot"
inline
v-model=
"
i
tem.accommodation"
>
<wd-radio
v-for=
"v in EnumAccommodation"
:key=
"v.code"
:value=
"v.code"
>
{{
v
.
text
}}
</wd-radio>
</wd-radio-group>
</formItem>
<formItem
title=
"是否缴纳五险一金"
full
>
<wd-radio-group
shape=
"dot"
inline
v-model=
"
postI
tem.socialInsurance"
>
<wd-radio-group
shape=
"dot"
inline
v-model=
"
i
tem.socialInsurance"
>
<wd-radio
value=
"1"
>
是
</wd-radio>
<wd-radio
value=
"0"
>
否
</wd-radio>
</wd-radio-group>
</formItem>
<formItem
title=
"岗位专业(技能)要求"
full
>
<textarea
v-model=
"
postI
tem.skills"
placeholder=
"请输入岗位专业(技能)要求"
/>
<textarea
v-model=
"
i
tem.skills"
placeholder=
"请输入岗位专业(技能)要求"
/>
</formItem>
<!--
<formItem
title=
"备注"
full
>
<input
v-model=
"postItem.socialInsurance"
placeholder=
"请填写"
/>
</formItem>
-->
</div>
</div>
<!-- 确认提交 -->
<wd-overlay
:show=
"show"
@
click=
"show = false"
>
<view
class=
"wrapper flex-center"
>
<view
class=
"block"
@
click
.
stop=
""
>
<img
src=
"@/static/image/signUp.png"
alt=
""
/>
<p>
您已填写
{{
pinias
.
formData
.
companyName
}}
</p>
<p>
招聘岗位
{{
pinias
.
formData
.
positionList
.
length
}}
类
</p>
<div
class=
"btn"
>
<button
class=
"b1"
@
click=
"show = false"
>
继续提交
</button>
<button
class=
"b2"
@
click=
"submit"
>
提交报名
</button>
</div>
</view>
</view>
</wd-overlay>
<div
class=
"footer"
>
<button
class=
"b1"
@
click=
"addPost"
>
继续提交
</button>
<button
class=
"b2"
@
click=
"openMask"
>
提交报名
</button>
</div>
<wd-tabbar
@
tap=
"next"
custom-style=
"display: flex;justify-content: center !important;z-index:1;"
fixed
placeholder
safeAreaInsetBottom
>
<view
class=
"footer"
>
<button
class=
"foot-btn1"
@
click=
"addPost"
>
继续添加
</button>
<button
class=
"foot-btn"
@
click=
"openMask"
>
提交报名
</button></view
>
</wd-tabbar>
</div>
</
template
>
...
...
@@ -102,20 +137,26 @@ import formItem from "./formItem.vue";
import
{
useStore
}
from
"./store"
;
const
pinias
=
useStore
();
import
{
jobFairRegisterApi
}
from
"@/api/article"
;
let
my
=
ref
(
false
);
let
moneyValue
=
ref
([]);
let
currentIndex
=
ref
(
0
);
const
show
=
ref
(
false
);
const
postItem
=
ref
({
jobName
:
""
,
recruitmentNumber
:
1
,
minAgeRequirement
:
0
,
maxAgeRequirement
:
0
,
educationRequirement
:
"0"
,
minSalary
:
0
,
maxSalary
:
0
,
socialInsurance
:
"1"
,
accommodation
:
"0"
,
skills
:
""
});
const
postItem
=
ref
([
{
jobName
:
""
,
recruitmentNumber
:
1
,
//身份
minAgeRequirement
:
0
,
//最小年龄
maxAgeRequirement
:
0
,
//最大年龄
educationRequirement
:
"0"
,
//学历要求EnumEducationRequirement
minSalary
:
1000
,
//最低薪资
maxSalary
:
1000
,
//最高薪资
socialInsurance
:
"1"
,
ageText
:
null
,
educationText
:
null
,
accommodation
:
"0"
,
//是否提供食宿EnumAccommodation
skills
:
""
//"岗位专业(技能)要求
}
]);
/* 年龄 */
const
age
=
ref
([]);
const
ageText
=
ref
(
"不限"
);
...
...
@@ -132,25 +173,54 @@ const changeAge = ({ selectedItem, resolve, finish }) => {
resolve
(
temp
);
}
}
else
{
postItem
.
value
.
minAgeRequirement
=
0
;
postItem
.
value
.
maxAgeRequirement
=
0
;
ageText
.
value
=
"不限"
;
postItem
.
value
[
currentIndex
.
value
]
.
minAgeRequirement
=
0
;
postItem
.
value
[
currentIndex
.
value
]
.
maxAgeRequirement
=
0
;
postItem
.
value
[
currentIndex
.
value
].
ageText
=
"不限"
;
finish
();
}
};
function
deleteItem
(
index
)
{
postItem
.
value
.
splice
(
index
,
1
);
}
function
onOpen
(
index
)
{
currentIndex
.
value
=
index
;
show
.
value
=
true
;
my
.
value
=
false
;
}
function
changePicker
(
index
)
{
currentIndex
.
value
=
index
;
console
.
log
(
"currentIndex.value"
,
currentIndex
.
value
);
}
function
onChecked
()
{
my
.
value
=
!
my
.
value
;
// 如果勾选了面议
if
(
my
.
value
)
{
// postItem
salaryText
.
value
=
""
;
postItem
.
value
[
currentIndex
.
value
].
minSalary
=
0
;
postItem
.
value
[
currentIndex
.
value
].
maxSalary
=
0
;
}
else
{
postItem
.
value
[
currentIndex
.
value
].
minSalary
=
""
;
postItem
.
value
[
currentIndex
.
value
].
maxSalary
=
""
;
}
}
const
confirmAge
=
({
value
,
selectedItems
})
=>
{
const
[
min
,
max
]
=
value
;
console
.
log
(
selectedItems
);
if
(
max
)
{
postItem
.
value
.
minAgeRequirement
=
min
;
postItem
.
value
.
maxAgeRequirement
=
max
;
postItem
.
value
[
currentIndex
.
value
]
.
minAgeRequirement
=
min
;
postItem
.
value
[
currentIndex
.
value
]
.
maxAgeRequirement
=
max
;
}
else
{
postItem
.
value
.
minAgeRequirement
=
0
;
postItem
.
value
.
maxAgeRequirement
=
0
;
ageText
.
value
=
"不限"
;
postItem
.
value
[
currentIndex
.
value
]
.
minAgeRequirement
=
0
;
postItem
.
value
[
currentIndex
.
value
]
.
maxAgeRequirement
=
0
;
postItem
.
value
[
currentIndex
.
value
].
ageText
=
"不限"
;
}
ageText
.
value
=
selectedItems
.
map
(
v
=>
v
.
label
).
join
(
"~"
);
postItem
.
value
[
currentIndex
.
value
].
ageText
=
selectedItems
.
map
(
v
=>
v
.
label
).
join
(
"~"
);
};
function
changeInput
(
e
,
type
,
index
)
{
let
{
value
}
=
e
.
detail
;
currentIndex
.
value
=
index
;
postItem
.
value
[
index
][
type
]
=
value
;
}
const
initAgeColumns
=
()
=>
{
const
temp
=
[
{
...
...
@@ -177,13 +247,13 @@ const initEducationColumns = async () => {
educationColumns
.
value
=
await
getEumData
(
"EnumEducationRequirement"
);
};
const
confirmEducation
=
({
selectedItems
})
=>
{
educationText
.
value
=
selectedItems
.
text
;
postItem
.
value
[
currentIndex
.
value
].
educationText
=
selectedItems
.
text
;
};
initEducationColumns
();
/* 薪水 */
const
salary
=
ref
([]);
const
salaryText
=
ref
(
""
);
const
salaryText
=
ref
(
"
1K
"
);
const
salaryColumns
=
ref
([]);
const
changeSalary
=
({
selectedItem
,
resolve
,
finish
})
=>
{
if
(
selectedItem
.
next
)
{
...
...
@@ -200,34 +270,64 @@ const changeSalary = ({ selectedItem, resolve, finish }) => {
finish
();
}
};
const
confirmSalary
=
({
value
,
selectedItems
})
=>
{
const
[
min
,
max
]
=
value
;
if
(
max
)
{
postItem
.
value
.
minSalary
=
min
;
postItem
.
value
.
maxSalary
=
max
;
}
else
{
postItem
.
value
.
minSalary
=
0
;
postItem
.
value
.
maxSalary
=
0
;
salaryText
.
value
=
"面议"
;
}
salaryText
.
value
=
selectedItems
.
map
(
v
=>
v
.
label
).
join
(
"~"
);
};
const
initsalaryColumns
=
()
=>
{
const
temp
=
[
{
value
:
"面议"
,
label
:
"面议"
,
next
:
false
}
];
for
(
let
i
=
1
;
i
<
50
;
i
++
)
{
let
multiple
=
1000
;
const
temp
=
[];
// 生成序列
for
(
let
i
=
1
;
i
<=
50
;
i
++
)
{
const
currentValue
=
i
*
multiple
;
temp
.
push
({
value
:
i
*
1000
,
label
:
i
*
1000
,
value
:
currentValue
,
label
:
currentValue
/
multiple
+
"K"
,
next
:
true
});
}
salaryColumns
.
value
.
push
(
temp
);
// 确保 columns.value 是一个数组
if
(
!
Array
.
isArray
(
salaryColumns
.
value
))
{
salaryColumns
.
value
=
[];
}
// 清空原来的数组,以确保只包含新的数据
salaryColumns
.
value
.
length
=
0
;
// 将 temp 复制两次,推入 columns.value
salaryColumns
.
value
.
push
([...
temp
],
[...
temp
]);
};
function
handleClose
()
{
if
(
moneyValue
.
value
[
1
]
<
moneyValue
.
value
[
0
])
{
xma
.
showToast
({
title
:
"最高薪资不能小于最低薪资"
,
icon
:
"none"
});
return
;
}
postItem
.
value
[
currentIndex
.
value
].
maxSalary
=
moneyValue
.
value
[
1
];
postItem
.
value
[
currentIndex
.
value
].
minSalary
=
moneyValue
.
value
[
0
];
show
.
value
=
false
;
}
function
changeIndex
(
index
)
{
currentIndex
=
index
;
console
.
log
(
"currentIndex"
,
currentIndex
);
}
const
handleConfirm
=
({
selectedItem
,
value
})
=>
{
if
(
value
[
1
]
<
value
[
0
])
{
xma
.
showToast
({
title
:
"最高薪资不能小于最低薪资"
,
icon
:
"none"
});
return
;
}
else
{
postItem
.
value
[
currentIndex
.
value
].
maxSalary
=
moneyValue
.
value
[
1
];
postItem
.
value
[
currentIndex
.
value
].
minSalary
=
moneyValue
.
value
[
0
];
}
// my.value = false;
postItem
.
value
[
currentIndex
.
value
].
salaryText
=
value
.
map
(
num
=>
`
${
num
/
1000
}
k`
).
join
(
"~"
);
};
initsalaryColumns
();
/* 是否提供食宿 */
...
...
@@ -238,61 +338,27 @@ const initEnumAccommodation = async () => {
initEnumAccommodation
();
/* 添加 */
const
addPost
=
()
=>
{
const
{
jobName
,
recruitmentNumber
,
educationRequirement
,
socialInsurance
,
accommodation
,
skills
}
=
postItem
.
value
;
ageText
;
salaryText
;
if
(
[
jobName
,
recruitmentNumber
,
educationRequirement
,
socialInsurance
,
accommodation
,
skills
,
ageText
.
value
,
salaryText
.
value
].
some
(
v
=>
{
return
v
===
""
;
})
)
{
uni
.
showToast
({
title
:
"请填写完整"
,
icon
:
"none"
});
return
;
}
if
(
pinias
.
formData
.
positionList
.
length
==
0
)
{
let
arr
=
[];
arr
.
push
(
postItem
.
value
);
pinias
.
setFormDataKey
(
"positionList"
,
arr
);
}
else
{
pinias
.
setFormDataKey
(
"positionList"
,
[...
pinias
.
formData
.
positionList
,
postItem
.
value
]);
}
/* 数据清空 */
postItem
.
value
=
{
postItem
.
value
.
push
(
{
jobName
:
""
,
recruitmentNumber
:
1
,
minAgeRequirement
:
0
,
maxAgeRequirement
:
0
,
educationRequirement
:
"0"
,
minSalary
:
0
,
maxSalary
:
0
,
recruitmentNumber
:
1
,
//身份
minAgeRequirement
:
0
,
//最小年龄
maxAgeRequirement
:
0
,
//最大年龄
educationRequirement
:
"0"
,
//学历要求EnumEducationRequirement
minSalary
:
1000
,
//最低薪资
maxSalary
:
1000
,
//最高薪资
socialInsurance
:
"1"
,
accommodation
:
"0"
,
skills
:
""
};
ageText
.
value
=
""
;
salaryText
.
value
=
""
;
age
.
value
=
[];
salary
.
value
=
[];
console
.
log
(
postItem
.
value
);
ageText
:
null
,
educationText
:
null
,
accommodation
:
"0"
,
//是否提供食宿EnumAccommodation
skills
:
""
//"岗位专业(技能)要求
});
};
/* 提交 */
const
openMask
=
()
=>
{
console
.
log
(
"postItem.value"
,
postItem
.
value
);
if
(
validateForm
(
postItem
.
value
,
[
const
result
=
postItem
.
value
.
every
(
item
=>
{
return
validateForm
(
item
,
[
"accommodation"
,
"educationRequirement"
,
"jobName"
,
...
...
@@ -303,19 +369,43 @@ const openMask = () => {
"recruitmentNumber"
,
"skills"
,
"socialInsurance"
])
)
{
if
(
pinias
.
formData
.
positionList
.
length
==
0
)
{
let
arr
=
[];
arr
.
push
(
postItem
.
value
);
pinias
.
setFormDataKey
(
"positionList"
,
arr
);
show
.
value
=
true
;
}
else
{
pinias
.
setFormDataKey
(
"positionList"
,
[...
pinias
.
formData
.
positionList
,
postItem
.
value
]);
show
.
value
=
true
;
}
]);
});
if
(
!
result
)
{
// 如果有任意一个 item 验证失败,则提示用户
uni
.
showToast
({
title
:
`请填写完整`
,
icon
:
"none"
,
duration
:
2000
});
return
false
;
}
else
{
pinias
.
setFormDataKey
(
"positionList"
,
postItem
.
value
);
console
.
log
(
"pinias.formData"
,
pinias
.
formData
);
jobFairRegisterApi
(
pinias
.
formData
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
postItem
.
value
=
[
{
jobName
:
""
,
recruitmentNumber
:
1
,
//身份
minAgeRequirement
:
0
,
//最小年龄
maxAgeRequirement
:
0
,
//最大年龄
educationRequirement
:
"0"
,
//学历要求EnumEducationRequirement
minSalary
:
1000
,
//最低薪资
maxSalary
:
1000
,
//最高薪资
socialInsurance
:
"1"
,
ageText
:
null
,
educationText
:
null
,
accommodation
:
"0"
,
//是否提供食宿EnumAccommodation
skills
:
""
//"岗位专业(技能)要求
}
];
pinias
.
resetForm
();
xma
.
reLaunch
({
url
:
"/pages/recommend/index"
});
}
});
}
};
const
validateForm
=
(
formData
,
requiredFields
)
=>
{
...
...
@@ -324,7 +414,7 @@ const validateForm = (formData, requiredFields) => {
// 排除 0 和 "0" 的值,不作为空值校验
if
(
value
===
undefined
||
value
===
null
||
value
===
""
)
{
uni
.
showToast
({
title
:
`请填写
完整
`
,
title
:
`请填写
${
field
}
字段
`
,
icon
:
"none"
,
duration
:
2000
});
...
...
@@ -333,53 +423,6 @@ const validateForm = (formData, requiredFields) => {
}
return
true
;
};
const
submit
=
()
=>
{
console
.
log
(
pinias
.
formData
);
if
(
validateForm
(
postItem
.
value
,
[
"accommodation"
,
"educationRequirement"
,
"jobName"
,
"maxAgeRequirement"
,
"maxSalary"
,
"minAgeRequirement"
,
"minSalary"
,
"recruitmentNumber"
,
"skills"
,
"socialInsurance"
])
)
{
console
.
log
(
"pinias"
,
pinias
);
pinias
.
resetForm
();
return
;
jobFairRegisterApi
(
pinias
.
formData
).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
postItem
.
value
=
{
jobName
:
""
,
recruitmentNumber
:
1
,
minAgeRequirement
:
0
,
maxAgeRequirement
:
0
,
educationRequirement
:
"0"
,
minSalary
:
0
,
maxSalary
:
0
,
socialInsurance
:
"1"
,
accommodation
:
"0"
,
skills
:
""
};
ageText
.
value
=
""
;
salaryText
.
value
=
""
;
age
.
value
=
[];
salary
.
value
=
[];
pinias
.
resetForm
();
xma
.
reLaunch
({
url
:
"/pages/recommend/index"
});
}
console
.
log
(
res
);
});
}
};
</
script
>
<
style
lang=
"scss"
scoped
>
...
...
@@ -394,30 +437,41 @@ const submit = () => {
width
:
100%
;
height
:
140rpx
;
}
}
.footer
{
display
:
flex
;
button
{
width
:
296rpx
;
height
:
80rpx
;
line-height
:
80rpx
;
}
.b1
{
font-size
:
30rpx
;
font-weight
:
600
;
color
:
#1f86ff
;
background
:
#1f86ff
0f
;
&
:
:
after
{
border
:
0
;
.title-box
{
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
box-sizing
:
border-box
;
padding
:
0
32rpx
;
.title
{
font-weight
:
bold
;
font-size
:
32rpx
;
}
}
.b2
{
font-size
:
30rpx
;
font-weight
:
600
;
color
:
#ffffff
;
background
:
#1f86ff
;
:deep
(
.uni-checkbox-input
)
{
border-radius
:
50%
!
important
;
}
}
.foot-btn
{
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
width
:
296rpx
;
height
:
80rpx
;
color
:
#ffffff
;
background
:
#1f86ff
;
border-radius
:
12rpx
;
}
.foot-btn1
{
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
width
:
296rpx
;
height
:
80rpx
;
color
:
#1f86ff
;
background
:
#e8f2ff
;
border-radius
:
12rpx
;
}
.wrapper
{
width
:
100%
;
height
:
100%
;
...
...
src/pages/signUp/index.scss
View file @
1606855d
...
...
@@ -2,27 +2,44 @@
box-sizing
:
border-box
;
display
:
flex
;
flex-direction
:
column
;
height
:
100%
;
background
:
#F3F4F8
;
min-height
:
100vh
;
.title
{
padding
:
32rpx
;
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
;
}
.form
{
flex
:
1
;
padding
:
32rpx
;
font-size
:
28rpx
;
.from-item
{
margin-top
:
32rpx
;
background-color
:
#fff
;
box-sizing
:
border-box
;
padding
:
0
32rpx
;
}
input
{
font-size
:
28rpx
;
}
.placeholder
{
color
:
#77818f
;
}
.from-item
:nth-child
(
1
)
{
margin-top
:
0
;
}
}
.footer
{
padding
:
16rpx
0
;
border-top
:
2rpx
solid
rgb
(
31
35
41
/
15%
);
display
:
flex
;
align-items
:
center
;
justify-content
:
space-around
;
width
:
100%
;
height
:
100%
;
}
}
src/pages/signUp/index.vue
View file @
1606855d
<
template
>
<div
class=
"page"
>
<div
class=
"page
1
"
>
<NavBar
:showIcon=
"true"
:showTitle=
"true"
title=
"岗位信息"
backgroundBox=
"#FFFFFF"
></NavBar>
<div
class=
"title"
>
填写企业信息
</div>
<div
class=
"title
1
"
>
填写企业信息
</div>
<div
class=
"form"
>
<formItem
title=
"企业(单位)名称"
>
<input
type=
"text"
v-model=
"pinias.formData.companyName"
placeholder=
"请填写单位名称"
/>
...
...
@@ -16,9 +16,15 @@
<textarea
type=
"text"
v-model=
"pinias.formData.companyIntro"
placeholder=
"请输入简介"
/>
</formItem>
</div>
<div
class=
"footer"
>
<button
class=
"bottom-btn"
@
click=
"next"
>
下一步
</button>
</div>
<wd-tabbar
@
tap=
"next"
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>
</
template
>
...
...
@@ -47,8 +53,37 @@ const next = () => {
<
style
lang=
"scss"
scoped
>
@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
{
width
:
100%
;
height
:
108
px
;
height
:
216r
px
;
}
</
style
>
src/pages/user/editUserInfo/index.vue
View file @
1606855d
...
...
@@ -23,9 +23,15 @@
<input
type=
"number"
v-model=
"params.phone"
placeholder=
"请输入电话"
/>
</div>
</div>
<div
class=
"footer"
>
<button
class=
"bottom-btn"
@
click=
"submit"
>
保存
</button>
</div>
<wd-tabbar
@
tap=
"next"
custom-style=
"display: flex;justify-content: center !important;z-index:1;"
fixed
placeholder
safeAreaInsetBottom
>
<view
class=
"foot-btn"
@
click=
"submit"
>
保存
</view>
</wd-tabbar>
</div>
</
template
>
...
...
@@ -123,9 +129,17 @@ const submit = () => {
}
}
}
.footer
{
padding
:
8px
0
;
border-top
:
1rpx
solid
#1f2329
18
;
.foot-btn
{
position
:
fixed
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
width
:
622rpx
;
height
:
80rpx
;
color
:
#ffffff
;
background
:
#1f86ff
;
border-radius
:
12rpx
;
}
}
</
style
>
src/pages/user/index.vue
View file @
1606855d
...
...
@@ -98,20 +98,20 @@ const navList = reactive([
removeToken
();
},
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 @@
<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"
/>
<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>
</formItem>
</div>
...
...
@@ -35,7 +35,7 @@
</formItem>
<div
class=
"textarea-wrap"
>
<p
class=
"label"
>
公司介绍
</p>
<textarea
placeholder=
"请输入公司介绍"
v-model=
"params.companyIntro"
/>
<textarea
maxlength=
"500"
placeholder=
"请输入公司介绍"
v-model=
"params.companyIntro"
/>
</div>
</div>
</div>
...
...
src/pages/user/myCompany/licenseInfo.vue
View file @
1606855d
...
...
@@ -49,7 +49,7 @@
<view
class=
"item"
>
<view
class=
"label"
>
有效期
</view>
<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=
"2"
>
具体时间
</wd-radio>
</wd-radio-group>
...
...
@@ -60,12 +60,12 @@
<wd-calendar
v-model=
"myLicenseValidityPeriod"
:disabled=
"radio == 1 && status != 2"
:min-date=
"
new Date().getTime()
"
:max-date=
"
new Date('2059/01/01').getTime()
"
:min-date=
"
minDate
"
:max-date=
"
maxDate
"
use-default-slot
>
<view
:class=
"`content ${radio == 1 ? 'disabled' : ''}`"
>
{{ (myLicenseValidityPeriod
&&
dayjs(myLicenseValidityPeriod).format(
"YYYY-MM-DD")) || "请选择" }}
{{ (myLicenseValidityPeriod
&&
$formatTimestamp(myLicenseValidityPeriod,
"YYYY-MM-DD")) || "请选择" }}
</view>
</wd-calendar>
</view>
...
...
@@ -88,11 +88,21 @@ const companyName = ref("");
const
myCode
=
ref
(
""
);
const
myLicensePath
=
ref
(
""
);
let
status
=
ref
(
1
);
let
myLicenseValidityPeriod
=
ref
(
4102329600000
);
let
myLicenseValidityPeriod
=
ref
(
new
Date
().
getTime
()
);
let
companyInfo
=
reactive
({});
let
minDate
=
ref
(
new
Date
().
getTime
());
let
maxDate
=
ref
(
new
Date
().
getTime
()
+
1000
*
60
*
60
*
24
*
365
);
onReady
(()
=>
{
getCompanyInfoApiFn
();
});
function
change
(
e
)
{
console
.
log
(
e
);
if
(
e
.
value
==
2
)
{
myLicenseValidityPeriod
.
value
=
new
Date
().
getTime
();
}
else
{
myLicenseValidityPeriod
.
value
=
4102329600000
;
}
}
function
getCompanyInfoApiFn
()
{
getCompanyInfoApi
().
then
(
res
=>
{
companyInfo
=
res
.
data
;
...
...
@@ -102,11 +112,11 @@ function getCompanyInfoApiFn() {
myCode
.
value
=
res
.
data
.
companyAudit
.
creditCode
;
myLicenseValidityPeriod
.
value
=
res
.
data
.
licenseValidityPeriod
;
if
(
res
.
data
.
licenseValidityPeriod
==
4102329600000
)
{
radio
.
value
=
1
;
}
else
{
radio
.
value
=
2
;
}
//
if (res.data.licenseValidityPeriod == 4102329600000) {
//
radio.value = 1;
//
} else {
//
radio.value = 2;
//
}
});
}
/* 选择图片 */
...
...
src/utils/request.js
View file @
1606855d
import
axios
from
"axios"
;
import
{
getToken
,
removeToken
}
from
"@/utils/token"
;
//
const baseURL = "https://lygsh-api.wjzpgz.com/";
const
baseURL
=
"http://192.168.11.179
:8080/"
;
const
baseURL
=
"https://lygsh-api.wjzpgz.com/"
;
// const baseURL = "http://192.168.11.181
:8080/";
// 创建一个 axios 实例
const
instance
=
axios
.
create
({
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