import React from 'react'; import ReactDom from 'react-dom'; import ajax from 'jquery/src/ajax/xhr.js'; import $ from 'jquery/src/ajax'; import { Form,Radio, Icon, Button, Input, Select, Spin, Table, Switch, message, DatePicker, Checkbox ,Modal, Upload ,Popconfirm} from 'antd'; import NewService from "./addService.jsx"; import moment from 'moment'; import '../userMangagement.less'; import {projectProgress,specially} from '../../../dataDic.js'; import {getApprovedState,getProcessStatus,getLiquidationStatus,getNewOrderStatus} from '../../../tools.js'; const MyService=Form.create()(React.createClass({ loadData(pageNo) { this.state.data = []; this.setState({ loading: true }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + '/api/admin/newOrder/orderNewList', data: { pageNo: pageNo || 1, pageSize: this.state.pagination.pageSize, specially:0, name:this.state.customerName, orderNo:this.state.orderNo, depId: this.state.departmenttSearch, starTime: this.state.releaseDate[0], endTime: this.state.releaseDate[1], }, 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.list.length; i++) { let thisdata = data.data.list[i]; theArr.push({ key: i, id: thisdata.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,//下单时间 orderStatus:thisdata.orderStatus,//订单状态 depName:thisdata.depName,//部门名称 }); }; this.state.pagination.current = data.data.pageNo; this.state.pagination.total = data.data.totalCount; }; if(!data.data.list.length){ this.state.pagination.current=0 this.state.pagination.total=0 } this.setState({ pageNo:pageNo, dataSource: theArr, pagination: this.state.pagination, selectedRowKeys:[], }); }.bind(this), }).always(function () { this.setState({ loading: false }); }.bind(this)); }, getInitialState() { return { datauser:{}, selectedRowKeys: [], releaseDate: [], departmentArr: [], signBillState:false, signBillVisible:false, selectedRows: [], searchMore: true, loading: false, intentOrder:true, formalOrder:true, 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: 'userName', key: 'userName', render:(text)=>{ return (text&&text.length>9?text.substr(0,9)+'...':text) } }, { title: '下单时间', dataIndex: 'createDate', key: 'createTime' },{ title: '合同签订时间', dataIndex: 'signDate', key: 'signDate' }, { title: '流程状态', dataIndex: 'processStatus', key: 'processStatus', render:text=>{return getProcessStatus(text)} }, { 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: 'orderStatus', key: 'orderStatus', render:text=>{return getNewOrderStatus(text)} },{ title: '财务负责人', dataIndex: 'financeName', key: 'financeName' }, { title: '操作', dataIndex: 'abc', key: 'abc', render: (text, record, index) => { return
{record.liquidationStatus==2?{this.delectRow(record)}} okText="是" cancelText="否"> :''}
} } ], dataSource: [], }; }, //结项 delectRow(record) { this.setState({ loading: true }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/OrderOver", data: { orderNo:record.orderNo } }).done(function (data) { if (!data.error.length) { message.success('该项目已成功结项!'); this.loadData(); } else { message.warning(data.error[0].message); }; this.setState({ loading: false, }); }.bind(this)); }, //是否退款 refundCancel(record){ this.refund(record,0) }, refundOk(record){ this.refund(record,1) }, refund(record,index){ this.setState({ signBillVisible:false, selectedRowKeys: [], loading: true, userDetaile:false }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + '/api/admin/order/confirmRefund', data: { orderNo:record.orderNo, confirm:index } }).done(function (data) { if (!data.error.length) { message.success('操作成功!'); this.setState({ loading: false, showDesc:false }); } this.loadData(this.state.pageNo); }.bind(this)); }, //受理订单 admissibleOrderOk(e){ this.admissibleOrder(e,true) }, admissibleOrderCancel(e){ this.admissibleOrder(e,false) }, admissibleOrder(record,index) { this.setState({ signBillVisible:false, selectedRowKeys: [], loading: true, userDetaile:false }); $.ajax({ method: "POST", dataType: "json", crossDomain: false, url: globalConfig.context + '/api/admin/order/confirmIntention', data: { orderNo:record.orderNo, confirm:index } }).done(function (data) { if (!data.error.length) { message.success('操作成功!'); this.setState({ loading: false, showDesc:false }); } else { message.warning(data.error[0].message); this.setState({ showDesc:true }) }; this.loadData(this.state.pageNo); }.bind(this)); }, //取消订单 cancelOrder(e){ this.operation(e,3) }, //作废订单 scrapOrder(e){ this.operation(e,2) }, //锁定订单 lockOrder(e){ this.operation(e,0) }, //解锁订单 unlockOrder(e){ this.operation(e,1) }, //签单 signBill(ids){ this.setState({ uid:ids, signBillVisible:true }) }, componentWillMount() { this.departmentList(); this.loadData(); let data=localStorage.getItem('newData'); if(data!='{}'&&data){ var newData = JSON.parse(data); this.tableRowClick(newData); }; }, tableRowClick(record, index) { this.state.userDetaile=true; this.state.datauser = record; this.setState({ signBillVisible:false, signBillState:true, showDesc: true }); localStorage.setItem('newData','{}'); }, //列表各种骚操作 operation(record,index) { this.setState({ selectedRowKeys: [], loading: true, showDesc:false }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + '/api/admin/order/lockOrRevokeOrder', data: { orderNo:record.orderNo, operatorType:index } }).done(function (data) { if (!data.error.length) { message.success('操作成功!'); this.setState({ loading: false, }); } else { message.warning(data.error[0].message); }; this.loadData(this.state.pageNo); }.bind(this)); }, addClick() { this.state.userDetaile=false; this.setState({ signBillVisible:false, showDesc: true }); }, closeDesc(e, s) { this.state.userDetaile=false; this.state.signBillVisible=false; this.state.showDesc = e; if (s) { this.loadData(this.state.pageNo); }; }, searchSwitch() { this.setState({ signBillVisible:false, searchMore: !this.state.searchMore }); }, search() { this.setState({ signBillVisible:false }) this.loadData(); }, reset() { this.setState({ signBillVisible:false }) this.state.orderNo=''; this.state.customerName=''; this.state.departmenttSearch=undefined; this.state.releaseDate[0] = undefined; this.state.releaseDate[1] = undefined; this.state.projectProgress = undefined; this.state.approval= undefined; this.state.formalOrder=true; this.state.intentOrder=true; this.loadData(); }, //部门 departmentList() { this.setState({ loading: true }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/organization/selectSuperId", 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.name, id: item.id, }) }) } this.setState({ departmentArr: theArr, }) }.bind(this), }).always(function() { this.setState({ loading: false }); }.bind(this)); }, render() { const FormItem = Form.Item; const formItemLayout = { labelCol: { span: 8 }, wrapperCol: { span: 14 }, }; const rowSelection = { selectedRowKeys: this.state.selectedRowKeys, onChange: (selectedRowKeys, selectedRows) => { this.setState({ selectedRows: selectedRows.slice(-1), selectedRowKeys: selectedRowKeys.slice(-1) }); }, onSelectAll: (selected, selectedRows, changeRows) => { this.setState({ selectedRowKeys:[] }) }, }; const hasSelected = this.state.selectedRowKeys.length > 0; const { RangePicker } = DatePicker; let departmentArr = this.state.departmentArr || []; return (
开单与签单
{ this.setState({ customerName: e.target.value }); }} /> { this.setState({ orderNo: e.target.value }); }} /> 下单时间 : { this.setState({ releaseDate: dataString }); }} />
); } })); export default MyService;