Commit ac47638249b66421d9b106ba3a697e8844f743f3

Authored by xingyu4j
1 parent 725cc4e4

perf: vxe

yudao-ui-admin-vue3/src/hooks/web/useVxeCrudSchemas.ts
... ... @@ -131,12 +131,12 @@ const filterSearchSchema = (crudSchema: VxeCrudSchema): VxeFormItemProps[] => {
131 131 }
132 132 const searchSchemaItem = {
133 133 // 默认为 input
134   - span: 8,
135 134 folding: searchSchema.length > 2,
136 135 itemRender: itemRender,
137 136 ...schemaItem.search,
138 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 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 85 props: { result: 'list', total: 'total' },
86 86 ajax: {
87 87 query: ({ page, form }) => {
88   - const queryParams = Object.assign({}, form)
  88 + const queryParams = Object.assign({}, JSON.parse(JSON.stringify(form)))
89 89 queryParams.pageSize = page.pageSize
90 90 queryParams.pageNo = page.currentPage
91 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 1 import { DictTag } from '@/components/DictTag'
2 2 import { VXETable } from 'vxe-table'
3 3  
4   -// 创建一个简单的超链接渲染
  4 +// 字典渲染
5 5 VXETable.renderer.add('XDict', {
6 6 // 默认显示模板
7 7 renderDefault(renderOpts, params) {
... ...
yudao-ui-admin-vue3/src/plugins/vxeTable/renderer/index.tsx
  1 +import './dataTimePicker'
1 2 import './dict'
... ...
yudao-ui-admin-vue3/src/views/system/errorCode/errorCode.data.ts
... ... @@ -48,6 +48,12 @@ const crudSchemas = reactive&lt;VxeCrudSchema&gt;({
48 48 formatter: 'formatDate',
49 49 form: {
50 50 show: false
  51 + },
  52 + search: {
  53 + show: true,
  54 + itemRender: {
  55 + name: 'XDataTimePicker'
  56 + }
51 57 }
52 58 }
53 59 ]
... ...