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 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";
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];
theArr.push({
key: i,
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, //分配时间
userName:
thisdata.taskName.substring(0, 5) === "软件著作权"
? thisdata.userName +
"(" +
thisdata.commodityQuantity.toString() +
"/" +
thisdata.alreadyNumber +
")"
: thisdata.userName, //用户名
depName: thisdata.depName, //部门名称
commodityQuantity: thisdata.commodityQuantity, //项目数量
outsourceName: thisdata.outsourceName,
hours: thisdata.hours,
contractNo: thisdata.contractNo,
approval: thisdata.approval, //特批状态
outsourceStatus: thisdata.outsourceStatus, //外包审核状态
splitStatus: thisdata.splitStatus, //是否为子项目 2是 1主项目
splitSuper: thisdata.splitSuper,
splitId: thisdata.splitId,
});
}
}
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)
);
},
getInitialState() {
return {
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: "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,
});
}
this.xiangqing(record.id, record.taskName);
this.xiangqings(record.orderNo);
this.xiangmu(record.orderNo);
this.loaduserss(record);
},
//点击修改项目详情
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, //订单编号
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/exportMyTaskList?" +
$.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 == 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;
},
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),
});
},
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,
});
}
if (!totalCui) {
totalCui = 0;
}
totalCui = (Math.round(totalCui * 10000) / 10000).toFixed(4);
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({
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"
)
: [],
});
}
}.bind(this),
});
},
render() {
const { TabPane } = Tabs;
const formItemLayout = {
labelCol: { span: 8 },
wrapperCol: { span: 14 },
};
let departmentArr = this.state.departmentArr || [];
return (
{this.state.resVisible ? (
) : (
""
)}
我的外包项目
{/*
*/}
{/**/}
{
}
提示:查看备注请点击表格左侧加号按钮~