diff --git a/components/admin/TheSidebar.vue b/components/admin/TheSidebar.vue index f38f7a6..46ea07d 100644 --- a/components/admin/TheSidebar.vue +++ b/components/admin/TheSidebar.vue @@ -82,6 +82,8 @@ font-icon="fas fa-folder" @update:show="val => setDropdownState('adminS_CustomerM_Dropdown', val)" > + + + + state.admin.newPieceRequests, newOldPieceRequests: state => state.admin.newOldPieceRequests, newBufferRequests: state => state.admin.newBufferRequests, - newGuaranteeReports: state => state.admin.newGuaranteeReports + newGuaranteeReports: state => state.admin.newGuaranteeReports, + newComplaintReports: state => state.admin.newComplaintReports }) }, methods: { diff --git a/pages/admin/complaint/index.vue b/pages/admin/complaint/index.vue index ed25d28..d3959b8 100644 --- a/pages/admin/complaint/index.vue +++ b/pages/admin/complaint/index.vue @@ -87,7 +87,7 @@ export default { computed: { }, - mounted(){ + beforeMount(){ this.$axios.get('/api/admin/complaint').then(res=>{ this.complaint = res.data diff --git a/server/WebSocket/controllers/admin_EventsController.js b/server/WebSocket/controllers/admin_EventsController.js index f6edf8d..74c7cea 100644 --- a/server/WebSocket/controllers/admin_EventsController.js +++ b/server/WebSocket/controllers/admin_EventsController.js @@ -6,6 +6,8 @@ const PieceRequest = require('../../models/PieceRequest') const OldPieceRequest = require('../../models/OldPieceRequest') const BufferRequest = require('../../models/BufferRequest') const GuaranteeReport = require('../../models/GuaranteeReport') +const Complaint = require('../../models/Complaint') + module.exports.getAllNotifs = async socket => { try { @@ -32,7 +34,9 @@ module.exports.getAllNotifs = async socket => { BufferRequest.find({ status: 'sent' }), // newGuaranteeReports - GuaranteeReport.find({ status: 'sent', seen: false }) + GuaranteeReport.find({ status: 'sent', seen: false }), + + Complaint.find({ read: false }) ]) const unreadCuMsgs = allData[0] @@ -43,6 +47,8 @@ module.exports.getAllNotifs = async socket => { const newOldPieceRequests = allData[5] const newBufferRequests = allData[6] const newGuaranteeReports = allData[7] + const complaint = allData[8] + socket.emit(`admin:allNotifs`, { unreadCuMsgs: unreadCuMsgs.length, @@ -52,7 +58,8 @@ module.exports.getAllNotifs = async socket => { newPieceRequests: newPieceRequests.length, newOldPieceRequests: newOldPieceRequests.length, newBufferRequests: newBufferRequests.length, - newGuaranteeReports: newGuaranteeReports.length + newGuaranteeReports: newGuaranteeReports.length, + newComplaintReports:complaint.length }) } catch (e) { console.log(e) diff --git a/server/controllers/complaintController.js b/server/controllers/complaintController.js index ca571ec..e4d6938 100644 --- a/server/controllers/complaintController.js +++ b/server/controllers/complaintController.js @@ -41,7 +41,10 @@ module.exports.gets = [ module.exports.get = [ async(req, res)=>{ - const complaint = await Complaint.findById(req.params.id) + const complaint = await Complaint.findByIdAndUpdate( + req.params.id, + {read: true} + ) res.status(200).json(complaint) diff --git a/server/models/Complaint.js b/server/models/Complaint.js index 8a6c303..de8354d 100644 --- a/server/models/Complaint.js +++ b/server/models/Complaint.js @@ -11,7 +11,9 @@ const ComplaintSchema = mongoose.Schema({ email: String, receptionCode: String, caption: String, - callType: Boolean + callType: Boolean, + read: { type: Boolean, default: false }, + }) diff --git a/store/admin.js b/store/admin.js index 805979e..ca86cf2 100644 --- a/store/admin.js +++ b/store/admin.js @@ -10,6 +10,7 @@ export const state = () => ({ newOldPieceRequests: 0, newBufferRequests: 0, newGuaranteeReports: 0, + newComplaintReports: 0, verityProducts: [], panatechProducts: [], iranProvinces: [],