Browse Source

fix:修改招生计划

zcuishan 9 months ago
parent
commit
2d91a04e2a

+ 3 - 3
src/services/apis/ConsumptionController.ts

@@ -11,10 +11,10 @@ import { ErrorMessageMode } from '/#/axios';
             ;
 
 
-            /** 班级欠费排序-导出 GET /student/consumption/class-qf-export-query */
-export async function getConsumptionClassQfExportQuery(params:API.PageInput
+            /** 班级欠费排序-导出 POST /student/consumption/class-qf-export-query */
+export async function postConsumptionClassQfExportQuery(params:API.PageInput
 ,mode: ErrorMessageMode = 'modal'){ return defHttp.download<string>
-        ({url: '/student/consumption/class-qf-export-query',responseType:'blob',method:'POST',params},{errorMessageMode:mode});}
+        ({url: '/student/consumption/class-qf-export-query',responseType:'blob',method:'POST', data:params},{errorMessageMode:mode});}
 /** 班级欠费排序 GET /student/consumption/class-qf-page */
 export async function getConsumptionClassQfPage(params:any,mode: ErrorMessageMode = 'modal'){ return defHttp.get<API.PageOutput<API.ClassQfPageVo>>
         ({url: '/student/consumption/class-qf-page', params:params},{errorMessageMode:mode});}

+ 38 - 0
src/services/apis/EnrollmentPlanController.ts

@@ -0,0 +1,38 @@
+// @ts-ignore
+/* eslint-disable */
+
+// 该文件自动生成,请勿手动修改!
+import { defHttp } from '/@/utils/http/axios';
+import { ErrorMessageMode } from '/#/axios';
+            // --------------------------------------------------------------------------
+            // Enrollment Plan Controller
+            // --------------------------------------------------------------------------
+
+            ;
+
+
+            /** 新增招生计划维护 POST /student/enrollmentPlan */
+export async function postStudentEnrollmentPlan(params:API.AddEnrollmentPlanDto
+,mode: ErrorMessageMode = 'modal'){ return defHttp.post<any>
+        ({url: '/student/enrollmentPlan', data:params},{errorMessageMode:mode});}
+/** 修改招生计划维护 PUT /student/enrollmentPlan */
+export async function putStudentEnrollmentPlan(params:API.UpdateEnrollmentPlanDto
+,mode: ErrorMessageMode = 'modal'){ return defHttp.put<any>
+        ({url: '/student/enrollmentPlan', data:params},{errorMessageMode:mode});}
+/** 删除招生计划维护 DELETE /student/enrollmentPlan */
+export async function deleteStudentEnrollmentPlan(params:string[],mode: ErrorMessageMode = 'modal'){ return defHttp.delete<any>
+        ({url: '/student/enrollmentPlan', data:params},{errorMessageMode:mode});}
+/** 修改招生计划状态 PUT /student/enrollmentPlan/change-status */
+export async function putEnrollmentPlanChangeStatus(params:API.UpdateEnrollmentPlanDto
+,mode: ErrorMessageMode = 'modal'){ return defHttp.put<any>
+        ({url: '/student/enrollmentPlan/change-status', data:params},{errorMessageMode:mode});}
+/** 根据id查询招生计划维护信息 GET /student/enrollmentPlan/info */
+export async function getEnrollmentPlanInfo(params:any,mode: ErrorMessageMode = 'modal'){ return defHttp.get<API.EnrollmentPlanVo>
+        ({url: '/student/enrollmentPlan/info', params:params},{errorMessageMode:mode});}
+/** 招生计划维护列表(分页) GET /student/enrollmentPlan/page */
+export async function getEnrollmentPlanPage(params:any,mode: ErrorMessageMode = 'modal'){ return defHttp.get<API.PageOutput<API.EnrollmentPlanPageVo>>
+        ({url: '/student/enrollmentPlan/page', params:params},{errorMessageMode:mode});}
+/** 预览招生计划 GET /student/enrollmentPlan/preview-page */
+export async function getEnrollmentPlanPreviewPage(params:any,mode: ErrorMessageMode = 'modal'){ return defHttp.get<API.PreviewEnrollmentPlanVo>
+        ({url: '/student/enrollmentPlan/preview-page', params:params},{errorMessageMode:mode});}
+            

+ 31 - 0
src/services/apis/EnrollmentPlanGraduateSchoolController.ts

@@ -0,0 +1,31 @@
+// @ts-ignore
+/* eslint-disable */
+
+// 该文件自动生成,请勿手动修改!
+import { defHttp } from '/@/utils/http/axios';
+import { ErrorMessageMode } from '/#/axios';
+            // --------------------------------------------------------------------------
+            // Enrollment Plan Graduate School Controller
+            // --------------------------------------------------------------------------
+
+            ;
+
+
+            /** 新增毕业学校招生计划详情 POST /student/enrollmentPlanGraduateSchool */
+export async function postStudentEnrollmentPlanGraduateSchool(params:API.AddEnrollmentPlanGraduateSchoolDto
+,mode: ErrorMessageMode = 'modal'){ return defHttp.post<any>
+        ({url: '/student/enrollmentPlanGraduateSchool', data:params},{errorMessageMode:mode});}
+/** 修改毕业学校招生计划详情 PUT /student/enrollmentPlanGraduateSchool */
+export async function putStudentEnrollmentPlanGraduateSchool(params:API.UpdateEnrollmentPlanGraduateSchoolDto[]
+,mode: ErrorMessageMode = 'modal'){ return defHttp.put<any>
+        ({url: '/student/enrollmentPlanGraduateSchool', data:params},{errorMessageMode:mode});}
+/** 删除毕业学校招生计划详情 DELETE /student/enrollmentPlanGraduateSchool */
+export async function deleteStudentEnrollmentPlanGraduateSchool(params:string[],mode: ErrorMessageMode = 'modal'){ return defHttp.delete<any>
+        ({url: '/student/enrollmentPlanGraduateSchool', data:params},{errorMessageMode:mode});}
+/** 根据id查询毕业学校招生计划详情信息 GET /student/enrollmentPlanGraduateSchool/info */
+export async function getEnrollmentPlanGraduateSchoolInfo(params:any,mode: ErrorMessageMode = 'modal'){ return defHttp.get<API.EnrollmentPlanGraduateSchoolVo>
+        ({url: '/student/enrollmentPlanGraduateSchool/info', params:params},{errorMessageMode:mode});}
+/** 毕业学校招生计划详情列表(分页) GET /student/enrollmentPlanGraduateSchool/page */
+export async function getEnrollmentPlanGraduateSchoolPage(params:any,mode: ErrorMessageMode = 'modal'){ return defHttp.get<API.PageOutput<API.EnrollmentPlanGraduateSchoolPageVo>>
+        ({url: '/student/enrollmentPlanGraduateSchool/page', params:params},{errorMessageMode:mode});}
+            

+ 37 - 0
src/services/apis/EnrollmentPlanMajorSetController.ts

@@ -0,0 +1,37 @@
+// @ts-ignore
+/* eslint-disable */
+
+// 该文件自动生成,请勿手动修改!
+import { defHttp } from '/@/utils/http/axios';
+import { ErrorMessageMode } from '/#/axios';
+            // --------------------------------------------------------------------------
+            // Enrollment Plan Major Set Controller
+            // --------------------------------------------------------------------------
+
+            ;
+
+
+            /** 新增专业方向招生计划详情 POST /student/enrollmentPlanMajorSet */
+export async function postStudentEnrollmentPlanMajorSet(params:API.AddEnrollmentPlanMajorSetDto
+,mode: ErrorMessageMode = 'modal'){ return defHttp.post<any>
+        ({url: '/student/enrollmentPlanMajorSet', data:params},{errorMessageMode:mode});}
+/** 修改专业方向招生计划详情 PUT /student/enrollmentPlanMajorSet */
+export async function putStudentEnrollmentPlanMajorSet(params:API.UpdateEnrollmentPlanMajorSetDto[]
+,mode: ErrorMessageMode = 'modal'){ return defHttp.put<any>
+        ({url: '/student/enrollmentPlanMajorSet', data:params},{errorMessageMode:mode});}
+/** 删除专业方向招生计划详情 DELETE /student/enrollmentPlanMajorSet */
+export async function deleteStudentEnrollmentPlanMajorSet(params:string[],mode: ErrorMessageMode = 'modal'){ return defHttp.delete<any>
+        ({url: '/student/enrollmentPlanMajorSet', data:params},{errorMessageMode:mode});}
+/** 毕业学校 GET /student/enrollmentPlanMajorSet/baseGraduateSchool-list */
+export async function getEnrollmentPlanMajorSetBaseGraduateSchoolList(params:any,mode: ErrorMessageMode = 'modal'){ return defHttp.get<API.BaseGraduateSchoolOfEnrollmentPlanListVo[]>
+        ({url: '/student/enrollmentPlanMajorSet/baseGraduateSchool-list', params:params},{errorMessageMode:mode});}
+/** 专业分类(分页) GET /student/enrollmentPlanMajorSet/baseMajorSet-page */
+export async function getEnrollmentPlanMajorSetBaseMajorSetPage(params:any,mode: ErrorMessageMode = 'modal'){ return defHttp.get<API.PageOutput<API.BaseMajorSetOfEnrollmentPlanPageVo>>
+        ({url: '/student/enrollmentPlanMajorSet/baseMajorSet-page', params:params},{errorMessageMode:mode});}
+/** 已生成招生专业方向+毕业中学关系列表(分页) GET /student/enrollmentPlanMajorSet/generated-relation-page */
+export async function getEnrollmentPlanMajorSetGeneratedRelationPage(params:any,mode: ErrorMessageMode = 'modal'){ return defHttp.get<API.PageOutput<API.EnrollmentPlanMajorSetPageVo>>
+        ({url: '/student/enrollmentPlanMajorSet/generated-relation-page', params:params},{errorMessageMode:mode});}
+/** 根据id查询专业方向招生计划详情信息 GET /student/enrollmentPlanMajorSet/info */
+export async function getEnrollmentPlanMajorSetInfo(params:any,mode: ErrorMessageMode = 'modal'){ return defHttp.get<API.EnrollmentPlanMajorSetVo>
+        ({url: '/student/enrollmentPlanMajorSet/info', params:params},{errorMessageMode:mode});}
+            

+ 2 - 2
src/services/apis/TextbookController.ts

@@ -42,7 +42,7 @@ export async function getTextbookInfoByissn(params:any,mode: ErrorMessageMode =
 export async function getTextbookInfoClaimList(params:any,mode: ErrorMessageMode = 'modal'){ return defHttp.get<API.WfTextbookClaimListVo[]>
         ({url: '/textbook/textbook/info-claim-list', params:params},{errorMessageMode:mode});}
 /** 根据id查询教材管理信息 GET /textbook/textbook/info-detail */
-export async function getTextbookInfoDetail(params:any,mode: ErrorMessageMode = 'modal'){ return defHttp.get<API.TextbookVo>
+export async function getTextbookInfoDetail(params:any,mode: ErrorMessageMode = 'modal'){ return defHttp.get<API.undefined>
         ({url: '/textbook/textbook/info-detail', params:params},{errorMessageMode:mode});}
 /** 教材管理-详情-出库记录 GET /textbook/textbook/info-issue-list */
 export async function getTextbookInfoIssueList(params:any,mode: ErrorMessageMode = 'modal'){ return defHttp.get<API.TextbookIssueRecordListVo[]>
@@ -56,7 +56,7 @@ export async function getTextbookInfoWarehouseList(params:any,mode: ErrorMessage
 /** 教材管理列表(分页) GET /textbook/textbook/page */
 export async function getTextbookPage(params:any,mode: ErrorMessageMode = 'modal'){ return defHttp.get<API.PageOutput<API.TextbookPageVo>>
         ({url: '/textbook/textbook/page', params:params},{errorMessageMode:mode});}
-/** 教材管理列表(分页,学生收费用) GET /textbook/textbook/page-consumption */
+/** 学生确认领取教材列表(分页,学生收费用) GET /textbook/textbook/page-consumption */
 export async function getTextbookPageConsumption(params:any,mode: ErrorMessageMode = 'modal'){ return defHttp.get<API.PageOutput<API.TextbookConsumptionPageVo>>
         ({url: '/textbook/textbook/page-consumption', params:params},{errorMessageMode:mode});}
 /** 教材管理列表(分页,教材征订用) GET /textbook/textbook/page-subscription */

+ 9 - 0
src/services/apis/index.ts

@@ -119,6 +119,9 @@ import * as BaseStudentPunishmentInfoController from './BaseStudentPunishmentInf
 import * as CadreDeptController from './CadreDeptController';
 import * as ClassHonorsController from './ClassHonorsController';
 import * as ConsumptionController from './ConsumptionController';
+import * as EnrollmentPlanController from './EnrollmentPlanController';
+import * as EnrollmentPlanGraduateSchoolController from './EnrollmentPlanGraduateSchoolController';
+import * as EnrollmentPlanMajorSetController from './EnrollmentPlanMajorSetController';
 import * as PbCseSpecplanController from './PbCseSpecplanController';
 import * as PbCseFeeobjupdateController from './PbCseFeeobjupdateController';
 import * as PbSemesterConfigController from './PbSemesterConfigController';
@@ -420,6 +423,12 @@ CadreDeptController,
 ClassHonorsController,
 /** Consumption Controller */
 ConsumptionController,
+/** Enrollment Plan Controller */
+EnrollmentPlanController,
+/** Enrollment Plan Graduate School Controller */
+EnrollmentPlanGraduateSchoolController,
+/** Enrollment Plan Major Set Controller */
+EnrollmentPlanMajorSetController,
 /** Pb Cse Specplan Controller */
 PbCseSpecplanController,
 /** Pb Cse Feeobjupdate Controller */

+ 290 - 2
src/services/typing.d.ts

@@ -309,6 +309,10 @@ eveningLateMinutes?: number;
 eveningStartTime?: LocalTime_1;
 /** 晚上是否启用(1:是 0:否) */
 eveningStatus?: number;
+/** 为节假日前一天时放学时间 */
+holidaysEndTime?: LocalTime_1;
+/** 节假日迟到旷课时间 */
+holidaysLateMinutes?: number;
 /** 是否允许进出校 */
 isAllowInOutSchool?: number;
 /** 上学时间内是否允许进出 */
@@ -331,6 +335,10 @@ pmLateMinutes?: number;
 pmStartTime?: LocalTime_1;
 /** 下午是否启用(1:是 0:否) */
 pmStatus?: number;
+/** 返校放学时间 */
+returnEndTime?: LocalTime_1;
+/** 返校上学时间 */
+returnStartTime?: LocalTime_1;
 sortCode?: number;
 }
 
@@ -1573,6 +1581,45 @@ remark?: string;
 sortCode?: number;
 }
 
+type AddEnrollmentPlanDto = {
+/** 结束时间 */
+endDate?: string;
+/** 招生类型(xjr_dictionary_detail[enroll_type]) */
+enrollType?: string;
+/** 招生年级(base_grade) */
+gradeId?: string;
+/** 计划名称 */
+name?: string;
+/** 序号 */
+sortCode?: number;
+/** 开始时间 */
+startDate?: string;
+/** 状态(0:未发布 1:已发布 2:过期) */
+status?: number;
+}
+
+type AddEnrollmentPlanGraduateSchoolDto = {
+/** 毕业学校id(base_graduate_school) */
+baseGraduateSchoolId?: string[];
+/** 毕业学校计划招生人数 */
+enrollmentNum?: number;
+/** 专业方向招生计划详情id(enrollment_plan_major_set) */
+enrollmentPlanMajorSetId?: string;
+/** 序号 */
+sortCode?: number;
+}
+
+type AddEnrollmentPlanMajorSetDto = {
+/** 毕业学校id(base_graduate_school) */
+baseGraduateSchoolIds?: string[];
+/** 专业方向id(base_major_set) */
+baseMajorSetIds?: string[];
+/** 招生计划维护id(enrollment_plan) */
+enrollmentPlanId?: string;
+/** 序号 */
+sortCode?: number;
+}
+
 type AddEvaluateExecuterDto = {
 /** 参评人id */
 executerId?: string;
@@ -2885,6 +2932,8 @@ textbookClassRelationList?: AddTextbookClassRelationDto[];
 textbookSubscriptionRecordList?: AddTextbookSubscriptionRecordDto[];
 /** 教材类型(xjr_dictionary_item[textbook_type]) */
 textbookType?: string;
+/** 使用类型(单位:学期) */
+useType?: number;
 /** 版本 */
 version?: string;
 }
@@ -4113,6 +4162,8 @@ eveningStartTime?: LocalTime;
 eveningStatus?: number;
 /** 为节假日前一天时放学时间 */
 holidaysEndTime?: LocalTime;
+/** 节假日迟到旷课时间 */
+holidaysLateMinutes?: number;
 id?: string;
 /** 是否允许进出校 */
 isAllowInOutSchool?: number;
@@ -4136,6 +4187,10 @@ pmLateMinutes?: number;
 pmStartTime?: LocalTime;
 /** 下午是否启用(1:是 0:否) */
 pmStatus?: number;
+/** 返校放学时间 */
+returnEndTime?: LocalTime;
+/** 返校上学时间 */
+returnStartTime?: LocalTime;
 sortCode?: number;
 }
 
@@ -4454,6 +4509,15 @@ id?: string;
 status?: number;
 }
 
+type BaseGraduateSchoolOfEnrollmentPlanListVo = {
+/** 毕业学校主键编号 */
+id?: string;
+/** 是否在当前招生计划被选中 */
+isSelect?: number;
+/** 毕业学校 */
+name?: string;
+}
+
 type BaseMajorCategorPageVo = {
 /** 专业分类代码 */
 code?: string;
@@ -4492,6 +4556,23 @@ name?: string;
 remark?: string;
 }
 
+type BaseMajorSetOfEnrollmentPlanPageVo = {
+/** 专业方向 */
+baseMajorSetCn?: string;
+/** 所属专业部 */
+departmentId?: string;
+/** 所属专业部 */
+departmentIdCn?: string;
+/** 所属校区 */
+homeCampus?: string;
+/** 专业方向主键编号 */
+id?: string;
+/** 是否在当前招生计划被选中 */
+isSelect?: number;
+/** 办学层次 */
+majorGradationIdCn?: string;
+}
+
 type BaseOfficeBuildChangeStatusDto = {
 /** 主键编号 */
 id?: string;
@@ -7216,6 +7297,112 @@ enabledMark?: number;
 id?: string;
 }
 
+type EnrollmentPlanGraduateSchoolPageVo = {
+/** 毕业学校id(base_graduate_school) */
+baseGraduateSchoolId?: string;
+/** 毕业学校id(base_graduate_school) */
+baseGraduateSchoolIdCn?: string;
+/** 毕业学校计划招生人数 */
+enrollmentNum?: number;
+/** 专业方向招生计划详情id(enrollment_plan_major_set) */
+enrollmentPlanMajorSetId?: string;
+/** 主键编号 */
+id?: string;
+}
+
+type EnrollmentPlanGraduateSchoolVo = {
+/** 毕业学校id(base_graduate_school) */
+baseGraduateSchoolId?: string;
+/** 毕业学校计划招生人数 */
+enrollmentNum?: number;
+/** 专业方向招生计划详情id(enrollment_plan_major_set) */
+enrollmentPlanMajorSetId?: string;
+/** 主键编号 */
+id?: string;
+/** 序号 */
+sortCode?: number;
+}
+
+type EnrollmentPlanMajorSetPageVo = {
+/** 层次 */
+baseMajorGradationIdCn?: string;
+/** 专业方向计划招生人数 */
+baseMajorSetEnrollmentNum?: number;
+/** 专业方向最大计划招生人数 */
+baseMajorSetEnrollmentNumMax?: number;
+/** 招生专业方向名称 */
+baseMajorSetIdCn?: string;
+/** 所属专业部 */
+departmentIdCn?: string;
+/** 招生毕业中学数 */
+graduateSchoolSum?: number;
+/** 主键编号 */
+id?: string;
+/** 适用学制(base_major) */
+studyYear?: number;
+}
+
+type EnrollmentPlanMajorSetVo = {
+/** 专业方向计划招生人数 */
+baseMajorSetEnrollmentNum?: number;
+/** 专业方向最大计划招生人数 */
+baseMajorSetEnrollmentNumMax?: number;
+/** 专业方向id(base_major_set) */
+baseMajorSetId?: string;
+/** 招生计划维护id(enrollment_plan) */
+enrollmentPlanId?: string;
+/** 主键编号 */
+id?: string;
+/** 序号 */
+sortCode?: number;
+}
+
+type EnrollmentPlanPageVo = {
+/** 总的招生专业方向个数 */
+baseMajorSetSum?: number;
+/** 结束时间 */
+endDate?: string;
+/** 招生类型(xjr_dictionary_detail[enroll_type]) */
+enrollType?: string;
+/** 招生类型(xjr_dictionary_detail[enroll_type]) */
+enrollTypeCn?: string;
+/** 总计划招生人数 */
+enrollmentStuNum?: number;
+/** 招生年级(base_grade) */
+gradeId?: string;
+/** 招生年级(base_grade) */
+gradeIdCn?: string;
+/** 主键编号 */
+id?: string;
+/** 计划名称 */
+name?: string;
+/** 序号 */
+sortCode?: number;
+/** 开始时间 */
+startDate?: string;
+/** 状态(0:未发布 1:已发布 2:过期) */
+status?: number;
+}
+
+type EnrollmentPlanVo = {
+/** 结束时间 */
+endDate?: string;
+/** 招生类型(xjr_dictionary_detail[enroll_type]) */
+enrollType?: string;
+/** 招生年级(base_grade) */
+gradeId?: string;
+/** 主键编号 */
+id?: string;
+/** 计划名称 */
+name?: string;
+/** 序号 */
+sortCode?: number;
+/** 开始时间 */
+startDate?: string;
+/** 状态(0:未发布 1:已发布 2:过期) */
+status?: number;
+}
+
 type EnrollmentStatisticsCalendarInfoVo = {
 /** 每日招生人数 */
 cratetimeList?: EnrollmentStatisticsInfoKeyValue[];
@@ -9640,6 +9827,14 @@ total?: number;
 totalPage?: number;
 }
 
+type PageOutput<BaseMajorSetOfEnrollmentPlanPageVo> = {
+currentPage?: number;
+list?: BaseMajorSetOfEnrollmentPlanPageVo[];
+pageSize?: number;
+total?: number;
+totalPage?: number;
+}
+
 type PageOutput<BasePersonnelLabourCapitalMonthPageVo> = {
 currentPage?: number;
 list?: BasePersonnelLabourCapitalMonthPageVo[];
@@ -9936,6 +10131,30 @@ total?: number;
 totalPage?: number;
 }
 
+type PageOutput<EnrollmentPlanGraduateSchoolPageVo> = {
+currentPage?: number;
+list?: EnrollmentPlanGraduateSchoolPageVo[];
+pageSize?: number;
+total?: number;
+totalPage?: number;
+}
+
+type PageOutput<EnrollmentPlanMajorSetPageVo> = {
+currentPage?: number;
+list?: EnrollmentPlanMajorSetPageVo[];
+pageSize?: number;
+total?: number;
+totalPage?: number;
+}
+
+type PageOutput<EnrollmentPlanPageVo> = {
+currentPage?: number;
+list?: EnrollmentPlanPageVo[];
+pageSize?: number;
+total?: number;
+totalPage?: number;
+}
+
 type PageOutput<EvaluateManagePageVo> = {
 currentPage?: number;
 list?: EvaluateManagePageVo[];
@@ -11141,6 +11360,38 @@ status?: number;
 userName?: string;
 }
 
+type PreviewEnrollmentPlanListVo = {
+/** 层次 */
+baseMajorGradationIdCn?: string;
+/** 专业方向计划招生人数 */
+baseMajorSetEnrollmentNum?: number;
+/** 招生专业方向名称 */
+baseMajorSetIdCn?: string;
+/** 招生毕业中学 */
+graduateSchool?: string;
+/** 适用学制(base_major) */
+studyYear?: number;
+}
+
+type PreviewEnrollmentPlanVo = {
+/** 结束时间 */
+endDate?: string;
+/** 招生类型(xjr_dictionary_detail[enroll_type]) */
+enrollTypeCn?: string;
+/** 总计划招生人数 */
+enrollmentStuNum?: number;
+/** 招生年级(base_grade) */
+gradeIdCn?: string;
+/** 主键编号 */
+id?: string;
+/** 计划名称 */
+name?: string;
+/** 计划列表 */
+previewEnrollmentPlanListVoList?: PreviewEnrollmentPlanListVo[];
+/** 开始时间 */
+startDate?: string;
+}
+
 type PrintSetConfigDto = {
 /** api配置 */
 apiConfig?: string;
@@ -13764,9 +14015,9 @@ bookName?: string;
 /** 使用班级 */
 classIds?: string;
 /** 课程编号(base_course_subject) */
-courseSubjectId?: string;
+courseName?: string;
 /** 课程编号(base_course_subject) */
-courseSubjectIdCn?: string;
+courseSubjectId?: string;
 /** 主键编号 */
 id?: string;
 /** 出版社 */
@@ -15508,6 +15759,41 @@ enabledMark?: number;
 id?: string;
 }
 
+type UpdateEnrollmentPlanDto = {
+/** 结束时间 */
+endDate?: string;
+/** 招生类型(xjr_dictionary_detail[enroll_type]) */
+enrollType?: string;
+/** 招生年级(base_grade) */
+gradeId?: string;
+/** 主键编号 */
+id?: string;
+/** 计划名称 */
+name?: string;
+/** 序号 */
+sortCode?: number;
+/** 开始时间 */
+startDate?: string;
+/** 状态(0:未发布 1:已发布 2:过期) */
+status?: number;
+}
+
+type UpdateEnrollmentPlanGraduateSchoolDto = {
+/** 毕业学校计划招生人数 */
+enrollmentNum?: number;
+/** 主键编号 */
+id?: string;
+}
+
+type UpdateEnrollmentPlanMajorSetDto = {
+/** 专业方向计划招生人数 */
+baseMajorSetEnrollmentNum?: number;
+/** 专业方向最大计划招生人数 */
+baseMajorSetEnrollmentNumMax?: number;
+/** 主键编号 */
+id?: string;
+}
+
 type UpdateEvaluateManageDto = {
 /** 学期id */
 baseSemesterId?: string;
@@ -16799,6 +17085,8 @@ textbookClassRelationList?: AddTextbookClassRelationDto[];
 textbookSubscriptionRecordList?: AddTextbookSubscriptionRecordDto[];
 /** 教材类型(xjr_dictionary_item[textbook_type]) */
 textbookType?: string;
+/** 使用类型(单位:学期) */
+useType?: number;
 /** 版本 */
 version?: string;
 }

+ 41 - 20
src/views/educational/enrollment/components/data.config.ts

@@ -2,34 +2,44 @@ import { BasicColumn, FormSchema } from '/@/components/Table';
 import { requestMagicApi } from '/@/api/magicApi';
 import { getDataOption } from '/@/api/system/dic';
 const statusMap = {
-  1: '待发布',
-  2: '已发布',
-  3: '已过期',
+  0: '待发布',
+  1: '已发布',
+  2: '已过期',
 };
 export const tableColumns: BasicColumn[] = [
   {
     title: '计划名称',
     dataIndex: 'name',
+    width: 150,
   },
   {
     title: '招生类型',
-    dataIndex: 'semesterName',
+    dataIndex: 'enrollTypeCn',
+    width: 130,
   },
   {
     title: '招生年级',
-    dataIndex: 'assessmentAddress',
+    dataIndex: 'gradeIdCn',
+    width: 120,
   },
   {
     title: '招生工作起始日期',
-    dataIndex: 'behaviorCategoryName',
+    dataIndex: 'startDate',
+    customRender({ text, record }) {
+      return text + ' 至 ' + record.endDate;
+    },
+    width: 300,
+    align: 'left',
   },
   {
     title: '总的招生专业方向个数',
-    dataIndex: 'assessmentDate',
+    dataIndex: 'baseMajorSetSum',
+    width: 150,
   },
   {
     title: '总计划招生人数',
-    dataIndex: 'assessmentUserName',
+    dataIndex: 'enrollmentStuNum',
+    width: 150,
   },
   {
     title: '状态',
@@ -37,6 +47,16 @@ export const tableColumns: BasicColumn[] = [
     customRender({ text }) {
       return statusMap[text];
     },
+    width: 150,
+  },
+  {
+    title: '操作',
+    dataIndex: 'action',
+    width: 150,
+    slots: {
+      customRender: 'action',
+    },
+    fixed: 'right',
   },
 ];
 
@@ -178,33 +198,34 @@ export const maintenanceSearchFormSchema: FormSchema[] = [
 export const maintenanceTableColumns: BasicColumn[] = [
   {
     title: '层次',
-    dataIndex: 'level',
+    dataIndex: 'baseMajorGradationIdCn',
   },
   {
     title: '招生专业方向名称',
-    dataIndex: 'name',
-  },
-  {
-    title: '所属校区',
-    dataIndex: 'orgName',
+    dataIndex: 'baseMajorSetIdCn',
+    align: 'left',
   },
+  // {
+  //   title: '所属校区',
+  //   dataIndex: 'orgName',
+  // },
   {
     title: '所属专业部',
-    dataIndex: 'orgName',
+    dataIndex: 'departmentIdCn',
   },
   {
     title: '招生毕业中学数',
-    dataIndex: 'number',
+    dataIndex: 'graduateSchoolSum',
   },
   {
     title: '专业方向计划招生人数',
-    dataIndex: 'sum',
-    slots: { customRender: 'sum' },
+    dataIndex: 'baseMajorSetEnrollmentNum',
+    slots: { customRender: 'baseMajorSetEnrollmentNum' },
   },
   {
     title: '专业方向最大招生人数',
-    dataIndex: 'maxSum',
-    slots: { customRender: 'maxSum' },
+    dataIndex: 'baseMajorSetEnrollmentNumMax',
+    slots: { customRender: 'baseMajorSetEnrollmentNumMax' },
   },
   {
     title: '操作',

+ 40 - 2
src/views/educational/enrollment/components/maintenance.vue

@@ -1,9 +1,10 @@
 <script setup lang="ts">
   import BasicModal from '/@/components/Modal/src/BasicModal.vue';
-  import { useModalInner } from '/@/components/Modal';
+  import { useModal, useModalInner } from '/@/components/Modal';
   import BasicTable from '/@/components/Table/src/BasicTable.vue';
   import { useTable } from '/@/components/Table';
   import { Checkbox } from 'ant-design-vue';
+  import schoolEdit from './schoolEdit.vue';
   import {
     maintenanceSearchFormSchema,
     maintenanceTableColumns,
@@ -11,37 +12,55 @@
   } from './data.config';
   import { requestMagicApi } from '/@/api/magicApi';
   import { ref, watch } from 'vue';
+  import {
+    getEnrollmentPlanMajorSetBaseMajorSetPage,
+    getEnrollmentPlanMajorSetGeneratedRelationPage,
+  } from '/@/services/apis/EnrollmentPlanMajorSetController';
   const CheckboxGroup = Checkbox.Group;
   const indeterminate = ref(false);
   const schoolList = ref<any>([]);
   const selectCheckList = ref<any>([]);
   const checkAll = ref<boolean>(false);
+  const planId = ref<any>(null);
   const [tableReg, { reload }] = useTable({
     rowKey: 'id',
     columns: planTableColumns,
+    api: getEnrollmentPlanMajorSetBaseMajorSetPage,
     title: '选择专业方向',
     showTableSetting: true,
     bordered: true,
     useSearchForm: true,
+    resizeHeightOffset: 500,
     formConfig: {
       labelWidth: 120,
       schemas: maintenanceSearchFormSchema,
     },
   });
-  const [selectTable, {}] = useTable({
+  const [selectTable, { reload: selectReload }] = useTable({
     title: '已生成招生专业方向+毕业中学关系',
     useSearchForm: true,
     columns: maintenanceTableColumns,
     showTableSetting: true,
+    api: getEnrollmentPlanMajorSetGeneratedRelationPage,
     bordered: true,
+    immediate: false,
     formConfig: {
       labelWidth: 120,
       schemas: maintenanceSearchFormSchema,
     },
+    beforeFetch: (params) => {
+      return {
+        ...params,
+        enrollmentPlanId: planId.value,
+      };
+    },
   });
   const [modalReg, { setModalProps, closeModal }] = useModalInner(async (data) => {
     schoolList.value = await requestMagicApi({ url: '/baseData/graduateSchool/option' } as any);
+    planId.value = data.id;
+    await selectReload();
   });
+  const [schoolReg, { openModal }] = useModal();
   const handleCheckChange = () => {
     if (checkAll.value) {
       selectCheckList.value = schoolList.value.map((item) => item.value);
@@ -56,6 +75,11 @@
       checkAll.value = val.length === schoolList.value.length;
     },
   );
+  const handleEdit = (record: any) => {
+    openModal(true, {
+      record,
+    });
+  };
 </script>
 
 <template>
@@ -104,9 +128,23 @@
             <a-button type="primary">预览</a-button>
             <a-button type="primary">删除</a-button>
           </template>
+          <template #baseMajorSetEnrollmentNum="{ record }">
+            <a-input-number :step="1" :min="0" v-model:value="record.baseMajorSetEnrollmentNum" />
+          </template>
+          <template #baseMajorSetEnrollmentNumMax="{ record }">
+            <a-input-number
+              :step="1"
+              :min="0"
+              v-model:value="record.baseMajorSetEnrollmentNumMax"
+            />
+          </template>
+          <template #action="{ record }">
+            <a @click="handleEdit(record)">编辑毕业中学招生计划</a>
+          </template>
         </BasicTable>
       </div>
     </div>
+    <schoolEdit @register="schoolReg" />
   </BasicModal>
 </template>
 

+ 118 - 0
src/views/educational/enrollment/components/schoolEdit.vue

@@ -0,0 +1,118 @@
+<script setup lang="ts">
+  import BasicModal from '/@/components/Modal/src/BasicModal.vue';
+  import { ref } from 'vue';
+  import { useTable } from '/@/components/Table';
+  import { useModalInner } from '/@/components/Modal';
+  import BasicTable from '/@/components/Table/src/BasicTable.vue';
+  import {
+    deleteStudentEnrollmentPlanGraduateSchool,
+    getEnrollmentPlanGraduateSchoolPage,
+    putStudentEnrollmentPlanGraduateSchool,
+  } from '/@/services/apis/EnrollmentPlanGraduateSchoolController';
+  import { useMessage } from '/@/hooks/web/useMessage';
+  const title = ref('毕业中学招生人数设置');
+  const enrollmentPlanMajorSetId = ref('');
+  const selectRows = ref<any[]>([]);
+  const [tableReg, { reload, getDataSource, setTableData, clearSelectedRowKeys }] = useTable({
+    title: '毕业中学列表',
+    api: getEnrollmentPlanGraduateSchoolPage,
+    columns: [
+      { title: '毕业中学', dataIndex: 'baseGraduateSchoolIdCn' },
+      {
+        title: '招生人人数',
+        dataIndex: 'enrollmentNum',
+        slots: { customRender: 'enrollmentNum' },
+      },
+      {
+        title: '操作',
+        dataIndex: 'action',
+        slots: { customRender: 'action' },
+        fixed: 'right',
+        width: 100,
+      },
+    ],
+    rowKey: 'id',
+    immediate: false,
+    bordered: true,
+    useSearchForm: false,
+    showTableSetting: false,
+    resizeHeightOffset: 200,
+    rowSelection: {
+      type: 'checkbox',
+      onChange: (selectedRowKeys) => {
+        selectRows.value = selectedRowKeys;
+      },
+    },
+    customRow: () => {
+      return {
+        onClick: () => {
+          return false;
+        },
+      };
+    },
+    beforeFetch: (params) => {
+      return {
+        ...params,
+        enrollmentPlanMajorSetId: enrollmentPlanMajorSetId.value,
+      };
+    },
+  });
+  const { createMessage, createConfirm } = useMessage();
+  const [register, { closeModal }] = useModalInner((data) => {
+    enrollmentPlanMajorSetId.value = data.record.id;
+    reload();
+  });
+  const handleDelete = (id) => {
+    createConfirm({
+      iconType: 'warning',
+      title: '提示',
+      content: '是否删除数据?',
+      onOk: async () => {
+        await deleteStudentEnrollmentPlanGraduateSchool(id ? [id] : selectRows.value);
+        createMessage.success('删除成功');
+        await reload();
+      },
+    });
+  };
+
+  const handleCancel = () => {
+    clearSelectedRowKeys();
+    closeModal();
+  };
+  const handleSubmit = async () => {
+    try {
+      await putStudentEnrollmentPlanGraduateSchool(getDataSource());
+      createMessage.success('保存成功');
+      handleCancel();
+    } catch (e) {
+      createMessage.error('保存失败');
+    }
+  };
+</script>
+
+<template>
+  <BasicModal
+    @ok="handleSubmit"
+    :canFullscreen="false"
+    @cancel="handleCancel"
+    width="600px"
+    @register="register"
+    :title="title"
+  >
+    <BasicTable @register="tableReg">
+      <template #toolbar>
+        <a-button :disabled="!selectRows.length" type="primary" @click="handleDelete(null)"
+          >批量删除</a-button
+        >
+      </template>
+      <template #enrollmentNum="{ record }">
+        <a-input-number v-model:value="record.enrollmentNum" :step="1" :min="0" />
+      </template>
+      <template #action="{ record }">
+        <a-button type="link" @click="handleDelete(record.id)">删除</a-button>
+      </template>
+    </BasicTable>
+  </BasicModal>
+</template>
+
+<style scoped lang="less"></style>

+ 64 - 3
src/views/educational/enrollment/index.vue

@@ -7,28 +7,59 @@
   import { useModal } from '/@/components/Modal';
   import maintenance from './components/maintenance.vue';
   import copyPlan from './components/copyPlan.vue';
+  import {
+    deleteStudentEnrollmentPlan,
+    getEnrollmentPlanPage,
+    putStudentEnrollmentPlan,
+  } from '/@/services/apis/EnrollmentPlanController';
+  import TableAction from '/@/components/Table/src/components/TableAction.vue';
+  import { useMessage } from '/@/hooks/web/useMessage';
   const [modelReg, { openModal }] = useModal();
   const [maintenanceReg, { openModal: openMaintenanceReg }] = useModal();
   const [copyPlanReg, { openModal: openCopyPlanModal }] = useModal();
   const [tableReg, { reload }] = useTable({
-    title: '招生计划名称',
+    title: '招生计划列表',
     columns: tableColumns,
+    api: getEnrollmentPlanPage,
     useSearchForm: true,
+    bordered: true,
     showTableSetting: true,
     formConfig: {
       labelWidth: 120,
       schemas: searchForm,
     },
   });
+  const { createMessage } = useMessage();
   const handleEdit = (record: any, isEdit: boolean) => {
     openModal(true, { ...record, isEdit: isEdit });
   };
-  const handleMaintenance = () => {
-    openMaintenanceReg(true, {});
+  const handleMaintenance = (record) => {
+    openMaintenanceReg(true, { ...record });
   };
   const handleCopy = () => {
     openCopyPlanModal(true, {});
   };
+  const handleDelete = async (record: any) => {
+    try {
+      await deleteStudentEnrollmentPlan([record.id]);
+      createMessage.success('删除成功');
+      await reload();
+    } catch (e) {
+      createMessage.error('删除失败');
+    }
+  };
+  const changeStatus = async (record: any) => {
+    try {
+      await putStudentEnrollmentPlan({
+        id: record.id,
+        status: record.status === 0 ? 1 : 0,
+      });
+      createMessage.success('发布成功');
+      await reload();
+    } catch (e) {
+      createMessage.error('发布失败');
+    }
+  };
 </script>
 
 <template>
@@ -39,6 +70,36 @@
         <a-button type="primary" @click="handleEdit(null, false)">新增</a-button>
         <a-button @click="handleCopy">复制</a-button>
       </template>
+      <template #action="{ record }">
+        <TableAction
+          :actions="[
+            {
+              ifShow: () => record.status === 0,
+              label: '发布',
+              popConfirm: {
+                title: '是否确认发布',
+                confirm: changeStatus.bind(null, record),
+              },
+            },
+            {
+              label: '维护',
+              onClick: openMaintenanceReg.bind(null, record, true),
+            },
+            {
+              label: '复制',
+              onClick: openCopyPlanModal.bind(null, record, true),
+            },
+            {
+              ifShow: () => record.status === 0,
+              label: '删除',
+              popConfirm: {
+                title: '是否确认删除',
+                confirm: handleDelete.bind(null, record),
+              },
+            },
+          ]"
+        />
+      </template>
     </BasicTable>
     <edit @register="modelReg" @success="reload()" />
     <maintenance @register="maintenanceReg" />