merge 冲突
This commit is contained in:
parent
93694594c4
commit
7c40f9be36
|
@ -2,12 +2,13 @@ import React, { Component } from 'react';
|
||||||
import AccountProfile from "../../modules/user/AccountProfile";
|
import AccountProfile from "../../modules/user/AccountProfile";
|
||||||
import { getImageUrl } from 'educoder'
|
import { getImageUrl } from 'educoder'
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
import { Input , notification , Dropdown , Menu } from 'antd';
|
import { Modal, Input, message, notification , Dropdown , Menu } from 'antd';
|
||||||
|
|
||||||
import LoginDialog from '../../modules/login/LoginDialog';
|
import LoginDialog from '../../modules/login/LoginDialog';
|
||||||
import GotoQQgroup from '../../modal/GotoQQgroup'
|
import GotoQQgroup from '../../modal/GotoQQgroup'
|
||||||
|
|
||||||
import '../../modules/tpm/TPMIndex.css';
|
import '../../modules/tpm/TPMIndex.css';
|
||||||
|
import logo from '../../modules/tpm/images/logo.png';
|
||||||
|
|
||||||
import './header.scss';
|
import './header.scss';
|
||||||
const $ = window.$
|
const $ = window.$
|
||||||
|
@ -32,9 +33,11 @@ class NewHeader extends Component {
|
||||||
Checkboxteachertype: false,
|
Checkboxteachertype: false,
|
||||||
Checkboxteachingtype: false,
|
Checkboxteachingtype: false,
|
||||||
code_notice: false,
|
code_notice: false,
|
||||||
|
checked_notice: false,
|
||||||
RadioGroupvalue: undefined,
|
RadioGroupvalue: undefined,
|
||||||
submitapplications: false,
|
submitapplications: false,
|
||||||
isRender: false,
|
isRender: false,
|
||||||
|
showSearchOpentype: false,
|
||||||
showTrial: false,
|
showTrial: false,
|
||||||
setevaluatinghides: false,
|
setevaluatinghides: false,
|
||||||
occupation: 0,
|
occupation: 0,
|
||||||
|
@ -42,6 +45,7 @@ class NewHeader extends Component {
|
||||||
headtypesonClickbool: false,
|
headtypesonClickbool: false,
|
||||||
headtypess: "/",
|
headtypess: "/",
|
||||||
settings: null,
|
settings: null,
|
||||||
|
goshowqqgtounp: false,
|
||||||
visiblemyss: false,
|
visiblemyss: false,
|
||||||
openSearch:false,
|
openSearch:false,
|
||||||
}
|
}
|
||||||
|
@ -126,7 +130,43 @@ class NewHeader extends Component {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
submitsubmitapplications = () => {
|
||||||
|
let {
|
||||||
|
submitapplicationssum,
|
||||||
|
submitapplicationsvaluedata
|
||||||
|
} = this.state;
|
||||||
|
this.setState({
|
||||||
|
submitapplications: false,
|
||||||
|
RadioGroupvalue: undefined
|
||||||
|
})
|
||||||
|
if (submitapplicationssum === 0) {
|
||||||
|
if (submitapplicationsvaluedata !== undefined) {
|
||||||
|
window.location.href = "/courses/" + submitapplicationsvaluedata;
|
||||||
|
}
|
||||||
|
} else if (submitapplicationssum === 1) {
|
||||||
|
if (submitapplicationsvaluedata !== undefined) {
|
||||||
|
window.location.href = "/projects/" + submitapplicationsvaluedata;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
hidesubmitapplications = () => {
|
||||||
|
this.setState({
|
||||||
|
Addcoursestypes: false,
|
||||||
|
tojoinitemtype: false,
|
||||||
|
tojoinclasstitle: undefined,
|
||||||
|
rolearr: ["", ""],
|
||||||
|
Checkboxteacherchecked: false,
|
||||||
|
Checkboxstudentchecked: false,
|
||||||
|
Checkboxteachingchecked: false,
|
||||||
|
Checkboxteachertype: false,
|
||||||
|
Checkboxteachingtype: false,
|
||||||
|
code_notice: false,
|
||||||
|
checked_notice: false,
|
||||||
|
submitapplications: false,
|
||||||
|
RadioGroupvalue: undefined
|
||||||
|
})
|
||||||
|
}
|
||||||
educoderlogin = () => {
|
educoderlogin = () => {
|
||||||
//登录账号
|
//登录账号
|
||||||
this.setState({
|
this.setState({
|
||||||
|
@ -165,6 +205,23 @@ class NewHeader extends Component {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
hidetojoinclass = () => {
|
||||||
|
this.setState({
|
||||||
|
tojoinclasstype: false,
|
||||||
|
tojoinitemtype: false,
|
||||||
|
tojoinclasstitle: undefined,
|
||||||
|
rolearr: ["", ""],
|
||||||
|
Checkboxteacherchecked: false,
|
||||||
|
Checkboxstudentchecked: false,
|
||||||
|
Checkboxteachingchecked: false,
|
||||||
|
Checkboxteachertype: false,
|
||||||
|
Checkboxteachingtype: false,
|
||||||
|
code_notice: false,
|
||||||
|
checked_notice: false,
|
||||||
|
RadioGroupvalue: undefined
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// 关闭
|
// 关闭
|
||||||
cancelModulationModels = () => {
|
cancelModulationModels = () => {
|
||||||
this.setState({ isRenders: false })
|
this.setState({ isRenders: false })
|
||||||
|
@ -256,6 +313,14 @@ class NewHeader extends Component {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// 处理弹框
|
||||||
|
setgoshowqqgtounp = (bool) => {
|
||||||
|
this.setState({
|
||||||
|
goshowqqgtounp: bool
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
addMenu=(list)=>{
|
addMenu=(list)=>{
|
||||||
return(
|
return(
|
||||||
list && list.length >0 &&
|
list && list.length >0 &&
|
||||||
|
@ -273,25 +338,6 @@ class NewHeader extends Component {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
renderMenu=(personal)=>{
|
|
||||||
const { current_user } = this.props;
|
|
||||||
return(
|
|
||||||
<Menu className="currentMenu">
|
|
||||||
<Menu.Item>
|
|
||||||
<span title={current_user && current_user.username}>{current_user && current_user.username}</span>
|
|
||||||
</Menu.Item>
|
|
||||||
{
|
|
||||||
personal && personal.length > 0 && personal.map((item,key)=>{
|
|
||||||
return(
|
|
||||||
<li key={key}><a href={item.url} target="_blank">{item.name}</a></li>
|
|
||||||
)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
<Menu.Item><a onClick={() => this.educoderloginysl()}>退出</a></Menu.Item>
|
|
||||||
</Menu>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
const { match} = this.props;
|
const { match} = this.props;
|
||||||
let current_user = this.props.user;
|
let current_user = this.props.user;
|
||||||
|
@ -299,12 +345,17 @@ class NewHeader extends Component {
|
||||||
tojoinitemtype,
|
tojoinitemtype,
|
||||||
tojoinclasstitle,
|
tojoinclasstitle,
|
||||||
code_notice,
|
code_notice,
|
||||||
|
checked_notice,
|
||||||
AccountProfiletype,
|
AccountProfiletype,
|
||||||
|
submitapplications,
|
||||||
|
submitapplicationsvalue,
|
||||||
user,
|
user,
|
||||||
isRender,
|
isRender,
|
||||||
|
showSearchOpentype,
|
||||||
headtypesonClickbool,
|
headtypesonClickbool,
|
||||||
headtypess,
|
headtypess,
|
||||||
settings,
|
settings,
|
||||||
|
goshowqqgtounp,
|
||||||
openSearch,
|
openSearch,
|
||||||
} = this.state;
|
} = this.state;
|
||||||
/*用户名称 用户头像url*/
|
/*用户名称 用户头像url*/
|
||||||
|
@ -401,6 +452,11 @@ class NewHeader extends Component {
|
||||||
{...this.props}
|
{...this.props}
|
||||||
{...this.state}
|
{...this.state}
|
||||||
/> : ""}
|
/> : ""}
|
||||||
|
{
|
||||||
|
goshowqqgtounp === true ?
|
||||||
|
<GotoQQgroup {...this.state} {...this.props} setgoshowqqgtounp={(bool) => this.setgoshowqqgtounp(bool)}></GotoQQgroup>
|
||||||
|
:""
|
||||||
|
}
|
||||||
{
|
{
|
||||||
settings && settings.nav_logo_url ?
|
settings && settings.nav_logo_url ?
|
||||||
<a href={settings && settings.new_course.default_url} className={"fl mr50"} style={{minWidth:"45px"}}>
|
<a href={settings && settings.new_course.default_url} className={"fl mr50"} style={{minWidth:"45px"}}>
|
||||||
|
@ -466,6 +522,32 @@ class NewHeader extends Component {
|
||||||
}
|
}
|
||||||
</div>:""
|
</div>:""
|
||||||
}
|
}
|
||||||
|
<Modal
|
||||||
|
keyboard={false}
|
||||||
|
title="提示"
|
||||||
|
visible={submitapplications}
|
||||||
|
closable={false}
|
||||||
|
footer={null}
|
||||||
|
>
|
||||||
|
<div className="task_popup_con ml30">
|
||||||
|
<div className="mr15">
|
||||||
|
<ul>
|
||||||
|
<div className="task-popup-content">
|
||||||
|
<p className="task-popup-text-center font-16">
|
||||||
|
{submitapplicationsvalue}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<li className="clearfix mt10 edu-txt-center">
|
||||||
|
<a className="task-btn mr10"
|
||||||
|
onClick={this.hidesubmitapplications}>取消</a>
|
||||||
|
<a
|
||||||
|
className="task-btn task-btn-orange ml20"
|
||||||
|
onClick={this.submitsubmitapplications}>确定</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Modal>
|
||||||
</div>
|
</div>
|
||||||
{!user || (user && !user.login) ?
|
{!user || (user && !user.login) ?
|
||||||
<span className="font-15 ml30">
|
<span className="font-15 ml30">
|
||||||
|
@ -476,11 +558,25 @@ class NewHeader extends Component {
|
||||||
}
|
}
|
||||||
</span>
|
</span>
|
||||||
:
|
:
|
||||||
<Dropdown placement={`bottomRight`} overlay={this.renderMenu(settings && settings.personal)}>
|
<div className="ml30 edu-menu-panel" style={{ height: "70px", lineHeight: "70px" }}>
|
||||||
<a href={`/users/${this.props.current_user && this.props.current_user.login}`}>
|
<a href={`/users/${this.props.current_user === undefined ? "" : this.props.current_user.login}`}>
|
||||||
<img alt="头像" src={getImageUrl(`/${user.image_url}`)} className="currentImg"></img>
|
<img alt="头像" className="radius" height="34" id="nh_user_logo" name="avatar_image" src={getImageUrl(`/${user.image_url}`)} width="34">
|
||||||
|
</img>
|
||||||
</a>
|
</a>
|
||||||
</Dropdown>
|
<ul className="edu-menu-list" style={{ top: '60px', textAlign: 'center' }}>
|
||||||
|
<li className="bor-bottom-greyE" style={{cursor:"default",background:"#fff"}}>{this.props.current_user.username}</li>
|
||||||
|
{
|
||||||
|
settings && settings.personal && settings.personal.length > 0 && settings.personal.map((item,key)=>{
|
||||||
|
return(
|
||||||
|
<li key={key}><a href={item.url} target="_blank">{item.name}</a></li>
|
||||||
|
)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
<li className="bor-top-greyE">
|
||||||
|
<a onClick={() => this.educoderloginysl()}>退出</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -15,20 +15,13 @@ function ConcentrateBox({ visible , onCancel , onSure , username , choosed }) {
|
||||||
const [ value , setValue ]= useState([]);
|
const [ value , setValue ]= useState([]);
|
||||||
const [ isSpin , setIsSpin ]= useState(true);
|
const [ isSpin , setIsSpin ]= useState(true);
|
||||||
const [ disable , setDisable ] = useState(false);
|
const [ disable , setDisable ] = useState(false);
|
||||||
|
|
||||||
const [ copyList , setCopyList ] = useState([]);
|
|
||||||
const [ copyAllList , setCopyAllList ] = useState([]);
|
|
||||||
|
|
||||||
useEffect(()=>{
|
useEffect(()=>{
|
||||||
if(visible){
|
if(visible){
|
||||||
setIsSpin(true);
|
setIsSpin(true);
|
||||||
getProjectList();
|
getProjectList();
|
||||||
}else{
|
|
||||||
setSearch(undefined);
|
|
||||||
setCopyAllList([]);
|
|
||||||
setCopyList([]);
|
|
||||||
setList([]);
|
|
||||||
}
|
}
|
||||||
|
setSearch(undefined);
|
||||||
},[visible])
|
},[visible])
|
||||||
|
|
||||||
useEffect(()=>{
|
useEffect(()=>{
|
||||||
|
@ -38,6 +31,12 @@ function ConcentrateBox({ visible , onCancel , onSure , username , choosed }) {
|
||||||
}
|
}
|
||||||
},[page])
|
},[page])
|
||||||
|
|
||||||
|
useEffect(()=>{
|
||||||
|
if(search !== undefined){
|
||||||
|
setIsSpin(true);
|
||||||
|
getProjectList(1,search);
|
||||||
|
}
|
||||||
|
},[search])
|
||||||
|
|
||||||
useEffect(()=>{
|
useEffect(()=>{
|
||||||
if(visible && choosed && choosed.length >0 ){
|
if(visible && choosed && choosed.length >0 ){
|
||||||
|
@ -61,11 +60,11 @@ function ConcentrateBox({ visible , onCancel , onSure , username , choosed }) {
|
||||||
}
|
}
|
||||||
}).then(result=>{
|
}).then(result=>{
|
||||||
if(result && result.data){
|
if(result && result.data){
|
||||||
let e = !search ? mergeArrayMerge(list,result.data.projects) : result.data.projects;
|
let e = page > 1 ? mergeArrayMerge(list,result.data.projects) : result.data.projects;
|
||||||
setCopyAllList(!search ? e : copyAllList);
|
|
||||||
setTotal(result.data.count);
|
setTotal(result.data.count);
|
||||||
setList(e);
|
setList(e);
|
||||||
setIsSpin(false);
|
setIsSpin(false);
|
||||||
|
|
||||||
// 查看更多需要页数
|
// 查看更多需要页数
|
||||||
let s = parseInt(result.data.count/limit,0);
|
let s = parseInt(result.data.count/limit,0);
|
||||||
let y = result.data.count%limit;
|
let y = result.data.count%limit;
|
||||||
|
@ -87,39 +86,28 @@ function ConcentrateBox({ visible , onCancel , onSure , username , choosed }) {
|
||||||
return array1
|
return array1
|
||||||
}
|
}
|
||||||
|
|
||||||
function saveList(c) {
|
|
||||||
// 将选中的复制下来保存到copyList数组里
|
|
||||||
if(c && c.length > 0){
|
|
||||||
let l = []
|
|
||||||
for(var i=0;i<c.length;i++){
|
|
||||||
let filter = copyAllList.filter(j=>j.id === c[i]);
|
|
||||||
if(filter && filter.length>0){
|
|
||||||
l.push(filter[0]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
setCopyList(l);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function onOk() {
|
function onOk() {
|
||||||
onSure && onSure(value);
|
onSure && onSure(value);
|
||||||
setValue([]);
|
setValue([]);
|
||||||
}
|
}
|
||||||
|
|
||||||
function chooseProject(e) {
|
function chooseProject(e,p) {
|
||||||
setValue(e);
|
setValue(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 搜索
|
// 搜索
|
||||||
function onSearch(params) {
|
function onSearch(params) {
|
||||||
setCopyAllList(list);
|
|
||||||
value && value.length > 0 ? saveList(value) : setCopyList([]);
|
|
||||||
setPage(1);
|
setPage(1);
|
||||||
|
setList([]);
|
||||||
setSearch(params);
|
setSearch(params);
|
||||||
getProjectList(1,params);
|
// if(params){
|
||||||
|
// setValueCopy(value);
|
||||||
|
// }else{
|
||||||
|
// setValue(valueCopy);
|
||||||
|
// setValueCopy([]);
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return(
|
return(
|
||||||
<Modal
|
<Modal
|
||||||
visible={visible}
|
visible={visible}
|
||||||
|
@ -145,26 +133,21 @@ function ConcentrateBox({ visible , onCancel , onSure , username , choosed }) {
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<div className="listbox">
|
<div className="listbox">
|
||||||
<Checkbox.Group value={value} onChange={chooseProject} style={{width:"100%"}}>
|
{
|
||||||
{
|
list && list.length > 0 &&
|
||||||
copyList && copyList.length >0 && copyList.map((i,k)=>{
|
<Checkbox.Group value={value} onChange={chooseProject} style={{width:"100%"}}>
|
||||||
return(
|
{
|
||||||
<Checkbox value={i.id} disabled={disable && (value.filter(j=>j === i.id).length===0)}>{i.author && i.author.name}/{i.name}</Checkbox>
|
list.map((i,k)=>{
|
||||||
)
|
return(
|
||||||
})
|
<Checkbox value={i.id} disabled={disable && (value.filter(j=>j === i.id).length===0)}>{i.name}</Checkbox>
|
||||||
}
|
)
|
||||||
{
|
})
|
||||||
list && list.length > 0 && list.map((i,k)=>{
|
}
|
||||||
let c = copyList && copyList.length >0 && copyList.filter(j=>j.id === i.id).length !== 0;
|
</Checkbox.Group>
|
||||||
return(
|
}
|
||||||
!c && <Checkbox value={i.id} disabled={disable && (value.filter(j=>j === i.id).length===0)}>{i.author && i.author.name}/{i.name}</Checkbox>
|
|
||||||
)
|
|
||||||
})
|
|
||||||
}
|
|
||||||
</Checkbox.Group>
|
|
||||||
</div>
|
</div>
|
||||||
{ total > limit && page < pageSize && <div className="morelist" onClick={()=>setPage(page+1)}>查看更多</div> }
|
{ total > limit && page < pageSize && <div className="morelist" onClick={()=>setPage(page+1)}>查看更多</div> }
|
||||||
{ (list && list.length === 0) && (copyList && copyList.length === 0) && <div style={{textAlign:"center"}}>您还没有公开的{search && `“${search}”`}项目,先去<Link to={`/projects/deposit/new`} className="color-blue">新建项目</Link></div> }
|
{ list && list.length === 0 && <div style={{textAlign:"center"}}>您还没有公开的{search && `“${search}”`}项目,先去<Link to={`/projects/deposit/new`} className="color-blue">新建项目</Link></div> }
|
||||||
</Spin>
|
</Spin>
|
||||||
</Modal>
|
</Modal>
|
||||||
)
|
)
|
||||||
|
|
|
@ -45,7 +45,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.ConcentrateTip{
|
.ConcentrateTip{
|
||||||
margin:20px 30px 0px;
|
margin:20px 20px 0px;
|
||||||
padding:5px 20px;
|
padding:5px 20px;
|
||||||
border:1px solid rgb(248, 56, 56);
|
border:1px solid rgb(248, 56, 56);
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
|
|
Loading…
Reference in New Issue