From ffb3a7ce7b67313e6d6ed0c8c846e2a98632a231 Mon Sep 17 00:00:00 2001 From: Joe Date: Sun, 7 Jul 2024 15:27:19 +0800 Subject: [PATCH] up --- src/constants.ts | 14 ++ src/pages/ProductList/add.tsx | 305 ++++++++++++++++++++++++---------- 2 files changed, 231 insertions(+), 88 deletions(-) diff --git a/src/constants.ts b/src/constants.ts index c10c18b..4967f3c 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -70,6 +70,20 @@ const Constants = { status: 'Error' }, }, + /** + * 上下架状态 + */ + pbcState: { + 1: '上架', + 2: '下架' + }, + /** + * 可见范围 + */ + pbcProductType: { + PUBLIC: '全员可见', + PRIVATE: '仅会员可见' + }, /** * 商户类别 */ diff --git a/src/pages/ProductList/add.tsx b/src/pages/ProductList/add.tsx index 2569120..3591cd2 100644 --- a/src/pages/ProductList/add.tsx +++ b/src/pages/ProductList/add.tsx @@ -1,11 +1,15 @@ import Constants from '@/constants'; +import { getPbcBusinessListUsingPost } from '@/services/pop-b2b2c/pbcBusinessController'; +import { listAdminTreeUsingGet } from '@/services/pop-b2b2c/pbcCategoryController'; import { addOrUpdateProductForAdminUsingPost } from '@/services/pop-b2b2c/pbcProductController'; import { getCities } from '@/utils/cities'; import { ProCard, ProForm, ProFormCascader, + ProFormDigit, ProFormInstance, + ProFormList, ProFormSelect, ProFormText, ProFormTextArea, @@ -14,7 +18,6 @@ import { import { PageContainer } from '@ant-design/pro-layout'; import { Button, Col, message, Row } from 'antd'; import Upload, { RcFile } from 'antd/es/upload'; -import moment from 'moment'; import React, { useRef, useState } from 'react'; const Detail: React.FC = () => { @@ -24,24 +27,64 @@ const Detail: React.FC = () => { const onSave = () => { formRef.current?.submit() + const values = formRef.current?.getFieldsValue() + console.log(values.colorItems) + console.log(values.specItems) + } + + const handleCategoryChange = (value: any[], items: API.PbcCategory[]) => { + const [c1, c2, c3] = items + formRef.current?.setFieldsValue({ + pbcProductTopCategoryName: c1?.pbcCategoryName, + pbcProductParentCategoryName: c2?.pbcCategoryName, + pbcProductCategoryName: c3?.pbcCategoryName, + }) } const onSubmit = async (values: any) => { - const [pbcBusinessProvince, pbcBusinessCity, pbcBusinessArea] = values.pbcZone; + let pbcProductOriginalProvince = undefined, pbcProductOriginalCity = undefined; + if (values?.pbcZone?.length) { + ([pbcProductOriginalProvince, pbcProductOriginalCity] = values.pbcZone); + } + const [pbcProductTopCategoryId, pbcProductParentCategoryId, pbcProductCategoryId] = values.pbcProductCategoryIdList + console.log(values.colorItems) + console.log(values.specItems) + const commonDataList: API.PbcProductCommonData[] = [] + if (values.colorItems && values.colorItems.length > 0) { + for (let i = 0; i < values.colorItems.length; i++) { + const element = values.colorItems[i]; + commonDataList.push({ + pbcSystemName: '颜色', + pbcSystemInputType: 'text', + pbcCommonDataSystem: element.name, + pbcColorImageUrl: element.value.length > 0 ? element.value[0].response.data : '' + }) + } + } + if (values.specItems && values.specItems.length > 0) { + for (let i = 0; i < values.specItems.length; i++) { + const element = values.specItems[i]; + commonDataList.push({ + pbcSystemName: element.name, + pbcSystemInputType: 'text', + pbcCommonDataSystem: element.value + }) + } + } const params: API.PbcProductDTO = { ...values, - pbcState: values.pbcState ? 1 : 0, - pbcBusinessProvince, - pbcBusinessCity, - pbcBusinessArea, - pbcBusinessStartDate: moment(values.pbcBusinessStartDate, 'YYYY-MM-DD'), - pbcBusinessLogo: values.pbcBusinessLogo.filter((e: any) => e.response && e.response.data).map((e: any) => e.response.data).join(','), - pbcBusinessImage: values.pbcBusinessImage.filter((e: any) => e.response && e.response.data).map((e: any) => e.response.data).join(','), - pbcBusinessPosterUrl: values.pbcBusinessPosterUrl.filter((e: any) => e.response && e.response.data).map((e: any) => e.response.data).join(','), - pbcBusinessHeadUserNoBackUrl: values.pbcBusinessHeadUserNoBackUrl.filter((e: any) => e.response && e.response.data).map((e: any) => e.response.data).join(','), - pbcBusinessHeadUserNoFrontUrl: values.pbcBusinessHeadUserNoFrontUrl.filter((e: any) => e.response && e.response.data).map((e: any) => e.response.data).join(','), - pbcBusinessLicenseUrl: values.pbcBusinessLicenseUrl.filter((e: any) => e.response && e.response.data).map((e: any) => e.response.data).join(','), - pbcZone: undefined + pbcProductOriginalProvince, + pbcProductOriginalCity, + pbcProductTopCategoryId, + pbcProductParentCategoryId, + pbcProductCategoryId, + productCommonDataList: commonDataList, + pbcProductImages: values.pbcProductImages.filter((e: any) => e.response && e.response.data).map((e: any) => e.response.data).join(','), + pbcProductDetailImages: values.pbcProductDetailImages.filter((e: any) => e.response && e.response.data).map((e: any) => e.response.data).join(','), + pbcZone: undefined, + colorItems: undefined, + specItems: undefined, + pbcProductCategoryIdList: undefined, } const msg = await addOrUpdateProductForAdminUsingPost(params) if (msg.retcode) { @@ -74,71 +117,149 @@ const Detail: React.FC = () => { ]} > +