Merge branches 'dev_aliyun' and 'master' of https://bdgit.educoder.net/Hjqreturn/educoder
commit
818952c56f
@ -1,238 +1,241 @@
|
|||||||
import React,{ Component } from "react";
|
import React,{ Component } from "react";
|
||||||
import { Modal,Radio,Input,Tooltip } from "antd";
|
import { Modal,Radio,Input,Tooltip } from "antd";
|
||||||
import { BrowserRouter as Router, Route, Link } from "react-router-dom";
|
import { BrowserRouter as Router, Route, Link } from "react-router-dom";
|
||||||
import SendPanel from "./sendPanel.js";
|
import SendPanel from "./sendPanel.js";
|
||||||
import { getImageUrl } from 'educoder';
|
import { getImageUrl } from 'educoder';
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
import Modals from '../../modals/Modals';
|
import Modals from '../../modals/Modals';
|
||||||
import './DetailTop.css';
|
import './DetailTop.css';
|
||||||
|
|
||||||
const Search = Input.Search;
|
const Search = Input.Search;
|
||||||
const RadioGroup = Radio.Group;
|
const RadioGroup = Radio.Group;
|
||||||
class DetailTop extends Component{
|
class DetailTop extends Component{
|
||||||
constructor(props){
|
constructor(props){
|
||||||
super(props)
|
super(props)
|
||||||
this.state={
|
this.state={
|
||||||
cardsModalcancel:this.cardsModalcancel,
|
cardsModalcancel:this.cardsModalcancel,
|
||||||
cardsModalsave:this.cardsModalsave,
|
cardsModalsave:this.cardsModalsave,
|
||||||
Modalstype:false,
|
Modalstype:false,
|
||||||
Modalstopval:"",
|
Modalstopval:"",
|
||||||
Modalsbottomval:'',
|
Modalsbottomval:'',
|
||||||
loadtype:false,
|
loadtype:false,
|
||||||
deletepathtype:false,
|
deletepathtype:false,
|
||||||
cardsModalsavetype:false
|
cardsModalsavetype:false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
allow_deletepath=()=>{
|
allow_deletepath=()=>{
|
||||||
this.setState({
|
this.setState({
|
||||||
Modalstype:true,
|
Modalstype:true,
|
||||||
Modalstopval:"是否删除路径?",
|
Modalstopval:"是否删除路径?",
|
||||||
deletepathtype:true
|
deletepathtype:true
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
applyissuePath=()=>{
|
applyissuePath=()=>{
|
||||||
this.setState({
|
this.setState({
|
||||||
Modalstype:true,
|
Modalstype:true,
|
||||||
Modalstopval:"发布申请已提交,请等待管理员的审核",
|
Modalstopval:"发布申请已提交,请等待管理员的审核",
|
||||||
Modalsbottomval:"• 我们将在1-2个工作日内完成审核",
|
Modalsbottomval:"• 我们将在1-2个工作日内完成审核",
|
||||||
loadtype:true
|
loadtype:true
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
cancelissuePath=()=>{
|
cancelissuePath=()=>{
|
||||||
let pathId=this.props.match.params.pathId;
|
let pathId=this.props.match.params.pathId;
|
||||||
let url ="/paths/"+pathId+"/cancel_publish.json";
|
let url ="/paths/"+pathId+"/cancel_publish.json";
|
||||||
axios.get(url).then((result)=>{
|
axios.get(url).then((result)=>{
|
||||||
if(result.status===200){
|
if(result.status===200){
|
||||||
if(result.data.status===0){
|
if(result.data.status===0){
|
||||||
|
|
||||||
}else if(result.data.status===1){
|
}else if(result.data.status===1){
|
||||||
window.location.href = "/paths/" + result.data.subject_id
|
window.location.href = "/paths/" + result.data.subject_id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}).catch((error)=>{
|
}).catch((error)=>{
|
||||||
console.log(error);
|
console.log(error);
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
reovkissuePath=()=>{
|
reovkissuePath=()=>{
|
||||||
|
|
||||||
this.setState({
|
this.setState({
|
||||||
Modalstype:true,
|
Modalstype:true,
|
||||||
Modalstopval:"是否确认撤销发布",
|
Modalstopval:"是否确认撤销发布",
|
||||||
Modalsbottomval:"确认后,回退到编辑状态",
|
Modalsbottomval:"确认后,回退到编辑状态",
|
||||||
cardsModalsavetype:true,
|
cardsModalsavetype:true,
|
||||||
})
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
reovkissuePaths=()=>{
|
reovkissuePaths=()=>{
|
||||||
let pathId=this.props.match.params.pathId;
|
let pathId=this.props.match.params.pathId;
|
||||||
let url ="/paths/"+pathId+"/cancel_has_publish.json";
|
let url ="/paths/"+pathId+"/cancel_has_publish.json";
|
||||||
axios.get(url).then((result)=>{
|
axios.get(url).then((result)=>{
|
||||||
if(result.status===200){
|
if(result.status===200){
|
||||||
if(result.data.status===0){
|
if(result.data.status===0){
|
||||||
|
|
||||||
}else if(result.data.status===1){
|
}else if(result.data.status===1){
|
||||||
this.setState({
|
this.setState({
|
||||||
cardsModalsavetype:false,
|
cardsModalsavetype:false,
|
||||||
loadtype:false,
|
loadtype:false,
|
||||||
deletepathtype:false
|
deletepathtype:false
|
||||||
})
|
})
|
||||||
window.location.href = "/paths/" + result.data.subject_id
|
window.location.href = "/paths/" + result.data.subject_id
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}).catch((error)=>{
|
}).catch((error)=>{
|
||||||
console.log(error);
|
console.log(error);
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
cardsModalcancel=()=>{
|
cardsModalcancel=()=>{
|
||||||
this.setState({
|
this.setState({
|
||||||
Modalstype:false,
|
Modalstype:false,
|
||||||
Modalsbottomval:'',
|
Modalsbottomval:'',
|
||||||
loadtype:false,
|
loadtype:false,
|
||||||
deletepathtype:false
|
deletepathtype:false
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
cardsModalsave=()=>{
|
cardsModalsave=()=>{
|
||||||
let {loadtype,deletepathtype}=this.state;
|
let {loadtype,deletepathtype}=this.state;
|
||||||
|
|
||||||
//删除路径
|
//删除路径
|
||||||
if(deletepathtype===true){
|
if(deletepathtype===true){
|
||||||
let pathid=this.props.match.params.pathId;
|
let pathid=this.props.match.params.pathId;
|
||||||
const deleteUrl = `/paths/`+pathid+`.json`;
|
const deleteUrl = `/paths/`+pathid+`.json`;
|
||||||
axios.delete(deleteUrl).then((response) => {
|
axios.delete(deleteUrl).then((response) => {
|
||||||
const status = response.data.status
|
const status = response.data.status
|
||||||
if (status === 1) {
|
if (status === 1) {
|
||||||
window.location.href = "/paths";
|
window.location.href = "/paths";
|
||||||
}
|
}
|
||||||
}).catch((error) => {
|
}).catch((error) => {
|
||||||
console.log(error)
|
console.log(error)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
//申请发布
|
//申请发布
|
||||||
if(loadtype===true){
|
if(loadtype===true){
|
||||||
|
|
||||||
let pathid=this.props.match.params.pathId;
|
let pathid=this.props.match.params.pathId;
|
||||||
let url ="/paths/"+pathid+"/publish.json";
|
let url ="/paths/"+pathid+"/publish.json";
|
||||||
axios.get(url).then((result)=>{
|
axios.get(url).then((result)=>{
|
||||||
if(result.status===200){
|
if(result.status===200){
|
||||||
if(result.data.status===0){
|
if(result.data.status===0){
|
||||||
this.setState({
|
this.setState({
|
||||||
Modalstype:true,
|
Modalstype:true,
|
||||||
Modalstopval: result.data.message,
|
Modalstopval: result.data.message,
|
||||||
})
|
})
|
||||||
}else if(result.data.status===1){
|
}else if(result.data.status===1){
|
||||||
window.location.reload();
|
window.location.reload();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}).catch((error)=>{
|
}).catch((error)=>{
|
||||||
console.log(error);
|
console.log(error);
|
||||||
})
|
})
|
||||||
|
|
||||||
}
|
}
|
||||||
this.setState({
|
this.setState({
|
||||||
Modalstype:false,
|
Modalstype:false,
|
||||||
Modalsbottomval:''
|
Modalsbottomval:''
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
render(){
|
render(){
|
||||||
let{detailInfoList}=this.props;
|
let{detailInfoList}=this.props;
|
||||||
let{Modalstype,Modalstopval,cardsModalcancel,cardsModalsave,Modalsbottomval,cardsModalsavetype,loadtype}=this.state;
|
let{Modalstype,Modalstopval,cardsModalcancel,cardsModalsave,Modalsbottomval,cardsModalsavetype,loadtype}=this.state;
|
||||||
const radioStyle = {
|
const radioStyle = {
|
||||||
display: 'block',
|
display: 'block',
|
||||||
height: '30px',
|
height: '30px',
|
||||||
lineHeight: '30px',
|
lineHeight: '30px',
|
||||||
};
|
};
|
||||||
|
|
||||||
return(
|
return(
|
||||||
<div className="subhead">
|
<div className="subhead">
|
||||||
<Modals
|
<Modals
|
||||||
modalsType={Modalstype}
|
modalsType={Modalstype}
|
||||||
modalsTopval={Modalstopval}
|
modalsTopval={Modalstopval}
|
||||||
modalsBottomval={Modalsbottomval}
|
modalsBottomval={Modalsbottomval}
|
||||||
modalCancel={cardsModalcancel}
|
modalCancel={cardsModalcancel}
|
||||||
modalSave={cardsModalsavetype===true?this.reovkissuePaths:this.cardsModalsave}
|
modalSave={cardsModalsavetype===true?this.reovkissuePaths:this.cardsModalsave}
|
||||||
loadtype={loadtype}
|
loadtype={loadtype}
|
||||||
>
|
>
|
||||||
</Modals>
|
</Modals>
|
||||||
{
|
{
|
||||||
detailInfoList &&
|
detailInfoList &&
|
||||||
<div className="subhead_content">
|
<div className="subhead_content">
|
||||||
<div className="font-28 color-white clearfix">
|
<div className="font-28 color-white clearfix">
|
||||||
<span className="fl lineh-40">
|
<span className="fl lineh-40">
|
||||||
{detailInfoList.name}
|
{detailInfoList.name}
|
||||||
|
|
||||||
</span>
|
</span>
|
||||||
{detailInfoList===undefined?"":detailInfoList.allow_statistics===true?
|
{detailInfoList===undefined?"":detailInfoList.allow_statistics===true?
|
||||||
<Link to={"/paths/"+this.props.match.params.pathId+"/edit"} className="ml10 ring-green fl mt10" data-tip-down="编辑">
|
<Tooltip placement="bottom" title={"编辑"}>
|
||||||
<img src={getImageUrl("images/educoder/icon/edit.svg")} className="fl mt3 ml2" />
|
<Link to={"/paths/"+this.props.match.params.pathId+"/edit"} className="ml10 ring-green fl mt10" >
|
||||||
</Link>:""
|
<img src={getImageUrl("images/educoder/icon/edit.svg")} className="fl mt3 ml2" />
|
||||||
}
|
</Link>
|
||||||
|
</Tooltip>
|
||||||
{detailInfoList===undefined?"":detailInfoList.allow_statistics===true?
|
:""
|
||||||
<Link to={"/paths/"+this.props.match.params.pathId+"/statistics"} className="user_default_btn edu-greenback-btn fr font-18"
|
}
|
||||||
>
|
|
||||||
学习统计
|
{detailInfoList===undefined?"":detailInfoList.allow_statistics===true?
|
||||||
</Link>:""
|
<Link to={"/paths/"+this.props.match.params.pathId+"/statistics"} className="user_default_btn edu-greenback-btn fr font-18"
|
||||||
}
|
>
|
||||||
|
学习统计
|
||||||
{ detailInfoList.allow_send === true &&
|
</Link>:""
|
||||||
<SendPanel {...this.props} {...this.state}></SendPanel>
|
}
|
||||||
}
|
|
||||||
|
{ detailInfoList.allow_send === true &&
|
||||||
</div>
|
<SendPanel {...this.props} {...this.state}></SendPanel>
|
||||||
<div className="clearfix mt20">
|
}
|
||||||
{
|
|
||||||
detailInfoList &&
|
</div>
|
||||||
<ul className="fl color-grey-eb pathInfo">
|
<div className="clearfix mt20">
|
||||||
{ detailInfoList.stages_count!=0 ? <li><span>章节</span><span className="ml5">{detailInfoList.stages_count}</span></li> : ""}
|
{
|
||||||
{ detailInfoList.stage_shixuns_count!=0 ? <li><span>实训</span><span className="ml5">{ detailInfoList.stage_shixuns_count}</span></li> : ""}
|
detailInfoList &&
|
||||||
{ detailInfoList.challenge_choose_count!=0 ? <li><span>选择题任务</span><span>{detailInfoList.challenge_choose_count}</span></li> : ""}
|
<ul className="fl color-grey-eb pathInfo">
|
||||||
{ detailInfoList.challenges_count!=0 ? <li><span>实践任务</span><span>{detailInfoList.challenges_count}</span></li> : ""}
|
{ detailInfoList.stages_count!=0 ? <li><span>章节</span><span className="ml5">{detailInfoList.stages_count}</span></li> : ""}
|
||||||
{ detailInfoList.subject_score!=0 ? <li><span>经验值</span><span>{detailInfoList.subject_score}</span></li> : ""}
|
{ detailInfoList.stage_shixuns_count!=0 ? <li><span>实训</span><span className="ml5">{ detailInfoList.stage_shixuns_count}</span></li> : ""}
|
||||||
{ detailInfoList.member_count!=0 ? <li><span>学习人数</span><span>{detailInfoList.member_count}</span></li> : ""}
|
{ detailInfoList.challenge_choose_count!=0 ? <li><span>选择题任务</span><span>{detailInfoList.challenge_choose_count}</span></li> : ""}
|
||||||
</ul>
|
{ detailInfoList.challenges_count!=0 ? <li><span>实践任务</span><span>{detailInfoList.challenges_count}</span></li> : ""}
|
||||||
}
|
{ detailInfoList.subject_score!=0 ? <li><span>经验值</span><span>{detailInfoList.subject_score}</span></li> : ""}
|
||||||
<div className="fr pr">
|
{ detailInfoList.member_count!=0 ? <li><span>学习人数</span><span>{detailInfoList.member_count}</span></li> : ""}
|
||||||
{detailInfoList===undefined?"":detailInfoList.allow_delete===true?<a
|
</ul>
|
||||||
className={detailInfoList.publish_status===-1?"fl font-18 color-white mt5 mr20":"fl font-18 color-white mt5"}
|
}
|
||||||
style={{opacity: '0.6'}} onClick={this.allow_deletepath}
|
<div className="fr pr">
|
||||||
>删除路径</a>:""}
|
{detailInfoList===undefined?"":detailInfoList.allow_delete===true?<a
|
||||||
|
className={detailInfoList.publish_status===-1?"fl font-18 color-white mt5 mr20":"fl font-18 color-white mt5"}
|
||||||
{
|
style={{opacity: '0.6'}} onClick={this.allow_deletepath}
|
||||||
detailInfoList.publish_status===0&&detailInfoList.allow_statistics===true?
|
>删除路径</a>:""}
|
||||||
<a className="user_default_btn user_bluebg_btn font-18 fl ml40 userbluebgfont"
|
|
||||||
onClick={this.applyissuePath}
|
{
|
||||||
>申请发布</a>:""
|
detailInfoList.publish_status===0&&detailInfoList.allow_statistics===true?
|
||||||
}
|
<a className="user_default_btn user_bluebg_btn font-18 fl ml40 userbluebgfont"
|
||||||
|
onClick={this.applyissuePath}
|
||||||
|
>申请发布</a>:""
|
||||||
{
|
}
|
||||||
detailInfoList.publish_status===1 && detailInfoList.allow_statistics===true?
|
|
||||||
<a className="user_default_btn user_grey_btn font-18 fl pointer ml40"
|
|
||||||
onClick={this.cancelissuePath}
|
{
|
||||||
>撤销申请</a>:""
|
detailInfoList.publish_status===1 && detailInfoList.allow_statistics===true?
|
||||||
}
|
<a className="user_default_btn user_grey_btn font-18 fl pointer ml40"
|
||||||
|
onClick={this.cancelissuePath}
|
||||||
{
|
>撤销申请</a>:""
|
||||||
detailInfoList.publish_status===2 && detailInfoList.allow_statistics===true?
|
}
|
||||||
<a className="user_default_btn user_grey_btn font-18 fl pointer ml40"
|
|
||||||
onClick={this.reovkissuePath}
|
{
|
||||||
>撤销发布</a>:""
|
detailInfoList.publish_status===2 && detailInfoList.allow_statistics===true?
|
||||||
}
|
<a className="user_default_btn user_grey_btn font-18 fl pointer ml40"
|
||||||
</div>
|
onClick={this.reovkissuePath}
|
||||||
</div>
|
>撤销发布</a>:""
|
||||||
</div>
|
}
|
||||||
}
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
)
|
}
|
||||||
}
|
|
||||||
}
|
</div>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
export default DetailTop;
|
export default DetailTop;
|
Loading…
Reference in new issue