Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
CFFP-HB
Overview
Overview
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Chao Sun
CFFP-HB
Commits
d4e2afb3
Commit
d4e2afb3
authored
Nov 23, 2022
by
sunchao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
申请加盟
parent
81ee5fd2
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
315 additions
and
81 deletions
+315
-81
api/api.ts
+4
-0
pages/application-process/applyCommon.scss
+8
-42
pages/application-process/bank-card.vue
+25
-3
pages/application-process/basic-info.vue
+42
-10
pages/application-process/education.vue
+54
-4
pages/application-process/id-card.vue
+70
-3
pages/application-process/personal-statement.vue
+76
-4
pages/application-process/work-experience.vue
+35
-14
static/back.png
+0
-0
static/front.png
+0
-0
util/request.ts
+1
-1
No files found.
api/api.ts
View file @
d4e2afb3
...
...
@@ -213,4 +213,8 @@ export default {
findVideoPlayback
(
params
){
return
request
(
`
${
apiURL
}
/videoPlay/findVideoPlayback`
,
"POST"
,
params
)
},
// 教育等级查询
educationLevelQuery
()
{
return
request
(
`
${
apiURL
}
/metadata/educationLevelQuery`
,
"GET"
)
}
}
pages/application-process/applyCommon.scss
View file @
d4e2afb3
...
...
@@ -31,9 +31,6 @@
justify-content
:
space-between
;
align-items
:
center
;
margin
:
0
16rpx
10rpx
16rpx
;
>
span
:first-child
{
white-space
:
nowrap
;
}
input
.form-control
,
select
.form-control
{
display
:
inline-block
;
margin
:
0
10rpx
;
...
...
@@ -45,44 +42,6 @@
display
:
flex
;
flex-wrap
:
wrap
;
font-size
:
30rpx
;
}
select
.form-control
{
direction
:
rtl
;
}
input
[
type
=
"date"
]
{
margin-right
:
-4
.5%
;
direction
:
rtl
;
}
.sexWrapper
{
display
:
flex
;
width
:
60%
;
justify-content
:
flex-end
;
padding-right
:
6rpx
;
.form-control.sex
{
width
:
20%
;
margin-left
:
10rpx
;
border
:
none
;
box-shadow
:
none
;
}
.form-control.sex.sexBtn
{
border
:
2rpx
#0767bf
solid
;
}
.form-control
[
disabled
]
{
background-color
:
transparent
;
opacity
:
1
;
}
}
span
{
position
:
relative
;
sub
{
position
:
absolute
;
margin-right
:
10rpx
;
font-weight
:
bold
;
color
:
#e10d0d
;
top
:
26rpx
;
left
:
-16rpx
;
}
}
}
.contentItem
:last-child
{
...
...
@@ -108,12 +67,19 @@
flex-direction
:
column
;
font-size
:
24rpx
;
color
:
#333
;
}
.tips
{
width
:
100%
;
margin-top
:
10px
;
color
:
#999
;
font-size
:
12px
;
text-align
:
center
;
}
.icon-weibiaoti553
{
font-size
:
120rpx
;
color
:
#627AB5
;
}
}
}
.fixed
{
position
:
fixed
;
bottom
:
0
;
...
...
pages/application-process/bank-card.vue
View file @
d4e2afb3
...
...
@@ -6,7 +6,23 @@
</view>
<text
class=
"page_mark"
>
5/8
</text>
</view>
<navigator
class=
"fixed"
url=
"personal-statement"
>
<div
class=
"content"
>
<div
class=
"contentDetail employ"
>
<div
class=
"contentItem"
>
<text>
开户行
</text>
<input
class=
"form-control"
name=
""
id=
""
placeholder=
"请输入"
/>
</div>
<div
class=
"contentItem"
>
<text>
银行卡号
</text>
<input
class=
"form-control"
placeholder=
"请输入"
type=
"number"
maxlength=
"19"
v-model=
"bankAccountId"
/>
</div>
<div
class=
"contentItem"
>
<text>
再次输入银行卡号以确认
</text>
<input
class=
"form-control"
placeholder=
"请输入"
type=
"number"
v-model=
"sureBankAccountId"
maxlength=
"19"
/>
</div>
</div>
</div>
<navigator
class=
"fixed"
url=
"personal-statement"
@
click=
"saveInfo()"
>
保存并下一步
</navigator>
</view>
...
...
@@ -16,7 +32,11 @@
export
default
{
data
(){
return
{
sureBankAccountId
:
''
,
applyParam
:{
bankAccountOpening
:
''
,
bankAccountId
:
''
}
}
},
components
:{},
...
...
@@ -24,7 +44,9 @@
},
methods
:{
saveInfo
(){
uni
.
setStorageSync
(
'applyParam'
,
this
.
applyParam
)
}
}
}
</
script
>
...
...
pages/application-process/basic-info.vue
View file @
d4e2afb3
...
...
@@ -11,7 +11,7 @@
<view
class=
"contentDetail employ"
>
<view
class=
"contentItem"
>
<text>
邀请码
</text>
<input
type=
"text"
class=
"form-control"
placeholder=
"非必填"
/>
<input
type=
"text"
class=
"form-control"
placeholder=
"非必填"
v-model=
"applyParam.inviterInvitationCode"
/>
</view>
<view
class=
"contentItem"
>
<text>
申请身份
</text>
...
...
@@ -51,18 +51,19 @@
<text>
出生日期
</text>
<picker
mode=
"date"
:value=
"applyParam.birthday"
@
change=
"bindBirthday"
:end=
"maxDate"
>
<view
class=
"uni-input"
>
{{
this
.
applyParam
.
birthday
}}
</view>
<view
v-if=
"!applyParam.birthday"
>
请选择
<text
class=
"iconfont icon-youjiantou"
></text>
</view>
<view
class=
"uni-input"
v-if=
"applyParam.birthday"
>
{{
this
.
applyParam
.
birthday
}}
<text
class=
"iconfont icon-youjiantou"
></text></view>
</picker>
</view>
<view
class=
"contentItem"
>
<text>
居住地址
</text>
<view><input
type=
"text"
class=
"form-control"
/></view>
<view><input
type=
"text"
class=
"form-control"
placeholder=
"请选择"
/></view>
</view>
</view>
</view>
<
navigator
class=
"fixed"
url=
"work-experience
"
>
<
view
class=
"fixed"
@
click=
"saveInfo()
"
>
保存并下一步
</
navigator
>
</
view
>
</view>
</
template
>
...
...
@@ -72,15 +73,16 @@
data
(){
return
{
identityIdx
:
0
,
identityArr
:[{
partnerLevel
:
'A'
,
name
:
'事业伙伴'
},{
partnerLevel
:
'B1'
,
name
:
'工作室'
}],
identityArr
:[{
partnerLevel
:
null
,
name
:
'请选择'
},{
partnerLevel
:
'A'
,
name
:
'事业伙伴'
},{
partnerLevel
:
'B1'
,
name
:
'工作室'
}],
applyParam
:{
inviterInvitationCode
:
''
,
name
:
''
,
mobile
:
''
,
partnerLevel
:
''
,
idType
:
''
,
idNo
:
''
,
birthday
:
`
${
new
Date
().
getFullYear
()}
-
${
new
Date
().
getMonth
()
+
1
}
-
${
new
Date
().
getDate
()}
`
,
birthday
:
''
,
areaId
:
''
,
// birthday:`${new Date().getFullYear()}-${new Date().getMonth() + 1} -${new Date().getDate()}`,
},
idTypesList
:[{
id
:
null
,
name
:
'请选择'
}],
idTypeIdx
:
0
,
...
...
@@ -102,17 +104,47 @@
},
changeIdentity
:
function
(
e
)
{
this
.
identityIdx
=
e
.
detail
.
value
;
this
.
partnerLevel
=
this
.
identityArr
[
this
.
identityIdx
][
'partnerLevel'
];
this
.
applyParam
.
partnerLevel
=
this
.
identityArr
[
this
.
identityIdx
][
'partnerLevel'
];
console
.
log
(
this
.
partnerLevel
)
},
changeIdType
:
function
(
e
){
this
.
idTypeIdx
=
e
.
detail
.
value
;
this
.
applyParam
.
idType
=
this
.
idTypesList
[
this
.
idTypeIdx
][
'
id
'
];
this
.
applyParam
.
idType
=
this
.
idTypesList
[
this
.
idTypeIdx
][
'
name
'
];
console
.
log
(
this
.
applyParam
.
idType
)
},
bindBirthday
:
function
(
e
)
{
this
.
applyParam
.
birthday
=
e
.
detail
.
value
;
},
saveInfo
(){
if
(
!
this
.
applyParam
.
name
){
uni
.
showToast
({
title
:
'请输入姓名'
,
duration
:
2000
,
icon
:
'none'
})
return
;
}
if
(
!
this
.
applyParam
.
idType
){
uni
.
showToast
({
title
:
'请选择证件类型'
,
duration
:
2000
,
icon
:
'none'
})
return
;
}
if
(
!
this
.
applyParam
.
idNo
){
uni
.
showToast
({
title
:
'请输入证件号'
,
duration
:
2000
,
icon
:
'none'
})
return
;
}
uni
.
setStorageSync
(
'applyParam'
,
this
.
applyParam
)
uni
.
navigateTo
({
url
:
'work-experience'
})
}
}
}
</
script
>
...
...
pages/application-process/education.vue
View file @
d4e2afb3
...
...
@@ -6,25 +6,75 @@
</view>
<text
class=
"page_mark"
>
4/8
</text>
</view>
<navigator
class=
"fixed"
url=
"bank-card"
>
<view
class=
"content"
>
<view
class=
"contentDetail employ"
>
<view
class=
"contentItem"
>
<text>
最高学历:如本科、专科、硕士
</text>
<picker
@
change=
"changeEducation"
:value=
"name"
:range=
"educationLevelList"
range-key=
"name"
>
<view
class=
"uni-input"
>
{{
educationLevelList
[
educationIdx
][
'name'
]
}}
<text
class=
"iconfont icon-youjiantou"
></text>
</view>
</picker>
</view>
<view
class=
"contentItem"
>
<text>
毕业学校
</text>
<input
class=
"form-control"
/>
</view>
<view
class=
"contentItem"
style=
"border:none;"
>
<text>
毕业证
</text>
<view></view>
</view>
</view>
<view
class=
"photo_wrapper"
>
<text
class=
"iconfont icon-weibiaoti553"
></text>
<view
style=
"margin-top: 10px;"
>
点击添加毕业证照片
</view>
</view>
<!--
<image
alt=
"毕业证照片"
></image>
-->
<view
class=
"tips"
>
<view>
(jpg,png 文件大小不大于1mb)
</view>
</view>
</view>
<navigator
class=
"fixed"
url=
"bank-card"
@
click=
"saveInfo()"
>
保存并下一步
</navigator>
</view>
</
template
>
<
script
>
import
api
from
'../../api/api'
;
export
default
{
data
(){
return
{
educationLevelList
:[{
id
:
null
,
name
:
'请选择'
}],
educationIdx
:
0
,
applyParam
:{
lastGraduateGrade
:
''
,
lastGraduateSchool
:
''
,
lastGraduateCertificationOssPath
:
''
,
}
}
},
components
:{},
onLoad
(){
this
.
educationLevelQuery
()
},
methods
:{
educationLevelQuery
(){
api
.
educationLevelQuery
().
then
((
res
)
=>
{
console
.
log
(
res
)
if
(
res
[
'success'
]){
this
.
educationLevelList
=
this
.
educationLevelList
.
concat
(
res
[
'data'
][
'educationLevelList'
]);
}
})
},
changeEducation
:
function
(
e
){
this
.
educationIdx
=
e
.
detail
.
value
;
this
.
applyParam
.
lastGraduateGrade
=
this
.
educationLevelList
[
this
.
educationIdx
][
'name'
];
},
saveInfo
(){
uni
.
setStorageSync
(
'applyParam'
,
this
.
applyParam
)
}
}
}
</
script
>
...
...
pages/application-process/id-card.vue
View file @
d4e2afb3
...
...
@@ -6,7 +6,33 @@
</view>
<text
class=
"page_mark"
>
3/8
</text>
</view>
<navigator
class=
"fixed"
url=
"education"
>
<view
class=
"content"
>
<view
class=
"content_wrapper"
>
<view
class=
"photo"
>
<image
src=
"../../static/front.png"
alt=
"身份证正面"
mode=
"widthFix"
></image>
<text
class=
"iconfont icon-weibiaoti553"
></text>
<view
class=
"choseBtn"
>
点击添加身份证正面
</view>
</view>
<!--
<image
class=
"showimage"
></image>
-->
<view
class=
"tips"
>
<view>
(正确示例:身份证正面,字体清晰)
</view>
<view>
(jpg,png 文件大小不大于1mb)
</view>
</view>
</view>
<view
class=
"content_wrapper"
style=
"margin-top: 25px;"
>
<view
class=
"photo"
>
<image
src=
"../../static/back.png"
alt=
"身份证反面面"
mode=
"widthFix"
></image>
<text
class=
"iconfont icon-weibiaoti553"
></text>
<view
class=
"choseBtn"
>
点击添加身份证反面
</view>
</view>
<!--
<image
class=
"showimage"
></image>
-->
<view
class=
"tips"
>
<view>
(正确示例:身份证反面,字体清晰)
</view>
<view>
(jpg,png 文件大小不大于1mb)
</view>
</view>
</view>
</view>
<navigator
class=
"fixed"
url=
"education"
@
click=
"saveInfo()"
>
保存并下一步
</navigator>
</view>
...
...
@@ -16,7 +42,10 @@
export
default
{
data
(){
return
{
applyParam
:{
idFrontPageOssPath
:
''
,
idBackPageOssPath
:
''
}
}
},
components
:{},
...
...
@@ -24,11 +53,48 @@
},
methods
:{
saveInfo
(){
uni
.
setStorageSync
(
'applyParam'
,
this
.
applyParam
)
}
}
}
</
script
>
<
style
lang=
"scss"
>
@import
'applyCommon.scss'
;
.content_wrapper
{
display
:
flex
;
justify-content
:
center
;
flex-wrap
:
wrap
;
margin-top
:
10px
;
overflow
:
hidden
;
.photo{
text-align
:
center
;
border
:
1px
#8D8D8D
dashed
;
border-radius
:
4px
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
flex-direction
:
column
;
font-size
:
12px
;
color
:
#333
;
width
:
75%
;
background-size
:
contain
;
background-repeat
:
no-repeat
;
position
:
relative
;
.icon-weibiaoti553{
position
:
absolute
;
}
.choseBtn
{
position
:
absolute
;
font-size
:
13px
;
bottom
:
19%
;
}
}
.showImg
{
max-width
:
429px
;
max-height
:
276px
;
}
}
</
style
>
\ No newline at end of file
pages/application-process/personal-statement.vue
View file @
d4e2afb3
...
...
@@ -6,29 +6,100 @@
</view>
<text
class=
"page_mark"
>
6/8
</text>
</view>
<navigator
class=
"fixed"
url=
"contract"
>
<view
class=
"content"
>
<view
class=
"ulBox"
>
<view
class=
"liBox"
v-for=
"personalStatements in dropOptionsInfoList"
@
click=
"selectStatements(personalStatements)"
>
<text
class=
"iconfont icon-yuanxingweixuanzhong"
v-if=
"!personalStatements.status"
></text>
<text
class=
"iconfont icon-selected-copy"
v-if=
"personalStatements.status"
></text>
<text
class=
"itemName"
>
{{
personalStatements
.
dropOptionName
}}
</text>
<text
class=
"iconfont icon-gougou"
v-if=
"personalStatements.status"
></text>
</view>
</view>
</view>
<view
class=
"fixed"
@
click=
"saveInfo()"
>
保存并下一步
</
navigator
>
</
view
>
</view>
</
template
>
<
script
>
import
api
from
'../../api/api'
export
default
{
data
(){
return
{
dropOptionsInfoList
:[],
applyParam
:{
personalStatement
:
''
},
personalStatementList
:[]
}
},
components
:{},
onLoad
(){
this
.
dropOptionsQuery
();
},
methods
:{
dropOptionsQuery
(){
api
.
dropOptionsQuery
({
code
:
'CFFP_Partner_Statements'
}).
then
((
res
)
=>
{
this
.
dropOptionsInfoList
=
res
[
"data"
][
"dropMasterInfoList"
][
0
][
"dropOptionsInfoList"
];
})
},
selectStatements
(
personalStatements
)
{
if
(
personalStatements
.
status
==
1
)
{
personalStatements
.
status
=
0
;
}
else
{
personalStatements
.
status
=
1
;
}
console
.
log
(
this
.
dropOptionsInfoList
)
},
saveInfo
(){
const
selectedPersonalStatement
=
this
.
dropOptionsInfoList
.
filter
((
item
)
=>
{
return
item
.
status
==
1
;
});
if
(
!
selectedPersonalStatement
.
length
)
{
uni
.
showToast
({
title
:
'请选择至少一项个人声明!'
,
duration
:
2000
,
icon
:
'none'
})
return
;
}
this
.
personalStatementList
=
[];
for
(
let
i
=
0
;
i
<
selectedPersonalStatement
.
length
;
i
++
){
this
.
personalStatementList
.
push
(
selectedPersonalStatement
[
i
][
'dropOptionName'
]);
}
this
.
applyParam
.
personalStatement
=
this
.
personalStatementList
.
join
(
','
);
console
.
log
(
this
.
applyParam
.
personalStatement
)
uni
.
setStorageSync
(
'applyParam'
,
this
.
applyParam
)
// uni.navigateTo({
// url:'contract'
// })
}
}
}
</
script
>
<
style
lang=
"scss"
>
@import
'applyCommon.scss'
;
.content
{
padding
:
10px
13px
;
.ulBox
.liBox{
height
:
80
rpx
;
line-height
:
80
rpx
;
background
:
#F8F8F8
;
margin
:
20
rpx
auto
;
padding
:
0
30
rpx
;
display
:
flex
;
.iconfont{
font-size
:
48
rpx
;
color
:
#F15A1F
;
margin-right
:
30
rpx
;
}
.itemName
{
text-align
:
left
;
}
}
}
</
style
>
\ No newline at end of file
pages/application-process/work-experience.vue
View file @
d4e2afb3
...
...
@@ -21,22 +21,25 @@
<view
class=
"contentDetail employ"
>
<view
class=
"contentItem"
>
<text>
最近一次工作单位
</text>
<input
type=
"text"
class=
"form-control"
placeholder=
"非必填"
/>
<input
type=
"text"
class=
"form-control"
placeholder=
"非必填"
v-model=
"applyParam.workingCompany"
/>
</view>
<view
class=
"contentItem"
>
<text>
职位
</text>
<input
type=
"text"
class=
"form-control"
placeholder=
"非必填"
/>
<input
type=
"text"
class=
"form-control"
placeholder=
"非必填"
v-model=
"applyParam.position"
/>
</view>
<view
class=
"contentItem"
>
<text>
任职开始时间
</text>
<picker
mode=
"date"
:value=
"
date"
:start=
"startDate"
:end=
"endDate"
@
change=
"bindDateChange
"
>
<view
v-if=
"!
date"
>
请选择
</view>
<view
class=
"uni-input"
>
{{
date
}}
</view>
<picker
mode=
"date"
:value=
"
applyParam.workingStart"
@
change=
"bindWorkingStart
"
>
<view
v-if=
"!
applyParam.workingStart"
>
请选择
<text
class=
"iconfont icon-youjiantou"
></text>
</view>
<view
class=
"uni-input"
v-if=
"applyParam.workingStart"
>
{{
applyParam
.
workingStart
}}
<text
class=
"iconfont icon-youjiantou"
></text>
</view>
</picker>
</view>
<view
class=
"contentItem"
>
<text>
结束时间
</text>
<input
type=
"text"
class=
"form-control"
placeholder=
"非必填"
/>
<picker
mode=
"date"
:value=
"applyParam.workingEnd"
@
change=
"bindWorkingEnd"
>
<view
v-if=
"!applyParam.workingEnd"
>
请选择
<text
class=
"iconfont icon-youjiantou"
></text></view>
<view
class=
"uni-input"
v-if=
"applyParam.workingEnd"
>
{{
applyParam
.
workingEnd
}}
<text
class=
"iconfont icon-youjiantou"
></text></view>
</picker>
</view>
<view
class=
"contentItem"
style=
"border: 0;"
>
<text>
荣誉证书
</text>
...
...
@@ -46,10 +49,13 @@
<text
class=
"iconfont icon-weibiaoti553"
></text>
<view
style=
"margin-top: 10px;"
>
点击添加荣誉证书照片
</view>
</view>
<view
class=
"tips"
>
<view>
(jpg,png 文件大小不大于1mb)
</view>
</view>
</view>
<
navigator
class=
"fixed"
url=
"id-card
"
>
<
view
class=
"fixed"
@
click=
"saveInfo()
"
>
保存并下一步
</
navigator
>
</
view
>
</view>
</
template
>
...
...
@@ -60,8 +66,14 @@
return
{
industry
:[{
industryName
:
'请选择'
,
industryId
:
null
}],
industryIdx
:
0
,
workingCategoryId
:
null
,
workingCategory
:
null
applyParam
:{
workingCategoryId
:
''
,
workingCompany
:
''
,
position
:
''
,
workingStart
:
''
,
workingEnd
:
''
,
certificate
:
''
,
}
}
},
components
:{},
...
...
@@ -71,11 +83,14 @@
methods
:{
changeIndustry
:
function
(
e
){
this
.
industryIdx
=
e
.
detail
.
value
;
this
.
workingCategory
=
this
.
industry
[
this
.
industryIdx
][
'industryName'
];
this
.
workingCategoryId
=
this
.
industry
[
this
.
industryIdx
][
'industryId'
];
//
this.workingCategory = this.industry[this.industryIdx]['industryName'];
this
.
applyParam
.
workingCategoryId
=
this
.
industry
[
this
.
industryIdx
][
'industryId'
];
},
bindDateChange
:
function
(
e
){
this
.
date
=
e
.
detail
.
value
;
bindWorkingStart
:
function
(
e
){
this
.
applyParam
.
workingStart
=
e
.
detail
.
value
;
},
bindWorkingEnd
:
function
(
e
){
this
.
applyParam
.
workingEnd
=
e
.
detail
.
value
;
},
occupationQry
(){
api
.
occupationQry
({
insurerId
:
2
}).
then
((
res
)
=>
{
...
...
@@ -86,6 +101,12 @@
this
.
industry
=
[{
industryName
:
'请选择'
,
industryId
:
null
}];
}
})
},
saveInfo
(){
uni
.
setStorageSync
(
'applyParam'
,
this
.
applyParam
)
uni
.
navigateTo
({
url
:
'id-card'
})
}
}
}
...
...
static/back.png
0 → 100644
View file @
d4e2afb3
19 KB
static/front.png
0 → 100644
View file @
d4e2afb3
13.2 KB
util/request.ts
View file @
d4e2afb3
import
{
interceptor
}
from
"./interceptor"
;
// 全局请求封装
export
default
(
url
:
string
,
method
:
any
,
params
:
any
)
=>
{
export
default
(
url
:
string
,
method
:
any
,
params
?
:
any
)
=>
{
interceptor
();
return
new
Promise
((
resolve
,
reject
)
=>
{
uni
.
request
({
...
...
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