import React, { Component } from 'react'; import moment from 'moment'; import { connect } from 'dva'; import { routerRedux } from 'dva/router'; import { Card, Modal, Button, message } from 'antd'; import { StandardTableList } from '../../../components/RBList/index'; import { renderStatus, addRowKey } from '../../../utils/utils'; import styles from './CourseList.less'; const Message = message; @connect(({ loading, product }) => ({ product, loading: loading.models.product, })) export default class CourseListPage extends Component { constructor(props) { super(props); const { state } = props.location; this.state = { UIParams: (state || {}).UIParams, // 组件的状态参数 Queryers: (state || {}).Queryers, // 查询的条件参数 }; } componentDidMount() { this.props.dispatch({ type: 'product/fetchCourseList', payload: { ...this.state.Queryers }, }); } handleCreateOperation = () => { this.props.dispatch(routerRedux.push({ pathname: '/product/course/create', state: this.state, })); } handleDeleteOperation = (item) => { Modal.confirm({ okText: '确定', cancelText: '取消', title: '你确定要删除该课程吗?', content: '如果该课程已经被某些套餐包关联,则将导致删除失败,需要手动解除与这些套餐包的关联才可进行删除', onOk: () => { this.props.dispatch({ type: 'product/deleteCourseItem', payload: { id: item.id }, states: this.state, }); }, }); } handleEditOperation = (item) => { this.props.dispatch(routerRedux.push({ pathname: `/product/course/edit/${item.pid}`, state: this.state, })); } handleFilterOperation = (params, states) => { this.props.dispatch({ type: 'product/fetchCourseList', payload: params, }); this.setState({ UIParams: states, Queryers: params, }); } handleBatchOperation = () => { Message.info('暂不支持批量操作!'); } render() { const { loading, product } = this.props; const { list, totalSize, pageSize, pageNo } = product; const renderOperation = (item) => { return (
); }; const batchActions = [{ key: 'delete', name: '批量删除', }, { key: 'recovery', name: '批量恢复', }]; const basicSearch = { keys: [{ name: '课程编号', field: 'code', }, { name: '课程名称', field: 'name', }], }; const pagination = { pageNo, pageSize, totalSize, }; const columns = [{ title: '课程编号', key: 1, dataIndex: 'code', render: (text, record) => ( this.handleEditOperation(record)} > {text} ), width: '25%', }, { title: '课程名称', key: 2, dataIndex: 'name', render: (text, record) => ( this.handleEditOperation(record)} > {text} ), width: '30%', }, { title: '课程状态', key: 3, dataIndex: 'status', render: text => renderStatus(text), width: '12%', }, { title: '更新时间', key: 4, dataIndex: 'gmtModified', render: text => moment(text).format('YYYY-MM-DD HH:mm:ss'), width: '20%', }, { title: '操作', key: 5, dataIndex: 'operation', render: (_, record) => renderOperation(record), width: '13%', }]; return ( ); } }