fix: 修复采购交易申请日期查询条件未生效问题
问题描述: - 前后端参数格式不匹配导致日期查询条件无法生效 - 后端期望 applyDateStart/applyDateEnd,前端发送 params.beginApplyDate/params.endApplyDate - Mapper XML 中同时存在两套参数导致混乱 修复方案: 统一使用扁平化参数格式 applyDateStart/applyDateEnd 前端修改: 1. 新增 addDateRangeFlat 工具方法 (ruoyi-ui/src/utils/ruoyi.js) - 支持扁平化日期参数格式,不使用 params 包装 - 参数: addDateRangeFlat(params, dateRange, startPropName, endPropName) 2. 全局注册新方法 (ruoyi-ui/src/main.js) - 导入并挂载到 Vue.prototype.addDateRangeFlat 3. 采购交易页面使用新方法 (ruoyi-ui/src/views/ccdiPurchaseTransaction/index.vue) - 将 addDateRange() 改为 addDateRangeFlat() - 传入参数: 'applyDateStart', 'applyDateEnd' 后端修改: - 删除 Mapper XML 中 params.beginApplyDate/params.endApplyDate 相关条件 - 保留 applyDateStart/applyDateEnd 条件 测试: - 添加测试脚本 doc/test-data/purchase_transaction/test-date-query.js - 支持多种日期范围查询场景测试 影响范围: - 仅影响采购交易管理模块 - 保留原有 addDateRange 方法,其他模块不受影响 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -66,6 +66,18 @@ export function addDateRange(params, dateRange, propName) {
|
||||
return search
|
||||
}
|
||||
|
||||
// 添加日期范围(扁平化参数格式)
|
||||
// 使用场景: 后端DTO直接定义了 startDate/endDate 字段,而不是使用 params 包装
|
||||
export function addDateRangeFlat(params, dateRange, startPropName, endPropName) {
|
||||
let search = params
|
||||
dateRange = Array.isArray(dateRange) ? dateRange : []
|
||||
if (typeof (startPropName) !== 'undefined' && typeof (endPropName) !== 'undefined') {
|
||||
search[startPropName] = dateRange[0]
|
||||
search[endPropName] = dateRange[1]
|
||||
}
|
||||
return search
|
||||
}
|
||||
|
||||
// 回显数据字典
|
||||
export function selectDictLabel(datas, value) {
|
||||
if (value === undefined) {
|
||||
|
||||
Reference in New Issue
Block a user