import React from "react";
import {
Icon,
Button,
Input,
Spin,
Table,
message,
DatePicker,
Upload,
Form,
Modal,
Tabs,
Col,
Tooltip,
Select,
Radio,
Tag,
} from "antd";
import $ from "jquery/src/ajax";
import moment from "moment";
import {
getLiquidationStatus,
getApprovedState,
getProcessStatus,
splitUrl,
getjiedian,
getboutique,
getCuikuan,
getProjectStatus,
moneyVerify,
ShowModal,
getProjectName,
getApprovalTag,
getApprovedType,
} from "@/tools.js";
import "./customer.less";
import ShowModalDiv from "@/showModal.jsx";
import ResolutionDetail from "@/resolutionDetail";
import OrderRiZi from "@/orderRiZi.jsx";
import ImgList from "../../../common/imgList";
import { ChooseList } from "./chooseList";
import ProjectDetailsReadOnly from "../../../common/projectDetailsReadOnly";
import NewEditProject from "../../../common/projectOperation/newEditProject"
import OrderItemStatus from "../../../common/orderItemStatus";
import EnterpriseNameChange from "../../../common/enterpriseNameChange";
import OrderCoor from "./changeComponent/orderCoor";
import ContentUrl from "./contentUrl";
import { salesList, processStatus, approvalOptions } from "@/dataDic.js";
import FlowChart from '../../../common/flowchart'; // 流程图
import Gxczx from '../../../common/orderDetail/gxczx' // 高新纯咨询合同说明详情
import Property from '../../../common/orderDetail/property' // 知识产权情况
const confirm = Modal.confirm;
const { Option } = Select;
const RadioGroup = Radio.Group;
const RadioButton = Radio.Button;
//图片组件
const PicturesWall = React.createClass({
getInitialState() {
return {
previewVisible: false,
previewImage: "",
declarationBatch: 1,
dataInfor: {},
fileList: this.props.pictureUrl
};
},
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;
this.state.pojectApplicationUrl = undefined;
},
render() {
const { previewVisible, previewImage, fileList } = this.state;
const uploadButton = (
);
return (
{uploadButton}
{previewVisible ?
:
}
);
}
});
const IntentionCustomer = Form.create()(
React.createClass({
loadData(pageNo) {
this.setState({
visitModul: false,
loading: true,
ispage: pageNo,
modalVisible: false,
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/newOrder/orderNewList",
data: {
pageNo: pageNo || 1,
pageSize: this.state.pagination.pageSize,
specially: 10, //营销经理审核 0 个人 1 营销员管理 2 驳回 3 特批 4 咨询师管理 5部门订单查询 6客服查询 7统计签单订单 8客户订单列表 9复审订单 10营销经理 11运营保障
name: this.state.customerName, //名称
orderNo: this.state.orderNoSearch, //订单编号
starTime: this.state.releaseDate[0], //开始时间
endTime: this.state.releaseDate[1], //结束时间
approval: this.state.approvalSearch, //特批状态搜索
processStatus: this.state.processStatusSearch,
amountStatus: this.state.amountStatus,
projectType: this.state.projectType,//会员
type: this.state.approvaType.length > 0 ? this.state.approvaType.toString() : undefined, //特批类型
},
success: function (data) {
ShowModal(this);
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.list.length; i++) {
let thisdata = data.data.list[i];
theArr.push({
key: i,
id: thisdata.id, //用户ID
salesType: thisdata.salesType, //销售类型
deleteSign: thisdata.deleteSign,
projectType: thisdata.projectType,
other: thisdata.other,
contractNo: thisdata.contractNo, //合同编号
orderNo: thisdata.orderNo, //订单编号
totalAmount: thisdata.totalAmount, //签单金额
processStatus: thisdata.processStatus, //流程状态
examineName: thisdata.examineName,
liquidationStatus: thisdata.liquidationStatus, //结算状态
approval: thisdata.approval, //特批状态
signDate: thisdata.signDate, //签单时间
userName: thisdata.userName, //客户名称
salesmanName: thisdata.salesmanName, //营销员名称
financeName: thisdata.financeName, //财务名称
createDate: thisdata.createDate, //下单时间
depName: thisdata.depName,
orderStatus: thisdata.orderStatus,
type: thisdata.type || "", // 特批类型
typeExplain: thisdata.typeExplain,
});
}
this.state.pagination.total = data.data.totalCount;
this.state.pagination.current = data.data.pageNo;
}
if (data.data && data.data.list && !data.data.list.length) {
this.state.pagination.total = 0;
}
this.setState({
dataSource: theArr,
pageNo: pageNo,
pagination: this.state.pagination,
selectedRowKeys: [],
});
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
getInitialState() {
return {
approvaType: [],
rotateDeg: 0,
page: 1,
resVisible: false,
releaseDate: [],
selectedRowKeys: [],
pictureUrl: [],
attachmentUrl: [],
paginations: false,
activeKey: "1",
confirmLoading: false,
approvalSearch: undefined,
processStatusSearch: undefined,
aloading: false,
orderNos: '',
pagination: {
defaultCurrent: 1,
defaultPageSize: 10,
showQuickJumper: true,
pageSize: 10,
onChange: function (page) {
this.loadData(page);
}.bind(this),
showTotal: function (total) {
return "共" + total + "条数据";
},
},
columns: [
{
title: "销售类型",
dataIndex: "salesType",
key: "salesType",
render: (text, record) => {
return (
{salesList[text]}
);
},
},
{
title: "特批类型",
dataIndex: "type",
key: "type",
width: 110,
render: (text, record) => {
return (
{getApprovedType(text ? text.split(",").map(Number) : [], record.typeExplain)}
);
},
},
{
title: "合同编号",
dataIndex: "contractNo",
key: "contractNo",
className: "title-table",
render: (text, record) => {
return (
{
e.stopPropagation();
let input = document.getElementById("copyText");
input.value = text;
input.select();
document.execCommand("copy");
message.success("复制成功");
}}
>
复制
}
>
{text}
{getApprovalTag(record.approval)}
);
},
},
{
title: "客户名称",
dataIndex: "userName",
key: "userName",
render: (text) => {
return (
{text}
)
},
},
{
title: "订单编号",
dataIndex: "orderNo",
key: "orderNo",
width: 140,
render: (text, record) => {
return (
{
e.stopPropagation();
let input = document.getElementById("copyText");
input.value = text;
input.select();
document.execCommand("copy");
message.success("复制成功");
}}
>
复制
}
>
{text}
{record.totalAmount >= 10 && 大客户}
{record.projectType == 1 && 会员}
);
},
},
{
title: "下单时间",
dataIndex: "createDate",
key: "createTime",
},
{
title: "合同签订时间",
dataIndex: "signDate",
key: "signDate",
},
{
title: "流程状态",
dataIndex: "processStatus",
key: "processStatus",
render: (text, record) => {
return getProcessStatus(text, record.examineName, record.approval);
},
},
{
title: "订单部门",
dataIndex: "depName",
key: "depName",
},
{
title: "签单金额(万元)",
dataIndex: "totalAmount",
key: "totalAmount",
},
{
title: "结算状态",
dataIndex: "liquidationStatus",
key: "liquidationStatus",
render: (text) => {
return getLiquidationStatus(text);
},
},
{
title: "是否特批",
dataIndex: "approval",
key: "approval",
render: (text) => {
return getApprovedState(text);
},
},
{
title: "订单负责人",
dataIndex: "salesmanName",
key: "salesmanName",
},
{
title: "财务负责人",
dataIndex: "financeName",
key: "financeName",
},
],
data: [],
dataSource: [],
columnsX: [
{
title: "业务项目名称",
dataIndex: "commodityName",
key: "commodityName",
render: (text, record) => {
return {text}{record.patentTypeName}{"-" + 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",
width: 50,
render: (text) => {
return text ? "是" : "否";
},
},
{
title: "总年限",
dataIndex: "yearSum",
key: "yearSum",
render: (text, record) => {
return (
{["", "一年", "二年", "三年", "四年", "五年"][text]}
);
}
},
{
title: "年限",
dataIndex: "serviceLife",
key: "serviceLife",
render: (text, record) => {
return (
{!!text && JSON.parse(text).toString()}
);
}
},
{
title: "本次派单",
dataIndex: "serviceYear",
key: "serviceYear",
render: (text, record) => {
return (
{!text ? "" : text}
);
}
},
{
title: "项目说明",
dataIndex: "taskComment",
key: "taskComment",
render: (text) => {
return (
{text}
)
},
},
],
columnsrizhi: [
{
title: "流程",
dataIndex: "processName",
key: "processName",
},
{
title: "操作人",
dataIndex: "adminName",
key: "adminName",
},
{
title: "时间",
dataIndex: "createDate",
key: "createDate",
},
],
dataSourceX: [],
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;
}
if (text == 0) {
var str = "当天";
} else if (!text) {
var str = "";
} else {
var str = text + "天";
}
return {str};
}
},
},
{
title: "金额(万元)",
dataIndex: "money",
key: "money",
render: (text, record) => {
if (record.dunTypeName) {
if (record.appropriationRatio) {
let percent = Number(record.appropriationRatio * 100).toFixed(2);
percent += "%";
return {percent}(拨款比例);
} 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: "金额(万元)",
visible订单详情dataIndex: "money",
key: "money",
},
{
title: "催款状态",
dataIndex: "dunStatus",
key: "dunStatus",
render: (text) => {
return getCuikuan(text);
},
},
],
};
},
//页面加载函数
componentWillMount() {
this.loadData();
},
//整行点击
tableRowClick(record) {
this.setState({
visible: true,
orderStatus: record.orderStatus,
id: record.id,
orderNos: record.orderNo
});
this.xiangqing(record.orderNo);
this.xiangmu(record.orderNo);
this.jiedian(record.orderNo);
this.jiedianNew(record.orderNo);
},
//点击打卡项目详情
tableRowClickX(record) {
if (record.type == "1") {
this.setState({
displayFees: "block",
costReduction: record.costReduction,
officialCost: record.officialCost,
});
} else {
this.setState({
displayFees: "none",
});
}
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,
displayFees: "none",
officialCost: "", //是否有官费
costReduction: "", //是否有费减
});
},
//订单详情
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,
userType: thisdata.userType,//
salesType: thisdata.salesType, //销售类型
other: thisdata.other,
orderNo: thisdata.orderNo, //订单编号
contractNo: thisdata.contractNo, //合同编号
userName: thisdata.userName, //客户名称
signDate: thisdata.signDate, //签单时间
examineName: thisdata.examineName,
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"
)
: [], //图片地址
contentUrl: thisdata.serviceContent
? splitUrl(
thisdata.serviceContent,
",",
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,
// 高新纯咨询合同说明
knowledgeServices: thisdata.knowledgeServices, //知识产权服务
auditServices: thisdata.auditServices, //审计服务
addDeductionServices: thisdata.addDeductionServices, //加计扣除服务
knowledgeOther: thisdata.knowledgeOther, //知识产权服务其他描述
auditOther: thisdata.auditOther, //审计服务其他描述
addDeductionOther: thisdata.addDeductionOther, //加计扣除服务其他描述
patentStatus: thisdata.patentStatus, //知识产权情况
type: thisdata.type,// 特批类型
typeExplain: thisdata.typeExplain, // 特批类型
});
}
}.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)
);
},
rizhi() {
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)
);
},
// 拆分详细
showRes(record) {
this.setState({
resVisible: true,
resRecord: record,
});
},
resCancel() {
this.setState({
resVisible: false,
});
},
getOrderLog() {
this.setState({
rizhivisible: true,
});
this.rizhi();
},
closeOrderLog() {
this.setState({
rizhivisible: false,
});
},
//节点列表
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)
);
},
//审核通过
examOk() {
if (!this.state.reason) {
message.warning("请填写备注信息");
return;
}
if (!this.state.reason.replace(/\s+/g, '')) {
message.warning("请填写备注信息");
return;
}
if (this.state.flag) return;
this.setState({
flag: true,
loading: true,
});
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/newOrder/auditOrderNew",
data: {
orderNo: this.state.orderNo,
orderStatus: 2,
reason: this.state.reason,
},
success: function (data) {
if (data.error.length || data.data.list == "") {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
this.setState({
flag: false,
});
}
} else {
message.success("该订单已通过审核~");
this.setState({
visible: false,
flag: false,
agreeVisible: false,
});
this.loadData(this.state.pageNo)
// this.reset();
}
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
//通过发给外包
outsourcing() {
if (this.state.flag) return;
this.setState({
flag: true,
loading: true,
});
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/newOrder/auditOrderNew",
data: {
orderNo: this.state.orderNo,
orderStatus: 2,
outsource: 1,
},
success: function (data) {
if (data.error.length == 0 || data.data.list == "") {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
this.setState({
flag: false,
});
}
} else {
message.success("该订单已通过审核~");
this.setState({
visible: false,
flag: false,
});
// this.reset();
this.loadData(this.state.pageNo)
}
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
//审核不通过
examOks() {
if (!this.state.reason) {
message.warn("请先填写拒绝理由");
return
}
if (!this.state.reason.replace(/\s+/g, '')) {
message.warning("请先填写拒绝理由");
return;
}
this.setState({
loading: true,
});
this.setState({
aloading: true,
});
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/newOrder/auditOrderNew",
data: {
orderNo: this.state.orderNo,
orderStatus: 3,
reason: this.state.reason,
},
success: function (data) {
if (data.error.length || data.data.list == "") {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
this.setState({
aloading: false,
loading: false,
});
}
} else {
message.success("该订单已被拒绝~");
this.setState({
visible: false,
aloading: false,
noVisible: false,
reason: "",
loading: false,
});
// this.reset();
this.loadData(this.state.pageNo)
}
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
//点击拒绝
examNo() {
this.setState({
noVisible: true,
});
},
callback(key) {
let url = window.location.href.substring(7);
this.setState({
activeKey: key,
});
if (this.state.pictureUrl.length) {
let picArr = [];
this.state.pictureUrl.map(function (item) {
if (
item.response &&
item.response.data &&
item.response.data.length
) {
picArr.push(item.response.data);
}
});
}
if (key === "2") {
this.setState({
loading: true,
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url:
globalConfig.context +
"/api/admin/outsourceOrg/orderOutsourceDtails",
data: {
orderNo: this.state.orderNo,
},
success: function (data) {
if (data.data) {
let thisdata = data.data;
this.setState({
id: thisdata.id,
createTimes: thisdata.createTimes,
auditTimes: thisdata.auditTimes,
remarks: thisdata.remarks,
attachmentUrl: thisdata.attachmentUrl
? splitUrl(
thisdata.attachmentUrl,
",",
globalConfig.avatarHost + "/upload",
url
)
: [],
fileUrl: thisdata.attachmentUrl
? splitUrl(
thisdata.attachmentUrl,
",",
globalConfig.avatarHost + "/upload",
url
)
: [],
pictureUrl: thisdata.pictureUrl
? splitUrl(
thisdata.pictureUrl,
",",
globalConfig.avatarHost + "/upload",
url
)
: [], //图片地址
amount: thisdata.amount,
companyName: thisdata.companyName,
outsourceRemarks: thisdata.outsourceRemarks,
unitNumber: thisdata.unitNumber,
unitPrice: thisdata.unitPrice,
});
}
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
}
},
getUrl(url) {
let theorgCodeUrl = [];
if (url.length) {
let picArr = [];
url.map(function (item) {
if (
item.response &&
item.response.data &&
item.response.data.length
) {
picArr.push(item.response.data);
}
});
theorgCodeUrl = picArr.join(",");
}
return theorgCodeUrl;
},
sureOut() {
this.setState({
loading: true,
});
if (!this.state.companyName) {
message.warning("公司名称不能为空");
return;
}
if (!this.state.unitPrice) {
message.warning("单价不能为空");
return;
}
if (moneyVerify(this.state.unitPrice)) {
return;
}
if (!this.state.unitNumber) {
message.warning("数量不能为空");
return;
}
if (!this.state.amount) {
message.warning("总金额不能为空");
return;
}
if (moneyVerify(this.state.amount)) {
return;
}
if (!this.state.outsourceRemarks) {
message.warning("备注不能为空");
return;
}
if (this.state.pictureUrl.length === 0) {
message.warning("合同扫描件不能为空");
return;
}
$.ajax({
method: "POST",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/outsourceOrg/auditOutsource",
data: {
id: this.state.id,
orderNo: this.state.orderNo,
companyName: this.state.companyName,
amount: this.state.amount,
outsourceRemarks: this.state.outsourceRemarks,
unitNumber: this.state.unitNumber,
unitPrice: this.state.unitPrice,
attachmentUrl: this.getUrl(this.state.attachmentUrl).length
? this.getUrl(this.state.attachmentUrl)
: "",
orderStatus: 2,
pictureUrl: this.getUrl(this.state.pictureUrl).length
? this.getUrl(this.state.pictureUrl)
: "",
},
}).done(
function (data) {
this.setState({
loading: false,
});
if (!data.error.length) {
message.success("发起成功!");
this.outReset();
this.visitCancel();
} else {
message.warning(data.error[0].message);
}
}.bind(this)
);
},
//关闭输入理由框
noCancel() {
this.setState({
noVisible: false,
aloading: false,
reason: "",
});
},
//搜索
search() {
this.setState({
//signBillVisible:false
});
this.loadData();
},
//重置
reset() {
this.setState({
signBillVisible: false,
});
this.state.orderNoSearch = "";
this.state.customerName = "";
this.state.releaseDate[0] = undefined;
this.state.releaseDate[1] = undefined;
this.state.approval = undefined;
this.state.approvalSearch = undefined;
this.state.amountStatus = undefined;
this.state.processStatusSearch = undefined;
this.state.projectType = undefined;
this.state.approvaType = [];
this.loadData(1);
},
outReset() {
this.setState({
companyName: "",
amount: "",
unitPrice: "",
unitNumber: "",
outsourceRemarks: "",
attachmentUrl: [],
pictureUrl: [],
});
},
resets() {
this.state.orderNo = "";
this.state.customerName = "";
this.state.releaseDate[0] = undefined;
this.state.releaseDate[1] = undefined;
},
getOrgCodeUrl(e) {
this.setState({ pictureUrl: e });
},
//关闭详情
visitCancel() {
this.setState(
{
visible: false,
},
() => {
this.setState({
activeKey: "1",
});
}
);
this.resets();
this.loadData(this.state.pageNo);
},
visitOk() {
this.setState({
visible: false,
});
this.resets();
},
showDeleteConfirm(fn) {
confirm({
title: 注意
,
content: (
当前订单为外包单,您确定修改为普通订单?
),
okText: "确定",
okType: "danger",
cancelText: "取消",
onOk() {
fn();
},
onCancel() { },
});
},
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,
});
},
changeList(arr) {
const newArr = [];
this.state.columns.forEach(item => {
arr.forEach(val => {
if (val === item.title) {
newArr.push(item);
}
});
});
this.setState({
changeList: newArr
});
},
// 可展开颜色不同
addRowColor(record) {
if (!!record.splitList && record.splitList.length > 0) {
return 'light'
} else {
return 'dark'
}
},
render() {
const expandedRowRenderVip = (e) => {
const data = e.splitList;
let columns = [];
if (data instanceof Array && data.length) {
if (e.cSort == 6) {
columns = [
{
title: "负责人",
dataIndex: "receiverName",
key: "receiverName",
},
{
title: "负责人电话",
dataIndex: "receiverMobile",
key: "receiverMobile",
},
{
title: "项目状态",
dataIndex: "projectStatus",
key: "projectStatus",
render: (text) => {
return getProjectName(text);
},
},
{
title: "本次派单",
dataIndex: "serviceYear",
key: "serviceYear",
},
{
title: "项目说明",
dataIndex: "taskComment",
key: "taskComment",
render: (text) => {
return (
{text}
)
},
},
];
} else {
columns = [
{
title: "子项目名称",
dataIndex: "taskName",
key: "taskName"
},
{
title: "子项目数量",
dataIndex: "commodityQuantity",
key: "commodityQuantity"
},
{
title: "拆分操作人",
dataIndex: "splitAname",
key: "splitAname"
},
{
title: "项目负责人",
dataIndex: "receiverName",
key: "receiverName"
},
{
title: "拆分时间",
dataIndex: "splitTimes",
key: "splitTimes"
}
]
}
return (
);
} else {
columns = [];
return (
{e.cSort == 6 ? "暂无派单" : "此项目暂未拆分"}
);
}
};
const formItemLayout = {
labelCol: { span: 10 },
wrapperCol: { span: 14 },
};
const FormItem = Form.Item;
const { TabPane } = Tabs;
const { TextArea } = Input;
const { RangePicker } = DatePicker;
const cuiDataList = this.state.contactList || [];
const approvaChildren = approvalOptions.map(i => (
));
return (
{this.state.resVisible ? (
) : (
""
)}
{ this.setState({ showModal: false }) }} />
订单审核
{
this.setState({ customerName: e.target.value });
}}
/>
{
this.setState({ orderNoSearch: e.target.value });
}}
/>
下单时间 :
{
this.setState({ releaseDate: dataString });
}}
/>
{this.state.visible &&
{/*
*外包公司
}
>
{
this.setState({
companyName: e.target.value,
});
}}
placeholder="请填写外包公司名称"
/>
如多个公司,请用间隔
*
单价(万元)
}
>
{
this.setState({
unitPrice: e.target.value,
});
}}
placeholder="请填写单价"
/>
*数量(个)
}
>
{
this.setState({
unitNumber: e.target.value,
});
}}
placeholder="请填写数量"
/>
*
总金额(万元)
}
>
{
this.setState({
amount: e.target.value,
});
}}
placeholder="请填写本次外包公司的价格"
/>
*备注
}
>
首次派单项目,需上传协议,第2次起,同项目,只需写外包公司
*
合同/协议扫描件
(外包合同)
}
>
请上传与外包公司签订的合同协议
图片建议:要清晰。
提示:高于总部价格,费用个人承担
*/}
}
{this.state.noVisible ?
:
}
{this.state.agreeVisible ?
{
this.setState({
agreeVisible: false,
});
}}
onCancel={(e) => {
this.setState({
agreeVisible: false,
});
}}
width="400px"
title={"同意备注"}
footer=""
className="admin-desc-content"
confirmLoading={this.state.confirmLoading}
>
:
}
{/*
*/}
{this.state.addnextVisible &&
0 && this.state.processStatus !== 0}
orderNo={this.state.orderNo}
visible={this.state.addnextVisible}
dataInfor={this.state.dataInfor}
onCancel={this.nextCancel}
/>
//
}
);
},
})
);
export default IntentionCustomer;