import React from "react";
import {
Table,
Modal,
message,
Spin,
Input,
Select,
Button,
Form,
Upload,
Popconfirm,
AutoComplete,
DatePicker,
Col,
Tabs,
Tag,
Radio,
Group,
} from "antd";
// import $ from "jquery/src/ajax";
import "../userMangagement.less";
import "../billing.less";
import moment from "moment";
import { shenghePeo } from "@/tools.js";
import Picture from "@/manageCenter/publicComponent/picture";
import ResolutionDetail from "@/resolutionDetail";
import quxiao from "../../../../../image/quxiao.png";
import tongguo from "../../../../../image/tongguo.png";
import $ from 'jquery';
import OrderRiZi from "@/orderRiZi.jsx";
import {
orderTypes,
customerType,
jiedian,
boutique,
} from "../../../dataDic.js";
import {
splitUrl,
getProcessStatus,
getLiquidationStatus,
getboutique,
getApprovedState,
getjiedian,
getCuikuan,
getProjectName,
moneyVerify,
getProcessStatusNew,
} from "../../../tools.js";
import { cuiJieDian } from "@/dataDic.js"
import PicturesWall from "./changeComponent/picturesWall.js";
import { changeType, getChangeType } from "./changeComponent/changeDetailYxgly";
import ImgList from "../../../common/imgList";
import OrderItemStatus from "../../../common/orderItemStatus";
import EnterpriseNameChange from "../../../common/enterpriseNameChange";
import ProjectOperation from '.././../../common/projectOperation';
const Option = AutoComplete.Option;
const confirm = Modal.confirm;
const NewService = 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/newOrder/getOrderTask",
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];
thisdata.key = i;
thisdata.sort = thisdata.cSort;
thisdata.declarationBatch = thisdata.declarationBatch || undefined;//申报批次
thisdata.ifCertificationFee = isNaN(parseInt(thisdata.ifCertificationFee)) ? undefined : thisdata.ifCertificationFee;//是否包含申报批次
theArr.push(thisdata);
}
}
this.departmentList();
this.setState({
dataSource: theArr,
pagination: false,
// 禁用变更类型
changeFlag: false,
});
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
//收款节点
loadDatas(record) {
this.state.data = [];
this.setState({
loading: true,
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/newOrder/selectOrderDun",
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,
});
}
}
this.setState({
dataSource: theArr,
pagination: false,
});
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
getInitialState() {
return {
patentType:'',
patentTypeList:[],
rotateDeg: 0,
isCaoGao: false,
cuiFlag: false,
startRemarks: "",
remarksC: "",
loading: false,
logData: [],
visible: false,
cuiDataSource: [],
status: 4,
orgCodeUrl: [],
voucherUrl: [],
replenishUrl: [],
customerArr: [],
declarationBatch: 1,//申报批次 默认第一批
// 禁用变更类型转换
changeFlag: false,
// 合同额禁用
hetongFlag: true,
// 项目及催款禁用
listFlag: true,
mark: false,
activeKey: "1",
typeChange: undefined,
bussStats: false,
checkedKeys: [],
lookflowList: [],
contractUrl: [],
applicationUrl: [],
changeAmount: "0",
active: {
applySign: false,
},
lookState: false,
signBillVisible: false,
commod: "",
columns: [
{
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: "projectStatus",
key: "projectStatus",
render: (text) => {
return getProjectName(text);
},
},
{
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;
},
},
{
title: "操作",
dataIndex: "ABC",
key: "ABC",
render: (text, record) => {
return (
{this.state.processStatus == 0 ? (
) : (
""
)}
);
},
},
],
proColumns: [
{
title: "变更状态",
dataIndex: "type",
key: "type",
render: (text, record) => {
let str = "";
let color = "";
if (text == 1) {
str = "增";
color = "#87d068";
} else if (text == 2) {
str = "改";
color = "#108ee9";
} else if (text == 3) {
str = "删";
color = "#f50";
}
return (
{str}
{record.splitStatus == 1 ? (
父项目
) : (
""
)}
{record.splitStatus == 2 ? (
子项目
) : (
""
)}
);
},
},
{
title: "业务项目名称",
dataIndex: "commodityName",
key: "commodityName",
render: (text, record) => {
return text + "-" + record.id;
},
},
{
title: "项目类别",
dataIndex: "cname",
key: "cname",
},
{
title: "项目数量",
dataIndex: "commodityQuantity",
key: "commodityQuantity",
},
{
title: "金额(万元)",
dataIndex: "commodityPrice",
key: "commodityPrice",
render: (text, record) => {
if (record.splitStatus == 2) {
return "/";
} else {
return text;
}
},
},
{
title: "主要项目",
dataIndex: "main",
key: "main",
render: (text) => {
return text ? "是" : "否";
},
},
{
title: "项目负责人",
dataIndex: "receiverName",
key: "receiverName",
},
{
title: "项目说明",
dataIndex: "taskComment",
key: "taskComment",
render: (text) => {
return text && text.length > 8 ? text.substr(0, 8) + "…" : text;
},
},
{
title: "操作",
dataIndex: "ABC",
key: "ABC",
render: (text, record) => {
return (
);
},
},
],
detailColumns: [
{
title: "变更状态",
dataIndex: "type",
key: "type",
render: (text, record) => {
let str = "";
let color = "";
if (text == 1) {
str = "增";
color = "#87d068";
} else if (text == 2) {
str = "改";
color = "#108ee9";
} else if (text == 3) {
str = "删";
color = "#f50";
}
return (
{str}
{record.splitStatus == 1 ? (
父项目
) : (
""
)}
{record.splitStatus == 2 ? (
子项目
) : (
""
)}
);
},
},
{
title: "业务项目名称",
dataIndex: "commodityName",
key: "commodityName",
render: (text, record) => {
return text + "-" + record.id;
},
},
{
title: "项目类别",
dataIndex: "cname",
key: "cname",
},
{
title: "项目数量",
dataIndex: "commodityQuantity",
key: "commodityQuantity",
},
{
title: "金额(万元)",
dataIndex: "commodityPrice",
key: "commodityPrice",
render: (text, record) => {
if (this.props.isZxs) {
return ***;
} else if (record.splitStatus == 2) {
return "/";
} else {
return {text};
}
},
},
{
title: "主要项目",
dataIndex: "main",
key: "main",
render: (text) => {
return text ? "是" : "否";
},
},
{
title: "项目负责人",
dataIndex: "receiverName",
key: "receiverName",
},
{
title: "项目说明",
dataIndex: "taskComment",
key: "taskComment",
render: (text) => {
return text && text.length > 8 ? text.substr(0, 8) + "…" : text;
},
},
],
detailContactsLists: [
{
title: "变更状态",
dataIndex: "type",
key: "type",
render: (text) => {
let str = "";
let color = "";
if (text == 1) {
str = "增";
color = "#87d068";
} else if (text == 2) {
str = "改";
color = "#108ee9";
} else if (text == 3) {
str = "删";
color = "#f50";
}
return (
{str}
);
},
},
{
title: "项目名称",
dataIndex: "commodityName",
key: "commodityName",
render: (text, record) => {
let dataArr = this.state.proDataSource || [];
if (record.ctid) {
return {text + "-" + record.ctid};
} else {
let tid = record.tid;
let ctid = "";
dataArr.forEach((item, index) => {
if (item.tid == tid) {
ctid = item.id;
}
});
return {text + "-" + ctid};
}
},
},
{
title: "项目分类",
dataIndex: "projectType",
key: "projectType",
render: (text) => {
let arr = this.state.proDataSource || [];
let str = "";
for (let i = 0; i < arr.length; i++) {
if (this.state.proDataSource[i].cSort == text) {
str = this.state.proDataSource[i].cname;
return {str};
}
}
},
},
{
title: "催款科目",
dataIndex: "dunTypeName",
key: "dunTypeName",
render: (text,record) => {
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 {
if (this.props.isZxs) {
return ***;
}
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 ? "已启动" : "未启动"};
},
},
],
resVisible: false,
columnsrizhi: [
{
title: "流程",
dataIndex: "processName",
key: "processName",
},
{
title: "操作人",
dataIndex: "adminName",
key: "adminName",
},
{
title: "时间",
dataIndex: "createDate",
key: "createDate",
},
],
contactList: [],
ContactsLists: [
{
title: "催款科目",
dataIndex: "dunSubject",
key: "dunSubject",
render: (text, record) => {
return (
);
},
},
{
title: "金额(万元)",
dataIndex: "money",
key: "money",
render: (text, record) => {
return (
{
record.money = e.target.value;
this.setState({ contactList: this.state.contactList });
}}
style={{ width: "120px" }}
/>
);
},
},
{
title: "催款状态",
dataIndex: "dunStatus",
key: "dunStatus",
render: (text) => {
return getCuikuan(text);
},
},
{
title: "操作",
dataIndex: "dels",
key: "dels",
render: (text, record) => {
return (
{
{
this.confirmDelet(record.key);
}}
okText="删除"
cancelText="不删除"
>
}
{record.id ? (
""
) : (
)}
);
},
},
],
ContactsListsNew: [
{
title: "项目名称",
dataIndex: "commodityName",
key: "commodityName",
render: (text, record, index) => {
let dataArr = this.state.dataSource || [];
if (text) {
return {text + "-" + record.tid};
}
return (
);
},
},
{
title: "项目分类",
dataIndex: "projectType",
key: "projectType",
render: (text, record) => {
if (text) {
let arr = this.state.dataSource || [];
let str = "";
for (let i = 0; i < arr.length; i++) {
if (this.state.dataSource[i].sort == text) {
str = this.state.dataSource[i].cname;
return {str};
}
}
if(!str){
return 未知;
}
}
if (this.state.getLoad) {
return (
);
} else {
return (
);
}
},
},
{
title: "催款科目",
dataIndex: "dunTypeName",
key: "dunTypeName",
render: (text, record) => {
if (text) {
if(record.customizeName) {
return text + record.customizeName;
}
return {text};
}
if (this.state.getLoad) {
let arr = record.arr || [];
return (
{record.dunType == 0 ? (
{
record.customizeName = e.target.value;
this.setState({
contactList: this.state.contactList,
});
}}
style={{ width: "120px" }}
/>
) : (
""
)}
);
} else {
return (
);
}
},
},
{
title: "收款时间(特批需选择时间)",
dataIndex: "waitDay",
key: "waitDay",
render: (text, record) => {
if (record.dunTypeName) {
if (record.customizeTimes) {
return record.customizeTimes;
}
if (text == 0) {
var str = "当天";
} else if (!text) {
var str = "";
} else {
var str = text + "天";
}
return {str};
}
return (
{record.dunType == 0 ? (
{
let time = moment(e).valueOf();
let today = Date.parse(new Date());
if(time <= today ) {
return true
}
}}
onChange={(e, t) => {
record.customizeTimes = t;
}}
/>
) : (
)}
);
},
},
{
title: "金额(万元)",
dataIndex: "money",
key: "money",
render: (text, record) => {
if (record.dunTypeName) {
if (record.appropriationRatio) {
return {record.appropriationRatio}(拨款比例);
} else {
return {text};
}
}
if (this.state.boFlag) {
return (
);
} else {
return (
{
record.money = e.target.value;
this.setState({ contactList: this.state.contactList });
}}
style={{ width: "120px" }}
/>
);
}
},
},
{
title: "服务年限",
dataIndex: "startDate",
key: "startDate",
render: (text, record) => {
if (record.dunTypeName) {
return {text};
}
return (
{
record.dunType != 0 ?
:
}
);
},
},
{
title: "催款状态",
dataIndex: "status",
key: "status",
render: (text) => {
return {text == 1 ? "已启动" : "未启动"};
},
},
{
title: "操作",
dataIndex: "dels",
key: "dels",
render: (text, record, index) => {
return (
{this.state.processStatus == 0 ? (
{
this.confirmDeletNew(record);
}}
okText="删除"
cancelText="不删除"
>
) : (
""
)}
{record.isSave ? (
) : (
""
)}
);
},
},
],
changeCuiList: [
{
title: "变更状态",
dataIndex: "type",
key: "type",
render: (text) => {
let str = "";
let color = "";
if (text == 1) {
str = "增";
color = "#87d068";
} else if (text == 2) {
str = "改";
color = "#108ee9";
} else if (text == 3) {
str = "删";
color = "#f50";
}
return (
{str}
);
},
},
{
title: "项目名称",
dataIndex: "commodityName",
key: "commodityName",
render: (text, record, index) => {
let dataArr = this.state.proDataSource || [];
if (text) {
// return {text + "-" + record.ctid};
if (record.ctid) {
return {text + "-" + record.ctid};
} else {
let tid = record.tid;
let ctid = "";
dataArr.forEach((item, index) => {
if (item.tid == tid) {
ctid = item.id;
}
});
return {text + "-" + ctid};
}
}
return (
);
},
},
{
title: "项目分类",
dataIndex: "projectType",
key: "projectType",
render: (text, record) => {
if (text) {
let arr = this.state.proDataSource || [];
let str = "";
for (let i = 0; i < arr.length; i++) {
if (this.state.proDataSource[i].cSort == text) {
str = this.state.proDataSource[i].cname;
return {str};
}
}
}
if (this.state.getLoad) {
return (
);
} else {
return (
);
}
},
},
{
title: "催款科目",
dataIndex: "dunTypeName",
key: "dunTypeName",
render: (text, record) => {
if (text) {
return {text};
}
if (this.state.getLoad) {
let arr = record.arr || [];
return (
{record.dunType == 0 ? (
{
record.customizeName = e.target.value;
this.setState({
contactList: this.state.contactList,
});
}}
style={{ width: "120px" }}
/>
) : (
""
)}
);
} else {
return (
);
}
},
},
{
title: "收款时间(特批需选择时间)",
dataIndex: "waitDay",
key: "waitDay",
render: (text, record) => {
if (record.dunTypeName) {
if (record.customizeTimes) {
return record.customizeTimes;
}
if (text == 0) {
var str = "当天";
} else if (!text) {
var str = "";
} else {
var str = text + "天";
}
return {str};
}
return (
{record.dunType == 0 ? (
{
let time = moment(e).valueOf();
let today = Date.parse(new Date());
if (time <= today) {
return true;
}
}}
onChange={(e, t) => {
record.customizeTimes = t;
}}
/>
) : (
)}
);
},
},
{
title: "金额(万元)",
dataIndex: "money",
key: "money",
render: (text, record) => {
if (record.dunTypeName) {
if (record.appropriationRatio) {
return {record.appropriationRatio}(拨款比例);
} else {
return {text};
}
}
if (this.state.boFlag) {
return (
);
} else {
return (
{
record.money = e.target.value;
this.setState({ contactList: this.state.contactList });
}}
style={{ width: "120px" }}
/>
);
}
},
},
{
title: "服务年限",
dataIndex: "startDate",
key: "startDate",
render: (text, record) => {
if (record.dunTypeName) {
return {text};
}
return (
);
},
},
{
title: "催款状态",
dataIndex: "status",
key: "status",
render: (text) => {
return {text == 1 ? "已启动" : "未启动"};
},
},
{
title: "操作",
dataIndex: "dels",
key: "dels",
render: (text, record, index) => {
return (
{
this.changeDeleteCui(record);
}}
okText="删除"
cancelText="不删除"
>
{record.isSave ? (
) : (
""
)}
);
},
},
],
};
},
getpatentTypeList() {
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + '/api/admin/orderProject/getPatentType',
success: function (data) {
if (data.error.length === 0) {
this.setState({
patentTypeList:data.data
})
}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,
depNo: item.depNo,
});
});
}
this.setState({
departmentArr: theArr,
});
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
// 拆分详细
showRes(record) {
this.setState({
resVisible: true,
resRecord: record,
});
},
resCancel() {
this.setState({
resVisible: false,
});
},
//新建订单、编辑订单保存
handleSubmit(e) {
e.preventDefault();
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 theReplenishUrl = [];
if (this.state.replenishUrl.length) {
let picArr = [];
this.state.replenishUrl.map(function (item) {
if (
item.response &&
item.response.data &&
item.response.data.length
) {
picArr.push(item.response.data);
}
});
theReplenishUrl = picArr.join(",");
}
if (this.props.userDetaile) {
if (isNaN(parseInt(this.state.totalAmount))) {
message.warning("签单金额不能为空");
this.refs.totalAmountRef.focus();
return false;
}
if (isNaN(parseInt(this.state.firstAmount))) {
message.warning("首付金额不能为空");
this.refs.firstAmountRef.focus();
return false;
}
if (moneyVerify(this.state.firstAmount)) {
return;
}
if (moneyVerify(this.state.totalAmount)) {
return;
}
if (!theorgCodeUrl) {
message.warning("图片过大,上传失败");
this.refs.signFirstPayment.focus();
return false;
}
if (!this.state.signDate) {
message.warning("签单日期不能为空");
$('.signDateRef input').focus()
return false;
}
if (!this.state.orderRemarks) {
message.warning("订单留言不能为空");
this.refs.orderRemarksRef.focus();
return false;
}
}
const arr = this.state.contactListNew || [];
for (let i = 0; i < arr.length; i++) {
if (
arr[i].dunType == 1 &&
arr[i].waitDay != null &&
this.state.approval == 0
) {
message.warning(
"非特批存在填写催款节点首付时间的情况,请删除后重新填写保存"
);
return false;
} else if (
arr[i].dunType == 1 &&
arr[i].waitDay == null &&
this.state.approval == 1
) {
message.warning(
"特批存在首付催款节点未填写时间的情况,请删除后重新填写保存"
);
return false;
}
if (!this.state.contactListNew[i].id && this.props.userDetaile) {
message.warning("请保存催款节点");
return false;
}
}
this.setState({
loading: true,
});
let api = this.props.userDetaile
? "/api/admin/newOrder/updateServiceOrderNew"
: "/api/admin/newOrder/createOrder";
$.ajax({
method: "POST",
dataType: "json",
crossDomain: false,
url: globalConfig.context + api,
data: !this.props.userDetaile
? {
uid: this.state.autoId,
orderType: this.state.orderType,
}
: {
orderNo: this.state.orderNo, //订单编号
totalAmount: this.state.totalAmount, //总金额
firstAmount: this.state.firstAmount, //首付
isSubmit: this.state.isSubmit, //保存草稿还是提交
signDate: this.state.signDate, //签单日期
contacts: this.state.contacts, //企业负责人
contactMobile: this.state.contactMobile, //负责人联系方式
legalPerson: this.state.legalPerson, //企业法人
legalPersonTel: this.state.legalPersonTel, //企业法人联系电话
approval: this.state.approval, //特批状态
orderRemarks: this.state.orderRemarks, //订单备注
contractPictureUrl: theorgCodeUrl.length ? theorgCodeUrl : "",
agreementUrl: theReplenishUrl.length ? theReplenishUrl : "",
orderDep: this.state.organizationSearch,
},
}).done(
function (data) {
this.setState({
loading: false,
});
if (!data.error.length) {
message.success("保存成功!");
this.handleOk();
if (this.state.autoId) {
this.loadData();
}
} else {
message.warning(data.error[0].message);
}
}.bind(this)
);
},
//订单详情修改
xiangqingClick(e) {
e.preventDefault();
this.setState({
loading: true,
});
if (this.state.approval == 2 || this.state.approval == 3) {
message.warning("特批状态不正确");
this.setState({
loading: false,
});
return;
}
$.ajax({
url: globalConfig.context + "/api/admin/newOrder/updateServiceOrderNew",
method: "post",
data: {
orderNo: this.state.orderNo, //订单编号
totalAmount: this.state.totalAmount, //总金额
firstAmount: this.state.firstAmount, //首付
isSubmit: this.state.isSubmit, //保存草稿还是提交
signDate: this.state.selTime, //签单日期
contacts: this.state.contacts, //企业负责人
contactMobile: this.state.contactMobile, //负责人联系方式
legalPerson: this.state.legalPerson, //企业法人
legalPersonTel: this.state.legalPersonTel, //企业法人联系电话
approval: this.state.approval, //特批状态
orderRemarks: this.state.orderRemarks, //订单备注
},
}).done(
function (data) {
this.setState({
loading: false,
});
if (!data.error.length) {
message.success("保存成功!");
this.loaduser();
} else {
message.warning(data.error[0].message);
}
}.bind(this)
);
},
not() {},
//查看基本详情基本信息
loaduser(record) {
this.state.orderList = [];
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/newOrder/getOrderNewDetail",
data: {
orderNo: record ? record.orderNo : this.props.datauser.orderNo,
},
success: function (data) {
let thisData = data.data;
if (!thisData) {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
}
thisData = {};
}
if (thisData.approval == 2) {
thisData.approval = "特批通过";
} else if (thisData.approval == 3) {
thisData.approval = "特批驳回";
}
this.setState({
id: thisData.id,
kehuId: thisData.buyerId,
orderNo: thisData.orderNo, //订单编号
orderType: thisData.orderType, //订单类型
firstAmount: thisData.firstAmount, //首付金额
totalAmount: thisData.totalAmount, //总金额
settlementAmount: thisData.settlementAmount, //结算金额
liquidationStatus: thisData.liquidationStatus, //清算状态
processStatus: thisData.processStatus, //流程状态
approval: thisData.approval.toString(), //特批状态
orderRemarks: thisData.orderRemarks, //订单备注
contractNo: thisData.contractNo, //合同编号
contacts: thisData.contacts, //联系人
contactMobile: thisData.contactMobile, //联系人电话
legalPerson: thisData.legalPerson, //法人
legalPersonTel: thisData.legalPersonTel, //法人电话
orgCodeUrl: thisData.contractPictureUrl
? splitUrl(
thisData.contractPictureUrl,
",",
globalConfig.avatarHost + "/upload"
)
: [], //图片地址
replenishUrl: thisData.agreementUrl
? splitUrl(
thisData.agreementUrl,
",",
globalConfig.avatarHost + "/upload"
)
: [], //图片地址
signDate: thisData.signDate, //签单时间
userName: thisData.userName, //客户名称
salesmanName: thisData.salesmanName, //营销员名称
salesmanMobile: thisData.salesmanMobile, //营销员电话
oldSalesmanName: thisData.oldSalesmanName, //营销员名称
oldSalesmanMobile: thisData.oldSalesmanMobile, //营销员电话
financeName: thisData.financeName, //财务名称
financeMobile: thisData.financeMobile, //财务电话
nowFinanceMobile: thisData.nowFinanceMobile,
nowFinance: thisData.nowFinance,
approval:
thisData.approval == 0
? thisData.approval.toString()
: thisData.approval,
organizationSearch: thisData.orderDep,
depName: thisData.depName,
status: thisData.status,
outsource: thisData.outsource,
deleteSign:thisData.deleteSign,
orderUid:thisData.uid,
});
// console.log("kkkk",this.state.processStatus);
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
//节点列表
jiedian(orderNos) {
this.setState({
loadData: true,
});
$.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, //催款状态
orderNo: thisData.orderNo,
});
}
this.setState({
contactList: theArr,
});
}
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
//查看催款节点
jiedianNew(orderNos) {
this.setState({
loadData: true,
});
$.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:parseFloat(totalCui),
});
}
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
//催款节点保存
contactSave(record) {
for (let i = 0; i < this.state.contactList.length; i++) {
if (moneyVerify(this.state.contactList[i].money)) {
return;
}
}
this.setState({
loading: true,
});
$.ajax({
url: globalConfig.context + "/api/admin/newOrder/createOrderDun",
method: "post",
data: {
orderNo: this.state.orderNo,
orderDun: JSON.stringify(this.state.contactList),
},
}).done(
function (data) {
this.setState({
loading: false,
});
if (!data.error.length) {
message.success("保存成功!");
this.jiedian(record.orderNo);
} else {
message.warning(data.error[0].message);
}
}.bind(this)
);
},
//催款节点保存
contactSaveNew(record) {
if(record.dunType == 0) {
if(!record.customizeTimes) {
message.warning("请输入自定义时间")
return
}else if(!record.customizeName) {
message.warning("请输入自定义科目")
return
}
}
if (record.boStatus == "false") {
record.boStatus = false;
} else if (record.boStatus == "true") {
record.boStatus = true;
}
if (!this.state.yearFlag) {
if (!record.effectiveCount && !record.dunTypeCustom) {
message.warning("请选择服务年限");
return;
}
} else {
record.effectiveCount = "";
}
if (record.money == "") {
message.warning("请填写金额");
return;
}
if (record.boStatus) {
if (
typeof +record.money == "number" &&
+record.money >= 0 &&
+record.money <= 1
) {
record.appropriationRatio = record.money;
} else {
message.warning("金额比例填写错误,比例范围0~1");
return;
}
}
if (!record.dunType && record.dunType != 0) {
message.warning("请选择对应科目");
return;
}
if (record.dunType != 1) {
record.waitDay = "";
}
this.setState({
loading: true,
});
if (record.boStatus) {
$.ajax({
url: globalConfig.context + "/api/admin/newOrderDun/createDun",
method: "post",
data: {
orderNo: record.orderNo,
tid: record.tid,
projectType: record.sort,
dunType: record.dunType,
appropriationRatio: record.appropriationRatio,
waitDay: record.waitDay,
effectiveCount: record.effectiveCount,
customizeTimes:
record.dunType == 0 ? record.customizeTimes : undefined,
customizeName:
record.dunType == 0 ? record.customizeName : undefined,
},
}).done(
function (data) {
this.setState({
loading: false,
});
if (!data.error.length) {
message.success("保存成功!");
this.setState({
cuiFlag: false,
boFlag: false,
addFlag: false,
});
this.jiedianNew(record.orderNo);
} else {
message.warning(data.error[0].message);
}
}.bind(this)
);
} else {
$.ajax({
url: globalConfig.context + "/api/admin/newOrderDun/createDun",
method: "post",
data: {
orderNo: record.orderNo,
tid: record.tid,
projectType: record.sort,
dunType: record.dunType,
money: record.money,
waitDay: record.waitDay,
effectiveCount: record.effectiveCount,
customizeTimes:
record.dunType == 0 ? record.customizeTimes : undefined,
customizeName:
record.dunType == 0 ? record.customizeName : undefined,
},
}).done(
function (data) {
this.setState({
loading: false,
});
if (!data.error.length) {
message.success("保存成功!");
this.setState({
cuiFlag: false,
boFlag: false,
addFlag: false,
});
this.jiedianNew(record.orderNo);
} else {
message.warning(data.error[0].message);
}
}.bind(this)
);
}
},
//点击新增催款节点
addcontact() {
this.state.contactList.push({
key: this.state.contactList.length,
money: "",
dunSubject: undefined,
orderNo: this.state.orderNo,
dunTarget: this.state.kehuId,
});
this.setState({
contactList: this.state.contactList,
});
},
//点击新增催款节点
addcontactNew() {
this.state.contactListNew.push({
key: this.state.contactListNew.length,
money: "",
dunSubject: undefined,
orderNo: this.state.orderNo,
dunTarget: this.state.kehuId,
});
this.setState({
contactListNew: this.state.contactListNew,
cuiFlag: true,
});
},
//删除收款节点
confirmDelet(index) {
this.state.contactList.splice(index, 1);
this.setState({
contactList: this.state.contactList,
});
this.contactSave();
},
//删除收款节点
confirmDeletNew(index) {
if (index.id) {
this.state.contactListNew.splice(index.id, 1);
this.setState({
contactListNew: this.state.contactListNew,
cuiFlag: false,
addFlag: false,
boFlag: false,
});
$.ajax({
url: globalConfig.context + "/api/admin/newOrderDun/deleteDun",
method: "post",
data: {
id: index.id,
},
}).done(
function (data) {
this.setState({
loading: false,
});
if (!data.error.length) {
message.success("删除成功!");
this.setState({
cuiFlag: false,
});
this.jiedianNew(this.state.orderNo);
} else {
message.warning(data.error[0].message);
}
}.bind(this)
);
} else {
this.state.contactListNew.splice(index.key, 1);
this.setState({
contactListNew: this.state.contactListNew,
cuiFlag: false,
addFlag: false,
boFlag: false,
});
}
},
handleOk() {
this.setState({
visible: false,
mark: false,
});
this.props.closeDesc(false, true);
},
handleCancel() {
if (this.state.orderType == undefined) {
return false;
}
if (!this.state.autoId) {
return false;
}
this.setState({
visible: false,
mark: false,
});
this.props.closeDesc(false);
},
handleCancelclose() {
this.setState(
{
visible: false,
mark: false,
cuiFlag: false,
addFlag: false,
boFlag: false,
isJilu: false,
},
() => {
this.setState({
activeKey: "1",
});
}
);
this.props.closeDesc(false);
this.reset();
},
//点击签单
handleCancels() {
this.setState({
isSubmit: 1,
});
},
//点击签单
handleCancelq() {
this.setState({
isSubmit: 0,
});
},
//删除
delectRow(record) {
this.setState({
loading: true,
});
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/newOrder/deleteOrderTask",
data: {
id: record.id,
},
}).done(
function (data) {
if (!data.error.length) {
message.success("删除成功!");
this.setState({
loading: false,
});
this.jiedian(this.state.orderNo);
this.jiedianNew(this.state.orderNo);
this.loaduser();
this.loadData();
} else {
message.warning(data.error[0].message);
}
}.bind(this)
);
},
nextCancel() {
this.setState({
changeVisible:false,
projectOperationVisible: false,
gid: "",
dataInfor:{},
},()=>{
this.loadData();
});
},
rizhi() {
this.setState({
loading: true,
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: "/api/admin/newOrder/selectOrderLog",
data: {
orderNo: this.props.datauser.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,
});
},
callback(key) {
this.setState({
activeKey: key,
});
if (key === "1") {
this.jiedian(this.props.datauser.orderNo);
this.jiedianNew(this.props.datauser.orderNo);
this.loaduser();
// this.loaduser();
}
if (key === "3") {
this.getChangeData();
}
if (key === "2" || key === "3") {
let url = window.location.href.substring(7);
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url:
globalConfig.context + "/api/admin/orderChange/orderChangeDetails",
data: {
orderNo: this.props.datauser.orderNo,
},
success: function (data) {
// console.log(data.data);
if (data.data && data.data.length) {
let thisdata = data.data[data.data.length - 1];
if (
thisdata.status === 0 ||
(thisdata.processState == 0 && thisdata.status != 5)
) {
this.setState({
changeId: thisdata.id,
typeChange: thisdata.type,
totalAmount: thisdata.totalAmount,
settlementAmount: thisdata.settlementAmount,
changeAmount: thisdata.changeAmount,
remarksC: thisdata.remarks,
startRemarks: thisdata.zxsRemarks,
isCaoGao: true,
arrears: thisdata.arrears,
changeFlag: true,
createTimes: thisdata.createTimes,
voucherUrl: thisdata.voucherUrl
? splitUrl(
thisdata.voucherUrl,
",",
globalConfig.avatarHost + "/upload",
url
)
: [],
processState: thisdata.processState,
status: thisdata.status,
});
this.proList();
this.cuiList();
let e = thisdata.type;
if (e == 1) {
this.setState({
hetongFlag: false,
listFlag: false,
listCuiFlag: false,
tuiKuanFlag: false,
displayList: false,
});
} else if (e == 2) {
this.setState({
hetongFlag: true,
listFlag: false,
listCuiFlag: false,
tuiKuanFlag: true,
displayList: false,
});
} else if (e == 3) {
this.setState({
listFlag: false,
hetongFlag: false,
listCuiFlag: false,
tuiKuanFlag: false,
displayList: true,
});
} else if (e == 4) {
this.setState({
listFlag: false,
listCuiFlag: false,
hetongFlag: false,
tuiKuanFlag: true,
displayList: false,
});
} else if (e == 5) {
this.setState({
listFlag: false,
listCuiFlag: false,
hetongFlag: true,
tuiKuanFlag: true,
displayList: false,
});
} else {
this.setState({
listFlag: true,
hetongFlag: true,
listCuiFlag: true,
tuiKuanFlag: false,
displayList: false,
});
}
} else {
this.setState({
listFlag: false,
hetongFlag: false,
listCuiFlag: false,
tuiKuanFlag: false,
displayList: false,
// 置空
changeId: undefined,
isCaoGao: false,
});
}
} else {
this.setState({
isCaoGao: false,
});
}
}.bind(this),
});
}
},
cuiList(id) {
this.setState({
loadData: true,
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/orderChange/selectChangeDun",
data: {
id: id || this.state.changeId,
},
success: function (data) {
this.setState({
cuiDataSource: data.data,
});
if (data.data && data.data.length) {
if (id) {
this.setState({
listCuiFlag: true,
});
}
this.setState({
cuiDataSource: data.data,
});
this.setState({
loadData: false,
});
} else if (data.error && data.error.length) {
message.warning(data.error[0].message);
this.setState({
loadData: false,
});
}
}.bind(this),
});
},
proList(id) {
this.setState({
loadData: true,
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/orderChange/selectChangeTask",
data: {
id: id || this.state.changeId,
},
success: function (data) {
if (data.data && data.data.length) {
if (id) {
this.setState({
listFlag: true,
});
}
data.data.forEach((item,index) => {
item.key = index;
});
this.setState({
proDataSource: data.data,
});
this.setState({
loadData: false,
});
} else if (data.error && data.error.length) {
message.warning(data.error[0].message);
this.setState({
loadData: false,
});
}
}.bind(this),
});
},
logList(id) {
this.setState({
loading: true,
});
$.ajax({
method: "get",
dataType: "json",
async: false,
crossDomain: false,
url: globalConfig.context + "/api/admin/orderChange/orderChangeLogList",
data: {
changeId: id,
},
success: function (data) {
if (data.error.length || data.data.list == "") {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
this.setState({
loading: false,
});
}
} else {
this.setState({
logData: data.data,
loading: false,
});
}
}.bind(this),
});
},
getOrgCodeUrl(e) {
this.setState({ orgCodeUrl: e });
},
getReplenishUrl(e) {
this.setState({ replenishUrl: e });
},
getVoucherUrl(e) {
this.setState({ voucherUrl: e });
},
//加载(自动补全)
supervisor(e, state) {
//客户名称与服务名称自动补全
let api = state
? "/api/admin/customer/getCustomerByName"
: "/api/admin/order/getBusinessProjectByName";
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + api,
data: state
? {
name: e,
type: this.state.customType,
}
: {
businessName: 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({
states: state,
customerArr: thedata,
});
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
supervisorCui(e) {
//客户名称与服务名称自动补全
let api = "/api/admin/order/getBusinessProjectByName";
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + api,
data: {
businessName: 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({
customerCuiArr: thedata,
});
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
//上级主管输入框失去焦点是判断客户是否存在
selectAuto(value) {
let kid = [];
let fwList = this.state.customerArr;
fwList.map(function (item) {
if (value == item.bname) {
kid = item;
}
});
if (kid.type == "1") {
this.setState({
displayFees: "block",
});
} else {
this.setState({
displayFees: "none",
});
}
//0通用 1专利 2软著 3审计 4双软 5高新 6商标
this.setState({
commodityName: value,
gid: kid.id,
addProjectType: kid.type,
isIso: value.indexOf("贯标") !== -1,// 是否为贯标项目
//commodityPrice:kid.price==0?kid.price.toString():kid.price,
commodityFirstPayment:
kid.firstPayment == 0
? kid.firstPayment.toString()
: kid.firstPayment,
});
},
selectAutoCui(value) {
let kid = [];
let fwList = this.state.customerCuiArr;
fwList.map(function (item) {
if (value == item.bname) {
kid = item;
}
});
this.setState({
commodityNameCui: value,
cid: kid.id,
//commodityPrice:kid.price==0?kid.price.toString():kid.price,
commodityFirstPayment:
kid.firstPayment == 0
? kid.firstPayment.toString()
: kid.firstPayment,
});
},
//客户
selectAutoCUT(value) {
let autoIds;
let fwList = this.state.customerArr;
fwList.map(function (item) {
if (value == item.name) {
autoIds = item.id;
}
});
this.setState({
customerName: value,
autoId: autoIds,
});
},
//服务值改变时请求客户名称
httpChange(e) {
this.state.gid = "";
if (e.length >= 1) {
this.supervisor(e, false);
}
this.setState({
commodityName: e,
});
},
httpChangeCui(e) {
if (e.length >= 1) {
this.supervisorCui(e, false);
}
this.setState({
commodityNameCui: e,
});
},
//客户名称自动补全
customerChange(e) {
if (this.state.customType) {
this.state.autoId = "";
if (e.length >= 2) {
this.supervisor(e, true);
}
this.setState({
customerName: e,
});
} else {
this.setState({
customerName: "",
});
message.warning("客户所属类型必须指定");
}
},
//点击添加项目明细
addDetailed() {
this.setState({
projectOperationVisible: true,
});
},
//点击打卡项目详情
tableRowClick(record) {
this.setState({
projectOperationVisible:true,
dataInfor:record,
})
},
//签单时间选择
selTime(e, index) {
this.setState({
entryTime: e,
signDate: e,
selTime: index,
});
},
//退单操作
//点击退单
tuikuan() {
this.setState({
lookVisible: true,
contractUrl: [],
applicationUrl: [],
reason: "",
});
},
//关闭退单
noCancel() {
this.setState({
lookVisible: false,
});
},
//点击确认退单
tuidanOk() {
let contractUrls = [];
let applicationUrls = [];
if (this.state.contractUrl.length) {
let picArr = [];
this.state.contractUrl.map(function (item) {
if (
item.response &&
item.response.data &&
item.response.data.length
) {
picArr.push(item.response.data);
}
});
contractUrls = picArr.join(",");
}
if (this.state.applicationUrl.length) {
let picArr = [];
this.state.applicationUrl.map(function (item) {
if (
item.response &&
item.response.data &&
item.response.data.length
) {
picArr.push(item.response.data);
}
});
applicationUrls = picArr.join(",");
}
$.ajax({
method: "POST",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/newOrder/addOrderRefund",
data: {
orderNo: this.state.orderNo, //订单编号
contractUrl: contractUrls.length ? contractUrls : "", //终止合同
applicationUrl: applicationUrls.length ? applicationUrls : "", //退单申请表
reason: this.state.reason, //退单原因
},
}).done(
function (data) {
this.setState({
loading: false,
});
if (!data.error.length) {
message.success("退单成功!");
this.noCancel();
this.handleCancelclose();
} else {
message.warning(data.error[0].message);
}
}.bind(this)
);
},
//开单选择订单类型骚操作
orderTypeFn(e) {
if (e == 0) {
this.setState({
bussStats: true,
orderType: e,
});
this.category();
} else {
this.setState({
contractType: undefined,
bussStats: false,
orderType: e,
});
}
},
//品类数据获取
category() {
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/Varieties/getSuperList",
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.cname,
id: item.id,
});
});
}
this.setState({
contractType: undefined,
categoryArr: theArr,
});
}.bind(this),
});
},
//变更申请
changeApply() {
if (
this.state.typeChange == undefined ||
(this.state.typeChange == "" && this.state.typeChange != 0)
) {
message.warning("请选择变更类型");
return false;
}
if (
this.state.typeChange == 0 ||
this.state.typeChange == 1 ||
this.state.typeChange == 3
) {
if (this.state.settlementAmount < this.state.changeAmount) {
message.warning("退款金额大于已收款金额");
return;
}
}
if (this.state.processStatus != 5 && this.state.processStatus != 6) {
message.warning("当前订单流程不能发起变更!");
return false;
}
if (this.state.changeAmount === "") {
message.warning("申请退款金额不能为空!");
// console.log(this.state.changeAmount);
return false;
}
if (this.state.remarksC == "") {
message.warning("请正确填写变更原因");
return false;
}
if (this.state.startRemarks == "") {
message.warning("请正确填写备注信息");
return false;
}
let theorgCodeUrl = [];
if (this.state.voucherUrl.length) {
let picArr = [];
this.state.voucherUrl.map(function (item) {
if (
item.response &&
item.response.data &&
item.response.data.length
) {
picArr.push(item.response.data);
}
});
theorgCodeUrl = picArr.join(",");
}
this.setState({
loading: true,
});
if (this.state.typeChange == 0) {
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/orderChange/addOrderChange",
data: {
orderNo: this.state.orderNo, //订单编号
processState: 1,
status: 1,
startRemarks: this.state.startRemarks,
remarks: this.state.remarksC,
voucherUrl: theorgCodeUrl.length ? theorgCodeUrl : "",
totalAmount: this.state.totalAmount,
settlementAmount: this.state.settlementAmount,
changeAmount: this.state.changeAmount,
applicant: this.state.salesmanName,
depName: this.state.depName,
type: this.state.typeChange,
},
}).done(
function (data) {
this.setState({
loading: false,
});
if (!data.error.length) {
message.success("发起变更成功");
this.handleCancelclose();
} else {
message.warning(data.error[0].message);
this.setState({
loading: false,
});
}
}.bind(this)
);
} else {
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/orderChange/addOrderChange",
data: {
orderNo: this.state.orderNo, //订单编号
processState: 0,
status: 0,
startRemarks: this.state.startRemarks,
remarks: this.state.remarksC,
voucherUrl: theorgCodeUrl.length ? theorgCodeUrl : "",
totalAmount: this.state.totalAmount,
settlementAmount: this.state.settlementAmount,
changeAmount: this.state.changeAmount,
applicant: this.state.salesmanName,
depName: this.state.depName,
type: this.state.typeChange,
},
}).done(
function (data) {
this.setState({
loading: false,
});
if (!data.error.length) {
message.success("发起变更草稿");
this.setState(
{
isCaoGao: true,
loading: false,
},
() => {
this.callback("2");
}
);
} else {
message.warning(data.error[0].message);
}
}.bind(this)
);
}
},
reset() {
this.setState({
startRemarks: "",
remarksC: "",
voucherUrl: [],
totalAmount: undefined,
settlementAmount: undefined,
changeAmount: "0",
applicant: undefined,
depNameChange: undefined,
typeChange: undefined,
displayFees: "none",
officialCost: "",
costReduction: "",
});
},
componentWillReceiveProps(nextProps) {
//props改变时触发
this.state.visible = nextProps.showDesc;
this.state.signBillVisible = nextProps.signBillVisible;
if (this.state.signBillVisible) {
this.loaduser(nextProps.uid);
}
if (nextProps.userDetaile && nextProps.showDesc) {
this.loaduser(nextProps.datauser);
this.jiedian(nextProps.datauser.orderNo);
this.jiedianNew(nextProps.datauser.orderNo);
this.loadData(nextProps.datauser);
this.getChangeData(nextProps.datauser);
} else {
this.setState({
orderType: undefined,
customerName: "",
autoId: "",
customerArr: [],
contractType: undefined,
bussStats: false,
customType: undefined,
});
}
},
//查看变更记录
getChangeData(record) {
this.setState({
loading: true,
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/orderChange/orderChangeDetails",
data: {
orderNo: record ? record.orderNo : this.props.datauser.orderNo,
},
success: function (data) {
this.setState({
loading: false,
});
let url = window.location.href.substring(7);
// console.log(data.data);
if (data.data && data.data.length) {
let thisdata = data.data[data.data.length - 1];
thisdata.typeChange = thisdata.type;
thisdata.remarksC = thisdata.remarks;
thisdata.startRemarks = thisdata.zxsRemarks;
thisdata.voucherUrl = thisdata.voucherUrl
? splitUrl(
thisdata.voucherUrl,
",",
globalConfig.avatarHost + "/upload",
url
)
: [];
this.proList(thisdata.id);
this.cuiList(thisdata.id);
this.logList(thisdata.id);
this.setState({
//判断是否有合同变更记录
isJilu: true,
detailChange: thisdata,
});
}
}.bind(this),
});
},
showConfirm(fn, record) {
confirm({
title: "确定删除此项目吗?",
content: (
删除后会将该项目下的所有催款节点自动清除!!!
),
onOk() {
fn(record);
},
onCancel() {},
});
},
changeAddPro() {
this.getpatentTypeList();
this.setState({
changeVisible: true,
gid: "",
customerArr: [],
commodityName: "",
commodityQuantity: "",
commodityId: "",
taskComment: "",
main: undefined,
commodityPrice: "",
displayFees: "none",
officialCost: "",
costReduction: "",
});
},
changeProSubmit() {
if (this.state.gid == undefined || !this.state.gid) {
message.warning("服务名称不匹配!");
return false;
}
if (this.state.displayFees==='block') {
if(this.state.officialCost===''){
message.warning("请选择官费!");
return false;
}
if (this.state.costReduction==='') {
message.warning("请选择费减!");
return false;
}
}
if (!this.state.commodityPrice) {
message.warning("请输入金额!");
this.refs.commodityPrice.focus();
return false;
}
let reg = /^([0]|[1-9][0-9]*)$/;
if (
!this.state.commodityQuantity ||
!reg.test(this.state.commodityQuantity)
) {
message.warning("请输入正确商品数量!");
this.refs.commodityQuantity.focus();
return false;
}
if (!this.state.main) {
message.warning("请选择是否为主要项目!");
this.refs.commodityQuantity.focus();
return false;
}
this.setState({
loading: true,
});
let type = 0;
if (this.state.typeChange == 4 || this.state.typeChange == 5) {
type = 1;
}
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/orderChange/addChangeTask",
data: {
commodityId: this.state.gid, //商品ID
orderNo: this.props.datauser.orderNo, //订单编号
commodityName: this.state.commodityName, //商品名称
commodityQuantity: this.state.commodityQuantity, //商品数量
commodityPrice: this.state.commodityPrice, //签单总价
taskComment: this.state.taskComment, //服务说明
main: this.state.main, //是否为主要项目
cid: this.state.changeId, //变更ID
officialCost: this.state.displayFees==='block' ? this.state.officialCost : '', //是否有官费
costReduction: this.state.displayFees==='block' ?this.state.costReduction : '', //是否有费减
type,
},
success: function (data) {
let theArr = [];
if (data.error && data.error.length) {
message.warning(data.error[0].message);
} else {
message.success("保存成功");
this.nextCancel();
this.proList();
}
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
changeDeletePro(record) {
this.setState({
loading: true,
});
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/orderChange/updateChangeTask",
data: {
id: record.id,
type: 3,
tid: record.tid,
splitStatus: record.splitStatus,
},
success: function (data) {
let theArr = [];
if (data.error && data.error.length) {
message.warning(data.error[0].message);
} else {
message.success("删除成功");
this.proList();
this.cuiList();
}
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
//点击新增变更催款节点
changeAddCui() {
this.state.cuiDataSource.push({
key: this.state.cuiDataSource.length,
money: "",
dunSubject: undefined,
orderNo: this.state.orderNo,
dunTarget: this.state.kehuId,
});
this.setState({
cuiDataSource: this.state.cuiDataSource,
cuiFlag: true,
});
},
//删除变更收款节点
changeDeleteCui(index) {
if (index.id) {
this.state.cuiDataSource.splice(index.id, 1);
this.setState({
contactListNew: this.state.cuiDataSource,
cuiFlag: false,
addFlag: false,
boFlag: false,
});
$.ajax({
url: globalConfig.context + "/api/admin/orderChange/updateChangeDun",
method: "post",
data: {
id: index.id,
type: 3,
tid: index.tid,
did: index.did,
},
}).done(
function (data) {
this.setState({
loading: false,
});
if (!data.error.length) {
message.success("删除成功!");
this.setState({
cuiFlag: false,
});
this.cuiList();
this.proList();
} else {
message.warning(data.error[0].message);
}
}.bind(this)
);
} else {
this.state.cuiDataSource.splice(index.key, 1);
this.setState({
cuiDataSource: this.state.cuiDataSource,
cuiFlag: false,
addFlag: false,
boFlag: false,
});
}
},
changeSaveCui(record) {
if (record.dunType == 0) {
if (!record.customizeTimes) {
message.warning("请输入自定义时间");
return;
} else if (!record.customizeName) {
message.warning("请输入自定义科目");
return;
}
}
if (record.boStatus == "false") {
record.boStatus = false;
} else if (record.boStatus == "true") {
record.boStatus = true;
}
if (!this.state.yearFlag) {
if (!record.effectiveCount) {
message.warning("请选择服务年限");
return;
}
} else {
record.effectiveCount = "";
}
if (isNaN(parseInt(record.money)) && !record.boStatus) {
message.warning("请填写金额");
return;
}else if((isNaN(parseInt(record.money)) && record.boStatus)){
message.warning("请填写比例");
return;
}
if (record.boStatus) {
if (
typeof +record.money == "number" &&
+record.money >= 0 &&
+record.money <= 1
) {
record.appropriationRatio = record.money;
} else {
message.warning("金额比例填写错误,比例范围0~1");
return;
}
}
if (!record.dunType && record.dunType != 0) {
message.warning("请选择对应科目");
return;
}
if (record.dunType != 1) {
record.waitDay = "";
}
this.setState({
loading: true,
});
if (record.boStatus) {
$.ajax({
url: globalConfig.context + "/api/admin/orderChange/addChangeDun",
method: "post",
data: {
orderNo: record.orderNo,
ctid: record.ctid,
projectType: record.sort,
dunType: record.dunType,
appropriationRatio: record.appropriationRatio,
waitDay: record.waitDay,
effectiveCount: record.effectiveCount,
cid: this.state.changeId, //变更ID
customizeTimes:
record.dunType == 0 ? record.customizeTimes : undefined,
customizeName:
record.dunType == 0 ? record.customizeName : undefined,
},
}).done(
function (data) {
this.setState({
loading: false,
});
if (!data.error.length) {
message.success("保存成功!");
this.setState({
cuiFlag: false,
boFlag: false,
addFlag: false,
});
this.cuiList();
} else {
message.warning(data.error[0].message);
}
}.bind(this)
);
} else {
$.ajax({
url: globalConfig.context + "/api/admin/orderChange/addChangeDun",
method: "post",
data: {
orderNo: record.orderNo,
ctid: record.ctid,
projectType: record.sort,
dunType: record.dunType,
money: record.money,
waitDay: record.waitDay,
effectiveCount: record.effectiveCount,
cid: this.state.changeId, //变更ID
customizeTimes:
record.dunType == 0 ? record.customizeTimes : undefined,
customizeName:
record.dunType == 0 ? record.customizeName : undefined,
},
}).done(
function (data) {
this.setState({
loading: false,
});
if (!data.error.length) {
message.success("保存成功!");
this.setState({
cuiFlag: false,
boFlag: false,
addFlag: false,
});
this.cuiList();
} else {
message.warning(data.error[0].message);
}
}.bind(this)
);
}
},
submitChange() {
if (
this.state.typeChange == undefined ||
(this.state.typeChange == "" && this.state.typeChange != 0)
) {
message.warning("请选择变更类型");
return false;
}
if (
this.state.typeChange == 0 ||
this.state.typeChange == 1 ||
this.state.typeChange == 3
) {
if (this.state.settlementAmount < this.state.changeAmount) {
message.warning("退款金额大于已收款金额");
return;
}
}
if (this.state.processStatus != 5 && this.state.processStatus != 6) {
message.warning("当前订单流程不能发起变更!");
return false;
}
if (this.state.changeAmount === "") {
message.warning("申请退款金额不能为空!");
return false;
}
if (this.state.remarksC == "") {
message.warning("请正确填写变更原因");
return false;
}
if (this.state.startRemarks == "") {
message.warning("请正确填写备注信息");
return false;
}
let theorgCodeUrl = [];
if (this.state.voucherUrl.length) {
let picArr = [];
this.state.voucherUrl.map(function (item) {
if (
item.response &&
item.response.data &&
item.response.data.length
) {
picArr.push(item.response.data);
}
});
theorgCodeUrl = picArr.join(",");
}
this.setState({
loading: true,
});
$.ajax({
url: globalConfig.context + "/api/admin/orderChange/updateOrderChange",
method: "post",
data: {
id: this.state.changeId,
changeType: 0,
orderNo: this.state.orderNo, //订单编号
processState: 0,
startRemarks: this.state.startRemarks,
remarks: this.state.remarksC,
voucherUrl: theorgCodeUrl.length ? theorgCodeUrl : "",
totalAmount: this.state.totalAmount,
settlementAmount: this.state.settlementAmount,
changeAmount: this.state.changeAmount,
applicant: this.state.salesmanName,
depName: this.state.depName,
type: this.state.typeChange,
},
}).done(
function (data) {
if (!data.error.length) {
this.setState({
loading: false,
});
message.success("发起变更成功");
this.handleCancelclose();
} else {
message.warning(data.error[0].message);
this.setState({
loading: false,
});
}
}.bind(this)
);
},
editCui(record) {
this.setState({
editCuiVisible: true,
editCuiMoney: record.appropriationRatio ? record.appropriationRatio : record.money,
appropriationRatio: record.appropriationRatio,
editCuiTid: record.tid,
editCuiDid: record.did,
editCuiId: record.id,
});
},
editPro(record) {
this.setState({
editProVisible: true,
editSplitStatus: record.splitStatus,
editProMoney: record.commodityPrice,
editProCommodityQuantity: record.commodityQuantity,
editProTid: record.tid,
editProId: record.id,
});
},
submitEditCui(type) {
if(isNaN(parseFloat(this.state.editCuiMoney))){
if(type === 1){
message.warn('请输入比例')
}else{
message.warn('请输入金额')
}
return;
}
this.setState({
loading: true
});
let data = {
id: this.state.editCuiId,
type: this.state.editCuiTid ? 2 : 1,
tid: this.state.editCuiTid,
}
if(type === 1){
data.appropriationRatio = this.state.editCuiMoney;
}else{
data.money = this.state.editCuiMoney;
}
$.ajax({
url: globalConfig.context + "/api/admin/orderChange/updateChangeDun",
method: "post",
data
}).done(
function (data) {
this.setState({
loading: false
});
if (!data.error.length) {
message.success("修改成功!");
this.cuiList();
this.proList()
this.setState({
editCuiVisible: false
});
} else {
message.warning(data.error[0].message);
}
}.bind(this)
);
},
submitEditPro() {
this.setState({
loading: true,
});
$.ajax({
url: globalConfig.context + "/api/admin/orderChange/updateChangeTask",
method: "post",
data: {
id: this.state.editProId,
type: this.state.editProTid ? 2 : 1,
commodityPrice: this.state.editProMoney,
commodityQuantity: this.state.editProCommodityQuantity,
tid: this.state.editProTid,
},
}).done(
function (data) {
this.setState({
loading: false,
});
if (!data.error.length) {
message.success("修改成功!");
this.cuiList();
this.proList();
this.setState({
editProVisible: false,
});
} else {
message.warning(data.error[0].message);
}
}.bind(this)
);
},
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,
});
},
showConfirmChange(fn, record) {
confirm({
title: "确定取消本次变更吗?",
content: (
取消后本次变更将作废!!!
),
onOk() {
fn();
},
onCancel() { }
});
},
deleteChange() {
this.setState({
loading: true,
});
$.ajax({
url: globalConfig.context + "/api/admin/orderChange/cancelOrderChange",
method: "post",
data: {
id: this.state.changeId,
status: this.state.status,
processState: this.state.processState,
orderNo: this.state.orderNo
},
}).done(
function (data) {
this.setState({
loading: false,
});
if (!data.error.length) {
message.success("取消成功!");
this.handleCancelclose()
} else {
message.warning(data.error[0].message);
}
}.bind(this)
);
},
render() {
const expandedRowRender = (e) => {
const data = e.list;
data.forEach((item) => {
item.key = item.id;
});
let columns = [];
if (e.list instanceof Array && e.list.length) {
columns = [
{
title: "变更状态",
dataIndex: "type",
key: "type",
render: (text, record) => {
let str = "";
let color = "";
if (text == 1) {
str = "增";
color = "#87d068";
} else if (text == 2) {
str = "改";
color = "#108ee9";
} else if (text == 3) {
str = "删";
color = "#f50";
}
return (
{str}
{record.splitStatus == 1 ? (
{
// e.stopPropagation();
// this.showRes(record);
// }}
>
父项目
) : (
""
)}
{record.splitStatus == 2 ? (
{
// e.stopPropagation();
// this.showRes(record);
// }}
>
子项目
) : (
""
)}
);
},
},
{
title: "业务项目名称",
dataIndex: "commodityName",
key: "commodityName",
render: (text, record) => {
return text + "-" + record.id;
},
},
{
title: "项目类别",
dataIndex: "cname",
key: "cname",
},
{
title: "项目数量",
dataIndex: "commodityQuantity",
key: "commodityQuantity",
},
{
title: "金额(万元)",
dataIndex: "commodityPrice",
key: "commodityPrice",
render: (text, record) => {
if (record.splitStatus == 2) {
return "/";
} else {
return text;
}
},
},
{
title: "主要项目",
dataIndex: "main",
key: "main",
render: (text) => {
return text ? "是" : "否";
},
},
{
title: "项目负责人",
dataIndex: "receiverName",
key: "receiverName",
},
{
title: "项目说明",
dataIndex: "taskComment",
key: "taskComment",
render: (text) => {
return text && text.length > 8 ? text.substr(0, 8) + "…" : text;
},
},
{
title: "操作",
dataIndex: "ABC",
key: "ABC",
render: (text, record) => {
return (
);
},
},
];
return (
);
} else {
columns = [];
return (
此项目暂未拆分
);
}
};
const expandedRowRenderDetail = (e) => {
const data = e.list;
data.forEach((item) => {
item.key = item.id;
});
let columns = [];
if (e.list instanceof Array && e.list.length) {
columns = [
{
title: "变更状态",
dataIndex: "type",
key: "type",
render: (text, record) => {
let str = "";
let color = "";
if (text == 1) {
str = "增";
color = "#87d068";
} else if (text == 2) {
str = "改";
color = "#108ee9";
} else if (text == 3) {
str = "删";
color = "#f50";
}
return (
{str}
{record.splitStatus == 1 ? (
{
// e.stopPropagation();
// this.showRes(record);
// }}
>
父项目
) : (
""
)}
{record.splitStatus == 2 ? (
{
// e.stopPropagation();
// this.showRes(record);
// }}
>
子项目
) : (
""
)}
);
},
},
{
title: "业务项目名称",
dataIndex: "commodityName",
key: "commodityName",
},
{
title: "项目类别",
dataIndex: "cname",
key: "cname",
},
{
title: "项目数量",
dataIndex: "commodityQuantity",
key: "commodityQuantity",
},
{
title: "金额(万元)",
dataIndex: "commodityPrice",
key: "commodityPrice",
render: (text, record) => {
if (record.splitStatus == 2) {
return "/";
} else {
return text;
}
},
},
{
title: "主要项目",
dataIndex: "main",
key: "main",
render: (text) => {
return text ? "是" : "否";
},
},
{
title: "项目负责人",
dataIndex: "receiverName",
key: "receiverName",
},
{
title: "项目说明",
dataIndex: "taskComment",
key: "taskComment",
render: (text) => {
return text && text.length > 8 ? text.substr(0, 8) + "…" : text;
},
},
];
return (
);
} else {
columns = [];
return (
此项目暂未拆分
);
}
};
const FormItem = Form.Item;
const { TabPane } = Tabs;
const { TextArea } = Input;
const formItemLayout = {
labelCol: { span: 8 },
wrapperCol: { span: 14 },
};
const contractData = this.state.contractData;
const formItemList = [
{
label: "企业联系人",
content: {this.state.contacts},
},
{
label: "客户名称",
content:
{this.state.userName}
,
},
{
label: "联系人电话",
content: {this.state.contactMobile},
},
{
label: "企业法人",
content: {this.state.legalPerson},
},
{
label: "法人电话",
content: {this.state.legalPersonTel},
},
// {
// label: "签单金额(万元)",
// content: {this.state.totalAmount}
// },
// {
// label: "首付金额(万元)",
// content: {this.state.firstAmount}
// },
// {
// label: "特批立项",
// content: {getApprovedState(this.state.approval)}
// },
// {
// label: "合同签订时间",
// content: {this.state.signDate}
// },
// {
// label: "订单部门",
// content: {this.state.depName}
// }
];
let dataSources = this.state.customerArr || [];
const cuiDataList = this.state.contactList || [];
let departmentArr = this.state.departmentArr || [];
let options = this.state.states
? dataSources.map((group) => (
{group.name}
))
: dataSources.map((group, index) => (
{group.bname}
));
return (
{this.state.resVisible ? (
) : (
""
)}
{this.state.lookVisible ?
: }
{
this.setState({
editProVisible: false,
});
}}
>
{
this.setState({ editProMoney: e.target.value });
}}
/>
{
this.setState({ editProCommodityQuantity: e.target.value });
}}
/>
{
this.submitEditCui(isNaN(parseFloat(this.state.appropriationRatio)) ? 0 : 1);
}}
okText={"保存"}
width={300}
onCancel={(e) => {
this.setState({
editCuiVisible: false,
appropriationRatio: ''
});
}}
>
{
this.setState({ editCuiMoney: e.target.value });
}}
/>
{this.state.projectOperationVisible ? 0 && this.state.processStatus !== 0}
orderNo={this.props.datauser.orderNo}
visible={this.state.projectOperationVisible}
dataInfor={this.state.dataInfor}
onCancel={this.nextCancel}
/> : null}
);
},
})
);
export default Form.create()(NewService);