import React from 'react';
import $ from 'jquery/src/ajax';
import {
Modal,
message,
Spin,
Upload,
Button,
Form,
Table,
Col,
Tag,
Tooltip
} from 'antd';
import {
getjiedian,
splitUrl,
getNewOrderType,
getProcessStatus,
getApproval,
getApprovedType,
getLiquidationStatus,
getboutique,
getCuikuan,
} from "@/tools";
import OrderRiZi from "@/orderRiZi.jsx";
import ResolutionDetail from "@/resolutionDetail";
import ImgList from "../../../common/imgList";
import { getProjectName } from "../../../tools";
import ProjectDetailsReadOnly from "../../../common/projectDetailsReadOnly";
import OrderItemStatus from "../../../common/orderItemStatus";
import EnterpriseNameChange from "../../../common/enterpriseNameChange";
import OrderCoor from '../../order/orderNew/changeComponent/orderCoor';
import ContentUrl from '../../order/orderNew/contentUrl';
import { salesList } from "@/dataDic.js";
import NewEditProject from "../../../common/projectOperation/newEditProject";
import FlowChart from '../../../common/flowchart'; // 流程图
import Gxczx from '../../../common/orderDetail/gxczx' // 高新纯咨询合同说明详情
import Property from '../../../common/orderDetail/property' // 知识产权情况
const OrderDetail = Form.create()(
React.createClass({
loadXmu(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.data.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;
theArr.push(thisdata);
}
}
this.setState({
dataSource: theArr,
pagination: false,
});
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
getInitialState() {
return {
rotateDeg: 0,
orderNos: '',
visible: false,
avisible: false,
loading: false,
declarationBatch: 1,
dataInfor: {},
addnextVisible: false,
jsDate: [],
replenishUrl: [],
auditStatus: 0,
textFileList: [],
videoFileList: [],
previewVisibles: false,
pictureUrl: [],
pictureUrlMin: [],
columns: [
{
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}{" "}
{/* {
record.cSort != 6 &&
{
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}
)
},
},
],
columnsX: [
{
title: "流程",
dataIndex: "processName",
key: "processName",
},
{
title: "操作人",
dataIndex: "adminName",
key: "adminName",
},
{
title: "时间",
dataIndex: "createDate",
key: "createDate",
},
],
ContactsListsNew: [
{
title: "项目名称",
dataIndex: "commodityName",
key: "commodityName",
render: (text, record) => {
return {text + "-" + record.tid};
},
},
{
title: "项目分类",
dataIndex: "projectType",
key: "projectType",
render: (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};
}
}
},
},
{
title: "催款科目",
dataIndex: "dunTypeName",
key: "dunTypeName",
render: (text, record) => {
if (record.customizeName) {
return text + record.customizeName;
}
return {text};
},
},
{
title: "时间(天)",
dataIndex: "waitDay",
key: "waitDay",
render: (text, record) => {
if (record.dunTypeName) {
if (record.customizeTimes) {
return record.customizeTimes;
}
return {text};
}
},
},
{
title: "金额(万元)",
dataIndex: "money",
key: "money",
render: (text, record) => {
if (record.dunTypeName) {
if (record.appropriationRatio) {
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: "金额(万元)",
dataIndex: "money",
key: "money",
},
{
title: "催款状态",
dataIndex: "dunStatus",
key: "dunStatus",
render: (text) => {
return getCuikuan(text);
},
},
],
};
},
//点击打卡项目详情
tableRowClick(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(), //是否为主要
yearSum: record.yearSum,//会员总服务年限
serviceLife: record.serviceLife,//会员服务年限
serviceYear: record.serviceYear,//本次派单
cSort: record.cSort,
addnextVisible: true,
dataInfor: record,
addState: 0,
});
},
//项目详情关闭
nextCancel() {
this.setState({
addnextVisible: false,
displayFees: "none",
officialCost: "", //是否有官费
costReduction: "", //是否有费减
});
},
// 拆分详细
showRes(record) {
this.setState({
resVisible: true,
resRecord: record,
});
},
resCancel() {
this.setState({
resVisible: false,
});
},
loadData(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.data.orderNo,
},
success: function (data) {
let thisData = data.data;
if (!thisData) {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
}
thisData = {};
}
this.setState({
id: thisData.id,
orderUid: thisData.uid,
orderList: thisData,
approval:
thisData.approval == 0
? thisData.approval.toString()
: thisData.approval,
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"
)
: [], //图片地址
orderNo: thisData.orderNo, //订单编号
buyerId: thisData.buyerId,
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)
);
},
rizhi() {
this.setState({
loading: true,
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: "/api/admin/newOrder/selectOrderLog",
data: {
orderNo: this.props.data.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({
dataSourceX: theArr,
});
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
getOrderLog() {
this.setState({
avisible: true,
});
this.rizhi();
},
closeOrderLog() {
this.setState({
avisible: false,
});
},
getPictureUrl(e) {
this.setState({ pictureUrl: e });
},
componentWillMount() {
if (this.props.data.orderNo) {
this.setState({
orderNos: this.props.data.orderNo
})
this.loadData();
this.loadXmu();
this.jiedian(this.props.data.orderNo);
this.jiedianNew(this.props.data.orderNo);
} else {
this.state.data = {};
}
},
componentWillReceiveProps(nextProps) {
if (!this.props.visible && nextProps.visible) {
this.state.textFileList = [];
this.state.videoFileList = [];
if (nextProps.data.orderNo) {
this.setState({
orderNos: nextProps.data.orderNo
})
this.loadData(nextProps.data);
this.loadXmu(nextProps.data);
this.jiedian(nextProps.data.orderNo);
this.jiedianNew(nextProps.data.orderNo);
} else {
this.state.data = {};
this.state.pictureUrl = [];
this.state.pictureUrlMin = [];
}
this.props.form.resetFields();
}
},
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,
});
},
//节点列表
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, //催款状态
orderNo: thisData.orderNo,
});
}
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)
);
},
// 可展开颜色不同
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: "contacts",
key: "contacts",
render: (text, record) => {
return text || record.receiverName;
},
},
{
title: "负责人电话",
dataIndex: "contactsMobile",
key: "contactsMobile",
render: (text, record) => {
return text || record.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 theData = this.state.orderList || {};
const FormItem = Form.Item;
const formItemLayout = {
labelCol: { span: 10 },
wrapperCol: { span: 14 },
};
const cuiDataList = this.state.contactList || [];
return (
{this.state.resVisible &&
}
{
// 项目业务详情
this.state.addnextVisible &&
}
{/* {this.state.addnextVisible &&
} */}
);
},
})
);
export default OrderDetail;