页面渲染 数据处理

This commit is contained in:
taoxu 2023-12-26 22:40:39 +08:00
parent cf5bd9045e
commit 804158fa14
7 changed files with 782 additions and 780 deletions

View File

@ -1,8 +1,8 @@
@font-face { @font-face {
font-family: "iconfont"; /* Project id 3598721 */ font-family: "iconfont"; /* Project id 3598721 */
src: url('//at.alicdn.com/t/c/font_3598721_fd8phfvkjv.woff2?t=1691978562796') format('woff2'), src: url('//at.alicdn.com/t/c/font_3598721_z5jk4kgjfv.woff2?t=1703600739909') format('woff2'),
url('//at.alicdn.com/t/c/font_3598721_fd8phfvkjv.woff?t=1691978562796') format('woff'), url('//at.alicdn.com/t/c/font_3598721_z5jk4kgjfv.woff?t=1703600739909') format('woff'),
url('//at.alicdn.com/t/c/font_3598721_fd8phfvkjv.ttf?t=1691978562796') format('truetype'); url('//at.alicdn.com/t/c/font_3598721_z5jk4kgjfv.ttf?t=1703600739909') format('truetype');
} }
.iconfont { .iconfont {
@ -13,6 +13,14 @@
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
} }
.icon-xiangxiajiantoucuxiao:before {
content: "\e8c8";
}
.icon-xiangshangjiantoucuxiao:before {
content: "\e8d8";
}
.icon-yiwancheng:before { .icon-yiwancheng:before {
content: "\e630"; content: "\e630";
} }

View File

@ -42,7 +42,7 @@ const install = (Vue, vm) => {
// 所以哪怕您重新登录修改了Storage下一次的请求将会是最新值 // 所以哪怕您重新登录修改了Storage下一次的请求将会是最新值
// const token = uni.getStorageSync('token'); // const token = uni.getStorageSync('token');
const token = " Bearer 794bed8faaf14a00b07befd07b8402b2" const token = " Bearer 5791a135fff342a4b7e70109b6936826"
// console.log("我是token", token) // console.log("我是token", token)
config.header.Authorization = token; config.header.Authorization = token;

View File

@ -228,6 +228,16 @@
"enablePullDownRefresh": false, "enablePullDownRefresh": false,
"navigationStyle": "custom" "navigationStyle": "custom"
} }
},
{
"path" : "teacher_class/class_members",
"style" :
{
"navigationBarTitleText": "",
"navigationBarBackgroundColor": "#4473f6",
"enablePullDownRefresh": false,
"navigationStyle": "custom"
}
} }
] ]

File diff suppressed because it is too large Load Diff

View File

@ -19,51 +19,28 @@
</view> --> </view> -->
<view class="check_card_cls">
<view class="check_card_cls " v-for="(item,index) in workinfo" :key="index">
<view class="check_card_cls_info_left"> <view class="check_card_cls_info_left">
<view class="class_card_left"> <view class="class_card_left">
<image src=" https://file.langsi.online/yasiimg/web/static/udWNTRG6GulmTtgPRQ49"></image> <image :src="item.avatar"></image>
</view> </view>
<view class="class_card_right"> <view class="class_card_right">
<view class="class_card_right_top"> <view class="class_card_right_top">
雅思1班 {{item.name}}
</view> </view>
<view class="class_card_right_bot">
共21人 <view class="class_card_right_bot" v-show="item.classify == 1">
听力
</view> </view>
</view> <view class="class_card_right_bot" v-show="item.classify == 2">
</view> 阅读
<view class="check_card_cls_info_right">
<view class="class_info">
<view class="class_info_top">
平均成绩/
</view> </view>
<view class="class_info_bot"> <view class="class_card_right_bot" v-show="item.classify == 3">
6 写作
</view> </view>
</view> <view class="class_card_right_bot" v-show="item.classify == 4">
<view class="class_info"> 口语
<view class="class_info_top">
作业完成度
</view>
<view class="class_info_bot">
80%
</view>
</view>
</view>
</view>
<view class="check_card_cls ">
<view class="check_card_cls_info_left">
<view class="class_card_left">
<image src=" https://file.langsi.online/yasiimg/web/static/udWNTRG6GulmTtgPRQ49"></image>
</view>
<view class="class_card_right">
<view class="class_card_right_top">
雅思1班
</view>
<view class="class_card_right_bot">
共21人
</view> </view>
</view> </view>
</view> </view>
@ -103,19 +80,23 @@
backgroundColor: "#F6F9FC", backgroundColor: "#F6F9FC",
}, },
checkindex: 0, checkindex: 0,
id:13, id:12,
workinfo:[], workinfo:[],
orgworkinfo:[] orgworkinfo:[]
} }
}, },
onLoad() { onLoad(option) {
console.log(option);
this.id = option.id
// this.classid=15
this.getworklist() this.getworklist()
}, },
methods: { methods: {
getworklist() { getworklist() {
this.$u.get(`https://api.admin-v2.langsi.online//admin-api/classroom/work-record/classrooms?workId=${this.id}`).then(res => { this.$u.get(`https://api.admin-v2.langsi.online/admin-api/classroom/work-record/classrooms?workId=${this.id}`).then(res => {
if (res.code == 0) { if (res.code == 0) {

View File

@ -19,21 +19,21 @@
</view> --> </view> -->
<view class="check_card_cls"> <view class="check_card_stu" v-for="(item,index) in workinfo" :key="index">
<view class="check_card_cls_info_left"> <view class="check_card_stu_info_left">
<view class="class_card_left"> <view class="class_card_left">
<image src=" https://file.langsi.online/yasiimg/web/static/udWNTRG6GulmTtgPRQ49"></image> <image :src="item.avatar"></image>
</view> </view>
<view class="class_card_right"> <view class="class_card_right">
<view class="class_card_right_top"> <view class="class_card_right_top">
雅思1班 {{item.name}}
</view> </view>
<view class="class_card_right_bot"> <view class="class_card_right_bot">
共21人 ID{{item.id}}
</view> </view>
</view> </view>
</view> </view>
<view class="check_card_cls_info_right"> <view class="check_card_stu_info_right">
<view class="class_info"> <view class="class_info">
<view class="class_info_top"> <view class="class_info_top">
平均成绩/ 平均成绩/
@ -50,43 +50,11 @@
80% 80%
</view> </view>
</view> </view>
</view>
</view>
<view class="check_card_cls ">
<view class="check_card_cls_info_left">
<view class="class_card_left">
<image src=" https://file.langsi.online/yasiimg/web/static/udWNTRG6GulmTtgPRQ49"></image>
</view>
<view class="class_card_right">
<view class="class_card_right_top">
雅思1班
</view>
<view class="class_card_right_bot">
共21人
</view>
</view>
</view>
<view class="check_card_cls_info_right">
<view class="class_info">
<view class="class_info_top">
平均成绩/
</view>
<view class="class_info_bot">
6
</view>
</view>
<view class="class_info">
<view class="class_info_top">
作业完成度
</view>
<view class="class_info_bot">
80%
</view>
</view>
</view> </view>
</view> </view>
</view> </view>
</view> </view>
@ -96,7 +64,7 @@
export default { export default {
data() { data() {
return { return {
title: '班级安排', title: '学生安排',
// //
bgc: { bgc: {
@ -110,12 +78,16 @@
} }
}, },
onLoad() { onLoad(option) {
console.log(option);
this.id = option.id
// this.classid=15
this.getworklist() this.getworklist()
}, },
methods: { methods: {
getworklist() { getworklist() {
this.$u.get(`https://api.admin-v2.langsi.online//admin-api/classroom/work-record/classrooms?workId=${this.id}`).then(res => { this.$u.get(`https://api.admin-v2.langsi.online/admin-api/classroom/work-record/members?workId=${this.id}`).then(res => {
if (res.code == 0) { if (res.code == 0) {

View File

@ -53,7 +53,7 @@
<!-- 班级 --> <!-- 班级 -->
<view class="ap_class"> <view class="ap_class">
<!-- 安排班级 --> <!-- 安排班级 -->
<view class="ap_classes"> <view class="ap_classes" @click="toclass()">
<view class="ad_organization"> <view class="ad_organization">
<view class="ad_ap">班级安排</view> <view class="ad_ap">班级安排</view>
<view class="ad_icon"> <view class="ad_icon">
@ -70,7 +70,7 @@
</view> </view>
</view> </view>
<!-- 成员安排 --> <!-- 成员安排 -->
<view class="ap_classes"> <view class="ap_classes" @click="tostu()">
<view class="ad_organization"> <view class="ad_organization">
<view class="ad_ap">成员安排</view> <view class="ad_ap">成员安排</view>
<view class="ad_icon"> <view class="ad_icon">
@ -96,17 +96,20 @@
<view class="view_timeline" style="margin-top: 20rpx;"> <view class="view_timeline" style="margin-top: 20rpx;">
<u-time-line> <u-time-line>
<!-- 时间线1 --> <!-- 时间线1 -->
<u-time-line-item nodeTop="2" node-color="red" v-for="(itemsx,indexx) in item.items" :key="indexx"> <u-time-line-item nodeTop="2" node-color="red" v-for="(itemsx,indexx) in item.items"
:key="indexx">
<template v-slot:content> <template v-slot:content>
<view> <view>
<view class="u-order-title"> <view class="u-order-title">
<view class="fickle"> <view class="fickle">
<view class="view_first_wz" v-if="itemsx.classify==1||itemsx.classify==2"> <view class="view_first_wz" v-if="itemsx.classify==1||itemsx.classify==2">
{{itemsx.testName}}</view> {{itemsx.testName}}
</view>
<view class="view_first_wz" v-if="itemsx.classify==3">{{itemsx.testName}} <view class="view_first_wz" v-if="itemsx.classify==3">{{itemsx.testName}}
</view> </view>
<view class="view_first_wz" v-if="itemsx.classify==4"> <view class="view_first_wz" v-if="itemsx.classify==4">
{{itemsx.moduleName}}-{{itemsx.partName}}</view> {{itemsx.moduleName}}-{{itemsx.partName}}
</view>
<view class="changeable greenish" v-if="itemsx.classify==1">听力</view> <view class="changeable greenish" v-if="itemsx.classify==1">听力</view>
<view class="changeable yellow" v-if="itemsx.classify==2">阅读</view> <view class="changeable yellow" v-if="itemsx.classify==2">阅读</view>
<view class="changeable blur" v-if="itemsx.classify==3">写作</view> <view class="changeable blur" v-if="itemsx.classify==3">写作</view>
@ -117,34 +120,40 @@
</view> </view>
<veiw class="blue-green"> <veiw class="blue-green">
<view class="blue_qs" :style="'width:' + itemsx.speedwidth + '%;'" v-if="itemsx.classify==1"> <view class="blue_qs" :style="'width:' + itemsx.speedwidth + '%;'"
v-if="itemsx.classify==1">
</view> </view>
<view class="blue_qs2" :style="'width:' + itemsx.speedwidth + '%;'" v-if="itemsx.classify==2"> <view class="blue_qs2" :style="'width:' + itemsx.speedwidth + '%;'"
v-if="itemsx.classify==2">
</view> </view>
<view class="blue_qs3" :style="'width:' + itemsx.speedwidth + '%;'" v-if="itemsx.classify==3"> <view class="blue_qs3" :style="'width:' + itemsx.speedwidth + '%;'"
v-if="itemsx.classify==3">
</view> </view>
<view class="blue_qs4" :style="'width:' + itemsx.speedwidth + '%;'" v-if="itemsx.classify==4"> <view class="blue_qs4" :style="'width:' + itemsx.speedwidth + '%;'"
v-if="itemsx.classify==4">
</view> </view>
<view class="text" style="z-index: 2;" v-if="itemsx.classify==1||itemsx.classify==2" > <view class="text" style="z-index: 2;"
v-if="itemsx.classify==1||itemsx.classify==2">
{{itemsx.partName}} {{itemsx.partName}}
</view> </view>
<view class="word" style="z-index: 2;" v-if="itemsx.classify==1||itemsx.classify==2"> <view class="word" style="z-index: 2;"
v-if="itemsx.classify==1||itemsx.classify==2">
:{{itemsx.questionType}} :{{itemsx.questionType}}
</view> </view>
<view class="text" style="z-index: 2;" v-if="itemsx.classify==3" > <view class="text" style="z-index: 2;" v-if="itemsx.classify==3">
{{itemsx.partName}} {{itemsx.partName}}
</view> </view>
<view class="text" style="z-index: 2;" v-if="itemsx.classify==4" > <view class="text" style="z-index: 2;" v-if="itemsx.classify==4">
{{itemsx.questionName}} {{itemsx.questionName}}
</view> </view>
<view class="word" style="z-index: 2;" v-if="itemsx.classify==4"> <view class="word" style="z-index: 2;" v-if="itemsx.classify==4">
: :
<span v-for=" ts in itemsx.speakingType.split(',') " :key="ts"> <span v-for=" ts in itemsx.speakingType.split(',') " :key="ts">
{{ getTypeText(ts) }} {{ getTypeText(ts) }}
</span> </span>
</view> </view>
</veiw> </veiw>
@ -156,7 +165,7 @@
</view> </view>
</template> </template>
<view class="zhanwei" style="width: 100%;height: 50rpx;"> <view class="zhanwei" style="width: 100%;height: 50rpx;">
</view> </view>
</view> </view>
</view> </view>
@ -179,18 +188,38 @@
}, },
methods: { methods: {
getTypeText(type) { getTypeText(type) {
switch (type) { switch (type) {
case '1': case '1':
return '串题'+" "; return '串题' + " ";
case '2': case '2':
return '跟读'+" "; return '跟读' + " ";
case '3': case '3':
return '模考'+" "; return '模考' + " ";
default: default:
return '其他类型'; return '其他类型';
} }
}, },
toclass(){
uni.navigateTo({
url: "/pages_teacher/pages_add/add_class?id=" +this.workinfo.id
}).then(res => {
}).catch(err => {
});
},
tostu(){
uni.navigateTo({
url: "/pages_teacher/teacher_class/class_members?id=" + this.workinfo.id
}).then(res => {
}).catch(err => {
});
},
getworklist() { getworklist() {
this.$u.get(`https://api.admin-v2.langsi.online/admin-api/classroom/work-record/detail?workId=${this.id}`) this.$u.get(`https://api.admin-v2.langsi.online/admin-api/classroom/work-record/detail?workId=${this.id}`)
.then(res => { .then(res => {
@ -199,17 +228,17 @@
if (res.code == 0) { if (res.code == 0) {
this.workinfo = res.data this.workinfo = res.data
this.uploadspeath = (this.workinfo.doneNum / this.workinfo.totalNum) * 100; this.uploadspeath = (this.workinfo.doneNum / this.workinfo.totalNum) * 100;
let json = JSON.stringify(this.workinfo ) let json = JSON.stringify(this.workinfo)
for (const paper of this.workinfo.papers) { for (const paper of this.workinfo.papers) {
// Loop through items in each paper // Loop through items in each paper
for (const item of paper.items) { for (const item of paper.items) {
// Calculate speedwidth and add it to the item // Calculate speedwidth and add it to the item
item.speedwidth = (item.doneNum / item.totalNum) * 100; item.speedwidth = (item.doneNum / item.totalNum) * 100;
} }
} }
// this.orgworkinfo = JSON.parse(JSON.stringify(res.data)); // this.orgworkinfo = JSON.parse(JSON.stringify(res.data));
// this.classlist = res.data.list // this.classlist = res.data.list
// this.isloding = false // this.isloding = false
@ -231,7 +260,7 @@
.title { .title {
margin-top: 32rpx; margin-top: 32rpx;
font-size: 40rpx; font-size: 40rpx;
font-family: 'YOUSHEBIAOTIHEI-2', 'YOUSHEBIAOTIHEI-2'; font-family: 'YOUSHEBIAOTIHEI-2', 'YOUSHEBIAOTIHEI-2';
font-weight: 400; font-weight: 400;
color: #2E4975; color: #2E4975;
} }
@ -439,12 +468,13 @@
font-family: 'PingFang', 'PingFang'; font-family: 'PingFang', 'PingFang';
font-weight: 500; font-weight: 500;
color: #2E4975; color: #2E4975;
overflow: hidden; overflow: hidden;
white-space: nowrap; white-space: nowrap;
text-overflow: ellipsis; text-overflow: ellipsis;
} }
.word{
.word {
z-index: 2; z-index: 2;
font-size: 24rpx; font-size: 24rpx;
font-family: 'PingFang', 'PingFang'; font-family: 'PingFang', 'PingFang';