明树Git Lab

Commit cbcfda95 authored by zfp1's avatar zfp1

update

parent bacfce52
Pipeline #103971 passed with stage
in 3 seconds
...@@ -30,7 +30,7 @@ async function updateDepart(req, res, next) { ...@@ -30,7 +30,7 @@ async function updateDepart(req, res, next) {
if (!body.id) { if (!body.id) {
return res.sendError(errorMessage.resourceNotFound) return res.sendError(errorMessage.resourceNotFound)
} }
if(body.parentId) { if (body.parentId) {
let parendNode = await DB.Depart.findOne({ where: { id: body.parentId }, raw: true, attributes: ['parentIds'] }); let parendNode = await DB.Depart.findOne({ where: { id: body.parentId }, raw: true, attributes: ['parentIds'] });
if (!parendNode) { if (!parendNode) {
return res.sendError(errorMessage.resourceNotFound); return res.sendError(errorMessage.resourceNotFound);
...@@ -125,6 +125,43 @@ async function getDepart(req, res, next) { ...@@ -125,6 +125,43 @@ async function getDepart(req, res, next) {
} }
} }
async function getDepartUsers(req, res, next) {
try {
let page = req.body.page || 1;
let limit = req.body.pageSize || 10;
let offset = (page - 1) * limit;
if (!req.body.departId) {
return res.sendError(errorMessage.resourceNotFound);
}
const ret = await DB.User.findAndCountAll({
where: { del: 0 },
limit,
offset,
include: [
{
model: DB.Role,
as: 'roles',
through: { attributes: [] },
}, {
model: DB.Depart,
as: 'departs',
through: { attributes: [] },
}, {
model: DB.Position,
as: 'positions',
through: { attributes: [] },
}
]
});
return res.sendData(ret);
} catch (error) {
next(error);
}
}
module.exports = { module.exports = {
...@@ -134,4 +171,5 @@ module.exports = { ...@@ -134,4 +171,5 @@ module.exports = {
listDepart, listDepart,
treeDepart, treeDepart,
getDepart, getDepart,
getDepartUsers,
} }
\ No newline at end of file
...@@ -4,7 +4,13 @@ const userModule = require('../module/userModule'); ...@@ -4,7 +4,13 @@ const userModule = require('../module/userModule');
async function createRole(req, res, next) { async function createRole(req, res, next) {
try { try {
const body = req.body; const body = req.body;
const ret = await DB.Role.create(body); let ret = await DB.Role.create(body);
ret = ret.toJSON();
if(body.menus) { //如果这里前端给的是树形结构 需要把它拆成平行,//TODO:
body.menus = utils.disTree(body.menus);
await userModule.setRoleMenu(ret.id, body.menus, []);
delete body.menus;
}
return res.sendData(ret); return res.sendData(ret);
} catch (error) { } catch (error) {
next(error); next(error);
...@@ -24,7 +30,7 @@ async function updateRole(req, res, next) { ...@@ -24,7 +30,7 @@ async function updateRole(req, res, next) {
{ {
model: DB.Menu, model: DB.Menu,
as: 'menus', as: 'menus',
where: {del: 0}, // where: {del: 0},
attributes: ["id"], attributes: ["id"],
through: { attributes: [] }, through: { attributes: [] },
} }
...@@ -33,9 +39,9 @@ async function updateRole(req, res, next) { ...@@ -33,9 +39,9 @@ async function updateRole(req, res, next) {
if(!(role && role.id)) { if(!(role && role.id)) {
return res.sendError(errorMessage.resourceNotFound); return res.sendError(errorMessage.resourceNotFound);
} }
if(body.menus) { //如果这里前端给的是树形结构 需要把它拆成平行,//TODO: if(body.menus) {
// body.menus = utils.disTree(body.menus); body.menus = utils.disTree(body.menus);
await userModule.setRoleMenu(role.id, body.menus, role.menus); await userModule.setRoleMenu(role.id, body.menus, role.menus || []);
delete body.menus; delete body.menus;
} }
// sequelize 只有update 写时需要注意条件 不能为空 // sequelize 只有update 写时需要注意条件 不能为空
...@@ -86,8 +92,8 @@ async function getRole(req, res, next) { ...@@ -86,8 +92,8 @@ async function getRole(req, res, next) {
if (!req.body.id) { if (!req.body.id) {
return res.sendError(errorMessage.resourceNotFound); return res.sendError(errorMessage.resourceNotFound);
} }
const ret = await DB.Role.findOne({ let ret = await DB.Role.findOne({
where: { id: req.body.id }, raw: true , where: { id: req.body.id },
include: [ include: [
{ {
model: DB.Menu, model: DB.Menu,
...@@ -98,6 +104,7 @@ async function getRole(req, res, next) { ...@@ -98,6 +104,7 @@ async function getRole(req, res, next) {
} }
] ]
}); });
ret = ret.toJSON();
if(ret && ret.menus && ret.menus.length) { if(ret && ret.menus && ret.menus.length) {
ret.menus = utils.buildTree(ret.menus); ret.menus = utils.buildTree(ret.menus);
} }
......
...@@ -54,6 +54,7 @@ router.post('/depart/deleteDepart', departController.deleteDepart); ...@@ -54,6 +54,7 @@ router.post('/depart/deleteDepart', departController.deleteDepart);
router.post('/depart/listDepart', departController.listDepart); router.post('/depart/listDepart', departController.listDepart);
router.post('/depart/treeDepart', departController.treeDepart); router.post('/depart/treeDepart', departController.treeDepart);
router.post('/depart/getDepart', departController.getDepart); router.post('/depart/getDepart', departController.getDepart);
router.post('/depart/getDepartUsers', departController.getDepartUsers);
/** /**
* 职位 * 职位
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment