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 {
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:[]
})(
-
diff --git a/src/forge/users/Team.jsx b/src/forge/users/Team.jsx
index 7dabb47b5..31b34d3e9 100644
--- a/src/forge/users/Team.jsx
+++ b/src/forge/users/Team.jsx
@@ -47,6 +47,15 @@ function Team(props){
用户数排序
)
+
+ function newFunc() {
+ const { checkIfLogin , showLoginDialog } = props;
+ if(checkIfLogin()){
+ props.history.push(`/organize/new`);
+ }else{
+ showLoginDialog && showLoginDialog();
+ }
+ }
return(
@@ -54,7 +63,7 @@ function Team(props){
setSearch(e.target.value)} placeholder="请输入组织名称关键字进行搜索" onSearch={onSearch}/>
- 新建组织
+ 新建组织
排序
diff --git a/src/forge/users/common_lists.js b/src/forge/users/common_lists.js
index 2bd45b32d..7278dc1d1 100644
--- a/src/forge/users/common_lists.js
+++ b/src/forge/users/common_lists.js
@@ -29,26 +29,24 @@ class CommonList extends Component {
isSpin: true,
});
axios.get(url, {
- params: {
- page,
- limit,
- search,
- },
- })
- .then((result) => {
- if (result) {
- this.setState({
- users: result.data.users,
- total: result.data.count,
- isSpin: false,
- });
- }
- })
- .catch((error) => {
+ params: {
+ page,
+ limit,
+ search,
+ },
+ }).then((result) => {
+ if (result && result.data) {
this.setState({
- isSpin: false,
+ users: result.data.users,
+ total: result.data.count,
+ isSpin: false
});
+ }
+ }).catch((error) => {
+ this.setState({
+ isSpin: false,
});
+ });
};
//切换页数
@@ -63,6 +61,12 @@ class CommonList extends Component {
});
};
+ successFunc=()=>{
+ const { fetchUser } = this.props;
+ this.get_watchers();
+ fetchUser && fetchUser();
+ }
+
render() {
const { users, isSpin, total, search, limit, page } = this.state;
const { userType, login, current_user } = this.props;
@@ -103,7 +107,7 @@ class CommonList extends Component {
{users && users.length > 0 ? (
-
+
) : (
diff --git a/src/forge/users/fan_users.js b/src/forge/users/fan_users.js
index cf93cdb41..c70630b17 100644
--- a/src/forge/users/fan_users.js
+++ b/src/forge/users/fan_users.js
@@ -3,10 +3,10 @@ import CommonLists from "./common_lists"
class FanUsers extends Component {
render() {
- const {user, current_user} = this.props
+ const {user, current_user , fetchUser} = this.props
return (
- {user && user.login && }
+ {user && user.login && }
);
}
diff --git a/src/forge/users/watch_users.js b/src/forge/users/watch_users.js
index 0e22eba28..fe8a79267 100644
--- a/src/forge/users/watch_users.js
+++ b/src/forge/users/watch_users.js
@@ -2,10 +2,10 @@ import React, { Component } from "react";
import CommonLists from "./common_lists"
class WatcherUsers extends Component {
render() {
- const {user, current_user} = this.props
+ const {user, current_user , fetchUser } = this.props;
return (
- {user && user.login && }
+ {user && user.login && }
);
}