294 lines
12 KiB
Lua
294 lines
12 KiB
Lua
-- 合伙人玩法奖励
|
||
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 = d2ad(data.cur_value)
|
||
obj:GetChild("tex_rewards_max").text = d2ad(data.max_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
|
||
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 * 1000
|
||
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 = d2ad(data.cur_value)
|
||
end
|
||
end)
|
||
end, 3)
|
||
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 * 1000
|
||
if data.xipai_rewardValueType == 2 then
|
||
tem = ad2d(tem)
|
||
end
|
||
|
||
if tem / 1000 > 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, 3)
|
||
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 * 1000
|
||
if data.anchou_rewardValueType == 2 then
|
||
tem = ad2d(tem)
|
||
end
|
||
|
||
if tem / 1000 > 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, 3)
|
||
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
|