This commit is contained in:
2020-07-04 14:41:25 +08:00
parent 70c346d2c1
commit a8f02e4da5
3748 changed files with 587372 additions and 0 deletions

View File

@@ -0,0 +1,48 @@
-- xx单元
do
local _cell = {}
local csSelf = nil;
local transform = nil;
local mData = nil;
local uiobjs = {}
-- 初始化,只调用一次
function _cell.init (csObj)
csSelf = csObj;
transform = csSelf.transform;
--[[
上的组件getChild(transform, "offset", "Progress BarHong"):GetComponent("UISlider");
--]]
uiobjs.Background = getCC(transform, "Background", "UISprite")
uiobjs.Label = getCC(transform, "Label", "UILabel")
uiobjs.LabelStat = getCC(transform, "LabelStat", "UILabel")
uiobjs.LabelNew = getCC(transform, "LabelNew", "UILabel")
end
-- 显示,
-- 注意c#侧不会在调用show时调用refresh
function _cell.show ( go, data )
mData = data;
uiobjs.Label.text = mData.name
local stateDesc = ""
local status = bio2number(mData.status)
if status == 2 then
stateDesc = joinStr("[00ffff]", LGet("StateCrowded"),"[-]")
elseif status == 3 then
stateDesc = LGet("StateMaintain")
stateDesc = joinStr("[ff0000]", LGet("StateMaintain"),"[-]")
else
stateDesc = joinStr("[00ff00]", LGet("StateNomal"),"[-]")
end
uiobjs.LabelStat.text = stateDesc
SetActive(uiobjs.LabelNew.gameObject, mData.isnew and true or false)
end
-- 取得数据
function _cell.getData ( )
return mData;
end
--------------------------------------------
return _cell;
end

View File

@@ -0,0 +1,4 @@
fileFormatVersion: 2
guid: e0f5fb10e29b948f5bc764c795610637
DefaultImporter:
userData:

View File

@@ -0,0 +1,50 @@
-- 界面元素对象
local csSelf = nil
local transform = nil
local Label
local ProgressBar
-- 属性值变量
local mData = nil
local uiCell = {}
function uiCell.init(go)
transform = go.transform
csSelf = transform:GetComponent("CLCellLua")
Label = getChild(transform, "Label"):GetComponent("UILabel")
ProgressBar = getChild(transform, "Progress Bar"):GetComponent("UISlider")
end
function uiCell.show(go, data)
mData = data
NGUITools.SetActive(ProgressBar.gameObject, true)
Label.text = ""
InvokeEx.cancelInvokeByUpdate(uiCell.refresh)
uiCell.refresh()
end
function uiCell.refresh()
if (mData == nil or mData.www == nil) then
NGUITools.SetActive(ProgressBar.gameObject, false)
Label.text = ""
return
end
-- Label.text = PStr.b():a(mData.url):a("..."):a(mData.www.progress*100):a("%"):e()
Label.text = PStr.b():a(math.floor(mData.www.downloadProgress * 100)):a("%"):e()
ProgressBar.value = mData.www.downloadProgress
InvokeEx.invokeByUpdate(uiCell.refresh, 0.02)
end
function uiCell.OnDisable()
InvokeEx.cancelInvokeByUpdate(uiCell.refresh)
end
function uiCell.getdata()
return mData, uiCell
end
------------------------------------
return uiCell

View File

@@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 23975cf82b438402e8adf415427ca74d
timeCreated: 1498220629
licenseType: Pro
DefaultImporter:
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,53 @@
-- 通用ui框1
---@class _BGFrame1Param init时传入参数
---@field title string 标题
---@field isHideCloseBtn boolean 是否隐藏关闭按钮
---@field closeCallback function 关闭回调
---@field panel CLPanelLua 所在的Panel
local _cell = {}
local csSelf = nil
local transform = nil
local mData = nil
local uiobjs = {}
-- 初始化,只调用一次
function _cell.init(csObj)
csSelf = csObj
transform = csSelf.transform
---@type UISprite
uiobjs.bg = csSelf:GetComponent("UISprite")
-- uiobjs.topBg = getCC(transform, "top", "UISprite")
-- uiobjs.topBg.width = NumEx.getIntPart(MyUtl.getSizeAdjust() * Screen.width)
uiobjs.LabelTitle = getCC(transform, "top/LabelTitle", "UILabel")
uiobjs.bg.width = NumEx.getIntPart(MyUtl.getSizeAdjust() * Screen.width)
uiobjs.bg.height = NumEx.getIntPart(MyUtl.getSizeAdjust() * Screen.height)
uiobjs.ButtonClose = getCC(transform, "top/ButtonClose", "UISprite")
end
-- 显示,
-- 注意c#侧不会在调用show时调用refresh
function _cell.show(go, data)
mData = data
uiobjs.LabelTitle.text = mData.title
SetActive(uiobjs.ButtonClose.gameObject, not (mData.isHideCloseBtn or false))
end
function _cell.uiEventDelegate(go)
local goName = go.name
if goName == "ButtonClose" then
if mData.closeCallback then
Utl.doCallback(mData.closeCallback)
else
hideTopPanel(mData.panel)
end
end
end
-- 取得数据
function _cell.getData()
return mData
end
--------------------------------------------
return _cell

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: fff9d5644abf04a23bf81de467d55aee
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,57 @@
-- 通用ui框1
---@class _BGFrame2Param init时传入参数
---@field title string 标题
---@field closeCallback function 关闭回调
---@field panel CLPanelLua 所在的Panel
---@field hideClose boolean true时隐藏关闭按钮
---@field hideTitle boolean true时隐藏标题
local _cell = {}
local csSelf = nil
local transform = nil
local mData = nil
local uiobjs = {}
-- 初始化,只调用一次
function _cell.init(csObj)
csSelf = csObj
transform = csSelf.transform
uiobjs.BtnClose = getChild(transform, "ButtonClose").gameObject
uiobjs.LabelTitle = getCC(transform, "LabelTitle", "UILabel")
end
-- 显示,
-- 注意c#侧不会在调用show时调用refresh
function _cell.show(go, data)
mData = data
if mData.hideClose then
SetActive(uiobjs.BtnClose, false)
else
SetActive(uiobjs.BtnClose, true)
end
if mData.hideTitle then
SetActive(uiobjs.LabelTitle.gameObject, false)
else
uiobjs.LabelTitle.text = mData.title
SetActive(uiobjs.LabelTitle.gameObject, true)
end
end
function _cell.uiEventDelegate(go)
local goName = go.name
if goName == "ButtonClose" then
if mData.closeCallback then
Utl.doCallback(mData.closeCallback)
else
hideTopPanel(mData.panel)
end
end
end
-- 取得数据
function _cell.getData()
return mData
end
--------------------------------------------
return _cell

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 7c5e867419f5d4dfcbe71b74bca24703
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,59 @@
-- 单元
local uiCell = {}
local csSelf = nil
local transform = nil
local gameObject = nil
local Background = nil
local Label = nil
local mData = nil
function uiCell.init(go)
gameObject = go
transform = go.transform
csSelf = gameObject:GetComponent("CLCellLua")
Background = getChild(transform, "Background"):GetComponent("UISprite")
Label = getChild(transform, "Label"):GetComponent("UILabel")
end
function uiCell.show(go, data)
mData = data
if (mData.day < 0) then
Label.text = ""
else
Label.text = tostring(mData.day)
end
local isSelected = MapEx.getBool(mData, "isSelected")
uiCell.refreshState(isSelected)
end
function uiCell.refreshState(isSelected)
if (mData == nil) then
return
end
mData.isSelected = isSelected
if (mData.isToday) then
Background.color = ColorEx.getColor(133, 255, 133)
Label.color = ColorEx.getColor(0xff363636)
else
Background.color = ColorEx.getColor(242, 242, 242)
Label.color = ColorEx.getColor(0xff363636)
end
if (isSelected) then
Background.color = ColorEx.getColor(0xff2990dc)
Label.color = Color.white
end
end
function uiCell.refresh(flag)
end
function uiCell.getData()
return mData
end
return uiCell

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 48071f648fc834738b1465dccb2289dd
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,101 @@
-- xx单元
do
local _cell = {}
local csSelf = nil;
local transform = nil;
local grid;
local dayPrefab = nil;
local mData = nil;
-- 初始化,只调用一次
function _cell.init(csObj)
csSelf = csObj;
transform = csSelf.transform;
grid = getChild(transform, "Grid"):GetComponent("UIGrid");
dayPrefab = getChild(grid.transform, "00000").gameObject;
end
-- 显示,
-- 注意c#侧不会在调用show时调用refresh
function _cell.show(go, data)
end
-- 注意c#侧不会在调用show时调用refresh
function _cell.refresh(data, pageIndex)
mData = data;
if (mData == nil) then
mData = {}
local curYear, curMonth = PanelCalender.getData();
if (pageIndex < 0) then
mData.year, mData.month = PanelCalender.getYYHH_ByaddMonth(curYear, curMonth, -6 + pageIndex);
else
mData.year, mData.month = PanelCalender.getYYHH_ByaddMonth(curYear, curMonth, -6 + pageIndex);
end
end
CLUIUtl.resetList4Lua(grid, dayPrefab,
_cell.resetCalender(mData.year, mData.month),
_cell.initCellDay);
end
-- 取得数据
function _cell.getData()
return mData;
end
function _cell.initCellDay(cell, day)
local data = {}
data.day = day;
-- print(mData.year);
-- print(mData.month);
-- print(day);
-- print("=================");
if (mData.year == DateTime.Now.Year and
mData.month == DateTime.Now.Month and
day == DateTime.Now.Day) then
data.isToday = true;
PanelCalender.setDefalutSelectDate(cell, mData.year, mData.month, day);
else
data.isToday = false;
data.isSelected = false;
end
local selectedYear, selectedMonth, selectedDay = PanelCalender.getSelectDate();
if (mData.year == selectedYear and mData.month == selectedMonth and selectedDay == data.day) then
data.isSelected = true;
end
cell:init(data, _cell.onClickDay);
end
function _cell.onClickDay(cell)
local d = cell.luaTable.getData();
if (d.day == -1) then
return;
end
local selectedDay = cell.luaTable.getData().day;
local selectedMonth = mData.month;
local selectedYear = mData.year;
PanelCalender.setSelectDate(cell, selectedYear, selectedMonth, selectedDay);
end
function _cell.resetCalender(year, month)
local list = ArrayList();
local dayCount = DateEx.getMothDays(year, month);
local week = DateEx.getWeek(year, month, 1);
for i = 0, week - 1 do
list:Add(-1);
end
for i = week, dayCount - 1 + week do
-- print(i .. "-" .. week .. "+1");
list:Add(i - week + 1);
end
for i = dayCount + week, 41 do
list:Add(-1);
end
return list;
end
--------------------------------------------
return _cell;
end

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: faabfe2c47942447cb2f79efd27030e3
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,35 @@
-- 单元
do
local uiCell = {}
local csSelf = nil;
local transform = nil;
local gameObject = nil;
-- local Background = nil;
local Label = nil;
local mData = nil;
function uiCell.init (go)
gameObject = go;
transform = go.transform;
csSelf = gameObject:GetComponent("CLCellLua");
-- Background = getChild(transform, "Background"):GetComponent("UISprite");
Label = csSelf:GetComponent("UILabel")
end;
function uiCell.show ( go, data )
mData = data;
Label.text = isNilOrEmpty(mData) and "请选择" or mData
end;
function uiCell.refresh ( flag )
end
function uiCell.getData ( )
return mData;
end;
return uiCell;
end

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: d462a4d5910ea43c8a6983d8a54fbe9d
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,76 @@
---@class CellBottomBtn
local _cell = {}
local csSelf = nil
local transform = nil
local mData = nil
local uiobjs = {}
-- 初始化,只调用一次
function _cell.init(csObj)
csSelf = csObj
transform = csSelf.transform
--[[
上的组件getChild(transform, "offset", "Progress BarHong"):GetComponent("UISlider");
--]]
---@type UIToggle
uiobjs.toggle = csSelf:GetComponent("UIToggle")
uiobjs.Label = getCC(transform, "Label", "UILabel")
-- uiobjs.LabelCheck = getCC(transform, "LabelCheck", "UILabel")
uiobjs.boxCollider = csSelf:GetComponent("BoxCollider")
uiobjs.Background = getCC(transform, "Background", "UISprite")
uiobjs.Checkmark = getCC(transform, "Checkmark", "UISprite")
uiobjs.LabelReddotNum = getCC(transform, "LabelReddotNum", "UILabel")
end
-- 显示,
-- 注意c#侧不会在调用show时调用refresh
function _cell.show(go, data)
mData = data
uiobjs.Label.text = mData.name
-- uiobjs.LabelCheck.text = mData.name
uiobjs.boxCollider.center = Vector3.zero
uiobjs.boxCollider.size = Vector3(mData.width, 150, 0)
uiobjs.Background.spriteName = mData.Background
uiobjs.Checkmark.spriteName = mData.Checkmark
_cell.setReddotNum(0)
end
function _cell.setReddotNum(num)
if num and num > 0 then
SetActive(uiobjs.LabelReddotNum.gameObject, true)
if num > 9 then
uiobjs.LabelReddotNum.text = ""
else
uiobjs.LabelReddotNum.text = tostring(num)
end
else
SetActive(uiobjs.LabelReddotNum.gameObject, false)
end
end
-- 注意c#侧不会在调用show时调用refresh
function _cell.setSelected(val)
uiobjs.toggle:Set(val)
end
function _cell.refreshState()
if uiobjs.toggle.value then
uiobjs.Background.color = Color.white
uiobjs.Label.color = ColorEx.getColor(0xff2990dc)
else
uiobjs.Background.color = ColorEx.getColor(153, 153, 153)
uiobjs.Label.color = ColorEx.getColor(153, 153, 153)
end
end
-- 取得数据
function _cell.getData()
return mData
end
function _cell.uiEventDelegate(go)
_cell.refreshState()
end
--------------------------------------------
return _cell

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 584abe18673e54467a28a58cabbdc22d
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,53 @@
-- xx单元
local _cell = {}
---@type Coolape.CLCellLua
local csSelf = nil
local transform = nil
local mData = nil
local uiobjs = {}
-- 初始化,只调用一次
function _cell.init(csObj)
csSelf = csObj
transform = csSelf.transform
uiobjs.bg = csSelf:GetComponent("UISprite")
uiobjs.SpriteIcon = getCC(transform, "SpriteIcon", "UISprite")
uiobjs.LabelName = getCC(transform, "LabelName", "UILabel")
uiobjs.LabelState = getCC(transform, "LabelState", "UILabel")
uiobjs.SpriteState = getCC(uiobjs.LabelState.transform, "SpriteState", "UISprite")
end
-- 显示,
-- 注意c#侧不会在调用show时调用refresh
function _cell.show(go, data)
mData = data
-- uiobjs.SpriteIcon.spriteName = ""
uiobjs.LabelName.text = mData.company_name
_cell.selected(false)
end
function _cell.selected(val)
if val then
uiobjs.bg.color = ColorEx.getColor(0xff2990dc)
uiobjs.SpriteIcon.color = Color.white
uiobjs.LabelName.color = Color.white
-- uiobjs.LabelState.color = Color.white
uiobjs.LabelState.text = "已进入"
uiobjs.SpriteState.color = ColorEx.getColor(0xff1971b8)
else
uiobjs.bg.color = ColorEx.getColor(0xfff4f4f4)
uiobjs.SpriteIcon.color = ColorEx.getColor(0xff2990dc)
uiobjs.LabelName.color = ColorEx.getColor(0xff999999)
uiobjs.LabelState.text = "未进入"
-- uiobjs.LabelState.color = ColorEx.getColor(0xff999999)
uiobjs.SpriteState.color = ColorEx.getColor(0xffcccccc)
end
end
-- 取得数据
function _cell.getData()
return mData
end
--------------------------------------------
return _cell

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: e5aa37c501f07408b8b5a81624f825cd
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,48 @@
---@class _ParamCellCustFilter
---@field name string
---@field value number
---@field selected boolean
-- xx单元
local _cell = {}
---@type Coolape.CLCellLua
local csSelf = nil
local transform = nil
---@type _ParamCellCustFilter
local mData = nil
local uiobjs = {}
-- 初始化,只调用一次
function _cell.init(csObj)
csSelf = csObj
transform = csSelf.transform
uiobjs.Label = getCC(transform, "Label", "UILabel")
uiobjs.bg = csSelf:GetComponent("UISprite")
end
-- 显示,
-- 注意c#侧不会在调用show时调用refresh
function _cell.show(go, data)
mData = data
uiobjs.Label.text = mData.name
_cell.setSelect(mData.selected)
end
function _cell.setSelect(val)
mData.selected = val
if val then
uiobjs.bg.color = ColorEx.getColor(0xff2990dc)
uiobjs.Label.color = ColorEx.getColor(0xff2990dc)
else
uiobjs.bg.color = ColorEx.getColor(0xff999999)
uiobjs.Label.color = ColorEx.getColor(0xff999999)
end
end
-- 取得数据
function _cell.getData()
return mData
end
--------------------------------------------
return _cell

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: d5b176eb48a524ecba3f4e4e95603880
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,86 @@
---@class _ParamCellCustFilterGroup
---@field title
---@field panel TRPCustFilter
---@field list
-- xx单元
local _cell = {}
---@type Coolape.CLCellLua
local csSelf = nil
local transform = nil
---@type _ParamCellCustFilterGroup
local mData = nil
local uiobjs = {}
local cells = {}
local firstCell
local selectedCells = {}
-- 初始化,只调用一次
function _cell.init(csObj)
csSelf = csObj
transform = csSelf.transform
uiobjs.LabelTitle = getCC(transform, "LabelTitle", "UILabel")
uiobjs.grid = getCC(transform, "Grid", "UIGrid")
uiobjs.gridPrefab = getChild(uiobjs.grid.transform, "00000").gameObject
end
-- 显示,
-- 注意c#侧不会在调用show时调用refresh
function _cell.show(go, data)
mData = data
uiobjs.LabelTitle.text = mData.title
selectedCells = {}
cells = {}
CLUIUtl.resetList4Lua(uiobjs.grid, uiobjs.gridPrefab, mData.list, _cell.initCell)
end
function _cell.initCell(cell, data)
cell:init(data, _cell.onClickCell)
if data.value == -1 then
firstCell = cell
else
table.insert(cells, cell)
end
end
function _cell.onClickCell(cell, data)
data.selected = not data.selected
cell.luaTable.setSelect(data.selected)
if data.value == -1 then
-- 说明是全部
for i, v in ipairs(cells) do
v.luaTable.setSelect(data.selected)
end
else
local isAllSelected = true
for i, v in ipairs(cells) do
local d = v.luaTable.getData()
if not d.selected then
isAllSelected = false
break
end
end
if firstCell then
firstCell.luaTable.setSelect(isAllSelected)
end
end
mData.panel:refreshFilterBtnStatus()
end
-- 取得数据
function _cell.getData()
return mData
end
function _cell.uiEventDelegate(go)
if go.name == "ButtonReset" then
-- 说明是全部
for i, v in ipairs(cells) do
v.luaTable.setSelect(false)
end
mData.panel:refreshFilterBtnStatus()
end
end
--------------------------------------------
return _cell

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 7ac5c1a0c6c1b467e8371305ca26efd8
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,56 @@
-- xx单元
local _cell = {}
---@type Coolape.CLCellLua
local csSelf = nil
local transform = nil
---@type _DBCust
local mData = nil
local uiobjs = {}
-- 初始化,只调用一次
function _cell.init(csObj)
csSelf = csObj
transform = csSelf.transform
-- uiobjs.LabelCompanyName = getCC(transform, "LabelCompanyName", "UILabel")
-- uiobjs.LabelTime = getCC(transform, "LabelTime", "UILabel")
---@type UIPopupList
uiobjs.LabelStatus = getCC(transform, "LabelStatus", "UIPopupList")
-- uiobjs.LabelCustName = getCC(transform, "LabelCustName", "UILabel")
-- uiobjs.SpriteStatus = getCC(transform, "SpriteStatus", "UISprite")
-- uiobjs.LabelServerNo = getCC(transform, "LabelServerNo", "UILabel")
---@type CLUIFormRoot
uiobjs.formRoot = csSelf:GetComponent("CLUIFormRoot")
uiobjs.SpriteStatus = getChild(transform, "SpriteStatus")
end
-- 显示,
-- 注意c#侧不会在调用show时调用refresh
function _cell.show(go, data)
mData = data
mData.lastFollowUpTime = isNilOrEmpty(mData.lastFollowUpTime) and "" or mData.lastFollowUpTime
local optionInfor = DBCust.getFilter4Popup(DBCust.FilterGroup.dealFlagList)
uiobjs.LabelStatus:refreshItems(optionInfor.options, optionInfor.values)
uiobjs.formRoot:setValue(mData)
if tostring(mData.dealflag) == "0" then
SetActive(uiobjs.SpriteStatus.gameObject, true)
else
SetActive(uiobjs.SpriteStatus.gameObject, false)
end
end
-- 取得数据
function _cell.getData()
return mData
end
function _cell.uiEventDelegate(go)
local goName = go.name
if goName == "ButtonFollow" then
elseif goName == "ButtonTask" then
elseif goName == "ButtonContact" then
MyUtl.callCust(mData)
end
end
--------------------------------------------
return _cell

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: a638791df10c24243889127c08cff35f
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,34 @@
-- xx单元
local _cell = {}
---@type Coolape.CLCellLua
local csSelf = nil
local transform = nil
---@type _DBTaskCust
local mData = nil
local uiobjs = {}
-- 初始化,只调用一次
function _cell.init(csObj)
csSelf = csObj
transform = csSelf.transform
uiobjs.LabelName = getCC(transform, "LabelName", "UILabel")
uiobjs.LabelTime = getCC(transform, "LabelTime", "UILabel")
uiobjs.SpriteReddot = getChild(transform, "SpriteReddot").gameObject
end
-- 显示,
-- 注意c#侧不会在调用show时调用refresh
function _cell.show(go, data)
mData = data
uiobjs.LabelName.text = mData.custName
uiobjs.LabelTime.text = DateEx.formatByMs(mData.bookingtime)
SetActive(uiobjs.SpriteReddot, mData.bookingDone == DBMessage.BookingDone.effect)
end
-- 取得数据
function _cell.getData()
return mData
end
--------------------------------------------
return _cell

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 75a61a1b2b23c4148b1bab590b0f9fc5
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,38 @@
-- xx单元
local _cell = {}
---@type Coolape.CLCellLua
local csSelf = nil
local transform = nil
local mData = nil
local uiobjs = {}
-- 初始化,只调用一次
function _cell.init(csObj)
csSelf = csObj
transform = csSelf.transform
--[[
上的组件getChild(transform, "offset", "Progress BarHong"):GetComponent("UISlider");
--]]
uiobjs.sprite = csSelf:GetComponent("UISprite")
end
-- 显示,
-- 注意c#侧不会在调用show时调用refresh
function _cell.show(go, data)
mData = data
if mData.value then
uiobjs.sprite.color = ColorEx.getColor(0xffFFC000)
CLUIUtl.setSpriteFit(uiobjs.sprite, "cust_full_star")
else
uiobjs.sprite.color = ColorEx.getColor(0xffd9d9d9)
CLUIUtl.setSpriteFit(uiobjs.sprite, "cust_star")
end
end
-- 取得数据
function _cell.getData()
return mData
end
--------------------------------------------
return _cell

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 6a7228ecb8f2e4386a6fee7ac39c2e8b
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,164 @@
---@class _ParamFieldAttr
---@field attrType
---@field ifMust
---@field attrName
---@field attrValue
---@field id
---@field checkMin
---@field checkMax
---@class _ParamCellExtendField
---@field
-- xx单元
local _cell = {}
---@type Coolape.CLCellLua
local csSelf = nil
local transform = nil
local mData = nil
---@type _ParamFieldAttr
local attr
local uiobjs = {}
-- 初始化,只调用一次
function _cell.init(csObj)
csSelf = csObj
transform = csSelf.transform
---@type UISprite
uiobjs.spriteBg = csSelf:GetComponent("UISprite")
if uiobjs.spriteBg == nil then
uiobjs.spriteBg = getCC(transform, "Background", "UISprite")
end
if uiobjs.spriteBg then
uiobjs.spriteBg.width = NumEx.getIntPart(CSPMain.contentRect.z)
end
uiobjs.boxCollider = csSelf:GetComponent("BoxCollider")
---@type UIInput
uiobjs.input = csSelf:GetComponent("UIInput")
---@type CLUIElement
uiobjs.element = csSelf:GetComponent("CLUIElement")
---@type UIPopupList
uiobjs.popList = csSelf:GetComponent("UIPopupList")
---@type CLUICheckbox
uiobjs.checkbox = csSelf:GetComponent("CLUICheckbox")
uiobjs.Label = getCC(transform, "Label", "UILabel")
uiobjs.inputLabel = uiobjs.Label and uiobjs.Label.text or ""
uiobjs.Label2 = getCC(transform, "Label2", "UILabel")
uiobjs.Label4 = getCC(transform, "Label4", "UILabel")
uiobjs.SpriteRight = getCC(transform, "SpriteRight", "UISprite")
uiobjs.ButtonReset = getCC(transform, "ButtonReset", "MyInputReset")
end
-- 显示,
-- 注意c#侧不会在调用show时调用refresh
function _cell.show(go, data)
mData = data
attr = mData.attr
if data.isEditMode then
_cell.enabeldObj(uiobjs.boxCollider, true)
if uiobjs.Label then
uiobjs.Label.text = uiobjs.inputLabel
end
if uiobjs.input then
uiobjs.input.defaultText = uiobjs.inputLabel
end
_cell.enabeldObj(uiobjs.Label4, true)
_cell.enabeldObj(uiobjs.SpriteRight, true)
if uiobjs.ButtonReset then
uiobjs.ButtonReset.disabled = false
end
else
_cell.enabeldObj(uiobjs.boxCollider, false)
if uiobjs.Label then
uiobjs.Label.text = ""
end
if uiobjs.input then
uiobjs.input.defaultText = ""
end
_cell.enabeldObj(uiobjs.Label4, false)
_cell.enabeldObj(uiobjs.SpriteRight, false)
if uiobjs.ButtonReset then
uiobjs.ButtonReset.disabled = true
end
end
local jsonKey = joinStr(attr.id, "_", attr.attrName)
if uiobjs.element then
uiobjs.element.valueIsNumber = false
uiobjs.element.isPhoneNum = false
uiobjs.element.canNull = (attr.ifMust == 1 and false or true)
uiobjs.element.jsonKey = jsonKey
uiobjs.element.labeName.text = attr.attrName
elseif uiobjs.checkbox then
uiobjs.checkbox.canNull = (attr.ifMust == 1 and false or true)
uiobjs.checkbox.jsonKey = jsonKey
uiobjs.checkbox.labeName.text = attr.attrName
end
_cell.enabeldObj(uiobjs.input, true)
if attr.attrType == DBCust.FieldType.text then
uiobjs.input.keyboardType = UIInput.KeyboardType.Default
elseif attr.attrType == DBCust.FieldType.number then
uiobjs.input.keyboardType = UIInput.KeyboardType.NumberPad
uiobjs.element.valueIsNumber = true
elseif attr.attrType == DBCust.FieldType.phone then
uiobjs.input.keyboardType = UIInput.KeyboardType.PhonePad
uiobjs.element.isPhoneNum = true
elseif attr.attrType == DBCust.FieldType.multext then
uiobjs.input.keyboardType = UIInput.KeyboardType.Default
elseif attr.attrType == DBCust.FieldType.dateTime then
_cell.enabeldObj(uiobjs.input, false)
elseif attr.attrType == DBCust.FieldType.checkbox then
_cell.enabeldObj(uiobjs.input, false)
local max = tonumber(attr.checkMax) or 0
uiobjs.checkbox.isMultMode = (max > 1) or (max == 0)
uiobjs.checkbox:init(attr)
elseif attr.attrType == DBCust.FieldType.popuplist then
_cell.enabeldObj(uiobjs.input, false)
local strs = strSplit(attr.attrValue, "|")
local array = ArrayList()
array:Add("")
for i, v in ipairs(strs) do
array:Add(v)
end
uiobjs.popList:refreshItems(array, array)
end
end
function _cell.enabeldObj(obj, val)
if obj then
obj.enabled = val
end
end
-- 取得数据
function _cell.getData()
return mData
end
function _cell.uiEventDelegate(go)
if attr.attrType == DBCust.FieldType.multext then
-- 说明大文本框改变了
mData.parent.onMultTextInputChg()
NGUITools.AddWidgetCollider(csSelf.gameObject, false)
uiobjs.Label4.enabled = (uiobjs.element.value == "" and true or false)
end
end
function _cell.onNotifyLua(go)
if
attr.attrType == DBCust.FieldType.popuplist or attr.attrType == DBCust.FieldType.checkbox or
attr.attrType == DBCust.FieldType.dateTime
then
Utl.doCallback(mData.onSelect, csSelf.gameObject)
else
Utl.doCallback(mData.onClick, csSelf.gameObject)
end
end
--------------------------------------------
return _cell

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: f702a2f309df7411399008841f82674a
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,127 @@
-- xx单元
local _cell = {}
---@type Coolape.CLCellLua
local csSelf = nil
local transform = nil
local mData = nil
local uiobjs = {}
---@type _DBCust
local cust
local fields
local fieldsObjs = {}
local isEditMode = true
local taskId = nil
local isFieldLoading = false
local oldtaskId
-- 初始化,只调用一次
function _cell.init(csObj)
csSelf = csObj
transform = csSelf.transform
---@type CLUIFormRoot
uiobjs.formRoot = csSelf:GetComponent("CLUIFormRoot")
---@type UITable
uiobjs.Table = csSelf:GetComponent("UITable")
end
-- 显示,
-- 注意c#侧不会在调用show时调用refresh
function _cell.show(go, data)
mData = data
cust = data.data or {}
isEditMode = data.isEditMode
_cell.release()
local taskId = tostring(cust.taskId)
if (not isFieldLoading) or taskId ~= oldtaskId then
isFieldLoading = true
oldtaskId = taskId
fields = DBCust.getFieldsByTask(taskId)
if fields and #fields > 0 then
showHotWheel()
_cell.initField(1, taskId)
end
end
end
function _cell.initField(index, taskId)
if taskId ~= oldtaskId then
return
end
local fileAttr = fields[index]
local name = ""
if fileAttr.attrType == DBCust.FieldType.popuplist then
name = "InputPoplist"
elseif fileAttr.attrType == DBCust.FieldType.dateTime then
name = "InputDate"
elseif fileAttr.attrType == DBCust.FieldType.multext then
name = "InputMultText"
elseif fileAttr.attrType == DBCust.FieldType.checkbox then
name = "InputCheckboxs"
else
name = "InputText"
end
CLUIOtherObjPool.borrowObjAsyn(name, _cell.onLoadField, {index = index, taskId = taskId})
end
---@param go UnityEngine.GameObject
function _cell.onLoadField(name, go, orgs)
local index = orgs.index
local taskId = orgs.taskId
if taskId ~= oldtaskId then
hideHotWheel()
CLUIOtherObjPool.returnObj(go)
SetActive(go, false)
return
end
go.transform.parent = transform
go.transform.localScale = Vector3.one
go.transform.localEulerAngles = Vector3.zero
local fileAttr = fields[index]
local cell = go:GetComponent("CLCellLua")
SetActive(go, true)
cell:init(
{
attr = fileAttr,
parent = _cell,
isEditMode = isEditMode,
onClick = mData.onClick,
onSelect = mData.onSelect
},
nil
)
table.insert(fieldsObjs, cell)
uiobjs.Table:Reposition()
if index == #fields then
_cell.onFinisInitFields()
else
_cell.initField(index + 1, taskId)
end
end
function _cell.onFinisInitFields()
isFieldLoading = false
uiobjs.Table:Reposition()
uiobjs.formRoot:setValue(cust.jsonstr)
Utl.doCallback(mData.onFinish)
hideHotWheel()
end
function _cell.release()
for i, v in ipairs(fieldsObjs) do
SetActive(v.gameObject, false)
CLUIOtherObjPool.returnObj(v.gameObject)
end
fieldsObjs = {}
end
function _cell.onMultTextInputChg()
uiobjs.Table.repositionNow = true
end
-- 取得数据
function _cell.getData()
return mData
end
--------------------------------------------
return _cell

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: de0b061c450a64f2f8b8e883fe6b9885
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,73 @@
---@class _ParamCellMessageGroup
---@field public icon string
---@field public bgColor number
---@field public type number
---@field public name string
-- xx单元
local _cell = {}
---@type Coolape.CLCellLua
local csSelf = nil
local transform = nil
---@type _ParamCellMessageGroup
local mData = nil
local uiobjs = {}
-- 初始化,只调用一次
function _cell.init(csObj)
csSelf = csObj
transform = csSelf.transform
uiobjs.Label = getCC(transform, "Label", "UILabel")
uiobjs.LabelNewest = getCC(transform, "LabelNewest", "UILabel")
uiobjs.LabelTime = getCC(transform, "LabelTime", "UILabel")
uiobjs.LabelReddotNum = getCC(transform, "LabelReddotNum", "UILabel")
uiobjs.SpriteIconBg = getCC(transform, "SpriteIconBg", "UISprite")
uiobjs.Icon = getCC(uiobjs.SpriteIconBg.transform, "Icon", "UISprite")
end
-- 显示,
-- 注意c#侧不会在调用show时调用refresh
function _cell.show(go, data)
mData = data
uiobjs.Label.text = mData.name
uiobjs.SpriteIconBg.color = ColorEx.getColor(mData.bgColor)
uiobjs.Icon.spriteName = mData.icon
if mData.type == DBMessage.MsgType.Sys then
---@type _DBMessage
local newestMsg = DBMessage.getNewestMessage(mData.type)
uiobjs.LabelNewest.text = newestMsg and newestMsg.CONTENT or ""
if newestMsg then
local time = tonumber(newestMsg.CREATETIME) or 0
uiobjs.LabelTime.text = DateEx.ToTimeCost(DateEx.nowMS - time * 1000)
else
uiobjs.LabelTime.text = ""
end
elseif mData.type == DBMessage.MsgType.Task then
---@type _DBTaskCust
-- local newestMsg = DBMessage.getNewestMessage(mData.type)
-- local time = tonumber(newestMsg.createtime) or 0
uiobjs.LabelTime.text = "" --DateEx.ToTimeCost(DateEx.nowMS - time * 1000)
local num = DBMessage.getUnreadNum(mData.type)
uiobjs.LabelNewest.text = joinStr("您有", num, "代办任务未处理")
end
if DBMessage.getUnreadNum(mData.type) > 0 then
local unreadNum = DBMessage.getUnreadNum(mData.type) or 0
if unreadNum and unreadNum > 9 then
uiobjs.LabelReddotNum.text = ""
else
uiobjs.LabelReddotNum.text = joinStr(unreadNum)
end
SetActive(uiobjs.LabelReddotNum.gameObject, true)
else
SetActive(uiobjs.LabelReddotNum.gameObject, false)
end
end
-- 取得数据
function _cell.getData()
return mData
end
--------------------------------------------
return _cell

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 908ed969d14cf44e1ab60d7cf0d76dc5
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,59 @@
---@class _ParamPopCheckbox
---@field label
---@field isMultMode
---@field checked
-- xx单元
local _cell = {}
---@type Coolape.CLCellLua
local csSelf = nil
local transform = nil
---@type _ParamPopCheckbox
local mData = nil
local uiobjs = {}
-- 初始化,只调用一次
function _cell.init(csObj)
csSelf = csObj
transform = csSelf.transform
---@type UIToggle
uiobjs.toggle = getCC(transform, "Toggle", "UIToggle")
uiobjs.toggleBg = uiobjs.toggle:GetComponent("UISprite")
uiobjs.toggleCheckMark = getCC(uiobjs.toggle.transform, "Checkmark", "UISprite")
uiobjs.Label = getCC(transform, "Label", "UILabel")
end
-- 显示,
-- 注意c#侧不会在调用show时调用refresh
function _cell.show(go, data)
mData = data
uiobjs.Label.text = mData.label
if mData.isMultMode then
uiobjs.toggle.group = 0
CLUIUtl.setSpriteFit(uiobjs.toggleBg, "public_check")
CLUIUtl.setSpriteFit(uiobjs.toggleCheckMark, "public_check_full")
else
uiobjs.toggle.group = 909090
CLUIUtl.setSpriteFit(uiobjs.toggleBg, "public_radio")
CLUIUtl.setSpriteFit(uiobjs.toggleCheckMark, "public_radio_full")
end
uiobjs.toggle:Set(mData.checked)
end
-- 取得数据
function _cell.getData()
return mData
end
function _cell.uiEventDelegate(go)
mData.checked = uiobjs.toggle.value
if mData.checked then
uiobjs.Label.color = ColorEx.getColor(0xff2990dc)
else
uiobjs.Label.color = ColorEx.getColor(0xff363636)
end
mData.panel:onClickToggle()
end
--------------------------------------------
return _cell

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 8f80e16a8f2774d65bfd72659fc0b0fc
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,42 @@
-- xx单元
local _cell = {}
---@type Coolape.CLCellLua
local csSelf = nil
local transform = nil
local mData = nil
local uiobjs = {}
-- 初始化,只调用一次
function _cell.init(csObj)
csSelf = csObj
transform = csSelf.transform
---@type CLUIFormRoot
uiobjs.formRoot = csSelf:GetComponent("CLUIFormRoot")
---@type UIButton
uiobjs.ButtonPlayVoice = getCC(transform, "ButtonPlayVoice", "UIButton")
uiobjs.LabelLen = getCC(transform, "LabelLen", "UILabel")
end
-- 显示,
-- 注意c#侧不会在调用show时调用refresh
function _cell.show(go, data)
mData = data
uiobjs.formRoot:setValue(mData)
uiobjs.ButtonPlayVoice.isEnabled = (not isNilOrEmpty(mData.recordfile))
uiobjs.LabelLen.text = joinStr("录音:", DateEx.toStrCn(tonumber(mData.answertime)*1000))
end
-- 取得数据
function _cell.getData()
return mData
end
function _cell.uiEventDelegate(go)
if go.name == "ButtonPlayVoice" then
getPanelAsy("PanelPlaySoundRecord", onLoadedPanelTT, mData)
end
end
--------------------------------------------
return _cell

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: f985b8ea3fc7f4fc19eac1d5775794ea
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,143 @@
-- xx单元
local _cell = {}
---@type Coolape.CLCellLua
local csSelf = nil
local transform = nil
local mData = nil
local uiobjs = {}
local colors = {0xff2990dc, 0xffE74C3C, 0xff27EA60, 0xffF39C12}
local fromPosCache = {}
-- 初始化,只调用一次
function _cell.init(csObj)
csSelf = csObj
transform = csSelf.transform
uiobjs.grid = getCC(transform, "grid", "UIGrid")
uiobjs.prefab = getChild(uiobjs.grid.transform, "00000").gameObject
uiobjs.cells = {}
uiobjs.lines = {}
uiobjs.persentLbs = {}
for i = 1, 4 do
local path = joinStr("cell", i, "/Sprite")
uiobjs.cells[i] = getCC(transform, path, "UISprite")
uiobjs.lines[i] = getCC(transform, "SpriteLine" .. i, "UISprite")
uiobjs.persentLbs[i] = getCC(transform, "LabelPersent" .. i, "UILabel")
end
end
-- 显示,
-- 注意c#侧不会在调用show时调用refresh
function _cell.show(go, data)
-- mData = data
DBStatistics.custtype_report(
function(content)
if content.success then
_cell.refreshContent(content.result)
end
end
)
end
function _cell.getNearestFromPos(fromPos)
local minY = 10000
local result
for i, v in ipairs(fromPosCache) do
if (fromPos.x <= 0 and v.x <= 0) or (fromPos.x > 0 and v.x > 0) then
local diffY = math.abs(fromPos.y - v.y)
if diffY < minY then
minY = diffY
result = v
end
end
end
return result, minY
end
function _cell.getFromPos(dis, angle)
if dis < 10 then
return nil
end
local fromPos = AngleEx.getCirclePointV2(Vector2.zero, dis, angle)
local nearestPos, minY = _cell.getNearestFromPos(fromPos)
if nearestPos and minY < 30 then
fromPos = _cell.getFromPos(dis - 10, angle) or fromPos
end
table.insert(fromPosCache, fromPos)
return fromPos
end
function _cell.refreshContent(list)
-- list = {0.05, 0.35, 0.2, 0.4}
---@type UISprite
local sprite
local amoutCount = 0
fromPosCache = {}
for i, v in ipairs(list) do
v.i = i -- 方便后面用
local name = v.name
local persentValStr = v.value
local persentVal = tonumber(v.value) / 100
local line = uiobjs.lines[i]
local lb = uiobjs.persentLbs[i]
sprite = uiobjs.cells[i]
if persentVal > 0 then
local color = ColorEx.getColor(colors[i])
sprite.color = color
sprite.fillAmount = persentVal
sprite.transform.parent.localEulerAngles = Vector3(0, 0, -360 * amoutCount)
-- 画线
---@type UnityEngine.Vector3
-- local fromPos = AngleEx.getCirclePointV2(Vector2.zero, 160, 90 - (amoutCount + persentVal / 2) * 360)
local fromPos = _cell.getFromPos(160, 90 - (amoutCount + persentVal / 2) * 360)
fromPos = Vector3(fromPos.x, fromPos.y, 0)
-- if i % 2 ~= 0 then
-- sprite.transform.parent.localPosition = Vector3.zero
-- else
-- sprite.transform.parent.localPosition = fromPos.normalized * 5
-- end
local toPos
local maxX = 300
if fromPos.x > 0 then
toPos = Vector3(maxX, fromPos.y, 0)
else
toPos = fromPos
fromPos = Vector3(-maxX, fromPos.y, 0)
end
line.transform.localPosition = fromPos
line.width = NumEx.getIntPart(toPos.x - fromPos.x)
lb.text = joinStr(persentValStr, "%")
if fromPos.x > 0 then
lb.transform.localPosition = toPos + Vector3.right * 60
else
lb.transform.localPosition = fromPos + Vector3.left * 60
end
-- lb.color = color
SetActive(line.gameObject, true)
-----------
amoutCount = amoutCount + persentVal -- 这句一定要放到最后
else
SetActive(line.gameObject, false)
lb.text = ""
end
end
CLUIUtl.resetList4Lua(uiobjs.grid, uiobjs.prefab, list, _cell.initCell)
end
function _cell.initCell(cell, data)
local label = cell:GetComponent("UILabel")
local SpriteColor = getCC(cell.transform, "SpriteColor", "UISprite")
label.text = data.name
SpriteColor.color = ColorEx.getColor(colors[data.i])
end
-- 取得数据
function _cell.getData()
return mData
end
--------------------------------------------
return _cell

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 34e3a1e1a7e804adbb4a520eca21ddd9
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,84 @@
-- xx单元
local _cell = {}
---@type Coolape.CLCellLua
local csSelf = nil
local transform = nil
local mData = nil
local uiobjs = {}
local maxHeigth = 70 * 7
local maxValue
-- 初始化,只调用一次
function _cell.init(csObj)
csSelf = csObj
transform = csSelf.transform
uiobjs.gridX = getCC(transform, "gridX", "UIGrid")
uiobjs.PrefabX = getChild(uiobjs.gridX.transform, "00000").gameObject
uiobjs.gridY = getCC(transform, "gridY", "UIGrid")
uiobjs.PrefabY = getChild(uiobjs.gridY.transform, "00000").gameObject
end
-- 显示,
-- 注意c#侧不会在调用show时调用refresh
function _cell.show(go, data)
mData = data
maxValue = nil
DBStatistics.order_report(
function(content)
if content.success then
_cell.refreshContent(content.result)
end
end
)
end
function _cell.refreshContent(list)
for i, v in ipairs(list) do
if maxValue == nil or maxValue < tonumber(v.value) then
maxValue = tonumber(v.value)
end
end
local len = #(tostring(NumEx.getIntPart(maxValue)))
local offsetNum = 10 ^ (len - 1)
maxValue = maxValue + offsetNum
maxValue = NumEx.getIntPart(maxValue / offsetNum) * offsetNum
local offset = math.ceil(maxValue / 7)
offset = math.ceil(offset / 10) * 10
maxValue = offset * 7
local listY = {}
for i = 0, 7 do
table.insert(listY, {name = NumEx.getIntPart(i * offset)})
end
CLUIUtl.resetList4Lua(uiobjs.gridX, uiobjs.PrefabX, list, _cell.initCellX)
CLUIUtl.resetList4Lua(uiobjs.gridY, uiobjs.PrefabY, listY, _cell.initCellY)
end
function _cell.initCellX(cell, data)
local lb = cell:GetComponent("UILabel")
local lbValue = getCC(cell.transform, "Label", "UILabel")
---@type UISprite
local spVal = getCC(cell.transform, "SpriteVal", "UISprite")
lb.text = data.xlabel
if tonumber(data.value) <= 0 then
lbValue.text = ""
SetActive(spVal.gameObject, false)
else
SetActive(spVal.gameObject, true)
spVal.height = NumEx.getIntPart((tonumber(data.value) / maxValue) * maxHeigth)
lbValue.text = joinStr("", data.value)
end
end
function _cell.initCellY(cell, data)
local lb = cell:GetComponent("UILabel")
lb.text = data.name
end
-- 取得数据
function _cell.getData()
return mData
end
--------------------------------------------
return _cell

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: a1dd566172f844843b75aad2a840b2e9
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,63 @@
-- xx单元
local _cell = {}
---@type Coolape.CLCellLua
local csSelf = nil
local transform = nil
local mData = nil
local uiobjs = {}
-- 初始化,只调用一次
function _cell.init(csObj)
csSelf = csObj
transform = csSelf.transform
---@type CLUIFormRoot
uiobjs.formRoot = csSelf:GetComponent("CLUIFormRoot")
---@type UISprite
uiobjs.SpritePersent = getCC(transform, "SpritePersent", "UISprite")
uiobjs.LabelPersent = getCC(transform, "LabelPersent", "UILabel")
uiobjs.gapLb = getCC(transform, "grid/00002", "UILabel")
---@type CLUIElement
uiobjs.gapLbEl = uiobjs.gapLb:GetComponent("CLUIElement")
end
-- 显示,
-- 注意c#侧不会在调用show时调用refresh
function _cell.show(go, data)
mData = {}
DBStatistics.target_report(
function(content)
if content.success then
local mData = {}
for i, v in ipairs(content.result) do
if v.name == "目标" then
mData.target = tonumber(v.value)
elseif v.name == "已完成" then
mData.finished = tonumber(v.value)
end
end
mData.finishPersent = mData.target == 0 and 0 or (mData.finished / mData.target) * 100
mData.gap = mData.target - mData.finished
if mData.gap < 0 then
uiobjs.gapLb.color = ColorEx.getColor(0xff1D9100)
uiobjs.gapLbEl.formatValue = "超额:{0}"
else
uiobjs.gapLb.color = ColorEx.getColor(0xffFF0000)
uiobjs.gapLbEl.formatValue = "缺口:{0}"
end
mData.gap = math.abs(mData.gap)
uiobjs.SpritePersent.fillAmount = mData.finishPersent / 100
uiobjs.formRoot:setValue(mData)
end
end
)
end
-- 取得数据
function _cell.getData()
return mData
end
--------------------------------------------
return _cell

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 050a485398a51430cbf9e0ecc47b691f
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,43 @@
-- xx单元
local _cell = {}
---@type Coolape.CLCellLua
local csSelf = nil
local transform
---@type _DBMessage
local mData = nil
local uiobjs = {}
-- 初始化,只调用一次
function _cell.init(csObj)
csSelf = csObj
transform = csSelf.transform
uiobjs.LabelStatus = getCC(transform, "LabelStatus", "UILabel")
uiobjs.LabelTitle = getCC(transform, "LabelTitle", "UILabel")
uiobjs.LabelTime = getCC(transform, "LabelTime", "UILabel")
uiobjs.LabelContent = getCC(transform, "LabelContent", "UILabel")
uiobjs.SpriteReddot = getCC(transform, "SpriteReddot", "UISprite")
end
-- 显示,
-- 注意c#侧不会在调用show时调用refresh
function _cell.show(go, data)
mData = data
uiobjs.LabelStatus.text = mData.READFLAG == DBMessage.ReadFlag.unread and "未读" or "已读"
SetActive(uiobjs.SpriteReddot.gameObject, mData.READFLAG == DBMessage.ReadFlag.unread)
uiobjs.LabelTitle.text = mData.TITLE
local time = mData.CREATETIME
if time then
uiobjs.LabelTime.text = DateEx.formatByMs(time * 1000)
else
uiobjs.LabelTime.text = ""
end
uiobjs.LabelContent.text = mData.CONTENT
end
-- 取得数据
function _cell.getData()
return mData
end
--------------------------------------------
return _cell

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 515b437e8e7514a3cb26ed27ba028384
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant: