218 lines
5.0 KiB
TypeScript
218 lines
5.0 KiB
TypeScript
import { MockMethod, Recordable } from 'vite-plugin-mock'
|
|
import { resultPageSuccess, resultSuccess } from './_util'
|
|
import * as Mock from 'mockjs'
|
|
|
|
export default [
|
|
{
|
|
url: '/api/v1/depts',
|
|
method: 'get',
|
|
response: (opt: { url: Recordable; query: Recordable }) => {
|
|
return resultPageSuccess({
|
|
page: opt.query['page'],
|
|
limit: opt.query['limit'],
|
|
total: 8,
|
|
data: [
|
|
{
|
|
Id: 1,
|
|
name: '中芯数科',
|
|
nameEn: '',
|
|
parentId: 0,
|
|
order: 100000000,
|
|
createdAt: 1680884140,
|
|
updatedAt: 1680884140
|
|
},
|
|
{
|
|
Id: 2,
|
|
name: '研发',
|
|
nameEn: '',
|
|
parentId: 1,
|
|
order: 100000000,
|
|
createdAt: 1680884140,
|
|
updatedAt: 1680884140
|
|
},
|
|
{
|
|
Id: 3,
|
|
name: '测试',
|
|
nameEn: '',
|
|
parentId: 2,
|
|
order: 100000000,
|
|
createdAt: 1680884140,
|
|
updatedAt: 1680884140
|
|
},
|
|
{
|
|
Id: 4,
|
|
name: '后端',
|
|
nameEn: '',
|
|
parentId: 2,
|
|
order: 99999000,
|
|
createdAt: 1680884141,
|
|
updatedAt: 1680884141
|
|
},
|
|
{
|
|
Id: 5,
|
|
name: '前端',
|
|
nameEn: '',
|
|
parentId: 2,
|
|
order: 99998000,
|
|
createdAt: 1680884141,
|
|
updatedAt: 1680884141
|
|
},
|
|
{
|
|
Id: 6,
|
|
name: '找下刚刚',
|
|
nameEn: '',
|
|
parentId: 2,
|
|
order: 99997000,
|
|
createdAt: 1680884141,
|
|
updatedAt: 1680884141
|
|
},
|
|
{
|
|
Id: 9,
|
|
name: '采购',
|
|
nameEn: '',
|
|
parentId: 1,
|
|
order: 99998000,
|
|
createdAt: 1680884141,
|
|
updatedAt: 1680884141
|
|
},
|
|
{
|
|
Id: 10,
|
|
name: '胡',
|
|
nameEn: '',
|
|
parentId: 9,
|
|
order: 100000000,
|
|
createdAt: 1680884141,
|
|
updatedAt: 1680884141
|
|
}
|
|
]
|
|
})
|
|
}
|
|
},
|
|
{
|
|
url: '/api/v1/depts/tree',
|
|
method: 'get',
|
|
response: () => {
|
|
return resultSuccess([
|
|
{
|
|
id: 1,
|
|
name: '默认',
|
|
nameEn: 'Default',
|
|
children: [
|
|
{
|
|
id: 2,
|
|
name: '研发',
|
|
nameEn: '',
|
|
children: [
|
|
{
|
|
id: 3,
|
|
name: '测试',
|
|
nameEn: ''
|
|
},
|
|
{
|
|
id: 4,
|
|
name: '后端',
|
|
nameEn: ''
|
|
},
|
|
{
|
|
id: 5,
|
|
name: '前端',
|
|
nameEn: ''
|
|
},
|
|
{
|
|
id: 6,
|
|
name: '找下刚刚',
|
|
nameEn: ''
|
|
}
|
|
]
|
|
},
|
|
{
|
|
id: 9,
|
|
name: '采购',
|
|
nameEn: '',
|
|
children: [
|
|
{
|
|
id: 10,
|
|
name: '胡',
|
|
nameEn: ''
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
])
|
|
}
|
|
},
|
|
{
|
|
url: /\/api\/v1\/depts\/\d+\/users/,
|
|
method: 'get',
|
|
response: (opt: { url: Recordable; query: Recordable }) => {
|
|
const limit = Number(opt.query['limit'])
|
|
const deptId = opt.url.split('/')[4]
|
|
const list = []
|
|
for (let i = 0; i < limit; i++) {
|
|
const record = Mock.mock({
|
|
'id|+1': 1000001,
|
|
'userId|+1': '@/name',
|
|
'name|+1': '@/cname',
|
|
mobile: /1[0-9]{10}/,
|
|
'gender|1-2': 0,
|
|
avatar: "@image('100x100', '@/color', '#FFF', 'png', '')",
|
|
position: '操作员',
|
|
bizMail: '@/email',
|
|
mainDepartment: deptId,
|
|
roles: [
|
|
{
|
|
id: 2,
|
|
name: '操作工'
|
|
}
|
|
],
|
|
departments: [
|
|
{
|
|
id: 1,
|
|
name: '研发'
|
|
},
|
|
{
|
|
id: deptId,
|
|
name: '测试'
|
|
}
|
|
],
|
|
lastLoginAt: 1682172226,
|
|
lastLoginIp: '[::1]:6536',
|
|
disabledAt: 0,
|
|
'updatedAt|1684332167-1684432167': 1684432167,
|
|
'createdAt|1684332167-1684432167': 1684432167
|
|
})
|
|
list.push(record)
|
|
}
|
|
|
|
return resultPageSuccess({
|
|
page: Number(opt.query['page']),
|
|
limit: Number(opt.query['limit']),
|
|
total: 22,
|
|
data: list
|
|
})
|
|
}
|
|
},
|
|
{
|
|
url: /\/api\/v1\/depts\/\d+/,
|
|
method: 'delete',
|
|
response: () => {
|
|
return resultSuccess(null)
|
|
}
|
|
},
|
|
{
|
|
url: '/api/v1/depts',
|
|
method: 'post',
|
|
response: () => {
|
|
return resultSuccess(null)
|
|
}
|
|
},
|
|
{
|
|
url: '/api/v1/depts',
|
|
method: 'put',
|
|
response: () => {
|
|
return resultSuccess(null)
|
|
}
|
|
}
|
|
] as MockMethod[]
|