Commit 5ea0ab2e authored by 前端-钟卫鹏's avatar 前端-钟卫鹏
parents 5b6e6d9f 2d0f3253
......@@ -142,7 +142,10 @@ const EvaluationList = props => {
</div>
<div className="goodInfo-right">
<div className="goodInfo-title">{item.good.productName}</div>
<div className="goodInfo-desc">{item.good.purchaseCount || ''}</div>
<div className="goodInfo-desc">
X {item.good.purchaseCount || ''}
{item.good.unit || ''}
</div>
<div className="goodInfo-price">{`¥ ${item.good.price}`}</div>
</div>
</div>
......
......@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-09-23 11:02:03
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-10-26 09:52:13
* @LastEditTime: 2020-12-04 11:21:50
* @Description:
*/
import React, { useState, useEffect } from 'react';
......@@ -51,7 +51,7 @@ const CommentManageDetailed: React.FC = () => {
}
return {
created: data.dealTime,
orderNo: data.remark,
orderNo: data.orderNo,
};
};
......@@ -136,7 +136,7 @@ const CommentManageDetailed: React.FC = () => {
}}
editable={false}
expressionScope={{
UploadTip,
UploadTip: null,
beforeUpload,
}}
onSubmit={() => { }}
......
......@@ -215,7 +215,7 @@ const CommentManage: React.FC = () => {
useStateFilterSearchLinkageEffect(
$,
actions,
'keyword',
'product',
FORM_FILTER_PATH,
);
useAsyncInitSelect(
......
......@@ -22,12 +22,12 @@ export const listSearchSchema: ISchema = {
children: '{{controllerBtns}}',
},
},
keyword: {
product: {
type: 'string',
'x-component': 'Search',
'x-component-props': {
placeholder: '搜索',
tip: '输入 订单号、交易商品 进行搜索',
tip: '输入 交易商品 进行搜索',
},
},
},
......
......@@ -142,7 +142,10 @@ const EvaluationList = props => {
</div>
<div className="goodInfo-right">
<div className="goodInfo-title">{item.good.productName}</div>
<div className="goodInfo-desc">X {item.good.purchaseCount || ''}</div>
<div className="goodInfo-desc">
X {item.good.purchaseCount || ''}
{item.good.unit || ''}
</div>
<div className="goodInfo-price">{`¥ ${item.good.price}`}</div>
</div>
</div>
......
......@@ -155,17 +155,16 @@ const CommentDetailed: React.FC = () => {
const { data, totalCount } = res.data;
resolve({
data: data.map(item => {
const product = isJSONStr(item.product) || {};
return {
id: item.id,
star: item.star,
comment: item.comment,
productName: product.productName || '',
price: product.price,
quantity: product.purchaseCount,
productName: item.product || '',
price: item.price,
quantity: item.purchaseCount,
created: item.createTime,
target: item.byMemberName,
orderId: product.orderId,
orderId: item.orderId,
};
}),
totalCount,
......
......@@ -2,7 +2,7 @@
* @Author: XieZhiXiong
* @Date: 2020-10-20 11:43:12
* @LastEditors: XieZhiXiong
* @LastEditTime: 2020-10-30 14:11:06
* @LastEditTime: 2020-12-04 14:35:12
* @Description:
*/
import { normalizeFiledata, FileData, isJSONStr } from '@/utils';
......@@ -27,13 +27,13 @@ export function normalizeUnevaluatedList(arr: any): Unevaluated[] {
return ret;
}
arr.forEach(item => {
const product = isJSONStr(item.product) || {};
const atom = {
good: {
pic: product.pic,
productName: product.productName,
pic: item.productImgUrl,
productName: item.product,
price: item.price,
purchaseCount: item.dealCount, // 采购数量
purchaseCount: item.purchaseCount, // 采购数量
unit: item.unit,
},
star: item.star, // 评分星星
comment: item.comment, // 评价
......
......@@ -4,16 +4,12 @@
color: #909399;
}
.dataRiskAction{
.item {
display: flex;
> div{
width: 240px;
height: 48px;
background: #FAFBFC;
line-height: 48px;
margin-right: 24px;
> img{
margin: 8px 16px;
}
background: #FAFBFC;
align-items: center;
.icon {
margin: 8px 16px;
}
}
\ No newline at end of file
}
......@@ -12,49 +12,61 @@ import dataRiskIcon8 from '@/asserts/home-icon-8.png'
const DataCenter: React.FC = () => {
const data = [
{
title: '网站运营数据',
icon: dataRiskIcon3
},
{
title: 'APP运营数据',
icon: dataRiskIcon4
},
{
title: '用户分析',
icon: dataRiskIcon5
},
{
title: '商品分析',
icon: dataRiskIcon6
},
{
title: '交易分析',
icon: dataRiskIcon7
},
{
title: '售后分析',
icon: dataRiskIcon8
}
]
return (
<Row gutter={[24, 12]}>
<Col span={24}>
<Card
headStyle={{borderBottom:'none'}}
title={
<>
<p>数据中心</p>
<p className={styles.dataRiskTip}>实时展示会员数据、交易数据等综合指标的动态趋势,满足数据化运营的需要</p>
</>
}
bordered={false}
extra={<a href="#">进入数据中心</a>}
>
<div className={styles.dataRiskAction}>
<div>
<img src={dataRiskIcon3} alt=""/>
<span>网站运营数据</span>
</div>
<div>
<img src={dataRiskIcon4} alt=""/>
<span>APP运营数据</span>
</div>
<div>
<img src={dataRiskIcon5} alt=""/>
<span>用户分析</span>
</div>
<div>
<img src={dataRiskIcon6} alt=""/>
<span>商品分析</span>
</div>
<div>
<img src={dataRiskIcon7} alt=""/>
<span>交易分析</span>
</div>
<div>
<img src={dataRiskIcon8} alt=""/>
<span>售后分析</span>
</div>
</div>
</Card>
</Col>
</Row>
<Card
headStyle={{borderBottom:'none'}}
title={
<>
<p>数据中心</p>
<p className={styles.dataRiskTip}>实时展示会员数据、交易数据等综合指标的动态趋势,满足数据化运营的需要</p>
</>
}
bordered={false}
extra={<a href="#">进入数据中心</a>}
>
<Row gutter={[24,24]}>
{
data.map((item) => {
return (
<Col xxl={4} xl={6} lg={6} md={8} sm={12} xs={24} key={item.title} >
<div className={styles.item}>
<img src={item.icon} className={styles.icon} alt=""/>
<span>{item.title}</span>
</div>
</Col>
)
})
}
</Row>
</Card>
)
}
export default DataCenter
\ No newline at end of file
export default DataCenter
......@@ -16,11 +16,11 @@ export enum TimeEnum {
}
interface Iprops {
memberData: ImemberData
memberData: ImemberData
}
const MemberStatistics: React.FC<Iprops> = (props) => {
const { memberData } = props;
const { memberData } = props;
const [timeRadio, setTimeRadio] = useState<TimeEnum>(TimeEnum.WEEK);
// 设置折线图的data
const [currentLineChartData, setCurrentLineChartData] = useState<Ilist[]>([]);
......@@ -62,9 +62,9 @@ const MemberStatistics: React.FC<Iprops> = (props) => {
}
]
return (
<Card
headStyle={{borderBottom:'none'}}
title="会员统计"
<Card
headStyle={{borderBottom:'none'}}
title="会员统计"
bordered={false}
extra={
<Radio.Group value={timeRadio} buttonStyle="solid" size="small" onChange={handleChangeTime}>
......@@ -84,7 +84,7 @@ const MemberStatistics: React.FC<Iprops> = (props) => {
{
data.map((item) => {
return (
<Col span={6} key={item.tips}>
<Col xxl={6} xl={6} lg={12} md={12} sm={24} xs={24} key={item.tips}>
<div className={styles.lineDesc}>
<img src={item.icon} className={styles.icon} alt=""/>
<div className={styles.lineDescText}>
......@@ -103,4 +103,4 @@ const MemberStatistics: React.FC<Iprops> = (props) => {
)
}
export default MemberStatistics;
\ No newline at end of file
export default MemberStatistics;
......@@ -8,13 +8,13 @@ interface IProps {
const LineChart: React.FC<IProps> = (props) => {
return (
<Chart height={360} data={props.data} forceFit>
<Chart height={360} autoFit data={props.data}>
<Legend position="top-left" />
{/* <Axis name="dateTime" />
<Axis name="count"/> */}
<LineAdvance
position="dateTime*count"
color={'roleName'}
<LineAdvance
position="dateTime*count"
color={'roleName'}
point
area
shape="smooth"
......@@ -23,4 +23,4 @@ const LineChart: React.FC<IProps> = (props) => {
);
}
export default LineChart;
\ No newline at end of file
export default LineChart;
......@@ -2,7 +2,7 @@
display: flex;
align-items: center;
margin-top: 14px;
.icon {
display: block;
width: 48px;
......@@ -18,6 +18,7 @@
font-size: 24px;
font-weight: 500;
color: #303133;
overflow: hidden;
}
.lineDescTip{
font-size: 12px;
......@@ -25,5 +26,5 @@
color: #909399;
}
}
}
\ No newline at end of file
}
......@@ -34,30 +34,30 @@ const OrderStatistics: React.FC<Iprops> = (props) => {
const data = [
{
icon: todayIcon,
value: orderData.todayCount,
value: orderData.todayAmount ,
tips: `今日营业额(${orderData.todayCount}单)`
},
{
icon: weekIcon,
value: orderData.weekCount,
tips: `最近7日营业额(${orderData.weekAmount}单)`
value: orderData.weekAmount,
tips: `最近7日营业额(${orderData.weekCount}单)`
},
{
icon: monthIcon,
value: orderData.monthCount,
tips: `最近30日营业额(${orderData.monthAmount}单)`
value: orderData.monthAmount,
tips: `最近30日营业额(${orderData.monthCount}单)`
},
{
icon: totalIcon,
value: orderData.totalCount,
value: orderData.totalAmount,
tips: `累计营业额(${orderData.totalCount}单)`
}
]
return (
<Card
headStyle={{borderBottom:'none'}}
<Card
headStyle={{borderBottom:'none'}}
style={{height: '100%'}}
title="会员统计"
title="会员统计"
bordered={false}
extra={
<Radio.Group value={timeRadio} buttonStyle="solid" size="small" onChange={handleChangeTime}>
......@@ -77,7 +77,7 @@ const OrderStatistics: React.FC<Iprops> = (props) => {
{
data.map((item,key) => {
return (
<Col span={6} key={key}>
<Col xxl={6} xl={6} lg={12} md={12} sm={24} xs={24} key={key}>
<div className={styles.lineDesc}>
<img src={item.icon} className={styles.icon} alt=""/>
<div className={styles.lineDescText}>
......@@ -96,4 +96,4 @@ const OrderStatistics: React.FC<Iprops> = (props) => {
)
}
export default OrderStatistics
\ No newline at end of file
export default OrderStatistics
......@@ -4,16 +4,12 @@
color: #909399;
}
.dataRiskAction{
.item {
display: flex;
> div{
width: 240px;
height: 48px;
background: #FAFBFC;
line-height: 48px;
margin-right: 24px;
> img{
margin: 8px 16px;
}
background: #FAFBFC;
align-items: center;
.icon {
margin: 8px 16px;
}
}
\ No newline at end of file
}
......@@ -10,33 +10,44 @@ import dataRiskIcon2 from '@/asserts/home-icon-2.png'
interface Iprops {}
const RiskCenter: React.FC<Iprops> = () => {
const data = [
{
title: '预警规则',
icon: dataRiskIcon1
},
{
title: '预警控制台',
icon: dataRiskIcon2
},
{
title: '预警处理',
icon: dataRiskIcon1
},
]
return (
<Row gutter={[24, 12]}>
<Col span={24}>
<Card
headStyle={{borderBottom:'none'}}
title={<><p>风控中心</p><p className={styles.dataRiskTip}>全面的风控体系,监控交易异常、资金异常、行为异常,并实时预警</p></>}
bordered={false}
extra={<a href="#">进入风控中心</a>}
>
<div className={styles.dataRiskAction}>
<div>
<img src={dataRiskIcon1} alt=""/>
<span>预警规则</span>
</div>
<div>
<img src={dataRiskIcon2} alt=""/>
<span>预警控制台<Badge count={4} size="small" /></span>
</div>
<div>
<img src={dataRiskIcon1} alt=""/>
<span>预警处理</span>
</div>
</div>
</Card>
</Col>
</Row>
<Card
headStyle={{borderBottom:'none'}}
title={<><p>风控中心</p><p className={styles.dataRiskTip}>全面的风控体系,监控交易异常、资金异常、行为异常,并实时预警</p></>}
bordered={false}
extra={<a href="#">进入风控中心</a>}
>
<Row gutter={[24,24]}>
{
data.map((item) => {
return (
<Col xxl={4} xl={6} lg={6} md={8} sm={12} xs={24} key={item.title} >
<div className={styles.item}>
<img src={item.icon} className={styles.icon} alt=""/>
<span>{item.title} <Badge count={4} size="small" /></span>
</div>
</Col>
)
})
}
</Row>
</Card>
)
}
export default RiskCenter
\ No newline at end of file
export default RiskCenter
// 便签样式
.notePaperBox{
width: 100%;
height: 248px;
height: 100%;
background: #6C9CEB;
border-radius: 3px;
.notePaperContainer{
......@@ -50,14 +50,14 @@
top: -5px;
}
}
.noteBody{
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
color: #fff;
color: #fff;
.value {
font-size: 24px;
margin-bottom: 24px;
......@@ -97,9 +97,10 @@
margin-bottom: 0;
}
.lineDescTip {
height: 36px;
font-size: 12px;
color: #909399;
margin-bottom: 0;
}
}
}
\ No newline at end of file
}
......@@ -43,8 +43,8 @@ const Settlement: React.FC = () => {
}
}, [inViewPort])
return (
<Row gutter={[24, 12]} style={{marginTop: 9, marginBottom: 0}} ref={ref}>
<Col span={5} style={{paddingBottom:0}}>
<Row gutter={[24, 24]} style={{marginTop: 9, marginBottom: 0}} ref={ref}>
<Col xxl={5} xl={5} lg={12} md={12} sm={24} xs={24} style={{paddingBottom:0}}>
<div className={styles.notePaperBox}>
<div className={styles.notePaperContainer}>
<div className={styles.noteHeader}>
......@@ -59,7 +59,7 @@ const Settlement: React.FC = () => {
</div>
</div>
</Col>
<Col span={5} style={{paddingBottom:0}}>
<Col xxl={5} xl={5}lg={12} md={12} sm={24} xs={24} style={{paddingBottom:0}}>
<div className={cx(styles.notePaperBox, styles.notePaperBoxGreen)}>
<div className={styles.notePaperContainer}>
<div className={styles.noteHeader}>
......@@ -74,7 +74,7 @@ const Settlement: React.FC = () => {
</div>
</div>
</Col>
<Col span={7} style={{paddingBottom:0}}>
<Col xxl={7} xl={7} lg={12} md={12} sm={24} xs={24} style={{paddingBottom:0}}>
<Row >
<Col span={24} style={{padding:0}}>
<div className={cx(styles.lineDesc, styles.feeCustomCard)}>
......@@ -85,7 +85,7 @@ const Settlement: React.FC = () => {
<p className={styles.lineDescTip}>待提现申请</p>
</div>
</div>
<a key="list-loadmore-more">查看&nbsp;<RightOutlined /></a>
<a>查看&nbsp;<RightOutlined /></a>
</div>
</Col>
<Col span={24} style={{paddingBottom:0, marginTop: '12px'}}>
......@@ -97,12 +97,12 @@ const Settlement: React.FC = () => {
<p className={styles.lineDescTip}>待支付提现申请</p>
</div>
</div>
<a key="list-loadmore-more">查看&nbsp;<RightOutlined /></a>
<a>查看&nbsp;<RightOutlined /></a>
</div>
</Col>
</Row>
</Col>
<Col span={7} style={{paddingBottom:0}}>
<Col xxl={7} xl={7} lg={12} md={12} sm={24} xs={24} style={{paddingBottom:0}}>
<Row>
<Col span={24} style={{padding:0}}>
<div className={cx(styles.lineDesc, styles.feeCustomCard)}>
......@@ -134,4 +134,4 @@ const Settlement: React.FC = () => {
)
}
export default Settlement
\ No newline at end of file
export default Settlement
......@@ -22,10 +22,10 @@
justify-content: space-between;
align-items: center;
flex: 1;
&:first-child {
margin-right: 50px;
}
// &:first-child {
// margin-right: 50px;
// }
.left {
display: flex;
flex-direction: row;
......@@ -47,6 +47,6 @@
}
}
}
}
......@@ -14,14 +14,14 @@ const StatisticsColumn = (props) => {
const { loading, data } = props;
return (
<Row gutter={[24, 12]}>
<Col span={12}>
<Col xxl={12} xl={12} lg={12} md={24} sm={24} xs={24}>
<Row>
<Col span={24}>
<Card
headStyle={{borderBottom:'none'}}
title={"商品统计"}
title={"商品统计"}
bordered={false}
>
>
{
loading
? <Skeleton active />
......@@ -30,76 +30,84 @@ const StatisticsColumn = (props) => {
<span>全部商品</span>
<p>{data?.productCount}</p>
</div>
<div className={styles.commodityTotalDesc}>
<div className={styles.container}>
<div className={styles.left}>
<img src={totalCommdity} alt=""/>
<div className={styles.lineDescText}>
<p className={styles.lineDescTitle}>{data.addProduct?.count}</p>
<p className={styles.lineDescTip}>{data.addProduct?.name}</p>
<Row gutter={[24, 12]}>
<Col xxl={12} xl={12} lg={24} md={12} sm={24} xs={24} className={styles.commodityTotalDesc}>
<div className={styles.container}>
<div className={styles.left}>
<img src={totalCommdity} alt=""/>
<div className={styles.lineDescText}>
<p className={styles.lineDescTitle}>{data.addProduct?.count}</p>
<p className={styles.lineDescTip}>{data.addProduct?.name}</p>
</div>
</div>
<a key="list-loadmore-more">查看&nbsp;<RightOutlined /></a>
</div>
<a key="list-loadmore-more">查看&nbsp;<RightOutlined /></a>
</div>
<div className={styles.container}>
<div className={styles.left}>
<img src={totalIcona3} alt=""/>
<div className={styles.lineDescText}>
<p className={styles.lineDescTitle}>{data.toBeProductValify?.count}</p>
<p className={styles.lineDescTip}>{data.toBeProductValify?.name}</p>
</Col>
<Col xxl={12} xl={12} lg={24} md={12} sm={24} xs={24} className={styles.commodityTotalDesc} >
<div className={styles.container}>
<div className={styles.left}>
<img src={totalIcona3} alt=""/>
<div className={styles.lineDescText}>
<p className={styles.lineDescTitle}>{data.toBeProductValify?.count}</p>
<p className={styles.lineDescTip}>{data.toBeProductValify?.name}</p>
</div>
</div>
<a key="list-loadmore-more">查看&nbsp;<RightOutlined /></a>
</div>
<a key="list-loadmore-more">查看&nbsp;<RightOutlined /></a>
</div>
</div>
</Col>
</Row>
</>
}
</Card>
</Col>
</Row>
</Col>
<Col span={12}>
<Col xxl={12} xl={12} lg={12} md={24} xs={24}>
<Row>
<Col span={24}>
<Card
headStyle={{borderBottom:'none'}}
title={"全部品牌"}
title={"全部品牌"}
bordered={false}
>
{
loading
loading
? <Skeleton active />
: <>
<div className={styles.commodityTotalTitle}>
<span>全部品牌</span>
<p>{data?.brandCount}</p>
</div>
<div className={styles.commodityTotalDesc}>
<div className={styles.container}>
<div className={styles.left}>
<img src={totalBrand1} alt=""/>
<div className={styles.lineDescText}>
<p className={styles.lineDescTitle}>{data.addBrand?.count}</p>
<p className={styles.lineDescTip}>{data.addBrand?.name}</p>
<Row gutter={[24, 12]}>
<Col xxl={12} xl={12} lg={24} md={12} sm={24} xs={24} className={styles.commodityTotalDesc} >
<div className={styles.container}>
<div className={styles.left}>
<img src={totalBrand1} alt=""/>
<div className={styles.lineDescText}>
<p className={styles.lineDescTitle}>{data.addBrand?.count}</p>
<p className={styles.lineDescTip}>{data.addBrand?.name}</p>
</div>
</div>
<a key="list-loadmore-more">查看&nbsp;<RightOutlined /></a>
</div>
<a key="list-loadmore-more">查看&nbsp;<RightOutlined /></a>
</div>
<div className={styles.container}>
<div className={styles.left}>
<img src={totalBrand2} alt=""/>
<div className={styles.lineDescText}>
<p className={styles.lineDescTitle}>{data.toBeBrandValify?.count}</p>
<p className={styles.lineDescTip}>{data.toBeBrandValify?.name}</p>
</Col>
<Col xxl={12} xl={12} lg={24} md={12} sm={24} xs={24} className={styles.commodityTotalDesc}>
<div className={styles.container}>
<div className={styles.left}>
<img src={totalBrand2} alt=""/>
<div className={styles.lineDescText}>
<p className={styles.lineDescTitle}>{data.toBeBrandValify?.count}</p>
<p className={styles.lineDescTip}>{data.toBeBrandValify?.name}</p>
</div>
</div>
<a key="list-loadmore-more">查看&nbsp;<RightOutlined /></a>
</div>
<a key="list-loadmore-more">查看&nbsp;<RightOutlined /></a>
</div>
</div>
</Col>
</Row>
</>
}
</Card>
</Col>
</Row>
......@@ -108,4 +116,4 @@ const StatisticsColumn = (props) => {
)
}
export default StatisticsColumn
\ No newline at end of file
export default StatisticsColumn
......@@ -47,7 +47,7 @@ const TodayAdd: React.FC<Iprops> = (props) => {
{
list.map((item, key) => {
return (
<Col span={6} key={key}>
<Col xxl={6} xl={6} lg={12} md={12} sm={24} xs={24} key={key}>
<div className={styles.homeCard}>
<div className={styles.body}>
<div className={styles.content}>
......@@ -59,7 +59,7 @@ const TodayAdd: React.FC<Iprops> = (props) => {
</div>
</div>
<div className={styles.footer}>
<StatusTag
<StatusTag
title={
<>
{
......@@ -70,7 +70,7 @@ const TodayAdd: React.FC<Iprops> = (props) => {
{item.percent} %
</>
}
}
type={item.percent >= 0 ? "success" : "danger"}
/>
<span>&nbsp;&nbsp;相比昨日</span>
......@@ -84,4 +84,4 @@ const TodayAdd: React.FC<Iprops> = (props) => {
)
}
export default TodayAdd
\ No newline at end of file
export default TodayAdd
......@@ -14,7 +14,7 @@
}
.sideAdBox{
height: 100px;
margin: 22px 0px 13px 0;
margin: 0px 0px 20px 0;
border-radius: 5px;
background-color: #6C9CEB;
position: relative;
......@@ -34,6 +34,29 @@
}
.members {
padding: 18px 24px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
border-bottom: 1px solid #F4F5F7;
// background: #F4F5F7;
.text {
font-weight: 500;
color: #303133;
font-size: 24px;
margin-bottom: 8px;
// padding-bottom: 8px;
}
.desc {
font-size: 12px;
font-weight: 400;
color: #909399;
}
}
// 适配
@media screen and (max-width: 1441px) {
.homeCard{
......@@ -59,4 +82,15 @@
}
}
}
}
\ No newline at end of file
}
@media (min-width: 1600px) {
.lastCard {
margin-top: 12px;
}
}
// @media (max-width: 1599px) {
// .lastCard___z6zQF {
// margin-top: 0px;
// }
// }
......@@ -46,7 +46,7 @@ const Home: React.FC<{}> = () => {
hasGetData: false,
loading: false,
})
/**
* 顶部新增统计
*/
......@@ -150,43 +150,39 @@ const Home: React.FC<{}> = () => {
{/* 会员统计 */}
<Space direction="vertical" style={{width:'100%'}}>
<Row gutter={[24, 12]}>
<Col span={18}>
<Col xxl={18} xl={24} lg={24}>
<MemberStatistics memberData={memberData} />
</Col>
<Col span={6}>
<Card
<Col xxl={6} xl={24} lg={24}>
<Card
headStyle={{borderBottom:'none'}}
title="待处理会员"
bodyStyle={{padding: '0px'}}
title="待处理会员"
bordered={false}
>
<Row>
<Col span={24}>
<List
itemLayout="horizontal"
className={styles.sideListBox}
>
{
processingMemberLoading
? [1,2].map((item) => {
return <Skeleton active key={item}></Skeleton>
})
: processingMembers.map((item: any, key: number) => {
return (
<List.Item
key={item.name}
actions={[<a key="list-loadmore-more">查看&nbsp;<RightOutlined /></a>]}
>
<List.Item.Meta
title={item.count.toString()}
description={<><Badge status={PROCESS_STATUS[key]} text={item.name}></Badge></>}
/>
</List.Item>
)
})
}
</List>
</Col>
<Col span={24}>
{
processingMemberLoading
? [1,2].map((item) => {
return <Skeleton active key={item}></Skeleton>
})
: processingMembers.map((item: any, key: number) => {
return (
<Col xxl={24} xl={12} md={12} sm={24} xs={24} key={key}>
<div className={styles.members}>
<div className={styles.numbers}>
<div className={styles.text}>2</div>
<div className={styles.desc}>
<Badge status={PROCESS_STATUS[key]} text={item.name}></Badge>
</div>
</div>
<div><a key="list-loadmore-more">查看&nbsp;<RightOutlined /></a></div>
</div>
</Col>
)
})
}
<Col span={24} style={{padding: '0 24px'}}>
<div className={styles.sideAdBox}>
<a href=""><span>会员维护&nbsp;<RightCircleFilled /></span></a>
<img src={sideIcon} alt=""/>
......@@ -201,8 +197,8 @@ const Home: React.FC<{}> = () => {
<div id="trade">
<Space direction="vertical" style={{width:'100%', height: '100%'}} >
<Row gutter={[24, 12]} style={{display: 'flex', flexDirection: 'row'}}>
<Col span={6} style={{display: 'flex', flexDirection: 'column'}}>
<Row style={{height: '100%'}}>
<Col xxl={6} xl={24} lg={24} md={24} sm={24} xs={24} style={{display: 'flex', flexDirection: 'column'}}>
<Row style={{height: '100%'}} gutter={[24, 12]}>
{
tradeStatus.loading
? [1,2].map((item) => {
......@@ -216,12 +212,13 @@ const Home: React.FC<{}> = () => {
})
: Object.keys(tradeAndSold).map((item, key) => {
return (
<Col span={24} style={key == 1 ? { marginTop: '18px', flex: 1} : {}} key={item}>
<Col xxl={24} xl={12} lg={12} md={24} sm={24} xs={24} key={item}>
<Card
headStyle={{borderBottom:'none'}}
title={item === 'afterSaleList' ? '待处理售后' : '待处理交易'}
title={item === 'afterSaleList' ? '待处理售后' : '待处理交易'}
bordered={false}
style={{height: '100%'}}
className={key == 1 ? styles.lastCard : ''}
>
<List
itemLayout="horizontal"
......@@ -242,7 +239,7 @@ const Home: React.FC<{}> = () => {
)
})
}
</List>
</Card>
</Col>
......@@ -251,7 +248,7 @@ const Home: React.FC<{}> = () => {
}
</Row>
</Col>
<Col span={18}>
<Col xxl={18} xl={24} lg={24}>
<div id="order">
<OrderStatistics orderData={orderData}/>
</div>
......@@ -265,12 +262,12 @@ const Home: React.FC<{}> = () => {
<StatisticsColumn loading={productStatus.loading} data={products} />
</Space>
</div>
{/* 付款提现统计 */}
<Space direction="vertical" style={{width:'100%'}}>
<Settlement />
</Space>
<Space direction="vertical" style={{width:'100%'}}>
<DataCenter />
</Space>
......@@ -282,4 +279,4 @@ const Home: React.FC<{}> = () => {
);
}
export default Home
\ No newline at end of file
export default Home
......@@ -65,7 +65,9 @@ const GoodsSetting: React.FC<GoodsSettingPropsType> = (props) => {
const fetchCategoryList = () => {
const param: any = {
categoryId: categoryid,
templateId: templateid
templateId: templateid,
current: 1,
pageSize: 100
}
PublicApi.getTemplatePlatformFindCategoryList(param).then(res => {
......@@ -329,7 +331,7 @@ const GoodsSetting: React.FC<GoodsSettingPropsType> = (props) => {
name="twoCategoryId"
className={styles.mar_bot_0}
>
<Select placeholder="品类" style={{ width: 180 }} onChange={handleSearch}>
<Select placeholder="品类" allowClear style={{ width: 180 }} onChange={handleSearch}>
{
categoryResponseList.map((item, index) => <Select.Option key={`select_category_item_${index}`} value={item.categoryId}>{item.categoryName}</Select.Option>)
}
......@@ -341,7 +343,7 @@ const GoodsSetting: React.FC<GoodsSettingPropsType> = (props) => {
name="brandId"
className={styles.mar_bot_0}
>
<Select placeholder="品牌" style={{ width: 180 }} onChange={handleSearch}>
<Select placeholder="品牌" allowClear style={{ width: 180 }} onChange={handleSearch}>
{
noSelectBrands.map((item, index) => (<Select.Option key={`select_brand_item_${index}`} value={item.brandId}>{item.brandName}</Select.Option>))
}
......
......@@ -49,8 +49,10 @@ const TemplateDetail: React.FC<TemplateDetailPropsType> = (props) => {
}, [])
const fetchDetail = () => {
//@ts-ignore
PublicApi.getTemplatePlatformFindTemplateDetails({ id }).then(res => {
const param: any = {
id
}
PublicApi.getTemplatePlatformFindTemplateDetails(param).then(res => {
if (res.code === 1000) {
setDetailInfo(res.data)
}
......@@ -85,11 +87,10 @@ const TemplateDetail: React.FC<TemplateDetailPropsType> = (props) => {
const confirmShelfShop = (shelf: number) => {
return new Promise((resolve) => {
let param = {
const param = {
id,
shelf
}
//@ts-ignore
PublicApi.postTemplatePlatformShelfTemplate(param).then(res => {
fetchDetail()
resolve()
......@@ -99,10 +100,9 @@ const TemplateDetail: React.FC<TemplateDetailPropsType> = (props) => {
const confirmUseTemplate = () => {
return new Promise((resolve) => {
let param = {
const param: any = {
id: Number(id),
}
//@ts-ignore
PublicApi.postTemplatePlatformUseTemplate(param).then(res => {
fetchDetail()
resolve()
......@@ -145,7 +145,7 @@ const TemplateDetail: React.FC<TemplateDetailPropsType> = (props) => {
<div className={styles.template_detail}>
<div className={styles.template_info_wrap}>
<div className={styles.template_img_box}>
<div className={cx(styles.type_tag)}>PC</div>
<div className={cx(styles.type_tag)}>{detailInfo?.environment && Environment_Status[detailInfo?.environment].name}</div>
<img src={detailInfo?.templatePicUrl} />
</div>
<div className={styles.template_info}>
......@@ -219,7 +219,7 @@ const TemplateDetail: React.FC<TemplateDetailPropsType> = (props) => {
<UseModal
title="使用商场模板"
visible={useModalVisible}
onOk={() => { }}
onOk={() => { console.log() }}
type={type}
onCancel={() => setUseModalVisible(false)}
/>
......
......@@ -20,7 +20,6 @@ const getConfigMap = (tokens) => tokens.map(v => ({
enabled: false,
},
outputFilePath: `src/services/${v.name}Api`,
requestFunctionFilePath: 'request.ts',
dataKey: 'data',
projects: [
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment