import React from 'react';
import { Spin, Button, Tabs, Table, message, Modal,Tooltip } from 'antd';
import ajax from 'jquery/src/ajax/xhr.js'
import $ from 'jquery/src/ajax';
import '../content.less';
import './content.less';
import LeftTab from './leftTab.jsx';
import FollowDetail from "../customer/NEW/intentionCustomer/followDetail";
const TabPane = Tabs.TabPane;
const MessageModal = React.createClass({
getInitialState() {
return {
unreadData:[],
unreadDataType:'0',
dataSourceType:'1',
unreadDataIndex:0,
newVisible: false,
loading: false,
categoryArr:[],
pagination: {
defaultCurrent: 1,
defaultPageSize: 10,
showQuickJumper: true,
pageSize: 10,
onChange: function (page) {
this.loadReaded(page);
}.bind(this),
showTotal: function (total) {
return '共' + total + '条数据';
}
},
UnreadPagination: {
defaultCurrent: 1,
defaultPageSize: 10,
showQuickJumper: true,
pageSize: 9999999,
onChange: function (page) {
this.loadUnread(page);
}.bind(this),
showTotal: function (total) {
return '共' + total + '条数据';
}
},
columns: [
{
title: '类型',
dataIndex: 'noticeTypeName',
key: 'noticeTypeName',
width: 120,
}, {
title: '时间',
dataIndex: 'createTimeFormattedDate',
key: 'createTimeFormattedDate',
width: 120
}, {
title: '内容',
dataIndex: 'content',
key: 'content',
width:1189,
render: (text, record) => {
return(
{text}
)
}
},
{
title: "操作",
dataIndex: "abc",
key: "abc",
width:150,
render: (text, record) => {
let contractNo = '';
if((record.noticeType === 14 || record.noticeType === 40) && record.content.indexOf('合同编号-') !== -1){
let arr = record.content.split('合同编号-');
contractNo = arr[1].match(/(\S*), 订单编号/)[1];
}
return (
record.noticeType === 48 || record.noticeType === 49 ?
:
record.noticeType === 14 || record.noticeType === 40 ?
: null
)
}
}
// {
// title: '公司',
// dataIndex: 'unitName',
// key: 'unitName',
// }, {
// title: '业务员',
// dataIndex: 'principle',
// key: 'principle',
// }
],
columns1: [
{
title: '类型',
dataIndex: 'noticeTypeName',
key: 'noticeTypeName',
width: 120,
}, {
title: '时间',
dataIndex: 'createTimeFormattedDate',
key: 'createTimeFormattedDate',
width: 120
}, {
title: '内容',
dataIndex: 'content',
key: 'content',
width:610,
render: (text, record) => {
return(
{text}
)
}
},
{
title: "操作",
dataIndex: "abc",
key: "abc",
width:150,
render: (text, record) => {
let contractNo = '';
if((record.noticeType === 14 || record.noticeType === 40) && record.content.indexOf('合同编号-') !== -1){
let arr = record.content.split('合同编号-');
contractNo = arr[1].match(/(\S*), 订单编号/)[1];
}
return (
record.noticeType === 48 || record.noticeType === 49 ?
:
record.noticeType === 14 || record.noticeType === 40 ?
: null
)
}
}
// {
// title: '公司',
// dataIndex: 'unitName',
// key: 'unitName',
// }, {
// title: '业务员',
// dataIndex: 'principle',
// key: 'principle',
// }
],
data: []
};
},
closeDesc(){
this.setState({
categoryArr:[],
followData:'',
visitModul:false
},()=>{
this.loadReaded(this.state.pagination.current);
})
},
category() {
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/Varieties/getSuperList",
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({
value: item.id,
key: item.cname,
});
});
}
this.setState({
categoryArr: theArr,
});
}.bind(this),
});
},
//主菜单请求
mainMenu(){
this.setState({
loading:true
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/selectNavList",
data: {
},
success:function(data){
if (!data.data) {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
return;
};
};
this.setState({
menu:data.data
});
}.bind(this),
}).always(function(data){
this.setState({
loading:false
})
}.bind(this))
},
finId(text){
var data=this.state.menu||[];
var rid='';
switch(text) {
case 1:
data.map(function(nub, index) {
if(nub.url.indexOf('demand') != -1) {
rid = nub.id;
}
});
break;
case 2:
data.map(function(nub, index) {
if(nub.url.indexOf('demand') != -1) {
rid = nub.id;
}
});
break;
case 3:
data.map(function(nub, index) {
if(nub.url.indexOf('achievement') != -1) {
rid = nub.id;
}
});
break;
case 4:
data.map(function(nub, index) {
if(nub.url.indexOf('achievement') != -1) {
rid = nub.id;
}
});
break;
case 5:
data.map(function(nub, index) {
if(nub.url.indexOf('order') != -1) {
rid = nub.id;
}
});
break;
case 6:
data.map(function(nub, index) {
if(nub.url.indexOf('order') != -1) {
rid = nub.id;
}
});
break;
case 7:
data.map(function(nub, index) {
if(nub.url.indexOf('servicesManage') != -1) {
rid = nub.id;
}
});
break;
default:
rid='';
}
return rid;
},
//跳转详情
setStore(record){
localStorage.setItem('newData',{});
let ids = record.noticeType;
let rid = this.finId(ids) || "";
var urls='',
dataJson={};
switch (ids) {
case 1:
urls = "/admin/demand.html?rid=" + rid +"#techDemandAudit";
dataJson = {
"id":record.uid,
//"id":"3f93588b-332e-4353-bbfd-f1451b4b390c",
"dataCategory":"0"
};
break;
case 2:
urls = "/admin/demand.html?rid=" + rid+ "#techDemandPublish";
dataJson = {
"id":record.uid,
//"id":"40f77e32-29fa-4a85-a6f0-7c4986bdc5e3",
"dataCategory":'1'
};
break ;
case 3:
urls = "/admin/achievement.html?rid=" + rid +"#techAchievementAudit";
dataJson = {
"id":record.uid,
//"id":"f09d5c08-4a8b-48a6-9753-86006f1a53cb",
"ownerType":'1'
};
break ;
case 4:
urls = "/admin/achievement.html?rid=" + rid + "#techAchievementPublish";
dataJson = {
"id":record.uid,
//"id":"953c9ef7-6cf6-4ab7-af89-c01521998fed",
"ownerType":'1'
};
break ;
case 5:
urls = "/admin/order.html?rid=" + rid + "#myService";
dataJson = {
"orderNo":record.orderNo
//"orderNo":"175557414077480960"
};
break ;
case 6:
urls = "/admin/order.html?rid=" + rid + "#mySettlement";
dataJson = {
"orderNo":record.orderNo
//"orderNo":"180714111314051072"
};
break ;
case 7:
urls = "/admin/servicesManage/projectOrder.html?rid=" + rid + "#projectManage";
dataJson = {
//"id":record.id,
"id":"69e2d8ca984240a4b9c90daac69fe5e3",
"buyerType":"1"
};
break ;
default :
urls:'#';
dataJson = {};
};
console.log(rid);
if(rid){
var data = dataJson;
var newData = JSON.stringify(data);
localStorage.setItem('newData',newData);
window.location.href = globalConfig.context +urls;
}
},
loadReaded(pageNo) {
this.state.data = [];
this.setState({
loading: true
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/notice/readed",
data: {
pageNo: pageNo || 1,
pageSize: this.state.pagination.pageSize,
type:this.state.unreadDataType,
}
}).done((data) => {
if (!data.data) {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
return;
};
};
this.state.data = [];
for (let i = 0; i < data.data.list.length; i++) {
let thisdata = data.data.list[i];
this.state.data.push({
key: i + 1,
id: thisdata.id,
rid: thisdata.rid,
uid: thisdata.uid,
aid: thisdata.aid,
noticeType: thisdata.noticeType,
year: thisdata.year,
noticeTypeName: thisdata.noticeTypeName,
content: thisdata.content,
createTime: thisdata.createTime,
createTimeFormattedDate: thisdata.createTimeFormattedDate,
principle: thisdata.principle,
unitName: thisdata.unitName
});
};
this.state.pagination.current = data.data.pageNo;
this.state.pagination.total = data.data.totalCount;
this.setState({
dataSource: this.state.data,
pagination: this.state.pagination,
});
}).always(function () {
this.setState({
loading: false
});
}.bind(this));
},
loadUnread(pageNo) {
this.state.data = [];
this.setState({
loading: true
});
$.ajax({
method: "get",
dataType: "json",
crossDomain: false,
url: globalConfig.context + "/api/admin/notice/unread",
data: {
}
}).done((data) => {
if (data.error && data.error.length) {
message.warning(data.error[0].message);
return;
}else{
let arr = data.data.filter(v=>v.list.length > 0)
if(arr.length) {
this.setState({
newVisible: true
});
}
let index = data.data.findIndex(v=>v.list.length > 0);
if(index >= 0){
data.data[index].isRead = true;
this.setState({
unreadDataType: index ? data.data[index]['id']+'' : '0',
unreadDataIndex:index,
});
}else{
this.setState({
unreadDataType: data.data[0]['id']+'',
unreadDataIndex:'0',
});
}
this.setState({
unreadData: data.data,
});
}
}).always(function () {
this.setState({
loading: false,
});
}.bind(this));
},
componentWillMount() {
// this.loadReaded();
this.loadUnread();
this.mainMenu();
},
handleOk() {
let arr = this.state.unreadData.filter(v=>v.list.length > 0 && !v.isRead);
if(arr.length > 0){
message.warning('还存在未读消息,请查看后再关闭当前页面!');
return;
}else{
this.loadUnread();
this.setState({
newVisible: false
});
}
},
render() {
return (
信息中心
{
let index = this.state.unreadData.findIndex(d=>d.id == v);
this.state.unreadData[index].isRead = true;
this.setState({
unreadDataIndex:index,
unreadData:this.state.unreadData,
unreadDataType:v
},()=>{
if(this.state.dataSourceType === '2'){
this.loadReaded()
}
})
}}>
{
this.state.unreadData.map((v)=>(
{v.list.length === 0 || v.isRead ? null : }
{v.name}
}/>
))
}
{
this.setState({
dataSourceType:v
})
if(v === '2'){
this.loadReaded()
}
}}>
{
let index = this.state.unreadData.findIndex(d=>d.id == v);
this.state.unreadData[index].isRead = true;
this.setState({
unreadDataIndex:index,
unreadData:this.state.unreadData,
unreadDataType:v
})
}}>
{
this.state.unreadData.map((v)=>(
{v.list.length === 0 || v.isRead ? null : }
{v.name}
}/>
))
}