hengyang_client/lua_probject/base_project/Game/View/FamilyZuo/FamilyManagerView.lua

75 lines
2.2 KiB
Lua

local FamilyManagerTable = import(".FamilyManagerTable")
local FamilyManagerView = {}
local M = FamilyManagerView
local MangerURL = {"ui://Family/FamilyManager"}
function FamilyManagerView.new(data,callback)
setmetatable(M, { __index = BaseWindow })
local self = setmetatable({}, { __index = M })
self.class = "FamilyManagerView"
self._data = data or {}
self._callback = callback
self._close_destroy = true
self._full = true
self._full_offset = false
self:init()
return self
end
function M:init()
self._data.pageType = self._data.pageType or 1
getmetatable(M).__index.init(self,FamilyManagerTable.ManagerManger[self._data.pageType].url)
local view = self._view
self._viewList_left = view:GetChild('list_left')
self._viewList_left.itemRenderer = handler(self,self.ManagerItemRenderer)
self._viewList_left.onClickItem:Set(handler(self,self.ManagerClick))
self:FillData()
end
--管理页面函数组--
function M:ManagerItemRenderer(index,obj)
local viewInfo = FamilyManagerTable.ManagerTable[FamilyManagerTable.ManagerManger[self._data.pageType].table[self._data.lev][index+1]]
obj:GetChild('text_down').text = viewInfo.title
obj:GetChild('text_up').text = viewInfo.title
end
function M:ManagerClick(context)
local viewInfo = FamilyManagerTable.ManagerTable[FamilyManagerTable.ManagerManger[self._data.pageType].table[self._data.lev][self._viewList_left.selectedIndex+1]]
viewInfo.view.new({root=self})
end
-----------------
function M:FillData()
local lev = self._data.lev or 1
self._data.lev = lev
self._viewList_left.numItems = #FamilyManagerTable.ManagerManger[self._data.pageType].table[lev]
local frsitIndex = self._data.frsitIndex or 1
local viewInfo = FamilyManagerTable.ManagerTable[FamilyManagerTable.ManagerManger[self._data.pageType].table[lev][frsitIndex]]
viewInfo.view.new({root=self})
self._viewList_left.selectedIndex = frsitIndex - 1
self:Show()
end
-- 打开窗口
function M:Show()
getmetatable(M).__index.Show(self)
end
-- 关闭窗口
function M:Close()
getmetatable(M).__index.Close(self)
end
-- 销毁窗口
function M:Destroy()
getmetatable(M).__index.Destroy(self)
end
return M