Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
W
wechatapp.shangjiadao.com
Project
Project
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
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wangxuelai
wechatapp.shangjiadao.com
Commits
127d5de1
Commit
127d5de1
authored
Oct 31, 2019
by
lvtz
Browse files
Options
Browse Files
Download
Plain Diff
fix
parents
82b70947
fe284788
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
609 additions
and
18 deletions
+609
-18
app.json
app.json
+2
-1
classdetail.js
business/pages/classservice/classdetail.js
+15
-2
classdetail.wxml
business/pages/classservice/classdetail.wxml
+4
-4
classdetail.wxss
business/pages/classservice/classdetail.wxss
+6
-1
classreviewshare.js
business/pages/classservice/classreviewshare.js
+2
-9
reviewclass.js
business/pages/classservice/reviewclass.js
+1
-0
reviewdetail.js
business/pages/classservice/reviewdetail.js
+302
-0
reviewdetail.json
business/pages/classservice/reviewdetail.json
+5
-0
reviewdetail.wxml
business/pages/classservice/reviewdetail.wxml
+61
-0
reviewdetail.wxss
business/pages/classservice/reviewdetail.wxss
+188
-0
api.js
constants/api.js
+2
-0
classservice.js
service/business/classservice.js
+21
-1
No files found.
app.json
View file @
127d5de1
...
...
@@ -54,7 +54,8 @@
"rewardpoints"
,
"reviewclass"
,
"selectstudentlist"
,
"classreviewshare"
"classreviewshare"
,
"reviewdetail"
]
},
{
...
...
business/pages/classservice/classdetail.js
View file @
127d5de1
...
...
@@ -556,6 +556,7 @@ Page({
const
{
classRoomReviewlistByeDate
}
=
this
.
data
;
list
.
forEach
((
ele
)
=>
{
ele
.
content
=
''
;
ele
.
school_teacher
=
''
;
const
eleDate
=
ele
.
created_at
.
split
(
' '
)[
0
];
const
index
=
classRoomReviewlistByeDate
.
findIndex
(
item
=>
item
.
date
==
eleDate
);
if
(
index
>=
0
){
...
...
@@ -1567,11 +1568,23 @@ Page({
},
remindStudent
(){
remindpushPOST
({
class_id
:
this
.
data
.
id
}).
then
((
res
)
=>
{
const
{
code
,
data
}
=
res
;
if
(
code
==
200
){
this
.
setData
({
remindTips
:{
show
:
true
,
text
:
1
}
})
}
else
{
this
.
setData
({
remindTips
:{
show
:
true
,
text
:
''
}
})
}
})
},
...
...
business/pages/classservice/classdetail.wxml
View file @
127d5de1
...
...
@@ -269,12 +269,12 @@
</view>
</view>
<view class="student-comment" wx:if="{{item.review_type == 2}}">
<view class="dot-red"></view>
<view class="dot-red"
wx:if="{{read_status == 1}}"
></view>
<view class="info">
<image class="avatar" src="" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />
张晓丽
<image class="avatar" src="
{{filter.imagify(item.school_student.avatar, 'image/resize,w_160/format,jpg')}}
" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />
{{item.school_student.name}}
</view>
<view class="status
">未读
</view>
<view class="status
{{read_status == 2 ? 'read-status' :''}}">{{read_status == 1 ? '未读' :'已读'}}
</view>
</view>
</block>
<!-- <view class="more-btn">展开全部点评</view> -->
...
...
business/pages/classservice/classdetail.wxss
View file @
127d5de1
...
...
@@ -1146,6 +1146,9 @@ page{
font-weight:400;
color:rgba(101,184,244,1);
}
.comment-box .content-box .content-item .student-comment .read-status{
color:rgba(137,138,136,1);
}
.comment-box .content-box .content-item .more-btn {
height:100rpx;
background:rgba(255,255,255,1);
...
...
@@ -1248,7 +1251,6 @@ page{
}
.noticeDailog .content{
width:600rpx;
height:349rpx;
background:rgba(255,255,255,1);
border-radius:20rpx;
}
...
...
@@ -1271,6 +1273,9 @@ page{
padding-bottom: 75rpx;
}
.noticeDailog .content .text view{
line-height: 50rpx;
}
.noticeDailog .content .text text{
color: #65B8F4;
...
...
business/pages/classservice/classreviewshare.js
View file @
127d5de1
...
...
@@ -50,17 +50,10 @@ Page({
pagefrom
:
pagefrom
||
0
// consumerId
})
if
(
pagefrom
&&
pagefrom
==
'morethemeindex'
){
this
.
getModesDetail
()
}
else
{
this
.
getThemeDetail
();
}
this
.
reviewDetailGet
();
},
onShow
:
function
()
{
this
.
reviewDetailGet
();
},
// 详情
reviewDetailGet
(){},
selectCard
(
e
)
{
const
{
dataset
}
=
e
.
currentTarget
;
this
.
setData
({
...
...
@@ -90,7 +83,7 @@ Page({
},
onShareAppMessage
:
function
()
{
},
getThemeDetail
()
{
reviewDetailGet
()
{
wx
.
showLoading
();
themeDetail
({
subject_id
:
this
.
data
.
tid
...
...
business/pages/classservice/reviewclass.js
View file @
127d5de1
...
...
@@ -581,6 +581,7 @@ Page({
src
:
tempFilePath
,
status
:
'resolving'
,
type
:
'video'
,
mode
:
'm3u8'
,
size
:
size
,
text
:
''
,
// @文字
students
:[]
//@的学生
...
...
business/pages/classservice/reviewdetail.js
0 → 100644
View file @
127d5de1
// business/pages/classservice/reviewdetail.js
var
app
=
getApp
();
import
{
imagify
,
getRandomFilename
,
audioorigin
,
matchBlacklist
,
LocalStorage
}
from
'../../../utilities/index.js'
;
import
{
classroomdetailGet
,
readreviewcountGet
}
from
'../../../service/business/classservice.js'
;
Page
({
/**
* 页面的初始数据
*/
data
:
{
imageRoot
:
app
.
globalData
.
imageRoot
,
imageVersion
:
app
.
globalData
.
imageVersion
,
localImageRoot
:
'../../../images/'
,
reviewDetail
:
''
,
perPage
:
7
,
readList
:[],
readPage
:
1
,
readHasmore
:
true
,
readEmptyPage
:
false
,
readTotal
:
0
,
unReadList
:[],
unReadTotal
:
0
,
unReadPage
:
1
,
unReadHasmore
:
true
,
unReadEmptyPage
:
false
,
listLoading
:
false
,
tabStatus
:
1
,
},
/**
* 生命周期函数--监听页面加载
*/
onLoad
:
function
(
options
)
{
const
{
sid
,
id
,
rid
,
type
}
=
options
;
this
.
setData
({
sid
,
id
,
rid
,
type
})
this
.
ClassroomDetailGet
()
if
(
type
==
1
){
this
.
readListGet
(
'init'
);
this
.
unReadList
(
'init'
);
}
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady
:
function
()
{
},
/**
* 生命周期函数--监听页面显示
*/
onShow
:
function
()
{
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide
:
function
()
{
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload
:
function
()
{
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh
:
function
()
{
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom
:
function
()
{
},
/**
* 用户点击右上角分享
*/
onShareAppMessage
:
function
()
{
},
ClassroomDetailGet
(){
classroomdetailGet
({
id
:
this
.
data
.
rid
}).
then
((
res
)
=>
{
const
{
code
,
data
}
=
res
;
if
(
code
==
200
){
this
.
setData
({
reviewDetail
:
data
})
}
}).
catch
((
err
)
=>
{
console
.
log
(
err
)
})
},
readListGet
(
type
){
if
(
!
this
.
data
.
readHasmore
)
{
return
;
}
this
.
setData
({
listLoading
:
true
})
readreviewcountGet
({
page
:
this
.
data
.
readPage
,
perPage
:
this
.
data
.
perPage
,
review_id
:
this
.
data
.
rid
,
status
:
2
}).
then
((
res
)
=>
{
const
{
code
,
data
}
=
res
;
this
.
setData
({
listLoading
:
false
})
if
(
code
!=
200
)
{
// 失败的处理
}
else
{
if
(
data
.
total
)
{
this
.
setData
({
readTotal
:
data
.
total
})
}
switch
(
type
)
{
case
'init'
:
//页面进来第一次加载
this
.
setData
({
readList
:
data
.
list
},
()
=>
{
if
(
this
.
data
.
readTotal
>
this
.
data
.
readList
.
length
)
{
this
.
data
.
readPage
=
this
.
data
.
readPage
+
1
;
}
else
{
// 没有更多了
this
.
setData
({
readHasmore
:
false
})
}
})
break
;
case
'down'
:
// 页面下拉刷新
this
.
setData
({
readList
:
data
.
list
},
()
=>
{
if
(
this
.
data
.
readTotal
>
this
.
data
.
readList
.
length
)
{
this
.
data
.
readPage
=
this
.
data
.
readPage
+
1
;
}
else
{
// 没有更多了
this
.
setData
({
readHasmore
:
false
})
}
})
wx
.
stopPullDownRefresh
();
break
;
case
'up'
:
// 页面上拉刷新
let
list
=
this
.
data
.
readList
;
this
.
setData
({
readList
:
list
.
concat
(
data
.
list
)
},
()
=>
{
if
(
this
.
data
.
readTotal
>
this
.
data
.
readList
.
length
)
{
this
.
data
.
readPage
=
this
.
data
.
readPage
+
1
;
}
else
{
// 没有更多了
this
.
setData
({
readHasmore
:
false
})
}
})
break
;
default
:
break
;
}
if
(
this
.
data
.
readList
.
length
==
0
)
{
this
.
setData
({
readEmptyPage
:
true
})
}
else
{
this
.
setData
({
readEmptyPage
:
false
})
}
}
}).
catch
((
e
)
=>
{
this
.
setData
({
listLoading
:
false
})
})
},
//
unReadList
(
type
){
if
(
!
this
.
data
.
unReadHasmore
)
{
return
;
}
this
.
setData
({
listLoading
:
true
})
readreviewcountGet
({
page
:
this
.
data
.
unReadPage
,
perPage
:
this
.
data
.
perPage
,
review_id
:
this
.
data
.
rid
,
status
:
1
}).
then
((
res
)
=>
{
const
{
code
,
data
}
=
res
;
this
.
setData
({
listLoading
:
false
})
if
(
code
!=
200
)
{
// 失败的处理
}
else
{
if
(
data
.
total
)
{
this
.
setData
({
unReadTotal
:
data
.
total
})
}
switch
(
type
)
{
case
'init'
:
//页面进来第一次加载
this
.
setData
({
unReadList
:
data
.
list
},
()
=>
{
if
(
this
.
data
.
unReadTotal
>
this
.
data
.
unReadList
.
length
)
{
this
.
data
.
unReadPage
=
this
.
data
.
unReadPage
+
1
;
}
else
{
// 没有更多了
this
.
setData
({
unReadHasmore
:
false
})
}
})
break
;
case
'down'
:
// 页面下拉刷新
this
.
setData
({
unReadList
:
data
.
list
},
()
=>
{
if
(
this
.
data
.
unReadTotal
>
this
.
data
.
unReadList
.
length
)
{
this
.
data
.
unReadPage
=
this
.
data
.
unReadPage
+
1
;
}
else
{
// 没有更多了
this
.
setData
({
unReadHasmore
:
false
})
}
})
break
;
case
'up'
:
// 页面上拉刷新
let
list
=
this
.
data
.
unReadList
;
this
.
setData
({
unReadListList
:
list
.
concat
(
data
.
list
)
},
()
=>
{
if
(
this
.
data
.
unReadListTotal
>
this
.
data
.
unReadListList
.
length
)
{
this
.
data
.
unReadListPage
=
this
.
data
.
unReadListPage
+
1
;
}
else
{
// 没有更多了
this
.
setData
({
unReadListHasmore
:
false
})
}
})
break
;
default
:
break
;
}
if
(
this
.
data
.
unReadListList
.
length
==
0
)
{
this
.
setData
({
unReadListEmptyPage
:
true
})
}
else
{
this
.
setData
({
unReadListEmptyPage
:
false
})
}
}
}).
catch
((
e
)
=>
{
this
.
setData
({
listLoading
:
false
})
})
},
//
tabChange
(
e
){
this
.
setData
({
tabStatus
:
e
.
currentTarget
.
dataset
.
status
})
}
})
\ No newline at end of file
business/pages/classservice/reviewdetail.json
0 → 100644
View file @
127d5de1
{
"navigationBarTitleText"
:
"课堂小评详情"
,
"usingComponents"
:
{
}
}
\ No newline at end of file
business/pages/classservice/reviewdetail.wxml
0 → 100644
View file @
127d5de1
<!--business/pages/classservice/reviewdetail.wxml-->
<wxs src="../../../filter/index.wxs" module="filter" />
<view class="container">
<view class="teacher-box">
<view class="avatar-box"><image class="" src="{{filter.imagify(reviewDetail.school_teacher.avatar, 'image/resize,w_160/format,jpg')}}" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" /></view>
<view class="info-box">
<view class="name">{{reviewDetail.school_teacher.nickname}}</view>
<view class="time">{{reviewDetail.created_at}}</view>
</view>
</view>
<view class="count-box">
<view class="title-box">
<view class="title">
<image class="icon" src="{{localImageRoot}}2b/common/countIcon.png?{{imageVersion}}" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />课堂小评已读统计
</view>
<view class="detail-btn">
查看详情
<image class="icon" src="{{imageRoot}}2b/organizationalmgt/right.png?{{imageVersion}}" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />
</view>
</view>
<view class="count-info">
<view class="item"> <text class="" selectable="false" space="false" decode="false">全班</text>已读{{reviewDetail.read}}/{{reviewDetail.unread}}</view>
<view class="item"> <text class="" selectable="false" space="false" decode="false">关联人</text>已读{{reviewDetail.read_remind}}/{{reviewDetail.unread_remind}}</view>
</view>
</view>
<view class="line-20"></view>
</view>
<view class="count-dailog">
<view class="content-box">
<view class="title">已读统计</view>
<view class="tab-box">
<view bindtap="tabChange" data-status="{{1}}" class="tab-item {{tabStatus==1 ? 'act-tab-item' : ''}}">已读({{readTotal}}人)<view class="act-line" wx:if="{{tabStatus==1}}"></view></view>
<view bindtap="tabChange" data-status="{{2}}" class="tab-item {{tabStatus==2 ? 'act-tab-item' : ''}}">未读({{unReadTotal}}人)<view class="act-line" wx:if="{{tabStatus==2}}"></view></view>
</view>
<scroll-view class="list-box" scroll-y="true" bindscrolltolower="studentScrolltolower">
<block wx:if="{{tabStatus==1}}">
<view class="list-item" wx:for="{{unReadList}}" wx:key="{{index}}">
<view class="info">
<image class="" src="{{filter.imagify(item.school_student.avatar, 'image/resize,w_160/format,jpg')}}" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />
{{item.school_student.name}}
</view>
<view class="time">{{item.created_at}}</view>
<view class="line"></view>
</view>
</block>
<block wx:if="{{tabStatus==2}}">
<view class="list-item" wx:for="{{readList}}" wx:key="{{index}}">
<view class="info">
<image class="" src="{{filter.imagify(item.avatar, 'image/resize,w_160/format,jpg')}}" mode="aspectFit|aspectFill|widthFix" lazy-load="false" binderror="" bindload="" />
{{item.school_student.name}}
</view>
<view class="time">{{item.created_at}}</view>
<view class="line"></view>
</view>
</block>
</scroll-view>
</view>
</view>
business/pages/classservice/reviewdetail.wxss
0 → 100644
View file @
127d5de1
/* business/pages/classservice/reviewdetail.wxss */
.container{
padding-top: 50rpx;
}
.teacher-box{
display: flex;
align-items: center;
margin-bottom: 36rpx;
padding: 0 25rpx;
}
.teacher-box .avatar-box{
width:90rpx;
height:90rpx;
border-radius:50%;
margin-right: 27rpx;
}
.teacher-box .avatar-box image{
width:90rpx;
height:90rpx;
border-radius:50%;
}
.teacher-box .info-box .name{
font-size:28rpx;
font-family:PingFang SC;
font-weight:bold;
color:rgba(108,122,151,1);
line-height:1;
padding-bottom: 25rpx;
}
.teacher-box .info-box .time{
font-size:22rpx;
font-family:PingFang SC;
font-weight:400;
color:rgba(152,152,152,1);
line-height:1;
}
.count-box{
width:702rpx;
height:160rpx;
background:rgba(255,255,255,1);
border:1px solid rgba(233,233,233,1);
border-radius:20rpx;
padding: 36rpx 24rpx;
margin: 0 auto;
}
.count-box .title-box{
display: flex;
align-items: center;
justify-content: space-between;
padding-bottom: 34rpx;
}
.count-box .title-box .title .icon{
width: 18rpx;
height: 16rpx;
margin-right: 14rpx;
}
.count-box .title-box .title{
font-size:30rpx;
font-family:PingFang SC;
font-weight:bold;
color:rgba(0,0,0,1);
}
.count-box .title-box .detail-btn{
font-size:26rpx;
font-family:PingFang SC;
font-weight:400;
color:rgba(142,142,142,1);
}
.count-box .title-box .detail-btn .icon{
width:11rpx;
height:20rpx;
margin-left: 21rpx;
}
.count-box .count-info{
display: flex;
padding-left: 28rpx;
}
.count-box .count-info .item{
font-size:28rpx;
font-family:PingFang SC;
font-weight:400;
color:#898A88;
line-height: 1;
margin-right: 60rpx;
}
.count-box .count-info .item text{
color: #000000;
padding-right: 16rpx;
}
.line-20{
margin-top: 36rpx;
width:100%;
height:20rpx;
background:rgba(247,247,249,1);
}
.count-dailog{
width:100%;
height:100%;
background:rgba(0,0,0,.5);
position: fixed;
left: 0;
top: 0;
z-index: 100;
}
.count-dailog .content-box{
width: 100%;
height: 80vh;
position: absolute;
left: 0;
bottom: 0;
background:rgba(255,255,255,1);
border-radius:20rpx 20rpx 0px 0px;
}
.count-dailog .content-box .title{
padding: 34rpx 0 74rpx 0;
font-size:28rpx;
font-family:PingFang SC;
font-weight:bold;
color:rgba(0,0,0,1);
text-align: center;
}
.count-dailog .content-box .tab-box{
display: flex;
margin-bottom: 15rpx;
}
.count-dailog .content-box .tab-box .tab-item{
flex: 1;
text-align: center;
font-size:30rpx;
font-family:PingFang SC;
font-weight:500;
color:rgba(145,145,145,1);
line-height: 1;
height: 60rpx;
position: relative;
}
.count-dailog .content-box .tab-box .act-tab-item{
color:rgba(101,184,244,1);
}
.count-dailog .content-box .tab-box .tab-item .act-line{
width:85rpx;
height:5rpx;
background:rgba(101,184,244,1);
border-radius:3rpx;
position: absolute;
bottom: 0;
left: 50%;
margin-left: -52rpx;
}
.list-box{
}
.list-box .list-item{
padding: 25rpx;
display: flex;
align-items: center;
justify-content: space-between;
position: relative;
}
.list-box .list-item .info{
font-size:26rpx;
font-family:PingFang SC;
font-weight:400;
color:rgba(0,0,0,1);
line-height: 1;
display: flex;
align-items: center;
}
.list-box .list-item .info image{
width:66rpx;
height:66rpx;
border-radius:50%;
}
.list-box .list-item .time{
font-size:22rpx;
font-family:PingFang SC;
font-weight:400;
color:rgba(152,152,152,1);
}
.list-box .list-item .line{
width:655rpx;
height:1px;
background:rgba(0,0,0,1);
opacity:0.05;
position: absolute;
right: 0;
bottom: 0;
}
\ No newline at end of file
constants/api.js
View file @
127d5de1
...
...
@@ -255,6 +255,8 @@ const apis = {
studentreview
:
`
${
api
}
member/classroom_review/student_review`
,
//B端-学员点评-新增
classroomreviewlist
:
`
${
api
}
member/classroom_review`
,
//B端-课堂点评列表
remindpush
:
`
${
api
}
member/classroom_review/remind_push`
,
//B端-课堂点评阅读推送
classroomdetail
:
`
${
api
}
common/class_room/detail`
,
//公共-课堂点评详情
readreviewcount
:
`
${
api
}
member/classroom_review/read_review`
,
//B端-课堂点评已读未读统计
},
common
:
{
memberSession
:
`
${
api
}
member/session`
,
...
...
service/business/classservice.js
View file @
127d5de1
...
...
@@ -95,6 +95,24 @@ function studentreviewPost (data) {
errorresolve
:
1
,
})
}
function
classroomdetailGet
(
data
)
{
return
wxRequest
({
role
:
'2b'
,
url
:
apis
.
business
.
classservice
.
classroomdetail
,
data
,
method
:
'GET'
,
errorresolve
:
1
,
})
}
function
readreviewcountGet
(
data
)
{
return
wxRequest
({
role
:
'2b'
,
url
:
apis
.
business
.
classservice
.
readreviewcount
,
data
,
method
:
'GET'
,
errorresolve
:
1
,
})
}
export
{
statisticalGet
,
schedulesGet
,
...
...
@@ -105,5 +123,7 @@ export {
classreviewPOST
,
classroomreviewlistGet
,
remindpushPOST
,
studentreviewPost
studentreviewPost
,
classroomdetailGet
,
readreviewcountGet
}
\ 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