|
@@ -1,1254 +1,729 @@
|
|
|
<template>
|
|
|
- <div class="pb_content">
|
|
|
- <div class="pb_head">
|
|
|
- <span>作业管理</span>
|
|
|
- </div>
|
|
|
- <div class="pb_content_body">
|
|
|
- <div class="student_head">
|
|
|
- <div class="student_search">
|
|
|
- <span>课程筛选</span>
|
|
|
- <el-select
|
|
|
- v-model="workCourse"
|
|
|
- @change="searchWork2"
|
|
|
- style="min-width: 100px; margin-right: 5px"
|
|
|
- >
|
|
|
- <el-option label="全部分类" value=""></el-option>
|
|
|
- <el-option
|
|
|
- v-for="item in typeList"
|
|
|
- :key="item.groupid"
|
|
|
- :label="item.name"
|
|
|
- :value="item.groupid"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- <el-select
|
|
|
- v-model="workType"
|
|
|
- @change="searchWork"
|
|
|
- style="min-width: 100px"
|
|
|
- >
|
|
|
- <el-option label="全部课程" value=""></el-option>
|
|
|
-
|
|
|
- <el-option
|
|
|
- v-for="item in workTypeList"
|
|
|
- :key="item.courseid"
|
|
|
- :label="item.title"
|
|
|
- :value="item.courseid"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- <el-select
|
|
|
- v-model="classX"
|
|
|
- placeholder="筛选的班级"
|
|
|
- no-data-text="此学校暂无班级"
|
|
|
- style="min-width: 100px; margin-left: 5px"
|
|
|
- @change="searchWork"
|
|
|
- >
|
|
|
- <el-option label="所有班级" value=""></el-option>
|
|
|
- <el-option
|
|
|
- v-for="item in classList"
|
|
|
- :key="item.id"
|
|
|
- :label="item.name"
|
|
|
- :value="item.id"
|
|
|
- ></el-option>
|
|
|
- </el-select>
|
|
|
- <el-select
|
|
|
- v-model="Eve"
|
|
|
- placeholder="筛选的班级"
|
|
|
- no-data-text="此学校暂无班级"
|
|
|
- style="width: 180px; margin-left: 5px"
|
|
|
- @change="searchWork"
|
|
|
- >
|
|
|
- <el-option label="所有作业" value=""></el-option>
|
|
|
- <el-option label="已评分" value="1"></el-option>
|
|
|
- <el-option label="未评分" value="2"></el-option>
|
|
|
- </el-select>
|
|
|
- <span>
|
|
|
- <el-input
|
|
|
- placeholder="请输入学生的姓名"
|
|
|
- v-model="studentnameA"
|
|
|
- clearable
|
|
|
- >
|
|
|
- </el-input>
|
|
|
- </span>
|
|
|
- <el-button type="primary" @click="searchWork">查询</el-button>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="student_table">
|
|
|
- <el-table
|
|
|
- v-loading="isLoading"
|
|
|
- ref="table"
|
|
|
- :data="tableData"
|
|
|
- border
|
|
|
- :height="tableHeight"
|
|
|
- :fit="true"
|
|
|
- style="width: 100%"
|
|
|
- :header-cell-style="{ background: '#f1f1f1' }"
|
|
|
- :row-class-name="tableRowClassName"
|
|
|
- >
|
|
|
- <el-table-column prop="name" label="姓名" min-width="10">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="classname" label="班级" min-width="10">
|
|
|
- <template slot-scope="scope">
|
|
|
- <div>
|
|
|
- {{ scope.row.classname ? scope.row.classname : "暂无班级" }}
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="title" label="课程" min-width="30">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="评价" min-width="20">
|
|
|
- <template slot-scope="scope">
|
|
|
- <div>
|
|
|
- {{computedIsE(scope.row.rateJson)}}
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column prop="time" label="时间" min-width="15">
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="操作" min-width="25">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-button
|
|
|
- type="text"
|
|
|
- size="small"
|
|
|
- style="position: relative"
|
|
|
- @click="
|
|
|
- getWork(
|
|
|
- scope.row.userid,
|
|
|
- scope.row.courseid,
|
|
|
- scope.row.uuserid
|
|
|
- )
|
|
|
- "
|
|
|
- >查看作业
|
|
|
- <i
|
|
|
- :class="{
|
|
|
- notR:
|
|
|
- scope.row.isRead == 1 &&
|
|
|
- scope.row.uuserid == $store.state.userInfo.userid,
|
|
|
- }"
|
|
|
- v-if="scope.row.isRead == 1"
|
|
|
- ></i>
|
|
|
- </el-button>
|
|
|
- <el-button
|
|
|
- @click="handleDelete(scope.row)"
|
|
|
- type="text"
|
|
|
- size="small"
|
|
|
- >删除</el-button
|
|
|
- >
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
- </div>
|
|
|
- <div class="student_page">
|
|
|
- <el-pagination
|
|
|
- background
|
|
|
- layout="prev, pager, next"
|
|
|
- :page-size="10"
|
|
|
- :total="total"
|
|
|
- @current-change="handleCurrentChange"
|
|
|
- v-if="!isListAjax && page"
|
|
|
- >
|
|
|
- </el-pagination>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <el-dialog
|
|
|
- title="查看作业"
|
|
|
- :visible.sync="dialogVisible"
|
|
|
- :append-to-body="true"
|
|
|
- width="750px"
|
|
|
- :before-close="handleClose"
|
|
|
- class="dialog_diy"
|
|
|
- >
|
|
|
- <div class="work_white">
|
|
|
- <div class="pb_head" style="width: 100%">
|
|
|
- <span>{{ workList.title }}</span>
|
|
|
- </div>
|
|
|
- <div class="works_score_box">
|
|
|
- <div
|
|
|
- class="works_score_work"
|
|
|
- v-for="(item, index) in workList.homework"
|
|
|
- :key="item.hid"
|
|
|
- >
|
|
|
- <div class="score_head">
|
|
|
- <span
|
|
|
- @click="
|
|
|
- workDetail(
|
|
|
- item.rate,
|
|
|
- item.id,
|
|
|
- item.name,
|
|
|
- item.title,
|
|
|
- workList.uid,
|
|
|
- workList.cid,
|
|
|
- item.teachername
|
|
|
- )
|
|
|
- "
|
|
|
- >{{ index + 1 }}、{{ item.name }}</span
|
|
|
- >
|
|
|
- <div style="min-width: 215px">
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- class="store"
|
|
|
- @click="
|
|
|
- workDetail(
|
|
|
- item.rate,
|
|
|
- item.id,
|
|
|
- item.name,
|
|
|
- item.title,
|
|
|
- workList.uid,
|
|
|
- workList.cid,
|
|
|
- item.teachername
|
|
|
- )
|
|
|
- "
|
|
|
- >查看视频</el-button
|
|
|
- >
|
|
|
- <el-button
|
|
|
- v-if="item.content.content"
|
|
|
- type="primary"
|
|
|
- class="store"
|
|
|
- :class="{ stored: item.rate != '' }"
|
|
|
- @click="
|
|
|
- rate(
|
|
|
- item.rate,
|
|
|
- item.id,
|
|
|
- item.name,
|
|
|
- item.title,
|
|
|
- workList.uid,
|
|
|
- workList.cid,
|
|
|
- item.teachername
|
|
|
- )
|
|
|
- "
|
|
|
- >{{ item.rate == "" ? "立即评分" : "已评分" }}</el-button
|
|
|
- >
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="score_work">
|
|
|
- <el-image
|
|
|
- v-for="photo in item.photoList"
|
|
|
- :key="photo"
|
|
|
- style="width: 100px; height: 100px; margin-right: 10px"
|
|
|
- :src="photo"
|
|
|
- @click="handlePictureCardPreview(photo)"
|
|
|
- ></el-image>
|
|
|
- </div>
|
|
|
- <div class="work_content">
|
|
|
- <span>{{
|
|
|
- item.content.content ? item.content.content : "暂未上传"
|
|
|
- }}</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <span slot="footer" class="dialog-footer">
|
|
|
- <!-- <el-button @click="dialogVisible = false">取 消</el-button> -->
|
|
|
- <el-button type="primary" @click="dialogVisible = false"
|
|
|
- >关 闭</el-button
|
|
|
- >
|
|
|
- </span>
|
|
|
- </el-dialog>
|
|
|
-
|
|
|
- <el-dialog
|
|
|
- title="查看作业"
|
|
|
- :visible.sync="dialogVisible1"
|
|
|
- :append-to-body="true"
|
|
|
- width="750px"
|
|
|
- :before-close="handleClose"
|
|
|
- class="dialog_diy"
|
|
|
- >
|
|
|
- <div>
|
|
|
- <div class="pb_head" style="width: 100%">
|
|
|
- <span>{{ res.title }}</span>
|
|
|
- </div>
|
|
|
- <div>
|
|
|
- <div class="workd_head">
|
|
|
- <div class="workd_media">
|
|
|
- <!-- <el-image
|
|
|
- style="width: 100%; height: 300px"
|
|
|
- :src="require('../../assets/tu4.png')"
|
|
|
- ></el-image> -->
|
|
|
- <video-player
|
|
|
- class="video-player vjs-custom-skin"
|
|
|
- ref="videoPlayer"
|
|
|
- :playsinline="true"
|
|
|
- :options="playerO"
|
|
|
- @play="onPlayerPlay($event)"
|
|
|
- style="width: 100%; height: 100%"
|
|
|
- ></video-player>
|
|
|
- </div>
|
|
|
- <div class="workd_title">{{ res.stitle }}</div>
|
|
|
- <div class="workd_content">
|
|
|
- <div
|
|
|
- class="mywd_rate_comment"
|
|
|
- v-for="item in resP"
|
|
|
- :key="item.id"
|
|
|
- >
|
|
|
- <div class="mywd_rate_head">
|
|
|
- <div class="mywd_rate_head_img mwd_img_box user_comment">
|
|
|
- <img src="../../assets/jiazhang.png" alt="" />
|
|
|
- </div>
|
|
|
- <div class="mywd_rate_head_title">
|
|
|
- <div>{{ item.parentname }}家长</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="mywd_rate_comment_body">
|
|
|
- <span>{{ item.content }}</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="comments_title">
|
|
|
- <span>评论</span><span>({{ resS.length }})</span>
|
|
|
- </div>
|
|
|
- <div class="workd_comment">
|
|
|
- <div
|
|
|
- class="mywd_rate_comment"
|
|
|
- v-for="index in resS"
|
|
|
- :key="index.id"
|
|
|
- >
|
|
|
- <div class="mywd_rate_head">
|
|
|
- <div class="mywd_rate_head_img mwd_img_box">
|
|
|
- <img
|
|
|
- :src="
|
|
|
- index.smailheadportrait
|
|
|
- ? index.smailheadportrait
|
|
|
- : require('../../assets/portal.png')
|
|
|
- "
|
|
|
- alt=""
|
|
|
- />
|
|
|
- </div>
|
|
|
- <div class="mywd_rate_head_title">
|
|
|
- <div>
|
|
|
- {{ index.name }}<span>{{ index.time }}</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="mywd_rate_comment_body">
|
|
|
- <span>{{ index.content }}</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <span slot="footer" style="display: flex; justify-content: center">
|
|
|
- <!-- <el-button @click="dialogVisible = false">取 消</el-button> -->
|
|
|
- <el-button
|
|
|
- style="width: 90%; margin: 0 auto"
|
|
|
- type="primary"
|
|
|
- @click="rate2"
|
|
|
- v-if="!rateParams[5]"
|
|
|
- >进行评分</el-button
|
|
|
- >
|
|
|
- <el-button
|
|
|
- style="width: 90%; margin: 0 auto"
|
|
|
- type="primary"
|
|
|
- @click="
|
|
|
- rate(
|
|
|
- rateParams[5],
|
|
|
- rateParams[0],
|
|
|
- rateParams[3],
|
|
|
- rateParams[4],
|
|
|
- rateParams[1],
|
|
|
- rateParams[2]
|
|
|
- )
|
|
|
- "
|
|
|
- v-else
|
|
|
- >查看评分</el-button
|
|
|
- >
|
|
|
- </span>
|
|
|
- </el-dialog>
|
|
|
-
|
|
|
- <el-dialog
|
|
|
- title="评分"
|
|
|
- :visible.sync="dialogVisible2"
|
|
|
- :append-to-body="true"
|
|
|
- width="750px"
|
|
|
- :before-close="handleClose"
|
|
|
- class="dialog_diy"
|
|
|
- >
|
|
|
- <div class="work_white">
|
|
|
- <div class="sd_head">
|
|
|
- <div style="display: flex; align-items: center">
|
|
|
- <img
|
|
|
- :src="
|
|
|
- workList.smailheadportrait
|
|
|
- ? workList.smailheadportrait
|
|
|
- : require('../../assets/portal.png')
|
|
|
- "
|
|
|
- alt=""
|
|
|
- /><span>{{ workList.name }}</span>
|
|
|
- </div>
|
|
|
- <div v-if="tn">{{ tn + "老师批改" }}</div>
|
|
|
- </div>
|
|
|
- <div class="sd_title">
|
|
|
- <span>课程名称</span><span>{{ rateParams[4] }}</span>
|
|
|
- </div>
|
|
|
- <div class="sd_title">
|
|
|
- <span>作业名称</span><span>{{ rateParams[3] }}</span>
|
|
|
- </div>
|
|
|
- <div class="sd_score">
|
|
|
- <div class="score_box">
|
|
|
- <span>劳动认知</span
|
|
|
- ><el-rate
|
|
|
- v-model="rateList.ca"
|
|
|
- :disabled="
|
|
|
- rateParams[5] != '' &&
|
|
|
- rateParams[5] != undefined &&
|
|
|
- !worksUpdateB
|
|
|
- "
|
|
|
- ></el-rate>
|
|
|
- </div>
|
|
|
- <div class="score_box">
|
|
|
- <span>劳动观念</span
|
|
|
- ><el-rate
|
|
|
- v-model="rateList.sia"
|
|
|
- :disabled="
|
|
|
- rateParams[5] != '' &&
|
|
|
- rateParams[5] != undefined &&
|
|
|
- !worksUpdateB
|
|
|
- "
|
|
|
- ></el-rate>
|
|
|
- </div>
|
|
|
- <div class="score_box">
|
|
|
- <span>劳动精神</span
|
|
|
- ><el-rate
|
|
|
- v-model="rateList.eta"
|
|
|
- :disabled="
|
|
|
- rateParams[5] != '' &&
|
|
|
- rateParams[5] != undefined &&
|
|
|
- !worksUpdateB
|
|
|
- "
|
|
|
- ></el-rate>
|
|
|
- </div>
|
|
|
- <div class="score_box">
|
|
|
- <span>劳动能力</span
|
|
|
- ><el-rate
|
|
|
- v-model="rateList.pia"
|
|
|
- :disabled="
|
|
|
- rateParams[5] != '' &&
|
|
|
- rateParams[5] != undefined &&
|
|
|
- !worksUpdateB
|
|
|
- "
|
|
|
- ></el-rate>
|
|
|
- </div>
|
|
|
- <div class="score_box">
|
|
|
- <span>劳动习惯与品质</span
|
|
|
- ><el-rate
|
|
|
- v-model="rateList.lra"
|
|
|
- :disabled="
|
|
|
- rateParams[5] != '' &&
|
|
|
- rateParams[5] != undefined &&
|
|
|
- !worksUpdateB
|
|
|
- "
|
|
|
- ></el-rate>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="sd_comment">
|
|
|
- <div class="displayBox">
|
|
|
- <span>更多评价</span>
|
|
|
- <div class="easy_comment" v-if="!rateParams[5]">
|
|
|
- <div
|
|
|
- v-for="(item, index) in easyCommentAarry"
|
|
|
- :key="index"
|
|
|
- @click="easyComment($event)"
|
|
|
- >
|
|
|
- {{ item }}
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <el-input
|
|
|
- type="textarea"
|
|
|
- placeholder="还有要说的吗..."
|
|
|
- :rows="6"
|
|
|
- resize="none"
|
|
|
- v-model="rateList.content"
|
|
|
- :readonly="
|
|
|
- rateParams[5] != '' && rateParams[5] != undefined && !worksUpdateB
|
|
|
- "
|
|
|
- style="background: #fafafa"
|
|
|
- ></el-input>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <span slot="footer" style="display: flex; justify-content: center">
|
|
|
- <!-- <el-button @click="dialogVisible = false">取 消</el-button> -->
|
|
|
- <el-button
|
|
|
- style="width: 90%; margin: 0 auto"
|
|
|
- type="primary"
|
|
|
- @click="rateS()"
|
|
|
- v-if="!rateParams[5]"
|
|
|
- >进行评分</el-button
|
|
|
- ><el-button
|
|
|
- style="width: 90%; margin: 0 auto"
|
|
|
- type="primary"
|
|
|
- @click="updateRate()"
|
|
|
- v-else
|
|
|
- >{{ worksUpdateB ? "确认修改" : "修改评分" }}</el-button
|
|
|
- >
|
|
|
- </span>
|
|
|
- </el-dialog>
|
|
|
- <el-dialog :visible.sync="pictureDialog" size="tiny">
|
|
|
- <img width="100%" :src="dialogImageUrl" alt="" />
|
|
|
- </el-dialog>
|
|
|
- </div>
|
|
|
+ <div class="pb_content">
|
|
|
+ <div class="pb_head">
|
|
|
+ <span>评价管理</span>
|
|
|
+ <span>备注:教师可以根据课程、班级条件筛选学生并查看该学生信息</span>
|
|
|
+ </div>
|
|
|
+ <div class="pb_content_body">
|
|
|
+ <div class="student_head">
|
|
|
+ <div class="student_search" v-if="this.choose == 0">
|
|
|
+ <div>项目筛选</div>
|
|
|
+ <el-select
|
|
|
+ v-model="subject"
|
|
|
+ placeholder="请选择课程"
|
|
|
+ @change="searchWork"
|
|
|
+ >
|
|
|
+ <el-option label="全部" value=""></el-option>
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in subjectJuri"
|
|
|
+ :key="index"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <div class="student_search" v-else>
|
|
|
+ <div>项目筛选</div>
|
|
|
+ <el-select
|
|
|
+ v-model="subject"
|
|
|
+ placeholder="请选择课程"
|
|
|
+ @change="searchWork"
|
|
|
+ >
|
|
|
+ <el-option label="所有课程" value=""></el-option>
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in subjectJuri"
|
|
|
+ :key="index"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ <el-select
|
|
|
+ v-model="sClass"
|
|
|
+ placeholder="请选择班级"
|
|
|
+ @change="searchWork"
|
|
|
+ >
|
|
|
+ <el-option label="所有班级" value=""></el-option>
|
|
|
+ <el-option
|
|
|
+ v-for="(item, index) in grade"
|
|
|
+ :key="index"
|
|
|
+ :label="item.name"
|
|
|
+ :value="item.id"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="student_table">
|
|
|
+ <el-table
|
|
|
+ ref="table"
|
|
|
+ :data="tableData"
|
|
|
+ border
|
|
|
+ :height="tableHeight"
|
|
|
+ :fit="true"
|
|
|
+ v-loading="isLoading"
|
|
|
+ style="width: 100%"
|
|
|
+ :header-cell-style="{ background: '#f1f1f1' }"
|
|
|
+ :row-class-name="tableRowClassName"
|
|
|
+ stripe
|
|
|
+ >
|
|
|
+ <el-table-column
|
|
|
+ prop="sName"
|
|
|
+ label="姓名"
|
|
|
+ min-width="15"
|
|
|
+ align="center"
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="class"
|
|
|
+ label="班级"
|
|
|
+ min-width="20"
|
|
|
+ align="center"
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="course"
|
|
|
+ label="课程"
|
|
|
+ min-width="20"
|
|
|
+ align="center"
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column
|
|
|
+ prop="time"
|
|
|
+ label="时间"
|
|
|
+ min-width="15"
|
|
|
+ align="center"
|
|
|
+ ></el-table-column>
|
|
|
+ <el-table-column label="操作" min-width="30">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ size="small"
|
|
|
+ @click="lookWork(scope.row.id)"
|
|
|
+ >查看作业</el-button
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ class="de_button"
|
|
|
+ type="primary"
|
|
|
+ size="small"
|
|
|
+ @click="deleteWork(scope.row.id)"
|
|
|
+ >删除</el-button
|
|
|
+ >
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <el-dialog
|
|
|
+ :visible.sync="dialogVisible"
|
|
|
+ :append-to-body="true"
|
|
|
+ width="700px"
|
|
|
+ :before-close="handleClose"
|
|
|
+ class="add_work"
|
|
|
+ >
|
|
|
+ <div slot="title" class="header-title">
|
|
|
+ <div class="logoImg">
|
|
|
+ <img src="../../assets/logo.png" alt="" />
|
|
|
+ </div>
|
|
|
+ <div class="title_add_student">查看作业</div>
|
|
|
+ </div>
|
|
|
+ <div class="top">
|
|
|
+ <div>{{ this.courseByUser }}</div>
|
|
|
+ <div>{{ this.userName }}</div>
|
|
|
+ </div>
|
|
|
+ <div class="first">
|
|
|
+ <div class="one_top">
|
|
|
+ <div>一、{{ this.courseByUser }} - {{ this.userName }}</div>
|
|
|
+ <el-button>已评分</el-button>
|
|
|
+ </div>
|
|
|
+ <div class="work_Img">
|
|
|
+ <img src="../../assets/workImg.png" alt="" />
|
|
|
+ </div>
|
|
|
+ <div class="work_input">
|
|
|
+ <div>早梅</div>
|
|
|
+ </div>
|
|
|
+ <div class="poetry">
|
|
|
+ 一树寒梅白玉条,林村路傍溪桥.唐张谓《早梅》
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="first">
|
|
|
+ <div class="one_top">
|
|
|
+ <div>一、{{ this.courseByUser }}2 - {{ this.userName }}</div>
|
|
|
+ <el-button class="assess" @click="doingAssess"
|
|
|
+ >进行评分</el-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
+ <div class="work_Img">
|
|
|
+ <img src="../../assets/workImg.png" alt="" />
|
|
|
+ </div>
|
|
|
+ <div class="work_input">
|
|
|
+ <div>{{ this.answerName }}</div>
|
|
|
+ </div>
|
|
|
+ <div class="poetry">雨荒深院菊,霜倒半池莲.唐杜甫《宿赞公房》</div>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+ <el-dialog
|
|
|
+ :visible.sync="dialogVisible1"
|
|
|
+ :append-to-body="true"
|
|
|
+ width="700px"
|
|
|
+ :before-close="handleClose"
|
|
|
+ class="add_work"
|
|
|
+ >
|
|
|
+ <div slot="title" class="header-title">
|
|
|
+ <div class="logoImg">
|
|
|
+ <img src="../../assets/logo.png" alt="" />
|
|
|
+ </div>
|
|
|
+ <div class="title_add_student">查看作业</div>
|
|
|
+ </div>
|
|
|
+ <div class="assess_top">
|
|
|
+ <div>{{ this.courseByUser }} - {{ this.userName }}</div>
|
|
|
+ </div>
|
|
|
+ <div class="assess_Img">
|
|
|
+ <img src="../../assets/workImg.png" alt="" />
|
|
|
+ </div>
|
|
|
+ <div class="workName">{{ this.answerName }}</div>
|
|
|
+ <div class="student_Answer">
|
|
|
+ <div class="toux">
|
|
|
+ <img src="../../assets/portal.png" alt="" />
|
|
|
+ </div>
|
|
|
+ <div class="nav">
|
|
|
+ <div class="studentName">{{ this.userName }}</div>
|
|
|
+ <div class="studentAnswer">{{ this.studentAnswer }}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="comment">
|
|
|
+ <div class="comment_title">
|
|
|
+ 评论<span>({{ this.commentCount }})</span>
|
|
|
+ </div>
|
|
|
+ <div class="other_Answer">
|
|
|
+ <div class="toux">
|
|
|
+ <img src="../../assets/portal.png" alt="" />
|
|
|
+ </div>
|
|
|
+ <div class="nav">
|
|
|
+ <div class="nameAndTime">
|
|
|
+ <div class="otherName">{{ this.commentName }}</div>
|
|
|
+ <div class="time">{{ this.commentTime }}</div>
|
|
|
+ </div>
|
|
|
+ <div class="otherAnswer">{{ this.commentAnswer }}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="other_Answer">
|
|
|
+ <div class="toux">
|
|
|
+ <img src="../../assets/portal.png" alt="" />
|
|
|
+ </div>
|
|
|
+ <div class="nav">
|
|
|
+ <div class="nameAndTime">
|
|
|
+ <div class="otherName">{{ this.commentName }}</div>
|
|
|
+ <div class="time">{{ this.commentTime }}</div>
|
|
|
+ </div>
|
|
|
+ <div class="otherAnswer">{{ this.commentAnswer }}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="doingAssess" @click="giveScore">进行评分</div>
|
|
|
+ </el-dialog>
|
|
|
+ <el-dialog
|
|
|
+ :visible.sync="dialogVisible2"
|
|
|
+ :append-to-body="true"
|
|
|
+ width="700px"
|
|
|
+ :before-close="handleClose"
|
|
|
+ class="add_work"
|
|
|
+ >
|
|
|
+ <div slot="title" class="header-title">
|
|
|
+ <div class="logoImg">
|
|
|
+ <img src="../../assets/logo.png" alt="" />
|
|
|
+ </div>
|
|
|
+ <div class="title_add_student">评分</div>
|
|
|
+ </div>
|
|
|
+ <div class="score_top">
|
|
|
+ <div class="userTou">
|
|
|
+ <img src="../../assets/portal.png" alt="" />
|
|
|
+ </div>
|
|
|
+ <div class="score_user_name">{{ this.userName }}</div>
|
|
|
+ </div>
|
|
|
+ <div class="course_top">
|
|
|
+ <div>课程名称</div>
|
|
|
+ <div>{{ this.courseByUser }}</div>
|
|
|
+ </div>
|
|
|
+ <div class="sd_score">
|
|
|
+ <div class="score_box">
|
|
|
+ <span>意识能力</span
|
|
|
+ ><el-rate
|
|
|
+ v-model="rateList.ca"
|
|
|
+ :disabled="rateParams[5] != '' && rateParams[5] != undefined"
|
|
|
+ ></el-rate>
|
|
|
+ </div>
|
|
|
+ <div class="score_box">
|
|
|
+ <span>科学探究能力</span
|
|
|
+ ><el-rate
|
|
|
+ v-model="rateList.sia"
|
|
|
+ :disabled="rateParams[5] != '' && rateParams[5] != undefined"
|
|
|
+ ></el-rate>
|
|
|
+ </div>
|
|
|
+ <div class="score_box">
|
|
|
+ <span>实践创新能力</span
|
|
|
+ ><el-rate
|
|
|
+ v-model="rateList.eta"
|
|
|
+ :disabled="rateParams[5] != '' && rateParams[5] != undefined"
|
|
|
+ ></el-rate>
|
|
|
+ </div>
|
|
|
+ <div class="score_box">
|
|
|
+ <span>学习反思能力</span
|
|
|
+ ><el-rate
|
|
|
+ v-model="rateList.pia"
|
|
|
+ :disabled="rateParams[5] != '' && rateParams[5] != undefined"
|
|
|
+ ></el-rate>
|
|
|
+ </div>
|
|
|
+ <div class="score_box">
|
|
|
+ <span>工程思维能力</span
|
|
|
+ ><el-rate
|
|
|
+ v-model="rateList.lra"
|
|
|
+ :disabled="rateParams[5] != '' && rateParams[5] != undefined"
|
|
|
+ ></el-rate>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="moreSay">更多评价</div>
|
|
|
+ <div class="more_say_input">
|
|
|
+ <el-input
|
|
|
+ type="textarea"
|
|
|
+ placeholder="还有要说的吗..."
|
|
|
+ :rows="6"
|
|
|
+ resize="none"
|
|
|
+ v-model="rateList.content"
|
|
|
+ :readonly="rateParams[5] != '' && rateParams[5] != undefined"
|
|
|
+ style="background: #fafafa"
|
|
|
+ ></el-input>
|
|
|
+ </div>
|
|
|
+ <div class="assess_right" @click="right">确认</div>
|
|
|
+ </el-dialog>
|
|
|
+ </div>
|
|
|
+ <div class="student_page">
|
|
|
+ <el-pagination
|
|
|
+ background
|
|
|
+ layout="prev, pager, next"
|
|
|
+ :page-size="10"
|
|
|
+ :total="total"
|
|
|
+ @current-change="handleCurrentChange"
|
|
|
+ >
|
|
|
+ </el-pagination>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-export default {
|
|
|
- data() {
|
|
|
- return {
|
|
|
- total: null,
|
|
|
- page: 1,
|
|
|
- tableHeight: 50,
|
|
|
- formLabelWidth: "100px",
|
|
|
- workType: "",
|
|
|
- workTypeList: [],
|
|
|
- dialogVisible: false,
|
|
|
- dialogVisible1: false,
|
|
|
- dialogVisible2: false,
|
|
|
- pictureDialog: false,
|
|
|
- dialogImageUrl: "",
|
|
|
- tableData: [],
|
|
|
- workList: {},
|
|
|
- rateList: {
|
|
|
- ca: 0,
|
|
|
- sia: 0,
|
|
|
- eta: 0,
|
|
|
- pia: 0,
|
|
|
- lra: 0,
|
|
|
- content: "",
|
|
|
- },
|
|
|
- rateParams: [],
|
|
|
- playerO: {},
|
|
|
- playerOptions: {
|
|
|
- playbackRates: [0.7, 1.0, 1.5, 2.0], //播放速度
|
|
|
- autoplay: false, //如果true,浏览器准备好时开始回放。
|
|
|
- muted: false, // 默认情况下将会消除任何音频。
|
|
|
- loop: false, // 导致视频一结束就重新开始。
|
|
|
- preload: "auto", // 建议浏览器在<video>加载元素后是否应该开始下载视频数据。auto浏览器选择最佳行为,立即开始加载视频(如果浏览器支持)
|
|
|
- language: "zh-CN",
|
|
|
- aspectRatio: "16:9", // 将播放器置于流畅模式,并在计算播放器的动态大小时使用该值。值应该代表一个比例 - 用冒号分隔的两个数字(例如"16:9"或"4:3")
|
|
|
- fluid: true, // 当true时,Video.js player将拥有流体大小。换句话说,它将按比例缩放以适应其容器。
|
|
|
- sources: [
|
|
|
- {
|
|
|
- type: "video/mp4", //这里的种类支持很多种:基本视频格式、直播、流媒体等,具体可以参看git网址项目 || "video/ogg"|| "video/webm"
|
|
|
- src: "", //url地址require("../../assets/media/aaa.mp4")
|
|
|
- },
|
|
|
- ],
|
|
|
- // poster: require("../../assets/tu31.png"), //你的封面地址
|
|
|
- // poster: dataRes.imgUrl, //你的封面地址
|
|
|
- notSupportedMessage: "此视频暂无法播放,请稍后再试", //允许覆盖Video.js无法播放媒体源时显示的默认信息。
|
|
|
- controlBar: {
|
|
|
- timeDivider: true, //当前时间和持续时间的分隔符
|
|
|
- durationDisplay: true, //显示持续时间
|
|
|
- remainingTimeDisplay: false, //是否显示剩余时间功能
|
|
|
- fullscreenToggle: true, //全屏按钮
|
|
|
- },
|
|
|
- },
|
|
|
- res: [],
|
|
|
- resS: [],
|
|
|
- resP: [],
|
|
|
- easyCommentAarry: [
|
|
|
- "太棒了,再接再励",
|
|
|
- "思维敏捷,聪慧好学",
|
|
|
- "知识丰富,好学好问",
|
|
|
- "同学很耐心,讲解很清晰",
|
|
|
- "你是小天才",
|
|
|
- "同学很细心,做的特别细致",
|
|
|
- ],
|
|
|
- uuserid: "",
|
|
|
- classX: "",
|
|
|
- classList: [],
|
|
|
- studentnameA: "",
|
|
|
- workCourse: "",
|
|
|
- typeList: [],
|
|
|
- tn: "",
|
|
|
- worksUpdateB: false,
|
|
|
- Eve:"",
|
|
|
- isListAjax:false,
|
|
|
- };
|
|
|
- },
|
|
|
- mounted() {
|
|
|
- this.$nextTick(function () {
|
|
|
- this.tableHeight =
|
|
|
- window.innerHeight - this.$refs.table.$el.offsetTop - 200;
|
|
|
- if (this.tableHeight <= 530) {
|
|
|
- this.tableHeight = 530;
|
|
|
- }
|
|
|
- // 监听窗口大小变化
|
|
|
- let self = this;
|
|
|
- window.onresize = function () {
|
|
|
- self.tableHeight =
|
|
|
- window.innerHeight - self.$refs.table.$el.offsetTop - 200;
|
|
|
- if (self.tableHeight <= 530) {
|
|
|
- self.tableHeight = 530;
|
|
|
- }
|
|
|
- };
|
|
|
- });
|
|
|
- //this.$refs.table.$el.offsetTop:表格距离浏览器的高度 //200表示你想要调整的表格距离底部的高度(你可以自己随意调整),因为我们一般都有放分页组件的,所以需要给它留一个高度
|
|
|
- },
|
|
|
- methods: {
|
|
|
- rate2() {
|
|
|
- // if (this.$store.state.userInfo.userid != this.uuserid) {
|
|
|
- // this.$message.error("您不是此课程的创建老师,不能评分");
|
|
|
- // return;
|
|
|
- // }else{
|
|
|
- dialogVisible2 = true;
|
|
|
- // }
|
|
|
- },
|
|
|
- tableRowClassName({ row, rowIndex }) {
|
|
|
- if ((rowIndex + 1) % 2 === 0) {
|
|
|
- return "even_row";
|
|
|
- } else {
|
|
|
- return "";
|
|
|
- }
|
|
|
- },
|
|
|
- easyComment(e) {
|
|
|
- this.rateList.content += e.target.innerText + "。";
|
|
|
- },
|
|
|
- handleDelete(row) {
|
|
|
- console.log(row);
|
|
|
- let params = [{ uid: row.userid, cid: row.courseid }];
|
|
|
- this.$confirm("确定删除此学生的作业吗?", "提示", {
|
|
|
- confirmButtonText: "确定",
|
|
|
- cancelButtonText: "取消",
|
|
|
- type: "warning",
|
|
|
- })
|
|
|
- .then(() => {
|
|
|
- this.ajax
|
|
|
- .post(this.$store.state.api + "deleteWork", params)
|
|
|
- .then((res) => {
|
|
|
- this.$message({
|
|
|
- message: "删除成功",
|
|
|
- type: "success",
|
|
|
- });
|
|
|
- if (this.page != 1 && this.tableData.length == 1) {
|
|
|
- this.page - 1;
|
|
|
- }
|
|
|
- this.getWorks();
|
|
|
- })
|
|
|
- .catch((err) => {
|
|
|
- this.$message.error("删除失败");
|
|
|
- console.error(err);
|
|
|
- });
|
|
|
- })
|
|
|
- .catch(() => {});
|
|
|
- },
|
|
|
- handleClose(done) {
|
|
|
- // this.rateParams = [];
|
|
|
- this.worksUpdateB = false
|
|
|
- done();
|
|
|
- },
|
|
|
- searchWork() {
|
|
|
- this.page = 1;
|
|
|
- this.isListAjax = true;
|
|
|
- this.getWorks();
|
|
|
- },
|
|
|
- searchWork2() {
|
|
|
- this.page = 1;
|
|
|
- this.isListAjax = true;
|
|
|
- this.workType = "";
|
|
|
- this.workTypeList = [];
|
|
|
- this.getType();
|
|
|
- this.getWorks();
|
|
|
- },
|
|
|
- //获取作业
|
|
|
- getWorks() {
|
|
|
- this.isLoading = true;
|
|
|
- let params = {
|
|
|
- bid: this.$store.state.userInfo.organizeid,
|
|
|
- isRate: this.Eve,
|
|
|
- class: this.classX,
|
|
|
- name: this.studentnameA,
|
|
|
- gid: this.workCourse,
|
|
|
- cid: this.workType,
|
|
|
- page: this.page,
|
|
|
- };
|
|
|
- this.ajax
|
|
|
- .get(this.$store.state.api + "getWorks", params)
|
|
|
- .then((res) => {
|
|
|
- this.isListAjax = false;
|
|
|
- this.isLoading = false;
|
|
|
- this.total = res.data[0].length > 0 ? res.data[0][0].num : 0;
|
|
|
- this.tableData = res.data[0];
|
|
|
- console.log(...this.tableData);
|
|
|
- })
|
|
|
- .catch((err) => {
|
|
|
- this.isLoading = false;
|
|
|
- console.error(err);
|
|
|
- });
|
|
|
- },
|
|
|
- handleCurrentChange(val) {
|
|
|
- this.page = val;
|
|
|
- this.getWorks();
|
|
|
- },
|
|
|
- //获取未读数量
|
|
|
- getnCount() {
|
|
|
- let params = {
|
|
|
- bid: this.$store.state.userInfo.userid,
|
|
|
- };
|
|
|
- this.ajax
|
|
|
- .get(this.$store.state.api + "getNcount", params)
|
|
|
- .then((res) => {
|
|
|
- console.log(res);
|
|
|
- if (res.data[0].length > 0) {
|
|
|
- this.$store.commit("update", ["nCount", res.data[0][0].num]);
|
|
|
- } else {
|
|
|
- this.$store.commit("update", ["nCount", 0]);
|
|
|
- }
|
|
|
- })
|
|
|
- .catch((err) => {
|
|
|
- console.error(err);
|
|
|
- });
|
|
|
- },
|
|
|
- //获取作业详情
|
|
|
- getWork(uid, cid, userid) {
|
|
|
- this.uuserid = userid;
|
|
|
- if (this.$store.state.userInfo.userid == userid) {
|
|
|
- let readParams = [{ cid: cid }];
|
|
|
- this.ajax
|
|
|
- .post(this.$store.state.api + "updateWorkRead", readParams)
|
|
|
- .then((res) => {
|
|
|
- this.getWorks();
|
|
|
- this.getnCount();
|
|
|
- })
|
|
|
- .catch((err) => {
|
|
|
- console.error(err);
|
|
|
- });
|
|
|
- }
|
|
|
- this.dialogVisible = false;
|
|
|
- this.workList = {};
|
|
|
- // console.log(row);
|
|
|
- let params = { aid: uid, cid: cid };
|
|
|
- this.ajax
|
|
|
- .get(this.$store.state.api + "getWork", params)
|
|
|
- .then((res) => {
|
|
|
- var _this = this;
|
|
|
- console.log(res.data[0]);
|
|
|
- _this.workList.title = res.data[0][0].title;
|
|
|
- _this.workList.uid = uid;
|
|
|
- _this.workList.cid = cid;
|
|
|
- _this.workList.name = res.data[0][0].name;
|
|
|
- _this.workList.smailheadportrait = res.data[0][0].smailheadportrait;
|
|
|
- var homeworkList = JSON.parse(res.data[0][0].chapters).homework;
|
|
|
- for (var i = 0; i < homeworkList.length; i++) {
|
|
|
- for (let j = 0; j < res.data[0].length; j++) {
|
|
|
- if (homeworkList[i].hid == res.data[0][j].homeworkid) {
|
|
|
- homeworkList[i].content = JSON.parse(res.data[0][j].content);
|
|
|
- homeworkList[i].rate = res.data[0][j].rate;
|
|
|
- homeworkList[i].id = res.data[0][j].id;
|
|
|
- homeworkList[i].teachername = res.data[0][j].teachername;
|
|
|
- homeworkList[i].title = res.data[0][j].title;
|
|
|
- homeworkList[i].photoList = JSON.parse(
|
|
|
- res.data[0][j].content
|
|
|
- ).photo.split(",");
|
|
|
- }
|
|
|
- }
|
|
|
- if (!homeworkList[i].content) {
|
|
|
- homeworkList[i].content = "";
|
|
|
- homeworkList[i].id = "";
|
|
|
- homeworkList[i].title = "";
|
|
|
- }
|
|
|
- }
|
|
|
- _this.workList.homework = homeworkList;
|
|
|
-
|
|
|
- this.dialogVisible = true;
|
|
|
- })
|
|
|
- .catch((err) => {
|
|
|
- // this.$message.error("删除失败");
|
|
|
- console.error(err);
|
|
|
- });
|
|
|
- },
|
|
|
- //查看单个作业的详情
|
|
|
- workDetail(rate, workid, name, title, uid, cid, tn) {
|
|
|
- let _this = this;
|
|
|
- if (tn) {
|
|
|
- _this.tn = tn;
|
|
|
- } else {
|
|
|
- _this.tn = tn;
|
|
|
- }
|
|
|
- this.rateList = {
|
|
|
- ca: 0,
|
|
|
- sia: 0,
|
|
|
- eta: 0,
|
|
|
- pia: 0,
|
|
|
- lra: 0,
|
|
|
- content: "",
|
|
|
- };
|
|
|
- if (!workid) {
|
|
|
- return;
|
|
|
- }
|
|
|
- let params = { aid: workid };
|
|
|
- this.ajax
|
|
|
- .get(this.$store.state.api + "getWorkByWidT", params)
|
|
|
- .then((resA) => {
|
|
|
- var res = resA.data[0];
|
|
|
- this.resP = resA.data[1]; //家长评论
|
|
|
- this.resS = resA.data[2]; //学生评论
|
|
|
- for (var i = 0; i < res.length; i++) {
|
|
|
- var chap = JSON.parse(res[i].chapters).homework;
|
|
|
- var content = res[i].rate ? JSON.parse(res[i].rate).content : "";
|
|
|
- res[i].comment = content;
|
|
|
- res[i].imgUrl = JSON.parse(res[i].content).photo.split(",");
|
|
|
- for (var j = 0; j < chap.length; j++) {
|
|
|
- if (res[i].homeworkid == chap[j].hid) {
|
|
|
- res[i].workName = chap[j].name;
|
|
|
- continue;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- res.filter((element) => {
|
|
|
- element.media = JSON.parse(element.content).media;
|
|
|
- return element;
|
|
|
- });
|
|
|
-
|
|
|
- _this.res = res[0];
|
|
|
- _this.res.stitle = _this.res.workName + "-" + _this.res.name;
|
|
|
- _this.playerOptions.poster = _this.res.imgUrl[0];
|
|
|
- _this.playerOptions.sources[0].src = _this.res.media;
|
|
|
- _this.playerO = _this.playerOptions;
|
|
|
- console.log(res);
|
|
|
- _this.dialogVisible1 = true;
|
|
|
- _this.rateParams = [workid, uid, cid, name, title, rate, false];
|
|
|
- })
|
|
|
- .catch((err) => {
|
|
|
- console.error(err);
|
|
|
- });
|
|
|
- },
|
|
|
- onPlayerPlay() {},
|
|
|
- //评分数据
|
|
|
- rate(rate, workid, name, title, uid, cid, tn) {
|
|
|
- // if (this.$store.state.userInfo == this.uuserid) {
|
|
|
- if (tn) {
|
|
|
- this.tn = tn;
|
|
|
- } else {
|
|
|
- this.tn = tn;
|
|
|
- }
|
|
|
- this.rateList = {
|
|
|
- ca: 0,
|
|
|
- sia: 0,
|
|
|
- eta: 0,
|
|
|
- pia: 0,
|
|
|
- lra: 0,
|
|
|
- content: "",
|
|
|
- };
|
|
|
- if (rate) {
|
|
|
- var rrrrrate = JSON.parse(rate);
|
|
|
- this.rateList = {
|
|
|
- ca: rrrrrate.ca,
|
|
|
- sia: rrrrrate.sia,
|
|
|
- eta: rrrrrate.eta,
|
|
|
- pia: rrrrrate.pia,
|
|
|
- lra: rrrrrate.lra,
|
|
|
- content: rrrrrate.content,
|
|
|
- };
|
|
|
- this.rateParams = [workid, uid, cid, name, title, rate, true];
|
|
|
- // return;
|
|
|
- } else {
|
|
|
- this.rateParams = [workid, uid, cid, name, title];
|
|
|
- }
|
|
|
- console.log(this.rateParams);
|
|
|
- this.dialogVisible2 = true;
|
|
|
-
|
|
|
- // else if (this.$store.state.userInfo.userid != this.uuserid) {
|
|
|
- // this.$message.error("您不是此课程的创建老师,不能评分");
|
|
|
- // return;
|
|
|
- // }
|
|
|
- },
|
|
|
- //评分
|
|
|
- rateS() {
|
|
|
- let params = [
|
|
|
- {
|
|
|
- wid: this.rateParams[0],
|
|
|
- rate: JSON.stringify(this.rateList),
|
|
|
- t: '"' + this.rateParams[4] + '"作业评价',
|
|
|
- nc:
|
|
|
- // "您的课程<span style='font-weight:600'>" +
|
|
|
- // this.rateParams[4] +
|
|
|
- // "</span>下<span style='font-weight:600'>" +
|
|
|
- // this.rateParams[3] +
|
|
|
- // "</span>的作业,已经批改完成,可前往我的-我的作业查看"+
|
|
|
- "好消息,您的“" +
|
|
|
- this.rateParams[3] +
|
|
|
- "”作品,已经收到了老师的评价。快去我的-我的作品中,点开查看吧。",
|
|
|
- s: this.$store.state.userInfo.userid,
|
|
|
- rid: this.workList.uid,
|
|
|
- },
|
|
|
- ];
|
|
|
- this.ajax
|
|
|
- .post(this.$store.state.api + "rate", params)
|
|
|
- .then((res) => {
|
|
|
- if (this.dialogVisible1) {
|
|
|
- this.dialogVisible1 = false;
|
|
|
- }
|
|
|
- this.getWork(this.rateParams[1], this.rateParams[2], this.uuserid);
|
|
|
- this.$message.success("评分成功");
|
|
|
- this.dialogVisible2 = false;
|
|
|
- })
|
|
|
- .catch((err) => {
|
|
|
- this.$message.error("评分失败");
|
|
|
- console.error(err);
|
|
|
- });
|
|
|
- },
|
|
|
- updateRate() {
|
|
|
- if (this.worksUpdateB) {
|
|
|
- let params = [
|
|
|
- {
|
|
|
- wid: this.rateParams[0],
|
|
|
- rate: JSON.stringify(this.rateList),
|
|
|
- t: '"' + this.rateParams[4] + '"作业评价修改',
|
|
|
- nc:
|
|
|
- "好消息,您的“" +
|
|
|
- this.rateParams[3] +
|
|
|
- "”作品,被老师再此修改了评分。快去我的-我的作品中,点开查看吧。",
|
|
|
- s: this.$store.state.userInfo.userid,
|
|
|
- rid: this.workList.uid,
|
|
|
- },
|
|
|
- ];
|
|
|
- this.ajax
|
|
|
- .post(this.$store.state.api + "rate", params)
|
|
|
- .then((res) => {
|
|
|
- if (this.dialogVisible1) {
|
|
|
- this.dialogVisible1 = false;
|
|
|
- }
|
|
|
- this.getWork(this.rateParams[1], this.rateParams[2], this.uuserid);
|
|
|
- this.$message.success("评分成功");
|
|
|
- this.dialogVisible2 = false;
|
|
|
- this.worksUpdateB = false;
|
|
|
- })
|
|
|
- .catch((err) => {
|
|
|
- this.$message.error("评分失败");
|
|
|
- console.error(err);
|
|
|
- });
|
|
|
- } else {
|
|
|
- this.worksUpdateB = true;
|
|
|
- }
|
|
|
- },
|
|
|
- //作业图片查看
|
|
|
- handlePictureCardPreview(url) {
|
|
|
- this.dialogImageUrl = url;
|
|
|
- this.pictureDialog = true;
|
|
|
- },
|
|
|
- getType() {
|
|
|
- // let params = { uid: this.$store.state.userInfo.organizeid };
|
|
|
- let params = { uid: this.workCourse };
|
|
|
- this.ajax
|
|
|
- .get(this.$store.state.api + "findWorkType", params)
|
|
|
- .then((res) => {
|
|
|
- this.workTypeList = res.data[0];
|
|
|
- })
|
|
|
- .catch((err) => {
|
|
|
- // this.$message.error("删除失败");
|
|
|
- console.error(err);
|
|
|
- });
|
|
|
- },
|
|
|
- getCourseType() {
|
|
|
- let params = { uid: this.$store.state.userInfo.organizeid };
|
|
|
- this.ajax
|
|
|
- .get(this.$store.state.api + "findWorkType2", params)
|
|
|
- .then((res) => {
|
|
|
- this.typeList = res.data[0];
|
|
|
- })
|
|
|
- .catch((err) => {
|
|
|
- // this.$message.error("删除失败");
|
|
|
- console.error(err);
|
|
|
- });
|
|
|
- },
|
|
|
- //获取班级
|
|
|
- getClass() {
|
|
|
- let params = { cid: this.$store.state.userInfo.organizeid };
|
|
|
- this.ajax
|
|
|
- .get(this.$store.state.api + "findClassByTeacher", params)
|
|
|
- .then((res) => {
|
|
|
- this.classList = res.data[0];
|
|
|
- console.log(res.data[0][0]);
|
|
|
- })
|
|
|
- .catch((err) => {
|
|
|
- console.error(err);
|
|
|
- });
|
|
|
- },
|
|
|
- },
|
|
|
- computed: {
|
|
|
- // 控制显示的内容
|
|
|
- computedIsE() {
|
|
|
- return function (value) {
|
|
|
- var a = value.split("<|,|>")
|
|
|
- // console.log(a)
|
|
|
- var total = 0;
|
|
|
- for(var i = 0;i<a.length;i++){
|
|
|
- if(a[i] == ""){
|
|
|
- total++
|
|
|
- }
|
|
|
- }
|
|
|
- var wenzi;
|
|
|
- if(total == 0){
|
|
|
- wenzi = "已评分"
|
|
|
- }else{
|
|
|
- wenzi = "有"+total+"个作业未评分"
|
|
|
- }
|
|
|
- return wenzi;
|
|
|
- };
|
|
|
- },
|
|
|
- },
|
|
|
- created() {
|
|
|
- this.page = 1;
|
|
|
- this.getWorks();
|
|
|
- // this.getType();
|
|
|
- this.getCourseType();
|
|
|
- this.getnCount();
|
|
|
- this.getClass();
|
|
|
- },
|
|
|
-};
|
|
|
+ export default {
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ choose:0,
|
|
|
+ tableHeight: "500px",
|
|
|
+ isLoading: false,
|
|
|
+ formLabelWidth: "100px",
|
|
|
+ dialogVisible: false,
|
|
|
+ dialogVisible1: false,
|
|
|
+ dialogVisible2: false,
|
|
|
+ courseByUser: "诗词中的植物",
|
|
|
+ userName: "林点",
|
|
|
+ answerName: "宿赞公房",
|
|
|
+ studentAnswer: "雨荒深院菊,霜倒半池莲.唐杜甫《宿赞公房》",
|
|
|
+ commentCount: 2,
|
|
|
+ commentName: "谭子松",
|
|
|
+ commentTime: "2021/2/5",
|
|
|
+ commentAnswer:
|
|
|
+ "作为家长我很高兴看到孩子的进步,希望这个进步只是一个开始,在新学期能够继续延续,这样才能不负老师的期望",
|
|
|
+ tableData: [],
|
|
|
+ subject: "",
|
|
|
+ sClass: "",
|
|
|
+ subjectJuri: [],
|
|
|
+ grade: [],
|
|
|
+ rateList: {
|
|
|
+ ca: 0,
|
|
|
+ sia: 0,
|
|
|
+ eta: 0,
|
|
|
+ pia: 0,
|
|
|
+ lra: 0,
|
|
|
+ content: "",
|
|
|
+ },
|
|
|
+ rateParams: [],
|
|
|
+ page: 1,
|
|
|
+ total: 0,
|
|
|
+ };
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ handleClose(done) {
|
|
|
+ done();
|
|
|
+ },
|
|
|
+ tableRowClassName({ row, rowIndex }) {
|
|
|
+ if ((rowIndex + 1) % 2 === 0) {
|
|
|
+ return "even_row";
|
|
|
+ } else {
|
|
|
+ return "";
|
|
|
+ }
|
|
|
+ },
|
|
|
+ handleCurrentChange(val) {
|
|
|
+ this.page = val;
|
|
|
+ },
|
|
|
+ lookWork() {
|
|
|
+ this.dialogVisible = true;
|
|
|
+ },
|
|
|
+ doingAssess() {
|
|
|
+ this.dialogVisible1 = true;
|
|
|
+ },
|
|
|
+ giveScore() {
|
|
|
+ this.dialogVisible2 = true;
|
|
|
+ },
|
|
|
+ //获取班级列表
|
|
|
+ getClass() {
|
|
|
+ this.isLoading = true;
|
|
|
+ let params = {
|
|
|
+ cu: "",
|
|
|
+ cn: this.sClass,
|
|
|
+ page: this.page,
|
|
|
+ };
|
|
|
+ this.ajax
|
|
|
+ .get(this.$store.state.api + "selectClass", params)
|
|
|
+ .then((res) => {
|
|
|
+ this.isLoading = false;
|
|
|
+ this.grade = res.data[0];
|
|
|
+ })
|
|
|
+ .catch((err) => {
|
|
|
+ this.isLoading = false;
|
|
|
+ console.error(err);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //获取分组分类
|
|
|
+ getGroup() {
|
|
|
+ let params = {};
|
|
|
+ this.ajax
|
|
|
+ .get(this.$store.state.api + "getGroup", params)
|
|
|
+ .then((res) => {
|
|
|
+ this.subjectJuri = res.data[0];
|
|
|
+ })
|
|
|
+ .catch((err) => {
|
|
|
+ console.error(err);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ searchWork() {
|
|
|
+ this.page = 1;
|
|
|
+ this.getWorks();
|
|
|
+ },
|
|
|
+ //获取作业
|
|
|
+ getWorks() {
|
|
|
+ this.isLoading = true;
|
|
|
+ let params = {
|
|
|
+ bid: this.$store.state.userInfo.organizeid,
|
|
|
+ isRate: 1,
|
|
|
+ classx: this.sClass,
|
|
|
+ cid: this.subject,
|
|
|
+ page: this.page,
|
|
|
+ };
|
|
|
+ this.ajax
|
|
|
+ .get(this.$store.state.api + "getWorks", params)
|
|
|
+ .then((res) => {
|
|
|
+ this.isLoading = false;
|
|
|
+ this.total = res.data[0].length > 0 ? res.data[0][0].num : 0;
|
|
|
+ this.tableData = res.data[0];
|
|
|
+ })
|
|
|
+ .catch((err) => {
|
|
|
+ this.isLoading = false;
|
|
|
+ console.error(err);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ right() {
|
|
|
+ this.dialogVisible2 = false;
|
|
|
+ },
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.page = 1;
|
|
|
+ this.getClass();
|
|
|
+ this.getGroup();
|
|
|
+ this.getWorks();
|
|
|
+ },
|
|
|
+ };
|
|
|
</script>
|
|
|
|
|
|
<style scoped>
|
|
|
-.dialog_diy >>> .el-dialog {
|
|
|
- background: #fafafa;
|
|
|
-}
|
|
|
-.dialog_diy >>> .el-dialog__header {
|
|
|
- background: #3d67bc !important;
|
|
|
- padding: 15px 20px;
|
|
|
-}
|
|
|
-.dialog_diy >>> .el-dialog__title {
|
|
|
- color: #fff;
|
|
|
-}
|
|
|
-.dialog_diy >>> .el-dialog__headerbtn {
|
|
|
- top: 19px;
|
|
|
-}
|
|
|
-.dialog_diy >>> .el-dialog__headerbtn .el-dialog__close {
|
|
|
- color: #fff;
|
|
|
-}
|
|
|
-.dialog_diy >>> .el-dialog__headerbtn .el-dialog__close:hover {
|
|
|
- color: #fff;
|
|
|
-}
|
|
|
-.student_head >>> .el-button--primary {
|
|
|
- background-color: #2268bc;
|
|
|
-}
|
|
|
-.dialog_diy >>> .el-rate__icon {
|
|
|
- font-size: 26px;
|
|
|
-}
|
|
|
-.dialog_diy >>> .el-rate {
|
|
|
- height: auto;
|
|
|
-}
|
|
|
-.xls_button {
|
|
|
- font-size: 14px;
|
|
|
- cursor: pointer;
|
|
|
- text-decoration: underline;
|
|
|
- color: rgb(34, 104, 188);
|
|
|
-}
|
|
|
-.student_head {
|
|
|
- display: flex;
|
|
|
- justify-content: space-between;
|
|
|
-}
|
|
|
-.student_search {
|
|
|
- display: flex;
|
|
|
- width: 800px;
|
|
|
- align-items: center;
|
|
|
-}
|
|
|
-.student_search span {
|
|
|
- margin: 0 5px;
|
|
|
- min-width: 65px;
|
|
|
-}
|
|
|
-.student_button {
|
|
|
- display: flex;
|
|
|
- overflow: hidden;
|
|
|
- height: 40px;
|
|
|
-}
|
|
|
-.student_button .el-button--primary {
|
|
|
- margin-right: 10px;
|
|
|
-}
|
|
|
-.upload-demo {
|
|
|
- display: flex;
|
|
|
- flex-direction: column;
|
|
|
- align-items: end;
|
|
|
- /* position: relative; */
|
|
|
- width: 100px;
|
|
|
- overflow: hidden;
|
|
|
-}
|
|
|
-.student_table {
|
|
|
- margin: 20px 0;
|
|
|
-}
|
|
|
-
|
|
|
-.el-table >>> .even_row {
|
|
|
- background-color: #f1f1f1;
|
|
|
-}
|
|
|
-
|
|
|
-.works_score_work {
|
|
|
- margin: 0 0 20px 0;
|
|
|
- padding: 20px 0;
|
|
|
- border-bottom: 2px solid #eee;
|
|
|
-}
|
|
|
-.works_score_work:last-child {
|
|
|
- border: none;
|
|
|
-}
|
|
|
-.score_head span {
|
|
|
- cursor: pointer;
|
|
|
-}
|
|
|
-.score_head {
|
|
|
- display: flex;
|
|
|
- justify-content: space-between;
|
|
|
- align-items: center;
|
|
|
- font-size: 20px;
|
|
|
-}
|
|
|
-
|
|
|
-.score_work {
|
|
|
- margin: 15px 10px;
|
|
|
-}
|
|
|
-
|
|
|
-.work_content {
|
|
|
-}
|
|
|
-.store {
|
|
|
- padding: 10px 20px;
|
|
|
-}
|
|
|
-.stored {
|
|
|
- background: #225088;
|
|
|
- border-color: none;
|
|
|
-}
|
|
|
-.workd_media {
|
|
|
- width: 100%;
|
|
|
- height: 400px;
|
|
|
-}
|
|
|
-.workd_title {
|
|
|
- font-size: 20px;
|
|
|
- margin-top: 20px;
|
|
|
-}
|
|
|
-.workd_content {
|
|
|
- margin-bottom: 30px;
|
|
|
-}
|
|
|
-.mywd_rate_comment {
|
|
|
- padding: 10px 0 5px 0;
|
|
|
- border-bottom: 2px solid #eee;
|
|
|
-}
|
|
|
-.mywd_rate_head {
|
|
|
- display: flex;
|
|
|
-}
|
|
|
-.mywd_rate_head_img {
|
|
|
- width: 50px;
|
|
|
-}
|
|
|
-.mywd_rate_head_img img {
|
|
|
- width: inherit;
|
|
|
-}
|
|
|
-
|
|
|
-.mwd_img_box {
|
|
|
- width: 40px;
|
|
|
- height: 40px;
|
|
|
- border-radius: 50px;
|
|
|
- overflow: hidden;
|
|
|
- margin: 5px;
|
|
|
-}
|
|
|
-.user_comment {
|
|
|
- width: 30px;
|
|
|
- height: 30px;
|
|
|
-}
|
|
|
-.mwd_img_box img {
|
|
|
- height: inherit;
|
|
|
-}
|
|
|
-
|
|
|
-.mywd_rate_head_title {
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
-}
|
|
|
-.mywd_rate_head_title div {
|
|
|
- margin-bottom: 10px;
|
|
|
-}
|
|
|
-.mywd_rate_head_title span {
|
|
|
- margin-left: 10px;
|
|
|
-}
|
|
|
-.mywd_rate_comment_body {
|
|
|
- width: 88%;
|
|
|
- margin: 0 auto 10px;
|
|
|
- font-size: 14px;
|
|
|
-}
|
|
|
-.sd_head {
|
|
|
- margin: 10px auto;
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- justify-content: space-between;
|
|
|
-}
|
|
|
-.sd_head img {
|
|
|
- width: 50px;
|
|
|
- height: 50px;
|
|
|
-}
|
|
|
-.sd_head span {
|
|
|
- margin-left: 20px;
|
|
|
- font-size: 20px;
|
|
|
-}
|
|
|
-.sd_title {
|
|
|
- font-size: 18px;
|
|
|
- margin: 20px auto;
|
|
|
-}
|
|
|
-.sd_title span:nth-child(2) {
|
|
|
- margin-left: 10px;
|
|
|
- color: rgb(156, 156, 156);
|
|
|
-}
|
|
|
-
|
|
|
-.sd_score {
|
|
|
- font-size: 18px;
|
|
|
- background: #fff;
|
|
|
- padding: 18px 18px 1px;
|
|
|
- width: 310px;
|
|
|
- margin-bottom: 15px;
|
|
|
-}
|
|
|
-.sd_score .score_box {
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- margin-bottom: 18px;
|
|
|
-}
|
|
|
-.sd_score span {
|
|
|
- width: 130px;
|
|
|
- text-align: justify;
|
|
|
- text-align-last: justify;
|
|
|
- display: block;
|
|
|
- margin-right: 20px;
|
|
|
-}
|
|
|
-.sd_comment {
|
|
|
- font-size: 20px;
|
|
|
-}
|
|
|
-.sd_comment .displayBox {
|
|
|
- margin-bottom: 10px;
|
|
|
- display: block;
|
|
|
- border-bottom: 3px solid #eee;
|
|
|
- /* padding: 0 0 15px 0; */
|
|
|
- display: flex;
|
|
|
-}
|
|
|
-.displayBox span {
|
|
|
- width: 80px;
|
|
|
-}
|
|
|
-.easy_comment {
|
|
|
- width: calc(100% - 90px);
|
|
|
- margin-left: 10px;
|
|
|
- display: flex;
|
|
|
- flex-wrap: wrap;
|
|
|
-}
|
|
|
-
|
|
|
-.easy_comment div {
|
|
|
- border: 1px solid #4a4a4a;
|
|
|
- color: #666666;
|
|
|
- border-radius: 15px;
|
|
|
- padding: 5px 10px;
|
|
|
- font-size: 16px;
|
|
|
- margin-bottom: 10px;
|
|
|
- margin-right: 5px;
|
|
|
- cursor: pointer;
|
|
|
-}
|
|
|
-.easy_comment div:hover {
|
|
|
- border: 1px solid #f7ba2a;
|
|
|
- color: #c69217;
|
|
|
-}
|
|
|
-.sd_comment >>> .el-textarea__inner {
|
|
|
- background: #fafafa;
|
|
|
-}
|
|
|
-.work_white {
|
|
|
- background: #fff;
|
|
|
- padding: 15px;
|
|
|
- border-radius: 5px;
|
|
|
-}
|
|
|
-.workd_comment {
|
|
|
- max-height: 250px;
|
|
|
- overflow: auto;
|
|
|
-}
|
|
|
-
|
|
|
-.notR {
|
|
|
- position: absolute;
|
|
|
- background: red;
|
|
|
- width: 5px;
|
|
|
- height: 5px;
|
|
|
- border-radius: 30px;
|
|
|
- top: 5px;
|
|
|
- right: -3px;
|
|
|
-}
|
|
|
+ .pb_head > span:nth-child(2) {
|
|
|
+ font-size: 16px;
|
|
|
+ margin-left: 80px;
|
|
|
+ color: #ab582f;
|
|
|
+ }
|
|
|
+ .student_head {
|
|
|
+ margin-bottom: 20px;
|
|
|
+ }
|
|
|
+ .student_search {
|
|
|
+ display: flex;
|
|
|
+ }
|
|
|
+ .student_search > div:nth-child(1) {
|
|
|
+ line-height: 35px;
|
|
|
+ font-size: 14px;
|
|
|
+ }
|
|
|
+ .student_search >>> .el-input__inner {
|
|
|
+ width: 190px;
|
|
|
+ height: 35px;
|
|
|
+ margin-left: 10px;
|
|
|
+ }
|
|
|
+ .student_table >>> .el-table--border td {
|
|
|
+ border-right: 0px !important;
|
|
|
+ }
|
|
|
+ .add_work >>> .el-dialog__header {
|
|
|
+ padding: 20px 20px 10px;
|
|
|
+ text-align: center;
|
|
|
+ background: #32455b;
|
|
|
+ }
|
|
|
+ .add_work >>> .el-dialog__title {
|
|
|
+ font-size: 14px !important;
|
|
|
+ color: #fff !important;
|
|
|
+ }
|
|
|
+ .add_work >>> .el-dialog__headerbtn {
|
|
|
+ font-size: 20px !important;
|
|
|
+ }
|
|
|
+ .add_work >>> .el-form-item__label {
|
|
|
+ margin-left: 65px;
|
|
|
+ }
|
|
|
+ .add_work >>> .el-form-item {
|
|
|
+ display: flex;
|
|
|
+ }
|
|
|
+ .add_work >>> .el-form-item__content {
|
|
|
+ margin: 0 !important;
|
|
|
+ }
|
|
|
+ .add_work >>> .el-dialog__footer {
|
|
|
+ text-align: center !important;
|
|
|
+ }
|
|
|
+ .header-title {
|
|
|
+ display: flex;
|
|
|
+ }
|
|
|
+ .logoImg {
|
|
|
+ width: 30px;
|
|
|
+ }
|
|
|
+ .logoImg > img {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ }
|
|
|
+ .title_add_student {
|
|
|
+ margin: 0 auto;
|
|
|
+ color: #fff;
|
|
|
+ }
|
|
|
+ .top {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ padding-bottom: 10px;
|
|
|
+ border-bottom: 2px solid #eee;
|
|
|
+ }
|
|
|
+ .top > div:nth-child(1) {
|
|
|
+ font-size: 18px;
|
|
|
+ }
|
|
|
+ .top > div:nth-child(2) {
|
|
|
+ font-size: 14px;
|
|
|
+ line-height: 28px;
|
|
|
+ }
|
|
|
+ .first {
|
|
|
+ margin-top: 25px;
|
|
|
+ border-bottom: 1px solid #c5c5c5;
|
|
|
+ }
|
|
|
+ .one_top {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ }
|
|
|
+ .one_top > div:nth-child(1) {
|
|
|
+ color: #2490bf;
|
|
|
+ font-size: 16px;
|
|
|
+ }
|
|
|
+ .one_top > button {
|
|
|
+ width: 100px;
|
|
|
+ background: #24a0a4;
|
|
|
+ height: 30px;
|
|
|
+ color: #e0e0e0;
|
|
|
+ font-size: 13px;
|
|
|
+ padding: 0 !important;
|
|
|
+ }
|
|
|
+ .work_Img {
|
|
|
+ width: 150px;
|
|
|
+ margin: 10px 0;
|
|
|
+ }
|
|
|
+ .assess_Img {
|
|
|
+ width: 400px;
|
|
|
+ margin: 0 auto;
|
|
|
+ padding: 15px 0;
|
|
|
+ }
|
|
|
+ .work_Img > img,
|
|
|
+ .assess_Img > img {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ }
|
|
|
+ .work_input {
|
|
|
+ border: 1px solid;
|
|
|
+ width: 135px;
|
|
|
+ height: 20px;
|
|
|
+ line-height: 20px;
|
|
|
+ font-size: 13px;
|
|
|
+ padding: 5px;
|
|
|
+ }
|
|
|
+ .poetry {
|
|
|
+ margin: 10px 0 15px 0;
|
|
|
+ }
|
|
|
+ .assess {
|
|
|
+ background: #169bd5 !important;
|
|
|
+ }
|
|
|
+ .assess_top {
|
|
|
+ border-bottom: 2px solid #eee;
|
|
|
+ padding-bottom: 10px;
|
|
|
+ }
|
|
|
+ .assess_top > div:nth-child(1) {
|
|
|
+ color: #2490bf;
|
|
|
+ font-size: 16px;
|
|
|
+ }
|
|
|
+ .student_Answer {
|
|
|
+ display: flex;
|
|
|
+ margin: 5px 10px;
|
|
|
+ border-bottom: 1px solid #ccc;
|
|
|
+ padding-bottom: 25px;
|
|
|
+ }
|
|
|
+ .workName {
|
|
|
+ font-size: 18px;
|
|
|
+ font-weight: bold;
|
|
|
+ margin: 5px 10px;
|
|
|
+ }
|
|
|
+ .toux {
|
|
|
+ width: 25px;
|
|
|
+ margin: auto 0;
|
|
|
+ height: 25px;
|
|
|
+ }
|
|
|
+ .toux > img {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ }
|
|
|
+ .nav {
|
|
|
+ display: flex;
|
|
|
+ flex-wrap: wrap;
|
|
|
+ margin-top: 10px;
|
|
|
+ flex-direction: column;
|
|
|
+ }
|
|
|
+ .studentName {
|
|
|
+ margin-left: 10px;
|
|
|
+ font-size: 13px;
|
|
|
+ }
|
|
|
+ .studentAnswer {
|
|
|
+ font-size: 12px;
|
|
|
+ margin: 5px 0 0 10px;
|
|
|
+ }
|
|
|
+ .comment {
|
|
|
+ margin: 20px 0 0 10px;
|
|
|
+ }
|
|
|
+ .comment > .comment_title {
|
|
|
+ font-size: 18px;
|
|
|
+ }
|
|
|
+ .comment > .comment_title > span {
|
|
|
+ font-size: 14px;
|
|
|
+ }
|
|
|
+ .other_Answer {
|
|
|
+ display: flex;
|
|
|
+ margin: 5px 10px;
|
|
|
+ border-bottom: 1px solid #ccc;
|
|
|
+ padding-bottom: 15px;
|
|
|
+ }
|
|
|
+ .nav {
|
|
|
+ margin-left: 5px;
|
|
|
+ }
|
|
|
+ .nameAndTime {
|
|
|
+ display: flex;
|
|
|
+ }
|
|
|
+ .otherName {
|
|
|
+ font-weight: bold;
|
|
|
+ margin-left: 10px;
|
|
|
+ font-size: 13px;
|
|
|
+ }
|
|
|
+ .time {
|
|
|
+ margin-left: 25px;
|
|
|
+ font-size: 12px;
|
|
|
+ margin-top: 3px;
|
|
|
+ }
|
|
|
+ .otherAnswer {
|
|
|
+ width: 400px;
|
|
|
+ word-wrap: break-word;
|
|
|
+ word-break: break-all;
|
|
|
+ overflow: hidden;
|
|
|
+ font-size: 12px;
|
|
|
+ margin: 5px 0 0 10px;
|
|
|
+ }
|
|
|
+ .doingAssess {
|
|
|
+ margin: 0 auto;
|
|
|
+ width: 300px;
|
|
|
+ background: #169bd5;
|
|
|
+ height: 35px;
|
|
|
+ line-height: 35px;
|
|
|
+ border-radius: 3px;
|
|
|
+ font-size: 13px;
|
|
|
+ text-align: center;
|
|
|
+ color: #fff;
|
|
|
+ margin-top: 30px;
|
|
|
+ cursor: pointer;
|
|
|
+ }
|
|
|
+ .score_top {
|
|
|
+ display: flex;
|
|
|
+ margin-left: 15px;
|
|
|
+ }
|
|
|
+ .userTou {
|
|
|
+ width: 50px;
|
|
|
+ }
|
|
|
+ .userTou > img {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ }
|
|
|
+ .score_user_name {
|
|
|
+ line-height: 53px;
|
|
|
+ margin-left: 15px;
|
|
|
+ }
|
|
|
+ .course_top {
|
|
|
+ display: flex;
|
|
|
+ margin: 30px 0 0 20px;
|
|
|
+ }
|
|
|
+ .course_top > div:nth-child(1) {
|
|
|
+ line-height: 25px;
|
|
|
+ }
|
|
|
+ .course_top > div:nth-child(2) {
|
|
|
+ border: 1px solid #ccc;
|
|
|
+ width: 250px;
|
|
|
+ text-align: center;
|
|
|
+ height: 25px;
|
|
|
+ line-height: 25px;
|
|
|
+ margin-left: 30px;
|
|
|
+ }
|
|
|
+ .sd_score {
|
|
|
+ font-size: 15px;
|
|
|
+ background: #fff;
|
|
|
+ padding: 18px 25px 1px;
|
|
|
+ width: 310px;
|
|
|
+ margin-bottom: 15px;
|
|
|
+ }
|
|
|
+ .sd_score .score_box {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ margin-bottom: 18px;
|
|
|
+ }
|
|
|
+ .sd_score span {
|
|
|
+ width: 100px;
|
|
|
+ text-align: justify;
|
|
|
+ text-align-last: justify;
|
|
|
+ display: block;
|
|
|
+ margin-right: 20px;
|
|
|
+ }
|
|
|
+ .moreSay {
|
|
|
+ margin: 0px 0 5px 20px;
|
|
|
+ }
|
|
|
+ .more_say_input {
|
|
|
+ margin-left: 20px;
|
|
|
+ width: 90%;
|
|
|
+ }
|
|
|
+ .more_say_input >>> .el-input__inner {
|
|
|
+ height: 75px;
|
|
|
+ font-size: 13px;
|
|
|
+ padding: 0 0 0 10px;
|
|
|
+ }
|
|
|
+ .assess_right {
|
|
|
+ width: 200px;
|
|
|
+ background: #666666;
|
|
|
+ color: #fff;
|
|
|
+ text-align: center;
|
|
|
+ height: 25px;
|
|
|
+ line-height: 25px;
|
|
|
+ border-radius: 5px;
|
|
|
+ margin: 0 auto;
|
|
|
+ margin-top: 20px;
|
|
|
+ font-size: 13px;
|
|
|
+ cursor: pointer;
|
|
|
+ }
|
|
|
</style>
|