提交 72aefa21 作者: 龚洪江

功能:数据看板接口联调/

上级 c7caed61
......@@ -55,42 +55,42 @@ export type userJoinReportDataType = InterFunction<
/**
* 品牌商
*/
brandStore?: number;
brandStore: number;
/**
* 入驻商家总数
*/
joinStoreCount?: number;
joinStoreCount: number;
/**
* 出租商品
*/
leaseProduct?: number;
leaseProduct: number;
/**
* 租赁商
*/
leaseStore?: number;
leaseStore: number;
/**
* 在线课程
*/
onlineCourse?: number;
onlineCourse: number;
/**
* 维修商
*/
repairStore?: number;
repairStore: number;
/**
* 销售商品
*/
saleProduct?: number;
saleProduct: number;
/**
* 服务商品
*/
serviceProduct?: number;
serviceProduct: number;
/**
* 服务商
*/
serviceStore?: number;
serviceStore: number;
/**
* 培训机构
*/
trainingInstitution?: number;
trainingInstitution: number;
}
>;
......@@ -9,10 +9,10 @@ export class DataDashboardsAPI {
// 数据看板-用户概况
static getUserReportData: userReportDataType = () =>
axios.get('/userapp/user/report/getUserReportData');
// 数据看板-信息发布
// 数据看板-信息发布
static getReleaseReportData: releaseReportDataType = () =>
axios.get('/release/release/report/getReleaseReportData');
// 数据看板-加盟信息
axios.get('/release/report/getReleaseReportData');
// 数据看板-加盟信息
static getUserJoinReportData: userJoinReportDataType = () =>
axios.get('/pms/product/report/getUserReportData');
axios.get('/pms/product/report/getProductReportData');
}
......@@ -67,14 +67,14 @@ $design_height:856;
.progress-item{
display: flex;
align-items: center;
justify-content: space-between;
&-label{
font-size: 1.2rem;
color: #707070;
font-weight: bold;
}
&-info{
flex: 1;
margin: 0 36px 0 24px;
width: toVw(200,$design_width);
}
&-value{
font-size: 1.67rem;
......
......@@ -9,17 +9,48 @@ import { userJoinReportDataType } from '~/api/interface/dataDashboardsType';
type joinReportDataType = InterDataType<userJoinReportDataType>;
const JoinInfo = () => {
const [joinReportDataType, setJoinReportDataType] = useState<joinReportDataType>();
const [listingProducts, setListingProducts] = useState<{ label: string; value: number }[]>([]);
// 上架商品总数
const [totalCount, setTotalCount] = useState<number>(0);
// 数据看板-加盟信息
const getUserJoinReportData = () => {
DataDashboardsAPI.getUserJoinReportData().then(({ result }) => {
if (result) {
setJoinReportDataType(result);
setTotalCount(
result.leaseProduct + result.onlineCourse + result.saleProduct + result.serviceProduct,
);
setListingProducts([
{
label: '售卖商品',
value: result.saleProduct,
},
{
label: '出租商品',
value: result.leaseProduct,
},
{
label: '服务商品',
value: result.serviceProduct,
},
{
label: '在线课程',
value: result.onlineCourse,
},
]);
initEchartsPie([
{ value: result.brandStore, name: '品牌商' },
{ value: result.repairStore, name: '维修商' },
{ value: result.trainingInstitution, name: '培训机构' },
{ value: result.serviceStore, name: '服务商' },
{ value: result.leaseStore, name: '租赁商' },
]);
}
});
};
// 初始化饼图
const initEchartsPie = () => {
const initEchartsPie = (data: { value: number; name: string }[]) => {
const myChart = echarts.init(document.getElementById('pie'));
myChart.setOption({
tooltip: {
......@@ -38,13 +69,7 @@ const JoinInfo = () => {
},
},
},
data: [
{ value: 40, name: '品牌商' },
{ value: 38, name: '维修商' },
{ value: 32, name: '培训机构' },
{ value: 30, name: '服务商' },
{ value: 28, name: '租赁商' },
],
data,
},
],
});
......@@ -54,7 +79,6 @@ const JoinInfo = () => {
};
useEffect(() => {
initEchartsPie();
getUserJoinReportData();
}, []);
return (
......@@ -74,18 +98,22 @@ const JoinInfo = () => {
<div className='card-header'>
<div className='card-header-icon'></div>
<div className='card-header-title'>上架商品 (SKU)</div>
<div className='sku-count'>2400</div>
<div className='sku-count'>{totalCount}</div>
</div>
<div className='card-progress'>
<div className='progress-item'>
<div className='progress-item-label'>售卖商品</div>
<div className='progress-item-info'>
<Progress percent={30} strokeColor='#F4872A' showInfo={false} />
{listingProducts.map((v, i) => (
<div className='progress-item' key={i}>
<div className='progress-item-label'>{v.label}</div>
<div className='progress-item-info'>
<Progress
percent={(v.value / totalCount) * 100}
strokeColor='#F4872A'
showInfo={false}
/>
</div>
<div className='progress-item-value'>{v.value}</div>
</div>
<div className='progress-item-value'>122</div>
</div>
<div className='progress-item'></div>
<div className='progress-item'></div>
))}
</div>
</div>
</div>
......
......@@ -18,6 +18,7 @@ import UploadPayment from '~/pages/orderManage/procurementOrder/orderList/compon
import ApprovalOrder from '~/components/order/productOrder/approvalOrder';
import ShipmentsOrder from '~/components/order/productOrder/shipmentsOrder';
import RemarkModal from './components/remarkModal';
import { useSelector } from 'react-redux';
import { CommentOutlined } from '@ant-design/icons';
......
......@@ -437,7 +437,10 @@ function ProductOrderView() {
searchData={onFinish}
sufFixBtn={
<>
{tranStatusList?.map((i, j) => {
{(userInfo.companyInfoVO.companyType === 0
? tranStatusList
: tranStatusList.filter((v) => ![200, 300, 420].includes(v.value as number))
)?.map((i, j) => {
return (
<Button
key={j}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论