import React from 'react'; import { Icon, Table, Modal, message, Spin, Input, Select, Button, Form, Upload, Popconfirm, AutoComplete, DatePicker, Radio } 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, getProjectState, getOrderState, getTransactionProject, getChangeState, getPaymentState, getOrderChannel, getApprovedState, getLock, getPaymentMethod, getTransactionChannel, beforeUploadFile } from '../../../../tools.js'; import ImgList from "../../../../common/imgList"; const Option = AutoComplete.Option; //图片组件 const PicturesWall = React.createClass({ getInitialState() { return { previewVisible: false, previewImage: '', fileList: [], } }, getDefaultProps() { return { changeClick: this.modifyChange } }, 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 { fileList } = this.state; return ( <div style={{ display: "inline-block" }}> <ImgList domId={this.props.domId} uploadConfig={{ action: globalConfig.context + "/api/admin/order/uploadOrderImg", data: { 'sign': '' }, multiple: true, listType: "picture-card", }} onChange={(infor) => { this.handleChange(infor) }} fileList={fileList} /> </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, commodityId: thisdata.commodityId, }); }; } this.setState({ dataSource: theArr, pagination: false, }); }.bind(this), }).always(function () { this.setState({ loading: false }); }.bind(this)); }, getInitialState() { return { loading: false, visible: false, orgCodeUrl: [], customerArr: [], bussStats: false, checkedKeys: [], lookflowList: [], active: { applySign: false }, editFw: [], lookState: false, 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, index) => { return <div style={{ display: this.props.datauser.active.applySign || this.state.changeStatus == 1 ? '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', } ], columnsrizhi: [ { title: '流程', dataIndex: 'processName', key: 'processName' }, { title: '操作人', dataIndex: 'adminName', key: 'adminName' }, { title: '时间', dataIndex: 'createDate', key: 'createDate' } ], }; }, //新建订单、编辑订单保存 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.contractType == undefined && this.state.orderType == 0) { message.warning('请选择业务品类'); return false; }; if (!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, contractType: this.state.contractType } : { orderNo: this.props.datauser.orderNo, signTotalAmount: this.state.signTotalAmount, signFirstPayment: this.state.signFirstPayment, orderRemarks: this.state.orderRemarks, contractNo: this.state.contractNo, contractPictureUrl: 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) { 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, changeStatus: thisData.changeStatus, 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.contractPictureUrl ? splitUrl(thisData.contractPictureUrl, ',', globalConfig.avatarHost + '/upload') : [], //签单 orderNo: thisData.orderNo,//订单编号 buyerName: thisData.buyerName, contractNo: thisData.contractNo, buyerId: thisData.buyerId, }); }.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, }); this.loaduser() this.loadData(); } else { message.warning(data.error[0].message); }; }.bind(this)); }, //添加明细 addDetailed() { this.setState({ gid: '', customerArr: [], commodityName: '', commodityId: '', commodityMode: '', commodityQuantity: '', commodityPrice: '', discountPrice: '', commodityFirstPayment: '', discountFirstPayment: '', remarks: '', addState: 1, addnextVisible: true }) }, rizhi() { // console.log(this.state.orderNo) this.setState({ loading: true }) $.ajax({ method: "get", dataType: "json", crossDomain: false, url: '/api/admin/newOrder/selectOrderLog', data: { orderNo: this.props.datauser.orderNo }, success: function (data) { let theArr = []; let thisData = data.data; if (!thisData.length) { if (data.error && data.error.length) { message.warning(data.error[0].message); }; thisData = {}; } else { for (let i = 0; i < data.data.length; i++) { let thisdata = data.data[i]; theArr.push({ processName: thisdata.processName, adminName: thisdata.adminName, createDate: thisdata.createDate, remarks: thisdata.remarks }); }; }; this.setState({ dataSourcerizhi: theArr }) }.bind(this), }).always(function () { this.setState({ loading: false }); }.bind(this)); }, //查看订单日志 getOrderLog() { this.setState({ rizhivisible: true }) this.rizhi() }, closeOrderLog() { this.setState({ rizhivisible: false }) }, nextCancel() { this.setState({ addnextVisible: false }) }, tableRowClick(record, index) { this.setState({ active: this.props.datauser.active, editFw: record, jid: record.id, discountFirstPayment: record.discountFirstPayment, discountPrice: record.discountPrice, 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() { this.setState({ contractNo: this.state.contractNo, signVisible: true, entryTime: undefined, selTime: undefined }) }, 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/getCustomerByName' : '/api/admin/order/getBusinessProjectByName'; $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + api, data: state ? { name: e, type: this.state.customType } : { 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 }) }, //客户 selectAutoCUT(value) { let autoIds; let fwList = this.state.customerArr; fwList.map(function (item) { if (value == item.name) { autoIds = item.id } }) this.setState({ customerName: value, autoId: autoIds }) }, //服务值改变时请求客户名称 httpChange(e) { this.state.gid = ''; if (e.length >= 1) { this.supervisor(e, false); } this.setState({ commodityName: e }) }, //客户名称自动补全 customerChange(e) { this.state.autoId = ''; if (e.length >= 2) { this.supervisor(e, true); } this.setState({ customerName: 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)); }, tabRowSave(e) { e.preventDefault(); if (!this.state.discountPrice) { message.warning('实签价格不能为空!'); return false; }; if (!this.state.discountFirstPayment) { message.warning('签单首付金额不能为空!'); return false; }; this.setState({ loading: true }); $.ajax({ method: "POST", dataType: "json", crossDomain: false, url: globalConfig.context + '/api/admin/order/updateOrderCommodity', data: { detailId: this.state.jid, orderNo: this.props.datauser.orderNo, discountPrice: this.state.discountPrice,//签单总价 discountFirstPayment: this.state.discountFirstPayment,//签单首付金额 commodityQuantity: this.state.editFw.commodityQuantity, remarks: this.state.editFw.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; }; 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(","); }; this.setState({ loading: true }); let dataList = this.state.dataSource, idsList = []; dataList.map((item, index) => { // console.log(item); // console.log(this.state.commodityId); idsList.push({ businessId: '', businessProjectId: item.commodityId, customerStatus: "1", followSituation: "5", remarks: "签单-自动触发" }) }) $.ajax({ method: "POST", dataType: "json", crossDomain: false, url: globalConfig.context + '/api/admin/order/signServiceOrder', data: { userBusinessList: JSON.stringify(idsList), uid: this.state.buyerId, 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, contractPictureUrl: theorgCodeUrl.length ? theorgCodeUrl : '', } }).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 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(","); }; 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, contractPictureUrl: theorgCodeUrl.length ? theorgCodeUrl : '', } }).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)); }, /*-----变更操作结束----*/ //查看流失。项目列表 lookSee(state) { this.state.lookSource = []; this.setState({ loading: true }); let api = state ? '/api/xiangmu' : '/api/liushui' $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + api, 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, 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({ lookSource: theArr, }); }.bind(this), }).always(function () { this.setState({ loading: false }); }.bind(this)); }, //开单选择订单类型骚操作 orderTypeFn(e) { if (e == 0) { this.setState({ bussStats: true, orderType: e }) this.category(); } else { this.setState({ contractType: undefined, bussStats: false, orderType: e }) } }, //品类数据获取 category() { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/Varieties/getSuperList", data: { }, success: function (data) { let thedata = data.data; let theArr = []; if (!thedata) { if (data.error && data.error.length) { message.warning(data.error[0].message); }; thedata = {}; } else { thedata.map(function (item, index) { theArr.push({ key: index, name: item.cname, id: item.id, }) }) } this.setState({ contractType: undefined, categoryArr: theArr, }) }.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: [], contractType: undefined, bussStats: false, customType: 0 }) } }, render() { const FormItem = Form.Item const formItemLayout = { labelCol: { span: 8 }, wrapperCol: { span: 14 }, }; const changeHtml = this.state.changeHtml || []; const editFws = this.state.editFw; const categoryList = this.state.categoryArr || []; const orderDetaiel = this.state.orderList || []; const dataSources = this.state.customerArr || []; const options = this.state.states ? dataSources.map((group, index) => <Select.Option key={group.id} value={group.name}>{group.name}</Select.Option> ) : dataSources.map((group, index) => <Select.Option key={index} 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' : '1200px'} 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 className="clearfix"> <div className="clearfix"> <FormItem {...formItemLayout} label="订单类型" > <Select placeholder="请选择订单类型" style={{ width: '200px' }} value={this.state.orderType} onChange={this.orderTypeFn}> { orderType.map(function (item) { return <Select.Option key={item.value} >{item.key}</Select.Option> }) } </Select> <span className="mandatory">*</span> </FormItem> </div> {this.state.bussStats && <div className="clearfix"> <FormItem {...formItemLayout} label="业务品类" > <Select placeholder="请选择业务品类" style={{ width: '200px' }} value={this.state.contractType} onChange={(e) => { this.setState({ contractType: e }) }}> { categoryList.map(function (item) { return <Select.Option key={item.id} >{item.name}</Select.Option> }) } </Select> <span className="mandatory">*</span> </FormItem> </div>} <FormItem {...formItemLayout} label="客户所属类型" > <Radio.Group onChange={(e) => { this.setState({ customType: e.target.value, customerArr: [] }) }} value={this.state.customType}> <Radio value={0}>私有客户</Radio> <Radio value={1}>已签单客户</Radio> </Radio.Group> </FormItem> <div className="clearfix"> <FormItem {...formItemLayout} label="客户名称" > <AutoComplete className="certain-category-search" dropdownClassName="certain-category-search-dropdown" dropdownMatchSelectWidth={false} dropdownStyle={{ width: 200 }} size="large" style={{ width: '200px' }} dataSource={options} placeholder="输入名称" value={this.state.customerName} onChange={this.customerChange} filterOption={true} onSelect={this.selectAutoCUT} > <Input /> </AutoComplete> <span className="mandatory">*</span> </FormItem> </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: 18 }} label={ <span> <strong style={{ color: '#f00' }}>*</strong>合同扫描件 </span> } > <PicturesWall domId={'addService1'} fileList={this.getOrgCodeUrl} pictureUrl={this.state.orgCodeUrl} /> <p>图片建议:要清晰。</p> <Button style={{ float: "right", marginRight: '140px', marginTop: '20px' }} onClick={this.getOrderLog} >查看订单 日志</Button> </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 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="合同扫描件" > {/*<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 ? <div style={{ paddingTop: '10px', paddingBottom: '10px' }}> <ImgList domId={'addService3'} fileList={this.state.orgCodeUrl} ItemWidth={'96px'} /> </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> <Button style={{ float: "right", marginRight: '140px', marginTop: '20px' }} onClick={this.getOrderLog} >查看订单 日志</Button> </FormItem> </div> <div className='clearfix'> <FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 16 }} label="订单留言" > <span>{orderDetaiel.orderRemarks}</span> </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' }}>添加明细</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" loading={this.state.loading}>保存</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> : <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> <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" loading={this.state.loading}>保存</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.commodityFirstPayment + '万元'}</span> </FormItem> {this.state.active.applySign ? <FormItem className="half-item" {...formItemLayout} label="实签价格(万元)" > <Input placeholder="请输入签单首付金额" value={this.state.discountPrice} style={{ width: '200px' }} onChange={(e) => { this.setState({ discountPrice: e.target.value }) }} /> <span className="mandatory">*</span> </FormItem> : <FormItem className="half-item" {...formItemLayout} label="实签价格" > <span>{this.state.discountPrice + '万元'}</span> </FormItem>} <FormItem className="half-item" {...formItemLayout} label="服务数量" > <span>{editFws.commodityQuantity}</span> </FormItem> {this.state.active.applySign ? <FormItem className="half-item" {...formItemLayout} label="签单首付金额(万元)" > <Input placeholder="请输入签单首付金额" value={this.state.discountFirstPayment} style={{ width: '200px' }} onChange={(e) => { this.setState({ discountFirstPayment: e.target.value }) }} /> <span className="mandatory">*</span> </FormItem> : <FormItem className="half-item" {...formItemLayout} label="签单首付金额" > <span>{this.state.discountFirstPayment + '万元'}</span> </FormItem>} <div className='clearfix'> <FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 16 }} label="服务说明" > <span>{editFws.remarks}</span> </FormItem> </div> {this.state.active.applySign && <FormItem wrapperCol={{ span: 12, offset: 4 }} className="half-middle"> <Button className="submitSave" type="primary" onClick={this.tabRowSave} loading={this.state.loading}>保存</Button> <Button className="submitSave" type="ghost" onClick={this.nextCancel}>取消</Button> </FormItem>} </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 className='clearfix'> <FormItem labelCol={{ span: 4 }} wrapperCol={{ span: 18 }} label="合同扫描件" > <PicturesWall domId={'addService2'} listType="picture-card" 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" 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" }} loading={this.state.loading}>保存</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={(e) => { 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" }} loading={this.state.loading}>保存</Button> <Button onClick={this.modifyChangeCancel}>取消</Button> </div> </div> </div> </Spin> </Form > </Modal> <Modal visible={this.state.rizhivisible} className="admin-desc-content" width='800px' maskClosable={false} title='订单日志' footer={null} onCancel={this.closeOrderLog}> <div className="patent-table"> <Spin spinning={this.state.loading}> <Table columns={this.state.columnsrizhi} dataSource={this.state.dataSourcerizhi} pagination={false} /> </Spin> </div> </Modal> </div> ) } })); export default NewService;