diff --git a/app/controllers/hacks_controller.rb b/app/controllers/hacks_controller.rb index fec768a19..1bc1c9d61 100644 --- a/app/controllers/hacks_controller.rb +++ b/app/controllers/hacks_controller.rb @@ -232,6 +232,11 @@ class HacksController < ApplicationController hacks = hacks.where(category: params[:category]) end + # 语言 + if params[:language] + hacks = hacks.joins(:hack_codes).where(hack_codes: {language: params[:language]}) + end + # 排序 sort_by = params[:sort_by] || "hack_user_lastest_codes_count" sort_direction = params[:sort_direction] || "desc" diff --git a/app/models/discuss.rb b/app/models/discuss.rb index 4491a886c..54ceb46be 100644 --- a/app/models/discuss.rb +++ b/app/models/discuss.rb @@ -53,11 +53,11 @@ class Discuss < ApplicationRecord def send_tiding if dis_type == 'Shixun' - user_id = has_parent? ? parent.user_id : Challenge.find(challenge_id).user_id + send_user_id = has_parent? ? parent.user_id : Challenge.find(challenge_id).user_id parent_container_type = 'Challenge' challenge_id = challenge_id elsif dis_type == 'Hack' - user_id = has_parent? ? parent.user_id : Hack.find(dis_id).user_id + send_user_id = has_parent? ? parent.user_id : Hack.find(dis_id).user_id parent_container_type = 'Hack' challenge_id = dis_id end @@ -65,6 +65,6 @@ class Discuss < ApplicationRecord trigger_user_id: user_id, parent_container_id: challenge_id, parent_container_type: parent_container_type, belong_container_id: dis_id, belong_container_type: dis_type, viewed: 0, tiding_type: 'Comment' } - tidings.create!(base_attrs.merge(user_id: user_id)) + tidings.create!(base_attrs.merge(user_id: send_user_id)) end end diff --git a/public/react/src/modules/developer/DeveloperHome.js b/public/react/src/modules/developer/DeveloperHome.js index b2c473861..ae230677a 100644 --- a/public/react/src/modules/developer/DeveloperHome.js +++ b/public/react/src/modules/developer/DeveloperHome.js @@ -9,7 +9,7 @@ import './index.scss'; import React from 'react'; -import { Table, Button, Dropdown, Icon, Menu, Card, Input, Select, Tag, Modal } from 'antd'; +import { Table, Button, Dropdown, Icon, Menu, Card, Input, Select, Tag } from 'antd'; import { connect } from 'react-redux'; import actions from '../../redux/actions'; import MultipTags from './components/multiptags'; @@ -46,9 +46,24 @@ const maps = { ], 'languageMenu': [ { - 'key': 'c', - 'name': 'C语言', - 'value': 'c' + 'key': 'C', + 'name': 'C', + 'value': 'C' + }, + { + 'key': 'C++', + 'name': 'C++', + 'value': 'C++' + }, + { + 'key': 'Python', + 'name': 'Python', + 'value': 'Python' + }, + { + 'key': 'Java', + 'name': 'Java', + 'value': 'Java' } ], 'difficultMenu': [ diff --git a/public/react/src/modules/tpm/TPMDataset.js b/public/react/src/modules/tpm/TPMDataset.js index b70bc457c..6894c4a69 100644 --- a/public/react/src/modules/tpm/TPMDataset.js +++ b/public/react/src/modules/tpm/TPMDataset.js @@ -1,6 +1,6 @@ import React, {Component} from 'react'; import {Redirect} from 'react-router'; -import {List, Typography, Tag, Modal, Radio, Checkbox, Table, Pagination,Upload,Button} from 'antd'; +import {List, Typography, Tag, Modal, Radio, Checkbox, Table,message, Pagination,Upload,Button} from 'antd'; import { NoneData } from 'educoder' import TPMRightSection from './component/TPMRightSection'; @@ -12,7 +12,29 @@ import moment from 'moment'; import Tpmdatasetmodel from "./tpmmodel/Tpmdatasetmodel"; const confirm = Modal.confirm; +function clearSlct() { + if("getSelection" in window){ + window.getSelection().removeAllRanges(); + }else{ + document.selection.empty(); + }; +} +function jsCopy(s) { + clearSlct(); + const copyEle = document.getElementById(s); + copyEle.select(); + const copyStatus=document.execCommand("Copy"); + // 对成功与否定进行提示 + copyStatuss(copyStatus) +} +function copyStatuss(copyStatus){ + if (copyStatus) { + message.success('复制成功'); + } else { + message.error('复制失败'); + } +} class TPMDataset extends Component { constructor(props) { super(props) @@ -69,6 +91,23 @@ class TPMDataset extends Component { ) }, + { + title: '操作', + dataIndex: 'operation', + key: 'operation', + align: 'center', + className: "edu-txt-center font-14 ", + render: (text, record) => ( +
{ + jsCopy("file_path"+record.id) + }}> + 复制 + +
+ ) + }, ], page: 1, limit: 10, @@ -148,6 +187,7 @@ class TPMDataset extends Component { filesize:datas[i].filesize, id:datas[i].id, title:datas[i].title, + file_path:datas[i].file_path, }) } this.setState({ @@ -203,6 +243,7 @@ class TPMDataset extends Component { filesize:datas[i].filesize, id:datas[i].id, title:datas[i].title, + file_path:datas[i].file_path, }) } this.setState({