|
@@ -1,19 +1,18 @@
|
|
|
-import React, {Component} from "react";
|
|
|
|
|
-import {Space, Slider, message, Breadcrumb, Tooltip} from 'antd';
|
|
|
|
|
-import Folder from "./Folder";
|
|
|
|
|
-import File from "./File";
|
|
|
|
|
-import {apiFolderList, apiGroupRoot, apiRootFolderId} from "../../services/API/API";
|
|
|
|
|
-import getCookie from "../../utils/getCookie";
|
|
|
|
|
-import './DiskPage.less'
|
|
|
|
|
-import AddFolderModal from "./AddFolderModal";
|
|
|
|
|
-import UploadFileModal from "./UploadFileModal";
|
|
|
|
|
-import GroupModal from "./GroupModal";
|
|
|
|
|
-import {CopyTwoTone} from "@ant-design/icons";
|
|
|
|
|
-import encrypt from "../../utils/encrypt/encrypt";
|
|
|
|
|
-import QueueAnim from "rc-queue-anim";
|
|
|
|
|
|
|
+import React, { Component } from 'react';
|
|
|
|
|
+import { Space, Slider, message, Breadcrumb, Tooltip } from 'antd';
|
|
|
|
|
+import Folder from './Folder';
|
|
|
|
|
+import File from './File';
|
|
|
|
|
+import { apiFolderList, apiGroupRoot, apiRootFolderId } from '../../services/API/API';
|
|
|
|
|
+import getCookie from '../../utils/getCookie';
|
|
|
|
|
+import './DiskPage.less';
|
|
|
|
|
+import AddFolderModal from './AddFolderModal';
|
|
|
|
|
+import UploadFileModal from './UploadFileModal';
|
|
|
|
|
+import GroupModal from './GroupModal';
|
|
|
|
|
+import { CopyTwoTone } from '@ant-design/icons';
|
|
|
|
|
+import encrypt from '../../utils/encrypt/encrypt';
|
|
|
|
|
+import QueueAnim from 'rc-queue-anim';
|
|
|
|
|
|
|
|
class DiskPage extends Component {
|
|
class DiskPage extends Component {
|
|
|
-
|
|
|
|
|
state = {
|
|
state = {
|
|
|
type: this.props.type,
|
|
type: this.props.type,
|
|
|
currentId: -1,
|
|
currentId: -1,
|
|
@@ -22,80 +21,79 @@ class DiskPage extends Component {
|
|
|
data: [],
|
|
data: [],
|
|
|
haveFolder: false,
|
|
haveFolder: false,
|
|
|
haveFile: false,
|
|
haveFile: false,
|
|
|
- }
|
|
|
|
|
|
|
+ };
|
|
|
|
|
|
|
|
getRootFolderIdAndInter = () => {
|
|
getRootFolderIdAndInter = () => {
|
|
|
- console.log(document.cookie)
|
|
|
|
|
|
|
+ console.log(document.cookie);
|
|
|
let params = {
|
|
let params = {
|
|
|
username: getCookie('username'),
|
|
username: getCookie('username'),
|
|
|
token: getCookie('token'),
|
|
token: getCookie('token'),
|
|
|
- }
|
|
|
|
|
- console.log('获得参数:' + params.username + params.token)
|
|
|
|
|
|
|
+ };
|
|
|
|
|
+ console.log('获得参数:' + params.username + params.token);
|
|
|
if (this.props.type === 'team') {
|
|
if (this.props.type === 'team') {
|
|
|
params = {
|
|
params = {
|
|
|
group_id: this.props.group_id,
|
|
group_id: this.props.group_id,
|
|
|
- ...params
|
|
|
|
|
- }
|
|
|
|
|
- apiGroupRoot(params).then(res => {
|
|
|
|
|
|
|
+ ...params,
|
|
|
|
|
+ };
|
|
|
|
|
+ apiGroupRoot(params).then((res) => {
|
|
|
if (res.data.code === 200) {
|
|
if (res.data.code === 200) {
|
|
|
- console.log('成功')
|
|
|
|
|
|
|
+ console.log('成功');
|
|
|
this.setState({
|
|
this.setState({
|
|
|
currentId: res.data.root_folder_id,
|
|
currentId: res.data.root_folder_id,
|
|
|
- })
|
|
|
|
|
- this.cdFolder(this.state.currentId, this.props.group_name)
|
|
|
|
|
|
|
+ });
|
|
|
|
|
+ this.cdFolder(this.state.currentId, this.props.group_name);
|
|
|
} else if (res.data.code === 401) {
|
|
} else if (res.data.code === 401) {
|
|
|
- message.error('未登录')
|
|
|
|
|
|
|
+ message.error('未登录');
|
|
|
} else if (res.data.code === 403) {
|
|
} else if (res.data.code === 403) {
|
|
|
- message.error('群不存在')
|
|
|
|
|
- window.location.href = "";
|
|
|
|
|
|
|
+ message.error('群不存在');
|
|
|
|
|
+ window.location.href = '';
|
|
|
} else {
|
|
} else {
|
|
|
- message.error('错误')
|
|
|
|
|
- window.location.href = "";
|
|
|
|
|
|
|
+ message.error('错误');
|
|
|
|
|
+ window.location.href = '';
|
|
|
}
|
|
}
|
|
|
- })
|
|
|
|
|
|
|
+ });
|
|
|
} else {
|
|
} else {
|
|
|
- apiRootFolderId(params).then(res => {
|
|
|
|
|
|
|
+ apiRootFolderId(params).then((res) => {
|
|
|
if (res.data.code === 200) {
|
|
if (res.data.code === 200) {
|
|
|
- console.log('成功')
|
|
|
|
|
|
|
+ console.log('成功');
|
|
|
this.setState({
|
|
this.setState({
|
|
|
currentId: res.data.root_folder_id,
|
|
currentId: res.data.root_folder_id,
|
|
|
- })
|
|
|
|
|
- this.cdFolder(this.state.currentId, getCookie('username'))
|
|
|
|
|
|
|
+ });
|
|
|
|
|
+ this.cdFolder(this.state.currentId, getCookie('username'));
|
|
|
} else if (res.data.code === 401) {
|
|
} else if (res.data.code === 401) {
|
|
|
- message.error('未登录')
|
|
|
|
|
|
|
+ message.error('未登录');
|
|
|
// window.location.href = "";
|
|
// window.location.href = "";
|
|
|
} else {
|
|
} else {
|
|
|
- message.error('错误')
|
|
|
|
|
- window.location.href = "";
|
|
|
|
|
|
|
+ message.error('错误');
|
|
|
|
|
+ window.location.href = '';
|
|
|
}
|
|
}
|
|
|
- })
|
|
|
|
|
|
|
+ });
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
|
|
+ };
|
|
|
|
|
|
|
|
cdFolder = (FolderId, FolderName) => {
|
|
cdFolder = (FolderId, FolderName) => {
|
|
|
- console.log('正在进入' + FolderId)
|
|
|
|
|
|
|
+ console.log('正在进入' + FolderId);
|
|
|
let params = {
|
|
let params = {
|
|
|
username: getCookie('username'),
|
|
username: getCookie('username'),
|
|
|
token: getCookie('token'),
|
|
token: getCookie('token'),
|
|
|
- folder_id: FolderId
|
|
|
|
|
- }
|
|
|
|
|
- apiFolderList(params).then(res => {
|
|
|
|
|
- let addressList = this.state.addressList
|
|
|
|
|
- let temp = -1
|
|
|
|
|
|
|
+ folder_id: FolderId,
|
|
|
|
|
+ };
|
|
|
|
|
+ apiFolderList(params).then((res) => {
|
|
|
|
|
+ let addressList = this.state.addressList;
|
|
|
|
|
+ let temp = -1;
|
|
|
for (let i = 0; i < addressList.length; i++) {
|
|
for (let i = 0; i < addressList.length; i++) {
|
|
|
if (addressList[i].id === FolderId) {
|
|
if (addressList[i].id === FolderId) {
|
|
|
- temp = i
|
|
|
|
|
- break
|
|
|
|
|
|
|
+ temp = i;
|
|
|
|
|
+ break;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
if (temp === -1) {
|
|
if (temp === -1) {
|
|
|
addressList.push({
|
|
addressList.push({
|
|
|
name: FolderName,
|
|
name: FolderName,
|
|
|
- id: FolderId
|
|
|
|
|
- })
|
|
|
|
|
|
|
+ id: FolderId,
|
|
|
|
|
+ });
|
|
|
} else {
|
|
} else {
|
|
|
- addressList.splice(temp + 1, addressList.length - temp - 1)
|
|
|
|
|
|
|
+ addressList.splice(temp + 1, addressList.length - temp - 1);
|
|
|
}
|
|
}
|
|
|
if (res.data.code === 200) {
|
|
if (res.data.code === 200) {
|
|
|
this.setState({
|
|
this.setState({
|
|
@@ -105,60 +103,54 @@ class DiskPage extends Component {
|
|
|
// name: FolderName,
|
|
// name: FolderName,
|
|
|
// id: FolderId
|
|
// id: FolderId
|
|
|
// }]
|
|
// }]
|
|
|
- addressList: addressList
|
|
|
|
|
- })
|
|
|
|
|
- let haveFileTemp = false
|
|
|
|
|
- let haveFolderTemp = false
|
|
|
|
|
- res.data.children.forEach(ele => {
|
|
|
|
|
|
|
+ addressList: addressList,
|
|
|
|
|
+ });
|
|
|
|
|
+ let haveFileTemp = false;
|
|
|
|
|
+ let haveFolderTemp = false;
|
|
|
|
|
+ res.data.children.forEach((ele) => {
|
|
|
if (ele.type === 'file') {
|
|
if (ele.type === 'file') {
|
|
|
- haveFileTemp = true
|
|
|
|
|
|
|
+ haveFileTemp = true;
|
|
|
}
|
|
}
|
|
|
if (ele.type === 'folder') {
|
|
if (ele.type === 'folder') {
|
|
|
- haveFolderTemp = true
|
|
|
|
|
|
|
+ haveFolderTemp = true;
|
|
|
}
|
|
}
|
|
|
- })
|
|
|
|
|
|
|
+ });
|
|
|
this.setState({
|
|
this.setState({
|
|
|
haveFile: haveFileTemp,
|
|
haveFile: haveFileTemp,
|
|
|
haveFolder: haveFolderTemp,
|
|
haveFolder: haveFolderTemp,
|
|
|
- })
|
|
|
|
|
|
|
+ });
|
|
|
} else if (res.data.code === 401) {
|
|
} else if (res.data.code === 401) {
|
|
|
- message.error('未登录')
|
|
|
|
|
|
|
+ message.error('未登录');
|
|
|
// window.location.href = "";
|
|
// window.location.href = "";
|
|
|
} else {
|
|
} else {
|
|
|
- message.error('错误')
|
|
|
|
|
|
|
+ message.error('错误');
|
|
|
// window.location.href = "";
|
|
// window.location.href = "";
|
|
|
}
|
|
}
|
|
|
- })
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ });
|
|
|
|
|
+ };
|
|
|
|
|
|
|
|
componentWillMount() {
|
|
componentWillMount() {
|
|
|
- this.getRootFolderIdAndInter()
|
|
|
|
|
|
|
+ this.getRootFolderIdAndInter();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- componentDidMount() {
|
|
|
|
|
-
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ componentDidMount() {}
|
|
|
|
|
|
|
|
- setSize = size => {
|
|
|
|
|
|
|
+ setSize = (size) => {
|
|
|
this.setState({
|
|
this.setState({
|
|
|
- size: size
|
|
|
|
|
- })
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ size: size,
|
|
|
|
|
+ });
|
|
|
|
|
+ };
|
|
|
|
|
|
|
|
renderBread(addressList) {
|
|
renderBread(addressList) {
|
|
|
return addressList.map((ele, index) => {
|
|
return addressList.map((ele, index) => {
|
|
|
- return (
|
|
|
|
|
- this.props.type === 'team' ? <Tooltip title={'Current Group ID : ' + this.props.group_id}>
|
|
|
|
|
- <Breadcrumb.Item
|
|
|
|
|
- key={ele.name}
|
|
|
|
|
- className="breadcrumb-line"
|
|
|
|
|
- onClick={(ev) => this.cdFolder(ele.id, ele.name)}>
|
|
|
|
|
|
|
+ return this.props.type === 'team' ? (
|
|
|
|
|
+ <Tooltip title={'Current Group ID : ' + this.props.group_id}>
|
|
|
|
|
+ <Breadcrumb.Item key={ele.name} className="breadcrumb-line" onClick={(ev) => this.cdFolder(ele.id, ele.name)}>
|
|
|
<a>{ele.name}</a>
|
|
<a>{ele.name}</a>
|
|
|
</Breadcrumb.Item>
|
|
</Breadcrumb.Item>
|
|
|
- </Tooltip> : <Breadcrumb.Item
|
|
|
|
|
- key={ele.name}
|
|
|
|
|
- className="breadcrumb-line"
|
|
|
|
|
- onClick={(ev) => this.cdFolder(ele.id, ele.name)}>
|
|
|
|
|
|
|
+ </Tooltip>
|
|
|
|
|
+ ) : (
|
|
|
|
|
+ <Breadcrumb.Item key={ele.name} className="breadcrumb-line" onClick={(ev) => this.cdFolder(ele.id, ele.name)}>
|
|
|
<a>{ele.name}</a>
|
|
<a>{ele.name}</a>
|
|
|
</Breadcrumb.Item>
|
|
</Breadcrumb.Item>
|
|
|
);
|
|
);
|
|
@@ -166,84 +158,66 @@ class DiskPage extends Component {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
getGroupList = () => {
|
|
getGroupList = () => {
|
|
|
- this.props.getGroupList()
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ if (this.props.getGroupList) {
|
|
|
|
|
+ this.props.getGroupList();
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
|
|
|
|
|
render() {
|
|
render() {
|
|
|
return (
|
|
return (
|
|
|
<div>
|
|
<div>
|
|
|
<div className={'disk-header'}>
|
|
<div className={'disk-header'}>
|
|
|
- <Breadcrumb.Item
|
|
|
|
|
- key={'root'}
|
|
|
|
|
- className="breadcrumb-line"
|
|
|
|
|
- >
|
|
|
|
|
- >
|
|
|
|
|
- </Breadcrumb.Item>
|
|
|
|
|
|
|
+ <Breadcrumb.Item key={'root'} className="breadcrumb-line"></Breadcrumb.Item>
|
|
|
{this.renderBread(this.state.addressList)}
|
|
{this.renderBread(this.state.addressList)}
|
|
|
{
|
|
{
|
|
|
<div className={'group-modal'}>
|
|
<div className={'group-modal'}>
|
|
|
- <GroupModal group_id={this.props.group_id}
|
|
|
|
|
- getGroupList={this.getGroupList.bind(this)}/>
|
|
|
|
|
|
|
+ <GroupModal group_id={this.props.group_id} getGroupList={this.getGroupList.bind(this)} />
|
|
|
</div>
|
|
</div>
|
|
|
}
|
|
}
|
|
|
</div>
|
|
</div>
|
|
|
- <div className="site-layout-background" style={{marginTop: 10, padding: 24, minHeight: '82vh'}}>
|
|
|
|
|
|
|
+ <div className="site-layout-background" style={{ marginTop: 10, padding: 24, minHeight: '82vh' }}>
|
|
|
<div>
|
|
<div>
|
|
|
- <Slider value={this.state.size} onChange={value => this.setSize(value)}
|
|
|
|
|
- className={'disk-slider'}/>
|
|
|
|
|
- <AddFolderModal actionName={'Add Folder'} fatherFolderId={this.state.currentId}
|
|
|
|
|
- cdFolder={this.cdFolder.bind(this)} className={'add-folder-button'}/>
|
|
|
|
|
- <UploadFileModal actionName={'Upload File'} fatherFolderId={this.state.currentId}
|
|
|
|
|
- cdFolder={this.cdFolder.bind(this)} className={'upload-file-button'}/>
|
|
|
|
|
|
|
+ <Slider value={this.state.size} onChange={(value) => this.setSize(value)} className={'disk-slider'} />
|
|
|
|
|
+ <AddFolderModal actionName={'Add Folder'} fatherFolderId={this.state.currentId} cdFolder={this.cdFolder.bind(this)} className={'add-folder-button'} />
|
|
|
|
|
+ <UploadFileModal actionName={'Upload File'} fatherFolderId={this.state.currentId} cdFolder={this.cdFolder.bind(this)} className={'upload-file-button'} />
|
|
|
</div>
|
|
</div>
|
|
|
<div className={'folder-page'}>
|
|
<div className={'folder-page'}>
|
|
|
<Space className={'disk-content'} size={this.state.size} wrap>
|
|
<Space className={'disk-content'} size={this.state.size} wrap>
|
|
|
- {
|
|
|
|
|
- this.state.data.length === 0 ?
|
|
|
|
|
- <div className={'no-files-div'}>
|
|
|
|
|
- <CopyTwoTone/>
|
|
|
|
|
- NO FILES
|
|
|
|
|
- </div>
|
|
|
|
|
- : this.state.haveFolder ? this.renderFolderList(this.state.data) : null
|
|
|
|
|
- }
|
|
|
|
|
- {
|
|
|
|
|
- this.state.data.length === 0 ?
|
|
|
|
|
- null
|
|
|
|
|
- : this.state.haveFile ? this.renderFileList(this.state.data) : null
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ {this.state.data.length === 0 ? (
|
|
|
|
|
+ <div className={'no-files-div'}>
|
|
|
|
|
+ <CopyTwoTone />
|
|
|
|
|
+ NO FILES
|
|
|
|
|
+ </div>
|
|
|
|
|
+ ) : this.state.haveFolder ? (
|
|
|
|
|
+ this.renderFolderList(this.state.data)
|
|
|
|
|
+ ) : null}
|
|
|
|
|
+ {this.state.data.length === 0 ? null : this.state.haveFile ? this.renderFileList(this.state.data) : null}
|
|
|
</Space>
|
|
</Space>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
- )
|
|
|
|
|
|
|
+ );
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
renderFolderList(dataList) {
|
|
renderFolderList(dataList) {
|
|
|
return dataList.map((ele, index) => {
|
|
return dataList.map((ele, index) => {
|
|
|
- return (
|
|
|
|
|
- ele.type === 'folder' ?
|
|
|
|
|
- <div key={ele.folder_id + ele.folder_name + 'folder'}>
|
|
|
|
|
- <Folder ele={ele}
|
|
|
|
|
- cdFolder={this.cdFolder.bind(this)}
|
|
|
|
|
- fatherFolderId={this.state.currentId}
|
|
|
|
|
- />
|
|
|
|
|
- </div> : null
|
|
|
|
|
- );
|
|
|
|
|
|
|
+ return ele.type === 'folder' ? (
|
|
|
|
|
+ <div key={ele.folder_id + ele.folder_name + 'folder'}>
|
|
|
|
|
+ <Folder ele={ele} cdFolder={this.cdFolder.bind(this)} fatherFolderId={this.state.currentId} />
|
|
|
|
|
+ </div>
|
|
|
|
|
+ ) : null;
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
renderFileList(dataList) {
|
|
renderFileList(dataList) {
|
|
|
return dataList.map((ele, index) => {
|
|
return dataList.map((ele, index) => {
|
|
|
- return (
|
|
|
|
|
- ele.type === 'folder' ? null :
|
|
|
|
|
- <div key={ele.file_id + ele.file_name + 'file'}>
|
|
|
|
|
- <File ele={ele}
|
|
|
|
|
- fatherFolderId={this.state.currentId}
|
|
|
|
|
- cdFolder={this.cdFolder.bind(this)}/>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ return ele.type === 'folder' ? null : (
|
|
|
|
|
+ <div key={ele.file_id + ele.file_name + 'file'}>
|
|
|
|
|
+ <File ele={ele} fatherFolderId={this.state.currentId} cdFolder={this.cdFolder.bind(this)} />
|
|
|
|
|
+ </div>
|
|
|
);
|
|
);
|
|
|
});
|
|
});
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-export default DiskPage;
|
|
|
|
|
|
|
+export default DiskPage;
|