Commit ac47638249b66421d9b106ba3a697e8844f743f3
1 parent
725cc4e4
perf: vxe
Showing
6 changed files
with
34 additions
and
4 deletions
yudao-ui-admin-vue3/src/hooks/web/useVxeCrudSchemas.ts
| @@ -131,12 +131,12 @@ const filterSearchSchema = (crudSchema: VxeCrudSchema): VxeFormItemProps[] => { | @@ -131,12 +131,12 @@ const filterSearchSchema = (crudSchema: VxeCrudSchema): VxeFormItemProps[] => { | ||
| 131 | } | 131 | } |
| 132 | const searchSchemaItem = { | 132 | const searchSchemaItem = { |
| 133 | // 默认为 input | 133 | // 默认为 input |
| 134 | - span: 8, | ||
| 135 | folding: searchSchema.length > 2, | 134 | folding: searchSchema.length > 2, |
| 136 | itemRender: itemRender, | 135 | itemRender: itemRender, |
| 137 | ...schemaItem.search, | 136 | ...schemaItem.search, |
| 138 | field: schemaItem.field, | 137 | field: schemaItem.field, |
| 139 | - title: schemaItem.search?.title || schemaItem.title | 138 | + title: schemaItem.search?.title || schemaItem.title, |
| 139 | + span: 8 | ||
| 140 | } | 140 | } |
| 141 | // 删除不必要的字段 | 141 | // 删除不必要的字段 |
| 142 | delete searchSchemaItem.show | 142 | delete searchSchemaItem.show |
yudao-ui-admin-vue3/src/hooks/web/useVxeGrid.ts
| @@ -85,7 +85,7 @@ export const useVxeGrid = <T = any>(config?: UseVxeGridConfig<T>) => { | @@ -85,7 +85,7 @@ export const useVxeGrid = <T = any>(config?: UseVxeGridConfig<T>) => { | ||
| 85 | props: { result: 'list', total: 'total' }, | 85 | props: { result: 'list', total: 'total' }, |
| 86 | ajax: { | 86 | ajax: { |
| 87 | query: ({ page, form }) => { | 87 | query: ({ page, form }) => { |
| 88 | - const queryParams = Object.assign({}, form) | 88 | + const queryParams = Object.assign({}, JSON.parse(JSON.stringify(form))) |
| 89 | queryParams.pageSize = page.pageSize | 89 | queryParams.pageSize = page.pageSize |
| 90 | queryParams.pageNo = page.currentPage | 90 | queryParams.pageNo = page.currentPage |
| 91 | gridOptions.loading = false | 91 | gridOptions.loading = false |
yudao-ui-admin-vue3/src/plugins/vxeTable/renderer/dataTimePicker.tsx
0 → 100644
| 1 | +import { useI18n } from '@/hooks/web/useI18n' | ||
| 2 | +import { ElDatePicker } from 'element-plus' | ||
| 3 | +import { VXETable } from 'vxe-table' | ||
| 4 | + | ||
| 5 | +// 日期区间选择渲染 | ||
| 6 | +VXETable.renderer.add('XDataTimePicker', { | ||
| 7 | + // 默认显示模板 | ||
| 8 | + renderItemContent(renderOpts, params) { | ||
| 9 | + const { t } = useI18n() | ||
| 10 | + const { data, field } = params | ||
| 11 | + const { content } = renderOpts | ||
| 12 | + return ( | ||
| 13 | + <ElDatePicker | ||
| 14 | + v-model={data[field]} | ||
| 15 | + type={content ? (content as any) : 'datetimerange'} | ||
| 16 | + value-format="YYYY-MM-DD HH:mm:ss" | ||
| 17 | + range-separator="-" | ||
| 18 | + start-placeholder={t('common.startTimeText')} | ||
| 19 | + end-placeholder={t('common.endTimeText')} | ||
| 20 | + ></ElDatePicker> | ||
| 21 | + ) | ||
| 22 | + } | ||
| 23 | +}) |
yudao-ui-admin-vue3/src/plugins/vxeTable/renderer/dict.tsx
| 1 | import { DictTag } from '@/components/DictTag' | 1 | import { DictTag } from '@/components/DictTag' |
| 2 | import { VXETable } from 'vxe-table' | 2 | import { VXETable } from 'vxe-table' |
| 3 | 3 | ||
| 4 | -// 创建一个简单的超链接渲染 | 4 | +// 字典渲染 |
| 5 | VXETable.renderer.add('XDict', { | 5 | VXETable.renderer.add('XDict', { |
| 6 | // 默认显示模板 | 6 | // 默认显示模板 |
| 7 | renderDefault(renderOpts, params) { | 7 | renderDefault(renderOpts, params) { |
yudao-ui-admin-vue3/src/plugins/vxeTable/renderer/index.tsx
yudao-ui-admin-vue3/src/views/system/errorCode/errorCode.data.ts
| @@ -48,6 +48,12 @@ const crudSchemas = reactive<VxeCrudSchema>({ | @@ -48,6 +48,12 @@ const crudSchemas = reactive<VxeCrudSchema>({ | ||
| 48 | formatter: 'formatDate', | 48 | formatter: 'formatDate', |
| 49 | form: { | 49 | form: { |
| 50 | show: false | 50 | show: false |
| 51 | + }, | ||
| 52 | + search: { | ||
| 53 | + show: true, | ||
| 54 | + itemRender: { | ||
| 55 | + name: 'XDataTimePicker' | ||
| 56 | + } | ||
| 51 | } | 57 | } |
| 52 | } | 58 | } |
| 53 | ] | 59 | ] |