提交学生花名册

This commit is contained in:
zlwu committed 2025-08-01 20:26:15 +08:00
1 parent a6b8eb06dd
commit 38a1234dcb
7 files changed
+1261 -30

No files matched your search

@@ -0,0 +1,150 @@
# 代码调整记录 - 2025-01-07 - assistant
## 高级检索界面参数传递功能实现
**时间**: 2025-01-07 22:30:00
**修改人**: assistant
**影响模块**: 学工管理 - 学生信息管理 - 学生花名册
### 修改内容
#### 1. 主页面功能增强
**文件**: `web/src/views/xg/xsjcxx/stuRoster/index.vue`
**修改点1**: 高级检索按钮事件处理
- 位置: 第66行
- 修改前: `@click="showAdvancedSearch = true"`
- 修改后: `@click="handleShowAdvancedSearch"`
- 说明: 将直接显示弹窗改为调用处理方法,以便在显示前同步参数
**修改点2**: 高级查询参数定义增强
- 位置: 第293-322行
- 新增字段:
```javascript
studentNo: '', // 学号
name: '', // 学生姓名
phone: '', // 手机号码
studentStatus: [], // 学籍状态
```
- 说明: 在 advancedQueryParams 中添加基础检索栏对应的字段
**修改点3**: 新增参数传递处理方法
- 位置: 第481-501行
- 新增方法: `handleShowAdvancedSearch`
- 功能描述:
```javascript
const handleShowAdvancedSearch = () => {
// 将基础检索栏的参数同步到高级检索参数中
if (queryParams.studentNo) {
advancedQueryParams.studentNo = queryParams.studentNo;
}
if (queryParams.name) {
advancedQueryParams.name = queryParams.name;
}
if (queryParams.phone) {
advancedQueryParams.phone = queryParams.phone;
}
// 状态对应学籍状况
if (queryParams.studentStatus && queryParams.studentStatus.length > 0) {
advancedQueryParams.studentStatus = [...queryParams.studentStatus];
}
// 显示高级检索弹窗
showAdvancedSearch.value = true;
};
```
### 功能说明
#### 实现效果
1. **参数自动传递**: 用户在基础检索栏输入学号、姓名、手机号码、选择状态后,点击"高级检索"按钮时,这些参数会自动传递到高级检索界面
2. **状态字段映射**: 基础检索栏的"状态"字段对应高级检索界面的"学籍状态"字段
3. **数组类型处理**: 正确处理多选状态字段的数组格式传递
4. **条件判断**: 只有当基础检索栏有值时才进行传递,避免空值覆盖
#### 用户体验提升
- 避免用户在高级检索中重复输入已在基础检索中输入的内容
- 保持检索条件的连续性和一致性
- 提高检索操作的便利性
### 技术要点
1. **响应式数据同步**: 使用 reactive 对象的属性直接赋值实现参数同步
2. **数组深拷贝**: 对于数组类型的 studentStatus 使用展开运算符进行深拷贝
3. **条件判断**: 通过 if 判断确保只有有效值才进行传递
4. **组件通信**: 利用高级检索组件的 watch 监听机制实现参数自动同步到表单
### 相关文件
- 主页面: `web/src/views/xg/xsjcxx/stuRoster/index.vue`
- 高级检索组件: `web/src/views/xg/xsjcxx/stuRoster/components/AdvancedSearchDialog.vue`
### 测试建议
1. 在基础检索栏输入学号、姓名、手机号码,选择状态
2. 点击"高级检索"按钮
3. 验证高级检索界面中对应字段是否已自动填充
4. 验证状态字段是否正确映射到学籍状态
---
# 校园管理系统代码调整记录
**日期**: 2025-01-07
**操作人**: assistant
**说明**: 记录2025年1月7日的代码调整和修改内容
---
## 2025-01-07 20:15:00 - 优化学生花名册主界面查询逻辑
### 🔧 修改内容
**文件**: `web/src/views/xg/xsjcxx/stuRoster/index.vue`
**修改说明**:
- 优化 `handleQuery` 方法,确保基本搜索时只保留检索栏的4个条件和部门树选择
- 清除高级查询产生的额外参数,避免参数污染
**具体变更**:
```javascript
// 修改前
const handleQuery = () => {
queryParams.pageNum = 1;
getList();
};
// 修改后
const handleQuery = () => {
// 保留基本检索条件和部门选择
const basicSearchParams = {
pageNum: 1,
pageSize: queryParams.pageSize,
studentNo: queryParams.studentNo || '',
name: queryParams.name || '',
phone: queryParams.phone || '',
studentStatus: queryParams.studentStatus || [],
deptIds: queryParams.deptIds || []
};
// 清空 queryParams 对象的所有属性
Object.keys(queryParams).forEach((key) => {
delete queryParams[key];
});
// 重新设置基本检索参数
Object.assign(queryParams, basicSearchParams);
getList();
};
```
**影响范围**:
- ✅ 基本搜索功能:只使用检索栏的4个条件进行查询
- ✅ 部门树选择:保留左侧部门树的选择状态
- ✅ 高级查询功能:不影响高级查询的独立功能
- ✅ 分页功能:保持正常的分页逻辑
**测试验证**:
- [x] 基本搜索按钮点击后只传递基本参数
- [x] 部门树选择状态正常保留
- [x] 高级查询后再使用基本搜索,额外参数被正确清除
---