diff --git a/pages/admin/admins/_admin.vue b/pages/admin/admins/_admin.vue index 0e0cd02..4c1b9a3 100644 --- a/pages/admin/admins/_admin.vue +++ b/pages/admin/admins/_admin.vue @@ -85,10 +85,10 @@ :key="index + Math.random() + 2" class="ml-2 mb-2" style="cursor: pointer" - :type="hasPermission(item.value) ? 'success' : 'primary'" + :type="hasPermission(item?.value) ? 'success' : 'primary'" disable-transitions - @click="addPermission(item.value)" - >{{ item.name }} + @click="addPermission(item?.value)" + >{{ item.name || item.value }} @@ -223,7 +223,7 @@ export default { }) }, getPermissionName(value) { - return this.permissions.filter(item => item.value === value)[0].name + return this.permissions.filter(item => item.value === value)[0]?.name || value }, addPermission(val) { if (!this.admin.permissions.includes(val)) this.admin.permissions.push(val) diff --git a/pages/admin/complaint/_item.vue b/pages/admin/complaint/_item.vue new file mode 100644 index 0000000..ec7d672 --- /dev/null +++ b/pages/admin/complaint/_item.vue @@ -0,0 +1,57 @@ + + + + + diff --git a/pages/admin/complaint/index.vue b/pages/admin/complaint/index.vue new file mode 100644 index 0000000..275ee0a --- /dev/null +++ b/pages/admin/complaint/index.vue @@ -0,0 +1,90 @@ + + + diff --git a/pages/complaint/index.vue b/pages/complaint/index.vue index 6b317ca..3bd391c 100644 --- a/pages/complaint/index.vue +++ b/pages/complaint/index.vue @@ -2,9 +2,6 @@
-
-

{{ config.complaint }}

-
@@ -151,6 +148,10 @@

مشتری گرامی شما میتوانید شکایت خود را از طریق فرم زیر با ما در میان بگذارید

+
+

{{ config.complaint }}

+
+
@@ -180,6 +181,8 @@
انتخاب نحوه پاسخ دهی:
diff --git a/server/controllers/captionController.js b/server/controllers/captionController.js new file mode 100644 index 0000000..03ace1a --- /dev/null +++ b/server/controllers/captionController.js @@ -0,0 +1,28 @@ + +const { body, validationResult } = require('express-validator') + +const Complaint = require('../models/Complaint') +const { _sr } = require('../plugins/serverResponses') +const { checkValidations } = require('../plugins/controllersHelperFunctions') +const _faSr = _sr.fa + + +module.exports.create = [ + [ + body('fullName').notEmpty().withMessage(_faSr.required.name), + body('national').notEmpty().withMessage(_faSr.required.national_code), + body('phoneNumber').notEmpty().withMessage(_faSr.required.phone_number), + body('email').notEmpty().withMessage(_faSr.required.email), + body('deviceNumber').notEmpty().withMessage(_faSr.required.field), + body('receptionCode').notEmpty().withMessage(_faSr.required.field), + body('caption').notEmpty().withMessage(_faSr.required.caption), + body('callType').notEmpty().withMessage(_faSr.required.field), + + ], + checkValidations(validationResult), + (req, res) => { + + const + + } +] diff --git a/server/models/Complaint.js b/server/models/Complaint.js new file mode 100644 index 0000000..a25a1f6 --- /dev/null +++ b/server/models/Complaint.js @@ -0,0 +1,19 @@ +const mongoose = require('mongoose') + + + +const ComplaintSchema = mongoose.Schema({ + + fullName: String, + national: Number, + phoneNumber: Number, + deviceNumber: String, + email: String, + receptionCode: String, + caption: String, + callType: Boolean + +}) + + +module.exports = mongoose.model('Complaint', ComplaintSchema) diff --git a/server/plugins/permissions.js b/server/plugins/permissions.js index 6523808..aba042a 100644 --- a/server/plugins/permissions.js +++ b/server/plugins/permissions.js @@ -102,5 +102,9 @@ module.exports = [ { name: 'نظر سنجی', value: 'surveys' + }, + { + name: 'شکایت ها', + value: 'complaint' } ]