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 {orderType} from '../../../../dataDic.js'; import {splitUrl,getOrderType,getOrderStage,getOrderState,getTransactionProject,getPaymentState,getOrderChannel,getApprovedState,getLock,getPaymentMethod,getTransactionChannel} from '../../../../tools.js'; const Option = AutoComplete.Option; //图片组件 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 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, index) => { return <div style={{display:this.props.datauser.active.applySign?'block':'none'}}> <Popconfirm title="是否删除?" onConfirm={(e)=>{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(); let theorgCodeUrl = []; if (this.state.orgCodeUrl.length) { let picArr = []; this.state.orgCodeUrl.map(function (item) { if ( item.response && item.response.data && item.response.data.length ){ picArr.push(item.response.data); } }); theorgCodeUrl = picArr.join(","); }; 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, values) => { 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 //headPortraitUrl:theorgCodeUrl.length?theorgCodeUrl:'', } }).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){ 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, contractNo:thisData.contractNo }); }.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); }, //删除 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, index) { this.setState({ editFw:record, addnextVisible:true, addState:0, }); }, getOrgCodeUrl(e) { this.setState({ orgCodeUrl: e }); }, 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(){ if(this.state.contractNo){ this.setState({ contractNo:this.state.contractNo, signVisible:true }) }else{ message.warning("请输入合同编号!") } }, signBittOk(){ this.setState({ signVisible:false }) }, signBillOk(){ this.setState({ signBillVisible:false }) }, signBillCancel(e) { 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,options){ 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) }, signSub(e){ e.preventDefault(); 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 } }).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 }) }, 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 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,index) => <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? <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="请输入合同编号" onChange={(e)=>{this.setState({contractNo:e.target.value})}} style={{width:'240px'}} /> </FormItem> <div className='clearfix'> <FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 18 }} label="合同扫描件" > <PicturesWall pictureSign="customer_sys_file" fileList={this.getOrgCodeUrl} pictureUrl={this.state.orgCodeUrl} /> <p>图片建议:要清晰。</p> </FormItem> </div> <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>: <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="合同扫描件" > <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 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> </div> <div> <span style={{marginLeft:'50px',fontSize:'20px'}}>项目业务</span> {this.props.datauser.active.applySign?<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?<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={(e)=>{this.admissibleOrderOK()}} onCancel={(e)=>{this.admissibleOrderCancel()}} okText="同意" cancelText="拒绝"> <Button style={{marginRight:'15px',marginLeft:'200px'}} type="primary">受理意向</Button> </Popconfirm>} {this.props.datauser.active.applySign&&<Button style={{marginRight:'10px'}} onClick={(e) =>{this.signBitt()}} type="primary">签单</Button>} {this.props.datauser.active.applyForCancel&&<Popconfirm title={'请确认您是否取消客户【'+this.props.datauser.buyerName+'】的服务订单,订单取消将导致业务终止!'} onConfirm={(e)=>{this.cancelOrder()}} okText="确认" cancelText="取消"> <Button style={{marginRight:'10px'}} type="danger">取消订单</Button> </Popconfirm>} {this.props.datauser.active.applyRevoke&&<Popconfirm title={'请确认您是否作废客户【'+this.props.datauser.buyerName+'】的服务订单,订单作废将导致订单失效!'} onConfirm={(e)=>{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={(e)=>{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={(e)=>{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="请输入合同编号" 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 className='clearfix'> <FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 18 }} label="合同扫描件" > <PicturesWall pictureSign="customer_sys_file" fileList={this.getOrgCodeUrl} pictureUrl={this.state.orgCodeUrl} /> <p>图片建议:要清晰。</p> </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> <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> </div> ) } })); export default NewService;