joywok-material-components
Version:
<h1 align="center"> Joywok Material Components </h1>
109 lines (102 loc) • 3.69 kB
JavaScript
/**
* 未匹配到用户/团队 的提示框
* 使用场景:
* 自定义用户组 - 导入用户/团队 时,发现有没有匹配到的用户/团队时,提示“未匹配到用户/团队 确认继续导入吗”
*/
import React , {Component,Fragment} from 'react';
import {connect} from 'dva';
import ReactDOM from 'react-dom';
import Button from '@material-ui/core/Button';
import {createMuiTheme, MuiThemeProvider, withStyles} from '@material-ui/core/styles';
import Dialog from '@material-ui/core/Dialog';
import DialogActions from '@material-ui/core/DialogActions';
import DialogContent from '@material-ui/core/DialogContent';
import DialogContentText from '@material-ui/core/DialogContentText';
import DialogTitle from '@material-ui/core/DialogTitle';
const styles = {
};
require('./style/index.css');
class NotFoundDialog extends React.Component{
constructor(props) {
super(props);
this.state = {
open: props.open
}
}
// 关闭弹框
handleClose(){
this.setState({
open: false
})
typeof(this.props.handleClose)=='function' && this.props.handleClose();
}
submit(){
this.setState({
open: false
})
typeof(this.props.onSubmit)=='function' && this.props.onSubmit();
}
getTitle(){
let type = this.props.type;
let info = {};
switch(type){
case 'jw_n_dept':
info.title = i18n('title.notfound.depts');
info.descTip = i18n('tips.notfound.depts');
break;
case 'jw_n_user':
info.title = i18n('title.notfound.users');
info.descTip = i18n('tips.notfound.users');
break;
default:
info.title = i18n('title.notfound.datas');
info.descTip = i18n('tips.notfound.datas')
break;
}
return info;
}
componentWillReceiveProps(nextProps){
if(nextProps.open!=this.state.open){
this.setState({
open: nextProps.open
})
}
}
componentDidMount(){
}
render(){
let self = this;
// let data = [
// 'E2073245', 'E2073245', 'E2073245', 'E2073245', 'E2073245', 'E2073245', 'E2073245', 'E2073245', 'E2073245', 'E2073245',
// 'E2073245', 'E2073245', 'E2073245', 'E2073245', 'E2073245', 'E2073245', 'E2073245', 'E2073245', 'E2073245', 'E2073245',
// ]
let data = this.props.data;
let { title, descTip } = this.getTitle();
return <Dialog
className="jw-m-addusergroup-dialog jw-m-not-found"
open={this.state.open}
onClose={()=>this.handleClose()}
aria-labelledby="alert-dialog-title"
aria-describedby="alert-dialog-description"
>
<DialogTitle id="alert-dialog-title">{title}<i className="icon-close-big" onClick={()=>this.handleClose()}></i></DialogTitle>
<DialogContent className="jw-m-not-found-actions">
<p className="not-found-desc">{descTip.replace('{nums}',' '+data.length+' ')}</p>
{
_.map(data,function(item){
return <p className="not-found-item ellipsis">{item}</p>
})
}
</DialogContent>
<DialogActions className="addusergroup-actions">
<Button onClick={()=>this.handleClose()} className="addusergroup-cancel-btn" color="primary">
{i18n('btn.cancel')}
</Button>
<Button onClick={()=>this.submit()} className="addusergroup-save-btn" color="primary">
{i18n('label.score.keep.import')}
</Button>
</DialogActions>
</Dialog>
}
}
export default connect((state)=>{return state})(NotFoundDialog);