forked from lxbfYeaaGbeDLMCi/deShanXiao
103 lines
2.9 KiB
TypeScript
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;
|