This commit is contained in:
@fawn-nine
2024-08-22 17:24:58 +08:00
parent a1c8108fa3
commit 497ab89dae
4 changed files with 336 additions and 21 deletions

View File

@@ -6,8 +6,8 @@ if (process.env.NODE_ENV === 'development') {
// socketUrl = "ws://localhost:6001/";
// baseUrl = "https://twin-ui.com/demo/";
// baseUrl = "https://testapi.nuttyreading.com/"; // 线上测试环境
baseUrl = "https://api.nuttyreading.com/"; // 线上正式
// baseUrl = "http://192.168.110.100:9200/pb/"; // 开发用电脑
// baseUrl = "https://api.nuttyreading.com/"; // 线上正式
baseUrl = "http://192.168.110.100:9200/pb/"; // 开发用电脑
// baseUrl = "http://59.110.212.44:9200/pb/";
// baseUrl = "http://192.168.110.100:9100/pb/"; // 开发用电脑
// baseUrl = "http://192.168.110.110:9200/pb/";

View File

@@ -641,6 +641,13 @@
"navigationBarTitleText" : "任务列表"
}
},
{
"path" : "pages/miniClass/taskListForWaitOpen",
"style" :
{
"navigationBarTitleText" : "待开班任务列表"
}
},
{
"path" : "pages/miniClass/taskDetail",
"style" :

View File

@@ -18,13 +18,25 @@
]">
{{getClassStatus}}
</view>
<view class="flex_box">
<view class="">
<view class="flex_box" style="justify-content: space-between;">
<view class="" style="flex: 1;">
<h3 style="margin-top: 20rpx; font-size: 28rpx;">班级名称{{thisClass.title}}</h3>
<view class="welComeText">
<text> 班内职务{{getRoleName}} </text>
</view>
</view>
<view class="optionsBtn daikaibtn " v-show="thisClass.state == '0' ">
<view class="flex_box" >
<view class="item editClass"
@click="onPageJump('/pages/miniClass/addClass',thisClass.id, classModel.type)">
<text>修改班级</text>
</view>
<!-- <view class="item delClass" v-if="thisClass.state == '0' && (roleCode.includes('主任') || roleCode.includes('副主任'))" @click="delClass()"> -->
<view class="item delClass" @click="delClass()">
<text>删除班级</text>
</view>
</view>
</view>
</view>
@@ -34,16 +46,7 @@
<!-- 已开班按钮 -->
<view class="optionsBtn" v-if="thisClass.state != '2'">
<view class="flex_box" v-show="thisClass.state == '0' ">
<view class="item editClass"
@click="onPageJump('/pages/miniClass/addClass',thisClass.id, classModel.type)">
<text>修改班级</text>
</view>
<!-- <view class="item delClass" v-if="thisClass.state == '0' && (roleCode.includes('主任') || roleCode.includes('副主任'))" @click="delClass()"> -->
<view class="item delClass" >
<text>删除班级</text>
</view>
</view>
<view class="stepBox" v-if="thisClass.state == '0' && (roleCode.includes('1') || roleCode.includes('2'))">
<h3 class="PM_font threeStepTitle">3步操作快速开班</h3>
<view class="flex_box item">
@@ -67,7 +70,7 @@
</view>
<view class="btn">
<view class="item fabuhomework" v-if="homeWorkList.length < thisClass.homeWorkNumber"
@click="goAddHomeWork('0')">
@click="goTaskListForWait('0')">
<text>去设置</text>
</view>
</view>
@@ -173,7 +176,7 @@
<uni-icons type="eye" size="20" color="#333"></uni-icons>
</view>
</view> -->
<!-- <view><text class="ciyao">管理成员</text><text class="mainTxt" @click="seeManager">点击查看</text></view> -->
<view><text class="ciyao">管理成员</text><text class="mainTxt" @click="seeManager">点击查看</text></view>
</view>
<uni-section class="mb-10 nobg" title="教学目标/班级简介" type="line"></uni-section>
<rich-text class="banjiJianjie" :nodes="formatRichText(thisClass.content)"></rich-text>
@@ -462,6 +465,11 @@
url:`/pages/miniClass/taskDetailForMan?id=${item.id}&roleCode=${this.roleCode}&type=0&classState=${this.thisClass.state}`
})
},
goTaskListForWait(type){
uni.navigateTo({
url: `/pages/miniClass/taskListForWaitOpen?classId=${this.thisClass.id}&type=${type}&minNumber=${this.thisClass.homeWorkNumber}`
})
},
goAddHomeWork(type){
uni.navigateTo({
url: `/pages/miniClass/addHomeWork?classId=${this.thisClass.id}&type=${type}`
@@ -1044,8 +1052,11 @@
.daikai {
background-image: linear-gradient(-90deg, #258feb 0%, rgba(255, 255, 255, 0.1) 80%, rgba(255, 255, 255, 0) 100%);
}
}
.daikaibtn{
.item{ padding: 10rpx 6rpx;}
}
.xuexizhong {
background-image: linear-gradient(-90deg, #55aa00 0%, rgba(255, 255, 255, 0.1) 80%, rgba(255, 255, 255, 0) 100%);
}
@@ -1066,7 +1077,7 @@
}
.editClass {
background-color: #258feb;
background-color: #35a6eb;
}
.fabuhomework{
background-color: #97a1ff;
@@ -1090,7 +1101,7 @@
.pingfenBox {
border: 2px dotted #bed4ee;
padding: 20rpx;
background-color: rgba(255, 255, 255, .6);
background-color: rgba(255, 255, 255, 1);
border-radius: 20rpx;
.flex_box {
@@ -1388,7 +1399,7 @@ u-divider{font-size: 24rpx;}
text-align: center;
// background-color: rgba(255, 255, 255, .5);
border-radius: 20rpx;
justify-content: start;
justify-content: space-around;
margin: 20rpx 0;
.itt{margin: 0 20rpx;}
text {

View File

@@ -0,0 +1,297 @@
<template>
<view style="min-height: calc(100vh - 120rpx); background-color: #ebf2f5;">
<z-nav-bar :title="pageName"></z-nav-bar>
<view class="pad20">
<view class="haveNoList">
根据教学时长,至少发布{{minNumber}}条作业
</view>
<view v-if="taskList.length > 0 ">
<view class="submitRecode">
<view class="newBox">
<view class="item " v-for="(item, index) in taskList" @click="clickTask(item)">
<view class="leve1 flex_box">
<text>{{item.title}}</text>
</view>
<view class="leve2 flex_box">
<!-- <view class="item">
<view class="">
<uni-icons type="checkmarkempty" size="18" color="#55aa7f"></uni-icons>
</view>
<view class="">
已交 <b>{{item.otherInfo.setGiveHomeWorkNumber}}</b>
</view>
</view>
<view class="item">
<view class="">
<uni-icons type="closeempty" size="18" color="#ff878d"></uni-icons>
</view>
<view class="">
未交 <b>{{item.otherInfo.setNoGiveHomeWorkNumber}}</b>
</view>
</view>
<view class="item">
<view class="">
<uni-icons type="auth" size="18" color="#55aa7f"></uni-icons>
</view>
<view class="">
已评分 <b>{{item.otherInfo.setGiveScoreNumber}}</b>
</view>
</view> -->
<view class="item flex_box" style="align-items: center;">
<view class="">
<uni-icons type="spinner-cycle" size="18" color="#ff878d"></uni-icons>
</view>
<view class="">
未评分 <b>{{item.otherInfo.setNoGiveScoreNumber}}</b>
</view>
</view>
</view>
</view>
</view>
</view>
</view>
<u-divider v-show="status == 2" text="已加载全部"></u-divider>
<u-divider v-show="status == 3" text="暂无数据"></u-divider>
<u-divider v-show="status == 1" text="加载中..."></u-divider>
</view>
<z-navigation></z-navigation>
</view>
</template>
<script>
import $http from '@/config/requestConfig.js';
// const taskLIst1 = require('@/data/taskList.json')
export default {
data() {
return {
classId: undefined,
pageType: undefined,
pPage: 0,
status: 88,
loadFlag: false,
pageName: '',
taskList: [],
roleCode:'',
minNumber:undefined
}
},
onLoad(e) {
console.log('e',e);
this.classId = e.classId
this.minNumber = e.minNumber
this.pageType = e.type
this.roleCode = e.roleCode
if (e.type == '0') {
this.pageName = '作业列表'
} else if (this.pageName = '医案列表') {
} else {
this.pageName = '心得列表'
}
// this.getList()
},
onPullDownRefresh() {
this.pPage = 0
this.taskList = []
this.getList()
uni.stopPullDownRefresh()
},
onReachBottom() {
if (this.status != 2 && this.status != 3) {
this.getList()
}
},
onShow() {
this.pPage = 0
this.taskList = []
this.getList()
// this.getList()
},
onBackPress() {
if (this.showRight || this.showLeft) {
this.$refs.showLeft.close()
this.$refs.showRight.close()
return true
}
},
methods: {
// 点击作业或者医案,进入作业提交情况
clickTask(item){
// console.log('options',options);
uni.navigateTo({
url:`/pages/miniClass/taskDetailForMan?id=${item.id}&roleCode=${this.roleCode}&type=${this.pageType}`
})
},
getList() {
this.status = 1;
if (this.loadFlag) {
console.log("有未完成的进程");
return;
}
uni.showLoading({
title: '加载中'
})
this.loadFlag = true;
this.pPage++;
$http.request({
url: "common/class/getClassTaskList",
method: "POST",
data: {
"limit": 10,
"page": this.pPage,
"classId": this.classId,
"type": this.pageType + '', //类型 0班内任务1医案2心得
"title": ""
},
header: { //默认 无 说明:请求头
'Content-Type': 'application/json'
},
})
.then(res => {
if (res.code == 0) {
if (res.page.records.length > 0) {
console.log('数据获取成功', res.page.records);
var lis = res.page.records
this.taskList = this.taskList.concat(lis)
// this.taskList = taskLIst1.page.records // 测试数据
if (res.page.pages > this.pPage) {
this.status = 0;
} else {
this.status = 2;
}
} else {
this.status = 3; // 暂无数据
}
this.loadFlag = false;
console.log('res', res);
uni.hideLoading()
}
}).catch(e => {
console.log(e, '数据报错')
uni.hideLoading()
this.loadFlag = false;
uni.showToast({
title: e.msg,
icon: 'error'
})
});
},
}
}
</script>
<style lang="scss" scoped>
@import "@/style/mixin.scss";
.example-body {
padding: 10px;
}
.pad20 {
padding: 20rpx;
}
.scroll-view {
/* #ifndef APP-NVUE */
width: 100%;
height: 100%;
/* #endif */
flex: 1
}
.submitRecode {
// padding: 20rpx;
.newBox {
.classmateImg {
width: 60rpx !important;
height: 60rpx !important;
image {
width: 60rpx !important;
height: 60rpx;
}
}
.item {
background-color: #fff;
border-radius: 20rpx;
box-shadow: none !important;
// border-bottom: 1px solid #eee;
border-radius: 20rpx;
padding: 20rpx ;
margin-bottom: 20rpx;
.leve1 {
align-items: center;
border-bottom: 1px dashed #eee;
padding-bottom: 20rpx;
margin-bottom: 20rpx;
// .userName{}
}
.leve2 { justify-content: center;
color: #999; font-size: 24rpx;
b{font-size: 34rpx; padding: 0 4rpx; font-weight: normal; color: #333; color: red;}
.item{text-align: center; padding-top: 0; padding-bottom: 0; margin-bottom: 0;}
}
.leve3 {
color: $themeColor;
text-align: center;
padding-top: 10rpx;
.tips {
width: 100%;
justify-content: space-between;
font-size: 26rpx;
color: #999;
}
.date {}
.btn {
border: 1px solid $themeColor;
margin-top: 20rpx;
display: inline-block;
width: 50%;
padding: 6rpx 0;
border-radius: 10rpx;
}
}
.leve3.no {
color: #ff9277;
text-align: center;
}
}
}
}
// 处理抽屉内容滚动
.scroll-view-box {
flex: 1;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
.info {
padding: 15px;
color: #666;
}
.info-text {
font-size: 14px;
color: #666;
}
.info-content {
padding: 5px 15px;
}
.close {
padding: 10px;
}
</style>