"use strict"; 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, Modal, Upload, Popconfirm } from 'antd'; import ManagementDetaile from "./managementDetaile.jsx"; import moment from 'moment'; import '../../userMangagement.less'; import { orderState, orderChannel, orderType } from '../../../../dataDic.js'; import { getProjectState, getOrderChannel, getOrderType, getOrderState, getPaymentState, getApprovedState } from '../../../../tools.js'; const SettlementManage = Form.create()(React.createClass({ loadData(pageNo) { this.state.data = []; this.setState({ loading: true }); $.ajax({ method: "post", dataType: "json", crossDomain: false, url: globalConfig.context + '/api/admin/order/listAllSettlement', data: { pageNo: pageNo || 1, pageSize: this.state.pagination.pageSize, buyerName: this.state.buyerNameSearch, depId: this.state.departmenttSearch, //部门 salesmanName: this.state.salesmanNameSearch, //负责人 startDate: this.state.releaseDate[0], endDate: this.state.releaseDate[1], liquidationStatus: this.state.liquidationStatusSearch, //结算 orderStatus: this.state.orderStatusSearch, orderChannel: this.state.orderChannelSearch, financeName: this.state.financeNameSearchs, orderType: this.state.orderTypeSearch, orderNo: this.state.orderNoSearch, isDistributionFinance: this.state.isDistributionFinance }, 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, }); }; 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: "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)); }, getInitialState() { return { datauser: {}, selectedRowKeys: [], releaseDate: [], selectedRows: [], departmentArr: [], searchMore: true, loading: false, distributionVisible: false, visible: false, showDesc: 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: 'orderType', key: 'orderType', render: text => { return getOrderType(text) } }, { title: '下单时间', dataIndex: 'createTime', key: 'createTime' }, { title: '订单客户', dataIndex: 'buyerName', key: 'buyerName', render: (text) => { return(text && text.length > 9 ? text.substr(0, 9) + '...' : text) } }, { title: '实际下单金额(万元)', dataIndex: 'signTotalAmount', key: 'signTotalAmount' }, { title: '订单状态', dataIndex: 'orderStatus', key: 'orderStatus', render: (text) => { return getOrderState(text) } }, { 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: 'departmentName', key: 'departmentName', }, { title: '订单负责人', dataIndex: 'salesmanName', key: 'salesmanName', }, { title: '财务负责人', dataIndex: 'financeName', key: 'financeName', }, { title: '项目负责人', dataIndex: 'technicianName', key: 'technicianName', }, { title: '操作', dataIndex: 'operation', key: 'operation', render: (text, record, index) => { return
{!record.financeName&&}
} }], userList: [{ title: '用户编号', dataIndex: 'userNo', key: 'userNo' }, { title: '用户姓名', dataIndex: 'name', key: 'name' }, { title: '部门机构', dataIndex: 'departmentName', key: 'departmentName' }, { title: '职务', dataIndex: 'position', key: 'position' }, { title: '联系手机', dataIndex: 'mobile', key: 'mobile' }, { title: '操作', dataIndex: 'abc', key: 'abc', render: (text, record, index) => { return( {this.confirmSelect(record)}} okText="确认" cancelText="取消"> ) } }], dataSource: [], }; }, //操作分配 confirmDelet(index) { this.setState({ orderNot: index.orderNo, userDetaile: false, distributionVisible: true }); }, distributionCancel() { this.setState({ distributionVisible: false }) }, distributionOk() { this.setState({ distributionVisible: false }) }, //分配对象列表 contactList() { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + '/api/admin/superviser/adminList', data: { pageNo: 1, pageSize: 99, departmentId: this.state.departmenttList, name: this.state.financeNameSearch, }, 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, userNo: thisdata.userNo, name: thisdata.name, departmentName: thisdata.departmentName, departmentId: thisdata.departmentId, position: thisdata.position, mobile: thisdata.mobile, }); }; }; this.setState({ distributionList: theArr, }); }.bind(this), }).always(function() { this.setState({ loading: false }); }.bind(this)); }, //选定对象 confirmSelect(record) { this.setState({ loading: true }); $.ajax({ method: "POST", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/order/distributionOrder", data: { orderNo: this.state.orderNot, financeId: record.id } }).done(function(data) { if(!data.error.length) { message.success('分派成功!'); this.setState({ loading: false, }); this.distributionOk(); } else { message.warning(data.error[0].message); }; this.loadData(this.state.pageNo); }.bind(this)); }, componentWillMount() { this.departmentList(); this.loadData(); }, tableRowClick(record, index) { this.state.userDetaile = true; this.state.datauser = record; this.setState({ showDesc: true }); }, closeDesc(e, s) { this.state.userDetaile = false; this.state.showDesc = e; if(s) { this.loadData(this.state.pageNo); }; }, searchSwitch() { this.setState({ searchMore: !this.state.searchMore }); }, search() { this.loadData(); }, //分配时搜索 searchOrder() { this.contactList(); }, //分配时重置 resetOrder() { this.setState({ departmenttList: undefined, financeNameSearch: '' }) }, reset() { this.state.buyerNameSearch = ''; this.state.financeNameSearchs = ''; this.state.orderNoSearch = ''; this.state.releaseDate[0] = undefined; this.state.releaseDate[1] = undefined; this.state.orderChannelSearch = undefined; this.state.liquidationStatusSearch = undefined; this.state.orderStatusSearch = undefined; this.state.salesmanNameSearch = undefined; this.state.departmenttSearch = undefined; this.state.approved = undefined; this.state.orderChannelSearch = undefined; this.state.orderTypeSearch = undefined; this.state.isDistributionFinance = undefined; this.loadData(); }, render() { 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: [] }) }, }; let departmentArr = this.state.departmentArr || []; const hasSelected = this.state.selectedRowKeys.length > 0; const { RangePicker } = DatePicker; return(
结算订单管理
{ this.setState({ buyerNameSearch: e.target.value }); }} /> { this.setState({ releaseDate: dataString }); }} /> { this.setState({ salesmanNameSearch: e.target.value }); }} /> { this.setState({ financeNameSearchs: e.target.value }); }} /> 更多搜索
{ this.setState({ orderNoSearch: e.target.value }); }} /> {/* */}
{ this.setState({ financeNameSearch: e.target.value }); }} />
); } })); export default SettlementManage;