|
|
|
@ -1,40 +1,42 @@
|
|
|
|
|
import React,{ Component } from "react";
|
|
|
|
|
import React, {Component} from "react";
|
|
|
|
|
import '../css/signincdi.css';
|
|
|
|
|
import { Progress,message } from 'antd';
|
|
|
|
|
import QRCode from 'qrcode.react';
|
|
|
|
|
import {Progress, message} from 'antd';
|
|
|
|
|
import QRCode from 'qrcode.react';
|
|
|
|
|
import axios from 'axios';
|
|
|
|
|
|
|
|
|
|
function clearSlct() {
|
|
|
|
|
if("getSelection" in window){
|
|
|
|
|
if ("getSelection" in window) {
|
|
|
|
|
window.getSelection().removeAllRanges();
|
|
|
|
|
}else{
|
|
|
|
|
} else {
|
|
|
|
|
document.selection.empty();
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function jsCopy(s) {
|
|
|
|
|
clearSlct();
|
|
|
|
|
const copyEle = document.getElementById(s);
|
|
|
|
|
copyEle.select();
|
|
|
|
|
const copyStatus=document.execCommand("Copy");
|
|
|
|
|
const copyStatus = document.execCommand("Copy");
|
|
|
|
|
// 对成功与否定进行提示
|
|
|
|
|
copyStatuss(copyStatus)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function copyStatuss(copyStatus){
|
|
|
|
|
function copyStatuss(copyStatus) {
|
|
|
|
|
if (copyStatus) {
|
|
|
|
|
message.success('复制成功');
|
|
|
|
|
} else {
|
|
|
|
|
message.error('复制失败');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//条目
|
|
|
|
|
class Detailss extends Component{
|
|
|
|
|
class Detailss extends Component {
|
|
|
|
|
//条目组件
|
|
|
|
|
constructor(props){
|
|
|
|
|
constructor(props) {
|
|
|
|
|
super(props);
|
|
|
|
|
|
|
|
|
|
this.state={
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
this.state = {}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
componentDidMount() {
|
|
|
|
@ -47,27 +49,27 @@ class Detailss extends Component{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
render(){
|
|
|
|
|
const isAdmin =this.props.isAdmin();
|
|
|
|
|
let item=this.props.headdata;
|
|
|
|
|
render() {
|
|
|
|
|
const isAdmin = this.props.isAdmin();
|
|
|
|
|
let item = this.props.headdata;
|
|
|
|
|
let defaultActiveKey = this.props.defaultActiveKey;
|
|
|
|
|
let jdt;
|
|
|
|
|
try {
|
|
|
|
|
jdt = item.normal_count / item.all_count * 100;
|
|
|
|
|
} catch (e) {
|
|
|
|
|
jdt = 100;
|
|
|
|
|
}
|
|
|
|
|
return(
|
|
|
|
|
return (
|
|
|
|
|
<React.Fragment>
|
|
|
|
|
<div className="ws100s edu-back-white sortinxdirection" style={{
|
|
|
|
|
<div className="ws100s edu-back-white sortinxdirection" style={{
|
|
|
|
|
position: "relative"
|
|
|
|
|
}}>
|
|
|
|
|
<div className="ws100s teacherentrydiv ">
|
|
|
|
|
<p className="ws100s teachedivp ymaxnamewidthdivp">
|
|
|
|
|
{item&&item.name}
|
|
|
|
|
{item && item.name}
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<div className="ws100s sortinxdirection mt17">
|
|
|
|
|
<div className="ws100s sortinxdirection mt17">
|
|
|
|
|
<div className="teachedivps">
|
|
|
|
|
签到人数:
|
|
|
|
|
</div>
|
|
|
|
@ -75,12 +77,13 @@ class Detailss extends Component{
|
|
|
|
|
<Progress percent={jdt} showInfo={false} strokeColor="#1890ff"/>
|
|
|
|
|
</div>
|
|
|
|
|
<div className="progressivpss">
|
|
|
|
|
已签到{item&&item.normal_count ? item.normal_count : 0} / 应签到 {item&&item.all_count ? item.all_count : 0}
|
|
|
|
|
已签到{item && item.normal_count ? item.normal_count : 0} /
|
|
|
|
|
应签到 {item && item.all_count ? item.all_count : 0}
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div className="ws100s sortinxdirection mt5">
|
|
|
|
|
<div className="ws100s sortinxdirection mt5">
|
|
|
|
|
<div className="ws75s sortinxdirection">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -88,14 +91,14 @@ class Detailss extends Component{
|
|
|
|
|
签到发起人:
|
|
|
|
|
</div>
|
|
|
|
|
<div className="teachedivpsy ymaxnamewidth60 h40s">
|
|
|
|
|
{item&&item.author.user_name}
|
|
|
|
|
{item && item.author.user_name}
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div className="teachedivps ml20 h40s">
|
|
|
|
|
签到方式:
|
|
|
|
|
</div>
|
|
|
|
|
<div className="teachedivpsy ymaxnamewidth80 h40s">
|
|
|
|
|
{item&&item.mode ?
|
|
|
|
|
{item && item.mode ?
|
|
|
|
|
item.mode === "QRCODE" ?
|
|
|
|
|
"二维码签到"
|
|
|
|
|
: item.mode === "NUMBER" ?
|
|
|
|
@ -110,56 +113,79 @@ class Detailss extends Component{
|
|
|
|
|
开始结束时间:
|
|
|
|
|
</div>
|
|
|
|
|
<div className="teachedivpsy h40s">
|
|
|
|
|
{item&&item.attendance_date} {item&&item.start_time}-{item&&item.end_time}
|
|
|
|
|
{item && item.attendance_date} {item && item.start_time}-{item && item.end_time}
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div className="ws25s xaxisreverseorder" style={{
|
|
|
|
|
position: "relative",
|
|
|
|
|
}}>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
{/*<p className="h40s font-16 xiaoshou" style={{*/}
|
|
|
|
|
{/* color:"#1890FF"*/}
|
|
|
|
|
{/*}} onClick={() => {*/}
|
|
|
|
|
{/* jsCopy("file_path"+1)*/}
|
|
|
|
|
{/*}}>*/}
|
|
|
|
|
{/* 复制签到码*/}
|
|
|
|
|
{/*</p>*/}
|
|
|
|
|
{/*<p className="h40s font-16" style={{*/}
|
|
|
|
|
{/* color:"#333333",*/}
|
|
|
|
|
{/* marginRight:"10px",*/}
|
|
|
|
|
{/*}}>*/}
|
|
|
|
|
{/* 88866*/}
|
|
|
|
|
{/*</p>*/}
|
|
|
|
|
{/*<p className="h40s font-16" style={{*/}
|
|
|
|
|
{/* color:"#909399"*/}
|
|
|
|
|
{/*}}>签到码:</p>*/}
|
|
|
|
|
|
|
|
|
|
<div style={{
|
|
|
|
|
position: "absolute",
|
|
|
|
|
bottom:"-11px",
|
|
|
|
|
}}>
|
|
|
|
|
<QRCode
|
|
|
|
|
value={111111111} //value参数为生成二维码的链接
|
|
|
|
|
size={84} //二维码的宽高尺寸
|
|
|
|
|
fgColor="#000000" //二维码的颜色
|
|
|
|
|
/>
|
|
|
|
|
<div className="font-14" style={{
|
|
|
|
|
width:"84px",
|
|
|
|
|
textAlign: "center",
|
|
|
|
|
color:"#333333"
|
|
|
|
|
{
|
|
|
|
|
defaultActiveKey === "1" ?
|
|
|
|
|
<div className="ws25s" style={{
|
|
|
|
|
position: "relative",
|
|
|
|
|
}}>
|
|
|
|
|
扫码签到
|
|
|
|
|
{
|
|
|
|
|
item && item.mode === "NUMBER" ?
|
|
|
|
|
<div className="ws100s xaxisreverseorder ">
|
|
|
|
|
<p className="h40s font-16 xiaoshou" style={{
|
|
|
|
|
color: "#1890FF"
|
|
|
|
|
}} onClick={() => {
|
|
|
|
|
jsCopy("file_path" + 1)
|
|
|
|
|
}}>
|
|
|
|
|
复制签到码
|
|
|
|
|
</p>
|
|
|
|
|
<p className="h40s font-16" style={{
|
|
|
|
|
color: "#333333",
|
|
|
|
|
marginRight: "10px",
|
|
|
|
|
}}>
|
|
|
|
|
88866
|
|
|
|
|
</p>
|
|
|
|
|
<p className="h40s font-16" style={{
|
|
|
|
|
color: "#909399"
|
|
|
|
|
}}>签到码:</p>
|
|
|
|
|
</div>
|
|
|
|
|
:
|
|
|
|
|
item && item.mode === "QRCODE" ?
|
|
|
|
|
<div style={{
|
|
|
|
|
position: "absolute",
|
|
|
|
|
bottom: "-11px",
|
|
|
|
|
}}>
|
|
|
|
|
<QRCode
|
|
|
|
|
value={item&&item.code} //value参数为生成二维码的链接
|
|
|
|
|
size={84} //二维码的宽高尺寸
|
|
|
|
|
fgColor="#000000" //二维码的颜色
|
|
|
|
|
/>
|
|
|
|
|
<div className="font-14" style={{
|
|
|
|
|
width: "84px",
|
|
|
|
|
textAlign: "center",
|
|
|
|
|
color: "#333333"
|
|
|
|
|
}}>
|
|
|
|
|
扫码签到
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
: ""
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
:
|
|
|
|
|
""
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<input id={"file_path"+1} className="file_path_input" value={"复制签到码"}/>
|
|
|
|
|
{
|
|
|
|
|
defaultActiveKey === "1" ?
|
|
|
|
|
item && item.mode === "NUMBER" ?
|
|
|
|
|
<input id={"file_path" + 1} className="file_path_input" value={item&&item.code}/>
|
|
|
|
|
:""
|
|
|
|
|
:
|
|
|
|
|
""
|
|
|
|
|
}
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</React.Fragment>
|
|
|
|
|
)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default Detailss;
|
|
|
|
|