最后小修
This commit is contained in:
19
db.js
19
db.js
@@ -268,11 +268,12 @@ async function seedDepartmentsAndPermissions() {
|
||||
{ name: 'operations_manager', description: '运营部' },
|
||||
{ name: 'procurement_manager', description: '采购部' },
|
||||
{ name: 'finance', description: '财务部' },
|
||||
{ name: 'hr', description: '人力资源部' },
|
||||
]
|
||||
for (const d of deptList) {
|
||||
await pool.query('INSERT INTO departments (name, description) VALUES (?, ?)', [d.name, d.description])
|
||||
}
|
||||
console.log('[init] 已初始化 6 个部门')
|
||||
console.log('[init] 已初始化 7 个部门')
|
||||
|
||||
const permissionList = [
|
||||
{ name: 'customer:read', description: '查看加盟商', resource: 'customer', action: 'read' },
|
||||
@@ -310,9 +311,12 @@ async function seedDepartmentsAndPermissions() {
|
||||
console.log('[init] 已初始化 25 个权限')
|
||||
|
||||
// 部门-权限映射
|
||||
const allPerms = permissionList.map(p => p.name)
|
||||
const deptPermMap = {
|
||||
admin: allPerms,
|
||||
admin: [
|
||||
'user:manage',
|
||||
'customer:read', 'contract:read', 'after_sale:read',
|
||||
'product:read', 'supplier:read', 'employee:read',
|
||||
],
|
||||
general_manager: [
|
||||
'customer:read', 'contract:read', 'after_sale:read',
|
||||
'product:read', 'supplier:read', 'employee:read',
|
||||
@@ -324,6 +328,7 @@ async function seedDepartmentsAndPermissions() {
|
||||
],
|
||||
operations_manager: [
|
||||
'customer:read',
|
||||
'contract:read',
|
||||
'after_sale:read', 'after_sale:create', 'after_sale:update', 'after_sale:delete',
|
||||
'employee:read',
|
||||
],
|
||||
@@ -336,6 +341,12 @@ async function seedDepartmentsAndPermissions() {
|
||||
],
|
||||
finance: [
|
||||
'customer:read', 'contract:read', 'after_sale:read', 'product:read', 'employee:read',
|
||||
'supplier:read',
|
||||
],
|
||||
hr: [
|
||||
'employee:read', 'employee:create', 'employee:update', 'employee:delete',
|
||||
'user:manage',
|
||||
'customer:read',
|
||||
],
|
||||
}
|
||||
|
||||
@@ -369,6 +380,7 @@ async function seedDefaultUsers() {
|
||||
{ name: '赵强', gender: '男', age: 36, education: '本科', department: '采购部', entry_date: '2017-09-20', position: '采购经理', salary: 18000, phone: '13800001004', email: 'zhaoqiang@mixue.com' },
|
||||
{ name: '陈芳', gender: '女', age: 30, education: '本科', department: '财务部', entry_date: '2020-03-05', position: '财务主管', salary: 15000, phone: '13800001005', email: 'chenfang@mixue.com' },
|
||||
{ name: '系统管理员', gender: '男', age: 28, education: '本科', department: '信息技术部', entry_date: '2022-07-01', position: '系统管理员', salary: 12000, phone: '13800001006', email: 'admin@mixue.com' },
|
||||
{ name: '杨帆', gender: '女', age: 34, education: '本科', department: '人力资源部', entry_date: '2019-05-01', position: '人力资源经理', salary: 15000, phone: '13800001007', email: 'yangfan@mixue.com' },
|
||||
]
|
||||
|
||||
const seedUsers = [
|
||||
@@ -378,6 +390,7 @@ async function seedDefaultUsers() {
|
||||
{ username: 'zhaoqiang', deptName: 'procurement_manager' },
|
||||
{ username: 'chenfang', deptName: 'finance' },
|
||||
{ username: 'admin', deptName: 'admin' },
|
||||
{ username: 'yangfan', deptName: 'hr' },
|
||||
]
|
||||
|
||||
for (let i = 0; i < seedUsers.length; i++) {
|
||||
|
||||
Reference in New Issue
Block a user