| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- import type { SystemModel, TransformData } from '#/api';
- import { fromRole, fromRow } from '#/api/model';
- export function fromUser(data?: TransformData): SystemModel.User {
- const userId = data?.userId ?? data?.pid ?? data?.id;
- const id = userId === undefined || userId === null ? '' : String(userId);
- return {
- ...fromRow({
- ...data,
- id,
- createUser: data?.createBy ?? data?.createUser,
- createTime: data?.createTime,
- }),
- id,
- access: data?.userName ?? data?.userid,
- name: data?.nickName ?? data?.username,
- worker: data?.jobnumber,
- mobile: data?.phonenumber ?? data?.mobile,
- phone: data?.phonenumber ?? data?.mobile ?? data?.phone,
- pid: id,
- roles: data?.roles?.map((item: TransformData) => fromRole(item)) ?? [],
- sititutionId:
- data?.deptId === undefined || data?.deptId === null
- ? data?.sititutionId
- : String(data.deptId),
- status:
- data?.status === 0 ||
- data?.status === '0' ||
- data?.stateSel === 0 ||
- data?.stateSel === '0'
- ? 0
- : 1,
- hospitalName: data?.dept?.deptName ?? data?.hospitalName,
- roleNames:
- data?.roles
- ?.map(
- (item: TransformData) => item.roleName ?? item.rolename ?? item.name,
- )
- .filter(Boolean)
- .join(',') ?? '',
- remark: data?.remark,
- createUser: data?.createBy ?? data?.createUser,
- };
- }
- export function toUser(data?: Partial<SystemModel.User>): TransformData {
- const roleIds =
- data?.roles
- ?.map((item) => {
- if (typeof item === 'string' || typeof item === 'number') return item;
- return item.id ?? item.pid;
- })
- .filter((item) => item !== undefined && item !== '') ?? [];
- const userId = data?.pid ?? data?.id;
- const status =
- data?.status === 0 || data?.status === 1
- ? String(data.status)
- : undefined;
- return {
- userId: userId || void 0,
- userName: data?.access,
- nickName: data?.name,
- password: data?.password,
- jobnumber: data?.worker,
- phonenumber: data?.phone ?? data?.mobile,
- deptId: data?.sititutionId,
- roleIds: roleIds.length > 0 ? roleIds : void 0,
- status,
- remark: data?.remark,
- // 兼容旧接口查询
- pid: userId || void 0,
- userid: data?.access,
- username: data?.name,
- mobile: data?.phone ?? data?.mobile,
- sititutionId: data?.sititutionId,
- stateSel: status === undefined ? null : (Number(status) as 0 | 1),
- };
- }
|