|
@@ -8,6 +8,7 @@ import { MessageFu } from '@/utils/message'
|
|
|
import { A5typeSelectType } from '../data'
|
|
import { A5typeSelectType } from '../data'
|
|
|
import ZupOne from '@/components/ZupOne'
|
|
import ZupOne from '@/components/ZupOne'
|
|
|
import MyPopconfirm from '@/components/MyPopconfirm'
|
|
import MyPopconfirm from '@/components/MyPopconfirm'
|
|
|
|
|
+import ZupTypes from '@/components/ZupTypes'
|
|
|
|
|
|
|
|
type Props = {
|
|
type Props = {
|
|
|
txt: AddTxtType
|
|
txt: AddTxtType
|
|
@@ -18,32 +19,66 @@ type Props = {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
function A5add({ txt, _id, closeFu, addTableFu, editTableFu }: Props) {
|
|
function A5add({ txt, _id, closeFu, addTableFu, editTableFu }: Props) {
|
|
|
|
|
+ const infoRef = useRef<any>({})
|
|
|
|
|
+
|
|
|
const FormBoxRef = useRef<FormInstance>(null)
|
|
const FormBoxRef = useRef<FormInstance>(null)
|
|
|
// 封面图的ref
|
|
// 封面图的ref
|
|
|
const ZupThumbRef = useRef<any>(null)
|
|
const ZupThumbRef = useRef<any>(null)
|
|
|
|
|
+
|
|
|
|
|
+ // 视频的ref
|
|
|
const ZupVideoRef = useRef<any>(null)
|
|
const ZupVideoRef = useRef<any>(null)
|
|
|
|
|
|
|
|
- const getInfoFu = useCallback(async (_id: string) => {
|
|
|
|
|
- const res = await A5_APIgetInfo(_id)
|
|
|
|
|
- if (res.code === 0) {
|
|
|
|
|
- const info = res.data
|
|
|
|
|
|
|
+ // 文档的ref
|
|
|
|
|
+ const ZupDocRef = useRef<any>(null)
|
|
|
|
|
|
|
|
- if (info.releaseDate) info.releaseDate = dayjs(info.releaseDate)
|
|
|
|
|
|
|
+ // 图片的ref
|
|
|
|
|
+ const ZupImgRef = useRef<any>(null)
|
|
|
|
|
|
|
|
- FormBoxRef.current?.setFieldsValue(info)
|
|
|
|
|
|
|
+ const [type, setType] = useState('')
|
|
|
|
|
+
|
|
|
|
|
+ useEffect(() => {
|
|
|
|
|
+ if (type) {
|
|
|
// 设置封面图
|
|
// 设置封面图
|
|
|
ZupThumbRef.current?.setFileComFileFu({
|
|
ZupThumbRef.current?.setFileComFileFu({
|
|
|
originalName: '',
|
|
originalName: '',
|
|
|
- originalUrl: info.cover,
|
|
|
|
|
- compressedUrl: info.coverSmall
|
|
|
|
|
|
|
+ originalUrl: infoRef.current.cover || '',
|
|
|
|
|
+ compressedUrl: infoRef.current.coverSmall || ''
|
|
|
})
|
|
})
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ if (type === '视频素材') {
|
|
|
// 设置视频
|
|
// 设置视频
|
|
|
ZupVideoRef.current?.setFileComFileFu({
|
|
ZupVideoRef.current?.setFileComFileFu({
|
|
|
- originalName: info.videoName,
|
|
|
|
|
- originalUrl: info.videoUrl,
|
|
|
|
|
|
|
+ originalName: infoRef.current.videoName || '',
|
|
|
|
|
+ originalUrl: infoRef.current.videoUrl || '',
|
|
|
|
|
+ compressedUrl: ''
|
|
|
|
|
+ })
|
|
|
|
|
+ } else if (type === '图片资料') {
|
|
|
|
|
+ // 设置附件类型
|
|
|
|
|
+ ZupImgRef.current?.setFileComFileFu({
|
|
|
|
|
+ type: ['img'],
|
|
|
|
|
+ fileList: infoRef.current.fileDetails || []
|
|
|
|
|
+ })
|
|
|
|
|
+ } else if (type === '档案文件') {
|
|
|
|
|
+ // 设置文档
|
|
|
|
|
+ ZupDocRef.current?.setFileComFileFu({
|
|
|
|
|
+ originalName: infoRef.current.docName || '',
|
|
|
|
|
+ originalUrl: infoRef.current.docUrl || '',
|
|
|
compressedUrl: ''
|
|
compressedUrl: ''
|
|
|
})
|
|
})
|
|
|
}
|
|
}
|
|
|
|
|
+ }, [type])
|
|
|
|
|
+
|
|
|
|
|
+ const getInfoFu = useCallback(async (_id: string) => {
|
|
|
|
|
+ const res = await A5_APIgetInfo(_id)
|
|
|
|
|
+ if (res.code === 0) {
|
|
|
|
|
+ const info = res.data
|
|
|
|
|
+ infoRef.current = info
|
|
|
|
|
+ setType(info.type)
|
|
|
|
|
+ if (info.releaseDate) info.releaseDate = dayjs(info.releaseDate)
|
|
|
|
|
+
|
|
|
|
|
+ FormBoxRef.current?.setFieldsValue(info)
|
|
|
|
|
+ }
|
|
|
}, [])
|
|
}, [])
|
|
|
|
|
|
|
|
useEffect(() => {
|
|
useEffect(() => {
|
|
@@ -64,24 +99,69 @@ function A5add({ txt, _id, closeFu, addTableFu, editTableFu }: Props) {
|
|
|
const onFinish = useCallback(
|
|
const onFinish = useCallback(
|
|
|
async (values: any) => {
|
|
async (values: any) => {
|
|
|
setFileCheck(true)
|
|
setFileCheck(true)
|
|
|
- // 封面图
|
|
|
|
|
- const coverUrl = ZupThumbRef.current?.fileComFileResFu()
|
|
|
|
|
- if (!coverUrl.originalUrl) return MessageFu.warning('请上传封面图')
|
|
|
|
|
|
|
|
|
|
- // 视频
|
|
|
|
|
- const videoUrl = ZupVideoRef.current?.fileComFileResFu()
|
|
|
|
|
- if (!videoUrl.originalUrl) return MessageFu.warning('请上传视频')
|
|
|
|
|
|
|
+ let cover = ''
|
|
|
|
|
+ let coverSmall = ''
|
|
|
|
|
+
|
|
|
|
|
+ if (type && type !== '图片资料') {
|
|
|
|
|
+ // 封面图
|
|
|
|
|
+ const coverUrl = ZupThumbRef.current?.fileComFileResFu()
|
|
|
|
|
+ if (!coverUrl.originalUrl) return MessageFu.warning('请上传封面图')
|
|
|
|
|
+ cover = coverUrl.originalUrl || ''
|
|
|
|
|
+ coverSmall = coverUrl.compressedUrl || ''
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ let videoUrl = ''
|
|
|
|
|
+ let videoName = ''
|
|
|
|
|
+
|
|
|
|
|
+ let docUrl = ''
|
|
|
|
|
+ let docName = ''
|
|
|
|
|
+
|
|
|
|
|
+ let fileIds = []
|
|
|
|
|
+
|
|
|
|
|
+ if (type === '视频素材') {
|
|
|
|
|
+ const videoUrlObj = ZupVideoRef.current?.fileComFileResFu()
|
|
|
|
|
+ if (!videoUrlObj.originalUrl) return MessageFu.warning('请上传视频')
|
|
|
|
|
+ videoUrl = videoUrlObj.originalUrl || ''
|
|
|
|
|
+ videoName = videoUrlObj.originalName || ''
|
|
|
|
|
+ } else if (type === '图片资料') {
|
|
|
|
|
+ // 文件类型
|
|
|
|
|
+ const {
|
|
|
|
|
+ sonIsOk,
|
|
|
|
|
+ sonFileIds,
|
|
|
|
|
+ cover: cover2,
|
|
|
|
|
+ coverSmall: coverSmall2
|
|
|
|
|
+ } = ZupImgRef.current?.fileComFileResFu()
|
|
|
|
|
+ if (sonIsOk) return MessageFu.warning('请上传图片')
|
|
|
|
|
+ cover = cover2
|
|
|
|
|
+ coverSmall = coverSmall2
|
|
|
|
|
+ fileIds = sonFileIds || []
|
|
|
|
|
+ } else if (type === '档案文件') {
|
|
|
|
|
+ const docUrlObj = ZupDocRef.current?.fileComFileResFu()
|
|
|
|
|
+ if (!docUrlObj.originalUrl) return MessageFu.warning('请上传文档')
|
|
|
|
|
+ docUrl = docUrlObj.originalUrl || ''
|
|
|
|
|
+ docName = docUrlObj.originalName || ''
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
const obj = {
|
|
const obj = {
|
|
|
...values,
|
|
...values,
|
|
|
_id: txt === '新增' ? null : _id,
|
|
_id: txt === '新增' ? null : _id,
|
|
|
releaseDate: values.releaseDate ? dayjs(values.releaseDate).format('YYYY-MM-DD') : '',
|
|
releaseDate: values.releaseDate ? dayjs(values.releaseDate).format('YYYY-MM-DD') : '',
|
|
|
- cover: coverUrl.originalUrl || '',
|
|
|
|
|
- coverSmall: coverUrl.compressedUrl || '',
|
|
|
|
|
- videoUrl: videoUrl.originalUrl || '',
|
|
|
|
|
- videoName: videoUrl.originalName
|
|
|
|
|
|
|
+ cover,
|
|
|
|
|
+ coverSmall,
|
|
|
|
|
+ videoUrl,
|
|
|
|
|
+ videoName,
|
|
|
|
|
+ docUrl,
|
|
|
|
|
+ docName,
|
|
|
|
|
+ fileIds
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ // if (1 + 1 === 2) {
|
|
|
|
|
+ // console.log(123456, obj)
|
|
|
|
|
+
|
|
|
|
|
+ // return
|
|
|
|
|
+ // }
|
|
|
|
|
+
|
|
|
const res: any = await A5_APIsave(obj)
|
|
const res: any = await A5_APIsave(obj)
|
|
|
|
|
|
|
|
if (res.code === 0) {
|
|
if (res.code === 0) {
|
|
@@ -92,7 +172,7 @@ function A5add({ txt, _id, closeFu, addTableFu, editTableFu }: Props) {
|
|
|
}
|
|
}
|
|
|
// console.log("通过校验,点击确定");
|
|
// console.log("通过校验,点击确定");
|
|
|
},
|
|
},
|
|
|
- [addTableFu, closeFu, editTableFu, _id, txt]
|
|
|
|
|
|
|
+ [type, txt, _id, addTableFu, editTableFu, closeFu]
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
return (
|
|
return (
|
|
@@ -124,6 +204,8 @@ function A5add({ txt, _id, closeFu, addTableFu, editTableFu }: Props) {
|
|
|
|
|
|
|
|
<Form.Item label='类别' name='type' rules={[{ required: true, message: '请选择类别' }]}>
|
|
<Form.Item label='类别' name='type' rules={[{ required: true, message: '请选择类别' }]}>
|
|
|
<Select
|
|
<Select
|
|
|
|
|
+ value={type}
|
|
|
|
|
+ onChange={e => setType(e)}
|
|
|
disabled={txt === '查看'}
|
|
disabled={txt === '查看'}
|
|
|
style={{ width: 150 }}
|
|
style={{ width: 150 }}
|
|
|
options={A5typeSelectType}
|
|
options={A5typeSelectType}
|
|
@@ -131,45 +213,92 @@ function A5add({ txt, _id, closeFu, addTableFu, editTableFu }: Props) {
|
|
|
/>
|
|
/>
|
|
|
</Form.Item>
|
|
</Form.Item>
|
|
|
|
|
|
|
|
- <div className='formBox'>
|
|
|
|
|
- <div className='formBoxll'>
|
|
|
|
|
- <span>* </span>封面:
|
|
|
|
|
|
|
+ {type && type !== '图片资料' ? (
|
|
|
|
|
+ <div className='formBox'>
|
|
|
|
|
+ <div className='formBoxll'>
|
|
|
|
|
+ <span>* </span>封面:
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div className='formBoxrr'>
|
|
|
|
|
+ <ZupOne
|
|
|
|
|
+ ref={ZupThumbRef}
|
|
|
|
|
+ isLook={txt === '查看'}
|
|
|
|
|
+ fileCheck={fileCheck}
|
|
|
|
|
+ myUrl='file/upload?upPath=A5share'
|
|
|
|
|
+ format={['image/jpeg', 'image/png']}
|
|
|
|
|
+ formatTxt='png、jpg和jpeg'
|
|
|
|
|
+ checkTxt='请上传封面图'
|
|
|
|
|
+ upTxt='最多1张'
|
|
|
|
|
+ myType='thumb'
|
|
|
|
|
+ size={5}
|
|
|
|
|
+ />
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
- <div className='formBoxrr'>
|
|
|
|
|
- <ZupOne
|
|
|
|
|
- ref={ZupThumbRef}
|
|
|
|
|
- isLook={txt === '查看'}
|
|
|
|
|
- fileCheck={fileCheck}
|
|
|
|
|
- myUrl='file/upload?upPath=A5share'
|
|
|
|
|
- format={['image/jpeg', 'image/png']}
|
|
|
|
|
- formatTxt='png、jpg和jpeg'
|
|
|
|
|
- checkTxt='请上传封面图'
|
|
|
|
|
- upTxt='最多1张'
|
|
|
|
|
- myType='thumb'
|
|
|
|
|
- size={5}
|
|
|
|
|
- />
|
|
|
|
|
|
|
+ ) : null}
|
|
|
|
|
+
|
|
|
|
|
+ {type === '视频素材' ? (
|
|
|
|
|
+ <div className='formBox'>
|
|
|
|
|
+ <div className='formBoxll'>
|
|
|
|
|
+ <span>* </span>视频:
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div className='formBoxrr'>
|
|
|
|
|
+ <ZupOne
|
|
|
|
|
+ ref={ZupVideoRef}
|
|
|
|
|
+ isLook={txt === '查看'}
|
|
|
|
|
+ fileCheck={fileCheck}
|
|
|
|
|
+ myUrl='file/upload?upPath=A5share'
|
|
|
|
|
+ format={['video/mp4']}
|
|
|
|
|
+ formatTxt='mp4'
|
|
|
|
|
+ checkTxt='请上传视频'
|
|
|
|
|
+ upTxt='最多1个'
|
|
|
|
|
+ myType='video'
|
|
|
|
|
+ size={500}
|
|
|
|
|
+ />
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
- </div>
|
|
|
|
|
|
|
+ ) : null}
|
|
|
|
|
|
|
|
- <div className='formBox'>
|
|
|
|
|
- <div className='formBoxll'>
|
|
|
|
|
- <span>* </span>视频:
|
|
|
|
|
|
|
+ {type === '图片资料' ? (
|
|
|
|
|
+ <div className='formBox'>
|
|
|
|
|
+ <div className='formBoxll'>
|
|
|
|
|
+ <span>* </span>图片:
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div className='formBoxrr'>
|
|
|
|
|
+ <ZupTypes
|
|
|
|
|
+ ref={ZupImgRef}
|
|
|
|
|
+ selecFlag='图片'
|
|
|
|
|
+ fileCheck={fileCheck}
|
|
|
|
|
+ myUrl='file/upload?upPath=A5share'
|
|
|
|
|
+ isLook={txt === '查看'}
|
|
|
|
|
+ imgLength={20}
|
|
|
|
|
+ multipleImg={true}
|
|
|
|
|
+ oneIsCover={true}
|
|
|
|
|
+ isTypeShow={true}
|
|
|
|
|
+ />
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
- <div className='formBoxrr'>
|
|
|
|
|
- <ZupOne
|
|
|
|
|
- ref={ZupVideoRef}
|
|
|
|
|
- isLook={txt === '查看'}
|
|
|
|
|
- fileCheck={fileCheck}
|
|
|
|
|
- myUrl='file/upload?upPath=A5share'
|
|
|
|
|
- format={['video/mp4']}
|
|
|
|
|
- formatTxt='mp4'
|
|
|
|
|
- checkTxt='请上传视频'
|
|
|
|
|
- upTxt='最多1个'
|
|
|
|
|
- myType='video'
|
|
|
|
|
- size={500}
|
|
|
|
|
- />
|
|
|
|
|
|
|
+ ) : null}
|
|
|
|
|
+
|
|
|
|
|
+ {type === '档案文件' ? (
|
|
|
|
|
+ <div className='formBox'>
|
|
|
|
|
+ <div className='formBoxll'>
|
|
|
|
|
+ <span>* </span>文档:
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div className='formBoxrr'>
|
|
|
|
|
+ <ZupOne
|
|
|
|
|
+ ref={ZupDocRef}
|
|
|
|
|
+ isLook={txt === '查看'}
|
|
|
|
|
+ fileCheck={fileCheck}
|
|
|
|
|
+ myUrl='file/upload?upPath=A5share'
|
|
|
|
|
+ format={['video/mp4']}
|
|
|
|
|
+ formatTxt='pdf/doc/docx'
|
|
|
|
|
+ checkTxt='请上传文档'
|
|
|
|
|
+ upTxt='最多1个'
|
|
|
|
|
+ myType='pdf'
|
|
|
|
|
+ size={50}
|
|
|
|
|
+ />
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
- </div>
|
|
|
|
|
|
|
+ ) : null}
|
|
|
|
|
|
|
|
<div className='sortForm'>
|
|
<div className='sortForm'>
|
|
|
<Form.Item
|
|
<Form.Item
|