更新API说明文档
This commit is contained in:
@@ -27,17 +27,20 @@ function pagination(query) {
|
|||||||
return { page, pageSize, offset }
|
return { page, pageSize, offset }
|
||||||
}
|
}
|
||||||
|
|
||||||
// 列表查询时 JOIN 客户名、供应商名和员工名
|
// 列表查询时 JOIN 客户名、供应商名、员工名和负责人姓名
|
||||||
const LIST_SELECT = `
|
const LIST_SELECT = `
|
||||||
SELECT
|
SELECT
|
||||||
c.*,
|
c.*,
|
||||||
cu.name AS customer_name,
|
cu.name AS customer_name,
|
||||||
s.name AS supplier_name,
|
s.name AS supplier_name,
|
||||||
e.name AS employee_name
|
e.name AS employee_name,
|
||||||
|
ru.name AS responsible_user_name
|
||||||
FROM contracts c
|
FROM contracts c
|
||||||
LEFT JOIN customers cu ON c.customer_id = cu.id
|
LEFT JOIN customers cu ON c.customer_id = cu.id
|
||||||
LEFT JOIN suppliers s ON c.supplier_id = s.id
|
LEFT JOIN suppliers s ON c.supplier_id = s.id
|
||||||
LEFT JOIN employees e ON c.employee_id = e.id
|
LEFT JOIN employees e ON c.employee_id = e.id
|
||||||
|
LEFT JOIN users u ON c.responsible_user_id = u.id
|
||||||
|
LEFT JOIN employees ru ON u.employee_id = ru.id
|
||||||
`
|
`
|
||||||
|
|
||||||
// 单条查询时用同样的 JOIN
|
// 单条查询时用同样的 JOIN
|
||||||
@@ -102,6 +105,8 @@ async function list(req, res) {
|
|||||||
LEFT JOIN customers cu ON c.customer_id = cu.id
|
LEFT JOIN customers cu ON c.customer_id = cu.id
|
||||||
LEFT JOIN suppliers s ON c.supplier_id = s.id
|
LEFT JOIN suppliers s ON c.supplier_id = s.id
|
||||||
LEFT JOIN employees e ON c.employee_id = e.id
|
LEFT JOIN employees e ON c.employee_id = e.id
|
||||||
|
LEFT JOIN users u ON c.responsible_user_id = u.id
|
||||||
|
LEFT JOIN employees ru ON u.employee_id = ru.id
|
||||||
${where}`,
|
${where}`,
|
||||||
params
|
params
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -246,4 +246,23 @@ async function remove(req, res) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = { list, detail, create, update, remove }
|
// GET /api/employees/simple —— 简易员工列表(无数据范围限制,用于下拉选择)
|
||||||
|
async function simpleList(req, res) {
|
||||||
|
try {
|
||||||
|
const { department } = req.query
|
||||||
|
let sql = 'SELECT id, name, department, position FROM employees WHERE status = 1'
|
||||||
|
const params = []
|
||||||
|
if (department) {
|
||||||
|
sql += ' AND department = ?'
|
||||||
|
params.push(department)
|
||||||
|
}
|
||||||
|
sql += ' ORDER BY id'
|
||||||
|
const [rows] = await pool.query(sql, params)
|
||||||
|
res.json({ code: 0, message: 'ok', data: rows })
|
||||||
|
} catch (e) {
|
||||||
|
console.error('[employees simpleList] error:', e)
|
||||||
|
res.status(500).json({ code: 500, message: e.message })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = { list, detail, create, update, remove, simpleList }
|
||||||
|
|||||||
@@ -54,6 +54,7 @@ app.put('/api/customers/:id', auth, checkPermission('customer', 'update'),
|
|||||||
app.delete('/api/customers/:id', auth, checkPermission('customer', 'delete'), customers.remove)
|
app.delete('/api/customers/:id', auth, checkPermission('customer', 'delete'), customers.remove)
|
||||||
|
|
||||||
// ============ 员工管理 /api/employees ============
|
// ============ 员工管理 /api/employees ============
|
||||||
|
app.get('/api/employees/simple', auth, employees.simpleList)
|
||||||
app.get('/api/employees', auth, checkPermission('employee', 'read'), employees.list)
|
app.get('/api/employees', auth, checkPermission('employee', 'read'), employees.list)
|
||||||
app.get('/api/employees/:id', auth, checkPermission('employee', 'read'), employees.detail)
|
app.get('/api/employees/:id', auth, checkPermission('employee', 'read'), employees.detail)
|
||||||
app.post('/api/employees', auth, checkPermission('employee', 'create'), employees.create)
|
app.post('/api/employees', auth, checkPermission('employee', 'create'), employees.create)
|
||||||
|
|||||||
Reference in New Issue
Block a user