diff --git a/src/pages/StreamerSpace/index.jsx b/src/pages/StreamerSpace/index.jsx index 256411d..a76d18a 100644 --- a/src/pages/StreamerSpace/index.jsx +++ b/src/pages/StreamerSpace/index.jsx @@ -1,4 +1,4 @@ -import React, { useState, useEffect } from "react"; +import React, { useState, useEffect, useCallback, useMemo } from "react"; import { Form, Input, @@ -8,8 +8,9 @@ import { Checkbox, InputNumber, Image, + Modal, + message, } from "antd"; -import Modal from "../../components/Modal"; import baseRequest from "../../utils/baseRequest"; import { useNavigate } from "react-router-dom"; @@ -202,9 +203,18 @@ const StreamerSpaceContent = () => { handleModal(record)}> 修改 - handleAgencyModal(record)}> - 编辑代运营 - + {record.ratio.zone_third_partner?.third_partner_account?.mid ? ( + handleAgencyModal(record)}> + 编辑代运营 + + ) : ( + handleAddAgencyModal(record)} + > + 添加代运营 + + )} navigate(`/editSpacePost?user_id=${record.baseInfo.id}`) @@ -324,6 +334,7 @@ const StreamerSpaceContent = () => { }), }); const detailData = await detailResponse.json(); + console.log(detailData); if (detailData.ret === -1) { alert(detailData.msg); return; @@ -474,40 +485,174 @@ const StreamerSpaceContent = () => { console.log("Failed:", errorInfo); }; + //添加代运营Modal是否可见 + const [isAddAgencyModalOpen, setIsAddAgencyModalOpen] = useState(false); + //点击添加代运营按钮 + const handleAddAgencyModal = (record) => { + setDefaultValues(record); + setIsAddAgencyModalOpen(true); + setSelectedUser(); + setUserInfo(); + }; + //提交添加代运营表单 + const handleSubmitAddAgencySetting = async (value) => { + if (!value.sharing_ratio?.toString() || !value.is_hided?.toString()) { + alert("请完善表单"); + return; + } + if (!selectedUser) { + alert("请选择代运营"); + return; + } + try { + const base = baseRequest(); + const detailResponse = await fetch(`/op/zone/update`, { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + id: defaultValues.key, + is_zone_third_partner_hided: parseInt(value.is_hided, 10), + ...base, + }), + }); + const detailData = await detailResponse.json(); + if (detailData.ret === -1) { + alert(detailData.msg); + return; + } + const _response = await fetch(`/op/zone_third_partner/create`, { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + zid: defaultValues.key, + third_partner_mid: selectedUser, + sharing_ratio: parseInt(value.sharing_ratio, 10) / 100, + ...base, + }), + }); + const _data = await _response.json(); + console.log(_data); + if (_data.ret === -1) { + alert(_data.msg); + return; + } + } catch (error) { + console.error(error); + } + //关闭模态 + setShowData([]); + setDefaultValues({}); + setIsAddAgencyModalOpen(false); + }; + //点击添加代运营Modal取消按钮 + const handleAddAgencyModalCancel = () => { + setShowData([]); + setIsAddAgencyModalOpen(false); + }; + //在modal中搜索用户 + const [userInfo, setUserInfo] = useState(); + const modalSearch = async (value) => { + try { + const base = baseRequest(); + const response = await fetch(`/op/account/list_by_user_id`, { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + user_id: parseInt(value.userId, 10), + ...base, + }), + }); + const data = await response.json(); + if (data.ret === -1) { + alert(data.msg); + return; + } + setSelectedUser(); + setUserInfo(data.data.account); + } catch (error) { + console.error(error); + } + }; + //选中用户 + const [selectedUser, setSelectedUser] = useState(); + const handleSelected = () => { + if (selectedUser) { + setSelectedUser(); + return; + } + setSelectedUser(userInfo.mid); + }; + //生成比例选项 + const generateItems = useCallback((min, max) => { + const items = []; + for (let i = min; i <= max; i++) { + items.push({ label: `${i.toString()}%`, value: i.toString() }); + } + return items; + }, []); + const rates = useMemo(() => generateItems(1, 50), []); + //编辑代运营Modal是否可见 const [isAgencyModalOpen, setIsAgencyModalOpen] = useState(false); //点击编辑代运营按钮 const handleAgencyModal = (record) => { setDefaultValues(record); setIsAgencyModalOpen(true); + setSelectedUser(); + setUserInfo(); }; //提交编辑代运营表单 const handleSubmitAgencySetting = async (value) => { - if (!value.is_hided?.toString()) { - alert("请完善表单信息"); + if (!value.sharing_ratio?.toString() || !value.is_hided?.toString()) { + alert("请完善表单"); + return; + } + if (!selectedUser) { + alert("请选择代运营"); return; } try { const base = baseRequest(); - const detailResponse = await fetch( - `/op/zone_third_partner/set_is_hided`, - { - method: "POST", - headers: { - "Content-Type": "application/json", - }, - body: JSON.stringify({ - zid: defaultValues.key, - is_hided: parseInt(value.is_hided, 10), - ...base, - }), - } - ); + const detailResponse = await fetch(`/op/zone/update`, { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + id: defaultValues.key, + is_zone_third_partner_hided: parseInt(value.is_hided, 10), + ...base, + }), + }); const detailData = await detailResponse.json(); if (detailData.ret === -1) { alert(detailData.msg); return; } + const _response = await fetch(`/op/zone_third_partner/update`, { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + zid: defaultValues.key, + third_partner_mid: selectedUser, + sharing_ratio: parseInt(value.sharing_ratio, 10) / 100, + ...base, + }), + }); + const _data = await _response.json(); + console.log(_data); + if (_data.ret === -1) { + alert(_data.msg); + return; + } } catch (error) { console.error(error); } @@ -516,6 +661,35 @@ const StreamerSpaceContent = () => { setDefaultValues({}); setIsAgencyModalOpen(false); }; + //删除代运营 + const handleDeleteAgency = async () => { + try { + const base = baseRequest(); + const detailResponse = await fetch(`/op/zone_third_partner/delete`, { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + zid: defaultValues.key, + ...base, + }), + }); + const detailData = await detailResponse.json(); + console.log(detailData); + if (detailData.ret === -1) { + alert(detailData.msg); + return; + } + message.success("删除成功"); + //关闭模态 + setShowData([]); + setDefaultValues({}); + setIsAgencyModalOpen(false); + } catch (error) { + console.error(error); + } + }; //点击编辑代运营Modal取消按钮 const handleAgencyModalCancel = () => { setShowData([]); @@ -550,247 +724,430 @@ const StreamerSpaceContent = () => { scroll={{ y: window.innerHeight - 300 }} /> {/* 编辑空间模态框是否显示 */} - {isModalOpen && ( + - - - - - ID:{defaultValues.baseInfo.id} - - 昵称:{defaultValues.baseInfo.name} - - - 创建时间:{defaultValues.baseInfo.ct} - - - - - - - - - - - - - - - - 是 - 否 - - - - - - - - 永久 - 月度 - 季度 - 半年 - 年度 - - - - - 是 - 否 - - - + + + + + ID:{defaultValues?.baseInfo?.id} + + 昵称:{defaultValues?.baseInfo?.name} + + + 创建时间:{defaultValues?.baseInfo?.ct} + - } - /> + + + + + + + + + + + + + + 是 + 否 + + + + + + + + 永久 + 月度 + 季度 + 半年 + 年度 + + + + + 是 + 否 + + + + 确认 + + + - )} + + {/* 添加代运营Modal是否可见 */} + + + + + + ID:{defaultValues?.baseInfo?.id} + 昵称:{defaultValues?.baseInfo?.name} + + 创建时间:{defaultValues?.baseInfo?.ct} + + + + + + + + + + 搜索 + + + + {userInfo && ( + + + + ID:{userInfo?.user_id} + 昵称:{userInfo?.name} + + + {selectedUser ? "取消选中" : "选中用户"} + + + )} + + + + {rates.map((item, index) => ( + + {item.label} + + ))} + + + + + 是 + 否 + + + + 确认 + + + + {/* 编辑代运营Modal是否可见 */} - {isAgencyModalOpen && ( - - + + + + + ID:{defaultValues?.baseInfo?.id} + 昵称:{defaultValues?.baseInfo?.name} + + 创建时间:{defaultValues?.baseInfo?.ct} + + + + + 【慎点】删除代运营 + + + + - - - - ID:{defaultValues.baseInfo.id} - - 昵称:{defaultValues.baseInfo.name} - - - 创建时间:{defaultValues.baseInfo.ct} - - - - - {defaultValues.ratio.zone_third_partner?.is_hided !== - undefined && ( - - - 是 - 否 - - - )} - + + + + 搜索 + + + + {userInfo && ( + + + + ID:{userInfo?.user_id} + 昵称:{userInfo?.name} - } - /> - - )} + + {selectedUser ? "取消选中" : "选中用户"} + + + )} + + + + + {rates.map((item, index) => ( + + {item.label} + + ))} + + + + + 是 + 否 + + + + 确认 + + + + + ); };
ID:{defaultValues.baseInfo.id}
- 昵称:{defaultValues.baseInfo.name} -
- 创建时间:{defaultValues.baseInfo.ct} -
ID:{defaultValues?.baseInfo?.id}
+ 昵称:{defaultValues?.baseInfo?.name} +
+ 创建时间:{defaultValues?.baseInfo?.ct} +
昵称:{defaultValues?.baseInfo?.name}
ID:{userInfo?.user_id}
昵称:{userInfo?.name}