import React from 'react'; import { Row, Col, Icon, Modal, Button, Spin, Input, message, Badge, Table, Tabs, Tag } from 'antd'; import { getProvince } from '../NewDicProvinceList.js'; import { getActives} from '../tools.js'; import './topTab.less'; import $ from 'jquery/src/ajax'; import logo from '../../../image/acc-logo.png'; import FollowDetail from "./customer/NEW/intentionCustomer/followDetail"; const TabPane = Tabs.TabPane; const MessageModal = React.createClass({ getInitialState() { return { unreadData:[], unreadDataType:'0', dataSourceType:'1', unreadDataIndex:0, visible: false, loading: false, 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: 10, onChange: function (page) { this.loadUnread(page); }.bind(this), showTotal: function (total) { return '共' + total + '条数据'; } }, categoryArr:[], columns: [ { title: '类型', dataIndex: 'noticeType', key: 'noticeType', render: (text, record) => { return ({record.noticeTypeName}) } }, { title: '时间', dataIndex: 'createTimeFormattedDate', key: 'createTimeFormattedDate' }, { title: '内容', dataIndex: 'content', key: 'content', }, { title: "操作", dataIndex: "abc", key: "abc", 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 ) } }, ], data: [] }; }, 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), }); }, 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)); }, componentWillReceiveProps(nextProps) { if (!this.state.visible && nextProps.showDesc) { this.loadReaded(); this.loadUnread(); }; this.state.visible = nextProps.showDesc }, handleOk() { let arr = this.state.unreadData.filter(v=>v.list.length > 0 && !v.isRead); if(arr.length > 0){ message.warning('还存在未读消息,请查看后再关闭当前页面!'); return; }else{ this.setState({ visible: false, }); } this.props.closeDesc(false, true); }, handleCancel(e) { let arr = this.state.unreadData.filter(v=>v.list.length > 0 && !v.isRead); if(arr.length > 0){ message.warning('还存在未读消息,请查看后再关闭当前页面!'); return; }else{ this.setState({ visible: false, }); } this.props.closeDesc(false, true); }, closeDesc(){ this.setState({ categoryArr:[], followData:'', visitModul:false },()=>{ this.loadReaded(this.state.pagination.current); }) }, 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() } }}>