Commit 127d5de1 authored by lvtz's avatar lvtz

fix

parents 82b70947 fe284788
......@@ -54,7 +54,8 @@
"rewardpoints",
"reviewclass",
"selectstudentlist",
"classreviewshare"
"classreviewshare",
"reviewdetail"
]
},
{
......
......@@ -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: ''
}
})
}
})
},
......
......@@ -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> -->
......
......@@ -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;
......
......@@ -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
......
......@@ -581,6 +581,7 @@ Page({
src: tempFilePath,
status: 'resolving',
type: 'video',
mode: 'm3u8',
size: size,
text:'', // @文字
students:[] //@的学生
......
// 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
{
"navigationBarTitleText": "课堂小评详情",
"usingComponents": {
}
}
\ No newline at end of file
<!--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 */
.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
......@@ -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`,
......
......@@ -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
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment