forked from yoone/WEB
fix(站点编辑): 修复编辑表单中区域数据格式问题
确保编辑表单中的区域数据格式一致,将areas字段转换为code数组 在多个组件中添加数据格式转换逻辑 添加调试信息输出以方便问题排查
This commit is contained in:
parent
d78b587035
commit
2471eb5299
|
|
@ -58,7 +58,7 @@ export interface SiteItem {
|
|||
const SiteList: React.FC = () => {
|
||||
const actionRef = useRef<ActionType>();
|
||||
const [open, setOpen] = useState(false);
|
||||
const [editing, setEditing] = useState<SiteItem | null>(null);
|
||||
const [editing, setEditing] = useState<SiteItem & { areas: string[] } | null>(null);
|
||||
const [selectedRowKeys, setSelectedRowKeys] = useState<React.Key[]>([]);
|
||||
const [batchEditOpen, setBatchEditOpen] = useState(false);
|
||||
const [batchEditForm] = Form.useForm();
|
||||
|
|
@ -292,7 +292,13 @@ const SiteList: React.FC = () => {
|
|||
<Button
|
||||
size="small"
|
||||
onClick={() => {
|
||||
setEditing(row);
|
||||
function normalEditing(row:SiteItem){
|
||||
return {
|
||||
...row,
|
||||
areas: row.areas?.map(area=>area.code) || [],
|
||||
}
|
||||
}
|
||||
setEditing(normalEditing(row));
|
||||
setOpen(true);
|
||||
}}
|
||||
>
|
||||
|
|
|
|||
|
|
@ -78,6 +78,7 @@ const EditSiteForm: React.FC<EditSiteFormProps> = ({
|
|||
}}
|
||||
layout="vertical"
|
||||
>
|
||||
{JSON.stringify(initialValues)}
|
||||
<ProFormText
|
||||
name="name"
|
||||
label="名称"
|
||||
|
|
|
|||
|
|
@ -15,11 +15,11 @@ const ShopLayout: React.FC = () => {
|
|||
const location = useLocation();
|
||||
|
||||
const [editModalOpen, setEditModalOpen] = useState(false);
|
||||
const [editingSite, setEditingSite] = useState<SiteItem | null>(null);
|
||||
const [editingSite, setEditingSite] = useState<SiteItem & { areas: string[] } | null>(null);
|
||||
|
||||
const fetchSites = async () => {
|
||||
try {
|
||||
setLoading(true);
|
||||
setEditingSiteLoading(true);
|
||||
const { data = [] } = await sitecontrollerAll();
|
||||
setSites(data);
|
||||
|
||||
|
|
@ -103,6 +103,7 @@ const ShopLayout: React.FC = () => {
|
|||
display: 'flex',
|
||||
alignItems: 'center',
|
||||
flexWrap: 'wrap',
|
||||
gap: '4px'
|
||||
}}
|
||||
>
|
||||
<Select
|
||||
|
|
@ -119,13 +120,18 @@ const ShopLayout: React.FC = () => {
|
|||
/>
|
||||
<Button
|
||||
icon={<EditOutlined />}
|
||||
style={{ marginLeft: 8 }}
|
||||
onClick={() => {
|
||||
const currentSite = sites.find(
|
||||
(site) => site.id === Number(siteId),
|
||||
);
|
||||
if (currentSite) {
|
||||
setEditingSite(currentSite);
|
||||
function normalizeEditing (site: SiteItem){
|
||||
return {
|
||||
...site,
|
||||
areas: site.areas?.map(area=>area.code) || [],
|
||||
}
|
||||
}
|
||||
setEditingSite(normalizeEditing(currentSite));
|
||||
setEditModalOpen(true);
|
||||
} else {
|
||||
message.warning('请先选择一个店铺');
|
||||
|
|
|
|||
Loading…
Reference in New Issue