import React from 'react'; import { Table, Modal, message, Spin, Input, Select, Button, Radio,Form ,Upload,Popconfirm,AutoComplete,DatePicker} from 'antd'; import $ from 'jquery/src/ajax'; import '../../userMangagement.less'; import {splitUrl,getOrderType,getProjectState,getOrderState,getTransactionProject,getChangeState,getPaymentState,getOrderChannel,getApprovedState,getTransactionChannel,beforeUploadFile} from '../../../../tools.js'; import ImgList from "../../../../common/imgList"; import EnterpriseNameChange from "../../../../common/enterpriseNameChange"; const NewService = 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, pagination: false, }); }.bind(this), }).always(function () { this.setState({ loading: false }); }.bind(this)); }, getInitialState() { return { loading: false, visible: false, orgCodeUrl:[], lookState:false, checkedKeys: [], lookflowList:[], editFw:[], signBillVisible:false, commod:'', 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) } }, { title: '操作', dataIndex: 'ABC', key: 'ABC', render: (text, record) => { return
{this.delectRow(record)}} okText="是" cancelText="否">
} }, ], 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', } ] }; }, //新建订单、编辑订单保存 handleSubmit(e) { e.preventDefault(); if(this.props.userDetaile){ if(!this.state.signTotalAmount){ message.warning('请输入实签订单金额!'); this.refs.signFirstPayment.focus() return false; }; if(!this.state.signFirstPayment){ message.warning('实签首款金额不能为空'); this.refs.signFirstPayment.focus() return false; }; }else{ if(this.state.orderType==undefined){ message.warning('请选择订单类型'); return false; } if(this.state.autoId==undefined||!this.state.autoId){ message.warning('客户名称不匹配'); return false; }; } this.props.form.validateFields((err) => { if(!err) { this.setState({ loading: true }); let api=this.props.userDetaile?'/api/admin/order/updateServiceOrder':'/api/admin/order/createOrder'; $.ajax({ method: "POST", dataType: "json", crossDomain: false, url: globalConfig.context + api, data: !this.props.userDetaile?{ uid:this.state.autoId, orderType:this.state.orderType }:{ orderNo:this.props.datauser.orderNo, // firstPayment:this.state.firstPayment, // orderAmount:this.state.orderAmount, signTotalAmount:this.state.signTotalAmount, signFirstPayment:this.state.signFirstPayment, orderRemarks:this.state.orderRemarks, contractNo:this.state.contractNo } }).done(function(data) { this.setState({ loading: false }); if(!data.error.length) { message.success('保存成功!'); this.handleOk() } else { message.warning(data.error[0].message); } }.bind(this)); } }); }, //查看基本详情基本信息 loaduser(record){ this.state.orderList=[]; $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + '/api/admin/order/getServiceOrderDetail', data: { orderNo: record?record.orderNo:this.props.datauser.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({ orderUid: thisData.buyerId, id:thisData.id, orderList:thisData, changeStatus:thisData.changeStatus, 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.contractPictureUrl ? splitUrl(thisData.contractPictureUrl, ',', globalConfig.avatarHost + '/upload') : [], //签单 orderNo:thisData.orderNo,//订单编号 buyerName:thisData.buyerName, contractNo:thisData.contractNo }); }.bind(this), }).always(function () { this.setState({ loading: false }); }.bind(this)); }, handleOk() { this.setState({ visible: false, }); this.props.closeDesc(false, true); }, handleCancel() { this.setState({ visible: false, }); this.props.closeDesc(false); }, //删除 delectRow(record) { this.setState({ loading: true }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/order/deleteOrderCommodity", data: { detailId:record.id } }).done(function (data) { if (!data.error.length) { message.success('删除成功!'); this.setState({ loading: false, }); } else { message.warning(data.error[0].message); }; this.loadData(); }.bind(this)); }, //添加明细 addDetailed(){ this.setState({ customerArr:[], commodityName:'', commodityId:'', commodityMode:'', commodityQuantity:'', commodityPrice:'', discountPrice:'', commodityFirstPayment:'', discountFirstPayment:'', remarks:'', addState:1, addnextVisible: true }) }, nextCancel() { this.setState({ addnextVisible: false }) }, tableRowClick(record) { this.setState({ editFw:record, addnextVisible:true, addState:0, }); }, componentWillMount() { }, //查看订单详情里面的各种骚操作 //受理订单 admissibleOrderOK(){ let idArr=this.props.datauser; this.props.admissibleOrder(idArr,true) }, //拒绝受理 admissibleOrderCancel(){ let idArr=this.props.datauser; this.props.admissibleOrder(idArr,false) }, //取消订单 cancelOrder(){ let idArr=this.props.datauser; this.props.operation(idArr,3) }, //作废订单 scrapOrder(){ let idArr=this.props.datauser; this.props.operation(idArr,2) }, //锁定订单 lockOrder(){ let idArr=this.props.datauser; this.props.operation(idArr,0) }, //解锁订单 unlockOrder(){ let idArr=this.props.datauser; this.props.operation(idArr,1) }, //签单 signBitt(){ this.setState({ contractNo:this.state.contractNo, signVisible:true, entryTime:undefined, selTime:undefined }) }, signBittOk(){ this.setState({ signVisible:false }) }, signBillOk(){ this.setState({ signBillVisible:false }) }, signBillCancel() { this.setState({ signVisible:false, signBillVisible: false, }); this.props.closeDesc(false, true); }, //加载(自动补全) supervisor(e,state){ //客户名称与服务名称自动补全 let api=state?'/api/admin/customer/findCustomerByName':'/api/admin/order/getBusinessProjectByName'; $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + api, data:state?{ name:e }:{ businessName:e }, success: function (data) { let thedata=data.data; if (!thedata) { if (data.error && data.error.length) { message.warning(data.error[0].message); }; thedata = {}; }; this.setState({ states:state, customerArr:thedata, }); }.bind(this), }).always(function () { this.setState({ loading: false }); }.bind(this)); }, //上级主管输入框失去焦点是判断客户是否存在 selectAuto(value){ let kid=[]; let fwList=this.state.customerArr; fwList.map(function(item){ if(value==item.bname){ kid=item } }) this.setState({ commodityName:value, gid:kid.id, commodityPrice:kid.price==0?kid.price.toString():kid.price, commodityFirstPayment:kid.firstPayment==0?kid.firstPayment.toString():kid.firstPayment }) }, //服务值改变时请求客户名称 httpChange(e){ this.state.gid=''; if(e.length>=1){ this.supervisor(e,false); } this.setState({ commodityName:e }) }, //新建明细保存 nextSubmit(e) { e.preventDefault(); if(this.state.gid==undefined||!this.state.gid){ message.warning('服务名称不匹配!'); return false; }; if(!this.state.commodityPrice){ message.warning('请输入市场价格!'); this.refs.commodityPrice.focus(); return false; }; if(!this.state.discountPrice){ message.warning('请输入实签价格!'); this.refs.discountPrice.focus(); return false; }; if(!this.state.commodityQuantity){ message.warning('请输入商品数量!'); this.refs.commodityQuantity.focus(); return false; }; if(!this.state.commodityFirstPayment){ message.warning('请输入市场首付金额!'); this.refs.commodityFirstPayment.focus(); return false; }; if(!this.state.discountFirstPayment){ message.warning('请输入签单首付金额!'); this.refs.discountFirstPayment.focus(); return false; }; this.setState({ loading: true }); let api=this.state.addState?'/api/admin/order/addOrderCommodity':'/api/bianji'; $.ajax({ method: "POST", dataType: "json", crossDomain: false, url: globalConfig.context +api , data: { commodityId:this.state.gid, orderNo:this.props.datauser.orderNo, commodityName:this.state.commodityName,//商品名称 commodityMode:this.state.commodityMode,//商品规格 commodityQuantity:this.state.commodityQuantity,//商品数量 commodityType:0,//商品类型 commodityPrice:this.state.commodityPrice,//市场总价 discountPrice:this.state.discountPrice,//签单总价 commodityFirstPayment:this.state.commodityFirstPayment,//市场首付金额 discountFirstPayment:this.state.discountFirstPayment,//签单首付金额 remarks:this.state.remarks,//服务说明 } }).done(function(data) { this.setState({ loading: false }); if(!data.error.length) { message.success('保存成功!'); this.nextCancel() this.loaduser(this.props.datauser); this.loadData(); } else { message.warning(data.error[0].message); } }.bind(this)); }, //签单保存 signOk(e){ e.preventDefault(); this.temporarySave(false) }, //暂存信息 temporary(){ this.temporarySave(true) }, //签单时间选择 selTime(e,index){ this.setState({ entryTime:e, selTime:index }) }, signSub(e){ e.preventDefault(); if(!this.state.selTime){ message.warning("请选择签单时间!"); return false; }; this.setState({ loading: true }); $.ajax({ method: "POST", dataType: "json", crossDomain: false, url: globalConfig.context +'/api/admin/order/signServiceOrder' , data: { orderNo:this.props.datauser.orderNo, signTotalAmount:this.state.signTotalAmount, signFirstPayment:this.state.signFirstPayment, approval:this.state.approval, orderRemarks:this.state.orderRemarks, contractNo:this.state.contractNo, signTime:this.state.selTime } }).done(function(data) { this.setState({ loading: false }); if(!data.error.length) { message.success('操作成功!'); this.signBillCancel() } else { message.warning(data.error[0].message); } }.bind(this)); }, //签单保存与暂存函数 temporarySave(e){ if(!this.state.signTotalAmount){ message.warning('实签款项不能为空!') return false; }; if(!this.state.signTotalAmount){ message.warning('实签首款不能为空!') return false; }; if(this.state.approval==undefined){ message.warning('实签首款不能为空!') return false; }; if(!this.state.contractNo){ message.warning("请输入合同编号!"); return false; } this.setState({ loading: true }); let api=e?'/api/admin/order/updateServiceOrder':'/api/admin/order/signServiceOrder'; $.ajax({ method: "POST", dataType: "json", crossDomain: false, url: globalConfig.context +api , data: { orderNo:this.props.uid?this.props.uid.orderNo:this.props.datauser.orderNo, signTotalAmount:this.state.signTotalAmount, signFirstPayment:this.state.signFirstPayment, approval:this.state.approval, orderRemarks:this.state.orderRemarks, contractNo:this.state.contractNo } }).done(function(data) { this.setState({ loading: false }); if(!data.error.length) { message.success('操作成功!'); this.signBillCancel() } else { message.warning(data.error[0].message); } }.bind(this)); }, 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, 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 }) }, /* -----变更操作开始----- */ //新建变更 addChange(){ this.setState({ addChangeState:true, stateAdd:1, changeRemarks:'' }) }, //产看变更记录 lookChange(){ this.setState({ addChangeState:true, stateAdd:0 }) this.lookChangeData() }, //查看变更列表修改变更 modifyChangeCancel(){ this.setState({ modifyChangeState:false }) }, //获取变更记录 lookChangeData(){ this.setState({ loading:true }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context +'/api/admin/order/viewOrderChange', 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++) { theArr = data.data; }; }; this.setState({ changeHtml: theArr, }); }.bind(this), }).always(function () { this.setState({ loading: false }); }.bind(this)); }, //添加变更状态 addChangeCancel(){ this.setState({ addChangeState:false }) }, //新建变更 subChangeState(e){ e.preventDefault(); this.setState({ loading: true }); $.ajax({ method: "POST", dataType: "json", crossDomain: false, url: globalConfig.context +'/api/admin/order/addOrderChange' , data: { orderNo:this.props.datauser.orderNo, changeComment:this.state.changeRemarks } }).done(function(data) { this.setState({ loading: false }); if(!data.error.length) { message.success('保存成功!'); this.addChangeCancel(); this.loaduser(); } else { message.warning(data.error[0].message); } }.bind(this)); }, //查看修改变更 modifyChange(item){ this.setState({ modifyChangeState:true, changePromoter:item.creater, changeTime:item.createTime, changeState:item.changeStatus, changeRemarks:item.changeComment, idt:item.changeId, orderNot:item.orderNo }) }, //删除变更 modifyDelete(item){ this.setState({ loading: true }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context +'/api/admin/order/deleteOrderChange' , data: { changeId:item.changeId, } }).done(function(data) { this.setState({ loading: false }); if(!data.error.length) { message.success('删除成功!'); this.lookChangeData(); this.loaduser() } else { message.warning(data.error[0].message); } }.bind(this)); }, //修改变更保存 changeModify(e){ e.preventDefault(); this.setState({ loading: true }); $.ajax({ method: "POST", dataType: "json", crossDomain: false, url: globalConfig.context +'/api/admin/order/updateOrderChange' , data: { changeId:this.state.idt, changeStatus:this.state.changeState, changeComment:this.state.changeRemarks } }).done(function(data) { this.setState({ loading: false }); if(!data.error.length) { message.success('保存成功!'); this.modifyChangeCancel(); this.lookChangeData(); this.loaduser() } else { message.warning(data.error[0].message); } }.bind(this)); }, /*-----变更操作结束----*/ componentWillReceiveProps(nextProps) { //props改变时触发 this.state.visible = nextProps.showDesc; this.state.signBillVisible=nextProps.signBillVisible; if(this.state.signBillVisible){ this.loaduser(nextProps.uid) }; if(nextProps.userDetaile && nextProps.showDesc) { this.loaduser(nextProps.datauser); this.loadData(nextProps.datauser); }else{ this.setState({ orderType:undefined, customerName:'', autoId:'', customerArr:[] }) } }, render() { const FormItem = Form.Item const formItemLayout = { labelCol: { span: 8 }, wrapperCol: { span: 14 }, }; const changeHtml=this.state.changeHtml ||[]; const editFws=this.state.editFw; const orderDetaiel=this.state.orderList || [] const dataSources=this.state.customerArr || []; const options = this.state.states?dataSources.map((group,index) => {group.name} ):dataSources.map((group) => {group.bname} ) return(
{this.state.visible ?
{!this.props.userDetaile?
:
{orderDetaiel.orderNo} {orderDetaiel.createTime} {orderDetaiel.buyerName} {getOrderType(orderDetaiel.orderType)} {getOrderChannel(orderDetaiel.orderChannel)} {getOrderState(orderDetaiel.orderStatus)} {orderDetaiel.actuallyTotalAmount+'万元'} {getPaymentState(orderDetaiel.liquidationStatus)} {orderDetaiel.orderAmount+'万元'} {orderDetaiel.firstPayment+'万元'} {orderDetaiel.deleteSign==0&&orderDetaiel.orderStatus==2||orderDetaiel.changeStatus==1?
{this.setState({signTotalAmount:e.target.value})}} style={{width:'240px'}} /> * {this.setState({signFirstPayment:e.target.value})}} style={{width:'240px'}} /> * {getApprovedState(this.state.approval)} {this.setState({contractNo:e.target.value})}} style={{width:'240px'}} />
{this.setState({orderRemarks:e.target.value})}}/>
{getChangeState(orderDetaiel.changeStatus)}
{orderDetaiel.orderStatus>=3&&
}
:
{orderDetaiel.signTotalAmount+'万元'} {orderDetaiel.signFirstPayment+'万元'} {getApprovedState(orderDetaiel.approval)} {orderDetaiel.contractNo}
{/* {*/} {/* this.setState({*/} {/* previewImage: file.url || file.thumbUrl,*/} {/* previewVisible: true,*/} {/* });*/} {/* }} />*/} {this.state.orgCodeUrl && this.state.visible ?
:
} { this.setState({ previewVisible: false }) }}>

{this.state.orderRemarks}

{getChangeState(orderDetaiel.changeStatus)}
{orderDetaiel.orderStatus>=3&&
}
}
{orderDetaiel.salesmanName} {orderDetaiel.projectType}
{orderDetaiel.createTime} {orderDetaiel.signTime} {orderDetaiel.financeName} {orderDetaiel.technicianName} {orderDetaiel.setUpTime} {getProjectState(orderDetaiel.projectStage)}
项目业务 {this.props.datauser.active.applySign||orderDetaiel.changeStatus==1?:''}
}
{!this.props.userDetaile||orderDetaiel.deleteSign==0&&orderDetaiel.orderStatus==2||orderDetaiel.changeStatus==1?:''} {this.props.userDetaile?
{this.props.datauser.active.confirmIntention&&{this.admissibleOrderOK()}} onCancel={()=>{this.admissibleOrderCancel()}} okText="同意" cancelText="拒绝"> } {this.props.datauser.active.applySign&&} {this.props.datauser.active.applyForCancel&&{this.cancelOrder()}} okText="确认" cancelText="取消"> } {this.props.datauser.active.applyRevoke&&{this.scrapOrder()}} okText="确认" cancelText="取消"> } {this.props.datauser.active.applyLock&&{this.lockOrder()}} okText="确认" cancelText="取消"> } {this.props.datauser.active.applyUnLock&&{this.unlockOrder()}} okText="确认" cancelText="取消"> }
:''}
:
}
{this.state.addState?
* {this.state.commodityPrice} {this.setState({discountPrice:e.target.value})}} ref="discountPrice"/> * {this.setState({commodityQuantity:e.target.value})}} ref="commodityQuantity"/> * {this.state.commodityFirstPayment} {this.setState({discountFirstPayment:e.target.value})}} ref='discountFirstPayment'/> * {this.setState({commodityMode:e.target.value})}} />
{this.setState({remarks:e.target.value})}} />
:
{editFws.commodityName} {editFws.commodityPrice} {editFws.discountPrice+'万元'} {editFws.commodityQuantity} {editFws.commodityMode} {editFws.commodityFirstPayment+'万元'} {editFws.discountFirstPayment+'万元'}
{editFws.remarks}
}
{this.state.orderNo} {this.state.buyerName} {this.setState({signTotalAmount:e.target.value})}} /> * {this.setState({signFirstPayment:e.target.value})}} /> * * {this.setState({contractNo:e.target.value})}} style={{width:'200px'}} /> *
{this.setState({orderRemarks:e.target.value})}}/>
{/**/}
*
{this.selTime(e,time)}} />*
{this.state.stateAdd?
{this.setState({changeRemarks:e.target.value})}}/>
:
{ changeHtml.length?changeHtml.map(function(item,index){ return (
{item.creater} {item.createTime}
{getChangeState(item.changeStatus)} {/**/}

{item.changeComment}

) },this):

暂无变更记录

}
}
{this.state.changePromoter} {this.state.changeTime}
{this.setState({changeState:e.target.value})}} value={this.state.changeState}> 变更中 变更完成
{this.setState({changeRemarks:e.target.value})}}/>
) } })); export default NewService;