| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590 | import React from 'react';import { Icon, Table, Modal, message, Spin, Input, Select, Button, Form ,Upload,Popconfirm,AutoComplete} from 'antd';import ajax from 'jquery/src/ajax/xhr.js';import $ from 'jquery/src/ajax';import '../../userMangagement.less';import {getApprovedState,getPaymentState,getOrderState,getOrderChannel,getOrderType,getTransactionProject,getTransactionChannel} from '../../../../tools.js';//图片组件const PicturesWall = React.createClass({    getInitialState() {        return {            previewVisible: false,            previewImage: '',            fileList: [],        }    },    handleCancel() {        this.setState({ previewVisible: false })    },    handlePreview(file) {        this.setState({            previewImage: file.url || file.thumbUrl,            previewVisible: true,        });    },    handleChange(info) {        let fileList = info.fileList;        this.setState({ fileList });        this.props.fileList(fileList);    },    componentWillReceiveProps(nextProps) {        this.state.fileList = nextProps.pictureUrl;     },    render() {        const { previewVisible, previewImage, fileList } = this.state;        const uploadButton = (            <div>                <Icon type="plus" />                <div className="ant-upload-text">点击上传</div>            </div>        );        return (            <div style={{display:"inline-block"}}>                <Upload                    action={globalConfig.context + "/api/admin/superviser/uploadAdminImg"}                    data={{ 'sign': this.props.pictureSign }}                    listType="picture-card"                    fileList={fileList}                    onPreview={this.handlePreview}                    onChange={this.handleChange} >                    {fileList.length >= 4 ? null : uploadButton}                </Upload>                <Modal maskClosable={false} visible={previewVisible} footer={null} onCancel={this.handleCancel}>                    <img alt="example" style={{ width: '100%' }} src={previewImage} />                </Modal>            </div>        );    }});const MySettlementDetaile = Form.create()(React.createClass({	loadData(record) {        this.state.data = [];        this.setState({            loading: true        });        $.ajax({            method: "get",            dataType: "json",            crossDomain: false,            url: globalConfig.context + '/api/admin/order/getOrderCommodity',            data: {            	orderNo:record?record.orderNo:this.props.datauser.orderNo            },            success: function (data) {                let theArr = [];                if (!data.data) {                    if (data.error && data.error.length) {                        message.warning(data.error[0].message);                    };                } else {                    for (let i = 0; i < data.data.length; i++) {                        let thisdata = data.data[i];                        theArr.push({                             key: i,                             id:thisdata.id,                             orderNo:thisdata.orderNo,                             commodityName:thisdata.commodityName,                             commodityType:thisdata.commodityType,                             commodityMode:thisdata.commodityMode,                             commodityQuantity:thisdata.commodityQuantity,                             commodityPrice:thisdata.commodityPrice,                             discountPrice:thisdata.discountPrice,                             commodityFirstPayment:thisdata.commodityFirstPayment,                             createTimes:thisdata.createTimes,                             discountFirstPayment:thisdata.discountFirstPayment,                             remarks:thisdata.remarks,                        });                    };                   }                this.setState({                    dataSource: theArr,                });            }.bind(this),        }).always(function () {            this.setState({                loading: false            });        }.bind(this));    },	getInitialState() {		return {			loading: false,			visible: false,			contractState:false,			orgCodeUrl:[],			lookflowList:[],			checkedKeys: [],			columns: [				{                    title: '业务项目名称',                    dataIndex: 'commodityName',                    key: 'commodityName'                }, {                    title: '项目类别',                    dataIndex: 'commodityType',                    key: 'commodityType',                    render:(text)=>{                    	return (getOrderType(text))                    }                },{                    title: '项目数量',                    dataIndex: 'commodityQuantity',                    key: 'commodityQuantity'                }, {                    title: '服务市价(万元)',                    dataIndex: 'commodityPrice',                    key: 'commodityPrice'                }, {                    title: '实签价格(万元)',                    dataIndex: 'discountPrice',                    key: 'discountPrice'                }, {                    title: '下单时间',                    dataIndex: 'createTimes',                    key: 'createTimes'                }, {                    title: '项目说明',                    dataIndex: 'remarks',                    key: 'remarks',					render:(text)=>{						return (text&&text.length>8?text.substr(0,8)+'…':text)					}                }			],			flowList:[				{                    title: '平台流水号',                    dataIndex: 'billNo',                    key: 'billNo',                }, {                    title: '平台流水时间',                    dataIndex: 'createTime',                    key: 'createTime'                }, {                    title: '流水金额(万元)',                    dataIndex: 'transactionAmount',                    key: 'transactionAmount'                },{                    title: '付款人名称',                    dataIndex: 'payerName',                    key: 'payerName'                }, {                    title: '收款人名称',                    dataIndex: 'payeeName',                    key: 'payeeName'                },                {                    title: '流水科目',                    dataIndex: 'transactionSubject',                    key: 'transactionSubject',                    render:(text)=>{return getTransactionProject(text) }                }, {                    title: '流水渠道',                    dataIndex: 'transactionChannel',                    key: 'transactionChannel',                    render:(text)=>{return getTransactionChannel(text) }                },{                    title: '财务流水号',                    dataIndex: 'financialPayNo',                    key: 'financialPayNo',                }, {                    title: '财务流水时间',                    dataIndex: 'financialPayTime',                    key: 'financialPayTime',                }, {                    title: '流水确认',                    dataIndex: 'confirmSign',                    key: 'confirmSign',                    render:(text)=>{return text?'已确认':'待确认' }                },{                    title: '确认时间',                    dataIndex: 'confirmTime',                    key: 'confirmTime',                }			]		};	},	//查看基本详情基本信息    loaduser(record){    	if(record){    	this.state.orderList=[]    	$.ajax({            method: "get",			dataType: "json",			crossDomain: false,			url: globalConfig.context + '/api/admin/order/getServiceOrderDetail',            data: {              orderNo: record.orderNo            },            success: function (data) {                let thisData = data.data;                                if (!thisData) {                    if (data.error && data.error.length) {                        message.warning(data.error[0].message);                    };                    thisData = {};                };                this.setState({					id:thisData.id,					orderList:thisData,					orderAmount:thisData.orderAmount,					firstPayment:thisData.firstPayment,					signTotalAmount:thisData.signTotalAmount,					signFirstPayment:thisData.signFirstPayment,					approval:thisData.approval==0?thisData.approval.toString():thisData.approval,					orderRemarks:thisData.orderRemarks,                    orgCodeUrl: thisData.orgCodeUrl ? splitUrl(thisData.orgCodeUrl, ',', globalConfig.avatarHost + '/upload') : [],               		//签单               		orderNo:thisData.orderNo,//订单编号               		buyerName:thisData.buyerName,                });            }.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() {			},	nextCancel() {		this.setState({			addnextVisible: false		})	},	lookflow(){		this.setState({			loading: true,			lookVisible:true,		})		this.state.lookSource=[];        $.ajax({            method: "get",            dataType: "json",            crossDomain: false,            url: globalConfig.context +'/api/admin/order/getBillByOrderNo',            data: {            	orderNo:this.props.datauser.orderNo,            },            success: function (data) {                let theArr = [];                if (!data.data) {                    if (data.error && data.error.length) {                        message.warning(data.error[0].message);                    };                } else {                    for (let i = 0; i < data.data.length; i++) {                        let thisdata = data.data[i];                        theArr.push({                             key: i,	                         billNo: thisdata.billNo,	                         transactionAmount:thisdata.transactionAmount,	                         createTime:thisdata.createTime, 	                         transactionAmount:thisdata.transactionAmount,	                         payerName:thisdata.payerName,	                         payeeName:thisdata.payeeName,	                         transactionSubject:thisdata.transactionSubject,	                         transactionChannel:thisdata.transactionChannel,	                         financialPayNo:thisdata.financialPayNo,	                         financialPayTime:thisdata.financialPayTime,	                         orderNo:thisdata.orderNo,	                         departmentName:thisdata.departmentName,	                         salesmanName:thisdata.salesmanName,	                         financeName:thisdata.financeName,	                         confirmSign:thisdata.confirmSign,	                         deleteSign:thisdata.deleteSign,	                         confirmTime:thisdata.confirmTime                        });                    };                };                this.setState({                    lookflowList: theArr,                });            }.bind(this),        }).always(function () {            this.setState({                loading: false            });        }.bind(this));	},	lookCancel(){		this.setState({			lookVisible:false		})	},	tableRowClick(record, index) {       this.setState({        	editFw:record,        	addnextVisible:true,        });    },	componentWillReceiveProps(nextProps) { //props改变时触发		this.state.visible = nextProps.showDesc;		if(nextProps.userDetaile && nextProps.showDesc ) {			this.loaduser(nextProps.datauser);			this.loadData(nextProps.datauser);		}	},	render() {		const FormItem = Form.Item		const formItemLayout = {			labelCol: { span: 8 },			wrapperCol: { span: 14 },		};		const editFws=this.state.editFw || [];		const orderDetaiel=this.state.orderList || [];		return(			<div>            <Modal maskClosable={false} visible={this.state.visible}                        onOk={this.handleOk} onCancel={this.handleCancel}                        width='1000px'                        title='查看订单详情'                                             footer=''                        className="admin-desc-content">			            <Form layout="horizontal" id="demand-form" style={{paddingBottom:'40px'}} >			                <Spin spinning={this.state.loading}>		                        <div className="clearfix">		                            <div className="clearfix">			                       		<FormItem className="half-item"				                            {...formItemLayout}				                            label="订单编号" >				                            <span>{orderDetaiel.orderNo}</span>			                    		</FormItem>			                    		<FormItem className="half-item"				                            {...formItemLayout}				                            label="下单时间" >  				                            <span>{orderDetaiel.createTime}</span>			                    		</FormItem>			                    		<FormItem className="half-item"				                            {...formItemLayout}				                            label="客户名称" >  				                            <span>{orderDetaiel.buyerName}</span>			                    		</FormItem>			                    		<FormItem className="half-item"				                            {...formItemLayout}				                            label="订单类型" >  				                            <span>{getOrderType(orderDetaiel.orderType)}</span>			                    		</FormItem>			                    		<FormItem className="half-item"				                            {...formItemLayout}				                            label="订单渠道" >  				                            <span>{getOrderChannel(orderDetaiel.orderChannel)}</span>			                    		</FormItem>			                    		<FormItem className="half-item"				                            {...formItemLayout}				                            label="订单状态" >  				                            <span>{getOrderState(orderDetaiel.orderStatus)}</span>			                    		</FormItem>			                    		<FormItem className="half-item"				                            {...formItemLayout}				                            label="已收款项" >  				                            <span>{orderDetaiel.actuallyTotalAmount+"万元"}</span>			                    		</FormItem>			                    		<FormItem className="half-item"				                            {...formItemLayout}				                            label="结算状态" >  				                            <span>{getPaymentState(orderDetaiel.liquidationStatus)}</span>			                    		</FormItem>			                    		<FormItem className="half-item"				                            {...formItemLayout}				                            label="市价订单金额" >    			                            	<span>{orderDetaiel.orderAmount+"万元"}</span>					                    </FormItem>					                    <FormItem className="half-item"				                            {...formItemLayout}				                            label="市价首款金额" >   				                            <span>{orderDetaiel.firstPayment+"万元"}</span>					                    </FormItem>					                    <div className='clearfix'>								        	<FormItem className="half-item"					                            {...formItemLayout}					                            label="实签订单金额" >   					                            <span>{orderDetaiel.signTotalAmount+"万元"}</span>				                    		</FormItem>				                    		<FormItem className="half-item"					                            {...formItemLayout}					                            label="实签首款金额" >   					                            <span>{orderDetaiel.signFirstPayment+"万元"}</span>				                    		</FormItem>				                    		<FormItem className="half-item"					                            {...formItemLayout}					                            label="特批立项" >   					                            <span>{getApprovedState(orderDetaiel.approval)}</span>				                    		</FormItem>											<div className="clearfix">												<FormItem							                        labelCol={{ span: 4 }}							                        wrapperCol={{ span: 18 }}							                        label="合同扫描件" >						                            <Upload className="demandDetailShow-upload"						                                listType="customer_sys_file"						                                fileList={this.state.orgCodeUrl}						                                onPreview={(file) => {						                                    this.setState({						                                        previewImage: file.url || file.thumbUrl,						                                        previewVisible: true,						                                    });						                                }} >						                            </Upload>						                            <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'>									        	<FormItem										            labelCol={{ span: 4 }}										            wrapperCol={{ span: 16 }}										            label="订单留言" >									        		<span>{orderDetaiel.orderRemarks}</span>										        </FormItem>									        </div>								        </div>			                        </div>			                        <div className='clearfix'>			                    		<FormItem className="half-item"				                            {...formItemLayout}				                            label="订单负责人" >  				                            <span>{orderDetaiel.salesmanName}</span>			                    		</FormItem>			                    	</div>			                    	<div className='clearfix'>			                    		<FormItem className="half-item"				                            {...formItemLayout}				                            label="意向时间" >  				                            <span>{orderDetaiel.createTime}</span>			                    		</FormItem>			                    		<FormItem className="half-item"				                            {...formItemLayout}				                            label="签单时间" >  				                            <span>{orderDetaiel.signTime}</span>			                    		</FormItem>			                    		<FormItem className="half-item"				                            {...formItemLayout}				                            label="财务负责人" >  				                            <span>{orderDetaiel.financeName}</span>				                            <Button onClick={this.lookflow} style={{float:'right'}}>查看流水</Button>			                    		</FormItem>			                    		<FormItem className="half-item"				                            {...formItemLayout}				                            label="首付时间" >  				                            <span>{orderDetaiel.createTimez}</span>			                    		</FormItem>			                    		<FormItem className="half-item"				                            {...formItemLayout}				                            label="项目负责人" >  				                            <span>{orderDetaiel.technicianName}</span>			                    		</FormItem>			                    		<FormItem className="half-item"				                            {...formItemLayout}				                            label="立项时间" >  				                            <span>{orderDetaiel.setUpTime}</span>			                    		</FormItem>		                    		</div>					                <div>					                	<span style={{marginLeft:'50px',fontSize:'20px'}}>项目业务</span>					                </div>					                <div className="patent-table">					                    <Spin spinning={this.state.loading}>					                        <Table columns={this.state.columns}					                            dataSource={this.state.dataSource}					                            pagination={false}					                            onRowClick={this.tableRowClick} 					                            />					                    </Spin>						            </div>			                    </div>			                </Spin>			            </Form >			        </Modal> 			        <Modal maskClosable={false} visible={this.state.addnextVisible}                        onOk={this.nextCancel} onCancel={this.nextCancel}                        width='550px'                        title='查看明细服务'                                             footer=''                        className="admin-desc-content">			            <Form layout="horizontal" id="demand-form">			                <Spin spinning={this.state.loading}>		                        <div className="clearfix">	                        	   <FormItem className="half-item"			                            {...formItemLayout}			                            label="服务名称" >		                    			<span>{editFws.commodityName}</span>			                    	</FormItem>			                    	<FormItem className="half-item"			                            {...formItemLayout}			                            label="市场价格" >		                    			<span>{editFws.commodityPrice+"万元"}</span>			                    	</FormItem>			                    	<FormItem className="half-item"			                            {...formItemLayout}			                            label="实签价格" >		                    			<span>{editFws.discountPrice+"万元"}</span>			                    	</FormItem>			                    	<FormItem className="half-item"			                            {...formItemLayout}			                            label="服务数量" >		                    			<span>{editFws.commodityQuantity}</span>			                    	</FormItem>				                    <FormItem className="half-item"			                            {...formItemLayout}			                            label="市场首付金额" >   		                                <span>{editFws.commodityFirstPayment+"万元"}</span>    				                    </FormItem>				                    <FormItem className="half-item"			                            {...formItemLayout}			                            label="签单首付金额" >   		                                <span>{editFws.discountFirstPayment+"万元"}</span>    				                    </FormItem>				                    <div className='clearfix'>				                    	<FormItem 				                            labelCol={{ span: 4 }}								            wrapperCol={{ span: 16 }}				                            label="服务说明" >			                    			<span>{editFws.remarks}</span>				                    	</FormItem>			                    	</div>		                        </div>			                </Spin>			            </Form >			        </Modal>			         <Modal maskClosable={false} visible={this.state.lookVisible}                        onOk={this.lookCancel} onCancel={this.lookCancel}                        width='1300px'                        title= '查看流水'                                           footer=''                        className="admin-desc-content">			            <Form layout="horizontal" id="demand-form">			                <Spin spinning={this.state.loading}>		                        <div className="clearfix">                        	   			<Table columns={this.state.flowList}					                           dataSource={this.state.lookflowList}					                           pagination={false}			                             />		                        </div>			                </Spin>			            </Form >			        </Modal>    	    </div>		)	}}));export default MySettlementDetaile;
 |