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:
@@ -18,7 +18,7 @@ import './assets/icons' // icon
|
||||
import './permission' // permission control
|
||||
import { getDicts } from "@/api/system/dict/data"
|
||||
import { getConfigKey } from "@/api/system/config"
|
||||
import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, handleTree } from "@/utils/ruoyi"
|
||||
import { parseTime, resetForm, addDateRange, addDateRangeFlat, selectDictLabel, selectDictLabels, handleTree } from "@/utils/ruoyi"
|
||||
// 分页组件
|
||||
import Pagination from "@/components/Pagination"
|
||||
// 自定义表格工具组件
|
||||
@@ -42,6 +42,7 @@ Vue.prototype.getConfigKey = getConfigKey
|
||||
Vue.prototype.parseTime = parseTime
|
||||
Vue.prototype.resetForm = resetForm
|
||||
Vue.prototype.addDateRange = addDateRange
|
||||
Vue.prototype.addDateRangeFlat = addDateRangeFlat
|
||||
Vue.prototype.selectDictLabel = selectDictLabel
|
||||
Vue.prototype.selectDictLabels = selectDictLabels
|
||||
Vue.prototype.download = download
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -769,7 +769,7 @@ export default {
|
||||
/** 查询采购交易列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
const params = this.addDateRange(this.queryParams, this.dateRange, 'applyDate');
|
||||
const params = this.addDateRangeFlat(this.queryParams, this.dateRange, 'applyDateStart', 'applyDateEnd');
|
||||
listTransaction(params).then(response => {
|
||||
this.transactionList = response.rows;
|
||||
this.total = response.total;
|
||||
|
||||
Reference in New Issue
Block a user