feat:机构员工

This commit is contained in:
zsqtony 2025-07-01 11:35:54 +08:00
parent 013e4d8e05
commit 8c73e695e2
8 changed files with 330 additions and 221 deletions

View File

@ -1,7 +1,7 @@
import { MyResponseType, renderTextHelper } from '@/common'; import { MyResponseType, renderTextHelper } from '@/common';
import { Apis } from '@/gen/Apis'; import { Apis } from '@/gen/Apis';
import { ProColumns } from '@ant-design/pro-components'; import { ProColumns } from '@ant-design/pro-components';
import { Popconfirm, Space, Tag } from 'antd'; import { Popconfirm, Tag } from 'antd';
type ReturnType = ProColumns<Record<string, any>, 'text'>; type ReturnType = ProColumns<Record<string, any>, 'text'>;
@ -173,33 +173,15 @@ export const MyColumns = {
...rest, ...rest,
}; };
}, },
Network(props?: ReturnType): ReturnType { Companies(props?: ReturnType): ReturnType {
return { return {
title: 'network', title: '选择机构',
...props,
render: (_: any, item: any) => {
const data = props?.dataIndex === 'network' ? item.network : item;
return (
<Space>
<img width={24} src={data.icon[0].url} />
<div>{data.name}</div>
</Space>
);
},
valueType: 'select', valueType: 'select',
key: 'networks_id', hideInTable: true,
fieldProps: { key: 'companies_id',
fieldNames: { value: 'id', label: 'name' }, dataIndex: 'companies_id',
optionRender: (item: any) => { request: async () => (await Apis.Company.Companies.Select()).data,
return ( ...props,
<Space>
<img width={24} src={item.data.icon[0].url} />
<div>{item.data.name}</div>
</Space>
);
},
},
request: async () => (await Apis.Select.Networks()).data,
}; };
}, },
Token({ ...rest }) { Token({ ...rest }) {

20
src/gen/ApiTypes.d.ts vendored
View File

@ -26,9 +26,6 @@ declare namespace ApiTypes {
"asset_projects_id"?: number; // 所属项目id,[ref:asset_projects] "asset_projects_id"?: number; // 所属项目id,[ref:asset_projects]
"keywords"?: string; // 关键词 "keywords"?: string; // 关键词
}; };
type GetBuildingTree = {
"asset_projects_id": number; // 所属项目id
};
} }
namespace AssetHouses { namespace AssetHouses {
type List = { type List = {
@ -308,6 +305,8 @@ declare namespace ApiTypes {
} }
namespace CompanyEmployees { namespace CompanyEmployees {
type List = { type List = {
"companies_id"?: number; // 机构ID
"organizations_id"?: number; // 组织机构ID
"name"?: string; // 模糊搜索:名称 "name"?: string; // 模糊搜索:名称
"phone"?: string; // 模糊搜索:手机号 "phone"?: string; // 模糊搜索:手机号
}; };
@ -350,13 +349,13 @@ declare namespace ApiTypes {
} }
namespace CompanyPositions { namespace CompanyPositions {
type List = { type List = {
"companies_id"?: number; // 机构ID
"name"?: string; // 模糊搜索:名称 "name"?: string; // 模糊搜索:名称
}; };
type Store = { type Store = {
"companies_id": number; // 所属机构id,[ref:companies] "companies_id": number; // 所属机构id,[ref:companies]
"name": string; // 岗位名称 "name": string; // 岗位名称
"code": string; // 岗位编号 "code"?: string; // 岗位编号
"sort"?: number; // 排序
"status"?: number; // 状态 "status"?: number; // 状态
"remark"?: string; // 备注 "remark"?: string; // 备注
}; };
@ -364,8 +363,7 @@ declare namespace ApiTypes {
"id": number; // id "id": number; // id
"companies_id": number; // 所属机构id,[ref:companies] "companies_id": number; // 所属机构id,[ref:companies]
"name": string; // 岗位名称 "name": string; // 岗位名称
"code": string; // 岗位编号 "code"?: string; // 岗位编号
"sort"?: number; // 排序
"status"?: number; // 状态 "status"?: number; // 状态
"remark"?: string; // 备注 "remark"?: string; // 备注
}; };
@ -483,12 +481,12 @@ declare namespace ApiTypes {
type Store = { type Store = {
"asset_projects_id": number; // 所属项目id,[ref:asset_projects] "asset_projects_id": number; // 所属项目id,[ref:asset_projects]
"grid_mark": string; // 网格标识 "grid_mark": string; // 网格标识
"grid_range": string[]; // 网格范围 "grid_ranges": string[]; // 网格范围
}; };
type Update = { type Update = {
"id": number; // id "id": number; // id
"grid_mark": string; // 网格标识 "grid_mark": string; // 网格标识
"grid_range": string[]; // 网格范围 "grid_ranges": string[]; // 网格范围
}; };
type Show = { type Show = {
"id": number; // id "id": number; // id
@ -496,6 +494,10 @@ declare namespace ApiTypes {
type Delete = { type Delete = {
"id": number; // id "id": number; // id
}; };
type AddManager = {
"id": number; // id
"company_employees_id": number; // 公司员工id
};
type GetGridMark = { type GetGridMark = {
"asset_projects_id": number; // - "asset_projects_id": number; // -
}; };

View File

@ -7,36 +7,21 @@ export const Apis = {
List(data?: ApiTypes.Asset.AssetBuildings.List): Promise<MyResponseType> { List(data?: ApiTypes.Asset.AssetBuildings.List): Promise<MyResponseType> {
return request('admin/asset/asset_buildings/list', { data }); return request('admin/asset/asset_buildings/list', { data });
}, },
Store( Store(data: ApiTypes.Asset.AssetBuildings.Store): Promise<MyResponseType> {
data: ApiTypes.Asset.AssetBuildings.Store,
): Promise<MyResponseType> {
return request('admin/asset/asset_buildings/store', { data }); return request('admin/asset/asset_buildings/store', { data });
}, },
Update( Update(data: ApiTypes.Asset.AssetBuildings.Update): Promise<MyResponseType> {
data: ApiTypes.Asset.AssetBuildings.Update,
): Promise<MyResponseType> {
return request('admin/asset/asset_buildings/update', { data }); return request('admin/asset/asset_buildings/update', { data });
}, },
Show(data: ApiTypes.Asset.AssetBuildings.Show): Promise<MyResponseType> { Show(data: ApiTypes.Asset.AssetBuildings.Show): Promise<MyResponseType> {
return request('admin/asset/asset_buildings/show', { data }); return request('admin/asset/asset_buildings/show', { data });
}, },
Delete( Delete(data: ApiTypes.Asset.AssetBuildings.Delete): Promise<MyResponseType> {
data: ApiTypes.Asset.AssetBuildings.Delete,
): Promise<MyResponseType> {
return request('admin/asset/asset_buildings/delete', { data }); return request('admin/asset/asset_buildings/delete', { data });
}, },
Select( Select(data?: ApiTypes.Asset.AssetBuildings.Select): Promise<MyResponseType> {
data?: ApiTypes.Asset.AssetBuildings.Select,
): Promise<MyResponseType> {
return request('admin/asset/asset_buildings/select', { data }); return request('admin/asset/asset_buildings/select', { data });
}, },
GetBuildingTree(
data: ApiTypes.Asset.AssetBuildings.GetBuildingTree,
): Promise<MyResponseType> {
return request('admin/asset/asset_buildings/get_building_tree', {
data,
});
},
}, },
AssetHouses: { AssetHouses: {
List(data?: ApiTypes.Asset.AssetHouses.List): Promise<MyResponseType> { List(data?: ApiTypes.Asset.AssetHouses.List): Promise<MyResponseType> {
@ -62,32 +47,22 @@ export const Apis = {
Store(data: ApiTypes.Asset.AssetProjects.Store): Promise<MyResponseType> { Store(data: ApiTypes.Asset.AssetProjects.Store): Promise<MyResponseType> {
return request('admin/asset/asset_projects/store', { data }); return request('admin/asset/asset_projects/store', { data });
}, },
Update( Update(data: ApiTypes.Asset.AssetProjects.Update): Promise<MyResponseType> {
data: ApiTypes.Asset.AssetProjects.Update,
): Promise<MyResponseType> {
return request('admin/asset/asset_projects/update', { data }); return request('admin/asset/asset_projects/update', { data });
}, },
Show(data: ApiTypes.Asset.AssetProjects.Show): Promise<MyResponseType> { Show(data: ApiTypes.Asset.AssetProjects.Show): Promise<MyResponseType> {
return request('admin/asset/asset_projects/show', { data }); return request('admin/asset/asset_projects/show', { data });
}, },
SoftDelete( SoftDelete(data: ApiTypes.Asset.AssetProjects.SoftDelete): Promise<MyResponseType> {
data: ApiTypes.Asset.AssetProjects.SoftDelete,
): Promise<MyResponseType> {
return request('admin/asset/asset_projects/soft_delete', { data }); return request('admin/asset/asset_projects/soft_delete', { data });
}, },
Restore( Restore(data: ApiTypes.Asset.AssetProjects.Restore): Promise<MyResponseType> {
data: ApiTypes.Asset.AssetProjects.Restore,
): Promise<MyResponseType> {
return request('admin/asset/asset_projects/restore', { data }); return request('admin/asset/asset_projects/restore', { data });
}, },
Delete( Delete(data: ApiTypes.Asset.AssetProjects.Delete): Promise<MyResponseType> {
data: ApiTypes.Asset.AssetProjects.Delete,
): Promise<MyResponseType> {
return request('admin/asset/asset_projects/delete', { data }); return request('admin/asset/asset_projects/delete', { data });
}, },
Select( Select(data?: ApiTypes.Asset.AssetProjects.Select): Promise<MyResponseType> {
data?: ApiTypes.Asset.AssetProjects.Select,
): Promise<MyResponseType> {
return request('admin/asset/asset_projects/select', { data }); return request('admin/asset/asset_projects/select', { data });
}, },
}, },
@ -143,17 +118,13 @@ export const Apis = {
Me(): Promise<MyResponseType> { Me(): Promise<MyResponseType> {
return request('admin/common/auth/me', {}); return request('admin/common/auth/me', {});
}, },
ChangePassword( ChangePassword(data: ApiTypes.Common.Auth.ChangePassword): Promise<MyResponseType> {
data: ApiTypes.Common.Auth.ChangePassword,
): Promise<MyResponseType> {
return request('admin/common/auth/change_password', { data }); return request('admin/common/auth/change_password', { data });
}, },
PreUpload(data: ApiTypes.Common.Auth.PreUpload): Promise<MyResponseType> { PreUpload(data: ApiTypes.Common.Auth.PreUpload): Promise<MyResponseType> {
return request('admin/common/auth/pre_upload', { data }); return request('admin/common/auth/pre_upload', { data });
}, },
TemporaryUrl( TemporaryUrl(data: ApiTypes.Common.Auth.TemporaryUrl): Promise<MyResponseType> {
data: ApiTypes.Common.Auth.TemporaryUrl,
): Promise<MyResponseType> {
return request('admin/common/auth/temporary_url', { data }); return request('admin/common/auth/temporary_url', { data });
}, },
}, },
@ -172,160 +143,96 @@ export const Apis = {
Show(data: ApiTypes.Company.Companies.Show): Promise<MyResponseType> { Show(data: ApiTypes.Company.Companies.Show): Promise<MyResponseType> {
return request('admin/company/companies/show', { data }); return request('admin/company/companies/show', { data });
}, },
SoftDelete( SoftDelete(data: ApiTypes.Company.Companies.SoftDelete): Promise<MyResponseType> {
data: ApiTypes.Company.Companies.SoftDelete,
): Promise<MyResponseType> {
return request('admin/company/companies/soft_delete', { data }); return request('admin/company/companies/soft_delete', { data });
}, },
Restore( Restore(data: ApiTypes.Company.Companies.Restore): Promise<MyResponseType> {
data: ApiTypes.Company.Companies.Restore,
): Promise<MyResponseType> {
return request('admin/company/companies/restore', { data }); return request('admin/company/companies/restore', { data });
}, },
Delete(data: ApiTypes.Company.Companies.Delete): Promise<MyResponseType> { Delete(data: ApiTypes.Company.Companies.Delete): Promise<MyResponseType> {
return request('admin/company/companies/delete', { data }); return request('admin/company/companies/delete', { data });
}, },
Select( Select(data?: ApiTypes.Company.Companies.Select): Promise<MyResponseType> {
data?: ApiTypes.Company.Companies.Select,
): Promise<MyResponseType> {
return request('admin/company/companies/select', { data }); return request('admin/company/companies/select', { data });
}, },
}, },
CompanyEmployees: { CompanyEmployees: {
List( List(data?: ApiTypes.Company.CompanyEmployees.List): Promise<MyResponseType> {
data?: ApiTypes.Company.CompanyEmployees.List,
): Promise<MyResponseType> {
return request('admin/company/company_employees/list', { data }); return request('admin/company/company_employees/list', { data });
}, },
Store( Store(data: ApiTypes.Company.CompanyEmployees.Store): Promise<MyResponseType> {
data: ApiTypes.Company.CompanyEmployees.Store,
): Promise<MyResponseType> {
return request('admin/company/company_employees/store', { data }); return request('admin/company/company_employees/store', { data });
}, },
Update( Update(data: ApiTypes.Company.CompanyEmployees.Update): Promise<MyResponseType> {
data: ApiTypes.Company.CompanyEmployees.Update,
): Promise<MyResponseType> {
return request('admin/company/company_employees/update', { data }); return request('admin/company/company_employees/update', { data });
}, },
Show( Show(data: ApiTypes.Company.CompanyEmployees.Show): Promise<MyResponseType> {
data: ApiTypes.Company.CompanyEmployees.Show,
): Promise<MyResponseType> {
return request('admin/company/company_employees/show', { data }); return request('admin/company/company_employees/show', { data });
}, },
SoftDelete( SoftDelete(data: ApiTypes.Company.CompanyEmployees.SoftDelete): Promise<MyResponseType> {
data: ApiTypes.Company.CompanyEmployees.SoftDelete,
): Promise<MyResponseType> {
return request('admin/company/company_employees/soft_delete', { data }); return request('admin/company/company_employees/soft_delete', { data });
}, },
Restore( Restore(data: ApiTypes.Company.CompanyEmployees.Restore): Promise<MyResponseType> {
data: ApiTypes.Company.CompanyEmployees.Restore,
): Promise<MyResponseType> {
return request('admin/company/company_employees/restore', { data }); return request('admin/company/company_employees/restore', { data });
}, },
Delete( Delete(data: ApiTypes.Company.CompanyEmployees.Delete): Promise<MyResponseType> {
data: ApiTypes.Company.CompanyEmployees.Delete,
): Promise<MyResponseType> {
return request('admin/company/company_employees/delete', { data }); return request('admin/company/company_employees/delete', { data });
}, },
Select( Select(data?: ApiTypes.Company.CompanyEmployees.Select): Promise<MyResponseType> {
data?: ApiTypes.Company.CompanyEmployees.Select,
): Promise<MyResponseType> {
return request('admin/company/company_employees/select', { data }); return request('admin/company/company_employees/select', { data });
}, },
}, },
CompanyPositions: { CompanyPositions: {
List( List(data?: ApiTypes.Company.CompanyPositions.List): Promise<MyResponseType> {
data?: ApiTypes.Company.CompanyPositions.List,
): Promise<MyResponseType> {
return request('admin/company/company_positions/list', { data }); return request('admin/company/company_positions/list', { data });
}, },
Store( Store(data: ApiTypes.Company.CompanyPositions.Store): Promise<MyResponseType> {
data: ApiTypes.Company.CompanyPositions.Store,
): Promise<MyResponseType> {
return request('admin/company/company_positions/store', { data }); return request('admin/company/company_positions/store', { data });
}, },
Update( Update(data: ApiTypes.Company.CompanyPositions.Update): Promise<MyResponseType> {
data: ApiTypes.Company.CompanyPositions.Update,
): Promise<MyResponseType> {
return request('admin/company/company_positions/update', { data }); return request('admin/company/company_positions/update', { data });
}, },
Show( Show(data: ApiTypes.Company.CompanyPositions.Show): Promise<MyResponseType> {
data: ApiTypes.Company.CompanyPositions.Show,
): Promise<MyResponseType> {
return request('admin/company/company_positions/show', { data }); return request('admin/company/company_positions/show', { data });
}, },
Delete( Delete(data: ApiTypes.Company.CompanyPositions.Delete): Promise<MyResponseType> {
data: ApiTypes.Company.CompanyPositions.Delete,
): Promise<MyResponseType> {
return request('admin/company/company_positions/delete', { data }); return request('admin/company/company_positions/delete', { data });
}, },
Select( Select(data?: ApiTypes.Company.CompanyPositions.Select): Promise<MyResponseType> {
data?: ApiTypes.Company.CompanyPositions.Select,
): Promise<MyResponseType> {
return request('admin/company/company_positions/select', { data }); return request('admin/company/company_positions/select', { data });
}, },
}, },
CompanyReceiptAccounts: { CompanyReceiptAccounts: {
List( List(data?: ApiTypes.Company.CompanyReceiptAccounts.List): Promise<MyResponseType> {
data?: ApiTypes.Company.CompanyReceiptAccounts.List,
): Promise<MyResponseType> {
return request('admin/company/company_receipt_accounts/list', { data }); return request('admin/company/company_receipt_accounts/list', { data });
}, },
Store( Store(data: ApiTypes.Company.CompanyReceiptAccounts.Store): Promise<MyResponseType> {
data: ApiTypes.Company.CompanyReceiptAccounts.Store, return request('admin/company/company_receipt_accounts/store', { data });
): Promise<MyResponseType> {
return request('admin/company/company_receipt_accounts/store', {
data,
});
}, },
Update( Update(data: ApiTypes.Company.CompanyReceiptAccounts.Update): Promise<MyResponseType> {
data: ApiTypes.Company.CompanyReceiptAccounts.Update, return request('admin/company/company_receipt_accounts/update', { data });
): Promise<MyResponseType> {
return request('admin/company/company_receipt_accounts/update', {
data,
});
}, },
Show( Show(data: ApiTypes.Company.CompanyReceiptAccounts.Show): Promise<MyResponseType> {
data: ApiTypes.Company.CompanyReceiptAccounts.Show,
): Promise<MyResponseType> {
return request('admin/company/company_receipt_accounts/show', { data }); return request('admin/company/company_receipt_accounts/show', { data });
}, },
SoftDelete( SoftDelete(data: ApiTypes.Company.CompanyReceiptAccounts.SoftDelete): Promise<MyResponseType> {
data: ApiTypes.Company.CompanyReceiptAccounts.SoftDelete, return request('admin/company/company_receipt_accounts/soft_delete', { data });
): Promise<MyResponseType> {
return request('admin/company/company_receipt_accounts/soft_delete', {
data,
});
}, },
Restore( Restore(data: ApiTypes.Company.CompanyReceiptAccounts.Restore): Promise<MyResponseType> {
data: ApiTypes.Company.CompanyReceiptAccounts.Restore, return request('admin/company/company_receipt_accounts/restore', { data });
): Promise<MyResponseType> {
return request('admin/company/company_receipt_accounts/restore', {
data,
});
}, },
Delete( Delete(data: ApiTypes.Company.CompanyReceiptAccounts.Delete): Promise<MyResponseType> {
data: ApiTypes.Company.CompanyReceiptAccounts.Delete, return request('admin/company/company_receipt_accounts/delete', { data });
): Promise<MyResponseType> {
return request('admin/company/company_receipt_accounts/delete', {
data,
});
}, },
}, },
Organizations: { Organizations: {
List( List(data?: ApiTypes.Company.Organizations.List): Promise<MyResponseType> {
data?: ApiTypes.Company.Organizations.List,
): Promise<MyResponseType> {
return request('admin/company/organizations/list', { data }); return request('admin/company/organizations/list', { data });
}, },
Store( Store(data: ApiTypes.Company.Organizations.Store): Promise<MyResponseType> {
data: ApiTypes.Company.Organizations.Store,
): Promise<MyResponseType> {
return request('admin/company/organizations/store', { data }); return request('admin/company/organizations/store', { data });
}, },
Update( Update(data: ApiTypes.Company.Organizations.Update): Promise<MyResponseType> {
data: ApiTypes.Company.Organizations.Update,
): Promise<MyResponseType> {
return request('admin/company/organizations/update', { data }); return request('admin/company/organizations/update', { data });
}, },
Move(data: ApiTypes.Company.Organizations.Move): Promise<MyResponseType> { Move(data: ApiTypes.Company.Organizations.Move): Promise<MyResponseType> {
@ -334,29 +241,19 @@ export const Apis = {
Show(data: ApiTypes.Company.Organizations.Show): Promise<MyResponseType> { Show(data: ApiTypes.Company.Organizations.Show): Promise<MyResponseType> {
return request('admin/company/organizations/show', { data }); return request('admin/company/organizations/show', { data });
}, },
SoftDelete( SoftDelete(data: ApiTypes.Company.Organizations.SoftDelete): Promise<MyResponseType> {
data: ApiTypes.Company.Organizations.SoftDelete,
): Promise<MyResponseType> {
return request('admin/company/organizations/soft_delete', { data }); return request('admin/company/organizations/soft_delete', { data });
}, },
Restore( Restore(data: ApiTypes.Company.Organizations.Restore): Promise<MyResponseType> {
data: ApiTypes.Company.Organizations.Restore,
): Promise<MyResponseType> {
return request('admin/company/organizations/restore', { data }); return request('admin/company/organizations/restore', { data });
}, },
Delete( Delete(data: ApiTypes.Company.Organizations.Delete): Promise<MyResponseType> {
data: ApiTypes.Company.Organizations.Delete,
): Promise<MyResponseType> {
return request('admin/company/organizations/delete', { data }); return request('admin/company/organizations/delete', { data });
}, },
Select( Select(data?: ApiTypes.Company.Organizations.Select): Promise<MyResponseType> {
data?: ApiTypes.Company.Organizations.Select,
): Promise<MyResponseType> {
return request('admin/company/organizations/select', { data }); return request('admin/company/organizations/select', { data });
}, },
SelectTree( SelectTree(data?: ApiTypes.Company.Organizations.SelectTree): Promise<MyResponseType> {
data?: ApiTypes.Company.Organizations.SelectTree,
): Promise<MyResponseType> {
return request('admin/company/organizations/select_tree', { data }); return request('admin/company/organizations/select_tree', { data });
}, },
}, },
@ -378,43 +275,32 @@ export const Apis = {
Delete(data: ApiTypes.Grid.Grids.Delete): Promise<MyResponseType> { Delete(data: ApiTypes.Grid.Grids.Delete): Promise<MyResponseType> {
return request('admin/grid/grids/delete', { data }); return request('admin/grid/grids/delete', { data });
}, },
GetGridMark( AddManager(data: ApiTypes.Grid.Grids.AddManager): Promise<MyResponseType> {
data: ApiTypes.Grid.Grids.GetGridMark, return request('admin/grid/grids/add_manager', { data });
): Promise<MyResponseType> { },
GetGridMark(data: ApiTypes.Grid.Grids.GetGridMark): Promise<MyResponseType> {
return request('admin/grid/grids/get_grid_mark', { data }); return request('admin/grid/grids/get_grid_mark', { data });
}, },
}, },
}, },
Permission: { Permission: {
SysPermissions: { SysPermissions: {
List( List(data: ApiTypes.Permission.SysPermissions.List): Promise<MyResponseType> {
data: ApiTypes.Permission.SysPermissions.List,
): Promise<MyResponseType> {
return request('admin/permission/sys_permissions/list', { data }); return request('admin/permission/sys_permissions/list', { data });
}, },
Tree( Tree(data: ApiTypes.Permission.SysPermissions.Tree): Promise<MyResponseType> {
data: ApiTypes.Permission.SysPermissions.Tree,
): Promise<MyResponseType> {
return request('admin/permission/sys_permissions/tree', { data }); return request('admin/permission/sys_permissions/tree', { data });
}, },
Store( Store(data: ApiTypes.Permission.SysPermissions.Store): Promise<MyResponseType> {
data: ApiTypes.Permission.SysPermissions.Store,
): Promise<MyResponseType> {
return request('admin/permission/sys_permissions/store', { data }); return request('admin/permission/sys_permissions/store', { data });
}, },
Update( Update(data: ApiTypes.Permission.SysPermissions.Update): Promise<MyResponseType> {
data: ApiTypes.Permission.SysPermissions.Update,
): Promise<MyResponseType> {
return request('admin/permission/sys_permissions/update', { data }); return request('admin/permission/sys_permissions/update', { data });
}, },
Delete( Delete(data: ApiTypes.Permission.SysPermissions.Delete): Promise<MyResponseType> {
data: ApiTypes.Permission.SysPermissions.Delete,
): Promise<MyResponseType> {
return request('admin/permission/sys_permissions/delete', { data }); return request('admin/permission/sys_permissions/delete', { data });
}, },
Move( Move(data: ApiTypes.Permission.SysPermissions.Move): Promise<MyResponseType> {
data: ApiTypes.Permission.SysPermissions.Move,
): Promise<MyResponseType> {
return request('admin/permission/sys_permissions/move', { data }); return request('admin/permission/sys_permissions/move', { data });
}, },
SelectApi(): Promise<MyResponseType> { SelectApi(): Promise<MyResponseType> {
@ -428,29 +314,21 @@ export const Apis = {
Store(data: ApiTypes.Permission.SysRoles.Store): Promise<MyResponseType> { Store(data: ApiTypes.Permission.SysRoles.Store): Promise<MyResponseType> {
return request('admin/permission/sys_roles/store', { data }); return request('admin/permission/sys_roles/store', { data });
}, },
Update( Update(data: ApiTypes.Permission.SysRoles.Update): Promise<MyResponseType> {
data: ApiTypes.Permission.SysRoles.Update,
): Promise<MyResponseType> {
return request('admin/permission/sys_roles/update', { data }); return request('admin/permission/sys_roles/update', { data });
}, },
Delete( Delete(data: ApiTypes.Permission.SysRoles.Delete): Promise<MyResponseType> {
data: ApiTypes.Permission.SysRoles.Delete,
): Promise<MyResponseType> {
return request('admin/permission/sys_roles/delete', { data }); return request('admin/permission/sys_roles/delete', { data });
}, },
Select(): Promise<MyResponseType> { Select(): Promise<MyResponseType> {
return request('admin/permission/sys_roles/select', {}); return request('admin/permission/sys_roles/select', {});
}, },
GetPermissions( GetPermissions(data: ApiTypes.Permission.SysRoles.GetPermissions): Promise<MyResponseType> {
data: ApiTypes.Permission.SysRoles.GetPermissions,
): Promise<MyResponseType> {
return request('admin/permission/sys_roles/get_permissions', { data }); return request('admin/permission/sys_roles/get_permissions', { data });
}, },
SetPermissions( SetPermissions(data: ApiTypes.Permission.SysRoles.SetPermissions): Promise<MyResponseType> {
data: ApiTypes.Permission.SysRoles.SetPermissions,
): Promise<MyResponseType> {
return request('admin/permission/sys_roles/set_permissions', { data }); return request('admin/permission/sys_roles/set_permissions', { data });
}, },
}, },
}, },
}; }

View File

@ -5,6 +5,7 @@ import { useParams } from '@umijs/max';
import { Tabs } from 'antd'; import { Tabs } from 'antd';
import { useEffect, useState } from 'react'; import { useEffect, useState } from 'react';
import ComponentsInfo from './components/ComponentsInfo'; import ComponentsInfo from './components/ComponentsInfo';
import Employees from './components/Employees';
import Organizations from './components/Organizations'; import Organizations from './components/Organizations';
import Positions from './components/Positions'; import Positions from './components/Positions';
import Projects from './components/Projects'; import Projects from './components/Projects';
@ -45,7 +46,7 @@ export default function Show({ title = '机构详情' }) {
label: '员工管理', label: '员工管理',
key: '4', key: '4',
closable: false, closable: false,
// children: <Employees item={data} />, children: <Employees item={data} />,
}, },
{ {
label: '岗位管理', label: '岗位管理',

View File

@ -0,0 +1,76 @@
import {
MyBetaModalFormProps,
MyButtons,
MyColumns,
MyProTableProps,
} from '@/common';
import { Apis } from '@/gen/Apis';
import { ProTable } from '@ant-design/pro-components';
import { Space } from 'antd';
import EmployeesCreate from '../modals/EmployeesCreate';
import EmployeesUpdate from '../modals/EmployeesUpdate';
export default function Index(props: MyBetaModalFormProps) {
return (
<ProTable
{...MyProTableProps.props}
// search={false}
request={async (params, sort) =>
MyProTableProps.request(
{ ...params, companies_id: props?.item?.id },
sort,
Apis.Company.CompanyEmployees.List,
)
}
toolBarRender={(action) => [
<EmployeesCreate
key="Create"
item={{ companies_id: props?.item?.id }}
reload={action?.reload}
title="员工"
/>,
]}
columns={[
MyColumns.ID(),
{
title: '姓名',
dataIndex: 'name',
},
{
title: '手机号',
dataIndex: 'phone',
},
{
title: '机构',
dataIndex: ['company', 'name'],
search: false,
},
{
title: '组织',
dataIndex: ['organization', 'name'],
search: false,
},
MyColumns.UpdatedAt(),
MyColumns.CreatedAt(),
MyColumns.Option({
render: (_, item: any, index, action) => (
<Space key={index}>
<EmployeesUpdate
item={item}
reload={action?.reload}
title="员工"
/>
<MyButtons.Delete
onConfirm={() =>
Apis.Common.Admins.Delete({ id: item.id }).then(() =>
action?.reload(),
)
}
/>
</Space>
),
}),
]}
/>
);
}

View File

@ -0,0 +1,77 @@
import {
MyBetaModalFormProps,
MyButtons,
MyFormItems,
MyModalFormProps,
rulesHelper,
} from '@/common';
import { Selects } from '@/components/Select';
import { Apis } from '@/gen/Apis';
import { SexEnum } from '@/gen/Enums';
import { BetaSchemaForm } from '@ant-design/pro-components';
import { message } from 'antd';
export default function Create(props: MyBetaModalFormProps) {
return (
<BetaSchemaForm<ApiTypes.Company.CompanyEmployees.Store>
{...MyModalFormProps.props}
title={`添加${props?.title}`}
wrapperCol={{ span: 24 }}
width="500px"
trigger={<MyButtons.Create title={`添加${props?.title}`} />}
onFinish={async (values) =>
Apis.Company.CompanyEmployees.Store(values)
.then(() => {
props.reload?.();
message.success(props.title + '成功');
return true;
})
.catch(() => false)
}
columns={[
Selects?.Organizations({
title: '所属组织',
params: { companies_id: props?.item?.companies_id },
key: 'organizations_id',
formItemProps: { ...rulesHelper.text },
}),
{
key: 'name',
title: '姓名',
colProps: { span: 6 },
formItemProps: { ...rulesHelper.text },
},
{
key: 'phone',
title: '手机号',
valueType: 'number',
fieldProps: {
maxLength: 11,
},
colProps: { span: 12 },
formItemProps: { ...rulesHelper.text },
},
MyFormItems.EnumRadio({
key: 'sex',
title: '性别',
colProps: { span: 6 },
valueEnum: SexEnum,
required: true,
}),
{
key: 'password',
title: '密码',
colProps: { span: 24 },
valueType: 'password',
},
{
key: 'remark',
title: '备注',
colProps: { span: 24 },
valueType: 'textarea',
},
]}
/>
);
}

View File

@ -0,0 +1,90 @@
import {
MyBetaModalFormProps,
MyButtons,
MyFormItems,
MyModalFormProps,
rulesHelper,
} from '@/common';
import { Selects } from '@/components/Select';
import { Apis } from '@/gen/Apis';
import { SexEnum } from '@/gen/Enums';
import { BetaSchemaForm } from '@ant-design/pro-components';
import { Form, message } from 'antd';
export default function Update(props: MyBetaModalFormProps) {
const [form] = Form.useForm();
return (
<BetaSchemaForm<ApiTypes.Company.CompanyEmployees.Update>
{...MyModalFormProps.props}
title={`编辑员工`}
trigger={<MyButtons.Edit />}
wrapperCol={{ span: 24 }}
width="500px"
form={form}
onOpenChange={(open: any) => {
if (open && props.item) {
form.setFieldsValue({
...props.item,
roles_id: props.item?.roles?.map((item: any) => item.value),
});
}
}}
onFinish={async (values) =>
Apis.Company.CompanyEmployees.Update({
...values,
id: props.item?.id ?? 0,
})
.then(() => {
props.reload?.();
message.success(props.title + '成功');
return true;
})
.catch(() => false)
}
columns={[
Selects?.Organizations({
title: '所属组织',
params: { companies_id: props?.item?.companies_id },
key: 'organizations_id',
formItemProps: { ...rulesHelper.text },
}),
{
key: 'name',
title: '姓名',
colProps: { span: 6 },
formItemProps: { ...rulesHelper.text },
},
{
key: 'phone',
title: '手机号',
valueType: 'number',
fieldProps: {
maxLength: 11,
},
colProps: { span: 12 },
formItemProps: { ...rulesHelper.text },
},
MyFormItems.EnumRadio({
key: 'sex',
title: '性别',
colProps: { span: 6 },
valueEnum: SexEnum,
required: true,
}),
{
key: 'password',
title: '密码',
colProps: { span: 24 },
valueType: 'password',
},
{
key: 'remark',
title: '备注',
colProps: { span: 24 },
valueType: 'textarea',
},
]}
/>
);
}

View File

@ -28,6 +28,9 @@ export default function Index({ title = '员工管理' }) {
]} ]}
columns={[ columns={[
MyColumns.ID(), MyColumns.ID(),
MyColumns.Companies({
title: '选择机构',
}),
{ {
title: '姓名', title: '姓名',
dataIndex: 'name', dataIndex: 'name',