-- xx界面 local CSPTasks = {} local csSelf = nil local transform = nil CSPTasks.sizeAdjust = 1 CSPTasks.contentRect = Vector4.zero local uiobjs = {} local headData = {} -- 初始化,只会调用一次 function CSPTasks.init(csObj) csSelf = csObj transform = csObj.transform CSPTasks.setEventDelegate() CSPTasks.contentRect = MyUtl.getUIContent(csSelf, 360+220) uiobjs.Content = getCC(transform, "PanelContent", "UIPanel") uiobjs.Content.transform.localPosition = Vector3.zero uiobjs.Content.clipOffset = Vector2.zero uiobjs.Content.baseClipRegion = CSPTasks.contentRect uiobjs.TableContent = getCC(uiobjs.Content.transform, "Table", "UITable") ---@type UIToggle uiobjs.ToggleCust = getCC(uiobjs.TableContent.transform, "Statistics/grid/ToggleCust", "UIToggle") uiobjs.Statistics = getChild(uiobjs.TableContent.transform, "Statistics") ---@type UIScrollView uiobjs.scrollView = uiobjs.Content:GetComponent("UIScrollView") ---@type CLUIFormRoot uiobjs.Top = getCC(transform, "Top", "CLUIFormRoot") ---@type UITexture uiobjs.HeadIcon = getCC(uiobjs.Top.transform, "SpriteHeadBg/SpriteHeadIcon", "UITexture") end -- 设置数据 function CSPTasks.setData(paras) -- 初始化顶部数据 local currGroup = Prefs.getCurrGroup(Prefs.getUserName()) local companyInfro = json.decode(currGroup) local user = DBUser.getUserById(companyInfro.login_no) headData.company_id = companyInfro.company_id headData.company_name = companyInfro.company_name if user then headData.loginNo = user.loginNo headData.loginName = user.loginName headData.imageUrl = user.imageUrl else printe("账号信息未取得!") end -- 取得头像 NetProto.send.person_view_query() NetProto.send.sales_view_query() end -- 显示,在c#中。show为调用refresh,show和refresh的区别在于,当页面已经显示了的情况,当页面再次出现在最上层时,只会调用refresh function CSPTasks.show() local list = {} for i = 1, 100 do list[i] = i end -- uiobjs.TableTask:setList(list, nil) uiobjs.ToggleCust:Set(true) CSPTasks.showReportform("reportform1") uiobjs.scrollView:ResetPosition() end function CSPTasks.onClickBottonBtn(cell) end -- 刷新 function CSPTasks.refresh() CSPTasks.setHeadInfor() end function CSPTasks.setHeadInfor() uiobjs.Top:setValue(headData) DBUser.getIcon( headData.loginNo, function(content) uiobjs.HeadIcon.mainTexture = content end ) end -- 关闭页面 function CSPTasks.hide() if CSPTasks.reportform then CLUIOtherObjPool.returnObj(CSPTasks.reportform.gameObject) SetActive(CSPTasks.reportform.gameObject, false) CSPTasks.reportform = nil end end -- 网络请求的回调;cmd:指命,succ:成功失败,msg:消息;paras:服务器下行数据 function CSPTasks.procNetwork(cmd, succ, msg, paras) if (succ == NetSuccess) then if cmd == NetProto.cmds.person_view_query then for k, v in pairs(paras.result) do headData[k] = v end CSPTasks.setHeadInfor() elseif cmd == NetProto.cmds.sales_view_query then for k, v in pairs(paras.result) do headData[k] = v end CSPTasks.setHeadInfor() end end end function CSPTasks.returnReportform() end function CSPTasks.showReportform(prefabName) if CSPTasks.reportform and CSPTasks.reportform.name ~= prefabName then CLUIOtherObjPool.returnObj(CSPTasks.reportform.gameObject) SetActive(CSPTasks.reportform.gameObject, false) CSPTasks.reportform = nil end if CSPTasks.reportform then CSPTasks.reportform:init({}, nil) else CLUIOtherObjPool.borrowObjAsyn( prefabName, function(name, go, orgs) CSPTasks.reportform = go:GetComponent("CLCellLua") go.transform.parent = uiobjs.Statistics go.transform.localPosition = Vector3(0, -465, 0) go.transform.localScale = Vector3.one go.transform.localEulerAngles = Vector3.zero SetActive(go, true) CSPTasks.reportform:init({}, nil) end ) end end function CSPTasks.setEventDelegate() CSPTasks.EventDelegate = { ToggleCust = function() CSPTasks.showReportform("reportform1") end, ToggleOrder = function() CSPTasks.showReportform("reportform2") end, ToggleTarget = function() CSPTasks.showReportform("reportform3") end, ButtonCusts = function() getPanelAsy("PanelCustList", onLoadedPanelTT) end, ButtonRecord = function() getPanelAsy("PanelFollowList", onLoadedPanelTT) end, ButtonCustOcean = function() end, ButtonOrder = function() getPanelAsy("PanelOrderList", onLoadedPanelTT) end, } end -- 处理ui上的事件,例如点击等 function CSPTasks.uiEventDelegate(go) local func = CSPTasks.EventDelegate[go.name] if func then func() end end -- 当按了返回键时,关闭自己(返值为true时关闭) function CSPTasks.hideSelfOnKeyBack() return false end -------------------------------------------- return CSPTasks