import request from '@/axios'; import store from '@/store'; import dayjs from 'dayjs'; const messageType = [{ id: 2, name: '审核消息', dataType: [{ id: 1, title: '资产登记', content: '的资产登记流程' }, { id: 2, title: '资产变更', content: '的资产变更流程' }, { id: 3, title: '资产折旧', content: '的资产折旧流程' }, { id: 4, title: '资产盘点', content: '的资产盘点流程' }, { id: 5, title: '设备管理', content: '的设备管理流程' }] }, { id: 3, name: '巡查消息', dataType: [{ id: 1, title: '巡查记录', content: '的巡查记录' }] }, { id: 4, name: '工单消息', dataType: [{ id: 1, title: '工单记录', content: '的工单记录' }] }, { id: 5, name: '数据中心', dataType: [{ id: 1, title: '项目中心', content: '文件夹', type: 'access' }, { id: 2, title: '项目中心', content: '文件夹', type: 'create' }, { id: 3, title: '项目中心', content: '文件夹', type: 'delete' }, { id: 4, title: '项目中心', content: '文件夹', type: 'edit' }, { id: 5, title: '项目中心', content: '文件', type: 'fileDelete' }, { id: 6, title: '项目中心', content: '文件', type: 'fileDownload' }, { id: 7, title: '项目中心', content: '文件', type: 'fileUpload' }, , { id: 8, title: '项目中心', content: '文件', type: 'fileView' }, { id: 9, title: '企业中心', content: '文件夹', type: 'access' }, { id: 10, title: '企业中心', content: '文件夹', type: 'create' }, { id: 11, title: '企业中心', content: '文件夹', type: 'delete' }, { id: 12, title: '企业中心', content: '文件夹', type: 'edit' }, { id: 13, title: '企业中心', content: '文件', type: 'fileDelete' }, { id: 14, title: '企业中心', content: '文件', type: 'fileDownload' }, { id: 15, title: '企业中心', content: '文件', type: 'fileUpload' }, , { id: 16, title: '企业中心', content: '文件', type: 'fileView' }] }, { id: 6, name: '项目邀请' }]; export default { send(sendData = {}, params = {}) { let date = dayjs(new Date()).format('YYYY-MM-DD HH:mm:ss'); let obj = { projectId: store.getters.project.id, organizationId: store.getters.organization.id, date: date } params['time'] = date; obj = Object.assign(obj, sendData); let postData = { sender: store.getters.user.userId, messageType: params.messageType, message: this.messageContent(params), json: JSON.stringify(obj), viewed: 0 } return request({ url: `/manager/message/${params.userIds}`, method: 'post', data: postData }) }, viewed(messageId, callback) { if (!messageId) return; return request({ url: `/manager/message/${messageId}`, method: 'put', }).then(res => { if (res.state && callback) callback() }) }, sendFlowMessage(data = {}, params = {}) { let date = dayjs(new Date()).format('YYYY-MM-DD HH:mm:ss'); let obj = { projectId: store.getters.project.id, organizationId: store.getters.organization.id, date: date, dataId: params.dataId, dataType: params.dataType } let newData = this.data(data, params); obj = Object.assign(obj, newData.data); let postData = { sender: store.getters.user.userId, messageType: params.messageType, message: newData.message, json: JSON.stringify(obj), viewed: 0, isCC: params.isCC } return request({ url: `/manager/message/${params.receiver}`, method: 'post', data: postData }) }, messageContent(params) { let message = ''; if (params.messageType === 6) { message = `【项目邀请】${store.getters.user.name}在${dayjs(new Date()).format('YYYY-MM-DD HH:mm:ss')}邀请加入<${store.getters.project.name}>项目,请及时处理。` } return message; }, data(data = {}, params = {}) { let obj = {}, msg = '', type = messageType.filter(res => res.id === params.messageType)[0].dataType.filter(res => res.id === params .dataType)[0]; if (data.projectItemName) { msg += data.projectItemName; obj['projectItemId'] = data.projectItemId; } if (data.projectItemTargetName) { msg += ('-' + data.projectItemTargetName); obj['projectItemTargetId'] = data.projectItemTargetId; } let message = `【${type.title}】${store.getters.user.name}在${dayjs(new Date()).format('YYYY-MM-DD HH:mm:ss')}${params.operation}${msg}${type.content}` if (params.isCC === 1) message += ',并抄送给你'; return { message: message, data: obj } }, messageType }