更新API说明文档

This commit is contained in:
Kyaru
2026-06-25 21:52:41 +08:00
parent 67c9330659
commit b4cc90d2d3
3 changed files with 28 additions and 3 deletions

View File

@@ -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
) )

View File

@@ -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 }

View File

@@ -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)