From 4761f518d789b52f23d0831664bf44e44559df01 Mon Sep 17 00:00:00 2001 From: hjm <63528605@qq.com> Date: Fri, 11 Oct 2019 14:00:11 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AD=A6=E7=94=9F=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../react/src/modules/courses/css/members.css | 4 + .../modules/courses/members/studentsList.css | 3 + .../modules/courses/members/studentsList.js | 124 +++++++++++++----- 3 files changed, 100 insertions(+), 31 deletions(-) create mode 100644 public/react/src/modules/courses/members/studentsList.css diff --git a/public/react/src/modules/courses/css/members.css b/public/react/src/modules/courses/css/members.css index 67524d130..ab7effaa0 100644 --- a/public/react/src/modules/courses/css/members.css +++ b/public/react/src/modules/courses/css/members.css @@ -84,4 +84,8 @@ text-overflow:ellipsis; white-space:nowrap; cursor: default; +} + +.changeRolePop .ant-checkbox-group { + width: 230px !important; } \ No newline at end of file diff --git a/public/react/src/modules/courses/members/studentsList.css b/public/react/src/modules/courses/members/studentsList.css new file mode 100644 index 000000000..49a81fa32 --- /dev/null +++ b/public/react/src/modules/courses/members/studentsList.css @@ -0,0 +1,3 @@ +.stu_table .ant-table-thead > tr > th, .stu_table .ant-table-tbody > tr > td { + padding: 14px 8px; +} \ No newline at end of file diff --git a/public/react/src/modules/courses/members/studentsList.js b/public/react/src/modules/courses/members/studentsList.js index cba7dbf54..5f614cfbc 100644 --- a/public/react/src/modules/courses/members/studentsList.js +++ b/public/react/src/modules/courses/members/studentsList.js @@ -14,6 +14,8 @@ import _ from 'lodash' import NoneData from "../coursesPublic/NoneData" import DownloadMessageysl from "../../modals/DownloadMessageysl"; import CreateGroupByImportModal from './modal/CreateGroupByImportModal' +import ChangeRolePop from './ChangeRolePop' +import "./studentsList.css" const Search =Input.Search; const TYPE_STUDENTS = 1 @@ -22,6 +24,7 @@ const TYPE_COURSE_GOURP_CHILD = 3 const buildColumns = (that,isParent) => { const { course_groups , sortedInfo } = that.state let showSorter = isParent==true + const courseId = that.props.match.params.coursesId const columns=[{ title: '序号', dataIndex: 'id', @@ -32,19 +35,21 @@ const buildColumns = (that,isParent) => { render: (id, student, index) => { return (that.state.page - 1) * 20 + index + 1 } - }, { - title: '用户id', - dataIndex: 'login', - key: 'login', - align:'center', - width:"10%", - className:"color-grey-6", - render: (login, record) => { - return 10 ? login : ''} - >{login} - } - }, { + }, + // { + // title: '用户id', + // dataIndex: 'login', + // key: 'login', + // align:'center', + // width:"10%", + // className:"color-grey-6", + // render: (login, record) => { + // return 10 ? login : ''} + // >{login} + // } + // }, + { title: '姓名', dataIndex: 'name', key: 'name', @@ -69,14 +74,45 @@ const buildColumns = (that,isParent) => { return 10 ? student_id : ''} style={{maxWidth: '160px'}} >{student_id} } - }]; + } + , { + title: '手机号', + dataIndex: 'user_phone', + key: 'user_phone', + align:'center', + width:"10%", + className:"color-grey-6", + // sorter: true, + // sortDirections: sortDirections, + // sortOrder: sortedInfo.columnKey === 'user_phone' && sortedInfo.order, + render: (user_phone, record) => { + return 10 ? user_phone : ''} + style={{maxWidth: '160px'}} >{user_phone} + } + } + , { + title: '邮箱', + dataIndex: 'user_mail', + key: 'user_mail', + align:'center', + width:"10%", + className:"color-grey-6", + // sorter: true, + // sortDirections: sortDirections, + // sortOrder: sortedInfo.columnKey === 'user_mail' && sortedInfo.order, + render: (user_mail, record) => { + return 10 ? user_mail : ''} + style={{maxWidth: '160px'}} >{user_mail} + } + } + ]; if (course_groups && course_groups.length) { columns.push({ title: '分班', dataIndex: 'course_group_name', key: 'course_group_name', align:'center', - width:"40%", + width:"25%", className:"color-grey-6", sorter:showSorter, sortDirections: sortDirections, @@ -95,14 +131,36 @@ const buildColumns = (that,isParent) => { const isAdmin = that.props.isAdmin() if (isAdmin) { columns.unshift({ - title: '', - dataIndex: 'check', - key: 'check', - render: (text, item) => { - return - }, - width:"5%" - }) + title: '', + dataIndex: 'check', + key: 'check', + render: (text, item) => { + return + }, + width:"5%" + }) + + columns.push({ + title: '操作', + key: 'action', + width: '18%', + align:'center', + render: (text, record) => { + return ( + + that.onDelete(record)} style={'grey'}>删除学生 + + + ) + }, + }) + } return columns; @@ -242,7 +300,9 @@ class studentsList extends Component{ onChange=()=>{ } - + onChangeRoleSuccess = () => { + this.fetchAll() + } componentDidMount() { this.setState({ isSpin:true @@ -451,11 +511,13 @@ class studentsList extends Component{ } } // 多选 - onDelete = () => { - const len = this.state.checkBoxValues.length - if (len == 0) { - this.props.showNotification('请先从列表选择要删除的学生') - return; + onDelete = (record) => { + if (!record) { + const len = this.state.checkBoxValues.length + if (len == 0) { + this.props.showNotification('请先从列表选择要删除的学生') + return; + } } this.props.confirm({ @@ -465,7 +527,7 @@ class studentsList extends Component{ let id = this.props.match.params.coursesId let url=`/courses/${id}/delete_from_course.json`; axios.post((url), { - students: this.state.checkBoxValues.map(item => {return {course_member_id: item} }), + students: [{course_member_id: record.user_id}] // this.state.checkBoxValues.map(item => {return {course_member_id: item} }), }).then((result)=>{ if (result.data.status == 0) { this.props.showNotification('删除成功') @@ -701,7 +763,7 @@ class studentsList extends Component{
{isAdmin && 已选 {checkBoxValues.length} 个}
- {isAdmin &&
  • 删除
  • } + {/* {isAdmin &&
  • 删除
  • } */} {isAdmin &&
  • 移动到...