Commit 6c7241c1 authored by 前端-许佳敏's avatar 前端-许佳敏
parents ee04d6a4 ac38c1ed
......@@ -178,11 +178,17 @@ export function onRouteChange({ routes, matchedRoutes, location, action }) {
if (whiteLists.includes(location.pathname)) {
return
}
const authInfo = getAuth()
// 是否登录
if (getAuth()) {
if (authInfo) {
const routeAuthUrls = getRouters()
let routeAuthUrls = getRouters()
if (!routeAuthUrls || routeAuthUrls.length === 0) {
const { urls } = authInfo
routeAuthUrls = urls
setRouters(urls)
}
const { pathname } = location
if (userLoginLists.includes(pathname)) {
// 当登录过, 并且尝试访问登录相关页面, 需重定向到首页
......@@ -207,7 +213,7 @@ export function onRouteChange({ routes, matchedRoutes, location, action }) {
return;
}
// 无权限访问时
console.log(pathname)
// console.log(pathname)
history.replace('/memberCenter/noAuth')
} else {
if (whiteLists.includes(location.pathname)) {
......
import React, { useState, useEffect, useCallback, useRef } from 'react'
import { CaretUpOutlined, CaretDownOutlined, UnorderedListOutlined, AppstoreOutlined, CloseOutlined, QuestionCircleOutlined } from '@ant-design/icons'
import React, { useState, useEffect } from 'react'
import { CaretUpOutlined, CaretDownOutlined, UnorderedListOutlined, AppstoreOutlined, CloseOutlined } from '@ant-design/icons'
import Filter from '../components/Filter'
import { FILTER_TYPE } from '@/constants'
import cx from 'classnames'
......@@ -13,7 +13,7 @@ import { store } from '@/store'
import { PublicApi } from '@/services/api'
import { LAYOUT_TYPE } from '@/constants'
import { PostSearchShopEnterpriseGetCommodityListResponseDetail } from '@/services/SearchApi'
import bannerImg from '@/assets/imgs/banner_2.png'
// import bannerImg from '@/assets/imgs/banner_2.png'
import arrowDownIcon from '@/assets/imgs/arrow_down.png'
import arrowDownActiveIcon from '@/assets/imgs/arrow_down_active.png'
import styles from './index.less'
......
......@@ -147,12 +147,13 @@
color: #303133;
text-align: left;
margin-top: 12px;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
// display: -webkit-box;
// -webkit-box-orient: vertical;
// -webkit-line-clamp: 2;
text-overflow: ellipsis;
overflow: hidden;
-webkit-box-orient: vertical;
white-space: nowrap;
// -webkit-box-orient: vertical;
word-wrap: break-word;
word-break: break-all;
}
......
import React from 'react'
import noResultIcon from '@/assets/imgs/no_result_icon.png'
import styles from './index.less'
interface ErrorResultPropsType {
errorMessage: string
}
const ErrorResult: React.FC<ErrorResultPropsType> = (props) => {
const { errorMessage } = props
return (
<div className={styles.no_result_container}>
<div className={styles.no_result}>
<div className={styles.no_result_tip}>
<div className={styles.no_result_tip_img}>
<img src={noResultIcon} />
</div>
<div className={styles.no_result_tip_text}>
{ errorMessage }
</div>
</div>
<div className={styles.no_result_suggest}>
<ul className={styles.no_result_suggest_list}>
<li>出现的可能原因:</li>
<li>1、管理员冻结了该商品</li>
<li>2、商品链接出现错误</li>
</ul>
</div>
</div>
</div>
)
}
export default ErrorResult
\ No newline at end of file
......@@ -363,3 +363,57 @@
}
}
}
.no_result_container {
width: 1200px;
margin: 0 auto;
}
.no_result {
width: 300px;
margin: 0 auto;
padding: 200px 0;
&_tip {
font-size: 14px;
color: #D32F2F;
font-weight: 500;
display: flex;
&_text {
line-height: 30px;
}
&_search {
color: #303133;
}
&_img {
width: 30px;
height: 30px;
overflow: hidden;
margin-right: 16px;
&>img {
width: 30px;
height: 30px;
}
}
}
&_suggest {
margin-top: 12px;
font-size: 12px;
color: #909399;
padding-left: 46px;
&_list {
padding: 0;
margin: 0;
&>li {
list-style: none;
}
}
}
}
\ No newline at end of file
import React, { useState, useEffect, ReactNode } from 'react'
import React, { useState, useEffect } from 'react'
import { QuestionCircleOutlined } from '@ant-design/icons'
import { Tooltip, message, Button } from 'antd'
import { Tooltip, message, Button, Spin } from 'antd'
import cx from 'classnames'
import { history } from 'umi'
import DialogModal from '../components/DialogModal'
......@@ -20,6 +20,7 @@ import { numFormat, priceFormat } from '@/utils/numberFomat'
import jinhuodanIcon from '@/assets/imgs/jinhuodan.png'
import styles from './index.less'
import { GlobalConfig } from '@/global/config'
import ErrorResult from './error'
import { isEmpty } from 'lodash'
import { LAYOUT_TYPE, COMMODITY_TYPE, OrderModalType } from '@/constants'
......@@ -75,6 +76,8 @@ const CommodityDetail = (props) => {
const [purchaseCount, setPurchaseCount] = useState<number>(0)
const [payWayList, setPayWayList] = useState([])
const [commonCategoryCommodityList, setCommonCategoryCommodityList] = useState([])
const [spinLoading, setSpinLoading] = useState<boolean>(true)
const [errorInfo, setErrorInfo] = useState<any>()
let clickFlag = true
......@@ -186,6 +189,7 @@ const CommodityDetail = (props) => {
getDetailFn && getDetailFn(params, { headers }).then(res => {
if (res.code === 1000) {
setErrorInfo(null)
setCommodityDetail(res.data)
initAttributeAndValueList(res.data)
getPayWayListByMemberId(res.data?.memberId)
......@@ -199,7 +203,9 @@ const CommodityDetail = (props) => {
}
} else {
message.info(res.message)
setErrorInfo(res.message)
}
setSpinLoading(false)
})
}
......@@ -856,7 +862,10 @@ const CommodityDetail = (props) => {
}
return (
<Spin spinning={spinLoading}>
<div className={styles.commodity_detail}>
{
!errorInfo ? (
<div className={styles.commodity_detail_container}>
<div className={styles.commodity_detail_info}>
<Exhibition layoutType={layoutType} shopInfo={shopInfo} priceType={commodityDetail?.priceType} imgList={commodityImgList} commodityDetail={commodityDetail} />
......@@ -1034,6 +1043,8 @@ const CommodityDetail = (props) => {
</div>
</div>
</div>
) : <ErrorResult errorMessage={errorInfo} />
}
<DialogModal
title="添加成功"
visible={addSuccessVisible}
......@@ -1057,6 +1068,7 @@ const CommodityDetail = (props) => {
<InterestedCommodity dataList={commonCategoryCommodityList} {...props} />
</DialogModal>
</div>
</Spin>
)
}
......
......@@ -30,7 +30,7 @@ const PopularShops: React.FC<PopularShopsPropsType> = (props) => {
<div className={styles.popular_shops_list}>
{
shopList && shopList.map((item, index) => index <=5 && (
<div className={styles.popular_shops_list_item}>
<div className={styles.popular_shops_list_item} key={item.memberShopId}>
<div className={styles.popular_shops_rank}>0{index+1}</div>
<div className={styles.popular_shops_logo}>
<ImageBox width={36} height={36} imgUrl={item.memberLogo} />
......
......@@ -48,7 +48,7 @@ const ShoppingNews: React.FC = () => {
</div>
<div className={styles.popular_buy_dynamic_list_item_content}>
<span className={styles.content_text}>{item.count || 0}条回应</span>
<span className={styles.content_time}>{moment(item.deliveryTime).format("MM/DD HH:mm")}</span>
<span className={styles.content_time}>{moment(item.deliveryTime || "").format("MM/DD HH:mm")}</span>
</div>
</div>
))
......
......@@ -195,6 +195,7 @@ const Order: React.FC<OrderPropsType> = (props) => {
if (orderItem.logistics?.deliveryType === 1 && orderItem.logistics?.carriageType === 2 && orderItem.logistics?.useTemplate && templateId) {
orderProductList.push({
templateId,
count: orderItem.count,
weight: orderItem.logistics?.weight,
})
}
......
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