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'; 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 <div style={{display:this.props.datauser.active.applySign||this.state.changeStatus==1?'block':'none'}}> <Popconfirm title="是否删除?" onConfirm={()=>{this.delectRow(record)}} okText="是" cancelText="否"> <Button onClick={(e) =>{ e.stopPropagation()}} type="danger">删除</Button> </Popconfirm> </div> } }, ], 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({ 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, 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 }) }, /* -----变更操作开始----- */ //新建变更 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) => <Select.Option key={index} value={group.name}>{group.name}</Select.Option> ):dataSources.map((group) => <Select.Option key={group.id} value={group.bname}>{group.bname}</Select.Option> ) return( <div> <Modal maskClosable={false} visible={this.state.visible} onOk={this.handleOk} onCancel={this.handleCancel} width={!this.props.userDetaile?'600px':'1000px'} title={!this.props.userDetaile?'创建订单':'编辑订单'} footer='' className="admin-desc-content"> <Form layout="horizontal" onSubmit={this.handleSubmit} id="demand-form" style={{paddingBottom:'40px'}} > <Spin spinning={this.state.loading}> <div className="clearfix"> {!this.props.userDetaile?<div></div>: <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> {orderDetaiel.deleteSign==0&&orderDetaiel.orderStatus==2||orderDetaiel.changeStatus==1? <div className='clearfix'> <FormItem className="half-item" {...formItemLayout} label="实签订单金额(万元)" > <Input placeholder="实签订单金额" ref='signTotalAmount' value={this.state.signTotalAmount} onChange={(e)=>{this.setState({signTotalAmount:e.target.value})}} style={{width:'240px'}} /> <span className="mandatory">*</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="实签首款金额(万元)" > <Input placeholder="请输入实签首款金额" ref='signFirstPayment' value={this.state.signFirstPayment} onChange={(e)=>{this.setState({signFirstPayment:e.target.value})}} style={{width:'240px'}} /> <span className="mandatory">*</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="特批立项" > <span>{getApprovedState(this.state.approval)}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="合同编号" > <Input placeholder="请输入合同编号" value={this.state.contractNo} onChange={(e)=>{this.setState({contractNo:e.target.value})}} style={{width:'240px'}} /> </FormItem> <div className='clearfix'> <FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 16 }} label="订单留言" > <Input type="textarea" placeholder="请输入订单留言" rows={4} value={this.state.orderRemarks} onChange={(e)=>{this.setState({orderRemarks:e.target.value})}}/> </FormItem> </div> <div className='clearfix'> <div className="changeStatusTxt"> <FormItem className="half-item" {...formItemLayout} style={{color:'red'}} label="变更状态" > <span>{getChangeState(orderDetaiel.changeStatus)}</span> </FormItem> </div> {orderDetaiel.orderStatus>=3&&<div className="clearfix"> <FormItem className="half-item" {...formItemLayout} label="变更操作" > <Button onClick={this.addChange}>添加变更</Button> </FormItem> <FormItem className="half-item" {...formItemLayout} label="变更操作" > <Button onClick={this.lookChange}>查看变更纪录</Button> </FormItem> </div>} </div> </div>: <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> <FormItem className="half-item" {...formItemLayout} label="合同编号" > <span>{orderDetaiel.contractNo}</span> </FormItem> <div className="clearfix"> <FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 18 }} label="合同扫描件" > <div className="clearfix"> <Upload className="demandDetailShow-upload" beforeUpload={beforeUploadFile} listType="picture-card" 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> </div> </FormItem> </div> <div className='clearfix'> <FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 16 }} label="订单留言" > <p style={{ width: 500, wordWrap: "break-word" }} > {this.state.orderRemarks} </p> </FormItem> </div> <div className='clearfix changeStatusTxt'> <FormItem className="half-item" {...formItemLayout} style={{color:'red'}} label="变更状态" > <span>{getChangeState(orderDetaiel.changeStatus)}</span> </FormItem> </div> {orderDetaiel.orderStatus>=3&&<div className="clearfix"> <FormItem className="half-item" {...formItemLayout} label="变更操作" > <Button onClick={this.addChange}>添加变更</Button> </FormItem> <FormItem className="half-item" {...formItemLayout} label="变更操作" > <Button onClick={this.lookChange}>查看变更纪录</Button> </FormItem> </div>} </div>} <div className='clearfix'> <FormItem className="half-item" {...formItemLayout} label="订单负责人" > <span>{orderDetaiel.salesmanName}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="业务品类" > <span>{orderDetaiel.projectType}</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.technicianName}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="立项时间" > <span>{orderDetaiel.setUpTime}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="项目状态" > <span>{getProjectState(orderDetaiel.projectStage)}</span> </FormItem> </div> <div> <span style={{marginLeft:'50px',fontSize:'20px'}}>项目业务</span> {this.props.datauser.active.applySign||orderDetaiel.changeStatus==1?<Button type='primary' onClick={this.addDetailed} style={{float:'right',marginRight:'50px',marginBottom:'15px',display:true?'block':'none'}}>添加明细</Button>:''} </div> <div className="patent-table"> <Spin spinning={this.state.loading}> <Table columns={this.state.columns} dataSource={this.state.dataSource} pagination={this.state.pagination} onRowClick={this.tableRowClick} /> </Spin> </div> </div>} <div className='addSave' style={{marginTop:'15px'}}> {!this.props.userDetaile||orderDetaiel.deleteSign==0&&orderDetaiel.orderStatus==2||orderDetaiel.changeStatus==1?<Button className="setSave" type="primary" htmlType="submit">保存</Button>:''} {this.props.userDetaile?<div className='operations'> {this.props.datauser.active.confirmIntention&&<Popconfirm title={'请确认您是否受理来自【'+this.props.datauser.buyerName+'】发起的服务意向订单?'} onConfirm={()=>{this.admissibleOrderOK()}} onCancel={()=>{this.admissibleOrderCancel()}} okText="同意" cancelText="拒绝"> <Button style={{marginRight:'15px',marginLeft:'200px'}} type="primary">受理意向</Button> </Popconfirm>} {this.props.datauser.active.applySign&&<Button style={{marginRight:'10px'}} onClick={() =>{this.signBitt()}} type="primary">签单</Button>} {this.props.datauser.active.applyForCancel&&<Popconfirm title={'请确认您是否取消客户【'+this.props.datauser.buyerName+'】的服务订单,订单取消将导致业务终止!'} onConfirm={()=>{this.cancelOrder()}} okText="确认" cancelText="取消"> <Button style={{marginRight:'10px'}} type="danger">取消订单</Button> </Popconfirm>} {this.props.datauser.active.applyRevoke&&<Popconfirm title={'请确认您是否作废客户【'+this.props.datauser.buyerName+'】的服务订单,订单作废将导致订单失效!'} onConfirm={()=>{this.scrapOrder()}} okText="确认" cancelText="取消"> <Button style={{marginRight:'10px',marginLeft:'200px'}} type="danger">作废</Button> </Popconfirm>} {this.props.datauser.active.applyLock&&<Popconfirm title={'请确认您是否锁定客户【'+this.props.datauser.buyerName+'】的服务订单,订单锁定将导致订单暂停!'} onConfirm={()=>{this.lockOrder()}} okText="确认" cancelText="取消"> <Button style={{marginRight:'10px',marginLeft:'200px'}} type="danger">锁定</Button> </Popconfirm>} {this.props.datauser.active.applyUnLock&&<Popconfirm title={'请确认您是否解锁客户【'+this.props.datauser.buyerName+'】的服务订单,订单解锁将导致订单正常!'} onConfirm={()=>{this.unlockOrder()}} okText="确认" cancelText="取消"> <Button style={{marginRight:'10px',marginLeft:'200px'}} type="primary">解锁</Button> </Popconfirm>} </div>:''} <Button className="cancel" type="ghost" onClick={this.handleCancel} style={{float:'right',marginRight:'200px'}}>返回</Button> </div> </div> </Spin> </Form > </Modal> <Modal maskClosable={false} visible={this.state.addnextVisible} onOk={this.nextCancel} onCancel={this.nextCancel} width='800px' title={this.state.addState?'添加服务':'查看服务'} footer='' className="admin-desc-content"> <Form layout="horizontal" onSubmit={this.nextSubmit} id="demand-form"> <Spin spinning={this.state.loading}> {this.state.addState?<div className="clearfix"> <FormItem className="half-item" {...formItemLayout} label="服务名称" > <AutoComplete className="certain-category-search" dropdownClassName="certain-category-search-dropdown" dropdownMatchSelectWidth={false} dropdownStyle={{ width: 200 }} style={{ width: '200px' }} dataSource={options} placeholder="输入服务名称" value={this.state.commodityName} onChange={this.httpChange} filterOption={true} onSelect={this.selectAuto} > <Input/> </AutoComplete> <span className="mandatory">*</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="市场价格(万元)" > <span>{this.state.commodityPrice}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="实签价格(万元)" > <Input placeholder="请输入实签价格" value={this.state.discountPrice} style={{width:'200px'}} onChange={(e)=>{this.setState({discountPrice:e.target.value})}} ref="discountPrice"/> <span className="mandatory">*</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="服务数量" > <Input placeholder="请输入服务数量" value={this.state.commodityQuantity} style={{width:'200px'}} onChange={(e)=>{this.setState({commodityQuantity:e.target.value})}} ref="commodityQuantity"/> <span className="mandatory">*</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="市场首付金额(万元)" > <span>{this.state.commodityFirstPayment}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="签单首付金额(万元)" > <Input placeholder="请输入签单首付金额" value={this.state.discountFirstPayment} style={{width:'200px'}} onChange={(e)=>{this.setState({discountFirstPayment:e.target.value})}} ref='discountFirstPayment'/> <span className="mandatory">*</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="商品规格" > <Input placeholder="请输入实签价格" value={this.state.commodityMode} style={{width:'200px'}} onChange={(e)=>{this.setState({commodityMode:e.target.value})}} /> </FormItem> <div className='clearfix'> <FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 16 }} label="服务说明" > <Input type='textarea' placeholder="请输入服务说明" value={this.state.remarks} onChange={(e)=>{this.setState({remarks:e.target.value})}} /> </FormItem> </div> <FormItem wrapperCol={{ span: 12, offset: 4 }} className="half-middle"> <Button className="submitSave" type="primary" htmlType="submit">保存</Button> <Button className="submitSave" type="ghost" onClick={this.nextCancel}>取消</Button> </FormItem> </div>: <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.commodityMode}</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.signBillVisible} onOk={this.signBillOk} onCancel={this.signBillOk} width='800px' title='签单信息' footer='' className="admin-desc-content"> <Form layout="horizontal" onSubmit={this.signOk} id="demand-form"> <Spin spinning={this.state.loading}> <div className="clearfix"> <FormItem className="half-item" {...formItemLayout} label="订单编号" > <span>{this.state.orderNo}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="客户名称" > <span>{this.state.buyerName}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="实签款项(万元)" > <Input placeholder="请输入实签款项" value={this.state.signTotalAmount} style={{width:'200px'}} onChange={(e)=>{this.setState({signTotalAmount:e.target.value})}} /> <span className="mandatory">*</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="实签首款(万元)" > <Input placeholder="请输入实签首款" value={this.state.signFirstPayment} style={{width:'200px'}} onChange={(e)=>{this.setState({signFirstPayment:e.target.value})}} /> <span className="mandatory">*</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="特批立项" > <Select placeholder="选择特批立项类型" style={{ width:'200px'}} value={this.state.approval} onChange={(e) => { this.setState({ approval: e }) }}> <Select.Option value='0'>不申请特批</Select.Option> <Select.Option value='1'>申请特批</Select.Option> </Select> <span className="mandatory">*</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="合同编号" > <Input placeholder="请输入合同编号" value={this.state.contractNo} onChange={(e)=>{this.setState({contractNo:e.target.value})}} style={{width:'200px'}} /> <span className="mandatory">*</span> </FormItem> <div className='clearfix'> <FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 16 }} label="签单备注" > <Input type="textarea" placeholder="请输入签单备注" rows={4} value={this.state.orderRemarks} onChange={(e)=>{this.setState({orderRemarks:e.target.value})}}/> </FormItem> </div> </div> <FormItem wrapperCol={{ span: 12, offset: 4 }} className="half-middle"> {/*<Button className="submitSave" type="primary" onClick={this.temporary}>暂存信息</Button>*/} <Button className="submitSave" type="primary" htmlType="submit">确定签单</Button> <Button className="submitSave" type="ghost" onClick={this.signBillOk}>返回</Button> </FormItem> </Spin> </Form > </Modal> <Modal maskClosable={false} visible={this.state.signVisible} onOk={this.signBittOk} onCancel={this.signBittOk} width='600px' title='签单信息' footer='' className="admin-desc-content"> <Form layout="horizontal" onSubmit={this.signSub} id="demand-form"> <Spin spinning={this.state.loading}> <div className="clearfix"> <FormItem {...formItemLayout} label="特批立项" > <Select placeholder="选择特批立项类型" style={{ width:'200px'}} value={this.state.approval} onChange={(e) => { this.setState({ approval: e }) }}> <Select.Option value='0'>不申请特批</Select.Option> <Select.Option value='1'>申请特批</Select.Option> </Select> <span className="mandatory">*</span> </FormItem> </div> <div className="clearfix"> <FormItem {...formItemLayout} label="签单时间" > <DatePicker style={{marginTop:"2px"}} showTime format="YYYY-MM-DD" placeholder="选择签单时间" value={this.state.entryTime} onChange={(e,time)=>{this.selTime(e,time)}} /><span className="mandatory">*</span> </FormItem> </div> <FormItem wrapperCol={{ span: 12, offset: 4 }} className="half-middle"> <Button className="submitSave" type="primary" htmlType="submit">确定签单</Button> <Button className="submitSave" type="ghost" onClick={this.signBittOk}>返回</Button> </FormItem> </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> <Modal maskClosable={false} visible={this.state.addChangeState} onOk={this.addChangeCancel} onCancel={this.addChangeCancel} width='800px' title= {this.state.stateAdd?'添加变更':'查看变更记录'} footer='' className="admin-desc-content"> <Form layout="horizontal" id="demand-form"> <Spin spinning={this.state.loading}> <div className="clearfix"> {this.state.stateAdd?<div className="clearfix"> <FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 16 }} label="变更说明" > <Input type="textarea" placeholder="请输入变更说明" rows={4} value={this.state.changeRemarks} onChange={(e)=>{this.setState({changeRemarks:e.target.value})}}/> </FormItem> <div className="clearfix"> <Button type="primary" onClick={this.subChangeState} style={{margin:"10px 50px 10px 128px"}}>保存</Button> <Button onClick={this.addChangeCancel}>取消</Button> </div> </div>: <div> { changeHtml.length?changeHtml.map(function(item,index){ return (<div className="changeBorder" key={index}> <FormItem className="half-item" {...formItemLayout} label="变更发起人" > <span>{item.creater}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="变更申请时间" > <span>{item.createTime}</span> </FormItem> <div className='clearfix'> <FormItem className="half-item" {...formItemLayout} label="变更状态" > <span>{getChangeState(item.changeStatus)}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="变更操作" > <Button onClick={()=>{this.modifyChange(item)}}>修改</Button> {/*<Button type="danger" onClick={(e)=>{this.modifyDelete(item)}}>删除</Button>*/} </FormItem> </div> <div className='clearfix changeRemark'> <FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 16 }} label="变更说明" > <p>{item.changeComment}</p> </FormItem> </div> </div>) },this):<p style={{textAlign:"center"}}>暂无变更记录</p>} </div> } </div> </Spin> </Form > </Modal> <Modal maskClosable={false} visible={this.state.modifyChangeState} onOk={this.modifyChangeCancel} onCancel={this.modifyChangeCancel} width='600px' title= "修改变更 " footer='' className="admin-desc-content"> <Form layout="horizontal" id="demand-form"> <Spin spinning={this.state.loading}> <div className="clearfix"> <div className="clearfix"> <FormItem className="half-item" {...formItemLayout} label="变更发起人" > <span>{this.state.changePromoter}</span> </FormItem> <FormItem className="half-item" {...formItemLayout} label="变更申请时间" > <span>{this.state.changeTime}</span> </FormItem> <div className='clearfix'> <FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 16 }} label="变更状态" > <Radio.Group onChange={(e)=>{this.setState({changeState:e.target.value})}} value={this.state.changeState}> <Radio value={1}>变更中</Radio> <Radio value={2}>变更完成</Radio> </Radio.Group> </FormItem> </div> <div className='clearfix'> <FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 16 }} label="变更说明" > <Input type="textarea" placeholder="请输入变更说明" rows={4} value={this.state.changeRemarks} onChange={(e)=>{this.setState({changeRemarks:e.target.value})}}/> </FormItem> </div> <div className="clearfix"> <Button type="primary" onClick={this.changeModify} style={{margin:"10px 95px"}}>保存</Button> <Button onClick={this.modifyChangeCancel}>取消</Button> </div> </div> </div> </Spin> </Form > </Modal> </div> ) } })); export default NewService;