From 5d6b95ab8ff5fe7e8a89dff550a181ff8c391f3d Mon Sep 17 00:00:00 2001 From: caishi <1149225589@qq.com> Date: Tue, 6 Apr 2021 11:36:38 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B5=84=E6=BA=90=E5=BA=93=E9=83=A8=E5=88=86?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E8=B0=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/forge/Source/Index.jsx | 155 ++++++++++++++++++++---------- src/forge/Source/Index.scss | 1 + src/forge/Source/UploadSource.jsx | 77 +++++++++------ 3 files changed, 154 insertions(+), 79 deletions(-) diff --git a/src/forge/Source/Index.jsx b/src/forge/Source/Index.jsx index 777c9103a..d32e447e6 100644 --- a/src/forge/Source/Index.jsx +++ b/src/forge/Source/Index.jsx @@ -1,10 +1,11 @@ import React, { useEffect, useState } from 'react'; import './Index.scss'; import { Blueback , FlexAJ } from '../Component/layout'; -import { Dropdown, Input , Menu , Pagination } from 'antd'; +import { Dropdown, Input , Menu , Pagination, Spin , Popconfirm } from 'antd'; import { Link } from 'react-router-dom'; import UploadSource from './UploadSource'; import { getImageUrl } from 'educoder'; +import Nodata from '../Nodata'; import axios from 'axios'; const { Search } = Input; @@ -21,13 +22,20 @@ function Index(props){ const [ total , setTotal ] = useState(0); const [ search , setSearch ] = useState(undefined); const [ data , setData ] = useState(undefined); + const [ isSpin , setIsSpin ] = useState(true); + const [ error , setError ] = useState(false); + const [ attachments , setAttachments ] = useState(undefined); + + const [ id , setId ] = useState(undefined); const [ visible , setVisible ] = useState(false); const repo_id = props.projectDetail && props.projectDetail.repo_id; const owner = props.match.params.owner; + const current_user = props.current_user; useEffect(()=>{ if(owner && repo_id){ + setIsSpin(true); getData(); } },[repo_id,owner,search,sortValue,page]) @@ -46,8 +54,10 @@ function Index(props){ if(result && result.data){ setData(result.data.data.rows); setTotal(result.data.data.total); + setIsSpin(false); + setError(false); } - }).catch(error=>{}) + }).catch(error=>{setIsSpin(false);setError(true);}) } // 搜索 @@ -73,24 +83,50 @@ function Index(props){ ) - const listmenu=( -
- ) + function listmenu(id,attachments){ + return( + + ) + } + + // 删除资源方法 + function deleteSourceFunc(id){ + const url = https + `/api/project/achievement/${id}`; + axios.delete(url).then(result=>{ + if(result && result.data && result.data.code === "1"){ + props.showNotification("资源删除成功"); + setIsSpin(true); + getData(); + } + }) + } + // 上传资源成功 function onOk(){ + setVisible(false); getData(); } - // 删除标签 - function removeTagFunc(){ - + // 确认删除标签 + function removeTagFunc(id,tag){ + const url = https + `/api/project/achievement/deleteTag`; + axios.delete(url,{ + params:{id,tagName:tag} + }).then(result=>{ + if(result && result.data){ + props.showNotification("标签删除成功"); + setIsSpin(true); + getData(); + } + }).then(error=>{}) } + return(- 上传时间:{item.uploadTime} - 文件大小:{item.fileSize} - 下载:{item.download} -
-{item.remark}
- { item.tags && item.tags.length>0 && -+ 上传时间:{item.uploadTime} + 文件大小:{item.fileSize} + 下载:{item.download} +
+{item.remark}
+ { item.tags && item.tags.length>0 && +