| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226 | import React from 'react';import $ from 'jquery/src/ajax';import {	message,	Spin,	Input,	Button,	Form,} from 'antd';import SelectContent from './selectContent' import {getZiYuanType} from '@/tools'const NewDetailForm = Form.create()(React.createClass({    getInitialState() {        return {            visible: false,			loading: false,			visibleSel:false,            auditStatus: 0,            textFileList: [],			videoFileList: [],			objData:[],			objName:'',			objId:''        };    },    getPictureUrl(e) {        this.setState({ pictureUrl: e });    },    handleSubmit(e,index) {		e.preventDefault();		if(this.props.data.id&&!this.state.objTitle){			message.warning('请选择推送内容!');			return;		}        this.props.form.validateFields((err, values) => {            if (!err) {                this.setState({                    loading: true				});				let hours =new Date(),					year = hours.getFullYear(),					month = (hours.getMonth()+1)<10?'0'+(hours.getMonth()+1):(hours.getMonth()+1),					day = hours.getDate()<10?'0'+hours.getDate():hours.getDate(),					hour=hours.getHours()<10?'0'+hours.getHours():hours.getHours(),					mins = hours.getMinutes()<10?'0'+hours.getMinutes():hours.getMinutes(),					sec = hours.getSeconds()<10?'0'+hours.getSeconds():hours.getSeconds();				let times = year+'-'+month+'-'+day+' '+hour+':'+mins+':'+sec;                $.ajax({                    method: "post",					dataType: "json",					async:true,                    url: this.props.data.id?globalConfig.context +"/api/admin/message/updMessageById":globalConfig.context +"/api/admin/message/createMyMessage",                    data: {						subject:1,						id: this.props.data.id,						title: values.title,						subject:1,					//消息类别 0-系统消息						isDraft:index=='1'?1:0, 	//是否草稿 0-否 1-是						deleteSign:0,	  			//删除标识 0-否 ,1-是						isSend:index=='2'?1:0,  	//是否发送0-否 1-是						body:values.body,						messageCreateTime:!(this.props.data.id)?times:'null',						resourceId:this.props.data.id?this.state.objData.rowId:'',						resourceType:this.props.data.id?this.state.objData.fromTable>=0?this.state.objData.fromTable:getZiYuanType(this.state.objData.fromTable):'',						resourceName:this.props.data.id?this.state.objTitle:''                    }                }).done(function (data) {                    this.setState({                        loading: false					});                    if (!data.error.length) {                        message.success('保存成功!');                        this.setState({                            visible: false                        });                        this.props.handOk();                    } else {                        message.warning(data.error[0].message);                    }                }.bind(this));            }        });	},	cancelFun(){		this.props.closeDesc(false,false);	},    componentWillMount() {        if (this.props.data.id) {			this.setState({				objTitle:this.props.data.resourceName||'',				objData:{fromTable:this.props.data.resourceType,rowId:this.props.data.rowId}			})        } else {			this.state.visible=true;			this.state.data = {};        };	},	visFun(state,data){		if(state){			this.setState({				visibleSel:false,				objData:data,				objTitle:data.title			});		}else{			this.setState({				visibleSel:false,			})		}	},	selContent(){		this.setState({			visibleSel:true		})	},    componentWillReceiveProps(nextProps) {        if (!this.props.visible && nextProps.visible) {            this.state.textFileList = [];			this.state.videoFileList = [];            if (nextProps.data.id) {               this.setState({				    objTitle:nextProps.data.resourceName,					objData:{						fromTable:this.props.data.resourceType,						rowId:this.props.data.rowId,					}			   })            } else {				this.state.visible=true;				this.state.visibleSel=false				this.state.data = {};            };			this.props.form.resetFields();        };    },    render() {		console.log(this.state.objData)		const theData = this.props.data || {};        const { getFieldDecorator } = this.props.form;        const FormItem = Form.Item;        const formItemLayout = {            labelCol: { span: 6 },            wrapperCol: { span: 12 },		};        return (			<div className='login'>			<Form layout="horizontal" onSubmit={(e)=>{this.handleSubmit(e,1)}} id="demand-form">				<Spin spinning={this.state.loading}>					<div className="clearfix">						{this.props.data&&this.props.data.id?<div>							<FormItem className="half-item" {...formItemLayout} label="创建人">								<span>{theData.admin?theData.admin:'管理员'}</span>							</FormItem>								</div>:''}						</div>					<div className="clearfix">						<FormItem  labelCol={{ span: 3 }} wrapperCol={{ span: 14 }} label="标题">							{getFieldDecorator('title', {								rules: [ { required: true, message: '此项为必填项!' } ],								initialValue: theData.title							})(<Input placeholder="请输入消息标题" />)}						</FormItem>					</div>					<div className="clearfix">						<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="消息内容">							{getFieldDecorator('body', {								rules: [ { required: true, message: '此项为必填项!' } ],								initialValue: theData.body							})(<Input type="textarea" rows={4} placeholder="输入内容" />)}						</FormItem>					</div>					{this.props.data&&this.props.data.id?<div className="clearfix">						<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label={<span><strong style={{color:'#f00'}}> * </strong>推送内容</span>}>							<div>								<span>{this.state.objTitle}</span>								<Button 									onClick={this.selContent.bind(this)} 									type="primary" 									style={{marginLeft:10}}>选择</Button>							</div>						</FormItem>					</div>:''}					{this.props.data&&this.props.data.id?<div>						<div className="clearfix">							<FormItem labelCol={{ span: 3 }} wrapperCol={{ span: 18 }} label="创建时间">								<span>{theData.createTime}</span>							</FormItem>						</div>					</div>:''}					<div className="clearfix">						<FormItem wrapperCol={{ span: 12, offset: 3 }}>						    <Button className="set-submit" type="primary" htmlType="submit">								保存							</Button>							{this.props.data&&this.props.data.id?<Button								className="set-submit"								style={{background: 'rgb(63, 207, 158)',border:'none',color:'#FFF'}}								type="ghost"								onClick={(e) => {										this.handleSubmit(e,2)								}}							>								推送							</Button>:''}							<Button className="set-submit" type="ghost" onClick={this.cancelFun}>								取消							</Button>						</FormItem>					</div>				</Spin>			</Form>  			<SelectContent 				visible={this.state.visibleSel}				visFun={this.visFun.bind(this)}			/>  		</div>        )    }}));export default NewDetailForm;
 |