| | |
| | | <avue-crud :option="option" v-model:search="queryParams" :table-loading="pageF.loading" :data="tableData" |
| | | :page="page" :permission="permissionList" :before-open="beforeOpen" v-model="form" ref="crudRef" |
| | | @row-update="rowUpdate" @row-save="rowSave" @refresh-change="refreshChange" @row-del="rowDel" |
| | | @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange" |
| | | @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange" |
| | | @current-change="currentChange" @size-change="sizeChange" @on-load="onLoad"> |
| | | |
| | | <template #menu-left> |
| | |
| | | selectionList.value = selection; |
| | | }, |
| | | getBeginListFunc: (params = {}) => { |
| | | // 创建新参数对象 |
| | | let newParams = { ...params }; |
| | | // 1. 日期转换 |
| | | let newParams = <any>{ ...params }; |
| | | console.log(newParams, '2'); |
| | | if (newParams) { |
| | | // 1. 定义日期字段映射 (数组名 : 接口需要的前缀) |
| | | // 这样写的好处是:如果你有多个日期,直接在这里添加一行即可 |
| | | const dateMap = { |
| | | createdTimeArray: 'createdTime', |
| | | }; |
| | | |
| | | newParams = proxy.addDateRangeNew(newParams, newParams?.createdTimeArray, 'createdTime') || []; |
| | | delete newParams.createdTimeArray; |
| | | queryParams.value = newParams; |
| | | // 2. 遍历处理日期 |
| | | Object.keys(dateMap).forEach(arrayKey => { |
| | | const prefix = dateMap[arrayKey]; |
| | | const range = newParams[arrayKey]; |
| | | |
| | | if (Array.isArray(range) && range.length > 0) { |
| | | // 赋值 Begin 和 End |
| | | newParams[`${prefix}Begin`] = range[0]; |
| | | newParams[`${prefix}End`] = range[1]; |
| | | } |
| | | |
| | | // 【核心改动】:无论是否有值,处理完后都把原始的 Array 字段删掉 |
| | | // 这样请求里就不会出现 confirmTimeRangeArray: [...] |
| | | delete newParams[arrayKey]; |
| | | }); |
| | | |
| | | // 3. 通用清洗:删除所有空字符串、null 或 undefined 的其他字段 |
| | | Object.keys(newParams).forEach(key => { |
| | | const val = newParams[key]; |
| | | if (val === '' || val === null || val === undefined) { |
| | | delete newParams[key]; |
| | | } |
| | | }); |
| | | |
| | | } else { |
| | | newParams = {}; |
| | | } |
| | | |
| | | return newParams; |
| | | } |
| | | |
| | | }, |
| | | |
| | | }) |
| | | const dialog = reactive({ |
| | |
| | | :deep(.el-scrollbar__bar.is-horizontal) { |
| | | pointer-events: auto; |
| | | } |
| | | </style> |
| | | </style> |