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,Tabs} from 'antd'; import NewService from "./addService.jsx"; import moment from 'moment'; import '../../userMangagement.less'; import {intentProgress,transactionProgress,contractProgress,projectProgress,orderType, orderStage, orderState,paymentState, projectState,orderChannel, approvedState, lock,paymentMethod,transactionChannel,specially} from '../../../../dataDic.js'; import {getProjectState,getOrderType,getOrderStage,getOrderState,getPaymentState,getOrderChannel,getApprovedState,getLock,getPaymentMethod,getTransactionChannel} from '../../../../tools.js'; import {ChooseList} from "../../orderNew/chooseList"; const {TabPane} = Tabs const ServiceManage=Form.create()(React.createClass({ loadData(pageNo,depart) { this.state.data = []; this.setState({ loading: true }); let departArr=depart!=undefined?depart:this.state.departmentArr; let depIdList=[]; if(this.state.departmenttSearch=='all'||this.state.departmenttSearch==undefined){ departArr.map(function(item){ depIdList.push(item.id) }) } depIdList.shift(); let depNoList=depIdList.join(',') $.ajax({ method: "post", dataType: "json", crossDomain: false, url: globalConfig.context + '/api/admin/order/listDepServiceOrder', data: { pageNo: pageNo || 1, pageSize: this.state.pagination.pageSize, buyerName:this.state.customerName, depIds:this.state.departmenttSearch=='all'||this.state.departmenttSearch==undefined?depNoList:this.state.departmenttSearch,//部门 salesmanName:this.state.orderPersonSearch,//负责人 startDate: this.state.releaseDate[0], endDate: this.state.releaseDate[1], projectStage:this.state.projectProgress, liquidationStatus:this.state.settlementState, //结算 orderStatus:this.state.orderStatusSearch, approval:this.state.approval, orderChannel:this.state.orderChannel, intention:this.state.intentOrder?1:0, formal:this.state.formalOrder?1:0, }, 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,//订单编号 orderType:thisdata.orderType,//订单类型 orderStatus:thisdata.orderStatus, liquidationStatus:thisdata.liquidationStatus, createTime:thisdata.createTime, buyerName:thisdata.buyerName, signTotalAmount:thisdata.signTotalAmount, projectStage:thisdata.projectStage, approval:thisdata.approval, orderChannel:thisdata.orderChannel, salesmanName:thisdata.salesmanName, active:thisdata.active, departmentName:thisdata.departmentName, salesmanName:thisdata.salesmanName, financeName:thisdata.financeName, technicianName:thisdata.technicianName, signTime:thisdata.signTime }); }; 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:[], signBillVisible:false }); }.bind(this), }).always(function () { this.setState({ loading: false }); }.bind(this)); }, //部门 departmentList() { this.setState({ loading: true }); $.ajax({ method: "post", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/order/selectMyDeps", 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, depNo:item.depNo }) }) } theArr.unshift({ id:'all', name:'所有部门' }) this.setState({ departmentArr:theArr, }) this.loadData('1',theArr); }.bind(this), }).always(function() { this.setState({ loading: false }); }.bind(this)); }, getInitialState() { return { datauser:{}, selectedRowKeys: [], releaseDate: [], 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: 'orderType', key: 'orderType', render:text=>{return getOrderType(text)} }, { title: '下单时间', dataIndex: 'createTime', key: 'createTime' },{ title: '签单时间', dataIndex: 'signTime', key: 'signTime' },{ title: '订单客户', dataIndex: 'buyerName', key: 'buyerName', render:(text)=>{ return (text&&text.length>8?text.substr(0,8)+'...':text) } }, { title: '实际下单金额(万元)', dataIndex: 'signTotalAmount', key: 'signTotalAmount' },{ title: '结算状态', dataIndex: 'liquidationStatus', key: 'liquidationStatus', render:text=>{return getPaymentState(text)} },{ title: '项目状态', dataIndex: 'projectStage', key: 'projectStage', render:text=>{return getProjectState(text)} }, { title: '是否特批', dataIndex: 'approval', key: 'approval', render:text=>{return getApprovedState(text)} },{ title: '订单外联', dataIndex: 'orderChannel', key: 'orderChannel', render:text=>{return getOrderChannel(text)} },{ title: '部门机构', dataIndex: 'departmentName', key: 'departmentName' },{ title: '订单负责人', dataIndex: 'salesmanName', key: 'salesmanName' }, { title: '财务负责人', dataIndex: 'financeName', key: 'financeName' }, { title: '项目负责人', dataIndex: 'technicianName', key: 'technicianName' }, { title: '操作', dataIndex: 'active', key: 'active', render: (text, record, index) => { return