From 98183f3c576e083cc6479144dbb10d49820a8ca9 Mon Sep 17 00:00:00 2001 From: Mr Swift Date: Sun, 25 Aug 2024 19:52:31 +0330 Subject: [PATCH] award --- components/admin/TheSidebar.vue | 2 +- pages/admin/gps/award/index.vue | 278 +++++++++++++++++++++++++++++ pages/admin/gps/device/index.vue | 4 +- pages/admin/gps/withdraw/Index.vue | 5 +- server/controllers/GPS.Award.js | 56 ++++-- server/models/GPS.Award.js | 6 +- server/routes/admin.js | 1 + 7 files changed, 330 insertions(+), 22 deletions(-) create mode 100644 pages/admin/gps/award/index.vue diff --git a/components/admin/TheSidebar.vue b/components/admin/TheSidebar.vue index 22ffeef..0edc61d 100644 --- a/components/admin/TheSidebar.vue +++ b/components/admin/TheSidebar.vue @@ -365,7 +365,7 @@ diff --git a/pages/admin/gps/award/index.vue b/pages/admin/gps/award/index.vue new file mode 100644 index 0000000..0e3488b --- /dev/null +++ b/pages/admin/gps/award/index.vue @@ -0,0 +1,278 @@ + + + + diff --git a/pages/admin/gps/device/index.vue b/pages/admin/gps/device/index.vue index 280d29d..5deca4f 100644 --- a/pages/admin/gps/device/index.vue +++ b/pages/admin/gps/device/index.vue @@ -24,8 +24,8 @@

برای اضافه کردن دستگاه جدید فقط کافی است فایل نمونه رو دانلود کنید و به ترتیب مقادیر رو وارد کنید .
- برای آپدیت یک مقدار باید خروجی اکسل گرفته و نسبت به IMEI ثبت شد مقادیر ان را تغییر دهید و با پسوند XLSX خروجی گرفته و آپلود کرده -

+ برای به روزرسانی یک دستگاه به صورت تکی یا عمده داخل فایل نمونه IMEI را قرار داده و مقادیر جدید آن را ثبت کنید و آپلود کنید +

{ - return item.IMEI.includes(filterText) || item.deviceId.model.includes(filterText) + return item.userId.mobile_number.includes(filterText) || + item.userId.national_code.includes(filterText) || + item.userId.last_name.includes(filterText) || + item.userId.first_name.includes(filterText) }) } }, diff --git a/server/controllers/GPS.Award.js b/server/controllers/GPS.Award.js index 5e07b0f..6f2fc5c 100644 --- a/server/controllers/GPS.Award.js +++ b/server/controllers/GPS.Award.js @@ -7,8 +7,8 @@ const Award = require('../models/GPS.Award'); module.exports.createAward = [ [ body('score').notEmpty().isInt().withMessage(_sr.fa.required.field), - body('title').notEmpty().isString().withMessage(_sr.fa.required.field), - body('desc').notEmpty().isString().withMessage(_sr.fa.required.field), + body('title').notEmpty().isString().withMessage(_sr.fa.required.title), + body('desc').notEmpty().isString().withMessage(_sr.fa.required.description), body('expireDate').notEmpty().withMessage(_sr.fa.required.field), ], checkValidations(validationResult), @@ -16,12 +16,11 @@ module.exports.createAward = [ const { score, title, desc, expireDate } = req.body; const fixDate = new Date(expireDate) const award = await Award.create({ score, title, desc, expireDate:fixDate }) - // res.status(201).json({ - // msg: _sr.fa.response.success_save, - // data: award - // }) - res.status(201).json(award) - + res.status(201).json({ + msg: _sr.fa.response.success_save, + data: award + }) + } ] @@ -29,12 +28,12 @@ module.exports.createAward = [ module.exports.findAllUser = async (req, res) => { const toDay = new Date() - const data = await Award.find({expireDate: {$gt: toDay}}) + const data = await Award.find({expireDate: {$gt: toDay}, isDeleted:false}) res.status(200).json(data) } module.exports.findAllAdmin = async (req, res) => { - const data = await Award.find({}) + const data = await Award.find({isDeleted:false}) res.status(200).json(data) } @@ -58,8 +57,8 @@ module.exports.update =[ [ param('id').notEmpty().isMongoId().withMessage('ایدی را وارد یا تصحیح کنید'), body('score').notEmpty().isInt().withMessage(_sr.fa.required.field), - body('title').notEmpty().isString().withMessage(_sr.fa.required.field), - body('desc').notEmpty().isString().withMessage(_sr.fa.required.field), + body('title').notEmpty().isString().withMessage(_sr.fa.required.title), + body('desc').notEmpty().isString().withMessage(_sr.fa.required.description), body('expireDate').notEmpty().withMessage(_sr.fa.required.field), ], checkValidations(validationResult), @@ -74,11 +73,11 @@ module.exports.update =[ data.desc = desc; data.expireDate = new Date(expireDate) data.save() - // res.status(200).json({ - // msg: _sr.fa.response.success_save, - // data - // }) - res.status(200).json(data) + res.status(200).json({ + msg: _sr.fa.response.success_save, + data + }) + } @@ -86,3 +85,26 @@ module.exports.update =[ ] +module.exports.delete=[ + [ + param('id').notEmpty().isMongoId().withMessage('ایدی را وارد یا تصحیح کنید'), + ], + checkValidations(validationResult), + async (req, res) => { + const data = await Award.findById(req.params.id) + if (!data) { + res.status(404).json({ msg: _sr.fa.not_found.item_id }) + } else { + data.isDeleted = true; + data.expireDate = Date.now() + data.save() + res.status(200).json({ + msg: _sr.fa.response.success_remove, + + }) + + + } + + } +] \ No newline at end of file diff --git a/server/models/GPS.Award.js b/server/models/GPS.Award.js index 7df2283..2639ca0 100644 --- a/server/models/GPS.Award.js +++ b/server/models/GPS.Award.js @@ -5,7 +5,11 @@ const AwairdSchema = mongoose.Schema({ score:Number, title:String, desc:String, - expireDate:Date + expireDate:Date, + isDeleted:{ + type:Boolean, + default:false + } }) diff --git a/server/routes/admin.js b/server/routes/admin.js index a84c011..1de8c77 100644 --- a/server/routes/admin.js +++ b/server/routes/admin.js @@ -54,6 +54,7 @@ router.post('/gps/award',hasPermission('gps'), award.createAward) router.get('/gps/award',hasPermission('gps'), award.findAllAdmin) router.get('/gps/award/:id',hasPermission('gps'), award.findOne) router.put('/gps/award/:id',hasPermission('gps'), award.update) +router.delete('/gps/award/:id',hasPermission('gps'), award.delete) /// ////////////// Award request router.get('/gps/award-request',hasPermission('gps'), awardRequest.findAllAdmin)