提交 e24a6d20 作者: 18928357778

Merge branch 'master' into caoyun

const config = { const dev = {
baseUrl: ''
}
const prod = {
baseUrl: 'http://120.77.247.178' baseUrl: 'http://120.77.247.178'
} }
export default config; export default process.env.NODE_ENV === 'development' ? dev : prod;
\ No newline at end of file \ No newline at end of file
...@@ -4,6 +4,28 @@ export interface FilterOptionResp { ...@@ -4,6 +4,28 @@ export interface FilterOptionResp {
id: number, id: number,
name: string name: string
} }
export default {
category: (): Promise<Response<Array<FilterOptionResp>>> => {
return request('/pms/webProductMall/category');
},
brand: (): Promise<Response<Array<FilterOptionResp>>> => {
return request('/pms/webDevice/brand');
},
model: (): Promise<Response<Array<FilterOptionResp>>> => {
return request('/pms/webDevice/model');
},
part: (): Promise<Response<Array<FilterOptionResp>>> => {
return request('/pms/webProductMall/parts');
},
quality: (): Promise<Response<Array<FilterOptionResp>>> => {
return request('/pms/webProductMall/quality');
},
region: (): Promise<Response<Array<FilterOptionResp>>> => {
return request('/pms/webDevice/getSecondDistrictInfo');
},
}
//商城接口 //商城接口
export const mallApi = { export const mallApi = {
category: (): Promise<Response<Array<FilterOptionResp>>> => { category: (): Promise<Response<Array<FilterOptionResp>>> => {
......
import { Space, Button, Select } from 'antd'; import { Space, Button, Select } from 'antd';
import styles from '../../index.module.scss'; import styles from '../../index.module.scss';
import { FilterOptionResp } from "../../api"; import api, { FilterOptionResp } from "../../api";
import { useEffect, useState } from "react";
type Props = { type Props = {
data: Array<FilterOptionResp>;
onChange: (id: FilterOptionResp) => void; onChange: (id: FilterOptionResp) => void;
}; };
export default function BrandItem(props: Props) { export default function BrandItem(props: Props) {
const [data, setData] = useState<FilterOptionResp[]>([])
useEffect(() => {
api.brand().then(res => {
setData(res?.result || []);
});
}, [])
const onClick = (item: FilterOptionResp) => { const onClick = (item: FilterOptionResp) => {
props.onChange({ props.onChange({
id: item.id, id: item.id,
...@@ -21,7 +29,7 @@ export default function BrandItem(props: Props) { ...@@ -21,7 +29,7 @@ export default function BrandItem(props: Props) {
<div className={styles.filterItemMain}> <div className={styles.filterItemMain}>
<Space size={40}> <Space size={40}>
{ {
props?.data?.map(item => { data.map(item => {
return <Button type="link" key={item.id} onClick={(e) => onClick(item)}>{item.name}</Button>; return <Button type="link" key={item.id} onClick={(e) => onClick(item)}>{item.name}</Button>;
}) })
} }
......
import { Space, Button, Select } from 'antd'; import { Space, Button, Select } from 'antd';
import styles from '../../index.module.scss'; import styles from '../../index.module.scss';
import { FilterOptionResp } from "../../api"; import api, { FilterOptionResp } from "../../api";
import { useState, useEffect } from 'react';
type Props = { type Props = {
data: Array<FilterOptionResp>;
onChange: (id: FilterOptionResp) => void; onChange: (id: FilterOptionResp) => void;
}; };
export default function CategoryItem(props: Props) { export default function CategoryItem(props: Props) {
const [data, setData] = useState<FilterOptionResp[]>([]);
useEffect(() => {
api.category().then((res) => {
setData(res?.result || []);
});
}, []);
const onClick = (item: FilterOptionResp) => { const onClick = (item: FilterOptionResp) => {
props.onChange({ props.onChange({
id: item.id, id: item.id,
...@@ -21,7 +29,7 @@ export default function CategoryItem(props: Props) { ...@@ -21,7 +29,7 @@ export default function CategoryItem(props: Props) {
<div className={styles.filterItemMain}> <div className={styles.filterItemMain}>
<Space size={40}> <Space size={40}>
{ {
props?.data?.map(item => { data.map(item => {
return <Button type="link" key={item.id} onClick={(e) => onClick(item)}>{item.name}</Button>; return <Button type="link" key={item.id} onClick={(e) => onClick(item)}>{item.name}</Button>;
}) })
} }
......
import { Space, Button, Select } from 'antd'; import { Space, Button, Select } from 'antd';
import styles from '../../index.module.scss'; import styles from '../../index.module.scss';
import { FilterOptionResp } from "../../api"; import api, { FilterOptionResp } from "../../api";
import { useEffect, useState } from 'react';
type Props = { type Props = {
data: Array<FilterOptionResp>;
onChange: (id: FilterOptionResp) => void; onChange: (id: FilterOptionResp) => void;
}; };
export default function ModelItem(props: Props) { export default function ModelItem(props: Props) {
const [data, setData] = useState<FilterOptionResp[]>([]);
useEffect(() => {
api.model().then((res) => {
setData(res?.result || []);
});
}, []);
const onClick = (item: FilterOptionResp) => { const onClick = (item: FilterOptionResp) => {
props.onChange({ props.onChange({
id: item.id, id: item.id,
...@@ -21,7 +29,7 @@ export default function ModelItem(props: Props) { ...@@ -21,7 +29,7 @@ export default function ModelItem(props: Props) {
<div className={styles.filterItemMain}> <div className={styles.filterItemMain}>
<Space size={40}> <Space size={40}>
{ {
props?.data?.map(item => { data?.map(item => {
return <Button type="link" key={item.id} onClick={(e) => onClick(item)}>{item.name}</Button>; return <Button type="link" key={item.id} onClick={(e) => onClick(item)}>{item.name}</Button>;
}) })
} }
......
import { Space, Button, Select } from 'antd'; import { Space, Button, Select } from 'antd';
import styles from '../../index.module.scss'; import styles from '../../index.module.scss';
import { FilterOptionResp } from "../../api"; import api, { FilterOptionResp } from "../../api";
import { useState, useEffect } from 'react';
type Props = { type Props = {
data: Array<FilterOptionResp>;
onChange: (id: FilterOptionResp) => void; onChange: (id: FilterOptionResp) => void;
}; };
export default function PartItem(props: Props) { export default function PartItem(props: Props) {
const [data, setData] = useState<FilterOptionResp[]>([]);
useEffect(() => {
api.part().then((res) => {
setData(res?.result || []);
});
}, []);
const onClick = (item: FilterOptionResp) => { const onClick = (item: FilterOptionResp) => {
props.onChange({ props.onChange({
id: item.id, id: item.id,
...@@ -20,7 +28,7 @@ export default function PartItem(props: Props) { ...@@ -20,7 +28,7 @@ export default function PartItem(props: Props) {
<div className={styles.filterItemTitle}>部件:</div> <div className={styles.filterItemTitle}>部件:</div>
<div className={styles.filterItemMain}> <div className={styles.filterItemMain}>
<Space size={40}> <Space size={40}>
{props?.data?.map((item) => { {data?.map((item) => {
return ( return (
<Button type="link" key={item.id} onClick={(e) => onClick(item)}> <Button type="link" key={item.id} onClick={(e) => onClick(item)}>
{item.name} {item.name}
......
import { Space, Button, Select } from 'antd'; import { Space, Button, Select } from 'antd';
import styles from '../../index.module.scss'; import styles from '../../index.module.scss';
import { FilterOptionResp } from "../../api"; import api, { FilterOptionResp } from "../../api";
import { useState, useEffect } from 'react';
type Props = { type Props = {
data: Array<FilterOptionResp>;
onChange: (id: FilterOptionResp) => void; onChange: (id: FilterOptionResp) => void;
}; };
export default function QualityItem(props: Props) { export default function QualityItem(props: Props) {
const [data, setData] = useState<FilterOptionResp[]>([]);
useEffect(() => {
api.quality().then((res) => {
setData(res?.result || []);
});
}, []);
const onClick = (item: FilterOptionResp) => { const onClick = (item: FilterOptionResp) => {
props.onChange({ props.onChange({
id: item.id, id: item.id,
...@@ -20,7 +28,7 @@ export default function QualityItem(props: Props) { ...@@ -20,7 +28,7 @@ export default function QualityItem(props: Props) {
<div className={styles.filterItemTitle}>成色:</div> <div className={styles.filterItemTitle}>成色:</div>
<div className={styles.filterItemMain}> <div className={styles.filterItemMain}>
<Space size={40}> <Space size={40}>
{props?.data?.map((item) => { {data?.map((item) => {
return ( return (
<Button type="link" key={item.id} onClick={(e) => onClick(item)}> <Button type="link" key={item.id} onClick={(e) => onClick(item)}>
{item.name} {item.name}
......
import { Space, Select } from 'antd'; import { Space, Select } from 'antd';
import { useEffect, useState } from 'react'; import { useEffect, useState } from 'react';
import styles from '../../index.module.scss'; import styles from '../../index.module.scss';
import api from '../../api';
export default function RegionItem(){ export default function RegionItem(){
const [productList, setProductList] = useState(Array<{}>); const [productList, setProductList] = useState(Array<{}>);
......
...@@ -13,7 +13,7 @@ export default function ResultItem({data, onDel}: Props) { ...@@ -13,7 +13,7 @@ export default function ResultItem({data, onDel}: Props) {
<div className={styles.filterItemMain}> <div className={styles.filterItemMain}>
<Space size={10}> <Space size={10}>
{data && {data &&
Object.keys(data).map((key, i) => { Object.keys(data).map((key) => {
//@ts-ignore //@ts-ignore
let item = data[key]; let item = data[key];
return ( return (
...@@ -22,7 +22,7 @@ export default function ResultItem({data, onDel}: Props) { ...@@ -22,7 +22,7 @@ export default function ResultItem({data, onDel}: Props) {
onClose={(e: React.MouseEvent<HTMLElement, MouseEvent>) => { onClose={(e: React.MouseEvent<HTMLElement, MouseEvent>) => {
onDel(key); onDel(key);
}} }}
key={i} key={key}
> >
{item?.name} {item?.name}
</Tag> </Tag>
......
...@@ -16,14 +16,8 @@ export type FilterResult = { ...@@ -16,14 +16,8 @@ export type FilterResult = {
type itemType = "类目" | "地域" | "品牌" | "部件" | "型号" | "成色"; type itemType = "类目" | "地域" | "品牌" | "部件" | "型号" | "成色";
type Props = { type Props = {
types: [itemType, itemType, itemType, itemType, itemType, itemType]; //需要包含的筛选条件项 types: itemType[]; //需要包含的筛选条件项
showResultItem: Boolean; //显示结果栏 showResultItem: Boolean; //显示结果栏
categoryData?: Array<FilterOptionResp>;
regionData?: Array<FilterOptionResp>;
brandData?: Array<FilterOptionResp>;
modelData?: Array<FilterOptionResp>;
partData?: Array<FilterOptionResp>;
qualityData?: Array<FilterOptionResp>;
onChange: (filterResult: FilterResult) => void; //筛选条件更改事件 onChange: (filterResult: FilterResult) => void; //筛选条件更改事件
}; };
export default function Filter(props: Props) { export default function Filter(props: Props) {
...@@ -59,31 +53,26 @@ export default function Filter(props: Props) { ...@@ -59,31 +53,26 @@ export default function Filter(props: Props) {
<div className={styles.filterWrap}> <div className={styles.filterWrap}>
{props.types.includes("品牌") && ( {props.types.includes("品牌") && (
<BrandItem <BrandItem
data={props.brandData || []}
onChange={(item: FilterOptionResp) => onChange(item, "brand")} onChange={(item: FilterOptionResp) => onChange(item, "brand")}
></BrandItem> ></BrandItem>
)} )}
{props.types.includes("类目") && ( {props.types.includes("类目") && (
<CategoryItem <CategoryItem
data={props.categoryData || []}
onChange={(item: FilterOptionResp) => onChange(item, "category")} onChange={(item: FilterOptionResp) => onChange(item, "category")}
></CategoryItem> ></CategoryItem>
)} )}
{props.types.includes("部件") && ( {props.types.includes("部件") && (
<PartItem <PartItem
data={props.partData || []}
onChange={(item: FilterOptionResp) => onChange(item, "part")} onChange={(item: FilterOptionResp) => onChange(item, "part")}
></PartItem> ></PartItem>
)} )}
{props.types.includes("型号") && ( {props.types.includes("型号") && (
<ModelItem <ModelItem
data={props.modelData || []}
onChange={(item: FilterOptionResp) => onChange(item, "model")} onChange={(item: FilterOptionResp) => onChange(item, "model")}
></ModelItem> ></ModelItem>
)} )}
{props.types.includes("成色") && ( {props.types.includes("成色") && (
<QualityItem <QualityItem
data={props.qualityData || []}
onChange={(item: FilterOptionResp) => onChange(item, "quality")} onChange={(item: FilterOptionResp) => onChange(item, "quality")}
></QualityItem> ></QualityItem>
)} )}
......
...@@ -11,6 +11,14 @@ const nextConfig = { ...@@ -11,6 +11,14 @@ const nextConfig = {
}, },
]; ];
}, },
async rewrites() {
return [
{
source: "/pms/:path*",
destination: "http://120.77.247.178/pms/:path*",
},
];
},
pageExtensions: ["page.tsx", "page.ts", "page.jsx", "page.js"], pageExtensions: ["page.tsx", "page.ts", "page.jsx", "page.js"],
}; };
......
import React from 'react'; import React from "react";
import {Space,Select,Button} from 'antd'; import { Space, Select, Button } from "antd";
import Image from 'next/image'; import Image from "next/image";
import {Box} from './styled'; import { Box } from "./styled";
import ContentBox from '~/components/contentBox'; import ContentBox from "~/components/contentBox";
import RotationChart from './components/rotationChart' import RotationChart from "./components/rotationChart";
import Map from './components/map'; import Map from "./components/map";
// import icon from './_assets/icon.png'; import icon from "./assets/icon.png";
const icon = '' // const icon = "error";
export default function WaterfallFlowBody() { export default function WaterfallFlowBody() {
const onMoreChange = (value: string) => { const onMoreChange = (value: string) => {
console.log("更多", value); console.log("更多", value);
}; };
const title = [ const title = [
{ {
name:"无人机出租" name: "无人机出租",
} },
] ];
const leftDom = <div className='item'> const leftDom = (
<div className='item-title'> <div className="item">
<div className='item-left'> <div className="item-title">
<div className='item-left-icon'> <div className="item-left">
<Image src={icon} alt='#'/> <div className="item-left-icon">
</div> <Image src={icon} alt="#" />
<div className='item-left-label'>
无人机出租
</div> </div>
<div className="item-left-label">无人机出租</div>
</div>
<div>
<Select
placeholder="更多"
onChange={onMoreChange}
bordered={false}
dropdownMatchSelectWidth={false}
options={[
{ value: "jack", label: "Jack" },
{ value: "lucy", label: "Lucy" },
{ value: "Yiminghe", label: "yiminghe" },
{ value: "disabled", label: "Disabled", disabled: true },
]}
/>
</div>
</div> </div>
<div> <div className="item-body">
<Select <Space size={[10, 8]} wrap>
placeholder="更多" <div className="item-bubble">123123</div>
onChange={onMoreChange} <div className="item-bubble active">123123</div>
bordered={false} <div className="item-bubble">123123</div>
popupMatchSelectWidth={false} <div className="item-bubble active">123123</div>
options={[ <div className="item-bubble">123123</div>
{ value: "jack", label: "Jack" }, <div className="item-bubble">123123</div>
{ value: "lucy", label: "Lucy" }, <div className="item-bubble">123123</div>
{ value: "Yiminghe", label: "yiminghe" }, <div className="item-bubble">123123</div>
{ value: "disabled", label: "Disabled", disabled: true }, </Space>
]}
/>
</div> </div>
</div> </div>
<div className='item-body'> );
<Space size={[10, 8]} wrap>
<div className='item-bubble'>
123123
</div>
<div className='item-bubble active'>
123123
</div>
<div className='item-bubble'>
123123
</div>
<div className='item-bubble active'>
123123
</div>
<div className='item-bubble'>
123123
</div>
<div className='item-bubble'>
123123
</div>
<div className='item-bubble'>
123123
</div>
<div className='item-bubble'>
123123
</div>
</Space>
</div>
</div>
const rightDom = <div className='right-box-item right-item'> const rightDom = (
<div className="title"> <div className="right-box-item right-item">
asdasdas <div className="title">asdasdas</div>
</div>
<div className="body"> <div className="body">
<div className='body-item'> <div className="body-item">
<div className='item-label'> <div className="item-label">
asdasdasdasjhgdbjasjgdjashgdbjahsdgahjs asdasdasdasjhgdbjasjgdjashgdbjahsdgahjs
</div> </div>
<div className='item-image'> <div className="item-image">
<Image className='item-image' src={icon} alt='#'/> <Image className="item-image" src={icon} alt="#" />
</div> </div>
</div> </div>
<div className='body-item'> <div className="body-item">
<div className='item-label'> <div className="item-label">
asdasdasdasjhgdbjasjgdjashgdbjahsdgahjs asdasdasdasjhgdbjasjgdjashgdbjahsdgahjs
</div> </div>
<div className='item-image'> <div className="item-image">
<Image className='item-image' src={icon} alt='#'/> <Image className="item-image" src={icon} alt="#" />
</div> </div>
</div> </div>
<div className='body-item'> <div className="body-item">
<div className='item-label'> <div className="item-label">
asdasdasdasjhgdbjasjgdjashgdbjahsdgahjs asdasdasdasjhgdbjasjgdjashgdbjahsdgahjs
</div> </div>
<div className='item-image'> <div className="item-image">
<Image className='item-image' src={icon} alt='#'/> <Image className="item-image" src={icon} alt="#" />
</div> </div>
</div> </div>
<div className='body-item'> <div className="body-item">
<div className='item-label'> <div className="item-label">
asdasdasdasjhgdbjasjgdjashgdbjahsdgahjs asdasdasdasjhgdbjasjgdjashgdbjahsdgahjs
</div> </div>
<div className='item-image'> <div className="item-image">
<Image className='item-image' src={icon} alt='#'/> <Image className="item-image" src={icon} alt="#" />
</div> </div>
</div> </div>
<div className='body-item'> <div className="body-item">
<div className='item-label'> <div className="item-label">
asdasdasdasjhgdbjasjgdjashgdbjahsdgahjs asdasdasdasjhgdbjasjgdjashgdbjahsdgahjs
</div> </div>
<div className='item-image'> <div className="item-image">
<Image className='item-image' src={icon} alt='#'/> <Image className="item-image" src={icon} alt="#" />
</div> </div>
</div> </div>
<div className='body-item'> <div className="body-item">
<div className='item-label'> <div className="item-label">
asdasdasdasjhgdbjasjgdjashgdbjahsdgahjs asdasdasdasjhgdbjasjgdjashgdbjahsdgahjs
</div> </div>
<div className='item-image'> <div className="item-image">
<Image className='item-image' src={icon} alt='#'/> <Image className="item-image" src={icon} alt="#" />
</div> </div>
</div> </div>
</div> </div>
</div> </div>
);
const rightDom2 = <div className='right-box-item right-item-second'> const rightDom2 = (
<div className="title"> <div className="right-box-item right-item-second">
asdasdas <div className="title">asdasdas</div>
</div>
<div className="body"> <div className="body">
<div className='body-item'> <div className="body-item">
<div className='item-label'> <div className="item-label">
<div className='label-top'> <div className="label-top">
asdasdasdasjhgdbjasjgdjashgdbjahsdgahjs asdasdasdasjhgdbjasjgdjashgdbjahsdgahjs
</div> </div>
<div className='label-bottom'> <div className="label-bottom">123123</div>
123123 </div>
</div> <div className="item-right">
</div> <Button className="btn" size="small" type="primary">
<div className='item-right'> 申请合作
<Button className='btn' size='small' type="primary">申请合作</Button> </Button>
</div> </div>
</div> </div>
<div className='body-item'> <div className="body-item">
<div className='item-label'> <div className="item-label">
<div className='label-top'> <div className="label-top">
asdasdasdasjhgdbjasjgdjashgdbjahsdgahjs asdasdasdasjhgdbjasjgdjashgdbjahsdgahjs
</div> </div>
<div className='label-bottom'> <div className="label-bottom">123123</div>
123123 </div>
</div> <div className="item-right">
</div> <Button className="btn" size="small" type="primary">
<div className='item-right'> 申请合作
<Button className='btn' size='small' type="primary">申请合作</Button> </Button>
</div> </div>
</div> </div>
<div className='body-item'> <div className="body-item">
<div className='item-label'> <div className="item-label">
<div className='label-top'> <div className="label-top">
asdasdasdasjhgdbjasjgdjashgdbjahsdgahjs asdasdasdasjhgdbjasjgdjashgdbjahsdgahjs
</div> </div>
<div className='label-bottom'> <div className="label-bottom">123123</div>
123123 </div>
</div> <div className="item-right">
</div> <Button className="btn" size="small" type="primary">
<div className='item-right'> 申请合作
<Button className='btn' size='small' type="primary">申请合作</Button> </Button>
</div> </div>
</div> </div>
<div className='body-item'> <div className="body-item">
<div className='item-label'> <div className="item-label">
<div className='label-top'> <div className="label-top">
asdasdasdasjhgdbjasjgdjashgdbjahsdgahjs asdasdasdasjhgdbjasjgdjashgdbjahsdgahjs
</div> </div>
<div className='label-bottom'> <div className="label-bottom">123123</div>
123123 </div>
</div> <div className="item-right">
</div> <Button className="btn" size="small" type="primary">
<div className='item-right'> 申请合作
<Button className='btn' size='small' type="primary">申请合作</Button> </Button>
</div> </div>
</div> </div>
<div className='body-item'> <div className="body-item">
<div className='item-label'> <div className="item-label">
<div className='label-top'> <div className="label-top">
asdasdasdasjhgdbjasjgdjashgdbjahsdgahjs asdasdasdasjhgdbjasjgdjashgdbjahsdgahjs
</div> </div>
<div className='label-bottom'> <div className="label-bottom">123123</div>
123123 </div>
</div> <div className="item-right">
</div> <Button className="btn" size="small" type="primary">
<div className='item-right'> 申请合作
<Button className='btn' size='small' type="primary">申请合作</Button> </Button>
</div> </div>
</div> </div>
<div className='body-item'> <div className="body-item">
<div className='item-label'> <div className="item-label">
<div className='label-top'> <div className="label-top">
asdasdasdasjhgdbjasjgdjashgdbjahsdgahjs asdasdasdasjhgdbjasjgdjashgdbjahsdgahjs
</div> </div>
<div className='label-bottom'> <div className="label-bottom">123123</div>
123123 </div>
</div> <div className="item-right">
</div> <Button className="btn" size="small" type="primary">
<div className='item-right'> 申请合作
<Button className='btn' size='small' type="primary">申请合作</Button> </Button>
</div> </div>
</div> </div>
<div className='body-item'> <div className="body-item">
<div className='item-label'> <div className="item-label">
<div className='label-top'> <div className="label-top">
asdasdasdasjhgdbjasjgdjashgdbjahsdgahjs asdasdasdasjhgdbjasjgdjashgdbjahsdgahjs
</div> </div>
<div className='label-bottom'> <div className="label-bottom">123123</div>
123123 </div>
</div> <div className="item-right">
</div> <Button className="btn" size="small" type="primary">
<div className='item-right'> 申请合作
<Button className='btn' size='small' type="primary">申请合作</Button> </Button>
</div> </div>
</div> </div>
</div>
</div>
);
</div>
</div>
return ( return (
<Box> <Box>
<ContentBox boxIndex={2} leftRenderDom={{columns:[{noFor:true,element:<RotationChart/>},{element:leftDom},{element:leftDom},{element:leftDom},{element:leftDom},{element:leftDom},{element:leftDom}]}} rightRenderDom={{columns:[{element:<Map/>},{element:rightDom},{element:rightDom2}]}}/> <ContentBox
boxIndex={2}
leftRenderDom={{
columns: [
{ noFor: true, element: <RotationChart /> },
{ element: leftDom },
{ element: leftDom },
{ element: leftDom },
{ element: leftDom },
{ element: leftDom },
{ element: leftDom },
],
}}
rightRenderDom={{
columns: [
{ element: <Map /> },
{ element: rightDom },
{ element: rightDom2 },
],
}}
/>
</Box> </Box>
) );
} }
...@@ -9,32 +9,13 @@ import { FilterOptionResp, mallApi } from "~/components/filter/api"; ...@@ -9,32 +9,13 @@ import { FilterOptionResp, mallApi } from "~/components/filter/api";
// 此函数在构建时被调用 // 此函数在构建时被调用
export async function getServerSideProps() { export async function getServerSideProps() {
//获取筛选数据,进行静态渲染
const brand = Filter.mallApi.brand();
const category = Filter.mallApi.category();
const model = Filter.mallApi.model();
const part = Filter.mallApi.part();
const quality = Filter.mallApi.quality();
const res = await Promise.all([brand, category, part, model, quality]);
return { return {
props: { props: {
brandData: res[0].result || [],
categoryData: res[1].result || [],
partData: res[2].result || [],
modelData: res[3].result || [],
qualityData: res[4].result || [],
}, },
}; };
} }
type Props = { type Props = {
brandData: Array<FilterOptionResp>;
categoryData: Array<FilterOptionResp>;
partData: Array<FilterOptionResp>;
modelData: Array<FilterOptionResp>;
qualityData: Array<FilterOptionResp>;
}; };
export default function Mall(props: Props) { export default function Mall(props: Props) {
...@@ -49,11 +30,6 @@ export default function Mall(props: Props) { ...@@ -49,11 +30,6 @@ export default function Mall(props: Props) {
<Filter <Filter
types={["类目", "地域", "品牌", "部件", "型号", "成色"]} types={["类目", "地域", "品牌", "部件", "型号", "成色"]}
showResultItem showResultItem
brandData={props.brandData}
categoryData={props.categoryData}
partData={props.partData}
modelData={props.modelData}
qualityData={props.qualityData}
onChange={onFilterChange} onChange={onFilterChange}
></Filter> ></Filter>
<div className={styles.productList}> <div className={styles.productList}>
......
pages/projectInfo/assets/banner.png

91.2 KB | W: | H:

pages/projectInfo/assets/banner.png

83.2 KB | W: | H:

pages/projectInfo/assets/banner.png
pages/projectInfo/assets/banner.png
pages/projectInfo/assets/banner.png
pages/projectInfo/assets/banner.png
  • 2-up
  • Swipe
  • Onion skin
.bannerWrap{ .bannerWrap{
height: 180px; height: 160px;
position: relative; position: relative;
} }
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论