|
@@ -5,6 +5,7 @@ import { GoodsKeyType, GoodsType } from '@/types'
|
|
|
import classNames from 'classnames'
|
|
|
import HotInfo from './HotInfo'
|
|
|
import tDimg from '@/assets/img/more/3D.png'
|
|
|
+import LazyImg from '@/components/LazyImg'
|
|
|
|
|
|
const txtBg = {
|
|
|
全部: 'more/txtBg/1quanbu.png',
|
|
@@ -118,72 +119,77 @@ function S3goods({ hidden }: Props) {
|
|
|
className={styles.S3goods}
|
|
|
style={{ backgroundImage: `url(${baseURL + data.bg})`, zIndex: openInfo.name ? 50 : 1 }}
|
|
|
>
|
|
|
- <div className='S3main' hidden={!!openInfo.name}>
|
|
|
- {listAll.map((item1, index1) => (
|
|
|
- <div className={classNames('S3row', key === item1.name ? 'S3rowShow' : '')} key={index1}>
|
|
|
- {/* 一直有的 */}
|
|
|
+ {hidden ? null : (
|
|
|
+ <div className='S3main' hidden={!!openInfo.name}>
|
|
|
+ {listAll.map((item1, index1) => (
|
|
|
<div
|
|
|
- onClick={() => setKey(item1.name)}
|
|
|
- className='S3rowTit'
|
|
|
- style={{ backgroundImage: `url(${baseURL + Reflect.get(txtBg, item1.name)})` }}
|
|
|
+ className={classNames('S3row', key === item1.name ? 'S3rowShow' : '')}
|
|
|
+ key={index1}
|
|
|
>
|
|
|
- <div>{item1.name}</div>
|
|
|
- </div>
|
|
|
- {/* 展开的 */}
|
|
|
- <div
|
|
|
- className='S3rowZhan'
|
|
|
- style={{ cursor: isFlag ? 'move' : 'pointer' }}
|
|
|
- ref={key === item1.name ? sroolRef : null}
|
|
|
- onMouseDown={e => {
|
|
|
- pageXRef.current = e.pageX
|
|
|
- setIsFlag(true)
|
|
|
- }}
|
|
|
- onMouseUp={onMouseUpFu}
|
|
|
- onMouseLeave={() => setIsFlag(false)}
|
|
|
- onMouseMove={e => mousemoveFu(e)}
|
|
|
- onWheel={e => mousemoveFu(e, true)}
|
|
|
- >
|
|
|
- <div className='S3rowZhanSon' style={{ width: item1.info.length * 38 + 'px' }}>
|
|
|
- {item1.info.map((item2, index2) => (
|
|
|
- <div
|
|
|
- onClick={() => {
|
|
|
- if (clickFlag.current) setOpenInfo(item2)
|
|
|
- }}
|
|
|
- className='S3zRow sizeNo'
|
|
|
- key={index2}
|
|
|
- style={{ backgroundImage: `url(${row2Bac(index2)})` }}
|
|
|
- >
|
|
|
- {nmaeResFu(item2.name)}
|
|
|
- {item2.type === 'model' ? <img className='tDbiao' src={tDimg} alt='' /> : ''}
|
|
|
-
|
|
|
- {/* 上下的线 */}
|
|
|
- {index2 < item1.info.length - 1 ? (
|
|
|
- <>
|
|
|
- <img className='S3zRxian' src={baseURL + 'more/moreXian.png'} alt='' />
|
|
|
- <img
|
|
|
- className='S3zRxian S3zRxian2'
|
|
|
- src={baseURL + 'more/moreXian.png'}
|
|
|
- alt=''
|
|
|
- />
|
|
|
- </>
|
|
|
- ) : null}
|
|
|
-
|
|
|
- {/* 右下角图片 */}
|
|
|
-
|
|
|
- <div className='S3zRimg'>
|
|
|
- {item2.type === 'img' ? (
|
|
|
- <img src={baseURL + item2.inSrc} alt='' />
|
|
|
- ) : (
|
|
|
- <img src={baseURL + item2.suoSrc} alt='' />
|
|
|
- )}
|
|
|
+ {/* 一直有的 */}
|
|
|
+ <div
|
|
|
+ onClick={() => setKey(item1.name)}
|
|
|
+ className='S3rowTit'
|
|
|
+ style={{ backgroundImage: `url(${baseURL + Reflect.get(txtBg, item1.name)})` }}
|
|
|
+ >
|
|
|
+ <div>{item1.name}</div>
|
|
|
+ </div>
|
|
|
+ {/* 展开的 */}
|
|
|
+ <div
|
|
|
+ className='S3rowZhan'
|
|
|
+ style={{ cursor: isFlag ? 'move' : 'pointer' }}
|
|
|
+ ref={key === item1.name ? sroolRef : null}
|
|
|
+ onMouseDown={e => {
|
|
|
+ pageXRef.current = e.pageX
|
|
|
+ setIsFlag(true)
|
|
|
+ }}
|
|
|
+ onMouseUp={onMouseUpFu}
|
|
|
+ onMouseLeave={() => setIsFlag(false)}
|
|
|
+ onMouseMove={e => mousemoveFu(e)}
|
|
|
+ onWheel={e => mousemoveFu(e, true)}
|
|
|
+ >
|
|
|
+ <div className='S3rowZhanSon' style={{ width: item1.info.length * 38 + 'px' }}>
|
|
|
+ {item1.info.map((item2, index2) => (
|
|
|
+ <div
|
|
|
+ onClick={() => {
|
|
|
+ if (clickFlag.current) setOpenInfo(item2)
|
|
|
+ }}
|
|
|
+ className='S3zRow sizeNo'
|
|
|
+ key={index2}
|
|
|
+ style={{ backgroundImage: `url(${row2Bac(index2)})` }}
|
|
|
+ >
|
|
|
+ {nmaeResFu(item2.name)}
|
|
|
+ {item2.type === 'model' ? <img className='tDbiao' src={tDimg} alt='' /> : ''}
|
|
|
+
|
|
|
+ {/* 上下的线 */}
|
|
|
+ {index2 < item1.info.length - 1 ? (
|
|
|
+ <>
|
|
|
+ <img className='S3zRxian' src={baseURL + 'more/moreXian.png'} alt='' />
|
|
|
+ <img
|
|
|
+ className='S3zRxian S3zRxian2'
|
|
|
+ src={baseURL + 'more/moreXian.png'}
|
|
|
+ alt=''
|
|
|
+ />
|
|
|
+ </>
|
|
|
+ ) : null}
|
|
|
+
|
|
|
+ {/* 右下角图片 */}
|
|
|
+
|
|
|
+ <div className='S3zRimg'>
|
|
|
+ {item2.type === 'img' ? (
|
|
|
+ <LazyImg src={baseURL + item2.inSrc} />
|
|
|
+ ) : (
|
|
|
+ <LazyImg src={baseURL + item2.suoSrc} />
|
|
|
+ )}
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- ))}
|
|
|
+ ))}
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
- ))}
|
|
|
- </div>
|
|
|
+ ))}
|
|
|
+ </div>
|
|
|
+ )}
|
|
|
|
|
|
{/* 打开热点详情 */}
|
|
|
{openInfo.name ? (
|