Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
study
Project
Project
Details
Activity
Releases
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
Damon
study
Commits
a6a47e79
Commit
a6a47e79
authored
Jul 23, 2021
by
Damon
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev-v1.0.0' of git.banshouhui.com:wuzhenzhe/study into dev-v1.0.0
parents
9af057a3
160c92dd
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
629 additions
and
254 deletions
+629
-254
user.js
src/api/user.js
+4
-0
index.vue
src/components/my-subject/index.vue
+7
-1
index.vue
src/components/notice-bar/index.vue
+12
-10
pages.json
src/pages.json
+8
-3
mine.vue
src/pages/index/mine.vue
+1
-1
examSetting.vue
src/pages/learn/examSetting.vue
+46
-29
bank.vue
src/pages/mine/bank.vue
+64
-12
certify.vue
src/pages/mine/certify.vue
+144
-65
company.vue
src/pages/mine/company.vue
+122
-0
customer.vue
src/pages/mine/customer.vue
+47
-20
info.vue
src/pages/mine/info.vue
+111
-53
u-cell-group.vue
src/uview-ui/components/u-cell-group/u-cell-group.vue
+63
-60
No files found.
src/api/user.js
View file @
a6a47e79
...
...
@@ -15,11 +15,15 @@ let userApiFun = function(vm) {
let
checkIdCardBack
=
async
(
params
=
{})
=>
await
vm
.
$u
.
post
(
uCenterUrl
+
'v1/settled/card-back'
,
params
)
let
getCertList
=
async
(
params
=
{})
=>
await
vm
.
$u
.
post
(
apiUrl
+
'/rest/certificate/query'
,
params
)
const
userApi
=
{
updateUserInfo
,
getUserInfo
,
checkIdCardFront
,
checkIdCardBack
,
getCertList
,
}
return
userApi
}
...
...
src/components/my-subject/index.vue
View file @
a6a47e79
...
...
@@ -2,7 +2,7 @@
<view
class=
"u-flex my-details"
>
<view
class=
"u-flex u-row-between top"
>
<view>
{{
time
}}
</view>
<view>
{{
status
}}
</view>
<view
:style=
"[statusStyle]"
>
{{
status
}}
</view>
</view>
<view
class=
"u-flex bottom"
>
<view
class=
"title"
>
{{
title
}}
</view>
...
...
@@ -31,6 +31,12 @@ export default {
type
:
String
,
default
:
''
,
},
statusStyle
:
{
type
:
Object
,
default
()
{
return
{}
},
},
},
}
</
script
>
...
...
src/components/notice-bar/index.vue
View file @
a6a47e79
...
...
@@ -131,17 +131,19 @@ export default {
var
a1
=
this
.
$u
.
random
(
0
,
49
)
var
a2
=
this
.
$u
.
random
(
0
,
49
)
var
a3
=
this
.
$u
.
random
(
0
,
49
)
console
.
log
(
a0
,
a1
,
a2
,
a3
,
this
.
defaultUrl
)
this
.
avatars
=
[
this
.
defaultUrl
+
a0
>
9
?
'a'
:
'a0'
+
a0
+
'.pn
g'
,
this
.
defaultUrl
+
a1
>
9
?
'a'
:
'a0'
+
a1
+
'.pn
g'
,
this
.
defaultUrl
+
a2
>
9
?
'a'
:
'a0'
+
a2
+
'.pn
g'
,
this
.
defaultUrl
+
a3
>
9
?
'a'
:
'a0'
+
a3
+
'.pn
g'
,
this
.
defaultUrl
+
(
a0
>
9
?
'a'
:
'a0'
)
+
String
(
a0
)
+
'.jpe
g'
,
this
.
defaultUrl
+
(
a1
>
9
?
'a'
:
'a0'
)
+
String
(
a1
)
+
'.jpe
g'
,
this
.
defaultUrl
+
(
a2
>
9
?
'a'
:
'a0'
)
+
String
(
a2
)
+
'.jpe
g'
,
this
.
defaultUrl
+
(
a3
>
9
?
'a'
:
'a0'
)
+
String
(
a3
)
+
'.jpe
g'
,
]
console
.
log
(
'----avatars------'
,
this
.
avatars
)
// this.avatars = [
// this.defaultUrl + 'xunzhang.
pn
g',
// this.defaultUrl + 'xunzhang.
pn
g',
// this.defaultUrl + 'xunzhang.
pn
g',
// this.defaultUrl + 'xunzhang.
pn
g',
// this.defaultUrl + 'xunzhang.
jpe
g',
// this.defaultUrl + 'xunzhang.
jpe
g',
// this.defaultUrl + 'xunzhang.
jpe
g',
// this.defaultUrl + 'xunzhang.
jpe
g',
// ]
this
.
list
=
[
this
.
noticeText
]
setInterval
(()
=>
{
...
...
@@ -164,9 +166,9 @@ export default {
var
a0
=
this
.
$u
.
random
(
0
,
49
)
this
.
avatars
=
[
...
array
,
this
.
defaultUrl
+
a0
>
9
?
'a'
:
'a0'
+
a0
+
'.
pn
g'
,
this
.
defaultUrl
+
a0
>
9
?
'a'
:
'a0'
+
a0
+
'.
jpe
g'
,
]
// this.avatars = [...array, this.defaultUrl + 'xunzhang.
pn
g']
// this.avatars = [...array, this.defaultUrl + 'xunzhang.
jpe
g']
console
.
log
(
this
.
avatars
.
length
)
this
.
list
=
[
this
.
noticeText
]
...
...
src/pages.json
View file @
a6a47e79
...
...
@@ -234,6 +234,7 @@
"name"
:
"mineCustomer"
,
"style"
:
{
"navigationBarTitleText"
:
"联系客服"
,
"navigationStyle"
:
"custom"
,
"enablePullDownRefresh"
:
false
,
"disableScroll"
:
true
}
...
...
@@ -243,6 +244,7 @@
"name"
:
"mineInfo"
,
"style"
:
{
"navigationBarTitleText"
:
"个人信息"
,
"navigationStyle"
:
"custom"
,
"enablePullDownRefresh"
:
false
,
"disableScroll"
:
true
}
...
...
@@ -252,15 +254,17 @@
"name"
:
"mineBank"
,
"style"
:
{
"navigationBarTitleText"
:
"我的题库"
,
"navigationStyle"
:
"custom"
,
"enablePullDownRefresh"
:
false
,
"disableScroll"
:
true
}
},
{
"path"
:
"
address
"
,
"name"
:
"mine
Address
"
,
"path"
:
"
company
"
,
"name"
:
"mine
Company
"
,
"style"
:
{
"navigationBarTitleText"
:
"工作单位"
,
"navigationStyle"
:
"custom"
,
"enablePullDownRefresh"
:
false
,
"disableScroll"
:
true
}
...
...
@@ -270,8 +274,9 @@
"name"
:
"mineCertify"
,
"style"
:
{
"navigationBarTitleText"
:
"实名认证"
,
"navigationStyle"
:
"custom"
,
"enablePullDownRefresh"
:
false
,
"disableScroll"
:
tru
e
"disableScroll"
:
fals
e
}
},
{
...
...
src/pages/index/mine.vue
View file @
a6a47e79
...
...
@@ -154,7 +154,7 @@ export default {
if
(
this
.
userInfo
.
nickName
)
{
this
.
$u
.
api
.
getUserInfo
().
then
((
res
)
=>
{
this
.
student
=
res
getApp
().
globalData
.
student
getApp
().
globalData
.
student
=
res
})
}
},
...
...
src/pages/learn/examSetting.vue
View file @
a6a47e79
...
...
@@ -36,16 +36,33 @@
<text
class=
"rea-title-view"
>
包括区域
</text>
<text>
请确认与所在考试省份一致
</text>
</view>
<view
class=
"select-area"
>
<picker
@
change=
"handleConform"
range-key=
"label"
:value=
"index"
:range=
"range"
>
<view
class=
"select-area"
>
<view
@
click=
"handleClickArea"
class=
"area-text-view"
>
<text>
{{
currentProvince
.
label
}}
</text>
<u-icon
name=
"arrow-down"
></u-icon>
</view>
<view
class=
"loading-view"
v-if=
"loading"
>
<u-loading
mode=
"flower"
></u-loading>
</view>
</view>
</picker>
<!--
<view
class=
"select-area"
>
<view
@
click=
"handleClickArea"
class=
"area-text-view"
>
<text>
{{
selected
Province
.
label
}}
</text>
<text>
{{
current
Province
.
label
}}
</text>
<u-icon
name=
"arrow-down"
></u-icon>
</view>
<view
class=
"loading-view"
v-if=
"loading"
>
<u-loading
mode=
"flower"
></u-loading>
</view>
<u-picker
mode=
"region"
mode=
"selector"
:range=
"range"
v-model=
"show"
:params=
"params"
safe-area-inset-bottom
...
...
@@ -54,7 +71,7 @@
:default-region=
"defaultRegion"
@
confirm=
"handleConform"
></u-picker>
</view>
</view>
-->
</view>
<view
class=
"bottom-view"
>
<u-button
...
...
@@ -106,9 +123,11 @@ export default {
{
id
:
'1'
,
name
:
'初训(初次考试)'
,
selected
:
false
},
{
id
:
'2'
,
name
:
'复训(年审或换证)'
,
selected
:
false
},
],
selectedProvince
:
{
label
:
'北京市'
,
value
:
11
},
currentProvince
:
{
label
:
'北京市'
},
loading
:
true
,
showPop
:
false
,
range
:
[],
index
:
0
,
}
},
computed
:
{
...
...
@@ -120,9 +139,6 @@ export default {
province
:
true
,
}
},
defaultRegion
()
{
return
[
this
.
selectedProvince
.
label
]
},
buttonStyle
()
{
return
this
.
buttonDisabled
?
{
...
...
@@ -141,7 +157,7 @@ export default {
}
},
buttonDisabled
()
{
return
!
(
this
.
selected
Province
.
label
&&
this
.
selectedTypeId
)
return
!
(
this
.
current
Province
.
label
&&
this
.
selectedTypeId
)
},
selectedType
()
{
for
(
var
item
of
this
.
types
)
{
...
...
@@ -181,8 +197,8 @@ export default {
}
},
handleConform
(
e
)
{
console
.
log
(
e
)
this
.
selectedProvince
=
e
.
province
this
.
index
=
e
.
detail
.
value
this
.
currentProvince
=
this
.
range
[
this
.
index
]
},
getLocation
()
{
this
.
loading
=
true
...
...
@@ -202,35 +218,35 @@ export default {
async
getProvinceList
()
{
let
res
=
await
this
.
$u
.
api
.
getProvinceList
()
console
.
log
(
res
)
this
.
range
=
res
},
async
handleClickSubmit
()
{
if
(
this
.
buttonDisabled
)
return
if
(
this
.
index
==
0
)
{
this
.
changeIndex
()
}
let
param
=
{
provinceId
:
this
.
selectedProvince
.
value
,
provinceId
:
this
.
range
[
this
.
index
].
id
,
type
:
this
.
selectedTypeId
,
}
let
res
=
await
this
.
$u
.
api
.
getQuestionWarehouse
(
this
.
category
.
id
,
param
)
this
.
setPageInfo
(
res
)
this
.
setPageInfo
(
res
[
0
]
)
this
.
showPop
=
false
uni
.
switchTab
({
url
:
'/pages/index/index'
,
})
console
.
log
(
res
)
return
var
selected
=
{
key
:
0
,
name
:
'abc'
,
location
:
'aaa题'
,
count
:
'899'
,
pass
:
'96%'
,
},
changeIndex
()
{
for
(
var
i
=
0
;
i
<
this
.
range
.
length
;
i
++
)
{
if
(
this
.
currentProvince
.
label
==
this
.
range
[
i
].
fullName
||
this
.
currentProvince
.
label
==
this
.
range
[
i
].
label
)
{
this
.
index
=
i
break
}
}
selected
.
free
=
true
this
.
setPageInfo
(
selected
)
this
.
showPop
=
false
uni
.
switchTab
({
url
:
'/pages/index/index'
,
})
},
baiduLocation
(
long
,
lat
)
{
let
a
=
this
,
...
...
@@ -238,8 +254,9 @@ export default {
let
t
=
{
success
:
function
(
res
)
{
let
e
=
res
.
originalData
.
result
a
.
selected
Province
.
label
=
e
.
addressComponent
.
province
a
.
current
Province
.
label
=
e
.
addressComponent
.
province
a
.
loading
=
false
a
.
changeIndex
()
},
fail
:
function
(
a
)
{
a
.
loading
=
false
...
...
src/pages/mine/bank.vue
View file @
a6a47e79
<
template
>
<view
class=
"content"
>
<!--
<text
class=
"title"
>
{{
title
}}
</text>
-->
<my-subject
class=
"subject-item"
v-for=
"(item, index) in lists"
:key=
"index"
:time=
"item.time"
:status=
"item.status"
:title=
"item.title"
:subtitle=
"item.subtitle"
></my-subject>
<view
class=
"begin-answer"
>
<u-navbar
back-icon-color=
"#000000"
background=
"transparent"
title=
"我的题库"
titleColor=
"#000000"
:border-bottom=
"false"
title-bold
></u-navbar>
<view
class=
"content"
>
<!--
<text
class=
"title"
>
{{
title
}}
</text>
-->
<my-subject
class=
"subject-item"
v-for=
"(item, index) in lists"
:key=
"index"
:time=
"item.time"
:status=
"item.status"
:title=
"item.title"
:subtitle=
"item.subtitle"
:statusStyle=
"item.statusStyle"
></my-subject>
</view>
</view>
</
template
>
...
...
@@ -28,28 +39,53 @@ export default {
status
:
'已激活'
,
title
:
'高处安装、维护、拆除作业人员'
,
subtitle
:
'题库将于48天后到期'
,
statusStyle
:
{
color
:
'#2953FF'
},
},
{
time
:
'2021.05.25 14:05'
,
status
:
'已绑定'
,
title
:
'高处安装、维护、拆除作业人员'
,
subtitle
:
'题库将于88天后到期'
,
statusStyle
:
{
color
:
'#2953FF'
},
},
{
time
:
'2021.07.25 11:06'
,
status
:
'已失效'
,
title
:
'高处安装、维护、拆除作业人员'
,
subtitle
:
'题库已过期'
,
statusStyle
:
{
color
:
'#9EA5BB'
},
},
],
}
},
compute
()
{},
onLoad
()
{},
methods
:
{},
}
</
script
>
<
style
>
<
style
scoped
lang=
"scss"
>
::-webkit-scrollbar
{
width
:
0
;
height
:
0
;
color
:
transparent
;
display
:
none
;
}
page
{
background-color
:
#f7f9fc
;
}
.begin-answer
{
display
:
flex
;
flex-direction
:
column
;
background-image
:
linear-gradient
(
to
top
,
#f7f9fc
0%
,
#e9f3ff
40%
);
background-color
:
#f7f9fc
;
background-size
:
100%
920rpx
;
background-repeat
:
no-repeat
;
height
:
120vh
;
position
:
absolute
;
top
:
0
;
width
:
100%
;
}
.content
{
display
:
flex
;
flex-direction
:
column
;
...
...
@@ -77,5 +113,21 @@ export default {
.title
{
font-size
:
36rpx
;
color
:
#8f8f94
;
font-weight
:
bold
;
}
.
content
:
:
v-deep
.
u-flex
{
border-radius
:
12rpx
;
}
.
content
:
:
v-deep
.
my-details
{
background-color
:
#ffffff
!
important
;
}
.
content
:
:
v-deep
.
my-details
.
bottom
{
padding
:
0rpx
20rpx
30rpx
20rpx
;
.title
{
font-weight
:
bold
;
}
}
</
style
>
src/pages/mine/certify.vue
View file @
a6a47e79
<
template
>
<view
class=
"content"
>
<u-cell-group>
<u-cell-item
title=
"实名认证"
:arrow=
"false"
:hover-class=
"none"
title-style=
"
{'font':'bold','font-size':'40rpx'}"
>
<view
slot=
"label"
style=
"display:flex;flex-direction: column;"
>
<text>
上传二代身份证照片,图片大小不大于2M
</text>
<view
class=
"upload-image"
>
<image
class=
"cert-image"
:src=
"certFront"
mode=
"widthFix"
lazy-load=
"false"
binderror=
""
bindload=
""
@
click=
"getFront"
/>
<image
class=
"cert-image"
style=
"margin-left: 30rpx;"
:src=
"certBack"
mode=
"widthFix"
lazy-load=
"false"
binderror=
""
bindload=
""
@
click=
"getBack"
/>
<view
class=
"begin-answer"
>
<u-navbar
back-icon-color=
"#000000"
background=
"transparent"
title=
"实名认证"
titleColor=
"#000000"
:border-bottom=
"false"
title-bold
></u-navbar>
<view
class=
"content"
>
<u-cell-group
:border=
"false"
>
<u-cell-item
:arrow=
"false"
:hover-class=
"none"
>
<view
slot=
"label"
class=
"tips"
>
<text
class=
"line-1"
>
请上传您的:
<text
class=
"name"
>
身份证
</text>
</text>
<text
class=
"line-2"
>
请按照下面提示依次点击上传身份证正反面
</text>
<view
class=
"upload-image"
>
<image
class=
"cert-image"
:src=
"certFront"
lazy-load=
"false"
binderror=
""
bindload=
""
@
click=
"getFront"
/>
<image
class=
"cert-image"
:src=
"certBack"
lazy-load=
"false"
binderror=
""
bindload=
""
@
click=
"getBack"
/>
</view>
</view>
</view>
</u-cell-item>
<u-cell-item
:arrow=
"false"
:hover-class=
"none"
title=
"姓名"
:value=
"name"
></u-cell-item>
<u-cell-item
:arrow=
"false"
:hover-class=
"none"
title=
"身份证号"
:value=
"getIdCardNum"
></u-cell-item>
<u-cell-item
:arrow=
"false"
:hover-class=
"none"
title=
"有效期"
:value=
"expire"
></u-cell-item>
<u-cell-item
:arrow=
"false"
:hover-class=
"none"
>
<view
slot=
"label"
style=
"display:flex;flex-direction: column;"
>
<button
@
click=
"submit"
>
确定
</button>
</view>
</u-cell-item>
</u-cell-group>
</u-cell-item>
<u-cell-item
:arrow=
"false"
:hover-class=
"none"
title=
"姓名"
:value=
"name"
:title-style=
"certTitleStyle"
:value-style=
"certValueStyle"
></u-cell-item>
<u-cell-item
:arrow=
"false"
:hover-class=
"none"
title=
"身份证号"
:value=
"getIdCardNum"
:title-style=
"certTitleStyle"
:value-style=
"certValueStyle"
></u-cell-item>
<u-cell-item
:arrow=
"false"
:hover-class=
"none"
title=
"有效期"
:value=
"expire"
:title-style=
"certTitleStyle"
:value-style=
"certValueStyle"
></u-cell-item>
<u-cell-item
:arrow=
"false"
:hover-class=
"none"
>
<view
slot=
"label"
style=
"display:flex;flex-direction: column;"
>
<button
class=
"sub-input"
@
click=
"submit"
>
确定
</button>
</view>
</u-cell-item>
</u-cell-group>
</view>
</view>
</
template
>
...
...
@@ -69,6 +80,19 @@ export default {
}
},
computed
:
{
certTitleStyle
()
{
return
{
width
:
'115rpx'
,
}
},
certValueStyle
()
{
return
{
'padding-left'
:
'136rpx'
,
color
:
'#191C27'
,
'font-weight'
:
'bold'
,
'text-align'
:
'left'
,
}
},
certFront
()
{
return
this
.
student
.
identityFrontPath
?
process
.
uniEnv
.
qn_asset_url
+
this
.
student
.
identityFrontPath
...
...
@@ -104,11 +128,11 @@ export default {
}
this
.
$u
.
api
.
updateUserInfo
({
identityFrontPath
:
this
.
student
.
identityFrontPath
,
identityBackPath
:
this
.
student
.
identityBackPath
,
identityNumber
:
this
.
student
.
identityNumber
,
certificateValidityDate
:
this
.
student
.
certificateValidityDate
,
name
:
this
.
student
.
name
,
identityFrontPath
:
' '
,
identityBackPath
:
' '
,
identityNumber
:
'11'
,
certificateValidityDate
:
'11111'
,
name
:
'11'
,
})
.
then
((
res
)
=>
{
this
.
$u
.
toast
(
'认证成功'
)
...
...
@@ -157,7 +181,28 @@ export default {
}
</
script
>
<
style
>
<
style
scoped
lang=
"scss"
>
::-webkit-scrollbar
{
width
:
0
;
height
:
0
;
color
:
transparent
;
display
:
none
;
}
page
{
background-color
:
#f7f9fc
;
}
.begin-answer
{
display
:
flex
;
flex-direction
:
column
;
background-image
:
linear-gradient
(
to
top
,
#f7f9fc
0%
,
#e9f3ff
40%
);
background-color
:
#f7f9fc
;
background-size
:
100%
920rpx
;
background-repeat
:
no-repeat
;
height
:
120vh
;
position
:
absolute
;
top
:
0
;
width
:
100%
;
}
.content
{
display
:
flex
;
flex-direction
:
column
;
...
...
@@ -165,9 +210,43 @@ export default {
justify-content
:
center
;
width
:
100%
;
}
.upload-image
{
padding
:
0
28rpx
;
}
.cert-image
{
width
:
300
rpx
;
height
:
300
rpx
;
width
:
630rpx
;
height
:
400rpx
;
}
.tips
{
display
:
flex
;
flex-direction
:
column
;
.line-1
{
font-size
:
32rpx
;
color
:
#191c27
;
font-weight
:
bold
;
.name
{
color
:
#2953ff
;
}
}
.line-2
{
font-size
:
24rpx
;
color
:
#5a6073
;
padding
:
30rpx
0
;
}
}
.
content
:
:
v-deep
.
u-cell-item-box
{
background
:
none
!
important
;
}
.sub-input
{
margin-top
:
26rpx
;
width
:
702rpx
;
height
:
104rpx
;
border-radius
:
52rpx
;
border
:
hidden
;
background-color
:
#2953ff
;
color
:
white
;
font-size
:
32rpx
;
font-weight
:
bold
;
line-height
:
104rpx
;
}
</
style
>
src/pages/mine/
address
.vue
→
src/pages/mine/
company
.vue
View file @
a6a47e79
<
template
>
<view
class=
"content"
>
<view
class=
"wrap"
>
<input
type=
"text"
placeholder=
"请输入工作单位"
v-model=
"student.workUnit"
/>
<view
class=
"begin-answer"
>
<u-navbar
back-icon-color=
"#000000"
background=
"transparent"
title=
"工作单位"
titleColor=
"#000000"
:border-bottom=
"false"
title-bold
></u-navbar>
<view
class=
"content"
>
<view
class=
"company-title"
>
工作单位名称
</view>
<view
class=
"input-view"
>
<input
class=
"company-input"
type=
"text"
placeholder=
"请填写"
v-model=
"student.workUnit"
/>
</view>
<button
@
click=
"submit"
class=
"sub-input"
>
提交
</button>
</view>
<button
@
click=
"submit"
>
提交
</button>
</view>
</
template
>
...
...
@@ -47,15 +59,64 @@ export default {
}
</
script
>
<
style
>
<
style
scoped
lang=
"scss"
>
::-webkit-scrollbar
{
width
:
0
;
height
:
0
;
color
:
transparent
;
display
:
none
;
}
page
{
background-color
:
#f7f9fc
;
}
.begin-answer
{
display
:
flex
;
flex-direction
:
column
;
background-image
:
linear-gradient
(
to
top
,
#f7f9fc
0%
,
#e9f3ff
40%
);
background-color
:
#f7f9fc
;
background-size
:
100%
920rpx
;
background-repeat
:
no-repeat
;
height
:
100vh
;
position
:
absolute
;
top
:
0
;
width
:
100%
;
}
.content
{
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
justify-content
:
center
;
width
:
100%
;
padding
:
0
30rpx
;
}
.wrap
{
display
:
flex
;
.company-title
{
width
:
100%
;
height
:
60rpx
;
padding-top
:
30rpx
;
margin-bottom
:
30rpx
;
font-size
:
32rpx
;
font-weight
:
bold
;
}
.company-input
{
height
:
104rpx
;
border-radius
:
12rpx
;
padding-left
:
24rpx
;
background-color
:
white
;
}
.input-view
{
width
:
100%
;
}
.sub-input
{
margin-top
:
432rpx
;
width
:
702rpx
;
height
:
104rpx
;
border-radius
:
52rpx
;
border
:
hidden
;
background-color
:
#2953ff
;
color
:
white
;
font-size
:
32rpx
;
font-weight
:
bold
;
line-height
:
104rpx
;
}
</
style
>
src/pages/mine/customer.vue
View file @
a6a47e79
<
template
>
<view
class=
"content"
>
<view
class=
"kf-body"
>
<!--
<text
class=
"title"
>
{{
title
}}
</text>
-->
<view
class=
"name-space"
>
<view
class=
"head-photo"
>
<u-avatar
:src=
"avatar"
></u-avatar>
<view
class=
"begin-answer"
>
<u-navbar
back-icon-color=
"#ffffff"
background=
"transparent"
title=
"我的题库"
titleColor=
"#ffffff"
:border-bottom=
"false"
title-bold
></u-navbar>
<view
class=
"content"
>
<view
class=
"kf-body"
>
<view
class=
"kf-image"
>
<u-image
width=
"436rpx"
height=
"436rpx"
:src=
"erweima"
></u-image>
</view>
<view>
<view
class=
"nick"
><text>
aaa
</text><u-icon
name=
"server-man"
></u-icon
></view>
<view
class=
"city"
><text>
安徽
</text><text>
合肥
</text></view>
<view
class=
"tips"
>
长按识别二维码添加官方客服
</view>
</view>
<view
class=
"erweima"
>
<u-image
width=
"424rpx"
height=
"424rpx"
:src=
"erweima"
></u-image>
</view>
</view>
</view>
</
template
>
...
...
@@ -34,16 +35,31 @@ export default {
}
</
script
>
<
style
>
page
{
background-color
:
rgb
(
229
,
229
,
236
);
<
style
scoped
lang=
"scss"
>
::-webkit-scrollbar
{
width
:
0
;
height
:
0
;
color
:
transparent
;
display
:
none
;
}
.begin-answer
{
display
:
flex
;
flex-direction
:
column
;
background-color
:
#2953ff
;
background-size
:
100%
920rpx
;
background-repeat
:
no-repeat
;
height
:
120vh
;
position
:
absolute
;
top
:
0
;
width
:
100%
;
}
.content
{
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
justify-content
:
center
;
padding
:
130
rpx
30
rpx
0
rpx
30
rpx
;
padding
:
130rpx
24rpx
0rpx
24
rpx
;
}
.logo
{
...
...
@@ -64,9 +80,14 @@ page {
.kf-body
{
width
:
100%
;
height
:
70
0
rpx
;
height
:
88
0rpx
;
background-color
:
aliceblue
;
padding
:
50
rpx
;
text-align
:
center
;
}
.kf-image
{
margin-left
:
132rpx
;
margin-top
:
160rpx
;
}
.name-space
{
...
...
@@ -78,4 +99,10 @@ page {
margin-top
:
30rpx
;
padding-left
:
10%
;
}
.tips
{
color
:
#5a6073
;
font-size
:
28rpx
;
margin-top
:
114rpx
;
}
</
style
>
src/pages/mine/info.vue
View file @
a6a47e79
<
template
>
<view
class=
"content"
>
<u-cell-group
style=
"width: 100%;"
>
<u-cell-item
title=
"头像"
@
click=
"changeHead"
>
<view
slot=
"right-icon"
>
<u-image
width=
"50rpx"
height=
"50rpx"
:src=
"headPhoto"
></u-image>
</view>
</u-cell-item>
<u-cell-item
title=
"证件照"
@
click=
"changeCertPhoto"
>
<view
slot=
"right-icon"
>
<u-image
v-if=
"isupLoadCertPhoto"
width=
"50rpx"
height=
"50rpx"
:src=
"headCertPhoto"
></u-image>
<text
v-else
style=
"color:blue;"
>
未上传
</text>
</view>
</u-cell-item>
<u-cell-item
title=
"手机号"
:arrow=
"false"
:hover-class=
"none"
>
<view
slot=
"right-icon"
>
<button
hover-class=
"none"
class=
"mobile-button"
open-type=
"getPhoneNumber"
@
getphonenumber=
"getPhonenumber"
>
{{
getMobile
}}
</button>
</view>
</u-cell-item>
<u-cell-item
title=
"实名认证"
:arrow=
"false"
:hover-class=
"none"
title-style=
"
{'font':'bold','font-size':'40rpx'}"
:value="getCertifyStatus"
@click="goCertify"
<view
class=
"begin-answer"
>
<u-navbar
back-icon-color=
"#000000"
background=
"transparent"
title=
"我的信息"
titleColor=
"#000000"
:border-bottom=
"false"
title-bold
></u-navbar>
<view
class=
"content"
>
<u-cell-group
style=
"width: 100%;"
:class=
"
{ 'background-none': true }"
:border="false"
>
</u-cell-item>
<u-cell-item
title=
"工作单位"
:value=
"getCompany"
@
click=
"goAddress"
></u-cell-item>
</u-cell-group>
<u-cell-item
title=
"头像"
@
click=
"changeHead"
>
<view
slot=
"right-icon"
>
<u-image
width=
"92"
height=
"92"
:src=
"headPhoto"
shape=
"circle"
></u-image>
</view>
</u-cell-item>
<u-cell-item
title=
"证件照"
@
click=
"changeCertPhoto"
>
<view
slot=
"right-icon"
>
<u-image
v-if=
"isupLoadCertPhoto"
width=
"92rpx"
height=
"120rpx"
:src=
"headCertPhoto"
></u-image>
<text
v-else
style=
"color:blue;"
>
未上传
</text>
</view>
</u-cell-item>
<u-cell-item
title=
"手机号"
:arrow=
"false"
:hover-class=
"none"
>
<view
slot=
"right-icon"
>
<button
hover-class=
"none"
class=
"mobile-button"
open-type=
"getPhoneNumber"
@
getphonenumber=
"getPhonenumber"
>
{{
getMobile
}}
</button>
</view>
</u-cell-item>
<u-cell-item
title=
"实名认证"
title-style=
"
{'font':'bold','font-size':'40rpx'}"
:value="getCertifyStatus"
@click="goCertify"
>
</u-cell-item>
<u-cell-item
title=
"工作单位"
:value=
"getCompany"
@
click=
"goCompany"
></u-cell-item>
</u-cell-group>
</view>
</view>
</
template
>
...
...
@@ -55,7 +72,6 @@ export default {
return
{
student
:
{},
token
:
null
,
host
:
process
.
uniEnv
.
qn_asset_url
,
code
:
''
,
}
},
...
...
@@ -104,10 +120,10 @@ export default {
url
:
'pages/mine/certify'
,
})
},
go
Address
()
{
go
Company
()
{
getApp
().
globalData
.
student
=
this
.
student
this
.
$u
.
route
({
url
:
'pages/mine/
address
'
,
url
:
'pages/mine/
company
'
,
})
},
getPhonenumber
(
e
)
{
...
...
@@ -155,8 +171,8 @@ export default {
},
changeHead
()
{
//获取图片
upload
.
getPhoto
(
1
,
this
.
token
).
then
((
res
)
=>
{
this
.
student
.
avatarPath
=
this
.
host
+
res
.
key
upload
.
getPhoto
(
2
,
this
.
token
).
then
((
res
)
=>
{
this
.
student
.
avatarPath
=
process
.
uniEnv
.
qn_asset_url
+
res
.
key
this
.
$u
.
api
.
updateUserInfo
({
avatarPath
:
this
.
student
.
avatarPath
,
})
...
...
@@ -166,7 +182,8 @@ export default {
//获取图片
upload
.
getPhoto
(
2
,
this
.
token
).
then
((
res
)
=>
{
//显示
this
.
student
.
certificatePhotoPath
=
this
.
host
+
res
.
key
this
.
student
.
certificatePhotoPath
=
process
.
uniEnv
.
qn_asset_url
+
res
.
key
this
.
$u
.
api
.
updateUserInfo
({
certificatePhotoPath
:
this
.
student
.
certificatePhotoPath
,
})
...
...
@@ -181,13 +198,35 @@ export default {
}
</
script
>
<
style
>
<
style
scoped
lang=
"scss"
>
::-webkit-scrollbar
{
width
:
0
;
height
:
0
;
color
:
transparent
;
display
:
none
;
}
page
{
background-color
:
#f7f9fc
;
}
.begin-answer
{
display
:
flex
;
flex-direction
:
column
;
background-image
:
linear-gradient
(
to
top
,
#f7f9fc
0%
,
#e9f3ff
40%
);
background-color
:
#f7f9fc
;
background-size
:
100%
920rpx
;
background-repeat
:
no-repeat
;
height
:
100vh
;
position
:
absolute
;
top
:
0
;
width
:
100%
;
}
.content
{
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
justify-content
:
center
;
width
:
100%
;
padding
:
0
30rpx
;
}
.logo
{
...
...
@@ -220,11 +259,30 @@ export default {
}
.mobile-button
{
width
:
200px
;
height
:
30px
;
width
:
115px
;
background
:
none
;
font-size
:
28rpx
;
}
button
:
:
after
{
border
:
none
;
background-color
:
none
;
}
.
content
:
:
v-deep
.
u-cell-item-box
{
background
:
none
!
important
;
}
.
content
:
:
v-deep
.
u-cell
{
padding
:
26rpx
0rpx
;
border-color
:
#e8ebf3
;
border-style
:
solid
;
border-bottom-width
:
2rpx
;
border-left-width
:
0
;
border-right-width
:
0
;
border-top-width
:
0
;
}
.
content
:
:
v-deep
.
u-cell__value
{
color
:
#191c27
;
}
</
style
>
src/uview-ui/components/u-cell-group/u-cell-group.vue
View file @
a6a47e79
<
template
>
<view
class=
"u-cell-box"
>
<view
class=
"u-cell-title"
v-if=
"title"
:style=
"[titleStyle]"
>
{{
title
}}
</view>
<view
class=
"u-cell-item-box"
:class=
"
{'u-border-bottom u-border-top': border}">
<slot
/>
</view>
</view>
<view
class=
"u-cell-box"
>
<view
class=
"u-cell-title"
v-if=
"title"
:style=
"[titleStyle]"
>
{{
title
}}
</view>
<view
class=
"u-cell-item-box"
:class=
"
{ 'u-border-bottom u-border-top': border }"
>
<slot
/>
</view>
</view>
</
template
>
<
script
>
/**
* cellGroup 单元格父组件Group
* @description cell单元格一般用于一组列表的情况,比如个人中心页,设置页等。搭配u-cell-item
* @tutorial https://www.uviewui.com/components/cell.html
* @property {String} title 分组标题
* @property {Boolean} border 是否显示外边框(默认true)
* @property {Object} title-style 分组标题的的样式,对象形式,如{'font-size': '24rpx'} 或 {'fontSize': '24rpx'}
* @example <u-cell-group title="设置喜好">
*/
export
default
{
name
:
"u-cell-group"
,
props
:
{
// 分组标题
title
:
{
type
:
String
,
default
:
''
},
// 是否显示分组list上下边框
border
:
{
type
:
Boolean
,
default
:
true
},
// 分组标题的样式,对象形式,注意驼峰属性写法
// 类似 {'font-size': '24rpx'} 和 {'fontSize': '24rpx'}
titleStyle
:
{
type
:
Object
,
default
()
{
return
{};
}
}
},
data
()
{
return
{
index
:
0
,
}
},
}
/**
* cellGroup 单元格父组件Group
* @description cell单元格一般用于一组列表的情况,比如个人中心页,设置页等。搭配u-cell-item
* @tutorial https://www.uviewui.com/components/cell.html
* @property {String} title 分组标题
* @property {Boolean} border 是否显示外边框(默认true)
* @property {Object} title-style 分组标题的的样式,对象形式,如{'font-size': '24rpx'} 或 {'fontSize': '24rpx'}
* @example <u-cell-group title="设置喜好">
*/
export
default
{
name
:
'u-cell-group'
,
props
:
{
// 分组标题
title
:
{
type
:
String
,
default
:
''
,
},
// 是否显示分组list上下边框
border
:
{
type
:
Boolean
,
default
:
true
,
},
// 分组标题的样式,对象形式,注意驼峰属性写法
// 类似 {'font-size': '24rpx'} 和 {'fontSize': '24rpx'}
titleStyle
:
{
type
:
Object
,
default
()
{
return
{}
},
},
},
data
()
{
return
{
index
:
0
,
}
},
}
</
script
>
<
style
lang=
"scss"
scoped
>
@import
"../../libs/css/style.components.scss"
;
.u-cell-box
{
width
:
100%
;
}
@import
'../../libs/css/style.components.scss'
;
.u-cell-title
{
padding
:
30rpx
32rpx
10rpx
32rpx
;
font-size
:
30rpx
;
text-align
:
left
;
color
:
$u-tips-color
;
}
.u-cell-box
{
width
:
100%
;
}
.u-cell-item-box
{
background-color
:
#FFFFFF
;
flex-direction
:
row
;
}
.u-cell-title
{
padding
:
30rpx
32rpx
10rpx
32rpx
;
font-size
:
30rpx
;
text-align
:
left
;
color
:
$u-tips-color
;
}
.u-cell-item-box
{
background-color
:
#ffffff
;
flex-direction
:
row
;
}
</
style
>
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