📄 day.ftl
字号:
<#-- * Copyright (C) 2006 Open Source Strategies, Inc. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA--><#-- Copyright (c) 2005-2006 Open Source Strategies, Inc. --><#-- * Copyright (c) 2001-2005 The Open For Business Project - www.ofbiz.org * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included * in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT * OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * THE USE OR OTHER DEALINGS IN THE SOFTWARE. * *@author Johan Isacsson *@author Eric.Barbier@nereide.biz (migration to uiLabelMap) *@created May 19 2003 *@version 1.0--><#assign prevLink = calendarTarget + "?calendarView=day&start=" + prev.time?string("#")><#assign todayLink = calendarTarget + "?calendarView=day&start=" + now.time?string("#")><#assign nextLink = calendarTarget + "?calendarView=day&start=" + next.time?string("#")><#-- Header table with the spelled-out date and the navigation bar --><table width="100%" border="0" cellspacing="0" cellpadding="0" class="monthheadertable"> <tr> <td width="100%" class="monthheadertext">${start?date?string("EEEE")?cap_first} ${start?date?string.long}</td> <td nowrap class="previousnextmiddle"><a href="<@ofbizUrl>${prevLink}</@ofbizUrl>" class="previousnext">${uiLabelMap.CommonPrevious}</a> | <a href="<@ofbizUrl>${todayLink}</@ofbizUrl>" class="previousnext">${uiLabelMap.CommonToday}</a> | <a href="<@ofbizUrl>${nextLink}</@ofbizUrl>" class="previousnext">${uiLabelMap.CommonNext}</a></td> </tr></table><#if periods?has_content><#-- set the entry column width to full divided by the number of entries --><#assign entryWidth = 100><#if (maxConcurrentEntries > 1)> <#assign entryWidth = (100 / (maxConcurrentEntries))></#if><#-- arrange the work efforts in columns with hours on the left column --><table width="100%" cellspacing="1" border="0" cellpadding="1" class="calendar"> <#assign thisHour = 0> <#list periods as period> <#-- Decide whether to draw the row --> <#assign renderRow = true> <#if (thisHour < startHour)> <#if (period.calendarEntries.size() == 0)> <#assign renderRow = false> </#if> </#if> <#if (thisHour > endHour)> <#if (period.calendarEntries.size() == 0)> <#assign renderRow = false> </#if> </#if> <#if renderRow == true> <tr> <#-- print the hour of this period --> <td valign="top" nowrap width="1%" class="monthweekheader"><span class="monthweeknumber">${period.start?time?string.short}</span> <a href="<@ofbizUrl>createEventForm?estimatedStartDate=${period.start}</@ofbizUrl>"><img class="imageLinkBorderless" src="<@ofbizContentUrl>${configProperties.get("crmsfa.theme.icon.button.createEvent")}</@ofbizContentUrl>"/></a><br/></td> <#-- print each overlapping entry in cells from left to right --> <#list period.calendarEntries as calEntry> <#if calEntry.startOfPeriod> <td class="calendarentry" rowspan="${calEntry.periodSpan}" colspan="1" width="${entryWidth?string("#")}%" valign="top"> <#if (calEntry.workEffort.estimatedStartDate.compareTo(start) <= 0 && calEntry.workEffort.estimatedCompletionDate.compareTo(next) >= 0)> ${uiLabelMap.CommonAllDay} <#elseif calEntry.workEffort.estimatedStartDate.before(start)> ${uiLabelMap.CommonUntil}${calEntry.workEffort.estimatedCompletionDate?time?string.short} <#elseif calEntry.workEffort.estimatedCompletionDate.after(next)> ${uiLabelMap.CommonFrom} ${calEntry.workEffort.estimatedStartDate?time?string.short} <#else> ${calEntry.workEffort.estimatedStartDate?time?string.short}-${calEntry.workEffort.estimatedCompletionDate?time?string.short} </#if> <br/> <a href="<@ofbizUrl>viewActivity?workEffortId=${calEntry.workEffort.workEffortId}</@ofbizUrl>" class="event"> ${calEntry.workEffort.workEffortName?default("Undefined")} </a> </td> </#if> </#list> <#-- Fill empty cells --> <#if period.calendarEntries?size < maxConcurrentEntries> <#assign emptySlots = (maxConcurrentEntries - period.calendarEntries?size)> <#list 1..emptySlots as num> <td width="${entryWidth?string("#")}%" class="calendarempty"><br/></td> </#list> </#if> <#-- if no entries, fill with an empty cell --> <#if maxConcurrentEntries == 0> <td width="${entryWidth?string("#")}" class="calendarempty"> </td> </#if> </tr> </#if> <#-- end if renderRow == true--> <#assign thisHour = thisHour + 1> </#list></table><#else> <p>${uiLabelMap.CrmErrorCalendarFail}</p></#if>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -