From ff7d191011ca511116d027f8d95a7e7ae0fd2bf6 Mon Sep 17 00:00:00 2001 From: caishi <1149225589@qq.com> Date: Tue, 8 Jun 2021 10:44:44 +0800 Subject: [PATCH] merge --- src/forge/UsersList/fork_users.js | 2 + src/forge/UsersList/user_list.js | 9 ++- .../users/GeneralView/ConcentrateBox.jsx | 78 ++++++++++++------- .../users/GeneralView/ConcentrateProject.jsx | 1 - src/forge/users/Index.scss | 5 ++ src/forge/users/Infos.js | 14 +--- src/forge/users/Material/Base.jsx | 17 ++-- src/forge/users/Team.jsx | 11 ++- src/forge/users/common_lists.js | 40 +++++----- src/forge/users/fan_users.js | 4 +- src/forge/users/watch_users.js | 4 +- 11 files changed, 109 insertions(+), 76 deletions(-) diff --git a/src/forge/UsersList/fork_users.js b/src/forge/UsersList/fork_users.js index 7e0421905..e38f46190 100644 --- a/src/forge/UsersList/fork_users.js +++ b/src/forge/UsersList/fork_users.js @@ -98,6 +98,8 @@ class ForkUsers extends Component { {item.name} diff --git a/src/forge/UsersList/user_list.js b/src/forge/UsersList/user_list.js index 5d99bfbd0..c3324dc5f 100644 --- a/src/forge/UsersList/user_list.js +++ b/src/forge/UsersList/user_list.js @@ -1,5 +1,6 @@ import React, { Component } from "react"; import { getImageUrl } from "educoder"; +import { Link } from 'react-router-dom'; import FocusButton from "./focus_button"; import { Button } from "antd"; import "./list.css"; @@ -25,12 +26,14 @@ class UserList extends Component {
- {item.name} - +
diff --git a/src/forge/users/GeneralView/ConcentrateBox.jsx b/src/forge/users/GeneralView/ConcentrateBox.jsx index 0ec8d9c66..4c0b2afca 100644 --- a/src/forge/users/GeneralView/ConcentrateBox.jsx +++ b/src/forge/users/GeneralView/ConcentrateBox.jsx @@ -2,6 +2,7 @@ import React, { useEffect, useState } from 'react'; import { Modal , Checkbox , Spin , Input } from 'antd'; import Axios from 'axios'; import { Link } from 'react-router-dom'; +import { values } from 'lodash'; const { Search } = Input; const limit = 20; @@ -15,13 +16,20 @@ function ConcentrateBox({ visible , onCancel , onSure , username , choosed }) { const [ value , setValue ]= useState([]); const [ isSpin , setIsSpin ]= useState(true); const [ disable , setDisable ] = useState(false); + + const [ copyList , setCopyList ] = useState([]); + const [ copyAllList , setCopyAllList ] = useState([]); useEffect(()=>{ if(visible){ setIsSpin(true); getProjectList(); + }else{ + setSearch(undefined); + setCopyAllList([]); + setCopyList([]); + setList([]); } - setSearch(undefined); },[visible]) useEffect(()=>{ @@ -31,12 +39,6 @@ function ConcentrateBox({ visible , onCancel , onSure , username , choosed }) { } },[page]) - useEffect(()=>{ - if(search !== undefined){ - setIsSpin(true); - getProjectList(1,search); - } - },[search]) useEffect(()=>{ if(visible && choosed && choosed.length >0 ){ @@ -60,11 +62,11 @@ function ConcentrateBox({ visible , onCancel , onSure , username , choosed }) { } }).then(result=>{ if(result && result.data){ - let e = page > 1 ? mergeArrayMerge(list,result.data.projects) : result.data.projects; + let e = !search ? mergeArrayMerge(list,result.data.projects) : result.data.projects; + setCopyAllList(!search ? e : copyAllList); setTotal(result.data.count); setList(e); setIsSpin(false); - // 查看更多需要页数 let s = parseInt(result.data.count/limit,0); let y = result.data.count%limit; @@ -86,28 +88,39 @@ function ConcentrateBox({ visible , onCancel , onSure , username , choosed }) { return array1 } + function saveList(c) { + // 将选中的复制下来保存到copyList数组里 + if(c && c.length > 0){ + let l = [] + for(var i=0;ij.id === c[i]); + if(filter && filter.length>0){ + l.push(filter[0]); + } + } + setCopyList(l); + } + } + function onOk() { onSure && onSure(value); setValue([]); } - function chooseProject(e,p) { + function chooseProject(e) { setValue(e); } // 搜索 function onSearch(params) { + setCopyAllList(list); + value && value.length > 0 ? saveList(value) : setCopyList([]); setPage(1); - setList([]); setSearch(params); - // if(params){ - // setValueCopy(value); - // }else{ - // setValue(valueCopy); - // setValueCopy([]); - // } + getProjectList(1,params); } + return(
- { - list && list.length > 0 && - - { - list.map((i,k)=>{ - return( - j === i.id).length===0)}>{i.name} - ) - }) - } - - } + + { + copyList && copyList.length >0 && copyList.map((i,k)=>{ + return( + j === i.id).length===0)}>{i.author && i.author.name}/{i.name} + ) + }) + } + { + list && list.length > 0 && list.map((i,k)=>{ + let c = copyList && copyList.length >0 && copyList.filter(j=>j.id === i.id).length !== 0; + return( + !c && j === i.id).length===0)}>{i.author && i.author.name}/{i.name} + ) + }) + } +
{ total > limit && page < pageSize &&
setPage(page+1)}>查看更多
} - { list && list.length === 0 &&
您还没有公开的{search && `“${search}”`}项目,先去新建项目
} + { (list && list.length === 0) && (copyList && copyList.length === 0) &&
您还没有公开的{search && `“${search}”`}项目,先去新建项目
} ) diff --git a/src/forge/users/GeneralView/ConcentrateProject.jsx b/src/forge/users/GeneralView/ConcentrateProject.jsx index a3254837e..0d15cb32b 100644 --- a/src/forge/users/GeneralView/ConcentrateProject.jsx +++ b/src/forge/users/GeneralView/ConcentrateProject.jsx @@ -2,7 +2,6 @@ import React, { useEffect, useState } from 'react'; import { FlexAJ , AlignCenter } from '../../Component/layout'; import { Link } from 'react-router-dom'; import axios from 'axios'; - import Box from './ConcentrateBox'; function ConcentrateProject({userLogin,current}) { diff --git a/src/forge/users/Index.scss b/src/forge/users/Index.scss index b35d45850..e2e46d4a6 100644 --- a/src/forge/users/Index.scss +++ b/src/forge/users/Index.scss @@ -119,6 +119,11 @@ $flex:flex; line-height: 28px; color: #666; margin-top: 20px; + &>div{ + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + } i{ color: #DEDEDE; font-size: 15px!important; diff --git a/src/forge/users/Infos.js b/src/forge/users/Infos.js index 77ab795a1..3701c1be8 100644 --- a/src/forge/users/Infos.js +++ b/src/forge/users/Infos.js @@ -183,17 +183,11 @@ class Infos extends Component { this.props.history.push(`/users/${user && user.login}/organizes`) } - resetUser=()=>{ - const { resetUserInfo } = this.props; - - this.fetchUser(); - resetUserInfo && resetUserInfo(); - } - render() { - const { current_user, mygetHelmetapi , resetUserInfo } = this.props; + const { current_user, mygetHelmetapi } = this.props; const { username } = this.props.match.params; const { user, isSpin, project_type, route_type , undo_events , undo_messages , menuKey } = this.state; + return (
@@ -213,7 +207,7 @@ class Infos extends Component { -
+
{user && user.username}
@@ -342,7 +336,7 @@ class Infos extends Component { { - return ; + return ; }} > { const { getFieldDecorator, validateFields , setFieldsValue } = props && props.form; const { username } = props && props.match && props.match.params; - const { current_user , resetUser } = props; - + const { user , resetUser } = props; useEffect(()=>{ - if(current_user && current_user.login){ + if(user && user.login){ setFieldsValue({ - ...current_user, - location:current_user.province && [current_user.province,current_user.city] + ...user, + location:user.province && [user.province,user.city] }) } - },[current_user]) + },[user]) function submit() { validateFields((error,values)=>{ @@ -71,7 +70,7 @@ export default Form.create()( {getFieldDecorator("real_name",{ rules:[{required:true,message:"请输入姓名"}] })( - + )}
@@ -90,7 +89,7 @@ export default Form.create()( {getFieldDecorator("custom_department",{ rules:[{required:true,message:"请输入单位名称"}] })( - + )} @@ -120,7 +119,7 @@ export default Form.create()( {getFieldDecorator("description",{ rules:[] })( -