Commit 2fe99422 authored by wangxuelai's avatar wangxuelai

Merge remote-tracking branch 'origin/lvtz_clock' into wxl-user-optimize

parents 85aa42b2 1f5d33af
......@@ -202,7 +202,7 @@ Page({
})
},
subjectReviewTemplate (templatesList) {
subjectReviewTemplate({
classReviewTemplate({
class_id: this.data.id
}).then((res) => {
const {code, data} = res;
......
......@@ -12,7 +12,7 @@
</view>
</view>
<view class="footer-box">
<view class="btn"><image class="icon" src="{{localImageRoot}}2b/helpcenter/wechaticon.png?{{imageVersion}}"/>
<view class="btn"><image class="icon" src="{{imageRoot}}2b/helpcenter/wechaticon.png?{{imageVersion}}"/>
<button open-type="contact" class="contact"></button>在线咨询
</view>
</view>
......
......@@ -34,8 +34,8 @@
</view>
</view>
<view class="footer-box">
<view class="btn" bindtap="toPostFeedback"><image class="icon" src="{{localImageRoot}}2b/helpcenter/adviceicon.png?{{imageVersion}}"/>建议反馈</view>
<view class="btn"><image class="icon" src="{{localImageRoot}}2b/helpcenter/wechaticon.png?{{imageVersion}}"/>在线咨询
<view class="btn" bindtap="toPostFeedback"><image class="icon" src="{{imageRoot}}2b/helpcenter/adviceicon.png?{{imageVersion}}"/>建议反馈</view>
<view class="btn"><image class="icon" src="{{imageRoot}}2b/helpcenter/wechaticon.png?{{imageVersion}}"/>在线咨询
<button class="contact" open-type="contact"></button>
</view>
</view>
......
......@@ -141,7 +141,8 @@ Page({
subject_creator: {
nickname: data.subject_creator && data.subject_creator.nickname,
id: data.subject_creator && data.subject_creator.id,
}
},
}
})
this.getUnlockSubject();
......@@ -195,8 +196,11 @@ Page({
})
},
goMembers () {
// wx.navigateTo({
// url: `/business/pages/unlockclocksituation/index?tid=${this.data.tid}&sid=${this.data.sid}`
// })
wx.navigateTo({
url: `/business/pages/unlockclocksituation/index?tid=${this.data.tid}&sid=${this.data.sid}`
url: `/business/pages/themeindex/members?subject_id=${this.data.tid}&subject_type=3&sid=${this.data.sid}&title=${this.data.lockparams.title}`,
})
},
goEditLandcontent (e) {
......
......@@ -6,6 +6,12 @@ import {
deleteSubjectTeacher,
deleteSubjectStudent
} from "../../../service/business/themeindex.js";
import {
unlockSubjectListGet,
} from '../../../service/business/common.js';
import {
unlockSubjectShow
} from '../../../service/business/themeindex';
Page({
data: {
imageRoot: app.globalData.imageRoot,
......@@ -38,7 +44,14 @@ Page({
teacherLoading: false,
teacherHasmore: true,
teacherEmptyPage: false,
needRefresh: false
needRefresh: false,
subjectCount: 0,//关卡总数
student_count: 0,//学生数
lockSubjects: [],//已设置关卡
selectSubject: { id: 0, title: "全部关卡" },
modalSubjectList: false,
modelSubjectListAnimate: false,
},
onLoad: function(options) {
......@@ -49,7 +62,11 @@ Page({
sid,
title
});
this.getStudents("init");
if(subject_type==3){
this.unlockSubjectShow()
}else{
this.getStudents("init");
}
},
onShow: function() {
......@@ -85,6 +102,12 @@ Page({
path: `/src/pages/calendarthemeindex/landpage?tid=${this.data.subject_id}&sid=${this.data.sid}`,
imageUrl: `${this.data.imageRoot}pageshare_cover/theme_share.png`,
}
} else if (this.data.subject_type == 3) {
return {
title: `邀请您参加${this.data.title}打卡`,
path: `/src/pages/sharemoretheme/index?tid=${this.data.subject_id}&sid=${this.data.sid}`,
imageUrl: `${this.data.imageRoot}pageshare_cover/theme_share.png`,
}
}
},
onPullDownRefresh: function() {
......@@ -163,12 +186,13 @@ Page({
this.setData({
studentLoading: true
});
subjectStudents({
let otherParam = this.data.subject_type==3?{checkpoint_id: this.data.selectSubject.id}: ''
subjectStudents(Object.assign(otherParam,{
page: this.data.studentPage,
perPage: this.data.studentPerPage,
subject_id: this.data.subject_id,
subject_type: this.data.subject_type
})
}))
.then(res => {
const { code, data } = res;
this.setData({
......@@ -457,5 +481,121 @@ Page({
}
}
});
}
},
unlockSubjectShow() {
wx.showLoading({
title: '数据加载中...'
});
unlockSubjectShow({
id: this.data.subject_id,
school_id: this.data.sid,
}).then((res) => {
const { code, data } = res;
if (code == 200) {
wx.hideLoading();
this.setData({
subjectCount: data.subject_count,
student_count: data.student_count
})
this.getUnlockSubject();
}
}).catch(() => {
wx.showToast({
icon: 'none',
title: '内容加载失败'
})
})
},
getUnlockSubject() {
unlockSubjectListGet({
page: 1,
perPage: 201,
id: this.data.subject_id,
school_id: this.data.sid
}).then((res) => {
const { code, data } = res;
if (code == 200) {
const lockSubjects = data.list;
const count = this.data.subjectCount - data.total;
for (let i = 0; i < count; i++) {
lockSubjects.push({
id: 0,
title: '',
content: [],
force_status: 2,
force_num: 0,
text_require_status: 2,
text_require_num: 0,
image_require_status: 2,
image_require_num: 0,
video_require_status: 2,
video_require_num: 0,
audio_require_status: 2,
audio_require_num: 0,
})
}
this.setData({
lockSubjects: lockSubjects,
})
this.getStudents("init")
} else {
}
}).catch((e) => {
})
},
bindSublectListModal(e) {
const { from, item } =e.currentTarget.dataset;
console.log(item,'item');
if( from && from == "modal" ){
if( item ){
if(item.id==0){
wx.showToast({
title: '关卡待完善~',
icon: 'none'
})
return
} else if(item.id > 0){
this.setData({
selectSubject: item,
studentPage: 1,
studentHasmore: true,
modelSubjectListAnimate: true
});
this.getStudents("init");
setTimeout(() => {
this.setData({
modalSubjectList: false,
modelSubjectListAnimate: false
});
}, 200);
}
}else{
this.setData({
modelSubjectListAnimate: true
});
setTimeout(() => {
this.setData({
modalSubjectList: false,
modelSubjectListAnimate: false
});
}, 200);
}
} else {
this.setData({
modalSubjectList: true
});
}
},
toGrowth (e) {
const { id } = e.currentTarget.dataset;
if(this.data.subject_type!=3){
return
}
wx.navigateTo({
url: `/business/pages/morethemeindex/studentact?sid=${this.data.sid}&studentId=${id}&modeid=${this.data.subject_id}`
})
},
});
......@@ -9,24 +9,33 @@
</view>
</view>
</view>
<view class="select-box" bindtap="bindSublectListModal" hidden='{{currentTabsIndex != 0}}'>
<view class="title">{{ selectSubject.title }} <block wx:if="{{selectSubject.id==0}}">({{subjectCount}})</block></view>
<image class="icon-arr {{modalSubjectList? 'active': ''}}" src="{{imageRoot}}2c/shopindex/arrowdown.png?{{imageVersion}}"></image>
</view>
<view class='list-wrap' hidden='{{currentTabsIndex != 0}}'>
<empty-content wx:if='{{studentEmptyPage}}' text="暂无打卡学生" emptyimg="common/empty/empty_no.png" />
<view wx:else class="list-box">
<block wx:for="{{studentList}}" wx:for-item="studentItem" wx:key="studentList">
<view class="list-item" wx:for="{{studentItem}}" wx:key="index">
<view class="list-item" wx:for="{{studentItem}}" wx:key="index" catchtap="toGrowth" data-id="{{item.school_student.id}}">
<view class="left">
<image class="item-avatar" src="{{filter.imagify(item.avatar? item.avatar:item.school_student.avatar)}}" wx:if="{{item.avatar}}"></image>
<image class="item-avatar" src="{{imageRoot}}common/empty/avatar_user.png?{{imageVersion}}" wx:else></image>
<view class="info-box">
<view class="name-box">
<view class="item-name">{{item.school_student && item.school_student.nickname ? item.school_student.nickname: item.name }}</view>
<view class="item-opt" data-id="{{item.id}}" bindtap="kickOutStudent">踢出本次打卡</view>
<view class="item-opt" data-id="{{item.id}}" catchtap="kickOutStudent">踢出本次打卡</view>
</view>
<view class="item-textbox" wx:if="{{subject_type==3}}">
<text>已闯{{item.max_clock_count || 0}}关</text>
<!-- <text>分享{{item.share_count || 0}}次</text>
<text>{{item.share_uv || 0}}人访问</text> -->
</view>
<view class="item-mobile">{{item.mobile}}</view>
<view class="item-mobile">手机号: {{item.mobile? item.mobile: '-'}}</view>
</view>
</view>
<view class="right" data-phone="{{item.mobile}}" bindtap="callphone">
<view class="right" data-phone="{{item.mobile}}" catchtap="callphone">
<image class="icon-mobile" src="{{imageRoot}}2b/themeindex/call_phone.png"></image>
</view>
</view>
......@@ -36,6 +45,7 @@
<list-loading loading="{{studentLoading}}"></list-loading>
<view class='btn-add'>
<button class="text" open-type="share">邀请学生打卡</button>
<!-- <view class="text">导出学生闯关打卡数据</view> -->
</view>
</view>
......@@ -67,4 +77,30 @@
</view>
</view>
<view class="modal modal-setup {{modelSubjectListAnimate? 'hide': ''}}" hidden="{{!modalSubjectList}}">
<view class="mask" bindtap="bindSublectListModal" data-from="modal"></view>
<view class="modal-content">
<view class="modal-title">
全部学生({{student_count}})人
<image class="icon-close" src="{{imageRoot}}2b/themeindex/close_icon.png" data-from="modal" bindtap="bindSublectListModal"></image>
</view>
<view class="setting-list">
<view class="setting-item" wx:for="{{lockSubjects}}" wx:key="index" data-from="modal" bindtap="bindSublectListModal" data-item="{{item}}">
<view class="left">
<block wx:if="{{item.id}}">
<view class="item-label">第{{index+1}}关:{{item.title}}</view>
<view class="item-desc">已打卡 {{item.clock_people}}人</view>
</block>
<block wx:else>
<view class="item-label">第{{index+1}}关:待完善</view>
</block>
</view>
<view class="right">
<image class="icon-arr" src="{{imageRoot}}2b/themeindex/setting_right.png"></image>
</view>
</view>
</view>
</view>
</view>
</view>
\ No newline at end of file
......@@ -70,6 +70,17 @@
color: rgba(22, 176, 253, 1);
line-height: 32rpx;
}
.list-wrap .list-box .list-item .item-textbox{
display: flex;
align-items: center;
margin-top: 5rpx;
}
.list-wrap .list-box .list-item .item-textbox text{
font-size: 22rpx;
color: rgba(153, 153, 153, 1);
line-height: 32rpx;
padding-right: 24rpx;
}
.list-wrap .list-box .list-item .item-mobile {
font-size: 22rpx;
font-weight: 500;
......@@ -104,17 +115,64 @@
rgba(255, 255, 255, 0.9) 100%
);
width: 100%;
display: flex;
align-items: center;
}
.btn-add .text {
flex: 1;
width: 100%;
height: 98rpx;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
margin: 50rpx auto 0;
margin: 50rpx 0 0;
font-size: 28rpx;
color: rgba(22, 176, 253, 1);
background: transparent;
border-radius: 0;
padding: 0;
position: relative;
}
.btn-add .text:nth-child(2)::before{
content: "";
width: 1px;
height: 25rpx;
background: #16B0FD;
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%) scaleX(.5);
}
@import "../../style/themeindex.wxss";
.setting-list{
max-height: 800rpx;
overflow: auto;
}
/* 打卡列表筛选 类型选择 */
.select-box{
width: 100%;
padding: 20rpx;
display: flex;
align-items: center;
position: relative;
border-bottom: 2rpx solid #ebedf0;
min-height: 70rpx;
}
.select-box .title{
font-size: 22rpx;
color:#16B0FD;
line-height: 32rpx;
width: 90%;
}
.select-box .icon-arr{
width: 22rpx;
height: 12rpx;
position: absolute;
right: 30rpx;
top: 29rpx;
}
.select-box .icon-arr.active{
transform: rotate(180deg);
}
\ No newline at end of file
......@@ -128,7 +128,7 @@
</view>
</view>
<view class="btn btn-home" bindtap="goWebsiteIndex" wx:else>
<image class="icon-home" src="{{localImageRoot}}common/icon_home.png?{{imageVersion}}"></image>
<image class="icon-home" src="{{imageRoot}}common/icon_home.png?{{imageVersion}}"></image>
<view class="tip">学校首页</view>
</view>
<!-- 没有手机号 需要授权-->
......
......@@ -129,7 +129,7 @@
</view>
</view>
<view class="btn btn-home" bindtap="goWebsiteIndex" wx:else>
<image class="icon-home" src="{{localImageRoot}}common/icon_home.png?{{imageVersion}}"></image>
<image class="icon-home" src="{{imageRoot}}common/icon_home.png?{{imageVersion}}"></image>
<view class="tip">学校首页</view>
</view>
<!-- 没有手机号 需要授权 -->
......
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