import React from 'react';
import { Icon, Table, Modal, message, Spin, Input, Select, Button, Form, Upload, Popconfirm, AutoComplete } from 'antd';
import ajax from 'jquery/src/ajax/xhr.js';
import $ from 'jquery/src/ajax';
import '../userMangagement.less';
import { getApprovedState, getPaymentState, getOrderState, getProjectState, getOrderChannel, getOrderType, getTransactionProject, getTransactionChannel } from '../../../../tools.js';
import ProjectOperation from "../../../../common/projectOperation";
const MySettlementDetaile = Form.create()(React.createClass({
loadData(record) {
this.state.data = [];
this.setState({
loading: true
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + '/api/admin/order/getOrderCommodity',
data: {
orderNo: record ? record.orderNo : this.props.datauser.orderNo
},
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.length; i++) {
let thisdata = data.data[i];
theArr.push({
key: i,
id: thisdata.id,
orderNo: thisdata.orderNo,
commodityName: thisdata.commodityName,
commodityType: thisdata.commodityType,
commodityMode: thisdata.commodityMode,
commodityQuantity: thisdata.commodityQuantity,
commodityPrice: thisdata.commodityPrice,
discountPrice: thisdata.discountPrice,
commodityFirstPayment: thisdata.commodityFirstPayment,
createTimes: thisdata.createTimes,
discountFirstPayment: thisdata.discountFirstPayment,
remarks: thisdata.remarks,
});
};
}
this.setState({
dataSource: theArr,
});
}.bind(this),
}).always(function () {
this.setState({
loading: false
});
}.bind(this));
},
getInitialState() {
return {
loading: false,
visible: false,
lookState: true,
orgCodeUrl: [],
lookflowList: [],
checkedKeys: [],
columns: [
{
title: '业务项目名称',
dataIndex: 'commodityName',
key: 'commodityName',
render: (text, record) => {
return (
{text}{record.patentTypeName}
)
}
}, {
title: '项目类别',
dataIndex: 'commodityType',
key: 'commodityType',
render: (text) => {
return (getOrderType(text))
}
}, {
title: '项目数量',
dataIndex: 'commodityQuantity',
key: 'commodityQuantity'
}, {
title: '服务市价(万元)',
dataIndex: 'commodityPrice',
key: 'commodityPrice'
}, {
title: '实签价格(万元)',
dataIndex: 'discountPrice',
key: 'discountPrice'
}, {
title: '下单时间',
dataIndex: 'createTimes',
key: 'createTimes'
}, {
title: '项目说明',
dataIndex: 'remarks',
key: 'remarks',
render: (text) => {
return (text && text.length > 8 ? text.substr(0, 8) + '…' : text)
}
}
],
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="取消">
)
}
}
],
flowList: [
{
title: '平台流水号',
dataIndex: 'billNo',
key: 'billNo',
}, {
title: '平台流水时间',
dataIndex: 'createTime',
key: 'createTime'
}, {
title: '流水金额(万元)',
dataIndex: 'transactionAmount',
key: 'transactionAmount'
}, {
title: '付款人名称',
dataIndex: 'payerName',
key: 'payerName'
}, {
title: '收款人名称',
dataIndex: 'payeeName',
key: 'payeeName'
},
{
title: '流水科目',
dataIndex: 'transactionSubject',
key: 'transactionSubject',
render: (text) => { return getTransactionProject(text) }
}, {
title: '流水外联',
dataIndex: 'transactionChannel',
key: 'transactionChannel',
render: (text) => { return getTransactionChannel(text) }
}, {
title: '财务流水号',
dataIndex: 'financialPayNo',
key: 'financialPayNo',
}, {
title: '财务流水时间',
dataIndex: 'financialPayTime',
key: 'financialPayTime',
}, {
title: '流水确认',
dataIndex: 'confirmSign',
key: 'confirmSign',
render: (text) => { return text ? '已确认' : '待确认' }
}, {
title: '确认时间',
dataIndex: 'confirmTime',
key: 'confirmTime',
}
],
contractList: [
{
title: '姓名',
dataIndex: 'name',
key: 'name'
}, {
title: '部门',
dataIndex: 'depatrment',
key: 'depatrment'
}, {
title: '联系方式',
dataIndex: 'mobile',
key: 'mobile'
}, {
title: '是否为主要联系人',
dataIndex: 'major',
key: 'major',
render: (text) => {
return text ? '是' : "否"
}
}, {
title: '职务',
dataIndex: 'position',
key: 'position'
}, {
title: '微信',
dataIndex: 'wechat',
key: 'wechat'
}, {
title: 'QQ',
dataIndex: 'qq',
key: 'qq'
},
],
};
},
seeContract() {
this.contract();
this.setState({
orderVisible: true
})
},
orderCancel() {
this.setState({
orderVisible: false
})
},
//查看联系人
contract() {
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + '/api/admin/customer/findAllContacts',
data: {
uid: this.state.buyerId
},
success: function (data) {
let thisData = data.data;
if (!thisData) {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
};
thisData = {};
};
this.setState({
contractArr: thisData,
});
}.bind(this),
}).always(function () {
this.setState({
loading: false
});
}.bind(this));
},
//查看基本详情基本信息
loaduser(record) {
if (record) {
this.state.orderList = []
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + '/api/admin/order/getServiceOrderDetail',
data: {
orderNo: record
},
success: function (data) {
let thisData = data.data;
if (!thisData) {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
};
thisData = {};
};
this.setState({
id: thisData.id,
buyerId: thisData.buyerId,
orderList: thisData,
orderAmount: thisData.orderAmount,
firstPayment: thisData.firstPayment,
signTotalAmount: thisData.signTotalAmount,
signFirstPayment: thisData.signFirstPayment,
approval: thisData.approval == 0 ? thisData.approval.toString() : thisData.approval,
orderRemarks: thisData.orderRemarks,
orgCodeUrl: thisData.orgCodeUrl ? splitUrl(thisData.orgCodeUrl, ',', globalConfig.avatarHost + '/upload') : [],
//签单
orderNo: thisData.orderNo,//订单编号
buyerName: thisData.buyerName,
});
}.bind(this),
}).always(function () {
this.setState({
loading: false
});
}.bind(this));
}
},
handleOk(e) {
this.setState({
visible: false,
});
this.props.closeDesc(false, true);
},
handleCancel(e) {
this.setState({
visible: false,
});
this.props.closeDesc(false);
},
lookflow() {
this.setState({
loading: true,
lookVisible: true,
})
this.state.lookSource = [];
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + '/api/admin/order/getBillByOrderNo',
data: {
orderNo: this.props.datauser.orderNo,
},
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.length; i++) {
let thisdata = data.data[i];
theArr.push({
key: i,
billNo: thisdata.billNo,
transactionAmount: thisdata.transactionAmount,
createTime: thisdata.createTime,
payerName: thisdata.payerName,
payeeName: thisdata.payeeName,
transactionSubject: thisdata.transactionSubject,
transactionChannel: thisdata.transactionChannel,
financialPayNo: thisdata.financialPayNo,
financialPayTime: thisdata.financialPayTime,
orderNo: thisdata.orderNo,
departmentName: thisdata.departmentName,
salesmanName: thisdata.salesmanName,
financeName: thisdata.financeName,
confirmSign: thisdata.confirmSign,
deleteSign: thisdata.deleteSign,
confirmTime: thisdata.confirmTime
});
};
};
this.setState({
lookflowList: theArr,
});
}.bind(this),
}).always(function () {
this.setState({
loading: false
});
}.bind(this));
},
lookCancel() {
this.setState({
lookVisible: false
})
},
tableRowClick(record, index) {
this.setState({
editFw: record,
projectOperationVisible: true,
});
},
/*
* 选择负责人
*/
//转交
confirmDelet(index) {
this.setState({
showDesc: false,
distributionVisible: true
});
this.departmentList()
},
distributionCancel() {
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/transferOrder",
data: {
orderNo: this.state.orderNo,
aid: record.id,
targetType: 2
}
}).done(function (data) {
if (!data.error.length) {
message.success('转交成功!');
this.setState({
loading: false,
});
this.distributionCancel();
this.loaduser(this.state.orderNo);
} else {
message.warning(data.error[0].message);
};
}.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));
},
searchOrder() {
this.contactList();
},
resetOrder() {
this.state.departmenttList = undefined;
this.state.financeNameSearch = '';
this.setState({
distributionList: []
});
},
componentWillMount() {
},
componentWillReceiveProps(nextProps) { //props改变时触发
this.state.visible = nextProps.showDesc;
if (nextProps.userDetaile && nextProps.showDesc) {
this.loaduser(nextProps.datauser.orderNo);
this.loadData(nextProps.datauser);
}
},
render() {
const FormItem = Form.Item;
let departmentArr = this.state.departmentArr || [];
const formItemLayout = {
labelCol: { span: 8 },
wrapperCol: { span: 14 },
};
const orderDetaiel = this.state.orderList || [];
return (
{this.state.projectOperationVisible ?
{
this.setState({
projectOperationVisible: false,
editFw: {},
});
}}
/> : null}
)
}
}));
export default MySettlementDetaile;