import React from "react"; import { Icon, Button, Input, Spin, Table, message, DatePicker, Upload, Form, Modal, Tabs, Col } from "antd"; import $ from "jquery/src/ajax"; import moment from "moment"; import { getLiquidationStatus, getApprovedState, getProcessStatus, splitUrl, getjiedian, getboutique, getCuikuan, getProjectStatus, moneyVerify } from "@/tools.js"; import "./customer.less"; //图片组件 const PicturesWall = React.createClass({ getInitialState() { return { previewVisible: false, previewImage: "", fileList: this.props.pictureUrl }; }, 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; this.state.pojectApplicationUrl = undefined; }, render() { const { previewVisible, previewImage, fileList } = this.state; const uploadButton = (
点击上传
); return (
{fileList.length >= 18 ? null : uploadButton} example
); } }); const IntentionCustomer = Form.create()( React.createClass({ loadData(pageNo) { this.setState({ visitModul: false, loading: true, ispage: pageNo, modalVisible: false }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/orderNewList", data: { pageNo: pageNo || 1, pageSize: this.state.pagination.pageSize, specially: 1, //审核列表 name: this.state.customerName, //名称 orderNo: this.state.orderNoSearch, //订单编号 starTime: this.state.releaseDate[0], //开始时间 endTime: this.state.releaseDate[1] //结束时间 }, success: function(data) { let theArr = []; if (data.error.length || data.data.list == "") { if (data.error && data.error.length) { message.warning(data.error[0].message); } } else { for (let i = 0; i < data.data.list.length; i++) { let thisdata = data.data.list[i]; theArr.push({ key: i, id: thisdata.id, //用户ID orderNo: thisdata.orderNo, //订单编号 totalAmount: thisdata.totalAmount, //签单金额 processStatus: thisdata.processStatus, //流程状态 liquidationStatus: thisdata.liquidationStatus, //结算状态 approval: thisdata.approval, //特批状态 signDate: thisdata.signDate, //签单时间 userName: thisdata.userName, //客户名称 salesmanName: thisdata.salesmanName, //营销员名称 financeName: thisdata.financeName, //财务名称 createDate: thisdata.createDate, //下单时间 depName: thisdata.depName, orderStatus: thisdata.orderStatus }); } this.state.pagination.total = data.data.totalCount; this.state.pagination.current = data.data.pageNo; } if (data.data && data.data.list && !data.data.list.length) { this.state.pagination.total = 0; } this.setState({ dataSource: theArr, pageNo: pageNo, pagination: this.state.pagination, selectedRowKeys: [] }); }.bind(this) }).always( function() { this.setState({ loading: false }); }.bind(this) ); }, getInitialState() { return { page: 1, releaseDate: [], selectedRowKeys: [], pictureUrl: [], attachmentUrl: [], paginations: false, activeKey: "1", confirmLoading: false, aloading: false, pagination: { defaultCurrent: 1, defaultPageSize: 10, showQuickJumper: true, pageSize: 10, onChange: function(page) { this.loadData(page); }.bind(this), showTotal: function(total) { return "共" + total + "条数据"; } }, columns: [ { title: "订单编号", dataIndex: "orderNo", key: "orderNo" }, { title: "下单时间", dataIndex: "createDate", key: "createTime" }, { title: "合同签订时间", dataIndex: "signDate", key: "signDate" }, { title: "客户名称", dataIndex: "userName", key: "userName", render: text => { return text && text.length > 9 ? text.substr(0, 9) + "..." : text; } }, { title: "流程状态", dataIndex: "processStatus", key: "processStatus", render: text => { return getProcessStatus(text); } }, { title: "订单部门", dataIndex: "depName", key: "depName" }, { title: "签单金额(万元)", dataIndex: "totalAmount", key: "totalAmount" }, { title: "结算状态", dataIndex: "liquidationStatus", key: "liquidationStatus", render: text => { return getLiquidationStatus(text); } }, { title: "是否特批", dataIndex: "approval", key: "approval", render: text => { return getApprovedState(text); } }, { title: "订单负责人", dataIndex: "salesmanName", key: "salesmanName" }, { title: "财务负责人", dataIndex: "financeName", key: "financeName" } ], data: [], dataSource: [], columnsX: [ { title: "业务项目名称", dataIndex: "commodityName", key: "commodityName" }, { title: "项目类别", dataIndex: "cname", key: "cname" }, { title: "项目数量", dataIndex: "commodityQuantity", key: "commodityQuantity" }, { title: "金额(万元)", dataIndex: "commodityPrice", key: "commodityPrice" }, { title: "负责人", dataIndex: "contacts", key: "contacts" }, { title: "负责人电话", dataIndex: "contactsMobile", key: "contactsMobile" }, { title: "项目状态", dataIndex: "projectStatus", key: "projectStatus", render: text => { return getProjectStatus(text); } }, { title: "主要项目", dataIndex: "main", key: "main", render: text => { return text ? "是" : "否"; } }, { title: "项目说明", dataIndex: "taskComment", key: "taskComment", render: text => { return text && text.length > 8 ? text.substr(0, 8) + "…" : text; } } ], columnsrizhi: [ { title: "流程", dataIndex: "processName", key: "processName" }, { title: "操作人", dataIndex: "adminName", key: "adminName" }, { title: "时间", dataIndex: "createDate", key: "createDate" } ], dataSourceX: [], ContactsLists: [ { title: "催款科目", dataIndex: "dunSubject", key: "dunSubject", render: text => { return getjiedian(text); } }, { title: "金额(万)", dataIndex: "money", key: "money" }, { title: "催款状态", dataIndex: "dunStatus", key: "dunStatus", render: text => { return getCuikuan(text); } } ] }; }, //页面加载函数 componentWillMount() { this.loadData(); }, //整行点击 tableRowClick(record) { this.setState({ visible: true, orderStatus: record.orderStatus, id: record.id }); this.xiangqing(record.orderNo); this.xiangmu(record.orderNo); this.jiedian(record.orderNo); }, //点击打卡项目详情 tableRowClickX(record) { this.setState({ jid: record.id, //项目ID kid: record.commodityId, //商品ID commodityName: record.commodityName, //金额 commodityPrice: record.commodityPrice, //金额 commodityQuantity: record.commodityQuantity, //数量 taskComment: record.taskComment, //备注 main: record.main.toString(), //是否为主要 addnextVisible: true, addState: 0 }); }, //项目详情关闭 nextCancel() { this.setState({ addnextVisible: false }); }, //订单详情 xiangqing(orderNos) { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/getOrderNewDetail", data: { orderNo: orderNos }, success: function(data) { if (data.error.length || data.data.list == "") { if (data.error && data.error.length) { message.warning(data.error[0].message); } } else { let thisdata = data.data; this.setState({ orderNo: thisdata.orderNo, //订单编号 contractNo: thisdata.contractNo, //合同编号 userName: thisdata.userName, //客户名称 signDate: thisdata.signDate, //签单时间 processStatus: thisdata.processStatus, //流程状态 liquidationStatus: thisdata.liquidationStatus, //结算状态 contacts: thisdata.contacts, //企业联系人 contactMobile: thisdata.contactMobile, //联系人电话 legalPerson: thisdata.legalPerson, //法人 legalPersonTel: thisdata.legalPersonTel, //法人电话 firstAmount: thisdata.firstAmount, //签单金额 totalAmount: thisdata.totalAmount, //首付金额 approval: thisdata.approval, //特批状态 settlementAmount: thisdata.settlementAmount, //已收款项 orderRemarks: thisdata.orderRemarks, //订单留言 orgCodeUrl: thisdata.contractPictureUrl ? splitUrl( thisdata.contractPictureUrl, ",", globalConfig.avatarHost + "/upload" ) : [], //图片地址 salesmanName: thisdata.salesmanName, //营销员名称 salesmanMobile: thisdata.salesmanMobile, //营销员电话 financeName: thisdata.financeName, //财务名称 financeMobile: thisdata.financeMobile, //财务电话 depName: thisdata.depName }); } }.bind(this) }).always( function() { this.setState({ loading: false }); }.bind(this) ); }, //项目列表 xiangmu(orderNos) { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/getOrderTask", data: { orderNo: orderNos }, success: function(data) { let theArr = []; if (data.error.length || data.data.list == "") { 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, //订单编号 commodityId: thisdata.commodityId, //项目ID commodityName: thisdata.commodityName, //项目名称 cname: thisdata.cname, //项目类别 commodityPrice: thisdata.commodityPrice, //项目价格 commodityQuantity: thisdata.commodityQuantity, //项目数量 main: thisdata.main, //是否为主要任务 taskComment: thisdata.taskComment, //任务说明 contacts: thisdata.contacts, //联系人 contactsMobile: thisdata.contactsMobile, //联系人电话 projectStatus: thisdata.projectStatus //项目状态 }); } } this.setState({ dataSourceX: theArr }); }.bind(this) }).always( function() { this.setState({ loading: false }); }.bind(this) ); }, 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.state.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 }); } } 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 }); }, //节点列表 jiedian(orderNos) { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/selectOrderDun", data: { orderNo: orderNos }, success: function(data) { let theArr = []; let thisData = []; if (data.error.length || data.data.list == "") { if (data.error && data.error.length) { message.warning(data.error[0].message); } } else { for (let i = 0; i < data.data.length; i++) { thisData = data.data[i]; theArr.push({ key: i, dunSubject: thisData.dunSubject ? thisData.dunSubject.toString() : "", //催款科目 id: thisData.id, //节点Id money: thisData.money, //催款金额 dunStatus: thisData.dunStatus //催款状态 }); } this.setState({ contactList: theArr }); } }.bind(this) }).always( function() { this.setState({ loading: false }); }.bind(this) ); }, //审核通过 examOk() { $.ajax({ method: "post", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/auditOrderNew", data: { orderNo: this.state.orderNo, orderStatus: 2 }, success: function(data) { if (data.error.length || data.data.list == "") { if (data.error && data.error.length) { message.warning(data.error[0].message); } } else { message.success("该订单已通过审核~"); this.setState({ visible: false }); this.reset(); } }.bind(this) }).always( function() { this.setState({ loading: false }); }.bind(this) ); }, //通过发给外包 outsourcing() { $.ajax({ method: "post", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/auditOrderNew", data: { orderNo: this.state.orderNo, orderStatus: 2, outsource: 1 }, success: function(data) { if (data.error.length || data.data.list == "") { if (data.error && data.error.length) { message.warning(data.error[0].message); } } else { message.success("该订单已通过审核~"); this.setState({ visible: false }); this.reset(); } }.bind(this) }).always( function() { this.setState({ loading: false }); }.bind(this) ); }, //审核不通过 examOks() { this.setState({ aloading: true }); $.ajax({ method: "post", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/auditOrderNew", data: { orderNo: this.state.orderNo, orderStatus: 3, reason: this.state.reason }, success: function(data) { if (data.error.length || data.data.list == "") { if (data.error && data.error.length) { message.warning(data.error[0].message); this.setState({ aloading: true }); } } else { message.success("该订单已被拒绝~"); this.setState({ visible: false, aloading: false, noVisible: false, reason: "" }); this.reset(); } }.bind(this) }).always( function() { this.setState({ loading: false }); }.bind(this) ); }, //点击拒绝 examNo() { this.setState({ noVisible: true }); }, callback(key) { let url = window.location.href.substring(7); this.setState({ activeKey: key }); if (this.state.pictureUrl.length) { let picArr = []; this.state.pictureUrl.map(function(item) { if ( item.response && item.response.data && item.response.data.length ) { picArr.push(item.response.data); } }); } if (key === "2") { this.setState({ loading: true }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/outsourceOrg/orderOutsourceDtails", data: { orderNo: this.state.orderNo }, success: function(data) { if (data.data) { let thisdata = data.data; this.setState({ id: thisdata.id, createTimes: thisdata.createTimes, auditTimes: thisdata.auditTimes, remarks: thisdata.remarks, attachmentUrl: thisdata.attachmentUrl ? splitUrl( thisdata.attachmentUrl, ",", globalConfig.avatarHost + "/upload", url ) : [], fileUrl: thisdata.attachmentUrl ? splitUrl( thisdata.attachmentUrl, ",", globalConfig.avatarHost + "/upload", url ) : [], pictureUrl: thisdata.pictureUrl ? splitUrl( thisdata.pictureUrl, ",", globalConfig.avatarHost + "/upload", url ) : [], //图片地址 amount: thisdata.amount, companyName: thisdata.companyName, outsourceRemarks: thisdata.outsourceRemarks, unitNumber: thisdata.unitNumber, unitPrice: thisdata.unitPrice }); } }.bind(this) }).always( function() { this.setState({ loading: false }); }.bind(this) ); } }, getUrl(url) { let theorgCodeUrl = []; if (url.length) { let picArr = []; url.map(function(item) { if ( item.response && item.response.data && item.response.data.length ) { picArr.push(item.response.data); } }); theorgCodeUrl = picArr.join(","); } return theorgCodeUrl; }, sureOut() { if (!this.state.companyName) { message.warning("公司名称不能为空"); return; } if (!this.state.unitPrice) { message.warning("单价不能为空"); return; } if(moneyVerify(this.state.unitPrice)) { return } if (!this.state.unitNumber) { message.warning("数量不能为空"); return; } if (!this.state.amount) { message.warning("总金额不能为空"); return; } if (moneyVerify(this.state.amount)) { return; } if (!this.state.outsourceRemarks) { message.warning("备注不能为空"); return; } if (this.state.pictureUrl.length === 0) { message.warning("合同扫描件不能为空"); return; } $.ajax({ method: "POST", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/outsourceOrg/auditOutsource", data: { id: this.state.id, orderNo: this.state.orderNo, companyName: this.state.companyName, amount: this.state.amount, outsourceRemarks: this.state.outsourceRemarks, unitNumber: this.state.unitNumber, unitPrice: this.state.unitPrice, attachmentUrl: this.getUrl(this.state.attachmentUrl).length ? this.getUrl(this.state.attachmentUrl) : "", orderStatus: 2, pictureUrl: this.getUrl(this.state.pictureUrl).length ? this.getUrl(this.state.pictureUrl) : "" } }).done( function(data) { this.setState({ loading: false }); if (!data.error.length) { message.success("发起成功!"); this.outReset(); this.visitCancel(); } else { message.warning(data.error[0].message); } }.bind(this) ); }, //关闭输入理由框 noCancel() { this.setState({ noVisible: false, aloading: false, reason: "" }); }, //搜索 search() { this.setState({ //signBillVisible:false }); this.loadData(); }, //重置 reset() { this.setState({ signBillVisible: false }); this.state.orderNo = ""; this.state.customerName = ""; this.state.releaseDate[0] = undefined; this.state.releaseDate[1] = undefined; this.state.approval = undefined; this.loadData(1); }, outReset() { this.setState({ companyName: "", amount: "", unitPrice: "", unitNumber: "", outsourceRemarks: "", attachmentUrl: [], pictureUrl: [] }); }, resets() { this.state.orderNo = ""; this.state.customerName = ""; this.state.releaseDate[0] = undefined; this.state.releaseDate[1] = undefined; }, getOrgCodeUrl(e) { this.setState({ pictureUrl: e }); }, //关闭详情 visitCancel() { this.setState( { visible: false }, () => { this.setState({ activeKey: "1" }); } ); this.resets(); this.loadData(); }, visitOk() { this.setState({ visible: false }); this.resets(); }, render() { const formItemLayout = { labelCol: { span: 8 }, wrapperCol: { span: 14 } }; const FormItem = Form.Item; const { TabPane } = Tabs; const { TextArea } = Input; const { RangePicker } = DatePicker; return (
订单审核
{ this.setState({ customerName: e.target.value }); }} /> { this.setState({ orderNoSearch: e.target.value }); }} /> 下单时间 : { this.setState({ releaseDate: dataString }); }} />
{this.state.orderNo} {this.state.contractNo} {this.state.userName} {this.state.signDate} {getProcessStatus(this.state.processStatus)} {getLiquidationStatus(this.state.liquidationStatus)} {this.state.contacts} {this.state.contactMobile} {this.state.legalPerson} {this.state.legalPersonTel} {this.state.totalAmount} {this.state.firstAmount} {getApprovedState(this.state.approval)} {this.state.settlementAmount} {this.state.depName}

{this.state.orderRemarks}

{ this.setState({ previewImage: file.url || file.thumbUrl, previewVisible: true }); }} > { this.setState({ previewVisible: false }); }} >
{this.state.salesmanName} {this.state.salesmanMobile}
{this.state.financeName} {this.state.financeMobile}
催款节点 {this.state.processStatus == 0 ? ( ) : ( "" )}
项目业务 {this.state.processStatus == 0 ? ( ) : ( "" )}
{/*

提示:高于总部价格,费用个人承担!

*/}
*外包公司 } > { this.setState({ companyName: e.target.value }); }} placeholder="请填写外包公司名称" /> 如多个公司,请用间隔
*单价(万元) } > { this.setState({ unitPrice: e.target.value }); }} placeholder="请填写单价" />
*数量(个) } > { this.setState({ unitNumber: e.target.value }); }} placeholder="请填写数量" />
* 总金额(万元) } > { this.setState({ amount: e.target.value }); }} placeholder="请填写本次外包公司的价格" />
{/*
{ return { 'sign': e.name.substring(0,e.name.lastIndexOf(".")) } }} fileList={this.state.attachmentUrl} onChange={(e)=>{ this.setState({attachmentUrl:e.fileList}) }}> {this.state.attachmentUrl.length>1?null:} 支持文件格式: doc,excel,ppt
*/}
*备注 } >