-- 合伙人玩法奖励 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 group = DataManager.groups:get(self.group_id) 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] self.rewards_data[i].max_value = group.lev == 1 and self.rewards_data[i].max_value / 2 or self.rewards_data[i].max_value end self.lst_rewards.numItems = #self.rewards_data self.fandianControl.selectedIndex = self.showxipai self._view:GetChild('btn_piliang').onClick:Set(function() local gfiv = GroupNumberInputView.new(self._root_view, function(num) local tem = num * 1000 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 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, 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 if i == #rewards then self:GetRewardsData() end end) end end) msg_win:Show() end, 3) gfiv:Show() end) 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 = 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 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 print("lingmeng setpilai", tem, data.max_value) 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) obj:GetChild("tex_rewards_max").text = string.format("%s/%s", d2ad(data.max_value), d2ad(data.max_value) - 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