import React from "react"; import $ from "jquery/src/ajax"; import "@/manageCenter/financialManage/distribute/public.less"; import { Button, Form, Input, Select, Spin, Table, message, Modal, Tabs, Tag, Tooltip } from "antd"; import Assign from "@/manageCenter/publicComponent/assign"; import ResolutionDetail from "@/resolutionDetail" import OrderDetail from "../../order/orderNew/changeComponent/orderDetail"; import OrderRiZi from "@/orderRiZi.jsx"; import { getProcessStatus, getLiquidationStatus, getApprovedState, splitUrl, getProjectName, getboutique, ShowModal } from "@/tools"; import ShowModalDiv from "@/showModal.jsx"; import ResolutionPro from "./resolutionPro" import { ChooseList } from "../../order/orderNew/chooseList"; import ProjectDetailsReadOnly from "../../../common/projectDetailsReadOnly"; import NewEditProject from "../../../common/projectOperation/newEditProject"; import OrderItemStatus from "../../../common/orderItemStatus"; import EnterpriseNameChange from "../../../common/enterpriseNameChange"; import Cascaders from "../../../common/cascaders"; const FormItem = Form.Item; const { TabPane } = Tabs const Task = React.createClass({ loadData(pageNo) { this.state.data = []; this.setState({ loading: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/orderProject/orderTaskList", data: { pageNo: pageNo || 1, pageSize: this.state.pagination.pageSize, specially: 1, //经理 name: this.state.nameSearch, //客户名称 orderNo: this.state.orderNoSearch, //订单编号 taskId: this.state.taskNoSearch, //任务编号 deps: this.state.departmenttSearch, //订单部门 taskStatus: this.state.taskStatus, //任务状态 adminName: this.state.adminName, //任务受理人 }, success: function (data) { ShowModal(this); let theArr = []; if (!data.data || !data.data.list) { if (data.error && data.error.length) { message.warning(data.error[0].message); } } else { for (let i = 0; i < data.data.list.length; i++) { let thisdata = data.data.list[i]; if (thisdata.splitList) { thisdata.splitList.forEach((item) => { item.key = item.id; }); } theArr.push({ key: thisdata.id, orderNo: thisdata.orderNo, //订单编号 id: thisdata.id, //任务ID taskName: thisdata.taskName, //名称 cname: thisdata.cname, //项目品类 receiverName: thisdata.receiverName, //受理人 projectStatus: thisdata.projectStatus, //项目状态 taskStatus: thisdata.taskStatus, //任务状态 taskDate: thisdata.taskDate, //分配时间 commodityQuantity: thisdata.commodityQuantity, //数量 userName: thisdata.userName, //用户名 depName: thisdata.depName, //部门名称 splitStatus: thisdata.splitStatus, //拆分状态 splitList: thisdata.splitList, patentTypeName: thisdata.patentTypeName, }); } } this.state.pagination.current = data.data.pageNo; this.state.pagination.total = data.data.totalCount; if (data.data && data.data.list && !data.data.list.length) { this.state.pagination.current = 0; this.state.pagination.total = 0; } this.setState({ dataSource: theArr, page: data.data.pageNo, pagination: this.state.pagination, }); }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, getInitialState() { return { orderData: [], orderNo: "", jiedian: [], jiedianNew: [], declarationBatch: 1, dataInfor: {}, activeKey: "1", searchMore: true, assignVisible: false, releaseDate: [], roleName: "", boHuivisible: false, departmentArr: [], selectedRowKeys: [], selectedRows: [], paginations: false, loading: false, pagination: { defaultCurrent: 1, defaultPageSize: 10, showQuickJumper: true, pageSize: 10, onChange: function (page) { this.loadData(page); }.bind(this), showTotal: function (total) { return "共" + total + "条数据"; }, }, columns: [ { title: "编号", dataIndex: "id", key: "id", }, { title: "项目名称", dataIndex: "taskName", key: "taskName", render: (text, record) => { return {text}{record.patentTypeName} } }, { title: "订单编号", dataIndex: "orderNo", key: "orderNo", }, { title: "业务类别", dataIndex: "cname", key: "cname", }, { title: "客户名称", dataIndex: "userName", key: "userName", render: text => { return (
{text}
) } }, { title: "项目状态", dataIndex: "projectStatus", key: "projectStatus", render: (text) => { return getProjectName(text); }, }, { title: "分配时间", dataIndex: "taskDate", key: "taskDate", }, { title: "任务数量", dataIndex: "commodityQuantity", key: "commodityQuantity", render: (text, record) => { if (record.splitStatus == 1) { return ( {text}{" "} 已拆 ); } else { return text; } }, }, { title: "订单部门", dataIndex: "depName", key: "depName", }, { title: "操作", dataIndex: "caozuo", key: "caouzo", render: (text, record) => { return (
{record.splitStatus == 0 ? ( ) : ( "" )}
); }, }, ], dataSource: [], resolutionVisible: false, searchTime: [], columnsX: [ { title: "业务项目名称", dataIndex: "commodityName", key: "commodityName", render: (text, record) => { return ( {text}{record.patentTypeName} ) } }, { 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: "yearSum", key: "yearSum", render: (text, record) => { return (
{["", "一年", "二年", "三年", "四年", "五年"][text]}
); } }, { title: "年限", dataIndex: "serviceLife", key: "serviceLife", render: (text, record) => { return (
{!!text && JSON.parse(text).toString()}
); } }, { title: "本次派单", dataIndex: "serviceYear", key: "serviceYear", render: (text, record) => { return (
{!text ? "" : text}
); } }, { title: "项目说明", dataIndex: "taskComment", key: "taskComment", render: (text) => { return (
{text}
) }, }, ], dataSourceX: [], resVisible: false, }; }, /* 分派 */ evaluate(record, nub) { this.state.assignData = record; this.setState( { nub, }, () => { this.setState({ assignVisible: true, }); } ); }, componentWillMount() { // this.departmentList(); this.loadData(); }, tableRowClick(record) { this.state.RowData = record; this.setState({ visible: true, }); this.xiangqing(record.orderNo); this.xiangmu(record.orderNo); }, // 拆分详细 showRes(record) { this.setState({ resVisible: true, resRecord: record, }); }, resCancel() { this.setState({ resVisible: false, }); }, //订单详情 xiangqing(orderNos) { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/getOrderNewDetail", data: { orderNo: orderNos, }, success: function (data) { if (data.error.length || data.data.list == "") { if (data.error && data.error.length) { message.warning(data.error[0].message); } } else { let thisdata = data.data; this.setState({ orderUid: thisdata.uid, orderNo: thisdata.orderNo, //订单编号 contractNo: thisdata.contractNo, //合同编号 userName: thisdata.userName, //客户名称 signDate: thisdata.signDate, //签单时间 examineName: thisdata.examineName, processStatus: thisdata.processStatus, //流程状态 liquidationStatus: thisdata.liquidationStatus, //结算状态 contacts: thisdata.contacts, //企业联系人 contactMobile: thisdata.contactMobile, //联系人电话 legalPerson: thisdata.legalPerson, //法人 legalPersonTel: thisdata.legalPersonTel, //法人电话 firstAmount: thisdata.firstAmount, //签单金额 totalAmount: thisdata.totalAmount, //首付金额 approval: thisdata.approval, //特批状态 settlementAmount: thisdata.settlementAmount, //已收款项 orderRemarks: thisdata.orderRemarks, //订单留言 orgCodeUrl: thisdata.contractPictureUrl ? splitUrl( thisdata.contractPictureUrl, ",", globalConfig.avatarHost + "/upload" ) : [], //图片地址 salesmanName: thisdata.salesmanName, //营销员名称 salesmanMobile: thisdata.salesmanMobile, //营销员电话 financeName: thisdata.financeName, //财务名称 financeMobile: thisdata.financeMobile, //财务电话 oldSalesmanName: thisdata.oldSalesmanName, //营销员名称 oldSalesmanMobile: thisdata.oldSalesmanMobile, //营销员电话 nowFinance: thisdata.nowFinance, //财务名称 nowFinanceMobile: thisdata.nowFinanceMobile, //财务电话 depName: thisdata.depName, //订单部门 deleteSign: thisdata.deleteSign, }); } }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, //项目列表 xiangmu(orderNos) { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/getOrderTask", data: { orderNo: orderNos, }, success: function (data) { let theArr = []; if (data.error.length || data.data.list == "") { if (data.error && data.error.length) { message.warning(data.error[0].message); } } else { for (let i = 0; i < data.data.length; i++) { let thisdata = data.data[i]; thisdata.key = i; theArr.push(thisdata); } } this.setState({ dataSourceX: theArr, }); }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, //关闭详情 visitCancel() { this.setState({ visible: false, activeKey: "1", }); this.loadData(this.state.page); }, visitOk() { this.setState({ visible: false, }); this.loadData(this.state.page); }, closeDesc(e, s) { this.state.showDesc = e; if (s) { this.loadData(this.state.page); } }, closeAssign(e, s) { this.state.roleName = ""; this.state.assignVisible = e; if (s) { this.loadData(this.state.page); } }, nextCancel() { this.setState({ addnextVisible: false, displayFees: "none", officialCost: "", //是否有官费 costReduction: "", //是否有费减 }); }, //点击打卡项目详情 tableRowClickX(record) { if (record.type == "1") { this.setState({ displayFees: "block", costReduction: record.costReduction, officialCost: record.officialCost, }); } else { this.setState({ displayFees: "none", }); } this.setState({ jid: record.id, //项目ID kid: record.commodityId, //商品ID commodityName: record.commodityName, //金额 commodityPrice: record.commodityPrice, //金额 commodityQuantity: record.commodityQuantity, //数量 taskComment: record.taskComment, //备注 main: record.main.toString(), //是否为主要 addnextVisible: true, dataInfor: record, addState: 0, }); }, search() { this.loadData(); }, reset() { this.state.nameSearch = ""; this.state.releaseDate = []; this.state.orderNoSearch = ""; this.state.taskNoSearch = ""; this.state.departmenttSearch = undefined; this.state.distribution = undefined; this.Cascaders.empty(); this.loadData(); }, searchSwitch() { this.setState({ searchMore: !this.state.searchMore, }); }, //部门 departmentList() { this.setState({ loading: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/organization/selectSuperId", data: {}, success: function (data) { let thedata = data.data; let theArr = []; if (!thedata) { if (data.error && data.error.length) { message.warning(data.error[0].message); } thedata = {}; } else { thedata.map(function (item, index) { theArr.push({ key: index, name: item.name, id: item.id, }); }); } this.setState({ departmentArr: theArr, }); }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, resolutionCancel() { this.setState({ resolutionVisible: false, }); }, rizhi() { this.setState({ loading: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: "/api/admin/newOrder/selectOrderLog", data: { orderNo: this.state.orderNo, }, success: function (data) { let theArr = []; let thisData = data.data; if (!thisData.length) { if (data.error && data.error.length) { message.warning(data.error[0].message); } thisData = {}; } else { for (let i = 0; i < data.data.length; i++) { let thisdata = data.data[i]; theArr.push({ processName: thisdata.processName, adminName: thisdata.adminName, createDate: thisdata.createDate, remarks: thisdata.remarks, }); } } this.setState({ dataSourceY: theArr, }); }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, closeOrderLog() { this.setState({ avisible: false, }); }, getOrderLog() { this.setState({ avisible: true, }); this.rizhi(); }, orderChange(key) { this.setState({ activeKey: key, }); if (key == 2) { this.orderDetailData(this.state.orderNo); this.xiangmu(this.state.orderNo); this.jiedian(this.state.orderNo); this.jiedianNew(this.state.orderNo); } }, //节点列表 jiedian(orderNos) { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/selectOrderDun", data: { orderNo: orderNos, }, success: function (data) { let theArr = []; let thisData = []; if (data.error.length || data.data.list == "") { if (data.error && data.error.length) { message.warning(data.error[0].message); } } else { for (let i = 0; i < data.data.length; i++) { thisData = data.data[i]; theArr.push({ key: i, dunSubject: thisData.dunSubject ? thisData.dunSubject.toString() : "", //催款科目 id: thisData.id, //节点Id money: thisData.money, //催款金额 dunStatus: thisData.dunStatus, //催款状态 }); } this.setState({ jiedian: theArr, }); } }.bind(this), }); }, jiedianNew(orderNos) { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrderDun/selectListNewOrderDun", data: { orderNo: orderNos, }, success: function (data) { if (data.error && data.error.length) { message.warning(data.error[0].message); } else { let theArr = []; let thisData = []; let arr = data.data || []; let totalCui = 0; for (let i = 0; i < arr.length; i++) { thisData = arr[i]; totalCui += +thisData.money; theArr.push({ key: i, dunSubject: thisData.dunSubject ? thisData.dunSubject.toString() : "", //催款科目 id: thisData.id, //节点Id money: thisData.money, //催款金额 // orderNo: record ? record.orderNo : this.props.datauser.orderNo, commodityName: thisData.commodityName, projectType: thisData.projectType, dunTypeName: thisData.dunTypeName, status: thisData.status, waitDay: thisData.waitDay, effectiveCount: thisData.effectiveCount, startDate: thisData.startDate, dunType: thisData.dunType, appropriationRatio: thisData.appropriationRatio, customizeName: thisData.customizeName, customizeTimes: thisData.customizeTimes, }); } if (!totalCui) { totalCui = 0; } totalCui = (Math.round(totalCui * 1000000) / 1000000).toFixed(6); this.setState({ jiedianNew: theArr, totalCui, }); } }.bind(this), }).always( function () { this.setState({ loading: false, }); }.bind(this) ); }, orderDetailData(orderNos) { this.setState({ loading: true, }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context + "/api/admin/newOrder/getOrderNewDetail", data: { orderNo: orderNos, }, success: function (data) { if (data.error.length || data.data.list == "") { if (data.error && data.error.length) { message.warning(data.error[0].message); this.setState({ loading: false, }); } } else { let thisdata = data.data; this.setState({ orderUid: thisdata.uid, loading: false, userName: thisdata.userName, primaryOrderNo: thisdata.primaryOrder, additionalOrder: thisdata.additionalOrder, contractNo: thisdata.contractNo, orderData: thisdata, isAddition: thisdata.additionalOrder ? true : false, contractPictureUrl: thisdata.contractPictureUrl ? splitUrl( thisdata.contractPictureUrl, ",", globalConfig.avatarHost + "/upload" ) : [], deleteSign: thisdata.deleteSign, }); } }.bind(this), }); }, changeList(arr) { const newArr = []; this.state.columns.forEach(item => { arr.forEach(val => { if (val === item.title) { newArr.push(item); } }); }); this.setState({ changeList: newArr }); }, // 可展开颜色不同 addRowColor(record) { if (!!record.splitList && record.splitList.length > 0) { return 'light' } else { return 'dark' } }, render() { const expandedRowRender = (e) => { const data = e.splitList; let columns = []; if (e.splitList instanceof Array && e.splitList.length) { columns = [ { title: "编号", dataIndex: "splitSuper", key: "splitSuper", render: (text, record) => { return text + "-" + record.splitId; }, }, { title: "项目名称", dataIndex: "taskName", key: "taskName", render: (text, record) => { return {text}{record.patentTypeName} } }, { title: "订单编号", dataIndex: "orderNo", key: "orderNo", }, { title: "业务类别", dataIndex: "cname", key: "cname", }, { title: "客户名称", dataIndex: "userName", key: "userName", render: text => { return (
{text}
) } }, { title: "项目状态", dataIndex: "projectStatus", key: "projectStatus", render: (text) => { return getProjectName(text); }, }, { title: "分配时间", dataIndex: "taskDate", key: "taskDate", }, { title: "任务数量", dataIndex: "commodityQuantity", key: "commodityQuantity", }, { title: "订单部门", dataIndex: "depName", key: "depName", }, { title: "拆分操作人", dataIndex: "splitAname", key: "splitAname", }, { title: "项目负责人", dataIndex: "receiverName", key: "receiverName", }, { title: "拆分时间", dataIndex: "splitTimes", key: "splitTimes", }, { title: "操作", dataIndex: "caozuo", key: "caouzo", render: (text, record) => { return (
); }, }, ]; return ( ); } else { columns = []; return (

此项目暂未拆分

); } }; const expandedRowRenderVip = (e) => { const data = e.splitList; let columns = []; if (data instanceof Array && data.length) { if (e.cSort == 6) { columns = [ { title: "负责人", dataIndex: "receiverName", key: "receiverName", }, { title: "负责人电话", dataIndex: "receiverMobile", key: "receiverMobile", }, { title: "项目状态", dataIndex: "projectStatus", key: "projectStatus", render: (text) => { return getProjectName(text); }, }, { title: "本次派单", dataIndex: "serviceYear", key: "serviceYear", }, { title: "项目说明", dataIndex: "taskComment", key: "taskComment", render: (text) => { return (
{text}
) }, }, ]; } else { columns = [ { title: "子项目名称", dataIndex: "taskName", key: "taskName" }, { title: "子项目数量", dataIndex: "commodityQuantity", key: "commodityQuantity" }, { title: "拆分操作人", dataIndex: "splitAname", key: "splitAname" }, { title: "项目负责人", dataIndex: "receiverName", key: "receiverName" }, { title: "拆分时间", dataIndex: "splitTimes", key: "splitTimes" } ] } return (
); } else { columns = []; return (

{e.cSort == 6 ? "暂无派单" : "此项目暂未拆分"}

); } }; const rowSelection = { selectedRowKeys: this.state.selectedRowKeys, onChange: (selectedRowKeys, selectedRows) => { this.setState({ selectedRows: selectedRows.slice(-1), selectedRowKeys: selectedRowKeys.slice(-1), }); }, }; const formItemLayout = { labelCol: { span: 8 }, wrapperCol: { span: 14 }, }; let departmentArr = this.state.departmentArr || []; return (
{this.state.resVisible ? ( ) : ( "" )} { this.setState({ showModal: false }) }} />
任务派单
{ this.setState({ orderNoSearch: e.target.value }); }} /> { this.setState({ nameSearch: e.target.value }); }} /> { this.setState({ taskNoSearch: e.target.value }); }} /> this.Cascaders = ref} placeholder="选择部门" height={28} onSel={(e) => { this.setState({ departmenttSearch: JSON.stringify(e) }) }} /> {/* */} {/* 更多搜索
订单时间 : { this.setState({ releaseDate: dataString }); }} />
*/}
}>
{this.state.orderNo} {this.state.contractNo} {this.state.userName} {this.state.signDate} {getProcessStatus(this.state.processStatus, this.state.examineName, this.state.approval)} {getLiquidationStatus(this.state.liquidationStatus)} {this.state.contacts} {this.state.contactMobile} {this.state.legalPerson} {this.state.legalPersonTel} {this.state.totalAmount} {this.state.firstAmount} {getApprovedState(this.state.approval)} {this.state.settlementAmount}

{this.state.orderRemarks}

{this.state.salesmanName} {this.state.salesmanMobile} {this.state.depName}
{this.state.nowFinance} {this.state.nowFinanceMobile}
{this.state.oldSalesmanName} {this.state.oldSalesmanMobile}
{this.state.financeName} {this.state.financeMobile}
{this.state.orderRemarks}
项目业务 {this.state.processStatus == 0 ? ( ) : ( "" )}
{ this.state.activeKey == 2 && } {/* {this.state.addnextVisible && } */} { // 项目业务详情 this.state.addnextVisible && } ); }, }); export default Task;