技术栈:react + ant_design
项目介绍:项目由机构端、教投端、学校端、家长端组成的特色课程服务管理项目。通过机构端或学校端创建特色课程服务,由教投端进行审核后,在家长端即可生成对应课程进行购买。项目具有课程管理、报名管理、课程审批、订单管理、退订管理、收入管理等业务。
项目难点与解决:
难点一:自定义组件封装,创建课程需要一个由星期选择与时间选择组成的动态增减表单项,需求特殊,因此需要自定义组件。
解决方案:根据antd官网文档查询可得,只要遵循提供受控属性 value 或其它与 valuePropName 的值同名的属性和提供 onChange 事件或 trigger 的值同名的事件这两条规定即可自定义表单控件。
难点二:计算任意时间段内总课时数以及冲突判断
解决方案:当选择完培训周期后,计算出培训周期范围内各个星期出现的次数,再遍历上课时间列表,通过列表的每周几作为key去进行匹配,当匹配成功时,将星期出现的次数加入总课时中。
时间冲突判断,通过将时间转换为数字,通过数字大小进行比较,再通过双重循环判断是否存在数字相等或者数字重叠的情况。
点击空白处退出提示












评论