Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
T
thinkApp
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
游洁
thinkApp
Commits
5ea2bf53
Commit
5ea2bf53
authored
Sep 27, 2022
by
youjie
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
no message
parent
0805fa4b
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
177 additions
and
90 deletions
+177
-90
erp.js
src/api/erp.js
+14
-2
addFriendsAndRelatives.vue
src/pages/FriendsAndRelatives/addFriendsAndRelatives.vue
+8
-2
index.vue
src/pages/FriendsAndRelatives/index.vue
+12
-6
person.vue
src/pages/person/person.vue
+143
-80
No files found.
src/api/erp.js
View file @
5ea2bf53
...
...
@@ -144,7 +144,7 @@ export function GetOrderPage(data) {
}
/**
* 根据编号删除“
我的孩子
”
* 根据编号删除“
亲友团
”
* @param {JSON参数} data
*/
export
function
RemoveMyChild
(
data
)
{
...
...
@@ -192,7 +192,7 @@ export function GetOrderPage(data) {
}
/**
*
微信邀请
*
获取面对面邀请码
* @param {JSON参数} data
*/
export
function
CreateFriendQrCode
(
data
)
{
...
...
@@ -201,4 +201,16 @@ export function GetOrderPage(data) {
method
:
'post'
,
data
})
}
/**
* 获取用户二维码码
* @param {JSON参数} data
*/
export
function
CreateTeacherCode
(
data
)
{
return
request
({
url
:
'/AppletCenter/CreateTeacherCode'
,
method
:
'post'
,
data
})
}
\ No newline at end of file
src/pages/FriendsAndRelatives/addFriendsAndRelatives.vue
View file @
5ea2bf53
...
...
@@ -87,6 +87,8 @@
proxy
}
=
getCurrentInstance
();
let
data
=
reactive
({
erpUserInfo
:
null
,
userInfo
:
null
,
loading
:
true
,
Account
:
''
,
form
:{
...
...
@@ -143,8 +145,8 @@
if
(
res
)
{
uni
.
hideLoading
()
data
.
loading
=
true
uni
.
navigate
To
({
url
:
''
,
uni
.
redirect
To
({
url
:
`/pages/login/login?RealPhone=
${
this
.
erpUserInfo
.
RealPhone
}
&Account=
${
this
.
userInfo
.
Account
}
`
,
});
}
},
...
...
@@ -169,6 +171,10 @@
onLoad
(
options
)
{
},
onShow
(){
this
.
erpUserInfo
=
uni
.
getStorageSync
(
'erpUserInfo'
)
this
.
userInfo
=
uni
.
getStorageSync
(
'userInfo'
)
},
onReachBottom
()
{
if
(
this
.
msg
.
pageIndex
<
this
.
pageCount
)
{
data
.
pageState
=
"loading"
;
...
...
src/pages/FriendsAndRelatives/index.vue
View file @
5ea2bf53
...
...
@@ -157,7 +157,7 @@
style=
"width: 99rpx;height: 99rpx;"
></image>
<text
class=
"left-title"
>
微信邀请
</text>
</view>
<view
class=
"right-image"
style=
"margin-right: 33rpx;"
@
click=
"
showPopup=true,
QRcode()"
>
<view
class=
"right-image"
style=
"margin-right: 33rpx;"
@
click=
"QRcode()"
>
<image
src=
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1664164159000_60.png"
style=
"width: 99rpx;height: 99rpx;"
></image>
<text
class=
"left-title"
>
面对面邀请
</text>
...
...
@@ -216,7 +216,7 @@
import
Loadmore
from
"../../components/loadmore.vue"
;
import
bottom
from
"../../components/bottom"
;
import
{
GetFriend
,
CreateFriendQrCode
GetFriend
,
CreateFriendQrCode
,
RemoveMyChild
}
from
"../../api/erp"
;
export
default
{
components
:
{
...
...
@@ -250,8 +250,14 @@
content
:
'将要删除数据,是否继续'
,
success
:
function
(
res
)
{
if
(
res
.
confirm
)
{
let
Msg
=
{
uni
.
showLoading
()
let
msg
=
{
Id
:
item
.
AccountId
}
let
res
=
RemoveMyChild
(
msg
);
if
(
res
)
{
uni
.
hideLoading
()
that
.
getData
()
}
}
else
if
(
res
.
cancel
)
{
...
...
@@ -277,7 +283,7 @@
if
(
res
)
{
uni
.
hideLoading
()
data
.
QRcodeImg
=
data
.
erpUrl
+
res
.
Data
console
.
log
(
data
.
QRcodeImg
,
'---'
)
data
.
showPopup
=
true
}
},
async
getData
()
{
...
...
@@ -327,7 +333,7 @@
// console.log(uni.getStorageSync('Account'))
return
{
title
:
"邀请好友"
,
query
:
`/pages/
login/login
?RealPhone=
${
this
.
erpUserInfo
.
RealPhone
}
&Account=
${
this
.
userInfo
.
Account
}
`
,
query
:
`/pages/
FriendsAndRelatives/addFriendsAndRelatives
?RealPhone=
${
this
.
erpUserInfo
.
RealPhone
}
&Account=
${
this
.
userInfo
.
Account
}
`
,
imageUrl
:
"https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1664163809000_838.png"
,
};
},
...
...
src/pages/person/person.vue
View file @
5ea2bf53
...
...
@@ -69,90 +69,98 @@
</view>
</view>
</view>
<template
v-if=
"pageData.CourseInfo.length>0"
>
<view
class=
"courseInfo"
v-for=
"(item,index) in pageData.CourseInfo"
>
<template
v-if=
"item.State==1"
>
<view
class=
"title"
>
当前学习课程
</view>
<view
class=
"statistic"
>
<view
class=
"statisticItem"
>
<view
class=
"time"
>
{{
item
.
TotalHours
||
0
}}
<!--
<text
class=
"unit"
>
节
</text>
-->
<view
class=
"courseInfo"
v-if=
"pageData.CourseInfo.length>0"
>
<view
class=
"title"
>
当前学习课程
</view>
<view
class=
"box"
:style=
"
{ 'margin-top': `${statusBarHeight}px` }">
<view
class=
"box-top"
>
<carousel
:img-list=
"pageData.CourseInfo"
url-key=
"B2BIcon"
@
selected=
'selectedBanner'
></carousel>
</view>
</view>
<scroll-view
scroll-y=
"true"
style=
"display: none;"
>
<template
v-for=
"(item,index) in pageData.CourseInfo"
>
<template
v-if=
"item.State==1"
>
<view
class=
"statistic"
>
<view
class=
"statisticItem"
>
<view
class=
"time"
>
{{
item
.
TotalHours
||
0
}}
<!--
<text
class=
"unit"
>
节
</text>
-->
</view>
<view
class=
"statisticName"
>
总共课时
</view>
</view>
<view
class=
"statistic
Name"
>
总共课时
</view
>
</view>
<view
class=
"statisticItem"
style=
"display: none;"
>
<view
class=
"time"
>
{{
item
.
CompleteHours
||
0
}}
<view
class=
"statistic
Item"
style=
"display: none;"
>
<view
class=
"time"
>
{{
item
.
CompleteHours
||
0
}}
</view
>
<view
class=
"statisticName"
>
已学课时
</view>
</view>
<view
class=
"statistic
Name"
>
已学课时
</view
>
</view>
<view
class=
"statisticItem"
>
<view
class=
"time"
>
{{
item
.
AbsenceNum
||
0
}}
<view
class=
"statistic
Item"
>
<view
class=
"time"
>
{{
item
.
AbsenceNum
||
0
}}
</view
>
<view
class=
"statisticName"
>
缺勤课时
</view>
</view>
<view
class=
"statistic
Name"
>
缺勤课时
</view
>
</view>
<view
class=
"statisticItem"
>
<view
class=
"time"
>
{{
item
.
LeaveNum
||
0
}}
<view
class=
"statistic
Item"
>
<view
class=
"time"
>
{{
item
.
LeaveNum
||
0
}}
</view
>
<view
class=
"statisticName"
>
请假课时
</view>
</view>
<view
class=
"statisticName"
>
请假课时
</view>
</view>
</view>
<view
class=
"courseBox"
>
<view
class=
"left"
>
<view
style=
"width: 115rpx;
height: 13rpx;
background-color: #9CD4C1;
border-radius: 6rpx;
margin-bottom: 20rpx;
"
>
</view>
<view
style=
"width: 90rpx;
height: 13rpx;
background-color: #9CD4C1;
border-radius: 6rpx;
margin-bottom: 20rpx;
"
>
<view
class=
"courseBox"
>
<view
class=
"left"
>
<view
style=
"width: 115rpx;
height: 13rpx;
background-color: #9CD4C1;
border-radius: 6rpx;
margin-bottom: 20rpx;
"
>
</view>
<view
style=
"width: 90rpx;
height: 13rpx;
background-color: #9CD4C1;
border-radius: 6rpx;
margin-bottom: 20rpx;
"
>
</view>
<view
style=
"width: 60rpx;
height: 13rpx;
background-color: #9CD4C1;
border-radius: 6rpx;
"
>
</view>
<image
:src=
"item.B2BIcon"
mode=
"aspectFill"
style=
"width:115rpx;height:115rpx;border-radius: 6rpx; position: absolute;bottom:10rpx;right: 18rpx;"
>
</image>
</view>
<view
style=
"width: 60rpx;
height: 13rpx;
background-color: #9CD4C1;
border-radius: 6rpx;
"
>
<view
class=
"right"
>
<view
class=
"className one_line"
>
{{
item
.
CourseName
}}
</view>
<view
class=
"Grade"
style=
"margin-bottom:20rpx"
v-if=
"item.ClassScrollType!==2"
>
{{
item
.
ClassName
}}
</view>
<view><text
class=
"Grade"
>
状态:
</text>
<text
class=
"StatusName"
v-if=
"item.TotalHours>item.CompleteHours"
>
学习中
</text>
<text
class=
"StatusName"
v-if=
"item.TotalHours==item.CompleteHours"
>
已结课
</text>
</view>
</view>
<image
:src=
"item.B2BIcon"
mode=
"aspectFill"
style=
"width:115rpx;height:115rpx;border-radius: 6rpx; position: absolute;bottom:10rpx;right: 18rpx;"
>
</image>
</view>
<view
class=
"right"
>
<view
class=
"className one_line"
>
{{
item
.
CourseName
}}
</view>
<view
class=
"Grade"
style=
"margin-bottom:20rpx"
v-if=
"item.ClassScrollType!==2"
>
{{
item
.
ClassName
}}
</view>
<view><text
class=
"Grade"
>
状态:
</text>
<text
class=
"StatusName"
v-if=
"item.TotalHours>item.CompleteHours"
>
学习中
</text>
<text
class=
"StatusName"
v-if=
"item.TotalHours==item.CompleteHours"
>
已结课
</text>
</view>
</view>
</view>
</
template
>
</
template
>
</template>
</scroll-view>
</view>
</template>
<view
class=
"serve"
v-if=
"pageData.AssistList.length>0"
>
<view
class=
"serveSubTitle"
>
随时电话联系哟
</view>
<view
class=
"serveTitle"
>
服务人员信息
</view>
<view
class=
"serveSubTitle"
>
随时电话联系哟
</view>
<view
v-for=
"(item,index) in pageData.AssistList"
:key=
"index"
class=
"serviceItem"
>
<view
class=
"headimg"
>
<image
:src=
"item.UserIcon"
mode=
"aspectFill"
style=
"width:100%;height:100%;border-radius:
24
rpx;"
<image
:src=
"item.UserIcon"
mode=
"aspectFill"
style=
"width:100%;height:100%;border-radius:
40
rpx;"
v-if=
"item.UserIcon"
/>
<view
class=
"flex_center_center"
style=
"width:100%;height:100%;border-radius:
24rpx;font-size: 46rpx;font-weight: bold;color: #FFFFFF;background-color: #4c50e7
;"
style=
"width:100%;height:100%;border-radius:
40rpx;font-size: 46rpx;font-weight: bold;color: #CE8086;background-color: #FCEEEF
;"
v-else
>
{{ item.EmployeeName.slice(0, 1) }}
</view>
</view>
<view
class=
"serviceInfo flex_between_center"
>
...
...
@@ -160,19 +168,35 @@
<view
class=
"flex_start_center"
style=
"height:32rpx;width:100%"
>
<text
class=
"EmployeeName"
>
{{ item.EmployeeName }}
</text><text
class=
"AssistTypeName"
>
{{ item.AssistTypeName }}
</text>
</view>
<view
class=
"Mobile"
>
{{item.Mobile }}
</view>
</view>
<view
style=
"width:60rpx;height:40rpx;"
@
click=
"callphone(item.Mobile)"
>
<image
<view
style=
"width:60rpx;height:40rpx;text-align: right;"
>
<image
v-if=
"item.WXQRCode"
:src=
"item.WXQRCode"
@
click=
"ImageSee(item)"
style=
"width:50rpx;height:50rpx;border-radius: 10rpx;"
></image>
<van-icon
v-else
name=
"photo-o"
size=
"30"
color=
"#919191"
@
click=
"ImageSee(item)"
></van-icon>
<!-- <image
src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Test/Upload/Goods/1663903083000_729.png"
mode=
"aspectFit"
style=
"width:100%;height:100%"
/>
mode="aspectFit" style="width:100%;height:100%" />
-->
</view>
</view>
</view>
</view>
<bottom
/>
<tabbar
active-name=
'usercenter'
></tabbar>
<van-popup
:show=
"showPopup"
round
>
<view
style=
"padding: 63rpx;"
>
<image
:src=
"QRcodeImg"
style=
"width: 378rpx;height: 377rpx;"
></image>
</view>
<view
class=
"cross-box"
>
<van-icon
name=
"close"
color=
"#111111"
size=
"48rpx"
@
click=
"showPopup=false"
/>
</view>
</van-popup>
</view>
</template>
...
...
@@ -190,20 +214,24 @@
inject
,
}
from
"vue"
;
import
bottom
from
"../../components/bottom"
;
import
carousel
from
'./components/vear-carousel/vear-carousel.vue'
import
{
VersionUpdate
}
from
'../../utils/index.js'
import
{
GetMyCenterInfo
,
GetMyAppointPageList
GetMyCenterInfo
,
GetMyAppointPageList
,
CreateTeacherCode
}
from
"../../api/erp"
;
export
default
{
components
:
{
tabbar
,
bottom
,
carousel
},
setup
(
props
,
context
)
{
let
{
proxy
}
=
getCurrentInstance
();
let
data
=
reactive
({
QRcodeImg
:
''
,
showPopup
:
false
,
colors
:[
'#9ADBC5'
,
'#87DDEA'
,
'#FE8D6F'
,
'#F986AA'
,
'#FDC453'
],
pageData
:
{
AssistList
:
[]
...
...
@@ -211,11 +239,35 @@
yuyueNum
:
0
,
currentErpUser
:
null
,
erpUsers
:[],
statusBarHeight
:
0
,
});
data
.
erpUsers
=
uni
.
getStorageSync
(
'ErpStus'
)
data
.
currentErpUser
=
uni
.
getStorageSync
(
'erpUserInfo'
)
const
methods
=
{
VersionUpdate
,
selectedBanner
(){
},
ImageSee
(
item
){
if
(
item
.
WXQRCode
){
data
.
QRcodeImg
=
item
.
WXQRCode
data
.
showPopup
=
true
}
else
{
that
.
getQRcodeImg
(
item
)
}
},
async
getQRcodeImg
(
item
){
uni
.
showLoading
()
let
msg
=
{
TeacherId
:
item
.
AccountId
}
let
res
=
await
CreateTeacherCode
(
msg
);
if
(
res
)
{
uni
.
hideLoading
()
that
.
getData
()
}
},
initColor
(){
if
(
data
.
erpUsers
){
let
i
=
0
...
...
@@ -382,22 +434,28 @@
.courseInfo
{
/* height: 535rpx; */
background-color
:
#ebebeb
;
padding
:
40
rpx
35
rpx
;
margin-bottom
:
70
rpx
;
padding
:
40
rpx
35
rpx
40
rpx
0
rpx
;
margin-bottom
:
52
rpx
;
}
.courseInfo
.title
{
font-size
:
28
rpx
;
padding
:
15
rpx
0
0
40
rpx
;
font-size
:
34
rpx
;
font-weight
:
bold
;
color
:
#111111
;
margin-bottom
:
40
rpx
;
margin-bottom
:
31
rpx
;
font-weight
:
800
;
}
.statistic
{
/* height: 70rpx; */
display
:
flex
;
justify-content
:
space-between
;
margin-bottom
:
70
rpx
;
margin-bottom
:
20
rpx
;
margin-top
:
30
rpx
;
}
.statistic
:first-child
{
margin-top
:
0
;
}
.statisticItem
{
...
...
@@ -487,16 +545,17 @@
}
.serveTitle
{
font-size
:
46
rpx
;
font-weight
:
bold
;
font-size
:
34
rpx
;
font-weight
:
800
;
color
:
#111111
;
}
.serveSubTitle
{
font-size
:
2
8
rpx
;
font-size
:
2
6
rpx
;
font-weight
:
500
;
color
:
#666666
;
margin-bottom
:
30
rpx
;
margin-bottom
:
51
rpx
;
margin-top
:
22
rpx
;
}
.serviceItem
{
...
...
@@ -550,4 +609,8 @@
font-weight
:
500
;
color
:
#111111
;
}
.cross-box
{
text-align
:
center
;
margin-bottom
:
20
rpx
;
}
</
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