You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
educoder/public/react/src/modules/courses/signin/component/Teacherentry.js

226 lines
6.2 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

import React, {Component} from "react";
import '../css/signincdi.css';
import {Progress} from 'antd';
import axios from 'axios';
import Createsignmodel from '../model/Createsignmodel';
//条目
class Teacherentry extends Component {
//条目组件
constructor(props) {
super(props);
this.state = {
editvisible:false,
attendancesid:null
}
}
componentDidMount() {
}
componentDidUpdate = (prevProps) => {
}
getdatalist=(id)=>{
let urls = `/attendances/${id}/edit.json`;
axios.get(urls).then((response) => {
//console.log(response);
if(response){
if(response.data){
this.setState({
editvisible:true,
attendancesdata:response.data,
attendancesid:id
})
}
}
}).catch((error) => {
console.log(error);
})
}
hideCreatesign=()=>{
this.setState({
editvisible:false
})
}
render() {
let isAdmin = this.props.isAdmin();
let item = this.props.item;
let index =this.props.index;
let jdt;
try {
jdt = item.normal_count / item.all_count * 100;
} catch (e) {
jdt = 100;
}
return (
<React.Fragment>
<div className={index===0?"ws100s edu-back-white xiaoshou": "ws100s edu-back-white mt20 xiaoshou"}>
{/*修改实训*/}
{this.state.editvisible===true?<Createsignmodel
{...this.state}
{...this.props}
hideCreatesign={()=>this.hideCreatesign()}
settabsdata={()=>this.props.getsetdatas()}
type={"edit"}
/>:""}
<div className="ws100s teacherentrydiv" onClick={isAdmin?(e)=>{e.stopPropagation();this.props.qiandaoxiangq(true,item.id)}:""}>
<p className={isAdmin?"ws100s teachedivp ymaxnamewidthdivp xiaoshou color-blue":"ws100s teachedivp ymaxnamewidthdivp"} >
{
item.name
}
</p>
<div className="ws100s sortinxdirection mt17">
<div className="teachedivps">
签到人数
</div>
<div className="progressivps">
<Progress percent={jdt} showInfo={false} strokeColor="#1890ff"/>
</div>
<div className="progressivpss">
已签到 {item.normal_count ? item.normal_count : 0} / 应签到 {item.all_count ? item.all_count : 0}
</div>
</div>
<div className="ws100s sortinxdirection mt5">
<div className="ws80s sortinxdirection">
<div className="teachedivps h40s">
签到发起人
</div>
<div className="teachedivpsy ymaxnamewidth60 h40s">
{item.author.user_name}
</div>
<div className="teachedivps ml20 h40s">
签到方式
</div>
<div className="teachedivpsy ymaxnamewidth80 h40s">
{item.mode ?
item.mode === "QRCODE" ?
"二维码签到"
: item.mode === "NUMBER" ?
"数字签到"
: item.mode === "QUICK" ?
"快捷签到"
: ""
: ""}
</div>
<div className="teachedivps ml20 h40s">
开始结束时间
</div>
<div className="teachedivpsy h40s">
{item.attendance_date} {item.start_time}-{item.end_time}
</div>
</div>
<style>
{
`
.initials{
cursor: initial !important;
}
`
}
</style>
<div className="ws20s sortinxdirection">
{
isAdmin === true ?
this.props.defaultActiveKey === "1" ?
<div className="ws100s xaxisreverseorder">
<div className="jiezhis h40s xiaoshou" onClick={(e)=>{e.stopPropagation();this.props.thisEnd(item.id)}}>截止</div>
<div className="shanchu h40s xiaoshou" onClick={(e)=>{e.stopPropagation();this.props.thisdelete(item.id)}}>删除</div>
<div className="shanchu h40s color-blue" onClick={(e)=>{e.stopPropagation();this.getdatalist(item.id)}}>编辑</div>
</div>
:
(
//是否有编辑权限
item.edit_auth === true ?
<div className="ws100s xaxisreverseorder">
<div className="shanchu h40s xiaoshou" onClick={(e)=>{e.stopPropagation();this.props.thisdelete(item.id)}}>删除</div>
<div className="shanchu h40s color-blue" onClick={(e)=>{e.stopPropagation();this.getdatalist(item.id,true,item.name)}}>编辑</div>
</div>
:
<div className="ws100s xaxisreverseorder">
<div className="jiezhis h40s color-reds xiaoshou" onClick={(e)=>{e.stopPropagation();this.props.thisdelete(item.id)}}>删除</div>
</div>
)
:
(
this.props.defaultActiveKey === "1" ?
<div className="ws100s xaxisreverseorder">
{
item.attendance_status?
(
item.attendance_status==="ABSENCE"&&item.attendance_mode!="TEACHER"?
<div className="qiandaobutton xiaoshou" onClick={(e)=>{e.stopPropagation();this.props.Signin(item.mode,item.id,item.attendance_code)}}>
签到
</div>
: item.attendance_status === "LEAVE" ?
<div className="qjqiandao initials">
请假
</div>
: item.attendance_status==="NORMAL"?
<div className="zcqiandao initials">
正常签到
</div>
:""
)
:
""
}
</div>
:
<div className="ws100s xaxisreverseorder">
{
item.attendance_status?
item.attendance_status === "NORMAL" ?
<div className="zcqiandao initials">
正常签到
</div>
: item.attendance_status === "LEAVE" ?
<div className="qjqiandao initials">
请假
</div>
: item.attendance_status === "ABSENCE" ?
<div className="kkqiandao initials">
旷课
</div>
:
""
:
""
}
</div>
)
}
</div>
</div>
</div>
</div>
</React.Fragment>
)
}
}
export default Teacherentry;