|
@@ -80,18 +80,37 @@ export default class TheModal extends React.Component {
|
|
|
});
|
|
|
})
|
|
|
}
|
|
|
+ loadBindRoles(uid) {
|
|
|
+ this.setState({
|
|
|
+ loading: true
|
|
|
+ });
|
|
|
+ $.ajax({
|
|
|
+ url: globalConfig.context + '/api/admin/role',
|
|
|
+ cache: false,
|
|
|
+ data: {
|
|
|
+ "uid": uid
|
|
|
+ }
|
|
|
+ }).done((data) => {
|
|
|
+ this.setState({
|
|
|
+ bindroles: data.data || [],
|
|
|
+ loading: false
|
|
|
+ });
|
|
|
+ })
|
|
|
+ }
|
|
|
componentWillReceiveProps(nextProps) {
|
|
|
if (nextProps.show && !this.state.roles.length) {
|
|
|
this.loadInitialData();
|
|
|
};
|
|
|
+ if (!this.state.visible && nextProps.show) {
|
|
|
+ this.loadBindRoles(nextProps.data.id);
|
|
|
+ };
|
|
|
let nextState = {
|
|
|
visible: nextProps.show,
|
|
|
id: nextProps.data ? nextProps.data.id : '',
|
|
|
name: nextProps.data ? nextProps.data.name : '',
|
|
|
email: nextProps.data ? nextProps.data.email : '',
|
|
|
mobile: nextProps.data ? nextProps.data.mobile : '',
|
|
|
- province: nextProps.data ? nextProps.data.province : '',
|
|
|
- bindroles: nextProps.data && nextProps.data.roles ? nextProps.data.roles.map((role) => { return String(role.id); }) : []
|
|
|
+ province: nextProps.data ? nextProps.data.province : ''
|
|
|
};
|
|
|
this.setState(nextState)
|
|
|
}
|