import React from 'react'; import $ from 'jquery'; import '@/manageCenter/financialManage/distribute/public.less'; import { Button, Form, Input, Select, Upload,Spin, Table, message, Modal} from 'antd'; import Assign from '@/manageCenter/publicComponent/assign'; import './table.less'; import { getProcessStatus, getApproval, getTaskStatus, getLiquidationStatus, splitUrl, getProjectStatus, getboutique, getprovince, ShowModal } from "@/tools"; const FormItem =Form.Item; import ShowModalDiv from "@/showModal.jsx"; 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/selectTaskList", data: { pageNo: pageNo || this.state.page || 1, pageSize: this.state.pagination.pageSize, specially: 1, //经理 name: this.state.nameSearch, //客户名称 orderNo: this.state.orderNoSearch, //订单编号 depId: this.state.departmenttSearch, //订单部门 taskId: this.state.taskNoSearch, //任务编号 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]; 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, //分配时间 commodityQuantity: thisdata.commodityQuantity, //软著数量 alreadyNumber: thisdata.alreadyNumber, //下证数量 userName: thisdata.taskName.substring(0, 5) === "软件著作权" ? thisdata.userName + "(" + thisdata.commodityQuantity.toString() + "/" + thisdata.alreadyNumber + ")" : thisdata.userName, //用户名 depName: thisdata.depName, //部门名称 receiverName: thisdata.receiverName //任务责任人 }); } } 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 { searchMore: true, assignVisible:false, releaseDate: [], roleName:'', testFlag:true, departmentArr: [], boHuivisible:false, 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', className: 'taskName' }, { title: '订单编号', dataIndex: 'orderNo', key: 'orderNo', }, { 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: 'taskDate', key: 'taskDate' }, { title: '任务数量', dataIndex: 'commodityQuantity', key: 'commodityQuantity' }, { title: '任务责任人', dataIndex: 'receiverName', key: 'receiverName' },{ title: '订单部门', dataIndex: 'depName', key: 'depName' } ], dataSource: [], searchTime: [], columnsX: [ { title: '业务项目名称', dataIndex: 'commodityName', key: 'commodityName' }, { title: '项目类别', dataIndex: 'cname', key: 'cname', },{ title: '项目数量', dataIndex: 'commodityQuantity', key: 'commodityQuantity' }, { 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', }, { title: '下证数量', dataIndex: 'alreadyNumber', key: 'alreadyNumber', }, { title: '未下证数量', dataIndex: 'notCount', key: 'notCount', } ], } }, /* 分派 */ evaluate(record,nub){ this.state.assignData=record; this.setState({ nub, assignVisible:true }) }, componentDidMount(){ this.setColor() }, componentWillMount() { this.departmentList(); this.loadData(); }, tableRowClick(record) { this.state.RowData = record; if(record.taskName.substring(0,5) === '软件著作权'){ this.setState({ speVisible: true, id: record.id, dataArr:record, commodityQuantity:record.commodityQuantity }); }else{ this.setState({ visible: true, }); } this.xiangqing(record.id,record.taskName); this.xiangqings(record.orderNo); this.xiangmu(record.orderNo); this.loaduserss(record); }, //订单详情 xiangqing(id) { $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context +"/api/admin/orderProject/orderTaskDetail", data: { id:id }, 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({ id: thisdata.id,//ID orderNo: thisdata.orderNo,//订单编号 userName:thisdata.userName,//客户名称 taskName: thisdata.taskName,//任务名称 cname:thisdata.cname,//项目品类 contractNo:thisdata.contractNo,//合同编号 projectStatus:thisdata.projectStatus,//项目状态 taskStatus:thisdata.taskStatus,//任务状态 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,//密码 depName:thisdata.depName,//订单部门 outsourceName:thisdata.outsourceName,//外包公司名称 outsourcePrice:thisdata.outsourcePrice,//外包价格 }) }; }.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, //订单部门 locationProvince: thisdata.locationProvince, locationCity: thisdata.locationCity, locationArea: thisdata.locationArea, ProvinceCity: ProvinceCityArr, postalAddress: thisdata.postalAddress, //详细地址 outsource: thisdata.outsource }); }; }.bind(this), }).always(function() { this.setState({ loading: false }); }.bind(this)); }, //查看下证信息 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)); }, //项目列表 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,//是否分配 }); }; }; this.setState({ dataSourceX: theArr, }); }.bind(this), }).always(function() { this.setState({ loading: false }); }.bind(this)); }, 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 }) }, //关闭详情 visitCancel(){ this.setState({ visible:false, speVisible:false, }) this.reset(); }, visitOk(){ this.setState({ visible:false }) this.reset(); }, setColor(){ $(".userName span").after("(软著数/下证数)") }, 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 }) }, //点击打卡项目详情 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, }); }, search() { this.loadData(); }, reset() { this.state.nameSearch = ''; this.state.releaseDate = []; this.state.orderNoSearch=''; this.state.taskNoSearch=''; this.state.departmenttSearch=undefined; this.loadData(this.state.page); }, 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)); }, render() { const utils = { getSatisfaction:function(num){ switch(num){ case 0: return '未收回'; case 1: return '已收回'; default: return '其它'; } }, getChargeback:function(num){ switch(num){ case 0: return '已完成'; case 1: return '未完成'; default: return '其它'; } } } const formItemLayout = { labelCol: { span: 8 }, wrapperCol: { span: 14 }, }; let departmentArr = this.state.departmentArr || []; return (