Files
deShanXiao/backEnd/src/router/system-menue/system-menue.ts

103 lines
2.9 KiB
TypeScript

import * as express from "express";
import { getConnection } from "typeorm";
import { SystemMenue } from "../../entity/SystemMenue";
import pagination from "../../lib/pagination/pagination";
import dayjs from "dayjs";
import { filterObjEmptyVal } from "../../util/globalMethods";
const router = express.Router();
router.get("/list", async (req, res) => {
let isAll = req.query.all;
req.query.pageSize = "1000";
req.body.pageSize = "1000";
let data = await pagination(SystemMenue, req);
let dataList = [];
for (let i = 0; i < data.list.length; i++) {
let item = data.list[i];
item.children = [];
for (let j = 0; j < data.list.length; j++) {
let tempItem = data.list[j];
if (tempItem.parentId === item.id) {
item.children.push(tempItem);
}
}
// 只添加父级
if (!item.parentId || isAll) dataList.push(item);
}
data.list = dataList;
data.total = dataList.length;
return res.send({
code: 200,
data,
});
});
router.post("/query", async (req, res) => {
let params = req.body;
let data = await pagination(SystemMenue, req, filterObjEmptyVal(params));
return res.send({
code: 200,
data,
});
});
router.post("/add", async (req, res) => {
let menueRep = getConnection().manager.getRepository(SystemMenue);
let body = req.body;
let findMenue = await menueRep.findOne({ where: { name: body.name } });
if (findMenue) return res.send({ code: 403, msg: `${body.name}已经存在了` });
let menueInstance = new SystemMenue();
menueInstance = body;
menueInstance.createDate = dayjs().format("YYYY-MM-DD HH:mm:ss");
await menueRep.save(menueInstance);
return res.send({
code: 200,
msg: "菜单增加成功!",
});
});
router.post("/update", async (req, res) => {
let menueRep = getConnection().manager.getRepository(SystemMenue);
let body = req.body as SystemMenue;
let filterMenue = await menueRep.findOne({ where: { name: body.name } });
if (
filterMenue &&
filterMenue.id !== body.id &&
body.name === filterMenue.name
) {
return res.send({ code: 500, msg: "菜单名已经存在" });
}
let findMenue = await menueRep.findOne({ where: { id: body.id } });
findMenue = { ...findMenue, ...body };
findMenue.updateDate = dayjs().format("YYYY-MM-DD HH:mm:ss");
await menueRep.save(findMenue);
return res.send({
code: 200,
msg: "菜单修改成功!",
});
});
router.get("/delete", async (req, res) => {
let menueRep = getConnection().manager.getRepository(SystemMenue);
let { id } = req.query;
let findMnue = await menueRep.find({ where: { id } });
if (!findMnue)
return res.send({ code: 500, msg: "删除菜单不存在,请检查!" });
await menueRep.remove(findMnue);
return res.send({ code: 200, msg: "删除成功!" });
});
export default router;