import React from 'react';
import $ from 'jquery/src/ajax';
import { Modal, message, Spin, Upload, Button, Form } from 'antd';
import { getprovince, splitUrl } from '@/tools.js';

const DemandDetail = Form.create()(
	React.createClass({
		getInitialState() {
			return {
				visible: false,
				loading: false,
				auditStatus: 0,
				textFileList: [],
				videoFileList: [],
				pictureUrl: []
			};
		},
		loadData(id) {
			this.setState({
				loading: true
			});
			$.ajax({
				method: 'get',
				dataType: 'json',
				crossDomain: false,
				url: globalConfig.context + '/api/user/jtBusiness/project/detail',
				data: {
					id: id
				},
				success: function(data) {
					let thisData = data.data;
					if (!thisData) {
						if (data.error && data.error.length) {
							message.warning(data.error[0].message);
						}
						thisData = {};
                    }
                    let categoryList = this.props.categoryList,name='';
                    categoryList.map(item=>{
						if((item.children).length){
							(item.children).map(atem=>{
								if(atem.value==thisData.categoryId){
									name=item.label+'/'+atem.label;
									return;
								}
							})
						}
					})
					let tagFirst =thisData.tags?thisData.tags.split(','):[],tagTxt=[];
					(this.props.tagList).map(item=>{
						for(let j=0;j<tagFirst.length;j++){
							if(item.id==tagFirst[j]){
								tagTxt.push(item.name);
							}
						}
					})
					this.setState({
						id: thisData.id,
                        data: thisData,
						name:name,
						tags:tagTxt.join(' - '),
						createTime: thisData.createTime ? new Date(thisData.createTime).toLocaleString() : '',
						auditStatus: thisData.auditStatus,
						orgCodeUrl: thisData.minImgUrl
							? splitUrl(thisData.minImgUrl, ',', globalConfig.avatarHost + '/upload')
							: [],
						companyLogoUrl: thisData.maxImgUrl
							? splitUrl(thisData.maxImgUrl, ',', globalConfig.avatarHost + '/upload')
							: []
					});
				}.bind(this)
			}).always(
				function() {
					this.setState({
						loading: false
					});
				}.bind(this)
			);
		},
		cancelFun() {
			this.props.closeDesc();
		},
		//刷新发布
		updateFun(inex) {
			this.setState({
				loading: true
			});
			$.ajax({
				method: 'get',
				dataType: 'json',
				crossDomain: false,
				url: globalConfig.context + '/api/user/jtBusiness/project/refreshPublish',
				data: {
					id: this.state.id,
					auditStatus: this.state.auditStatus
				}
			}).done(
				function(data) {
					if (!data.error.length) {
						message.success('刷新成功!');
						this.setState({
							loading: false
						});
					} else {
						message.warning(data.error[0].message);
					}
					this.props.handOk();
				}.bind(this)
			);
		},
		//撤销发布
		revokeFun() {
			this.setState({
				loading: true
			});
			$.ajax({
				method: 'get',
				dataType: 'json',
				crossDomain: false,
				url: globalConfig.context + '/api/user/jtBusiness/project/offShelf',
				data: {
                    id: this.state.id,
                    auditStatus:this.state.auditStatus
				}
			}).done(
				function(data) {
					if (!data.error.length) {
						message.success('撤销成功!');
						this.setState({
							loading: false
						});
					} else {
						message.warning(data.error[0].message);
					}
					this.props.handOk();
				}.bind(this)
			);
		},
		componentWillMount() {
			if (this.props.data.id) {
				this.loadData(this.props.data.id);
			} else {
				this.state.data = {};
			}
		},
		componentWillReceiveProps(nextProps) {
			if (!this.props.visible && nextProps.visible) {
				this.state.textFileList = [];
				this.state.videoFileList = [];
				if (nextProps.data.id) {
					this.loadData(nextProps.data.id);
				} else {
					this.state.data = {};
					this.state.pictureUrl = [];
				}
				this.props.form.resetFields();
			}
		},
		render() {
			const theData = this.state.data || {};
            const FormItem = Form.Item;
            
			return (
				<div className="patent-desc">
					<Form
						layout="horizontal"
						onSubmit={(e) => {
							this.handleSubmit(e, 0);
						}}
						id="demand-form"
					>
						<Spin spinning={this.state.loading}>
							<div className="clearfix">
								<FormItem
									className="half-item"
									labelCol={{ span:8 }}
									wrapperCol={{ span: 12 }}
									label="项目名称"
								>
									<span>{theData.name}</span>
								</FormItem>
								<FormItem
									className="half-item"
									labelCol={{ span: 8 }}
									wrapperCol={{ span: 12 }}
									label="业务品类"
								>
									<span>{this.state.name}</span>
								</FormItem>
							</div>
							<div className="clearfix">
								<FormItem
									className="half-item"
									labelCol={{ span:8 }}
									wrapperCol={{ span: 12 }}
									label="省份"
								>
									<span>{theData.province!='0'?getprovince(theData.province):'全国'}</span>
								</FormItem>
								<FormItem
									className="half-item"
									labelCol={{ span: 8 }}
									wrapperCol={{ span: 12 }}
									label="热点"
								>
									<span>{theData.isHot=='1' ? '是' :theData.isHot=='0'?'否':''}</span>
								</FormItem>
							</div>
							<div className="clearfix">
								<FormItem
									className="half-item"
									labelCol={{ span:8 }}
									wrapperCol={{ span: 12 }}
									label="市场价"
								>
									<span>{theData.price}万元</span>
								</FormItem>
								<FormItem
									className="half-item"
									labelCol={{ span:8 }}
									wrapperCol={{ span: 12 }}
									label="活动价"
								>
									<span>{theData.activityPrice}万元</span>
								</FormItem>
								<FormItem
									className="half-item"
									labelCol={{ span:8 }}
									wrapperCol={{ span: 12 }}
									label="最低折扣"
								>
									<span>{theData.offset} 万元</span>
								</FormItem>
								<FormItem
									className="half-item"
									labelCol={{ span:8 }}
									wrapperCol={{ span: 12 }}
									label="会员价"
								>
									<span>{theData.memberPrice} 万元</span>
								</FormItem>
								<FormItem
									className="half-item"
									labelCol={{ span: 8 }}
									wrapperCol={{ span: 12 }}
									label="活动生效"
								>
									<span>{theData.activityFlag=='1' ? '有效' :theData.activityFlag=='0'?'无效':''}</span>
								</FormItem>
								<FormItem
									className="half-item"
									labelCol={{ span: 8}}
									wrapperCol={{ span: 12 }}
									label="创建时间"
								>
									<span>{this.state.createTime}</span>
								</FormItem>
							</div>
							<div className="clearfix">
								<FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 12 }} label="标签">
									<span>{this.state.tags}</span>
								</FormItem>
							</div>
							<div className="clearfix">
								<FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 12 }} label="项目营销说明">
									<span>{theData.advertisement}</span>
								</FormItem>
							</div>
							<div className="clearfix">
								<FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 12 }} label="业务项目服务内容">
									<span>{theData.introduce}</span>
								</FormItem>
							</div>
							<div className="clearfix">
								<FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 12 }} label="业务项目价值及作用">
									<span>{theData.value}</span>
								</FormItem>
							</div>
							<div className="clearfix">
								<FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 12 }} label="业务项目客户基本条件">
									<span>{theData.applyConditions}</span>
								</FormItem>
							</div>
							<div className="clearfix pictures">
								<FormItem
									className="half-item"
									labelCol={{ span: 8 }}
									wrapperCol={{ span: 10 }}
									label="业务项目图标(小)"
								>
									<Upload
										className="demandDetailShow-upload"
										listType="picture-card"
										fileList={this.state.orgCodeUrl}
										onPreview={(file) => {
											this.setState({
												previewImage: file.url || file.thumbUrl,
												previewVisible: true
											});
										}}
									/>
									<Modal
										maskClosable={false}
										footer={null}
										visible={this.state.previewVisible}
										onCancel={() => {
											this.setState({ previewVisible: false });
										}}
									>
										<img alt="" style={{ width: '100%' }} src={this.state.previewImage || ''} />
									</Modal>
								</FormItem>
								<FormItem
									className="half-item"
									labelCol={{ span: 8 }}
									wrapperCol={{ span: 12 }}
									label="业务项目图标(大)"
								>
									<Upload
										className="demandDetailShow-upload"
										listType="picture-card"
										fileList={this.state.companyLogoUrl}
										onPreview={(file) => {
											this.setState({
												previewImage: file.url || file.thumbUrl,
												previewVisible: true
											});
										}}
									/>
									<Modal
										maskClosable={false}
										footer={null}
										visible={this.state.previewVisible}
										onCancel={() => {
											this.setState({ previewVisible: false });
										}}
									>
										<img alt="" style={{ width: '100%' }} src={this.state.previewImage || ''} />
									</Modal>
								</FormItem>
							</div>
							<div className="clearfix">
								{this.props.data.auditStatus == '2' && (
									<FormItem wrapperCol={{ span: 12, offset: 3 }}>
										<Button
											className="set-submit"
											type="primary"
											onClick={(e) => {
												this.updateFun();
											}}
										>
											刷新发布
										</Button>
										<Button
											type="danger"
											style={{ marginRight: 20 }}
											onClick={(e) => {
												this.revokeFun();
											}}
										>
											撤销发布
										</Button>
										<Button className="set-submit" type="ghost" onClick={this.cancelFun}>
											取消
										</Button>
									</FormItem>
								)}
							</div>
						</Spin>
					</Form>
				</div>
			);
		}
	})
);
export default DemandDetail;