From 1384b83b1e8f6e10eb3da94229d825d76381544d Mon Sep 17 00:00:00 2001 From: forwardyy <1151568399@qq.com> Date: Fri, 1 Apr 2022 10:15:57 +0800 Subject: [PATCH] first commit --- build.gradle | 129 ++ encrypt.xml | 13 + lib/finekit-10.0-20210309.jar | Bin 0 -> 400331 bytes plugin.xml | 36 + .../sqy/kj/calendar/CssFileHandler.java | 12 + .../sqy/kj/calendar/FormJsFileHandler.java | 17 + .../plugin/sqy/kj/calendar/JsFileHandler.java | 17 + .../plugin/sqy/kj/calendar/LocaleFinder.java | 17 + .../sqy/kj/calendar/PluginConstants.java | 10 + .../cell/CellWidgetOptionProvider.java | 31 + .../form/FormWidgetOptionProvider.java | 29 + .../sqy/kj/calendar/form/FormXDateEditor.java | 121 ++ .../sqy/kj/calendar/pane/CalendarPane.java | 206 +++ .../ParameterWidgetOptionProvider.java | 29 + .../parameter/ParameterXDateEditor.java | 121 ++ .../calendar/widget/CellCalendarWidget.java | 52 + .../calendar/widget/FormCalendarWidget.java | 52 + .../widget/ParameterCalendarWidget.java | 52 + .../sqy/kj/calendar/css/plugin_main.css | 8 + .../sqy/kj/calendar/js/plugin_form_main.js | 1396 ++++++++++++++++ .../plugin/sqy/kj/calendar/js/plugin_main.js | 1403 +++++++++++++++++ .../sqy/kj/calendar/locale/plugin.properties | 2 + .../calendar/locale/plugin_Zh_cn.properties | 2 + .../plugin/sqy/kj/calendar/log/calendar.png | Bin 0 -> 196 bytes 24 files changed, 3755 insertions(+) create mode 100644 build.gradle create mode 100644 encrypt.xml create mode 100644 lib/finekit-10.0-20210309.jar create mode 100644 plugin.xml create mode 100644 src/main/java/com/fr/plugin/sqy/kj/calendar/CssFileHandler.java create mode 100644 src/main/java/com/fr/plugin/sqy/kj/calendar/FormJsFileHandler.java create mode 100644 src/main/java/com/fr/plugin/sqy/kj/calendar/JsFileHandler.java create mode 100644 src/main/java/com/fr/plugin/sqy/kj/calendar/LocaleFinder.java create mode 100644 src/main/java/com/fr/plugin/sqy/kj/calendar/PluginConstants.java create mode 100644 src/main/java/com/fr/plugin/sqy/kj/calendar/cell/CellWidgetOptionProvider.java create mode 100644 src/main/java/com/fr/plugin/sqy/kj/calendar/form/FormWidgetOptionProvider.java create mode 100644 src/main/java/com/fr/plugin/sqy/kj/calendar/form/FormXDateEditor.java create mode 100644 src/main/java/com/fr/plugin/sqy/kj/calendar/pane/CalendarPane.java create mode 100644 src/main/java/com/fr/plugin/sqy/kj/calendar/parameter/ParameterWidgetOptionProvider.java create mode 100644 src/main/java/com/fr/plugin/sqy/kj/calendar/parameter/ParameterXDateEditor.java create mode 100644 src/main/java/com/fr/plugin/sqy/kj/calendar/widget/CellCalendarWidget.java create mode 100644 src/main/java/com/fr/plugin/sqy/kj/calendar/widget/FormCalendarWidget.java create mode 100644 src/main/java/com/fr/plugin/sqy/kj/calendar/widget/ParameterCalendarWidget.java create mode 100644 src/main/resources/com/fr/plugin/sqy/kj/calendar/css/plugin_main.css create mode 100644 src/main/resources/com/fr/plugin/sqy/kj/calendar/js/plugin_form_main.js create mode 100644 src/main/resources/com/fr/plugin/sqy/kj/calendar/js/plugin_main.js create mode 100644 src/main/resources/com/fr/plugin/sqy/kj/calendar/locale/plugin.properties create mode 100644 src/main/resources/com/fr/plugin/sqy/kj/calendar/locale/plugin_Zh_cn.properties create mode 100644 src/main/resources/com/fr/plugin/sqy/kj/calendar/log/calendar.png diff --git a/build.gradle b/build.gradle new file mode 100644 index 0000000..630cfac --- /dev/null +++ b/build.gradle @@ -0,0 +1,129 @@ + +apply plugin: 'java' + +[compileJava,compileTestJava]*.options*.encoding = 'UTF-8' + +ext { + /** + * 项目中依赖的jar的路径 + * 1.如果依赖的jar需要打包到zip中,放置在lib根目录下 + * 2.如果依赖的jar仅仅是编译时需要,防止在lib下子目录下即可 + */ + libPath = "$projectDir/../webroot/WEB-INF/lib" + + /** + * 是否对插件的class进行加密保护,防止反编译 + */ + guard = true + + def pluginInfo = getPluginInfo() + pluginPre = "fine-plugin" + pluginName = pluginInfo.id + pluginVersion = pluginInfo.version + + outputPath = "$projectDir/../webroot/WEB-INF/plugins/plugin-" + pluginName + "-1.0/classes" + outputXmlPath = "$projectDir/../webroot/WEB-INF/plugins/plugin-" + pluginName + "-1.0" +} + +group = 'com.fr.plugin' +version = '10.0' +sourceCompatibility = '8' + +sourceSets { + main { + java.outputDir = file(outputPath) + output.resourcesDir = file(outputPath) + } +} + +ant.importBuild("encrypt.xml") +//定义ant变量 +ant.projectDir = projectDir +ant.references["compile.classpath"] = ant.path { + fileset(dir: libPath, includes: '**/*.jar') + fileset(dir: ".",includes:"**/*.jar" ) +} + +classes.dependsOn('clean') + +task copyFiles(type: Copy,dependsOn: 'classes'){ + from outputPath + into "$projectDir/classes" +} +task copyXmlFiles(type: Copy){ + from "$projectDir/plugin.xml" + into file("$outputXmlPath") +} +task preJar(type:Copy,dependsOn: guard ? 'compile_encrypt_javas' : 'compile_plain_javas'){ + from "$projectDir/classes" + into "$projectDir/transform-classes" + include "**/*.*" +} +jar.dependsOn("preJar") +classes.dependsOn("copyXmlFiles") + +task makeJar(type: Jar,dependsOn: preJar){ + from fileTree(dir: "$projectDir/transform-classes") + baseName pluginPre + appendix pluginName + version pluginVersion + destinationDir = file("$buildDir/libs") + + doLast(){ + delete file("$projectDir/classes") + delete file("$projectDir/transform-classes") + } +} + +task copyFile(type: Copy,dependsOn: ["makeJar"]){ + from "$buildDir/libs" + from("$projectDir/lib") { + include "*.jar" + } + from "$projectDir/plugin.xml" + into file("$buildDir/temp/plugin") +} + +task zip(type:Zip,dependsOn:["copyFile"]){ + from "$buildDir/temp/plugin" + destinationDir file("$buildDir/install") + baseName pluginPre + appendix pluginName + version pluginVersion +} + +//控制build时包含哪些文件,排除哪些文件 +processResources { +// exclude everything +// 用*.css没效果 +// exclude '**/*.css' +// except this file +// include 'xx.xml' +} + +/*读取plugin.xml中的version*/ +def getPluginInfo(){ + def xmlFile = file("plugin.xml") + if (!xmlFile.exists()) { + return ["id":"none", "version":"1.0.0"] + } + def plugin = new XmlParser().parse(xmlFile) + def version = plugin.version[0].text() + def id = plugin.id[0].text() + return ["id":id,"version":version] +} + +repositories { + mavenLocal() + maven { + url = uri('http://mvn.finedevelop.com/repository/maven-public/') + } +} + +dependencies { + //使用本地jar + implementation fileTree(dir: 'lib', include: ['**/*.jar']) + implementation fileTree(dir: libPath, include: ['**/*.jar']) +} + + diff --git a/encrypt.xml b/encrypt.xml new file mode 100644 index 0000000..1401cd1 --- /dev/null +++ b/encrypt.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/finekit-10.0-20210309.jar b/lib/finekit-10.0-20210309.jar new file mode 100644 index 0000000000000000000000000000000000000000..2d3b5b49dd6c6f8b61d5a8d57c9656f003ad021b GIT binary patch literal 400331 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 z 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

F`3*K0=b~uq( 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

s??1 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 M!BGqUFAk3X1Kpg3(*OVf literal 0 HcmV?d00001 diff --git a/plugin.xml b/plugin.xml new file mode 100644 index 0000000..49c6b55 --- /dev/null +++ b/plugin.xml @@ -0,0 +1,36 @@ + + com.fr.plugin.sqy.kj.calendar + + yes + 1.1.1 + 10.0 + yy + 2021-05-26 + + + + + com.fr.plugin.sqy + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/fr/plugin/sqy/kj/calendar/CssFileHandler.java b/src/main/java/com/fr/plugin/sqy/kj/calendar/CssFileHandler.java new file mode 100644 index 0000000..d10c2de --- /dev/null +++ b/src/main/java/com/fr/plugin/sqy/kj/calendar/CssFileHandler.java @@ -0,0 +1,12 @@ +package com.fr.plugin.sqy.kj.calendar; + +import com.fr.stable.fun.impl.AbstractCssFileHandler; + +public class CssFileHandler extends AbstractCssFileHandler { + @Override + public String[] pathsForFiles() { + return new String[]{ + "com/fr/plugin/sqy/kj/calendar/css/plugin_main.css" + }; + } +} diff --git a/src/main/java/com/fr/plugin/sqy/kj/calendar/FormJsFileHandler.java b/src/main/java/com/fr/plugin/sqy/kj/calendar/FormJsFileHandler.java new file mode 100644 index 0000000..f5de369 --- /dev/null +++ b/src/main/java/com/fr/plugin/sqy/kj/calendar/FormJsFileHandler.java @@ -0,0 +1,17 @@ +package com.fr.plugin.sqy.kj.calendar; + +import com.fr.plugin.transform.ExecuteFunctionRecord; +import com.fr.plugin.transform.FunctionRecorder; +import com.fr.stable.fun.impl.AbstractJavaScriptFileHandler; + +@FunctionRecorder +public class FormJsFileHandler extends AbstractJavaScriptFileHandler{ + + @ExecuteFunctionRecord + @Override + public String[] pathsForFiles() { + return new String[]{ + "com/fr/plugin/sqy/kj/calendar/js/plugin_form_main.js" + }; + } +} diff --git a/src/main/java/com/fr/plugin/sqy/kj/calendar/JsFileHandler.java b/src/main/java/com/fr/plugin/sqy/kj/calendar/JsFileHandler.java new file mode 100644 index 0000000..8a84b63 --- /dev/null +++ b/src/main/java/com/fr/plugin/sqy/kj/calendar/JsFileHandler.java @@ -0,0 +1,17 @@ +package com.fr.plugin.sqy.kj.calendar; + +import com.fr.plugin.transform.ExecuteFunctionRecord; +import com.fr.plugin.transform.FunctionRecorder; +import com.fr.stable.fun.impl.AbstractJavaScriptFileHandler; + +@FunctionRecorder +public class JsFileHandler extends AbstractJavaScriptFileHandler{ + + @ExecuteFunctionRecord + @Override + public String[] pathsForFiles() { + return new String[]{ + "com/fr/plugin/sqy/kj/calendar/js/plugin_main.js" + }; + } +} diff --git a/src/main/java/com/fr/plugin/sqy/kj/calendar/LocaleFinder.java b/src/main/java/com/fr/plugin/sqy/kj/calendar/LocaleFinder.java new file mode 100644 index 0000000..e2447b1 --- /dev/null +++ b/src/main/java/com/fr/plugin/sqy/kj/calendar/LocaleFinder.java @@ -0,0 +1,17 @@ +package com.fr.plugin.sqy.kj.calendar; + +import com.fr.stable.fun.impl.AbstractLocaleFinder; + +public class LocaleFinder extends AbstractLocaleFinder { + private static final int CURRENT_LEVEL = 1; + + @Override + public int currentAPILevel() { + return CURRENT_LEVEL; + } + + @Override + public String find() { + return "com/fr/plugin/sqy/kj/calendar/locale/plugin"; + } +} diff --git a/src/main/java/com/fr/plugin/sqy/kj/calendar/PluginConstants.java b/src/main/java/com/fr/plugin/sqy/kj/calendar/PluginConstants.java new file mode 100644 index 0000000..aca2ea2 --- /dev/null +++ b/src/main/java/com/fr/plugin/sqy/kj/calendar/PluginConstants.java @@ -0,0 +1,10 @@ +package com.fr.plugin.sqy.kj.calendar; + +public class PluginConstants { + public static final String PLUGIN_ID = "com.fr.plugin.sqy.kj.calendar"; + public static final String KJ_CELL_ID = "sqy_cell_calendar"; + public static final String KJ_PARAMETER_ID = "sqy_parameter_calendar"; + public static final String KJ_FORM_ID = "sqy_form_calendar"; + public static final String START_DATE_NAME = "\u8d77\u59cb\u65e5\u671f"; + public static final String KJ_NAME = "\u519c\u5386\u65e5\u671f\u63a7\u4ef6"; +} diff --git a/src/main/java/com/fr/plugin/sqy/kj/calendar/cell/CellWidgetOptionProvider.java b/src/main/java/com/fr/plugin/sqy/kj/calendar/cell/CellWidgetOptionProvider.java new file mode 100644 index 0000000..b589825 --- /dev/null +++ b/src/main/java/com/fr/plugin/sqy/kj/calendar/cell/CellWidgetOptionProvider.java @@ -0,0 +1,31 @@ +package com.fr.plugin.sqy.kj.calendar.cell; + +import com.fanruan.api.design.DesignKit; +import com.fr.design.beans.BasicBeanPane; +import com.fr.design.fun.impl.AbstractCellWidgetOptionProvider; +import com.fr.form.ui.Widget; +import com.fr.plugin.sqy.kj.calendar.PluginConstants; +import com.fr.plugin.sqy.kj.calendar.pane.CalendarPane; +import com.fr.plugin.sqy.kj.calendar.widget.CellCalendarWidget; + +public class CellWidgetOptionProvider extends AbstractCellWidgetOptionProvider { + @Override + public Class classForWidget() { + return CellCalendarWidget.class; + } + + @Override + public Class> appearanceForWidget() { + return CalendarPane.class; + } + + @Override + public String iconPathForWidget() { + return "com/fr/plugin/sqy/kj/calendar/log/calendar.png"; + } + + @Override + public String nameForWidget() { + return PluginConstants.KJ_NAME; + } +} diff --git a/src/main/java/com/fr/plugin/sqy/kj/calendar/form/FormWidgetOptionProvider.java b/src/main/java/com/fr/plugin/sqy/kj/calendar/form/FormWidgetOptionProvider.java new file mode 100644 index 0000000..22c4ac7 --- /dev/null +++ b/src/main/java/com/fr/plugin/sqy/kj/calendar/form/FormWidgetOptionProvider.java @@ -0,0 +1,29 @@ +package com.fr.plugin.sqy.kj.calendar.form; + +import com.fanruan.api.design.DesignKit; +import com.fr.design.fun.impl.AbstractFormWidgetOptionProvider; +import com.fr.form.ui.Widget; +import com.fr.plugin.sqy.kj.calendar.PluginConstants; +import com.fr.plugin.sqy.kj.calendar.widget.FormCalendarWidget; + +public class FormWidgetOptionProvider extends AbstractFormWidgetOptionProvider { + @Override + public Class classForWidget() { + return FormCalendarWidget.class; + } + + @Override + public Class appearanceForWidget() { + return FormXDateEditor.class; + } + + @Override + public String iconPathForWidget() { + return "com/fr/plugin/sqy/kj/calendar/log/calendar.png"; + } + + @Override + public String nameForWidget() { + return PluginConstants.KJ_NAME; + } +} diff --git a/src/main/java/com/fr/plugin/sqy/kj/calendar/form/FormXDateEditor.java b/src/main/java/com/fr/plugin/sqy/kj/calendar/form/FormXDateEditor.java new file mode 100644 index 0000000..1906d59 --- /dev/null +++ b/src/main/java/com/fr/plugin/sqy/kj/calendar/form/FormXDateEditor.java @@ -0,0 +1,121 @@ +package com.fr.plugin.sqy.kj.calendar.form; + + +import com.fanruan.api.design.DesignKit; +import com.fr.design.designer.creator.CRPropertyDescriptor; +import com.fr.design.designer.creator.XDirectWriteEditor; +import com.fr.design.gui.itextfield.UITextField; +import com.fr.design.i18n.Toolkit; +import com.fr.design.layout.FRGUIPaneFactory; +import com.fr.design.mainframe.widget.editors.DateFormatEditor; +import com.fr.design.mainframe.widget.editors.DateRangeEditor; +import com.fr.design.mainframe.widget.editors.WidgetValueEditor; +import com.fr.design.mainframe.widget.renderer.DateCellRenderer; +import com.fr.form.ui.DateEditor; +import com.fr.form.ui.WidgetValue; +import com.fr.form.ui.concept.data.ValueInitializer; +import com.fr.general.DateUtils; +import com.fr.plugin.sqy.kj.calendar.PluginConstants; +import com.fr.plugin.sqy.kj.calendar.widget.FormCalendarWidget; +import com.fr.stable.ArrayUtils; +import com.fr.stable.StringUtils; +import com.fr.stable.core.PropertyChangeAdapter; + +import javax.swing.*; +import java.awt.*; +import java.beans.IntrospectionException; +import java.util.Date; + +public class FormXDateEditor extends XDirectWriteEditor { + private UITextField textField; + private LimpidButton btn; + + public FormXDateEditor(FormCalendarWidget widget, Dimension size) { + super(widget, size); + } + + @Override + public String getIconPath() { + return "com/fr/plugin/sqy/kj/calendar/log/calendar.png"; + } + + + @Override + public CRPropertyDescriptor[] supportedDescriptor() throws IntrospectionException { + return (CRPropertyDescriptor[]) + ((CRPropertyDescriptor[])ArrayUtils + .addAll(super.supportedDescriptor() + , new CRPropertyDescriptor[]{ + (new CRPropertyDescriptor("widgetValue", this.data.getClass())) + .setI18NName(Toolkit.i18nText("Fine-Design_Form_Widget_Value")) + .setEditorClass(WidgetValueEditor.class) + .putKeyValue("category", "Fine-Design_Basic_Advanced") + .setPropertyChangeListener(new PropertyChangeAdapter() { + public void propertyChange() { + FormXDateEditor.this.initFieldText(); + } + }) + ,(new CRPropertyDescriptor("formatText", this.data.getClass())) + .setI18NName(Toolkit.i18nText("Fine-Design_Report_Engine_Format")) + .setEditorClass(this.formatClass()) + .setRendererClass(DateCellRenderer.class) + .putKeyValue("category", "Fine-Design_Basic_Advanced") + , (new CRPropertyDescriptor("startDate", this.data.getClass())) + .setI18NName(PluginConstants.START_DATE_NAME) + .putKeyValue("category", "Fine-Design_Basic_Advanced") + .setEditorClass(DateRangeEditor.class) + , (new CRPropertyDescriptor("endDate", this.data.getClass())) + .setI18NName(Toolkit.i18nText("Fine-Design_Report_FS_End_Date")) + .putKeyValue("category", "Fine-Design_Basic_Advanced") + .setEditorClass(DateRangeEditor.class) + , (new CRPropertyDescriptor("waterMark", this.data.getClass())) + .setI18NName(Toolkit.i18nText("Fine-Design_Form_WaterMark")) + .putKeyValue("category", "Fine-Design_Basic_Advanced") + , (new CRPropertyDescriptor("returnDate", this.data.getClass())) + .setI18NName(Toolkit.i18nText("Fine-Design_Form_Return_Date")) + .putKeyValue("category", "Fine-Design_Basic_Advanced") + })); + } + + protected Class formatClass() { + return DateFormatEditor.class; + } + + private void initFieldText() { + DateEditor var1 = (DateEditor)this.data; + if (var1.getWidgetValue() != null) { + ValueInitializer var2 = var1.getWidgetValue(); + String var3 = var2.toString(); + Object var4 = var2.getValue(); + String var5 = var1.getFormatText(); + if (var4 instanceof Date) { + var3 = DateUtils.getDate2Str(var5, (Date)var4); + } + + if (StringUtils.isEmpty(var3)) { + var3 = DateUtils.getDate2Str(var5, new Date()); + var1.setWidgetValue(new WidgetValue(new Date())); + } + + this.textField.setText(var3); + } + + } + + + @Override + protected JComponent initEditor() { + if (this.editor == null) { + this.editor = FRGUIPaneFactory.createBorderLayout_S_Pane(); + this.editor.add(this.textField = new UITextField(5), "Center"); + this.btn = new LimpidButton("", this.getIconPath(), this.toData().isVisible() ? 1.0F : 0.4F); + this.btn.setPreferredSize(new Dimension(21, 21)); + this.editor.add(this.btn, "East"); + this.textField.setOpaque(false); + this.editor.setBackground(Color.WHITE); + } + return this.editor; + } + + +} diff --git a/src/main/java/com/fr/plugin/sqy/kj/calendar/pane/CalendarPane.java b/src/main/java/com/fr/plugin/sqy/kj/calendar/pane/CalendarPane.java new file mode 100644 index 0000000..7cf3674 --- /dev/null +++ b/src/main/java/com/fr/plugin/sqy/kj/calendar/pane/CalendarPane.java @@ -0,0 +1,206 @@ +package com.fr.plugin.sqy.kj.calendar.pane; + +import com.fr.base.FRContext; +import com.fr.data.core.FormatField; +import com.fr.design.border.UIRoundedBorder; +import com.fr.design.constants.UIConstants; +import com.fr.design.gui.ibutton.UIButtonGroup; +import com.fr.design.gui.icombobox.UIComboBox; +import com.fr.design.gui.ilable.UILabel; +import com.fr.design.i18n.Toolkit; +import com.fr.design.layout.FRGUIPaneFactory; +import com.fr.design.layout.TableLayoutHelper; +import com.fr.design.widget.component.DateValuePane; +import com.fr.design.widget.component.UIComboBoxNoArrow; +import com.fr.design.widget.ui.DirectWriteEditorDefinePane; +import com.fr.plugin.sqy.kj.calendar.widget.CellCalendarWidget; +import com.fr.stable.ArrayUtils; + +import javax.swing.*; +import javax.swing.border.TitledBorder; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; +import java.awt.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.text.SimpleDateFormat; +import java.util.Date; + +public class CalendarPane extends DirectWriteEditorDefinePane { + private UIButtonGroup returnTypeComboBox; + private DateValuePane startDv; + private DateValuePane endDv; + private UIComboBox currentFormatComboBox; + private com.fr.design.gui.ilable.UILabel currentSamplelabel; + private UIButtonGroup fomatHeadGroup; + private static final int SAMPLE_LABEL_PADDING = 4; + + public CalendarPane() { + } + + protected String title4PopupWindow() { + return "Date"; + } + + protected JPanel setSecondContentPane() { + this.returnTypeComboBox = new UIButtonGroup(new String[]{Toolkit.i18nText("Fine-Design_Basic_Date"), Toolkit.i18nText("Fine-Design_Basic_String")}); + JPanel var1 = this.createFormatHead(); + this.startDv = new DateValuePane(); + this.endDv = new DateValuePane(); + double var2 = -1.0D; + double var4 = -2.0D; + com.fr.design.gui.ilable.UILabel var6 = new com.fr.design.gui.ilable.UILabel(Toolkit.i18nText("Fine-Design_Report_Engine_Format")); + var6.setVerticalAlignment(1); + com.fr.design.gui.ilable.UILabel var7 = new com.fr.design.gui.ilable.UILabel(Toolkit.i18nText("Fine-Design_Report_FS_Start_Date")); + var7.setVerticalAlignment(1); + com.fr.design.gui.ilable.UILabel var8 = new com.fr.design.gui.ilable.UILabel(Toolkit.i18nText("Fine-Design_Report_FS_End_Date")); + var8.setVerticalAlignment(1); + Component[][] var9 = new Component[][]{{var6, var1}, {var7, this.startDv}, {var8, this.endDv}, {this.waterMarkDictPane, null}, {new com.fr.design.gui.ilable.UILabel(Toolkit.i18nText("Fine-Design_Basic_Widget_Date_Selector_Return_Type")), this.returnTypeComboBox}}; + double[] var10 = new double[]{var4, var4, var4, var4, var4, var4, var4}; + double[] var11 = new double[]{var4, var2}; + int[][] var12 = new int[][]{{1, 3}, {1, 1}, {1, 1}, {1, 1}, {1, 1}}; + JPanel var13 = TableLayoutHelper.createGapTableLayoutPane(var9, var10, var11, var12, 13.0D, 10.0D); + return var13; + } + + private JPanel createFormatPane(UIComboBox var1, com.fr.design.gui.ilable.UILabel var2) { + JPanel var3 = FRGUIPaneFactory.createBorderLayout_S_Pane(); + TitledBorder var4 = new TitledBorder(new UIRoundedBorder(UIConstants.LINE_COLOR, 1, 5), Toolkit.i18nText("Fine-Design_Report_Base_StyleFormat_Sample"), 4, 2, this.getFont(), UIConstants.LINE_COLOR); + var3.setBorder(var4); + JPanel var5 = new JPanel(new BorderLayout()); + var5.setBorder(BorderFactory.createEmptyBorder(0, 4, 4, 4)); + var5.add(var2, "Center"); + var3.add(var5, "Center"); + JPanel var6 = FRGUIPaneFactory.createBorderLayout_S_Pane(); + var6.add(var3, "North"); + var6.add(var1, "Center"); + return var6; + } + + private com.fr.design.gui.ilable.UILabel createSamplePane() { + com.fr.design.gui.ilable.UILabel var1 = new com.fr.design.gui.ilable.UILabel("") { + public void setText(String var1) { + super.setText("" + var1 + ""); + } + }; + var1.setHorizontalAlignment(0); + var1.setFont(FRContext.getDefaultValues().getFRFont()); + return var1; + } + + private JPanel createFormatHead() { + String[] var1 = FormatField.getInstance().getFormatArray(5); + String[] var2 = FormatField.getInstance().getFormatArray(6); + final UIComboBoxNoArrow var3 = new UIComboBoxNoArrow(var1); + final UIComboBoxNoArrow var4 = new UIComboBoxNoArrow(var2); + var3.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent var1) { + CalendarPane.this.refreshPreviewLabel(); + } + }); + var4.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent var1) { + CalendarPane.this.refreshPreviewLabel(); + } + }); + final com.fr.design.gui.ilable.UILabel var5 = this.createSamplePane(); + final UILabel var6 = this.createSamplePane(); + JPanel var7 = FRGUIPaneFactory.createBorderLayout_S_Pane(); + final CardLayout var8 = new CardLayout(); + final JPanel var9 = new JPanel(var8); + JPanel var10 = this.createFormatPane(var3, var5); + JPanel var11 = this.createFormatPane(var4, var6); + var9.add(var10, Toolkit.i18nText("Fine-Design_Report_StyleFormat_Date")); + var9.add(var11, Toolkit.i18nText("Fine-Design_Report_StyleFormat_Time")); + final String[] var12 = new String[]{Toolkit.i18nText("Fine-Design_Report_StyleFormat_Date"), Toolkit.i18nText("Fine-Design_Report_StyleFormat_Time")}; + this.fomatHeadGroup = new UIButtonGroup(new String[]{Toolkit.i18nText("Fine-Design_Report_StyleFormat_Date"), Toolkit.i18nText("Fine-Design_Report_StyleFormat_Time")}); + this.fomatHeadGroup.addChangeListener(new ChangeListener() { + public void stateChanged(ChangeEvent var1) { + int var2 = CalendarPane.this.fomatHeadGroup.getSelectedIndex(); + var8.show(var9, var12[var2]); + if (var2 == 0) { + CalendarPane.this.currentFormatComboBox = var3; + CalendarPane.this.currentSamplelabel = var5; + } else { + CalendarPane.this.currentFormatComboBox = var4; + CalendarPane.this.currentSamplelabel = var6; + } + + CalendarPane.this.refreshPreviewLabel(); + } + }); + var7.add(this.fomatHeadGroup, "North"); + var7.add(var9, "Center"); + return var7; + } + + private void refreshPreviewLabel() { + String var1 = (String)this.currentFormatComboBox.getSelectedItem(); + if (var1 != null && var1.length() > 0) { + try { + SimpleDateFormat var2 = new SimpleDateFormat(var1); + String var3 = var2.format(new Date()); + Color var4 = Color.black; + if (!ArrayUtils.contains(FormatField.getInstance().getDateFormatArray(), var1)) { + var3 = var3 + " " + Toolkit.i18nText("Fine-Design_Basic_DateFormat_Custom_Warning"); + var4 = Color.red; + } + + this.currentSamplelabel.setText(var3); + this.currentSamplelabel.setForeground(var4); + } catch (Exception var5) { + this.currentSamplelabel.setForeground(Color.red); + this.currentSamplelabel.setText(var5.getMessage()); + } + } else { + this.currentSamplelabel.setText((new Date()).toString()); + } + + } + + private int getDateType(CellCalendarWidget var1) { + String[] var2 = FormatField.getInstance().getFormatArray(6); + if (var1 == null) { + return 0; + } else { + String var3 = var1.getFormatText(); + return ArrayUtils.contains(var2, var3) ? 1 : 0; + } + } + + protected void populateSubDirectWriteEditorBean(CellCalendarWidget var1) { + String var2 = var1.getFormatText(); + this.fomatHeadGroup.setSelectedIndex(this.getDateType(var1)); + this.fomatHeadGroup.populateBean(); + this.currentFormatComboBox.setSelectedItem(var2); + this.returnTypeComboBox.setSelectedIndex(var1.isReturnDate() ? 0 : 1); + this.startDv.populate(var1.getStartDate()); + this.endDv.populate(var1.getEndDate()); + } + + protected CellCalendarWidget updateSubDirectWriteEditorBean() { + CellCalendarWidget var1 = new CellCalendarWidget(); + var1.setFormatText(this.getSimpleDateFormat().toPattern()); + var1.setReturnDate(this.returnTypeComboBox.getSelectedIndex() == 0); + var1.setStartDate(this.startDv.update()); + var1.setEndDate(this.endDv.update()); + return var1; + } + + private SimpleDateFormat getSimpleDateFormat() { + String var1 = (String)this.currentFormatComboBox.getSelectedItem(); + SimpleDateFormat var2; + if (var1 != null && var1.length() > 0) { + try { + var2 = new SimpleDateFormat(var1); + this.currentSamplelabel.setText(var2.format(new Date())); + } catch (Exception var4) { + var2 = new SimpleDateFormat(""); + } + } else { + var2 = new SimpleDateFormat(""); + } + + return var2; + } +} diff --git a/src/main/java/com/fr/plugin/sqy/kj/calendar/parameter/ParameterWidgetOptionProvider.java b/src/main/java/com/fr/plugin/sqy/kj/calendar/parameter/ParameterWidgetOptionProvider.java new file mode 100644 index 0000000..0b0d24f --- /dev/null +++ b/src/main/java/com/fr/plugin/sqy/kj/calendar/parameter/ParameterWidgetOptionProvider.java @@ -0,0 +1,29 @@ +package com.fr.plugin.sqy.kj.calendar.parameter; + +import com.fanruan.api.design.DesignKit; +import com.fr.design.fun.impl.AbstractParameterWidgetOptionProvider; +import com.fr.form.ui.Widget; +import com.fr.plugin.sqy.kj.calendar.PluginConstants; +import com.fr.plugin.sqy.kj.calendar.widget.ParameterCalendarWidget; + +public class ParameterWidgetOptionProvider extends AbstractParameterWidgetOptionProvider { + @Override + public Class classForWidget() { + return ParameterCalendarWidget.class; + } + + @Override + public Class appearanceForWidget() { + return ParameterXDateEditor.class; + } + + @Override + public String iconPathForWidget() { + return "com/fr/plugin/sqy/kj/calendar/log/calendar.png"; + } + + @Override + public String nameForWidget() { + return PluginConstants.KJ_NAME; + } +} diff --git a/src/main/java/com/fr/plugin/sqy/kj/calendar/parameter/ParameterXDateEditor.java b/src/main/java/com/fr/plugin/sqy/kj/calendar/parameter/ParameterXDateEditor.java new file mode 100644 index 0000000..5dc5855 --- /dev/null +++ b/src/main/java/com/fr/plugin/sqy/kj/calendar/parameter/ParameterXDateEditor.java @@ -0,0 +1,121 @@ +package com.fr.plugin.sqy.kj.calendar.parameter; + + +import com.fanruan.api.design.DesignKit; +import com.fr.design.designer.creator.CRPropertyDescriptor; +import com.fr.design.designer.creator.XDirectWriteEditor; +import com.fr.design.gui.itextfield.UITextField; +import com.fr.design.i18n.Toolkit; +import com.fr.design.layout.FRGUIPaneFactory; +import com.fr.design.mainframe.widget.editors.DateFormatEditor; +import com.fr.design.mainframe.widget.editors.DateRangeEditor; +import com.fr.design.mainframe.widget.editors.WidgetValueEditor; +import com.fr.design.mainframe.widget.renderer.DateCellRenderer; +import com.fr.form.ui.DateEditor; +import com.fr.form.ui.WidgetValue; +import com.fr.form.ui.concept.data.ValueInitializer; +import com.fr.general.DateUtils; +import com.fr.plugin.sqy.kj.calendar.PluginConstants; +import com.fr.plugin.sqy.kj.calendar.widget.ParameterCalendarWidget; +import com.fr.stable.ArrayUtils; +import com.fr.stable.StringUtils; +import com.fr.stable.core.PropertyChangeAdapter; + +import javax.swing.*; +import java.awt.*; +import java.beans.IntrospectionException; +import java.util.Date; + +public class ParameterXDateEditor extends XDirectWriteEditor { + private UITextField textField; + private LimpidButton btn; + + public ParameterXDateEditor(ParameterCalendarWidget widget, Dimension size) { + super(widget, size); + } + + @Override + public String getIconPath() { + return "com/fr/plugin/sqy/kj/calendar/log/calendar.png"; + } + + + @Override + public CRPropertyDescriptor[] supportedDescriptor() throws IntrospectionException { + return (CRPropertyDescriptor[]) + ((CRPropertyDescriptor[])ArrayUtils + .addAll(super.supportedDescriptor() + , new CRPropertyDescriptor[]{ + (new CRPropertyDescriptor("widgetValue", this.data.getClass())) + .setI18NName(Toolkit.i18nText("Fine-Design_Form_Widget_Value")) + .setEditorClass(WidgetValueEditor.class) + .putKeyValue("category", "Fine-Design_Basic_Advanced") + .setPropertyChangeListener(new PropertyChangeAdapter() { + public void propertyChange() { + ParameterXDateEditor.this.initFieldText(); + } + }) + ,(new CRPropertyDescriptor("formatText", this.data.getClass())) + .setI18NName(Toolkit.i18nText("Fine-Design_Report_Engine_Format")) + .setEditorClass(this.formatClass()) + .setRendererClass(DateCellRenderer.class) + .putKeyValue("category", "Fine-Design_Basic_Advanced") + , (new CRPropertyDescriptor("startDate", this.data.getClass())) + .setI18NName(PluginConstants.START_DATE_NAME) + .putKeyValue("category", "Fine-Design_Basic_Advanced") + .setEditorClass(DateRangeEditor.class) + , (new CRPropertyDescriptor("endDate", this.data.getClass())) + .setI18NName(Toolkit.i18nText("Fine-Design_Report_FS_End_Date")) + .putKeyValue("category", "Fine-Design_Basic_Advanced") + .setEditorClass(DateRangeEditor.class) + , (new CRPropertyDescriptor("waterMark", this.data.getClass())) + .setI18NName(Toolkit.i18nText("Fine-Design_Form_WaterMark")) + .putKeyValue("category", "Fine-Design_Basic_Advanced") + , (new CRPropertyDescriptor("returnDate", this.data.getClass())) + .setI18NName(Toolkit.i18nText("Fine-Design_Form_Return_Date")) + .putKeyValue("category", "Fine-Design_Basic_Advanced") + })); + } + + protected Class formatClass() { + return DateFormatEditor.class; + } + + private void initFieldText() { + DateEditor var1 = (DateEditor)this.data; + if (var1.getWidgetValue() != null) { + ValueInitializer var2 = var1.getWidgetValue(); + String var3 = var2.toString(); + Object var4 = var2.getValue(); + String var5 = var1.getFormatText(); + if (var4 instanceof Date) { + var3 = DateUtils.getDate2Str(var5, (Date)var4); + } + + if (StringUtils.isEmpty(var3)) { + var3 = DateUtils.getDate2Str(var5, new Date()); + var1.setWidgetValue(new WidgetValue(new Date())); + } + + this.textField.setText(var3); + } + + } + + + @Override + protected JComponent initEditor() { + if (this.editor == null) { + this.editor = FRGUIPaneFactory.createBorderLayout_S_Pane(); + this.editor.add(this.textField = new UITextField(5), "Center"); + this.btn = new LimpidButton("", this.getIconPath(), this.toData().isVisible() ? 1.0F : 0.4F); + this.btn.setPreferredSize(new Dimension(21, 21)); + this.editor.add(this.btn, "East"); + this.textField.setOpaque(false); + this.editor.setBackground(Color.WHITE); + } + return this.editor; + } + + +} diff --git a/src/main/java/com/fr/plugin/sqy/kj/calendar/widget/CellCalendarWidget.java b/src/main/java/com/fr/plugin/sqy/kj/calendar/widget/CellCalendarWidget.java new file mode 100644 index 0000000..ad9ca27 --- /dev/null +++ b/src/main/java/com/fr/plugin/sqy/kj/calendar/widget/CellCalendarWidget.java @@ -0,0 +1,52 @@ +package com.fr.plugin.sqy.kj.calendar.widget; + +import com.fr.form.ui.DateEditor; +import com.fr.general.ComparatorUtils; +import com.fr.json.JSONException; +import com.fr.json.JSONObject; +import com.fr.plugin.sqy.kj.calendar.PluginConstants; +import com.fr.script.Calculator; +import com.fr.stable.core.NodeVisitor; +import com.fr.stable.web.Repository; +import com.fr.stable.xml.XMLPrintWriter; +import com.fr.stable.xml.XMLableReader; + +public class CellCalendarWidget extends DateEditor { + private String config1 = null; + + @Override + public String getXType() { + return PluginConstants.KJ_CELL_ID; + } + + @Override + public JSONObject createJSONConfig(Repository repository, Calculator calculator, NodeVisitor nodeVisitor) throws JSONException { + return super.createJSONConfig(repository, calculator, nodeVisitor).put("config1",config1); + } + + + @Override + public void readXML(XMLableReader xmLableReader) { + super.readXML(xmLableReader); + if(xmLableReader.isChildNode()){ + String tagName = xmLableReader.getTagName(); + if(ComparatorUtils.equals(tagName,"config1")){ + this.config1 = xmLableReader.getAttrAsString("config1",""); + } + } + } + + @Override + public void writeXML(XMLPrintWriter xmlPrintWriter) { + super.writeXML(xmlPrintWriter); + xmlPrintWriter.startTAG("config1").textNode(config1).end(); + } + + public String getConfig1() { + return config1; + } + + public void setConfig1(String config1) { + this.config1 = config1; + } +} diff --git a/src/main/java/com/fr/plugin/sqy/kj/calendar/widget/FormCalendarWidget.java b/src/main/java/com/fr/plugin/sqy/kj/calendar/widget/FormCalendarWidget.java new file mode 100644 index 0000000..38c24a7 --- /dev/null +++ b/src/main/java/com/fr/plugin/sqy/kj/calendar/widget/FormCalendarWidget.java @@ -0,0 +1,52 @@ +package com.fr.plugin.sqy.kj.calendar.widget; + +import com.fr.form.ui.DateEditor; +import com.fr.general.ComparatorUtils; +import com.fr.json.JSONException; +import com.fr.json.JSONObject; +import com.fr.plugin.sqy.kj.calendar.PluginConstants; +import com.fr.script.Calculator; +import com.fr.stable.core.NodeVisitor; +import com.fr.stable.web.Repository; +import com.fr.stable.xml.XMLPrintWriter; +import com.fr.stable.xml.XMLableReader; + +public class FormCalendarWidget extends DateEditor { + private String config1 = null; + + @Override + public String getXType() { + return PluginConstants.KJ_FORM_ID; + } + + @Override + public JSONObject createJSONConfig(Repository repository, Calculator calculator, NodeVisitor nodeVisitor) throws JSONException { + return super.createJSONConfig(repository, calculator, nodeVisitor).put("config1",config1); + } + + + @Override + public void readXML(XMLableReader xmLableReader) { + super.readXML(xmLableReader); + if(xmLableReader.isChildNode()){ + String tagName = xmLableReader.getTagName(); + if(ComparatorUtils.equals(tagName,"config1")){ + this.config1 = xmLableReader.getAttrAsString("config1",""); + } + } + } + + @Override + public void writeXML(XMLPrintWriter xmlPrintWriter) { + super.writeXML(xmlPrintWriter); + xmlPrintWriter.startTAG("config1").textNode(config1).end(); + } + + public String getConfig1() { + return config1; + } + + public void setConfig1(String config1) { + this.config1 = config1; + } +} diff --git a/src/main/java/com/fr/plugin/sqy/kj/calendar/widget/ParameterCalendarWidget.java b/src/main/java/com/fr/plugin/sqy/kj/calendar/widget/ParameterCalendarWidget.java new file mode 100644 index 0000000..5afee65 --- /dev/null +++ b/src/main/java/com/fr/plugin/sqy/kj/calendar/widget/ParameterCalendarWidget.java @@ -0,0 +1,52 @@ +package com.fr.plugin.sqy.kj.calendar.widget; + +import com.fr.form.ui.DateEditor; +import com.fr.general.ComparatorUtils; +import com.fr.json.JSONException; +import com.fr.json.JSONObject; +import com.fr.plugin.sqy.kj.calendar.PluginConstants; +import com.fr.script.Calculator; +import com.fr.stable.core.NodeVisitor; +import com.fr.stable.web.Repository; +import com.fr.stable.xml.XMLPrintWriter; +import com.fr.stable.xml.XMLableReader; + +public class ParameterCalendarWidget extends DateEditor { + private String config1 = null; + + @Override + public String getXType() { + return PluginConstants.KJ_PARAMETER_ID; + } + + @Override + public JSONObject createJSONConfig(Repository repository, Calculator calculator, NodeVisitor nodeVisitor) throws JSONException { + return super.createJSONConfig(repository, calculator, nodeVisitor).put("config1",config1); + } + + + @Override + public void readXML(XMLableReader xmLableReader) { + super.readXML(xmLableReader); + if(xmLableReader.isChildNode()){ + String tagName = xmLableReader.getTagName(); + if(ComparatorUtils.equals(tagName,"config1")){ + this.config1 = xmLableReader.getAttrAsString("config1",""); + } + } + } + + @Override + public void writeXML(XMLPrintWriter xmlPrintWriter) { + super.writeXML(xmlPrintWriter); + xmlPrintWriter.startTAG("config1").textNode(config1).end(); + } + + public String getConfig1() { + return config1; + } + + public void setConfig1(String config1) { + this.config1 = config1; + } +} diff --git a/src/main/resources/com/fr/plugin/sqy/kj/calendar/css/plugin_main.css b/src/main/resources/com/fr/plugin/sqy/kj/calendar/css/plugin_main.css new file mode 100644 index 0000000..a7fcebd --- /dev/null +++ b/src/main/resources/com/fr/plugin/sqy/kj/calendar/css/plugin_main.css @@ -0,0 +1,8 @@ +.fr-sqydatepicker{color:#000;font-family:"microsoft yahei",simsun,arial,tahoma,helvetica,sans-serif;position:absolute;box-shadow:3px 3px 4px #999;-moz-box-shadow:3px 3px 4px #999;-webkit-box-shadow:3px 3px 4px #999}.fr-sqydatepicker table{background-color:#fff;width:318px} +.fr-sqydatepicker table.dt,.fr-sqydatepicker table.mt{border:#98c0f4 1px solid;cursor:default}.fr-sqydatepicker table.dt thead tr{height:25px}.fr-sqydatepicker td{text-align:center;padding:2px;width:20px;height:20px}.fr-sqydatepicker tbody td{font-size:13px;padding:3px}.fr-sqydatepicker tbody td.day,.fr-sqydatepicker tbody td.year,.fr-sqydatepicker tbody td.month{-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px}.fr-sqydatepicker td.name{font-size:13px;font-weight:bold}.fr-sqydatepicker td.btn{font-size:18px;font-weight:bold} +.fr-sqydatepicker thead td.title{font-weight:bold;font-size:14px;text-align:center;padding:2px}.fr-sqydatepicker table.mt td{height: 24px;*height:24px;width:60px;}.fr-sqydatepicker thead tr.mainhead td{background-color:#dfecfb;border-bottom:1px solid #98c0f4}.fr-sqydatepicker thead tr.mainhead td.hover,.fr-sqydatepicker td.nexty.hover,.fr-sqydatepicker td.prevy.hover,.fr-sqydatepicker td.fd.hover{background-color:#7bacff;border:1px solid #007bff;padding:1px}.fr-sqydatepicker table td.wn{padding:2px 3px 2px 2px;border-right:1px solid #98c0f4;background:#dfecfb} +.fr-sqydatepicker table td.weekend{color:#ae565f}.fr-sqydatepicker tbody td.hover{background-color:#eee;padding:1px 1px 1px 1px;border:1px solid #c6c6c6}.fr-sqydatepicker tbody td.today{font-weight:bold;color:#00f}.fr-sqydatepicker tbody td.selected{color:#fff;font-weight:bold;border:1px solid #007bff;padding:1px 1px 1px 1px;background:rgb(24,104,214)}.fr-sqydatepicker td.month,.fr-sqydatepicker td.year{border:0 none;vertical-align:middle;width:25%}.fr-sqydatepicker tfoot tr.optbtns td.btn{cursor:pointer;background-color:#dfecfb;font-size:13px;border-top:1px solid #98c0f4;padding:7px 2px 2px 2px} +.fr-sqydatepicker tfoot tr.optbtns td.hover{background-color:#7bacff;border:1px solid #007bff;padding:7px 1px 1px 1px}.fr-sqydatepicker td.oday{color:#d7d7d7}.fr-sqydatepicker td.disabled{color:#999}.fr-sqydatepicker table.tt{border:#a3bad9 1px solid;cursor:default;background-color:#dfecfb}.fr-sqydatepicker td.time{border-top:#98c0f4 1px solid;background-color:#dfecfb;border-left:0;border-right:0}.fr-sqydatepicker table.tt td{font-weight:bold;width:40px;height:15px}.fr-sqydatepicker table.tt td.common{width:5px}.fr-sqydatepicker table.tt td.hover{background-color:#7bacff;border:1px solid #007bff;padding:2px} +.fr-sqydatepicker table.tt input{height:20px;margin:0 auto;overflow:hidden;width:35px;text-align:center;line-height:20px;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.fr-sqydatepicker td.time table{border:0;cursor:default} +.fr-sqydatepicker .lunar{font-size: 12px;font-weight: normal;}.fr-sqydatepicker .solar{font-size: 13px;font-weight: bold;} + diff --git a/src/main/resources/com/fr/plugin/sqy/kj/calendar/js/plugin_form_main.js b/src/main/resources/com/fr/plugin/sqy/kj/calendar/js/plugin_form_main.js new file mode 100644 index 0000000..52bdf1d --- /dev/null +++ b/src/main/resources/com/fr/plugin/sqy/kj/calendar/js/plugin_form_main.js @@ -0,0 +1,1396 @@ +;!(function($){ + var calendar = { + + /** + * 农历1900-2100的润大小信息表 + * @Array Of Property + * @return Hex + */ + lunarInfo:[0x04bd8,0x04ae0,0x0a570,0x054d5,0x0d260,0x0d950,0x16554,0x056a0,0x09ad0,0x055d2,//1900-1909 + 0x04ae0,0x0a5b6,0x0a4d0,0x0d250,0x1d255,0x0b540,0x0d6a0,0x0ada2,0x095b0,0x14977,//1910-1919 + 0x04970,0x0a4b0,0x0b4b5,0x06a50,0x06d40,0x1ab54,0x02b60,0x09570,0x052f2,0x04970,//1920-1929 + 0x06566,0x0d4a0,0x0ea50,0x06e95,0x05ad0,0x02b60,0x186e3,0x092e0,0x1c8d7,0x0c950,//1930-1939 + 0x0d4a0,0x1d8a6,0x0b550,0x056a0,0x1a5b4,0x025d0,0x092d0,0x0d2b2,0x0a950,0x0b557,//1940-1949 + 0x06ca0,0x0b550,0x15355,0x04da0,0x0a5b0,0x14573,0x052b0,0x0a9a8,0x0e950,0x06aa0,//1950-1959 + 0x0aea6,0x0ab50,0x04b60,0x0aae4,0x0a570,0x05260,0x0f263,0x0d950,0x05b57,0x056a0,//1960-1969 + 0x096d0,0x04dd5,0x04ad0,0x0a4d0,0x0d4d4,0x0d250,0x0d558,0x0b540,0x0b6a0,0x195a6,//1970-1979 + 0x095b0,0x049b0,0x0a974,0x0a4b0,0x0b27a,0x06a50,0x06d40,0x0af46,0x0ab60,0x09570,//1980-1989 + 0x04af5,0x04970,0x064b0,0x074a3,0x0ea50,0x06b58,0x055c0,0x0ab60,0x096d5,0x092e0,//1990-1999 + 0x0c960,0x0d954,0x0d4a0,0x0da50,0x07552,0x056a0,0x0abb7,0x025d0,0x092d0,0x0cab5,//2000-2009 + 0x0a950,0x0b4a0,0x0baa4,0x0ad50,0x055d9,0x04ba0,0x0a5b0,0x15176,0x052b0,0x0a930,//2010-2019 + 0x07954,0x06aa0,0x0ad50,0x05b52,0x04b60,0x0a6e6,0x0a4e0,0x0d260,0x0ea65,0x0d530,//2020-2029 + 0x05aa0,0x076a3,0x096d0,0x04afb,0x04ad0,0x0a4d0,0x1d0b6,0x0d250,0x0d520,0x0dd45,//2030-2039 + 0x0b5a0,0x056d0,0x055b2,0x049b0,0x0a577,0x0a4b0,0x0aa50,0x1b255,0x06d20,0x0ada0,//2040-2049 + /**Add By JJonline@JJonline.Cn**/ + 0x14b63,0x09370,0x049f8,0x04970,0x064b0,0x168a6,0x0ea50, 0x06b20,0x1a6c4,0x0aae0,//2050-2059 + 0x0a2e0,0x0d2e3,0x0c960,0x0d557,0x0d4a0,0x0da50,0x05d55,0x056a0,0x0a6d0,0x055d4,//2060-2069 + 0x052d0,0x0a9b8,0x0a950,0x0b4a0,0x0b6a6,0x0ad50,0x055a0,0x0aba4,0x0a5b0,0x052b0,//2070-2079 + 0x0b273,0x06930,0x07337,0x06aa0,0x0ad50,0x14b55,0x04b60,0x0a570,0x054e4,0x0d160,//2080-2089 + 0x0e968,0x0d520,0x0daa0,0x16aa6,0x056d0,0x04ae0,0x0a9d4,0x0a2d0,0x0d150,0x0f252,//2090-2099 + 0x0d520],//2100 + + /** + * 公历每个月份的天数普通表 + * @Array Of Property + * @return Number + */ + solarMonth:[31,28,31,30,31,30,31,31,30,31,30,31], + + /** + * 天干地支之天干速查表 + * @Array Of Property trans["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"] + * @return Cn string + */ + Gan:["\u7532","\u4e59","\u4e19","\u4e01","\u620a","\u5df1","\u5e9a","\u8f9b","\u58ec","\u7678"], + + /** + * 天干地支之地支速查表 + * @Array Of Property + * @trans["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"] + * @return Cn string + */ + Zhi:["\u5b50","\u4e11","\u5bc5","\u536f","\u8fb0","\u5df3","\u5348","\u672a","\u7533","\u9149","\u620c","\u4ea5"], + + /** + * 天干地支之地支速查表<=>生肖 + * @Array Of Property + * @trans["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"] + * @return Cn string + */ + Animals:["\u9f20","\u725b","\u864e","\u5154","\u9f99","\u86c7","\u9a6c","\u7f8a","\u7334","\u9e21","\u72d7","\u732a"], + + /** + * 24节气速查表 + * @Array Of Property + * @trans["小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至"] + * @return Cn string + */ + solarTerm:["\u5c0f\u5bd2","\u5927\u5bd2","\u7acb\u6625","\u96e8\u6c34","\u60ca\u86f0","\u6625\u5206","\u6e05\u660e","\u8c37\u96e8","\u7acb\u590f","\u5c0f\u6ee1","\u8292\u79cd","\u590f\u81f3","\u5c0f\u6691","\u5927\u6691","\u7acb\u79cb","\u5904\u6691","\u767d\u9732","\u79cb\u5206","\u5bd2\u9732","\u971c\u964d","\u7acb\u51ac","\u5c0f\u96ea","\u5927\u96ea","\u51ac\u81f3"], + + /** + * 1900-2100各年的24节气日期速查表 + * @Array Of Property + * @return 0x string For splice + */ + sTermInfo:['9778397bd097c36b0b6fc9274c91aa','97b6b97bd19801ec9210c965cc920e','97bcf97c3598082c95f8c965cc920f', + '97bd0b06bdb0722c965ce1cfcc920f','b027097bd097c36b0b6fc9274c91aa','97b6b97bd19801ec9210c965cc920e', + '97bcf97c359801ec95f8c965cc920f','97bd0b06bdb0722c965ce1cfcc920f','b027097bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e','97bcf97c359801ec95f8c965cc920f','97bd0b06bdb0722c965ce1cfcc920f', + 'b027097bd097c36b0b6fc9274c91aa','9778397bd19801ec9210c965cc920e','97b6b97bd19801ec95f8c965cc920f', + '97bd09801d98082c95f8e1cfcc920f','97bd097bd097c36b0b6fc9210c8dc2','9778397bd197c36c9210c9274c91aa', + '97b6b97bd19801ec95f8c965cc920e','97bd09801d98082c95f8e1cfcc920f','97bd097bd097c36b0b6fc9210c8dc2', + '9778397bd097c36c9210c9274c91aa','97b6b97bd19801ec95f8c965cc920e','97bcf97c3598082c95f8e1cfcc920f', + '97bd097bd097c36b0b6fc9210c8dc2','9778397bd097c36c9210c9274c91aa','97b6b97bd19801ec9210c965cc920e', + '97bcf97c3598082c95f8c965cc920f','97bd097bd097c35b0b6fc920fb0722','9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e','97bcf97c3598082c95f8c965cc920f','97bd097bd097c35b0b6fc920fb0722', + '9778397bd097c36b0b6fc9274c91aa','97b6b97bd19801ec9210c965cc920e','97bcf97c359801ec95f8c965cc920f', + '97bd097bd097c35b0b6fc920fb0722','9778397bd097c36b0b6fc9274c91aa','97b6b97bd19801ec9210c965cc920e', + '97bcf97c359801ec95f8c965cc920f','97bd097bd097c35b0b6fc920fb0722','9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e','97bcf97c359801ec95f8c965cc920f','97bd097bd07f595b0b6fc920fb0722', + '9778397bd097c36b0b6fc9210c8dc2','9778397bd19801ec9210c9274c920e','97b6b97bd19801ec95f8c965cc920f', + '97bd07f5307f595b0b0bc920fb0722','7f0e397bd097c36b0b6fc9210c8dc2','9778397bd097c36c9210c9274c920e', + '97b6b97bd19801ec95f8c965cc920f','97bd07f5307f595b0b0bc920fb0722','7f0e397bd097c36b0b6fc9210c8dc2', + '9778397bd097c36c9210c9274c91aa','97b6b97bd19801ec9210c965cc920e','97bd07f1487f595b0b0bc920fb0722', + '7f0e397bd097c36b0b6fc9210c8dc2','9778397bd097c36b0b6fc9274c91aa','97b6b97bd19801ec9210c965cc920e', + '97bcf7f1487f595b0b0bb0b6fb0722','7f0e397bd097c35b0b6fc920fb0722','9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e','97bcf7f1487f595b0b0bb0b6fb0722','7f0e397bd097c35b0b6fc920fb0722', + '9778397bd097c36b0b6fc9274c91aa','97b6b97bd19801ec9210c965cc920e','97bcf7f1487f531b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc920fb0722','9778397bd097c36b0b6fc9274c91aa','97b6b97bd19801ec9210c965cc920e', + '97bcf7f1487f531b0b0bb0b6fb0722','7f0e397bd07f595b0b6fc920fb0722','9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c9274c920e','97bcf7f0e47f531b0b0bb0b6fb0722','7f0e397bd07f595b0b0bc920fb0722', + '9778397bd097c36b0b6fc9210c91aa','97b6b97bd197c36c9210c9274c920e','97bcf7f0e47f531b0b0bb0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722','9778397bd097c36b0b6fc9210c8dc2','9778397bd097c36c9210c9274c920e', + '97b6b7f0e47f531b0723b0b6fb0722','7f0e37f5307f595b0b0bc920fb0722','7f0e397bd097c36b0b6fc9210c8dc2', + '9778397bd097c36b0b70c9274c91aa','97b6b7f0e47f531b0723b0b6fb0721','7f0e37f1487f595b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc9210c8dc2','9778397bd097c36b0b6fc9274c91aa','97b6b7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f595b0b0bb0b6fb0722','7f0e397bd097c35b0b6fc920fb0722','9778397bd097c36b0b6fc9274c91aa', + '97b6b7f0e47f531b0723b0b6fb0721','7f0e27f1487f531b0b0bb0b6fb0722','7f0e397bd097c35b0b6fc920fb0722', + '9778397bd097c36b0b6fc9274c91aa','97b6b7f0e47f531b0723b0b6fb0721','7f0e27f1487f531b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc920fb0722','9778397bd097c36b0b6fc9274c91aa','97b6b7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f531b0b0bb0b6fb0722','7f0e397bd07f595b0b0bc920fb0722','9778397bd097c36b0b6fc9274c91aa', + '97b6b7f0e47f531b0723b0787b0721','7f0e27f0e47f531b0b0bb0b6fb0722','7f0e397bd07f595b0b0bc920fb0722', + '9778397bd097c36b0b6fc9210c91aa','97b6b7f0e47f149b0723b0787b0721','7f0e27f0e47f531b0723b0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722','9778397bd097c36b0b6fc9210c8dc2','977837f0e37f149b0723b0787b0721', + '7f07e7f0e47f531b0723b0b6fb0722','7f0e37f5307f595b0b0bc920fb0722','7f0e397bd097c35b0b6fc9210c8dc2', + '977837f0e37f14998082b0787b0721','7f07e7f0e47f531b0723b0b6fb0721','7f0e37f1487f595b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc9210c8dc2','977837f0e37f14998082b0787b06bd','7f07e7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f531b0b0bb0b6fb0722','7f0e397bd097c35b0b6fc920fb0722','977837f0e37f14998082b0787b06bd', + '7f07e7f0e47f531b0723b0b6fb0721','7f0e27f1487f531b0b0bb0b6fb0722','7f0e397bd097c35b0b6fc920fb0722', + '977837f0e37f14998082b0787b06bd','7f07e7f0e47f531b0723b0b6fb0721','7f0e27f1487f531b0b0bb0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722','977837f0e37f14998082b0787b06bd','7f07e7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f531b0b0bb0b6fb0722','7f0e397bd07f595b0b0bc920fb0722','977837f0e37f14998082b0787b06bd', + '7f07e7f0e47f149b0723b0787b0721','7f0e27f0e47f531b0b0bb0b6fb0722','7f0e397bd07f595b0b0bc920fb0722', + '977837f0e37f14998082b0723b06bd','7f07e7f0e37f149b0723b0787b0721','7f0e27f0e47f531b0723b0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722','977837f0e37f14898082b0723b02d5','7ec967f0e37f14998082b0787b0721', + '7f07e7f0e47f531b0723b0b6fb0722','7f0e37f1487f595b0b0bb0b6fb0722','7f0e37f0e37f14898082b0723b02d5', + '7ec967f0e37f14998082b0787b0721','7f07e7f0e47f531b0723b0b6fb0722','7f0e37f1487f531b0b0bb0b6fb0722', + '7f0e37f0e37f14898082b0723b02d5','7ec967f0e37f14998082b0787b06bd','7f07e7f0e47f531b0723b0b6fb0721', + '7f0e37f1487f531b0b0bb0b6fb0722','7f0e37f0e37f14898082b072297c35','7ec967f0e37f14998082b0787b06bd', + '7f07e7f0e47f531b0723b0b6fb0721','7f0e27f1487f531b0b0bb0b6fb0722','7f0e37f0e37f14898082b072297c35', + '7ec967f0e37f14998082b0787b06bd','7f07e7f0e47f531b0723b0b6fb0721','7f0e27f1487f531b0b0bb0b6fb0722', + '7f0e37f0e366aa89801eb072297c35','7ec967f0e37f14998082b0787b06bd','7f07e7f0e47f149b0723b0787b0721', + '7f0e27f1487f531b0b0bb0b6fb0722','7f0e37f0e366aa89801eb072297c35','7ec967f0e37f14998082b0723b06bd', + '7f07e7f0e47f149b0723b0787b0721','7f0e27f0e47f531b0723b0b6fb0722','7f0e37f0e366aa89801eb072297c35', + '7ec967f0e37f14998082b0723b06bd','7f07e7f0e37f14998083b0787b0721','7f0e27f0e47f531b0723b0b6fb0722', + '7f0e37f0e366aa89801eb072297c35','7ec967f0e37f14898082b0723b02d5','7f07e7f0e37f14998082b0787b0721', + '7f07e7f0e47f531b0723b0b6fb0722','7f0e36665b66aa89801e9808297c35','665f67f0e37f14898082b0723b02d5', + '7ec967f0e37f14998082b0787b0721','7f07e7f0e47f531b0723b0b6fb0722','7f0e36665b66a449801e9808297c35', + '665f67f0e37f14898082b0723b02d5','7ec967f0e37f14998082b0787b06bd','7f07e7f0e47f531b0723b0b6fb0721', + '7f0e36665b66a449801e9808297c35','665f67f0e37f14898082b072297c35','7ec967f0e37f14998082b0787b06bd', + '7f07e7f0e47f531b0723b0b6fb0721','7f0e26665b66a449801e9808297c35','665f67f0e37f1489801eb072297c35', + '7ec967f0e37f14998082b0787b06bd','7f07e7f0e47f531b0723b0b6fb0721','7f0e27f1487f531b0b0bb0b6fb0722'], + + /** + * 数字转中文速查表 + * @Array Of Property + * @trans ['日','一','二','三','四','五','六','七','八','九','十'] + * @return Cn string + */ + nStr1:["\u65e5","\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341"], + + /** + * 日期转农历称呼速查表 + * @Array Of Property + * @trans ['初','十','廿','卅'] + * @return Cn string + */ + nStr2:["\u521d","\u5341","\u5eff","\u5345"], + + /** + * 月份转农历称呼速查表 + * @Array Of Property + * @trans ['正','一','二','三','四','五','六','七','八','九','十','冬','腊'] + * @return Cn string + */ + nStr3:["\u6b63","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u51ac","\u814a"], + + /** + * 返回农历y年一整年的总天数 + * @param lunar Year + * @return Number + * @evar .lYearDays(1987) ;//count=387 + */ + lYearDays:function(y) { + var i, sum = 348; + for(i=0x8000; i>0x8; i>>=1) { sum += (calendar.lunarInfo[y-1900] & i)? 1: 0; } + return(sum+calendar.leapDays(y)); + }, + + /** + * 返回农历y年闰月是哪个月;若y年没有闰月 则返回0 + * @param lunar Year + * @return Number (0-12) + * @eg:var leapMonth = calendar.leapMonth(1987) ;//leapMonth=6 + */ + leapMonth:function(y) { //闰字编码 \u95f0 + return(calendar.lunarInfo[y-1900] & 0xf); + }, + + /** + * 返回农历y年闰月的天数 若该年没有闰月则返回0 + * @param lunar Year + * @return Number (0、29、30) + * @eg:var leapMonthDay = calendar.leapDays(1987) ;//leapMonthDay=29 + */ + leapDays:function(y) { + if(calendar.leapMonth(y)) { + return((calendar.lunarInfo[y-1900] & 0x10000)? 30: 29); + } + return(0); + }, + + /** + * 返回农历y年m月(非闰月)的总天数,计算m为闰月时的天数请使用leapDays方法 + * @param lunar Year + * @return Number (-1、29、30) + * @eg:var MonthDay = calendar.monthDays(1987,9) ;//MonthDay=29 + */ + monthDays:function(y,m) { + if(m>12 || m<1) {return -1}//月份参数从1至12,参数错误返回-1 + return( (calendar.lunarInfo[y-1900] & (0x10000>>m))? 30: 29 ); + }, + + /** + * 返回公历(!)y年m月的天数 + * @param solar Year + * @return Number (-1、28、29、30、31) + * @eg:var solarMonthDay = calendar.leapDays(1987) ;//solarMonthDay=30 + */ + solarDays:function(y,m) { + if(m>12 || m<1) {return -1} //若参数错误 返回-1 + var ms = m-1; + if(ms==1) { //2月份的闰平规律测算后确认返回28或29 + return(((y%4 == 0) && (y%100 != 0) || (y%400 == 0))? 29: 28); + }else { + return(calendar.solarMonth[ms]); + } + }, + + /** + * 农历年份转换为干支纪年 + * @param lYear 农历年的年份数 + * @return Cn string + */ + toGanZhiYear:function(lYear) { + var ganKey = (lYear - 3) % 10; + var zhiKey = (lYear - 3) % 12; + if(ganKey == 0) ganKey = 10;//如果余数为0则为最后一个天干 + if(zhiKey == 0) zhiKey = 12;//如果余数为0则为最后一个地支 + return calendar.Gan[ganKey-1] + calendar.Zhi[zhiKey-1]; + + }, + + /** + * 公历月、日判断所属星座 + * @param cMonth [description] + * @param cDay [description] + * @return Cn string + */ + toAstro:function(cMonth,cDay) { + var s = "\u9b54\u7faf\u6c34\u74f6\u53cc\u9c7c\u767d\u7f8a\u91d1\u725b\u53cc\u5b50\u5de8\u87f9\u72ee\u5b50\u5904\u5973\u5929\u79e4\u5929\u874e\u5c04\u624b\u9b54\u7faf"; + var arr = [20,19,21,21,21,22,23,23,23,23,22,22]; + return s.substr(cMonth*2 - (cDay < arr[cMonth-1] ? 2 : 0),2) + "\u5ea7";//座 + }, + + /** + * 传入offset偏移量返回干支 + * @param offset 相对甲子的偏移量 + * @return Cn string + */ + toGanZhi:function(offset) { + return calendar.Gan[offset%10] + calendar.Zhi[offset%12]; + }, + + /** + * 传入公历(!)y年获得该年第n个节气的公历日期 + * @param y公历年(1900-2100);n二十四节气中的第几个节气(1~24);从n=1(小寒)算起 + * @return day Number + * @eg:var _24 = calendar.getTerm(1987,3) ;//_24=4;意即1987年2月4日立春 + */ + getTerm:function(y,n) { + if(y<1900 || y>2100) {return -1;} + if(n<1 || n>24) {return -1;} + var _table = calendar.sTermInfo[y-1900]; + var _info = [ + parseInt('0x'+_table.substr(0,5)).toString() , + parseInt('0x'+_table.substr(5,5)).toString(), + parseInt('0x'+_table.substr(10,5)).toString(), + parseInt('0x'+_table.substr(15,5)).toString(), + parseInt('0x'+_table.substr(20,5)).toString(), + parseInt('0x'+_table.substr(25,5)).toString() + ]; + var _calday = [ + _info[0].substr(0,1), + _info[0].substr(1,2), + _info[0].substr(3,1), + _info[0].substr(4,2), + + _info[1].substr(0,1), + _info[1].substr(1,2), + _info[1].substr(3,1), + _info[1].substr(4,2), + + _info[2].substr(0,1), + _info[2].substr(1,2), + _info[2].substr(3,1), + _info[2].substr(4,2), + + _info[3].substr(0,1), + _info[3].substr(1,2), + _info[3].substr(3,1), + _info[3].substr(4,2), + + _info[4].substr(0,1), + _info[4].substr(1,2), + _info[4].substr(3,1), + _info[4].substr(4,2), + + _info[5].substr(0,1), + _info[5].substr(1,2), + _info[5].substr(3,1), + _info[5].substr(4,2), + ]; + return parseInt(_calday[n-1]); + }, + + /** + * 传入农历数字月份返回汉语通俗表示法 + * @param lunar month + * @return Cn string + * @eg:var cnMonth = calendar.toChinaMonth(12) ;//cnMonth='腊月' + */ + toChinaMonth:function(m) { // 月 => \u6708 + if(m>12 || m<1) {return -1} //若参数错误 返回-1 + var s = calendar.nStr3[m-1]; + s+= "\u6708";//加上月字 + return s; + }, + + /** + * 传入农历日期数字返回汉字表示法 + * @param lunar day + * @return Cn string + * @eg:var cnDay = calendar.toChinaDay(21) ;//cnMonth='廿一' + */ + toChinaDay:function(d){ //日 => \u65e5 + var s; + switch (d) { + case 10: + s = '\u521d\u5341'; break; + case 20: + s = '\u4e8c\u5341'; break; + break; + case 30: + s = '\u4e09\u5341'; break; + break; + default : + s = calendar.nStr2[Math.floor(d/10)]; + s += calendar.nStr1[d%10]; + } + return(s); + }, + + /** + * 年份转生肖[!仅能大致转换] => 精确划分生肖分界线是“立春” + * @param y year + * @return Cn string + * @eg:var animal = calendar.getAnimal(1987) ;//animal='兔' + */ + getAnimal: function(y) { + return calendar.Animals[(y - 4) % 12] + }, + + /** + * 传入阳历年月日获得详细的公历、农历object信息 <=>JSON + * @param y solar year + * @param m solar month + * @param d solar day + * @return JSON object + * @eg:console.log(calendar.solar2lunar(1987,11,01)); + */ + solar2lunar:function (y,m,d) { //参数区间1900.1.31~2100.12.31 + //年份限定、上限 + if(y<1900 || y>2100) { + return -1;// undefined转换为数字变为NaN + } + //公历传参最下限 + if(y==1900&&m==1&&d<31) { + return -1; + } + //未传参 获得当天 + if(!y) { + var objDate = new Date(); + }else { + var objDate = new Date(y,parseInt(m)-1,d) + } + var i, leap=0, temp=0; + //修正ymd参数 + var y = objDate.getFullYear(), + m = objDate.getMonth()+1, + d = objDate.getDate(); + var offset = (Date.UTC(objDate.getFullYear(),objDate.getMonth(),objDate.getDate()) - Date.UTC(1900,0,31))/86400000; + for(i=1900; i<2101 && offset>0; i++) { + temp = calendar.lYearDays(i); + offset -= temp; + } + if(offset<0) { + offset+=temp; i--; + } + + //是否今天 + var isTodayObj = new Date(), + isToday = false; + if(isTodayObj.getFullYear()==y && isTodayObj.getMonth()+1==m && isTodayObj.getDate()==d) { + isToday = true; + } + //星期几 + var nWeek = objDate.getDay(), + cWeek = calendar.nStr1[nWeek]; + //数字表示周几顺应天朝周一开始的惯例 + if(nWeek==0) { + nWeek = 7; + } + //农历年 + var year = i; + var leap = calendar.leapMonth(i); //闰哪个月 + var isLeap = false; + + //效验闰月 + for(i=1; i<13 && offset>0; i++) { + //闰月 + if(leap>0 && i==(leap+1) && isLeap==false){ + --i; + isLeap = true; temp = calendar.leapDays(year); //计算农历闰月天数 + } + else{ + temp = calendar.monthDays(year, i);//计算农历普通月天数 + } + //解除闰月 + if(isLeap==true && i==(leap+1)) { isLeap = false; } + offset -= temp; + } + // 闰月导致数组下标重叠取反 + if(offset==0 && leap>0 && i==leap+1) + { + if(isLeap){ + isLeap = false; + }else{ + isLeap = true; --i; + } + } + if(offset<0) + { + offset += temp; --i; + } + //农历月 + var month = i; + //农历日 + var day = offset + 1; + //天干地支处理 + var sm = m-1; + var gzY = calendar.toGanZhiYear(year); + + // 当月的两个节气 + // bugfix-2017-7-24 11:03:38 use lunar Year Param `y` Not `year` + var firstNode = calendar.getTerm(y,(m*2-1));//返回当月「节」为几日开始 + var secondNode = calendar.getTerm(y,(m*2));//返回当月「节」为几日开始 + + // 依据12节气修正干支月 + var gzM = calendar.toGanZhi((y-1900)*12+m+11); + if(d>=firstNode) { + gzM = calendar.toGanZhi((y-1900)*12+m+12); + } + + //传入的日期的节气与否 + var isTerm = false; + var Term = null; + if(firstNode==d) { + isTerm = true; + Term = calendar.solarTerm[m*2-2]; + } + if(secondNode==d) { + isTerm = true; + Term = calendar.solarTerm[m*2-1]; + } + //日柱 当月一日与 1900/1/1 相差天数 + var dayCyclical = Date.UTC(y,sm,1,0,0,0,0)/86400000+25567+10; + var gzD = calendar.toGanZhi(dayCyclical+d-1); + //该日期所属的星座 + var astro = calendar.toAstro(m,d); + + return {'lYear':year,'lMonth':month,'lDay':day,'Animal':calendar.getAnimal(year),'IMonthCn':(isLeap?"\u95f0":'')+calendar.toChinaMonth(month),'IDayCn':calendar.toChinaDay(day),'cYear':y,'cMonth':m,'cDay':d,'gzYear':gzY,'gzMonth':gzM,'gzDay':gzD,'isToday':isToday,'isLeap':isLeap,'nWeek':nWeek,'ncWeek':"\u661f\u671f"+cWeek,'isTerm':isTerm,'Term':Term,'astro':astro}; + }, + + /** + * 传入农历年月日以及传入的月份是否闰月获得详细的公历、农历object信息 <=>JSON + * @param y lunar year + * @param m lunar month + * @param d lunar day + * @param isLeapMonth lunar month is leap or not.[如果是农历闰月第四个参数赋值true即可] + * @return JSON object + * @eg:console.log(calendar.lunar2solar(1987,9,10)); + */ + lunar2solar:function(y,m,d,isLeapMonth) { //参数区间1900.1.31~2100.12.1 + var isLeapMonth = !!isLeapMonth; + var leapOffset = 0; + var leapMonth = calendar.leapMonth(y); + var leapDay = calendar.leapDays(y); + if(isLeapMonth&&(leapMonth!=m)) {return -1;}//传参要求计算该闰月公历 但该年得出的闰月与传参的月份并不同 + if(y==2100&&m==12&&d>1 || y==1900&&m==1&&d<31) {return -1;}//超出了最大极限值 + var day = calendar.monthDays(y,m); + var _day = day; + //bugFix 2016-9-25 + //if month is leap, _day use leapDays method + if(isLeapMonth) { + _day = calendar.leapDays(y,m); + } + if(y < 1900 || y > 2100 || d > _day) {return -1;}//参数合法性效验 + + //计算农历的时间差 + var offset = 0; + for(var i=1900;i0) { + offset+=calendar.leapDays(y);isAdd = true; + } + } + offset+=calendar.monthDays(y,i); + } + //转换闰月农历 需补充该年闰月的前一个月的时差 + if(isLeapMonth) {offset+=day;} + //1900年农历正月一日的公历时间为1900年1月30日0时0分0秒(该时间也是本农历的最开始起始点) + var stmap = Date.UTC(1900,1,30,0,0,0); + var calObj = new Date((offset+d-31)*86400000+stmap); + var cY = calObj.getUTCFullYear(); + var cM = calObj.getUTCMonth()+1; + var cD = calObj.getUTCDate(); + + return calendar.solar2lunar(cY,cM,cD); + } + }; + + FR.SqyDatePicker = FR.extend(FR.Widget, { + CONSTS: { + VIEWMODE: { + YM: 0 + , YMD: 1 + , HMS: 2 + , YMDHMS: 3 + }, MINYEAR: 1900 + , MAXYEAR: 2999 + , NAV: { + "prevm": 2 + , "nextm": 3 + , "title": 4 + , "clear": 5 + , "today": 6 + , "dok": 7 + , "prevy": 8 + , "nexty": 9 + , "cancel": 10 + , "mok": 11 + , "plus": 12 + , "minus": 13 + , "firstday": 14 + , "current": 15 + , "day": 100 + , "month": 200 + , "year": 300 + } + , FIRSTDAY: 0 + }, + _TT: { + CALENDAR: FR.i18nText("Fine-Engine_Basic_Calendar") + , WK: FR.i18nText("Fine-Engine_Basic_Week") + , CLEAR: FR.i18nText("Fine-Engine_Basic_Clear") + , TODAY: FR.i18nText("Fine-Engine_Basic_Today") + , OK: FR.i18nText("Fine-Engine_Basic_OK") + , CANCEL: FR.i18nText("Fine-Engine_Basic_Cancel") + , CURRENT: FR.i18nText("Fine-Engine_Basic_Current") + }, + _defaultConfig: function () { + return $.extend(FR.SqyDatePicker.superclass._defaultConfig.apply(this, arguments), { + widgetName: "sqydatepicker", + inputField: null, + format: null, + viewMode: 1, + endDate: null, + startDate: null, + date: null, + dateFormat: null, + onDateUpdate: null, + onClear: function () { + this._hideView() + }, + onOK: function () { this._hideView() }, + onClose: function () { this._hideView() }, + onToday: function () { this._hideView() } + }) + }, + _hideView: function () { if (FR.Browser.isIE8()) { this.element.css("visibility", "hidden") } else { this.element.hide() } }, + _init: function () { + FR.SqyDatePicker.superclass._init.apply(this, arguments); + this.element.addClass("fr-sqydatepicker"); + this.cache = { showYear: null, showMonth: null }; + this._initTables(); + this._bindEvts() + }, + _initTables: function () { + var a = this.options; + this.$datetable = this._createDatePicker(); + this._loadDateData(this.$datetable, new Date(this.options.date)); + this.$monthtable = this._createMonthPicker(); + this.$timetable = this._createTimePicker(); + switch (a.viewMode) { + case this.CONSTS.VIEWMODE.YM: + this._loadMonthData(this.$monthtable, new Date(this.options.date)); + this._cacheCurrentDate(); + this.$monthtable.appendTo(this.element).show(); + break; + case this.CONSTS.VIEWMODE.HMS: + this._loadTimeData(this.$timetable, this.options.date); + this._addTimeOptPane(this.$timetable); + this.$timetable.appendTo(this.element).show(); + break; + case this.CONSTS.VIEWMODE.YMD: + this.$datetable.appendTo(this.element).show(); + this.$monthtable.hide().appendTo(this.element); + break; + default: + this.$datetable.appendTo(this.element).show(); + this.$monthtable.hide().appendTo(this.element); + var b = $("").prependTo(this.$datetable.find("tfoot")); + this._loadTimeData(this.$timetable, this.options.date); + this.$timetable.show().appendTo($('').appendTo(b)); + break + } + }, + _createTimePicker: function () { + var g = $(''); + var b = $("").appendTo(g); + var h = this, + a = this.options, + d = this.CONSTS.NAV; + g.$h = $("").data("time", "h").keyup(function () { + var k = this.value; + var j = parseInt(k, 10); + if (j < 24 && j >= 0) { + a.date.setHours(j); + FR.applyFunc(h, a.onDateUpdate, arguments) + } + }).focus(function () { g.focus = $(this) }).mousedown(function (j) { j.stopPropagation() }); + g.$m = $("").data("time", "m").keyup(function () { + var k = this.value; + var j = parseInt(k, 10); + if (j < 60 && j >= 0) { + a.date.setMinutes(j); + FR.applyFunc(h, a.onDateUpdate, arguments) + } + }).focus(function () { g.focus = $(this) }).mousedown(function (j) { j.stopPropagation() }); + g.$s = $("").data("time", "s").keyup(function () { + var k = this.value; + var j = parseInt(k, 10); + if (j < 60 && j >= 0) { + a.date.setSeconds(j); + FR.applyFunc(h, a.onDateUpdate, arguments) + } + }).focus(function () { g.focus = $(this) }).mousedown(function (j) { j.stopPropagation() }); + g.focus = g.$s; + var c = $("").append($('").append(i).appendTo(b); + b.find("input").mousewheel(function (j) { if (this.D < 0) { h._doTimeInc(g, $(this)) } else { h._doTimeDec(g, $(this)) } return false }); + return g + }, + _addTimeOptPane: function (d) { + var c = this.CONSTS.NAV; + var a = $(""); + var b = $('').appendTo(a); + this._createCell(b, this._TT["CLEAR"], 2, c["clear"], "clear"); + this._createCell(b, this._TT["CURRENT"], 3, c["current"], "current"); + this._createCell(b, this._TT["OK"], 2, c["dok"], "ok"); + a.appendTo(d) + }, + _createDatePicker: function () { + //create dom module + var j = $('
").html("∧").data("nav", d["plus"]); + var i = $("").html("∨").data("nav", d["minus"]); + var f = $("
').text(FR.i18nText("Fine-Engine_Basic_Time"))).append($('').append(g.$h)).append($('').text(":")).append($('').append(g.$m)).append($('').text(":")).append($('').append(g.$s)).append(c).appendTo(b); + var e = $("
'); + var a = this.CONSTS.NAV; + var f = $("").appendTo(j); + k = $(''); + j.$prevm = this._createCell(k, "‹", 1, a["prevm"], "prevm"); + j.$title = $('"); + $('").appendTo(k); + for (var c = 7; c > 0; --c) { $("').appendTo(j); + for (c = 6; c > 0; c--) { + var k = $("").appendTo(d); + for (var h = 0; h <= 7; h++) { + $("").appendTo(j); + var k = $(''); + this._createCell(k, this._TT["CLEAR"], 2, a["clear"], "clear"); + this._createCell(k, this._TT["TODAY"], 4, a["today"], "today"); + this._createCell(k, this._TT["OK"], 2, a["dok"], "ok"); + k.appendTo(g); + return j + }, + _createMonthPicker: function () { + var c = $('
').data("nav", a["title"]).appendTo(k); + j.$nextm = this._createCell(k, "›", 1, a["nextm"], "nextm"); + k.appendTo(f); + k = $("
' + this._TT["WK"] + "").appendTo(k) } + for (var c = 0; c < 7; ++c) { + var b = k.children().eq(c + 1); + var e = (c + this.CONSTS.FIRSTDAY) % 7; + b.addClass("day name").text(Date._SDN[e]); + if ([0, 6].indexOf(e) != -1) { b.addClass("weekend") } + if ([0, 1].indexOf(e) != -1) { b.addClass("fd").data("nav", this.CONSTS.NAV["firstday"]).data("fd", e) } + } + k.appendTo(f); + var d = $('
").appendTo(k) + } + } + var g = $("
'); + var f = this.CONSTS.NAV; + var b = $('').appendTo(c); + var e = $('').appendTo(b); + for (var g = 0; g < 2; g++) { $('").appendTo(b); + $('").appendTo(c); + e = $('').appendTo(d); + this._createCell(e, this._TT["OK"], 2, f["mok"], "ok"); + this._createCell(e, this._TT["CANCEL"], 2, f["cancel"], "cancel"); + return c + }, + _toPrevMonth: function () { + var d = this.options.startDate, + a = this.options.date; + var c = this.cache.showMonth, + b = this.cache.showYear; + if (!d) { + if (c > 0) { this._setMonth(c - 1) } else { + a.setFullYear(b - 1); + this._setMonth(11) + } + return + } + if (b > d.getFullYear()) { + if (c > 0) { + this._setMonth(c - 1) + } else { + a.setFullYear(b - 1); + this._setMonth(11) + } + } else { if (b == d.getFullYear()) { if (c > d.getMonth() && c > 0) { this._setMonth(c - 1); if (a < d) { a = new Date(d) } } } } + }, + _toNextMonth: function () { + var b = this.options.endDate, + a = this.options.date; + var d = this.cache.showMonth, + c = this.cache.showYear; + if (!b) { + if (d < 11) { this._setMonth(d + 1) } else { + a.setFullYear(c + 1); + this._setMonth(0) + } + return + } + if (c < b.getFullYear()) { + if (d < 11) { this._setMonth(d + 1) } else { + a.setFullYear(c + 1); + this._setMonth(0) + } + } else { + if (c == b.getFullYear()) { + if (d < b.getMonth()) { + this._setMonth(d + 1); + if (a > b) { a = new Date(b) } + } + } + } + }, + _toPrevDecade: function () { + var e = this.options.startDate, + a = this.options.date; + var b = a.getFullYear() - 10, + d = a.getMonth(); + var c, f; + if (e && b == (f = e.getFullYear())) { c = e.getMonth() } + if (!f || f < this.CONSTS.MINYEAR) { f = this.CONSTS.MINYEAR } + if (b < f) { a.setFullYear(f); if (d < c) { a.setMonth(c) } } else { a.setFullYear(b) } + }, + _toNextDecade: function () { + var c = this.options.endDate, + b = this.options.date; + var d = b.getFullYear() + 10, + e = b.getMonth(); + var f, a; + if (c && d == (a = c.getFullYear())) { f = c.getMonth() } + if (!a || a > this.CONSTS.MAXYEAR) { + a = this.CONSTS.MAXYEAR + } + if (d > a) { b.setFullYear(a); if (e < f) { b.setMonth(f) } } else { b.setFullYear(d) } + }, + _setMonth: function (b) { + var f = this.options.date; + var d = f.getDate(), + e = this.options.endDate, + c = this.options.startDate; + var a = f.getMonthDays(b); + if (d > a) { f.setDate(a) } + f.setMonth(b); + if (e && f > e) { f.setDate(e.getDate() > a ? a : e.getDate()) } + if (c && f < c) { f.setDate(c.getDate() > a ? a : c.getDate()) } + }, + _loadDateData: function (s, u) { + if (!u) { return } + var g = u.getFullYear(), + v = u.getMonth(), + p = u.getDate(); + var t = new Date(), + k = t.getFullYear(), + w = t.getMonth(), + a = t.getDate(); + this.cache.showYear = g; + this.cache.showMonth = v; + var x = this.options.startDate, + r = this.options.endDate; + s.$title.text(Date._MN[v] + ", " + g); + var b = new Date(u); + b.setDate(b.getMonthDays() + 1); + if ((r && b > r) || b.getFullYear() > this.CONSTS.MAXYEAR) { s.$nextm.addClass("disabled").removeClass("hover").data("disabled", true) } else { s.$nextm.removeClass("disabled").data("disabled", false) } + var o = new Date(u); + o.setDate(0); + if ((x && o < x) || o.getFullYear() < this.CONSTS.MINYEAR) { + s.$prevm.addClass("disabled").removeClass("hover").data("disabled", true) + } else { s.$prevm.removeClass("disabled").data("disabled", false) } + u.setDate(1); + var l = (u.getDay() - this.CONSTS.FIRSTDAY) % 7; + u.setDate(0 - l); + u.setDate(u.getDate() + 1); + var m = s.find("tbody").children().eq(0); + for (var q = 0; q < 6; q++) { + if (!m.length) { break } + var d = m.children().eq(0); + d.addClass("week wn").text(u.getWeekNumber()); + var e; + for (var n = 0; n < 7; ++n, u.setDate(e + 1)) { + d = d.next(); + d.removeClass().data("nav", this.CONSTS.NAV["day"]); + if (!d.length) { break } + e = u.getDate(); + // TODO d.text(e); + d.html(""+e+"
"+calendar.solar2lunar(u.getFullYear(),u.getMonth()+1,e).IDayCn+"").prependTo(this.$datetable.find("tfoot")); + this._loadTimeData(this.$timetable, this.options.date); + this.$timetable.show().appendTo($('
').appendTo(e) } + this._createCell(e, "«", 1, f["prevy"], " prevy"); + this._createCell(e, "»", 1, f["nexty"], " nexty"); + for (var a = 0; a < 5; a++) { + e = $("
' + '').appendTo(e) + } + var d = $("
"); + var h = (u.getMonth() == v); + if (!h) { + d.addClass("oday").data("disabled", true); + continue + } + var c = false; + if ((x != null && x > u) || (r != null && r < u)) { + d.addClass("day disabled"); + c = true + } else { d.addClass("day") } + d.data("disabled", c); + if (!c) { + if (h && e == p) { + this.cache.selectedDate && this.cache.selectedDate.removeClass("selected"); + d.addClass("selected"); + this.cache.selectedDate = d; + this.cache.showDay = e + } + if (u.getFullYear() == k && u.getMonth() == w && e == a) { d.addClass("today") } + var f = u.getDay(); + if ([0, 6].indexOf(f) != -1) { d.addClass("weekend") } + } + } + m = m.next() + } + }, + _loadMonthData: function (t, u) { + if (!u) { return } + var j = u.getFullYear(), + w = u.getMonth(); + var k = $(t).data("midYear"); + if (!k) { k = j } else { if (j > k + 5) { k += 10 } else { if (j < k - 4) { k -= 10 } } } + $(t).data("midYear", k); + var p = [k - 4, k - 3, k - 2, k - 1, k, k + 1, k + 2, k + 3, k + 4, k + 5]; + var d = $("td.year", t); + var l = $("td.month", t); + var m = this.options; + var e = m.endDate; + var a = m.startDate; + var b, v, c, h; + if (e) { + b = e.getFullYear(); + h = e + } else { h = new Date(this.CONSTS.MAXYEAR + 1, 0, 1) } + if (!b || b > this.CONSTS.MAXYEAR) { b = this.CONSTS.MAXYEAR } + if (a) { + v = a.getFullYear(); + c = a + } else { c = new Date(this.CONSTS.MINYEAR + 1, 11, 0) } + if (!v || v < this.CONSTS.MINYEAR) { + v = this.CONSTS.MINYEAR + } + for (var q = 0; q < 12; q++) { + var x = l.eq(q).text(Date._MN[q]).data("nav", this.CONSTS.NAV["month"]).data("month", q); + if (q === w) { + this.cache.selectedMonth && this.cache.selectedMonth.removeClass("selected"); + x.addClass("selected"); + this.cache.selectedMonth = x + } + var f = new Date(j, q, 1), + n = new Date(j, q + 1, 0); + if (f > h || n < c) { x.addClass("disabled").data("disabled", true) } else { x.removeClass("disabled").data("disabled", false) } + if (q < 10) { + var g = d.eq(q).text(p[q]).data("nav", this.CONSTS.NAV["year"]); + if (p[q] == j) { + this.cache.selectedYear && this.cache.selectedYear.removeClass("selected"); + g.addClass("selected"); + this.cache.selectedYear = g + } + if ((!FR.isEmpty(v) && p[q] < v) || (!FR.isEmpty(b) && p[q] > b)) { g.addClass("disabled").data("disabled", true) } else { g.removeClass("disabled").data("disabled", false) } + } + } + var r = $("td.prevy", t).removeClass("disabled").data("disabled", false); + if (p[0] <= v) { r.addClass("disabled").data("disabled", true).removeClass("hover") } + var s = $("td.nexty", t).removeClass("disabled").data("disabled", false); + if (p[9] >= b) { s.addClass("disabled").data("disabled", true).removeClass("hover") } + }, + _loadTimeData: function (d, c) { + if (!c) { + return + } + var a = c.getHours(), + e = c.getMinutes(), + b = c.getSeconds(); + d.$h.val(String.leftPad(a, 2, "0")); + d.$m.val(String.leftPad(e, 2, "0")); + d.$s.val(String.leftPad(b, 2, "0")) + }, + _doTimeInc: function (e, a) { + var b = a.data("time"), + d = this.options; + if (b === "h") { + var c = (d.date.getHours() + 1) % 24; + d.date.setHours(c); + e.$h.val(String.leftPad(c, 2, "0")) + } else { + if (b === "m") { + var c = (d.date.getMinutes() + 1) % 60; + d.date.setMinutes(c); + e.$m.val(String.leftPad(c, 2, "0")) + } else { + var c = (d.date.getSeconds() + 1) % 60; + d.date.setSeconds(c); + e.$s.val(String.leftPad(c, 2, "0")) + } + } + a.select(); + FR.applyFunc(this, d.onDateUpdate, arguments) + }, + _doTimeDec: function (e, a) { + var b = a.data("time"), + d = this.options; + if (b === "h") { + var c = (d.date.getHours() + 23) % 24; + d.date.setHours(c); + e.$h.val(String.leftPad(c, 2, "0")) + } else { + if (b === "m") { + var c = (d.date.getMinutes() + 59) % 60; + d.date.setMinutes(c); + e.$m.val(String.leftPad(c, 2, "0")) + } else { + var c = (d.date.getSeconds() + 59) % 60; + d.date.setSeconds(c); + e.$s.val(String.leftPad(c, 2, "0")) + } + } + a.select(); + FR.applyFunc(this, d.onDateUpdate, arguments) + }, + _bindEvts: function () { + this.element.unbind(); + var a = this, + g = this.options, + d = this.CONSTS.NAV; + var c = this.$monthtable, + e = this.$datetable, + f = this.$timetable; + var b = function (l) { + var m = l.target; + var k = l.type; + //TODO 如果捕捉到了span + if(m.tagName == "SPAN" && m.parentNode.tagName == "TD"){ + m = m.parentNode; + } + var j = $(m).data("nav"); + + if ($(m).data("disabled") || m.tagName !== "TD" || !j) {return} + if (!a.options.date) { a.options.date = new Date() } + if (k === "mouseover") { $(m).addClass("hover") } else { + if (k === "mouseup") { + switch (j) { + case d["prevm"]: + a._toPrevMonth(); + a._loadDateData(e, new Date(a.options.date)); + FR.applyFunc(a, g.onDateUpdate, arguments); + break; + case d["nextm"]: + a._toNextMonth(); + a._loadDateData(e, new Date(a.options.date)); + FR.applyFunc(a, g.onDateUpdate, arguments); + break; + case d["title"]: + a._loadMonthData(c, new Date(a.cache.showYear, a.cache.showMonth)); + a._cacheCurrentDate(); + c.css({ position: "absolute", top: 0, "z-index": FR.widget.opts.zIndex++ }).show("fast"); + break; + case d["clear"]: + a.options.date = null; + a.cache.selectedDate && a.cache.selectedDate.removeClass("selected"); + FR.applyFunc(a, g.onDateUpdate, arguments); + FR.applyFunc(a, g.onClear, arguments); + break; + case d["current"]: + a.options.date = new Date(); + FR.applyFunc(a, g.onDateUpdate, arguments); + case d["today"]: + var h = new Date(); + if ((a.options.startDate && h < a.options.startDate) || (a.options.endDate && h > a.options.endDate)) { return } else { a.options.date = h } + FR.applyFunc(a, g.onDateUpdate, arguments); + FR.applyFunc(a, g.onToday, arguments); + break; + case d["dok"]: + FR.applyFunc(a, g.onDateUpdate, arguments); + FR.applyFunc(a, g.onOK, arguments); + break; + case d["prevy"]: + a._toPrevDecade(); + a._loadMonthData(c, new Date(a.options.date)); + FR.applyFunc(a, g.onDateUpdate, arguments); + break; + case d["nexty"]: + a._toNextDecade(); + a._loadMonthData(c, new Date(a.options.date)); + FR.applyFunc(a, g.onDateUpdate, arguments); + break; + case d["mok"]: + a._loadDateData(e, new Date(a.options.date)); + FR.applyFunc(a, g.onDateUpdate, arguments); + if (g.viewMode === a.CONSTS.VIEWMODE.YM) { FR.applyFunc(a, g.onOK, arguments) } else { c.hide("fast") } + break; + case d["cancel"]: + if (a.cache.originalDate) { a.options.date = a.cache.originalDate } + a._loadDateData(e, new Date(a.options.date)); + FR.applyFunc(a, g.onDateUpdate, arguments); + if (g.viewMode === a.CONSTS.VIEWMODE.YM) { + FR.applyFunc(a, g.onClose, arguments) + } else { c.hide("fast") } + break; + case d["year"]: + a.cache.selectedYear && a.cache.selectedYear.removeClass("selected"); + a.cache.selectedYear = $(m); + var i = a.options.date; + i.setFullYear($(m).text()); + a._loadMonthData(c, new Date(i)); + FR.applyFunc(a, g.onDateUpdate, arguments); + break; + case d["month"]: + a.cache.selectedMonth && a.cache.selectedMonth.removeClass("selected"); + a.cache.selectedMonth = $(m).addClass("selected"); + a.options.date.setDate(1); + a.options.date.setMonth($(m).data("month")); + FR.applyFunc(a, g.onDateUpdate, arguments); + break; + case d["day"]: + a.cache.selectedDate && a.cache.selectedDate.removeClass("selected"); + a.cache.selectedDate = $(m).addClass("selected"); + var i = a.options.date; + i.setFullYear(a.cache.showYear); + i.setMonth(a.cache.showMonth); + i.setDate($(m).find(".solar").eq(0).text());//$(m).text() TODO + FR.applyFunc(a, g.onDateUpdate, arguments); + if (!f.parent().length) { FR.applyFunc(a, g.onClose, arguments) } + break; + case d["plus"]: + a._doTimeInc(f, f.focus); + break; + case d["minus"]: + a._doTimeDec(f, f.focus); + break; + case d["firstday"]: + a.CONSTS.FIRSTDAY = $(m).data("fd"); + a.element.empty(); + a._init(); + default: + break + } + } else { if (k === "mouseout") { $(m).removeClass("hover") } } + } + }; + this.element.bind("mousedown", b).bind("mouseover", b).bind("mouseup", b).bind("mouseout", b) + }, + _createCell: function (c, e, f, d, a) { + var b = $("").attr("colSpan", f).html(e).appendTo(c); + if (d) { b.data("nav", d) } + a = a ? "btn " + a : "btn"; + b.addClass(a); + return b + }, + getValue: function () { return this.options.date }, + setValue: function (a) { this.options.date = a }, + getText: function () { return this.getValue() }, + setText: function (a) { this.setValue(a) }, + _cacheCurrentDate: function () { + var a = this; + a.cache.originalDate = new Date(a.options.date) + } + }); + $.shortcut("sqydatepicker", FR.SqyDatePicker); + + FR.sqy_calendar = FR.extend(FR.BaseDateTimeEditor, { + _defaultConfig: function() { + return $.extend(FR.DateTimeEditor.superclass._defaultConfig.apply(), { + format: "yyyy-MM-dd", + directEdit: true + }) + }, + _init: function() { + FR.DateTimeEditor.superclass._init.apply(this, arguments); + this.switchArrow(); + if (this.options.widgetCss && this.options.widgetCss.length !== 0) { + $.each(this.options.widgetCss, function(c, d) { + FR.$import(d, "css", true) + }) + } + var b = this.options; + this.viewMode = this._initViewMode(); + this.std = this._createStartDate(b.startDate, b.format, this.viewMode); + this.edd = this._createEndDate(b.endDate, b.format, this.viewMode); + var a = this; + if (!this.$view) { + this.$view = $("
").appendTo(FR.$view_container).hide() + } + this.editComp.keydown(function(c) { + a.editComp[0].realValue = null + }); + $(this.editComp).keyup(function() { + if ($(this).val() == a.oriText) { + return + } + a.isValidateInput(); + a.oriText = $(this).val(); + a.fireEvent(FR.Events.AFTEREDIT) + }) + }, + getArrowIconHeight: function() { + return 17 + }, + switchArrow: function() { + this.arrow.switchClass("fr-trigger-center", "fr-date-trigger-center") + }, + _applyInvalidCss: function(a) { + this.errorMsg = a; + this.invalidateCss() + }, + onTriggerClick: function(a) { + if (!this.isEnabled()) { + return + } + if (document.activeElement != this.editComp[0]) { + this.editComp.focus() + } + if (this.isExpanded()) { + if (FR.Browser.isIE8() && this.$view.css("visibility") == "hidden") { + this.$view.css("visibility", "visible") + } else { + this.$view.show() + } + } else { + this.$view.empty(); + this._createCalendar() + } + }, + _showView: function() { + if (FR.Browser.isIE8() && this.$view.css("visibility") == "hidden") { + this.$view.css("visibility", "visible") + } else { + this.$view.show() + } + }, + _createStartDate: function(d, b, e) { + if (FR.isEmpty(d)) { + return null + } + var a = FR.str2Date(d, b); + switch (e) { + case 0: + return new Date(a.getFullYear(),a.getMonth(),1,0,0,0); + case 1: + return new Date(a.getFullYear(),a.getMonth(),a.getDate(),0,0,0); + case 2: + var c = new Date(); + c.setHours(0); + c.setMinutes(0); + c.setSeconds(0); + return c; + case 3: + return new Date(a.getFullYear(),a.getMonth(),a.getDate(),0,0,0); + default: + return a + } + }, + _createEndDate: function(c, a, e) { + if (FR.isEmpty(c)) { + return null + } + var d = FR.str2Date(c, a); + switch (e) { + case 0: + return new Date(d.getFullYear(),d.getMonth(),d.getMonthDays(),23,59,59); + case 1: + return new Date(d.getFullYear(),d.getMonth(),d.getDate(),23,59,59); + case 2: + var b = new Date(); + b.setHours(23); + b.setMinutes(59); + b.setSeconds(59); + return b; + case 3: + return new Date(d.getFullYear(),d.getMonth(),d.getDate(),23,59,59); + default: + return d + } + }, + _initViewMode: function() { + var b = this.options; + var a = 1; + if (b.format.match(/[YyDd]/) && b.format.match(/[Hh]/)) { + a = 3 + } else { + if (b.format.match(/[M]/) && !b.format.match(/[Dd]/) && !b.format.match(/[Hh]/)) { + a = 0 + } else { + if (!b.format.match(/[YyMDd]/)) { + a = 2 + } + } + } + return a + }, + _createCalendar: function() { + var b = this.options; + var a = this; + this.buildIfNeeded(); + this.datepicker = new FR.SqyDatePicker({ + renderEl: this.$view, + viewMode: this.viewMode, + date: FR.str2Date(this.editComp.val(), b.format), + dateFormat: b.format, + startDate: this.std, + endDate: this.edd, + onDateUpdate: function() { + if ($(":focus").length === 0) { + a.editComp.focus() + } + var c = FR.date2Str(this.getValue(), b.format); + a.editComp.val(c); + a.oriText = c; + a.isValidateInput(); + a.fireEvent(FR.Events.AFTEREDIT) + } + }); + if (FR.Browser.isIE8() && this.$view.css("visibility") == "hidden") { + this.$view.css("visibility", "visible") + } else { + this.$view.show() + } + $(document).bind("mousedown", this, this.collapseIf); + this.modifyPosition() + }, + buildIfNeeded: function() { + var d = this.options; + if (this.options.need2BuildConfig === true && this.options.data) { + this.options.data.resetStatus(this.createDependencePara4Data()); + var b = this.options.data.getData(); + if (b[0].data) { + if (b[0].data.startDate) { + var c = new Date(b[0].data.startDate); + if (!FR.isInvalidDate(c)) { + if (!FR.isEmpty(d.format)) { + d.startDate = FR.date2Str(c, d.format) + } else { + d.startDate = FR.date2Str(c, "yyyy-MM-dd") + } + this.std = this._createStartDate(d.startDate, d.format, this.viewMode) + } + } + if (b[0].data.endDate) { + var a = new Date(b[0].data.endDate); + if (!FR.isInvalidDate(a)) { + if (!FR.isEmpty(d.format)) { + d.endDate = FR.date2Str(a, d.format) + } else { + d.endDate = FR.date2Str(a, "yyyy-MM-dd") + } + this.edd = this._createEndDate(d.endDate, d.format, this.viewMode) + } + } + } + this.options.rebuildConfig = false + } + }, + getValue: function() { + var d = this.options.format; + if (!this.options.returnDate) { + var c = this.editComp.val(); + return FR.str2Date(c, d) == null ? "" : c + } + var b = new Date(); + if (this.editComp[0].realValue) { + b.setTime(this.editComp[0].realValue.getTime()) + } else { + b = this.editComp.val() + } + if (!b) { + return "" + } + var a = (b instanceof Date) ? b : FR.str2Date(b, d); + return (a == null) ? "" : a + }, + isValidateInput: function(j) { + var h = this.options.format; + var e = this.std; + var f = this.edd; + var i = this; + var a = true; + var b = this.options.customFormat; + var c = j ? j : this.editComp.val(); + if (this.options.allowBlank !== false && FR.isEmpty(c)) { + return + } + var d = FR.matchDateFormat(c, h); + if (!b && !d) { + a = false; + var g = function() { + var n = i.editComp.val(); + if (c == n) { + var l = i.getDefaultSupportFormat(); + for (var m = 0; m < l.length; m++) { + var k = FR.matchDateFormat(c, l[m]); + if (k) { + d = k; + a = true; + i.editComp.val(FR.date2Str(d, h)); + this.isValidateInput(); + break + } + } + } + }; + g.defer(1000, this) + } + if (!b && !a) { + if (!FR.matchDateFormat(c, h)) { + this._applyInvalidCss(FR.i18nText("Fine-Engine_Please_Input_With_Right_Format") + ":" + h) + } + } else { + if (e && !FR.isInvalidDate(new Date(e)) && d < new Date(e)) { + this._applyInvalidCss(FR.i18nText("Fine-Engine_Report_Err_The_Number_Is_Less_Than_The_Minimum_Value") + FR.date2Str(e, "yyyy-MM-dd")) + } else { + if (f && !FR.isInvalidDate(new Date(f)) && d > new Date(f)) { + this._applyInvalidCss(FR.i18nText("Fine-Engine_Report_Err_The_Number_Is_Larger_Than_The_Maximum_Value") + FR.date2Str(f, "yyyy-MM-dd")) + } else { + if (d > new Date(2999,11,31) || d < new Date(1900,0,1)) { + this._applyInvalidCss(FR.i18nText("Fine-Engine_Report_Err_The_Time_Out_Of_Range")) + } else { + this.validateCss() + } + } + } + } + }, + reset: function() { + FR.DateTimeEditor.superclass.reset.apply(this, arguments); + this.editComp[0].realValue = null; + this.options.currentDateTime = null; + this.options.need2BuildConfig = true; + if (this.options.data) { + delete this.options.data.records + } + } + }); + $.shortcut("sqy_form_calendar",FR.sqy_calendar); +})(jQuery); \ No newline at end of file diff --git a/src/main/resources/com/fr/plugin/sqy/kj/calendar/js/plugin_main.js b/src/main/resources/com/fr/plugin/sqy/kj/calendar/js/plugin_main.js new file mode 100644 index 0000000..704210b --- /dev/null +++ b/src/main/resources/com/fr/plugin/sqy/kj/calendar/js/plugin_main.js @@ -0,0 +1,1403 @@ +;!(function($){ + var calendar = { + + /** + * 农历1900-2100的润大小信息表 + * @Array Of Property + * @return Hex + */ + lunarInfo:[0x04bd8,0x04ae0,0x0a570,0x054d5,0x0d260,0x0d950,0x16554,0x056a0,0x09ad0,0x055d2,//1900-1909 + 0x04ae0,0x0a5b6,0x0a4d0,0x0d250,0x1d255,0x0b540,0x0d6a0,0x0ada2,0x095b0,0x14977,//1910-1919 + 0x04970,0x0a4b0,0x0b4b5,0x06a50,0x06d40,0x1ab54,0x02b60,0x09570,0x052f2,0x04970,//1920-1929 + 0x06566,0x0d4a0,0x0ea50,0x06e95,0x05ad0,0x02b60,0x186e3,0x092e0,0x1c8d7,0x0c950,//1930-1939 + 0x0d4a0,0x1d8a6,0x0b550,0x056a0,0x1a5b4,0x025d0,0x092d0,0x0d2b2,0x0a950,0x0b557,//1940-1949 + 0x06ca0,0x0b550,0x15355,0x04da0,0x0a5b0,0x14573,0x052b0,0x0a9a8,0x0e950,0x06aa0,//1950-1959 + 0x0aea6,0x0ab50,0x04b60,0x0aae4,0x0a570,0x05260,0x0f263,0x0d950,0x05b57,0x056a0,//1960-1969 + 0x096d0,0x04dd5,0x04ad0,0x0a4d0,0x0d4d4,0x0d250,0x0d558,0x0b540,0x0b6a0,0x195a6,//1970-1979 + 0x095b0,0x049b0,0x0a974,0x0a4b0,0x0b27a,0x06a50,0x06d40,0x0af46,0x0ab60,0x09570,//1980-1989 + 0x04af5,0x04970,0x064b0,0x074a3,0x0ea50,0x06b58,0x055c0,0x0ab60,0x096d5,0x092e0,//1990-1999 + 0x0c960,0x0d954,0x0d4a0,0x0da50,0x07552,0x056a0,0x0abb7,0x025d0,0x092d0,0x0cab5,//2000-2009 + 0x0a950,0x0b4a0,0x0baa4,0x0ad50,0x055d9,0x04ba0,0x0a5b0,0x15176,0x052b0,0x0a930,//2010-2019 + 0x07954,0x06aa0,0x0ad50,0x05b52,0x04b60,0x0a6e6,0x0a4e0,0x0d260,0x0ea65,0x0d530,//2020-2029 + 0x05aa0,0x076a3,0x096d0,0x04afb,0x04ad0,0x0a4d0,0x1d0b6,0x0d250,0x0d520,0x0dd45,//2030-2039 + 0x0b5a0,0x056d0,0x055b2,0x049b0,0x0a577,0x0a4b0,0x0aa50,0x1b255,0x06d20,0x0ada0,//2040-2049 + /**Add By JJonline@JJonline.Cn**/ + 0x14b63,0x09370,0x049f8,0x04970,0x064b0,0x168a6,0x0ea50, 0x06b20,0x1a6c4,0x0aae0,//2050-2059 + 0x0a2e0,0x0d2e3,0x0c960,0x0d557,0x0d4a0,0x0da50,0x05d55,0x056a0,0x0a6d0,0x055d4,//2060-2069 + 0x052d0,0x0a9b8,0x0a950,0x0b4a0,0x0b6a6,0x0ad50,0x055a0,0x0aba4,0x0a5b0,0x052b0,//2070-2079 + 0x0b273,0x06930,0x07337,0x06aa0,0x0ad50,0x14b55,0x04b60,0x0a570,0x054e4,0x0d160,//2080-2089 + 0x0e968,0x0d520,0x0daa0,0x16aa6,0x056d0,0x04ae0,0x0a9d4,0x0a2d0,0x0d150,0x0f252,//2090-2099 + 0x0d520],//2100 + + /** + * 公历每个月份的天数普通表 + * @Array Of Property + * @return Number + */ + solarMonth:[31,28,31,30,31,30,31,31,30,31,30,31], + + /** + * 天干地支之天干速查表 + * @Array Of Property trans["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"] + * @return Cn string + */ + Gan:["\u7532","\u4e59","\u4e19","\u4e01","\u620a","\u5df1","\u5e9a","\u8f9b","\u58ec","\u7678"], + + /** + * 天干地支之地支速查表 + * @Array Of Property + * @trans["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"] + * @return Cn string + */ + Zhi:["\u5b50","\u4e11","\u5bc5","\u536f","\u8fb0","\u5df3","\u5348","\u672a","\u7533","\u9149","\u620c","\u4ea5"], + + /** + * 天干地支之地支速查表<=>生肖 + * @Array Of Property + * @trans["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"] + * @return Cn string + */ + Animals:["\u9f20","\u725b","\u864e","\u5154","\u9f99","\u86c7","\u9a6c","\u7f8a","\u7334","\u9e21","\u72d7","\u732a"], + + /** + * 24节气速查表 + * @Array Of Property + * @trans["小寒","大寒","立春","雨水","惊蛰","春分","清明","谷雨","立夏","小满","芒种","夏至","小暑","大暑","立秋","处暑","白露","秋分","寒露","霜降","立冬","小雪","大雪","冬至"] + * @return Cn string + */ + solarTerm:["\u5c0f\u5bd2","\u5927\u5bd2","\u7acb\u6625","\u96e8\u6c34","\u60ca\u86f0","\u6625\u5206","\u6e05\u660e","\u8c37\u96e8","\u7acb\u590f","\u5c0f\u6ee1","\u8292\u79cd","\u590f\u81f3","\u5c0f\u6691","\u5927\u6691","\u7acb\u79cb","\u5904\u6691","\u767d\u9732","\u79cb\u5206","\u5bd2\u9732","\u971c\u964d","\u7acb\u51ac","\u5c0f\u96ea","\u5927\u96ea","\u51ac\u81f3"], + + /** + * 1900-2100各年的24节气日期速查表 + * @Array Of Property + * @return 0x string For splice + */ + sTermInfo:['9778397bd097c36b0b6fc9274c91aa','97b6b97bd19801ec9210c965cc920e','97bcf97c3598082c95f8c965cc920f', + '97bd0b06bdb0722c965ce1cfcc920f','b027097bd097c36b0b6fc9274c91aa','97b6b97bd19801ec9210c965cc920e', + '97bcf97c359801ec95f8c965cc920f','97bd0b06bdb0722c965ce1cfcc920f','b027097bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e','97bcf97c359801ec95f8c965cc920f','97bd0b06bdb0722c965ce1cfcc920f', + 'b027097bd097c36b0b6fc9274c91aa','9778397bd19801ec9210c965cc920e','97b6b97bd19801ec95f8c965cc920f', + '97bd09801d98082c95f8e1cfcc920f','97bd097bd097c36b0b6fc9210c8dc2','9778397bd197c36c9210c9274c91aa', + '97b6b97bd19801ec95f8c965cc920e','97bd09801d98082c95f8e1cfcc920f','97bd097bd097c36b0b6fc9210c8dc2', + '9778397bd097c36c9210c9274c91aa','97b6b97bd19801ec95f8c965cc920e','97bcf97c3598082c95f8e1cfcc920f', + '97bd097bd097c36b0b6fc9210c8dc2','9778397bd097c36c9210c9274c91aa','97b6b97bd19801ec9210c965cc920e', + '97bcf97c3598082c95f8c965cc920f','97bd097bd097c35b0b6fc920fb0722','9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e','97bcf97c3598082c95f8c965cc920f','97bd097bd097c35b0b6fc920fb0722', + '9778397bd097c36b0b6fc9274c91aa','97b6b97bd19801ec9210c965cc920e','97bcf97c359801ec95f8c965cc920f', + '97bd097bd097c35b0b6fc920fb0722','9778397bd097c36b0b6fc9274c91aa','97b6b97bd19801ec9210c965cc920e', + '97bcf97c359801ec95f8c965cc920f','97bd097bd097c35b0b6fc920fb0722','9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e','97bcf97c359801ec95f8c965cc920f','97bd097bd07f595b0b6fc920fb0722', + '9778397bd097c36b0b6fc9210c8dc2','9778397bd19801ec9210c9274c920e','97b6b97bd19801ec95f8c965cc920f', + '97bd07f5307f595b0b0bc920fb0722','7f0e397bd097c36b0b6fc9210c8dc2','9778397bd097c36c9210c9274c920e', + '97b6b97bd19801ec95f8c965cc920f','97bd07f5307f595b0b0bc920fb0722','7f0e397bd097c36b0b6fc9210c8dc2', + '9778397bd097c36c9210c9274c91aa','97b6b97bd19801ec9210c965cc920e','97bd07f1487f595b0b0bc920fb0722', + '7f0e397bd097c36b0b6fc9210c8dc2','9778397bd097c36b0b6fc9274c91aa','97b6b97bd19801ec9210c965cc920e', + '97bcf7f1487f595b0b0bb0b6fb0722','7f0e397bd097c35b0b6fc920fb0722','9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c965cc920e','97bcf7f1487f595b0b0bb0b6fb0722','7f0e397bd097c35b0b6fc920fb0722', + '9778397bd097c36b0b6fc9274c91aa','97b6b97bd19801ec9210c965cc920e','97bcf7f1487f531b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc920fb0722','9778397bd097c36b0b6fc9274c91aa','97b6b97bd19801ec9210c965cc920e', + '97bcf7f1487f531b0b0bb0b6fb0722','7f0e397bd07f595b0b6fc920fb0722','9778397bd097c36b0b6fc9274c91aa', + '97b6b97bd19801ec9210c9274c920e','97bcf7f0e47f531b0b0bb0b6fb0722','7f0e397bd07f595b0b0bc920fb0722', + '9778397bd097c36b0b6fc9210c91aa','97b6b97bd197c36c9210c9274c920e','97bcf7f0e47f531b0b0bb0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722','9778397bd097c36b0b6fc9210c8dc2','9778397bd097c36c9210c9274c920e', + '97b6b7f0e47f531b0723b0b6fb0722','7f0e37f5307f595b0b0bc920fb0722','7f0e397bd097c36b0b6fc9210c8dc2', + '9778397bd097c36b0b70c9274c91aa','97b6b7f0e47f531b0723b0b6fb0721','7f0e37f1487f595b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc9210c8dc2','9778397bd097c36b0b6fc9274c91aa','97b6b7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f595b0b0bb0b6fb0722','7f0e397bd097c35b0b6fc920fb0722','9778397bd097c36b0b6fc9274c91aa', + '97b6b7f0e47f531b0723b0b6fb0721','7f0e27f1487f531b0b0bb0b6fb0722','7f0e397bd097c35b0b6fc920fb0722', + '9778397bd097c36b0b6fc9274c91aa','97b6b7f0e47f531b0723b0b6fb0721','7f0e27f1487f531b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc920fb0722','9778397bd097c36b0b6fc9274c91aa','97b6b7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f531b0b0bb0b6fb0722','7f0e397bd07f595b0b0bc920fb0722','9778397bd097c36b0b6fc9274c91aa', + '97b6b7f0e47f531b0723b0787b0721','7f0e27f0e47f531b0b0bb0b6fb0722','7f0e397bd07f595b0b0bc920fb0722', + '9778397bd097c36b0b6fc9210c91aa','97b6b7f0e47f149b0723b0787b0721','7f0e27f0e47f531b0723b0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722','9778397bd097c36b0b6fc9210c8dc2','977837f0e37f149b0723b0787b0721', + '7f07e7f0e47f531b0723b0b6fb0722','7f0e37f5307f595b0b0bc920fb0722','7f0e397bd097c35b0b6fc9210c8dc2', + '977837f0e37f14998082b0787b0721','7f07e7f0e47f531b0723b0b6fb0721','7f0e37f1487f595b0b0bb0b6fb0722', + '7f0e397bd097c35b0b6fc9210c8dc2','977837f0e37f14998082b0787b06bd','7f07e7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f531b0b0bb0b6fb0722','7f0e397bd097c35b0b6fc920fb0722','977837f0e37f14998082b0787b06bd', + '7f07e7f0e47f531b0723b0b6fb0721','7f0e27f1487f531b0b0bb0b6fb0722','7f0e397bd097c35b0b6fc920fb0722', + '977837f0e37f14998082b0787b06bd','7f07e7f0e47f531b0723b0b6fb0721','7f0e27f1487f531b0b0bb0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722','977837f0e37f14998082b0787b06bd','7f07e7f0e47f531b0723b0b6fb0721', + '7f0e27f1487f531b0b0bb0b6fb0722','7f0e397bd07f595b0b0bc920fb0722','977837f0e37f14998082b0787b06bd', + '7f07e7f0e47f149b0723b0787b0721','7f0e27f0e47f531b0b0bb0b6fb0722','7f0e397bd07f595b0b0bc920fb0722', + '977837f0e37f14998082b0723b06bd','7f07e7f0e37f149b0723b0787b0721','7f0e27f0e47f531b0723b0b6fb0722', + '7f0e397bd07f595b0b0bc920fb0722','977837f0e37f14898082b0723b02d5','7ec967f0e37f14998082b0787b0721', + '7f07e7f0e47f531b0723b0b6fb0722','7f0e37f1487f595b0b0bb0b6fb0722','7f0e37f0e37f14898082b0723b02d5', + '7ec967f0e37f14998082b0787b0721','7f07e7f0e47f531b0723b0b6fb0722','7f0e37f1487f531b0b0bb0b6fb0722', + '7f0e37f0e37f14898082b0723b02d5','7ec967f0e37f14998082b0787b06bd','7f07e7f0e47f531b0723b0b6fb0721', + '7f0e37f1487f531b0b0bb0b6fb0722','7f0e37f0e37f14898082b072297c35','7ec967f0e37f14998082b0787b06bd', + '7f07e7f0e47f531b0723b0b6fb0721','7f0e27f1487f531b0b0bb0b6fb0722','7f0e37f0e37f14898082b072297c35', + '7ec967f0e37f14998082b0787b06bd','7f07e7f0e47f531b0723b0b6fb0721','7f0e27f1487f531b0b0bb0b6fb0722', + '7f0e37f0e366aa89801eb072297c35','7ec967f0e37f14998082b0787b06bd','7f07e7f0e47f149b0723b0787b0721', + '7f0e27f1487f531b0b0bb0b6fb0722','7f0e37f0e366aa89801eb072297c35','7ec967f0e37f14998082b0723b06bd', + '7f07e7f0e47f149b0723b0787b0721','7f0e27f0e47f531b0723b0b6fb0722','7f0e37f0e366aa89801eb072297c35', + '7ec967f0e37f14998082b0723b06bd','7f07e7f0e37f14998083b0787b0721','7f0e27f0e47f531b0723b0b6fb0722', + '7f0e37f0e366aa89801eb072297c35','7ec967f0e37f14898082b0723b02d5','7f07e7f0e37f14998082b0787b0721', + '7f07e7f0e47f531b0723b0b6fb0722','7f0e36665b66aa89801e9808297c35','665f67f0e37f14898082b0723b02d5', + '7ec967f0e37f14998082b0787b0721','7f07e7f0e47f531b0723b0b6fb0722','7f0e36665b66a449801e9808297c35', + '665f67f0e37f14898082b0723b02d5','7ec967f0e37f14998082b0787b06bd','7f07e7f0e47f531b0723b0b6fb0721', + '7f0e36665b66a449801e9808297c35','665f67f0e37f14898082b072297c35','7ec967f0e37f14998082b0787b06bd', + '7f07e7f0e47f531b0723b0b6fb0721','7f0e26665b66a449801e9808297c35','665f67f0e37f1489801eb072297c35', + '7ec967f0e37f14998082b0787b06bd','7f07e7f0e47f531b0723b0b6fb0721','7f0e27f1487f531b0b0bb0b6fb0722'], + + /** + * 数字转中文速查表 + * @Array Of Property + * @trans ['日','一','二','三','四','五','六','七','八','九','十'] + * @return Cn string + */ + nStr1:["\u65e5","\u4e00","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341"], + + /** + * 日期转农历称呼速查表 + * @Array Of Property + * @trans ['初','十','廿','卅'] + * @return Cn string + */ + nStr2:["\u521d","\u5341","\u5eff","\u5345"], + + /** + * 月份转农历称呼速查表 + * @Array Of Property + * @trans ['正','一','二','三','四','五','六','七','八','九','十','冬','腊'] + * @return Cn string + */ + nStr3:["\u6b63","\u4e8c","\u4e09","\u56db","\u4e94","\u516d","\u4e03","\u516b","\u4e5d","\u5341","\u51ac","\u814a"], + + /** + * 返回农历y年一整年的总天数 + * @param lunar Year + * @return Number + * @evar .lYearDays(1987) ;//count=387 + */ + lYearDays:function(y) { + var i, sum = 348; + for(i=0x8000; i>0x8; i>>=1) { sum += (calendar.lunarInfo[y-1900] & i)? 1: 0; } + return(sum+calendar.leapDays(y)); + }, + + /** + * 返回农历y年闰月是哪个月;若y年没有闰月 则返回0 + * @param lunar Year + * @return Number (0-12) + * @eg:var leapMonth = calendar.leapMonth(1987) ;//leapMonth=6 + */ + leapMonth:function(y) { //闰字编码 \u95f0 + return(calendar.lunarInfo[y-1900] & 0xf); + }, + + /** + * 返回农历y年闰月的天数 若该年没有闰月则返回0 + * @param lunar Year + * @return Number (0、29、30) + * @eg:var leapMonthDay = calendar.leapDays(1987) ;//leapMonthDay=29 + */ + leapDays:function(y) { + if(calendar.leapMonth(y)) { + return((calendar.lunarInfo[y-1900] & 0x10000)? 30: 29); + } + return(0); + }, + + /** + * 返回农历y年m月(非闰月)的总天数,计算m为闰月时的天数请使用leapDays方法 + * @param lunar Year + * @return Number (-1、29、30) + * @eg:var MonthDay = calendar.monthDays(1987,9) ;//MonthDay=29 + */ + monthDays:function(y,m) { + if(m>12 || m<1) {return -1}//月份参数从1至12,参数错误返回-1 + return( (calendar.lunarInfo[y-1900] & (0x10000>>m))? 30: 29 ); + }, + + /** + * 返回公历(!)y年m月的天数 + * @param solar Year + * @return Number (-1、28、29、30、31) + * @eg:var solarMonthDay = calendar.leapDays(1987) ;//solarMonthDay=30 + */ + solarDays:function(y,m) { + if(m>12 || m<1) {return -1} //若参数错误 返回-1 + var ms = m-1; + if(ms==1) { //2月份的闰平规律测算后确认返回28或29 + return(((y%4 == 0) && (y%100 != 0) || (y%400 == 0))? 29: 28); + }else { + return(calendar.solarMonth[ms]); + } + }, + + /** + * 农历年份转换为干支纪年 + * @param lYear 农历年的年份数 + * @return Cn string + */ + toGanZhiYear:function(lYear) { + var ganKey = (lYear - 3) % 10; + var zhiKey = (lYear - 3) % 12; + if(ganKey == 0) ganKey = 10;//如果余数为0则为最后一个天干 + if(zhiKey == 0) zhiKey = 12;//如果余数为0则为最后一个地支 + return calendar.Gan[ganKey-1] + calendar.Zhi[zhiKey-1]; + + }, + + /** + * 公历月、日判断所属星座 + * @param cMonth [description] + * @param cDay [description] + * @return Cn string + */ + toAstro:function(cMonth,cDay) { + var s = "\u9b54\u7faf\u6c34\u74f6\u53cc\u9c7c\u767d\u7f8a\u91d1\u725b\u53cc\u5b50\u5de8\u87f9\u72ee\u5b50\u5904\u5973\u5929\u79e4\u5929\u874e\u5c04\u624b\u9b54\u7faf"; + var arr = [20,19,21,21,21,22,23,23,23,23,22,22]; + return s.substr(cMonth*2 - (cDay < arr[cMonth-1] ? 2 : 0),2) + "\u5ea7";//座 + }, + + /** + * 传入offset偏移量返回干支 + * @param offset 相对甲子的偏移量 + * @return Cn string + */ + toGanZhi:function(offset) { + return calendar.Gan[offset%10] + calendar.Zhi[offset%12]; + }, + + /** + * 传入公历(!)y年获得该年第n个节气的公历日期 + * @param y公历年(1900-2100);n二十四节气中的第几个节气(1~24);从n=1(小寒)算起 + * @return day Number + * @eg:var _24 = calendar.getTerm(1987,3) ;//_24=4;意即1987年2月4日立春 + */ + getTerm:function(y,n) { + if(y<1900 || y>2100) {return -1;} + if(n<1 || n>24) {return -1;} + var _table = calendar.sTermInfo[y-1900]; + var _info = [ + parseInt('0x'+_table.substr(0,5)).toString() , + parseInt('0x'+_table.substr(5,5)).toString(), + parseInt('0x'+_table.substr(10,5)).toString(), + parseInt('0x'+_table.substr(15,5)).toString(), + parseInt('0x'+_table.substr(20,5)).toString(), + parseInt('0x'+_table.substr(25,5)).toString() + ]; + var _calday = [ + _info[0].substr(0,1), + _info[0].substr(1,2), + _info[0].substr(3,1), + _info[0].substr(4,2), + + _info[1].substr(0,1), + _info[1].substr(1,2), + _info[1].substr(3,1), + _info[1].substr(4,2), + + _info[2].substr(0,1), + _info[2].substr(1,2), + _info[2].substr(3,1), + _info[2].substr(4,2), + + _info[3].substr(0,1), + _info[3].substr(1,2), + _info[3].substr(3,1), + _info[3].substr(4,2), + + _info[4].substr(0,1), + _info[4].substr(1,2), + _info[4].substr(3,1), + _info[4].substr(4,2), + + _info[5].substr(0,1), + _info[5].substr(1,2), + _info[5].substr(3,1), + _info[5].substr(4,2), + ]; + return parseInt(_calday[n-1]); + }, + + /** + * 传入农历数字月份返回汉语通俗表示法 + * @param lunar month + * @return Cn string + * @eg:var cnMonth = calendar.toChinaMonth(12) ;//cnMonth='腊月' + */ + toChinaMonth:function(m) { // 月 => \u6708 + if(m>12 || m<1) {return -1} //若参数错误 返回-1 + var s = calendar.nStr3[m-1]; + s+= "\u6708";//加上月字 + return s; + }, + + /** + * 传入农历日期数字返回汉字表示法 + * @param lunar day + * @return Cn string + * @eg:var cnDay = calendar.toChinaDay(21) ;//cnMonth='廿一' + */ + toChinaDay:function(d){ //日 => \u65e5 + var s; + switch (d) { + case 10: + s = '\u521d\u5341'; break; + case 20: + s = '\u4e8c\u5341'; break; + break; + case 30: + s = '\u4e09\u5341'; break; + break; + default : + s = calendar.nStr2[Math.floor(d/10)]; + s += calendar.nStr1[d%10]; + } + return(s); + }, + + /** + * 年份转生肖[!仅能大致转换] => 精确划分生肖分界线是“立春” + * @param y year + * @return Cn string + * @eg:var animal = calendar.getAnimal(1987) ;//animal='兔' + */ + getAnimal: function(y) { + return calendar.Animals[(y - 4) % 12] + }, + + /** + * 传入阳历年月日获得详细的公历、农历object信息 <=>JSON + * @param y solar year + * @param m solar month + * @param d solar day + * @return JSON object + * @eg:console.log(calendar.solar2lunar(1987,11,01)); + */ + solar2lunar:function (y,m,d) { //参数区间1900.1.31~2100.12.31 + //年份限定、上限 + if(y<1900 || y>2100) { + return -1;// undefined转换为数字变为NaN + } + //公历传参最下限 + if(y==1900&&m==1&&d<31) { + return -1; + } + //未传参 获得当天 + if(!y) { + var objDate = new Date(); + }else { + var objDate = new Date(y,parseInt(m)-1,d) + } + var i, leap=0, temp=0; + //修正ymd参数 + var y = objDate.getFullYear(), + m = objDate.getMonth()+1, + d = objDate.getDate(); + var offset = (Date.UTC(objDate.getFullYear(),objDate.getMonth(),objDate.getDate()) - Date.UTC(1900,0,31))/86400000; + for(i=1900; i<2101 && offset>0; i++) { + temp = calendar.lYearDays(i); + offset -= temp; + } + if(offset<0) { + offset+=temp; i--; + } + + //是否今天 + var isTodayObj = new Date(), + isToday = false; + if(isTodayObj.getFullYear()==y && isTodayObj.getMonth()+1==m && isTodayObj.getDate()==d) { + isToday = true; + } + //星期几 + var nWeek = objDate.getDay(), + cWeek = calendar.nStr1[nWeek]; + //数字表示周几顺应天朝周一开始的惯例 + if(nWeek==0) { + nWeek = 7; + } + //农历年 + var year = i; + var leap = calendar.leapMonth(i); //闰哪个月 + var isLeap = false; + + //效验闰月 + for(i=1; i<13 && offset>0; i++) { + //闰月 + if(leap>0 && i==(leap+1) && isLeap==false){ + --i; + isLeap = true; temp = calendar.leapDays(year); //计算农历闰月天数 + } + else{ + temp = calendar.monthDays(year, i);//计算农历普通月天数 + } + //解除闰月 + if(isLeap==true && i==(leap+1)) { isLeap = false; } + offset -= temp; + } + // 闰月导致数组下标重叠取反 + if(offset==0 && leap>0 && i==leap+1) + { + if(isLeap){ + isLeap = false; + }else{ + isLeap = true; --i; + } + } + if(offset<0) + { + offset += temp; --i; + } + //农历月 + var month = i; + //农历日 + var day = offset + 1; + //天干地支处理 + var sm = m-1; + var gzY = calendar.toGanZhiYear(year); + + // 当月的两个节气 + // bugfix-2017-7-24 11:03:38 use lunar Year Param `y` Not `year` + var firstNode = calendar.getTerm(y,(m*2-1));//返回当月「节」为几日开始 + var secondNode = calendar.getTerm(y,(m*2));//返回当月「节」为几日开始 + + // 依据12节气修正干支月 + var gzM = calendar.toGanZhi((y-1900)*12+m+11); + if(d>=firstNode) { + gzM = calendar.toGanZhi((y-1900)*12+m+12); + } + + //传入的日期的节气与否 + var isTerm = false; + var Term = null; + if(firstNode==d) { + isTerm = true; + Term = calendar.solarTerm[m*2-2]; + } + if(secondNode==d) { + isTerm = true; + Term = calendar.solarTerm[m*2-1]; + } + //日柱 当月一日与 1900/1/1 相差天数 + var dayCyclical = Date.UTC(y,sm,1,0,0,0,0)/86400000+25567+10; + var gzD = calendar.toGanZhi(dayCyclical+d-1); + //该日期所属的星座 + var astro = calendar.toAstro(m,d); + + return {'lYear':year,'lMonth':month,'lDay':day,'Animal':calendar.getAnimal(year),'IMonthCn':(isLeap?"\u95f0":'')+calendar.toChinaMonth(month),'IDayCn':calendar.toChinaDay(day),'cYear':y,'cMonth':m,'cDay':d,'gzYear':gzY,'gzMonth':gzM,'gzDay':gzD,'isToday':isToday,'isLeap':isLeap,'nWeek':nWeek,'ncWeek':"\u661f\u671f"+cWeek,'isTerm':isTerm,'Term':Term,'astro':astro}; + }, + + /** + * 传入农历年月日以及传入的月份是否闰月获得详细的公历、农历object信息 <=>JSON + * @param y lunar year + * @param m lunar month + * @param d lunar day + * @param isLeapMonth lunar month is leap or not.[如果是农历闰月第四个参数赋值true即可] + * @return JSON object + * @eg:console.log(calendar.lunar2solar(1987,9,10)); + */ + lunar2solar:function(y,m,d,isLeapMonth) { //参数区间1900.1.31~2100.12.1 + var isLeapMonth = !!isLeapMonth; + var leapOffset = 0; + var leapMonth = calendar.leapMonth(y); + var leapDay = calendar.leapDays(y); + if(isLeapMonth&&(leapMonth!=m)) {return -1;}//传参要求计算该闰月公历 但该年得出的闰月与传参的月份并不同 + if(y==2100&&m==12&&d>1 || y==1900&&m==1&&d<31) {return -1;}//超出了最大极限值 + var day = calendar.monthDays(y,m); + var _day = day; + //bugFix 2016-9-25 + //if month is leap, _day use leapDays method + if(isLeapMonth) { + _day = calendar.leapDays(y,m); + } + if(y < 1900 || y > 2100 || d > _day) {return -1;}//参数合法性效验 + + //计算农历的时间差 + var offset = 0; + for(var i=1900;i0) { + offset+=calendar.leapDays(y);isAdd = true; + } + } + offset+=calendar.monthDays(y,i); + } + //转换闰月农历 需补充该年闰月的前一个月的时差 + if(isLeapMonth) {offset+=day;} + //1900年农历正月一日的公历时间为1900年1月30日0时0分0秒(该时间也是本农历的最开始起始点) + var stmap = Date.UTC(1900,1,30,0,0,0); + var calObj = new Date((offset+d-31)*86400000+stmap); + var cY = calObj.getUTCFullYear(); + var cM = calObj.getUTCMonth()+1; + var cD = calObj.getUTCDate(); + + return calendar.solar2lunar(cY,cM,cD); + } + }; + + FR.SqyDatePicker = FR.extend(FR.Widget, { + CONSTS: { + VIEWMODE: { + YM: 0 + , YMD: 1 + , HMS: 2 + , YMDHMS: 3 + }, MINYEAR: 1900 + , MAXYEAR: 2999 + , NAV: { + "prevm": 2 + , "nextm": 3 + , "title": 4 + , "clear": 5 + , "today": 6 + , "dok": 7 + , "prevy": 8 + , "nexty": 9 + , "cancel": 10 + , "mok": 11 + , "plus": 12 + , "minus": 13 + , "firstday": 14 + , "current": 15 + , "day": 100 + , "month": 200 + , "year": 300 + } + , FIRSTDAY: 0 + }, + _TT: { + CALENDAR: FR.i18nText("Fine-Engine_Basic_Calendar") + , WK: FR.i18nText("Fine-Engine_Basic_Week") + , CLEAR: FR.i18nText("Fine-Engine_Basic_Clear") + , TODAY: FR.i18nText("Fine-Engine_Basic_Today") + , OK: FR.i18nText("Fine-Engine_Basic_OK") + , CANCEL: FR.i18nText("Fine-Engine_Basic_Cancel") + , CURRENT: FR.i18nText("Fine-Engine_Basic_Current") + }, + _defaultConfig: function () { + return $.extend(FR.SqyDatePicker.superclass._defaultConfig.apply(this, arguments), { + widgetName: "sqydatepicker", + inputField: null, + format: null, + viewMode: 1, + endDate: null, + startDate: null, + date: null, + dateFormat: null, + onDateUpdate: null, + onClear: function () { + this._hideView() + }, + onOK: function () { this._hideView() }, + onClose: function () { this._hideView() }, + onToday: function () { this._hideView() } + }) + }, + _hideView: function () { if (FR.Browser.isIE8()) { this.element.css("visibility", "hidden") } else { this.element.hide() } }, + _init: function () { + FR.SqyDatePicker.superclass._init.apply(this, arguments); + this.element.addClass("fr-sqydatepicker"); + this.cache = { showYear: null, showMonth: null }; + this._initTables(); + this._bindEvts() + }, + _initTables: function () { + var a = this.options; + this.$datetable = this._createDatePicker(); + this._loadDateData(this.$datetable, new Date(this.options.date)); + this.$monthtable = this._createMonthPicker(); + this.$timetable = this._createTimePicker(); + switch (a.viewMode) { + case this.CONSTS.VIEWMODE.YM: + this._loadMonthData(this.$monthtable, new Date(this.options.date)); + this._cacheCurrentDate(); + this.$monthtable.appendTo(this.element).show(); + break; + case this.CONSTS.VIEWMODE.HMS: + this._loadTimeData(this.$timetable, this.options.date); + this._addTimeOptPane(this.$timetable); + this.$timetable.appendTo(this.element).show(); + break; + case this.CONSTS.VIEWMODE.YMD: + this.$datetable.appendTo(this.element).show(); + this.$monthtable.hide().appendTo(this.element); + break; + default: + this.$datetable.appendTo(this.element).show(); + this.$monthtable.hide().appendTo(this.element); + var b = $("
').appendTo(b)); + break + } + }, + _createTimePicker: function () { + var g = $(''); + var b = $("").appendTo(g); + var h = this, + a = this.options, + d = this.CONSTS.NAV; + g.$h = $("").data("time", "h").keyup(function () { + var k = this.value; + var j = parseInt(k, 10); + if (j < 24 && j >= 0) { + a.date.setHours(j); + FR.applyFunc(h, a.onDateUpdate, arguments) + } + }).focus(function () { g.focus = $(this) }).mousedown(function (j) { j.stopPropagation() }); + g.$m = $("").data("time", "m").keyup(function () { + var k = this.value; + var j = parseInt(k, 10); + if (j < 60 && j >= 0) { + a.date.setMinutes(j); + FR.applyFunc(h, a.onDateUpdate, arguments) + } + }).focus(function () { g.focus = $(this) }).mousedown(function (j) { j.stopPropagation() }); + g.$s = $("").data("time", "s").keyup(function () { + var k = this.value; + var j = parseInt(k, 10); + if (j < 60 && j >= 0) { + a.date.setSeconds(j); + FR.applyFunc(h, a.onDateUpdate, arguments) + } + }).focus(function () { g.focus = $(this) }).mousedown(function (j) { j.stopPropagation() }); + g.focus = g.$s; + var c = $("").append($('").append(i).appendTo(b); + b.find("input").mousewheel(function (j) { if (this.D < 0) { h._doTimeInc(g, $(this)) } else { h._doTimeDec(g, $(this)) } return false }); + return g + }, + _addTimeOptPane: function (d) { + var c = this.CONSTS.NAV; + var a = $(""); + var b = $('').appendTo(a); + this._createCell(b, this._TT["CLEAR"], 2, c["clear"], "clear"); + this._createCell(b, this._TT["CURRENT"], 3, c["current"], "current"); + this._createCell(b, this._TT["OK"], 2, c["dok"], "ok"); + a.appendTo(d) + }, + _createDatePicker: function () { + //create dom module + var j = $('
").html("∧").data("nav", d["plus"]); + var i = $("").html("∨").data("nav", d["minus"]); + var f = $("
').text(FR.i18nText("Fine-Engine_Basic_Time"))).append($('').append(g.$h)).append($('').text(":")).append($('').append(g.$m)).append($('').text(":")).append($('').append(g.$s)).append(c).appendTo(b); + var e = $("
'); + var a = this.CONSTS.NAV; + var f = $("").appendTo(j); + k = $(''); + j.$prevm = this._createCell(k, "‹", 1, a["prevm"], "prevm"); + j.$title = $('"); + $('").appendTo(k); + for (var c = 7; c > 0; --c) { $("').appendTo(j); + for (c = 6; c > 0; c--) { + var k = $("").appendTo(d); + for (var h = 0; h <= 7; h++) { + $("").appendTo(j); + var k = $(''); + this._createCell(k, this._TT["CLEAR"], 2, a["clear"], "clear"); + this._createCell(k, this._TT["TODAY"], 4, a["today"], "today"); + this._createCell(k, this._TT["OK"], 2, a["dok"], "ok"); + k.appendTo(g); + return j + }, + _createMonthPicker: function () { + var c = $('
').data("nav", a["title"]).appendTo(k); + j.$nextm = this._createCell(k, "›", 1, a["nextm"], "nextm"); + k.appendTo(f); + k = $("
' + this._TT["WK"] + "").appendTo(k) } + for (var c = 0; c < 7; ++c) { + var b = k.children().eq(c + 1); + var e = (c + this.CONSTS.FIRSTDAY) % 7; + b.addClass("day name").text(Date._SDN[e]); + if ([0, 6].indexOf(e) != -1) { b.addClass("weekend") } + if ([0, 1].indexOf(e) != -1) { b.addClass("fd").data("nav", this.CONSTS.NAV["firstday"]).data("fd", e) } + } + k.appendTo(f); + var d = $('
").appendTo(k) + } + } + var g = $("
'); + var f = this.CONSTS.NAV; + var b = $('').appendTo(c); + var e = $('').appendTo(b); + for (var g = 0; g < 2; g++) { $('").appendTo(b); + $('").appendTo(c); + e = $('').appendTo(d); + this._createCell(e, this._TT["OK"], 2, f["mok"], "ok"); + this._createCell(e, this._TT["CANCEL"], 2, f["cancel"], "cancel"); + return c + }, + _toPrevMonth: function () { + var d = this.options.startDate, + a = this.options.date; + var c = this.cache.showMonth, + b = this.cache.showYear; + if (!d) { + if (c > 0) { this._setMonth(c - 1) } else { + a.setFullYear(b - 1); + this._setMonth(11) + } + return + } + if (b > d.getFullYear()) { + if (c > 0) { + this._setMonth(c - 1) + } else { + a.setFullYear(b - 1); + this._setMonth(11) + } + } else { if (b == d.getFullYear()) { if (c > d.getMonth() && c > 0) { this._setMonth(c - 1); if (a < d) { a = new Date(d) } } } } + }, + _toNextMonth: function () { + var b = this.options.endDate, + a = this.options.date; + var d = this.cache.showMonth, + c = this.cache.showYear; + if (!b) { + if (d < 11) { this._setMonth(d + 1) } else { + a.setFullYear(c + 1); + this._setMonth(0) + } + return + } + if (c < b.getFullYear()) { + if (d < 11) { this._setMonth(d + 1) } else { + a.setFullYear(c + 1); + this._setMonth(0) + } + } else { + if (c == b.getFullYear()) { + if (d < b.getMonth()) { + this._setMonth(d + 1); + if (a > b) { a = new Date(b) } + } + } + } + }, + _toPrevDecade: function () { + var e = this.options.startDate, + a = this.options.date; + var b = a.getFullYear() - 10, + d = a.getMonth(); + var c, f; + if (e && b == (f = e.getFullYear())) { c = e.getMonth() } + if (!f || f < this.CONSTS.MINYEAR) { f = this.CONSTS.MINYEAR } + if (b < f) { a.setFullYear(f); if (d < c) { a.setMonth(c) } } else { a.setFullYear(b) } + }, + _toNextDecade: function () { + var c = this.options.endDate, + b = this.options.date; + var d = b.getFullYear() + 10, + e = b.getMonth(); + var f, a; + if (c && d == (a = c.getFullYear())) { f = c.getMonth() } + if (!a || a > this.CONSTS.MAXYEAR) { + a = this.CONSTS.MAXYEAR + } + if (d > a) { b.setFullYear(a); if (e < f) { b.setMonth(f) } } else { b.setFullYear(d) } + }, + _setMonth: function (b) { + var f = this.options.date; + var d = f.getDate(), + e = this.options.endDate, + c = this.options.startDate; + var a = f.getMonthDays(b); + if (d > a) { f.setDate(a) } + f.setMonth(b); + if (e && f > e) { f.setDate(e.getDate() > a ? a : e.getDate()) } + if (c && f < c) { f.setDate(c.getDate() > a ? a : c.getDate()) } + }, + _loadDateData: function (s, u) { + if (!u) { return } + var g = u.getFullYear(), + v = u.getMonth(), + p = u.getDate(); + var t = new Date(), + k = t.getFullYear(), + w = t.getMonth(), + a = t.getDate(); + this.cache.showYear = g; + this.cache.showMonth = v; + var x = this.options.startDate, + r = this.options.endDate; + s.$title.text(Date._MN[v] + ", " + g); + var b = new Date(u); + b.setDate(b.getMonthDays() + 1); + if ((r && b > r) || b.getFullYear() > this.CONSTS.MAXYEAR) { s.$nextm.addClass("disabled").removeClass("hover").data("disabled", true) } else { s.$nextm.removeClass("disabled").data("disabled", false) } + var o = new Date(u); + o.setDate(0); + if ((x && o < x) || o.getFullYear() < this.CONSTS.MINYEAR) { + s.$prevm.addClass("disabled").removeClass("hover").data("disabled", true) + } else { s.$prevm.removeClass("disabled").data("disabled", false) } + u.setDate(1); + var l = (u.getDay() - this.CONSTS.FIRSTDAY) % 7; + u.setDate(0 - l); + u.setDate(u.getDate() + 1); + var m = s.find("tbody").children().eq(0); + for (var q = 0; q < 6; q++) { + if (!m.length) { break } + var d = m.children().eq(0); + var lunar,lunar_cn,u_month; + d.addClass("week wn").text(u.getWeekNumber()); + var e; + for (var n = 0; n < 7; ++n, u.setDate(e + 1)) { + d = d.next(); + d.removeClass().data("nav", this.CONSTS.NAV["day"]); + if (!d.length) { break } + e = u.getDate(); + u_month = u.getMonth(); + // TODO d.text(e); + lunar = calendar.solar2lunar(u.getFullYear(),u_month+1,e); + lunar_cn = lunar.IDayCn === "\u521d\u4e00" ? lunar.IMonthCn : lunar.IDayCn; + d.html(""+e+"
"+ lunar_cn +"
').appendTo(e) } + this._createCell(e, "«", 1, f["prevy"], " prevy"); + this._createCell(e, "»", 1, f["nexty"], " nexty"); + for (var a = 0; a < 5; a++) { + e = $("
' + '').appendTo(e) + } + var d = $("
"); + + var h = (u_month == v); + if (!h) { + d.addClass("oday").data("disabled", true); + continue + } + var c = false; + if ((x != null && x > u) || (r != null && r < u)) { + d.addClass("day disabled"); + c = true + } else { d.addClass("day") } + d.data("disabled", c); + if (!c) { + if (h && e == p) { + this.cache.selectedDate && this.cache.selectedDate.removeClass("selected"); + d.addClass("selected"); + this.cache.selectedDate = d; + this.cache.showDay = e + } + if (u.getFullYear() == k && u.getMonth() == w && e == a) { d.addClass("today") } + var f = u.getDay(); + if ([0, 6].indexOf(f) != -1) { d.addClass("weekend") } + } + } + m = m.next() + } + }, + _loadMonthData: function (t, u) { + if (!u) { return } + var j = u.getFullYear(), + w = u.getMonth(); + var k = $(t).data("midYear"); + if (!k) { k = j } else { if (j > k + 5) { k += 10 } else { if (j < k - 4) { k -= 10 } } } + $(t).data("midYear", k); + var p = [k - 4, k - 3, k - 2, k - 1, k, k + 1, k + 2, k + 3, k + 4, k + 5]; + var d = $("td.year", t); + var l = $("td.month", t); + var m = this.options; + var e = m.endDate; + var a = m.startDate; + var b, v, c, h; + if (e) { + b = e.getFullYear(); + h = e + } else { h = new Date(this.CONSTS.MAXYEAR + 1, 0, 1) } + if (!b || b > this.CONSTS.MAXYEAR) { b = this.CONSTS.MAXYEAR } + if (a) { + v = a.getFullYear(); + c = a + } else { c = new Date(this.CONSTS.MINYEAR + 1, 11, 0) } + if (!v || v < this.CONSTS.MINYEAR) { + v = this.CONSTS.MINYEAR + } + for (var q = 0; q < 12; q++) { + var x = l.eq(q).text(Date._MN[q]).data("nav", this.CONSTS.NAV["month"]).data("month", q); + if (q === w) { + this.cache.selectedMonth && this.cache.selectedMonth.removeClass("selected"); + x.addClass("selected"); + this.cache.selectedMonth = x + } + var f = new Date(j, q, 1), + n = new Date(j, q + 1, 0); + if (f > h || n < c) { x.addClass("disabled").data("disabled", true) } else { x.removeClass("disabled").data("disabled", false) } + if (q < 10) { + var g = d.eq(q).text(p[q]).data("nav", this.CONSTS.NAV["year"]); + if (p[q] == j) { + this.cache.selectedYear && this.cache.selectedYear.removeClass("selected"); + g.addClass("selected"); + this.cache.selectedYear = g + } + if ((!FR.isEmpty(v) && p[q] < v) || (!FR.isEmpty(b) && p[q] > b)) { g.addClass("disabled").data("disabled", true) } else { g.removeClass("disabled").data("disabled", false) } + } + } + var r = $("td.prevy", t).removeClass("disabled").data("disabled", false); + if (p[0] <= v) { r.addClass("disabled").data("disabled", true).removeClass("hover") } + var s = $("td.nexty", t).removeClass("disabled").data("disabled", false); + if (p[9] >= b) { s.addClass("disabled").data("disabled", true).removeClass("hover") } + }, + _loadTimeData: function (d, c) { + if (!c) { + return + } + var a = c.getHours(), + e = c.getMinutes(), + b = c.getSeconds(); + d.$h.val(String.leftPad(a, 2, "0")); + d.$m.val(String.leftPad(e, 2, "0")); + d.$s.val(String.leftPad(b, 2, "0")) + }, + _doTimeInc: function (e, a) { + var b = a.data("time"), + d = this.options; + if (b === "h") { + var c = (d.date.getHours() + 1) % 24; + d.date.setHours(c); + e.$h.val(String.leftPad(c, 2, "0")) + } else { + if (b === "m") { + var c = (d.date.getMinutes() + 1) % 60; + d.date.setMinutes(c); + e.$m.val(String.leftPad(c, 2, "0")) + } else { + var c = (d.date.getSeconds() + 1) % 60; + d.date.setSeconds(c); + e.$s.val(String.leftPad(c, 2, "0")) + } + } + a.select(); + FR.applyFunc(this, d.onDateUpdate, arguments) + }, + _doTimeDec: function (e, a) { + var b = a.data("time"), + d = this.options; + if (b === "h") { + var c = (d.date.getHours() + 23) % 24; + d.date.setHours(c); + e.$h.val(String.leftPad(c, 2, "0")) + } else { + if (b === "m") { + var c = (d.date.getMinutes() + 59) % 60; + d.date.setMinutes(c); + e.$m.val(String.leftPad(c, 2, "0")) + } else { + var c = (d.date.getSeconds() + 59) % 60; + d.date.setSeconds(c); + e.$s.val(String.leftPad(c, 2, "0")) + } + } + a.select(); + FR.applyFunc(this, d.onDateUpdate, arguments) + }, + _bindEvts: function () { + this.element.unbind(); + var a = this, + g = this.options, + d = this.CONSTS.NAV; + var c = this.$monthtable, + e = this.$datetable, + f = this.$timetable; + var b = function (l) { + var m = l.target; + var k = l.type; + //TODO 如果捕捉到了span + if(m.tagName == "SPAN" && m.parentNode.tagName == "TD"){ + m = m.parentNode; + } + var j = $(m).data("nav"); + + if ($(m).data("disabled") || m.tagName !== "TD" || !j) {return} + if (!a.options.date) { a.options.date = new Date() } + if (k === "mouseover") { $(m).addClass("hover") } else { + if (k === "mouseup") { + switch (j) { + case d["prevm"]: + a._toPrevMonth(); + a._loadDateData(e, new Date(a.options.date)); + FR.applyFunc(a, g.onDateUpdate, arguments); + break; + case d["nextm"]: + a._toNextMonth(); + a._loadDateData(e, new Date(a.options.date)); + FR.applyFunc(a, g.onDateUpdate, arguments); + break; + case d["title"]: + a._loadMonthData(c, new Date(a.cache.showYear, a.cache.showMonth)); + a._cacheCurrentDate(); + c.css({ position: "absolute", top: 0, "z-index": FR.widget.opts.zIndex++ }).show("fast"); + break; + case d["clear"]: + a.options.date = null; + a.cache.selectedDate && a.cache.selectedDate.removeClass("selected"); + FR.applyFunc(a, g.onDateUpdate, arguments); + FR.applyFunc(a, g.onClear, arguments); + break; + case d["current"]: + a.options.date = new Date(); + FR.applyFunc(a, g.onDateUpdate, arguments); + case d["today"]: + var h = new Date(); + if ((a.options.startDate && h < a.options.startDate) || (a.options.endDate && h > a.options.endDate)) { return } else { a.options.date = h } + FR.applyFunc(a, g.onDateUpdate, arguments); + FR.applyFunc(a, g.onToday, arguments); + break; + case d["dok"]: + FR.applyFunc(a, g.onDateUpdate, arguments); + FR.applyFunc(a, g.onOK, arguments); + break; + case d["prevy"]: + a._toPrevDecade(); + a._loadMonthData(c, new Date(a.options.date)); + FR.applyFunc(a, g.onDateUpdate, arguments); + break; + case d["nexty"]: + a._toNextDecade(); + a._loadMonthData(c, new Date(a.options.date)); + FR.applyFunc(a, g.onDateUpdate, arguments); + break; + case d["mok"]: + a._loadDateData(e, new Date(a.options.date)); + FR.applyFunc(a, g.onDateUpdate, arguments); + if (g.viewMode === a.CONSTS.VIEWMODE.YM) { FR.applyFunc(a, g.onOK, arguments) } else { c.hide("fast") } + break; + case d["cancel"]: + if (a.cache.originalDate) { a.options.date = a.cache.originalDate } + a._loadDateData(e, new Date(a.options.date)); + FR.applyFunc(a, g.onDateUpdate, arguments); + if (g.viewMode === a.CONSTS.VIEWMODE.YM) { + FR.applyFunc(a, g.onClose, arguments) + } else { c.hide("fast") } + break; + case d["year"]: + a.cache.selectedYear && a.cache.selectedYear.removeClass("selected"); + a.cache.selectedYear = $(m); + var i = a.options.date; + i.setFullYear($(m).text()); + a._loadMonthData(c, new Date(i)); + FR.applyFunc(a, g.onDateUpdate, arguments); + break; + case d["month"]: + a.cache.selectedMonth && a.cache.selectedMonth.removeClass("selected"); + a.cache.selectedMonth = $(m).addClass("selected"); + a.options.date.setDate(1); + a.options.date.setMonth($(m).data("month")); + FR.applyFunc(a, g.onDateUpdate, arguments); + break; + case d["day"]: + a.cache.selectedDate && a.cache.selectedDate.removeClass("selected"); + a.cache.selectedDate = $(m).addClass("selected"); + var i = a.options.date; + i.setFullYear(a.cache.showYear); + i.setMonth(a.cache.showMonth); + i.setDate($(m).find(".solar").eq(0).text());//$(m).text() TODO + FR.applyFunc(a, g.onDateUpdate, arguments); + if (!f.parent().length) { FR.applyFunc(a, g.onClose, arguments) } + break; + case d["plus"]: + a._doTimeInc(f, f.focus); + break; + case d["minus"]: + a._doTimeDec(f, f.focus); + break; + case d["firstday"]: + a.CONSTS.FIRSTDAY = $(m).data("fd"); + a.element.empty(); + a._init(); + default: + break + } + } else { if (k === "mouseout") { $(m).removeClass("hover") } } + } + }; + this.element.bind("mousedown", b).bind("mouseover", b).bind("mouseup", b).bind("mouseout", b) + }, + _createCell: function (c, e, f, d, a) { + var b = $("").attr("colSpan", f).html(e).appendTo(c); + if (d) { b.data("nav", d) } + a = a ? "btn " + a : "btn"; + b.addClass(a); + return b + }, + getValue: function () { return this.options.date }, + setValue: function (a) { this.options.date = a }, + getText: function () { return this.getValue() }, + setText: function (a) { this.setValue(a) }, + _cacheCurrentDate: function () { + var a = this; + a.cache.originalDate = new Date(a.options.date) + } + }); + $.shortcut("sqydatepicker", FR.SqyDatePicker); + + FR.sqy_calendar = FR.extend(FR.BaseDateTimeEditor, { + _defaultConfig: function() { + return $.extend(FR.DateTimeEditor.superclass._defaultConfig.apply(), { + format: "yyyy-MM-dd", + directEdit: true + }) + }, + _init: function() { + FR.DateTimeEditor.superclass._init.apply(this, arguments); + this.switchArrow(); + if (this.options.widgetCss && this.options.widgetCss.length !== 0) { + $.each(this.options.widgetCss, function(c, d) { + FR.$import(d, "css", true) + }) + } + var b = this.options; + this.viewMode = this._initViewMode(); + this.std = this._createStartDate(b.startDate, b.format, this.viewMode); + this.edd = this._createEndDate(b.endDate, b.format, this.viewMode); + var a = this; + if (!this.$view) { + this.$view = $("
").appendTo(FR.$view_container).hide() + } + this.editComp.keydown(function(c) { + a.editComp[0].realValue = null + }); + $(this.editComp).keyup(function() { + if ($(this).val() == a.oriText) { + return + } + a.isValidateInput(); + a.oriText = $(this).val(); + a.fireEvent(FR.Events.AFTEREDIT) + }) + }, + getArrowIconHeight: function() { + return 17 + }, + switchArrow: function() { + this.arrow.switchClass("fr-trigger-center", "fr-date-trigger-center") + }, + _applyInvalidCss: function(a) { + this.errorMsg = a; + this.invalidateCss() + }, + onTriggerClick: function(a) { + if (!this.isEnabled()) { + return + } + if (document.activeElement != this.editComp[0]) { + this.editComp.focus() + } + if (this.isExpanded()) { + if (FR.Browser.isIE8() && this.$view.css("visibility") == "hidden") { + this.$view.css("visibility", "visible") + } else { + this.$view.show() + } + } else { + this.$view.empty(); + this._createCalendar() + } + }, + _showView: function() { + if (FR.Browser.isIE8() && this.$view.css("visibility") == "hidden") { + this.$view.css("visibility", "visible") + } else { + this.$view.show() + } + }, + _createStartDate: function(d, b, e) { + if (FR.isEmpty(d)) { + return null + } + var a = FR.str2Date(d, b); + switch (e) { + case 0: + return new Date(a.getFullYear(),a.getMonth(),1,0,0,0); + case 1: + return new Date(a.getFullYear(),a.getMonth(),a.getDate(),0,0,0); + case 2: + var c = new Date(); + c.setHours(0); + c.setMinutes(0); + c.setSeconds(0); + return c; + case 3: + return new Date(a.getFullYear(),a.getMonth(),a.getDate(),0,0,0); + default: + return a + } + }, + _createEndDate: function(c, a, e) { + if (FR.isEmpty(c)) { + return null + } + var d = FR.str2Date(c, a); + switch (e) { + case 0: + return new Date(d.getFullYear(),d.getMonth(),d.getMonthDays(),23,59,59); + case 1: + return new Date(d.getFullYear(),d.getMonth(),d.getDate(),23,59,59); + case 2: + var b = new Date(); + b.setHours(23); + b.setMinutes(59); + b.setSeconds(59); + return b; + case 3: + return new Date(d.getFullYear(),d.getMonth(),d.getDate(),23,59,59); + default: + return d + } + }, + _initViewMode: function() { + var b = this.options; + var a = 1; + if (b.format.match(/[YyDd]/) && b.format.match(/[Hh]/)) { + a = 3 + } else { + if (b.format.match(/[M]/) && !b.format.match(/[Dd]/) && !b.format.match(/[Hh]/)) { + a = 0 + } else { + if (!b.format.match(/[YyMDd]/)) { + a = 2 + } + } + } + return a + }, + _createCalendar: function() { + var b = this.options; + var a = this; + this.buildIfNeeded(); + this.datepicker = new FR.SqyDatePicker({ + renderEl: this.$view, + viewMode: this.viewMode, + date: FR.str2Date(this.editComp.val(), b.format), + dateFormat: b.format, + startDate: this.std, + endDate: this.edd, + onDateUpdate: function() { + if ($(":focus").length === 0) { + a.editComp.focus() + } + var c = FR.date2Str(this.getValue(), b.format); + a.editComp.val(c); + a.oriText = c; + a.isValidateInput(); + a.fireEvent(FR.Events.AFTEREDIT) + } + }); + if (FR.Browser.isIE8() && this.$view.css("visibility") == "hidden") { + this.$view.css("visibility", "visible") + } else { + this.$view.show() + } + $(document).bind("mousedown", this, this.collapseIf); + this.modifyPosition() + }, + buildIfNeeded: function() { + var d = this.options; + if (this.options.need2BuildConfig === true && this.options.data) { + this.options.data.resetStatus(this.createDependencePara4Data()); + var b = this.options.data.getData(); + if (b[0].data) { + if (b[0].data.startDate) { + var c = new Date(b[0].data.startDate); + if (!FR.isInvalidDate(c)) { + if (!FR.isEmpty(d.format)) { + d.startDate = FR.date2Str(c, d.format) + } else { + d.startDate = FR.date2Str(c, "yyyy-MM-dd") + } + this.std = this._createStartDate(d.startDate, d.format, this.viewMode) + } + } + if (b[0].data.endDate) { + var a = new Date(b[0].data.endDate); + if (!FR.isInvalidDate(a)) { + if (!FR.isEmpty(d.format)) { + d.endDate = FR.date2Str(a, d.format) + } else { + d.endDate = FR.date2Str(a, "yyyy-MM-dd") + } + this.edd = this._createEndDate(d.endDate, d.format, this.viewMode) + } + } + } + this.options.rebuildConfig = false + } + }, + getValue: function() { + var d = this.options.format; + if (!this.options.returnDate) { + var c = this.editComp.val(); + return FR.str2Date(c, d) == null ? "" : c + } + var b = new Date(); + if (this.editComp[0].realValue) { + b.setTime(this.editComp[0].realValue.getTime()) + } else { + b = this.editComp.val() + } + if (!b) { + return "" + } + var a = (b instanceof Date) ? b : FR.str2Date(b, d); + return (a == null) ? "" : a + }, + isValidateInput: function(j) { + var h = this.options.format; + var e = this.std; + var f = this.edd; + var i = this; + var a = true; + var b = this.options.customFormat; + var c = j ? j : this.editComp.val(); + if (this.options.allowBlank !== false && FR.isEmpty(c)) { + return + } + var d = FR.matchDateFormat(c, h); + if (!b && !d) { + a = false; + var g = function() { + var n = i.editComp.val(); + if (c == n) { + var l = i.getDefaultSupportFormat(); + for (var m = 0; m < l.length; m++) { + var k = FR.matchDateFormat(c, l[m]); + if (k) { + d = k; + a = true; + i.editComp.val(FR.date2Str(d, h)); + this.isValidateInput(); + break + } + } + } + }; + g.defer(1000, this) + } + if (!b && !a) { + if (!FR.matchDateFormat(c, h)) { + this._applyInvalidCss(FR.i18nText("Fine-Engine_Please_Input_With_Right_Format") + ":" + h) + } + } else { + if (e && !FR.isInvalidDate(new Date(e)) && d < new Date(e)) { + this._applyInvalidCss(FR.i18nText("Fine-Engine_Report_Err_The_Number_Is_Less_Than_The_Minimum_Value") + FR.date2Str(e, "yyyy-MM-dd")) + } else { + if (f && !FR.isInvalidDate(new Date(f)) && d > new Date(f)) { + this._applyInvalidCss(FR.i18nText("Fine-Engine_Report_Err_The_Number_Is_Larger_Than_The_Maximum_Value") + FR.date2Str(f, "yyyy-MM-dd")) + } else { + if (d > new Date(2999,11,31) || d < new Date(1900,0,1)) { + this._applyInvalidCss(FR.i18nText("Fine-Engine_Report_Err_The_Time_Out_Of_Range")) + } else { + this.validateCss() + } + } + } + } + }, + reset: function() { + FR.DateTimeEditor.superclass.reset.apply(this, arguments); + this.editComp[0].realValue = null; + this.options.currentDateTime = null; + this.options.need2BuildConfig = true; + if (this.options.data) { + delete this.options.data.records + } + } + }); + $.shortcut("sqy_cell_calendar",FR.sqy_calendar); + $.shortcut("sqy_parameter_calendar",FR.sqy_calendar); + $.shortcut("sqy_form_calendar",FR.sqy_calendar); +})(jQuery); \ No newline at end of file diff --git a/src/main/resources/com/fr/plugin/sqy/kj/calendar/locale/plugin.properties b/src/main/resources/com/fr/plugin/sqy/kj/calendar/locale/plugin.properties new file mode 100644 index 0000000..b6bbc50 --- /dev/null +++ b/src/main/resources/com/fr/plugin/sqy/kj/calendar/locale/plugin.properties @@ -0,0 +1,2 @@ +Fine-Design_plugin_sqy_calendar_name=Fine-Design_plugin_sqy_calendar_name +Fine-Design_plugin_sqy_calendar_start=Fine-Design_plugin_sqy_calendar_start \ No newline at end of file diff --git a/src/main/resources/com/fr/plugin/sqy/kj/calendar/locale/plugin_Zh_cn.properties b/src/main/resources/com/fr/plugin/sqy/kj/calendar/locale/plugin_Zh_cn.properties new file mode 100644 index 0000000..ded040b --- /dev/null +++ b/src/main/resources/com/fr/plugin/sqy/kj/calendar/locale/plugin_Zh_cn.properties @@ -0,0 +1,2 @@ +Fine-Design_plugin_sqy_calendar_name=\u519C\u5386\u65E5\u5386 +Fine-Design_plugin_sqy_calendar_start=\u8D77\u59CB\u65E5\u671F \ No newline at end of file diff --git a/src/main/resources/com/fr/plugin/sqy/kj/calendar/log/calendar.png b/src/main/resources/com/fr/plugin/sqy/kj/calendar/log/calendar.png new file mode 100644 index 0000000000000000000000000000000000000000..9d606e16b349a7e8c4636f792993f40a299054a6 GIT binary patch literal 196 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`-JULvAr`$?Cj{~~7zj9PGjggY z3aK%2PBvioa9|Re&>*6c(8#}QNuu;|b(73@jM2e-KNhhu%nY_IEE8p1^F=SFhU0kH z0j>ilR({;ON4jF$rDK^wDM8j8_G~IK);o&D%9zDIu_UOSuPI~hDfQ0H-f&yN@{hy^ tx3dj`*Z24Lm5NVo3VCZ8vi;v$;ZRo9fc7VheL!b1c)I$ztaD0e0sy%;LBaq4 literal 0 HcmV?d00001