diff --git a/.env.development b/.env.development index f9ab5cb..cda5ee5 100644 --- a/.env.development +++ b/.env.development @@ -8,4 +8,4 @@ VITE_OPEN=true ENV=development # ADMIN 服务地址 -VITE_ADMIN_PROXY_PATH = http://localhost:9999 +VITE_ADMIN_PROXY_PATH = http://scj-v3.zhxy.link/api diff --git a/src/api/basic/basicclass.ts b/src/api/basic/basicclass.ts index c0fc57f..b8c0c05 100644 --- a/src/api/basic/basicclass.ts +++ b/src/api/basic/basicclass.ts @@ -52,6 +52,18 @@ export const getObj = (id: string | number) => { }); }; +/** + * 获取详情(使用 detail 接口) + * @param id + */ +export const getDetail = (id: string | number) => { + return request({ + url: '/basic/basicclass/detail', + method: 'get', + params: { id } + }); +}; + /** * 删除 * @param id diff --git a/src/api/basic/basicstudent.ts b/src/api/basic/basicstudent.ts index ac31a7a..c9e422a 100644 --- a/src/api/basic/basicstudent.ts +++ b/src/api/basic/basicstudent.ts @@ -442,6 +442,18 @@ export const queryStuBaseByNo = (obj: string | number) => { }); }; +/** + * 学生巡检列表 + * @param query + */ +export const queryStuindex = (query?: any) => { + return request({ + url: '/basic/basicstudent/queryStuindex', + method: 'get', + params: query, + }); +}; + /** * 获取头像列表 */ diff --git a/src/api/stuwork/classhonor.ts b/src/api/stuwork/classhonor.ts index ef54a39..8c1f9f4 100644 --- a/src/api/stuwork/classhonor.ts +++ b/src/api/stuwork/classhonor.ts @@ -78,7 +78,8 @@ export const delObj = (ids: string[]) => { */ export const queryClassHonorByClassCode = (classCode: string | number) => { return request({ - url: `/stuwork/classhonor/queryClassHonorByClassCode/${classCode}`, + url: '/stuwork/classhonor/queryClassHonorByClassCode', method: 'get', + params: { classCode }, }); }; diff --git a/src/api/stuwork/classpublicity.ts b/src/api/stuwork/classpublicity.ts index 156d3d5..90a97e6 100644 --- a/src/api/stuwork/classpublicity.ts +++ b/src/api/stuwork/classpublicity.ts @@ -93,7 +93,8 @@ export const addScore = (data: any) => { */ export const queryDataByClassCode = (classCode: string | number) => { return request({ - url: `/stuwork/classpublicity/queryDataByClassCode/${classCode}`, + url: '/stuwork/classpublicity/queryDataByClassCode', method: 'get', + params: { classCode }, }); }; diff --git a/src/api/stuwork/classroomhygienedailyanalysis.ts b/src/api/stuwork/classroomhygienedailyanalysis.ts new file mode 100644 index 0000000..4483fbf --- /dev/null +++ b/src/api/stuwork/classroomhygienedailyanalysis.ts @@ -0,0 +1,24 @@ +import request from '/@/utils/request'; + +/** + * 获取教室卫生月汇总列表 + */ +export const fetchList = (query: any) => { + return request({ + url: '/stuwork/classroomhygienedailyanalysis/queryClassRoomHygieneDailyAnalysis', + method: 'get', + params: query + }); +}; + +/** + * 获取教室卫生月汇总详情 + */ +export const getObj = (query: any) => { + return request({ + url: '/stuwork/classroomhygienedaily/detail', + method: 'get', + params: query + }); +}; + diff --git a/src/api/stuwork/dormroomstudent.ts b/src/api/stuwork/dormroomstudent.ts index 6f4b6be..3d4490e 100644 --- a/src/api/stuwork/dormroomstudent.ts +++ b/src/api/stuwork/dormroomstudent.ts @@ -5,10 +5,11 @@ import request from '/@/utils/request'; * @param classCode 班级代码 */ export const fearchStuNumByClassCode = (classCode: string | number) => { - return request({ - url: `/stuwork/dormroomstudent/fearchStuNumByClassCode/${classCode}`, - method: 'get', - }); + return request({ + url: '/stuwork/dormroomstudent/fearchStuNumByClassCode', + method: 'get', + params: { classCode }, + }); }; /** diff --git a/src/api/stuwork/dormroomstudentchange.ts b/src/api/stuwork/dormroomstudentchange.ts new file mode 100644 index 0000000..ec5abd1 --- /dev/null +++ b/src/api/stuwork/dormroomstudentchange.ts @@ -0,0 +1,14 @@ +import request from '/@/utils/request'; + +/** + * 分页查询宿舍学生异动列表 + * @param query + */ +export const fetchList = (query?: any) => { + return request({ + url: '/stuwork/dormroomstudentchange/page', + method: 'get', + params: query + }); +}; + diff --git a/src/api/stuwork/stupunlish.ts b/src/api/stuwork/stupunlish.ts index ff799fa..4fc7696 100644 --- a/src/api/stuwork/stupunlish.ts +++ b/src/api/stuwork/stupunlish.ts @@ -79,8 +79,9 @@ export const exportData = (query?: any) => { */ export const queryPunlishNumByClass = (classCode: string | number) => { return request({ - url: `/stuwork/stupunlish/queryPunlishNumByClass/${classCode}`, - method: 'get' + url: '/stuwork/stupunlish/queryPunlishNumByClass', + method: 'get', + params: { classCode } }); }; diff --git a/src/api/stuwork/teachclassroomassign.ts b/src/api/stuwork/teachclassroomassign.ts index 6542fb1..d132acd 100644 --- a/src/api/stuwork/teachclassroomassign.ts +++ b/src/api/stuwork/teachclassroomassign.ts @@ -5,9 +5,10 @@ import request from '/@/utils/request'; * @param classCode 班级代码 */ export const getClassRoomByClassCode = (classCode: string | number) => { - return request({ - url: `/stuwork/teachclassroomassign/getClassRoomByClassCode/${classCode}`, - method: 'get', - }); + return request({ + url: '/stuwork/teachclassroomassign/getClassRoomByClassCode', + method: 'get', + params: { classCode }, + }); }; diff --git a/src/layout/navMenu/horizontal.vue b/src/layout/navMenu/horizontal.vue index b3e147f..a86471f 100644 --- a/src/layout/navMenu/horizontal.vue +++ b/src/layout/navMenu/horizontal.vue @@ -6,7 +6,7 @@ - + {{ $t(val.name.split('_')[0]) }} @@ -15,12 +15,12 @@ - + {{ $t(val.name.split('_')[0]) }} - + {{ $t(val.name.split('_')[0]) }} @@ -66,6 +66,10 @@ const state = reactive({ const menuLists = computed(() => { return props.menuList; }); +// 获取菜单图标,如果没有则返回默认图标 +const getMenuIcon = (icon?: string) => { + return icon && icon.trim() ? icon : 'ele-Menu'; +}; // 设置横向滚动条可以鼠标滚轮滚动 const onElMenuHorizontalScroll = (e: WheelEventType) => { const eventDelta = e.wheelDelta || -e.deltaY * 40; diff --git a/src/layout/navMenu/subItem.vue b/src/layout/navMenu/subItem.vue index e782035..15b947d 100644 --- a/src/layout/navMenu/subItem.vue +++ b/src/layout/navMenu/subItem.vue @@ -2,27 +2,27 @@ - + {{ $t(val.name.split('_')[0]) }} - + - + {{ $t(val.name.split('_')[0]) }} - + {{ $t(val.name.split('_')[0]) }} - + @@ -45,6 +45,10 @@ const props = defineProps({ const chils = computed(() => { return props.chil; }); +// 获取菜单图标,如果没有则返回默认图标 +const getMenuIcon = (icon?: string) => { + return icon && icon.trim() ? icon : 'ele-Menu'; +}; // 打开外部链接 const onALinkClick = (val: RouteItem) => { other.handleOpenLink(val); diff --git a/src/layout/navMenu/vertical.vue b/src/layout/navMenu/vertical.vue index 5561557..af854e8 100644 --- a/src/layout/navMenu/vertical.vue +++ b/src/layout/navMenu/vertical.vue @@ -11,7 +11,7 @@ - + {{ $t(val.name.split('_')[0]) }} @@ -19,7 +19,7 @@ - + {{ $t(val.name.split('_')[0]) }} @@ -62,6 +62,10 @@ const state = reactive({ const menuLists = computed(() => { return props.menuList; }); +// 获取菜单图标,如果没有则返回默认图标 +const getMenuIcon = (icon?: string) => { + return icon && icon.trim() ? icon : 'ele-Menu'; +}; // 获取布局配置信息 const getThemeConfig = computed(() => { return themeConfig.value; diff --git a/src/views/basic/basicclass/form.vue b/src/views/basic/basicclass/form.vue index 063ec5d..4f1c204 100644 --- a/src/views/basic/basicclass/form.vue +++ b/src/views/basic/basicclass/form.vue @@ -74,8 +74,8 @@ + placeholder="自动填充班号" + :disabled="true" /> @@ -92,8 +92,8 @@ + placeholder="自动拼接班级规范名称" + :disabled="true" /> @@ -101,8 +101,8 @@ + placeholder="自动填充入学年份" + :disabled="true" /> @@ -159,9 +159,9 @@ + + + diff --git a/src/views/basic/basicstudentavatar/index.vue b/src/views/basic/basicstudentavatar/index.vue index e8c8808..290e23b 100644 --- a/src/views/basic/basicstudentavatar/index.vue +++ b/src/views/basic/basicstudentavatar/index.vue @@ -46,10 +46,30 @@ :cell-style="tableStyle.cellStyle" :header-cell-style="tableStyle.headerCellStyle" @sort-change="sortChangeHandle"> - - - - + + + + 序号 + + + + + + 学号 + + + + + + 姓名 + + + + + + 班级 + + 新增 @@ -34,18 +33,61 @@ border :cell-style="tableStyle.cellStyle" :header-cell-style="tableStyle.headerCellStyle"> - - - - - + + + + + + + + + 活动主题 + + + + + + 学号 + + + + + + 姓名 + + + + + + 获奖信息 + + + + {{ scope.row.awards }} + + - + + + + + 获奖时间 + {{ parseTime(scope.row.awardTime || scope.row.month, '{y}-{m}-{d}') }} - + + + + 备注 + + + + + 操作 + 新增 @@ -27,25 +26,58 @@ border :cell-style="tableStyle.cellStyle" :header-cell-style="tableStyle.headerCellStyle"> - - - + + + + + + + + + 活动主题 + + + + + + 活动说明 + + + + + 活动兼报数 + - {{ scope.row.maxSub || '-' }} + + {{ scope.row.maxSub }} + + - + + + 开始时间 + {{ parseTime(scope.row.startTime, '{y}-{m}-{d}') }} + + + 结束时间 + {{ parseTime(scope.row.endTime, '{y}-{m}-{d}') }} + + + 操作 + - - - - + + + + + + + + + 活动主题 + + + + + + 子项目名称 + + + + + + 项目描述 + + + + + 开始时间 + {{ parseTime(scope.row.startTime, '{y}-{m}-{d} {h}:{i}:{s}') }} + + + 结束时间 + {{ parseTime(scope.row.endTime, '{y}-{m}-{d} {h}:{i}:{s}') }} + + + 报名人数限制 + - {{ scope.row.maxNum !== undefined && scope.row.maxNum !== null ? scope.row.maxNum : '-' }} + + {{ scope.row.maxNum }} + + - + + + + + + 活动说明 - + + + 操作 + - - - - - - - - - - + + + + + + + + + 活动主题 + + + + + + 子项目 + + + + + + 项目描述 + + + + + + 学号/工号 + + + + + + 姓名 + + + + + + 学院名称 + + + + + + 班号 + + + + + + 班主任 + + + + + + 联系电话 + + + + + 操作 + 新增 @@ -51,15 +50,39 @@ border :cell-style="tableStyle.cellStyle" :header-cell-style="tableStyle.headerCellStyle"> - - - - - {{ formatType(scope.row.type) }} + + + + + + + + + 考核项名称 + + + + + + 考核类型 + + + + {{ formatType(scope.row.type) }} + + + + + + + 备注 - + + + 操作 + 新增 @@ -44,13 +43,52 @@ border :cell-style="tableStyle.cellStyle" :header-cell-style="tableStyle.headerCellStyle"> - - - - - - + + + + + + + + + 考核项 + + + + + + 指标名称 + + + + + + 评分标准 + + + + + + 默认扣分值 + + + + {{ scope.row.score }} + + - + + + + + + 备注 + + + + + 操作 + - - - - - {{ formatSchoolTerm(scope.row.schoolTerm) }} + + + + + + + + + 学年 + + + + + + 学期 + + + + {{ formatSchoolTerm(scope.row.schoolTerm) }} + + + + + + + 班号 + + + + + + 活动主题 + + + + + + 主持人 - - - + + + 活动时间 + {{ scope.row.activityTime || scope.row.recordDate || '-' }} - - + + + + 活动地点 + + + + + + 参加人数 + + + + {{ scope.row.attendNum }} + + - + + + + + 操作 + - - - - + + + + + + + + + 学年 + + + + + + 学期 + + + + {{ formatSchoolTerm(scope.row.schoolTerm) }} + + + + + + + 班号 + + + + + 操作 + import('./form.vue')); +import { List, Calendar, Clock, Grid, Setting } from '@element-plus/icons-vue' // 定义变量内容 const formDialogRef = ref() diff --git a/src/views/stuwork/classattendance/index.vue b/src/views/stuwork/classattendance/index.vue index aa7d320..4101942 100644 --- a/src/views/stuwork/classattendance/index.vue +++ b/src/views/stuwork/classattendance/index.vue @@ -59,29 +59,87 @@ border :cell-style="tableStyle.cellStyle" :header-cell-style="tableStyle.headerCellStyle"> - - - - - - + + + + + + + + + 学号 + + + + + + 姓名 + + + + + + 联系电话 + + + + + + 家长联系电话1 + + + + + + 家长联系电话2 + + + + + 学生状态 + - {{ formatStudentStatus(scope.row.stuStatus) }} + + {{ formatStudentStatus(scope.row.stuStatus) }} + + + + 考勤类型 + - {{ formatAttendanceType(scope.row.attendanceType) }} + + {{ formatAttendanceType(scope.row.attendanceType) }} + + + + 是否住宿 + - {{ formatYesNo(scope.row.isRoom) }} + + + + + + + 宿舍号 - + + + 是否扫脸 + {{ scope.row.isDeviceIn === '1' ? '是' : '否' }} @@ -89,6 +147,10 @@ + + + 操作 + import('/@/components/StatusTag/index.vue')) // 定义变量内容 const searchFormRef = ref() diff --git a/src/views/stuwork/classcheckdaily/index.vue b/src/views/stuwork/classcheckdaily/index.vue index 53197fe..e865ce2 100644 --- a/src/views/stuwork/classcheckdaily/index.vue +++ b/src/views/stuwork/classcheckdaily/index.vue @@ -112,15 +112,64 @@ :cell-style="tableStyle.cellStyle" :header-cell-style="tableStyle.headerCellStyle" @sort-change="sortChangeHandle"> - - - - - - - - + + + + + + + + + 学院 + + + + + + 班号 + + + + + + 学生 + + + + + + 记录时间 + + + + + + 分数 + + + + {{ scope.row.score }} + + - + + + + + + 检查记录 + + + + + + 处理结果 + + + + + 操作 + import('./form.vue')); +import { List, OfficeBuilding, Grid, Avatar, Calendar, DataAnalysis, Document, CircleCheck, Setting } from '@element-plus/icons-vue' // 定义变量内容 const formDialogRef = ref() diff --git a/src/views/stuwork/classconstruction/index.vue b/src/views/stuwork/classconstruction/index.vue index 7620e50..e691056 100644 --- a/src/views/stuwork/classconstruction/index.vue +++ b/src/views/stuwork/classconstruction/index.vue @@ -82,17 +82,49 @@ border :cell-style="tableStyle.cellStyle" :header-cell-style="tableStyle.headerCellStyle"> - - - - + + + + + + + + + 学院 + + + + + + 班级 + + + + + + 标题 + + + + + 创建时间 + {{ parseTime(scope.row.createTime, '{y}-{m}-{d} {h}:{i}:{s}') }} - + + + + 备注 + + + + + 操作 + - - - - - {{ formatSchoolTerm(scope.row.schoolTerm) }} + + + + + + + + + 学年 + + + + + + 学期 + + + + {{ formatSchoolTerm(scope.row.schoolTerm) }} + + + + + + + 学院 + + + + + + 班级 - - + + + 发生时间 + {{ scope.row.operatTime || '-' }} + + + 类型 + - {{ formatType(scope.row.type) }} + + {{ formatType(scope.row.type) }} + + + + 金额 + - {{ scope.row.money !== null && scope.row.money !== undefined ? scope.row.money.toFixed(2) : '-' }} + + ¥{{ scope.row.money.toFixed(2) }} + + - + + + + + + 经办人 + + + + + + 用途 - - + + + 附件 + + + + 操作 + - - - - - {{ formatSchoolTerm(scope.row.schoolTerm) }} + + + + + + + + + 学年 + + + + + + 学期 + + + + {{ formatSchoolTerm(scope.row.schoolTerm) }} + + + + + + + 学院 + + + + + + 班号 + + + + + + 标题 + + + + + + 作者 - - - - + + + 更新时间 + {{ parseTime(scope.row.updateTime, '{y}-{m}-{d} {h}:{i}:{s}') }} + + + 归档级别 + - {{ formatBelong(scope.row.belong) }} + + {{ formatBelong(scope.row.belong) }} + + + + 附件 + + + + 操作 + - - - - - - + + + + + + + + + 学院 + + + + + + 班号 + + + + + + 时间 + + + + + + 扣分 + + + + {{ scope.row.score }} + + - + + + + + + 检查记录 + + + + + 操作 + import('./form.vue')); diff --git a/src/views/stuwork/classhygienedailyanalysis/index.vue b/src/views/stuwork/classhygienedailyanalysis/index.vue index 5ce89d3..9254da4 100644 --- a/src/views/stuwork/classhygienedailyanalysis/index.vue +++ b/src/views/stuwork/classhygienedailyanalysis/index.vue @@ -19,6 +19,21 @@ + + + + + + - - - - + + + + + + + + + 总分 + + + + {{ scope.row.totalScore }} + + - + + + + + + 排名 + + + + {{ scope.row.rank }} + + - + + + + + + 班级 + + + width="80"> + + + {{ day }}日 + + + + + 操作 + ([]) +const classList = ref([]) const scoreDialogVisible = ref(false) const scoreDialogTitle = ref('加分') const isAddScore = ref(true) // true: 加分, false: 减分 @@ -175,6 +233,7 @@ const scoreForm = reactive({ // 搜索表单 const searchForm = reactive({ buildingNo: '', + classCode: '', month: '' }) @@ -202,6 +261,9 @@ const state: BasicTableProps = reactive({ if (searchForm.month) { params.month = Array.isArray(searchForm.month) ? searchForm.month : [searchForm.month] } + if (searchForm.classCode) { + params.classCode = searchForm.classCode + } const res = await fetchList(params) @@ -289,6 +351,7 @@ const handleSearch = () => { const handleReset = () => { searchFormRef.value?.resetFields() searchForm.buildingNo = '' + searchForm.classCode = '' searchForm.month = '' getDataList() } @@ -364,8 +427,30 @@ const getBuildingListData = async () => { } } +// 获取班级列表 +const getClassListData = async () => { + try { + const res = await getClassListByRole({}) + if (res.data) { + if (Array.isArray(res.data.records)) { + classList.value = res.data.records + } else if (Array.isArray(res.data)) { + classList.value = res.data + } else { + classList.value = [] + } + } else { + classList.value = [] + } + } catch (err) { + console.error('获取班级列表失败', err) + classList.value = [] + } +} + // 初始化 onMounted(() => { getBuildingListData() + getClassListData() }) diff --git a/src/views/stuwork/classleaveapply/index.vue b/src/views/stuwork/classleaveapply/index.vue index 0377249..dc0d19d 100644 --- a/src/views/stuwork/classleaveapply/index.vue +++ b/src/views/stuwork/classleaveapply/index.vue @@ -131,61 +131,173 @@ border :cell-style="tableStyle.cellStyle" :header-cell-style="tableStyle.headerCellStyle"> - - - - - {{ formatSchoolTerm(scope.row.schoolTerm) }} + + + + + + + + + 学年 + + + + + + 学期 + + + + {{ formatSchoolTerm(scope.row.schoolTerm) }} + + + + + + + 学院 + + + + + + 班号 + + + + + + 班主任 + + + + + + 人数 + + + + {{ scope.row.num }} + + - - - - - + + + 请假开始时间 + {{ scope.row.startTime ? formatDateTime(scope.row.startTime) : '-' }} + + + 请假结束时间 + {{ scope.row.endTime ? formatDateTime(scope.row.endTime) : '-' }} + + + 请假类型 + - {{ formatLeaveType(scope.row.leaveType) }} + + {{ formatLeaveType(scope.row.leaveType) }} + + + + + + + 请假事由 - + + + 是否住宿 + - {{ formatYesNo(scope.row.stayDorm) }} + + + + 时段请假 + - {{ formatYesNo(scope.row.isSegment) }} + + + + + + + 请假时段 - + + + 请假校门 + - {{ formatSchoolDoor(scope.row.schoolDoor) }} + + {{ formatSchoolDoor(scope.row.schoolDoor) }} + + + + 基础部审核 + - {{ formatAuditType(scope.row.deptAudit) }} + + + + 学工处审批 + - {{ formatAuditType(scope.row.schoolAudit) }} + + + + + + + 驳回原因 - + + + 操作 + import('/@/components/StatusTag/index.vue')) // 定义变量内容 const searchFormRef = ref() diff --git a/src/views/stuwork/classmasterevaluation/index.vue b/src/views/stuwork/classmasterevaluation/index.vue index c2775a0..9bf9936 100644 --- a/src/views/stuwork/classmasterevaluation/index.vue +++ b/src/views/stuwork/classmasterevaluation/index.vue @@ -141,21 +141,87 @@ :cell-style="tableStyle.cellStyle" :header-cell-style="tableStyle.headerCellStyle" @sort-change="sortChangeHandle"> - - - - - - - - {{ scope.row.type === '1' ? '加分' : scope.row.type === '2' ? '减分' : '-' }} + + + + + + + + + 班号 + + + + + + 班主任 + + + + + + 考核项目 + + + {{ getAssessmentCategoryName(scope.row.assessmentCategory) || '-' }} + + + + + + 考核指标 + + + {{ getAssessmentPointName(scope.row.assessmentPoint) || '-' }} + + + + + + 类型 + + + + {{ scope.row.type === '1' ? '加分' : scope.row.type === '2' ? '减分' : '-' }} + + + + + + + 分数 + + + + {{ scope.row.score }} + + - + + + + + + 考核日期 + + + + + + 考核人 + + + + + + 情况说明 - - - - + + + 操作 + {{ appealForm.virtualClassNo || '-' }} {{ appealForm.realName || '-' }} - {{ appealForm.assessmentCategory || '-' }} - {{ appealForm.assessmentPoint || '-' }} + {{ getAssessmentCategoryName(appealForm.assessmentCategory) || '-' }} + {{ getAssessmentPointName(appealForm.assessmentPoint) || '-' }} {{ appealForm.type === '1' ? '加分' : appealForm.type === '2' ? '减分' : '-' }} @@ -254,6 +320,7 @@ import { getList as getAssessmentPointList } from '/@/api/stuwork/assessmentpoin // 引入组件 const FormDialog = defineAsyncComponent(() => import('./form.vue')); +import { List, Grid, UserFilled, Tickets, DataAnalysis, Collection, Calendar, User, Document, Setting } from '@element-plus/icons-vue' // 定义变量内容 const formDialogRef = ref() @@ -475,6 +542,20 @@ const getAssessmentPointListData = async () => { } } +// 根据考核项目ID获取名称 +const getAssessmentCategoryName = (id: any) => { + if (!id) return '' + const category = assessmentCategoryList.value.find(item => String(item.id) === String(id)) + return category ? category.category : '' +} + +// 根据考核指标ID获取名称 +const getAssessmentPointName = (id: any) => { + if (!id) return '' + const point = assessmentPointList.value.find(item => String(item.id) === String(id)) + return point ? point.pointName : '' +} + // 初始化 onMounted(() => { getDeptListData() diff --git a/src/views/stuwork/classmasterevaluationappeal/index.vue b/src/views/stuwork/classmasterevaluationappeal/index.vue index 2dcc5a4..dda017b 100644 --- a/src/views/stuwork/classmasterevaluationappeal/index.vue +++ b/src/views/stuwork/classmasterevaluationappeal/index.vue @@ -77,23 +77,89 @@ :cell-style="tableStyle.cellStyle" :header-cell-style="tableStyle.headerCellStyle" @sort-change="sortChangeHandle"> - - - - - - - - - - - - - {{ getAppealStatusText(scope.row.appealStatus) }} + + + + + + + + + 班级 + + + + + + 班主任 + + + + + + 考核日期 + + + + + + 申诉日期 + + + + + + 考核项目 + + + + + + 考核指标 + + + + + + 情况说明 + + + + + + 申诉原因 + + + + + + 考核人 + + + + + + 申诉结果 + + + + + + + + + 反馈意见 - + + + 操作 + import('/@/components/StatusTag/index.vue')) // 定义变量内容 const searchFormRef = ref() diff --git a/src/views/stuwork/classmasterresume/index.vue b/src/views/stuwork/classmasterresume/index.vue index cba7c12..bbb1c6b 100644 --- a/src/views/stuwork/classmasterresume/index.vue +++ b/src/views/stuwork/classmasterresume/index.vue @@ -39,7 +39,6 @@ 新 增 @@ -63,11 +62,34 @@ :cell-style="tableStyle.cellStyle" :header-cell-style="tableStyle.headerCellStyle" @sort-change="sortChangeHandle"> - - - - + + + + + + + + + 教师 + + + + + + 工号 + + + + + + 联系方式 + + + + + 操作 + import('./form.vue')); // 尝试直接导入看看是否能解决问题 import DetailDialog from './detail.vue'; +import { List, User, CreditCard, Phone, Setting } from '@element-plus/icons-vue' // 定义变量内容 const formDialogRef = ref() diff --git a/src/views/stuwork/classpaper/index.vue b/src/views/stuwork/classpaper/index.vue index edf685f..302d356 100644 --- a/src/views/stuwork/classpaper/index.vue +++ b/src/views/stuwork/classpaper/index.vue @@ -117,20 +117,61 @@ border :cell-style="tableStyle.cellStyle" :header-cell-style="tableStyle.headerCellStyle"> - - - - - - {{ formatSchoolTerm(scope.row.schoolTerm) }} + + + - - - - + + + + 标题 + + + + + + 学年 + + + + + + 学期 + - {{ formatType(scope.row.type) }} + + {{ formatSchoolTerm(scope.row.schoolTerm) }} + + + + + + + 学院 + + + + + + 班号 + + + + + + 班主任 + + + + + + 类型 + + + + {{ formatType(scope.row.type) }} + @@ -215,6 +256,7 @@ import { getDicts } from "/@/api/admin/dict"; import { useMessage, useMessageBox } from "/@/hooks/message"; import FormDialog from './form.vue' import DetailDialog from './detail.vue' +import { List, Document, Calendar, Clock, OfficeBuilding, Grid, UserFilled, Collection, Setting } from '@element-plus/icons-vue' // 定义变量内容 const formDialogRef = ref() diff --git a/src/views/stuwork/classplan/index.vue b/src/views/stuwork/classplan/index.vue index 5ade4d2..742cfce 100644 --- a/src/views/stuwork/classplan/index.vue +++ b/src/views/stuwork/classplan/index.vue @@ -110,28 +110,77 @@ border :cell-style="tableStyle.cellStyle" :header-cell-style="tableStyle.headerCellStyle"> - - - + + + + + + + + + 学院 + + + + + + 学年 + + + + + 状态 + - {{ formatStatus(scope.row.status) }} + + {{ formatStatus(scope.row.status) }} + + + + 学期 + - {{ formatSchoolTerm(scope.row.schoolTerm) }} + + {{ formatSchoolTerm(scope.row.schoolTerm) }} + + + + + + + 班号 + + + + + + 标题 - - + + + 更新时间 + {{ parseTime(scope.row.updateTime, '{y}-{m}-{d} {h}:{i}:{s}') }} - + + + + 填报人 + + + + + 操作 + - - - - - {{ formatSchoolTerm(scope.row.schoolTerm) }} + + + + + + + + + 学年 + + + + + + 学期 + + + + {{ formatSchoolTerm(scope.row.schoolTerm) }} + + + + + + + 学院 + + + + + + 班号 + + + + + + 标题 + + + + + + 作者 - - - - + + + 更新时间 + {{ parseTime(scope.row.updateTime, '{y}-{m}-{d} {h}:{i}:{s}') }} + + + 归档级别 + - {{ formatBelong(scope.row.belong) }} + + {{ formatBelong(scope.row.belong) }} + + + + 加分 + - {{ scope.row.isAddScore === '1' ? '是' : '否' }} + + + + 操作 + import('/@/components/StatusTag/index.vue')) // 定义变量内容 const formDialogRef = ref() diff --git a/src/views/stuwork/classroombase/index.vue b/src/views/stuwork/classroombase/index.vue index 45f72d3..ddfab93 100644 --- a/src/views/stuwork/classroombase/index.vue +++ b/src/views/stuwork/classroombase/index.vue @@ -96,30 +96,89 @@ row-key="id" :cell-style="tableStyle.cellStyle" :header-cell-style="tableStyle.headerCellStyle"> - - - - - - {{ formatClassStatus(scope.row.classStatus) }} + + + - - - - + + + + 楼号 + + + + + + 学院 + + + + + + 班级状态 + - {{ formatDict(scope.row.platformType, platformTypeList) }} + + {{ formatClassStatus(scope.row.classStatus) }} + + + + + + + 教室位置 + + + + + + 人数 + + + + {{ scope.row.stuNum }} + + - + + + + + + 班主任 + + + + + + 讲台类型 + + + + {{ formatDict(scope.row.platformType, platformTypeList) }} + + + + 投影类型 + - {{ formatDict(scope.row.tyType, tyTypeList) }} + + {{ formatDict(scope.row.tyType, tyTypeList) }} + + + + 电视机 + - {{ formatDict(scope.row.tvType, tvTypeList) }} + + {{ formatDict(scope.row.tvType, tvTypeList) }} + @@ -159,6 +218,7 @@ import { queryAllClass } from "/@/api/basic/basicclass"; import { getDicts } from "/@/api/admin/dict"; import { useMessage, useMessageBox } from "/@/hooks/message"; import ArrangeDialog from './arrange.vue' +import { List, OfficeBuilding, CircleCheck, Location, UserFilled, Collection, Setting } from '@element-plus/icons-vue' // 定义变量内容 const searchFormRef = ref() diff --git a/src/views/stuwork/classroomhygienedaily/index.vue b/src/views/stuwork/classroomhygienedaily/index.vue index 8c24ebb..34d6077 100644 --- a/src/views/stuwork/classroomhygienedaily/index.vue +++ b/src/views/stuwork/classroomhygienedaily/index.vue @@ -65,7 +65,6 @@ 新 增 @@ -88,13 +87,52 @@ :cell-style="tableStyle.cellStyle" :header-cell-style="tableStyle.headerCellStyle" @sort-change="sortChangeHandle"> - - - - - - + + + + + + + + + 学院 + + + + + + 班号 + + + + + + 时间 + + + + + + 扣分 + + + + {{ scope.row.score }} + + - + + + + + + 检查记录 + + + + + 操作 + import('./form.vue')); diff --git a/src/views/stuwork/classroomhygienedailyanalysis/index.vue b/src/views/stuwork/classroomhygienedailyanalysis/index.vue new file mode 100644 index 0000000..85e8371 --- /dev/null +++ b/src/views/stuwork/classroomhygienedailyanalysis/index.vue @@ -0,0 +1,457 @@ + + + + + + + + + + + + + + + + + + + + + + + 查询 + 重置 + + + + + + + + + + + + + + + + + + + + + + + 总分 + + + + {{ scope.row.totalScore }} + + - + + + + + + 排名 + + + + {{ scope.row.rank }} + + - + + + + + + 班级 + + + + + + + {{ day }}日 + + + + + + 操作 + + + + 加分 + + + 减分 + + + + + + + + + + + + + + + + + + + + + + + + + + + 取 消 + 确 认 + + + + + + + + diff --git a/src/views/stuwork/classroomhygienemonthly/index.vue b/src/views/stuwork/classroomhygienemonthly/index.vue index 9432b2a..a8b75c4 100644 --- a/src/views/stuwork/classroomhygienemonthly/index.vue +++ b/src/views/stuwork/classroomhygienemonthly/index.vue @@ -107,18 +107,93 @@ :cell-style="tableStyle.cellStyle" :header-cell-style="tableStyle.headerCellStyle" @sort-change="sortChangeHandle"> - - - - - - - - - - - + + + + + + + + + 学年 + + + + + + 学期 + + + + {{ formatSchoolTerm(scope.row.schoolTerm) }} + + + + + + + 学院 + + + + + + 班号 + + + + + + 班主任 + + + + + + 教学楼号 + + + + + + 教室号 + + + + + + 评分 + + + + {{ scope.row.score }} + + - + + + + + + 检查记录 + + + + + + 月份 + + + + {{ scope.row.month }} + + - + + + + + 操作 + import('/@/components/Upload/Excel.vue')); +import { List, Calendar, Clock, OfficeBuilding, Grid, UserFilled, Location, DataAnalysis, Document, Setting } from '@element-plus/icons-vue' // 定义变量内容 const searchFormRef = ref() diff --git a/src/views/stuwork/classsafeedu/index.vue b/src/views/stuwork/classsafeedu/index.vue index d9d664c..3b54783 100644 --- a/src/views/stuwork/classsafeedu/index.vue +++ b/src/views/stuwork/classsafeedu/index.vue @@ -97,19 +97,70 @@ border :cell-style="tableStyle.cellStyle" :header-cell-style="tableStyle.headerCellStyle"> - - - - - {{ formatSchoolTerm(scope.row.schoolTerm) }} + + + + + + + + + 学年 + + + + + + 学期 + + + + {{ formatSchoolTerm(scope.row.schoolTerm) }} + + + + + + + 班号 + + + + + + 活动主题 + + + + + + 主持人 + + + + + + 活动地点 + + + + + + 活动时间 + + + + + + 参加人数 + + + + {{ scope.row.attendNum }} + + - - - - - - - + + + 操作 + - - - - - {{ formatSchoolTerm(scope.row.schoolTerm) }} + + + - - - - - - - - - - - - - + + + + 学年 + + + + + + 学期 + - {{ formatStatus(scope.row.status) }} + + {{ formatSchoolTerm(scope.row.schoolTerm) }} + + + + + + + 班号 + + + + + + 总人数 + + + + {{ scope.row.totalCnt }} + + - + + + + + + 男生人数 + + + + {{ scope.row.boyCnt }} + + - + + + + + + 女生人数 + + + + {{ scope.row.girlCnt }} + + - + + + + + + 男(住宿) + + + + {{ scope.row.boyDormCnt }} + + - + + + + + + 女(住宿) + + + + {{ scope.row.girlDormCnt }} + + - + + + + + + 留校察看人数 + + + + {{ scope.row.keepSchoolCnt }} + + - + + + + + + 记过人数 + + + + {{ scope.row.gigCnt }} + + - + + + + + + 严重警告人数 + + + + {{ scope.row.seriousWarningCnt }} + + - + + + + + + 警告人数 + + + + {{ scope.row.warningCnt }} + + - + + + + + + 撤销处分人数 + + + + {{ scope.row.revokeCnt }} + + - + + + + + + 退学人数 + + + + {{ scope.row.dropCnt }} + + - + + + + + + 状态 + + + + {{ formatStatus(scope.row.status) }} + + + + 操作 + - - - - - {{ formatSchoolTerm(scope.row.schoolTerm) }} + + + + + + + + + 学年 + + + + + + 学期 + + + + {{ formatSchoolTerm(scope.row.schoolTerm) }} + + + + + + + 学院 + + + + + + 班级 + + + + + + 上传次数 + + + + {{ scope.row.count }} + + 0 + + + + + + 备注 - - - - + + + 操作 + - - - - - - + + + + + + + + + 楼号 + + + + + + 层数 + + + + {{ scope.row.layers }}层 + + - + + + + + + 已住人数 + + + + {{ scope.row.allAlreadyNum }} + + - + + + + + + 现住人数 + + + + {{ scope.row.nowNum }} + + - + + + + + + 剩余可住人数 + + + + {{ scope.row.surplusNum }} + + - + + + + + 操作 + import('./form.vue')); const EmptyRoomDialog = defineAsyncComponent(() => import('./emptyRoomDialog.vue')); +import { List, OfficeBuilding, Grid, UserFilled, Setting } from '@element-plus/icons-vue' // 定义变量内容 const formDialogRef = ref() diff --git a/src/views/stuwork/dormbuildingmanger/index.vue b/src/views/stuwork/dormbuildingmanger/index.vue index 333e042..8e2845b 100644 --- a/src/views/stuwork/dormbuildingmanger/index.vue +++ b/src/views/stuwork/dormbuildingmanger/index.vue @@ -9,10 +9,34 @@ :cell-style="tableStyle.cellStyle" :header-cell-style="tableStyle.headerCellStyle" @sort-change="sortChangeHandle"> - - - + + + + + + + + + 楼号 + + + + + + 管理员工号 + + + + + + 管理员姓名 + + + + + 操作 + ({ diff --git a/src/views/stuwork/dormhygienedaily/index.vue b/src/views/stuwork/dormhygienedaily/index.vue index f118a14..5d4e5bf 100644 --- a/src/views/stuwork/dormhygienedaily/index.vue +++ b/src/views/stuwork/dormhygienedaily/index.vue @@ -39,7 +39,8 @@ placeholder="请选择楼号" clearable filterable - style="width: 200px"> + style="width: 200px" + @change="handleBuildingChange"> + + + + + + 查询 重置 @@ -82,22 +99,60 @@ :cell-style="tableStyle.cellStyle" :header-cell-style="tableStyle.headerCellStyle" @sort-change="sortChangeHandle"> - - - - - {{ scope.row.schoolTerm === '1' ? '第一学期' : scope.row.schoolTerm === '2' ? '第二学期' : scope.row.schoolTerm }} + + + + + + + + + 学年 + + + + + + 学期 + + + + {{ scope.row.schoolTerm === '1' ? '第一学期' : scope.row.schoolTerm === '2' ? '第二学期' : scope.row.schoolTerm }} + + + + + + + 楼号 + + + + + + 宿舍号 - - + + + 记录日期 + {{ scope.row.recordDate ? scope.row.recordDate.split(' ')[0] : '-' }} - + + + + 情况记录 + + + + + 操作 + import('./form.vue')); +import { List, Calendar, Clock, OfficeBuilding, House, Document, Setting } from '@element-plus/icons-vue' // 定义变量内容 const formDialogRef = ref() @@ -148,12 +205,22 @@ const showSearch = ref(true) const schoolYearList = ref([]) const schoolTermList = ref([]) const buildingList = ref([]) +const roomList = ref([]) // 搜索表单 const searchForm = reactive({ schoolYear: '', schoolTerm: '', - buildingNo: '' + buildingNo: '', + roomNo: '' +}) + +// 根据楼号筛选房间列表 +const filteredRoomList = computed(() => { + if (!searchForm.buildingNo) { + return [] + } + return roomList.value.filter((item: any) => item.buildingNo === searchForm.buildingNo) }) // 配置 useTable @@ -180,12 +247,26 @@ const handleSearch = () => { getDataList() } +// 楼号选择变化 +const handleBuildingChange = () => { + // 清空宿舍号选择 + searchForm.roomNo = '' + // 重新加载房间列表 + if (searchForm.buildingNo) { + getRoomListData(searchForm.buildingNo) + } else { + roomList.value = [] + } +} + // 重置 const handleReset = () => { searchFormRef.value?.formRef?.resetFields() searchForm.schoolYear = '' searchForm.schoolTerm = '' searchForm.buildingNo = '' + searchForm.roomNo = '' + roomList.value = [] getDataList() } @@ -252,6 +333,23 @@ const getBuildingListData = async () => { } } +// 根据楼号获取房间列表 +const getRoomListData = async (buildingNo: string) => { + if (!buildingNo) { + roomList.value = [] + return + } + try { + const res = await getDormRoomDataByBuildingNo({ buildingNo }) + if (res.data) { + roomList.value = Array.isArray(res.data) ? res.data : [] + } + } catch (err) { + console.error('获取房间列表失败', err) + roomList.value = [] + } +} + // 初始化 onMounted(() => { getSchoolYearList() diff --git a/src/views/stuwork/dormliveapply/index.vue b/src/views/stuwork/dormliveapply/index.vue index 6b0c329..ab35bdd 100644 --- a/src/views/stuwork/dormliveapply/index.vue +++ b/src/views/stuwork/dormliveapply/index.vue @@ -123,15 +123,40 @@ border :cell-style="tableStyle.cellStyle" :header-cell-style="tableStyle.headerCellStyle"> - - - - - {{ formatSchoolTerm(scope.row.schoolTerm) }} + + + + + + + + + 学年 + + + + + + 学期 + + + + {{ formatSchoolTerm(scope.row.schoolTerm) }} + + + + + + + 学院 + + + + + + 班级 - - @@ -187,6 +212,7 @@ import { getBuildingList } from "/@/api/stuwork/dormbuilding"; import { getClassListByRole } from "/@/api/basic/basicclass"; import { useMessage, useMessageBox } from "/@/hooks/message"; import FormDialog from './form.vue' +import { List, Calendar, Clock, OfficeBuilding, Grid } from '@element-plus/icons-vue' // 定义变量内容 const searchFormRef = ref() diff --git a/src/views/stuwork/dormreform/index.vue b/src/views/stuwork/dormreform/index.vue index 3dc3d79..f58c0ec 100644 --- a/src/views/stuwork/dormreform/index.vue +++ b/src/views/stuwork/dormreform/index.vue @@ -10,7 +10,8 @@ placeholder="请选择楼号" clearable filterable - style="width: 200px"> + style="width: 200px" + @change="handleBuildingChange"> - + filterable + :disabled="!searchForm.buildingNo" + style="width: 200px"> + + + - - - - + + + + + + + + + 学院 + + + + + + 班级 + + + + + + 房间号 + + + + + 整改时间 + {{ scope.row.reformDate ? scope.row.reformDate.split(' ')[0] : '-' }} - - - - {{ formatReformStatus(scope.row.reformStatus) }} + + + + 整改内容 + + + + + + 整改结果 + + + + + + + + + 关联扣分明细 - + + + 操作 +
{{ $t(val.name.split('_')[0]) }}