当前位置: 首页 > news >正文

帮企业做网站的印鸽定制软件app

帮企业做网站的,印鸽定制软件app,微信商城公众号,做网站会员登陆♥️作者#xff1a;小宋1021 #x1f935;‍♂️个人主页#xff1a;小宋1021主页 ♥️坚持分析平时学习到的项目以及学习到的软件开发知识#xff0c;和大家一起努力呀#xff01;#xff01;#xff01; #x1f388;#x1f388;加油#xff01; 加油#xff01…♥️作者小宋1021 ‍♂️个人主页小宋1021主页 ♥️坚持分析平时学习到的项目以及学习到的软件开发知识和大家一起努力呀 加油 加油 加油 加油 欢迎评论 点赞 收藏 加关注 目录 后端 实体类 CancleClassRespVO controller CancleClassMapper xml文件 CancleClassService 实现类 前端 index.vue ClassCkeck.vue index.ts(api) axios.index.ts 目的多表联查 数据库学员表(study_student) 字段学生姓名sts_student_name、手机号(sts_phone) 班级管理teach_class_manage字段班级名称teach_class_manage、idid 教师管理hr_teacher_manage字段教师姓名teacher_name 课程管理teach_course_manage字段 课程名称course_name 中间表 班级管理-关联课程教师teach_class_manage_course 字段class_id、course_id、teacher_id 班级管理-关联学员teach_class_manage_student 字段class_id、student_id 数据关系班级课程多对多班级学员多对多 要查出如下字段 后端 实体类 package com.todod.education.module.study.dal.dataobject.cancleclass;import lombok.*; import java.util.*; import java.time.LocalDateTime; import java.time.LocalDateTime; import java.time.LocalDateTime; import java.time.LocalDateTime; import java.time.LocalDateTime; import java.time.LocalDateTime; import com.baomidou.mybatisplus.annotation.*; import com.todod.education.framework.mybatis.core.dataobject.BaseDO;/*** 消课记录 DO** author 平台管理员*/ TableName(study_cancle_class) KeySequence(study_cancle_class_seq) // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库可不写。 Data EqualsAndHashCode(callSuper true) ToString(callSuper true) Builder NoArgsConstructor AllArgsConstructor public class CancleClassDO extends BaseDO {/*** 主键id*/TableIdprivate Long id;/*** 学员id*/private Long studentId;/*** 班级id*/private Long classId;/*** 课程id*/private Long courseId;/*** 学员姓名*/TableField(exist false)private String stsStudentName;/*** 手机号*/TableField(exist false)private String stsPhone;/*** 班级名称*/TableField(exist false)private String className;/*** 班级类型*/TableField(exist false)private String classType;/*** 所报课程*/TableField(exist false)private String courseName;/*** 授课教师*/TableField(exist false)private String teacherName;/*** 上课时间*/private LocalDateTime classTime;/*** 消课人*/private String cancelClassPerson;/*** 消课时间*/private LocalDateTime cancelClassTime;/*** 实到人数*/private Integer arrivedNum;/*** 应到人数*/private Integer arrivingNum;/*** 点名操作人员*/private String rollCallPerson;/*** 点名时间*/private LocalDateTime rollCallTime;/*** 操作人*/private String operaName;/*** 操作时间*/private LocalDateTime operaTime;/*** 操作类型*/private String operaType;/*** 操作说明*/private String operaExplain;} CancleClassRespVO package com.todod.education.module.study.controller.admin.cancleclass.vo;import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; import java.util.*; import java.util.*; import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; import com.alibaba.excel.annotation.*;Schema(description 管理后台 - 消课记录 Response VO) Data ExcelIgnoreUnannotated public class CancleClassRespVO {Schema(description 主键id, requiredMode Schema.RequiredMode.REQUIRED, example 18505)private Long id;Schema(description 学员id, requiredMode Schema.RequiredMode.REQUIRED, example 18505)private Long studentId;Schema(description 班级id, requiredMode Schema.RequiredMode.REQUIRED, example 18505)private Long classId;Schema(description 课程id, requiredMode Schema.RequiredMode.REQUIRED, example 18505)private Long courseId;Schema(description 学员姓名, example 芋艿)private String stsStudentName;Schema(description 手机号)private String stsPhone;Schema(description 班级名称, example 李四)ExcelProperty(班级名称)private String className;Schema(description 班级类型, example 1)ExcelProperty(班级类型)private String classType;Schema(description 所报课程)ExcelProperty(所报课程)private String courseName;Schema(description 上课时间)ExcelProperty(上课时间)private LocalDateTime classTime;Schema(description 授课教师)ExcelProperty(授课教师)private String teacherName;Schema(description 消课人)ExcelProperty(消课人)private String cancelClassPerson;Schema(description 消课时间)ExcelProperty(消课时间)private LocalDateTime cancelClassTime;Schema(description 创建时间)ExcelProperty(创建时间)private LocalDateTime createTime;Schema(description 操作人, example 王五)private String operaName;Schema(description 操作时间)private LocalDateTime operaTime;Schema(description 操作类型, example 2)private String operaType;Schema(description 操作说明)private String operaExplain;Schema(description 实到人数)private Integer arrivedNum;Schema(description 应到人数)private Integer arrivingNum;Schema(description 点名操作人员)private String rollCallPerson;Schema(description 点名时间)private LocalDateTime rollCallTime; } controller Tag(name 管理后台 - 消课记录) RestController RequestMapping(/study/cancle-class) Validated public class CancleClassController {Resourceprivate CancleClassService cancleClassService;GetMapping(/get)Operation(summary 获得消课记录)Parameter(name id, description 编号, required true, example 1024)PreAuthorize(ss.hasPermission(study:cancle-class:query))public CommonResultCancleClassRespVO getCancleClass(RequestParam(id) Long id) {CancleClassDO cancleClass cancleClassService.getCancleClass(id);return success(BeanUtils.toBean(cancleClass, CancleClassRespVO.class));}GetMapping(/findByIds)public ListCancleClassDO findUsersByIds(RequestParam Long id) {return cancleClassService.selectCheck(id);}GetMapping(/get2)Operation(summary 获得消课记录2)Parameter(name id, description 编号, required true, example 1024)PreAuthorize(ss.hasPermission(study:cancle-class:query))public CommonResultCancleClassRespVO getCancleClass2(RequestParam(id) Long id) {CancleClassDO cancleClass cancleClassService.getCancleClass2(id);return success(BeanUtils.toBean(cancleClass, CancleClassRespVO.class));}GetMapping(/page)Operation(summary 获得消课记录分页)PreAuthorize(ss.hasPermission(study:cancle-class:query))public CommonResultPageResultCancleClassRespVO getCancleClassPage(Valid CancleClassPageReqVO pageReqVO) {PageResultCancleClassDO pageResult cancleClassService.getCancleClassPage(pageReqVO);return success(BeanUtils.toBean(pageResult, CancleClassRespVO.class));}GetMapping(/page2)Operation(summary 获得消课记录分页2)PreAuthorize(ss.hasPermission(study:cancle-class:query))public CommonResultPageResultCancleClassRespVO getCancleClassPage2(Valid CancleClassPageReqVO pageReqVO) {PageResultCancleClassDO pageResult cancleClassService.getCancleClassPage2(pageReqVO);return success(BeanUtils.toBean(pageResult, CancleClassRespVO.class));}} CancleClassMapper package com.todod.education.module.study.dal.mysql.cancleclass;import java.util.*;import com.baomidou.mybatisplus.core.metadata.IPage; import com.todod.education.framework.common.pojo.PageResult; import com.todod.education.framework.mybatis.core.query.LambdaQueryWrapperX; import com.todod.education.framework.mybatis.core.mapper.BaseMapperX; import com.todod.education.module.study.controller.admin.entranceexam.vo.EntranceExamPageReqVO; import com.todod.education.module.study.dal.dataobject.cancleclass.CancleClassDO; import com.todod.education.module.study.dal.dataobject.entranceexam.EntranceExamDO; import org.apache.ibatis.annotations.Mapper; import com.todod.education.module.study.controller.admin.cancleclass.vo.*; import org.apache.ibatis.annotations.Param;/*** 消课记录 Mapper** author 平台管理员*/ Mapper public interface CancleClassMapper extends BaseMapperXCancleClassDO {default PageResultCancleClassDO selectPage(CancleClassPageReqVO reqVO) {return selectPage(reqVO, new LambdaQueryWrapperXCancleClassDO().likeIfPresent(CancleClassDO::getClassName, reqVO.getClassName()).betweenIfPresent(CancleClassDO::getClassTime, reqVO.getClassTime()).betweenIfPresent(CancleClassDO::getCancelClassTime, reqVO.getCancelClassTime()).betweenIfPresent(CancleClassDO::getCreateTime, reqVO.getCreateTime()).orderByDesc(CancleClassDO::getId));}IPageCancleClassDO fetchPageResults(IPageCancleClassDO page, Param(queryEntry) CancleClassPageReqVO pageReqVO);ListCancleClassDO selectCheck(Param(id) Long id); } xml文件 ?xml version1.0 encodingUTF-8? !DOCTYPE mapper PUBLIC -//mybatis.org//DTD Mapper 3.0//EN http://mybatis.org/dtd/mybatis-3-mapper.dtd mapper namespacecom.todod.education.module.study.dal.mysql.cancleclass.CancleClassMapperselect idfetchPageResults resultTypecom.todod.education.module.study.dal.dataobject.cancleclass.CancleClassDOSELECT tcm.class_name,tcm.id AS class_id,tcm.class_type,tcmc.teacherNames,tcmc.courseNames,tcms.studentsFROM teach_class_manage tcmINNER JOIN (SELECT tcmc.class_id,string_agg(htm.teacher_name, ,) AS teacherNames,string_agg(tcm.course_name, ,) AS courseNamesFROM teach_class_manage_course tcmcINNER JOIN hr_teacher_manage htm ON htm.id tcmc.teacher_idINNER JOIN teach_course_manage tcm ON tcm.id tcmc.course_idGROUP BY tcmc.class_id) tcmc ON tcm.id tcmc.class_idLEFT JOIN (SELECT tcms.class_id,COALESCE(COUNT(*), 0) AS studentsFROM teach_class_manage_student tcmsGROUP BY tcms.class_id) tcms ON tcm.id tcms.class_idWHERE 1 1 AND tcm.deleted 0if test queryEntry.stsStudentName ! null and queryEntry.stsStudentName ! and queryEntry.stsStudentName ! null AND ss.sts_student_name like %${queryEntry.stsStudentName}/ifORDER BYtcm.create_time desc/selectselect idselectCheck resultTypecom.todod.education.module.study.dal.dataobject.cancleclass.CancleClassDOSELECTtcm.class_name,ss.sts_student_name,ss.sts_phone,tcs.student_id,tcmc.course_id,tcm2.course_name,htm.teacher_nameFROMteach_class_manage tcmJOIN teach_class_manage_student tcs ON tcm.id tcs.class_idJOIN study_student ss ON tcs.student_id ss.id -- 这里假设study_student的id字段对应于student_idJOIN teach_class_manage_course tcmc ON tcm.id tcmc.class_idJOIN teach_course_manage tcm2 ON tcmc.course_id tcm2.idJOIN hr_teacher_manage htm ON tcmc.teacher_id htm.idWHEREtcm.id #{id}ORDER BYtcs.student_id, tcmc.course_id;/select/mapper CancleClassService package com.todod.education.module.study.service.cancleclass;import java.util.*; import jakarta.validation.*; import com.todod.education.module.study.controller.admin.cancleclass.vo.*; import com.todod.education.module.study.dal.dataobject.cancleclass.CancleClassDO; import com.todod.education.framework.common.pojo.PageResult; import com.todod.education.framework.common.pojo.PageParam;/*** 消课记录 Service 接口** author 平台管理员*/ public interface CancleClassService {/*** 获得消课记录** param id 编号* return 消课记录*/CancleClassDO getCancleClass(Long id);/*** 获得消课记录** param id 编号* return 消课记录*/CancleClassDO getCancleClass2(Long id);/*** 获得消课记录分页** param pageReqVO 分页查询* return 消课记录分页*/PageResultCancleClassDO getCancleClassPage(CancleClassPageReqVO pageReqVO);/*** 获得消课记录分页2** param pageReqVO 分页查询* return 消课记录分页*/PageResultCancleClassDO getCancleClassPage2(CancleClassPageReqVO pageReqVO);ListCancleClassDO selectCheck(Long id); } 实现类 package com.todod.education.module.study.service.cancleclass;import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.mzt.logapi.context.LogRecordContext; import com.mzt.logapi.service.impl.DiffParseFunction; import com.mzt.logapi.starter.annotation.LogRecord; import com.todod.education.module.study.controller.admin.monthexam.vo.MonthExamPageReqVO; import com.todod.education.module.study.controller.admin.plan.vo.PlanSaveReqVO; import com.todod.education.module.study.dal.dataobject.monthexam.MonthExamDO; import com.todod.education.module.study.dal.dataobject.plan.PlanDO; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; import org.springframework.transaction.annotation.Transactional;import java.util.*; import com.todod.education.module.study.controller.admin.cancleclass.vo.*; import com.todod.education.module.study.dal.dataobject.cancleclass.CancleClassDO; import com.todod.education.framework.common.pojo.PageResult; import com.todod.education.framework.common.pojo.PageParam; import com.todod.education.framework.common.util.object.BeanUtils;import com.todod.education.module.study.dal.mysql.cancleclass.CancleClassMapper;import static com.todod.education.framework.common.exception.util.ServiceExceptionUtil.exception; import static com.todod.education.module.study.enums.ErrorCodeConstants.*; import static com.todod.education.module.system.enums.LogRecordConstants.*;/*** 消课记录 Service 实现类** author 平台管理员*/ Service Validated public class CancleClassServiceImpl implements CancleClassService {Resourceprivate CancleClassMapper cancleClassMapper;Overridepublic CancleClassDO getCancleClass(Long id) {return cancleClassMapper.selectById(id);}Overridepublic CancleClassDO getCancleClass2(Long id) {return cancleClassMapper.selectById(id);}Overridepublic PageResultCancleClassDO getCancleClassPage(CancleClassPageReqVO pageReqVO) {return cancleClassMapper.selectPage(pageReqVO);}Overridepublic PageResultCancleClassDO getCancleClassPage2(CancleClassPageReqVO pageReqVO) {IPageCancleClassDO page new Page(pageReqVO.getPageNo(), pageReqVO.getPageSize());cancleClassMapper.fetchPageResults(page, pageReqVO);return new PageResult(page.getRecords(), page.getTotal());}Overridepublic ListCancleClassDO selectCheck(Long id) {return cancleClassMapper.selectCheck(id);} } 前端 index.vue templatediv ContentWrap!-- 搜索工作栏 --el-formclass-mb-15px:modelqueryParamsrefqueryFormRef:inlinetruelabel-width68pxel-form-item label班级名称 propclassName stylewidth: 21.8%;el-inputv-modelqueryParams.classNameplaceholder请输入班级名称clearablekeyup.enterhandleQueryclass!w-240px//el-form-itemel-form-item label上课时间 propclassTime stylewidth: 21.8%;el-date-pickerv-modelqueryParams.classTimevalue-formatYYYY-MM-DD HH:mm:sstypedaterangestart-placeholder开始日期end-placeholder结束日期:default-time[new Date(1 00:00:00), new Date(1 23:59:59)]class!w-240px//el-form-itemel-form-item label消课时间 propcancelClassTime stylewidth: 21.8%;el-date-pickerv-modelqueryParams.cancelClassTimevalue-formatYYYY-MM-DD HH:mm:sstypedaterangestart-placeholder开始日期end-placeholder结束日期:default-time[new Date(1 00:00:00), new Date(1 23:59:59)]class!w-240px//el-form-itemel-form-item label所报课程 propreportCourse stylewidth: 21.8%;el-selectv-modelqueryParams.reportCourseplaceholder请选择所报课程clearableclass!w-240pxel-optionv-fordict in getIntDictOptions(DICT_TYPE.REPORT_COURSE):keydict.value:labeldict.label:valuedict.value//el-select/el-form-itemel-form-itemel-button clickhandleQueryIcon iconep:search classmr-5px / 搜索/el-buttonel-button clickresetQueryIcon iconep:refresh classmr-5px / 重置/el-button!-- el-buttontypesuccessplainclickhandleExport:loadingexportLoadingv-hasPermi[study:cancle-class:export]Icon iconep:download classmr-5px / 导出/el-button --!-- el-buttonclickclassChecktypeprimary发送课时核对/el-button --el-button plain clickouterVisible true发送课时核对/el-buttonel-dialog v-modelouterVisible title发送课时核对 width800 refcourseCheck :studentIdsstudentIdspan要为所选中的学员发送课时记录么/spanel-dialogv-modelinnerVisiblewidth500title发送成功append-to-bodyspan发送成功/span/el-dialogtemplate #footerdiv classdialog-footerel-button clickouterVisible false取消/el-buttonel-button typeprimary clickinnerVisible true确认/el-button/div/template/el-dialog/el-form-item/el-form/ContentWrap!-- 列表 --ContentWrapel-table v-loadingloading :datalist :stripetrue :show-overflow-tooltiptrueel-table-columnlabel序号typeindexheader-aligncenteraligncenterwidth60pxfixed/el-table-column typeselection width55 /el-table-column label班级名称 aligncenter propclassName /el-table-column label班级类型 aligncenter propclassTypetemplate #defaultscopedict-tag :typeDICT_TYPE.COURSE_TYPE :valuescope.row.classType //template/el-table-columnel-table-column label所报课程 aligncenter propcourseNametemplate #defaultscopedict-tag :typeDICT_TYPE.REPORT_COURSE :valuescope.row.courseName //template/el-table-columnel-table-columnlabel上课时间aligncenterpropclassTime:formatterdateFormatter3width180px/el-table-column label授课教师 aligncenter propteacherName /el-table-column label消课人 aligncenter propcancelClassPerson /el-table-columnlabel消课时间aligncenterpropcancelClassTime:formatterdateFormatter3width180px/el-table-column label操作 aligncentertemplate #defaultscopeel-buttonlinktypeprimaryclickcancleCourse(update, scope.row.classId)消课/el-buttonel-buttonlinktypeprimaryclickdetails(update, scope.row.classId)v-hasPermi[study:add-course-record:query]详情/el-buttonel-buttonlinktypeprimaryclickoperate(update, scope.row.classId)v-hasPermi[study:add-course-record:query]日志/el-button/template/el-table-column/el-table!-- 分页 --Pagination:totaltotalv-model:pagequeryParams.pageNov-model:limitqueryParams.pageSizepaginationgetList//ContentWrap /div!-- 表单弹窗添加/修改 --CancleClassForm refformRef successgetList /!-- 表单弹窗详情 --el-drawerv-modeldrawertitle详情:directiondirectionv-ifdrawersize 71%classdrawerdestory-on-closeDetailForm refdetailRef :detailIddetailId//el-drawer!-- 表单弹窗详情 --el-drawerv-modeldrawer2title日志:directiondirectionv-ifdrawer2size 71%classdrawerdestory-on-closeOperate refoperateRef :detailIddetailId//el-drawerClassCkeck refdetailRef2 successgetList //templatescript setup langts import { dateFormatter,dateFormatter2,dateFormatter3 } from /utils/formatTime import download from /utils/download import { getIntDictOptions, DICT_TYPE } from /utils/dict import { CancleClassApi, CancleClassVO } from /api/study/cancleclass import DetailForm from /views/study/cancleclassPlus/Index.vue import Operate from /views/study/cancleclassPlus/Index.vue import CancleClassForm from ./CancleClassForm.vue import ClassCkeck from ./ClassCkeck.vue import type { DrawerProps } from element-plus import type { Action } from element-plus import { ref } from vue; import { ElMessageBox } from element-plus const outerVisible ref(false) const innerVisible ref(false)/** 消课记录 列表 */ defineOptions({ name: CancleClass })const message useMessage() // 消息弹窗 const { t } useI18n() // 国际化 const direction refDrawerProps[direction](rtl) const loading ref(true) // 列表的加载中 const list refCancleClassVO[]([]) // 列表的数据 const total ref(0) // 列表的总页数 const queryParams reactive({pageNo: 1,pageSize: 10,classId: undefined, }) const queryFormRef ref() // 搜索的表单 const exportLoading ref(false) // 导出的加载中/** 查询列表 */ const getList async () {loading.value truetry {const data await CancleClassApi.getCancleClassPage2(queryParams)list.value data.listtotal.value data.total} finally {loading.value false} }const classref ref()/** 搜索按钮操作 */ const handleQuery () {queryParams.pageNo 1getList() } // 课时核对 const courseCkeck ref() const courseCkeck1 () {if(studentId.value.length 0){message.warning(请选择要消课的学员)}else{courseCkeck.value.open()}} /** 查看详情 */ const detailRef ref() const drawer ref(false) const detailId ref() const details (type: string, classId?: number) {drawer.valuetruedetailId.valueclassId } const detailRef2 ref() const cancleCourse (type: string, classId?: number) {detailRef2.value.open(type, classId)} /** 查看详情 */ const operateRef ref() const drawer2 ref(false) const operate (type: string, id?: number) {drawer2.valuetruedetailId.valueid }/** 重置按钮操作 */ const resetQuery () {queryFormRef.value.resetFields()handleQuery() }/** 添加/修改操作 */ const formRef ref() const openForm (type: string, id?: number) {formRef.value.open(type, id) }/** 删除按钮操作 */ const handleDelete async (id: number) {try {// 删除的二次确认await message.delConfirm()// 发起删除await CancleClassApi.deleteCancleClass(id)message.success(t(common.delSuccess))// 刷新列表await getList()} catch {} }// /** 导出按钮操作 */ // const handleExport async () { // try { // // 导出的二次确认 // await message.exportConfirm() // // 发起导出 // exportLoading.value true // const data await CancleClassApi.exportCancleClass(queryParams) // download.excel(data, 消课记录.xls) // } catch { // } finally { // exportLoading.value false // } // }/** 初始化 **/ onMounted(() {getList() }) /script ClassCkeck.vue templateDialog :titledialogTitle v-modeldialogVisible !-- 列表 --ContentWrapel-buttontypeprimaryplain消课/el-buttonel-table v-loadingloading :datalist :stripetrue :show-overflow-tooltiptrueel-table-columnlabel序号typeindexheader-aligncenteraligncenterwidth60pxfixed/el-table-column label班级名称 aligncenter propclassName /el-table-column label班级类型 aligncenter propclassTypetemplate #defaultscopedict-tag :typeDICT_TYPE.COURSE_TYPE :valuescope.row.classType //template/el-table-columnel-table-column label学生姓名 aligncenter propstsStudentName /el-table-column label手机号 aligncenter propstsPhone /el-table-column label所报课程 aligncenter propcourseName /el-table-columnlabel上课时间aligncenterpropclassTime:formatterdateFormatterwidth180px/el-table-column label授课教师 aligncenter propteacherName //el-table!-- 分页 --Pagination:totaltotalv-model:pagequeryParams.pageNov-model:limitqueryParams.pageSizepaginationgetList/ /ContentWrap/Dialog /templatescript setup langts import { dateFormatter } from /utils/formatTime import { getIntDictOptions, DICT_TYPE } from /utils/dict import { CancleClassApi, CancleClassVO } from /api/study/cancleclass import { ref } from vue;/** 消课记录 列表 */ defineOptions({ name: CancleClass }) const dialogVisible ref(false) // 弹窗的是否展示 const dialogTitle ref() // 弹窗的标题 const loading ref(true) // 列表的加载中 const list ref([]) // 列表的数据 const queryParams reactive({ pageNo: 1, pageSize: 10,})const open async (type: string, classId?: number) {dialogVisible.value trueloading.value true try {console.log(await CancleClassApi.getCancleClassDetail(7))const data await CancleClassApi.getCancleClassDetail(classId)console.log(data,sadsads)list.value data } finally {loading.value false } } defineExpose({ open }) // 提供 open 方法用于打开弹窗 /** 查询列表 */ // const getList async () {// }// onMounted(() { // getList() // }) /script style scoped langscss:deep(.el-dialog__body){width: 1000px !important;height: 1000px !important; } /style index.ts(api) import request from /config/axios// 消课记录 VO export interface CancleClassVO {id: number // 主键idclassName: string // 班级名称classType: string // 班级类型reportCourse: string // 所报课程classTime: Date // 上课时间classTeacher: string // 授课教师cancelClassPerson: string // 消课人cancelClassTime: Date // 消课时间studentName: string // 学员姓名phone: string // 手机号arrivedNum: number // 实到人数arrivingNum: number // 应到人数rollCallPerson: string // 点名操作人员rollCallTime: Date // 店面时间operaName: string // 操作人operaTime: Date // 操作时间operaType: string // 操作类型operaExplain: string // 操作说明 }// 消课记录 API export const CancleClassApi {// 查询消课记录分页getCancleClassPage: async (params: any) {return await request.get({ url: /study/cancle-class/page, params })},// 查询消课记录分页getCancleClassPage2: async (params: any) {return await request.get({ url: /study/cancle-class/page2, params })},// 查询消课记录详情getCancleClass: async (id: number) {return await request.get({ url: /study/cancle-class/get?id id })},// 查询消课记录详情getCancleClass2: async (id: number) {return await request.get({ url: /study/cancle-class/get2?id id })},// 查询消课记录详情getCancleClassDetail: async (id: number) {return await request.gets({ url: /study/cancle-class/findByIds?id id })},// 新增消课记录createCancleClass: async (data: CancleClassVO) {return await request.post({ url: /study/cancle-class/create, data })},// 修改消课记录updateCancleClass: async (data: CancleClassVO) {return await request.put({ url: /study/cancle-class/update, data })},// 删除消课记录deleteCancleClass: async (id: number) {return await request.delete({ url: /study/cancle-class/delete?id id })},// 导出消课记录 ExcelexportCancleClass: async (params) {return await request.download({ url: /study/cancle-class/export-excel, params })}, }axios.index.ts import { service } from ./serviceimport { config } from ./configconst { default_headers } configconst request (option: any) {const { url, method, params, data, headersType, responseType, ...config } optionreturn service({url: url,method,params,data,...config,responseType: responseType,headers: {Content-Type: headersType || default_headers}}) } export default {get: async T any(option: any) {const res await request({ method: GET, ...option })return res.data as unknown as T},gets: async T any(option: any) {const res await request({ method: GET, ...option })return res as unknown as T},post: async T any(option: any) {const res await request({ method: POST, ...option })return res.data as unknown as T},postOriginal: async (option: any) {const res await request({ method: POST, ...option })return res},delete: async T any(option: any) {const res await request({ method: DELETE, ...option })return res.data as unknown as T},put: async T any(option: any) {const res await request({ method: PUT, ...option })return res.data as unknown as T},download: async T any(option: any) {const res await request({ method: GET, responseType: blob, ...option })return res as unknown as PromiseT},upload: async T any(option: any) {option.headersType multipart/form-dataconst res await request({ method: POST, ...option })return res as unknown as PromiseT},download1: async T any(option: any) {const res await request({ method: POST, responseType: blob, ...option })return res as unknown as PromiseT} }
http://www.hkea.cn/news/14423290/

相关文章:

  • 东明菏泽网站建设成立公司法人有什么风险
  • 成都精品网站建设石家庄网络公司招聘
  • 怎么给一个网站做seo阿里网站注册
  • 做导购网站 商品品牌创建策划方案
  • 个人网站备案说明网站页脚的制作
  • 惠州建设局官方网站上海设计网站
  • 网站加速器免费安卓公司网站建设费用账务处理
  • 网站建设与管理课程虚拟微信聊天生成器
  • 营销型网站备案网站开发 jsp开发工具
  • 做网站用的书防做网站
  • 建设心理网站的背景网站的费用可以做无形资产吗
  • 县总工会网站建设情况介绍网站上线详细步骤
  • 网站搭建流程qq是哪个工作室开发的
  • 网站后台上传木马教程免费seo网站推荐一下软件
  • 建立网站企业软文是指什么
  • 四川自助网站网页微博怎么退出登录
  • 重庆可视化网站制作免费制作照片的软件
  • 网站制作的一般步骤网站模板怎么引用
  • 龙口建网站价格网络营销模式不是孤立存在的
  • 建材网站建设做设计_素材网站有哪
  • 网站申请书网站建设项目分工
  • 沈阳seo建站网站头尾一样的怎么做最好
  • 不使用域名做网站中小型企业的数据查询
  • 印度喜欢用什么框架做外贸网站重庆网站建设 菠拿拿
  • 专业微信网站建设价格玉田网站建设
  • 网站打开通信网站模板
  • 做网站软件A开头的免费注册企业
  • 网站建设收益分析八大营销模式有哪几种
  • 做网站加推广多少钱百度推广seo优化
  • 网站设计知名企业wordpress主题如何购买