import React from "react";
import $ from "jquery/src/ajax";
import "@/manageCenter/financialManage/distribute/public.less";
import {Button, Form, Input, Select, Spin, Table, message, Modal, Tabs, Tag, Tooltip} from "antd";
import Assign from "@/manageCenter/publicComponent/assign";
import ResolutionDetail from "@/resolutionDetail"
import OrderDetail from "../../order/orderNew/changeComponent/orderDetail";
import OrderRiZi from "@/orderRiZi.jsx";
import {
getProcessStatus,
getLiquidationStatus,
getApprovedState,
splitUrl,
getProjectName,
getboutique,
ShowModal
} from "@/tools";
import ShowModalDiv from "@/showModal.jsx";
import ResolutionPro from "./resolutionPro"
import {ChooseList} from "../../order/orderNew/chooseList";
import ProjectDetailsReadOnly from "../../../common/projectDetailsReadOnly";
import OrderItemStatus from "../../../common/orderItemStatus";
import EnterpriseNameChange from "../../../common/enterpriseNameChange";
const FormItem = Form.Item;
const {TabPane} = Tabs
const Task = React.createClass({
loadData(pageNo) {
this.state.data = [];
this.setState({
loading: true,
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/orderProject/orderTaskList",
data: {
pageNo: pageNo || 1,
pageSize: this.state.pagination.pageSize,
specially: 1, //经理
name: this.state.nameSearch, //客户名称
orderNo: this.state.orderNoSearch, //订单编号
taskId: this.state.taskNoSearch, //任务编号
depId: this.state.departmenttSearch, //订单部门
taskStatus: this.state.taskStatus, //任务状态
adminName: this.state.adminName, //任务受理人
},
success: function (data) {
ShowModal(this);
let theArr = [];
if (!data.data || !data.data.list) {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
}
} else {
for (let i = 0; i < data.data.list.length; i++) {
let thisdata = data.data.list[i];
if (thisdata.splitList) {
thisdata.splitList.forEach((item) => {
item.key = item.id;
});
}
theArr.push({
key: thisdata.id,
orderNo: thisdata.orderNo, //订单编号
id: thisdata.id, //任务ID
taskName: thisdata.taskName, //名称
cname: thisdata.cname, //项目品类
receiverName: thisdata.receiverName, //受理人
projectStatus: thisdata.projectStatus, //项目状态
taskStatus: thisdata.taskStatus, //任务状态
taskDate: thisdata.taskDate, //分配时间
commodityQuantity: thisdata.commodityQuantity, //数量
userName: thisdata.userName, //用户名
depName: thisdata.depName, //部门名称
splitStatus: thisdata.splitStatus, //拆分状态
splitList: thisdata.splitList,
});
}
}
this.state.pagination.current = data.data.pageNo;
this.state.pagination.total = data.data.totalCount;
if (data.data && data.data.list && !data.data.list.length) {
this.state.pagination.current = 0;
this.state.pagination.total = 0;
}
this.setState({
dataSource: theArr,
page: data.data.pageNo,
pagination: this.state.pagination,
});
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
getInitialState() {
return {
orderData: [],
orderNo: "",
jiedian: [],
jiedianNew: [],
declarationBatch: 1,
dataInfor: {},
activeKey: "1",
searchMore: true,
assignVisible: false,
releaseDate: [],
roleName: "",
boHuivisible: false,
departmentArr: [],
selectedRowKeys: [],
selectedRows: [],
paginations: false,
loading: false,
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: "id",
key: "id",
},
{
title: "任务名称",
dataIndex: "taskName",
key: "taskName",
},
{
title: "订单编号",
dataIndex: "orderNo",
key: "orderNo",
},
{
title: "业务类别",
dataIndex: "cname",
key: "cname",
},
{
title: "客户名称",
dataIndex: "userName",
key: "userName",
render: text => {
return (
{text}
)
}
},
{
title: "项目状态",
dataIndex: "projectStatus",
key: "projectStatus",
render: (text) => {
return getProjectName(text);
},
},
{
title: "分配时间",
dataIndex: "taskDate",
key: "taskDate",
},
{
title: "任务数量",
dataIndex: "commodityQuantity",
key: "commodityQuantity",
render: (text, record) => {
if (record.splitStatus == 1) {
return (
{text}{" "}
已拆
);
} else {
return text;
}
},
},
{
title: "订单部门",
dataIndex: "depName",
key: "depName",
},
{
title: "操作",
dataIndex: "caozuo",
key: "caouzo",
render: (text, record) => {
return (
{record.splitStatus == 0 ? (
) : (
""
)}
);
},
},
],
dataSource: [],
resolutionVisible: false,
searchTime: [],
columnsX: [
{
title: "业务项目名称",
dataIndex: "commodityName",
key: "commodityName",
},
{
title: "项目类别",
dataIndex: "cname",
key: "cname",
},
{
title: "项目数量",
dataIndex: "commodityQuantity",
key: "commodityQuantity",
render: (text, record) => {
if (record.splitStatus == 1) {
return (
{text}{" "}
{
e.stopPropagation();
this.showRes(record);
}}
>
已拆
);
} else {
return text;
}
},
},
{
title: "金额(万元)",
dataIndex: "commodityPrice",
key: "commodityPrice",
},
{
title: "负责人",
dataIndex: "contacts",
key: "contacts",
},
{
title: "负责人电话",
dataIndex: "contactsMobile",
key: "contactsMobile",
},
{
title: "主要项目",
dataIndex: "main",
key: "main",
render: (text) => {
return text ? "是" : "否";
},
},
{
title: "项目说明",
dataIndex: "taskComment",
key: "taskComment",
render: (text) => {
return text && text.length > 8 ? text.substr(0, 8) + "…" : text;
},
},
],
dataSourceX: [],
resVisible: false,
};
},
/* 分派 */
evaluate(record, nub) {
this.state.assignData = record;
this.setState(
{
nub,
},
() => {
this.setState({
assignVisible: true,
});
}
);
},
componentWillMount() {
this.departmentList();
this.loadData();
},
tableRowClick(record) {
this.state.RowData = record;
this.setState({
visible: true,
});
this.xiangqing(record.orderNo);
this.xiangmu(record.orderNo);
},
// 拆分详细
showRes(record) {
this.setState({
resVisible: true,
resRecord: record,
});
},
resCancel() {
this.setState({
resVisible: false,
});
},
//订单详情
xiangqing(orderNos) {
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/newOrder/getOrderNewDetail",
data: {
orderNo: orderNos,
},
success: function (data) {
if (data.error.length || data.data.list == "") {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
}
} else {
let thisdata = data.data;
this.setState({
orderUid: thisdata.uid,
orderNo: thisdata.orderNo, //订单编号
contractNo: thisdata.contractNo, //合同编号
userName: thisdata.userName, //客户名称
signDate: thisdata.signDate, //签单时间
processStatus: thisdata.processStatus, //流程状态
liquidationStatus: thisdata.liquidationStatus, //结算状态
contacts: thisdata.contacts, //企业联系人
contactMobile: thisdata.contactMobile, //联系人电话
legalPerson: thisdata.legalPerson, //法人
legalPersonTel: thisdata.legalPersonTel, //法人电话
firstAmount: thisdata.firstAmount, //签单金额
totalAmount: thisdata.totalAmount, //首付金额
approval: thisdata.approval, //特批状态
settlementAmount: thisdata.settlementAmount, //已收款项
orderRemarks: thisdata.orderRemarks, //订单留言
orgCodeUrl: thisdata.contractPictureUrl
? splitUrl(
thisdata.contractPictureUrl,
",",
globalConfig.avatarHost + "/upload"
)
: [], //图片地址
salesmanName: thisdata.salesmanName, //营销员名称
salesmanMobile: thisdata.salesmanMobile, //营销员电话
financeName: thisdata.financeName, //财务名称
financeMobile: thisdata.financeMobile, //财务电话
oldSalesmanName: thisdata.oldSalesmanName, //营销员名称
oldSalesmanMobile: thisdata.oldSalesmanMobile, //营销员电话
nowFinance: thisdata.nowFinance, //财务名称
nowFinanceMobile: thisdata.nowFinanceMobile, //财务电话
depName: thisdata.depName, //订单部门
deleteSign:thisdata.deleteSign,
});
}
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
//项目列表
xiangmu(orderNos) {
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/newOrder/getOrderTask",
data: {
orderNo: orderNos,
},
success: function (data) {
let theArr = [];
if (data.error.length || data.data.list == "") {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
}
} else {
for (let i = 0; i < data.data.length; i++) {
let thisdata = data.data[i];
thisdata.key = i;
theArr.push(thisdata);
}
}
this.setState({
dataSourceX: theArr,
});
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
//关闭详情
visitCancel() {
this.setState({
visible: false,
activeKey: "1",
});
this.loadData(this.state.page);
},
visitOk() {
this.setState({
visible: false,
});
this.loadData(this.state.page);
},
closeDesc(e, s) {
this.state.showDesc = e;
if (s) {
this.loadData(this.state.page);
}
},
closeAssign(e, s) {
this.state.roleName = "";
this.state.assignVisible = e;
if (s) {
this.loadData(this.state.page);
}
},
nextCancel() {
this.setState({
addnextVisible: false,
displayFees: "none",
officialCost: "", //是否有官费
costReduction: "", //是否有费减
});
},
//点击打卡项目详情
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,
});
},
search() {
this.loadData();
},
reset() {
this.state.nameSearch = "";
this.state.releaseDate = [];
this.state.orderNoSearch = "";
this.state.taskNoSearch = "";
this.state.departmenttSearch = undefined;
this.state.distribution = undefined;
this.loadData();
},
searchSwitch() {
this.setState({
searchMore: !this.state.searchMore,
});
},
//部门
departmentList() {
this.setState({
loading: true,
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/organization/selectSuperId",
data: {},
success: function (data) {
let thedata = data.data;
let theArr = [];
if (!thedata) {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
}
thedata = {};
} else {
thedata.map(function (item, index) {
theArr.push({
key: index,
name: item.name,
id: item.id,
});
});
}
this.setState({
departmentArr: theArr,
});
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
resolutionCancel() {
this.setState({
resolutionVisible: false,
});
},
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({
dataSourceY: theArr,
});
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
closeOrderLog() {
this.setState({
avisible: false,
});
},
getOrderLog() {
this.setState({
avisible: true,
});
this.rizhi();
},
orderChange(key) {
this.setState({
activeKey: key,
});
if (key == 2) {
this.orderDetailData(this.state.orderNo);
this.xiangmu(this.state.orderNo);
this.jiedian(this.state.orderNo);
this.jiedianNew(this.state.orderNo);
}
},
//节点列表
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({
jiedian: theArr,
});
}
}.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,
});
}
if (!totalCui) {
totalCui = 0;
}
totalCui = (Math.round(totalCui * 1000000) / 1000000).toFixed(6);
this.setState({
jiedianNew: theArr,
totalCui,
});
}
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
orderDetailData(orderNos) {
this.setState({
loading: true,
});
$.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);
this.setState({
loading: false,
});
}
} else {
let thisdata = data.data;
this.setState({
orderUid: thisdata.uid,
loading: false,
userName: thisdata.userName,
primaryOrderNo: thisdata.primaryOrder,
additionalOrder: thisdata.additionalOrder,
contractNo: thisdata.contractNo,
orderData: thisdata,
isAddition: thisdata.additionalOrder ? true : false,
contractPictureUrl: thisdata.contractPictureUrl
? splitUrl(
thisdata.contractPictureUrl,
",",
globalConfig.avatarHost + "/upload"
)
: [],
deleteSign:thisdata.deleteSign,
});
}
}.bind(this),
});
},
changeList(arr) {
const newArr = [];
this.state.columns.forEach(item => {
arr.forEach(val => {
if (val === item.title) {
newArr.push(item);
}
});
});
this.setState({
changeList: newArr
});
},
render() {
const expandedRowRender = (e) => {
const data = e.splitList;
let columns = [];
if (e.splitList instanceof Array && e.splitList.length) {
columns = [
{
title: "任务编号",
dataIndex: "splitSuper",
key: "splitSuper",
render: (text, record) => {
return text + "-" + record.splitId;
},
},
{
title: "任务名称",
dataIndex: "taskName",
key: "taskName",
},
{
title: "订单编号",
dataIndex: "orderNo",
key: "orderNo",
},
{
title: "业务类别",
dataIndex: "cname",
key: "cname",
},
{
title: "客户名称",
dataIndex: "userName",
key: "userName",
render: text => {
return (
{text}
)
}
},
{
title: "项目状态",
dataIndex: "projectStatus",
key: "projectStatus",
render: (text) => {
return getProjectName(text);
},
},
{
title: "分配时间",
dataIndex: "taskDate",
key: "taskDate",
},
{
title: "任务数量",
dataIndex: "commodityQuantity",
key: "commodityQuantity",
},
{
title: "订单部门",
dataIndex: "depName",
key: "depName",
},
{
title: "拆分操作人",
dataIndex: "splitAname",
key: "splitAname",
},
{
title: "项目负责人",
dataIndex: "receiverName",
key: "receiverName",
},
{
title: "拆分时间",
dataIndex: "splitTimes",
key: "splitTimes",
},
{
title: "操作",
dataIndex: "caozuo",
key: "caouzo",
render: (text, record) => {
return (
);
},
},
];
return (
);
} else {
columns = [];
return (
此项目暂未拆分
);
}
};
const rowSelection = {
selectedRowKeys: this.state.selectedRowKeys,
onChange: (selectedRowKeys, selectedRows) => {
this.setState({
selectedRows: selectedRows.slice(-1),
selectedRowKeys: selectedRowKeys.slice(-1),
});
},
};
const formItemLayout = {
labelCol: { span: 8 },
wrapperCol: { span: 14 },
};
let departmentArr = this.state.departmentArr || [];
return (
{this.state.resVisible ? (
) : (
""
)}
任务派单
}>
{this.state.addnextVisible && }
);
},
});
export default Task;