// import React from 'react' import './product-release.css' import { // Select, DatePicker, Button, // message, // Checkbox, Empty, // Switch, Modal, Pagination, Image, Spin } from 'antd'; import { getGoodsList, submitAudit, putOnShelf, putOffShelf, deleteGoods } 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 React, { 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 === sellId) { return { ...dataItem, goodsStatus: 0 }; } return dataItem; }); }) 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 getGoodsDate = async (page: number) => { try { setLoading(true) const res: any = await getGoodsList({ page: page, rows: 10, // 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(',') : '', }) 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) } } useEffect(() => { getGoodsDate(page) }, [page]) return (
{messageContext} {/* {contextHolder} */} {/*