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,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
  1 +import './dataTimePicker'
1 import './dict' 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,6 +48,12 @@ const crudSchemas = reactive&lt;VxeCrudSchema&gt;({
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 ]