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, render: (text, record) => { return {text}; }, }, { 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, render: (text, record) => { return (
{text}
) } }, { 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), }); }, // 获取部门数据 selectSuperId() { $.ajax({ method: "get", dataType: "json", url: globalConfig.context + "/api/admin/organization/getAllDep", data: {}, success: function (data) { if (data.error && data.error.length === 0) { localStorage.setItem("departmentData", JSON.stringify(data.data)) } else { // message.warning(data.error[0].message); } }.bind(this), }).always( ); }, //主菜单请求 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: data.data[index]['id'] + '', 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.selectSuperId(); 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 (