This commit is contained in:
2020-07-24 22:12:55 +08:00
parent 3f114a6fca
commit 67a1f974bf
117 changed files with 14258 additions and 2325 deletions

View File

@@ -13,6 +13,7 @@ local InputHH
local InputMM
local InputSS
local LabelTitle
local LabelSelectDate
local callback = nil
@@ -23,7 +24,11 @@ local selectedDay
local oldSelectedCell
local isNeedTime = false
local isDateRange = false
local curIndex = 0
local InputTimeStart, InputTimeEnd, InputTime
local startDate, endDate, startDateStr, endDateStr
local defaultDateStr, defaultDate, defaultDate2
PanelCalender = {}
function PanelCalender.init(_cs)
@@ -34,45 +39,124 @@ function PanelCalender.init(_cs)
local content = getChild(transform, "content")
LabelYY = getChild(content, "Title", "LabelYY"):GetComponent("UILabel")
LabelMM = getChild(content, "Title", "LabelMM"):GetComponent("UILabel")
LabelTitle = getChild(content, "Title", "LabelTitle"):GetComponent("UILabel")
---@type Coolape.UIGridPage
grid = getChild(content, "PanelDay/GridPage"):GetComponent("UIGridPage")
LabelSelectDate = getChild(content, "LabelSelectDate"):GetComponent("UILabel")
ButtonRoot = getChild(content, "ButtonRoot")
TimeRoot = getChild(content, "TimeRoot")
InputHH = getChild(TimeRoot, "InputHH"):GetComponent("UIPopupList")
InputMM = getChild(TimeRoot, "InputMM"):GetComponent("UIPopupList")
InputSS = getChild(TimeRoot, "InputSS"):GetComponent("UIPopupList")
InputTimeStart = getCC(TimeRoot, "InputTimeStart", "CLUIElement")
InputTimeEnd = getCC(TimeRoot, "InputTimeEnd", "CLUIElement")
InputTime = getCC(TimeRoot, "InputTime", "CLUIElement")
end
function PanelCalender.setData(pars)
curYear = pars[0]
curMonth = pars[1]
callback = pars[2]
if (pars.Count > 3) then
isNeedTime = pars[3]
defaultDateStr = pars[0]
-- curMonth = pars[1]
callback = pars[1]
if (pars.Count > 2) then
isNeedTime = pars[2]
else
isNeedTime = false
end
if (pars.Count > 3) then
isDateRange = pars[3]
else
isDateRange = false
end
if isDateRange then
if isNilOrEmpty(defaultDateStr) then
startDate = nil
endDate = nil
curYear = DateTime.Now.Year
curMonth = DateTime.Now.Month
else
local strs = strSplit(defaultDateStr, "~")
defaultDate = DateTime.Parse(strs[1])
local date = defaultDate
startDate =
tonumber(
joinStr(NumEx.nStrForLen(date.Year, 4), NumEx.nStrForLen(date.Month, 2), NumEx.nStrForLen(date.Day, 2))
)
startDateStr = joinStr(date.Year, "-", date.Month, "-", date.Day)
curYear = date.Year
curMonth = date.Month
defaultDate2 = DateTime.Parse(strs[2])
date = defaultDate2
endDate =
tonumber(
joinStr(NumEx.nStrForLen(date.Year, 4), NumEx.nStrForLen(date.Month, 2), NumEx.nStrForLen(date.Day, 2))
)
endDateStr = joinStr(date.Year, "-", date.Month, "-", date.Day)
end
else
if isNilOrEmpty(defaultDateStr) then
curYear = DateTime.Now.Year
curMonth = DateTime.Now.Month
defaultDate = nil
selectedYear = nil
selectedMonth = nil
selectedDay = nil
else
defaultDate = DateTime.Parse(defaultDateStr)
curYear = defaultDate.Year
curMonth = defaultDate.Month
selectedYear = defaultDate.Year
selectedMonth = defaultDate.Month
selectedDay = defaultDate.Day
end
end
end
function PanelCalender.getData()
return curYear, curMonth
end
function PanelCalender.getDateRangeDate()
return isDateRange, startDate, endDate
end
function PanelCalender.show()
csSelf.panel.depth = CLPanelManager.self.depth + 80
oldSelectedCell = nil
selectedYear = nil
selectedMonth = nil
selectedDay = nil
if (isNeedTime) then
if isDateRange then
LabelTitle.text = "选择时间范围"
SetActive(InputTimeStart.gameObject, true)
if defaultDate then
InputTimeStart.value = defaultDate:ToString(DateEx.fmt_HH_mm_ss)
else
InputTimeStart.value = DateEx.format(DateEx.fmt_HH_mm_ss)
end
SetActive(InputTimeEnd.gameObject, true)
if defaultDate2 then
InputTimeEnd.value = defaultDate2:ToString(DateEx.fmt_HH_mm_ss)
else
InputTimeEnd.value = DateEx.format(DateEx.fmt_HH_mm_ss)
end
SetActive(InputTime.gameObject, false)
else
LabelTitle.text = "选择时间"
SetActive(InputTimeStart.gameObject, false)
SetActive(InputTimeEnd.gameObject, false)
SetActive(InputTime.gameObject, true)
if defaultDate then
InputTime.value = defaultDate:ToString(DateEx.fmt_HH_mm_ss)
else
InputTime.value = DateEx.format(DateEx.fmt_HH_mm_ss)
end
end
NGUITools.SetActive(TimeRoot.gameObject, true)
InputHH.value = NumEx.nStrForLen(DateTime.Now.Hour, 2)
InputMM.value = NumEx.nStrForLen(DateTime.Now.Minute, 2)
InputSS.value = NumEx.nStrForLen(DateTime.Now.Second, 2)
ButtonRoot.localPosition = Vector3(0, -627, 0)
ButtonRoot.localPosition = Vector3(0, -915, 0)
else
if isDateRange then
LabelTitle.text = "选择日期范围"
else
LabelTitle.text = "选择日期"
end
NGUITools.SetActive(TimeRoot.gameObject, false)
ButtonRoot.localPosition = TimeRoot.localPosition
end
@@ -80,14 +164,31 @@ end
function PanelCalender.refresh()
PanelCalender.showCalender(curYear, curMonth)
if (selectedYear ~= nil) then
local dataStr =
PStr.b():a(tostring(selectedYear)):a("-"):a(NumEx.nStrForLen(selectedMonth, 2)):a("-"):a(
NumEx.nStrForLen(selectedDay, 2)
):e()
LabelSelectDate.text = dataStr
if isDateRange then
if startDate and endDate then
LabelSelectDate.text =
joinStr(
"[999999]开始日期:[-][363636]",
startDateStr,
"[-] ",
"[999999]结束日期:[-][363636]",
endDateStr,
"[-]"
)
else
LabelSelectDate.text =
joinStr("[999999]开始日期:[-][363636]", "请选择", "[-] ", "[999999]结束日期:[-][363636]", "请选择", "[-]")
end
else
LabelSelectDate.text = ""
if (selectedYear ~= nil) then
local dataStr =
PStr.b():a(tostring(selectedYear)):a("-"):a(NumEx.nStrForLen(selectedMonth, 2)):a("-"):a(
NumEx.nStrForLen(selectedDay, 2)
):e()
LabelSelectDate.text = joinStr("[999999]选择日期:[-][363636]", dataStr, "[-])")
else
LabelSelectDate.text = ""
end
end
end
@@ -159,17 +260,69 @@ function PanelCalender.setSelectDate(cell, year, month, day)
selectedDay = day
selectedYear = year
selectedMonth = month
local dataStr =
PStr.b():a(tostring(selectedYear)):a("-"):a(NumEx.nStrForLen(selectedMonth, 2)):a("-"):a(
NumEx.nStrForLen(selectedDay, 2)
):e()
LabelSelectDate.text = dataStr
if isDateRange then
local dataStr = ""
local tmpDate =
tonumber(joinStr(NumEx.nStrForLen(year, 4), NumEx.nStrForLen(month, 2), NumEx.nStrForLen(day, 2)))
local tmpDateStr = joinStr(year, "-", month, "-", day)
-- 选择日期范围
if startDate == nil then
startDate = tmpDate
startDateStr = tmpDateStr
dataStr =
joinStr("[999999]开始日期:[-][363636]", startDateStr, "[-] ", "[999999]结束日期:[-][363636]", "请选择", "[-]")
elseif startDate > tmpDate then
startDate = tmpDate
startDateStr = tmpDateStr
endDate = nil
dataStr =
joinStr("[999999]开始日期:[-][363636]", startDateStr, "[-] ", "[999999]结束日期:[-][363636]", "请选择", "[-]")
else
endDate = tmpDate
endDateStr = tmpDateStr
dataStr =
joinStr(
"[999999]开始日期:[-][363636]",
startDateStr,
"[-] ",
"[999999]结束日期:[-][363636]",
tmpDateStr,
"[-]"
)
end
LabelSelectDate.text = dataStr
if (oldSelectedCell ~= nil) then
oldSelectedCell.luaTable.refreshState(false)
curYear = selectedYear
curMonth = selectedMonth
PanelCalender.refreshDays()
else
local dataStr =
PStr.b():a(tostring(selectedYear)):a("-"):a(NumEx.nStrForLen(selectedMonth, 2)):a("-"):a(
NumEx.nStrForLen(selectedDay, 2)
):e()
LabelSelectDate.text = joinStr("[999999]选择日期:[-][363636]", dataStr, "[-]")
if (oldSelectedCell ~= nil) then
oldSelectedCell.luaTable.refreshState(false)
end
oldSelectedCell = cell
oldSelectedCell.luaTable.refreshState(true)
end
end
function PanelCalender.refreshDays()
local cell = grid.page1:GetComponent("CLCellLua")
if cell and cell.luaTable then
cell.luaTable.doRefresh()
end
cell = grid.page2:GetComponent("CLCellLua")
if cell and cell.luaTable then
cell.luaTable.doRefresh()
end
cell = grid.page3:GetComponent("CLCellLua")
if cell and cell.luaTable then
cell.luaTable.doRefresh()
end
oldSelectedCell = cell
oldSelectedCell.luaTable.refreshState(true)
end
-- function PanelCalender.addMonth(m)
@@ -192,6 +345,10 @@ end
-- end
function PanelCalender.hide()
if (oldSelectedCell ~= nil) then
oldSelectedCell.luaTable.refreshState(false)
end
oldSelectedCell = nil
end
function PanelCalender.procNetwork(cmd, succ, msg, paras)
@@ -220,21 +377,38 @@ function PanelCalender.onClickBtn(btnName)
oldSelectedCell = nil
curYear = DateTime.Now.Year
curMonth = DateTime.Now.Month
selectedYear = nil
selectedMonth = nil
selectedDay = nil
startDate = nil
endDate = nil
startDateStr = ""
endDateStr = ""
PanelCalender.show()
PanelCalender.refresh()
elseif btnName == "ButtonOkay" then
CLPanelManager.hidePanel(csSelf)
local dataStr = ""
if (selectedYear ~= nil) then
dataStr =
PStr.b():a(tostring(selectedYear)):a("-"):a(NumEx.nStrForLen(selectedMonth, 2)):a("-"):a(
NumEx.nStrForLen(selectedDay, 2)
):e()
if (isNeedTime) then
if isDateRange then
if startDate == nil or endDate == nil then
MyUtl.toastW("请选择开始结束日期")
return
end
CLPanelManager.hidePanel(csSelf)
if isNeedTime then
dataStr = joinStr(startDateStr, " ", InputTimeStart.value, "~", endDateStr, " ", InputTimeEnd.value)
else
dataStr = joinStr(startDateStr, "~", endDateStr)
end
else
CLPanelManager.hidePanel(csSelf)
if (selectedYear ~= nil) then
dataStr =
PStr.b():a(dataStr):a(" "):a(NumEx.nStrForLen(InputHH.value, 2)):a(":"):a(
NumEx.nStrForLen(InputMM.value, 2)
):a(":"):a(NumEx.nStrForLen(InputSS.value, 2)):e()
PStr.b():a(tostring(selectedYear)):a("-"):a(NumEx.nStrForLen(selectedMonth, 2)):a("-"):a(
NumEx.nStrForLen(selectedDay, 2)
):e()
if (isNeedTime) then
dataStr = joinStr(dataStr, " ", InputTime.value)
end
end
end
Utl.doCallback(callback, dataStr)