From 8ef68bfd2de2c4c4a337b443ae56e26594ad1e4f Mon Sep 17 00:00:00 2001 From: caicai8 <1149225589@qq.com> Date: Tue, 14 Jan 2020 16:10:08 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=B3=E6=B3=A8=E3=80=81=E7=82=B9=E8=B5=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/react/src/forge/Main/Detail.js | 85 +++++++++++++++++++++++--- public/react/src/forge/Main/list.css | 26 ++++++++ public/react/src/forge/New/Index.js | 4 +- public/react/src/forge/Order/Nav.js | 14 +++++ public/react/src/forge/Order/New.js | 16 +++++ public/react/src/forge/Order/order.css | 2 +- public/react/src/forge/Order/order.js | 12 +--- 7 files changed, 140 insertions(+), 19 deletions(-) create mode 100644 public/react/src/forge/Order/Nav.js create mode 100644 public/react/src/forge/Order/New.js diff --git a/public/react/src/forge/Main/Detail.js b/public/react/src/forge/Main/Detail.js index 1b31010f7..700e10972 100644 --- a/public/react/src/forge/Main/Detail.js +++ b/public/react/src/forge/Main/Detail.js @@ -12,6 +12,10 @@ const FileNew = Loadable({ loader: () => import('../Newfile/Index'), loading: Loading, }) +const OrderNew = Loadable({ + loader: () => import('../Order/New'), + loading: Loading, +}) const OrderIndex = Loadable({ loader: () => import('../Order/order'), loading: Loading, @@ -30,7 +34,10 @@ class Detail extends Component{ projectDetail:undefined, isManager:false, isReporter:false, - isDeveloper:false + isDeveloper:false, + watchers_count:undefined , + praises_count:undefined , + forked_count:undefined } } @@ -48,16 +55,60 @@ class Detail extends Component{ projectDetail:result.data, isManager:result.data.permission && result.data.permission === "Manager", isReporter:result.data.permission && result.data.permission === "Reporter", - isDeveloper:result.data.permission && result.data.permission === "Developer" + isDeveloper:result.data.permission && result.data.permission === "Developer", + + watchers_count:result.data.watchers_count, + praises_count:result.data.praises_count, + forked_count:result.data.forked_count, }) } }).catch((error)=>{}) } + // 关注和取消关注 + focusFunc =(flag)=>{ + const { projectsId } = this.props.match.params; + if(flag){ + const url = `/projects/${projectsId}/watchers/follow.json`; + axios.post(url).then(result=>{ + if(result){ + this.props.showNotification('关注成功'); + } + }) + }else{ + const url = `/projects/${projectsId}/watchers/unfollow.json`; + axios.delete(url).then(result=>{ + if(result){ + this.props.showNotification('取消关注成功'); + } + }) + } + } + + // 点赞和取消点赞 + pariseFunc=(flag)=>{ + const { projectsId } = this.props.match.params; + if(flag){ + const url = `/projects/${projectsId}/praise_tread/like.json`; + axios.post(url).then(result=>{ + if(result){ + this.props.showNotification('点赞成功'); + } + }) + }else{ + const url = `/projects/${projectsId}/praise_tread/unlike.json`; + axios.delete(url).then(result=>{ + if(result){ + this.props.showNotification('取消点赞成功'); + } + }) + } + } + render(){ const { projectsId } = this.props.match.params; - const { projectDetail } = this.state; + const { projectDetail , watchers_count , praises_count , forked_count } = this.state; const url = this.props.history.location.pathname; return(
{projectDetail && projectDetail.author && projectDetail.author.name} / { projectDetail && projectDetail.identifier }
- - {projectDetail && projectDetail.watchers_count} - {projectDetail && projectDetail.praises_count} - {projectDetail && projectDetail.forked_count} + + + this.focusFunc(true)}>关注 + {watchers_count} + + + this.pariseFunc(true)}>点赞 + {praises_count} + + + Fork + {forked_count} +只有企业所有人或拥有权限的企业成员才能看到
+ 标签 + 里程 +
+ ) + } +} +export default Nav; \ No newline at end of file diff --git a/public/react/src/forge/Order/New.js b/public/react/src/forge/Order/New.js new file mode 100644 index 000000000..1eb00657f --- /dev/null +++ b/public/react/src/forge/Order/New.js @@ -0,0 +1,16 @@ +import React , { Component } from "react"; + +import Nav from './Nav'; + +class New extends Component{ + render(){ + return( +- 标签 - 里程 -
+ 创建工单