import React from "react";
import $ from "jquery/src/ajax";
import {
Form,
Radio,
Icon,
Button,
Input,
Spin,
Table,
message,
DatePicker,
Modal,
Upload,
Cascader,
Tabs,
Select,
Col,
Tag, Tooltip
} from "antd";
import NewService from "../../order/orderNew/addService.jsx";
import ResolutionDetail from "@/resolutionDetail";
import moment from "moment";
import "./userMangagement.less";
import { areaSelect } from "@/NewDicProvinceList";
import OrderRiZi from "@/orderRiZi.jsx";
import {
getApprovedState,
getprovince,
getProcessStatus,
getLiquidationStatus,
getNewOrderStatus,
beforeUploadFile,
getProvinceA,
getInvoiceStatus,
splitUrl,
ShowModal,
getCuikuan,
getjiedian, getProjectName
} from "../../../tools.js";
import ShowModalDiv from "@/showModal.jsx";
import { ChooseList } from "../../order/orderNew/chooseList";
import ReactToPrint from "react-to-print";
import Project from "../../../../component/project";
import ImgList from "../../../common/imgList";
import ProjectDetailsReadOnly from "../../../common/projectDetailsReadOnly";
import OrderItemStatus from "../../../common/orderItemStatus";
import EnterpriseNameChange from "../../../common/enterpriseNameChange";
const { Option } = Select;
const { TabPane } = Tabs;
const PicturesWall = React.createClass({
getInitialState() {
return {
previewVisible: false,
previewImage: "",
fileList: this.props.pictureUrl,
declarationBatch: 1,
dataInfor: {},
};
},
getDefaultProps() {
return {
changeClick: this.modifyChange
};
},
handleCancel() {
this.setState({ previewVisible: false });
},
handlePreview(file) {
this.setState({
previewImage: file.url || file.thumbUrl,
previewVisible: true
});
},
handleChange(info) {
let fileList = info.fileList;
this.setState({ fileList });
this.props.fileList(fileList);
},
componentWillReceiveProps(nextProps) {
this.state.fileList = nextProps.pictureUrl;
},
render() {
const { previewVisible, previewImage, fileList } = this.state;
const uploadButton = (
);
return (
{uploadButton}
);
}
});
const Order = Form.create()(
React.createClass({
loadData(pageNo) {
this.state.data = [];
this.setState({
loading: true,
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/newOrder/orderNewList",
data: {
pageNo: pageNo || 1,
pageSize: this.state.pagination.pageSize,
specially: 6,
name: this.state.customerName,
orderNo: this.state.searchOrderNo,
starTime: this.state.releaseDate[0],
endTime: this.state.releaseDate[1],
liquidationStatus: this.state.liquidationStatusSearch,
contractNo: this.state.contractNoSearch,
depId: this.state.departmenttList,
amountStatus: this.state.amountStatus,
approval: this.state.approvalSearch,
},
success: function (data) {
ShowModal(this);
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: thisdata.orderNo,
id: thisdata.id,
orderNo: thisdata.orderNo, //订单编号
totalAmount: thisdata.totalAmount, //签单金额
processStatus: thisdata.processStatus, //流程状态
liquidationStatus: thisdata.liquidationStatus, //结算状态
approval: thisdata.approval, //特批状态
signDate: thisdata.signDate, //签单时间
userName: thisdata.userName, //客户名称
salesmanName: thisdata.salesmanName, //营销员名称
financeName: thisdata.financeName, //财务名称
createDate: thisdata.createDate, //下单时间
orderStatus: thisdata.orderStatus, //订单状态
depName: thisdata.depName, //部门名称
contractNo: thisdata.contractNo, //合同编号
invoiceAmount: thisdata.invoiceAmount, //开票金额
settlementAmount: thisdata.settlementAmount, //已收款
});
}
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: [],
});
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
getInitialState() {
return {
rotateDeg: 0,
kaiData: {
remarks: "",
type: undefined,
orgCodeUrl: "",
invoiceType: undefined,
unitName: "",
taxNumber: "",
amount: "",
banks: "",
content: "",
unitAddress: "",
invoiceRemarks: "",
unitMobile: "",
post: undefined,
addressee: "",
addresseeMobile: "",
addresseeProvince: "",
addresseeCity: "",
addresseeArea: "",
recipientAddress: "",
ordapproval: undefined,
alreadyAmount: "0",
ProvinceCity: [],
},
changeList: undefined,
datauser: {},
orgCodeUrl: [],
selectedRowKeys: [],
releaseDate: [],
departmentArr: [],
signBillState: false,
signBillVisible: false,
selectedRows: [],
recordData: [],
flag: false,
searchMore: true,
loading: false,
alreadyAmount: 0,
intentOrder: true,
formalOrder: true,
resVisible: false,
pagination: {
defaultCurrent: 1,
defaultPageSize: 10,
showQuickJumper: true,
pageSize: 10,
onChange: function (page) {
this.loadData(page);
}.bind(this),
showTotal: function (total) {
return "共" + total + "条数据";
},
},
columnsX: [
{
title: "业务项目名称",
dataIndex: "commodityName",
key: "commodityName",
render: (text, record) => {
return text + "-" + record.id
}
},
{
title: "项目类别",
dataIndex: "cname",
key: "cname",
},
{
title: "项目数量",
dataIndex: "commodityQuantity",
key: "commodityQuantity",
render: (text, record) => {
if (record.splitStatus == 1) {
return (
{text}{" "}
{
e.stopPropagation();
this.showRes(record);
}}
>
已拆
);
} else {
return text;
}
},
},
{
title: "金额(万元)",
dataIndex: "commodityPrice",
key: "commodityPrice",
},
{
title: "负责人",
dataIndex: "contacts",
key: "contacts",
},
{
title: "负责人电话",
dataIndex: "contactsMobile",
key: "contactsMobile",
},
{
title: "主要项目",
dataIndex: "main",
key: "main",
render: (text) => {
return text ? "是" : "否";
},
},
{
title: "项目说明",
dataIndex: "taskComment",
key: "taskComment",
render: (text) => {
return text && text.length > 8 ? text.substr(0, 8) + "…" : text;
},
},
],
ContactsListsNew: [
{
title: "项目名称",
dataIndex: "commodityName",
key: "commodityName",
render: (text, record) => {
return {text + "-" + record.tid};
},
},
{
title: "项目分类",
dataIndex: "projectType",
key: "projectType",
render: (text) => {
let arr = this.state.dataSourceX || [];
let str = "";
for (let i = 0; i < arr.length; i++) {
if (this.state.dataSourceX[i].sort == text) {
str = this.state.dataSourceX[i].cname;
return {str};
}
}
},
},
{
title: "催款科目",
dataIndex: "dunTypeName",
key: "dunTypeName",
render: (text, record) => {
if (record.customizeName) {
return text + record.customizeName;
}
return {text};
},
},
{
title: "时间(天)",
dataIndex: "waitDay",
key: "waitDay",
render: (text, record) => {
if (record.dunTypeName) {
if (record.customizeTimes) {
return record.customizeTimes;
}
return {text};
}
},
},
{
title: "金额(万元)",
dataIndex: "money",
key: "money",
render: (text, record) => {
if (record.dunTypeName) {
if (record.appropriationRatio) {
return {record.appropriationRatio}(拨款比例);
} else {
return {text};
}
}
},
},
{
title: "服务年限",
dataIndex: "startDate",
key: "startDate",
render: (text, record) => {
if (record.dunTypeName) {
return {text};
}
},
},
{
title: "催款状态",
dataIndex: "status",
key: "status",
render: (text) => {
return {text == 1 ? "已启动" : "未启动"};
},
},
],
ContactsLists: [
{
title: "催款科目",
dataIndex: "dunSubject",
key: "dunSubject",
render: (text) => {
return getjiedian(text);
},
},
{
title: "金额(万元)",
dataIndex: "money",
key: "money",
},
{
title: "催款状态",
dataIndex: "dunStatus",
key: "dunStatus",
render: (text) => {
return getCuikuan(text);
},
},
],
cuiColumns: [
{
title: "序号",
dataIndex: "key",
key: "key",
},
{
title: "合同编号",
dataIndex: "contractNo",
key: "contractNo",
},
{
title: "订单编号",
dataIndex: "orderNo",
key: "orderNo",
},
{
title: "客户名称",
dataIndex: "userName",
key: "userName",
render: text => {
return (
{text}
)
}
},
{
title: "订单负责人",
dataIndex: "salesmanName",
key: "salesmanName",
},
{
title: "订单部门",
dataIndex: "depName",
key: "depName",
},
{
title: "订单状态",
dataIndex: "orderStatus",
key: "orderStatus",
render: (text) => {
return getNewOrderStatus(text);
},
},
{
title: "项目状态",
dataIndex: "projectStatus",
key: "projectStatus",
render: (text) => {
return getProjectName(text);
},
},
{
title: "签单金额",
dataIndex: "totalAmount",
key: "totalAmount",
},
{
title: "结算状态",
dataIndex: "liquidationStatus",
key: "liquidationStatus",
render: (text) => {
return getLiquidationStatus(text);
},
},
{
title: "已收款",
dataIndex: "settlementAmount",
key: "settlementAmount",
},
{
title: "应收款",
dataIndex: "accountsReceivable",
key: "accountsReceivable",
},
{
title: "催收科目",
dataIndex: "dunSubject",
key: "dunSubject",
// render: text => {
// return getjiedian(text);
// }
},
{
title: "催款状态",
dataIndex: "dunStatus",
key: "dunStatus",
},
{
title: "催收启动时间",
dataIndex: "startDate",
key: "startDate",
},
],
proColumns: [
{
title: "序号",
dataIndex: "key",
key: "key",
},
{
title: "合同编号",
dataIndex: "contractNo",
key: "contractNo",
},
{
title: "订单编号",
dataIndex: "orderNo",
key: "orderNo",
},
// {
// title: "项目编号",
// dataIndex: "id",
// key: "id"
// },
{
title: "客户名称",
dataIndex: "userName",
key: "userName",
render: text => {
return (
{text}
)
}
},
{
title: "订单负责人",
dataIndex: "salesmanName",
key: "salesmanName",
},
{
title: "是否主项目",
dataIndex: "main",
key: "main",
render: (text) => {
return text == 0 ? "否" : "是";
},
},
{
title: "项目类别",
dataIndex: "cname",
key: "cname",
},
{
title: "项目名称",
dataIndex: "commodityName",
key: "commodityName",
},
{
title: "项目数量",
dataIndex: "commodityQuantity",
key: "commodityQuantity",
render: (text, record) => {
if (record.splitStatus == 1) {
return (
{text}{" "}
{
e.stopPropagation();
this.showRes(record);
}}
>
已拆
);
} else {
return text;
}
},
},
{
title: "服务市价",
dataIndex: "commodityPrice",
key: "commodityPrice",
render: (text) => {
return "****";
},
},
{
title: "证书编号",
dataIndex: "certificateNumber",
key: "certificateNumber",
},
{
title: "项目状态",
dataIndex: "projectStatus",
key: "projectStatus",
render: (text) => {
return getProjectName(text);
},
},
{
title: "项目说明",
dataIndex: "taskComment",
key: "taskComment",
},
// {
// title: "外包(内部)公司",
// dataIndex: "outsourceName",
// key: "outsourceName",
// },
// {
// title: "外包(内部)价格",
// dataIndex: "outsourcePrice",
// key: "outsourcePrice",
// render: (text) => {
// return "****";
// },
// },
],
columns: [
{
title: "合同编号",
dataIndex: "contractNo",
key: "contractNo",
// fixed: 'left'
},
{
title: "订单编号",
dataIndex: "orderNo",
key: "orderNo",
// fixed: 'left'
},
{
title: "客户名称",
dataIndex: "userName",
key: "userName",
render: text => {
return (
{text}
)
}
},
{
title: "订单部门",
dataIndex: "depName",
key: "depName",
// fixed: 'left'
},
{
title: "下单时间",
dataIndex: "createDate",
key: "createTime",
},
{
title: "合同签订时间",
dataIndex: "signDate",
key: "signDate",
},
{
title: "流程状态",
dataIndex: "processStatus",
key: "processStatus",
render: (text) => {
return getProcessStatus(text);
},
},
{
title: "签单金额(万元)",
dataIndex: "totalAmount",
key: "totalAmount",
},
{
title: "开票金额(万元)",
dataIndex: "invoiceAmount",
key: "invoiceAmount",
},
{
title: "已收款(万元)",
dataIndex: "settlementAmount",
key: "settlementAmount",
},
{
title: "结算状态",
dataIndex: "liquidationStatus",
key: "liquidationStatus",
render: (text) => {
return getLiquidationStatus(text);
},
},
{
title: "是否特批",
dataIndex: "approval",
key: "approval",
render: (text) => {
return getApprovedState(text);
},
},
{
title: "订单状态",
dataIndex: "orderStatus",
key: "orderStatus",
render: (text) => {
return getNewOrderStatus(text);
},
},
{
title: "财务负责人",
dataIndex: "financeName",
key: "financeName",
},
],
columnsDate: [
{
title: "编号",
dataIndex: "id",
key: "id",
},
{
title: "订单编号",
dataIndex: "orderno",
key: "orderno",
},
{
title: "开票金额(万元)",
dataIndex: "amount",
key: "amount",
},
{
title: "申请时间",
dataIndex: "createTime",
key: "createTime",
},
{
title: "开票状态",
dataIndex: "status",
key: "status",
render: (text, record) => {
return {getInvoiceStatus(text, record)}
;
},
},
],
dataSource: [],
};
},
invoiceData(record) {
if (this.state.flagA) return;
this.setState({
flagA: true,
});
let theorgCodeUrl = [];
if (this.state.orgCodeUrl.length) {
let picArr = [];
this.state.orgCodeUrl.map(function (item) {
if (
item.response &&
item.response.data &&
item.response.data.length
) {
picArr.push(item.response.data);
}
});
theorgCodeUrl = picArr.join(",");
}
let api = "",
api1 = "",
method = "",
fdata = {
orderNo: this.state.orderNo3,
type: this.state.type,
status: this.state.status,
approval: this.state.ordapproval,
remarks: this.state.remarks,
invoiceType: this.state.invoiceType,
unitName: this.state.unitName,
taxNumber: this.state.taxNumber,
amount: parseFloat(this.state.amount),
banks: this.state.banks,
content: this.state.content,
unitAddress: this.state.unitAddress,
invoiceRemarks: this.state.invoiceRemarks,
unitMobile: this.state.unitMobile,
voucherUrl: theorgCodeUrl.length ? theorgCodeUrl : "",
post: this.state.post,
addressee: this.state.addressee,
addresseeMobile: this.state.addresseeMobile,
addresseeProvince:
this.state.post === 0 ? this.state.ProvinceCity[0] : "",
addresseeCity:
this.state.post === 0 ? this.state.ProvinceCity[1] : "",
addresseeArea:
this.state.post === 0 ? this.state.ProvinceCity[2] : "",
recipientAddress: this.state.recipientAddress,
alreadyAmount: parseFloat(this.state.alreadyAmount),
},
sumData = {},
sumData1 = {};
switch (this.state.status) {
case 0:
api = "/api/admin/orderInvoice/createOrderInvoice";
sumData = fdata;
method = "post";
break;
case 1:
api = "/api/admin/orderInvoice/createOrderInvoice";
api1 = "/api/admin/orderInvoice/updateOrderInvoice";
sumData = fdata;
sumData1 = {
orderNo: this.state.orderNo3,
type: this.state.type,
status: this.state.status,
approval: this.state.ordapproval,
remarks: this.state.remarks,
invoiceType: this.state.invoiceType,
unitName: this.state.unitName,
taxNumber: this.state.taxNumber,
amount: parseFloat(this.state.amount),
banks: this.state.banks,
content: this.state.content,
unitAddress: this.state.unitAddress,
invoiceRemarks: this.state.invoiceRemarks,
unitMobile: this.state.unitMobile,
voucherUrl: theorgCodeUrl.length ? theorgCodeUrl : "",
post: this.state.post,
addressee: this.state.addressee,
addresseeMobile: this.state.addresseeMobile,
addresseeProvince:
this.state.post === 0 ? this.state.ProvinceCity[0] : "",
addresseeCity:
this.state.post === 0 ? this.state.ProvinceCity[1] : "",
addresseeArea:
this.state.post === 0 ? this.state.ProvinceCity[2] : "",
recipientAddress: this.state.recipientAddress,
alreadyAmount: parseFloat(this.state.alreadyAmount),
};
sumData1.id = this.state.id;
method = "post";
break;
case 3:
api = "/api/admin/orderInvoice/selectByIdOrderInvoice";
sumData.id = record.id;
method = "get";
break;
default:
api = "";
break;
}
if (this.state.status === 1 || this.state.status === 0) {
if (typeof this.state.type !== "number") {
message.warning("省内/外不能为空");
this.setState({
flagA: false,
});
return;
}
if (typeof this.state.invoiceType !== "number") {
message.warning("发票类型不能为空");
this.setState({
flagA: false,
});
return;
}
if (typeof theorgCodeUrl !== "string") {
message.warning("未上传图片");
this.setState({
flagA: false,
});
return;
}
if (!this.state.unitName) {
message.warning("单位名称不能为空");
this.setState({
flagA: false,
});
return;
}
if (!this.state.taxNumber) {
message.warning("税号不能为空");
this.setState({
flagA: false,
});
return;
}
if (!this.state.amount) {
message.warning("金额不能为空");
this.setState({
flagA: false,
});
return;
}
if (isNaN(this.state.amount)) {
message.warning("开票金额包含非法字符,请重新输入");
this.setState({
flagA: false,
});
return;
}
if (isNaN(this.state.alreadyAmount)) {
message.warning("开票金额总计包含非法字符,请重新输入");
this.setState({
flagA: false,
});
return;
}
if (parseFloat(this.state.alreadyAmount) < 0) {
message.warning("开票金额总计不能小于0,请重新输入");
this.setState({
flagA: false,
});
return;
}
if (!this.state.banks) {
message.warning("开户行不能为空");
this.setState({
flagA: false,
});
return;
}
if (!this.state.content) {
message.warning("开票内容及说明不能为空");
this.setState({
flagA: false,
});
return;
}
if (!this.state.unitAddress) {
message.warning("单位地址不能为空");
this.setState({
flagA: false,
});
return;
}
if (!this.state.unitMobile) {
message.warning("单位电话不能为空");
this.setState({
flagA: false,
});
return;
}
if (this.state.alreadyAmount === "") {
message.warning("开票金额总计不能为空");
this.setState({
flagA: false,
});
return;
}
}
// console.log(this.state.flag,this.state.status)
this.setState({
loading: true,
});
$.ajax({
method: method,
dataType: "json",
crossDomain: false,
url: globalConfig.context + (this.state.flag ? api1 : api),
data: this.state.flag ? sumData1 : sumData,
success: function (data) {
if (this.state.status === 3 && typeof data.data === "object") {
let thisdata = data.data;
let ProvinceCityArr = [];
let ProvinceS = thisdata.addresseeProvince; //省
let citys = thisdata.addresseeCity; //市
let Areas = thisdata.addresseeArea; //区
ProvinceCityArr.push(ProvinceS, citys, Areas);
this.setState({
orderNo: thisdata.orderNo,
type: thisdata.type,
status: thisdata.status,
ordapproval: thisdata.approval,
remarks: thisdata.remarks,
invoiceType: thisdata.invoiceType,
unitName: thisdata.unitName,
taxNumber: thisdata.taxNumber,
amount: thisdata.amount + "",
banks: thisdata.banks,
content: thisdata.content,
unitAddress: thisdata.unitAddress,
invoiceRemarks: thisdata.invoiceRemarks,
unitMobile: thisdata.unitMobile,
post: thisdata.post,
addressee: thisdata.addressee,
addresseeMobile: thisdata.addresseeMobile,
addresseeProvince: thisdata.addresseeProvince,
addresseeCity: thisdata.addresseeCity,
addresseeArea: thisdata.addresseeArea,
alreadyAmount: thisdata.alreadyAmount + "",
ProvinceCity:
ProvinceCityArr[0] != null ? ProvinceCityArr : undefined, //省市区
recipientAddress: thisdata.recipientAddress,
orgCodeUrl: thisdata.voucherUrl
? splitUrl(
thisdata.voucherUrl,
",",
globalConfig.avatarHost + "/upload"
)
: [],
});
}
}.bind(this),
}).done(
function (data) {
this.setState({
loading: false,
});
if (!data.error.length) {
if (this.state.status === 1) {
message.success("提交成功!");
this.visitCancels();
if (this.state.flag) {
this.inRecordData();
}
this.setState({
flagA: false,
});
} else if (this.state.status === 0) {
message.success("保存成功!");
this.visitCancels();
this.setState({
flagA: false,
});
} else if (this.state.status === 3) {
this.setState({
flag: true,
flagA: false,
});
}
} else {
message.warning(data.error[0].message);
this.setState({
flagA: false,
});
}
}.bind(this)
);
},
areset() {
this.setState({
remarks: "",
type: undefined,
orgCodeUrl: "",
invoiceType: undefined,
unitName: "",
taxNumber: "",
amount: "",
banks: "",
content: "",
unitAddress: "",
invoiceRemarks: "",
unitMobile: "",
post: undefined,
addressee: "",
addresseeMobile: "",
addresseeProvince: "",
addresseeCity: "",
addresseeArea: "",
recipientAddress: "",
ordapproval: undefined,
alreadyAmount: "",
ProvinceCity: [],
});
},
recompose(record) {
// console.log(record)
this.setState({
avisible: true,
orderNo3: record.orderno,
id: record.id,
});
this.setState(
{
status: 3,
cvisible: true,
flag: false,
},
() => {
this.invoiceData(record);
}
);
},
submitApp() {
if (this.state.status === 3) {
this.setState({
flag: true,
});
}
this.setState(
{
status: 1,
},
() => {
this.invoiceData();
}
);
},
saveApp() {
this.setState(
{
status: 0,
},
() => {
this.invoiceData();
}
);
},
reject(record) {
this.setState({
visibleR: true,
reason: record.rejectReason,
});
},
rejectCancels() {
this.setState({
visibleR: false,
});
},
rizhi() {
console.log(this.state.orderNo);
this.setState({
loading: true,
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: "/api/admin/newOrder/selectOrderLog",
data: {
orderNo: this.state.orderNo,
},
success: function (data) {
let theArr = [];
let thisData = data.data;
if (!thisData.length) {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
}
thisData = {};
} else {
for (let i = 0; i < data.data.length; i++) {
let thisdata = data.data[i];
theArr.push({
processName: thisdata.processName,
adminName: thisdata.adminName,
createDate: thisdata.createDate,
remarks: thisdata.remarks,
});
}
}
this.setState({
dataSourcerizhi: theArr,
});
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
//查看订单日志
getOrderLog() {
this.setState({
rizhivisible: true,
});
this.rizhi();
},
closeOrderLog() {
this.setState({
rizhivisible: false,
});
},
//开票
visit(record, index) {
this.areset();
this.setState({
contractNo: this.state.dataSource[index].contractNo,
orderNo3: record.orderNo,
avisible: true,
flag: false,
invoiceType: 0,
alreadyAmount: 0,
unitName: this.state.dataSource[index].userName,
post: 1,
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/orderInvoice/getInvoiceDetails",
data: {
orderNo: record.orderNo,
},
success: (data) => {
if (data.error.length) {
message.warning(data.error[0].message);
} else if (data.data) {
const thisdata = data.data;
this.setState({
contractNo: thisdata.contractNo,
orderNo: thisdata.orderNo,
ordapproval: thisdata.approval,
type: thisdata.type,
status: thisdata.status,
remarks: thisdata.remarks,
invoiceType: thisdata.invoiceType,
unitName: thisdata.unitName,
taxNumber: thisdata.taxNumber,
amount: thisdata.amount,
banks: thisdata.banks,
content: thisdata.content,
unitAddress: thisdata.unitAddress,
invoiceRemarks: thisdata.invoiceRemarks,
unitMobile: thisdata.unitMobile,
post: thisdata.post,
addressee: thisdata.addressee,
addresseeMobile: thisdata.addresseeMobile,
addresseeProvince: thisdata.addresseeProvince,
addresseeCity: thisdata.addresseeCity,
addresseeArea: thisdata.addresseeArea,
alreadyAmount: thisdata.alreadyAmount,
recipientAddress: thisdata.recipientAddress,
orgCodeUrl: thisdata.voucherUrl
? splitUrl(
thisdata.voucherUrl,
",",
globalConfig.avatarHost + "/upload"
)
: [],
});
}
},
});
},
visitCancels() {
this.setState({
avisible: false,
cvisible: false,
});
},
//查看开票历史记录详情
dtableRowClick(record) {
this.setState({
dvisible: true,
});
this.setState({
loading: true,
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url:
globalConfig.context +
"/api/admin/orderInvoice/selectByIdOrderInvoice",
data: {
id: record.id,
},
success: function (data) {
let thisdata = data.data;
this.setState({
contractNo: thisdata.contractNo,
orderNo: thisdata.orderNo,
ordapproval: thisdata.approval,
type: thisdata.type,
status: thisdata.status,
remarks: thisdata.remarks,
invoiceType: thisdata.invoiceType,
unitName: thisdata.unitName,
taxNumber: thisdata.taxNumber,
amount: thisdata.amount,
banks: thisdata.banks,
content: thisdata.content,
unitAddress: thisdata.unitAddress,
invoiceRemarks: thisdata.invoiceRemarks,
unitMobile: thisdata.unitMobile,
post: thisdata.post,
addressee: thisdata.addressee,
addresseeMobile: thisdata.addresseeMobile,
addresseeProvince: thisdata.addresseeProvince,
addresseeCity: thisdata.addresseeCity,
addresseeArea: thisdata.addresseeArea,
alreadyAmount: thisdata.alreadyAmount,
recipientAddress: thisdata.recipientAddress,
orgCodeUrl: thisdata.voucherUrl
? splitUrl(
thisdata.voucherUrl,
",",
globalConfig.avatarHost + "/upload"
)
: [],
});
}.bind(this),
}).done(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
//关闭开票历史记录详情
dvisitCancels() {
this.setState({
dvisible: false,
});
},
inRecordData() {
this.setState({
loading: true,
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url:
globalConfig.context +
"/api/admin/orderInvoice/salesmanOrderInvoiceList",
data: {
orderNo: this.state.orderNo2,
},
success: function (data) {
let theArr = [];
let sum = 0;
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];
sum += parseFloat(thisdata.amount);
theArr.push({
id: thisdata.id,
orderno: thisdata.orderno, //订单编号
amount: thisdata.amount, //签单金额
createTime: thisdata.createTime, //流程状态
status: thisdata.status, //结算状态
rejectReason: thisdata.rejectReason,
approval: thisdata.approval,
});
}
}
this.setState({
recordData: theArr,
sum: sum.toFixed(6),
});
}.bind(this),
}).done(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
inRecord(record) {
this.setState(
{
bvisible: true,
orderNo2: this.state.selectedRowKeys[0],
},
() => {
this.inRecordData();
}
);
},
inRecordCanl() {
this.setState({
bvisible: false,
});
},
// 拆分详细
showRes(record) {
this.setState({
resVisible: true,
resRecord: record,
});
},
resCancel() {
this.setState({
resVisible: false,
});
},
//结项
delectRow(record) {
this.setState({
loading: true,
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/newOrder/OrderOver",
data: {
orderNo: record.orderNo,
},
}).done(
function (data) {
if (!data.error.length) {
message.success("该项目已成功结项!");
this.loadData();
} else {
message.warning(data.error[0].message);
}
this.setState({
loading: false,
});
}.bind(this)
);
},
//是否退款
refundCancel(record) {
this.refund(record, 0);
},
refundOk(record) {
this.refund(record, 1);
},
refund(record, index) {
this.setState({
signBillVisible: false,
selectedRowKeys: [],
loading: true,
userDetaile: false,
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/order/confirmRefund",
data: {
orderNo: record.orderNo,
confirm: index,
},
}).done(
function (data) {
if (!data.error.length) {
message.success("操作成功!");
this.setState({
loading: false,
showDesc: false,
});
}
this.loadData(this.state.pageNo);
}.bind(this)
);
},
//受理订单
admissibleOrderOk(e) {
this.admissibleOrder(e, true);
},
admissibleOrderCancel(e) {
this.admissibleOrder(e, false);
},
admissibleOrder(record, index) {
this.setState({
signBillVisible: false,
selectedRowKeys: [],
loading: true,
userDetaile: false,
});
$.ajax({
method: "POST",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/order/confirmIntention",
data: {
orderNo: record.orderNo,
confirm: index,
},
}).done(
function (data) {
if (!data.error.length) {
message.success("操作成功!");
this.setState({
loading: false,
showDesc: false,
});
} else {
message.warning(data.error[0].message);
this.setState({
showDesc: true,
});
}
this.loadData(this.state.pageNo);
}.bind(this)
);
},
//取消订单
cancelOrder(e) {
this.operation(e, 3);
},
//作废订单
scrapOrder(e) {
this.operation(e, 2);
},
//锁定订单
lockOrder(e) {
this.operation(e, 0);
},
//解锁订单
unlockOrder(e) {
this.operation(e, 1);
},
//签单
signBill(ids) {
this.setState({
uid: ids,
signBillVisible: true,
});
},
componentWillMount() {
this.departmentList();
this.loadData();
},
//整行点击
tableRowClick(record) {
this.setState({
visible: true,
});
this.xiangqing(record.orderNo);
this.xiangmu(record.orderNo);
this.jiedian(record.orderNo);
this.jiedianNew(record.orderNo);
},
//点击打卡项目详情
tableRowClickX(record) {
this.setState({
jid: record.id, //项目ID
kid: record.commodityId, //商品ID
commodityName: record.commodityName, //金额
commodityPrice: record.commodityPrice, //金额
commodityQuantity: record.commodityQuantity, //数量
taskComment: record.taskComment, //备注
main: record.main.toString(), //是否为主要
addnextVisible: true,
dataInfor:record,
addState: 0,
});
},
//项目详情关闭
nextCancel() {
this.setState({
addnextVisible: false,
});
},
visitCancel() {
this.setState({
visible: false,
});
},
//订单详情
xiangqing(orderNos) {
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/newOrder/getOrderNewDetail",
data: {
orderNo: orderNos,
},
success: function (data) {
if (data.error.length || data.data.list == "") {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
}
} else {
let thisdata = data.data;
this.setState({
orderUid: thisdata.uid,
orderNo: thisdata.orderNo, //订单编号
contractNo: thisdata.contractNo, //合同编号
userName: thisdata.userName, //客户名称
signDate: thisdata.signDate, //签单时间
processStatus: thisdata.processStatus, //流程状态
liquidationStatus: thisdata.liquidationStatus, //结算状态
contacts: thisdata.contacts, //企业联系人
contactMobile: thisdata.contactMobile, //联系人电话
legalPerson: thisdata.legalPerson, //法人
legalPersonTel: thisdata.legalPersonTel, //法人电话
firstAmount: thisdata.firstAmount, //签单金额
totalAmount: thisdata.totalAmount, //首付金额
approval: thisdata.approval, //特批状态
settlementAmount: thisdata.settlementAmount, //已收款项
orderRemarks: thisdata.orderRemarks, //订单留言
orgCodeUrl: thisdata.contractPictureUrl
? splitUrl(
thisdata.contractPictureUrl,
",",
globalConfig.avatarHost + "/upload"
)
: [], //图片地址
replenishUrl: thisdata.agreementUrl
? splitUrl(
thisdata.agreementUrl,
",",
globalConfig.avatarHost + "/upload"
)
: [], //图片地址
salesmanName: thisdata.salesmanName, //营销员名称
salesmanMobile: thisdata.salesmanMobile, //营销员电话
oldSalesmanName: thisdata.oldSalesmanName, //营销员名称
oldSalesmanMobile: thisdata.oldSalesmanMobile, //营销员电话
financeName: thisdata.financeName, //财务名称
financeMobile: thisdata.financeMobile, //财务电话
nowFinance: thisdata.nowFinance, //财务名称
nowFinanceMobile: thisdata.nowFinanceMobile, //财务电话
depName: thisdata.depName,
outsource: thisdata.outsource == 0 ? "否" : "是",
deleteSign:thisdata.deleteSign,
});
}
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
//项目列表
xiangmu(orderNos) {
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/newOrder/getOrderTask",
data: {
orderNo: orderNos,
},
success: function (data) {
let theArr = [];
if (data.error.length || data.data.list == "") {
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];
thisdata.key = i;
thisdata.sort = thisdata.cSort;
theArr.push(thisdata);
}
}
this.setState({
dataSourceX: theArr,
});
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
//节点列表
jiedian(orderNos) {
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/newOrder/selectOrderDun",
data: {
orderNo: orderNos,
},
success: function (data) {
let theArr = [];
let thisData = [];
if (data.error.length || data.data.list == "") {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
}
} else {
for (let i = 0; i < data.data.length; i++) {
thisData = data.data[i];
theArr.push({
key: i,
dunSubject: thisData.dunSubject
? thisData.dunSubject.toString()
: "", //催款科目
id: thisData.id, //节点Id
money: thisData.money, //催款金额
dunStatus: thisData.dunStatus, //催款状态
});
}
this.setState({
contactList: theArr,
});
}
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
//查看催款节点
jiedianNew(orderNos) {
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url:
globalConfig.context + "/api/admin/newOrderDun/selectListNewOrderDun",
data: {
orderNo: orderNos,
},
success: function (data) {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
} else {
let theArr = [];
let thisData = [];
let arr = data.data || [];
let totalCui = 0;
for (let i = 0; i < arr.length; i++) {
thisData = arr[i];
totalCui += +thisData.money;
theArr.push({
key: i,
dunSubject: thisData.dunSubject
? thisData.dunSubject.toString()
: "", //催款科目
id: thisData.id, //节点Id
money: thisData.money, //催款金额
// orderNo: record ? record.orderNo : this.props.datauser.orderNo,
commodityName: thisData.commodityName,
projectType: thisData.projectType,
dunTypeName: thisData.dunTypeName,
status: thisData.status,
waitDay: thisData.waitDay,
effectiveCount: thisData.effectiveCount,
startDate: thisData.startDate,
dunType: thisData.dunType,
appropriationRatio: thisData.appropriationRatio,
customizeName: thisData.customizeName,
customizeTimes: thisData.customizeTimes,
tid: thisData.tid,
});
}
if (!totalCui) {
totalCui = 0;
}
totalCui = (Math.round(totalCui * 1000000) / 1000000).toFixed(6);
this.setState({
contactListNew: theArr,
totalCui,
});
}
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
//列表各种骚操作
operation(record, index) {
this.setState({
selectedRowKeys: [],
loading: true,
showDesc: false,
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/order/lockOrRevokeOrder",
data: {
orderNo: record.orderNo,
operatorType: index,
},
}).done(
function (data) {
if (!data.error.length) {
message.success("操作成功!");
this.setState({
loading: false,
});
} else {
message.warning(data.error[0].message);
}
this.loadData(this.state.pageNo);
}.bind(this)
);
},
addClick() {
this.state.userDetaile = false;
this.setState({
signBillVisible: false,
showDesc: true,
});
},
closeDesc(e, s) {
this.state.userDetaile = false;
this.state.signBillVisible = false;
this.state.showDesc = e;
if (s) {
this.loadData(this.state.pageNo);
}
},
searchSwitch() {
this.setState({
signBillVisible: false,
searchMore: !this.state.searchMore,
});
},
getOrgCodeUrl(e) {
this.setState({ orgCodeUrl: e });
},
search() {
this.setState({
signBillVisible: false,
});
this.loadData();
},
reset() {
this.setState({
signBillVisible: false,
});
this.state.searchOrderNo = undefined;
this.state.orderNo = "";
this.state.customerName = "";
this.state.departmenttSearch = undefined;
this.state.releaseDate[0] = undefined;
this.state.releaseDate[1] = undefined;
this.state.projectProgress = undefined;
this.state.approval = undefined;
this.state.formalOrder = true;
this.state.intentOrder = true;
(this.state.liquidationStatusSearch = []),
(this.state.contractNoSearch = "");
this.state.departmenttList = [];
this.state.amountStatus = undefined;
this.state.approvalSearch = undefined;
this.loadData();
},
//部门
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)
);
},
changeList(arr) {
const newArr = [];
this.state.columns.forEach((item) => {
arr.forEach((val) => {
if (val === item.title) {
newArr.push(item);
}
});
});
this.setState({
changeList: newArr,
});
},
onSelectChange(selectedRowKeys) {
this.setState({ selectedRowKeys });
console.log(selectedRowKeys);
},
// inRecordData() {
// this.setState({
// loading: true
// });
// $.ajax({
// method: "get",
// dataType: "json",
// crossDomain: false,
// url:
// globalConfig.context +
// "/api/admin/orderInvoice/salesmanOrderInvoiceList",
// data: {
// orderNo: this.state.selectedRowKeys[0],
// pageSize: 9999
// },
// success: function(data) {
// let theArr = [];
// let sum = 0;
// 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];
// sum += parseFloat(thisdata.amount);
// theArr.push({
// id: thisdata.id,
// orderno: thisdata.orderno, //订单编号
// amount: thisdata.amount, //签单金额
// createTime: thisdata.createTime, //流程状态
// status: thisdata.status, //结算状态
// rejectReason: thisdata.rejectReason
// });
// }
// }
// this.setState({
// recordData: theArr,
// sum: sum.toFixed(4)
// });
// }.bind(this)
// }).done(
// function() {
// this.setState({
// loading: false
// });
// }.bind(this)
// );
// },
cuiData() {
this.setState({
loading: true,
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/newOrder/dunOrderNewList",
data: {
orderNo: this.state.selectedRowKeys[0],
pageSize: 9999999,
},
success: function (data) {
let theArr = [];
if (!data.data || !data.data.list) {
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 + 1,
orderNo: thisdata.orderNo,
contractNo: thisdata.contractNo,
userName: thisdata.userName,
buyerName: thisdata.buyerName,
departmentName: thisdata.departmentName,
salesmanName: thisdata.salesmanName,
depName: thisdata.depName,
orderStatus: thisdata.orderStatus,
projectStatus: thisdata.projectStatus,
totalAmount: thisdata.totalAmount,
liquidationStatus: thisdata.liquidationStatus,
settlementAmount: thisdata.settlementAmount,
accountsReceivable: thisdata.accountsReceivable,
dunSubject: thisdata.dunSubject,
startDate: thisdata.startDate,
taskStatus: thisdata.taskStatus,
cname: thisdata.cname,
id: thisdata.id,
taskName: thisdata.taskName,
hours: thisdata.hours,
taskDistributionTime: thisdata.taskDistributionTime,
taskEndTime: thisdata.taskEndTime,
dunStatus: thisdata.dunStatus == 0 ? "未触发" : "已触发",
});
}
}
this.setState({
cuiDataList: theArr,
});
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
proData() {
this.setState({
loading: true,
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/newOrder/getOrderTask",
data: {
orderNo: this.state.selectedRowKeys[0],
pageSize: 9999999,
},
success: function (data) {
let theArr = [];
let totalWaibao = 0;
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];
totalWaibao += thisdata.outsourcePrice;
thisdata.key = i + 1;
theArr.push(thisdata);
}
}
totalWaibao = (Math.round(totalWaibao * 1000000) / 1000000).toFixed(6);
this.setState({
proDataList: theArr,
totalWaibao,
});
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
tableRowClickPro(record) {
this.setState({
pvisible: true,
record,
});
},
downImg() {
let num = 0;
for (let i = 0; i < this.state.orgCodeUrl.length; i++) {
if (this.state.orgCodeUrl[i].url == this.state.previewImage) {
num = i;
}
}
if (num == this.state.orgCodeUrl.length - 1) {
return message.warning("已经是最后一张了哦");
}
this.state.previewImage = this.state.orgCodeUrl[num + 1].url;
this.setState({
previewImage: this.state.previewImage,
rotateDeg: 0,
});
},
upImg() {
let num = 0;
for (let i = 0; i < this.state.orgCodeUrl.length; i++) {
if (this.state.orgCodeUrl[i].url == this.state.previewImage) {
num = i;
}
}
if (num == 0) {
return message.warning("已经是第一张了哦");
}
this.state.previewImage = this.state.orgCodeUrl[num - 1].url;
this.setState({
previewImage: this.state.previewImage,
rotateDeg: 0,
});
},
rotate() {
let rotateDeg = this.state.rotateDeg + 90;
this.setState({
rotateDeg,
});
},
downImgs() {
let num = 0;
for (let i = 0; i < this.state.replenishUrl.length; i++) {
if (this.state.replenishUrl[i].url == this.state.previewImage) {
num = i;
}
}
if (num == this.state.replenishUrl.length - 1) {
return message.warning("已经是最后一张了哦");
}
this.state.previewImage = this.state.replenishUrl[num + 1].url;
this.setState({
previewImage: this.state.previewImage,
rotateDeg: 0,
});
},
upImgs() {
let num = 0;
for (let i = 0; i < this.state.replenishUrl.length; i++) {
if (this.state.replenishUrl[i].url == this.state.previewImage) {
num = i;
}
}
if (num == 0) {
return message.warning("已经是第一张了哦");
}
this.state.previewImage = this.state.replenishUrl[num - 1].url;
this.setState({
previewImage: this.state.previewImage,
rotateDeg: 0,
});
},
rotates() {
let rotateDeg = this.state.rotateDeg + 90;
this.setState({
rotateDeg,
});
},
render() {
const FormItem = Form.Item;
const formItemLayout = {
labelCol: { span: 8 },
wrapperCol: { span: 14 },
};
const RadioGroup = Radio.Group;
var departmentArr = this.state.departmentArr || [];
const cuiDataList = this.state.contactList || [];
const { RangePicker } = DatePicker;
const { loading, selectedRowKeys, visible } = this.state;
const rowSelection = {
selectedRowKeys,
onChange: this.onSelectChange,
hideDefaultSelections: true,
type: "radio",
};
return (
{this.state.resVisible ? (
) : (
""
)}
部门订单
{
this.setState({ searchOrderNo: e.target.value });
}}
/>
{
this.setState({ customerName: e.target.value });
}}
/>
{
this.setState({
contractNoSearch: e.target.value,
});
}}
/>
下单时间 :
{
this.setState({ releaseDate: dataString });
}}
/>
{
this.setState({
bvisible: false,
});
}}
style={{ zIndex: 5 }}
>
开票总计}
>
{this.state.sum + "(万元)"}
{/*
{
this.refs.kaiPiao = e;
}}
>
开票总计}
>
{this.state.sum + "(万元)"}
(
)}
content={() => this.refs.kaiPiao}
/>
*/}
{
// this.loadData();
this.setState({
cuiVisible: false,
});
}}
>
{
this.refs.all = e;
}}
>
(
)}
content={() => this.refs.all}
/>
{
// this.loadData();
this.setState({
proVisible: false,
});
}}
>
{
this.setState({ pvisible: false });
}}
/>
{
this.refs.all = e;
}}
>
{/*
外包(内部)价格总计(万元):{this.state.totalWaibao}
*/}
(
)}
content={() => this.refs.all}
/>
{this.state.visible ?
:
}
{this.state.addnextVisible &&
}
);
},
})
);
export default Order;