| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256 | import React from 'react';import { Icon, Table, Modal, message, Spin, Input, Select, Button, Form } from 'antd';import ajax from 'jquery/src/ajax/xhr.js';import $ from 'jquery/src/ajax';import './userMangagement.less';import {} from '../../../dataDic.js';const Newrole = Form.create()(React.createClass({	addloadData() {		this.setState({			loading: true		});		$.ajax({			method: "post",			dataType: "json",			crossDomain: false,			url: globalConfig.context + '/api/admin/customer/listAllPersonalCustomer',			data: {				pageNo: 1,				pageSize: 10,			},			success: function(data) {				let theArr = [];				if(!data.data || !data.data.list) {					if(data.error && data.error.length) {						message.warning(data.error[0].message);					};				} else {					for(let i = 0; i < data.data.list.length; i++) {						let thisdata = data.data.list[i];						let nub = Math.floor(Math.random() * 100000);						theArr.push({							key: 'AM' + nub,							id: 'nub' + i + 'b',							name: '成果录入' + i,							Interface: 'api/admin/customer' + i,							children: [{									key: 'BM' + nub,									id: 'nub' + i + 'b' + i,									name: '成果录入' + i + i,									Interface: 'api/admin/customer' + i + i + i,								},								{									key: 'BM' + nub + i,									id: 'nub' + i + 'c' + i,									name: '成果录入' + i + i,									Interface: 'api/admin/customer' + i + i + i,								}							]						});					};				};				this.setState({					Interface: theArr,				});			}.bind(this),		}).always(function() {			this.setState({				loading: false			});		}.bind(this));	},	getInitialState() {		return {			orgCodeUrl: [],			loading: false,			visible: false,			addColumns: [{				title: '选择角色权限',				dataIndex: 'name',				key: 'name',			}, {				title: '',				dataIndex: 'Interface',				key: 'Interface',			}],		};	},	handleSubmit(e) {		e.preventDefault();		//let api=this.props.userDetaile?'保存':'新建';		this.props.form.validateFields((err, values) => {			let idsArr = this.state.selectedRowst || [];			let prekeys = this.state.selectedRowKeyst;			let Interfaces = this.state.Interface;			let ineIds = [];			let ids = [];			if(idsArr.length) {				idsArr.map(function(index) {					ids.push(						index.id					)					if(idsArr.children) {						idsArr.children.map(function(item) {							ids.push(								item.id							)						})					}				})			} else {				prekeys.map(function(item) {					ineIds.push(Interfaces[item].id)				});			}			if(!err) {				this.setState({					loading: true				});				$.ajax({					method: "POST",					dataType: "json",					crossDomain: false,					url: globalConfig.context + '/api/admin/customer/addCustomer',					data: {						roleName: this.state.roleName,						id: ids.length ? JSON.stringify(ids) : JSON.stringify(ineIds)					}				}).done(function(data) {					this.setState({						loading: false					});					if(!data.error.length) {						message.success('保存成功!');						this.handleCancel()					} else {						message.warning(data.error[0].message);					}				}.bind(this));			}		});	},	//查看基本详情基本信息	loaduser(record) {		if(record) {			$.ajax({				method: "get",				dataType: "json",				crossDomain: false,				url: globalConfig.context + '/api/admin/customer/toUpdateBusiness',				data: {					businessId: record.id				},				success: function(data) {					let thisData = data.data;					if(!thisData) {						if(data.error && data.error.length) {							message.warning(data.error[0].message);						};						thisData = {};					};					this.setState({						detaileuser: thisData,						uids: thisData.uid,						//selectedRowKeyst:[0,1,2]					});				}.bind(this),			}).always(function() {				this.setState({					loading: false				});			}.bind(this));		}	},	handleOk(e) {		this.setState({			visible: false,		});		this.props.closeDesc(false, true);	},	handleCancel(e) {		this.setState({			visible: false,		});		this.props.closeDesc(false);	},	componentWillMount() {				this.addloadData()	},	componentWillReceiveProps(nextProps) { //props改变时触发		this.state.visible = nextProps.showDesc;		if(nextProps.userDetaile && nextProps.showDesc) {			if(nextProps.datauser && nextProps.datauser.id) {				this.loaduser(nextProps.datauser);			}		}		this.setState({			selectedRowKeyst: [],			datauser: {},		})	},	render() {		const theData = this.state.detaileuser || {};		const FormItem = Form.Item		const formItemLayout = {			labelCol: { span: 8 },			wrapperCol: { span: 14 },		};		const rowSelection = {            selectedRowKeys: this.state.selectedRowKeyst,            onChange: (selectedRowKeys, selectedRows) => {                this.setState({                    selectedRowst: selectedRows,                    selectedRowKeyst: selectedRowKeys                });            },            onSelect: (recordt, selected, selectedRows) => {			   			    this.setState({			    	recordt:recordt.id			    })			},        };		return(			<div>           <Modal maskClosable={false} visible={this.state.visible}                        onOk={this.handleOk} onCancel={this.handleCancel}                        width='1000px'                        title={!this.props.userDetaile?'添加角色':'编辑角色'}                                              footer=''                        className="admin-desc-content">			            <Form layout="horizontal" onSubmit={this.handleSubmit} id="demand-form" style={{paddingBottom:'40px'}} required="required">			                <Spin spinning={this.state.loading}>			                        <div className="clearfix">			                            <div className="clearfix">					                    	<FormItem className="half-item"						                            {...formItemLayout}						                            label="角色名称" >                             					                                    <Input placeholder="角色名称" value={this.state.roleName} onChange={(e)=>{this.setState({roleName:e.target.value})}} style={{width:'200px'}} required="required"/>						                    		<span className="mandatory">*</span>						                    </FormItem>						                    <FormItem className="half-item"						                            {...formItemLayout}						                            label="" > 							                    <Button className="set-submit" type="primary" htmlType="submit">保存</Button>  				                                <Button className="set-submit" type="ghost" onClick={this.handleCancel}>返回</Button> 			                                </FormItem>						                </div>						                <div className="clearfix">						                	<Table columns={this.state.addColumns}					                            dataSource={this.state.Interface}					                            rowSelection={rowSelection}					                            scroll={{ y: 500 }}					                            pagination={false}					                            />						                </div>				                    </div>			                </Spin>			            </Form >			        </Modal>        	    </div>		)	}}));export default Newrole;
 |