123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373 |
- <template>
- <view class="" style="">
- <view style="padding: 32rpx;box-sizing: border-box;"
- class="">
- <view style="font-size: 32rpx;margin-bottom: 32rpx;" class="ui-flex ui-flex-space-between ui-flex-align-center">
- <span class="ui-flex">所有标签 <span @click="showCourse=true" class="ui-ml20 ui-flex">{{ course_text }}<u-icon name="arrow-down"></u-icon></span></span>
- <view v-if="teacher_id" style="background-color: #05CCA1;color: #fff;" class="edit-tag-item-btn " @click="openPop">
- + 添加标签
- </view>
- </view>
- <view class="log" >
- <view class="" v-if="list.length">
- <u-list @scrolltolower="scrolltolower" height="90vh">
- <view v-for="(item,index) in list" :key="index" class="log-item" @click="xiugaiFenshu(item,index)">
- <view class="log-item-info">
- <view style="color: #999;">
- {{ item.studentTab.tab_name }}
- </view>
- <view>
- {{ item.score>0 ? "+"+item.score : item.score }}
- </view>
- </view>
- <view class="log-item-info" style="border-bottom: none;">
- <view style="color: #999;">
- {{ item.course.course_name }} - {{ item.parentTab.tab_name }}
- </view>
- <view>
- {{ item.created_at }}
- </view>
- </view>
- </view>
- <u-loadmore status="nomore" v-if="is_bottom"/>
- </u-list>
- </view>
- <view class="" v-else>
- <u-empty mode="data" ></u-empty>
- </view>
- </view>
- </view>
- <uni-data-picker style="background-color: transparent;" ref="picker" placeholder="请选择" popup-title="请选择"
- :localdata="erjiBiaoqianShu" v-model="classes" @change="onchange" @nodeclick="onnodeclick"
- @popupopened="onpopupopened" @popupclosed="onpopupclosed">
- </uni-data-picker>
- <u-picker :show="xianshiFenshuXiala" :columns="fenshuLiebiao" @confirm="querenFenshu" @cancel="xianshiFenshuXiala=false" @close="xianshiFenshuXiala=false"></u-picker>
- <student-edit-tag ref="studentEditTag" @del="delTag()"></student-edit-tag>
- <u-picker :show="showCourse" :columns="courseColumns" keyName="course_name" @cancel="showCourse=false" @confirm="querenKemu"></u-picker>
- </view>
- </template>
- <script>
- import studentEditTag from "@/pages/studentTab/studentEditTag.vue"
- import Util from "@/common/js/util.js"
- import { getSubjectByStudentId } from "@/common/api/course.js"
- import { getStudentTabTreeByTeacherId,huoquBiaoqianXinxi,geiXueshengTianjiaBiaoqian,xueshengBiaoqianLiebiao } from "@/common/api/tab.js"
- export default {
- components : {
- studentEditTag
- },
- data() {
- return {
- showCourse : false,
- list : [],
- classes: '',
- type : 'center',
- teacher_id : '',
- erjiBiaoqianShu: [],
- suoxuanBiaoqianXinxi : {},
- jiafenLiebiao : [["+1","+2","+3","+4","+5"]],
- koufenLiebiao : [["-1","-2","-3","-4","-5"]],
- fenshuLiebiao : [],
- xianshiFenshuXiala : false,
- xuanzhongBiaoqianId : '',
- biaoqianXinxi : {
- leixing : '',
- fenshu : '',
- },
- stu_school_id : '',
- page : 1,
- is_bottom : false,
- chooseTabIndex : '',
- course_text : '选择科目',
- course_id : '',
- courseColumns : [[]],
- kemuXinxi : {},
- }
- },
- mounted() {
- this.stu_school_id = this.$route.query.stu_school_id //学生stu_school_id
- if(this.$route.query.course_id){
- this.course_id=this.$route.query.course_id
- }
- this.getSubjectByStudentId()
- this.xueshengBiaoqianLiebiao()
- //如果是老师身份
- if(this.$store.state.teacher_id){
- this.teacher_id=this.$store.state.teacher_id
- this.huoquBiaoqianShu()
- }
- },
- methods: {
- querenKemu(val){
- this.kemuXinxi=val.value[0]
- this.course_text=this.kemuXinxi.course_name
- this.showCourse=false
- this.list=[]
- this.page=1
- this.course_id=this.kemuXinxi.course_id
- this.xueshengBiaoqianLiebiao()
- },
- getSubjectByStudentId(){
- this.$api.sendRequest({
- url: getSubjectByStudentId,
- data : {
- stu_school_id : this.stu_school_id,
- },
- success: res => {
- this.courseColumns=[[]]
- res.data.map(item=>{
- item.course_name=item.course.course_name
- this.courseColumns[0].push(item)
- if(item.course_id==this.course_id){
- this.course_text=item.course_name
- }
- })
- }
- })
- },
- xiugaiFenshu(item,index){
- if(this.teacher_id==item.eval_teacher_id){
- this.$refs.studentEditTag.showTag=true
- this.$refs.studentEditTag.tagInfo=item
- this.$refs.studentEditTag.score= item.score
- this.chooseTabIndex=index
- }
- },
- xueshengBiaoqianLiebiao(){
- this.$api.sendRequest({
- url: xueshengBiaoqianLiebiao,
- data : {
- stu_school_id : this.stu_school_id,
- page : this.page,
- course_id : this.course_id
- },
- success: res => {
- if(res.data.data.length==0){
- this.is_bottom=true
- }else{
- res.data.data.map(item=>{
- this.list.push(item)
- })
- this.page++
- }
- }
- })
- },
- querenFenshu(e){
- this.biaoqianXinxi.fenshu=e.indexs[0]+1
- this.$api.sendRequest({
- url: geiXueshengTianjiaBiaoqian,
- data : {
- teacher_id : this.teacher_id,
- tab_id : this.xuanzhongBiaoqianId,
- stu_school_id : this.stu_school_id,
- type : this.biaoqianXinxi.leixing,
- score : this.biaoqianXinxi.fenshu
- },
- method : 'post',
- success: res => {
- console.log(res,"shis,");
- this.xianshiFenshuXiala=false
- this.page=1
- this.list=[]
- this.xueshengBiaoqianLiebiao()
- }
- })
- },
- openPop() {
- this.$refs.picker.show()
- },
- onnodeclick(e) {
- },
- onpopupopened(e) {
- console.log('popupopened');
- },
- onpopupclosed(e) {
- console.log('popupclosed',e);
- },
- onchange(e) {
- console.log(e,"biaoqianxinxi");
- this.suoxuanBiaoqianXinxi=e.detail.value
- this.course_id=e.detail.value[0].value
- this.course_text=e.detail.value[0].text
- this.xuanzhongBiaoqianId=e.detail.value[2].value
- //去后台查找标签信息
- this.chazhaoBiaoqianXinxi()
- },
- chazhaoBiaoqianXinxi(){
- this.$api.sendRequest({
- url: huoquBiaoqianXinxi,
- data : {
- tab_id : this.xuanzhongBiaoqianId
- },
- success: res => {
- console.log(res,"chazhaoshuju");
- if(res.data.type==1){
- this.fenshuLiebiao=this.jiafenLiebiao
- }else{
- this.fenshuLiebiao=this.koufenLiebiao
- }
- this.biaoqianXinxi.leixing=res.data.type
- this.$refs.picker.hide()
- //选择完成后,弹出加分,扣分选项
- this.xianshiFenshuXiala=true
- }
- })
- },
- delTag(item,index){
- this.list.splice(this.chooseTabIndex,1)
- },
- huoquBiaoqianShu(){
- this.$api.sendRequest({
- url: getStudentTabTreeByTeacherId,
- method : 'post',
- data : {
- teacher_id : this.teacher_id,
- },
- success: res => {
- console.log(res,"shu");
- this.dataTree=res.data
- res.data.map((item)=>{
- let obj={
- text: item.course_name,
- value: item.course_id,
- children:[],
- course_id : item.course_id,
- }
- item.tabLv2.map(item2=>{
- let children1={
- text: item2.tab_name,
- value: item2.tab_id,
- tab_id : item2.tab_id,
- children :[],
- }
- if(item2.tabLv3){
- item2.tabLv3.map(item3=>{
- let children2={
- text: item3.tab_name,
- value: item3.tab_id,
- tab_id : item3.tab_id,
- }
- children1.children.push(children2)
- })
- }
- obj.children.push(children1)
- })
- this.erjiBiaoqianShu.push(obj)
- })
- }
- })
- },
- scrolltolower(){
- if(this.is_bottom==true) return
- this.xueshengBiaoqianLiebiao()
- },
- }
- }
- </script>
- <style lang="scss" scoped>
- /deep/.uni-data-tree-input {
- display: none;
- }
- .edit-tag {
- }
- .edit-tag-item-btn {
- background: rgba(5, 204, 161, 0.10);
- border-radius: 14.33px;
- padding: 4rpx 20rpx;
- width: fit-content;
- }
- .edit-tag-item {
- background: rgba(5, 204, 161, 0.10);
- border-radius: 14.33px;
- padding: 4rpx 20rpx;
- margin-right: 32rpx;
- margin-bottom: 32rpx;
- position: relative;
- .edit-tag-item-icon {
- position: absolute;
- width: 40rpx;
- border-radius: 50%;
- height: 40rpx;
- text-align: center;
- line-height: 40rpx;
- background-color: rgba(66, 185, 131, 1);
- right: -20rpx;
- top: -20rpx;
- }
- }
- .edit-tag-item-add {}
-
- .log {
- box-sizing: border-box;
- width: 100%;
- height: 60vh;
- .log-item {
- padding: 16rpx;
- box-sizing: border-box;
- margin-bottom: 28rpx;
- width: 100%;
- background: #ffffff;
- border-radius: 5.33px;
- box-shadow: 0px 0px 6.67px 0px rgba(147, 147, 147, 0.10);
-
- .log-item-info {
- width: 100%;
- padding: 20rpx 0;
- border-bottom: 1px solid #f2f2f2;
- display: flex;
- justify-content: space-between;
- }
-
- .log-item-content {
- width: 100%;
- border-bottom: 1px solid #f2f2f2;
- font-size: 20rpx;
- padding-bottom: 20rpx;
- display: flex;
- align-items: center;
- }
-
- .log-item-content-left {
- display: flex;
- align-items: center;
- flex: 1;
-
- .log-item-content-left-text {
- margin-left: 32rpx;
- }
- }
-
- .log-item-content-right {
- display: flex;
- align-items: center;
- }
-
- .log-item-content-right-color {
- width: 20rpx;
- height: 20rpx;
- border-radius: 50%;
- margin-right: 20rpx;
- }
-
- }
- }
- </style>
- <style lang="scss">
- /deep/ .selected-item-active{
- border-bottom: 2px solid #05cca1 !important;
- }
- /deep/ .check{
- border: 2px solid #05cca1;
- border-left: 0;
- border-top:0
- }
- </style>
|