import React from 'react'; import { Button, Input, Select, 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,getRefundStatus} from '@/tools.js'; import './customer.less'; const checkOutsourcing = 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/outsourceOrg/orderOutsourceList", data: { pageNo: pageNo || 1, pageSize: this.state.pagination.pageSize, contractNo: this.state.contractNoSearch, name: this.state.nameSearch,//名称 starTime: this.state.releaseDate[0],//开始时间 endTime: this.state.releaseDate[1],//结束时间 refundStatus: this.state.refundStatusSearch,//外包审核状态 }, 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,//订单编号 contractNo:thisdata.contractNo,//签单金额 createTime:thisdata.createTime,//流程状态 signTime:thisdata.signTime,//结算状态 userName:thisdata.userName,//特批状态 depName:thisdata.depName,//签单时间 totalAmount:thisdata.totalAmount,//客户名称 adminName:thisdata.adminName,//营销员名称 financeName:thisdata.financeName,//财务名称 liquidationStatus:thisdata.liquidationStatus,//下单时间 refundStatus:thisdata.refundStatus }); }; 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: 'contractNo', key: 'contractNo' },{ title: '创建时间', dataIndex: 'createTime', key: 'createTime' },{ title: '签单时间', dataIndex: 'signTime', key: 'signTime', }, { title: '客户名称', dataIndex: 'userName', key: 'userName', }, { title: '订单部门', dataIndex: 'depName', key: 'depName', },{ title: '签单金额(万元)', dataIndex: 'totalAmount', key: 'totalAmount' },{ title: '结算状态', dataIndex: 'liquidationStatus', key: 'liquidationStatus', render:text=>{return getLiquidationStatus(text)} }, { title: '外包审核', dataIndex: 'refundStatus', key: 'refundStatus', render:text=>{return getRefundStatus(text)} }, { title: '营销负责人', dataIndex: 'adminName', key: 'adminName', }, { 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, refundStatus: record.refundStatus, }); 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, //营销员电话 oldSalesmanName: thisdata.oldSalesmanName, //营销员名称 oldSalesmanMobile: thisdata.oldSalesmanMobile, //营销员电话 financeName: thisdata.financeName, //财务名称 financeMobile: thisdata.financeMobile, //财务电话 nowFinance: thisdata.nowFinance, //财务名称 nowFinanceMobile: thisdata.nowFinanceMobile, //财务电话 depName: thisdata.depName, outsource: thisdata.outsource == 0 ? "否" : "是" }); }; }.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(){ 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 }) }, load(){ if(this.state.attachmentUrl){ let url = window.location.href.substring(7); this.state.attachmentUrl.forEach((e)=>{ window.location.href="http://"+url.substring(0,url.indexOf("/"))+"/api/admin/outsourceOrg//downloadFile?path="+e.response.data }) }else{ message.error("此订单无上传文件") } }, callback(key){ 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') { console.log(typeof this.state.refundStatus,!(this.state.refundStatus === 1)) 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) { 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') : [], pictureUrl: thisdata.pictureUrl ? splitUrl(thisdata.pictureUrl, ',', globalConfig.avatarHost + '/upload') : [],//图片地址 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)); } }, pass(){ if (!this.state.remarks) { message.warning('审核意见不能为空') return } $.ajax({ method: "post", dataType: "json", crossDomain: false, url: globalConfig.context +"/api/admin/outsourceOrg/auditOutsourceNew", data: { id:this.state.id, remarks:this.state.remarks, refundStatus: 1, orderNo: this.state.orderNo, }, success:function(data){ if(data.error && data.error.length) { message.warning(data.error[0].message); }else{ message.success('已通过!'); } } }).done(function() { this.setState({ loading: false, remarks:'' }); this.visitCancel() }.bind(this)); }, refuse(){ $.ajax({ method: "post", dataType: "json", crossDomain: false, url: globalConfig.context +"/api/admin/outsourceOrg/auditOutsourceNew", data: { id:this.state.id, remarks:this.state.remarks, refundStatus: 2, orderNo: this.state.orderNo, }, success:function(data){ if(data.error && data.error.length) { message.warning(data.error[0].message); }else{ message.success('已驳回!'); } } }).done(function() { this.setState({ loading: false, remarks:'' }); this.visitCancel() }.bind(this)); }, //关闭输入理由框 noCancel(){ this.setState({ noVisible:false, aloading:false, reason:'', }); }, //搜索 search() { this.setState({ //signBillVisible:false }) this.loadData(); }, //重置 reset() { this.state.nameSearch=''; this.state.contractNoSearch=''; this.state.releaseDate[0] = undefined; this.state.releaseDate[1] = undefined; this.state.refundStatusSearch = undefined; this.loadData(1); }, 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(this.state.pagination.current); }, visitOk(){ this.setState({ visible:false }) this.resets(); }, render() { const formItemLayout = { labelCol: { span: 8 }, wrapperCol: { span: 14 }, }; const FormItem = Form.Item; const { TabPane } = Tabs; const { RangePicker } = DatePicker; return (
外包审核列表
{ this.setState({ nameSearch: e.target.value }); }} /> { this.setState({ contractNoSearch: 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.outsource}
{this.state.orderRemarks}
{ this.setState({ previewImage: file.url || file.thumbUrl, previewVisible: true }); }} > { this.setState({ previewVisible: false }); }} >
{this.state.salesmanName} {this.state.salesmanMobile}
{this.state.nowFinance} {this.state.nowFinanceMobile}
{this.state.oldSalesmanName} {this.state.oldSalesmanMobile}
{this.state.financeName} {this.state.financeMobile}
催款节点 {this.state.processStatus == 0 ? ( ) : ( "" )}
项目业务 {this.state.processStatus == 0 ? ( ) : ( "" )}
{this.state.companyName}
{this.state.unitPrice}
{this.state.unitNumber}
{this.state.amount}
{this.state.outsourceRemarks}
{/*
{ return { 'sign': e.name.substring(0,e.name.lastIndexOf(".")) } }} fileList={this.state.attachmentUrl} showUploadList={{showRemoveIcon:false}} onPreview={(e)=>{ let url = window.location.href.substring(7) window.location.href="http://"+url.substring(0,url.indexOf("/"))+"/api/admin/outsourceOrg//downloadFile?path="+e.response.data }} >
*/}
{ this.setState({ previewImage: file.url || file.thumbUrl, previewVisible: true }); }} > { this.setState({ previewVisible: false }); }} >
{!this.state.refundStatus ? (

*审核意见 } > { this.setState({ remarks: e.target.value }); }} style={{ width: "440px" }} /> 通过或驳回都必须填写审核意见!
) : (

{this.state.remarks}
{getRefundStatus(this.state.refundStatus)}
{this.state.auditTimes}
)}
{this.state.commodityName} {this.state.commodityQuantity} {this.state.commodityPrice} {getboutique(this.state.main)}
{this.state.taskComment}
{ this.setState({ reason: e.target.value }); }} />
); } })); export default checkOutsourcing;