wuzhen 1 год назад
Родитель
Сommit
138a250f28

+ 4 - 10
web/src/api/xg/xgss/dormBedStudent/dormBedStudent/types.ts

@@ -73,7 +73,6 @@ export interface DormBedStudentVO {
    * 备注
    */
   remark: string;
-
 }
 
 export interface DormBedStudentForm extends BaseEntity {
@@ -151,11 +150,9 @@ export interface DormBedStudentForm extends BaseEntity {
    * 备注
    */
   remark?: string;
-
 }
 
 export interface DormBedStudentQuery extends PageQuery {
-
   /**
    * 分配学院ID
    */
@@ -221,11 +218,8 @@ export interface DormBedStudentQuery extends PageQuery {
    */
   deleted?: string;
 
-    /**
-     * 日期范围参数
-     */
-    params?: any;
+  /**
+   * 日期范围参数
+   */
+  params?: any;
 }
-
-
-

+ 245 - 0
web/src/api/zsjy/types.ts

@@ -741,3 +741,248 @@ export interface GraduateStatisticsVO {
   salaryRange?: string;
   salaryRangeName?: string;
 }
+
+/**
+ * 实习信息 VO
+ */
+export interface InternshipInfoVO {
+  /**
+   * 学生ID
+   */
+  studentId?: string | number;
+
+  /**
+   * 学号
+   */
+  studentNo?: string;
+
+  /**
+   * 学生姓名
+   */
+  studentName?: string;
+
+  /**
+   * 性别
+   */
+  gender?: string;
+
+  /**
+   * 手机号
+   */
+  mobile?: string;
+
+  /**
+   * 学院ID
+   */
+  collegeId?: string | number;
+
+  /**
+   * 学院名称
+   */
+  collegeName?: string;
+
+  /**
+   * 专业ID
+   */
+  majorId?: string | number;
+
+  /**
+   * 专业名称
+   */
+  majorName?: string;
+
+  /**
+   * 班级ID
+   */
+  classId?: string | number;
+
+  /**
+   * 班级名称
+   */
+  className?: string;
+
+  /**
+   * 班主任姓名
+   */
+  classMasterName?: string;
+
+  /**
+   * 实习状态 (0=未实习, 1=实习中, 2=实习完成)
+   */
+  internshipStatus?: string;
+
+  /**
+   * 实习状态名称
+   */
+  internshipStatusName?: string;
+
+  /**
+   * 实习公司
+   */
+  internshipCompany?: string;
+
+  /**
+   * 实习岗位
+   */
+  internshipPosition?: string;
+
+  /**
+   * 实习开始时间
+   */
+  internshipStartTime?: string;
+
+  /**
+   * 实习结束时间
+   */
+  internshipEndTime?: string;
+
+  /**
+   * 实习地点
+   */
+  internshipLocation?: string;
+
+  /**
+   * 创建时间
+   */
+  createTime?: string;
+
+  /**
+   * 创建者
+   */
+  createBy?: number;
+
+  /**
+   * 更新时间
+   */
+  updateTime?: string;
+
+  /**
+   * 更新者
+   */
+  updateBy?: number;
+}
+
+/**
+ * 实习信息查询 BO
+ */
+export interface InternshipInfoQuery {
+  /**
+   * 页码
+   */
+  pageNum?: number;
+
+  /**
+   * 页面大小
+   */
+  pageSize?: number;
+
+  /**
+   * 学生姓名
+   */
+  studentName?: string;
+
+  /**
+   * 学号
+   */
+  studentNo?: string;
+
+  /**
+   * 学院ID
+   */
+  collegeId?: string | number;
+
+  /**
+   * 专业ID
+   */
+  majorId?: string | number;
+
+  /**
+   * 班级ID
+   */
+  classId?: string | number;
+
+  /**
+   * 实习状态 (0=未实习, 1=实习中, 2=实习完成)
+   */
+  internshipStatus?: string;
+
+  /**
+   * 实习公司
+   */
+  internshipCompany?: string;
+
+  /**
+   * 开始时间范围
+   */
+  startTimeBegin?: string;
+
+  /**
+   * 开始时间范围
+   */
+  startTimeEnd?: string;
+}
+
+/**
+ * 班级信息 VO(用于下拉选择)
+ */
+export interface ClassInfoVO {
+  /**
+   * 班级ID
+   */
+  classId?: string | number;
+
+  /**
+   * 班级名称
+   */
+  className?: string;
+
+  /**
+   * 学院ID
+   */
+  collegeId?: string | number;
+
+  /**
+   * 学院名称
+   */
+  collegeName?: string;
+
+  /**
+   * 专业ID
+   */
+  majorId?: string | number;
+
+  /**
+   * 专业名称
+   */
+  majorName?: string;
+
+  /**
+   * 班主任姓名
+   */
+  classMasterName?: string;
+}
+
+/**
+ * 实习统计信息 VO
+ */
+export interface InternshipStatisticsVO {
+  /**
+   * 总学生数
+   */
+  totalCount?: number;
+
+  /**
+   * 未实习学生数
+   */
+  noInternshipCount?: number;
+
+  /**
+   * 实习学生数
+   */
+  internshipCount?: number;
+
+  /**
+   * 实习率(百分比字符串,如 "85.67%")
+   */
+  internshipRate?: string;
+}

+ 2 - 2
web/src/components/FileUpload/index.vue

@@ -121,8 +121,8 @@ watch(
 
 /** 下载附件 */
 const handleDownloadAttachment = async (file: any) => {
-  let downloadUrl = file.ossId;
-  let fileName = file.name || 'attachment';
+  const downloadUrl = file.ossId;
+  const fileName = file.name || 'attachment';
 
   if (!downloadUrl) {
     proxy?.$modal.msgError('无法获取文件下载地址');

+ 1 - 1
web/src/views/cw/approverConfig/index.vue

@@ -578,7 +578,7 @@ export default {
 
     /** 状态变更 */
     handleStatusChange(row) {
-      let text = row.status === '1' ? '启用' : '停用';
+      const text = row.status === '1' ? '启用' : '停用';
       this.$modal
         .confirm('确认要"' + text + '""' + row.configName + '"配置吗?')
         .then(() => {

+ 2 - 2
web/src/views/cw/statistics/index.vue

@@ -174,8 +174,8 @@
           <pagination
             v-show="projectTotal > 0"
             :total="projectTotal"
-            :page.sync="queryParams.pageNum"
-            :limit.sync="queryParams.pageSize"
+            v-model:page="queryParams.pageNum"
+            v-model:limit="queryParams.pageSize"
             @pagination="getProjectList"
           />
         </el-tab-pane>

+ 2 - 2
web/src/views/hq/pm/repairOrder/index.vue

@@ -1871,8 +1871,8 @@ const submitForm = () => {
 /** 处理待关联的附件 */
 const handlePendingAttachments = async (orderId: string | number) => {
   let hasOperations = false;
-  let successMessages: string[] = [];
-  let errorMessages: string[] = [];
+  const successMessages: string[] = [];
+  const errorMessages: string[] = [];
 
   // 处理待删除的附件(编辑模式)
   if (pendingDeleteAttachmentIds.value.length > 0) {

+ 9 - 11
web/src/views/jcbt/workstudy/depreview/components/ApplicationDetail.vue

@@ -1,10 +1,5 @@
 <template>
-  <el-dialog
-    v-model="dialogVisible"
-    title="申请详情"
-    width="80%"
-    :before-close="handleClose"
-  >
+  <el-dialog v-model="dialogVisible" title="申请详情" width="80%" :before-close="handleClose">
     <div v-loading="loading" class="application-detail">
       <template v-if="applicationData">
         <!-- 基本信息 -->
@@ -130,12 +125,15 @@ const applicationData = ref<WorkStudyApplicationVO>();
 const dialogVisible = ref(false);
 
 // 监听 visible 变化
-watch(() => props.visible, (newVal) => {
-  dialogVisible.value = newVal;
-  if (newVal && props.applicationId) {
-    getDetail();
+watch(
+  () => props.visible,
+  (newVal) => {
+    dialogVisible.value = newVal;
+    if (newVal && props.applicationId) {
+      getDetail();
+    }
   }
-});
+);
 
 // 监听 dialogVisible 变化
 watch(dialogVisible, (newVal) => {

+ 3 - 29
web/src/views/jcbt/workstudy/depreview/components/PendingApplications.vue

@@ -68,38 +68,13 @@
         <template #default="{ row }">
           <div class="operation-buttons">
             <el-tooltip content="查看详情" placement="top">
-              <el-button
-                link
-                type="primary"
-                icon="View"
-                size="small"
-                @click="handleDetail(row)"
-
-              >
-                详情
-              </el-button>
+              <el-button link type="primary" icon="View" size="small" @click="handleDetail(row)"> 详情 </el-button>
             </el-tooltip>
             <el-tooltip content="审核通过" placement="top">
-              <el-button
-                link
-                type="success"
-                icon="Check"
-                size="small"
-                @click="handleReview(row, 'approved')"
-              >
-                通过
-              </el-button>
+              <el-button link type="success" icon="Check" size="small" @click="handleReview(row, 'approved')"> 通过 </el-button>
             </el-tooltip>
             <el-tooltip content="审核拒绝" placement="top">
-              <el-button
-                link
-                type="danger"
-                icon="Close"
-                size="small"
-                @click="handleReview(row, 'rejected')"
-              >
-                拒绝
-              </el-button>
+              <el-button link type="danger" icon="Close" size="small" @click="handleReview(row, 'rejected')"> 拒绝 </el-button>
             </el-tooltip>
           </div>
         </template>
@@ -245,7 +220,6 @@ const getList = async () => {
     } else {
       console.log('🔍 [调试] ⚠️ 列表为空!');
     }
-
   } catch (error: any) {
     console.error('🔍 [调试] 获取待审核申请列表失败:', error);
     if (error?.response?.data) {

+ 1 - 1
web/src/views/xg/xsjcxx/xsqj/xjdialog.vue

@@ -749,7 +749,7 @@ const getStudentLeaveInfo = async (id: string | number) => {
   try {
     //通过销假id获取请假id
     const leaveIdResp = await getLeaveIdByCancelLeaveId(id);
-    let leaveId = leaveIdResp?.data;
+    const leaveId = leaveIdResp?.data;
     console.log('通过销假ID获取到的请假ID:', leaveId);
     id = leaveId || id;
 

+ 3 - 3
web/src/views/xljk/consultation/calendar/WeekView.vue

@@ -257,7 +257,7 @@ function emitDateRangeChange() {
     // 本月第一天
     const firstDay = new Date(year, month, 1);
     // 本月第一天是星期几(0-6,0是星期日)
-    let firstDayOfWeek = firstDay.getDay() || 7; // 转换为1-7,1是星期一
+    const firstDayOfWeek = firstDay.getDay() || 7; // 转换为1-7,1是星期一
 
     // 计算本月第一周的第一天(可能是上个月的日期)
     const firstDayOfCalendar = new Date(firstDay);
@@ -266,7 +266,7 @@ function emitDateRangeChange() {
     // 计算本月最后一天
     const lastDay = new Date(year, month + 1, 0);
     // 本月最后一天是星期几(0-6,0是星期日)
-    let lastDayOfWeek = lastDay.getDay() || 7; // 转换为1-7,1是星期一
+    const lastDayOfWeek = lastDay.getDay() || 7; // 转换为1-7,1是星期一
 
     // 计算本月最后一周的最后一天(可能是下个月的日期)
     const lastDayOfCalendar = new Date(lastDay);
@@ -357,7 +357,7 @@ const monthDays = computed(() => {
   // 本月第一天
   const firstDay = new Date(year, month, 1);
   // 本月第一天是星期几(0-6,0是星期日)
-  let firstDayOfWeek = firstDay.getDay() || 7; // 转换为1-7,1是星期一
+  const firstDayOfWeek = firstDay.getDay() || 7; // 转换为1-7,1是星期一
 
   // 计算本月第一周的第一天(可能是上个月的日期)
   const firstDayOfCalendar = new Date(firstDay);

+ 1 - 1
web/src/views/xljk/consultation/calendar/index.vue

@@ -445,7 +445,7 @@ async function viewMyAppointments() {
     console.log(`获取预约记录,添加时间戳${timestamp}强制刷新数据`);
 
     // 尝试多种类型转换,确保能正确查询到记录
-    let id = studentId.value;
+    const id = studentId.value;
 
     // 尝试使用原始studentId查询,强制刷新数据
     console.log('尝试使用原始studentId查询:', id);

+ 1 - 1
web/src/views/zsjy/enrollmentStatistics/index.vue

@@ -623,7 +623,7 @@ const getCollegeName = (row: any): string => {
   }
 
   // 如果有学院代码,尝试从映射表获取
-  let collegeId = row.collegeId || row.college_id;
+  const collegeId = row.collegeId || row.college_id;
 
   if (collegeId) {
     const collegeMap: { [key: string]: string } = {