import React, { Component } from "react";
import TabelContent from "../../../common/tabelContent";
import {
Button,
Modal,
Tag,
Form,
DatePicker,
Input,
message,
Upload,
Icon,
Radio,
Popconfirm,
} from "antd";
import $ from "jquery/src/ajax";
import DunningRecord from "./dunningRecord";
import ImgList from "../../../common/imgList";
import { splitUrl } from "../../../tools.js";
import download from "downloadjs";
import LegalRecd from "../../legalAffairs/collectioning/legalRecd";
import TablePopup from "../../legalAffairs/collectioning/tablePopup";
const confirm = Modal.confirm;
const { TextArea } = Input;
const RadioGroup = Radio.Group;
class PressMoney extends Component {
constructor(props) {
super(props);
this.state = {
columns: [
{
title: "序号",
dataIndex: "key",
key: "key",
width: 35,
},
{
title: "合同编号",
dataIndex: "contractNo",
key: "contractNo",
width: 90,
},
{
title: "客户名称",
dataIndex: "buyerName",
key: "buyerName",
width: 150,
},
{
title: "订单负责人",
dataIndex: "salesmanName",
key: "salesmanName",
width: 100,
},
{
title: "订单部门",
dataIndex: "depName",
key: "depName",
width: 120,
},
{
title: "签单金额(万元)",
dataIndex: "totalAmount",
key: "totalAmount",
width: 80,
},
{
title: "已收款(万元)",
dataIndex: "settlementAmount",
key: "settlementAmount",
width: 80,
},
{
title: "应收款(万元)",
dataIndex: "orderReceivables",
key: "orderReceivables",
width: 80,
},
{
title: "欠款(万元)",
dataIndex: "orderArrears",
key: "orderArrears",
width: 80,
},
{
title: "催款启动日期",
dataIndex: "dunStartTimes",
key: "dunStartTimes",
width: 100,
},
{
title: "自动移交法务(天)",
dataIndex: "daysRemaining",
key: "daysRemaining",
width: 90,
render: (text) => {
return text === 0 ? "已移交法务" : text + "天";
},
},
{
title: "操作",
dataIndex: "id",
key: "id",
width: 250,
render: (text, record, index) => {
let _this = this;
return (
);
},
},
],
searchList: [
{
type: "text",
dataKey: "contractNo",
placeholder: "请输入合同编号",
},
{
type: "text",
dataKey: "userName",
placeholder: "请输入客户名称",
},
{
type: "autoComplete",
dataKey: "aid",
api: "/api/admin/customer/listAdminByName",
search: "adminName",
placeholder: "请输入营销人名称",
},
// {
// type: "departmentSelect",
// dataKey: "depId",
// placeholder: "请选择订单部门",
// },
{
type: "newDepartmentSelect",
dataKey: "deps",
placeholder: "请选择订单部门",
},
{
type: "select",
dataKey: "legalAffairs",
placeholder: "请选择是否移交法务",
selectList: [
{
value: "1",
label: "已移交法务",
},
{
value: "0",
label: "未移交法务",
},
],
},
{
type: "times",
title: "催款启动",
dataKey: ["startTime", "endTime"],
},
],
columnsTwo: [
{
title: "序号",
dataIndex: "key",
key: "key",
width: 45,
},
{
title: "操作人名称",
dataIndex: "adminName",
key: "adminName",
width: 140,
},
{
title: "客户名称",
dataIndex: "userName",
key: "userName",
width: 140,
},
{
title: "法务时间",
dataIndex: "operationDate",
key: "operationDate",
width: 140,
},
{
title: "详细",
dataIndex: "remarks",
key: "remarks",
width: 140,
},
{
title: "法务类型",
dataIndex: "type",
key: "type",
width: 140,
},
{
title: "操作时间",
dataIndex: "createDate",
key: "createDate",
width: 140,
},
{
title: "操作",
dataIndex: "attachmentUrl",
key: "attachmentUrl",
width: 100,
render: (text, record) => {
return (
);
},
},
],
visible: false,
visibleRest: false,
date: "",
remarks: "",
mainModalKeys: 0,
voucher: "下载凭证",
loading: false,
downloadList: [],
visibleLegal: false,
LegalKeys: 10,
visibleTwo: false,
visibleTree: false,
visibleTransfer: false,
orderNoTransfer: "",
transferKey: 0,
};
// this.tabelContentRef = null;
this.transfer = this.transfer.bind(this);
this.formRef = {};
this.downloadAll = this.downloadAll.bind(this);
// this.tabelContentRef = null;
this.addLegal = this.addLegal.bind(this);
}
transfer(orderNo) {
this.setState({
transferLoading: true,
});
if (this.state.remarks == "") {
message.warning("请填写原因");
}
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/lagalAffairs/transfer",
data: {
orderNo,
remarks: this.state.remarks,
},
success: function (data) {
if (data.error.length) {
message.warning(data.error[0].message);
} else {
message.success("移交成功");
this.setState({
visibleTransfer: false,
transferKey: this.state.transferKey + 13
});
this.tabelContentRef && this.tabelContentRef.onRefresh();
}
}.bind(this),
}).done(
function () {
this.setState({
transferLoading: false,
});
}.bind(this)
);
}
downloadAll() {
let list = this.state.downloadList;
list.forEach((element, key) => {
// console.log(element);
setTimeout(() => {
const a = document.createElement("a");
a.style.display = "none";
a.href = `${window.window.globalConfig.context}/open/download?fileName=${element.url}&delete=false&attName=${element.name}`;
// console.log(a.href);
document.body.appendChild(a);
a.click(); // 自动触发点击a标签的click事件
document.body.removeChild(a);
}, key * 100);
});
}
// getUrl(e, n) {
// let url = splitUrl(e, ",", globalConfig.avatarHost + "/upload");
// url.forEach((element) => {
// download(element.url, n);
// console.log(element.url, n);
// });
// }
addLegal() {
let theorgCodeUrl = [];
if (!this.state.fileList) {
message.warning("请上传凭证");
return;
} else {
let picArr = [];
this.state.fileList.map(function (item) {
if (item.response && item.response.data && item.response.data.length) {
picArr.push({ name: item.name, url: item.response.data });
}
});
theorgCodeUrl = JSON.stringify(picArr);
// console.log(theorgCodeUrl);
}
if (!this.state.date) {
message.warning("请选择时间");
return;
}
this.setState({
addDunOrderLoading: true,
loading: true,
});
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/lagalAffairs/addLagalAffairsLog",
data: {
orderNo: this.state.dataInfor.orderNo,
type: this.state.type,
status: this.state.status ? this.state.status : 0,
date: this.state.date,
remarks: this.state.remarks,
attachmentUrl: theorgCodeUrl.length ? theorgCodeUrl : "",
},
success: function (data) {
if (data.error.length) {
this.setState({
loading: false,
});
message.warning(data.error[0].message);
} else {
this.setState({
loading: false,
visibleLegal: false,
LegalKeys: this.state.LegalKeys + 10,
fileList: undefined,
});
// this.props.visible = false
message.success("添加成功");
this.tabelContentRef && this.tabelContentRef.onRefresh();
// console.log(this.tabelContentRef);
}
}.bind(this),
}).done(
function () {
this.setState({
addDunOrderLoading: false,
});
}.bind(this)
);
}
render() {
let downloadList = this.state.downloadList;
const formItemLayout = {
labelCol: { span: 10 },
wrapperCol: { span: 12 },
};
// console.log(this.props.visibleRest);
// console.log(this.props.infor);
return (
催款记录
(this.tabelContentRef = ref)}
scroll={{ x: 0, y: 1000 }}
changeFn={this.state.columns}
searchList={this.state.searchList}
columns={this.state.columns}
tabelApi={"/api/admin/lagalAffairs/orderList"}
exportApi={"/api/admin/lagalAffairs/orderList/Exprot"}
query={{ type: 0 }}
exportExecProcessing={(data) => {
data.type = 0;
return data;
}}
dataProcessing={(data) => {
let theArr = [];
for (let i = 0; i < data.data.list.length; i++) {
let thisdata = data.data.list[i];
thisdata.key = i + 1;
theArr.push(thisdata);
}
return theArr;
}}
/>
{this.state.visibleTwo ? (
{
this.setState({
visibleTwo: false,
});
}}
onCancel={() => {
this.setState({
visibleTwo: false,
});
}}
width="1100px"
title={
法务记录列表
客户名称:{this.state.dataInfor.buyerName}
{/* */}
}
footer=""
className="admin-desc-content"
>
(this.tabelContentRef = ref)}
columns={this.state.columnsTwo}
tabelApi={"/api/admin/lagalAffairs/lagalAffairsLogList"}
query={{ orderNo: this.state.dataInfor.orderNo }}
dataProcessing={(data) => {
// console.log(this.state);
// console.log(data.data);
let theArr = [];
for (let i = 0; i < data.data.length; i++) {
let thisdata = data.data[i];
thisdata.key = i + 1;
// console.log(thisdata.attachmentUrl);
// console.log(this.state.voucher);
if (!thisdata.attachmentUrl) {
thisdata.name = 0;
}
let status;
if (thisdata.status == 0) {
status = "否";
} else if (thisdata.status == 1) {
status = "已回款";
} else if (thisdata.status == 2) {
status = "已诉讼";
} else if (thisdata.status == 3) {
status = "已坏账处理";
}
if (thisdata.type == 0) {
thisdata.type = "法务催收中";
} else if (thisdata.type == 1) {
thisdata.type = "延期法务";
} else if (thisdata.type == 2) {
thisdata.type = `已完成法务/${status}`;
} else if (thisdata.type == 3) {
thisdata.type = "自动转交";
} else if (thisdata.type == 4) {
thisdata.type = "营销转交";
}
// console.log(thisdata);
theArr.push(thisdata);
}
return theArr;
}}
/>
{/* */}
{
this.setState({
visibleLegal: false,
LegalKeys: this.state.LegalKeys + 10,
});
}}
width="1200px"
title="新增法务数据"
footer=""
className="admin-desc-content"
>
{
this.setState({
type: e.target.value,
});
}}
>
法务催收中
延期法务
法务已完成
{this.state.type == 2 ? (
{
this.setState({
status: e.target.value,
});
}}
>
已回款
以诉讼
以坏账处理
) : (
""
)}
{
this.setState({
date: dateString,
});
}}
/>
{
let fileList = info.fileList;
this.setState({ fileList });
}}
fileList={this.state.fileList}
/>
this.setState({
visibleTree: false,
mainModalKeys: this.state.mainModalKeys + 10,
})
}
width="1200px"
title="下载凭证"
footer=""
className="admin-desc-content"
>
{downloadList.map((item, key) => (
-
{item.name}
this.getUrl(item.url, item.name)}
>
下载附件
))}
) : (
""
)}
{this.state.visible ? (
{
this.setState({
visible: false,
dataInfor: {},
});
}}
/>
) : (
""
)}
{
this.setState({
visibleTransfer: false,
transferKey: this.state.transferKey + 13
});
}}
width="500px"
style={{ color: "red" }}
footer=""
className="admin-desc-content"
>
{" "}
您确定移交法务?
);
}
}
export default PressMoney;