// import React from 'react' import './product-release.css' import { // Select, DatePicker, Button, // message, // Checkbox, Empty, // Switch, Modal, Pagination, Image, Spin, Button } from 'antd'; import { DeleteOutlined } from '@ant-design/icons'; import { getGoodsList, submitAudit, putOnShelf, putOffShelf, deleteGoods, getSoftTypeList } from '../../request/api' import { showImage } from '../../request/request' import EditModal from './components/EditModal/EditModal' import useMessage from "antd/es/message/useMessage"; // import type { CheckboxProps } from 'antd'; // import { // // SearchOutlined, // ClearOutlined // } from '@ant-design/icons'; import { useLocation } from 'react-router-dom'; // import type { DatePickerProps } from 'antd'; // import locale from 'antd/es/date-picker/locale/zh_CN'; import { useState, useEffect } from 'react'; import dayjs, { } from 'dayjs'; export default function ProductRelease() { const [reasonModalOpen, setReasonModalOpen] = useState(false) // 未通过原因弹窗 const [goodsCheckRemark, setGoodsCheckRemark] = useState('') // 未通过原因 const [messageApi, messageContext] = useMessage(); const { state } = useLocation() // const dateFormat = 'YYYY年MM月DD日'; const sellBelongType = state ? state.sellBelongType : ''; // 所属人类型 const sellDate = state ? state.sellDate : ''; // 日期 // const sellDate = state?dayjs(state.sellDate).format(dateFormat) : ''; // 日期 const language = state ? state.language : ''; // 开发者语言 // const sellBoxtype = state ? state.sellBoxtype : ''; //软著类型 const sellKeywords = state ? state.sellKeywords : ''; // 搜索关键字 useEffect(() => { // console.log('sellBelongType', sellBelongType); // console.log('sellDate', sellDate); // console.log('language', language); // console.log('sellBoxtype', sellBoxtype); // console.log('sellKeywords', sellKeywords); // if (sellDate) { // console.log('sellDate', dayjs(sellDate).year()); // } setPage(1) getGoodsDate(1) }, [state]) const height = window.innerHeight - 180; // const [messageApi, contextHolder] = message.useMessage(); // const [belongType, setBelongType] = useState() // 所属人类型 // const [date, setDate] = useState() // 日期 // const [language, setLanguage] = useState() // 开发者语言 // const [type, setType] = useState() //软著类型 const [page, setPage] = useState(1) // 分页 const [total, setTotal] = useState(0) // 总条数 const [editModalOpen, setEditModalOpen] = useState(false) // 控制编辑弹窗 const [delModalOpen, setDelModalOpen] = useState(false) // 控制删除弹窗 const [sellModalOpen, setSellModalOpen] = useState(false) // 控制上架弹窗 const [offModalOpen, setOffModalOpen] = useState(false) // 控制下架弹窗 const [id, setId] = useState('') // 编辑id const [loading, setLoading] = useState(false) // 加载 const [data, setData] = useState([]) // 点击编辑 const edit = (item: any) => { // console.log(item.goodsId); setEditModalOpen(true) setId(item.goodsId) }; // 删除id const [delId, setDelId] = useState('') // 删除商品名字 // const [delName, setDelName] = useState('') // 点击删除 const del = (item: any) => { // console.log(item.order); setDelId(item.goodsId) // setDelName(item.goodsName) setDelModalOpen(true) }; // 点击确定删除 const delOk = async () => { try { await deleteGoods(delId) // setData((prevData: any) => { // return prevData.filter((dataItem: any) => dataItem.goodsId !== delId) // }) setDelModalOpen(false) messageApi.open({ type: 'success', content: '删除成功', }) getGoodsDate(page) } catch (error: any) { if (error.response) { const data = error.response.data; messageApi.open({ type: 'error', content: data.msg ? data.msg : `${data.path}(${data.status})`, }); } else { console.error(error) } } } // 下架id const [offId, setOffId] = useState('') // 下架商品名字 const [offName, setOffName] = useState('') // 点击下架 const off = (item: any) => { setOffId(item.goodsId) setOffName(item.goodsName) setOffModalOpen(true) }; // 点击确定下架 const offOk = async () => { try { await putOffShelf(offId) setData((prevData: any) => { return prevData.map((dataItem: any) => { if (dataItem.goodsId == offId) { return { ...dataItem, goodsStatus: 0 }; } return dataItem; }); }) // console.log('setData', data); setOffModalOpen(false) messageApi.open({ type: 'success', content: '下架成功', }) } catch (error: any) { if (error.response) { const data = error.response.data; messageApi.open({ type: 'error', content: data.msg ? data.msg : `${data.path}(${data.status})`, }); } else { console.error(error) } } } // 上架id const [sellId, setSellId] = useState('') // 上架商品名字 const [sellName, setSellName] = useState('') // 点击上架 const sell = (item: any) => { setSellId(item.goodsId) setSellName(item.goodsName) setSellModalOpen(true) }; // 点击确定上架 const sellOk = async () => { try { await putOnShelf(sellId) setData((prevData: any) => { return prevData.map((dataItem: any) => { if (dataItem.goodsId === sellId) { return { ...dataItem, goodsStatus: 1 }; } return dataItem; }); }) setSellModalOpen(false) messageApi.open({ type: 'success', content: '上架成功', }) } catch (error: any) { if (error.response) { const data = error.response.data; messageApi.open({ type: 'error', content: data.msg ? data.msg : `${data.path}(${data.status})`, }); } else { console.error(error) } } } const [submitModalOpen, setSubmitModalOpen] = useState(false) // 控制提交审核弹窗 const [submitId, setSubmitId] = useState('') // 提交审核id const [submitName, setSubmitName] = useState('') // 提交审核名字 // 点击提交审核 const submit = async (item: any) => { // console.log(item); setSubmitName(item.goodsName) setSubmitId(item.goodsId) setSubmitModalOpen(true) }; // 点击确定提交 const submitAuditOk = async () => { try { await submitAudit(submitId) setData((prevData: any) => { return prevData.map((dataItem: any) => { if (dataItem.goodsId === submitId) { return { ...dataItem, goodsCheckStatus: 1 }; } return dataItem; }); }); setSubmitModalOpen(false) messageApi.open({ type: 'success', content: '提交审核成功', }) } catch (error: any) { if (error.response) { const data = error.response.data; messageApi.open({ type: 'error', content: data.msg ? data.msg : `${data.path}(${data.status})`, }); } else { console.error(error) } } } const [selectTypeArray, setSelectTypeArray] = useState([]) // 选择的软著类型 const getGoodsDate = async (page: number) => { try { setLoading(true) const res: any = await getGoodsList({ page: page, rows: 20, // sellBelongType: sellBelongType, // sellDate: sellDate, // language: language, // sellBoxtype: sellBoxtype, // sellKeywords: sellKeywords, keywords: sellKeywords ? sellKeywords : '', goodsLeaderType: sellBelongType ? sellBelongType : '', goodsGetTime: sellDate ? dayjs(sellDate).year() : '', goodsDevelop: language ? language : '', // goodsType: sellBoxtype ? sellBoxtype.join(',') : '', goodsType: selectTypeArray.length > 0 ? selectTypeArray.join(',') : '', }) setPage(res.page) setData(res.rows) setTotal(res.total) setLoading(false) // console.log(res); if (res.rows.length <= 0) { if (page > 1) { setPage(page - 1) getGoodsDate(page - 1) } } } catch (error: any) { if (error.response) { const data = error.response.data; messageApi.open({ type: 'error', content: data.msg ? data.msg : `${data.path}(${data.status})`, }); } else { console.error(error) } } finally { setLoading(false) } } const [softTypeList, setSoftTypeList] = useState([]) // 软著类型列表 // 获取软著类型列表 const getSoftTypeListDate = async () => { try { const res: any = await getSoftTypeList() // console.log('软著类型列表', res); // setSoftTypeList(res.map((item: any) => { // return { // value: item.dataId, // label: item.dataName, // } // })) setSoftTypeList(res) } catch (error: any) { if (error.response) { const data = error.response.data; messageApi.open({ type: 'error', content: data.msg ? data.msg : `${data.path}(${data.status})`, }); } else { console.error(error) } } } useEffect(() => { getGoodsDate(page) }, [page]) useEffect(() => { getGoodsDate(1) setPage(1) }, [selectTypeArray]) useEffect(() => { getSoftTypeListDate() }, []) return (
{messageContext}
{/* 表格 */}
软著类型 :
{softTypeList.map((item: any) => { return (
{ if (selectTypeArray.includes(item.dataId)) { setSelectTypeArray(selectTypeArray.filter((typeId: any) => typeId !== item.dataId)) } else { setSelectTypeArray([...selectTypeArray, item.dataId]) } }} > {item.dataName}
) })}
{/* {data.length <= 0 ? (
) : ( {data.map((item: any, index: any) => { return ( ) })}
序号 软著名称 软著版本 售卖价格 截止售卖时间 平台审核 操作
编号 : {item.goodsNumber} 软著取得时间 : {item.goodsGetTime}
{(page - 1) * 10 + index + 1}
{item.goodsName} {item.goodsVersion} {item.goodsPrice} {item.goodsLastTime} {item.goodsCheckStatus == '0' ?
{ setGoodsCheckRemark(item.goodsCheckRemark) setReasonModalOpen(true) }} > 未通过
(点击查看原因)
: item.goodsCheckStatus == '1' ? 审核中 : item.goodsCheckStatus == '2' ? 已通过 : '未提交'}
{ edit(item) }}>编辑 submit(item)}>提交审核 del(item)}>删除 sell(item)}>上架 off(item)}>下架 正在交易中...
) } */} {data.length <= 0 ? (
) : (
{data.map((item: any) => { return (
del(item) }>
截止日期 : {item.goodsLastTime}
{/*
特价
*/}
{item.goodsName}
{item.goodsPrice}
{item.goodsCheckStatus == '0' ?
{ setGoodsCheckRemark(item.goodsCheckRemark) setReasonModalOpen(true) }} > 未通过
{/*
(点击查看原因)
*/}
: item.goodsCheckStatus == '1' ? 审核中 : item.goodsCheckStatus == '2' ? 已通过 : 未提交 }
正在交易中...
已完成
) })} {/*
299
特价
智能化接口处理系统
2025-05-12
编辑
提交审核
*/}
) }
{/* )} */}
{/* defaultCurrent: 默认当前页数 total:数据总数 defaultPageSize:'页面显示几条' */}
{ // console.log(page) setPage(page) }} />
{/* 编辑弹窗 */} { setEditModalOpen(false); }} centered // 点击遮罩不允许关闭 maskClosable={false} > {/*
*/} { setEditModalOpen(false) }} getGoodsDate={getGoodsDate} id={id} > {/*
*/}
{/* 删除弹窗 */} { // setDelModalOpen(false) delOk() }} onCancel={() => { setDelModalOpen(false) }} okButtonProps={{ style: { background: 'red', color: 'white' } }} style={{ display: 'flex', alignItems: 'center', justifyContent: 'center', height: `${height}px`, }}>
删除后这条信息将不被保存,确定删除 {/* {delName} */} 吗?
{/* 出售弹窗 */} { // setSellModalOpen(false) sellOk() }} onCancel={() => { setSellModalOpen(false) }} okButtonProps={{ style: { background: '#28915A', color: 'white' } }} style={{ display: 'flex', alignItems: 'center', justifyContent: 'center', height: `${height}px`, }}>
确定将{sellName}上架吗?
{ // setSellModalOpen(false) offOk() }} onCancel={() => { setOffModalOpen(false) }} okButtonProps={{ style: { background: '#28915A', color: 'white' } }} style={{ display: 'flex', alignItems: 'center', justifyContent: 'center', height: `${height}px`, }}>
确定将{offName}下架吗?
{ submitAuditOk() }} onCancel={() => { setSubmitModalOpen(false) }} // okButtonProps={{ style: { background: 'red', color: 'white' } }} style={{ display: 'flex', alignItems: 'center', justifyContent: 'center', height: `${height}px`, }}>
确定将{submitName}提交审核吗?
{ // submitAuditOk() }} footer={null} onCancel={() => { setReasonModalOpen(false) }} // okButtonProps={{ style: { background: 'red', color: 'white' } }} style={{ display: 'flex', alignItems: 'center', justifyContent: 'center', height: `${height}px`, }}>
{goodsCheckRemark}
) }