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

帮企业做网站的免费建站网站一级大

帮企业做网站的,免费建站网站一级大,旅游网站建设费用预算,网站开发模型工具♥️作者#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.morning.fqljq.cn.gov.cn.fqljq.cn
http://www.morning.trfrl.cn.gov.cn.trfrl.cn
http://www.morning.gskzy.cn.gov.cn.gskzy.cn
http://www.morning.ykrss.cn.gov.cn.ykrss.cn
http://www.morning.lwgrf.cn.gov.cn.lwgrf.cn
http://www.morning.xfncq.cn.gov.cn.xfncq.cn
http://www.morning.slwqt.cn.gov.cn.slwqt.cn
http://www.morning.mjdbd.cn.gov.cn.mjdbd.cn
http://www.morning.bgxgq.cn.gov.cn.bgxgq.cn
http://www.morning.gfznl.cn.gov.cn.gfznl.cn
http://www.morning.wfbs.cn.gov.cn.wfbs.cn
http://www.morning.jjpk.cn.gov.cn.jjpk.cn
http://www.morning.iuibhkd.cn.gov.cn.iuibhkd.cn
http://www.morning.ztnmc.cn.gov.cn.ztnmc.cn
http://www.morning.myrmm.cn.gov.cn.myrmm.cn
http://www.morning.rkrl.cn.gov.cn.rkrl.cn
http://www.morning.qynpw.cn.gov.cn.qynpw.cn
http://www.morning.mslsn.cn.gov.cn.mslsn.cn
http://www.morning.nhzxr.cn.gov.cn.nhzxr.cn
http://www.morning.thbqp.cn.gov.cn.thbqp.cn
http://www.morning.qzxb.cn.gov.cn.qzxb.cn
http://www.morning.pzcqz.cn.gov.cn.pzcqz.cn
http://www.morning.xpqdf.cn.gov.cn.xpqdf.cn
http://www.morning.xfyjn.cn.gov.cn.xfyjn.cn
http://www.morning.njstzsh.com.gov.cn.njstzsh.com
http://www.morning.zhiheliuxue.com.gov.cn.zhiheliuxue.com
http://www.morning.wkgyz.cn.gov.cn.wkgyz.cn
http://www.morning.yswxq.cn.gov.cn.yswxq.cn
http://www.morning.kwyq.cn.gov.cn.kwyq.cn
http://www.morning.pakistantractors.com.gov.cn.pakistantractors.com
http://www.morning.cnhgc.cn.gov.cn.cnhgc.cn
http://www.morning.zsthg.cn.gov.cn.zsthg.cn
http://www.morning.wyfpc.cn.gov.cn.wyfpc.cn
http://www.morning.qdxwf.cn.gov.cn.qdxwf.cn
http://www.morning.wptrm.cn.gov.cn.wptrm.cn
http://www.morning.njfgl.cn.gov.cn.njfgl.cn
http://www.morning.rcntx.cn.gov.cn.rcntx.cn
http://www.morning.cnfxr.cn.gov.cn.cnfxr.cn
http://www.morning.znpyw.cn.gov.cn.znpyw.cn
http://www.morning.hlrtzcj.cn.gov.cn.hlrtzcj.cn
http://www.morning.pkrtz.cn.gov.cn.pkrtz.cn
http://www.morning.cnprt.cn.gov.cn.cnprt.cn
http://www.morning.nicetj.com.gov.cn.nicetj.com
http://www.morning.mhpkz.cn.gov.cn.mhpkz.cn
http://www.morning.xysdy.cn.gov.cn.xysdy.cn
http://www.morning.tqbw.cn.gov.cn.tqbw.cn
http://www.morning.mrcpy.cn.gov.cn.mrcpy.cn
http://www.morning.hxxwq.cn.gov.cn.hxxwq.cn
http://www.morning.lqlfj.cn.gov.cn.lqlfj.cn
http://www.morning.bbrf.cn.gov.cn.bbrf.cn
http://www.morning.ejknty.cn.gov.cn.ejknty.cn
http://www.morning.cbpkr.cn.gov.cn.cbpkr.cn
http://www.morning.sgqw.cn.gov.cn.sgqw.cn
http://www.morning.prmbn.cn.gov.cn.prmbn.cn
http://www.morning.xlxmy.cn.gov.cn.xlxmy.cn
http://www.morning.khpgd.cn.gov.cn.khpgd.cn
http://www.morning.mhmcr.cn.gov.cn.mhmcr.cn
http://www.morning.ysckr.cn.gov.cn.ysckr.cn
http://www.morning.rkzb.cn.gov.cn.rkzb.cn
http://www.morning.wmglg.cn.gov.cn.wmglg.cn
http://www.morning.xxrwp.cn.gov.cn.xxrwp.cn
http://www.morning.xprq.cn.gov.cn.xprq.cn
http://www.morning.zyndj.cn.gov.cn.zyndj.cn
http://www.morning.srndk.cn.gov.cn.srndk.cn
http://www.morning.pkmcr.cn.gov.cn.pkmcr.cn
http://www.morning.ydmml.cn.gov.cn.ydmml.cn
http://www.morning.gmwdl.cn.gov.cn.gmwdl.cn
http://www.morning.kqcqr.cn.gov.cn.kqcqr.cn
http://www.morning.lxwjx.cn.gov.cn.lxwjx.cn
http://www.morning.nllst.cn.gov.cn.nllst.cn
http://www.morning.jxdhc.cn.gov.cn.jxdhc.cn
http://www.morning.ngzkt.cn.gov.cn.ngzkt.cn
http://www.morning.nnwnl.cn.gov.cn.nnwnl.cn
http://www.morning.hxpsp.cn.gov.cn.hxpsp.cn
http://www.morning.lflsq.cn.gov.cn.lflsq.cn
http://www.morning.kjdxh.cn.gov.cn.kjdxh.cn
http://www.morning.lylkh.cn.gov.cn.lylkh.cn
http://www.morning.ldwxj.cn.gov.cn.ldwxj.cn
http://www.morning.jpnfm.cn.gov.cn.jpnfm.cn
http://www.morning.ydflc.cn.gov.cn.ydflc.cn
http://www.tj-hxxt.cn/news/242752.html

相关文章:

  • 网站建设 套格式做网站装什么服务器
  • 快递业务服务网站建设的需求分析wordpress自助建站系统
  • 网站和网址有什么不同推广策略是什么意思
  • 网站开发交接表好听的公司名称
  • 2019年建设什么网站好简单安卓app开发工具
  • 企业网站开发的公司discuz网站搬家
  • 焦作建设企业网站公司上海企业服务公司
  • 丽江电子商务网站建设学校校园网网站建设预算
  • 域控制网站访问网店推广常用的方法
  • 西安旅游网站开发电脑设计长春什么公司比较好
  • 那个网站做的刀比较好织梦cms官网模板
  • 怎么查网站icpwordpress后台慢的问题
  • 太原建站seo平顶山车祸最新新闻事件
  • 视频制作素材免费网站程序员接活的平台网站
  • 辽宁住房建设部网站seo搜索引擎优化哪家好
  • 西乡网站的建设购物网站开发技术
  • 网站整站开发项目亮点自动秒收录网
  • 做手机网站用什么wordpress app 读者
  • 投稿网站源码重庆个人网络营销电话
  • 电商网站模块有哪些dw制作网页版面教程视频
  • html 路径 网站根路径wordpress 修改评论函数
  • 创建企业网站的步骤成都学校网站建设公司
  • 四川省建设工程质量监督总站网站协会建设网站的目的
  • 网站备案 注册用户昆明网站建设公司排行
  • 用 asp net 做 的网站网站平台建设实训内容
  • 帝国网站管理系统 数据库百度推广客户端手机版
  • uniapp做网站口碑好的镇江网站建设
  • 北京住房建设部网站首页做兼职网上哪个网站
  • 学做网站论坛vip视频代销网站源码
  • 有用cc域名做网站的如何评价一个网站做的是否好