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
adc3faf5
Commit
adc3faf5
authored
Apr 24, 2025
by
yuzhenWang
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修复清单bug
parent
cac1af8d
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
341 additions
and
27 deletions
+341
-27
components/searchInput/searchInput.vue
+161
-0
pages/application-process/bank-card.vue
+77
-10
pages/application-process/basic-info.vue
+49
-7
pages/application-process/id-card.vue
+11
-8
pages/application-process/personal-statement.vue
+3
-2
util/dataHandling.ts
+40
-0
No files found.
components/searchInput/searchInput.vue
0 → 100644
View file @
adc3faf5
<
template
>
<view
class=
"search-container"
>
<!-- 输入框 -->
<view
class=
"inputBox"
>
<input
class=
"search-input"
v-model=
"searchText"
@
input=
"handleInput"
@
focus=
"showDropdown = true"
style=
"text-align: right;"
:disabled=
"isClick"
placeholder=
"请输入关键词"
/>
<uni-icons
@
click=
"openDropdown"
type=
"right"
size=
"20"
></uni-icons>
</view>
<!-- 下拉框 -->
<view
v-if=
"showDropdown"
class=
"dropdown"
>
<view
class=
"cancle"
@
click=
"showDropdown = false"
>
取消
</view>
<scroll-view
scroll-y
class=
"dropdown-list"
:style=
"
{ maxHeight: dropdownMaxHeight }">
<view
v-for=
"(item, index) in displayedList"
:key=
"index"
class=
"dropdown-item"
@
click
.
stop=
"handleSelect(item)"
>
{{
item
.
label
}}
</view>
<!-- 无数据提示 -->
<view
v-if=
"displayedList.length === 0"
class=
"empty"
>
无匹配结果
</view>
</scroll-view>
</view>
</view>
</
template
>
<
script
>
export
default
{
props
:
{
// 后端返回的全部数据(格式:[{ label: '名称', value: 'id' }, ...])
allData
:
{
type
:
Array
,
default
:
()
=>
[],
},
isClick
:
{
type
:
Boolean
,
default
:
false
,
},
},
data
()
{
return
{
searchText
:
''
,
// 输入框内容
showDropdown
:
false
,
// 控制下拉显示
displayedList
:
[],
// 当前展示的数据
dropdownMaxHeight
:
'500rpx'
,
// 下拉框最大高度
};
},
methods
:
{
openDropdown
(){
if
(
this
.
isClick
)
return
this
.
showDropdown
=
true
},
// 输入处理(含防抖)
handleInput
()
{
clearTimeout
(
this
.
debounceTimer
);
this
.
debounceTimer
=
setTimeout
(()
=>
{
this
.
filterData
();
},
300
);
},
// 过滤数据
filterData
()
{
const
keyword
=
this
.
searchText
.
trim
().
toLowerCase
();
if
(
!
keyword
)
{
// 无关键词时显示前10条
this
.
displayedList
=
this
.
allData
.
slice
(
0
,
10
);
}
else
{
// 有关键词时过滤全部数据
this
.
displayedList
=
this
.
allData
.
filter
(
item
=>
item
.
label
.
toLowerCase
().
includes
(
keyword
)
);
}
},
// 选择项
handleSelect
(
item
)
{
this
.
searchText
=
item
.
label
;
this
.
showDropdown
=
false
;
this
.
$emit
(
'select'
,
item
);
// 向父组件传递选中项
console
.
log
(
'item'
,
item
);
console
.
log
(
' this.searchText'
,
this
.
searchText
);
},
},
mounted
()
{
if
(
this
.
allData
[
0
].
show
){
this
.
searchText
=
this
.
allData
[
0
].
label
;
}
// 初始展示前10条
this
.
displayedList
=
this
.
allData
.
slice
(
0
,
8
);
},
};
</
script
>
<
style
lang=
"scss"
scoped
>
.search-container
{
position
:
relative
;
width
:
100%
;
/* 按需调整宽度 */
box-sizing
:
border-box
;
padding-right
:
0
rpx
;
}
.inputBox
{
display
:
flex
;
align-items
:
center
;
justify-content
:
flex-start
;
}
.search-input
{
width
:
100%
;
font-size
:
28
rpx
;
}
.dropdown
{
position
:
absolute
;
width
:
100%
;
margin-top
:
10
rpx
;
background
:
#ffffff
;
//
border
:
2
rpx
solid
#e0e0e0
;
border-radius
:
8
rpx
;
box-shadow
:
0
4
rpx
12
rpx
rgba
(
0
,
0
,
0
,
0.1
);
z-index
:
1000
;
.cancle{
height
:
60
rpx
;
box-sizing
:
border-box
;
padding-right
:
30
rpx
;
background-color
:
rgba
(
235
,
239
,
247
,
.8
);
display
:
flex
;
align-items
:
center
;
justify-content
:
flex-end
;
}
}
.dropdown-list
{
width
:
100%
;
}
.dropdown-item
{
padding
:
24
rpx
20
rpx
;
font-size
:
28
rpx
;
border-bottom
:
2
rpx
solid
#f5f5f5
;
}
.dropdown-item
:last-child
{
border-bottom
:
none
;
}
.empty
{
padding
:
24
rpx
;
color
:
#999
;
text-align
:
center
;
}
</
style
>
\ No newline at end of file
pages/application-process/bank-card.vue
View file @
adc3faf5
<
template
>
<
template
>
<view
class=
"container"
>
<view
class=
"container"
style=
"height: 1000rpx;"
>
<view
>
<view
class=
"top"
>
<view
class=
"top"
>
<text
class=
"iconfont icon-youjiantou zuojiantou"
@
click=
"goBack()"
></text>
<text
class=
"iconfont icon-youjiantou zuojiantou"
@
click=
"goBack()"
></text>
<text>
申请加盟
</text>
<text>
申请加盟
</text>
...
@@ -21,6 +22,7 @@
...
@@ -21,6 +22,7 @@
<!--
<text
class=
"line"
></text>
<!--
<text
class=
"line"
></text>
<text
class=
"num"
>
8
</text>
-->
<text
class=
"num"
>
8
</text>
-->
</view>
</view>
</view>
<view
class=
"wrapper"
>
<view
class=
"wrapper"
>
<view
class=
"title"
>
<view
class=
"title"
>
<view>
<view>
...
@@ -30,9 +32,34 @@
...
@@ -30,9 +32,34 @@
</view>
</view>
<view
class=
"content"
>
<view
class=
"content"
>
<view
class=
"contentDetail employ"
>
<view
class=
"contentDetail employ"
>
<view
class=
"contentItem"
>
<view
class=
"contentItem
yinhang
"
>
<text>
开户行
</text>
<text>
开户行
</text>
<input
class=
"form-control"
name=
""
placeholder=
"请输入开户行"
v-model=
"backForm.bankAccountOpening"
<!-- :disabled="this.backForm.approvalStatus!= 0 && this.backForm.approvalStatus != 2" -->
<!--
<input
class=
"form-control"
name=
""
placeholder=
"请输入开户行"
v-model=
"backForm.bankAccountOpening"
/>
-->
<view
class=
"searchInput"
>
<searchInput
v-if=
"bankList.length>0"
:allData=
"bankList"
@
select=
"onSelect"
:isClick=
"this.backForm.approvalStatus!= 0 && this.backForm.approvalStatus != 2"
/>
</view>
</view>
<view
class=
"contentItem"
v-if=
"showBank"
>
<text></text>
<input
class=
"form-control"
placeholder=
"请输入开户行名称"
v-model=
"backForm.bankAccountOpening"
auto-blur=
true
:disabled=
"this.backForm.approvalStatus!= 0 && this.backForm.approvalStatus != 2"
/>
:disabled=
"this.backForm.approvalStatus!= 0 && this.backForm.approvalStatus != 2"
/>
</view>
</view>
<view
class=
"contentItem"
>
<view
class=
"contentItem"
>
...
@@ -58,13 +85,15 @@
...
@@ -58,13 +85,15 @@
<
script
>
<
script
>
import
api
from
'@/api/api'
;
import
api
from
'@/api/api'
;
import
searchInput
from
'@/components/searchInput/searchInput.vue'
;
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
showBank
:
false
,
shareId
:
null
,
shareId
:
null
,
sureBankAccountId
:
''
,
sureBankAccountId
:
''
,
applyParam
:
{},
applyParam
:
{},
bankList
:
{}
,
bankList
:
[]
,
backForm
:
{
backForm
:
{
bankAccountOpening
:
''
,
bankAccountOpening
:
''
,
bankAccountId
:
''
,
bankAccountId
:
''
,
...
@@ -72,10 +101,10 @@
...
@@ -72,10 +101,10 @@
}
}
}
}
},
},
components
:
{},
components
:
{
searchInput
},
onLoad
(
options
)
{
onLoad
(
options
)
{
this
.
shareId
=
options
.
shareId
this
.
shareId
=
options
.
shareId
this
.
bankQry
();
},
},
onShow
()
{
onShow
()
{
uni
.
showLoading
({
uni
.
showLoading
({
...
@@ -93,6 +122,16 @@
...
@@ -93,6 +122,16 @@
}
}
},
},
methods
:
{
methods
:
{
onSelect
(
item
){
if
(
item
.
id
==
'1'
){
this
.
showBank
=
true
}
else
{
this
.
showBank
=
false
}
this
.
backForm
.
bankAccountOpening
=
item
.
bankName
console
.
log
(
this
.
backForm
);
},
goBack
()
{
goBack
()
{
uni
.
navigateBack
({
uni
.
navigateBack
({
delta
:
1
delta
:
1
...
@@ -118,6 +157,7 @@
...
@@ -118,6 +157,7 @@
this
.
sureBankAccountId
=
''
;
this
.
sureBankAccountId
=
''
;
}
}
}
}
this
.
bankQry
();
uni
.
hideLoading
()
uni
.
hideLoading
()
})
})
},
},
...
@@ -127,8 +167,21 @@
...
@@ -127,8 +167,21 @@
userId
:
userId
userId
:
userId
}).
then
((
res
)
=>
{
}).
then
((
res
)
=>
{
if
(
res
[
'success'
])
{
if
(
res
[
'success'
])
{
this
.
bankList
=
res
[
'data'
][
'bankList'
];
this
.
bankList
=
res
[
'data'
][
'bankList'
];
console
.
log
(
this
.
bankList
);
if
(
this
.
bankList
.
length
>
0
){
this
.
bankList
.
forEach
(
item
=>
{
item
.
label
=
item
.
bankName
item
.
id
=
item
.
bankId
})
//兼容以前的旧数据,以前开户行有值并且不在银行列表里通通显示自定义
if
(
this
.
backForm
.
bankAccountOpening
&&
this
.
bankList
.
filter
(
item
=>
item
.
bankName
==
this
.
backForm
.
bankAccountOpening
).
length
<=
0
)
{
this
.
bankList
.
unshift
({
label
:
'自定义'
,
id
:
'1'
,
show
:
true
})
this
.
showBank
=
true
}
else
{
this
.
showBank
=
false
this
.
bankList
.
unshift
({
label
:
'自定义'
,
id
:
'1'
,
show
:
false
})
}
}
}
}
})
})
},
},
...
@@ -202,10 +255,24 @@
...
@@ -202,10 +255,24 @@
}
}
</
script
>
</
script
>
<
style
lang=
"scss"
>
<
style
lang=
"scss"
scoped
>
@import
'applyCommon.scss'
;
@import
'applyCommon.scss'
;
.container
{
display
:
flex
;
flex-direction
:
column
;
//
height
:
100%
;
.wrapper{
flex
:
1
;
}
}
.form-control
{
.form-control
{
min-width
:
440
rpx
;
min-width
:
440
rpx
;
}
}
.yinhang
{
.searchInput{
width
:
80%
;
}
}
</
style
>
</
style
>
pages/application-process/basic-info.vue
View file @
adc3faf5
...
@@ -76,8 +76,14 @@
...
@@ -76,8 +76,14 @@
</view>
</view>
<view
class=
"contentItem"
>
<view
class=
"contentItem"
>
<text>
证件类型
</text>
<text>
证件类型
</text>
<picker
@
change=
"changeIdType"
:value=
"idTypeIdx"
:range=
"idTypesList"
range-key=
"name"
:disabled=
"this.applyParam.approvalStatus!= 0 && this.applyParam.approvalStatus != 2"
>
<picker
@
change=
"changeIdType"
:value=
"idTypeIdx"
:range=
"idTypesList"
range-key=
"name"
:disabled=
"this.applyParam.approvalStatus!= 0 && this.applyParam.approvalStatus != 2"
>
<view
class=
"uni-input"
>
{{
idTypesList
[
idTypeIdx
][
'name'
]
}}
<view
class=
"uni-input"
>
{{
idTypesList
[
idTypeIdx
][
'name'
]
}}
<text
class=
"iconfont icon-youjiantou"
></text>
<text
class=
"iconfont icon-youjiantou"
></text>
</view>
</view>
...
@@ -93,11 +99,18 @@
...
@@ -93,11 +99,18 @@
</view>
</view>
<view
class=
"contentItem"
>
<view
class=
"contentItem"
>
<text>
出生日期
</text>
<text>
出生日期
</text>
<picker
mode=
"date"
:value=
"applyParam.birthday"
@
change=
"bindBirthday"
:end=
"maxDate"
<!-- :disabled="this.applyParam.approvalStatus!= 0 && this.applyParam.approvalStatus != 2" -->
:disabled=
"this.applyParam.approvalStatus!= 0 && this.applyParam.approvalStatus != 2"
>
<picker
mode=
"date"
:value=
"applyParam.birthday"
@
change=
"bindBirthday"
:end=
"maxDate"
:disabled=
"this.applyParam.approvalStatus!= 0 && this.applyParam.approvalStatus != 2"
>
<view
v-if=
"!applyParam.birthday"
>
请选择
<text
class=
"iconfont icon-youjiantou"
></text>
</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
<view
class=
"uni-input"
v-if=
"applyParam.birthday"
>
class=
"iconfont icon-youjiantou"
></text></view>
{{
this
.
applyParam
.
birthday
}}
<text
class=
"iconfont icon-youjiantou"
></text></view>
</picker>
</picker>
</view>
</view>
<view
class=
"contentItem"
>
<view
class=
"contentItem"
>
...
@@ -122,6 +135,7 @@
...
@@ -122,6 +135,7 @@
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
showBank
:
false
,
identityIdx
:
0
,
identityIdx
:
0
,
identityArr
:
[{
identityArr
:
[{
partnerLevel
:
'A1'
,
partnerLevel
:
'A1'
,
...
@@ -256,6 +270,14 @@
...
@@ -256,6 +270,14 @@
},
},
bindBirthday
:
function
(
e
)
{
bindBirthday
:
function
(
e
)
{
this
.
applyParam
.
birthday
=
e
.
detail
.
value
;
this
.
applyParam
.
birthday
=
e
.
detail
.
value
;
if
(
!
util
.
isAdult
(
this
.
applyParam
.
birthday
)){
uni
.
showToast
({
title
:
'未满18岁不可申请'
,
duration
:
2000
,
icon
:
'none'
})
return
}
},
},
changeArea
:
function
(
e
)
{
changeArea
:
function
(
e
)
{
this
.
areaIdIdx
=
e
.
detail
.
value
;
this
.
areaIdIdx
=
e
.
detail
.
value
;
...
@@ -408,6 +430,14 @@
...
@@ -408,6 +430,14 @@
})
})
return
;
return
;
}
else
{
}
else
{
if
(
!
util
.
isAdult
(
this
.
applyParam
.
birthday
)){
uni
.
showToast
({
title
:
'未满18岁不可申请'
,
duration
:
2000
,
icon
:
'none'
})
return
}
// uni.showToast({
// uni.showToast({
// title: '未满18岁不可申请',
// title: '未满18岁不可申请',
...
@@ -416,6 +446,8 @@
...
@@ -416,6 +446,8 @@
// })
// })
// return;
// return;
}
}
this
.
applyParam
=
{
this
.
applyParam
=
{
...
this
.
applyParam
,
...
this
.
applyParam
,
applyType
:
this
.
applyParam
.
inviterInvitationCode
?
'1'
:
'2'
,
applyType
:
this
.
applyParam
.
inviterInvitationCode
?
'1'
:
'2'
,
...
@@ -445,6 +477,16 @@
...
@@ -445,6 +477,16 @@
uni
.
hideLoading
()
uni
.
hideLoading
()
})
})
}
else
{
}
else
{
// if(!util.isAdult(this.applyParam.birthday)){
// uni.showToast({
// title: '未满18岁不可申请',
// duration: 2000,
// icon: 'none'
// })
// return
// }
// uni.navigateTo({
// uni.navigateTo({
// // url:`work-experience?id=${res['data']['id']}`
// // url:`work-experience?id=${res['data']['id']}`
// url: `work-experience`
// url: `work-experience`
...
@@ -460,7 +502,7 @@
...
@@ -460,7 +502,7 @@
}
}
</
script
>
</
script
>
<
style
lang=
"scss"
>
<
style
lang=
"scss"
scoped
>
@import
'applyCommon.scss'
;
@import
'applyCommon.scss'
;
.form-control
{
.form-control
{
min-width
:
400
rpx
;
min-width
:
400
rpx
;
...
...
pages/application-process/id-card.vue
View file @
adc3faf5
...
@@ -31,29 +31,29 @@
...
@@ -31,29 +31,29 @@
<view
class=
"content"
style=
"padding-bottom: 150rpx;"
>
<view
class=
"content"
style=
"padding-bottom: 150rpx;"
>
<view
class=
"content_wrapper"
>
<view
class=
"content_wrapper"
>
<view
class=
"photo"
v-if=
"!cardForm.idFrontPageOssPath"
@
click=
"upLoadPhoto('front')"
>
<view
class=
"photo"
v-if=
"!cardForm.idFrontPageOssPath"
@
click=
"upLoadPhoto('front')"
>
<image
src=
"../../static/front.png"
alt=
"身份证正面"
mode=
"widthFix"
></image>
<image
v-if=
"cardForm.idType == '身份证'"
src=
"../../static/front.png"
alt=
"身份证正面"
mode=
"widthFix"
></image>
<text
class=
"iconfont icon-weibiaoti553"
></text>
<text
class=
"iconfont icon-weibiaoti553"
></text>
<view
class=
"choseBtn"
>
点击添加
身份证
正面
</view>
<view
class=
"choseBtn"
>
点击添加
{{
cardForm
.
idType
}}
正面
</view>
</view>
</view>
<!--
<view
class=
"content_w"
v-if=
"cardForm.idFrontPageOssPath"
>
-->
<!--
<view
class=
"content_w"
v-if=
"cardForm.idFrontPageOssPath"
>
-->
<image
class=
"picImg"
v-if=
"cardForm.idFrontPageOssPath"
:src=
"cardForm.idFrontPageOssPath"
@
click=
"upLoadPhoto('front')"
mode=
"widthFix"
></image>
<image
class=
"picImg"
v-if=
"cardForm.idFrontPageOssPath"
:src=
"cardForm.idFrontPageOssPath"
@
click=
"upLoadPhoto('front')"
mode=
"widthFix"
></image>
<!--
</view>
-->
<!--
</view>
-->
<view
class=
"tips"
>
<view
class=
"tips"
>
<view>
(正确示例:
身份证
正面,字体清晰)
</view>
<view>
(正确示例:
{{
cardForm
.
idType
}}
正面,字体清晰)
</view>
<view>
(jpg,png 文件大小不大于1mb)
</view>
<view>
(jpg,png 文件大小不大于1mb)
</view>
</view>
</view>
</view>
</view>
<view
class=
"content_wrapper"
style=
"margin-top: 25px;"
>
<view
class=
"content_wrapper"
style=
"margin-top: 25px;"
>
<view
class=
"photo"
v-if=
"!cardForm.idBackPageOssPath"
@
click=
"upLoadPhoto('back')"
>
<view
class=
"photo"
v-if=
"!cardForm.idBackPageOssPath"
@
click=
"upLoadPhoto('back')"
>
<image
src=
"../../static/back.png"
alt=
"身份证反面"
mode=
"widthFix"
></image>
<image
v-if=
"cardForm.idType == '身份证'"
src=
"../../static/back.png"
alt=
"身份证反面"
mode=
"widthFix"
></image>
<text
class=
"iconfont icon-weibiaoti553"
></text>
<text
class=
"iconfont icon-weibiaoti553"
></text>
<view
class=
"choseBtn"
>
点击添加
身份证
反面
</view>
<view
class=
"choseBtn"
>
点击添加
{{
cardForm
.
idType
}}
反面
</view>
</view>
</view>
<!--
<view
class=
"content_w"
v-if=
"cardForm.idBackPageOssPath"
>
-->
<!--
<view
class=
"content_w"
v-if=
"cardForm.idBackPageOssPath"
>
-->
<image
class=
"picImg"
v-if=
"cardForm.idBackPageOssPath"
:src=
"cardForm.idBackPageOssPath"
@
click=
"upLoadPhoto('back')"
mode=
"widthFix"
></image>
<image
class=
"picImg"
v-if=
"cardForm.idBackPageOssPath"
:src=
"cardForm.idBackPageOssPath"
@
click=
"upLoadPhoto('back')"
mode=
"widthFix"
></image>
<!--
</view>
-->
<!--
</view>
-->
<view
class=
"tips"
>
<view
class=
"tips"
>
<view>
(正确示例:
身份证
反面,字体清晰)
</view>
<view>
(正确示例:
{{
cardForm
.
idType
}}
反面,字体清晰)
</view>
<view>
(jpg,png 文件大小不大于1mb)
</view>
<view>
(jpg,png 文件大小不大于1mb)
</view>
</view>
</view>
</view>
</view>
...
@@ -143,8 +143,10 @@
...
@@ -143,8 +143,10 @@
}
}
this
.
cardForm
.
approvalStatus
=
this
.
applyParam
.
approvalStatus
this
.
cardForm
.
approvalStatus
=
this
.
applyParam
.
approvalStatus
this
.
cardForm
.
id
=
this
.
applyParam
.
id
this
.
cardForm
.
id
=
this
.
applyParam
.
id
this
.
cardForm
.
idType
=
this
.
applyParam
.
idType
uni
.
setStorageSync
(
'cardForm'
,
this
.
cardForm
)
uni
.
setStorageSync
(
'cardForm'
,
this
.
cardForm
)
}
}
uni
.
hideLoading
()
uni
.
hideLoading
()
})
})
},
},
...
@@ -175,7 +177,7 @@
...
@@ -175,7 +177,7 @@
if
(
this
.
cardForm
.
approvalStatus
==
0
||
this
.
cardForm
.
approvalStatus
==
2
)
{
if
(
this
.
cardForm
.
approvalStatus
==
0
||
this
.
cardForm
.
approvalStatus
==
2
)
{
if
(
!
this
.
cardForm
.
idFrontPageOssPath
)
{
if
(
!
this
.
cardForm
.
idFrontPageOssPath
)
{
uni
.
showToast
({
uni
.
showToast
({
title
:
'请上传身份证正面照片'
,
title
:
`请上传
${
this
.
cardForm
.
idType
}
正面照片`
,
duration
:
2000
,
duration
:
2000
,
icon
:
'none'
icon
:
'none'
})
})
...
@@ -183,7 +185,7 @@
...
@@ -183,7 +185,7 @@
}
}
if
(
!
this
.
cardForm
.
idBackPageOssPath
)
{
if
(
!
this
.
cardForm
.
idBackPageOssPath
)
{
uni
.
showToast
({
uni
.
showToast
({
title
:
'请上传身份证反面照片'
,
title
:
`请上传
${
this
.
cardForm
.
idType
}
反面照片`
,
duration
:
2000
,
duration
:
2000
,
icon
:
'none'
icon
:
'none'
})
})
...
@@ -252,6 +254,7 @@
...
@@ -252,6 +254,7 @@
font-size
:
12px
;
font-size
:
12px
;
color
:
#333
;
color
:
#333
;
width
:
75%
;
width
:
75%
;
height
:
400
rpx
;
background-size
:
contain
;
background-size
:
contain
;
background-repeat
:
no-repeat
;
background-repeat
:
no-repeat
;
position
:
relative
;
position
:
relative
;
...
...
pages/application-process/personal-statement.vue
View file @
adc3faf5
...
@@ -132,10 +132,11 @@
...
@@ -132,10 +132,11 @@
},
},
saveInfo
()
{
saveInfo
()
{
if
(
this
.
personalForm
.
approvalStatus
==
0
||
this
.
personalForm
.
approvalStatus
==
2
)
{
if
(
this
.
personalForm
.
approvalStatus
==
0
||
this
.
personalForm
.
approvalStatus
==
2
)
{
const
selectedPersonalStatement
=
this
.
dropOptionsInfoList
.
filter
((
item
)
=>
{
let
selectedPersonalStatement
=
[]
selectedPersonalStatement
=
this
.
dropOptionsInfoList
.
filter
((
item
)
=>
{
return
item
.
status
==
1
;
return
item
.
status
==
1
;
});
});
if
(
!
selectedPersonalStatement
.
length
&&
selectedPersonalStatement
.
length
<
this
.
dropOptionsInfoList
.
length
)
{
if
(
selectedPersonalStatement
.
length
<
this
.
dropOptionsInfoList
.
length
)
{
uni
.
showToast
({
uni
.
showToast
({
title
:
'需全部符合条件才可申请加盟'
,
title
:
'需全部符合条件才可申请加盟'
,
duration
:
2000
,
duration
:
2000
,
...
...
util/dataHandling.ts
View file @
adc3faf5
...
@@ -52,5 +52,44 @@ export default{
...
@@ -52,5 +52,44 @@ export default{
}
else
{
}
else
{
return
val
;
return
val
;
}
}
},
// 年龄是否大于18
isAdult
(
birthDateString
)
{
if
(
!
birthDateString
)
return
// 拆分日期字符串
const
parts
=
birthDateString
.
split
(
'-'
);
if
(
parts
.
length
!==
3
)
return
false
;
const
year
=
parseInt
(
parts
[
0
],
10
);
const
month
=
parseInt
(
parts
[
1
],
10
);
const
day
=
parseInt
(
parts
[
2
],
10
);
// 检查年月日是否为有效数字
if
(
isNaN
(
year
)
||
isNaN
(
month
)
||
isNaN
(
day
))
return
false
;
// 创建日期对象(月份从0开始)
const
birthDate
=
new
Date
(
year
,
month
-
1
,
day
);
// 验证日期有效性
if
(
birthDate
.
getMonth
()
+
1
!==
month
||
birthDate
.
getDate
()
!==
day
)
{
return
false
;
}
const
currentDate
=
new
Date
();
// 检查出生日期是否在当前日期之后
if
(
birthDate
>
currentDate
)
{
return
false
;
}
// 计算18年后的日期
const
eighteenYearsLater
=
new
Date
(
birthDate
);
eighteenYearsLater
.
setFullYear
(
eighteenYearsLater
.
getFullYear
()
+
18
);
// 判断是否已满18岁
return
eighteenYearsLater
<=
currentDate
;
}
}
}
}
\ No newline at end of file
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