import React from "react";
import $ from "jquery/src/ajax";
import moment from "moment";
import {
Button,
Form,
Input,
Spin,
Table,
Select,
message,
Tabs,
DatePicker,
AutoComplete,
Modal,
Tooltip,
Tag,
} from "antd";
import { ChooseList } from "../../order/orderNew/chooseList";
import { ShowModal, getAccountName, getSecondaryAccountName, getClockState } from "../../../tools"
import { accountType, accountStatus } from "@/dataDic";
import ShowModalDiv from "@/showModal.jsx";
import OrderDetail from '../../order/orderNew/changeComponent/orderDetail';
import './index.less';
const FormItem = Form.Item;
const { RangePicker } = DatePicker;
const { TabPane } = Tabs;
const PublicityAccount = React.createClass({
getInitialState() {
return {
searchValues: {
allStatus: "0"
}, // 列表筛选条件
loading: false, //加载动画
changeList: undefined, // 更改后的表格显示数据
dataSource: [], // 列表数据
departmentArr: [], // 部门信息
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: "contractNo",
key: "contractNo",
width: 300,
render: (text, record) => {
return (
{text}
{" / " + record.buyerName}
);
},
},
{
title: "营销所属部门",
dataIndex: "depName",
key: "depName",
render: (text, record) => {
return (
{text}
);
},
},
{
title: "营销员",
dataIndex: "salesmanName",
key: "salesmanName",
render: (text, record) => {
return (
{text}
);
},
},
{
title: "公出/实际/超出(时)",
dataIndex: "maxDuration",
key: "maxDuration",
render: (text, record) => {
return (
{text + " / " + record.actualDuration + " / "}
{record.exceedDuration}
);
},
},
{
title: "合同总额/已收款(万元)",
dataIndex: "totalAmount",
key: "totalAmount",
render: (text, record) => {
return (
{text + " / " + record.settlementAmount}
);
},
},
{
title: "报销总额(元)",
dataIndex: "expenseAmount",
key: "expenseAmount",
render: (text, record) => {
return (
{text}
);
},
},
{
title: "已付成本(万元)",
dataIndex: "paymentAmount",
key: "paymentAmount",
render: (text, record) => {
return (
{text}
);
},
},
{
title: "报销人数/天数/报销次数",
dataIndex: "peopleCount",
key: "peopleCount",
render: (text, record) => {
return (
{text + " / " + record.days + " / " + record.expenseCount}
);
},
},
{
title: "报销未审核/驳回次数",
dataIndex: "notExamine",
key: "notExamine",
render: (text, record) => {
return (
{text + " / " + record.rejectCount}
);
},
},
],
};
},
componentWillMount() {
this.departmentList();
this.loadData();
},
// 列表接口
loadData(pageNo) {
const { searchValues, pagination } = this.state;
this.setState({
loading: true,
});
let datas = Object.assign(searchValues, {
// pageNo: pageNo || 1,
// pageSize: pagination.pageSize,
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/release/releaseAndExpenseCount",
data: datas,
success: function (data) {
ShowModal(this);
this.setState({
loading: false,
});
if (data.error && data.error.length === 0) {
if (data.data) {
pagination.current = data.data.pageNo;
pagination.total = data.data.totalCount;
if (data.data && data.data && !data.data.length) {
pagination.current = 0;
pagination.total = 0;
}
this.setState({
dataSource: data.data,
pagination: this.state.pagination,
pageNo: data.data.pageNo,
totalAmount: data.data.totalAmount,
});
}
} else {
message.warning(data.error[0].message);
}
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
departmentList() {
$.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);
}
} else {
thedata.map(function (item, index) {
theArr.push({
key: index,
name: item.name,
id: item.id
});
});
}
this.setState({
departmentArr: theArr
});
}.bind(this)
}).always(
function () {
}.bind(this)
);
},
// 搜索
search() {
this.loadData();
},
// 重置
reset() {
this.setState({
searchValues: {
allStatus: "0"
},
}, () => {
this.loadData();
})
},
changeList(arr) {
const newArr = [];
this.state.columns.forEach((item) => {
arr.forEach((val) => {
if (val === item.title) {
newArr.push(item);
}
});
});
this.setState({
changeList: newArr,
});
},
// 导出
export() {
this.setState({
exportExecLoading: true
})
let loading = message.loading('加载中...');
let data = this.state.searchValues;
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/release/releaseAndExpenseCount/Export",
data,
success: function (data) {
if (data.error.length === 0) {
this.download(data.data);
} else {
message.warning(data.error[0].message);
}
}.bind(this),
}).always(function () {
loading();
this.setState({
exportExecLoading: false
})
}.bind(this));
},
// 下载
download(fileName) {
window.location.href = globalConfig.context + "/open/download?fileName=" + fileName
},
// 清理缓存
getCountsClear() {
this.setState({
loading: true,
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/release/releaseAndExpenseCountClear",
data: {},
success: function (data) {
ShowModal(this);
this.setState({
loading: false,
});
if (data.error && data.error.length === 0) {
message.success("清除成功!")
} else {
message.warning(data.error[0].message);
}
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
followUp(e) {
this.setState({
aname: e
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/customer/listAdminByName",
data: {
adminName: e,
},
success: function (data) {
let thedata = data.data || [];
if (!thedata) {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
}
thedata = {};
}
this.setState({
fjlist: thedata,
});
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
selectF(value) {
const { searchValues, fjlist } = this.state;
const newdataSources = JSON.stringify(fjlist) == "{}" ? [] : fjlist;
this.setState({
searchValues: Object.assign(searchValues, {
aid: newdataSources.find((item) => item.name == value).id,
}),
});
},
render() {
const { searchValues, } = this.state
const dataSources = this.state.fjlist || [];
const options = dataSources.map((group) => (
{group.name}
));
return (
{ this.setState({ showModal: false }) }} />
公出&报销
);
},
});
export default PublicityAccount;