import React,{Component} from 'react';
import ajax from 'jquery/src/ajax/xhr.js';
import $ from 'jquery';
import moment from 'moment';
import '@/manageCenter/financialManage/distribute/public.less';
import Picture from '@/manageCenter/publicComponent/picture';
import { Icon, Button, Form, Radio, Input, InputNumber, 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 './table.less';
import {getProcessStatus,getApproval,getTaskStatus,getLiquidationStatus,getApprovedState,getProjectState,splitUrl,getProjectStatus,getboutique,getprovince} from '@/tools';
const FormItem =Form.Item;
const PicturesWall = React.createClass({
getInitialState() {
return {
previewVisible: false,
previewImage: '',
fileList: this.props.pictureUrl,
}
},
getDefaultProps(){
return{
changeClick:this.modifyChange
}
},
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;
},
render() {
const { previewVisible, previewImage, fileList } = this.state;
const uploadButton = (
);
return (
{uploadButton}
);
}
});
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 || 1,
pageSize: this.state.pagination.pageSize,
specially:1,//经理
name: this.state.nameSearch,//客户名称
orderNo:this.state.orderNoSearch,//订单编号
depId: this.state.departmenttSearch,//订单部门
taskId:this.state.taskId, //任务编号
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,//分配时间
commodityQuantity:thisdata.commodityQuantity,//软著数量
alreadyNumber:thisdata.alreadyNumber,//下证数量
userName:thisdata.taskName === '软著认证'?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, index) {
this.state.RowData = record;
if(record.taskName === '软著认证'){
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,taskName) {
$.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,//项目品类
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//订单部门
})
};
}.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 theArr = [];
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,//详细地址
setUpAmount:thisdata.setUpAmount,//立项金额
})
};
console.log(ProvinceCityArr,this.state.ProvinceCity)
}.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(e){
this.setState({
visible:false,
speVisible:false,
})
this.reset();
},
visitOk(e){
this.setState({
visible:false
})
this.reset();
},
setColor(){
var arr = []
console.log($(".userName span"))
$(".userName span").after("(软著数/下证数)")
},
//测试
foo2(){
this.setState({
testFlag1:false,
speVisible:false,
})
},
foo1(){
this.setState({
testFlag1:true
})
},
foo(){
this.setState({
testFlag:false
})
},
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, index) {
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 rowSelection = {
selectedRowKeys: this.state.selectedRowKeys,
onChange: (selectedRowKeys, selectedRows) => {
this.setState({
selectedRows: selectedRows.slice(-1),
selectedRowKeys: selectedRowKeys.slice(-1)
});
}
};
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 },
};
const formItemLayout1 = {
labelCol: { span: 6 },
wrapperCol: { span: 8 },
};
const hasSelected = this.state.selectedRowKeys.length > 0;
const { RangePicker } = DatePicker;
let departmentArr = this.state.departmentArr || [];
return (
任务查询
{console.log(column.index)}}
pagination={this.state.pagination}
onRowClick={this.tableRowClick.bind(this)} />
{/*
*/}
{this.state.status?'暂停':'开启'}
{this.state.contractNo}
{getProcessStatus(this.state.projectStatus)}
{getApproval(this.state.approval)}
{getLiquidationStatus(this.state.liquidationStatus)}
{getProcessStatus(this.state.processStatus)}
{this.state.orderNo}
{utils.getSatisfaction(this.state.formRetrieve)}
{utils.getChargeback(this.state.taskRefund)}
{
{this.state.retrieveContent}
}
{
{this.state.refundContent}
}
任务信息
{this.state.id}
{this.state.taskName}
{getTaskStatus(this.state.taskStatus)}
{this.state.cname}
{this.state.certificateNumber}
{/*
*/}
联系信息
{this.state.userName}
{this.state.legalPerson}
{this.state.legalPersonTel}
{this.state.contacts}
{this.state.contactMobile}
{getprovince(this.state.locationProvince)}/{getprovince(this.state.locationCity)}/{getprovince(this.state.locationArea)}
{this.state.postalAddress}
{/*
*/}
订单负责人信息
{this.state.salesmanName+'(湖南科德)'}
{this.state.salesmanMobile}
{this.state.financeName}
{this.state.financeMobile}
{
this.setState({
previewImage: file.url || file.thumbUrl,
previewVisible: true,
});
}} >
{ this.setState({ previewVisible: false }) }}>
{this.state.taskComment}
项目申报进度
{this.state.startDate}
{this.state.commodityQuantity}
)
}
})
export default Task;