diff --git a/app/controllers/comments_controller.rb b/app/controllers/comments_controller.rb index 3b0ac86a7..c5d3082ba 100644 --- a/app/controllers/comments_controller.rb +++ b/app/controllers/comments_controller.rb @@ -23,7 +23,6 @@ class CommentsController < ApplicationController @discuss.hidden = false @discuss.user_id = current_user.id @discuss.root_id = params[:comments][:parent_id] - @discusses.parent_container_id = @discuss.save! rescue Exception => e uid_logger_error("reply discuss failed : #{e.message}") diff --git a/public/react/src/common/components/comment/CommentIcon.js b/public/react/src/common/components/comment/CommentIcon.js index 97a57da5e..9e9650b47 100644 --- a/public/react/src/common/components/comment/CommentIcon.js +++ b/public/react/src/common/components/comment/CommentIcon.js @@ -4,11 +4,11 @@ * @Github: * @Date: 2019-12-18 10:49:46 * @LastEditors : tangjiang - * @LastEditTime : 2019-12-24 18:04:52 + * @LastEditTime : 2019-12-25 10:03:21 */ import './index.scss'; import React from 'react'; -import { Icon } from 'antd'; +// import { Icon } from 'antd'; // import MyIcon from '../MyIcon'; function CommentIcon ({ type, // 图标类型 @@ -25,13 +25,15 @@ function CommentIcon ({ } const _className = [undefined, null, ''].includes(count) ? 'comment_count_none' : 'comment_count'; + const _classIcon = `iconfont icon-${type} icon_font_size_14 comment_icon `; return ( - + {/* */} + { count } ) diff --git a/public/react/src/common/components/comment/CommentItem.js b/public/react/src/common/components/comment/CommentItem.js index e3a229c50..7360ddfd6 100644 --- a/public/react/src/common/components/comment/CommentItem.js +++ b/public/react/src/common/components/comment/CommentItem.js @@ -4,7 +4,7 @@ * @Github: * @Date: 2019-12-17 17:35:17 * @LastEditors : tangjiang - * @LastEditTime : 2019-12-24 18:05:18 + * @LastEditTime : 2019-12-25 14:53:41 */ import './index.scss'; import React, { useState } from 'react'; @@ -28,7 +28,7 @@ function CommentItem ({ // 加载更多评论内容 // const [showMore, setShowMore] = useState(false); // 显示子列数 - const [showItemCount, setShowItemCount] = useState(1); + const [showItemCount, setShowItemCount] = useState(5); // 箭头方向 const [arrow, setArrow] = useState(false); @@ -74,7 +74,7 @@ function CommentItem ({ {author.name || ''} {time || ''} - deleteComment(id)}/> + deleteComment(id)}> ); @@ -95,7 +95,7 @@ function CommentItem ({ const commentAppend = (children = []) => { const len = children.length; - const _moreClass = len > 1 ? 'comment_item_loadmore show' : 'comment_item_loadmore' + const _moreClass = len > showItemCount ? 'comment_item_loadmore show' : 'comment_item_loadmore' const lastTxt = len - showItemCount; const renderChild = (children) => { return children.map((child, i) => { @@ -112,7 +112,7 @@ function CommentItem ({ key={`child_${i}`} className={showOrHide} > -
+
{commentAvatar(author)}
{commentInfo(id, author, time, can_delete)} @@ -179,13 +179,14 @@ function CommentItem ({ handleShowOrHide(id, !hidden ? 1 : 0)} /> {/* 回复 */} {/* 点赞 */} @@ -193,7 +194,7 @@ function CommentItem ({ iconColor={ user_praise ? '#5091FF' : '' } className='comment-icon-margin' theme={user_praise ? 'filled' : ''} - type="like" + type="dianzan" count={praise_count} iconClick={() => handleClickLick(id)} /> diff --git a/public/react/src/common/components/comment/index.scss b/public/react/src/common/components/comment/index.scss index 2e1dc4880..067fc7e9a 100644 --- a/public/react/src/common/components/comment/index.scss +++ b/public/react/src/common/components/comment/index.scss @@ -27,6 +27,13 @@ $ml: 20px; padding: 20px 0; box-sizing: border-box; border-bottom: 1px solid $bdColor; + + .comment_child_item_area:hover{ + .item-close{ + display: inline-block; + } + } + .flex-image{ width: 48px; height: 48px; @@ -46,7 +53,7 @@ $ml: 20px; margin-left: $ml; } .item-close{ - display: inline-block; + display: none; cursor: pointer; float: right; } @@ -54,6 +61,7 @@ $ml: 20px; .item-close.hide{ display: none; } + } .item-ctx{ line-height: $lh22; @@ -140,6 +148,10 @@ $ml: 20px; } } } + + .icon_font_size_14{ + font-size: 14px !important; + } } .comment_form_area, diff --git a/public/react/src/modules/developer/components/errorResult/index.js b/public/react/src/modules/developer/components/errorResult/index.js index fa568edca..f92ea1773 100644 --- a/public/react/src/modules/developer/components/errorResult/index.js +++ b/public/react/src/modules/developer/components/errorResult/index.js @@ -3,8 +3,8 @@ * @Author: tangjiang * @Github: * @Date: 2019-12-03 15:20:55 - * @LastEditors: tangjiang - * @LastEditTime: 2019-12-03 20:36:24 + * @LastEditors : tangjiang + * @LastEditTime : 2019-12-25 11:41:42 */ import './index.scss'; import React from 'react'; @@ -46,6 +46,7 @@ function ErrorResult (props) { case 3: // 创建pod失败 result = (
+

系统繁忙,请稍后重试

); break; diff --git a/public/react/src/modules/developer/components/execResult/index.js b/public/react/src/modules/developer/components/execResult/index.js index 6f9341b9a..fe90e904b 100644 --- a/public/react/src/modules/developer/components/execResult/index.js +++ b/public/react/src/modules/developer/components/execResult/index.js @@ -3,8 +3,8 @@ * @Author: tangjiang * @Github: * @Date: 2019-11-28 08:44:54 - * @LastEditors: tangjiang - * @LastEditTime: 2019-12-19 10:44:16 + * @LastEditors : tangjiang + * @LastEditTime : 2019-12-25 11:42:10 */ import './index.scss'; import React, { useState, useEffect } from 'react'; @@ -82,7 +82,7 @@ function ExecResult (props) { } else if (state === 4){ return (

- {error_msg} + 系统繁忙,请稍后重试

) } else if (state === -1) { diff --git a/public/react/src/modules/developer/components/textNumber/index.js b/public/react/src/modules/developer/components/textNumber/index.js index 77a58c3e8..a8f743d16 100644 --- a/public/react/src/modules/developer/components/textNumber/index.js +++ b/public/react/src/modules/developer/components/textNumber/index.js @@ -4,11 +4,11 @@ * @Github: * @Date: 2019-11-27 10:58:37 * @LastEditors : tangjiang - * @LastEditTime : 2019-12-24 16:48:56 + * @LastEditTime : 2019-12-25 10:02:03 */ import './index.scss'; import React from 'react'; -import { Icon } from 'antd'; +// import { Icon } from 'antd'; const numberal = require('numeral'); const TextNumber = (props) => { @@ -47,14 +47,18 @@ const TextNumber = (props) => { const renderCtx = (className, theme) => { if (type === 'icon') { // 图标加文字时 const _className = `text_number_area text_icon_numb flex_${position} ${className}`; + const _classIcon = `iconfont icon-${text} numb_icon`; return (
- + > */} + + {renderNumb()}
) diff --git a/public/react/src/modules/developer/index.scss b/public/react/src/modules/developer/index.scss index ad6cc09a3..680bbe228 100644 --- a/public/react/src/modules/developer/index.scss +++ b/public/react/src/modules/developer/index.scss @@ -77,7 +77,12 @@ } } .oj_item_name{ + flex-wrap: wrap; color: #459be5; cursor: pointer; + max-width: 510px; + overflow: hidden; + text-overflow:ellipsis; + white-space: nowrap; } } diff --git a/public/react/src/modules/developer/split_pane_resizer.scss b/public/react/src/modules/developer/split_pane_resizer.scss index 1e240545c..cd8ce22ca 100644 --- a/public/react/src/modules/developer/split_pane_resizer.scss +++ b/public/react/src/modules/developer/split_pane_resizer.scss @@ -117,7 +117,7 @@ } .comp_ctx{ - height: calc(100vh - 178px); + // height: calc(100vh - 178px); overflow-y: hidden; } diff --git a/public/react/src/modules/developer/studentStudy/leftpane/comment/index.js b/public/react/src/modules/developer/studentStudy/leftpane/comment/index.js index 2ec70227d..9b4287e76 100644 --- a/public/react/src/modules/developer/studentStudy/leftpane/comment/index.js +++ b/public/react/src/modules/developer/studentStudy/leftpane/comment/index.js @@ -4,17 +4,21 @@ * @Github: * @Date: 2019-11-27 09:49:35 * @LastEditors : tangjiang - * @LastEditTime : 2019-12-24 17:58:26 + * @LastEditTime : 2019-12-25 10:55:44 */ import './index.scss'; -import React, { useEffect } from 'react'; +import React, { useEffect, useState } from 'react'; import Comment from '../../../../../common/components/comment'; import { connect } from 'react-redux'; import actions from '../../../../../redux/actions'; - +import { Pagination } from 'antd'; const CommentTask = (props) => { + // 当前页 + const [current, setCurrent] = useState(1); + const { + pages, isAdmin, identifier, commentLists, @@ -23,7 +27,8 @@ const CommentTask = (props) => { deleteComment, getCommentLists, showOrHideComment, - replayChildComment + replayChildComment, + changePagination } = props; useEffect(() => { @@ -35,7 +40,6 @@ const CommentTask = (props) => { // 添加评论 const handleAddComment = (ctx) => { - console.log('添加的评论内容: ', ctx); addComment(identifier, { comments: { content: ctx @@ -53,7 +57,7 @@ const CommentTask = (props) => { } // 删除评论 const handleSubmitDeleteComment = (id) => { - console.log('删除评论:', identifier, id); + // console.log('删除评论:', identifier, id); deleteComment(identifier, id); } @@ -72,6 +76,20 @@ const CommentTask = (props) => { }); } + // 点击分页 + const handlePageChange = (page, pageSize) => { + setCurrent(page); + changePagination(page); + // setTimeout(() => { + // 调用查询接口 + getCommentLists(identifier); + // }, 300); + } + + const _style = { + display: pages.total > pages.limit ? 'block' : 'none' + } + return (
{ showOrHideComment={handleShowOrHideComment} submitDeleteComment={handleSubmitDeleteComment} /> + +
+ +
) } const mapStateToProps = (state) => { const { - commentLists // 评论列表 + commentLists, // 评论列表 + pages } = state.commentReducer; const { comment_identifier @@ -98,7 +127,8 @@ const mapStateToProps = (state) => { return { commentLists, isAdmin: userInfo.admin, - identifier: comment_identifier + identifier: comment_identifier, + pages } } @@ -110,6 +140,7 @@ const mapDispatchToProps = (dispatch) => ({ deleteComment: (identifier, id) => dispatch(actions.deleteComment(identifier, id)), likeComment: (identifier, id, params) => dispatch(actions.likeComment(identifier, id, params)), showOrHideComment: (identifier, id, params) => dispatch(actions.showOrHideComment(identifier, id, params)), + changePagination: (page) => dispatch(actions.changePagination(page)) }) export default connect( diff --git a/public/react/src/modules/developer/studentStudy/leftpane/comment/index.scss b/public/react/src/modules/developer/studentStudy/leftpane/comment/index.scss index ba9c132d9..b09eb849b 100644 --- a/public/react/src/modules/developer/studentStudy/leftpane/comment/index.scss +++ b/public/react/src/modules/developer/studentStudy/leftpane/comment/index.scss @@ -1,8 +1,16 @@ .task_comment_task{ + display: flex; + flex-direction: column; + justify-content: space-between; background: #fff; padding: 20px 30px 0; height: calc(100vh - 177px); box-sizing: border-box; overflow-y: auto; border-bottom: 1px solid rgba(244,244,244,1); + + .task_comment_page{ + padding: 10px 0; + text-align: center; + } } \ No newline at end of file diff --git a/public/react/src/modules/developer/studentStudy/leftpane/commitRecord/index.js b/public/react/src/modules/developer/studentStudy/leftpane/commitRecord/index.js index da51d524d..34bc6e1c3 100644 --- a/public/react/src/modules/developer/studentStudy/leftpane/commitRecord/index.js +++ b/public/react/src/modules/developer/studentStudy/leftpane/commitRecord/index.js @@ -3,12 +3,12 @@ * @Author: tangjiang * @Github: * @Date: 2019-11-27 09:49:33 - * @LastEditors: tangjiang - * @LastEditTime: 2019-12-20 19:35:01 + * @LastEditors : tangjiang + * @LastEditTime : 2019-12-25 14:45:20 */ import './index.scss'; import React, { useState, useEffect } from 'react'; -import { Table, Icon, message } from 'antd'; +import { Table, Icon, message, Pagination } from 'antd'; import { connect } from 'react-redux'; import { Link } from 'react-router-dom'; import actions from '../../../../../redux/actions'; @@ -20,6 +20,7 @@ import ErrorResult from '../../../components/errorResult'; const numberal = require('numeral'); const {reviewResult} = CONST; +// 表格列 const columns = [ { title: '提交时间', @@ -60,29 +61,30 @@ const columns = [ } ] -const paginationConfig = { - total: 1, // 总条数 - pageSize: 10, // 每页显示条数 - current: 1, // 当前页数 - showQuickJumper: true -} +// const paginationConfig = { +// total: 1, // 总条数 +// pageSize: 5, // 每页显示条数 +// current: 1, // 当前页数 +// showQuickJumper: true +// } const CommitRecord = (props) => { - const { identifier, + pages, commitRecord, // excuteState, language, operateType, commitRecordDetail, - getUserCommitRecord + getUserCommitRecord, + changeRecordPagination } = props; - const [pagination, setPagination] = useState(paginationConfig); - const [tableData, setTableData] = useState([]); - + const [current, setCurrent] = useState(1); + // const [pagination, setPagination] = useState(paginationConfig); + // const [tableData, setTableData] = useState([]); + // 复制面板 let clipboard; - // const [recordDetail, setRecordDetail] = useState({}); const [renderCtx, setRenderCtx] = useState(() => { return function () { @@ -140,12 +142,12 @@ const CommitRecord = (props) => { getUserCommitRecord(identifier); }, []); // 提交记录变化时,同步到表单数据 - useEffect(() => { - const len = commitRecord.length; - const pageConfig = Object.assign({}, paginationConfig, {total: len}); - setTableData(commitRecord); - setPagination(pageConfig); - }, [commitRecord]); + // useEffect(() => { + // // const len = commitRecord.length; + // // const pageConfig = Object.assign({}, paginationConfig, {total: len}); + // setTableData(commitRecord); + // // setPagination(pageConfig); + // }, [commitRecord]); // 提交详情变化时,显示当前提交信息 useEffect(() => { // setRecordDetail(commitRecordDetail); @@ -179,20 +181,46 @@ const CommitRecord = (props) => { // }); // } // - const handleTableChange = (pagination) => { - setPagination(Object.assign({}, pagination)); + // const handleTableChange = (pagination) => { + // setPagination(Object.assign({}, pagination)); + // } + + const handlePaginationChange = (page) => { + setCurrent(page); + changeRecordPagination(page); + // 调用查询接口 + getUserCommitRecord(identifier); + // setPagination(Object.assign({}, pagination, { current: page})); + // console.log('======>>>>>>', pagination) } // console.log(commitRecord); + + const _style = { + display: pages.total > pages.limit ? 'block' : 'none' + }; + return (
{renderCtx()} - +
+
+
+ +
+ ) } @@ -207,7 +235,8 @@ const mapStateToProps = (state) => { commitRecordDetail, commitRecord, hack, - operateType + operateType, + pages } = ojForUserReducer; const { excuteState } = commonReducer; return { @@ -216,11 +245,13 @@ const mapStateToProps = (state) => { commitRecord, // 提交记录 excuteState, // 代码执行状态 language: hack.language, - operateType + operateType, + pages } } const mapDispatchToProps = (dispatch) => ({ - getUserCommitRecord: (identifier) => dispatch(actions.getUserCommitRecord(identifier)) + getUserCommitRecord: (identifier) => dispatch(actions.getUserCommitRecord(identifier)), + changeRecordPagination: (page) => dispatch(actions.changeRecordPagination(page)) }); export default connect( diff --git a/public/react/src/modules/developer/studentStudy/leftpane/commitRecord/index.scss b/public/react/src/modules/developer/studentStudy/leftpane/commitRecord/index.scss index fb099445e..80305f2b8 100644 --- a/public/react/src/modules/developer/studentStudy/leftpane/commitRecord/index.scss +++ b/public/react/src/modules/developer/studentStudy/leftpane/commitRecord/index.scss @@ -2,7 +2,20 @@ // padding: 20px 30px; padding: 0 20px; overflow-y: auto; - height: calc(100vh - 177px); + // height: calc(100vh - 177px); + height: calc(100vh - 122px); + + .commit_record_table_pagination{ + height: 100%; + display: flex; + flex-direction: column; + justify-content: space-between; + + .commit_record_pagination{ + padding: 10px 0; + text-align: center; + } + } .record_header{ display: flex; // justify-content: space-between; diff --git a/public/react/src/modules/developer/studentStudy/leftpane/index.js b/public/react/src/modules/developer/studentStudy/leftpane/index.js index 53e932db1..d9527a13e 100644 --- a/public/react/src/modules/developer/studentStudy/leftpane/index.js +++ b/public/react/src/modules/developer/studentStudy/leftpane/index.js @@ -4,7 +4,7 @@ * @Github: * @Date: 2019-11-23 11:33:41 * @LastEditors : tangjiang - * @LastEditTime : 2019-12-24 17:16:54 + * @LastEditTime : 2019-12-25 11:07:42 // */ import './index.scss'; import React, { useState, useEffect, useMemo } from 'react'; @@ -96,7 +96,7 @@ const LeftPane = (props) => { // 添加评论 const handleAddComment = (ctx) => { - console.log('添加的评论内容: ', ctx, props.identifier); + // console.log('添加的评论内容: ', ctx, props.identifier); props.identifier && props.addComment(props.identifier, { comments: { content: ctx @@ -104,6 +104,10 @@ const LeftPane = (props) => { }); }; + const _style = { + display: defaultActiveKey === 'record' ? 'none' : 'flex' + }; + return (
    @@ -112,7 +116,7 @@ const LeftPane = (props) => {
    { renderComp }
    -
    +
    @@ -125,10 +129,10 @@ const LeftPane = (props) => { />
    - + {

    出题者: - {username} + {username}

    diff --git a/public/react/src/redux/actions/actionTypes.js b/public/react/src/redux/actions/actionTypes.js index deeb8fa93..0420a0af4 100644 --- a/public/react/src/redux/actions/actionTypes.js +++ b/public/react/src/redux/actions/actionTypes.js @@ -55,6 +55,7 @@ const types = { CLICK_OPERATE_TYPE: 'CLICK_OPERATE_TYPE', // 点击类型 CLEAR_OJ_FOR_USER_REDUCER: 'CLEAR_OJ_FOR_USER_REDUCER', // 退出时清空 ojForUserReducer保存内容 ADD_OJ_LIKE_COUNT: 'ADD_OJ_LIKE_COUNT', // 增加点赞数 + CHANGE_RECORD_PAGINATION_PAGE: 'CHANGE_RECORD_PAGINATION_PAGE', // 改变提交分页 /*** jupyter */ GET_JUPYTER_DATA_SETS: 'GET_JUPYTER_DATA_SETS', // jupyter 数据集 GET_JUPYTER_TPI_URL: 'GET_JUPYTER_TPI_URL', // 获取 jupyter url @@ -74,7 +75,8 @@ const types = { GET_COMMENT_LISTS: 'GET_COMMENT_LISTS', // 获取评论列表 REPLAY_CHILD_COMMENTS: 'REPLAY_CHILD_COMMENTS', // 子回复 DELETE_COMMENTS: 'DELETE_COMMENTS', // 删除评论 - SAVE_COMMENT_IDENTIFIER: 'SAVE_COMMENT_IDENTIFIER' // 评论时的identifier + SAVE_COMMENT_IDENTIFIER: 'SAVE_COMMENT_IDENTIFIER', // 评论时的identifier + CHANGE_COMMENT_PAGINATION_PARAMS: 'CHANGE_COMMENT_PAGINATION_PARAMS', // 改变分页 } export default types; diff --git a/public/react/src/redux/actions/comment.js b/public/react/src/redux/actions/comment.js index 7927e3cd6..a247daf56 100644 --- a/public/react/src/redux/actions/comment.js +++ b/public/react/src/redux/actions/comment.js @@ -4,7 +4,7 @@ * @Github: * @Date: 2019-12-23 10:53:25 * @LastEditors : tangjiang - * @LastEditTime : 2019-12-24 16:17:00 + * @LastEditTime : 2019-12-25 10:55:27 */ import types from "./actionTypes"; @@ -31,8 +31,12 @@ export const addComment = (identifier, comments) => { // 获取评论列表 export const getCommentLists = (identifier) => { - return (dispatch) => { - fetchCommentLists(identifier).then(res => { + return (dispatch, getState) => { + const {pages: {limit, page}} = getState().commentReducer; + fetchCommentLists(identifier, { + limit, + page + }).then(res => { console.log('获取评论列表: ====>>>>', res); if (res.status === 200) { const {data} = res; @@ -112,3 +116,10 @@ export const showOrHideComment = (identifier, id, params) => { } } +// 改变分页条件 +export const changePagination = (page) => { + return { + type: types.CHANGE_COMMENT_PAGINATION_PARAMS, + payload: page + }; +} diff --git a/public/react/src/redux/actions/index.js b/public/react/src/redux/actions/index.js index 197673f80..6086c2b32 100644 --- a/public/react/src/redux/actions/index.js +++ b/public/react/src/redux/actions/index.js @@ -49,7 +49,8 @@ import { saveUserCodeForInterval, saveEditorCodeForDetail, saveOpacityType, - clearOjForUserReducer + clearOjForUserReducer, + changeRecordPagination // isUpdateCodeCtx } from './ojForUser'; @@ -71,7 +72,8 @@ import { replayChildComment, deleteComment, likeComment, - showOrHideComment + showOrHideComment, + changePagination } from './comment'; import { @@ -134,6 +136,7 @@ export default { saveEditorCodeForDetail, saveOpacityType, clearOjForUserReducer, + changeRecordPagination, // jupyter getJupyterTpiDataSet, getJupyterTpiUrl, @@ -155,4 +158,5 @@ export default { deleteComment, likeComment, showOrHideComment, + changePagination } \ No newline at end of file diff --git a/public/react/src/redux/actions/ojForUser.js b/public/react/src/redux/actions/ojForUser.js index db2b7c300..783c41e6a 100644 --- a/public/react/src/redux/actions/ojForUser.js +++ b/public/react/src/redux/actions/ojForUser.js @@ -4,7 +4,7 @@ * @Github: * @Date: 2019-11-27 13:42:11 * @LastEditors : tangjiang - * @LastEditTime : 2019-12-23 11:55:48 + * @LastEditTime : 2019-12-25 14:27:58 */ import types from "./actionTypes"; import { Base64 } from 'js-base64'; @@ -315,8 +315,12 @@ export const debuggerCode = (identifier,value, type) => { // 获取提交记录 export const getUserCommitRecord = (identifier) => { - return (dispatch) => { - fetchUserCommitRecord(identifier).then(res => { + return (dispatch, getState) => { + const { pages: { limit, page } } = getState().ojForUserReducer; + fetchUserCommitRecord(identifier, { + limit, + page + }).then(res => { const {status, data} = res; if (status === 200) { dispatch({ @@ -477,5 +481,10 @@ export const clearOjForUserReducer = () => { }; } +export const changeRecordPagination = (page) => { + return { + type: types.CHANGE_RECORD_PAGINATION_PAGE, + payload: page + } +} // 更新通知状态 - diff --git a/public/react/src/redux/reducers/commentReducer.js b/public/react/src/redux/reducers/commentReducer.js index cf56f1965..6fad98a55 100644 --- a/public/react/src/redux/reducers/commentReducer.js +++ b/public/react/src/redux/reducers/commentReducer.js @@ -6,7 +6,7 @@ import types from "../actions/actionTypes"; * @Github: * @Date: 2019-12-23 10:35:31 * @LastEditors : tangjiang - * @LastEditTime : 2019-12-23 14:51:42 + * @LastEditTime : 2019-12-25 10:56:10 */ const initialState = { comments: { @@ -14,8 +14,9 @@ const initialState = { }, commentLists: {}, // 评论列表 pages: { - limit: 20, - page: 1 + limit: 15, + page: 1, + total: 1 } }; @@ -28,9 +29,17 @@ const commentReducer = (state = initialState, action) => { ...state } case types.GET_COMMENT_LISTS: + const {disscuss_count} = payload; return { ...state, - commentLists: Object.assign({}, payload) + commentLists: Object.assign({}, payload), + pages: Object.assign({}, state.pages, { total: disscuss_count }) + } + case types.CHANGE_COMMENT_PAGINATION_PARAMS: + const _pages = Object.assign({}, state.pages, { page: payload }); + return { + ...state, + pages: _pages } default: return { diff --git a/public/react/src/redux/reducers/ojForUserReducer.js b/public/react/src/redux/reducers/ojForUserReducer.js index 0950d7442..8d82b8307 100644 --- a/public/react/src/redux/reducers/ojForUserReducer.js +++ b/public/react/src/redux/reducers/ojForUserReducer.js @@ -4,7 +4,7 @@ * @Github: * @Date: 2019-11-27 13:41:48 * @LastEditors : tangjiang - * @LastEditTime : 2019-12-24 16:35:09 + * @LastEditTime : 2019-12-25 14:45:47 */ import types from "../actions/actionTypes"; import { Base64 } from 'js-base64'; @@ -27,7 +27,12 @@ const initialState = { notice: false, // 通知 hadCodeUpdate: false, // 更新代码 operateType: '', // 点击类型: 调度或提交 - comment_identifier: '' // 用户评论时使用的 identifier + comment_identifier: '', // 用户评论时使用的 identifier + pages: { + limit: 15, + page: 1, + total: 1 + } }; const ojForUserReducer = (state = initialState, action) => { @@ -81,9 +86,11 @@ const ojForUserReducer = (state = initialState, action) => { } case types.COMMIT_RECORD: + const {records, records_count} = action.payload; return { ...state, - commitRecord: [...action.payload] + commitRecord: records, + pages: Object.assign({}, state.pages, { total: records_count }) } case types.SAVE_USER_CODE: let curCode = Base64.encode(action.payload); @@ -199,6 +206,11 @@ const ojForUserReducer = (state = initialState, action) => { ...state, hack: _hack } + case types.CHANGE_RECORD_PAGINATION_PAGE: + return { + ...state, + pages: Object.assign({}, state.pages, { page: action.payload}) + } default: return state; } diff --git a/public/react/src/services/commentService.js b/public/react/src/services/commentService.js index 47eb347d2..2860a5b60 100644 --- a/public/react/src/services/commentService.js +++ b/public/react/src/services/commentService.js @@ -4,7 +4,7 @@ * @Github: * @Date: 2019-12-23 10:43:27 * @LastEditors : tangjiang - * @LastEditTime : 2019-12-24 17:10:49 + * @LastEditTime : 2019-12-25 10:50:24 */ import axios from 'axios'; @@ -15,9 +15,9 @@ export async function fetchAddComment (identifier, params) { } // 获取评论列表 -export async function fetchCommentLists (identifier) { +export async function fetchCommentLists (identifier, params) { const url = `/problems/${identifier}/comments.json`; - return axios.get(url); + return axios.get(url, {params}); } // 添加子评论 diff --git a/public/react/src/services/ojService.js b/public/react/src/services/ojService.js index aeeb212a2..8831f8c11 100644 --- a/public/react/src/services/ojService.js +++ b/public/react/src/services/ojService.js @@ -3,8 +3,8 @@ * @Author: tangjiang * @Github: * @Date: 2019-11-20 10:55:38 - * @LastEditors: tangjiang - * @LastEditTime: 2019-12-20 10:10:53 + * @LastEditors : tangjiang + * @LastEditTime : 2019-12-25 14:27:30 */ import axios from 'axios'; @@ -70,10 +70,10 @@ export async function fetchUserProgramDetail (identifier) { } // 获取提交记录 -export async function fetchUserCommitRecord (identifier) { +export async function fetchUserCommitRecord (identifier, params) { console.log('identifier=====', identifier); const url = `/myproblems/${identifier}/submit_records.json`; - return axios.get(url); + return axios.get(url, { params }); } // 获取提交记录详情