changhong/lua_probject/base_project/Game/View/NewGroup/MngView/GroupMngPartnerStatViewAlon...

329 lines
13 KiB
Lua

local TimeSettingPanel = import(".TimeSettingPanelTog")
local GroupPartnerStatMember = import(".GroupPartnerStatMember")
local GroupPartnerStatPlay = import(".GroupPartnerStatPlay")
local GroupNumberInputView = import(".GroupNumberInputView")
-- 开桌统计
local GroupMngPartnerStatViewAlone = {}
local M = GroupMngPartnerStatViewAlone
setmetatable(M, { __index = BaseWindow })
function GroupMngPartnerStatViewAlone.new(gid)
local self = setmetatable({}, { __index = M })
self.class = "GroupMngPartnerStatViewAlone"
self.group_id = gid
self:InitView()
return self
end
function M:initData()
self.lst_record.numItems = 0
self.record_data = {}
local now_time = os.date("*t", now)
local today = os.time({ year = now_time.year, month = now_time.month, day = now_time.day, hour = 0, min = 0, sec = 0 })
self.begin_time = today
self.end_time = today + 86400
self:GetRecordData(0)
--self:ShowPeopleNum()
end
-- function M:ShowPeopleNum()
-- local fgCtr = ControllerManager.GetController(NewGroupController)
-- fgCtr:FG_GetMembersCount(self.group_id,function(res)
-- ViewUtil.CloseModalWait()
-- if res.ReturnCode == 0 then
-- self._view:GetChild('tex_memb_num').text = res.Data.member_num
-- self._view:GetChild('tex_total_hp').text = d2ad(res.Data.hp_num1+res.Data.otherHp)
-- end
-- end)
-- end
function M:InitView()
BaseWindow.init(self, "ui://NewGroup/View_GroupPartnerStatAlone")
-- self._view = UIPackage.CreateObjectFromURL("ui://NewGroup/View_GroupPartnerStatAlone")
local group = DataManager.groups:get(self.group_id)
-- if group.lev ~= 3 then
-- self._view:GetController("mng").selectedIndex = 1
-- end
local lst_mgr_index = self._view:GetChild("lst_mgr_index")
-- lst_mgr_index.visible = false
-- if group.lev == 1 then
-- lst_mgr_index.visible = true
-- end
self.lst_record = self._view:GetChild("lst_record")
self.lst_record:SetVirtual()
self.lst_record.itemRenderer = function(index, obj)
self:OnRenderRecordItem(index, obj)
end
self.lst_record.scrollPane.onPullUpRelease:Set(function()
self:GetRecordData(self.lst_record.numItems)
end)
self.time_panel = TimeSettingPanel.new(self._view, self._view:GetChild("btn_date1"), self._view:GetChild("btn_date2"),
-308, 0, function()
self.begin_time, self.end_time = self.time_panel:GetDate()
self:GetRecordData(self.lst_record.numItems)
end, true)
self.begin_time, self.end_time = self.time_panel:GetDate()
local ctr_page = self._view:GetController("type")
ctr_page.onChanged:Set(function()
self.record_data = {}
self.lst_record.numItems = 0
if ctr_page.selectedIndex == 0 then
local now_time = os.date("*t", now)
local today = os.time({ year = now_time.year, month = now_time.month, day = now_time.day, hour = 0, min = 0, sec = 0 })
self.begin_time = today
self.end_time = today + 86400
else
local now_time = os.date("*t", now)
local today = os.time({ year = now_time.year, month = now_time.month, day = now_time.day, hour = 0, min = 0, sec = 0 })
self.begin_time = today - 86400 * ctr_page.selectedIndex
self.end_time = today - 86400 * (ctr_page.selectedIndex - 1)
end
self:GetRecordData(0)
end)
-- self._view:GetChild("btn_search").onClick:Set(function()
-- self.record_data = {}
-- self.lst_record.numItems = 0
-- self.begin_time, self.end_time = self.time_panel:GetDate()
-- self:GetRecordData(0)
-- end)
-- 搜索玩家
local ctr_search = self._view:GetController('search')
self._view:GetChild('btn_search').onClick:Set(
function()
--printlog("aaaaaaaaaa1111111111111111111111111111111111111111111111")
ViewUtil.ShowModalWait(nil)
local text = self._view:GetChild('tex_id').text
local qid, qnick
if text == "" then
ViewUtil.CloseModalWait()
ViewUtil.ErrorTip(nil, '输入不能为空')
return
end
qid = tonumber(text) or 0
qnick = text
local time_type = self._view:GetController("type").selectedIndex
if self.begin_time ~= nil and self.end_time ~= nil then
time_type = 0
end
local fgCtr = ControllerManager.GetController(NewGroupController)
fgCtr:FG_FindPartnerStat(
self.group_id,
qid, 0, 6, time_type, self.begin_time, self.end_time,
function(res)
-- printlog("aaaaaaaaaaaaaaaa22222222222222222222222222222")
-- pt(res)
ViewUtil.CloseModalWait()
if self._is_destroy then
return
end
if res.ReturnCode ~= 0 then
ViewUtil.ErrorTip(res.ReturnCode, '找不到成员')
else
self._view:GetChild('tex_id').text = ''
ctr_search.selectedIndex = 1
local item_result = self._view:GetChild('lst_member_find')
item_result:RemoveChildrenToPool()
for j = 1, #res.Data.members do
local tem = item_result:AddItemFromPool()
self:FillRecordItem(res.Data.members[j], tem)
end
end
end
)
end
)
local btn_back = self._view:GetChild('btn_back')
btn_back.onClick:Set(
function()
self.lst_record.numItems = #self.record_data
end
)
end
function M:GetRecordData(index)
ViewUtil.ShowModalWait()
local group = DataManager.groups:get(self.group_id)
local time_type = self._view:GetController("type").selectedIndex
if self.begin_time ~= nil and self.end_time ~= nil then
time_type = 0
end
local fgCtr = ControllerManager.GetController(NewGroupController)
fgCtr:FG_GetPartnerStat(self.group_id, index, 6, time_type, self.begin_time, self.end_time, function(res)
ViewUtil.CloseModalWait()
if res.ReturnCode == 0 then
local members = res.Data.members
printlog("aaaaaaaaaaaaaacccccccccccccccccccccccccccccccc")
pt(members)
if group.lev == 1 then
ViewUtil.ShowModalWait()
fgCtr:FG_GetPropLog(self.group_id, 0, 8, self.begin_time, self.end_time, function(res)
ViewUtil.CloseModalWait()
if res.ReturnCode ~= 0 then
ViewUtil.ErrorTip(res.ReturnCode, "获取排名信息失败")
else
local info = res.Data
self.groupumberTemp = {}
self.groupumberTemp.uid = group.owner
self.groupumberTemp.nick = group.o_nick
self.groupumberTemp.total_round = info.count
self.groupumberTemp.valid_round = info.valid_count * 100
self.groupumberTemp.reward_hp = 0
self.groupumberTemp.total_win = 0
self.record_data[1] = self.groupumberTemp
for i = 1, #members do
self.record_data[#self.record_data + 1] = members[i]
end
self.lst_record.numItems = #self.record_data
end
end)
else
self.record_data[1] = self.groupumberTemp
for i = 1, #members do
self.record_data[#self.record_data + 1] = members[i]
end
self.lst_record.numItems = #self.record_data
end
end
end)
end
-- 显示奖励
local function __showRewardsValue(rtype, cur_value, max_value, mng)
local str = ""
if not mng then
str = string.format("%s%%/%s%%", cur_value, max_value)
else
str = string.format("%s%%", cur_value)
end
return str
end
function M:FillRecordItem(data, obj)
local group = DataManager.groups:get(self.group_id)
if group.lev == 1 then
obj:GetChild("tex_name").text = ViewUtil.stringEllipsis(data.nick)
else
obj:GetChild("tex_name").text = ViewUtil.stringEllipsis(data.nick) .. "(" .. data.total .. ")"
end
obj:GetChild("tex_id").text = "ID:" .. data.uid
local tex_total_score = obj:GetChild("tex_total_score")
local ctr_show_total = obj:GetController("show_total")
if data._total_hp then
tex_total_score.text = data._total_hp
ctr_show_total.selectedIndex = 1
else
ctr_show_total.selectedIndex = 0
end
obj:GetChild("tex_round_valid").text = d2ad(data.reward_hp + data.total_win) --d2ad(data.reward_hp) --data.valid_round / 100
obj:GetChild("tex_round_total").text = data.total_round
obj:GetChild("tex_total").text = d2ad(data.total_win)
obj:GetChild("tex_round_youxiao").text = data.valid_round / 100
local btn_check_members = obj:GetChild("btn_check_members")
btn_check_members.onClick:Set(function()
ViewUtil.ShowModalWait(self._root_view)
local fgCtr = ControllerManager.GetController(NewGroupController)
if data.uid == DataManager.SelfUser.account_id then
fgCtr:FG_GetMembersCount(self.group_id, function(res)
ViewUtil.CloseModalWait()
if res.ReturnCode == 0 then
tex_total_score.text = d2ad(res.Data.hp_num1 + res.Data.otherHp)
ctr_show_total.selectedIndex = 1
else
ViewUtil.ErrorTip(res.ReturnCode, "目标没有总线值")
end
end)
else
fgCtr:FG_GetTotalHp(self.group_id, data.uid, function(res)
ViewUtil.CloseModalWait()
if res.ReturnCode == 0 then
local hp = d2ad(res.Data.hp)
tex_total_score.text = hp
data._total_hp = hp
data.total = res.Data.total_member - 1
obj:GetChild("tex_name").text = data.nick .. "(" .. data.total .. ")"
ctr_show_total.selectedIndex = 1
end
end)
end
end)
local btn_award = obj:GetChild("btn_award")
btn_award.text = d2ad(data.reward_hp) --d2ad(data.reward_hp+data.total_win)
btn_award.onClick:Set(function()
local time_type = self._view:GetController("type").selectedIndex
local gniv = GroupPartnerStatPlay.new(self.group_id, data.uid, data.partnerLev, DataManager.SelfUser.account_id,
time_type, self.begin_time, self.end_time)
gniv:Show()
end)
local btn_detail = obj:GetChild("btn_detail")
btn_detail.onClick:Set(function()
local time_type = self._view:GetController("type").selectedIndex
--printlog("ccccccccccwwwwwwwwwwwwwwwwwwwwwwwwwwww ",self.begin_time," ",self.end_time)
local gniv = GroupPartnerStatMember.new(self.group_id, data.uid, 0, self.begin_time, self.end_time)
gniv:Show()
end)
local btnMen = obj:GetChild("btnMen")
-- btnMen.text = d2ad(data.autoscore)
local menControl = obj:GetController("menkan")
-- if group.lev == 1 or (group.lev == 3 and group.partnerLev > 0) then
-- if (DataManager.SelfUser.account_id ~= data.uid) then
-- menControl.selectedIndex = 1
-- btnMen.text = d2ad(data.autoscore)
-- btnMen.touchable = true
-- else
-- btnMen.text = d2ad(data.autoscore)
-- menControl.selectedIndex = 1
-- btnMen.touchable = false
-- end
-- else
-- menControl.selectedIndex = 0
-- end
btnMen.onClick:Set(function()
local gfiv = GroupNumberInputView.new(self._root_view, function(num)
local fgCtr = ControllerManager.GetController(NewGroupController)
fgCtr:FG_SetPartnerThreshold(self.group_id, data.uid, num, function(res)
ViewUtil.CloseModalWait()
if res.ReturnCode ~= 0 then
ViewUtil.ErrorTip(res.ReturnCode, "设置失败")
else
ViewUtil.ShowBannerOnScreenCenter("设置成功")
btnMen.text = num
data.autoscore = ad2d(num)
end
end)
end, 0)
gfiv:Show()
end)
end
function M:OnRenderRecordItem(index, obj)
local data = self.record_data[index + 1]
self:FillRecordItem(data, obj)
end
return M