|
@@ -1,4 +1,4 @@
|
|
|
-import React, { useEffect, useMemo, useState } from 'react'
|
|
|
+import React, { useEffect, useMemo, useRef, useState } from 'react'
|
|
|
import styles from './index.module.scss'
|
|
|
import { A2RrBtnType, myInfo1, MyInfo1Type } from '../data'
|
|
|
import classNames from 'classnames'
|
|
@@ -19,12 +19,40 @@ function A2info({ acKey, closeFu }: Props) {
|
|
|
// 筛选出选中的数据
|
|
|
const dataRes = useMemo(() => {
|
|
|
let obj = {} as MyInfo1Type
|
|
|
- if (tabAc) obj = myInfo1.find(v => v.title === tabAc)!
|
|
|
+ if (tabAc) obj = { ...myInfo1.find(v => v.title === tabAc)! }
|
|
|
+ if (obj.text) {
|
|
|
+ const objSon: any = { ...obj.text }
|
|
|
+
|
|
|
+ let arr: { key: string; value: string }[] = []
|
|
|
+ for (const k in objSon) {
|
|
|
+ arr.push({ key: k, value: objSon[k] })
|
|
|
+ }
|
|
|
+ obj.text = arr
|
|
|
+ }
|
|
|
+
|
|
|
return obj
|
|
|
}, [tabAc])
|
|
|
|
|
|
+ const [lookImg, setLookImg] = useState('')
|
|
|
+
|
|
|
+ const sorrlDom = useRef<HTMLDivElement>(null)
|
|
|
+
|
|
|
+ useEffect(() => {
|
|
|
+ if (sorrlDom.current) {
|
|
|
+ sorrlDom.current.scrollTo({ top: 0, behavior: 'smooth' })
|
|
|
+ }
|
|
|
+ }, [tabAc])
|
|
|
+
|
|
|
return (
|
|
|
<div className={styles.A2info} id='pageShow'>
|
|
|
+ <ImageViewer
|
|
|
+ image={lookImg}
|
|
|
+ visible={!!lookImg}
|
|
|
+ onClose={() => {
|
|
|
+ setLookImg('')
|
|
|
+ }}
|
|
|
+ />
|
|
|
+
|
|
|
{/* 返回按钮 */}
|
|
|
<img
|
|
|
onClick={closeFu}
|
|
@@ -38,28 +66,50 @@ function A2info({ acKey, closeFu }: Props) {
|
|
|
className='A2Itop'
|
|
|
style={{ backgroundImage: `url(${serverUrl}show/info/bac.png)` }}
|
|
|
>
|
|
|
- {/* 图片 */}
|
|
|
- {dataRes.imgArr && dataRes.imgArr.length ? (
|
|
|
- <div className='A2It1'>
|
|
|
- <Swiper slideSize={80} trackOffset={10} stuckAtBoundary={false}>
|
|
|
- {dataRes.imgArr.map(item => (
|
|
|
- <Swiper.Item
|
|
|
- key={item}
|
|
|
- onClick={() => {
|
|
|
- ImageViewer.show({ image: serverUrl + item })
|
|
|
- }}
|
|
|
- >
|
|
|
- <Image
|
|
|
- src={`${serverUrl}${item}`}
|
|
|
- height={180}
|
|
|
- lazy
|
|
|
- fit='cover'
|
|
|
- placeholder={<div className='imLoing'>加载中...</div>}
|
|
|
- />
|
|
|
- </Swiper.Item>
|
|
|
- ))}
|
|
|
- </Swiper>
|
|
|
- </div>
|
|
|
+ {dataRes.id ? (
|
|
|
+ <>
|
|
|
+ {/* 图片 */}
|
|
|
+ {dataRes.imgArr && dataRes.imgArr.length ? (
|
|
|
+ <div className='A2It1'>
|
|
|
+ <Swiper slideSize={80} trackOffset={10} stuckAtBoundary={false}>
|
|
|
+ {dataRes.imgArr.map(item => (
|
|
|
+ <Swiper.Item key={item} onClick={() => setLookImg(serverUrl + item)}>
|
|
|
+ <Image
|
|
|
+ src={`${serverUrl}${item}`}
|
|
|
+ height={180}
|
|
|
+ lazy
|
|
|
+ fit='cover'
|
|
|
+ placeholder={<div className='imLoing'>加载中...</div>}
|
|
|
+ />
|
|
|
+ </Swiper.Item>
|
|
|
+ ))}
|
|
|
+ </Swiper>
|
|
|
+ </div>
|
|
|
+ ) : null}
|
|
|
+
|
|
|
+ {/* 下面文字 */}
|
|
|
+ <div
|
|
|
+ ref={sorrlDom}
|
|
|
+ className={classNames(
|
|
|
+ 'A2Itxt',
|
|
|
+ dataRes.imgArr && dataRes.imgArr.length ? 'A2ItxtBan' : ''
|
|
|
+ )}
|
|
|
+ >
|
|
|
+ {dataRes.text &&
|
|
|
+ dataRes.text.map(item => (
|
|
|
+ <div className='A2ItxtRow' key={item.key}>
|
|
|
+   
|
|
|
+ <span className='A2ItxtRow1'>{item.key}</span>:
|
|
|
+ <span dangerouslySetInnerHTML={{ __html: item.value }}></span>
|
|
|
+ </div>
|
|
|
+ ))}
|
|
|
+
|
|
|
+ <div
|
|
|
+ className='A2ItxtRow'
|
|
|
+ dangerouslySetInnerHTML={{ __html: dataRes.otherTxt }}
|
|
|
+ ></div>
|
|
|
+ </div>
|
|
|
+ </>
|
|
|
) : null}
|
|
|
</div>
|
|
|
|