import React,{Component} from 'react';
import ajax from 'jquery/src/ajax/xhr.js';
import $ from 'jquery/src/ajax';
import moment from 'moment';
import Picture from '@/manageCenter/publicComponent/picture';
import '@/manageCenter/financialManage/distribute/public.less';
import { Icon, Button,Form, Input, Select, Upload,Col,Spin, Table, Switch, message, DatePicker, Modal } from 'antd';
import OrderDesc from '@/manageCenter/financialManage/orderDetail/orderDesc'
import Assign from '@/manageCenter/publicComponent/assign';
import {getProcessStatus,getApproval,getTaskStatus,getLiquidationStatus,getApprovedState,getProjectStatus,splitUrl,getjiedian} from '@/tools';
import {projectStates,taskStatus ,projectStatus} from '@/dataDic.js';
const FormItem =Form.Item;
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,//客户名称
orderNo:this.state.orderNoSearch,//订单编号
taskId:this.state.taskNoSearch, //任务编号
taskStatus:this.state.taskStatus,//任务状态
adminName:this.state.adminName,//任务受理人
},
success: function (data) {
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.userName,//用户名
});
};
}
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:'',
boHuivisible:false,
selectedRowKeys: [],
selectedRows: [],
attachmentUrl:[],
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',
}, {
title: '订单编号',
dataIndex: 'orderNo',
key: 'orderNo',
},
{
title: '业务类别',
dataIndex: 'cname',
key: 'cname',
},
{
title: '客户名称',
dataIndex: 'userName',
key: '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: 'caozuo',
key: 'caouzo',
render:(text,record)=>{
return
}
}
],
dataSource: [],
searchTime: [],
}
},
/* 分派 */
evaluate(record,nub){
this.state.assignData=record;
this.setState({
nub,
assignVisible:true
})
},
componentWillMount() {
this.loadData();
},
tableRowClick(record, index) {
this.state.RowData = record;
this.setState({
visible: true,
});
this.xiangqing(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(",");
};
$.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,//法人电话
}
}).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(){
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(",");
};
$.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 theArr = [];
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,//项目品类
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,//法人电话
})
};
}.bind(this),
}).always(function() {
this.setState({
loading: false
});
}.bind(this));
},
//关闭详情
visitCancel(e){
this.setState({
visible:false
})
this.reset();
},
visitOk(e){
this.setState({
visible: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
})
},
//关闭添加工时
noCancel(){
this.setState({
lookVisible:false
})
this.reset();
},
search() {
this.loadData();
},
reset() {
this.state.id='';//任务编号
this.state.orderNo='';//订单编号
this.state.projectStatus=undefined;//项目状态
this.state.taskStatus=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.loadData();
},
searchSwitch() {
this.setState({
searchMore: !this.state.searchMore
});
},
render() {
const rowSelection = {
selectedRowKeys: this.state.selectedRowKeys,
onChange: (selectedRowKeys, selectedRows) => {
this.setState({
selectedRows: selectedRows.slice(-1),
selectedRowKeys: selectedRowKeys.slice(-1)
});
}
};
const formItemLayout = {
labelCol: { span: 6 },
wrapperCol: { span: 12 },
};
const hasSelected = this.state.selectedRowKeys.length > 0;
const { RangePicker } = DatePicker;
return ( )
}
})
export default Task;