商品表优化
This commit is contained in:
@@ -32,9 +32,11 @@ import type { RangePickerProps } from "antd/es/date-picker";
|
||||
import type { CheckboxGroupProps } from 'antd/es/checkbox';
|
||||
import IconSelector from '@/components/XinFormField/IconSelector';
|
||||
import ImageUploader from '@/components/XinFormField/ImageUploader';
|
||||
import RichTextEditor from '@/components/XinFormField/RichTextEditor';
|
||||
import UserSelector from '@/components/XinFormField/UserSelector';
|
||||
import type { IconSelectProps } from '@/components/XinFormField/IconSelector/typings';
|
||||
import type { ImageUploaderProps } from '@/components/XinFormField/ImageUploader/typings';
|
||||
import type { RichTextEditorProps } from '@/components/XinFormField/RichTextEditor/typings';
|
||||
import type { UserSelectorProps } from '@/components/XinFormField/UserSelector/typings';
|
||||
import type {ReactNode} from "react";
|
||||
|
||||
@@ -121,6 +123,9 @@ export default function FieldRender<T>(props: FieldsRenderProps<T>) {
|
||||
case 'image':
|
||||
dom = <ImageUploader {...fieldProps as ImageUploaderProps} />;
|
||||
break;
|
||||
case 'richText':
|
||||
dom = <RichTextEditor {...fieldProps as RichTextEditorProps} />;
|
||||
break;
|
||||
case 'icon':
|
||||
dom = <IconSelector {...fieldProps as IconSelectProps} />;
|
||||
break;
|
||||
|
||||
@@ -22,6 +22,7 @@ import type { CheckboxGroupProps } from 'antd/es/checkbox';
|
||||
import {type Key, type ReactNode} from 'react';
|
||||
import type { IconSelectProps } from '@/components/XinFormField/IconSelector/typings';
|
||||
import type { ImageUploaderProps } from '@/components/XinFormField/ImageUploader/typings';
|
||||
import type { RichTextEditorProps } from '@/components/XinFormField/RichTextEditor/typings';
|
||||
import type { UserSelectorProps } from '@/components/XinFormField/UserSelector/typings';
|
||||
|
||||
/**
|
||||
@@ -52,6 +53,7 @@ export type FieldValue =
|
||||
| 'quarter' // 季度选择
|
||||
| 'year' // 年选择
|
||||
| 'image' // 图片上传
|
||||
| 'richText' // 富文本编辑器
|
||||
| 'color' // 颜色选择
|
||||
| 'icon' // 图标选择
|
||||
| 'user' // 用户选择
|
||||
@@ -84,6 +86,7 @@ export interface FieldPropsMap {
|
||||
quarter: DatePickerProps;
|
||||
year: DatePickerProps;
|
||||
image: ImageUploaderProps;
|
||||
richText: RichTextEditorProps;
|
||||
color: ColorPickerProps;
|
||||
icon: IconSelectProps;
|
||||
user: UserSelectorProps;
|
||||
|
||||
@@ -30,4 +30,9 @@ export default {
|
||||
"xin.form.imageUploader.error.dimensionExceeded": "Image dimensions cannot exceed {{maxWidth}}x{{maxHeight}}px!",
|
||||
"xin.form.imageUploader.error.loadFailed": "Failed to load image!",
|
||||
"xin.form.imageUploader.error.readFailed": "Failed to read image!",
|
||||
|
||||
// RichTextEditor Component
|
||||
"xin.form.richText.error.notImage": "Only image files can be uploaded!",
|
||||
"xin.form.richText.error.sizeExceeded": "Image size cannot exceed {{maxSize}}MB!",
|
||||
"xin.form.richText.error.uploadFailed": "Image upload failed!",
|
||||
}
|
||||
@@ -30,4 +30,9 @@ export default {
|
||||
"xin.form.imageUploader.error.dimensionExceeded": "图片尺寸不能超过 {{maxWidth}}x{{maxHeight}}px!",
|
||||
"xin.form.imageUploader.error.loadFailed": "图片加载失败!",
|
||||
"xin.form.imageUploader.error.readFailed": "图片读取失败!",
|
||||
|
||||
// RichTextEditor 组件
|
||||
"xin.form.richText.error.notImage": "只能上传图片文件!",
|
||||
"xin.form.richText.error.sizeExceeded": "图片大小不能超过 {{maxSize}}MB!",
|
||||
"xin.form.richText.error.uploadFailed": "图片上传失败!",
|
||||
};
|
||||
|
||||
@@ -165,6 +165,10 @@ const ProductGoodsPage: React.FC = () => {
|
||||
title: '商品名称',
|
||||
dataIndex: 'name',
|
||||
valueType: 'text',
|
||||
colProps: { span: 24 },
|
||||
fieldProps: {
|
||||
styles: { input: { height: 52, fontSize: 22 } }
|
||||
},
|
||||
required: true,
|
||||
rules: [{ required: true, message: '请输入商品名称' }],
|
||||
},
|
||||
@@ -174,12 +178,6 @@ const ProductGoodsPage: React.FC = () => {
|
||||
valueType: 'text',
|
||||
hideInSearch: true,
|
||||
},
|
||||
{
|
||||
title: '等级',
|
||||
dataIndex: 'grade',
|
||||
valueType: 'text',
|
||||
hideInSearch: true,
|
||||
},
|
||||
{
|
||||
title: '单位',
|
||||
dataIndex: 'unit',
|
||||
@@ -347,7 +345,10 @@ const ProductGoodsPage: React.FC = () => {
|
||||
rowProps: { gutter: 20 },
|
||||
layout: 'vertical',
|
||||
},
|
||||
modalProps: { width: 800 },
|
||||
modalProps: {
|
||||
width: 800,
|
||||
styles: {container: {height: '80vh', overflowY: "auto" }}
|
||||
},
|
||||
};
|
||||
|
||||
return (
|
||||
|
||||
Reference in New Issue
Block a user