From 444d0d931f56b0f1031549eabd20838324c40f15 Mon Sep 17 00:00:00 2001 From: expressgy Date: Fri, 24 Feb 2023 12:16:33 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=9B=AE=E5=BD=95=E6=8E=92?= =?UTF-8?q?=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- routes/container.js | 4 ++-- routes/menu.js | 40 +++++++++++++++++++++++++++++++++++++++- 2 files changed, 41 insertions(+), 3 deletions(-) diff --git a/routes/container.js b/routes/container.js index 90cf978..e0e41dd 100644 --- a/routes/container.js +++ b/routes/container.js @@ -31,7 +31,7 @@ router.get('/getPage', async (ctx, next) => { return } const [oldRows, oldFields] = await global.SQL.execute('SELECT * FROM `menu` WHERE `isdelete` = 0 AND `route` = ?', [arg.route]); - console.log(oldRows) + // console.log(oldRows) if(oldRows.length == 0){ ctx.body = { data: {}, @@ -50,7 +50,7 @@ router.get('/getPage', async (ctx, next) => { router.delete('/', async (ctx, next) => { const arg = ctx.request.query - console.log(arg) + // console.log(arg) if (!Object.keys(arg).includes('id')) { ctx.body = { data: {}, diff --git a/routes/menu.js b/routes/menu.js index 9331222..b93fa03 100644 --- a/routes/menu.js +++ b/routes/menu.js @@ -43,12 +43,50 @@ router.put('/updateMenu', async (ctx, next) => { return } const [rows, fields] = await global.SQL.execute('UPDATE menu SET name = ? , rank = ? , remarks = ? , route = ?, icon = ? WHERE id = ?', [arg.name, arg.rank, arg.remarks, arg.route, arg.icon, Number(arg.id)]); - ctx.body = ctx.body = { + ctx.body = { data: rows, state: true, message: '更新成功' } }) + +router.put('/changeMenuItemRank', async (ctx, next) => { + const arg = ctx.request.body; + const field = ['rankArr'] + const noField = [] + field.map(item => { + if (!Object.keys(arg).includes(item)) noField.push(item) + }) + if (noField.length != 0) { + ctx.body = { + data: {}, + state: false, + message: '缺少' + noField + } + return + } + arg.rankArr = JSON.parse(arg.rankArr) + const a = arg.rankArr.map(item => { + return `WHEN ${item.id} THEN ${item.rank}` + }).join(' ') + const b = arg.rankArr.map(item => item.id) + const SQL = `UPDATE menu SET rank = CASE id ${a} END WHERE id IN (${b})` + // console.log(SQL) + try{ + const [rows, fields] = await global.SQL.execute(SQL); + ctx.body = { + data: rows, + state: true, + message: '更新成功' + } + }catch (e) { + console.error(e) + } + +}) + + + router.post('/createMneuItem', async (ctx, next) => { const arg = ctx.request.body; const field = ['name', 'route', 'rank', 'remarks', 'father', 'icon']