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', render: (text, record) => { return ( <span>{text}<span style={{ color: "red" }}>{record.patentTypeName}</span></span> ) } }, { 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({ 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) => <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> {this.state.visible ? <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} <EnterpriseNameChange type='journal' style={{ marginLeft: 10 }} enterpriseId={this.state.orderUid} /> </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,*/} {/* });*/} {/* }} />*/} {this.state.orgCodeUrl && this.state.visible ? <div style={{ paddingTop: '10px', paddingBottom: '10px' }}> <ImgList fileList={this.state.orgCodeUrl} /> </div> : <div />} <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 size="middle" 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> : <div />} <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} <EnterpriseNameChange type='journal' style={{ marginLeft: 10 }} enterpriseId={this.state.orderUid} /> </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;