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
10eb7e7a
Commit
10eb7e7a
authored
Oct 24, 2024
by
石建新(贵阳日报)
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
9a49ce04
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
168 additions
and
45 deletions
+168
-45
user.js
src/api/user.js
+3
-0
font.css
src/assets/font.css
+8
-0
ysbth.TTF
src/assets/ysbth.TTF
+0
-0
main.ts
src/main.ts
+4
-1
index.vue
src/pages/dynamic/index.vue
+2
-5
index.vue
src/pages/login/index.vue
+20
-8
index.vue
src/pages/recommend/index.vue
+3
-1
step2.vue
src/pages/recommend/releasePostion/step2.vue
+8
-0
step3.vue
src/pages/recommend/releasePostion/step3.vue
+11
-11
fillIn.vue
src/pages/user/businessLicense/fillIn.vue
+92
-3
index.vue
src/pages/user/index.vue
+14
-14
index.vue
src/pages/user/problemRecord/index.vue
+1
-0
request.js
src/utils/request.js
+2
-2
No files found.
src/api/user.js
View file @
10eb7e7a
...
@@ -40,5 +40,8 @@ export const feedbackList = params => instance.post("/feedback/list", params);
...
@@ -40,5 +40,8 @@ export const feedbackList = params => instance.post("/feedback/list", params);
//获取公司申诉信息
//获取公司申诉信息
export
const
appealInfo
=
params
=>
instance
.
post
(
"/company/appeal/info"
,
params
);
export
const
appealInfo
=
params
=>
instance
.
post
(
"/company/appeal/info"
,
params
);
//营业执照ocr
export
const
ocrLicense
=
params
=>
instance
.
postForm
(
"/ocr/license"
,
params
);
//根据id获取反馈信息
//根据id获取反馈信息
export
const
feedbackById
=
params
=>
instance
.
post
(
`/feedback/
${
params
}
`
);
export
const
feedbackById
=
params
=>
instance
.
post
(
`/feedback/
${
params
}
`
);
src/assets/font.css
0 → 100644
View file @
10eb7e7a
@font-face
{
font-family
:
"YSBTH"
;
src
:
url('./ysbth.TTF')
;
font-weight
:
normal
;
font-style
:
normal
;
}
\ No newline at end of file
src/assets/ysbth.TTF
0 → 100644
View file @
10eb7e7a
File added
src/main.ts
View file @
10eb7e7a
...
@@ -3,13 +3,16 @@ import App from "./App.vue";
...
@@ -3,13 +3,16 @@ import App from "./App.vue";
import
store
from
"./store"
;
import
store
from
"./store"
;
import
Vconsole
from
"vconsole"
;
import
Vconsole
from
"vconsole"
;
import
NavBar
from
"@/components/navBar/index.vue"
;
import
NavBar
from
"@/components/navBar/index.vue"
;
// 字体
import
'@/assets/font.css'
;
import
{
formatTimestamp
}
from
"@/utils/utils"
;
import
{
formatTimestamp
}
from
"@/utils/utils"
;
export
function
createApp
()
{
export
function
createApp
()
{
const
app
=
createSSRApp
(
App
);
const
app
=
createSSRApp
(
App
);
app
.
config
.
globalProperties
.
$formatTimestamp
=
formatTimestamp
;
app
.
config
.
globalProperties
.
$formatTimestamp
=
formatTimestamp
;
app
.
component
(
"NavBar"
,
NavBar
);
app
.
component
(
"NavBar"
,
NavBar
);
const
vConsole
=
new
Vconsole
();
const
vConsole
=
new
Vconsole
();
app
.
use
(
store
,
vConsole
);
app
.
use
(
store
);
// app.use(vConsole);
return
{
return
{
app
app
};
};
...
...
src/pages/dynamic/index.vue
View file @
10eb7e7a
...
@@ -19,11 +19,8 @@ import articleList from "@/components/articleList/index.vue";
...
@@ -19,11 +19,8 @@ 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
contentHeight
=
ref
(
"100rpx"
);
const
contentHeight
=
ref
(
"100rpx"
);
const
active
=
ref
(
""
);
const
active
=
ref
(
"zph"
);
const
typeList
=
ref
([
const
typeList
=
ref
([{
id
:
"zph"
,
name
:
"招聘会"
}]);
{
id
:
""
,
name
:
"全部"
},
{
id
:
"zph"
,
name
:
"招聘会"
}
]);
getArticleTypesApi
(
2
).
then
(
res
=>
{
getArticleTypesApi
(
2
).
then
(
res
=>
{
typeList
.
value
.
push
(...
res
.
data
);
typeList
.
value
.
push
(...
res
.
data
);
});
});
...
...
src/pages/login/index.vue
View file @
10eb7e7a
...
@@ -3,14 +3,14 @@
...
@@ -3,14 +3,14 @@
<NavBar
:showIcon=
"false"
:showTitle=
"true"
title=
"登录"
></NavBar>
<NavBar
:showIcon=
"false"
:showTitle=
"true"
title=
"登录"
></NavBar>
<!-- pages/login/login.wxml -->
<!-- pages/login/login.wxml -->
<view
class=
"login-page"
>
<view
class=
"login-page"
>
<nav-bar
class=
"nav-bar"
>
<view></view>
<template
#
title
>
<text
class=
"student"
>
登录
</text>
</
template
>
</nav-bar>
<view
class=
"title"
>
<view
class=
"title"
>
<text
class=
"t1"
>
乐业观山湖
</text>
<text
class=
"t1"
>
乐业观山湖
</text>
<text
class=
"t2"
>
您最贴心的求职小伙伴
</text>
<text
class=
"t2"
>
安全、便捷的就业、创业服务平台
</text>
</view>
</view>
<button
class=
"login-btn"
@
click=
"login"
>
授权手机号登录
</button>
<button
class=
"login-btn"
@
click=
"login"
>
授权手机号登录
</button>
<view
class=
"unit-name"
>
观山湖区人力资源与社会保障局
</view>
</view>
</view>
<!--
{{
res
}}
-->
<!--
{{
res
}}
-->
</div>
</div>
...
@@ -69,6 +69,10 @@ const login = () => {
...
@@ -69,6 +69,10 @@ const login = () => {
background-size
:
auto
100%
;
background-size
:
auto
100%
;
}
}
.login-page
{
.login-page
{
display
:
flex
;
flex-direction
:
column
;
justify-content
:
center
;
align-items
:
center
;
.student
{
.student
{
font-size
:
36rpx
;
font-size
:
36rpx
;
font-weight
:
600
;
font-weight
:
600
;
...
@@ -83,24 +87,32 @@ const login = () => {
...
@@ -83,24 +87,32 @@ const login = () => {
.t1
{
.t1
{
font-size
:
80rpx
;
font-size
:
80rpx
;
font-weight
:
normal
;
font-weight
:
normal
;
font-family
:
ysbth
;
color
:
#0e2761
;
color
:
#0e2761
;
}
}
.t2
{
.t2
{
font-size
:
24rpx
;
font-size
:
24rpx
;
font-weight
:
500
;
color
:
#1b2026
;
color
:
#1b2026
;
}
}
}
}
.login-btn
{
.login-btn
{
position
:
absolute
;
// position: fixed;
bottom
:
336rpx
;
// bottom: 336rpx;
left
:
50%
;
// left: 50%;
margin-top
:
371
*
2rpx
;
width
:
640rpx
;
width
:
640rpx
;
height
:
96rpx
;
height
:
96rpx
;
font-size
:
34rpx
;
font-size
:
34rpx
;
line-height
:
96rpx
;
line-height
:
96rpx
;
color
:
#ffffff
;
color
:
#ffffff
;
background-color
:
#1f86ff
;
background-color
:
#1f86ff
;
transform
:
translate
(
-50%
,
0
);
}
.unit-name
{
margin-top
:
240rpx
;
font-size
:
24rpx
;
font-weight
:
500
;
color
:
#1b2026
;
}
}
}
}
</
style
>
</
style
>
src/pages/recommend/index.vue
View file @
10eb7e7a
...
@@ -206,7 +206,7 @@ const handleConfirm = ({ selectedItems, value }) => {
...
@@ -206,7 +206,7 @@ const handleConfirm = ({ selectedItems, value }) => {
};
};
const
myJobId
=
ref
(
""
);
const
myJobId
=
ref
(
""
);
function
changeType
(
v
)
{
function
changeType
(
v
)
{
activeEducation
0
value
=
v
.
code
;
activeEducation
.
value
=
v
.
code
;
myJobId
.
value
=
v
.
id
;
myJobId
.
value
=
v
.
id
;
getResumeRecommendList
();
getResumeRecommendList
();
}
}
...
@@ -375,7 +375,9 @@ const confirmFilter = () => {
...
@@ -375,7 +375,9 @@ const confirmFilter = () => {
getApplicationListParams
.
value
.
pageNo
=
1
;
getApplicationListParams
.
value
.
pageNo
=
1
;
getApplicationListParams
.
value
.
pageSize
=
10
;
getApplicationListParams
.
value
.
pageSize
=
10
;
// 获取推荐列表
// 获取推荐列表
refresh
().
then
(()
=>
{
getResumeRecommendList
();
getResumeRecommendList
();
});
showOtherFilter
.
value
=
false
;
showOtherFilter
.
value
=
false
;
};
};
/* 跳转到发布职位 */
/* 跳转到发布职位 */
...
...
src/pages/recommend/releasePostion/step2.vue
View file @
10eb7e7a
...
@@ -211,6 +211,14 @@ const benefits = ref([
...
@@ -211,6 +211,14 @@ const benefits = ref([
{
{
text
:
"生日福利"
,
text
:
"生日福利"
,
active
:
false
active
:
false
},
{
text
:
"五险一金"
,
active
:
false
},
{
text
:
"三险一金"
,
active
:
false
}
}
]);
]);
const
onChangeBenefits
=
e
=>
{
const
onChangeBenefits
=
e
=>
{
...
...
src/pages/recommend/releasePostion/step3.vue
View file @
10eb7e7a
<
template
>
<
template
>
<div
class=
"page"
>
<NavBar
v-if=
"showTab"
:showIcon=
"true"
:showTitle=
"false"
title=
""
backgroundBox=
"#FFFFFF"
></NavBar>
<NavBar
v-if=
"showTab"
:showIcon=
"true"
:showTitle=
"false"
title=
""
backgroundBox=
"#FFFFFF"
></NavBar>
<div
class=
"page"
>
<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>
...
@@ -75,29 +75,29 @@ const next = () => {
...
@@ -75,29 +75,29 @@ const next = () => {
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
@import
"./common.scss"
;
@import
"./common.scss"
;
image
{
image
{
width
:
24r
px
;
width
:
12
px
;
height
:
26r
px
;
height
:
13
px
;
}
}
:deep
(
#u-a-c
.uni-system-choose-location
.nav
)
{
:deep
(
#u-a-c
.uni-system-choose-location
.nav
)
{
top
:
40r
px
!
important
;
top
:
20
px
!
important
;
background-image
:
none
;
background-image
:
none
;
}
}
:deep
(
#u-a-c
.uni-system-choose-location
.nav-btn
)
{
:deep
(
#u-a-c
.uni-system-choose-location
.nav-btn
)
{
background-color
:
#007aff
;
background-color
:
#007aff
;
border-radius
:
20r
px
;
border-radius
:
10
px
;
}
}
:deep
(
#u-a-c
.uni-system-choose-location
.nav-btn.back
)
{
:deep
(
#u-a-c
.uni-system-choose-location
.nav-btn.back
)
{
background-color
:
#007aff
;
background-color
:
#007aff
;
border-radius
:
20r
px
;
border-radius
:
10
px
;
top
:
140r
px
;
top
:
50
px
;
left
:
20r
px
;
left
:
10
px
;
}
}
:deep
(
#u-a-c
.uni-system-choose-location
.nav-btn.confirm
)
{
:deep
(
#u-a-c
.uni-system-choose-location
.nav-btn.confirm
)
{
background-color
:
#007aff
;
background-color
:
#007aff
;
border-radius
:
20r
px
;
border-radius
:
10
px
;
top
:
140r
px
;
top
:
50
px
;
right
:
20r
px
;
right
:
10
px
;
}
}
.foot-btn
{
.foot-btn
{
position
:
fixed
;
position
:
fixed
;
...
...
src/pages/user/businessLicense/fillIn.vue
View file @
10eb7e7a
...
@@ -17,13 +17,43 @@
...
@@ -17,13 +17,43 @@
</view>
</view>
<view
class=
"content"
>
<view
class=
"content"
>
<view
class=
"name"
v-if=
"step === 1"
>
<view
class=
"name"
v-if=
"step === 1"
>
<view
class=
"t1"
>
个人信息
</view>
<div
class=
"content"
>
<div
class=
"item flex-between"
>
<p
class=
"label"
>
头像
</p>
<div
class=
"flex-align-center"
@
click=
"chooseImage"
>
<image
v-if=
"params.avatarPath"
class=
"avatar"
:src=
"evn.APP_IMAGE_BASE_API + params.avatarPath"
mode=
""
/>
<image
v-else
class=
"avatar"
src=
"@/static/image/user/default-avatar.png"
mode=
""
/>
<div
class=
"arrow"
></div>
</div>
</div>
<div
class=
"item"
>
<p
class=
"label"
>
姓名
</p>
<input
type=
"text"
v-model=
"params.realName"
placeholder=
"请输入姓名"
/>
</div>
<div
class=
"item"
>
<p
class=
"label"
>
职位
</p>
<input
type=
"text"
v-model=
"params.position"
placeholder=
"请输入职位"
/>
</div>
<div
class=
"item"
>
<p
class=
"label"
>
电话
</p>
<input
type=
"number"
v-model=
"params.phone"
placeholder=
"请输入电话"
/>
</div>
</div>
</view>
<!--
<view
class=
"name"
v-if=
"step === 1"
>
<view
class=
"t1"
>
企业信息
</view>
<view
class=
"t1"
>
企业信息
</view>
<input
type=
"text"
v-model=
"pinias.formData.name"
placeholder=
"请输入企业名称"
/>
<input
type=
"text"
v-model=
"pinias.formData.name"
placeholder=
"请输入企业名称"
/>
</view>
</view>
-->
<view
class=
"name"
v-if=
"step === 2"
>
<
!--
<
view
class=
"name"
v-if=
"step === 2"
>
<view
class=
"t1"
>
信用代码
</view>
<view
class=
"t1"
>
信用代码
</view>
<input
type=
"text"
v-model=
"pinias.formData.creditCode"
placeholder=
"请输入信用代码"
/>
<input
type=
"text"
v-model=
"pinias.formData.creditCode"
placeholder=
"请输入信用代码"
/>
</view>
</view>
-->
<view
class=
"image-upload"
v-if=
"step === 3"
>
<view
class=
"image-upload"
v-if=
"step === 3"
>
<view
class=
"t1"
>
营业执照照片
</view>
<view
class=
"t1"
>
营业执照照片
</view>
<view
class=
"t2"
>
注:执照信息清晰可见,照片内容真实有效,不做任何修改,大小不超过10M
</view>
<view
class=
"t2"
>
注:执照信息清晰可见,照片内容真实有效,不做任何修改,大小不超过10M
</view>
...
@@ -66,9 +96,16 @@
...
@@ -66,9 +96,16 @@
import
{
ref
}
from
"vue"
;
import
{
ref
}
from
"vue"
;
import
evn
from
"@/utils/config"
;
import
evn
from
"@/utils/config"
;
import
{
uploadFiles
}
from
"@/utils/fileUpload"
;
import
{
uploadFiles
}
from
"@/utils/fileUpload"
;
import
{
ocrLicense
,
getLoginUserApi
}
from
"@/api/user.js"
;
import
{
useDefineStore
}
from
"./store"
;
import
{
useDefineStore
}
from
"./store"
;
const
pinias
=
useDefineStore
();
const
pinias
=
useDefineStore
();
const
params
=
reactive
({
avatarPath
:
""
,
realName
:
""
,
phone
:
""
,
position
:
""
});
onLoad
(()
=>
{
onLoad
(()
=>
{
console
.
log
(
uni
);
console
.
log
(
uni
);
});
});
...
@@ -78,7 +115,28 @@ const showPopout = ref(false);
...
@@ -78,7 +115,28 @@ const showPopout = ref(false);
onShow
(()
=>
{
onShow
(()
=>
{
step
.
value
=
1
;
step
.
value
=
1
;
// getLoginUserApiFn();
});
});
function
ocrLicenseFn
(
uri
)
{
return
ocrLicense
({
uri
}).
then
(
res
=>
{
if
(
res
.
code
==
200
)
{
pinias
.
setFormDataKey
(
"name"
,
res
.
data
.
name
);
pinias
.
setFormDataKey
(
"creditCode"
,
res
.
data
.
regNum
);
}
});
}
// function getLoginUserApiFn() {
// getLoginUserApi().then(user => {
// if (user.code == 200) {
// const { avatarPath, realName, phone, position } = user.data;
// params.avatarPath = avatarPath;
// params.realName = realName;
// params.phone = phone;
// params.position = position;
// }
// console.log("user", user);
// });
// }
const
nextStep
=
()
=>
{
const
nextStep
=
()
=>
{
let
flag
=
false
;
let
flag
=
false
;
switch
(
step
.
value
)
{
switch
(
step
.
value
)
{
...
@@ -113,6 +171,7 @@ const chooseImage = sourceType => {
...
@@ -113,6 +171,7 @@ const chooseImage = sourceType => {
success
:
async
({
tempFiles
})
=>
{
success
:
async
({
tempFiles
})
=>
{
const
res
=
await
uploadFiles
(
tempFiles
);
const
res
=
await
uploadFiles
(
tempFiles
);
pinias
.
setFormDataKey
(
"licensePath"
,
res
[
0
].
key
);
pinias
.
setFormDataKey
(
"licensePath"
,
res
[
0
].
key
);
ocrLicenseFn
(
res
[
0
].
key
);
showPopout
.
value
=
false
;
showPopout
.
value
=
false
;
}
}
});
});
...
@@ -132,6 +191,36 @@ const chooseImage = sourceType => {
...
@@ -132,6 +191,36 @@ const chooseImage = sourceType => {
// padding-top: 54rpx;
// padding-top: 54rpx;
background-color
:
#1f86ff
;
background-color
:
#1f86ff
;
.content
{
flex
:
1
;
padding
:
0
16px
;
.item
{
display
:
flex
;
align-items
:
center
;
// justify-content: space-between;
padding
:
16px
0
;
border-bottom
:
1px
solid
#f3f4f8
;
.label
{
flex
:
0
0
100px
;
font-size
:
12px
;
font-weight
:
500
;
line-height
:
18px
;
color
:
#77818f
;
}
input
{
font-size
:
14px
;
font-weight
:
normal
;
line-height
:
18px
;
color
:
#1b2026
;
}
image
{
width
:
28px
;
height
:
28px
;
border-radius
:
50%
;
}
}
}
}
}
.welcome
{
.welcome
{
padding
:
54rpx
80rpx
0
66rpx
;
padding
:
54rpx
80rpx
0
66rpx
;
...
...
src/pages/user/index.vue
View file @
10eb7e7a
...
@@ -91,7 +91,7 @@ const navList = reactive([
...
@@ -91,7 +91,7 @@ const navList = reactive([
{
{
icon
:
new
URL
(
"@/static/image/user/question.png"
,
import
.
meta
.
url
).
href
,
icon
:
new
URL
(
"@/static/image/user/question.png"
,
import
.
meta
.
url
).
href
,
url
:
"/pages/user/problemRecord/index"
,
url
:
"/pages/user/problemRecord/index"
,
text
:
"问题
反馈
"
text
:
"问题
建议
"
},
},
{
{
icon
:
new
URL
(
"@/static/image/user/loginout.png"
,
import
.
meta
.
url
).
href
,
icon
:
new
URL
(
"@/static/image/user/loginout.png"
,
import
.
meta
.
url
).
href
,
...
@@ -100,20 +100,20 @@ const navList = reactive([
...
@@ -100,20 +100,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: "企业认证"
// }
]);
]);
/* 个人信息 */
/* 个人信息 */
const
userInfo
=
ref
({});
const
userInfo
=
ref
({});
...
...
src/pages/user/problemRecord/index.vue
View file @
10eb7e7a
...
@@ -15,6 +15,7 @@
...
@@ -15,6 +15,7 @@
>
{{
item
.
replyMessage
?
"已回复"
:
"待回复"
}}
</view
>
{{
item
.
replyMessage
?
"已回复"
:
"待回复"
}}
</view
>
>
</view>
</view>
<wd-status-tip
v-if=
"list.length == 0"
image=
"content"
tip=
"暂无内容"
/>
<wd-tabbar
<wd-tabbar
@
click=
"navigateTo"
@
click=
"navigateTo"
custom-style=
"display: flex;justify-content: center !important;"
custom-style=
"display: flex;justify-content: center !important;"
...
...
src/utils/request.js
View file @
10eb7e7a
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.18
1:8080/";
const
baseURL
=
"http://192.168.11.6
1: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