import React from "react"; import $ from "jquery"; import moment from "moment"; import Picture from "@/manageCenter/publicComponent/picture"; import "@/manageCenter/financialManage/distribute/public.less"; import "@/manageCenter/financialManage/distribute/shouKuan.less"; import OrderDetail from "../../order/orderNew/changeComponent/orderDetail"; import ResolutionDetail from "@/resolutionDetail"; import { Button, Form, Input, Select, Spin, Table, message, DatePicker, Modal, Radio, Cascader, Popconfirm, Switch, Tabs, Col, Icon, Upload, AutoComplete, Tag } 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, ShowModal, getRefundStatus } from "@/tools"; import { taskStatus, projectStatus } from "@/dataDic.js"; import ShowModalDiv from "@/showModal.jsx"; const confirm = Modal.confirm; const FormItem = Form.Item; const { TabPane } = Tabs; const { TextArea } = Input; const { Option } = Select; const { MonthPicker, RangePicker } = DatePicker; const PicturesWall = React.createClass({ getInitialState() { return { previewVisible: false, previewImage: "", fileList: [] }; }, handleCancel() { this.setState({ previewVisible: false }); }, handlePreview(file) { this.setState({ previewImage: file.url || file.thumbUrl, previewVisible: true }); }, handleChange(info) { let fileList = info.fileList; this.setState({ fileList }); this.props.fileList(fileList); }, componentWillReceiveProps(nextProps) { this.state.fileList = nextProps.pictureUrl; this.state.pojectApplicationUrl = undefined; }, render() { const { previewVisible, previewImage, fileList } = this.state; const uploadButton = (
点击上传
); return (
{fileList && fileList.length >= 10 ? null : uploadButton} example
); } }); const Task = 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 || 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, //项目受理人 approval: this.state.approvalSearch, //特批状态搜索 outsourceStatus: this.state.outsourceStatusSearch >= 999 ? undefined : this.state.outsourceStatusSearch, //外包状态搜索 }, 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, //项目数量 hours: thisdata.hours, contractNo: thisdata.contractNo, approval: thisdata.approval, //特批状态 outsourceStatus: thisdata.outsourceStatus, //外包审核状态 splitStatus: thisdata.splitStatus, //是否为子项目 2是 1主项目 splitSuper: thisdata.splitSuper, splitId: thisdata.splitId, }); } } 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) ); }, getInitialState() { return { thirdCompanyName: "", thirdUnitPrice: "", thirdQuantity: 1, thirdRemarks: "", customerArr: [], currentTotalPrice: 0, //当前修改页面的总价 saveThirdList: [], orderData: [], orderNo: "", jiedian: [], jiedianNew: [], timeVisible: false, ThirdListVisible: false, searchMore: true, assignVisible: false, releaseDate: [], // 判断是否是退回给咨询师经理 flag: false, roleName: "", activeKey: "1", //特批状态搜索 approvalSearch: undefined, testFlag: true, boHuivisible: false, selectedRowKeys: [], avisible: false, departmentArr: [], selectedRows: [], attachmentUrl: [], contactList: [], 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 + "条数据"; }, }, // 子组件改变的表格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: "taskStatus", key: "taskStatus", render: (text) => { return getTaskStatus(text); }, }, { title: "项目状态", dataIndex: "projectStatus", key: "projectStatus", render: (text) => { return getProjectStatus(text); }, }, { title: "外包审核", dataIndex: "outsourceStatus", key: "outsourceStatus", render: (text) => { if (text == 0) { return 待审核; } else if (text == 1) { return 审核通过; } else if (text == 2) { return 审核驳回; } else { return "非外包"; } }, }, { 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: [], 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 ? ( "" ) : ( )}
); }, }, ], // 专利 ContactsListsNew: [ { title: "供应商名称", dataIndex: "companyName", key: "companyName", render: (text, record, index) => { if (text) { return {text}; } }, }, { title: "单价(万元)", dataIndex: "unitPrice", key: "unitPrice", render: (text, record) => { if (text) { return {text}; } }, }, { title: "数量", dataIndex: "quantity", key: "quantity", render: (text, record) => { if (text) { return {text}; } }, }, { title: "总价", dataIndex: "totalAmount", key: "totalAmount", render: (text, record) => { if (text) { return {text}; } }, }, { title: "备注", dataIndex: "remarks", key: "remarks", }, { title: "操作", dataIndex: "dels", key: "dels", render: (text, record, index) => { return (
{ this.confirmDeletNew(record); }} okText="删除" cancelText="不删除" >
); }, }, ], }; }, /* 分派 */ evaluate(record, nub, flag) { this.setState( { nub: 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); // 获取第三方信息表格 this.thirdTable(record.id); }, //点击修改项目详情 tijiaoOk() { 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, //营销员电话 financeName: thisdata.financeName, //财务名称 financeMobile: thisdata.financeMobile, //财务电话 oldSalesmanName: thisdata.oldSalesmanName, //营销员名称 oldSalesmanMobile: thisdata.oldSalesmanMobile, //营销员电话 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, officialCost: thisdata.officialCost, costReduction: thisdata.costReduction, type: thisdata.type, cSort: thisdata.cSort, }); } } this.setState({ dataSourceX: theArr, type: theArr[0].type, cSort: theArr[0].cSort, }); }.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, activeKey: "1", }); 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, tid: record.id, }); } }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, // 拆分详细 showRes(record) { this.setState({ resVisible: true, resRecord: record, }); }, resCancel() { this.setState({ resVisible: false, }); }, //下证信息保存 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) ); }, //关闭操作工时 visitCancelA() { this.setState({ visibleA: false, }); }, 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, }); } 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(flag) { if (flag) { this.state.nameSearch = ""; this.state.orderNoSearch = ""; this.state.contractNoSearch = undefined; this.state.taskNoSearch = ""; this.state.departmenttSearch = undefined; this.state.projectStatusSearch = undefined; //项目状态 this.state.approvalSearch = undefined; this.state.outsourceStatusSearch = []; } this.state.id = ""; //项目编号 this.state.orderNo = ""; //订单编号 this.state.projectStatus = 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.releaseDate = []; this.state.outsourceName = ""; this.state.outsourcePrice = undefined; this.state.distribution = undefined; this.loadData(this.state.page); this.state.companyName = undefined; this.state.unitPrice = undefined; this.state.unitNumber = undefined; this.state.amount = undefined; this.state.outsourceRemarks = undefined; this.state.pictureUrl = []; }, 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) ); }, 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) ); }, showDeleteConfirm(num, fn) { let text = getProjectStatus(num); confirm({ title:

注意

, content: (

当前的项目状态为{text},保存后将触发对应的催款节点!!!您确定保存?

), okText: "确定", okType: "danger", cancelText: "取消", onOk() { fn(); }, onCancel() {}, }); }, // 项目发起外包 sureOut() { if (!this.state.startType) { message.warning("请选择类型"); return; } if (this.state.type == 1) {//专利 if (!this.state.patentType) { message.warning("请选择专利类型"); return; } if (!this.state.patentNameType) { message.warning("请选择专利类型名称"); return; } if (this.state.patentNameType==3) { if (!this.state.patentName) { message.warning("请填写专利名称"); return; } } } if (!this.state.outsourceRemarks) { message.warning("备注不能为空"); return; } if (this.state.pictureUrl.length === 0) { message.warning("合同扫描件不能为空"); return; } this.setState({ loading: true, }); $.ajax({ method: "POST", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/outsourceOrg/outsourceProjectAudit", data: { tid: this.state.id, orderNo: this.state.orderNo, type: 1, companyName: this.state.companyName, amount: this.state.amount, pictureUrl: this.getUrl(this.state.pictureUrl).length ? this.getUrl(this.state.pictureUrl) : "", outsourceRemarks: this.state.outsourceRemarks, unitNumber: this.state.unitNumber, unitPrice: this.state.unitPrice, id: this.state.refundStatus == 2 ? this.state.mid : undefined, }, }).done( function (data) { this.setState({ loading: false, }); if (!data.error.length) { message.success("提交成功!"); this.visitCancel(); } else { message.warning(data.error[0].message); } }.bind(this) ); }, callback(e) { this.setState({ activeKey: e, }); if (e == 3) { this.orderDetailData(this.state.orderNo); this.xiangmu(this.state.orderNo); this.jiedian(this.state.orderNo); this.jiedianNew(this.state.orderNo); } }, getOrgCodeUrlWai(e) { this.setState({ pictureUrl: e }); }, getUrl(url) { let theorgCodeUrl = []; if (url.length) { let picArr = []; url.map(function (item) { if (item.response && item.response.data && item.response.data.length) { picArr.push(item.response.data); } }); theorgCodeUrl = picArr.join(","); } return theorgCodeUrl; }, 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) { 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) ); }, 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 == 3) { this.orderDetailData(this.state.orderNo); this.xiangmu(this.state.orderNo); this.jiedian(this.state.orderNo); this.jiedianNew(this.state.orderNo); } if (key == 2) { this.waiDetail(); } }, //节点列表 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 * 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), }); }, //点击新增供应商 addcontactNew() { this.state.contactListNew.push({ key: this.state.contactListNew.length, money: "", dunSubject: undefined, orderNo: this.state.orderNo, dunTarget: this.state.kehuId, }); this.setState({ contactListNew: this.state.contactListNew, cuiFlag: true, }); }, //查看第三方信息表格 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 theArr = []; let thisData = []; let arr = data.data || []; let allTotalAmount = 0; for (let i = 0; i < arr.length; i++) { thisData = arr[i]; allTotalAmount += +thisData.totalAmount; theArr.push({ key: i, id: thisData.id, //节点Id tid: thisData.tid, companyName: thisData.companyName, //供应商名称 unitPrice: thisData.unitPrice, //单价 quantity: thisData.quantity, //数量 totalAmount: thisData.totalAmount, //总价 material: thisData.material, //材料 0无 1有 urgent: thisData.urgent, // 0无加急(系统默认)1加急3天 2加急4天 3加急5-10天 4加急11-15天 5加急16-20天 6加急21-25天 7加急26-30天 audit: thisData.audit, //0无审计 1年审 2专审 assets: thisData.assets, //资产 income: thisData.income, //收入 remarks: thisData.remarks, //备注 cid: thisData.cid, //机构id }); } if (!allTotalAmount) { allTotalAmount = 0; } console.log(theArr); this.setState({ tid: id, thirdInfoList: theArr, allTotalAmount: allTotalAmount, }); } }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, // 新增第三方供应商信息 addThirdList() { this.setState({ ThirdListVisible: true, }); }, // 自动计算总金额 calculatedAmount() { let currentTotalPrice; currentTotalPrice = this.state.thirdUnitPrice * this.state.thirdQuantity; currentTotalPrice = currentTotalPrice.toFixed(4); this.setState({ currentTotalPrice: currentTotalPrice, }); }, //服务值改变时请求供应商名称 httpChange(e) { if (e.length >= 1) { this.supervisor(e); } this.setState({ thirdCompanyName: e, }); }, //加载(自动补全) supervisor(e) { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/company/selectVague", data: { name: e }, success: function (data) { let thedata = data.data; if (!thedata) { if (data.error && data.error.length) { message.warning(data.error[0].message); } thedata = {}; } this.setState({ customerArr: thedata, }); }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, // 保存供应商信息 handleCancelq() { let api if(this.state.ThirdId){//修改 api='/api/admin/company/updateCompany' }else{//新增 api='/api/admin/company/addCompany' } this.setState({ loading: true, }); $.ajax({ url: globalConfig.context + api, method: "post", dataType: "json", crossDomain: false, data: { id:this.state.ThirdId,//id tid: this.state.tid, //订单编号 companyName: this.state.thirdCompanyName, //第三方名称 unitPrice: this.state.thirdUnitPrice, //单价 quantity: this.state.thirdQuantity, //数量 totalAmount: this.state.currentTotalPrice, //总价 remarks: this.state.thirdRemarks, }, }).done( function (data) { this.setState({ loading: false, }); if (!data.error.length) { message.success("保存成功!"); this.setState({ ThirdId:"", ThirdListVisible: false, thirdCompanyName: "", //第三方名称 thirdUnitPrice: "", //单价 thirdQuantity: "", //数量 currentTotalPrice: "", //总价 thirdRemarks: "", }); // this.visitCancel(); this.thirdTable(this.state.tid); } else { message.warning(data.error[0].message); } }.bind(this) ); }, // 取消 handleCancelclose() { this.setState({ ThirdListVisible: false, thirdCompanyName: "", //第三方名称 thirdUnitPrice: "", //单价 thirdQuantity: 1, //数量 currentTotalPrice: "", //总价 thirdRemarks: "", ThirdId:"", }); }, // 删除供应商信息 confirmDeletNew(index) { this.setState({ loading: true, ThirdListVisible: false, }); $.ajax({ url: globalConfig.context + "/api/admin/company/deleteCompany", method: "post", data: { id: index.id, }, }).done( function (data) { this.setState({ loading: false, }); if (!data.error.length) { message.success("删除成功!"); this.thirdTable(this.state.tid); } else { message.warning(data.error[0].message); } }.bind(this) ); }, //点击供应商详情 tableRowClickOne(record) { this.setState({ ThirdListVisible: true, ThirdId:record.id,//供应商id thirdCompanyName: record.companyName, //第三方名称 thirdUnitPrice: record.unitPrice, //单价 thirdQuantity: record.quantity, //数量 currentTotalPrice:record.totalAmount, //总价 thirdRemarks: record.remarks, }); }, render() { const dataSources = this.state.customerArr || []; console.log(dataSources); const options = dataSources.map((group) => ( {group.companyName} )); const formItemLayout = { labelCol: { span: 8 }, wrapperCol: { span: 14 }, }; let departmentArr = this.state.departmentArr || []; return (
{this.state.resVisible ? ( ) : ( "" )}
项目任务
{ this.setState({ nameSearch: e.target.value }); }} /> { this.setState({ orderNoSearch: e.target.value }); }} /> { this.setState({ contractNoSearch: e.target.value }); }} /> { this.setState({ taskNoSearch: e.target.value }); }} /> {/* 更多搜索
订单时间 : { this.setState({ releaseDate: dataString }); }} />
*/}
{/* */}
{/*
{ this.setState({ nameSearch: e.target.value }); }} /> { this.setState({ orderNoSearch: e.target.value }); }} /> { this.setState({ taskNoSearch: e.target.value }); }} /> 更多搜索
订单时间 : { this.setState({ releaseDate: dataString }); }} />
*/}
{ this.callback(e); if (e == 2) { this.waiDetail(); } }} >
{ 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.nowFinance} {this.state.nowFinanceMobile} {this.state.oldSalesmanName} {this.state.oldSalesmanMobile} {this.state.financeName} {this.state.financeMobile} {this.state.orderRemarks}

外包信息

{ this.setState({ outsourceName: e.target.value, }); }} placeholder="请输入外包公司" style={{ width: "200px" }} /> { this.setState({ outsourcePrice: e.target.value, }); }} placeholder="请输入外包成本" style={{ width: "200px" }} />
{/*
*/}

联系信息

{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.splitStatus == 2 ? this.state.splitSuper + "-" + this.state.splitId : this.state.id} {this.state.taskName} {this.state.cname} { this.setState({ certificateNumber: e.target.value, }); }} ref="commodityQuantity" />

申报系统账户信息

{/*注:仅技术部可见*/} { this.setState({ declareUser: e.target.value }); }} /> { this.setState({ declarePwd: e.target.value }); }} />

项目申报进度

{}} value={ this.state.startDate ? moment(this.state.startDate) : null } onChange={(data, dataString) => { this.setState({ startDate: dataString }); }} /> {}} value={ this.state.endDate ? moment(this.state.endDate) : null } onChange={(data, dataString) => { this.setState({ endDate: dataString }); }} /> {}} value={ this.state.acceptDate ? moment(this.state.acceptDate) : null } onChange={(data, dataString) => { this.setState({ acceptDate: dataString }); }} /> {}} value={ this.state.reviewDate ? moment(this.state.reviewDate) : null } onChange={(data, dataString) => { this.setState({ reviewDate: dataString }); }} /> {}} value={ this.state.publicityDate ? moment(this.state.publicityDate) : null } onChange={(data, dataString) => { this.setState({ publicityDate: dataString }); }} /> {}} value={ this.state.licenceDate ? moment(this.state.licenceDate) : null } onChange={(data, dataString) => { this.setState({ licenceDate: dataString }); }} /> { this.setState({ setUpAmount: e.target.value }); }} ref="commodityQuantity" /> { this.setState({ arrivalMoney: e.target.value }); }} > 未到企业 已到企业
{ 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 }); }} />

项目业务

{this.state.processStatus == 0 ? ( ) : ( "" )}
{this.state.refundStatus != 0 && this.state.refundStatus != 1 ? (
* 类型: } > { this.setState({ startType: e.target.value }); }} > 外包(不走总部) 供应商信息
{/* 专利类型 */}
* 专利类型: } > { this.setState({ patentType: e.target.value }); }} > 专利申请/变更/转让 专利买卖
* 专利名称: } > { this.setState({ patentNameType: e.target.value }); }} > 实用新型专利 发明专利 外观专利 其他 { this.setState({ patentName: e.target.value, }); }} placeholder="请填写专利名称" />
{/* 第三方信息专利 */}
第三方信息 金额总计(万元): {this.state.allTotalAmount}
*备注 } >