import React from "react";
import $ from "jquery";
import moment from "moment";
import Picture from "@/manageCenter/publicComponent/picture";
import ResolutionDetail from "@/resolutionDetail";
import "@/manageCenter/financialManage/distribute/public.less";
import "@/manageCenter/financialManage/distribute/shouKuan.less";
import {cuiJieDian } from '@/dataDic.js'
import OrderDetail from "../../order/orderNew/changeComponent/orderDetail";
import {
Button,
Form,
Input,
Select,
Spin,
Table,
message,
DatePicker,
Modal,
Radio,
Cascader,
Popconfirm,
Tabs,
Tag,
notification
} from "antd";
import Assign from "@/manageCenter/publicComponent/assign";
import { areaSelect } from "@/NewDicProvinceList";
import { ChooseList } from "../../order/orderNew/chooseList";
import OrderRiZi from "@/orderRiZi.jsx";
import "./table.less";
import {
getProcessStatus,
getApproval,
getTaskStatus,
getLiquidationStatus,
getProjectStatus,
splitUrl,
getboutique,
getprovince,
moneyVerify,
ShowModal
} from "@/tools";
import { taskStatus, projectStatus } from "@/dataDic.js";
import ShowModalDiv from "@/showModal.jsx";
import CheckProject from "../../components/checkProject";
const FormItem = Form.Item;
const { TabPane } = Tabs;
const { Option } = Select;
const { MonthPicker, RangePicker } = DatePicker;
const MyTaskOutsource = React.createClass({
loadData(pageNo) {
this.state.data = [];
this.setState({
page: pageNo,
loading: true,
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/orderProject/orderTaskList",
data: {
pageNo: pageNo || this.state.page || 1,
pageSize: this.state.pagination.pageSize,
specially: 0, //个人
name: this.state.nameSearch, //客户名称
depId: this.state.departmenttSearch, //订单部门
orderNo: this.state.orderNoSearch, //订单编号
contractNo: this.state.contractNoSearch, //合同编号
taskId: this.state.taskNoSearch, //项目编号
taskStatus: this.state.taskStatuSearch, //项目状态
projectStatus: this.state.projectStatusSearch, //项目状态
adminName: this.state.adminName, //项目受理人
outsource: 1,
approval: this.state.approvalSearch, //特批状态搜索
},
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];
thisdata.key = i;
thisdata.userName = thisdata.taskName.substring(0, 5) === "软件著作权"
? thisdata.userName +
"(" +
thisdata.commodityQuantity.toString() +
"/" +
thisdata.alreadyNumber +
")"
: thisdata.userName;
theArr.push(thisdata);
}
}
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,
pagination: this.state.pagination,
});
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
waiDetail() {
let url = window.location.href.substring(7)
this.setState({
loading: true,
})
$.ajax({
method: 'get',
dataType: 'json',
crossDomain: false,
url:
globalConfig.context + '/api/admin/outsourceOrg/orderOutsourceDtails',
data: {
tid: this.state.id,
orderNo: this.state.orderNo,
},
}).done(
function (data) {
this.setState({
loading: false,
})
if (!data.error.length && data.data) {
if(data.data.unitNumber){
this.setState({
oldInfor: {
companyName:data.data.companyName,
unitPrice:data.data.unitPrice,
unitNumber:data.data.unitNumber,
amount:data.data.amount,
outsourceRemarks:data.data.outsourceRemarks,
refundStatus: data.data.refundStatus,
pictureUrl: data.data.pictureUrl
? splitUrl(
data.data.pictureUrl,
',',
globalConfig.avatarHost + '/upload',
url
)
: [], //图片地址
}
})
}else{
this.setState({
startType: data.data.startType, //类型
patentType: data.data.patentType, //专利类型
patentNameType: data.data.patentNameType, //专利名称类型
patentName: data.data.patentName, //专利名称
outsourceRemarks: data.data.outsourceRemarks,
remarks: data.data.remarks,
companyName: data.data.companyName,
amount: data.data.amount,
mid: data.data.id,
unitPrice: data.data.unitPrice,
refundStatus: data.data.refundStatus,
unitNumber: data.data.unitNumber,
pictureUrl: data.data.pictureUrl
? splitUrl(
data.data.pictureUrl,
',',
globalConfig.avatarHost + '/upload',
url
)
: [], //图片地址
createTimes: data.data.createTimes,
auditTimes: data.data.auditTimes,
})
}
} else if (data.error && data.error.length) {
message.warning(data.error[0].message)
} else if (!data.data) {
this.setState({
refundStatus: undefined,
})
}
}.bind(this)
)
},
getInitialState() {
return {
paySubject: [],
orderData: [],
orderNo: "",
jiedian: [],
jiedianNew: [],
page: 1,
timeVisible: false,
searchMore: true,
assignVisible: false,
releaseDate: [],
// 判断是否是退回给咨询师经理
flag: false,
roleName: "",
modKey: "1",
testFlag: true,
boHuivisible: false,
companyProvinceArr: [],
selectedRowKeys: [],
departmentArr: [],
selectedRows: [],
attachmentUrl: [],
contactList: [],
//特批状态搜索
approvalSearch: undefined,
paginations: false,
loading: false,
pagination: {
defaultCurrent: 1,
defaultPageSize: 10,
showQuickJumper: true,
pageSize: 10,
onChange: function (page) {
this.loadData(page);
this.setState({
page,
});
}.bind(this),
showTotal: function (total) {
return "共" + total + "条数据";
},
},
// 子组件改变的表格title数组
changeList: undefined,
columnsTime: [
{
title: "工作时长(小时)",
dataIndex: "hours",
key: "hours",
},
{
title: "工作时间",
dataIndex: "taskDays",
key: "taskDays",
},
// {
// title: "项目负责人",
// dataIndex: "remarks",
// key: "remarks"
// },
{
title: "备注",
dataIndex: "remarks",
key: "remarks",
},
],
columns: [
{
title: "项目编号",
dataIndex: "id",
key: "id",
render: (text, record) => {
if (record.splitStatus == 2) {
return {record.splitSuper + "-" + record.splitId};
} else {
return text;
}
},
},
{
title: "项目名称",
dataIndex: "taskName",
key: "taskName",
render: (text) => {
return text && text.length > 8 ? text.substr(0, 8) + "…" : text;
},
},
{
title: "项目数量",
dataIndex: "commodityQuantity",
key: "commodityQuantity",
},
{
title: "订单编号",
dataIndex: "orderNo",
key: "orderNo",
},
{
title: "合同编号",
dataIndex: "contractNo",
key: "contractNo",
},
{
title: "业务类别",
dataIndex: "cname",
key: "cname",
},
{
title: "客户名称",
dataIndex: "userName",
key: "userName",
className: "userName",
},
// {
// title: "外包公司",
// dataIndex: "outsourceName",
// key: "outsourceName",
// },
{
title: "分配状态",
dataIndex: "taskStatus",
key: "taskStatus",
render: (text) => {
return getTaskStatus(text);
},
},
{
title: "项目状态",
dataIndex: "projectStatus",
key: "projectStatus",
render: (text) => {
return getProjectStatus(text);
},
},
{
title: "特批状态",
dataIndex: "approval",
key: "approval",
render: (text) => {
return getApproval(text, true);
},
},
{
title: "分配时间",
dataIndex: "taskDate",
key: "taskDate",
},
{
title: "订单部门",
dataIndex: "depName",
key: "depName",
},
{
title: "累计工时(小时)",
dataIndex: "hours",
key: "hours",
},
{
title: "项目金额(万元)",
dataIndex: "commodityPrice",
key: "commodityPrice",
},
{
title: "外包成本(万元)",
dataIndex: "costAmount",
key: "costAmount",
render: (text, record) => {
return (
{
isNaN(parseFloat(text)) ? text : parseFloat(text)
}
)
}
},
{
title: "已付(万元)",
dataIndex: "partyAmount",
key: "partyAmount",
render: (text, record) => {
return (
{
isNaN(parseFloat(text)) ? text : parseFloat(text)
}
)
}
},
{
title: "操作",
dataIndex: "caozuo",
key: "caozuo",
render: (text, record) => {
return (
);
},
},
],
dataSource: [],
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;
},
},
],
columnsA: [
{
title: "流程",
dataIndex: "content",
key: "content",
align: "center",
},
{
title: "操作人",
dataIndex: "aName",
key: "aName",
align: "center",
},
{
title: "时间",
dataIndex: "createTimes",
key: "createTimes",
align: "center",
},
],
dataSourceX: [],
dataSourceA: [],
companys: [],
ContactsLists: [
{
title: "批次",
dataIndex: "num",
key: "num",
},
{
title: "下证时间",
dataIndex: "licenceTimes",
key: "licenceTimes",
render: (text, record) => {
return (
{}}
value={
record.licenceTimes ? moment(record.licenceTimes) : null
}
onChange={(data, dataString) => {
record.licenceTimes = dataString;
this.setState({ contactList: this.state.contactList });
}}
/>
);
},
},
{
title: "下证数量",
dataIndex: "alreadyNumber",
key: "alreadyNumber",
render: (text, record) => {
return (
{
{
record.alreadyNumber = e.target.value;
this.setState({ contactList: this.state.contactList });
}}
style={{ width: "120px" }}
/>
}
);
},
},
{
title: "未下证数量",
dataIndex: "notCount",
key: "notCount",
},
{
title: "操作",
dataIndex: "dels",
key: "dels",
render: (text, record, index) => {
return (
{
{
this.confirmDelet(record);
}}
okText="删除"
cancelText="不删除"
>
}
{record.flag ? (
""
) : (
)}
);
},
},
],
companyColumns: [
{
title: "公司",
dataIndex: "name",
key: "name",
//fixed:'left',
width: 160,
},
{
title: "联系人",
dataIndex: "contacts",
key: "contacts",
},
{
title: "联系人电话",
dataIndex: "contactsMobile",
key: "contactsMobile",
},
{
title: "地址",
dataIndex: "companyProvinceArr",
key: "companyProvinceArr",
width: 140,
render: (test) => {
return test[0] === null
? ""
: getprovince(test[0]) +
"/" +
getprovince(test[1]) +
"/" +
getprovince(test[2]);
},
},
{
title: "详细地址",
dataIndex: "address",
key: "address",
},
{
title: "操作",
width: 160,
render: (text, record) => {
return (
{
this.deleteCompany(record.id);
}}
cancelText="取消"
>
);
},
},
],
};
},
/* 分派 */
evaluate(record, nub, flag) {
this.state.assignData = record;
this.setState(
{
nub,
assignData: record,
flag,
},
() => {
this.setState({
assignVisible: true,
});
}
);
},
componentWillMount() {
this.departmentList();
this.loadData();
},
componentDidMount() {
this.setColor();
},
setColor() {
$(".userName span").after(
"(软著数/下证数)"
);
},
tableRowClick(record) {
this.state.RowData = record;
let str = record.taskName;
let test = str.indexOf("会员");
if (test == -1) {
this.setState({
isHuiyuan: false,
});
} else {
this.setState({
isHuiyuan: true,
});
}
if (record.taskName.substring(0, 5) === "软件著作权") {
this.setState({
speVisible: true,
id: record.id,
splitStatus: record.splitStatus,
splitSuper: record.splitSuper,
splitId: record.splitId,
dataArr: record,
commodityQuantity: record.commodityQuantity,
});
} else {
this.setState({
visible: true,
splitStatus: record.splitStatus,
splitSuper: record.splitSuper,
splitId: record.splitId,
projectType: record.projectType,
patentNameType: record.patentNameType,
patentName: record.patentName,
});
}
this.xiangqing(record.id, record.taskName);
this.xiangqings(record.orderNo);
this.xiangmu(record.orderNo);
this.loaduserss(record);
// 获取第三方信息表格
this.thirdTable(record.id)
//获取支付节点信息表格
this.payNodeTable(record.id)
// 获取Csort
this.getCsortData(localStorage.getItem('cSort'))
},
//点击修改项目详情
tijiaoOk() {
if (moneyVerify(this.state.setUpAmount)) {
return;
}
let attachmentUrls = [];
if (this.state.attachmentUrl.length) {
let picArr = [];
this.state.attachmentUrl.map(function (item) {
if (item.response && item.response.data && item.response.data.length) {
picArr.push(item.response.data);
}
});
attachmentUrls = picArr.join(",");
}
this.setState({
loading: true,
});
$.ajax({
method: "POST",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/orderProject/updateOrderTask",
data: {
id: this.state.id, //项目编号
orderNo: this.state.orderNo, //订单编号
projectStatus: this.state.projectStatus, //项目状态
taskStatus: this.state.taskStatus, //项目状态
taskComment: this.state.taskComment, //说明
startDate: this.state.startDate, //启动日期
endDate: this.state.endDate, //结束日期
acceptDate: this.state.acceptDate, //受理日期
reviewDate: this.state.reviewDate, //评审日期
publicityDate: this.state.publicityDate, //公示日期
licenceDate: this.state.licenceDate, //发证日期
attachmentUrl: attachmentUrls.length ? attachmentUrls : "", //附件
contacts: this.state.contacts, //联系人
contactMobile: this.state.contactMobile, //联系人电话
legalPerson: this.state.legalPerson, //法人
legalPersonTel: this.state.legalPersonTel, //法人电话
certificateNumber: this.state.certificateNumber, //证书编号
status: this.state.status, //状态
formRetrieve: this.state.formRetrieve, //满意度表格
taskRefund: this.state.taskRefund, //退单
refundContent: this.state.refundContent, //退单信息
retrieveContent: this.state.retrieveContent, //回收信息
locationProvince: this.state.ProvinceCity[0],
locationCity: this.state.ProvinceCity[1],
locationArea: this.state.ProvinceCity[2],
postalAddress: this.state.postalAddress, //详细地址
arrivalMoney: this.state.arrivalMoney, //是否到款
setUpAmount: this.state.setUpAmount, //立项金额
declareUser: this.state.declareUser, //账号
declarePwd: this.state.declarePwd, //密码
outsourceName: this.state.outsourceName, //外包公司名称
outsourcePrice: this.state.outsourcePrice, //外包价格
declarationBatch: this.state.declarationBatch,
},
}).done(
function (data) {
this.setState({
loading: false,
});
if (!data.error.length) {
message.success("保存成功!");
this.visitCancel();
} else {
message.warning(data.error[0].message);
}
}.bind(this)
);
},
//点击修改项目详情
tianjiaOk() {
if (this.state.attachmentUrl.length) {
let picArr = [];
this.state.attachmentUrl.map(function (item) {
if (item.response && item.response.data && item.response.data.length) {
picArr.push(item.response.data);
}
});
}
$.ajax({
method: "POST",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/orderProject/addTaskHours",
data: {
taskId: this.state.taskId, //项目编号
hours: this.state.hours, //工时
remarks: this.state.remarks, //说明
taskDate: this.state.taskDate, //日期
taskComment: this.state.taskComment, //说明
},
}).done(
function (data) {
this.setState({
loading: false,
});
if (!data.error.length) {
message.success("保存成功!");
this.noCancel();
} else {
message.warning(data.error[0].message);
}
}.bind(this)
);
},
//订单详情
xiangqing(id) {
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/orderProject/orderTaskDetail",
data: {
id: id,
},
success: function (data) {
let thisdata = data.data;
if (data.error.length || data.data.list == "") {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
}
} else {
this.setState({
id: thisdata.id, //ID
orderNo: thisdata.orderNo, //订单编号
splitId: thisdata.splitId,//拆分序号
splitStatus: thisdata.splitStatus,//0未拆分 1已拆分
splitSuper: thisdata.splitSuper,//拆分前项目编号
userName: thisdata.userName, //客户名称
taskName: thisdata.taskName, //项目名称
cname: thisdata.cname, //项目品类
contractNo: thisdata.contractNo, //合同编号
projectStatus: thisdata.projectStatus.toString(), //项目状态
taskStatus: thisdata.taskStatus.toString(), //项目状态
taskDate: thisdata.taskDate, //分配时间
taskComment: thisdata.taskComment, //说明
attachmentUrl: thisdata.attachmentUrl
? splitUrl(
thisdata.attachmentUrl,
",",
globalConfig.avatarHost + "/upload"
)
: [], //图片地址
salesmanName: thisdata.salesmanName, //订单负责人
startDate: thisdata.startDate, //启动日期
endDate: thisdata.endDate, //结束日期
acceptDate: thisdata.acceptDate, //受理日期
reviewDate: thisdata.reviewDate, //评审日期
publicityDate: thisdata.publicityDate, //公示日期
licenceDate: thisdata.licenceDate, //发证日期
contacts: thisdata.contacts, //联系人
contactMobile: thisdata.contactMobile, //联系人电话
legalPerson: thisdata.legalPerson, //法人
legalPersonTel: thisdata.legalPersonTel, //法人电话
certificateNumber: thisdata.certificateNumber, //证书编号
status: thisdata.status, //状态
formRetrieve: thisdata.formRetrieve, //满意度表格
taskRefund: thisdata.taskRefund, //退单
refundContent: thisdata.refundContent, //退单信息
retrieveContent: thisdata.retrieveContent, //回收信息
arrivalMoney: thisdata.arrivalMoney, //是否到款
setUpAmount: thisdata.setUpAmount, //立项金额
declareUser: thisdata.declareUser, //账号
declarePwd: thisdata.declarePwd, //密码
outsourceName: thisdata.outsourceName, //外包公司名称
outsourcePrice: thisdata.outsourcePrice, //外包价格
declarationBatch: thisdata.declarationBatch,
});
}
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
//订单详情
xiangqings(orderNos) {
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/newOrder/getOrderNewDetail",
data: {
orderNo: orderNos,
},
success: function (data) {
let thisdata = data.data;
let ProvinceCityArr = [];
let ProvinceS = thisdata.locationProvince; //省
let citys = thisdata.locationCity; //市
let Areas = thisdata.locationArea; //区
ProvinceCityArr.push(ProvinceS, citys, Areas);
if (data.error.length || data.data.list == "") {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
}
} else {
this.setState({
processStatus: thisdata.processStatus, //流程状态
liquidationStatus: thisdata.liquidationStatus, //结算状态
approval: thisdata.approval, //特批状态
orderRemarks: thisdata.orderRemarks, //订单留言
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, //订单部门
ProvinceCity: ProvinceCityArr[0] === null ? [] : ProvinceCityArr,
postalAddress: thisdata.postalAddress, //详细地址
});
}
}.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];
theArr.push({
key: i,
id: thisdata.id,
orderNo: thisdata.orderNo, //订单编号
commodityId: thisdata.commodityId, //项目ID
commodityName: thisdata.commodityName, //项目名称
cname: thisdata.cname, //项目类别
commodityPrice: thisdata.commodityPrice, //项目价格
commodityQuantity: thisdata.commodityQuantity, //项目数量
main: thisdata.main, //是否为主要项目
taskComment: thisdata.taskComment, //项目说明
contacts: thisdata.contacts, //联系人
contactsMobile: thisdata.contactsMobile, //联系人电话
taskStatus: thisdata.taskStatus, //是否分配
contractNo: thisdata.contractNo, //合同编号
certificateNumber: thisdata.certificateNumber,
splitStatus: thisdata.splitStatus, //是否为子项目 2是 1主项目
splitSuper: thisdata.splitSuper,
splitId: thisdata.splitId,
});
}
}
this.setState({
dataSourceX: theArr,
});
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
//导出
exportExec() {
let departmentName = "",
depart = this.state.departmentArr || [];
depart.map((item) => {
if (this.state.departmentId == item.id) {
departmentName = item.name;
return;
}
});
let data = {
departmentId: this.state.departmentId,
departmentName: departmentName,
salesName: this.state.orderRefundSearch, //订单负责人
startTime: this.state.releaseDate[0],
endTime: this.state.releaseDate[1],
grantStatus: this.state.grantStatus,
};
window.location.href =
globalConfig.context +
"/api/admin/orderProject/exporProjectList?" +
$.param(data);
},
//关闭详情
visitCancel() {
this.setState({
visible: false,
speVisible: false,
modKey: "1",
updataSwicth: false,
});
this.companyReset();
this.reset();
},
visitOk() {
this.setState({
visible: false,
speVisible: false,
});
this.reset();
},
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);
}
},
//添加工时
okCancel(record) {
this.setState({
lookVisible: true,
taskId: record.id,
});
},
//测试
getOrgCodeUrl(e) {
this.setState({ orgCodeUrl: e });
},
//查看下证信息
loaduserss(record) {
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/orderProject/selectTaskProgress",
data: {
tid: record.id,
},
success: function (data) {
let theArr = [];
let thisData = [];
if (!thisData) {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
}
thisData = {};
} else {
for (let i = 0; i < data.data.length; i++) {
thisData = data.data[i];
theArr.push({
num: i + 1,
key: i,
id: thisData.id, //编号
alreadyNumber: thisData.alreadyNumber, //下证数
licenceTimes: thisData.licenceTimes, //下证时间
notCount: thisData.notCount, //未下证数
flag: true,
});
}
this.setState({
contactList: theArr,
});
}
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
//下证信息保存
contactSave(record) {
if (!record.licenceTimes) {
message.warning("下证日期不能为空");
return;
}
if (!record.alreadyNumber) {
message.warning("下证数量不能为空");
return;
}
this.setState({
loading: true,
});
$.ajax({
url: globalConfig.context + "/api/admin/orderProject/createTaskProgress",
method: "post",
data: {
taskId: this.state.id,
licenceTimes: record.licenceTimes,
alreadyNumber: record.alreadyNumber,
},
}).done(
function (data) {
this.setState({
loading: false,
});
if (!data.error.length) {
message.success("保存成功!");
record.flag = true;
this.loaduserss(this.state.dataArr);
} else {
message.warning(data.error[0].message);
}
}.bind(this)
);
},
//下证信息删除
contactDele(record) {
this.setState({
loading: true,
});
$.ajax({
url: globalConfig.context + "/api/admin/orderProject/delectTaskProgress",
method: "post",
data: {
id: record.id,
},
}).done(
function (data) {
this.setState({
loading: false,
});
if (!data.error.length) {
this.loaduserss(this.state.dataArr);
} else {
message.warning(data.error[0].message);
}
}.bind(this)
);
},
//点击新增下证信息
addcontact() {
this.state.contactList.push({
num: this.state.contactList.length + 1,
key: this.state.contactList.length,
licenceTimes: "",
alreadyNumber: "",
notCount: "",
dels: "",
flag: false,
aflag: false,
});
this.setState({
contactList: this.state.contactList,
});
},
//删除下证信息
confirmDelet(record) {
this.state.contactList.splice(record.key, 1);
this.setState({
contactList: this.state.contactList,
});
if (record.id) {
this.contactDele(record);
}
},
caozuorizhi() {
this.setState({
visibleA: true,
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/orderProject/TaskLogList",
data: {
id: this.state.id,
},
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];
theArr.push({
key: i,
id: thisdata.id, //日志ID
content: thisdata.content, //流程
taskId: thisdata.taskId, //项目ID
aName: thisdata.aName, //负责人
createTimes: thisdata.createTimes, //时间
});
}
}
this.setState({
dataSourceA: theArr,
});
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
//通知提醒
openNotification() {
notification.open({
message: "提醒",
description: "请在输入框中重新输入需要修改的选项!",
});
},
//关闭操作工时
visitCancelA() {
this.setState({
visibleA: false,
});
},
callBack(e) {
this.setState({
modKey: e,
});
this.loadCompany();
if (e == 2) {
this.waiDetail()
this.thirdTable(this.state.tid);
this.payNodeTable(this.state.tid)
}
if (e == 3) {
this.orderDetailData(this.state.orderNo);
this.xiangmu(this.state.orderNo);
this.jiedian(this.state.orderNo);
this.jiedianNew(this.state.orderNo);
}
},
//添加公司
addCompany() {
this.setState({
switch: true,
});
},
//保存和修改公司
saveCompany(id) {
if (this.companyJugle()) {
let upAndde = this.state.updataSwicth
? {
api: "/api/admin/outsourceOrg/updateOutsourceOrg",
warn: "修改成功",
data: {
id: id,
name: this.state.cName,
contacts: this.state.companyContacts,
contactsMobile: this.state.companyContactsMobile,
province: this.state.companyProvinceArr[0],
city: this.state.companyProvinceArr[1],
area: this.state.companyProvinceArr[2],
address: this.state.companyAddress,
remarks: this.state.companyRemarks,
},
}
: {
api: "/api/admin/outsourceOrg/addOutsourceOrg",
warn: "保存成功",
data: {
name: this.state.cName,
tid: this.state.RowData.id,
contacts: this.state.companyContacts,
contactsMobile: this.state.companyContactsMobile,
orderNo: this.state.orderNo,
province: this.state.companyProvinceArr[0],
city: this.state.companyProvinceArr[1],
area: this.state.companyProvinceArr[2],
address: this.state.companyAddress,
remarks: this.state.companyRemarks,
},
};
this.setState({
loading: true,
});
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + upAndde.api,
data: upAndde.data,
success: function (data) {
if (data.error.length || data.data.list == "") {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
}
}
}.bind(this),
}).done(
function () {
this.setState({
loading: false,
updataSwicth: false,
});
this.companyReset();
message.success(upAndde.warn);
this.loadCompany();
}.bind(this)
);
}
},
//判断
companyJugle() {
if (this.state.cName === undefined) {
console.log(2345);
message.warning("公司名称不能为空!");
return;
}
if (this.state.companyContacts === undefined) {
message.warning("联系人不能为空!");
return;
}
if (this.state.companyContactsMobile === undefined) {
message.warning("联系人电话不能为空!");
return;
}
return true;
},
//删除外包
deleteCompany(id) {
$.ajax({
method: "post",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/outsourceOrg/deleteOutsourceOrg",
data: {
id: id,
},
success: function () {}.bind(this),
}).done(
function () {
this.setState({
loading: false,
});
message.warning("删除成功");
this.loadCompany();
}.bind(this)
);
},
//重置外包
companyReset() {
this.setState({
cName: undefined,
companyContacts: undefined,
companyContactsMobile: undefined,
companyProvinceArr: [],
companyAddress: undefined,
companyRemarks: undefined,
});
},
//加载外包
loadCompany() {
this.setState({
loading: true,
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/outsourceOrg/selectOutsourceOrg",
data: {
orderNo: this.state.RowData.orderNo,
tid: this.state.RowData.id,
},
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];
let ProvinceCityArr = [];
let ProvinceS = thisdata.province; //省
let citys = thisdata.city; //市
let Areas = thisdata.area; //区
ProvinceCityArr.push(ProvinceS, citys, Areas);
theArr.push({
key: i,
id: thisdata.id, //外包Id
name: thisdata.name, //名称
contacts: thisdata.contacts, //联系人
contactsMobile: thisdata.contactsMobile, //联系人电话
companyProvinceArr: ProvinceCityArr,
address: thisdata.address,
remarks: thisdata.remarks,
});
}
}
this.setState({
companys: theArr,
});
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
foo2() {
this.setState({
testFlag1: false,
});
},
foo1() {
this.setState({
testFlag1: true,
});
},
foo() {
this.setState({
testFlag: false,
});
},
nextCancel() {
this.setState({
addnextVisible: false,
});
},
//点击打卡项目详情
tableRowClickX(record) {
this.setState({
jid: record.id, //项目ID
kid: record.commodityId, //商品ID
commodityName: record.commodityName, //金额
commodityPrice: record.commodityPrice, //金额
commodityQuantity: record.commodityQuantity, //数量
taskComment: record.taskComment, //备注
main: record.main.toString(), //是否为主要
addnextVisible: true,
addState: 0,
});
},
//关闭添加工时
noCancel() {
this.setState({
lookVisible: false,
});
this.reset();
},
search() {
this.loadData();
},
reset() {
this.state.id = ""; //项目编号
this.state.orderNo = ""; //订单编号
this.state.contractNoSearch = undefined; //订单编号
this.state.projectStatus = undefined; //项目状态
this.state.projectStatusSearch = undefined; //项目状态
this.state.taskStatuSearch = undefined; //项目状态
this.state.taskComment = ""; //说明
this.state.startDate = ""; //启动日期
this.state.endDate = ""; //结束日期
this.state.acceptDate = ""; //受理日期
this.state.reviewDate = ""; //评审日期
this.state.publicityDate = ""; //公示日期
this.state.licenceDate = ""; //发证日期
attachmentUrl: []; //附件
this.state.contacts = ""; //联系人
this.state.contactMobile = ""; //联系人电话
this.state.legalPerson = ""; //法人
this.state.legalPersonTel = ""; //法人电话
this.state.taskId = ""; //项目编号
this.state.hours = ""; //工时
this.state.remarks = ""; //说明
this.state.taskDate = ""; //日期
this.state.taskComment = ""; //说明
this.state.nameSearch = "";
this.state.releaseDate = [];
this.state.orderNoSearch = "";
this.state.taskNoSearch = "";
this.state.distribution = undefined;
this.state.departmenttSearch = undefined;
this.state.outsourceName = ""; //外包公司名称
this.state.outsourcePrice = ""; //外包价格
this.loadData(this.state.page);
this.state.approvalSearch = undefined;
this.setState({
oldInfor: {}
})
},
searchSwitch() {
this.setState({
searchMore: !this.state.searchMore,
});
},
// 拆分详细
showRes(record) {
this.setState({
resVisible: true,
resRecord: record,
});
},
resCancel() {
this.setState({
resVisible: false,
});
},
//部门
departmentList() {
this.setState({
loading: true,
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/organization/selectSuperId",
data: {},
success: function (data) {
let thedata = data.data;
let theArr = [];
if (!thedata) {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
}
thedata = {};
} else {
thedata.map(function (item, index) {
theArr.push({
key: index,
name: item.name,
id: item.id,
});
});
}
this.setState({
departmentArr: theArr,
});
}.bind(this),
}).always(
function () {
this.setState({
loading: false,
});
}.bind(this)
);
},
changeList(arr) {
const newArr = [];
this.state.columns.forEach((item) => {
arr.forEach((val) => {
if (val === item.title) {
newArr.push(item);
}
});
});
this.setState({
changeList: newArr,
});
},
timeClose() {
this.setState({
timeVisible: false,
});
},
timeDetail(record) {
console.log(record);
this.setState({
loading: true,
recordHour: record.hours,
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url:
globalConfig.context + "/api/admin/orderProject/taskHoursDetailsList",
data: {
taskId: record.id,
},
success: function (data) {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
} else {
this.setState({
dataSourceTime: data.data,
});
console.log(this.state.dataSourceTime);
}
}.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({
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),
});
},
// 获取csort下的数据
getCsortData(cSort) {
cuiJieDian.map((item) => {
if (item.value == cSort) {
this.setState({
paySubject: item.children,
})
}
})
},
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;
thisData.key = i;
thisData.dunSubject = thisData.dunSubject
? thisData.dunSubject.toString()
: ""; //催款科目
theArr.push(thisData);
}
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)
);
},
//查看第三方信息表格
thirdTable(id) {
this.setState({
loadData: true,
})
$.ajax({
method: 'get',
dataType: 'json',
crossDomain: false,
url: globalConfig.context + '/api/admin/company/selectCompany',
data: {
tid: id,
},
success: function (data) {
if (data.error && data.error.length) {
message.warning(data.error[0].message)
} else {
let companyNameArr = []
let theArr = []
let thisData = []
let arr = data.data || []
let allTotalAmount = 0
for (let i = 0; i < arr.length; i++) {
thisData = arr[i]
allTotalAmount =
(allTotalAmount * 10000 + thisData.totalAmount * 10000) / 10000
companyNameArr.push(thisData.companyName)
thisData.key = i;
theArr.push(thisData);
}
if (!allTotalAmount) {
allTotalAmount = 0
}
for(let d=0;d {
if (item.value == thisData.dunType) {
thisData.dunType = item.key
}
})
payNodeArr.push({
key: i,
id: thisData.id, //付款节点Id
tid: thisData.tid,
nodeId: thisData.id, //付款节点Id
companyName: thisData.companyName, //供应商名称
projectType: thisData.projectType, //项目分类
dunType: thisData.dunType, //催款分类
unitPrice: thisData.unitPrice, //单价
quantity: thisData.quantity, //数量
totalAmount: thisData.totalAmount, //总价
partyAmount: thisData.partyAmount, //付款
partyTimes: thisData.partyTimes, //付款时间
cid: thisData.cid, //机构id
status: thisData.status, //催款状态 0-未支付 1-待全款 ,2已全款 status=2的时候已经全款,申请付款按钮可以去掉了
})
}
for(let d=0;d
{this.state.resVisible ? (
) : (
""
)}
我的外包项目
{/*
*/}
{this.state.visible ?
项目名称:
{this.state.taskName}
项目编号:
{this.state.id}
{
this.state.splitStatus === 2 ? '('+this.state.splitSuper+'-'+this.state.splitId+')' : ''
}
}
>
{this.state.modKey === "1" ? : }
{this.state.visible && this.state.modKey === '2'?{
this.waiDetail();
this.thirdTable(this.state.tid);
this.payNodeTable(this.state.tid);
this.loadData(this.state.page)
}}
/>:}
{!this.props.isZxs || (this.state.isHuiyuan && this.props.isZxs) ? (
) : (
""
)}
: }
{
this.setState({ status: e.target.value });
}}
>
开启
暂停
{this.state.contractNo}
{getApproval(this.state.approval)}
{getLiquidationStatus(this.state.liquidationStatus)}
{getProcessStatus(this.state.processStatus)}
{this.state.orderNo}
{
this.setState({ formRetrieve: e.target.value });
}}
>
未收回
已收回
其他
{
this.setState({ taskRefund: e.target.value });
}}
>
已完成
未完成
其他
{
{
this.setState({ retrieveContent: e.target.value });
}}
/>
}
{
{
this.setState({ refundContent: e.target.value });
}}
/>
}
订单负责人信息
{this.state.salesmanName + "(" + this.state.depName + ")"}
{this.state.salesmanMobile}
{this.state.financeName}
{this.state.financeMobile}
{/*
*/}
联系信息
{this.state.userName}
{
this.setState({ legalPerson: e.target.value });
}}
ref="commodityQuantity"
/>
{
this.setState({ legalPersonTel: e.target.value });
}}
ref="commodityQuantity"
/>
{
this.setState({ contacts: e.target.value });
}}
ref="commodityQuantity"
/>
{
this.setState({ contactMobile: e.target.value });
}}
ref="commodityQuantity"
/>
{
this.setState({ ProvinceCity: e });
}}
/>
{
this.setState({ postalAddress: e.target.value });
}}
ref="commodityQuantity"
/>
{/*
*/}
项目信息
{this.state.id}
{this.state.taskName}
{this.state.cname}
{
this.setState({ certificateNumber: e.target.value });
}}
ref="commodityQuantity"
/>
{
this.setState({ attachmentUrl: e });
}}
pictureUrl={this.state.attachmentUrl}
visible={this.props.visible}
data={{
sign: "order_task_file",
url: "/api/admin/orderProject/uploadOrderTaskFile",
number: 8,
}}
/>
{
this.setState({ taskComment: e.target.value });
}}
/>
项目申报进度
{}}
value={
this.state.startDate ? moment(this.state.startDate) : null
}
onChange={(data, dataString) => {
this.setState({ startDate: dataString });
}}
/>
{this.state.commodityQuantity}
{this.state.speVisible && this.state.modKey === '2'?{
this.waiDetail();
this.thirdTable(this.state.tid);
this.payNodeTable(this.state.tid);
this.loadData(this.state.page)
}}
/>:}
{!this.props.isZxs || (this.state.isHuiyuan && this.props.isZxs) ? (
) : (
""
)}
{/*
*/}
累计工时(小时):{this.state.recordHour}
);
},
});
export default MyTaskOutsource;