题目描述 :
PC 端教师管理功能编写
效果图:
任务要求:
任务分为两部分,第一要去写一下教师的增删改查接口,第二要去写教师管理的页面。
教师管理接口编写
- 在 water-drop-server 里,使用 npx plop 新建 teacher module。
- 给 commitTeacherInfo 和 getTeachers 接口上添加
@CurOrgId() orgId: string
- 修改 teacher.entity、teacher.input、teacher.type 的字段内容。
- 教师相关字段如下:
import { Organization } from '@/modules/organization/models/organization.entity';
import { Entity, Column, ManyToOne } from 'typeorm';
import { CommonEntity } from '@/common/entities/common.entity';
@Entity('teacher')
export class Teacher extends CommonEntity {
@Column({
comment: '名称',
})
name: string;
@Column({
comment: '照片',
nullable: true,
})
photoUrl: string;
@Column({
comment: '教龄',
nullable: true,
})
teacherTime: number;
@Column({
comment: '学历',
nullable: true,
})
education: string;
@Column({
comment: '资历',
nullable: true,
})
seniority: string;
@Column({
comment: '职业经验',
nullable: true,
})
experience: string;
@Column({
comment: '获奖经历',
nullable: true,
})
carryPrize: string;
@Column({
comment: '风格标签,以,隔开',
nullable: true,
})
tags: string;
@ManyToOne(() => Organization)
org: Organization;
}
- 使用 http://localhost:3000/graphql 调试接口
教师管理的页面编写
- 借鉴商品管理的代码,完成教师管理页面。
- 编写列表页,需要使用 Card 组件。
- 编写新建和编辑抽屉
- 删除卡片的功能
任务提示/思路分析:
- 写 teacher.entity 的时候要注意,需要把 org 多对一的对应关系也加上。
- 教师标签和头像记得做数据转换。