changhong/lua_probject/base_project/Game/View/NewGroup/MngView/GroupPartnerRewardsView.lua

339 lines
15 KiB
Lua
Raw Normal View History

2025-05-24 14:29:14 +08:00
-- 合伙人玩法奖励
local GroupNumberInputView = import(".GroupNumberInputView")
local GroupPartnerRewardsView = {}
local M = GroupPartnerRewardsView
function GroupPartnerRewardsView.new(group_id, partner_id, partner_lev)
setmetatable(M, { __index = BaseWindow })
local self = setmetatable({}, { __index = M })
2025-05-24 14:29:14 +08:00
self.class = "GroupPartnerRewardsView"
self._close_destroy = true
self._blur_view = blur_view
self.group_id = group_id
self.partner_id = partner_id
self.partner_lev = partner_lev
self.rewards_data = {}
self.showxipai = 1
self:initView()
return self
end
function M:initView(url)
BaseWindow.init(self, "ui://NewGroup/Win_PartnerRewards")
2025-05-24 14:29:14 +08:00
self.lst_rewards = self._view:GetChild("lst_rewards")
self.lst_rewards:SetVirtual()
self.lst_rewards.itemRenderer = function(index, obj)
self:OnRenderRewardsItem(index, obj)
2025-05-24 14:29:14 +08:00
end
self.fandianControl = self._view:GetController("fandian")
self:GetRewardsData()
end
-- 获取奖励设置数据
function M:GetRewardsData()
local group = DataManager.groups:get(self.group_id)
2025-05-24 14:29:14 +08:00
local fgCtr = ControllerManager.GetController(NewGroupController)
fgCtr:FG_GetRewards(self.group_id, self.partner_id, self.partner_lev, function(res)
ViewUtil.CloseModalWait()
if self._is_destroy then
return
end
if res.ReturnCode ~= 0 then
2025-05-24 14:29:14 +08:00
ViewUtil.ErrorTip(res.ReturnCode, "获取合伙人奖励失败")
else
local rewards = res.Data.rewards
self.showxipai = res.Data.showxipai == true and 1 or 0
--pt(res)
if rewards and #rewards == 0 then
printlog("服务器未设置合伙人奖励===>>>")
return
end
--printlog("获取奖励===>>>",res.Data.rewards)
--pt(res.Data.rewards)
2025-05-24 14:29:14 +08:00
-- local rdata = self.rewards_data
-- for i = 1, #rewards do
-- rdata[#rdata + 1] = rewards[i]
-- end
for i = 1, #rewards do
2025-05-24 14:29:14 +08:00
self.rewards_data[i] = rewards[i]
self.rewards_data[i].max_value = group.lev == 1 and self.rewards_data[i].max_value / 2 or
self.rewards_data[i].max_value
2025-05-24 14:29:14 +08:00
end
self.lst_rewards.numItems = #self.rewards_data
self.fandianControl.selectedIndex = self.showxipai
2025-06-04 22:42:49 +08:00
self._view:GetChild('btn_piliang').onClick:Set(function()
local gfiv = GroupNumberInputView.new(self._root_view, function(num)
2025-06-19 23:51:18 +08:00
local tem = num * 100
2025-06-04 22:42:49 +08:00
local msg_win = MsgWindow.new(nil, string.format("是否设定所有玩法奖励为%s", num),
MsgWindow.MsgMode.OkAndCancel, nil, false)
msg_win.onOk:Add(function(...)
local single = msg_win.btnCheck.selected and 1 or 0
local fgCtr = ControllerManager.GetController(NewGroupController)
ViewUtil.ShowModalWait()
for i = 1, #rewards do
2025-06-06 01:11:41 +08:00
fgCtr:FG_SetRewards(self.group_id, rewards[i].pid, self.partner_lev, self.partner_id, false,
rewards[i].max_value - tem < 0 and 0 or rewards[i].max_value - tem, single,
2025-06-04 22:42:49 +08:00
function(res)
ViewUtil.CloseModalWait()
if res.ReturnCode ~= 0 then
-- ViewUtil.ErrorTip(res.ReturnCode, "设置奖励失败")
else
-- successNum = successNum + 1
-- ViewUtil.ShowBannerOnScreenCenter("设置奖励成功")
-- for i = 1, #self.rewards_data do
-- if self.rewards_data[i].rewardValueType == data.rewardValueType then
-- self.rewards_data[i].cur_value = data.cur_value
-- end
-- end
-- self.lst_rewards.numItems = #self.rewards_data
end
2025-06-06 01:11:41 +08:00
if i == #rewards then
self:GetRewardsData()
end
2025-06-04 22:42:49 +08:00
end)
end
end)
msg_win:Show()
end, 3)
gfiv:Show()
end)
2025-05-24 14:29:14 +08:00
end
end)
end
-- 显示奖励
local function __showRewardsValue(rtype, cur_value, max_value, mng, value_type)
local str = ""
local tem = value_type == 1 and "%" or ""
if not mng then
if value_type == 2 then
str = string.format("%s%s/%s%s", d2ad(cur_value), tem, d2ad(max_value), tem)
else
str = string.format("%s%s/%s%s", cur_value, tem, max_value, tem)
end
else
if value_type == 2 then
str = string.format("%s%s", d2ad(cur_value), tem)
else
str = string.format("%s%s", cur_value, tem)
end
end
return str
end
-- 填充奖励设置对象
function M:OnRenderRewardsItem(index, obj)
local data = self.rewards_data[index + 1]
2025-05-24 14:29:14 +08:00
local group = DataManager.groups:get(self.group_id)
obj:GetController("fandian").selectedIndex = self.showxipai
--printlog("aaaaaaaaaaaaaaaaaaaaa ",__showRewardsValue(data.xipai_rewardType, data.xipai_cur_value, data.xipai_max_value, group.lev < 3, data.xipai_rewardValueType or 1))
obj:GetChild("tex_xipai").text = __showRewardsValue(data.xipai_rewardType, data.xipai_cur_value, data
2025-05-30 14:25:22 +08:00
.xipai_max_value, group.lev < 3, data.xipai_rewardValueType or 1)
2025-06-06 17:33:18 +08:00
obj:GetChild("tex_rewards").text = d2ad(data.cur_value)
obj:GetChild("tex_rewards_max").text = string.format("%s/%s", d2ad(data.max_value),
d2ad(data.max_value) - d2ad(data.cur_value))
obj:GetChild("tex_anchou").text = __showRewardsValue(data.anchou_rewardType, data.anchou_cur_value,
data.anchou_max_value, group.lev < 3, data.anchou_rewardValueType or 1)
local play_name = group:getPlayName(data.pid)
obj:GetChild("tex_name").text = play_name
2025-05-24 14:29:14 +08:00
if data.rewardType == 3 or self.partner_id == DataManager.SelfUser.account_id then
obj:GetController("promote").selectedIndex = 1
else
obj:GetController("promote").selectedIndex = 0
end
local input_type = data.rewardValueType == 1 and 0 or 3
obj:GetChild("btn_set").onClick:Set(function()
local gfiv = GroupNumberInputView.new(self._root_view, function(num)
local tem = num
2025-05-24 14:29:14 +08:00
if data.rewardValueType == 2 then
tem = ad2d(tem)
2025-05-24 14:29:14 +08:00
end
2025-07-07 15:47:37 +08:00
-- print("lingmeng setpilai", tem, data.max_value)
2025-05-24 14:29:14 +08:00
if tem > data.max_value then
ViewUtil.ErrorTip(nil, "输入值超过上限")
return
-- elseif tem < data.cur_value then
-- ViewUtil.ErrorTip(nil, "不能下调奖励")
-- return
2025-05-24 14:29:14 +08:00
end
local fgCtr = ControllerManager.GetController(NewGroupController)
ViewUtil.ShowModalWait()
fgCtr:FG_SetRewards(self.group_id, data.pid, self.partner_lev, self.partner_id, false, tem, 0, function(res)
ViewUtil.CloseModalWait()
if res.ReturnCode ~= 0 then
ViewUtil.ErrorTip(res.ReturnCode, "设置合伙人奖励失败")
else
data.cur_value = tem
2025-05-30 18:25:39 +08:00
obj:GetChild("tex_rewards").text = d2ad(data.cur_value)
obj:GetChild("tex_rewards_max").text = string.format("%s/%s", d2ad(data.max_value),
d2ad(data.max_value) - d2ad(data.cur_value))
end
2025-05-24 14:29:14 +08:00
end)
2025-05-30 18:25:39 +08:00
end, 3)
2025-05-24 14:29:14 +08:00
gfiv:Show()
end)
obj:GetChild("btn_set_all").onClick:Set(function()
local msg_win = MsgWindow.new(nil, string.format("是否设定所有玩法奖励为%s%%", data.cur_value),
MsgWindow.MsgMode.OkAndCancel, nil, true)
msg_win.onOk:Add(function(...)
2025-05-24 14:29:14 +08:00
local single = msg_win.btnCheck.selected and 1 or 0
local fgCtr = ControllerManager.GetController(NewGroupController)
ViewUtil.ShowModalWait()
fgCtr:FG_SetRewards(self.group_id, data.pid, self.partner_lev, self.partner_id, true, data.cur_value, single,
function(res)
ViewUtil.CloseModalWait()
if res.ReturnCode ~= 0 then
ViewUtil.ErrorTip(res.ReturnCode, "设置奖励失败")
else
ViewUtil.ShowBannerOnScreenCenter("设置奖励成功")
-- for i = 1, #self.rewards_data do
-- if self.rewards_data[i].rewardValueType == data.rewardValueType then
-- self.rewards_data[i].cur_value = data.cur_value
-- end
-- end
-- self.lst_rewards.numItems = #self.rewards_data
self:GetRewardsData()
end
end)
2025-05-24 14:29:14 +08:00
end)
msg_win:Show()
end)
2025-05-24 14:29:14 +08:00
--xipai_reward
local input_type1 = data.xipai_rewardValueType == 1 and 0 or 3
obj:GetChild("btn_set1").onClick:Set(function()
local gfiv = GroupNumberInputView.new(self._root_view, function(num)
2025-06-19 23:51:18 +08:00
local tem = num * 100
2025-05-24 14:29:14 +08:00
if data.xipai_rewardValueType == 2 then
tem = ad2d(tem)
2025-05-24 14:29:14 +08:00
end
2025-06-19 23:51:18 +08:00
if tem / 100 > data.xipai_max_value then
ViewUtil.ErrorTip(nil, "输入值超过上限")
return
-- elseif tem < data.cur_value then
-- ViewUtil.ErrorTip(nil, "不能下调奖励")
-- return
2025-05-24 14:29:14 +08:00
end
local fgCtr = ControllerManager.GetController(NewGroupController)
ViewUtil.ShowModalWait()
fgCtr:FG_SetXIPAI(self.group_id, data.pid, self.partner_lev, self.partner_id, false, tem, 0, function(res)
ViewUtil.CloseModalWait()
if res.ReturnCode ~= 0 then
ViewUtil.ErrorTip(res.ReturnCode, "设置洗牌奖励失败")
else
data.xipai_cur_value = tem
obj:GetChild("tex_xipai").text = __showRewardsValue(data.xipai_rewardType, tem, data.xipai_max_value,
group.lev < 3, data.xipai_rewardValueType or 1)
end
2025-05-24 14:29:14 +08:00
end)
2025-05-30 18:25:39 +08:00
end, 3)
2025-05-24 14:29:14 +08:00
gfiv:Show()
end)
obj:GetChild("btn_set_all1").onClick:Set(function()
local msg_win = MsgWindow.new(nil, string.format("是否设定所有洗牌奖励为%s%%", data.xipai_cur_value),
MsgWindow.MsgMode.OkAndCancel)
msg_win.onOk:Add(function(...)
local single = 0 --msg_win.btnCheck.selected and 1 or 0
2025-05-24 14:29:14 +08:00
local fgCtr = ControllerManager.GetController(NewGroupController)
ViewUtil.ShowModalWait()
fgCtr:FG_SetXIPAI(self.group_id, data.pid, self.partner_lev, self.partner_id, true, data.xipai_cur_value,
single, function(res)
2025-05-30 14:25:22 +08:00
ViewUtil.CloseModalWait()
if res.ReturnCode ~= 0 then
ViewUtil.ErrorTip(res.ReturnCode, "设置洗牌失败")
else
ViewUtil.ShowBannerOnScreenCenter("设置洗牌成功")
-- printlog("ccccccccccccccccc11111111111111111111111")
-- pt(res)
-- for i = 1, #self.rewards_data do
-- if self.rewards_data[i].xipai_rewardValueType == data.xipai_rewardValueType then
-- self.rewards_data[i].xipai_cur_value = data.xipai_cur_value
-- end
-- end
-- self.lst_rewards.numItems = #self.rewards_data
self:GetRewardsData()
end
end)
2025-05-24 14:29:14 +08:00
end)
msg_win:Show()
end)
2025-05-24 14:29:14 +08:00
--xipai_reward
local input_type2 = data.anchou_rewardValueType == 1 and 0 or 3
obj:GetChild("btn_set2").onClick:Set(function()
local gfiv = GroupNumberInputView.new(self._root_view, function(num)
2025-06-19 23:51:18 +08:00
local tem = num * 100
2025-05-24 14:29:14 +08:00
if data.anchou_rewardValueType == 2 then
tem = ad2d(tem)
2025-05-24 14:29:14 +08:00
end
2025-05-30 18:25:39 +08:00
if tem / 1000 > data.xipai_max_value then
ViewUtil.ErrorTip(nil, "输入值超过上限")
return
-- elseif tem < data.cur_value then
-- ViewUtil.ErrorTip(nil, "不能下调奖励")
-- return
2025-05-24 14:29:14 +08:00
end
printlog("jefe btn_set2")
local fgCtr = ControllerManager.GetController(NewGroupController)
ViewUtil.ShowModalWait()
fgCtr:FG_SetANCHOU(self.group_id, data.pid, self.partner_lev, self.partner_id, false, tem, 0, function(res)
ViewUtil.CloseModalWait()
if res.ReturnCode ~= 0 then
ViewUtil.ErrorTip(res.ReturnCode, "设置管理奖励失败")
else
data.anchou_cur_value = tem
obj:GetChild("tex_anchou").text = __showRewardsValue(data.anchou_rewardType, tem,
data.anchou_max_value, group.lev < 3, data.anchou_rewardValueType or 1)
end
2025-05-24 14:29:14 +08:00
end)
2025-05-30 18:25:39 +08:00
end, 3)
2025-05-24 14:29:14 +08:00
gfiv:Show()
end)
obj:GetChild("btn_set_all2").onClick:Set(function()
local msg_win = MsgWindow.new(nil, string.format("是否设定所有管理奖励为%s%%", data.anchou_cur_value),
MsgWindow.MsgMode.OkAndCancel)
msg_win.onOk:Add(function(...)
local single = 0 --msg_win.btnCheck.selected and 1 or 0
2025-05-24 14:29:14 +08:00
local fgCtr = ControllerManager.GetController(NewGroupController)
ViewUtil.ShowModalWait()
fgCtr:FG_SetANCHOU(self.group_id, data.pid, self.partner_lev, self.partner_id, true, data.anchou_cur_value,
single, function(res)
2025-05-30 14:25:22 +08:00
ViewUtil.CloseModalWait()
if res.ReturnCode ~= 0 then
ViewUtil.ErrorTip(res.ReturnCode, "设置管理失败")
else
ViewUtil.ShowBannerOnScreenCenter("设置管理成功")
-- printlog("ccccccccccccccccc11111111111111111111111")
-- pt(res)
-- for i = 1, #self.rewards_data do
-- if self.rewards_data[i].xipai_rewardValueType == data.xipai_rewardValueType then
-- self.rewards_data[i].xipai_cur_value = data.anchou_cur_value
-- end
-- end
-- self.lst_rewards.numItems = #self.rewards_data
self:GetRewardsData()
end
end)
2025-05-24 14:29:14 +08:00
end)
msg_win:Show()
end)
2025-05-24 14:29:14 +08:00
end
return M