Files
tianrunCRM/Assets/trCRM/upgradeRes4Dev/priority/lua/ui/cell/TRCellAttachment.lua
2020-08-07 22:40:04 +08:00

93 lines
2.8 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- xx单元
local _cell = {}
---@type Coolape.CLCellLua
local csSelf = nil
local transform = nil
local mData = nil
local uiobjs = {}
local isDownLoading = false
local www
-- 初始化,只调用一次
function _cell.init(csObj)
csSelf = csObj
transform = csSelf.transform
uiobjs.Label = getCC(transform, "Label", "UILabel")
uiobjs.ButtonDel = getChild(transform, "ButtonDel").gameObject
uiobjs.SpriteIcon = getCC(transform, "SpriteIcon", "UISprite")
uiobjs.SpriteRight = getChild(transform, "SpriteRight").gameObject
uiobjs.ButtonDownload = getChild(transform, "ButtonDownload").gameObject
uiobjs.DownloadProgress = getChild(transform, "DownloadProgress")
uiobjs.DownloadProgressLb = getCC(uiobjs.DownloadProgress, "Label", "UILabel")
end
-- 显示,
-- 注意c#侧不会在调用show时调用refresh
function _cell.show(go, data)
mData = data
SetActive(uiobjs.ButtonDel, false)
uiobjs.Label.text = mData.name
if MyUtl.isImage(mData.name) then
uiobjs.SpriteIcon.spriteName = "work_img-icon"
else
uiobjs.SpriteIcon.spriteName = "work_wenjian-icon"
end
SetActive(uiobjs.DownloadProgress.gameObject, false)
--//TODO:权限判断,如果有权限的可以考虑直接显示图片
if DBTextures.hadDownloaded(mData.name) then
SetActive(uiobjs.ButtonDownload, false)
SetActive(uiobjs.SpriteRight, true)
else
SetActive(uiobjs.ButtonDownload, true)
SetActive(uiobjs.SpriteRight, false)
end
end
-- 取得数据
function _cell.getData()
return mData
end
function _cell.download()
if isDownLoading then
return
end
isDownLoading = true
SetActive(uiobjs.ButtonDownload, false)
www =
DBTextures.download(
mData.name,
mData.url,
function(content, localPath)
isDownLoading = false
www = nil
if content and localPath then
-- 附件下载完成
MyUtl.toastS(joinStr("附件已保存本地:" .. localPath))
SetActive(uiobjs.SpriteRight, true)
else
SetActive(uiobjs.ButtonDownload, true)
end
end
)
_cell.refreshProgress()
end
function _cell.refreshProgress()
if www == nil then
SetActive(uiobjs.DownloadProgress.gameObject, false)
return
else
SetActive(uiobjs.DownloadProgress.gameObject, true)
local progressVal = www.downloadProgress or 0 -- downloadProgress uploadProgress
uiobjs.DownloadProgressLb.text = joinStr(math.floor(progressVal * 100), "%")
end
csSelf:invoke4Lua(_cell.refreshProgress, 0.1)
end
--------------------------------------------
return _cell