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
a4914849
Commit
a4914849
authored
Dec 12, 2022
by
sunerhu
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.修改邀请加盟选择不了所属组织Bug
2.修复进入邀请加盟页面查询到上一个人填写信息。 3.修复个人中心页面头像显示不正确/修复个人中心修改页
parent
55f4775c
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
274 additions
and
297 deletions
+274
-297
components/myteam/lazy-tree.vue
+22
-12
manifest.json
+3
-3
pages/application-process/basic-info.vue
+27
-9
pages/courseDetail/courseDetail.vue
+26
-23
pages/invitationRegister/invitationRegister.vue
+5
-3
pages/invitationRegister/invitationlogin.vue
+8
-4
pages/inviteJoin/inviteJoin.vue
+9
-7
pages/personalCenter/personalCenter.vue
+23
-10
pages/personalCenter/user-information.vue
+151
-226
No files found.
components/myteam/lazy-tree.vue
View file @
a4914849
...
...
@@ -25,26 +25,32 @@
size=
"12"
></uni-icons>
</view>
<!-- r -->
<!-- item.levelCode==A1 与 item.type == 2相关项-->
<!-- c3与type1 -->
<!-- B1与type1 -->
<!-- else -->
<view
@
click=
"open(item, i)"
v-if=
"item.level && !item.hasChildren"
style=
"width: 24rpx;height: 26rpx;display: inline-block;"
></view>
<view
v-else
@
click=
"open(item, i)"
:class=
"item.levelCode == 'B1' ? 'content-box-title-a' : item.levelCode == 'C3' ? 'content-box-title-b':'content-box-title'"
>
<!-- class="d-header" -->
<!-- class="d-header" -->
<!-- :class="item.levelCode == 'B1' ? 'content-box-title-a' : item.levelCode == 'C3' ? 'content-box-title-b':'content-box-title'" -->
<!--
<view
>
-->
<text
style=
"color: #000;"
v-if=
"item.levelCode == 'A1'"
>
{{
item
.
name
||
'张麻花'
}}
</text>
<text
style=
"color: #FFFFFF;"
v-if=
"item.levelCode == 'B1'"
>
{{
item
.
name
||
'张麻花'
}}
</text>
<text
v-else
>
{{
item
.
areaCenterName
||
'张麻花'
}}
</text>
<!--
</view>
-->
<!--
<view
@
click=
"open(item, i)"
:class=
"item.levelCode == 'B1'&& item.type ==1 ? 'content-box-title-a' : item.levelCode == 'C3' ? 'content-box-title-b':'content-box-title'"
>
</view>
-->
<view
@
click=
"open(item, i)"
style=
"flex: 1;text-align: left;"
class=
"content-box-title-a"
v-else-if=
"item.levelCode == 'B1'&& item.itemType == '1'"
>
<text
>
{{
item
.
areaCenterName
}}
</text>
</view>
<view
@
click=
"open(item, i)"
style=
"flex: 1;"
class=
"content-box-title-b"
v-else-if=
"item.levelCode == 'C3'&& item.itemType == '1'"
>
<text>
{{
item
.
areaCenterName
}}
</text>
</view>
<view
style=
"flex: 1;"
v-else
>
<text>
{{
item
.
name
}}
</text>
</view>
</view>
<!--
<text
v-else
class=
""
></text>
-->
<!--
</view>
-->
</view>
<view
class=
"d-td"
>
{{
item
.
levelName
}}
</view>
<view
class=
"d-td"
v-if=
"item.levelCode == 'A1'"
>
{{
item
.
levelName
}}
</view>
<view
class=
"d-td"
v-else
></view>
<view
class=
"d-td"
style=
"padding-right: 10rpx;"
>
{{
item
.
count
}}
</view>
</view>
</block>
...
...
@@ -329,6 +335,8 @@ export default {
.content-box-title-a
{
//
min-width
:
100
rpx
;
flex
:
1
;
text-align
:
left
;
margin-left
:
40
rpx
;
//
background
:
url('../../static/myteam/Group1660.png')
;
//
background
:
url('../../static/myteam/Group1660.png')
no-repeat
;
//
background-repeat
:
no-repeat
;
...
...
@@ -341,6 +349,8 @@ export default {
.content-box-title-b
{
//
min-width
:
100
rpx
;
flex
:
1
;
margin-left
:
40
rpx
;
text-align
:
left
;
//
min-height
:
60
rpx
;
//
padding
:
10
rpx
0
;
border
:
2
rpx
solid
#3F52B7
;
...
...
manifest.json
View file @
a4914849
...
...
@@ -6,9 +6,9 @@
"transformPx"
:
false
,
/*
5
+App特有相关
*/
"app-plus"
:
{
"statusbar"
:
{
"immersed"
:
false
},
"statusbar"
:
{
"immersed"
:
false
},
"usingComponents"
:
true
,
"nvueStyleCompiler"
:
"uni-app"
,
"compilerVersion"
:
3
,
...
...
pages/application-process/basic-info.vue
View file @
a4914849
...
...
@@ -34,7 +34,8 @@
</view>
<view
class=
"contentItem"
>
<text>
申请身份
</text>
<picker
@
change=
"changeIdentity"
:value=
"identityIdx"
:range=
"identityArr"
<text
v-if=
"partnerLevelName"
>
{{
partnerLevelName
}}
</text>
<picker
v-else
@
change=
"changeIdentity"
:value=
"identityIdx"
:range=
"identityArr"
range-key=
"name"
:disabled=
"this.applyParam.approvalStatus!= 0 && this.applyParam.approvalStatus != 2"
>
<view
class=
"uni-input"
>
{{
identityArr
[
identityIdx
][
'name'
]
}}
<text
class=
"iconfont icon-youjiantou"
></text>
...
...
@@ -48,7 +49,8 @@
</view>
<view
class=
"contentItem"
>
<text>
所属组织
</text>
<picker
@
change=
"changeArea"
:value=
"areaIdIdx"
:range=
"cffpAreaQuerys"
<text
v-if=
"areaName"
>
{{
areaName
}}
</text>
<picker
v-else
@
change=
"changeArea"
:value=
"areaIdIdx"
:range=
"cffpAreaQuerys"
range-key=
"areaName"
:disabled=
"this.applyParam.approvalStatus!= 0 && this.applyParam.approvalStatus != 2"
>
<view
class=
"uni-input"
>
{{
cffpAreaQuerys
[
areaIdIdx
][
'areaName'
]
}}
<text
class=
"iconfont icon-youjiantou"
></text>
...
...
@@ -57,12 +59,14 @@
</view>
<view
class=
"contentItem"
>
<text>
姓名
</text>
<input
type=
"text"
class=
"form-control"
v-model=
"applyParam.name"
placeholder=
"请输入姓名"
<text
v-if=
"applyParam.name"
>
{{
applyParam
.
name
}}
</text>
<input
v-else
type=
"text"
class=
"form-control"
v-model=
"applyParam.name"
placeholder=
"请输入姓名"
auto-blur=
true
@
blur=
"checkInput(1,applyParam.name)"
:disabled=
"this.applyParam.approvalStatus!= 0 && this.applyParam.approvalStatus != 2"
/>
</view>
<view
class=
"contentItem"
>
<text>
手机号
</text>
<input
type=
"text"
class=
"form-control"
v-model=
"applyParam.mobileNumber"
placeholder=
"请输入手机号"
maxlength=
"11"
<text
v-if=
"applyParam.mobileNumber"
>
{{
applyParam
.
mobileNumber
}}
</text>
<input
v-else
type=
"text"
class=
"form-control"
v-model=
"applyParam.mobileNumber"
placeholder=
"请输入手机号"
maxlength=
"11"
auto-blur=
true
@
blur=
"checkInput(2,applyParam.mobileNumber)"
:disabled=
"this.applyParam.approvalStatus!= 0 && this.applyParam.approvalStatus != 2"
/>
</view>
<view
class=
"contentItem"
>
...
...
@@ -129,6 +133,10 @@
maxDate
:
`
${
new
Date
().
getFullYear
()}
-
${
new
Date
().
getMonth
()
+
1
}
`
,
cffpAreaQuerys
:[{
areaId
:
null
,
areaName
:
"请选择所属组织"
,
levelOrder
:
null
}],
areaIdIdx
:
0
,
areaName
:
null
,
partnerLevelName
:
null
,
name
:
null
,
mobile
:
null
,
cffp_userInfo
:{
name
:
''
,
mobile
:
''
...
...
@@ -137,6 +145,16 @@
},
components
:{},
onLoad
(
options
){
console
.
log
(
options
,
'suiuhshuhsuibhu'
)
if
(
options
.
dataForm
){
let
dataOneForm
=
JSON
.
parse
(
options
.
dataForm
)
this
.
applyParam
.
name
=
dataOneForm
.
name
this
.
applyParam
.
mobileNumber
=
dataOneForm
.
mobile
this
.
areaName
=
dataOneForm
.
areaName
this
.
partnerLevelName
=
dataOneForm
.
partnerLevel
==
'A1'
?
'事业伙伴'
:
'工作室'
this
.
applyParam
.
areaId
=
dataOneForm
.
areaId
uni
.
setStorageSync
(
'applyId'
,
''
)
}
this
.
erpInitialize
();
// let routes = getCurrentPages(); // 获取当前打开过的页面路由数组
// let curRoute = routes[routes.length - 1].route // 获取当前页面路由,也就是最后一个打开的页面路由
...
...
@@ -144,11 +162,11 @@
if
(
!
uni
.
getStorageSync
(
'applyId'
)
&&
options
.
shareId
){
this
.
queryById
(
options
.
id
,
null
)
}
this
.
cffp_userInfo
=
uni
.
getStorageSync
(
'cffp_userInfo'
);
if
(
this
.
cffp_userInfo
){
this
.
applyParam
.
name
=
JSON
.
parse
(
uni
.
getStorageSync
(
'cffp_userInfo'
))[
'name'
];
this
.
applyParam
.
mobileNumber
=
JSON
.
parse
(
uni
.
getStorageSync
(
'cffp_userInfo'
))[
'mobile'
];
}
//
this.cffp_userInfo = uni.getStorageSync('cffp_userInfo');
//
if(this.cffp_userInfo){
//
this.applyParam.name = JSON.parse(uni.getStorageSync('cffp_userInfo'))['name'];
//
this.applyParam.mobileNumber = JSON.parse(uni.getStorageSync('cffp_userInfo'))['mobile'];
//
}
},
mounted
()
{
setTimeout
(()
=>
{
...
...
pages/courseDetail/courseDetail.vue
View file @
a4914849
<
template
>
<view
class=
"container"
>
<view
class=
"shareheader"
style=
""
v-if=
"coursesharing != 1"
>
<view
class=
"iconfont icon-youjiantou"
@
click=
"goBack()"
>
<view
class=
"iconfont icon-youjiantou"
style=
"margin-left: 30rpx;"
@
click=
"goBack()"
>
</view>
<view
class=
"share-entrance"
>
<view
style=
"z-index: 99999;"
>
...
...
@@ -182,27 +182,29 @@
jumpapp
()
{
let
platform
=
uni
.
getSystemInfoSync
().
platform
if
(
platform
==
'ios'
)
{
var
loadDateTime
=
new
Date
();
window
.
setTimeout
(
function
()
{
//如果没有安装app,便会执行setTimeout跳转下载页
var
timeOutDateTime
=
new
Date
();
if
(
timeOutDateTime
-
loadDateTime
<
500
)
{
window
.
location
.
href
=
"https://mcffp.anjibao.cn/app/"
;
}
else
{
window
.
location
=
"www.baidu.com"
;
//ios下载地址
}
},
500
);
// var loadDateTime = new Date();
window
.
location
.
href
=
"https://mcffp.anjibao.cn/app/"
;
// window.setTimeout(function() { //如果没有安装app,便会执行setTimeout跳转下载页
// var timeOutDateTime = new Date();
// if (timeOutDateTime - loadDateTime
<
500
)
{
// window.location.href = "https://mcffp.anjibao.cn/app/";
// } else {
// window.location.href = "www.baidu.com"; //ios下载地址
// }
// }, 500);
}
else
if
(
platform
==
'android'
)
{
var
loadDateTime
=
new
Date
();
window
.
setTimeout
(
function
()
{
//如果没有安装app,便会执行setTimeout跳转下载页
var
timeOutDateTime
=
new
Date
();
if
(
timeOutDateTime
-
loadDateTime
<
500
)
{
window
.
open
(
'cffpapp://'
);
}
else
{
// window.location = "https://mdev.anjibao.cn/cffp/app.ipa"; //ios下载地址
window
.
location
=
"www.baidu.com"
;
//ios下载地址
}
},
500
);
window
.
open
(
'cffpapp://'
);
// var loadDateTime = new Date();
// window.setTimeout(function() { //如果没有安装app,便会执行setTimeout跳转下载页
// var timeOutDateTime = new Date();
// if (timeOutDateTime - loadDateTime
<
500
)
{
// } else {
// // window.location = "https://mdev.anjibao.cn/cffp/app.ipa"; //ios下载地址
// window.location = "www.baidu.com"; //ios下载地址
// }
// }, 500);
}
},
...
...
@@ -482,6 +484,7 @@
this
.
shareCode
=
option
.
shareCode
this
.
shareUserId
=
option
.
shareUserId
this
.
getuserRead
()
uni
.
setStorageSync
(
'h5_coursesharing'
,
this
.
coursesharing
);
// this.getshareData()
}
...
...
@@ -585,12 +588,12 @@
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
margin-right
:
30
rpx
;
.image
{
width
:
50
rpx
;
height
:
50
rpx
;
margin-top
:
10
rpx
;
margin-right
:
25
rpx
;
//
margin-top
:
10
rpx
;
//
margin-right
:
25
rpx
;
}
}
...
...
pages/invitationRegister/invitationRegister.vue
View file @
a4914849
...
...
@@ -2,7 +2,7 @@
<view
class=
"container"
>
<view
class=
"logo"
>
<view
class=
""
style=
"width: 120rpx;"
>
<image
src=
"../../static/cffp_logo.
jp
g"
alt=
""
mode=
"widthFix"
></image>
<image
src=
"../../static/cffp_logo.
pn
g"
alt=
""
mode=
"widthFix"
></image>
</view>
<text>
欢迎使用CFFP
</text>
</view>
...
...
@@ -36,10 +36,12 @@
getqueryById
(){
api
.
queryById
({
id
:
this
.
shareId
}).
then
(
res
=>
{
this
.
areaName
=
res
.
data
.
data
.
areaName
this
.
areaId
=
res
.
data
.
data
.
areaId
this
.
invitationName
=
res
.
data
.
data
.
invitationName
this
.
name
=
res
.
data
.
data
.
name
this
.
mobileNumber
=
res
.
data
.
data
.
mobileNumber
this
.
levelaName
=
res
.
data
.
data
.
partnerLevel
==
'B1'
?
'工作室'
:
'事业合作伙伴'
this
.
levelaName
=
res
.
data
.
data
.
partnerLevel
==
'B1'
?
'工作室'
:
'事业伙伴'
this
.
partnerLevel
=
res
.
data
.
data
.
partnerLevel
})
},
ckregister
(){
...
...
@@ -50,7 +52,7 @@
// };'
uni
.
navigateTo
({
// url:'/pages/invitationRegister/invitationlogin?name=' + this.name+'&mobile=' +this.mobileNumber + '&id=' + this.shareId
url
:
`/pages/invitationRegister/invitationlogin?name=
${
this
.
name
}
&mobile=
${
this
.
mobileNumber
}
`
url
:
`/pages/invitationRegister/invitationlogin?name=
${
this
.
name
}
&mobile=
${
this
.
mobileNumber
}
&areaName=
${
this
.
areaName
}
&partnerLevel=
${
this
.
partnerLevel
}
&shareId=
${
this
.
shareId
}
&areaId=
${
this
.
areaId
}
`
})
}
...
...
pages/invitationRegister/invitationlogin.vue
View file @
a4914849
...
...
@@ -40,7 +40,7 @@
export
default
{
data
()
{
return
{
imgSrc
:
'../../static/cffp_logo.
jp
g'
,
imgSrc
:
'../../static/cffp_logo.
pn
g'
,
liginName
:
'登录'
,
disabledSendBtn
:
false
,
agreeFlag
:
false
,
...
...
@@ -55,9 +55,13 @@
}
},
onLoad
(
options
)
{
console
.
log
(
options
,
54
)
this
.
form
.
name
=
options
.
name
?
options
.
name
:
''
this
.
form
.
mobile
=
options
.
mobile
?
options
.
mobile
:
''
this
.
form
.
id
=
options
.
id
?
options
.
id
:
''
this
.
form
.
id
=
options
.
shareId
?
options
.
shareId
:
''
this
.
form
.
areaName
=
options
.
areaName
this
.
form
.
areaId
=
options
.
areaId
this
.
form
.
partnerLevel
=
options
.
partnerLevel
// this.form =JSON.parse( options.form)
},
methods
:{
...
...
@@ -120,7 +124,7 @@
uni
.
setStorageSync
(
'isLogin'
,
'1'
)
uni
.
setStorageSync
(
'cffp_userId'
,
this
.
userId
);
uni
.
navigateTo
({
url
:
'/pages/application-process/basic-info?userId='
+
this
.
userId
url
:
'/pages/application-process/basic-info?userId='
+
this
.
userId
+
'&dataForm='
+
JSON
.
stringify
(
this
.
form
)
+
'&shareId='
+
this
.
form
.
id
})
}
else
{
uni
.
showToast
({
...
...
@@ -185,7 +189,7 @@
border-bottom
:
1px
solid
#CECECE
;
padding
:
20
rpx
;
.grey{
font-size
:
2
8
rpx
;
font-size
:
2
4
rpx
;
color
:
#CECECE
;
}
}
...
...
pages/inviteJoin/inviteJoin.vue
View file @
a4914849
...
...
@@ -45,7 +45,7 @@
<text>
是否跨区邀请:
</text>
<view
class=
"isCrossBox"
>
<view
:class=
"
{checked:isCross}">
<i
class=
"circle"
@
click=
"isCross
=
true"
></i>
<i
class=
"circle"
@
click=
"isCross
=
true"
></i>
<text>
是
</text>
</view>
<view
:class=
"
{checked:!isCross}">
...
...
@@ -157,6 +157,7 @@
inviteLists
:
[],
orgList
:
[],
orgdataList
:
[],
queryList
:[],
queryorgList
:
[],
shareId
:
''
,
realName
:
''
,
...
...
@@ -185,8 +186,8 @@
queryorgchange
(
e
)
{
this
.
orgindex
=
e
.
detail
.
value
},
bindPChange
(){
console
.
log
(
'1'
)
bindPChange
(
e
){
this
.
index
=
e
.
detail
.
value
},
// 查询组织list
getqueryOrgList
()
{
...
...
@@ -198,6 +199,7 @@
api
.
queryOrgList
(
CffpAreaQueryReqVO
).
then
(
res
=>
{
if
(
res
[
'success'
])
{
this
.
queryorgList
=
res
.
data
.
cffpAreaQuerys
console
.
log
(
this
.
queryorgList
,
121255
)
this
.
orgList
=
res
.
data
.
cffpAreaQuerys
this
.
changeorgkey
()
...
...
@@ -222,7 +224,7 @@
// that.orgdataList = []
console
.
log
(
that
.
orgList
,
1115
)
const
l
ist
=
that
.
orgList
.
map
((
item
)
=>
{
that
.
queryL
ist
=
that
.
orgList
.
map
((
item
)
=>
{
if
(
item
.
partnerLevel
==
orgKey
||
item
.
partnerLevel
==
'ALL'
){
return
item
}
...
...
@@ -234,15 +236,15 @@
// }
// }
// console.log(list, 551)
that
.
orgdataList
=
l
ist
.
map
((
x
)
=>
x
.
areaName
)
that
.
orgdataList
=
that
.
queryL
ist
.
map
((
x
)
=>
x
.
areaName
)
},
// 发起邀请事件
shareToggle
()
{
this
.
dataForm
.
partnerLevel
=
this
.
applyIdentity
==
0
?
'B1'
:
'A1'
this
.
dataForm
.
hasCrossDistrict
=
this
.
isCross
==
true
?
'1'
:
'0'
this
.
dataForm
.
areaId
=
this
.
isCross
==
true
?
null
:
this
.
query
org
List
[
this
.
index
].
areaId
this
.
dataForm
.
areaId
=
this
.
isCross
==
true
?
null
:
this
.
queryList
[
this
.
index
].
areaId
this
.
dataForm
.
userId
=
this
.
userId
this
.
dataForm
.
areaName
=
this
.
isCross
==
false
?
this
.
query
org
List
[
this
.
index
].
areaName
:
this
.
dataForm
this
.
dataForm
.
areaName
=
this
.
isCross
==
false
?
this
.
queryList
[
this
.
index
].
areaName
:
this
.
dataForm
.
areaName
// this.dataForm.b1Name = this.applyIdentity == 'B1' ? this.dataForm.b1Name : null
// if(this.applyIdentity == 'B1'){
...
...
pages/personalCenter/personalCenter.vue
View file @
a4914849
...
...
@@ -3,7 +3,7 @@
<!-- 头部信息 -->
<view
class=
"basicInfoBox"
>
<view
class=
"avatar"
>
<image
:src=
"customerBasicInfo.headPicture?customerBasicInfo.headPicture:'../../static/myteam/Group1633.png'"
alt=
""
srcset=
""
mode=
"widthFix"
></image>
<image
:src=
"customerBasicInfo.headPicture?customerBasicInfo.headPicture:'../../static/myteam/Group1633.png'"
alt=
""
srcset=
""
></image>
</view>
<view
class=
"infoBox"
>
<view
class=
"firstLineBox"
>
...
...
@@ -224,19 +224,32 @@
.container
{
padding-bottom
:
160
rpx
;
}
.avatar
{
width
:
90
rpx
;
height
:
80
rpx
;
/* border: 1rpx solid aqua; */
margin-right
:
17
rpx
;
border-radius
:
50%
;
}
.avatar
image
{
width
:
100%
;
height
:
100%
;
border-radius
:
50%
;
}
.basicInfoBox
{
display
:
flex
;
padding
:
67
rpx
20
rpx
60
rpx
28
rpx
;
background
:
linear-gradient
(
26deg
,
#D8E2E5
0%
,
#F0E6DD
31%
,
#E7DBDF
100%
);
.avatar{
width
:
0
;
height
:
80
rpx
;
border-radius
:
50%
;
overflow
:
hidden
;
margin-right
:
17
rpx
;
background-color
:
#fff
;
flex
:
0
0
80
rpx
;
}
//
.avatar{
//
width
:
0
;
//
height
:
80
rpx
;
//
border-radius
:
50%
;
//
margin-right
:
17
rpx
;
//
background-color
:
#fff
;
//
flex
:
0
0
80
rpx
;
//
}
.infoBox
{
width
:
100%
;
color
:
#666666
;
...
...
pages/personalCenter/user-information.vue
View file @
a4914849
<
template
>
<lsj-upload
ref=
"lsjUpload"
childId=
"upload1"
:width=
"width"
:height=
"height"
:option=
"option"
:size=
"size"
:formats=
"formats"
:debug=
"debug"
:instantly=
"instantly"
@
progress=
""
@
change=
"onChange"
>
<view
class=
"btn"
:style=
"
{width: width,height: height}">选择附件
</view>
</lsj-upload>
<view
class=
"padding"
>
<view>
已选择文件列表:
</view>
<!-- #ifndef MP-WEIXIN -->
<view
v-for=
"(item,index) in files.values()"
:key=
"index"
>
<image
style=
"width: 100rpx;height: 100rpx;"
:src=
"item.path"
mode=
"widthFix"
></image>
<text>
{{
item
.
path
}}
</text>
<text>
{{
item
.
name
}}
</text>
<text
style=
"margin-left: 10rpx;"
>
大小:
{{
item
.
size
}}
</text>
<text
style=
"margin-left: 10rpx;"
>
状态:
{{
item
.
type
}}
</text>
<text
style=
"margin-left: 10rpx;"
>
进度:
{{
item
.
progress
}}
</text>
<!--
<text
style=
"margin-left: 10rpx;"
v-if=
"item.responseText"
>
服务端返回演示:
{{
item
.
responseText
.
code
}}
</text>
-->
<text
@
click=
"clear(item.name)"
style=
"margin-left: 10rpx;padding: 0 10rpx;border: 1rpx solid #007AFF;"
>
删除
</text>
</view>
<!-- #endif -->
<!-- #ifdef MP-WEIXIN -->
<view
v-for=
"(item,index) in wxFiles"
:key=
"index"
>
<text>
{{
item
.
name
}}
</text>
<text
style=
"margin-left: 10rpx;"
>
大小:
{{
item
.
size
}}
</text>
<text
style=
"margin-left: 10rpx;"
>
状态:
{{
item
.
type
}}
</text>
<text
style=
"margin-left: 10rpx;"
>
进度:
{{
item
.
progress
}}
</text>
<view>
<button>
删除
</button>
</view>
</view>
<!-- #endif -->
</view>
<view
class=
"content"
>
<view
class=
"header"
>
<view
class=
"headportrait"
@
click=
"uploadAvatar()"
>
<image
:src=
"optionForm.headPicture ? optionForm.headPicture :'../../static/myteam/Group1633.png'"
mode=
""
></image>
</view>
</view>
<view
class=
"band"
>
<view
class=
"contentItem"
>
<text>
真实名称
</text>
<input
class=
"user-input"
v-model=
"optionForm.realName"
type=
"text"
placeholder=
"请输入姓名"
/>
</view>
<view
class=
"contentItem"
>
<text>
昵称
</text>
<input
class=
"user-input"
v-model=
"optionForm.nickName"
maxlength=
"10"
type=
"text"
placeholder=
"请输入3~10个字符"
/>
</view>
<view
class=
"contentItem"
>
<text>
个人简介
</text>
<textarea
class=
"user-textarea"
v-model=
"optionForm.userDescription"
placeholder=
"请输入个人简介"
></textarea>
</view>
</view>
<view
class=
"footer"
>
<button
class=
"user-button"
@
tap=
"submitinfo"
>
保存
</button>
</view>
</view>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
// 上传接口参数
option
:
{
// 上传服务器地址,此地址需要替换为你的接口地址
url
:
'http://hlapi.j56.com/dropbox/document/upload'
,
// 上传附件的key
name
:
'file'
,
// 根据你接口需求自定义请求头
header
:
{
'Authorization'
:
'bearer eyJhbGciOiJSUzI1NiIsI'
,
'uid'
:
'27682'
,
'client'
:
'app'
,
'accountid'
:
'DP'
,
},
// 根据你接口需求自定义body参数
formData
:
{
// 'orderId': 1000
}
},
// 选择文件后是否立即自动上传,true=选择后立即上传
instantly
:
false
,
// 必传宽高且宽高应与slot宽高保持一致
width
:
'180rpx'
,
height
:
'180rpx'
,
// 限制允许选择的格式,空串=不限制,默认为空
formats
:
'png,jpg,mp4,pdf,docx'
,
// 文件上传大小限制
size
:
10
,
// 文件回显列表
files
:
new
Map
(),
// 微信小程序Map对象for循环不显示,所以转成普通数组,不要问为什么,我也不知道
wxFiles
:
[],
// 是否打印日志
debug
:
true
,
// 演示用
tabIndex
:
0
,
list
:[],
}
},
onReady
()
{
setTimeout
(()
=>
{
console
.
log
(
'----演示动态更新参数-----'
);
this
.
$refs
.
lsjUpload
.
setData
(
'formData.orderId'
,
'动态设置的参数'
);
console
.
log
(
'以下注释内容为-动态更新参数更多演示,放开后可查看演示效果'
);
// 修改option对象的name属性
// this.$refs.lsjUpload.setData('name','myFile');
// 修改option对象的formData内的属性
// this.$refs.lsjUpload.setData('formData.appid','1111');
// 替换option对象的formData
// this.$refs.lsjUpload.setData('formData',{appid:'222'});
// option对象的formData新增属性
// this.$refs.lsjUpload.setData('formData.newkey','新插入到formData的属性');
// ---------演示初始化值,用于已提交后再次编辑时需带入已上传文件-------
// 方式1=传入数组
let
files1
=
[{
name
:
'1.png'
},
{
name
:
'2.png'
,
}];
// 方式2=传入Map对象
let
files2
=
new
Map
();
files2
.
set
(
'1.png'
,{
name
:
'1.png'
})
// 设置初始files列表
this
.
$refs
.
lsjUpload
.
setFiles
(
files1
);
},
2000
)
},
methods
:
{
// 某文件上传结束回调(成功失败都回调)
onuploadEnd
(
item
)
{
console
.
log
(
`
${
item
.
name
}
已上传结束,上传状态=
${
item
.
type
}
`
);
// 更新当前状态变化的文件
this
.
files
.
set
(
item
.
name
,
item
);
// 演示上传完成后取服务端数据
if
(
item
[
'responseText'
])
{
console
.
log
(
'演示服务器返回的字符串JSON转对象'
);
this
.
files
.
get
(
item
.
name
).
responseText
=
JSON
.
parse
(
item
.
responseText
);
}
// 微信小程序Map对象for循环不显示,所以转成普通数组,不要问为什么,我也不知道
// #ifdef MP-WEIXIN
this
.
wxFiles
=
[...
this
.
files
.
values
()];
// #endif
// 强制更新视图
this
.
$forceUpdate
();
// ---可删除--演示判断是否所有文件均已上传成功
let
isAll
=
[...
this
.
files
.
values
()].
find
(
item
=>
item
.
type
!==
'success'
);
if
(
!
isAll
)
{
console
.
log
(
'已全部上传完毕'
);
}
else
{
console
.
log
(
isAll
.
name
+
'待上传'
);
}
},
// 上传进度回调
// (item) {
// // 更新当前状态变化的文件
// this.files.set(item.name,item);
// console.log('打印对象',JSON.stringify(this.files.get(item.name)));
// // 微信小程序Map对象for循环不显示,所以转成普通数组,不要问为什么,我也不知道
// // #ifdef MP-WEIXIN
// this.wxFiles = [...this.files.values()];
// // #endif
// // 强制更新视图
// this.$forceUpdate();
// },
// 文件选择回调
onChange
(
files
)
{
// 更新选择的文件
this
.
files
=
files
;
// 强制更新视图
this
.
$forceUpdate
();
// 微信小程序Map对象for循环不显示,所以转成普通数组,不要问为什么,我也不知道
// #ifdef MP-WEIXIN
this
.
wxFiles
=
[...
this
.
files
.
values
()];
// #endif
},
// 手动上传
upload
()
{
// name=指定文件名,不指定则上传所有type等于waiting和fail的文件
this
.
$refs
.
lsjUpload
.
upload
();
},
// 移除某个文件
clear
(
name
)
{
// name=指定文件名,不传name默认移除所有文件
this
.
$refs
.
lsjUpload
.
clear
(
name
);
},
/**
* 以下为演示
*/
// DOM重排演示,重排后组件内部updated默认会触发show方法,若特殊情况未能触发updated也可以手动调用一次show()
// 什么是DOM重排?自行百度去~
add
()
{
this
.
list
.
push
(
'DOM重排测试'
);
},
// 切换视图演示,APP端因为是webview,层级比view高,
// 此时若不希望点击触发选择文件,需要手动调用hide()
// 手动调用hide后,需要调用show()才能恢复触发面
onTab
(
tabIndex
)
{
this
.
tabIndex
=
tabIndex
;
if
(
tabIndex
==
0
)
{
this
.
$nextTick
(()
=>
{
this
.
$refs
.
lsjUpload
.
show
();
})
}
else
{
this
.
$refs
.
lsjUpload
.
hide
();
}
},
// 打开nvue窗口
open
()
{
uni
.
navigateTo
({
url
:
'/pages/nvue-demo/nvue-demo'
});
}
}
}
import
{
CommonUpload
}
from
'@/util/uploaderFile'
import
api
from
"@/api/api"
;
export
default
{
data
()
{
return
{
dataForm
:
{
loginId
:
"1"
,
targetType
:
"5"
,
targetId
:
"1"
,
targetNo
:
"6"
,
targetUseFor
:
"12"
,
targetSeq
:
"0"
},
optionForm
:
{}
}
},
onLoad
(
options
)
{
this
.
optionForm
=
JSON
.
parse
(
options
.
customerBasicInfo
)
console
.
log
(
this
.
optionForm
,
7777
)
},
methods
:
{
uploadAvatar
(
event
)
{
let
that
=
this
;
CommonUpload
(
that
.
dataForm
).
then
(
res
=>
{
this
.
optionForm
.
headPicture
=
res
.
data
.
filePath
})
},
// 修改个人资料接口
submitinfo
()
{
let
UserRequestVO
=
{
id
:
uni
.
getStorageSync
(
'cffp_userId'
),
realName
:
this
.
optionForm
.
realName
,
nickName
:
this
.
optionForm
.
nickName
,
headPicture
:
this
.
optionForm
.
headPicture
,
userDescription
:
this
.
optionForm
.
userDescription
}
api
.
updateinfo
(
UserRequestVO
).
then
(
res
=>
{
if
(
res
.
success
)
{
uni
.
showToast
({
title
:
res
[
'message'
],
duration
:
2000
,
icon
:
'none'
});
uni
.
$emit
(
"handClick"
,
{
data
:
this
.
optionForm
});
setTimeout
(()
=>
{
uni
.
navigateBack
({
delta
:
1
})
},
1000
)
}
})
},
}
}
</
script
>
<
style
>
<
style
scoped
>
.content
{
width
:
100vw
;
}
.user-input
{
text-align
:
right
;
}
.user-textarea
{
border
:
1px
solid
#C7C7C7
;
width
:
540
rpx
;
height
:
270
rpx
;
border-radius
:
10
rpx
;
}
.band
{
margin
:
0
20
rpx
;
font-size
:
26
rpx
;
}
.header
{
display
:
flex
;
justify-content
:
center
;
}
.headportrait
{
width
:
250
rpx
;
height
:
250
rpx
;
/* border: 1rpx solid aqua; */
border-radius
:
50%
;
}
.headportrait
image
{
width
:
100%
;
height
:
100%
;
border-radius
:
50%
;
}
/* .headportrait-img {
width: 260rpx;
height: 260rpx;
border-radius: 50%;
background-size: cover;
background-repeat: no-repeat center;
} */
.contentItem
{
margin-top
:
40
rpx
;
display
:
flex
;
justify-content
:
space-between
;
border-bottom
:
2
rpx
solid
#E4E4E4
;
padding
:
20
rpx
;
}
.footer
{
width
:
500
rpx
;
height
:
80
rpx
;
opacity
:
1
;
margin
:
80
rpx
auto
;
}
.user-button
{
color
:
#FFFFFF
;
background
:
#20269B
;
border-radius
:
80px
;
}
</
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