add
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user