import React from 'react'; import { Button, Input, Spin, Table, message,DatePicker, Upload, Form ,Modal} from 'antd'; import $ from 'jquery/src/ajax'; import moment from 'moment'; import { getLiquidationStatus, getProcessStatus, splitUrl, getboutique, getTaskStatus, getApproval, getprovince, getProjectStatus } from "@/tools.js"; const MyTaskCount = Form.create()(React.createClass({ loadData(pageNo) { this.setState({ visitModul:false, loading: true, ispage:pageNo, modalVisible:false }); $.ajax({ method: "get", dataType: "json", crossDomain: false, url: globalConfig.context +"/api/admin/orderProject/taskHoursList", data: { pageNo: pageNo || 1, pageSize: this.state.pagination.pageSize, name: this.state.customerName,//名称 taskId: this.state.idSearch,//订单编号 orderNo: this.state.orderNoSearch, starTime: this.state.releaseDate[0],//开始时间 endTime: this.state.releaseDate[1],//结束时间 type: 1, }, 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.list.length; i++) { let thisdata = data.data.list[i]; theArr.push({ key: i, id:thisdata.id,//ID orderNo: thisdata.orderNo,//订单编号 taskName:thisdata.taskName,//任务名称 userName:thisdata.userName,//客户名称 cname:thisdata.cname,//项目品类 taskStatus:thisdata.taskStatus,//任务状态 receiverName:thisdata.receiverName,//负责人 hours:thisdata.hours,//任务工时 depName:thisdata.depName,//派单公司 contractNo:thisdata.contractNo, signTime:thisdata.signTime, creteTime:thisdata.creteTime, projectStatus: thisdata.projectStatus }); }; this.state.pagination.total = data.data.totalCount; }; if(data.data&&data.data.list&&!data.data.list.length){ this.state.pagination.total=0 } this.setState({ dataSource: theArr, pageNo: pageNo, pagination: this.state.pagination, selectedRowKeys:[] }); }.bind(this), }).always(function() { this.setState({ loading: false }); }.bind(this)); }, getInitialState() { return { page: 1, releaseDate: [], selectedRowKeys: [], orgCodeUrl: [], paginations: 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" }, { title: "订单编号", dataIndex: "orderNo", key: "orderNo" }, { title: "业务类别", dataIndex: "cname", key: "cname" }, { title: "客户名称", dataIndex: "userName", key: "userName", render: text => { return text && text.length > 9 ? text.substr(0, 9) + "..." : text; } }, { title: "任务负责人", dataIndex: "receiverName", key: "receiverName" }, { title: "派单公司", dataIndex: "depName", key: "depName" }, { title: "任务状态", dataIndex: "taskStatus", key: "taskStatus", render: text => { return getTaskStatus(text); } }, { title: "项目状态", dataIndex: "projectStatus", key: "projectStatus", render: text => { return getProjectStatus(text); } }, { title: "工时", dataIndex: "hours", key: "hours" }, { title: "合同编号", dataIndex: "contractNo", key: "contractNo" }, { title: "签单日期", dataIndex: "signTime", key: "signTime" }, { title: "派单日期", dataIndex: "creteTime", key: "creteTime" } ], data: [], dataSource: [], 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" } ] }; }, //页面加载函数 componentWillMount() { 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,//营销员电话 financeName:thisdata.financeName,//财务名称 financeMobile:thisdata.financeMobile,//财务电话 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)); }, 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 }) }, //项目列表 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)); }, //关闭输入理由框 noCancel(){ this.setState({ noVisible:false }) }, //搜索 search() { this.setState({ //signBillVisible:false }) this.loadData(); }, //重置 reset() { this.setState({ signBillVisible:false }) this.state.idSearch=''; this.state.customerName=''; this.state.releaseDate[0] = undefined; this.state.releaseDate[1] = undefined; this.state.orderNoSearch = '' this.loadData(this.state.page); }, resets(){ this.state.orderNo=''; this.state.customerName=''; this.state.releaseDate[0] = undefined; this.state.releaseDate[1] = undefined; }, getOrgCodeUrl(e) { this.setState({ orgCodeUrl: e }); }, //关闭操作工时 visitCancelA(){ this.setState({ visibleA:false }) }, 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, }); }, //关闭详情 visitCancel(){ this.setState({ visible:false, speVisible:false, }) this.resets(); }, visitOk(){ this.setState({ visible:false }) this.resets(); }, //关闭详情 visitCancels(){ this.setState({ visibles:false }) this.resets(); }, //导出 exportExec(){ var data = { orderNo: this.state.orderNoSearch ? this.state.orderNoSearch : undefined, name: this.state.customerName?this.state.customerName:undefined,//订单负责人 taskId: this.state.idSearch?this.state.idSearch:undefined,//订单编号 starTime: this.state.releaseDate[0]?this.state.releaseDate[0]:undefined, endTime: this.state.releaseDate[1]?this.state.releaseDate[1]:undefined, type: 1 } window.location.href=(globalConfig.context+'/api/admin/orderProject/exportTaskHoursListData?'+$.param(data)); }, visitOks(){ this.setState({ visibles:false }) this.resets(); }, render() { const formItemLayout = { labelCol: { span: 8 }, wrapperCol: { span: 14 }, }; 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 FormItem = Form.Item; const { RangePicker } = DatePicker; return(