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

284 lines
12 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})
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")
self.lst_rewards = self._view:GetChild("lst_rewards")
self.lst_rewards:SetVirtual()
self.lst_rewards.itemRenderer = function(index, obj)
self:OnRenderRewardsItem(index, obj)
end
self.fandianControl = self._view:GetController("fandian")
self:GetRewardsData()
end
-- 获取奖励设置数据
function M:GetRewardsData()
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
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)
-- local rdata = self.rewards_data
-- for i = 1, #rewards do
-- rdata[#rdata + 1] = rewards[i]
-- end
for i=1,#rewards do
self.rewards_data[i] = rewards[i]
end
self.lst_rewards.numItems = #self.rewards_data
self.fandianControl.selectedIndex = self.showxipai
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]
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.xipai_max_value, group.lev < 3, data.xipai_rewardValueType or 1)
obj:GetChild("tex_rewards").text = __showRewardsValue(data.rewardType, data.cur_value, data.max_value, group.lev < 3, data.rewardValueType or 1)
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
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
if data.rewardValueType == 2 then
tem = ad2d(tem)
end
if tem > data.max_value then
ViewUtil.ErrorTip(nil, "输入值超过上限")
return
-- elseif tem < data.cur_value then
-- ViewUtil.ErrorTip(nil, "不能下调奖励")
-- return
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
obj:GetChild("tex_rewards").text = __showRewardsValue(data.rewardType, tem, data.max_value, group.lev < 3, data.rewardValueType or 1)
end
end)
end, input_type)
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( ... )
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)
end)
msg_win:Show()
end)
--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)
local tem = num
if data.xipai_rewardValueType == 2 then
tem = ad2d(tem)
end
if tem > data.xipai_max_value then
ViewUtil.ErrorTip(nil, "输入值超过上限")
return
-- elseif tem < data.cur_value then
-- ViewUtil.ErrorTip(nil, "不能下调奖励")
-- return
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
end)
end, input_type1)
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
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)
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)
end)
msg_win:Show()
end)
--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)
local tem = num
if data.anchou_rewardValueType == 2 then
tem = ad2d(tem)
end
if tem > data.xipai_max_value then
ViewUtil.ErrorTip(nil, "输入值超过上限")
return
-- elseif tem < data.cur_value then
-- ViewUtil.ErrorTip(nil, "不能下调奖励")
-- return
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
end)
end, input_type2)
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
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)
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)
end)
msg_win:Show()
end)
end
return M