|
|
|
@ -5,6 +5,8 @@ import TPMMDEditor from '../../tpm/challengesnew/TPMMDEditor';
|
|
|
|
|
import { WordsBtn, getUploadActionUrl, appendFileSizeToUploadFile, appendFileSizeToUploadFileAll } from 'educoder';
|
|
|
|
|
import axios from 'axios';
|
|
|
|
|
import Modals from '../../modals/Modals';
|
|
|
|
|
import _ from 'lodash'
|
|
|
|
|
|
|
|
|
|
const Search = Input.Search;
|
|
|
|
|
const CheckboxGroup = Checkbox.Group;
|
|
|
|
|
|
|
|
|
@ -67,15 +69,19 @@ class CommonWorkPost extends Component{
|
|
|
|
|
status: 'done'
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
const _memebers = response.data.members.slice(0);
|
|
|
|
|
this._edit_init_memebers = _memebers
|
|
|
|
|
delete response.data.members;
|
|
|
|
|
this.setState({
|
|
|
|
|
...response.data,
|
|
|
|
|
selectmemberslist: response.data.members || [],
|
|
|
|
|
selectmemberslist: _memebers || [],
|
|
|
|
|
// members: [],
|
|
|
|
|
task_status: response.data.members ? response.data.members.map(item => item.user_id) : [],
|
|
|
|
|
task_status: [], //_memebers ? _memebers.map(item => item.user_id) : [],
|
|
|
|
|
fileList: _fileList,
|
|
|
|
|
memberNumMin: response.data.min_num,
|
|
|
|
|
memberNumMax: response.data.max_num,
|
|
|
|
|
})
|
|
|
|
|
this.mine = _memebers.length ? _memebers[0] : null
|
|
|
|
|
// 分组
|
|
|
|
|
// this.setState({
|
|
|
|
|
// task_status:checkedValues,
|
|
|
|
@ -99,6 +105,11 @@ class CommonWorkPost extends Component{
|
|
|
|
|
group_name: response.data.group_name,
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
this.mine = mine
|
|
|
|
|
// const _memebers = response.data.members.slice(0);
|
|
|
|
|
if (response.data.members) {
|
|
|
|
|
delete response.data.members;
|
|
|
|
|
}
|
|
|
|
|
this.setState({
|
|
|
|
|
...response.data,
|
|
|
|
|
selectmemberslist: [mine],
|
|
|
|
@ -157,7 +168,7 @@ class CommonWorkPost extends Component{
|
|
|
|
|
}
|
|
|
|
|
if(isGroup){
|
|
|
|
|
if(userids!=undefined){
|
|
|
|
|
if(userids.length + 1<memberNumMin){
|
|
|
|
|
if(userids.length < memberNumMin){
|
|
|
|
|
this.setState({
|
|
|
|
|
minvalue: memberNumMin,
|
|
|
|
|
setvalue:"小于",
|
|
|
|
@ -165,7 +176,7 @@ class CommonWorkPost extends Component{
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
return
|
|
|
|
|
}else if(userids.length + 1>memberNumMax){
|
|
|
|
|
}else if(userids.length > memberNumMax){
|
|
|
|
|
this.setState({
|
|
|
|
|
minvalue: memberNumMax,
|
|
|
|
|
setvalue:"大于",
|
|
|
|
@ -424,30 +435,53 @@ class CommonWorkPost extends Component{
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
funtaskstatus=(checkedValues)=>{
|
|
|
|
|
let{members}=this.state;
|
|
|
|
|
let newlist =members.concat(this.state.selectmemberslist);
|
|
|
|
|
let newcheckedValues=checkedValues;
|
|
|
|
|
let selects=[];
|
|
|
|
|
// const selectobjct = this._findByUserId(check)
|
|
|
|
|
// selects.push(selectobjct)
|
|
|
|
|
for(var z=0; z<newcheckedValues.length; z++){
|
|
|
|
|
for(var i=0; i<newlist.length; i++){
|
|
|
|
|
if(newlist[i].user_id===newcheckedValues[z]){
|
|
|
|
|
selects.push(newlist[i])
|
|
|
|
|
break;
|
|
|
|
|
/**
|
|
|
|
|
比较 checkedValues 和 this.state.selectmemberslist
|
|
|
|
|
checkedValues length > this.state.task_status.length 是新增; 反之是删除
|
|
|
|
|
比较找到不同的id
|
|
|
|
|
去除重复的,checkedValues留下的是新增,task_status留下的是删除
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
const _checkedValues = checkedValues.slice(0)
|
|
|
|
|
const _task_status = this.state.task_status.slice(0);
|
|
|
|
|
checkedValues.forEach(item => {
|
|
|
|
|
this.state.task_status.forEach(_item => {
|
|
|
|
|
if (item == _item) {
|
|
|
|
|
_.remove(_checkedValues, (item)=> item == _item)
|
|
|
|
|
_.remove(_task_status, (item)=> item == _item)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
})
|
|
|
|
|
let _selectmemberslist = this.state.selectmemberslist.slice(0)
|
|
|
|
|
if (_checkedValues.length) { // 新增
|
|
|
|
|
_selectmemberslist.push( this.state.members.filter(item => item.user_id == _checkedValues[0])[0])
|
|
|
|
|
} else if (_task_status.length) { // 删除
|
|
|
|
|
_.remove(_selectmemberslist, (item)=> item.user_id == _task_status[0])
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// let{members}=this.state;
|
|
|
|
|
// let newlist =members.concat(this.state.selectmemberslist);
|
|
|
|
|
// let newcheckedValues=checkedValues;
|
|
|
|
|
// let selects= this.mine ? [this.mine] : [];
|
|
|
|
|
// // const selectobjct = this._findByUserId(check)
|
|
|
|
|
// // selects.push(selectobjct)
|
|
|
|
|
// for(var z=0; z<newcheckedValues.length; z++){
|
|
|
|
|
// for(var i=0; i<newlist.length; i++){
|
|
|
|
|
// if(newlist[i].user_id===newcheckedValues[z]){
|
|
|
|
|
// selects.push(newlist[i])
|
|
|
|
|
// break;
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
this.setState({
|
|
|
|
|
task_status:checkedValues,
|
|
|
|
|
selectmemberslist: selects
|
|
|
|
|
selectmemberslist: _selectmemberslist
|
|
|
|
|
// selectmemberslist:checkedValues
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
delecttask_status=(id)=>{
|
|
|
|
|
doDelete = (id) => {
|
|
|
|
|
let{selectmemberslist,task_status}=this.state;
|
|
|
|
|
let newlist=task_status.slice(0);
|
|
|
|
|
let selects=selectmemberslist;
|
|
|
|
@ -468,6 +502,34 @@ class CommonWorkPost extends Component{
|
|
|
|
|
selectmemberslist:selects
|
|
|
|
|
})
|
|
|
|
|
}
|
|
|
|
|
delecttask_status=(id)=>{
|
|
|
|
|
if (this.isEdit) {
|
|
|
|
|
this.props.confirm({
|
|
|
|
|
content: <div>
|
|
|
|
|
<div>TA的作品将被删除</div>
|
|
|
|
|
<div>是否确认删除?</div>
|
|
|
|
|
</div>,
|
|
|
|
|
onOk: () => {
|
|
|
|
|
let workId=this.props.match.params.workId;
|
|
|
|
|
const url = `/homework_commons/${workId}/student_works/delete_work.json`;
|
|
|
|
|
axios.delete(url, { data: {
|
|
|
|
|
user_id: id
|
|
|
|
|
}})
|
|
|
|
|
.then((response) => {
|
|
|
|
|
if (response.data.status == 0) {
|
|
|
|
|
this.searchValue()
|
|
|
|
|
this.doDelete(id)
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
.catch(function (error) {
|
|
|
|
|
console.log(error);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
} else {
|
|
|
|
|
this.doDelete(id)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
gocannel=()=>{
|
|
|
|
|
this.props.history.goBack()
|
|
|
|
|