From a5e46da55418827743f96cf65f2518f3463826e6 Mon Sep 17 00:00:00 2001 From: caicai8 <1149225589@qq.com> Date: Wed, 28 Aug 2019 10:26:24 +0800 Subject: [PATCH 1/4] =?UTF-8?q?=E9=A2=98=E5=BA=93=E5=85=AC=E7=94=A8tab?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/react/src/App.js | 13 +++++ .../user/usersInfo/banks/BanksIndex.js | 53 +++++++++++++++++++ .../user/usersInfo/banks/GtopicBanks.js | 43 +++++++++++++++ .../user/usersInfo/banks/GtopicBanksAnswer.js | 40 ++++++++++++++ .../modules/user/usersInfo/banks/banksMenu.js | 47 ++++++++++++++++ .../src/modules/user/usersInfo/usersInfo.css | 23 ++++++++ 6 files changed, 219 insertions(+) create mode 100644 public/react/src/modules/user/usersInfo/banks/BanksIndex.js create mode 100644 public/react/src/modules/user/usersInfo/banks/GtopicBanks.js create mode 100644 public/react/src/modules/user/usersInfo/banks/GtopicBanksAnswer.js create mode 100644 public/react/src/modules/user/usersInfo/banks/banksMenu.js diff --git a/public/react/src/App.js b/public/react/src/App.js index b40af3e0b..0db6c5b1a 100644 --- a/public/react/src/App.js +++ b/public/react/src/App.js @@ -222,6 +222,12 @@ const InfosIndex = Loadable({ loader: () => import('./modules/user/usersInfo/InfosIndex'), loading: Loading, }) +// 题库 +const BanksIndex = Loadable({ + loader: () => import('./modules/user/usersInfo/banks/BanksIndex'), + loading: Loading, +}) + // 教学案例 const MoopCases = Loadable({ @@ -365,6 +371,13 @@ class App extends Component { } }> + { + return () + } + }> + diff --git a/public/react/src/modules/user/usersInfo/banks/BanksIndex.js b/public/react/src/modules/user/usersInfo/banks/BanksIndex.js new file mode 100644 index 000000000..9f2bb6c89 --- /dev/null +++ b/public/react/src/modules/user/usersInfo/banks/BanksIndex.js @@ -0,0 +1,53 @@ +import React, { Component } from 'react'; + +import {BrowserRouter as Router,Route,Switch} from 'react-router-dom'; + +import { SnackbarHOC } from 'educoder'; +import { TPMIndexHOC } from '../../../tpm/TPMIndexHOC'; +import { CNotificationHOC } from '../../../courses/common/CNotificationHOC' + +import Loadable from 'react-loadable'; +import Loading from '../../../../Loading'; + +// 毕设选题 +const GtopicBanks = Loadable({ + loader: () => import('./GtopicBanks'), + loading: Loading, +}) +const GtopicBanksAnswer = Loadable({ + loader: () => import('./GtopicBanksAnswer'), + loading: Loading, +}) + +class BanksIndex extends Component{ + constructor(props){ + super(props); + } + render(){ + return( +
+ + + + { + return () + } + }> + + { + return () + } + }> + + + + +
+ ) + } +} +export default CNotificationHOC() ( SnackbarHOC() ( TPMIndexHOC(BanksIndex) )); \ No newline at end of file diff --git a/public/react/src/modules/user/usersInfo/banks/GtopicBanks.js b/public/react/src/modules/user/usersInfo/banks/GtopicBanks.js new file mode 100644 index 000000000..c203d668c --- /dev/null +++ b/public/react/src/modules/user/usersInfo/banks/GtopicBanks.js @@ -0,0 +1,43 @@ +import React, { Component } from 'react'; + +import { Breadcrumb } from 'antd'; + +import "../usersInfo.css" +import "../../../courses/css/members.css" +import "../../../courses/css/Courses.css" + +import BanksMenu from './banksMenu' + +class GtopicBanks extends Component{ + constructor(props){ + super(props); + } + render(){ + const menuArray=[ + {content:'内容详情',to:'/banks/gtopic/1'}, + {content:'参考答案',to:'/banks/gtopic/1/answer'} + ] + let {bankId}=this.props.match.params; + console.log(bankId) + return( +
+ + 题库 + 详情 + + + + + +
+ ) + } +} +export default GtopicBanks; \ No newline at end of file diff --git a/public/react/src/modules/user/usersInfo/banks/GtopicBanksAnswer.js b/public/react/src/modules/user/usersInfo/banks/GtopicBanksAnswer.js new file mode 100644 index 000000000..a07bdfd02 --- /dev/null +++ b/public/react/src/modules/user/usersInfo/banks/GtopicBanksAnswer.js @@ -0,0 +1,40 @@ +import React, { Component } from 'react'; + +import { Breadcrumb } from 'antd'; + +import "../usersInfo.css" +import "../../../courses/css/members.css" +import "../../../courses/css/Courses.css" + +import BanksMenu from './banksMenu' + +class GtopicBanksAnswer extends Component{ + constructor(props){ + super(props); + } + render(){ + const menuArray=[ + {content:'内容详情',to:'/banks/gtopic/1'}, + {content:'参考答案',to:'/banks/gtopic/1/answer'} + ] + return( +
+ + 题库 + 详情 + + + + + +
+ ) + } +} +export default GtopicBanksAnswer; \ No newline at end of file diff --git a/public/react/src/modules/user/usersInfo/banks/banksMenu.js b/public/react/src/modules/user/usersInfo/banks/banksMenu.js new file mode 100644 index 000000000..15cecf53b --- /dev/null +++ b/public/react/src/modules/user/usersInfo/banks/banksMenu.js @@ -0,0 +1,47 @@ +import React, { Component } from 'react'; + +import { Menu } from 'antd' +import { Link } from 'react-router-dom' +import { WordsBtn } from 'educoder' +import "../usersInfo.css" +import "../../../courses/css/Courses.css" +import "../../../courses/css/busyWork.css" + +class BanksMenu extends Component{ + constructor(props){ + super(props); + } + render(){ + let { menuArray , title , is_public , tab } = this.props; + return( +
+

+ {title} + { + is_public && 公开 + } +

+ +
+
+ + { + menuArray && menuArray.map((item,key)=>{ + return( + {item.content} + ) + }) + } + +
+ + 删除 + 编辑 + 发送 + +
+
+ ) + } +} +export default BanksMenu; \ No newline at end of file diff --git a/public/react/src/modules/user/usersInfo/usersInfo.css b/public/react/src/modules/user/usersInfo/usersInfo.css index ab5dd6136..12df5b404 100644 --- a/public/react/src/modules/user/usersInfo/usersInfo.css +++ b/public/react/src/modules/user/usersInfo/usersInfo.css @@ -226,4 +226,27 @@ content: ''; left:0px; background: #4CACFF; +} + +/* 题库相关 */ +.breadcrumb{ + height: 18px; + line-height: 18px; + margin:10px 0px 0px; +} +.breadcrumb .ant-breadcrumb-separator{ + margin:0px 2px!important; +} +.breadcrumb span.ant-breadcrumb-link{ + cursor: default; +} +.bank_is_public{ + background: #E4F2FE; + float: left; + height: 30px; + line-height: 30px; + padding:0px 20px; + color: #4CACFF; + font-size: 16px; + margin-left: 10px; } \ No newline at end of file From 31e29f572b9b9e0024346e8b280acb022406cf0a Mon Sep 17 00:00:00 2001 From: caicai8 <1149225589@qq.com> Date: Wed, 28 Aug 2019 14:04:28 +0800 Subject: [PATCH 2/4] =?UTF-8?q?=E9=A2=98=E5=BA=93-=E5=85=AC=E7=94=A8?= =?UTF-8?q?=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../user/usersInfo/banks/BanksIndex.js | 50 +++++++++--- .../user/usersInfo/banks/BanksTabIndex.js | 78 +++++++++++++++++++ .../user/usersInfo/banks/GtopicBanks.js | 45 +++++------ .../user/usersInfo/banks/GtopicBanksAnswer.js | 45 +++++------ .../modules/user/usersInfo/banks/banksMenu.js | 31 ++++---- 5 files changed, 174 insertions(+), 75 deletions(-) create mode 100644 public/react/src/modules/user/usersInfo/banks/BanksTabIndex.js diff --git a/public/react/src/modules/user/usersInfo/banks/BanksIndex.js b/public/react/src/modules/user/usersInfo/banks/BanksIndex.js index 9f2bb6c89..855bcefbe 100644 --- a/public/react/src/modules/user/usersInfo/banks/BanksIndex.js +++ b/public/react/src/modules/user/usersInfo/banks/BanksIndex.js @@ -2,6 +2,7 @@ import React, { Component } from 'react'; import {BrowserRouter as Router,Route,Switch} from 'react-router-dom'; +import { Breadcrumb } from 'antd'; import { SnackbarHOC } from 'educoder'; import { TPMIndexHOC } from '../../../tpm/TPMIndexHOC'; import { CNotificationHOC } from '../../../courses/common/CNotificationHOC' @@ -19,30 +20,61 @@ const GtopicBanksAnswer = Loadable({ loading: Loading, }) +const BanksTabIndex = Loadable({ + loader: () => import('./BanksTabIndex'), + loading: Loading, +}) + class BanksIndex extends Component{ constructor(props){ super(props); + this.state={ + crumbData:undefined + } } + + initPublic = (crumbData) =>{ + this.setState({ + crumbData + }) + } + render(){ + let { crumbData }=this.state + const common = { + initPublic:this.initPublic + } return(
+ { + crumbData && + + 题库 + { + crumbData.crumbArray && crumbData.crumbArray.map((item,key)=>{ + return( + {item.content} + ) + }) + } + + } + +

+ {crumbData && crumbData.title} + { + crumbData && crumbData.is_public && 公开 + } +

- { - return () - } - }> - { - return () + return () } }> - diff --git a/public/react/src/modules/user/usersInfo/banks/BanksTabIndex.js b/public/react/src/modules/user/usersInfo/banks/BanksTabIndex.js new file mode 100644 index 000000000..838b523a8 --- /dev/null +++ b/public/react/src/modules/user/usersInfo/banks/BanksTabIndex.js @@ -0,0 +1,78 @@ +import React, { Component } from 'react'; + +import {BrowserRouter as Router,Route,Switch} from 'react-router-dom'; + +import { SnackbarHOC } from 'educoder'; +import { TPMIndexHOC } from '../../../tpm/TPMIndexHOC'; +import { CNotificationHOC } from '../../../courses/common/CNotificationHOC' + +import Loadable from 'react-loadable'; +import Loading from '../../../../Loading'; + +import BanksMenu from './banksMenu' +// 毕设选题 +const GtopicBanks = Loadable({ + loader: () => import('./GtopicBanks'), + loading: Loading, +}) +const GtopicBanksAnswer = Loadable({ + loader: () => import('./GtopicBanksAnswer'), + loading: Loading, +}) + +class BanksTabIndex extends Component{ + constructor(props){ + super(props); + this.state={ + banksMenu:undefined + } + } + + initPublic = (crumbData,menuData) =>{ + this.setState({ + banksMenu:menuData + }) + this.props.initPublic(crumbData); + } + + render(){ + let{ + banksMenu + }=this.state + + const common={ + initPublic:this.initPublic, + } + return( + + { + banksMenu && + + } + + + { + return () + } + }> + + { + return () + } + }> + + + + ) + } +} +export default (BanksTabIndex); \ No newline at end of file diff --git a/public/react/src/modules/user/usersInfo/banks/GtopicBanks.js b/public/react/src/modules/user/usersInfo/banks/GtopicBanks.js index c203d668c..d26c93592 100644 --- a/public/react/src/modules/user/usersInfo/banks/GtopicBanks.js +++ b/public/react/src/modules/user/usersInfo/banks/GtopicBanks.js @@ -1,41 +1,38 @@ import React, { Component } from 'react'; -import { Breadcrumb } from 'antd'; - import "../usersInfo.css" import "../../../courses/css/members.css" import "../../../courses/css/Courses.css" -import BanksMenu from './banksMenu' class GtopicBanks extends Component{ constructor(props){ super(props); } + componentDidMount = () =>{ + let bankId = this.props.match.params.bankId + const crumbData={ + title:'MySQL数据库编程开发实训(基础篇)111', + is_public:true, + crumbArray:[ + {content:'详情'}, + ] + } + const menuData={ + tab:'0', + menuArray:[ + {to:'/banks/gtopic/1',content:'内容详情'}, + {to:'/banks/gtopic/1/answer',content:'参考答案'}, + ], + category:'topic', + id:bankId + } + this.props.initPublic(crumbData,menuData); + } render(){ - const menuArray=[ - {content:'内容详情',to:'/banks/gtopic/1'}, - {content:'参考答案',to:'/banks/gtopic/1/answer'} - ] - let {bankId}=this.props.match.params; - console.log(bankId) return(
- - 题库 - 详情 - - - - - +
) } diff --git a/public/react/src/modules/user/usersInfo/banks/GtopicBanksAnswer.js b/public/react/src/modules/user/usersInfo/banks/GtopicBanksAnswer.js index a07bdfd02..b265ce647 100644 --- a/public/react/src/modules/user/usersInfo/banks/GtopicBanksAnswer.js +++ b/public/react/src/modules/user/usersInfo/banks/GtopicBanksAnswer.js @@ -1,38 +1,35 @@ import React, { Component } from 'react'; -import { Breadcrumb } from 'antd'; - import "../usersInfo.css" -import "../../../courses/css/members.css" -import "../../../courses/css/Courses.css" - -import BanksMenu from './banksMenu' class GtopicBanksAnswer extends Component{ constructor(props){ super(props); } + componentDidMount = () =>{ + let bankId = this.props.match.params.bankId + const crumbData={ + title:'MySQL数据库编程开发实训(基础篇)111', + is_public:true, + crumbArray:[ + {content:'详情'}, + ] + } + const menuData={ + tab:'1', + menuArray:[ + {to:'/banks/gtopic/1',content:'内容详情'}, + {to:'/banks/gtopic/1/answer',content:'参考答案'}, + ], + category:'topic', + id:bankId + } + this.props.initPublic(crumbData,menuData); + } render(){ - const menuArray=[ - {content:'内容详情',to:'/banks/gtopic/1'}, - {content:'参考答案',to:'/banks/gtopic/1/answer'} - ] return(
- - 题库 - 详情 - - - - - + answer
) } diff --git a/public/react/src/modules/user/usersInfo/banks/banksMenu.js b/public/react/src/modules/user/usersInfo/banks/banksMenu.js index 15cecf53b..bcd79406b 100644 --- a/public/react/src/modules/user/usersInfo/banks/banksMenu.js +++ b/public/react/src/modules/user/usersInfo/banks/banksMenu.js @@ -12,21 +12,15 @@ class BanksMenu extends Component{ super(props); } render(){ - let { menuArray , title , is_public , tab } = this.props; + let { banksMenu } = this.props; return( -
-

- {title} - { - is_public && 公开 - } -

- -
+
+ { + banksMenu &&
- + { - menuArray && menuArray.map((item,key)=>{ + banksMenu.menuArray && banksMenu.menuArray.map((item,key)=>{ return( {item.content} ) @@ -34,12 +28,13 @@ class BanksMenu extends Component{ }
- - 删除 - 编辑 - 发送 - -
+ } + + + 删除 + 编辑 + 发送 +
) } From 72cd7ca2b3082731177275a91c7e9aefae2c81c9 Mon Sep 17 00:00:00 2001 From: caicai8 <1149225589@qq.com> Date: Wed, 28 Aug 2019 14:21:26 +0800 Subject: [PATCH 3/4] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../user/usersInfo/banks/BanksTabIndex.js | 6 +-- .../user/usersInfo/banks/GtopicBanks.js | 10 ++--- .../user/usersInfo/banks/GtopicBanksAnswer.js | 37 ------------------- 3 files changed, 6 insertions(+), 47 deletions(-) delete mode 100644 public/react/src/modules/user/usersInfo/banks/GtopicBanksAnswer.js diff --git a/public/react/src/modules/user/usersInfo/banks/BanksTabIndex.js b/public/react/src/modules/user/usersInfo/banks/BanksTabIndex.js index 838b523a8..90f383162 100644 --- a/public/react/src/modules/user/usersInfo/banks/BanksTabIndex.js +++ b/public/react/src/modules/user/usersInfo/banks/BanksTabIndex.js @@ -2,9 +2,9 @@ import React, { Component } from 'react'; import {BrowserRouter as Router,Route,Switch} from 'react-router-dom'; -import { SnackbarHOC } from 'educoder'; -import { TPMIndexHOC } from '../../../tpm/TPMIndexHOC'; -import { CNotificationHOC } from '../../../courses/common/CNotificationHOC' +import "../usersInfo.css" +import "../../../courses/css/members.css" +import "../../../courses/css/Courses.css" import Loadable from 'react-loadable'; import Loading from '../../../../Loading'; diff --git a/public/react/src/modules/user/usersInfo/banks/GtopicBanks.js b/public/react/src/modules/user/usersInfo/banks/GtopicBanks.js index d26c93592..0c191822e 100644 --- a/public/react/src/modules/user/usersInfo/banks/GtopicBanks.js +++ b/public/react/src/modules/user/usersInfo/banks/GtopicBanks.js @@ -1,9 +1,5 @@ import React, { Component } from 'react'; -import "../usersInfo.css" -import "../../../courses/css/members.css" -import "../../../courses/css/Courses.css" - class GtopicBanks extends Component{ constructor(props){ @@ -19,12 +15,12 @@ class GtopicBanks extends Component{ ] } const menuData={ - tab:'0', - menuArray:[ + tab:'0',//tab选中的index + menuArray:[//tab以及tab路由 {to:'/banks/gtopic/1',content:'内容详情'}, {to:'/banks/gtopic/1/answer',content:'参考答案'}, ], - category:'topic', + category:'topic',//毕设选题 id:bankId } this.props.initPublic(crumbData,menuData); diff --git a/public/react/src/modules/user/usersInfo/banks/GtopicBanksAnswer.js b/public/react/src/modules/user/usersInfo/banks/GtopicBanksAnswer.js deleted file mode 100644 index b265ce647..000000000 --- a/public/react/src/modules/user/usersInfo/banks/GtopicBanksAnswer.js +++ /dev/null @@ -1,37 +0,0 @@ -import React, { Component } from 'react'; - -import "../usersInfo.css" - -class GtopicBanksAnswer extends Component{ - constructor(props){ - super(props); - } - componentDidMount = () =>{ - let bankId = this.props.match.params.bankId - const crumbData={ - title:'MySQL数据库编程开发实训(基础篇)111', - is_public:true, - crumbArray:[ - {content:'详情'}, - ] - } - const menuData={ - tab:'1', - menuArray:[ - {to:'/banks/gtopic/1',content:'内容详情'}, - {to:'/banks/gtopic/1/answer',content:'参考答案'}, - ], - category:'topic', - id:bankId - } - this.props.initPublic(crumbData,menuData); - } - render(){ - return( -
- answer -
- ) - } -} -export default GtopicBanksAnswer; \ No newline at end of file From d84fd8b0aae2428bc39074ddcb7a0f1d0b073ed2 Mon Sep 17 00:00:00 2001 From: caicai8 <1149225589@qq.com> Date: Wed, 28 Aug 2019 14:23:11 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E5=8E=BB=E9=99=A4=E5=A4=9A=E4=BD=99js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/modules/user/usersInfo/banks/BanksIndex.js | 4 ---- .../src/modules/user/usersInfo/banks/BanksTabIndex.js | 10 ---------- .../src/modules/user/usersInfo/banks/GtopicBanks.js | 2 +- 3 files changed, 1 insertion(+), 15 deletions(-) diff --git a/public/react/src/modules/user/usersInfo/banks/BanksIndex.js b/public/react/src/modules/user/usersInfo/banks/BanksIndex.js index 855bcefbe..16e99438e 100644 --- a/public/react/src/modules/user/usersInfo/banks/BanksIndex.js +++ b/public/react/src/modules/user/usersInfo/banks/BanksIndex.js @@ -15,10 +15,6 @@ const GtopicBanks = Loadable({ loader: () => import('./GtopicBanks'), loading: Loading, }) -const GtopicBanksAnswer = Loadable({ - loader: () => import('./GtopicBanksAnswer'), - loading: Loading, -}) const BanksTabIndex = Loadable({ loader: () => import('./BanksTabIndex'), diff --git a/public/react/src/modules/user/usersInfo/banks/BanksTabIndex.js b/public/react/src/modules/user/usersInfo/banks/BanksTabIndex.js index 90f383162..7ce6c100f 100644 --- a/public/react/src/modules/user/usersInfo/banks/BanksTabIndex.js +++ b/public/react/src/modules/user/usersInfo/banks/BanksTabIndex.js @@ -15,10 +15,6 @@ const GtopicBanks = Loadable({ loader: () => import('./GtopicBanks'), loading: Loading, }) -const GtopicBanksAnswer = Loadable({ - loader: () => import('./GtopicBanksAnswer'), - loading: Loading, -}) class BanksTabIndex extends Component{ constructor(props){ @@ -56,12 +52,6 @@ class BanksTabIndex extends Component{ } - { - return () - } - }>